[
  {
    "path": ".gitattributes",
    "content": "addon/chrome/content/lib/** linguist-vendored\n* text=auto eol=lf"
  },
  {
    "path": ".github/DISCUSSION_TEMPLATE/note-templates.yml",
    "content": "title: \"[Item/Text] Note Template Name\"\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Thanks for taking the time to share this!\n        Before you submit, please change the title of this issue to the name of your note template.\n  - type: textarea\n    id: description\n    attributes:\n      label: Description\n      description: Please add a description of this note template here.\n    validations:\n      required: true\n  - type: textarea\n    id: screenshots\n    attributes:\n      label: Screenshots\n      description: Please add screenshots of this note template here.\n    validations:\n      required: true\n  - type: input\n    id: z_version\n    attributes:\n      label: Test on Zotero version\n      description: Please provide the Zotero version you are using here. You can find this in the menu -> Help -> About Zotero.\n      placeholder: e.g. 6.0.30\n    validations:\n      required: true\n  - type: input\n    id: bn_version\n    attributes:\n      label: Test on Better Notes version\n      description: Please provide the Better Notes version you are using here. You can find this in the Settings -> Better Notes.\n      placeholder: e.g. 1.0.4\n    validations:\n      required: true\n  - type: dropdown\n    id: type\n    attributes:\n      label: Template Type\n      options:\n        - Item\n        - Text\n        - QuickInsert\n        - QuickImport\n        - QuickNote\n        - ExportMDFileName\n        - ExportMDFileHeader\n        - ExportMDFileContent\n        - ExportLatexFileContent\n    validations:\n      required: true\n  - type: textarea\n    id: data\n    attributes:\n      label: Template Share Code\n      description: |\n        Please paste template share code here.\n        Steps to get the template share code:\n        1. Open the template editor (menu -> Edit -> Note Template Editor)\n        2. Select the template you want to share\n        3. Click the \"Options\" button on the bottom right corner of the editor\n        4. Click \"Copy template share code to clipboard\". Paste the code here.\n      render: yaml\n    validations:\n      required: true\n  - type: textarea\n    id: more\n    attributes:\n      label: Anything else\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: [windingwind]\npatreon: # Replace with a single Patreon username\nopen_collective: # Replace with a single Open Collective username\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\nlfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry\ncustom: [\"https://paypal.me/windingwind\"]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "content": "name: Bug report\ndescription: File a bug / issue\ntitle: \"[Bug] \"\nlabels:\n  - bug\n  # - Needs Triage\nassignees: windingwind\nbody:\n  - type: checkboxes\n    id: check-search\n    attributes:\n      label: Is there an existing issue for this?\n      description: Please search to see if an issue already exists for the bug you encountered.\n      options:\n        - label: I have searched the existing issues\n          required: true\n\n  - type: checkboxes\n    id: check-version\n    attributes:\n      label: Are you using the latest Zotero and the latest plugin?\n      description: Only bug reports that can be reproduced on the latest Zotero and plugin will be considered.\n      options:\n        - label: I have confirmed I'm using the latest Zotero and the latest plugin\n          required: true\n\n  - type: textarea\n    attributes:\n      label: Environment\n      description: |\n        examples:\n          - **OS**: Windows 11 22H2\n          - **Zotero Version**: 7.0.0\n          - **Plugin Version**: 1.0.0\n      value: |\n        - OS: \n        - Zotero Version: \n        - Plugin Version:\n    validations:\n      required: true\n\n  - type: textarea\n    id: description\n    attributes:\n      label: Describe the bug\n      description: |\n        A clear and concise description of what the bug is.\n        If applicable, add screenshots and log to help explain your problem.\n    validations:\n      required: true\n\n  - type: textarea\n    id: debug-output\n    attributes:\n      label: Debug Output\n      description: |\n        Steps to get debug output:\n        1. Disable all other plugins, exit Zotero, and restart Zotero\n        2. menu -> `Help` -> `Debug Output` -> `View Output`\n        3. Do steps to reproduce the bug\n        4. In the debug output window, press `Ctrl/Cmd + S`\n        5. Upload the debug output here\n    validations:\n      required: true\n\n  - type: textarea\n    id: additional-context\n    attributes:\n      label: Anything else?\n      description: |\n        Links? References? Anything that will give us more context about the issue you are encountering!\n        Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.\n    validations:\n      required: false\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\ncontact_links:\n  - name: Note Template Community\n    url: https://github.com/windingwind/zotero-better-notes/discussions/categories/note-templates\n    about: Find & contribute note templates here.\n  - name: Better Notes Q&A\n    url: https://github.com/windingwind/zotero-better-notes/discussions/categories/q-a\n    about: Please ask and answer questions (not feature requests or bug reports) here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "content": "name: Feature request\ndescription: Suggest an idea for this project\ntitle: \"[Feature] \"\nlabels:\n  - enhancement\nassignees: windingwind\nbody:\n  - type: checkboxes\n    id: check-search\n    attributes:\n      label: Is there an existing issue for this?\n      description: Please search to see if an issue already exists for this feature request.\n      options:\n        - label: I have searched the existing issues\n          required: true\n\n  - type: textarea\n    attributes:\n      label: Environment\n      description: |\n        examples:\n          - **OS**: Windows 11 22H2\n          - **Zotero Version**: 7.0.0\n          - **Plugin Version**: 1.0.0\n      value: |\n        - OS: \n        - Zotero Version: \n        - Plugin Version:\n    validations:\n      required: true\n\n  - type: textarea\n    id: description\n    attributes:\n      label: Describe the feature request\n      value: |\n        **Is your feature request related to a problem? Please describe.**\n        A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n        **Why do you need this feature?**\n        A clear and concise description of why you need this feature.\n    validations:\n      required: false\n\n  - type: textarea\n    id: solution\n    attributes:\n      label: Describe the solution you'd like\n      value: |\n        **The solution you'd like**\n        A clear and concise description of what you want to happen.\n\n        **Alternatives you've considered**\n        A clear and concise description of any alternative solutions or features you've considered.\n    validations:\n      required: false\n\n  - type: textarea\n    id: additional-context\n    attributes:\n      label: Anything else?\n      description: |\n        Links? References? Anything that will give us more context about the issue you are encountering!\n        Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.\n    validations:\n      required: false\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"npm\" # See documentation for possible values\n    directory: \"/\" # Location of package manifests\n    schedule:\n      interval: \"weekly\"\n    groups:\n      all-non-major:\n        update-types:\n          - \"minor\"\n          - \"patch\"\n"
  },
  {
    "path": ".github/renovate.json",
    "content": "{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"config:recommended\",\n    \":semanticPrefixChore\",\n    \":prHourlyLimitNone\",\n    \":prConcurrentLimitNone\",\n    \":enableVulnerabilityAlerts\",\n    \":dependencyDashboard\",\n    \"schedule:weekends\"\n  ],\n  \"packageRules\": [\n    {\n      \"matchPackageNames\": [\"zotero-plugin-toolkit\", \"zotero-types\"],\n      \"automerge\": true\n    }\n  ],\n  \"git-submodules\": {\n    \"enabled\": true\n  }\n}\n"
  },
  {
    "path": ".github/workflows/CI.yml",
    "content": "name: CI\n\non:\n  push:\n    tags:\n      - v**\n  pull_request:\n    branches:\n      - master\n\npermissions:\n  contents: write\n  issues: write\n  pull-requests: write\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 20\n\n      - name: Install deps\n        run: npm install -f\n\n      - name: Test\n        run: npm test\n\n  # If it's triggered by a tag and the test job is successful, release the package\n  release:\n    runs-on: ubuntu-latest\n    needs: test\n    if: github.event_name == 'push' && needs.test.result == 'success'\n    env:\n      # Allow triggering other workflows\n      GITHUB_TOKEN: ${{ secrets.PAT }}\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 20\n\n      - name: Install deps\n        run: npm install -f\n\n      - name: Build\n        run: |\n          npm run build\n\n      - name: Release to GitHub\n        run: |\n          npm run release\n          # cp build/update.json update.json\n          # cp build/update-beta.json update-beta.json\n          # git add update.json\n          # git add update-beta.json\n          # git commit -m 'chore(publish): synchronizing `update.json`'\n          # git push\n          sleep 1s\n\n      - name: Notify release\n        uses: apexskier/github-release-commenter@v1\n        continue-on-error: true\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          comment-template: |\n            :rocket: _This ticket has been resolved in {release_tag}. See {release_link} for release notes._\n"
  },
  {
    "path": ".github/workflows/issuebot.yml",
    "content": "name: Close inactive issues\non:\n  schedule:\n    - cron: \"30 1 * * *\"\n  issues:\n    types:\n      - labeled\n\njobs:\n  close-issues:\n    runs-on: ubuntu-latest\n    permissions:\n      issues: write\n      pull-requests: write\n    steps:\n      - uses: actions/stale@v5\n        with:\n          days-before-issue-stale: 30\n          days-before-issue-close: 7\n          stale-issue-label: \"stale\"\n          stale-issue-message: \"This issue is stale because it has been open for 30 days with no activity.\"\n          close-issue-message: \"This issue was closed because it has been inactive for 7 days since being marked as stale.\"\n          exempt-issue-labels: \"help wanted\"\n          days-before-pr-stale: -1\n          days-before-pr-close: -1\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n  issue-invalid:\n    name: close invalid issue\n    if: github.event.label.name == 'invalid'\n    runs-on: ubuntu-latest\n    permissions:\n      issues: write\n      pull-requests: write\n    steps:\n      - uses: actions-cool/issues-helper@v3\n        with:\n          actions: close-issue, create-comment\n          token: ${{ secrets.GITHUB_TOKEN }}\n          body: |\n            Hello @${{ github.event.issue.user.login }}. This issue is marked as `invalid` and closed. Please make sure you are reporting an issue and following the issue template.\n  issue-duplicate:\n    name: close duplicate issue\n    if: github.event.label.name == 'duplicate'\n    runs-on: ubuntu-latest\n    permissions:\n      issues: write\n      pull-requests: write\n    steps:\n      - uses: actions-cool/issues-helper@v3\n        with:\n          actions: close-issue, create-comment\n          token: ${{ secrets.GITHUB_TOKEN }}\n          body: |\n            Hello @${{ github.event.issue.user.login }}. This issue is marked as `duplicate` and closed. Please make sure you have searched to see if an issue already exists for the bug you encountered.\n"
  },
  {
    "path": ".github/workflows/tgbot.yml",
    "content": "name: Notify Telegram on Release\n\non:\n  release:\n    types: [published]\n\njobs:\n  send_message:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Send Telegram Message\n        env:\n          RELEASE_BODY: ${{ github.event.release.body }}\n          REPO_NAME: ${{ github.repository }}\n          TAG_NAME: ${{ github.event.release.tag_name }}\n          RELEASE_NAME: ${{ github.event.release.name }}\n          RELEASE_URL: ${{ github.event.release.html_url }}\n          TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }}\n          TG_CHAT_ID: ${{ secrets.TG_CHAT_ID }}\n          TG_MSG_ID: ${{ secrets.TG_MSG_ID }}\n        run: |\n          # Convert GFM to Telegram Markdown (Legacy)\n          # 1. Convert headers (### Text) to Bold (*Text*)\n          # 2. Convert GFM Bold (**Text**) to Telegram Bold (*Text*)\n          # 3. Escape underscores to prevent broken italics (Note: this might break some complex links with underscores)\n          ESCAPED_BODY=$(echo \"$RELEASE_BODY\" | sed 's/^### \\(.*\\)$/*\\1*/g' | sed 's/\\*\\*/\\*/g' | sed 's/_/\\\\_/g')\n          \n          msg_text=\"\n          📢 A new release of $REPO_NAME is published: $TAG_NAME\n          Release Name: $RELEASE_NAME\n          Description: \n          $ESCAPED_BODY\n\n          You can check updates in Zotero to get the latest version, or view on GitHub: $RELEASE_URL\"\n          curl -s -X POST \"https://api.telegram.org/bot$TG_BOT_TOKEN/sendMessage\" \\\n          -d \"chat_id=$TG_CHAT_ID\" \\\n          --data-urlencode \"text=$msg_text\" \\\n          -d \"parse_mode=Markdown\" \\\n          -d \"reply_to_message_id=$TG_MSG_ID\"\n"
  },
  {
    "path": ".gitignore",
    "content": "build\nlogs\nnode_modules\npnpm-lock.yaml\nyarn.lock\nzotero-cmd.json\n.DS_Store\n.env\n.scaffold"
  },
  {
    "path": ".prettierignore",
    "content": "build\nlogs\nnode_modules\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\naddon/chrome/content/lib/**\n# zotero-cmd.json\n"
  },
  {
    "path": ".vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"node\",\n      \"request\": \"launch\",\n      \"name\": \"StartDev\",\n      \"runtimeExecutable\": \"npm\",\n      \"runtimeArgs\": [\"run\", \"start\"]\n    },\n    {\n      \"type\": \"node\",\n      \"request\": \"launch\",\n      \"name\": \"Lint\",\n      \"runtimeExecutable\": \"npm\",\n      \"runtimeArgs\": [\"run\", \"lint\"]\n    }\n  ]\n}\n"
  },
  {
    "path": ".vscode/settings.json",
    "content": "{\n  \"typescript.tsdk\": \"node_modules/typescript/lib\"\n}\n"
  },
  {
    "path": ".vscode/toolkit.code-snippets",
    "content": "{\n  \"appendElement - full\": {\n    \"scope\": \"javascript,typescript\",\n    \"prefix\": \"appendElement\",\n    \"body\": [\n      \"appendElement({\",\n      \"\\ttag: '${1:div}',\",\n      \"\\tid: '${2:id}',\",\n      \"\\tnamespace: '${3:html}',\",\n      \"\\tclassList: ['${4:class}'],\",\n      \"\\tstyles: {${5:style}: '$6'},\",\n      \"\\tproperties: {},\",\n      \"\\tattributes: {},\",\n      \"\\t[{ '${7:onload}', (e: Event) => $8, ${9:false} }],\",\n      \"\\tcheckExistanceParent: ${10:HTMLElement},\",\n      \"\\tignoreIfExists: ${11:true},\",\n      \"\\tskipIfExists: ${12:true},\",\n      \"\\tremoveIfExists: ${13:true},\",\n      \"\\tcustomCheck: (doc: Document, options: ElementOptions) => ${14:true},\",\n      \"\\tchildren: [$15]\",\n      \"}, ${16:container});\",\n    ],\n  },\n  \"appendElement - minimum\": {\n    \"scope\": \"javascript,typescript\",\n    \"prefix\": \"appendElement\",\n    \"body\": \"appendElement({ tag: '$1' }, $2);\",\n  },\n  \"register Notifier\": {\n    \"scope\": \"javascript,typescript\",\n    \"prefix\": \"registerObserver\",\n    \"body\": [\n      \"registerObserver({\",\n      \"\\t notify: (\",\n      \"\\t\\tevent: _ZoteroTypes.Notifier.Event,\",\n      \"\\t\\ttype: _ZoteroTypes.Notifier.Type,\",\n      \"\\t\\tids: string[],\",\n      \"\\t\\textraData: _ZoteroTypes.anyObj\",\n      \"\\t) => {\",\n      \"\\t\\t$0\",\n      \"\\t}\",\n      \"});\",\n    ],\n  },\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://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 <http://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<http://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "README.md",
    "content": "# Better Notes for Zotero\n\n[![zotero target version](https://img.shields.io/badge/Zotero-7%2F8-green?style=flat-square&logo=zotero&logoColor=CC2936)](https://www.zotero.org)\n[![Using Zotero Plugin Template](https://img.shields.io/badge/Using-Zotero%20Plugin%20Template-blue?style=flat-square&logo=github)](https://github.com/windingwind/zotero-plugin-template)\n[![telegram group](https://img.shields.io/badge/Join%20Community-@bnzotero-blue?style=flat-square&logo=telegram)](https://t.me/boost/bnzotero)\n\n<div align=center><img src=\"./docs/res/teaser.png\" width=\"800px\"></img></div>\n\nEverything about note management. All in Zotero.\n\nJoin the community on Telegram: [@bnzotero](https://t.me/boost/bnzotero)\n\n## 🧩 Outline\n\n[🧐 What is this?](#-what-is-this)\n\n[🤔 What can it do?](#-what-can-it-do)\n\n[👋 Install](#-install)\n\n[😎 Quick start](#-quick-start)\n\n<details style=\"text-indent: 2em\">\n<summary>More</summary>\n\n[Getting Started by Opening a Note Tab](#getting-started-by-opening-a-note-tab)\n\n[Note Editor](#note-editor)\n\n[Note Link](#note-link)\n\n[Note Template](#note-template)\n\n[Syncing: Note 🔄️ Markdown](#syncing-note-%EF%B8%8F-markdown)\n\n[Note Export](#note-export)\n\n[GPT Integration](#gpt-integration)\n\n[Action Workflow](#action-workflow)\n\n[Other Features](#other-features)\n\n</details>\n\n[🧲 API](#-api)\n\n[🔧 Development](#-development)\n\n[🔔 Disclaimer](#-disclaimer)\n\n[🔎 My Zotero Plugins](#-my-zotero-plugins)\n\n[🫶 Sponsors](#-sponsors)\n\n[🤗 Contributors](#-contributors)\n\n## 🧐 What is this?\n\nBetter Notes (BN) is a plugin for [Zotero](https://zotero.org).\n\nBN streamlines your workflows of:\n\n- paper reading\n- annotating\n- note taking\n- metadata analyzing\n- knowledge exporting\n- AI writing assistant\n\nand:\n\n- works out of the box\n- highly customizable\n- all in Zotero\n\n## 🤔 What can it do?\n\n🖇️ Connect knowledge fragments with _note link_. With one click. [Learn more →](#note-link)\n\n🗂️ Simplify and automate knowledge analysis with extensive _note templates_. With one click. [Learn more →](#note-template)\n\n🔄️ Keep in sync with your Markdown files. Two-way, automatically. [Learn more →](#syncing-note-%EF%B8%8F-markdown)\n\n🖨️ Export notes to different formats: Markdown, Docx, PDF, and mind map. [Learn more →](#note-export)\n\n📝 Enhancements for Zotero's note editor with outline, link relation, view images.... Open as much note tabs/windows as you like!\n\n## 👋 Install\n\n- Download the plugin (.xpi file) from below (beta version is only for Zotero 8 beta! Use the latest stable version for Zotero 7).\n  - [Latest Version: 3.0.3](https://github.com/windingwind/zotero-better-notes/releases/download/v3.0.3/better-notes-for-zotero.xpi)\n  - [Latest Stable](https://github.com/windingwind/zotero-better-notes/releases/latest)\n  - [All Releases](https://github.com/windingwind/zotero-better-notes/releases)\n\n  _Note_: If you're using Firefox as your browser, right-click the `.xpi` and select \"Save As..\"\n\n- In Zotero click `Tools` in the top menu bar and then click `Plugins`\n- Go to the Extensions page and then click the gear icon in the top right.\n- Select `Install Add-on from file`.\n- Browse to where you downloaded the `.xpi` file and select it.\n- Finish!\n\n## 😎 Quick start\n\nBN offers a range of features that can be combined like Lego blocks to build your own note-taking workflow.\n\nStart taking notes in Zotero with BN in **5 minutes**!\n\n### Getting Started by Opening a Note Tab\n\n> 💡 In the latest version, the workspace is no longer a thing. You can open an unlimited number of note tabs/windows, which is what we called `workspace` in the past.\n\nTo open a note in a tab, double-click/press `Enter` on the item in the library, as you would do to open an attachment. Holding `shift` opens the note in a new window.\n\n<div align=center><img src=\"https://github.com/user-attachments/assets/0824293b-765d-47af-8815-66f009adab0e\" width=\"800px\"></img></div>\n\n> **Explore the Note Tab!**  \n> 💡 The layout from left to right is:\n>\n> - Outline\n> - Note editor\n> - Context pane (tags, related, relation graph, in/outbound links)\n\n### Note Editor\n\n> 💡 Where can I find the note editor?\n>\n> - In the note tab/window\n> - In the library: click to open a note editor in the item pane\n> - In the PDF reader: right-side context pane\n>\n> 💡 How to create a new note?  \n> Click the note icon in the library tools bar (the row under the tabs bar), or from the menu - File\n\n<div align=center><img src=\"https://github.com/user-attachments/assets/ec2ba415-8ec9-450d-9d73-d24d177ccd13\" width=\"400px\"></img></div>\n\n#### Magic Key\n\nBN enhances the note editor with a _Magic Key_ command palette, which can be opened by typing `/` in the editor or pressing `Ctrl/Cmd` + `/`. You can type or use the arrow keys to navigate the commands, and press `Enter` to execute.\n\n<div align=center><img src=\"https://github.com/user-attachments/assets/bdbe244e-c120-4d9b-aa28-5285a25a723a\" width=\"800px\"></img></div>\n\n#### Note Link Preview\n\nBN enhances the note editor with link preview. Hover+Ctrl/Cmd or click the link to preview the linked note without leaving the current note.\n\n<div align=center><img width=\"400px\" alt=\"image\" src=\"https://github.com/user-attachments/assets/b29769a1-3436-42bd-8481-eee1c0b4896a\"></div>\n\n#### Direct Markdown Paste\n\nBN supports direct markdown paste. You can paste markdown content into the note editor, and it will be converted to the rich text format automatically.\n\n### Note Link\n\nTo create a _note link_ between the note you are editing and another note, click the <img src=\"addon/chrome/content/icons/favicon.png\" width=\"20px\"></img> button in the title bar of the note editor.\n\n<div align=center><img src=\"https://github.com/user-attachments/assets/e37a694b-613e-4242-9c14-d83708a3d1e7\" width=\"800px\"></img></div>\n\n> 💡 What's the difference between `Mention in` and `Link to`?\n>\n> `Mention in` will insert a link of the current note (from which you open the link creator) to another note (which you pick in the link creator), i.e. inbound link.\n> `Link to` will insert links of picked notes to the current note, i.e. outbound link.\n\nYou can also manually copy the note link from the note editor menu.\n\n### Note Template\n\nAre you spending a lot of time writing summaries and copy-pasting while taking notes? Say hello to _Note Template_!\n\n_Note Template_ is designed for tasks like:\n\n- Summarize metadata and annotations from multiple papers, with customized filters\n- Compare papers across sections\n- Generate content programmatically\n\n> 💡 Need help or looking for community templates? [See here →](https://github.com/windingwind/zotero-better-notes/discussions/categories/note-templates)\n>\n> 💡 Want to write/share your templates?\n>\n> [How to write →](docs/about-note-template.md#write-note-template)\n>\n> [How to share →](docs/about-note-template.md#share-your-template)\n\n<div align=center><img src=\"https://github.com/user-attachments/assets/62e1438f-7910-4f57-ad88-c6a41dd9addf\" width=\"800px\"></img></div>\n\n### Syncing: Note 🔄️ Markdown\n\nWith BN, you can integrate your note-taking into your existing workflow seamlessly. If you use markdown editors like Obsidian, you can keep your notes in sync with external Markdown files easily.\n\nTo set up auto-sync, click `Set Auto-Sync` the first time you export your note. There is no need for any third-party tools or complicated setups!\n\n<div align=center><img src=\"https://user-images.githubusercontent.com/33902321/236622955-9ca54590-d6f8-433a-8622-33b35fc7b79d.png\" width=\"800px\"></img></div>\n\nAny changes made to your note or its corresponding Markdown file will be automatically synced. This feature makes it easy to keep all of your notes up to date and in one place.\n\n> 💡 Note: Synchronisation takes place once the editor is closed and after the period of time you set in the `Auto-sync period` preference.\n\n### Note Export\n\nBN offers various options to export your notes, giving you the flexibility to choose the format that suits your needs.\n\nYou can export your note to the following formats:\n\n- A new note in Zotero\n- Markdown file (embedded or linked, with images)\n- MS Word document (.docx)\n- PDF document (.pdf)\n- FreeMind file (.mm)\n\nSimply click on the corresponding export button in the toolbar and follow the prompts.\n\n### LLM Integration\n\nThe [Zotero-GPT](https://github.com/MuiseDestiny/zotero-gpt) plugin provides GPT Integration. If you also have Better Notes installed, you can wake up its chatting pane in the note editor and insert/modify content in the note.\n\n### Action Workflow\n\nThe [Actions & Tags](https://github.com/windingwind/zotero-actions-tags) plugin provides a powerful workflow engine for Zotero. If you also have Better Notes installed, you can use the following actions to automate note generation/editing/syncing/etc.:\n\n- [Auto-generate note from template when opening an item](https://github.com/windingwind/zotero-actions-tags/discussions/108)\n- [Auto-sync note when opening/creating an item](https://github.com/windingwind/zotero-actions-tags/discussions/140)\n- [More...](https://github.com/windingwind/zotero-actions-tags/discussions/categories/action-scripts)\n\n### Other Features\n\n- Quick Note: convert annotation to note with one click.\n- Resize images with a right-click menu.\n- Preview images with double-click/ctrl-click.\n\n## 🧲 API\n\nBN provides APIs for other plugin developers in `Zotero.BetterNotes.api.${API_MODULE}`. See [`api.ts`](src/api.ts).\n\n- `workspace`: Workspace APIs\n- `sync`: Syncing APIs\n- `convert`: Lossless conversion between note, HTML, Markdown, note link, and annotation\n- `template`: Manipulate note templates\n- `$export`: Export note\n- `$import`: Import note\n- `editor`: Note editor APIs. Give your script full control of contents in the note editor.\n- `note`: Note APIs. Parse and manipulate note content.\n- `relation`: Note relation APIs. Get and set note relations.\n- `utils`: Utility functions.\n\n### Concepts about Note-Related APIs\n\nIn Zotero, the content of a note is stored as rich text, while when a note is opened in the note editor, it is rendered by ProseMirror as HTML.\n\nMost of the time, it is recommended to use the `editor` API to interact with the content of the note, as it supports undo/redo and other features provided by editor. The `editor` API provides a set of powerful functions to analyze and manipulate the content in the note editor. Most of them needs an `editor` instance as the input, you can get the instance by calling `Zotero.BetterNotes.api.editor.getEditorInstance(noteId)`.\n\nHowever, if note is not opened in the editor, you cannot get the `editor` instance. In this case, you can use the `note` API to interact with the content of the note.\n\n## 🔧 Development\n\nThis plugin is built based on the [Zotero Plugin Template](https://github.com/windingwind/zotero-plugin-template). See the setup and debug details there.\n\nTo start, run\n\n```bash\ngit clone https://github.com/windingwind/zotero-better-notes.git\ncd zotero-better-notes\nnpm install\nnpm run build\n```\n\nThe plugin is built to `./builds/*.xpi`.\n\nTo debug, run\n\n```bash\nnpm run start\n```\n\nThis will open a new Zotero instance with the plugin installed.\n\nTo test the plugin, run\n\n```bash\nnpm run test\n```\n\nThis will run the tests in the `./test` directory.\n\n## 🔔 Disclaimer\n\nUse this code under AGPL. No warranties are provided. Keep the laws of your locality in mind!\n\n## 🔎 My Zotero Plugins\n\n- [Translate for Zotero](https://github.com/windingwind/zotero-pdf-translate): Translate PDF, EPub, webpage, metadata, annotations, notes to the target language.\n- [Actions & Tags for Zotero](https://github.com/windingwind/zotero-tag): Customize your Zotero workflow.\n- [Bionic for Zotero](https://github.com/windingwind/bionic-for-zotero): Bionic reading experience with Zotero.\n\n## 🙌 Sponsors\n\nThanks\n[peachgirl100](https://github.com/peachgirl100), [Juan Gimenez](),\nand other anonymous sponsors!\n\nIf you want to leave your name here, please email me or leave a message with the donation.\n\n## 🤗 Contributors\n\n<a href=\"https://github.com/windingwind/zotero-better-notes/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=windingwind/zotero-better-notes\" />\n</a>\n"
  },
  {
    "path": "addon/bootstrap.js",
    "content": "/**\n * Most of this code is from Zotero team's official Make It Red example[1]\n * or the Zotero 7 documentation[2].\n * [1] https://github.com/zotero/make-it-red\n * [2] https://www.zotero.org/support/dev/zotero_7_for_developers\n */\n\nvar chromeHandle;\n\nfunction install(data, reason) {}\n\nasync function startup({ id, version, resourceURI, rootURI }, reason) {\n  await Zotero.initializationPromise;\n\n  var aomStartup = Components.classes[\n    \"@mozilla.org/addons/addon-manager-startup;1\"\n  ].getService(Components.interfaces.amIAddonManagerStartup);\n  var manifestURI = Services.io.newURI(rootURI + \"manifest.json\");\n  chromeHandle = aomStartup.registerChrome(manifestURI, [\n    [\"content\", \"__addonRef__\", rootURI + \"chrome/content/\"],\n  ]);\n\n  /**\n   * Global variables for plugin code.\n   * The `_globalThis` is the global root variable of the plugin sandbox environment\n   * and all child variables assigned to it is globally accessible.\n   * See `src/index.ts` for details.\n   */\n  const ctx = {\n    rootURI,\n    // Define main window's document to create a fake browser environment\n    document: Zotero.getMainWindow().document,\n  };\n  ctx._globalThis = ctx;\n\n  Services.scriptloader.loadSubScript(\n    `${rootURI}/chrome/content/scripts/__addonRef__.js`,\n    ctx,\n  );\n  await Zotero.__addonInstance__.hooks.onStartup();\n}\n\nfunction onMainWindowLoad({ window: win }) {\n  Zotero.__addonInstance__.hooks.onMainWindowLoad(win);\n}\n\nfunction onMainWindowUnload({ window: win }) {\n  Zotero.__addonInstance__.hooks.onMainWindowUnload(win);\n}\n\nfunction shutdown({ id, version, resourceURI, rootURI }, reason) {\n  if (reason === APP_SHUTDOWN) {\n    return;\n  }\n\n  Zotero.__addonInstance__.hooks.onShutdown();\n\n  if (chromeHandle) {\n    chromeHandle.destruct();\n    chromeHandle = null;\n  }\n}\n\nfunction uninstall(data, reason) {}\n"
  },
  {
    "path": "addon/chrome/content/bubbleMap.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <body>\n    <script src=\"chrome://__addonRef__/content/lib/js/go.js\"></script>\n    <style>\n      html,\n      body,\n      div {\n        height: 100%;\n        width: 100%;\n        padding: 0;\n        margin: 0;\n      }\n      #canvas {\n        position: absolute;\n        height: 100%;\n        width: 100%;\n      }\n    </style>\n    <div id=\"allSampleContent\" class=\"p-4 w-full\">\n      <script id=\"code\">\n        // This variation on ForceDirectedLayout does not move any selected Nodes\n        // but does move all other nodes (vertexes).\n        class ContinuousForceDirectedLayout extends go.ForceDirectedLayout {\n          isFixed(v) {\n            return v.node.isSelected;\n          }\n\n          // optimization: reuse the ForceDirectedNetwork rather than re-create it each time\n          doLayout(coll) {\n            if (!this._isObserving) {\n              this._isObserving = true;\n              // cacheing the network means we need to recreate it if nodes or links have been added or removed or relinked,\n              // so we need to track structural model changes to discard the saved network.\n              this.diagram.addModelChangedListener((e) => {\n                // modelChanges include a few cases that we don't actually care about, such as\n                // \"nodeCategory\" or \"linkToPortId\", but we'll go ahead and recreate the network anyway.\n                // Also clear the network when replacing the model.\n                if (\n                  e.modelChange !== \"\" ||\n                  (e.change === go.ChangedEvent.Transaction &&\n                    e.propertyName === \"StartingFirstTransaction\")\n                ) {\n                  this.network = null;\n                }\n              });\n            }\n            var net = this.network;\n            if (net === null) {\n              // the first time, just create the network as normal\n              this.network = net = this.makeNetwork(coll);\n            } else {\n              // but on reuse we need to update the LayoutVertex.bounds for selected nodes\n              this.diagram.nodes.each((n) => {\n                var v = net.findVertex(n);\n                if (v !== null) v.bounds = n.actualBounds;\n              });\n            }\n            // now perform the normal layout\n            super.doLayout(coll);\n            // doLayout normally discards the LayoutNetwork by setting Layout.network to null;\n            // here we remember it for next time\n            this.network = net;\n          }\n        }\n        // end ContinuousForceDirectedLayout\n        var Diagram;\n\n        function init() {\n          window.addEventListener(\"message\", handler, false);\n\n          // Since 2.2 you can also author concise templates with method chaining instead of GraphObject.make\n          // For details, see https://gojs.net/latest/intro/buildingObjects.html\n          const $ = go.GraphObject.make; // for conciseness in defining templates\n\n          Diagram = $(\n            go.Diagram,\n            \"DiagramDiv\", // must name or refer to the DIV HTML element\n            {\n              initialAutoScale: go.Diagram.UniformToFill, // an initial automatic zoom-to-fit\n              contentAlignment: go.Spot.Center, // align document to the center of the viewport\n              layout: $(\n                ContinuousForceDirectedLayout, // automatically spread nodes apart while dragging\n                { defaultSpringLength: 15, defaultElectricalCharge: 30 },\n              ),\n              // do an extra layout at the end of a move\n              SelectionMoved: (e) => e.diagram.layout.invalidateLayout(),\n            },\n          );\n\n          // dragging a node invalidates the Diagram.layout, causing a layout during the drag\n          Diagram.toolManager.draggingTool.doMouseMove = function () {\n            go.DraggingTool.prototype.doMouseMove.call(this);\n            if (this.isActive) {\n              this.diagram.layout.invalidateLayout();\n            }\n          };\n\n          // define each Node's appearance\n          Diagram.nodeTemplate = $(\n            go.Node,\n            \"Vertical\", // the whole node panel\n            // define the node's outer shape, which will surround the TextBlock\n            $(\n              go.Panel,\n              \"Spot\",\n              $(\n                go.Shape,\n                \"Circle\",\n                {\n                  name: \"SHAPE\",\n                  fill: \"lightgray\", // default value, but also data-bound\n                  strokeWidth: 0,\n                  desiredSize: new go.Size(10, 10),\n                },\n                new go.Binding(\"fill\", \"isSelected\", (s, obj) =>\n                  s ? \"#f2ac46\" : \"lightgray\",\n                ).ofObject(),\n              ),\n            ),\n            $(\n              go.TextBlock,\n              {\n                textAlign: \"center\",\n                maxSize: new go.Size(100, NaN),\n                editable: true,\n                textEdited: editNode,\n              },\n              new go.Binding(\"text\", \"text\").makeTwoWay(),\n              new go.Binding(\"stroke\", \"stroke\"),\n            ),\n          );\n          // the rest of this app is the same as samples/conceptMap.html\n\n          // selected nodes show a button for adding children\n          Diagram.nodeTemplate.selectionAdornmentTemplate = $(\n            go.Adornment,\n            \"Spot\",\n            $(\n              go.Panel,\n              \"Auto\",\n              // this Adornment has a rectangular blue Shape around the selected node\n              $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3 }),\n              $(go.Placeholder, { margin: new go.Margin(4, 4, 0, 4) }),\n            ),\n            // and this Adornment has a Button to the right of the selected node\n            $(\n              \"Button\",\n              {\n                alignment: go.Spot.Right,\n                alignmentFocus: go.Spot.Left,\n                click: jumpNode, // define click behavior for this Button in the Adornment\n              },\n              $(\n                go.TextBlock,\n                \"↗️\", // the Button content\n                { font: \"bold 8pt sans-serif\" },\n              ),\n            ),\n          );\n\n          // replace the default Link template in the linkTemplateMap\n          Diagram.linkTemplate = $(\n            go.Link, // the whole link panel\n            $(\n              go.Shape, // the link shape\n              { stroke: \"grey\" },\n            ),\n            $(\n              go.Shape, // the arrowhead\n              { toArrow: \"standard\", stroke: null },\n            ),\n            $(go.Panel, \"Auto\"),\n          );\n          window.postMessage({ type: \"ready\" }, \"*\");\n          getData();\n        }\n\n        function getData() {\n          window.postMessage({ type: \"getMindMapData\" }, \"*\");\n        }\n\n        function setData(nodes) {\n          const nodeDataArray = [{ key: 999, text: \"📄\", parent: undefined }];\n          const linkDataArray = [];\n          const wrapText = (text) => {\n            let wrappedText = \"\";\n            for (let i = 0; i < text.length / 50; i++) {\n              wrappedText += text.slice(50 * i, 50 * i + 50);\n              wrappedText += \"\\n\";\n            }\n            return wrappedText;\n          };\n          for (const node of nodes) {\n            const parent =\n              node.parent.model.id === -1 ? 999 : node.parent.model.id;\n            nodeDataArray.push({\n              key: node.model.id,\n              text: `${node.model.level === 7 ? \"🔗\" : \"\"}${wrapText(\n                node.model.name,\n              )}`,\n              stroke: \"-moz-DialogText\",\n              lineIndex: node.model.lineIndex,\n              level: node.model.level,\n              noteLink: node.model.level === 7 ? node.model.link : \"\",\n            });\n            linkDataArray.push({\n              from: parent,\n              to: node.model.id,\n              text: \"\",\n            });\n          }\n          console.log(nodeDataArray, linkDataArray);\n          Diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);\n        }\n\n        function jumpNode(e, obj) {\n          var adorn = obj.part;\n          var oldnode = adorn.adornedPart;\n          var olddata = oldnode.data;\n          if (olddata.noteLink) {\n            window.postMessage(\n              { type: \"openNote\", link: olddata.noteLink, id: olddata.key },\n              \"*\",\n            );\n          } else {\n            window.postMessage(\n              {\n                type: \"jumpNode\",\n                lineIndex: olddata.lineIndex,\n                id: olddata.key,\n              },\n              \"*\",\n            );\n          }\n        }\n\n        function editNode(textBlock, previousText, currentText) {\n          const adorn = textBlock.part;\n          const data = adorn.data;\n          if (data.level === 7) {\n            alert(\"Link cannot be edited in mind map\");\n            return false;\n          }\n          window.postMessage(\n            {\n              type: \"editNode\",\n              lineIndex: data.lineIndex,\n              text: data.text,\n            },\n            \"*\",\n          );\n        }\n\n        function handler(e) {\n          console.log(e);\n          switch (e.data.type) {\n            case \"setMindMapData\":\n              setData(e.data.nodes);\n              break;\n            case \"saveImage\":\n              const imgString = Diagram.makeImageData({\n                scale: 1,\n              });\n              window.postMessage(\n                {\n                  type: \"saveImageReturn\",\n                  image: imgString,\n                },\n                \"*\",\n              );\n              break;\n            case \"saveSVG\":\n              const svgElement = Diagram.makeSvg({\n                scale: 1,\n              });\n              window.postMessage(\n                {\n                  type: \"saveSVGReturn\",\n                  image: svgElement.outerHTML,\n                },\n                \"*\",\n              );\n              break;\n            default:\n              break;\n          }\n        }\n\n        window.addEventListener(\"DOMContentLoaded\", init);\n\n        var resizeTime = new Date().getTime();\n        window.addEventListener(\"resize\", (e) => {\n          const canvas = document.getElementsByTagName(\"canvas\")[0];\n          const div = document.getElementById(\"DiagramDiv\");\n          canvas.setAttribute(\"height\", div.getAttribute(\"height\"));\n          canvas.setAttribute(\"width\", div.getAttribute(\"width\"));\n          const currentResize = new Date().getTime();\n          resizeTime = currentResize;\n          // Delay update\n          setTimeout(() => {\n            if (resizeTime === currentResize) {\n              getData();\n            }\n          }, 500);\n        });\n      </script>\n\n      <div id=\"sample\">\n        <div\n          id=\"DiagramDiv\"\n          style=\"\n            width: 100%;\n            position: relative;\n            -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n            cursor: auto;\n            font: 13px sans-serif;\n            overflow: hidden;\n          \"\n        >\n          <canvas\n            tabindex=\"0\"\n            style=\"\n              position: absolute;\n              top: 0px;\n              left: 0px;\n              z-index: 2;\n              user-select: none;\n              touch-action: none;\n              cursor: auto;\n            \"\n            >This text is displayed if your browser does not support the Canvas\n            HTML element.</canvas\n          >\n        </div>\n      </div>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/docxExport.html",
    "content": "<!doctype html>\n<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <script\n      src=\"chrome://__addonRef__/content/scripts/docxWorker.js\"\n      type=\"application/javascript\"\n    ></script>\n    <script\n      src=\"chrome://__addonRef__/content/lib/js/SaxonJS2.rt.js\"\n      type=\"application/javascript\"\n    ></script>\n  </head>\n  <body></body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/exportNotes.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://__addonRef__/content/styles/exportNotes.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE window>\n<window\n  xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  id=\"bn-export-notes\"\n  data-l10n-id=\"title\"\n  windowtype=\"__addonRef__-export-notes\"\n  persist=\"screenX screenY width height sizemode\"\n  style=\"min-width: 10em\"\n  drawintitlebar-platforms=\"mac\"\n>\n  <xul:linkset>\n    <html:link rel=\"localization\" href=\"browser/menubar.ftl\" />\n    <html:link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n    <html:link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n    <html:link rel=\"localization\" href=\"zotero.ftl\" />\n    <html:link rel=\"localization\" href=\"__addonRef__-exportNotes.ftl\" />\n  </xul:linkset>\n\n  <xul:commandset id=\"mainCommandSet\">\n    <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n  </xul:commandset>\n  <xul:keyset id=\"mainKeyset\">\n    <xul:key\n      id=\"key_close\"\n      data-l10n-id=\"close-shortcut\"\n      command=\"cmd_close\"\n      modifiers=\"accel\"\n      reserved=\"true\"\n    />\n  </xul:keyset>\n\n  <script src=\"chrome://zotero/content/include.js\"></script>\n  <script src=\"chrome://zotero/content/titlebar.js\"></script>\n  <script src=\"chrome://zotero/content/customElements.js\"></script>\n  <script src=\"chrome://__addonRef__/content/scripts/exportNotes.js\"></script>\n\n  <dialog buttons=\"accept, cancel\">\n    <vbox>\n      <hbox>\n        <label id=\"target\" data-l10n-id=\"target\"></label>\n      </hbox>\n      <hbox align=\"center\">\n        <label data-l10n-id=\"format\" for=\"format\"></label>\n        <menulist id=\"format\" native=\"true\">\n          <menupopup>\n            <menuitem\n              value=\"markdown\"\n              data-l10n-id=\"format-markdown\"\n            ></menuitem>\n            <menuitem value=\"msword\" data-l10n-id=\"format-msword\"></menuitem>\n            <menuitem value=\"pdf\" data-l10n-id=\"format-pdf\"></menuitem>\n            <menuitem\n              value=\"freemind\"\n              data-l10n-id=\"format-freemind\"\n            ></menuitem>\n            <menuitem value=\"note\" data-l10n-id=\"format-note\"></menuitem>\n            <menuitem value=\"latex\" data-l10n-id=\"format-latex\"></menuitem>\n          </menupopup>\n        </menulist>\n      </hbox>\n      <vbox>\n        <radiogroup id=\"linkMode\" orient=\"vertical\">\n          <radio value=\"keep\" data-l10n-id=\"links-keep\"></radio>\n          <radio value=\"embed\" data-l10n-id=\"links-embed\"></radio>\n          <radio value=\"standalone\" data-l10n-id=\"links-standalone\"></radio>\n          <!-- <radio value=\"remove\" data-l10n-id=\"links-remove\"></radio> -->\n        </radiogroup>\n      </vbox>\n      <vbox id=\"markdown-options\">\n        <checkbox\n          id=\"markdown-autoSync\"\n          data-l10n-id=\"markdown-autoSync\"\n          native=\"true\"\n        ></checkbox>\n        <checkbox\n          id=\"markdown-withYAMLHeader\"\n          data-l10n-id=\"markdown-withYAMLHeader\"\n          native=\"true\"\n        ></checkbox>\n        <checkbox\n          id=\"markdown-autoFilename\"\n          data-l10n-id=\"markdown-autoFilename\"\n          native=\"true\"\n        ></checkbox>\n      </vbox>\n      <vbox id=\"latex-options\">\n        <checkbox\n          id=\"latex-merge\"\n          data-l10n-id=\"latex-merge\"\n          native=\"true\"\n        ></checkbox>\n      </vbox>\n      <vbox id=\"buttons\">\n        <hbox>\n          <button\n            id=\"useDefaultExport\"\n            data-l10n-id=\"useDefaultExport\"\n          ></button>\n        </hbox>\n      </vbox>\n    </vbox>\n  </dialog>\n</window>\n"
  },
  {
    "path": "addon/chrome/content/imageViewer.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <title>Image Preview</title>\n    <meta charset=\"utf-8\" />\n  </head>\n  <body class=\"zotero-dialog\">\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://zotero-platform/content/zotero.css\"\n    />\n    <style>\n      html,\n      body {\n        height: 100%;\n        width: 100%;\n        padding: 0;\n        margin: 0;\n        overflow: hidden;\n        background: var(--material-background);\n      }\n      #image {\n        position: relative;\n        /* top: 50%;\n        transform: translateY(-50%); */\n        vertical-align: middle;\n        cursor: move;\n      }\n      .container {\n        height: calc(100% - 50px);\n        overflow: hidden;\n        text-align: center;\n      }\n      .toolbar {\n        position: absolute;\n        bottom: 0px;\n        height: 50px;\n        width: 100%;\n        display: flex;\n        flex-direction: row;\n        justify-content: space-evenly;\n        align-items: center;\n      }\n    </style>\n    <link rel=\"stylesheet\" href=\"./styles/toolbutton.css\" />\n    <script>\n      window.addEventListener(\"DOMContentLoaded\", (e) => {\n        document.querySelector(\".container\").style[\"line-height\"] = `${\n          window.innerHeight - 50\n        }px`;\n        window.addEventListener(\"resize\", (_e) => {\n          document.querySelector(\".container\").style[\"line-height\"] = `${\n            window.innerHeight - 50\n          }px`;\n        });\n      });\n    </script>\n    <div class=\"container\">\n      <img id=\"image\" src=\"\" alt=\"\" />\n    </div>\n    <div class=\"toolbar\">\n      <button id=\"left\" class=\"tool-button\" title=\"Previous\">\n        <svg\n          t=\"1668665847719\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"6765\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M641.28 278.613333l-45.226667-45.226666-278.634666 278.762666 278.613333 278.485334 45.248-45.269334-233.365333-233.237333z\"\n            p-id=\"6766\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"right\" class=\"tool-button\" title=\"Next\">\n        <svg\n          t=\"1668665870223\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"6907\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z\"\n            p-id=\"6908\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"bigger\" class=\"tool-button\" title=\"Zoom In\">\n        <svg\n          t=\"1668693494267\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"14768\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M768 448a320 320 0 1 0-320 320 320 320 0 0 0 320-320z m64 0A384 384 0 1 1 448 64a384 384 0 0 1 384 384z\"\n            p-id=\"14769\"\n            fill=\"currentColor\"\n          ></path>\n          <path\n            d=\"M681.28 726.72a32 32 0 0 1 45.44-45.44l160 160a32 32 0 0 1-45.44 45.44zM320 480a32 32 0 0 1 0-64h256a32 32 0 0 1 0 64z\"\n            p-id=\"14770\"\n            fill=\"currentColor\"\n          ></path>\n          <path\n            d=\"M480 576a32 32 0 0 1-64 0V320a32 32 0 0 1 64 0z\"\n            p-id=\"14771\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"smaller\" class=\"tool-button\" title=\"Zoom Out\">\n        <svg\n          t=\"1668693609992\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"1659\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M768 448a320 320 0 1 0-320 320 320 320 0 0 0 320-320z m64 0A384 384 0 1 1 448 64a384 384 0 0 1 384 384z\"\n            p-id=\"1660\"\n            fill=\"currentColor\"\n          ></path>\n          <path\n            d=\"M681.28 726.72a32 32 0 0 1 45.44-45.44l160 160a32 32 0 0 1-45.44 45.44zM288 480a32 32 0 0 1 0-64h320a32 32 0 0 1 0 64z\"\n            p-id=\"1661\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"resetwidth\" class=\"tool-button\" title=\"Reset Width\">\n        <svg\n          t=\"1668693928032\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"4264\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M113.777 819.198 113.777 204.8c0-50.267 40.75-91.022 91.02-91.022l614.376 0c50.29 0 91.045 40.755 91.045 91.022l0 614.398c0 50.27-40.755 91.02-91.045 91.02L204.797 910.218C154.527 910.218 113.777 869.468 113.777 819.198zM796.438 841.953c25.125 0 45.51-20.385 45.51-45.51L841.948 227.554c0-25.122-20.385-45.51-45.505-45.51L227.552 182.044c-25.125 0-45.535 20.387-45.535 45.51l0 568.889c0 25.125 20.39 45.51 45.535 45.51L796.438 841.953zM623.043 603.269l57.115-57.14L344.357 546.129l55.5 55.505c13.31 13.335 13.335 34.93 0 48.265-13.335 13.33-34.95 13.33-48.29 0l-105.765-105.77c-3.415-1.615-6.78-3.525-9.625-6.37-7.08-7.1-10.1-16.475-9.67-25.76-0.46-9.262 2.59-18.66 9.69-25.76 2.85-2.842 6.15-4.8 9.58-6.348l105.79-105.79c13.34-13.335 34.955-13.335 48.29 0 13.31 13.332 13.335 34.927 0 48.262l-55.5 55.502 335.802 0-57.115-57.117c-13.355-13.335-13.335-34.952 0-48.287s34.93-13.335 48.265 0l115.37 115.395c13.335 13.332 13.36 34.927 0 48.262l-115.37 115.395c-13.335 13.335-34.95 13.335-48.265 0C609.708 638.198 609.708 616.583 623.043 603.269z\"\n            p-id=\"4265\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"copy\" class=\"tool-button\" title=\"Copy\">\n        <svg\n          t=\"1668688365150\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"5240\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M851.025513 737.324862 400.356301 737.324862c-62.219566 0-112.666535-50.444902-112.666535-112.662943L287.689766 174.012196c0-62.217017 50.446969-112.662943 112.666535-112.662943l450.670235 0c62.219566 0 112.666535 50.444902 112.666535 112.662943l0 450.650747C963.692048 686.879959 913.245079 737.324862 851.025513 737.324862zM907.35878 174.012196c0-31.108508-25.223485-56.33096-56.333268-56.33096L400.356301 117.681236c-31.109783 0-56.334291 25.222451-56.334291 56.33096l0 450.650747c0 31.108508 25.223485 56.331983 56.334291 56.331983l450.670235 0c31.10876 0 56.333268-25.222451 56.333268-56.331983L907.359804 174.012196zM118.687916 399.337057 118.687916 849.988828c0 31.107485 25.223485 56.33096 56.333268 56.33096l450.669212 0c31.109783 0 56.334291-25.222451 56.334291-56.33096l0-56.331983 56.333268 0 0 56.331983c0 62.217017-50.446969 112.660896-112.667559 112.660896L175.021184 962.649723c-62.219566 0-112.667559-50.443879-112.667559-112.660896L62.353625 399.337057c0-62.217017 50.446969-112.662943 112.667559-112.662943l56.334291 0 0 56.33096-56.334291 0C143.9114 343.005075 118.687916 368.228549 118.687916 399.337057z\"\n            p-id=\"5241\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"save\" class=\"tool-button\" title=\"Save\">\n        <svg\n          t=\"1668693439021\"\n          class=\"icon\"\n          viewBox=\"0 0 1024 1024\"\n          version=\"1.1\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          p-id=\"13783\"\n          width=\"18\"\n          height=\"18\"\n        >\n          <path\n            d=\"M782.54 912.837H241.46C167.323 912.837 107 852.56 107 778.4V245.623c0-74.16 60.323-134.483 134.46-134.483h541.102C856.678 111.162 917 171.462 917 245.623V778.4c0 74.16-60.3 134.438-134.46 134.438zM241.46 163.632c-45.225 0-82.012 36.765-82.012 82.013V778.4c0 45.225 36.787 82.035 82.012 82.035h541.102c45.225 0 82.013-36.81 82.013-82.035V245.623c0-45.248-36.788-82.013-82.013-82.013H241.46v0.022zM771.312 513.26H252.688V111.163h518.648V513.26h-0.022z m-466.2-52.47h413.775V163.632H305.114v297.159zM589.22 240.808h52.425v174.846H589.22V240.807z m0 0\"\n            p-id=\"13784\"\n            fill=\"currentColor\"\n          ></path>\n        </svg>\n      </button>\n      <button id=\"pin\" class=\"tool-button\" title=\"Pin\"></button>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/lib/css/dx.light.compact.css",
    "content": "@charset \"UTF-8\";\n/**\n* DevExtreme (dx.light.compact.css)\n* Version: 23.1.6\n* Build date: Fri Oct 13 2023\n*\n* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\n*/\n.dx-validationsummary-item {\n  cursor: pointer;\n}\n.dx-invalid-message.dx-overlay {\n  position: relative;\n}\n.dx-invalid-message.dx-overlay-wrapper {\n  width: 100%;\n  visibility: hidden;\n  pointer-events: none;\n}\n.dx-invalid-message > .dx-overlay-content {\n  display: inline-block;\n  border-width: 0;\n  padding: 10px;\n  font-size: .85em;\n  line-height: normal;\n  word-wrap: break-word;\n}\n.dx-dropdownbox.dx-dropdowneditor-active .dx-invalid-message-auto,\n.dx-invalid-message-visible.dx-invalid .dx-invalid-message-auto,\n.dx-invalid-message.dx-invalid-message-always,\n.dx-lookup.dx-dropdowneditor-active .dx-invalid-message-auto,\n.dx-state-focused.dx-invalid .dx-invalid-message-auto {\n  visibility: visible;\n}\n.dx-validationsummary-item-content {\n  border-bottom: 1px dashed;\n  display: inline-block;\n  line-height: normal;\n}\n@-webkit-keyframes dx-valid-badge-frames {\n  from {\n    opacity: 0;\n    -webkit-transform: scale(.1);\n    transform: scale(.1);\n  }\n  to {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n@keyframes dx-valid-badge-frames {\n  from {\n    opacity: 0;\n    -webkit-transform: scale(.1);\n    transform: scale(.1);\n  }\n  to {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n.dx-theme-generic-typography {\n  background-color: #fff;\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-theme-generic-typography input,\n.dx-theme-generic-typography textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-theme-generic-typography .dx-font-xl,\n.dx-theme-generic-typography h1 {\n  font-weight: 200;\n  font-size: 29px;\n}\n.dx-theme-generic-typography .dx-font-l,\n.dx-theme-generic-typography h2 {\n  font-weight: 400;\n  font-size: 24px;\n}\n.dx-theme-generic-typography h3 {\n  font-weight: 400;\n  font-size: 20px;\n}\n.dx-theme-generic-typography .dx-font-m {\n  font-weight: 400;\n  font-size: 18px;\n}\n.dx-theme-generic-typography .dx-font-s,\n.dx-theme-generic-typography h4 {\n  font-weight: 500;\n  font-size: 16px;\n}\n.dx-theme-generic-typography h5 {\n  font-weight: 700;\n  font-size: 14px;\n}\n.dx-theme-generic-typography .dx-font-xs,\n.dx-theme-generic-typography h6,\n.dx-theme-generic-typography small {\n  font-weight: 800;\n  font-size: 10px;\n}\n.dx-theme-generic-typography a {\n  color: #337ab7;\n}\n.dx-icon-add,\n.dx-icon-addcolumnleft,\n.dx-icon-addcolumnright,\n.dx-icon-addrowabove,\n.dx-icon-addrowbelow,\n.dx-icon-addtable,\n.dx-icon-airplane,\n.dx-icon-aligncenter,\n.dx-icon-alignjustify,\n.dx-icon-alignleft,\n.dx-icon-alignright,\n.dx-icon-arrowdown,\n.dx-icon-arrowleft,\n.dx-icon-arrowright,\n.dx-icon-arrowup,\n.dx-icon-background,\n.dx-icon-bell,\n.dx-icon-blockquote,\n.dx-icon-bold,\n.dx-icon-bookmark,\n.dx-icon-box,\n.dx-icon-bulletlist,\n.dx-icon-car,\n.dx-icon-card,\n.dx-icon-cart,\n.dx-icon-cellproperties,\n.dx-icon-chart,\n.dx-icon-checklist,\n.dx-icon-clear,\n.dx-icon-clearformat,\n.dx-icon-clock,\n.dx-icon-close,\n.dx-icon-codeblock,\n.dx-icon-color,\n.dx-icon-columnproperties,\n.dx-icon-comment,\n.dx-icon-decreaseindent,\n.dx-icon-doc,\n.dx-icon-download,\n.dx-icon-edit,\n.dx-icon-email,\n.dx-icon-event,\n.dx-icon-eventall,\n.dx-icon-favorites,\n.dx-icon-find,\n.dx-icon-folder,\n.dx-icon-fontsize,\n.dx-icon-food,\n.dx-icon-formula,\n.dx-icon-gift,\n.dx-icon-globe,\n.dx-icon-group,\n.dx-icon-growfont,\n.dx-icon-header,\n.dx-icon-help,\n.dx-icon-home,\n.dx-icon-image,\n.dx-icon-increaseindent,\n.dx-icon-indent,\n.dx-icon-info,\n.dx-icon-italic,\n.dx-icon-key,\n.dx-icon-like,\n.dx-icon-link,\n.dx-icon-map,\n.dx-icon-mention,\n.dx-icon-menu,\n.dx-icon-mergecells,\n.dx-icon-money,\n.dx-icon-music,\n.dx-icon-orderedlist,\n.dx-icon-overflow,\n.dx-icon-percent,\n.dx-icon-photo,\n.dx-icon-plus,\n.dx-icon-preferences,\n.dx-icon-product,\n.dx-icon-redo,\n.dx-icon-refresh,\n.dx-icon-remove,\n.dx-icon-removecolumn,\n.dx-icon-removerow,\n.dx-icon-removetable,\n.dx-icon-rowproperties,\n.dx-icon-runner,\n.dx-icon-save,\n.dx-icon-search,\n.dx-icon-shrinkfont,\n.dx-icon-splitcells,\n.dx-icon-strike,\n.dx-icon-subscript,\n.dx-icon-superscript,\n.dx-icon-tableproperties,\n.dx-icon-tags,\n.dx-icon-tel,\n.dx-icon-tips,\n.dx-icon-to,\n.dx-icon-todo,\n.dx-icon-toolbox,\n.dx-icon-underline,\n.dx-icon-undo,\n.dx-icon-user,\n.dx-icon-variable,\n.dx-icon-verticalalignbottom,\n.dx-icon-verticalaligncenter,\n.dx-icon-verticalaligntop,\n.dx-icon-video {\n  background-position: 0 0;\n  background-repeat: no-repeat;\n}\n.dx-icon {\n  background-position: 50% 50%;\n  display: inline-block;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.dx-svg-icon svg {\n  pointer-events: none;\n}\n.dx-rtl .dx-icon-spinnext::before {\n  content: \"\\f04f\";\n}\n.dx-rtl .dx-icon-spinprev::before {\n  content: \"\\f04e\";\n}\n.dx-rtl .dx-icon-chevronnext::before {\n  content: \"\\f012\";\n}\n.dx-rtl .dx-icon-back::before,\n.dx-rtl .dx-icon-chevronprev::before {\n  content: \"\\f010\";\n}\n.dx-rtl .dx-icon-undo::before {\n  content: \"\\f093\";\n}\n.dx-rtl .dx-icon-redo::before {\n  content: \"\\f04c\";\n}\n.dx-rtl .dx-icon-hidepanel::before {\n  content: \"\\f11d\";\n}\n.dx-rtl .dx-icon-showpanel::before {\n  content: \"\\f11c\";\n}\n@font-face {\n  font-family: DXIcons;\n  src: local(\"DevExtreme Generic Icons\"),local(\"devextreme_generic_icons\"),url(\"icons/dxicons.woff2\") format(\"woff2\"),url(\"icons/dxicons.woff\") format(\"woff\"),url(\"icons/dxicons.ttf\") format(\"truetype\");\n  font-weight: 400;\n  font-style: normal;\n}\n.dx-icon-add {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-add::before {\n  content: \"\\f00b\";\n}\n.dx-icon-airplane {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-airplane::before {\n  content: \"\\f000\";\n}\n.dx-icon-bookmark {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-bookmark::before {\n  content: \"\\f017\";\n}\n.dx-icon-box {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-box::before {\n  content: \"\\f018\";\n}\n.dx-icon-car {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-car::before {\n  content: \"\\f01b\";\n}\n.dx-icon-card {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-card::before {\n  content: \"\\f019\";\n}\n.dx-icon-cart {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-cart::before {\n  content: \"\\f01a\";\n}\n.dx-icon-chart {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chart::before {\n  content: \"\\f01c\";\n}\n.dx-icon-check {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-check::before {\n  content: \"\\f005\";\n}\n.dx-icon-clear {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-clear::before {\n  content: \"\\f008\";\n}\n.dx-icon-clock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-clock::before {\n  content: \"\\f01d\";\n}\n.dx-icon-close {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-close::before {\n  content: \"\\f00a\";\n}\n.dx-icon-coffee {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-coffee::before {\n  content: \"\\f02a\";\n}\n.dx-icon-comment {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-comment::before {\n  content: \"\\f01e\";\n}\n.dx-icon-doc {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-doc::before {\n  content: \"\\f021\";\n}\n.dx-icon-file {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-file::before {\n  content: \"\\f021\";\n}\n.dx-icon-download {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-download::before {\n  content: \"\\f022\";\n}\n.dx-icon-dragvertical {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-dragvertical::before {\n  content: \"\\f038\";\n}\n.dx-icon-edit {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-edit::before {\n  content: \"\\f023\";\n}\n.dx-icon-email {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-email::before {\n  content: \"\\f024\";\n}\n.dx-icon-event {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-event::before {\n  content: \"\\f026\";\n}\n.dx-icon-eventall {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-eventall::before {\n  content: \"\\f043\";\n}\n.dx-icon-favorites {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-favorites::before {\n  content: \"\\f025\";\n}\n.dx-icon-find {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-find::before {\n  content: \"\\f027\";\n}\n.dx-icon-filter {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-filter::before {\n  content: \"\\f050\";\n}\n.dx-icon-folder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-folder::before {\n  content: \"\\f028\";\n}\n.dx-icon-activefolder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-activefolder::before {\n  content: \"\\f028\";\n}\n.dx-icon-food {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-food::before {\n  content: \"\\f029\";\n}\n.dx-icon-gift {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-gift::before {\n  content: \"\\f02b\";\n}\n.dx-icon-globe {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-globe::before {\n  content: \"\\f02c\";\n}\n.dx-icon-group {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-group::before {\n  content: \"\\f02e\";\n}\n.dx-icon-help {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-help::before {\n  content: \"\\f02f\";\n}\n.dx-icon-home {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-home::before {\n  content: \"\\f030\";\n}\n.dx-icon-image {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-image::before {\n  content: \"\\f031\";\n}\n.dx-icon-info {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-info::before {\n  content: \"\\f032\";\n}\n.dx-icon-key {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-key::before {\n  content: \"\\f033\";\n}\n.dx-icon-like {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-like::before {\n  content: \"\\f034\";\n}\n.dx-icon-map {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-map::before {\n  content: \"\\f035\";\n}\n.dx-icon-menu {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-menu::before {\n  content: \"\\f00c\";\n}\n.dx-icon-message {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-message::before {\n  content: \"\\f024\";\n}\n.dx-icon-money {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-money::before {\n  content: \"\\f036\";\n}\n.dx-icon-music {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-music::before {\n  content: \"\\f037\";\n}\n.dx-icon-overflow {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-overflow::before {\n  content: \"\\f00d\";\n}\n.dx-icon-percent {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-percent::before {\n  content: \"\\f039\";\n}\n.dx-icon-photo {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-photo::before {\n  content: \"\\f03a\";\n}\n.dx-icon-plus {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-plus::before {\n  content: \"\\f00b\";\n}\n.dx-icon-minus {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-minus::before {\n  content: \"\\f074\";\n}\n.dx-icon-preferences {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-preferences::before {\n  content: \"\\f03b\";\n}\n.dx-icon-product {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-product::before {\n  content: \"\\f03c\";\n}\n.dx-icon-pulldown {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pulldown::before {\n  content: \"\\f062\";\n}\n.dx-icon-refresh {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-refresh::before {\n  content: \"\\f03d\";\n}\n.dx-icon-remove {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-remove::before {\n  content: \"\\f00a\";\n}\n.dx-icon-revert {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-revert::before {\n  content: \"\\f04c\";\n}\n.dx-icon-runner {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-runner::before {\n  content: \"\\f040\";\n}\n.dx-icon-save {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-save::before {\n  content: \"\\f041\";\n}\n.dx-icon-search {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-search::before {\n  content: \"\\f027\";\n}\n.dx-icon-tags {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-tags::before {\n  content: \"\\f009\";\n}\n.dx-icon-tel {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-tel::before {\n  content: \"\\f003\";\n}\n.dx-icon-tips {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-tips::before {\n  content: \"\\f004\";\n}\n.dx-icon-todo {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-todo::before {\n  content: \"\\f005\";\n}\n.dx-icon-toolbox {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-toolbox::before {\n  content: \"\\f007\";\n}\n.dx-icon-trash {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-trash::before {\n  content: \"\\f03e\";\n}\n.dx-icon-user {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-user::before {\n  content: \"\\f02d\";\n}\n.dx-icon-upload {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-upload::before {\n  content: \"\\f006\";\n}\n.dx-icon-floppy {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-floppy::before {\n  content: \"\\f073\";\n}\n.dx-icon-arrowleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-arrowleft::before {\n  content: \"\\f011\";\n}\n.dx-icon-arrowdown {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-arrowdown::before {\n  content: \"\\f015\";\n}\n.dx-icon-arrowright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-arrowright::before {\n  content: \"\\f00e\";\n}\n.dx-icon-arrowup {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-arrowup::before {\n  content: \"\\f013\";\n}\n.dx-icon-spinleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spinleft::before {\n  content: \"\\f04f\";\n}\n.dx-icon-spinprev {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spinprev::before {\n  content: \"\\f04f\";\n}\n.dx-icon-spinright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spinright::before {\n  content: \"\\f04e\";\n}\n.dx-icon-spinnext {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spinnext::before {\n  content: \"\\f04e\";\n}\n.dx-icon-spindown {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spindown::before {\n  content: \"\\f001\";\n}\n.dx-icon-spinup {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-spinup::before {\n  content: \"\\f002\";\n}\n.dx-icon-chevronleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevronleft::before {\n  content: \"\\f012\";\n}\n.dx-icon-chevronprev {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevronprev::before {\n  content: \"\\f012\";\n}\n.dx-icon-back {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-back::before {\n  content: \"\\f012\";\n}\n.dx-icon-chevronright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevronright::before {\n  content: \"\\f010\";\n}\n.dx-icon-chevronnext {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevronnext::before {\n  content: \"\\f010\";\n}\n.dx-icon-chevrondown {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevrondown::before {\n  content: \"\\f016\";\n}\n.dx-icon-chevronup {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevronup::before {\n  content: \"\\f014\";\n}\n.dx-icon-chevrondoubleleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevrondoubleleft::before {\n  content: \"\\f042\";\n}\n.dx-icon-chevrondoubleright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-chevrondoubleright::before {\n  content: \"\\f03f\";\n}\n.dx-icon-equal {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-equal::before {\n  content: \"\\f044\";\n}\n.dx-icon-notequal {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-notequal::before {\n  content: \"\\f045\";\n}\n.dx-icon-less {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-less::before {\n  content: \"\\f046\";\n}\n.dx-icon-greater {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-greater::before {\n  content: \"\\f047\";\n}\n.dx-icon-lessorequal {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-lessorequal::before {\n  content: \"\\f048\";\n}\n.dx-icon-greaterorequal {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-greaterorequal::before {\n  content: \"\\f049\";\n}\n.dx-icon-isblank {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-isblank::before {\n  content: \"\\f075\";\n}\n.dx-icon-isnotblank {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-isnotblank::before {\n  content: \"\\f076\";\n}\n.dx-icon-sortup {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sortup::before {\n  content: \"\\f051\";\n}\n.dx-icon-sortdown {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sortdown::before {\n  content: \"\\f052\";\n}\n.dx-icon-sortuptext {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sortuptext::before {\n  content: \"\\f053\";\n}\n.dx-icon-sortdowntext {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sortdowntext::before {\n  content: \"\\f054\";\n}\n.dx-icon-sorted {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sorted::before {\n  content: \"\\f055\";\n}\n.dx-icon-expand {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-expand::before {\n  content: \"\\f04a\";\n}\n.dx-icon-collapse {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-collapse::before {\n  content: \"\\f04b\";\n}\n.dx-icon-columnfield {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-columnfield::before {\n  content: \"\\f057\";\n}\n.dx-icon-rowfield {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-rowfield::before {\n  content: \"\\f058\";\n}\n.dx-icon-datafield {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-datafield::before {\n  content: \"\\f101\";\n}\n.dx-icon-fields {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-fields::before {\n  content: \"\\f059\";\n}\n.dx-icon-fieldchooser {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-fieldchooser::before {\n  content: \"\\f05a\";\n}\n.dx-icon-columnchooser {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-columnchooser::before {\n  content: \"\\f04d\";\n}\n.dx-icon-pin {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pin::before {\n  content: \"\\f05b\";\n}\n.dx-icon-unpin {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-unpin::before {\n  content: \"\\f05c\";\n}\n.dx-icon-pinleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pinleft::before {\n  content: \"\\f05d\";\n}\n.dx-icon-pinright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pinright::before {\n  content: \"\\f05e\";\n}\n.dx-icon-contains {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-contains::before {\n  content: \"\\f063\";\n}\n.dx-icon-startswith {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-startswith::before {\n  content: \"\\f064\";\n}\n.dx-icon-endswith {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-endswith::before {\n  content: \"\\f065\";\n}\n.dx-icon-doesnotcontain {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-doesnotcontain::before {\n  content: \"\\f066\";\n}\n.dx-icon-range {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-range::before {\n  content: \"\\f06a\";\n}\n.dx-icon-export {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-export::before {\n  content: \"\\f05f\";\n}\n.dx-icon-exportxlsx {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-exportxlsx::before {\n  content: \"\\f060\";\n}\n.dx-icon-exportpdf {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-exportpdf::before {\n  content: \"\\f061\";\n}\n.dx-icon-exportselected {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-exportselected::before {\n  content: \"\\f06d\";\n}\n.dx-icon-warning {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-warning::before {\n  content: \"\\f06b\";\n}\n.dx-icon-more {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-more::before {\n  content: \"\\f06c\";\n}\n.dx-icon-square {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-square::before {\n  content: \"\\f067\";\n}\n.dx-icon-clearsquare {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-clearsquare::before {\n  content: \"\\f068\";\n}\n.dx-icon-repeat {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-repeat::before {\n  content: \"\\f069\";\n}\n.dx-icon-selectall {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-selectall::before {\n  content: \"\\f070\";\n}\n.dx-icon-unselectall {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-unselectall::before {\n  content: \"\\f071\";\n}\n.dx-icon-print {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-print::before {\n  content: \"\\f072\";\n}\n.dx-icon-bold {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-bold::before {\n  content: \"\\f077\";\n}\n.dx-icon-italic {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-italic::before {\n  content: \"\\f078\";\n}\n.dx-icon-underline {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-underline::before {\n  content: \"\\f079\";\n}\n.dx-icon-strike {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-strike::before {\n  content: \"\\f07a\";\n}\n.dx-icon-indent {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-indent::before {\n  content: \"\\f07b\";\n}\n.dx-icon-increaselinespacing {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-increaselinespacing::before {\n  content: \"\\f07b\";\n}\n.dx-icon-font {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-font::before {\n  content: \"\\f11b\";\n}\n.dx-icon-fontsize {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-fontsize::before {\n  content: \"\\f07c\";\n}\n.dx-icon-shrinkfont {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-shrinkfont::before {\n  content: \"\\f07d\";\n}\n.dx-icon-growfont {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-growfont::before {\n  content: \"\\f07e\";\n}\n.dx-icon-color {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-color::before {\n  content: \"\\f07f\";\n}\n.dx-icon-background {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-background::before {\n  content: \"\\f080\";\n}\n.dx-icon-fill {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-fill::before {\n  content: \"\\f10d\";\n}\n.dx-icon-palette {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-palette::before {\n  content: \"\\f120\";\n}\n.dx-icon-superscript {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-superscript::before {\n  content: \"\\f081\";\n}\n.dx-icon-subscript {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-subscript::before {\n  content: \"\\f082\";\n}\n.dx-icon-header {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-header::before {\n  content: \"\\f083\";\n}\n.dx-icon-blockquote {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-blockquote::before {\n  content: \"\\f084\";\n}\n.dx-icon-formula {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-formula::before {\n  content: \"\\f056\";\n}\n.dx-icon-codeblock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-codeblock::before {\n  content: \"\\f085\";\n}\n.dx-icon-orderedlist {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-orderedlist::before {\n  content: \"\\f086\";\n}\n.dx-icon-bulletlist {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-bulletlist::before {\n  content: \"\\f087\";\n}\n.dx-icon-increaseindent {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-increaseindent::before {\n  content: \"\\f088\";\n}\n.dx-icon-decreaseindent {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-decreaseindent::before {\n  content: \"\\f089\";\n}\n.dx-icon-decreaselinespacing {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-decreaselinespacing::before {\n  content: \"\\f106\";\n}\n.dx-icon-alignleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-alignleft::before {\n  content: \"\\f08a\";\n}\n.dx-icon-alignright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-alignright::before {\n  content: \"\\f08b\";\n}\n.dx-icon-aligncenter {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-aligncenter::before {\n  content: \"\\f08c\";\n}\n.dx-icon-alignjustify {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-alignjustify::before {\n  content: \"\\f08d\";\n}\n.dx-icon-link {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-link::before {\n  content: \"\\f08e\";\n}\n.dx-icon-video {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-video::before {\n  content: \"\\f08f\";\n}\n.dx-icon-mention {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-mention::before {\n  content: \"\\f090\";\n}\n.dx-icon-variable {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-variable::before {\n  content: \"\\f091\";\n}\n.dx-icon-clearformat {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-clearformat::before {\n  content: \"\\f092\";\n}\n.dx-icon-fullscreen {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-fullscreen::before {\n  content: \"\\f11a\";\n}\n.dx-icon-hierarchy {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-hierarchy::before {\n  content: \"\\f124\";\n}\n.dx-icon-docfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-docfile::before {\n  content: \"\\f111\";\n}\n.dx-icon-docxfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-docxfile::before {\n  content: \"\\f110\";\n}\n.dx-icon-pdffile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pdffile::before {\n  content: \"\\f118\";\n}\n.dx-icon-pptfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pptfile::before {\n  content: \"\\f114\";\n}\n.dx-icon-pptxfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pptxfile::before {\n  content: \"\\f115\";\n}\n.dx-icon-rtffile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-rtffile::before {\n  content: \"\\f112\";\n}\n.dx-icon-txtfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-txtfile::before {\n  content: \"\\f113\";\n}\n.dx-icon-xlsfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-xlsfile::before {\n  content: \"\\f116\";\n}\n.dx-icon-xlsxfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-xlsxfile::before {\n  content: \"\\f117\";\n}\n.dx-icon-copy {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-copy::before {\n  content: \"\\f107\";\n}\n.dx-icon-cut {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-cut::before {\n  content: \"\\f10a\";\n}\n.dx-icon-paste {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-paste::before {\n  content: \"\\f108\";\n}\n.dx-icon-share {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-share::before {\n  content: \"\\f11f\";\n}\n.dx-icon-inactivefolder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-inactivefolder::before {\n  content: \"\\f105\";\n}\n.dx-icon-newfolder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-newfolder::before {\n  content: \"\\f123\";\n}\n.dx-icon-movetofolder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-movetofolder::before {\n  content: \"\\f121\";\n}\n.dx-icon-parentfolder {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-parentfolder::before {\n  content: \"\\f122\";\n}\n.dx-icon-rename {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-rename::before {\n  content: \"\\f109\";\n}\n.dx-icon-detailslayout {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-detailslayout::before {\n  content: \"\\f10b\";\n}\n.dx-icon-contentlayout {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-contentlayout::before {\n  content: \"\\f11e\";\n}\n.dx-icon-smalliconslayout {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-smalliconslayout::before {\n  content: \"\\f119\";\n}\n.dx-icon-mediumiconslayout {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-mediumiconslayout::before {\n  content: \"\\f10c\";\n}\n.dx-icon-undo {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-undo::before {\n  content: \"\\f04c\";\n}\n.dx-icon-redo {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-redo::before {\n  content: \"\\f093\";\n}\n.dx-icon-hidepanel {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-hidepanel::before {\n  content: \"\\f11c\";\n}\n.dx-icon-showpanel {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-showpanel::before {\n  content: \"\\f11d\";\n}\n.dx-icon-checklist {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-checklist::before {\n  content: \"\\f141\";\n}\n.dx-icon-verticalaligntop {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-verticalaligntop::before {\n  content: \"\\f14f\";\n}\n.dx-icon-verticalaligncenter {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-verticalaligncenter::before {\n  content: \"\\f14e\";\n}\n.dx-icon-verticalalignbottom {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-verticalalignbottom::before {\n  content: \"\\f14d\";\n}\n.dx-icon-rowproperties {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-rowproperties::before {\n  content: \"\\f14c\";\n}\n.dx-icon-columnproperties {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-columnproperties::before {\n  content: \"\\f14b\";\n}\n.dx-icon-cellproperties {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-cellproperties::before {\n  content: \"\\f14a\";\n}\n.dx-icon-tableproperties {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-tableproperties::before {\n  content: \"\\f140\";\n}\n.dx-icon-splitcells {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-splitcells::before {\n  content: \"\\f139\";\n}\n.dx-icon-mergecells {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-mergecells::before {\n  content: \"\\f138\";\n}\n.dx-icon-deleterow {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-deleterow::before {\n  content: \"\\f137\";\n}\n.dx-icon-deletecolumn {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-deletecolumn::before {\n  content: \"\\f136\";\n}\n.dx-icon-insertrowabove {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-insertrowabove::before {\n  content: \"\\f135\";\n}\n.dx-icon-insertrowbelow {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-insertrowbelow::before {\n  content: \"\\f134\";\n}\n.dx-icon-insertcolumnleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-insertcolumnleft::before {\n  content: \"\\f133\";\n}\n.dx-icon-insertcolumnright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-insertcolumnright::before {\n  content: \"\\f132\";\n}\n.dx-icon-inserttable {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-inserttable::before {\n  content: \"\\f130\";\n}\n.dx-icon-deletetable {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-deletetable::before {\n  content: \"\\f131\";\n}\n.dx-icon-edittableheader {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-edittableheader::before {\n  content: \"\\f142\";\n}\n.dx-icon-addtableheader {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-addtableheader::before {\n  content: \"\\f143\";\n}\n.dx-icon-pasteplaintext {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pasteplaintext::before {\n  content: \"\\f144\";\n}\n.dx-icon-importselected {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-importselected::before {\n  content: \"\\f145\";\n}\n.dx-icon-import {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-import::before {\n  content: \"\\f146\";\n}\n.dx-icon-textdocument {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-textdocument::before {\n  content: \"\\f147\";\n}\n.dx-icon-jpgfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-jpgfile::before {\n  content: \"\\f148\";\n}\n.dx-icon-bmpfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-bmpfile::before {\n  content: \"\\f149\";\n}\n.dx-icon-svgfile {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-svgfile::before {\n  content: \"\\f150\";\n}\n.dx-icon-attach {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-attach::before {\n  content: \"\\f151\";\n}\n.dx-icon-return {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-return::before {\n  content: \"\\f152\";\n}\n.dx-icon-indeterminatestate {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-indeterminatestate::before {\n  content: \"\\f153\";\n}\n.dx-icon-lock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-lock::before {\n  content: \"\\f154\";\n}\n.dx-icon-unlock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-unlock::before {\n  content: \"\\f155\";\n}\n.dx-icon-imgarlock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-imgarlock::before {\n  content: \"\\f156\";\n}\n.dx-icon-imgarunlock {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-imgarunlock::before {\n  content: \"\\f157\";\n}\n.dx-icon-bell {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-bell::before {\n  content: \"\\f158\";\n}\n.dx-icon-sun {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-sun::before {\n  content: \"\\f159\";\n}\n.dx-icon-send {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-send::before {\n  content: \"\\f160\";\n}\n.dx-icon-pinmap {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-pinmap::before {\n  content: \"\\f161\";\n}\n.dx-icon-photooutline {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-photooutline::before {\n  content: \"\\f162\";\n}\n.dx-icon-panelright {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-panelright::before {\n  content: \"\\f163\";\n}\n.dx-icon-panelleft {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-panelleft::before {\n  content: \"\\f164\";\n}\n.dx-icon-optionsgear {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-optionsgear::before {\n  content: \"\\f165\";\n}\n.dx-icon-moon {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-moon::before {\n  content: \"\\f166\";\n}\n.dx-icon-login {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-login::before {\n  content: \"\\f167\";\n}\n.dx-icon-eyeopen {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-eyeopen::before {\n  content: \"\\f168\";\n}\n.dx-icon-eyeclose {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-eyeclose::before {\n  content: \"\\f169\";\n}\n.dx-icon-expandform {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-expandform::before {\n  content: \"\\f170\";\n}\n.dx-icon-description {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-description::before {\n  content: \"\\f171\";\n}\n.dx-icon-belloutline {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-belloutline::before {\n  content: \"\\f172\";\n}\n.dx-icon-to {\n  font: 14px/1 DXIcons;\n}\n.dx-icon-to::before {\n  content: \"\\f173\";\n}\n.dx-tab .dx-icon,\n.dx-tab.dx-tab-selected .dx-icon {\n  background-size: 100% 100%;\n  background-position: 50% 50%;\n}\n.dx-scrollview-pulldown {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAQAAABebbrxAAABD0lEQVRo3u2XvQ3CMBCFLbmjYYGsAA2wA1X2gAbEAEwB2eIKflagh6zACJAuUihASUic+M5GNH56dT7J8efTPUXKkDkzrS8LpQAEMBygcwAss2UGQADDBmLa+AMvzAAIYNhATBt/YMEMgACGDcS0wbQBEEAAAQQQwD8CEzaiL7sKqOnojTuQrh95SKkX7kqD5j+M6O6Mu1NkupQJZU64B426bjmmXIzLKe7TZiUGLmweyhTa28XWdJKpYn8pXIVub1U4T4+jUKkKbyWeWhR6Vqpwd+w+hb5U4S/ta54qkhZgVihxrxWaznZVZD2lqVDaVkVafOoKGVWRN6nZR6GMxr+qZjHl3aq4db0NLXld7wVjuu7NS9f7yAAAAABJRU5ErkJggg==\");\n  background-position: 0 0;\n  background-repeat: no-repeat;\n}\n.dx-loadindicator-image-small {\n  background-image: url(\"data:image/gif;base64,R0lGODlhFAAUAKECADI6RTI6Rv///////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQABACwAAAAAFAAUAAACI4yPqZsADM+LcNJlb9Mq8+B8iCeWBqmFJnqpJUu5ojzDplIAACH5BAkJAAEALAAAAAAUABQAAAIhjI+py+3gXmxwrmoRzgZ4fnxgIIIl523o2KmZ+7KdTIMFACH5BAkJAAIALAAAAAAUABQAAAIflI+py+0Po4zAgDptFhXP60ngNmYdyaGBiYXbC8dwAQAh+QQJCQADACwAAAAAFAAUAAACIpyPqcsL3cCDSlJ368xnc+Nx1geG2Uiin3mpIlnC7gnXTAEAIfkECQkAAwAsAAAAABQAFAAAAiKcD6e74AxRivHRenGGc6vuIWEzluaJbuC4eq36XlboxGUBACH5BAkJAAMALAAAAAAUABQAAAIjnA8Jx226nBxp2mpnzG7z5n3iSJbmiaaqFIrt93LYOMP1UQAAIfkECQkAAwAsAAAAABQAFAAAAh2cD6l53eyiA7Iii7PevPsPhuJIluZpUB6ELWxTAAAh+QQJCQADACwAAAAAFAAUAAACHZx/oMit/5p0a9oBrt68+w+G4kiW5rllYbRCLFIAACH5BAkJAAMALAAAAAAUABQAAAIenH+ggO24noRq2molzo3xD4biSJbmSXqpuYlR2ToFACH5BAkJAAMALAAAAAAUABQAAAIhnI+pi+AMzYsQ0HrXzI2n7Q1WSJbMSKIh6Kmty7GtKWUFACH5BAkJAAMALAAAAAAUABQAAAIinI+py+3gXmxwKlAtytpgrmHdIY5DOX6mt56t24Kd/NZMAQAh+QQJCQADACwAAAAAFAAUAAACIZyPqcvtD6OMwIA6w8Czcnl91DVZW3mKkIeqK+ai8kyXBQAh+QQJCQADACwAAAAAFAAUAAACI5yPqcsL3cCDSlJ368xn82F9RiiSn8l5pziqmXuhMUzR7F0AACH5BAkJAAMALAAAAAAUABQAAAIfnI+pB70/HFxyKmBp1rv7D4aMiIXld6KmmW6V+7pKAQAh+QQJCQADACwAAAAAFAAUAAACIZw/oMi9Dc2LEVBqL8y6+w+G4kiWJBein+pNK4sp8CY3BQAh+QQJCQADACwAAAAAFAAUAAACHZw/oIt96iICstqLs968+w+G4kh+VHdukLW06VEAACH5BAkJAAMALAAAAAAUABQAAAIbnI+pCu29InKygoqz3rz7D4biSJbZ9VHpoyIFACH5BAkJAAMALAAAAAAUABQAAAIfnI8AyM26nDxq2hGvy7r7D4biSJYg51WiGkKju8JOAQA7\");\n  background-position: center center;\n  background-repeat: no-repeat;\n}\n.dx-loadindicator-image-large {\n  background-image: url(\"data:image/gif;base64,R0lGODlhQABAAKECADI6RTI6Rv///////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQABACwAAAAAQABAAAACkIyPqcvtD6OctEpgs1ag9w1m3heW0Eia6oJi63u08BygNGzfq6ybeV/6AUHCoaZotIySoSXz6HlunNIKsnqKYinUbaTrzabCjyuZoz07wGpW+w2Py+f0uv2VtrPl5ne/zVP3B5hHtxc3eBZoeAiXSLY49wjZSFipFsk36ZWJuMn5idXiwtjpN3qHqhd61wpTAAAh+QQJCQABACwAAAAAQABAAAACk4yPqcvtD6OctNqLs968+w+G4giUI2meYQmoK+t+bBt3c22nuHbvPOzL9IKWIbFiPEqSygiz6XhCG8Cps2qNYrNUkzQ7+1rDW66BrDMf0DT1Gu1GsONvMv0Mv8/1+zi77Zd3Vwc4KGYWNihXRnfIlaiIx+gGGVmp6AiWObY51ek5GZiGGUpZajpKGrnK2ur6CotQAAAh+QQJCQACACwAAAAAQABAAAACoJSPqcvtD6OctNqLs968+w+G4kiW5omm6sq27qsADyDDCd3QuI3ssc7r1W66YRBIRAYNSmZxeWgKntAoIGCVLpXUqnPY9VLDYlzRWJaR01NtFbh+n33e77kunOOz931b7zdHVyeIlqY2ePhnuIUUd+ToBunzaNNV+RKG6UKmgwUVJ8m5JtryWLoSIInK5rfA6BorO0tba3uLm6u7y9ubUAAAIfkECQkAAwAsAAAAAEAAQAAAAqKcj6nL7Q+jnLTai7PevPsPhhwAiCKJmh+aqh1buiMsb3BcY3eu0bzO+mV8wgqxSDkiI8olpOl0BKMSKHUxvWIRWW2CdOh6ueHW+GsQnwcp9bltXpfZcTmdDrbP3WN4Xt9Stxb4Z0eIY5gn+KZYKGfmyPgX2edIqbWYePmYuRbQOQhauRlKOoqoh2eKyScperWTmtZ6ippKyyiru8vb6/t7VQAAIfkECQkAAwAsAAAAAEAAQAAAAp2cj6nL7Q+jnNSBC6reCWMOTp4Xls1ImmqHZuvbuu/aznNt02MO77yK+uk+QpOvWEohQ8clR+ncQKOaKVVEvFazWoq1C+GCI9/x6WL2otMSMfv8bsviljn9dM/rc/Y9ou9nABg4uLcW+Feod4g44Ob3uBiZN3lXRlkZd2nJSJj5tqkZytYE+ZkW5DlqlmrYillKF6N6ylqLetuoK1EAACH5BAkJAAMALAAAAABAAEAAAAKLnI+pB+2+opw0vtuq3hR7wIXi54mmRj7nOqXsK33wHF/0nZT4Ptj87vvdgsIZsfgKqJC0JRPmfL4gUii1yrpiV5ntFOTNhsfksvmMTqvX7Lb7DY/L5/S6/Y7P6/d8BLjeBfg3F0hYKHcYp6WY+BYF9+i46HZEGcmGwViZRmKpg5YySRbaWObieXlSAAAh+QQJCQADACwAAAAAQABAAAACepyPqQnt30ZctFoLs3a3e7aF2UdW4vmUKnKa46pu8Exq9O29+E5B/N/jAIcHIZFoPA4nyqbzCY1Kp9Sq9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+f0uv2Oz+vXAH4fnVQWOJZi5kNmA3WIISOFgkL1KHIlucjV8lMAACH5BAkJAAMALAAAAABAAEAAAAJ3nI+pC+0Plpy0IohztLwbDWbeKIUmRqZiZabe4w5hTG30p926le9+CfkJGY2h8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y4fO8pBPUrcAwZyU6Q0w9G3dLJY+MS4UvVoowUpVAAAIfkECQkAAwAsAAAAAEAAQAAAAn2cj6nL7Q/jALRaK7NGt/sNat4YluJImWqEru5DvnISz/bU3Xqu23wv+wFdwqGqaCwhk5sl81R5rqLSqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9FBKjUlf8PmzU7yH9gc2+FXoddj1IZi4VVPWYoYCYBYwGUgYWWdSAAAh+QQJCQADACwAAAAAQABAAAACkpyPqcvtD6OctEKAs93c5N+F1AeKpkNq56qkAAsjaUwPc83e+KnvYu/rAIMbEtFkPAqTymKp6VRBK8Pp5WmdYLORLffB/ILD4ga5vDijW9K1GeOOy+f0uv2Oh73ytrbdS6c2BxjoV0cohxgnmGh46DgIGQmXx7io6GaZiYlWNUmJp7nmecnZKXoq+bnHZ9P6ylUAACH5BAkJAAMALAAAAABAAEAAAAKTnI+py+0Po5y02ouz3rz7D3YAEJbHOJomSqog675o/MG0ON8b2+oZ79PYghcgsTg8ToxKCrMpSUIh0qnjab3mso8qV8HbfhFh8XhQTp3J5TU77D614+h5PE2vw+l4vt3ddzdjlucFSOjXk2dguNboiHiotsgYCTlJ+XimOWZ5qbjI+SU6iplpGopKucra6voK+1oAACH5BAkJAAMALAAAAABAAEAAAAKenI+py+0Po5y02ouz3rz7D4biSJbmiabqyrYe4GbAHF8zvNxBndzMjeMdfD2gEEEs0o6GQNJgZA6fUemgWrVin1pitrv8So1i8JVrPQOX6ek62Fav4+45XV4ev+HtPT9NxhYX+AcGg6bng8gUlSe0VXgEOVjlFMnztRhj5wYoptnCiXQZuij4qHmKSXp15/oKGys7S1tre4ubq7urUQAAIfkECQkAAwAsAAAAAEAAQAAAAqKcj6nL7Q+jnLTai7PevPsPhhwAiCJJmiGaqh1buiMsb3BcZ3Sus7zm+2GCwguxSDkiJ6jAsqJ8QqJSB6raaB2uWIaW2h18teEEl1s2t9Dp7ZrcFr9xcXmMHffh23p6vV+HABho0OfHd7WXFnS4iNZYRgTnSAbZBYaomKeZOfmHGQkayjnquUkatkNoh4p1s8pqSilbSpsqGgqru8vb6/srVAAAIfkECQkAAwAsAAAAAEAAQAAAApqcj6nL7Q+jnNSBC6reCmcOUt4Vls+ImWqHrq6Bfu/azm5tq3huevzt+/WCwhKxCDoiOallSOkUNaMbKFUyvUpJ2kq2i+WCJ+Jx2CxFk9VrdkTmtsTndBu8nijjD/r9oI/3tScYCEhndWg4h7hImKjoxhgnyUapNuIH4zhpaYbpt/O4eflZFzMYGnkq2qkVAwn2ito6Rpt5K1EAACH5BAkJAAMALAAAAABAAEAAAAKLnI+pCe2wopxUvgur3hR7DoaDh4lmRWbnOqXsa5XwrMj0bVz4Pj487vvdgsIZsQhzIGnKpVHlZDWjUijV1Li+stqVtQsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7Hf91ceR8+9XbE90dYyDaI6BAAmKimI+iYBtn2UUm5RvLoYpYiqeWJKRYaSBaaqflSAAAh+QQJCQADACwAAAAAQABAAAACeZyPqQrtD5actCaIc7S8Gw1i3iiFpkOmB2hBKpm9sufOdove+pTv/tX4CVeb4bBoTCqXzKbzCY1Kp9Sq9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+f0ut0cLPfEe/CDXOMX6BVDWLh0yBDidNL41GgiBZkoGXGyUwAAIfkECQkAAwAsAAAAAEAAQAAAAnecj6lr4A+YnLQ2iLPdHOUPduICluY4YtuJrlE7lPDsavQ9ffjOqPzvcQCHxKLxiEwql8ym8wmNSqfUqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9LriEbZ1Q3s+7fXDkoJXZAIooXNkuAjBxGj49OhDBclTAAAh+QQJCQADACwAAAAAQABAAAACfpyPqcvtD+MBtFqJ87K8Bw2GRneJJkZS5xql7NuQ8KzI9D10+K3vc+97AYMrDhE2PIqMymKpaXpCl4Cp9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+d0dEXNPCfHe37e3CcWGDYIVvhlA5hI5qLXyJiiAhkp1UX5yHV5VydSAAA7\");\n  background-position: center center;\n  background-repeat: no-repeat;\n}\n.dx-color-scheme {\n  font-family: \"#\";\n}\n.dx-widget {\n  display: block;\n  -ms-content-zooming: none;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-text-size-adjust: none;\n  -webkit-touch-callout: none;\n  padding: 0;\n  outline: 0;\n  -webkit-print-color-adjust: exact;\n  print-color-adjust: exact;\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-widget,\n.dx-widget *,\n.dx-widget ::after,\n.dx-widget ::before,\n.dx-widget::after,\n.dx-widget::before {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-item {\n  outline: 0;\n}\n.dx-rtl {\n  direction: rtl;\n  unicode-bidi: embed;\n}\n.dx-state-disabled {\n  pointer-events: none;\n}\n.dx-widget input,\n.dx-widget textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-state-disabled .dx-widget,\n.dx-state-disabled.dx-widget {\n  opacity: .5;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  cursor: default;\n}\n.dx-state-disabled .dx-widget .dx-widget,\n.dx-state-disabled.dx-widget .dx-widget {\n  opacity: 1;\n}\n.dx-card {\n  overflow: hidden;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  background-color: #fff;\n}\n.dx-fieldset .dx-field-value {\n  margin: 0;\n}\n.dx-fieldset,\n.dx-fieldset * {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-fieldset-header:empty {\n  display: none;\n}\n.dx-field::after,\n.dx-field::before {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.dx-field::after {\n  clear: both;\n}\n.dx-field-label {\n  float: left;\n  width: 40%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  color: #333;\n  cursor: default;\n  padding: 5px 8px 5px 0;\n}\n.dx-field-value,\n.dx-field-value-static {\n  float: right;\n}\n.dx-field-value.dx-datebox {\n  min-width: 60%;\n}\n.dx-field-value:not(.dx-widget) > .dx-datebox {\n  min-width: 100%;\n}\n.dx-field-value .dx-selectbox-tag-container {\n  white-space: normal;\n}\n.dx-field-value:not(.dx-widget) > .dx-selectbox.dx-selectbox-multiselect.dx-widget {\n  position: relative;\n  width: auto;\n  text-align: left;\n}\n.dx-fieldset.dx-rtl .dx-field-label,\n.dx-rtl .dx-fieldset .dx-field-label {\n  float: right;\n}\n.dx-fieldset.dx-rtl .dx-field-value,\n.dx-rtl .dx-fieldset .dx-field-value {\n  float: left;\n}\n.dx-field {\n  position: relative;\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n  min-height: 26px;\n  padding: 0;\n}\n.dx-field input,\n.dx-field textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-field-value.dx-attention {\n  color: #d9534f;\n  padding: 5px 6px 5px 22px;\n  position: relative;\n}\n.dx-field-value.dx-attention::before {\n  pointer-events: none;\n  font-weight: 700;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  width: 16px;\n  height: 16px;\n  text-align: center;\n  line-height: 16px;\n  font-size: 11px;\n  background-color: #d9534f;\n  color: #fff;\n  content: \"!\";\n  border-radius: 50%;\n  left: 0;\n}\n.dx-field-value-static,\n.dx-field-value:not(.dx-switch):not(.dx-checkbox):not(.dx-button) {\n  width: 60%;\n}\n.dx-field-value.dx-widget,\n.dx-field-value:not(.dx-widget) > .dx-widget {\n  margin: 0;\n}\n.dx-field-value:not(.dx-widget) > .dx-button,\n.dx-field-value:not(.dx-widget) > .dx-checkbox,\n.dx-field-value:not(.dx-widget) > .dx-switch {\n  float: right;\n}\n.dx-field-value.dx-checkbox,\n.dx-field-value:not(.dx-widget) > .dx-checkbox {\n  margin: 5px 0;\n}\n.dx-field-value.dx-switch,\n.dx-field-value:not(.dx-widget) > .dx-switch {\n  margin: 4px 0;\n}\n.dx-field-value.dx-radiogroup,\n.dx-field-value.dx-slider,\n.dx-field-value:not(.dx-widget)>.dx-radiogroup,\n.dx-field-value:not(.dx-widget)>.dx-slider {\n  margin: 3px 0;\n}\n.dx-field-value-static {\n  white-space: normal;\n  padding: 5px 6px;\n}\n.dx-fieldset {\n  margin: 15px 10px;\n  padding: 0;\n}\n.dx-rtl .dx-fieldset .dx-field-value:not(.dx-widget) > .dx-button,\n.dx-rtl .dx-fieldset .dx-field-value:not(.dx-widget) > .dx-checkbox,\n.dx-rtl .dx-fieldset .dx-field-value:not(.dx-widget) > .dx-switch,\n.dx-rtl.dx-fieldset .dx-field-value:not(.dx-widget) > .dx-button,\n.dx-rtl.dx-fieldset .dx-field-value:not(.dx-widget) > .dx-checkbox,\n.dx-rtl.dx-fieldset .dx-field-value:not(.dx-widget) > .dx-switch {\n  float: left;\n}\n.dx-fieldset-header {\n  margin: 0 0 10px;\n  font-weight: 500;\n  font-size: 16px;\n}\n.dx-field {\n  margin: 0 0 5px;\n}\n.dx-field:last-of-type {\n  margin: 0;\n}\n.dx-theme-marker {\n  font-family: \"dx.generic.light.compact\";\n}\n.dx-theme-accent-as-text-color {\n  color: #337ab7!important;\n}\n.dx-theme-text-color {\n  color: #333!important;\n}\n.dx-theme-background-color-as-text-color {\n  color: #fff!important;\n}\n.dx-theme-border-color-as-text-color {\n  color: #ddd!important;\n}\n.dx-theme-accent-as-background-color {\n  background-color: #337ab7!important;\n  fill: #337ab7!important;\n}\n.dx-theme-text-color-as-background-color {\n  background-color: #333!important;\n  fill: #333!important;\n}\n.dx-theme-background-color {\n  background-color: #fff!important;\n  fill: #fff!important;\n}\n.dx-theme-border-color-as-background-color {\n  background-color: #ddd!important;\n  fill: #ddd!important;\n}\n.dx-theme-accent-as-border-color {\n  border-color: #337ab7!important;\n}\n.dx-theme-text-color-as-border-color {\n  border-color: #333!important;\n}\n.dx-theme-background-color-as-border-color {\n  border-color: #fff!important;\n}\n.dx-theme-border-color {\n  border-color: #ddd!important;\n}\n.dx-resizable {\n  display: block;\n  position: relative;\n}\n.dx-resizable-handle {\n  position: absolute;\n  z-index: 50;\n}\n.dx-state-disabled .dx-resizable-handle {\n  cursor: default;\n}\n.dx-resizable-handle-left,\n.dx-resizable-handle-right {\n  top: 0;\n  height: 100%;\n  width: 3px;\n}\n.dx-resizable-handle-left {\n  left: 0;\n  cursor: e-resize;\n}\n.dx-resizable-handle-right {\n  right: 0;\n  cursor: e-resize;\n}\n.dx-resizable-handle-bottom,\n.dx-resizable-handle-top {\n  left: 0;\n  width: 100%;\n  height: 3px;\n}\n.dx-resizable-handle-top {\n  top: 0;\n  cursor: s-resize;\n}\n.dx-resizable-handle-bottom {\n  bottom: 0;\n  cursor: s-resize;\n}\n.dx-resizable-handle-corner-bottom-left,\n.dx-resizable-handle-corner-bottom-right,\n.dx-resizable-handle-corner-top-left,\n.dx-resizable-handle-corner-top-right {\n  width: 6px;\n  height: 6px;\n}\n.dx-resizable-handle-corner-bottom-right,\n.dx-resizable-handle-corner-top-left {\n  cursor: se-resize;\n}\n.dx-resizable-handle-corner-bottom-left,\n.dx-resizable-handle-corner-top-right {\n  cursor: ne-resize;\n}\n.dx-resizable-handle-corner-bottom-left,\n.dx-resizable-handle-corner-top-left {\n  left: 0;\n  border-bottom-right-radius: 100%;\n}\n.dx-resizable-handle-corner-bottom-right,\n.dx-resizable-handle-corner-top-right {\n  right: 0;\n  border-bottom-left-radius: 100%;\n}\n.dx-resizable-handle-corner-top-left,\n.dx-resizable-handle-corner-top-right {\n  top: 0;\n}\n.dx-resizable-handle-corner-bottom-left,\n.dx-resizable-handle-corner-bottom-right {\n  bottom: 0;\n}\n.dx-draggable {\n  left: 0;\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-draggable.dx-state-disabled,\n.dx-state-disabled .dx-draggable {\n  cursor: default;\n}\n.dx-draggable-clone {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 2147483647;\n}\n.dx-clearfix::after,\n.dx-clearfix::before {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.dx-clearfix::after {\n  clear: both;\n}\n.dx-translate-disabled {\n  -webkit-transform: none!important;\n  transform: none!important;\n}\n.dx-hidden-input {\n  position: fixed;\n  top: -10px;\n  left: -10px;\n  width: 0;\n  height: 0;\n}\n.dx-user-select {\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n.dx-hidden,\n.dx-state-invisible {\n  display: none!important;\n}\n.dx-gesture-cover {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n  opacity: 0;\n  z-index: 2147483647;\n}\n.dx-animating {\n  pointer-events: none;\n}\n.dx-fade-animation.dx-enter,\n.dx-fade-animation.dx-leave.dx-leave-active,\n.dx-no-direction.dx-enter,\n.dx-no-direction.dx-leave.dx-leave-active {\n  opacity: 0;\n}\n.dx-fade-animation.dx-enter.dx-enter-active,\n.dx-fade-animation.dx-leave,\n.dx-no-direction.dx-enter.dx-enter-active,\n.dx-no-direction.dx-leave {\n  opacity: 1;\n}\n.dx-overflow-animation.dx-enter.dx-forward {\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n  z-index: 2;\n}\n.dx-overflow-animation.dx-enter.dx-enter-active.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  z-index: 2;\n}\n.dx-overflow-animation.dx-enter.dx-backward,\n.dx-overflow-animation.dx-enter.dx-enter-active.dx-backward,\n.dx-overflow-animation.dx-leave.dx-forward,\n.dx-overflow-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  z-index: 1;\n}\n.dx-overflow-animation.dx-leave.dx-backward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  z-index: 2;\n}\n.dx-overflow-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n  z-index: 2;\n}\n.dx-slide-animation.dx-enter.dx-forward {\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n}\n.dx-slide-animation.dx-enter.dx-enter-active.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-slide-animation.dx-enter.dx-backward {\n  -webkit-transform: translate3d(-100%,0,0);\n  transform: translate3d(-100%,0,0);\n}\n.dx-slide-animation.dx-enter.dx-enter-active.dx-backward,\n.dx-slide-animation.dx-leave.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-slide-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: translate3d(-100%,0,0);\n  transform: translate3d(-100%,0,0);\n}\n.dx-slide-animation.dx-leave.dx-backward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-slide-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n}\n.dx-opendoor-animation.dx-enter.dx-forward {\n  -webkit-transform: matrix3d(.71,0,.71,.001,0,1,0,0,-.71,0,.71,0,0,0,0,1);\n  transform: matrix3d(.71,0,.71,.001,0,1,0,0,-.71,0,.71,0,0,0,0,1);\n  -webkit-transform-origin: center left 0;\n  transform-origin: center left 0;\n  opacity: 0;\n}\n.dx-opendoor-animation.dx-enter.dx-enter-active.dx-backward,\n.dx-opendoor-animation.dx-enter.dx-enter-active.dx-forward {\n  -webkit-transform: none;\n  transform: none;\n  opacity: 1;\n}\n.dx-opendoor-animation.dx-leave.dx-backward,\n.dx-opendoor-animation.dx-leave.dx-forward {\n  -webkit-transform: none;\n  transform: none;\n  -webkit-transform-origin: center left 0;\n  transform-origin: center left 0;\n  opacity: 1;\n}\n.dx-opendoor-animation.dx-enter.dx-backward,\n.dx-opendoor-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: matrix3d(.5,0,.87,-.001,0,1,0,0,-.87,0,.5,0,0,0,0,1);\n  transform: matrix3d(.5,0,.87,-.001,0,1,0,0,-.87,0,.5,0,0,0,0,1);\n  -webkit-transform-origin: center left 0;\n  transform-origin: center left 0;\n  opacity: 0;\n}\n.dx-opendoor-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: matrix3d(.71,0,.71,.001,0,1,0,0,-.71,0,.71,0,0,0,0,1);\n  transform: matrix3d(.71,0,.71,.001,0,1,0,0,-.71,0,.71,0,0,0,0,1);\n  opacity: 0;\n}\n.dx-win-pop-animation.dx-enter.dx-forward {\n  -webkit-transform: scale(.5);\n  transform: scale(.5);\n  opacity: 0;\n}\n.dx-win-pop-animation.dx-enter.dx-enter-active.dx-forward {\n  -webkit-transform: scale(1);\n  transform: scale(1);\n  opacity: 1;\n}\n.dx-win-pop-animation.dx-enter.dx-backward,\n.dx-win-pop-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: scale(1.5);\n  transform: scale(1.5);\n  opacity: 0;\n}\n.dx-win-pop-animation.dx-enter.dx-enter-active.dx-backward {\n  -webkit-transform: scale(1);\n  transform: scale(1);\n  opacity: 1;\n}\n.dx-win-pop-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: scale(.5);\n  transform: scale(.5);\n  opacity: 0;\n}\n.dx-android-pop-animation.dx-enter.dx-forward,\n.dx-android-pop-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: translate3d(0,150px,0);\n  transform: translate3d(0,150px,0);\n  opacity: 0;\n}\n.dx-android-pop-animation.dx-enter.dx-enter-active.dx-forward,\n.dx-android-pop-animation.dx-leave.dx-backward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  opacity: 1;\n}\n.dx-android-pop-animation.dx-enter.dx-forward,\n.dx-android-pop-animation.dx-leave.dx-backward {\n  z-index: 1;\n}\n.dx-ios7-slide-animation.dx-enter.dx-forward {\n  z-index: 2;\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n}\n.dx-ios7-slide-animation.dx-enter.dx-enter-active.dx-forward {\n  z-index: 2;\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-ios7-slide-animation.dx-enter.dx-backward {\n  -webkit-transform: translate3d(-20%,0,0);\n  transform: translate3d(-20%,0,0);\n  z-index: 1;\n}\n.dx-ios7-slide-animation.dx-enter.dx-enter-active.dx-backward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  z-index: 1;\n}\n.dx-ios7-slide-animation.dx-leave.dx-forward {\n  z-index: 1;\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-ios7-slide-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: translate3d(-20%,0,0);\n  transform: translate3d(-20%,0,0);\n  z-index: 1;\n}\n.dx-ios7-slide-animation.dx-leave.dx-backward {\n  z-index: 2;\n}\n.dx-ios7-slide-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: translate3d(100%,0,0);\n  transform: translate3d(100%,0,0);\n  z-index: 2;\n}\n.dx-ios7-toolbar-animation.dx-enter.dx-forward {\n  -webkit-transform: translate3d(40%,0,0);\n  transform: translate3d(40%,0,0);\n  opacity: 0;\n  z-index: 2;\n}\n.dx-ios7-toolbar-animation.dx-enter.dx-enter-active.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  opacity: 1;\n  z-index: 2;\n}\n.dx-ios7-toolbar-animation.dx-enter.dx-backward {\n  -webkit-transform: translate3d(-40%,0,0);\n  transform: translate3d(-40%,0,0);\n  opacity: 0;\n  z-index: 1;\n}\n.dx-ios7-toolbar-animation.dx-enter.dx-enter-active.dx-backward,\n.dx-ios7-toolbar-animation.dx-leave.dx-forward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  opacity: 1;\n  z-index: 1;\n}\n.dx-ios7-toolbar-animation.dx-leave.dx-leave-active.dx-forward {\n  -webkit-transform: translate3d(-40%,0,0);\n  transform: translate3d(-40%,0,0);\n  opacity: 0;\n  z-index: 1;\n}\n.dx-ios7-toolbar-animation.dx-leave.dx-backward {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  opacity: 1;\n  z-index: 2;\n}\n.dx-ios7-toolbar-animation.dx-leave.dx-leave-active.dx-backward {\n  -webkit-transform: translate3d(40%,0,0);\n  transform: translate3d(40%,0,0);\n  opacity: 0;\n  z-index: 2;\n}\n.dx-drop-animation.dx-enter,\n.dx-drop-animation.dx-leave.dx-leave-active {\n  -webkit-transform: translate3d(0,-120%,0);\n  transform: translate3d(0,-120%,0);\n}\n.dx-drop-animation.dx-enter.dx-enter-active,\n.dx-drop-animation.dx-leave {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n}\n.dx-3d-drop-animation.dx-enter,\n.dx-3d-drop-animation.dx-leave.dx-leave-active {\n  -webkit-transform: rotate3d(1,0,0,10deg) translate3d(0,-10px,0) scale3d(1.1,1.1,1.1);\n  transform: rotate3d(1,0,0,10deg) translate3d(0,-10px,0) scale3d(1.1,1.1,1.1);\n  opacity: 0;\n}\n.dx-3d-drop-animation.dx-enter.dx-enter-active,\n.dx-3d-drop-animation.dx-leave {\n  -webkit-transform: rotate3d(1,0,0,0) translate3d(0,0,0) scale3d(1,1,1);\n  transform: rotate3d(1,0,0,0) translate3d(0,0,0) scale3d(1,1,1);\n  opacity: 1;\n}\n.dx-fade-drop-animation.dx-enter,\n.dx-fade-drop-animation.dx-leave.dx-leave-active {\n  -webkit-transform: translate3d(0,-10px,0) scale3d(1.1,1.1,1.1);\n  transform: translate3d(0,-10px,0) scale3d(1.1,1.1,1.1);\n  opacity: 0;\n}\n.dx-fade-drop-animation.dx-enter.dx-enter-active,\n.dx-fade-drop-animation.dx-leave {\n  -webkit-transform: translate3d(0,0,0) scale3d(1,1,1);\n  transform: translate3d(0,0,0) scale3d(1,1,1);\n  opacity: 1;\n}\n.dx-fade-rise-animation.dx-enter,\n.dx-fade-rise-animation.dx-leave.dx-leave-active {\n  -webkit-transform: translate3d(0,10px,0) scale3d(1.1,1.1,1.1);\n  transform: translate3d(0,10px,0) scale3d(1.1,1.1,1.1);\n  opacity: 0;\n}\n.dx-fade-rise-animation.dx-enter.dx-enter-active,\n.dx-fade-rise-animation.dx-leave {\n  -webkit-transform: translate3d(0,0,0) scale3d(1,1,1);\n  transform: translate3d(0,0,0) scale3d(1,1,1);\n  opacity: 1;\n}\n.dx-fade-slide-animation.dx-enter,\n.dx-fade-slide-animation.dx-leave.dx-leave-active {\n  -webkit-transform: translate3d(40%,0,0);\n  transform: translate3d(40%,0,0);\n  opacity: 0;\n}\n.dx-fade-slide-animation.dx-enter.dx-enter-active,\n.dx-fade-slide-animation.dx-leave {\n  -webkit-transform: translate3d(0,0,0);\n  transform: translate3d(0,0,0);\n  opacity: 1;\n}\n.dx-fade-zoom-animation.dx-enter,\n.dx-fade-zoom-animation.dx-leave.dx-leave-active {\n  -webkit-transform: scale3d(.3,.3,.3);\n  transform: scale3d(.3,.3,.3);\n  opacity: 0;\n}\n.dx-fade-zoom-animation.dx-enter.dx-enter-active,\n.dx-fade-zoom-animation.dx-leave {\n  -webkit-transform: scale3d(1,1,1);\n  transform: scale3d(1,1,1);\n  opacity: 1;\n}\n.dx-box-item-content {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  max-width: 100%;\n  font-size: 12px;\n}\n.dx-button-disabled {\n  cursor: default;\n}\n.dx-button {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  cursor: pointer;\n  text-align: center;\n  vertical-align: middle;\n  max-width: 100%;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-user-drag: none;\n}\n.dx-button .dx-icon {\n  -webkit-user-drag: none;\n  display: inherit;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  vertical-align: middle;\n  background-size: contain;\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button a {\n  text-decoration: none;\n}\n.dx-button-back .dx-button-text {\n  display: none;\n}\n.dx-button-content {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  height: 100%;\n  max-height: 100%;\n  display: inherit;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  vertical-align: middle;\n}\n.dx-button-has-text .dx-button-content,\n.dx-button-has-text .dx-button-content .dx-button-text {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-button-content > .dx-inkripple {\n  display: none;\n}\n.dx-button-link {\n  text-decoration: none;\n}\n.dx-button-submit-input {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  height: 0;\n  width: 0;\n  font-size: 0;\n  opacity: 0;\n}\n.dx-state-disabled .dx-button,\n.dx-state-disabled.dx-button {\n  cursor: default;\n}\n.dx-button-content,\n.dx-button-text {\n  line-height: 1.33334;\n}\n.dx-button .dx-button-content {\n  padding: 5px;\n}\n.dx-button .dx-icon.dx-icon-right,\n.dx-rtl .dx-button .dx-icon,\n.dx-rtl.dx-button .dx-icon {\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-rtl .dx-button .dx-icon.dx-icon-right,\n.dx-rtl.dx-button .dx-icon.dx-icon-right {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button-has-icon .dx-button-content {\n  padding: 5px;\n}\n.dx-button-has-icon .dx-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button-has-icon .dx-icon.dx-icon-right,\n.dx-rtl .dx-button-has-icon .dx-icon,\n.dx-rtl.dx-button-has-icon .dx-icon {\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-rtl .dx-button-has-icon .dx-icon.dx-icon-right,\n.dx-rtl.dx-button-has-icon .dx-icon.dx-icon-right {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button-has-text .dx-button-content {\n  padding: 4px 10px;\n}\n.dx-button-has-text .dx-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-button-has-text .dx-icon.dx-icon-right,\n.dx-rtl .dx-button-has-text .dx-icon,\n.dx-rtl.dx-button-has-text .dx-icon {\n  margin-left: 7px;\n  margin-right: 0;\n}\n.dx-rtl .dx-button-has-text .dx-icon.dx-icon-right,\n.dx-rtl.dx-button-has-text .dx-icon.dx-icon-right {\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-button-back .dx-button-content {\n  padding: 5px;\n}\n.dx-button-back .dx-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button-back .dx-icon.dx-icon-right,\n.dx-rtl .dx-button-back .dx-icon,\n.dx-rtl.dx-button-back .dx-icon {\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-rtl .dx-button-back .dx-icon.dx-icon-right,\n.dx-rtl.dx-button-back .dx-icon.dx-icon-right {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-button {\n  border-radius: 4px;\n  border-width: 1px;\n  border-style: solid;\n}\n.dx-state-disabled .dx-button .dx-icon,\n.dx-state-disabled.dx-button .dx-icon {\n  opacity: .6;\n}\n.dx-state-disabled .dx-button .dx-button-text,\n.dx-state-disabled.dx-button .dx-button-text {\n  opacity: .5;\n}\n.dx-button-mode-contained {\n  background-color: #fff;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-button-mode-contained .dx-icon {\n  color: #333;\n}\n.dx-button-mode-contained.dx-state-hover {\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.dx-button-mode-contained.dx-state-focused {\n  background-color: #ebebeb;\n  border-color: #ddd;\n}\n.dx-button-mode-contained.dx-state-active {\n  background-color: #c2c2c2;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-button-mode-contained.dx-button-danger {\n  background-color: #d9534f;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-danger .dx-icon {\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-danger.dx-state-hover {\n  background-color: #ce312c;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-danger.dx-state-focused {\n  background-color: #c12e2a;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-danger.dx-state-active {\n  background-color: #932320;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-success {\n  background-color: #5cb85c;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-success .dx-icon {\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-success.dx-state-hover {\n  background-color: #46a046;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-success.dx-state-focused {\n  background-color: #419641;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-success.dx-state-active {\n  background-color: #306f30;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-default {\n  background-color: #337ab7;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-default .dx-icon {\n  color: #fff;\n}\n.dx-button-mode-contained.dx-button-default.dx-state-hover {\n  background-color: #296293;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-default.dx-state-focused {\n  background-color: #265a87;\n  border-color: transparent;\n}\n.dx-button-mode-contained.dx-button-default.dx-state-active {\n  background-color: #193d5b;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-button-mode-outlined {\n  background-color: transparent;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-button-mode-outlined .dx-icon {\n  color: #333;\n}\n.dx-button-mode-outlined.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  border-color: #ddd;\n}\n.dx-button-mode-outlined.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n  border-color: #ddd;\n}\n.dx-button-mode-outlined.dx-state-active {\n  background-color: rgba(0,0,0,.24);\n  border-color: #ddd;\n  color: #333;\n}\n.dx-button-mode-outlined.dx-button-danger {\n  background-color: transparent;\n  border-color: #d43f3a;\n  color: #d43f3a;\n}\n.dx-button-mode-outlined.dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-button-mode-outlined.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n  border-color: #d43f3a;\n}\n.dx-button-mode-outlined.dx-button-danger.dx-state-active {\n  background-color: rgba(212,63,58,.4);\n  border-color: #d43f3a;\n  color: #d43f3a;\n}\n.dx-button-mode-outlined.dx-button-success {\n  background-color: transparent;\n  border-color: #4cae4c;\n  color: #4cae4c;\n}\n.dx-button-mode-outlined.dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-button-mode-outlined.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n  border-color: #4cae4c;\n}\n.dx-button-mode-outlined.dx-button-success.dx-state-active {\n  background-color: rgba(76,174,76,.4);\n  border-color: #4cae4c;\n  color: #4cae4c;\n}\n.dx-button-mode-outlined.dx-button-default {\n  background-color: transparent;\n  border-color: #2d6da3;\n  color: #2d6da3;\n}\n.dx-button-mode-outlined.dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-button-mode-outlined.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n  border-color: #2d6da3;\n}\n.dx-button-mode-outlined.dx-button-default.dx-state-active {\n  background-color: rgba(45,109,163,.4);\n  border-color: #2d6da3;\n  color: #2d6da3;\n}\n.dx-button-mode-text {\n  background-color: transparent;\n  border-color: transparent;\n  color: #333;\n}\n.dx-button-mode-text .dx-icon {\n  color: #333;\n}\n.dx-button-mode-text.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  border-color: transparent;\n}\n.dx-button-mode-text.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n  border-color: transparent;\n}\n.dx-button-mode-text.dx-state-active {\n  background-color: rgba(0,0,0,.24);\n  border-color: transparent;\n  color: #333;\n}\n.dx-button-mode-text.dx-button-danger {\n  background-color: transparent;\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-button-mode-text.dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-button-mode-text.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n  border-color: transparent;\n}\n.dx-button-mode-text.dx-button-danger.dx-state-active {\n  background-color: rgba(212,63,58,.4);\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-button-mode-text.dx-button-success {\n  background-color: transparent;\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-button-mode-text.dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-button-mode-text.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n  border-color: transparent;\n}\n.dx-button-mode-text.dx-button-success.dx-state-active {\n  background-color: rgba(76,174,76,.4);\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-button-mode-text.dx-button-default {\n  background-color: transparent;\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-button-mode-text.dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-button-mode-text.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n  border-color: transparent;\n}\n.dx-button-mode-text.dx-button-default.dx-state-active {\n  background-color: rgba(45,109,163,.4);\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-button-back.dx-state-hover .dx-button-content,\n.dx-button-normal.dx-state-hover .dx-button-content {\n  background-color: transparent;\n  border-radius: 4px;\n}\n.dx-buttongroup {\n  display: inline-block;\n}\n.dx-buttongroup-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n  height: 100%;\n  width: 100%;\n}\n.dx-buttongroup-item {\n  -webkit-box-flex: 0;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n}\n.dx-buttongroup-item.dx-button-mode-contained,\n.dx-buttongroup-item.dx-button-mode-outlined {\n  border-left-width: 0;\n}\n.dx-buttongroup-item.dx-button-mode-contained.dx-button,\n.dx-buttongroup-item.dx-button-mode-outlined.dx-button {\n  border-radius: 0;\n}\n.dx-buttongroup-item.dx-button-mode-text {\n  margin-left: 1px;\n}\n.dx-buttongroup-item-has-width {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n.dx-button-mode-contained.dx-buttongroup-item,\n.dx-button-mode-outlined.dx-buttongroup-item {\n  padding-left: 1px;\n  padding-right: 1px;\n}\n.dx-button-mode-contained.dx-buttongroup-item.dx-state-hover .dx-button-content,\n.dx-button-mode-outlined.dx-buttongroup-item.dx-state-hover .dx-button-content {\n  border-radius: 0;\n}\n.dx-button-mode-contained.dx-buttongroup-first-item,\n.dx-button-mode-outlined.dx-buttongroup-first-item {\n  padding-left: 0;\n  border-left-width: 1px;\n}\n.dx-button-mode-contained.dx-buttongroup-first-item.dx-button,\n.dx-button-mode-contained.dx-buttongroup-first-item.dx-state-hover .dx-button-content,\n.dx-button-mode-outlined.dx-buttongroup-first-item.dx-button,\n.dx-button-mode-outlined.dx-buttongroup-first-item.dx-state-hover .dx-button-content {\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.dx-button-mode-contained.dx-buttongroup-last-item,\n.dx-button-mode-outlined.dx-buttongroup-last-item {\n  padding-right: 0;\n}\n.dx-button-mode-contained.dx-buttongroup-last-item.dx-button,\n.dx-button-mode-contained.dx-buttongroup-last-item.dx-state-hover .dx-button-content,\n.dx-button-mode-outlined.dx-buttongroup-last-item.dx-button,\n.dx-button-mode-outlined.dx-buttongroup-last-item.dx-state-hover .dx-button-content {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.dx-button-mode-text.dx-buttongroup-first-item {\n  margin-left: 0;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-state-disabled,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-state-disabled {\n  opacity: 1;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-state-disabled .dx-button-content,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-state-disabled .dx-button-content {\n  opacity: .6;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal {\n  background-color: #fff;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-state-hover {\n  background-color: #f5f5f5;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-state-focused {\n  background-color: #ebebeb;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-item-selected {\n  background-color: #d4d4d4;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-item-selected.dx-state-hover {\n  background-color: #e3e3e3;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-item-selected.dx-state-focused {\n  background-color: #dbdbdb;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-item-selected,\n.dx-buttongroup-item.dx-button.dx-button-mode-contained.dx-button-normal.dx-item-selected .dx-icon {\n  color: #333;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected) {\n  background-color: #fff;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-default {\n  border-color: #2d6da3;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-default.dx-state-hover {\n  background-color: #f5f5f5;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-default.dx-state-focused {\n  background-color: #ebebeb;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-default,\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-success {\n  border-color: #4cae4c;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-success.dx-state-hover {\n  background-color: #f5f5f5;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-success.dx-state-focused {\n  background-color: #ebebeb;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-success,\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-danger {\n  border-color: #d43f3a;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-danger.dx-state-hover {\n  background-color: #f5f5f5;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-danger.dx-state-focused {\n  background-color: #ebebeb;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-danger,\n.dx-buttongroup-item.dx-button.dx-button-mode-contained:not(.dx-item-selected).dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-normal,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-normal {\n  background-color: rgba(0,0,0,.17);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-normal.dx-state-hover,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-normal.dx-state-hover {\n  background-color: rgba(0,0,0,.11);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-normal.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-normal.dx-state-focused {\n  background-color: rgba(0,0,0,.14);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-normal,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-normal .dx-icon,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-normal,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-normal .dx-icon {\n  color: #333;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-success,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-success {\n  background-color: rgba(92,184,92,.3);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-success.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-success.dx-state-hover,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-success.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-success.dx-state-hover {\n  background-color: rgba(92,184,92,.2);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-default,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-default {\n  background-color: rgba(51,122,183,.3);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-default.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-default.dx-state-hover,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-default.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-default.dx-state-hover {\n  background-color: rgba(51,122,183,.2);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-danger,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-danger {\n  background-color: rgba(217,83,79,.3);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-danger.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-danger.dx-state-hover,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-danger.dx-state-focused,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-danger.dx-state-hover {\n  background-color: rgba(217,83,79,.2);\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-success,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-success .dx-icon,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-success,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-success .dx-icon {\n  color: #5cb85c;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-default,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-default .dx-icon,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-default,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-default .dx-icon {\n  color: #337ab7;\n}\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-danger,\n.dx-buttongroup-item.dx-button.dx-button-mode-outlined.dx-item-selected.dx-button-danger .dx-icon,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-danger,\n.dx-buttongroup-item.dx-button.dx-button-mode-text.dx-item-selected.dx-button-danger .dx-icon {\n  color: #d9534f;\n}\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-first-item,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-first-item {\n  border-left-width: 0;\n  padding-left: 1px;\n  padding-right: 0;\n}\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-first-item.dx-button,\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-first-item.dx-state-hover .dx-button-content,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-first-item.dx-button,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-first-item.dx-state-hover .dx-button-content {\n  border-radius: 0 4px 4px 0;\n}\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-last-item,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-last-item {\n  border-left-width: 1px;\n  padding-right: 1px;\n  padding-left: 0;\n}\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-last-item.dx-button,\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-last-item.dx-state-hover .dx-button-content,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-last-item.dx-button,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-last-item.dx-state-hover .dx-button-content {\n  border-radius: 4px 0 0 4px;\n}\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-last-item.dx-buttongroup-first-item.dx-button,\n.dx-rtl.dx-button-mode-contained.dx-buttongroup-last-item.dx-buttongroup-first-item.dx-state-hover .dx-button-content,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-last-item.dx-buttongroup-first-item.dx-button,\n.dx-rtl.dx-button-mode-outlined.dx-buttongroup-last-item.dx-buttongroup-first-item.dx-state-hover .dx-button-content {\n  border-radius: 4px;\n}\n.dx-rtl.dx-button-mode-text.dx-buttongroup-first-item {\n  margin-left: 1px;\n}\n.dx-rtl.dx-button-mode-text.dx-buttongroup-last-item {\n  margin-left: 0;\n}\n.dx-scrollable-scrollbar-simulated {\n  position: relative;\n}\n.dx-scrollable {\n  display: block;\n  height: 100%;\n  min-height: 0;\n}\n.dx-scrollable:focus {\n  outline: 0;\n}\n.dx-scrollable-native {\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n  -ms-scroll-snap-type: proximity;\n}\n.dx-scrollable-native.dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-scrollbar {\n  display: none;\n}\n.dx-scrollable-native.dx-scrollable-scrollbar-simulated .dx-scrollable-scrollbar {\n  display: block;\n}\n.dx-scrollable-native > div.dx-scrollable-wrapper > .dx-scrollable-container,\n.dx-scrollable-native.dx-scrollable-wrapper > .dx-scrollable-container {\n  -webkit-overflow-scrolling: touch;\n  position: relative;\n  height: 100%;\n}\n.dx-scrollable-native.dx-scrollable-vertical,\n.dx-scrollable-native.dx-scrollable-vertical > .dx-scrollable-wrapper > .dx-scrollable-container {\n  -ms-touch-action: pan-y;\n  touch-action: pan-y;\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.dx-scrollable-native.dx-scrollable-horizontal,\n.dx-scrollable-native.dx-scrollable-horizontal > .dx-scrollable-wrapper > .dx-scrollable-container {\n  -ms-touch-action: pan-x;\n  touch-action: pan-x;\n  float: none;\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.dx-scrollable-native.dx-scrollable-both,\n.dx-scrollable-native.dx-scrollable-both > .dx-scrollable-wrapper > .dx-scrollable-container {\n  -ms-touch-action: pan-y pan-x;\n  touch-action: pan-y pan-x;\n  float: none;\n  overflow-x: auto;\n  overflow-y: auto;\n}\n.dx-scrollable-native.dx-scrollable-disabled,\n.dx-scrollable-native.dx-scrollable-disabled .dx-scrollable-container {\n  -ms-touch-action: auto;\n  touch-action: auto;\n}\n.dx-scrollable-native.dx-scrollable-scrollbars-hidden > .dx-scrollable-wrapper > .dx-scrollable-container {\n  overflow: hidden;\n}\n.dx-scrollable-native.dx-scrollable-native-ios .dx-scrollable-content {\n  min-height: 101%;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-scrollable-native.dx-scrollable-native-ios.dx-scrollable-horizontal .dx-scrollable-content {\n  min-height: 0;\n  padding: 0;\n}\n.dx-scrollable-native.dx-scrollable-native-generic {\n  -ms-overflow-style: auto;\n  overflow: hidden;\n}\n.dx-scrollable-native.dx-scrollable-native-generic .dx-scrollable-content {\n  height: auto;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollable-content {\n  -webkit-transform: none;\n  transform: none;\n  z-index: 0;\n}\n.dx-scrollable-scrollbar-simulated,\n.dx-scrollable-scrollbar-simulated .dx-scrollable-container {\n  scrollbar-width: none;\n  -ms-overflow-style: none;\n}\n.dx-scrollable-scrollbar-simulated .dx-scrollable-container ::-webkit-scrollbar,\n.dx-scrollable-scrollbar-simulated ::-webkit-scrollbar {\n  display: none;\n}\n.dx-scrollable-container {\n  -webkit-tap-highlight-color: transparent;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n}\n.dx-scrollable-container:focus {\n  outline: 0;\n}\n.dx-scrollable-wrapper {\n  position: relative;\n  width: 100%;\n  height: 100%;\n}\n.dx-scrollable-content {\n  position: relative;\n  min-height: 100%;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-scrollable-content::after {\n  display: block;\n  content: \"\";\n  clear: both;\n}\n.dx-scrollable-both .dx-scrollable-content,\n.dx-scrollable-horizontal .dx-scrollable-content {\n  display: block;\n  float: left;\n  min-width: 100%;\n}\n.dx-scrollable-scrollbar {\n  position: absolute;\n  pointer-events: auto;\n}\n.dx-scrollbar-vertical {\n  top: 0;\n  right: 0;\n  height: 100%;\n}\n.dx-scrollbar-horizontal {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n}\n.dx-scrollable-scroll {\n  position: relative;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transform: translate(0,0);\n  padding: 2px;\n  background-color: transparent;\n  opacity: 1;\n  overflow: hidden;\n  -webkit-transition: opacity linear;\n  transition: opacity linear;\n}\n.dx-scrollable-scroll.dx-state-invisible {\n  display: block!important;\n  background-color: rgba(0,0,0,0);\n  opacity: 0;\n  -webkit-transition: opacity .5s linear 1s;\n  transition: opacity .5s linear 1s;\n}\n.dx-rtl .dx-scrollable,\n.dx-rtl .dx-scrollable .dx-scrollable-container,\n.dx-rtl .dx-scrollable .dx-scrollable-content,\n.dx-rtl.dx-scrollable,\n.dx-rtl.dx-scrollable .dx-scrollable-container,\n.dx-rtl.dx-scrollable .dx-scrollable-content {\n  direction: ltr;\n}\n.dx-scrollable-native.dx-rtl .dx-scrollable .dx-scrollable-container,\n.dx-scrollable-native.dx-rtl .dx-scrollable .dx-scrollable-content,\n.dx-scrollable-native.dx-rtl.dx-scrollable .dx-scrollable-container,\n.dx-scrollable-native.dx-rtl.dx-scrollable .dx-scrollable-content {\n  direction: rtl;\n}\n.dx-scrollable-native.dx-rtl .dx-scrollable .dx-scrollable-content,\n.dx-scrollable-native.dx-rtl.dx-scrollable .dx-scrollable-content {\n  float: right;\n}\n.dx-rtl .dx-scrollable .dx-scrollable-content > *,\n.dx-rtl.dx-scrollable .dx-scrollable-content > * {\n  direction: rtl;\n}\n.dx-rtl .dx-scrollable .dx-scrollable-scrollbar.dx-scrollbar-vertical,\n.dx-rtl.dx-scrollable .dx-scrollable-scrollbar.dx-scrollbar-vertical {\n  right: auto;\n  left: 0;\n}\n.dx-rtl .dx-scrollable .dx-scrollable-scrollbar.dx-scrollbar-horizontal,\n.dx-rtl.dx-scrollable .dx-scrollable-scrollbar.dx-scrollbar-horizontal {\n  direction: ltr;\n}\n.dx-scrollable-simulated .dx-scrollable-content {\n  overflow-anchor: none;\n}\n.dx-scrollable-simulated.dx-scrollable-disabled .dx-scrollable-scrollbar {\n  pointer-events: none;\n}\n.dx-scrollable-content {\n  -webkit-transform: none;\n}\n.dx-scrollable-scroll-content {\n  width: 100%;\n  height: 100%;\n  background-color: rgba(191,191,191,.7);\n  -webkit-box-shadow: 0 0 0 1px transparent;\n  box-shadow: 0 0 0 1px transparent;\n}\n.dx-scrollbar-hoverable {\n  background-color: transparent;\n}\n.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active,\n.dx-scrollbar-hoverable.dx-state-hover {\n  background-color: rgba(191,191,191,.2);\n}\n.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active .dx-scrollable-scroll-content {\n  background-color: #bfbfbf;\n}\n.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible {\n  opacity: 1;\n}\n.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible .dx-scrollable-scroll-content {\n  background-color: rgba(0,0,0,0);\n  -webkit-box-shadow: 0 0 0 1px transparent;\n  box-shadow: 0 0 0 1px transparent;\n}\n.dx-scrollbar-vertical .dx-scrollable-scroll {\n  float: right;\n  width: 8px;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable {\n  width: 8px;\n  -webkit-transition: width .2s linear .15s,background-color .2s linear .15s;\n  transition: width .2s linear .15s,background-color .2s linear .15s;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll {\n  -webkit-transition: background-color .5s linear 1s,width .2s linear 150ms;\n  transition: background-color .5s linear 1s,width .2s linear 150ms;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll .dx-scrollable-scroll-content {\n  -webkit-transition: background-color .15s linear .15s,-webkit-box-shadow .15s linear .15s;\n  transition: box-shadow .15s linear .15s,background-color .15s linear .15s,-webkit-box-shadow .15s linear .15s;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible {\n  -webkit-transition: background-color .5s linear 1s,width .2s linear .15s;\n  transition: background-color .5s linear 1s,width .2s linear .15s;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible .dx-scrollable-scroll-content {\n  -webkit-transition: background-color .5s linear 1s,-webkit-box-shadow .5s linear 1s;\n  transition: box-shadow .5s linear 1s,background-color .5s linear 1s,-webkit-box-shadow .5s linear 1s;\n}\n.dx-scrollbar-vertical.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active,\n.dx-scrollbar-vertical.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active .dx-scrollable-scroll,\n.dx-scrollbar-vertical.dx-scrollbar-hoverable.dx-state-hover,\n.dx-scrollbar-vertical.dx-scrollbar-hoverable.dx-state-hover .dx-scrollable-scroll {\n  width: 15px;\n}\n.dx-scrollbar-horizontal .dx-scrollable-scroll {\n  height: 8px;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable {\n  height: 8px;\n  -webkit-transition: height .2s linear .15s,background-color .2s linear .15s;\n  transition: height .2s linear .15s,background-color .2s linear .15s;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable .dx-scrollable-scroll {\n  -webkit-transition: background-color .5s linear 1s,height .2s linear .15s;\n  transition: background-color .5s linear 1s,height .2s linear .15s;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable .dx-scrollable-scroll .dx-scrollable-scroll-content {\n  -webkit-transition: background-color .15s linear .15s,-webkit-box-shadow .15s linear .15s;\n  transition: box-shadow .15s linear .15s,background-color .15s linear .15s,-webkit-box-shadow .15s linear .15s;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible {\n  -webkit-transition: background-color .5s linear 1s,height .2s linear .15s;\n  transition: background-color .5s linear 1s,height .2s linear .15s;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable .dx-scrollable-scroll.dx-state-invisible .dx-scrollable-scroll-content {\n  -webkit-transition: background-color .5s linear 1s,-webkit-box-shadow .5s linear 1s;\n  transition: box-shadow .5s linear 1s,background-color .5s linear 1s,-webkit-box-shadow .5s linear 1s;\n}\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active,\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable.dx-scrollable-scrollbar-active .dx-scrollable-scroll,\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable.dx-state-hover,\n.dx-scrollbar-horizontal.dx-scrollbar-hoverable.dx-state-hover .dx-scrollable-scroll {\n  height: 15px;\n}\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content,\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-vertical > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content {\n  padding-right: 8px;\n}\n.dx-rtl .dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content,\n.dx-rtl .dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-vertical > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content,\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both.dx-rtl > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content,\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-vertical.dx-rtl > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content {\n  padding-right: 0;\n  padding-left: 8px;\n}\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content,\n.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-horizontal > .dx-scrollable-wrapper > .dx-scrollable-container > .dx-scrollable-content {\n  padding-bottom: 8px;\n}\n.dx-rtl .dx-scrollable .dx-scrollable-scroll,\n.dx-rtl.dx-scrollable .dx-scrollable-scroll {\n  float: left;\n}\n.dx-scrollable-native.dx-scrollable-native-generic .dx-scrollview-top-pocket {\n  position: absolute;\n  display: none;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-top-pocket {\n  width: 40px;\n  height: 40px;\n  left: 50%;\n  position: absolute;\n  z-index: 1;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down {\n  background-image: none;\n  position: static;\n  height: 100%;\n  width: 100%;\n  left: -50%;\n  margin-left: -20px;\n  padding: 0;\n  border-radius: 50%;\n  background-color: #fff;\n  -webkit-box-shadow: 0 1px 4px 0 rgba(0,0,0,.37);\n  box-shadow: 0 1px 4px 0 rgba(0,0,0,.37);\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down.dx-scrollview-pull-down-loading {\n  -webkit-transition: -webkit-transform .1s linear;\n  transition: transform .1s linear;\n  transition: transform .1s linear,-webkit-transform .1s linear;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down .dx-scrollview-pull-down-indicator {\n  position: relative;\n  top: 0;\n  padding: 4px;\n  margin: 0;\n  height: 100%;\n  width: 100%;\n  float: left;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down .dx-scrollview-pull-down-indicator .dx-loadindicator {\n  float: left;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-icon-pulldown {\n  width: 100%;\n  height: 100%;\n  padding: 8px;\n  font-size: 24px;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transition: opacity .2s;\n  transition: opacity .2s;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down-loading.dx-scrollview-pull-down {\n  -webkit-transition: top .2s ease-out;\n  transition: top .2s ease-out;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down-image {\n  position: absolute;\n  margin: 0;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  background-size: contain;\n  -webkit-transition: opacity .2s;\n  transition: opacity .2s;\n}\n.dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down-loading .dx-icon-pulldown {\n  display: none;\n}\n.dx-scrollable-native.dx-scrollable-native-ios .dx-scrollview-top-pocket {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  overflow-y: auto;\n  -webkit-transition: -webkit-transform .4s;\n  transition: transform .4s;\n  transition: transform .4s,-webkit-transform .4s;\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n}\n.dx-scrollable-native.dx-scrollable-native-ios .dx-scrollview-content {\n  -webkit-transition: -webkit-transform .4s;\n  transition: transform .4s;\n  transition: transform .4s,-webkit-transform .4s;\n  -webkit-transform: none;\n  transform: none;\n}\n.dx-scrollable-native.dx-scrollable-native-win8.dx-scrollable-disabled {\n  overflow-y: auto;\n}\n.dx-scrollable-native.dx-scrollable-native-win8.dx-scrollable-disabled .dx-scrollable-container {\n  overflow-y: auto;\n  overflow-x: hidden;\n}\n.dx-scrollable-native.dx-scrollable-native-win8.dx-scrollable-disabled .dx-scrollable-content,\n.dx-scrollable-native.dx-scrollable-native-win8.dx-scrollable-disabled .dx-scrollview-content {\n  overflow-y: hidden;\n}\n.dx-scrollable-native.dx-scrollable-native-win8 .dx-scrollable-container {\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n.dx-scrollable-native.dx-scrollable-native-win8 .dx-scrollview-bottom-pocket {\n  width: 100%;\n  text-align: center;\n}\n.dx-device-android-4 .dx-scrollable-native.dx-scrollable-native-android .dx-scrollview-pull-down-loading .dx-icon-pulldown {\n  display: block;\n}\n.dx-scrollview-content {\n  position: static;\n}\n.dx-scrollview-content::after,\n.dx-scrollview-content::before {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.dx-scrollview-content::after {\n  clear: both;\n}\n.dx-scrollview-pull-down {\n  width: 100%;\n  height: 50px;\n  padding: 15px 0;\n  top: -80px;\n  overflow: hidden;\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  -webkit-user-drag: none;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-scrollview-pull-down-container {\n  display: inline-block;\n  width: 49%;\n  text-align: right;\n}\n.dx-scrollview-pull-down-indicator {\n  opacity: 0;\n  position: absolute;\n  left: 0;\n  top: 50%;\n  display: inline-block;\n  margin: -15px 20px 0 15px;\n  width: 20px;\n  -webkit-user-drag: none;\n}\n.dx-scrollview-pull-down-image {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 20px;\n  width: 20px;\n  height: 50px;\n  -webkit-user-drag: none;\n  -webkit-transform: translate(0,0) rotate(0);\n  transform: translate(0,0) rotate(0);\n  -webkit-transition: -webkit-transform .2s linear;\n  transition: transform .2s linear,-webkit-transform .2s linear;\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAQAAABebbrxAAABD0lEQVRo3u2XvQ3CMBCFLbmjYYGsAA2wA1X2gAbEAEwB2eIKflagh6zACJAuUihASUic+M5GNH56dT7J8efTPUXKkDkzrS8LpQAEMBygcwAss2UGQADDBmLa+AMvzAAIYNhATBt/YMEMgACGDcS0wbQBEEAAAQQQwD8CEzaiL7sKqOnojTuQrh95SKkX7kqD5j+M6O6Mu1NkupQJZU64B426bjmmXIzLKe7TZiUGLmweyhTa28XWdJKpYn8pXIVub1U4T4+jUKkKbyWeWhR6Vqpwd+w+hb5U4S/ta54qkhZgVihxrxWaznZVZD2lqVDaVkVafOoKGVWRN6nZR6GMxr+qZjHl3aq4db0NLXld7wVjuu7NS9f7yAAAAABJRU5ErkJggg==\") 0 0/100% no-repeat;\n}\n.dx-scrollview-pull-down-text {\n  display: inline;\n  vertical-align: middle;\n  position: relative;\n  overflow: visible;\n  -webkit-user-drag: none;\n}\n.dx-scrollview-pull-down-text div {\n  position: absolute;\n  left: 0;\n  top: 0;\n  white-space: nowrap;\n  overflow: visible;\n  opacity: 0;\n}\n.dx-scrollview-pull-down-text div.dx-scrollview-pull-down-text-visible {\n  opacity: 1;\n}\n.dx-scrollview-pull-down-ready .dx-scrollview-pull-down-image {\n  -webkit-transform: translate(0,0) rotate(-180deg);\n  transform: translate(0,0) rotate(-180deg);\n}\n.dx-scrollview-pull-down-loading .dx-scrollview-pull-down-image {\n  opacity: 0;\n}\n.dx-scrollview-pull-down-loading .dx-scrollview-pull-down-indicator {\n  opacity: 1;\n}\n.dx-scrollview-scrollbottom {\n  width: 100%;\n  padding: 10px 0;\n  overflow: hidden;\n  text-align: center;\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n}\n.dx-scrollview-scrollbottom::before {\n  content: \"\";\n  display: inline-block;\n  height: 100%;\n  vertical-align: middle;\n}\n.dx-scrollview-scrollbottom-indicator {\n  display: inline-block;\n  margin: 0 10px 0 0;\n  -webkit-user-drag: none;\n}\n.dx-scrollview-scrollbottom-text {\n  display: inline-block;\n  margin-top: -20px;\n  vertical-align: middle;\n  -webkit-user-drag: none;\n}\n.dx-scrollview-scrollbottom-end {\n  opacity: 0;\n}\n.dx-rtl .dx-scrollable-native.dx-scrollable-native-ios .dx-scrollview-top-pocket,\n.dx-scrollable-native.dx-rtl.dx-scrollable-native-ios .dx-scrollview-top-pocket {\n  left: auto;\n  right: 0;\n}\n.dx-rtl .dx-scrollview-pull-down-container {\n  text-align: left;\n}\n.dx-rtl .dx-scrollview-pull-down-indicator,\n.dx-rtl .dx-scrollview-pull-down-text div {\n  left: auto;\n  right: 0;\n}\n.dx-rtl .dx-scrollview-scrollbottom-indicator {\n  margin: 0 0 0 10px;\n}\n.dx-scrollview-scrollbottom-loading .dx-scrollview-scrollbottom-image {\n  width: 24px;\n  height: 24px;\n}\n.dx-checkbox {\n  display: inline-block;\n  cursor: pointer;\n  -webkit-user-drag: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-checkbox.dx-state-readonly {\n  cursor: default;\n}\n.dx-checkbox-icon {\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  position: relative;\n  background-position: 0 0;\n  background-size: cover;\n  background-repeat: no-repeat;\n}\n.dx-checkbox-container {\n  overflow: hidden;\n  white-space: nowrap;\n  height: 100%;\n  width: 100%;\n  vertical-align: middle;\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  text-overflow: clip;\n}\n.dx-checkbox-text {\n  text-align: left;\n  white-space: pre-wrap;\n  word-wrap: break-word;\n  line-height: normal;\n  padding-left: 5px;\n}\n.dx-rtl .dx-checkbox-text,\n.dx-rtl.dx-checkbox-text {\n  margin: 0;\n  padding: 0 5px 0 0;\n  text-align: right;\n}\n.dx-state-disabled .dx-checkbox,\n.dx-state-disabled.dx-checkbox {\n  cursor: default;\n  opacity: 1;\n}\n.dx-checkbox {\n  line-height: 0;\n}\n.dx-checkbox.dx-state-readonly .dx-checkbox-icon {\n  border-color: #f4f4f4;\n  background-color: #fff;\n}\n.dx-checkbox.dx-state-hover .dx-checkbox-icon {\n  border: 1px solid #265a87;\n}\n.dx-checkbox.dx-state-focused .dx-checkbox-icon {\n  border: 1px solid #337ab7;\n}\n.dx-checkbox.dx-state-active .dx-checkbox-icon {\n  background-color: rgba(96,96,96,.2);\n}\n.dx-checkbox-icon {\n  width: 16px;\n  height: 16px;\n  border-radius: 2px;\n  border: 1px solid #ddd;\n  background-color: #fff;\n}\n.dx-checkbox-checked .dx-checkbox-icon {\n  font: 10px/1em DXIcons;\n  color: #337ab7;\n  text-align: center;\n}\n.dx-checkbox-checked .dx-checkbox-icon::before {\n  content: \"\\f005\";\n  position: relative;\n  display: block;\n  width: 1em;\n  top: 50%;\n  margin-top: -.5em;\n  left: 50%;\n  margin-left: -.5em;\n}\n.dx-rtl .dx-checkbox-checked .dx-checkbox-icon::before,\n.dx-rtl.dx-checkbox-checked .dx-checkbox-icon::before {\n  left: 0;\n  margin-left: 0;\n  right: 50%;\n  margin-right: -.5em;\n}\n.dx-checkbox-indeterminate .dx-checkbox-icon {\n  color: #337ab7;\n  text-align: center;\n  line-height: 1em;\n  font-size: 8px;\n}\n.dx-checkbox-indeterminate .dx-checkbox-icon::before {\n  position: relative;\n  display: block;\n  width: 1em;\n  top: 50%;\n  margin-top: -.5em;\n  left: 50%;\n  margin-left: -.5em;\n  content: \"\";\n  background-color: #337ab7;\n  border-radius: 2px;\n  height: 1em;\n}\n.dx-rtl .dx-checkbox-indeterminate .dx-checkbox-icon::before,\n.dx-rtl.dx-checkbox-indeterminate .dx-checkbox-icon::before {\n  left: 0;\n  margin-left: 0;\n  right: 50%;\n  margin-right: -.5em;\n}\n.dx-state-disabled .dx-checkbox .dx-checkbox-icon,\n.dx-state-disabled .dx-checkbox-text,\n.dx-state-disabled.dx-checkbox .dx-checkbox-icon {\n  opacity: .4;\n}\n.dx-invalid .dx-checkbox-container .dx-checkbox-icon {\n  border: 1px solid rgba(217,83,79,.4);\n}\n.dx-invalid.dx-state-focused .dx-checkbox-container .dx-checkbox-icon {\n  border-color: #d9534f;\n}\n.dx-switch {\n  display: inline-block;\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-user-drag: none;\n}\n.dx-switch .dx-switch-wrapper {\n  display: inline-block;\n  text-align: left;\n  height: 100%;\n  width: 100%;\n}\n.dx-switch .dx-switch-wrapper::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-switch-inner {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-transform: translateX(-50%);\n  transform: translateX(-50%);\n}\n.dx-switch-container {\n  display: inline-block;\n  width: 100%;\n  vertical-align: middle;\n  overflow: hidden;\n  margin: 0 -4px 0 0;\n  padding: 0 1px;\n  height: 18px;\n  border: 1px solid #ddd;\n  background: #fff;\n  border-radius: 2px;\n}\n.dx-state-disabled .dx-switch,\n.dx-state-disabled.dx-switch {\n  cursor: default;\n}\n.dx-switch-handle,\n.dx-switch-on-value .dx-switch-inner {\n  -webkit-transform: translateX(0);\n  transform: translateX(0);\n}\n.dx-switch-on-value .dx-switch-handle {\n  -webkit-transform: translateX(-100%);\n  transform: translateX(-100%);\n}\n.dx-rtl .dx-switch-wrapper,\n.dx-rtl.dx-switch-wrapper {\n  text-align: right;\n}\n.dx-rtl .dx-switch-inner {\n  -webkit-transform: translateX(50%);\n  transform: translateX(50%);\n}\n.dx-rtl .dx-switch-handle {\n  -webkit-transform: translateX(-100%);\n  transform: translateX(-100%);\n}\n.dx-rtl.dx-switch-on-value .dx-switch-handle {\n  -webkit-transform: translateX(0);\n  transform: translateX(0);\n}\n.dx-switch {\n  width: 36px;\n  height: 18px;\n}\n.dx-switch.dx-state-readonly .dx-switch-container {\n  border-color: #f4f4f4;\n  background-color: #fff;\n}\n.dx-switch.dx-state-active .dx-switch-handle::before {\n  background-color: #204d73;\n}\n.dx-switch.dx-state-active .dx-switch-container {\n  border-color: #337ab7;\n  background-color: rgba(96,96,96,.2);\n}\n.dx-switch.dx-state-hover .dx-switch-handle::before {\n  background-color: #337ab7;\n}\n.dx-switch.dx-state-hover .dx-switch-container {\n  background-color: transparent;\n  border-color: #337ab7;\n}\n.dx-switch.dx-state-focused .dx-switch-container {\n  border-color: #337ab7;\n}\n.dx-switch.dx-state-focused .dx-switch-handle::before {\n  background-color: #337ab7;\n}\n.dx-switch.dx-state-focused.dx-state-active .dx-switch-handle::before {\n  background-color: #204d73;\n}\n.dx-switch-inner {\n  width: 200%;\n  height: 100%;\n}\n.dx-switch-off,\n.dx-switch-on {\n  float: left;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  width: 50%;\n  padding-right: 14px;\n  line-height: 16px;\n  text-align: center;\n  font-size: 8px;\n  font-weight: 600;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-switch-off {\n  padding-left: 1px;\n  color: #999;\n}\n.dx-switch-on {\n  color: #333;\n}\n.dx-switch-handle {\n  position: relative;\n  float: left;\n  -ms-flex-preferred-size: 14px;\n  flex-basis: 14px;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  width: 14px;\n  height: 14px;\n  margin-top: 1px;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-switch-handle::before {\n  display: block;\n  content: \" \";\n  width: 100%;\n  height: 100%;\n  background-color: #63a0d4;\n  border-radius: 2px;\n}\n.dx-switch-on-value .dx-switch-handle::before {\n  background-color: #337ab7;\n}\n.dx-rtl .dx-switch .dx-switch-off,\n.dx-rtl .dx-switch .dx-switch-on,\n.dx-switch.dx-rtl .dx-switch-off,\n.dx-switch.dx-rtl .dx-switch-on {\n  float: right;\n}\n.dx-rtl .dx-switch .dx-switch-on,\n.dx-switch.dx-rtl .dx-switch-on {\n  padding-left: 14px;\n  padding-right: 1px;\n}\n.dx-rtl .dx-switch .dx-switch-off,\n.dx-switch.dx-rtl .dx-switch-off {\n  margin-left: 0;\n}\n.dx-rtl .dx-switch .dx-switch-handle,\n.dx-switch.dx-rtl .dx-switch-handle {\n  float: right;\n  margin-left: 0;\n  margin-right: -14px;\n}\n.dx-rtl .dx-switch .dx-switch-container,\n.dx-switch.dx-rtl .dx-switch-container {\n  margin: 0 0 0 -4px;\n}\n.dx-invalid.dx-switch .dx-switch-container {\n  border-color: rgba(217,83,79,.4);\n}\n.dx-invalid.dx-state-focused .dx-switch-container,\n.dx-invalid.dx-state-hover .dx-switch-container {\n  border-color: #d9534f;\n}\n.dx-invalid.dx-state-focused .dx-switch-handle::before,\n.dx-invalid.dx-state-hover .dx-switch-handle::before,\n.dx-invalid.dx-switch-on-value .dx-switch-handle::before {\n  background-color: #d9534f;\n}\n.dx-invalid .dx-switch-handle::before {\n  background-color: rgba(217,83,79,.4);\n}\n.dx-tabs {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  display: inline-block;\n  width: 100%;\n  text-align: center;\n  table-layout: fixed;\n  position: relative;\n}\n.dx-tabs.dx-tabs-stretched {\n  table-layout: auto;\n}\n.dx-tabs.dx-overflow-hidden {\n  overflow: hidden;\n}\n.dx-tabs-wrapper {\n  display: table-row;\n}\n.dx-tabs-scrollable .dx-tabs-wrapper {\n  display: block;\n  white-space: nowrap;\n  height: 100%;\n}\n.dx-tabs-scrollable .dx-tab {\n  height: 100%;\n  display: inline-block;\n}\n.dx-tabs-scrollable .dx-tab::before {\n  content: \"\";\n  height: 100%;\n  display: inline-block;\n  vertical-align: middle;\n}\n.dx-tabs-scrollable .dx-scrollable-content {\n  height: 100%;\n}\n.dx-tabs-nav-buttons .dx-tabs-scrollable {\n  margin-right: 25px;\n  margin-left: 25px;\n}\n.dx-tabs-nav-button {\n  width: 25px;\n  padding: 0;\n  height: 100%;\n  position: absolute;\n  top: 0;\n}\n.dx-tabs-nav-button-left {\n  left: 0;\n}\n.dx-tabs-nav-button-right {\n  right: 0;\n}\n.dx-tabs-expanded {\n  display: table;\n}\n.dx-tab {\n  position: relative;\n  display: table-cell;\n  vertical-align: middle;\n  cursor: pointer;\n  white-space: nowrap;\n}\n.dx-tab a {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-color: #fff;\n  color: #fff;\n  text-decoration: none;\n  opacity: .001;\n}\n.dx-tab .dx-icon {\n  margin: 0 7px 0 0;\n  -webkit-user-drag: none;\n  color: #333;\n  display: inline-block;\n  vertical-align: middle;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-tab-content {\n  display: inline-block;\n  max-width: 100%;\n}\n.dx-tabs-item-badge {\n  display: inline-block;\n  vertical-align: top;\n}\n.dx-badge {\n  padding: 0 5px 2px;\n  border-radius: 14px;\n  background-color: #337ab7;\n  color: #fff;\n  font-size: 11px;\n  line-height: normal;\n}\n.dx-tab {\n  padding: 5px 4px;\n  background-color: #f7f7f7;\n  color: #333;\n}\n.dx-tab .dx-tab-text {\n  color: #333;\n}\n.dx-rtl .dx-tab .dx-icon,\n.dx-rtl.dx-tab .dx-icon,\n.dx-tab .dx-icon.dx-icon-right {\n  margin-left: 7px;\n  margin-right: 0;\n}\n.dx-rtl .dx-tab .dx-icon.dx-icon-right,\n.dx-rtl.dx-tab .dx-icon.dx-icon-right {\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-tab.dx-state-hover {\n  background-color: #fff;\n}\n.dx-tab.dx-tab-selected {\n  background-color: #fff;\n  color: #333;\n}\n.dx-tab.dx-tab-selected .dx-icon,\n.dx-tab.dx-tab-selected .dx-tab-text {\n  color: #333;\n}\n.dx-tab.dx-state-active {\n  background-color: rgba(88,88,88,.2);\n  color: #333;\n}\n.dx-tab.dx-state-active .dx-icon,\n.dx-tab.dx-state-active .dx-tab-text {\n  color: #333;\n}\n.dx-tab-text {\n  display: inline-block;\n  margin: 0 auto;\n  text-align: center;\n  max-width: 100%;\n  -webkit-user-drag: none;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  vertical-align: middle;\n  line-height: 21px;\n}\n.dx-state-disabled.dx-tabs {\n  opacity: 1;\n}\n.dx-state-disabled .dx-tab-content {\n  opacity: .3;\n}\n.dx-tabs {\n  background-color: #f7f7f7;\n  color: #ddd;\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd;\n}\n.dx-tabs .dx-tab {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabs .dx-tabs-nav-button {\n  border: none;\n  background-color: #f7f7f7;\n  border-radius: 0;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  color: #ddd;\n}\n.dx-tabs .dx-tabs-nav-button .dx-button-content {\n  padding: 0;\n}\n.dx-tabs .dx-tabs-nav-button.dx-state-active {\n  border: none;\n}\n.dx-tabs .dx-tabs-nav-button.dx-state-disabled {\n  opacity: 1;\n}\n.dx-tabs .dx-tabs-nav-button.dx-state-disabled .dx-button-content {\n  opacity: .6;\n}\n.dx-tabs .dx-tabs-scrollable {\n  height: 100%;\n}\n.dx-tabs .dx-tabs-scrollable .dx-tabs-wrapper {\n  display: block;\n}\n.dx-tabs .dx-tab.dx-tab-selected {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child,\n.dx-rtl.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child,\n.dx-tabs.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabs.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabs.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabs.dx-state-focused .dx-tab.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7,inset 0 -1px #337ab7;\n  box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7,inset 0 -1px #337ab7;\n}\n.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child,\n.dx-rtl.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child,\n.dx-tabs.dx-state-focused.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabs.dx-state-focused.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabs.dx-state-focused.dx-tabs-stretched .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabs.dx-state-focused .dx-tab.dx-state-focused.dx-state-disabled {\n  -webkit-box-shadow: inset 0 -1px #aaa,inset 0 1px #aaa,inset -1px 0 #aaa,inset 1px 0 #aaa;\n  box-shadow: inset 0 -1px #aaa,inset 0 1px #aaa,inset -1px 0 #aaa,inset 1px 0 #aaa;\n}\n.dx-tabs.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-rtl.dx-tabs.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n}\n.dx-tabs.dx-state-focused .dx-tab.dx-state-focused + .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused .dx-tab.dx-state-focused+.dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-rtl.dx-tabs.dx-state-focused .dx-tab.dx-state-focused+.dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-tabs.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused) {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-rtl .dx-tabs.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused),\n.dx-rtl.dx-tabs.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabs .dx-tabs-nav-button-left {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabs .dx-tabs-nav-button-right {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-overlay-wrapper {\n  top: 0;\n  pointer-events: none;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  z-index: 1000;\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-overlay-wrapper,\n.dx-overlay-wrapper *,\n.dx-overlay-wrapper ::after,\n.dx-overlay-wrapper ::before,\n.dx-overlay-wrapper::after,\n.dx-overlay-wrapper::before {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-overlay-shader {\n  pointer-events: auto;\n  background-color: rgba(255,255,255,.8);\n}\n.dx-overlay-content {\n  position: absolute;\n  pointer-events: auto;\n  z-index: 1000;\n  outline: 0;\n  overflow: hidden;\n}\n.dx-overlay-content > .dx-template-wrapper {\n  height: 100%;\n  width: 100%;\n}\n.dx-device-android .dx-overlay-content {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n.dx-device-android .dx-scrollable-native .dx-overlay-content {\n  -webkit-backface-visibility: visible;\n  backface-visibility: visible;\n}\n.dx-overlay-wrapper input,\n.dx-overlay-wrapper textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-popup-wrapper .dx-state-focused.dx-overlay-content {\n  border: 1px solid #ddd;\n}\n.dx-validationsummary-item {\n  color: #d9534f;\n}\n.dx-invalid-message > .dx-overlay-content {\n  color: #fff;\n  background-color: #d9534f;\n  border-radius: 4px;\n}\n.dx-editor-underlined .dx-invalid-message > .dx-overlay-content {\n  border-radius: 0;\n}\n.dx-searchbox .dx-icon-search {\n  display: block;\n  pointer-events: none;\n}\n.dx-searchbox .dx-icon-search::before {\n  display: inline-block;\n  overflow: hidden;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n  position: static;\n  text-indent: 0;\n}\n.dx-texteditor {\n  display: block;\n}\n.dx-texteditor input::-ms-clear {\n  display: none;\n}\n.dx-placeholder {\n  position: absolute;\n  top: 0;\n  left: 0;\n  max-width: 100%;\n  width: auto;\n  height: 100%;\n  text-align: left;\n  cursor: text;\n  pointer-events: none;\n  color: #999;\n}\n.dx-placeholder::before {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  content: attr(DATA-DX_PLACEHOLDER);\n  pointer-events: none;\n  white-space: nowrap;\n}\n.dx-placeholder::after {\n  content: \" \";\n  display: inline-block;\n  height: 100%;\n  vertical-align: middle;\n}\n.dx-texteditor-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n}\n.dx-texteditor-buttons-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  width: auto;\n  -webkit-box-flex: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n  -ms-flex-preferred-size: content;\n  flex-basis: content;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-texteditor-input-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  position: relative;\n  -webkit-box-align: baseline;\n  -ms-flex-align: baseline;\n  align-items: baseline;\n}\n.dx-texteditor-input {\n  -webkit-appearance: none;\n  width: 100%;\n  height: 100%;\n  outline: 0;\n  border: 0;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n.dx-texteditor-input:-webkit-autofill + .dx-placeholder {\n  display: none!important;\n}\n.dx-texteditor-input:autofill + .dx-placeholder {\n  display: none!important;\n}\n.dx-texteditor-input:-moz-ui-invalid {\n  box-shadow: none;\n}\n.dx-show-clear-button {\n  position: relative;\n}\n.dx-clear-button-area {\n  height: 100%;\n  width: 34px;\n  position: relative;\n  cursor: pointer;\n  text-align: justify;\n}\n.dx-clear-button-area .dx-icon-clear {\n  position: absolute;\n  display: inline-block;\n  background-size: contain;\n}\n.dx-texteditor-empty .dx-clear-button-area {\n  display: none;\n}\n.dx-state-disabled .dx-placeholder {\n  cursor: auto;\n}\n.dx-state-disabled .dx-clear-button-area {\n  display: none;\n}\n.dx-state-disabled .dx-texteditor-input {\n  opacity: 1;\n}\n.dx-rtl .dx-texteditor .dx-placeholder,\n.dx-rtl.dx-texteditor .dx-placeholder {\n  text-align: right;\n  left: auto;\n  right: 0;\n}\n.dx-device-android .dx-texteditor-input {\n  -webkit-user-modify: read-write-plaintext-only;\n}\n.dx-texteditor.dx-editor-outlined {\n  background: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.dx-texteditor.dx-editor-underlined {\n  background: 0 0;\n  border-bottom: 1px solid #ddd;\n  border-radius: 0;\n}\n.dx-texteditor.dx-editor-filled {\n  background: rgba(51,51,51,.05);\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.dx-texteditor.dx-state-readonly {\n  border-style: dashed;\n}\n.dx-texteditor.dx-state-readonly.dx-editor-filled {\n  border-color: transparent;\n  background-color: rgba(51,51,51,.03);\n}\n.dx-texteditor.dx-state-readonly.dx-editor-filled.dx-state-focused {\n  background-color: rgba(51,51,51,.03);\n}\n.dx-texteditor.dx-state-readonly.dx-editor-filled.dx-state-hover {\n  background-color: rgba(51,122,183,.07);\n}\n.dx-texteditor.dx-state-readonly.dx-editor-underlined {\n  border-style: none none dashed;\n}\n.dx-texteditor.dx-state-hover {\n  border-color: rgba(51,122,183,.4);\n}\n.dx-texteditor.dx-state-hover.dx-editor-filled {\n  border-color: transparent;\n  background-color: rgba(51,122,183,.1);\n}\n.dx-texteditor.dx-state-focused .dx-texteditor-label,\n.dx-texteditor.dx-state-focused.dx-state-hover .dx-texteditor-label {\n  color: #337ab7;\n}\n.dx-texteditor.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-texteditor.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label {\n  color: #d9534f;\n}\n.dx-texteditor.dx-state-active.dx-editor-filled,\n.dx-texteditor.dx-state-active.dx-editor-outlined,\n.dx-texteditor.dx-state-active.dx-editor-underlined,\n.dx-texteditor.dx-state-focused.dx-editor-filled,\n.dx-texteditor.dx-state-focused.dx-editor-outlined,\n.dx-texteditor.dx-state-focused.dx-editor-underlined {\n  border-color: #337ab7;\n}\n.dx-texteditor.dx-state-active.dx-editor-filled,\n.dx-texteditor.dx-state-focused.dx-editor-filled {\n  background-color: transparent;\n}\n.dx-texteditor.dx-invalid .dx-texteditor-input,\n.dx-texteditor.dx-valid .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-texteditor.dx-invalid.dx-rtl .dx-texteditor-input,\n.dx-texteditor.dx-valid.dx-rtl .dx-texteditor-input {\n  padding-left: 24px;\n  padding-right: 0;\n}\n.dx-texteditor.dx-invalid .dx-texteditor-input-container::after,\n.dx-texteditor.dx-valid .dx-texteditor-input-container::after {\n  right: 2px;\n}\n.dx-rtl .dx-texteditor.dx-invalid .dx-texteditor-input-container::after,\n.dx-rtl .dx-texteditor.dx-valid .dx-texteditor-input-container::after,\n.dx-rtl.dx-texteditor.dx-invalid .dx-texteditor-input-container::after,\n.dx-rtl.dx-texteditor.dx-valid .dx-texteditor-input-container::after {\n  left: 2px;\n  right: auto;\n}\n.dx-texteditor.dx-validation-pending .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-texteditor.dx-validation-pending.dx-rtl .dx-texteditor-input {\n  padding-left: 24px;\n  padding-right: 0;\n}\n.dx-texteditor.dx-validation-pending .dx-texteditor-input-container .dx-pending-indicator {\n  right: 2px;\n}\n.dx-rtl .dx-texteditor.dx-validation-pending .dx-texteditor-input-container .dx-pending-indicator,\n.dx-rtl.dx-texteditor.dx-validation-pending .dx-texteditor-input-container .dx-pending-indicator {\n  left: 2px;\n  right: auto;\n}\n.dx-show-clear-button .dx-clear-button-area {\n  width: 24px;\n  min-width: 24px;\n  right: 0;\n}\n.dx-show-clear-button .dx-icon-clear {\n  color: #999;\n  position: absolute;\n  top: 50%;\n  margin-top: -12px;\n  padding: 5px;\n  width: 24px;\n  height: 24px;\n  background-position: 5px 5px;\n  background-size: 14px 14px;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-texteditor-buttons-container > .dx-button {\n  margin: 1px;\n}\n.dx-texteditor-buttons-container > .dx-button > .dx-button-content {\n  padding-top: 2px;\n  padding-bottom: 2px;\n}\n.dx-texteditor-buttons-container > .dx-button.dx-button-has-icon:not(.dx-button-has-text) > .dx-button-content {\n  padding: 3px;\n}\n.dx-placeholder::before {\n  padding: 4px 5px;\n}\n.dx-editor-underlined .dx-placeholder::before {\n  padding-left: 0;\n}\n.dx-rtl .dx-editor-underlined .dx-placeholder::before {\n  padding-right: 0;\n}\n.dx-texteditor-input {\n  margin: 0;\n  padding: 4px 5px;\n  background: rgba(0,0,0,0);\n  color: #333;\n  font-size: 1em;\n  border-radius: 4px;\n  min-height: 24px;\n}\n.dx-editor-underlined .dx-texteditor-input {\n  background: 0 0;\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-editor-filled .dx-texteditor-input {\n  background: 0 0;\n}\n.dx-texteditor-label {\n  position: absolute;\n  font-size: 10px;\n  color: #999;\n  white-space: nowrap;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  pointer-events: none;\n  cursor: text;\n  width: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  top: 0;\n  left: 0;\n}\n.dx-texteditor-label .dx-label {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-texteditor-label .dx-label span {\n  text-overflow: ellipsis;\n  width: auto;\n  max-width: 100%;\n  overflow: hidden;\n  display: block;\n}\n.dx-invalid .dx-texteditor-label {\n  color: #d9534f;\n}\n.dx-rtl .dx-texteditor-label {\n  left: auto;\n  right: 0;\n}\n.dx-editor-filled .dx-texteditor-label .dx-label-after,\n.dx-editor-filled .dx-texteditor-label .dx-label-before {\n  display: block;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  min-width: 5px;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label,\n.dx-editor-filled.dx-texteditor-with-label {\n  position: relative;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label .dx-texteditor-input,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-label .dx-texteditor-input,\n.dx-editor-filled.dx-texteditor-with-label.dx-lookup .dx-lookup-field {\n  padding-top: 7px;\n  padding-bottom: 1px;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-label .dx-texteditor-label {\n  font-size: 10px;\n  height: 16px;\n  line-height: 1.33334;\n  top: 0;\n  margin-top: 0;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label .dx-placeholder::before,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-container,\n.dx-editor-filled.dx-texteditor-with-label .dx-placeholder::before,\n.dx-editor-filled.dx-texteditor-with-label.dx-textarea .dx-texteditor-container {\n  padding-top: 7px;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea .dx-placeholder::before,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-input,\n.dx-editor-filled.dx-texteditor-with-label.dx-textarea .dx-placeholder::before,\n.dx-editor-filled.dx-texteditor-with-label.dx-textarea .dx-texteditor-input {\n  padding-top: 0;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-label.dx-textarea .dx-texteditor-label {\n  top: 0;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-placeholder {\n  display: none;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  font-size: 12px;\n  height: 16px;\n  line-height: 1.33334;\n  top: 50%;\n  margin-top: -8px;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-textarea .dx-texteditor-label {\n  font-size: 12px;\n  top: 7px;\n  margin-top: 0;\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-lookup-empty.dx-textarea .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-textarea .dx-placeholder {\n  display: none;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-state-focused .dx-placeholder,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-placeholder {\n  display: block;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-state-focused .dx-lookup-field,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label {\n  font-size: 10px;\n  top: 0;\n  margin-top: 0;\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-state-focused.dx-textarea .dx-texteditor-label,\n.dx-editor-filled.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label {\n  top: 0;\n}\n.dx-editor-outlined .dx-texteditor-label {\n  top: 0;\n  left: 0;\n  right: 0;\n}\n.dx-editor-outlined .dx-texteditor-label .dx-label {\n  padding: 0;\n}\n.dx-editor-outlined .dx-texteditor-label .dx-label span {\n  position: relative;\n  font-size: 12px;\n  top: 0;\n  margin-top: 0;\n}\n.dx-editor-outlined .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined .dx-texteditor-label .dx-label-before {\n  display: block;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-editor-outlined .dx-texteditor-label .dx-label-before {\n  min-width: 5px;\n  border-radius: 4px 0 0 4px;\n}\n.dx-editor-outlined .dx-texteditor-label .dx-label-after {\n  min-width: 5px;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  border-radius: 0 4px 4px 0;\n}\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label .dx-label {\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n}\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label {\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label .dx-label {\n  border-bottom: 1px solid #ddd;\n  border-top: 1px solid #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label .dx-label-before {\n  border-color: #ddd;\n  border-style: solid;\n  height: 100%;\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-texteditor-label .dx-label {\n  border-bottom: 1px solid rgba(217,83,79,.4);\n  border-top: 1px solid rgba(217,83,79,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-texteditor-label .dx-label-before {\n  border-color: rgba(217,83,79,.4);\n  border-style: solid;\n  height: 100%;\n  border-top: 1px solid rgba(217,83,79,.4);\n  border-bottom: 1px solid rgba(217,83,79,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-invalid .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-invalid .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-texteditor-label .dx-label {\n  border-bottom: 1px solid rgba(51,122,183,.4);\n  border-top: 1px solid rgba(51,122,183,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: rgba(51,122,183,.4);\n  border-style: solid;\n  height: 100%;\n  border-top: 1px solid rgba(51,122,183,.4);\n  border-bottom: 1px solid rgba(51,122,183,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid rgba(51,122,183,.4);\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-texteditor-label .dx-label-before {\n  border-color: rgba(51,122,183,.4);\n  border-style: solid;\n  border-top: 1px solid rgba(51,122,183,.4);\n  border-bottom: 1px solid rgba(51,122,183,.4);\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid rgba(51,122,183,.4);\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid rgba(51,122,183,.4);\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label {\n  border-bottom: 1px solid #d9534f;\n  border-top: 1px solid #d9534f;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before {\n  border-color: #d9534f;\n  border-style: solid;\n  height: 100%;\n  border-top: 1px solid #d9534f;\n  border-bottom: 1px solid #d9534f;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-hover.dx-invalid .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-hover.dx-invalid .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid #ddd;\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-texteditor-label .dx-label-before {\n  border-color: #ddd;\n  border-style: solid;\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid #ddd;\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-dropdowneditor-active.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid #ddd;\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label .dx-label {\n  border-bottom: 1px dashed #ddd;\n  border-top: 1px dashed #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label .dx-label-before {\n  border-color: #ddd;\n  border-style: dashed;\n  height: 100%;\n  border-top: 1px dashed #ddd;\n  border-bottom: 1px dashed #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label {\n  border-bottom: 1px dashed rgba(51,122,183,.4);\n  border-top: 1px dashed rgba(51,122,183,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: rgba(51,122,183,.4);\n  border-style: dashed;\n  height: 100%;\n  border-top: 1px dashed rgba(51,122,183,.4);\n  border-bottom: 1px dashed rgba(51,122,183,.4);\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-hover .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover {\n  border: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label {\n  border-bottom: 1px dashed #337ab7;\n  border-top: 1px dashed #337ab7;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: #337ab7;\n  border-style: dashed;\n  height: 100%;\n  border-top: 1px dashed #337ab7;\n  border-bottom: 1px dashed #337ab7;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover.dx-textarea .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label .dx-label span {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-disabled.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder {\n  display: none;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label,\n.dx-editor-outlined.dx-texteditor-with-label {\n  border: 0;\n  outline: 0;\n  position: relative;\n  margin-top: 6.5px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-input-container,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea .dx-texteditor-input-container {\n  padding-top: 4px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-input-container .dx-texteditor-input,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea .dx-texteditor-input-container .dx-texteditor-input {\n  padding-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid rgba(217,83,79,.4);\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-texteditor-label .dx-label-before {\n  border-color: rgba(217,83,79,.4);\n  border-style: solid;\n  border-top: 1px solid rgba(217,83,79,.4);\n  border-bottom: 1px solid rgba(217,83,79,.4);\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid rgba(217,83,79,.4);\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid rgba(217,83,79,.4);\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px dashed rgba(51,122,183,.4);\n  border-top: 0;\n  border-left: 1px dashed transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: rgba(51,122,183,.4);\n  border-style: dashed;\n  border-top: 1px dashed rgba(51,122,183,.4);\n  border-bottom: 1px dashed rgba(51,122,183,.4);\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px dashed rgba(51,122,183,.4);\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px dashed rgba(51,122,183,.4);\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px dashed #ddd;\n  border-top: 0;\n  border-left: 1px dashed transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-texteditor-label .dx-label-before {\n  border-color: #ddd;\n  border-style: dashed;\n  border-top: 1px dashed #ddd;\n  border-bottom: 1px dashed #ddd;\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px dashed #ddd;\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-disabled.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-readonly.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-disabled.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-readonly.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px dashed #ddd;\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label {\n  padding: 0 2px;\n  border-bottom: 1px solid #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  top: 0;\n  margin-top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-before {\n  border-left-width: 1px;\n  border-right-width: 0;\n  border-color: #ddd;\n  border-style: solid;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-after {\n  border-right-width: 1px;\n  border-left-width: 0;\n  border-color: #ddd;\n  border-style: solid;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-before {\n  height: 100%;\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-rtl .dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-rtl .dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-before {\n  border-right-width: 1px;\n  border-radius: 0 4px 4px 0;\n  border-left-width: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-rtl .dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-rtl .dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-after {\n  border-left-width: 1px;\n  border-radius: 4px 0 0 4px;\n  border-right-width: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid rgba(51,122,183,.4);\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: rgba(51,122,183,.4);\n  border-style: solid;\n  border-top: 1px solid rgba(51,122,183,.4);\n  border-bottom: 1px solid rgba(51,122,183,.4);\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid rgba(51,122,183,.4);\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid rgba(51,122,183,.4);\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid #d9534f;\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before {\n  border-color: #d9534f;\n  border-style: solid;\n  border-top: 1px solid #d9534f;\n  border-bottom: 1px solid #d9534f;\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid #d9534f;\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid #d9534f;\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid #337ab7;\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-texteditor-label .dx-label-before {\n  border-color: #337ab7;\n  border-style: solid;\n  border-top: 1px solid #337ab7;\n  border-bottom: 1px solid #337ab7;\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid #337ab7;\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid #337ab7;\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid {\n  border: 0;\n  outline: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label {\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label {\n  height: 100%;\n  border-bottom: 1px solid #d9534f;\n  border-top: 0;\n  border-left: 1px solid transparent;\n  margin-left: -1px;\n  -webkit-clip-path: inset(-10px -1px -1px 1px);\n  clip-path: inset(-10px -1px -1px 1px);\n  padding: 0 2px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label span,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  line-height: 1.33334;\n  height: 16px;\n  margin-top: 0;\n  top: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-texteditor-label .dx-label-before {\n  border-color: #d9534f;\n  border-style: solid;\n  border-top: 1px solid #d9534f;\n  border-bottom: 1px solid #d9534f;\n  height: 100%;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid .dx-lookup-field,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-before {\n  border-right: 1px solid #d9534f;\n  border-radius: 0 4px 4px 0;\n  border-left: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover.dx-invalid.dx-rtl .dx-texteditor-label .dx-label-after {\n  border-left: 1px solid #d9534f;\n  border-radius: 4px 0 0 4px;\n  border-right: 0;\n}\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-dropdowneditor-active.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-state-focused.dx-state-hover .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused .dx-placeholder,\n.dx-editor-outlined.dx-texteditor-with-label.dx-textarea.dx-state-focused.dx-state-hover .dx-placeholder {\n  display: block;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label,\n.dx-editor-underlined.dx-texteditor-with-label {\n  position: relative;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-label .dx-texteditor-label {\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  top: 0;\n  margin-top: 0;\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label .dx-placeholder::before,\n.dx-editor-underlined.dx-texteditor-with-label .dx-placeholder::before {\n  padding-top: 8px;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label .dx-texteditor-input,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-label .dx-texteditor-input,\n.dx-editor-underlined.dx-texteditor-with-label.dx-lookup .dx-lookup-field {\n  padding-top: 8px;\n  padding-bottom: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-container,\n.dx-editor-underlined.dx-texteditor-with-label.dx-textarea .dx-texteditor-container {\n  padding-top: 8px;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea .dx-placeholder::before,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-input,\n.dx-editor-underlined.dx-texteditor-with-label.dx-textarea .dx-placeholder::before,\n.dx-editor-underlined.dx-texteditor-with-label.dx-textarea .dx-texteditor-input {\n  padding-top: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-label.dx-textarea .dx-texteditor-label {\n  top: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-placeholder {\n  display: none;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-lookup-field {\n  font-size: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly .dx-texteditor-label {\n  -webkit-transition: font-size .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  transition: font-size .2s cubic-bezier(0, 0, .2, 1),transform .2s cubic-bezier(0, 0, .2, 1),top .2s cubic-bezier(0, 0, .2, 1),-webkit-transform .2s cubic-bezier(0, 0, .2, 1);\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  top: 50%;\n  height: 16px;\n  margin-top: -8px;\n  line-height: 1.33334;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-textarea .dx-texteditor-label {\n  top: 8px;\n  margin-top: 0;\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 12px;\n  line-height: 1.33334;\n  height: 16px;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-state-readonly.dx-textarea .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-lookup-empty.dx-textarea .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-state-readonly.dx-textarea .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-texteditor-empty.dx-textarea .dx-placeholder {\n  display: none;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-state-focused .dx-placeholder,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-placeholder {\n  display: block;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-state-focused .dx-lookup-field,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-lookup-field {\n  font-size: 12px;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-state-focused .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused .dx-texteditor-label {\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 10px;\n  top: 0;\n  margin-top: 0;\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-dropdowneditor-active.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-state-focused.dx-textarea .dx-texteditor-label,\n.dx-editor-underlined.dx-texteditor-with-floating-label.dx-textarea.dx-state-focused.dx-textarea .dx-texteditor-label {\n  top: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-input-container .dx-texteditor-input {\n  padding-left: 5px;\n}\n.dx-rtl.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-input-container .dx-texteditor-input {\n  padding-left: 0;\n  padding-right: 5px;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-input-container .dx-placeholder {\n  left: 5px;\n}\n.dx-rtl.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-input-container .dx-placeholder {\n  left: 0;\n  right: 5px;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-label .dx-label {\n  padding-left: 5px;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons.dx-rtl .dx-texteditor-label .dx-label {\n  padding-left: 0;\n  padding-right: 5px;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-buttons-container > .dx-button:first-child {\n  margin-left: 0;\n}\n.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-buttons-container > .dx-button:last-child {\n  margin-right: 0;\n}\n.dx-rtl.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-buttons-container > .dx-button:first-child {\n  margin-left: 1px;\n  margin-right: 0;\n}\n.dx-rtl.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-buttons-container > .dx-button:last-child {\n  margin-left: 0;\n  margin-right: 1px;\n}\n.dx-rtl.dx-editor-underlined.dx-texteditor-with-before-buttons .dx-texteditor-buttons-container > .dx-button:first-child:last-child {\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-invalid.dx-texteditor {\n  border-color: rgba(217,83,79,.4);\n}\n.dx-invalid.dx-texteditor.dx-editor-filled.dx-state-focused,\n.dx-invalid.dx-texteditor.dx-editor-outlined.dx-state-focused,\n.dx-invalid.dx-texteditor.dx-editor-underlined.dx-state-focused {\n  border-color: #d9534f;\n}\n.dx-invalid.dx-texteditor.dx-editor-filled.dx-show-invalid-badge .dx-texteditor-input-container::after,\n.dx-invalid.dx-texteditor.dx-editor-outlined.dx-show-invalid-badge .dx-texteditor-input-container::after,\n.dx-invalid.dx-texteditor.dx-editor-underlined.dx-show-invalid-badge .dx-texteditor-input-container::after {\n  pointer-events: none;\n  font-weight: 700;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  width: 16px;\n  height: 16px;\n  text-align: center;\n  line-height: 16px;\n  font-size: 11px;\n  background-color: #d9534f;\n  color: #fff;\n  content: \"!\";\n  border-radius: 50%;\n}\n.dx-invalid.dx-texteditor.dx-editor-filled {\n  background-color: rgba(217,83,79,.1);\n  border-color: transparent;\n}\n.dx-invalid.dx-texteditor.dx-editor-filled.dx-state-focused {\n  background: 0 0;\n}\n.dx-editor-filled .dx-texteditor-buttons-container:first-child > .dx-button:last-child,\n.dx-editor-outlined .dx-texteditor-buttons-container:first-child > .dx-button:last-child {\n  margin-right: 0;\n}\n.dx-editor-filled .dx-texteditor-buttons-container:last-child > .dx-button:first-child,\n.dx-editor-outlined .dx-texteditor-buttons-container:last-child > .dx-button:first-child {\n  margin-left: 0;\n}\n.dx-rtl.dx-editor-filled .dx-texteditor-buttons-container:first-child > .dx-button:first-child,\n.dx-rtl.dx-editor-outlined .dx-texteditor-buttons-container:first-child > .dx-button:first-child {\n  margin-left: 1px;\n  margin-right: 1px;\n}\n.dx-rtl.dx-editor-filled .dx-texteditor-buttons-container:first-child>.dx-button:first-child:last-child,\n.dx-rtl.dx-editor-filled .dx-texteditor-buttons-container:first-child>.dx-button:last-child,\n.dx-rtl.dx-editor-outlined .dx-texteditor-buttons-container:first-child>.dx-button:first-child:last-child,\n.dx-rtl.dx-editor-outlined .dx-texteditor-buttons-container:first-child>.dx-button:last-child {\n  margin-left: 0;\n  margin-right: 1px;\n}\n.dx-rtl.dx-editor-filled .dx-texteditor-buttons-container:last-child > .dx-button:first-child,\n.dx-rtl.dx-editor-outlined .dx-texteditor-buttons-container:last-child > .dx-button:first-child {\n  margin-left: 1px;\n  margin-right: 0;\n}\n.dx-rtl.dx-editor-filled .dx-texteditor-buttons-container:last-child > .dx-button:last-child,\n.dx-rtl.dx-editor-outlined .dx-texteditor-buttons-container:last-child > .dx-button:last-child {\n  margin-left: 1px;\n  margin-right: 1px;\n}\n.dx-valid.dx-texteditor.dx-editor-filled .dx-texteditor-input-container::after,\n.dx-valid.dx-texteditor.dx-editor-outlined .dx-texteditor-input-container::after,\n.dx-valid.dx-texteditor.dx-editor-underlined .dx-texteditor-input-container::after {\n  pointer-events: none;\n  font-weight: 700;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  width: 16px;\n  height: 16px;\n  text-align: center;\n  line-height: 16px;\n  font-size: 11px;\n  font-family: DXIcons,sans-serif;\n  color: #5cb85c;\n  content: \"\\f005\";\n  opacity: 0;\n  -webkit-transform: scale(0);\n  transform: scale(0);\n  -webkit-animation: .3s cubic-bezier(1,.008,.565,1.65) .1s forwards dx-valid-badge-frames;\n  animation: .3s cubic-bezier(1,.008,.565,1.65) .1s forwards dx-valid-badge-frames;\n}\n.dx-validation-pending.dx-texteditor.dx-editor-filled .dx-texteditor-input-container .dx-pending-indicator,\n.dx-validation-pending.dx-texteditor.dx-editor-outlined .dx-texteditor-input-container .dx-pending-indicator,\n.dx-validation-pending.dx-texteditor.dx-editor-underlined .dx-texteditor-input-container .dx-pending-indicator {\n  pointer-events: none;\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  width: 20px;\n  height: 20px;\n}\n.dx-rtl .dx-placeholder,\n.dx-rtl .dx-placeholder::before {\n  right: 0;\n  left: auto;\n}\n.dx-editor-underlined.dx-rtl .dx-placeholder,\n.dx-editor-underlined.dx-rtl .dx-placeholder::before {\n  padding-right: 0;\n}\n.dx-searchbox .dx-icon-search {\n  font: 13px/14px DXIcons;\n  position: absolute;\n  top: 50%;\n  margin-top: -12px;\n  width: 24px;\n  height: 24px;\n  background-position: 5px 5px;\n  background-size: 14px 14px;\n  padding: 5px;\n  text-align: center;\n  color: #999;\n}\n.dx-searchbox .dx-icon-search::before {\n  content: \"\\f027\";\n  color: #999;\n}\n.dx-searchbox .dx-placeholder::before,\n.dx-searchbox .dx-texteditor-input {\n  padding-left: 24px;\n}\n.dx-rtl .dx-searchbox .dx-placeholder::before,\n.dx-rtl .dx-searchbox .dx-texteditor-input,\n.dx-rtl.dx-searchbox .dx-placeholder::before,\n.dx-rtl.dx-searchbox .dx-texteditor-input {\n  padding-right: 24px;\n  padding-left: 0;\n}\n.dx-searchbox.dx-editor-underlined .dx-texteditor-buttons-container + .dx-texteditor-input-container .dx-texteditor-input,\n.dx-searchbox.dx-editor-underlined .dx-texteditor-input {\n  padding-left: 24px;\n}\n.dx-rtl .dx-searchbox.dx-editor-underlined .dx-texteditor-buttons-container + .dx-texteditor-input-container .dx-texteditor-input,\n.dx-rtl .dx-searchbox.dx-editor-underlined .dx-texteditor-input,\n.dx-rtl.dx-searchbox.dx-editor-underlined .dx-texteditor-buttons-container + .dx-texteditor-input-container .dx-texteditor-input,\n.dx-rtl.dx-searchbox.dx-editor-underlined .dx-texteditor-input {\n  padding-right: 24px;\n  padding-left: 0;\n}\n.dx-searchbox.dx-editor-filled .dx-texteditor-label .dx-label-before,\n.dx-searchbox.dx-editor-outlined .dx-texteditor-label .dx-label-before,\n.dx-searchbox.dx-editor-underlined .dx-texteditor-label .dx-label-before {\n  min-width: 0;\n}\n.dx-searchbar {\n  padding-bottom: 5px;\n}\n.dx-searchbar .dx-texteditor {\n  margin: 0;\n}\n.dx-dropdowneditor {\n  position: relative;\n}\n.dx-dropdowneditor.dx-dropdowneditor-field-clickable,\n.dx-dropdowneditor.dx-dropdowneditor-field-clickable .dx-texteditor-input {\n  cursor: pointer;\n}\n.dx-dropdowneditor.dx-dropdowneditor-field-clickable .dx-texteditor-buttons-container .dx-state-disabled .dx-button,\n.dx-dropdowneditor.dx-dropdowneditor-field-clickable .dx-texteditor-buttons-container .dx-state-disabled.dx-button {\n  pointer-events: auto;\n}\n.dx-dropdowneditor-input-wrapper {\n  -webkit-tap-highlight-color: transparent;\n  overflow: hidden;\n  height: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-dropdowneditor-input-wrapper .dx-texteditor {\n  border: none;\n  margin: 0;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-dropdowneditor-input-wrapper .dx-texteditor-input {\n  text-overflow: ellipsis;\n}\n.dx-dropdowneditor-input-wrapper .dx-texteditor-input::-ms-clear {\n  width: 0;\n  height: 0;\n}\n.dx-dropdowneditor-field-template-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  position: relative;\n  -webkit-box-align: baseline;\n  -ms-flex-align: baseline;\n  align-items: baseline;\n}\n.dx-dropdowneditor-field-template-wrapper > * {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-dropdowneditor-active .dx-dropdowneditor-icon {\n  opacity: .35;\n}\n.dx-dropdowneditor-button {\n  position: relative;\n  float: right;\n  height: 100%;\n  cursor: pointer;\n  width: 24px;\n  min-width: 24px;\n  padding: 1px;\n  border-radius: 4px;\n}\n.dx-dropdowneditor-button .dx-button-content {\n  text-align: center;\n  white-space: nowrap;\n}\n.dx-rtl .dx-dropdowneditor-button,\n.dx-rtl.dx-dropdowneditor-button {\n  float: left;\n}\n.dx-dropdowneditor-button.dx-dropdowneditor-readonly {\n  cursor: default;\n}\n.dx-dropdowneditor-icon {\n  background-position: center;\n  background-repeat: no-repeat;\n  border: 1px solid transparent;\n  color: #333;\n  font: 14px/14px DXIcons;\n  width: 22px;\n  height: 100%;\n  text-align: center;\n  border-radius: 3px;\n}\n.dx-state-disabled .dx-dropdowneditor,\n.dx-state-disabled.dx-dropdowneditor {\n  cursor: default;\n}\n.dx-state-disabled .dx-dropdowneditor-button {\n  cursor: inherit;\n}\n.dx-state-disabled .dx-dropdowneditor-icon {\n  opacity: .2;\n}\n.dx-dropdowneditor-button.dx-button-mode-contained,\n.dx-dropdowneditor-button.dx-button-mode-outlined,\n.dx-dropdowneditor-button.dx-button-mode-text {\n  background: 0 0;\n}\n.dx-state-disabled .dx-dropdowneditor-button .dx-dropdowneditor-icon,\n.dx-state-readonly .dx-dropdowneditor-button .dx-dropdowneditor-icon {\n  opacity: 1;\n}\n.dx-dropdowneditor-icon::before {\n  content: \"\\f001\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-editor-filled,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-editor-outlined,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-editor-underlined {\n  border: none;\n  background: 0 0;\n}\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-label .dx-texteditor-label .dx-label,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-label .dx-texteditor-label .dx-label-after,\n.dx-dropdowneditor-input-wrapper .dx-texteditor.dx-texteditor-with-label .dx-texteditor-label .dx-label-before {\n  border: none;\n}\n.dx-dropdowneditor-button-visible .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-rtl .dx-dropdowneditor-button-visible .dx-texteditor-input,\n.dx-rtl.dx-dropdowneditor-button-visible .dx-texteditor-input {\n  padding-right: 5px;\n  padding-left: 0;\n}\n.dx-rtl .dx-dropdowneditor-button-visible.dx-editor-underlined .dx-texteditor-input,\n.dx-rtl.dx-dropdowneditor-button-visible.dx-editor-underlined .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-invalid .dx-texteditor-input,\n.dx-valid .dx-texteditor-input,\n.dx-validation-pending .dx-texteditor-input {\n  padding-right: 20px;\n}\n.dx-invalid.dx-rtl .dx-texteditor-input,\n.dx-valid.dx-rtl .dx-texteditor-input,\n.dx-validation-pending.dx-rtl .dx-texteditor-input {\n  padding-right: 5px;\n  padding-left: 20px;\n}\n.dx-dropdowneditor.dx-state-active .dx-dropdowneditor-icon,\n.dx-dropdowneditor.dx-state-hover:not(.dx-custom-button-hovered) .dx-dropdowneditor-icon {\n  background-color: #e6e6e6;\n  border-color: transparent;\n}\n.dx-editor-filled.dx-dropdowneditor.dx-state-active .dx-dropdowneditor-icon,\n.dx-editor-filled.dx-dropdowneditor.dx-state-hover:not(.dx-custom-button-hovered) .dx-dropdowneditor-icon {\n  background-color: rgba(51,122,183,.2);\n}\n.dx-dropdowneditor-button.dx-state-active .dx-dropdowneditor-icon,\n.dx-dropdowneditor.dx-dropdowneditor-active .dx-dropdowneditor-icon {\n  background-color: #b3b3b3;\n  border-color: transparent;\n  color: #333;\n  opacity: 1;\n}\n.dx-editor-filled .dx-dropdowneditor-button.dx-state-active .dx-dropdowneditor-icon,\n.dx-editor-filled .dx-dropdowneditor.dx-dropdowneditor-active .dx-dropdowneditor-icon,\n.dx-editor-filled.dx-dropdowneditor-button.dx-state-active .dx-dropdowneditor-icon,\n.dx-editor-filled.dx-dropdowneditor.dx-dropdowneditor-active .dx-dropdowneditor-icon {\n  background-color: rgba(51,122,183,.3);\n}\n.dx-invalid.dx-dropdowneditor .dx-texteditor-container::after {\n  right: 26px;\n}\n.dx-rtl .dx-invalid.dx-dropdowneditor .dx-texteditor-container::after,\n.dx-rtl.dx-invalid.dx-dropdowneditor .dx-texteditor-container::after {\n  right: auto;\n  left: 26px;\n}\n.dx-invalid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after {\n  right: 48px;\n}\n.dx-rtl .dx-invalid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after,\n.dx-rtl.dx-invalid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after {\n  right: auto;\n  left: 48px;\n}\n.dx-state-hover.dx-invalid.dx-dropdowneditor.dx-editor-filled .dx-dropdowneditor-icon {\n  background-color: rgba(217,83,79,.2);\n}\n.dx-dropdowneditor-active.dx-invalid.dx-dropdowneditor.dx-editor-filled .dx-dropdowneditor-icon,\n.dx-state-active.dx-invalid.dx-dropdowneditor.dx-editor-filled .dx-dropdowneditor-icon {\n  background-color: rgba(217,83,79,.3);\n}\n.dx-valid.dx-dropdowneditor .dx-texteditor-container::after {\n  right: 26px;\n}\n.dx-rtl .dx-valid.dx-dropdowneditor .dx-texteditor-container::after,\n.dx-rtl.dx-valid.dx-dropdowneditor .dx-texteditor-container::after {\n  right: auto;\n  left: 26px;\n}\n.dx-valid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after {\n  right: 48px;\n}\n.dx-rtl .dx-valid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after,\n.dx-rtl.dx-valid.dx-dropdowneditor.dx-show-clear-button:not(.dx-texteditor-empty) .dx-texteditor-container::after {\n  right: auto;\n  left: 48px;\n}\n.dx-list {\n  margin: 0;\n  min-height: 3em;\n}\n.dx-list .dx-scrollview-content:focus {\n  outline: 0;\n}\n.dx-wrap-item-text > .dx-list-group > .dx-list-group-body > .dx-list-item > .dx-list-item-content,\n.dx-wrap-item-text > .dx-list-item > .dx-list-item-content {\n  white-space: normal;\n}\n.dx-empty-collection .dx-list-select-all {\n  display: none;\n}\n.dx-list-group-header::before {\n  width: 0;\n  height: 0;\n  display: block;\n  float: right;\n  margin-top: 6px;\n  border-style: solid;\n  border-color: transparent;\n  border-width: 5px 5px 0;\n}\n.dx-list-collapsible-groups .dx-list-group-header {\n  cursor: pointer;\n}\n.dx-list-collapsible-groups .dx-list-group-header::before {\n  content: \" \";\n}\n.dx-list-group-collapsed .dx-list-group-header::before {\n  border-width: 0 5px 5px;\n}\n.dx-list-group-body {\n  overflow: hidden;\n}\n.dx-list-item {\n  position: static;\n  cursor: pointer;\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-list-item-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  display: table-cell;\n  width: 100%;\n}\n.dx-list-item-content::before {\n  content: \"_\";\n  color: transparent;\n  display: inline-block;\n  width: 0;\n  float: left;\n}\n.dx-list .dx-empty-message {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  min-height: 3em;\n  text-align: left;\n}\n.dx-list-item-badge-container {\n  display: table-cell;\n  width: 20px;\n  text-align: right;\n  vertical-align: middle;\n  padding-right: 10px;\n}\n.dx-list-item-badge {\n  float: right;\n  position: relative;\n}\n.dx-list-item-chevron-container {\n  display: table-cell;\n  vertical-align: middle;\n}\n.dx-list-item-icon-container {\n  display: inline-block;\n}\n.dx-list-item-chevron {\n  border-width: 2px 0 0 2px;\n  opacity: .3;\n}\n.dx-list-item-response-wait {\n  opacity: .5;\n  -webkit-transition: opacity .2s linear;\n  transition: opacity .2s linear;\n}\n.dx-list-slide-menu-content {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n}\n.dx-list-item-after-bag,\n.dx-list-item-before-bag {\n  display: table-cell;\n  width: 0;\n  height: 100%;\n  vertical-align: middle;\n}\n.dx-list-item-before-bag .dx-list-toggle-delete-switch {\n  display: block;\n  float: left;\n  padding: 3px 0;\n}\n.dx-list-item-before-bag .dx-icon-toggle-delete {\n  -webkit-transition: .1s linear;\n  transition: .1s linear;\n}\n.dx-list-item-before-bag .dx-list-select-checkbox {\n  float: left;\n  -webkit-transition: .1s linear;\n  transition: .1s linear;\n}\n.dx-list-select-all-label {\n  display: inline-block;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-list-item-after-bag .dx-list-reorder-handle {\n  cursor: move;\n  background-repeat: no-repeat;\n  -ms-touch-action: manipulation;\n  touch-action: manipulation;\n}\n.dx-state-disabled .dx-list-item-after-bag .dx-list-reorder-handle {\n  cursor: default;\n}\n.dx-list-switchable-menu-shield-positioning {\n  position: relative;\n  -webkit-transform: translateZ(0);\n  transform: translateZ(0);\n}\n.dx-list-switchable-delete-bottom-shield,\n.dx-list-switchable-delete-top-shield {\n  position: absolute;\n  right: 0;\n  left: 0;\n  cursor: pointer;\n}\n.dx-list-switchable-delete-top-shield {\n  top: 0;\n}\n.dx-list-switchable-delete-bottom-shield {\n  bottom: 0;\n}\n.dx-list-switchable-delete-item-content-shield {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n.dx-list-switchable-delete-button-container {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  overflow: hidden;\n}\n.dx-list-switchable-delete-button-wrapper {\n  display: table;\n  height: 100%;\n}\n.dx-list-switchable-delete-button-inner-wrapper {\n  display: table-cell;\n  padding-left: 1px;\n  height: 100%;\n  vertical-align: middle;\n}\n.dx-list-switchable-menu-item-shield-positioning,\n.dx-list-switchable-menu-item-shield-positioning .dx-list-item-content,\n.dx-list-switchable-menu-item-shield-positioning .dx-list-slide-menu-content {\n  position: relative;\n}\n.dx-list-switchable-delete-ready .dx-icon-toggle-delete {\n  -webkit-transform: rotate(-90deg);\n  transform: rotate(-90deg);\n}\n.dx-list-slide-menu-buttons-container {\n  position: absolute;\n  width: 100%;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  overflow: hidden;\n}\n.dx-device-ios .dx-list-slide-menu-buttons-container {\n  -webkit-mask-image: -webkit-radial-gradient(white,black);\n}\n.dx-list-slide-menu-buttons {\n  position: relative;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  display: table;\n  height: 100%;\n}\n.dx-list-slide-menu-button {\n  display: table-cell;\n  padding: 0 10px;\n  vertical-align: middle;\n  bottom: 1px;\n}\n.dx-list-static-delete-button .dx-button-content {\n  overflow: visible;\n}\n.dx-list-next-button {\n  padding: 5px;\n  text-align: center;\n}\n.dx-list-next-button .dx-button {\n  padding: 0 3em;\n}\n.dx-state-disabled .dx-list-item,\n.dx-state-disabled .dx-list-switchable-delete-button,\n.dx-state-disabled .dx-list-toggle-delete-switch,\n.dx-state-disabled.dx-list-item {\n  cursor: default;\n}\n.dx-list-context-menuitem {\n  cursor: pointer;\n}\n.dx-rtl .dx-list .dx-list-item-badge-container,\n.dx-rtl.dx-list .dx-list-item-badge-container {\n  padding-left: 10px;\n  padding-right: 0;\n}\n.dx-rtl .dx-list .dx-list-item-badge,\n.dx-rtl.dx-list .dx-list-item-badge {\n  float: left;\n}\n.dx-rtl .dx-list .dx-list-item-before-bag .dx-list-select-checkbox,\n.dx-rtl .dx-list .dx-list-item-before-bag .dx-list-toggle-delete-switch,\n.dx-rtl.dx-list .dx-list-item-before-bag .dx-list-select-checkbox,\n.dx-rtl.dx-list .dx-list-item-before-bag .dx-list-toggle-delete-switch {\n  float: right;\n}\n.dx-rtl .dx-list .dx-list-switchable-delete-button-inner-wrapper,\n.dx-rtl.dx-list .dx-list-switchable-delete-button-inner-wrapper {\n  padding-right: 1px;\n  padding-left: 0;\n}\n.dx-rtl .dx-list .dx-list-slide-item-delete-button-container,\n.dx-rtl.dx-list .dx-list-slide-item-delete-button-container {\n  right: 100%;\n  left: 0;\n}\n.dx-rtl .dx-list .dx-list-slide-item-delete-button,\n.dx-rtl.dx-list .dx-list-slide-item-delete-button {\n  right: auto;\n  left: 0;\n}\n.dx-rtl .dx-list .dx-list-group-header::before,\n.dx-rtl.dx-list .dx-list-group-header::before {\n  float: left;\n}\n.dx-list-item-chevron {\n  -webkit-transform: rotate(0);\n  transform: rotate(0);\n  border: none;\n  opacity: 1;\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n  margin-left: -5px;\n  color: #333;\n}\n.dx-rtl .dx-list-item-chevron {\n  margin-left: auto;\n  margin-right: -6px;\n  -webkit-transform: rotate(0);\n  transform: rotate(0);\n}\n.dx-list-item-chevron::before {\n  content: \"\\f010\";\n}\n.dx-list-item-icon-container {\n  width: 19px;\n  height: 14px;\n  vertical-align: top;\n}\n.dx-list-item-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-list-search {\n  margin-bottom: 3px;\n}\n.dx-list {\n  border: none;\n}\n.dx-list.dx-list-with-search .dx-scrollable-wrapper {\n  height: calc(100% - 29px);\n}\n.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-hover .dx-checkbox-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-hover .dx-radiobutton-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-hover .dx-checkbox-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-hover .dx-radiobutton-icon {\n  border-color: #265a87;\n}\n.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-checkbox-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-item.dx-state-focused .dx-radiobutton-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-focused .dx-checkbox-icon,\n.dx-list.dx-list-select-decorator-enabled .dx-list-select-all.dx-state-focused .dx-radiobutton-icon {\n  border: 1px solid #337ab7;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-hover .dx-icon {\n  color: #333;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-hover .dx-icon-toggle-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.0.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22dx_l_3%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20style%3D%22fill%3A%23333%3B%22%20d%3D%22M12%2C2C6.5%2C2%2C2%2C6.5%2C2%2C12c0%2C5.5%2C4.5%2C10%2C10%2C10s10-4.5%2C10-10C22%2C6.5%2C17.5%2C2%2C12%2C2z%20M18%2C13H6v-2h12V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected {\n  background-color: rgba(0,0,0,.1);\n  color: #333;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected .dx-icon {\n  color: #333;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected.dx-state-hover:not(.dx-state-focused) {\n  background-color: rgba(0,0,0,.07);\n  color: #333;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected .dx-icon-toggle-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.0.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22dx_l_3%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20style%3D%22fill%3A%23333%3B%22%20d%3D%22M12%2C2C6.5%2C2%2C2%2C6.5%2C2%2C12c0%2C5.5%2C4.5%2C10%2C10%2C10s10-4.5%2C10-10C22%2C6.5%2C17.5%2C2%2C12%2C2z%20M18%2C13H6v-2h12V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused .dx-icon {\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused .dx-list-item-chevron {\n  border-color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused .dx-icon-toggle-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.0.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22dx_l_3%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20style%3D%22fill%3A%23fff%3B%22%20d%3D%22M12%2C2C6.5%2C2%2C2%2C6.5%2C2%2C12c0%2C5.5%2C4.5%2C10%2C10%2C10s10-4.5%2C10-10C22%2C6.5%2C17.5%2C2%2C12%2C2z%20M18%2C13H6v-2h12V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused.dx-list-item-selected {\n  background-color: rgba(51,122,183,.7);\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-icon {\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-list-slide-item-content {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-icon-toggle-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.0.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22dx_l_3%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20style%3D%22fill%3A%23fff%3B%22%20d%3D%22M12%2C2C6.5%2C2%2C2%2C6.5%2C2%2C12c0%2C5.5%2C4.5%2C10%2C10%2C10s10-4.5%2C10-10C22%2C6.5%2C17.5%2C2%2C12%2C2z%20M18%2C13H6v-2h12V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item .dx-icon,\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-active .dx-button .dx-icon,\n.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused .dx-button .dx-icon {\n  color: #333;\n}\n.dx-list-group-header {\n  font-weight: 700;\n  padding: 10px 5px 5px;\n  border-top: 0 solid #ddd;\n  border-bottom: 2px solid #ddd;\n  background: rgba(238,238,238,.05);\n  color: #333;\n}\n.dx-list-group:first-of-type .dx-list-group-header {\n  border-top: none;\n}\n.dx-list-group-header::before {\n  border-top-color: #333;\n}\n.dx-list-group-collapsed .dx-list-group-header::before {\n  border-bottom-color: #333;\n}\n.dx-list-item:first-of-type {\n  border-top: none;\n}\n.dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-list-item .dx-icon-toggle-delete {\n  background-size: 100%;\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.0.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22dx_l_3%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20style%3D%22enable-background%3Anew%200%200%2024%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20style%3D%22fill%3A%23333%3B%22%20d%3D%22M12%2C2C6.5%2C2%2C2%2C6.5%2C2%2C12c0%2C5.5%2C4.5%2C10%2C10%2C10s10-4.5%2C10-10C22%2C6.5%2C17.5%2C2%2C12%2C2z%20M18%2C13H6v-2h12V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-list-item.dx-list-item-ghost-reordering.dx-state-focused.dx-state-hover {\n  color: #959595;\n  background: #fff;\n  border-top: 1px solid rgba(51,122,183,.5);\n  border-bottom: 1px solid rgba(51,122,183,.5);\n  -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n}\n.dx-list .dx-empty-message,\n.dx-list-item {\n  border-top: 0 solid #ddd;\n  color: #333;\n}\n.dx-list-item-separator-hidden .dx-list .dx-empty-message,\n.dx-list-item-separator-hidden .dx-list-item {\n  border-top: none;\n  border-bottom: none;\n}\n.dx-list .dx-empty-message,\n.dx-list-item-content {\n  padding: 5px;\n}\n.dx-list-next-button .dx-button .dx-button-content {\n  padding: 4px 10px;\n}\n.dx-list-next-button .dx-button .dx-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-list-next-button .dx-button .dx-icon.dx-icon-right,\n.dx-rtl .dx-list-next-button .dx-button .dx-icon,\n.dx-rtl.dx-list-next-button .dx-button .dx-icon {\n  margin-left: 7px;\n  margin-right: 0;\n}\n.dx-rtl .dx-list-next-button .dx-button .dx-icon.dx-icon-right,\n.dx-rtl.dx-list-next-button .dx-button .dx-icon.dx-icon-right {\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-list-item-chevron-container {\n  width: 11px;\n}\n.dx-list-border-visible {\n  border: 1px solid #ddd;\n}\n.dx-list-border-visible .dx-list-select-all {\n  border-bottom: 1px solid #ddd;\n}\n.dx-list-item-before-bag.dx-list-toggle-delete-switch-container {\n  width: 24px;\n}\n.dx-list-item-before-bag.dx-list-select-checkbox-container,\n.dx-list-item-before-bag.dx-list-select-radiobutton-container {\n  width: 26px;\n}\n.dx-list-item-before-bag .dx-button.dx-list-toggle-delete-switch {\n  border: none;\n  background: 0 0;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-list-item-before-bag .dx-button.dx-list-toggle-delete-switch .dx-button-content {\n  padding: 0;\n}\n.dx-list-item-before-bag .dx-icon-toggle-delete {\n  margin: 2.5px 2.5px 2.5px 5px;\n  width: 14px;\n  height: 14px;\n}\n.dx-list-item-before-bag .dx-list-select-checkbox,\n.dx-list-item-before-bag .dx-list-select-radiobutton {\n  margin-top: 1px;\n  margin-bottom: -3px;\n  margin-left: 5px;\n}\n.dx-list-select-all {\n  white-space: nowrap;\n  padding: 4px 0 3px;\n}\n.dx-list-select-all-checkbox {\n  float: left;\n  margin: -1px 5px -3px;\n}\n.dx-list-select-all-label {\n  line-height: 16px;\n  padding: 0 5px;\n  margin-top: -1px;\n}\n.dx-list-item-after-bag.dx-list-static-delete-button-container {\n  width: 23px;\n}\n.dx-list-item-after-bag.dx-list-reorder-handle-container {\n  width: 23.2px;\n}\n.dx-list-item-after-bag .dx-list-reorder-handle {\n  font: 14px/14px DXIcons;\n  width: 22.4px;\n  height: 22.4px;\n  background-position: 4px 4px;\n  background-size: 14px 14px;\n  padding: 4px;\n  text-align: center;\n}\n.dx-list-item-after-bag .dx-list-reorder-handle::before {\n  content: \"\\f038\";\n}\n.dx-list-slide-menu-button-delete {\n  border: 1px solid transparent;\n  color: #fff;\n  background-color: #d9534f;\n}\n.dx-list-slide-menu-button-menu {\n  border: 1px solid transparent;\n  color: #fff;\n  background-color: #337ab7;\n}\n.dx-list-static-delete-button,\n.dx-list-switchable-delete-button {\n  margin-right: 5px;\n  padding: 0;\n}\n.dx-list-static-delete-button .dx-button-content,\n.dx-list-switchable-delete-button .dx-button-content {\n  padding: 1px;\n}\n.dx-list-context-menucontent {\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 0;\n  -webkit-box-shadow: 0 3px 10px rgba(0,0,0,.1);\n  box-shadow: 0 3px 10px rgba(0,0,0,.1);\n}\n.dx-state-disabled .dx-list-item,\n.dx-state-disabled.dx-list-item {\n  background-color: transparent;\n  opacity: .6;\n}\n.dx-rtl .dx-list .dx-empty-message,\n.dx-rtl.dx-list .dx-empty-message {\n  text-align: right;\n}\n.dx-rtl .dx-list .dx-list-item-before-bag .dx-icon-toggle-delete,\n.dx-rtl.dx-list .dx-list-item-before-bag .dx-icon-toggle-delete {\n  margin: 2.5px 5px 2.5px 2.5px;\n}\n.dx-rtl .dx-list .dx-list-item-before-bag .dx-list-select-checkbox,\n.dx-rtl .dx-list .dx-list-item-before-bag .dx-list-select-radiobutton,\n.dx-rtl.dx-list .dx-list-item-before-bag .dx-list-select-checkbox,\n.dx-rtl.dx-list .dx-list-item-before-bag .dx-list-select-radiobutton {\n  margin-right: 5px;\n  margin-left: 1px;\n}\n.dx-rtl .dx-list .dx-list-select-all-checkbox,\n.dx-rtl.dx-list .dx-list-select-all-checkbox {\n  float: right;\n  margin-right: 5px;\n  margin-left: 1px;\n}\n.dx-rtl .dx-list .dx-list-switchable-delete-button,\n.dx-rtl.dx-list .dx-list-switchable-delete-button {\n  margin-left: 5px;\n  margin-right: 0;\n}\n.dx-textarea .dx-texteditor-input-container {\n  -webkit-box-align: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n}\n.dx-textarea .dx-texteditor-input {\n  resize: none;\n  font-family: inherit;\n  display: block;\n  overflow: auto;\n  white-space: pre-wrap;\n  margin: 0;\n}\n.dx-textarea .dx-texteditor-input-auto-resize {\n  overflow-y: hidden;\n}\n.dx-textarea .dx-placeholder {\n  height: auto;\n}\n.dx-textarea .dx-placeholder::before {\n  white-space: normal;\n}\n.dx-textarea {\n  height: auto;\n}\n.dx-textarea .dx-icon-clear {\n  top: 0;\n  margin-top: 0;\n}\n.dx-textarea.dx-invalid .dx-texteditor-container::after {\n  top: 4px;\n  margin-top: 0;\n}\n.dx-numberbox {\n  position: relative;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-numberbox input[type=number] {\n  -moz-appearance: textfield;\n}\n.dx-numberbox input[type=number]::-webkit-inner-spin-button,\n.dx-numberbox input[type=number]::-webkit-outer-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n.dx-numberbox-spin-container {\n  height: 100%;\n}\n.dx-numberbox-spin-down,\n.dx-numberbox-spin-up {\n  position: relative;\n  width: 100%;\n  height: 50%;\n  cursor: pointer;\n}\n.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-down,\n.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-up {\n  width: 50%;\n  height: 100%;\n  display: inline-block;\n}\n.dx-numberbox-spin-down-icon,\n.dx-numberbox-spin-up-icon {\n  width: 100%;\n  height: 100%;\n}\n.dx-state-disabled .dx-numberbox-spin-container {\n  opacity: .2;\n}\n.dx-numberbox-spin-container {\n  overflow: hidden;\n  width: 20px;\n  border-radius: 4px;\n}\n.dx-numberbox-spin-up-icon {\n  font: 14px/1 DXIcons;\n  color: #333;\n}\n.dx-numberbox-spin-up-icon::before {\n  content: \"\\f002\";\n}\n.dx-numberbox-spin-down-icon {\n  font: 14px/1 DXIcons;\n  color: #333;\n}\n.dx-numberbox-spin-down-icon::before {\n  content: \"\\f001\";\n}\n.dx-numberbox-spin-down-icon,\n.dx-numberbox-spin-up-icon {\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n  border-radius: 3px;\n}\n.dx-numberbox-spin-down-icon::before,\n.dx-numberbox-spin-up-icon::before {\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-numberbox-spin-button {\n  padding: 1px;\n}\n.dx-editor-underlined .dx-numberbox-spin-button {\n  background: 0 0;\n}\n.dx-state-hover.dx-numberbox-spin-button .dx-numberbox-spin-down-icon,\n.dx-state-hover.dx-numberbox-spin-button .dx-numberbox-spin-up-icon {\n  -webkit-box-shadow: 0 0 0 1px transparent inset;\n  box-shadow: 0 0 0 1px transparent inset;\n  background-color: #e6e6e6;\n}\n.dx-state-active.dx-numberbox-spin-button .dx-numberbox-spin-down-icon,\n.dx-state-active.dx-numberbox-spin-button .dx-numberbox-spin-up-icon {\n  background-color: #b3b3b3;\n  color: #333;\n}\n.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-container {\n  width: 60px;\n  border-left: none;\n}\n.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-down-icon,\n.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-up-icon {\n  background-position: center;\n}\n.dx-numberbox.dx-rtl.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-container,\n.dx-rtl .dx-numberbox.dx-numberbox-spin-touch-friendly .dx-numberbox-spin-container {\n  border-right: none;\n}\n.dx-numberbox.dx-rtl.dx-numberbox-spin .dx-texteditor-input,\n.dx-rtl .dx-numberbox.dx-numberbox-spin .dx-texteditor-input {\n  padding-left: 5px;\n}\n.dx-calendar {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  position: relative;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  direction: ltr;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -webkit-box-pack: justify;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  border: 1px solid transparent;\n  width: 232px;\n  height: 226px;\n  background-color: #fff;\n  gap: 8px;\n}\n.dx-calendar.dx-rtl {\n  direction: rtl;\n}\n.dx-calendar-views-wrapper {\n  position: relative;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex: auto;\n  flex: auto;\n}\n.dx-calendar-navigator {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: justify;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n}\n.dx-calendar-navigator .dx-calendar-caption-button {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  overflow: hidden;\n  font-weight: 600;\n  border-radius: 0;\n}\n.dx-calendar-navigator .dx-button .dx-button-text {\n  text-transform: none;\n}\n.dx-calendar-navigator .dx-button.dx-state-disabled {\n  opacity: 1;\n}\n.dx-calendar-navigator .dx-button.dx-state-disabled .dx-button-content {\n  opacity: .5;\n}\n.dx-calendar-navigator .dx-button.dx-state-active,\n.dx-calendar-navigator .dx-button.dx-state-hover {\n  z-index: 1;\n}\n.dx-calendar-body {\n  overflow: hidden;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n.dx-calendar-body .dx-widget {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n}\n.dx-calendar-body table {\n  width: 100%;\n  height: 100%;\n  table-layout: fixed;\n  border-spacing: 0;\n  line-height: normal;\n}\n.dx-calendar-body td,\n.dx-calendar-body th {\n  padding: 0;\n}\n.dx-calendar-body thead th {\n  font-weight: 500;\n  font-size: 10px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  color: #333;\n}\n.dx-calendar-week-number-cell {\n  position: relative;\n  color: rgba(51,51,51,.56);\n  width: 2em;\n}\n.dx-calendar-week-number-cell span {\n  position: absolute;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  text-align: center;\n  width: 2em;\n  inset: 0;\n  background-color: rgba(224,224,224,.5);\n  inset-inline-start: 0;\n}\n.dx-calendar-cell {\n  cursor: pointer;\n  position: relative;\n  text-align: center;\n  font-size: 12px;\n  color: #333;\n}\n.dx-calendar-cell span {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  position: relative;\n  z-index: 2;\n  border-radius: 4px;\n  width: 2em;\n  height: 2em;\n}\n.dx-calendar-footer {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n.dx-calendar-multiview .dx-calendar-caption-button .dx-button-content {\n  -webkit-box-pack: justify;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-calendar-multiview .dx-calendar-body .dx-widget,\n.dx-calendar-multiview .dx-calendar-caption-button .dx-button-text {\n  width: 50%;\n}\n.dx-calendar-multiview .dx-calendar-body table {\n  padding: 0 10px;\n}\n.dx-calendar.dx-calendar-with-footer {\n  height: 262px;\n}\n.dx-calendar.dx-calendar-multiview {\n  width: 464px;\n}\n.dx-calendar.dx-invalid {\n  border-color: rgba(217,83,79,.4);\n}\n.dx-calendar.dx-invalid.dx-state-focused {\n  border-color: #d9534f;\n}\n.dx-calendar-navigator .dx-calendar-navigator-previous-view {\n  -webkit-margin-end: -1px;\n  margin-inline-end: -1px;\n  border-start-end-radius: 0;\n  border-end-end-radius: 0;\n}\n.dx-calendar-navigator .dx-calendar-navigator-next-view {\n  -webkit-margin-start: -1px;\n  margin-inline-start: -1px;\n  border-end-start-radius: 0;\n  border-start-start-radius: 0;\n}\n.dx-calendar-body thead tr {\n  height: 2em;\n}\n.dx-calendar-body tbody tr:first-of-type .dx-calendar-week-number-cell span {\n  border-start-start-radius: 0;\n  border-start-end-radius: 0;\n}\n.dx-calendar-body tbody tr:last-of-type .dx-calendar-week-number-cell span {\n  border-end-start-radius: 0;\n  border-end-end-radius: 0;\n}\n.dx-calendar-body .dx-week-number-header {\n  font-size: 12px;\n  width: 2.5em;\n}\n.dx-calendar-view-century .dx-calendar-cell span,\n.dx-calendar-view-decade .dx-calendar-cell span,\n.dx-calendar-view-year .dx-calendar-cell span {\n  width: 4em;\n  height: 4em;\n  border-radius: 4px;\n  word-spacing: 4em;\n  line-height: 1em;\n}\n.dx-calendar-cell.dx-calendar-today span {\n  border: 2px solid #337ab7;\n}\n.dx-calendar-cell.dx-state-hover span {\n  background-color: rgba(51,122,183,.24);\n  color: #333;\n}\n.dx-calendar-cell.dx-state-active span {\n  background-color: rgba(51,122,183,.4);\n}\n.dx-calendar-cell.dx-calendar-selected-date span {\n  color: #fff;\n  background-color: #337ab7;\n}\n.dx-calendar-cell.dx-calendar-contoured-date span {\n  -webkit-box-shadow: 0 0 0 2px rgba(51,122,183,.5);\n  box-shadow: 0 0 0 2px rgba(51,122,183,.5);\n}\n.dx-calendar-cell.dx-calendar-empty-cell,\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-active span,\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view,\n.dx-calendar-cell.dx-calendar-other-view.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-state-hover span {\n  color: rgba(51,51,51,.38);\n}\n.dx-calendar-cell.dx-calendar-empty-cell.dx-calendar-selected-date span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-selected-date span {\n  color: #fff;\n}\n.dx-calendar-cell.dx-calendar-other-view::after,\n.dx-calendar-cell.dx-calendar-other-view::before {\n  content: none;\n}\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-in-range.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-in-range.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-range-hover.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-range-hover.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-end-date.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-end-date.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-start-date.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-start-date.dx-state-hover span {\n  color: rgba(51,51,51,.38);\n}\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-in-range.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-range-hover.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-end-date.dx-state-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-start-date.dx-state-hover span {\n  background-color: rgba(51,122,183,.24);\n}\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-in-range.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-range-hover.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-end-date.dx-state-active span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-start-date.dx-state-active span {\n  background-color: rgba(51,122,183,.4);\n}\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-in-range span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-cell-range-hover span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-end-date span,\n.dx-calendar-cell.dx-calendar-other-view.dx-calendar-range-start-date span {\n  color: rgba(51,51,51,.38);\n  background-color: transparent;\n}\n.dx-calendar-cell.dx-calendar-empty-cell {\n  cursor: default;\n  color: rgba(51,51,51,.24);\n}\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-active span,\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-hover span {\n  background-color: transparent;\n}\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-active.dx-calendar-selected-date span,\n.dx-calendar-cell.dx-calendar-empty-cell.dx-state-hover.dx-calendar-selected-date span {\n  background-color: #337ab7;\n}\n.dx-calendar-cell-in-range::before {\n  content: \"\";\n  position: absolute;\n  z-index: 1;\n  height: 2em;\n  inset-inline-start: 0;\n  inset-inline-end: 0;\n  width: 100%;\n  background-color: rgba(51,122,183,.24);\n  border-width: 0;\n  border-style: dashed;\n  border-color: rgba(51,122,183,.6) transparent;\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-end-in-row::before,\n.dx-calendar-cell-in-range.dx-calendar-cell-end::before,\n.dx-calendar-cell-in-range.dx-calendar-cell-start-in-row::before,\n.dx-calendar-cell-in-range.dx-calendar-cell-start::before,\n.dx-calendar-cell-in-range.dx-calendar-range-end-date::before,\n.dx-calendar-cell-in-range.dx-calendar-range-start-date::before {\n  width: calc(50% + 1em);\n}\n.dx-calendar-cell-in-range.dx-calendar-range-start-date::before {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-range-start-date.dx-calendar-range-end-date::before {\n  content: none;\n}\n.dx-calendar-cell-in-range.dx-calendar-range-end-date::before {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-start-in-row::before {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-start-in-row.dx-calendar-cell-end::before,\n.dx-calendar-cell-in-range.dx-calendar-cell-start-in-row.dx-calendar-range-end-date::before {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-end-in-row::before {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-end-in-row.dx-calendar-range-start-date::before {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-start::before {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-start.dx-calendar-range-end-date::before {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-start.dx-calendar-cell-end-in-row::before {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-end::before {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-in-range.dx-calendar-cell-end.dx-calendar-range-start-date::before {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-range-hover::after {\n  content: \"\";\n  position: absolute;\n  z-index: 1;\n  height: 2em;\n  inset-inline-start: 0;\n  inset-inline-end: 0;\n  width: 100%;\n  background-color: inherit;\n  border-width: 1px;\n  border-style: dashed;\n  border-color: rgba(51,122,183,.6) transparent;\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-end-in-row::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-end::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-range-hover-end::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-range-hover-start::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-start-in-row::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-start::after {\n  width: calc(50% + 1em);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-range-hover-start::after {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-range-hover-start.dx-calendar-cell-range-hover-end::after {\n  content: none;\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-range-hover-end::after {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-start-in-row::after {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-start-in-row.dx-calendar-cell-end::after,\n.dx-calendar-cell-range-hover.dx-calendar-cell-start-in-row.dx-calendar-cell-range-hover-end::after {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-end-in-row::after {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-end-in-row.dx-calendar-cell-range-hover-start::after {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-start::after {\n  inset-inline-start: auto;\n  border-start-start-radius: 4px;\n  border-end-start-radius: 4px;\n  border-inline-start-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-start.dx-calendar-cell-range-hover-end::after {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-start.dx-calendar-cell-end-in-row::after {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-end::after {\n  border-start-end-radius: 4px;\n  border-end-end-radius: 4px;\n  border-inline-end-color: rgba(51,122,183,0.6);\n}\n.dx-calendar-cell-range-hover.dx-calendar-cell-end.dx-calendar-cell-range-hover-start::after {\n  width: 2em;\n  inset-inline-start: calc(50% - 1em);\n  inset-inline-end: auto;\n}\n.dx-texteditor input[type=date]::-webkit-inner-spin-button {\n  height: 20px;\n}\n.dx-datebox-native.dx-state-focused.dx-texteditor-empty .dx-placeholder {\n  display: none;\n}\n.dx-datebox {\n  max-width: 100%;\n}\n.dx-datebox .dx-texteditor-input::-webkit-datetime-edit {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-datebox.dx-texteditor-empty input::-webkit-datetime-edit {\n  color: transparent;\n}\n.dx-datebox.dx-texteditor-empty.dx-state-focused input::-webkit-datetime-edit {\n  color: inherit;\n}\n.dx-datebox-wrapper .dx-popup-content {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n.dx-rtl .dx-texteditor-input {\n  text-align: right;\n}\n.dx-datebox-button-cell .dx-button {\n  min-width: 90px;\n}\n.dx-datebox-button-cell .dx-button.dx-datebox-apply-button {\n  margin-right: 10px;\n  margin-left: 0;\n}\n.dx-datebox-button-cell .dx-button.dx-datebox-cancel-button {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-datebox-buttons-container {\n  text-align: right;\n  width: 100%;\n}\n.dx-timeview .dx-state-disabled .dx-widget,\n.dx-timeview .dx-state-disabled.dx-widget,\n.dx-timeview.dx-state-disabled .dx-widget,\n.dx-timeview.dx-state-disabled.dx-widget {\n  opacity: 1;\n}\n.dx-timeview-clock {\n  position: relative;\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22182%22%20height%3D%22182%22%20viewBox%3D%220%200%20182%20182%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20filter%3D%22url(%23filter0_d)%22%3E%0A%3Ccircle%20cx%3D%2291%22%20cy%3D%2291%22%20r%3D%2285%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cpath%20d%3D%22M88.835%2015.4421V23.2701H87.153V17.3431C87.0605%2017.4249%2086.9501%2017.5033%2086.8219%2017.578C86.6974%2017.6492%2086.5639%2017.7151%2086.4215%2017.7756C86.2791%2017.8325%2086.1313%2017.8824%2085.9783%2017.9251C85.8252%2017.9642%2085.6739%2017.9927%2085.5244%2018.0105V16.5902C85.9623%2016.462%2086.3752%2016.2983%2086.7632%2016.0989C87.1512%2015.8996%2087.5019%2015.6806%2087.8151%2015.4421H88.835Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M92.9733%2021.8711H96.2198V23.2701H91.1257V22.6934C91.1257%2022.3019%2091.1916%2021.9512%2091.3233%2021.6415C91.455%2021.3282%2091.6205%2021.0488%2091.8199%2020.8032C92.0192%2020.554%2092.2364%2020.3351%2092.4713%2020.1464C92.7098%2019.9542%2092.9359%2019.7815%2093.1495%2019.6285C93.3737%2019.4683%2093.5695%2019.3152%2093.7368%2019.1692C93.9077%2019.0233%2094.0501%2018.8791%2094.164%2018.7367C94.2815%2018.5908%2094.3687%2018.4448%2094.4257%2018.2989C94.4826%2018.1494%2094.5111%2017.9909%2094.5111%2017.8236C94.5111%2017.4961%2094.4185%2017.2487%2094.2334%2017.0814C94.0483%2016.9141%2093.7653%2016.8305%2093.3844%2016.8305C92.7259%2016.8305%2092.0958%2017.0921%2091.4942%2017.6154V16.131C92.1599%2015.7002%2092.911%2015.4849%2093.7475%2015.4849C94.1355%2015.4849%2094.4826%2015.5365%2094.7888%2015.6397C95.0985%2015.7394%2095.3601%2015.8836%2095.5737%2016.0722C95.7873%2016.2609%2095.9492%2016.4905%2096.0596%2016.761C96.1735%2017.028%2096.2305%2017.327%2096.2305%2017.6581C96.2305%2018.0105%2096.1753%2018.3238%2096.0649%2018.5979C95.9581%2018.872%2095.814%2019.1212%2095.6324%2019.3454C95.4544%2019.5697%2095.248%2019.7762%2095.013%2019.9649C94.7781%2020.15%2094.5342%2020.3297%2094.2815%2020.5042C94.1106%2020.6252%2093.9451%2020.7462%2093.7849%2020.8673C93.6283%2020.9847%2093.4894%2021.1022%2093.3684%2021.2197C93.2474%2021.3336%2093.1513%2021.4457%2093.0801%2021.5561C93.0089%2021.6664%2092.9733%2021.7714%2092.9733%2021.8711Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M93.3369%20165.802C93.3369%20166.179%2093.2711%20166.531%2093.1394%20166.859C93.0076%20167.186%2092.8243%20167.471%2092.5894%20167.713C92.3544%20167.952%2092.075%20168.14%2091.751%20168.279C91.4271%20168.415%2091.0729%20168.482%2090.6884%20168.482C90.2577%20168.482%2089.8715%20168.402%2089.5297%20168.242C89.1915%20168.082%2088.905%20167.85%2088.67%20167.548C88.4351%20167.242%2088.2553%20166.868%2088.1307%20166.426C88.0061%20165.985%2087.9438%20165.485%2087.9438%20164.926C87.9438%20164.267%2088.0239%20163.671%2088.1841%20163.137C88.3479%20162.6%2088.5793%20162.14%2088.8783%20161.759C89.1809%20161.379%2089.5457%20161.085%2089.9729%20160.878C90.4001%20160.668%2090.8807%20160.563%2091.4146%20160.563C92.0056%20160.563%2092.4648%20160.633%2092.7923%20160.772V162.181C92.4043%20161.961%2091.9806%20161.85%2091.5214%20161.85C91.2366%20161.85%2090.9786%20161.905%2090.7472%20162.016C90.5158%20162.126%2090.3164%20162.283%2090.1491%20162.486C89.9854%20162.689%2089.8554%20162.934%2089.7593%20163.223C89.6668%20163.507%2089.6169%20163.826%2089.6098%20164.178H89.6419C90.005%20163.676%2090.5407%20163.425%2091.2491%20163.425C91.5659%20163.425%2091.8525%20163.482%2092.1088%20163.596C92.3651%20163.71%2092.584%20163.872%2092.7656%20164.082C92.9471%20164.289%2093.0877%20164.538%2093.1874%20164.83C93.2871%20165.122%2093.3369%20165.446%2093.3369%20165.802ZM91.687%20165.908C91.687%20165.086%2091.3506%20164.675%2090.6778%20164.675C90.5247%20164.675%2090.3859%20164.703%2090.2613%20164.76C90.1367%20164.817%2090.0299%20164.897%2089.9409%20165.001C89.8519%20165.104%2089.7825%20165.227%2089.7326%20165.369C89.6864%20165.508%2089.6632%20165.663%2089.6632%20165.834C89.6632%20166.022%2089.6881%20166.199%2089.738%20166.362C89.7878%20166.526%2089.8572%20166.67%2089.9462%20166.795C90.0388%20166.916%2090.1474%20167.012%2090.2719%20167.083C90.3965%20167.154%2090.5354%20167.19%2090.6884%20167.19C90.8415%20167.19%2090.9786%20167.16%2091.0996%20167.099C91.2242%20167.035%2091.3292%20166.948%2091.4146%20166.838C91.5036%20166.724%2091.5713%20166.588%2091.6175%20166.432C91.6638%20166.272%2091.687%20166.097%2091.687%20165.908Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M125.714%20155.329C125.714%20155.703%20125.649%20156.041%20125.521%20156.344C125.393%20156.646%20125.21%20156.906%20124.971%20157.123C124.736%20157.341%20124.452%20157.508%20124.117%20157.625C123.782%20157.743%20123.41%20157.802%20123.001%20157.802C122.289%20157.802%20121.76%20157.695%20121.415%20157.481V156.552C121.935%20156.887%20122.467%20157.054%20123.012%20157.054C123.289%20157.054%20123.539%20157.013%20123.759%20156.931C123.983%20156.849%20124.174%20156.735%20124.331%20156.589C124.487%20156.443%20124.606%20156.267%20124.688%20156.061C124.774%20155.854%20124.816%20155.628%20124.816%20155.383C124.816%20154.884%20124.649%20154.494%20124.315%20154.213C123.98%20153.928%20123.494%20153.786%20122.857%20153.786C122.754%20153.786%20122.645%20153.788%20122.531%20153.791C122.417%20153.795%20122.303%20153.8%20122.189%20153.807C122.075%20153.811%20121.963%20153.816%20121.853%20153.823C121.746%20153.831%20121.648%20153.839%20121.559%20153.85L121.821%20150.011H125.361V150.801H122.579L122.424%20153.049C122.538%20153.042%20122.659%20153.037%20122.787%20153.033C122.916%20153.026%20123.029%20153.022%20123.129%20153.022C123.535%20153.022%20123.898%20153.076%20124.218%20153.183C124.539%20153.289%20124.809%20153.443%20125.03%20153.642C125.254%20153.838%20125.423%20154.08%20125.537%20154.368C125.655%20154.653%20125.714%20154.973%20125.714%20155.329Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M124.405%2033.9508H123.53V27.3349C123.462%2027.4025%20123.362%2027.4808%20123.231%2027.5698C123.102%2027.6553%20122.956%2027.7407%20122.793%2027.8261C122.633%2027.9116%20122.462%2027.9917%20122.28%2028.0664C122.102%2028.1412%20121.928%2028.1999%20121.757%2028.2426V27.3562C121.949%2027.3029%20122.152%2027.2317%20122.366%2027.1427C122.583%2027.0501%20122.795%2026.9487%20123.001%2026.8383C123.211%2026.7244%20123.409%2026.6069%20123.594%2026.4859C123.779%2026.3613%20123.939%2026.2403%20124.074%2026.1228H124.405V33.9508Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M152.67%20123.309V128.366H153.652V129.167H152.67V130.966H151.805V129.167H148.206V128.409C148.54%20128.031%20148.879%20127.629%20149.22%20127.202C149.562%20126.771%20149.888%20126.335%20150.198%20125.894C150.511%20125.452%20150.799%20125.013%20151.063%20124.575C151.33%20124.133%20151.554%20123.712%20151.735%20123.309H152.67ZM149.194%20128.366H151.805V124.618C151.538%20125.084%20151.285%20125.5%20151.047%20125.867C150.808%20126.234%20150.58%20126.567%20150.363%20126.866C150.149%20127.165%20149.945%20127.435%20149.749%20127.677C149.553%20127.919%20149.368%20128.149%20149.194%20128.366Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M152.253%2052.3328C152.253%2052.0979%20152.216%2051.8932%20152.141%2051.7187C152.07%2051.5443%20151.97%2051.4001%20151.842%2051.2862C151.718%2051.1687%20151.57%2051.0815%20151.399%2051.0246C151.228%2050.9676%20151.043%2050.9391%20150.844%2050.9391C150.673%2050.9391%20150.505%2050.9623%20150.342%2051.0086C150.178%2051.0548%20150.018%2051.1189%20149.861%2051.2008C149.708%2051.2827%20149.559%2051.3806%20149.413%2051.4945C149.27%2051.6084%20149.137%2051.7348%20149.012%2051.8736V50.9338C149.258%2050.6953%20149.532%2050.5137%20149.834%2050.3892C150.141%2050.261%20150.513%2050.1969%20150.95%2050.1969C151.264%2050.1969%20151.554%2050.2432%20151.821%2050.3358C152.088%2050.4248%20152.319%2050.5565%20152.515%2050.7309C152.711%2050.9053%20152.864%2051.1207%20152.974%2051.377C153.088%2051.6333%20153.145%2051.927%20153.145%2052.258C153.145%2052.5606%20153.109%2052.8347%20153.038%2053.0804C152.971%2053.326%20152.866%2053.5574%20152.723%2053.7745C152.584%2053.9917%20152.408%2054.1999%20152.195%2054.3993C151.981%2054.5986%20151.73%2054.8015%20151.442%2055.008C151.082%2055.2643%20150.785%2055.4832%20150.55%2055.6648C150.319%2055.8463%20150.133%2056.0172%20149.995%2056.1774C149.859%2056.334%20149.763%2056.4924%20149.706%2056.6526C149.653%2056.8092%20149.626%2056.9908%20149.626%2057.1973H153.439V57.9822H148.713V57.6031C148.713%2057.2756%20148.749%2056.9872%20148.82%2056.738C148.891%2056.4889%20149.009%2056.2521%20149.172%2056.0279C149.336%2055.8036%20149.55%2055.5793%20149.813%2055.3551C150.08%2055.1308%20150.406%2054.878%20150.79%2054.5968C151.068%2054.3975%20151.299%2054.207%20151.484%2054.0255C151.673%2053.8439%20151.824%2053.6624%20151.938%2053.4808C152.052%2053.2993%20152.132%2053.116%20152.179%2052.9308C152.228%2052.7422%20152.253%2052.5428%20152.253%2052.3328Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M162.324%2096.0035V94.535C162.837%2094.9088%20163.435%2095.0957%20164.118%2095.0957C164.549%2095.0957%20164.884%2095.0032%20165.122%2094.8181C165.364%2094.6329%20165.485%2094.3749%20165.485%2094.0438C165.485%2093.7021%20165.336%2093.4386%20165.037%2093.2535C164.741%2093.0684%20164.334%2092.9759%20163.814%2092.9759H163.104V91.6837H163.761C164.757%2091.6837%20165.256%2091.3526%20165.256%2090.6905C165.256%2090.0675%20164.873%2089.756%20164.108%2089.756C163.595%2089.756%20163.097%2089.9216%20162.612%2090.2526V88.875C163.15%2088.6044%20163.777%2088.4692%20164.492%2088.4692C165.275%2088.4692%20165.884%2088.6454%20166.318%2088.9978C166.756%2089.3502%20166.975%2089.8076%20166.975%2090.3701C166.975%2091.3704%20166.468%2091.9969%20165.453%2092.2497V92.2764C165.994%2092.344%20166.421%2092.5416%20166.735%2092.8691C167.048%2093.193%20167.205%2093.5917%20167.205%2094.0652C167.205%2094.7807%20166.943%2095.3467%20166.42%2095.7632C165.896%2096.1797%20165.174%2096.3879%20164.252%2096.3879C163.461%2096.3879%20162.819%2096.2598%20162.324%2096.0035Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M19.8147%2092.0574C19.8147%2092.7374%2019.74%2093.3461%2019.5905%2093.8836C19.441%2094.4176%2019.222%2094.8697%2018.9337%2095.2399C18.6489%2095.6101%2018.3001%2095.8949%2017.8871%2096.0942C17.4742%2096.29%2017.0061%2096.3879%2016.4828%2096.3879C15.8563%2096.3879%2015.3169%2096.2882%2014.8649%2096.0889V94.7006C15.2671%2094.964%2015.7512%2095.0957%2016.3172%2095.0957C16.8975%2095.0957%2017.3514%2094.8981%2017.6789%2094.503C18.0064%2094.1079%2018.1719%2093.5365%2018.1755%2092.789L18.1434%2092.7783C17.8052%2093.2802%2017.2909%2093.5312%2016.6003%2093.5312C16.287%2093.5312%2015.9969%2093.4725%2015.7299%2093.355C15.4665%2093.2375%2015.2369%2093.0755%2015.0411%2092.8691C14.8488%2092.659%2014.6975%2092.4099%2014.5872%2092.1215C14.4804%2091.8332%2014.427%2091.5163%2014.427%2091.171C14.427%2090.7688%2014.4929%2090.4021%2014.6246%2090.0711C14.7563%2089.74%2014.9396%2089.4552%2015.1746%2089.2167C15.4131%2088.9782%2015.6978%2088.7949%2016.0289%2088.6667C16.36%2088.535%2016.7266%2088.4692%2017.1289%2088.4692C17.5454%2088.4692%2017.9192%2088.551%2018.2502%2088.7148C18.5813%2088.875%2018.8625%2089.1082%2019.0939%2089.4143C19.3288%2089.7204%2019.5068%2090.096%2019.6279%2090.541C19.7524%2090.9859%2019.8147%2091.4914%2019.8147%2092.0574ZM18.1114%2091.1604C18.1114%2090.9646%2018.0865%2090.7813%2018.0366%2090.6104C17.9868%2090.436%2017.9174%2090.2864%2017.8284%2090.1618C17.7394%2090.0373%2017.6308%2089.9394%2017.5027%2089.8682C17.3745%2089.7934%2017.2339%2089.756%2017.0808%2089.756C16.9349%2089.756%2016.7996%2089.7881%2016.675%2089.8521C16.554%2089.9162%2016.449%2090.0052%2016.36%2090.1191C16.271%2090.2295%2016.2016%2090.363%2016.1517%2090.5196C16.1019%2090.6762%2016.077%2090.8453%2016.077%2091.0269C16.077%2091.2262%2016.1019%2091.4042%2016.1517%2091.5608C16.2016%2091.7139%2016.271%2091.8438%2016.36%2091.9506C16.4525%2092.0574%2016.5629%2092.1393%2016.691%2092.1963C16.8192%2092.2497%2016.9616%2092.2764%2017.1182%2092.2764C17.2677%2092.2764%2017.403%2092.2479%2017.524%2092.1909C17.6451%2092.1304%2017.7483%2092.0503%2017.8337%2091.9506C17.9227%2091.851%2017.9904%2091.7335%2018.0366%2091.5982C18.0865%2091.463%2018.1114%2091.317%2018.1114%2091.1604Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M26.0617%20127.941C26.0617%20127.738%2026.0937%20127.535%2026.1578%20127.332C26.2219%20127.125%2026.3127%20126.933%2026.4301%20126.755C26.5512%20126.577%2026.6989%20126.415%2026.8733%20126.269C27.0513%20126.123%2027.2524%20126.008%2027.4767%20125.922C27.1456%20125.737%2026.8822%20125.5%2026.6864%20125.212C26.4906%20124.92%2026.3927%20124.598%2026.3927%20124.245C26.3927%20123.964%2026.4461%20123.704%2026.5529%20123.466C26.6633%20123.227%2026.8146%20123.021%2027.0068%20122.846C27.199%20122.672%2027.4269%20122.537%2027.6903%20122.441C27.9537%20122.341%2028.2385%20122.291%2028.5446%20122.291C28.8543%20122.291%2029.1409%20122.341%2029.4043%20122.441C29.6678%20122.54%2029.8956%20122.677%2030.0878%20122.852C30.28%20123.026%2030.4295%20123.233%2030.5363%20123.471C30.6431%20123.71%2030.6965%20123.968%2030.6965%20124.245C30.6965%20124.598%2030.5986%20124.92%2030.4028%20125.212C30.2071%20125.5%2029.9472%20125.737%2029.6233%20125.922C29.844%20126.008%2030.0415%20126.123%2030.216%20126.269C30.3904%20126.415%2030.5363%20126.577%2030.6538%20126.755C30.7748%20126.933%2030.8674%20127.125%2030.9315%20127.332C30.9956%20127.535%2031.0276%20127.738%2031.0276%20127.941C31.0276%20128.275%2030.9671%20128.581%2030.846%20128.859C30.725%20129.137%2030.5541%20129.375%2030.3334%20129.574C30.1163%20129.77%2029.8546%20129.923%2029.5485%20130.034C29.2459%20130.144%2028.9113%20130.199%2028.5446%20130.199C28.1815%20130.199%2027.8487%20130.144%2027.5461%20130.034C27.2435%20129.923%2026.9819%20129.77%2026.7612%20129.574C26.5405%20129.375%2026.3678%20129.137%2026.2432%20128.859C26.1222%20128.581%2026.0617%20128.275%2026.0617%20127.941ZM27.0122%20127.866C27.0122%20128.104%2027.0477%20128.32%2027.1189%20128.512C27.1937%20128.704%2027.2969%20128.868%2027.4286%20129.003C27.5639%20129.138%2027.7259%20129.243%2027.9146%20129.318C28.1068%20129.389%2028.3186%20129.425%2028.55%20129.425C28.7742%20129.425%2028.9807%20129.388%2029.1694%20129.313C29.3581%20129.238%2029.52%20129.133%2029.6553%20128.998C29.7941%20128.863%2029.9009%20128.699%2029.9757%20128.507C30.054%20128.314%2030.0931%20128.101%2030.0931%20127.866C30.0931%20127.652%2030.0558%20127.453%2029.981%20127.268C29.9098%20127.079%2029.8066%20126.914%2029.6713%20126.771C29.536%20126.629%2029.3741%20126.517%2029.1854%20126.435C28.9967%20126.353%2028.7849%20126.312%2028.55%20126.312C28.3293%20126.312%2028.1246%20126.351%2027.9359%20126.429C27.7508%20126.504%2027.5888%20126.611%2027.45%20126.75C27.3147%20126.885%2027.2079%20127.049%2027.1296%20127.241C27.0513%20127.43%2027.0122%20127.638%2027.0122%20127.866ZM27.2845%20124.315C27.2845%20124.496%2027.3165%20124.666%2027.3806%20124.822C27.4482%20124.975%2027.539%20125.111%2027.6529%20125.228C27.7704%20125.342%2027.9057%20125.433%2028.0587%20125.5C28.2118%20125.564%2028.3756%20125.596%2028.55%20125.596C28.7244%20125.596%2028.8882%20125.563%2029.0412%20125.495C29.1979%20125.427%2029.3331%20125.337%2029.447%20125.223C29.561%20125.105%2029.6517%20124.97%2029.7194%20124.817C29.787%20124.66%2029.8208%20124.493%2029.8208%20124.315C29.8208%20124.13%2029.787%20123.959%2029.7194%20123.802C29.6553%20123.646%2029.5663%20123.51%2029.4524%20123.396C29.3385%20123.283%2029.2032%20123.194%2029.0466%20123.129C28.8935%20123.062%2028.728%20123.028%2028.55%20123.028C28.3613%20123.028%2028.1887%20123.062%2028.032%20123.129C27.879%20123.197%2027.7455%20123.29%2027.6316%20123.407C27.5212%20123.521%2027.4358%20123.656%2027.3752%20123.813C27.3147%20123.97%2027.2845%20124.137%2027.2845%20124.315Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M56.7857%20152.298C56.6683%20152.501%2056.5259%20152.754%2056.3586%20153.057C56.1948%20153.359%2056.0204%20153.699%2055.8353%20154.076C55.6502%20154.454%2055.4615%20154.86%2055.2693%20155.294C55.077%20155.728%2054.8973%20156.177%2054.73%20156.64C54.5627%20157.102%2054.4149%20157.572%2054.2868%20158.049C54.1622%20158.523%2054.0714%20158.989%2054.0144%20159.448H53.0747C53.1387%20158.993%2053.2366%20158.528%2053.3683%20158.055C53.5036%20157.578%2053.6549%20157.111%2053.8222%20156.656C53.9931%20156.196%2054.1729%20155.755%2054.3615%20155.331C54.5502%20154.908%2054.7335%20154.518%2054.9115%20154.162C55.0895%20153.806%2055.2515%20153.493%2055.3974%20153.222C55.5469%20152.948%2055.6662%20152.734%2055.7552%20152.581H51.9159V151.791H56.7857V152.298Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M29.447%2060.6523H28.5713V54.0365C28.5037%2054.1041%2028.404%2054.1824%2028.2723%2054.2714C28.1442%2054.3568%2027.9982%2054.4423%2027.8345%2054.5277C27.6743%2054.6131%2027.5034%2054.6932%2027.3219%2054.768C27.1439%2054.8428%2026.9694%2054.9015%2026.7986%2054.9442V54.0578C26.9908%2054.0044%2027.1937%2053.9332%2027.4073%2053.8442C27.6244%2053.7517%2027.8362%2053.6502%2028.0427%2053.5399C28.2527%2053.426%2028.4503%2053.3085%2028.6354%2053.1875C28.8205%2053.0629%2028.9807%2052.9418%2029.116%2052.8244H29.447V60.6523Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M36.9226%2056.7917C36.9226%2057.4325%2036.8639%2058.0003%2036.7464%2058.4951C36.6325%2058.9899%2036.4652%2059.4082%2036.2445%2059.7499C36.0273%2060.0881%2035.7586%2060.3462%2035.4382%2060.5242C35.1214%2060.6986%2034.76%2060.7858%2034.3542%2060.7858C33.9698%2060.7858%2033.6262%2060.7022%2033.3237%2060.5349C33.0246%2060.364%2032.7719%2060.1166%2032.5654%2059.7926C32.359%2059.4687%2032.2023%2059.0718%2032.0955%2058.6019C31.9887%2058.1284%2031.9353%2057.5874%2031.9353%2056.9786C31.9353%2056.3094%2031.9905%2055.7185%2032.1009%2055.2059C32.2148%2054.6932%2032.3803%2054.2643%2032.5975%2053.919C32.8146%2053.5701%2033.0834%2053.3085%2033.4038%2053.1341C33.7277%2052.9561%2034.0979%2052.8671%2034.5144%2052.8671C36.1199%2052.8671%2036.9226%2054.1753%2036.9226%2056.7917ZM36.0255%2056.8772C36.0255%2054.6986%2035.5076%2053.6093%2034.4717%2053.6093C33.3788%2053.6093%2032.8324%2054.7182%2032.8324%2056.9359C32.8324%2059.0041%2033.3682%2060.0383%2034.4397%2060.0383C35.4969%2060.0383%2036.0255%2058.9846%2036.0255%2056.8772Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M57.0387%2033.9508H56.163V27.3349C56.0954%2027.4025%2055.9957%2027.4808%2055.864%2027.5698C55.7358%2027.6553%2055.5899%2027.7407%2055.4261%2027.8261C55.2659%2027.9116%2055.0951%2027.9917%2054.9135%2028.0664C54.7355%2028.1412%2054.5611%2028.1999%2054.3902%2028.2426V27.3562C54.5825%2027.3029%2054.7854%2027.2317%2054.9989%2027.1427C55.2161%2027.0501%2055.4279%2026.9487%2055.6344%2026.8383C55.8444%2026.7244%2056.042%2026.6069%2056.2271%2026.4859C56.4122%2026.3613%2056.5724%2026.2403%2056.7076%2026.1228H57.0387V33.9508Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3Cpath%20d%3D%22M62.9337%2033.9508H62.058V27.3349C61.9904%2027.4025%2061.8907%2027.4808%2061.759%2027.5698C61.6308%2027.6553%2061.4849%2027.7407%2061.3211%2027.8261C61.1609%2027.9116%2060.9901%2027.9917%2060.8085%2028.0664C60.6305%2028.1412%2060.4561%2028.1999%2060.2852%2028.2426V27.3562C60.4775%2027.3029%2060.6804%2027.2317%2060.894%2027.1427C61.1111%2027.0501%2061.3229%2026.9487%2061.5294%2026.8383C61.7394%2026.7244%2061.937%2026.6069%2062.1221%2026.4859C62.3072%2026.3613%2062.4674%2026.2403%2062.6027%2026.1228H62.9337V33.9508Z%22%20fill%3D%22%23959595%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3Cfilter%20id%3D%22filter0_d%22%20x%3D%222%22%20y%3D%224%22%20width%3D%22178%22%20height%3D%22178%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%0A%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%2F%3E%0A%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22%2F%3E%0A%3CfeOffset%20dy%3D%222%22%2F%3E%0A%3CfeGaussianBlur%20stdDeviation%3D%222%22%2F%3E%0A%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22%2F%3E%0A%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200%22%2F%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow%22%2F%3E%0A%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow%22%20result%3D%22shape%22%2F%3E%0A%3C%2Ffilter%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A\");\n  min-width: 182px;\n  min-height: 182px;\n  max-height: 182px;\n  background-size: 182px;\n  background-repeat: no-repeat;\n  background-position: 50% 50%;\n  margin-bottom: 20px;\n}\n.dx-timeview-hourarrow,\n.dx-timeview-minutearrow {\n  position: absolute;\n  left: 50%;\n  width: 10px;\n  margin-left: -5px;\n  height: 50%;\n  background-position: bottom;\n  background-repeat: no-repeat;\n  -webkit-transform-origin: 50% 100%;\n  transform-origin: 50% 100%;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n.dx-timeview-hourarrow {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%2248%22%20viewBox%3D%220%200%206%2048%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%226%22%20height%3D%2244%22%20rx%3D%223%22%20fill%3D%22%23337ab7%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-timeview-minutearrow {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2210%22%20height%3D%2266%22%20viewBox%3D%220%200%2010%2066%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223%22%20width%3D%224%22%20height%3D%2264%22%20rx%3D%222%22%20fill%3D%22%23337ab7%22%2F%3E%0A%3Ccircle%20cx%3D%225%22%20cy%3D%2261%22%20r%3D%223.5%22%20fill%3D%22%23fff%22%20stroke%3D%22%23337ab7%22%20stroke-width%3D%223%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-timeview {\n  height: auto;\n  width: auto;\n}\n.dx-timeview-format12 {\n  width: 55px;\n  margin-left: 5px;\n  margin-right: auto;\n}\n.dx-rtl .dx-timeview-format12,\n.dx-timeview-format12.dx-rtl {\n  margin-left: auto;\n  margin-right: 5px;\n}\n.dx-timeview-time-separator {\n  margin: 0 5px;\n}\n.dx-timeview-field {\n  min-height: 32px;\n}\n.dx-timeview-field .dx-numberbox {\n  width: 54px;\n}\n.dx-timeview-field .dx-numberbox.dx-numberbox-spin-touch-friendly {\n  width: 94px;\n}\n.dx-dateview-item {\n  margin: 0;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  font-size: 1.3em;\n  color: #333;\n}\n.dx-dateview-rollers {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-dateview-item-selected-border,\n.dx-dateviewroller-day .dx-dateview-name-formatter,\n.dx-dateviewroller-month .dx-dateview-value-formatter {\n  display: none;\n}\n.dx-dateview-rollers {\n  width: auto;\n  text-align: center;\n  display: block;\n}\n.dx-dateviewroller-current .dx-dateview-item {\n  -webkit-transition: font-size .2s ease-out;\n  transition: font-size .2s ease-out;\n}\n.dx-dateviewroller {\n  position: relative;\n  vertical-align: top;\n  cursor: pointer;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  min-width: 4em;\n  text-align: center;\n  display: inline-block;\n}\n.dx-dateviewroller .dx-button {\n  display: none;\n}\n.dx-dateviewroller .dx-scrollable-content::after,\n.dx-dateviewroller .dx-scrollable-content::before {\n  content: \"\";\n  height: 59px;\n  display: block;\n}\n.dx-dateviewroller .dx-scrollable-container {\n  height: 152px;\n}\n.dx-dateviewroller.dx-dateviewroller-year {\n  min-width: 4.85em;\n}\n.dx-dateviewroller.dx-state-active .dx-button {\n  display: none;\n}\n.dx-dateviewroller-month {\n  min-width: 12em;\n}\n.dx-dateviewroller-hours::after {\n  content: \":\";\n  font-size: 2.2em;\n  position: absolute;\n  right: -9%;\n  font-weight: 700;\n  top: 37%;\n  color: #333;\n}\n.dx-dateviewroller-hours .dx-dateview-item-selected-frame {\n  padding-left: 20%;\n}\n.dx-dateviewroller-minutes .dx-dateview-item-selected-frame {\n  width: 80%;\n}\n.dx-dateview-item-selected {\n  font-size: 2.2em;\n}\n.dx-rtl.dx-dateviewroller-hours::after {\n  left: -9%;\n  right: auto;\n}\n.dx-dateview-item-selected-frame {\n  position: absolute;\n  top: 59px;\n  width: 100%;\n}\n.dx-dateview-item-selected-frame::after,\n.dx-dateview-item-selected-frame::before {\n  pointer-events: none;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  content: \"\";\n  display: block;\n  width: 100%;\n  position: absolute;\n  height: 59px;\n}\n.dx-dateview-item-selected-frame::before {\n  top: -59px;\n  border-bottom: 1px solid #ddd;\n  background-repeat: no-repeat;\n  background-image: -webkit-gradient(linear,left bottom,left top,from(rgba(255,255,255,0)),color-stop(60%,rgba(255,255,255,.8)));\n  background-image: linear-gradient(0deg,rgba(255,255,255,0) 0,rgba(255,255,255,.8) 60%);\n}\n.dx-dateview-item-selected-frame::after {\n  top: 34px;\n  border-top: 1px solid #ddd;\n  background-repeat: no-repeat;\n  background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),color-stop(60%,rgba(255,255,255,.8)));\n  background-image: linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.8) 60%);\n}\n.dx-dateview-compact .dx-dateview-rollers,\n.dx-device-phone .dx-dateview-rollers,\n.dx-device-tablet .dx-dateview-rollers {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-dateview-compact .dx-dateviewroller-month,\n.dx-device-phone .dx-dateviewroller-month,\n.dx-device-tablet .dx-dateviewroller-month {\n  min-width: 4em;\n}\n.dx-dateview-compact .dx-dateview-item,\n.dx-device-phone .dx-dateview-item,\n.dx-device-tablet .dx-dateview-item {\n  font-size: 1.1em;\n}\n.dx-dateview-compact .dx-dateview-item-selected,\n.dx-device-phone .dx-dateview-item-selected,\n.dx-device-tablet .dx-dateview-item-selected {\n  font-size: 1.4em;\n}\n.dx-datebox-wrapper .dx-popup-title {\n  min-height: 10px;\n  border-bottom: none;\n  background: 0 0;\n}\n.dx-datebox-wrapper .dx-item {\n  border: none;\n}\n.dx-datebox-wrapper .dx-popup-bottom .dx-button {\n  min-width: 60px;\n  width: auto;\n}\n.dx-datebox-datetime-time-side {\n  background-color: rgba(221,221,221,.2);\n}\n.dx-datebox-wrapper-rollers.dx-datebox-wrapper-time .dx-popup-content {\n  margin: 0 14px;\n}\n.dx-datebox-wrapper-list .dx-overlay-content {\n  border-top: none;\n}\n.dx-device-phone .dx-datebox-wrapper-rollers .dx-popup-content {\n  padding: 10px;\n}\n.dx-datebox-time .dx-dropdowneditor-icon {\n  font: 14px/14px DXIcons;\n  width: 22px;\n  height: 100%;\n  text-align: center;\n  border-radius: 3px;\n}\n.dx-datebox-time .dx-dropdowneditor-icon::before {\n  content: \"\\f01d\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-datebox-date .dx-dropdowneditor-icon {\n  font: 14px/14px DXIcons;\n  width: 22px;\n  height: 100%;\n  text-align: center;\n  border-radius: 3px;\n}\n.dx-datebox-date .dx-dropdowneditor-icon::before {\n  content: \"\\f026\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-datebox-datetime .dx-dropdowneditor-icon {\n  font: 14px/14px DXIcons;\n  width: 22px;\n  height: 100%;\n  text-align: center;\n  border-radius: 3px;\n}\n.dx-datebox-datetime .dx-dropdowneditor-icon::before {\n  content: \"\\f043\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-datebox-calendar.dx-rtl.dx-dropdowneditor-active .dx-dropdowneditor-button .dx-dropdowneditor-icon {\n  opacity: 1;\n}\n.dx-datebox-calendar.dx-rtl.dx-editor-underlined {\n  padding-right: 0;\n}\n.dx-datebox-wrapper-calendar .dx-popup-content {\n  padding: 0;\n}\n.dx-datebox-wrapper-calendar .dx-calendar {\n  border: none;\n  margin: 10px;\n}\n.dx-datebox-wrapper-calendar .dx-datebox-container-cell {\n  margin-right: 10px;\n  margin-bottom: 10px;\n}\n.dx-datebox-wrapper-calendar.dx-datebox-wrapper-datetime .dx-popup-content {\n  margin-right: 0;\n}\n.dx-datebox-wrapper-calendar.dx-datebox-wrapper-datetime .dx-calendar {\n  margin-bottom: 10px;\n}\n.dx-datebox-wrapper-calendar.dx-datebox-wrapper-datetime .dx-timeview {\n  padding: 10px;\n}\n.dx-datebox-wrapper-calendar.dx-datebox-wrapper-datetime .dx-datebox-container-cell {\n  margin-top: -1px;\n  margin-right: 10px;\n}\n@media (max-width:320px) {\n  .dx-datebox-wrapper-calendar .dx-calendar {\n    margin: 15px;\n  }\n}\n.dx-rtl .dx-datebox-wrapper .dx-popup-bottom .dx-toolbar-button + .dx-toolbar-button .dx-button {\n  margin-right: 5px;\n  margin-left: 0;\n}\n.dx-datebox-wrapper-list .dx-popup-content {\n  padding: 0;\n}\n.dx-datebox:not(.dx-datebox-native) input[type=date] {\n  line-height: normal;\n}\n.dx-datebox:not(.dx-datebox-native).dx-auto-width .dx-texteditor-input,\n.dx-datebox:not(.dx-datebox-native):not(.dx-texteditor-empty).dx-auto-width .dx-texteditor-input {\n  padding-right: 20px;\n}\n.dx-datebox:not(.dx-datebox-native).dx-auto-width.dx-rtl .dx-texteditor-input,\n.dx-datebox:not(.dx-datebox-native):not(.dx-texteditor-empty).dx-auto-width.dx-rtl .dx-texteditor-input {\n  padding-right: 5px;\n  padding-left: 20px;\n}\n.dx-device-ios .dx-datebox.dx-texteditor-empty .dx-texteditor-input {\n  min-height: 23px;\n}\n.dx-daterangebox {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-daterangebox .dx-texteditor-with-floating-label,\n.dx-daterangebox .dx-texteditor-with-label {\n  margin-top: 0;\n}\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined {\n  border: 0;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-after,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-before,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-after,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-floating-label .dx-texteditor-label .dx-label-before,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-after,\n.dx-daterangebox.dx-editor-outlined .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-texteditor-with-label .dx-texteditor-label .dx-label-before {\n  margin: 0;\n  border: 0;\n  -webkit-clip-path: none;\n  clip-path: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-daterangebox .dx-datebox {\n  width: 100%;\n}\n.dx-daterangebox .dx-datebox.dx-editor-underlined {\n  border-bottom: 0;\n}\n.dx-daterangebox .dx-datebox.dx-editor-underlined::before {\n  margin-left: 0;\n}\n.dx-daterangebox .dx-datebox.dx-editor-underlined.dx-rtl .dx-texteditor-container .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-daterangebox .dx-datebox.dx-editor-filled {\n  background-color: transparent;\n  border: 0;\n}\n.dx-daterangebox .dx-datebox.dx-editor-filled.dx-state-readonly,\n.dx-daterangebox .dx-datebox.dx-editor-filled.dx-state-readonly.dx-state-hover {\n  background-color: transparent;\n}\n.dx-daterangebox.dx-texteditor-empty .dx-clear-button-area {\n  display: block;\n  visibility: hidden;\n}\n.dx-daterangebox-separator {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  padding-left: 5px;\n  color: #999;\n}\n.dx-rtl .dx-daterangebox-separator {\n  -webkit-transform: scale(-1,1);\n  transform: scale(-1,1);\n}\n.dx-daterangebox-with-floating-label.dx-editor-filled .dx-texteditor-label {\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-daterangebox-with-floating-label.dx-editor-filled.dx-dropdowneditor-active .dx-datebox .dx-texteditor-label,\n.dx-daterangebox-with-floating-label.dx-editor-filled.dx-invalid .dx-datebox .dx-texteditor-label,\n.dx-daterangebox-with-floating-label.dx-editor-filled.dx-state-focused .dx-datebox .dx-texteditor-label {\n  font-size: 10px;\n  height: 16px;\n  line-height: 1.33334;\n  top: 0;\n  margin-top: 0;\n}\n.dx-daterangebox-with-floating-label.dx-editor-underlined .dx-texteditor-label {\n  height: 16px;\n  line-height: 1.33334;\n}\n.dx-daterangebox-with-floating-label.dx-editor-underlined.dx-dropdowneditor-active .dx-datebox .dx-texteditor-label,\n.dx-daterangebox-with-floating-label.dx-editor-underlined.dx-invalid .dx-datebox .dx-texteditor-label,\n.dx-daterangebox-with-floating-label.dx-editor-underlined.dx-state-focused .dx-datebox .dx-texteditor-label {\n  -webkit-transform: translate(0,0);\n  transform: translate(0,0);\n  font-size: 10px;\n  height: 16px;\n  line-height: 1.33334;\n  top: 0;\n  margin-top: 0;\n}\n.dx-daterangebox-with-floating-label.dx-editor-outlined,\n.dx-daterangebox-with-label.dx-editor-outlined {\n  margin-top: 6.5px;\n}\n.dx-daterangebox-with-floating-label.dx-editor-outlined .dx-texteditor-label .dx-label,\n.dx-daterangebox-with-label.dx-editor-outlined .dx-texteditor-label .dx-label {\n  position: relative;\n}\n.dx-daterangebox-with-floating-label.dx-editor-outlined .dx-texteditor-label .dx-label::before,\n.dx-daterangebox-with-label.dx-editor-outlined .dx-texteditor-label .dx-label::before {\n  content: \"\";\n  background-color: #fff;\n  width: 100%;\n  position: absolute;\n  height: 1.5px;\n  top: -1px;\n  margin-left: -2px;\n  margin-right: -2px;\n}\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-dropdowneditor-active .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-invalid .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-state-focused .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label {\n  padding: 0 2px;\n}\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-dropdowneditor-active .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label::before,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-invalid .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label::before,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-state-focused .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label::before {\n  background-color: #fff;\n}\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-dropdowneditor-active .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-invalid .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined.dx-state-focused .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span {\n  -webkit-transform: translate(0,-6.5px);\n  transform: translate(0,-6.5px);\n  font-size: 10px;\n  margin-top: 0;\n  top: 0;\n  height: 16px;\n  line-height: normal;\n}\n.dx-daterangebox.dx-daterangebox-with-floating-label.dx-editor-outlined .dx-datebox.dx-texteditor-empty .dx-texteditor-label .dx-label::before {\n  background-color: transparent;\n}\n.dx-daterangebox .dx-dropdowneditor-icon {\n  font: 14px/14px DXIcons;\n  width: 22px;\n  height: 100%;\n  text-align: center;\n  border-radius: 3px;\n}\n.dx-daterangebox .dx-dropdowneditor-icon::before {\n  content: \"\\f043\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-daterangebox .dx-dropdowneditor-button {\n  min-width: 22px;\n  width: 22px;\n}\n.dx-daterangebox .dx-dropdowneditor-button .dx-dropdowneditor-icon {\n  width: 20px;\n}\n.dx-daterangebox .dx-texteditor-input {\n  min-height: 22px;\n}\n.dx-daterangebox.dx-editor-outlined.dx-daterangebox-with-floating-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-editor-outlined.dx-daterangebox-with-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-editor-outlined.dx-dropdowneditor-active.dx-daterangebox-with-floating-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-editor-outlined.dx-dropdowneditor-active.dx-daterangebox-with-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-editor-outlined.dx-state-focused.dx-daterangebox-with-floating-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span,\n.dx-daterangebox.dx-editor-outlined.dx-state-focused.dx-daterangebox-with-label .dx-datebox.dx-editor-outlined .dx-texteditor-label .dx-label span {\n  line-height: normal;\n}\n.dx-daterangebox .dx-editor-filled::before,\n.dx-daterangebox .dx-editor-outlined::before,\n.dx-daterangebox .dx-editor-underlined::before {\n  content: \"\";\n  position: absolute;\n  border-bottom: 1px solid transparent;\n  bottom: 0;\n  z-index: 2;\n}\n.dx-daterangebox .dx-editor-filled.dx-state-hover::before,\n.dx-daterangebox .dx-editor-outlined.dx-state-hover::before,\n.dx-daterangebox .dx-editor-underlined.dx-state-hover::before {\n  border-bottom-color: rgba(51,122,183,.4);\n}\n.dx-daterangebox .dx-editor-filled.dx-state-hover.dx-invalid::before,\n.dx-daterangebox .dx-editor-outlined.dx-state-hover.dx-invalid::before,\n.dx-daterangebox .dx-editor-underlined.dx-state-hover.dx-invalid::before {\n  border-bottom-color: rgba(217,83,79,.4);\n}\n.dx-daterangebox .dx-editor-filled.dx-state-focused::before,\n.dx-daterangebox .dx-editor-outlined.dx-state-focused::before,\n.dx-daterangebox .dx-editor-underlined.dx-state-focused::before {\n  border-bottom-color: #337ab7;\n}\n.dx-daterangebox .dx-editor-filled.dx-state-focused.dx-invalid::before,\n.dx-daterangebox .dx-editor-outlined.dx-state-focused.dx-invalid::before,\n.dx-daterangebox .dx-editor-underlined.dx-state-focused.dx-invalid::before {\n  border-bottom-color: #d9534f;\n}\n.dx-daterangebox .dx-editor-filled.dx-state-readonly::before,\n.dx-daterangebox .dx-editor-outlined.dx-state-readonly::before,\n.dx-daterangebox .dx-editor-underlined.dx-state-readonly::before {\n  border-bottom-style: dashed;\n}\n.dx-daterangebox.dx-invalid .dx-editor-filled.dx-state-hover::before,\n.dx-daterangebox.dx-invalid .dx-editor-outlined.dx-state-hover::before,\n.dx-daterangebox.dx-invalid .dx-editor-underlined.dx-state-hover::before {\n  border-bottom-color: rgba(217,83,79,.4);\n}\n.dx-daterangebox.dx-invalid .dx-editor-filled.dx-state-focused::before,\n.dx-daterangebox.dx-invalid .dx-editor-outlined.dx-state-focused::before,\n.dx-daterangebox.dx-invalid .dx-editor-underlined.dx-state-focused::before {\n  border-bottom-color: #d9534f;\n}\n.dx-daterangebox .dx-editor-filled::before,\n.dx-daterangebox .dx-editor-outlined::before {\n  width: calc(100% - 10px);\n  margin: 0 5px;\n}\n.dx-daterangebox .dx-editor-underlined::before {\n  width: 100%;\n}\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-filled .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-outlined .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-underlined .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-filled .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-outlined .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-underlined .dx-texteditor-input,\n.dx-daterangebox.dx-editor-underlined .dx-daterangebox-separator {\n  padding-right: 5px;\n}\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-filled.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-underlined.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-filled.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-outlined.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-start-datebox.dx-editor-underlined.dx-rtl .dx-texteditor-input {\n  padding-left: 5px;\n}\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-filled.dx-invalid .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-invalid .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-underlined.dx-invalid .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-filled.dx-invalid.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-outlined.dx-invalid.dx-rtl .dx-texteditor-input,\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-underlined.dx-invalid.dx-rtl .dx-texteditor-input {\n  padding-right: 5px;\n  padding-left: 24px;\n}\n.dx-daterangebox .dx-datebox.dx-end-datebox.dx-editor-underlined.dx-invalid.dx-rtl .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-daterangebox-separator .dx-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-dropdownlist-popup-wrapper .dx-list .dx-scrollable-content {\n  margin: 0;\n}\n.dx-dropdownlist-popup-wrapper {\n  height: 100%;\n}\n.dx-dropdownlist-popup-wrapper.dx-popup-wrapper .dx-overlay-content {\n  border-top-width: 0;\n  border-bottom-width: 1px;\n}\n.dx-dropdownlist-popup-wrapper.dx-popup-wrapper .dx-overlay-content.dx-dropdowneditor-overlay-flipped {\n  border-top-width: 1px;\n  border-bottom-width: 0;\n}\n.dx-dropdownlist-popup-wrapper .dx-popup-content {\n  height: 100%;\n  padding: 1px;\n}\n.dx-dropdownlist-popup-wrapper .dx-list {\n  height: 100%;\n  min-height: 26.00008px;\n}\n.dx-dropdownlist-popup-wrapper .dx-list:not(.dx-list-select-decorator-enabled) {\n  min-height: 20.00008px;\n}\n.dx-dropdownlist-popup-wrapper .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item-content {\n  padding: 2px 4px;\n}\n.dx-dropdownlist-popup-wrapper .dx-list-select-all {\n  padding: 7px 0 3px;\n}\n.dx-dropdownlist-popup-wrapper .dx-empty-message,\n.dx-dropdownlist-popup-wrapper .dx-list-item {\n  border-top: 0;\n}\n.dx-dropdownlist-popup-wrapper .dx-empty-message:last-of-type,\n.dx-dropdownlist-popup-wrapper .dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-autocomplete .dx-texteditor-input {\n  font-size: 1em;\n}\n.dx-autocomplete.dx-invalid .dx-texteditor-container::after,\n.dx-autocomplete.dx-valid .dx-texteditor-container::after {\n  right: 4px;\n}\n.dx-rtl .dx-autocomplete.dx-invalid .dx-texteditor-container::after,\n.dx-rtl .dx-autocomplete.dx-valid .dx-texteditor-container::after,\n.dx-rtl.dx-autocomplete.dx-invalid .dx-texteditor-container::after,\n.dx-rtl.dx-autocomplete.dx-valid .dx-texteditor-container::after {\n  left: 4px;\n}\n.dx-autocomplete.dx-validation-pending .dx-texteditor-container .dx-pending-indicator {\n  right: 4px;\n}\n.dx-rtl .dx-autocomplete.dx-validation-pending .dx-texteditor-container .dx-pending-indicator,\n.dx-rtl.dx-autocomplete.dx-validation-pending .dx-texteditor-container .dx-pending-indicator {\n  left: 4px;\n}\n.dx-loadindicator {\n  width: 32px;\n  height: 32px;\n  display: inline-block;\n  overflow: hidden;\n  border: none;\n  background-color: transparent;\n}\n.dx-loadindicator-wrapper {\n  width: 100%;\n  height: 100%;\n  font-size: 32px;\n  margin: auto;\n}\n.dx-loadindicator-image {\n  background-size: contain;\n  -webkit-transform-origin: 50% 50%;\n  transform-origin: 50% 50%;\n  background-position: 50%;\n  background-repeat: no-repeat;\n  background-image: url(\"data:image/gif;base64,R0lGODlhQABAAKECADI6RTI6Rv///////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQABACwAAAAAQABAAAACkIyPqcvtD6OctEpgs1ag9w1m3heW0Eia6oJi63u08BygNGzfq6ybeV/6AUHCoaZotIySoSXz6HlunNIKsnqKYinUbaTrzabCjyuZoz07wGpW+w2Py+f0uv2VtrPl5ne/zVP3B5hHtxc3eBZoeAiXSLY49wjZSFipFsk36ZWJuMn5idXiwtjpN3qHqhd61wpTAAAh+QQJCQABACwAAAAAQABAAAACk4yPqcvtD6OctNqLs968+w+G4giUI2meYQmoK+t+bBt3c22nuHbvPOzL9IKWIbFiPEqSygiz6XhCG8Cps2qNYrNUkzQ7+1rDW66BrDMf0DT1Gu1GsONvMv0Mv8/1+zi77Zd3Vwc4KGYWNihXRnfIlaiIx+gGGVmp6AiWObY51ek5GZiGGUpZajpKGrnK2ur6CotQAAAh+QQJCQACACwAAAAAQABAAAACoJSPqcvtD6OctNqLs968+w+G4kiW5omm6sq27qsADyDDCd3QuI3ssc7r1W66YRBIRAYNSmZxeWgKntAoIGCVLpXUqnPY9VLDYlzRWJaR01NtFbh+n33e77kunOOz931b7zdHVyeIlqY2ePhnuIUUd+ToBunzaNNV+RKG6UKmgwUVJ8m5JtryWLoSIInK5rfA6BorO0tba3uLm6u7y9ubUAAAIfkECQkAAwAsAAAAAEAAQAAAAqKcj6nL7Q+jnLTai7PevPsPhhwAiCKJmh+aqh1buiMsb3BcY3eu0bzO+mV8wgqxSDkiI8olpOl0BKMSKHUxvWIRWW2CdOh6ueHW+GsQnwcp9bltXpfZcTmdDrbP3WN4Xt9Stxb4Z0eIY5gn+KZYKGfmyPgX2edIqbWYePmYuRbQOQhauRlKOoqoh2eKyScperWTmtZ6ippKyyiru8vb6/t7VQAAIfkECQkAAwAsAAAAAEAAQAAAAp2cj6nL7Q+jnNSBC6reCWMOTp4Xls1ImmqHZuvbuu/aznNt02MO77yK+uk+QpOvWEohQ8clR+ncQKOaKVVEvFazWoq1C+GCI9/x6WL2otMSMfv8bsviljn9dM/rc/Y9ou9nABg4uLcW+Feod4g44Ob3uBiZN3lXRlkZd2nJSJj5tqkZytYE+ZkW5DlqlmrYillKF6N6ylqLetuoK1EAACH5BAkJAAMALAAAAABAAEAAAAKLnI+pB+2+opw0vtuq3hR7wIXi54mmRj7nOqXsK33wHF/0nZT4Ptj87vvdgsIZsfgKqJC0JRPmfL4gUii1yrpiV5ntFOTNhsfksvmMTqvX7Lb7DY/L5/S6/Y7P6/d8BLjeBfg3F0hYKHcYp6WY+BYF9+i46HZEGcmGwViZRmKpg5YySRbaWObieXlSAAAh+QQJCQADACwAAAAAQABAAAACepyPqQnt30ZctFoLs3a3e7aF2UdW4vmUKnKa46pu8Exq9O29+E5B/N/jAIcHIZFoPA4nyqbzCY1Kp9Sq9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+f0uv2Oz+vXAH4fnVQWOJZi5kNmA3WIISOFgkL1KHIlucjV8lMAACH5BAkJAAMALAAAAABAAEAAAAJ3nI+pC+0Plpy0IohztLwbDWbeKIUmRqZiZabe4w5hTG30p926le9+CfkJGY2h8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y4fO8pBPUrcAwZyU6Q0w9G3dLJY+MS4UvVoowUpVAAAIfkECQkAAwAsAAAAAEAAQAAAAn2cj6nL7Q/jALRaK7NGt/sNat4YluJImWqEru5DvnISz/bU3Xqu23wv+wFdwqGqaCwhk5sl81R5rqLSqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9FBKjUlf8PmzU7yH9gc2+FXoddj1IZi4VVPWYoYCYBYwGUgYWWdSAAAh+QQJCQADACwAAAAAQABAAAACkpyPqcvtD6OctEKAs93c5N+F1AeKpkNq56qkAAsjaUwPc83e+KnvYu/rAIMbEtFkPAqTymKp6VRBK8Pp5WmdYLORLffB/ILD4ga5vDijW9K1GeOOy+f0uv2Oh73ytrbdS6c2BxjoV0cohxgnmGh46DgIGQmXx7io6GaZiYlWNUmJp7nmecnZKXoq+bnHZ9P6ylUAACH5BAkJAAMALAAAAABAAEAAAAKTnI+py+0Po5y02ouz3rz7D3YAEJbHOJomSqog675o/MG0ON8b2+oZ79PYghcgsTg8ToxKCrMpSUIh0qnjab3mso8qV8HbfhFh8XhQTp3J5TU77D614+h5PE2vw+l4vt3ddzdjlucFSOjXk2dguNboiHiotsgYCTlJ+XimOWZ5qbjI+SU6iplpGopKucra6voK+1oAACH5BAkJAAMALAAAAABAAEAAAAKenI+py+0Po5y02ouz3rz7D4biSJbmiabqyrYe4GbAHF8zvNxBndzMjeMdfD2gEEEs0o6GQNJgZA6fUemgWrVin1pitrv8So1i8JVrPQOX6ek62Fav4+45XV4ev+HtPT9NxhYX+AcGg6bng8gUlSe0VXgEOVjlFMnztRhj5wYoptnCiXQZuij4qHmKSXp15/oKGys7S1tre4ubq7urUQAAIfkECQkAAwAsAAAAAEAAQAAAAqKcj6nL7Q+jnLTai7PevPsPhhwAiCJJmiGaqh1buiMsb3BcZ3Sus7zm+2GCwguxSDkiJ6jAsqJ8QqJSB6raaB2uWIaW2h18teEEl1s2t9Dp7ZrcFr9xcXmMHffh23p6vV+HABho0OfHd7WXFnS4iNZYRgTnSAbZBYaomKeZOfmHGQkayjnquUkatkNoh4p1s8pqSilbSpsqGgqru8vb6/srVAAAIfkECQkAAwAsAAAAAEAAQAAAApqcj6nL7Q+jnNSBC6reCmcOUt4Vls+ImWqHrq6Bfu/azm5tq3huevzt+/WCwhKxCDoiOallSOkUNaMbKFUyvUpJ2kq2i+WCJ+Jx2CxFk9VrdkTmtsTndBu8nijjD/r9oI/3tScYCEhndWg4h7hImKjoxhgnyUapNuIH4zhpaYbpt/O4eflZFzMYGnkq2qkVAwn2ito6Rpt5K1EAACH5BAkJAAMALAAAAABAAEAAAAKLnI+pCe2wopxUvgur3hR7DoaDh4lmRWbnOqXsa5XwrMj0bVz4Pj487vvdgsIZsQhzIGnKpVHlZDWjUijV1Li+stqVtQsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7Hf91ceR8+9XbE90dYyDaI6BAAmKimI+iYBtn2UUm5RvLoYpYiqeWJKRYaSBaaqflSAAAh+QQJCQADACwAAAAAQABAAAACeZyPqQrtD5actCaIc7S8Gw1i3iiFpkOmB2hBKpm9sufOdove+pTv/tX4CVeb4bBoTCqXzKbzCY1Kp9Sq9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+f0ut0cLPfEe/CDXOMX6BVDWLh0yBDidNL41GgiBZkoGXGyUwAAIfkECQkAAwAsAAAAAEAAQAAAAnecj6lr4A+YnLQ2iLPdHOUPduICluY4YtuJrlE7lPDsavQ9ffjOqPzvcQCHxKLxiEwql8ym8wmNSqfUqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9LriEbZ1Q3s+7fXDkoJXZAIooXNkuAjBxGj49OhDBclTAAAh+QQJCQADACwAAAAAQABAAAACfpyPqcvtD+MBtFqJ87K8Bw2GRneJJkZS5xql7NuQ8KzI9D10+K3vc+97AYMrDhE2PIqMymKpaXpCl4Cp9YrNarfcrvcLDovH5LL5jE6r1+y2+w2Py+d0dEXNPCfHe37e3CcWGDYIVvhlA5hI5qLXyJiiAhkp1UX5yHV5VydSAAA7\");\n}\n.dx-loadindicator-icon-custom {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  background-size: 100% 100%;\n  -webkit-transform-origin: 50% 50%;\n  transform-origin: 50% 50%;\n  -webkit-animation: 1.5s linear infinite dx-loadindicator-icon-custom-rotate;\n  animation: 1.5s linear infinite dx-loadindicator-icon-custom-rotate;\n}\n@-webkit-keyframes dx-loadindicator-icon-custom-rotate {\n  from {\n    -webkit-transform: rotate(0);\n    transform: rotate(0);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@keyframes dx-loadindicator-icon-custom-rotate {\n  from {\n    -webkit-transform: rotate(0);\n    transform: rotate(0);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n.dx-loadindicator-container > .dx-loadindicator {\n  top: 50%;\n  left: 50%;\n  position: absolute;\n  margin-top: -16px;\n  margin-left: -16px;\n}\n.dx-loadindicator-container > .dx-loadindicator.dx-loadindicator {\n  margin-top: -16px;\n  margin-left: -16px;\n}\n.dx-loadindicator-content {\n  width: 100%;\n  height: 100%;\n  position: relative;\n}\n.dx-loadindicator-icon {\n  direction: ltr;\n  position: relative;\n  top: 15%;\n  left: 15%;\n  width: 70%;\n  height: 70%;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment {\n  position: absolute;\n  width: 19%;\n  height: 30%;\n  left: 44.5%;\n  top: 37%;\n  opacity: 0;\n  background: #606060;\n  border-radius: 10% 10% 50% 50%;\n  -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);\n  box-shadow: 0 0 3px rgba(0,0,0,.2);\n  -webkit-animation: 1s linear infinite dx-generic-loadindicator-opacity;\n  animation: 1s linear infinite dx-generic-loadindicator-opacity;\n}\n@-webkit-keyframes dx-generic-loadindicator-opacity {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: .55;\n  }\n}\n@keyframes dx-generic-loadindicator-opacity {\n  from {\n    opacity: 1;\n  }\n  to {\n    opacity: .55;\n  }\n}\n.dx-loadindicator-icon .dx-loadindicator-segment0 {\n  -webkit-transform: rotate(0) translate(0,-142%);\n  transform: rotate(0) translate(0,-142%);\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment1 {\n  -webkit-transform: rotate(45deg) translate(0,-142%);\n  transform: rotate(45deg) translate(0,-142%);\n  -webkit-animation-delay: -875ms;\n  animation-delay: -875ms;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment2 {\n  -webkit-transform: rotate(90deg) translate(0,-142%);\n  transform: rotate(90deg) translate(0,-142%);\n  -webkit-animation-delay: -.75s;\n  animation-delay: -.75s;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment3 {\n  -webkit-transform: rotate(135deg) translate(0,-142%);\n  transform: rotate(135deg) translate(0,-142%);\n  -webkit-animation-delay: -625ms;\n  animation-delay: -625ms;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment4 {\n  -webkit-transform: rotate(180deg) translate(0,-142%);\n  transform: rotate(180deg) translate(0,-142%);\n  -webkit-animation-delay: -.5s;\n  animation-delay: -.5s;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment5 {\n  -webkit-transform: rotate(225deg) translate(0,-142%);\n  transform: rotate(225deg) translate(0,-142%);\n  -webkit-animation-delay: -375ms;\n  animation-delay: -375ms;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment6 {\n  -webkit-transform: rotate(270deg) translate(0,-142%);\n  transform: rotate(270deg) translate(0,-142%);\n  -webkit-animation-delay: -.25s;\n  animation-delay: -.25s;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment7 {\n  -webkit-transform: rotate(315deg) translate(0,-142%);\n  transform: rotate(315deg) translate(0,-142%);\n  -webkit-animation-delay: -125ms;\n  animation-delay: -125ms;\n}\n.dx-loadindicator-icon .dx-loadindicator-segment10,\n.dx-loadindicator-icon .dx-loadindicator-segment11,\n.dx-loadindicator-icon .dx-loadindicator-segment12,\n.dx-loadindicator-icon .dx-loadindicator-segment13,\n.dx-loadindicator-icon .dx-loadindicator-segment14,\n.dx-loadindicator-icon .dx-loadindicator-segment15,\n.dx-loadindicator-icon .dx-loadindicator-segment8,\n.dx-loadindicator-icon .dx-loadindicator-segment9 {\n  display: none;\n}\n.dx-rtl .dx-loadindicator-icon {\n  right: 15%;\n  left: 0;\n}\n.dx-treeview-loadindicator-wrapper {\n  text-align: center;\n}\n.dx-treeview-node-loadindicator {\n  position: absolute;\n}\n.dx-treeview {\n  height: 100%;\n}\n.dx-treeview .dx-scrollable:focus,\n.dx-treeview :focus {\n  outline: 0;\n}\n.dx-treeview .dx-empty-message {\n  line-height: normal;\n}\n.dx-checkbox + .dx-treeview-node-container,\n.dx-treeview-node-container:first-child {\n  margin: 0;\n  display: block;\n}\n.dx-treeview-select-all-item {\n  width: 100%;\n}\n.dx-treeview-node-container {\n  list-style-position: inside;\n  padding: 0;\n  margin: 0;\n  display: none;\n  overflow: hidden;\n}\n.dx-treeview-node-container.dx-treeview-node-container-opened {\n  display: block;\n}\n.dx-treeview-node {\n  list-style-type: none;\n  position: relative;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-user-drag: none;\n}\n.dx-treeview-node a {\n  text-decoration: none;\n}\n.dx-treeview-node .dx-checkbox {\n  position: absolute;\n  margin: 0;\n}\n.dx-treeview-item .dx-treeview-item-content span {\n  vertical-align: middle;\n}\n.dx-treeview-item.dx-state-disabled {\n  opacity: .5;\n}\n.dx-treeview-custom-collapse-icon,\n.dx-treeview-custom-expand-icon,\n.dx-treeview-toggle-item-visibility {\n  position: absolute;\n  cursor: pointer;\n}\n.dx-treeview-custom-collapse-icon.dx-state-disabled,\n.dx-treeview-custom-expand-icon.dx-state-disabled,\n.dx-treeview-toggle-item-visibility.dx-state-disabled {\n  cursor: default;\n}\n.dx-rtl .dx-treeview-node-container .dx-treeview-node,\n.dx-rtl .dx-treeview-node-container .dx-treeview-node.dx-treeview-item-with-checkbox .dx-treeview-item,\n.dx-rtl .dx-treeview-node-container:first-child>.dx-treeview-node {\n  padding-left: 0;\n}\n.dx-rtl .dx-treeview-node-container .dx-treeview-node .dx-treeview-item .dx-treeview-item-content .dx-icon {\n  margin-right: 0;\n}\n.dx-rtl .dx-treeview-custom-collapse-icon,\n.dx-rtl .dx-treeview-custom-expand-icon,\n.dx-rtl .dx-treeview-toggle-item-visibility {\n  left: auto;\n  right: 0;\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-treeview-custom-collapse-icon,\n.dx-treeview-custom-expand-icon {\n  position: absolute;\n  left: 0;\n  cursor: pointer;\n}\n.dx-rtl .dx-treeview-node .dx-checkbox {\n  left: auto;\n}\n.dx-treeview-node-loadindicator {\n  right: 0;\n  top: 8px;\n  left: -1px;\n  width: 11px;\n  height: 11px;\n}\n.dx-treeview.dx-rtl.dx-treeview-border-visible .dx-treeview-select-all-item {\n  padding-left: 0;\n  padding-right: 20px;\n}\n.dx-treeview.dx-rtl.dx-treeview-border-visible .dx-scrollable-content > .dx-treeview-node-container {\n  padding-left: 1px;\n  padding-right: 6px;\n}\n.dx-treeview.dx-rtl .dx-treeview-node {\n  padding-right: 10px;\n}\n.dx-treeview.dx-rtl .dx-treeview-item .dx-treeview-item-content .dx-icon {\n  margin-left: 5px;\n}\n.dx-treeview.dx-rtl .dx-treeview-item-with-checkbox .dx-treeview-item {\n  padding-right: 31px;\n}\n.dx-treeview.dx-rtl .dx-treeview-item-with-checkbox .dx-checkbox {\n  right: 14px;\n  overflow: visible;\n}\n.dx-treeview.dx-rtl .dx-treeview-select-all-item {\n  padding-left: 0;\n  padding-right: 14px;\n}\n.dx-treeview.dx-rtl .dx-treeview-select-all-item .dx-checkbox-text {\n  padding-left: 0;\n  padding-right: 26px;\n}\n.dx-treeview.dx-rtl .dx-treeview-custom-collapse-icon,\n.dx-treeview.dx-rtl .dx-treeview-custom-expand-icon,\n.dx-treeview.dx-rtl .dx-treeview-toggle-item-visibility {\n  right: -4px;\n}\n.dx-treeview.dx-rtl .dx-treeview-custom-expander-icon-item-container {\n  padding-right: 4px;\n}\n.dx-treeview-search {\n  margin-bottom: 3px;\n}\n.dx-treeview-with-search > .dx-scrollable {\n  height: calc(100% - 29px);\n}\n.dx-treeview-border-visible {\n  border: 1px solid #ddd;\n}\n.dx-treeview-border-visible .dx-treeview-select-all-item {\n  padding-left: 20px;\n}\n.dx-treeview-border-visible .dx-scrollable-content > .dx-treeview-node-container {\n  padding: 1px 1px 1px 6px;\n}\n.dx-treeview-select-all-item {\n  margin: 0 0 6px;\n  border-bottom: 1px solid #ddd;\n  padding: 6px 0 8px 15px;\n}\n.dx-treeview-select-all-item .dx-checkbox-text {\n  padding-left: 26px;\n}\n.dx-treeview-node {\n  padding-left: 10px;\n}\n.dx-state-selected > .dx-treeview-item {\n  color: #333;\n}\n.dx-treeview-item-with-checkbox.dx-treeview-item-with-custom-expander-icon {\n  padding-left: 16px;\n}\n.dx-treeview-item-with-checkbox.dx-treeview-item-with-custom-expander-icon .dx-checkbox {\n  padding-left: 10px;\n}\n.dx-treeview-item-with-checkbox.dx-treeview-item-with-custom-expander-icon .dx-treeview-item {\n  padding-left: 37px;\n}\n.dx-treeview-item-with-checkbox .dx-treeview-item {\n  color: #333;\n  padding-left: 31px;\n}\n.dx-treeview-item-with-checkbox .dx-checkbox {\n  top: 5px;\n  left: 14px;\n}\n.dx-treeview-item-with-checkbox.dx-state-focused > .dx-checkbox .dx-checkbox-icon {\n  border: 1px solid #337ab7;\n}\n.dx-treeview-item-without-checkbox.dx-treeview-item-with-custom-expander-icon {\n  padding-left: 16px;\n}\n.dx-treeview-item-without-checkbox.dx-treeview-item-with-custom-expander-icon > .dx-treeview-item {\n  padding-left: 12px;\n}\n.dx-treeview-item-without-checkbox.dx-state-selected > .dx-treeview-item {\n  color: #333;\n  background-color: rgba(0,0,0,.1);\n}\n.dx-treeview-item-without-checkbox.dx-state-selected:not(.dx-state-focused) > .dx-treeview-item.dx-state-hover {\n  background-color: rgba(0,0,0,.07);\n}\n.dx-treeview-item-without-checkbox.dx-state-focused > .dx-treeview-item {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-treeview-item-without-checkbox.dx-state-focused > .dx-treeview-item .dx-item-content .dx-item-url {\n  color: unset;\n}\n.dx-treeview-item {\n  display: block;\n  cursor: pointer;\n  padding: 4px 6px;\n  min-height: 28px;\n}\n.dx-treeview-item .dx-treeview-item-content .dx-icon {\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 5px;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-treeview-item.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-treeview-custom-collapse-icon,\n.dx-treeview-custom-expand-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n  top: 7px;\n}\n.dx-treeview-toggle-item-visibility {\n  font: 18px/18px DXIcons;\n  text-align: center;\n  color: #333;\n  width: 16px;\n  height: 28px;\n  top: 0;\n  left: -4px;\n}\n.dx-treeview-toggle-item-visibility::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 18px;\n  top: 50%;\n  margin-top: -9px;\n  left: 50%;\n  margin-left: -9px;\n}\n.dx-treeview-toggle-item-visibility.dx-treeview-toggle-item-visibility-opened {\n  font: 18px/18px DXIcons;\n  text-align: center;\n}\n.dx-treeview-toggle-item-visibility.dx-treeview-toggle-item-visibility-opened::before {\n  content: \"\\f001\";\n  position: absolute;\n  display: block;\n  width: 18px;\n  top: 50%;\n  margin-top: -9px;\n  left: 50%;\n  margin-left: -9px;\n}\n.dx-menu-base {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-tap-highlight-color: transparent;\n  text-align: left;\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-menu-base .dx-menu-item-wrapper,\n.dx-menu-base .dx-menu-items-container {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  outline: 0;\n}\n.dx-menu-base .dx-menu-items-container {\n  list-style-type: none;\n  display: inline-block;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.dx-menu-base .dx-state-disabled,\n.dx-menu-base.dx-state-disabled .dx-menu-items-container {\n  cursor: default;\n}\n.dx-menu-base .dx-menu-item {\n  display: inline-block;\n  position: relative;\n  height: 100%;\n  width: 100%;\n}\n.dx-menu-base .dx-menu-item.dx-state-disabled {\n  opacity: .5;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content {\n  white-space: nowrap;\n  height: 100%;\n  width: 100%;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-icon {\n  display: inline-block;\n  vertical-align: middle;\n  border: 0;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-menu-item-text {\n  display: inline;\n  vertical-align: middle;\n  overflow: ellipsis;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-menu-item-text-with-url {\n  vertical-align: baseline;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-icon-with-url {\n  vertical-align: top;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-item-url {\n  vertical-align: middle;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-menu-item-popout-container {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  width: 2em;\n}\n.dx-menu-base .dx-menu-item .dx-menu-item-content .dx-menu-item-popout-container .dx-menu-item-popout {\n  height: 100%;\n}\n.dx-menu-base.dx-rtl {\n  text-align: right;\n}\n.dx-menu-base.dx-rtl .dx-menu-item-popout-container {\n  left: 0;\n  right: auto;\n}\n.dx-menu-item {\n  color: #333;\n}\n.dx-menu-item a {\n  color: #337ab7;\n}\n.dx-menu-item.dx-state-hover {\n  color: #333;\n  background-color: rgba(0,0,0,.04);\n}\n.dx-menu-item.dx-state-focused {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-menu-item.dx-state-focused a {\n  color: #fff;\n}\n.dx-menu-item.dx-menu-item-has-text .dx-icon {\n  margin-right: -14px;\n}\n.dx-menu-item-selected {\n  background-color: #e6e6e6;\n  color: #333;\n}\n.dx-menu-item-selected.dx-state-focused {\n  background-color: rgba(51,122,183,.7);\n  color: #fff;\n}\n.dx-menu-item-expanded {\n  color: #333;\n  background-color: rgba(0,0,0,.04);\n}\n.dx-menu-item-expanded,\n.dx-menu-item.dx-state-active,\n.dx-menu-item.dx-state-focused {\n  outline: 0;\n}\n.dx-menu-base input,\n.dx-menu-base textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-menu-base.dx-state-focused {\n  outline: 0;\n}\n.dx-menu-base .dx-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-menu-base .dx-menu-item-content {\n  padding: 1px 3px 5px;\n}\n.dx-menu-base .dx-menu-item-content .dx-menu-item-text {\n  padding: 0 23px 3px 17px;\n}\n.dx-menu-base .dx-menu-item-content .dx-menu-item-popout {\n  min-width: 7px;\n  min-height: 7px;\n}\n.dx-menu-base.dx-rtl .dx-menu-item-content .dx-menu-item-text {\n  padding: 0 17px 3px 23px;\n}\n.dx-menu-base.dx-rtl .dx-menu-item-content .dx-icon {\n  margin-left: auto;\n  margin-right: auto;\n}\n.dx-menu-base.dx-rtl .dx-menu-item-content .dx-menu-item-popout-container {\n  margin-left: 0;\n  margin-right: auto;\n}\n.dx-menu-base.dx-rtl .dx-menu-item-content .dx-menu-item-popout-container .dx-menu-item-popout {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-menu-base.dx-rtl .dx-menu-item-has-text .dx-icon {\n  margin-left: -14px;\n}\n.dx-menu {\n  position: relative;\n  color: #333;\n}\n.dx-menu-horizontal {\n  height: 100%;\n}\n.dx-menu-horizontal::after {\n  height: 100%;\n  display: inline-block;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-menu-horizontal .dx-menu-item-wrapper {\n  display: inline-block;\n}\n.dx-menu-horizontal .dx-menu-separator {\n  display: inline-block;\n  margin: 0 15px 0 0;\n}\n.dx-menu-vertical {\n  height: 100%;\n}\n.dx-menu-vertical::after {\n  height: 100%;\n  display: inline-block;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-menu-vertical .dx-menu-item-wrapper {\n  display: block;\n}\n.dx-menu-vertical .dx-menu-separator {\n  margin: 0 0 15px;\n}\n.dx-rtl.dx-menu {\n  text-align: right;\n}\n.dx-context-menu-container-border {\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  background-color: transparent;\n  border: 1px solid #ddd;\n  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.15);\n  box-shadow: 0 1px 1px rgba(0,0,0,.15);\n}\n.dx-context-menu-content-delimiter {\n  position: absolute;\n  display: none;\n  z-index: 2000;\n  cursor: pointer;\n  border: 1px solid transparent;\n}\n.dx-menu-adaptive-mode .dx-treeview-toggle-item-visibility {\n  left: auto;\n  right: 0;\n  font-size: 18px;\n}\n.dx-rtl .dx-menu-adaptive-mode .dx-treeview-toggle-item-visibility,\n.dx-rtl.dx-menu-adaptive-mode .dx-treeview-toggle-item-visibility {\n  left: 0;\n  right: auto;\n}\n.dx-menu-adaptive-mode .dx-treeview-item {\n  cursor: pointer;\n}\n.dx-menu-adaptive-mode .dx-treeview-node-container:first-child > .dx-treeview-node {\n  padding: 1px;\n  border-bottom: 1px solid #ddd;\n}\n.dx-menu-adaptive-mode .dx-treeview-node-container:first-child > .dx-treeview-node .dx-item-content {\n  padding-left: 15px;\n}\n.dx-rtl .dx-menu-adaptive-mode .dx-treeview-node-container:first-child > .dx-treeview-node .dx-item-content,\n.dx-rtl.dx-menu-adaptive-mode .dx-treeview-node-container:first-child > .dx-treeview-node .dx-item-content {\n  padding-right: 15px;\n}\n.dx-menu-adaptive-mode .dx-treeview-node-container:first-child > .dx-treeview-node:last-child {\n  border-bottom: none;\n}\n.dx-menu-adaptive-mode-overlay-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row wrap;\n  flex-flow: row wrap;\n}\n.dx-menu-adaptive-mode-overlay-wrapper .dx-overlay-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-menu-adaptive-mode-overlay-wrapper .dx-overlay-content .dx-treeview {\n  height: auto;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n.dx-context-menu-content-delimiter::before {\n  content: \"\";\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background-color: #fff;\n}\n.dx-menu .dx-menu-item-expanded {\n  background-color: #fff;\n}\n.dx-menu .dx-menu-item-has-icon.dx-menu-item-has-submenu .dx-icon {\n  margin: 0 17px 0 1px;\n}\n.dx-menu .dx-menu-item-has-text .dx-menu-item-text {\n  padding: 0 3px 3px;\n}\n.dx-menu .dx-menu-item-has-text.dx-menu-item-has-icon .dx-icon {\n  margin: 0 1px;\n}\n.dx-menu .dx-menu-item-has-text.dx-menu-item-has-submenu .dx-menu-item-text {\n  padding: 0 17px 3px 3px;\n}\n.dx-menu .dx-menu-horizontal .dx-menu-item-popout {\n  font: 14px/14px DXIcons;\n  text-align: center;\n}\n.dx-menu .dx-menu-horizontal .dx-menu-item-popout::before {\n  content: \"\\f001\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-menu .dx-menu-vertical .dx-menu-item-popout {\n  font: 14px/14px DXIcons;\n  text-align: center;\n}\n.dx-menu .dx-menu-vertical .dx-menu-item-popout::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-menu.dx-rtl .dx-menu-item-has-icon.dx-menu-item-has-submenu .dx-icon {\n  margin: 0 1px 0 17px;\n}\n.dx-menu.dx-rtl .dx-menu-item-has-text .dx-menu-item-text {\n  padding: 0 3px 3px 0;\n}\n.dx-menu.dx-rtl .dx-menu-item-has-text.dx-menu-item-has-submenu .dx-menu-item-text {\n  padding: 0 3px 3px 17px;\n}\n.dx-menu-adaptive-mode {\n  background-color: #fff;\n}\n.dx-menu-adaptive-mode .dx-treeview {\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.dx-menu-adaptive-mode .dx-treeview,\n.dx-menu-adaptive-mode .dx-treeview.dx-state-focused {\n  -webkit-box-shadow: 0 3px 10px rgba(0,0,0,.1);\n  box-shadow: 0 3px 10px rgba(0,0,0,.1);\n}\n.dx-menu-adaptive-mode .dx-treeview-node.dx-state-focused .dx-treeview-node .dx-treeview-toggle-item-visibility {\n  color: inherit;\n}\n.dx-menu-adaptive-mode .dx-treeview-node.dx-state-focused .dx-treeview-toggle-item-visibility {\n  color: #fff;\n}\n.dx-selectbox {\n  cursor: pointer;\n}\n.dx-selectbox .dx-texteditor-input {\n  max-width: 100%;\n}\n.dx-selectbox .dx-texteditor-input:-moz-read-only {\n  cursor: pointer;\n}\n.dx-selectbox .dx-texteditor-input:read-only {\n  cursor: pointer;\n}\n.dx-selectbox-container {\n  position: relative;\n}\n.dx-state-disabled .dx-selectbox .dx-texteditor-input,\n.dx-state-disabled.dx-selectbox .dx-texteditor-input {\n  cursor: default;\n}\n.dx-selectbox-popup-wrapper .dx-overlay-content {\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);\n  box-shadow: 0 6px 12px rgba(0,0,0,.175);\n}\n.dx-selectbox-popup-wrapper .dx-list {\n  background-color: #fff;\n}\n.dx-toolbar.dx-toolbar-multiline .dx-toolbar-items-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 0;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  height: 100%;\n}\n.dx-toolbar.dx-toolbar-multiline .dx-toolbar-items-container .dx-toolbar-before {\n  position: relative;\n}\n.dx-toolbar.dx-toolbar-multiline .dx-toolbar-item {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-flex: 0;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n}\n.dx-toolbar .dx-button .dx-icon {\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-toolbar-items-container {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n}\n.dx-toolbar-item {\n  padding: 0 5px;\n  display: table-cell;\n  vertical-align: middle;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-toolbar-item .dx-tabs {\n  table-layout: auto;\n}\n.dx-toolbar-item img {\n  display: block;\n}\n.dx-toolbar-menu-container {\n  display: table-cell;\n  vertical-align: middle;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-toolbar-menu-container .dx-tabs {\n  table-layout: auto;\n}\n.dx-toolbar-menu-container img {\n  display: block;\n}\n.dx-toolbar-group {\n  float: left;\n  margin: 0 10px;\n}\n.dx-toolbar-after,\n.dx-toolbar-before {\n  position: absolute;\n}\n.dx-toolbar-center:empty {\n  display: none;\n}\n.dx-toolbar-before {\n  left: 0;\n}\n.dx-toolbar-after {\n  right: 0;\n}\n.dx-toolbar-label {\n  white-space: nowrap;\n  -webkit-user-drag: none;\n}\n.dx-toolbar-label .dx-toolbar-item-content > div {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-toolbar-label > div {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  margin: 0 -5px;\n  padding: 0 5px;\n}\n.dx-toolbar-center {\n  margin: 0 auto;\n  text-align: center;\n}\n.dx-toolbar-after,\n.dx-toolbar-before,\n.dx-toolbar-center {\n  top: 0;\n  display: table;\n  height: 100%;\n}\n.dx-rtl .dx-toolbar-before {\n  right: 0;\n  left: auto;\n}\n.dx-rtl .dx-toolbar-after {\n  right: auto;\n  left: 0;\n}\n.dx-toolbar-menu-section:empty {\n  display: none;\n}\n.dx-dropdownmenu-popup-wrapper .dx-toolbar-menu-custom>.dx-list-item-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content {\n  padding: 0;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-button {\n  padding: 0;\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-buttongroup .dx-button-content {\n  -webkit-box-pack: left;\n  -ms-flex-pack: left;\n  justify-content: left;\n}\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-rtl .dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-toolbar-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-list-item-content.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-auto-hide.dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content > .dx-buttongroup .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-button .dx-button-content,\n.dx-rtl.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-toolbar-item-content.dx-buttongroup .dx-button-content {\n  -webkit-box-pack: right;\n  -ms-flex-pack: right;\n  justify-content: right;\n}\n.dx-toolbar-menu-section.dx-toolbar-menu-last-section {\n  border-bottom: none;\n}\n.dx-toolbar-menu-section .dx-list-item-content::before {\n  content: none;\n}\n.dx-toolbar-menu-section .dx-list-item-content,\n.dx-toolbar-menu-section .dx-list-item-content.dx-list,\n.dx-toolbar-menu-section .dx-list-item-content>.dx-list,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide.dx-list,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide>.dx-list,\n.dx-toolbar-menu-section .dx-toolbar-item-content,\n.dx-toolbar-menu-section .dx-toolbar-item-content.dx-list,\n.dx-toolbar-menu-section .dx-toolbar-item-content>.dx-list {\n  padding: 0;\n}\n.dx-toolbar-menu-section .dx-list-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-list-item-content.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-item-content > .dx-button,\n.dx-toolbar-menu-section .dx-toolbar-item-content.dx-button {\n  width: 100%;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button {\n  width: 100%;\n  border: none;\n  margin: 0;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-buttongroup {\n  width: 100%;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-buttongroup .dx-buttongroup-wrapper {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-buttongroup .dx-buttongroup-wrapper .dx-buttongroup-item {\n  border: none;\n}\n.dx-toolbar-text-auto-hide .dx-button .dx-button-text {\n  display: none;\n}\n.dx-list-item-content > .dx-texteditor,\n.dx-list-item-content.dx-texteditor,\n.dx-toolbar-item-content > .dx-texteditor,\n.dx-toolbar-item-content.dx-texteditor {\n  width: 150px;\n}\n.dx-toolbar-item-invisible {\n  display: none;\n}\n.dx-dropdownmenu-popup-wrapper .dx-dropdownmenu-list {\n  min-height: 0;\n  min-width: 100px;\n  border-radius: 8px;\n}\n.dx-dropdownmenu-popup-wrapper .dx-dropdownmenu-list .dx-list-item {\n  display: block;\n}\n.dx-dropdownmenu-popup-wrapper .dx-dropdownmenu-list .dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-dropdownmenu-popup-wrapper .dx-dropdownmenu-list .dx-list-item-content {\n  display: block;\n}\n.dx-dropdownmenu-popup-wrapper .dx-overlay-content .dx-popup-content {\n  padding: 1px;\n}\n.dx-dropdownmenu-popup-wrapper .dx-list-item {\n  display: block;\n  border-top: 0;\n}\n.dx-toolbar {\n  width: 100%;\n  background-color: #fff;\n  color: #333;\n  padding: 0;\n  overflow: visible;\n}\n.dx-toolbar .dx-toolbar-before {\n  padding-right: 15px;\n}\n.dx-rtl.dx-toolbar .dx-toolbar-before {\n  padding-right: 0;\n  padding-left: 15px;\n}\n.dx-toolbar .dx-toolbar-after {\n  padding-left: 15px;\n}\n.dx-rtl.dx-toolbar .dx-toolbar-after {\n  padding-left: 0;\n  padding-right: 15px;\n}\n.dx-toolbar .dx-toolbar-after:empty,\n.dx-toolbar .dx-toolbar-before:empty {\n  padding: 0;\n}\n.dx-toolbar .dx-toolbar-items-container {\n  height: 26px;\n  overflow: visible;\n}\n.dx-toolbar .dx-toolbar-menu-container {\n  padding: 0 0 0 5px;\n}\n.dx-rtl.dx-toolbar .dx-toolbar-menu-container,\n.dx-toolbar .dx-toolbar-item {\n  padding: 0 5px 0 0;\n}\n.dx-toolbar .dx-toolbar-item.dx-toolbar-first-in-group {\n  padding-left: 20px;\n}\n.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-rtl.dx-toolbar .dx-toolbar-item {\n  padding: 0 0 0 5px;\n}\n.dx-rtl.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-toolbar .dx-toolbar-label {\n  font-size: 18px;\n}\n.dx-toolbar.dx-state-disabled {\n  opacity: 1;\n}\n.dx-toolbar.dx-toolbar-compact .dx-button {\n  min-width: auto;\n}\n.dx-toolbar-after .dx-toolbar-item,\n.dx-toolbar-after .dx-toolbar-item:last-child {\n  padding: 0 0 0 5px;\n}\n.dx-toolbar-after .dx-toolbar-item:first-child {\n  padding: 0;\n}\n.dx-rtl.dx-toolbar-after .dx-toolbar-item:first-child {\n  padding-left: 5px;\n}\n.dx-toolbar-background {\n  background-color: #fff;\n}\n.dx-toolbar-menu-section {\n  border-bottom: 1px solid #ddd;\n}\n.dx-toolbar-menu-section .dx-list-item-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button .dx-button-content,\n.dx-toolbar-menu-section .dx-toolbar-item-auto-hide {\n  padding: 5px;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text {\n  background-color: transparent;\n  border-color: transparent;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button {\n  border-radius: 0;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text .dx-icon {\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-state-active {\n  background-color: rgba(0,0,0,.24);\n  border-color: transparent;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-danger,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-danger,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-danger,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-danger,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-danger,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-danger {\n  background-color: transparent;\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-danger .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-danger .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-danger .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-danger .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-danger .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-danger.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-danger.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-danger.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-danger.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-danger.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-danger.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-danger.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-danger.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-danger.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-danger.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-danger.dx-state-active {\n  background-color: rgba(212,63,58,.4);\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-success,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-success,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-success,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-success,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-success,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-success {\n  background-color: transparent;\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-success .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-success .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-success .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-success .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-success .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-success.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-success.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-success.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-success.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-success.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-success.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-success.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-success.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-success.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-success.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-success.dx-state-active {\n  background-color: rgba(76,174,76,.4);\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-default,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-default,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-default,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-default,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-default,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-default {\n  background-color: transparent;\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-default .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-default .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-default .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-default .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-default .dx-icon,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-default.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-default.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-default.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-default.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-default.dx-state-hover,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-contained.dx-button-default.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-outlined.dx-button-default.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button .dx-button-mode-text.dx-button-default.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-contained.dx-button-default.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-outlined.dx-button-default.dx-state-active,\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group .dx-button-mode-text.dx-button-default.dx-state-active {\n  background-color: rgba(45,109,163,.4);\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-toolbar-hidden-button-group {\n  margin-top: 5px;\n  margin-bottom: 5px;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained {\n  background-color: #fff;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained .dx-icon {\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-state-hover {\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-state-focused {\n  background-color: #ebebeb;\n  border-color: #ddd;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-state-active {\n  background-color: #c2c2c2;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-danger {\n  background-color: #d9534f;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-danger .dx-icon {\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-danger.dx-state-hover {\n  background-color: #ce312c;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-danger.dx-state-focused {\n  background-color: #c12e2a;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-danger.dx-state-active {\n  background-color: #932320;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-success {\n  background-color: #5cb85c;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-success .dx-icon {\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-success.dx-state-hover {\n  background-color: #46a046;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-success.dx-state-focused {\n  background-color: #419641;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-success.dx-state-active {\n  background-color: #306f30;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-default {\n  background-color: #337ab7;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-default .dx-icon {\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-default.dx-state-hover {\n  background-color: #296293;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-default.dx-state-focused {\n  background-color: #265a87;\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-contained.dx-button-default.dx-state-active {\n  background-color: #193d5b;\n  border-color: transparent;\n  color: #fff;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined {\n  background-color: transparent;\n  border-color: #ddd;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined .dx-icon {\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  border-color: #ddd;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n  border-color: #ddd;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-state-active {\n  background-color: rgba(0,0,0,.24);\n  border-color: #ddd;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-danger {\n  background-color: transparent;\n  border-color: #d43f3a;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n  border-color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-danger.dx-state-active {\n  background-color: rgba(212,63,58,.4);\n  border-color: #d43f3a;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-success {\n  background-color: transparent;\n  border-color: #4cae4c;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n  border-color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-success.dx-state-active {\n  background-color: rgba(76,174,76,.4);\n  border-color: #4cae4c;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-default {\n  background-color: transparent;\n  border-color: #2d6da3;\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n  border-color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-outlined.dx-button-default.dx-state-active {\n  background-color: rgba(45,109,163,.4);\n  border-color: #2d6da3;\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-text {\n  background-color: transparent;\n  border-color: transparent;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-text .dx-icon {\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-state-focused {\n  background-color: rgba(0,0,0,.08);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-state-active {\n  background-color: rgba(0,0,0,.24);\n  border-color: transparent;\n  color: #333;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-danger {\n  background-color: transparent;\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-danger .dx-icon {\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-danger.dx-state-hover {\n  background-color: rgba(212,63,58,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-danger.dx-state-active {\n  background-color: rgba(212,63,58,.4);\n  border-color: transparent;\n  color: #d43f3a;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-success {\n  background-color: transparent;\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-success .dx-icon {\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-success.dx-state-hover {\n  background-color: rgba(76,174,76,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-success.dx-state-active {\n  background-color: rgba(76,174,76,.4);\n  border-color: transparent;\n  color: #4cae4c;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-default {\n  background-color: transparent;\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-default .dx-icon {\n  color: #2d6da3;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-default.dx-state-hover {\n  background-color: rgba(45,109,163,.1);\n  border-color: transparent;\n}\n.dx-toolbar-menu-section .dx-button-mode-text.dx-button-default.dx-state-active {\n  background-color: rgba(45,109,163,.4);\n  border-color: transparent;\n  color: #2d6da3;\n}\n.dx-toolbar-text-auto-hide .dx-button .dx-button-content {\n  padding: 5px;\n}\n.dx-toolbar-text-auto-hide .dx-button .dx-icon {\n  width: 14px;\n  height: 14px;\n  font-size: 14px;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-rtl .dx-toolbar-text-auto-hide .dx-button .dx-icon,\n.dx-rtl.dx-toolbar-text-auto-hide .dx-button .dx-icon,\n.dx-toolbar-text-auto-hide .dx-button .dx-icon.dx-icon-right {\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-rtl .dx-toolbar-text-auto-hide .dx-button .dx-icon.dx-icon-right,\n.dx-rtl.dx-toolbar-text-auto-hide .dx-button .dx-icon.dx-icon-right {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-toolbar .dx-tab {\n  padding: 5px 4px;\n}\n.dx-toolbar-button .dx-menu .dx-menu-item {\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.dx-toolbar-button .dx-menu .dx-menu-item .dx-menu-item-content {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  line-height: 0;\n}\n.dx-toolbar-button .dx-menu .dx-menu-item .dx-menu-item-content .dx-menu-item-text {\n  line-height: normal;\n}\n.dx-popup-draggable .dx-popup-title {\n  cursor: move;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-overlay-content > .dx-template-wrapper.dx-popup-title {\n  height: auto;\n  width: auto;\n}\n.dx-overlay-content .dx-popup-content > .dx-template-wrapper {\n  height: 100%;\n  width: 100%;\n}\n.dx-overlay-content .dx-popup-content {\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-popup-flex-height {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n}\n.dx-overlay-wrapper .dx-overlay-content.dx-popup-flex-height > .dx-popup-bottom,\n.dx-overlay-wrapper .dx-overlay-content.dx-popup-flex-height > .dx-popup-title {\n  width: 100%;\n}\n.dx-popup-flex-height .dx-popup-content {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  height: auto;\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  max-width: 100%;\n  -ms-flex-preferred-size: 100%;\n  flex-basis: 100%;\n}\n.dx-popup-content {\n  -webkit-user-drag: none;\n  padding: 10px;\n}\n.dx-popup-inherit-height .dx-popup-content>.dx-scrollable,\n.dx-popup-inherit-height .dx-popup-content>.dx-scrollable>.dx-scrollable-wrapper,\n.dx-popup-inherit-height .dx-popup-content>.dx-scrollable>.dx-scrollable-wrapper>.dx-scrollable-container,\n.dx-popup-inherit-height .dx-popup-content>.dx-treeview>.dx-scrollable,\n.dx-popup-inherit-height .dx-popup-content>.dx-treeview>.dx-scrollable>.dx-scrollable-wrapper,\n.dx-popup-inherit-height .dx-popup-content>.dx-treeview>.dx-scrollable>.dx-scrollable-wrapper>.dx-scrollable-container {\n  max-height: inherit;\n  min-height: inherit;\n}\n.dx-popup-inherit-height .dx-popup-content > .dx-widget {\n  max-height: inherit;\n}\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-scrollable,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-scrollable>.dx-scrollable-wrapper,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-scrollable>.dx-scrollable-wrapper>.dx-scrollable-container,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-treeview>.dx-scrollable,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-treeview>.dx-scrollable>.dx-scrollable-wrapper,\n.dx-popup-inherit-height .dx-popup-content>.dx-template-wrapper>.dx-treeview>.dx-scrollable>.dx-scrollable-wrapper>.dx-scrollable-container {\n  max-height: inherit;\n  min-height: inherit;\n}\n.dx-popup-inherit-height .dx-popup-content > .dx-template-wrapper > .dx-widget {\n  max-height: inherit;\n}\n.dx-popup-content-scrollable {\n  overflow: auto;\n  -ms-scroll-chaining: none;\n  overscroll-behavior: contain;\n}\n.dx-dialog-root .dx-overlay-shader {\n  background-color: #444;\n}\n.dx-prevent-safari-scrolling {\n  position: fixed;\n  margin: 0;\n  left: 0;\n  right: 0;\n  top: 0;\n}\n.dx-popup-wrapper > .dx-overlay-content {\n  border: 1px solid #ddd;\n  background: #fff;\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);\n  box-shadow: 0 6px 12px rgba(0,0,0,.175);\n  border-radius: 6px;\n}\n.dx-popup-wrapper > .dx-popup-fullscreen {\n  border-radius: 0;\n}\n.dx-popup-title {\n  padding: 10px;\n  -webkit-user-drag: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  white-space: normal;\n  position: relative;\n  min-height: 28px;\n  border-bottom: 1px solid #ddd;\n  background: 0 0;\n  color: #333;\n}\n.dx-popup-title.dx-toolbar {\n  padding: 2px 10px;\n  overflow: visible;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-before {\n  padding-right: 15px;\n}\n.dx-rtl.dx-popup-title.dx-toolbar .dx-toolbar-before {\n  padding-right: 0;\n  padding-left: 15px;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-after {\n  padding-left: 15px;\n}\n.dx-rtl.dx-popup-title.dx-toolbar .dx-toolbar-after {\n  padding-left: 0;\n  padding-right: 15px;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-after:empty,\n.dx-popup-title.dx-toolbar .dx-toolbar-before:empty {\n  padding: 0;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-items-container {\n  height: 26px;\n  overflow: visible;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-menu-container {\n  padding: 0 0 0 5px;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-item,\n.dx-rtl.dx-popup-title.dx-toolbar .dx-toolbar-menu-container {\n  padding: 0 5px 0 0;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-item.dx-toolbar-first-in-group {\n  padding-left: 20px;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-rtl.dx-popup-title.dx-toolbar .dx-toolbar-item {\n  padding: 0 0 0 5px;\n}\n.dx-rtl.dx-popup-title.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-popup-title.dx-toolbar .dx-toolbar-label {\n  font-size: 18px;\n}\n.dx-popup-title.dx-toolbar .dx-closebutton {\n  position: relative;\n  left: 6px;\n}\n.dx-rtl .dx-popup-title.dx-toolbar .dx-closebutton {\n  left: 0;\n  right: 6px;\n}\n.dx-popup-content > .dx-button {\n  margin: 0 5px;\n}\n.dx-popup-bottom {\n  background: 0 0;\n  color: #333;\n}\n.dx-popup-bottom.dx-toolbar {\n  padding: 10px;\n  overflow: visible;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-before {\n  padding-right: 15px;\n}\n.dx-rtl.dx-popup-bottom.dx-toolbar .dx-toolbar-before {\n  padding-right: 0;\n  padding-left: 15px;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-after {\n  padding-left: 15px;\n}\n.dx-rtl.dx-popup-bottom.dx-toolbar .dx-toolbar-after {\n  padding-left: 0;\n  padding-right: 15px;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-after:empty,\n.dx-popup-bottom.dx-toolbar .dx-toolbar-before:empty {\n  padding: 0;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-items-container {\n  height: 26px;\n  overflow: visible;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-menu-container {\n  padding: 0 0 0 5px;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-item,\n.dx-rtl.dx-popup-bottom.dx-toolbar .dx-toolbar-menu-container {\n  padding: 0 5px 0 0;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-item.dx-toolbar-first-in-group {\n  padding-left: 20px;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-rtl.dx-popup-bottom.dx-toolbar .dx-toolbar-item {\n  padding: 0 0 0 5px;\n}\n.dx-rtl.dx-popup-bottom.dx-toolbar .dx-toolbar-item:last-child {\n  padding: 0;\n}\n.dx-popup-bottom.dx-toolbar .dx-toolbar-label {\n  font-size: 18px;\n}\n.dx-popup-bottom .dx-button {\n  min-width: 100px;\n}\n.dx-popup-content.dx-dialog-content {\n  min-width: 200px;\n  padding: 10px;\n}\n.dx-dialog-message {\n  padding: 0;\n}\n.dx-dropdownbutton {\n  display: inline-block;\n  vertical-align: middle;\n}\n.dx-dropdownbutton-content.dx-popup-content {\n  padding: 0;\n}\n.dx-dropdownbutton-content .dx-list .dx-empty-message,\n.dx-dropdownbutton-content .dx-list .dx-list-item {\n  border: none;\n}\n.dx-dropdownbutton-toggle {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  max-width: 20px;\n}\n.dx-dropdownbutton-toggle.dx-button .dx-button-content {\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-rtl .dx-dropdownbutton-toggle {\n  border-right-width: 0;\n}\n.dx-dropdownbutton:not(.dx-dropdownbutton-has-arrow) .dx-button-has-icon:not(.dx-button-has-text) .dx-button-content {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.dx-dropdownbutton:not(.dx-dropdownbutton-has-arrow) .dx-button-has-text.dx-button .dx-button-content {\n  padding-left: 10px;\n  padding-right: 10px;\n}\n.dx-dropdownbutton-action:not(.dx-buttongroup-last-item).dx-button {\n  border-right-width: 0;\n  border-left-width: 1px;\n}\n.dx-rtl .dx-dropdownbutton-action:not(.dx-buttongroup-last-item).dx-button {\n  border-right-width: 1px;\n  border-left-width: 0;\n}\n.dx-dropdownbutton .dx-button {\n  overflow: hidden;\n}\n.dx-dropdownbutton .dx-button-has-text .dx-icon.dx-icon-right {\n  margin-left: 4px;\n  margin-right: 0;\n}\n.dx-dropdownbutton-action {\n  min-width: 0;\n}\n.dx-dropdownbutton-action.dx-button .dx-button-content {\n  padding-left: 10px;\n  padding-right: 4px;\n}\n.dx-rtl .dx-dropdownbutton-action.dx-button .dx-button-content {\n  padding-left: 4px;\n  padding-right: 10px;\n}\n.dx-dropdownbutton-action.dx-buttongroup-last-item.dx-button .dx-button-content {\n  padding-right: 0;\n}\n.dx-rtl .dx-dropdownbutton-action.dx-buttongroup-last-item.dx-button .dx-button-content {\n  padding-left: 0;\n}\n.dx-dropdownbutton-popup-wrapper {\n  height: 100%;\n}\n.dx-dropdownbutton-popup-wrapper.dx-popup-wrapper .dx-overlay-content {\n  border-top-width: 0;\n  border-bottom-width: 1px;\n}\n.dx-dropdownbutton-popup-wrapper.dx-popup-wrapper .dx-overlay-content.dx-dropdowneditor-overlay-flipped {\n  border-top-width: 1px;\n  border-bottom-width: 0;\n}\n.dx-dropdownbutton-popup-wrapper .dx-popup-content {\n  height: 100%;\n  padding: 1px;\n}\n.dx-dropdownbutton-popup-wrapper .dx-list {\n  height: 100%;\n  min-height: 26.00008px;\n}\n.dx-dropdownbutton-popup-wrapper .dx-list:not(.dx-list-select-decorator-enabled) {\n  min-height: 20.00008px;\n}\n.dx-dropdownbutton-popup-wrapper .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item-content {\n  padding: 2px 4px;\n}\n.dx-dropdownbutton-popup-wrapper .dx-list-select-all {\n  padding: 7px 0 3px;\n}\n.dx-dropdownbutton-popup-wrapper .dx-empty-message,\n.dx-dropdownbutton-popup-wrapper .dx-list-item {\n  border-top: 0;\n}\n.dx-dropdownbutton-popup-wrapper .dx-empty-message:last-of-type,\n.dx-dropdownbutton-popup-wrapper .dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-actionsheet-popup-wrapper .dx-overlay-content {\n  padding-top: 0;\n  padding-bottom: 0;\n  -webkit-user-drag: none;\n}\n.dx-actionsheet-popover-wrapper .dx-popup-content .dx-button,\n.dx-actionsheet-popup-wrapper .dx-popup-content .dx-button {\n  width: 100%;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-actionsheet-cancel,\n.dx-actionsheet-item {\n  width: 100%;\n}\n.dx-state-disabled .dx-actionsheet-container .dx-button {\n  cursor: default;\n}\n.dx-actionsheet-popover-wrapper .dx-popup-title,\n.dx-actionsheet-popup-wrapper .dx-popup-title {\n  word-wrap: break-word;\n}\n.dx-actionsheet-container .dx-actionsheet-item {\n  margin: 0 0 5px;\n}\n.dx-actionsheet-container .dx-button,\n.dx-button.dx-actionsheet-cancel {\n  margin: 0;\n}\n.dx-tileview div.dx-scrollable-container {\n  overflow-y: hidden;\n}\n.dx-tile {\n  position: absolute;\n  color: #333;\n  background-color: #fff;\n  border: 1px solid rgba(221,221,221,.6);\n  text-align: left;\n}\n.dx-tile-content {\n  padding: 0;\n  width: 100%;\n  height: 100%;\n}\n.dx-tileview-wrapper {\n  position: relative;\n  height: 1px;\n}\n.dx-device-ios-6 .dx-tile {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n.dx-tile.dx-state-focused,\n.dx-tile.dx-state-hover {\n  background-color: #fff;\n  border-color: rgba(51,122,183,.4);\n}\n.dx-tile.dx-state-active {\n  -webkit-transform: scale(.96);\n  transform: scale(.96);\n  -webkit-transition: -webkit-transform .1s linear;\n  transition: transform .1s linear,-webkit-transform .1s linear;\n  background-color: rgba(96,96,96,.2);\n  color: #333;\n  border-color: transparent;\n}\n.dx-toast-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  color: #fff;\n  font-size: 12px;\n  font-weight: 600;\n  line-height: 25px;\n  padding: 5px;\n  -webkit-box-shadow: 0 2px 3px 0 transparent;\n  box-shadow: 0 2px 3px 0 transparent;\n  border-radius: 6px;\n}\n.dx-toast-icon {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  background-size: contain;\n  background-position: left center;\n  background-repeat: no-repeat;\n  margin-right: 10px;\n  width: 25px;\n  height: 25px;\n}\n.dx-toast-message {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  line-height: 16px;\n}\n.dx-rtl .dx-toast-icon {\n  margin-left: 10px;\n  margin-right: 0;\n}\n.dx-toast-stack {\n  position: fixed;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  overflow: hidden;\n  gap: 3px;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  z-index: 9500;\n}\n.dx-toast-stack .dx-toast-wrapper {\n  -webkit-transform: translate(0)!important;\n  transform: translate(0)!important;\n  position: static!important;\n  height: auto!important;\n  width: auto!important;\n}\n.dx-toast-stack .dx-toast-wrapper .dx-toast-content {\n  -webkit-transform: translate(0)!important;\n  transform: translate(0)!important;\n  position: static!important;\n}\n.dx-toast-stack-down-push-direction {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: column-reverse;\n  flex-direction: column-reverse;\n  -webkit-box-pack: end;\n  -ms-flex-pack: end;\n  justify-content: flex-end;\n}\n.dx-toast-stack-up-push-direction {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -webkit-box-pack: end;\n  -ms-flex-pack: end;\n  justify-content: flex-end;\n}\n.dx-toast-stack-left-push-direction {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-pack: end;\n  -ms-flex-pack: end;\n  justify-content: flex-end;\n}\n.dx-toast-stack-right-push-direction {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: row-reverse;\n  flex-direction: row-reverse;\n  -webkit-box-pack: end;\n  -ms-flex-pack: end;\n  justify-content: flex-end;\n}\n.dx-toast-stack-down-stack-direction {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n.dx-toast-stack-up-stack-direction {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: column-reverse;\n  flex-direction: column-reverse;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n.dx-toast-stack-left-stack-direction {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: row-reverse;\n  flex-direction: row-reverse;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n.dx-toast-stack-right-stack-direction {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n.dx-toast-info {\n  background-color: #337ab7;\n}\n.dx-toast-info .dx-toast-icon {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAQAAAC00HvSAAABoklEQVRIx63WPUvDQBjA8QMFsZNLlgpxtINjBsFVqINghm4dRAe/Rpdm6UcQHERwUYdAJ8HvkKHEQdrPEBQUrf7PoabtveSSSrit3PPjeve8RCCsyyMkIiYlAzJSYiJCPPt+248BfRKkdSX0CcoZnx7jAiJfY3r4LqbNsITI15B2EdNlVBGRSEZ0bUyXyQqIRDJZQIu/M1oRmZ2ovcz4zjt558NxR/6C6Vk2fHLPOXtsIhA0aHHGA1/Gvl7OBMYT/3BF05poTS5Be/5gxvQ15JWjgtyerWPelP19hMDTMvabQyciEJwoJ0rwBKF2lutSRCC4UWJCQaQx+5WYAyUmEsQas1WJ2VJiYkGqMTuVmG0lJhVkGnNaiblQYjKhZYHkmY1SpMGLEoN5Gskt605kjTstIjPvRiJ50tuSksePxv7UfKm8HAe0DGKXgZbB85eKHLWdKkjHUpjzvAmdHaUKIgnNmrIzLiTBs1W4ybiQvwq39RuV6TB1jpvA1f1yxo0sdT9XLy5DlF5cPBmmq0yG2uZUbVOzthle2xdFbd83//za+gXw/JH9LjmoAgAAAABJRU5ErkJggg==\");\n}\n.dx-toast-warning {\n  background-color: #f0ad4e;\n}\n.dx-toast-warning .dx-toast-icon {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAQAAAC00HvSAAABJklEQVRIx62WvW2EQBBGpwlSArdgSrBESuKIQhySLJJbcAuXrXTZteCAAG3GlWBRwVsHB+Ykw8zeafVlaPSY/1lBdlXQ0OMJzMBMwNPTUOzb732scAzEXQ04KhtT0jEdIFZNdJQapuZsIFadqY8wLWMiJBIZafcwLdcHIJHIdQNt4YwPQm4e1feYMjkn/3NUbpjuSUgk0q2YSinx5xL0SSl/dcM45V8r5qLYOEQoDjs2FTNQCI0a+deC+VatGqFPwugD0gs+A8YLQTW4LJgf1SoIcxJG751ZIAMGy5sp1ZuQgHkxMMGqVJq81Tdp6q0unnhFeDMK3lgz9b6k+MOaKX3CUzDO3jd2UH/7JtP2y7aLM12GbHcq29XMdsOzvSiyvW+efG39AmPXSbHWZjgLAAAAAElFTkSuQmCC\");\n}\n.dx-toast-error {\n  background-color: #d9534f;\n}\n.dx-toast-error .dx-toast-icon {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAQAAAC00HvSAAABeklEQVRIx62WMWrDQBBFx01I5zQinQ5hdINA3Kp3mUNEnSBIdwgEcgeBC18gVRojjDr7BklUxAE3b1NYihVrdmWbZbpl9FjN/zOzgqgREJNTUFEDNRUFOTGBnq8dRmQsMWosyYiGMSEpawuijTUpoQszZT6AaGPO1IaZsToRYjCsmGmYGZszIAbD5gA6/M7qTMj+RtMuJjy5Jv0ahQdMeiHEYEhbTKRK/KN+9K3IH+0xmZK+4Jb33mnChM/eaYYIgeLYBdcI4yNQgiBM+Oo5OxBi5S5l0ztdUNJoGrPr5cdCrtbgGOSCGHKhsCjQBbkhhkKorFK2oKsBiKESaocnys58sUMMtYDTXA8NZMSbIwv3bZJO/48VH3VuY6/NYwO4V+Tv1aYYgMTsVB8dKZUPQmyG/OcbzcUvijot6IYPzcVaT225UyQuCRjxrGyLwNbhW54Un5S8KrmZa96cGn/zxtP08zaLPW0Gb3vK29b0tsO9vSi8vW8ufG39AnvvGenmMu5AAAAAAElFTkSuQmCC\");\n}\n.dx-toast-success {\n  background-color: #5cb85c;\n}\n.dx-toast-success .dx-toast-icon {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAQAAAC00HvSAAABlklEQVRIx62Wv0rDUBSHTxE6uHTKGhDEzS2jg4vUMeBmX8BR8AFiJQEfwck3cAh2cxBcXEup3VoHF3UxS1FBvuvQhPy5N0lTwplyknz33HN+95wriNEsXAJCZkRAxIyQABfL/L3J6eAzRhltjI9Tj7HxmJcgEpvjYVdh+oxqEImN6JdhBkzXhCgUUwYmzIBFA4hCsUhB6XamDSGriPpZjL12TvQc2SnG2xCiUHgJxqktcdbe+SmU31lh/AaQJQ4HfOR8PiJYpYrVDU4RhD1+c8q2BLdBLNdxXW8KflcI1obcs4UgnGlvAiE0/DDhW/O90EMQDnMbWlkozDTnMz2OC6AvdhGEHT4Ny86EqOB6i1fNgv44QhC2mRi3Gwlozqs4kSnoHEHocFdWQT0ahWKYA93GT5elyY9MucmDHukiCCeGuDO5CUteJaAOgrDPskIKYZVuhpkG/1qpqKBaxRcIQpeHGmG6dWfKM0hfnxZW/Ql/qj0k/ib9Rh83Tqvdr7Ve3NJkaG1OtTY1W5vhrd0oWrvfbHjb+gdn1DPEHv9HmQAAAABJRU5ErkJggg==\");\n}\n.dx-popover-wrapper .dx-popover-arrow::after {\n  width: 14.1422712488px;\n  height: 14.1422712488px;\n}\n.dx-popover-wrapper.dx-position-bottom .dx-popover-arrow,\n.dx-popover-wrapper.dx-position-top .dx-popover-arrow {\n  width: 20px;\n  height: 10px;\n}\n.dx-popover-wrapper.dx-position-left .dx-popover-arrow,\n.dx-popover-wrapper.dx-position-right .dx-popover-arrow {\n  width: 10px;\n  height: 20px;\n}\n.dx-popover-arrow {\n  position: absolute;\n  z-index: 2000;\n  overflow: hidden;\n}\n.dx-popover-arrow::after {\n  position: absolute;\n  display: block;\n  overflow: hidden;\n  content: \" \";\n  -webkit-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n.dx-popover-wrapper.dx-position-top .dx-popover-arrow::after {\n  top: 0;\n  left: 0;\n  -webkit-transform-origin: top left;\n  transform-origin: top left;\n}\n.dx-popover-wrapper.dx-position-bottom .dx-popover-arrow::after {\n  right: 0;\n  bottom: 0;\n  -webkit-transform-origin: bottom right;\n  transform-origin: bottom right;\n  background: #fff;\n}\n.dx-popover-wrapper.dx-position-left .dx-popover-arrow::after {\n  bottom: 0;\n  left: 0;\n  -webkit-transform-origin: bottom left;\n  transform-origin: bottom left;\n}\n.dx-popover-wrapper.dx-position-right .dx-popover-arrow::after {\n  top: 0;\n  right: 0;\n  -webkit-transform-origin: top right;\n  transform-origin: top right;\n}\n.dx-popover-wrapper .dx-overlay-content {\n  overflow: visible;\n}\n.dx-popover-wrapper .dx-popup-content {\n  overflow: hidden;\n}\n.dx-popover-wrapper .dx-popup-content-scrollable {\n  overflow: auto;\n}\n.dx-device-ios .dx-popover-arrow::after {\n  -webkit-transform: rotate(-45deg) translateZ(0);\n}\n.dx-popover-wrapper .dx-popup-title {\n  margin: 0;\n  border-top-left-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.dx-popover-wrapper .dx-popover-arrow::after,\n.dx-popover-wrapper.dx-popover-without-title .dx-popover-arrow::after {\n  background: #fff;\n}\n.dx-popover-arrow::after {\n  border: 1px solid #ddd;\n}\n.dx-progressbar .dx-position-left .dx-progressbar-range-container,\n.dx-progressbar .dx-position-left .dx-progressbar-status,\n.dx-progressbar .dx-position-right .dx-progressbar-range-container,\n.dx-progressbar .dx-position-right .dx-progressbar-status {\n  display: table-cell;\n  vertical-align: middle;\n}\n.dx-progressbar .dx-position-bottom-left .dx-progressbar-range-container,\n.dx-progressbar .dx-position-bottom-left .dx-progressbar-status,\n.dx-progressbar .dx-position-top-left .dx-progressbar-range-container,\n.dx-progressbar .dx-position-top-left .dx-progressbar-status {\n  float: left;\n}\n.dx-progressbar .dx-position-bottom-right .dx-progressbar-range-container,\n.dx-progressbar .dx-position-bottom-right .dx-progressbar-status,\n.dx-progressbar .dx-position-top-right .dx-progressbar-range-container,\n.dx-progressbar .dx-position-top-right .dx-progressbar-status {\n  float: right;\n}\n.dx-progressbar .dx-position-bottom-center .dx-progressbar-status,\n.dx-progressbar .dx-position-top-center .dx-progressbar-status {\n  text-align: center;\n}\n.dx-progressbar .dx-position-left .dx-progressbar-status {\n  padding-right: 8px;\n}\n.dx-progressbar .dx-position-right .dx-progressbar-status {\n  padding-left: 8px;\n}\n.dx-progressbar::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-progressbar-range-container {\n  width: 100%;\n}\n.dx-progressbar-container {\n  position: relative;\n  width: 100%;\n}\n.dx-progressbar-wrapper {\n  display: inline-block;\n  width: 100%;\n  vertical-align: middle;\n  direction: ltr;\n}\n.dx-progressbar-range {\n  height: 100%;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-user-drag: none;\n}\n.dx-progressbar-status {\n  position: relative;\n  top: 0;\n  left: 0;\n  width: auto;\n  height: 20px;\n  font-size: 12px;\n}\n.dx-progressbar-animating-segment {\n  display: none;\n}\n.dx-rtl .dx-progressbar .dx-progressbar-wrapper,\n.dx-rtl.dx-progressbar .dx-progressbar-wrapper {\n  direction: rtl;\n}\n.dx-progressbar-container {\n  height: 6px;\n  border: 1px solid #ddd;\n  background-color: #ddd;\n  border-radius: 2px;\n}\n.dx-progressbar-range {\n  position: relative;\n  border: 1px solid #337ab7;\n  background-color: #337ab7;\n  margin-top: -1px;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n  border-top-left-radius: 2px;\n  border-bottom-left-radius: 2px;\n}\n.dx-progressbar-animating-container {\n  width: 100%;\n  height: 6px;\n  background-color: #ddd;\n  background-size: 90% 5px;\n  border: 1px solid #ddd;\n  border-radius: 2px;\n  -webkit-animation: 2s linear infinite dx-loader;\n  animation: 2s linear infinite dx-loader;\n  background-image: -webkit-gradient(linear,right top,left top,color-stop(5%,transparent),color-stop(#337ab7),color-stop(95%,transparent));\n  background-image: linear-gradient(-90deg,transparent 5%,#337ab7,transparent 95%);\n  background-repeat: repeat;\n}\n.dx-state-disabled .dx-progressbar-range {\n  background-color: rgba(51,122,183,.6);\n}\n.dx-state-disabled .dx-progressbar-animating-container {\n  -webkit-animation: none;\n  animation: none;\n  background-position-x: 45%;\n}\n.dx-rtl .dx-progressbar .dx-progressbar-animating-container,\n.dx-rtl.dx-progressbar .dx-progressbar-animating-container {\n  -webkit-animation: 2s linear infinite dx-loader-rtl;\n  animation: 2s linear infinite dx-loader-rtl;\n  background-image: -webkit-gradient(linear,right top,left top,color-stop(5%,transparent),color-stop(#337ab7),color-stop(95%,transparent));\n  background-image: linear-gradient(-90deg,transparent 5%,#337ab7,transparent 95%);\n  background-repeat: repeat;\n}\n@-webkit-keyframes dx-loader {\n  0% {\n    background-position-x: 0;\n  }\n  100% {\n    background-position-x: 900%;\n  }\n}\n@keyframes dx-loader {\n  0% {\n    background-position-x: 0;\n  }\n  100% {\n    background-position-x: 900%;\n  }\n}\n@-webkit-keyframes dx-loader-rtl {\n  0% {\n    background-position-x: 0;\n  }\n  100% {\n    background-position-x: -900%;\n  }\n}\n@keyframes dx-loader-rtl {\n  0% {\n    background-position-x: 0;\n  }\n  100% {\n    background-position-x: -900%;\n  }\n}\n.dx-tooltip-wrapper .dx-overlay-content {\n  min-width: 34px;\n  min-height: 26px;\n  text-align: center;\n  line-height: 0;\n  border: 1px solid #ddd;\n  background-color: #fff;\n  color: #333;\n  -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.1);\n  box-shadow: 0 2px 4px rgba(0,0,0,.1);\n  border-radius: 4px;\n}\n.dx-tooltip-wrapper .dx-overlay-content::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-tooltip-wrapper .dx-overlay-content .dx-popup-content {\n  display: inline-block;\n  padding: 12px 17px;\n  font-size: .85em;\n  line-height: normal;\n  white-space: nowrap;\n}\n.dx-tooltip-wrapper.dx-popover-wrapper .dx-popover-arrow::after {\n  border: 1px solid #ddd;\n  background: #fff;\n}\n.dx-slider-label {\n  position: absolute;\n  font-size: .85em;\n}\n.dx-slider-label:last-child {\n  right: 0;\n  left: auto;\n}\n.dx-rtl .dx-slider-label:last-child {\n  left: 0;\n  right: auto;\n}\n.dx-slider-label-position-bottom {\n  padding-bottom: 14px;\n}\n.dx-slider-label-position-top {\n  padding-top: 14px;\n}\n.dx-slider {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-slider::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-slider .dx-overlay-content {\n  height: 28px;\n}\n.dx-slider .dx-overlay-content::before {\n  display: none;\n}\n.dx-slider .dx-popover-wrapper .dx-popover-arrow::after {\n  width: 9.8995898741px;\n  height: 9.8995898741px;\n}\n.dx-slider .dx-popover-wrapper.dx-position-bottom .dx-popover-arrow,\n.dx-slider .dx-popover-wrapper.dx-position-top .dx-popover-arrow {\n  width: 14px;\n  height: 7px;\n}\n.dx-slider .dx-popover-wrapper.dx-position-left .dx-popover-arrow,\n.dx-slider .dx-popover-wrapper.dx-position-right .dx-popover-arrow {\n  width: 7px;\n  height: 14px;\n}\n.dx-slider-wrapper {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  vertical-align: middle;\n  cursor: pointer;\n  height: 20px;\n}\n.dx-slider-bar {\n  position: relative;\n}\n.dx-slider-range {\n  position: absolute;\n  top: 0;\n  pointer-events: none;\n  -webkit-user-drag: none;\n}\n.dx-slider-handle .dx-tooltip-wrapper .dx-popup-content {\n  line-height: 0;\n}\n.dx-state-disabled .dx-slider-wrapper {\n  cursor: default;\n}\n.dx-rtl .dx-slider-handle {\n  right: auto;\n  left: 0;\n  margin-left: -5px;\n}\n.dx-slider-tooltip-visible-on-hover .dx-tooltip {\n  visibility: hidden;\n}\n.dx-slider-tooltip-visible-on-hover.dx-state-active .dx-tooltip,\n.dx-slider-tooltip-visible-on-hover.dx-state-hover .dx-tooltip {\n  visibility: visible;\n}\n.dx-slider .dx-tooltip-wrapper .dx-overlay-content {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-slider .dx-state-active.dx-slider-handle {\n  border: 1px solid #fff;\n  background: #204d73;\n}\n.dx-slider .dx-state-focused.dx-slider-handle:not(.dx-state-active),\n.dx-slider .dx-state-hover.dx-slider-handle:not(.dx-state-active) {\n  border: 1px solid #fff;\n  background: #285f8f;\n}\n.dx-slider-bar {\n  margin: 10px 4.5px;\n  height: 2px;\n  background: #ddd;\n  border-radius: 2px;\n}\n.dx-slider-range {\n  border: 1px solid transparent;\n  height: 0;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-slider-range.dx-slider-range-visible {\n  border: 1px solid #337ab7;\n  background: #337ab7;\n  border-radius: 2px;\n}\n.dx-slider-label-position-bottom .dx-slider-label {\n  bottom: -17px;\n}\n.dx-slider-label-position-top .dx-slider-label {\n  top: -14px;\n}\n.dx-slider-handle {\n  position: absolute;\n  top: 0;\n  right: 0;\n  pointer-events: auto;\n  -webkit-user-drag: none;\n  margin-top: -10px;\n  margin-right: -4.5px;\n  width: 9px;\n  height: 20px;\n  border: 1px solid #fff;\n  background-color: #337ab7;\n  border-radius: 3px;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-state-disabled .dx-slider,\n.dx-state-disabled.dx-slider {\n  opacity: 1;\n}\n.dx-state-disabled .dx-slider .dx-slider-bar,\n.dx-state-disabled.dx-slider .dx-slider-bar {\n  opacity: .5;\n}\n.dx-invalid .dx-slider-handle {\n  background-color: #d9534f;\n}\n.dx-invalid .dx-slider-range-visible {\n  background-color: #d9534f;\n  border-color: #d9534f;\n}\n.dx-invalid .dx-slider-bar {\n  background-color: rgba(217,83,79,.4);\n}\n.dx-invalid .dx-state-focused.dx-slider-handle:not(.dx-state-active),\n.dx-invalid .dx-state-hover.dx-slider-handle:not(.dx-state-active) {\n  background: #c9302c;\n}\n.dx-rangeslider-start-handle {\n  top: 0;\n  right: auto;\n  left: 0;\n  margin-left: -7px;\n}\n.dx-rtl .dx-rangeslider-start-handle {\n  right: 0;\n  left: auto;\n  margin-right: -7px;\n}\n.dx-gallery {\n  width: 100%;\n  height: 100%;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -ms-touch-action: pinch-zoom pan-y;\n  touch-action: pinch-zoom pan-y;\n}\n.dx-gallery-wrapper {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n  white-space: nowrap;\n}\n.dx-gallery-wrapper > .dx-empty-message {\n  text-align: center;\n  position: absolute;\n  width: 100%;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n  transform: translateY(-50%);\n}\n.dx-gallery-container {\n  position: relative;\n  height: 100%;\n}\n.dx-gallery-item {\n  display: inline-block;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n}\n.dx-gallery-item-image {\n  max-width: 100%;\n  -ms-flex-item-align: start;\n  align-self: flex-start;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  height: auto;\n  margin: auto;\n}\n.dx-gallery-item-content {\n  width: 100%;\n  height: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-gallery .dx-gallery-item-loop {\n  display: none;\n}\n.dx-gallery-loop .dx-gallery-item-loop {\n  display: inline-block;\n  position: absolute;\n}\n.dx-gallery-item-invisible {\n  visibility: hidden;\n}\n.dx-gallery-nav-button-next,\n.dx-gallery-nav-button-prev {\n  position: absolute;\n  top: 50%;\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  background-size: 100% 100%;\n}\n.dx-gallery-nav-button-prev {\n  left: 0;\n}\n.dx-gallery-nav-button-next {\n  right: 0;\n}\n.dx-gallery-indicator {\n  position: absolute;\n  bottom: 10px;\n  width: 100%;\n  height: 10px;\n  font-size: 0;\n  pointer-events: none;\n  text-align: center;\n}\n.dx-state-disabled .dx-gallery-indicator-item,\n.dx-state-disabled .dx-gallery-nav-button-next,\n.dx-state-disabled .dx-gallery-nav-button-prev {\n  cursor: default;\n}\n.dx-rtl .dx-gallery-nav-button-prev {\n  right: 0;\n  left: auto;\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-gallery-nav-button-next {\n  right: auto;\n  left: 0;\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-device-android .dx-scrollable-native .dx-gallery-indicator,\n.dx-device-android .dx-scrollable-native .dx-gallery-item,\n.dx-device-android .dx-scrollable-native .dx-gallery-nav-button-next,\n.dx-device-android .dx-scrollable-native .dx-gallery-nav-button-prev {\n  -webkit-backface-visibility: visible;\n  backface-visibility: visible;\n}\n.dx-device-android .dx-gallery-item,\n.dx-device-android .dx-scrollable-native .dx-gallery-active .dx-gallery-indicator,\n.dx-device-android .dx-scrollable-native .dx-gallery-active .dx-gallery-item,\n.dx-device-android .dx-scrollable-native .dx-gallery-active .dx-gallery-nav-button-next,\n.dx-device-android .dx-scrollable-native .dx-gallery-active .dx-gallery-nav-button-prev,\n.dx-device-ios-6 .dx-gallery,\n.dx-device-ios-6 .dx-gallery-indicator,\n.dx-device-ios-6 .dx-gallery-item,\n.dx-device-ios-6 .dx-gallery-nav-button-next,\n.dx-device-ios-6 .dx-gallery-nav-button-prev {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n.dx-gallery .dx-gallery-nav-button-next,\n.dx-gallery .dx-gallery-nav-button-prev {\n  position: absolute;\n  top: 0;\n  width: 34%;\n  height: 100%;\n  background: 0 0;\n  cursor: pointer;\n  text-align: center;\n}\n.dx-gallery .dx-gallery-nav-button-next.dx-state-hover::after,\n.dx-gallery .dx-gallery-nav-button-prev.dx-state-hover::after {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-gallery .dx-gallery-nav-button-next.dx-state-active::after,\n.dx-gallery .dx-gallery-nav-button-prev.dx-state-active::after {\n  background-color: rgba(51,122,183,.7);\n}\n.dx-gallery .dx-gallery-nav-button-next::before,\n.dx-gallery .dx-gallery-nav-button-prev::before {\n  display: block;\n  width: 32px;\n  top: 50%;\n  margin-top: -16px;\n  left: 50%;\n  margin-left: -16px;\n  position: absolute;\n  z-index: 10;\n  clear: both;\n  font-size: 32px;\n  color: #fff;\n}\n.dx-gallery .dx-gallery-nav-button-next::after,\n.dx-gallery .dx-gallery-nav-button-prev::after {\n  content: \"\";\n  position: absolute;\n  width: 32px;\n  height: 100%;\n  border-radius: 0;\n}\n.dx-gallery .dx-gallery-nav-button-prev {\n  font: 14px/1 DXIcons;\n}\n.dx-gallery .dx-gallery-nav-button-prev::before {\n  content: \"\\f012\";\n  left: 0;\n  right: auto;\n  margin-left: 0;\n}\n.dx-gallery .dx-gallery-nav-button-prev::after {\n  left: 0;\n}\n.dx-gallery .dx-gallery-nav-button-next {\n  font: 14px/1 DXIcons;\n}\n.dx-gallery .dx-gallery-nav-button-next::before {\n  content: \"\\f010\";\n  right: 0;\n  left: auto;\n}\n.dx-gallery .dx-gallery-nav-button-next::after {\n  right: 0;\n}\n.dx-gallery-indicator-item {\n  display: inline-block;\n  cursor: pointer;\n  border-radius: 50%;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  border: 1px solid #337ab7;\n  pointer-events: auto;\n  margin: 2px 6px;\n  width: 6px;\n  height: 6px;\n  background: #fff;\n}\n.dx-gallery-indicator-item-active,\n.dx-gallery-indicator-item-selected {\n  width: 7px;\n  height: 7px;\n  background: #337ab7;\n  border: 2px solid rgba(255,255,255,.8);\n  margin: 1.5px 6px;\n}\n.dx-state-focused.dx-gallery .dx-gallery-indicator-item-selected {\n  background: #22527b;\n}\n.dx-lookup .dx-popup-content .dx-scrollable {\n  height: calc(100% - 45px);\n}\n.dx-lookup .dx-lookup-field-wrapper {\n  position: relative;\n  width: 100%;\n  height: 100%;\n}\n.dx-lookup .dx-rtl .dx-lookup-field-wrapper::after,\n.dx-lookup:not(.dx-rtl) .dx-lookup-field-wrapper::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-lookup-field {\n  outline: 0;\n  position: relative;\n  width: 100%;\n  display: inline-block;\n  vertical-align: middle;\n  cursor: pointer;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  padding: 4px 24px 4px 5px;\n  font-size: 1em;\n}\n.dx-lookup-field::before {\n  content: \".\";\n  color: transparent;\n  display: inline-block;\n  width: 0;\n  float: left;\n}\n.dx-lookup-arrow {\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  left: auto;\n  height: 100%;\n}\n.dx-rtl .dx-lookup-arrow {\n  right: auto;\n  left: 0;\n}\n.dx-state-disabled .dx-lookup-field {\n  cursor: default;\n}\n.dx-lookup-popup-wrapper .dx-list-item {\n  cursor: pointer;\n  border-top: none;\n}\n.dx-lookup-popup-search .dx-list {\n  height: 90%;\n  height: calc(100% - 40px);\n}\n.dx-lookup-search-wrapper {\n  width: 100%;\n  padding: 10px 10px 4px;\n}\n.dx-lookup {\n  margin: 0;\n  height: 26px;\n  border: 1px solid #ddd;\n  background: #fff;\n}\n.dx-lookup.dx-editor-underlined {\n  background: 0 0;\n}\n.dx-lookup.dx-texteditor-with-floating-label.dx-editor-underlined .dx-texteditor-label .dx-label,\n.dx-lookup.dx-texteditor-with-label.dx-editor-underlined .dx-texteditor-label .dx-label {\n  padding-left: 5px;\n}\n.dx-lookup.dx-texteditor-with-floating-label.dx-editor-underlined.dx-rtl .dx-texteditor-label .dx-label,\n.dx-lookup.dx-texteditor-with-label.dx-editor-underlined.dx-rtl .dx-texteditor-label .dx-label,\n.dx-rtl .dx-lookup.dx-texteditor-with-floating-label.dx-editor-underlined .dx-texteditor-label .dx-label,\n.dx-rtl .dx-lookup.dx-texteditor-with-label.dx-editor-underlined .dx-texteditor-label .dx-label {\n  padding-right: 5px;\n  padding-left: 0;\n}\n.dx-rtl .dx-lookup-field {\n  padding: 4px 5px 4px 24px;\n}\n.dx-lookup-arrow {\n  font: 14px/14px DXIcons;\n  width: 24px;\n  color: #333;\n  text-align: center;\n}\n.dx-lookup-arrow::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-state-readonly .dx-lookup-field::before {\n  opacity: .5;\n}\n.dx-lookup-popup-wrapper .dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-lookup-popup-wrapper .dx-list-item-content {\n  padding-left: 10px;\n  padding-right: 10px;\n}\n.dx-lookup-popup-wrapper .dx-popup-content {\n  top: 0;\n  padding: 0;\n}\n.dx-lookup-popup-wrapper .dx-popup-title + .dx-popup-content {\n  top: 36px;\n}\n.dx-lookup-empty .dx-lookup-field {\n  color: #999;\n}\n.dx-invalid.dx-lookup .dx-lookup-field::after {\n  right: 26px;\n  pointer-events: none;\n  font-weight: 700;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  width: 16px;\n  height: 16px;\n  text-align: center;\n  line-height: 16px;\n  font-size: 11px;\n  background-color: #d9534f;\n  color: #fff;\n  content: \"!\";\n  border-radius: 50%;\n}\n.dx-rtl .dx-invalid.dx-lookup .dx-lookup-field::after,\n.dx-rtl.dx-invalid.dx-lookup .dx-lookup-field::after {\n  right: auto;\n  left: 26px;\n}\n.dx-valid.dx-lookup .dx-lookup-field::after {\n  right: 26px;\n  pointer-events: none;\n  font-weight: 700;\n  position: absolute;\n  top: 50%;\n  margin-top: -8px;\n  width: 16px;\n  height: 16px;\n  text-align: center;\n  line-height: 16px;\n  font-size: 11px;\n  font-family: DXIcons,sans-serif;\n  color: #5cb85c;\n  content: \"\\f005\";\n  opacity: 0;\n  -webkit-transform: scale(0);\n  transform: scale(0);\n  -webkit-animation: .3s cubic-bezier(1,.008,.565,1.65) .1s forwards dx-valid-badge-frames;\n  animation: .3s cubic-bezier(1,.008,.565,1.65) .1s forwards dx-valid-badge-frames;\n}\n.dx-rtl .dx-valid.dx-lookup .dx-lookup-field::after,\n.dx-rtl.dx-valid.dx-lookup .dx-lookup-field::after {\n  right: auto;\n  left: 26px;\n}\n.dx-validation-pending.dx-lookup .dx-lookup-field-wrapper .dx-pending-indicator {\n  right: 26px;\n  pointer-events: none;\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  width: 20px;\n  height: 20px;\n}\n.dx-rtl .dx-validation-pending.dx-lookup .dx-lookup-field-wrapper .dx-pending-indicator,\n.dx-rtl.dx-validation-pending.dx-lookup .dx-lookup-field-wrapper .dx-pending-indicator {\n  right: auto;\n  left: 26px;\n}\n.dx-loadpanel-content::before {\n  display: inline-block;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n}\n.dx-loadpanel-content-wrapper {\n  display: inline-block;\n  width: 100%;\n  vertical-align: middle;\n}\n.dx-loadpanel-message {\n  text-align: center;\n}\n.dx-loadpanel-content.dx-loadpanel-pane-hidden {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  border: none;\n  background: 0 0;\n}\n@-webkit-keyframes dx-loadpanel-opacity {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n@keyframes dx-loadpanel-opacity {\n  from {\n    opacity: 0;\n  }\n  to {\n    opacity: 1;\n  }\n}\n.dx-loadpanel-content {\n  padding: 10px;\n  text-align: center;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  -webkit-user-drag: none;\n  border: 1px solid #ddd;\n  background: #fff;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.25);\n  box-shadow: 0 6px 12px rgba(0,0,0,.25);\n}\n.dx-tagbox .dx-texteditor-input {\n  width: auto;\n}\n.dx-tagbox.dx-tagbox-default-template.dx-tagbox-only-select .dx-texteditor-input {\n  border: none;\n  color: transparent;\n  text-shadow: 0 0 0 gray;\n  min-width: 0;\n  width: .1px;\n  padding-left: 0;\n  padding-right: 0;\n  margin-left: 0;\n  margin-right: 0;\n}\n.dx-tagbox.dx-tagbox-default-template.dx-tagbox-only-select .dx-texteditor-input:focus {\n  outline: 0;\n}\n.dx-tagbox.dx-state-disabled .dx-texteditor-input {\n  background: 0 0;\n}\n.dx-tagbox.dx-state-disabled .dx-tag-content {\n  cursor: default;\n}\n.dx-tagbox:not(.dx-tagbox-single-line) .dx-texteditor-input-container {\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-align: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n}\n.dx-tag {\n  max-width: calc(100% - 1px);\n  display: inline-block;\n  -ms-flex-item-align: start;\n  align-self: flex-start;\n}\n.dx-tag-container.dx-texteditor-input-container {\n  padding: 0 4px 2px 0;\n  outline: 0;\n}\n.dx-tagbox-single-line .dx-tag-container.dx-texteditor-input-container {\n  overflow: hidden;\n  white-space: nowrap;\n}\n.dx-texteditor-container.dx-tag-container {\n  white-space: normal;\n}\n.dx-tag-content {\n  position: relative;\n  display: inline-block;\n  text-align: center;\n  cursor: pointer;\n  margin: 2px 0 0 2px;\n  padding: 2px 17px 2px 4px;\n  min-width: 40px;\n  background-color: #ddd;\n  border-radius: 2px;\n  color: #333;\n}\n.dx-tag-remove-button {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 17px;\n  height: 100%;\n}\n.dx-tag-remove-button::after,\n.dx-tag-remove-button::before {\n  position: absolute;\n  top: 50%;\n  content: \"\";\n  -webkit-transform: rotate(45deg);\n  transform: rotate(45deg);\n  right: 7px;\n  margin-top: -5px;\n  width: 3px;\n  height: 11px;\n  background: #aaa;\n}\n.dx-rtl .dx-tagbox .dx-tag-content,\n.dx-tagbox.dx-rtl .dx-tag-content {\n  margin-left: 0;\n  margin-right: 4px;\n}\n.dx-rtl .dx-tagbox .dx-tag-remove-button,\n.dx-tagbox.dx-rtl .dx-tag-remove-button {\n  right: auto;\n  left: 0;\n}\n.dx-rtl .dx-tagbox .dx-tag-container,\n.dx-tagbox.dx-rtl .dx-tag-container {\n  padding-left: 4px;\n  padding-right: 0;\n}\n.dx-tagbox:not(.dx-texteditor-empty) .dx-texteditor-input {\n  padding-left: 0;\n  margin-left: 3px;\n}\n.dx-rtl .dx-tagbox:not(.dx-texteditor-empty) .dx-texteditor-input,\n.dx-rtl.dx-tagbox:not(.dx-texteditor-empty) .dx-texteditor-input {\n  padding-right: 0;\n  padding-left: 0;\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-tagbox-single-line .dx-tag-container {\n  padding-right: 0;\n}\n.dx-tagbox:not(.dx-tagbox-single-line) .dx-texteditor-input {\n  height: auto;\n}\n.dx-tag-container.dx-texteditor-input-container .dx-texteditor-input {\n  padding-bottom: 2px;\n  min-height: 22px;\n}\n.dx-texteditor-with-floating-label.dx-editor-outlined .dx-tag-container.dx-texteditor-input-container,\n.dx-texteditor-with-label.dx-editor-outlined .dx-tag-container.dx-texteditor-input-container {\n  padding-top: 6px;\n}\n.dx-texteditor-with-floating-label.dx-editor-filled .dx-tag-container.dx-texteditor-input-container,\n.dx-texteditor-with-floating-label.dx-editor-underlined .dx-tag-container.dx-texteditor-input-container,\n.dx-texteditor-with-label.dx-editor-filled .dx-tag-container.dx-texteditor-input-container,\n.dx-texteditor-with-label.dx-editor-underlined .dx-tag-container.dx-texteditor-input-container {\n  padding-top: 11px;\n  padding-bottom: 0;\n}\n.dx-tag-remove-button::after {\n  right: 3px;\n  margin-top: -1px;\n  width: 11px;\n  height: 3px;\n}\n.dx-tag-remove-button:active::after,\n.dx-tag-remove-button:active::before {\n  background: #ddd;\n}\n.dx-tag.dx-state-focused .dx-tag-content {\n  background-color: #cbcbcb;\n  color: #333;\n}\n.dx-tag.dx-state-focused .dx-tag-remove-button::after,\n.dx-tag.dx-state-focused .dx-tag-remove-button::before {\n  background-color: #aaa;\n}\n.dx-tag.dx-state-focused .dx-tag-remove-button:active::after,\n.dx-tag.dx-state-focused .dx-tag-remove-button:active::before {\n  background: #ddd;\n}\n.dx-tagbox.dx-invalid .dx-texteditor-container::after,\n.dx-tagbox.dx-valid .dx-texteditor-container::after {\n  right: 4px;\n}\n.dx-rtl .dx-tagbox.dx-invalid .dx-texteditor-container::after,\n.dx-rtl .dx-tagbox.dx-valid .dx-texteditor-container::after,\n.dx-rtl.dx-tagbox.dx-invalid .dx-texteditor-container::after,\n.dx-rtl.dx-tagbox.dx-valid .dx-texteditor-container::after {\n  left: 4px;\n}\n.dx-tagbox.dx-validation-pending .dx-texteditor-container .dx-pending-indicator {\n  right: 4px;\n}\n.dx-rtl .dx-tagbox.dx-validation-pending .dx-texteditor-container .dx-pending-indicator,\n.dx-rtl.dx-tagbox.dx-validation-pending .dx-texteditor-container .dx-pending-indicator {\n  left: 4px;\n}\n.dx-tagbox-popup-wrapper .dx-list-select-all {\n  border-bottom: 1px solid #ddd;\n  padding-bottom: 5px;\n  margin-bottom: 1px;\n}\n.dx-rtl .dx-tag-content {\n  padding-right: 4px;\n  padding-left: 17px;\n}\n.dx-rtl .dx-tag-remove-button::before {\n  right: auto;\n  left: 7px;\n}\n.dx-rtl .dx-tag-remove-button::after {\n  right: auto;\n  left: 3px;\n}\n.dx-radio-value-container {\n  -webkit-padding-end: 10px;\n  padding-inline-end: 10px;\n}\n.dx-radiogroup-horizontal .dx-collection {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-column-gap: 17px;\n  -moz-column-gap: 17px;\n  column-gap: 17px;\n}\n.dx-radiobutton {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  cursor: pointer;\n}\n.dx-radiobutton.dx-state-disabled {\n  cursor: default;\n  opacity: .5;\n}\n.dx-state-disabled .dx-radiobutton.dx-state-disabled {\n  opacity: 1;\n}\n.dx-radiobutton-icon {\n  position: relative;\n  width: 16px;\n  height: 16px;\n  border: 1px solid #ddd;\n  background-color: #fff;\n  border-radius: 50%;\n}\n.dx-radiobutton-icon .dx-radiobutton-icon-dot {\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n  border: 0 solid #fff;\n}\n.dx-radiobutton-icon-checked .dx-radiobutton-icon-dot {\n  background-color: #337ab7;\n  border-width: 3px;\n}\n.dx-radiobutton.dx-state-readonly .dx-radiobutton-icon {\n  border-color: #f4f4f4;\n}\n.dx-radiobutton.dx-state-hover .dx-radiobutton-icon {\n  border-color: rgba(51,122,183,.4);\n}\n.dx-radiobutton.dx-state-active .dx-radiobutton-icon {\n  background-color: rgba(96,96,96,.2);\n}\n.dx-radiobutton.dx-state-active .dx-radiobutton-icon-dot {\n  border-color: #ddd;\n}\n.dx-radiobutton.dx-state-focused .dx-radiobutton-icon {\n  border-color: #337ab7;\n}\n.dx-invalid .dx-radiobutton-icon {\n  border-color: rgba(217,83,79,.4);\n}\n.dx-invalid .dx-state-focused.dx-radiobutton .dx-radiobutton-icon,\n.dx-invalid .dx-state-hover.dx-radiobutton .dx-radiobutton-icon {\n  border-color: #d9534f;\n}\n.dx-state-readonly .dx-radiobutton-icon {\n  border-color: #f4f4f4;\n}\n.dx-radiogroup .dx-radiobutton,\n.dx-radiogroup .dx-radiobutton-icon {\n  margin-top: 1px;\n  margin-bottom: 1px;\n}\n.dx-accordion-item-title {\n  cursor: pointer;\n  position: relative;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  color: #333;\n  padding: 5px 7px;\n  font-size: 16px;\n}\n.dx-accordion-item-title::before {\n  background-position: center;\n  float: right;\n  font-weight: 400;\n  color: #333;\n  content: \"\\f016\";\n  font-family: DXIcons;\n  font-size: 14px;\n  margin-left: 7px;\n  margin-right: 0;\n  line-height: 21px;\n}\n.dx-accordion-item-body {\n  overflow: hidden;\n  padding: 3px 7px 12px;\n  font-size: 12px;\n}\n.dx-accordion-item-closed .dx-accordion-item-body {\n  visibility: hidden;\n}\n.dx-accordion-item {\n  overflow: hidden;\n  border: 1px solid transparent;\n  border-top-color: #ddd;\n}\n.dx-accordion-item-opened .dx-accordion-item-body {\n  visibility: visible;\n}\n.dx-state-disabled .dx-accordion-item-title {\n  cursor: default;\n}\n.dx-accordion {\n  background-color: #fff;\n  color: #333;\n}\n.dx-accordion-item:last-child {\n  border-bottom: 1px solid #ddd;\n}\n.dx-accordion-item.dx-state-active:not(.dx-accordion-item-opened) .dx-icon {\n  color: #333;\n}\n.dx-accordion-item.dx-state-active:not(.dx-accordion-item-opened) > .dx-accordion-item-title {\n  color: #333;\n  background-color: rgba(96,96,96,.2);\n}\n.dx-accordion-item.dx-state-hover > .dx-accordion-item-title {\n  background-color: rgba(0,0,0,.04);\n}\n.dx-accordion-item.dx-state-hover:not(:last-child):not(.dx-accordion-item-opened):not(.dx-state-focused) {\n  border-bottom-color: rgba(0,0,0,.04);\n}\n.dx-accordion-item-opened {\n  border-color: #ddd;\n}\n.dx-accordion-item-opened.dx-state-hover>.dx-accordion-item-title,\n.dx-accordion-item-opened>.dx-accordion-item-title {\n  background-color: transparent;\n}\n.dx-accordion-item-opened > .dx-accordion-item-title::before {\n  content: \"\\f014\";\n}\n.dx-accordion-item-opened + .dx-accordion-item {\n  border-top-color: transparent;\n}\n.dx-accordion-item-opened + .dx-accordion-item.dx-state-hover:not(.dx-state-focused) {\n  border-top-color: rgba(0,0,0,.04);\n}\n.dx-accordion-item-title .dx-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n  display: inline-block;\n  color: #333;\n}\n.dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon {\n  margin-right: 4px;\n  margin-left: 0;\n  vertical-align: top;\n  position: relative;\n  top: 1px;\n}\n.dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon.dx-icon-right,\n.dx-rtl .dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon,\n.dx-rtl.dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon {\n  margin-left: 4px;\n  margin-right: 0;\n}\n.dx-rtl .dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon.dx-icon-right,\n.dx-rtl.dx-accordion-item-title .dx-accordion-item-title-caption .dx-icon.dx-icon-right {\n  margin-right: 4px;\n  margin-left: 0;\n}\n.dx-state-disabled.dx-accordion-item {\n  opacity: .5;\n}\n.dx-state-focused.dx-accordion-item {\n  border-color: #337ab7;\n}\n.dx-rtl .dx-accordion-item-title::before {\n  float: left;\n  margin-left: 0;\n  margin-right: 7px;\n}\n.dx-colorbox-input-container.dx-colorbox-color-is-not-defined .dx-colorbox-color-result-preview {\n  border: none;\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAQAAACRZI9xAAAAdElEQVQoU4XR0Q3AIAgFQCarie7UrToMc3QIiyIFFGNe5INcgETAegpQefFCCFPwYZI2qFA/M4EQMQAhKxJgiEcKHFFkwUQY3Q4sBAhUerYzkbaiTUk7Ije0dYoMyeYGi35igUeDzMCiTiKgaPx0BAR1csgHXJxUKOJqsbEAAAAASUVORK5CYII=\") no-repeat;\n}\n.dx-colorbox-input-container .dx-placeholder {\n  max-width: calc(100% - 25px);\n}\n.dx-colorbox .dx-texteditor-input-container::before {\n  content: \"\";\n  display: block;\n  position: absolute;\n  top: 50%;\n  z-index: 1;\n  width: 15px;\n  height: 15px;\n  margin-top: -7.5px;\n  left: 14px;\n}\n.dx-colorbox .dx-colorbox-color-is-not-defined .dx-texteditor-input-container::before {\n  background: 0 0;\n}\n.dx-colorbox.dx-editor-filled .dx-texteditor-label .dx-label-before,\n.dx-colorbox.dx-editor-outlined .dx-texteditor-label .dx-label-before,\n.dx-colorbox.dx-editor-underlined .dx-texteditor-label .dx-label-before {\n  min-width: 40px;\n}\n.dx-colorbox-color-result-preview {\n  position: absolute;\n  top: 50%;\n  z-index: 2;\n  width: 17px;\n  height: 17px;\n  margin-top: -8.5px;\n  left: 13px;\n  border: 1px solid;\n}\n.dx-colorbox-input-container .dx-colorbox-input.dx-texteditor-input {\n  -webkit-appearance: none;\n  padding-left: 40px;\n}\n.dx-colorbox-overlay .dx-popup-content {\n  overflow: hidden;\n  padding: 10px;\n}\n.dx-colorbox-overlay .dx-popup-bottom .dx-toolbar-item:first-child {\n  padding-right: 10px;\n}\n.dx-colorbox-overlay .dx-colorview-buttons-container .dx-button {\n  margin: 0;\n}\n.dx-rtl .dx-colorbox .dx-placeholder,\n.dx-rtl.dx-colorbox .dx-placeholder {\n  right: 32px;\n}\n.dx-rtl .dx-colorbox.dx-dropdowneditor .dx-colorbox-input.dx-texteditor-input,\n.dx-rtl.dx-colorbox.dx-dropdowneditor .dx-colorbox-input.dx-texteditor-input {\n  direction: ltr;\n  text-align: end;\n  padding-right: 40px;\n}\n.dx-rtl .dx-colorbox.dx-dropdowneditor .dx-colorbox-color-result-preview,\n.dx-rtl.dx-colorbox.dx-dropdowneditor .dx-colorbox-color-result-preview {\n  left: auto;\n  right: 13px;\n}\n.dx-rtl .dx-colorbox.dx-dropdowneditor .dx-colorbox-input-container::before,\n.dx-rtl.dx-colorbox.dx-dropdowneditor .dx-colorbox-input-container::before {\n  left: auto;\n  right: 14px;\n}\n.dx-colorview-container label {\n  overflow: hidden;\n  font-weight: 400;\n  margin: 0;\n  white-space: normal;\n  line-height: 25px;\n  display: block;\n  color: #333;\n}\n.dx-colorview-container .dx-button {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.dx-colorview-container .dx-button.dx-colorview-apply-button {\n  margin-right: 10px;\n  margin-left: 0;\n}\n.dx-colorview-container .dx-button.dx-colorview-cancel-button {\n  margin-right: 0;\n  margin-left: 0;\n}\n.dx-colorview-container-row {\n  overflow: hidden;\n  padding-top: 1px;\n}\n.dx-colorview-container-row:first-child {\n  margin-top: 0;\n}\n.dx-colorview-container-cell {\n  float: left;\n}\n.dx-colorview-palette-handle {\n  width: 28px;\n  height: 28px;\n  top: 0;\n  left: 0;\n  cursor: crosshair;\n  border-radius: 100%;\n  z-index: 5;\n  position: absolute;\n}\n.dx-colorview-alpha-channel-handle,\n.dx-colorview-hue-scale-handle {\n  position: absolute;\n  cursor: pointer;\n}\n.dx-colorview-hue-scale-handle {\n  width: 36px;\n  height: 17px;\n  top: 0;\n  left: -7px;\n}\n.dx-colorview-alpha-channel-handle {\n  width: 17px;\n  height: 36px;\n  top: -6px;\n  left: 0;\n}\n.dx-colorview-hue-scale {\n  position: relative;\n  background-repeat: no-repeat;\n  background-image: -webkit-gradient(linear,left bottom,left top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));\n  background-image: linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);\n}\n.dx-colorbox-input-container::after,\n.dx-colorview-alpha-channel-wrapper,\n.dx-colorview-color-preview-container-inner {\n  background-image: linear-gradient(45deg,#ccc 25%,transparent 25%,transparent 74%,#ccc 75%,#ccc),linear-gradient(45deg,#ccc 25%,transparent 25%,transparent 74%,#ccc 75%,#ccc);\n  background-size: 16px 16px;\n  background-position: 0 0,8px 8px;\n}\n.dx-colorview-alpha-channel-wrapper {\n  background-position: 0 6px,8px 14px;\n}\n.dx-colorbox-input-container {\n  height: 100%;\n}\n.dx-colorview-palette-gradient-white {\n  background-repeat: no-repeat;\n  background-image: -webkit-gradient(linear,right top,left top,from(rgba(255,255,255,0)),to(#fff));\n  background-image: linear-gradient(270deg,rgba(255,255,255,0),#fff);\n}\n.dx-colorview-palette-gradient-black {\n  background-repeat: no-repeat;\n  background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#000));\n  background-image: linear-gradient(180deg,rgba(0,0,0,0),#000);\n}\n.dx-colorview-palette {\n  position: relative;\n  overflow: hidden;\n  cursor: crosshair;\n}\n.dx-colorview-palette-gradient {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n.dx-colorview-alpha-channel-scale {\n  height: 20px;\n  position: relative;\n}\n.dx-colorview-alpha-channel-cell {\n  margin: 6px 0;\n  position: relative;\n}\n.dx-colorview-alpha-channel-cell .dx-button {\n  width: 90px;\n}\n.dx-rtl .dx-colorview-container-row .dx-colorview-container-cell {\n  float: right;\n}\n.dx-rtl .dx-colorview-container label .dx-texteditor {\n  float: left;\n}\n.dx-rtl .dx-colorview-alpha-channel-scale {\n  direction: ltr;\n}\n.dx-colorview-palette-handle {\n  background: radial-gradient(transparent 5px,rgba(0,0,0,.2) 6px,#fff 7px,#fff 12px,rgba(0,0,0,.2) 13px);\n  -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.2);\n  box-shadow: 0 1px 1px 0 rgba(0,0,0,.2);\n}\n.dx-colorview-hue-scale-handle {\n  border: 1px solid rgba(0,0,0,.2);\n  -webkit-box-shadow: inset -5px 0 0 3px #fff,inset 5px 0 0 3px #fff,inset -6px 0 1px 4px rgba(0,0,0,.2),inset 6px 0 1px 4px rgba(0,0,0,.2);\n  box-shadow: inset -5px 0 0 3px #fff,inset 5px 0 0 3px #fff,inset -6px 0 1px 4px rgba(0,0,0,.2),inset 6px 0 1px 4px rgba(0,0,0,.2);\n}\n.dx-colorview-alpha-channel-handle {\n  border: 1px solid rgba(0,0,0,.2);\n  -webkit-box-shadow: inset 0 -5px 0 3px #fff,inset 0 5px 0 3px #fff,inset 0 -6px 1px 4px rgba(0,0,0,.2),inset 0 6px 1px 4px rgba(0,0,0,.2);\n  box-shadow: inset 0 -5px 0 3px #fff,inset 0 5px 0 3px #fff,inset 0 -6px 1px 4px rgba(0,0,0,.2),inset 0 6px 1px 4px rgba(0,0,0,.2);\n}\n.dx-colorview-container {\n  overflow: hidden;\n  width: 316px;\n}\n.dx-colorview-container label.dx-colorview-label-hex {\n  margin: 5px 0 0;\n}\n.dx-colorview-container label.dx-colorview-alpha-channel-label {\n  margin-left: 29px;\n  width: 92px;\n}\n.dx-colorview-container label .dx-texteditor {\n  float: right;\n  width: 51px;\n  margin: 1px 1px 8px 0;\n}\n.dx-colorview-hue-scale-cell {\n  position: relative;\n  margin-left: 15px;\n}\n.dx-colorview-palette {\n  width: 190px;\n  height: 200px;\n}\n.dx-colorview-alpha-channel-scale {\n  width: 190px;\n}\n.dx-colorview-container-row.dx-colorview-alpha-channel-row {\n  margin-top: 5px;\n}\n.dx-colorview-hue-scale {\n  width: 18px;\n  height: 200px;\n}\n.dx-colorview-alpha-channel-cell {\n  width: 194px;\n}\n.dx-colorview-hue-scale-wrapper {\n  height: 202px;\n}\n.dx-colorview-color-preview {\n  width: 100%;\n  height: 25px;\n}\n.dx-colorview-controls-container {\n  position: relative;\n  width: 70px;\n  margin-left: 15px;\n}\n.dx-colorview-alpha-channel-border,\n.dx-colorview-color-preview-container,\n.dx-colorview-hue-scale-wrapper,\n.dx-colorview-palette-cell {\n  padding: 1px;\n  margin: 0 1px 1px;\n  background-color: #fff;\n  -webkit-box-shadow: 0 0 0 1px #ddd;\n  box-shadow: 0 0 0 1px #ddd;\n}\n.dx-colorview-color-preview-container {\n  margin-bottom: 15px;\n}\n.dx-rtl .dx-colorview-controls-container,\n.dx-rtl .dx-colorview-hue-scale-cell {\n  margin-left: 0;\n  margin-right: 15px;\n}\n.dx-rtl .dx-colorview-container label.dx-colorview-alpha-channel-label {\n  margin-left: 0;\n  margin-right: 29px;\n}\n.dx-colorbox.dx-state-focused .dx-colorbox-input {\n  padding-left: 40px;\n}\n.dx-colorbox .dx-placeholder {\n  left: 32px;\n}\n.dx-colorbox-color-result-preview {\n  border-color: #ddd;\n}\n.dx-colorbox-overlay {\n  padding: 0;\n}\n.dx-colorbox-overlay.dx-overlay-content {\n  background-color: #fff;\n}\n.dx-rtl .dx-colorbox.dx-state-focused .dx-colorbox-input,\n.dx-rtl.dx-colorbox.dx-state-focused .dx-colorbox-input {\n  padding-right: 40px;\n}\n.dx-rtl .dx-colorbox-overlay .dx-toolbar-item:first-child {\n  padding-left: 10px;\n  padding-right: 0;\n}\n.dx-pager {\n  overflow: hidden;\n  width: 100%;\n  line-height: normal;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.dx-pager .dx-pages {\n  white-space: nowrap;\n  float: right;\n}\n.dx-pager .dx-pages .dx-page-indexes {\n  display: inline-block;\n}\n.dx-pager .dx-pages .dx-page {\n  display: inline-block;\n  cursor: pointer;\n  margin-left: 5px;\n  margin-right: 1px;\n}\n.dx-pager .dx-pages .dx-separator {\n  display: inline-block;\n}\n.dx-pager .dx-pages .dx-info {\n  display: inline-block;\n  margin-right: 9px;\n  opacity: .6;\n}\n.dx-pager .dx-pages .dx-navigate-button {\n  cursor: pointer;\n  display: inline-block;\n  vertical-align: top;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-pager .dx-pages .dx-navigate-button.dx-button-disable {\n  opacity: .3;\n  cursor: inherit;\n}\n.dx-pager .dx-page-sizes {\n  float: left;\n}\n.dx-pager .dx-page-sizes .dx-page-size {\n  display: inline-block;\n  cursor: pointer;\n  margin-left: 4px;\n  margin-right: 1px;\n}\n.dx-pager .dx-page-sizes .dx-page-size.dx-first-child,\n.dx-pager .dx-page-sizes .dx-page-size:first-child {\n  margin-left: 1px;\n}\n.dx-pager .dx-page-sizes .dx-selection,\n.dx-pager .dx-pages .dx-selection {\n  cursor: inherit;\n  text-shadow: none;\n  color: #333;\n  border-color: transparent;\n  background-color: #d4d4d4;\n}\n.dx-pager .dx-light-pages {\n  display: inline-block;\n}\n.dx-pager .dx-light-pages .dx-page-index {\n  width: 40px;\n}\n.dx-pager .dx-light-pages .dx-pages-count {\n  cursor: pointer;\n}\n.dx-pager .dx-light-pages .dx-info-text,\n.dx-pager .dx-light-pages .dx-pages-count {\n  padding-left: 6px;\n}\n.dx-pager .dx-light-pages .dx-info-text,\n.dx-pager .dx-light-pages .dx-page-index,\n.dx-pager .dx-light-pages .dx-pages-count {\n  display: table-cell;\n}\n.dx-pager.dx-rtl .dx-pages,\n.dx-rtl .dx-pager .dx-pages {\n  float: left;\n  direction: ltr;\n}\n.dx-pager.dx-rtl .dx-pages .dx-page,\n.dx-rtl .dx-pager .dx-pages .dx-page {\n  direction: ltr;\n}\n.dx-pager.dx-rtl .dx-pages .dx-page:first-child,\n.dx-rtl .dx-pager .dx-pages .dx-page:first-child {\n  margin-left: 1px;\n}\n.dx-pager.dx-rtl .dx-pages .dx-info,\n.dx-rtl .dx-pager .dx-pages .dx-info {\n  direction: rtl;\n  margin-left: 9px;\n  margin-right: 0;\n}\n.dx-pager.dx-rtl .dx-page-sizes,\n.dx-rtl .dx-pager .dx-page-sizes {\n  float: right;\n}\n.dx-pager.dx-light-mode .dx-page-sizes {\n  min-width: 42px;\n}\n.dx-pager.dx-light-mode .dx-page-indexes {\n  vertical-align: middle;\n}\n.dx-pager.dx-light-mode .dx-page-index {\n  min-width: 19px;\n}\n.dx-pager .dx-pages .dx-page {\n  padding: 4px 6px 5px;\n}\n.dx-pager .dx-pages .dx-separator {\n  padding-left: 4px;\n  padding-right: 4px;\n}\n.dx-pager .dx-pages .dx-navigate-button {\n  width: 9px;\n  height: 16px;\n  padding: 5px 7px;\n}\n.dx-pager .dx-pages .dx-prev-button {\n  font: 14px/1 DXIcons;\n}\n.dx-pager .dx-pages .dx-prev-button::before {\n  content: \"\\f012\";\n}\n.dx-pager .dx-pages .dx-next-button {\n  font: 14px/1 DXIcons;\n}\n.dx-pager .dx-pages .dx-next-button::before {\n  content: \"\\f010\";\n}\n.dx-pager .dx-pages .dx-next-button,\n.dx-pager .dx-pages .dx-prev-button {\n  position: relative;\n  font-size: 21px;\n  text-align: center;\n  line-height: 21px;\n}\n.dx-pager .dx-pages .dx-next-button::before,\n.dx-pager .dx-pages .dx-prev-button::before {\n  position: absolute;\n  display: block;\n  width: 21px;\n  top: 50%;\n  margin-top: -10.5px;\n  left: 50%;\n  margin-left: -10.5px;\n}\n.dx-pager .dx-page,\n.dx-pager .dx-page-size {\n  border-radius: 3px;\n  border: 1px solid transparent;\n}\n.dx-pager .dx-page-sizes .dx-page-size {\n  padding: 4px 6px 5px 8px;\n}\n.dx-gridbase-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  height: 100%;\n  min-height: inherit;\n  max-height: inherit;\n}\n.dx-gridbase-container > * {\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n}\n.dx-datagrid-important-margin {\n  margin-right: 5px!important;\n}\n.dx-datagrid-table {\n  background-color: transparent;\n}\n.dx-datagrid-borders > .dx-datagrid-total-footer {\n  border-top: 0;\n}\n.dx-datagrid-borders > .dx-datagrid-pager {\n  margin-top: -1px;\n}\n.dx-datagrid-borders > .dx-datagrid-header-panel {\n  border-bottom: 0;\n}\n.dx-datagrid-borders > .dx-datagrid-rowsview.dx-last-row-border tbody:last-child > .dx-data-row:nth-last-child(2) > td {\n  border-bottom-width: 0;\n}\n.dx-datagrid .dx-datagrid-content-fixed {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  z-index: 2;\n  pointer-events: none;\n  overflow: hidden;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table {\n  position: relative;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table td {\n  pointer-events: auto;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table .dx-row td.dx-pointer-events-none {\n  visibility: hidden;\n  background-color: transparent;\n  pointer-events: none;\n  border-top-color: transparent;\n  border-bottom-color: transparent;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table .dx-header-row td.dx-pointer-events-none {\n  border-bottom-color: transparent;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table.dx-datagrid-table-fixed .dx-row td.dx-pointer-events-none {\n  width: auto;\n}\n.dx-datagrid .dx-menu-subitem ul li {\n  padding-top: 0;\n}\n.dx-datagrid .dx-menu-subitem ul li:first-child {\n  padding-top: 1px;\n}\n.dx-datagrid .dx-menu-subitem .dx-menu-item {\n  padding: 7px 30px 7px 5px;\n}\n.dx-datagrid .dx-menu-subitem .dx-menu-item .dx-menu-image {\n  background-position-x: left;\n}\n.dx-datagrid .dx-column-indicators {\n  display: inline-block;\n  vertical-align: top;\n  white-space: nowrap;\n}\n.dx-datagrid .dx-column-indicators.dx-visibility-hidden {\n  visibility: hidden;\n}\n.dx-datagrid .dx-column-indicators .dx-sort-index-icon {\n  padding-right: 3px;\n  margin-left: -3px;\n  width: 15px;\n}\n.dx-datagrid .dx-column-indicators .dx-header-filter.dx-header-filter,\n.dx-datagrid .dx-column-indicators .dx-header-filter.dx-sort,\n.dx-datagrid .dx-column-indicators .dx-sort.dx-header-filter,\n.dx-datagrid .dx-column-indicators .dx-sort.dx-sort {\n  display: inline-block;\n}\n.dx-datagrid .dx-column-indicators .dx-header-filter.dx-header-filter::after,\n.dx-datagrid .dx-column-indicators .dx-sort.dx-header-filter::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  margin: -7px;\n}\n.dx-datagrid .dx-row > td,\n.dx-datagrid .dx-row > tr > td {\n  padding: 7px;\n}\n.dx-datagrid .dx-error-row {\n  -webkit-user-select: initial;\n  -moz-user-select: initial;\n  -ms-user-select: initial;\n  user-select: initial;\n}\n.dx-datagrid .dx-error-row .dx-error-message {\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n.dx-datagrid .dx-error-row .dx-error-message a {\n  color: inherit;\n}\n.dx-datagrid .dx-datagrid-rowsview .dx-data-row .dx-command-drag {\n  cursor: move;\n  vertical-align: middle;\n  padding: 0;\n}\n.dx-sortable-dragging .dx-datagrid-rowsview .dx-data-row .dx-command-drag {\n  cursor: pointer;\n  cursor: -webkit-grabbing;\n  cursor: grabbing;\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-title {\n  border-bottom: none;\n  font-size: 16px;\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-title .dx-toolbar-label {\n  font-size: 16px;\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-content {\n  padding: 0 20px 20px;\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-content .dx-column-chooser-item.dx-datagrid-drag-action {\n  opacity: 1;\n  cursor: pointer;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-drag .dx-treeview-node-container:first-child > .dx-treeview-node-is-leaf {\n  padding: 0;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-select .dx-datagrid-column-chooser-plain .dx-treeview-select-all-item {\n  padding-left: 4px;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-select .dx-datagrid-column-chooser-plain .dx-treeview-node {\n  padding-left: 0;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-select .dx-datagrid-column-chooser-plain .dx-treeview-node .dx-checkbox {\n  left: 4px;\n}\n.dx-datagrid-nowrap,\n.dx-datagrid-nowrap .dx-header-row>td>.dx-datagrid-text-content {\n  white-space: nowrap;\n}\n.dx-datagrid-drag-header {\n  position: absolute;\n  vertical-align: middle;\n  cursor: pointer;\n  z-index: 10000;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-datagrid-drag-header.dx-drag-command-cell {\n  padding: 0;\n}\n.dx-datagrid-columns-separator {\n  position: absolute;\n  z-index: 3;\n  width: 3px;\n}\n.dx-datagrid-columns-separator-transparent {\n  border-left: 0;\n  border-right: 0;\n}\n.dx-datagrid-tracker {\n  width: 100%;\n  position: absolute;\n  top: 0;\n  z-index: 3;\n  cursor: col-resize;\n}\n.dx-datagrid-table-content {\n  position: absolute;\n  top: 0;\n}\n.dx-datagrid-focus-overlay {\n  position: absolute;\n  pointer-events: none;\n  top: 0;\n  left: 0;\n  visibility: hidden;\n}\n.dx-datagrid-action,\n.dx-datagrid-drag-action {\n  cursor: pointer;\n}\n.dx-datagrid-content {\n  position: relative;\n}\n.dx-datagrid-content .dx-overlay-wrapper.dx-invalid-message.dx-datagrid-invalid-message {\n  visibility: visible;\n}\n.dx-datagrid-content .dx-overlay-wrapper.dx-invalid-message.dx-datagrid-invalid-message .dx-overlay-content,\n.dx-datagrid-text-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-datagrid-table-fixed {\n  table-layout: fixed;\n  width: 100%;\n}\n.dx-datagrid-content .dx-datagrid-table {\n  border-collapse: collapse;\n  border-spacing: 0;\n  margin: 0;\n  max-width: 10px;\n}\n.dx-datagrid-content .dx-datagrid-table.dx-datagrid-table-fixed {\n  max-width: none;\n}\n.dx-datagrid-content .dx-datagrid-table.dx-datagrid-table-fixed .dx-column-indicators .dx-sort.dx-sort-none {\n  display: none;\n}\n.dx-datagrid-content .dx-datagrid-table.dx-datagrid-table-fixed .dx-column-indicators .dx-sort.dx-sort-index {\n  width: 26px;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit {\n  max-width: none!important;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-column-indicators {\n  float: none!important;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-column-indicators > span {\n  width: 14px;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-column-indicators .dx-sort.dx-sort-none {\n  display: inline-block;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-header-row .dx-datagrid-text-content {\n  max-width: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-text-content-alignment-left {\n  margin-right: 3px;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-datagrid-best-fit .dx-text-content-alignment-right {\n  margin-left: 3px;\n}\n.dx-datagrid-content .dx-datagrid-table:not(.dx-datagrid-table-fixed) .dx-column-indicators {\n  float: none!important;\n}\n.dx-datagrid-content .dx-datagrid-table:not(.dx-datagrid-table-fixed) .dx-column-indicators > span {\n  width: 14px;\n}\n.dx-datagrid-content .dx-datagrid-table:not(.dx-datagrid-table-fixed) .dx-text-content-alignment-left {\n  margin-right: 3px;\n}\n.dx-datagrid-content .dx-datagrid-table:not(.dx-datagrid-table-fixed) .dx-text-content-alignment-right {\n  margin-left: 3px;\n}\n.dx-datagrid-content .dx-datagrid-table:not(.dx-datagrid-table-fixed) .dx-master-detail-cell {\n  max-width: 0;\n}\n.dx-datagrid-content .dx-datagrid-table [class*=column] + [class*=column]:last-child {\n  float: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > td,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td {\n  vertical-align: top;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-first-child,\n.dx-datagrid-content .dx-datagrid-table .dx-row > td:first-child,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td.dx-first-child,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td:first-child {\n  border-left: 0;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-last-child,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td.dx-last-child {\n  border-right: 0;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-datagrid-group-space,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td.dx-datagrid-group-space {\n  border-right: none;\n  vertical-align: top;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-datagrid-group-space + td,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td.dx-datagrid-group-space + td {\n  border-left: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-editor-container {\n  overflow: hidden;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-datagrid-invalid .dx-invalid-message.dx-overlay {\n  position: static;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-editor-cell {\n  max-width: 0;\n  padding: 0;\n  vertical-align: middle;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-editor-cell .dx-texteditor,\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-editor-cell .dx-texteditor-container {\n  border: 0;\n  margin: 0;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-select {\n  padding: 0;\n  width: 70px;\n  min-width: 70px;\n  max-width: 70px;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit {\n  text-overflow: clip;\n  width: 100px;\n  min-width: 100px;\n  white-space: nowrap;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit.dx-command-edit-with-icons {\n  width: 80px;\n  min-width: 80px;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit.dx-command-edit-with-icons .dx-link {\n  text-decoration: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit .dx-link {\n  display: inline-block;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-expand {\n  padding: 0;\n  width: 30px;\n  min-width: 30px;\n  max-width: 30px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-adaptive {\n  padding: 0;\n  vertical-align: middle;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-data-row .dx-command-edit-with-icons {\n  line-height: 1;\n  white-space: nowrap;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-filter-range-content {\n  padding: 7px 7px 7px 32px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  cursor: pointer;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > .dx-last-data-cell {\n  border-right: none;\n}\n.dx-datagrid-content .dx-datagrid-table .dx-row > .dx-command-adaptive-hidden {\n  border-left: none;\n}\n.dx-cell-modified,\n.dx-datagrid-invalid,\n.dx-highlight-outline {\n  position: relative;\n  padding: 7px;\n}\n.dx-cell-modified::after,\n.dx-datagrid-invalid::after,\n.dx-highlight-outline::after {\n  content: \"\";\n  position: absolute;\n  border: 2px solid transparent;\n  top: 0;\n  left: 1px;\n  bottom: 0;\n  right: 0;\n  pointer-events: none;\n}\n.dx-cell-modified.dx-hidden,\n.dx-datagrid-invalid.dx-hidden,\n.dx-highlight-outline.dx-hidden {\n  display: block!important;\n}\n.dx-cell-modified.dx-hidden::after,\n.dx-datagrid-invalid.dx-hidden::after,\n.dx-highlight-outline.dx-hidden::after {\n  display: none;\n}\n.dx-editor-cell .dx-highlight-outline,\n.dx-editor-cell.dx-cell-modified,\n.dx-editor-cell.dx-datagrid-invalid {\n  padding: 0;\n}\n.dx-column-lines .dx-cell-modified::after,\n.dx-column-lines .dx-datagrid-invalid::after,\n.dx-column-lines .dx-highlight-outline::after {\n  left: 0;\n}\n.dx-datagrid-headers {\n  position: relative;\n  outline: 0;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-header-row > td > .dx-datagrid-text-content {\n  display: inline-block;\n  white-space: normal;\n  vertical-align: top;\n}\n.dx-header-row > td > .dx-datagrid-text-content:not(.dx-sort-indicator):not(.dx-header-filter-indicator) {\n  max-width: 100%;\n}\n.dx-datagrid-filter-range-overlay .dx-editor-container .dx-texteditor {\n  border-width: 0;\n}\n.dx-datagrid-filter-range-overlay .dx-editor-container .dx-texteditor.dx-state-focused::after {\n  content: \" \";\n  position: absolute;\n  top: -1px;\n  bottom: -1px;\n  left: -1px;\n  right: -1px;\n  z-index: 1;\n  pointer-events: none;\n}\n.dx-datagrid-filter-range-overlay .dx-datagrid-filter-range-end {\n  border-top: 1px solid transparent;\n}\n.dx-datagrid-filter-range-overlay .dx-editor-container.dx-cell-modified,\n.dx-datagrid-filter-range-overlay .dx-editor-container.dx-datagrid-invalid {\n  padding: 0;\n}\n.dx-datagrid-filter-row .dx-editor-cell .dx-menu {\n  display: none;\n}\n.dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu {\n  position: relative;\n}\n.dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-menu {\n  display: block;\n}\n.dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-placeholder::before,\n.dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor-input {\n  padding-left: 32px;\n}\n.dx-datagrid-filter-row .dx-cell-modified::after,\n.dx-datagrid-filter-row .dx-datagrid-invalid::after {\n  pointer-events: none;\n}\n.dx-datagrid-filter-row .dx-focused .dx-highlight-outline::after,\n.dx-datagrid-filter-row .dx-focused.dx-cell-modified::after,\n.dx-datagrid-filter-row .dx-focused.dx-datagrid-invalid::after {\n  border-color: transparent;\n}\n.dx-datagrid-filter-row .dx-menu {\n  z-index: 1;\n  position: absolute;\n  top: 0;\n  left: 0;\n  cursor: pointer;\n  margin-left: -2px;\n  margin-top: -2px;\n  height: 100%;\n  overflow: visible;\n}\n.dx-datagrid-filter-row .dx-menu .dx-menu-horizontal {\n  height: 100%;\n}\n.dx-datagrid-filter-row .dx-menu .dx-menu-horizontal .dx-menu-item-popout,\n.dx-datagrid-filter-row .dx-menu .dx-menu-horizontal .dx-menu-item-text {\n  display: none;\n}\n.dx-datagrid-filter-row .dx-menu-item.dx-state-focused::after {\n  position: absolute;\n  left: 2px;\n  top: 2px;\n  width: 100%;\n  height: 102%;\n  content: \"\";\n}\n.dx-datagrid-filter-row > .dx-first-cell .dx-menu,\n.dx-datagrid-filter-row > td:first-child .dx-menu {\n  margin-left: 0;\n}\n.dx-datagrid-filter-row .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item {\n  padding: 5px 30px 5px 5px;\n}\n.dx-datagrid-filter-row .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item {\n  padding: 8px 5px 7px;\n}\n.dx-datagrid-filter-row .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item.dx-state-disabled:hover {\n  padding: 9px 6px 8px;\n}\n.dx-datagrid-filter-row .dx-menu-caption {\n  padding-left: 6px;\n}\n.dx-datagrid-filter-row .dx-menu ul .dx-menu-item .dx-menu-chouser-down {\n  display: none;\n}\n.dx-datagrid-filter-row .dx-menu-item-highlight {\n  font-weight: 400;\n}\n.dx-datagrid-scroll-container {\n  overflow: hidden;\n  width: 100%;\n}\n.dx-datagrid-header-panel {\n  text-align: left;\n}\n.dx-datagrid-header-panel .dx-toolbar-menu-container .dx-button {\n  margin-left: 10px;\n}\n.dx-datagrid-search-panel {\n  margin: 0 0 0 15px;\n}\n.dx-gridbase-container > .dx-datagrid-rowsview {\n  -webkit-box-flex: 1;\n  -ms-flex: auto;\n  flex: auto;\n  height: auto;\n}\n.dx-gridbase-container > .dx-datagrid-rowsview.dx-scrollable {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-gridbase-container > .dx-datagrid-rowsview.dx-scrollable > .dx-scrollable-wrapper {\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  height: auto;\n  min-width: 0;\n  min-height: 0;\n}\n.dx-datagrid-rowsview {\n  position: relative;\n  overflow: hidden;\n}\n.dx-datagrid-rowsview.dx-empty {\n  height: 100px;\n}\n.dx-datagrid-rowsview.dx-empty .dx-scrollable-content {\n  height: 100%;\n}\n.dx-datagrid-rowsview.dx-fixed-columns.dx-scrollable .dx-scrollable-content {\n  z-index: 2;\n}\n.dx-datagrid-rowsview.dx-fixed-columns .dx-scrollable-scrollbar {\n  z-index: 3;\n}\n.dx-datagrid-rowsview .dx-datagrid-content {\n  overflow-anchor: none;\n}\n.dx-datagrid-rowsview .dx-datagrid-content:not(.dx-datagrid-content-fixed) {\n  min-height: 100%;\n}\n.dx-datagrid-rowsview .dx-datagrid-content.dx-scrollable-container {\n  width: auto;\n}\n.dx-datagrid-rowsview .dx-datagrid-content.dx-datagrid-content-fixed.dx-scrollable-container {\n  height: auto;\n}\n.dx-datagrid-rowsview:focus {\n  outline: 0;\n}\n.dx-datagrid-rowsview .dx-row > td,\n.dx-datagrid-rowsview .dx-row > tr > td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-datagrid-rowsview .dx-row.dx-row-lines:first-child,\n.dx-datagrid-rowsview .dx-row.dx-row-lines:first-child>td,\n.dx-datagrid-rowsview .dx-row.dx-row-lines:first-child>tr>td {\n  border-top: none;\n}\n.dx-datagrid-rowsview .dx-data-row > td:focus {\n  outline: 0;\n}\n.dx-datagrid-rowsview .dx-selection > td .dx-link,\n.dx-datagrid-rowsview .dx-selection > tr > td .dx-link,\n.dx-datagrid-rowsview .dx-selection.dx-row:hover > td .dx-link,\n.dx-datagrid-rowsview .dx-selection.dx-row:hover > tr > td .dx-link {\n  color: inherit;\n}\n.dx-datagrid-rowsview .dx-datagrid-table .dx-row.dx-freespace-row,\n.dx-datagrid-rowsview .dx-datagrid-table .dx-row.dx-virtual-row {\n  border-top: 0;\n  border-bottom: 0;\n}\n.dx-datagrid-rowsview .dx-datagrid-table .dx-row.dx-freespace-row > td,\n.dx-datagrid-rowsview .dx-datagrid-table .dx-row.dx-virtual-row > td {\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.dx-datagrid-rowsview .dx-select-checkboxes-hidden > tbody > tr > td > .dx-select-checkbox {\n  display: none;\n}\n.dx-datagrid-rowsview .dx-select-checkboxes-hidden>tbody>tr.dx-selection>td>.dx-select-checkbox,\n.dx-datagrid-rowsview .dx-select-checkboxes-hidden>tbody>tr>td:hover>.dx-select-checkbox {\n  display: inline-block;\n}\n.dx-datagrid-rowsview .dx-row > .dx-master-detail-cell:focus {\n  outline: 0;\n}\n.dx-datagrid-rowsview .dx-data-row.dx-edit-row .dx-cell-modified::after {\n  border-color: transparent;\n}\n.dx-datagrid-nodata {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translate(-50%,-50%);\n  transform: translate(-50%,-50%);\n}\n.dx-datagrid-bottom-load-panel {\n  text-align: center;\n  padding: 10px;\n}\n.dx-datagrid-hidden-column {\n  white-space: nowrap;\n}\n.dx-datagrid .dx-row .dx-datagrid-hidden-column {\n  border-right-width: 0;\n  border-left-width: 0;\n}\n.dx-datagrid-hidden-column > * {\n  display: none!important;\n}\n.dx-datagrid-total-footer > .dx-datagrid-content {\n  padding-top: 7px;\n  padding-bottom: 7px;\n}\n.dx-datagrid-summary-item {\n  font-weight: 700;\n}\n.dx-datagrid-export-menu .dx-dropdownbutton-content .dx-list-item {\n  display: block;\n}\n.dx-datagrid-revert-tooltip.dx-popover-wrapper .dx-overlay-content {\n  border: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-datagrid-revert-tooltip.dx-popover-wrapper .dx-overlay-content .dx-popup-content {\n  padding: 0;\n}\n.dx-datagrid-revert-tooltip.dx-popover-wrapper .dx-popover-arrow {\n  width: 0;\n  height: 0;\n}\n.dx-datagrid-notouch-action {\n  -ms-touch-action: none;\n  touch-action: none;\n  -ms-content-zooming: none;\n  -ms-overflow-style: none;\n}\n.dx-datagrid-column-chooser-list.dx-treeview .dx-empty-message,\n.dx-datagrid-column-chooser-list.dx-treeview .dx-treeview-item {\n  border: none;\n}\n.dx-datagrid-column-chooser-list.dx-treeview .dx-empty-message {\n  text-align: center;\n  left: 0;\n  right: 0;\n  bottom: 50%;\n  position: absolute;\n}\n.dx-datagrid.dx-rtl .dx-menu-subitem .dx-menu-item,\n.dx-rtl .dx-datagrid .dx-menu-subitem .dx-menu-item {\n  padding: 7px 5px 7px 30px;\n}\n.dx-datagrid.dx-rtl .dx-menu-subitem .dx-menu-item .dx-menu-image,\n.dx-rtl .dx-datagrid .dx-menu-subitem .dx-menu-item .dx-menu-image {\n  background-position-x: right;\n}\n.dx-datagrid.dx-rtl .dx-texteditor-buttons-container,\n.dx-rtl .dx-datagrid .dx-texteditor-buttons-container {\n  text-align: start;\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table {\n  direction: rtl;\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-datagrid-group-space {\n  border-left: none;\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table .dx-row > td.dx-datagrid-group-space + td {\n  border-right: none;\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table .dx-row .dx-editor-container .dx-editor-cell .dx-checkbox.dx-checkbox-checked .dx-checkbox-icon {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table .dx-row .dx-filter-range-content {\n  padding: 7px 32px 7px 7px;\n}\n.dx-rtl .dx-datagrid-headers .dx-datagrid-scrollable-simulated,\n.dx-rtl .dx-datagrid-total-footer .dx-datagrid-scrollable-simulated {\n  direction: ltr;\n}\n.dx-rtl .dx-datagrid-headers .dx-datagrid-scrollable-simulated .dx-datagrid-table,\n.dx-rtl .dx-datagrid-total-footer .dx-datagrid-scrollable-simulated .dx-datagrid-table {\n  direction: rtl;\n}\n.dx-rtl .dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor .dx-placeholder::before,\n.dx-rtl .dx-datagrid-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor .dx-texteditor-input {\n  padding-right: 32px;\n}\n.dx-rtl .dx-datagrid-filter-row .dx-menu {\n  right: 0;\n  left: auto;\n  margin-left: 0;\n  margin-right: -2px;\n}\n.dx-rtl .dx-datagrid-filter-row > td:first-child .dx-menu {\n  margin-left: 0;\n}\n.dx-rtl .dx-datagrid-filter-row .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item {\n  padding: 5px 5px 5px 30px;\n}\n.dx-rtl .dx-datagrid-filter-row .dx-menu-caption {\n  padding-right: 6px;\n}\n.dx-rtl .dx-datagrid-header-panel {\n  text-align: right;\n}\n.dx-rtl .dx-datagrid-header-panel .dx-datagrid-column-chooser-button {\n  margin-left: 0;\n}\n.dx-rtl .dx-datagrid-header-panel .dx-toolbar-menu-container .dx-button {\n  margin-left: 0;\n  margin-right: 10px;\n}\n.dx-rtl .dx-datagrid-search-panel {\n  margin: 0 15px 0 0;\n}\n.dx-datagrid-filter-panel,\n.dx-datagrid-filter-panel-left {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: justify;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  min-width: 0;\n}\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-text {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-clear-filter:hover,\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-text:hover {\n  text-decoration: underline;\n  cursor: pointer;\n}\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-checkbox {\n  padding-right: 10px;\n}\n.dx-datagrid-filter-panel .dx-icon-filter {\n  margin: auto 7px auto auto;\n  cursor: pointer;\n}\n.dx-datagrid {\n  position: relative;\n  cursor: default;\n  white-space: normal;\n  line-height: normal;\n}\n.dx-hidden.dx-group-cell {\n  display: table-cell!important;\n  font-size: 0!important;\n}\n.dx-datagrid-group-panel {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  white-space: nowrap;\n  width: 100%;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-datagrid-group-panel .dx-group-panel-message {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-datagrid-group-panel .dx-group-panel-item {\n  display: inline-block;\n  min-width: 30px;\n  white-space: nowrap;\n}\n.dx-datagrid-group-panel .dx-group-panel-item .dx-sort {\n  margin-left: 6px;\n}\n.dx-datagrid-group-panel .dx-block-separator {\n  display: inline-block;\n  white-space: nowrap;\n  position: relative;\n  min-width: 0;\n}\n.dx-datagrid-group-panel .dx-block-separator .dx-sort {\n  margin-left: 6px;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row td {\n  border-top: 1px solid;\n  border-bottom: 1px solid;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row:first-child td {\n  border-top: none;\n}\n.dx-datagrid-rowsview .dx-group-row:focus {\n  outline: 0;\n}\n.dx-datagrid-rowsview .dx-group-row.dx-row > td {\n  border-left-color: transparent;\n  border-right-color: transparent;\n}\n.dx-datagrid-rowsview .dx-adaptive-detail-row .dx-field-item-content:focus {\n  outline: 0;\n}\n.dx-datagrid-group-closed::before,\n.dx-datagrid-group-opened::before {\n  position: absolute;\n  display: block;\n  right: 0;\n  left: 0;\n}\n.dx-rtl .dx-datagrid-group-closed {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-datagrid-content .dx-datagrid-table .dx-group-row.dx-row.dx-column-lines > td {\n  border-left: none;\n  border-right: none;\n}\n.dx-rtl .dx-datagrid-group-panel .dx-block-separator,\n.dx-rtl .dx-datagrid-group-panel .dx-group-panel-item {\n  margin-right: 0;\n}\n.dx-rtl .dx-datagrid-group-panel .dx-sort {\n  margin-left: 0;\n  margin-right: 6px;\n}\n.dx-datagrid-borders > .dx-datagrid-headers,\n.dx-datagrid-borders > .dx-datagrid-rowsview,\n.dx-datagrid-borders > .dx-datagrid-total-footer {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n}\n.dx-datagrid-borders > .dx-datagrid-rowsview,\n.dx-datagrid-borders > .dx-datagrid-total-footer {\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-borders > .dx-datagrid-filter-panel,\n.dx-datagrid-borders > .dx-datagrid-headers {\n  border-top: 1px solid #ddd;\n}\n.dx-datagrid-borders > .dx-datagrid-filter-panel {\n  border-top-width: 0;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-sortable-dragging > div > .dx-gridbase-container > .dx-datagrid-rowsview {\n  border-color: rgba(51,122,183,.5);\n}\n.dx-datagrid .dx-sort-up {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-sort-up::before {\n  content: \"\\f051\";\n}\n.dx-datagrid .dx-sort-down {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-sort-down::before {\n  content: \"\\f052\";\n}\n.dx-datagrid .dx-sort-down,\n.dx-datagrid .dx-sort-up {\n  font-family: inherit;\n}\n.dx-datagrid .dx-sort-down::before,\n.dx-datagrid .dx-sort-up::before {\n  font-family: DXIcons,sans-serif;\n}\n.dx-datagrid .dx-datagrid-header-panel .dx-group-panel-item,\n.dx-datagrid .dx-datagrid-header-panel .dx-header-filter {\n  outline: 0;\n}\n.dx-datagrid .dx-datagrid-header-panel.dx-state-focused .dx-datagrid-group-panel .dx-group-panel-item:focus,\n.dx-datagrid .dx-datagrid-header-panel.dx-state-focused .dx-datagrid-group-panel .dx-header-filter:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: -2px;\n}\n.dx-datagrid .dx-datagrid-header-panel.dx-state-focused .dx-datagrid-group-panel .dx-header-filter:focus {\n  outline-offset: 2px;\n}\n.dx-datagrid .dx-datagrid-headers .dx-header-filter,\n.dx-datagrid .dx-datagrid-headers .dx-header-row > td {\n  outline: 0;\n}\n.dx-datagrid .dx-datagrid-headers.dx-state-focused .dx-header-row td .dx-header-filter:focus,\n.dx-datagrid .dx-datagrid-headers.dx-state-focused .dx-header-row td:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: 2px;\n}\n.dx-datagrid .dx-datagrid-headers.dx-state-focused .dx-header-row td:focus {\n  outline-offset: -2px;\n}\n.dx-datagrid .dx-header-filter {\n  position: relative;\n  color: #959595;\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-header-filter::before {\n  content: \"\\f050\";\n}\n.dx-datagrid .dx-header-filter-empty {\n  color: rgba(149,149,149,.5);\n}\n.dx-datagrid.dx-filter-menu .dx-menu-item-content .dx-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table .dx-col-fixed {\n  background-color: #fff;\n}\n.dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none,\n.dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none,\n.dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none,\n.dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none,\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none {\n  border-left: 2px solid #ddd;\n  border-right: 2px solid #ddd;\n}\n.dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none.dx-first-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none.dx-first-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-first-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-first-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-first-cell {\n  border-left: none;\n}\n.dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none.dx-last-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none.dx-last-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-last-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-last-cell,\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-last-cell {\n  border-right: none;\n}\n.dx-datagrid .dx-datagrid-rowsview.dx-state-focused .dx-data-row > td.dx-command-edit > a.dx-link:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: 2px;\n}\n.dx-datagrid .dx-datagrid-rowsview.dx-state-focused .dx-data-row.dx-row-focused > td.dx-command-edit > a.dx-link:focus {\n  outline-color: #fff;\n  outline-offset: 0;\n}\n.dx-datagrid .dx-datagrid-rowsview .dx-datagrid-edit-form {\n  background-color: #fff;\n}\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row > td {\n  position: relative;\n}\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row > td:not(.dx-datagrid-group-space)::before {\n  display: block;\n  height: 100%;\n  content: \"\";\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAACqCAYAAABbAOqQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjYWQ2ODE5MS00ZDMxLWRjNGYtOTU0NC1jNjJkMTIxMjY2M2IiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjY1RUVFQzAzRDYzMTFFODlFNThCOUJBQjU4Q0EzRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjY1RUVFQkYzRDYzMTFFODlFNThCOUJBQjU4Q0EzRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVlMjM1Y2U0LTc5ZWUtNGI0NC05ZjlkLTk2NTZmZGFjNjhhNCIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk1OTQ2MjBiLTUyMTQtYTM0Yy04Nzc5LTEwMmEyMTY4MTlhOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvLbJKYAAADrSURBVHja7N3BDYBACABBsQn7L48q0BoMD5SZxAZuc74gF1V1MMfpCARBEEEQRBAEEQRBdovnuxxDq3RD/LIQRBAEQRBBEEQQBBEEQQQBAAAAAAAAABhi8gZVbgxi6kQQBBEEQQRBEEEQRBAEQRBBAAAAAAAAAAAabX2Daux2lqkTQRBEEAQRBEEEQRBBEARBBAEAAAAAAAAAaLR1g2osUyeCIIggCCIIggiCIIIgCIIIAgAAAAAAAADQ6KsbVPnXIKZOBEEQQRBEEAQRBEEEQRAEEYRXoqqcghuCIIIgiCAIIgiCCMIUtwADALYCCr92l++TAAAAAElFTkSuQmCC\");\n  background-repeat: no-repeat repeat;\n}\n.dx-datagrid .dx-datagrid-rowsview .dx-virtual-row > td[style*=\"text-align: right\"]::before {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n  background-position-y: 34px;\n}\n.dx-datagrid .dx-datagrid-filter-row .dx-filter-range-content {\n  color: #333;\n}\n.dx-datagrid .dx-error-row td {\n  color: #fff;\n  padding: 0;\n}\n.dx-datagrid .dx-column-lines > td:first-child {\n  border-left: none;\n}\n.dx-datagrid .dx-column-lines > td:last-child {\n  border-right: none;\n}\n.dx-datagrid .dx-command-drag .dx-datagrid-drag-icon {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-command-drag .dx-datagrid-drag-icon::before {\n  content: \"\\f038\";\n}\n.dx-datagrid-filter-panel {\n  padding: 10px;\n  color: #333;\n  border-top: 1px solid #ddd;\n}\n.dx-datagrid-filter-panel.dx-state-focused .dx-datagrid-filter-panel-clear-filter:focus,\n.dx-datagrid-filter-panel.dx-state-focused .dx-datagrid-filter-panel-text:focus,\n.dx-datagrid-filter-panel.dx-state-focused .dx-icon-filter:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: 3px;\n}\n.dx-datagrid-form-buttons-container {\n  float: right;\n}\n.dx-datagrid-form-buttons-container .dx-button {\n  margin-left: 10px;\n  margin-top: 10px;\n}\n.dx-datagrid-adaptive-more {\n  cursor: pointer;\n  font: 21px/21px DXIcons;\n}\n.dx-datagrid-adaptive-more::before {\n  content: \"\\f06c\";\n}\n.dx-datagrid-edit-popup .dx-error-message {\n  background-color: #e89895;\n  white-space: normal;\n  word-wrap: break-word;\n  color: #fff;\n  margin-bottom: 20px;\n}\n.dx-rtl .dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none {\n  border-left: 2px solid #ddd;\n  border-right: 2px solid #ddd;\n}\n.dx-rtl .dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-first-cell {\n  border-right: none;\n}\n.dx-rtl .dx-datagrid .dx-datagrid-headers .dx-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-data-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-last-cell {\n  border-left: none;\n}\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row > td::before {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-datagrid .dx-datagrid-rowsview .dx-virtual-row > td[style*=\"text-align: left\"]::before {\n  -webkit-transform: scale(1);\n  transform: scale(1);\n}\n.dx-rtl .dx-datagrid .dx-column-lines > td:first-child {\n  border-right: none;\n  border-left: 1px solid #ddd;\n}\n.dx-rtl .dx-datagrid .dx-column-lines > td:last-child {\n  border-left: none;\n  border-right: 1px solid #ddd;\n}\n.dx-rtl .dx-datagrid-form-buttons-container {\n  float: left;\n}\n.dx-rtl .dx-datagrid-form-buttons-container .dx-button {\n  margin-left: 0;\n  margin-right: 10px;\n}\n.dx-datagrid-cell-updated-animation {\n  -webkit-animation: 1s dx-datagrid-highlight-change;\n  animation: 1s dx-datagrid-highlight-change;\n}\n@-webkit-keyframes dx-datagrid-highlight-change {\n  50%,\n  from {\n    background-color: rgba(51,51,51,.08);\n  }\n}\n@keyframes dx-datagrid-highlight-change {\n  50%,\n  from {\n    background-color: rgba(51,51,51,.08);\n  }\n}\n.dx-datagrid-container.dx-filter-menu .dx-menu-item-has-icon .dx-icon,\n.dx-datagrid.dx-filter-menu .dx-menu-item-has-icon .dx-icon {\n  color: #898989;\n}\n.dx-datagrid-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc,\n.dx-datagrid.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc {\n  font: 16px/16px DXIcons;\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc::before,\n.dx-datagrid.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc::before {\n  content: \"\\f053\";\n}\n.dx-datagrid-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc,\n.dx-datagrid.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc {\n  font: 16px/16px DXIcons;\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc::before,\n.dx-datagrid.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc::before {\n  content: \"\\f054\";\n}\n.dx-datagrid .dx-icon-filter-operation-equals,\n.dx-datagrid-container .dx-icon-filter-operation-equals {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-equals::before,\n.dx-datagrid-container .dx-icon-filter-operation-equals::before {\n  content: \"\\f044\";\n}\n.dx-datagrid .dx-icon-filter-operation-default,\n.dx-datagrid-container .dx-icon-filter-operation-default {\n  font: 12px/12px DXIcons;\n  width: 12px;\n  height: 12px;\n  background-position: 0 0;\n  background-size: 12px 12px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid .dx-icon-filter-operation-default::before,\n.dx-datagrid-container .dx-icon-filter-operation-default::before {\n  content: \"\\f027\";\n}\n.dx-datagrid .dx-icon-filter-operation-not-equals,\n.dx-datagrid-container .dx-icon-filter-operation-not-equals {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-not-equals::before,\n.dx-datagrid-container .dx-icon-filter-operation-not-equals::before {\n  content: \"\\f045\";\n}\n.dx-datagrid .dx-icon-filter-operation-less,\n.dx-datagrid-container .dx-icon-filter-operation-less {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-less::before,\n.dx-datagrid-container .dx-icon-filter-operation-less::before {\n  content: \"\\f046\";\n}\n.dx-datagrid .dx-icon-filter-operation-less-equal,\n.dx-datagrid-container .dx-icon-filter-operation-less-equal {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-less-equal::before,\n.dx-datagrid-container .dx-icon-filter-operation-less-equal::before {\n  content: \"\\f048\";\n}\n.dx-datagrid .dx-icon-filter-operation-greater,\n.dx-datagrid-container .dx-icon-filter-operation-greater {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-greater::before,\n.dx-datagrid-container .dx-icon-filter-operation-greater::before {\n  content: \"\\f047\";\n}\n.dx-datagrid .dx-icon-filter-operation-greater-equal,\n.dx-datagrid-container .dx-icon-filter-operation-greater-equal {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-greater-equal::before,\n.dx-datagrid-container .dx-icon-filter-operation-greater-equal::before {\n  content: \"\\f049\";\n}\n.dx-datagrid .dx-icon-filter-operation-contains,\n.dx-datagrid-container .dx-icon-filter-operation-contains {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-contains::before,\n.dx-datagrid-container .dx-icon-filter-operation-contains::before {\n  content: \"\\f063\";\n}\n.dx-datagrid .dx-icon-filter-operation-not-contains,\n.dx-datagrid-container .dx-icon-filter-operation-not-contains {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-not-contains::before,\n.dx-datagrid-container .dx-icon-filter-operation-not-contains::before {\n  content: \"\\f066\";\n}\n.dx-datagrid .dx-icon-filter-operation-starts-with,\n.dx-datagrid-container .dx-icon-filter-operation-starts-with {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-starts-with::before,\n.dx-datagrid-container .dx-icon-filter-operation-starts-with::before {\n  content: \"\\f064\";\n}\n.dx-datagrid .dx-icon-filter-operation-ends-with,\n.dx-datagrid-container .dx-icon-filter-operation-ends-with {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-ends-with::before,\n.dx-datagrid-container .dx-icon-filter-operation-ends-with::before {\n  content: \"\\f065\";\n}\n.dx-datagrid .dx-icon-filter-operation-between,\n.dx-datagrid-container .dx-icon-filter-operation-between {\n  font: 14px/1 DXIcons;\n}\n.dx-datagrid .dx-icon-filter-operation-between::before,\n.dx-datagrid-container .dx-icon-filter-operation-between::before {\n  content: \"\\f06a\";\n}\n.dx-datagrid {\n  color: #333;\n  background-color: #fff;\n  line-height: inherit;\n}\n.dx-datagrid .dx-row-alt {\n  border-top: 1px solid #f5f5f5;\n  border-bottom: 1px solid #f5f5f5;\n}\n.dx-datagrid .dx-row-alt > td,\n.dx-datagrid .dx-row-alt > tr > td {\n  background-color: #f5f5f5;\n}\n.dx-datagrid .dx-row-alt.dx-row:not(.dx-row-removed) {\n  border-bottom-color: transparent;\n}\n.dx-datagrid .dx-link {\n  text-decoration: underline;\n  cursor: pointer;\n  color: #337ab7;\n}\n.dx-datagrid .dx-row-lines > td {\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid .dx-column-lines > td {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n}\n.dx-datagrid .dx-error-row .dx-closebutton {\n  float: right;\n  margin: 7px;\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid .dx-error-row .dx-closebutton::before {\n  content: \"\\f00a\";\n}\n.dx-datagrid .dx-error-row .dx-error-message {\n  background-color: #e89895;\n  white-space: normal;\n  word-wrap: break-word;\n  padding: 5px 35px 5px 5px;\n}\n.dx-datagrid .dx-row > td {\n  padding: 5px;\n}\n.dx-datagrid .dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit-with-icons .dx-link {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n  margin: 0 1px;\n}\n.dx-datagrid .dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-edit-with-icons .dx-link:not(.dx-link-icon) {\n  width: auto;\n}\n.dx-datagrid .dx-command-drag {\n  width: 32px;\n  min-width: 32px;\n}\n.dx-datagrid .dx-command-drag .dx-datagrid-drag-icon {\n  vertical-align: middle;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 16px;\n}\n.dx-datagrid-edit-popup .dx-error-message {\n  padding: 5px;\n}\n.dx-datagrid-headers .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-texteditor-input {\n  padding: 5px;\n  min-height: 26px;\n}\n.dx-datagrid-headers .dx-numberbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-datagrid-headers .dx-textbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-numberbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-textbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input {\n  padding-right: 5px;\n}\n.dx-datagrid-headers .dx-lookup,\n.dx-datagrid-rowsview .dx-lookup {\n  height: auto;\n}\n.dx-datagrid-headers .dx-lookup-field,\n.dx-datagrid-rowsview .dx-lookup-field {\n  padding-left: 5px;\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.dx-datagrid-headers .dx-searchbox .dx-placeholder::before,\n.dx-datagrid-headers .dx-searchbox .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-datagrid-rowsview .dx-searchbox .dx-texteditor-input {\n  padding-left: 24px;\n}\n.dx-rtl .dx-datagrid-headers .dx-searchbox .dx-placeholder::before,\n.dx-rtl .dx-datagrid-headers .dx-searchbox .dx-texteditor-input,\n.dx-rtl .dx-datagrid-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-rtl .dx-datagrid-rowsview .dx-searchbox .dx-texteditor-input,\n.dx-rtl.dx-datagrid-headers .dx-searchbox .dx-placeholder::before,\n.dx-rtl.dx-datagrid-headers .dx-searchbox .dx-texteditor-input,\n.dx-rtl.dx-datagrid-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-rtl.dx-datagrid-rowsview .dx-searchbox .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-datagrid-checkbox-size {\n  vertical-align: middle;\n  padding-bottom: 0;\n}\n.dx-datagrid-checkbox-size.dx-checkbox-checked .dx-checkbox-icon {\n  font-size: 10px;\n}\n.dx-datagrid-checkbox-size .dx-checkbox-icon {\n  height: 16px;\n  width: 16px;\n}\n.dx-datagrid-checkbox-size.dx-checkbox-indeterminate .dx-checkbox-icon {\n  font-size: 6px;\n}\n.dx-datagrid-checkbox-size.dx-checkbox-indeterminate .dx-checkbox-icon::before {\n  border-radius: 0;\n}\n.dx-datagrid-column-chooser-list .dx-empty-message {\n  color: #999;\n  padding: 0 10px;\n}\n.dx-datagrid-column-chooser {\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-datagrid-column-chooser input,\n.dx-datagrid-column-chooser textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-drag .dx-popup-content {\n  padding: 0 10px 10px;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-drag .dx-popup-content .dx-treeview-search {\n  margin-bottom: 5px;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-drag .dx-popup-content .dx-treeview-node {\n  padding-left: 20px;\n}\n.dx-datagrid-column-chooser.dx-datagrid-column-chooser-mode-select .dx-popup-content {\n  padding: 0 10px 10px;\n}\n.dx-datagrid-column-chooser .dx-overlay-content {\n  background-color: #fff;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 1px 3px rgba(0,0,0,.2);\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-title {\n  padding-top: 7px;\n  padding-bottom: 9px;\n  background-color: transparent;\n}\n.dx-datagrid-column-chooser .dx-overlay-content .dx-popup-content .dx-column-chooser-item {\n  opacity: .5;\n  margin-bottom: 5px;\n  background-color: #fff;\n  color: #959595;\n  font-weight: 400;\n  border: 1px solid #ddd;\n  padding: 5px;\n  -webkit-box-shadow: 0 1px 3px -1px rgba(0,0,0,.2);\n  box-shadow: 0 1px 3px -1px rgba(0,0,0,.2);\n}\n.dx-datagrid-drag-header {\n  -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  color: #959595;\n  font-weight: 400;\n  padding: 5px;\n  border: 1px solid rgba(51,122,183,.5);\n  background-color: #fff;\n}\n.dx-datagrid-columns-separator {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-datagrid-columns-separator-transparent {\n  background-color: transparent;\n}\n.dx-datagrid-drop-highlight > td {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-datagrid-focus-overlay {\n  border: 2px solid #5c95c5;\n}\n.dx-datagrid-table .dx-row .dx-command-select {\n  width: 55px;\n  min-width: 55px;\n}\n.dx-datagrid-table .dx-row .dx-command-edit {\n  width: 70px;\n  min-width: 70px;\n}\n.dx-datagrid-table .dx-row .dx-command-edit .dx-state-disabled.dx-link {\n  opacity: .5;\n}\n.dx-datagrid-table .dx-row .dx-command-edit .dx-state-disabled.dx-link-icon {\n  opacity: .6;\n}\n.dx-datagrid-table .dx-row .dx-command-expand {\n  width: 15px;\n  min-width: 15px;\n}\n.dx-datagrid-table .dx-row .dx-command-expand.dx-datagrid-group-space {\n  padding-top: 5px;\n}\n.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused) {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-datagrid-group-space {\n  border-right-color: rgba(0,0,0,.04);\n}\n.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-command-select {\n  overflow: inherit;\n}\n.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > .dx-datagrid-readonly .dx-texteditor .dx-texteditor-input {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-datagrid-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td.dx-pointer-events-none {\n  background-color: transparent;\n}\n.dx-datagrid-headers {\n  color: #959595;\n  font-weight: 400;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-headers .dx-datagrid-content {\n  margin-bottom: -1px;\n}\n.dx-datagrid-borders .dx-datagrid-headers .dx-datagrid-table {\n  border-bottom-width: 1px;\n}\n.dx-datagrid-headers .dx-datagrid-table .dx-row > td {\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-filter-row .dx-menu .dx-overlay-content {\n  color: #333;\n}\n.dx-datagrid-filter-row .dx-menu-item.dx-state-focused {\n  background-color: transparent;\n}\n.dx-datagrid-filter-row .dx-menu-item.dx-state-focused::after {\n  border: 2px solid #5c95c5;\n}\n.dx-datagrid-filter-row .dx-menu-item.dx-state-focused.dx-menu-item-expanded {\n  background-color: #fff;\n}\n.dx-datagrid-filter-row .dx-menu-item.dx-state-focused.dx-menu-item-expanded::after {\n  border-color: transparent;\n}\n.dx-datagrid-filter-row .dx-menu-item-has-submenu.dx-state-hover {\n  background-color: transparent;\n}\n.dx-datagrid-filter-row .dx-menu-item-has-submenu.dx-menu-item-expanded.dx-state-hover {\n  background-color: #fff;\n}\n.dx-datagrid-filter-row .dx-cell-modified::after,\n.dx-datagrid-filter-row .dx-datagrid-invalid::after,\n.dx-datagrid-filter-row .dx-highlight-outline::after {\n  border-color: rgba(92,184,92,.5);\n}\n.dx-datagrid-filter-row .dx-menu-item-content .dx-icon {\n  color: #898989;\n}\n.dx-datagrid-filter-row td .dx-editor-container .dx-filter-range-content {\n  padding: 5px 5px 5px 24px;\n}\n.dx-datagrid-filter-range-overlay .dx-overlay-content {\n  border: 1px solid #ddd;\n  overflow: inherit;\n  -webkit-box-shadow: 2px 2px 3px rgba(0,0,0,.15);\n  box-shadow: 2px 2px 3px rgba(0,0,0,.15);\n}\n.dx-datagrid-filter-range-overlay .dx-overlay-content .dx-editor-container.dx-cell-modified::after,\n.dx-datagrid-filter-range-overlay .dx-overlay-content .dx-editor-container.dx-datagrid-invalid::after {\n  border-color: rgba(92,184,92,.5);\n  left: 0;\n}\n.dx-datagrid-filter-range-overlay .dx-overlay-content .dx-texteditor .dx-texteditor-input {\n  background-color: #fff;\n  padding: 5px;\n}\n.dx-datagrid-filter-range-overlay .dx-overlay-content .dx-texteditor.dx-state-focused::after {\n  border: 2px solid #5c95c5;\n}\n.dx-cell-modified,\n.dx-datagrid-invalid {\n  padding: 5px;\n}\n.dx-datagrid-header-panel {\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-header-panel .dx-toolbar {\n  margin-bottom: 5px;\n}\n.dx-datagrid-header-panel .dx-apply-button {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n  color: #fff;\n}\n.dx-datagrid-header-panel .dx-apply-button .dx-icon {\n  color: #fff;\n}\n.dx-datagrid-header-panel .dx-apply-button.dx-state-hover {\n  background-color: #449d44;\n  border-color: #4cae4c;\n}\n.dx-datagrid-header-panel .dx-apply-button.dx-state-focused {\n  background-color: #3d8b3d;\n  border-color: #4cae4c;\n}\n.dx-datagrid-header-panel .dx-apply-button.dx-state-active {\n  background-color: #357935;\n  border-color: #4cae4c;\n  color: #fff;\n}\n.dx-datagrid-addrow-button .dx-icon-edit-button-addrow {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid-addrow-button .dx-icon-edit-button-addrow::before {\n  content: \"\\f00b\";\n}\n.dx-datagrid-cancel-button .dx-icon-edit-button-cancel {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid-cancel-button .dx-icon-edit-button-cancel::before {\n  content: \"\\f04c\";\n}\n.dx-datagrid-save-button .dx-icon-edit-button-save {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-datagrid-save-button .dx-icon-edit-button-save::before {\n  content: \"\\f041\";\n}\n.dx-datagrid-adaptive-more {\n  width: 17px;\n  height: 17px;\n  background-position: 0 0;\n  background-size: 17px 17px;\n  padding: 0;\n  font-size: 17px;\n  text-align: center;\n  line-height: 17px;\n}\n.dx-datagrid-borders .dx-datagrid-rowsview,\n.dx-datagrid-headers + .dx-datagrid-rowsview,\n.dx-datagrid-rowsview.dx-datagrid-after-headers {\n  border-top: 1px solid #ddd;\n}\n.dx-datagrid-rowsview .dx-row {\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n}\n.dx-datagrid-rowsview .dx-row:focus {\n  outline: 0;\n}\n.dx-datagrid-rowsview .dx-row.dx-edit-row:first-child > td {\n  border-top-width: 0;\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-rowsview .dx-row.dx-edit-row > td {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-rowsview .dx-row.dx-datagrid-edit-form {\n  white-space: normal;\n}\n.dx-datagrid-rowsview .dx-master-detail-row > .dx-master-detail-cell {\n  padding: 20px;\n}\n.dx-datagrid-rowsview .dx-master-detail-row .dx-master-detail-cell,\n.dx-datagrid-rowsview .dx-master-detail-row > .dx-datagrid-group-space {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-datagrid-rowsview .dx-master-detail-row .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-datagrid-rowsview .dx-master-detail-row:not(.dx-datagrid-edit-form) .dx-master-detail-cell,\n.dx-datagrid-rowsview .dx-master-detail-row:not(.dx-datagrid-edit-form) > .dx-datagrid-group-space {\n  background-color: #fafafa;\n}\n.dx-datagrid-rowsview .dx-data-row .dx-validator.dx-datagrid-invalid.dx-cell-modified::after,\n.dx-datagrid-rowsview .dx-data-row .dx-validator.dx-datagrid-invalid.dx-datagrid-invalid::after {\n  border: 1px solid rgba(217,83,79,.4);\n}\n.dx-datagrid-rowsview .dx-data-row .dx-validator.dx-datagrid-invalid.dx-focused.dx-cell-modified::after,\n.dx-datagrid-rowsview .dx-data-row .dx-validator.dx-datagrid-invalid.dx-focused.dx-datagrid-invalid::after {\n  border: 1px solid #d9534f;\n}\n.dx-datagrid-rowsview .dx-data-row .dx-cell-modified.dx-cell-modified::after,\n.dx-datagrid-rowsview .dx-data-row .dx-cell-modified.dx-datagrid-invalid::after {\n  border-color: rgba(92,184,92,.5);\n}\n.dx-datagrid-rowsview .dx-overlay-wrapper.dx-invalid-message .dx-overlay-content {\n  padding: 9px 17px;\n}\n.dx-datagrid-rowsview .dx-row-removed > td {\n  background-color: #ddd;\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n  color: #959595;\n}\n.dx-datagrid-rowsview .dx-adaptive-detail-row .dx-adaptive-item-text {\n  padding-top: 6px;\n  padding-bottom: 6px;\n  padding-left: 6px;\n}\n.dx-datagrid-rowsview .dx-adaptive-detail-row .dx-datagrid-invalid {\n  border: 1px solid rgba(217,83,79,.4);\n}\n.dx-datagrid-rowsview .dx-adaptive-detail-row .dx-datagrid-invalid.dx-adaptive-item-text {\n  padding-top: 5px;\n  padding-bottom: 5px;\n  padding-left: 5px;\n}\n.dx-datagrid-rowsview .dx-item-modified {\n  border-radius: 4px;\n  border: 2px solid rgba(92,184,92,.5);\n}\n.dx-datagrid-rowsview .dx-item-modified.dx-adaptive-item-text {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 4px;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused),\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) {\n  background-color: #5c95c5;\n  color: #fff;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-texteditor-input,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-texteditor-input {\n  border-radius: 0;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-datagrid-group-closed,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-datagrid-group-opened,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-datagrid-group-closed,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-datagrid-group-opened,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-datagrid-group-closed,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-datagrid-group-opened {\n  color: #fff;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row .dx-command-edit .dx-link:focus {\n  background-color: #fff;\n  color: #333;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > td,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row > tr:last-child > td {\n  border-bottom: 1px solid #5c95c5;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row:not(.dx-row-lines) > td,\n.dx-datagrid-rowsview .dx-row-focused.dx-data-row:not(.dx-row-lines) > tr:first-child > td {\n  border-top: 1px solid #5c95c5;\n  border-bottom: 1px solid #5c95c5;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-group-row {\n  background-color: #5c95c5;\n  color: #fff;\n}\n.dx-datagrid-rowsview .dx-row-focused.dx-group-row .dx-datagrid-group-closed,\n.dx-datagrid-rowsview .dx-row-focused.dx-group-row .dx-datagrid-group-opened,\n.dx-datagrid-rowsview .dx-row-focused.dx-group-row .dx-datagrid-summary-item {\n  color: #fff;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td {\n  background-color: #e6e6e6;\n  color: #333;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-datagrid-group-space,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-datagrid-group-space,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-datagrid-group-space,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-datagrid-group-space {\n  border-right-color: #e6e6e6;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-pointer-events-none,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-pointer-events-none,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-pointer-events-none,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-pointer-events-none {\n  border-left-color: #ddd;\n  border-right-color: #ddd;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-focused,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-focused,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-focused,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-focused {\n  background-color: #fff;\n  color: #333;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > td {\n  border-bottom: 1px solid #e6e6e6;\n  border-top: 1px solid #e6e6e6;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > tr:first-child > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > tr:first-child > td {\n  border-top: 1px solid #e6e6e6;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > tr:last-child > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > tr:last-child > td {\n  border-bottom: 1px solid #e6e6e6;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-column-lines > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-column-lines > tr > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-column-lines > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-column-lines > tr > td {\n  border-left-color: #ddd;\n  border-right-color: #ddd;\n}\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-row-lines > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-row-lines > tr > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-row-lines > td,\n.dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-row-lines > tr > td {\n  border-bottom-color: #ddd;\n}\n.dx-datagrid-rowsview.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both .dx-scrollable-wrapper .dx-scrollable-container .dx-scrollable-content {\n  padding-right: 0;\n}\n.dx-datagrid-rowsview td.dx-validation-pending {\n  position: relative;\n  padding: 0;\n}\n.dx-datagrid-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-datagrid-rowsview td.dx-validation-pending.dx-datagrid-invalid {\n  padding: 5px 24px 5px 5px;\n}\n.dx-rtl .dx-datagrid-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-rtl .dx-datagrid-rowsview td.dx-validation-pending.dx-datagrid-invalid,\n.dx-rtl.dx-datagrid-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-rtl.dx-datagrid-rowsview td.dx-validation-pending.dx-datagrid-invalid {\n  padding-left: 24px;\n  padding-right: 5px;\n}\n.dx-datagrid-rowsview td.dx-validation-pending .dx-pending-indicator {\n  pointer-events: none;\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  width: 20px;\n  height: 20px;\n  right: 2px;\n  background-color: #fff;\n}\n.dx-rtl .dx-datagrid-rowsview td.dx-validation-pending .dx-pending-indicator,\n.dx-rtl.dx-datagrid-rowsview td.dx-validation-pending .dx-pending-indicator {\n  left: 2px;\n  right: auto;\n}\n.dx-datagrid-rowsview td.dx-editor-cell .dx-texteditor.dx-validation-pending .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-datagrid-rowsview td.dx-editor-cell .dx-texteditor.dx-validation-pending.dx-rtl .dx-texteditor-input {\n  padding-right: 5px;\n  padding-bottom: 5px;\n  padding-left: 24px;\n}\n.dx-datagrid-search-text {\n  color: #fff;\n  background-color: #337ab7;\n}\n.dx-datagrid-nodata {\n  color: #999;\n  font-size: 14px;\n}\n.dx-datagrid-bottom-load-panel {\n  border-top: 1px solid #ddd;\n  background-color: #fff;\n}\n.dx-datagrid-pager {\n  border-top: 1px solid #ddd;\n}\n.dx-datagrid-pager .dx-navigate-button,\n.dx-datagrid-pager .dx-page,\n.dx-datagrid-pager .dx-page-size {\n  outline: 0;\n}\n.dx-datagrid-pager.dx-state-focused .dx-navigate-button:focus,\n.dx-datagrid-pager.dx-state-focused .dx-page-size:focus,\n.dx-datagrid-pager.dx-state-focused .dx-page:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: -2px;\n}\n.dx-datagrid-summary-item {\n  color: rgba(51,51,51,.7);\n}\n.dx-datagrid-total-footer {\n  position: relative;\n  border-top: 1px solid #ddd;\n}\n.dx-datagrid-revert-tooltip .dx-overlay-content {\n  background-color: #fff;\n  min-width: inherit;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button {\n  margin: 0 1px;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n  color: #fff;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button .dx-icon {\n  color: #fff;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button.dx-state-hover {\n  background-color: #c9302c;\n  border-color: #d43f3a;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button.dx-state-focused {\n  background-color: #b52b27;\n  border-color: #d43f3a;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button.dx-state-active {\n  background-color: #a02622;\n  border-color: #d43f3a;\n  color: #fff;\n}\n.dx-datagrid-revert-tooltip .dx-revert-button > .dx-button-content {\n  padding: 5px;\n}\n.dx-toolbar-menu-section .dx-datagrid-checkbox-size {\n  width: 100%;\n}\n.dx-toolbar-menu-section .dx-datagrid-checkbox-size .dx-checkbox-container {\n  padding: 14px;\n}\n.dx-toolbar-menu-section .dx-datagrid-checkbox-size .dx-checkbox-text {\n  padding-left: 34px;\n}\n.dx-rtl .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-datagrid-group-space {\n  border-left-color: rgba(0,0,0,.04);\n  border-right-color: transparent;\n}\n.dx-rtl .dx-datagrid-filter-row .dx-menu .dx-menu-item-has-submenu.dx-menu-item-has-icon .dx-icon {\n  margin: 0 3px;\n}\n.dx-rtl .dx-datagrid-filter-row td .dx-editor-container .dx-filter-range-content {\n  padding: 5px 24px 5px 5px;\n}\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > td,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > tr > td,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > td,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > tr > td {\n  border-right-color: #ddd;\n}\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > td:not(.dx-focused).dx-datagrid-group-space,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > tr > td:not(.dx-focused).dx-datagrid-group-space,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > td:not(.dx-focused).dx-datagrid-group-space,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > tr > td:not(.dx-focused).dx-datagrid-group-space {\n  border-left-color: #e6e6e6;\n}\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row > tr > td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > td.dx-pointer-events-none,\n.dx-rtl .dx-datagrid-rowsview .dx-selection.dx-row:hover > tr > td.dx-pointer-events-none {\n  border-left-color: #ddd;\n}\n.dx-rtl .dx-datagrid-rowsview.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both .dx-scrollable-wrapper .dx-scrollable-container .dx-scrollable-content {\n  padding-left: 0;\n}\n.dx-datagrid-group-panel {\n  font-size: 12px;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-datagrid-group-panel .dx-group-panel-message {\n  color: #959595;\n  font-weight: 400;\n  padding: 5px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  line-height: 1.33334;\n}\n.dx-datagrid-group-panel .dx-group-panel-item {\n  margin-right: 5px;\n  color: #959595;\n  font-weight: 400;\n  border: 1px solid #ddd;\n  padding: 5px;\n}\n.dx-datagrid-group-panel .dx-block-separator {\n  margin-right: 5px;\n  color: #959595;\n  font-weight: 400;\n  padding: 6px;\n  background-color: #eee;\n}\n.dx-datagrid-group-panel .dx-sort {\n  color: #898989;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row:first-child {\n  border-top: none;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row {\n  font-weight: 700;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row:not(.dx-row-focused) {\n  color: #959595;\n  background-color: #f7f7f7;\n}\n.dx-datagrid-rowsview .dx-row.dx-group-row td {\n  border-top-color: #ddd;\n  border-bottom-color: #ddd;\n}\n.dx-datagrid-group-opened {\n  font: 14px/14px DXIcons;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n  color: #959595;\n}\n.dx-datagrid-group-opened::before {\n  content: \"\\f001\";\n}\n.dx-datagrid-group-closed {\n  font: 14px/14px DXIcons;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n  color: #959595;\n}\n.dx-datagrid-group-closed::before {\n  content: \"\\f04e\";\n}\n.dx-datagrid-group-closed,\n.dx-datagrid-group-opened {\n  cursor: pointer;\n  position: relative;\n  width: 100%;\n}\n.dx-row.dx-datagrid-group-footer.dx-column-lines {\n  border-bottom: 1px solid #ddd;\n}\n.dx-row.dx-datagrid-group-footer > td {\n  background-color: #fff;\n  border-top: 1px solid #ddd;\n  border-left-width: 0;\n  border-right-width: 0;\n}\n.dx-rtl .dx-datagrid-group-panel .dx-block-separator,\n.dx-rtl .dx-datagrid-group-panel .dx-group-panel-item {\n  margin-left: 5px;\n}\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-clear-filter,\n.dx-datagrid-filter-panel .dx-datagrid-filter-panel-text,\n.dx-datagrid-filter-panel .dx-icon-filter {\n  outline: 0;\n  color: #337ab7;\n}\n.dx-treelist-important-margin {\n  margin-right: 5px!important;\n}\n.dx-treelist-table {\n  background-color: transparent;\n}\n.dx-treelist-borders > .dx-treelist-total-footer {\n  border-top: 0;\n}\n.dx-treelist-borders > .dx-treelist-pager {\n  margin-top: -1px;\n}\n.dx-treelist-borders > .dx-treelist-header-panel {\n  border-bottom: 0;\n}\n.dx-treelist-borders > .dx-treelist-rowsview.dx-last-row-border tbody:last-child > .dx-data-row:nth-last-child(2) > td {\n  border-bottom-width: 0;\n}\n.dx-treelist .dx-treelist-content-fixed {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  z-index: 2;\n  pointer-events: none;\n  overflow: hidden;\n}\n.dx-treelist .dx-treelist-content-fixed .dx-treelist-table {\n  position: relative;\n}\n.dx-treelist .dx-treelist-content-fixed .dx-treelist-table td {\n  pointer-events: auto;\n}\n.dx-treelist .dx-treelist-content-fixed .dx-treelist-table .dx-row td.dx-pointer-events-none {\n  visibility: hidden;\n  background-color: transparent;\n  pointer-events: none;\n  border-top-color: transparent;\n  border-bottom-color: transparent;\n}\n.dx-treelist .dx-treelist-content-fixed .dx-treelist-table .dx-header-row td.dx-pointer-events-none {\n  border-bottom-color: transparent;\n}\n.dx-treelist .dx-treelist-content-fixed .dx-treelist-table.dx-treelist-table-fixed .dx-row td.dx-pointer-events-none {\n  width: auto;\n}\n.dx-treelist .dx-menu-subitem ul li {\n  padding-top: 0;\n}\n.dx-treelist .dx-menu-subitem ul li:first-child {\n  padding-top: 1px;\n}\n.dx-treelist .dx-menu-subitem .dx-menu-item {\n  padding: 7px 30px 7px 5px;\n}\n.dx-treelist .dx-menu-subitem .dx-menu-item .dx-menu-image {\n  background-position-x: left;\n}\n.dx-treelist .dx-link {\n  text-decoration: underline;\n  cursor: pointer;\n}\n.dx-treelist .dx-column-indicators {\n  display: inline-block;\n  vertical-align: top;\n  white-space: nowrap;\n}\n.dx-treelist .dx-column-indicators.dx-visibility-hidden {\n  visibility: hidden;\n}\n.dx-treelist .dx-column-indicators .dx-sort-index-icon {\n  padding-right: 3px;\n  margin-left: -3px;\n  width: 15px;\n}\n.dx-treelist .dx-column-indicators .dx-header-filter.dx-header-filter,\n.dx-treelist .dx-column-indicators .dx-header-filter.dx-sort,\n.dx-treelist .dx-column-indicators .dx-sort.dx-header-filter,\n.dx-treelist .dx-column-indicators .dx-sort.dx-sort {\n  display: inline-block;\n}\n.dx-treelist .dx-column-indicators .dx-header-filter.dx-header-filter::after,\n.dx-treelist .dx-column-indicators .dx-sort.dx-header-filter::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  margin: -7px;\n}\n.dx-treelist .dx-row > td,\n.dx-treelist .dx-row > tr > td {\n  padding: 7px;\n}\n.dx-treelist .dx-error-row {\n  -webkit-user-select: initial;\n  -moz-user-select: initial;\n  -ms-user-select: initial;\n  user-select: initial;\n}\n.dx-treelist .dx-error-row .dx-error-message {\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n.dx-treelist .dx-error-row .dx-error-message a {\n  color: inherit;\n}\n.dx-treelist .dx-treelist-rowsview .dx-data-row .dx-command-drag {\n  cursor: move;\n  vertical-align: middle;\n  padding: 0;\n}\n.dx-sortable-dragging .dx-treelist-rowsview .dx-data-row .dx-command-drag {\n  cursor: pointer;\n  cursor: -webkit-grabbing;\n  cursor: grabbing;\n}\n.dx-sortable-without-handle .dx-data-row {\n  cursor: pointer;\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-title {\n  border-bottom: none;\n  font-size: 16px;\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-title .dx-toolbar-label {\n  font-size: 16px;\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-content {\n  padding: 0 20px 20px;\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-content .dx-column-chooser-item.dx-treelist-drag-action {\n  opacity: 1;\n  cursor: pointer;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-drag .dx-treeview-node-container:first-child > .dx-treeview-node-is-leaf {\n  padding: 0;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-select .dx-treelist-column-chooser-plain .dx-treeview-select-all-item {\n  padding-left: 4px;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-select .dx-treelist-column-chooser-plain .dx-treeview-node {\n  padding-left: 0;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-select .dx-treelist-column-chooser-plain .dx-treeview-node .dx-checkbox {\n  left: 4px;\n}\n.dx-treelist-nowrap,\n.dx-treelist-nowrap .dx-header-row>td>.dx-treelist-text-content {\n  white-space: nowrap;\n}\n.dx-treelist-drag-header {\n  position: absolute;\n  vertical-align: middle;\n  cursor: pointer;\n  z-index: 10000;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-treelist-drag-header.dx-drag-command-cell {\n  padding: 0;\n}\n.dx-treelist-columns-separator {\n  position: absolute;\n  z-index: 3;\n  width: 3px;\n}\n.dx-treelist-columns-separator-transparent {\n  border-left: 0;\n  border-right: 0;\n}\n.dx-treelist-tracker {\n  width: 100%;\n  position: absolute;\n  top: 0;\n  z-index: 3;\n  cursor: col-resize;\n}\n.dx-treelist-table-content {\n  position: absolute;\n  top: 0;\n}\n.dx-treelist-focus-overlay {\n  position: absolute;\n  pointer-events: none;\n  top: 0;\n  left: 0;\n  visibility: hidden;\n}\n.dx-treelist-action,\n.dx-treelist-drag-action {\n  cursor: pointer;\n}\n.dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-modified):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row) > td:not(.dx-focused) .dx-link {\n  color: inherit;\n}\n.dx-treelist-content {\n  position: relative;\n}\n.dx-treelist-content .dx-overlay-wrapper.dx-invalid-message.dx-treelist-invalid-message {\n  visibility: visible;\n}\n.dx-treelist-content .dx-overlay-wrapper.dx-invalid-message.dx-treelist-invalid-message .dx-overlay-content,\n.dx-treelist-text-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-treelist-table-fixed {\n  table-layout: fixed;\n  width: 100%;\n}\ninput.dx-hidden {\n  display: inline-block!important;\n  width: 0!important;\n}\n.dx-hidden-cell {\n  visibility: hidden;\n}\n.dx-row > td,\n.dx-row > tr > td {\n  border: none;\n}\n.dx-treelist-content .dx-treelist-table {\n  border-collapse: collapse;\n  border-spacing: 0;\n  margin: 0;\n  max-width: 10px;\n}\n.dx-treelist-content .dx-treelist-table.dx-treelist-table-fixed {\n  max-width: none;\n}\n.dx-treelist-content .dx-treelist-table.dx-treelist-table-fixed .dx-column-indicators .dx-sort.dx-sort-none {\n  display: none;\n}\n.dx-treelist-content .dx-treelist-table.dx-treelist-table-fixed .dx-column-indicators .dx-sort.dx-sort-index {\n  width: 26px;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit {\n  max-width: none!important;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-column-indicators {\n  float: none!important;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-column-indicators > span {\n  width: 14px;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-column-indicators .dx-sort.dx-sort-none {\n  display: inline-block;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-header-row .dx-treelist-text-content {\n  max-width: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-text-content-alignment-left {\n  margin-right: 3px;\n}\n.dx-treelist-content .dx-treelist-table .dx-treelist-best-fit .dx-text-content-alignment-right {\n  margin-left: 3px;\n}\n.dx-treelist-content .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-column-indicators {\n  float: none!important;\n}\n.dx-treelist-content .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-column-indicators > span {\n  width: 14px;\n}\n.dx-treelist-content .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-text-content-alignment-left {\n  margin-right: 3px;\n}\n.dx-treelist-content .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-text-content-alignment-right {\n  margin-left: 3px;\n}\n.dx-treelist-content .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-master-detail-cell {\n  max-width: 0;\n}\n.dx-treelist-content .dx-treelist-table [class*=column] + [class*=column]:last-child {\n  float: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > td,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td {\n  vertical-align: top;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > td.dx-first-child,\n.dx-treelist-content .dx-treelist-table .dx-row > td:first-child,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td.dx-first-child,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td:first-child {\n  border-left: 0;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > td.dx-last-child,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td.dx-last-child {\n  border-right: 0;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > td.dx-treelist-group-space,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td.dx-treelist-group-space {\n  border-right: none;\n  vertical-align: top;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > td.dx-treelist-group-space + td,\n.dx-treelist-content .dx-treelist-table .dx-row > tr > td.dx-treelist-group-space + td {\n  border-left: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-editor-container {\n  overflow: hidden;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-treelist-invalid .dx-invalid-message.dx-overlay {\n  position: static;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-editor-cell {\n  max-width: 0;\n  padding: 0;\n  vertical-align: middle;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-editor-cell .dx-texteditor,\n.dx-treelist-content .dx-treelist-table .dx-row .dx-editor-cell .dx-texteditor-container {\n  border: 0;\n  margin: 0;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-select {\n  padding: 0;\n  width: 70px;\n  min-width: 70px;\n  max-width: 70px;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit {\n  text-overflow: clip;\n  width: 100px;\n  min-width: 100px;\n  white-space: nowrap;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit.dx-command-edit-with-icons {\n  width: 80px;\n  min-width: 80px;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit.dx-command-edit-with-icons .dx-link {\n  text-decoration: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit .dx-link {\n  display: inline-block;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-expand {\n  padding: 0;\n  width: 30px;\n  min-width: 30px;\n  max-width: 30px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-row .dx-command-adaptive {\n  padding: 0;\n  vertical-align: middle;\n}\n.dx-treelist-content .dx-treelist-table .dx-data-row .dx-command-edit-with-icons {\n  line-height: 1;\n  white-space: nowrap;\n}\n.dx-treelist-content .dx-treelist-table .dx-filter-range-content {\n  padding: 7px 7px 7px 32px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  cursor: pointer;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > .dx-last-data-cell {\n  border-right: none;\n}\n.dx-treelist-content .dx-treelist-table .dx-row > .dx-command-adaptive-hidden {\n  border-left: none;\n}\n.dx-cell-modified,\n.dx-highlight-outline,\n.dx-treelist-invalid {\n  position: relative;\n  padding: 7px;\n}\n.dx-cell-modified::after,\n.dx-highlight-outline::after,\n.dx-treelist-invalid::after {\n  content: \"\";\n  position: absolute;\n  border: 2px solid transparent;\n  top: 0;\n  left: 1px;\n  bottom: 0;\n  right: 0;\n  pointer-events: none;\n}\n.dx-cell-modified.dx-hidden,\n.dx-highlight-outline.dx-hidden,\n.dx-treelist-invalid.dx-hidden {\n  display: block!important;\n}\n.dx-cell-modified.dx-hidden::after,\n.dx-highlight-outline.dx-hidden::after,\n.dx-treelist-invalid.dx-hidden::after {\n  display: none;\n}\n.dx-editor-cell .dx-texteditor-input {\n  margin: 0;\n}\n.dx-editor-cell .dx-highlight-outline,\n.dx-editor-cell.dx-cell-modified,\n.dx-editor-cell.dx-treelist-invalid {\n  padding: 0;\n}\n.dx-editor-cell.dx-editor-inline-block:not(.dx-command-select)::before {\n  display: inline-block;\n  content: \"​\";\n  vertical-align: middle;\n}\n.dx-column-lines .dx-cell-modified::after,\n.dx-column-lines .dx-highlight-outline::after,\n.dx-column-lines .dx-treelist-invalid::after {\n  left: 0;\n}\n.dx-treelist-headers {\n  position: relative;\n  outline: 0;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-header-row .dx-editor-cell .dx-select-checkbox {\n  display: inline-block;\n}\n.dx-header-row > td {\n  white-space: nowrap;\n  overflow: hidden;\n}\n.dx-header-row > td > .dx-treelist-text-content {\n  display: inline-block;\n  white-space: normal;\n  vertical-align: top;\n}\n.dx-header-row .dx-text-content-alignment-left,\n.dx-header-row .dx-text-content-alignment-right,\n.dx-header-row>td>.dx-treelist-text-content:not(.dx-sort-indicator):not(.dx-header-filter-indicator) {\n  max-width: 100%;\n}\n.dx-header-row .dx-header-filter-indicator,\n.dx-header-row .dx-sort-indicator {\n  max-width: calc(100% - 17px);\n}\n.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-left,\n.dx-header-row .dx-sort-indicator.dx-text-content-alignment-left {\n  margin-right: 3px;\n}\n.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-right,\n.dx-header-row .dx-sort-indicator.dx-text-content-alignment-right {\n  margin-left: 3px;\n}\n.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right,\n.dx-header-row .dx-sort-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {\n  max-width: calc(100% - 34px);\n}\n.dx-header-row .dx-sort-indicator.dx-header-filter-indicator {\n  max-width: calc(100% - 31px);\n}\n.dx-header-row .dx-sort-indicator.dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {\n  max-width: calc(100% - 62px);\n}\n.dx-header-row .dx-sort-indicator.dx-sort-index-indicator {\n  max-width: calc(100% - 29px);\n}\n.dx-header-row .dx-sort-indicator.dx-sort-index-indicator.dx-header-filter-indicator {\n  max-width: calc(100% - 43px);\n}\n.dx-header-row .dx-sort-indicator.dx-sort-index-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {\n  max-width: calc(100% - 46px);\n}\n.dx-header-row .dx-sort-indicator.dx-sort-index-indicator.dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {\n  max-width: calc(100% - 74px);\n}\n.dx-treelist-filter-range-overlay .dx-editor-container .dx-texteditor {\n  border-width: 0;\n}\n.dx-treelist-filter-range-overlay .dx-editor-container .dx-texteditor.dx-state-focused::after {\n  content: \" \";\n  position: absolute;\n  top: -1px;\n  bottom: -1px;\n  left: -1px;\n  right: -1px;\n  z-index: 1;\n  pointer-events: none;\n}\n.dx-treelist-filter-range-overlay .dx-treelist-filter-range-end {\n  border-top: 1px solid transparent;\n}\n.dx-treelist-filter-range-overlay .dx-editor-container.dx-cell-modified,\n.dx-treelist-filter-range-overlay .dx-editor-container.dx-treelist-invalid {\n  padding: 0;\n}\n.dx-treelist-filter-row .dx-editor-cell .dx-menu {\n  display: none;\n}\n.dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu {\n  position: relative;\n}\n.dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu .dx-menu {\n  display: block;\n}\n.dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu .dx-placeholder::before,\n.dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor-input {\n  padding-left: 32px;\n}\n.dx-treelist-filter-row .dx-cell-modified::after,\n.dx-treelist-filter-row .dx-treelist-invalid::after {\n  pointer-events: none;\n}\n.dx-treelist-filter-row .dx-focused .dx-highlight-outline::after,\n.dx-treelist-filter-row .dx-focused.dx-cell-modified::after,\n.dx-treelist-filter-row .dx-focused.dx-treelist-invalid::after {\n  border-color: transparent;\n}\n.dx-treelist-filter-row .dx-menu {\n  z-index: 1;\n  position: absolute;\n  top: 0;\n  left: 0;\n  cursor: pointer;\n  margin-left: -2px;\n  margin-top: -2px;\n  height: 100%;\n  overflow: visible;\n}\n.dx-treelist-filter-row .dx-menu .dx-menu-horizontal {\n  height: 100%;\n}\n.dx-treelist-filter-row .dx-menu .dx-menu-horizontal .dx-menu-item-popout,\n.dx-treelist-filter-row .dx-menu .dx-menu-horizontal .dx-menu-item-text {\n  display: none;\n}\n.dx-treelist-filter-row .dx-menu-item.dx-state-focused::after {\n  position: absolute;\n  left: 2px;\n  top: 2px;\n  width: 100%;\n  height: 102%;\n  content: \"\";\n}\n.dx-treelist-filter-row > .dx-first-cell .dx-menu,\n.dx-treelist-filter-row > td:first-child .dx-menu {\n  margin-left: 0;\n}\n.dx-treelist-filter-row .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item {\n  padding: 5px 30px 5px 5px;\n}\n.dx-treelist-filter-row .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item {\n  padding: 8px 5px 7px;\n}\n.dx-treelist-filter-row .dx-menu ul.dx-menu-horizontal > li > .dx-menu-item.dx-state-disabled:hover {\n  padding: 9px 6px 8px;\n}\n.dx-treelist-filter-row .dx-menu-caption {\n  padding-left: 6px;\n}\n.dx-treelist-filter-row .dx-menu ul .dx-menu-item .dx-menu-chouser-down {\n  display: none;\n}\n.dx-treelist-filter-row .dx-menu-item-highlight {\n  font-weight: 400;\n}\n.dx-treelist-scroll-container {\n  overflow: hidden;\n  width: 100%;\n}\n.dx-treelist-header-panel {\n  text-align: left;\n}\n.dx-treelist-header-panel .dx-toolbar-menu-container .dx-button {\n  margin-left: 10px;\n}\n.dx-state-disabled {\n  cursor: pointer;\n}\n.dx-state-disabled .dx-menu-item {\n  cursor: default;\n}\n.dx-treelist-search-panel {\n  margin: 0 0 0 15px;\n}\n.dx-gridbase-container > .dx-treelist-rowsview {\n  -webkit-box-flex: 1;\n  -ms-flex: auto;\n  flex: auto;\n  height: auto;\n}\n.dx-gridbase-container > .dx-treelist-rowsview.dx-scrollable {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-gridbase-container > .dx-treelist-rowsview.dx-scrollable > .dx-scrollable-wrapper {\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  height: auto;\n  min-width: 0;\n  min-height: 0;\n}\n.dx-treelist-rowsview {\n  position: relative;\n  overflow: hidden;\n}\n.dx-treelist-rowsview.dx-empty {\n  height: 100px;\n}\n.dx-treelist-rowsview.dx-empty .dx-scrollable-content {\n  height: 100%;\n}\n.dx-treelist-rowsview.dx-fixed-columns.dx-scrollable .dx-scrollable-content {\n  z-index: 2;\n}\n.dx-treelist-rowsview.dx-fixed-columns .dx-scrollable-scrollbar {\n  z-index: 3;\n}\n.dx-treelist-rowsview .dx-treelist-content {\n  overflow-anchor: none;\n}\n.dx-treelist-rowsview .dx-treelist-content:not(.dx-treelist-content-fixed) {\n  min-height: 100%;\n}\n.dx-treelist-rowsview .dx-treelist-content.dx-scrollable-container {\n  width: auto;\n}\n.dx-treelist-rowsview .dx-treelist-content.dx-treelist-content-fixed.dx-scrollable-container {\n  height: auto;\n}\n.dx-treelist-rowsview:focus {\n  outline: 0;\n}\n.dx-treelist-rowsview .dx-row > td,\n.dx-treelist-rowsview .dx-row > tr > td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-treelist-rowsview .dx-row.dx-row-lines:first-child,\n.dx-treelist-rowsview .dx-row.dx-row-lines:first-child>td,\n.dx-treelist-rowsview .dx-row.dx-row-lines:first-child>tr>td {\n  border-top: none;\n}\n.dx-treelist-rowsview .dx-data-row > td:focus {\n  outline: 0;\n}\n.dx-treelist-rowsview .dx-selection > td .dx-link,\n.dx-treelist-rowsview .dx-selection > tr > td .dx-link,\n.dx-treelist-rowsview .dx-selection.dx-row:hover > td .dx-link,\n.dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td .dx-link {\n  color: inherit;\n}\n.dx-treelist-rowsview .dx-treelist-table .dx-row.dx-freespace-row,\n.dx-treelist-rowsview .dx-treelist-table .dx-row.dx-virtual-row {\n  border-top: 0;\n  border-bottom: 0;\n}\n.dx-treelist-rowsview .dx-treelist-table .dx-row.dx-freespace-row > td,\n.dx-treelist-rowsview .dx-treelist-table .dx-row.dx-virtual-row > td {\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.dx-treelist-rowsview .dx-select-checkboxes-hidden > tbody > tr > td > .dx-select-checkbox {\n  display: none;\n}\n.dx-treelist-rowsview .dx-select-checkboxes-hidden>tbody>tr.dx-selection>td>.dx-select-checkbox,\n.dx-treelist-rowsview .dx-select-checkboxes-hidden>tbody>tr>td:hover>.dx-select-checkbox {\n  display: inline-block;\n}\n.dx-treelist-rowsview .dx-row > .dx-master-detail-cell:focus {\n  outline: 0;\n}\n.dx-treelist-rowsview .dx-data-row.dx-edit-row .dx-cell-modified::after {\n  border-color: transparent;\n}\n.dx-treelist-nodata {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translate(-50%,-50%);\n  transform: translate(-50%,-50%);\n}\n.dx-treelist-bottom-load-panel {\n  text-align: center;\n  padding: 10px;\n}\n.dx-treelist-hidden-column {\n  white-space: nowrap;\n}\n.dx-treelist .dx-row .dx-treelist-hidden-column {\n  border-right-width: 0;\n  border-left-width: 0;\n}\n.dx-treelist-hidden-column > * {\n  display: none!important;\n}\n.dx-treelist-total-footer > .dx-treelist-content {\n  padding-top: 7px;\n  padding-bottom: 7px;\n}\n.dx-treelist-summary-item {\n  font-weight: 700;\n}\n.dx-treelist-export-menu .dx-dropdownbutton-content .dx-list-item {\n  display: block;\n}\n.dx-command-adaptive {\n  width: 36px;\n  min-width: 36px;\n}\n.dx-treelist-revert-tooltip.dx-popover-wrapper .dx-overlay-content {\n  border: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-treelist-revert-tooltip.dx-popover-wrapper .dx-overlay-content .dx-popup-content {\n  padding: 0;\n}\n.dx-treelist-revert-tooltip.dx-popover-wrapper .dx-popover-arrow {\n  width: 0;\n  height: 0;\n}\n.dx-treelist-notouch-action {\n  -ms-touch-action: none;\n  touch-action: none;\n  -ms-content-zooming: none;\n  -ms-overflow-style: none;\n}\n.dx-treelist-column-chooser-list.dx-treeview .dx-empty-message,\n.dx-treelist-column-chooser-list.dx-treeview .dx-treeview-item {\n  border: none;\n}\n.dx-treelist-column-chooser-list.dx-treeview .dx-empty-message {\n  text-align: center;\n  left: 0;\n  right: 0;\n  bottom: 50%;\n  position: absolute;\n}\n.dx-rtl .dx-treelist .dx-menu-subitem .dx-menu-item,\n.dx-treelist.dx-rtl .dx-menu-subitem .dx-menu-item {\n  padding: 7px 5px 7px 30px;\n}\n.dx-rtl .dx-treelist .dx-menu-subitem .dx-menu-item .dx-menu-image,\n.dx-treelist.dx-rtl .dx-menu-subitem .dx-menu-item .dx-menu-image {\n  background-position-x: right;\n}\n.dx-rtl .dx-treelist .dx-texteditor-buttons-container,\n.dx-treelist.dx-rtl .dx-texteditor-buttons-container {\n  text-align: start;\n}\n.dx-rtl .dx-treelist-content .dx-treelist-table {\n  direction: rtl;\n}\n.dx-rtl .dx-treelist-content .dx-treelist-table .dx-row > td.dx-treelist-group-space {\n  border-left: none;\n}\n.dx-rtl .dx-treelist-content .dx-treelist-table .dx-row > td.dx-treelist-group-space + td {\n  border-right: none;\n}\n.dx-rtl .dx-treelist-content .dx-treelist-table .dx-row .dx-editor-container .dx-editor-cell .dx-checkbox.dx-checkbox-checked .dx-checkbox-icon {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-treelist-content .dx-treelist-table .dx-row .dx-filter-range-content {\n  padding: 7px 32px 7px 7px;\n}\n.dx-rtl .dx-treelist-headers .dx-treelist-scrollable-simulated,\n.dx-rtl .dx-treelist-total-footer .dx-treelist-scrollable-simulated {\n  direction: ltr;\n}\n.dx-rtl .dx-treelist-headers .dx-treelist-scrollable-simulated .dx-treelist-table,\n.dx-rtl .dx-treelist-total-footer .dx-treelist-scrollable-simulated .dx-treelist-table {\n  direction: rtl;\n}\n.dx-rtl .dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor .dx-placeholder::before,\n.dx-rtl .dx-treelist-filter-row .dx-editor-cell .dx-editor-with-menu .dx-texteditor .dx-texteditor-input {\n  padding-right: 32px;\n}\n.dx-rtl .dx-treelist-filter-row .dx-menu {\n  right: 0;\n  left: auto;\n  margin-left: 0;\n  margin-right: -2px;\n}\n.dx-rtl .dx-treelist-filter-row > td:first-child .dx-menu {\n  margin-left: 0;\n}\n.dx-rtl .dx-treelist-filter-row .dx-menu-horizontal .dx-overlay-content ul .dx-menu-item {\n  padding: 5px 5px 5px 30px;\n}\n.dx-rtl .dx-treelist-filter-row .dx-menu-caption {\n  padding-right: 6px;\n}\n.dx-rtl .dx-treelist-header-panel {\n  text-align: right;\n}\n.dx-rtl .dx-treelist-header-panel .dx-treelist-column-chooser-button {\n  margin-left: 0;\n}\n.dx-rtl .dx-treelist-header-panel .dx-toolbar-menu-container .dx-button {\n  margin-left: 0;\n  margin-right: 10px;\n}\n.dx-rtl .dx-treelist-search-panel {\n  margin: 0 15px 0 0;\n}\n.dx-treelist-filter-panel,\n.dx-treelist-filter-panel-left {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: justify;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  min-width: 0;\n}\n.dx-treelist-filter-panel .dx-treelist-filter-panel-text {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-treelist-filter-panel .dx-treelist-filter-panel-clear-filter:hover,\n.dx-treelist-filter-panel .dx-treelist-filter-panel-text:hover {\n  text-decoration: underline;\n  cursor: pointer;\n}\n.dx-treelist-filter-panel .dx-treelist-filter-panel-checkbox {\n  padding-right: 10px;\n}\n.dx-treelist-filter-panel .dx-icon-filter {\n  margin: auto 7px auto auto;\n  cursor: pointer;\n}\n.dx-treelist-container {\n  position: relative;\n  cursor: default;\n  white-space: normal;\n  line-height: normal;\n  color: #333;\n  background-color: #fff;\n}\n.dx-treelist-rowsview .dx-treelist-best-fit.dx-treelist-cell-expandable,\n.dx-treelist-rowsview .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-treelist-cell-expandable {\n  white-space: nowrap;\n}\n.dx-treelist-rowsview .dx-treelist-best-fit.dx-treelist-cell-expandable .dx-treelist-text-content,\n.dx-treelist-rowsview .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-treelist-cell-expandable .dx-treelist-text-content {\n  display: inline;\n  white-space: normal;\n}\n.dx-treelist-rowsview .dx-treelist-best-fit.dx-treelist-cell-expandable .dx-treelist-icon-container,\n.dx-treelist-rowsview .dx-treelist-table:not(.dx-treelist-table-fixed) .dx-treelist-cell-expandable .dx-treelist-icon-container {\n  float: none;\n}\n.dx-treelist-rowsview .dx-treelist-icon-container {\n  display: inline-block;\n  white-space: nowrap;\n  vertical-align: top;\n  line-height: 1;\n}\n.dx-treelist-rowsview .dx-treelist-table-fixed .dx-treelist-icon-container {\n  float: left;\n}\n.dx-treelist-borders > .dx-treelist-headers,\n.dx-treelist-borders > .dx-treelist-rowsview,\n.dx-treelist-borders > .dx-treelist-total-footer {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n}\n.dx-treelist-borders > .dx-treelist-rowsview,\n.dx-treelist-borders > .dx-treelist-total-footer {\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-borders > .dx-treelist-filter-panel,\n.dx-treelist-borders > .dx-treelist-headers {\n  border-top: 1px solid #ddd;\n}\n.dx-treelist-borders > .dx-treelist-filter-panel {\n  border-top-width: 0;\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-sortable-dragging > div > .dx-gridbase-container > .dx-treelist-rowsview {\n  border-color: rgba(51,122,183,.5);\n}\n.dx-treelist .dx-column-lines > td:first-child {\n  border-left: none;\n}\n.dx-treelist .dx-column-lines > td:last-child {\n  border-right: none;\n}\n.dx-treelist .dx-command-drag .dx-treelist-drag-icon {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-command-drag .dx-treelist-drag-icon::before {\n  content: \"\\f038\";\n}\n.dx-treelist-container .dx-sort-up {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist-container .dx-sort-up::before {\n  content: \"\\f051\";\n}\n.dx-treelist-container .dx-sort-down {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist-container .dx-sort-down::before {\n  content: \"\\f052\";\n}\n.dx-treelist-container .dx-sort-down,\n.dx-treelist-container .dx-sort-up {\n  font-family: inherit;\n}\n.dx-treelist-container .dx-sort-down::before,\n.dx-treelist-container .dx-sort-up::before {\n  font-family: DXIcons,sans-serif;\n}\n.dx-treelist-container .dx-treelist-headers .dx-header-filter,\n.dx-treelist-container .dx-treelist-headers .dx-header-row > td {\n  outline: 0;\n}\n.dx-treelist-container .dx-treelist-headers.dx-state-focused .dx-header-row td .dx-header-filter:focus,\n.dx-treelist-container .dx-treelist-headers.dx-state-focused .dx-header-row td:focus {\n  outline: #5c95c5 solid 2px;\n}\n.dx-treelist-container .dx-treelist-headers.dx-state-focused .dx-header-row td:focus {\n  outline-offset: -2px;\n}\n.dx-treelist-container .dx-treelist-headers.dx-state-focused .dx-header-row td .dx-header-filter:focus {\n  outline-offset: 2px;\n}\n.dx-treelist-container .dx-header-filter {\n  position: relative;\n  color: #959595;\n  font: 14px/1 DXIcons;\n}\n.dx-treelist-container .dx-header-filter::before {\n  content: \"\\f050\";\n}\n.dx-treelist-container .dx-header-filter-empty {\n  color: rgba(149,149,149,.5);\n}\n.dx-treelist-container.dx-filter-menu .dx-menu-item-content .dx-icon {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-treelist-container .dx-treelist-content-fixed .dx-treelist-table .dx-col-fixed {\n  background-color: #fff;\n}\n.dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none,\n.dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none,\n.dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none,\n.dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none,\n.dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none {\n  border-left: 2px solid #ddd;\n  border-right: 2px solid #ddd;\n}\n.dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-first-cell,\n.dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-first-cell,\n.dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none.dx-first-cell,\n.dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none.dx-first-cell,\n.dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-first-cell {\n  border-left: none;\n}\n.dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-last-cell,\n.dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-last-cell,\n.dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none.dx-last-cell,\n.dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none.dx-last-cell,\n.dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-last-cell {\n  border-right: none;\n}\n.dx-treelist-container .dx-treelist-rowsview.dx-state-focused .dx-data-row > td.dx-command-edit > a.dx-link:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: 2px;\n}\n.dx-treelist-container .dx-treelist-rowsview.dx-state-focused .dx-data-row.dx-row-focused > td.dx-command-edit > a.dx-link:focus {\n  outline-color: #fff;\n  outline-offset: 0;\n}\n.dx-treelist-container .dx-treelist-rowsview .dx-treelist-edit-form {\n  background-color: #fff;\n}\n.dx-treelist-container .dx-treelist-rowsview .dx-virtual-row > td {\n  position: relative;\n}\n.dx-treelist-container .dx-treelist-rowsview .dx-virtual-row > td::before {\n  display: block;\n  height: 100%;\n  content: \"\";\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAACqCAYAAABbAOqQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjYWQ2ODE5MS00ZDMxLWRjNGYtOTU0NC1jNjJkMTIxMjY2M2IiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjY1RUVFQzAzRDYzMTFFODlFNThCOUJBQjU4Q0EzRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjY1RUVFQkYzRDYzMTFFODlFNThCOUJBQjU4Q0EzRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVlMjM1Y2U0LTc5ZWUtNGI0NC05ZjlkLTk2NTZmZGFjNjhhNCIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk1OTQ2MjBiLTUyMTQtYTM0Yy04Nzc5LTEwMmEyMTY4MTlhOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvLbJKYAAADrSURBVHja7N3BDYBACABBsQn7L48q0BoMD5SZxAZuc74gF1V1MMfpCARBEEEQRBAEEQRBdovnuxxDq3RD/LIQRBAEQRBBEEQQBBEEQQQBAAAAAAAAABhi8gZVbgxi6kQQBBEEQQRBEEEQRBAEQRBBAAAAAAAAAAAabX2Daux2lqkTQRBEEAQRBEEEQRBBEARBBAEAAAAAAAAAaLR1g2osUyeCIIggCCIIggiCIIIgCIIIAgAAAAAAAADQ6KsbVPnXIKZOBEEQQRBEEAQRBEEEQRAEEYRXoqqcghuCIIIgiCAIIgiCCMIUtwADALYCCr92l++TAAAAAElFTkSuQmCC\");\n  background-repeat: no-repeat repeat;\n}\n.dx-treelist-container .dx-treelist-rowsview .dx-virtual-row > td[style*=\"text-align: right\"]::before {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-treelist-container .dx-treelist-filter-row .dx-filter-range-content {\n  color: #333;\n}\n.dx-treelist-container .dx-error-row td {\n  color: #fff;\n  padding: 0;\n}\n.dx-treelist-container .dx-error-row .dx-error-message {\n  background-color: #e89895;\n  white-space: normal;\n  word-wrap: break-word;\n}\n.dx-treelist-filter-panel {\n  padding: 10px;\n  color: #333;\n  border-top: 1px solid #ddd;\n}\n.dx-treelist-filter-panel.dx-state-focused .dx-icon-filter:focus,\n.dx-treelist-filter-panel.dx-state-focused .dx-treelist-filter-panel-clear-filter:focus,\n.dx-treelist-filter-panel.dx-state-focused .dx-treelist-filter-panel-text:focus {\n  outline: #5c95c5 solid 2px;\n}\n.dx-treelist-form-buttons-container {\n  float: right;\n}\n.dx-treelist-form-buttons-container .dx-button {\n  margin-left: 10px;\n  margin-top: 10px;\n}\n.dx-treelist-export-menu .dx-menu-item .dx-icon-exportxlsx {\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  font-size: 16px;\n  text-align: center;\n  line-height: 16px;\n}\n.dx-treelist-adaptive-more {\n  cursor: pointer;\n  font: 21px/21px DXIcons;\n}\n.dx-treelist-adaptive-more::before {\n  content: \"\\f06c\";\n}\n.dx-treelist-edit-popup .dx-error-message {\n  background-color: #e89895;\n  white-space: normal;\n  word-wrap: break-word;\n  color: #fff;\n  margin-bottom: 20px;\n}\n.dx-rtl.dx-treelist .dx-column-lines > td:first-child {\n  border-right: none;\n  border-left: 1px solid #ddd;\n}\n.dx-rtl.dx-treelist .dx-column-lines > td:last-child {\n  border-left: none;\n  border-right: 1px solid #ddd;\n}\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none {\n  border-left: 2px solid #ddd;\n  border-right: 2px solid #ddd;\n}\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none.dx-first-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-first-cell {\n  border-right: none;\n}\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-header-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-treelist-container .dx-datagrid-rowsview .dx-virtual-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-headers .dx-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-data-row td.dx-pointer-events-none.dx-last-cell,\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-freespace-row td.dx-pointer-events-none.dx-last-cell {\n  border-left: none;\n}\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-virtual-row > td::before {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-treelist-container .dx-treelist-rowsview .dx-virtual-row > td[style*=\"text-align: left\"]::before {\n  -webkit-transform: scale(1);\n  transform: scale(1);\n}\n.dx-rtl .dx-treelist-form-buttons-container {\n  float: left;\n}\n.dx-rtl .dx-treelist-form-buttons-container .dx-button {\n  margin-left: 0;\n  margin-right: 10px;\n}\n.dx-treelist-cell-updated-animation {\n  -webkit-animation: 1s dx-treelist-highlight-change;\n  animation: 1s dx-treelist-highlight-change;\n}\n@-webkit-keyframes dx-treelist-highlight-change {\n  50%,\n  from {\n    background-color: rgba(51,51,51,.08);\n  }\n}\n@keyframes dx-treelist-highlight-change {\n  50%,\n  from {\n    background-color: rgba(51,51,51,.08);\n  }\n}\n.dx-treelist-container.dx-filter-menu .dx-menu-item-has-icon .dx-icon,\n.dx-treelist.dx-filter-menu .dx-menu-item-has-icon .dx-icon {\n  color: #898989;\n}\n.dx-treelist-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc,\n.dx-treelist.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc {\n  font: 16px/16px DXIcons;\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc::before,\n.dx-treelist.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-asc::before {\n  content: \"\\f053\";\n}\n.dx-treelist-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc,\n.dx-treelist.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc {\n  font: 16px/16px DXIcons;\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist-container.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc::before,\n.dx-treelist.dx-context-menu .dx-menu-items-container .dx-icon-context-menu-sort-desc::before {\n  content: \"\\f054\";\n}\n.dx-treelist .dx-icon-filter-operation-equals,\n.dx-treelist-container .dx-icon-filter-operation-equals {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-equals::before,\n.dx-treelist-container .dx-icon-filter-operation-equals::before {\n  content: \"\\f044\";\n}\n.dx-treelist .dx-icon-filter-operation-default,\n.dx-treelist-container .dx-icon-filter-operation-default {\n  font: 12px/12px DXIcons;\n  width: 12px;\n  height: 12px;\n  background-position: 0 0;\n  background-size: 12px 12px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist .dx-icon-filter-operation-default::before,\n.dx-treelist-container .dx-icon-filter-operation-default::before {\n  content: \"\\f027\";\n}\n.dx-treelist .dx-icon-filter-operation-not-equals,\n.dx-treelist-container .dx-icon-filter-operation-not-equals {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-not-equals::before,\n.dx-treelist-container .dx-icon-filter-operation-not-equals::before {\n  content: \"\\f045\";\n}\n.dx-treelist .dx-icon-filter-operation-less,\n.dx-treelist-container .dx-icon-filter-operation-less {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-less::before,\n.dx-treelist-container .dx-icon-filter-operation-less::before {\n  content: \"\\f046\";\n}\n.dx-treelist .dx-icon-filter-operation-less-equal,\n.dx-treelist-container .dx-icon-filter-operation-less-equal {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-less-equal::before,\n.dx-treelist-container .dx-icon-filter-operation-less-equal::before {\n  content: \"\\f048\";\n}\n.dx-treelist .dx-icon-filter-operation-greater,\n.dx-treelist-container .dx-icon-filter-operation-greater {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-greater::before,\n.dx-treelist-container .dx-icon-filter-operation-greater::before {\n  content: \"\\f047\";\n}\n.dx-treelist .dx-icon-filter-operation-greater-equal,\n.dx-treelist-container .dx-icon-filter-operation-greater-equal {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-greater-equal::before,\n.dx-treelist-container .dx-icon-filter-operation-greater-equal::before {\n  content: \"\\f049\";\n}\n.dx-treelist .dx-icon-filter-operation-contains,\n.dx-treelist-container .dx-icon-filter-operation-contains {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-contains::before,\n.dx-treelist-container .dx-icon-filter-operation-contains::before {\n  content: \"\\f063\";\n}\n.dx-treelist .dx-icon-filter-operation-not-contains,\n.dx-treelist-container .dx-icon-filter-operation-not-contains {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-not-contains::before,\n.dx-treelist-container .dx-icon-filter-operation-not-contains::before {\n  content: \"\\f066\";\n}\n.dx-treelist .dx-icon-filter-operation-starts-with,\n.dx-treelist-container .dx-icon-filter-operation-starts-with {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-starts-with::before,\n.dx-treelist-container .dx-icon-filter-operation-starts-with::before {\n  content: \"\\f064\";\n}\n.dx-treelist .dx-icon-filter-operation-ends-with,\n.dx-treelist-container .dx-icon-filter-operation-ends-with {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-ends-with::before,\n.dx-treelist-container .dx-icon-filter-operation-ends-with::before {\n  content: \"\\f065\";\n}\n.dx-treelist .dx-icon-filter-operation-between,\n.dx-treelist-container .dx-icon-filter-operation-between {\n  font: 14px/1 DXIcons;\n}\n.dx-treelist .dx-icon-filter-operation-between::before,\n.dx-treelist-container .dx-icon-filter-operation-between::before {\n  content: \"\\f06a\";\n}\n.dx-treelist {\n  line-height: inherit;\n}\n.dx-treelist .dx-row-alt {\n  border-top: 1px solid #f5f5f5;\n  border-bottom: 1px solid #f5f5f5;\n}\n.dx-treelist .dx-row-alt > td,\n.dx-treelist .dx-row-alt > tr > td {\n  background-color: #f5f5f5;\n}\n.dx-treelist .dx-row-alt.dx-row:not(.dx-row-removed) {\n  border-bottom-color: transparent;\n}\n.dx-treelist .dx-link {\n  color: #337ab7;\n}\n.dx-treelist .dx-row-lines > td {\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist .dx-column-lines > td {\n  border-left: 1px solid #ddd;\n  border-right: 1px solid #ddd;\n}\n.dx-treelist .dx-error-row .dx-closebutton {\n  float: right;\n  margin: 7px;\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist .dx-error-row .dx-closebutton::before {\n  content: \"\\f00a\";\n}\n.dx-treelist .dx-error-row .dx-error-message {\n  padding: 5px 35px 5px 5px;\n}\n.dx-treelist .dx-row > td {\n  padding: 5px;\n}\n.dx-treelist .dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit-with-icons .dx-link {\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n  margin: 0 1px;\n}\n.dx-treelist .dx-treelist-content .dx-treelist-table .dx-row .dx-command-edit-with-icons .dx-link:not(.dx-link-icon) {\n  width: auto;\n}\n.dx-treelist .dx-treelist-rowsview .dx-virtual-row > td[style*=\"text-align: right\"]::before {\n  background-position-y: 34px;\n}\n.dx-treelist .dx-command-drag {\n  width: 32px;\n  min-width: 32px;\n}\n.dx-treelist .dx-command-drag .dx-treelist-drag-icon {\n  vertical-align: middle;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 16px;\n}\n.dx-treelist-edit-popup .dx-error-message {\n  padding: 5px;\n}\n.dx-treelist-headers .dx-texteditor-input,\n.dx-treelist-rowsview .dx-texteditor-input {\n  padding: 5px;\n  min-height: 26px;\n}\n.dx-treelist-headers .dx-numberbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-treelist-headers .dx-textbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-treelist-rowsview .dx-numberbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input,\n.dx-treelist-rowsview .dx-textbox.dx-show-clear-button.dx-texteditor-empty:not(.dx-invalid) .dx-texteditor-input {\n  padding-right: 5px;\n}\n.dx-treelist-headers .dx-lookup,\n.dx-treelist-rowsview .dx-lookup {\n  height: auto;\n}\n.dx-treelist-headers .dx-lookup-field,\n.dx-treelist-rowsview .dx-lookup-field {\n  padding-left: 5px;\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.dx-treelist-headers .dx-searchbox .dx-placeholder::before,\n.dx-treelist-headers .dx-searchbox .dx-texteditor-input,\n.dx-treelist-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-treelist-rowsview .dx-searchbox .dx-texteditor-input {\n  padding-left: 24px;\n}\n.dx-rtl .dx-treelist-headers .dx-searchbox .dx-placeholder::before,\n.dx-rtl .dx-treelist-headers .dx-searchbox .dx-texteditor-input,\n.dx-rtl .dx-treelist-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-rtl .dx-treelist-rowsview .dx-searchbox .dx-texteditor-input,\n.dx-rtl.dx-treelist-headers .dx-searchbox .dx-placeholder::before,\n.dx-rtl.dx-treelist-headers .dx-searchbox .dx-texteditor-input,\n.dx-rtl.dx-treelist-rowsview .dx-searchbox .dx-placeholder::before,\n.dx-rtl.dx-treelist-rowsview .dx-searchbox .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-editor-cell .dx-numberbox-spin-button {\n  background-color: transparent;\n}\n.dx-editor-cell .dx-icon-clear {\n  left: 0;\n}\n.dx-editor-cell .dx-texteditor,\n.dx-editor-cell .dx-texteditor .dx-texteditor-input {\n  background: #fff;\n}\n.dx-editor-cell .dx-dropdowneditor {\n  background-color: #fff;\n}\n.dx-editor-cell.dx-focused .dx-dropdowneditor-icon {\n  border-radius: 0;\n}\n.dx-editor-cell.dx-editor-inline-block:not(.dx-command-select)::before {\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.dx-treelist-checkbox-size {\n  vertical-align: middle;\n  padding-bottom: 0;\n}\n.dx-treelist-checkbox-size.dx-checkbox-checked .dx-checkbox-icon {\n  font-size: 10px;\n}\n.dx-treelist-checkbox-size .dx-checkbox-icon {\n  height: 16px;\n  width: 16px;\n}\n.dx-treelist-checkbox-size.dx-checkbox-indeterminate .dx-checkbox-icon {\n  font-size: 6px;\n}\n.dx-treelist-checkbox-size.dx-checkbox-indeterminate .dx-checkbox-icon::before {\n  border-radius: 0;\n}\n.dx-treelist-column-chooser-list .dx-empty-message {\n  color: #999;\n  padding: 0 10px;\n}\n.dx-treelist-column-chooser {\n  color: #333;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-treelist-column-chooser input,\n.dx-treelist-column-chooser textarea {\n  font-family: \"Helvetica Neue\",\"Segoe UI\",helvetica,verdana,sans-serif;\n  line-height: 1.33334;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-drag .dx-popup-content {\n  padding: 0 10px 10px;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-drag .dx-popup-content .dx-treeview-search {\n  margin-bottom: 5px;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-drag .dx-popup-content .dx-treeview-node {\n  padding-left: 20px;\n}\n.dx-treelist-column-chooser.dx-treelist-column-chooser-mode-select .dx-popup-content {\n  padding: 0 10px 10px;\n}\n.dx-treelist-column-chooser .dx-overlay-content {\n  background-color: #fff;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 1px 3px rgba(0,0,0,.2);\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-title {\n  padding-top: 7px;\n  padding-bottom: 9px;\n  background-color: transparent;\n}\n.dx-treelist-column-chooser .dx-overlay-content .dx-popup-content .dx-column-chooser-item {\n  opacity: .5;\n  margin-bottom: 5px;\n  background-color: #fff;\n  color: #959595;\n  font-weight: 400;\n  border: 1px solid #ddd;\n  padding: 5px;\n  -webkit-box-shadow: 0 1px 3px -1px rgba(0,0,0,.2);\n  box-shadow: 0 1px 3px -1px rgba(0,0,0,.2);\n}\n.dx-treelist-drag-header {\n  -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  color: #959595;\n  font-weight: 400;\n  padding: 5px;\n  border: 1px solid rgba(51,122,183,.5);\n  background-color: #fff;\n}\n.dx-treelist-columns-separator {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-treelist-columns-separator-transparent {\n  background-color: transparent;\n}\n.dx-treelist-drop-highlight > td {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-treelist-focus-overlay {\n  border: 2px solid #5c95c5;\n}\n.dx-treelist-table .dx-row .dx-command-select {\n  width: 55px;\n  min-width: 55px;\n}\n.dx-treelist-table .dx-row .dx-command-edit {\n  width: 70px;\n  min-width: 70px;\n}\n.dx-treelist-table .dx-row .dx-command-edit .dx-state-disabled.dx-link {\n  opacity: .5;\n}\n.dx-treelist-table .dx-row .dx-command-edit .dx-state-disabled.dx-link-icon {\n  opacity: .6;\n}\n.dx-treelist-table .dx-row .dx-command-expand {\n  width: 15px;\n  min-width: 15px;\n}\n.dx-treelist-table .dx-row .dx-command-expand.dx-treelist-group-space {\n  padding-top: 5px;\n}\n.dx-treelist-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused) {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-treelist-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-treelist-group-space {\n  border-right-color: rgba(0,0,0,.04);\n}\n.dx-treelist-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-command-select {\n  overflow: inherit;\n}\n.dx-treelist-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > .dx-treelist-readonly .dx-texteditor .dx-texteditor-input {\n  background-color: rgba(0,0,0,.04);\n  color: #333;\n}\n.dx-treelist-table .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td.dx-pointer-events-none {\n  background-color: transparent;\n}\n.dx-treelist-headers {\n  color: #959595;\n  font-weight: 400;\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-headers .dx-treelist-content {\n  margin-bottom: -1px;\n}\n.dx-treelist-borders .dx-treelist-headers .dx-treelist-table {\n  border-bottom-width: 1px;\n}\n.dx-treelist-headers .dx-treelist-table .dx-row > td {\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-filter-row .dx-menu .dx-overlay-content {\n  color: #333;\n}\n.dx-treelist-filter-row .dx-menu-item.dx-state-focused {\n  background-color: transparent;\n}\n.dx-treelist-filter-row .dx-menu-item.dx-state-focused::after {\n  border: 2px solid #5c95c5;\n}\n.dx-treelist-filter-row .dx-menu-item.dx-state-focused.dx-menu-item-expanded {\n  background-color: #fff;\n}\n.dx-treelist-filter-row .dx-menu-item.dx-state-focused.dx-menu-item-expanded::after {\n  border-color: transparent;\n}\n.dx-treelist-filter-row .dx-menu-item-has-submenu.dx-state-hover {\n  background-color: transparent;\n}\n.dx-treelist-filter-row .dx-menu-item-has-submenu.dx-menu-item-expanded.dx-state-hover {\n  background-color: #fff;\n}\n.dx-treelist-filter-row .dx-cell-modified::after,\n.dx-treelist-filter-row .dx-highlight-outline::after,\n.dx-treelist-filter-row .dx-treelist-invalid::after {\n  border-color: rgba(92,184,92,.5);\n}\n.dx-treelist-filter-row .dx-menu-item-content .dx-icon {\n  color: #898989;\n}\n.dx-treelist-filter-row td .dx-editor-container .dx-filter-range-content {\n  padding: 5px 5px 5px 24px;\n}\n.dx-treelist-filter-range-overlay .dx-overlay-content {\n  border: 1px solid #ddd;\n  overflow: inherit;\n  -webkit-box-shadow: 2px 2px 3px rgba(0,0,0,.15);\n  box-shadow: 2px 2px 3px rgba(0,0,0,.15);\n}\n.dx-treelist-filter-range-overlay .dx-overlay-content .dx-editor-container.dx-cell-modified::after,\n.dx-treelist-filter-range-overlay .dx-overlay-content .dx-editor-container.dx-treelist-invalid::after {\n  border-color: rgba(92,184,92,.5);\n  left: 0;\n}\n.dx-treelist-filter-range-overlay .dx-overlay-content .dx-texteditor .dx-texteditor-input {\n  background-color: #fff;\n  padding: 5px;\n}\n.dx-treelist-filter-range-overlay .dx-overlay-content .dx-texteditor.dx-state-focused::after {\n  border: 2px solid #5c95c5;\n}\n.dx-filter-menu.dx-menu {\n  background-color: transparent;\n  height: 100%;\n}\n.dx-filter-menu.dx-menu .dx-menu-item .dx-menu-item-content {\n  padding: 5px 3px 3px;\n}\n.dx-filter-menu.dx-menu .dx-menu-item .dx-menu-item-content .dx-icon {\n  margin: 0 3px;\n}\n.dx-editor-with-menu .dx-filter-menu .dx-menu-item-content .dx-icon.dx-icon-filter-operation-default,\n.dx-filter-menu .dx-menu-item-content .dx-icon.dx-icon-filter-operation-default {\n  margin-top: 2px;\n}\n.dx-cell-modified,\n.dx-treelist-invalid {\n  padding: 5px;\n}\n.dx-treelist-header-panel {\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-header-panel .dx-toolbar {\n  margin-bottom: 5px;\n}\n.dx-treelist-header-panel .dx-apply-button {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n  color: #fff;\n}\n.dx-treelist-header-panel .dx-apply-button .dx-icon {\n  color: #fff;\n}\n.dx-treelist-header-panel .dx-apply-button.dx-state-hover {\n  background-color: #449d44;\n  border-color: #4cae4c;\n}\n.dx-treelist-header-panel .dx-apply-button.dx-state-focused {\n  background-color: #3d8b3d;\n  border-color: #4cae4c;\n}\n.dx-treelist-header-panel .dx-apply-button.dx-state-active {\n  background-color: #357935;\n  border-color: #4cae4c;\n  color: #fff;\n}\n.dx-icon-column-chooser {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-icon-column-chooser::before {\n  content: \"\\f04d\";\n}\n.dx-treelist-addrow-button .dx-icon-edit-button-addrow {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist-addrow-button .dx-icon-edit-button-addrow::before {\n  content: \"\\f00b\";\n}\n.dx-treelist-cancel-button .dx-icon-edit-button-cancel {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist-cancel-button .dx-icon-edit-button-cancel::before {\n  content: \"\\f04c\";\n}\n.dx-treelist-save-button .dx-icon-edit-button-save {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-treelist-save-button .dx-icon-edit-button-save::before {\n  content: \"\\f041\";\n}\n.dx-apply-button .dx-icon-apply-filter {\n  font: 14px/14px DXIcons;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  text-align: center;\n}\n.dx-apply-button .dx-icon-apply-filter::before {\n  content: \"\\f050\";\n}\n.dx-treelist-adaptive-more {\n  width: 17px;\n  height: 17px;\n  background-position: 0 0;\n  background-size: 17px 17px;\n  padding: 0;\n  font-size: 17px;\n  text-align: center;\n  line-height: 17px;\n}\n.dx-treelist-borders .dx-treelist-rowsview,\n.dx-treelist-headers + .dx-treelist-rowsview,\n.dx-treelist-rowsview.dx-treelist-after-headers {\n  border-top: 1px solid #ddd;\n}\n.dx-treelist-rowsview .dx-row {\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n}\n.dx-treelist-rowsview .dx-row:focus {\n  outline: 0;\n}\n.dx-treelist-rowsview .dx-row.dx-edit-row:first-child > td {\n  border-top-width: 0;\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-rowsview .dx-row.dx-edit-row > td {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-rowsview .dx-row.dx-treelist-edit-form {\n  white-space: normal;\n}\n.dx-treelist-rowsview .dx-master-detail-row > .dx-master-detail-cell {\n  padding: 20px;\n}\n.dx-treelist-rowsview .dx-master-detail-row .dx-master-detail-cell,\n.dx-treelist-rowsview .dx-master-detail-row > .dx-treelist-group-space {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-treelist-rowsview .dx-master-detail-row .dx-texteditor-input {\n  padding-right: 0;\n}\n.dx-treelist-rowsview .dx-master-detail-row:not(.dx-treelist-edit-form) .dx-master-detail-cell,\n.dx-treelist-rowsview .dx-master-detail-row:not(.dx-treelist-edit-form) > .dx-treelist-group-space {\n  background-color: #fafafa;\n}\n.dx-treelist-rowsview .dx-data-row .dx-validator.dx-treelist-invalid.dx-cell-modified::after,\n.dx-treelist-rowsview .dx-data-row .dx-validator.dx-treelist-invalid.dx-treelist-invalid::after {\n  border: 1px solid rgba(217,83,79,.4);\n}\n.dx-treelist-rowsview .dx-data-row .dx-validator.dx-treelist-invalid.dx-focused.dx-cell-modified::after,\n.dx-treelist-rowsview .dx-data-row .dx-validator.dx-treelist-invalid.dx-focused.dx-treelist-invalid::after {\n  border: 1px solid #d9534f;\n}\n.dx-treelist-rowsview .dx-data-row .dx-cell-modified.dx-cell-modified::after,\n.dx-treelist-rowsview .dx-data-row .dx-cell-modified.dx-treelist-invalid::after {\n  border-color: rgba(92,184,92,.5);\n}\n.dx-treelist-rowsview .dx-overlay-wrapper.dx-invalid-message .dx-overlay-content {\n  padding: 9px 17px;\n}\n.dx-treelist-rowsview .dx-row-removed > td {\n  background-color: #ddd;\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n  color: #959595;\n}\n.dx-treelist-rowsview .dx-adaptive-detail-row .dx-adaptive-item-text {\n  padding-top: 6px;\n  padding-bottom: 6px;\n  padding-left: 6px;\n}\n.dx-treelist-rowsview .dx-adaptive-detail-row .dx-treelist-invalid {\n  border: 1px solid rgba(217,83,79,.4);\n}\n.dx-treelist-rowsview .dx-adaptive-detail-row .dx-treelist-invalid.dx-adaptive-item-text {\n  padding-top: 5px;\n  padding-bottom: 5px;\n  padding-left: 5px;\n}\n.dx-treelist-rowsview .dx-item-modified {\n  border-radius: 4px;\n  border: 2px solid rgba(92,184,92,.5);\n}\n.dx-treelist-rowsview .dx-item-modified.dx-adaptive-item-text {\n  padding-top: 4px;\n  padding-bottom: 4px;\n  padding-left: 4px;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused),\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) {\n  background-color: #5c95c5;\n  color: #fff;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-texteditor-input,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-texteditor-input,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-texteditor-input {\n  border-radius: 0;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-treelist-group-closed,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row .dx-command-edit:not(.dx-focused) .dx-link .dx-treelist-group-opened,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-treelist-group-closed,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > td:not(.dx-focused) .dx-treelist-group-opened,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-treelist-group-closed,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) .dx-treelist-group-opened {\n  color: #fff;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row .dx-command-edit .dx-link:focus {\n  background-color: #fff;\n  color: #333;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > td,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row > tr:last-child > td {\n  border-bottom: 1px solid #5c95c5;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-data-row:not(.dx-row-lines) > td,\n.dx-treelist-rowsview .dx-row-focused.dx-data-row:not(.dx-row-lines) > tr:first-child > td {\n  border-top: 1px solid #5c95c5;\n  border-bottom: 1px solid #5c95c5;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-group-row {\n  background-color: #5c95c5;\n  color: #fff;\n}\n.dx-treelist-rowsview .dx-row-focused.dx-group-row .dx-datagrid-summary-item,\n.dx-treelist-rowsview .dx-row-focused.dx-group-row .dx-treelist-group-closed,\n.dx-treelist-rowsview .dx-row-focused.dx-group-row .dx-treelist-group-opened {\n  color: #fff;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td {\n  background-color: #e6e6e6;\n  color: #333;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-treelist-group-space,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-treelist-group-space,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-treelist-group-space,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-treelist-group-space {\n  border-right-color: #e6e6e6;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-pointer-events-none,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-pointer-events-none,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-pointer-events-none,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-pointer-events-none {\n  border-left-color: #ddd;\n  border-right-color: #ddd;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > td.dx-focused,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused) > tr > td.dx-focused,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > td.dx-focused,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover > tr > td.dx-focused {\n  background-color: #fff;\n  color: #333;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > td {\n  border-bottom: 1px solid #e6e6e6;\n  border-top: 1px solid #e6e6e6;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > tr:first-child > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > tr:first-child > td {\n  border-top: 1px solid #e6e6e6;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover:not(.dx-row-lines) > tr:last-child > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):not(.dx-row-lines) > tr:last-child > td {\n  border-bottom: 1px solid #e6e6e6;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-column-lines > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-column-lines > tr > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-column-lines > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-column-lines > tr > td {\n  border-left-color: #ddd;\n  border-right-color: #ddd;\n}\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-row-lines > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused).dx-row-lines > tr > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-row-lines > td,\n.dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-focused):hover.dx-row-lines > tr > td {\n  border-bottom-color: #ddd;\n}\n.dx-treelist-rowsview.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both .dx-scrollable-wrapper .dx-scrollable-container .dx-scrollable-content {\n  padding-right: 0;\n}\n.dx-treelist-rowsview td.dx-validation-pending {\n  position: relative;\n  padding: 0;\n}\n.dx-treelist-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-treelist-rowsview td.dx-validation-pending.dx-treelist-invalid {\n  padding: 5px 24px 5px 5px;\n}\n.dx-rtl .dx-treelist-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-rtl .dx-treelist-rowsview td.dx-validation-pending.dx-treelist-invalid,\n.dx-rtl.dx-treelist-rowsview td.dx-validation-pending.dx-cell-modified,\n.dx-rtl.dx-treelist-rowsview td.dx-validation-pending.dx-treelist-invalid {\n  padding-left: 24px;\n  padding-right: 5px;\n}\n.dx-treelist-rowsview td.dx-validation-pending .dx-pending-indicator {\n  pointer-events: none;\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  width: 20px;\n  height: 20px;\n  right: 2px;\n  background-color: #fff;\n}\n.dx-rtl .dx-treelist-rowsview td.dx-validation-pending .dx-pending-indicator,\n.dx-rtl.dx-treelist-rowsview td.dx-validation-pending .dx-pending-indicator {\n  left: 2px;\n  right: auto;\n}\n.dx-treelist-rowsview td.dx-editor-cell .dx-texteditor.dx-validation-pending .dx-texteditor-input {\n  padding-right: 24px;\n}\n.dx-treelist-rowsview td.dx-editor-cell .dx-texteditor.dx-validation-pending.dx-rtl .dx-texteditor-input {\n  padding-right: 5px;\n  padding-bottom: 5px;\n  padding-left: 24px;\n}\n.dx-treelist-search-text {\n  color: #fff;\n  background-color: #337ab7;\n}\n.dx-treelist-nodata {\n  color: #999;\n  font-size: 14px;\n}\n.dx-treelist-bottom-load-panel {\n  border-top: 1px solid #ddd;\n  background-color: #fff;\n}\n.dx-treelist-pager {\n  border-top: 1px solid #ddd;\n}\n.dx-treelist-pager .dx-navigate-button,\n.dx-treelist-pager .dx-page,\n.dx-treelist-pager .dx-page-size {\n  outline: 0;\n}\n.dx-treelist-pager.dx-state-focused .dx-navigate-button:focus,\n.dx-treelist-pager.dx-state-focused .dx-page-size:focus,\n.dx-treelist-pager.dx-state-focused .dx-page:focus {\n  outline: #5c95c5 solid 2px;\n  outline-offset: -2px;\n}\n.dx-treelist-summary-item {\n  color: rgba(51,51,51,.7);\n}\n.dx-treelist-total-footer {\n  position: relative;\n  border-top: 1px solid #ddd;\n}\n.dx-treelist-revert-tooltip .dx-overlay-content {\n  background-color: #fff;\n  min-width: inherit;\n}\n.dx-treelist-revert-tooltip .dx-revert-button {\n  margin: 0 1px;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n  color: #fff;\n}\n.dx-treelist-revert-tooltip .dx-revert-button .dx-icon {\n  color: #fff;\n}\n.dx-treelist-revert-tooltip .dx-revert-button.dx-state-hover {\n  background-color: #c9302c;\n  border-color: #d43f3a;\n}\n.dx-treelist-revert-tooltip .dx-revert-button.dx-state-focused {\n  background-color: #b52b27;\n  border-color: #d43f3a;\n}\n.dx-treelist-revert-tooltip .dx-revert-button.dx-state-active {\n  background-color: #a02622;\n  border-color: #d43f3a;\n  color: #fff;\n}\n.dx-treelist-revert-tooltip .dx-revert-button > .dx-button-content {\n  padding: 5px;\n}\n.dx-toolbar-menu-section .dx-treelist-checkbox-size {\n  width: 100%;\n}\n.dx-toolbar-menu-section .dx-treelist-checkbox-size .dx-checkbox-container {\n  padding: 14px;\n}\n.dx-toolbar-menu-section .dx-treelist-checkbox-size .dx-checkbox-text {\n  padding-left: 34px;\n}\n.dx-rtl .dx-toolbar-menu-section .dx-checkbox-text {\n  padding-right: 34px;\n  padding-left: 27px;\n}\n.dx-rtl .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row):not(.dx-row-focused) > td:not(.dx-focused).dx-treelist-group-space {\n  border-left-color: rgba(0,0,0,.04);\n  border-right-color: transparent;\n}\n.dx-rtl .dx-treelist-filter-row .dx-menu .dx-menu-item-has-submenu.dx-menu-item-has-icon .dx-icon {\n  margin: 0 3px;\n}\n.dx-rtl .dx-treelist-filter-row td .dx-editor-container .dx-filter-range-content {\n  padding: 5px 24px 5px 5px;\n}\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > td,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > tr > td,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > td,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td {\n  border-right-color: #ddd;\n}\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > td:not(.dx-focused).dx-treelist-group-space,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > tr > td:not(.dx-focused).dx-treelist-group-space,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > td:not(.dx-focused).dx-treelist-group-space,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td:not(.dx-focused).dx-treelist-group-space {\n  border-left-color: #e6e6e6;\n}\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row > tr > td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > td.dx-pointer-events-none,\n.dx-rtl .dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td.dx-pointer-events-none {\n  border-left-color: #ddd;\n}\n.dx-rtl .dx-treelist-rowsview.dx-scrollable-scrollbars-alwaysvisible.dx-scrollable-both .dx-scrollable-wrapper .dx-scrollable-container .dx-scrollable-content {\n  padding-left: 0;\n}\n.dx-treelist-rowsview .dx-treelist-empty-space {\n  position: relative;\n  display: inline-block;\n  width: 14px;\n  font: 14px/1 DXIcons;\n}\n.dx-treelist-rowsview .dx-treelist-empty-space::before {\n  content: \"\\f04e\";\n  visibility: hidden;\n}\n.dx-treelist-rowsview tr:not(.dx-row-focused) .dx-treelist-empty-space {\n  color: #959595;\n}\n.dx-treelist-rowsview .dx-treelist-expanded span {\n  font: 14px/14px DXIcons;\n  text-align: center;\n  cursor: pointer;\n}\n.dx-treelist-rowsview .dx-treelist-expanded span::before {\n  content: \"\\f001\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  left: 0;\n  margin-left: -3px;\n  margin-top: -7px;\n}\n.dx-treelist-rowsview .dx-treelist-collapsed span {\n  font: 14px/14px DXIcons;\n  text-align: center;\n  cursor: pointer;\n}\n.dx-treelist-rowsview .dx-treelist-collapsed span::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  left: 0;\n  margin-left: -4px;\n  margin-top: -7px;\n}\n.dx-treelist-rowsview tr:not(.dx-row-focused).dx-selection .dx-treelist-empty-space {\n  color: #959595;\n}\n.dx-treelist-rowsview .dx-treelist-cell-expandable {\n  white-space: nowrap;\n}\n.dx-treelist-rowsview .dx-treelist-cell-expandable .dx-treelist-text-content {\n  white-space: normal;\n}\n.dx-treelist-rowsview.dx-treelist-nowrap .dx-treelist-table .dx-treelist-cell-expandable .dx-treelist-text-content {\n  white-space: nowrap;\n}\n.dx-treelist-rowsview .dx-treelist-content .dx-treelist-table .dx-row .dx-editor-cell {\n  padding-left: 5px;\n}\n.dx-treelist-checkbox-size {\n  line-height: 0;\n}\n.dx-treelist-cell-expandable .dx-select-checkbox,\n.dx-treelist-select-all .dx-select-checkbox {\n  position: absolute;\n}\n.dx-treelist-icon-container.dx-editor-inline-block {\n  position: relative;\n  padding-right: 21px;\n}\n.dx-treelist-icon-container.dx-editor-inline-block .dx-checkbox {\n  top: 50%;\n  margin-top: -8px;\n}\n.dx-treelist-select-all {\n  position: relative;\n}\n.dx-treelist-select-all .dx-checkbox {\n  left: 19px;\n  margin-top: 0;\n}\n.dx-treelist-headers .dx-header-row > .dx-treelist-select-all {\n  padding-left: 40px;\n}\n.dx-rtl .dx-treelist-rowsview .dx-treelist-collapsed,\n.dx-rtl .dx-treelist-rowsview .dx-treelist-expanded {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl .dx-treelist-rowsview .dx-treelist-table-fixed .dx-treelist-icon-container {\n  float: right;\n}\n.dx-rtl .dx-treelist-select-all .dx-checkbox {\n  left: calc(100% - 35px);\n}\n.dx-rtl .dx-treelist-headers .dx-header-row > .dx-treelist-select-all {\n  padding-right: 40px;\n  padding-left: 5px;\n}\n.dx-rtl .dx-treelist-icon-container.dx-editor-inline-block {\n  padding-left: 21px;\n  padding-right: 0;\n}\n.dx-treelist-filter-panel .dx-icon-filter,\n.dx-treelist-filter-panel .dx-treelist-filter-panel-clear-filter,\n.dx-treelist-filter-panel .dx-treelist-filter-panel-text {\n  outline: 0;\n  color: #337ab7;\n}\n.dx-pivotgrid-fields-container .dx-header-filter,\n.dx-pivotgrid-fields-container .dx-sort {\n  display: inline-block;\n}\n.dx-pivotgrid-fields-container.dx-drag .dx-area-field-content {\n  display: inline-block;\n}\n.dx-pivotgrid-fields-container.dx-drag .dx-column-indicators {\n  float: none;\n  display: inline-block;\n}\n.dx-pivotgrid-nodata {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translate(-50%,-50%);\n  transform: translate(-50%,-50%);\n}\n.dx-pivotgrid {\n  cursor: default;\n  width: 100%;\n  position: relative;\n  background-color: #fff;\n}\n.dx-pivotgrid.dx-overflow-hidden {\n  overflow: hidden;\n}\n.dx-pivotgrid .dx-area-column-cell,\n.dx-pivotgrid .dx-area-data-cell {\n  width: 100%;\n}\n.dx-pivotgrid .dx-area-data-cell {\n  position: relative;\n}\n.dx-pivotgrid table,\n.dx-pivotgrid tbody,\n.dx-pivotgrid td,\n.dx-pivotgrid tfoot,\n.dx-pivotgrid th,\n.dx-pivotgrid thead,\n.dx-pivotgrid tr {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  outline: 0;\n}\n.dx-pivotgrid table {\n  border-collapse: collapse;\n  table-layout: auto;\n  border-spacing: 0;\n}\n.dx-pivotgrid td {\n  vertical-align: top;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-pivotgrid .dx-area-description-cell {\n  position: relative;\n  background-clip: padding-box;\n  white-space: nowrap;\n}\n.dx-pivotgrid .dx-area-description-cell .dx-pivotgrid-fields-area {\n  position: absolute;\n  bottom: 0;\n}\n.dx-pivotgrid .dx-area-field-content,\n.dx-pivotgrid .dx-column-indicators {\n  display: inline-block;\n}\n.dx-pivotgrid .dx-expand-icon-container {\n  position: relative;\n  display: inline-block;\n}\n.dx-pivotgrid .dx-incompressible-fields .dx-pivotgrid-fields-area {\n  position: static;\n}\n.dx-pivotgrid .dx-incompressible-fields .dx-pivotgrid-fields-area:not(.dx-hidden) {\n  display: table-cell;\n}\n.dx-pivotgrid .dx-incompressible-fields .dx-column-indicators {\n  vertical-align: top;\n  float: none!important;\n}\n.dx-pivotgrid .dx-incompressible-fields .dx-area-field {\n  display: inline-block;\n  white-space: nowrap;\n}\n.dx-pivotgrid .dx-area-field,\n.dx-pivotgrid .dx-area-field-content {\n  white-space: nowrap;\n}\n.dx-pivotgrid .dx-popup-content .dx-column-indicators {\n  float: none!important;\n  display: inline-block;\n}\n.dx-pivotgrid .dx-popup-content .dx-area-field-content {\n  display: inline-block;\n}\n.dx-pivotgrid .dx-pivotgrid-area {\n  white-space: nowrap;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-pivotgrid .dx-pivotgrid-collapsed,\n.dx-pivotgrid .dx-pivotgrid-expanded {\n  cursor: pointer;\n}\n.dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand,\n.dx-pivotgrid .dx-pivotgrid-expanded .dx-expand {\n  display: inline-block;\n}\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-area {\n  white-space: normal;\n}\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-collapsed,\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-expanded,\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-sorted {\n  white-space: nowrap;\n}\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-collapsed > span,\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-expanded > span,\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-sorted > span {\n  white-space: normal;\n}\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-collapsed > span,\n.dx-pivotgrid .dx-word-wrap .dx-pivotgrid-expanded > span {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n.dx-pivotgridfieldchooser {\n  position: relative;\n  background-color: #fff;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  overflow: hidden;\n  height: 100%;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container.dx-layout-0,\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container.dx-layout-2 {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container.dx-layout-2 .dx-row:first-child {\n  -webkit-box-flex: 3;\n  -ms-flex-positive: 3;\n  flex-grow: 3;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container.dx-layout-2 .dx-row:nth-child(2) {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-flex: 4;\n  -ms-flex-positive: 4;\n  flex-grow: 4;\n}\n.dx-pivotgridfieldchooser .dx-col {\n  width: 50%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-pivotgridfieldchooser .dx-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  height: 0;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container .dx-row:first-child {\n  -webkit-box-flex: 2;\n  -ms-flex-positive: 2;\n  flex-grow: 2;\n}\n.dx-pivotgridfieldchooser .dx-pivotgridfieldchooser-container .dx-row:nth-child(2) {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-pivotgridfieldchooser .dx-area-caption {\n  vertical-align: middle;\n}\n.dx-pivotgrid-action {\n  cursor: pointer;\n}\n.dx-pivotgrid-drag-action {\n  -ms-touch-action: pinch-zoom;\n  touch-action: pinch-zoom;\n}\n.dx-pivotgrid-scrollbar-measure-element {\n  position: absolute;\n  top: -9999px;\n  width: 100px;\n  height: 100px;\n  overflow: scroll;\n}\n.dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-vertical {\n  margin-top: -4px;\n  margin-left: -1px;\n  height: 2px;\n}\n.dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-vertical.dx-position-indicator-last {\n  margin-top: -3px;\n}\n.dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-horizontal {\n  margin-left: -3px;\n  width: 2px;\n}\n.dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-horizontal.dx-position-indicator-last {\n  margin-left: 3px;\n}\n.dx-pivotgrid-fields-container .dx-area-fields {\n  position: relative;\n}\n.dx-pivotgrid-fields-container .dx-sort {\n  color: #959595;\n  font-size: 14px;\n  width: 14px;\n}\n.dx-pivotgrid-fields-container .dx-sort-up {\n  font: 14px/1 DXIcons;\n}\n.dx-pivotgrid-fields-container .dx-sort-up::before {\n  content: \"\\f051\";\n}\n.dx-pivotgrid-fields-container .dx-sort-down {\n  font: 14px/1 DXIcons;\n}\n.dx-pivotgrid-fields-container .dx-sort-down::before {\n  content: \"\\f052\";\n}\n.dx-pivotgrid-fields-container .dx-header-filter {\n  color: #959595;\n  font: 14px/1 DXIcons;\n  width: 14px;\n}\n.dx-pivotgrid-fields-container .dx-header-filter::before {\n  content: \"\\f050\";\n}\n.dx-pivotgrid-fields-container .dx-header-filter-empty {\n  color: rgba(149,149,149,.5);\n}\n.dx-pivotgrid-fields-container .dx-area-field {\n  cursor: pointer;\n}\n.dx-pivotgrid-fields-container.dx-drag {\n  opacity: .8;\n}\n.dx-pivotgrid-fields-container.dx-drag .dx-area-field.dx-area-box {\n  -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  box-shadow: 0 0 1px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.2);\n  border: 1px solid rgba(51,122,183,.5);\n}\n.dx-pivotgrid-fields-container .dx-area-field.dx-area-box {\n  background-color: #fff;\n  margin-bottom: 4px;\n  border: 1px solid #ddd;\n  padding: 5px 6px;\n}\n.dx-pivotgrid-fields-container .dx-drag-source {\n  opacity: .5;\n}\n.dx-pivotgrid-fields-container .dx-column-indicators {\n  vertical-align: bottom;\n  margin-left: 4px;\n  line-height: 16px;\n}\n.dx-pivotgrid-fields-container .dx-area-field-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  vertical-align: bottom;\n}\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-fields-area,\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-fields-area {\n  overflow: hidden;\n}\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar,\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar {\n  margin-right: 10px;\n  float: right;\n  display: inline-block;\n}\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar .dx-button,\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar .dx-button {\n  margin-top: 8px;\n}\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar .dx-pivotgrid-field-chooser-button,\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar .dx-pivotgrid-field-chooser-button {\n  margin-right: 4px;\n}\n.dx-pivotgrid .dx-area-description-cell.dx-pivotgrid-background,\n.dx-pivotgrid .dx-column-header,\n.dx-pivotgrid .dx-data-header {\n  background-color: rgba(221,221,221,.2);\n}\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-fields-area-head tr > td:first-child {\n  padding-left: 0;\n}\n.dx-pivotgrid .dx-filter-header .dx-area-field-container {\n  border-spacing: 4px 4px;\n  border-collapse: separate;\n}\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-fields-area-head td {\n  padding: 2px;\n}\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-fields-area-head tr > td:first-child {\n  padding-left: 2px;\n}\n.dx-pivotgrid .dx-area-field.dx-area-box {\n  margin-bottom: 0;\n}\n.dx-pivotgrid.dx-row-lines .dx-pivotgrid-area td {\n  border-top: 1px solid #ddd;\n}\n.dx-pivotgrid.dx-row-lines .dx-pivotgrid-area-data tr:first-child > td {\n  border-top-width: 0;\n}\n.dx-pivotgrid .dx-area-description-cell,\n.dx-pivotgrid .dx-area-row-cell {\n  border-right: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-area-description-cell .dx-pivotgrid-toolbar .dx-button {\n  margin: 1px;\n}\n.dx-pivotgrid .dx-area-description-cell .dx-pivotgrid-toolbar .dx-button:not(.dx-state-hover):not(.dx-state-active) {\n  border-color: transparent;\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-pivotgrid .dx-area-column-cell,\n.dx-pivotgrid .dx-area-description-cell,\n.dx-pivotgrid .dx-bottom-border {\n  border-bottom: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-area td {\n  color: #959595;\n  padding: 5px 6px;\n}\n.dx-pivotgrid .dx-pivotgrid-fields-area-head td {\n  position: relative;\n  border: none;\n  padding: 6px 2px;\n}\n.dx-pivotgrid .dx-pivotgrid-fields-area-head tr > td:first-child {\n  padding-left: 6px;\n}\n.dx-pivotgrid .dx-pivotgrid-fields-area-head tr > td:last-child {\n  padding-right: 6px;\n}\n.dx-pivotgrid .dx-pivotgrid-fields-area-head .dx-empty-area-text {\n  white-space: nowrap;\n  padding: 5px 0;\n  border: 1px solid transparent;\n  color: #525252;\n}\n.dx-pivotgrid .dx-group-connector {\n  position: absolute;\n  width: 2px;\n  top: 50%;\n  height: 2px;\n  margin-top: -1px;\n  background-color: #ddd;\n}\n.dx-pivotgrid .dx-group-connector.dx-group-connector-prev {\n  left: 0;\n}\n.dx-pivotgrid .dx-group-connector.dx-group-connector-next {\n  right: 0;\n}\n.dx-pivotgrid .dx-virtual-content {\n  display: none;\n}\n.dx-pivotgrid .dx-virtual-mode .dx-virtual-content {\n  position: relative;\n  overflow: hidden;\n  display: block;\n}\n.dx-pivotgrid .dx-virtual-mode .dx-virtual-content table td {\n  color: transparent;\n  background-color: transparent!important;\n}\n.dx-pivotgrid .dx-virtual-mode .dx-virtual-content table td span {\n  visibility: hidden;\n}\n.dx-pivotgrid .dx-virtual-mode table {\n  position: absolute;\n}\n.dx-pivotgrid .dx-pivotgrid-area-data {\n  position: relative;\n}\n.dx-pivotgrid .dx-pivotgrid-area-data tbody td {\n  text-align: right;\n  color: #333;\n  white-space: nowrap;\n  border-left: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-area-data tbody td:first-child {\n  border-left: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-area-data tbody tr:first-child .dx-grandtotal,\n.dx-pivotgrid .dx-pivotgrid-area-data tbody tr:first-child .dx-total {\n  border-top-width: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-vertical-headers .dx-expand-border {\n  border-top: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-vertical-headers .dx-last-cell {\n  border-right: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-vertical-headers td {\n  min-width: 50px;\n  border-right: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-vertical-headers tr:first-child td {\n  border-top: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-vertical-headers .dx-pivotgrid-fields-area-head td:last-child {\n  border-right: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-area-data .dx-row-total,\n.dx-pivotgrid .dx-pivotgrid-vertical-headers .dx-row-total {\n  border-top: 1px solid #ddd;\n  border-bottom: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-area-tree-view .dx-total {\n  border-bottom: none;\n}\n.dx-pivotgrid .dx-area-tree-view td.dx-white-space-column {\n  border-top: 1px solid transparent;\n  background-color: rgba(221,221,221,.2);\n  padding: 0;\n  width: 16px;\n  min-width: 16px;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers.dx-vertical-scroll {\n  border-right: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers td {\n  text-align: center;\n  border: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers td.dx-pivotgrid-collapsed,\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers td.dx-pivotgrid-expanded {\n  text-align: left;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers td:first-child {\n  border-left: 0;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers tr:first-child td {\n  border-top: 0;\n}\n.dx-pivotgrid .dx-expand-icon-container {\n  margin-left: -5px;\n  margin-right: 0;\n  width: 14px;\n}\n.dx-pivotgrid .dx-pivotgrid-horizontal-headers:last-child {\n  border-bottom: 0;\n}\n.dx-pivotgrid .dx-area-description-cell,\n.dx-pivotgrid .dx-column-header,\n.dx-pivotgrid .dx-data-header,\n.dx-pivotgrid .dx-total {\n  background-color: rgba(221,221,221,.2);\n}\n.dx-pivotgrid .dx-grandtotal {\n  background-color: #f5f5f5;\n}\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-description-cell,\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-row-cell,\n.dx-pivotgrid .dx-pivotgrid-border .dx-data-header,\n.dx-pivotgrid .dx-pivotgrid-border .dx-filter-header {\n  border-left: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-column-cell,\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-data-cell,\n.dx-pivotgrid .dx-pivotgrid-border .dx-column-header,\n.dx-pivotgrid .dx-pivotgrid-border .dx-filter-header {\n  border-right: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-border .dx-filter-header {\n  border-top: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-pivotgrid-border .dx-filter-header td {\n  display: inline-block;\n}\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-data-cell,\n.dx-pivotgrid .dx-pivotgrid-border .dx-area-row-cell {\n  border-bottom: 1px solid #ddd;\n}\n.dx-pivotgrid .dx-icon-sorted {\n  display: inline-block;\n  margin-left: 5px;\n  width: 14px;\n}\n.dx-pivotgrid .dx-popup-content {\n  padding: 6px;\n}\n.dx-pivotgrid .dx-popup-content .dx-pivotgrid-fields-area-head td {\n  padding: 0 2px;\n}\n.dx-pivotgrid.dx-context-menu .dx-pivotgrid.dx-submenu {\n  width: auto;\n}\n.dx-pivotgridfieldchooser .dx-area-fields {\n  overflow: hidden;\n}\n.dx-pivotgridfieldchooser .dx-treeview-item .dx-icon {\n  vertical-align: middle;\n  margin: 0 5px 1px 0;\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  font-size: 16px;\n  text-align: center;\n  line-height: 16px;\n}\n.dx-pivotgridfieldchooser .dx-treeview-search {\n  margin: 5px;\n}\n.dx-pivotgridfieldchooser .dx-area-icon {\n  display: inline-block;\n  vertical-align: middle;\n  width: 16px;\n  height: 16px;\n}\n.dx-pivotgridfieldchooser .dx-area {\n  padding: 5px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-pivotgridfieldchooser .dx-area>.dx-scrollable,\n.dx-pivotgridfieldchooser .dx-area>.dx-scrollable>.dx-scrollable-wrapper,\n.dx-pivotgridfieldchooser .dx-area>.dx-treeview,\n.dx-pivotgridfieldchooser .dx-area>.dx-treeview>.dx-scrollable,\n.dx-pivotgridfieldchooser .dx-area>.dx-treeview>.dx-scrollable-wrapper,\n.dx-pivotgridfieldchooser .dx-area>.dx-treeview>.dx-scrollable>.dx-scrollable-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  height: 0;\n}\n.dx-pivotgridfieldchooser .dx-area > .dx-scrollable > .dx-scrollable-wrapper > .dx-scrollable-container,\n.dx-pivotgridfieldchooser .dx-area > .dx-treeview > .dx-scrollable > .dx-scrollable-wrapper > .dx-scrollable-container,\n.dx-pivotgridfieldchooser .dx-area > .dx-treeview > .dx-scrollable-wrapper > .dx-scrollable-container {\n  height: auto;\n}\n.dx-pivotgridfieldchooser .dx-area .dx-area-fields {\n  margin-top: 3px;\n  border: 1px solid #ddd;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  height: 0;\n}\n.dx-pivotgridfieldchooser .dx-area-fields-header .dx-area-caption {\n  -ms-flex-item-align: center;\n  align-self: center;\n}\n.dx-pivotgridfieldchooser .dx-area-fields[group] {\n  padding: 5px;\n  background-color: rgba(221,221,221,.2);\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-pivotgridfieldchooser .dx-area-fields.dx-drag-target {\n  border-color: #337ab7;\n}\n.dx-pivotgridfieldchooser .dx-area-icon-all {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAJElEQVQoz2P8z4AfsDAwJELVzGfExmIiYAAD5QoYRx1JL0cCAJeiFh8Qq9chAAAAAElFTkSuQmCC\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-area-icon-filter {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAWElEQVQoz83RsQqAMAxF0fepFxzEQRz8e1sah0JTamhXeVtyCCSRaR6ZTGQsSHJgcRyk1YQ7aBcuB+KkDO0D9UDsHcmARiC2BqiVEfg2+jOoF30+YPnNWV4jV/jo04VE6gAAAABJRU5ErkJggg==\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-area-icon-row {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAI0lEQVQoz2P4z4AfAlHCfwjEzqKPAsKObIBA7Cz6KBgGIQkAQ8IdQJKOGQIAAAAASUVORK5CYII=\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-area-icon-column {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAIElEQVQoz2P4z4AfAlHCfwgEshogEFmMPgpGHUkfRwIAQ8IdQALkrHMAAAAASUVORK5CYII=\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-area-icon-data,\n.dx-pivotgridfieldchooser .dx-icon-measure {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAARElEQVQoz2P4z4AfMhClIOE/NkiSAl+ooG8CQwKIzwChEQpQlGBXgKYEwxeoSrB6k7ACfFYkYPgDXQGKdAItQpKi2AQAaDQFJxj4SdQAAAAASUVORK5CYII=\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-icon-dimension {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAH0lEQVQoz2P4z4AfMlBHQcJ/MESjqasAKxx5bqAosgCZ3QSYpC33dQAAAABJRU5ErkJggg==\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-icon-hierarchy {\n  background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAMUlEQVQoz2P4z4AfMlBXQcJ/EKShggQoxKEAojsBwxQqKUjACpEVoOhGNYVKCiiKLAATcARoA49V5wAAAABJRU5ErkJggg==\") center center no-repeat;\n}\n.dx-pivotgridfieldchooser .dx-icon-hierarchy::before {\n  content: none;\n}\n.dx-rtl .dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-horizontal {\n  margin-left: -3px;\n}\n.dx-rtl .dx-pivotgrid-fields-container .dx-position-indicator.dx-position-indicator-horizontal.dx-position-indicator-last {\n  margin-left: 1px;\n}\n.dx-rtl .dx-pivotgrid-fields-container .dx-column-indicators {\n  margin-left: 0;\n  margin-right: 4px;\n}\n.dx-rtl.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar,\n.dx-rtl.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar {\n  margin-right: 0;\n  margin-left: 10px;\n  float: left;\n}\n.dx-rtl.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar .dx-pivotgrid-field-chooser-button,\n.dx-rtl.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar .dx-pivotgrid-field-chooser-button {\n  margin-right: 0;\n  margin-left: 4px;\n}\n.dx-rtl.dx-pivotgrid .dx-column-header .dx-pivotgrid-fields-area-head tr > td:first-child {\n  padding-left: 2px;\n  padding-right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-fields-area-head tr > td {\n  padding: 6px 2px;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-fields-area-head tr > td:first-child {\n  padding-right: 6px;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-fields-area-head tr > td:last-child {\n  padding-left: 6px;\n}\n.dx-rtl.dx-pivotgrid .dx-group-connector.dx-group-connector-prev {\n  left: initial;\n  right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-group-connector.dx-group-connector-next {\n  right: initial;\n  left: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-area-description-cell,\n.dx-rtl.dx-pivotgrid .dx-area-row-cell {\n  border-left: 1px solid #ddd;\n  border-right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-area-data.dx-scrollable-native .dx-scrollable-content {\n  float: none;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-area-data tbody td {\n  border-left: 0;\n  border-right: 1px solid #ddd;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-area-data tbody td:first-child {\n  border-left: 1px solid #ddd;\n  border-right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-vertical-headers td {\n  border-right: 0;\n  border-left: 1px solid #ddd;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-vertical-headers .dx-last-cell {\n  border-left: 0;\n  border-right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-horizontal-headers.dx-vertical-scroll {\n  border-right: 0;\n  border-left: 1px solid #ddd;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-horizontal-headers.dx-pivotgrid-area {\n  border-left: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-horizontal-headers td:first-child {\n  border-left: 1px solid #ddd;\n  border-right: 0;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-horizontal-headers td.dx-pivotgrid-collapsed,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-horizontal-headers td.dx-pivotgrid-expanded {\n  text-align: right;\n}\n.dx-rtl.dx-pivotgrid .dx-expand-icon-container {\n  margin-left: 0;\n  margin-right: -5px;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand-icon-container {\n  -webkit-transform: scaleX(-1);\n  transform: scaleX(-1);\n}\n.dx-rtl.dx-pivotgrid .dx-icon-sorted {\n  margin-left: 0;\n  margin-right: 5px;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgridfieldchooser-container .dx-col {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-area-description-cell,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-area-row-cell,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-data-header {\n  border-right: 1px solid #ddd;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-area-column-cell,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-area-data-cell,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-column-header {\n  border-left: 1px solid #ddd;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-column-header {\n  border-right: none;\n}\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-area-row-cell,\n.dx-rtl.dx-pivotgrid .dx-pivotgrid-border .dx-data-header {\n  border-left: none;\n}\n.dx-pivotgrid .dx-area-description-cell .dx-button-content,\n.dx-pivotgrid .dx-column-header .dx-pivotgrid-toolbar .dx-button-content,\n.dx-pivotgrid .dx-filter-header .dx-pivotgrid-toolbar .dx-button-content {\n  padding: 5px;\n}\n.dx-pivotgrid .dx-expand-icon-container {\n  font: 14px/1 DXIcons;\n}\n.dx-pivotgrid .dx-expand-icon-container::before {\n  content: \"\\f04e\";\n  visibility: hidden;\n}\n.dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand {\n  font: 14px/14px DXIcons;\n  text-align: center;\n  color: #959595;\n}\n.dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-pivotgrid .dx-pivotgrid-expanded .dx-expand {\n  font: 14px/14px DXIcons;\n  text-align: center;\n  color: #959595;\n}\n.dx-pivotgrid .dx-pivotgrid-expanded .dx-expand::before {\n  content: \"\\f001\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-pivotgrid-fields-container .dx-position-indicator {\n  background-color: gray;\n}\n.dx-context-menu.dx-overlay-content {\n  overflow: inherit;\n  position: absolute;\n}\n.dx-context-menu .dx-menu-items-container {\n  padding: 1px;\n}\n.dx-context-menu .dx-menu-item .dx-submenu {\n  position: absolute;\n  z-index: 1003;\n}\n.dx-context-menu {\n  color: #333;\n}\n.dx-context-menu .dx-submenu {\n  background-color: #fff;\n  border: 1px solid #ddd;\n  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,.15);\n  box-shadow: 0 2px 2px rgba(0,0,0,.15);\n}\n.dx-context-menu .dx-menu-item-popout {\n  font: 14px/14px DXIcons;\n  text-align: center;\n}\n.dx-context-menu .dx-menu-item-popout::before {\n  content: \"\\f04e\";\n  position: absolute;\n  display: block;\n  width: 14px;\n  top: 50%;\n  margin-top: -7px;\n  left: 50%;\n  margin-left: -7px;\n}\n.dx-context-menu .dx-menu-separator {\n  height: 1px;\n  margin: 5px 0;\n  background-color: #ddd;\n}\n.dx-context-menu .dx-menu-no-icons > .dx-menu-item-wrapper > .dx-menu-item > .dx-menu-item-content .dx-menu-item-text {\n  padding-left: 3px;\n}\n.dx-rtl .dx-context-menu .dx-menu-no-icons > .dx-menu-item-wrapper > .dx-menu-item > .dx-menu-item-content .dx-menu-item-text,\n.dx-rtl.dx-context-menu .dx-menu-no-icons > .dx-menu-item-wrapper > .dx-menu-item > .dx-menu-item-content .dx-menu-item-text {\n  padding-right: 3px;\n  padding-left: 23px;\n}\n.dx-context-menu.dx-rtl .dx-menu-item-content {\n  padding: 3px 1px 3px 3px;\n}\n.dx-context-menu.dx-rtl .dx-menu-item-content .dx-menu-item-text {\n  padding: 0 17px 3px 23px;\n}\n.dx-multiview-wrapper {\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n  -ms-touch-action: pinch-zoom pan-y;\n  touch-action: pinch-zoom pan-y;\n}\n.dx-multiview-item-container {\n  position: relative;\n  overflow: visible;\n  width: 100%;\n  height: 100%;\n}\n.dx-multiview-item-container .dx-empty-message {\n  text-align: center;\n}\n.dx-multiview-item {\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n  left: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n}\n.dx-multiview-item.dx-item-selected {\n  position: relative;\n}\n.dx-multiview-item-content {\n  width: 100%;\n  height: 100%;\n}\n.dx-multiview-item-hidden {\n  top: -9999px;\n  left: -9999px;\n  visibility: hidden;\n}\n.dx-multiview-item-hidden .dx-accordion-item-opened .dx-accordion-item-body {\n  visibility: hidden;\n}\n.dx-tabpanel-tabs {\n  width: 100%;\n}\n.dx-tabpanel-tabs .dx-tabs {\n  height: 100%;\n}\n.dx-tabpanel-container {\n  width: 100%;\n  height: 100%;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tab .dx-tab-content {\n  color: #333;\n}\n.dx-tabpanel:not(.dx-empty-collection) .dx-multiview-wrapper {\n  border-top: none;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tab.dx-tab-selected {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tabs {\n  display: block;\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tab {\n  width: 140px;\n  padding: 4px;\n  color: #ddd;\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tab.dx-state-active.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel>.dx-tabpanel-tabs .dx-tab,\n.dx-tabpanel>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-tabpanel>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabpanel>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-tabpanel>.dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabpanel > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tabs-nav-button-left {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabpanel > .dx-tabpanel-tabs .dx-tabs-nav-button-right {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n}\n.dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tab {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tab.dx-state-active.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tab,\n.dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-tabpanel.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabpanel.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab .dx-tabs-nav-button-left {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabpanel.dx-disabled-focused-tab .dx-tabs-nav-button-right {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tab.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7;\n  box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs {\n  display: block;\n  -webkit-box-shadow: inset 0 -1px #337ab7,inset 0 1px,inset -1px 0,inset 1px 0;\n  box-shadow: inset 0 -1px #337ab7,inset 0 1px,inset -1px 0,inset 1px 0;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tab {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tab.dx-state-active.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 1px 0 #337ab7,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tab,\n.dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-tabpanel.dx-state-focused>.dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset -1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #337ab7,inset 1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs-nav-button-left {\n  -webkit-box-shadow: inset 0 -1px #337ab7,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #337ab7,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabpanel.dx-state-focused > .dx-tabpanel-tabs .dx-tabs-nav-button-right {\n  -webkit-box-shadow: inset 0 -1px #337ab7,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #337ab7,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px,inset -1px 0,inset 1px 0;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tab {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tab.dx-state-active.dx-state-focused {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 1px 0 #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tab,\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):only-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-rtl.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):first-of-type,\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab>.dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type,\n.dx-rtl.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab > .dx-tabpanel-tabs .dx-tabs-stretched.dx-tabs-expanded .dx-tab:not(.dx-state-focused,.dx-tab-selected):last-of-type {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 -1px #ddd,inset 1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab .dx-tabs-nav-button-left {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabpanel.dx-state-focused.dx-disabled-focused-tab .dx-tabs-nav-button-right {\n  -webkit-box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 0 -1px #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused .dx-tab.dx-state-focused.dx-state-disabled {\n  -webkit-box-shadow: inset 0 -1px #aaa,inset 0 1px #aaa,inset -1px 0 #aaa,inset 1px 0 #aaa;\n  box-shadow: inset 0 -1px #aaa,inset 0 1px #aaa,inset -1px 0 #aaa,inset 1px 0 #aaa;\n}\n.dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd,inset -1px 0 #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-rtl.dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd,inset 1px 0 #ddd;\n}\n.dx-tabpanel.dx-state-focused .dx-tab.dx-state-focused + .dx-tab.dx-tab-selected:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused .dx-tab.dx-state-focused+.dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-rtl.dx-tabpanel.dx-state-focused .dx-tab.dx-state-focused+.dx-tab.dx-tab-selected:not(.dx-state-focused),\n.dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused) {\n  -webkit-box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset 1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-rtl .dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused),\n.dx-rtl.dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected.dx-focused-next-tab:not(.dx-state-focused) {\n  -webkit-box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd;\n  box-shadow: inset -1px 0 #ddd,inset 0 1px #ddd;\n}\n.dx-tabpanel .dx-multiview-wrapper {\n  border: 1px solid #ddd;\n}\n.dx-tabpanel .dx-multiview-wrapper.dx-state-focused {\n  border-color: #337ab7;\n}\n.dx-fileuploader.dx-state-disabled .dx-fileuploader-input {\n  display: none;\n}\n.dx-fileuploader-wrapper {\n  height: 100%;\n  width: 100%;\n  overflow: hidden;\n}\n.dx-fileuploader-container {\n  display: table;\n  table-layout: fixed;\n  height: 100%;\n  width: 100%;\n}\n.dx-fileuploader-input-wrapper::after,\n.dx-fileuploader-input-wrapper::before {\n  display: table;\n  content: \"\";\n  line-height: 0;\n  width: 100%;\n}\n.dx-fileuploader-input-wrapper::after {\n  clear: both;\n  padding-bottom: 1em;\n  margin-bottom: -1em;\n}\n.dx-fileuploader-input-wrapper::before {\n  padding-top: 1em;\n  margin-top: -1em;\n}\n.dx-fileuploader-input-wrapper .dx-button {\n  float: left;\n}\n.dx-fileuploader-input-wrapper .dx-button + .dx-button {\n  margin-left: 12px;\n}\n.dx-fileuploader-button {\n  position: relative;\n}\n.dx-fileuploader-button .dx-fileuploader-input {\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  top: 0;\n  left: 0;\n  cursor: pointer;\n}\n.dx-fileuploader-button .dx-fileuploader-input::-ms-browse,\n.dx-fileuploader-button .dx-fileuploader-input::-webkit-file-upload-button {\n  cursor: pointer;\n}\n.dx-fileuploader-content {\n  display: table-row-group;\n  vertical-align: middle;\n}\n.dx-fileuploader-content > .dx-fileuploader-upload-button {\n  margin-top: 10px;\n}\n.dx-fileuploader-empty .dx-fileuploader-content > .dx-fileuploader-upload-button {\n  display: none;\n}\n.dx-fileuploader-input-content {\n  width: 100%;\n  display: table;\n}\n.dx-fileuploader-show-file-list .dx-fileuploader-files-container {\n  padding-top: 22px;\n}\n.dx-fileuploader-file-container {\n  width: 100%;\n  padding: 4px 0;\n}\n.dx-fileuploader-file-container .dx-button {\n  width: 28px;\n  height: 28px;\n  margin-right: 10px;\n}\n.dx-fileuploader-file-container .dx-button.dx-state-invisible {\n  margin-right: 0;\n}\n.dx-fileuploader-button-container,\n.dx-fileuploader-input-container {\n  display: table-cell;\n  vertical-align: middle;\n}\n.dx-fileuploader-input-container {\n  height: 100%;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n}\n.dx-fileuploader-input {\n  opacity: 0;\n  width: 100%;\n  margin: 0;\n  cursor: default;\n}\n.dx-fileuploader-input-label {\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%;\n  cursor: default;\n}\n.dx-fileuploader-input-label::before {\n  content: \"\";\n  position: absolute;\n  top: -50%;\n  overflow: hidden;\n  cursor: default;\n}\n.dx-fileuploader-button-container {\n  display: table-cell;\n  vertical-align: middle;\n}\n.dx-fileuploader-file-info {\n  float: left;\n  width: 100%;\n}\n.dx-fileuploader-file-status-message {\n  float: left;\n  font-size: 12px;\n  height: 16px;\n}\n.dx-fileuploader .dx-progressbar {\n  float: left;\n  width: 100%;\n  height: 22px;\n  margin-top: -6px;\n}\n.dx-rtl .dx-fileuploader .dx-fileuploader-button,\n.dx-rtl.dx-fileuploader .dx-fileuploader-button {\n  float: right;\n}\n.dx-rtl .dx-fileuploader .dx-fileuploader-file-container .dx-fileuploader-button,\n.dx-rtl.dx-fileuploader .dx-fileuploader-file-container .dx-fileuploader-button {\n  margin-left: 10px;\n  margin-right: 0;\n}\n.dx-rtl .dx-fileuploader .dx-fileuploader-file-name,\n.dx-rtl .dx-fileuploader .dx-fileuploader-file-size,\n.dx-rtl .dx-fileuploader .dx-fileuploader-file-status-message,\n.dx-rtl.dx-fileuploader .dx-fileuploader-file-name,\n.dx-rtl.dx-fileuploader .dx-fileuploader-file-size,\n.dx-rtl.dx-fileuploader .dx-fileuploader-file-status-message {\n  float: right;\n}\n.dx-rtl .dx-fileuploader .dx-fileuploader-file-size,\n.dx-rtl.dx-fileuploader .dx-fileuploader-file-size {\n  margin-right: 4px;\n}\n.dx-fileuploader-invalid .dx-fileuploader-file-status-message {\n  height: auto;\n  color: #d9534f;\n}\n.dx-fileuploader-invalid .dx-fileuploader-file-status-message span {\n  display: block;\n  margin-bottom: 2px;\n}\n.dx-fileuploader-invalid .dx-fileuploader-file-status-message span:last-child {\n  margin-bottom: 0;\n}\n.dx-fileuploader-invalid .dx-fileuploader-button-container {\n  vertical-align: top;\n}\n.dx-fileuploader-invalid .dx-fileuploader-cancel-button {\n  margin-top: 5px;\n}\n.dx-fileuploader-wrapper {\n  padding: 2px;\n}\n.dx-fileuploader-content > .dx-fileuploader-upload-button {\n  margin-left: 3px;\n  margin-right: 3px;\n}\n.dx-fileuploader-input-wrapper {\n  padding: 2px 0;\n  border: 3px dashed transparent;\n}\n.dx-fileuploader.dx-state-disabled .dx-fileuploader-input-label {\n  position: relative;\n}\n.dx-fileuploader-dragover .dx-fileuploader-input-wrapper {\n  border: none;\n  padding: 0;\n}\n.dx-fileuploader-dragover .dx-fileuploader-input-wrapper .dx-fileuploader-button {\n  display: none;\n}\n.dx-fileuploader-dragover .dx-fileuploader-input-container {\n  display: block;\n  width: 100%;\n}\n.dx-fileuploader-dragover .dx-fileuploader-input {\n  display: block;\n  width: 100%;\n  padding: 7px 3px 8px;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-fileuploader-dragover .dx-fileuploader-input-label {\n  text-align: center;\n  padding: 4px;\n  border: 3px dashed #ddd;\n}\n.dx-fileuploader-file-size,\n.dx-fileuploader-file-status-message {\n  color: #999;\n}\n.dx-fileuploader-input {\n  padding: 2px 0;\n}\n.dx-fileuploader-input-label {\n  padding: 5px 4px;\n  color: #333;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-fileuploader-files-container {\n  width: 100%;\n  padding: 12px 3px 0;\n}\n.dx-fileuploader-empty .dx-fileuploader-files-container {\n  padding: 0;\n}\n.dx-invalid .dx-fileuploader-files-container {\n  padding-top: 50px;\n}\n.dx-fileuploader-files-container .dx-fileuploader-button .dx-button-content {\n  padding: 0;\n}\n.dx-fileuploader-file {\n  display: table-cell;\n  width: 100%;\n  white-space: nowrap;\n  padding-top: 5px;\n  line-height: 13px;\n}\n.dx-fileuploader-file-name {\n  float: left;\n  max-width: 100%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  padding-bottom: 1px;\n  color: #333;\n}\n.dx-fileuploader-file-size {\n  margin-left: 4px;\n  float: left;\n  vertical-align: super;\n  font-size: 10px;\n  padding-bottom: 1px;\n}\n.dx-scheduler-appointment-popup .dx-popup-content {\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.dx-scheduler-appointment-popup .dx-scrollable-content {\n  padding-top: 20px;\n}\n.dx-scheduler-appointment-popup .dx-form.dx-recurrence-editor-container .dx-scrollable-content {\n  padding-top: 0;\n}\n.dx-scheduler .dx-empty-message {\n  line-height: normal;\n}\n.dx-scheduler-all-day-panel td {\n  padding: 0;\n}\n.dx-scheduler-appointment-collector {\n  position: absolute;\n  display: block;\n  cursor: pointer;\n  margin: 3px 0 0 3px;\n}\n.dx-scheduler-appointment-collector .dx-button-content,\n.dx-scheduler-appointment-collector .dx-scheduler-appointment-collector-content {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  margin: 0 4px;\n  padding: 0;\n}\n.dx-scheduler-appointment-collector .dx-button-content::after,\n.dx-scheduler-appointment-collector .dx-scheduler-appointment-collector-content::after {\n  display: inline-block;\n  position: relative;\n  height: 100%;\n  content: \"\";\n  vertical-align: middle;\n  font-size: 0;\n}\n.dx-scheduler-appointment-collector.dx-button.dx-button-default {\n  padding: 0;\n  max-width: none;\n}\n.dx-scheduler-work-space-mouse-selection .dx-scheduler-all-day-appointments,\n.dx-scheduler-work-space-mouse-selection .dx-scheduler-fixed-appointments,\n.dx-scheduler-work-space-mouse-selection .dx-scheduler-scrollable-appointments {\n  pointer-events: none;\n}\n.dx-rtl .dx-scheduler-appointment-collector {\n  margin: 3px 3px 0 0;\n}\n@media (max-width:450px) {\n  .dx-scheduler-adaptive .dx-scheduler-view-switcher-label {\n    display: none;\n  }\n}\n.dx-scheduler-adaptive .dx-scheduler-work-space-week .dx-scheduler-header-panel-cell {\n  white-space: pre-wrap;\n  line-height: 1.3;\n}\n.dx-scheduler-adaptive .dx-scheduler-appointment-collector {\n  margin: 0;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-popup-content,\n.dx-scheduler-overlay-panel .dx-popup-content {\n  padding: 0;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-popup-content .dx-list-item,\n.dx-scheduler-overlay-panel .dx-popup-content .dx-list-item {\n  width: 360px;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-popup-content .dx-list-item .dx-list-item-content,\n.dx-scheduler-overlay-panel .dx-popup-content .dx-list-item .dx-list-item-content {\n  padding: 5px;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-overlay-content,\n.dx-scheduler-overlay-panel .dx-overlay-content {\n  -webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,.15);\n  box-shadow: 0 0 15px 0 rgba(0,0,0,.15);\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item .dx-tooltip-appointment-item-marker-body,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item .dx-tooltip-appointment-item-marker-body {\n  margin-top: 7px;\n  margin-left: 5px;\n  background: #337ab7;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item .dx-tooltip-appointment-item-delete-button .dx-icon,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item .dx-tooltip-appointment-item-delete-button .dx-icon {\n  color: #333;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content {\n  -ms-flex-preferred-size: 100%;\n  flex-basis: 100%;\n  margin: 5px 10px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  color: #333;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content .dx-tooltip-appointment-item-content-subject,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content .dx-tooltip-appointment-item-content-subject {\n  text-align: left;\n  font-weight: 700;\n  font-size: 16px;\n  letter-spacing: .01em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-popup-wrapper.dx-scheduler-appointment-tooltip-wrapper .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content .dx-tooltip-appointment-item-content-date,\n.dx-scheduler-overlay-panel .dx-tooltip-appointment-item .dx-tooltip-appointment-item-content .dx-tooltip-appointment-item-content-date {\n  text-align: left;\n  font-size: 12px;\n  opacity: .8;\n  margin-top: 10px;\n}\n.dx-scheduler-overlay-panel .dx-overlay-content {\n  position: relative;\n  background: #fff;\n}\n.dx-scheduler-appointment-content-date {\n  opacity: .7;\n  display: inline-block;\n  white-space: pre-wrap;\n}\n.dx-scheduler-appointment-content-details {\n  margin-top: 2px;\n}\n.dx-scheduler-appointment-content-allday {\n  display: none;\n}\n.dx-scheduler-appointment {\n  border-bottom: 1px solid transparent;\n  background-clip: padding-box;\n  position: absolute;\n  cursor: default;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  background-color: #337ab7;\n  color: #fff;\n  -webkit-box-shadow: inset 0 2px 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 0 2px 0 0 rgba(0,0,0,.3);\n  left: 0;\n  min-width: 4px;\n  min-height: 4px;\n}\n.dx-scheduler-appointment.dx-resizable-resizing,\n.dx-scheduler-appointment.dx-state-active {\n  -webkit-box-shadow: inset 0 -2px 0 0 rgba(0,0,0,.3),inset 0 2px 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 0 -2px 0 0 rgba(0,0,0,.3),inset 0 2px 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-appointment .dx-scheduler-appointment,\n.dx-scheduler-appointment.dx-state-focused {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-appointment .dx-scheduler-appointment:not(.dx-scheduler-appointment-drag-source)::before,\n.dx-scheduler-appointment.dx-state-focused:not(.dx-scheduler-appointment-drag-source)::before {\n  pointer-events: none;\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(0,0,0,.3);\n  opacity: .98;\n}\n.dx-scheduler-appointment.dx-state-hover {\n  -webkit-box-shadow: inset 0 5px 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 0 5px 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-appointment.dx-state-hover.dx-resizable {\n  -webkit-box-shadow: inset 0 5px 0 0 rgba(0,0,0,.3),inset 0 -2px 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 0 5px 0 0 rgba(0,0,0,.3),inset 0 -2px 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-appointment.dx-state-hover .dx-resizable-handle-top {\n  height: 5px;\n}\n.dx-scheduler-appointment.dx-state-hover .dx-resizable-handle-left {\n  width: 5px;\n}\n.dx-scheduler-appointment.dx-resizable-resizing {\n  z-index: 1000;\n  opacity: .7;\n}\n.dx-scheduler-appointment .dx-resizable-handle-left {\n  left: -1px;\n}\n.dx-scheduler-appointment .dx-scheduler-appointment-reduced-icon {\n  position: absolute;\n  top: 3px;\n  right: 5px;\n  font: 14px/1 DXIcons;\n}\n.dx-scheduler-appointment .dx-scheduler-appointment-reduced-icon::before {\n  content: \"\\f00e\";\n}\n.dx-rtl .dx-scheduler-appointment .dx-scheduler-appointment-reduced-icon {\n  right: auto;\n  left: 3px;\n  font: 14px/1 DXIcons;\n}\n.dx-rtl .dx-scheduler-appointment .dx-scheduler-appointment-reduced-icon::before {\n  content: \"\\f011\";\n}\n.dx-scheduler-appointment.dx-scheduler-appointment-empty .dx-scheduler-appointment-reduced-icon,\n.dx-scheduler-appointment.dx-scheduler-appointment-tail .dx-scheduler-appointment-reduced-icon {\n  display: none;\n}\n.dx-scheduler-appointment.dx-state-disabled {\n  cursor: default;\n  opacity: .6;\n  pointer-events: auto;\n}\n.dx-scheduler-appointment.dx-scheduler-appointment-drag-source {\n  opacity: .7;\n}\n.dx-scheduler-fixed-appointments {\n  z-index: 100;\n  position: absolute;\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1000;\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging .dx-scheduler-appointment,\n.dx-scheduler-fixed-appointments .dx-draggable-dragging.dx-state-focused {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging .dx-scheduler-appointment:not(.dx-scheduler-appointment-drag-source)::before,\n.dx-scheduler-fixed-appointments .dx-draggable-dragging.dx-state-focused:not(.dx-scheduler-appointment-drag-source)::before {\n  pointer-events: none;\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(0,0,0,.3);\n  opacity: .98;\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging .dx-scheduler-appointment {\n  -webkit-box-shadow: 7px 7px 15px 0 rgba(50,50,50,.2),inset 0 -2px 0 0 rgba(0,0,0,.3),inset 0 2px 0 0 rgba(0,0,0,.3);\n  box-shadow: 7px 7px 15px 0 rgba(50,50,50,.2),inset 0 -2px 0 0 rgba(0,0,0,.3),inset 0 2px 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-agenda .dx-scheduler-appointment {\n  background-color: transparent;\n  color: #333;\n  padding: 10px;\n  border-radius: 5px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n}\n.dx-scheduler-agenda .dx-scheduler-appointment.dx-state-focused {\n  color: #333;\n  background-color: rgba(0,0,0,.08);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment.dx-state-focused::before {\n  background: 0 0;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-recurrence-icon {\n  position: static;\n  color: #fff;\n}\n.dx-scheduler-agenda .dx-scheduler-agenda-appointment-left-layout {\n  overflow: visible;\n}\n.dx-scheduler-agenda .dx-scheduler-agenda-appointment-right-layout {\n  margin-left: 10px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-content,\n.dx-scheduler-agenda .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 0;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-content-date {\n  opacity: 1;\n  white-space: nowrap;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-title {\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  font-weight: 700;\n  font-size: 16px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-content-details {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  font-size: 12px;\n  opacity: .7;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-content-allday {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  padding-right: 5px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-resource-item,\n.dx-scheduler-agenda .dx-scheduler-appointment-resource-list {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-resource-item {\n  margin-left: 15px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment-resource-item-value {\n  margin-left: 3px;\n}\n.dx-scheduler-agenda .dx-scheduler-agenda-appointment-marker {\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  background-color: #337ab7;\n}\n.dx-scheduler-agenda .dx-rtl .dx-scheduler-agenda-appointment-right-layout {\n  margin-left: 0;\n  margin-right: 10px;\n}\n.dx-scheduler-agenda .dx-rtl .dx-scheduler-appointment-content,\n.dx-scheduler-agenda .dx-rtl .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 0;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped):not(.dx-scheduler-work-space-all-day) .dx-scheduler-header-panel-container {\n  display: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-empty-cell {\n  border: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-date-table-cell {\n  border-right: none;\n  border-left: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-all-day-table-cell {\n  border-top: none;\n  border-left: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-time-panel {\n  border: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count).dx-scheduler-work-space-vertical-grouped .dx-scheduler-header-panel-container {\n  display: none;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count) .dx-scheduler-header-panel-empty-cell {\n  margin-top: 0;\n}\n.dx-scheduler-work-space-day:not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel {\n  margin-top: 1px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-all-day-table-cell,\n.dx-scheduler-work-space-day .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-day .dx-scheduler-header-panel-cell {\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-work-space-day .dx-scheduler-all-day-table-cell,\n.dx-rtl .dx-scheduler-work-space-day .dx-scheduler-date-table-cell,\n.dx-rtl .dx-scheduler-work-space-day .dx-scheduler-header-panel-cell {\n  border-left: none;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel {\n  width: 100%;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-time-panel {\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-vertical-grouped .dx-scheduler-all-day-table-cell {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-all-day-table-cell,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-cell {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-all-day-table-cell:first-child,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-date-table-cell:first-child,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-cell:first-child {\n  border-left: none;\n}\n.dx-rtl .dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped) .dx-scheduler-time-panel {\n  border: none;\n}\n.dx-rtl .dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-all-day-table-cell:first-child,\n.dx-rtl .dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-date-table-cell:first-child,\n.dx-rtl .dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-grouped) .dx-scheduler-header-panel-cell:first-child,\n.dx-rtl .dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped).dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel-empty-cell,\n.dx-rtl .dx-scheduler-work-space-day:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-grouped).dx-scheduler-work-space-both-scrollbar .dx-scheduler-time-panel {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: none;\n}\n.dx-scheduler-work-space-month .dx-scheduler-header-panel {\n  width: 100%;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table {\n  width: 100%;\n  height: 100%;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-month .dx-scheduler-header-panel-cell {\n  border-right: none;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-scrollable .dx-scrollable-content {\n  min-height: 300px;\n}\n.dx-scheduler-work-space-month:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-vertical-grouped) .dx-scheduler-date-table-scrollable-content,\n.dx-scheduler-work-space-month:not(.dx-scheduler-work-space-count):not(.dx-scheduler-work-space-vertical-grouped) .dx-scrollable-content {\n  height: 100%;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-cell {\n  height: 50px;\n  vertical-align: top;\n  text-align: right;\n  color: #959595;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-cell .dx-scheduler-date-table-cell-text {\n  padding-right: 6px;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-count .dx-scheduler-date-table-cell {\n  height: 75px;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-count .dx-scheduler-date-table-first-of-month {\n  color: #337ab7;\n  background-color: rgba(51,122,183,.15);\n  font-weight: 700;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-both-scrollbar .dx-scheduler-sidebar-scrollable {\n  display: none;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-vertical-grouped .dx-scheduler-sidebar-scrollable {\n  display: block;\n  float: left;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-vertical-grouped .dx-scheduler-group-header {\n  -webkit-box-shadow: 0 -2px 0 rgba(221,221,221,.6);\n  box-shadow: 0 -2px 0 rgba(221,221,221,.6);\n  border-bottom: none;\n}\n.dx-scheduler-work-space-month.dx-scheduler-work-space-vertical-grouped .dx-scheduler-date-table-cell {\n  height: 75px;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-month .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-week .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-month.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel {\n  border-bottom: none;\n}\n.dx-scheduler-timeline-day.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-month.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-work-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell {\n  width: 160px;\n}\n.dx-scheduler-timeline-day.dx-scheduler-group-column-count-two .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-month.dx-scheduler-group-column-count-two .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-week.dx-scheduler-group-column-count-two .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-work-week.dx-scheduler-group-column-count-two .dx-scheduler-group-flex-container .dx-scheduler-group-header {\n  width: 80px;\n}\n.dx-scheduler-timeline-day.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-month.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-timeline-work-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell {\n  width: 240px;\n}\n.dx-scheduler-timeline-day.dx-scheduler-group-column-count-three .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-month.dx-scheduler-group-column-count-three .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-week.dx-scheduler-group-column-count-three .dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-timeline-work-week.dx-scheduler-group-column-count-three .dx-scheduler-group-flex-container .dx-scheduler-group-header {\n  width: 80px;\n}\n.dx-scheduler-timeline-day .dx-scheduler-date-table-container,\n.dx-scheduler-timeline-day .dx-scheduler-date-table-scrollable-content,\n.dx-scheduler-timeline-month .dx-scheduler-date-table-container,\n.dx-scheduler-timeline-month .dx-scheduler-date-table-scrollable-content,\n.dx-scheduler-timeline-week .dx-scheduler-date-table-container,\n.dx-scheduler-timeline-week .dx-scheduler-date-table-scrollable-content,\n.dx-scheduler-timeline-work-week .dx-scheduler-date-table-container,\n.dx-scheduler-timeline-work-week .dx-scheduler-date-table-scrollable-content {\n  min-height: 100%;\n  height: 100%;\n  width: 100%;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel,\n.dx-scheduler-timeline-month .dx-scheduler-header-panel,\n.dx-scheduler-timeline-week .dx-scheduler-header-panel,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel thead,\n.dx-scheduler-timeline-month .dx-scheduler-header-panel thead,\n.dx-scheduler-timeline-week .dx-scheduler-header-panel thead,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel thead {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n  width: 100%;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-row,\n.dx-scheduler-timeline-month .dx-scheduler-header-row,\n.dx-scheduler-timeline-week .dx-scheduler-header-row,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-month .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-week .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel-cell {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -webkit-box-pack: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell),\n.dx-scheduler-timeline-month .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell),\n.dx-scheduler-timeline-week .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell),\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell) {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -ms-flex-flow: row-reverse nowrap;\n  flex-flow: row-reverse nowrap;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-panel-week-cell,\n.dx-scheduler-timeline-month .dx-scheduler-header-panel-week-cell,\n.dx-scheduler-timeline-week .dx-scheduler-header-panel-week-cell,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-panel-week-cell {\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n}\n.dx-scheduler-timeline-day .dx-scheduler-header-row .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-month .dx-scheduler-header-row .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-week .dx-scheduler-header-row .dx-scheduler-header-panel-cell,\n.dx-scheduler-timeline-work-week .dx-scheduler-header-row .dx-scheduler-header-panel-cell {\n  border-right: none;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table-cell,\n.dx-scheduler-timeline .dx-scheduler-header-panel-cell:not(.dx-scheduler-header-panel-week-cell) {\n  width: 200px;\n}\n.dx-scheduler-timeline .dx-scheduler-work-space-vertical-group-table {\n  display: none;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table {\n  border-spacing: 0;\n  border-collapse: separate;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table tbody {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n  height: 100%;\n  min-height: 100px;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table .dx-scheduler-date-table-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table .dx-scheduler-date-table-cell {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n  -webkit-box-align: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  height: inherit;\n  min-height: 50px;\n}\n.dx-scheduler-timeline .dx-scheduler-group-table {\n  border-spacing: 0;\n  border-collapse: separate;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n}\n.dx-scheduler-timeline .dx-scheduler-group-table tbody {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n  height: 100%;\n}\n.dx-scheduler-timeline .dx-scheduler-group-header {\n  min-height: 50px;\n}\n.dx-scheduler-timeline .dx-scheduler-group-header-content {\n  overflow: visible;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-scheduler-timeline .dx-scheduler-group-header-content div {\n  white-space: normal;\n  line-height: normal;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header {\n  width: 200px;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table,\n.dx-scheduler-timeline .dx-scheduler-date-table-scrollable .dx-scrollable-content,\n.dx-scheduler-timeline .dx-scheduler-group-table,\n.dx-scheduler-timeline .dx-scheduler-sidebar-scrollable .dx-scrollable-content {\n  height: 100%;\n  min-height: 100px;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable .dx-scrollable-content,\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-group-table,\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-sidebar-scrollable .dx-scrollable-content {\n  height: auto;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell {\n  border-top-color: transparent;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel,\n.dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel-empty-cell {\n  border-bottom: 1px solid #c4c4c4;\n}\n.dx-scheduler-timeline .dx-scheduler-sidebar-scrollable {\n  display: none;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-sidebar-scrollable {\n  display: block;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-group-row .dx-scheduler-group-header {\n  border: none;\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-row .dx-scheduler-group-header {\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-row .dx-scheduler-last-group-cell {\n  border-right: 1px solid #c4c4c4;\n}\n.dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-date-table-cell:first-child {\n  border-left: none;\n}\n.dx-rtl .dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-date-table-cell:first-child {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: none;\n}\n.dx-scheduler:not(.dx-scheduler-native) .dx-scheduler-timeline .dx-scheduler-date-table .dx-scheduler-date-table-row {\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n}\n.dx-scheduler-agenda .dx-scheduler-date-table-scrollable {\n  padding-top: 10px;\n}\n.dx-scheduler-agenda .dx-scheduler-time-panel-cell::after {\n  display: none;\n}\n.dx-scheduler-agenda .dx-scheduler-group-table {\n  border-spacing: 0;\n  margin-top: 0;\n  height: 100%;\n  float: left;\n}\n.dx-scheduler-agenda .dx-scheduler-time-panel {\n  margin-top: 0;\n  width: 70px;\n  border: none;\n}\n.dx-scheduler-agenda .dx-scheduler-date-table-cell,\n.dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  border: none;\n}\n.dx-scheduler-agenda.dx-scheduler-work-space-grouped .dx-scheduler-date-table {\n  float: right;\n}\n.dx-scheduler-agenda.dx-scheduler-work-space-grouped .dx-scheduler-group-row:first-child .dx-scheduler-group-header-content::before {\n  border-bottom: none;\n}\n.dx-scheduler-agenda.dx-scheduler-work-space-grouped .dx-scheduler-time-panel-cell::after {\n  display: none;\n}\n.dx-scheduler-agenda .dx-scheduler-group-header {\n  vertical-align: top;\n  border-top: none;\n  border-left: none;\n  border-right: none;\n  font-weight: 700;\n  padding: 0;\n}\n.dx-scheduler-small .dx-scheduler-agenda .dx-scheduler-group-header {\n  width: 40px;\n  font-size: 14px;\n}\n.dx-scheduler-agenda .dx-scheduler-group-header-content div {\n  white-space: normal;\n}\n.dx-scheduler-agenda-nodata {\n  text-align: center;\n  opacity: .5;\n  position: absolute;\n  top: 45%;\n  left: 0;\n  right: 0;\n}\n.dx-rtl .dx-scheduler-agenda .dx-scheduler-time-panel {\n  border: none;\n}\n.dx-scheduler-small .dx-scheduler-agenda .dx-scheduler-time-panel {\n  width: 70px;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable .dx-scrollable-content,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-group-table,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-sidebar-scrollable .dx-scrollable-content {\n  min-height: 100%;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable .dx-scrollable-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-container,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table > tbody {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-row {\n  height: 50px;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-cell {\n  height: auto;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar.dx-scheduler-work-space-virtual .dx-scheduler-date-table-row {\n  height: 50px;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-container,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-scrollable,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-tables-container {\n  width: 100%;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-tables-container {\n  -ms-flex-negative: 1;\n  flex-shrink: 1;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable .dx-scrollable-content,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-scrollable .dx-scrollable-content {\n  min-width: 100%;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-cell,\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel-cell {\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n}\n.dx-scheduler.dx-scheduler-native .dx-scheduler-timeline:not(.dx-scheduler-work-space-both-scrollbar) .dx-scheduler-date-table .dx-scheduler-date-table-row {\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n}\n.dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell {\n  color: #337ab7;\n}\n.dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell::before {\n  position: absolute;\n  right: 0;\n  width: 100%;\n  content: \"\";\n  background-color: #63a0d4;\n}\n.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell {\n  width: 100px;\n}\n.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell {\n  width: 150px;\n}\n.dx-scheduler-group-column-count-two .dx-scheduler-group-flex-container .dx-scheduler-group-header {\n  width: 75px;\n}\n.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell {\n  width: 200px;\n}\n.dx-scheduler-group-column-count-three .dx-scheduler-group-flex-container .dx-scheduler-group-header {\n  width: 66.6666666667px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-week .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-work-week .dx-scheduler-header-panel-empty-cell {\n  width: 100px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-week.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell {\n  width: 200px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell {\n  width: 250px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell {\n  width: 300px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:nth-child(odd) .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:nth-child(odd) .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:nth-child(odd) .dx-scheduler-date-table-cell {\n  border-top: 1px solid #c4c4c4;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-odd-cells .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell {\n  border-top: none;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-odd-cells .dx-scheduler-time-panel-row:nth-child(2n) .dx-scheduler-time-panel-cell::after,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-odd-cells .dx-scheduler-time-panel-row:nth-child(2n) .dx-scheduler-time-panel-cell::after,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-odd-cells .dx-scheduler-time-panel-row:nth-child(2n) .dx-scheduler-time-panel-cell::after {\n  background-color: #c4c4c4;\n}\n.dx-scheduler-work-space {\n  border: 1px solid rgba(221,221,221,.6);\n  background-color: #fff;\n  position: relative;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  overflow: hidden;\n  height: 100%;\n  width: 100%;\n  border-top: none;\n  float: left;\n}\n.dx-scheduler-work-space.dx-scheduler-timeline-month:not(.dx-scheduler-agenda) .dx-scheduler-all-day-title {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space.dx-scheduler-timeline-month:not(.dx-scheduler-agenda) .dx-scheduler-date-table-cell {\n  border-right: none;\n}\n.dx-scheduler-work-space.dx-scheduler-work-space-grouped:not(.dx-scheduler-agenda) .dx-scheduler-all-day-panel td {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space:not(.dx-scheduler-work-space-all-day):not(.dx-scheduler-work-space-month):not(.dx-scheduler-timeline) .dx-scheduler-header-panel,\n.dx-scheduler-work-space:not(.dx-scheduler-work-space-all-day):not(.dx-scheduler-work-space-month):not(.dx-scheduler-timeline) .dx-scheduler-header-panel-empty-cell {\n  border-bottom: 2px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space:not(.dx-scheduler-work-space-all-day):not(.dx-scheduler-work-space-month):not(.dx-scheduler-timeline).dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel,\n.dx-scheduler-work-space:not(.dx-scheduler-work-space-all-day):not(.dx-scheduler-work-space-month):not(.dx-scheduler-timeline).dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel-empty-cell {\n  border-bottom: none;\n}\n.dx-scheduler-work-space.dx-scheduler-work-space-month:not(.dx-scheduler-work-space-vertical-grouped) .dx-scheduler-header-panel {\n  border-bottom: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-header-panel-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n}\n.dx-scheduler-header-panel-empty-cell {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: end;\n  -ms-flex-align: end;\n  align-items: flex-end;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n  width: 0;\n  border-bottom: 1px solid rgba(221,221,221,.6);\n  border-right: 1px solid rgba(221,221,221,.6);\n  margin-top: 10px;\n}\n.dx-scheduler-header-tables-container {\n  overflow: hidden;\n  width: 100%;\n}\n.dx-scheduler-date-table-container {\n  position: relative;\n}\n.dx-scheduler-work-space-month:not(.dx-scheduler-work-space-count) .dx-scheduler-date-table-container {\n  height: 100%;\n}\n.dx-scheduler-date-table-scrollable {\n  width: 100%;\n  overflow: hidden;\n}\n.dx-scheduler-date-table-scrollable .dx-scrollable-content {\n  overflow: hidden;\n}\n.dx-scheduler-date-table-scrollable-content,\n.dx-scheduler-side-bar-scrollable-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n}\n.dx-scheduler-date-table-scrollable-content {\n  position: relative;\n  float: left;\n}\n.dx-scheduler-date-table-cell,\n.dx-scheduler-group-header,\n.dx-scheduler-header-panel-cell,\n.dx-scheduler-time-panel-cell {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n  cursor: default;\n}\n.dx-scheduler-date-table-current-date {\n  font-weight: 700;\n}\n.dx-scheduler-date-table-other-month {\n  opacity: .5;\n}\n.dx-scheduler-work-space-flex-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  height: 100%;\n  min-height: 0;\n}\n.dx-scheduler-group-flex-container {\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 100%;\n  flex: 0 0 100%;\n  min-height: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-scheduler-group-flex-container .dx-scheduler-group-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  min-width: 0;\n}\n.dx-scheduler-group-flex-container .dx-scheduler-group-row:last-child .dx-scheduler-group-header {\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-group-flex-container .dx-scheduler-group-row .dx-scheduler-group-header {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 100%;\n  flex: 1 1 100%;\n  padding: 0 5px;\n  height: auto;\n  width: 100px;\n  -webkit-box-pack: start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n  -webkit-box-align: start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  text-align: left;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  border: none;\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-header-scrollable {\n  height: auto;\n}\n.dx-scheduler-work-space-day .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-week .dx-scheduler-date-table .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-table-row:first-child .dx-scheduler-date-table-cell {\n  border-top: none;\n}\n.dx-scheduler-all-day-table-cell,\n.dx-scheduler-date-table-cell {\n  border-top: 1px solid rgba(221,221,221,.6);\n  border-left: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-all-day-table-cell:first-child,\n.dx-scheduler-date-table-cell:first-child {\n  border-left: none;\n}\n.dx-scheduler-date-table-cell,\n.dx-scheduler-header-panel-cell {\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count .dx-scheduler-all-day-title,\n.dx-scheduler-work-space-week .dx-scheduler-all-day-title,\n.dx-scheduler-work-space-work-week .dx-scheduler-all-day-title {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-timeline .dx-scheduler-all-day-panel,\n.dx-scheduler-timeline .dx-scheduler-all-day-title,\n.dx-scheduler-timeline .dx-scheduler-time-panel,\n.dx-scheduler-work-space-month .dx-scheduler-all-day-panel,\n.dx-scheduler-work-space-month .dx-scheduler-all-day-title,\n.dx-scheduler-work-space-month .dx-scheduler-time-panel {\n  display: none;\n}\n.dx-scheduler-work-space-month .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-scheduler-work-space-month .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-scheduler-work-space-month .dx-scheduler-header-panel-cell:nth-child(7n),\n.dx-scheduler-work-space-week .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-scheduler-work-space-week .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-scheduler-work-space-week .dx-scheduler-header-panel-cell:nth-child(7n) {\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-header-panel-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-week .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-week .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-week .dx-scheduler-header-panel-cell:nth-child(7n) {\n  border-left: none;\n}\n.dx-scheduler-work-space-work-week .dx-scheduler-all-day-table-cell:nth-child(5n),\n.dx-scheduler-work-space-work-week .dx-scheduler-date-table-cell:nth-child(5n),\n.dx-scheduler-work-space-work-week .dx-scheduler-header-panel-cell:nth-child(5n) {\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-work-space-work-week .dx-scheduler-all-day-table-cell:nth-child(5n),\n.dx-rtl .dx-scheduler-work-space-work-week .dx-scheduler-date-table-cell:nth-child(5n),\n.dx-rtl .dx-scheduler-work-space-work-week .dx-scheduler-header-panel-cell:nth-child(5n) {\n  border-left: none;\n}\n.dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-header-panel-cell:nth-child(7n) {\n  border-right: 1px solid #c4c4c4;\n}\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-all-day-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-date-table-cell:nth-child(7n),\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-week .dx-scheduler-header-panel-cell:nth-child(7n) {\n  border-left: 1px solid #c4c4c4;\n}\n.dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-all-day-table-cell:nth-child(5n),\n.dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-date-table-cell:nth-child(5n),\n.dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-header-panel-cell:nth-child(5n) {\n  border-right: 1px solid #c4c4c4;\n}\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-all-day-table-cell:nth-child(5n),\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-date-table-cell:nth-child(5n),\n.dx-rtl .dx-scheduler-work-space-count.dx-scheduler-work-space-work-week .dx-scheduler-header-panel-cell:nth-child(5n) {\n  border-right: 1px solid rgba(221,221,221,.6);\n  border-left: 1px solid #c4c4c4;\n}\n.dx-scheduler-header-panel {\n  border-spacing: 0;\n  table-layout: fixed;\n  width: 100%;\n}\n.dx-scheduler-work-space.dx-scheduler-work-space-all-day .dx-scheduler-header-panel-empty-cell {\n  border-bottom: none;\n}\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-panel {\n  width: auto;\n}\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table {\n  float: none;\n}\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-scrollable {\n  height: auto;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n}\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-all-day-table-row .dx-scheduler-all-day-table-cell:first-child,\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-row .dx-scheduler-date-table-cell:first-child {\n  border-left: none;\n}\n.dx-scheduler-header-panel-cell {\n  position: relative;\n  color: #333;\n  padding: 0;\n  vertical-align: middle;\n  text-align: center;\n  font-weight: 400;\n  border-left: 1px solid rgba(221,221,221,.6);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-scheduler-header-panel-cell:first-child {\n  border-left: 1px solid transparent;\n}\n.dx-scheduler-all-day-panel {\n  width: 100%;\n  position: relative;\n}\n.dx-scheduler-all-day-panel .dx-scheduler-all-day-table-cell {\n  border-bottom: 2px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-all-day-title {\n  color: #333;\n  width: 100px;\n  position: relative;\n  text-align: center;\n  border-bottom: 2px solid rgba(221,221,221,.6);\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-touch-callout: none;\n}\n.dx-scheduler-small .dx-scheduler-all-day-title {\n  width: 50px;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-all-day-title {\n  height: 50px;\n  line-height: 50px;\n}\n.dx-scheduler-all-day-table {\n  border-spacing: 0;\n  table-layout: fixed;\n  width: 100%;\n}\n.dx-scheduler-group-header {\n  height: 30px;\n  text-align: center;\n}\n.dx-scheduler-time-panel {\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: 100px;\n  border-collapse: collapse;\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-small .dx-scheduler-time-panel {\n  width: 50px;\n  font-size: 14px;\n}\n.dx-scheduler-time-panel .dx-scheduler-time-panel-row:first-of-type td > div {\n  margin-top: 0;\n}\n.dx-scheduler-time-panel-cell {\n  color: #333;\n  position: relative;\n  width: 100%;\n  text-align: right;\n  vertical-align: top;\n  padding-right: 20px;\n  border-bottom: 1px solid transparent;\n}\n.dx-scheduler-time-panel-cell > div {\n  margin-top: -13px;\n}\n.dx-scheduler-small .dx-scheduler-time-panel-cell {\n  padding-left: 0;\n  padding-right: 10px;\n}\n.dx-scheduler-time-panel-cell::after {\n  position: absolute;\n  bottom: -1px;\n  width: 10%;\n  height: 1px;\n  right: 0;\n  background-color: rgba(221,221,221,.6);\n}\n.dx-scheduler-time-panel-cell.dx-scheduler-time-panel-current-time-cell {\n  color: #337ab7;\n}\n.dx-scheduler-time-panel-cell.dx-scheduler-time-panel-current-time-cell::before {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 2px;\n  height: inherit;\n  background-color: #63a0d4;\n}\n.dx-scheduler-time-panel-row:last-child .dx-scheduler-time-panel-cell::after {\n  display: none;\n}\n.dx-scheduler-time-panel-title-cell {\n  padding: 0;\n}\n.dx-scheduler-date-table {\n  width: 100%;\n  border-spacing: 0;\n  table-layout: fixed;\n}\n.dx-scheduler-all-day-table-cell.dx-state-hover.dx-state-focused,\n.dx-scheduler-date-table-cell.dx-state-hover.dx-state-focused {\n  background-color: #dbe9f5;\n}\n.dx-scheduler-all-day-table-cell.dx-state-focused,\n.dx-scheduler-date-table-cell.dx-state-focused {\n  background-color: #dbe9f5;\n  opacity: 1;\n}\n.dx-scheduler-all-day-table-cell.dx-scheduler-focused-cell,\n.dx-scheduler-date-table-cell.dx-scheduler-focused-cell {\n  -webkit-box-shadow: inset 0 0 0 1px #337ab7;\n  box-shadow: inset 0 0 0 1px #337ab7;\n}\n.dx-scheduler-all-day-table-cell > div,\n.dx-scheduler-date-table-cell > div {\n  pointer-events: none;\n}\n.dx-scheduler-date-table-droppable-cell {\n  background-color: #f2f2f2;\n}\n.dx-scheduler-group-header-content div {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-sidebar-scrollable {\n  display: none;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-group-header-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  height: 40px;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-group-header-content > div {\n  margin: auto;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-group-row,\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-header-panel,\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline .dx-scheduler-header-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-group-header {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header {\n  -ms-flex-preferred-size: auto;\n  flex-basis: auto;\n}\n.dx-scheduler-work-space-horizontal-grouped.dx-scheduler-timeline:not(.dx-scheduler-work-space-group-by-date) .dx-scheduler-header-row .dx-scheduler-header-panel-cell {\n  border-right: none;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-work-space-vertical-group-table {\n  height: 100%;\n  min-height: 100px;\n  border-top: 1px solid rgba(221,221,221,.6);\n  border-spacing: 0;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column nowrap;\n  flex-flow: column nowrap;\n}\n.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-day .dx-scheduler-all-day-title,\n.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-week .dx-scheduler-all-day-title,\n.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-work-week .dx-scheduler-all-day-title {\n  top: 0;\n  height: 50px!important;\n  line-height: 50px!important;\n  border-bottom: none;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-all-day-panel {\n  display: table-cell;\n  position: relative;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-all-day-table-row {\n  height: 50px;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-time-panel-cell.dx-scheduler-first-group-cell {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-time-panel-cell.dx-scheduler-first-group-cell > div {\n  margin-top: 0;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-time-panel-cell.dx-scheduler-last-group-cell {\n  border-bottom: none;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(221,221,221,.6);\n  box-shadow: inset 0 -1px 0 rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-date-table-cell.dx-scheduler-last-group-cell {\n  border-bottom: 2px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-scrollable,\n.dx-scheduler-work-space-vertical-grouped.dx-scheduler-work-space-both-scrollbar .dx-scheduler-sidebar-scrollable {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-header-panel-empty-cell {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-date-table-scrollable-content,\n.dx-rtl .dx-scheduler-side-bar-scrollable-content {\n  direction: rtl;\n}\n.dx-rtl .dx-scheduler-sidebar-scrollable .dx-scheduler-group-row:last-child .dx-scheduler-group-header,\n.dx-rtl .dx-scheduler-work-space-vertical-grouped .dx-scheduler-group-row:last-child .dx-scheduler-group-header {\n  border-right: none;\n  border-left: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-header-panel {\n  left: 0;\n  right: inherit;\n}\n.dx-rtl .dx-scheduler-time-panel,\n.dx-rtl .dx-scheduler-work-space-vertical-group-table {\n  float: right;\n}\n.dx-rtl .dx-scheduler-time-panel-cell {\n  text-align: left;\n  padding-left: 20px;\n  padding-right: 0;\n}\n.dx-scheduler-small .dx-rtl .dx-scheduler-time-panel-cell {\n  padding-left: 10px;\n}\n.dx-rtl .dx-scheduler-time-panel-cell::after {\n  right: auto;\n  left: 0;\n}\n.dx-rtl .dx-scheduler-work-space-week .dx-scheduler-all-day-table-cell,\n.dx-rtl .dx-scheduler-work-space-work-week .dx-scheduler-all-day-table-cell {\n  border-right: 1px solid rgba(221,221,221,.6);\n  border-left: none;\n}\n.dx-rtl.dx-scheduler-work-space-both-scrollbar .dx-scheduler-time-panel {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: none;\n}\n.dx-rtl.dx-scheduler-work-space-both-scrollbar .dx-scheduler-all-day-table-row .dx-scheduler-all-day-table-cell:first-child,\n.dx-rtl.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-table-row .dx-scheduler-date-table-cell:first-child,\n.dx-rtl.dx-scheduler-work-space-both-scrollbar .dx-scheduler-header-row .dx-scheduler-header-panel-cell:first-child {\n  border-right: none;\n  border-left: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-sidebar-scrollable {\n  float: right;\n}\n.dx-rtl .dx-scheduler-timeline.dx-scheduler-work-space-grouped .dx-scheduler-group-header {\n  padding: 0 5px 0 10px;\n}\n.dx-rtl .dx-scheduler-timeline.dx-scheduler-work-space-grouped.dx-scheduler-group-column-count-three .dx-scheduler-group-header:last-child,\n.dx-rtl .dx-scheduler-timeline.dx-scheduler-work-space-grouped.dx-scheduler-group-column-count-two .dx-scheduler-group-header:last-child {\n  text-align: right;\n}\n.dx-rtl .dx-scheduler-all-day-table-cell:first-child,\n.dx-rtl .dx-scheduler-date-table-cell:first-child,\n.dx-rtl .dx-scheduler-header-panel-cell:first-child {\n  border-right: none;\n  border-left: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-time-panel {\n  border-left: 1px solid rgba(221,221,221,.6);\n  border-right: none;\n}\n.dx-scheduler-small .dx-scheduler-work-space-day .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-week .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-work-week .dx-scheduler-header-panel-empty-cell {\n  width: 50px;\n}\n.dx-scheduler-small .dx-scheduler-work-space-day.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-week.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-one .dx-scheduler-header-panel-empty-cell {\n  width: 150px;\n}\n.dx-scheduler-small .dx-scheduler-work-space-day.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-two .dx-scheduler-header-panel-empty-cell {\n  width: 200px;\n}\n.dx-scheduler-small .dx-scheduler-work-space-day.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell,\n.dx-scheduler-small .dx-scheduler-work-space-work-week.dx-scheduler-group-column-count-three .dx-scheduler-header-panel-empty-cell {\n  width: 250px;\n}\n.dx-recurrence-repeat-end-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-recurrence-numberbox-interval-wrapper .dx-layout-manager .dx-field-item,\n.dx-recurrence-repeat-on .dx-layout-manager .dx-field-item {\n  padding-right: 0;\n  padding-left: 0;\n}\n.dx-recurrence-numberbox-interval-wrapper .dx-box-item:first-child:not(:only-child),\n.dx-recurrence-repeat-on .dx-box-item:first-child:not(:only-child) {\n  -webkit-box-flex: 0!important;\n  -ms-flex-positive: 0!important;\n  flex-grow: 0!important;\n  min-width: auto!important;\n}\n.dx-recurrence-numberbox-interval-wrapper .dx-field-item-label {\n  white-space: nowrap;\n}\n.dx-layout-manager .dx-field-item.dx-recurrence-repeat-on {\n  padding-top: 0;\n}\n.dx-recurrence-repeat-end-label {\n  line-height: 36px;\n}\n.dx-recurrence-radiogroup-repeat-type {\n  margin: 0;\n}\n.dx-recurrence-radiogroup-repeat-type .dx-item {\n  padding-bottom: 10px;\n}\n.dx-recurrence-datebox-until-date {\n  margin-left: 28px;\n}\n.dx-recurrence-numberbox-repeat-count {\n  margin-left: 16px;\n  margin-right: 11px;\n}\n.dx-recurrence-button-group {\n  width: 100%;\n}\n.dx-recurrence-button-group .dx-button-content {\n  padding: 8px;\n}\n.dx-recurrence-button-group .dx-buttongroup-wrapper > div {\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n}\n.dx-recurrence-editor-container .dx-recurrence-numberbox-interval {\n  margin-right: 11px;\n}\n.dx-recurrence-editor-container .dx-recurrence-numberbox-interval.dx-rtl {\n  margin-right: 0;\n  margin-left: 11px;\n}\n.dx-recurrence-numberbox-interval-label {\n  margin-top: 18px;\n}\n.dx-scheduler-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  height: 100%;\n  width: 100%;\n  background-color: #fff;\n}\n.dx-scheduler-header {\n  border: 1px solid rgba(221,221,221,.6);\n  position: relative;\n  z-index: 1;\n  width: 100%;\n  -ms-flex-negative: 0;\n  flex-shrink: 0;\n}\n.dx-scheduler-header .dx-toolbar {\n  height: 100%;\n  background-color: transparent;\n}\n.dx-scheduler-header .dx-toolbar .dx-toolbar-items-container {\n  height: 100%;\n}\n.dx-scheduler-header .dx-toolbar .dx-toolbar-menu-container .dx-icon::before {\n  content: \"\\f016\";\n}\n.dx-scheduler-view-switcher-dropdown-button-content .dx-list-item {\n  display: list-item;\n}\n.dx-scheduler-date-time-shader-all-day {\n  width: 100%;\n  background-color: rgba(51,51,51,.04);\n  position: absolute;\n  pointer-events: none;\n}\n.dx-scheduler-date-time-indicator {\n  background-color: #63a0d4;\n  position: absolute;\n  pointer-events: none;\n  -webkit-box-shadow: 0 1px 0 0 rgba(255,255,255,.1);\n  box-shadow: 0 1px 0 0 rgba(255,255,255,.1);\n}\n.dx-scheduler-date-time-indicator::before {\n  font-size: 30px;\n  color: #63a0d4;\n  position: absolute;\n  z-index: 1000;\n  margin-top: -14px;\n  margin-left: -12px;\n  text-shadow: rgba(255,255,255,.1) 1px 0 0;\n}\n.dx-scheduler-date-time-shader {\n  pointer-events: none;\n}\n.dx-scheduler-work-space-day .dx-scheduler-all-day-appointment .dx-scheduler-appointment-content,\n.dx-scheduler-work-space-week .dx-scheduler-all-day-appointment .dx-scheduler-appointment-content,\n.dx-scheduler-work-space-work-week .dx-scheduler-all-day-appointment .dx-scheduler-appointment-content {\n  padding: 0 7px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content,\n.dx-scheduler-work-space-week .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content,\n.dx-scheduler-work-space-work-week .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content {\n  padding-right: 40px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-recurrence-icon,\n.dx-scheduler-work-space-day .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-reduced-icon,\n.dx-scheduler-work-space-week .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-recurrence-icon,\n.dx-scheduler-work-space-week .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-reduced-icon,\n.dx-scheduler-work-space-work-week .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-recurrence-icon,\n.dx-scheduler-work-space-work-week .dx-scheduler-appointment-reduced:not(.dx-scheduler-all-day-appointment) .dx-scheduler-appointment-reduced-icon {\n  top: 9px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-week .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-time-indicator {\n  margin-left: 100px;\n  height: 1px;\n  font: 14px/1 DXIcons;\n}\n.dx-scheduler-work-space-day .dx-scheduler-date-time-indicator::before,\n.dx-scheduler-work-space-week .dx-scheduler-date-time-indicator::before,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-time-indicator::before {\n  content: \"\\f04e\";\n}\n.dx-scheduler-small .dx-scheduler-work-space-day .dx-scheduler-date-time-indicator,\n.dx-scheduler-small .dx-scheduler-work-space-week .dx-scheduler-date-time-indicator,\n.dx-scheduler-small .dx-scheduler-work-space-work-week .dx-scheduler-date-time-indicator {\n  margin-left: 50px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-date-time-shader,\n.dx-scheduler-work-space-week .dx-scheduler-date-time-shader,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader {\n  margin-left: 100px;\n}\n.dx-scheduler-small .dx-scheduler-work-space-day .dx-scheduler-date-time-shader,\n.dx-scheduler-small .dx-scheduler-work-space-week .dx-scheduler-date-time-shader,\n.dx-scheduler-small .dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader {\n  margin-left: 50px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-day .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-week .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-week .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader-top::before {\n  width: inherit;\n  height: inherit;\n  content: \"\";\n  left: inherit;\n  position: absolute;\n  margin-left: 100px;\n  background-color: rgba(51,51,51,.04);\n}\n.dx-scheduler-small .dx-scheduler-work-space-day .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-small .dx-scheduler-work-space-day .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-small .dx-scheduler-work-space-week .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-small .dx-scheduler-work-space-week .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-small .dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-small .dx-scheduler-work-space-work-week .dx-scheduler-date-time-shader-top::before {\n  margin-left: 50px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-all-day,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-day.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-all-day,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-all-day,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-work-week.dx-scheduler-work-space-both-scrollbar .dx-scheduler-date-time-shader-top::before {\n  margin-left: 0;\n}\n.dx-scheduler-work-space-day.dx-rtl .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-week.dx-rtl .dx-scheduler-date-time-indicator,\n.dx-scheduler-work-space-work-week.dx-rtl .dx-scheduler-date-time-indicator {\n  margin-left: 0;\n  font: 14px/1 DXIcons;\n}\n.dx-scheduler-work-space-day.dx-rtl .dx-scheduler-date-time-indicator::before,\n.dx-scheduler-work-space-week.dx-rtl .dx-scheduler-date-time-indicator::before,\n.dx-scheduler-work-space-work-week.dx-rtl .dx-scheduler-date-time-indicator::before {\n  content: \"\\f04f\";\n  margin-right: -12px;\n}\n.dx-scheduler-work-space-day.dx-rtl .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-day.dx-rtl .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-week.dx-rtl .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-week.dx-rtl .dx-scheduler-date-time-shader-top::before,\n.dx-scheduler-work-space-work-week.dx-rtl .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-work-space-work-week.dx-rtl .dx-scheduler-date-time-shader-top::before {\n  margin-left: 0;\n  margin-right: 100px;\n}\n.dx-scheduler-timeline .dx-scheduler-date-time-indicator {\n  width: 1px;\n  top: 0;\n  font: 14px/1 DXIcons;\n}\n.dx-scheduler-timeline .dx-scheduler-date-time-indicator::before {\n  content: \"\\f001\";\n  margin-left: -14px;\n  margin-top: -12px;\n}\n.dx-scheduler-timeline .dx-scheduler-date-time-shader {\n  height: 100%;\n  position: absolute;\n}\n.dx-scheduler-timeline .dx-scheduler-date-time-shader::before {\n  width: inherit;\n  height: 100%;\n  content: \"\";\n  left: 0;\n  position: absolute;\n  background-color: rgba(51,51,51,.04);\n}\n.dx-scheduler-timeline .dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell {\n  border-bottom: 2px solid #63a0d4;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-timeline .dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell::before {\n  content: none;\n}\n.dx-scheduler-timeline .dx-scheduler-appointment-reduced .dx-scheduler-appointment-recurrence-icon {\n  top: 0;\n}\n.dx-scheduler-work-space-month .dx-scheduler-appointment-content {\n  padding: 0 7px;\n}\n.dx-scheduler-work-space-month .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 0 25px 0 7px;\n}\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 0 7px 0 25px;\n}\n.dx-scheduler-work-space-month .dx-scheduler-appointment-recurrence-icon {\n  top: 0;\n}\n.dx-scheduler-all-day-appointments,\n.dx-scheduler-scrollable-appointments {\n  position: absolute;\n  top: 0;\n}\n.dx-scheduler-all-day-appointments.dx-rtl,\n.dx-scheduler-scrollable-appointments.dx-rtl {\n  left: 0;\n}\n.dx-scheduler-all-day-appointment,\n.dx-scheduler-timeline .dx-scheduler-appointment,\n.dx-scheduler-work-space-month .dx-scheduler-appointment {\n  -webkit-box-shadow: inset 2px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 2px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-rtl .dx-scheduler-all-day-appointment,\n.dx-rtl .dx-scheduler-timeline .dx-scheduler-appointment,\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-appointment {\n  -webkit-box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-all-day-appointment.dx-resizable-resizing,\n.dx-scheduler-all-day-appointment.dx-state-active,\n.dx-scheduler-timeline .dx-scheduler-appointment.dx-resizable-resizing,\n.dx-scheduler-timeline .dx-scheduler-appointment.dx-state-active,\n.dx-scheduler-work-space-month .dx-scheduler-appointment.dx-resizable-resizing,\n.dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-active {\n  -webkit-box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-all-day-appointment.dx-state-hover,\n.dx-scheduler-timeline .dx-scheduler-appointment.dx-state-hover,\n.dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-hover {\n  -webkit-box-shadow: inset 5px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 5px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-all-day-appointment.dx-state-hover.dx-resizable,\n.dx-scheduler-timeline .dx-scheduler-appointment.dx-state-hover.dx-resizable,\n.dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-hover.dx-resizable {\n  -webkit-box-shadow: inset 5px 0 0 0 rgba(0,0,0,.3),inset -2px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset 5px 0 0 0 rgba(0,0,0,.3),inset -2px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-rtl .dx-scheduler-all-day-appointment.dx-state-hover,\n.dx-rtl .dx-scheduler-timeline .dx-scheduler-appointment.dx-state-hover,\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-hover {\n  -webkit-box-shadow: inset -5px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset -5px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-rtl .dx-scheduler-all-day-appointment.dx-state-hover.dx-resizable,\n.dx-rtl .dx-scheduler-timeline .dx-scheduler-appointment.dx-state-hover.dx-resizable,\n.dx-rtl .dx-scheduler-work-space-month .dx-scheduler-appointment.dx-state-hover.dx-resizable {\n  -webkit-box-shadow: inset -5px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3);\n  box-shadow: inset -5px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3);\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging .dx-scheduler-all-day-appointment,\n.dx-scheduler-timeline .dx-draggable-dragging .dx-scheduler-appointment,\n.dx-scheduler-work-space-month .dx-draggable-dragging .dx-scheduler-appointment {\n  -webkit-box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3),7px 7px 15px 0 rgba(50,50,50,.2);\n  box-shadow: inset -2px 0 0 0 rgba(0,0,0,.3),inset 2px 0 0 0 rgba(0,0,0,.3),7px 7px 15px 0 rgba(50,50,50,.2);\n}\n.dx-scheduler-appointment.dx-scheduler-appointment-body,\n.dx-scheduler-appointment.dx-scheduler-appointment-tail {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-appointment-recurrence-icon {\n  position: absolute;\n  background-repeat: no-repeat;\n  top: 3px;\n  right: 5px;\n  display: block;\n}\n.dx-scheduler-appointment-recurrence-icon.dx-icon-repeat {\n  font-size: 18px;\n}\n.dx-scheduler-all-day-appointment .dx-scheduler-appointment-reduced-icon {\n  position: absolute;\n  top: 15%;\n}\n.dx-scheduler-appointment-reduced.dx-scheduler-appointment-head .dx-scheduler-appointment-recurrence-icon {\n  right: 20px;\n}\n.dx-scheduler-appointment-content {\n  cursor: pointer;\n  height: 100%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  opacity: .99;\n  padding: 2px 5px;\n}\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-month .dx-scheduler-appointment-content {\n  font-size: 12px;\n}\n.dx-scheduler-appointment-content > * {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-scheduler-appointment-empty .dx-scheduler-appointment-content-details,\n.dx-scheduler-appointment-empty .dx-scheduler-appointment-recurrence-icon,\n.dx-scheduler-appointment-empty .dx-scheduler-appointment-title {\n  display: none;\n}\n.dx-scheduler-appointment-content-details {\n  font-size: 11px;\n  white-space: pre;\n  overflow: hidden;\n}\n.dx-scheduler-all-day-appointment .dx-scheduler-appointment-content-details,\n.dx-scheduler-work-space-month .dx-scheduler-appointment-content-details {\n  display: none;\n}\n.dx-scheduler-appointment-popup .dx-form .dx-field-item.dx-appointment-form-switch > div {\n  -webkit-box-flex: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n  width: auto;\n}\n.dx-scheduler-appointment-popup .dx-layout-manager .dx-label-h-align .dx-field-item-content .dx-checkbox,\n.dx-scheduler-appointment-popup .dx-layout-manager .dx-label-h-align .dx-field-item-content .dx-switch {\n  margin: 0;\n}\n.dx-scheduler-appointment-popup .dx-field-item-label-location-left {\n  padding-right: 20px;\n}\n.dx-scheduler-appointment-popup .dx-field {\n  min-height: 0;\n}\n.dx-scheduler-appointment-popup .dx-field-label {\n  width: auto;\n}\n.dx-scheduler-appointment-popup .dx-field-value {\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-scheduler-appointment-popup .dx-field-value:not(.dx-widget) > .dx-checkbox {\n  float: left;\n}\n.dx-scheduler-appointment-popup .dx-field-value:not(.dx-widget) > .dx-checkbox.dx-rtl {\n  float: right;\n}\n.dx-scheduler-appointment-collector {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-scheduler-appointment-collector.dx-button,\n.dx-scheduler-appointment-collector.dx-button.dx-state-active,\n.dx-scheduler-appointment-collector.dx-button.dx-state-focused,\n.dx-scheduler-appointment-collector.dx-button.dx-state-hover {\n  background-color: #337ab7;\n  color: #fff;\n  border: none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-scheduler-appointment-collector.dx-button.dx-state-hover::before {\n  pointer-events: none;\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(0,0,0,.3);\n  opacity: .98;\n}\n.dx-scheduler-appointment-collector.dx-button.dx-state-hover .dx-button-content,\n.dx-scheduler-appointment-collector.dx-button.dx-state-hover .dx-scheduler-appointment-collector-content {\n  color: #fff;\n  opacity: .99;\n}\n.dx-scheduler-appointment-collector-compact .dx-button-content span:last-child,\n.dx-scheduler-appointment-collector-compact .dx-scheduler-appointment-collector-content span:last-child {\n  padding-left: 0;\n}\n.dx-scheduler-agenda .dx-scheduler-scrollable-appointments {\n  width: 100%;\n  height: 0;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment {\n  position: relative;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  margin-top: 5px;\n  margin-bottom: 5px;\n}\n.dx-scheduler-agenda .dx-scheduler-appointment.dx-scheduler-last-in-date-agenda-appointment {\n  margin-bottom: 20px;\n}\n.dx-rtl .dx-scheduler-appointment-recurrence-icon {\n  left: 5px;\n  right: auto;\n}\n.dx-rtl .dx-scheduler-appointment-reduced.dx-scheduler-appointment-head .dx-scheduler-appointment-recurrence-icon {\n  left: 20px;\n  right: auto;\n}\n.dx-rtl .dx-scheduler-work-space-day .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content,\n.dx-rtl .dx-scheduler-work-space-week .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content,\n.dx-rtl .dx-scheduler-work-space-work-week .dx-scheduler-appointment-reduced .dx-scheduler-appointment-content {\n  padding-right: 5px;\n  padding-left: 40px;\n}\n.dx-rtl .dx-scheduler-all-day-appointments,\n.dx-rtl .dx-scheduler-scrollable-appointments {\n  left: 0;\n}\n.dx-scheduler-small.dx-rtl .dx-scheduler-date-time-shader-bottom::before,\n.dx-scheduler-small.dx-rtl .dx-scheduler-date-time-shader-top::before {\n  margin-right: 50px;\n}\n.dx-scheduler-time-panel-cell {\n  height: 36px;\n}\n.dx-scheduler-time-panel-cell.dx-scheduler-time-panel-current-time-cell::before,\n.dx-scheduler-time-panel-cell::after {\n  content: \"\";\n}\n.dx-scheduler-date-table-cell {\n  height: 36px;\n}\n.dx-scheduler-all-day-title {\n  height: 54px;\n  line-height: 54px;\n  font-size: 11px;\n  font-weight: 700;\n}\n.dx-scheduler-work-space-all-day-collapsed .dx-scheduler-all-day-title {\n  height: 18px;\n  line-height: 18px;\n}\n.dx-scheduler-all-day-table {\n  height: 54px;\n}\n.dx-scheduler-work-space-all-day-collapsed .dx-scheduler-all-day-table {\n  height: 18px;\n}\n.dx-scheduler-header-panel {\n  margin-top: 5px;\n}\n.dx-scheduler-work-space-vertical-grouped .dx-scheduler-header-panel {\n  margin-top: 6px;\n}\n.dx-scheduler-header-panel-cell {\n  height: 31px;\n}\n.dx-scheduler-header-panel-cell.dx-scheduler-header-panel-current-time-cell::before {\n  top: 28px;\n  height: 2px;\n}\n.dx-scheduler-timeline .dx-scheduler-date-table-cell {\n  border-right: none;\n  height: 50px;\n}\n.dx-scheduler-work-space-day.dx-scheduler-work-space-count:not(.dx-scheduler-work-space-vertical-grouped) .dx-scheduler-header-panel {\n  margin-top: 5px;\n}\n.dx-scheduler-work-space-day .dx-scheduler-header-panel .dx-scheduler-group-row:not(:first-child) {\n  border-bottom: none;\n}\n.dx-scheduler-work-space-month .dx-scheduler-appointment-content {\n  font-size: 11px;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-first-of-month {\n  border-left: 1px solid #aaa;\n  border-top: 1px solid #aaa;\n}\n.dx-scheduler-header {\n  height: 39px;\n  background-color: #f5f5f5;\n}\n.dx-scheduler-header .dx-toolbar .dx-toolbar-item-content,\n.dx-scheduler-header .dx-toolbar .dx-toolbar-menu-container {\n  padding: 5px;\n}\n.dx-scheduler-header .dx-toolbar .dx-scheduler-navigator .dx-scheduler-navigator-caption {\n  min-width: 180px;\n}\n.dx-scheduler-adaptive .dx-scheduler-header .dx-toolbar .dx-scheduler-navigator .dx-scheduler-navigator-caption {\n  min-width: 140px;\n}\n.dx-scheduler-header .dx-toolbar .dx-button.dx-item-selected,\n.dx-scheduler-header .dx-toolbar .dx-button.dx-state-focused,\n.dx-scheduler-header .dx-toolbar .dx-button.dx-state-hover {\n  background-color: #ebebeb;\n}\n.dx-scheduler-header .dx-toolbar .dx-scheduler-navigator .dx-buttongroup .dx-button.dx-item-selected {\n  background-color: #fff;\n}\n.dx-scheduler-header .dx-toolbar .dx-scheduler-navigator .dx-buttongroup .dx-button.dx-item-selected.dx-state-focused,\n.dx-scheduler-header .dx-toolbar .dx-scheduler-navigator .dx-buttongroup .dx-button.dx-item-selected.dx-state-hover {\n  background-color: #ebebeb;\n}\n.dx-scheduler-header-panel .dx-scheduler-group-row:not(:first-child) {\n  border-bottom: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-header-panel .dx-scheduler-group-row:not(:first-child) .dx-scheduler-group-header {\n  color: #333;\n}\n.dx-scheduler-group-flex-container .dx-scheduler-group-header,\n.dx-scheduler-header-panel .dx-scheduler-group-header,\n.dx-scheduler-work-space-vertical-group-table .dx-scheduler-group-header {\n  font-weight: 700;\n  color: #333;\n  padding: 0;\n}\n.dx-scheduler-all-day-panel {\n  background-color: #fff;\n}\n.dx-scheduler-work-space.dx-scheduler-work-space-grouped .dx-scheduler-all-day-title {\n  border-top: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space.dx-scheduler-work-space-grouped.dx-scheduler-agenda .dx-scheduler-date-table-cell {\n  border: none;\n}\n.dx-rtl .dx-scheduler-work-space.dx-scheduler-work-space-grouped.dx-scheduler-timeline .dx-scheduler-group-row th {\n  border-left: none;\n  border-right: none;\n}\n.dx-scheduler-work-space-week .dx-scheduler-date-table-row:first-child {\n  border-top: none;\n}\n.dx-scheduler-all-day-table-cell.dx-state-active,\n.dx-scheduler-date-table-cell.dx-state-active {\n  background-color: rgba(221,221,221,.7);\n}\n.dx-scheduler-all-day-table-cell.dx-state-hover,\n.dx-scheduler-date-table-cell.dx-state-hover {\n  background-color: rgba(0,0,0,.04);\n  color: #959595;\n}\n.dx-scheduler-appointment-popup .dx-popup-title {\n  background-color: #fff;\n}\n.dx-scheduler-appointment-popup .dx-popup-title .dx-closebutton,\n.dx-scheduler-appointment-popup .dx-popup-title .dx-closebutton.dx-rtl {\n  margin: 0;\n}\n.dx-scheduler-appointment-popup .dx-popup-bottom {\n  border-top: 1px solid #ddd;\n}\n.dx-scheduler-appointment-popup .dx-toolbar-after {\n  margin-right: 4px;\n}\n.dx-rtl .dx-scheduler-appointment-popup .dx-toolbar-after {\n  margin-left: 4px;\n  margin-right: 0;\n}\n.dx-scheduler-appointment-popup .dx-form-validation-summary {\n  padding: 10px 20px;\n}\n.dx-scheduler-work-space-month .dx-scheduler-date-table-cell {\n  font-size: 14px;\n}\n.dx-scheduler-group-header,\n.dx-scheduler-header-panel,\n.dx-scheduler-time-panel {\n  font-size: 12px;\n}\n.dx-scheduler-work-space-grouped .dx-scheduler-group-row th,\n.dx-scheduler-work-space.dx-scheduler-work-space-grouped .dx-scheduler-last-group-cell {\n  border-right: 1px solid #aaa;\n}\n.dx-scheduler-work-space-grouped .dx-scheduler-group-row th:last-child,\n.dx-scheduler-work-space.dx-scheduler-work-space-grouped .dx-scheduler-last-group-cell:last-child {\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-work-space-grouped .dx-scheduler-group-row th,\n.dx-rtl .dx-scheduler-work-space.dx-scheduler-work-space-grouped .dx-scheduler-last-group-cell {\n  border-left: 1px solid #aaa;\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-work-space-grouped .dx-scheduler-group-row th:last-child,\n.dx-rtl .dx-scheduler-work-space.dx-scheduler-work-space-grouped .dx-scheduler-last-group-cell:last-child {\n  border-left: none;\n}\n.dx-scheduler-work-space-grouped.dx-scheduler-timeline .dx-scheduler-group-row th,\n.dx-scheduler-work-space-grouped.dx-scheduler-timeline .dx-scheduler-last-group-cell,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-row th,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-vertical-grouped .dx-scheduler-group-row th,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-vertical-grouped .dx-scheduler-last-group-cell {\n  border-right: 1px solid rgba(221,221,221,.6);\n  border-left: 1px solid rgba(221,221,221,.6);\n}\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-date-table-cell.dx-scheduler-last-group-cell,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header.dx-scheduler-last-group-cell,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-header-panel-cell {\n  border-right: 1px solid #aaa;\n}\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-date-table-cell.dx-scheduler-last-group-cell:last-child,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header.dx-scheduler-last-group-cell:last-child,\n.dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-header-panel-cell:last-child {\n  border-right: none;\n}\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-date-table-cell.dx-scheduler-last-group-cell,\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header.dx-scheduler-last-group-cell,\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-header-panel-cell {\n  border-left: 1px solid #aaa;\n  border-right: 1px solid rgba(221,221,221,.6);\n}\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-date-table-cell.dx-scheduler-last-group-cell:last-child,\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-group-header.dx-scheduler-last-group-cell:last-child,\n.dx-rtl .dx-scheduler-work-space-grouped.dx-scheduler-work-space-group-by-date .dx-scheduler-header-panel-cell:last-child {\n  border-left: none;\n}\n.dx-scheduler-appointment-collector {\n  height: 17px;\n}\n.dx-scheduler-appointment-collector.dx-button.dx-button-default,\n.dx-scheduler-appointment-collector.dx-state-hover::before {\n  border-radius: 17px;\n}\n.dx-scheduler-appointment {\n  border-left: 2px solid transparent;\n  border-right: 1px solid transparent;\n}\n.dx-scheduler-appointment.dx-state-focused {\n  color: #fff;\n}\n.dx-scheduler-appointment.dx-scheduler-appointment-empty {\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n}\n.dx-scheduler-fixed-appointments .dx-draggable-dragging .dx-scheduler-appointment {\n  border-right: none;\n}\n.dx-scheduler-appointment-reduced .dx-scheduler-appointment-content {\n  padding-right: 40px;\n}\n.dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 2px 25px 2px 5px;\n}\n.dx-rtl .dx-scheduler-appointment-recurrence .dx-scheduler-appointment-content {\n  padding: 2px 5px 2px 25px;\n}\n.dx-scheduler-dropdown-appointment-date {\n  color: #959595;\n}\n.dx-scheduler-work-space-both-scrollbar .dx-scheduler-all-day-title {\n  background-color: #fff;\n}\n.dx-scheduler-agenda .dx-scheduler-group-header {\n  font-size: 14px;\n  width: 60px;\n}\n.dx-scheduler-agenda .dx-scheduler-group-header-content {\n  overflow: hidden;\n  width: 60px;\n  padding: 10px 0 0 10px;\n  -webkit-box-shadow: inset 0 -1px 0 0 #c4c4c4;\n  box-shadow: inset 0 -1px 0 0 #c4c4c4;\n}\n.dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  vertical-align: top;\n  padding-top: 10px;\n  padding-left: 10px;\n  padding-right: 0;\n}\n.dx-rtl .dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  padding-right: 10px;\n  padding-left: 0;\n}\n.dx-scheduler-agenda .dx-scheduler-group-header-content,\n.dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  text-align: left;\n}\n.dx-rtl .dx-scheduler-agenda .dx-scheduler-group-header-content,\n.dx-rtl .dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  text-align: right;\n}\n.dx-scheduler-agenda .dx-scheduler-date-table-cell,\n.dx-scheduler-agenda .dx-scheduler-time-panel-cell {\n  -webkit-box-shadow: inset 0 -1px 0 0 rgba(221,221,221,.6);\n  box-shadow: inset 0 -1px 0 0 rgba(221,221,221,.6);\n}\n.dx-scheduler-agenda .dx-scheduler-date-table-last-row .dx-scheduler-date-table-cell,\n.dx-scheduler-agenda .dx-scheduler-date-table-last-row .dx-scheduler-time-panel-cell {\n  -webkit-box-shadow: inset 0 -1px 0 0 #c4c4c4;\n  box-shadow: inset 0 -1px 0 0 #c4c4c4;\n}\n.dx-scheduler-agenda-nodata {\n  font-size: 12px;\n}\n.dx-scheduler-appointment-tooltip-wrapper .dx-overlay-content .dx-popup-content .dx-list-item {\n  border-top-width: 1px;\n}\n.dx-scheduler .dx-scheduler-overlay-panel .dx-overlay-content {\n  background: #fff;\n}\n.dx-layout-manager .dx-field-item:not(.dx-first-row) {\n  padding-top: 10px;\n}\n.dx-layout-manager .dx-field-item:not(.dx-first-col) {\n  padding-left: 15px;\n}\n.dx-layout-manager .dx-field-item:not(.dx-last-col) {\n  padding-right: 15px;\n}\n.dx-layout-manager .dx-field-empty-item {\n  width: 100%;\n}\n.dx-layout-manager.dx-layout-manager-one-col .dx-single-column-item-content > .dx-field-item {\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-layout-manager.dx-layout-manager-one-col .dx-form-group .dx-single-column-item-content > .dx-first-row.dx-col-0.dx-field-item {\n  padding-top: 0;\n}\n.dx-layout-manager.dx-layout-manager-one-col .dx-box-item:not(:first-child) .dx-single-column-item-content > .dx-field-item {\n  padding-top: 10px;\n}\n.dx-layout-manager .dx-label-h-align.dx-flex-layout {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-layout-manager .dx-label-h-align.dx-flex-layout .dx-field-item-label {\n  display: block;\n}\n.dx-layout-manager .dx-label-h-align.dx-flex-layout .dx-field-item-content,\n.dx-layout-manager .dx-label-h-align.dx-flex-layout .dx-field-item-content-wrapper {\n  -ms-flex-negative: 1;\n  flex-shrink: 1;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-preferred-size: auto;\n  flex-basis: auto;\n  display: block;\n}\n.dx-layout-manager .dx-label-h-align.dx-flex-layout:not(.dx-field-item-label-align) {\n  -webkit-box-align: baseline;\n  -ms-flex-align: baseline;\n  align-items: baseline;\n}\n.dx-layout-manager .dx-label-h-align.dx-field-item-label-align:not(.dx-flex-layout) .dx-field-item-label {\n  vertical-align: baseline;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-content,\n.dx-layout-manager .dx-label-h-align .dx-field-item-content-wrapper,\n.dx-layout-manager .dx-label-h-align .dx-field-item-label {\n  display: table-cell;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-content-wrapper .dx-field-item-content {\n  display: block;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-label {\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-label .dx-field-item-label-content {\n  display: block;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-label .dx-field-item-custom-label-content {\n  display: inline-block;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-content,\n.dx-layout-manager .dx-label-h-align .dx-field-item-label .dx-field-item-custom-label-content .dx-icon {\n  vertical-align: top;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-content .dx-checkbox,\n.dx-layout-manager .dx-label-h-align .dx-field-item-content .dx-switch {\n  margin-top: 7px;\n  margin-bottom: 4px;\n}\n.dx-layout-manager .dx-label-h-align .dx-field-item-content,\n.dx-layout-manager .dx-label-h-align .dx-field-item-content-wrapper {\n  width: 100%;\n}\n.dx-layout-manager .dx-tabpanel .dx-multiview-item-content {\n  padding: 20px;\n}\n.dx-field-item-label-location-top {\n  display: block;\n}\n.dx-field-item-label-location-top .dx-field-item-custom-label-content {\n  display: inline-block;\n}\n.dx-field-item-label-location-top .dx-field-item-custom-label-content .dx-icon {\n  vertical-align: top;\n}\n.dx-form-group-content {\n  border-width: 0;\n  padding: 0;\n  margin: 0;\n}\n.dx-form-group-with-caption > .dx-form-group-content {\n  padding-top: 19px;\n  margin-top: 6px;\n  border-top: 1px solid #ddd;\n  padding-bottom: 10px;\n}\n.dx-form-group-with-caption .dx-form-group.dx-form-group-with-caption {\n  padding-left: 20px;\n}\n.dx-layout-manager-hidden-label {\n  position: absolute;\n  display: block;\n  visibility: hidden;\n}\n.dx-field-item-help-text {\n  font-style: italic;\n  white-space: normal;\n}\n.dx-field-item-label-location-left {\n  padding-right: 10px;\n}\n.dx-field-item-label-location-right {\n  padding-left: 10px;\n}\n.dx-field-item-optional .dx-label > span::after,\n.dx-field-item-required .dx-label > span::after {\n  content: attr(data-mark);\n}\n.dx-rtl .dx-field-item-optional-mark,\n.dx-rtl .dx-field-item-required-mark {\n  unicode-bidi: embed;\n}\n.dx-rtl .dx-field-item:not(.dx-first-col) {\n  padding-left: 0;\n  padding-right: 15px;\n}\n.dx-rtl .dx-field-item:not(.dx-last-col) {\n  padding-left: 15px;\n  padding-right: 0;\n}\n.dx-rtl .dx-field-item-label-location-left {\n  padding-right: 0;\n  padding-left: 10px;\n}\n.dx-rtl .dx-field-item-label-location-right {\n  padding-left: 0;\n  padding-right: 10px;\n}\n.dx-rtl .dx-layout-manager-one-col .dx-single-column-item-content > .dx-field-item {\n  padding-right: 0;\n  padding-left: 0;\n}\n.dx-rtl .dx-form-group-with-caption .dx-form-group.dx-form-group-with-caption {\n  padding-left: 0;\n  padding-right: 20px;\n}\n.dx-form-group-caption {\n  font-size: 16px;\n}\n.dx-field-item-help-text,\n.dx-field-item-label-text {\n  color: #333;\n}\n.dx-field-item-optional .dx-label > span::after,\n.dx-field-item-optional-mark {\n  color: #afafaf;\n}\n.dx-field-item-required .dx-label > span::after,\n.dx-field-item-required-mark {\n  color: #c9302c;\n}\n.dx-field-item-custom-label-content .dx-icon {\n  width: 16px;\n  height: 16px;\n  background-position: 0 0;\n  background-size: 16px 16px;\n  padding: 0;\n  font-size: 16px;\n  text-align: center;\n  line-height: 16px;\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-field-item-custom-label-content .dx-icon.dx-icon-right,\n.dx-rtl .dx-field-item-custom-label-content .dx-icon,\n.dx-rtl.dx-field-item-custom-label-content .dx-icon {\n  margin-left: 7px;\n  margin-right: 0;\n}\n.dx-rtl .dx-field-item-custom-label-content .dx-icon.dx-icon-right,\n.dx-rtl.dx-field-item-custom-label-content .dx-icon.dx-icon-right {\n  margin-right: 7px;\n  margin-left: 0;\n}\n.dx-filterbuilder.dx-rtl .dx-filterbuilder-action-icon,\n.dx-filterbuilder.dx-rtl .dx-filterbuilder-text {\n  margin-left: 5px;\n  margin-right: 0;\n}\n.dx-filterbuilder.dx-rtl .dx-filterbuilder-group .dx-filterbuilder-group-content .dx-filterbuilder-group-content {\n  padding-left: 0;\n  padding-right: 26px;\n}\n.dx-filterbuilder .dx-filterbuilder-action-icon,\n.dx-filterbuilder .dx-filterbuilder-text {\n  margin-left: 0;\n  margin-right: 5px;\n}\n.dx-filterbuilder .dx-filterbuilder-action-icon:focus,\n.dx-filterbuilder .dx-filterbuilder-item-value-text:focus,\n.dx-filterbuilder .dx-filterbuilder-text:focus {\n  outline: 0;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item {\n  display: inline-block;\n  white-space: nowrap;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text {\n  display: inline-block;\n  cursor: pointer;\n  white-space: pre;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text .dx-filterbuilder-range {\n  white-space: nowrap;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text .dx-filterbuilder-range-separator,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text .dx-filterbuilder-text-separator {\n  margin: 0 7px;\n  opacity: .3;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text .dx-filterbuilder-item-value-text,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text.dx-filterbuilder-group-operation,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text.dx-filterbuilder-item-field,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text.dx-filterbuilder-item-operation {\n  min-width: 20px;\n  padding: 2px 7px 3px;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-text .dx-texteditor {\n  vertical-align: middle;\n  margin-top: -7px;\n  margin-bottom: -4px;\n  display: inline-block;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-action {\n  display: inline-block;\n  cursor: pointer;\n  position: relative;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-item .dx-filterbuilder-action.dx-filterbuilder-action-icon {\n  padding: 5px 8px;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-group-content .dx-filterbuilder-group-content {\n  padding-left: 26px;\n}\n.dx-filterbuilder-operations .dx-treeview-item {\n  padding-left: 5px;\n}\n.dx-filterbuilder-operations .dx-rtl .dx-treeview-item {\n  padding-right: 5px;\n}\n.dx-filterbuilder-overlay {\n  white-space: nowrap;\n}\n.dx-filterbuilder-overlay .dx-treeview .dx-treeview-node {\n  padding-left: 0;\n}\n.dx-filterbuilder-overlay .dx-treeview .dx-treeview-node .dx-treeview-node-container-opened {\n  margin-left: 15px;\n}\n.dx-filterbuilder-overlay .dx-treeview.dx-rtl .dx-treeview-node {\n  padding-right: 0;\n}\n.dx-filterbuilder-overlay .dx-treeview.dx-rtl .dx-treeview-node .dx-treeview-node-container-opened {\n  margin-right: 15px;\n}\n.dx-filterbuilder-overlay .dx-overlay-content.dx-popup-normal {\n  border-radius: 0;\n}\n.dx-filterbuilder-overlay .dx-overlay-content.dx-popup-normal > .dx-popup-content {\n  padding: 0;\n}\n.dx-filterbuilder-overlay .dx-scrollable-container {\n  max-height: 360px;\n}\n.dx-filterbuilder-overlay .dx-menu-items-container {\n  padding: 0;\n}\n.dx-filterbuilder {\n  background-color: #fff;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text {\n  color: #333;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-group-operation {\n  background-color: rgba(217,83,79,.3);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-group-operation:hover {\n  background-color: rgba(217,83,79,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-group-operation.dx-state-active,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-group-operation:focus {\n  background-color: #d9534f;\n  color: #fff;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-field {\n  background-color: rgba(51,122,183,.3);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-field:hover {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-field.dx-state-active,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-field:focus {\n  background-color: #337ab7;\n  color: #fff;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-operation {\n  background-color: rgba(92,184,92,.3);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-operation:hover {\n  background-color: rgba(92,184,92,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-operation.dx-state-active,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text.dx-filterbuilder-item-operation:focus {\n  background-color: #5cb85c;\n  color: #fff;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text .dx-filterbuilder-item-value-text,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text .dx-filterbuilder-item-value-text:hover {\n  background-color: rgba(221,221,221,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text .dx-filterbuilder-item-value-text.dx-state-active,\n.dx-filterbuilder .dx-filterbuilder-group .dx-filterbuilder-text .dx-filterbuilder-item-value-text:focus {\n  background-color: #ddd;\n  color: #fff;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus {\n  color: rgba(92,184,92,.3);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus:hover {\n  color: rgba(92,184,92,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus.dx-state-active,\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-plus:focus {\n  color: #5cb85c;\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove {\n  color: rgba(217,83,79,.3);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove:hover {\n  color: rgba(217,83,79,.5);\n}\n.dx-filterbuilder .dx-filterbuilder-group .dx-icon-remove:focus {\n  color: #d9534f;\n}\n.dx-filterbuilder-overlay.dx-filterbuilder-operations .dx-treeview-item .dx-icon {\n  color: #898989;\n  width: 14px;\n  height: 14px;\n  background-position: 0 0;\n  background-size: 14px 14px;\n  padding: 0;\n  font-size: 14px;\n  text-align: center;\n  line-height: 14px;\n}\n.dx-filterbuilder .dx-filterbuilder-action-icon {\n  margin-bottom: 5px;\n}\n.dx-filterbuilder .dx-filterbuilder-item-value-text,\n.dx-filterbuilder .dx-filterbuilder-text {\n  border-radius: 5px;\n}\n.dx-filterbuilder .dx-filterbuilder-range-separator {\n  color: #333;\n}\n.dx-filterbuilder-overlay .dx-treeview-item {\n  padding: 3px 15px;\n}\n.dx-filterbuilder-overlay .dx-rtl .dx-treeview-item {\n  padding-left: 15px;\n}\n.dx-drawer {\n  height: 100%;\n  width: 100%;\n}\n.dx-drawer-wrapper {\n  position: relative;\n  overflow: hidden;\n  height: 100%;\n}\n.dx-drawer-panel-content {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n}\n.dx-drawer-right .dx-drawer-panel-content {\n  right: 0;\n}\n.dx-drawer-left .dx-drawer-panel-content {\n  left: 0;\n}\n.dx-drawer-panel-content-push-top-or-bottom {\n  width: 100%;\n}\n.dx-drawer-content {\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n  top: 0;\n}\n.dx-drawer-shader {\n  z-index: 1000;\n  position: absolute;\n  top: 0;\n  height: 100%;\n  width: 100%;\n  background-color: rgba(0,0,0,.5);\n}\n.dx-drawer-push.dx-drawer-bottom .dx-drawer-panel-content {\n  top: auto;\n}\n.dx-drawer-shrink .dx-drawer-panel-content {\n  position: relative;\n  overflow: hidden;\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  height: 100%;\n}\n.dx-drawer-shrink .dx-drawer-wrapper {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n.dx-drawer-shrink .dx-drawer-content {\n  position: relative;\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n.dx-drawer-shrink.dx-drawer-bottom .dx-drawer-wrapper,\n.dx-drawer-shrink.dx-drawer-top .dx-drawer-wrapper {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-drawer-overlap .dx-drawer-panel-content {\n  overflow: visible;\n}\n.dx-drawer-overlap .dx-drawer-panel-content.dx-overlay-wrapper {\n  right: auto;\n  left: auto;\n}\n.dx-drawer-overlap.dx-drawer-left .dx-drawer-wrapper,\n.dx-drawer-overlap.dx-drawer-right .dx-drawer-wrapper {\n  overflow-y: visible;\n}\n.dx-drawer-overlap.dx-drawer-bottom .dx-drawer-wrapper,\n.dx-drawer-overlap.dx-drawer-top .dx-drawer-wrapper {\n  overflow-x: visible;\n}\n.dx-drawer-overlap.dx-drawer-right.dx-drawer-expand>.dx-drawer-wrapper>.dx-overlay>.dx-overlay-wrapper>.dx-overlay-content,\n.dx-drawer-overlap.dx-drawer-right.dx-drawer-slide>.dx-drawer-wrapper>.dx-overlay>.dx-overlay-wrapper>.dx-overlay-content {\n  right: 0;\n}\n.dx-htmleditor {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  border: 1px solid transparent;\n}\n.dx-htmleditor:not(.dx-state-disabled) li[data-list=checked],\n.dx-htmleditor:not(.dx-state-disabled) li[data-list=unchecked] {\n  cursor: pointer;\n}\n.dx-htmleditor-add-image-popup-with-tabs > .dx-overlay-content > .dx-popup-content {\n  padding: 0;\n}\n.dx-htmleditor-hidden-content {\n  display: none;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-multiview-wrapper {\n  border-left-color: transparent;\n  border-right-color: transparent;\n  border-bottom-color: transparent;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fix-ratio-container .dx-textbox {\n  display: inline-block;\n  width: calc(100% - 31px);\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fix-ratio-container .dx-buttongroup {\n  vertical-align: top;\n  margin-left: 5px;\n  width: 26px;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-wrapper {\n  padding: 0;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-upload-button {\n  display: none;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content .dx-popup-title {\n  border-bottom: 0;\n}\n.dx-quill-container {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex: 1;\n  flex: 1;\n  -ms-flex-preferred-size: auto;\n  flex-basis: auto;\n  min-height: 1px;\n  margin: 0;\n  position: relative;\n  overflow: hidden;\n}\n.ql-clipboard {\n  left: -100000px;\n  height: 1px;\n  overflow-y: hidden;\n  position: absolute;\n  top: 50%;\n}\n.ql-clipboard p {\n  margin: 0;\n  padding: 0;\n}\n.dx-htmleditor-content {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  line-height: 1.42;\n  width: 100%;\n  outline: 0;\n  overflow-y: auto;\n  padding: 12px 15px;\n  white-space: pre-wrap;\n  word-wrap: break-word;\n}\n.dx-htmleditor-content .dx-variable > span {\n  padding: 3px 6px;\n  border-radius: 8px;\n  background: rgba(51,122,183,.15);\n}\n.dx-htmleditor-content > * {\n  cursor: text;\n}\n.dx-htmleditor-content blockquote,\n.dx-htmleditor-content h1,\n.dx-htmleditor-content h2,\n.dx-htmleditor-content h3,\n.dx-htmleditor-content h4,\n.dx-htmleditor-content h5,\n.dx-htmleditor-content h6,\n.dx-htmleditor-content ol,\n.dx-htmleditor-content p,\n.dx-htmleditor-content pre,\n.dx-htmleditor-content ul {\n  margin: 0;\n  padding: 0;\n}\n.dx-htmleditor-content h1,\n.dx-htmleditor-content h2,\n.dx-htmleditor-content h3,\n.dx-htmleditor-content h4,\n.dx-htmleditor-content h5,\n.dx-htmleditor-content h6,\n.dx-htmleditor-content ol,\n.dx-htmleditor-content p,\n.dx-htmleditor-content ul {\n  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.dx-htmleditor-content table {\n  border-collapse: collapse;\n  table-layout: fixed;\n  width: 100%;\n}\n.dx-htmleditor-content td,\n.dx-htmleditor-content th {\n  border: 1px solid #000;\n  padding: 2px 5px;\n}\n.dx-htmleditor-content ol,\n.dx-htmleditor-content ul {\n  padding-left: 1.5em;\n}\n.dx-rtl .dx-htmleditor-content ol,\n.dx-rtl .dx-htmleditor-content ul {\n  padding-left: 0;\n  padding-right: 1.5em;\n}\n.dx-htmleditor-content li {\n  list-style-type: none;\n  padding-left: 1.5em;\n  position: relative;\n}\n.dx-htmleditor-content li[data-list=bullet]::before {\n  content: \"•\";\n}\n.dx-htmleditor-content li[data-list=checked]::before {\n  content: \"☑\";\n}\n.dx-htmleditor-content li[data-list=unchecked]::before {\n  content: \"☐\";\n}\n.dx-htmleditor-content li::before {\n  display: inline-block;\n  margin-left: -1.5em;\n  margin-right: .3em;\n  text-align: right;\n  white-space: nowrap;\n  width: 1.2em;\n}\n.dx-htmleditor-content li > .ql-ui {\n  visibility: hidden;\n}\n.dx-htmleditor-content li[data-list=checked] > .ql-ui,\n.dx-htmleditor-content li[data-list=unchecked] > .ql-ui {\n  visibility: visible;\n}\n.dx-rtl .dx-htmleditor-content li {\n  padding-left: 0;\n  padding-right: 1.5em;\n}\n.dx-htmleditor-content li[data-list=ordered] {\n  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n  counter-increment: list-0;\n}\n.dx-htmleditor-content li[data-list=ordered]::before {\n  content: counter(list-0,decimal) \". \";\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-1 {\n  counter-increment: list-1;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-1::before {\n  content: counter(list-1,lower-alpha) \". \";\n}\n.dx-htmleditor-content li.ql-indent-1 {\n  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n  padding-left: 4.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-2 {\n  counter-increment: list-2;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-2::before {\n  content: counter(list-2,lower-roman) \". \";\n}\n.dx-htmleditor-content li.ql-indent-2 {\n  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n  padding-left: 7.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-3 {\n  counter-increment: list-3;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-3::before {\n  content: counter(list-3,decimal) \". \";\n}\n.dx-htmleditor-content li.ql-indent-3 {\n  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;\n  padding-left: 10.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-4 {\n  counter-increment: list-4;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-4::before {\n  content: counter(list-4,lower-alpha) \". \";\n}\n.dx-htmleditor-content li.ql-indent-4 {\n  counter-reset: list-5 list-6 list-7 list-8 list-9;\n  padding-left: 13.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-5 {\n  counter-increment: list-5;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-5::before {\n  content: counter(list-5,lower-roman) \". \";\n}\n.dx-htmleditor-content li.ql-indent-5 {\n  counter-reset: list-6 list-7 list-8 list-9;\n  padding-left: 16.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-6 {\n  counter-increment: list-6;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-6::before {\n  content: counter(list-6,decimal) \". \";\n}\n.dx-htmleditor-content li.ql-indent-6 {\n  counter-reset: list-7 list-8 list-9;\n  padding-left: 19.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-7 {\n  counter-increment: list-7;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-7::before {\n  content: counter(list-7,lower-alpha) \". \";\n}\n.dx-htmleditor-content li.ql-indent-7 {\n  counter-reset: list-8 list-9;\n  padding-left: 22.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-8 {\n  counter-increment: list-8;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-8::before {\n  content: counter(list-8,lower-roman) \". \";\n}\n.dx-htmleditor-content li.ql-indent-8 {\n  counter-reset: list-9;\n  padding-left: 25.5em;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-9 {\n  counter-increment: list-9;\n}\n.dx-htmleditor-content ol li[data-list=ordered].ql-indent-9::before {\n  content: counter(list-9,decimal) \". \";\n}\n.dx-htmleditor-content .ql-indent-1 {\n  padding-left: 3em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-1 {\n  padding-left: 0;\n  padding-right: 3em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-1 {\n  padding-left: 0;\n  padding-right: 4.5em;\n}\n.dx-htmleditor-content .ql-indent-2 {\n  padding-left: 6em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-2 {\n  padding-left: 0;\n  padding-right: 6em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-2 {\n  padding-left: 0;\n  padding-right: 7.5em;\n}\n.dx-htmleditor-content .ql-indent-3 {\n  padding-left: 9em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-3 {\n  padding-left: 0;\n  padding-right: 9em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-3 {\n  padding-left: 0;\n  padding-right: 10.5em;\n}\n.dx-htmleditor-content .ql-indent-4 {\n  padding-left: 12em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-4 {\n  padding-left: 0;\n  padding-right: 12em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-4 {\n  padding-left: 0;\n  padding-right: 13.5em;\n}\n.dx-htmleditor-content .ql-indent-5 {\n  padding-left: 15em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-5 {\n  padding-left: 0;\n  padding-right: 15em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-5 {\n  padding-left: 0;\n  padding-right: 16.5em;\n}\n.dx-htmleditor-content .ql-indent-6 {\n  padding-left: 18em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-6 {\n  padding-left: 0;\n  padding-right: 18em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-6 {\n  padding-left: 0;\n  padding-right: 19.5em;\n}\n.dx-htmleditor-content .ql-indent-7 {\n  padding-left: 21em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-7 {\n  padding-left: 0;\n  padding-right: 21em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-7 {\n  padding-left: 0;\n  padding-right: 22.5em;\n}\n.dx-htmleditor-content .ql-indent-8 {\n  padding-left: 24em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-8 {\n  padding-left: 0;\n  padding-right: 24em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-8 {\n  padding-left: 0;\n  padding-right: 25.5em;\n}\n.dx-htmleditor-content .ql-indent-9 {\n  padding-left: 27em;\n}\n.dx-rtl .dx-htmleditor-content .ql-indent-9 {\n  padding-left: 0;\n  padding-right: 27em;\n}\n.dx-htmleditor-content li.ql-indent-9 {\n  padding-left: 28.5em;\n}\n.dx-rtl .dx-htmleditor-content li.ql-indent-9 {\n  padding-left: 0;\n  padding-right: 28.5em;\n}\n.dx-rtl .dx-htmleditor-content li::before {\n  margin-left: .3em;\n  margin-right: -1.5em;\n  text-align: left;\n}\n.dx-htmleditor-content table td,\n.dx-htmleditor-content table th {\n  outline: 0;\n}\n.dx-htmleditor-content .ql-code-block-container {\n  font-family: monospace;\n}\n.dx-htmleditor-content .ql-code-block-container,\n.dx-htmleditor-content code {\n  background-color: rgba(191,191,191,.15);\n  color: rgba(51,51,51,.8);\n}\n.dx-htmleditor-content .ql-video {\n  display: block;\n  max-width: 100%;\n}\n.dx-htmleditor-content .ql-video.ql-align-center {\n  margin: 0 auto;\n}\n.dx-htmleditor-content .ql-video.ql-align-right {\n  margin: 0 0 0 auto;\n}\n.dx-htmleditor-content .ql-font-serif {\n  font-family: Georgia,\"Times New Roman\",serif;\n}\n.dx-htmleditor-content .ql-font-monospace {\n  font-family: Monaco,\"Courier New\",monospace;\n}\n.dx-htmleditor-content .ql-direction-rtl {\n  direction: rtl;\n  text-align: inherit;\n}\n.dx-htmleditor-content.ql-blank::before {\n  content: attr(data-placeholder);\n  font-style: italic;\n  left: 15px;\n  pointer-events: none;\n  position: absolute;\n  right: 15px;\n  color: #999;\n}\n.dx-htmleditor-content.ql-blank::after {\n  content: attr(data-placeholder);\n  z-index: -1;\n  visibility: hidden;\n}\n.dx-htmleditor-content.ql-blank[data-placeholder] > p {\n  height: .1px;\n}\n.dx-htmleditor-content blockquote {\n  padding-left: 12px;\n  border-left: 4px solid;\n}\n.dx-rtl .dx-htmleditor-content blockquote {\n  padding-left: 0;\n  padding-right: 12px;\n  border-left: none;\n  border-right: 4px solid;\n}\n.dx-suggestion-list-wrapper .dx-list .dx-scrollable-content {\n  margin: 0;\n}\n.dx-suggestion-list {\n  min-width: 50px;\n}\n.dx-suggestion-list .dx-list-item {\n  display: block;\n}\n.dx-suggestion-list .dx-list-item-icon {\n  border-radius: 50%;\n  vertical-align: text-bottom;\n}\n.dx-formdialog-form {\n  min-width: 360px;\n}\n.dx-overlay-content.dx-popup-fullscreen .dx-formdialog-form {\n  min-width: 240px;\n}\n.dx-formdialog-field-target .dx-field-item-content {\n  text-align: right;\n}\n.dx-rtl .dx-formdialog-field-target .dx-field-item-content {\n  text-align: left;\n}\n.dx-background-format .dx-icon-background,\n.dx-background-format .dx-icon-color,\n.dx-color-format .dx-icon-background,\n.dx-color-format .dx-icon-color {\n  border-bottom: 3px solid transparent;\n}\n.dx-htmleditor-toolbar-separator {\n  border-left: 1px solid transparent;\n}\n.dx-htmleditor-toolbar-menu-separator {\n  width: 100%;\n  border-top: 1px solid transparent;\n}\n.dx-htmleditor-toolbar-menu-separator::before {\n  content: none;\n}\n.dx-resize-frame {\n  position: absolute;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n  border: 1px dashed #778899;\n  pointer-events: none;\n}\n.dx-resize-frame .dx-resizable-handle {\n  pointer-events: auto;\n}\n.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-resize-frame .dx-resizable-handle-corner-bottom-right,\n.dx-resize-frame .dx-resizable-handle-corner-top-left,\n.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  border: 1px solid #fff;\n  width: 11px;\n  height: 11px;\n  border-radius: 0;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-right,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-left,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  width: 15px;\n  height: 15px;\n}\n.dx-resize-frame .dx-resizable-handle-corner-bottom-right,\n.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  right: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-right,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  right: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-resize-frame .dx-resizable-handle-corner-top-left {\n  left: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-left {\n  left: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-corner-top-left,\n.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  top: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-left,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-top-right {\n  top: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-resize-frame .dx-resizable-handle-corner-bottom-right {\n  bottom: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-corner-bottom-right {\n  bottom: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-bottom::after,\n.dx-resize-frame .dx-resizable-handle-left::after,\n.dx-resize-frame .dx-resizable-handle-right::after,\n.dx-resize-frame .dx-resizable-handle-top::after {\n  content: \"\";\n  position: absolute;\n  width: 11px;\n  height: 11px;\n  border: 1px solid #fff;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-bottom::after,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-left::after,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-right::after,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-top::after {\n  width: 15px;\n  height: 15px;\n}\n.dx-resize-frame .dx-resizable-handle-left::after,\n.dx-resize-frame .dx-resizable-handle-right::after {\n  top: calc(50% - 5.5px);\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-left::after,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-right::after {\n  top: calc(50% - 7.5px);\n}\n.dx-resize-frame .dx-resizable-handle-bottom::after,\n.dx-resize-frame .dx-resizable-handle-top::after {\n  left: calc(50% - 5.5px);\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-bottom::after,\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-top::after {\n  left: calc(50% - 7.5px);\n}\n.dx-resize-frame .dx-resizable-handle-right::after {\n  right: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-right::after {\n  right: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-left::after {\n  left: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-left::after {\n  left: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-top::after {\n  top: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-top::after {\n  top: -7.5px;\n}\n.dx-resize-frame .dx-resizable-handle-bottom::after {\n  bottom: -5.5px;\n}\n.dx-touch-device.dx-resize-frame .dx-resizable-handle-bottom::after {\n  bottom: -7.5px;\n}\n.dx-mention {\n  padding: 1px 0;\n  border-radius: 2px;\n}\n.dx-mention .dx-template-wrapper {\n  white-space: nowrap;\n  display: inline-block;\n}\n.dx-mention > span {\n  margin: 0 2px;\n}\n.dx-table-resize-frame {\n  position: absolute;\n  pointer-events: none;\n}\n.dx-table-resize-frame > div {\n  position: absolute;\n  pointer-events: auto;\n  background-color: transparent;\n}\n.dx-table-resize-frame .dx-htmleditor-column-resizer {\n  width: 5px;\n  top: 0;\n  height: 100%;\n  cursor: col-resize;\n}\n.dx-table-resize-frame .dx-htmleditor-highlighted-column {\n  width: 3px;\n  top: 0;\n  height: 100%;\n}\n.dx-table-resize-frame .dx-htmleditor-row-resizer {\n  height: 5px;\n  left: 0;\n  width: 100%;\n  cursor: row-resize;\n}\n.dx-table-resize-frame .dx-htmleditor-highlighted-row {\n  height: 3px;\n  left: 0;\n  width: 100%;\n}\n.dx-htmleditor {\n  border-color: #ddd;\n}\n.dx-htmleditor .dx-htmleditor-toolbar-wrapper {\n  padding: 5px;\n  position: relative;\n}\n.dx-htmleditor .dx-htmleditor-toolbar-wrapper:first-child {\n  border-bottom: 1px solid #ddd;\n}\n.dx-htmleditor.dx-state-readonly {\n  border-style: dashed;\n}\n.dx-htmleditor.dx-state-readonly .dx-htmleditor-toolbar-wrapper::before {\n  position: absolute;\n  top: 1px;\n  bottom: 1px;\n  left: 1px;\n  right: 1px;\n  z-index: 2;\n  background-color: rgba(255,255,255,.2);\n  content: \"\";\n  pointer-events: none;\n}\n.dx-htmleditor.dx-state-readonly .dx-toolbar-button .dx-button.dx-state-disabled {\n  opacity: .5;\n}\n.dx-htmleditor.dx-htmleditor-outlined {\n  border-radius: 4px;\n}\n.dx-htmleditor.dx-htmleditor-outlined.dx-state-hover {\n  border-color: rgba(51,122,183,.4);\n}\n.dx-htmleditor.dx-htmleditor-outlined.dx-state-active,\n.dx-htmleditor.dx-htmleditor-outlined.dx-state-focused {\n  border-color: #337ab7;\n}\n.dx-htmleditor.dx-htmleditor-outlined.dx-invalid {\n  border-color: rgba(217,83,79,.4);\n}\n.dx-htmleditor.dx-htmleditor-outlined.dx-invalid.dx-state-active,\n.dx-htmleditor.dx-htmleditor-outlined.dx-invalid.dx-state-focused {\n  border-color: #d9534f;\n}\n.dx-htmleditor.dx-htmleditor-filled {\n  border-color: transparent;\n  background: rgba(51,51,51,.05);\n  border-radius: 4px;\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-state-readonly {\n  border-style: dashed;\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-state-readonly.dx-state-active,\n.dx-htmleditor.dx-htmleditor-filled.dx-state-readonly.dx-state-focused {\n  background-color: rgba(51,51,51,.03);\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-state-hover,\n.dx-htmleditor.dx-htmleditor-filled.dx-state-hover.dx-invalid.dx-state-readonly:not(.dx-state-focused) {\n  background-color: rgba(51,122,183,.07);\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-state-active,\n.dx-htmleditor.dx-htmleditor-filled.dx-state-focused {\n  background-color: transparent;\n  border-color: #337ab7;\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-invalid {\n  background-color: rgba(217,83,79,.1);\n}\n.dx-htmleditor.dx-htmleditor-filled.dx-invalid.dx-state-active,\n.dx-htmleditor.dx-htmleditor-filled.dx-invalid.dx-state-focused {\n  background: 0 0;\n  border-color: #d9534f;\n}\n.dx-htmleditor.dx-htmleditor-underlined {\n  border-color: transparent transparent #ddd;\n}\n.dx-htmleditor.dx-htmleditor-underlined .dx-htmleditor-content {\n  padding-left: 0;\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-state-hover {\n  border-bottom-color: rgba(51,122,183,.4);\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-state-active,\n.dx-htmleditor.dx-htmleditor-underlined.dx-state-focused {\n  border-bottom-color: #337ab7;\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-state-active.dx-invalid,\n.dx-htmleditor.dx-htmleditor-underlined.dx-state-focused.dx-invalid {\n  border-bottom-color: #d9534f;\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-rtl .dx-htmleditor-content {\n  padding-left: 15px;\n  padding-right: 0;\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-invalid {\n  border-bottom-color: rgba(217,83,79,.4);\n}\n.dx-htmleditor.dx-htmleditor-underlined.dx-invalid.dx-state-focused {\n  border-color: transparent transparent #d9534f;\n}\n.dx-htmleditor-content blockquote {\n  color: rgba(51,51,51,.8);\n  border-left-color: #ddd;\n}\n.dx-rtl .dx-htmleditor-content blockquote {\n  border-right-color: #ddd;\n}\n.dx-htmleditor-content td,\n.dx-htmleditor-content th {\n  border-color: #ddd;\n}\n.dx-htmleditor-toolbar {\n  background-color: transparent;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text {\n  background-color: rgba(0,0,0,.17);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-state-hover,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-state-hover {\n  background-color: rgba(0,0,0,.11);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-state-focused {\n  background-color: rgba(0,0,0,.14);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-success,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-success {\n  background-color: rgba(92,184,92,.3);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-success.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-success.dx-state-hover,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-success.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-success.dx-state-hover {\n  background-color: rgba(92,184,92,.2);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-default,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-default {\n  background-color: rgba(51,122,183,.3);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-default.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-default.dx-state-hover,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-default.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-default.dx-state-hover {\n  background-color: rgba(51,122,183,.2);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-danger,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-danger {\n  background-color: rgba(217,83,79,.3);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-danger.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-danger.dx-state-hover,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-danger.dx-state-focused,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-danger.dx-state-hover {\n  background-color: rgba(217,83,79,.2);\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-normal,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-normal .dx-icon,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-normal,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-normal .dx-icon {\n  color: #333;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-success,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-success .dx-icon,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-success,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-success .dx-icon {\n  color: #5cb85c;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-default,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-default .dx-icon,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-default,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-default .dx-icon {\n  color: #337ab7;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-danger,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-outlined.dx-button-danger .dx-icon,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-danger,\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-text.dx-button-danger .dx-icon {\n  color: #d9534f;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained {\n  background-color: #fff;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-state-hover {\n  background-color: #f5f5f5;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-state-focused {\n  background-color: #ebebeb;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-success {\n  background-color: #5cb85c;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-success.dx-state-hover {\n  background-color: #46a046;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-success.dx-state-focused {\n  background-color: #419641;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-default {\n  background-color: #337ab7;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-default.dx-state-hover {\n  background-color: #296293;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-default.dx-state-focused {\n  background-color: #265a87;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-danger {\n  background-color: #d9534f;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-danger.dx-state-hover {\n  background-color: #ce312c;\n}\n.dx-htmleditor-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-mode-contained.dx-button-danger.dx-state-focused {\n  background-color: #c12e2a;\n}\n.dx-htmleditor-toolbar .dx-htmleditor-toolbar-separator {\n  height: 26px;\n}\n.dx-htmleditor-toolbar-format.dx-dropdowneditor.dx-editor-filled {\n  background-color: transparent;\n}\n.dx-htmleditor-toolbar-format.dx-background-format .dx-button-content,\n.dx-htmleditor-toolbar-format.dx-color-format .dx-button-content {\n  padding-bottom: 2px;\n}\n.dx-htmleditor-toolbar-format.dx-size-format {\n  width: 80px;\n}\n.dx-htmleditor-toolbar-separator {\n  border-left-color: #ddd;\n}\n.dx-htmleditor-toolbar-menu-separator {\n  border-top-color: #ddd;\n}\n.dx-resize-frame {\n  border-color: #337ab7;\n}\n.dx-resize-frame .dx-resizable-handle-bottom::after,\n.dx-resize-frame .dx-resizable-handle-corner-bottom-left,\n.dx-resize-frame .dx-resizable-handle-corner-bottom-right,\n.dx-resize-frame .dx-resizable-handle-corner-top-left,\n.dx-resize-frame .dx-resizable-handle-corner-top-right,\n.dx-resize-frame .dx-resizable-handle-left::after,\n.dx-resize-frame .dx-resizable-handle-right::after,\n.dx-resize-frame .dx-resizable-handle-top::after {\n  background-color: #337ab7;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-tab:first-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 0 #ddd,inset 0 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset -1px 0 #ddd,inset 0 0 #ddd,inset 0 0 #ddd;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-tabpanel.dx-state-focused .dx-tab.dx-tab-selected:first-child {\n  -webkit-box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 0 0 #337ab7;\n  box-shadow: inset 0 1px #337ab7,inset -1px 0 #337ab7,inset 0 0 #337ab7;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-tabpanel.dx-state-focused .dx-tab:first-child {\n  -webkit-box-shadow: inset 0 1px #ddd,inset 0 0 #ddd,inset 0 -1px #337ab7,inset 0 0 #ddd;\n  box-shadow: inset 0 1px #ddd,inset 0 0 #ddd,inset 0 -1px #337ab7,inset 0 0 #ddd;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-collection .dx-field-item:not(.dx-last-col) {\n  padding-right: 5px;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-collection .dx-field-item:not(.dx-first-col) {\n  padding-left: 0;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-input-wrapper {\n  padding: 40px 20px;\n  border: 3px dashed #ddd;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-input-wrapper .dx-fileuploader-input-label {\n  border-width: 0;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-dragover .dx-fileuploader-input {\n  padding-top: 2px;\n  padding-bottom: 3px;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-dragover .dx-fileuploader-input-label {\n  padding-top: 3px;\n}\n.dx-htmleditor-add-image-popup > .dx-overlay-content > .dx-popup-content .dx-fileuploader-dragover .dx-fileuploader-content {\n  background-color: rgba(221,221,221,.8);\n}\n.dx-mention {\n  background-color: #ddd;\n  color: #333;\n}\n.dx-suggestion-list-wrapper {\n  height: 100%;\n}\n.dx-suggestion-list-wrapper.dx-popup-wrapper .dx-overlay-content {\n  border-top-width: 0;\n  border-bottom-width: 1px;\n}\n.dx-suggestion-list-wrapper.dx-popup-wrapper .dx-overlay-content.dx-dropdowneditor-overlay-flipped {\n  border-top-width: 1px;\n  border-bottom-width: 0;\n}\n.dx-suggestion-list-wrapper .dx-popup-content {\n  height: 100%;\n  padding: 1px;\n}\n.dx-suggestion-list-wrapper .dx-list {\n  height: 100%;\n  min-height: 26.00008px;\n}\n.dx-suggestion-list-wrapper .dx-list:not(.dx-list-select-decorator-enabled) {\n  min-height: 20.00008px;\n}\n.dx-suggestion-list-wrapper .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item-content {\n  padding: 2px 4px;\n}\n.dx-suggestion-list-wrapper .dx-list-select-all {\n  padding: 7px 0 3px;\n}\n.dx-suggestion-list-wrapper .dx-empty-message,\n.dx-suggestion-list-wrapper .dx-list-item {\n  border-top: 0;\n}\n.dx-suggestion-list-wrapper .dx-empty-message:last-of-type,\n.dx-suggestion-list-wrapper .dx-list-item:last-of-type {\n  border-bottom: none;\n}\n.dx-table-resize-frame > .dx-draggable-dragging + .dx-htmleditor-highlighted-column,\n.dx-table-resize-frame > .dx-draggable-dragging + .dx-htmleditor-highlighted-row {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-shader {\n  background-color: rgba(255,255,255,.8);\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content {\n  min-width: 34px;\n  max-height: 34px;\n  background-color: #337ab7;\n  color: #fff;\n  overflow: visible;\n  border-radius: 17px;\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.2);\n  box-shadow: 0 6px 12px rgba(0,0,0,.2);\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content.dx-state-hover {\n  background-color: #285f8f;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content.dx-state-hover .dx-fa-button-icon {\n  background-color: transparent;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content.dx-state-active {\n  background-color: #22527b;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content.dx-state-active .dx-fa-button-icon {\n  background-color: transparent;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-fa-button-icon,\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-fa-button-icon-close {\n  padding: 10px;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  background-color: transparent;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-fa-button-label-wrapper {\n  position: static;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-fa-button-label-wrapper .dx-fa-button-label {\n  background: 0 0;\n  color: #fff;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  border-radius: 0;\n  margin-right: 0;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-inkripple {\n  border-radius: 17px;\n}\n.dx-fa-button.dx-fa-button-main.dx-fa-button-with-label .dx-overlay-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: row-reverse;\n  flex-direction: row-reverse;\n}\n.dx-fa-button.dx-fa-button-main.dx-fa-button-with-label .dx-overlay-content .dx-fa-button-icon,\n.dx-fa-button.dx-fa-button-main.dx-fa-button-with-label .dx-overlay-content .dx-fa-button-icon-close {\n  padding: 10px 0 10px 10px;\n}\n.dx-fa-button.dx-fa-button-main.dx-fa-button-without-icon .dx-fa-button-icon {\n  width: 0;\n}\n.dx-fa-button .dx-fa-button-icon,\n.dx-fa-button .dx-fa-button-icon-close {\n  padding: 8px;\n  width: 14px;\n  height: 14px;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.dx-fa-button .dx-fa-button-icon .dx-icon,\n.dx-fa-button .dx-fa-button-icon-close .dx-icon {\n  font-size: 14px;\n}\n.dx-fa-button .dx-fa-button-icon img,\n.dx-fa-button .dx-fa-button-icon-close img {\n  width: 100%;\n  height: 100%;\n}\n.dx-fa-button .dx-overlay-content {\n  border-radius: 50%;\n  cursor: pointer;\n  min-width: 30px;\n  max-height: 30px;\n  background-color: transparent;\n  color: #333;\n  overflow: visible;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-fa-button .dx-overlay-content.dx-fa-button-content-reverse {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: row-reverse;\n  flex-direction: row-reverse;\n}\n.dx-fa-button .dx-overlay-content.dx-fa-button-content-reverse .dx-fa-button-label-wrapper {\n  right: auto;\n  left: 30px;\n}\n.dx-fa-button .dx-overlay-content.dx-fa-button-content-reverse .dx-fa-button-label-wrapper .dx-fa-button-label {\n  margin-left: 10px;\n  margin-right: auto;\n}\n.dx-fa-button .dx-overlay-content.dx-state-hover .dx-fa-button-icon {\n  background-color: #ebebeb;\n}\n.dx-fa-button .dx-overlay-content.dx-state-active .dx-fa-button-icon {\n  background-color: #c2c2c2;\n}\n.dx-fa-button .dx-overlay-content .dx-fa-button-label-wrapper {\n  position: absolute;\n  right: 30px;\n}\n.dx-fa-button .dx-overlay-content .dx-fa-button-label-wrapper .dx-fa-button-label {\n  background-color: #fff;\n  color: #333;\n  white-space: nowrap;\n  border-radius: 4px;\n  padding: 5px 10px;\n  margin-right: 10px;\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.16);\n  box-shadow: 0 6px 12px rgba(0,0,0,.16);\n  font-size: 12px;\n}\n.dx-fa-button .dx-overlay-content .dx-fa-button-icon {\n  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.2);\n  box-shadow: 0 6px 12px rgba(0,0,0,.2);\n  background-color: #fff;\n  border-radius: 50%;\n  position: relative;\n}\n.dx-fa-button .dx-overlay-content .dx-inkripple {\n  overflow: hidden;\n  border-radius: 15px;\n}\n.dx-fa-button.dx-fa-button-main .dx-overlay-content .dx-fa-button-label {\n  padding: 0 15px 0 5px;\n  font-size: 12px;\n  margin-right: 0;\n}\n.dx-filemanager {\n  height: 500px;\n  border: 1px solid;\n}\n.dx-filemanager .dx-filemanager-wrapper {\n  height: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-filemanager .dx-filemanager-notification-drawer,\n.dx-filemanager .dx-filemanager-notification-drawer-panel {\n  height: 100%;\n}\n.dx-filemanager .dx-filemanager-notification-popup .dx-overlay-content {\n  min-width: 240px;\n  max-width: 93vw;\n}\n@media (min-width:431px) {\n  .dx-filemanager .dx-filemanager-notification-popup .dx-overlay-content {\n    max-width: 400px;\n  }\n}\n.dx-filemanager .dx-filemanager-notification-popup .dx-popup-content {\n  padding: 15px;\n}\n.dx-filemanager .dx-filemanager-notification-popup .dx-popup-content .dx-filemanager-progress-box {\n  padding: 5px 0 0;\n}\n.dx-filemanager .dx-filemanager-notification-popup .dx-filemanager-notification-common {\n  padding-bottom: 10px;\n  border-bottom-width: 1px;\n  border-bottom-style: solid;\n}\n.dx-filemanager .dx-filemanager-notification-popup .dx-filemanager-notification-common-no-item {\n  border-style: none;\n}\n.dx-filemanager .dx-drawer-shrink .dx-filemanager-progress-panel {\n  border-left-width: 1px;\n  border-left-style: solid;\n}\n.dx-filemanager .dx-filemanager-progress-panel {\n  width: 340px;\n  height: 100%;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-container {\n  padding: 10px 20px 20px;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-title {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  padding: 0 0 5px 10px;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-title .dx-filemanager-progress-panel-title-text {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  -ms-flex-item-align: center;\n  align-self: center;\n  font-size: 18px;\n  font-weight: 600;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-common .dx-filemanager-progress-box-common {\n  font-weight: 600;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-separator {\n  height: 20px;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-i.dx-filemanager-i-cancel {\n  width: 16px;\n  height: 16px;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-details > .dx-filemanager-progress-box {\n  margin-bottom: 8px;\n  border-radius: 2px;\n}\n.dx-filemanager .dx-filemanager-progress-box {\n  padding: 10px 0 10px 10px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-filemanager .dx-filemanager-progress-box.dx-filemanager-progress-box-without-close-button {\n  padding-right: 10px;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-image {\n  margin-right: 10px;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-wrapper {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 auto;\n  flex: 1 auto;\n  overflow: hidden;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-common {\n  padding: 5px 0;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-progress-bar,\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-status {\n  padding: 5px 0;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-close-button {\n  margin-left: 5px;\n}\n.dx-filemanager .dx-filemanager-progress-box-error {\n  border-radius: 2px;\n  display: inline-block;\n  border-width: 0;\n  padding: 2px 8px 3px;\n  font-size: .85em;\n  line-height: normal;\n  word-wrap: break-word;\n  overflow-y: auto;\n  max-height: 150px;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-filemanager-toolbar-separator-item {\n  width: 1px;\n  margin-right: 5px;\n}\n.dx-filemanager .dx-splitter-wrapper.dx-splitter-inactive,\n.dx-filemanager .dx-splitter-wrapper.dx-splitter-initial {\n  right: 3px;\n}\n.dx-filemanager .dx-filemanager-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  height: 100%;\n  border-top: 1px solid;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n.dx-filemanager .dx-filemanager-container .dx-filemanager-adaptivity-drawer-panel {\n  height: 100%;\n}\n.dx-filemanager .dx-filemanager-container .dx-filemanager-dirs-panel {\n  padding: 5px 10px;\n  height: 100%;\n  width: 100%;\n  display: block;\n}\n.dx-filemanager .dx-filemanager-container .dx-drawer-opened .dx-splitter.dx-state-disabled {\n  width: 1px;\n}\n.dx-filemanager .dx-filemanager-container .dx-drawer-shrink .dx-drawer-panel-content {\n  overflow: visible;\n}\n.dx-filemanager .dx-filemanager-container .dx-drawer-panel-content {\n  display: block;\n  width: 30%;\n}\n.dx-filemanager .dx-filemanager-container .dx-drawer-panel-content.dx-drawer-panel-content-initial {\n  min-width: 250px;\n  max-width: 300px;\n}\n.dx-filemanager .dx-filemanager-container .dx-drawer-panel-content.dx-drawer-panel-content-adaptive {\n  max-width: 100%;\n}\n.dx-filemanager .dx-filemanager-dirs-panel {\n  height: 100%;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs {\n  padding: 2px 11px;\n  border-bottom: 1px solid;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-menu-item-content {\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-parent-folder-item .dx-menu-item-content {\n  padding-left: 2px;\n  padding-right: 2px;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-separator-item .dx-menu-item-content {\n  width: 1px;\n  padding-left: 0;\n  padding-right: 0;\n  margin: 0 10px;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-path-separator-item .dx-menu-item-content {\n  padding-left: 1px;\n  padding-right: 1px;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-path-separator-item.dx-state-hover,\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-separator-item.dx-state-hover {\n  cursor: default;\n}\n.dx-filemanager .dx-filemanager-editing-container,\n.dx-filemanager .dx-filemanager-notification-container {\n  position: absolute;\n  top: -5000px;\n  left: -5000px;\n}\n.dx-filemanager .dx-row .dx-filemanager-file-actions-button {\n  float: right;\n}\n.dx-filemanager .dx-row .dx-filemanager-file-actions-button .dx-button-content {\n  padding: 0;\n}\n.dx-filemanager .dx-row.dx-row-focused .dx-filemanager-file-actions-button,\n.dx-filemanager .dx-row.dx-selection .dx-filemanager-file-actions-button,\n.dx-filemanager .dx-row.dx-state-hover .dx-filemanager-file-actions-button {\n  visibility: visible;\n}\n.dx-filemanager .dx-filemanager-items-panel {\n  width: 100%;\n  height: 100%;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n.dx-filemanager .dx-filemanager-fileuploader-dropzone-placeholder {\n  position: relative;\n  top: 0;\n  left: 0;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  pointer-events: none;\n  z-index: 1000;\n}\n.dx-filemanager .dx-filemanager-thumbnails {\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port {\n  width: 100%;\n  height: 100%;\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  padding: 5px;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-container {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-item {\n  float: left;\n  text-align: center;\n  cursor: pointer;\n  white-space: nowrap;\n  width: 100px;\n  height: 100px;\n  border: 1px dashed transparent;\n  margin: 5px;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-item .dx-filemanager-thumbnails-item-content {\n  overflow: hidden;\n  padding: 13px 0 10px;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-item .dx-filemanager-thumbnails-item-content .dx-filemanager-thumbnails-item-thumbnail {\n  border: 0;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-item .dx-filemanager-thumbnails-item-content .dx-filemanager-thumbnails-item-spacer {\n  border: 0;\n  padding: 0;\n  margin: 0;\n  height: 10px;\n  visibility: hidden;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-view-port .dx-filemanager-thumbnails-item .dx-filemanager-thumbnails-item-content .dx-filemanager-thumbnails-item-name {\n  overflow: hidden;\n  width: 100%;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.dx-filemanager .dx-filemanager-details {\n  height: 100%;\n  overflow: hidden;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.dx-filemanager .dx-filemanager-details > div {\n  height: 100%;\n}\n.dx-filemanager .dx-filemanager-details .dx-datagrid-rowsview .dx-datagrid-table > tbody > tr.dx-filemanager-parent-directory-item > td > .dx-select-checkbox {\n  display: none;\n}\n.dx-filemanager .dx-filemanager-details .dx-filemanager-details-item-name-wrapper {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-align: start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  width: 100%;\n}\n.dx-filemanager .dx-filemanager-details .dx-filemanager-details-item-name-wrapper .dx-filemanager-details-item-name {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 auto;\n  flex: 1 auto;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-filemanager .dx-filemanager-i.dx-filemanager-i-progress,\n.dx-filemanager .dx-filemanager-i.dx-icon.dx-filemanager-i-progress {\n  -webkit-animation: 1.5s linear infinite dx-filemanager-icon-rotate;\n  animation: 1.5s linear infinite dx-filemanager-icon-rotate;\n}\n@-webkit-keyframes dx-filemanager-icon-rotate {\n  from {\n    -webkit-transform: rotate(0);\n    transform: rotate(0);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@keyframes dx-filemanager-icon-rotate {\n  from {\n    -webkit-transform: rotate(0);\n    transform: rotate(0);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n.dx-filemanager-file-actions-button {\n  visibility: hidden;\n  text-align: center;\n}\n.dx-filemanager-file-actions-button.dx-widget {\n  line-height: 100%;\n}\n.dx-filemanager-file-actions-button .dx-button {\n  border: none;\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-filemanager-file-actions-button .dx-button .dx-button-content {\n  padding: 10px 11px;\n}\n.dx-filemanager-file-actions-button .dx-button i {\n  font-style: normal;\n}\n.dx-filemanager-file-actions-button.dx-filemanager-file-actions-button-activated,\n.dx-filemanager-file-actions-button:hover {\n  visibility: visible;\n}\n.dx-filemanager-dirs-tree {\n  width: 100%;\n}\n.dx-filemanager-dirs-tree .dx-treeview-item-content {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: end;\n  -ms-flex-align: end;\n  align-items: flex-end;\n}\n.dx-filemanager-dirs-tree .dx-treeview-item-content > .dx-icon {\n  -webkit-box-flex: 0;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n}\n.dx-filemanager-dirs-tree .dx-treeview-item-content .dx-filemanager-dirs-tree-item-text {\n  -webkit-box-flex: 1;\n  -ms-flex: 1 auto;\n  flex: 1 auto;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.dx-filemanager-dirs-tree .dx-filemanager-focused-item .dx-filemanager-file-actions-button,\n.dx-filemanager-dirs-tree .dx-treeview-item.dx-state-hover .dx-filemanager-file-actions-button {\n  visibility: visible;\n}\n.dx-filemanager-dialog.dx-filemanager-dialog-folder-chooser,\n.dx-filemanager-progresspanel {\n  height: 100%;\n  overflow: auto;\n}\n.dx-filemanager-dialog-folder-chooser > div {\n  height: 100%;\n}\n.dx-filemanager-dialog-popup > .dx-overlay-content {\n  min-width: 300px;\n  max-width: 400px;\n  min-height: 300px;\n  max-height: 400px;\n}\n.dx-filemanager-dialog-name-editor-popup > .dx-overlay-content {\n  max-width: 340px;\n  min-height: 180px;\n  max-height: 180px;\n}\n.dx-filemanager-dialog-delete-item-popup > .dx-overlay-content {\n  max-width: 340px;\n  min-height: 180px;\n}\n.dx-filemanager-dialog-delete-item-popup > .dx-overlay-content .dx-popup-content .dx-filemanager-dialog-delete-item {\n  overflow-wrap: break-word;\n}\n.dx-filemanager-progresspanel {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  padding: 5px;\n}\n.dx-filemanager-progresspanel .dx-filemanager-progressbox {\n  float: left;\n  width: 100%;\n  padding-bottom: 10px;\n}\n.dx-filemanager-progresspanel .dx-filemanager-progressbox-cancel-button {\n  margin-top: 5px;\n  float: right;\n}\n.dx-splitter-wrapper {\n  height: 100%;\n  width: 0;\n  position: absolute;\n  z-index: 998;\n  top: 0;\n}\n.dx-splitter-wrapper .dx-splitter-border {\n  z-index: 997;\n  height: 100%;\n  width: 7px;\n  cursor: col-resize;\n}\n.dx-splitter-wrapper .dx-splitter-border .dx-splitter {\n  height: 100%;\n  width: 1px;\n  display: block;\n  cursor: col-resize;\n  z-index: 999;\n  margin: auto;\n}\n.dx-splitter-wrapper .dx-splitter-border .dx-splitter.dx-splitter-inactive {\n  z-index: 998;\n}\n.dx-splitter-wrapper .dx-splitter-border .dx-splitter.dx-state-disabled {\n  width: 0;\n  cursor: default;\n}\n.dx-splitter {\n  background-color: rgba(51,122,183,.5);\n}\n.dx-splitter.dx-splitter-inactive {\n  background-color: #ddd;\n}\n.dx-splitter-border {\n  background-color: transparent;\n}\n.dx-filemanager {\n  border-color: #ddd;\n}\n.dx-filemanager .dx-filemanager-notification-common {\n  border-color: #ddd;\n  color: #d9534f;\n}\n.dx-filemanager .dx-drawer-shrink .dx-filemanager-progress-panel {\n  border-left-color: #ddd;\n}\n.dx-filemanager .dx-filemanager-progress-panel {\n  background-color: #fff;\n}\n.dx-filemanager .dx-filemanager-progress-panel .dx-filemanager-progress-panel-container {\n  padding-top: 6px;\n}\n.dx-filemanager .dx-filemanager-progress-box-image {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n}\n.dx-filemanager .dx-filemanager-progress-box-error {\n  color: #fff;\n  background: #d9534f;\n}\n.dx-filemanager .dx-filemanager-progress-box .dx-filemanager-progress-box-close-button {\n  margin-top: 6px;\n}\n.dx-filemanager .dx-filemanager-toolbar {\n  padding: 6px 10px;\n  background: #fff;\n  min-height: 38px;\n}\n.dx-filemanager .dx-filemanager-toolbar.dx-filemanager-file-toolbar,\n.dx-filemanager .dx-filemanager-toolbar.dx-filemanager-file-toolbar .dx-toolbar {\n  background: #f7f7f7;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-filemanager-toolbar-separator-item {\n  height: 26px;\n  background: #ddd;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-filemanager-toolbar-viewmode-item .dx-texteditor {\n  width: 130px;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled {\n  background: 0 0;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-state-active,\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-state-focused,\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-state-hover {\n  background: rgba(51,51,51,.1);\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-dropdowneditor {\n  border-color: transparent;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-dropdowneditor .dx-dropdowneditor-icon {\n  background: 0 0;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-dropdowneditor.dx-state-active .dx-dropdowneditor-icon,\n.dx-filemanager .dx-filemanager-toolbar .dx-texteditor.dx-editor-filled.dx-dropdowneditor.dx-state-hover .dx-dropdowneditor-icon {\n  background: 0 0;\n  border-color: transparent;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-filemanager-toolbar-has-large-icon .dx-button-content {\n  padding: 3px;\n}\n.dx-filemanager .dx-filemanager-toolbar .dx-toolbar .dx-filemanager-toolbar-viewmode-item .dx-button-content {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.dx-filemanager .dx-filemanager-fileuploader-dropzone-placeholder {\n  border: 2px solid #337ab7;\n}\n.dx-filemanager .dx-filemanager-container {\n  border-top-color: #ddd;\n}\n.dx-filemanager .dx-filemanager-dirs-panel {\n  border-right-color: #ddd;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs {\n  border-bottom-color: #ddd;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-menu-item.dx-state-focused {\n  background: #ddd;\n  color: #333;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-menu-item-content {\n  padding-top: 3px;\n  padding-bottom: 7px;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-separator-item .dx-menu-item-content {\n  background: #ddd;\n}\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-path-separator-item.dx-state-hover,\n.dx-filemanager .dx-filemanager-breadcrumbs .dx-filemanager-breadcrumbs-separator-item.dx-state-hover {\n  background: 0 0;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item.dx-item-selected {\n  color: #fff;\n  background: rgba(51,122,183,.8);\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item.dx-state-hover:not(.dx-state-focused):not(.dx-item-selected) {\n  background: rgba(0,0,0,.04);\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item.dx-state-focused {\n  border: 1px solid #337ab7;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item.dx-item-selected.dx-state-focused {\n  color: #fff;\n  background: rgba(51,122,183,.7);\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item .dx-filemanager-thumbnails-item-thumbnail {\n  width: 28px;\n  height: 28px;\n  font-size: 28px;\n}\n.dx-filemanager .dx-filemanager-thumbnails .dx-filemanager-thumbnails-item .dx-filemanager-item-custom-thumbnail {\n  color: #ddd;\n}\n.dx-filemanager .dx-filemanager-files-view {\n  background: #fff;\n}\n.dx-filemanager .dx-filemanager-files-view.dx-filemanager-details .dx-filemanager-details-item-thumbnail {\n  font-size: 14px;\n  width: 14px;\n  height: 14px;\n}\n.dx-filemanager .dx-filemanager-files-view.dx-filemanager-details .dx-datagrid .dx-datagrid-content .dx-datagrid-table .dx-command-select {\n  width: 39px;\n  min-width: 39px;\n  max-width: 39px;\n}\n.dx-filemanager .dx-filemanager-files-view.dx-filemanager-details .dx-row-focused .dx-filemanager-file-actions-button .dx-button .dx-icon {\n  color: #fff;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-treeview-item-content > i {\n  margin-bottom: 1px;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-state-focused > .dx-treeview-item {\n  background: #fff;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-state-focused > .dx-treeview-item.dx-state-hover {\n  background: #ebebeb;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-state-focused > .dx-treeview-item * {\n  color: #333;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-treeview-item-without-checkbox > .dx-treeview-item.dx-filemanager-focused-item {\n  background: #ebebeb;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-treeview-item-without-checkbox > .dx-treeview-item.dx-filemanager-focused-item * {\n  color: #333;\n}\n.dx-filemanager-view-switcher-popup {\n  width: 24px;\n}\n.dx-filemanager-view-switcher-popup .dx-dropdownbutton-popup-wrapper.dx-dropdownbutton-popup-wrapper .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item-content {\n  padding-top: 4px;\n  padding-left: 4px;\n  padding-right: 5px;\n  text-overflow: clip;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-filemanager-file-actions-button {\n  margin-top: 1px;\n  margin-bottom: -1px;\n}\n.dx-filemanager-dirs-tree.dx-treeview .dx-filemanager-file-actions-button .dx-button .dx-button-content {\n  padding: 0;\n}\n.dx-filemanager-file-actions-button .dx-button {\n  min-width: 18px;\n  height: 18px;\n}\n.dx-filemanager-file-actions-button .dx-button .dx-button-content {\n  padding-top: 9px;\n  padding-bottom: 9px;\n}\n.dx-filemanager-i.dx-filemanager-i-progress,\n.dx-filemanager-i.dx-filemanager-i-refresh,\n.dx-filemanager-i.dx-icon.dx-filemanager-i-progress,\n.dx-filemanager-i.dx-icon.dx-filemanager-i-refresh {\n  background: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x30_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2022%2022%22%20style%3D%22enable-background%3Anew%200%200%2022%2022%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill%3A%23333%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x31_%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M11%2C4c2.45%2C0%2C4.59%2C1.26%2C5.84%2C3.16L15%2C9l6%2C1l-1-6l-1.73%2C1.73C16.64%2C3.47%2C14%2C2%2C11%2C2%0A%09%09c-4.97%2C0-9%2C4.03-9%2C9h2C4%2C7.13%2C7.13%2C4%2C11%2C4z%22%2F%3E%0A%09%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17.92%2C12c-0.49%2C3.39-3.39%2C6-6.92%2C6c-2.19%2C0-4.13-1.01-5.41-2.59L7%2C14l-6-1l1%2C6l2.17-2.17%0A%09%09C5.82%2C18.76%2C8.26%2C20%2C11%2C20c4.63%2C0%2C8.44-3.5%2C8.94-8H17.92z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 18px;\n  height: 18px;\n}\n.dx-filemanager-i.dx-filemanager-i-done,\n.dx-filemanager-i.dx-icon.dx-filemanager-i-done {\n  background: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x30_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2022%2022%22%20style%3D%22enable-background%3Anew%200%200%2022%2022%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23333%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%235cb85c%3B%7D%0A%09.st2%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23fff%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M21%2C10l-6-1l1.87-1.87C15.6%2C5.24%2C13.44%2C4%2C11%2C4c-3.87%2C0-7%2C3.13-7%2C7H2c0-4.97%2C4.03-9%2C9-9%0A%09c3.02%2C0%2C5.7%2C1.42%2C7.35%2C3.65L20%2C4L21%2C10z%20M5.6%2C15.4C6.88%2C16.98%2C8.81%2C18%2C11%2C18c0.4%2C0%2C0.78-0.05%2C1.15-0.12%0A%09c0.15%2C0.69%2C0.42%2C1.32%2C0.77%2C1.91C12.3%2C19.92%2C11.66%2C20%2C11%2C20c-2.74%2C0-5.17-1.24-6.82-3.18L2%2C19l-1-6l6%2C1L5.6%2C15.4z%22%2F%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st1%22%20d%3D%22M17.5%2C12c2.49%2C0%2C4.5%2C2.01%2C4.5%2C4.5S19.99%2C21%2C17.5%2C21S13%2C18.99%2C13%2C16.5S15.01%2C12%2C17.5%2C12z%22%2F%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st2%22%20d%3D%22M21.35%2C14.35l-4.71%2C5l-3-3l0.71-0.71l2.15%2C2.15l4.15-4.15L21.35%2C14.35z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 18px;\n  height: 18px;\n}\n.dx-filemanager-i.dx-filemanager-i-danger,\n.dx-filemanager-i.dx-icon.dx-filemanager-i-danger {\n  background: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x30_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2022%2022%22%20style%3D%22enable-background%3Anew%200%200%2022%2022%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23333%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23d9534f%3B%7D%0A%09.st2%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23fff%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M21%2C10l-6-1l1.87-1.87C15.6%2C5.24%2C13.44%2C4%2C11%2C4c-3.87%2C0-7%2C3.13-7%2C7H2c0-4.97%2C4.03-9%2C9-9%0A%09c3.02%2C0%2C5.7%2C1.42%2C7.35%2C3.65L20%2C4L21%2C10z%20M5.6%2C15.4C6.88%2C16.98%2C8.81%2C18%2C11%2C18c0.4%2C0%2C0.78-0.05%2C1.15-0.12%0A%09c0.15%2C0.69%2C0.42%2C1.32%2C0.77%2C1.91C12.3%2C19.92%2C11.66%2C20%2C11%2C20c-2.74%2C0-5.17-1.24-6.82-3.18L2%2C19l-1-6l6%2C1L5.6%2C15.4z%22%2F%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st1%22%20d%3D%22M17.5%2C12c2.49%2C0%2C4.5%2C2.01%2C4.5%2C4.5S19.99%2C21%2C17.5%2C21S13%2C18.99%2C13%2C16.5S15.01%2C12%2C17.5%2C12z%22%2F%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st2%22%20d%3D%22M17%2C20v-1h1v1H17z%20M17%2C13h1v5h-1V13z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 18px;\n  height: 18px;\n}\n.dx-filemanager-i.dx-filemanager-i-cancel,\n.dx-filemanager-i.dx-icon.dx-filemanager-i-cancel {\n  background: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2016%2016%22%20style%3D%22enable-background%3Anew%200%200%2016%2016%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20id%3D%22_x32_%22%20fill%3D%22%23333%22%20d%3D%22M8%2C0c4.42%2C0%2C8%2C3.58%2C8%2C8s-3.58%2C8-8%2C8c-4.42%2C0-8-3.58-8-8S3.58%2C0%2C8%2C0%20M10.87%2C4L8%2C6.87L5.13%2C4L4%2C5.13L6.87%2C8%0A%09L4%2C10.87L5.13%2C12L8%2C9.13L10.87%2C12L12%2C10.87L9.13%2C8L12%2C5.13L10.87%2C4z%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 18px;\n  height: 18px;\n}\n.dx-diagram {\n  border: 1px solid transparent;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-flow: column;\n  flex-flow: column;\n  height: 600px;\n  min-height: 350px;\n}\n.dx-diagram .dx-diagram-toolbar-wrapper {\n  padding: 5px;\n  -webkit-box-flex: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n}\n.dx-diagram .dx-diagram-toolbar-wrapper .dx-diagram-toolbar {\n  background-color: transparent;\n}\n.dx-diagram .dx-diagram-content-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  overflow: hidden;\n}\n.dx-diagram .dx-diagram-content,\n.dx-diagram .dx-diagram-scroll-view {\n  height: 100%;\n  width: 100%;\n}\n.dx-diagram.dx-diagram-fullscreen {\n  left: 0;\n  top: 0;\n  width: 100%!important;\n  height: 100%!important;\n  position: fixed;\n  z-index: 2;\n}\n.dx-diagram .dxdi-control {\n  width: auto;\n  height: auto;\n  overflow: visible;\n}\n.dx-diagram .dxdi-canvas {\n  overflow: hidden;\n}\n.dx-diagram-toolbox-popup.dx-popup-wrapper .dx-overlay-content {\n  border-radius: 0;\n}\n.dx-diagram-toolbox-popup .dx-popup-title.dx-toolbar {\n  padding: 0;\n  background-color: rgba(0,0,0,.05);\n}\n.dx-diagram-toolbox-popup .dx-popup-title .dx-button-content,\n.dx-diagram-toolbox-popup .dx-popup-title .dx-button.dx-button-has-icon:not(.dx-button-has-text) {\n  background-color: transparent;\n  border: 0;\n  border-radius: 0;\n  padding: 0;\n  min-width: 0;\n}\n.dx-diagram-toolbox-popup .dx-popup-title .dx-button:not(.dx-closebutton) {\n  cursor: inherit;\n  pointer-events: none;\n}\n.dx-diagram-toolbox-popup .dx-popup-content {\n  padding: 0;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-input {\n  border-color: transparent;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-input .dx-placeholder::before,\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-input input {\n  min-height: 0;\n  font-size: .9em;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-input .dx-button {\n  border: 0;\n  border-radius: 0;\n  min-height: 14px;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-panel {\n  position: relative;\n  height: 100%;\n  overflow-y: auto;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-panel > * {\n  position: absolute;\n}\n.dx-diagram-properties-popup .dx-scrollview,\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-panel>.dx-scrollview {\n  width: 100%;\n}\n.dx-diagram-properties-popup .dx-popup-content {\n  padding: 0;\n}\n.dx-diagram-properties-popup .dx-tabs {\n  border: 0;\n}\n.dx-diagram-properties-popup .dx-tabpanel .dx-multiview-wrapper {\n  border-left: 0;\n  border-right: 0;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar .dx-toolbar-items-container {\n  display: block;\n  height: auto;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar .dx-toolbar-items-container > div {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  width: 100%;\n  height: auto;\n  position: inherit;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar .dx-toolbar-items-container .dx-toolbar-item {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-diagram-properties-popup:not(.dx-diagram-mobile-popup) .dx-tabpanel .dx-multiview-wrapper {\n  border-bottom: 0;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup {\n  width: calc(100% - 2px)!important;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-popup-title {\n  border: 0;\n  min-height: 0;\n  position: relative;\n  z-index: 1;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-toolbar .dx-toolbar-items-container {\n  height: auto;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-toolbar .dx-toolbar-items-container .dx-toolbar-item {\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-tabpanel {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: reverse;\n  -ms-flex-direction: column-reverse;\n  flex-direction: column-reverse;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-tabpanel .dx-multiview-wrapper {\n  border-top: 0;\n}\n.dx-diagram-floating-toolbar-container {\n  position: absolute;\n  z-index: 1001;\n  width: 100%;\n  -webkit-transition: opacity .4s;\n  transition: opacity .4s;\n}\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container {\n  background: 0 0;\n  border-radius: 50%;\n  border: 0;\n  padding: 0;\n}\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar {\n  background: 0 0;\n}\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container div {\n  border-radius: 50%;\n}\n.dx-diagram-floating-toolbar-container .dx-diagram-toolbar .dx-toolbar-items-container > * {\n  padding-left: 0;\n  padding-right: 0;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-separator {\n  display: table;\n  height: 100%;\n  border-left: 1px solid transparent;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-menu-separator {\n  width: 100%;\n  border-top: 1px solid transparent;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-menu-separator::before {\n  content: none;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-texteditor,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-texteditor,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-texteditor,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-texteditor {\n  width: auto;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i {\n  display: block;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-textbox,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-textbox,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-textbox,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-textbox {\n  width: 0;\n  max-width: 0;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-textbox .dx-texteditor-input,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-textbox .dx-texteditor-input,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-textbox .dx-texteditor-input,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-textbox .dx-texteditor-input {\n  width: 0;\n  padding-left: 0;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay {\n  -webkit-transform: none!important;\n  transform: none!important;\n  width: 100%!important;\n  height: 100%!important;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content {\n  -webkit-transform: none!important;\n  transform: none!important;\n  width: 100%!important;\n  top: initial!important;\n  bottom: 0!important;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-popup-content {\n  padding: 8px;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container {\n  width: 100%;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container .dx-colorview-container-row {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container .dx-colorview-container-row .dx-colorview-palette-cell {\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container .dx-colorview-container-row .dx-colorview-palette-cell .dx-colorview-palette {\n  width: 100%;\n  min-width: 300px;\n}\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container .dx-colorview-container-row .dx-colorview-controls-container,\n.dx-diagram-mobile-toolbar-color-box-opened .dx-dropdowneditor-overlay .dx-overlay-content .dx-colorview-container .dx-colorview-container-row .dx-colorview-hue-scale-cell {\n  margin-left: 12px;\n}\n.dx-diagram-i {\n  background-repeat: no-repeat;\n  background-position: 0 0;\n  display: inline-block;\n}\n.dx-diagram-loading-indicator {\n  position: absolute;\n  top: calc(50% - 32px);\n  left: calc(50% - 32px);\n  width: 64px;\n  height: 64px;\n}\n.dx-diagram-touch-context-toolbox .dx-popover-wrapper,\n.dx-diagram-touchbar-overlay {\n  z-index: 1!important;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-items-container {\n  display: block;\n  height: 100%;\n  padding: 0;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-items-container::after {\n  display: block;\n  content: \"\";\n  clear: both;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-items-container > li {\n  display: block;\n  float: left;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-item.dx-menu-item-has-text.dx-menu-item-has-icon .dx-menu-item-content .dx-icon {\n  margin: 0;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-item .dx-menu-item-content .dx-menu-item-text {\n  display: none;\n}\n.dx-diagram-context-toolbox-target,\n.dx-diagram-touchbar-target {\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n}\n.dx-diagram-context-toolbox-target {\n  width: 1px;\n  height: 1px;\n}\n.dx-diagram-context-toolbox .dx-popup-content {\n  padding: 8px;\n}\n.dx-diagram {\n  border-color: #ddd;\n}\n.dx-diagram .dxdi-control .dxdi-canvas {\n  background-color: #d9d9d9;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .connector-multi-selection,\n.dx-diagram .dxdi-control .dxdi-canvas .connector-point-mark,\n.dx-diagram .dxdi-control .dxdi-canvas .connector-selection,\n.dx-diagram .dxdi-control .dxdi-canvas .connector-side-mark,\n.dx-diagram .dxdi-control .dxdi-canvas .extension-line path,\n.dx-diagram .dxdi-control .dxdi-canvas .item-multi-selection-rect,\n.dx-diagram .dxdi-control .dxdi-canvas .item-selection-rect,\n.dx-diagram .dxdi-control .dxdi-canvas .items-selection-rect,\n.dx-diagram .dxdi-control .dxdi-canvas .selection-mark {\n  stroke: #337ab7;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .connector-side-mark,\n.dx-diagram .dxdi-control .dxdi-canvas .extension-line text {\n  fill: #337ab7;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .connection-mark:not(.selector),\n.dx-diagram .dxdi-control .dxdi-canvas .connection-point:not(.selector),\n.dx-diagram .dxdi-control .dxdi-canvas .connection-target,\n.dx-diagram .dxdi-control .dxdi-canvas .container-target {\n  stroke: #5cb85c;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .connection-mark:not(.selector).active,\n.dx-diagram .dxdi-control .dxdi-canvas .connection-point:not(.selector).active {\n  fill: #5cb85c;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .geometry-mark {\n  stroke: #d9534f;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .dxdi-main .dxdi-image .dxdi-spinner path {\n  stroke: #606060;\n  stroke-opacity: 1;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .dxdi-main .dxdi-image .dxdi-spinner ellipse {\n  stroke: #606060;\n  stroke-opacity: 0.55;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .dxdi-main .dxdi-image .dxdi-user .dxdi-background {\n  fill: #606060;\n  opacity: .55;\n}\n.dx-diagram .dxdi-control .dxdi-canvas .dxdi-main .dxdi-image .dxdi-warning ellipse {\n  fill: #d9534f;\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .geometry-mark,\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .selection-mark {\n  stroke: #666;\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .item-selection-rect,\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .items-selection-rect {\n  fill: transparent;\n  stroke: #666;\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .items-selection-rect {\n  fill: rgba(144,144,144,0.02);\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .item-multi-selection-rect {\n  fill: rgba(144,144,144,0.02);\n  stroke: #666;\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .connector-multi-selection,\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .connector-point-mark,\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .connector-selection,\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .connector-side-mark {\n  stroke: #666;\n}\n.dx-diagram .dxdi-control:not(.focused) .dxdi-canvas .connector-side-mark {\n  fill: #666;\n}\n.dx-diagram .dxdi-text-input-container.connector-text .dxdi-text-input {\n  border-color: #337ab7;\n}\n.dx-diagram .dx-diagram-toolbar-wrapper {\n  border-bottom: 1px solid #ddd;\n}\n.dx-diagram.dx-diagram-fullscreen {\n  background-color: #fff;\n}\n.dx-diagram-properties-panel,\n.dx-diagram-toolbox-panel {\n  background: #fff;\n}\n.dx-diagram-floating-toolbar-container {\n  border: 1px solid #ddd;\n  background: #fff;\n  -webkit-box-shadow: 0 1px 8px rgba(0,0,0,.175);\n  box-shadow: 0 1px 8px rgba(0,0,0,.175);\n  border-radius: 6px;\n  padding: 2px;\n}\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-button,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar-item,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar-items-container {\n  width: 34px;\n  height: 34px;\n}\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-button .dx-button-content,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-button-content,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar .dx-button-content,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar-item .dx-button-content,\n.dx-diagram-floating-toolbar-container.dx-diagram-properties-panel-toolbar-container .dx-toolbar-items-container .dx-button-content {\n  padding-top: 0;\n  padding-bottom: 0;\n  line-height: 30px;\n}\n.dx-diagram-floating-toolbar-container .dx-toolbar-item {\n  padding: 0 2px 0 0;\n}\n.dx-diagram-toolbox-popup > .dx-overlay-content {\n  -webkit-box-shadow: 0 1px 8px rgba(0,0,0,.175);\n  box-shadow: 0 1px 8px rgba(0,0,0,.175);\n}\n.dx-diagram-toolbox-popup .dx-popup-title.dx-toolbar {\n  font-size: .5em;\n  min-height: 12px;\n}\n.dx-diagram-toolbox-popup .dx-popup-title.dx-toolbar .dx-closebutton {\n  position: static;\n  left: 0;\n}\n.dx-rtl .dx-diagram-toolbox-popup .dx-popup-title.dx-toolbar .dx-closebutton {\n  right: 0;\n}\n.dx-diagram-toolbox-popup .dx-popup-title.dx-toolbar .dx-toolbar-items-container {\n  height: 12px;\n}\n.dx-diagram-toolbox-popup .dx-popup-title .dx-button-content,\n.dx-diagram-toolbox-popup .dx-popup-title .dx-button.dx-button-has-icon:not(.dx-button-has-text) {\n  width: 12px;\n  height: 12px;\n}\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-input-container,\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-panel,\n.dx-diagram-toolbox-popup .dx-popup-content .dx-diagram-toolbox-panel .dx-accordion {\n  width: 114px;\n}\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input-container {\n  border-bottom: 1px solid #ddd;\n}\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input {\n  margin: 1px;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input .dx-placeholder::before,\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input .dx-texteditor-input {\n  padding: 3px 5px;\n}\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input .dx-button .dx-button-content,\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input .dx-button.dx-button-has-icon:not(.dx-button-has-text) .dx-button-content {\n  padding: 2px;\n}\n.dx-diagram-toolbox-popup .dx-diagram-toolbox-input .dx-button .dx-icon {\n  font-size: 10px;\n}\n.dx-diagram-toolbox-popup .dx-popup-title .dx-closebutton {\n  width: 12px;\n  height: 12px;\n  margin: 1px 0 0;\n}\n.dx-diagram-toolbox-popup .dx-popup-title .dx-closebutton .dx-icon {\n  width: 10px;\n  height: 10px;\n  padding: 1px;\n  font-size: 8px;\n  line-height: 8px;\n  background-position: 1px 1px;\n  background-size: 8px 8px;\n}\n.dx-diagram-toolbox-popup.dx-diagram-mobile-popup .dx-popup-content {\n  padding-top: 56px;\n}\n.dx-diagram-toolbox-popup.dx-diagram-mobile-popup .dx-popup-content .dx-diagram-toolbox-input-container {\n  border-top: 1px solid #ddd;\n}\n.dx-diagram-toolbox-panel .dx-accordion .dx-accordion-item {\n  border-left: none;\n  border-right: none;\n}\n.dx-diagram-toolbox-panel .dx-accordion .dx-accordion-item:first-of-type {\n  border-top: none;\n}\n.dx-diagram-toolbox-panel .dx-accordion .dx-accordion-item:last-child {\n  border-bottom: none;\n}\n.dx-diagram-toolbox-panel .dx-item-content.dx-accordion-item-title {\n  padding: 4px 8px;\n}\n.dx-diagram-toolbox-panel .dx-item-content.dx-accordion-item-title .dx-accordion-item-title-caption {\n  font-size: .7em;\n  font-weight: 700;\n}\n.dx-diagram-toolbox-panel .dx-item-content.dx-accordion-item-title::before {\n  font-size: .7em;\n  line-height: 1.5em;\n}\n.dx-diagram-toolbox-panel .dx-item-content.dx-accordion-item-body {\n  padding: 4px 8px;\n}\n.dx-diagram-toolbox-panel .dxdi-toolbox .dxdi-canvas .dxdi-shape-text {\n  opacity: .25;\n}\n.dx-diagram-properties-popup .dx-multiview-item,\n.dx-diagram-properties-popup.dx-diagram-properties-popup-notabs .dx-popup-content {\n  padding: 4px;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-title {\n  font-weight: 700;\n  padding: 4px;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar {\n  padding: 0 4px 4px;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar .dx-toolbar-item {\n  margin-bottom: 2px;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar .dx-toolbar-item.dx-diagram-lg-icon-item .dx-diagram-i {\n  background-size: 48px 48px;\n  width: 48px;\n  height: 48px;\n}\n.dx-diagram-properties-popup .dx-diagram-properties-panel-group-toolbar:first-child {\n  padding-top: 4px;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-popup-title {\n  padding: 2px 8px 0 0;\n}\n.dx-diagram-properties-popup.dx-diagram-mobile-popup .dx-tabpanel .dx-tab-selected::before {\n  top: -1px;\n}\n.dx-diagram-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format) {\n  background-color: #e6e6e6;\n}\n.dx-diagram-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-success {\n  background-color: #449d44;\n}\n.dx-diagram-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-default {\n  background-color: #285f8f;\n}\n.dx-diagram-toolbar .dx-format-active:not(.dx-color-format):not(.dx-background-format).dx-button-danger {\n  background-color: #c9302c;\n}\n.dx-diagram-toolbar .dx-dropdowneditor.dx-editor-filled,\n.dx-diagram-toolbar .dx-texteditor.dx-editor-filled {\n  background-color: transparent;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-separator {\n  border-left-color: #ddd;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-menu-separator {\n  border-top-color: #ddd;\n}\n.dx-diagram-toolbar .dx-diagram-toolbar-text {\n  padding: 5px 0 5px 8px;\n}\n.dx-diagram-toolbar .dx-diagram-lg-edit-item .dx-texteditor {\n  width: 180px;\n}\n.dx-diagram-toolbar .dx-diagram-md-edit-item .dx-texteditor {\n  width: 120px;\n}\n.dx-diagram-toolbar .dx-diagram-sm-edit-item .dx-texteditor {\n  width: 70px;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-icon {\n  border-bottom-width: 3px;\n  border-bottom-style: solid;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-diagram-i,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-icon {\n  margin-left: 8px;\n  margin-right: 7px;\n}\n.dx-diagram-toolbar .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-diagram-toolbar .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-dropdownmenu-popup .dx-diagram-color-edit-item .dx-dropdowneditor-field-template-wrapper .dx-icon,\n.dx-dropdownmenu-popup .dx-diagram-image-dropdown-item .dx-dropdowneditor-field-template-wrapper .dx-icon {\n  font-size: 14px;\n  color: #333;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-item .dx-menu-item-content {\n  padding: 5px;\n}\n.dx-diagram-touchbar.dx-context-menu .dx-menu-separator {\n  width: 1px;\n  height: 26px;\n  margin: 0;\n}\n.dx-diagram-i-selectbox-null-icon {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-begin-none {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23FF0000%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M1%2C13l9-9l1%2C1l-9%2C9L1%2C13z%22%20fill%3D%22%23333%22%2F%3E%0A%3Cpath%20class%3D%22st1%22%20d%3D%22M12%2C8V3H0v12h12v-5h16V8H12z%20M10%2C13H2V5h8V13z%22%20fill%3D%22%23333%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-begin-arrow {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2016%22%20style%3D%22enable-background%3Anew%200%200%2028%2016%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M8%2C9l4%2C3l1%2C2L0%2C8l13-6l-1%2C2L8%2C7h20v2H8z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-begin-outlined-triangle {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M0%2C9l13%2C6v-5h15V8H13V3L0%2C9z%20M11%2C12L3.9%2C9L11%2C6V12z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-begin-filled-triangle {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M13%2C10v5L0%2C9l13-6v5h15v2H13z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-end-none {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23FF0000%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M17%2C13l9-9l1%2C1l-9%2C9L17%2C13z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Cpath%20class%3D%22st1%22%20d%3D%22M0%2C8v2h16v5h12V3H16v5H0z%20M18%2C5h8v8h-8V5z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-end-arrow {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M0%2C10l0-2h20l-4-3l-1-2l13%2C6l-13%2C6l1-2l4-3H0z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-end-outlined-triangle {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2016%22%20style%3D%22enable-background%3Anew%200%200%2028%2016%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M28%2C8L15%2C2v5H0v2h15v5L28%2C8z%20M17%2C5l7.1%2C3L17%2C11V5z%22%20fill%3D%22%23333%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-end-filled-triangle {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M0%2C10V8h15V3l13%2C6l-13%2C6v-5H0z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-orthogonal {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M20%2C18v-8h3V5H8v3H0V0h8v3h15h2v2v5h3v8H20z%20M6%2C2H2v4h4V2z%20M26%2C12h-4v4h4V12z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-connector-straight {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20d%3D%22M20%2C10v2.2L8%2C2.8V0H0v8h8V5.8l12%2C9.3V18h8v-8H20z%20M6%2C6H2V2h4V6z%20M26%2C16h-4v-4h4V16z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-line-solid {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Crect%20id%3D%22_x32__2_%22%20x%3D%223%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%2222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-line-dotted {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Crect%20id%3D%22_x32__2_%22%20x%3D%223%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__1_%22%20x%3D%227%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__3_%22%20x%3D%2211%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__4_%22%20x%3D%2215%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__5_%22%20x%3D%2219%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__6_%22%20x%3D%2223%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-line-dashed {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2028%2018%22%20style%3D%22enable-background%3Anew%200%200%2028%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Crect%20id%3D%22_x32__1_%22%20x%3D%223%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%226%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__4_%22%20x%3D%2211%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%226%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Crect%20id%3D%22_x32__5_%22%20x%3D%2219%22%20y%3D%228%22%20class%3D%22st0%22%20width%3D%226%22%20height%3D%222%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 21.84px;\n  height: 14px;\n}\n.dx-diagram-i-button-fill,\n.dx-diagram-i-menu-fill {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20id%3D%22_x32_%22%20d%3D%22M7.6%2C1L6.7%2C1.9l1.9%2C1.9L3%2C9.4L9.5%2C16L16%2C9.4L7.6%2C1z%20M5%2C9l4.5-4.5L14%2C9H5z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A%0A\");\n  width: 14px;\n  height: 17px;\n}\n.dx-diagram-i-button-fullscreen,\n.dx-diagram-i-menu-fullscreen {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpolygon%20points%3D%220%2C6%202%2C6%202%2C2%206%2C2%206%2C0%200%2C0%22%20fill%3D%22%23333%22%2F%3E%0A%3Cpolygon%20points%3D%222%2C12%200%2C12%200%2C18%206%2C18%206%2C16%202%2C16%22%20fill%3D%22%23333%22%2F%3E%0A%3Cpolygon%20points%3D%2212%2C0%2012%2C2%2016%2C2%2016%2C6%2018%2C6%2018%2C0%22%20fill%3D%22%23333%22%2F%3E%0A%3Cpolygon%20points%3D%2216%2C16%2012%2C16%2012%2C18%2018%2C18%2018%2C12%2016%2C12%22%20fill%3D%22%23333%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-lock,\n.dx-diagram-i-menu-lock {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cpath%20id%3D%22_x31_%22%20d%3D%22M14%2C5c0-2.8-2.2-5-5-5C6.2%2C0%2C4%2C2.2%2C4%2C5C2.9%2C5%2C2%2C5.9%2C2%2C7v8c0%2C1.1%2C0.9%2C2%2C2%2C2h10c1.1%2C0%2C2-0.9%2C2-2V7%0A%09C16%2C5.9%2C15.1%2C5%2C14%2C5z%20M9%2C13c-1.1%2C0-2-0.9-2-2s0.9-2%2C2-2c1.1%2C0%2C2%2C0.9%2C2%2C2C11%2C12.1%2C10.1%2C13%2C9%2C13z%20M6%2C5c0-1.7%2C1.3-3%2C3-3%0A%09c1.7%2C0%2C3%2C1.3%2C3%2C3H6z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-unlock,\n.dx-diagram-i-menu-unlock {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st0%22%20d%3D%22M14%2C17H4c-1.1%2C0-2-0.9-2-2V7c0-1.1%2C0.9-2%2C2-2h2h2h4c0-1.7-1.3-3-3-3C8.1%2C2%2C7.3%2C2.4%2C6.8%2C3H4.4%0A%09C5.2%2C1.2%2C7%2C0%2C9%2C0c2.8%2C0%2C5%2C2.2%2C5%2C5c1.1%2C0%2C2%2C0.9%2C2%2C2v8C16%2C16.1%2C15.1%2C17%2C14%2C17z%20M9%2C9c-1.1%2C0-2%2C0.9-2%2C2s0.9%2C2%2C2%2C2s2-0.9%2C2-2%0A%09C11%2C9.9%2C10.1%2C9%2C9%2C9z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-send-to-back,\n.dx-diagram-i-menu-send-to-back {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bopacity%3A0.35%3Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x30__1_%22%20class%3D%22st0%22%20d%3D%22M8%2C0h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2H8c-1.1%2C0-2-0.9-2-2V2C6%2C0.9%2C6.9%2C0%2C8%2C0z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st1%22%20d%3D%22M8%2C12c-1.1%2C0-2-0.9-2-2V4H4C2.9%2C4%2C2%2C4.9%2C2%2C6v8c0%2C1.1%2C0.9%2C2%2C2%2C2h8c1.1%2C0%2C2-0.9%2C2-2v-2H8z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-bring-to-front,\n.dx-diagram-i-menu-bring-to-front {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bopacity%3A0.35%3Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x30__1_%22%20class%3D%22st0%22%20d%3D%22M8%2C0h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2H8c-1.1%2C0-2-0.9-2-2V2C6%2C0.9%2C6.9%2C0%2C8%2C0z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3Cpath%20id%3D%22_x30_%22%20class%3D%22st1%22%20d%3D%22M4%2C4h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2H4c-1.1%2C0-2-0.9-2-2V6C2%2C4.9%2C2.9%2C4%2C4%2C4z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-select-all,\n.dx-diagram-i-menu-select-all {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.75%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st0%22%20d%3D%22M8.5%2C6c0.1%2C0%2C0.3%2C0%2C0.4%2C0.1l0%2C0l6.8%2C5.3c0.3%2C0.2%2C0.3%2C0.5%2C0.1%2C0.8c-0.1%2C0.1-0.1%2C0.2-0.3%2C0.2l-1.9%2C0.3%0A%09l1.3%2C2.6c0.2%2C0.3%2C0%2C0.6-0.3%2C0.7l-2.1%2C0.9c-0.1%2C0-0.2%2C0.1-0.3%2C0.1c-0.2%2C0-0.4-0.1-0.5-0.3l-1.3-2.6l-1.5%2C1.1%0A%09c-0.1%2C0.1-0.2%2C0.1-0.4%2C0.1c-0.3%2C0-0.6-0.2-0.6-0.5V6.6C7.9%2C6.3%2C8.2%2C6%2C8.5%2C6z%22%20fill%3D%22%23333%22%2F%3E%0A%3Cg%20id%3D%22_x33_%22%20class%3D%22st1%22%3E%0A%09%3Cpolygon%20id%3D%22_x31__1_%22%20class%3D%22st0%22%20points%3D%2212%2C6%2014%2C8%2016%2C8%2016%2C6%20%09%22%20fill%3D%22%23333%22%20%2F%3E%0A%09%3Crect%20id%3D%22_x32__1_%22%20x%3D%2211.6%22%20y%3D%222%22%20transform%3D%22matrix(0.7071%20-0.7071%200.7071%200.7071%201.6862%2010.071)%22%20class%3D%22st0%22%20width%3D%222.8%22%20height%3D%222%22%20%20fill%3D%22%23333%22%2F%3E%0A%09%3Crect%20id%3D%22_x33__1_%22%20x%3D%228%22%20y%3D%221%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%224%22%20%20fill%3D%22%23333%22%2F%3E%0A%09%3Crect%20id%3D%22_x34_%22%20x%3D%223.6%22%20y%3D%2210%22%20transform%3D%22matrix(0.7071%20-0.7071%200.7071%200.7071%20-6.3137%206.7573)%22%20class%3D%22st0%22%20width%3D%222.8%22%20height%3D%222%22%20%20fill%3D%22%23333%22%2F%3E%0A%09%3Crect%20id%3D%22_x35_%22%20x%3D%224%22%20y%3D%221.6%22%20transform%3D%22matrix(0.7071%20-0.7071%200.7071%200.7071%20-0.6569%204.4142)%22%20class%3D%22st0%22%20width%3D%222%22%20height%3D%222.8%22%20%20fill%3D%22%23333%22%2F%3E%0A%09%3Crect%20id%3D%22_x36_%22%20x%3D%222%22%20y%3D%226%22%20class%3D%22st0%22%20width%3D%224%22%20height%3D%222%22%20%20fill%3D%22%23333%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-image-delete,\n.dx-diagram-i-menu-image-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st0%22%20d%3D%22M17%2C15.4L15.5%2C17l-2-2l-2%2C2L10%2C15.4l2-2l-2-2l1.5-1.4l2%2C2l2-2l1.5%2C1.5l-2%2C2L17%2C15.4z%20M12%2C6l-4%2C6%0A%09l-2-2l-3%2C5h5v2H3c-1.1%2C0-2-0.9-2-2V3c0-1.1%2C0.9-2%2C2-2h12c1.1%2C0%2C2%2C0.9%2C2%2C2v4l-2%2C2L12%2C6z%20M5.5%2C5C4.7%2C5%2C4%2C5.6%2C4%2C6.5S4.7%2C8%2C5.5%2C8%0A%09S7%2C7.3%2C7%2C6.5S6.3%2C5%2C5.5%2C5z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-image-edit,\n.dx-diagram-i-menu-image-edit {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st0%22%20d%3D%22M15%2C9l-3-3l-4%2C6l-2-2l-3%2C5h6v2H3c-1.1%2C0-2-0.9-2-2V3c0-1.1%2C0.9-2%2C2-2h12c1.1%2C0%2C2%2C0.9%2C2%2C2v4L15%2C9z%0A%09%20M5.5%2C5C4.7%2C5%2C4%2C5.7%2C4%2C6.5S4.7%2C8%2C5.5%2C8S7%2C7.3%2C7%2C6.5S6.3%2C5%2C5.5%2C5z%20M17%2C12.5L12.5%2C17H11v-1.5l4.5-4.5L17%2C12.5z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-image-insert,\n.dx-diagram-i-menu-image-insert {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x31_%22%20class%3D%22st0%22%20d%3D%22M15%2C9l-3-3l-4%2C7l-2-3l-3%2C5h6v2H3c-1.1%2C0-2-0.9-2-2V3c0-1.1%2C0.9-2%2C2-2h12c1.1%2C0%2C2%2C0.9%2C2%2C2v4L15%2C9z%0A%09%20M5.5%2C5C4.7%2C5%2C4%2C5.7%2C4%2C6.5S4.7%2C8%2C5.5%2C8S7%2C7.3%2C7%2C6.5S6.3%2C5%2C5.5%2C5z%20M13%2C11h2v2h2v2h-2v2h-2v-2h-2v-2h2V11z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-layered-bt {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M60%2C20v8c0%2C1.1-0.9%2C2-2%2C2h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8C59.1%2C18%2C60%2C18.9%2C60%2C20z%20M58%2C20%0A%09%09h-8v8h8V20z%20M46%2C6v8c0%2C1.1-0.9%2C2-2%2C2h-8c-1.1%2C0-2-0.9-2-2V6c0-1.1%2C0.9-2%2C2-2h8C45.1%2C4%2C46%2C4.9%2C46%2C6z%20M44%2C6h-8v8h8V6z%20M46%2C34v8%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8C45.1%2C32%2C46%2C32.9%2C46%2C34z%20M44%2C34h-8v8h8V34z%20M46%2C50v8c0%2C1.1-0.9%2C2-2%2C2h-8%0A%09%09c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8C45.1%2C48%2C46%2C48.9%2C46%2C50z%20M44%2C50h-8v8h8V50z%20M32%2C20v8c0%2C1.1-0.9%2C2-2%2C2h-8c-1.1%2C0-2-0.9-2-2%0A%09%09v-8c0-1.1%2C0.9-2%2C2-2h8C31.1%2C18%2C32%2C18.9%2C32%2C20z%20M30%2C20h-8v8h8V20z%20M12%2C4l6%2C6h-5v50h-2V10H6L12%2C4z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M55%2C9v2v7h-2v-7h-7V9h7H55z%20M53%2C30h2v7v2h-2h-7v-2h7V30z%20M39%2C44h2v4h-2V44z%20M27%2C9h7v2h-7v7h-2v-7V9%0A%09%09H27z%20M27%2C37h7v2h-7h-2v-2v-7h2V37z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-layered-lr {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M45%2C59h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C47%2C58.1%2C46.1%2C59%2C45%2C59z%20M45%2C57%0A%09%09v-8h-8v8H45z%20M59%2C45h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C61%2C44.1%2C60.1%2C45%2C59%2C45z%20M59%2C43v-8h-8v8H59z%0A%09%09%20M31%2C45h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C33%2C44.1%2C32.1%2C45%2C31%2C45z%20M31%2C43v-8h-8v8H31z%20M15%2C45H7%0A%09%09c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C17%2C44.1%2C16.1%2C45%2C15%2C45z%20M15%2C43v-8H7v8H15z%20M45%2C31h-8c-1.1%2C0-2-0.9-2-2%0A%09%09v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C47%2C30.1%2C46.1%2C31%2C45%2C31z%20M45%2C29v-8h-8v8H45z%20M61%2C11l-6%2C6v-5H5v-2h50V5L61%2C11z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M56%2C54h-2h-7v-2h7v-7h2v7V54z%20M35%2C52v2h-7h-2v-2v-7h2v7H35z%20M21%2C38v2h-4v-2H21z%20M56%2C26v7h-2v-7h-7%0A%09%09v-2h7h2V26z%20M28%2C26v7h-2v-7v-2h2h7v2H28z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-layered-rl {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M19%2C57v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2h-8C19.9%2C59%2C19%2C58.1%2C19%2C57z%20M29%2C57%0A%09%09v-8h-8v8H29z%20M5%2C43v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2H7C5.9%2C45%2C5%2C44.1%2C5%2C43z%20M15%2C43v-8H7v8H15z%20M33%2C43v-8%0A%09%09c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2h-8C33.9%2C45%2C33%2C44.1%2C33%2C43z%20M43%2C43v-8h-8v8H43z%20M49%2C43v-8c0-1.1%2C0.9-2%2C2-2h8%0A%09%09c1.1%2C0%2C2%2C0.9%2C2%2C2v8c0%2C1.1-0.9%2C2-2%2C2h-8C49.9%2C45%2C49%2C44.1%2C49%2C43z%20M59%2C43v-8h-8v8H59z%20M19%2C29v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-8C19.9%2C31%2C19%2C30.1%2C19%2C29z%20M29%2C29v-8h-8v8H29z%20M11%2C5v5h50v2H11v5l-6-6L11%2C5z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M10%2C52v-7h2v7h7v2h-7h-2V52z%20M38%2C52v-7h2v7v2h-2h-7v-2H38z%20M49%2C38v2h-4v-2H49z%20M10%2C24h2h7v2h-7v7%0A%09%09h-2v-7V24z%20M31%2C26v-2h7h2v2v7h-2v-7H31z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-layered-tb {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M58%2C46h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C60%2C45.1%2C59.1%2C46%2C58%2C46z%20M58%2C36%0A%09%09h-8v8h8V36z%20M44%2C60h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C46%2C59.1%2C45.1%2C60%2C44%2C60z%20M44%2C50h-8v8h8V50z%20M44%2C32%0A%09%09h-8c-1.1%2C0-2-0.9-2-2v-8c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C46%2C31.1%2C45.1%2C32%2C44%2C32z%20M44%2C22h-8v8h8V22z%20M44%2C16h-8%0A%09%09c-1.1%2C0-2-0.9-2-2V6c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C46%2C15.1%2C45.1%2C16%2C44%2C16z%20M44%2C6h-8v8h8V6z%20M30%2C46h-8c-1.1%2C0-2-0.9-2-2v-8%0A%09%09c0-1.1%2C0.9-2%2C2-2h8c1.1%2C0%2C2%2C0.9%2C2%2C2v8C32%2C45.1%2C31.1%2C46%2C30%2C46z%20M30%2C36h-8v8h8V36z%20M6%2C54h5V4h2v50h5l-6%2C6L6%2C54z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M53%2C55h-7v-2h7v-7h2v7v2H53z%20M53%2C27h-7v-2h7h2v2v7h-2V27z%20M39%2C16h2v4h-2V16z%20M25%2C55v-2v-7h2v7h7v2%0A%09%09h-7H25z%20M27%2C34h-2v-7v-2h2h7v2h-7V34z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-tree-bt {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M59%2C6v6c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2V6c0-1.1%2C0.9-2%2C2-2h6C58.1%2C4%2C59%2C4.9%2C59%2C6z%20M57%2C6h-6v6%0A%09%09h6V6z%20M59%2C26v6c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6C58.1%2C24%2C59%2C24.9%2C59%2C26z%20M57%2C26h-6v6h6V26z%20M49%2C38v6%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6C48.1%2C36%2C49%2C36.9%2C49%2C38z%20M47%2C38h-6v6h6V38z%20M49%2C52v6c0%2C1.1-0.9%2C2-2%2C2h-6%0A%09%09c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6C48.1%2C50%2C49%2C50.9%2C49%2C52z%20M47%2C52h-6v6h6V52z%20M39%2C32c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6%0A%09%09c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2V32z%20M37%2C26h-6v6h6V26z%20M30%2C14h-6c-1.1%2C0-2-0.9-2-2V6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09C32%2C13.1%2C31.1%2C14%2C30%2C14z%20M24%2C12h6V6h-6V12z%20M17%2C10h-5v50h-2V10H5l6-6L17%2C10z%20M36%2C12V6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-6C36.9%2C14%2C36%2C13.1%2C36%2C12z%20M38%2C12h6V6h-6V12z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M55%2C14v10h-2V14H55z%20M53%2C34h2v6v2h-2h-4v-2h4V34z%20M43%2C46h2v4h-2V46z%20M40%2C14h2v6h-7v4h-2v-4h-7v-6h2%0A%09%09v4h5h2h4.9L40%2C14z%20M35%2C40h4v2h-4h-2v-2v-6h2V40z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-tree-lr {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M58%2C59h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C60%2C58.1%2C59.1%2C59%2C58%2C59z%20M58%2C57%0A%09%09v-6h-6v6H58z%20M38%2C59h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C40%2C58.1%2C39.1%2C59%2C38%2C59z%20M38%2C57v-6h-6v6H38z%0A%09%09%20M26%2C49h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C28%2C48.1%2C27.1%2C49%2C26%2C49z%20M26%2C47v-6h-6v6H26z%20M12%2C49H6%0A%09%09c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C14%2C48.1%2C13.1%2C49%2C12%2C49z%20M12%2C47v-6H6v6H12z%20M32%2C39c-1.1%2C0-2-0.9-2-2v-6%0A%09%09c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2H32z%20M38%2C37v-6h-6v6H38z%20M50%2C30v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-6C50.9%2C32%2C50%2C31.1%2C50%2C30z%20M52%2C24v6h6v-6H52z%20M54%2C17v-5H4v-2h50V5l6%2C6L54%2C17z%20M52%2C36h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6C50%2C36.9%2C50.9%2C36%2C52%2C36z%20M52%2C38v6h6v-6H52z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M50%2C55H40v-2h10V55z%20M30%2C53v2h-6h-2v-2v-4h2v4H30z%20M18%2C43v2h-4v-2H18z%20M50%2C40v2h-6v-7h-4v-2h4v-7h6%0A%09%09v2h-4v5v2v4.9L50%2C40z%20M24%2C35v4h-2v-4v-2h2h6v2H24z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-tree-rl {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M4%2C57v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2H6C4.9%2C59%2C4%2C58.1%2C4%2C57z%20M12%2C57v-6H6%0A%09%09v6H12z%20M24%2C57v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2h-6C24.9%2C59%2C24%2C58.1%2C24%2C57z%20M32%2C57v-6h-6v6H32z%20M36%2C47v-6%0A%09%09c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2h-6C36.9%2C49%2C36%2C48.1%2C36%2C47z%20M44%2C47v-6h-6v6H44z%20M50%2C47v-6c0-1.1%2C0.9-2%2C2-2h6%0A%09%09c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2h-6C50.9%2C49%2C50%2C48.1%2C50%2C47z%20M58%2C47v-6h-6v6H58z%20M26%2C39c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6%0A%09%09c1.1%2C0%2C2%2C0.9%2C2%2C2v6c0%2C1.1-0.9%2C2-2%2C2H26z%20M32%2C37v-6h-6v6H32z%20M12%2C32H6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09C14%2C31.1%2C13.1%2C32%2C12%2C32z%20M6%2C24v6h6v-6H6z%20M4%2C11l6-6v5h50v2H10v5L4%2C11z%20M14%2C38v6c0%2C1.1-0.9%2C2-2%2C2H6c-1.1%2C0-2-0.9-2-2v-6%0A%09%09c0-1.1%2C0.9-2%2C2-2h6C13.1%2C36%2C14%2C36.9%2C14%2C38z%20M6%2C38v6h6v-6H6z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M14%2C53h10v2H14V53z%20M40%2C53v-4h2v4v2h-2h-6v-2H40z%20M50%2C43v2h-4v-2H50z%20M18%2C39.9V35v-2v-5h-4v-2h6v7%0A%09%09h4v2h-4v7h-6v-2L18%2C39.9z%20M34%2C35v-2h6h2v2v4h-2v-4H34z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-toolbox-open {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M13.5%2C17c-1.9%2C0-3.5-1.6-3.5-3.5s1.6-3.5%2C3.5-3.5s3.5%2C1.6%2C3.5%2C3.5S15.4%2C17%2C13.5%2C17z%20M9%2C1l5%2C7H4L9%2C1z%0A%09%20M8%2C17H1v-7h7V17z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-toolbox-close {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x32_%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M8%2C14v-2h8v2H8z%20M6.7%2C12.3l-1.4%2C1.4L1%2C9l4.3-4.7l1.4%2C1.4L4.4%2C8H16v2H4.4L6.7%2C12.3z%20M8%2C4h8v2H8V4z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-i-button-layout-tree-tb {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2064%2064%22%20style%3D%22enable-background%3Anew%200%200%2064%2064%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x34_%22%3E%0A%09%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M57%2C60h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C59%2C59.1%2C58.1%2C60%2C57%2C60z%20M57%2C52%0A%09%09h-6v6h6V52z%20M57%2C40h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C59%2C39.1%2C58.1%2C40%2C57%2C40z%20M57%2C32h-6v6h6V32z%20M47%2C28%0A%09%09h-6c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C49%2C27.1%2C48.1%2C28%2C47%2C28z%20M47%2C20h-6v6h6V20z%20M47%2C14h-6%0A%09%09c-1.1%2C0-2-0.9-2-2V6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6C49%2C13.1%2C48.1%2C14%2C47%2C14z%20M47%2C6h-6v6h6V6z%20M39%2C38c0%2C1.1-0.9%2C2-2%2C2h-6%0A%09%09c-1.1%2C0-2-0.9-2-2v-6c0-1.1%2C0.9-2%2C2-2h6c1.1%2C0%2C2%2C0.9%2C2%2C2V38z%20M37%2C32h-6v6h6V32z%20M32%2C52v6c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6%0A%09%09c0-1.1%2C0.9-2%2C2-2h6C31.1%2C50%2C32%2C50.9%2C32%2C52z%20M24%2C58h6v-6h-6V58z%20M11%2C60l-6-6h5V4h2v50h5L11%2C60z%20M38%2C50h6c1.1%2C0%2C2%2C0.9%2C2%2C2v6%0A%09%09c0%2C1.1-0.9%2C2-2%2C2h-6c-1.1%2C0-2-0.9-2-2v-6C36%2C50.9%2C36.9%2C50%2C38%2C50z%20M38%2C58h6v-6h-6V58z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20id%3D%22_x32_%22%20class%3D%22st1%22%3E%0A%09%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M53%2C50V40h2v10H53z%20M53%2C24h-4v-2h4h2v2v6h-2V24z%20M43%2C14h2v4h-2V14z%20M39.9%2C46H35h-2h-5v4h-2v-6h7v-4%0A%09%09h2v4h7v6h-2L39.9%2C46z%20M35%2C30h-2v-6v-2h2h4v2h-4V30z%22%20fill%3D%22%23333%22%20%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-diagram-toolbox-popup .dx-button-has-icon .dx-icon.dx-icon-diagram-toolbox-drag {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2012%2012%22%20style%3D%22enable-background%3Anew%200%200%2012%2012%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%20%7D%0A%3C%2Fstyle%3E%0A%3Cg%20id%3D%22_x32_%22%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C8h1V3H0V8z%20M2%2C8h1V3H2V8z%20M4%2C8h1V3H4V8z%20M6%2C8h1V3H6V8z%20M8%2C8h1V3H8V8z%20M10%2C3v5h1V3H10z%22%20fill%3D%22%23333%22%20%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 12px;\n  height: 12px;\n  line-height: 12px;\n  background-size: 12px 12px;\n}\n.dx-diagram-i-button-properties-panel-open {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.35%3Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Benable-background%3Anew%20%20%20%20%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x33_%22%20class%3D%22st0%22%20d%3D%22M17.8%2C10.3l-1%2C1l-2.1-2.1l1-1C15.8%2C8.1%2C15.9%2C8%2C16.1%2C8c0.1%2C0%2C0.3%2C0.1%2C0.4%2C0.2l1.3%2C1.3%0A%09C18%2C9.7%2C18%2C10.1%2C17.8%2C10.3z%20M14%2C2H4v13h2v2H4c-1.1%2C0-2-0.9-2-2V2c0-1.1%2C0.9-2%2C2-2h10c1.1%2C0%2C2%2C0.9%2C2%2C2v3l-2%2C2V2z%20M16.1%2C11.9l-6%2C6.1H8%0A%09v-2.1l6.1-6.1L16.1%2C11.9z%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st1%22%20d%3D%22M5%2C3h8v5l-6%2C6H5V3z%22%20fill%3D%22%23fff%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n  width: 14px;\n  height: 14px;\n}\n.dx-gantt {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.dx-gantt .dx-gantt-main-wrapper {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  position: relative;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  height: 100%;\n}\n.dx-gantt .dx-toolbar .dx-toolbar-items-container {\n  height: auto;\n  min-height: 26px;\n}\n.dx-gantt .dx-gantt-toolbar-separator {\n  display: table;\n  height: 100%;\n  border-left: 1px solid transparent;\n}\n.dx-gantt .dx-gantt-treelist-wrapper {\n  display: -webkit-inline-box;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n.dx-gantt .dx-gantt-treelist-wrapper .dx-treelist .dx-scrollbar-vertical {\n  display: none;\n}\n.dx-gantt .dx-gantt-treelist-wrapper .dx-treelist .dx-treelist-headers + .dx-treelist-rowsview {\n  border-top: none;\n}\n.dx-gantt .dx-splitter-wrapper .dx-splitter-border .dx-splitter {\n  width: 2px;\n}\n.dx-gantt .dx-gantt-view {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  width: 100%;\n  min-width: 1px;\n  background-color: #fff;\n}\n.dx-gantt .dx-gantt-view .dx-gantt-tac-hb {\n  margin-top: -1px;\n}\n.dx-gantt .dx-gantt-view .dx-scrollable-scrollbar {\n  z-index: 100;\n}\n.dx-gantt .dx-gantt-view .dx-gantt-parent::before {\n  border-left-color: inherit;\n  border-top-color: inherit;\n}\n.dx-gantt .dx-gantt-view .dx-gantt-parent::after {\n  border-right-color: inherit;\n  border-top-color: inherit;\n}\n.dx-gantt {\n  border: 1px solid #ddd;\n}\n.dx-gantt .dx-gantt-toolbar-wrapper {\n  padding: 5px;\n  border-bottom: 1px solid #ddd;\n}\n.dx-gantt .dx-gantt-toolbar-wrapper .dx-gantt-toolbar-separator {\n  border-left-color: #ddd;\n}\n.dx-gantt .dx-treelist-text-content {\n  min-height: 16px;\n}\n.dx-gantt .dx-treelist-headers .dx-treelist-table {\n  min-height: 32px;\n}\n.dx-gantt .dx-treelist-icon-container {\n  max-height: 16px;\n}\n.dx-gantt .dx-treelist .dx-treelist-rowsview .dx-selection.dx-row > td,\n.dx-gantt .dx-treelist .dx-treelist-rowsview .dx-selection.dx-row > tr > td,\n.dx-gantt .dx-treelist .dx-treelist-rowsview .dx-selection.dx-row:hover > td,\n.dx-gantt .dx-treelist .dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td {\n  background-color: #e6e6e6;\n}\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row > tr > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover > tr > td {\n  color: #333;\n}\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row.dx-row-lines > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row.dx-row-lines > tr > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover.dx-row-lines > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover.dx-row-lines > tr > td {\n  border-bottom-color: #ddd;\n}\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row.dx-column-lines > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row.dx-column-lines > tr > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover.dx-column-lines > td,\n.dx-gantt .dx-treelist-rowsview .dx-selection.dx-row:hover.dx-column-lines > tr > td {\n  border-left-color: #ddd;\n  border-right-color: #ddd;\n}\n.dx-gantt .dx-treelist-rowsview tr:not(.dx-row-focused).dx-selection .dx-treelist-empty-space {\n  color: #333;\n}\n.dx-gantt .dx-header-row {\n  height: 45px;\n}\n.dx-gantt .dx-gantt-header {\n  color: #959595;\n}\n.dx-gantt .dx-gantt-header .dx-gantt-hb,\n.dx-gantt .dx-gantt-header .dx-gantt-tsa,\n.dx-gantt .dx-gantt-header .dx-gantt-tsac,\n.dx-gantt .dx-gantt-header .dx-gantt-vb {\n  border-color: #ddd;\n  background-color: #fff;\n}\n.dx-gantt .dx-gantt-si {\n  text-align: center;\n  vertical-align: middle;\n  padding-left: 16px;\n  padding-right: 16px;\n}\n.dx-gantt .dx-gantt-tsa,\n.dx-gantt .dx-gantt-tsac {\n  border-bottom: 1px solid #ddd;\n}\n.dx-gantt .dx-gantt-hb {\n  border-top: 1px solid #ddd;\n}\n.dx-gantt .dx-gantt-vb {\n  border-left: 1px solid #ddd;\n}\n.dx-gantt .dx-gantt-taskWrapper {\n  padding-top: 0;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-titleOut {\n  height: 18px;\n  line-height: 18px;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task {\n  background-color: #337ab7;\n  border-radius: 4px;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task .dx-gantt-tPrg {\n  border-radius: 4px;\n  background-color: rgba(0,0,0,.2);\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-smallTask {\n  border-radius: 4px;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-smallTask .dx-gantt-titleIn {\n  padding: 0 2px;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent {\n  height: 16px;\n  line-height: 16px;\n  background-color: #5cb85c;\n  border-left-color: #5cb85c;\n  border-right-color: #5cb85c;\n  border-top-color: #5cb85c;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-noPrg) .dx-gantt-tPrg {\n  background-color: rgba(255,255,255,.2);\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-smallTask).dx-gantt-cmpl .dx-gantt-tPrg::after,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-smallTask)::after,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-smallTask)::before,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-smallTask):not(.dx-gantt-noPrg) .dx-gantt-tPrg::before {\n  content: \"\";\n  position: absolute;\n  bottom: -8px;\n  border-width: 4px;\n  border-style: solid;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent::before,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-noPrg) .dx-gantt-tPrg::before {\n  left: 0;\n  border-right-color: transparent;\n  border-bottom-color: transparent;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent:not(.dx-gantt-noPrg) .dx-gantt-tPrg::before {\n  border-left-color: rgba(255,255,255,.2);\n  border-top-color: rgba(255,255,255,.2);\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent.dx-gantt-cmpl .dx-gantt-tPrg::after,\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent::after {\n  right: 0;\n  border-left-color: transparent;\n  border-bottom-color: transparent;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent.dx-gantt-cmpl::after {\n  border-right-color: rgba(255,255,255,.2);\n  border-top-color: rgba(255,255,255,.2);\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent.dx-gantt-cmpl .dx-gantt-tPrg::after {\n  border-right-color: #5cb85c;\n  border-top-color: #5cb85c;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-task.dx-gantt-parent .dx-gantt-task-edit-frame {\n  height: 16px;\n}\n.dx-gantt .dx-gantt-taskWrapper .dx-gantt-titleIn {\n  color: #fff;\n  padding: 0 5px;\n}\n.dx-gantt .dx-gantt-taskRes {\n  height: 18px;\n  line-height: 18px;\n  color: #fff;\n  background-color: #999;\n  border-radius: 4px;\n  margin-left: 21px;\n  padding-left: 4px;\n  padding-right: 4px;\n}\n.dx-gantt .dx-gantt-titleOut {\n  padding-right: 20px;\n}\n.dx-gantt .dx-gantt-milestone {\n  background-color: #333;\n  width: 12px;\n  height: 12px;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper {\n  padding-top: 0;\n  padding-left: 1px;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper .dx-gantt-task-edit-frame {\n  height: 100%;\n  border: 1px solid #285f8f;\n  border-radius: 4px;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper .dx-gantt-task-edit-frame .dx-gantt-task-edit-progress {\n  border-color: transparent transparent #285f8f;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper .dx-gantt-task-edit-frame .dx-gantt-task-edit-progress::before {\n  width: 12px;\n  height: 6px;\n  bottom: -14px;\n  border: 1px solid #285f8f;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper .dx-gantt-task-edit-frame .dx-gantt-task-edit-progress-status {\n  border-radius: 4px;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper-successor {\n  padding-top: 0;\n}\n.dx-gantt .dx-gantt-task-edit-wrapper-successor .dx-gantt-task-edit-frame-successor {\n  height: 18px;\n}\n.dx-gantt .dx-gantt-task-edit-dependency-l,\n.dx-gantt .dx-gantt-task-edit-dependency-r,\n.dx-gantt .dx-gantt-task-edit-successor-dependency-l,\n.dx-gantt .dx-gantt-task-edit-successor-dependency-r {\n  background: #fff;\n  border: 1px solid #285f8f;\n  width: 9px;\n  height: 9px;\n  margin: auto;\n  top: 0;\n  bottom: 0;\n}\n.dx-gantt .dx-gantt-task-edit-dependency-r,\n.dx-gantt .dx-gantt-task-edit-successor-dependency-r {\n  left: -10px;\n}\n.dx-gantt .dx-gantt-task-edit-dependency-l,\n.dx-gantt .dx-gantt-task-edit-successor-dependency-l {\n  right: -10px;\n}\n.dx-gantt .dx-gantt-task-edit-dependency-line {\n  background-color: #333;\n}\n.dx-gantt .dx-gantt-sel {\n  background-color: #e6e6e6;\n  border-top: 1px solid #e6e6e6;\n  border-bottom: 1px solid #e6e6e6;\n}\n.dx-gantt .dx-gantt-tac-hb .dx-gantt-sel {\n  border: none;\n}\n.dx-gantt .dx-gantt-conn-v {\n  border-left-color: #333;\n}\n.dx-gantt .dx-gantt-conn-h {\n  border-top-color: #333;\n}\n.dx-gantt .dx-gantt-arrow {\n  border: 5px solid #333;\n}\n.dx-gantt .dx-gantt-tm {\n  border-left: 1px dashed #337ab7;\n}\n.dx-gantt .dx-gantt-ti {\n  border-left: 1px dashed #337ab7;\n  border-right: 1px dashed #337ab7;\n  background-color: rgba(51,122,183,.15);\n}\n.dx-gantt .dx-gantt-altRow,\n.dx-gantt .dx-gantt-collapsable-row {\n  background-color: #f5f5f5;\n}\n.dx-form.dx-cv-dialog {\n  padding-bottom: 10px;\n}\n.dx-form.dx-cv-dialog .dx-cv-dialog-row {\n  padding-top: 10px;\n}\n.dx-gantt-i.dx-gantt-i-add {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17%2C15h-3v3h-2v-3H9v-2h3v-3h2v3h3V15z%20M12%2C4l-2-2H3v12h4v2H1V0h10l3%2C3v5h-2V4z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-add-sub-task {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M14%2C6H6v3h2.3c0.3-0.6%2C1-1%2C1.7-1h5c1.1%2C0%2C2%2C0.9%2C2%2C2s-0.9%2C2-2%2C2h-5c-0.7%2C0-1.4-0.4-1.7-1H6v4h2.3%0A%09c0.3-0.6%2C1-1%2C1.7-1h5c1.1%2C0%2C2%2C0.9%2C2%2C2s-0.9%2C2-2%2C2h-5c-0.7%2C0-1.4-0.4-1.7-1H4v-2v-4V9V6l0%2C0C2.3%2C6%2C1%2C4.7%2C1%2C3s1.3-3%2C3-3h10%0A%09c1.7%2C0%2C3%2C1.3%2C3%2C3S15.7%2C6%2C14%2C6z%20M14%2C2H4C3.4%2C2%2C3%2C2.4%2C3%2C3s0.4%2C1%2C1%2C1h10c0.6%2C0%2C1-0.4%2C1-1S14.6%2C2%2C14%2C2z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-add-task {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M10%2C13H8v-3H5V8h3V5h2v3h3v2h-3V13z%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M9%2C1.1c-4.4%2C0-8%2C3.6-8%2C8c0%2C4.4%2C3.6%2C8%2C8%2C8s8-3.6%2C8-8C17%2C4.6%2C13.4%2C1.1%2C9%2C1.1z%20M9%2C15c-3.3%2C0-6-2.7-6-6s2.7-6%2C6-6%0A%09s6%2C2.7%2C6%2C6S12.3%2C15%2C9%2C15z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-collapse {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M9%2C7l7%2C6.8L14.8%2C15L9%2C9.3L3.2%2C15L2%2C13.8L9%2C7z%20M3.2%2C10L2%2C8.8L9%2C2l7%2C6.8L14.8%2C10L9%2C4.3L3.2%2C10z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-delete {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17%2C10H9c-0.6%2C0-1-0.4-1-1s0.4-1%2C1-1h2c0-0.6%2C0.4-1%2C1-1h2c0.6%2C0%2C1%2C0.4%2C1%2C1h2c0.6%2C0%2C1%2C0.4%2C1%2C1%0A%09S17.6%2C10%2C17%2C10z%20M12%2C4l-2-2H3v12h4v2H1V0h10l3%2C3v3h-2V4z%20M17%2C16c0%2C1.1-0.9%2C2-2%2C2h-4c-1.1%2C0-2-0.9-2-2v-5h8V16z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-delete-dependency {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17%2C10H9c-0.6%2C0-1-0.4-1-1c0-0.6%2C0.4-1%2C1-1h2c0-0.6%2C0.4-1%2C1-1h2c0.6%2C0%2C1%2C0.4%2C1%2C1h2c0.6%2C0%2C1%2C0.4%2C1%2C1%0A%09C18%2C9.6%2C17.6%2C10%2C17%2C10z%20M8%2C13H5V5H3.7C3.4%2C5.6%2C2.7%2C6%2C2%2C6C0.9%2C6%2C0%2C5.1%2C0%2C4s0.9-2%2C2-2c0.7%2C0%2C1.4%2C0.4%2C1.7%2C1H7v8h1V13z%20M17%2C16%0A%09c0%2C1.1-0.9%2C2-2%2C2h-4c-1.1%2C0-2-0.9-2-2v-5h8V16z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-expand {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M2%2C3.2L3.2%2C2L9%2C7.7L14.8%2C2L16%2C3.2L9%2C10L2%2C3.2z%20M9%2C12.7L14.8%2C7L16%2C8.2L9%2C15L2%2C8.2L3.2%2C7L9%2C12.7z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-full-screen {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7B%7D%0A%3C%2Fstyle%3E%0A%3Cpolygon%20id%3D%22_x34_%22%20class%3D%22st0%22%20points%3D%221%2C7%203%2C7%203%2C3%207%2C3%207%2C1%201%2C1%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpolygon%20id%3D%22_x33_%22%20class%3D%22st0%22%20points%3D%223%2C11%201%2C11%201%2C17%207%2C17%207%2C15%203%2C15%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpolygon%20id%3D%22_x32_%22%20class%3D%22st0%22%20points%3D%2211%2C1%2011%2C3%2015%2C3%2015%2C7%2017%2C7%2017%2C1%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpolygon%20id%3D%22_x31_%22%20class%3D%22st0%22%20points%3D%2215%2C15%2011%2C15%2011%2C17%2017%2C17%2017%2C11%2015%2C11%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-redo {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M1%2C9c0-4.4%2C3.6-8%2C8-8c2.2%2C0%2C4.2%2C0.9%2C5.6%2C2.4L17%2C1v6h-6l2.2-2.2C12.1%2C3.7%2C10.7%2C3%2C9%2C3C5.7%2C3%2C3%2C5.7%2C3%2C9%0A%09s2.7%2C6%2C6%2C6v2C4.6%2C17%2C1%2C13.4%2C1%2C9z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-task-details {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M12.5%2C18C10%2C18%2C7.9%2C15.5%2C7%2C13.5c0.9-2%2C3-4.5%2C5.5-4.5s4.6%2C2.5%2C5.5%2C4.5C17.1%2C15.5%2C15%2C18%2C12.5%2C18z%0A%09%20M12.5%2C11c-1.4%2C0-2.5%2C1.1-2.5%2C2.5s1.1%2C2.5%2C2.5%2C2.5s2.5-1.1%2C2.5-2.5S13.9%2C11%2C12.5%2C11z%20M12.5%2C15c-0.8%2C0-1.5-0.7-1.5-1.5%0A%09s0.7-1.5%2C1.5-1.5s1.5%2C0.7%2C1.5%2C1.5S13.3%2C15%2C12.5%2C15z%20M12%2C4l-2-2H3v12h2l1%2C2H1V0h10l3%2C3v4h-2V4z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-undo {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M9%2C17v-2c3.3%2C0%2C6-2.7%2C6-6s-2.7-6-6-6C7.3%2C3%2C5.9%2C3.7%2C4.8%2C4.8L7%2C7H1V1l2.4%2C2.4C4.8%2C1.9%2C6.8%2C1%2C9%2C1%0A%09c4.4%2C0%2C8%2C3.6%2C8%2C8S13.4%2C17%2C9%2C17z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-zoom-in {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17.7%2C16.3l-1.4%2C1.4l-4.1-4.1C11%2C14.5%2C9.6%2C15%2C8%2C15c-3.9%2C0-7-3.1-7-7s3.1-7%2C7-7s7%2C3.1%2C7%2C7%0A%09c0%2C1.6-0.5%2C3-1.4%2C4.2L17.7%2C16.3z%20M8%2C3C5.2%2C3%2C3%2C5.2%2C3%2C8s2.2%2C5%2C5%2C5s5-2.2%2C5-5S10.8%2C3%2C8%2C3z%20M9%2C11H7V9H5V7h2V5h2v2h2v2H9V11z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-zoom-out {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M17.7%2C16.3l-1.4%2C1.4l-4.1-4.1C11%2C14.5%2C9.6%2C15%2C8%2C15c-3.9%2C0-7-3.1-7-7s3.1-7%2C7-7s7%2C3.1%2C7%2C7%0A%09c0%2C1.6-0.5%2C3-1.4%2C4.2L17.7%2C16.3z%20M8%2C3C5.2%2C3%2C3%2C5.2%2C3%2C8s2.2%2C5%2C5%2C5s5-2.2%2C5-5S10.8%2C3%2C8%2C3z%20M5%2C9V7h6v2H5z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-resource-manager {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2016%2016%22%20style%3D%22enable-background%3Anew%200%200%2016%2016%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M12%2C9h4v4h-4%20M8%2C5H0v2h8%20M12%2C5h4V1h-4%20M0%2C1v2h10V1%20M0%2C15h8v-2H0%20M0%2C11h10V9H0%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A\");\n}\n.dx-gantt-i.dx-gantt-i-toggle-resources {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.2.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x35_%22%20class%3D%22st0%22%20d%3D%22M14%2C15H2c-1.1%2C0-2-0.9-2-2v-2c0-1.1%2C0.9-2%2C2-2h12c1.1%2C0%2C2%2C0.9%2C2%2C2v2C16%2C14.1%2C15.1%2C15%2C14%2C15z%20M9%2C11H2%0A%09v2h7V11z%20M14%2C7H2C0.9%2C7%2C0%2C6.1%2C0%2C5V3c0-1.1%2C0.9-2%2C2-2h12c1.1%2C0%2C2%2C0.9%2C2%2C2v2C16%2C6.1%2C15.1%2C7%2C14%2C7z%20M12%2C3H2v2h10V3z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A%0A%0A%0A\");\n}\n.dx-gantt-i.dx-gantt-i-toggle-dependencies {\n  background-image: url(\"data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2024.2.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22_x31_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%2018%2018%22%20style%3D%22enable-background%3Anew%200%200%2018%2018%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3B%7D%0A%09.st1%7Bopacity%3A0.5%3B%7D%0A%09.st2%7B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20id%3D%22_x32_%22%20class%3D%22st0%22%20d%3D%22M7%2C11c-2.3%2C0-4.2-1.7-5-4c0.8-2.3%2C2.7-4%2C5-4s4.2%2C1.7%2C5%2C4C11.2%2C9.3%2C9.3%2C11%2C7%2C11z%20M7%2C5%0A%09C5.9%2C5%2C5%2C5.9%2C5%2C7s0.9%2C2%2C2%2C2s2-0.9%2C2-2S8.1%2C5%2C7%2C5z%20M7%2C8C6.4%2C8%2C6%2C7.6%2C6%2C7s0.4-1%2C1-1s1%2C0.4%2C1%2C1S7.6%2C8%2C7%2C8z%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpolygon%20class%3D%22st1%22%20points%3D%226%2C10%206%2C14%2013%2C14%2013%2C16%2016%2C13%2013%2C10%2013%2C12%208%2C12%208%2C10%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3Cpolygon%20class%3D%22st1%22%20points%3D%226%2C4%206%2C2%200%2C2%200%2C0%208%2C0%208%2C4%20%22%20fill%3D%22%23666666%22%2F%3E%0A%3Crect%20x%3D%229.4%22%20y%3D%222.1%22%20transform%3D%22matrix(0.7071%20-0.7071%200.7071%200.7071%200.8934%209.1569)%22%20class%3D%22st2%22%20width%3D%224.2%22%20height%3D%222.8%22%20fill%3D%22%23666666%22%2F%3E%0A%3Crect%20x%3D%221.2%22%20y%3D%229.6%22%20transform%3D%22matrix(0.7071%20-0.7071%200.7071%200.7071%20-6.6066%206.0503)%22%20class%3D%22st2%22%20width%3D%225.7%22%20height%3D%222.8%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fsvg%3E%0A%0A\");\n}\n.dx-sortable {\n  overflow: hidden;\n}\n.dx-sortable-dragging.dx-sortable-clone {\n  position: absolute;\n  top: 0;\n  left: 0;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  opacity: .9;\n  z-index: 2147483647;\n}\n.dx-sortable-dragging.dx-sortable-clone .dx-inkripple {\n  overflow: hidden;\n}\n.dx-sortable-dragging.dx-sortable-clone * {\n  cursor: pointer;\n  cursor: -webkit-grabbing;\n  cursor: grabbing;\n}\n.dx-sortable-source {\n  opacity: .5;\n}\n.dx-sortable-source-hidden {\n  opacity: 0;\n}\n.dx-sortable-placeholder {\n  position: absolute;\n  top: 0;\n  left: 0;\n  border: 1px solid #337ab7;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  z-index: 2147483647;\n}\n.dx-sortable-placeholder-inside {\n  border-width: 2px;\n}\n.dx-sortable-dragging > * {\n  border-color: rgba(51,122,183,.5);\n  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.1),0 6px 8px rgba(0,0,0,.2);\n  box-shadow: 0 1px 3px rgba(0,0,0,.1),0 6px 8px rgba(0,0,0,.2);\n}\n.dx-deferrendering .dx-deferrendering-loadindicator-container {\n  width: 100%;\n  height: 100%;\n  position: relative;\n}\n.dx-deferrendering.dx-pending-rendering .dx-invisible-while-pending-rendering,\n.dx-deferrendering:not(.dx-pending-rendering) .dx-visible-while-pending-rendering {\n  display: none!important;\n}\n.dx-map-container,\n.dx-map-shield {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  color: #000;\n}\n.dx-map-shield {\n  top: -100%;\n  left: 0;\n  background: rgba(0,0,0,.01);\n  opacity: .01;\n}"
  },
  {
    "path": "addon/chrome/content/lib/css/github-markdown.css",
    "content": "@media (prefers-color-scheme: dark) {\n    .markdown-body,\n    [data-theme=\"dark\"] {\n      /*dark*/\n      color-scheme: dark;\n      --color-prettylights-syntax-comment: #8b949e;\n      --color-prettylights-syntax-constant: #79c0ff;\n      --color-prettylights-syntax-entity: #d2a8ff;\n      --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n      --color-prettylights-syntax-entity-tag: #7ee787;\n      --color-prettylights-syntax-keyword: #ff7b72;\n      --color-prettylights-syntax-string: #a5d6ff;\n      --color-prettylights-syntax-variable: #ffa657;\n      --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n      --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n      --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n      --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n      --color-prettylights-syntax-carriage-return-bg: #b62324;\n      --color-prettylights-syntax-string-regexp: #7ee787;\n      --color-prettylights-syntax-markup-list: #f2cc60;\n      --color-prettylights-syntax-markup-heading: #1f6feb;\n      --color-prettylights-syntax-markup-italic: #c9d1d9;\n      --color-prettylights-syntax-markup-bold: #c9d1d9;\n      --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n      --color-prettylights-syntax-markup-deleted-bg: #67060c;\n      --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n      --color-prettylights-syntax-markup-inserted-bg: #033a16;\n      --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n      --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n      --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n      --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n      --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n      --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n      --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n      --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n      --color-fg-default: #e6edf3;\n      --color-fg-muted: #7d8590;\n      --color-fg-subtle: #6e7681;\n      --color-canvas-default: #0d1117;\n      --color-canvas-subtle: #161b22;\n      --color-border-default: #30363d;\n      --color-border-muted: #21262d;\n      --color-neutral-muted: rgba(110,118,129,0.4);\n      --color-accent-fg: #2f81f7;\n      --color-accent-emphasis: #1f6feb;\n      --color-attention-fg: #d29922;\n      --color-attention-subtle: rgba(187,128,9,0.15);\n      --color-danger-fg: #f85149;\n      --color-done-fg: #a371f7;\n    }\n  }\n  \n  @media (prefers-color-scheme: light) {\n    .markdown-body,\n    [data-theme=\"light\"] {\n      /*light*/\n      color-scheme: light;\n      --color-prettylights-syntax-comment: #6e7781;\n      --color-prettylights-syntax-constant: #0550ae;\n      --color-prettylights-syntax-entity: #6639ba;\n      --color-prettylights-syntax-storage-modifier-import: #24292f;\n      --color-prettylights-syntax-entity-tag: #116329;\n      --color-prettylights-syntax-keyword: #cf222e;\n      --color-prettylights-syntax-string: #0a3069;\n      --color-prettylights-syntax-variable: #953800;\n      --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n      --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n      --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n      --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n      --color-prettylights-syntax-carriage-return-bg: #cf222e;\n      --color-prettylights-syntax-string-regexp: #116329;\n      --color-prettylights-syntax-markup-list: #3b2300;\n      --color-prettylights-syntax-markup-heading: #0550ae;\n      --color-prettylights-syntax-markup-italic: #24292f;\n      --color-prettylights-syntax-markup-bold: #24292f;\n      --color-prettylights-syntax-markup-deleted-text: #82071e;\n      --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n      --color-prettylights-syntax-markup-inserted-text: #116329;\n      --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n      --color-prettylights-syntax-markup-changed-text: #953800;\n      --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n      --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n      --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n      --color-prettylights-syntax-meta-diff-range: #8250df;\n      --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n      --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n      --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n      --color-fg-default: #1F2328;\n      --color-fg-muted: #656d76;\n      --color-fg-subtle: #6e7781;\n      --color-canvas-default: #ffffff;\n      --color-canvas-subtle: #f6f8fa;\n      --color-border-default: #d0d7de;\n      --color-border-muted: hsla(210,18%,87%,1);\n      --color-neutral-muted: rgba(175,184,193,0.2);\n      --color-accent-fg: #0969da;\n      --color-accent-emphasis: #0969da;\n      --color-attention-fg: #9a6700;\n      --color-attention-subtle: #fff8c5;\n      --color-danger-fg: #d1242f;\n      --color-done-fg: #8250df;\n      --color-prettylights-syntax-comment: #6e7781;\n      --color-prettylights-syntax-constant: #0550ae;\n      --color-prettylights-syntax-entity: #6639ba;\n      --color-prettylights-syntax-storage-modifier-import: #24292f;\n      --color-prettylights-syntax-entity-tag: #116329;\n      --color-prettylights-syntax-keyword: #cf222e;\n      --color-prettylights-syntax-string: #0a3069;\n      --color-prettylights-syntax-variable: #953800;\n      --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n      --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n      --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n      --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n      --color-prettylights-syntax-carriage-return-bg: #cf222e;\n      --color-prettylights-syntax-string-regexp: #116329;\n      --color-prettylights-syntax-markup-list: #3b2300;\n      --color-prettylights-syntax-markup-heading: #0550ae;\n      --color-prettylights-syntax-markup-italic: #24292f;\n      --color-prettylights-syntax-markup-bold: #24292f;\n      --color-prettylights-syntax-markup-deleted-text: #82071e;\n      --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n      --color-prettylights-syntax-markup-inserted-text: #116329;\n      --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n      --color-prettylights-syntax-markup-changed-text: #953800;\n      --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n      --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n      --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n      --color-prettylights-syntax-meta-diff-range: #8250df;\n      --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n      --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n      --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n      --color-fg-default: #1F2328;\n      --color-fg-muted: #656d76;\n      --color-fg-subtle: #6e7781;\n      --color-canvas-default: #ffffff;\n      --color-canvas-subtle: #f6f8fa;\n      --color-border-default: #d0d7de;\n      --color-border-muted: hsla(210,18%,87%,1);\n      --color-neutral-muted: rgba(175,184,193,0.2);\n      --color-accent-fg: #0969da;\n      --color-accent-emphasis: #0969da;\n      --color-attention-fg: #9a6700;\n      --color-attention-subtle: #fff8c5;\n      --color-danger-fg: #d1242f;\n      --color-done-fg: #8250df;\n    }\n  }\n  \n  .markdown-body {\n    -ms-text-size-adjust: 100%;\n    -webkit-text-size-adjust: 100%;\n    margin: 0;\n    color: var(--color-fg-default);\n    background-color: var(--color-canvas-default);\n    font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Noto Sans\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";\n    font-size: 16px;\n    line-height: 1.5;\n    word-wrap: break-word;\n  }\n  \n  .markdown-body .octicon {\n    display: inline-block;\n    fill: currentColor;\n    vertical-align: text-bottom;\n  }\n  \n  .markdown-body h1:hover .anchor .octicon-link:before,\n  .markdown-body h2:hover .anchor .octicon-link:before,\n  .markdown-body h3:hover .anchor .octicon-link:before,\n  .markdown-body h4:hover .anchor .octicon-link:before,\n  .markdown-body h5:hover .anchor .octicon-link:before,\n  .markdown-body h6:hover .anchor .octicon-link:before {\n    width: 16px;\n    height: 16px;\n    content: ' ';\n    display: inline-block;\n    background-color: currentColor;\n    -webkit-mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n    mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n  }\n  \n  .markdown-body details,\n  .markdown-body figcaption,\n  .markdown-body figure {\n    display: block;\n  }\n  \n  .markdown-body summary {\n    display: list-item;\n  }\n  \n  .markdown-body [hidden] {\n    display: none !important;\n  }\n  \n  .markdown-body a {\n    background-color: transparent;\n    color: var(--color-accent-fg);\n    text-decoration: none;\n  }\n  \n  .markdown-body abbr[title] {\n    border-bottom: none;\n    -webkit-text-decoration: underline dotted;\n    text-decoration: underline dotted;\n  }\n  \n  .markdown-body b,\n  .markdown-body strong {\n    font-weight: var(--base-text-weight-semibold, 600);\n  }\n  \n  .markdown-body dfn {\n    font-style: italic;\n  }\n  \n  .markdown-body h1 {\n    margin: .67em 0;\n    font-weight: var(--base-text-weight-semibold, 600);\n    padding-bottom: .3em;\n    font-size: 2em;\n    border-bottom: 1px solid var(--color-border-muted);\n  }\n  \n  .markdown-body mark {\n    background-color: var(--color-attention-subtle);\n    color: var(--color-fg-default);\n  }\n  \n  .markdown-body small {\n    font-size: 90%;\n  }\n  \n  .markdown-body sub,\n  .markdown-body sup {\n    font-size: 75%;\n    line-height: 0;\n    position: relative;\n    vertical-align: baseline;\n  }\n  \n  .markdown-body sub {\n    bottom: -0.25em;\n  }\n  \n  .markdown-body sup {\n    top: -0.5em;\n  }\n  \n  .markdown-body img {\n    border-style: none;\n    max-width: 100%;\n    box-sizing: content-box;\n    background-color: var(--color-canvas-default);\n  }\n  \n  .markdown-body code,\n  .markdown-body kbd,\n  .markdown-body pre,\n  .markdown-body samp {\n    font-family: monospace;\n    font-size: 1em;\n  }\n  \n  .markdown-body figure {\n    margin: 1em 40px;\n  }\n  \n  .markdown-body hr {\n    box-sizing: content-box;\n    overflow: hidden;\n    background: transparent;\n    border-bottom: 1px solid var(--color-border-muted);\n    height: .25em;\n    padding: 0;\n    margin: 24px 0;\n    background-color: var(--color-border-default);\n    border: 0;\n  }\n  \n  .markdown-body input {\n    font: inherit;\n    margin: 0;\n    overflow: visible;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  \n  .markdown-body [type=button],\n  .markdown-body [type=reset],\n  .markdown-body [type=submit] {\n    -webkit-appearance: button;\n  }\n  \n  .markdown-body [type=checkbox],\n  .markdown-body [type=radio] {\n    box-sizing: border-box;\n    padding: 0;\n  }\n  \n  .markdown-body [type=number]::-webkit-inner-spin-button,\n  .markdown-body [type=number]::-webkit-outer-spin-button {\n    height: auto;\n  }\n  \n  .markdown-body [type=search]::-webkit-search-cancel-button,\n  .markdown-body [type=search]::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  \n  .markdown-body ::-webkit-input-placeholder {\n    color: inherit;\n    opacity: .54;\n  }\n  \n  .markdown-body ::-webkit-file-upload-button {\n    -webkit-appearance: button;\n    font: inherit;\n  }\n  \n  .markdown-body a:hover {\n    text-decoration: underline;\n  }\n  \n  .markdown-body ::placeholder {\n    color: var(--color-fg-subtle);\n    opacity: 1;\n  }\n  \n  .markdown-body hr::before {\n    display: table;\n    content: \"\";\n  }\n  \n  .markdown-body hr::after {\n    display: table;\n    clear: both;\n    content: \"\";\n  }\n  \n  .markdown-body table {\n    border-spacing: 0;\n    border-collapse: collapse;\n    display: block;\n    width: max-content;\n    max-width: 100%;\n    overflow: auto;\n  }\n  \n  .markdown-body td,\n  .markdown-body th {\n    padding: 0;\n  }\n  \n  .markdown-body details summary {\n    cursor: pointer;\n  }\n  \n  .markdown-body details:not([open])>*:not(summary) {\n    display: none !important;\n  }\n  \n  .markdown-body a:focus,\n  .markdown-body [role=button]:focus,\n  .markdown-body input[type=radio]:focus,\n  .markdown-body input[type=checkbox]:focus {\n    outline: 2px solid var(--color-accent-fg);\n    outline-offset: -2px;\n    box-shadow: none;\n  }\n  \n  .markdown-body a:focus:not(:focus-visible),\n  .markdown-body [role=button]:focus:not(:focus-visible),\n  .markdown-body input[type=radio]:focus:not(:focus-visible),\n  .markdown-body input[type=checkbox]:focus:not(:focus-visible) {\n    outline: solid 1px transparent;\n  }\n  \n  .markdown-body a:focus-visible,\n  .markdown-body [role=button]:focus-visible,\n  .markdown-body input[type=radio]:focus-visible,\n  .markdown-body input[type=checkbox]:focus-visible {\n    outline: 2px solid var(--color-accent-fg);\n    outline-offset: -2px;\n    box-shadow: none;\n  }\n  \n  .markdown-body a:not([class]):focus,\n  .markdown-body a:not([class]):focus-visible,\n  .markdown-body input[type=radio]:focus,\n  .markdown-body input[type=radio]:focus-visible,\n  .markdown-body input[type=checkbox]:focus,\n  .markdown-body input[type=checkbox]:focus-visible {\n    outline-offset: 0;\n  }\n  \n  .markdown-body kbd {\n    display: inline-block;\n    padding: 3px 5px;\n    font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;\n    line-height: 10px;\n    color: var(--color-fg-default);\n    vertical-align: middle;\n    background-color: var(--color-canvas-subtle);\n    border: solid 1px var(--color-neutral-muted);\n    border-bottom-color: var(--color-neutral-muted);\n    border-radius: 6px;\n    box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n  }\n  \n  .markdown-body h1,\n  .markdown-body h2,\n  .markdown-body h3,\n  .markdown-body h4,\n  .markdown-body h5,\n  .markdown-body h6 {\n    margin-top: 24px;\n    margin-bottom: 16px;\n    font-weight: var(--base-text-weight-semibold, 600);\n    line-height: 1.25;\n  }\n  \n  .markdown-body h2 {\n    font-weight: var(--base-text-weight-semibold, 600);\n    padding-bottom: .3em;\n    font-size: 1.5em;\n    border-bottom: 1px solid var(--color-border-muted);\n  }\n  \n  .markdown-body h3 {\n    font-weight: var(--base-text-weight-semibold, 600);\n    font-size: 1.25em;\n  }\n  \n  .markdown-body h4 {\n    font-weight: var(--base-text-weight-semibold, 600);\n    font-size: 1em;\n  }\n  \n  .markdown-body h5 {\n    font-weight: var(--base-text-weight-semibold, 600);\n    font-size: .875em;\n  }\n  \n  .markdown-body h6 {\n    font-weight: var(--base-text-weight-semibold, 600);\n    font-size: .85em;\n    color: var(--color-fg-muted);\n  }\n  \n  .markdown-body p {\n    margin-top: 0;\n    margin-bottom: 10px;\n  }\n  \n  .markdown-body blockquote {\n    margin: 0;\n    padding: 0 1em;\n    color: var(--color-fg-muted);\n    border-left: .25em solid var(--color-border-default);\n  }\n  \n  .markdown-body ul,\n  .markdown-body ol {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-left: 2em;\n  }\n  \n  .markdown-body ol ol,\n  .markdown-body ul ol {\n    list-style-type: lower-roman;\n  }\n  \n  .markdown-body ul ul ol,\n  .markdown-body ul ol ol,\n  .markdown-body ol ul ol,\n  .markdown-body ol ol ol {\n    list-style-type: lower-alpha;\n  }\n  \n  .markdown-body dd {\n    margin-left: 0;\n  }\n  \n  .markdown-body tt,\n  .markdown-body code,\n  .markdown-body samp {\n    font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;\n    font-size: 12px;\n  }\n  \n  .markdown-body pre {\n    margin-top: 0;\n    margin-bottom: 0;\n    font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;\n    font-size: 12px;\n    word-wrap: normal;\n  }\n  \n  .markdown-body .octicon {\n    display: inline-block;\n    overflow: visible !important;\n    vertical-align: text-bottom;\n    fill: currentColor;\n  }\n  \n  .markdown-body input::-webkit-outer-spin-button,\n  .markdown-body input::-webkit-inner-spin-button {\n    margin: 0;\n    -webkit-appearance: none;\n    appearance: none;\n  }\n  \n  .markdown-body .color-fg-accent {\n    color: var(--color-accent-fg) !important;\n  }\n  \n  .markdown-body .color-fg-attention {\n    color: var(--color-attention-fg) !important;\n  }\n  \n  .markdown-body .color-fg-done {\n    color: var(--color-done-fg) !important;\n  }\n  \n  .markdown-body .flex-items-center {\n    align-items: center !important;\n  }\n  \n  .markdown-body .mb-1 {\n    margin-bottom: var(--base-size-4, 4px) !important;\n  }\n  \n  .markdown-body .text-semibold {\n    font-weight: var(--base-text-weight-medium, 500) !important;\n  }\n  \n  .markdown-body .d-inline-flex {\n    display: inline-flex !important;\n  }\n  \n  .markdown-body::before {\n    display: table;\n    content: \"\";\n  }\n  \n  .markdown-body::after {\n    display: table;\n    clear: both;\n    content: \"\";\n  }\n  \n  .markdown-body>*:first-child {\n    margin-top: 0 !important;\n  }\n  \n  .markdown-body>*:last-child {\n    margin-bottom: 0 !important;\n  }\n  \n  /* .markdown-body a:not([href]) {\n    color: inherit;\n    text-decoration: none;\n  } */\n  \n  .markdown-body .absent {\n    color: var(--color-danger-fg);\n  }\n  \n  .markdown-body .anchor {\n    float: left;\n    padding-right: 4px;\n    margin-left: -20px;\n    line-height: 1;\n  }\n  \n  .markdown-body .anchor:focus {\n    outline: none;\n  }\n  \n  .markdown-body p,\n  .markdown-body blockquote,\n  .markdown-body ul,\n  .markdown-body ol,\n  .markdown-body dl,\n  .markdown-body table,\n  .markdown-body pre,\n  .markdown-body details {\n    margin-top: 0;\n    margin-bottom: 16px;\n  }\n  \n  .markdown-body blockquote>:first-child {\n    margin-top: 0;\n  }\n  \n  .markdown-body blockquote>:last-child {\n    margin-bottom: 0;\n  }\n  \n  .markdown-body h1 .octicon-link,\n  .markdown-body h2 .octicon-link,\n  .markdown-body h3 .octicon-link,\n  .markdown-body h4 .octicon-link,\n  .markdown-body h5 .octicon-link,\n  .markdown-body h6 .octicon-link {\n    color: var(--color-fg-default);\n    vertical-align: middle;\n    visibility: hidden;\n  }\n  \n  .markdown-body h1:hover .anchor,\n  .markdown-body h2:hover .anchor,\n  .markdown-body h3:hover .anchor,\n  .markdown-body h4:hover .anchor,\n  .markdown-body h5:hover .anchor,\n  .markdown-body h6:hover .anchor {\n    text-decoration: none;\n  }\n  \n  .markdown-body h1:hover .anchor .octicon-link,\n  .markdown-body h2:hover .anchor .octicon-link,\n  .markdown-body h3:hover .anchor .octicon-link,\n  .markdown-body h4:hover .anchor .octicon-link,\n  .markdown-body h5:hover .anchor .octicon-link,\n  .markdown-body h6:hover .anchor .octicon-link {\n    visibility: visible;\n  }\n  \n  .markdown-body h1 tt,\n  .markdown-body h1 code,\n  .markdown-body h2 tt,\n  .markdown-body h2 code,\n  .markdown-body h3 tt,\n  .markdown-body h3 code,\n  .markdown-body h4 tt,\n  .markdown-body h4 code,\n  .markdown-body h5 tt,\n  .markdown-body h5 code,\n  .markdown-body h6 tt,\n  .markdown-body h6 code {\n    padding: 0 .2em;\n    font-size: inherit;\n  }\n  \n  .markdown-body summary h1,\n  .markdown-body summary h2,\n  .markdown-body summary h3,\n  .markdown-body summary h4,\n  .markdown-body summary h5,\n  .markdown-body summary h6 {\n    display: inline-block;\n  }\n  \n  .markdown-body summary h1 .anchor,\n  .markdown-body summary h2 .anchor,\n  .markdown-body summary h3 .anchor,\n  .markdown-body summary h4 .anchor,\n  .markdown-body summary h5 .anchor,\n  .markdown-body summary h6 .anchor {\n    margin-left: -40px;\n  }\n  \n  .markdown-body summary h1,\n  .markdown-body summary h2 {\n    padding-bottom: 0;\n    border-bottom: 0;\n  }\n  \n  .markdown-body ul.no-list,\n  .markdown-body ol.no-list {\n    padding: 0;\n    list-style-type: none;\n  }\n  \n  .markdown-body ol[type=\"a s\"] {\n    list-style-type: lower-alpha;\n  }\n  \n  .markdown-body ol[type=\"A s\"] {\n    list-style-type: upper-alpha;\n  }\n  \n  .markdown-body ol[type=\"i s\"] {\n    list-style-type: lower-roman;\n  }\n  \n  .markdown-body ol[type=\"I s\"] {\n    list-style-type: upper-roman;\n  }\n  \n  .markdown-body ol[type=\"1\"] {\n    list-style-type: decimal;\n  }\n  \n  .markdown-body div>ol:not([type]) {\n    list-style-type: decimal;\n  }\n  \n  .markdown-body ul ul,\n  .markdown-body ul ol,\n  .markdown-body ol ol,\n  .markdown-body ol ul {\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  \n  .markdown-body li>p {\n    margin-top: 16px;\n  }\n  \n  .markdown-body li+li {\n    margin-top: .25em;\n  }\n  \n  .markdown-body dl {\n    padding: 0;\n  }\n  \n  .markdown-body dl dt {\n    padding: 0;\n    margin-top: 16px;\n    font-size: 1em;\n    font-style: italic;\n    font-weight: var(--base-text-weight-semibold, 600);\n  }\n  \n  .markdown-body dl dd {\n    padding: 0 16px;\n    margin-bottom: 16px;\n  }\n  \n  .markdown-body table th {\n    font-weight: var(--base-text-weight-semibold, 600);\n  }\n  \n  .markdown-body table th,\n  .markdown-body table td {\n    padding: 6px 13px;\n    border: 1px solid var(--color-border-default);\n  }\n  \n  .markdown-body table td>:last-child {\n    margin-bottom: 0;\n  }\n  \n  .markdown-body table tr {\n    background-color: var(--color-canvas-default);\n    border-top: 1px solid var(--color-border-muted);\n  }\n  \n  .markdown-body table tr:nth-child(2n) {\n    background-color: var(--color-canvas-subtle);\n  }\n  \n  .markdown-body table img {\n    background-color: transparent;\n  }\n  \n  .markdown-body img[align=right] {\n    padding-left: 20px;\n  }\n  \n  .markdown-body img[align=left] {\n    padding-right: 20px;\n  }\n  \n  .markdown-body .emoji {\n    max-width: none;\n    vertical-align: text-top;\n    background-color: transparent;\n  }\n  \n  .markdown-body span.frame {\n    display: block;\n    overflow: hidden;\n  }\n  \n  .markdown-body span.frame>span {\n    display: block;\n    float: left;\n    width: auto;\n    padding: 7px;\n    margin: 13px 0 0;\n    overflow: hidden;\n    border: 1px solid var(--color-border-default);\n  }\n  \n  .markdown-body span.frame span img {\n    display: block;\n    float: left;\n  }\n  \n  .markdown-body span.frame span span {\n    display: block;\n    padding: 5px 0 0;\n    clear: both;\n    color: var(--color-fg-default);\n  }\n  \n  .markdown-body span.align-center {\n    display: block;\n    overflow: hidden;\n    clear: both;\n  }\n  \n  .markdown-body span.align-center>span {\n    display: block;\n    margin: 13px auto 0;\n    overflow: hidden;\n    text-align: center;\n  }\n  \n  .markdown-body span.align-center span img {\n    margin: 0 auto;\n    text-align: center;\n  }\n  \n  .markdown-body span.align-right {\n    display: block;\n    overflow: hidden;\n    clear: both;\n  }\n  \n  .markdown-body span.align-right>span {\n    display: block;\n    margin: 13px 0 0;\n    overflow: hidden;\n    text-align: right;\n  }\n  \n  .markdown-body span.align-right span img {\n    margin: 0;\n    text-align: right;\n  }\n  \n  .markdown-body span.float-left {\n    display: block;\n    float: left;\n    margin-right: 13px;\n    overflow: hidden;\n  }\n  \n  .markdown-body span.float-left span {\n    margin: 13px 0 0;\n  }\n  \n  .markdown-body span.float-right {\n    display: block;\n    float: right;\n    margin-left: 13px;\n    overflow: hidden;\n  }\n  \n  .markdown-body span.float-right>span {\n    display: block;\n    margin: 13px auto 0;\n    overflow: hidden;\n    text-align: right;\n  }\n  \n  .markdown-body code,\n  .markdown-body tt {\n    padding: .2em .4em;\n    margin: 0;\n    font-size: 85%;\n    white-space: break-spaces;\n    background-color: var(--color-neutral-muted);\n    border-radius: 6px;\n  }\n  \n  .markdown-body code br,\n  .markdown-body tt br {\n    display: none;\n  }\n  \n  .markdown-body del code {\n    text-decoration: inherit;\n  }\n  \n  .markdown-body samp {\n    font-size: 85%;\n  }\n  \n  .markdown-body pre code {\n    font-size: 100%;\n  }\n  \n  .markdown-body pre>code {\n    padding: 0;\n    margin: 0;\n    word-break: normal;\n    white-space: pre;\n    background: transparent;\n    border: 0;\n  }\n  \n  .markdown-body .highlight {\n    margin-bottom: 16px;\n  }\n  \n  .markdown-body .highlight pre {\n    margin-bottom: 0;\n    word-break: normal;\n  }\n  \n  .markdown-body .highlight pre,\n  .markdown-body pre {\n    padding: 16px;\n    overflow: auto;\n    font-size: 85%;\n    line-height: 1.45;\n    color: var(--color-fg-default);\n    background-color: var(--color-canvas-subtle);\n    border-radius: 6px;\n  }\n  \n  .markdown-body pre code,\n  .markdown-body pre tt {\n    display: inline;\n    max-width: auto;\n    padding: 0;\n    margin: 0;\n    overflow: visible;\n    line-height: inherit;\n    word-wrap: normal;\n    background-color: transparent;\n    border: 0;\n  }\n  \n  .markdown-body .csv-data td,\n  .markdown-body .csv-data th {\n    padding: 5px;\n    overflow: hidden;\n    font-size: 12px;\n    line-height: 1;\n    text-align: left;\n    white-space: nowrap;\n  }\n  \n  .markdown-body .csv-data .blob-num {\n    padding: 10px 8px 9px;\n    text-align: right;\n    background: var(--color-canvas-default);\n    border: 0;\n  }\n  \n  .markdown-body .csv-data tr {\n    border-top: 0;\n  }\n  \n  .markdown-body .csv-data th {\n    font-weight: var(--base-text-weight-semibold, 600);\n    background: var(--color-canvas-subtle);\n    border-top: 0;\n  }\n  \n  .markdown-body [data-footnote-ref]::before {\n    content: \"[\";\n  }\n  \n  .markdown-body [data-footnote-ref]::after {\n    content: \"]\";\n  }\n  \n  .markdown-body .footnotes {\n    font-size: 12px;\n    color: var(--color-fg-muted);\n    border-top: 1px solid var(--color-border-default);\n  }\n  \n  .markdown-body .footnotes ol {\n    padding-left: 16px;\n  }\n  \n  .markdown-body .footnotes ol ul {\n    display: inline-block;\n    padding-left: 16px;\n    margin-top: 16px;\n  }\n  \n  .markdown-body .footnotes li {\n    position: relative;\n  }\n  \n  .markdown-body .footnotes li:target::before {\n    position: absolute;\n    top: -8px;\n    right: -8px;\n    bottom: -8px;\n    left: -24px;\n    pointer-events: none;\n    content: \"\";\n    border: 2px solid var(--color-accent-emphasis);\n    border-radius: 6px;\n  }\n  \n  .markdown-body .footnotes li:target {\n    color: var(--color-fg-default);\n  }\n  \n  .markdown-body .footnotes .data-footnote-backref g-emoji {\n    font-family: monospace;\n  }\n  \n  .markdown-body .pl-c {\n    color: var(--color-prettylights-syntax-comment);\n  }\n  \n  .markdown-body .pl-c1,\n  .markdown-body .pl-s .pl-v {\n    color: var(--color-prettylights-syntax-constant);\n  }\n  \n  .markdown-body .pl-e,\n  .markdown-body .pl-en {\n    color: var(--color-prettylights-syntax-entity);\n  }\n  \n  .markdown-body .pl-smi,\n  .markdown-body .pl-s .pl-s1 {\n    color: var(--color-prettylights-syntax-storage-modifier-import);\n  }\n  \n  .markdown-body .pl-ent {\n    color: var(--color-prettylights-syntax-entity-tag);\n  }\n  \n  .markdown-body .pl-k {\n    color: var(--color-prettylights-syntax-keyword);\n  }\n  \n  .markdown-body .pl-s,\n  .markdown-body .pl-pds,\n  .markdown-body .pl-s .pl-pse .pl-s1,\n  .markdown-body .pl-sr,\n  .markdown-body .pl-sr .pl-cce,\n  .markdown-body .pl-sr .pl-sre,\n  .markdown-body .pl-sr .pl-sra {\n    color: var(--color-prettylights-syntax-string);\n  }\n  \n  .markdown-body .pl-v,\n  .markdown-body .pl-smw {\n    color: var(--color-prettylights-syntax-variable);\n  }\n  \n  .markdown-body .pl-bu {\n    color: var(--color-prettylights-syntax-brackethighlighter-unmatched);\n  }\n  \n  .markdown-body .pl-ii {\n    color: var(--color-prettylights-syntax-invalid-illegal-text);\n    background-color: var(--color-prettylights-syntax-invalid-illegal-bg);\n  }\n  \n  .markdown-body .pl-c2 {\n    color: var(--color-prettylights-syntax-carriage-return-text);\n    background-color: var(--color-prettylights-syntax-carriage-return-bg);\n  }\n  \n  .markdown-body .pl-sr .pl-cce {\n    font-weight: bold;\n    color: var(--color-prettylights-syntax-string-regexp);\n  }\n  \n  .markdown-body .pl-ml {\n    color: var(--color-prettylights-syntax-markup-list);\n  }\n  \n  .markdown-body .pl-mh,\n  .markdown-body .pl-mh .pl-en,\n  .markdown-body .pl-ms {\n    font-weight: bold;\n    color: var(--color-prettylights-syntax-markup-heading);\n  }\n  \n  .markdown-body .pl-mi {\n    font-style: italic;\n    color: var(--color-prettylights-syntax-markup-italic);\n  }\n  \n  .markdown-body .pl-mb {\n    font-weight: bold;\n    color: var(--color-prettylights-syntax-markup-bold);\n  }\n  \n  .markdown-body .pl-md {\n    color: var(--color-prettylights-syntax-markup-deleted-text);\n    background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n  }\n  \n  .markdown-body .pl-mi1 {\n    color: var(--color-prettylights-syntax-markup-inserted-text);\n    background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n  }\n  \n  .markdown-body .pl-mc {\n    color: var(--color-prettylights-syntax-markup-changed-text);\n    background-color: var(--color-prettylights-syntax-markup-changed-bg);\n  }\n  \n  .markdown-body .pl-mi2 {\n    color: var(--color-prettylights-syntax-markup-ignored-text);\n    background-color: var(--color-prettylights-syntax-markup-ignored-bg);\n  }\n  \n  .markdown-body .pl-mdr {\n    font-weight: bold;\n    color: var(--color-prettylights-syntax-meta-diff-range);\n  }\n  \n  .markdown-body .pl-ba {\n    color: var(--color-prettylights-syntax-brackethighlighter-angle);\n  }\n  \n  .markdown-body .pl-sg {\n    color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n  }\n  \n  .markdown-body .pl-corl {\n    text-decoration: underline;\n    color: var(--color-prettylights-syntax-constant-other-reference-link);\n  }\n  \n  .markdown-body g-emoji {\n    display: inline-block;\n    min-width: 1ch;\n    font-family: \"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";\n    font-size: 1em;\n    font-style: normal !important;\n    font-weight: var(--base-text-weight-normal, 400);\n    line-height: 1;\n    vertical-align: -0.075em;\n  }\n  \n  .markdown-body g-emoji img {\n    width: 1em;\n    height: 1em;\n  }\n  \n  .markdown-body .task-list-item {\n    list-style-type: none;\n  }\n  \n  .markdown-body .task-list-item label {\n    font-weight: var(--base-text-weight-normal, 400);\n  }\n  \n  .markdown-body .task-list-item.enabled label {\n    cursor: pointer;\n  }\n  \n  .markdown-body .task-list-item+.task-list-item {\n    margin-top: 4px;\n  }\n  \n  .markdown-body .task-list-item .handle {\n    display: none;\n  }\n  \n  .markdown-body .task-list-item-checkbox {\n    margin: 0 .2em .25em -1.4em;\n    vertical-align: middle;\n  }\n  \n  .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox {\n    margin: 0 -1.6em .25em .2em;\n  }\n  \n  .markdown-body .contains-task-list {\n    position: relative;\n  }\n  \n  .markdown-body .contains-task-list:hover .task-list-item-convert-container,\n  .markdown-body .contains-task-list:focus-within .task-list-item-convert-container {\n    display: block;\n    width: auto;\n    height: 24px;\n    overflow: visible;\n    clip: auto;\n  }\n  \n  .markdown-body .QueryBuilder .qb-entity {\n    color: var(--color-prettylights-syntax-entity);\n  }\n  \n  .markdown-body .QueryBuilder .qb-constant {\n    color: var(--color-prettylights-syntax-constant);\n  }\n  \n  .markdown-body ::-webkit-calendar-picker-indicator {\n    filter: invert(50%);\n  }\n  \n  .markdown-body .markdown-alert {\n    padding: 0 1em;\n    margin-bottom: 16px;\n    color: inherit;\n    border-left: .25em solid var(--color-border-default);\n  }\n  \n  .markdown-body .markdown-alert>:first-child {\n    margin-top: 0;\n  }\n  \n  .markdown-body .markdown-alert>:last-child {\n    margin-bottom: 0;\n  }\n  \n  .markdown-body .markdown-alert.markdown-alert-note {\n    border-left-color: var(--color-accent-fg);\n  }\n  \n  .markdown-body .markdown-alert.markdown-alert-important {\n    border-left-color: var(--color-done-fg);\n  }\n  \n  .markdown-body .markdown-alert.markdown-alert-warning {\n    border-left-color: var(--color-attention-fg);\n  }\n  "
  },
  {
    "path": "addon/chrome/content/lib/js/SaxonJS2.rt.js",
    "content": "(function() {\n    // Input 0\n    var oa;\n    // Input 1\n    Resources = {\n        regexCategories: {\n            IsBasicLatin: [[\"0000\", \"007F\"]],\n            \"IsLatin-1Supplement\": [[\"0080\", \"00FF\"]],\n            \"IsLatinExtended-A\": [[\"0100\", \"017F\"]],\n            \"IsLatinExtended-B\": [[\"0180\", \"024F\"]],\n            IsIPAExtensions: [[\"0250\", \"02AF\"]],\n            IsSpacingModifierLetters: [[\"02B0\", \"02FF\"]],\n            IsCombiningDiacriticalMarks: [[\"0300\", \"036F\"]],\n            IsGreek: [[\"0370\", \"03FF\"]],\n            IsGreekandCoptic: [[\"0370\", \"03FF\"]],\n            IsCyrillic: [[\"0400\", \"04FF\"]],\n            IsCyrillicSupplementary: [[\"0500\", \"052F\"]],\n            IsCyrillicSupplement: [[\"0500\", \"052F\"]],\n            IsArmenian: [[\"0530\", \"058F\"]],\n            IsHebrew: [[\"0590\", \"05FF\"]],\n            IsArabic: [[\"0600\", \"06FF\"]],\n            IsSyriac: [[\"0700\", \"074F\"]],\n            IsArabicSupplement: [[\"0750\", \"077F\"]],\n            IsThaana: [[\"0780\", \"07BF\"]],\n            IsNKo: [[\"07C0\", \"07FF\"]],\n            IsSamaritan: [[\"0800\", \"083F\"]],\n            IsMandaic: [[\"0840\", \"085F\"]],\n            IsDevanagari: [[\"0900\", \"097F\"]],\n            IsBengali: [[\"0980\", \"09FF\"]],\n            IsGurmukhi: [[\"0A00\", \"0A7F\"]],\n            IsGujarati: [[\"0A80\", \"0AFF\"]],\n            IsOriya: [[\"0B00\", \"0B7F\"]],\n            IsTamil: [[\"0B80\", \"0BFF\"]],\n            IsTelugu: [[\"0C00\", \"0C7F\"]],\n            IsKannada: [[\"0C80\", \"0CFF\"]],\n            IsMalayalam: [[\"0D00\", \"0D7F\"]],\n            IsSinhala: [[\"0D80\", \"0DFF\"]],\n            IsThai: [[\"0E00\", \"0E7F\"]],\n            IsLao: [[\"0E80\", \"0EFF\"]],\n            IsTibetan: [[\"0F00\", \"0FFF\"]],\n            IsMyanmar: [[\"1000\", \"109F\"]],\n            IsGeorgian: [[\"10A0\", \"10FF\"]],\n            IsHangulJamo: [[\"1100\", \"11FF\"]],\n            IsEthiopic: [[\"1200\", \"137F\"]],\n            IsEthiopicSupplement: [[\"1380\", \"139F\"]],\n            IsCherokee: [[\"13A0\", \"13FF\"]],\n            IsUnifiedCanadianAboriginalSyllabics: [[\"1400\", \"167F\"]],\n            IsOgham: [[\"1680\", \"169F\"]],\n            IsRunic: [[\"16A0\", \"16FF\"]],\n            IsTagalog: [[\"1700\", \"171F\"]],\n            IsHanunoo: [[\"1720\", \"173F\"]],\n            IsBuhid: [[\"1740\", \"175F\"]],\n            IsTagbanwa: [[\"1760\", \"177F\"]],\n            IsKhmer: [[\"1780\", \"17FF\"]],\n            IsMongolian: [[\"1800\", \"18AF\"]],\n            IsUnifiedCanadianAboriginalSyllabicsExtended: [[\"18B0\", \"18FF\"]],\n            IsLimbu: [[\"1900\", \"194F\"]],\n            IsTaiLe: [[\"1950\", \"197F\"]],\n            IsNewTaiLue: [[\"1980\", \"19DF\"]],\n            IsKhmerSymbols: [[\"19E0\", \"19FF\"]],\n            IsBuginese: [[\"1A00\", \"1A1F\"]],\n            IsTaiTham: [[\"1A20\", \"1AAF\"]],\n            IsBalinese: [[\"1B00\", \"1B7F\"]],\n            IsSundanese: [[\"1B80\", \"1BBF\"]],\n            IsBatak: [[\"1BC0\", \"1BFF\"]],\n            IsLepcha: [[\"1C00\", \"1C4F\"]],\n            IsOlChiki: [[\"1C50\", \"1C7F\"]],\n            IsVedicExtensions: [[\"1CD0\", \"1CFF\"]],\n            IsPhoneticExtensions: [[\"1D00\", \"1D7F\"]],\n            IsPhoneticExtensionsSupplement: [[\"1D80\", \"1DBF\"]],\n            IsCombiningDiacriticalMarksSupplement: [[\"1DC0\", \"1DFF\"]],\n            IsLatinExtendedAdditional: [[\"1E00\", \"1EFF\"]],\n            IsGreekExtended: [[\"1F00\", \"1FFF\"]],\n            IsGeneralPunctuation: [[\"2000\", \"206F\"]],\n            IsSuperscriptsandSubscripts: [[\"2070\", \"209F\"]],\n            IsCurrencySymbols: [[\"20A0\", \"20CF\"]],\n            IsCombiningMarksforSymbols: [[\"20D0\", \"20FF\"]],\n            IsCombiningDiacriticalMarksforSymbols: [[\"20D0\", \"20FF\"]],\n            IsLetterlikeSymbols: [[\"2100\", \"214F\"]],\n            IsNumberForms: [[\"2150\", \"218F\"]],\n            IsArrows: [[\"2190\", \"21FF\"]],\n            IsMathematicalOperators: [[\"2200\", \"22FF\"]],\n            IsMiscellaneousTechnical: [[\"2300\", \"23FF\"]],\n            IsControlPictures: [[\"2400\", \"243F\"]],\n            IsOpticalCharacterRecognition: [[\"2440\", \"245F\"]],\n            IsEnclosedAlphanumerics: [[\"2460\", \"24FF\"]],\n            IsBoxDrawing: [[\"2500\", \"257F\"]],\n            IsBlockElements: [[\"2580\", \"259F\"]],\n            IsGeometricShapes: [[\"25A0\", \"25FF\"]],\n            IsMiscellaneousSymbols: [[\"2600\", \"26FF\"]],\n            IsDingbats: [[\"2700\", \"27BF\"]],\n            \"IsMiscellaneousMathematicalSymbols-A\": [[\"27C0\", \"27EF\"]],\n            \"IsSupplementalArrows-A\": [[\"27F0\", \"27FF\"]],\n            IsBraillePatterns: [[\"2800\", \"28FF\"]],\n            \"IsSupplementalArrows-B\": [[\"2900\", \"297F\"]],\n            \"IsMiscellaneousMathematicalSymbols-B\": [[\"2980\", \"29FF\"]],\n            IsSupplementalMathematicalOperators: [[\"2A00\", \"2AFF\"]],\n            IsMiscellaneousSymbolsandArrows: [[\"2B00\", \"2BFF\"]],\n            IsGlagolitic: [[\"2C00\", \"2C5F\"]],\n            \"IsLatinExtended-C\": [[\"2C60\", \"2C7F\"]],\n            IsCoptic: [[\"2C80\", \"2CFF\"]],\n            IsGeorgianSupplement: [[\"2D00\", \"2D2F\"]],\n            IsTifinagh: [[\"2D30\", \"2D7F\"]],\n            IsEthiopicExtended: [[\"2D80\", \"2DDF\"]],\n            \"IsCyrillicExtended-A\": [[\"2DE0\", \"2DFF\"]],\n            IsSupplementalPunctuation: [[\"2E00\", \"2E7F\"]],\n            IsCJKRadicalsSupplement: [[\"2E80\", \"2EFF\"]],\n            IsKangxiRadicals: [[\"2F00\", \"2FDF\"]],\n            IsIdeographicDescriptionCharacters: [[\"2FF0\", \"2FFF\"]],\n            IsCJKSymbolsandPunctuation: [[\"3000\", \"303F\"]],\n            IsHiragana: [[\"3040\", \"309F\"]],\n            IsKatakana: [[\"30A0\", \"30FF\"]],\n            IsBopomofo: [[\"3100\", \"312F\"]],\n            IsHangulCompatibilityJamo: [[\"3130\", \"318F\"]],\n            IsKanbun: [[\"3190\", \"319F\"]],\n            IsBopomofoExtended: [[\"31A0\", \"31BF\"]],\n            IsCJKStrokes: [[\"31C0\", \"31EF\"]],\n            IsKatakanaPhoneticExtensions: [[\"31F0\", \"31FF\"]],\n            IsEnclosedCJKLettersandMonths: [[\"3200\", \"32FF\"]],\n            IsCJKCompatibility: [[\"3300\", \"33FF\"]],\n            IsCJKUnifiedIdeographsExtensionA: [[\"3400\", \"4DBF\"]],\n            IsYijingHexagramSymbols: [[\"4DC0\", \"4DFF\"]],\n            IsCJKUnifiedIdeographs: [[\"4E00\", \"9FFF\"]],\n            IsYiSyllables: [[\"A000\", \"A48F\"]],\n            IsYiRadicals: [[\"A490\", \"A4CF\"]],\n            IsLisu: [[\"A4D0\", \"A4FF\"]],\n            IsVai: [[\"A500\", \"A63F\"]],\n            \"IsCyrillicExtended-B\": [[\"A640\", \"A69F\"]],\n            IsBamum: [[\"A6A0\", \"A6FF\"]],\n            IsModifierToneLetters: [[\"A700\", \"A71F\"]],\n            \"IsLatinExtended-D\": [[\"A720\", \"A7FF\"]],\n            IsSylotiNagri: [[\"A800\", \"A82F\"]],\n            IsCommonIndicNumberForms: [[\"A830\", \"A83F\"]],\n            \"IsPhags-pa\": [[\"A840\", \"A87F\"]],\n            IsSaurashtra: [[\"A880\", \"A8DF\"]],\n            IsDevanagariExtended: [[\"A8E0\", \"A8FF\"]],\n            IsKayahLi: [[\"A900\", \"A92F\"]],\n            IsRejang: [[\"A930\", \"A95F\"]],\n            \"IsHangulJamoExtended-A\": [[\"A960\", \"A97F\"]],\n            IsJavanese: [[\"A980\", \"A9DF\"]],\n            IsCham: [[\"AA00\", \"AA5F\"]],\n            \"IsMyanmarExtended-A\": [[\"AA60\", \"AA7F\"]],\n            IsTaiViet: [[\"AA80\", \"AADF\"]],\n            \"IsEthiopicExtended-A\": [[\"AB00\", \"AB2F\"]],\n            IsMeeteiMayek: [[\"ABC0\", \"ABFF\"]],\n            IsHangulSyllables: [[\"AC00\", \"D7AF\"]],\n            \"IsHangulJamoExtended-B\": [[\"D7B0\", \"D7FF\"]],\n            IsHighSurrogates: [[\"D800\", \"DB7F\"]],\n            IsHighPrivateUseSurrogates: [[\"DB80\", \"DBFF\"]],\n            IsLowSurrogates: [[\"DC00\", \"DFFF\"]],\n            IsPrivateUse: [[\"E000\", \"F8FF\"], [\"F0000\", \"FFFFD\"], [\"100000\", \"10FFFD\"]],\n            IsPrivateUseArea: [[\"E000\", \"F8FF\"]],\n            IsCJKCompatibilityIdeographs: [[\"F900\", \"FAFF\"]],\n            IsAlphabeticPresentationForms: [[\"FB00\", \"FB4F\"]],\n            \"IsArabicPresentationForms-A\": [[\"FB50\", \"FDFF\"]],\n            IsVariationSelectors: [[\"FE00\", \"FE0F\"]],\n            IsVerticalForms: [[\"FE10\", \"FE1F\"]],\n            IsCombiningHalfMarks: [[\"FE20\", \"FE2F\"]],\n            IsCJKCompatibilityForms: [[\"FE30\", \"FE4F\"]],\n            IsSmallFormVariants: [[\"FE50\", \"FE6F\"]],\n            \"IsArabicPresentationForms-B\": [[\"FE70\", \"FEFF\"]],\n            IsHalfwidthandFullwidthForms: [[\"FF00\", \"FFEF\"]],\n            IsSpecials: [[\"FEFF\", \"FEFF\"], [\"FFF0\", \"FFFF\"]],\n            IsLinearBSyllabary: [[\"10000\", \"1007F\"]],\n            IsLinearBIdeograms: [[\"10080\", \"100FF\"]],\n            IsAegeanNumbers: [[\"10100\", \"1013F\"]],\n            IsAncientGreekNumbers: [[\"10140\", \"1018F\"]],\n            IsAncientSymbols: [[\"10190\", \"101CF\"]],\n            IsPhaistosDisc: [[\"101D0\", \"101FF\"]],\n            IsLycian: [[\"10280\", \"1029F\"]],\n            IsCarian: [[\"102A0\", \"102DF\"]],\n            IsOldItalic: [[\"10300\", \"1032F\"]],\n            IsGothic: [[\"10330\", \"1034F\"]],\n            IsUgaritic: [[\"10380\", \"1039F\"]],\n            IsOldPersian: [[\"103A0\", \"103DF\"]],\n            IsDeseret: [[\"10400\", \"1044F\"]],\n            IsShavian: [[\"10450\", \"1047F\"]],\n            IsOsmanya: [[\"10480\", \"104AF\"]],\n            IsCypriotSyllabary: [[\"10800\", \"1083F\"]],\n            IsImperialAramaic: [[\"10840\", \"1085F\"]],\n            IsPhoenician: [[\"10900\", \"1091F\"]],\n            IsLydian: [[\"10920\", \"1093F\"]],\n            IsKharoshthi: [[\"10A00\", \"10A5F\"]],\n            IsOldSouthArabian: [[\"10A60\", \"10A7F\"]],\n            IsAvestan: [[\"10B00\", \"10B3F\"]],\n            IsInscriptionalParthian: [[\"10B40\", \"10B5F\"]],\n            IsInscriptionalPahlavi: [[\"10B60\", \"10B7F\"]],\n            IsOldTurkic: [[\"10C00\", \"10C4F\"]],\n            IsRumiNumeralSymbols: [[\"10E60\", \"10E7F\"]],\n            IsBrahmi: [[\"11000\", \"1107F\"]],\n            IsKaithi: [[\"11080\", \"110CF\"]],\n            IsCuneiform: [[\"12000\", \"123FF\"]],\n            IsCuneiformNumbersandPunctuation: [[\"12400\", \"1247F\"]],\n            IsEgyptianHieroglyphs: [[\"13000\", \"1342F\"]],\n            IsBamumSupplement: [[\"16800\", \"16A3F\"]],\n            IsKanaSupplement: [[\"1B000\", \"1B0FF\"]],\n            IsByzantineMusicalSymbols: [[\"1D000\", \"1D0FF\"]],\n            IsMusicalSymbols: [[\"1D100\", \"1D1FF\"]],\n            IsAncientGreekMusicalNotation: [[\"1D200\", \"1D24F\"]],\n            IsTaiXuanJingSymbols: [[\"1D300\", \"1D35F\"]],\n            IsCountingRodNumerals: [[\"1D360\", \"1D37F\"]],\n            IsMathematicalAlphanumericSymbols: [[\"1D400\", \"1D7FF\"]],\n            IsMahjongTiles: [[\"1F000\", \"1F02F\"]],\n            IsDominoTiles: [[\"1F030\", \"1F09F\"]],\n            IsPlayingCards: [[\"1F0A0\", \"1F0FF\"]],\n            IsEnclosedAlphanumericSupplement: [[\"1F100\", \"1F1FF\"]],\n            IsEnclosedIdeographicSupplement: [[\"1F200\", \"1F2FF\"]],\n            IsMiscellaneousSymbolsAndPictographs: [[\"1F300\", \"1F5FF\"]],\n            IsEmoticons: [[\"1F600\", \"1F64F\"]],\n            IsTransportAndMapSymbols: [[\"1F680\", \"1F6FF\"]],\n            IsAlchemicalSymbols: [[\"1F700\", \"1F77F\"]],\n            IsCJKUnifiedIdeographsExtensionB: [[\"20000\", \"2A6DF\"]],\n            IsCJKUnifiedIdeographsExtensionC: [[\"2A700\", \"2B73F\"]],\n            IsCJKUnifiedIdeographsExtensionD: [[\"2B740\", \"2B81F\"]],\n            IsCJKCompatibilityIdeographsSupplement: [[\"2F800\", \"2FA1F\"]],\n            IsTags: [[\"E0000\", \"E007F\"]],\n            IsVariationSelectorsSupplement: [[\"E0100\", \"E01EF\"]],\n            \"IsSupplementaryPrivateUseArea-A\": [[\"F0000\", \"FFFFF\"]],\n            \"IsSupplementaryPrivateUseArea-B\": [[\"100000\", \"10FFFF\"]],\n            C: \"Cc|Cf|Cn|Co\",\n            Cc: [[\"0\", \"1F\"], [\"7F\", \"9F\"]],\n            Cf: [[\"AD\", \"AD\"], [\"600\", \"604\"], [\"6DD\", \"6DD\"], [\"70F\", \"70F\"], [\"200B\", \"200F\"], [\"202A\", \"202E\"], [\"2060\", \"2064\"], [\"206A\", \"206F\"], [\"FEFF\", \"FEFF\"], [\"FFF9\", \"FFFB\"], [\"110BD\", \"110BD\"], [\"1D173\", \"1D17A\"], [\"E0001\", \"E0001\"], [\"E0020\", \"E007F\"]],\n            Cn: [[\"378\", \"379\"], [\"37F\", \"383\"], [\"38B\", \"38B\"], [\"38D\", \"38D\"], [\"3A2\", \"3A2\"], [\"528\", \"52F\"], [\"530\", \"530\"], [\"557\", \"558\"], [\"560\", \"560\"], [\"588\", \"588\"], [\"58B\", \"58E\"], [\"590\", \"590\"], [\"5C8\", \"5CF\"], [\"5EB\", \"5EF\"], [\"5F5\", \"5FF\"], [\"605\", \"605\"], [\"61C\", \"61D\"], [\"70E\", \"70E\"], [\"74B\", \"74C\"], [\"7B2\", \"7BF\"], [\"7FB\", \"7FF\"], [\"82E\", \"82F\"], [\"83F\", \"83F\"], [\"85C\", \"85D\"], [\"85F\", \"85F\"], [\"860\", \"89F\"], [\"8A1\", \"8A1\"], [\"8AD\", \"8E3\"], [\"8FF\", \"8FF\"], [\"978\", \"978\"], [\"980\", \"980\"], [\"984\", \"984\"], [\"98D\", \"98E\"], [\"991\", \"992\"], [\"9A9\", \"9A9\"], [\"9B1\", \"9B1\"], [\"9B3\", \"9B5\"], [\"9BA\", \"9BB\"], [\"9C5\", \"9C6\"], [\"9C9\", \"9CA\"], [\"9CF\", \"9D6\"], [\"9D8\", \"9DB\"], [\"9DE\", \"9DE\"], [\"9E4\", \"9E5\"], [\"9FC\", \"9FF\"], [\"A00\", \"A00\"], [\"A04\", \"A04\"], [\"A0B\", \"A0E\"], [\"A11\", \"A12\"], [\"A29\", \"A29\"], [\"A31\", \"A31\"], [\"A34\", \"A34\"], [\"A37\", \"A37\"], [\"A3A\", \"A3B\"], [\"A3D\", \"A3D\"], [\"A43\", \"A46\"], [\"A49\", \"A4A\"], [\"A4E\", \"A50\"], [\"A52\", \"A58\"], [\"A5D\", \"A5D\"], [\"A5F\", \"A65\"], [\"A76\", \"A7F\"], [\"A80\", \"A80\"], [\"A84\", \"A84\"], [\"A8E\", \"A8E\"], [\"A92\", \"A92\"], [\"AA9\", \"AA9\"], [\"AB1\", \"AB1\"], [\"AB4\", \"AB4\"], [\"ABA\", \"ABB\"], [\"AC6\", \"AC6\"], [\"ACA\", \"ACA\"], [\"ACE\", \"ACF\"], [\"AD1\", \"ADF\"], [\"AE4\", \"AE5\"], [\"AF2\", \"AFF\"], [\"B00\", \"B00\"], [\"B04\", \"B04\"], [\"B0D\", \"B0E\"], [\"B11\", \"B12\"], [\"B29\", \"B29\"], [\"B31\", \"B31\"], [\"B34\", \"B34\"], [\"B3A\", \"B3B\"], [\"B45\", \"B46\"], [\"B49\", \"B4A\"], [\"B4E\", \"B55\"], [\"B58\", \"B5B\"], [\"B5E\", \"B5E\"], [\"B64\", \"B65\"], [\"B78\", \"B7F\"], [\"B80\", \"B81\"], [\"B84\", \"B84\"], [\"B8B\", \"B8D\"], [\"B91\", \"B91\"], [\"B96\", \"B98\"], [\"B9B\", \"B9B\"], [\"B9D\", \"B9D\"], [\"BA0\", \"BA2\"], [\"BA5\", \"BA7\"], [\"BAB\", \"BAD\"], [\"BBA\", \"BBD\"], [\"BC3\", \"BC5\"], [\"BC9\", \"BC9\"], [\"BCE\", \"BCF\"], [\"BD1\", \"BD6\"], [\"BD8\", \"BE5\"], [\"BFB\", \"BFF\"], [\"C00\", \"C00\"], [\"C04\", \"C04\"], [\"C0D\", \"C0D\"], [\"C11\", \"C11\"], [\"C29\", \"C29\"], [\"C34\", \"C34\"], [\"C3A\", \"C3C\"], [\"C45\", \"C45\"], [\"C49\", \"C49\"], [\"C4E\", \"C54\"], [\"C57\", \"C57\"], [\"C5A\", \"C5F\"], [\"C64\", \"C65\"], [\"C70\", \"C77\"], [\"C80\", \"C81\"], [\"C84\", \"C84\"], [\"C8D\", \"C8D\"], [\"C91\", \"C91\"], [\"CA9\", \"CA9\"], [\"CB4\", \"CB4\"], [\"CBA\", \"CBB\"], [\"CC5\", \"CC5\"], [\"CC9\", \"CC9\"], [\"CCE\", \"CD4\"], [\"CD7\", \"CDD\"], [\"CDF\", \"CDF\"], [\"CE4\", \"CE5\"], [\"CF0\", \"CF0\"], [\"CF3\", \"CFF\"], [\"D00\", \"D01\"], [\"D04\", \"D04\"], [\"D0D\", \"D0D\"], [\"D11\", \"D11\"], [\"D3B\", \"D3C\"], [\"D45\", \"D45\"], [\"D49\", \"D49\"], [\"D4F\", \"D56\"], [\"D58\", \"D5F\"], [\"D64\", \"D65\"], [\"D76\", \"D78\"], [\"D80\", \"D81\"], [\"D84\", \"D84\"], [\"D97\", \"D99\"], [\"DB2\", \"DB2\"], [\"DBC\", \"DBC\"], [\"DBE\", \"DBF\"], [\"DC7\", \"DC9\"], [\"DCB\", \"DCE\"], [\"DD5\", \"DD5\"], [\"DD7\", \"DD7\"], [\"DE0\", \"DF1\"], [\"DF5\", \"DFF\"], [\"E00\", \"E00\"], [\"E3B\", \"E3E\"], [\"E5C\", \"E7F\"], [\"E80\", \"E80\"], [\"E83\", \"E83\"], [\"E85\", \"E86\"], [\"E89\", \"E89\"], [\"E8B\", \"E8C\"], [\"E8E\", \"E93\"], [\"E98\", \"E98\"], [\"EA0\", \"EA0\"], [\"EA4\", \"EA4\"], [\"EA6\", \"EA6\"], [\"EA8\", \"EA9\"], [\"EAC\", \"EAC\"], [\"EBA\", \"EBA\"], [\"EBE\", \"EBF\"], [\"EC5\", \"EC5\"], [\"EC7\", \"EC7\"], [\"ECE\", \"ECF\"], [\"EDA\", \"EDB\"], [\"EE0\", \"EFF\"], [\"F48\", \"F48\"], [\"F6D\", \"F70\"], [\"F98\", \"F98\"], [\"FBD\", \"FBD\"], [\"FCD\", \"FCD\"], [\"FDB\", \"FFF\"], [\"10C6\", \"10C6\"], [\"10C8\", \"10CC\"], [\"10CE\", \"10CF\"], [\"1249\", \"1249\"], [\"124E\", \"124F\"], [\"1257\", \"1257\"], [\"1259\", \"1259\"], [\"125E\", \"125F\"], [\"1289\", \"1289\"], [\"128E\", \"128F\"], [\"12B1\", \"12B1\"], [\"12B6\", \"12B7\"], [\"12BF\", \"12BF\"], [\"12C1\", \"12C1\"], [\"12C6\", \"12C7\"], [\"12D7\", \"12D7\"], [\"1311\", \"1311\"], [\"1316\", \"1317\"], [\"135B\", \"135C\"], [\"137D\", \"137F\"], [\"139A\", \"139F\"], [\"13F5\", \"13FF\"], [\"169D\", \"169F\"], [\"16F1\", \"16FF\"], [\"170D\", \"170D\"], [\"1715\", \"171F\"], [\"1737\", \"173F\"], [\"1754\", \"175F\"], [\"176D\", \"176D\"], [\"1771\", \"1771\"], [\"1774\", \"177F\"], [\"17DE\", \"17DF\"], [\"17EA\", \"17EF\"], [\"17FA\", \"17FF\"], [\"180F\", \"180F\"], [\"181A\", \"181F\"], [\"1878\", \"187F\"], [\"18AB\", \"18AF\"], [\"18F6\", \"18FF\"], [\"191D\", \"191F\"], [\"192C\", \"192F\"], [\"193C\", \"193F\"], [\"1941\", \"1943\"], [\"196E\", \"196F\"], [\"1975\", \"197F\"], [\"19AC\", \"19AF\"], [\"19CA\", \"19CF\"], [\"19DB\", \"19DD\"], [\"1A1C\", \"1A1D\"], [\"1A5F\", \"1A5F\"], [\"1A7D\", \"1A7E\"], [\"1A8A\", \"1A8F\"], [\"1A9A\", \"1A9F\"], [\"1AAE\", \"1AAF\"], [\"1AB0\", \"1AFF\"], [\"1B4C\", \"1B4F\"], [\"1B7D\", \"1B7F\"], [\"1BF4\", \"1BFB\"], [\"1C38\", \"1C3A\"], [\"1C4A\", \"1C4C\"], [\"1C80\", \"1CBF\"], [\"1CC8\", \"1CCF\"], [\"1CF7\", \"1CFF\"], [\"1DE7\", \"1DFB\"], [\"1F16\", \"1F17\"], [\"1F1E\", \"1F1F\"], [\"1F46\", \"1F47\"], [\"1F4E\", \"1F4F\"], [\"1F58\", \"1F58\"], [\"1F5A\", \"1F5A\"], [\"1F5C\", \"1F5C\"], [\"1F5E\", \"1F5E\"], [\"1F7E\", \"1F7F\"], [\"1FB5\", \"1FB5\"], [\"1FC5\", \"1FC5\"], [\"1FD4\", \"1FD5\"], [\"1FDC\", \"1FDC\"], [\"1FF0\", \"1FF1\"], [\"1FF5\", \"1FF5\"], [\"1FFF\", \"1FFF\"], [\"2065\", \"2069\"], [\"2072\", \"2073\"], [\"208F\", \"208F\"], [\"209D\", \"209F\"], [\"20BB\", \"20CF\"], [\"20F1\", \"20FF\"], [\"218A\", \"218F\"], [\"23F4\", \"23FF\"], [\"2427\", \"243F\"], [\"244B\", \"245F\"], [\"2700\", \"2700\"], [\"2B4D\", \"2B4F\"], [\"2B5A\", \"2BFF\"], [\"2C2F\", \"2C2F\"], [\"2C5F\", \"2C5F\"], [\"2CF4\", \"2CF8\"], [\"2D26\", \"2D26\"], [\"2D28\", \"2D2C\"], [\"2D2E\", \"2D2F\"], [\"2D68\", \"2D6E\"], [\"2D71\", \"2D7E\"], [\"2D97\", \"2D9F\"], [\"2DA7\", \"2DA7\"], [\"2DAF\", \"2DAF\"], [\"2DB7\", \"2DB7\"], [\"2DBF\", \"2DBF\"], [\"2DC7\", \"2DC7\"], [\"2DCF\", \"2DCF\"], [\"2DD7\", \"2DD7\"], [\"2DDF\", \"2DDF\"], [\"2E3C\", \"2E7F\"], [\"2E9A\", \"2E9A\"], [\"2EF4\", \"2EFF\"], [\"2FD6\", \"2FDF\"], [\"2FE0\", \"2FEF\"], [\"2FFC\", \"2FFF\"], [\"3040\", \"3040\"], [\"3097\", \"3098\"], [\"3100\", \"3104\"], [\"312E\", \"312F\"], [\"3130\", \"3130\"], [\"318F\", \"318F\"], [\"31BB\", \"31BF\"], [\"31E4\", \"31EF\"], [\"321F\", \"321F\"], [\"32FF\", \"32FF\"], [\"4DB6\", \"4DBF\"], [\"9FCD\", \"9FFF\"], [\"A48D\", \"A48F\"], [\"A4C7\", \"A4CF\"], [\"A62C\", \"A63F\"], [\"A698\", \"A69E\"], [\"A6F8\", \"A6FF\"], [\"A78F\", \"A78F\"], [\"A794\", \"A79F\"], [\"A7AB\", \"A7F7\"], [\"A82C\", \"A82F\"], [\"A83A\", \"A83F\"], [\"A878\", \"A87F\"], [\"A8C5\", \"A8CD\"], [\"A8DA\", \"A8DF\"], [\"A8FC\", \"A8FF\"], [\"A954\", \"A95E\"], [\"A97D\", \"A97F\"], [\"A9CE\", \"A9CE\"], [\"A9DA\", \"A9DD\"], [\"A9E0\", \"A9FF\"], [\"AA37\", \"AA3F\"], [\"AA4E\", \"AA4F\"], [\"AA5A\", \"AA5B\"], [\"AA7C\", \"AA7F\"], [\"AAC3\", \"AADA\"], [\"AAF7\", \"AAFF\"], [\"AB00\", \"AB00\"], [\"AB07\", \"AB08\"], [\"AB0F\", \"AB10\"], [\"AB17\", \"AB1F\"], [\"AB27\", \"AB27\"], [\"AB2F\", \"AB2F\"], [\"AB30\", \"ABBF\"], [\"ABEE\", \"ABEF\"], [\"ABFA\", \"ABFF\"], [\"D7A4\", \"D7AF\"], [\"D7C7\", \"D7CA\"], [\"D7FC\", \"D7FF\"], [\"FA6E\", \"FA6F\"], [\"FADA\", \"FAFF\"], [\"FB07\", \"FB12\"], [\"FB18\", \"FB1C\"], [\"FB37\", \"FB37\"], [\"FB3D\", \"FB3D\"], [\"FB3F\", \"FB3F\"], [\"FB42\", \"FB42\"], [\"FB45\", \"FB45\"], [\"FBC2\", \"FBD2\"], [\"FD40\", \"FD4F\"], [\"FD90\", \"FD91\"], [\"FDC8\", \"FDCF\"], [\"FDD0\", \"FDEF\"], [\"FDFE\", \"FDFF\"], [\"FE1A\", \"FE1F\"], [\"FE27\", \"FE2F\"], [\"FE53\", \"FE53\"], [\"FE67\", \"FE67\"], [\"FE6C\", \"FE6F\"], [\"FE75\", \"FE75\"], [\"FEFD\", \"FEFE\"], [\"FF00\", \"FF00\"], [\"FFBF\", \"FFC1\"], [\"FFC8\", \"FFC9\"], [\"FFD0\", \"FFD1\"], [\"FFD8\", \"FFD9\"], [\"FFDD\", \"FFDF\"], [\"FFE7\", \"FFE7\"], [\"FFEF\", \"FFEF\"], [\"FFF0\", \"FFF8\"], [\"FFFE\", \"FFFF\"], [\"1000C\", \"1000C\"], [\"10027\", \"10027\"], [\"1003B\", \"1003B\"], [\"1003E\", \"1003E\"], [\"1004E\", \"1004F\"], [\"1005E\", \"1007F\"], [\"100FB\", \"100FF\"], [\"10103\", \"10106\"], [\"10134\", \"10136\"], [\"1018B\", \"1018F\"], [\"1019C\", \"101CF\"], [\"101FE\", \"101FF\"], [\"10200\", \"1027F\"], [\"1029D\", \"1029F\"], [\"102D1\", \"102DF\"], [\"102E0\", \"102FF\"], [\"1031F\", \"1031F\"], [\"10324\", \"1032F\"], [\"1034B\", \"1034F\"], [\"10350\", \"1037F\"], [\"1039E\", \"1039E\"], [\"103C4\", \"103C7\"], [\"103D6\", \"103DF\"], [\"103E0\", \"103FF\"], [\"1049E\", \"1049F\"], [\"104AA\", \"104AF\"], [\"104B0\", \"107FF\"], [\"10806\", \"10807\"], [\"10809\", \"10809\"], [\"10836\", \"10836\"], [\"10839\", \"1083B\"], [\"1083D\", \"1083E\"], [\"10856\", \"10856\"], [\"10860\", \"108FF\"], [\"1091C\", \"1091E\"], [\"1093A\", \"1093E\"], [\"10940\", \"1097F\"], [\"109B8\", \"109BD\"], [\"109C0\", \"109FF\"], [\"10A04\", \"10A04\"], [\"10A07\", \"10A0B\"], [\"10A14\", \"10A14\"], [\"10A18\", \"10A18\"], [\"10A34\", \"10A37\"], [\"10A3B\", \"10A3E\"], [\"10A48\", \"10A4F\"], [\"10A59\", \"10A5F\"], [\"10A80\", \"10AFF\"], [\"10B36\", \"10B38\"], [\"10B56\", \"10B57\"], [\"10B73\", \"10B77\"], [\"10B80\", \"10BFF\"], [\"10C49\", \"10C4F\"], [\"10C50\", \"10E5F\"], [\"10E7F\", \"10E7F\"], [\"10E80\", \"10FFF\"], [\"1104E\", \"11051\"], [\"11070\", \"1107F\"], [\"110C2\", \"110CF\"], [\"110E9\", \"110EF\"], [\"110FA\", \"110FF\"], [\"11135\", \"11135\"], [\"11144\", \"1114F\"], [\"11150\", \"1117F\"], [\"111C9\", \"111CF\"], [\"111DA\", \"111DF\"], [\"111E0\", \"1167F\"], [\"116B8\", \"116BF\"], [\"116CA\", \"116CF\"], [\"116D0\", \"11FFF\"], [\"1236F\", \"123FF\"], [\"12463\", \"1246F\"], [\"12474\", \"1247F\"], [\"12480\", \"12FFF\"], [\"1342F\", \"1342F\"], [\"13430\", \"167FF\"], [\"16A39\", \"16A3F\"], [\"16A40\", \"16EFF\"], [\"16F45\", \"16F4F\"], [\"16F7F\", \"16F8E\"], [\"16FA0\", \"1AFFF\"], [\"1B002\", \"1B0FF\"], [\"1B100\", \"1CFFF\"], [\"1D0F6\", \"1D0FF\"], [\"1D127\", \"1D128\"], [\"1D1DE\", \"1D1FF\"], [\"1D246\", \"1D24F\"], [\"1D250\", \"1D2FF\"], [\"1D357\", \"1D35F\"], [\"1D372\", \"1D37F\"], [\"1D380\", \"1D3FF\"], [\"1D455\", \"1D455\"], [\"1D49D\", \"1D49D\"], [\"1D4A0\", \"1D4A1\"], [\"1D4A3\", \"1D4A4\"], [\"1D4A7\", \"1D4A8\"], [\"1D4AD\", \"1D4AD\"], [\"1D4BA\", \"1D4BA\"], [\"1D4BC\", \"1D4BC\"], [\"1D4C4\", \"1D4C4\"], [\"1D506\", \"1D506\"], [\"1D50B\", \"1D50C\"], [\"1D515\", \"1D515\"], [\"1D51D\", \"1D51D\"], [\"1D53A\", \"1D53A\"], [\"1D53F\", \"1D53F\"], [\"1D545\", \"1D545\"], [\"1D547\", \"1D549\"], [\"1D551\", \"1D551\"], [\"1D6A6\", \"1D6A7\"], [\"1D7CC\", \"1D7CD\"], [\"1D800\", \"1E7FF\"], [\"1E800\", \"1EDFF\"], [\"1EE04\", \"1EE04\"], [\"1EE20\", \"1EE20\"], [\"1EE23\", \"1EE23\"], [\"1EE25\", \"1EE26\"], [\"1EE28\", \"1EE28\"], [\"1EE33\", \"1EE33\"], [\"1EE38\", \"1EE38\"], [\"1EE3A\", \"1EE3A\"], [\"1EE3C\", \"1EE41\"], [\"1EE43\", \"1EE46\"], [\"1EE48\", \"1EE48\"], [\"1EE4A\", \"1EE4A\"], [\"1EE4C\", \"1EE4C\"], [\"1EE50\", \"1EE50\"], [\"1EE53\", \"1EE53\"], [\"1EE55\", \"1EE56\"], [\"1EE58\", \"1EE58\"], [\"1EE5A\", \"1EE5A\"], [\"1EE5C\", \"1EE5C\"], [\"1EE5E\", \"1EE5E\"], [\"1EE60\", \"1EE60\"], [\"1EE63\", \"1EE63\"], [\"1EE65\", \"1EE66\"], [\"1EE6B\", \"1EE6B\"], [\"1EE73\", \"1EE73\"], [\"1EE78\", \"1EE78\"], [\"1EE7D\", \"1EE7D\"], [\"1EE7F\", \"1EE7F\"], [\"1EE8A\", \"1EE8A\"], [\"1EE9C\", \"1EEA0\"], [\"1EEA4\", \"1EEA4\"], [\"1EEAA\", \"1EEAA\"], [\"1EEBC\", \"1EEEF\"], [\"1EEF2\", \"1EEFF\"], [\"1EF00\", \"1EFFF\"], [\"1F02C\", \"1F02F\"], [\"1F094\", \"1F09F\"], [\"1F0AF\", \"1F0B0\"], [\"1F0BF\", \"1F0C0\"], [\"1F0D0\", \"1F0D0\"], [\"1F0E0\", \"1F0FF\"], [\"1F10B\", \"1F10F\"], [\"1F12F\", \"1F12F\"], [\"1F16C\", \"1F16F\"], [\"1F19B\", \"1F1E5\"], [\"1F203\", \"1F20F\"], [\"1F23B\", \"1F23F\"], [\"1F249\", \"1F24F\"], [\"1F252\", \"1F2FF\"], [\"1F321\", \"1F32F\"], [\"1F336\", \"1F336\"], [\"1F37D\", \"1F37F\"], [\"1F394\", \"1F39F\"], [\"1F3C5\", \"1F3C5\"], [\"1F3CB\", \"1F3DF\"], [\"1F3F1\", \"1F3FF\"], [\"1F43F\", \"1F43F\"], [\"1F441\", \"1F441\"], [\"1F4F8\", \"1F4F8\"], [\"1F4FD\", \"1F4FF\"], [\"1F53E\", \"1F53F\"], [\"1F544\", \"1F54F\"], [\"1F568\", \"1F5FA\"], [\"1F641\", \"1F644\"], [\"1F650\", \"1F67F\"], [\"1F6C6\", \"1F6FF\"], [\"1F774\", \"1F77F\"], [\"1F780\", \"1FFFD\"], [\"1FFFE\", \"1FFFF\"], [\"2A6D7\", \"2A6DF\"], [\"2A6E0\", \"2A6FF\"], [\"2B735\", \"2B73F\"], [\"2B81E\", \"2B81F\"], [\"2B820\", \"2F7FF\"], [\"2FA1E\", \"2FA1F\"], [\"2FA20\", \"2FFFD\"], [\"2FFFE\", \"2FFFF\"], [\"30000\", \"3FFFD\"], [\"3FFFE\", \"3FFFF\"], [\"40000\", \"4FFFD\"], [\"4FFFE\", \"4FFFF\"], [\"50000\", \"5FFFD\"], [\"5FFFE\", \"5FFFF\"], [\"60000\", \"6FFFD\"], [\"6FFFE\", \"6FFFF\"], [\"70000\", \"7FFFD\"], [\"7FFFE\", \"7FFFF\"], [\"80000\", \"8FFFD\"], [\"8FFFE\", \"8FFFF\"], [\"90000\", \"9FFFD\"], [\"9FFFE\", \"9FFFF\"], [\"A0000\", \"AFFFD\"], [\"AFFFE\", \"AFFFF\"], [\"B0000\", \"BFFFD\"], [\"BFFFE\", \"BFFFF\"], [\"C0000\", \"CFFFD\"], [\"CFFFE\", \"CFFFF\"], [\"D0000\", \"DFFFD\"], [\"DFFFE\", \"DFFFF\"], [\"E0000\", \"E0000\"], [\"E0002\", \"E001F\"], [\"E0080\", \"E00FF\"], [\"E01F0\", \"E0FFF\"], [\"E1000\", \"EFFFD\"], [\"EFFFE\", \"EFFFF\"], [\"FFFFE\", \"FFFFF\"], [\"10FFFE\", \"10FFFF\"]],\n            Co: [[\"E000\", \"F8FF\"], [\"F0000\", \"FFFFD\"], [\"100000\", \"10FFFD\"]],\n            L: \"Ll|Lm|Lo|Lt|Lu\",\n            Ll: [[\"61\", \"7A\"], [\"B5\", \"B5\"], [\"DF\", \"F6\"], [\"F8\", \"FF\"], [\"101\", \"101\"], [\"103\", \"103\"], [\"105\", \"105\"], [\"107\", \"107\"], [\"109\", \"109\"], [\"10B\", \"10B\"], [\"10D\", \"10D\"], [\"10F\", \"10F\"], [\"111\", \"111\"], [\"113\", \"113\"], [\"115\", \"115\"], [\"117\", \"117\"], [\"119\", \"119\"], [\"11B\", \"11B\"], [\"11D\", \"11D\"], [\"11F\", \"11F\"], [\"121\", \"121\"], [\"123\", \"123\"], [\"125\", \"125\"], [\"127\", \"127\"], [\"129\", \"129\"], [\"12B\", \"12B\"], [\"12D\", \"12D\"], [\"12F\", \"12F\"], [\"131\", \"131\"], [\"133\", \"133\"], [\"135\", \"135\"], [\"137\", \"138\"], [\"13A\", \"13A\"], [\"13C\", \"13C\"], [\"13E\", \"13E\"], [\"140\", \"140\"], [\"142\", \"142\"], [\"144\", \"144\"], [\"146\", \"146\"], [\"148\", \"149\"], [\"14B\", \"14B\"], [\"14D\", \"14D\"], [\"14F\", \"14F\"], [\"151\", \"151\"], [\"153\", \"153\"], [\"155\", \"155\"], [\"157\", \"157\"], [\"159\", \"159\"], [\"15B\", \"15B\"], [\"15D\", \"15D\"], [\"15F\", \"15F\"], [\"161\", \"161\"], [\"163\", \"163\"], [\"165\", \"165\"], [\"167\", \"167\"], [\"169\", \"169\"], [\"16B\", \"16B\"], [\"16D\", \"16D\"], [\"16F\", \"16F\"], [\"171\", \"171\"], [\"173\", \"173\"], [\"175\", \"175\"], [\"177\", \"177\"], [\"17A\", \"17A\"], [\"17C\", \"17C\"], [\"17E\", \"180\"], [\"183\", \"183\"], [\"185\", \"185\"], [\"188\", \"188\"], [\"18C\", \"18D\"], [\"192\", \"192\"], [\"195\", \"195\"], [\"199\", \"19B\"], [\"19E\", \"19E\"], [\"1A1\", \"1A1\"], [\"1A3\", \"1A3\"], [\"1A5\", \"1A5\"], [\"1A8\", \"1A8\"], [\"1AA\", \"1AB\"], [\"1AD\", \"1AD\"], [\"1B0\", \"1B0\"], [\"1B4\", \"1B4\"], [\"1B6\", \"1B6\"], [\"1B9\", \"1BA\"], [\"1BD\", \"1BF\"], [\"1C6\", \"1C6\"], [\"1C9\", \"1C9\"], [\"1CC\", \"1CC\"], [\"1CE\", \"1CE\"], [\"1D0\", \"1D0\"], [\"1D2\", \"1D2\"], [\"1D4\", \"1D4\"], [\"1D6\", \"1D6\"], [\"1D8\", \"1D8\"], [\"1DA\", \"1DA\"], [\"1DC\", \"1DD\"], [\"1DF\", \"1DF\"], [\"1E1\", \"1E1\"], [\"1E3\", \"1E3\"], [\"1E5\", \"1E5\"], [\"1E7\", \"1E7\"], [\"1E9\", \"1E9\"], [\"1EB\", \"1EB\"], [\"1ED\", \"1ED\"], [\"1EF\", \"1F0\"], [\"1F3\", \"1F3\"], [\"1F5\", \"1F5\"], [\"1F9\", \"1F9\"], [\"1FB\", \"1FB\"], [\"1FD\", \"1FD\"], [\"1FF\", \"1FF\"], [\"201\", \"201\"], [\"203\", \"203\"], [\"205\", \"205\"], [\"207\", \"207\"], [\"209\", \"209\"], [\"20B\", \"20B\"], [\"20D\", \"20D\"], [\"20F\", \"20F\"], [\"211\", \"211\"], [\"213\", \"213\"], [\"215\", \"215\"], [\"217\", \"217\"], [\"219\", \"219\"], [\"21B\", \"21B\"], [\"21D\", \"21D\"], [\"21F\", \"21F\"], [\"221\", \"221\"], [\"223\", \"223\"], [\"225\", \"225\"], [\"227\", \"227\"], [\"229\", \"229\"], [\"22B\", \"22B\"], [\"22D\", \"22D\"], [\"22F\", \"22F\"], [\"231\", \"231\"], [\"233\", \"239\"], [\"23C\", \"23C\"], [\"23F\", \"240\"], [\"242\", \"242\"], [\"247\", \"247\"], [\"249\", \"249\"], [\"24B\", \"24B\"], [\"24D\", \"24D\"], [\"24F\", \"293\"], [\"295\", \"2AF\"], [\"371\", \"371\"], [\"373\", \"373\"], [\"377\", \"377\"], [\"37B\", \"37D\"], [\"390\", \"390\"], [\"3AC\", \"3CE\"], [\"3D0\", \"3D1\"], [\"3D5\", \"3D7\"], [\"3D9\", \"3D9\"], [\"3DB\", \"3DB\"], [\"3DD\", \"3DD\"], [\"3DF\", \"3DF\"], [\"3E1\", \"3E1\"], [\"3E3\", \"3E3\"], [\"3E5\", \"3E5\"], [\"3E7\", \"3E7\"], [\"3E9\", \"3E9\"], [\"3EB\", \"3EB\"], [\"3ED\", \"3ED\"], [\"3EF\", \"3F3\"], [\"3F5\", \"3F5\"], [\"3F8\", \"3F8\"], [\"3FB\", \"3FC\"], [\"430\", \"45F\"], [\"461\", \"461\"], [\"463\", \"463\"], [\"465\", \"465\"], [\"467\", \"467\"], [\"469\", \"469\"], [\"46B\", \"46B\"], [\"46D\", \"46D\"], [\"46F\", \"46F\"], [\"471\", \"471\"], [\"473\", \"473\"], [\"475\", \"475\"], [\"477\", \"477\"], [\"479\", \"479\"], [\"47B\", \"47B\"], [\"47D\", \"47D\"], [\"47F\", \"47F\"], [\"481\", \"481\"], [\"48B\", \"48B\"], [\"48D\", \"48D\"], [\"48F\", \"48F\"], [\"491\", \"491\"], [\"493\", \"493\"], [\"495\", \"495\"], [\"497\", \"497\"], [\"499\", \"499\"], [\"49B\", \"49B\"], [\"49D\", \"49D\"], [\"49F\", \"49F\"], [\"4A1\", \"4A1\"], [\"4A3\", \"4A3\"], [\"4A5\", \"4A5\"], [\"4A7\", \"4A7\"], [\"4A9\", \"4A9\"], [\"4AB\", \"4AB\"], [\"4AD\", \"4AD\"], [\"4AF\", \"4AF\"], [\"4B1\", \"4B1\"], [\"4B3\", \"4B3\"], [\"4B5\", \"4B5\"], [\"4B7\", \"4B7\"], [\"4B9\", \"4B9\"], [\"4BB\", \"4BB\"], [\"4BD\", \"4BD\"], [\"4BF\", \"4BF\"], [\"4C2\", \"4C2\"], [\"4C4\", \"4C4\"], [\"4C6\", \"4C6\"], [\"4C8\", \"4C8\"], [\"4CA\", \"4CA\"], [\"4CC\", \"4CC\"], [\"4CE\", \"4CF\"], [\"4D1\", \"4D1\"], [\"4D3\", \"4D3\"], [\"4D5\", \"4D5\"], [\"4D7\", \"4D7\"], [\"4D9\", \"4D9\"], [\"4DB\", \"4DB\"], [\"4DD\", \"4DD\"], [\"4DF\", \"4DF\"], [\"4E1\", \"4E1\"], [\"4E3\", \"4E3\"], [\"4E5\", \"4E5\"], [\"4E7\", \"4E7\"], [\"4E9\", \"4E9\"], [\"4EB\", \"4EB\"], [\"4ED\", \"4ED\"], [\"4EF\", \"4EF\"], [\"4F1\", \"4F1\"], [\"4F3\", \"4F3\"], [\"4F5\", \"4F5\"], [\"4F7\", \"4F7\"], [\"4F9\", \"4F9\"], [\"4FB\", \"4FB\"], [\"4FD\", \"4FD\"], [\"4FF\", \"4FF\"], [\"501\", \"501\"], [\"503\", \"503\"], [\"505\", \"505\"], [\"507\", \"507\"], [\"509\", \"509\"], [\"50B\", \"50B\"], [\"50D\", \"50D\"], [\"50F\", \"50F\"], [\"511\", \"511\"], [\"513\", \"513\"], [\"515\", \"515\"], [\"517\", \"517\"], [\"519\", \"519\"], [\"51B\", \"51B\"], [\"51D\", \"51D\"], [\"51F\", \"51F\"], [\"521\", \"521\"], [\"523\", \"523\"], [\"525\", \"525\"], [\"527\", \"527\"], [\"561\", \"587\"], [\"1D00\", \"1D2B\"], [\"1D6B\", \"1D77\"], [\"1D79\", \"1D9A\"], [\"1E01\", \"1E01\"], [\"1E03\", \"1E03\"], [\"1E05\", \"1E05\"], [\"1E07\", \"1E07\"], [\"1E09\", \"1E09\"], [\"1E0B\", \"1E0B\"], [\"1E0D\", \"1E0D\"], [\"1E0F\", \"1E0F\"], [\"1E11\", \"1E11\"], [\"1E13\", \"1E13\"], [\"1E15\", \"1E15\"], [\"1E17\", \"1E17\"], [\"1E19\", \"1E19\"], [\"1E1B\", \"1E1B\"], [\"1E1D\", \"1E1D\"], [\"1E1F\", \"1E1F\"], [\"1E21\", \"1E21\"], [\"1E23\", \"1E23\"], [\"1E25\", \"1E25\"], [\"1E27\", \"1E27\"], [\"1E29\", \"1E29\"], [\"1E2B\", \"1E2B\"], [\"1E2D\", \"1E2D\"], [\"1E2F\", \"1E2F\"], [\"1E31\", \"1E31\"], [\"1E33\", \"1E33\"], [\"1E35\", \"1E35\"], [\"1E37\", \"1E37\"], [\"1E39\", \"1E39\"], [\"1E3B\", \"1E3B\"], [\"1E3D\", \"1E3D\"], [\"1E3F\", \"1E3F\"], [\"1E41\", \"1E41\"], [\"1E43\", \"1E43\"], [\"1E45\", \"1E45\"], [\"1E47\", \"1E47\"], [\"1E49\", \"1E49\"], [\"1E4B\", \"1E4B\"], [\"1E4D\", \"1E4D\"], [\"1E4F\", \"1E4F\"], [\"1E51\", \"1E51\"], [\"1E53\", \"1E53\"], [\"1E55\", \"1E55\"], [\"1E57\", \"1E57\"], [\"1E59\", \"1E59\"], [\"1E5B\", \"1E5B\"], [\"1E5D\", \"1E5D\"], [\"1E5F\", \"1E5F\"], [\"1E61\", \"1E61\"], [\"1E63\", \"1E63\"], [\"1E65\", \"1E65\"], [\"1E67\", \"1E67\"], [\"1E69\", \"1E69\"], [\"1E6B\", \"1E6B\"], [\"1E6D\", \"1E6D\"], [\"1E6F\", \"1E6F\"], [\"1E71\", \"1E71\"], [\"1E73\", \"1E73\"], [\"1E75\", \"1E75\"], [\"1E77\", \"1E77\"], [\"1E79\", \"1E79\"], [\"1E7B\", \"1E7B\"], [\"1E7D\", \"1E7D\"], [\"1E7F\", \"1E7F\"], [\"1E81\", \"1E81\"], [\"1E83\", \"1E83\"], [\"1E85\", \"1E85\"], [\"1E87\", \"1E87\"], [\"1E89\", \"1E89\"], [\"1E8B\", \"1E8B\"], [\"1E8D\", \"1E8D\"], [\"1E8F\", \"1E8F\"], [\"1E91\", \"1E91\"], [\"1E93\", \"1E93\"], [\"1E95\", \"1E9D\"], [\"1E9F\", \"1E9F\"], [\"1EA1\", \"1EA1\"], [\"1EA3\", \"1EA3\"], [\"1EA5\", \"1EA5\"], [\"1EA7\", \"1EA7\"], [\"1EA9\", \"1EA9\"], [\"1EAB\", \"1EAB\"], [\"1EAD\", \"1EAD\"], [\"1EAF\", \"1EAF\"], [\"1EB1\", \"1EB1\"], [\"1EB3\", \"1EB3\"], [\"1EB5\", \"1EB5\"], [\"1EB7\", \"1EB7\"], [\"1EB9\", \"1EB9\"], [\"1EBB\", \"1EBB\"], [\"1EBD\", \"1EBD\"], [\"1EBF\", \"1EBF\"], [\"1EC1\", \"1EC1\"], [\"1EC3\", \"1EC3\"], [\"1EC5\", \"1EC5\"], [\"1EC7\", \"1EC7\"], [\"1EC9\", \"1EC9\"], [\"1ECB\", \"1ECB\"], [\"1ECD\", \"1ECD\"], [\"1ECF\", \"1ECF\"], [\"1ED1\", \"1ED1\"], [\"1ED3\", \"1ED3\"], [\"1ED5\", \"1ED5\"], [\"1ED7\", \"1ED7\"], [\"1ED9\", \"1ED9\"], [\"1EDB\", \"1EDB\"], [\"1EDD\", \"1EDD\"], [\"1EDF\", \"1EDF\"], [\"1EE1\", \"1EE1\"], [\"1EE3\", \"1EE3\"], [\"1EE5\", \"1EE5\"], [\"1EE7\", \"1EE7\"], [\"1EE9\", \"1EE9\"], [\"1EEB\", \"1EEB\"], [\"1EED\", \"1EED\"], [\"1EEF\", \"1EEF\"], [\"1EF1\", \"1EF1\"], [\"1EF3\", \"1EF3\"], [\"1EF5\", \"1EF5\"], [\"1EF7\", \"1EF7\"], [\"1EF9\", \"1EF9\"], [\"1EFB\", \"1EFB\"], [\"1EFD\", \"1EFD\"], [\"1EFF\", \"1F07\"], [\"1F10\", \"1F15\"], [\"1F20\", \"1F27\"], [\"1F30\", \"1F37\"], [\"1F40\", \"1F45\"], [\"1F50\", \"1F57\"], [\"1F60\", \"1F67\"], [\"1F70\", \"1F7D\"], [\"1F80\", \"1F87\"], [\"1F90\", \"1F97\"], [\"1FA0\", \"1FA7\"], [\"1FB0\", \"1FB4\"], [\"1FB6\", \"1FB7\"], [\"1FBE\", \"1FBE\"], [\"1FC2\", \"1FC4\"], [\"1FC6\", \"1FC7\"], [\"1FD0\", \"1FD3\"], [\"1FD6\", \"1FD7\"], [\"1FE0\", \"1FE7\"], [\"1FF2\", \"1FF4\"], [\"1FF6\", \"1FF7\"], [\"210A\", \"210A\"], [\"210E\", \"210F\"], [\"2113\", \"2113\"], [\"212F\", \"212F\"], [\"2134\", \"2134\"], [\"2139\", \"2139\"], [\"213C\", \"213D\"], [\"2146\", \"2149\"], [\"214E\", \"214E\"], [\"2184\", \"2184\"], [\"2C30\", \"2C5E\"], [\"2C61\", \"2C61\"], [\"2C65\", \"2C66\"], [\"2C68\", \"2C68\"], [\"2C6A\", \"2C6A\"], [\"2C6C\", \"2C6C\"], [\"2C71\", \"2C71\"], [\"2C73\", \"2C74\"], [\"2C76\", \"2C7B\"], [\"2C81\", \"2C81\"], [\"2C83\", \"2C83\"], [\"2C85\", \"2C85\"], [\"2C87\", \"2C87\"], [\"2C89\", \"2C89\"], [\"2C8B\", \"2C8B\"], [\"2C8D\", \"2C8D\"], [\"2C8F\", \"2C8F\"], [\"2C91\", \"2C91\"], [\"2C93\", \"2C93\"], [\"2C95\", \"2C95\"], [\"2C97\", \"2C97\"], [\"2C99\", \"2C99\"], [\"2C9B\", \"2C9B\"], [\"2C9D\", \"2C9D\"], [\"2C9F\", \"2C9F\"], [\"2CA1\", \"2CA1\"], [\"2CA3\", \"2CA3\"], [\"2CA5\", \"2CA5\"], [\"2CA7\", \"2CA7\"], [\"2CA9\", \"2CA9\"], [\"2CAB\", \"2CAB\"], [\"2CAD\", \"2CAD\"], [\"2CAF\", \"2CAF\"], [\"2CB1\", \"2CB1\"], [\"2CB3\", \"2CB3\"], [\"2CB5\", \"2CB5\"], [\"2CB7\", \"2CB7\"], [\"2CB9\", \"2CB9\"], [\"2CBB\", \"2CBB\"], [\"2CBD\", \"2CBD\"], [\"2CBF\", \"2CBF\"], [\"2CC1\", \"2CC1\"], [\"2CC3\", \"2CC3\"], [\"2CC5\", \"2CC5\"], [\"2CC7\", \"2CC7\"], [\"2CC9\", \"2CC9\"], [\"2CCB\", \"2CCB\"], [\"2CCD\", \"2CCD\"], [\"2CCF\", \"2CCF\"], [\"2CD1\", \"2CD1\"], [\"2CD3\", \"2CD3\"], [\"2CD5\", \"2CD5\"], [\"2CD7\", \"2CD7\"], [\"2CD9\", \"2CD9\"], [\"2CDB\", \"2CDB\"], [\"2CDD\", \"2CDD\"], [\"2CDF\", \"2CDF\"], [\"2CE1\", \"2CE1\"], [\"2CE3\", \"2CE4\"], [\"2CEC\", \"2CEC\"], [\"2CEE\", \"2CEE\"], [\"2CF3\", \"2CF3\"], [\"2D00\", \"2D25\"], [\"2D27\", \"2D27\"], [\"2D2D\", \"2D2D\"], [\"A641\", \"A641\"], [\"A643\", \"A643\"], [\"A645\", \"A645\"], [\"A647\", \"A647\"], [\"A649\", \"A649\"], [\"A64B\", \"A64B\"], [\"A64D\", \"A64D\"], [\"A64F\", \"A64F\"], [\"A651\", \"A651\"], [\"A653\", \"A653\"], [\"A655\", \"A655\"], [\"A657\", \"A657\"], [\"A659\", \"A659\"], [\"A65B\", \"A65B\"], [\"A65D\", \"A65D\"], [\"A65F\", \"A65F\"], [\"A661\", \"A661\"], [\"A663\", \"A663\"], [\"A665\", \"A665\"], [\"A667\", \"A667\"], [\"A669\", \"A669\"], [\"A66B\", \"A66B\"], [\"A66D\", \"A66D\"], [\"A681\", \"A681\"], [\"A683\", \"A683\"], [\"A685\", \"A685\"], [\"A687\", \"A687\"], [\"A689\", \"A689\"], [\"A68B\", \"A68B\"], [\"A68D\", \"A68D\"], [\"A68F\", \"A68F\"], [\"A691\", \"A691\"], [\"A693\", \"A693\"], [\"A695\", \"A695\"], [\"A697\", \"A697\"], [\"A723\", \"A723\"], [\"A725\", \"A725\"], [\"A727\", \"A727\"], [\"A729\", \"A729\"], [\"A72B\", \"A72B\"], [\"A72D\", \"A72D\"], [\"A72F\", \"A731\"], [\"A733\", \"A733\"], [\"A735\", \"A735\"], [\"A737\", \"A737\"], [\"A739\", \"A739\"], [\"A73B\", \"A73B\"], [\"A73D\", \"A73D\"], [\"A73F\", \"A73F\"], [\"A741\", \"A741\"], [\"A743\", \"A743\"], [\"A745\", \"A745\"], [\"A747\", \"A747\"], [\"A749\", \"A749\"], [\"A74B\", \"A74B\"], [\"A74D\", \"A74D\"], [\"A74F\", \"A74F\"], [\"A751\", \"A751\"], [\"A753\", \"A753\"], [\"A755\", \"A755\"], [\"A757\", \"A757\"], [\"A759\", \"A759\"], [\"A75B\", \"A75B\"], [\"A75D\", \"A75D\"], [\"A75F\", \"A75F\"], [\"A761\", \"A761\"], [\"A763\", \"A763\"], [\"A765\", \"A765\"], [\"A767\", \"A767\"], [\"A769\", \"A769\"], [\"A76B\", \"A76B\"], [\"A76D\", \"A76D\"], [\"A76F\", \"A76F\"], [\"A771\", \"A778\"], [\"A77A\", \"A77A\"], [\"A77C\", \"A77C\"], [\"A77F\", \"A77F\"], [\"A781\", \"A781\"], [\"A783\", \"A783\"], [\"A785\", \"A785\"], [\"A787\", \"A787\"], [\"A78C\", \"A78C\"], [\"A78E\", \"A78E\"], [\"A791\", \"A791\"], [\"A793\", \"A793\"], [\"A7A1\", \"A7A1\"], [\"A7A3\", \"A7A3\"], [\"A7A5\", \"A7A5\"], [\"A7A7\", \"A7A7\"], [\"A7A9\", \"A7A9\"], [\"A7FA\", \"A7FA\"], [\"FB00\", \"FB06\"], [\"FB13\", \"FB17\"], [\"FF41\", \"FF5A\"], [\"10428\", \"1044F\"], [\"1D41A\", \"1D433\"], [\"1D44E\", \"1D454\"], [\"1D456\", \"1D467\"], [\"1D482\", \"1D49B\"], [\"1D4B6\", \"1D4B9\"], [\"1D4BB\", \"1D4BB\"], [\"1D4BD\", \"1D4C3\"], [\"1D4C5\", \"1D4CF\"], [\"1D4EA\", \"1D503\"], [\"1D51E\", \"1D537\"], [\"1D552\", \"1D56B\"], [\"1D586\", \"1D59F\"], [\"1D5BA\", \"1D5D3\"], [\"1D5EE\", \"1D607\"], [\"1D622\", \"1D63B\"], [\"1D656\", \"1D66F\"], [\"1D68A\", \"1D6A5\"], [\"1D6C2\", \"1D6DA\"], [\"1D6DC\", \"1D6E1\"], [\"1D6FC\", \"1D714\"], [\"1D716\", \"1D71B\"], [\"1D736\", \"1D74E\"], [\"1D750\", \"1D755\"], [\"1D770\", \"1D788\"], [\"1D78A\", \"1D78F\"], [\"1D7AA\", \"1D7C2\"], [\"1D7C4\", \"1D7C9\"], [\"1D7CB\", \"1D7CB\"]],\n            Lm: [[\"2B0\", \"2C1\"], [\"2C6\", \"2D1\"], [\"2E0\", \"2E4\"], [\"2EC\", \"2EC\"], [\"2EE\", \"2EE\"], [\"374\", \"374\"], [\"37A\", \"37A\"], [\"559\", \"559\"], [\"640\", \"640\"], [\"6E5\", \"6E6\"], [\"7F4\", \"7F5\"], [\"7FA\", \"7FA\"], [\"81A\", \"81A\"], [\"824\", \"824\"], [\"828\", \"828\"], [\"971\", \"971\"], [\"E46\", \"E46\"], [\"EC6\", \"EC6\"], [\"10FC\", \"10FC\"], [\"17D7\", \"17D7\"], [\"1843\", \"1843\"], [\"1AA7\", \"1AA7\"], [\"1C78\", \"1C7D\"], [\"1D2C\", \"1D6A\"], [\"1D78\", \"1D78\"], [\"1D9B\", \"1DBF\"], [\"2071\", \"2071\"], [\"207F\", \"207F\"], [\"2090\", \"209C\"], [\"2C7C\", \"2C7D\"], [\"2D6F\", \"2D6F\"], [\"2E2F\", \"2E2F\"], [\"3005\", \"3005\"], [\"3031\", \"3035\"], [\"303B\", \"303B\"], [\"309D\", \"309E\"], [\"30FC\", \"30FE\"], [\"A015\", \"A015\"], [\"A4F8\", \"A4FD\"], [\"A60C\", \"A60C\"], [\"A67F\", \"A67F\"], [\"A717\", \"A71F\"], [\"A770\", \"A770\"], [\"A788\", \"A788\"], [\"A7F8\", \"A7F9\"], [\"A9CF\", \"A9CF\"], [\"AA70\", \"AA70\"], [\"AADD\", \"AADD\"], [\"AAF3\", \"AAF4\"], [\"FF70\", \"FF70\"], [\"FF9E\", \"FF9F\"], [\"16F93\", \"16F9F\"]],\n            Lo: [[\"AA\", \"AA\"], [\"BA\", \"BA\"], [\"1BB\", \"1BB\"], [\"1C0\", \"1C3\"], [\"294\", \"294\"], [\"5D0\", \"5EA\"], [\"5F0\", \"5F2\"], [\"620\", \"63F\"], [\"641\", \"64A\"], [\"66E\", \"66F\"], [\"671\", \"6D3\"], [\"6D5\", \"6D5\"], [\"6EE\", \"6EF\"], [\"6FA\", \"6FC\"], [\"6FF\", \"6FF\"], [\"710\", \"710\"], [\"712\", \"72F\"], [\"74D\", \"7A5\"], [\"7B1\", \"7B1\"], [\"7CA\", \"7EA\"], [\"800\", \"815\"], [\"840\", \"858\"], [\"8A0\", \"8A0\"], [\"8A2\", \"8AC\"], [\"904\", \"939\"], [\"93D\", \"93D\"], [\"950\", \"950\"], [\"958\", \"961\"], [\"972\", \"977\"], [\"979\", \"97F\"], [\"985\", \"98C\"], [\"98F\", \"990\"], [\"993\", \"9A8\"], [\"9AA\", \"9B0\"], [\"9B2\", \"9B2\"], [\"9B6\", \"9B9\"], [\"9BD\", \"9BD\"], [\"9CE\", \"9CE\"], [\"9DC\", \"9DD\"], [\"9DF\", \"9E1\"], [\"9F0\", \"9F1\"], [\"A05\", \"A0A\"], [\"A0F\", \"A10\"], [\"A13\", \"A28\"], [\"A2A\", \"A30\"], [\"A32\", \"A33\"], [\"A35\", \"A36\"], [\"A38\", \"A39\"], [\"A59\", \"A5C\"], [\"A5E\", \"A5E\"], [\"A72\", \"A74\"], [\"A85\", \"A8D\"], [\"A8F\", \"A91\"], [\"A93\", \"AA8\"], [\"AAA\", \"AB0\"], [\"AB2\", \"AB3\"], [\"AB5\", \"AB9\"], [\"ABD\", \"ABD\"], [\"AD0\", \"AD0\"], [\"AE0\", \"AE1\"], [\"B05\", \"B0C\"], [\"B0F\", \"B10\"], [\"B13\", \"B28\"], [\"B2A\", \"B30\"], [\"B32\", \"B33\"], [\"B35\", \"B39\"], [\"B3D\", \"B3D\"], [\"B5C\", \"B5D\"], [\"B5F\", \"B61\"], [\"B71\", \"B71\"], [\"B83\", \"B83\"], [\"B85\", \"B8A\"], [\"B8E\", \"B90\"], [\"B92\", \"B95\"], [\"B99\", \"B9A\"], [\"B9C\", \"B9C\"], [\"B9E\", \"B9F\"], [\"BA3\", \"BA4\"], [\"BA8\", \"BAA\"], [\"BAE\", \"BB9\"], [\"BD0\", \"BD0\"], [\"C05\", \"C0C\"], [\"C0E\", \"C10\"], [\"C12\", \"C28\"], [\"C2A\", \"C33\"], [\"C35\", \"C39\"], [\"C3D\", \"C3D\"], [\"C58\", \"C59\"], [\"C60\", \"C61\"], [\"C85\", \"C8C\"], [\"C8E\", \"C90\"], [\"C92\", \"CA8\"], [\"CAA\", \"CB3\"], [\"CB5\", \"CB9\"], [\"CBD\", \"CBD\"], [\"CDE\", \"CDE\"], [\"CE0\", \"CE1\"], [\"CF1\", \"CF2\"], [\"D05\", \"D0C\"], [\"D0E\", \"D10\"], [\"D12\", \"D3A\"], [\"D3D\", \"D3D\"], [\"D4E\", \"D4E\"], [\"D60\", \"D61\"], [\"D7A\", \"D7F\"], [\"D85\", \"D96\"], [\"D9A\", \"DB1\"], [\"DB3\", \"DBB\"], [\"DBD\", \"DBD\"], [\"DC0\", \"DC6\"], [\"E01\", \"E30\"], [\"E32\", \"E33\"], [\"E40\", \"E45\"], [\"E81\", \"E82\"], [\"E84\", \"E84\"], [\"E87\", \"E88\"], [\"E8A\", \"E8A\"], [\"E8D\", \"E8D\"], [\"E94\", \"E97\"], [\"E99\", \"E9F\"], [\"EA1\", \"EA3\"], [\"EA5\", \"EA5\"], [\"EA7\", \"EA7\"], [\"EAA\", \"EAB\"], [\"EAD\", \"EB0\"], [\"EB2\", \"EB3\"], [\"EBD\", \"EBD\"], [\"EC0\", \"EC4\"], [\"EDC\", \"EDF\"], [\"F00\", \"F00\"], [\"F40\", \"F47\"], [\"F49\", \"F6C\"], [\"F88\", \"F8C\"], [\"1000\", \"102A\"], [\"103F\", \"103F\"], [\"1050\", \"1055\"], [\"105A\", \"105D\"], [\"1061\", \"1061\"], [\"1065\", \"1066\"], [\"106E\", \"1070\"], [\"1075\", \"1081\"], [\"108E\", \"108E\"], [\"10D0\", \"10FA\"], [\"10FD\", \"1248\"], [\"124A\", \"124D\"], [\"1250\", \"1256\"], [\"1258\", \"1258\"], [\"125A\", \"125D\"], [\"1260\", \"1288\"], [\"128A\", \"128D\"], [\"1290\", \"12B0\"], [\"12B2\", \"12B5\"], [\"12B8\", \"12BE\"], [\"12C0\", \"12C0\"], [\"12C2\", \"12C5\"], [\"12C8\", \"12D6\"], [\"12D8\", \"1310\"], [\"1312\", \"1315\"], [\"1318\", \"135A\"], [\"1380\", \"138F\"], [\"13A0\", \"13F4\"], [\"1401\", \"166C\"], [\"166F\", \"167F\"], [\"1681\", \"169A\"], [\"16A0\", \"16EA\"], [\"1700\", \"170C\"], [\"170E\", \"1711\"], [\"1720\", \"1731\"], [\"1740\", \"1751\"], [\"1760\", \"176C\"], [\"176E\", \"1770\"], [\"1780\", \"17B3\"], [\"17DC\", \"17DC\"], [\"1820\", \"1842\"], [\"1844\", \"1877\"], [\"1880\", \"18A8\"], [\"18AA\", \"18AA\"], [\"18B0\", \"18F5\"], [\"1900\", \"191C\"], [\"1950\", \"196D\"], [\"1970\", \"1974\"], [\"1980\", \"19AB\"], [\"19C1\", \"19C7\"], [\"1A00\", \"1A16\"], [\"1A20\", \"1A54\"], [\"1B05\", \"1B33\"], [\"1B45\", \"1B4B\"], [\"1B83\", \"1BA0\"], [\"1BAE\", \"1BAF\"], [\"1BBA\", \"1BE5\"], [\"1C00\", \"1C23\"], [\"1C4D\", \"1C4F\"], [\"1C5A\", \"1C77\"], [\"1CE9\", \"1CEC\"], [\"1CEE\", \"1CF1\"], [\"1CF5\", \"1CF6\"], [\"2135\", \"2138\"], [\"2D30\", \"2D67\"], [\"2D80\", \"2D96\"], [\"2DA0\", \"2DA6\"], [\"2DA8\", \"2DAE\"], [\"2DB0\", \"2DB6\"], [\"2DB8\", \"2DBE\"], [\"2DC0\", \"2DC6\"], [\"2DC8\", \"2DCE\"], [\"2DD0\", \"2DD6\"], [\"2DD8\", \"2DDE\"], [\"3006\", \"3006\"], [\"303C\", \"303C\"], [\"3041\", \"3096\"], [\"309F\", \"309F\"], [\"30A1\", \"30FA\"], [\"30FF\", \"30FF\"], [\"3105\", \"312D\"], [\"3131\", \"318E\"], [\"31A0\", \"31BA\"], [\"31F0\", \"31FF\"], [\"3400\", \"4DB5\"], [\"4E00\", \"9FCC\"], [\"A000\", \"A014\"], [\"A016\", \"A48C\"], [\"A4D0\", \"A4F7\"], [\"A500\", \"A60B\"], [\"A610\", \"A61F\"], [\"A62A\", \"A62B\"], [\"A66E\", \"A66E\"], [\"A6A0\", \"A6E5\"], [\"A7FB\", \"A801\"], [\"A803\", \"A805\"], [\"A807\", \"A80A\"], [\"A80C\", \"A822\"], [\"A840\", \"A873\"], [\"A882\", \"A8B3\"], [\"A8F2\", \"A8F7\"], [\"A8FB\", \"A8FB\"], [\"A90A\", \"A925\"], [\"A930\", \"A946\"], [\"A960\", \"A97C\"], [\"A984\", \"A9B2\"], [\"AA00\", \"AA28\"], [\"AA40\", \"AA42\"], [\"AA44\", \"AA4B\"], [\"AA60\", \"AA6F\"], [\"AA71\", \"AA76\"], [\"AA7A\", \"AA7A\"], [\"AA80\", \"AAAF\"], [\"AAB1\", \"AAB1\"], [\"AAB5\", \"AAB6\"], [\"AAB9\", \"AABD\"], [\"AAC0\", \"AAC0\"], [\"AAC2\", \"AAC2\"], [\"AADB\", \"AADC\"], [\"AAE0\", \"AAEA\"], [\"AAF2\", \"AAF2\"], [\"AB01\", \"AB06\"], [\"AB09\", \"AB0E\"], [\"AB11\", \"AB16\"], [\"AB20\", \"AB26\"], [\"AB28\", \"AB2E\"], [\"ABC0\", \"ABE2\"], [\"AC00\", \"D7A3\"], [\"D7B0\", \"D7C6\"], [\"D7CB\", \"D7FB\"], [\"F900\", \"FA6D\"], [\"FA70\", \"FAD9\"], [\"FB1D\", \"FB1D\"], [\"FB1F\", \"FB28\"], [\"FB2A\", \"FB36\"], [\"FB38\", \"FB3C\"], [\"FB3E\", \"FB3E\"], [\"FB40\", \"FB41\"], [\"FB43\", \"FB44\"], [\"FB46\", \"FBB1\"], [\"FBD3\", \"FD3D\"], [\"FD50\", \"FD8F\"], [\"FD92\", \"FDC7\"], [\"FDF0\", \"FDFB\"], [\"FE70\", \"FE74\"], [\"FE76\", \"FEFC\"], [\"FF66\", \"FF6F\"], [\"FF71\", \"FF9D\"], [\"FFA0\", \"FFBE\"], [\"FFC2\", \"FFC7\"], [\"FFCA\", \"FFCF\"], [\"FFD2\", \"FFD7\"], [\"FFDA\", \"FFDC\"], [\"10000\", \"1000B\"], [\"1000D\", \"10026\"], [\"10028\", \"1003A\"], [\"1003C\", \"1003D\"], [\"1003F\", \"1004D\"], [\"10050\", \"1005D\"], [\"10080\", \"100FA\"], [\"10280\", \"1029C\"], [\"102A0\", \"102D0\"], [\"10300\", \"1031E\"], [\"10330\", \"10340\"], [\"10342\", \"10349\"], [\"10380\", \"1039D\"], [\"103A0\", \"103C3\"], [\"103C8\", \"103CF\"], [\"10450\", \"1049D\"], [\"10800\", \"10805\"], [\"10808\", \"10808\"], [\"1080A\", \"10835\"], [\"10837\", \"10838\"], [\"1083C\", \"1083C\"], [\"1083F\", \"10855\"], [\"10900\", \"10915\"], [\"10920\", \"10939\"], [\"10980\", \"109B7\"], [\"109BE\", \"109BF\"], [\"10A00\", \"10A00\"], [\"10A10\", \"10A13\"], [\"10A15\", \"10A17\"], [\"10A19\", \"10A33\"], [\"10A60\", \"10A7C\"], [\"10B00\", \"10B35\"], [\"10B40\", \"10B55\"], [\"10B60\", \"10B72\"], [\"10C00\", \"10C48\"], [\"11003\", \"11037\"], [\"11083\", \"110AF\"], [\"110D0\", \"110E8\"], [\"11103\", \"11126\"], [\"11183\", \"111B2\"], [\"111C1\", \"111C4\"], [\"11680\", \"116AA\"], [\"12000\", \"1236E\"], [\"13000\", \"1342E\"], [\"16800\", \"16A38\"], [\"16F00\", \"16F44\"], [\"16F50\", \"16F50\"], [\"1B000\", \"1B001\"], [\"1EE00\", \"1EE03\"], [\"1EE05\", \"1EE1F\"], [\"1EE21\", \"1EE22\"], [\"1EE24\", \"1EE24\"], [\"1EE27\", \"1EE27\"], [\"1EE29\", \"1EE32\"], [\"1EE34\", \"1EE37\"], [\"1EE39\", \"1EE39\"], [\"1EE3B\", \"1EE3B\"], [\"1EE42\", \"1EE42\"], [\"1EE47\", \"1EE47\"], [\"1EE49\", \"1EE49\"], [\"1EE4B\", \"1EE4B\"], [\"1EE4D\", \"1EE4F\"], [\"1EE51\", \"1EE52\"], [\"1EE54\", \"1EE54\"], [\"1EE57\", \"1EE57\"], [\"1EE59\", \"1EE59\"], [\"1EE5B\", \"1EE5B\"], [\"1EE5D\", \"1EE5D\"], [\"1EE5F\", \"1EE5F\"], [\"1EE61\", \"1EE62\"], [\"1EE64\", \"1EE64\"], [\"1EE67\", \"1EE6A\"], [\"1EE6C\", \"1EE72\"], [\"1EE74\", \"1EE77\"], [\"1EE79\", \"1EE7C\"], [\"1EE7E\", \"1EE7E\"], [\"1EE80\", \"1EE89\"], [\"1EE8B\", \"1EE9B\"], [\"1EEA1\", \"1EEA3\"], [\"1EEA5\", \"1EEA9\"], [\"1EEAB\", \"1EEBB\"], [\"20000\", \"2A6D6\"], [\"2A700\", \"2B734\"], [\"2B740\", \"2B81D\"], [\"2F800\", \"2FA1D\"]],\n            Lt: [[\"1C5\", \"1C5\"], [\"1C8\", \"1C8\"], [\"1CB\", \"1CB\"], [\"1F2\", \"1F2\"], [\"1F88\", \"1F8F\"], [\"1F98\", \"1F9F\"], [\"1FA8\", \"1FAF\"], [\"1FBC\", \"1FBC\"], [\"1FCC\", \"1FCC\"], [\"1FFC\", \"1FFC\"]],\n            Lu: [[\"41\", \"5A\"], [\"C0\", \"D6\"], [\"D8\", \"DE\"], [\"100\", \"100\"], [\"102\", \"102\"], [\"104\", \"104\"], [\"106\", \"106\"], [\"108\", \"108\"], [\"10A\", \"10A\"], [\"10C\", \"10C\"], [\"10E\", \"10E\"], [\"110\", \"110\"], [\"112\", \"112\"], [\"114\", \"114\"], [\"116\", \"116\"], [\"118\", \"118\"], [\"11A\", \"11A\"], [\"11C\", \"11C\"], [\"11E\", \"11E\"], [\"120\", \"120\"], [\"122\", \"122\"], [\"124\", \"124\"], [\"126\", \"126\"], [\"128\", \"128\"], [\"12A\", \"12A\"], [\"12C\", \"12C\"], [\"12E\", \"12E\"], [\"130\", \"130\"], [\"132\", \"132\"], [\"134\", \"134\"], [\"136\", \"136\"], [\"139\", \"139\"], [\"13B\", \"13B\"], [\"13D\", \"13D\"], [\"13F\", \"13F\"], [\"141\", \"141\"], [\"143\", \"143\"], [\"145\", \"145\"], [\"147\", \"147\"], [\"14A\", \"14A\"], [\"14C\", \"14C\"], [\"14E\", \"14E\"], [\"150\", \"150\"], [\"152\", \"152\"], [\"154\", \"154\"], [\"156\", \"156\"], [\"158\", \"158\"], [\"15A\", \"15A\"], [\"15C\", \"15C\"], [\"15E\", \"15E\"], [\"160\", \"160\"], [\"162\", \"162\"], [\"164\", \"164\"], [\"166\", \"166\"], [\"168\", \"168\"], [\"16A\", \"16A\"], [\"16C\", \"16C\"], [\"16E\", \"16E\"], [\"170\", \"170\"], [\"172\", \"172\"], [\"174\", \"174\"], [\"176\", \"176\"], [\"178\", \"179\"], [\"17B\", \"17B\"], [\"17D\", \"17D\"], [\"181\", \"182\"], [\"184\", \"184\"], [\"186\", \"187\"], [\"189\", \"18B\"], [\"18E\", \"191\"], [\"193\", \"194\"], [\"196\", \"198\"], [\"19C\", \"19D\"], [\"19F\", \"1A0\"], [\"1A2\", \"1A2\"], [\"1A4\", \"1A4\"], [\"1A6\", \"1A7\"], [\"1A9\", \"1A9\"], [\"1AC\", \"1AC\"], [\"1AE\", \"1AF\"], [\"1B1\", \"1B3\"], [\"1B5\", \"1B5\"], [\"1B7\", \"1B8\"], [\"1BC\", \"1BC\"], [\"1C4\", \"1C4\"], [\"1C7\", \"1C7\"], [\"1CA\", \"1CA\"], [\"1CD\", \"1CD\"], [\"1CF\", \"1CF\"], [\"1D1\", \"1D1\"], [\"1D3\", \"1D3\"], [\"1D5\", \"1D5\"], [\"1D7\", \"1D7\"], [\"1D9\", \"1D9\"], [\"1DB\", \"1DB\"], [\"1DE\", \"1DE\"], [\"1E0\", \"1E0\"], [\"1E2\", \"1E2\"], [\"1E4\", \"1E4\"], [\"1E6\", \"1E6\"], [\"1E8\", \"1E8\"], [\"1EA\", \"1EA\"], [\"1EC\", \"1EC\"], [\"1EE\", \"1EE\"], [\"1F1\", \"1F1\"], [\"1F4\", \"1F4\"], [\"1F6\", \"1F8\"], [\"1FA\", \"1FA\"], [\"1FC\", \"1FC\"], [\"1FE\", \"1FE\"], [\"200\", \"200\"], [\"202\", \"202\"], [\"204\", \"204\"], [\"206\", \"206\"], [\"208\", \"208\"], [\"20A\", \"20A\"], [\"20C\", \"20C\"], [\"20E\", \"20E\"], [\"210\", \"210\"], [\"212\", \"212\"], [\"214\", \"214\"], [\"216\", \"216\"], [\"218\", \"218\"], [\"21A\", \"21A\"], [\"21C\", \"21C\"], [\"21E\", \"21E\"], [\"220\", \"220\"], [\"222\", \"222\"], [\"224\", \"224\"], [\"226\", \"226\"], [\"228\", \"228\"], [\"22A\", \"22A\"], [\"22C\", \"22C\"], [\"22E\", \"22E\"], [\"230\", \"230\"], [\"232\", \"232\"], [\"23A\", \"23B\"], [\"23D\", \"23E\"], [\"241\", \"241\"], [\"243\", \"246\"], [\"248\", \"248\"], [\"24A\", \"24A\"], [\"24C\", \"24C\"], [\"24E\", \"24E\"], [\"370\", \"370\"], [\"372\", \"372\"], [\"376\", \"376\"], [\"386\", \"386\"], [\"388\", \"38A\"], [\"38C\", \"38C\"], [\"38E\", \"38F\"], [\"391\", \"3A1\"], [\"3A3\", \"3AB\"], [\"3CF\", \"3CF\"], [\"3D2\", \"3D4\"], [\"3D8\", \"3D8\"], [\"3DA\", \"3DA\"], [\"3DC\", \"3DC\"], [\"3DE\", \"3DE\"], [\"3E0\", \"3E0\"], [\"3E2\", \"3E2\"], [\"3E4\", \"3E4\"], [\"3E6\", \"3E6\"], [\"3E8\", \"3E8\"], [\"3EA\", \"3EA\"], [\"3EC\", \"3EC\"], [\"3EE\", \"3EE\"], [\"3F4\", \"3F4\"], [\"3F7\", \"3F7\"], [\"3F9\", \"3FA\"], [\"3FD\", \"42F\"], [\"460\", \"460\"], [\"462\", \"462\"], [\"464\", \"464\"], [\"466\", \"466\"], [\"468\", \"468\"], [\"46A\", \"46A\"], [\"46C\", \"46C\"], [\"46E\", \"46E\"], [\"470\", \"470\"], [\"472\", \"472\"], [\"474\", \"474\"], [\"476\", \"476\"], [\"478\", \"478\"], [\"47A\", \"47A\"], [\"47C\", \"47C\"], [\"47E\", \"47E\"], [\"480\", \"480\"], [\"48A\", \"48A\"], [\"48C\", \"48C\"], [\"48E\", \"48E\"], [\"490\", \"490\"], [\"492\", \"492\"], [\"494\", \"494\"], [\"496\", \"496\"], [\"498\", \"498\"], [\"49A\", \"49A\"], [\"49C\", \"49C\"], [\"49E\", \"49E\"], [\"4A0\", \"4A0\"], [\"4A2\", \"4A2\"], [\"4A4\", \"4A4\"], [\"4A6\", \"4A6\"], [\"4A8\", \"4A8\"], [\"4AA\", \"4AA\"], [\"4AC\", \"4AC\"], [\"4AE\", \"4AE\"], [\"4B0\", \"4B0\"], [\"4B2\", \"4B2\"], [\"4B4\", \"4B4\"], [\"4B6\", \"4B6\"], [\"4B8\", \"4B8\"], [\"4BA\", \"4BA\"], [\"4BC\", \"4BC\"], [\"4BE\", \"4BE\"], [\"4C0\", \"4C1\"], [\"4C3\", \"4C3\"], [\"4C5\", \"4C5\"], [\"4C7\", \"4C7\"], [\"4C9\", \"4C9\"], [\"4CB\", \"4CB\"], [\"4CD\", \"4CD\"], [\"4D0\", \"4D0\"], [\"4D2\", \"4D2\"], [\"4D4\", \"4D4\"], [\"4D6\", \"4D6\"], [\"4D8\", \"4D8\"], [\"4DA\", \"4DA\"], [\"4DC\", \"4DC\"], [\"4DE\", \"4DE\"], [\"4E0\", \"4E0\"], [\"4E2\", \"4E2\"], [\"4E4\", \"4E4\"], [\"4E6\", \"4E6\"], [\"4E8\", \"4E8\"], [\"4EA\", \"4EA\"], [\"4EC\", \"4EC\"], [\"4EE\", \"4EE\"], [\"4F0\", \"4F0\"], [\"4F2\", \"4F2\"], [\"4F4\", \"4F4\"], [\"4F6\", \"4F6\"], [\"4F8\", \"4F8\"], [\"4FA\", \"4FA\"], [\"4FC\", \"4FC\"], [\"4FE\", \"4FE\"], [\"500\", \"500\"], [\"502\", \"502\"], [\"504\", \"504\"], [\"506\", \"506\"], [\"508\", \"508\"], [\"50A\", \"50A\"], [\"50C\", \"50C\"], [\"50E\", \"50E\"], [\"510\", \"510\"], [\"512\", \"512\"], [\"514\", \"514\"], [\"516\", \"516\"], [\"518\", \"518\"], [\"51A\", \"51A\"], [\"51C\", \"51C\"], [\"51E\", \"51E\"], [\"520\", \"520\"], [\"522\", \"522\"], [\"524\", \"524\"], [\"526\", \"526\"], [\"531\", \"556\"], [\"10A0\", \"10C5\"], [\"10C7\", \"10C7\"], [\"10CD\", \"10CD\"], [\"1E00\", \"1E00\"], [\"1E02\", \"1E02\"], [\"1E04\", \"1E04\"], [\"1E06\", \"1E06\"], [\"1E08\", \"1E08\"], [\"1E0A\", \"1E0A\"], [\"1E0C\", \"1E0C\"], [\"1E0E\", \"1E0E\"], [\"1E10\", \"1E10\"], [\"1E12\", \"1E12\"], [\"1E14\", \"1E14\"], [\"1E16\", \"1E16\"], [\"1E18\", \"1E18\"], [\"1E1A\", \"1E1A\"], [\"1E1C\", \"1E1C\"], [\"1E1E\", \"1E1E\"], [\"1E20\", \"1E20\"], [\"1E22\", \"1E22\"], [\"1E24\", \"1E24\"], [\"1E26\", \"1E26\"], [\"1E28\", \"1E28\"], [\"1E2A\", \"1E2A\"], [\"1E2C\", \"1E2C\"], [\"1E2E\", \"1E2E\"], [\"1E30\", \"1E30\"], [\"1E32\", \"1E32\"], [\"1E34\", \"1E34\"], [\"1E36\", \"1E36\"], [\"1E38\", \"1E38\"], [\"1E3A\", \"1E3A\"], [\"1E3C\", \"1E3C\"], [\"1E3E\", \"1E3E\"], [\"1E40\", \"1E40\"], [\"1E42\", \"1E42\"], [\"1E44\", \"1E44\"], [\"1E46\", \"1E46\"], [\"1E48\", \"1E48\"], [\"1E4A\", \"1E4A\"], [\"1E4C\", \"1E4C\"], [\"1E4E\", \"1E4E\"], [\"1E50\", \"1E50\"], [\"1E52\", \"1E52\"], [\"1E54\", \"1E54\"], [\"1E56\", \"1E56\"], [\"1E58\", \"1E58\"], [\"1E5A\", \"1E5A\"], [\"1E5C\", \"1E5C\"], [\"1E5E\", \"1E5E\"], [\"1E60\", \"1E60\"], [\"1E62\", \"1E62\"], [\"1E64\", \"1E64\"], [\"1E66\", \"1E66\"], [\"1E68\", \"1E68\"], [\"1E6A\", \"1E6A\"], [\"1E6C\", \"1E6C\"], [\"1E6E\", \"1E6E\"], [\"1E70\", \"1E70\"], [\"1E72\", \"1E72\"], [\"1E74\", \"1E74\"], [\"1E76\", \"1E76\"], [\"1E78\", \"1E78\"], [\"1E7A\", \"1E7A\"], [\"1E7C\", \"1E7C\"], [\"1E7E\", \"1E7E\"], [\"1E80\", \"1E80\"], [\"1E82\", \"1E82\"], [\"1E84\", \"1E84\"], [\"1E86\", \"1E86\"], [\"1E88\", \"1E88\"], [\"1E8A\", \"1E8A\"], [\"1E8C\", \"1E8C\"], [\"1E8E\", \"1E8E\"], [\"1E90\", \"1E90\"], [\"1E92\", \"1E92\"], [\"1E94\", \"1E94\"], [\"1E9E\", \"1E9E\"], [\"1EA0\", \"1EA0\"], [\"1EA2\", \"1EA2\"], [\"1EA4\", \"1EA4\"], [\"1EA6\", \"1EA6\"], [\"1EA8\", \"1EA8\"], [\"1EAA\", \"1EAA\"], [\"1EAC\", \"1EAC\"], [\"1EAE\", \"1EAE\"], [\"1EB0\", \"1EB0\"], [\"1EB2\", \"1EB2\"], [\"1EB4\", \"1EB4\"], [\"1EB6\", \"1EB6\"], [\"1EB8\", \"1EB8\"], [\"1EBA\", \"1EBA\"], [\"1EBC\", \"1EBC\"], [\"1EBE\", \"1EBE\"], [\"1EC0\", \"1EC0\"], [\"1EC2\", \"1EC2\"], [\"1EC4\", \"1EC4\"], [\"1EC6\", \"1EC6\"], [\"1EC8\", \"1EC8\"], [\"1ECA\", \"1ECA\"], [\"1ECC\", \"1ECC\"], [\"1ECE\", \"1ECE\"], [\"1ED0\", \"1ED0\"], [\"1ED2\", \"1ED2\"], [\"1ED4\", \"1ED4\"], [\"1ED6\", \"1ED6\"], [\"1ED8\", \"1ED8\"], [\"1EDA\", \"1EDA\"], [\"1EDC\", \"1EDC\"], [\"1EDE\", \"1EDE\"], [\"1EE0\", \"1EE0\"], [\"1EE2\", \"1EE2\"], [\"1EE4\", \"1EE4\"], [\"1EE6\", \"1EE6\"], [\"1EE8\", \"1EE8\"], [\"1EEA\", \"1EEA\"], [\"1EEC\", \"1EEC\"], [\"1EEE\", \"1EEE\"], [\"1EF0\", \"1EF0\"], [\"1EF2\", \"1EF2\"], [\"1EF4\", \"1EF4\"], [\"1EF6\", \"1EF6\"], [\"1EF8\", \"1EF8\"], [\"1EFA\", \"1EFA\"], [\"1EFC\", \"1EFC\"], [\"1EFE\", \"1EFE\"], [\"1F08\", \"1F0F\"], [\"1F18\", \"1F1D\"], [\"1F28\", \"1F2F\"], [\"1F38\", \"1F3F\"], [\"1F48\", \"1F4D\"], [\"1F59\", \"1F59\"], [\"1F5B\", \"1F5B\"], [\"1F5D\", \"1F5D\"], [\"1F5F\", \"1F5F\"], [\"1F68\", \"1F6F\"], [\"1FB8\", \"1FBB\"], [\"1FC8\", \"1FCB\"], [\"1FD8\", \"1FDB\"], [\"1FE8\", \"1FEC\"], [\"1FF8\", \"1FFB\"], [\"2102\", \"2102\"], [\"2107\", \"2107\"], [\"210B\", \"210D\"], [\"2110\", \"2112\"], [\"2115\", \"2115\"], [\"2119\", \"211D\"], [\"2124\", \"2124\"], [\"2126\", \"2126\"], [\"2128\", \"2128\"], [\"212A\", \"212D\"], [\"2130\", \"2133\"], [\"213E\", \"213F\"], [\"2145\", \"2145\"], [\"2183\", \"2183\"], [\"2C00\", \"2C2E\"], [\"2C60\", \"2C60\"], [\"2C62\", \"2C64\"], [\"2C67\", \"2C67\"], [\"2C69\", \"2C69\"], [\"2C6B\", \"2C6B\"], [\"2C6D\", \"2C70\"], [\"2C72\", \"2C72\"], [\"2C75\", \"2C75\"], [\"2C7E\", \"2C80\"], [\"2C82\", \"2C82\"], [\"2C84\", \"2C84\"], [\"2C86\", \"2C86\"], [\"2C88\", \"2C88\"], [\"2C8A\", \"2C8A\"], [\"2C8C\", \"2C8C\"], [\"2C8E\", \"2C8E\"], [\"2C90\", \"2C90\"], [\"2C92\", \"2C92\"], [\"2C94\", \"2C94\"], [\"2C96\", \"2C96\"], [\"2C98\", \"2C98\"], [\"2C9A\", \"2C9A\"], [\"2C9C\", \"2C9C\"], [\"2C9E\", \"2C9E\"], [\"2CA0\", \"2CA0\"], [\"2CA2\", \"2CA2\"], [\"2CA4\", \"2CA4\"], [\"2CA6\", \"2CA6\"], [\"2CA8\", \"2CA8\"], [\"2CAA\", \"2CAA\"], [\"2CAC\", \"2CAC\"], [\"2CAE\", \"2CAE\"], [\"2CB0\", \"2CB0\"], [\"2CB2\", \"2CB2\"], [\"2CB4\", \"2CB4\"], [\"2CB6\", \"2CB6\"], [\"2CB8\", \"2CB8\"], [\"2CBA\", \"2CBA\"], [\"2CBC\", \"2CBC\"], [\"2CBE\", \"2CBE\"], [\"2CC0\", \"2CC0\"], [\"2CC2\", \"2CC2\"], [\"2CC4\", \"2CC4\"], [\"2CC6\", \"2CC6\"], [\"2CC8\", \"2CC8\"], [\"2CCA\", \"2CCA\"], [\"2CCC\", \"2CCC\"], [\"2CCE\", \"2CCE\"], [\"2CD0\", \"2CD0\"], [\"2CD2\", \"2CD2\"], [\"2CD4\", \"2CD4\"], [\"2CD6\", \"2CD6\"], [\"2CD8\", \"2CD8\"], [\"2CDA\", \"2CDA\"], [\"2CDC\", \"2CDC\"], [\"2CDE\", \"2CDE\"], [\"2CE0\", \"2CE0\"], [\"2CE2\", \"2CE2\"], [\"2CEB\", \"2CEB\"], [\"2CED\", \"2CED\"], [\"2CF2\", \"2CF2\"], [\"A640\", \"A640\"], [\"A642\", \"A642\"], [\"A644\", \"A644\"], [\"A646\", \"A646\"], [\"A648\", \"A648\"], [\"A64A\", \"A64A\"], [\"A64C\", \"A64C\"], [\"A64E\", \"A64E\"], [\"A650\", \"A650\"], [\"A652\", \"A652\"], [\"A654\", \"A654\"], [\"A656\", \"A656\"], [\"A658\", \"A658\"], [\"A65A\", \"A65A\"], [\"A65C\", \"A65C\"], [\"A65E\", \"A65E\"], [\"A660\", \"A660\"], [\"A662\", \"A662\"], [\"A664\", \"A664\"], [\"A666\", \"A666\"], [\"A668\", \"A668\"], [\"A66A\", \"A66A\"], [\"A66C\", \"A66C\"], [\"A680\", \"A680\"], [\"A682\", \"A682\"], [\"A684\", \"A684\"], [\"A686\", \"A686\"], [\"A688\", \"A688\"], [\"A68A\", \"A68A\"], [\"A68C\", \"A68C\"], [\"A68E\", \"A68E\"], [\"A690\", \"A690\"], [\"A692\", \"A692\"], [\"A694\", \"A694\"], [\"A696\", \"A696\"], [\"A722\", \"A722\"], [\"A724\", \"A724\"], [\"A726\", \"A726\"], [\"A728\", \"A728\"], [\"A72A\", \"A72A\"], [\"A72C\", \"A72C\"], [\"A72E\", \"A72E\"], [\"A732\", \"A732\"], [\"A734\", \"A734\"], [\"A736\", \"A736\"], [\"A738\", \"A738\"], [\"A73A\", \"A73A\"], [\"A73C\", \"A73C\"], [\"A73E\", \"A73E\"], [\"A740\", \"A740\"], [\"A742\", \"A742\"], [\"A744\", \"A744\"], [\"A746\", \"A746\"], [\"A748\", \"A748\"], [\"A74A\", \"A74A\"], [\"A74C\", \"A74C\"], [\"A74E\", \"A74E\"], [\"A750\", \"A750\"], [\"A752\", \"A752\"], [\"A754\", \"A754\"], [\"A756\", \"A756\"], [\"A758\", \"A758\"], [\"A75A\", \"A75A\"], [\"A75C\", \"A75C\"], [\"A75E\", \"A75E\"], [\"A760\", \"A760\"], [\"A762\", \"A762\"], [\"A764\", \"A764\"], [\"A766\", \"A766\"], [\"A768\", \"A768\"], [\"A76A\", \"A76A\"], [\"A76C\", \"A76C\"], [\"A76E\", \"A76E\"], [\"A779\", \"A779\"], [\"A77B\", \"A77B\"], [\"A77D\", \"A77E\"], [\"A780\", \"A780\"], [\"A782\", \"A782\"], [\"A784\", \"A784\"], [\"A786\", \"A786\"], [\"A78B\", \"A78B\"], [\"A78D\", \"A78D\"], [\"A790\", \"A790\"], [\"A792\", \"A792\"], [\"A7A0\", \"A7A0\"], [\"A7A2\", \"A7A2\"], [\"A7A4\", \"A7A4\"], [\"A7A6\", \"A7A6\"], [\"A7A8\", \"A7A8\"], [\"A7AA\", \"A7AA\"], [\"FF21\", \"FF3A\"], [\"10400\", \"10427\"], [\"1D400\", \"1D419\"], [\"1D434\", \"1D44D\"], [\"1D468\", \"1D481\"], [\"1D49C\", \"1D49C\"], [\"1D49E\", \"1D49F\"], [\"1D4A2\", \"1D4A2\"], [\"1D4A5\", \"1D4A6\"], [\"1D4A9\", \"1D4AC\"], [\"1D4AE\", \"1D4B5\"], [\"1D4D0\", \"1D4E9\"], [\"1D504\", \"1D505\"], [\"1D507\", \"1D50A\"], [\"1D50D\", \"1D514\"], [\"1D516\", \"1D51C\"], [\"1D538\", \"1D539\"], [\"1D53B\", \"1D53E\"], [\"1D540\", \"1D544\"], [\"1D546\", \"1D546\"], [\"1D54A\", \"1D550\"], [\"1D56C\", \"1D585\"], [\"1D5A0\", \"1D5B9\"], [\"1D5D4\", \"1D5ED\"], [\"1D608\", \"1D621\"], [\"1D63C\", \"1D655\"], [\"1D670\", \"1D689\"], [\"1D6A8\", \"1D6C0\"], [\"1D6E2\", \"1D6FA\"], [\"1D71C\", \"1D734\"], [\"1D756\", \"1D76E\"], [\"1D790\", \"1D7A8\"], [\"1D7CA\", \"1D7CA\"]],\n            M: \"Mc|Me|Mn\",\n            Mc: [[\"903\", \"903\"], [\"93B\", \"93B\"], [\"93E\", \"940\"], [\"949\", \"94C\"], [\"94E\", \"94F\"], [\"982\", \"983\"], [\"9BE\", \"9C0\"], [\"9C7\", \"9C8\"], [\"9CB\", \"9CC\"], [\"9D7\", \"9D7\"], [\"A03\", \"A03\"], [\"A3E\", \"A40\"], [\"A83\", \"A83\"], [\"ABE\", \"AC0\"], [\"AC9\", \"AC9\"], [\"ACB\", \"ACC\"], [\"B02\", \"B03\"], [\"B3E\", \"B3E\"], [\"B40\", \"B40\"], [\"B47\", \"B48\"], [\"B4B\", \"B4C\"], [\"B57\", \"B57\"], [\"BBE\", \"BBF\"], [\"BC1\", \"BC2\"], [\"BC6\", \"BC8\"], [\"BCA\", \"BCC\"], [\"BD7\", \"BD7\"], [\"C01\", \"C03\"], [\"C41\", \"C44\"], [\"C82\", \"C83\"], [\"CBE\", \"CBE\"], [\"CC0\", \"CC4\"], [\"CC7\", \"CC8\"], [\"CCA\", \"CCB\"], [\"CD5\", \"CD6\"], [\"D02\", \"D03\"], [\"D3E\", \"D40\"], [\"D46\", \"D48\"], [\"D4A\", \"D4C\"], [\"D57\", \"D57\"], [\"D82\", \"D83\"], [\"DCF\", \"DD1\"], [\"DD8\", \"DDF\"], [\"DF2\", \"DF3\"], [\"F3E\", \"F3F\"], [\"F7F\", \"F7F\"], [\"102B\", \"102C\"], [\"1031\", \"1031\"], [\"1038\", \"1038\"], [\"103B\", \"103C\"], [\"1056\", \"1057\"], [\"1062\", \"1064\"], [\"1067\", \"106D\"], [\"1083\", \"1084\"], [\"1087\", \"108C\"], [\"108F\", \"108F\"], [\"109A\", \"109C\"], [\"17B6\", \"17B6\"], [\"17BE\", \"17C5\"], [\"17C7\", \"17C8\"], [\"1923\", \"1926\"], [\"1929\", \"192B\"], [\"1930\", \"1931\"], [\"1933\", \"1938\"], [\"19B0\", \"19C0\"], [\"19C8\", \"19C9\"], [\"1A19\", \"1A1B\"], [\"1A55\", \"1A55\"], [\"1A57\", \"1A57\"], [\"1A61\", \"1A61\"], [\"1A63\", \"1A64\"], [\"1A6D\", \"1A72\"], [\"1B04\", \"1B04\"], [\"1B35\", \"1B35\"], [\"1B3B\", \"1B3B\"], [\"1B3D\", \"1B41\"], [\"1B43\", \"1B44\"], [\"1B82\", \"1B82\"], [\"1BA1\", \"1BA1\"], [\"1BA6\", \"1BA7\"], [\"1BAA\", \"1BAA\"], [\"1BAC\", \"1BAD\"], [\"1BE7\", \"1BE7\"], [\"1BEA\", \"1BEC\"], [\"1BEE\", \"1BEE\"], [\"1BF2\", \"1BF3\"], [\"1C24\", \"1C2B\"], [\"1C34\", \"1C35\"], [\"1CE1\", \"1CE1\"], [\"1CF2\", \"1CF3\"], [\"302E\", \"302F\"], [\"A823\", \"A824\"], [\"A827\", \"A827\"], [\"A880\", \"A881\"], [\"A8B4\", \"A8C3\"], [\"A952\", \"A953\"], [\"A983\", \"A983\"], [\"A9B4\", \"A9B5\"], [\"A9BA\", \"A9BB\"], [\"A9BD\", \"A9C0\"], [\"AA2F\", \"AA30\"], [\"AA33\", \"AA34\"], [\"AA4D\", \"AA4D\"], [\"AA7B\", \"AA7B\"], [\"AAEB\", \"AAEB\"], [\"AAEE\", \"AAEF\"], [\"AAF5\", \"AAF5\"], [\"ABE3\", \"ABE4\"], [\"ABE6\", \"ABE7\"], [\"ABE9\", \"ABEA\"], [\"ABEC\", \"ABEC\"], [\"11000\", \"11000\"], [\"11002\", \"11002\"], [\"11082\", \"11082\"], [\"110B0\", \"110B2\"], [\"110B7\", \"110B8\"], [\"1112C\", \"1112C\"], [\"11182\", \"11182\"], [\"111B3\", \"111B5\"], [\"111BF\", \"111C0\"], [\"116AC\", \"116AC\"], [\"116AE\", \"116AF\"], [\"116B6\", \"116B6\"], [\"16F51\", \"16F7E\"], [\"1D165\", \"1D166\"], [\"1D16D\", \"1D172\"]],\n            Me: [[\"488\", \"489\"], [\"20DD\", \"20E0\"], [\"20E2\", \"20E4\"], [\"A670\", \"A672\"]],\n            Mn: [[\"300\", \"36F\"], [\"483\", \"487\"], [\"591\", \"5BD\"], [\"5BF\", \"5BF\"], [\"5C1\", \"5C2\"], [\"5C4\", \"5C5\"], [\"5C7\", \"5C7\"], [\"610\", \"61A\"], [\"64B\", \"65F\"], [\"670\", \"670\"], [\"6D6\", \"6DC\"], [\"6DF\", \"6E4\"], [\"6E7\", \"6E8\"], [\"6EA\", \"6ED\"], [\"711\", \"711\"], [\"730\", \"74A\"], [\"7A6\", \"7B0\"], [\"7EB\", \"7F3\"], [\"816\", \"819\"], [\"81B\", \"823\"], [\"825\", \"827\"], [\"829\", \"82D\"], [\"859\", \"85B\"], [\"8E4\", \"8FE\"], [\"900\", \"902\"], [\"93A\", \"93A\"], [\"93C\", \"93C\"], [\"941\", \"948\"], [\"94D\", \"94D\"], [\"951\", \"957\"], [\"962\", \"963\"], [\"981\", \"981\"], [\"9BC\", \"9BC\"], [\"9C1\", \"9C4\"], [\"9CD\", \"9CD\"], [\"9E2\", \"9E3\"], [\"A01\", \"A02\"], [\"A3C\", \"A3C\"], [\"A41\", \"A42\"], [\"A47\", \"A48\"], [\"A4B\", \"A4D\"], [\"A51\", \"A51\"], [\"A70\", \"A71\"], [\"A75\", \"A75\"], [\"A81\", \"A82\"], [\"ABC\", \"ABC\"], [\"AC1\", \"AC5\"], [\"AC7\", \"AC8\"], [\"ACD\", \"ACD\"], [\"AE2\", \"AE3\"], [\"B01\", \"B01\"], [\"B3C\", \"B3C\"], [\"B3F\", \"B3F\"], [\"B41\", \"B44\"], [\"B4D\", \"B4D\"], [\"B56\", \"B56\"], [\"B62\", \"B63\"], [\"B82\", \"B82\"], [\"BC0\", \"BC0\"], [\"BCD\", \"BCD\"], [\"C3E\", \"C40\"], [\"C46\", \"C48\"], [\"C4A\", \"C4D\"], [\"C55\", \"C56\"], [\"C62\", \"C63\"], [\"CBC\", \"CBC\"], [\"CBF\", \"CBF\"], [\"CC6\", \"CC6\"], [\"CCC\", \"CCD\"], [\"CE2\", \"CE3\"], [\"D41\", \"D44\"], [\"D4D\", \"D4D\"], [\"D62\", \"D63\"], [\"DCA\", \"DCA\"], [\"DD2\", \"DD4\"], [\"DD6\", \"DD6\"], [\"E31\", \"E31\"], [\"E34\", \"E3A\"], [\"E47\", \"E4E\"], [\"EB1\", \"EB1\"], [\"EB4\", \"EB9\"], [\"EBB\", \"EBC\"], [\"EC8\", \"ECD\"], [\"F18\", \"F19\"], [\"F35\", \"F35\"], [\"F37\", \"F37\"], [\"F39\", \"F39\"], [\"F71\", \"F7E\"], [\"F80\", \"F84\"], [\"F86\", \"F87\"], [\"F8D\", \"F97\"], [\"F99\", \"FBC\"], [\"FC6\", \"FC6\"], [\"102D\", \"1030\"], [\"1032\", \"1037\"], [\"1039\", \"103A\"], [\"103D\", \"103E\"], [\"1058\", \"1059\"], [\"105E\", \"1060\"], [\"1071\", \"1074\"], [\"1082\", \"1082\"], [\"1085\", \"1086\"], [\"108D\", \"108D\"], [\"109D\", \"109D\"], [\"135D\", \"135F\"], [\"1712\", \"1714\"], [\"1732\", \"1734\"], [\"1752\", \"1753\"], [\"1772\", \"1773\"], [\"17B4\", \"17B5\"], [\"17B7\", \"17BD\"], [\"17C6\", \"17C6\"], [\"17C9\", \"17D3\"], [\"17DD\", \"17DD\"], [\"180B\", \"180D\"], [\"18A9\", \"18A9\"], [\"1920\", \"1922\"], [\"1927\", \"1928\"], [\"1932\", \"1932\"], [\"1939\", \"193B\"], [\"1A17\", \"1A18\"], [\"1A56\", \"1A56\"], [\"1A58\", \"1A5E\"], [\"1A60\", \"1A60\"], [\"1A62\", \"1A62\"], [\"1A65\", \"1A6C\"], [\"1A73\", \"1A7C\"], [\"1A7F\", \"1A7F\"], [\"1B00\", \"1B03\"], [\"1B34\", \"1B34\"], [\"1B36\", \"1B3A\"], [\"1B3C\", \"1B3C\"], [\"1B42\", \"1B42\"], [\"1B6B\", \"1B73\"], [\"1B80\", \"1B81\"], [\"1BA2\", \"1BA5\"], [\"1BA8\", \"1BA9\"], [\"1BAB\", \"1BAB\"], [\"1BE6\", \"1BE6\"], [\"1BE8\", \"1BE9\"], [\"1BED\", \"1BED\"], [\"1BEF\", \"1BF1\"], [\"1C2C\", \"1C33\"], [\"1C36\", \"1C37\"], [\"1CD0\", \"1CD2\"], [\"1CD4\", \"1CE0\"], [\"1CE2\", \"1CE8\"], [\"1CED\", \"1CED\"], [\"1CF4\", \"1CF4\"], [\"1DC0\", \"1DE6\"], [\"1DFC\", \"1DFF\"], [\"20D0\", \"20DC\"], [\"20E1\", \"20E1\"], [\"20E5\", \"20F0\"], [\"2CEF\", \"2CF1\"], [\"2D7F\", \"2D7F\"], [\"2DE0\", \"2DFF\"], [\"302A\", \"302D\"], [\"3099\", \"309A\"], [\"A66F\", \"A66F\"], [\"A674\", \"A67D\"], [\"A69F\", \"A69F\"], [\"A6F0\", \"A6F1\"], [\"A802\", \"A802\"], [\"A806\", \"A806\"], [\"A80B\", \"A80B\"], [\"A825\", \"A826\"], [\"A8C4\", \"A8C4\"], [\"A8E0\", \"A8F1\"], [\"A926\", \"A92D\"], [\"A947\", \"A951\"], [\"A980\", \"A982\"], [\"A9B3\", \"A9B3\"], [\"A9B6\", \"A9B9\"], [\"A9BC\", \"A9BC\"], [\"AA29\", \"AA2E\"], [\"AA31\", \"AA32\"], [\"AA35\", \"AA36\"], [\"AA43\", \"AA43\"], [\"AA4C\", \"AA4C\"], [\"AAB0\", \"AAB0\"], [\"AAB2\", \"AAB4\"], [\"AAB7\", \"AAB8\"], [\"AABE\", \"AABF\"], [\"AAC1\", \"AAC1\"], [\"AAEC\", \"AAED\"], [\"AAF6\", \"AAF6\"], [\"ABE5\", \"ABE5\"], [\"ABE8\", \"ABE8\"], [\"ABED\", \"ABED\"], [\"FB1E\", \"FB1E\"], [\"FE00\", \"FE0F\"], [\"FE20\", \"FE26\"], [\"101FD\", \"101FD\"], [\"10A01\", \"10A03\"], [\"10A05\", \"10A06\"], [\"10A0C\", \"10A0F\"], [\"10A38\", \"10A3A\"], [\"10A3F\", \"10A3F\"], [\"11001\", \"11001\"], [\"11038\", \"11046\"], [\"11080\", \"11081\"], [\"110B3\", \"110B6\"], [\"110B9\", \"110BA\"], [\"11100\", \"11102\"], [\"11127\", \"1112B\"], [\"1112D\", \"11134\"], [\"11180\", \"11181\"], [\"111B6\", \"111BE\"], [\"116AB\", \"116AB\"], [\"116AD\", \"116AD\"], [\"116B0\", \"116B5\"], [\"116B7\", \"116B7\"], [\"16F8F\", \"16F92\"], [\"1D167\", \"1D169\"], [\"1D17B\", \"1D182\"], [\"1D185\", \"1D18B\"], [\"1D1AA\", \"1D1AD\"], [\"1D242\", \"1D244\"], [\"E0100\", \"E01EF\"]],\n            N: \"Nd|Nl|No\",\n            Nd: [[\"30\", \"39\"], [\"660\", \"669\"], [\"6F0\", \"6F9\"], [\"7C0\", \"7C9\"], [\"966\", \"96F\"], [\"9E6\", \"9EF\"], [\"A66\", \"A6F\"], [\"AE6\", \"AEF\"], [\"B66\", \"B6F\"], [\"BE6\", \"BEF\"], [\"C66\", \"C6F\"], [\"CE6\", \"CEF\"], [\"D66\", \"D6F\"], [\"E50\", \"E59\"], [\"ED0\", \"ED9\"], [\"F20\", \"F29\"], [\"1040\", \"1049\"], [\"1090\", \"1099\"], [\"17E0\", \"17E9\"], [\"1810\", \"1819\"], [\"1946\", \"194F\"], [\"19D0\", \"19D9\"], [\"1A80\", \"1A89\"], [\"1A90\", \"1A99\"], [\"1B50\", \"1B59\"], [\"1BB0\", \"1BB9\"], [\"1C40\", \"1C49\"], [\"1C50\", \"1C59\"], [\"A620\", \"A629\"], [\"A8D0\", \"A8D9\"], [\"A900\", \"A909\"], [\"A9D0\", \"A9D9\"], [\"AA50\", \"AA59\"], [\"ABF0\", \"ABF9\"], [\"FF10\", \"FF19\"], [\"104A0\", \"104A9\"], [\"11066\", \"1106F\"], [\"110F0\", \"110F9\"], [\"11136\", \"1113F\"], [\"111D0\", \"111D9\"], [\"116C0\", \"116C9\"], [\"1D7CE\", \"1D7FF\"]],\n            Nl: [[\"16EE\", \"16F0\"], [\"2160\", \"2182\"], [\"2185\", \"2188\"], [\"3007\", \"3007\"], [\"3021\", \"3029\"], [\"3038\", \"303A\"], [\"A6E6\", \"A6EF\"], [\"10140\", \"10174\"], [\"10341\", \"10341\"], [\"1034A\", \"1034A\"], [\"103D1\", \"103D5\"], [\"12400\", \"12462\"]],\n            No: [[\"B2\", \"B3\"], [\"B9\", \"B9\"], [\"BC\", \"BE\"], [\"9F4\", \"9F9\"], [\"B72\", \"B77\"], [\"BF0\", \"BF2\"], [\"C78\", \"C7E\"], [\"D70\", \"D75\"], [\"F2A\", \"F33\"], [\"1369\", \"137C\"], [\"17F0\", \"17F9\"], [\"19DA\", \"19DA\"], [\"2070\", \"2070\"], [\"2074\", \"2079\"], [\"2080\", \"2089\"], [\"2150\", \"215F\"], [\"2189\", \"2189\"], [\"2460\", \"249B\"], [\"24EA\", \"24FF\"], [\"2776\", \"2793\"], [\"2CFD\", \"2CFD\"], [\"3192\", \"3195\"], [\"3220\", \"3229\"], [\"3248\", \"324F\"], [\"3251\", \"325F\"], [\"3280\", \"3289\"], [\"32B1\", \"32BF\"], [\"A830\", \"A835\"], [\"10107\", \"10133\"], [\"10175\", \"10178\"], [\"1018A\", \"1018A\"], [\"10320\", \"10323\"], [\"10858\", \"1085F\"], [\"10916\", \"1091B\"], [\"10A40\", \"10A47\"], [\"10A7D\", \"10A7E\"], [\"10B58\", \"10B5F\"], [\"10B78\", \"10B7F\"], [\"10E60\", \"10E7E\"], [\"11052\", \"11065\"], [\"1D360\", \"1D371\"], [\"1F100\", \"1F10A\"]],\n            P: \"Pc|Pd|Pe|Pf|Pi|Po|Ps\",\n            Pc: [[\"5F\", \"5F\"], [\"203F\", \"2040\"], [\"2054\", \"2054\"], [\"FE33\", \"FE34\"], [\"FE4D\", \"FE4F\"], [\"FF3F\", \"FF3F\"]],\n            Pd: [[\"2D\", \"2D\"], [\"58A\", \"58A\"], [\"5BE\", \"5BE\"], [\"1400\", \"1400\"], [\"1806\", \"1806\"], [\"2010\", \"2015\"], [\"2E17\", \"2E17\"], [\"2E1A\", \"2E1A\"], [\"2E3A\", \"2E3B\"], [\"301C\", \"301C\"], [\"3030\", \"3030\"], [\"30A0\", \"30A0\"], [\"FE31\", \"FE32\"], [\"FE58\", \"FE58\"], [\"FE63\", \"FE63\"], [\"FF0D\", \"FF0D\"]],\n            Pe: [[\"29\", \"29\"], [\"5D\", \"5D\"], [\"7D\", \"7D\"], [\"F3B\", \"F3B\"], [\"F3D\", \"F3D\"], [\"169C\", \"169C\"], [\"2046\", \"2046\"], [\"207E\", \"207E\"], [\"208E\", \"208E\"], [\"232A\", \"232A\"], [\"2769\", \"2769\"], [\"276B\", \"276B\"], [\"276D\", \"276D\"], [\"276F\", \"276F\"], [\"2771\", \"2771\"], [\"2773\", \"2773\"], [\"2775\", \"2775\"], [\"27C6\", \"27C6\"], [\"27E7\", \"27E7\"], [\"27E9\", \"27E9\"], [\"27EB\", \"27EB\"], [\"27ED\", \"27ED\"], [\"27EF\", \"27EF\"], [\"2984\", \"2984\"], [\"2986\", \"2986\"], [\"2988\", \"2988\"], [\"298A\", \"298A\"], [\"298C\", \"298C\"], [\"298E\", \"298E\"], [\"2990\", \"2990\"], [\"2992\", \"2992\"], [\"2994\", \"2994\"], [\"2996\", \"2996\"], [\"2998\", \"2998\"], [\"29D9\", \"29D9\"], [\"29DB\", \"29DB\"], [\"29FD\", \"29FD\"], [\"2E23\", \"2E23\"], [\"2E25\", \"2E25\"], [\"2E27\", \"2E27\"], [\"2E29\", \"2E29\"], [\"3009\", \"3009\"], [\"300B\", \"300B\"], [\"300D\", \"300D\"], [\"300F\", \"300F\"], [\"3011\", \"3011\"], [\"3015\", \"3015\"], [\"3017\", \"3017\"], [\"3019\", \"3019\"], [\"301B\", \"301B\"], [\"301E\", \"301F\"], [\"FD3F\", \"FD3F\"], [\"FE18\", \"FE18\"], [\"FE36\", \"FE36\"], [\"FE38\", \"FE38\"], [\"FE3A\", \"FE3A\"], [\"FE3C\", \"FE3C\"], [\"FE3E\", \"FE3E\"], [\"FE40\", \"FE40\"], [\"FE42\", \"FE42\"], [\"FE44\", \"FE44\"], [\"FE48\", \"FE48\"], [\"FE5A\", \"FE5A\"], [\"FE5C\", \"FE5C\"], [\"FE5E\", \"FE5E\"], [\"FF09\", \"FF09\"], [\"FF3D\", \"FF3D\"], [\"FF5D\", \"FF5D\"], [\"FF60\", \"FF60\"], [\"FF63\", \"FF63\"]],\n            Pf: [[\"BB\", \"BB\"], [\"2019\", \"2019\"], [\"201D\", \"201D\"], [\"203A\", \"203A\"], [\"2E03\", \"2E03\"], [\"2E05\", \"2E05\"], [\"2E0A\", \"2E0A\"], [\"2E0D\", \"2E0D\"], [\"2E1D\", \"2E1D\"], [\"2E21\", \"2E21\"]],\n            Pi: [[\"AB\", \"AB\"], [\"2018\", \"2018\"], [\"201B\", \"201C\"], [\"201F\", \"201F\"], [\"2039\", \"2039\"], [\"2E02\", \"2E02\"], [\"2E04\", \"2E04\"], [\"2E09\", \"2E09\"], [\"2E0C\", \"2E0C\"], [\"2E1C\", \"2E1C\"], [\"2E20\", \"2E20\"]],\n            Po: [[\"21\", \"23\"], [\"25\", \"27\"], [\"2A\", \"2A\"], [\"2C\", \"2C\"], [\"2E\", \"2F\"], [\"3A\", \"3B\"], [\"3F\", \"40\"], [\"5C\", \"5C\"], [\"A1\", \"A1\"], [\"A7\", \"A7\"], [\"B6\", \"B7\"], [\"BF\", \"BF\"], [\"37E\", \"37E\"], [\"387\", \"387\"], [\"55A\", \"55F\"], [\"589\", \"589\"], [\"5C0\", \"5C0\"], [\"5C3\", \"5C3\"], [\"5C6\", \"5C6\"], [\"5F3\", \"5F4\"], [\"609\", \"60A\"], [\"60C\", \"60D\"], [\"61B\", \"61B\"], [\"61E\", \"61F\"], [\"66A\", \"66D\"], [\"6D4\", \"6D4\"], [\"700\", \"70D\"], [\"7F7\", \"7F9\"], [\"830\", \"83E\"], [\"85E\", \"85E\"], [\"964\", \"965\"], [\"970\", \"970\"], [\"AF0\", \"AF0\"], [\"DF4\", \"DF4\"], [\"E4F\", \"E4F\"], [\"E5A\", \"E5B\"], [\"F04\", \"F12\"], [\"F14\", \"F14\"], [\"F85\", \"F85\"], [\"FD0\", \"FD4\"], [\"FD9\", \"FDA\"], [\"104A\", \"104F\"], [\"10FB\", \"10FB\"], [\"1360\", \"1368\"], [\"166D\", \"166E\"], [\"16EB\", \"16ED\"], [\"1735\", \"1736\"], [\"17D4\", \"17D6\"], [\"17D8\", \"17DA\"], [\"1800\", \"1805\"], [\"1807\", \"180A\"], [\"1944\", \"1945\"], [\"1A1E\", \"1A1F\"], [\"1AA0\", \"1AA6\"], [\"1AA8\", \"1AAD\"], [\"1B5A\", \"1B60\"], [\"1BFC\", \"1BFF\"], [\"1C3B\", \"1C3F\"], [\"1C7E\", \"1C7F\"], [\"1CC0\", \"1CC7\"], [\"1CD3\", \"1CD3\"], [\"2016\", \"2017\"], [\"2020\", \"2027\"], [\"2030\", \"2038\"], [\"203B\", \"203E\"], [\"2041\", \"2043\"], [\"2047\", \"2051\"], [\"2053\", \"2053\"], [\"2055\", \"205E\"], [\"2CF9\", \"2CFC\"], [\"2CFE\", \"2CFF\"], [\"2D70\", \"2D70\"], [\"2E00\", \"2E01\"], [\"2E06\", \"2E08\"], [\"2E0B\", \"2E0B\"], [\"2E0E\", \"2E16\"], [\"2E18\", \"2E19\"], [\"2E1B\", \"2E1B\"], [\"2E1E\", \"2E1F\"], [\"2E2A\", \"2E2E\"], [\"2E30\", \"2E39\"], [\"3001\", \"3003\"], [\"303D\", \"303D\"], [\"30FB\", \"30FB\"], [\"A4FE\", \"A4FF\"], [\"A60D\", \"A60F\"], [\"A673\", \"A673\"], [\"A67E\", \"A67E\"], [\"A6F2\", \"A6F7\"], [\"A874\", \"A877\"], [\"A8CE\", \"A8CF\"], [\"A8F8\", \"A8FA\"], [\"A92E\", \"A92F\"], [\"A95F\", \"A95F\"], [\"A9C1\", \"A9CD\"], [\"A9DE\", \"A9DF\"], [\"AA5C\", \"AA5F\"], [\"AADE\", \"AADF\"], [\"AAF0\", \"AAF1\"], [\"ABEB\", \"ABEB\"], [\"FE10\", \"FE16\"], [\"FE19\", \"FE19\"], [\"FE30\", \"FE30\"], [\"FE45\", \"FE46\"], [\"FE49\", \"FE4C\"], [\"FE50\", \"FE52\"], [\"FE54\", \"FE57\"], [\"FE5F\", \"FE61\"], [\"FE68\", \"FE68\"], [\"FE6A\", \"FE6B\"], [\"FF01\", \"FF03\"], [\"FF05\", \"FF07\"], [\"FF0A\", \"FF0A\"], [\"FF0C\", \"FF0C\"], [\"FF0E\", \"FF0F\"], [\"FF1A\", \"FF1B\"], [\"FF1F\", \"FF20\"], [\"FF3C\", \"FF3C\"], [\"FF61\", \"FF61\"], [\"FF64\", \"FF65\"], [\"10100\", \"10102\"], [\"1039F\", \"1039F\"], [\"103D0\", \"103D0\"], [\"10857\", \"10857\"], [\"1091F\", \"1091F\"], [\"1093F\", \"1093F\"], [\"10A50\", \"10A58\"], [\"10A7F\", \"10A7F\"], [\"10B39\", \"10B3F\"], [\"11047\", \"1104D\"], [\"110BB\", \"110BC\"], [\"110BE\", \"110C1\"], [\"11140\", \"11143\"], [\"111C5\", \"111C8\"], [\"12470\", \"12473\"]],\n            Ps: [[\"28\", \"28\"], [\"5B\", \"5B\"], [\"7B\", \"7B\"], [\"F3A\", \"F3A\"], [\"F3C\", \"F3C\"], [\"169B\", \"169B\"], [\"201A\", \"201A\"], [\"201E\", \"201E\"], [\"2045\", \"2045\"], [\"207D\", \"207D\"], [\"208D\", \"208D\"], [\"2329\", \"2329\"], [\"2768\", \"2768\"], [\"276A\", \"276A\"], [\"276C\", \"276C\"], [\"276E\", \"276E\"], [\"2770\", \"2770\"], [\"2772\", \"2772\"], [\"2774\", \"2774\"], [\"27C5\", \"27C5\"], [\"27E6\", \"27E6\"], [\"27E8\", \"27E8\"], [\"27EA\", \"27EA\"], [\"27EC\", \"27EC\"], [\"27EE\", \"27EE\"], [\"2983\", \"2983\"], [\"2985\", \"2985\"], [\"2987\", \"2987\"], [\"2989\", \"2989\"], [\"298B\", \"298B\"], [\"298D\", \"298D\"], [\"298F\", \"298F\"], [\"2991\", \"2991\"], [\"2993\", \"2993\"], [\"2995\", \"2995\"], [\"2997\", \"2997\"], [\"29D8\", \"29D8\"], [\"29DA\", \"29DA\"], [\"29FC\", \"29FC\"], [\"2E22\", \"2E22\"], [\"2E24\", \"2E24\"], [\"2E26\", \"2E26\"], [\"2E28\", \"2E28\"], [\"3008\", \"3008\"], [\"300A\", \"300A\"], [\"300C\", \"300C\"], [\"300E\", \"300E\"], [\"3010\", \"3010\"], [\"3014\", \"3014\"], [\"3016\", \"3016\"], [\"3018\", \"3018\"], [\"301A\", \"301A\"], [\"301D\", \"301D\"], [\"FD3E\", \"FD3E\"], [\"FE17\", \"FE17\"], [\"FE35\", \"FE35\"], [\"FE37\", \"FE37\"], [\"FE39\", \"FE39\"], [\"FE3B\", \"FE3B\"], [\"FE3D\", \"FE3D\"], [\"FE3F\", \"FE3F\"], [\"FE41\", \"FE41\"], [\"FE43\", \"FE43\"], [\"FE47\", \"FE47\"], [\"FE59\", \"FE59\"], [\"FE5B\", \"FE5B\"], [\"FE5D\", \"FE5D\"], [\"FF08\", \"FF08\"], [\"FF3B\", \"FF3B\"], [\"FF5B\", \"FF5B\"], [\"FF5F\", \"FF5F\"], [\"FF62\", \"FF62\"]],\n            S: \"Sc|Sk|Sm|So\",\n            Sc: [[\"24\", \"24\"], [\"A2\", \"A5\"], [\"58F\", \"58F\"], [\"60B\", \"60B\"], [\"9F2\", \"9F3\"], [\"9FB\", \"9FB\"], [\"AF1\", \"AF1\"], [\"BF9\", \"BF9\"], [\"E3F\", \"E3F\"], [\"17DB\", \"17DB\"], [\"20A0\", \"20BA\"], [\"A838\", \"A838\"], [\"FDFC\", \"FDFC\"], [\"FE69\", \"FE69\"], [\"FF04\", \"FF04\"], [\"FFE0\", \"FFE1\"], [\"FFE5\", \"FFE6\"]],\n            Sk: [[\"5E\", \"5E\"], [\"60\", \"60\"], [\"A8\", \"A8\"], [\"AF\", \"AF\"], [\"B4\", \"B4\"], [\"B8\", \"B8\"], [\"2C2\", \"2C5\"], [\"2D2\", \"2DF\"], [\"2E5\", \"2EB\"], [\"2ED\", \"2ED\"], [\"2EF\", \"2FF\"], [\"375\", \"375\"], [\"384\", \"385\"], [\"1FBD\", \"1FBD\"], [\"1FBF\", \"1FC1\"], [\"1FCD\", \"1FCF\"], [\"1FDD\", \"1FDF\"], [\"1FED\", \"1FEF\"], [\"1FFD\", \"1FFE\"], [\"309B\", \"309C\"], [\"A700\", \"A716\"], [\"A720\", \"A721\"], [\"A789\", \"A78A\"], [\"FBB2\", \"FBC1\"], [\"FF3E\", \"FF3E\"], [\"FF40\", \"FF40\"], [\"FFE3\", \"FFE3\"]],\n            Sm: [[\"2B\", \"2B\"], [\"3C\", \"3E\"], [\"7C\", \"7C\"], [\"7E\", \"7E\"], [\"AC\", \"AC\"], [\"B1\", \"B1\"], [\"D7\", \"D7\"], [\"F7\", \"F7\"], [\"3F6\", \"3F6\"], [\"606\", \"608\"], [\"2044\", \"2044\"], [\"2052\", \"2052\"], [\"207A\", \"207C\"], [\"208A\", \"208C\"], [\"2118\", \"2118\"], [\"2140\", \"2144\"], [\"214B\", \"214B\"], [\"2190\", \"2194\"], [\"219A\", \"219B\"], [\"21A0\", \"21A0\"], [\"21A3\", \"21A3\"], [\"21A6\", \"21A6\"], [\"21AE\", \"21AE\"], [\"21CE\", \"21CF\"], [\"21D2\", \"21D2\"], [\"21D4\", \"21D4\"], [\"21F4\", \"22FF\"], [\"2308\", \"230B\"], [\"2320\", \"2321\"], [\"237C\", \"237C\"], [\"239B\", \"23B3\"], [\"23DC\", \"23E1\"], [\"25B7\", \"25B7\"], [\"25C1\", \"25C1\"], [\"25F8\", \"25FF\"], [\"266F\", \"266F\"], [\"27C0\", \"27C4\"], [\"27C7\", \"27E5\"], [\"27F0\", \"27FF\"], [\"2900\", \"2982\"], [\"2999\", \"29D7\"], [\"29DC\", \"29FB\"], [\"29FE\", \"2AFF\"], [\"2B30\", \"2B44\"], [\"2B47\", \"2B4C\"], [\"FB29\", \"FB29\"], [\"FE62\", \"FE62\"], [\"FE64\", \"FE66\"], [\"FF0B\", \"FF0B\"], [\"FF1C\", \"FF1E\"], [\"FF5C\", \"FF5C\"], [\"FF5E\", \"FF5E\"], [\"FFE2\", \"FFE2\"], [\"FFE9\", \"FFEC\"], [\"1D6C1\", \"1D6C1\"], [\"1D6DB\", \"1D6DB\"], [\"1D6FB\", \"1D6FB\"], [\"1D715\", \"1D715\"], [\"1D735\", \"1D735\"], [\"1D74F\", \"1D74F\"], [\"1D76F\", \"1D76F\"], [\"1D789\", \"1D789\"], [\"1D7A9\", \"1D7A9\"], [\"1D7C3\", \"1D7C3\"], [\"1EEF0\", \"1EEF1\"]],\n            So: [[\"A6\", \"A6\"], [\"A9\", \"A9\"], [\"AE\", \"AE\"], [\"B0\", \"B0\"], [\"482\", \"482\"], [\"60E\", \"60F\"], [\"6DE\", \"6DE\"], [\"6E9\", \"6E9\"], [\"6FD\", \"6FE\"], [\"7F6\", \"7F6\"], [\"9FA\", \"9FA\"], [\"B70\", \"B70\"], [\"BF3\", \"BF8\"], [\"BFA\", \"BFA\"], [\"C7F\", \"C7F\"], [\"D79\", \"D79\"], [\"F01\", \"F03\"], [\"F13\", \"F13\"], [\"F15\", \"F17\"], [\"F1A\", \"F1F\"], [\"F34\", \"F34\"], [\"F36\", \"F36\"], [\"F38\", \"F38\"], [\"FBE\", \"FC5\"], [\"FC7\", \"FCC\"], [\"FCE\", \"FCF\"], [\"FD5\", \"FD8\"], [\"109E\", \"109F\"], [\"1390\", \"1399\"], [\"1940\", \"1940\"], [\"19DE\", \"19FF\"], [\"1B61\", \"1B6A\"], [\"1B74\", \"1B7C\"], [\"2100\", \"2101\"], [\"2103\", \"2106\"], [\"2108\", \"2109\"], [\"2114\", \"2114\"], [\"2116\", \"2117\"], [\"211E\", \"2123\"], [\"2125\", \"2125\"], [\"2127\", \"2127\"], [\"2129\", \"2129\"], [\"212E\", \"212E\"], [\"213A\", \"213B\"], [\"214A\", \"214A\"], [\"214C\", \"214D\"], [\"214F\", \"214F\"], [\"2195\", \"2199\"], [\"219C\", \"219F\"], [\"21A1\", \"21A2\"], [\"21A4\", \"21A5\"], [\"21A7\", \"21AD\"], [\"21AF\", \"21CD\"], [\"21D0\", \"21D1\"], [\"21D3\", \"21D3\"], [\"21D5\", \"21F3\"], [\"2300\", \"2307\"], [\"230C\", \"231F\"], [\"2322\", \"2328\"], [\"232B\", \"237B\"], [\"237D\", \"239A\"], [\"23B4\", \"23DB\"], [\"23E2\", \"23F3\"], [\"2400\", \"2426\"], [\"2440\", \"244A\"], [\"249C\", \"24E9\"], [\"2500\", \"25B6\"], [\"25B8\", \"25C0\"], [\"25C2\", \"25F7\"], [\"2600\", \"266E\"], [\"2670\", \"26FF\"], [\"2701\", \"2767\"], [\"2794\", \"27BF\"], [\"2800\", \"28FF\"], [\"2B00\", \"2B2F\"], [\"2B45\", \"2B46\"], [\"2B50\", \"2B59\"], [\"2CE5\", \"2CEA\"], [\"2E80\", \"2E99\"], [\"2E9B\", \"2EF3\"], [\"2F00\", \"2FD5\"], [\"2FF0\", \"2FFB\"], [\"3004\", \"3004\"], [\"3012\", \"3013\"], [\"3020\", \"3020\"], [\"3036\", \"3037\"], [\"303E\", \"303F\"], [\"3190\", \"3191\"], [\"3196\", \"319F\"], [\"31C0\", \"31E3\"], [\"3200\", \"321E\"], [\"322A\", \"3247\"], [\"3250\", \"3250\"], [\"3260\", \"327F\"], [\"328A\", \"32B0\"], [\"32C0\", \"32FE\"], [\"3300\", \"33FF\"], [\"4DC0\", \"4DFF\"], [\"A490\", \"A4C6\"], [\"A828\", \"A82B\"], [\"A836\", \"A837\"], [\"A839\", \"A839\"], [\"AA77\", \"AA79\"], [\"FDFD\", \"FDFD\"], [\"FFE4\", \"FFE4\"], [\"FFE8\", \"FFE8\"], [\"FFED\", \"FFEE\"], [\"FFFC\", \"FFFD\"], [\"10137\", \"1013F\"], [\"10179\", \"10189\"], [\"10190\", \"1019B\"], [\"101D0\", \"101FC\"], [\"1D000\", \"1D0F5\"], [\"1D100\", \"1D126\"], [\"1D129\", \"1D164\"], [\"1D16A\", \"1D16C\"], [\"1D183\", \"1D184\"], [\"1D18C\", \"1D1A9\"], [\"1D1AE\", \"1D1DD\"], [\"1D200\", \"1D241\"], [\"1D245\", \"1D245\"], [\"1D300\", \"1D356\"], [\"1F000\", \"1F02B\"], [\"1F030\", \"1F093\"], [\"1F0A0\", \"1F0AE\"], [\"1F0B1\", \"1F0BE\"], [\"1F0C1\", \"1F0CF\"], [\"1F0D1\", \"1F0DF\"], [\"1F110\", \"1F12E\"], [\"1F130\", \"1F16B\"], [\"1F170\", \"1F19A\"], [\"1F1E6\", \"1F202\"], [\"1F210\", \"1F23A\"], [\"1F240\", \"1F248\"], [\"1F250\", \"1F251\"], [\"1F300\", \"1F320\"], [\"1F330\", \"1F335\"], [\"1F337\", \"1F37C\"], [\"1F380\", \"1F393\"], [\"1F3A0\", \"1F3C4\"], [\"1F3C6\", \"1F3CA\"], [\"1F3E0\", \"1F3F0\"], [\"1F400\", \"1F43E\"], [\"1F440\", \"1F440\"], [\"1F442\", \"1F4F7\"], [\"1F4F9\", \"1F4FC\"], [\"1F500\", \"1F53D\"], [\"1F540\", \"1F543\"], [\"1F550\", \"1F567\"], [\"1F5FB\", \"1F640\"], [\"1F645\", \"1F64F\"], [\"1F680\", \"1F6C5\"], [\"1F700\", \"1F773\"]],\n            Z: \"Zl|Zp|Zs\",\n            Zl: [[\"2028\", \"2028\"]],\n            Zp: [[\"2029\", \"2029\"]],\n            Zs: [[\"20\", \"20\"], [\"A0\", \"A0\"], [\"1680\", \"1680\"], [\"180E\", \"180E\"], [\"2000\", \"200A\"], [\"202F\", \"202F\"], [\"205F\", \"205F\"], [\"3000\", \"3000\"]],\n            \"~i\": [[\"3A\", \"3A\"], [\"41\", \"5A\"], [\"5F\", \"5F\"], [\"61\", \"7A\"], [\"C0\", \"D6\"], [\"D8\", \"F6\"], [\"F8\", \"2FF\"], [\"370\", \"37D\"], [\"37F\", \"1FFF\"], [\"200C\", \"200D\"], [\"2070\", \"218F\"], [\"2C00\", \"2FEF\"], [\"3001\", \"D7FF\"], [\"F900\", \"FDCF\"], [\"FDF0\", \"FFFD\"], [\"10000\", \"EFFFF\"]],\n            \"~c\": [[\"2D\", \"2E\"], [\"30\", \"3A\"], [\"41\", \"5A\"], [\"5F\", \"5F\"], [\"61\", \"7A\"], [\"B7\", \"B7\"], [\"C0\", \"D6\"], [\"D8\", \"F6\"], [\"F8\", \"37D\"], [\"37F\", \"1FFF\"], [\"200C\", \"200D\"], [\"203F\", \"2040\"], [\"2070\", \"218F\"], [\"2C00\", \"2FEF\"], [\"3001\", \"D7FF\"], [\"F900\", \"FDCF\"], [\"FDF0\", \"FFFD\"], [\"10000\", \"EFFFF\"]],\n            w: \"Ll|Lm|Lo|Lt|Lu|Mc|Me|Mn|Nd|Nl|No|Sc|Sk|Sm|So\"\n        },\n        functions: {\n            \"http://www.w3.org/2005/xpath-functions\": {\n                QName: [2],\n                abs: [1],\n                \"accumulator-after\": [1],\n                \"accumulator-before\": [1],\n                \"adjust-date-to-timezone\": [1, 2],\n                \"adjust-dateTime-to-timezone\": [1, 2],\n                \"adjust-time-to-timezone\": [1, 2],\n                \"analyze-string\": [2, 3],\n                apply: [2],\n                \"available-environment-variables\": [0],\n                \"available-system-properties\": [0],\n                avg: [1],\n                \"base-uri\": [0, 1],\n                \"boolean\": [1],\n                ceiling: [1],\n                \"codepoint-equal\": [2],\n                \"codepoints-to-string\": [1],\n                \"collation-key\": [1, 2],\n                collection: [0, 1],\n                compare: [2, 3],\n                concat: [3],\n                contains: [2, 3],\n                \"contains-token\": [2, 3],\n                \"copy-of\": [0, 1],\n                count: [1],\n                current: [0],\n                \"current-date\": [0],\n                \"current-dateTime\": [0],\n                \"current-group\": [0],\n                \"current-grouping-key\": [0],\n                \"current-merge-group\": [0, 1],\n                \"current-merge-key\": [0],\n                \"current-output-uri\": [0],\n                \"current-time\": [0],\n                data: [0, 1],\n                dateTime: [2],\n                \"day-from-date\": [1],\n                \"day-from-dateTime\": [1],\n                \"days-from-duration\": [1],\n                \"deep-equal\": [2, 3],\n                \"default-collation\": [0],\n                \"default-language\": [0],\n                \"distinct-values\": [1, 2],\n                doc: [1],\n                \"doc-available\": [1],\n                document: [1, 2],\n                \"document-uri\": [0, 1],\n                \"element-available\": [1],\n                \"element-with-id\": [1, 2],\n                empty: [1],\n                \"encode-for-uri\": [1],\n                \"ends-with\": [2, 3],\n                \"environment-variable\": [1],\n                error: [0, 1, 2, 3],\n                \"escape-html-uri\": [1],\n                \"exactly-one\": [1],\n                exists: [1],\n                \"false\": [0],\n                filter: [2],\n                floor: [1],\n                \"fold-left\": [3],\n                \"fold-right\": [3],\n                \"for-each\": [2],\n                \"for-each-pair\": [3],\n                \"format-date\": [2, 5],\n                \"format-dateTime\": [2, 5],\n                \"format-integer\": [2, 3],\n                \"format-number\": [2, 3],\n                \"format-time\": [2, 5],\n                \"function-arity\": [1],\n                \"function-available\": [1, 2],\n                \"function-lookup\": [2],\n                \"function-name\": [1],\n                \"generate-id\": [0, 1],\n                \"has-children\": [0, 1],\n                head: [1],\n                \"hours-from-dateTime\": [1],\n                \"hours-from-duration\": [1],\n                \"hours-from-time\": [1],\n                id: [1, 2],\n                idref: [1, 2],\n                \"implicit-timezone\": [0],\n                \"in-scope-prefixes\": [1],\n                \"index-of\": [2, 3],\n                innermost: [1],\n                \"insert-before\": [3],\n                \"iri-to-uri\": [1],\n                \"json-doc\": [1, 2],\n                \"json-to-xml\": [1, 2],\n                key: [2, 3],\n                lang: [1, 2],\n                last: [0],\n                \"load-xquery-module\": [1, 2],\n                \"local-name\": [0, 1],\n                \"local-name-from-QName\": [1],\n                \"lower-case\": [1],\n                matches: [2, 3],\n                max: [1, 2],\n                min: [1, 2],\n                \"minutes-from-dateTime\": [1],\n                \"minutes-from-duration\": [1],\n                \"minutes-from-time\": [1],\n                \"month-from-date\": [1],\n                \"month-from-dateTime\": [1],\n                \"months-from-duration\": [1],\n                name: [0, 1],\n                \"namespace-uri\": [0, 1],\n                \"namespace-uri-for-prefix\": [2],\n                \"namespace-uri-from-QName\": [1],\n                nilled: [0, 1],\n                \"node-name\": [0, 1],\n                \"normalize-space\": [0, 1],\n                \"normalize-unicode\": [1, 2],\n                not: [1],\n                number: [0, 1],\n                \"one-or-more\": [1],\n                outermost: [1],\n                \"parse-ietf-date\": [1],\n                \"parse-json\": [1, 2],\n                \"parse-xml\": [1],\n                \"parse-xml-fragment\": [1],\n                path: [0, 1],\n                position: [0],\n                \"prefix-from-QName\": [1],\n                put: [2],\n                \"random-number-generator\": [0, 1],\n                \"regex-group\": [1],\n                remove: [2],\n                replace: [3, 4],\n                \"resolve-QName\": [2],\n                \"resolve-uri\": [1, 2],\n                reverse: [1],\n                root: [0, 1],\n                round: [1, 2],\n                \"round-half-to-even\": [1, 2],\n                \"seconds-from-dateTime\": [1],\n                \"seconds-from-duration\": [1],\n                \"seconds-from-time\": [1],\n                serialize: [1, 2],\n                \"serialize-json\": [1, 2],\n                snapshot: [0, 1],\n                sort: [1, 3],\n                \"starts-with\": [2, 3],\n                \"static-base-uri\": [0],\n                \"stream-available\": [1],\n                string: [0, 1],\n                \"string-join\": [1, 2],\n                \"string-length\": [0, 1],\n                \"string-to-codepoints\": [1],\n                subsequence: [2, 3],\n                substring: [2, 3],\n                \"substring-after\": [2, 3],\n                \"substring-before\": [2, 3],\n                sum: [1, 2],\n                \"system-property\": [1],\n                tail: [1],\n                \"timezone-from-date\": [1],\n                \"timezone-from-dateTime\": [1],\n                \"timezone-from-time\": [1],\n                tokenize: [1, 2, 3],\n                trace: [1, 2],\n                transform: [1],\n                translate: [3],\n                \"true\": [0],\n                \"type-available\": [1],\n                unordered: [1],\n                \"unparsed-entity-public-id\": [1, 2],\n                \"unparsed-entity-uri\": [1, 2],\n                \"unparsed-text\": [1, 2],\n                \"unparsed-text-available\": [1, 2],\n                \"unparsed-text-lines\": [1, 2],\n                \"upper-case\": [1],\n                \"uri-collection\": [0, 1],\n                \"xml-to-json\": [1, 2],\n                \"year-from-date\": [1],\n                \"year-from-dateTime\": [1],\n                \"years-from-duration\": [1],\n                \"zero-or-one\": [1]\n            },\n            \"http://www.w3.org/2005/xpath-functions/array\": {\n                append: [2],\n                filter: [2],\n                flatten: [1],\n                \"fold-left\": [3],\n                \"fold-right\": [3],\n                \"for-each\": [2],\n                \"for-each-pair\": [3],\n                get: [2],\n                head: [1],\n                \"insert-before\": [3],\n                join: [1],\n                remove: [2],\n                reverse: [1],\n                size: [1],\n                sort: [1, 2],\n                subarray: [2, 3],\n                tail: [1]\n            },\n            \"http://www.w3.org/2005/xpath-functions/map\": {\n                contains: [2],\n                entry: [2],\n                \"for-each\": [2],\n                get: [2],\n                keys: [1],\n                merge: [1],\n                put: [3],\n                remove: [2],\n                size: [1]\n            },\n            \"http://www.w3.org/2005/xpath-functions/math\": {\n                acos: [1],\n                asin: [1],\n                atan: [1],\n                atan2: [2],\n                cos: [1],\n                exp: [1],\n                exp10: [1],\n                log: [1],\n                log10: [1],\n                pi: [0],\n                pow: [2],\n                sin: [1],\n                sqrt: [1],\n                tan: [1]\n            },\n            \"http://www.w3.org/2001/XMLSchema\": {\n                numeric: [1],\n                string: [1],\n                \"boolean\": [1],\n                duration: [1],\n                dateTime: [1],\n                date: [1],\n                time: [1],\n                gYearMonth: [1],\n                gMonth: [1],\n                gMonthDay: [1],\n                gYear: [1],\n                gDay: [1],\n                hexBinary: [1],\n                base64Binary: [1],\n                anyURI: [1],\n                QName: [1],\n                untypedAtomic: [1],\n                decimal: [1],\n                \"float\": [1],\n                \"double\": [1],\n                integer: [1],\n                nonPositiveInteger: [1],\n                negativeInteger: [1],\n                \"long\": [1],\n                \"int\": [1],\n                \"short\": [1],\n                \"byte\": [1],\n                nonNegativeInteger: [1],\n                positiveInteger: [1],\n                unsignedLong: [1],\n                unsignedInt: [1],\n                unsignedShort: [1],\n                unsignedByte: [1],\n                yearMonthDuration: [1],\n                dayTimeDuration: [1],\n                dateTimeStamp: [1],\n                normalizedString: [1],\n                token: [1],\n                language: [1],\n                Name: [1],\n                NMTOKEN: [1],\n                NCName: [1],\n                ID: [1],\n                IDREF: [1],\n                ENTITY: [1],\n                NMTOKENS: [1],\n                ENTITIES: [1],\n                IDREFS: [1],\n                error: [1]\n            },\n            \"http://saxonica.com/ns/interactiveXSLT\": {\n                apply: [2],\n                call: [3],\n                contains: [2],\n                eval: [1],\n                event: [0],\n                get: [2],\n                location: [0],\n                page: [0],\n                \"query-params\": [0],\n                source: [0],\n                style: [1],\n                window: [0]\n            }\n        },\n        elements: {\n            accept: {},\n            accumulator: {},\n            \"accumulator-rule\": {},\n            \"analyze-string\": {},\n            \"apply-imports\": {},\n            \"apply-templates\": {},\n            assert: {},\n            attribute: {},\n            \"attribute-set\": {},\n            \"break\": {},\n            \"call-template\": {},\n            \"catch\": {},\n            \"character-map\": {},\n            choose: {},\n            comment: {},\n            \"context-item\": {},\n            copy: {},\n            \"copy-of\": {},\n            \"decimal-format\": {},\n            document: {},\n            element: {},\n            evaluate: {},\n            expose: {},\n            fallback: {},\n            \"for-each\": {},\n            \"for-each-group\": {},\n            fork: {},\n            \"function\": {},\n            \"global-context-item\": {},\n            \"if\": {},\n            \"import\": {},\n            include: {},\n            iterate: {},\n            key: {},\n            map: {},\n            \"map-entry\": {},\n            \"matching-substring\": {},\n            merge: {},\n            \"merge-action\": {},\n            \"merge-key\": {},\n            \"merge-source\": {},\n            message: {},\n            mode: {},\n            namespace: {},\n            \"namespace-alias\": {},\n            \"next-iteration\": {},\n            \"next-match\": {},\n            \"non-matching-substring\": {},\n            number: {},\n            \"on-completion\": {},\n            \"on-empty\": {},\n            \"on-non-empty\": {},\n            otherwise: {},\n            output: {},\n            \"output-character\": {},\n            override: {},\n            \"package\": {},\n            param: {},\n            \"perform-sort\": {},\n            \"preserve-space\": {},\n            \"processing-instruction\": {},\n            \"result-document\": {},\n            sequence: {},\n            sort: {},\n            \"source-document\": {},\n            \"strip-space\": {},\n            stylesheet: {},\n            template: {},\n            text: {},\n            transform: {},\n            \"try\": {},\n            \"use-package\": {},\n            \"value-of\": {},\n            variable: {},\n            when: {},\n            \"where-populated\": {},\n            \"with-param\": {}\n        },\n        compiler: {}\n    };\n    // Input 2\n    var pa = function() {\n        var a;\n        return {\n            getPlatform: function() {\n                return a\n            },\n            setPlatform: function(c) {\n                a = c\n            },\n            hi: function(c, q, E, H, p) {\n                return a.addMultipleDocs(c, q, E, H, p)\n            },\n            createDocument: function() {\n                return a.createDocument()\n            },\n            oh: function() {\n                return a.getDefaultDeliverMessage()\n            },\n            jd: function() {\n                return a.inBrowser()\n            },\n            Zb: function(c) {\n                return a.isHTMLElement(c)\n            },\n            $k: function(c, q) {\n                return a.makeBuffer(c, q)\n            },\n            lj: function(c, q, E, H) {\n                return a.makeHttpRequest(c, q, E, H)\n            },\n            parseXmlFromString: function(c, q, E) {\n                return a.parseXmlFromString(c, q, E)\n            },\n            readFile: function(c, q) {\n                return a.readFile(c, q)\n            },\n            rf: function(c) {\n                return a.resource(c)\n            },\n            nl: function(c) {\n                return a.resourcePromise(c)\n            },\n            Fb: function(c, q) {\n                return a.resolveUri(c, q)\n            },\n            Ma: function(c) {\n                return a.saxonPrint(c)\n            },\n            newURL: function(c, q) {\n                return a.newURL(c, q)\n            },\n            fileURL: function(c) {\n                return a.fileURL(c)\n            },\n            baseURL: function() {\n                return a.baseURL()\n            },\n            tl: function() {\n                return {\n                    version: \"3.0\",\n                    vendor: \"Saxonica\",\n                    \"vendor-url\": \"http://www.saxonica.com/\",\n                    \"product-name\": \"SaxonJS\",\n                    \"product-version\": \"2.6\",\n                    \"is-schema-aware\": \"no\",\n                    \"supports-serialization\": \"yes\",\n                    \"supports-backwards-compatibility\": \"yes\",\n                    \"supports-namespace-axis\": \"yes\",\n                    \"supports-streaming\": \"no\",\n                    \"supports-dynamic-evaluation\": \"yes\",\n                    \"supports-higher-order-functions\": \"yes\",\n                    \"xpath-version\": \"3.1\",\n                    \"xsd-version\": \"1.1\"\n                }\n            },\n            Di: function() {\n                return a.extraProperties\n            },\n            Uh: function(c) {\n                return a.toUTF8(c)\n            },\n            Ok: function(c) {\n                return a.fromUTF8(c)\n            },\n            Si: function() {\n                return a.globalObject\n            }\n        }\n    }();\n    // Input 3\n    function ra(a, c) {\n        function q(E, H) {\n            for (; E; ) {\n                if (E[H])\n                    return E[H];\n                E = E.parentNode\n            }\n            return null\n        }\n        a.xsltLineNr = q(c, \"line\");\n        a.xsltModule = q(c, \"module\")\n    }\n    class F extends Error {\n        constructor(a=\"SaxonJS run-time error\", c=\"FORG0001\", q=null) {\n            super();\n            this.name = \"XError\";\n            this.message = a;\n            this.code = c;\n            q && ra(this, q)\n        }\n        toString() {\n            return this.name + \":\" + this.message + \"; code:\" + this.code\n        }\n        getStackTrace() {\n            return null.getStackTrace()\n        }\n        getMessage() {\n            let a = \"Error \" + this.code;\n            null != this.xsltLineNr && (a += \" at \" + this.xsltModule + \"#\" + this.xsltLineNr);\n            return a += \"\\n  \" + this.message\n        }\n        Id() {\n            return this.code\n        }\n    }\n    oa = F.prototype;\n    oa.code = null;\n    oa.errorObject = null;\n    oa.xsltLineNr = null;\n    oa.xsltModule = null;\n    oa.Le = !1;\n    // Input 4\n    const sa = function() {\n        function a(e) {\n            H(\"Internal error: \" + e + \"\\n\" + Error().stack);\n            throw new F(\"Internal error: \" + e,\"SXJS0004\");\n        }\n        function c(e) {\n            if (null === e)\n                return \"#null\";\n            if (\"undefined\" === typeof e)\n                return \"#undefined\";\n            let k;\n            if (e.showValue)\n                return e.showValue();\n            if (e.N)\n                return \"expression \" + e.N;\n            if (p && p.X(e)) {\n                if (p.re(e))\n                    return \"attribute @\" + e.name + \"='\" + e.value + \"'\";\n                if (p.Kd(e))\n                    return \"ns:\" + e.prefix + \"=\" + e.uri;\n                k = {\n                    1: \"element <\" + e.tagName + \">\",\n                    2: \"attribute @\" + e.name,\n                    3: \"text:\" + (e.nodeValue ? e.nodeValue.substring(0, 8) : \"''\"),\n                    7: \"pi: \" + e.target + \"(\" + e.tagName + \")\",\n                    8: \"comment (\" + e.nodeValue + \")\",\n                    9: \"document \" + (e._saxonDocumentNumber ? \"#\" + e._saxonDocumentNumber : \"(No nr / #0)\"),\n                    11: \"docFrag\"\n                }[e.nodeType];\n                if (\"9\" === e.nodeType || \"11\" === e.nodeType) {\n                    var v;\n                    for (v = 0; v < e.childNodes.length; v++)\n                        k += \"~>\" + c(e.childNodes[v])\n                }\n                return k\n            }\n            if (e.code)\n                return \"atomic:\" + e.code + \"('\" + e.toString() + \"')\";\n            if (\"object\" === typeof e && \"length\"in e) {\n                if (1 === e.length)\n                    return c(e[0]);\n                k = \"(\";\n                for (v = 0; v < e.length && 3 > v; v++)\n                    0 !== v && (k += \",\"),\n                    k += c(e[v]);\n                4 <= e.length && (k += \",...(\" + e.length + \")\");\n                return k + \")\"\n            }\n            return \"function\" === typeof e ? e.toString() : \"(\" + typeof e + \") \" + e\n        }\n        function q(e) {\n            return \"{'N':'\" + e.N + \"','C':[\" + (e.C || []).map(k=>q(k)).join(\",\") + \"]}\"\n        }\n        function E(e, k) {\n            for (; e; ) {\n                if (e[k])\n                    return e[k];\n                e = e.parentNode\n            }\n            return null\n        }\n        function H(e, k=1, v) {\n            let t = g;\n            v && (t = v);\n            k <= t && pa.getPlatform().saxonPrint(e)\n        }\n        let p, g = 1;\n        Error.stackTraceLimit = 100;\n        return {\n            assert: function(e, k=\"assertion failed\") {\n                e || a(k)\n            },\n            la: a,\n            location: function(e) {\n                return E(e, \"module\") + \"#\" + E(e, \"line\")\n            },\n            zj: function(e) {\n                p = e\n            },\n            Ma: H,\n            showValue: c,\n            Nh: function(e) {\n                return e.showValue ? e.showValue() : p && p.X(e) ? c(e) : e.code ? \"atomic:\" + e.code + \"('\" + e.toString() + \"')\" : e.Li ? e.toString() : \"(\" + typeof e + \") \" + e\n            },\n            Ij: function(e) {\n                if (!e)\n                    return \"null expr\";\n                let k = e.N || \"?\";\n                for (let v in e)\n                    e.hasOwnProperty(v) && ![\"C\", \"N\", \"parentNode\", \"ELAB\", \"PUSH\"].includes(v) && (k += \" \" + v + \"=\" + e[v]);\n                e.C && (k += \" (\" + e.C.map(v=>v.N).join(\",\") + \")\");\n                return k += \" at \" + this.location(e)\n            },\n            rl: q,\n            getLogLevel: function() {\n                return g\n            },\n            setLogLevel: function(e) {\n                \"number\" == typeof e && (g = e)\n            }\n        }\n    }();\n    // Input 5\n    var wa = function() {\n        function a() {\n            function g(e) {\n                if (!(this instanceof g))\n                    return void 0 === e ? a() : new g(e);\n                if (e instanceof g)\n                    this.ma = e.ma,\n                    this.e = e.e,\n                    this.c = e.c.slice();\n                else {\n                    var k, v, t;\n                    0 === e && 0 > 1 / e ? e = \"-0\" : p.test(e = \"\" + e) || E(NaN);\n                    this.ma = \"-\" == e.charAt(0) ? (e = e.slice(1),\n                    -1) : 1;\n                    -1 < (k = e.indexOf(\".\")) && (e = e.replace(\".\", \"\"));\n                    0 < (v = e.search(/e/i)) ? (0 > k && (k = v),\n                    k += +e.slice(v + 1),\n                    e = e.substring(0, v)) : 0 > k && (k = e.length);\n                    for (v = 0; \"0\" == e.charAt(v); v++)\n                        ;\n                    if (v == (t = e.length))\n                        this.c = [this.e = 0];\n                    else {\n                        for (; \"0\" == e.charAt(--t); )\n                            ;\n                        this.e = k - v - 1;\n                        this.c = [];\n                        for (k = 0; v <= t; this.c[k++] = +e.charAt(v++))\n                            ;\n                    }\n                }\n                this.constructor = g\n            }\n            g.prototype = H;\n            g.Zd = 20;\n            g.Ne = 1;\n            g.$d = -7;\n            g.Je = 21;\n            return g\n        }\n        function c(g, e, k) {\n            var v = g.constructor\n              , t = e - (g = new v(g)).e\n              , C = g.c;\n            C.length > ++e && q(g, t, v.Ne);\n            C[0] ? k ? t = e : (C = g.c,\n            t = g.e + t + 1) : ++t;\n            for (; C.length < t; C.push(0))\n                ;\n            t = g.e;\n            return 1 === k || k && (e <= t || t <= v.$d) ? (0 > g.ma && C[0] ? \"-\" : \"\") + (1 < C.length ? C[0] + \".\" + C.join(\"\").slice(1) : C[0]) + (0 > t ? \"e\" : \"e+\") + t : g.toString()\n        }\n        function q(g, e, k, v=!1) {\n            var t = g.c\n              , C = g.e + e + 1;\n            1 === k ? v = 5 <= t[C] : 2 === k ? v = 5 < t[C] || 5 == t[C] && (v || 0 > C || void 0 !== t[C + 1] || t[C - 1] & 1) : 3 === k ? v = v || void 0 !== t[C] || 0 > C : (v = !1,\n            0 !== k && E(\"!Big.RM!\"));\n            if (1 > C || !t[0])\n                v ? (g.e = -e,\n                g.c = [1]) : g.c = [g.e = 0];\n            else {\n                t.length = C--;\n                if (v)\n                    for (; 9 < ++t[C]; )\n                        t[C] = 0,\n                        C-- || (++g.e,\n                        t.unshift(1));\n                for (C = t.length; !t[--C]; t.pop())\n                    ;\n            }\n            return g\n        }\n        function E(g) {\n            g = Error(g);\n            g.name = \"BigError\";\n            throw g;\n        }\n        var H = {}\n          , p = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\n        H.abs = function() {\n            var g = new this.constructor(this);\n            g.ma = 1;\n            return g\n        }\n        ;\n        H.cmp = function(g) {\n            var e = this.c\n              , k = (g = new this.constructor(g)).c\n              , v = this.ma\n              , t = g.ma\n              , C = this.e\n              , m = g.e;\n            if (!e[0] || !k[0])\n                return e[0] ? v : k[0] ? -t : 0;\n            if (v != t)\n                return v;\n            g = 0 > v;\n            if (C != m)\n                return C > m ^ g ? 1 : -1;\n            v = -1;\n            for (t = (C = e.length) < (m = k.length) ? C : m; ++v < t; )\n                if (e[v] != k[v])\n                    return e[v] > k[v] ^ g ? 1 : -1;\n            return C == m ? 0 : C > m ^ g ? 1 : -1\n        }\n        ;\n        H.Vb = function(g, e, k) {\n            var v = this.constructor\n              , t = this.c\n              , C = (g = new v(g)).c\n              , m = this.ma === g.ma ? 1 : -1;\n            e = \"undefined\" !== typeof e ? e : v.Zd;\n            k = \"undefined\" !== typeof k ? k : v.Ne;\n            (e !== ~~e || 0 > e || 1E6 < e) && E(\"!Big.DP!\");\n            if (!t[0] || !C[0])\n                return t[0] == C[0] && E(NaN),\n                C[0] || E(m / 0),\n                new v(0 * m);\n            var f, A = C.slice(), O = v = C.length, b = t.length, d = t.slice(0, v), l = d.length, r = g, n = r.c = [], B = 0, W = e + (r.e = this.e - g.e) + 1;\n            r.ma = m;\n            m = 0 > W ? 0 : W;\n            for (A.unshift(0); l++ < v; d.push(0))\n                ;\n            do {\n                for (f = 0; 10 > f; f++) {\n                    if (v != (l = d.length))\n                        var ma = v > l ? 1 : -1;\n                    else {\n                        var qa = -1;\n                        for (ma = 0; ++qa < v; )\n                            if (C[qa] != d[qa]) {\n                                ma = C[qa] > d[qa] ? 1 : -1;\n                                break\n                            }\n                    }\n                    if (0 > ma) {\n                        for (g = l == v ? C : A; l; ) {\n                            if (d[--l] < g[l]) {\n                                for (qa = l; qa && !d[--qa]; d[qa] = 9)\n                                    ;\n                                --d[qa];\n                                d[l] += 10\n                            }\n                            d[l] -= g[l]\n                        }\n                        for (; !d[0]; d.shift())\n                            ;\n                    } else\n                        break\n                }\n                n[B++] = ma ? f : ++f;\n                d[0] && ma ? d[l] = t[O] || 0 : d = [t[O]]\n            } while ((O++ < b || void 0 !== d[0]) && m--);\n            n[0] || 1 == B || (n.shift(),\n            r.e--);\n            B > W && q(r, e, k, void 0 !== d[0]);\n            return r\n        }\n        ;\n        H.xi = function() {\n            var g = wa(0);\n            return !this.cmp(g)\n        }\n        ;\n        H.j = function(g) {\n            return 0 < this.cmp(g)\n        }\n        ;\n        H.B = function(g) {\n            return -1 < this.cmp(g)\n        }\n        ;\n        H.ij = function() {\n            var g = wa(2).pow(52);\n            return 0 > this.cmp(g)\n        }\n        ;\n        H.I = function(g) {\n            return 1 > this.cmp(g)\n        }\n        ;\n        H.sub = H.we = function(g) {\n            var e = this.constructor;\n            var k = this.ma\n              , v = (g = new e(g)).ma;\n            if (k != v)\n                return g.ma = -v,\n                this.Be(g);\n            var t = this.c.slice();\n            var C = this.e;\n            var m = g.c\n              , f = g.e;\n            if (!t[0] || !m[0])\n                return m[0] ? (g.ma = -v,\n                g) : new e(t[0] ? this : 0);\n            if (k = C - f) {\n                (e = 0 > k) ? (k = -k,\n                C = t) : (f = C,\n                C = m);\n                C.reverse();\n                for (v = k; v--; C.push(0))\n                    ;\n                C.reverse()\n            } else\n                for (C = ((e = t.length < m.length) ? t : m).length,\n                k = v = 0; v < C; v++)\n                    if (t[v] != m[v]) {\n                        e = t[v] < m[v];\n                        break\n                    }\n            e && (C = t,\n            t = m,\n            m = C,\n            g.ma = -g.ma);\n            if (0 < (v = (C = m.length) - (e = t.length)))\n                for (; v--; t[e++] = 0)\n                    ;\n            for (v = e; C > k; ) {\n                if (t[--C] < m[C]) {\n                    for (e = C; e && !t[--e]; t[e] = 9)\n                        ;\n                    --t[e];\n                    t[C] += 10\n                }\n                t[C] -= m[C]\n            }\n            for (; 0 === t[--v]; t.pop())\n                ;\n            for (; 0 === t[0]; )\n                t.shift(),\n                --f;\n            t[0] || (g.ma = 1,\n            t = [f = 0]);\n            g.c = t;\n            g.e = f;\n            return g\n        }\n        ;\n        H.mf = function(g) {\n            var e = this\n              , k = e.constructor\n              , v = e.ma\n              , t = (g = new k(g)).ma;\n            g.c[0] || E(NaN);\n            e.ma = g.ma = 1;\n            var C = 1 == g.cmp(e);\n            e.ma = v;\n            g.ma = t;\n            if (C)\n                return new k(e);\n            e = e.Vb(g, 0, 0);\n            return this.we(e.zc(g))\n        }\n        ;\n        H.add = H.Be = function(g) {\n            var e = this.constructor;\n            var k = this.ma\n              , v = (g = new e(g)).ma;\n            if (k != v)\n                return g.ma = -v,\n                this.we(g);\n            v = this.e;\n            var t = this.c\n              , C = g.e\n              , m = g.c;\n            if (!t[0] || !m[0])\n                return m[0] ? g : new e(t[0] ? this : 0 * k);\n            t = t.slice();\n            if (k = v - C) {\n                0 < k ? (C = v,\n                e = m) : (k = -k,\n                e = t);\n                for (e.reverse(); k--; e.push(0))\n                    ;\n                e.reverse()\n            }\n            0 > t.length - m.length && (e = m,\n            m = t,\n            t = e);\n            k = m.length;\n            for (v = 0; k; )\n                v = (t[--k] = t[k] + m[k] + v) / 10 | 0,\n                t[k] %= 10;\n            v && (t.unshift(v),\n            ++C);\n            for (k = t.length; 0 === t[--k]; t.pop())\n                ;\n            g.c = t;\n            g.e = C;\n            return g\n        }\n        ;\n        H.pow = function(g) {\n            var e = this\n              , k = new e.constructor(1)\n              , v = k\n              , t = 0 > g;\n            (g !== ~~g || -1E6 > g || 1E6 < g) && E(\"!pow!\");\n            for (g = t ? -g : g; ; ) {\n                g & 1 && (v = v.zc(e));\n                g >>= 1;\n                if (!g)\n                    break;\n                e = e.zc(e)\n            }\n            return t ? k.Vb(v) : v\n        }\n        ;\n        H.round = function(g, e) {\n            var k = this\n              , v = k.constructor;\n            null == g ? g = 0 : (g !== ~~g || 0 > g || 1E6 < g) && E(\"!round!\");\n            q(k = new v(k), g, null == e ? v.Ne : e);\n            return k\n        }\n        ;\n        H.sqrt = function() {\n            var g = this.constructor;\n            var e = this.c;\n            var k = this.ma;\n            var v = this.e;\n            var t = new g(\"0.5\");\n            if (!e[0])\n                return new g(this);\n            0 > k && E(NaN);\n            k = Math.sqrt(this.toString());\n            0 === k || k === 1 / 0 ? (k = e.join(\"\"),\n            k.length + v & 1 || (k += \"0\"),\n            e = new g(Math.sqrt(k).toString()),\n            e.e = ((v + 1) / 2 | 0) - (0 > v || v & 1)) : e = new g(k.toString());\n            k = e.e + (g.Zd += 4);\n            do\n                v = e,\n                e = t.zc(v.Be(this.Vb(v)));\n            while (v.c.slice(0, k).join(\"\") !== e.c.slice(0, k).join(\"\"));\n            q(e, g.Zd -= 4, g.Ne);\n            return e\n        }\n        ;\n        H.K = H.zc = function(g) {\n            var e = this.constructor;\n            var k = this.c\n              , v = (g = new e(g)).c\n              , t = k.length\n              , C = v.length\n              , m = this.e\n              , f = g.e;\n            g.ma = this.ma == g.ma ? 1 : -1;\n            if (!k[0] || !v[0])\n                return new e(0 * g.ma);\n            g.e = m + f;\n            t < C && (e = k,\n            k = v,\n            v = e,\n            f = t,\n            t = C,\n            C = f);\n            for (e = Array(f = t + C); f--; e[f] = 0)\n                ;\n            for (m = C; m--; ) {\n                C = 0;\n                for (f = t + m; f > m; )\n                    C = e[f] + v[m] * k[f - m - 1] + C,\n                    e[f--] = C % 10,\n                    C = C / 10 | 0;\n                e[f] = (e[f] + C) % 10\n            }\n            C && ++g.e;\n            e[0] || e.shift();\n            for (m = e.length; !e[--m]; e.pop())\n                ;\n            g.c = e;\n            return g\n        }\n        ;\n        H.toString = H.valueOf = H.toJSON = function() {\n            var g = this.constructor\n              , e = this.e\n              , k = this.c.join(\"\")\n              , v = k.length;\n            if (e <= g.$d || e >= g.Je)\n                k = k.charAt(0) + (1 < v ? \".\" + k.slice(1) : \"\") + (0 > e ? \"e\" : \"e+\") + e;\n            else if (0 > e) {\n                for (; ++e; k = \"0\" + k)\n                    ;\n                k = \"0.\" + k\n            } else if (0 < e)\n                if (++e > v)\n                    for (e -= v; e--; k += \"0\")\n                        ;\n                else\n                    e < v && (k = k.slice(0, e) + \".\" + k.slice(e));\n            else\n                1 < v && (k = k.charAt(0) + \".\" + k.slice(1));\n            return 0 > this.ma && this.c[0] ? \"-\" + k : k\n        }\n        ;\n        H.g = function(g) {\n            null == g ? g = this.c.length - 1 : (g !== ~~g || 0 > g || 1E6 < g) && E(\"!toExp!\");\n            return c(this, g, 1)\n        }\n        ;\n        H.toFixed = function(g) {\n            var e = this.constructor\n              , k = e.$d\n              , v = e.Je;\n            e.$d = -(e.Je = 1 / 0);\n            if (null == g)\n                var t = this.toString();\n            else\n                g === ~~g && 0 <= g && 1E6 >= g && (t = c(this, this.e + g),\n                0 > this.ma && this.c[0] && 0 > t.indexOf(\"-\") && (t = \"-\" + t));\n            e.$d = k;\n            e.Je = v;\n            t || E(\"!toFix!\");\n            return t\n        }\n        ;\n        H.toPrecision = function(g) {\n            if (null == g)\n                return this.toString();\n            (g !== ~~g || 1 > g || 1E6 < g) && E(\"!toPre!\");\n            return c(this, g - 1, 2)\n        }\n        ;\n        return a()\n    }();\n    // Input 6\n    function xa(a) {\n        return a.replace(/[ \\n\\r\\t]+/g, \" \").replace(/^[ ]|[ ]$/g, \"\")\n    }\n    function ya(a) {\n        if (32 > a && ![9, 10, 13].includes(a) || 55295 < a && 57344 > a || 65533 < a && 65536 > a || 1114111 < a)\n            throw new F(\"Invalid XML character 0x\" + a.toString(16),\"FOCH0001\");\n        return a\n    }\n    function za(a, c) {\n        if (Aa(a) || Aa(c)) {\n            a: {\n                a = Da(a.toString());\n                c = Da(c.toString());\n                let q = 0;\n                for (; ; ) {\n                    if (q === a.length) {\n                        a = q === c.length ? 0 : -1;\n                        break a\n                    }\n                    if (q === c.length) {\n                        a = 1;\n                        break a\n                    }\n                    if (a[q] !== c[q]) {\n                        a = a[q] - c[q];\n                        break a\n                    }\n                    q++\n                }\n            }\n            return 0 > a ? -1 : 0 === a ? 0 : 1\n        }\n        return a < c ? -1 : a === c ? 0 : 1\n    }\n    function Aa(a) {\n        return Array.from(a).some(c=>65535 < c.codePointAt(0))\n    }\n    function Da(a) {\n        return Array.from(a).map(c=>c.codePointAt(0))\n    }\n    function Ea(a) {\n        return String.fromCodePoint(...a.map(ya))\n    }\n    class Ga {\n    }\n    ;// Input 7\n    var Ha = function() {\n        function a() {\n            null === q && (q = pa.rf(\"regexCategories\"));\n            return q\n        }\n        function c(g, e, k=null, v=null) {\n            function t(z, D) {\n                function y(V) {\n                    for (V = V.toString(16); 4 > V.length; )\n                        V = \"0\" + V;\n                    return \"\\\\u\" + (E && 4 < V.length ? \"{\" + V + \"}\" : V)\n                }\n                function I(V, la, x) {\n                    if (x) {\n                        x = V;\n                        V = [];\n                        0 !== x[0][0] && V.push([0, x[0][0] - 1]);\n                        for (var K = 1; K < x.length; K++) {\n                            const U = x[K - 1][1] + 1\n                              , ha = x[K][0] - 1;\n                            ha >= U && V.push([U, ha])\n                        }\n                        x = x[x.length - 1][1];\n                        (E || 65535 > x) && V.push([x + 1, E ? 1114111 : 65535])\n                    }\n                    x = \"\";\n                    for (K = 0; K < V.length; K++)\n                        if (E || 65536 > V[K][1])\n                            x += y(V[K][0]),\n                            V[K][1] > V[K][0] && (x += \"-\" + y(V[K][1]));\n                    V = x;\n                    la || (V = \"[\" + V + \"]\");\n                    return V\n                }\n                function R(V) {\n                    return V.sort(function(la, x) {\n                        return la[0] - x[0]\n                    })\n                }\n                function M(V, la, x, K) {\n                    var U = [];\n                    Array.isArray(V) || m(\"Ranges must be array\");\n                    V.forEach(function(ha) {\n                        U.push([parseInt(ha[0], 16), parseInt(ha[1], 16)])\n                    });\n                    x && K && R(U);\n                    return I(U, la, x)\n                }\n                var ca = z.charAt(D + 1);\n                0 > \"nrt\\\\|.-^?*+{}()[]pPsSiIcCdDwW$\".indexOf(ca) && (0 !== n || !/[0-9]/.test(ca)) && m(\"\\\\\" + ca + \" is not allowed in XPath regular expressions\");\n                switch (ca) {\n                case \"p\":\n                case \"P\":\n                    var ea = z.indexOf(\"}\", D);\n                    z = z.substring(D + 3, ea);\n                    C(\"x\") && (z = z.replace(/[ \\n\\r\\t]+/g, \"\"));\n                    var ja = a();\n                    (D = ja[z]) || m(\"Unknown category \" + z);\n                    if (1 === z.length) {\n                        var Y = [];\n                        D.split(\"|\").forEach(function(x) {\n                            Y = Y.concat(ja[x])\n                        })\n                    } else\n                        Y = D;\n                    A += M(Y, 0 < n, \"P\" === ca, 1 === z.length);\n                    D = ea;\n                    break;\n                case \"d\":\n                    A += M(a().Nd, 0 < n, !1, !1);\n                    D++;\n                    break;\n                case \"i\":\n                    A += I(O, 0 < n, !1);\n                    D++;\n                    break;\n                case \"c\":\n                    A += I(b, 0 < n, !1);\n                    D++;\n                    break;\n                case \"I\":\n                    A += I(O, 0 < n, !0);\n                    D++;\n                    break;\n                case \"C\":\n                    A += I(b, 0 < n, !0);\n                    D++;\n                    break;\n                case \"w\":\n                case \"W\":\n                    const V = a();\n                    let la = [];\n                    V.w.split(\"|\").forEach(function(x) {\n                        la = la.concat(V[x])\n                    });\n                    A += M(la, 0 < n, \"W\" === ca, !0);\n                    D++;\n                    break;\n                case \"-\":\n                    0 < n && (A += \"\\\\\");\n                    A += ca;\n                    D++;\n                    break;\n                default:\n                    /[0-9]/.test(ca) ? 0 < n ? m(\"Numeric escape within charclass\") : (l[parseInt(ca, 10)] || m(\"No capturing expression #\" + ca),\n                    A += \"\\\\\" + ca,\n                    9 >= r && /[0-9]/.test(z.charAt(D + 2)) && (A += \"(?:)\"),\n                    D++) : (A += \"\\\\\" + ca,\n                    D++)\n                }\n                return {\n                    vj: A,\n                    i: D\n                }\n            }\n            function C(z) {\n                return 0 <= e.indexOf(z)\n            }\n            function m(z) {\n                throw new F(\"Invalid XPath regular expression: \" + z,\"FORX0002\");\n            }\n            let f = 0;\n            e = e ? e.toString() : \"\";\n            if (!E && k && Aa(k))\n                throw new F(\"Cannot handle non-BMP characters with regular expressions in this browser\",\"SXJS0002\");\n            k = (C(\"i\") ? \"i\" : \"\") + (C(\"m\") ? \"m\" : \"\") + (C(\"g\") ? \"g\" : \"\") + (E ? \"u\" : \"\");\n            if (C(\"j\"))\n                return new RegExp(g,e.replace(\"j\", \"\"));\n            if (C(\"q\"))\n                return new RegExp(g.replace(/[\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\^$|]/g, \"\\\\$&\"),k);\n            let A = \"\";\n            const O = [[58, 58], [65, 90], [95, 95], [97, 122], [192, 214], [216, 246], [248, 767], [880, 893], [895, 8191], [8204, 8205], [8304, 8591], [11264, 12271], [12289, 55295], [63744, 64975], [65008, 65533], [65536, 983039]]\n              , b = [[45, 46], [48, 58], [65, 90], [95, 95], [97, 122], [183, 183], [192, 214], [216, 246], [248, 893], [895, 8191], [8204, 8205], [8255, 8256], [8304, 8591], [11264, 12271], [12289, 55295], [63744, 64975], [65008, 65533], [65536, 983039]]\n              , d = []\n              , l = [];\n            let r = 1\n              , n = 0\n              , B = !1;\n            var W = !1;\n            for (var ma = 0; ma < g.length; ma++) {\n                const z = g.charAt(ma);\n                switch (z) {\n                case \"[\":\n                    0 < n && m(\"Nested square brackets\");\n                    var qa = !1\n                      , L = !1;\n                    for (var aa = ma + 2; aa < g.length - 3; aa++) {\n                        if (!qa && \"-[\" === g.substring(aa, aa + 2)) {\n                            qa = g.substring(ma + 1, aa);\n                            let D;\n                            for (L = aa + 2; L < g.length; L++)\n                                if (\"]\" === g.charAt(L) && \"\\\\\" !== g.charAt(L - 1)) {\n                                    D = g.substring(aa + 2, L + 1);\n                                    break\n                                }\n                            \"^\" === qa && m(\"Invalid subtraction\");\n                            g = g.substring(0, ma) + \"(?![\" + D + \")[\" + qa + \"]\" + g.substring(L + 2);\n                            ma--;\n                            L = !0;\n                            break\n                        } else if (!qa && \"]\" === g.charAt(aa))\n                            break;\n                        qa = \"\\\\\" === g.charAt(aa) && !qa\n                    }\n                    if (L) {\n                        B = !0;\n                        break\n                    }\n                    \"]\" === g.charAt(ma + 1) ? m(\"Character group is empty\") : \"[^]\" === g.substring(ma, ma + 3) && m(\"Invalid character group [^]\");\n                    n++;\n                    A += z;\n                    break;\n                case \"]\":\n                    0 === n && m(\"Unmatched ']'\");\n                    n--;\n                    A += z;\n                    W = !0;\n                    break;\n                case \"(\":\n                    0 === n && (aa = !0,\n                    ma + 2 < g.length && \"?\" === g.charAt(ma + 1) && (\":\" === g.charAt(ma + 2) || B && \"!\" === g.charAt(ma + 2) ? aa = !1 : m(\"'(?' must be followed by ':'\")),\n                    d.push(aa ? r++ : -1),\n                    W = !1,\n                    aa && f++);\n                    A += z;\n                    break;\n                case \")\":\n                    0 === n && (0 === d.length && m(\"Unmatched ')'\"),\n                    W = d.pop(),\n                    0 < W && (l[W] = !0));\n                    A += z;\n                    W = !0;\n                    break;\n                case \".\":\n                    A = 0 === n && C(\"s\") ? A + \"[^]\" : A + z;\n                    break;\n                case \"{\":\n                    0 === n && (W || m(\"'{' not allowed here\"),\n                    W = g.indexOf(\"}\", ma + 1),\n                    (0 > W || !/^[0-9]+(,[0-9]*)?$/.test(g.substring(ma + 1, W))) && m(\"Invalid quantifier {\" + g.substring(ma + 1, W + 1)),\n                    W = !1);\n                    A += z;\n                    break;\n                case \" \":\n                case \"\\n\":\n                case \"\\r\":\n                case \"\\t\":\n                    if (!C(\"x\") || 0 < n)\n                        A += z;\n                    break;\n                case \"\\\\\":\n                    if (C(\"q\"))\n                        A += \"\\\\\\\\\";\n                    else if (ma + 1 < g.length)\n                        C(\"x\") && /\\s/.test(g.charAt(ma + 1)) && ma++,\n                        ma = t(g, ma),\n                        A = ma.vj,\n                        ma = ma.i;\n                    else\n                        throw new F(\"No character for escape code in XPath regex\",\"FORX0002\");\n                    W = !0;\n                    break;\n                default:\n                    W = !0,\n                    A += z\n                }\n            }\n            0 < n && m(\"Unmatched '['\");\n            0 !== d.length && m(\"Unmatched '(\");\n            v && v(f);\n            try {\n                return new RegExp(A,k)\n            } catch (z) {\n                if (/^[imsxjqg]*$/.test(e))\n                    throw new F(\"Invalid regular expression /\" + g + \"/: \" + z.message.substring(/Invalid |Range out/.test(z.message) ? z.message.lastIndexOf(\":\") : 0),\"FORX0002\");\n                throw new F(\"Invalid regex flags: \" + e,\"FORX0001\");\n            }\n        }\n        let q = null\n          , E = !1;\n        try {\n            E = 1 === \"\\ud83d\\ude80\".match(new RegExp(/./,\"gu\")).length\n        } catch (g) {\n            E = !1\n        }\n        let H = null\n          , p = null;\n        return {\n            Kf: function() {\n                H = c(\"^\\\\i\\\\c*$\", \"\");\n                p = c(\"^\\\\c+$\", \"\")\n            },\n            tj: a,\n            Ce: c,\n            si: function(g, e, k) {\n                e = e.toString();\n                if (/j/.test(e))\n                    return g;\n                if (/q/.test(e))\n                    return g.replace(/\\$/g, \"$$$$\");\n                if (/(^|[^\\\\])\\$([^0-9]|$)/.test(g) || /(^|[^\\\\])\\\\([^\\\\$]|$)/.test(g))\n                    throw new F(\"Invalid replacement string: \" + g,\"FORX0004\");\n                var v = e = !1, t = \"\", C;\n                for (C = 0; C < g.length; C++) {\n                    var m = g.charAt(C);\n                    switch (m) {\n                    case \"\\\\\":\n                        e && (t += m);\n                        e = !e;\n                        break;\n                    case \"$\":\n                        e ? (t += \"$$\",\n                        e = !e) : v = !0;\n                        break;\n                    case \"0\":\n                        v ? (t += \"$&\",\n                        v = !1) : t += m;\n                        break;\n                    case \"1\":\n                    case \"2\":\n                    case \"3\":\n                    case \"4\":\n                    case \"5\":\n                    case \"6\":\n                    case \"7\":\n                    case \"8\":\n                    case \"9\":\n                        v ? parseInt(m, 10) <= k && (t += \"$\" + m,\n                        v = !1) : t += m;\n                        break;\n                    default:\n                        t += m\n                    }\n                }\n                return t\n            },\n            Lb: function(g) {\n                return H.test(g) && !/:/.test(g)\n            },\n            dj: function(g) {\n                return H.test(g)\n            },\n            cj: function(g) {\n                return p.test(g)\n            },\n            uh: function(g) {\n                return H.test(g) && /^[^:]+(:[^:]+)?$/.test(g)\n            },\n            trim: function(g) {\n                return g.replace(/^[ \\t\\r\\n]+|[ \\t\\r\\n]+$/g, \"\")\n            },\n            collapse: function(g) {\n                return this.trim(g).replace(/^[ \\t\\r\\n]+/g, \" \")\n            },\n            xg: function(g) {\n                var e = g.indexOf(\";\");\n                if (0 <= e) {\n                    let k = g.substring(0, e);\n                    e = g.substring(e + 1);\n                    if (!k.match(/^[smixq]*$/))\n                        throw new F(\"Illegal flags for regular expression: \" + g,\"FORX0001\");\n                    if (!e.match(/^[j]*$/))\n                        throw new F(\"Illegal extension flags for regular expression: \" + g,\"FORX0001\");\n                    return k + e\n                }\n                if (!g.match(/^[smijxq]*$/))\n                    throw new F(\"Illegal flags for regular expression: \" + g,\"FORX0001\");\n                return g\n            }\n        }\n    }();\n    // Input 8\n    function Ia(a) {\n        return /^A[SUZ]/.test(a.code)\n    }\n    class Ja {\n        constructor(a) {\n            sa.assert(this.g().test(a));\n            this.code = a\n        }\n        g() {\n            return /.*/\n        }\n        toString() {\n            return \"\"\n        }\n        compareTo() {\n            return null\n        }\n        equals() {\n            return !0\n        }\n        hashCode() {\n            return \"\"\n        }\n        matchKey() {\n            return this.code + \"_\" + this.toString()\n        }\n        isNumeric() {\n            return /^A[DFO]/.test(this.code)\n        }\n        showValue() {\n            return La.pd(this.code) + \"('\" + this.toString() + \"')\"\n        }\n    }\n    class Ma extends Ja {\n        isNumeric() {\n            return !0\n        }\n        toDouble() {\n            return new Oa(this.toNumber())\n        }\n        toNumber() {\n            return NaN\n        }\n        toBig() {\n            return this.toDouble().toBig()\n        }\n    }\n    class Ra extends Ja {\n        constructor(a, c=\"AS\") {\n            super(c);\n            this.value = a || \"\";\n            \"string\" !== typeof a && sa.la(\"bad input to string constructor \" + sa.showValue(a));\n            this.j = 0\n        }\n        g() {\n            return /^A(S|Z$|U$)/\n        }\n        toString() {\n            return this.value\n        }\n        compareTo(a) {\n            return a instanceof Ra ? za(this.value, a.value) : Sa(this.code, a.code)\n        }\n        equals(a) {\n            return 0 === this.compareTo(a)\n        }\n        hashCode() {\n            if (6 >= this.value.length)\n                return this.value;\n            let a = this.j;\n            const c = this.value.length;\n            if (0 === a && 0 < c) {\n                for (let q = 0; q < c; q++)\n                    a = 31 * a + this.value.charCodeAt(q++);\n                this.j = a &= 16777215\n            }\n            return Ta(a)\n        }\n        matchKey() {\n            return \"s\" + this.toString()\n        }\n    }\n    function Va(a) {\n        return a.reduce((c,q)=>c + q.toString(16).padStart(2, \"0\"), \"\").toUpperCase()\n    }\n    class Ya extends Ja {\n        constructor(a, c=\"AX\") {\n            super(c);\n            if (!(a instanceof Uint8Array))\n                throw new F(\"Uint8Array expected\");\n            this.value = a\n        }\n        g() {\n            return /^A[X2]$/\n        }\n        toString() {\n            if (\"AX\" === this.code)\n                var a = Va(this.value);\n            else {\n                {\n                    a = this.value;\n                    var c = 0;\n                    let g = 0\n                      , e = [];\n                    if (0 === a.length)\n                        a = \"\";\n                    else {\n                        do {\n                            var q = a[c++];\n                            var E = a[c++];\n                            var H = a[c++];\n                            var p = q << 16 | E << 8 | H;\n                            q = p >> 18 & 63;\n                            E = p >> 12 & 63;\n                            H = p >> 6 & 63;\n                            p &= 63;\n                            e[g++] = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".charAt(q) + \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".charAt(E) + \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".charAt(H) + \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".charAt(p)\n                        } while (c < a.length);\n                        c = e.join(\"\");\n                        a = a.length % 3;\n                        a = (a ? c.slice(0, a - 3) : c) + \"===\".slice(a || 3)\n                    }\n                }\n            }\n            return a\n        }\n        compareTo(a) {\n            return a instanceof Ya && this.code === a.code ? za(Va(this.value), Va(a.value)) : Sa(this.code, a.code)\n        }\n        equals(a) {\n            if (a instanceof Ya && this.code === a.code) {\n                const c = a.value;\n                return this.value.length === c.length && this.value.every((q,E)=>q === c[E])\n            }\n            return Sa(this.code, a.code)\n        }\n        hashCode() {\n            return (new Ra(Va(this.value.slice(0, 8)))).hashCode()\n        }\n        matchKey() {\n            return (\"AX\" === this.code ? \"h\" : \"i\") + this.toString()\n        }\n    }\n    class Oa extends Ma {\n        constructor(a, c=\"AO\") {\n            super(c);\n            this.value = a;\n            \"number\" !== typeof a && sa.la(\"type of value supplied to XdmDouble is not number: \" + typeof a)\n        }\n        g() {\n            return /^A[OF]$/\n        }\n        toString() {\n            if (0 === this.value)\n                return 0 > 1 / this.value ? \"-0\" : \"0\";\n            if (this.value === Number.POSITIVE_INFINITY)\n                return \"INF\";\n            if (this.value === Number.NEGATIVE_INFINITY)\n                return \"-INF\";\n            var a = this.value\n              , c = Math.abs(a);\n            if (1E6 <= c || 1E-6 > c) {\n                c = a.toExponential();\n                const q = c.indexOf(\"e\");\n                a = c.substring(0, q);\n                c = c.substring(q + 1);\n                \"AF\" === this.code && (a = parseFloat(a),\n                a = (0 > a ? a - 5E-8 : a + 5E-8).toString(),\n                a = a.substring(0, a.indexOf(\".\") + 8),\n                a = a.replace(/\\.?0+$/, \"\"));\n                a.includes(\".\") || (a += \".0\");\n                return a + \"E\" + c.replace(\"+\", \"\")\n            }\n            return \"AF\" === this.code && 0 !== a % 1 ? (c = (0 > a ? a - 5E-8 : a + 5E-8).toString(),\n            c = c.substring(0, c.indexOf(\".\") + 6),\n            c.replace(/0+$/, \"\")) : a.toString()\n        }\n        equals(a) {\n            return 0 === this.compareTo(a)\n        }\n        compareTo(a) {\n            return a.isNumeric() ? (a = a.toNumber(),\n            \"AF\" === this.code && Math.fround && (a = Math.fround(a)),\n            this.value < a ? -1 : this.value === a ? 0 : 1) : Sa(this.code, a.code)\n        }\n        qg(a) {\n            return a instanceof Oa || a instanceof Za ? this.value === a.value || isNaN(this.value) && isNaN(a.value) : a instanceof $a ? La.XS.mb.R(this).equals(a) : !1\n        }\n        hashCode() {\n            return isNaN(this.value) ? \"NaN\" : isFinite(this.value) ? Ta(this.value) : 0 > this.value ? \"-INF\" : \"INF\"\n        }\n        matchKey() {\n            return \"n\" + this.hashCode()\n        }\n        toNumber() {\n            return this.value\n        }\n        toDouble() {\n            return this\n        }\n        abs() {\n            return new Oa(Math.abs(this.value),this.code)\n        }\n        nf() {\n            return new Oa(-this.value,this.code)\n        }\n        Rf() {\n            return new Oa(Math.ceil(this.value),this.code)\n        }\n        floor() {\n            return new Oa(Math.floor(this.value),this.code)\n        }\n        round(a) {\n            0 === a ? a = Math.round(this.value) : (a = Math.pow(10, -a),\n            a *= Math.round(this.value / a));\n            return new Oa(a,this.code)\n        }\n        sf(a) {\n            return isFinite(this.value) ? (a = (new $a(wa(this.value))).sf(a),\n            0 === a.toNumber() && 0 > this.value && (a = La.XS.double.fromString(\"-0\")),\n            La.codes[this.code].R(a)) : this\n        }\n    }\n    class Za extends Ma {\n        constructor(a) {\n            super(\"ADI\");\n            \"number\" !== typeof a && sa.la(\"type of value supplied to XdmInteger is not number: \" + typeof a);\n            this.value = a\n        }\n        g() {\n            return /^ADI/\n        }\n        toString() {\n            return this.value.toString()\n        }\n        equals(a) {\n            return 0 === this.compareTo(a)\n        }\n        compareTo(a) {\n            return a.isNumeric() ? this.value - a.toNumber() : Sa(this.code, a.code)\n        }\n        hashCode() {\n            return Ta(this.value)\n        }\n        qg(a) {\n            return a instanceof Oa || a instanceof Za ? this.value === a.value : a instanceof $a ? La.XS.mb.R(this).equals(a) : !1\n        }\n        matchKey() {\n            return \"n\" + this.hashCode()\n        }\n        toDouble() {\n            return new Oa(this.value)\n        }\n        toNumber() {\n            return this.value\n        }\n        toBig() {\n            return new wa(this.value)\n        }\n        abs() {\n            return new Za(Math.abs(this.value))\n        }\n        nf() {\n            return new Za(-this.value)\n        }\n        Rf() {\n            return this\n        }\n        floor() {\n            return this\n        }\n        round(a) {\n            return 0 > a ? (a = Math.pow(10, -a),\n            new Za(Math.round(this.value / a) * a)) : this\n        }\n        sf(a) {\n            return 0 > a ? (a = Math.pow(10, -a),\n            new Za(parseInt(wa(this.value).Vb(a, 100, 2).round(0, 2).zc(a), 10))) : this\n        }\n    }\n    class $a extends Ma {\n        constructor(a, c=\"AD\") {\n            super(c);\n            this.value = new wa(a)\n        }\n        g() {\n            return /^AD/\n        }\n        toString() {\n            return this.value.toFixed()\n        }\n        equals(a) {\n            return 0 === this.compareTo(a)\n        }\n        compareTo(a) {\n            return a instanceof $a ? this.value.cmp(a.value) : /^AD/.test(a.code) ? this.value.cmp(a.toBig()) : a.isNumeric() ? this.value.cmp(new wa(a.toDouble())) : Sa(this.code, a.code)\n        }\n        hashCode() {\n            const a = this.value;\n            return a.mf(wa(1)).xi() && a.abs().ij() ? this.toNumber().toString(36) : this.toString().substring(0, 8)\n        }\n        qg(a) {\n            return a instanceof Oa || a instanceof Za ? 0 === this.compareTo(La.XS.mb.R(a)) : a instanceof $a ? 0 === this.compareTo(a) : !1\n        }\n        matchKey() {\n            return \"n\" + this.hashCode()\n        }\n        toBig() {\n            return this.value\n        }\n        toDouble() {\n            return new Oa(parseFloat(this.value.toFixed()))\n        }\n        toNumber() {\n            return parseFloat(this.value.toFixed())\n        }\n        abs() {\n            return new $a(this.value.abs(),this.code)\n        }\n        nf() {\n            var a = wa(this.value);\n            a.ma = -a.ma;\n            return new $a(a,\"AD\" === this.code ? \"AD\" : \"ADI\")\n        }\n        Rf() {\n            return new $a(this.value.round(0, 0 > this.value.ma ? 0 : 3),this.code)\n        }\n        floor() {\n            return new $a(this.value.round(0, 0 > this.value.ma ? 3 : 0),this.code)\n        }\n        round(a) {\n            function c(p, g) {\n                p = new wa(p);\n                p.e += g;\n                return p\n            }\n            let q = this.value\n              , E = 0;\n            0 > a && (E = a,\n            a = 0,\n            q = c(q, E));\n            const H = 0 < q.ma ? wa(0) : this.floor().abs();\n            q = q.Be(H).round(a, 1).we(H);\n            0 !== E && (q = c(q, -E));\n            return new $a(q,\"AD\" === this.code ? \"AD\" : \"ADI\")\n        }\n        sf(a) {\n            0 > a ? (a = wa(10).pow(-a),\n            a = this.value.Vb(a, 100, 2).round(0, 2).zc(a)) : a = this.value.round(a, 2);\n            return new $a(a,\"AD\" === this.code ? \"AD\" : \"ADI\")\n        }\n    }\n    class ab extends Ja {\n        constructor(a) {\n            super(\"AB\");\n            \"boolean\" !== typeof a && sa.la(\"type of value supplied to XdmBoolean is not boolean: \" + typeof a);\n            this.value = a\n        }\n        g() {\n            return /^AB$/\n        }\n        toString() {\n            return this.value.toString()\n        }\n        toBoolean() {\n            return this.value\n        }\n        compareTo(a) {\n            return a instanceof ab ? (this.value ? 1 : 0) - (a.value ? 1 : 0) : Sa(this.code, a.code)\n        }\n        equals(a) {\n            return 0 === this.compareTo(a)\n        }\n        hashCode() {\n            return this.value.toString()\n        }\n        matchKey() {\n            return \"b\" + this.toString()\n        }\n    }\n    class bb extends Ja {\n        constructor(a, c, q) {\n            super(\"AQ\");\n            this.prefix = a = a ? a : \"\";\n            this.uri = c ? c : \"\";\n            this.local = q;\n            if (\"\" !== a && !Ha.Lb(a))\n                throw new F(\"Invalid prefix: '\" + a + \"'\",\"FORG0001\");\n            if (!Ha.Lb(q))\n                throw new F(\"Invalid local name: '\" + q + \"' (prefix='\" + a + \"', uri='\" + c + \"')\",\"FORG0001\");\n        }\n        g() {\n            return /^AQ$/\n        }\n        toEQName() {\n            return \"Q{\" + this.uri + \"}\" + this.local\n        }\n        toString() {\n            return (0 < this.prefix.length ? this.prefix + \":\" : \"\") + this.local\n        }\n        equals(a) {\n            a instanceof bb || Sa(this.code, a.code);\n            return a instanceof bb && this.local === a.local && this.uri === a.uri\n        }\n        compareTo() {\n            throw new F(\"QNames are not ordered\",\"FORG0006\");\n        }\n        hashCode() {\n            return this.uri.substring(this.uri.length - 3) + \":\" + (new Ra(this.local)).hashCode()\n        }\n        matchKey() {\n            return \"q\" + this.toEQName()\n        }\n        getURI() {\n            return this.uri\n        }\n        hasURI(a) {\n            return this.uri === a\n        }\n        withPrefix(a) {\n            return new bb(a,this.uri,this.local)\n        }\n    }\n    function cb(a, c) {\n        c = c.substr(0, c.length - 1);\n        if (0 === a.Na.getUTCMilliseconds())\n            c = c.replace(\".000\", \"\");\n        else\n            for (; \"0\" === c.charAt(c.length - 1); )\n                c = c.substr(0, c.length - 1);\n        c = c.replace(/^-0?0?/, \"-\");\n        return c = c.replace(/^\\+0?0?/, \"\")\n    }\n    function db(a) {\n        if (a = a.Fa) {\n            const c = Math.abs(a);\n            return (0 > a ? \"-\" : \"+\") + (100 + Math.floor(c / 60)).toString().substring(1) + \":\" + (100 + c % 60).toString().substring(1)\n        }\n        return 0 === a ? \"Z\" : \"\"\n    }\n    function eb(a, c) {\n        if (c instanceof fb && (c.code.startsWith(a.code) || a.code.startsWith(c.code)))\n            return +a.Na.getTime() - c.Na.getTime();\n        Sa(a.code, c.code)\n    }\n    function gb(a, c) {\n        return La.XS.dateTime.fromDate(new Date(a.Na.getTime() + 6E4 * c), a.Fa)\n    }\n    function hb(a, c) {\n        let q = a.toString()\n          , E = parseInt(q.substring(5, 7), 10)\n          , H = parseInt(q.substring(8, 10), 10)\n          , p = parseInt(q.substring(0, 4), 10) + Math.floor((E + c - 1) / 12)\n          , g = 0 > p;\n        c = (E + c - 1) % 12 + 1;\n        for (0 >= c && (c += 12); !La.gj([p, c, H, 0, 0, 0]); )\n            --H;\n        return La.codes[a.code].fromString((g ? \"-\" + (1E4 + -p).toString().substring(1) : (1E4 + p).toString().substring(1)) + \"-\" + (100 + c).toString().substring(1) + \"-\" + (100 + H).toString().substring(1) + q.substring(10))\n    }\n    class fb extends Ja {\n        constructor(a, c, q=\"AM\") {\n            super(q);\n            this.Na = a;\n            this.Fa = c;\n            a instanceof Date || sa.la(\"type of UTCdate supplied to XdmDateTime is not Date\");\n            c && \"number\" !== typeof c && sa.la(\"type of value for timezone offset supplied to XdmDateTime is not number: \" + typeof c)\n        }\n        g() {\n            return /^A([AGHIJKMT]|MP)$/\n        }\n        proxy() {\n            var a = new Date;\n            return new Date(this.Na.getTime() + 6E4 * (this.Fa || 0 === this.Fa ? this.Fa : -a.getTimezoneOffset()))\n        }\n        toString() {\n            const a = cb(this, this.proxy().toISOString())\n              , c = \"-\" === a.charAt(0) ? 1 : 0;\n            return function(q) {\n                switch (q) {\n                case \"AM\":\n                case \"AMP\":\n                    return a;\n                case \"AA\":\n                    return a.substring(0, 10 + c);\n                case \"AT\":\n                    return a.substring(11 + c);\n                case \"AH\":\n                    return a.substring(0, 7 + c);\n                case \"AG\":\n                    return a.substring(0, 4 + c);\n                case \"AJ\":\n                    return \"-\" + a.substring(4 + c, 10 + c);\n                case \"AI\":\n                    return \"-\" + a.substring(4 + c, 7 + c);\n                case \"AK\":\n                    return \"--\" + a.substring(7 + c, 10 + c);\n                default:\n                    throw \"type not recognised \" + q;\n                }\n            }(this.code) + db(this)\n        }\n        compareTo(a) {\n            (/^A[GHIJK]/.test(this.code) || /^A[GHIJK]/.test(a.code)) && Sa(this.code, a.code);\n            return eb(this, a)\n        }\n        equals(a) {\n            return 0 === eb(this, a)\n        }\n        hashCode() {\n            return Ta(this.Na.getTime() - 1454346732296)\n        }\n        matchKey() {\n            return \"t\" + this.hashCode()\n        }\n    }\n    function jb(a) {\n        function c(E, H) {\n            H.forEach(function(p) {\n                1E3 !== p ? (q.push(Math.floor(E / p)),\n                E %= p) : q.push(E / p)\n            })\n        }\n        let q = [];\n        c(Math.abs(a.Ua), [12, 1]);\n        c(Math.abs(a.Qa), [864E5, 36E5, 6E4, 1E3]);\n        return q\n    }\n    function kb(a) {\n        a = a.Ua + a.Qa;\n        return 0 > a ? -1 : 0 < a ? 1 : 0\n    }\n    class lb extends Ja {\n        constructor(a, c, q=\"AR\") {\n            super(q);\n            this.Ua = a;\n            this.Qa = c;\n            \"number\" === typeof a && \"number\" === typeof c || sa.la(\"type of value supplied to XdmDuration is not number: \" + typeof a + \", \" + typeof c);\n            if (0 < a && 0 > c || 0 > a && 0 < c)\n                throw new F(\"Months/seconds must both be negative or both positive\",\"FORG0001\");\n        }\n        g() {\n            return /^AR[DY]?$/\n        }\n        toString() {\n            let a, c = kb(this);\n            0 === c ? a = \"ARY\" === this.code ? \"P0M\" : \"PT0S\" : (a = 0 > c ? \"-P\" : \"P\",\n            jb(this).forEach(function(q, E) {\n                3 === E && (a += \"T\");\n                0 !== q && (6 === E ? a += q / 1E3 + \"S\" : a += q + \"YMDHMS\".split(\"\")[E])\n            }),\n            a = a.replace(/T$/, \"\"));\n            return a\n        }\n        compareTo(a) {\n            if (a instanceof lb) {\n                if (La.XS.yearMonthDuration.matches(this) && La.XS.yearMonthDuration.matches(a))\n                    return this.Ua - a.Ua;\n                if (La.XS.dayTimeDuration.matches(this) && La.XS.dayTimeDuration.matches(a))\n                    return this.Qa - a.Qa;\n                throw new F(\"Cannot compare durations that mix months and seconds\",\"XPTY0004\");\n            }\n            return Sa(this.code, a.code)\n        }\n        equals(a) {\n            a instanceof lb || Sa(this.code, a.code);\n            return a instanceof lb && this.Ua === a.Ua && this.Qa === a.Qa\n        }\n        hashCode() {\n            return this.Ua.toString() + \":\" + this.Qa.toString()\n        }\n        matchKey() {\n            return \"d\" + this.hashCode()\n        }\n    }\n    function Ta(a) {\n        return Number.isInteger(a) && Math.abs(a) < Math.pow(2, 52) ? a.toString(36) : La.XS.mb.fromNumber(a).toString().substring(0, 8)\n    }\n    function Sa(a, c) {\n        throw new F(`Cannot compare ${La.pd(a)} with ${La.pd(c)}`,\"XPTY0004\");\n    }\n    ;// Input 9\n    var La = function() {\n        function a() {\n            function w(va, h, G, Q) {\n                const u = la[G]\n                  , N = V[va] = la[h] = {\n                    name: va,\n                    code: h,\n                    lb: u,\n                    matches: P=>P instanceof Ja && P.code.startsWith(h),\n                    pc: function(P) {\n                        Q(P) || g(P.toString(), h);\n                        P.code = h;\n                        return P\n                    },\n                    fromString: function(P) {\n                        return N.pc(u.fromString(P))\n                    },\n                    R: function(P) {\n                        return N.pc(u.R(P))\n                    }\n                }\n            }\n            function Z(va, h, G) {\n                const Q = h.replace(/.$/, \"\");\n                w(va, h, Q, G);\n                const u = V[va]\n                  , N = la[Q];\n                u.fromString = function(P) {\n                    /INF|NaN/.test(P) && g(P, h, null, \"FOCA0002\");\n                    return u.pc(N.fromString(P))\n                }\n                ;\n                u.fromNumber = function(P) {\n                    P = N.fromNumber(P);\n                    const ia = P.toNumber();\n                    isFinite(ia) || g(P.toString(), h, null, \"FOCA0002\");\n                    G(P) || g(P.toString(), h);\n                    P.code = h;\n                    return P\n                }\n            }\n            function S(va, h, G, Q) {\n                const u = h.replace(/.$/, \"\");\n                w(va, h, u, G);\n                const N = la[h]\n                  , P = la[u];\n                N.pc = function(ia) {\n                    ia = Q(ia.toString());\n                    G(ia) || g(ia, h);\n                    return new Ra(ia,h)\n                }\n                ;\n                N.fromString = function(ia) {\n                    return N.pc(P.fromString(Q(ia)))\n                }\n            }\n            function da(va, h, G) {\n                w(va, h, \"AR\", G);\n                const Q = V[va];\n                Q.pc = function(u) {\n                    if (u instanceof lb)\n                        return new lb(\"ARY\" === h ? u.Ua : 0,\"ARD\" === h ? u.Qa : 0,h);\n                    G(u) || g(u.toString(), h);\n                    u.code = h;\n                    return u\n                }\n                ;\n                Q.Wb = function(u, N) {\n                    return Q.pc(ea.Wb(u, N))\n                }\n                ;\n                Q.R = function(u) {\n                    return ea.matches(u) ? Q.pc(u) : T.string.matches(u) || T.untypedAtomic.matches(u) ? b(u.toString(), h) : Q.pc(ea.R(u))\n                }\n            }\n            function fa(va, h) {\n                return function(G) {\n                    G = G.toNumber();\n                    return G >= va && G <= h\n                }\n            }\n            for (var na in V) {\n                const va = V[na];\n                la[va.code] = va\n            }\n            t(\"gYear\", \"AG\");\n            t(\"gYearMonth\", \"AH\");\n            t(\"gMonth\", \"AI\");\n            t(\"gMonthDay\", \"AJ\");\n            t(\"gDay\", \"AK\");\n            Z(\"nonPositiveInteger\", \"ADIN\", va=>0 >= va.toNumber());\n            Z(\"negativeInteger\", \"ADINN\", va=>0 > va.toNumber());\n            Z(\"long\", \"ADIL\", function(va) {\n                va = va.toBig();\n                return 0 <= va.cmp(wa(\"-9223372036854775808\")) && 0 >= va.cmp(wa(\"9223372036854775807\"))\n            });\n            Z(\"int\", \"ADILI\", fa(-2147483648, 2147483647));\n            Z(\"short\", \"ADILIS\", fa(-32768, 32767));\n            Z(\"byte\", \"ADILISB\", fa(-128, 127));\n            Z(\"nonNegativeInteger\", \"ADIP\", va=>0 <= va.toNumber());\n            Z(\"positiveInteger\", \"ADIPP\", va=>0 < va.toNumber());\n            Z(\"unsignedLong\", \"ADIPL\", function(va) {\n                return 0 <= va.toNumber() && 0 >= va.toBig().cmp(wa(\"18446744073709551615\"))\n            });\n            Z(\"unsignedInt\", \"ADIPLI\", function(va) {\n                return 0 <= va.toNumber() && 0 >= va.toBig().cmp(wa(\"4294967295\"))\n            });\n            Z(\"unsignedShort\", \"ADIPLIS\", fa(0, 65535));\n            Z(\"unsignedByte\", \"ADIPLISB\", fa(0, 255));\n            na = ()=>!0;\n            S(\"normalizedString\", \"ASN\", na, va=>va.replace(/[ \\r\\t\\n]/g, \" \"));\n            S(\"token\", \"ASNT\", na, xa);\n            S(\"language\", \"ASNTL\", va=>/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(va), xa);\n            S(\"NMTOKEN\", \"ASNTK\", Ha.cj, xa);\n            S(\"Name\", \"ASNTN\", Ha.dj, xa);\n            S(\"NCName\", \"ASNTNC\", Ha.Lb, xa);\n            S(\"ID\", \"ASNTNCI\", Ha.Lb, xa);\n            S(\"IDREF\", \"ASNTNCR\", Ha.Lb, xa);\n            S(\"ENTITY\", \"ASNTNCE\", Ha.Lb, xa);\n            da(\"yearMonthDuration\", \"ARY\", va=>0 === va.Qa);\n            da(\"dayTimeDuration\", \"ARD\", va=>0 === va.Ua);\n            V.dayTimeDuration.hh = function(va) {\n                return new lb(0,6E4 * va,\"ARD\")\n            }\n            ;\n            T.language = V.language;\n            T.Ag = V.NCName;\n            T.dayTimeDuration = V.dayTimeDuration;\n            T.yearMonthDuration = V.yearMonthDuration;\n            T.nh = V.gYearMonth;\n            T.mh = V.gYear;\n            T.lh = V.gMonthDay;\n            T.kh = V.gMonth;\n            T.jh = V.gDay;\n            a = function() {}\n        }\n        function c(w, Z) {\n            return Z ? -w : w\n        }\n        function q(w, Z) {\n            return Z * (void 0 === w ? 0 : Math.round(1E3 * parseFloat(w)))\n        }\n        function E(w, Z) {\n            return Z * (void 0 === w ? 0 : parseInt(w, 10))\n        }\n        function H(w) {\n            return w.lb && ![\"ADI\", \"ARY\", \"ARD\"].includes(w.code) ? H(w.lb) : w\n        }\n        function p(w, Z) {\n            throw new F(`Casting from ${d(w.code)} to ${d(Z)} is not allowed`,\"XPTY0004\");\n        }\n        function g(w, Z, S=null, da=\"FORG0001\") {\n            throw new F(`Supplied value \"${w}\" is not a valid ${d(Z)}${S ? ` (${S})` : \"\"}`,da);\n        }\n        function e(w, Z) {\n            w = Ha.trim(w);\n            /.\\.$/.test(w) && (w += \"0\");\n            if (/^[-+]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([Ee][-+]?[0-9]+)?$/.test(w))\n                return parseFloat(w);\n            if (/^NaN$/.test(w))\n                return NaN;\n            if (/^-INF$/.test(w))\n                return -Infinity;\n            if (/^(\\+)?INF$/.test(w))\n                return Infinity;\n            Z && g(w, \"AO\");\n            return NaN\n        }\n        function k(w) {\n            w = w.replace(/\\s/g, \"\");\n            /^(....)*$/.test(w) || g(w, \"A2\", \"length must be a multiple of 4\");\n            /^[A-Za-z0-9+/]*=?=?$/.test(w) || g(w, \"A2\", \"only [A-Za-z0-9+/] allowed, or '=' at the end\");\n            /^([^=]*|.*[AQgw]==|.*[AEIMQUYcgkosw048]=)$/.test(w) || g(w, \"A2\", \"invalid characters before '='\");\n            let Z, S, da = 0, fa = [];\n            if (0 === w.length)\n                return new Uint8Array(0);\n            do {\n                var na = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(w.charAt(da++));\n                var va = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(w.charAt(da++));\n                Z = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(w.charAt(da++));\n                S = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(w.charAt(da++));\n                var h = na << 18 | va << 12 | Z << 6 | S;\n                na = h >> 16 & 255;\n                va = h >> 8 & 255;\n                h &= 255;\n                64 === Z ? fa.push(na) : 64 === S ? fa.push(na, va) : fa.push(na, va, h)\n            } while (da < w.length);\n            return new Uint8Array(fa)\n        }\n        function v(w) {\n            w = Ha.trim(w);\n            /^([a-fA-F0-9][a-fA-F0-9])*$/.test(w) || g(w, \"AX\");\n            return (w = w.match(/../g)) ? new Uint8Array(w.map(Z=>parseInt(Z, 16))) : new Uint8Array(0)\n        }\n        function t(w, Z) {\n            V[w] = la[Z] = {\n                name: w,\n                code: Z,\n                matches: S=>S instanceof fb && S.code.startsWith(Z),\n                fromString: S=>A(S, Z),\n                fromDate: (S,da)=>new fb(S,da,Z),\n                R: S=>{\n                    if (S instanceof fb && S.code.startsWith(Z))\n                        return S;\n                    if (T.dateTime.matches(S) || T.cd.matches(S)) {\n                        const da = la[Z];\n                        return da.fromString(da.fromDate(S.Na, S.Fa).toString())\n                    }\n                    if (/^A[SZ]/.test(S.code))\n                        return A(S.value, Z);\n                    p(S, Z)\n                }\n            }\n        }\n        function C(w) {\n            if (-1 !== w.indexOf(\".\", w.length - 4)) {\n                w = w.split(\".\");\n                let Z = w[1];\n                for (; 3 > Z.length; )\n                    Z += \"0\";\n                w = w[0] + \".\" + Z\n            }\n            return w\n        }\n        function m(w) {\n            const Z = w[0]\n              , S = w[1]\n              , da = w[2]\n              , fa = w[3]\n              , na = w[4];\n            w = w[5];\n            return !(1 > S || 12 < S || 1 > da || da > [31, 0 !== Z % 4 || 0 === Z % 100 && 0 !== Z % 400 ? 28 : 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][S - 1] || 24 <= fa || 60 <= na || 60 <= w)\n        }\n        function f(w, Z) {\n            w = w.split(/[\\-T:]/).map(function(da) {\n                return parseFloat(da)\n            });\n            const S = w[0];\n            if (-9999 > S || 9999 < S)\n                throw new F(\"Year \" + S + \" is out of range\",\"FODT0001\");\n            m(w) || g(Z, \"AM\")\n        }\n        function A(w, Z) {\n            const S = w.match(x[Z]);\n            null === S && g(w, Z);\n            const da = S[2] ? S[2] : \"\";\n            var fa = K[Z](S[1]) + da;\n            /24:00:00(\\.0+)?([Z+\\-]|$)/.test(fa) && (fa = \"AT\" === Z ? fa.substring(0, 10) + \"T00:00:00\" : gb(A(fa.substring(0, 10), \"AA\"), 1440) + \"T00:00:00\");\n            var na = \"-\" === fa.charAt(0);\n            f(na ? fa.substring(1, 20) : fa.substring(0, 19), w);\n            w = (na ? fa.substr(1) : fa).split(/[\\-T:]/).map(function(va) {\n                return parseFloat(va)\n            });\n            fa = w[5];\n            na = na ? -w[0] : w[0];\n            fa = new Date(Date.UTC(na, w[1] - 1, w[2], w[3], w[4], fa, Math.round(1E3 * (fa - Math.floor(fa)))));\n            100 > w[0] && fa.setUTCFullYear(na);\n            fa = \"\" === da ? new Date(fa.getTime() + 6E4 * (new Date).getTimezoneOffset()) : new Date(fa.getTime() - 6E4 * O(da));\n            return new fb(fa,O(S[2] ? S[2] : \"\"),Z)\n        }\n        function O(w) {\n            if (\"\" === w)\n                return null;\n            if (\"Z\" === w)\n                return 0;\n            var Z = w.split(\":\");\n            const S = /^-.*/.test(Z[0])\n              , da = Math.abs(parseInt(Z[0], 10));\n            Z = parseInt(Z[1], 10);\n            if (14 < da || 59 < Z)\n                throw new F(\"Invalid timezone \" + w,\"FORG0001\");\n            return (S ? -1 : 1) * (60 * da + Z)\n        }\n        function b(w, Z) {\n            const S = w.match(x[Z]);\n            null !== S && /\\d/.test(w) && !/T$/.test(w) || g(w, Z);\n            return new lb(U[ha[Z][0]](S, w),U[ha[Z][1]](S, w),Z)\n        }\n        function d(w) {\n            const Z = la[w];\n            return Z ? \"xs:\" + Z.name : w\n        }\n        const l = {\n            name: \"anyAtomicType\",\n            code: \"A\",\n            matches: function(w) {\n                return w instanceof Ja\n            }\n        }\n          , r = {\n            name: \"untypedAtomic\",\n            code: \"AZ\",\n            fromString: function(w) {\n                return new Ra(w,\"AZ\")\n            },\n            matches: function(w) {\n                return \"AZ\" === w.code\n            },\n            R: function(w) {\n                return new Ra(w.toString(),\"AZ\")\n            }\n        }\n          , n = {\n            name: \"string\",\n            code: \"AS\",\n            fromString: function(w) {\n                return new Ra(w,\"AS\")\n            },\n            matches: function(w) {\n                return /^AS/.test(w.code)\n            },\n            R: function(w) {\n                return new Ra(w.toString(),\"AS\")\n            }\n        }\n          , B = {\n            name: \"anyURI\",\n            code: \"AU\",\n            fromString: function(w) {\n                w = w.replace(/[ \\r\\t\\n]+/g, \" \").replace(/^[ ]|[ ]$/g, \"\");\n                return new Ra(w,\"AU\")\n            },\n            matches: function(w) {\n                return \"AU\" === w.code\n            },\n            R: function(w) {\n                if (w instanceof Ra)\n                    return T.anyURI.fromString(w.toString());\n                p(w, \"AU\")\n            }\n        }\n          , W = {\n            name: \"double\",\n            code: \"AO\",\n            fromString: function(w) {\n                return new Oa(e(w, !0))\n            },\n            cf: function(w) {\n                return new Oa(e(w, !1))\n            },\n            fromNumber: function(w) {\n                return new Oa(w)\n            },\n            matches: function(w) {\n                return \"AO\" === w.code\n            },\n            R: function(w) {\n                if (null === w || \"undefined\" == typeof w)\n                    return T.double.fromNumber(NaN);\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    return T.double.fromString(w.toString());\n                if (w.isNumeric())\n                    return T.double.fromNumber(w.toNumber());\n                if (T.boolean.matches(w))\n                    return T.double.fromNumber(w.toBoolean() ? 1 : 0);\n                p(w, \"AO\")\n            },\n            NaN: null\n        };\n        W.NaN = W.fromNumber(NaN);\n        const ma = {\n            name: \"decimal\",\n            code: \"AD\",\n            fromString: function(w) {\n                w = Ha.trim(w).replace(/^\\+/, \"\");\n                if (/^[-+]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)$/.test(w))\n                    return new $a(new wa(w));\n                g(w, \"AD\")\n            },\n            nb: function(w) {\n                return new $a(w)\n            },\n            fromNumber: function(w) {\n                isFinite(w) || g(w, \"AD\", null, \"FOCA0002\");\n                return new $a(new wa(w))\n            },\n            matches: function(w) {\n                return w instanceof $a || w instanceof Za\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AD\":\n                    return new $a(w.value,\"AD\");\n                case \"AS\":\n                case \"AZ\":\n                    return T.mb.fromString(w.toString());\n                case \"AO\":\n                case \"AF\":\n                    return T.mb.fromNumber(w.toNumber());\n                case \"AB\":\n                    return T.mb.fromString(w.toBoolean() ? \"1\" : \"0\");\n                default:\n                    p(w, \"AD\")\n                }\n            }\n        }\n          , qa = {\n            name: \"float\",\n            code: \"AF\",\n            fromString: function(w) {\n                return T.float.fromNumber(e(w, !0))\n            },\n            fromNumber: function(w) {\n                Math.fround && (w = Math.fround(w));\n                return new Oa(w,\"AF\")\n            },\n            matches: function(w) {\n                return \"AF\" === w.code\n            },\n            R: function(w) {\n                return T.float.fromNumber(T.double.R(w).toNumber())\n            }\n        }\n          , L = {\n            name: \"boolean\",\n            code: \"AB\",\n            Xc: new ab(!0),\n            ae: new ab(!1),\n            fromString: function(w) {\n                switch (Ha.trim(w)) {\n                case \"true\":\n                case \"1\":\n                    return this.Xc;\n                case \"false\":\n                case \"0\":\n                    return this.ae;\n                default:\n                    g(w, \"AB\")\n                }\n            },\n            fromBoolean: function(w) {\n                return w ? this.Xc : this.ae\n            },\n            matches: function(w) {\n                return w instanceof ab\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AS\":\n                case \"AZ\":\n                    return T.boolean.fromString(w.toString());\n                case \"AD\":\n                case \"AF\":\n                case \"AO\":\n                    return w = w.toNumber(),\n                    T.boolean.fromBoolean(0 !== w && !isNaN(w));\n                case \"AB\":\n                    return w;\n                default:\n                    p(w, \"AB\")\n                }\n            }\n        }\n          , aa = {\n            name: \"integer\",\n            code: \"ADI\",\n            lb: \"decimal\",\n            matches: function(w) {\n                return /^ADI/.test(w.code)\n            },\n            fromString: function(w) {\n                if (/^\\s*[-+]?[0-9]+\\s*$/.test(w))\n                    return 9 < w.length ? new $a(w,\"ADI\") : new Za(parseInt(w, 10));\n                g(w, \"ADI\")\n            },\n            fromNumber: function(w) {\n                isFinite(w) || g(w, \"ADI\", null, \"FOCA0002\");\n                w = Math.trunc(w);\n                return Math.abs(w) > Number.MAX_SAFE_INTEGER ? new $a(new wa(w),\"ADI\") : new Za(w)\n            },\n            nb: function(w) {\n                return new $a(w,\"ADI\")\n            },\n            valid: function(w) {\n                return 0 === w.value.mf(1)\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AS\":\n                case \"AZ\":\n                    return T.integer.fromString(w.toString());\n                case \"AF\":\n                case \"AO\":\n                    return T.integer.fromNumber(w.toNumber());\n                case \"AD\":\n                    return T.integer.nb(w.toBig().round(0, 0));\n                case \"AB\":\n                    return T.integer.fromNumber(w.toBoolean() ? 1 : 0);\n                default:\n                    p(w, \"AB\")\n                }\n            },\n            Kk: function(w) {\n                return \"number\" === typeof w ? T.integer.fromNumber(w) : \"boolean\" === typeof w ? T.integer.fromNumber(w ? 1 : 0) : \"string\" === typeof w ? T.integer.fromString(w) : T.integer.fromString(w.toString())\n            }\n        }\n          , z = {\n            name: \"numeric\",\n            code: \"Anumeric\",\n            cl: [\"double\", \"decimal\", \"float\"],\n            matches: function(w) {\n                return w instanceof Oa || w instanceof Za || w instanceof $a\n            },\n            R: function(w) {\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    return T.double.fromString(w.toString());\n                if (T.numeric.matches(w))\n                    return w;\n                if (T.boolean.matches(w))\n                    return T.double.fromNumber(w.toBoolean() ? 1 : 0);\n                p(w, \"Anumeric\")\n            },\n            xe: function(w) {\n                const Z = T.double;\n                if (null === w)\n                    return Z.fromNumber(Number.NaN);\n                if (T.boolean.matches(w))\n                    return Z.fromNumber(w.toBoolean() ? 1 : 0);\n                if (T.numeric.matches(w))\n                    return Z.R(w);\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    try {\n                        return Z.fromString(w.toString())\n                    } catch (S) {\n                        return Z.fromNumber(Number.NaN)\n                    }\n                else\n                    return Z.fromNumber(Number.NaN)\n            }\n        }\n          , D = {\n            name: \"QName\",\n            code: \"AQ\",\n            matches: function(w) {\n                return w instanceof bb\n            },\n            fromParts: function(w, Z, S) {\n                return new bb(w,Z,S)\n            },\n            fromString: function(w, Z) {\n                w = Ha.trim(w);\n                if (\"Q{\" === w.substring(0, 2))\n                    return T.QName.fromEQName(w);\n                Ha.uh(w) || g(w, \"AQ\");\n                w = w.split(\":\");\n                if (1 === w.length)\n                    return T.QName.fromParts(\"\", Z(\"\"), w[0]);\n                Z = Z(w[0]);\n                if (null === Z)\n                    throw new F(\"Undeclared prefix: \" + w[0],\"FONS0004\");\n                return T.QName.fromParts(w[0], Z, w[1])\n            },\n            fromEQName: function(w) {\n                var Z = w.indexOf(\"{\");\n                const S = w.indexOf(\"}\");\n                if (!(-1 === Z && -1 === S || -1 < Z && -1 < S))\n                    throw new F(\"Invalid EQName: \" + w,\"FORG0001\");\n                Z = xa(w.substring(Z + 1, S));\n                if (\"http://www.w3.org/2000/xmlns/\" === Z)\n                    throw new F(\"Use of reserved namespace: \" + Z,\"XQST0070\");\n                if (/{/.test(Z))\n                    throw new F(\"Invalid URI: \" + Z,\"FORG0001\");\n                return T.QName.fromParts(\"\", Z, w.substring(S + 1))\n            },\n            R: function(w, Z) {\n                if (T.string.matches(w) || T.untypedAtomic.matches(w)) {\n                    if (Z)\n                        return T.QName.fromString(w.toString(), Z);\n                    throw new F(\"Casting to QName requires a namespace resolver\",\"XPTY0117\");\n                }\n                if (T.QName.matches(w))\n                    return w;\n                p(w, \"AQ\")\n            }\n        }\n          , y = {\n            name: \"notation\",\n            code: \"AN\",\n            fromString: function(w) {\n                return this.R(w)\n            },\n            matches: function() {\n                return !1\n            },\n            R: function() {\n                throw new F(\"Casting to xs:NOTATION is not possible\",\"XPST0080\");\n            }\n        }\n          , I = {\n            name: \"dateTime\",\n            code: \"AM\",\n            matches: function(w) {\n                return /^AM/.test(w.code)\n            },\n            fromString: function(w) {\n                return A(w, \"AM\")\n            },\n            fromDate: function(w, Z=null) {\n                return new fb(w,Z,\"AM\")\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AM\":\n                    return w;\n                case \"AA\":\n                    return T.dateTime.fromDate(w.Na, w.Fa);\n                case \"AS\":\n                case \"AZ\":\n                    return T.dateTime.fromString(w.toString());\n                default:\n                    p(w, \"AM\")\n                }\n            }\n        }\n          , R = {\n            name: \"date\",\n            code: \"AA\",\n            matches: function(w) {\n                return \"AA\" === w.code\n            },\n            fromString: function(w) {\n                return A(w, \"AA\")\n            },\n            fromDate: function(w, Z) {\n                w = (new fb(w,Z,\"AA\")).toString();\n                const S = \"-\" === w.charAt(0) ? 11 : 10;\n                w = T.dateTime.fromString(w.substring(0, S) + \"T00:00:00\" + w.substring(S));\n                return new fb(w.Na,Z,\"AA\")\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AM\":\n                    return T.cd.fromDate(w.Na, w.Fa);\n                case \"AA\":\n                    return w;\n                case \"AS\":\n                case \"AZ\":\n                    return T.cd.fromString(w.toString());\n                default:\n                    p(w, \"AA\")\n                }\n            }\n        }\n          , M = {\n            name: \"time\",\n            code: \"AT\",\n            matches: function(w) {\n                return \"AT\" === w.code\n            },\n            fromString: function(w) {\n                return A(w, \"AT\")\n            },\n            fromDate: function(w, Z) {\n                w = new fb(w,Z,\"AT\");\n                w = T.dateTime.fromString(\"1972-01-01T\" + w.toString());\n                return new fb(w.Na,Z,\"AT\")\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AM\":\n                    return T.time.fromDate(w.Na, w.Fa);\n                case \"AT\":\n                    return w;\n                case \"AS\":\n                case \"AZ\":\n                    return T.time.fromString(w.toString());\n                default:\n                    p(w, \"AT\")\n                }\n            }\n        }\n          , ca = {\n            name: \"dateTimeStamp\",\n            code: \"AMP\",\n            matches: function(w) {\n                return \"AMP\" === w.code\n            },\n            fromString: function(w) {\n                return A(w, \"AMP\")\n            },\n            fromDate: function(w, Z) {\n                return new fb(w,Z,\"AMP\")\n            },\n            R: function(w) {\n                switch (w.code.substring(0, 2)) {\n                case \"AM\":\n                    return \"AMP\" === w.code ? w : T.Ed.fromDate(w.Na, w.Fa);\n                case \"AA\":\n                    return T.Ed.fromDate(w.Na, w.Fa);\n                case \"AS\":\n                case \"AZ\":\n                    return T.Ed.fromString(w.toString());\n                default:\n                    p(w, \"AM\")\n                }\n            }\n        }\n          , ea = {\n            name: \"duration\",\n            code: \"AR\",\n            matches: function(w) {\n                return /^AR/.test(w.code)\n            },\n            fromString: function(w) {\n                return b(w, \"AR\")\n            },\n            Wb: function(w, Z) {\n                return new lb(w,Z,\"AR\")\n            },\n            R: function(w) {\n                if (T.duration.matches(w))\n                    return w;\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    return T.duration.fromString(w.toString());\n                p(w, \"AR\")\n            }\n        }\n          , ja = {\n            name: \"hexBinary\",\n            code: \"AX\",\n            matches: function(w) {\n                return \"AX\" === w.code\n            },\n            fromString: function(w) {\n                return new Ya(v(w),\"AX\")\n            },\n            fromUint8Array: function(w) {\n                return new Ya(w,\"AX\")\n            },\n            fromUtf8EncodedString: function(w) {\n                return new Ya(pa.Uh(w),\"AX\")\n            },\n            R: function(w) {\n                if (w instanceof Ya)\n                    return new Ya(w.value,\"AX\");\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    return new Ya(v(w.toString()),\"AX\");\n                p(w, \"AX\")\n            }\n        }\n          , Y = {\n            name: \"base64Binary\",\n            code: \"A2\",\n            matches: function(w) {\n                return \"A2\" === w.code\n            },\n            fromString: function(w) {\n                return new Ya(k(w),\"A2\")\n            },\n            fromUint8Array: function(w) {\n                return new Ya(w,\"A2\")\n            },\n            R: function(w) {\n                if (w instanceof Ya)\n                    return new Ya(w.value,\"A2\");\n                if (T.string.matches(w) || T.untypedAtomic.matches(w))\n                    return new Ya(k(w.toString()),\"A2\");\n                p(w, \"A2\")\n            },\n            fromUtf8EncodedString: function(w) {\n                return new Ya(pa.Uh(w),\"A2\")\n            }\n        }\n          , V = {\n            anyAtomicType: l,\n            untypedAtomic: r,\n            string: n,\n            anyURI: B,\n            \"double\": W,\n            decimal: ma,\n            \"float\": qa,\n            \"boolean\": L,\n            integer: aa,\n            NOTATION: y,\n            numeric: z,\n            QName: D,\n            dateTime: I,\n            date: R,\n            time: M,\n            dateTimeStamp: ca,\n            duration: ea,\n            hexBinary: ja,\n            base64Binary: Y\n        }\n          , la = {}\n          , x = {\n            AM: /^\\s*(-?(?:[1-9][0-9]{4,}|[0-9]{4})-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?)(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AA: /^\\s*(-?(?:[1-9][0-9]{4,}|[0-9]{4})-[0-9]{2}-[0-9]{2})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AT: /^\\s*([0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?)(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AMP: /^\\s*(-?[0-9]+-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?)(Z|([+\\-])[0-9]{2}:[0-9]{2})\\s*$/,\n            AH: /^\\s*(-?(?:[1-9][0-9]{4,}|[0-9]{4})-[0-9]{2})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AG: /^\\s*(-?[1-9][0-9]{4,}|-?[0-9]{4})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AJ: /^\\s*--([0-9]{2}-[0-9]{2})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AI: /^\\s*--([0-9]{2})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AK: /^\\s*---([0-9]{2})(Z|([+\\-])[0-9]{2}:[0-9]{2})?\\s*$/,\n            AR: /^\\s*-?P(?:([0-9]+)Y)?(?:([0-9]+)M)?(?:([0-9]+)D)?(?:T(?:([0-9]+)H)?(?:([0-9]+)M)?(?:([0-9]+(?:\\.[0-9]*)?)S)?)?\\s*$/,\n            ARD: /^\\s*-?P(?:([0-9]+)D)?(?:T(?:([0-9]+)H)?(?:([0-9]+)M)?(?:([0-9]+(?:\\.[0-9]*)?)S)?)?\\s*$/,\n            ARY: /^\\s*-?P(?:([0-9]+)Y)?(?:([0-9]+)M)?\\s*$/\n        }\n          , K = {\n            AM: function(w) {\n                return C(w)\n            },\n            AA: function(w) {\n                return w + \"T00:00:00\"\n            },\n            AT: function(w) {\n                return \"1972-01-01T\" + C(w)\n            },\n            AMP: function(w) {\n                return C(w)\n            },\n            AH: function(w) {\n                return w + \"-01T00:00:00\"\n            },\n            AG: function(w) {\n                return w + \"-01-01T00:00:00\"\n            },\n            AJ: function(w) {\n                return \"1972-\" + w + \"T00:00:00\"\n            },\n            AI: function(w) {\n                return \"1972-\" + w + \"-01T00:00:00\"\n            },\n            AK: function(w) {\n                return \"1972-01-\" + w + \"T00:00:00\"\n            }\n        }\n          , U = [function(w, Z) {\n            return c(E(w[1], 12) + E(w[2], 1), Z.match(/^\\s*-.*/))\n        }\n        , function(w, Z) {\n            return c(E(w[3], 864E5) + E(w[4], 36E5) + E(w[5], 6E4) + q(w[6], 1), Z.match(/^\\s*-.*/))\n        }\n        , function(w, Z) {\n            return c(E(w[1], 864E5) + E(w[2], 36E5) + E(w[3], 6E4) + q(w[4], 1), Z.match(/^\\s*-.*/))\n        }\n        , function() {\n            return 0\n        }\n        ]\n          , ha = {\n            AR: [0, 1],\n            ARD: [3, 2],\n            ARY: [0, 3]\n        };\n        let T = {\n            Qf: l,\n            anyURI: B,\n            base64Binary: Y,\n            boolean: L,\n            cd: R,\n            dateTime: I,\n            Ed: ca,\n            dayTimeDuration: null,\n            mb: ma,\n            double: W,\n            duration: ea,\n            float: qa,\n            jh: null,\n            kh: null,\n            lh: null,\n            mh: null,\n            nh: null,\n            hexBinary: ja,\n            integer: aa,\n            language: null,\n            Ag: null,\n            lk: y,\n            numeric: z,\n            QName: D,\n            string: n,\n            time: M,\n            untypedAtomic: r,\n            yearMonthDuration: null\n        };\n        return {\n            Kf: a,\n            pa: function(w) {\n                return l.matches(w)\n            },\n            gj: m,\n            yj: H,\n            kg: function(w, Z, S, da) {\n                if (w instanceof $a || Z instanceof $a)\n                    return aa.nb(da(w.toBig(), Z.toBig()));\n                S = S(w.toNumber(), Z.toNumber());\n                return Math.abs(S) < Math.pow(2, 52) ? aa.fromNumber(S) : aa.nb(da(w.toBig(), Z.toBig()))\n            },\n            pd: d,\n            pg: function(w, Z) {\n                const S = La.codes[Z];\n                if (S.matches(w))\n                    return w;\n                if (T.mb.matches(w) ? /^A[OFD]$/.test(Z) : T.float.matches(w) && /^A[OF]$/.test(Z))\n                    return S.R(w);\n                throw new F(`Incompatible operands: ${d(w.code)} (${w.toString()}) and ${d(Z)}`,\"XPTY0004\");\n            },\n            type: V,\n            codes: la,\n            XS: T\n        }\n    }();\n    // Input 10\n    const mb = function() {\n        function a(m) {\n            return Math.abs(m) < Math.pow(2, 52)\n        }\n        function c(m, f) {\n            return v.matches(m) && v.matches(f) ? v : k\n        }\n        function q(m=\"FOAR0001\") {\n            throw new F(\"Division by zero\",m);\n        }\n        function E(m=\"FOAR0002\") {\n            throw new F(\"Numeric overflow/underflow\",m);\n        }\n        function H(m, f, A) {\n            throw new F(`Arithmetic operation ${A} not available for` + ` operands ${La.pd(m.code)} and ${La.pd(f.code)}`,\"XPTY0004\");\n        }\n        function p(m, f, A) {\n            function O(W) {\n                return /^A[AMT]/.test(W.code)\n            }\n            let b, d, l;\n            const r = g.untypedAtomic\n              , n = g.dayTimeDuration\n              , B = g.yearMonthDuration;\n            if (r.matches(m))\n                return m = g.double.fromString(m.value),\n                p(m, f, A);\n            if (r.matches(f))\n                return f = g.double.fromString(f.value),\n                p(m, f, A);\n            (n.matches(m) || B.matches(m)) && g.numeric.matches(f) ? (l = \"u\" + A + \"n\",\n            b = m.code,\n            d = f.code) : (n.matches(f) || B.matches(f)) && g.numeric.matches(m) ? (l = \"n\" + A + \"u\",\n            b = m.code,\n            d = f.code) : v.matches(m) && v.matches(f) ? (l = \"i\" + A + \"i\",\n            b = d = \"ADI\") : e.matches(m) || e.matches(f) ? (l = \"d\" + A + \"d\",\n            b = d = \"AO\") : t.matches(m) || t.matches(f) ? (l = \"f\" + A + \"f\",\n            b = d = \"AF\") : k.matches(m) || k.matches(f) ? (l = \"c\" + A + \"c\",\n            b = d = \"AD\") : O(m) && O(f) ? (l = \"t\" + A + \"t\",\n            b = m.code,\n            d = f.code) : O(m) && (n.matches(f) || B.matches(f)) ? (l = \"t\" + A + \"u\",\n            b = m.code,\n            d = f.code) : (n.matches(m) || B.matches(m)) && O(f) ? (l = \"u\" + A + \"t\",\n            b = m.code,\n            d = f.code) : n.matches(m) && n.matches(f) || B.matches(m) && B.matches(f) ? (l = \"u\" + A + \"u\",\n            b = d = m.code) : H(A, m, f);\n            C[l] || H(A, m, f);\n            return C[l](La.pg(m, b), La.pg(f, d))\n        }\n        const g = La.XS\n          , e = g.double\n          , k = g.mb\n          , v = g.integer\n          , t = g.float\n          , C = {\n            \"d+d\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return e.fromNumber(m + f)\n            },\n            \"d-d\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return e.fromNumber(m - f)\n            },\n            \"d*d\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return e.fromNumber(m * f)\n            },\n            \"d/d\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return e.fromNumber(m / f)\n            },\n            \"d%d\": function(m, f) {\n                const A = m.toNumber();\n                f = f.toNumber();\n                return !isFinite(A) || isNaN(f) || 0 === f ? e.fromNumber(NaN) : isFinite(f) && 0 !== A ? e.fromNumber(A % f) : m\n            },\n            \"d~d\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                0 === f && q();\n                (!isFinite(m) && isFinite(f) || isNaN(m) || isNaN(f)) && E();\n                f = Math.trunc(m / f);\n                isFinite(f) || E();\n                return a(f) ? v.fromNumber(f) : e.fromNumber(f)\n            },\n            \"f+f\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return t.fromNumber(m + f)\n            },\n            \"f-f\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return t.fromNumber(m - f)\n            },\n            \"f*f\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return t.fromNumber(m * f)\n            },\n            \"f/f\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                return t.fromNumber(m / f)\n            },\n            \"f%f\": function(m, f) {\n                const A = m.toNumber();\n                f = f.toNumber();\n                if (!isFinite(A) || isNaN(f) || 0 === f)\n                    return t.fromNumber(NaN);\n                if (!isFinite(f) || 0 === A)\n                    return m;\n                m = A % f;\n                isFinite(m) || q();\n                return t.fromNumber(m)\n            },\n            \"f~f\": function(m, f) {\n                m = m.toNumber();\n                f = f.toNumber();\n                0 === f && q();\n                (!isFinite(m) && isFinite(f) || isNaN(m) || isNaN(f)) && E();\n                f = Math.trunc(m / f);\n                isFinite(f) || E();\n                return a(f) ? v.fromNumber(f) : t.fromNumber(f)\n            },\n            \"i+i\": function(m, f) {\n                return La.kg(m, f, (A,O)=>A + O, (A,O)=>A.Be(O))\n            },\n            \"i-i\": function(m, f) {\n                return La.kg(m, f, (A,O)=>A - O, (A,O)=>A.we(O))\n            },\n            \"i*i\": function(m, f) {\n                return La.kg(m, f, (A,O)=>A * O, (A,O)=>A.zc(O))\n            },\n            \"i/i\": function(m, f) {\n                f.equals(La.XS.integer.fromNumber(0)) && q();\n                m = m.toBig();\n                f = f.toBig();\n                return k.nb(m.Vb(f))\n            },\n            \"i%i\": function(m, f) {\n                var A = m.toNumber();\n                const O = f.toNumber();\n                if (!isFinite(A) || isNaN(O) || 0 === O)\n                    return 0 === O && q(),\n                    v.fromNumber(NaN);\n                if (!isFinite(O) || 0 === A)\n                    return m;\n                A = m.toNumber() % f.toNumber();\n                isFinite(A) || q();\n                return a(A) ? v.fromNumber(A) : v.nb(wa(m.toBig().mf(f.toBig())))\n            },\n            \"i~i\": function(m, f) {\n                const A = m.toNumber() / f.toNumber();\n                isFinite(A) || q();\n                return a(A) ? v.fromNumber(Math.trunc(A)) : v.nb(wa(m.toBig().Vb(f.toBig())).round(0, 0))\n            },\n            \"c+c\": function(m, f) {\n                const A = m.toBig()\n                  , O = f.toBig();\n                return c(m, f).nb(A.Be(O))\n            },\n            \"c-c\": function(m, f) {\n                const A = m.toBig()\n                  , O = f.toBig();\n                return c(m, f).nb(A.we(O))\n            },\n            \"c*c\": function(m, f) {\n                const A = m.toBig()\n                  , O = f.toBig();\n                return c(m, f).nb(A.zc(O))\n            },\n            \"c/c\": function(m, f) {\n                try {\n                    const A = m.toBig()\n                      , O = f.toBig();\n                    return k.nb(A.Vb(O))\n                } catch (A) {\n                    q()\n                }\n            },\n            \"c%c\": function(m, f) {\n                try {\n                    const A = m.toBig()\n                      , O = f.toBig();\n                    return k.nb(A.mf(O))\n                } catch (A) {\n                    q()\n                }\n            },\n            \"c~c\": function(m, f) {\n                try {\n                    const A = m.toBig()\n                      , O = f.toBig()\n                      , b = A.Vb(O).round(0, 0);\n                    return v.nb(b)\n                } catch (A) {\n                    q()\n                }\n            },\n            \"a+a\": function(m, f) {\n                return p(m, f, \"+\")\n            },\n            \"a-a\": function(m, f) {\n                return p(m, f, \"-\")\n            },\n            \"a*a\": function(m, f) {\n                return p(m, f, \"*\")\n            },\n            \"a/a\": function(m, f) {\n                return p(m, f, \"/\")\n            },\n            \"a%a\": function(m, f) {\n                return p(m, f, \"%\")\n            },\n            \"a~a\": function(m, f) {\n                return p(m, f, \"~\")\n            },\n            \"u+u\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(m) && A.matches(f) || O.matches(m) && O.matches(f) || H(m, f, \"+\");\n                return O.matches(m) ? O.Wb(m.Ua + f.Ua, 0) : A.Wb(0, m.Qa + f.Qa)\n            },\n            \"u-u\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(m) && A.matches(f) || O.matches(m) && O.matches(f) || H(m, f, \"-\");\n                return O.matches(m) ? O.Wb(m.Ua - f.Ua, 0) : A.Wb(0, m.Qa - f.Qa)\n            },\n            \"u*n\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(m) || O.matches(m) || H(m, f, \"*\");\n                f = f.toNumber();\n                if (!isFinite(f))\n                    throw new F(\"Cannot multiply duration by \" + isNaN(f) ? \"NaN\" : \"+/-INF\",isNaN(f) ? \"FOCA0005\" : \"FODT0002\");\n                return O.matches(m) ? O.Wb(Math.round(m.Ua * f), 0) : A.Wb(0, Math.round(m.Qa * f))\n            },\n            \"n*u\": function(m, f) {\n                return mb[\"u*n\"](f, m)\n            },\n            \"u/n\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(m) || O.matches(m) || H(m, f, \"/\");\n                f = f.toNumber();\n                0 === f && q(\"FODT0002\");\n                if (isNaN(f))\n                    throw new F(\"Cannot divide duration by NaN\",\"FOCA0005\");\n                f = O.matches(m) ? m.Ua / f : m.Qa / f;\n                isFinite(f) || E(\"FODT0002\");\n                return O.matches(m) ? O.Wb(Math.round(f), 0) : A.Wb(0, Math.round(f))\n            },\n            \"u/u\": function(m, f) {\n                var A = g.dayTimeDuration;\n                const O = g.yearMonthDuration;\n                A.matches(m) && A.matches(f) || O.matches(m) && O.matches(f) || H(m, f, \"/\");\n                A = new wa(0);\n                m = new wa(O.matches(m) ? m.Ua : m.Qa);\n                f = new wa(O.matches(f) ? f.Ua : f.Qa);\n                0 === f.cmp(A) && q();\n                try {\n                    return k.nb(m.Vb(f))\n                } catch (b) {\n                    E()\n                }\n            },\n            \"t+u\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(f) || O.matches(f) || H(m, f, \"+\");\n                return A.matches(f) ? La.codes[m.code].fromDate(new Date(m.Na.getTime() + f.Qa), m.Fa) : hb(m, f.Ua)\n            },\n            \"u+t\": function(m, f) {\n                return mb[\"t+u\"](f, m)\n            },\n            \"t-u\": function(m, f) {\n                const A = g.dayTimeDuration\n                  , O = g.yearMonthDuration;\n                A.matches(f) || O.matches(f) || H(m, f, \"-\");\n                return A.matches(f) ? La.codes[m.code].fromDate(new Date(m.Na.getTime() - f.Qa), m.Fa) : hb(m, -f.Ua)\n            },\n            \"t-t\": function(m, f) {\n                return g.dayTimeDuration.Wb(0, m.Na.getTime() - f.Na.getTime())\n            }\n        };\n        return C\n    }();\n    // Input 11\n    function nb(a) {\n        function c() {\n            function p(C) {\n                throw new F(\"In alphaCode '\" + a + \"' @ \" + E + \": \" + C);\n            }\n            function g(C) {\n                const m = E >= a.length ? -1 : a.charAt(E++);\n                m !== C && p(\"Expected '\" + C + \"', found '\" + m + \"'\")\n            }\n            function e() {\n                let C = 0\n                  , m = E;\n                for (; E < a.length; )\n                    switch (a.charAt(E++)) {\n                    case \"{\":\n                        C++;\n                        break;\n                    case \"}\":\n                        C--;\n                        break;\n                    case \"]\":\n                    case \",\":\n                        if (0 === C)\n                            return a.substring(m, --E);\n                        break;\n                    case \" \":\n                        if (0 === C)\n                            return a.substring(m, E - 1)\n                    }\n                return a.substring(m, E)\n            }\n            \"string\" !== typeof a && sa.la(\"No input to alphaParser\");\n            const k = {};\n            H.push(E);\n            var v = a.charAt(E);\n            /[01+?*]/.test(v) ? (E++,\n            q.Td(k, \"o\", v)) : q.Td(k, \"o\", \"1\");\n            if ((v = e()) && !/^[ANFE]/.test(v))\n                throw sa.la(\"Invalid alphaCode '\" + a + \"'\");\n            for (q.Td(k, \"p\", v); E < a.length; )\n                switch (v = a.charAt(E),\n                v) {\n                case \"]\":\n                case \",\":\n                    return v = a.substring(H.pop(), E),\n                    q.Td(k, \"code\", v),\n                    k;\n                case \" \":\n                    E++;\n                    break;\n                case \"n\":\n                case \"c\":\n                    E++;\n                    var t = e();\n                    /^~/.test(t) && (t = \"Q{http://www.w3.org/2001/XMLSchema}\" + t.substring(1));\n                    q.Td(k, v, t);\n                    break;\n                case \"k\":\n                case \"r\":\n                case \"v\":\n                case \"e\":\n                    E++;\n                    g(\"[\");\n                    t = c();\n                    g(\"]\");\n                    q.Hj(k, v, t);\n                    break;\n                case \"a\":\n                case \"m\":\n                case \"u\":\n                case \"i\":\n                case \"d\":\n                    E++;\n                    g(\"[\");\n                    t = [];\n                    if (\"]\" === a.charAt(E))\n                        E++,\n                        q.Mh(k, v, t);\n                    else\n                        for (; ; ) {\n                            const C = c();\n                            t.push(C);\n                            if (\",\" === a.charAt(E))\n                                E++;\n                            else {\n                                g(\"]\");\n                                q.Mh(k, v, t);\n                                break\n                            }\n                        }\n                    break;\n                case \"t\":\n                    p(\"Tuple types not yet implemented\");\n                    break;\n                default:\n                    p(\"Expected one of n|c|t|k|r|v|a|u, found '\" + v + \"'\")\n                }\n            v = a.substring(H.pop(), E);\n            q.Td(k, \"code\", v);\n            H.pop();\n            return k\n        }\n        var q = qb;\n        let E = 0;\n        const H = [];\n        this.g = c\n    }\n    const qb = {\n        al: function() {\n            return {}\n        },\n        Td: function(a, c, q) {\n            a[c] = q\n        },\n        Hj: function(a, c, q) {\n            a[c] = q\n        },\n        Mh: function(a, c, q) {\n            a[c] = q\n        }\n    };\n    function rb(a) {\n        return (new nb(a)).g()\n    }\n    function sb(a) {\n        let c = (a.o || \"1\") + a.p;\n        a.n && (c += \" n\" + a.n);\n        a.c && (c += \" c\" + a.c);\n        a.k && (c += \" k[\" + sb(a.k) + \"]\");\n        a.v && (c += \" v[\" + sb(a.v) + \"]\");\n        a.r && (c += \" r[\" + sb(a.r) + \"]\");\n        if (a.a) {\n            c += \" a\";\n            for (var q = 0; q < a.a.length; q++)\n                c += (0 === q ? \"[\" : \",\") + sb(a.a[q]);\n            c += \"]\"\n        }\n        if (a.m) {\n            c += \" m\";\n            for (q = 0; q < a.m.length; q++)\n                c += (0 === q ? \"[\" : \",\") + sb(a.m[q]);\n            c += \"]\"\n        }\n        return c\n    }\n    function tb(a, c) {\n        if (a.startsWith(c))\n            return c;\n        if (c.startsWith(a))\n            return a;\n        let q = Math.min(a.length, c.length);\n        for (; 0 < q; ) {\n            if (a.substring(0, q) === c.substring(0, q))\n                return a.substring(0, q);\n            q--\n        }\n        return \"\"\n    }\n    ;// Input 12\n    const ub = La.XS;\n    class vb {\n        filter(a) {\n            return new wb(this,a)\n        }\n        next() {\n            sa.la(\"next()\");\n            return null\n        }\n        kf(a) {\n            let c = 1, q;\n            for (; null !== (q = this.next()); )\n                if (c++ === a)\n                    return q;\n            return null\n        }\n        mapOneToOne(a) {\n            return new xb(this,a)\n        }\n        mapOneToMany(a) {\n            return new yb(this,a)\n        }\n        forEachItem(a) {\n            let c;\n            for (; null !== (c = this.next()); )\n                a(c)\n        }\n        some(a) {\n            let c;\n            for (; null !== (c = this.next()); )\n                if (a(c))\n                    return !0;\n            return !1\n        }\n        every(a) {\n            let c;\n            for (; null !== (c = this.next()); )\n                if (!a(c))\n                    return !1;\n            return !0\n        }\n        count() {\n            let a = 0;\n            this.forEachItem(function() {\n                a++\n            });\n            return a\n        }\n        expand() {\n            const a = [];\n            this.forEachItem(function(c) {\n                a.push(c)\n            });\n            return a\n        }\n        showValue() {\n            return \"Iterator\"\n        }\n    }\n    class zb extends vb {\n        constructor(a) {\n            super();\n            this.g = a\n        }\n        next() {\n            const a = this.g;\n            this.g = null;\n            return a\n        }\n        kf(a) {\n            return 1 === a ? this.g : null\n        }\n        ua() {\n            return this.g\n        }\n        expand() {\n            return null === this.g ? [] : [this.g]\n        }\n        showValue() {\n            return \"Singleton of \" + sa.showValue(this.g)\n        }\n    }\n    class Ab extends vb {\n        next() {\n            return null\n        }\n        ua() {\n            return null\n        }\n        expand() {\n            return []\n        }\n        count() {\n            return 0\n        }\n        filter() {\n            return this\n        }\n        kf() {\n            return null\n        }\n        mapOneToOne() {\n            return this\n        }\n        mapOneToMany() {\n            return this\n        }\n        forEachItem() {}\n        some() {\n            return !1\n        }\n        every() {\n            return !0\n        }\n        showValue() {\n            return \"EmptyIter\"\n        }\n    }\n    class Bb extends vb {\n        constructor(a) {\n            super();\n            Array.isArray(a) || sa.la(\"ForArray expects array. Supplied value: \" + sa.showValue(a));\n            this.g = a;\n            this.j = 0\n        }\n        next() {\n            return this.j < this.g.length ? this.g[this.j++] : null\n        }\n        ua() {\n            return this.j < this.g.length ? this.g[this.j] : null\n        }\n        expand() {\n            return this.g\n        }\n        count() {\n            return this.g.length\n        }\n        kf(a) {\n            return this.g[a - 1]\n        }\n        showValue() {\n            return \"ForArray \" + this.g\n        }\n    }\n    class wb extends vb {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            (this.j = c) || sa.la(\"Filter iterator undefined predicate\")\n        }\n        next() {\n            for (; ; ) {\n                const a = this.g.next();\n                if (!a)\n                    return null;\n                const c = this.j(a);\n                if (\"done\" === c)\n                    return null;\n                if (c)\n                    return a\n            }\n        }\n    }\n    class yb extends vb {\n        constructor(a, c) {\n            super();\n            this.B = a;\n            this.j = c;\n            this.g = null\n        }\n        next() {\n            for (; ; ) {\n                if (null !== this.g) {\n                    var a = this.g.next();\n                    if (a)\n                        return a\n                }\n                a = this.B.next();\n                if (null === a)\n                    return null;\n                (this.g = this.j(a)) && !this.g.next && sa.la(\"Result of mapper is not an iterator, mapper = \" + this.j)\n            }\n        }\n    }\n    class xb extends vb {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.B = 0;\n            \"object\" === typeof a && \"next\"in a || sa.la(\"Base not an iterator\");\n            this.j = c\n        }\n        next() {\n            for (; ; ) {\n                var a = this.g.next();\n                if (null === a)\n                    return null;\n                if (a = this.j(a, this.B++))\n                    return a\n            }\n        }\n    }\n    class Cb extends vb {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.j = c\n        }\n        next() {\n            const a = this.g;\n            return a ? (this.g = this.j(a),\n            a) : null\n        }\n        ua() {\n            return this.g\n        }\n    }\n    class Db extends vb {\n        constructor(a) {\n            super();\n            Array.isArray(a) || sa.la(\"Join iterator expects array\");\n            this.g = a\n        }\n        next() {\n            for (; ; ) {\n                if (0 === this.g.length)\n                    return null;\n                const a = this.g[0].next();\n                if (null === a)\n                    this.g.shift();\n                else\n                    return a\n            }\n        }\n    }\n    class Eb extends vb {\n        constructor(a, c, q) {\n            super();\n            this.g = Fb(a);\n            this.j = Fb(c);\n            this.B = q;\n            this.current = null\n        }\n        next() {\n            var a = this.g.ua();\n            const c = this.j.ua();\n            return a && c ? (a = this.B(a, c),\n            0 > a ? this.current = this.g.next() : 0 < a ? this.current = this.j.next() : (this.current = this.g.next(),\n            this.j.next()),\n            this.current) : a ? this.current = this.g.next() : c ? this.current = this.j.next() : this.current = null\n        }\n    }\n    class Gb extends vb {\n        constructor(a, c, q) {\n            super();\n            this.g = Fb(a);\n            this.j = Fb(c);\n            this.B = q;\n            this.current = null\n        }\n        next() {\n            let a = this.g.ua()\n              , c = this.j.ua();\n            for (; a && c; ) {\n                const q = this.B(a, c);\n                if (0 > q)\n                    this.g.next(),\n                    a = this.g.ua();\n                else if (0 < q)\n                    this.j.next(),\n                    c = this.j.ua();\n                else\n                    return this.current = this.g.next(),\n                    this.j.next(),\n                    this.current\n            }\n            return this.current = null\n        }\n    }\n    class Hb extends vb {\n        constructor(a, c, q) {\n            super();\n            this.g = Fb(a);\n            this.j = Fb(c);\n            this.B = q;\n            this.current = null\n        }\n        next() {\n            let a = this.g.ua();\n            for (var c = this.j.ua(); a && c; ) {\n                c = this.B(a, c);\n                if (0 > c)\n                    return this.current = this.g.next();\n                0 < c ? this.j.next() : (this.g.next(),\n                this.j.next(),\n                a = this.g.ua());\n                c = this.j.ua()\n            }\n            return a && !c ? this.current = this.g.next() : this.current = null\n        }\n    }\n    function Fb(a) {\n        return \"peek\"in a ? a : new Ib(a)\n    }\n    class Ib extends vb {\n        constructor(a) {\n            super();\n            this.j = a;\n            this.g = a.next()\n        }\n        next() {\n            const a = this.g;\n            a && (this.g = this.j.next());\n            return a\n        }\n        ua() {\n            return this.g\n        }\n        showValue() {\n            return \"LookAhead of \" + this.j.showValue()\n        }\n    }\n    class Jb extends vb {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.j = -1;\n            this.position = 0;\n            this.current = null\n        }\n        next() {\n            this.position++;\n            this.current = this.g.next();\n            null === this.current && (this.position = -1);\n            return this.current\n        }\n        last() {\n            if (0 > this.j)\n                if (this.g instanceof Kb)\n                    this.j = this.g.expand().length;\n                else {\n                    const a = [];\n                    let c;\n                    for (; null !== (c = this.g.next()); )\n                        a.push(c);\n                    this.j = this.position + a.length;\n                    this.g = Kb(a)\n                }\n            return this.j\n        }\n        showValue() {\n            return \"Tracker of \" + this.g.showValue()\n        }\n    }\n    class Lb extends vb {\n        constructor(a) {\n            super();\n            this.current = a;\n            this.position = 1\n        }\n        next() {\n            return null\n        }\n        last() {\n            return 1\n        }\n    }\n    class Mb extends vb {\n        constructor(a) {\n            super();\n            this.g = a\n        }\n        next() {\n            const a = this.g.next();\n            return a.done ? null : a.value\n        }\n    }\n    class Nb extends vb {\n        constructor(a, c, q) {\n            super();\n            this.g = a;\n            this.j = q;\n            for (this.B = 1; !(this.B++ >= c); )\n                if (null == this.g.next()) {\n                    this.j = Number.NEGATIVE_INFINITY;\n                    break\n                }\n        }\n        next() {\n            return this.B++ <= this.j ? this.g.next() : null\n        }\n    }\n    const Ob = new Ab;\n    function Pb(a) {\n        return new zb(a)\n    }\n    function Qb(a) {\n        return new Db(a)\n    }\n    function Rb(a) {\n        return new Lb(a)\n    }\n    function Sb(a) {\n        return new Jb(a)\n    }\n    function Kb(a) {\n        return new Bb(a)\n    }\n    function Tb(a) {\n        return new zb(ub.string.fromString(a))\n    }\n    function Ub(a) {\n        return new zb(ub.integer.fromNumber(a))\n    }\n    function Vb(a) {\n        return new zb(ub.double.fromNumber(a))\n    }\n    function Wb(a) {\n        return new zb(ub.mb.nb(a))\n    }\n    function Xb(a) {\n        return new zb(ub.boolean.fromBoolean(a))\n    }\n    var Yb = {};\n    Yb.Sj = vb;\n    Yb.Yj = Hb;\n    Yb.Zj = Ob;\n    Yb.$j = Ab;\n    Yb.bk = wb;\n    Yb.ck = Kb;\n    Yb.dk = Bb;\n    Yb.ek = Mb;\n    Yb.hk = Gb;\n    Yb.ik = Qb;\n    Yb.jk = Db;\n    Yb.kk = Ib;\n    Yb.pk = yb;\n    Yb.qk = xb;\n    Yb.tk = Pb;\n    Yb.uk = zb;\n    Yb.vk = Rb;\n    Yb.wk = Lb;\n    Yb.xk = Cb;\n    Yb.yk = Nb;\n    Yb.Bk = Sb;\n    Yb.Ck = Jb;\n    Yb.Fk = Eb;\n    Yb.hl = Xb;\n    Yb.il = Wb;\n    Yb.jl = Vb;\n    Yb.kl = function(a) {\n        return new zb(ub.float.fromNumber(a))\n    }\n    ;\n    Yb.ll = Ub;\n    Yb.ml = Tb;\n    // Input 13\n    // Input 14\n    var Zb = {\n        Wc: \"http://www.w3.org/1999/XSL/Transform\",\n        Oa: \"http://www.w3.org/2005/xpath-functions\",\n        yh: \"http://www.w3.org/2005/xpath-functions/math\",\n        map: \"http://www.w3.org/2005/xpath-functions/map\",\n        Ue: \"http://www.w3.org/2005/xpath-functions/array\",\n        xml: \"http://www.w3.org/XML/1998/namespace\",\n        lc: \"http://www.w3.org/2001/XMLSchema\",\n        vl: \"http://www.w3.org/2001/XMLSchema-instance\",\n        zi: \"http://www.w3.org/2005/xqt-errors\",\n        nd: \"http://saxonica.com/ns/interactiveXSLT\",\n        xh: \"http://saxonica.com/ns/globalJS\",\n        wb: \"http://saxon.sf.net/\",\n        Ci: \"http://ns.saxonica.com/xslt/export\",\n        withPrefix: {\n            xsl: \"http://www.w3.org/1999/XSL/Transform\",\n            fn: \"http://www.w3.org/2005/xpath-functions\",\n            math: \"http://www.w3.org/2005/xpath-functions/math\",\n            map: \"http://www.w3.org/2005/xpath-functions/map\",\n            array: \"http://www.w3.org/2005/xpath-functions/array\",\n            xml: \"http://www.w3.org/XML/1998/namespace\",\n            xs: \"http://www.w3.org/2001/XMLSchema\",\n            xsi: \"http://www.w3.org/2001/XMLSchema-instance\",\n            err: \"http://www.w3.org/2005/xqt-errors\",\n            ixsl: \"http://saxonica.com/ns/interactiveXSLT\",\n            js: \"http://saxonica.com/ns/globalJS\",\n            saxon: \"http://saxon.sf.net/\",\n            ex: \"http://ns.saxonica.com/xslt/export\"\n        },\n        yg: \"http://ns.saxonica.com/anonymous-type\"\n    };\n    // Input 15\n    var ac = function() {\n        function a(p) {\n            return p ? 9 === p.nodeType ? p : a(p.ownerDocument) : null\n        }\n        const c = La.XS;\n        let q = 1;\n        const E = {\n            Zc: function(p) {\n                switch (p.nodeType) {\n                case 9:\n                case 11:\n                    return Ob;\n                case 2:\n                    return p.parent ? new Cb(p.parent,g=>g.parentNode) : Ob;\n                default:\n                    return (p = p.parentNode) ? new Cb(p,g=>g.parentNode) : Ob\n                }\n            },\n            Ya: function(p) {\n                return Qb([Pb(p), E.Zc(p)])\n            },\n            Ha: function(p) {\n                if (1 === p.nodeType) {\n                    const g = p.attributes\n                      , e = p.ownerDocument.documentElement && pa.Zb(p.ownerDocument.documentElement)\n                      , k = [];\n                    for (let v = 0; v < g.length; v++) {\n                        const t = g[v].name;\n                        if (\"xmlns\" !== t.substring(0, 5) || 5 !== t.length && \":\" !== t.charAt(5))\n                            e && \"xml:\" === g[v].localName.substring(0, 4) ? k.push(new $b(c.QName.fromParts(\"xml\", Zb.xml, g[v].localName.substring(4)),g[v].value,p)) : k.push(new $b(c.QName.fromParts(g[v].prefix, g[v].namespaceURI, g[v].localName),g[v].value,p))\n                    }\n                    return Kb(k)\n                }\n                return Ob\n            },\n            Ka: function(p) {\n                function g(e) {\n                    return new Cb(e.firstChild,k=>k.nextSibling)\n                }\n                if (null === p)\n                    return Ob;\n                switch (p.nodeType) {\n                case 9:\n                    return g(p).filter(function(e) {\n                        return !(7 === e.nodeType && \"xml\" === e.target || 3 === e.nodeType || 4 === e.nodeType)\n                    });\n                case 11:\n                case 1:\n                    return g(p);\n                default:\n                    return Ob\n                }\n            },\n            me: function(p) {\n                return E.Ka(p).mapOneToMany(function(g) {\n                    return E.oe(g)\n                })\n            },\n            oe: function(p) {\n                return Qb([Pb(p), E.me(p)])\n            },\n            eh: function(p) {\n                switch (p.nodeType) {\n                case 9:\n                case 11:\n                    return Ob;\n                case 2:\n                case 13:\n                    return p = ac.Xa(p),\n                    null === p ? Ob : Qb([E.me(p), E.eh(p)]);\n                default:\n                    return E.Ya(p).mapOneToMany(function(g) {\n                        return E.fh(g).mapOneToMany(E.oe)\n                    })\n                }\n            },\n            fh: function(p) {\n                switch (p.nodeType) {\n                case 9:\n                case 11:\n                case 2:\n                case 13:\n                    return Ob;\n                default:\n                    return new Cb(p.nextSibling,g=>g.nextSibling)\n                }\n            },\n            ob: function(p) {\n                return 1 === p.nodeType ? Kb(ac.Ic(p).map(function(g) {\n                    return new bc(g.prefix,g.uri,p)\n                })) : Ob\n            },\n            parent: function(p) {\n                return Pb(ac.Xa(p))\n            },\n            og: function(p) {\n                return E.Ya(p).mapOneToMany(function(g) {\n                    return E.Oc(g).mapOneToMany(function(e) {\n                        return Kb(E.oe(e).expand().reverse())\n                    })\n                })\n            },\n            Oc: function(p) {\n                switch (p.nodeType) {\n                case 9:\n                case 11:\n                case 2:\n                case 13:\n                    return Ob;\n                default:\n                    return new Cb(p.previousSibling,g=>g.previousSibling)\n                }\n            },\n            self: function(p) {\n                return Pb(p)\n            }\n        }\n          , H = {\n            Ja: E,\n            Ng: {\n                ancestor: E.Zc,\n                \"ancestor-or-self\": E.Ya,\n                attribute: E.Ha,\n                child: E.Ka,\n                descendant: E.me,\n                \"descendant-or-self\": E.oe,\n                following: E.eh,\n                \"following-sibling\": E.fh,\n                namespace: E.ob,\n                parent: E.parent,\n                preceding: E.og,\n                \"preceding-sibling\": E.Oc,\n                self: E.self\n            },\n            Gc: a,\n            rc: function(p) {\n                return E.Ya(p).expand().pop()\n            },\n            wc: function(p) {\n                p._saxonDocumentNumber || (p._saxonDocumentNumber = q++);\n                return p\n            },\n            ui: function(p) {\n                return ac.wc(p)._saxonDocumentNumber\n            },\n            ca: function(p) {\n                if (!p || !p.nodeType)\n                    return null;\n                switch (p.nodeType) {\n                case 1:\n                    return c.QName.fromParts(p.prefix, p.namespaceURI, p.localName);\n                case 2:\n                    if (\"xml\" === p.prefix)\n                        return c.QName.fromParts(p.prefix, Zb.xml, p.localName);\n                    if (!p.yc)\n                        throw new F(\"ATTRIBUTE_NODE not local\",\"SXJS0004\");\n                    return p.yc;\n                case 7:\n                    return c.QName.fromParts(\"\", \"\", p.target);\n                case 13:\n                    return p.prefix ? c.QName.fromParts(\"\", \"\", p.prefix) : null;\n                default:\n                    return null\n                }\n            },\n            Tk: function(p, g) {\n                if (!p || !p.nodeType)\n                    return !1;\n                switch (p.nodeType) {\n                case 1:\n                case 2:\n                    return p.localName === g;\n                case 7:\n                    return p.target === g;\n                case 13:\n                    return p.prefix === g;\n                default:\n                    return !1\n                }\n            },\n            hasURI: function(p, g) {\n                if (!p || !p.nodeType)\n                    return !1;\n                switch (p.nodeType) {\n                case 1:\n                    return (p.namespaceURI || \"\") === g;\n                case 2:\n                    return \"xml\" === p.prefix ? Zb.xml === g : p.namespaceURI === g;\n                default:\n                    return \"\" === g\n                }\n            },\n            Ec: function(p, g) {\n                let e = [];\n                for (p = p.firstChild; null !== p; )\n                    1 !== p.nodeType || g && g !== p.tagName || e.push(p),\n                    p = p.nextSibling;\n                return e\n            },\n            firstElementChild: function(p, g) {\n                for (p = p.firstChild; null !== p; ) {\n                    if (1 === p.nodeType && (!g || g === p.tagName))\n                        return p;\n                    p = p.nextSibling\n                }\n                return null\n            },\n            kd: function(p) {\n                const g = p.expand();\n                if (1 < g.length) {\n                    let e = !0\n                      , k = !0\n                      , v = !0;\n                    g.forEach(t=>{\n                        ac.X(t) ? (v = !1,\n                        ac.Xa(t) ? e = !1 : t._saxonDocumentNumber ? e = !1 : ac.wc(t)) : k = !1\n                    }\n                    );\n                    if (!k && !v)\n                        throw new F(\"Cannot sort a sequence including both nodes and non-nodes\",\"XPTY0018\");\n                    e || v || g.sort(ac.rb);\n                    return Kb(g).mapOneToOne(function(t, C) {\n                        return 0 < C && ac.isSameNode(t, g[C - 1]) ? null : t\n                    })\n                }\n                return Kb(g)\n            },\n            rb: function(p, g) {\n                if (ac.isSameNode(p, g))\n                    return 0;\n                var e = ac.Xa(p)\n                  , k = ac.Xa(g);\n                if (null === e)\n                    return null === k ? (e = ac.wc,\n                    e(p)._saxonDocumentNumber - e(g)._saxonDocumentNumber) : p === k ? -1 : ac.rb(p, k);\n                if (null === k)\n                    return g === e ? 1 : ac.rb(e, g);\n                if (e === k) {\n                    k = p.nodeType;\n                    var v = g.nodeType;\n                    if (2 === k) {\n                        if (2 === v) {\n                            e = e.attributes;\n                            for (k = 0; k < e.length; k++) {\n                                v = c.QName.fromParts(e[k].prefix, e[k].namespaceURI, e[k].localName);\n                                if (v.equals(ac.ca(p)))\n                                    return -1;\n                                if (v.equals(ac.ca(g)))\n                                    return 1\n                            }\n                            throw new F(\"Att not found in parent\",\"SXJS0004\");\n                        }\n                        return 13 === v ? 1 : -1\n                    }\n                    if (13 === k)\n                        return 13 === v ? p.prefix < g.prefix ? -1 : 1 : -1;\n                    if (2 === v || 13 === v)\n                        return 1;\n                    e = p;\n                    for (k = g; ; ) {\n                        e = e.previousSibling;\n                        if (!e)\n                            return -1;\n                        if (e === g)\n                            return 1;\n                        k = k.previousSibling;\n                        if (!k)\n                            return 1;\n                        if (k === p)\n                            return -1\n                    }\n                } else {\n                    if (p === k)\n                        return -1;\n                    if (g === e)\n                        return 1;\n                    v = E.Zc(e).count();\n                    const t = E.Zc(k).count();\n                    return v === t ? ac.rb(e, k) : v > t ? ac.rb(e, g) : ac.rb(p, k)\n                }\n            },\n            Xa: function(p) {\n                return ac.re(p) ? p.parent : p.parentNode\n            },\n            bf: function(p, g, e) {\n                p.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"\" === g ? \"xmlns\" : \"xmlns:\" + g, e)\n            },\n            Ic: function(p, g=E.Ya) {\n                let e = [{\n                    prefix: \"xml\",\n                    uri: Zb.xml\n                }]\n                  , k = {\n                    xml: !0\n                };\n                for (p = g(p); null !== (g = p.next()); )\n                    if (1 === g.nodeType) {\n                        var v = ac.ca(g);\n                        \"\" === v.prefix && \"\" === v.uri && (k[\"\"] = !0);\n                        g = g.attributes;\n                        for (v = 0; v < g.length; v++) {\n                            var t = g[v].name;\n                            \"xmlns\" === t.substring(0, 5) && (5 !== t.length || k[\"\"] ? \":\" === t.charAt(5) && (t = t.substring(6),\n                            k[t] || (k[t] = !0,\n                            e.push({\n                                prefix: t,\n                                uri: g[v].value\n                            }))) : (k[\"\"] = !0,\n                            \"\" !== g[v].value && e.push({\n                                prefix: \"\",\n                                uri: g[v].value\n                            })))\n                        }\n                    } else\n                        break;\n                return e\n            },\n            Ti: function(p) {\n                if (p.di) {\n                    a: {\n                        p = p.di;\n                        for (g in p)\n                            if (p.hasOwnProperty(g)) {\n                                var g = !1;\n                                break a\n                            }\n                        g = !0\n                    }\n                    return !g\n                }\n                g = p.attributes;\n                for (p = 0; p < g.length; p++) {\n                    let e = g[p].name;\n                    if (\"xmlns\" === e.substring(0, 5) && (5 === e.length || \":\" === e.charAt(5)))\n                        return !0\n                }\n                return !1\n            },\n            rh: function(p) {\n                for (p = p.firstChild; null !== p; ) {\n                    if (1 === p.nodeType && ac.Ti(p) || !ac.rh(p))\n                        return !1;\n                    p = p.nextSibling\n                }\n                return !0\n            },\n            Uk: function(p) {\n                return (p = p.attributes.getNamedItem(\"xmlns\")) && \"\" === p.value\n            },\n            Oi: function(p, g) {\n                for (; p && 1 === p.nodeType; ) {\n                    if (p.hasAttribute(g))\n                        return p.getAttribute(g);\n                    p = p.parentNode\n                }\n                return null\n            },\n            Qi: function(p, g, e) {\n                for (; p && 1 === p.nodeType; ) {\n                    if (p.hasAttributeNS(g, e))\n                        return p.getAttributeNS(g, e);\n                    p = p.parentNode\n                }\n                return null\n            },\n            getAttribute: function(p, g, e) {\n                return p.hasAttribute(g) ? p.getAttribute(g) : 2 < arguments.length ? e : null\n            },\n            Pk: function(p, g) {\n                return parseInt(p.getAttribute(g), 10)\n            },\n            Cj: function(p, g, e) {\n                const k = c.QName;\n                if (/:/.test(g))\n                    return k.fromString(g, function(v) {\n                        return \"xml\" === v ? Zb.xml : p.lookupNamespaceURI(v)\n                    });\n                e = e ? p.lookupNamespaceURI(null) || \"\" : \"\";\n                return k.fromParts(\"\", e, g)\n            },\n            re: function(p) {\n                return p instanceof $b\n            },\n            Kd: function(p) {\n                return p instanceof bc\n            },\n            jf: function(p) {\n                return p instanceof abstractNode && (9 === p.nodeType || 11 === p.nodeType)\n            },\n            sh: function(p) {\n                return p instanceof abstractNode && 1 === p.nodeType\n            },\n            X: function(p) {\n                return p instanceof abstractNode && !(7 === p.nodeType && \"xml\" === p.target) || ac.re(p) || ac.Kd(p)\n            },\n            Xk: function(p) {\n                return p instanceof abstractNode && 7 === p.nodeType\n            },\n            isSameNode: function(p, g) {\n                return p === g || ac.Kd(p) && ac.Kd(g) && p.parentNode && g.parentNode && p.parentNode === g.parentNode && p.prefix === g.prefix || ac.re(p) && ac.re(g) && p.parent && g.parent && p.parent === g.parent && ac.ca(p).equals(ac.ca(g))\n            },\n            ej: function(p, g) {\n                return p === g || 9 === p && 11 === g || 9 === g && 11 === p\n            },\n            Yk: function(p) {\n                return p instanceof abstractNode && (3 === p.nodeType || 4 === p.nodeType)\n            },\n            ld: function(p) {\n                return p.startsWith(\"blob:\") || p.startsWith(\"data:\") || /^(?:[A-Za-z][A-Za-z0-9+.-]+:)?\\/\\//i.test(p)\n            },\n            baseURI: function(p) {\n                function g(e) {\n                    const k = ac.Xa(e);\n                    e = k ? ac.baseURI(k) : e._saxonBaseUri ? e._saxonBaseUri : null;\n                    null != e && 0 <= e.indexOf(\"\\\\\") && (e = e.replaceAll(\"\\\\\", \"/\"),\n                    1 < e.length && \":\" === e[1] && (e = \"file:///\" + e));\n                    return e\n                }\n                if (null === p || ac.Kd(p))\n                    return null;\n                if (1 === p.nodeType && p.hasAttribute(\"xml:base\")) {\n                    const e = p.getAttribute(\"xml:base\");\n                    return ac.ld(e) ? e : g(p) ? pa.Fb(e.toString(), g(p)).toString() : null\n                }\n                return g(p)\n            }\n        };\n        sa.zj(H);\n        return H\n    }();\n    // Input 16\n    const cc = function() {\n        function a(k, v) {\n            if (\"\" === v)\n                return k.jb;\n            const t = v.charAt(0);\n            return k.Ba.hasOwnProperty(t) ? a(k.Ba[t], v.substring(1)) : []\n        }\n        function c(k, v) {\n            const t = a(k, k.options.hash(v));\n            for (let C = 0; C < t.length; C++)\n                if (k.options.Rc(t[C].k, v))\n                    return t[C];\n            return null\n        }\n        function q(k, v, t, C) {\n            if (\"\" === C) {\n                for (C = 0; C < k.jb.length; C++)\n                    if (k.options.Rc(k.jb[C].k, v)) {\n                        k.jb[C] = {\n                            k: v,\n                            v: t\n                        };\n                        return\n                    }\n                k.jb.push({\n                    k: v,\n                    v: t\n                })\n            } else {\n                const m = C.charAt(0);\n                let f;\n                k.Ba.hasOwnProperty(m) ? f = k.Ba[m] : (f = new p(k.options),\n                f.id = g++,\n                k.Ba[m] = f);\n                q(f, v, t, C.substring(1))\n            }\n        }\n        function E(k, v, t, C) {\n            const m = new p(k.options);\n            let f = !1;\n            if (\"\" === C)\n                m.jb = k.jb.map(function(O) {\n                    return k.options.Rc(O.k, v) ? (f = !0,\n                    {\n                        k: v,\n                        v: t\n                    }) : O\n                }),\n                f || m.jb.push({\n                    k: v,\n                    v: t\n                }),\n                m.Ba = k.Ba;\n            else {\n                const O = C.charAt(0);\n                for (var A in k.Ba)\n                    k.Ba.hasOwnProperty(A) && (A === O ? (m.Ba[A] = E(k.Ba[A], v, t, C.substring(1)),\n                    f = !0) : m.Ba[A] = k.Ba[A]);\n                f || (A = new p(k.options),\n                A = E(A, v, t, C.substring(1)),\n                m.Ba[O] = A);\n                m.jb = k.jb\n            }\n            return m\n        }\n        function H(k, v, t) {\n            const C = new p(k.options);\n            if (\"\" === t)\n                C.jb = k.jb.filter(function(m) {\n                    return !k.options.Rc(m.k, v)\n                }),\n                C.Ba = k.Ba;\n            else {\n                const m = t.charAt(0);\n                for (const f in k.Ba)\n                    k.Ba.hasOwnProperty(f) && (C.Ba[f] = f === m ? H(k.Ba[f], v, t.substring(1)) : k.Ba[f]);\n                C.jb = k.jb\n            }\n            return C\n        }\n        function p(k) {\n            this.jb = [];\n            this.Ba = {};\n            this.options = k || {\n                hash: e.hash,\n                Rc: e.Rc\n            }\n        }\n        let g = 0\n          , e = {\n            hash: function(k) {\n                return k.hashCode()\n            },\n            Rc: function(k, v) {\n                try {\n                    return k.isNumeric() ? k.qg(v) : k.equals(v) && (void 0 !== k.Fa && null !== k.Fa) === (void 0 !== v.Fa && null !== v.Fa)\n                } catch (t) {\n                    return !1\n                }\n            }\n        };\n        p.prototype = {\n            jb: [],\n            Ba: {},\n            options: e,\n            containsKey: function(k) {\n                return null !== c(this, k)\n            },\n            get: function(k) {\n                k = c(this, k);\n                return null === k ? [] : k.v\n            },\n            evaluate: function(k) {\n                k = c(this, k[0][0]);\n                return null === k ? Ob : Kb(k.v)\n            },\n            inSituPut: function(k, v) {\n                q(this, k, v, this.options.hash(k))\n            },\n            put: function(k, v) {\n                return E(this, k, v, this.options.hash(k))\n            },\n            remove: function(k) {\n                return H(this, k, this.options.hash(k))\n            },\n            forAllPairs: function(k) {\n                this.jb.forEach(k);\n                for (let v in this.Ba)\n                    this.Ba.hasOwnProperty(v) && this.Ba[v].forAllPairs(k)\n            },\n            keys: function() {\n                const k = [];\n                this.forAllPairs(function(v) {\n                    k.push(v.k)\n                });\n                return k\n            },\n            conforms: function(k, v, t) {\n                const C = this;\n                return Kb(C.keys()).every(function(m) {\n                    let f = C.get(m);\n                    return k(m) && t(f.length) && Kb(f).every(v)\n                })\n            },\n            showValue: function() {\n                let k = \"HashTrie map{\"\n                  , v = \"\";\n                this.forAllPairs(function(t) {\n                    k += v;\n                    v = \", \";\n                    k += sa.showValue(t.k);\n                    k += \": \";\n                    k += sa.showValue(t.v)\n                });\n                return k += \"}\"\n            }\n        };\n        return p\n    }();\n    // Input 17\n    const dc = {\n        Aa: null,\n        mc: null,\n        Hf: null,\n        Oe: null,\n        dc: null,\n        Ad: null,\n        ec: null,\n        Ig: null,\n        If: null,\n        Jg: null,\n        Dg: null,\n        cb: null,\n        bi: null,\n        Bd: null,\n        Fg: null,\n        Gf: null,\n        de: null,\n        Cg: null,\n        Gg: null,\n        Bg: null,\n        Hg: null,\n        ce: null,\n        be: null,\n        Ke: null,\n        Qe: null,\n        Jf: null,\n        Df: null,\n        Ie: null\n    };\n    function ec(a) {\n        if (/^[01?+*]/.test(a)) {\n            var c = a.charAt(0);\n            var q = a.substring(1)\n        } else\n            c = \"1\",\n            q = a;\n        q = fc(q);\n        c = new gc(q,hc(c));\n        c.g = a;\n        return c\n    }\n    function ic(a) {\n        const c = jc(a);\n        return new gc(c,hc(a.o))\n    }\n    function kc(a) {\n        sa.assert(a instanceof lc);\n        return new gc(a,2)\n    }\n    function mc() {\n        function a(q, E) {\n            return new gc(q,E)\n        }\n        function c(q, E) {\n            return a(new nc(La.codes[q]), hc(E))\n        }\n        oc = new pc;\n        qc = new rc;\n        sc = new tc;\n        uc = new vc;\n        wc = new xc;\n        yc = new zc;\n        Ac = new Bc;\n        Cc = new Dc;\n        Ec = new Fc(9);\n        Gc = new Fc(1);\n        Hc = new Fc(2);\n        Ic = new Fc(3);\n        Jc = new Fc(8);\n        Kc = new Fc(7);\n        Lc = new Fc(13);\n        Mc = new nc(La.XS.double);\n        Nc = new nc(La.XS.float);\n        Oc = new nc(La.XS.string);\n        Pc = new nc(La.XS.mb);\n        Qc = new nc(La.XS.integer);\n        Rc = new nc(La.XS.dayTimeDuration);\n        Sc = new nc(La.XS.Qf);\n        Tc.NMTOKENS = La.type.NMTOKEN;\n        Tc.IDREFS = La.type.IDREF;\n        Tc.ENTITIES = La.type.ENTITY;\n        Object.assign(dc, {\n            Aa: a(Uc, 7),\n            mc: a(Uc, 2),\n            Hf: a(Uc, 3),\n            Oe: c(\"A\", \"1\"),\n            dc: c(\"A\", \"?\"),\n            Ad: c(\"A\", \"*\"),\n            ec: c(\"AS\", \"1\"),\n            Ig: c(\"AZ\", \"1\"),\n            If: c(\"AZ\", \"?\"),\n            Jg: c(\"AZ\", \"*\"),\n            Dg: c(\"AS\", \"?\"),\n            cb: c(\"AB\", \"1\"),\n            bi: c(\"AB\", \"?\"),\n            Bd: c(\"ADI\", \"1\"),\n            Fg: c(\"AD\", \"1\"),\n            Gf: c(\"ADI\", \"?\"),\n            de: c(\"AO\", \"1\"),\n            Cg: c(\"AO\", \"?\"),\n            Gg: c(\"AF\", \"1\"),\n            Bg: c(\"AU\", \"?\"),\n            Hg: c(\"AQ\", \"1\"),\n            ce: a(qc, 3),\n            be: a(qc, 7),\n            Ke: c(\"ADI\", \"*\"),\n            Qe: a(wc, 2),\n            Jf: a(yc, 2),\n            Df: a(wc, 7),\n            Ie: a(Cc, 1)\n        })\n    }\n    function Vc(a, c) {\n        return new gc(a.U,c)\n    }\n    function Wc(a, c) {\n        var q = a.fa;\n        return new gc(a.U,1 === q || 1 === c ? 1 : 2 === c ? q : 2 === q ? c : Xc(q) || Xc(c) ? 7 : 6 === q && 6 === c ? 6 : 7)\n    }\n    class gc {\n        constructor(a, c) {\n            this.U = a;\n            this.fa = c;\n            this.j = this.g = null\n        }\n        $() {\n            if (!this.j)\n                if (this.g)\n                    this.j = rb(this.g);\n                else {\n                    const a = Object.assign(this.U.$() || {});\n                    a.o = Yc(this.fa);\n                    this.j = a\n                }\n            return this.j\n        }\n        ha() {\n            this.g || (this.g = this.j ? sb(this.j) : (Yc(this.fa) || \"1\") + this.U.ha());\n            return this.g\n        }\n        matches(a) {\n            let c;\n            switch (a.length) {\n            case 0:\n                c = Xc(this.fa);\n                break;\n            case 1:\n                c = 1 !== this.fa;\n                break;\n            default:\n                c = Zc(this.fa)\n            }\n            if (!c)\n                return !1;\n            const q = this.U.ia();\n            return a.every(E=>q(E))\n        }\n        toString() {\n            return this.U instanceof Dc && 1 === this.fa ? \"empty-sequence()\" : this.U.toString() + Yc(this.fa)\n        }\n        equals(a) {\n            return this.ha() === a.ha()\n        }\n    }\n    ;// Input 18\n    class $c {\n        constructor(a) {\n            Array.isArray(a) || sa.la(\"XdmArray value must be an array. Supplied:\" + a);\n            this.value = a\n        }\n        get(a) {\n            if (\"number\" != typeof a)\n                throw new F(\"Array subscript is not numeric\",\"XPTY0004\");\n            if (1 > a || a > this.value.length)\n                throw new F(\"Array index (\" + a + \") out of bounds (1 to \" + this.value.length + \")\",\"FOAY0001\");\n            return this.value[a - 1]\n        }\n        evaluate(a) {\n            return Kb(this.value[a[0][0] - 1])\n        }\n        size() {\n            return this.value.length\n        }\n        showValue() {\n            let a = \"[\";\n            for (let c = 0; c < this.value.length && 3 > c; c++)\n                0 !== c && (a += \",\"),\n                a += sa.showValue(this.value[c]);\n            4 <= this.value.length && (a += \",...(\" + this.value.length + \")\");\n            return a + \"]\"\n        }\n        flatten(a) {\n            for (let c = 0; c < this.value.length; c++) {\n                const q = this.value[c];\n                for (let E = 0; E < q.length; E++)\n                    a(q[E])\n            }\n        }\n        conforms(a, c, q) {\n            var E = La.XS.integer.fromNumber(this.value.length);\n            if (!a(E))\n                return !1;\n            for (a = 0; a < this.value.length; a++)\n                if (E = this.value[a],\n                !q(E.length) || !Kb(E).every(c))\n                    return !1;\n            return !0\n        }\n    }\n    ;// Input 19\n    var bd = function() {\n        function a(p, g, e) {\n            function k(m, f) {\n                function A(O) {\n                    return O instanceof bc ? \"a namespace\" : \"an attribute\"\n                }\n                if (f)\n                    throw new F(\"Cannot create \" + A(m) + \" node on element '\" + E.ca(p) + \"' after creating children\",\"XTDE0410\");\n                if (11 === p.nodeType || 9 === p.nodeType)\n                    throw new F(\"Cannot add \" + A(m) + \" to a document node\",\"XTDE0420\");\n            }\n            function v(m, f) {\n                var A = f._saxonIsLocal ? f._saxonIsLocal : !1;\n                if (f instanceof $c)\n                    f.value.forEach(function(l) {\n                        l.forEach(function(r) {\n                            v(m, r)\n                        })\n                    });\n                else {\n                    if (f instanceof cc)\n                        throw new F(\"A map can't be a child of an XML node\",\"XSLT\" === e.fixed.options.language ? \"XTDE0450\" : \"XPTY0004\");\n                    if (f instanceof ad.XdmFunction)\n                        throw new F(\"A function can't be a child of an XML node\",\"XSLT\" === e.fixed.options.language ? \"XTDE0450\" : \"XPTY0004\");\n                    E.X(f) ? C = !1 : (f = E.Gc(e.ja).createTextNode((C ? \" \" : \"\") + f.toString()),\n                    C = !0);\n                    if (1 === m.nodeType || 11 === m.nodeType) {\n                        if (10 !== f.nodeType)\n                            if (E.Kd(f))\n                                if (pa.Zb(m))\n                                    m.appendChild(m.ownerDocument.importNode(f, !0));\n                                else if (k(f, t),\n                                \"\" === f.prefix) {\n                                    if (\"\" === m.namespaceURI)\n                                        throw new F(\"Cannot add a default namespace to a no-namespace element\",\"XTDE0440\");\n                                    if (m.hasAttributeNS(\"\", \"xmlns\")) {\n                                        if (m.getAttributeNS(\"\", \"xmlns\") !== f.uri)\n                                            throw new F(\"Cannot have two different default namespaces\",\"XTDE0430\");\n                                    } else\n                                        pa.Zb(m) || m.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns\", f.uri)\n                                } else {\n                                    A = \"xmlns:\" + f.prefix;\n                                    var O = f.uri;\n                                    \"~\" === f.uri && null !== Zb.withPrefix[f.prefix] && (O = Zb.withPrefix[f.prefix]);\n                                    if (m.hasAttributeNS(\"http://www.w3.org/2000/xmlns/\", f.prefix) && m.getAttributeNS(\"http://www.w3.org/2000/xmlns/\", f.prefix) !== O)\n                                        throw new F(\"Cannot have two namespaces with the same prefix '\" + f.prefix + \"'\",\"XTDE0430\");\n                                    m.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", A, O)\n                                }\n                            else if (2 === f.nodeType) {\n                                k(f, t);\n                                if (\"\" !== f.namespaceURI && (A = f.name.split(\":\"),\n                                2 !== A.length || m.lookupNamespaceURI(A[0]) !== f.namespaceURI))\n                                    if (2 === A.length && null === m.lookupNamespaceURI(A[0]))\n                                        m.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:\" + A[0], f.namespaceURI);\n                                    else\n                                        for (O = 2 === A.length ? A[0] : \"ns\"; ; )\n                                            if (null === m.lookupNamespaceURI(O)) {\n                                                m.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:\" + O, f.namespaceURI);\n                                                f.name = O + \":\" + A[A.length - 1];\n                                                break\n                                            } else\n                                                O += \"_1\";\n                                m.setAttributeNS(\"\" === f.namespaceURI ? null : f.namespaceURI, f.name, f.value)\n                            } else if (3 === f.nodeType || 4 === f.nodeType)\n                                f.nodeValue && \"\" !== f.nodeValue && (A = m.lastChild,\n                                !A || 3 !== A.nodeType && 4 !== A.nodeType ? m.appendChild(q(f, e, \"\")) : A.nodeValue += f.nodeValue),\n                                t = !0;\n                            else if (9 === f.nodeType || 11 === f.nodeType)\n                                H.Ka(f).forEachItem(function(l) {\n                                    v(m, l)\n                                });\n                            else {\n                                t = !0;\n                                if (!(pa.jd() && e.ja === window.document || 1 !== f.nodeType || pa.Zb(f))) {\n                                    O = f.prefix || \"\";\n                                    var b = f.lookupNamespaceURI(O) || \"\"\n                                      , d = f.namespaceURI || \"\";\n                                    b !== d && E.bf(f, O, d);\n                                    !f.lookupNamespaceURI(null) && m.lookupNamespaceURI(null) && E.bf(f, \"\", \"\")\n                                }\n                                A && pa.Zb(m) === pa.Zb(f) || (f = q(f, e, \"c\"));\n                                m.appendChild(f);\n                                f._saxonIsLocal = !1\n                            }\n                    } else if (9 === m.nodeType)\n                        null !== f && (m.documentElement = f);\n                    else\n                        throw new F(\"Unknown parent node type \" + m.nodeType,\"SXJS0003\");\n                }\n            }\n            e || sa.la(\"No context in makeComplexContent for \" + sa.showValue(p));\n            var t = !1\n              , C = !1;\n            g.forEachItem(function(m) {\n                v(p, m)\n            })\n        }\n        function c(p, g) {\n            g && 0 <= g.indexOf(\"l\") && (p._saxonIsLocal = !0);\n            return p\n        }\n        function q(p, g, e) {\n            var k = e && 0 <= e.indexOf(\"c\");\n            if (E.X(p)) {\n                var v = function(m, f) {\n                    e && 0 <= e.indexOf(\"m\") && (f._saxonOriginal = m)\n                };\n                switch (p.nodeType) {\n                case 9:\n                case 11:\n                    return k = E.wc(g.ja.createDocumentFragment()),\n                    k._saxonBaseUri = p._saxonBaseUri,\n                    k._saxonDocUri = p._saxonDocUri,\n                    a(k, H.Ka(p).mapOneToOne(function(m) {\n                        return q(m, g, e)\n                    }), g),\n                    v(p, k),\n                    c(k, e);\n                case 13:\n                    return new bc(p.prefix,p.uri);\n                case 1:\n                    var t = E.ca(p);\n                    var C = g.createElement(t.uri, t.toString());\n                    !k || pa.jd() && pa.Zb(C) && g.ja === window.document || E.Ic(p).forEach(function(m) {\n                        E.bf(C, m.prefix, m.uri)\n                    });\n                    H.Ha(p).forEachItem(function(m) {\n                        C.setAttributeNS(\"\" === m.namespaceURI ? null : m.namespaceURI, m.name, m.value)\n                    });\n                    H.Ka(p).forEachItem(function(m) {\n                        m = q(m, g, e);\n                        1 === m.nodeType && \"\" === E.ca(m).uri && \"\" !== t.uri && E.bf(m, \"\", \"\");\n                        C.appendChild(m)\n                    });\n                    C._saxonBaseUri = E.baseURI(p);\n                    v(p, C);\n                    return c(C, e);\n                case 10:\n                    return null;\n                case 2:\n                    return new $b(E.ca(p),p.value,null);\n                default:\n                    return C = pa.jd() ? window.document.importNode(p, !0) : p.cloneNode(g.ja, p, !0),\n                    v(p, C),\n                    c(C, e)\n                }\n            } else\n                return p\n        }\n        const E = ac\n          , H = E.Ja;\n        return {\n            Lk: q,\n            kj: a\n        }\n    }();\n    // Input 20\n    var ad = function() {\n        class a {\n            constructor(k, v) {\n                this.xb = k;\n                this.B = k.alphaTree;\n                this.arity = v;\n                this.resultType = this.B.r ? ic(this.B.r) : ec(\"*\");\n                this.j = [];\n                if (k.variadic) {\n                    k = ic(this.B.a[0]);\n                    for (let t = 0; t < v; t++)\n                        this.j.push(k)\n                } else\n                    for (k = 0; k < v; k++)\n                        this.j[k] = ic(this.B.a[k])\n            }\n            Li() {\n                return this.arity\n            }\n            ic() {\n                return null\n            }\n            evaluate() {\n                sa.la(\"Not implemented\");\n                return Ob\n            }\n            sc() {\n                return this.ic() ? this.ic().toEQName() + \"#\" + this.arity : \"anonymous function (arity \" + this.arity + \")\"\n            }\n            showValue() {\n                return this.sc()\n            }\n            g(k, v) {\n                v = v && \"apply\" === v.name;\n                if (k.length !== this.arity)\n                    throw new F(\"Too \" + (k.length < this.arity ? \"few\" : \"many\") + \" arguments in call to \" + this.sc() + \": required \" + this.arity + \", supplied \" + k.length,v ? \"FOAP0001\" : \"XPTY0004\");\n                v = [];\n                for (let t = 0; t < k.length; t++)\n                    v[t] = cd.Uf(k[t], this.j[t], ()=>\"dynamic call of \" + this.sc());\n                return v\n            }\n            convertResult(k) {\n                return Kb(cd.Uf(k, this.resultType, ()=>\"result of dynamic call of \" + this.sc()))\n            }\n            gg() {\n                return new dd(this.j,this.resultType)\n            }\n        }\n        class c extends a {\n            constructor(k, v, t, C, m) {\n                super(k, t);\n                this.name = v;\n                this.ka = [Zb.yh, Zb.map, Zb.Ue, Zb.wb, Zb.nd].includes(v.uri) ? cd.Bi : cd.Ai;\n                this.K = C;\n                if (k.defaultToDot && 0 === t || [\"accumulator-after\", \"accumulator-before\", \"lang\"].includes(v.local))\n                    this.I = ed(m)\n            }\n            ic() {\n                return this.name\n            }\n            evaluate(k, v, t) {\n                var C = this.ic().local;\n                if (\"current\" === C)\n                    throw new F(\"current() function cannot be evaluated dynamically\",\"XTDE1360\");\n                if (\"current-output-uri\" === C)\n                    return Ob;\n                if (\"regex-group\" === C)\n                    return Tb(\"\");\n                let m = v;\n                this.I && (m = v.ba(),\n                m.focus = Rb(this.I));\n                v = [\"string-length\", \"normalize-space\"].includes(C);\n                const f = this.xb.defaultToDot;\n                C = \"number\" === C;\n                if ((v || f || C) && 0 === k.length) {\n                    fd(m, \"XPDY0002\", \". (dot)\");\n                    t = ed(m);\n                    if (v || C)\n                        t = cd.Sb(t).next();\n                    v && (t = La.XS.string.R(t));\n                    k.push([t])\n                } else\n                    k = this.g(k, t);\n                return this.ka(this.ic(), k, m, this.K)\n            }\n        }\n        const q = {\n            NMTOKENS: \"NMTOKEN\",\n            IDREFS: \"IDREF\",\n            ENTITIES: \"ENTITY\"\n        };\n        class E extends a {\n            constructor(k, v, t) {\n                super(k, 1);\n                this.name = v;\n                if (k = q[v.local]) {\n                    const C = La.type[k].fromString;\n                    sa.assert(C);\n                    this.evaluate = m=>{\n                        m = this.g(m, t)[0][0].toString();\n                        m = xa(m).split(\" \");\n                        return Kb(m.map(C))\n                    }\n                } else if (\"QName\" === v.local) {\n                    const C = cd.Wd(t, !0);\n                    this.evaluate = m=>{\n                        m = this.g(m, t)[0][0].toString();\n                        return Pb(La.XS.QName.fromString(m, C))\n                    }\n                } else {\n                    const C = La.type[v.local].R;\n                    sa.assert(C);\n                    this.evaluate = m=>Pb(C(this.g(m, t)[0][0]))\n                }\n            }\n            ic() {\n                return this.name\n            }\n        }\n        class H extends a {\n            constructor(k, v) {\n                super(k, k.alphaTree.a.length);\n                this.K = k.componentBinding;\n                this.I = v.fixed.La[this.K];\n                this.body = cd.da(this.I.actor, \"body\");\n                this.name = La.XS.QName.fromEQName(this.I.actor.name)\n            }\n            ic() {\n                return this.name\n            }\n            evaluate(k, v, t) {\n                k = this.g(k, t);\n                v = v.ba(!0);\n                gd(v);\n                v.qa = \"function\";\n                v.gb = {};\n                v.ab = null;\n                v.focus = null;\n                v.sa = this.I;\n                for (t = 0; t < k.length; t++)\n                    v.oa[t] = k[t];\n                return cd.evaluate(this.body, v)\n            }\n        }\n        class p extends a {\n            constructor(k, v, t) {\n                super(k, k.alphaTree.a.length);\n                this.body = cd.da(v, \"body\");\n                this.K = v.C;\n                this.I = t\n            }\n            evaluate(k, v, t) {\n                k = this.g(k, t);\n                v = v.ba(!0);\n                gd(v);\n                v.qa = \"function\";\n                v.gb = {};\n                v.ab = null;\n                v.focus = null;\n                v.oa = this.I.oa.slice();\n                v.sa = this.I.sa;\n                t = this.K;\n                for (let C = 0; C < k.length; C++)\n                    v.oa[parseInt(t[C].slot, 10)] = k[C];\n                return cd.evaluate(this.body, v)\n            }\n        }\n        class g extends a {\n            constructor(k, v, t) {\n                super(k, k.alphaTree.a.length);\n                this.I = v;\n                this.K = t\n            }\n            sc() {\n                return \"partially-applied \" + this.I.sc()\n            }\n            evaluate(k, v, t) {\n                const C = [];\n                for (let m = 0; m < this.I.arity; m++)\n                    if (C[m] = this.K[m] || k.shift(),\n                    !C[m])\n                        throw new F(\"Too few arguments in call of \" + this.sc(),\"XPTY0004\");\n                return this.I.evaluate(C, v, t)\n            }\n        }\n        class e extends a {\n            constructor(k, v) {\n                super(k, \"F\" === k.alphaTree.p ? k.alphaTree.a.length : 1);\n                this.I = v\n            }\n            sc() {\n                return \"coerced \" + this.I.sc()\n            }\n            evaluate(k, v, t) {\n                k = this.g(k, t);\n                return this.convertResult(this.I.evaluate(k, v, t).expand())\n            }\n        }\n        return {\n            XdmFunction: a,\n            He: c,\n            Bf: E,\n            Ff: H,\n            ai: p,\n            $h: g,\n            zg: e\n        }\n    }();\n    // Input 21\n    function hd(a, c) {\n        a.g = c\n    }\n    function id(a, c) {\n        a.K = c.replace(/^[01?*+]/, \"\")\n    }\n    function jd(a) {\n        return /^N/.test(a.$().p)\n    }\n    function kd(a) {\n        return a instanceof vc\n    }\n    class lc {\n        constructor() {\n            this.g = this.K = null\n        }\n        ia() {\n            return ()=>!0\n        }\n        $() {\n            if (!this.g)\n                if (this.K)\n                    this.g = rb(this.K);\n                else\n                    return null;\n            return this.g\n        }\n        ha() {\n            if (!this.K)\n                if (this.g)\n                    id(this, sb(this.g));\n                else\n                    return null;\n            return this.K\n        }\n        pa(a=\"A\") {\n            return this.$().p.startsWith(a)\n        }\n        isNumeric() {\n            return kd(this) || /^A[ODF]/.test(this.$().p.substring(0))\n        }\n        Jd() {\n            return /^F/.test(this.$().p)\n        }\n        $i() {\n            return !0\n        }\n        B() {\n            return null\n        }\n        I() {\n            return null\n        }\n        aa() {\n            return null\n        }\n        toString() {\n            return this.ha()\n        }\n        equals(a) {\n            return this.ha() === a.ha()\n        }\n    }\n    class pc extends lc {\n        constructor() {\n            super();\n            id(this, \"\");\n            this.g = {\n                p: \"\"\n            }\n        }\n        ia() {\n            return ()=>!0\n        }\n        toString() {\n            return \"item()\"\n        }\n    }\n    var oc;\n    const Uc = new pc;\n    class rc extends lc {\n        constructor() {\n            super();\n            id(this, \"N\");\n            this.g = {\n                p: \"N\"\n            }\n        }\n        ia() {\n            return a=>ac.X(a)\n        }\n        toString() {\n            return \"node()\"\n        }\n    }\n    var qc;\n    class tc extends lc {\n        constructor() {\n            super();\n            id(this, \"N u[NT,NP,NC,NE]\");\n            this.g = {\n                p: \"N\",\n                u: [{\n                    p: \"NT\"\n                }, {\n                    p: \"NP\"\n                }, {\n                    p: \"NC\"\n                }, {\n                    p: \"NE\"\n                }]\n            }\n        }\n        ia() {\n            return a=>ac.X(a) && [1, 3, 4, 8, 7].includes(a.nodeType)\n        }\n        toString() {\n            return \"node()\"\n        }\n    }\n    var sc;\n    function ld(a) {\n        switch (a) {\n        case 9:\n            return Ec;\n        case 1:\n            return Gc;\n        case 2:\n            return Hc;\n        case 8:\n            return Jc;\n        case 3:\n        case 4:\n            return Ic;\n        case 7:\n            return Kc;\n        case 13:\n            return Lc;\n        default:\n            throw new F(\"Unknown node kind \" + a);\n        }\n    }\n    function md(a) {\n        switch (a) {\n        case 1:\n            return \"NE\";\n        case 3:\n            return \"NT\";\n        case 2:\n            return \"NA\";\n        case 9:\n            return \"ND\";\n        case 8:\n            return \"NC\";\n        case 4:\n            return \"NT\";\n        case 7:\n            return \"NP\";\n        case 13:\n            return \"NN\";\n        case 0:\n            return \"N\";\n        default:\n            throw new F(\"Unknown node kind \" + a + \" in NodeKindTest\");\n        }\n    }\n    class Fc extends lc {\n        constructor(a) {\n            super();\n            this.kind = a;\n            a = md(a);\n            id(this, a);\n            this.g = {\n                p: a\n            }\n        }\n        ia() {\n            switch (this.kind) {\n            case 9:\n                return a=>ac.X(a) && (9 === a.nodeType || 11 === a.nodeType);\n            case 3:\n            case 4:\n                return a=>ac.X(a) && (3 === a.nodeType || 4 === a.nodeType);\n            default:\n                return a=>ac.X(a) && a.nodeType === this.kind\n            }\n        }\n        toString() {\n            switch (this.kind) {\n            case 9:\n                return \"document-node()\";\n            case 1:\n                return \"element(*)\";\n            case 2:\n                return \"attribute(*)\";\n            case 8:\n                return \"comment()\";\n            case 3:\n            case 4:\n                return \"text()\";\n            case 7:\n                return \"processing-instruction()\";\n            case 13:\n                return \"namespace-node()\";\n            case 0:\n                return \"node()\";\n            default:\n                throw new F(\"Unknown node kind \" + this.kind + \" in NodeKindTest\");\n            }\n        }\n    }\n    var Ec, Gc, Hc, Jc, Ic, Kc, Lc;\n    class nd extends Fc {\n        constructor(a, c) {\n            super(a);\n            this.name = c;\n            a = md(a);\n            id(this, a + \" n\" + c.toEQName());\n            this.g = {\n                p: a,\n                n: c.toEQName()\n            }\n        }\n        ia() {\n            const a = this.name;\n            return c=>{\n                var q;\n                if (q = ac.X(c) && c.nodeType === this.kind)\n                    q = (c = ac.ca(c)) && a.equals(c);\n                return q\n            }\n        }\n        toString() {\n            return super.toString().replace(/\\(\\*?\\)/, \"(\" + this.$().n + \")\")\n        }\n    }\n    class od extends Fc {\n        constructor(a, c) {\n            super(a);\n            this.localName = c;\n            a = md(a);\n            id(this, a + \" n*:\" + c);\n            this.g = {\n                p: a,\n                n: \"*:\" + c\n            }\n        }\n        ia() {\n            return a=>ac.X(a) && a.nodeType === this.kind && ac.ca(a).local === this.localName\n        }\n        toString() {\n            return super.toString().replace(/\\(\\*?\\)/, \"(*:\" + this.localName + \")\")\n        }\n    }\n    class pd extends Fc {\n        constructor(a, c) {\n            super(a);\n            this.uri = c;\n            a = md(a);\n            id(this, a + \" nQ{\" + c + \"}*\");\n            this.g = {\n                p: a,\n                n: \"Q{\" + c + \"}*\"\n            }\n        }\n        ia() {\n            return a=>ac.X(a) && a.nodeType === this.kind && ac.ca(a).uri === this.uri\n        }\n        toString() {\n            return super.toString().replace(/\\(\\*?\\)/, \"Q{\" + this.uri + \"}*)\")\n        }\n    }\n    class qd extends Fc {\n        constructor(a) {\n            super(9);\n            this.j = a;\n            id(this, \"ND e[\" + a.ha() + \"]\");\n            this.g = {\n                p: \"ND\",\n                e: a.$()\n            }\n        }\n        ia() {\n            return a=>ac.X(a) && (9 === a.nodeType || 11 === a.nodeType) && this.j.ia()(a.firstChild)\n        }\n        toString() {\n            return \"document-node(\" + this.j.toString() + \")\"\n        }\n    }\n    class nc extends lc {\n        constructor(a) {\n            super();\n            this.Vc = a;\n            id(this, a.code);\n            this.g = {\n                p: a.code\n            }\n        }\n        ia() {\n            return a=>this.Vc.matches(a)\n        }\n        toString() {\n            return \"xs:\" + this.Vc.name\n        }\n    }\n    class vc extends lc {\n        constructor() {\n            super();\n            id(this, \"A m[AO,AD,AF]\");\n            this.g = {\n                p: \"A\",\n                m: [{\n                    p: \"AO\"\n                }, {\n                    p: \"AD\"\n                }, {\n                    p: \"AF\"\n                }]\n            }\n        }\n        ia() {\n            return a=>/^A[ODF]/.test(a.code)\n        }\n        toString() {\n            return \"xs:numeric\"\n        }\n    }\n    var uc;\n    class Dc extends lc {\n        ha() {\n            return \"E\"\n        }\n        $() {\n            return {\n                p: \"E\"\n            }\n        }\n        ia() {\n            return ()=>!1\n        }\n        toString() {\n            return \"xs:error\"\n        }\n    }\n    var Cc;\n    class rd extends lc {\n        constructor() {\n            super();\n            this.j = [];\n            this.resultType = null\n        }\n        Nb(a) {\n            if (!(a instanceof rd))\n                return sd.cc;\n            if (a instanceof zc || a instanceof Bc)\n                return sd.Rb;\n            if (!(a instanceof dd || a instanceof td || a instanceof ud))\n                return sd.nc;\n            if (this.j.length !== a.j.length)\n                return sd.cc;\n            const c = function(E, H, p) {\n                return E.map((g,e)=>p(g, H[e]))\n            }(this.j, a.j, sd.Lh)\n              , q = sd.Lh(this.resultType, a.resultType);\n            return c.every(E=>E === sd.yb) && q === sd.yb ? sd.yb : c.every(E=>[sd.yb, sd.nc].includes(E) && [sd.yb, sd.Rb].includes(q)) ? sd.Rb : c.every(E=>[sd.yb, sd.Rb].includes(E) && [sd.yb, sd.nc].includes(q)) ? sd.nc : sd.Eg\n        }\n        ff() {\n            return dc.Aa\n        }\n    }\n    class xc extends rd {\n        constructor() {\n            super();\n            id(this, \"F\");\n            this.g = {\n                p: \"F\"\n            }\n        }\n        ia() {\n            return a=>a instanceof ad.XdmFunction || a instanceof $c || a instanceof cc || a instanceof cd.Ef\n        }\n        Nb(a) {\n            return a instanceof xc ? sd.yb : /^F/.test(a.$().p) ? sd.Rb : sd.cc\n        }\n        toString() {\n            return \"function(*)\"\n        }\n    }\n    var wc;\n    function vd(a, c) {\n        let q = [];\n        c.forEach(E=>{\n            q.push(a.j[E])\n        }\n        );\n        return new dd(q,a.resultType)\n    }\n    class dd extends rd {\n        constructor(a, c) {\n            super();\n            sa.assert(c instanceof gc);\n            sa.assert(a.every(q=>q instanceof gc));\n            this.j = a;\n            this.resultType = c;\n            id(this, \"F a[\" + a.map(q=>q.ha()).join(\",\") + \"] r[\" + c.ha() + \"]\");\n            hd(this, {\n                p: \"F\",\n                a: a.map(q=>q.$()),\n                r: c.$()\n            })\n        }\n        ia() {\n            const a = this;\n            return function(c) {\n                return c instanceof $c ? 1 === a.j.length && 2 === a.j[0].fa && c.conforms(a.j[0].U.ia(), a.resultType.U.ia(), wd(a.resultType.fa)) : c instanceof cc ? 1 === a.j.length && 2 === a.j[0].fa && a.j[0].U instanceof nc && c.conforms(()=>!0, a.resultType.U.ia(), wd(a.resultType.fa)) : c instanceof ad.XdmFunction ? (c = a.Nb(c.gg()),\n                [sd.yb, sd.Rb].includes(c)) : !1\n            }\n        }\n        ff() {\n            return this.resultType\n        }\n        toString() {\n            return \"(function(\" + this.j.map(a=>a.toString()).join(\",\") + \") as \" + this.resultType.toString() + \")\"\n        }\n    }\n    class zc extends rd {\n        constructor() {\n            super();\n            id(this, \"FM\");\n            this.g = {\n                p: \"FM\"\n            }\n        }\n        I() {\n            return Sc\n        }\n        aa() {\n            return dc.Aa\n        }\n        ia() {\n            return a=>a instanceof cc || a instanceof cd.Ef\n        }\n        toString() {\n            return \"map(*)\"\n        }\n    }\n    var yc;\n    class td extends rd {\n        constructor(a, c) {\n            super();\n            sa.assert(a instanceof lc);\n            sa.assert(c instanceof gc);\n            this.V = a;\n            this.valueType = c;\n            id(this, \"FM k[\" + a.ha() + \"] v[\" + c.ha() + \"]\");\n            this.g = {\n                p: \"FM\",\n                k: a.$(),\n                v: c.$()\n            }\n        }\n        ia() {\n            return a=>a instanceof cc && a.conforms(this.V.ia(), this.valueType.U.ia(), wd(this.valueType.fa))\n        }\n        toString() {\n            return \"map(\" + this.V.toString() + \",\" + this.valueType.toString() + \")\"\n        }\n        I() {\n            return this.V\n        }\n        aa() {\n            return this.valueType\n        }\n        ff() {\n            return this.valueType\n        }\n    }\n    class Bc extends rd {\n        constructor() {\n            super();\n            id(this, \"FA\");\n            this.g = {\n                p: \"FA\"\n            }\n        }\n        ia() {\n            return a=>a instanceof $c\n        }\n        toString() {\n            return \"array(*)\"\n        }\n        B() {\n            return dc.Aa\n        }\n    }\n    var Ac;\n    class ud extends rd {\n        constructor(a) {\n            super();\n            sa.assert(a instanceof gc);\n            this.V = a;\n            id(this, \"FA v[\" + a.ha() + \"]\");\n            this.g = {\n                p: \"FA\",\n                v: a.$()\n            }\n        }\n        ia() {\n            return a=>a instanceof $c && a.value.every(c=>this.V.matches(c))\n        }\n        toString() {\n            return \"array(\" + this.V.toString() + \")\"\n        }\n        B() {\n            return this.V\n        }\n        ff() {\n            return this.V\n        }\n    }\n    class xd extends lc {\n        constructor(a, c) {\n            super();\n            this.j = a;\n            this.V = c;\n            var q = a.$();\n            const E = c.$();\n            q = tb(q.p, E.p);\n            id(this, q + \" u[\" + a.ha() + \",\" + c.ha() + \"]\");\n            this.g = {\n                p: q,\n                u: [a.$(), c.$()]\n            }\n        }\n        ia() {\n            const a = this.j.ia()\n              , c = this.V.ia();\n            return q=>a(q) || c(q)\n        }\n        I() {\n            const a = this.j.I()\n              , c = this.V.I();\n            return new xd(a,c)\n        }\n        B() {\n            const a = this.j.B()\n              , c = this.V.B()\n              , q = a.fa;\n            return q === c.fa ? new gc(new xd(a.U,c.U),q) : dc.Aa\n        }\n    }\n    class yd extends lc {\n        constructor(a, c) {\n            super();\n            this.j = a;\n            this.V = c;\n            var q = a.$();\n            const E = c.$();\n            q = q.p.startsWith(E.p) ? q.p : E.p.startsWith(q.p) ? E.p : q.p.charAt(0) === E.p.charAt(0) ? q.p.charAt(0) : \"\";\n            id(this, q + \" i[\" + a.ha() + \",\" + c.ha() + \"]\");\n            this.g = {\n                p: q,\n                i: [a.$(), c.$()]\n            }\n        }\n        ia() {\n            const a = this.j.ia()\n              , c = this.V.ia();\n            return q=>a(q) && c(q)\n        }\n    }\n    class zd extends lc {\n        constructor(a, c) {\n            super();\n            this.j = a;\n            this.V = c;\n            var q = a.$();\n            const E = c.$();\n            q = q.p.startsWith(E.p) ? q.p : E.p.startsWith(q.p) ? E.p : q.p.charAt(0) === E.p.charAt(0) ? q.p.charAt(0) : \"\";\n            id(this, q + \" d[\" + a.ha() + \",\" + c.ha() + \"]\");\n            this.g = {\n                p: q,\n                d: [a.$(), c.$()]\n            }\n        }\n        ia() {\n            const a = this.j.ia()\n              , c = this.V.ia();\n            return q=>a(q) && !c(q)\n        }\n    }\n    const Ad = {};\n    function fc(a) {\n        var c = Ad[a];\n        if (c)\n            return c;\n        c = rb(a);\n        c = jc(c);\n        return Ad[a] = c\n    }\n    function jc(a) {\n        var c = a.p;\n        if (\"\" === c)\n            return oc;\n        if (a.u)\n            return c = jc(a.u[0]),\n            a.u.slice(1).reduce((q,E)=>new xd(q,jc(E)), c);\n        if (a.i)\n            return c = jc(a.i[0]),\n            a.i.slice(1).reduce((q,E)=>new yd(q,jc(E)), c);\n        if (a.d)\n            return new zd(jc(a.d[0]),jc(a.d[1]));\n        switch (c.charAt(0)) {\n        case \"A\":\n            if (\"Q{http://www.w3.org/2001/XMLSchema}numeric\" === a.n)\n                return uc;\n            if (a.m) {\n                a = a.m;\n                if (3 === a.length && a.some(q=>\"AO\" === q.p) && a.some(q=>\"AD\" === q.p) && a.some(q=>\"AF\" === q.p))\n                    return uc;\n                sa.la(\"Unhandled atomic union type\")\n            } else\n                return new nc(La.codes[c]);\n            break;\n        case \"F\":\n            switch (c) {\n            case \"FA\":\n                return a.v ? new ud(ic(a.v)) : Ac;\n            case \"FM\":\n                return a.k && a.v ? new td(jc(a.k),ic(a.v)) : yc;\n            default:\n                return a.a ? (c = a.a.map(ic),\n                a = a.r ? ic(a.r) : dc.Aa,\n                new dd(c,a)) : wc\n            }\n        case \"N\":\n            if (\"N\" === c)\n                return qc;\n            c = {\n                ND: 9,\n                NE: 1,\n                NA: 2,\n                NT: 3,\n                NC: 8,\n                NP: 7,\n                NN: 13\n            }[c];\n            return a.n ? (a = a.n,\n            /\\}\\*$/.test(a) ? new pd(c,a.substring(2, a.length - 2)) : /^\\*:/.test(a) ? new od(c,a.substring(2)) : new nd(c,La.XS.QName.fromEQName(a))) : a.e ? (a = jc(a.e),\n            new qd(a)) : new Fc(c);\n        case \"E\":\n            return Cc\n        }\n    }\n    const Bd = {\n        IDREFS: \"ASNTNCR\",\n        ENTITIES: \"ASNTNCE\",\n        NMTOKENS: \"ASNTK\"\n    }\n      , Tc = {};\n    var Sc, Mc, Nc, Oc, Pc, Qc, Rc;\n    // Input 22\n    var sd = function() {\n        function a(e, k) {\n            sa.assert(e instanceof lc);\n            sa.assert(k instanceof lc);\n            const v = e.ha() + \"<>\" + k.ha()\n              , t = g[v];\n            if (t)\n                return t;\n            e = H(e, k);\n            return g[v] = e\n        }\n        function c(e, k) {\n            sa.assert(e instanceof lc);\n            sa.assert(k instanceof lc);\n            switch (a(e, k)) {\n            case 0:\n            case 1:\n                return e;\n            case 2:\n                return k;\n            case 3:\n            case 4:\n                return e = e.$(),\n                k = k.$(),\n                jc({\n                    p: tb(e.p, k.p),\n                    u: [e, k]\n                })\n            }\n        }\n        function q(e, k) {\n            sa.assert(e instanceof lc);\n            sa.assert(k instanceof lc);\n            switch (a(e, k)) {\n            case 0:\n            case 1:\n                return k;\n            case 2:\n                return e;\n            case 3:\n                return e = e.$(),\n                k = k.$(),\n                jc({\n                    p: e.p.startsWith(k.p) ? e.p : k.p.startsWith(e.p) ? k.p : e.p.charAt(0) === k.p.charAt(0) ? e.p.charAt(0) : \"\",\n                    i: [e, k]\n                });\n            case 4:\n                return Cc\n            }\n        }\n        function E(e, k) {\n            return 0 === e && 0 === k ? 0 : 0 !== e && 1 !== e || 0 !== k && 1 !== k ? 0 !== e && 2 !== e || 0 !== k && 2 !== k ? 4 === e || 4 === k ? 4 : 3 : 2 : 1\n        }\n        function H(e, k) {\n            function v(b, d) {\n                return (b || \"\") === (d || \"\") ? 0 : b && !d ? 2 : d && !b ? 1 : 4\n            }\n            function t(b) {\n                return 1 === b ? 2 : 2 === b ? 1 : b\n            }\n            function C(b) {\n                return b.n || b.e || b.u || b.i || b.d\n            }\n            var m = e.$();\n            const f = k.$()\n              , A = e.ha()\n              , O = k.ha();\n            if (\"F\" === m.p) {\n                if (!(e instanceof rd && k instanceof rd))\n                    return 3;\n                sa.assert(e.Nb);\n                return e.Nb(k)\n            }\n            if (A === O)\n                return 0;\n            if (e instanceof Dc)\n                return 2;\n            if (k instanceof Dc)\n                return 1;\n            if (kd(e))\n                return kd(k) ? 0 : /^A[ODF]/.test(f.p) ? 1 : \"A\" === f.p || \"\" === f.p ? 2 : 4;\n            if (kd(k))\n                return t(H(k, e));\n            if (m.p === f.p) {\n                if (jd(e))\n                    return m.u && f.u ? 3 : m.e && f.e ? v(m.e, f.e) : m.n && f.n ? v(m.n, f.n) : C(m) && C(f) ? 4 : C(m) && !C(f) ? 2 : C(f) && !C(m) ? 1 : 0;\n                if (e.pa())\n                    return 0;\n                if (\"FA\" === m.p)\n                    return e = e.B ? e.B() : dc.Aa,\n                    k = k.B ? k.B() : dc.Aa,\n                    p(e, k);\n                if (\"FM\" === m.p)\n                    return m = a(e.I(), k.I()),\n                    k = p(e.aa(), k.aa()),\n                    E(m, k);\n                if (!(e instanceof rd && k instanceof rd))\n                    return 3;\n                sa.assert(e.Nb);\n                return e.Nb(k)\n            }\n            return m.p.startsWith(f.p) ? m.u ? 3 : 2 : f.p.startsWith(m.p) ? m.u ? 3 : 1 : 4\n        }\n        function p(e, k) {\n            sa.assert(e instanceof gc);\n            sa.assert(k instanceof gc);\n            var v = e.fa;\n            var t = k.fa;\n            v = v === t ? sd.yb : (v | t) === v ? sd.Rb : (v | t) === t ? sd.nc : 0 === (v | t) ? sd.cc : sd.Eg;\n            e = a(e.U, k.U);\n            return E(v, e)\n        }\n        const g = {};\n        return {\n            yb: 0,\n            Rb: 1,\n            nc: 2,\n            Eg: 3,\n            cc: 4,\n            Nb: a,\n            fj: function(e, k) {\n                sa.assert(e instanceof lc);\n                sa.assert(k instanceof lc);\n                e = a(e, k);\n                return 0 === e || 2 === e\n            },\n            Xj: c,\n            Md: function(e) {\n                sa.assert(0 < e.length);\n                return e.slice(1).reduce((k,v)=>c(k, v), e[0])\n            },\n            Ui: function(e) {\n                sa.assert(0 < e.length);\n                return e.slice(1).reduce((k,v)=>q(k, v), e[0])\n            },\n            Lh: p\n        }\n    }();\n    // Input 23\n    function Zc(a) {\n        return 0 !== (a & 4)\n    }\n    function Xc(a) {\n        return 0 !== (a & 1)\n    }\n    function Cd(a) {\n        let c = 0;\n        a.forEach(q=>c |= q);\n        5 === c && (c = 7);\n        return c\n    }\n    function hc(a) {\n        return {\n            0: 1,\n            1: 2,\n            \"?\": 3,\n            \"+\": 6,\n            \"*\": 7\n        }[a]\n    }\n    function Dd(a, c) {\n        return (Xc(a) && Xc(c) ? 1 : 0) + (1 !== a || 1 !== c ? 2 : 0) + (1 === a && !Zc(c) || 1 === c && !Zc(a) ? 0 : 4)\n    }\n    function Ed(a) {\n        switch (a) {\n        case \"1\":\n            return c=>1 === c;\n        case \"0\":\n            return c=>0 === c;\n        case \"?\":\n            return c=>2 > c;\n        case \"+\":\n            return c=>0 < c;\n        case \"*\":\n            return ()=>!0\n        }\n    }\n    function wd(a) {\n        switch (a) {\n        case 1:\n            return c=>0 === c;\n        case 2:\n            return c=>1 === c;\n        case 4:\n            return c=>1 < c;\n        case 3:\n            return c=>2 > c;\n        case 6:\n            return c=>0 < c;\n        default:\n            return ()=>!0\n        }\n    }\n    function Yc(a) {\n        switch (a) {\n        case 3:\n            return \"?\";\n        case 2:\n            return \"\";\n        case 7:\n            return \"*\";\n        case 6:\n            return \"+\";\n        case 4:\n            return \"+\";\n        case 1:\n            return \"0\";\n        default:\n            return \"*\"\n        }\n    }\n    ;// Input 24\n    function Fd(a, c, q) {\n        a = a.expand();\n        c = c.expand();\n        a = Kb(a);\n        c = Kb(c);\n        let E, H;\n        for (; ; ) {\n            E = a.next();\n            H = c.next();\n            if (null === E)\n                return null === H;\n            if (null === H || !Gd(E, H, q))\n                return !1\n        }\n    }\n    function Gd(a, c, q) {\n        var E = ac.Ja;\n        if (a === c)\n            return !0;\n        if (ac.X(a)) {\n            if (!ac.X(c) || !ac.ej(a.nodeType, c.nodeType))\n                return !1;\n            switch (a.nodeType) {\n            case 9:\n            case 11:\n                return Fd(E.Ka(a), E.Ka(c));\n            case 1:\n                if (!ac.ca(a).equals(ac.ca(c)))\n                    return !1;\n                const H = E.Ha(a).expand();\n                if (H.length !== E.Ha(c).count())\n                    return !1;\n                for (let p = 0; p < H.length; p++) {\n                    const g = H[p]\n                      , e = ac.ca(g)\n                      , k = e.uri ? e.uri : null;\n                    if (!c.hasAttributeNS(k, e.local) || c.getAttributeNS(k, e.local) !== g.value)\n                        return !1\n                }\n                return Fd(E.Ka(a), E.Ka(c), q);\n            case 2:\n                return ac.ca(a).equals(ac.ca(c)) && a.value === c.value;\n            case 13:\n                return a.prefix === c.prefix && a.uri === c.uri;\n            case 7:\n                return a.target === c.target && (q ? q(a.textContent, c.textContent) : a.textContent === c.textContent);\n            case 3:\n            case 4:\n            case 8:\n                return q ? q(a.textContent, c.textContent) : a.textContent === c.textContent;\n            default:\n                throw new F(\"Unknown node type \" + a.nodeType,\"SXJS0003\");\n            }\n        } else {\n            if (a instanceof $c) {\n                if (!(c instanceof $c && c.value.length === a.value.length))\n                    return !1;\n                for (E = 0; E < a.value.length; E++)\n                    if (!Fd(Kb(a.value[E]), Kb(c.value[E]), q))\n                        return !1;\n                return !0\n            }\n            if (a instanceof cc) {\n                if (!(c instanceof cc))\n                    return !1;\n                q = a.keys();\n                E = c.keys();\n                return q.length !== E.length ? !1 : Kb(q).every(function(H) {\n                    return c.containsKey(H) && Fd(Kb(a.get(H)), Kb(c.get(H)))\n                })\n            }\n            if (a instanceof ad.XdmFunction || c instanceof ad.XdmFunction)\n                throw new F(\"Function types, other than map(*) or array(*) cannot be tested for equality\",\"FOTY0015\");\n            if (Hd.tc(a) && Hd.tc(c))\n                return !0;\n            if (q && Ia(a) && Ia(c))\n                return q(a.value, c.value);\n            try {\n                return a.equals(c)\n            } catch (H) {\n                return !1\n            }\n        }\n    }\n    function Id(a, c, q) {\n        let E = a.next()\n          , H = c.next();\n        for (; ; ) {\n            if (null === E)\n                return null === H ? 0 : -1;\n            if (null === H)\n                return 1;\n            if (q)\n                if (Gd(E, H, q.equals))\n                    E = a.next(),\n                    H = c.next();\n                else\n                    return Hd.tc(E) ? -1 : /^AS/.test(E.code) && /^AS/.test(H.code) ? q.compare(E.value, H.value) : E.compareTo(H);\n            else if (Gd(E, H))\n                E = a.next(),\n                H = c.next();\n            else\n                return Hd.tc(E) ? -1 : E.compareTo(H)\n        }\n    }\n    ;// Input 25\n    const Hd = function() {\n        function a(D, y) {\n            return D.equals(y)\n        }\n        function c(D, y) {\n            return D.compareTo(y)\n        }\n        function q(D) {\n            return null === D\n        }\n        function E(D) {\n            return (z.double.matches(D) || z.float.matches(D)) && isNaN(D.toNumber())\n        }\n        function H(D, y) {\n            return function(I, R) {\n                return y(I) || y(R) ? y(I) ? y(R) : !1 : D(I, R)\n            }\n        }\n        function p(D, y) {\n            return function(I, R) {\n                return y(I) || y(R) ? y(I) ? y(R) ? 0 : -1 : 1 : D(I, R)\n            }\n        }\n        function g(D, y) {\n            return null === D ? NaN : z.numeric.matches(D) ? D.toNumber() : y ? z.double.fromString(D.toString()).toNumber() : z.double.cf(D.toString()).toNumber()\n        }\n        function e(D) {\n            return function(y, I) {\n                y = g(y, D);\n                I = g(I, D);\n                return isNaN(y) ? isNaN(I) ? 0 : -1 : isNaN(I) ? 1 : y - I\n            }\n        }\n        function k(D) {\n            return function(y, I) {\n                y = g(y, D);\n                I = g(I, D);\n                return isNaN(y) ? isNaN(I) : isNaN(I) ? !1 : 0 === y - I\n            }\n        }\n        function v(D, y) {\n            return function(I, R) {\n                I = I.toString();\n                R = R.toString();\n                var M = D(I.toLowerCase(), R.toLowerCase());\n                if (0 === M) {\n                    for (M = 0; M < I.length; M++)\n                        if (I.charAt(M) !== R.charAt(M))\n                            return y === (I.charAt(M) === I.charAt(M).toLowerCase()) ? -1 : 1;\n                    return 0\n                }\n                return M\n            }\n        }\n        function t(D) {\n            return function(y, I) {\n                return Ia(y) && Ia(I) ? D(y.value, I.value) : y.equals(I)\n            }\n        }\n        function C(D) {\n            return function(y, I) {\n                return Ia(y) && Ia(I) ? D(y.value, I.value) : y.compareTo(I)\n            }\n        }\n        function m(D, y) {\n            const I = D.split(\"|\");\n            if (\"DESC\" === I[0]) {\n                const ca = m(D.slice(5), y);\n                return {\n                    equals: ca.equals,\n                    compare: function(ea, ja) {\n                        return ca.compare(ja, ea)\n                    }\n                }\n            }\n            const R = {\n                equals: null,\n                compare: null\n            };\n            let M;\n            switch (I[0]) {\n            case \"NC\":\n                return R.equals = k(!1),\n                R.compare = e(!1),\n                R;\n            case \"QUNC\":\n                return R.equals = k(!0),\n                R.compare = e(!0),\n                R;\n            case \"DblSC\":\n                return R.equals = H(a, E),\n                R.compare = p(p(c, E), q),\n                R;\n            case \"CCC\":\n                return R.equals = t(qa().equals),\n                R.compare = p(C(qa().compare), q),\n                R;\n            case \"TEXT\":\n                return D = I[1] || \"http://www.w3.org/2005/xpath-functions/collation/codepoint\",\n                M = B(D, y),\n                ma(M, D),\n                R.equals = H(function(ca, ea) {\n                    return M.equals(ca.toString(), ea.toString())\n                }, q),\n                R.compare = p(function(ca, ea) {\n                    return C(M.compare)(z.string.R(ca), z.string.R(ea))\n                }, q),\n                R;\n            case \"CAVC\":\n            case \"DecSC\":\n            case \"GAC\":\n            case \"AtSC\":\n            case \"CalVC\":\n                return {\n                    equals: H(a, q),\n                    compare: p(p(c, E), q)\n                };\n            case \"EQC\":\n                return R.equals = H(a, q),\n                R.compare = function(ca, ea) {\n                    return R.equals(ca, ea) ? 0 : 1\n                }\n                ,\n                R;\n            case \"CAC\":\n                return D = I[1] || \"http://www.w3.org/2005/xpath-functions/collation/codepoint\",\n                M = B(D, y),\n                ma(M, D),\n                R.equals = function(ca, ea) {\n                    return M.equals(ca.toString(), ea.toString())\n                }\n                ,\n                R.compare = function(ca, ea) {\n                    return M.compare(ca.toString(), ea.toString())\n                }\n                ,\n                R;\n            default:\n                throw new F(\"Unknown comparer \" + D,\"SXJS0003\");\n            }\n        }\n        function f(D, y) {\n            const I = y.fixed.ka;\n            let R = null;\n            D.comp && (R = D.comp,\n            R = R.replace(/^DESC\\|/, \"\"));\n            let M = I.qc(I.da(D, \"collation\"), y).next()\n              , ca = I.qc(I.da(D, \"order\"), y).next()\n              , ea = I.qc(I.da(D, \"lang\"), y).next()\n              , ja = I.qc(I.da(D, \"caseOrder\"), y).next();\n            D = I.qc(I.da(D, \"dataType\"), y).next();\n            ja = null === M && null !== ja ? ja.toString() : \"#default\";\n            try {\n                ea = null === M && null !== ea && \"\" !== ea.toString() ? z.language.fromString(ea.toString()) : null\n            } catch (Y) {\n                throw new F(\"@lang: \" + Y.message,\"XTDE0030\");\n            }\n            \"CalVC\" === R && (D = null);\n            ca = null === ca ? \"ascending\" : ca.toString();\n            D = null === D ? null : D.toString();\n            M = null === M ? null === ea ? \"http://www.w3.org/2005/xpath-functions/collation/codepoint\" : \"http://www.w3.org/2013/collation/UCA?lang=\" + ea.toString() : M.toString();\n            return {\n                Dd: R,\n                collation: M,\n                order: ca,\n                lang: ea,\n                Ye: ja,\n                dataType: D\n            }\n        }\n        function A(D, y) {\n            return O(f(D, y), y)\n        }\n        function O(D, y) {\n            function I(M) {\n                return \"descending\" === D.order ? function(ca, ea) {\n                    return M(ea, ca)\n                }\n                : M\n            }\n            y = B(D.collation, y);\n            ma(y, D.collation);\n            y = y.compare;\n            const R = \"#default\" !== D.Ye ? v(y, \"lower-first\" === D.Ye) : C(y);\n            if (\"number\" === D.dataType)\n                return I(e(!1));\n            if (\"text\" === D.dataType)\n                return I(p(function(M, ca) {\n                    return R(z.string.R(M), z.string.R(ca))\n                }, q));\n            if (D.Dd) {\n                y = D.Dd;\n                if (\"DblSC\" === y)\n                    return I(p(p(c, E), q));\n                if (\"CalVC\" === y || \"DecSC\" === y)\n                    return I(p(c, q));\n                if (\"CCC\" === y)\n                    return I(p(R, q))\n            }\n            return I(R)\n        }\n        function b(D, y) {\n            switch (D) {\n            case \"=\":\n            case \"eq\":\n                return 0 === y;\n            case \"<\":\n            case \"lt\":\n                return 0 > y;\n            case \">\":\n            case \"gt\":\n                return 0 < y;\n            case \">=\":\n            case \"ge\":\n                return 0 <= y;\n            case \"<=\":\n            case \"le\":\n                return 0 >= y;\n            case \"!=\":\n            case \"ne\":\n                return 0 !== y;\n            default:\n                throw new F(\"Unknown operator \" + D,\"SXJS0003\");\n            }\n        }\n        function d(D, y) {\n            return D.map(function(I) {\n                var R = y.fixed.ka;\n                I = R.da(I, \"dataType\");\n                R = null === I ? null : R.evaluate(I, y).next();\n                return \"number\" === R ? function(M) {\n                    return null === M ? null : z.double.cf(M.toString())\n                }\n                : \"text\" === R ? function(M) {\n                    return null === M ? null : z.string.R(M)\n                }\n                : function(M) {\n                    return M\n                }\n            })\n        }\n        function l(D, y) {\n            return D.substring(0, y.length) === y\n        }\n        function r(D, y) {\n            return D.substring(D.length - y.length) === y\n        }\n        function n(D, y) {\n            return y && (y = y.next()) ? y.toString() : D.collation || cd.hg(D, \"defaultCollation\")\n        }\n        function B(D, y) {\n            y = D ? l(D, \"http://www.w3.org/2013/collation/UCA\") && 36 < D.length ? W(D, D.substring(37), y) : l(D, \"http://saxon.sf.net/collation\") && 29 < D.length ? W(D, D.substring(30), y) : y.fixed.options.Ac[D] : qa();\n            if (!y)\n                throw new F(\"Unrecognized collation \" + D,\"FOCH0002\");\n            return y\n        }\n        function W(D, y) {\n            if (\"\" === y)\n                y = qa();\n            else if (\"strength=secondary\" === y || \"strength=2\" === y)\n                y = L();\n            else {\n                const I = {};\n                y.split(\";\").forEach(function(M) {\n                    M = M.split(\"=\");\n                    I[M[0]] = M[1]\n                });\n                y = {};\n                if (\"no\" === I.fallback)\n                    throw new F(\"Unsupported collation \" + D,\"FOCH0002\");\n                if (I.strength)\n                    if (\"primary\" === I.strength || \"1\" === I.strength)\n                        y.sensitivity = \"base\";\n                    else if (\"secondary\" === I.strength || \"2\" === I.strength)\n                        y.sensitivity = \"accent\";\n                    else if (\"tertiary\" === I.strength || \"3\" === I.strength)\n                        y.sensitivity = \"variant\";\n                    else if (\"quaternary\" === I.strength || \"4\" === I.strength || \"identical\" === I.strength || \"5\" === I.strength)\n                        y.sensitivity = \"variant\",\n                        y.ignorePunctuation = !1;\n                if (I.caseFirst) {\n                    let M = I.caseFirst;\n                    [\"upper\", \"lower\", \"false\"].includes(M) || (M = \"false\");\n                    y.caseFirst = M\n                }\n                \"yes\" === I.numeric && (y.numeric = !0);\n                \"blanked\" === I.alternate && (y.ignorePunctuation = !0);\n                const R = new Intl.Collator(I.lang,y);\n                y = {\n                    equals: function(M, ca) {\n                        return 0 === R.compare(M, ca)\n                    },\n                    compare: function(M, ca) {\n                        return R.compare(M, ca)\n                    },\n                    startsWith: function(M, ca) {\n                        return M.length < ca.length ? !1 : 0 === R.compare(M.substring(0, ca.length), ca)\n                    },\n                    endsWith: function(M, ca) {\n                        return M.length < ca.length ? !1 : 0 === R.compare(M.substring(M.length - ca.length), ca)\n                    },\n                    indexOf: function(M, ca) {\n                        if (M.length < ca.length)\n                            return -1;\n                        for (let ea = 0; ea <= M.length - ca.length; ea++)\n                            if (0 === R.compare(M.substring(ea, ea + ca.length), ca))\n                                return ea;\n                        return -1\n                    },\n                    contains: function(M, ca) {\n                        if (M.length < ca.length)\n                            return !1;\n                        for (let ea = 0; ea <= M.length - ca.length; ea++)\n                            if (0 === R.compare(M.substring(ea, ea + ca.length), ca))\n                                return !0;\n                        return !1\n                    },\n                    collationKey: function(M) {\n                        return M\n                    }\n                }\n            }\n            if (!y)\n                throw new F(\"Unrecognized collation \" + D,\"FOCH0002\");\n            return y\n        }\n        function ma(D, y) {\n            if (!D.hasOwnProperty(\"compare\") || !D.hasOwnProperty(\"equals\"))\n                throw new F(\"Collation \" + y + \" cannot be used for sorting\",\"XTDE1035\");\n        }\n        function qa() {\n            return {\n                equals: function(D, y) {\n                    return D === y\n                },\n                compare: function(D, y) {\n                    return za(D, y)\n                },\n                contains: function(D, y) {\n                    return -1 !== D.indexOf(y)\n                },\n                startsWith: function(D, y) {\n                    return l(D, y)\n                },\n                endsWith: function(D, y) {\n                    return r(D, y)\n                },\n                indexOf: function(D, y) {\n                    return D.indexOf(y)\n                },\n                collationKey: function(D) {\n                    return D\n                }\n            }\n        }\n        function L() {\n            function D(y) {\n                return y ? (y + \"\").toUpperCase() : \"\"\n            }\n            return {\n                equals: function(y, I) {\n                    return D(y) === D(I)\n                },\n                compare: function(y, I) {\n                    return za(D(y), D(I))\n                },\n                contains: function(y, I) {\n                    return -1 !== D(y).indexOf(D(I))\n                },\n                startsWith: function(y, I) {\n                    return l(D(y), D(I))\n                },\n                endsWith: function(y, I) {\n                    return r(D(y), D(I))\n                },\n                indexOf: function(y, I) {\n                    return D(y).indexOf(D(I))\n                },\n                collationKey: function(y) {\n                    return D(y)\n                }\n            }\n        }\n        function aa(D) {\n            return {\n                equals: function(y, I) {\n                    return D(y) === D(I)\n                },\n                compare: function(y, I) {\n                    return za(D(y), D(I))\n                },\n                contains: function(y, I) {\n                    return -1 != D(y).indexOf(D(I))\n                },\n                startsWith: function(y, I) {\n                    return l(D(y), D(I))\n                },\n                endsWith: function(y, I) {\n                    return r(D(y), D(I))\n                },\n                indexOf: function(y, I) {\n                    return D(y).indexOf(D(I))\n                },\n                collationKey: function(y) {\n                    return D(y)\n                }\n            }\n        }\n        const z = La.XS;\n        return {\n            fe: m,\n            ii: A,\n            Mg: function() {\n                function D(y) {\n                    return y.toUpperCase()\n                }\n                return aa(function(y) {\n                    return y ? (y + \"\").replace(/[a-z]/g, D) : \"\"\n                })\n            },\n            Ze: L,\n            oi: C,\n            Sg: qa,\n            $c: \"http://www.w3.org/2005/xpath-functions/collation/codepoint\",\n            ri: O,\n            yi: t,\n            gh: \"http://www.w3.org/2010/09/qt-fots-catalog/collation/caseblind\",\n            gc: function(D, y, I, R, M) {\n                sa.assert(R.equals && R.compare);\n                const ca = z.numeric.matches\n                  , ea = z.untypedAtomic.matches\n                  , ja = (x,K)=>ea(x) ? ea(K) ? z.string.R(x) : ca(K) ? z.double.R(x) : \"AQ\" === K.code ? La.XS.QName.R(x, cd.Wd(M, !1)) : La.codes[K.code].R(x) : x\n                  , Y = \"=\" === I ? R.equals : \"!=\" === I ? (x,K)=>!R.equals(x, K) : (x,K)=>b(I, R.compare(x, K));\n                let V;\n                for (var la; null !== (V = D.next()); ) {\n                    const x = Kb(y);\n                    for (; null !== (la = x.next()); ) {\n                        const K = ja(V, la);\n                        la = ja(la, V);\n                        if (!(ca(K) && isNaN(K.value) || ca(la) && isNaN(la.value)) && Y(K, la))\n                            return Xb(!0)\n                    }\n                }\n                return Xb(!1)\n            },\n            Ki: function(D) {\n                return {\n                    equals: function(y, I) {\n                        const R = z.numeric.matches;\n                        return R(y) || R(I) ? z.numeric.xe(y).toNumber() === z.numeric.xe(I).toNumber() : D.equals(y, I)\n                    },\n                    compare: D.compare\n                }\n            },\n            df: function(D, y, I) {\n                return B(n(D, y), I)\n            },\n            eg: B,\n            Xb: function(D, y, I, R) {\n                y = n(D, y);\n                R = B(y, R)[I];\n                if (!R)\n                    throw new F(\"Collation \" + y + \" has no \" + I + \" method\",\"FOCH0002\",D);\n                return R\n            },\n            Mi: d,\n            jg: \"http://www.w3.org/2005/xpath-functions/collation/html-ascii-case-insensitive\",\n            tc: E,\n            Jj: f,\n            Kj: function(D) {\n                const y = cd.Sa(D)\n                  , I = cd.qb(D, \"sortKey\");\n                return R=>{\n                    const M = Sb(y(R))\n                      , ca = []\n                      , ea = I.map(x=>A(x, R))\n                      , ja = I.map(cd.Sa)\n                      , Y = d(I, R)\n                      , V = R.ba(!1);\n                    V.qa = \"sort key\";\n                    V.focus = M;\n                    let la = 0;\n                    M.forEachItem(function(x) {\n                        const K = I.map(function(U, ha) {\n                            return Y[ha](ja[ha](V).next())\n                        });\n                        ca.push({\n                            item: x,\n                            keys: K,\n                            Od: la++\n                        })\n                    });\n                    ca.sort(function(x, K) {\n                        for (let ha = 0; ha < ea.length; ha++) {\n                            var U = x.keys[ha];\n                            const T = K.keys[ha];\n                            if (null !== U || null !== T) {\n                                if (null === U || null === T)\n                                    return null === U ? -1 : 1;\n                                U = ea[ha](U, T);\n                                if (0 !== U)\n                                    return U\n                            }\n                        }\n                        return x.Od > K.Od ? 1 : x.Od === K.Od ? 0 : -1\n                    });\n                    return Kb(ca.map(x=>x.item))\n                }\n            },\n            wf: b,\n            Th: function(D, y) {\n                switch (D) {\n                case \"=\":\n                case \"eq\":\n                    return y;\n                case \"!=\":\n                case \"ne\":\n                    return !y;\n                case \"<\":\n                case \"lt\":\n                case \">\":\n                case \"gt\":\n                case \">=\":\n                case \"ge\":\n                case \"<=\":\n                case \"le\":\n                    throw new F(\"Operator \" + D + \" not allowed for unordered types\",\"SXJS0003\");\n                default:\n                    throw new F(\"Unknown operator \" + D,\"SXJS0003\");\n                }\n            },\n            xf: function(D, y) {\n                function I(ja) {\n                    return Ia(ja) ? M(ja.matchKey()) : ja.matchKey()\n                }\n                const R = new cc\n                  , M = D.collationKey;\n                if (!M)\n                    throw new F(\"Collation is unsuitable for keys and grouping\",\"XTDE1110\");\n                const ca = {\n                    Rc: function(ja, Y) {\n                        return Fd(Kb(ja), Kb(Y), D.equals)\n                    },\n                    hash: function(ja) {\n                        return ja.map(I).join()\n                    }\n                }\n                  , ea = {\n                    Rc: function(ja, Y) {\n                        return I(ja) === I(Y)\n                    },\n                    hash: function(ja) {\n                        return I(ja)\n                    }\n                };\n                R.options = y ? ca : ea;\n                return R\n            },\n            Mj: \"http://www.w3.org/2013/collation/UCA\",\n            Zh: \"http://www.w3.org/xslts/collation/caseblind\"\n        }\n    }();\n    // Input 26\n    var Jd = function() {\n        var a = {};\n        return {\n            register: function(c, q) {\n                a[c] = q\n            },\n            find: function(c) {\n                return a[c]\n            },\n            dl: a\n        }\n    }();\n    // Input 27\n    var Kd = function() {\n        function a(c) {\n            const q = ac.Ja\n              , E = {\n                \"p.any\": function() {\n                    return function() {\n                        return !0\n                    }\n                },\n                \"p.never\": function() {\n                    return function() {\n                        return !1\n                    }\n                },\n                \"p.booleanExp\": function(H) {\n                    const p = cd.Sa(H);\n                    return function(g, e) {\n                        e = e.ba();\n                        e.focus = Rb(g);\n                        return cd.Fd(p(e))\n                    }\n                },\n                \"p.genNode\": function(H) {\n                    const p = cd.Sa(H);\n                    let g;\n                    if (\"slash\" === H.C[0].N) {\n                        H = cd.ti(H.C[0]);\n                        let e = H.C[0];\n                        for (; [\"filter\", \"subscript\"].includes(e.N); )\n                            e = e.C[0];\n                        \"axis\" === e.N && \"child\" === e.name && (e.name = \"self\",\n                        g = cd.ib(H))\n                    }\n                    return function(e, k) {\n                        if (!ac.X(e))\n                            return !1;\n                        const v = ac.Ja.Ya(e);\n                        let t;\n                        for (var C; ; ) {\n                            t = v.next();\n                            if (null == t)\n                                return !ac.jf(C) && g ? (k = k.ba(!1),\n                                k.focus = Rb(C),\n                                k.Mb = [],\n                                g(k).some(m=>ac.isSameNode(m, e))) : !1;\n                            C = k.ba(!1);\n                            C.focus = Rb(t);\n                            C.Mb = [];\n                            if (p(C).some(m=>ac.isSameNode(m, e)))\n                                return !0;\n                            C = t\n                        }\n                    }\n                },\n                \"p.genPos\": function(H) {\n                    const p = fc(H.test).ia()\n                      , g = cd.Sa(H);\n                    return function(e, k) {\n                        if (!p(e))\n                            return !1;\n                        const v = k.fixed.ka;\n                        k = k.ba(!1);\n                        var t = q.Ka(ac.Xa(e)).filter(p);\n                        k.focus = Sb(t);\n                        for (k.Mb = []; null != (t = k.focus.next()); )\n                            if (t === e && v.Fd(g(k)))\n                                return !0;\n                        return !1\n                    }\n                },\n                \"p.nodeSet\": function(H) {\n                    const p = cd.Sa(H);\n                    return function(g, e) {\n                        return p(e).some(k=>k === g)\n                    }\n                },\n                \"p.nodeTest\": function(H) {\n                    return fc(H.test).ia()\n                },\n                \"p.simPos\": function(H) {\n                    const p = fc(H.test).ia()\n                      , g = parseInt(H.pos, 10);\n                    return function(e) {\n                        return p(e) && q.Oc(e).filter(p).count() === g - 1\n                    }\n                },\n                \"p.venn\": function(H) {\n                    var p = H.C\n                      , g = a(p[0])\n                      , e = a(p[1]);\n                    H = H.op;\n                    switch (H) {\n                    case \"union\":\n                        return function(k, v) {\n                            return g(k, v) || e(k, v)\n                        }\n                        ;\n                    case \"intersect\":\n                        return function(k, v) {\n                            return g(k, v) && e(k, v)\n                        }\n                        ;\n                    case \"except\":\n                        return function(k, v) {\n                            return g(k, v) && !e(k, v)\n                        }\n                        ;\n                    default:\n                        throw new F(\"unknown op \" + H,\"SXJS0003\");\n                    }\n                },\n                \"p.withCurrent\": function(H) {\n                    const p = a(H.C[0]);\n                    return function(g, e) {\n                        e = e.ba(!0);\n                        e.oa[0] = [g];\n                        return p(g, e)\n                    }\n                },\n                \"p.withPredicate\": function(H) {\n                    H = H.C;\n                    const p = a(H[0])\n                      , g = cd.ib(H[1]);\n                    return function(e, k) {\n                        if (!p(e, k))\n                            return !1;\n                        k = k.ba(!1);\n                        k.focus = Rb(e);\n                        k.Mb = [];\n                        return cd.Fd(g(k))\n                    }\n                },\n                \"p.withUpper\": function(H) {\n                    const p = H.C\n                      , g = a(p[0])\n                      , e = a(p[1])\n                      , k = H.axis;\n                    return \"parent\" === k ? \"true\" === H.upFirst ? function(v, t) {\n                        const C = ac.Xa(v);\n                        return C && e(C, t) && g(v, t)\n                    }\n                    : function(v, t) {\n                        const C = ac.Xa(v);\n                        return C && g(v, t) && e(C, t)\n                    }\n                    : function(v, t) {\n                        if (!g(v, t))\n                            return !1;\n                        v = ac.Ng[k](v);\n                        let C;\n                        for (; null !== (C = v.next()); )\n                            if (e(C, t))\n                                return !0;\n                        return !1\n                    }\n                }\n            }[c.N];\n            if (E)\n                return E(c);\n            throw new F(\"Unimplemented pattern \" + c.N,\"SXJS0002\");\n        }\n        return {\n            od: a,\n            matches: function(c, q, E) {\n                E.ub.push(null);\n                c = c(q, E);\n                E.ub.pop();\n                return c\n            }\n        }\n    }();\n    // Input 28\n    var Ld = function() {\n        function a(E, H, p, g) {\n            function e(r) {\n                for (var n = [], B = r.length - 1; 0 <= B; B--)\n                    n.push({\n                        Qd: r[B],\n                        action: r[B].C[1],\n                        pattern: Kd.od(r[B].C[0])\n                    });\n                return n\n            }\n            function k(r) {\n                r._saxonAccumulators || (r._saxonAccumulators = {});\n                r._saxonAccumulators[p] = {};\n                var n = v(O, r);\n                n && (l = C(n, r));\n                r._saxonAccumulators[p].pre = l;\n                q.Ka(r).forEachItem(k);\n                (n = v(b, r)) && (l = C(n, r));\n                r._saxonAccumulators[p].post = l\n            }\n            function v(r, n) {\n                for (var B = 0, W = r.length; B < W; B++)\n                    if (Kd.matches(r[B].pattern, n, d))\n                        return r[B];\n                return null\n            }\n            function t(r) {\n                return {\n                    visibility: \"PRIVATE\",\n                    Za: r,\n                    actor: r,\n                    We: r.binds.split(\" \").map(function(n) {\n                        return parseInt(n, 10)\n                    })\n                }\n            }\n            function C(r, n) {\n                var B = g.ba(!0);\n                B.focus = Rb(n);\n                B.oa = [l];\n                B.sa = t(H);\n                B.qa = \"accumulator\";\n                return m.evaluate(r.action, B).expand()\n            }\n            var m = g.fixed.ka\n              , f = m.qb(H, \"pre\")[0]\n              , A = m.qb(H, \"post\")[0]\n              , O = e(m.qb(f, \"accRule\"))\n              , b = e(m.qb(A, \"accRule\"))\n              , d = g.ba(!0);\n            d.focus = Rb(E);\n            d.oa = [];\n            d.sa = t(H);\n            var l = m.evaluate(m.da(H, \"init\"), d).expand();\n            k(E)\n        }\n        function c(E, H, p, g, e) {\n            var k = g.fixed.ka.ke(E, g).Gb[H];\n            if (!k)\n                throw new F(\"Unknown accumulator \" + H,\"XTDE3340\");\n            if (g.Ge && !g.Ge.some(function(t) {\n                return t === H\n            }))\n                throw new F(\"Inapplicable accumulator \" + H,\"XTDE3362\");\n            if (!ac.X(p))\n                throw new F(\"Cannot evaluate accumulator: context item is not a node\",\"XTTE3360\");\n            if (2 === p.nodeType || 13 === p.nodeType)\n                throw new F(\"Accumulators are not available on attribute or namespace nodes\",\"XTTE3360\");\n            if (p._saxonOriginal)\n                return c(E, H, p._saxonOriginal, g, e);\n            E = k.vg;\n            if (!p._saxonAccumulators || !p._saxonAccumulators.hasOwnProperty(E)) {\n                var v = ac.rc(p);\n                v._saxonAccumulators || (v._saxonAccumulators = {});\n                v._saxonAccumulators[E] || (v._saxonAccumulators[E] = {});\n                if (v._saxonAccumulators[E][\"under construction\"])\n                    throw new F(\"Circular definition of accumulator \" + E,\"XTDE3400\");\n                v._saxonAccumulators[E][\"under construction\"] = 1;\n                a(v, k.gi, E, g);\n                delete v._saxonAccumulators[E][\"under construction\"]\n            }\n            return p._saxonAccumulators[E][e]\n        }\n        var q = ac.Ja;\n        return {\n            fi: function(E, H, p, g) {\n                return c(E, H, p, g, \"pre\")\n            },\n            ei: function(E, H, p, g) {\n                return c(E, H, p, g, \"post\")\n            }\n        }\n    }();\n    // Input 29\n    var Md = function() {\n        function a(t, C, m, f, A=null) {\n            const O = k.string.fromString(C);\n            if (t && t.containsKey(O)) {\n                t = t.get(O);\n                if (\"function\" === m) {\n                    C = new dd([dc.ec],dc.ec);\n                    if (1 === t.length && C.ia()(t[0]))\n                        return t[0];\n                    throw new F(\"Option \" + O + \" must be a function(xs:string) as xs:string\",\"XPTY0004\");\n                }\n                if (1 === t.length && La.type[m].matches(t[0])) {\n                    if (A && 0 > A.indexOf(t[0].value))\n                        throw new F(\"Invalid value \" + O + \"=\" + t[0],\"FOJS0005\");\n                    return t[0].value\n                }\n                throw new F(\"Invalid option: \" + C + \": must be \" + m,\"XPTY0004\");\n            }\n            return f\n        }\n        function c(t, C) {\n            function m(B) {\n                throw new F(B,\"FOJS0001\");\n            }\n            function f() {\n                return n = A()\n            }\n            function A() {\n                for (n = \"\"; ; ) {\n                    if (r >= t.length)\n                        return [\"eof\"];\n                    var B = t.charAt(r++);\n                    if (!/[ \\n\\r\\t]/.test(B))\n                        break\n                }\n                switch (B) {\n                case \"[\":\n                case \"{\":\n                case \"]\":\n                case \"}\":\n                case \":\":\n                case \",\":\n                    return [B];\n                case '\"':\n                    for (B = !1; ; ) {\n                        const W = t.charAt(r++);\n                        if ('\"' !== W || B)\n                            n += W,\n                            B = \"\\\\\" === W && !B;\n                        else\n                            return [\"string\", n];\n                        r >= t.length && m(\"Unclosed quotes in string literal\")\n                    }\n                case \"-\":\n                case \"0\":\n                case \"1\":\n                case \"2\":\n                case \"3\":\n                case \"4\":\n                case \"5\":\n                case \"6\":\n                case \"7\":\n                case \"8\":\n                case \"9\":\n                    for (n += B; r < t.length; )\n                        if (B = t.charAt(r++),\n                        /[0-9\\-+.eE]/.test(B))\n                            n += B;\n                        else {\n                            r--;\n                            break\n                        }\n                    return [\"number\", /^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$/.test(n) ? n : m(\"Invalid JSON number \" + n)];\n                case \"t\":\n                case \"f\":\n                case \"n\":\n                    for (n += B; ; )\n                        if (B = t.charAt(r),\n                        \"a\" <= B && \"z\" >= B) {\n                            if (n += B,\n                            ++r >= t.length)\n                                break\n                        } else\n                            break;\n                    if ([\"true\", \"false\", \"null\"].includes(n))\n                        return [n];\n                    m(\"Unknown constant \" + n);\n                    break;\n                default:\n                    return m(\"Unexpected character '\" + B + \"' (\" + Da(B) + \") at position \" + r),\n                    -1\n                }\n            }\n            function O(B) {\n                n[0] !== B && m(\"Expected \" + B + \", found \" + n[0])\n            }\n            function b(B) {\n                return n[0] === B ? (f(),\n                !0) : !1\n            }\n            function d(B) {\n                if (n[0] === B)\n                    return f(),\n                    !0;\n                if (\",\" === n[0])\n                    return f(),\n                    !1;\n                m(\"Expected ',' or '\" + B + \"', found '\" + n[0] + \"'\")\n            }\n            function l() {\n                switch (n[0]) {\n                case \"[\":\n                    f();\n                    C.Qh();\n                    if (!b(\"]\")) {\n                        do\n                            l();\n                        while (!d(\"]\"))\n                    }\n                    C.ah();\n                    break;\n                case \"{\":\n                    f();\n                    C.Rh();\n                    if (!b(\"}\")) {\n                        do\n                            O(\"string\"),\n                            C.Xg(n[1]),\n                            f(),\n                            O(\":\"),\n                            f(),\n                            l();\n                        while (!d(\"}\"))\n                    }\n                    C.bh();\n                    break;\n                case \"string\":\n                    C.$g(n[1]);\n                    f();\n                    break;\n                case \"number\":\n                    C.Zg(n[1]);\n                    f();\n                    break;\n                case \"true\":\n                case \"false\":\n                    C.Wg(n[0]);\n                    f();\n                    break;\n                case \"null\":\n                    C.Yg();\n                    f();\n                    break;\n                default:\n                    m(\"Unexpected token \" + n[0])\n                }\n            }\n            t = t.replace(/^[\\uFEFF]/, \"\");\n            let r = 0\n              , n = null;\n            n = f();\n            l();\n            O(\"eof\");\n            return C.result()\n        }\n        function q(t) {\n            try {\n                return JSON.parse('\"' + t + '\"')\n            } catch (C) {\n                throw new F(C.toString(),\"FOJS0001\");\n            }\n        }\n        function E(t, C) {\n            const m = C.Ab\n              , f = C.Cd;\n            let A;\n            A = f ? O=>f.evaluate([[La.XS.string.fromString(H(O))]], m).next().toString() : ()=>\"\\ufffd\";\n            t = t.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x0F\\x80-\\x9F\\uFFFF]/g, A);\n            return t = t.replace(/[\\uD800-\\uDFFF]+/g, O=>{\n                let b = \"\";\n                for (let d = 0; d < O.length; d++) {\n                    const l = O.charAt(d);\n                    b += 1 === d % 2 === \"\\udc00\" > l || d === O.length - 1 && \"\\udc00\" > l ? A(l) : l\n                }\n                return b\n            }\n            )\n        }\n        function H(t) {\n            for (t = t.charCodeAt(0).toString(16); 4 > t.length; )\n                t = \"0\" + t;\n            return \"\\\\u\" + t.toUpperCase()\n        }\n        function p(t, C) {\n            this.g = [];\n            this.I = [];\n            this.Ab = C;\n            a(t, \"liberal\", \"boolean\", !1);\n            this.Cd = a(t, \"fallback\", \"function\", null);\n            this.B = a(t, \"escape\", \"boolean\", !1);\n            this.K = a(t, \"duplicates\", \"string\", \"use-first\", [\"reject\", \"use-first\", \"use-last\"]);\n            if (this.B && this.Cd)\n                throw new F(\"parse-json: cannot use fallback with escape:true()\",\"FOJS0005\");\n        }\n        function g(t, C) {\n            this.g = [];\n            this.K = [];\n            this.I = [];\n            this.Ab = C;\n            a(t, \"liberal\", \"boolean\", !1);\n            if (a(t, \"validate\", \"boolean\", !1))\n                throw new F(\"json-to-xml: validate option not supported in a non-schema-aware processor\",\"FOJS0004\");\n            this.Cd = a(t, \"fallback\", \"function\", null);\n            this.B = a(t, \"escape\", \"boolean\", !1);\n            this.aa = a(t, \"duplicates\", \"string\", \"use-first\", [\"reject\", \"use-first\", \"retain\"]);\n            if (this.B && this.Cd)\n                throw new F(\"json-to-xml: cannot use fallback with escape:true()\",\"FOJS0005\");\n        }\n        const e = Zb.Oa\n          , k = La.XS\n          , v = ac.Ja;\n        p.prototype = {\n            g: [],\n            I: [],\n            Ab: null,\n            B: !1,\n            Cd: null,\n            K: \"use-first\",\n            aa: function(t) {\n                return this.B ? JSON.stringify(t).replace(/^\"|\"$/g, \"\").replace(/\\\\\"/g, '\"').replace(/[\\uD800-\\uDFFF]/g, H) : E(t, this)\n            },\n            ua: function() {\n                return this.g[this.g.length - 1]\n            },\n            j: function(t) {\n                if (0 === this.g.length)\n                    this.g.push(t);\n                else if (this.ua()instanceof $c)\n                    this.ua().value.push(t);\n                else {\n                    const C = this.ua()\n                      , m = k.string.fromString(this.I.pop());\n                    if (C.containsKey(m))\n                        switch (this.K) {\n                        case \"reject\":\n                            throw new F(\"json-to-xml: duplicate key '\" + m.toString() + \"'\",\"FOJS0003\");\n                        case \"use-first\":\n                            return\n                        }\n                    C.inSituPut(m, t)\n                }\n            },\n            Yg: function() {\n                this.j([])\n            },\n            Wg: function(t) {\n                this.j([k.boolean.fromString(t)])\n            },\n            Zg: function(t) {\n                this.j([k.double.fromNumber(parseFloat(t))])\n            },\n            $g: function(t) {\n                this.j([k.string.fromString(this.aa(q(t)))])\n            },\n            Xg: function(t) {\n                this.I.push(this.aa(q(t)))\n            },\n            Qh: function() {\n                this.g.push(new $c([]))\n            },\n            ah: function() {\n                this.j([this.g.pop()])\n            },\n            Rh: function() {\n                this.g.push(new cc)\n            },\n            bh: function() {\n                this.j([this.g.pop()])\n            },\n            result: function() {\n                return void 0 !== this.ua()[0] ? this.ua()[0] : null\n            }\n        };\n        g.prototype = {\n            g: [],\n            K: [{}],\n            I: [],\n            Ab: null,\n            Cd: null,\n            B: !1,\n            aa: \"use-first\",\n            V: function(t) {\n                return this.B ? JSON.stringify(t).replace(/^\"|\"$/g, \"\").replace(/\\\\\"/g, '\"').replace(/[\\uD800-\\uDFFF]/g, H) : E(t, this)\n            },\n            ua: function() {\n                return this.g[this.g.length - 1]\n            },\n            j: function(t) {\n                if (0 === this.g.length)\n                    t.setAttribute(\"xmlns\", e),\n                    this.g.push(t);\n                else {\n                    const C = this.ua();\n                    if (\"map\" === C.tagName) {\n                        const m = this.K.pop()\n                          , f = this.I[this.I.length - 1];\n                        if (m in f)\n                            switch (this.aa) {\n                            case \"reject\":\n                                throw new F(\"parse-json: duplicate key '\" + m.toString() + \"'\",\"FOJS0003\");\n                            case \"use-first\":\n                                return\n                            }\n                        f[m] = t;\n                        t.setAttribute(\"key\", m);\n                        this.B && /\\\\/.test(m.toString()) && t.setAttribute(\"escaped-key\", \"true\")\n                    }\n                    C.appendChild(t)\n                }\n            },\n            Yg: function() {\n                const t = this.Ab.ja.createElementNS(e, \"null\");\n                this.j(t)\n            },\n            Wg: function(t) {\n                const C = this.Ab.ja.createElementNS(e, \"boolean\");\n                C.appendChild(this.Ab.ja.createTextNode(t.toString()));\n                this.j(C)\n            },\n            Zg: function(t) {\n                const C = this.Ab.ja.createElementNS(e, \"number\");\n                C.appendChild(this.Ab.ja.createTextNode(t.toString()));\n                this.j(C)\n            },\n            $g: function(t) {\n                const C = this.Ab.ja.createElementNS(e, \"string\");\n                if (\"\" !== t) {\n                    t = this.V(q(t));\n                    const m = this.Ab.ja.createTextNode(t);\n                    this.B && /\\\\/.test(t) && C.setAttribute(\"escaped\", \"true\");\n                    C.appendChild(m)\n                }\n                this.j(C)\n            },\n            Xg: function(t) {\n                this.K.push(this.V(q(t)))\n            },\n            Qh: function() {\n                const t = this.Ab.ja.createElementNS(e, \"array\");\n                this.g.push(t)\n            },\n            ah: function() {\n                this.j(this.g.pop())\n            },\n            Rh: function() {\n                const t = this.Ab.ja.createElementNS(e, \"map\");\n                this.g.push(t);\n                this.I.push({})\n            },\n            bh: function() {\n                this.I.pop();\n                this.j(this.g.pop())\n            },\n            result: function() {\n                return this.ua()\n            }\n        };\n        return {\n            ze: function(t, C, m) {\n                return c(t, new p(C,m))\n            },\n            wj: function(t, C, m) {\n                return c(t, new g(C,m))\n            },\n            Pj: function(t, C) {\n                function m(r) {\n                    throw new F(\"Invalid input to xml-to-json(): \" + r,\"FOJS0006\");\n                }\n                function f(r) {\n                    0 !== l.Ec(r).length && m(\"node \" + r.tagName + \" must have no element children\")\n                }\n                function A(r) {\n                    v.Ka(r).filter(function(n) {\n                        return (3 === n.nodeType || 4 == n.nodeType) && n.nodeValue && \"\" !== Ha.trim(n.nodeValue)\n                    }).next() && m(\"node \" + r.tagName + \" must have no text content\")\n                }\n                function O(r) {\n                    try {\n                        return k.boolean.fromString(r).toBoolean()\n                    } catch (n) {\n                        m(\"invalid boolean: '\" + r + \"'\")\n                    }\n                }\n                function b(r) {\n                    try {\n                        JSON.parse('\"' + r + '\"')\n                    } catch (n) {\n                        throw new F(\"invalid escape sequence: \" + n.toString(),\"FOJS0007\");\n                    }\n                }\n                function d(r, n=!0) {\n                    if (9 === r.nodeType || 11 === r.nodeType) {\n                        var B = l.Ec(r);\n                        1 !== B.length && m(\"document node has \" + B.length + \" element children\");\n                        return d(B[0])\n                    }\n                    if (1 === r.nodeType) {\n                        let ma = !1;\n                        if (r.namespaceURI === e)\n                            switch (v.Ha(r).forEachItem(function(qa) {\n                                if (0 > qa.name.indexOf(\":\") || qa.namespaceURI === e)\n                                    \"key\" === qa.name || \"escaped-key\" === qa.name ? \"escaped-key\" === qa.name ? (n || \"map\" === l.Xa(r).localName || m(\"@escaped-key is allowed only on children of map\"),\n                                    O(qa.value) && b(r.getAttribute(\"key\"))) : n || \"map\" === l.Xa(r).localName || m(\"@key is allowed only on children of map\") : \"escaped\" === qa.name ? (\"string\" !== r.localName && m(\"@escaped is allowed only on string\"),\n                                    ma = O(qa.value)) : m(\"invalid attribute \" + qa.name)\n                            }),\n                            r.hasAttribute(\"escaped-key\") && !n && \"map\" !== l.Xa(r).localName && m(\"escaped-key is allowed only on children of map\"),\n                            r.localName) {\n                            case \"null\":\n                                return v.Ka(r).filter(function(D) {\n                                    return 8 !== D.nodeType && 7 !== D.nodeType\n                                }).next() && m(\"null element must have no content\"),\n                                \"null\";\n                            case \"string\":\n                                f(r);\n                                B = r.textContent;\n                                if (ma)\n                                    B = B.replace(/^\"/g, '\\\\\"').replace(/^[\\b]/g, \"\\\\b\").replace(/^\\f/g, \"\\\\f\").replace(/^\\n/g, \"\\\\n\").replace(/^\\r/g, \"\\\\r\").replace(/^\\t/g, \"\\\\t\").replace(/^\\//g, \"\\\\/\").replace(/([^\\\\])\"/g, '$1\\\\\"').replace(/([^\\\\])[\\b]/g, \"$1\\\\b\").replace(/([^\\\\])\\f/g, \"$1\\\\f\").replace(/([^\\\\])\\n/g, \"$1\\\\n\").replace(/([^\\\\])\\r/g, \"$1\\\\r\").replace(/([^\\\\])\\t/g, \"$1\\\\t\").replace(/([^\\\\])\\//g, \"$1\\\\/\").replace(/[\\u0001-\\u001F\\u007F-\\u009F]/g, H),\n                                    b(B);\n                                else\n                                    return JSON.stringify(B).replace(/\\//g, \"\\\\/\");\n                                return '\"' + B + '\"';\n                            case \"number\":\n                                f(r);\n                                try {\n                                    B = k.double.fromString(r.textContent)\n                                } catch (D) {\n                                    m(\"invalid number\")\n                                }\n                                isFinite(B.toNumber()) || m(\"NaN and INF not allowed\");\n                                return B.toString();\n                            case \"boolean\":\n                                return f(r),\n                                O(r.textContent),\n                                k.boolean.fromString(r.textContent).toString();\n                            case \"array\":\n                                A(r);\n                                let qa = \"[\"\n                                  , L = \"\";\n                                l.Ec(r).forEach(function(D) {\n                                    qa += L + d(D, !1);\n                                    L = \",\"\n                                });\n                                return qa + \"]\";\n                            case \"map\":\n                                A(r);\n                                let aa = \"{\"\n                                  , z = \"\";\n                                var W = {};\n                                l.Ec(r).forEach(function(D) {\n                                    D.hasAttribute(\"key\") || m(\"child element of map must have a key\");\n                                    const y = l.getAttribute(D, \"key\");\n                                    let I = y;\n                                    const R = l.getAttribute(D, \"escaped-key\");\n                                    let M = !1;\n                                    R && O(R) && (M = !0,\n                                    I = q(y));\n                                    W[I] && m(\"duplicate key '\" + y + \"'\");\n                                    W[I] = !0;\n                                    aa += z + (M ? '\"' + y + '\"' : JSON.stringify(y).replace(/\\//g, \"\\\\/\")) + \":\" + d(D, !1);\n                                    z = \",\"\n                                });\n                                return aa + \"}\";\n                            default:\n                                m(\"unknown local name \" + r.localName)\n                            }\n                        else\n                            m(\"wrong namespace \" + r.namespaceURI)\n                    } else\n                        l.X(r) || m(\"not a node\"),\n                        Error.g && Error.g(),\n                        m(\"wrong node kind \" + r.nodeType)\n                }\n                const l = ac;\n                a(C, \"indent\", \"boolean\", !1);\n                return d(t)\n            }\n        }\n    }();\n    // Input 30\n    const Nd = function() {\n        function a(p, g, e, k, v) {\n            e = \"xml\" === e ? g.fixed.tb : g.fixed.kc;\n            g = g.fixed.vd;\n            var t = e[p];\n            if (!t || t instanceof F) {\n                t = g[p];\n                if (!t) {\n                    try {\n                        t = k()\n                    } catch (C) {\n                        t = C\n                    }\n                    g[p] = t\n                }\n                t = v(t);\n                e[p] = t\n            }\n            if (t instanceof F)\n                throw t;\n            return t\n        }\n        function c(p, g) {\n            g ||= \"utf-8\";\n            p = void 0 === p.responseText ? p : p.responseText;\n            if (g.startsWith(\"utf\") && 0 <= p.indexOf(\"\\ufffd\"))\n                throw new F(\"External file contains non-Unicode characters\",\"FOUT1190\");\n            return p\n        }\n        function q(p) {\n            if (0 <= p.indexOf(\"\\x00\"))\n                throw new F(\"External file contains non-XML characters\",\"FOUT1190\");\n            return p\n        }\n        function E(p) {\n            \"\\ufeff\" === p.charAt(0) && (p = p.substring(1));\n            return p\n        }\n        function H(p, g, e) {\n            if ((p = p[0].next()) && ac.ld(p.toString()))\n                return p.toString();\n            g = g.fixed.ka.Ia(e, g);\n            if (null === g || \"#UNDEFINED\" === g)\n                throw new F(\"No base URI for relative resolution\",\"FODC0002\",e);\n            return null === p ? null : pa.Fb(p.toString(), g)\n        }\n        return {\n            Lg: H,\n            Te: function(p, g, e) {\n                try {\n                    return H(p, g, e)\n                } catch (k) {\n                    if (k instanceof F && \"XPTY0004\" === k.code)\n                        throw k;\n                    throw new F(k.message,\"FOUT1170\",e);\n                }\n            },\n            Sf: function(p) {\n                if (\"\" === p)\n                    return null;\n                if (![\"utf-8\", \"utf-16\", \"utf-16be\", \"iso-8859-1\"].includes(p.toLowerCase()))\n                    throw new F(\"Unrecognized encoding \" + p,\"FOUT1190\");\n                return p\n            },\n            Qg: q,\n            Rg: E,\n            Dc: function(p, g) {\n                if (0 <= p.indexOf(\"#\"))\n                    throw new F(\"Fragments not supported in external document URIs\",\"FODC0002\");\n                return a(p, g, \"xml\", function() {\n                    let e;\n                    try {\n                        e = pa.readFile(p, !0)\n                    } catch (k) {\n                        if (k instanceof F && \"FOUT1190\" === k.code)\n                            throw new F(k.message,\"FODC0002\");\n                        throw k;\n                    }\n                    return e\n                }, function(e) {\n                    if (e instanceof F)\n                        return e;\n                    e = void 0 === e.responseText ? e : e.responseText;\n                    e = E(q(e));\n                    e = ac.wc(pa.parseXmlFromString(e));\n                    e._saxonBaseUri = p;\n                    e._saxonDocUri = p;\n                    return e\n                })\n            },\n            Fi: function(p, g) {\n                if (0 <= p.indexOf(\"#\"))\n                    throw new F(\"Fragments not supported in text document URIs\",\"FOUT1170\");\n                return a(p, g, \"text\", function() {\n                    let e;\n                    try {\n                        e = pa.readFile(p, !0)\n                    } catch (k) {\n                        if (k instanceof F)\n                            throw new F(k.message,\"FOUT1170\");\n                        throw k;\n                    }\n                    return e\n                }, function(e) {\n                    if (e instanceof F)\n                        return e;\n                    let k = void 0 === e.responseText ? e : e.responseText;\n                    k = E(k);\n                    e.responseText ? e.responseText = k : e = k;\n                    return c(e, \"utf-8\")\n                })\n            },\n            $f: function(p, g, e, k) {\n                if (0 <= p.indexOf(\"#\"))\n                    throw new F(\"Fragments not supported in text document URIs\",\"FOUT1170\");\n                return a(p, g, \"text\", function() {\n                    let v;\n                    try {\n                        v = pa.readFile(p, !0)\n                    } catch (t) {\n                        if (t instanceof F && \"FOUT1190\" === t.code)\n                            throw t;\n                        throw new F(\"Cannot retrieve unparsed-text \" + p.toString() + \" \" + t.toString(),\"FOUT1170\",e);\n                    }\n                    return v\n                }, function(v) {\n                    if (v instanceof F)\n                        return v;\n                    let t = void 0 === v.responseText ? v : v.responseText;\n                    t = E(q(t));\n                    v.responseText ? v.responseText = t : v = t;\n                    return c(v, k)\n                })\n            },\n            Ih: function(p) {\n                try {\n                    return p(),\n                    Xb(!0)\n                } catch (g) {\n                    if (g instanceof F && \"XPTY0004\" === g.code)\n                        throw g;\n                    return Xb(!1)\n                }\n            }\n        }\n    }();\n    // Input 31\n    class Od {\n        Ea() {}\n        za() {}\n        na() {}\n        endElement() {}\n        text() {}\n        wa() {}\n        va() {}\n        append() {}\n        close() {}\n    }\n    function Pd(a, c) {\n        a.g = c;\n        return a\n    }\n    class Qd extends Od {\n        constructor() {\n            super();\n            this.g = null\n        }\n        Ea(a={}) {\n            this.g.Ea(a)\n        }\n        za() {\n            this.g.za()\n        }\n        na(a, c, q, E={}) {\n            this.g.na(a, c, q, E)\n        }\n        endElement() {\n            this.g.endElement()\n        }\n        text(a, c={}) {\n            this.g.text(a, c)\n        }\n        wa(a, c={}) {\n            this.g.wa(a, c)\n        }\n        va(a, c, q={}) {\n            this.g.va(a, c, q)\n        }\n        append(a, c={}) {\n            this.g.append(a, c)\n        }\n        close() {\n            this.g.close()\n        }\n    }\n    function Rd(a, c) {\n        0 === a.j ? a.Ob.push(c) : a.oc.appendChild(c)\n    }\n    class Sd extends Od {\n        constructor(a) {\n            super();\n            this.fd = (this.ra = a) ? ac.Gc(a.ja) : pa.getPlatform().createDocument();\n            this.Ob = [];\n            this.oc = null;\n            this.j = 0;\n            this.B = null\n        }\n        Ea(a={}) {\n            if (0 === this.j++) {\n                const c = this.oc = this.fd.createDocumentFragment();\n                a.BASE_URI && (c._saxonBaseUri = a.BASE_URI);\n                this.Ob.push(c)\n            } else\n                throw new F(\"Builder.startDoc() not at top level\");\n        }\n        za() {\n            0 === --this.j && (this.oc = null)\n        }\n        na(a, c, q, E={}) {\n            var H = this.fd.createElementNS(a.uri, a.toString());\n            E.BASE_URI && (H._saxonBaseUri = E.BASE_URI);\n            E.ORIGINAL_NODE && (H._saxonOriginal = E.ORIGINAL_NODE);\n            E.CALLBACK && E.CALLBACK(H);\n            Rd(this, H);\n            this.oc = H;\n            this.j++;\n            this.B = null;\n            c.forEach((p,g)=>{\n                H.setAttributeNS(g.uri, g.toString(), p.value)\n            }\n            );\n            for (let p in q)\n                q.hasOwnProperty(p) && (a = q[p],\n                \"\" === p ? H.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns\", a) : H.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:\" + p, a))\n        }\n        endElement() {\n            0 === --this.j ? this.oc = null : this.oc = this.oc.parentNode;\n            this.B = null\n        }\n        text(a) {\n            this.B ? this.B.appendData(a) : (a = this.fd.createTextNode(a),\n            Rd(this, a),\n            0 < this.j && (this.B = a))\n        }\n        wa(a) {\n            Rd(this, this.fd.createComment(a));\n            this.B = null\n        }\n        va(a, c) {\n            Rd(this, this.fd.createProcessingInstruction(a, c));\n            this.B = null\n        }\n        append(a) {\n            if (0 !== this.j)\n                throw new F(\"Builder.append() not at top level\");\n            this.Ob.push(a)\n        }\n        result() {\n            return this.Ob\n        }\n        close() {\n            super.close()\n        }\n    }\n    function Td(a) {\n        if (a.done)\n            throw new F(\"Cannot write to the principal output destination as it has already been closed\",\"XTDE1490\");\n        if (a.wg)\n            throw new F(\"Cannot write to the principal output destination as it has already been used by xsl:result-document\",\"XTDE1490\");\n        a.Yh = !0\n    }\n    class Ud extends Qd {\n        constructor(a) {\n            super();\n            this.done = this.wg = this.Yh = !1;\n            this.g = a\n        }\n        Ea(a={}) {\n            super.Ea(a)\n        }\n        za() {\n            super.za()\n        }\n        na(a, c, q, E={}) {\n            Td(this);\n            super.na(a, c, q, E)\n        }\n        endElement() {\n            super.endElement()\n        }\n        text(a, c={}) {\n            Td(this);\n            super.text(a, c)\n        }\n        wa(a, c={}) {\n            Td(this);\n            super.wa(a, c)\n        }\n        va(a, c, q={}) {\n            Td(this);\n            super.va(a, c, q)\n        }\n        append(a, c={}) {\n            Td(this);\n            super.append(a, c)\n        }\n        close() {\n            this.done = !0;\n            this.g && super.close()\n        }\n    }\n    function Vd(a) {\n        return new Sd(a)\n    }\n    class Wd {\n        constructor(a) {\n            this.lb = a\n        }\n        createDocumentFragment() {\n            return this.lb.createDocumentFragment()\n        }\n        createElementNS(a, c) {\n            const q = this.lb.documentElement;\n            \"\" === a && q && pa.Zb(q) ? c = this.lb.createElement(c) : \"http://www.w3.org/1999/xhtml\" === a && q && pa.Zb(q) ? (a = c.indexOf(\":\"),\n            c = this.lb.createElement(-1 === a ? c : c.substring(a + 1))) : c = this.lb.createElementNS(a, c);\n            return c\n        }\n        createTextNode(a) {\n            return this.lb.createTextNode(a)\n        }\n        createComment(a) {\n            return this.lb.createComment(a)\n        }\n        createProcessingInstruction(a, c) {\n            return this.lb.createProcessingInstruction(a, c)\n        }\n    }\n    function Xd(a, c={}) {\n        a.I || (a.j = !1,\n        a.g.Ea(c),\n        a.I = !0,\n        a.B = !0)\n    }\n    function Yd(a, c) {\n        if (null != c)\n            if (La.pa(c))\n                a.j && a.text(\" \", {}),\n                a.text(c.toString(), {}),\n                a.j = !0;\n            else if (c instanceof $c)\n                c.flatten(q=>Yd(a, q));\n            else {\n                if (c instanceof ad.XdmFunction)\n                    throw new F(\"Cannot add a function item to an XDM node tree\",\"SENR0001\");\n                if (c instanceof cc)\n                    throw new F(\"Cannot add a map to an XDM node tree\",\"SENR0001\");\n                Zd.Gh(c, a);\n                a.j = !1\n            }\n    }\n    class $d extends Qd {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.j = this.I = this.B = !1\n        }\n        Ea(a={}) {\n            Xd(this, a);\n            this.B = !1\n        }\n        za() {\n            this.j = !1;\n            this.g.za()\n        }\n        na(a, c, q, E={}) {\n            Xd(this, E);\n            this.g.na(a, c, q, E)\n        }\n        endElement() {\n            this.g.endElement();\n            this.j = !1\n        }\n        text(a, c={}) {\n            Xd(this, c);\n            super.text(a, c);\n            this.j = !1\n        }\n        wa(a, c={}) {\n            Xd(this, c);\n            super.wa(a, c);\n            this.j = !1\n        }\n        va(a, c, q={}) {\n            Xd(this, q);\n            super.va(a, c, q);\n            this.j = !1\n        }\n        append(a, c={}) {\n            Xd(this, c);\n            Yd(this, a)\n        }\n        close() {\n            this.B && this.za();\n            super.close()\n        }\n    }\n    function ae(a, c={}) {\n        a.I || (a.g.Ea(c),\n        a.I = !0,\n        a.j = !0);\n        a.B || a.g.append(a.K, {});\n        a.B = !1\n    }\n    class be extends Qd {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.I = this.j = !1;\n            this.B = !0;\n            this.K = La.XS.string.fromString(c)\n        }\n        Ea(a={}) {\n            ae(this, a);\n            this.j = !1\n        }\n        za() {\n            this.g.za()\n        }\n        na(a, c, q, E={}) {\n            ae(this, E);\n            this.g.na(a, c, q, E)\n        }\n        endElement() {\n            this.g.endElement()\n        }\n        text(a, c={}) {\n            ae(this, c);\n            super.text(a, c)\n        }\n        wa(a, c={}) {\n            ae(this, c);\n            super.wa(a, c)\n        }\n        va(a, c, q={}) {\n            ae(this, q);\n            super.va(a, c, q)\n        }\n        append(a, c={}) {\n            if (cd.isArray(a))\n                a.flatten(q=>this.append(q, c));\n            else {\n                if (a instanceof ad.XdmFunction)\n                    throw new F(\"Cannot add a function item to an XDM node tree\",\"SENR0001\");\n                if (a instanceof cc)\n                    throw new F(\"Cannot add a map to an XDM node tree\",\"SENR0001\");\n                La.pa(a) ? (ae(this, c),\n                this.g.append(a, c)) : (ae(this, c),\n                Zd.Gh(a, this))\n            }\n        }\n        close() {\n            this.j && this.za();\n            super.close()\n        }\n    }\n    function ce(a, c) {\n        return a.g.findIndex(q=>q.equals(c))\n    }\n    class de {\n        constructor() {\n            this.g = [];\n            this.j = []\n        }\n        get(a) {\n            a = ce(this, a);\n            return 0 > a ? void 0 : this.j[a]\n        }\n        set(a, c) {\n            const q = ce(this, a);\n            0 <= q ? this.j[q] = c : (this.g.push(a),\n            this.j.push(c))\n        }\n        forEach(a) {\n            for (let c = 0; c < this.g.length; c++)\n                a(this.j[c], this.g[c])\n        }\n    }\n    ;// Input 32\n    var Zd = function() {\n        function a(f) {\n            if (f) {\n                var A = f.PUSH;\n                if (!A)\n                    if (A = m[f.N])\n                        f.PUSH = A = A(f);\n                    else {\n                        const O = cd.ib(f);\n                        f.PUSH = A = function(b, d) {\n                            O(b).forEachItem(l=>d.append(l))\n                        }\n                    }\n                return A\n            }\n        }\n        function c(f) {\n            let A = f.N;\n            f.parentNode && (A = c(f.parentNode) + \"/\" + A);\n            return A\n        }\n        function q(f) {\n            if (f.C) {\n                const A = f.C.map(a);\n                return function(O, b) {\n                    A.forEach(d=>d(O, b))\n                }\n            }\n            return ()=>{}\n        }\n        function E(f, A, O, b, d, l) {\n            if (ac.X(f))\n                switch (f.nodeType) {\n                case 9:\n                case 11:\n                    O.pb = ac.baseURI(f);\n                    p(f, O, d, l);\n                    break;\n                case 1:\n                    if (f.hasAttribute(\"xml:base\")) {\n                        const r = f.getAttribute(\"xml:base\");\n                        O.pb = ac.ld(r) ? r : pa.Fb(r.toString(), cd.Ia(b, A)).toString()\n                    } else\n                        O.pb = ac.baseURI(f);\n                    p(f, O, d, l);\n                    break;\n                case 3:\n                case 4:\n                    O.text(f.nodeValue);\n                    break;\n                case 7:\n                    O.va(f.target, f.data);\n                    break;\n                case 8:\n                    O.wa(f.textContent);\n                    break;\n                default:\n                    O.append(f)\n                }\n            else\n                O.append(f)\n        }\n        function H(f, A, O) {\n            switch (f.nodeType) {\n            case 9:\n            case 11:\n                A.Ea(O ? {\n                    BASE_URI: O\n                } : {});\n                f = f.childNodes;\n                for (O = 0; O < f.length; ++O)\n                    H(f[O], A, null);\n                A.za();\n                break;\n            case 1:\n                let b = {};\n                ac.Ja.ob(f).forEachItem(function(l) {\n                    \"xml\" !== l.prefix && (b[l.prefix] = l.uri)\n                });\n                let d = new de;\n                ac.Ja.Ha(f).forEachItem(function(l) {\n                    d.set(l.yc, {\n                        value: l.value,\n                        kb: 0\n                    })\n                });\n                A.na(ac.ca(f), d, b, {});\n                f = f.childNodes;\n                for (O = 0; O < f.length; ++O)\n                    H(f[O], A, null);\n                A.endElement();\n                break;\n            case 3:\n            case 4:\n                A.text(f.nodeValue, 0);\n                break;\n            case 7:\n                A.va(f.target, f.data, 0);\n                break;\n            case 8:\n                A.wa(f.textContent, 0)\n            }\n        }\n        function p(f, A, O, b=!1) {\n            switch (f.nodeType) {\n            case 9:\n            case 11:\n                b && (A.Nc = f);\n                A.Ea();\n                f = f.childNodes;\n                for (var d = 0; d < f.length; ++d)\n                    p(f[d], A, O, b);\n                A.za();\n                break;\n            case 1:\n                b && (A.Nc = f);\n                A.na(ac.ca(f));\n                ac.Ja.Ha(f).forEachItem(function(l) {\n                    ac.ca(l);\n                    A.Ha(ac.ca(l), l.value)\n                });\n                O && ac.Ja.ob(f).forEachItem(function(l) {\n                    A.ob(l.prefix, l.uri)\n                });\n                f = f.childNodes;\n                for (d = 0; d < f.length; ++d)\n                    p(f[d], A, O, b);\n                A.endElement();\n                break;\n            case 3:\n            case 4:\n                b && (A.Nc = f);\n                A.text(f.nodeValue);\n                break;\n            case 7:\n                b && (A.Nc = f);\n                A.va(f.target, f.data);\n                break;\n            case 8:\n                b && (A.Nc = f),\n                A.wa(f.textContent)\n            }\n        }\n        function g(f) {\n            return (f = f.next()) ? f.toString() : \"\"\n        }\n        function e(f, A, O, b, d) {\n            A = O && 0 <= O.indexOf(\"c\");\n            if (ac.X(f))\n                switch (f.nodeType) {\n                case 9:\n                case 11:\n                    d.pb = ac.baseURI(f);\n                    d.Ea();\n                    b();\n                    d.za();\n                    break;\n                case 1:\n                    O = ac.ca(f);\n                    d.pb = ac.baseURI(f);\n                    d.na(O);\n                    A && ac.Ic(f).forEach(function(l) {\n                        d.ob(l.prefix, l.uri)\n                    });\n                    b();\n                    d.Nc = null;\n                    d.endElement();\n                    break;\n                case 2:\n                    ac.ca(f);\n                    d.Ha(ac.ca(f), f.value);\n                    break;\n                case 3:\n                case 4:\n                    d.text(f.textContent);\n                    break;\n                case 8:\n                    d.wa(f.textContent);\n                    break;\n                case 7:\n                    d.va(f.target, f.data);\n                    break;\n                case 13:\n                    d.ob(f.prefix, f.uri);\n                    break;\n                default:\n                    throw new F(\"Unknown node kind \" + f.nodeType,\"SXJS0003\");\n                }\n            else\n                d.append(f)\n        }\n        function k(f, A, O, b, d) {\n            const l = La.XS.string.fromString;\n            O = Ha.xg(O);\n            A = Ha.Ce(A, O + \"g\", f);\n            if (!b && A.test(\"\"))\n                throw new F(\"Regular expression matches zero-length string\",\"FORX0003\");\n            b = [];\n            let r = 0\n              , n = 0;\n            for (; null !== (O = A.exec(f)); )\n                if ((O.index > r || O.index === r && d) && b.push({\n                    Lc: !1,\n                    string: l(f.substring(r, O.index))\n                }),\n                b.push({\n                    Lc: !0,\n                    groups: O,\n                    string: l(O[0])\n                }),\n                r = A.lastIndex,\n                0 === O[0].length && A.lastIndex++,\n                n++ > 10 * f.length)\n                    throw new F(\"analyze-string looping???\",\"SXJS0004\");\n            f.length > r && b.push({\n                Lc: !1,\n                string: l(f.substring(r, f.length))\n            });\n            return b\n        }\n        function v(f) {\n            const A = \"compAtt\" === f.N\n              , O = cd.ib(cd.da(f, \"name\"))\n              , b = cd.ib(cd.da(f, \"namespace\"));\n            return d=>{\n                function l() {\n                    throw new F((A ? \"Attribute\" : \"Element\") + \" name '\" + r + \"' is not a lexical QName\",A ? \"XTDE0850\" : \"XTDE0820\",f);\n                }\n                let r = Ha.trim(O(d).next().toString());\n                if (b) {\n                    d = (d = b(d).next()) ? d.value : \"\";\n                    if (!cd.Oj(d))\n                        throw new F((A ? \"Attribute\" : \"Element\") + \" namespace '\" + d + \"' is invalid\",A ? \"XTDE0865\" : \"XTDE0835\",f);\n                    var n = La.XS.QName;\n                    if (\"\" === d && r.includes(\":\"))\n                        n = n.fromParts(\"\", \"\", r.replace(/^.*:/, \"\"));\n                    else if (r.includes(\":\")) {\n                        const B = r.split(\":\");\n                        \"\" !== B[0] && \"\" !== B[1] || l();\n                        n = n.fromParts(B[0], d, B[1])\n                    } else\n                        n = \"\" === d ? n.fromParts(\"\", \"\", r) : n.fromParts(A ? \"ns0\" : \"\", d, r)\n                } else {\n                    if (A && \"xmlns\" === r)\n                        throw new F(\"Attribute must not be named xmlns\",\"XTDE0855\",f);\n                    try {\n                        n = cd.sg(f, r, !A)\n                    } catch (B) {\n                        if (B instanceof F) {\n                            if (\"XTDE0290\" === B.code)\n                                throw new F((A ? \"Attribute\" : \"Element\") + \" name '\" + r + \"' has an unbound prefix\",A ? \"XTDE0860\" : \"XTDE0830\",f);\n                            \"FORG0001\" === B.code && l()\n                        }\n                        throw B;\n                    }\n                }\n                if (\"http://www.w3.org/2000/xmlns/\" === n.uri)\n                    throw new F(\"Disallowed namespace \" + n.uri,A ? \"XTDE0865\" : \"XTDE0835\",f);\n                return n\n            }\n        }\n        class t {\n            constructor() {}\n            Ea() {}\n            za() {}\n            na() {}\n            Ha() {}\n            ob() {}\n            endElement() {}\n            text() {}\n            wa() {}\n            va() {}\n            append() {}\n            close() {}\n        }\n        class C extends t {\n            constructor(f) {\n                super();\n                this.j = f;\n                this.V = [];\n                this.zb = [];\n                this.pb = null;\n                this.g = 0;\n                this.eb = this.I = null;\n                this.K = {};\n                this.Ca = null;\n                this.B = this.ra = !1;\n                this.xa = {};\n                this.Nc = null\n            }\n            ta(f, A, O) {\n                var b = this.K[f];\n                if (b && b !== A)\n                    if (\"ns\" === O) {\n                        if (this.xa[f])\n                            throw new F(\"Two conflicting bindings for prefix '\" + f + \"'\",\"XTDE0430\");\n                        if (this.I.prefix === f) {\n                            for (b = f + \"_9\"; this.K[b]; )\n                                b += \"9\";\n                            this.I = La.XS.QName.fromParts(b, this.I.uri, this.I.local);\n                            this.K[b] = this.I.uri\n                        }\n                        this.K[f] = A\n                    } else\n                        return \"\" === f && (f = \"NULL\"),\n                        this.ta(f + \"0\", A, O);\n                \"ns\" === O && (this.xa[f] = A);\n                if (\"elem\" === O && \"\" === A)\n                    for (b = this.V.length - 1; 0 <= b; b--)\n                        if (\"\" === this.V[b][0]) {\n                            this.K[\"\"] = \"\";\n                            break\n                        }\n                if (\"\" !== f || \"\" !== A) {\n                    b = !1;\n                    for (let d = this.V.length - 1; 0 <= d; d--) {\n                        const l = this.V[d];\n                        if (l[0] === f) {\n                            l[1] === A && (b = !0);\n                            break\n                        }\n                    }\n                    if (!b) {\n                        if (this.xa[f] && this.xa[f] !== A)\n                            return this.ta(f + \"0\", A, O);\n                        this.K[f] = A\n                    }\n                }\n                return f\n            }\n            Ea() {\n                0 === this.g && (this.j.Ea({\n                    BASE_URI: this.pb,\n                    ORIGINAL_NODE: this.Nc\n                }),\n                this.V = []);\n                this.aa();\n                this.g++;\n                this.B = this.ra = !1\n            }\n            za() {\n                this.g--;\n                0 === this.g && this.j.za();\n                this.B = !1\n            }\n            na(f) {\n                this.aa();\n                this.g++;\n                this.ra = !0;\n                this.I = f;\n                this.eb = new de;\n                this.K = {};\n                this.xa = {};\n                this.ta(f.prefix, f.uri, \"elem\");\n                this.Ca = this.Nc;\n                this.B = !1\n            }\n            Ha(f, A) {\n                if (0 === this.g)\n                    this.j.append(new $b(f,A,null));\n                else {\n                    if (!this.ra) {\n                        if (this.I)\n                            throw new F(\"Cannot write attribute (\" + f.toEQName() + \"=\" + A + \") after writing child nodes (level=\" + this.g + \", start tag = \" + this.I + \")\",\"XTDE0410\");\n                        throw new F(\"Cannot attach an attribute (\" + f.toEQName() + \"=\" + A + \") to a document node\",\"XTDE0420\");\n                    }\n                    if (\"\" !== f.uri) {\n                        [\"\", \"xmlns\"].includes(f.prefix) && (f = f.withPrefix(\"ns_\"));\n                        const O = this.ta(f.prefix, f.uri, \"att\");\n                        O !== f.prefix && (f = f.withPrefix(O))\n                    }\n                    this.eb.set(f, {\n                        value: A,\n                        kb: 0\n                    })\n                }\n            }\n            ob(f, A) {\n                if (0 === this.g)\n                    this.j.append(new bc(f,A));\n                else {\n                    if (!this.ra)\n                        throw new F(\"Cannot write namespace after writing child nodes\",\"XTDE0410\");\n                    if (\"\" === f && \"\" === this.I.uri)\n                        throw new F(\"Cannot add default namespace declaration to a no-namespace element\",\"XTDE0440\");\n                    this.ta(f, A, \"ns\")\n                }\n            }\n            endElement() {\n                this.aa();\n                this.j.endElement();\n                this.g--;\n                let f = this.zb.pop();\n                for (; 0 < f--; )\n                    this.V.pop();\n                this.B = !1\n            }\n            text(f, A) {\n                if (0 < f.length || 0 === this.g)\n                    this.aa(),\n                    this.j.text(f, A || {});\n                this.B = !1\n            }\n            wa(f) {\n                this.aa();\n                this.j.wa(f);\n                this.B = !1\n            }\n            va(f, A) {\n                this.aa();\n                this.j.va(f, A);\n                this.B = !1\n            }\n            append(f) {\n                if (ac.X(f)) {\n                    if (0 === this.g)\n                        this.j.append(f, {});\n                    else\n                        switch (f.nodeType) {\n                        case 2:\n                            this.Ha(ac.ca(f), f.value);\n                            break;\n                        case 13:\n                            this.ob(f.prefix, f.uri);\n                            break;\n                        case 9:\n                        case 11:\n                            0 === this.g ? H(f, this.j, this.pb) : ac.Ja.Ka(f).forEachItem(A=>this.append(A));\n                            break;\n                        default:\n                            this.aa(),\n                            p(f, this, !0, !1)\n                        }\n                    this.B = !1\n                } else if (0 === this.g)\n                    this.j.append(f, {}),\n                    this.B = !1;\n                else if (La.pa(f))\n                    this.aa(),\n                    this.text((this.B ? \" \" : \"\") + f.toString(), {}),\n                    this.B = !0;\n                else if (cd.isArray(f)) {\n                    f = f.value;\n                    for (let A = 0; A < f.length; A++) {\n                        const O = f[A];\n                        for (let b = 0; b < O.length; b++)\n                            this.append(O[b])\n                    }\n                } else {\n                    if (cd.Jd(f))\n                        throw new F(\"Cannot attach a \" + (cd.isMap(f) ? \"map\" : \"function\") + \" to an XDM tree\",\"XTDE0450\");\n                    sa.la(\"Cannot add item to tree \" + sa.showValue(f))\n                }\n            }\n            close() {\n                this.j.close()\n            }\n            aa() {\n                if (this.ra) {\n                    var f = {};\n                    this.pb && (f.BASE_URI = this.pb);\n                    this.Ca && (f.ORIGINAL_NODE = this.Ca,\n                    this.Ca = null);\n                    this.j.na(this.I, this.eb, this.K, f);\n                    this.ra = !1;\n                    f = 0;\n                    for (let[A,O] of Object.entries(this.K))\n                        this.V.push([A, O]),\n                        f++;\n                    this.zb.push(f)\n                }\n            }\n        }\n        const m = {\n            analyzeString: function(f) {\n                const A = cd.ib(cd.da(f, \"select\"))\n                  , O = cd.ib(cd.da(f, \"regex\"))\n                  , b = cd.ib(cd.da(f, \"flags\"))\n                  , d = a(cd.da(f, \"matching\"))\n                  , l = a(cd.da(f, \"nonMatching\"));\n                return (r,n)=>{\n                    try {\n                        let B = A(r).next();\n                        if (null === B)\n                            return Ob;\n                        B = B.toString();\n                        const W = O(r).next().toString()\n                          , ma = b(r).next().toString()\n                          , qa = k(B, W, ma, !0, !1)\n                          , L = r.ba(!1)\n                          , aa = qa.map(z=>z.string);\n                        L.focus = Sb(Kb(aa));\n                        L.focus.forEachItem(()=>{\n                            const z = qa[L.focus.position - 1];\n                            z.Lc ? d && (L.Mb = z.groups,\n                            d(L, n)) : l && (L.Mb = [],\n                            l(L, n))\n                        }\n                        )\n                    } catch (B) {\n                        if (B instanceof F && \"FORX0002\" === B.code)\n                            throw new F(B.message,\"XTDE1140\");\n                        if (B instanceof F && \"FORX0001\" === B.code)\n                            throw new F(B.message,\"XTDE1145\");\n                        throw B;\n                    }\n                }\n            },\n            applyImports: function(f) {\n                return function(A, O) {\n                    const b = A.gb.mode;\n                    if (!b)\n                        throw new F(\"applyImports: no current mode\",\"XTDE0560\",f);\n                    fd(A, \"XTDE0560\", \"xsl:apply-imports\", f);\n                    const d = A.ba(!0);\n                    d.sa = A.gb;\n                    cd.Ve(f, A, d);\n                    d.focus = A.focus;\n                    return b.ki(d, O)\n                }\n            },\n            applyT: function(f) {\n                const A = cd.Sa(f)\n                  , O = cd.ib(cd.da(f, \"separator\"));\n                return function(b, d) {\n                    let l;\n                    const r = b.ba(!0);\n                    if (cd.Db(f, \"c\"))\n                        l = b.gb.mode,\n                        [\"function\", \"globalVariable\", \"globalParam\"].includes(b.sa.actor.N) && (l = cd.ke(f, b).Wh),\n                        r.sa = b.gb;\n                    else {\n                        var n = cd.ig(f, b, \"mode\");\n                        l = n.mode;\n                        if (l.Bh)\n                            throw new F(\"Mode \" + l.Re.name + \" only handles typed nodes\",\"XTTE3100\",f);\n                        r.sa = n\n                    }\n                    cd.Ve(f, b, r);\n                    n = O ? O(b).next() : null;\n                    r.focus = Sb(A(b));\n                    r.focus.Mb = b.focus ? b.focus.Mb : null;\n                    l.Hb(r, d, n)\n                }\n            },\n            att: function(f) {\n                const A = f.name\n                  , O = A.split(\":\");\n                let b;\n                b = f.nsuri ? 2 === O.length ? La.XS.QName.fromParts(O[0], f.nsuri, O[1]) : La.XS.QName.fromParts(\"\", f.nsuri, A) : La.XS.QName.fromString(A, cd.Wd(f, !1));\n                const d = cd.Sa(f);\n                return function(l, r) {\n                    l = g(d(l));\n                    r.Ha(b, l)\n                }\n            },\n            \"break\": function(f) {\n                const A = q(f);\n                return function(O, b) {\n                    A(O, b);\n                    O.focus.position = -999\n                }\n            },\n            callT: function(f) {\n                return function(A, O) {\n                    const b = cd.ig(f, A, \"template\")\n                      , d = A.ba(!0);\n                    d.Bb = null;\n                    d.sa = b;\n                    cd.Tf(b.actor, d);\n                    cd.Ve(f, A, d);\n                    A = b.actor;\n                    A.C && q(A)(d, O)\n                }\n            },\n            choose: function(f) {\n                f = f.C;\n                const A = []\n                  , O = [];\n                for (let b = 0; b < f.length; b += 2)\n                    A.push(cd.ib(f[b])),\n                    O.push(a(f[b + 1]));\n                return function(b, d) {\n                    for (let l = 0; l < A.length; l++)\n                        if (cd.Fd(A[l](b))) {\n                            O[l](b, d);\n                            break\n                        }\n                }\n            },\n            comment: function(f) {\n                const A = cd.Sa(f);\n                return function(O, b) {\n                    O = g(A(O)).replace(/--/g, \"- -\").replace(/-$/, \"- \");\n                    b.wa(O)\n                }\n            },\n            compAtt: function(f) {\n                const A = cd.ib(cd.da(f, \"select\"))\n                  , O = v(f);\n                return function(b, d) {\n                    const l = O(b);\n                    b = g(A(b));\n                    d.Ha(l, b)\n                }\n            },\n            compElem: function(f) {\n                const A = a(cd.da(f, \"content\"))\n                  , O = v(f);\n                return function(b, d) {\n                    f.baseUri && (d.pb = f.baseUri);\n                    const l = O(b);\n                    d.na(l);\n                    A(b, d);\n                    d.endElement()\n                }\n            },\n            copy: function(f) {\n                const A = q(f);\n                return function(O, b) {\n                    fd(O, \"XTTE0945\", \"xsl:copy\", f);\n                    e(ed(O), O, f.flags, ()=>A(O, b), b)\n                }\n            },\n            copyOf: function(f) {\n                const A = cd.Db(f, \"c\")\n                  , O = cd.Db(f, \"m\")\n                  , b = cd.Sa(f);\n                q(f);\n                return function(d, l) {\n                    b(d).forEachItem(r=>E(r, d, l, f, A, O))\n                }\n            },\n            doc: function(f) {\n                const A = q(f);\n                return function(O, b) {\n                    b.pb = cd.Ia(f, O);\n                    b.Ea();\n                    A(O, b);\n                    b.za()\n                }\n            },\n            elem: function(f) {\n                const A = f.name\n                  , O = A.split(\":\")\n                  , b = q(f);\n                let d;\n                d = \"undefined\" !== typeof f.nsuri ? 2 === O.length ? La.XS.QName.fromParts(O[0], f.nsuri, O[1]) : La.XS.QName.fromParts(\"\", f.nsuri, A) : La.XS.QName.fromString(A, cd.Wd(f, !0));\n                return function(l, r) {\n                    f.baseUri && (r.pb = f.baseUri);\n                    r.na(d);\n                    if (f.namespaces) {\n                        const B = f.namespaces.toString().split(\" \");\n                        for (let W = 0; W < B.length; W++) {\n                            var n = B[W];\n                            const ma = n.indexOf(\"=\");\n                            let qa = -1 === ma ? n : n.substring(0, ma);\n                            n = -1 === ma ? \"\" : n.substring(ma + 1);\n                            \"#\" === qa && (qa = \"\");\n                            \"xml\" !== qa && (n = \"\" !== n ? n : cd.Wd(f, !0)(qa),\n                            r.ob(qa, n))\n                        }\n                    }\n                    b(l, r);\n                    r.endElement()\n                }\n            },\n            empty: function() {\n                return function() {}\n            },\n            forEach: function(f) {\n                const A = cd.Sa(f)\n                  , O = a(f.C[1])\n                  , b = cd.ib(cd.da(f, \"separator\"));\n                return function(d, l) {\n                    const r = d.ba(!1);\n                    r.focus = Sb(A(d));\n                    r.ab = null;\n                    if (b) {\n                        let n = !0;\n                        const B = b(d).next();\n                        r.focus.forEachItem(()=>{\n                            n ? n = !1 : l.text(B.value, {});\n                            O(r, l)\n                        }\n                        )\n                    } else\n                        r.focus.forEachItem(()=>O(r, l))\n                }\n            },\n            forEachGroup: function(f) {\n                const A = cd.ib(cd.da(f, \"select\"))\n                  , O = Zd.wi(cd.da(f, \"content\"));\n                return (b,d)=>{\n                    function l(L) {\n                        const aa = [];\n                        r.forEachItem(function(z) {\n                            L(aa, z)\n                        });\n                        return aa\n                    }\n                    const r = Sb(A(b))\n                      , n = b.ba(!1);\n                    n.focus = r;\n                    var B = {\n                        starting: function() {\n                            const L = Kd.od(cd.da(f, \"match\"));\n                            return l(function(aa, z) {\n                                1 === r.position || Kd.matches(L, z, n) ? aa.push({\n                                    group: [z]\n                                }) : aa[aa.length - 1].group.push(z)\n                            })\n                        },\n                        ending: function() {\n                            const L = Kd.od(cd.da(f, \"match\"));\n                            let aa = !1;\n                            return l(function(z, D) {\n                                1 === r.position || aa ? z.push({\n                                    group: [D]\n                                }) : z[z.length - 1].group.push(D);\n                                aa = Kd.matches(L, D, n)\n                            })\n                        },\n                        adjacent: function() {\n                            var L = cd.da(f, \"collation\");\n                            L = L ? cd.evaluate(L, b).next().toString() : Hd.$c;\n                            const aa = Hd.eg(L, b)\n                              , z = cd.da(f, \"key\");\n                            let D = null;\n                            return l(function(y, I) {\n                                var R = cd.evaluate(z, n).expand();\n                                1 !== r.position && Fd(Kb(R), Kb(D), aa.equals) ? y[y.length - 1].group.push(I) : (y.push({\n                                    group: [I],\n                                    key: R\n                                }),\n                                D = R)\n                            })\n                        },\n                        by: function() {\n                            var L = cd.da(f, \"collation\");\n                            L = L ? cd.evaluate(L, b).next().toString() : Hd.$c;\n                            L = Hd.eg(L, b);\n                            const aa = Hd.xf(L, !1)\n                              , z = cd.da(f, \"key\");\n                            return l(function(D, y) {\n                                let I, R = [];\n                                cd.evaluate(z, n).forEachItem(function(M) {\n                                    aa.containsKey(M) ? (I = aa.get(M),\n                                    0 > R.findIndex(function(ca) {\n                                        return ca === I\n                                    }) && (D[I].group.push(y),\n                                    R.push(I))) : (I = D.length,\n                                    D.push({\n                                        group: [y],\n                                        key: [M]\n                                    }),\n                                    aa.inSituPut(M, I),\n                                    R.push(I))\n                                })\n                            })\n                        },\n                        by_c: function() {\n                            var L = cd.da(f, \"collation\");\n                            L = L ? cd.evaluate(L, b).next().toString() : Hd.$c;\n                            L = Hd.eg(L, b);\n                            const aa = cd.da(f, \"key\")\n                              , z = Hd.xf(L, !0);\n                            return l(function(D, y) {\n                                let I, R = cd.evaluate(aa, n).expand();\n                                z.containsKey(R) ? (I = z.get(R),\n                                D[I].group.push(y)) : (I = D.length,\n                                D.push({\n                                    group: [y],\n                                    key: R\n                                }),\n                                z.inSituPut(R, I))\n                            })\n                        }\n                    };\n                    B.adjacent_c = B.adjacent;\n                    var W = f.algorithm + (cd.Db(f, \"c\") ? \"_c\" : \"\");\n                    let ma;\n                    try {\n                        ma = B[W]()\n                    } catch (L) {\n                        if (L instanceof F && \"FOCH0002\" === L.code)\n                            throw new F(\"Unknown collation:\" + L.message,\"XTDE1110\");\n                        throw L;\n                    }\n                    const qa = cd.qb(f, \"sortKey\");\n                    if (0 < qa.length) {\n                        B = Sb(Kb(ma));\n                        const L = b.ba(!1);\n                        L.focus = B;\n                        const aa = qa.map(function(z) {\n                            return Hd.ii(z, b)\n                        });\n                        B.forEachItem(function(z, D) {\n                            z.Oh = qa.map(function(y) {\n                                var I = L.focus;\n                                I.current = z.group[0];\n                                I.position = D + 1;\n                                L.ad = z.group;\n                                L.bd = z.key;\n                                return cd.Sa(y)(L).next()\n                            })\n                        });\n                        ma.sort(function(z, D) {\n                            for (var y = 0; y < aa.length; y++) {\n                                var I = aa[y](z.Oh[y], D.Oh[y]);\n                                if (0 > I)\n                                    return -1;\n                                if (0 < I)\n                                    return 1\n                            }\n                            return 0\n                        })\n                    }\n                    B = b.ba(!1);\n                    B.focus = Sb(Kb(ma));\n                    for (W = 0; null !== B.focus.next(); ) {\n                        const L = ma[W++]\n                          , aa = B.focus;\n                        aa.current = L.group[0];\n                        aa.position = W;\n                        B.ad = L.group;\n                        B.bd = L.key;\n                        O(B, d)\n                    }\n                }\n            },\n            iterate: function(f) {\n                const A = (f.C[1].C || []).map(cd.ib)\n                  , O = cd.Sa(f)\n                  , b = a(cd.da(f, \"action\"))\n                  , d = a(cd.da(f, \"on-completion\"));\n                return function(l, r) {\n                    A.map(W=>W(l));\n                    var n = l.ba(!1);\n                    n.focus = Sb(O(l));\n                    n.ab = null;\n                    let B = !1;\n                    for (; null !== n.focus.next(); )\n                        if (b(n, r),\n                        -999 === n.focus.position) {\n                            B = !0;\n                            break\n                        }\n                    !B && d && (n = l.ba(!1),\n                    n.focus = null,\n                    d(n, r))\n                }\n            },\n            let: function(f) {\n                const A = cd.Sa(f)\n                  , O = a(f.C[1])\n                  , b = parseInt(f.slot, 10);\n                return function(d, l) {\n                    const r = d.qa;\n                    d.qa = \"variable\";\n                    const n = A(d).expand();\n                    d.qa = r;\n                    d.oa[b] = n;\n                    O(d, l)\n                }\n            },\n            nextIteration: function(f) {\n                const A = cd.qb(f, \"withParam\").map(O=>({\n                    select: cd.Sa(O),\n                    slot: parseInt(O.slot, 10)\n                }));\n                return function(O) {\n                    A.forEach(b=>b.value = b.select(O).expand());\n                    A.forEach(b=>O.oa[b.slot] = b.value)\n                }\n            },\n            nextMatch: function(f) {\n                return function(A, O) {\n                    const b = A.gb.mode;\n                    if (!b)\n                        throw new F(\"next-match: no current mode\",\"XTDE0560\",f);\n                    if (!A.ab)\n                        throw new F(\"next-match: no current template\",\"XTDE0560\",f);\n                    if (ee(A))\n                        throw new F(\"next-match: no context item\",\"XTDE0560\",f);\n                    const d = A.ba(!0);\n                    d.sa = A.gb;\n                    cd.Ve(f, A, d);\n                    return b.qj(d, O)\n                }\n            },\n            procInst: function(f) {\n                const A = cd.Sa(f)\n                  , O = cd.Vg(f);\n                return function(b, d) {\n                    const l = A(b).next().toString();\n                    if (!Ha.Lb(l))\n                        throw new F(\"The name of a processing-instruction must be a valid NCName; supplied value: \" + l.toString(),\"XTDE0890\",f);\n                    if (/^[Xx][Mm][Ll]$/.test(l))\n                        throw new F(\"The name of a processing-instruction must not be 'xml'\",\"XTDE0890\",f);\n                    b = O(b);\n                    b = g(b).replace(/\\?>/g, \"? >\").replace(/^\\s+/, \"\");\n                    d.va(l, b)\n                }\n            },\n            sequence: q,\n            sourceDoc: function(f) {\n                const A = cd.ib(cd.da(f, \"href\"))\n                  , O = a(f.C[1]);\n                return function(b, d) {\n                    const l = b.ba(!1);\n                    var r = null === A ? \"\" : A(b).next().toString();\n                    r = pa.Fb(r, cd.Ia(f, b));\n                    r = Nd.Dc(r, b);\n                    b = b.fixed.Ee;\n                    null !== b && (r = b(r));\n                    l.focus = Rb(r);\n                    l.ab = null;\n                    O(l, d)\n                }\n            },\n            useAS: function(f) {\n                return function(A, O) {\n                    var b = cd.ig(f, A, \"attributeSet\");\n                    A = A.ba(!0);\n                    A.qa = \"attribute set\";\n                    A.sa = b;\n                    b = b.actor;\n                    b.C && q(b)(A, O)\n                }\n            },\n            valueOf: function(f) {\n                const A = cd.Sa(f);\n                let O = {};\n                cd.Db(f, \"d\") && (O.DISABLE_ESCAPING = !0);\n                return function(b, d) {\n                    b = g(A(b));\n                    d.text(b, O)\n                }\n            }\n        };\n        return {\n            Of: k,\n            wi: a,\n            Fc: function(f) {\n                return new C(f)\n            },\n            push: function(f, A, O) {\n                if (\"undefined\" === typeof O)\n                    throw sa.Ma(Error().stack, 1, A.fixed.Ta),\n                    new F(\"No output for \" + c(f));\n                if (m[f.N]) {\n                    var b = a(f);\n                    try {\n                        b(A, O)\n                    } catch (d) {\n                        throw d instanceof F && !d.xsltLineNr && ra(d, f),\n                        d;\n                    }\n                } else {\n                    b = cd.ib(f);\n                    try {\n                        const d = b(A);\n                        let l;\n                        for (; null != (l = d.next()); )\n                            O.append(l)\n                    } catch (d) {\n                        throw d instanceof F && !d.xsltLineNr && ra(d, f),\n                        d;\n                    }\n                }\n            },\n            Gh: H,\n            qf: E,\n            rg: e\n        }\n    }();\n    // Input 33\n    const fe = function() {\n        function a(L, aa, z, D, y) {\n            function I(V) {\n                return null === r.Xa(V)\n            }\n            function R(V) {\n                return V.nodeType === M.nodeType && (null === ea ? !0 : r.ca(V).equals(ea))\n            }\n            let M;\n            const ca = y.fixed.ka;\n            if (aa) {\n                if (M = ca.evaluate(aa, y).next(),\n                !M || !r.X(M))\n                    throw new F(\"xsl:number/@select must yield a single node\",\"XTTE1000\");\n            } else\n                fd(y, \"XTTE0990\", \"xsl:number\"),\n                M = ed(y);\n            const ea = r.ca(M);\n            let ja = R;\n            if (null !== z) {\n                const V = Kd.od(z);\n                ja = function(la) {\n                    return Kd.matches(V, la, y)\n                }\n            }\n            if (null === D)\n                aa = I;\n            else {\n                const V = Kd.od(D);\n                aa = function(la) {\n                    return I(la) || Kd.matches(V, la, y)\n                }\n            }\n            let Y;\n            switch (L) {\n            case \"simple\":\n                return L = n.Oc(M).filter(R),\n                Ub(L.count() + 1);\n            case \"single\":\n                L = n.Ya(M).filter(ja).next();\n                Y = n.Ya(M).filter(aa).next();\n                L = null === L ? null : null !== n.Ya(L).filter(function(la) {\n                    return r.isSameNode(la, Y)\n                }).next() ? L : null;\n                if (null === L)\n                    return Ob;\n                L = n.Oc(L).filter(ja);\n                return Ub(L.count() + 1);\n            case \"multi\":\n                L = Kb(n.Ya(M).filter(ja).expand().reverse());\n                Y = n.Ya(M).filter(aa).next();\n                L = L.filter(function(la) {\n                    return null !== n.Ya(la).filter(function(x) {\n                        return r.isSameNode(x, Y)\n                    }).next()\n                });\n                const V = B.integer.fromNumber;\n                return L.mapOneToOne(la=>V(n.Oc(la).filter(ja).count() + 1));\n            case \"any\":\n                return z = function(la, x) {\n                    return r.rb(x, la)\n                }\n                ,\n                L = new Eb(n.og(M).filter(ja),n.Ya(M).filter(ja),z),\n                Y = (new Eb(n.og(M).filter(aa),n.Ya(M).filter(aa),z)).next(),\n                null === Y && sa.la(\"from pattern selected empty\"),\n                L = L.filter(function(la) {\n                    return 0 <= r.rb(la, Y)\n                }),\n                L = L.count(),\n                0 === L ? Ob : Ub(L);\n            default:\n                return sa.la(\"unknown xsl:number/@level \" + L),\n                Ob\n            }\n        }\n        function c(L, aa, z, D, y, I, R) {\n            function M(ea) {\n                let ja;\n                \"\" === ea && (ea = \"1\");\n                if (/^[\\x01-\\x7f]*$/.test(ea))\n                    ea = ea.split(/\\b/),\n                    ja = function(la) {\n                        return /\\w+/.test(la)\n                    }\n                    ;\n                else {\n                    if (ea.length !== Da(ea).length)\n                        throw new F(\"Cannot handle non-BMP characters in format-number picture\",\"SXJS0002\");\n                    const la = Zd.Of(ea, \"[\\\\p{Nd}\\\\p{Nl}\\\\p{No}\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}]+\", \"\", !0, !1);\n                    ja = function(x, K) {\n                        return la[K].Lc\n                    }\n                    ;\n                    ea = la.map(function(x) {\n                        return x.string.toString()\n                    })\n                }\n                const Y = {\n                    prefix: \"\",\n                    ed: [],\n                    Xd: \"\"\n                };\n                let V = \".\";\n                for (let la = 0; la < ea.length; la++) {\n                    const x = ea[la];\n                    ja(x, la) ? (Y.ed.push({\n                        Pg: x,\n                        Kh: V\n                    }),\n                    V = \".\") : (0 === la && (Y.prefix = x),\n                    la === ea.length - 1 ? Y.Xd = x : 0 !== la && (V = x))\n                }\n                0 === Y.ed.length && (Y.ed.push({\n                    Pg: \"1\",\n                    Kh: \".\"\n                }),\n                Y.Xd = Y.prefix);\n                return Y\n            }\n            const ca = R.fixed.ka;\n            if (null !== I)\n                try {\n                    B.language.R(I)\n                } catch (ea) {\n                    throw new F(\"@lang=\" + I + \": invalid language code\",\"XTDE0030\");\n                }\n            return function(ea) {\n                const ja = null === aa ? \"1\" : ca.evaluate(aa, R).next().toString()\n                  , Y = M(ja);\n                let V = Y.prefix;\n                ea.forEach(function(la, x) {\n                    const K = x >= Y.ed.length ? Y.ed[Y.ed.length - 1] : Y.ed[x];\n                    0 !== x && (V += K.Kh);\n                    x = K.Pg;\n                    y && (x += \";o\");\n                    la = fe.bg(la.toNumber(), x);\n                    null !== z && null !== D && (la = fe.Mf(la, z, D));\n                    V += la\n                });\n                V += Y.Xd;\n                return Tb(V)\n            }(L.expand())\n        }\n        function q(L, aa, z, D, y) {\n            const I = y.fixed.ka;\n            let R = [1];\n            null !== z && (R = I.evaluate(z, y).next().toString().split(/\\s+/).map(function(M) {\n                if (!/^-?[0-9]+$/.test(M))\n                    throw new F(\"xsl:number/@start-at must be a sequence of integers. Offending value: \" + M,\"XTSE0020\");\n                return parseInt(M, 10)\n            }));\n            if (aa && D) {\n                L = L.next();\n                if (null === L)\n                    return null;\n                try {\n                    L = B.integer.R(L.round(0))\n                } catch (M) {\n                    return null\n                }\n                L = Kb([L])\n            }\n            return L.mapOneToOne(function(M, ca) {\n                M = M.isNumeric() ? M.toDouble() : B.double.cf(M.toString());\n                if (0 > M.toNumber())\n                    throw new F(`xsl:number/@value is less than zero (${M.toString()})`,\"XTDE0980\");\n                try {\n                    M = B.integer.R(M.round(0))\n                } catch (ea) {\n                    throw ea.code = \"XTDE0980\",\n                    ea;\n                }\n                ca = ca >= R.length ? R[R.length - 1] : R[ca];\n                1 !== ca && (M = B.integer.fromNumber(M.toNumber() + (ca - 1)));\n                return M\n            })\n        }\n        function E(L) {\n            if (1 > L || 4999 < L)\n                return L.toString();\n            let aa = \"\";\n            const z = \"m cm d cd c xc l xl x ix v iv i\".split(\" \")\n              , D = [1E3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];\n            for (let y = 0; y < z.length; y++)\n                for (; L >= D[y]; )\n                    aa += z[y],\n                    L -= D[y];\n            return aa\n        }\n        function H(L, aa) {\n            function z(y) {\n                return (y > D ? z(Math.floor((y - 1) / D)) : \"\") + aa.charAt((y - 1) % D)\n            }\n            if (1 > L)\n                return L.toString();\n            const D = aa.length;\n            return z(L)\n        }\n        function p(L, aa) {\n            return L < aa.length ? aa[L] : L.toString()\n        }\n        function g(L, aa) {\n            var z = Math.abs(L);\n            for (z = 999999 > z ? z.toString() : wa(z).toFixed(); z.length < aa; )\n                z = \"0\" + z;\n            0 > L && (z = \"-\" + z);\n            return z\n        }\n        function e(L, aa=\"FODF1310\") {\n            const z = Da(L)\n              , D = {};\n            let y = !0;\n            var I = 0;\n            let R;\n            const M = Ha.Ce(\"\\\\p{Nd}\", null);\n            var ca = L.search(M);\n            if (0 > ca)\n                y = !1;\n            else {\n                I = Ha.tj().Nd;\n                for (let ja = 0; ja < I.length && !(R = parseInt(I[ja][0], 16),\n                R <= z[ca] && z[ca] <= R + 10); ja++)\n                    ;\n                for (ca = 0; ca < z.length; ca++)\n                    if (128 <= z[ca])\n                        if (I = String.fromCharCode(z[ca]),\n                        M.test(I)) {\n                            if (R > z[ca] || z[ca] > R + 10)\n                                throw new F(\"Picture string mixes digits from different digit families: \" + L,aa);\n                        } else if (Ha.Ce(\"\\\\p{N}\\\\p{L}\", null).test(I))\n                            throw new F(\"Picture string is invalid: \" + L,aa);\n                const ea = [];\n                I = R - 48;\n                z.forEach(function(ja) {\n                    R <= ja && ja <= R + 10 ? ea.push(48) : ea.push(ja)\n                });\n                L = Ea(ea)\n            }\n            D.aj = y;\n            D.format = L;\n            D.Yf = I;\n            D.Af = R;\n            return D\n        }\n        function k(L, aa) {\n            const z = [];\n            Da(L).forEach(function(D) {\n                48 <= D && 57 >= D ? z.push(D + aa) : z.push(D)\n            });\n            return Ea(z)\n        }\n        function v(L, aa, z, D=\"\", y=!1) {\n            let I = 0;\n            for (let R = 0; R < L.length; R++)\n                if (R === aa[I]) {\n                    const M = y ? R + 1 : L.length - R;\n                    0 < M && (L = L.substring(0, M) + (z ? z[y ? I : z.length - I - 1] : D) + L.substring(M));\n                    I++\n                }\n            return L\n        }\n        function t(L, aa, z=\"FODF1310\") {\n            let D = !0;\n            var y = 0;\n            if (Da(aa).length !== aa.length)\n                throw new F(\"Cannot handle non-BMP characters in format-integer picture\",\"SXJS0002\");\n            /^[\\x01-\\x7f]*$/.test(aa) || (D = !1);\n            if (D)\n                var I = /[0-9]/.test(aa);\n            else\n                y = e(aa, z),\n                aa = y.format,\n                I = y.aj,\n                y = y.Yf;\n            I || (aa = \"1\");\n            var R = aa;\n            if (!/^(([0-9]|#|[^A-Za-z0-9])+?)$/.test(R))\n                throw new F(\"The decimal digit pattern in the picture string is invalid: \" + R,z);\n            I = R;\n            aa = !0;\n            if (/[^0-9A-Za-z#]/.test(I)) {\n                var M = I.match(/[^0-9A-Za-z#]/g);\n                if (1 < M.length)\n                    for (let ca = 1; ca < M.length; ca++)\n                        if (M[0] !== M[ca]) {\n                            aa = !1;\n                            break\n                        }\n                I = I.replace(/[^0-9A-Za-z#]/g, \",\")\n            }\n            if (/^,|,,|,$/.test(I))\n                throw new F(\"Grouping in picture string is invalid: \" + R,z);\n            if (/[0-9].*#/.test(I))\n                throw new F(\"Picture string is invalid: \" + R,z);\n            z = I.replace(/[#,]/g, \"\").length;\n            L = g(L, z);\n            if (M) {\n                I = Da(I).reverse();\n                z = [];\n                for (R = 0; R < I.length; R++)\n                    44 === I[R] && z.push(R);\n                R = !0;\n                I.length - z[z.length - 1] - 1 > z[0] && (R = !1);\n                if (R)\n                    for (I = 1; I < z.length; I++)\n                        if (0 !== (z[I] + 1) % (z[0] + 1)) {\n                            R = !1;\n                            break\n                        }\n                L = R && aa ? fe.Mf(L, M[0], z[0]) : v(L, z, M)\n            }\n            M = L;\n            D || (M = k(M, y));\n            return M\n        }\n        function C(L) {\n            const aa = \"Zero One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen\".split(\" \")\n              , z = \"  Twenty Thirty Forty Fifty Sixty Seventy Eighty Ninety\".split(\" \");\n            return 20 > L ? aa[L] : 100 > L ? z[Math.floor(L / 10)] + (0 === L % 10 ? \"\" : \" \" + aa[L % 10]) : 1E3 > L ? C(Math.floor(L / 100)) + \" Hundred\" + (0 === L % 100 ? \"\" : \" and \" + C(L % 100)) : 1E6 > L ? C(Math.floor(L / 1E3)) + \" Thousand\" + (0 === L % 1E3 ? \"\" : (100 > L % 1E3 ? \" and \" : \" \") + C(L % 1E3)) : 1E9 > L ? C(Math.floor(L / 1E6)) + \" Million\" + (0 === L % 1E3 ? \"\" : (100 > L % 1E3 ? \" and \" : \" \") + C(L % 1E6)) : L.toString()\n        }\n        function m(L) {\n            const aa = \"Zeroth First Second Third Fourth Fifth Sixth Seventh Eighth Ninth Tenth Eleventh Twelfth Thirteenth Fourteenth Fifteenth Sixteenth Seventeenth Eighteenth Nineteenth\".split(\" \")\n              , z = \"  Twent Thirt Fort Fift Sixt Sevent Eight Ninet\".split(\" \");\n            return 20 > L ? aa[L] : 100 > L ? z[Math.floor(L / 10)] + (0 === L % 10 ? \"ieth\" : \"y \" + aa[L % 10]) : 1E3 > L ? C(Math.floor(L / 100)) + \" Hundred\" + (0 === L % 100 ? \"th\" : \" and \" + m(L % 100)) : 1E6 > L ? C(Math.floor(L / 1E3)) + \" Thousand\" + (0 === L % 1E3 ? \"th\" : (100 > L % 1E3 ? \" and \" : \" \") + m(L % 1E3)) : 1E9 > L ? C(Math.floor(L / 1E6)) + \" Million\" + (0 === L % 1E3 ? \"th\" : (100 > L % 1E3 ? \" and \" : \" \") + m(L % 1E6)) : L.toString()\n        }\n        function f(L) {\n            return 1 === L % 10 && 11 !== L % 100 ? \"st\" : 2 === L % 10 && 12 !== L % 100 ? \"nd\" : 3 === L % 10 && 13 !== L % 100 ? \"rd\" : \"th\"\n        }\n        function A(L, aa, z=\"FODF1310\") {\n            function D(R, M) {\n                let ca = \"\";\n                for (let ea = R.charCodeAt(0), ja = 0; ja < M; ea++,\n                ja++)\n                    ca += String.fromCharCode(ea);\n                return ca\n            }\n            var y;\n            let I = null;\n            if (-1 !== (y = aa.lastIndexOf(\";\"))) {\n                I = aa.substring(y + 1);\n                if (!/^([co](\\(.+\\))?)?[at]?$/.test(I))\n                    throw new F(\"Invalid format modifier in picture string: \" + I,z);\n                I = I.charAt(0);\n                aa = aa.substring(0, y)\n            }\n            if (\"\" === aa)\n                throw new F(\"In the picture string, the picture cannot be empty\",z);\n            y = 0 > L ? \"-\" : \"\";\n            if (\"o\" === I)\n                switch (aa.toString()) {\n                case \"a\":\n                case \"A\":\n                case \"i\":\n                case \"I\":\n                    break;\n                case \"Ww\":\n                    return y + m(Math.abs(L));\n                case \"W\":\n                    return y + m(Math.abs(L)).toUpperCase();\n                case \"w\":\n                    return y + m(Math.abs(L)).toLowerCase();\n                default:\n                    return t(L, aa, z) + f(Math.abs(L))\n                }\n            switch (aa.toString()) {\n            case \"a\":\n                return H(L, D(\"a\", 26));\n            case \"A\":\n                return H(L, D(\"A\", 26));\n            case \"\\u03b1\":\n                return H(L, D(\"\\u03b1\", 25));\n            case \"\\u0391\":\n                return H(L, D(\"\\u0391\", 25));\n            case \"i\":\n                return E(L);\n            case \"I\":\n                return E(L).toUpperCase();\n            case \"Ww\":\n                return y + C(Math.abs(L));\n            case \"W\":\n                return y + C(Math.abs(L)).toUpperCase();\n            case \"w\":\n                return y + C(Math.abs(L)).toLowerCase();\n            case \"\\u2460\":\n                return p(L, \"\\u24ea\" + D(\"\\u2460\", 20) + D(\"\\u3251\", 15) + D(\"\\u32b1\", 15));\n            case \"\\u2474\":\n                return p(L, \"0\" + D(\"\\u2474\", 20));\n            case \"\\u2488\":\n                return 0 === L ? \"\\ud83c\\udd00\" : p(L, \"0\" + D(\"\\u2488\", 20));\n            case \"\\u2776\":\n                return p(L, \"\\u24ff\" + D(\"\\u2776\", 10) + D(\"\\u24eb\", 10));\n            case \"\\u2780\":\n                return 0 === L ? \"\\ud83c\\udd0b\" : p(L, \"0\" + D(\"\\u2780\", 10));\n            case \"\\u278a\":\n                return 0 === L ? \"\\ud83c\\udd0c\" : p(L, \"0\" + D(\"\\u278a\", 10));\n            case \"\\u24f5\":\n                return p(L, \"0\" + D(\"\\u24f5\", 10));\n            case \"\\u3220\":\n                return p(L, \"0\" + D(\"\\u3220\", 10));\n            case \"\\u3280\":\n                return p(L, \"0\" + D(\"\\u3280\", 10));\n            default:\n                return t(L, aa, z)\n            }\n        }\n        function O(L, aa) {\n            return String.fromCharCode(parseInt(L[aa] ? L[aa] : W[aa], 10))\n        }\n        function b(L, aa) {\n            function z(S) {\n                [[\"$gs\", \"grouping separator\"], [\"$es\", \"exponent separator\"], [\"$ds\", \"decimal separator\"], [\"$pc\", \"non-prefix passive character\"], [\"$pp\", \"percent|permille\"], [\"$od\", \"optional digit\"], [\"$md\", \"mandatory digit\"], [\"$ip\", \"integer part\"], [\"$fp\", \"fractional part\"]].forEach(function(da) {\n                    S = S.replace(da[0], da[1])\n                });\n                throw new F(\"Invalid picture: \" + S,\"FODF1310\");\n            }\n            const D = {};\n            var y = L.indexOf(aa.af)\n              , I = 0 <= y;\n            const R = aa.Af.charCodeAt(0);\n            let M = 0\n              , ca = 0\n              , ea = [];\n            const ja = []\n              , Y = [];\n            let V = -1\n              , la = -1\n              , x = !1\n              , K = !1;\n            var U = -1;\n            let ha = 0;\n            var T = I ? y : L.length;\n            for (var w = 0; w < T; w++) {\n                var Z = L.charCodeAt(w);\n                Z >= R && Z < R + 10 ? (0 < la && z(\"digit follows $pc\"),\n                x ? ha++ : (1 > M && 0 > V && (V = w),\n                M++,\n                ca++)) : Z === aa.Ug.charCodeAt(0) ? (0 < la && z(\"digit follows $pc\"),\n                x && z(\"$od follows $es\"),\n                0 < M && z(\"$od follows $md in $ip\"),\n                0 > V && (V = w,\n                K = !0),\n                ca++) : Z === aa.pe.charCodeAt(0) ? (0 < Y.length && z(\"$gs follows $pc\"),\n                x && z(\"$gs follows $es\"),\n                ea.push(w)) : Z === aa.sd.charCodeAt(0) || Z === aa.Ae.charCodeAt(0) ? I ? z(\"$pp before $ds\") : (0 > V && z(\"$pp before any digit\"),\n                0 < la && z(\"$pp follows $pc\"),\n                x && z(\"$pp follows $es\"),\n                Y.push(Z),\n                0 > la && (la = w),\n                Z === aa.sd.charCodeAt(0) ? D.sd = !0 : D.Ae = !0) : !I && 0 <= V && Z === aa.Bc.charCodeAt(0) && 0 > la ? x ? (Y.push(Z),\n                0 < ha ? 0 > la && (la = w) : (Y.push(Z),\n                x = !1,\n                U = -1,\n                0 > la && (la = w - 1))) : (x = !0,\n                U = w) : 0 <= V && I ? z(\"$pc before $ds\") : x && 0 === ha ? (x = !1,\n                U = -1,\n                Y.push(aa.Bc.charCodeAt(0)),\n                Y.push(Z),\n                0 > la && (la = w - 1)) : 0 <= V ? (Y.push(Z),\n                0 > la && (la = w)) : ja.push(Z)\n            }\n            if (0 < ea.length) {\n                const S = I ? y : x ? U : 0 < la ? la : L.length;\n                ea = ea.map(function(da) {\n                    return S - da - 1\n                }).reverse()\n            }\n            if (0 !== ea.length)\n                for (0 === ea[0] && z(\"$gs at end of $ip\"),\n                U = 0; U < ea.length - 1; U++)\n                    ea[U] + 1 === ea[U + 1] && z(\"consecutive $gs in $ip\");\n            w = T = 0;\n            Z = [];\n            if (I) {\n                I = -1;\n                L = L.substring(y + 1);\n                for (let S = 0; S < L.length; S++) {\n                    const da = L.charCodeAt(S);\n                    da >= R && da < R + 10 ? x && 0 > la ? ha++ : 0 <= I || 0 <= la ? z(\"$md follows $od or $pc in $fp\") : (T++,\n                    w++) : da === aa.Ug.charCodeAt(0) ? ((0 <= la || x) && z(\"$od follows $pc or $es\"),\n                    0 > I && (I = S),\n                    w++) : da === aa.pe.charCodeAt(0) ? ((0 <= la || x) && z(\"$gs follows $pc or $es\"),\n                    Z.push(S - y + 1)) : da === aa.af.charCodeAt(0) ? z(\"more than one $ds\") : da === aa.sd.charCodeAt(0) || da === aa.Ae.charCodeAt(0) ? ((0 <= la || x) && z(\"$pp follows $pc or $es\"),\n                    Y.push(da),\n                    la = S,\n                    da === aa.sd.charCodeAt(0) ? D.sd = !0 : D.Ae = !0) : da === aa.Bc.charCodeAt(0) && 0 > la ? x ? (Y.push(da),\n                    0 < ha ? 0 > la && (la = S) : (Y.push(da),\n                    x = !1,\n                    U = -1,\n                    0 > la && (la = S - 1))) : (x = !0,\n                    U = S) : x && 0 === ha ? (x = !1,\n                    U = -1,\n                    Y.push(aa.Bc.charCodeAt(0)),\n                    Y.push(da),\n                    0 > la && (la = S - 1)) : (Y.push(da),\n                    0 > la && (la = S))\n                }\n            }\n            0 > V && 0 === w && z(\"mantissa contains no digits\");\n            if (0 !== Z.length)\n                for (0 === Z[0] && z(\"$gs at beginning of $fp\"),\n                y = 0; y < Z.length - 1; y++)\n                    Z[y] + 1 === Z[y + 1] && z(\"consecutive $gs in $fp\");\n            0 === M && 0 === w && (x ? w = T = 1 : M = 1);\n            x && 0 === M && K && (M = 1);\n            0 === M && 0 === T && (T = 1);\n            D.lf = M;\n            D.prefix = ja;\n            D.Yb = ea;\n            D.Fh = K;\n            D.xj = ca;\n            D.ve = T;\n            D.ue = w;\n            D.cg = Z;\n            D.dh = ha;\n            D.Bc = aa.Bc ? aa.Bc : \"e\";\n            D.Xd = Y;\n            return D\n        }\n        function d(L) {\n            return Math.floor((L.getTime() - (new Date(Date.UTC(L.getUTCFullYear(), 0, 1))).getTime()) / 864E5) + 1\n        }\n        function l(L, aa) {\n            const z = aa ? d(L) : L.getUTCDate();\n            L = new Date(Date.UTC(L.getUTCFullYear(), aa ? 0 : L.getUTCMonth(), 1));\n            let D = L.getUTCDay();\n            0 === D && (D = 7);\n            return 4 < D && 8 >= D + z ? l(new Date(L.getTime() - 864E5), aa) : Math.floor((z + D - 2) / 7) + (5 > D ? 1 : 0)\n        }\n        const r = ac\n          , n = r.Ja\n          , B = La.XS\n          , W = {\n            \"decimal-separator\": \"46\",\n            \"grouping-separator\": \"44\",\n            digit: \"35\",\n            \"minus-sign\": \"45\",\n            percent: \"37\",\n            \"per-mille\": \"8240\",\n            \"zero-digit\": \"48\",\n            \"exponent-separator\": \"101\",\n            \"pattern-separator\": \"59\",\n            infinity: \"Infinity\",\n            NaN: \"NaN\"\n        }\n          , ma = {\n            Y: \"getUTCFullYear\",\n            M: \"getUTCMonth\",\n            D: \"getUTCDate\",\n            F: \"getUTCDay\",\n            H: \"getUTCHours\",\n            m: \"getUTCMinutes\",\n            s: \"getUTCSeconds\",\n            f: \"getUTCMilliseconds\"\n        }\n          , qa = {\n            d,\n            W: function(L) {\n                return l(L, !0)\n            },\n            w: function(L) {\n                return l(L, !1)\n            },\n            h: function(L) {\n                return 13 > L.getUTCHours() ? 0 === L.getUTCHours() ? 12 : L.getUTCHours() : L.getUTCHours() - 12\n            },\n            P: function(L) {\n                return 12 > L.getUTCHours() ? \"Am\" : \"Pm\"\n            },\n            E: function(L) {\n                return 0 > L.getUTCFullYear() ? \"BC\" : \"AD\"\n            }\n        };\n        return {\n            rj: function(L, aa) {\n                const z = aa.fixed.ka\n                  , D = L.level\n                  , y = z.da(L, \"select\")\n                  , I = z.da(L, \"count\");\n                L = z.da(L, \"from\");\n                return a(D, y, I, L, aa)\n            },\n            sj: function(L, aa) {\n                var z = aa.fixed.ka;\n                const D = z.da(L, \"value\")\n                  , y = z.da(L, \"format\")\n                  , I = z.qc(z.da(L, \"gpSep\"), aa).next()\n                  , R = z.qc(z.da(L, \"gpSize\"), aa).next();\n                var M = z.qc(z.da(L, \"ordinal\"), aa).next();\n                const ca = z.qc(z.da(L, \"lang\"), aa).next();\n                var ea = L.flags || \"\";\n                L = z.da(L, \"startAt\");\n                ea = /1/.test(ea);\n                z = z.evaluate(D, aa);\n                z = q(z, ea, L, !0, aa);\n                M = M ? cd.hj(M.toString()) : !1;\n                return null === z ? Tb(\"NaN\") : c(z, y, I, R, M, ca, aa)\n            },\n            bg: A,\n            Mf: function(L, aa, z) {\n                let D = \"\";\n                for (let y = 0; y < L.length; y++)\n                    D += L.charAt(y),\n                    (1 === z || 1 === (L.length - y) % z) && y < L.length - 1 && (D += aa);\n                return D\n            },\n            Hi: function(L, aa, z) {\n                const D = 0 > L ? !0 : 0 === L ? 0 > 1 / L : !1;\n                z = {\n                    af: O(z, \"decimal-separator\"),\n                    pe: O(z, \"grouping-separator\"),\n                    Ug: O(z, \"digit\"),\n                    oj: O(z, \"minus-sign\"),\n                    sd: O(z, \"percent\"),\n                    Ae: O(z, \"per-mille\"),\n                    Af: O(z, \"zero-digit\"),\n                    Bc: O(z, \"exponent-separator\"),\n                    Eh: O(z, \"pattern-separator\"),\n                    Vi: z.infinity || W.infinity,\n                    pj: z.NaN || W.NaN\n                };\n                if (isNaN(L))\n                    return z.pj;\n                aa = aa.includes(z.Eh) ? aa.split(z.Eh) : [aa];\n                if (2 < aa.length)\n                    throw new F(\"Invalid picture: multiple pattern separators\",\"FODF1310\");\n                const y = b(1 < aa.length && 0 > L ? aa[1] : aa[0], z);\n                if (isFinite(L)) {\n                    if (0 < y.dh) {\n                        var I = y.lf;\n                        var R = y.ve;\n                        var M = y.ue;\n                        var ca = y.Bc\n                          , ea = 1 === I && y.Fh;\n                        ea && (I = 0,\n                        0 === R && (R = 1,\n                        0 === M && (M = 1)));\n                        var ja = y.dh;\n                        L = wa(L);\n                        let la = L.c;\n                        var Y = 0 !== I ? I + M : M\n                          , V = L.e;\n                        la.length > Y && (L = wa(L.toPrecision(Y)));\n                        (Y = V !== L.e) && (I += 1);\n                        1 < I ? L = L.Vb(wa(10).pow(I - 1)) : 0 === I && (L = L.zc(wa(10)));\n                        R = 0 !== I ? I + R : R;\n                        for (la = L.c; la.length < R; )\n                            la.push(0);\n                        R = \"\";\n                        if (0 < la.length) {\n                            if (0 === I && y.Fh)\n                                R += \"0\";\n                            else\n                                for (V = 0; V < I; V++)\n                                    R += la[V];\n                            !(0 < M && la.length > I) || ea && Y || (R += \".\" + la.join(\"\").slice(I))\n                        } else\n                            throw new F(\"Empty mantissa\",\"SXJS0004\");\n                        I = R + ca + g(L.e, ja)\n                    } else {\n                        M = Math.abs(L);\n                        y.sd && (M = Math.abs(100 * L));\n                        y.Ae && (M = Math.abs(1E3 * L));\n                        \"Infinity\" === M + \"\" ? I = M + \"\" : I = 999999 > M ? M.toString() : wa(M).toFixed();\n                        M = I.indexOf(\".\");\n                        0 > M && (M = I.length,\n                        0 < y.ve && (I += \".\"));\n                        0 <= y.ue && \".\" !== I.substring(M) && M != I.length && (0 < y.ue ? (I = wa(I).round(y.ue, 1).toString(),\n                        0 > I.indexOf(\".\") && (I += \".0\")) : I = wa(I).round(0, 1).toString());\n                        ca = I.length - 1 - M;\n                        if (0 < y.ve)\n                            for (; ca < y.ve; )\n                                I += \"0\",\n                                ca++;\n                        for (; M < y.lf; )\n                            I = \"0\" + I,\n                            M++;\n                        0 < ca && 0 === y.lf && \"0\" === I.substring(0, M) && (I = I.substring(M));\n                        \"0\" === I && 0 === y.lf && 0 === y.ve && 0 < y.ue && (I = \".0\")\n                    }\n                    M = \"\";\n                    for (ca = 0; 10 > ca; ca++)\n                        M += String.fromCharCode(z.Af.charCodeAt(0) + ca);\n                    M += z.af;\n                    ca = \"\";\n                    for (ea = 0; ea < I.length; ea++)\n                        ja = I.charAt(ea),\n                        L = \"0123456789.\".indexOf(ja),\n                        0 > L ? ca += ja : L < M.length && (ca += M.charAt(L));\n                    M = ca;\n                    if (0 < y.Yb.length || 0 < y.cg.length) {\n                        ca = M.indexOf(z.af);\n                        0 > ca && (ca = M.length);\n                        I = M.substring(0, ca);\n                        M = M.substring(ca);\n                        if (0 < y.Yb.length) {\n                            ca = !0;\n                            for (ea = 1; ea < y.Yb.length; ea++)\n                                if (0 !== (y.Yb[ea] + 1) % (y.Yb[0] + 1)) {\n                                    ca = !1;\n                                    break\n                                }\n                            ca && y.xj + y.Yb.length - y.Yb[y.Yb.length - 1] - 1 > y.Yb[0] && (ca = !1);\n                            I = ca ? fe.Mf(I, z.pe, y.Yb[0]) : v(I, y.Yb, null, z.pe)\n                        }\n                        0 < y.cg.length && (M = v(M, y.cg, null, z.pe, !0));\n                        M = I + M\n                    }\n                } else\n                    M = z.Vi;\n                0 < y.prefix.length && (M = Ea(y.prefix) + M);\n                0 < y.Xd.length && (M += Ea(y.Xd));\n                D && 1 === aa.length && (M = z.oj + M);\n                return M\n            },\n            Hd: function(L, aa, z, D, y) {\n                if (/\\[/g.test(z) && !/\\[(\\[|[^\\]]*\\])|\\]\\]/g.test(z))\n                    throw new F(\"Date format picture '\" + z + \"' doesn't match required syntax\",\"FOFD1340\");\n                let I = \"\";\n                \"undefined\" !== typeof D && null !== D && \"en\" !== D.toString() && (I += \"[Language: en]\");\n                \"undefined\" === typeof y || null === y || \"AD\" === y.toString() || /(Q\\{\\})?ISO/.test(y.toString()) || (I += \"[Calendar: AD]\");\n                return I + z.replace(/\\[(\\[|[^\\]]*\\])|\\]\\]/g, function(R) {\n                    if (\"[[\" === R)\n                        R = \"[\";\n                    else if (\"]]\" === R)\n                        R = \"]\";\n                    else {\n                        var M = R.substring(1, R.length - 1).replace(/\\s+/g, \"\")\n                          , ca = M.match(/^([YMDdWwFHhmsfZzPCE])(.*)$/);\n                        if (null === ca)\n                            throw new F(\"Date/time component [\" + M + \"] not recognised\",\"FOFD1340\");\n                        R = ca[1];\n                        ca = ca[2] || \"\";\n                        if (\"date\" === L && /[HhPmsf]/.test(R) || \"time\" === L && /[YMDdFWwCE]/.test(R))\n                            throw new F(\"Date/time component [\" + M + \"] not available in \" + L,\"FOFD1350\");\n                        if (-1 !== (M = ca.lastIndexOf(\",\"))) {\n                            var ea = ca.substring(M + 1).split(\"-\");\n                            ca = ca.substring(0, M);\n                            var ja = ea[0];\n                            ea = ea[1] || \"*\";\n                            if (\"*\" !== ja && 1 > ja || \"*\" !== ea && 1 > ea || \"*\" !== ja && \"*\" !== ea && ja > ea)\n                                throw new F(\"Invalid width modifier in date/time formatting picture\",\"FOFD1340\");\n                        }\n                        var Y = null;\n                        1 < ca.length && /[atco]/.test(ca.charAt(ca.length - 1)) ? (M = ca.substring(0, ca.length - 1),\n                        Y = ca.charAt(ca.length - 1)) : M = ca;\n                        ca = !0;\n                        if (!/^[\\x01-\\x7f]*$/.test(M)) {\n                            if (M.length !== Da(M).length)\n                                throw new F(\"Cannot handle non-BMP characters in date/time formatting picture\",\"SXJS0002\");\n                            ca = !1\n                        }\n                        if (/[Zz]/.test(R))\n                            if (ja = \"Z\" === db(aa) ? \"+00:00\" : db(aa),\n                            ea = ca,\n                            \"\" === ja)\n                                R = \"Z\" === M ? \"J\" : \"\";\n                            else if (R = \"z\" === R ? \"GMT\" : \"\",\n                            \"t\" === Y && \"+00:00\" === ja && \"Z\" !== M && \"N\" !== M)\n                                R = \"Z\";\n                            else if (\"\" === M)\n                                R += ja;\n                            else {\n                                ca = ja.match(/^([+\\-])([0-9])([0-9]):([0-9]{2})$/);\n                                if (\"Z\" === M || \"N\" === M)\n                                    if (\"Z\" === M) {\n                                        ea = parseInt(ca[1] + ca[2] + ca[3], 10);\n                                        var V = -12 > ea || 12 < ea || \"00\" !== ca[4] ? ja : \"YXWVUTSRQPONZABCDEFGHIKLM\".charAt(ea + 12)\n                                    } else {\n                                        if (\"N\" === M)\n                                            throw new F(\"Timezone names not implemented\",\"SXJS0002\");\n                                    }\n                                else\n                                    ea && !/[0-9]+/.test(M) && (M = \"00:00\"),\n                                    ja = 0,\n                                    ea || (V = e(M, \"FOFD1340\"),\n                                    M = V.format,\n                                    ja = V.Yf),\n                                    /[^0-9A-Za-z]/.test(M) ? (V = M.match(/^([0-9]+)([^0-9A-Za-z])([0-9]+)$/),\n                                    V = ca[1] + (\"0\" === ca[2] && 1 === V[1].length ? ca[3] : ca[2] + ca[3]) + V[2] + ca[4]) : (V = M.match(/^[0-9]+$/),\n                                    V = V[0],\n                                    V = ca[1] + ((\"0\" !== ca[2] || 1 !== V.length && 3 !== V.length ? ca[2] + ca[3] : ca[3]) + (2 < V.length ? ca[4] : \"00\" !== ca[4] ? \":\" + ca[4] : \"\"))),\n                                    ea || (V = k(V, ja));\n                                R += V\n                            }\n                        else {\n                            V = aa.proxy();\n                            var la = ma[R] ? V[ma[R]]() : qa[R] ? qa[R](V) : null;\n                            if (null === la)\n                                throw new F(\"Component specifier not implemented: [\" + R + \"]\",\"SXJS0002\");\n                            \"M\" === R ? la++ : \"F\" === R && 0 === la && (la = 7);\n                            \"\" === M && (M = /[FPCE]/.test(R) ? \"n\" : /[ms]/.test(R) ? \"01\" : \"1\");\n                            if (\"f\" === R) {\n                                Y = la;\n                                V = M;\n                                R = ja;\n                                M = ea;\n                                ea = ca;\n                                ja = 0;\n                                ea || (ja = e(V, \"FOFD1340\"),\n                                V = ja.format,\n                                ja = ja.Yf);\n                                for (ca = Y.toString(); 3 > ca.length; )\n                                    ca = \"0\" + ca;\n                                Y = Da(ca);\n                                ca = parseInt(Ea(Y.reverse()), 10);\n                                if (!R && !M && /^[0-9]$/.test(V))\n                                    for (; Y.length > V.length; )\n                                        V += \"#\";\n                                if (R && \"*\" !== R) {\n                                    la = /^([0-9]*)(#*)$/.exec(V);\n                                    V = la[1] ? la[1] : \"\";\n                                    for (la = la[2] ? la[2] : \"\"; R > V.length; )\n                                        V += \"0\",\n                                        la = la.slice(0, -1);\n                                    V += la\n                                }\n                                if (M)\n                                    for (\"*\" === M && (M = Y.length); V.length < M; )\n                                        V += \"#\";\n                                M = Ea(Da(V).reverse());\n                                ca = A(ca, M, \"FOFD1340\");\n                                for (ca = Ea(Da(ca).reverse()); ca.length > V.length; )\n                                    ca = ca.slice(0, -1);\n                                R && \"*\" !== R || 0 !== parseInt(ca, 10) || (ca = \"0\");\n                                ea || (ca = k(ca, ja));\n                                R = ca\n                            } else {\n                                if (/[nN]/.test(M))\n                                    V = \"January February March April May June July August September October November December\".split(\" \"),\n                                    ja = \"Monday Tuesday Wednesday Thursday Friday Saturday Sunday\".split(\" \"),\n                                    Y = \"M\" === R ? V[la - 1] : \"F\" === R ? ja[la - 1] : la,\n                                    \"F\" === R && ea && \"*\" !== ea && 6 > ea && (Y = Y.replace(/(ur)?day$/, \"\"),\n                                    Y = Y.replace(/nes$/, \"s\")),\n                                    \"n\" === M ? Y = Y.toLowerCase() : \"N\" === M && (Y = Y.toUpperCase()),\n                                    ea && \"*\" !== ea && (Y = Y.substring(0, ea));\n                                else {\n                                    V = /;/.test(M) ? M + \";\" : M;\n                                    Y && (V += (\";\" === V.charAt(V.length - 1) ? \"\" : \";\") + Y);\n                                    Y = A(la, V, \"FOFD1340\");\n                                    \"Y\" === R && \"-\" === Y.charAt(0) && (Y = Y.substring(1));\n                                    if (\"Y\" === R && /[^iIwWnN]/.test(M.charAt(M.length - 1)) && (!ja && 2 === M.length || 2 == ea))\n                                        for (; 2 < Y.length; )\n                                            Y = Y.substring(1);\n                                    if (ja && (ea = \"*\" === ja ? 0 : parseInt(ja, 10),\n                                    0 < ea && Y.length < ea))\n                                        if (/[YMDdWwHhms]/.test(R) && /[^iIwWnN]/.test(M.charAt(M.length - 1)))\n                                            for (R = \"0\",\n                                            ca || (R = String.fromCharCode(e(V, \"FOFD1340\").Af)); Y.length < ea; )\n                                                Y = R + Y;\n                                        else if (\"Y\" === R && /[iIwWnN]/.test(M.charAt(M.length - 1)))\n                                            for (; Y.length < ea; )\n                                                Y += \" \";\n                                        else\n                                            throw new F(\"Not implemented min width modification with specifier \" + R + \" and format \" + M,\"SXJS0002\");\n                                }\n                                R = Y\n                            }\n                        }\n                    }\n                    return R\n                })\n            }\n        }\n    }();\n    // Input 34\n    var ge = function() {\n        function a(x, K, U) {\n            function ha(T, w) {\n                function Z(fa) {\n                    return na=>fa[na]\n                }\n                const S = {\n                    \"<\": \"&lt;\",\n                    \">\": \"&gt;\",\n                    \"&\": \"&amp;\",\n                    '\"': \"&#34;\",\n                    \"\\n\": \"&#10;\",\n                    \"\\r\": \"&#13;\",\n                    \"\\t\": \"&#9;\"\n                }\n                  , da = {\n                    \"<\": \"&lt;\",\n                    \">\": \"&gt;\",\n                    \"&\": \"&amp;\"\n                };\n                return w ? T.replace(/&|<|>|\"|\\n|\\r|\\t/g, Z(S)) : T.replace(/&|<|>/g, Z(da))\n            }\n            if (U) {\n                U = \"\";\n                x = x.split(\"\\x00\");\n                for (let T = 0; T < x.length; T++)\n                    U += 1 === T % 2 ? x[T] : ha(x[T], K);\n                return U\n            }\n            return ha(x, K)\n        }\n        function c(x, K) {\n            return \"ISO-8859-1\" === K.toUpperCase() ? 255 >= x : \"US-ASCII\" === K.toUpperCase() ? 127 >= x : !0\n        }\n        function q(x, K) {\n            return function(U) {\n                var ha = !0;\n                for (var T = 0; T < U.length; T++) {\n                    var w = U.charCodeAt(T);\n                    if (w >= x.min && w <= x.max) {\n                        ha = !1;\n                        break\n                    }\n                }\n                if (ha)\n                    return U;\n                ha = \"\";\n                T = !1;\n                for (w = 0; w < U.length; w++) {\n                    let Z = U.charAt(w)\n                      , S = U.charCodeAt(w)\n                      , da = 55296 <= S && 56320 >= S;\n                    da && (S = U.codePointAt(w));\n                    x.ya[S] ? (K && !T && (ha += \"\\x00\",\n                    T = !0),\n                    ha += x.ya[S],\n                    da && w++) : (K && T && (ha += \"\\x00\",\n                    T = !1),\n                    ha += Z)\n                }\n                return ha\n            }\n        }\n        function E(x) {\n            return \"\" === x.uri || \"http://www.w3.org/1999/xhtml\" === x.uri\n        }\n        function H(x) {\n            return [\"http://www.w3.org/1999/xhtml\", \"http://www.w3.org/2000/svg\", \"http://www.w3.org/1998/Math/MathML\"].includes(x)\n        }\n        function p(x, K) {\n            return (K = {\n                action: [\"form\"],\n                archive: [\"object\"],\n                background: [\"body\"],\n                cite: [\"blockquote\", \"del\", \"ins\", \"q\"],\n                classid: [\"object\"],\n                codebase: [\"applet\", \"object\"],\n                data: [\"object\"],\n                datasrc: \"button div input object select span table textarea\".split(\" \"),\n                \"for\": [\"script\"],\n                formaction: [\"button\", \"input\"],\n                href: [\"a\", \"area\", \"base\", \"link\"],\n                icon: [\"command\"],\n                longdesc: [\"frame\", \"iframe\", \"img\"],\n                manifest: [\"html\"],\n                name: [\"a\"],\n                poster: [\"video\"],\n                profile: [\"head\"],\n                src: \"audio embed frame iframe img input script source track video\".split(\" \"),\n                usemap: [\"img\", \"input\", \"object\"]\n            }[K.local]) && K.includes(x.local)\n        }\n        function g(x, K, U=null) {\n            switch (x.method) {\n            case \"xml\":\n                K = new W(x,K);\n                if (x.version && \"1.0\" !== x.version)\n                    throw new F(\"Serializer does not support the requested XML version: \" + x.version,\"SESU0013\");\n                d(x);\n                if (x[\"undeclare-prefixes\"])\n                    throw new F(\"Cannot undeclare prefixes with XML 1.0 serializer\",\"SEPM0010\");\n                x.indent && (K = m(x, K));\n                K = f(x, K);\n                K = A(x, K);\n                K = O(x, K);\n                return C(x, K);\n            case \"html\":\n                return l(x, K);\n            case \"text\":\n                return d(x),\n                K = new V(x,K),\n                K = f(x, K),\n                K = A(x, K),\n                C(x, K);\n            case \"xhtml\":\n                return l(x, K);\n            case \"json\":\n                return d(x),\n                x.indent ? new ea(x,K,U) : new ca(x,K,U);\n            case \"adaptive\":\n                return new ja(x,K,U);\n            default:\n                return new Y(x,K)\n            }\n        }\n        function e(x, K, U) {\n            function ha(fa, na) {\n                na = na.trim();\n                if ([\"yes\", \"true\", \"1\"].includes(na))\n                    return !0;\n                if ([\"no\", \"false\", \"0\"].includes(na))\n                    return !1;\n                throw new F(\"Value of \" + fa + \" must be yes(=true, 1) or no(=false, 0)\",\"SEPM0016\");\n            }\n            function T(fa) {\n                return function(na, va) {\n                    va = va.trim();\n                    return va.split(/\\s+/).map(function(h) {\n                        /^Q\\{/.test(h) || /:/.test(h) || (h = \"Q{}\" + h);\n                        return /^Q\\{/.test(h) ? h : n.QName.fromString(h, fa).toEQName()\n                    })\n                }\n            }\n            function w(fa) {\n                return function(na, va) {\n                    va = va.trim();\n                    if (fa.includes(va))\n                        return va;\n                    throw new F(\"Value of \" + na + \"(\" + va + \"): must be one of \" + fa.join(\"|\"),\"SEPM0016\");\n                }\n            }\n            function Z(fa) {\n                return function(na, va) {\n                    if (fa.test(va))\n                        return va;\n                    throw new F(\"Invalid value for \" + na + \": must match the pattern \" + fa,\"SEPM0016\");\n                }\n            }\n            function S(fa, na) {\n                return na\n            }\n            function da(fa, na) {\n                na = na.trim();\n                if (/[0-9]+/.test(na))\n                    return 1 * na;\n                throw new F(\"Value of \" + fa + \" must be an integer (Actual value is \" + sa.showValue(na) + \")\",\"SEPM0016\");\n            }\n            U = {\n                \"allow-duplicate-names\": ha,\n                \"build-tree\": ha,\n                \"byte-order-mark\": ha,\n                \"cdata-section-elements\": T(U),\n                \"doctype-public\": Z(/[\\sa-zA-Z0-9\\-'()+,.:=?;!*#@$_%\\/]*/),\n                \"doctype-system\": Z(/[^']*|[^\"]*/),\n                encoding: Z(/[\\x21-\\x7e]+/),\n                \"escape-uri-attributes\": ha,\n                \"html-version\": function(fa, na) {\n                    if (/[0-9]+(\\.[0-9]+)?/.test(na))\n                        return 1 * na;\n                    throw new F(\"Value of \" + fa + \" must be a decimal number\",\"SEPM0016\");\n                },\n                \"include-content-type\": ha,\n                indent: ha,\n                \"item-separator\": S,\n                \"json-node-output-method\": w([\"xml\", \"xhtml\", \"html\", \"text\"]),\n                \"media-type\": S,\n                method: function(fa, na) {\n                    return function(va, h) {\n                        h = h.trim();\n                        !/^Q\\{/.test(h) && /:/.test(h) && (h = n.QName.fromString(h, na).toEQName());\n                        if (fa.includes(h))\n                            return h;\n                        throw new F(\"Value of \" + va + \"(\" + h + \"): must be one of \" + fa.join(\"|\"),\"SEPM0016\");\n                    }\n                }(\"xml xhtml html text json adaptive Q{http://saxonica.com/ns/interactiveXSLT}append-content Q{http://saxonica.com/ns/interactiveXSLT}replace-content\".split(\" \"), U),\n                \"normalization-form\": w(\"NFC NFD NFKC NFKD fully-normalized none\".split(\" \")),\n                \"omit-xml-declaration\": ha,\n                standalone: function(fa, na) {\n                    return \"omit\" === na.trim() ? null : ha(fa, na)\n                },\n                \"suppress-indentation\": T(U),\n                \"undeclare-prefixes\": ha,\n                \"use-character-maps\": T(U),\n                version: S,\n                \"Q{http://saxon.sf.net/}indent-spaces\": da,\n                \"Q{http://saxon.sf.net/}line-length\": da,\n                \"Q{http://saxon.sf.net/}stylesheet-version\": da\n            };\n            /^\\{/.test(x) && (x = \"Q\" + x);\n            if (\"string\" !== typeof K)\n                throw new F(\"Value of \" + x + \" must be supplied as a string\",\"SEPM0016\");\n            if (U[x])\n                return U[x](x, K);\n            if (!/^Q\\{/.test(x))\n                throw new F(\"Unknown serialization parameter \" + x,\"SEPM0017\");\n        }\n        function k(x, K, U) {\n            function ha(S, da, fa) {\n                if (!Array.isArray(da))\n                    throw new F(\"Value of \" + S + \" must be an array\",\"SEPM0016\");\n                return (fa || []).concat(da)\n            }\n            function T(S, da) {\n                if (\"boolean\" !== typeof da)\n                    throw new F(\"Value of \" + S + \" must be boolean\",\"SEPM0016\");\n                return da\n            }\n            function w(S, da) {\n                if (\"number\" !== typeof da)\n                    throw new F(\"Value of \" + S + \" must be an integer (actual value is \" + sa.showValue(da) + \")\",\"SEPM0016\");\n                return da\n            }\n            const Z = {\n                \"allow-duplicate-names\": T,\n                \"build-tree\": T,\n                \"byte-order-mark\": T,\n                \"cdata-section-elements\": ha,\n                \"escape-uri-attributes\": T,\n                \"html-version\": function(S, da) {\n                    if (\"number\" !== typeof da)\n                        throw new F(\"Value of \" + S + \" must be a decimal number\",\"SEPM0016\");\n                    return da\n                },\n                \"include-content-type\": T,\n                indent: T,\n                \"omit-xml-declaration\": T,\n                standalone: function(S, da) {\n                    return null === da ? null : T(S, da)\n                },\n                \"suppress-indentation\": ha,\n                \"undeclare-prefixes\": T,\n                \"use-character-maps\": function(S, da, fa) {\n                    fa && Array.isArray(fa) && sa.la(\"Problem with existing character map supplied to overrideParam\");\n                    if (\"object\" !== typeof da)\n                        throw new F(\"Value of \" + S + \" must be an object\",\"SEPM0016\");\n                    if (void 0 === da.ya)\n                        throw new F(\"Value of \" + S + \" must be a character map object\",\"SEPM0016\");\n                    (S = fa) ? v(S, da) : S = da;\n                    return S\n                },\n                \"Q{http://saxon.sf.net/}indent-spaces\": w,\n                \"Q{http://saxon.sf.net/}line-length\": w,\n                \"Q{http://saxon.sf.net/}stylesheet-version\": w\n            };\n            /^{/.test(x) && (x = \"Q\" + x);\n            return Z[x] ? Z[x](x, K, U) : e(x, K.toString())\n        }\n        function v(x, K) {\n            K.min < x.min && (x.min = K.min);\n            K.max > x.max && (x.max = K.max);\n            for (let U in K.ya)\n                K.ya.hasOwnProperty(U) && (x.ya[U] = K.ya[U])\n        }\n        function t(x, K) {\n            let U = {};\n            x.forEach(function(ha, T) {\n                let w = K.Og[ha];\n                if (!w)\n                    throw new F(\"Unknown character map \" + ha,\"SEPM0016\");\n                0 === T ? U = w : v(U, w)\n            });\n            return U\n        }\n        function C(x, K) {\n            return x[\"item-separator\"] && \"#absent\" !== x[\"item-separator\"] ? new be(K,x[\"item-separator\"]) : new $d(K)\n        }\n        function m(x, K) {\n            const U = x[\"Q{http://saxon.sf.net/}indent-spaces\"]\n              , ha = x[\"suppress-indentation\"];\n            return Pd(\"xml\" === x.method ? new ma(U,ha) : new D(U,ha), K)\n        }\n        function f(x, K) {\n            x[\"normalization-form\"] && \"none\" !== x[\"normalization-form\"] && (K = Pd(new qa(x[\"normalization-form\"]), K));\n            return K\n        }\n        function A(x, K) {\n            x[\"use-character-maps\"] && (K = Pd(new L(x[\"use-character-maps\"]), K));\n            return K\n        }\n        function O(x, K) {\n            x[\"cdata-section-elements\"] && (K = Pd(new aa(x[\"cdata-section-elements\"],x.encoding || \"UTF-8\",x[\"normalization-form\"] && \"none\" !== x[\"normalization-form\"] ? x[\"normalization-form\"] : null), K));\n            return K\n        }\n        function b(x, K) {\n            return void 0 === x[K] || x[K]\n        }\n        function d(x) {\n            if (x.encoding && ![\"UTF-8\", \"UTF-16\", \"ISO-646\", \"ISO-8859-1\", \"US-ASCII\"].includes(x.encoding.toUpperCase()))\n                throw new F(\"Serializer does not support the requested encoding: \" + x.encoding,\"SESU0007\");\n        }\n        function l(x, K) {\n            var U = \"xhtml\" === x.method;\n            K = U ? new I(x,K) : new z(x,K);\n            if (U && x.version && \"1.0\" !== x.version)\n                throw new F(\"Serializer does not support the requested XML version: \" + x.version,\"SESU0013\");\n            if ((U = U ? x[\"html-version\"] : x[\"html-version\"] || x.version) && 5 !== 1 * U)\n                throw new F(\"Serializer does not support the requested HTML version: \" + U,\"SESU0013\");\n            d(x);\n            b(x, \"indent\") && (K = m(x, K));\n            K = f(x, K);\n            K = A(x, K);\n            K = O(x, K);\n            K = Pd(new y, K);\n            b(x, \"escape-uri-attributes\") && (K = Pd(new R, K));\n            b(x, \"include-content-type\") && (K = Pd(new M(x), K));\n            return C(x, K)\n        }\n        function r(x, K, U, ha=null) {\n            function T(da, fa) {\n                switch (da.nodeType) {\n                case 9:\n                case 11:\n                    fa.Ea(S);\n                    da = da.childNodes;\n                    for (var na = 0; na < da.length; ++na)\n                        T(da[na], fa);\n                    fa.za();\n                    break;\n                case 1:\n                    let va = {};\n                    ac.Ja.ob(da).forEachItem(function(G) {\n                        va[G.prefix] = G.uri\n                    });\n                    let h = new de;\n                    ac.Ja.Ha(da).forEachItem(function(G) {\n                        h.set(G.yc, {\n                            value: G.value,\n                            kb: {}\n                        })\n                    });\n                    fa.na(ac.ca(da), h, va, S);\n                    da = da.childNodes;\n                    for (na = 0; na < da.length; ++na)\n                        T(da[na], fa);\n                    fa.endElement();\n                    break;\n                case 2:\n                    if (fa instanceof ja)\n                        fa.text(ac.ca(da) + '=\"' + da.value + '\"', S);\n                    else\n                        throw new F(\"Cannot serialize free-standing attribute node\",\"SENR0001\");\n                    break;\n                case 13:\n                    if (fa instanceof ja)\n                        na = da.prefix,\n                        fa.text(na ? \"xmlns:\" + na : 'xmlns=\"' + da.uri + '\"', S);\n                    else\n                        throw new F(\"Cannot serialize free-standing namespace node\",\"SENR0001\");\n                    break;\n                case 3:\n                case 4:\n                    fa.text(da.nodeValue, S);\n                    break;\n                case 7:\n                    fa.va(da.target, da.nodeValue, S);\n                    break;\n                case 8:\n                    fa.wa(da.nodeValue, S)\n                }\n            }\n            function w(da, fa) {\n                Array.isArray(da) ? da.forEach(na=>{\n                    w(na, fa)\n                }\n                ) : ac.X(da) ? T(da, fa) : fa.append(da, S)\n            }\n            let Z;\n            U || (Z = \"\",\n            U = {\n                write: function(da) {\n                    Z += da\n                }\n            });\n            U.write || sa.la(\"writer supplied to Serialize.serialize() is not a writeable stream\");\n            K ||= {};\n            K = g(K, U, ha);\n            let S = {};\n            x && w(x, K);\n            K.close();\n            return Z\n        }\n        const n = La.XS;\n        class B extends Od {\n            constructor(x, K) {\n                super();\n                this.g = K || null;\n                this.Pa = x\n            }\n            close() {\n                this.g.end && !this.g.isTTY && this.g.end()\n            }\n        }\n        class W extends B {\n            constructor(x, K) {\n                super(x, K);\n                this.B = this.I = this.xa = this.ra = this.zb = !1;\n                this.eb = [];\n                this.K = [];\n                this.Yd = 0;\n                this.encoding = x.encoding || \"UTF-8\"\n            }\n            Ea() {}\n            za() {}\n            close() {\n                this.I || this.aa();\n                super.close()\n            }\n            na(x, K, U) {\n                function ha(w) {\n                    throw new F(\"When \" + w + \" is specified, there must only be one top-level element node\",\"SEPM0004\");\n                }\n                this.I || (this.aa(),\n                this.Ca(x),\n                this.ra && !this.xa && !0 === this.Pa.indent && this.g.write(\"\\n\"),\n                this.I = !0);\n                0 === this.K.length && (0 < this.Yd++ && void 0 !== this.Pa.standalone && null !== this.Pa.standalone && ha(\"standalone\"),\n                1 < this.Yd && this.Pa[\"doctype-system\"] && ha(\"doctype-system\"));\n                const T = 0 === this.K.length ? {} : this.K[this.K.length - 1];\n                this.eb.push(x);\n                this.K.push(U);\n                this.B && this.V();\n                this.g.write(\"<\" + this.j(x.toString(), !1));\n                this.Ei(U, T);\n                this.he(x, K);\n                this.B = !0\n            }\n            endElement() {\n                const x = this.eb.pop();\n                this.K.pop();\n                this.B ? (this.g.write(\"/>\"),\n                this.B = !1) : this.g.write(\"</\" + x.toString() + \">\")\n            }\n            text(x, K={}) {\n                this.I || this.aa();\n                this.B && this.V();\n                this.g.write(K.DISABLE_ESCAPING ? this.j(x, !1) : this.j(a(x, !1, !1), !0))\n            }\n            wa(x) {\n                this.I || this.aa();\n                this.B && this.V();\n                this.g.write(\"\\x3c!--\" + this.j(x, !1) + \"--\\x3e\")\n            }\n            va(x, K) {\n                this.I || this.aa();\n                this.B && this.V();\n                this.g.write(\"<?\" + this.j(x, !1) + (0 < K.length ? \" \" + this.j(K, !1) : \"\") + \"?>\")\n            }\n            append(x, K={}) {\n                this.text(x.toString(), K)\n            }\n            aa() {\n                this.zb || this.vi()\n            }\n            V() {\n                this.g.write(\">\");\n                this.B = !1\n            }\n            Ei(x, K) {\n                let U = [];\n                for (let ha in x)\n                    if (K[ha] !== x[ha]) {\n                        let T = \"\";\n                        \"xml\" !== ha && (T = \"\" === ha ? ' xmlns=\"' + a(x[ha], !0, !1) + '\"' : \" xmlns:\" + ha + '=\"' + a(x[ha], !0, !1) + '\"');\n                        \"\" !== T && U.push(T)\n                    }\n                U.sort();\n                U.forEach(ha=>this.g.write(ha))\n            }\n            he(x, K) {\n                if (K) {\n                    const U = this;\n                    K.forEach((ha,T)=>{\n                        U.ee(T, ha)\n                    }\n                    )\n                }\n            }\n            ee(x, K) {\n                const U = !0 === K.kb.USE_NULL_MARKERS;\n                K = K.kb.DISABLE_ESCAPING ? this.j(K.value, !1) : this.j(a(K.value, !0, U), !0);\n                this.g.write(\" \" + this.j(x.toString(), !1) + '=\"' + K + '\"')\n            }\n            vi() {\n                var x = this.encoding.toUpperCase();\n                this.Pa[\"byte-order-mark\"] && \"UTF-8\" === x && this.g.write(\"\\ufeff\");\n                this.zb = !0;\n                x = !0 === this.Pa[\"omit-xml-declaration\"] && \"UTF-8\" === x;\n                this.ra = !x;\n                let K = this.Pa.standalone;\n                if (x && void 0 !== K && null !== K)\n                    throw new F(\"Serializer values of 'standalone' and 'omit-xml-declaration' conflict\",\"SEPM0009\");\n                x || this.g.write('<?xml version=\"1.0\" encoding=\"' + this.encoding + '\"' + (void 0 !== K && null !== K ? ' standalone=\"' + (K ? \"yes\" : \"no\") + '\"' : \"\") + \"?>\")\n            }\n            Ca(x) {\n                let K = this.Pa[\"doctype-system\"] || null\n                  , U = this.Pa[\"doctype-public\"] || null;\n                null !== K && (this.ra && this.g.write(\"\\n\"),\n                this.g.write(\"<!DOCTYPE \" + this.j(x.toString(), !1) + \"\\n\"),\n                x = K.includes('\"') ? \"'\" + K + \"'\" : '\"' + K + '\"',\n                null === U ? this.g.write(\" SYSTEM \" + this.j(x, !1) + \">\\n\") : this.g.write(' PUBLIC \"' + this.j(U, !1) + '\" ' + this.j(x, !1) + \">\\n\"),\n                this.xa = !0)\n            }\n            j(x, K) {\n                function U(T) {\n                    if (K)\n                        return \"&#\" + T + \";\";\n                    throw new F(\"Character \" + String.fromCodePoint(T) + \" (decimal \" + T + \") is not available in the chosen encoding\",\"SERE0008\");\n                }\n                const ha = this.encoding;\n                return function(T) {\n                    let w = \"\";\n                    var Z = 0;\n                    const S = T.length;\n                    if (0 === S)\n                        return \"\";\n                    for (; Z < S; ) {\n                        let fa = Z;\n                        for (; fa < S; ) {\n                            var da = T.charCodeAt(fa);\n                            if (9 === da || 10 === da)\n                                fa++;\n                            else if (32 > da)\n                                break;\n                            else if (127 > da)\n                                fa++;\n                            else if (160 > da || 8232 === da || 55296 <= da && 56320 >= da || !c(da, ha))\n                                break;\n                            else\n                                fa++\n                        }\n                        if (fa >= S)\n                            return 0 === Z ? T : w + T.substring(Z, fa);\n                        fa > Z && (w += T.substring(Z, fa));\n                        da = T.charCodeAt(fa);\n                        Z = T.charAt(fa);\n                        if (0 === da)\n                            throw new F(\"Null marker\",\"ZZZZ9999\");\n                        160 > da || 8232 === da ? w += K ? U(da) : Z : 55296 <= da && 56320 >= da ? (da = T.codePointAt(fa++),\n                        w += c(da, ha) ? Z + T.charAt(fa) : U(da)) : c(da, ha) || (w += U(da));\n                        Z = ++fa;\n                        if (Z >= S)\n                            return w\n                    }\n                }(x)\n            }\n        }\n        class ma extends Qd {\n            constructor(x, K) {\n                super();\n                this.I = 0;\n                this.ee = x || 3;\n                this.Ca = \"\\n               \";\n                this.B = this.K = this.V = !1;\n                this.eb = K || null;\n                this.j = -1;\n                this.xa = null;\n                this.zb = {}\n            }\n            na(x, K, U, ha={}) {\n                this.K || this.B ? this.ra() : this.aa();\n                if (0 > this.j) {\n                    let T = K.get(n.QName.fromParts(\"\", \"http://www.w3.org/XML/1998/namespace\", \"space\"));\n                    T && \"preserve\" === T.value && (this.j = this.I)\n                }\n                this.I++;\n                this.eb && -1 === this.j && 0 <= this.eb.indexOf(x.toEQName()) && (this.j = this.I);\n                this.g.na(x, K, U, ha);\n                this.K = this.V = !0;\n                this.B = !1\n            }\n            endElement() {\n                this.I--;\n                this.B && !this.V ? this.ra() : this.K && !this.B ? this.xa = null : this.aa();\n                this.g.endElement();\n                this.V = !1;\n                this.B = !0;\n                this.K = !1;\n                this.I === this.j - 1 && (this.j = -1)\n            }\n            text(x, K={}) {\n                const U = !this.V || 0 <= x.indexOf(\"\\n\");\n                0 > this.j && \"\" === Ha.trim(x) && U ? (this.xa = x,\n                this.zb = K) : (this.aa(),\n                0 <= x.indexOf(\"\\n\") && (this.V = !1),\n                this.g.text(x, K),\n                this.B = this.K = !1)\n            }\n            wa(x, K={}) {\n                this.B ? this.ra() : this.aa();\n                this.g.wa(x, K);\n                this.B = this.K = !1\n            }\n            va(x, K, U={}) {\n                this.B ? this.ra() : this.aa();\n                this.g.va(x, K, U);\n                this.B = this.K = !1\n            }\n            ra() {\n                0 <= this.j ? this.aa() : this.Xe()\n            }\n            Xe() {\n                this.xa = null;\n                let x = this.I * this.ee;\n                if (x + 1 > this.Ca.length) {\n                    let K = 5 * this.ee;\n                    x + 1 > this.Ca.length + K && (K += x + 1);\n                    for (let U = 0; U < K; U++)\n                        this.Ca += \" \"\n                }\n                this.g.text(this.Ca.substring(0, x + 1), {\n                    DISABLE_ESCAPING: !0\n                });\n                this.V = !1\n            }\n            aa() {\n                this.xa && (this.g.text(this.xa, this.zb),\n                this.xa = null,\n                this.zb = {})\n            }\n        }\n        class qa extends Qd {\n            constructor(x) {\n                super();\n                this.j = x;\n                if (!String.prototype.normalize)\n                    throw new F(\"normalization-form: not supported on this JavaScript platform\",\"SESU0011\");\n                if (\"fully-normalized\" === x)\n                    throw new F(\"Serializer does not support the requested normalization-form: fully-normalized\",\"SESU0011\");\n            }\n            na(x, K, U, ha={}) {\n                let T = new de\n                  , w = this.j;\n                K.forEach(function(Z, S) {\n                    let da = \"\";\n                    if (Z.kb.USE_NULL_MARKERS) {\n                        const fa = Z.value.split(\"\\x00\");\n                        for (let na = 0; na < fa.length; na++)\n                            da += 1 === na % 2 ? fa[na] : fa[na].normalize(w),\n                            da += \"\\x00\"\n                    } else\n                        da = Z.kb.NO_NORMALIZATION ? Z.value : Z.value.normalize(w);\n                    T.set(S, {\n                        value: da,\n                        kb: Z.kb\n                    })\n                });\n                this.g.na(x, T, U, ha)\n            }\n            text(x, K={}) {\n                this.g.text(K.NO_NORMALIZATION ? x : x.normalize(this.j), K)\n            }\n        }\n        class L extends Qd {\n            constructor(x) {\n                super();\n                this.ya = x || null\n            }\n            na(x, K, U, ha={}) {\n                let T = q(this.ya, !0)\n                  , w = new de;\n                K.forEach(function(Z, S) {\n                    var da = w.set;\n                    {\n                        var fa = Z.value;\n                        let na = Z.kb;\n                        na.DISABLE_ESCAPING || na.NO_CHARACTER_MAP ? Z = {\n                            value: fa,\n                            kb: na\n                        } : (Z = T(fa),\n                        Z !== fa ? (fa = Object.assign({}, na),\n                        fa.USE_NULL_MARKERS = !0,\n                        Z = {\n                            value: Z,\n                            kb: fa\n                        }) : Z = {\n                            value: Z,\n                            kb: na\n                        })\n                    }\n                    da.call(w, S, Z)\n                });\n                this.g.na(x, w, U, ha)\n            }\n            text(x, K={}) {\n                if (K.DISABLE_ESCAPING || K.NO_CHARACTER_MAP)\n                    this.g.text(x, K);\n                else {\n                    const Z = this.ya;\n                    let S = \"\";\n                    var U = !1\n                      , ha = !0;\n                    for (var T = 0; T < x.length; T++) {\n                        var w = x.charCodeAt(T);\n                        if (w >= Z.min && w <= Z.max) {\n                            ha = !1;\n                            break\n                        }\n                    }\n                    if (ha)\n                        S = x;\n                    else\n                        for (ha = 0; ha < x.length; ha++) {\n                            T = x.charAt(ha);\n                            w = x.charCodeAt(ha);\n                            const da = 55296 <= w && 56320 >= w;\n                            da && (w = x.codePointAt(ha));\n                            Z.ya[w] ? (U || (\"\" !== S && (this.g.text(S, K),\n                            S = \"\"),\n                            U = !0),\n                            S += Z.ya[w],\n                            da && ha++) : (U && (U = Object.assign({}, K),\n                            U.DISABLE_ESCAPING = !0,\n                            U.NO_NORMALIZATION = !0,\n                            this.g.text(S, U),\n                            S = \"\",\n                            U = !1),\n                            S += T)\n                        }\n                    U ? (x = Object.assign({}, K),\n                    x.DISABLE_ESCAPING = !0,\n                    x.NO_NORMALIZATION = !0,\n                    this.g.text(S, x)) : this.g.text(S, K)\n                }\n            }\n        }\n        class aa extends Qd {\n            constructor(x, K, U) {\n                super();\n                this.V = x || null;\n                this.encoding = K;\n                this.K = U;\n                this.B = [];\n                this.j = \"\";\n                this.I = {};\n                if (\"fully-normalized\" === U)\n                    throw new F(\"Serializer does not support the requested normalization-form: fully-normalized\",\"SESU0011\");\n            }\n            na(x, K, U, ha={}) {\n                this.flush();\n                this.B.push(x.toEQName());\n                this.g.na(x, K, U, ha)\n            }\n            endElement() {\n                this.flush();\n                this.B.pop();\n                this.g.endElement()\n            }\n            text(x, K={}) {\n                0 <= this.V.indexOf(0 === this.B.length ? null : this.B[this.B.length - 1]) ? K.DISABLE_ESCAPING ? (this.flush(),\n                this.g.text(x, K)) : (this.j += x,\n                this.I = K) : this.g.text(x, K)\n            }\n            wa(x, K={}) {\n                this.flush();\n                this.g.wa(x, K)\n            }\n            va(x, K, U={}) {\n                this.flush();\n                this.g.va(x, K, U)\n            }\n            flush() {\n                if (\"\" !== this.j) {\n                    const K = this.K ? this.j.normalize(this.K) : this.j\n                      , U = K.length;\n                    for (var x = 0; x < U; ) {\n                        let ha = x;\n                        for (; ha < U; )\n                            if (c(K.charCodeAt(ha), this.encoding))\n                                ha++;\n                            else\n                                break;\n                        ha > x && this.aa(K.substring(x, ha));\n                        ha < U && (x = Object.assign({}, this.I),\n                        x.DISABLE_ESCAPING = !1,\n                        x.NO_CHARACTER_MAP = !0,\n                        x.NO_NORMALIZATION = !0,\n                        this.g.text(K.charAt(ha), x));\n                        x = ++ha\n                    }\n                    this.j = \"\";\n                    this.I = {}\n                }\n            }\n            aa(x) {\n                let K = Object.assign({}, this.I);\n                K.DISABLE_ESCAPING = !0;\n                K.NO_CHARACTER_MAP = !0;\n                K.NO_NORMALIZATION = !0;\n                this.g.text(\"<![CDATA[\", K);\n                let U = 0\n                  , ha = x.length;\n                for (; U < ha; ) {\n                    let T = x.substring(U, ha).indexOf(\"]]\\x3e\");\n                    0 <= T ? (this.g.text(x.substring(U, T + 2) + \"]]\\x3e<![CDATA[\", K),\n                    U = T + 2) : (this.g.text(x.substring(U, ha) + \"]]\\x3e\", K),\n                    U = ha)\n                }\n            }\n        }\n        class z extends W {\n            constructor(x, K) {\n                super(x, K);\n                this.ta = -1E6;\n                this.Xe = \"area base br col embed hr img input link meta param source track wbr\".split(\" \");\n                this.Yc = {\n                    \"*\": [\"hidden\", \"autofocus\", \"itemscope\"],\n                    audio: [\"autoplay\", \"controls\", \"loop\", \"muted\"],\n                    button: [\"disabled\", \"formnovalidate\"],\n                    details: [\"open\"],\n                    dialog: [\"open\"],\n                    fieldset: [\"disabled\"],\n                    form: [\"novalidate\"],\n                    img: [\"ismap\"],\n                    input: \"checked disabled multiple readonly required formnovalidate\".split(\" \"),\n                    iframe: [\"allowfullscreen\", \"allowpaymentrequest\"],\n                    ol: [\"reversed\"],\n                    optgroup: [\"disabled\"],\n                    option: [\"selected\", \"disabled\"],\n                    script: [\"defer\", \"async\", \"nomodule\"],\n                    select: [\"multiple\", \"disabled\", \"required\"],\n                    textarea: [\"disabled\", \"readonly\", \"required\"],\n                    track: [\"default\"],\n                    video: [\"autoplay\", \"controls\", \"loop\", \"muted\", \"playsinline\"]\n                }\n            }\n            na(x, K, U, ha={}) {\n                super.na(x, K, U, ha);\n                x.hasURI(\"\") && [\"script\", \"style\"].includes(x.local.toLowerCase()) && (this.ta = 0);\n                this.ta++\n            }\n            endElement() {\n                let x = this.eb.pop();\n                this.ta--;\n                0 === this.ta && (this.ta = -1E6);\n                this.K.pop();\n                this.B && (this.g.write(\">\"),\n                this.B = !1);\n                this.Xe.includes(x.local.toLowerCase()) && E(x) || this.g.write(\"</\" + x.toString() + \">\")\n            }\n            text(x, K={}) {\n                0 < this.ta && !K.DISABLE_ESCAPING ? (K = Object.assign({}, K),\n                K.DISABLE_ESCAPING = !0,\n                super.text(x, K)) : super.text(x, K)\n            }\n            va(x, K) {\n                this.I || this.aa();\n                this.B && this.V();\n                if (0 <= K.indexOf(\">\"))\n                    throw new F(\"A processing instruction in HTML must not contain a > character\",\"SERE0015\");\n                this.g.write(\"<?\" + this.j(x, !1) + \" \" + this.j(K, !1) + \">\")\n            }\n            aa() {\n                this.zb || (this.Pa[\"byte-order-mark\"] && \"UTF-8\" === this.Pa.encoding && this.g.write(\"\\ufeff\"),\n                this.zb = !0)\n            }\n            he(x, K) {\n                if (K) {\n                    const U = this;\n                    K.forEach((ha,T)=>{\n                        x.hasURI(\"\") && this.Wf(x, T, ha.value) ? U.g.write(\" \" + T.toString()) : U.ee(T, ha)\n                    }\n                    )\n                }\n            }\n            Ca(x) {\n                let K = this.Pa[\"doctype-system\"] || null\n                  , U = this.Pa[\"doctype-public\"] || null;\n                null === K && null === U ? E(x) && \"html\" === x.local.toLowerCase() && (this.ra && this.g.write(\"\\n\"),\n                this.g.write(\"<!DOCTYPE \" + x.toString() + \">\\n\"),\n                this.xa = !0) : null === K ? (x = E(x) && \"html\" === x.local.toLowerCase() ? x.toString() : \"html\",\n                this.ra && this.g.write(\"\\n\"),\n                this.g.write(\"<!DOCTYPE \" + x + \"\\n\"),\n                this.g.write('  PUBLIC \"' + U + '\">\\n'),\n                this.xa = !0) : super.Ca(\"html\" === x.local.toLowerCase() ? x : n.QName.fromParts(\"\", \"\", \"html\"))\n            }\n            Wf(x, K, U) {\n                K = K.local.toLowerCase();\n                x = x.local.toLowerCase();\n                return K === U.toLowerCase() && (this.Yc[x] && this.Yc[x].includes(K) || this.Yc[\"*\"].includes(K))\n            }\n        }\n        class D extends ma {\n            constructor(x, K) {\n                super(x, K);\n                this.Wf = \"pre script style textarea title xmp\".split(\" \");\n                this.he = \"a abbr acronym applet area audio b basefont bdi bdo big br button canvas cite code data datalist del dfn em embed font i iframe img input ins kbd label map mark math meter noscript object output picture progress q ruby s samp script select small span strike strong sub sup svg template textarea time tt u var video wbr\".split(\" \");\n                this.ta = this.Yc = !1;\n                this.Yd = []\n            }\n            na(x, K, U, ha={}) {\n                this.Yc = this.he.includes(x.local.toLowerCase()) && E(x);\n                this.K || this.B ? this.ra() : this.aa();\n                this.I++;\n                0 > this.j && this.Wf.includes(x.local.toLowerCase()) && E(x) && (this.j = this.I);\n                this.eb && -1 === this.j && 0 <= this.eb.indexOf(x.toEQName()) && (this.j = this.I);\n                this.g.na(x, K, U, ha);\n                this.K = this.V = !0;\n                this.Yc = this.ta = this.B = !1;\n                this.Yd.push(x)\n            }\n            endElement() {\n                let x = this.Yd.pop();\n                this.I--;\n                this.B && !this.V ? this.ra() : this.aa();\n                this.g.endElement();\n                this.V = !1;\n                this.B = !0;\n                this.K = !1;\n                this.ta = this.he.includes(x.local.toLowerCase()) && E(x);\n                this.I === this.j - 1 && (this.j = -1)\n            }\n            text(x, K={}) {\n                super.text(x, K);\n                0 > this.j && \"\" === Ha.trim(x) || (this.ta = !1)\n            }\n            wa(x, K={}) {\n                super.wa(x, K);\n                this.ta = !1\n            }\n            va(x, K, U={}) {\n                super.va(x, K, U);\n                this.ta = !1\n            }\n            ra() {\n                0 <= this.j || this.Yc || this.ta ? this.aa() : this.Xe()\n            }\n        }\n        class y extends Qd {\n            na(x, K, U, ha={}) {\n                for (let T in U)\n                    H(U[T]) && delete U[T];\n                H(x.uri) && (\"\" !== x.prefix && (x = n.QName.fromParts(\"\", x.uri, x.local)),\n                U[\"\"] = x.uri);\n                K.forEach((T,w)=>{\n                    H(w.uri) && (U[w.prefix] = w.uri)\n                }\n                );\n                super.na(x, K, U, ha)\n            }\n        }\n        class I extends W {\n            constructor(x, K) {\n                super(x, K);\n                this.ta = \"area base br col embed hr img input link meta param source track wbr\".split(\" \")\n            }\n            endElement() {\n                this.K.pop();\n                let x = this.eb.pop();\n                this.B && this.ta.includes(x.local) && E(x) ? (this.g.write(\" />\"),\n                this.B = !1) : (this.B && super.V(),\n                this.g.write(\"</\" + x.toString() + \">\"))\n            }\n            text(x, K={}) {\n                (this.I || \"\" !== Ha.trim(x)) && super.text(x, K)\n            }\n            Ca(x) {\n                let K = this.Pa[\"doctype-system\"] || null;\n                null === K && E(x) && \"html\" === x.local.toLowerCase() ? (this.ra && this.g.write(\"\\n\"),\n                this.g.write(\"<!DOCTYPE \" + x.toString() + \">\\n\"),\n                this.xa = !0) : null !== K && super.Ca(x)\n            }\n        }\n        class R extends Qd {\n            na(x, K, U, ha) {\n                let T = !1;\n                K.forEach((w,Z)=>T = T || p(x, Z));\n                if (T) {\n                    const w = new de;\n                    K.forEach((Z,S)=>{\n                        if (p(x, S)) {\n                            const da = cd.escape(Z.value.normalize(\"NFC\"), fa=>32 > fa || 126 < fa);\n                            Z = Object.assign({}, Z.kb);\n                            Z.DISABLE_ESCAPING = !1;\n                            Z.NO_CHARACTER_MAP = !0;\n                            Z.NO_NORMALIZATION = !0;\n                            w.set(S, {\n                                value: da,\n                                kb: Z\n                            })\n                        } else\n                            w.set(S, Z)\n                    }\n                    );\n                    super.na(x, w, U, ha)\n                } else\n                    super.na(x, K, U, ha)\n            }\n        }\n        class M extends Qd {\n            constructor(x) {\n                super();\n                this.B = x;\n                this.j = !1\n            }\n            na(x, K, U, ha={}) {\n                if (\"meta\" === x.local.toLowerCase() && E(x)) {\n                    let T = this.j;\n                    K.forEach(function(w, Z) {\n                        \"http-equiv\" === Z.toString().toLowerCase() && \"content-type\" === w.value.trim().toLowerCase() && (T = !0)\n                    });\n                    this.j = T\n                }\n                this.j || (super.na(x, K, U, ha),\n                \"head\" === x.local.toLowerCase() && E(x) && (K = new de,\n                K.set(n.QName.fromParts(\"\", \"\", \"http-equiv\"), {\n                    value: \"Content-Type\",\n                    kb: {}\n                }),\n                K.set(n.QName.fromParts(\"\", \"\", \"content\"), {\n                    value: (this.B[\"media-type\"] || \"text/html\") + \"; charset=\" + (this.B.encoding || \"UTF-8\"),\n                    kb: {}\n                }),\n                this.g.na(n.QName.fromParts(\"\", x.uri, \"meta\"), K, {}, {}),\n                this.g.endElement()))\n            }\n            endElement() {\n                this.j ? this.j = !1 : this.g.endElement()\n            }\n        }\n        class ca extends Sd {\n            constructor(x, K, U) {\n                super(U);\n                this.I = x;\n                this.g = K;\n                this.ya = x[\"use-character-maps\"] || null\n            }\n            close() {\n                this.zb(this.result());\n                this.g.end && this.g.end();\n                super.close()\n            }\n            Ca(x) {\n                this.I[\"normalization-form\"] && \"none\" !== this.I[\"normalization-form\"] && (x = x.normalize(this.I[\"normalization-form\"]));\n                const K = this.I.encoding || \"UTF-8\";\n                let U = \"\";\n                for (let ha = 0; ha < x.length; ha++) {\n                    let T = x.charCodeAt(ha)\n                      , w = x.charAt(ha);\n                    switch (w) {\n                    case '\"':\n                        U += '\\\\\"';\n                        break;\n                    case \"\\b\":\n                        U += \"\\\\b\";\n                        break;\n                    case \"\\f\":\n                        U += \"\\\\f\";\n                        break;\n                    case \"\\n\":\n                        U += \"\\\\n\";\n                        break;\n                    case \"\\r\":\n                        U += \"\\\\r\";\n                        break;\n                    case \"\\t\":\n                        U += \"\\\\t\";\n                        break;\n                    case \"\\\\\":\n                        U += \"\\\\\\\\\";\n                        break;\n                    case \"/\":\n                        U += \"\\\\/\";\n                        break;\n                    default:\n                        U = 31 >= T || 127 <= T && 159 >= T || !c(T, K) ? U + (\"\\\\u\" + (\"0000\" + T.toString(16).toUpperCase()).slice(-4)) : U + w\n                    }\n                }\n                return U\n            }\n            ta(x) {\n                let K = '\"';\n                if (this.ya) {\n                    const w = this.ya;\n                    let Z = \"\"\n                      , S = !1;\n                    var U = !0;\n                    for (var ha = 0; ha < x.length; ha++) {\n                        var T = x.charCodeAt(ha);\n                        if (T >= w.min && T <= w.max) {\n                            U = !1;\n                            break\n                        }\n                    }\n                    if (U)\n                        Z = x;\n                    else\n                        for (U = 0; U < x.length; U++) {\n                            ha = x.charAt(U);\n                            T = x.charCodeAt(U);\n                            const da = 55296 <= T && 56320 >= T;\n                            da && (T = x.codePointAt(U));\n                            w.ya[T] ? (S || (\"\" !== Z && (K += this.Ca(Z),\n                            Z = \"\"),\n                            S = !0),\n                            Z += w.ya[T],\n                            da && U++) : (S && (K += Z,\n                            Z = \"\",\n                            S = !1),\n                            Z += ha)\n                        }\n                    K = S ? K + Z : K + this.Ca(Z)\n                } else\n                    K += this.Ca(x);\n                return K + '\"'\n            }\n            zb(x) {\n                function K(T) {\n                    switch (T.length) {\n                    case 0:\n                        ha.g.write(\"null\");\n                        break;\n                    case 1:\n                        U(T[0]);\n                        break;\n                    default:\n                        throw new F(\"Cannot output a sequence of length \" + T.length + \" as JSON\",\"SERE0023\");\n                    }\n                }\n                function U(T) {\n                    var w = La.XS;\n                    if (La.pa(T))\n                        if (w.boolean.matches(T))\n                            ha.g.write(T.toString());\n                        else if (w.numeric.matches(T)) {\n                            T = T.toString();\n                            if ([\"NaN\", \"INF\", \"-INF\"].includes(T))\n                                throw new F(\"Cannot output INF or NaN as JSON\",\"SERE0020\");\n                            ha.g.write(T)\n                        } else\n                            ha.g.write(ha.ta(T.toString()));\n                    else if (ac.X(T)) {\n                        w = Object.assign({}, ha.I);\n                        w.method = w[\"json-node-output-method\"] || \"xml\";\n                        w[\"item-separator\"] = null;\n                        w[\"omit-xml-declaration\"] = !0;\n                        w.encoding = \"UTF-8\";\n                        const Z = new la;\n                        r(T, w, Z, ha.ra);\n                        ha.g.write(ha.ta(Z.toString()))\n                    } else if (cd.isArray(T))\n                        if (T = T.value,\n                        0 === T.length)\n                            ha.g.write(\"[]\");\n                        else {\n                            ha.V(\"[\");\n                            K(T[0]);\n                            for (w = 1; w < T.length; w++)\n                                ha.aa(),\n                                K(T[w]);\n                            ha.K(\"]\")\n                        }\n                    else if (T instanceof cc) {\n                        let Z = !0;\n                        ha.V(\"{\");\n                        const S = {};\n                        T.forAllPairs(da=>{\n                            Z ? Z = !1 : ha.aa();\n                            const fa = ha.ta(da.k.toString());\n                            if (!ha.I[\"allow-duplicate-names\"]) {\n                                if (S[fa])\n                                    throw new F(\"Duplicate key '\" + fa + \"' in serialized JSON map\",\"SERE0022\");\n                                S[fa] = !0\n                            }\n                            ha.g.write(fa);\n                            ha.eb();\n                            K(da.v)\n                        }\n                        );\n                        ha.K(\"}\")\n                    } else\n                        throw new F(\"Cannot output \" + sa.showValue(T) + \" as JSON\",\"SERE0021\");\n                }\n                const ha = this;\n                K(x)\n            }\n            V(x) {\n                this.g.write(x)\n            }\n            K(x) {\n                this.g.write(x)\n            }\n            aa() {\n                this.g.write(\",\")\n            }\n            eb() {\n                this.g.write(\":\")\n            }\n        }\n        class ea extends ca {\n            constructor(x, K, U) {\n                super(x, K, U);\n                this.j = 0;\n                this.xa = x[\"Q{http://saxon.sf.net/}indent-spaces\"] || 3\n            }\n            V(x) {\n                super.V(x);\n                this.j++;\n                this.g.write(\"\\n\".padEnd(this.j * this.xa + 1, \" \"))\n            }\n            K(x) {\n                this.j--;\n                this.g.write(\"\\n\".padEnd(this.j * this.xa + 1, \" \"));\n                super.K(x)\n            }\n            aa() {\n                super.aa();\n                this.g.write(\"\\n\".padEnd(this.j * this.xa + 1, \" \"))\n            }\n            eb() {\n                this.g.write(\": \")\n            }\n        }\n        class ja extends Sd {\n            constructor(x, K, U) {\n                super(U);\n                this.I = x;\n                this.g = K;\n                this.ra = U;\n                this.ya = x[\"use-character-maps\"] || null\n            }\n            close() {\n                function x(S, da) {\n                    for (let fa in [\"fn\", \"math\", \"map\", \"array\", \"xs\"])\n                        if (Zb.withPrefix[fa] === S)\n                            return fa + \":\" + da;\n                    return \"Q{\" + S + \"}\" + da\n                }\n                function K(S) {\n                    return T.ya ? q(T.ya, !1)(S) : S\n                }\n                function U(S, da) {\n                    if (1 === S.length)\n                        ha(S[0], da);\n                    else {\n                        da.write(\"(\");\n                        let fa = !0;\n                        for (let na = 0; na < S.length; na++)\n                            fa ? fa = !1 : da.write(\",\"),\n                            ha(S[na], da);\n                        da.write(\")\")\n                    }\n                }\n                function ha(S, da) {\n                    if (ac.X(S))\n                        switch (S.nodeType) {\n                        case 9:\n                        case 11:\n                        case 1:\n                        case 7:\n                        case 8:\n                        case 3:\n                        case 4:\n                            var fa = Object.assign({}, T.I);\n                            fa.method = \"xml\";\n                            fa[\"item-separator\"] = null;\n                            fa.encoding = \"UTF-8\";\n                            var na = new la;\n                            g(fa, na, T.ra).append(S);\n                            da.write(na.toString());\n                            break;\n                        case 2:\n                            da.write(ac.ca(S) + '=\"' + S.value + '\"', {});\n                            break;\n                        case 13:\n                            da.write(\"*** Namespace Node ****\", {})\n                        }\n                    else if (La.pa(S))\n                        fa = S.code,\n                        \"AB\" === fa ? da.write(S.toBoolean() ? \"true()\" : \"false()\") : Ia(S) ? (fa = S.toString(),\n                        /\"/.test(fa) ? da.write(\"'\" + K(fa.replace(/'/g, \"''\")) + \"'\") : da.write('\"' + K(S.toString().replace(/\"/g, '\"\"')) + '\"')) : /^AD/.test(fa) ? da.write(S.toString()) : /^A[OF]/.test(fa) ? da.write(S.toString()) : da.write(`${La.pd(fa)} (\"${S.toString()}\")`);\n                    else if (S instanceof $c) {\n                        S = S.value;\n                        da.write(\"[\");\n                        fa = !0;\n                        for (na = 0; na < S.length; na++)\n                            fa ? fa = !1 : da.write(\",\"),\n                            U(S[na], da);\n                        da.write(\"]\")\n                    } else if (S instanceof cc) {\n                        da.write(\"map{\");\n                        let va = !0;\n                        S.forAllPairs(h=>{\n                            va ? va = !1 : da.write(\",\");\n                            ha(h.k, da);\n                            da.write(\":\");\n                            U(h.v, da)\n                        }\n                        );\n                        da.write(\"}\")\n                    } else\n                        S instanceof ad.XdmFunction ? S.local ? da.write(x(S.uri, S.local) + \"#\" + S.arity) : da.write(\"(anonymous function)#\" + S.arity) : da.write(\"JS: \" + sa.showValue(S))\n                }\n                const T = this;\n                let w = this.result()\n                  , Z = !0;\n                for (let S = 0; S < w.length; S++) {\n                    const da = w[S];\n                    Z ? Z = !1 : this.g.write(this.I[\"item-separator\"] || \" \");\n                    ha(da, this.g)\n                }\n                this.g.end && this.g.end();\n                super.close()\n            }\n        }\n        class Y extends Qd {\n            constructor(x, K) {\n                super();\n                this.j = x;\n                this.I = K;\n                this.pending = [];\n                this.B = !1\n            }\n            Ea(x={}) {\n                this.pending.push(function(K) {\n                    K.Ea(x)\n                })\n            }\n            na(x, K, U, ha={}) {\n                if (!this.B) {\n                    const T = this.j[\"Q{http://saxon.sf.net/}stylesheet-version\"];\n                    let w = \"xml\";\n                    \"html\" === x.local && \"http://www.w3.org/1999/xhtml\" === x.uri ? w = 10 === T ? \"xml\" : \"xhtml\" : \"html\" === x.local.toLowerCase() && \"\" === x.uri && (w = \"html\");\n                    this.j = Object.assign({}, this.j);\n                    this.j.method = w;\n                    this.g = g(this.j, this.I);\n                    this.g instanceof Y && sa.la(\"cannot create committed serializer: \" + JSON.stringify(this.j));\n                    this.pending.forEach(Z=>Z(this.g));\n                    this.B = !0;\n                    this.pending = []\n                }\n                super.na(x, K, U, ha)\n            }\n            text(x, K={}) {\n                this.B ? super.text(x, K) : this.pending.push(function(U) {\n                    U.text(x, K)\n                })\n            }\n            wa(x, K={}) {\n                this.B ? super.wa(x, K) : this.pending.push(function(U) {\n                    U.wa(x, K)\n                })\n            }\n            va(x, K, U={}) {\n                this.B ? super.va(x, K, U) : this.pending.push(function(ha) {\n                    ha.va(x, K, U)\n                })\n            }\n            append(x, K={}) {\n                this.B ? super.append(x, K) : this.pending.push(function(U) {\n                    U.append(x, K)\n                })\n            }\n            za() {\n                this.B ? super.za() : this.pending.push(function(x) {\n                    x.za()\n                })\n            }\n            close() {\n                this.B || (this.j.method = \"xml\",\n                this.g = g(this.j, this.I),\n                this.pending.forEach(x=>x(this.g)));\n                super.close()\n            }\n        }\n        class V extends B {\n            constructor(x, K) {\n                super(x, K);\n                this.j = !1\n            }\n            text(x) {\n                this.j || this.B();\n                this.g.write(x)\n            }\n            append(x) {\n                this.j || this.B();\n                this.g.write(x.toString())\n            }\n            B() {\n                this.Pa[\"byte-order-mark\"] && \"UTF-8\" === this.Pa.encoding && this.g.write(\"\\ufeff\");\n                this.j = !0\n            }\n        }\n        class la {\n            constructor() {\n                this.ma = \"\"\n            }\n            write(x) {\n                this.ma += x\n            }\n            toString() {\n                return this.ma\n            }\n        }\n        return {\n            serialize: r,\n            qh: g,\n            StringWriter: la,\n            parseParamDoc: function(x, K, U=null) {\n                function ha(S, da=\"SEPM0017\") {\n                    throw new F(\"Serialization params: \" + S,da);\n                }\n                function T(S, da=[]) {\n                    const fa = ac.ca(S);\n                    ac.Ja.Ha(S).forEachItem(function(na) {\n                        na = ac.ca(na);\n                        \"\" !== na.uri || da.includes(na.local) || ha(\"attribute @\" + na.local + \" must not appear on element \" + fa.toString())\n                    })\n                }\n                function w(S, da) {\n                    let fa = ac.getAttribute(S, da, null);\n                    null === fa && ha(\"attribute @\" + da + \" is missing on element \" + ac.ca(S).toString());\n                    return fa\n                }\n                \"serialization-parameters\" !== ac.ca(x).local && ha(\"root element name must be 'serialization-parameters'\", U || \"SEPM0017\");\n                \"http://www.w3.org/2010/xslt-xquery-serialization\" !== ac.ca(x).uri && ha(\"root element namespace must be http://www.w3.org/2010/xslt-xquery-serialization\", U || \"SEPM0017\");\n                T(x);\n                let Z = [];\n                ac.Ec(x).forEach(function(S) {\n                    if (ac.hasURI(S, \"http://www.w3.org/2010/xslt-xquery-serialization\")) {\n                        var da = ac.ca(S).local;\n                        let fa;\n                        Z.includes(da) && ha(\"duplicated parameter \" + da, \"SEPM0019\");\n                        Z.push(da);\n                        \"use-character-maps\" === da ? (T(S),\n                        fa = {\n                            min: 0,\n                            max: 0,\n                            ya: {}\n                        },\n                        ac.Ec(S).forEach(function(na) {\n                            if (ac.hasURI(na, \"http://www.w3.org/2010/xslt-xquery-serialization\") && \"character-map\" === ac.ca(na).local) {\n                                T(na, [\"character\", \"map-string\"]);\n                                const va = w(na, \"character\");\n                                1 < va.length && ha(\"keys in a character map must all be one-character strings. Found \" + va);\n                                const h = va.codePointAt(0);\n                                na = w(na, \"map-string\");\n                                void 0 !== fa.ya[h] ? ha(\"character map contains two entries for the character \" + va, \"SEPM0019\") : (fa.ya[h] = na,\n                                0 === fa.min ? fa.min = h : h < fa.min && (fa.min = h),\n                                h > fa.max && (fa.max = h))\n                            } else\n                                ha(\"invalid child of use-character-maps: \" + ac.ca(na).toString())\n                        }),\n                        55296 < fa.min && (fa.min = 55296)) : (T(S, [\"value\"]),\n                        fa = w(S, \"value\"),\n                        fa = e(da, fa, function(na) {\n                            return S.lookupNamespaceURI(na)\n                        }));\n                        \"undefined\" !== typeof fa && (K[da] = k(da, fa, K[da]))\n                    } else\n                        ac.hasURI(S, \"\") && ha(\"element in no namespace: \" + ac.ca(S).local),\n                        da = ac.ca(S).toEQName(),\n                        Z.includes(da) && ha(\"duplicated parameter \" + da, \"SEPM0019\"),\n                        Z.push(da)\n                })\n            },\n            pf: k,\n            zf: e,\n            yf: function(x, K, U) {\n                x = e(x, K);\n                return t(x, U)\n            },\n            uj: t,\n            jj: function(x) {\n                function K(w, Z=\"SEPM0017\") {\n                    throw new F(\"Serialization params: \" + w,Z);\n                }\n                let U = 0\n                  , ha = 0\n                  , T = {};\n                for (let[w,Z] of Object.entries(x)) {\n                    x = w;\n                    1 < x.length && K(\"keys in a character map must all be one-character strings. Found \" + x);\n                    const S = x.codePointAt(0);\n                    void 0 !== T[S] && K(\"character map contains two entries for the character \" + x, \"SEPM0019\");\n                    T[S] = Z;\n                    0 === U ? U = S : S < U && (U = S);\n                    S > ha && (ha = S);\n                    55296 < U && (U = 55296)\n                }\n                return {\n                    min: U,\n                    max: ha,\n                    ya: T\n                }\n            }\n        }\n    }();\n    // Input 35\n    class he {\n        constructor(a, c, q, E) {\n            this.principalResult = a;\n            this.resultDocuments = c;\n            this.stylesheetInternal = q;\n            this.masterDocument = E\n        }\n    }\n    class ie {\n        constructor(a, c) {\n            this.destination = a;\n            this.save = c\n        }\n    }\n    class je extends ie {\n        constructor(a, c) {\n            super(a, function(q, E) {\n                c[q.toString()] = E\n            })\n        }\n    }\n    ;// Input 36\n    const ke = function() {\n        function a(b, d, l, r, n=null) {\n            d = d.fixed.ka;\n            if (b = b.next()) {\n                b = Ha.trim(b.toString());\n                if (n && Ha.Lb(b))\n                    return \"##local\" === n && (n = d.Ic(l)[\"\"] || \"\"),\n                    \"Q{\" + n + \"}\" + b;\n                try {\n                    const B = A.QName.fromString(b, d.Wd(l, !1));\n                    if (null === B)\n                        throw new F(\"Invalid QName \" + b,r,l);\n                    return \"Q{\" + B.uri + \"}\" + B.local\n                } catch (B) {\n                    if (B instanceof F && [\"FORG0001\", \"XTDE0290\"].includes(B.code))\n                        throw new F(B.message,r);\n                    throw B;\n                }\n            } else\n                return null\n        }\n        function c(b) {\n            return (b = b.next()) ? b.value : \"\"\n        }\n        function q(b) {\n            function d(n) {\n                return n.replace(/[^A-Za-z]/g, B=>\"0\" + B.codePointAt(0))\n            }\n            const l = ac.Ja;\n            b = l.Ya(b).expand().reverse();\n            let r = \"\";\n            for (let n = 0; n < b.length; n++)\n                if (b[n]instanceof bc)\n                    r += \"N\" + d(b[n].prefix);\n                else if (2 === b[n].nodeType)\n                    r += \"A\" + d(ac.ca(b[n]).toEQName());\n                else {\n                    const B = l.Oc(b[n]).count() + 1;\n                    r += fe.bg(B, 0 === n % 2 ? \"a\" : \"A\")\n                }\n            return \"d\" + ac.ui(b[0]) + r\n        }\n        function E(b, d, l) {\n            let r = \"\";\n            b[0].forEachItem(function(ma) {\n                r += ma.value.trim() + \" \"\n            });\n            d = b[1] ? b[1].next() : f.rc(ed(d));\n            if (!f.X(d))\n                throw new F(\"Context item is not a node for fn:\" + l + \"()\",\"XPTY0004\");\n            9 !== d.nodeType && (d = f.rc(d));\n            let n;\n            l = [];\n            b = r.trim().split(/\\s+/);\n            if (9 === d.nodeType) {\n                for (var B of b)\n                    (n = d.getElementById(B)) && l.push(n);\n                if (pa.jd())\n                    for (B = O.me(d); null !== (n = B.next()); )\n                        if (1 === n.nodeType) {\n                            d = n.getAttributeNS(Zb.xml, \"id\");\n                            var W = n.getAttribute(\"id\");\n                            (null != d && b.includes(d.trim()) || null != W && b.includes(W.trim())) && l.push(n)\n                        }\n                return f.kd(Kb(l))\n            }\n            if (11 === d.nodeType) {\n                for (B = O.me(d); null !== (n = B.next()); )\n                    1 === n.nodeType && (d = n.getAttributeNS(Zb.xml, \"id\"),\n                    W = n.getAttribute(\"id\"),\n                    (null != d && b.includes(d.trim()) || null != W && b.includes(W.trim())) && l.push(n));\n                return f.kd(Kb(l))\n            }\n            return Ob\n        }\n        function H(b, d, l) {\n            let r = d;\n            b.forEachItem(function(n) {\n                r = l(n, r)\n            });\n            return r\n        }\n        function p(b) {\n            function d(r) {\n                throw new F(r,\"FORG0006\");\n            }\n            const l = \"max\" === b ? function(r) {\n                return 0 < r\n            }\n            : function(r) {\n                return 0 > r\n            }\n            ;\n            return function(r, n, B) {\n                let W = r[0];\n                n.fixed.ka.Db(B, \"i\") && (W = W.filter(function(ja) {\n                    return !Hd.tc(ja)\n                }));\n                r = Hd.Xb(B, r[1], \"compare\", n);\n                const ma = Hd.oi(r)\n                  , qa = A.untypedAtomic.matches\n                  , L = A.numeric.matches\n                  , aa = A.double.matches\n                  , z = A.float.matches\n                  , D = A.anyURI.matches\n                  , y = A.string.matches;\n                r = A.duration.matches;\n                const I = A.yearMonthDuration.matches\n                  , R = A.dayTimeDuration.matches;\n                n = A.QName.matches;\n                const M = A.double.R\n                  , ca = A.float.R\n                  , ea = A.string.R;\n                W = W.mapOneToOne(function(ja) {\n                    return qa(ja) ? M(ja) : ja\n                });\n                B = W.next();\n                if (null === B)\n                    return Ob;\n                n(B) && d(b + \"() not defined over QName\");\n                !r(B) || I(B) || R(B) || d(b + \"() not defined over mixed durations\");\n                return Pb(H(W, B, function(ja, Y) {\n                    (y(ja) && L(Y) || y(Y) && L(ja)) && d(\"Cannot compare string with numeric\");\n                    (I(ja) && !I(Y) || R(ja) && !R(Y)) && d(\"Cannot compare mixed durations\");\n                    if (Hd.tc(Y))\n                        return aa(ja) ? M(Y) : Y;\n                    if (Hd.tc(ja))\n                        return aa(Y) ? M(ja) : ja;\n                    aa(Y) && !y(ja) ? ja = M(ja) : aa(ja) && !y(Y) ? Y = M(Y) : z(Y) && !y(ja) ? ja = ca(ja) : z(ja) && !y(Y) && (Y = ca(Y));\n                    D(Y) && y(ja) ? Y = ea(Y) : D(ja) && y(Y) && (ja = ea(ja));\n                    try {\n                        return l(ma(ja, Y)) ? ja : Y\n                    } catch (V) {\n                        throw V instanceof F && \"XPTY0004\" === V.code && (V.code = \"FORG0006\"),\n                        V;\n                    }\n                }))\n            }\n        }\n        function g(b, d) {\n            if (2 !== d.length && 5 !== d.length)\n                throw new F(\"Wrong number of arguments (\" + d.length + \") for  \" + b,\"XPST0017\");\n        }\n        function e(b, d) {\n            b = b[0].next();\n            if (null === b)\n                return Ob;\n            if (\"timezone\" === d)\n                return null === b.Fa ? Ob : Pb(A.dayTimeDuration.hh(b.Fa));\n            if (\"seconds\" === d)\n                return d = b.proxy(),\n                Wb(d.getUTCSeconds() + d.getUTCMilliseconds() / 1E3);\n            b = b.proxy()[d]();\n            \"getUTCMonth\" === d && b++;\n            return Ub(b)\n        }\n        function k(b, d) {\n            b = b[0].next();\n            return null === b ? Ob : 5 !== d ? Ub(jb(b)[d] * kb(b)) : Wb(jb(b)[d] * kb(b))\n        }\n        function v(b, d, l) {\n            function r(W, ma) {\n                return Pb(La.codes[d].fromDate(W, ma))\n            }\n            const n = b[0].next();\n            if (!n)\n                return Ob;\n            l = l.fixed.Jb.getTimezoneOffset();\n            if (b[1]) {\n                var B = b[1].next();\n                b = null !== B ? B.Qa / 6E4 : null;\n                if (null !== b && (-840 > b || 840 < b))\n                    throw new F(\"timezone out of bounds \" + B,\"FODT0003\");\n            } else\n                b = -l;\n            B = n.Fa;\n            if (null === B && null === b)\n                return Pb(n);\n            if (null === B && null !== b)\n                return r(gb(n, -l - b).Na, b);\n            if (null !== B && null === b)\n                return r(gb(n, l + B).Na, null);\n            if (null !== B && null !== b)\n                return r(n.Na, b)\n        }\n        function t(b, d, l, r) {\n            let n = b[1].expand();\n            const B = b[2].expand()[0];\n            B instanceof ad.XdmFunction || sa.la(\"fold-\" + (r ? \"left\" : \"right\") + \"() function argument not instance of XdmFunction\");\n            b = b[0].expand();\n            r || (b = b.reverse());\n            b.forEach(W=>{\n                n = B.evaluate(r ? [n, [W]] : [[W], n], d, l).expand()\n            }\n            );\n            return Kb(n)\n        }\n        let C = null\n          , m = null;\n        const f = ac\n          , A = La.XS\n          , O = f.Ja;\n        return {\n            abs: function(b) {\n                b = b[0].next();\n                return null === b ? Ob : Pb(b.abs())\n            },\n            \"accumulator-after\": function(b, d, l) {\n                b = a(b[0], d, l, \"XTDE3340\");\n                return Kb(Ld.ei(l, b, ed(d), d))\n            },\n            \"accumulator-before\": function(b, d, l) {\n                b = a(b[0], d, l, \"XTDE3340\");\n                return Kb(Ld.fi(l, b, ed(d), d))\n            },\n            \"adjust-date-to-timezone\": function(b, d) {\n                return v(b, \"AA\", d)\n            },\n            \"adjust-dateTime-to-timezone\": function(b, d) {\n                return v(b, \"AM\", d)\n            },\n            \"adjust-time-to-timezone\": function(b, d) {\n                return v(b, \"AT\", d)\n            },\n            \"analyze-string\": function(b, d) {\n                const l = c(b[0]);\n                var r = d.ja.createDocumentFragment();\n                const n = Zb.Oa\n                  , B = d.ja.createElementNS(n, \"analyze-string-result\");\n                r.appendChild(B);\n                if (\"\" === l)\n                    return Pb(B);\n                r = b[1].next().toString();\n                b = b[2] ? b[2].next().toString() : \"\";\n                Zd.Of(l, r, b, !1, !1).forEach(function(W) {\n                    let ma;\n                    if (W.Lc) {\n                        let L;\n                        W = W.groups;\n                        ma = d.ja.createElementNS(n, \"match\");\n                        var qa = 0;\n                        for (let aa = 1; aa < W.length; aa++)\n                            W[aa] && (L = W[0].indexOf(W[aa], qa),\n                            L > qa && (qa = d.ja.createTextNode(W[0].substring(qa, L)),\n                            ma.appendChild(qa)),\n                            qa = d.ja.createElementNS(n, \"group\"),\n                            qa.setAttribute(\"nr\", aa),\n                            qa.appendChild(d.ja.createTextNode(W[aa])),\n                            ma.appendChild(qa),\n                            qa = L + W[aa].length);\n                        qa < W[0].length && (qa = d.ja.createTextNode(W[0].substring(qa, L)),\n                        ma.appendChild(qa))\n                    } else\n                        ma = d.ja.createElementNS(n, \"non-match\"),\n                        qa = d.ja.createTextNode(W.string),\n                        ma.appendChild(qa);\n                    B.appendChild(ma)\n                });\n                return Pb(B)\n            },\n            apply: function(b, d, l) {\n                const r = d.fixed.ka\n                  , n = b[0].next();\n                b = b[1].next();\n                const B = b.value;\n                if (n instanceof ad.XdmFunction)\n                    return n.evaluate(B, d, l);\n                d = r.Sb(b.value[0][0]).next();\n                if (n instanceof $c)\n                    return d = A.numeric.matches(d) ? d.toNumber() : A.double.R(d).toNumber(),\n                    Kb(n.get(d));\n                if (n instanceof cc)\n                    return Kb(n.get(d));\n                sa.la(\"Target of apply() is neither map(*) nor array(*) nor function(*): actual value \" + sa.showValue(n))\n            },\n            \"available-environment-variables\": function() {\n                return Ob\n            },\n            \"available-system-properties\": function() {\n                const b = []\n                  , d = {\n                    version: \"3.0\",\n                    vendor: \"Saxonica\",\n                    \"vendor-url\": \"http://www.saxonica.com/\",\n                    \"product-name\": \"SaxonJS\",\n                    \"product-version\": \"2.6\",\n                    \"is-schema-aware\": \"no\",\n                    \"supports-serialization\": \"yes\",\n                    \"supports-backwards-compatibility\": \"yes\",\n                    \"supports-namespace-axis\": \"yes\",\n                    \"supports-streaming\": \"no\",\n                    \"supports-dynamic-evaluation\": \"yes\",\n                    \"supports-higher-order-functions\": \"yes\",\n                    \"xpath-version\": \"3.1\",\n                    \"xsd-version\": \"1.1\"\n                };\n                for (let l in d)\n                    d.hasOwnProperty(l) && b.push(A.QName.fromParts(\"xsl\", Zb.Wc, l));\n                return Kb(b)\n            },\n            avg: function(b, d) {\n                b = b[0].mapOneToOne(d.fixed.ka.Xh);\n                d = b.next();\n                if (null === d)\n                    return Ob;\n                d = {\n                    ug: d,\n                    count: 1\n                };\n                const l = mb[\"a+a\"];\n                try {\n                    const r = H(b, d, function(n, B) {\n                        return {\n                            ug: l(B.ug, n),\n                            count: B.count + 1\n                        }\n                    });\n                    return Pb(mb[\"a/a\"](r.ug, A.integer.fromNumber(r.count)))\n                } catch (r) {\n                    throw new F(\"Input to avg() contains a mix of numeric and non-numeric values \",\"FORG0006\");\n                }\n            },\n            \"base-uri\": function(b) {\n                return b[0].mapOneToOne(function(d) {\n                    if (d = f.baseURI(d)) {\n                        const l = d.indexOf(\"#\");\n                        0 <= l && (d = d.substring(0, l))\n                    }\n                    return null === d ? null : A.anyURI.fromString(d)\n                })\n            },\n            \"boolean\": function(b, d) {\n                return Xb(d.fixed.ka.Fd(b[0]))\n            },\n            ceiling: function(b) {\n                b = b[0].next();\n                return Pb(null === b ? null : b.Rf())\n            },\n            \"codepoint-equal\": function(b) {\n                const d = b[0].next();\n                b = b[1].next();\n                return null === d || null === b ? Ob : Xb(d.toString() === b.toString())\n            },\n            \"codepoints-to-string\": function(b) {\n                return Tb(Ea(b[0].expand().map(function(d) {\n                    return d.toNumber()\n                })))\n            },\n            \"collation-key\": function(b, d, l) {\n                const r = b[0].next();\n                b = Hd.Xb(l, b[1], \"collationKey\", d);\n                return Pb(A.base64Binary.fromUtf8EncodedString(b(r.value)))\n            },\n            collection: function(b, d, l) {\n                const r = d.fixed.ka;\n                var n = d.fixed.options.Tg;\n                if (n && \"function\" === typeof n) {\n                    let B = null;\n                    b[0] && (b = b[0].next(),\n                    null !== b && (B = pa.Fb(b.toString(), r.Ia(l, d))));\n                    n = B ? n(B) : n();\n                    if (\"undefined\" === typeof n)\n                        throw new F(\"No available collection for supplied URI: \" + B,\"FODC0002\",l);\n                    n = r.Ra(n);\n                    d = d.fixed.Ee;\n                    if (null !== d)\n                        for (l = 0; l < n.length; l++)\n                            n[l] = d(n[l]);\n                    return Array.isArray(n) ? Kb(n) : Pb(n)\n                }\n                if (b[0])\n                    throw new F(\"Unknown collection (no collectionFinder supplied)\",\"FODC0002\",l);\n                return Ob\n            },\n            compare: function(b, d, l) {\n                const r = b[0].next()\n                  , n = b[1].next();\n                if (null === r || null === n)\n                    return Ob;\n                b = Hd.Xb(l, b[2], \"compare\", d);\n                return Ub(b(r.value, n.value))\n            },\n            concat: function(b) {\n                return Tb(b.map(function(d) {\n                    d = d.next();\n                    return null === d ? \"\" : A.string.R(d)\n                }).join(\"\"))\n            },\n            contains: function(b, d, l) {\n                const r = c(b[0])\n                  , n = c(b[1]);\n                b = Hd.Xb(l, b[2], \"contains\", d);\n                return Xb(b(r, n))\n            },\n            \"contains-token\": function(b, d, l) {\n                function r(W) {\n                    return B(W, n)\n                }\n                let n = c(b[1]);\n                n = Ha.trim(n);\n                if (\"\" === n)\n                    return Xb(!1);\n                const B = Hd.Xb(l, b[2], \"equals\", d);\n                for (; null !== (d = b[0].next()); )\n                    if (0 <= d.toString().split(/[ \\n\\r\\t]+/).findIndex(r))\n                        return Xb(!0);\n                return Xb(!1)\n            },\n            \"copy-of\": function(b, d, l) {\n                const r = Vd(d)\n                  , n = Zd.Fc(r);\n                b[0].forEachItem(B=>Zd.qf(B, d, n, l, !0, !0));\n                n.close();\n                return Kb(r.Ob)\n            },\n            count: function(b) {\n                return Ub(b[0].count())\n            },\n            \"current-date\": function(b, d) {\n                return Pb(A.cd.fromDate(d.fixed.Jb, -d.fixed.Jb.getTimezoneOffset()))\n            },\n            \"current-dateTime\": function(b, d) {\n                return Pb(A.Ed.fromDate(d.fixed.Jb, -d.fixed.Jb.getTimezoneOffset()))\n            },\n            \"current-group\": function() {\n                throw new F(\"The current-group() function cannot be invoked dynamicaly\",\"XTDE1061\");\n            },\n            \"current-grouping-key\": function() {\n                throw new F(\"The current-grouping-key() function cannot be invoked dynamicaly\",\"XTDE1071\");\n            },\n            \"current-merge-group\": function(b, d) {\n                if (null === d.Bb)\n                    throw new F(\"There is no current merge group\",\"XTDE3480\");\n                if (b[0]) {\n                    b = b[0].next().value;\n                    if (d = d.Bb.groups[b])\n                        return Kb(d);\n                    throw new F(\"Unknown merge source \" + b,\"XTDE3490\");\n                }\n                return Kb(d.Bb.items)\n            },\n            \"current-merge-key\": function(b, d) {\n                if (null === d.Bb)\n                    throw new F(\"There is no current merge group\",\"XTDE3510\");\n                return Kb(d.Bb.keys)\n            },\n            \"current-output-uri\": function(b, d) {\n                b = 0 === d.ub.length ? null : d.ub[d.ub.length - 1];\n                return null == b || \"function\" === d.qa ? Ob : Pb(b)\n            },\n            \"current-time\": function(b, d) {\n                return Pb(A.time.fromDate(d.fixed.Jb, -d.fixed.Jb.getTimezoneOffset()))\n            },\n            data: function(b, d) {\n                return b[0].mapOneToMany(d.fixed.ka.Sb)\n            },\n            dateTime: function(b) {\n                const d = b[0].next();\n                b = b[1].next();\n                if (null === d || null === b)\n                    return Ob;\n                let l = \"\";\n                if (null !== d.Fa)\n                    if (null === b.Fa)\n                        l = db(d);\n                    else if (d.Fa !== b.Fa)\n                        throw new F(\"timezones are incompatible \",\"FORG0008\");\n                return Pb(A.dateTime.fromString(d.toString().substring(0, 10) + \"T\" + b.toString() + l))\n            },\n            \"day-from-date\": function(b) {\n                return e(b, \"getUTCDate\")\n            },\n            \"day-from-dateTime\": function(b) {\n                return e(b, \"getUTCDate\")\n            },\n            \"days-from-duration\": function(b) {\n                return k(b, 2)\n            },\n            \"deep-equal\": function(b, d, l) {\n                d = Hd.Xb(l, b[2], \"equals\", d);\n                return Xb(Fd(b[0], b[1], d))\n            },\n            \"default-collation\": function() {\n                return Tb(Hd.$c)\n            },\n            \"default-language\": function() {\n                return Pb(A.language.fromString(\"en\"))\n            },\n            \"distinct-values\": function(b, d, l) {\n                d = Hd.df(l, b[1], d);\n                const r = Hd.xf(d);\n                return b[0].filter(function(n) {\n                    if (r.containsKey(n))\n                        return !1;\n                    r.inSituPut(n, !0);\n                    return !0\n                })\n            },\n            doc: function(b, d, l) {\n                b = Nd.Lg(b, d, l);\n                if (null === b)\n                    return Pb(null);\n                try {\n                    let r = Nd.Dc(b, d);\n                    const n = d.fixed.Ee;\n                    n && (r = n(r));\n                    return Pb(r)\n                } catch (r) {\n                    throw r;\n                }\n            },\n            \"doc-available\": function(b, d, l) {\n                const r = Nd.Lg(b, d, l);\n                return null === r ? Xb(!1) : Nd.Ih(function() {\n                    Nd.Dc(r, d)\n                })\n            },\n            document: function(b, d, l) {\n                const r = d.fixed.ka;\n                let n, B;\n                if (b[1] && (n = f.baseURI(b[1].next()),\n                !n))\n                    throw new F(\"No base URI available for second argument of document()\",\"XTDE1162\");\n                n || (B = r.Ia(l, d));\n                const W = d.fixed.Ee;\n                return f.kd(b[0].mapOneToMany(function(ma) {\n                    const qa = n ? n : f.X(ma) ? f.baseURI(ma) : B;\n                    return r.Sb(ma).mapOneToOne(function(L) {\n                        if (null === qa)\n                            throw new F(\"No base URI for document('\" + L + \"')\",\"XTDE1162\");\n                        L = Nd.Dc(pa.Fb(L.toString(), qa), d);\n                        null !== W && (L = W(L));\n                        return L\n                    })\n                }))\n            },\n            \"document-uri\": function(b) {\n                b = b[0].next();\n                return null !== b && 9 === b.nodeType && b._saxonDocUri ? Pb(A.anyURI.fromString(b._saxonDocUri)) : Ob\n            },\n            \"element-available\": function(b, d, l) {\n                b = a(b[0], d, l, \"XTDE1440\", \"##local\").split(\"}\");\n                if (d = \"http://www.w3.org/1999/XSL/Transform\" === b[0].substring(2))\n                    null == m && (m = pa.rf(\"elements\")),\n                    m[b[1]] || (d = !1);\n                return Xb(d)\n            },\n            \"element-with-id\": function(b, d) {\n                return E(b, d, \"element-with-id\")\n            },\n            empty: function(b) {\n                return Xb(null === b[0].next())\n            },\n            \"encode-for-uri\": function(b) {\n                b = encodeURIComponent(c(b[0])).replace(/[!'()*]/g, function(d) {\n                    return \"%\" + d.charCodeAt(0).toString(16).toUpperCase()\n                });\n                return Tb(b)\n            },\n            \"ends-with\": function(b, d, l) {\n                const r = c(b[0])\n                  , n = c(b[1]);\n                b = Hd.Xb(l, b[2], \"endsWith\", d);\n                return Xb(b(r, n))\n            },\n            \"environment-variable\": function() {\n                return Ob\n            },\n            error: function(b) {\n                if (void 0 === b[0])\n                    throw new F(\"fn:error() invoked\",\"FOER0000\");\n                var d = b[0].next();\n                d = d ? d.toEQName() : \"FOER0000\";\n                const l = b[1] ? c(b[1]) : \"\";\n                d = new F(l,d);\n                b[2] && (d.errorObject = b[2].next());\n                throw d;\n            },\n            \"escape-html-uri\": function(b) {\n                return Tb(cd.escape(c(b[0]), function(d) {\n                    return 32 > d || 126 < d\n                }))\n            },\n            \"exactly-one\": function(b) {\n                b = b[0].expand();\n                if (1 !== b.length)\n                    throw new F(\"Required length 1, actual length \" + b.length,\"FORG0005\");\n                return Pb(b[0])\n            },\n            exists: function(b) {\n                return Xb(null !== b[0].next())\n            },\n            \"false\": function() {\n                return Xb(!1)\n            },\n            filter: function(b, d, l) {\n                const r = b[1].expand()[0];\n                r.evaluate || sa.la(\"filter() argument is not a function\");\n                return b[0].mapOneToOne(function(n) {\n                    const B = r.evaluate([[n]], d, l).expand();\n                    if (Array.isArray(B) && 1 !== B.length || !A.boolean.matches(B[0]))\n                        throw new F(\"Wrong type for function result in filter(). Expecting xs:boolean, supplied value is \" + sa.showValue(B),\"XPTY0004\",l);\n                    if (B[0].toBoolean())\n                        return n\n                })\n            },\n            floor: function(b) {\n                return b[0].mapOneToOne(function(d) {\n                    return d.floor()\n                })\n            },\n            \"fold-left\": function(b, d, l) {\n                return t(b, d, l, !0)\n            },\n            \"fold-right\": function(b, d, l) {\n                return t(b, d, l, !1)\n            },\n            \"format-date\": function(b) {\n                g(\"format-date\", b);\n                let d = b[0].next();\n                return null === d ? Ob : b[2] ? Tb(fe.Hd(\"date\", d, b[1].next().toString(), b[2].next(), b[3].next(), b[4].next())) : Tb(fe.Hd(\"date\", d, b[1].next().toString()))\n            },\n            \"format-dateTime\": function(b) {\n                g(\"format-dateTime\", b);\n                let d = b[0].next();\n                return null === d ? Ob : b[2] ? Tb(fe.Hd(\"dateTime\", d, b[1].next().toString(), b[2].next(), b[3].next(), b[4].next())) : Tb(fe.Hd(\"dateTime\", d, b[1].next().toString()))\n            },\n            \"format-integer\": function(b) {\n                const d = b[0].next();\n                return null === d ? Tb(\"\") : Tb(fe.bg(d, b[1].next().toString()))\n            },\n            \"format-number\": function(b, d, l) {\n                const r = d.fixed.ka;\n                var n = b[2] ? a(b[2], d, l, \"FODF1280\") : \"Q{}\";\n                l = r.ke(l, d).hb[null !== n ? n : \"Q{}\"];\n                if (!l)\n                    throw new F(\"Unknown decimal format \" + n,\"FODF1280\");\n                n = b[0].next();\n                null === n ? n = Number.NaN : n = n.toDouble().value;\n                return Tb(fe.Hi(n, b[1].next().toString(), l, d))\n            },\n            \"format-time\": function(b) {\n                g(\"format-time\", b);\n                let d = b[0].next();\n                return null === d ? Ob : b[2] ? Tb(fe.Hd(\"time\", d, b[1].next().toString(), b[2].next(), b[3].next(), b[4].next())) : Tb(fe.Hd(\"time\", d, b[1].next().toString()))\n            },\n            \"for-each\": function(b, d, l) {\n                const r = d.fixed.ka\n                  , n = b[1].expand()[0];\n                if (n instanceof ad.XdmFunction)\n                    return b[0].mapOneToMany(function(B) {\n                        return n.evaluate([[B]], d, l)\n                    });\n                if (n instanceof cc)\n                    return b[0].mapOneToMany(B=>Kb(n.get(r.Sb(B).next())));\n                if (n instanceof $c)\n                    return b[0].mapOneToMany(function(B) {\n                        B = r.Sb(B).next();\n                        B = A.numeric.matches(B) ? B.toNumber() : A.double.R(B).toNumber();\n                        return Kb(n.get(B))\n                    });\n                sa.la(\"for-each() function object not instance of XdmFunction | XdmArray | XdmMap\")\n            },\n            \"for-each-pair\": function(b, d, l) {\n                let r = b[2].expand();\n                if (1 !== r.length)\n                    throw new F(\"for-each-pair() must have exactly one function item as the third argument. Supplied length \" + r.length,\"XPTY0004\",l);\n                r = r[0];\n                r instanceof ad.XdmFunction || sa.la(\"Function object not instance of XdmFunction\");\n                let n = [];\n                const B = b[0];\n                b = b[1];\n                let W = B.next()\n                  , ma = b.next();\n                for (; W && ma; )\n                    n = n.concat(r.evaluate([[W], [ma]], d, l).expand()),\n                    W = B.next(),\n                    ma = b.next();\n                return Kb(n)\n            },\n            \"function-arity\": function(b) {\n                b = b[0].next();\n                return Pb(A.integer.fromNumber(b instanceof cc || b instanceof $c ? 1 : b.arity))\n            },\n            \"function-available\": function(b, d, l) {\n                let r = !1;\n                const n = a(b[0], d, l, \"XTDE1400\", Zb.Oa)\n                  , B = b[1] ? b[1].next().toNumber() : -1\n                  , W = d.fixed.La;\n                Object.keys(W).forEach(function(ma) {\n                    ma = W[ma];\n                    ma.name === n && ma.actor && \"function\" === ma.actor.N && (0 > B ? r = !0 : (ma = cd.qb(ma.actor, \"arg\").length,\n                    B === ma && (r = !0)))\n                });\n                r || (b = A.QName.fromEQName(n),\n                null == C && (C = pa.rf(\"functions\")),\n                r = (d = C[b.uri]) && d[b.local] ? \"concat\" === b.local && b.uri === Zb.Oa && (-1 === B || 2 <= B) ? !0 : 0 <= B ? 0 <= d[b.local].indexOf(B) : !0 : !1);\n                return Xb(r)\n            },\n            \"function-lookup\": function(b, d, l) {\n                const r = b[0].next();\n                b = b[1].next().toNumber();\n                var n = Jd.find(\"SaxonJS\").XPath;\n                const B = d.ba(!0);\n                B.bb = !0;\n                n = n.getFnSignature(r, b, B);\n                if (!n)\n                    return Ob;\n                d = n.isUserFunction ? new ad.Ff(n,d) : r.uri === Zb.lc ? new ad.Bf(n,r,l) : new ad.He(n,r,b,l,d);\n                return Pb(d)\n            },\n            \"function-name\": function(b) {\n                b = b[0].next();\n                if (!(b instanceof ad.XdmFunction))\n                    throw new F(\"Input to function-name() is not an XdmFunction \",\"XXXX9999\");\n                return b.ic() && b.ic().uri !== Zb.yg ? Pb(b.ic()) : Ob\n            },\n            \"generate-id\": function(b) {\n                b = b[0].next();\n                return Tb(b ? q(b) : \"\")\n            },\n            \"has-children\": function(b) {\n                return Xb(null !== O.Ka(b[0].next()).next())\n            },\n            head: function(b) {\n                return Pb(b[0].next())\n            },\n            \"hours-from-dateTime\": function(b) {\n                return e(b, \"getUTCHours\")\n            },\n            \"hours-from-duration\": function(b) {\n                return k(b, 3)\n            },\n            \"hours-from-time\": function(b) {\n                return e(b, \"getUTCHours\")\n            },\n            id: function(b, d) {\n                return E(b, d, \"id\")\n            },\n            idref: function() {\n                return Ob\n            },\n            \"implicit-timezone\": function(b, d) {\n                return Pb(A.dayTimeDuration.hh(-d.fixed.Jb.getTimezoneOffset()))\n            },\n            \"index-of\": function(b, d, l) {\n                const r = Sb(b[0])\n                  , n = b[1].next();\n                b = Hd.Xb(l, b[2], \"equals\", d);\n                const B = Hd.yi(b);\n                return r.mapOneToOne(function(W) {\n                    try {\n                        return B(W, n) ? A.integer.fromNumber(r.position) : null\n                    } catch (ma) {\n                        return null\n                    }\n                })\n            },\n            innermost: function(b, d, l) {\n                const r = d.fixed.ka.Db(l, \"p\") ? b[0] : f.kd(b[0]);\n                return new Mb(function*() {\n                    let n = null, B;\n                    for (; null != (B = r.next()); )\n                        if (n)\n                            if (O.Zc(B).some(W=>W === n))\n                                n = B;\n                            else {\n                                const W = n;\n                                n = B;\n                                yield W\n                            }\n                        else\n                            n = B;\n                    n && (yield n)\n                }())\n            },\n            \"in-scope-prefixes\": function(b) {\n                b = b[0].next();\n                return Kb(f.Ic(b).map(function(d) {\n                    return A.string.fromString(d.prefix)\n                }))\n            },\n            \"insert-before\": function(b) {\n                const d = b[1].next().value\n                  , l = b[2]\n                  , r = Sb(b[0]);\n                return 1 > d ? Qb([l, r]) : d > r.last() ? Qb([r, l]) : r.mapOneToMany(function(n) {\n                    return r.position === d ? Qb([b[2], Pb(n)]) : Pb(n)\n                })\n            },\n            \"iri-to-uri\": function(b) {\n                return Tb(cd.escape(c(b[0]), function(d, l) {\n                    return 32 >= d || 126 < d || /[<>\"{}|\\\\^`]/.test(l)\n                }))\n            },\n            \"json-doc\": function(b, d, l) {\n                l = Nd.Te(b, d, l);\n                if (!l)\n                    return Ob;\n                l = Nd.Fi(l, d);\n                b = b[1] ? b[1].next() : null;\n                return Pb(Md.ze(l, b, d))\n            },\n            \"json-to-xml\": function(b, d, l) {\n                const r = d.fixed.ka;\n                var n = b[0].next();\n                if (null === n)\n                    return Ob;\n                b = b[1] ? b[1].next() : null;\n                n = Md.wj(n.toString(), b, d);\n                b = d.ja.createDocumentFragment();\n                b.appendChild(n);\n                b._saxonBaseUri = r.Ia(l, d);\n                return Pb(b)\n            },\n            key: function(b, d, l) {\n                function r(Y) {\n                    Y = R ? A.string.R(Y) : Y;\n                    return I.containsKey(Y) ? (Y = Kb(I.get(Y)),\n                    D === z ? Y : Y.filter(function(V) {\n                        return null !== O.Ya(V).filter(function(la) {\n                            return la === z\n                        }).next()\n                    })) : Ob\n                }\n                function n(Y) {\n                    return {\n                        visibility: \"PRIVATE\",\n                        Za: Y,\n                        Dh: ma,\n                        actor: Y,\n                        We: Y.binds.split(\" \").map(function(V) {\n                            return parseInt(V, 10)\n                        })\n                    }\n                }\n                const B = d.fixed.ka;\n                var W = a(b[0], d, l, \"XTDE1260\");\n                const ma = B.ke(l, d)\n                  , qa = ma.keys[W];\n                if (!qa)\n                    throw new F(\"Unknown key \" + W,\"XTDE1260\");\n                const L = qa.vg\n                  , aa = B.Db(qa.Ld[0], \"c\");\n                let z, D;\n                if (b[2])\n                    z = b[2].next(),\n                    f.X(z) && (D = f.rc(z));\n                else {\n                    var y = ed(d);\n                    f.X(y) && (D = z = f.rc(y))\n                }\n                if (!D || 9 !== D.nodeType && 11 !== D.nodeType)\n                    throw new F(\"No containing document for key()\",\"XTDE1270\",l);\n                \"_saxonIndexes\"in D || (D._saxonIndexes = {},\n                D._saxonIndexesBC = {});\n                l = D._saxonIndexes;\n                let I = l[L];\n                if (\"under construction\" === I)\n                    throw new F(\"Definition of key \" + W + \" is circular\",\"XTDE0640\");\n                let R = !1;\n                if (I)\n                    R = D._saxonIndexesBC[L];\n                else {\n                    W = Hd.df(qa.Ld[0], null, d);\n                    I = Hd.xf(W, aa);\n                    l[L] = \"under construction\";\n                    W = function(V) {\n                        return Qb([O.self(V), O.ob(V), O.Ha(V)])\n                    }\n                    ;\n                    y = function(V) {\n                        return Qb([O.self(V), O.Ha(V)])\n                    }\n                    ;\n                    const Y = function(V) {\n                        return Qb([O.self(V), O.ob(V)])\n                    };\n                    for (let V = 0; V < qa.Ld.length; V++) {\n                        var M = qa.Ld[V];\n                        const la = /b/.test(M.flags);\n                        R = R || la;\n                        var ca = void 0;\n                        ca = M.C[0];\n                        const x = d.ba(!0);\n                        x.sa = n(M);\n                        x.focus = Rb(D);\n                        if (\"p.nodeSet\" === ca.N)\n                            ca = B.evaluate(ca.C[0], x);\n                        else {\n                            const K = Kd.od(ca);\n                            ca = O.oe(D);\n                            var ea = B.Db(M, \"a\")\n                              , ja = B.Db(M, \"n\");\n                            if (ea || ja)\n                                ca = ca.mapOneToMany(ea && ja ? W : ea ? y : Y);\n                            ca = ca.filter(function(U) {\n                                x.focus = Rb(D);\n                                return K(U, x)\n                            })\n                        }\n                        ea = M.C[1];\n                        ja = d.ba(!0);\n                        ja.sa = n(M);\n                        for (ja.qa = \"key\"; null !== (M = ca.next()); ) {\n                            ja.focus = Rb(M);\n                            const K = B.evaluate(ea, ja)\n                              , U = function(ha, T) {\n                                I.containsKey(ha) ? 0 > I.get(ha).indexOf(T) && (I.get(ha).push(T),\n                                1 < qa.Ld.length && I.get(ha).sort(f.rb)) : I.inSituPut(ha, [T])\n                            };\n                            if (aa)\n                                U(K.expand(), M);\n                            else {\n                                let ha;\n                                for (; null !== (ha = K.next()); )\n                                    Hd.tc(ha) || (la && (ha = A.string.R(ha)),\n                                    U(ha, M))\n                            }\n                        }\n                    }\n                    l[L] = I;\n                    D._saxonIndexesBC[L] = R\n                }\n                b = b[1];\n                return aa ? r(b.expand()) : b.mapOneToMany(r)\n            },\n            lang: function(b, d) {\n                d = b[1] ? b[1].next() : ed(d);\n                if (!d)\n                    throw new F(\"No context item for lang()\",\"XPDY0002\");\n                if (!f.X(d))\n                    throw new F(\"Context item is not a node in lang()\",\"XPTY0004\");\n                b = c(b[0]).toLowerCase();\n                d = O.Ya(d).filter(function(l) {\n                    return 1 === l.nodeType && l.hasAttribute(\"xml:lang\")\n                }).next();\n                if (!d)\n                    return Xb(!1);\n                d = d.getAttribute(\"xml:lang\").toLowerCase();\n                return Xb(b === d || d.length > b.length + 1 && d.substring(0, b.length) === b && \"-\" === d.charAt(b.length))\n            },\n            last: function(b, d) {\n                fd(d, \"XPDY0002\", \"last()\");\n                return Ub(d.focus.last())\n            },\n            \"load-xquery-module\": function() {\n                throw new F(\"No XQuery processor available\",\"FOQM0006\");\n            },\n            \"local-name\": function(b) {\n                b = f.ca(b[0].next());\n                return Tb(b ? b.local : \"\")\n            },\n            \"local-name-from-QName\": function(b) {\n                b = b[0].next();\n                return null === b ? Ob : Pb(La.type.NCName.fromString(b.local))\n            },\n            \"lower-case\": function(b) {\n                return Tb(c(b[0]).toLowerCase())\n            },\n            matches: function(b) {\n                const d = c(b[0]);\n                var l = b[1].next().toString();\n                b = Ha.xg(b[2] ? b[2].next().toString() : \"\");\n                l = Ha.Ce(l, b, d);\n                return Xb(0 <= d.search(l))\n            },\n            max: p(\"max\"),\n            min: p(\"min\"),\n            \"minutes-from-dateTime\": function(b) {\n                return e(b, \"getUTCMinutes\")\n            },\n            \"minutes-from-duration\": function(b) {\n                return k(b, 4)\n            },\n            \"minutes-from-time\": function(b) {\n                return e(b, \"getUTCMinutes\")\n            },\n            \"month-from-date\": function(b) {\n                return e(b, \"getUTCMonth\")\n            },\n            \"month-from-dateTime\": function(b) {\n                return e(b, \"getUTCMonth\")\n            },\n            \"months-from-duration\": function(b) {\n                return k(b, 1)\n            },\n            name: function(b) {\n                b = f.ca(b[0].next());\n                return Tb(b ? b.toString() : \"\")\n            },\n            \"namespace-uri\": function(b) {\n                b = f.ca(b[0].next());\n                return Pb(A.anyURI.fromString(b ? b.uri : \"\"))\n            },\n            \"namespace-uri-for-prefix\": function(b) {\n                var d = c(b[0]);\n                b = b[1].next();\n                d = \"xml\" === d ? Zb.xml : b.lookupNamespaceURI(\"\" === d ? null : d);\n                return null !== d ? Pb(A.anyURI.fromString(d)) : Ob\n            },\n            \"namespace-uri-from-QName\": function(b) {\n                b = b[0].next();\n                return null === b ? Ob : Pb(A.anyURI.fromString(b.uri))\n            },\n            nilled: function(b) {\n                return (b = b[0].next()) && 1 === b.nodeType ? Xb(!1) : Ob\n            },\n            \"node-name\": function(b) {\n                return Pb(f.ca(b[0].next()))\n            },\n            \"normalize-space\": function(b) {\n                b = c(b[0]);\n                return Tb(xa(b))\n            },\n            \"normalize-unicode\": function(b) {\n                if (String.prototype.normalize) {\n                    const d = c(b[0]);\n                    b = b[1] ? b[1].next().toString().toUpperCase().trim() : \"NFC\";\n                    if ([\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"].includes(b))\n                        return Tb(d.normalize(b));\n                    if (\"\" === b)\n                        return Tb(d)\n                }\n                throw new F(\"normalize-unicode(): not supported on this Javascript platform\",\"FOCH0003\");\n            },\n            not: function(b, d) {\n                return Xb(!d.fixed.ka.Fd(b[0]))\n            },\n            number: function(b) {\n                return Pb(La.XS.numeric.xe(b[0].next()))\n            },\n            \"one-or-more\": function(b) {\n                b = Fb(b[0]);\n                if (null === b.ua())\n                    throw new F(\"Required length >= 1, actual length zero\",\"FORG0004\");\n                return b\n            },\n            outermost: function(b, d, l) {\n                d = d.fixed.ka.Db(l, \"p\");\n                b = b[0];\n                d || (b = f.kd(b));\n                let r = null;\n                return b.filter(function(n) {\n                    if (null === r)\n                        return r = n,\n                        !0;\n                    if (O.Zc(n).some(B=>B === r))\n                        return !1;\n                    r = n;\n                    return !0\n                })\n            },\n            \"parse-ietf-date\": function(b) {\n                return b[0].mapOneToOne(function(d) {\n                    function l(z) {\n                        return 1 === z.length ? \"0\" + z : z\n                    }\n                    function r() {\n                        throw new F(\"Invalid IETF date/time \" + d.toString(),\"FORG0010\");\n                    }\n                    var n = d.toString().trim().toLowerCase();\n                    n = n.replace(/^(monday|tuesday|wednesday|thursday|friday|saturday|sunday|mon|tue|wed|thu|fri|sat|sun),?\\s+/, \"\");\n                    let B;\n                    let W, ma;\n                    if (/^[a-z]/.test(n))\n                        if (B = /^([a-z]{3})(?:\\s*-\\s*|\\s+)(\\d\\d\\d?\\d?)\\s+([\\d:.]+)\\s*([a-z]+|[+\\-]\\d\\d?:?(?:\\d\\d)?(?:\\s*\\(\\s*[a-z]+\\s*\\))?)?\\s+(\\d+)$/,\n                        n = B.exec(n),\n                        null !== n) {\n                            var qa = n[1];\n                            var L = n[2];\n                            ma = n[3];\n                            var aa = n[4];\n                            W = n[5]\n                        } else\n                            r();\n                    else\n                        B = /^(\\d+)(?:\\s*-\\s*|\\s+)([a-z]{3})(?:\\s*-\\s*|\\s+)(\\d\\d\\d?\\d?)\\s+([\\d:.]+)\\s*([a-z]+|[+\\-]\\d\\d?:?(?:\\d\\d)?(?:\\s*\\(\\s*[a-z]+\\s*\\))?)?$/,\n                        n = B.exec(n),\n                        null !== n ? (L = n[1],\n                        qa = n[2],\n                        W = n[3],\n                        ma = n[4],\n                        aa = n[5]) : r();\n                    2 === W.length && (W = \"19\" + W);\n                    qa = \"jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec\".indexOf(qa || \"*\");\n                    0 > qa && r();\n                    n = {\n                        ut: \"Z\",\n                        utc: \"Z\",\n                        gmt: \"Z\",\n                        est: \"-05:00\",\n                        edt: \"-04:00\",\n                        cst: \"-06:00\",\n                        cdt: \"-05:00\",\n                        mst: \"-07:00\",\n                        mdt: \"-06:00\",\n                        pst: \"-08:00\",\n                        pdt: \"-07:00\"\n                    };\n                    /^[0-9]:/.test(ma) && (ma = \"0\" + ma);\n                    5 === ma.length && (ma += \":00\");\n                    aa && (aa = /([a-z]+)|([+\\-]\\d\\d?:?(?:\\d\\d)?)(?:\\s*\\(\\s*([a-z]+)\\s*\\))?$/.exec(aa),\n                    (!aa[3] || aa[3]in n) && (!aa[1] || aa[1]in n) || r(),\n                    aa = aa[1] ? aa[1] : aa[2],\n                    /^[+\\-][0-9]((:|$)|[0-9]{2}$)/.test(aa) && (aa = aa.charAt(0) + \"0\" + aa.substring(1)),\n                    aa in n ? aa = n[aa] : 3 === aa.length ? aa += \":00\" : 4 === aa.length ? aa += \"00\" : 5 === aa.length && (aa = aa.substring(0, 3) + \":\" + aa.substring(3)));\n                    L = W + \"-\" + l((qa / 4 + 1).toString()) + \"-\" + l(L) + \"T\" + ma + (aa || \"Z\");\n                    try {\n                        return A.dateTime.fromString(L)\n                    } catch (z) {\n                        throw new F(\"''\" + d.toString() + \"'' is not a valid IETF date\",\"FORG0010\");\n                    }\n                })\n            },\n            \"parse-json\": function(b, d) {\n                const l = b[0].next();\n                if (null === l)\n                    return Ob;\n                b = b[1] ? b[1].next() : null;\n                return Pb(Md.ze(l.toString(), b, d))\n            },\n            \"parse-xml\": function(b, d, l) {\n                b = b[0].next();\n                if (null === b)\n                    return Ob;\n                const r = d.fixed.ka;\n                try {\n                    const n = pa.parseXmlFromString(b.toString());\n                    n._saxonBaseUri = r.Ia(l, d);\n                    return Pb(n)\n                } catch (n) {\n                    throw new F(n.message,\"FODC0006\");\n                }\n            },\n            \"parse-xml-fragment\": function(b, d, l) {\n                const r = d.fixed.ka;\n                return b[0].mapOneToOne(function(n) {\n                    const B = /^<\\?xml(?:\\s+version\\s*=\\s*(['\"])1.[0-9]+['\"])?\\s+encoding\\s*=\\s*(['\"][A-Za-z](?:[A-Za-z0-9._\\-])*)['\"]\\s*\\?>/;\n                    n = n.toString();\n                    if (/^<\\?xml/.test(n) && !B.test(n))\n                        throw new F(\"Invalid XML header for a text declaration\",\"FODC0006\");\n                    n = n.replace(B, \"\");\n                    let W;\n                    try {\n                        W = pa.parseXmlFromString(\"<z>\" + n + \"</z>\")\n                    } catch (qa) {\n                        throw new F(qa.message,\"FODC0006\");\n                    }\n                    const ma = d.ja.createDocumentFragment();\n                    O.Ka(W.documentElement).forEachItem(function(qa) {\n                        ma.appendChild(qa)\n                    });\n                    ma._saxonBaseUri = r.Ia(l, d);\n                    return ma\n                })\n            },\n            path: function(b) {\n                return b[0].mapOneToOne(function(d) {\n                    function l(r) {\n                        return O.Oc(r).filter(function(n) {\n                            return r.nodeType === n.nodeType\n                        })\n                    }\n                    return A.string.fromString(function(r) {\n                        if ([9, 11].includes(r.nodeType))\n                            return \"/\";\n                        let n = \"\"\n                          , B = r;\n                        for (; B; ) {\n                            r = f.Xa(B);\n                            if (!r)\n                                return [9, 11].includes(B.nodeType) ? n : \"Q{http://www.w3.org/2005/xpath-functions}root()\" + n;\n                            switch (B.nodeType) {\n                            case 9:\n                            case 11:\n                                return n;\n                            case 1:\n                                const W = f.ca(B);\n                                n = `/${W.toEQName()}[${1 + l(B).filter(ma=>f.ca(ma).equals(W)).count()}]${n}`;\n                                break;\n                            case 3:\n                            case 4:\n                                n = `/text()[${1 + l(B).count()}]`;\n                                break;\n                            case 8:\n                                n = `/comment()[${1 + l(B).count()}]`;\n                                break;\n                            case 7:\n                                n = `/processing-instruction(${B.target})[${1 + l(B).filter(ma=>B.target === ma.target).count()}]`;\n                                break;\n                            case 2:\n                                n = `/@${0 > B.name.indexOf(\":\") ? B.name : f.ca(B).toEQName()}`;\n                                break;\n                            default:\n                                n = `/namespace::${\"\" !== B.prefix ? B.prefix : \"*[Q{\" + Zb.Oa + '}local-name()=\"\"]'}`\n                            }\n                            B = r\n                        }\n                    }(d))\n                })\n            },\n            \"prefix-from-QName\": function(b) {\n                return b[0].mapOneToOne(function(d) {\n                    return \"\" === d.prefix ? null : A.Ag.fromString(d.prefix)\n                })\n            },\n            position: function(b, d) {\n                fd(d, \"XPDY0002\", \"position()\");\n                return Ub(d.focus.position)\n            },\n            QName: function(b) {\n                var d = b[1].next().value;\n                const l = d.split(\":\")\n                  , r = 2 === l.length ? l[0] : \"\";\n                b = c(b[0]);\n                if (\"\" !== r && \"\" === b)\n                    throw new F(\"Prefix but no URI for QName()\",\"FOCA0002\");\n                if (2 === l.length && \"\" === r || \"\" !== r && !Ha.Lb(r))\n                    throw new F(d + \" not valid for QName()\",\"FOCA0002\");\n                d = 2 === l.length ? l[1] : l[0];\n                if (!Ha.Lb(d))\n                    throw new F(d + \" not valid local name for QName()\",\"FOCA0002\");\n                return Pb(A.QName.fromParts(r, b, d))\n            },\n            \"random-number-generator\": function(b, d) {\n                b = new cc;\n                b.inSituPut(A.string.fromString(\"number\"), [A.double.fromNumber(Math.random())]);\n                var l = A.QName.fromParts(\"fn\", Zb.Oa, \"random-number-generator\")\n                  , r = Jd.find(\"SaxonJS\").XPath\n                  , n = r.getFnSignature(l, 0, d);\n                l = new ad.He(n,l,0,{},d);\n                b.inSituPut(A.string.fromString(\"next\"), [l]);\n                l = A.QName.fromParts(\"saxon\", Zb.wb, \"permute\");\n                n = d.ba();\n                n.bb = !0;\n                r = r.getFnSignature(l, 1, n);\n                d = new ad.He(r,l,1,{},d);\n                b.inSituPut(A.string.fromString(\"permute\"), [d]);\n                return Pb(b)\n            },\n            \"regex-group\": function(b, d) {\n                b = b[0].next().toNumber();\n                try {\n                    return Tb(d.Mb[b] || \"\")\n                } catch (l) {\n                    return Tb(\"\")\n                }\n            },\n            remove: function(b) {\n                const d = b[1].next().toNumber()\n                  , l = Sb(b[0]);\n                return l.filter(function() {\n                    return l.position !== d\n                })\n            },\n            replace: function(b) {\n                const d = c(b[0])\n                  , l = Ha.xg(b[3] ? b[3].next().toString() : \"\");\n                let r = 0;\n                const n = Ha.Ce(b[1].next().toString(), l + \"g\", null, B=>{\n                    r = B\n                }\n                );\n                if (n.test(\"\"))\n                    throw new F(\"Regular expression matches zero-length string\",\"FORX0003\");\n                b = Ha.si(b[2].next().toString(), l, r);\n                return Tb(d.replace(n, b))\n            },\n            \"resolve-QName\": function(b) {\n                const d = b[1].next();\n                return b[0].mapOneToOne(function(l) {\n                    try {\n                        return f.Cj(d, l.toString(), !0)\n                    } catch (r) {\n                        throw r instanceof F && \"FORG0001\" === r.code && (r.code = Ha.uh(l) ? \"FONS0004\" : \"FOCA0002\"),\n                        r;\n                    }\n                })\n            },\n            \"resolve-uri\": function(b, d, l) {\n                const r = d.fixed.ka;\n                if (b[1]) {\n                    let n = b[1].next();\n                    d = n ? n.toString() : r.Ia(l, d)\n                } else\n                    d = r.Ia(l, d);\n                b = b[0].next();\n                if (null === b)\n                    return Ob;\n                b = b.toString();\n                l = f.ld(b);\n                if (null !== d && (d = d.replace(/^file:\\/(?!\\/)/, \"file:///\"),\n                /#/.test(d)))\n                    throw new F(\"Base URI \" + d + \" contains a fragment identifier\",\"FORG0002\");\n                if (!l && null !== d && !f.ld(d))\n                    throw new F(\"resolve-uri: invalid URI (base=\" + d + \", relative=\" + b + \")\",\"FORG0002\");\n                b = l ? b : pa.Fb(b, d).toString();\n                return Pb(A.anyURI.fromString(b))\n            },\n            reverse: function(b) {\n                return Kb(b[0].expand().slice().reverse())\n            },\n            root: function(b) {\n                return b[0].mapOneToMany(d=>O.Ya(d)).filter(d=>!f.Xa(d))\n            },\n            round: function(b) {\n                return b[0].mapOneToOne(d=>d.round(b[1] ? Math.min(b[1].next().value, 1E4) : 0))\n            },\n            \"round-half-to-even\": function(b) {\n                return b[0].mapOneToOne(d=>d.sf(b[1] ? Math.min(b[1].next().value, 1E4) : 0))\n            },\n            \"seconds-from-dateTime\": function(b) {\n                return e(b, \"seconds\")\n            },\n            \"seconds-from-duration\": function(b) {\n                return k(b, 5)\n            },\n            \"seconds-from-time\": function(b) {\n                return e(b, \"seconds\")\n            },\n            serialize: function(b, d) {\n                function l(B) {\n                    B.method = \"xml\";\n                    B.indent = !1;\n                    B[\"omit-xml-declaration\"] = !0\n                }\n                const r = new ge.StringWriter\n                  , n = {};\n                if (b[1]) {\n                    const B = b[1].next();\n                    if (null === B)\n                        l(n);\n                    else if (ac.X(B)) {\n                        if (!ac.sh(B))\n                            throw new F(\"Second argument supplied to serialize() is wrong kind of node\",\"XPTY0004\");\n                        ge.parseParamDoc(B, n, \"XPTY0004\")\n                    } else {\n                        if (!(B instanceof cc))\n                            throw new F(\"Second argument supplied to serialize() does not match required type\",\"XPTY0004\");\n                        const W = function(ma, qa, L, aa, z=!1) {\n                            const D = La.XS.string.fromString(ma);\n                            if (B.containsKey(D)) {\n                                let y = B.get(D);\n                                if (0 < y.length && cd.isArray(y[0]))\n                                    if (L) {\n                                        let I = [];\n                                        y[0].flatten(R=>I.push(R));\n                                        y = I\n                                    } else\n                                        throw new F(\"fn:serialize(): supplied value of \" + D + \" is invalid\",\"XPTY0004\");\n                                if (1 !== y.length && !L && !z || !y.every(I=>\"AZ\" === I.code || qa.matches(I)))\n                                    throw new F(\"fn:serialize(): supplied value of \" + D + \" is invalid\",\"XPTY0004\");\n                                n[ma] = z && 0 === y.length ? null : aa(L ? y : \"AZ\" === y[0].code ? qa.R(y[0]) : y[0])\n                            }\n                        };\n                        \"doctype-public doctype-system encoding item-separator json-node-output-method media-type method normalization-form version\".split(\" \").forEach(ma=>W(ma, La.XS.string, !1, qa=>qa.toString()));\n                        \"allow-duplicate-names byte-order-mark escape-uri-attributes include-content-type indent omit-xml-declaration undeclare-prefixes\".split(\" \").forEach(ma=>W(ma, La.XS.boolean, !1, qa=>qa.toBoolean()));\n                        W(\"standalone\", La.XS.boolean, !1, ma=>ma.toBoolean(), !0);\n                        W(\"html-version\", La.XS.mb, !1, ma=>ma.toNumber());\n                        [\"cdata-section-elements\", \"suppress-indentation\"].forEach(ma=>W(ma, La.XS.QName, !0, qa=>{\n                            let L = \"\";\n                            for (let aa = 0; aa < qa.length; aa++)\n                                L += qa[aa].toEQName() + \" \";\n                            return L\n                        }\n                        ));\n                        void 0 === n[\"omit-xml-declaration\"] && (n[\"omit-xml-declaration\"] = !0);\n                        (function(ma) {\n                            var qa = La.XS.string.fromString(ma);\n                            if (B.containsKey(qa)) {\n                                var L = B.get(qa);\n                                if (1 !== L.length || !L.every(z=>z instanceof cc))\n                                    throw new F(\"fn:serialize(): supplied value of \" + qa + \" is invalid\",\"XPTY0004\");\n                                L = L[0];\n                                var aa = function(z) {\n                                    return A.string.matches(z)\n                                };\n                                if (!L.conforms(aa, aa, function(z) {\n                                    return 1 === z\n                                }))\n                                    throw new F(\"fn:serialize(): supplied value of \" + qa + \" is invalid\",\"XPTY0004\");\n                                qa = cd.sb(L, !0);\n                                L = {\n                                    min: 0,\n                                    max: 0,\n                                    ya: {}\n                                };\n                                for (let z in qa)\n                                    if (qa.hasOwnProperty(z)) {\n                                        if (1 < z.length)\n                                            throw new F(\"fn:serialize(): Keys in a character map must all be one-character strings. Found \" + z,\"SEPM0016\");\n                                        aa = z.codePointAt(0);\n                                        0 === L.min ? L.min = aa : aa < L.min && (L.min = aa);\n                                        aa > L.max && (L.max = aa);\n                                        L.ya[aa] = qa[z]\n                                    }\n                                n[ma] = L\n                            }\n                        }\n                        )(\"use-character-maps\")\n                    }\n                } else\n                    l(n);\n                ge.serialize(b[0].expand(), n, r, d);\n                return Tb(r.toString())\n            },\n            snapshot: function(b, d, l) {\n                return b[0].mapOneToOne(function(r) {\n                    function n(y) {\n                        if (0 < y.length) {\n                            const I = y.pop();\n                            Zd.rg(I, d, \"cm\", function() {\n                                O.Ha(I).forEachItem(R=>W.append(R));\n                                0 < y.length ? n(y) : (aa ? Zd.rg(L, d, \"\", function() {\n                                    O.Ha(L).forEachItem(R=>W.append(R));\n                                    O.ob(L).forEachItem(R=>W.append(R))\n                                }, W) : Zd.qf(r, d, W, l, !0, !0),\n                                z = B.oc.lastChild)\n                            }, W)\n                        }\n                    }\n                    const B = Vd(d)\n                      , W = Zd.Fc(B);\n                    if (!f.Xa(r))\n                        return Zd.qf(r, d, W, l, !0, !0),\n                        W.close(),\n                        Kb(B.Ob).next();\n                    const ma = r.nodeType\n                      , qa = f.ca(r);\n                    var L = r\n                      , aa = [2, 13].includes(ma);\n                    aa && (L = f.Xa(L));\n                    W.Ea();\n                    let z;\n                    const D = O.Zc(L).expand();\n                    0 < D.length ? n(D) : (Zd.qf(r, d, W, l, !0, !0),\n                    z = B.oc.lastChild);\n                    W.za();\n                    z || sa.la(\"snapshot: failed to find marked node\");\n                    switch (ma) {\n                    case 2:\n                        return f.Ja.Ha(z).filter(y=>f.ca(y).equals(qa)).next();\n                    case 13:\n                        return f.Ja.ob(z).filter(y=>f.ca(y).equals(qa)).next();\n                    default:\n                        return z\n                    }\n                })\n            },\n            sort: function(b, d, l) {\n                const r = Hd.df(l, b[1], d);\n                let n = cd.Sb;\n                if (b[2]) {\n                    const B = b[2].next();\n                    n = function(W) {\n                        return B.evaluate([[W]], d, l)\n                    }\n                }\n                return Kb(b[0].expand().slice().sort(function(B, W) {\n                    return b[1] ? Id(n(B), n(W), r) : Id(n(B), n(W))\n                }))\n            },\n            \"starts-with\": function(b, d, l) {\n                const r = c(b[0])\n                  , n = c(b[1]);\n                b = Hd.Xb(l, b[2], \"startsWith\", d);\n                return Xb(b(r, n))\n            },\n            \"static-base-uri\": function(b, d, l) {\n                return (b = d.fixed.ka.Ia(l, d)) ? Pb(A.anyURI.fromString(b)) : Ob\n            },\n            \"stream-available\": function() {\n                return Xb(!1)\n            },\n            string: function(b, d) {\n                d = d.fixed.ka;\n                b = b[0].next();\n                if (!b)\n                    return Tb(\"\");\n                if (d.isArray(b) || d.isMap(b) || d.Jd(b))\n                    throw new F(\"Input to string() is a function item \",\"FOTY0014\");\n                return d.Sb(b).mapOneToOne(function(l) {\n                    return A.string.R(l)\n                })\n            },\n            \"string-join\": function(b) {\n                let d = \"\";\n                const l = b[1] ? b[1].next().value : \"\";\n                let r, n = !0;\n                for (; null !== (r = b[0].next()); )\n                    n || (d += l),\n                    d += r.toString(),\n                    n = !1;\n                return Tb(d)\n            },\n            \"string-length\": function(b) {\n                return Ub(Da(c(b[0])).length)\n            },\n            \"string-to-codepoints\": function(b) {\n                return Kb(Da(c(b[0])).map(A.integer.fromNumber))\n            },\n            subsequence: function(b) {\n                const d = Math.round(b[1].next().toNumber())\n                  , l = b[2] ? d + Math.round(b[2].next().toNumber()) : Number.POSITIVE_INFINITY;\n                return new Nb(b[0],d,l)\n            },\n            substring: function(b) {\n                var d = Math.round(b[1].next().toNumber());\n                const l = b[2] ? d + Math.round(b[2].next().toNumber()) : Number.POSITIVE_INFINITY;\n                b = new Mb(c(b[0])[Symbol.iterator]());\n                d = new Nb(b,d,l);\n                return Tb(d.expand().join(\"\"))\n            },\n            \"substring-after\": function(b, d, l) {\n                let r = \"\";\n                const n = c(b[0])\n                  , B = c(b[1]);\n                let W;\n                -1 !== (W = Hd.Xb(l, b[2], \"indexOf\", d)(n, B)) && (r = n.substring(W + B.length));\n                return Tb(r)\n            },\n            \"substring-before\": function(b, d, l) {\n                let r = \"\";\n                const n = c(b[0])\n                  , B = c(b[1]);\n                let W;\n                -1 !== (W = Hd.Xb(l, b[2], \"indexOf\", d)(n, B)) && (r = n.substring(0, W));\n                return Tb(r)\n            },\n            sum: function(b, d) {\n                d = b[0].mapOneToOne(d.fixed.ka.Xh);\n                const l = d.next();\n                if (null === l)\n                    return 1 === b.length ? Ub(0) : b[1];\n                try {\n                    return mb[\"a+a\"](l, l),\n                    Pb(H(d, l, mb[\"a+a\"]))\n                } catch (r) {\n                    throw r instanceof F && \"XPTY0004\" === r.code && (r.code = \"FORG0006\"),\n                    r;\n                }\n            },\n            \"system-property\": function(b, d, l) {\n                b = A.QName.fromEQName(a(b[0], d, l, \"XTDE1390\"));\n                d = \"\";\n                b.uri === Zb.Wc && (d = {\n                    version: \"3.0\",\n                    vendor: \"Saxonica\",\n                    \"vendor-url\": \"http://www.saxonica.com/\",\n                    \"product-name\": \"SaxonJS\",\n                    \"product-version\": \"2.6\",\n                    \"is-schema-aware\": \"no\",\n                    \"supports-serialization\": \"yes\",\n                    \"supports-backwards-compatibility\": \"yes\",\n                    \"supports-namespace-axis\": \"yes\",\n                    \"supports-streaming\": \"no\",\n                    \"supports-dynamic-evaluation\": \"yes\",\n                    \"supports-higher-order-functions\": \"yes\",\n                    \"xpath-version\": \"3.1\",\n                    \"xsd-version\": \"1.1\"\n                }[b.local]);\n                b.uri === Zb.wb && (d = pa.Di()[b.local]);\n                d ||= \"\";\n                return Tb(d)\n            },\n            tail: function(b) {\n                const d = Sb(b[0]);\n                return d.filter(function() {\n                    return 1 !== d.position\n                })\n            },\n            \"timezone-from-date\": function(b) {\n                return e(b, \"timezone\")\n            },\n            \"timezone-from-dateTime\": function(b) {\n                return e(b, \"timezone\")\n            },\n            \"timezone-from-time\": function(b) {\n                return e(b, \"timezone\")\n            },\n            tokenize: function(b) {\n                var d = c(b[0]);\n                b[1] || (d = xa(d));\n                if (\"\" === d)\n                    return Ob;\n                var l = b[1] ? b[1].next().toString() : \"[ \\\\n\\\\r\\\\t]+\";\n                l = Zd.Of(d, l, b[2] ? b[2].next().toString() : \"\", !1, !0);\n                d = b[1] && l[0].Lc;\n                const r = l[l.length - 1];\n                b = b[1] && r.Lc;\n                l = l.filter(function(n) {\n                    return !n.Lc\n                }).map(function(n) {\n                    return n.string\n                });\n                d && l.unshift(A.string.fromString(\"\"));\n                b && l.push(A.string.fromString(\"\"));\n                return Kb(l)\n            },\n            trace: function(b, d) {\n                const l = b[0].expand();\n                sa.Ma(\"fn:trace: \" + (2 === b.length ? b[1].next().toString() + \": \" : \"\") + sa.showValue(l), 1, d.fixed.Ta);\n                return Kb(l)\n            },\n            transform: function(b, d, l) {\n                function r(na) {\n                    na = A.string.fromString(na);\n                    return ca.get(na)\n                }\n                function n(na, va=\"FOXT0002\") {\n                    throw new F(na,va);\n                }\n                function B(na, va, h=null) {\n                    if (\"matches\"in va && \"name\"in va) {\n                        if (va.matches(na))\n                            return na;\n                        throw new F(null !== h ? `The required item type of ${h} is ${va.name}` : `The required item type is ${va.name}`,\"XPTY0004\");\n                    }\n                    return na\n                }\n                function W(na, va) {\n                    if (Ia(na))\n                        return na;\n                    throw new F(`The required item type of ${va} is string|unTypedAtomic|anyURI`,\"XPTY0004\");\n                }\n                function ma(na, va, h=G=>G) {\n                    (na = r(na)) && (na = Kb(na).ua()) && (ea[va] = h(na))\n                }\n                function qa(na) {\n                    return function(va) {\n                        va instanceof cc || n(\"The value of the option \" + na + \" in fn:transform() must be of type map(xs:QName,item()*)\", \"XPTY0004\");\n                        if (va.conforms(h=>{\n                            A.QName.matches(h) || n(\"The keys of the \" + na + \" option in fn:transform() must be of type xs:QName. Supplied value:\" + h.toString());\n                            return !0\n                        }\n                        , ()=>!0, ()=>!0))\n                            return va\n                    }\n                }\n                function L(na, va) {\n                    ma(na, va, qa(na))\n                }\n                function aa(na) {\n                    na.C && na.C.forEach(function(va) {\n                        va.parentNode = na;\n                        aa(va)\n                    })\n                }\n                function z(na, va, h) {\n                    if (!R.N)\n                        throw new F(\"No XSLT processor is available to support fn:transform(). If using SaxonJS2.rt.js, it does not contain an XSLT compiler \",\"FOXT0001\",l);\n                    let G = {\n                        stylesheetParams: new cc,\n                        tunnelParams: {},\n                        functionParams: {},\n                        isDynamicStylesheet: !0,\n                        destination: \"application\",\n                        initialMode: \"compile-complete\",\n                        templateParams: {\n                            \"Q{}options\": {\n                                noXPath: !1\n                            }\n                        }\n                    };\n                    for (let Q in va)\n                        \"compiler.options\" === Q ? G.tunnelParams[\"Q{}compiler.options\"] = va[Q] : G.templateParams[\"Q{}options\"][Q] = va[Q];\n                    G.stylesheetParams.inSituPut(La.XS.QName.fromParts(\"\", \"\", \"staticParameters\"), [h]);\n                    G.stylesheetInternal = R;\n                    G.outputProperties = {};\n                    aa(R);\n                    \"true\" === R.relocatable && (G.isRelocatableStylesheet = !0);\n                    va = y.checkOptions(G);\n                    y.internalTransform(R, na, va);\n                    return va.principalResult\n                }\n                function D(na) {\n                    na = I.Sb(na).expand();\n                    if (1 < na.length)\n                        throw new F(\"Supplied value when atomized is not a single string\",\"FOXT0002\");\n                    return na[0]\n                }\n                const y = Jd.find(\"SaxonJS\")\n                  , I = d.fixed.ka\n                  , R = pa.rf(\"compiler\");\n                let M = !1;\n                const ca = b[0].next()\n                  , ea = {\n                    stylesheetParams: new cc,\n                    templateParams: new cc,\n                    tunnelParams: new cc,\n                    functionParams: {},\n                    outputProperties: {},\n                    isDynamicStylesheet: !0,\n                    language: \"XSLT\",\n                    messages: [],\n                    resultDocuments: {},\n                    resultForm: \"xdm\"\n                };\n                if ((b = r(\"requested-properties\")) && b[0]) {\n                    !(1 < b.length) && b[0]instanceof cc || n(\"The value of the 'requested-properties' option for fn:transform() must be of type map(*)\");\n                    b = b[0];\n                    function na(va, h) {\n                        n(\"No processor with property \" + va.toEQName() + \"=\" + h + \"() available for fn:transform()\", \"FOXT0001\")\n                    }\n                    b.forAllPairs(function(va) {\n                        let h = va.v[0];\n                        switch (va.k.local) {\n                        case \"supports-streaming\":\n                            (h = h.toBoolean()) && na(va.k, h);\n                            break;\n                        case \"supports-namespace-axis\":\n                            h = h.toBoolean();\n                            na(va.k, h);\n                            break;\n                        case \"supports-backwards-compatibility\":\n                            (h = h.toBoolean()) || na(va.k, h);\n                            break;\n                        case \"product-name\":\n                            h = h.toString();\n                            \"SaxonJS\" !== h && na(va.k, h);\n                            break;\n                        case \"vendor\":\n                            h = h.toString(),\n                            \"Saxonica\" !== h && na(va.k, h)\n                        }\n                    })\n                }\n                var ja = r(\"vendor-options\");\n                ja && ja[0] ? (!(1 < ja.length) && ja[0]instanceof cc || n(\"The value of the 'vendor-options' option for fn:transform() must be of type map(*)\"),\n                ja = ja[0]) : ja = null;\n                var Y = r(\"xslt-version\")[0];\n                Y && B(Y, A.mb, \"xslt-version\");\n                ma(\"stylesheet-location\", \"stylesheetLocation\", na=>W(D(na), \"stylesheet-location\").toString());\n                ma(\"stylesheet-node\", \"stylesheetNode\");\n                ma(\"stylesheet-text\", \"stylesheetText\");\n                ma(\"package-location\", \"packageLocation\", na=>W(D(na), \"package-location\").toString());\n                ma(\"package-node\", \"packageNode\");\n                ma(\"package-text\", \"packageText\");\n                let V = 0;\n                \"stylesheetLocation stylesheetNode stylesheetText packageLocation packageNode packageText\".split(\" \").forEach(na=>{\n                    ea[na] && V++\n                }\n                );\n                1 !== V && n(\"A stylesheet must be supplied as an option to fn:transform(), by exactly one of 'stylesheet-location', 'stylesheet-node', 'stylesheet-text', 'package-location', 'package-node' or 'package-text'\");\n                ma(\"source-node\", \"sourceNode\");\n                ma(\"global-context-item\", \"globalContextItem\");\n                (b = r(\"source-node\")[0]) && !r(\"global-context-item\")[0] && f.Xa(b) && (ea.globalContextItem = b.ownerDocument);\n                (b = r(\"initial-match-selection\")) && 0 < b.length && (ea.initialSelection = b);\n                ma(\"initial-template\", \"initialTemplate\", na=>B(na, A.QName, \"initial-template\").toEQName());\n                ma(\"initial-mode\", \"initialMode\", function(na) {\n                    return [\"#unnamed\", \"#default\"].includes(na.toString()) ? na.toString() : B(na, A.QName, \"initial-mode\").toEQName()\n                });\n                ma(\"initial-function\", \"initialFunction\", na=>B(na, A.QName, \"initial-function\").toEQName());\n                ma(\"static-params\", \"staticParams\");\n                ma(\"base-output-uri\", \"baseOutputURI\");\n                ma(\"stylesheet-base-uri\", \"stylesheetBaseURI\", na=>na.toString());\n                ma(\"delivery-format\", \"destination\", na=>na.toString());\n                let la = ea.destination;\n                la && ![\"raw\", \"document\", \"serialized\"].includes(la) && n(\"The value of the delivery-format option to fn:transform() must be one of 'raw', 'document' or 'serialized'. Supplied value is \" + la);\n                la ||= \"document\";\n                b = (b = r(\"enable-messages\")) && 1 === b.length ? b[0].toBoolean() : !1;\n                let x = r(\"enable-assertions\");\n                x = x && 1 === x.length ? x[0].toBoolean() : !1;\n                var K = null\n                  , U = null;\n                if (ea.stylesheetNode) {\n                    var ha = ea.stylesheetNode._saxonBaseUri || \"NoStylesheetBaseURI\";\n                    if (9 == ea.stylesheetNode.nodeType)\n                        U = ea.stylesheetNode.cloneNode(!0);\n                    else if (11 == ea.stylesheetNode.nodeType) {\n                        U = pa.createDocument();\n                        var T = ea.stylesheetNode.childNodes;\n                        for (var w = 0; w < T.length; w++)\n                            U.appendChild(T[w].cloneNode(!0))\n                    } else\n                        U = f.rc(ea.stylesheetNode),\n                        \"NoStylesheetBaseURI\" === ha && U._saxonBaseUri && (ha = U._saxonBaseUri),\n                        U = pa.createDocument(),\n                        U.appendChild(ea.stylesheetNode.cloneNode(!0));\n                    U._saxonBaseUri = ha;\n                    U._saxonDocUri = ha\n                }\n                if (ea.stylesheetLocation) {\n                    ha = I.Ia(l, d);\n                    ha = pa.Fb(ea.stylesheetLocation, ha);\n                    ea.stylesheetLocation = ha;\n                    try {\n                        U = Nd.Dc(ha, d)\n                    } catch (na) {\n                        n(\"Error fetching stylesheet in fn:transform():\" + na.code + \" \" + na.message)\n                    }\n                    U._saxonBaseUri = ha;\n                    U._saxonDocUri = ha\n                }\n                ea.stylesheetText && (U = pa.parseXmlFromString(ea.stylesheetText.toString(), !0),\n                U._saxonBaseUri = \"NoStylesheetBaseURI\",\n                U._saxonDocUri = \"NoStylesheetBaseURI\");\n                U && ea.stylesheetBaseURI && (ha = I.Ia(l, d),\n                ha = pa.Fb(ea.stylesheetBaseURI, ha),\n                U._saxonBaseUri = ha,\n                U._saxonDocUri = ha);\n                ea.packageNode && (ha = ea.packageNode,\n                f.jf(ha) ? K = y.XPath.sefToJSON(ha.firstChild) : n(\"The value of the 'package-node' option of fn:transform() must be a single document or element node\"));\n                ea.packageText && (K = JSON.parse(ea.packageText.toString()));\n                U && (K = ea.staticParams ? ea.staticParams : new cc,\n                ha = new cc,\n                T = !1,\n                w = A.QName.fromParts(\"saxon\", Zb.wb, \"compiler.options\"),\n                ja && ja.containsKey(w) && (ha = ja.get(w)[0]),\n                w = A.QName.fromParts(\"saxon\", Zb.wb, \"allowSyntaxExtensions\"),\n                ja && ja.containsKey(w) && (T = ja.get(w)[0]),\n                K = z(U, {\n                    \"enable-assertions\": x,\n                    \"compiler.options\": ha,\n                    allowSyntaxExtensions: T,\n                    relocatable: !1\n                }, K),\n                K = y.XPath.sefToJSON(K.firstChild));\n                K || n(\"Internal error in fn:transform(): no SEF\", \"FOXT0003\");\n                ja = K.version;\n                Y = Y ? 10 * Y.toNumber() : parseFloat(ja);\n                ja = y.getProcessorInfo().version;\n                Y > 10 * ja && n(\"No suitable XSLT processor is available; requested XSLT version in fn:transform() is: \" + (Y / 10).toString());\n                ea.sourceNode && ea.initialSelection && n(\"Only one of 'source-node' or 'initial-match-selection' must be supplied to fn:transform() for apply-templates invocation\");\n                ea.initialTemplate && ea.initialMode && n(\"Only one of 'initial-template' or 'initial-mode' should be supplied to fn:transform()\");\n                if (ea.sourceNode) {\n                    Y = ea.sourceNode;\n                    var Z = Y.cloneNode(!0);\n                    Z._saxonBaseUri = Y._saxonBaseUri;\n                    Z._saxonDocUri = Y._saxonDocUri\n                }\n                ea.baseOutputURI || (ea.baseOutputURI = \"\",\n                M = !0);\n                L(\"stylesheet-params\", \"stylesheetParams\");\n                L(\"template-params\", \"templateParams\");\n                L(\"tunnel-params\", \"tunnelParams\");\n                ma(\"function-params\", \"functionParams\", function(na) {\n                    sa.assert(na instanceof $c);\n                    return na.value\n                });\n                \"serialized\" === la && ma(\"serialization-params\", \"outputProperties\", na=>I.sb(na, !0));\n                ea.deliverResultDocument = function() {\n                    let na = this;\n                    return new ie(la,function(va, h) {\n                        na.resultDocuments[va.toString()] = \"serialized\" === la ? [La.XS.string.fromString(h)] : ac.X(h) ? [h] : null === h ? [] : h\n                    }\n                    )\n                }\n                ;\n                ea.deliverMessage = function(na) {\n                    pa.oh()(na);\n                    this.zh.push([na])\n                }\n                ;\n                let S = {};\n                Y = Kb(r(\"collections\")).ua();\n                null !== Y && (S = I.sb(Y, !0));\n                ea.collectionFinder = function(na) {\n                    return \"undefined\" === typeof na ? null : S[na]\n                }\n                ;\n                Y = ![\"raw\", \"serialized\"].includes(la);\n                let da, fa;\n                try {\n                    aa(K);\n                    \"true\" === K.relocatable && (ea.isRelocatableStylesheet = !0);\n                    if (ea.stylesheetNode || ea.packageText || ea.packageNode)\n                        ea.stylesheetInternal = K;\n                    fa = y.checkOptions(ea);\n                    y.internalTransform(K, Z, fa);\n                    da = fa.principalResult\n                } catch (na) {\n                    if (na instanceof F && na.Le)\n                        throw new F(na.message,na.code.toString());\n                    throw na;\n                }\n                if (da && Y) {\n                    sa.assert(Array.isArray(da));\n                    Z = Vd(d);\n                    const na = Zd.Fc(Z);\n                    na.Ea();\n                    da.forEach(va=>na.append(va));\n                    na.za();\n                    na.close();\n                    da = Z.Ob\n                }\n                Array.isArray(da) && 1 === da.length && Array.isArray(da[0]) && (da = da[0]);\n                Z = fa.resultDocuments[\"\"];\n                if (void 0 !== Z) {\n                    if (Array.isArray(da) ? 0 < da.length : null != da)\n                        throw new F(\"A result document on the base output URI has already been created\",\"XTDE1490\");\n                    da = Z\n                }\n                Z = new cc;\n                da && Z.inSituPut(M ? A.string.fromString(\"output\") : fa.Ib, Array.isArray(da) ? da : [da]);\n                b && Z.inSituPut(A.string.fromString(\"messages\"), [new $c(fa.zh)]);\n                for (const na in fa.resultDocuments)\n                    \"\" !== na && (sa.Ma(\"xsl:result-document href=\" + na, 2, d.fixed.Ta),\n                    Z.inSituPut(A.anyURI.fromString(na), fa.resultDocuments[na]));\n                return Pb(Z)\n            },\n            translate: function(b) {\n                const d = Da(c(b[0]))\n                  , l = Da(c(b[1]))\n                  , r = Da(c(b[2]))\n                  , n = [];\n                d.forEach(function(B) {\n                    let W;\n                    -1 !== (W = l.indexOf(B)) ? W < r.length && n.push(r[W]) : n.push(B)\n                });\n                return Tb(Ea(n))\n            },\n            \"true\": function() {\n                return Xb(!0)\n            },\n            \"type-available\": function(b, d, l) {\n                b = a(b[0], d, l, \"XTDE1428\").split(\"}\");\n                return Xb(\"Q{http://www.w3.org/2001/XMLSchema\" === b[0] && (b[1]in La.type || [\"untyped\", \"anyType\", \"anySimpleType\"].includes(b[1])))\n            },\n            unordered: function(b) {\n                return b[0]\n            },\n            \"unparsed-entity-public-id\": function() {\n                return Ob\n            },\n            \"unparsed-entity-uri\": function() {\n                return Ob\n            },\n            \"unparsed-text\": function(b, d, l) {\n                const r = Nd.Te(b, d, l);\n                if (!r)\n                    return Ob;\n                b = Nd.Sf(b[1] ? c(b[1]) : \"\");\n                return Tb(Nd.$f(r, d, l, b))\n            },\n            \"unparsed-text-available\": function(b, d, l) {\n                return Nd.Ih(function() {\n                    const r = Nd.Te(b, d, l);\n                    let n = Nd.Sf(b[1] ? c(b[1]) : \"\");\n                    Nd.$f(r, d, l, n)\n                })\n            },\n            \"unparsed-text-lines\": function(b, d, l) {\n                const r = Nd.Te(b, d, l);\n                if (!r)\n                    return Ob;\n                b = Nd.Sf(b[1] ? c(b[1]) : \"\");\n                d = Nd.$f(r, d, l, b).split(/\\r?\\n|\\r/);\n                0 < d.length && \"\" === d[d.length - 1] && --d.length;\n                return Kb(d).mapOneToOne(A.string.fromString)\n            },\n            \"upper-case\": function(b) {\n                return Tb(c(b[0]).toUpperCase())\n            },\n            \"uri-collection\": function() {\n                return Ob\n            },\n            \"xml-to-json\": function(b) {\n                const d = b[1] ? b[1].next() : new cc;\n                return b[0].mapOneToOne(function(l) {\n                    return A.string.fromString(Md.Pj(l, d))\n                })\n            },\n            \"year-from-date\": function(b) {\n                return e(b, \"getUTCFullYear\")\n            },\n            \"year-from-dateTime\": function(b) {\n                return e(b, \"getUTCFullYear\")\n            },\n            \"years-from-duration\": function(b) {\n                return k(b, 0)\n            },\n            \"zero-or-one\": function(b) {\n                b = b[0].expand();\n                if (1 < b.length)\n                    throw new F(\"Required length 0-1, actual length \" + b.length,\"FORG0003\");\n                return Pb(b[0] ? b[0] : null)\n            }\n        }\n    }();\n    // Input 37\n    const le = function() {\n        function a(p, g, e) {\n            var k = e.fixed.ka;\n            const v = g.name || \"#unnamed\";\n            g = k.qb(g, \"sortKey\");\n            k = g.map(k.Sa);\n            const t = Hd.Mi(g, e);\n            g = [];\n            const C = e.ba(!1);\n            for (C.focus = Sb(p); null !== (p = C.focus.next()); )\n                e = k.map(function(m, f) {\n                    var A = C.ba(!1);\n                    A.focus = Rb(C.focus.current);\n                    m = m(A);\n                    if ((A = m.next()) && m.next())\n                        throw new F(\"Multiple values in merge key\",\"XTTE1020\");\n                    return t[f](A)\n                }),\n                g.push({\n                    item: p,\n                    keys: e,\n                    Ah: v\n                });\n            return g\n        }\n        function c(p, g, e) {\n            function k(m) {\n                const f = v[v.length - 1];\n                if (f && 0 < e(f, m))\n                    throw new F(\"Input to xsl:merge is not correctly sorted\",\"XTDE2220\");\n                v.push(m)\n            }\n            const v = [];\n            let t = 0\n              , C = 0;\n            for (; ; )\n                if (t >= p.length) {\n                    for (; C < g.length; )\n                        k(g[C++]);\n                    break\n                } else if (C >= g.length) {\n                    for (; t < p.length; )\n                        k(p[t++]);\n                    break\n                } else\n                    0 >= e(p[t], g[C]) ? k(p[t++]) : k(g[C++]);\n            return v\n        }\n        function q(p, g) {\n            return g.fixed.ka.qb(p, \"sortKey\").map(function(e) {\n                return Hd.Jj(e, g)\n            })\n        }\n        function E(p) {\n            return function(g, e) {\n                for (let k = 0; k < p.length; k++) {\n                    const v = p[k](g.keys[k], e.keys[k]);\n                    if (0 !== v)\n                        return v\n                }\n                return 0\n            }\n        }\n        function H(p, g, e) {\n            var k = null;\n            const v = [];\n            let t = {};\n            for (let C = 0; C < g.length; C++) {\n                const m = g[C];\n                k = null === k ? -1 : e(k, m);\n                if (0 > k) {\n                    t = {\n                        items: [m.item],\n                        keys: m.keys,\n                        groups: {}\n                    };\n                    for (k = 0; k < p.length; k++)\n                        t.groups[p[k].name || \"#unnamed\"] = [];\n                    t.groups[m.Ah] = [m.item];\n                    v.push(t)\n                } else if (0 === k)\n                    t.items.push(m.item),\n                    t.groups[m.Ah].push(m.item);\n                else\n                    throw new F(\"Group Input to xsl:merge is not correctly sorted\",\"XTDE2220\");\n                k = m\n            }\n            return v\n        }\n        return {\n            mj: function(p, g) {\n                const e = g.fixed.ka;\n                var k = e.qb(p, \"mergeSrc\");\n                const v = g.ba();\n                v.qa = \"merge-key\";\n                var t = k.map(function(n) {\n                    return q(n, v)\n                })\n                  , C = t[0];\n                for (var m = 1; m < t.length; m++)\n                    for (var f = 0; f < C.length; f++) {\n                        var A = C[f]\n                          , O = t[m][f];\n                        const n = A.lang === O.lang || null !== A.lang && A.lang.equals(O.lang);\n                        if (A.order !== O.order || !n || A.Ye !== O.Ye || A.dataType !== O.dataType)\n                            throw new F(\"All merge sources must have compatible merge keys\",\"XTDE2210\",p);\n                    }\n                t = C.map(function(n) {\n                    return Hd.ri(n, v)\n                });\n                t = E(t);\n                C = null;\n                for (m = 0; m < k.length; m++) {\n                    f = k[m];\n                    A = e.da(f, \"forEachItem\");\n                    O = e.da(f, \"selectRows\");\n                    try {\n                        if (A) {\n                            var b = g.ba(!1);\n                            for (b.focus = Sb(e.evaluate(A, g)); null !== b.focus.next(); ) {\n                                var d = e.evaluate(O, b)\n                                  , l = a(d, f, b);\n                                C = null === C ? l : c(C, l, t)\n                            }\n                        } else {\n                            var r = e.evaluate(O, g);\n                            const n = a(r, f, g);\n                            C = null === C ? n : c(C, n, t)\n                        }\n                    } catch (n) {\n                        if (n instanceof F && \"XPTY0004\" === n.code)\n                            throw new F(n.message,\"XTTE2230\",p);\n                        throw n;\n                    }\n                }\n                if (null === C)\n                    return Ob;\n                k = H(k, C, t);\n                p = e.da(p, \"action\");\n                b = k.map(function(n) {\n                    return n.items[0]\n                });\n                g = g.ba(!1);\n                g.focus = Sb(Kb(b));\n                b = [];\n                for (d = 0; d < k.length; d++)\n                    for (g.focus.next(),\n                    g.Bb = k[d],\n                    l = e.evaluate(p, g); null !== (r = l.next()); )\n                        b.push(r);\n                return Kb(b)\n            }\n        }\n    }();\n    // Input 38\n    var me = function() {\n        function a(q, E) {\n            for (let H in q)\n                if (H == E)\n                    return {\n                        k: E,\n                        v: q[E]\n                    };\n            return null\n        }\n        function c() {}\n        c.prototype = {\n            containsKey: function(q) {\n                return null !== a(this, q)\n            },\n            forAllPairs: function(q) {\n                for (let E in this)\n                    this.__proto__.hasOwnProperty(E) || q({\n                        k: E,\n                        v: this[E]\n                    })\n            },\n            get: function(q) {\n                var E = a(this, q);\n                if (null === E)\n                    throw new F(\"'\" + q + \"' is not a permitted key for the given tuple type\",\"XTTE9999\");\n                return E.v\n            },\n            keys: function() {\n                var q = [];\n                this.forAllPairs(function(E) {\n                    q.push(La.XS.string.fromString(E.k))\n                });\n                return q\n            },\n            put: function(q, E) {\n                var H = new c\n                  , p = !1;\n                for (let g in this)\n                    H[g] = this[g],\n                    g == q && (p = !0,\n                    H[q] = E);\n                if (!p)\n                    throw new F(\"'\" + q + \"' is not a permitted key for the given tuple type\",\"XTTE9999\");\n                return H\n            },\n            size: function(q) {\n                var E = 0;\n                q[0].next().forAllPairs(function() {\n                    E++\n                });\n                return Ub(E)\n            }\n        };\n        return c\n    }();\n    // Input 39\n    const cd = function() {\n        function a() {}\n        function c(h) {\n            const G = (h.C || []).map(n);\n            return Q=>new Mb(function*() {\n                for (const u of G) {\n                    const N = u(Q);\n                    let P;\n                    for (; null !== (P = N.next()); )\n                        yield P\n                }\n            }())\n        }\n        function q(h) {\n            function G(ia) {\n                switch (ia) {\n                case 1:\n                    return \"first\";\n                case 2:\n                    return \"second\";\n                case 3:\n                    return \"third\";\n                default:\n                    return ia + \"th\"\n                }\n            }\n            h = h.split(\"|\");\n            const Q = h[0]\n              , u = h[1]\n              , N = \"\" === h[2] ? \"XPTY0004\" : h[2]\n              , P = h[3];\n            return {\n                required: function() {\n                    switch (parseInt(Q, 10)) {\n                    case 0:\n                        return G(+u + 1) + \" argument of \" + (\"\" === P ? \"anonymous function\" : P + \"()\");\n                    case 1:\n                        return G(+u + 1) + \" operand of '\" + P + \"'\";\n                    case 9:\n                        return \"operand of '-'\";\n                    case 2:\n                        return \"value in '\" + P + \"' expression\";\n                    case 3:\n                        return \"saxon:context-item\" === P ? \"context item\" : \"value of variable $\" + P;\n                    case 4:\n                        const ia = P.split(\"/\");\n                        return \"@\" + ia[1] + \" attribute of \" + (\"LRE\" === ia[0] ? \"a literal result element\" : ia[0]);\n                    case 5:\n                        return \"result of call to \" + (\"\" === P ? \"anonymous function\" : \"function \" + P);\n                    case 7:\n                        return \"result of template \" + P;\n                    case 6:\n                        return G(+u + 1) + \" sort key\";\n                    case 8:\n                        return \"value of parameter $\" + P;\n                    case 11:\n                        return \"value of the grouping key\";\n                    case 12:\n                        return \"result of xsl:evaluate\";\n                    case 13:\n                        return \"the context item\";\n                    case 14:\n                        return \"the context item for the \" + \"ancestor ancestor-or-self attribute child descendant descendant-or-self following following-sibling namespace parent preceding preceding-sibling self preceding-or-ancestor\".split(\" \")[u] + \" axis\";\n                    case 15:\n                        return \"the value of the \" + P + \" option\";\n                    case 17:\n                        return \"document-order sorter\";\n                    default:\n                        return \"\"\n                    }\n                }(),\n                code: N\n            }\n        }\n        function E(h) {\n            h = h.trim();\n            if ([\"true\", \"yes\", \"1\"].includes(h))\n                return !0;\n            if ([\"false\", \"no\", \"0\"].includes(h))\n                return !1;\n            throw new F(\"Value must be yes|true|1 or no|false|0\",\"XTDE0030\");\n        }\n        function H(h) {\n            if (S.X(h))\n                return Pb(p(h));\n            if (ja(h))\n                return Qb(h.value.map(G=>Kb(G))).mapOneToMany(H);\n            if (V(h))\n                throw new F(\"Cannot atomize a \" + (Y(h) ? \"map\" : \"function\"),\"FOTY0013\");\n            return Pb(h)\n        }\n        function p(h) {\n            const G = fa.string.fromString\n              , Q = fa.untypedAtomic.fromString;\n            switch (h.nodeType) {\n            case 9:\n                return Q(h.documentElement.textContent);\n            case 11:\n            case 1:\n            case 3:\n            case 4:\n                return Q(h.textContent || \"\");\n            case 2:\n                return Q(h.value);\n            case 8:\n                return G(h.textContent);\n            case 7:\n                return G(h.textContent);\n            case 13:\n                return G(h.uri);\n            default:\n                throw new F(\"Unknown node type \" + h.nodeType,\"SXJS0003\");\n            }\n        }\n        function g(h) {\n            return Kb(h).mapOneToMany(H).expand()\n        }\n        function e(h) {\n            function G(N) {\n                throw new F(\"Effective boolean value is not defined for \" + N,\"FORG0006\");\n            }\n            function Q() {\n                if (null !== h.next())\n                    G(\"an atomic sequence of length > 1\");\n                else\n                    return !0\n            }\n            var u = h.next();\n            if (null === u)\n                return !1;\n            if (S.X(u))\n                return !0;\n            if (La.pa(u)) {\n                if (\"AB\" === u.code)\n                    return Q() && u.toBoolean();\n                if (u.isNumeric())\n                    return u = u.toNumber(),\n                    Q() && !isNaN(u) && 0 !== u;\n                if (Ia(u))\n                    return Q() && 0 !== u.toString().length;\n                G(\"type \" + La.pd(u.code))\n            } else\n                Y(u) ? G(\"maps\") : ja(u) ? G(\"arrays\") : V(u) ? G(\"functions\") : G(\"value \" + sa.showValue(u))\n        }\n        function k(h, G) {\n            const Q = mb[\"i+i\"]\n              , u = fa.integer.fromNumber(1);\n            return new Cb(h,N=>{\n                N = Q(N, u);\n                return 0 < N.compareTo(G) ? null : N\n            }\n            )\n        }\n        function v(h, G) {\n            return h.C ? h.C.filter(Q=>Q.N === G) : []\n        }\n        function t(h, G, Q) {\n            h = v(h, \"withParam\");\n            const u = [new cc, new cc];\n            G.Qb.forAllPairs(P=>u[1].inSituPut(P.k, P.v));\n            const N = G.qa;\n            G.qa = \"template parameter\";\n            h.forEach(function(P) {\n                const ia = P.name\n                  , ua = W(P, \"t\") ? 1 : 0;\n                u[ua].inSituPut(La.XS.QName.fromEQName(ia), l(P)(G).expand())\n            });\n            G.qa = N;\n            Q.Kc = u[0];\n            Q.Qb = u[1]\n        }\n        function C(h) {\n            return !/[ \\t\\r\\n]/.test(h)\n        }\n        function m(h, G, Q) {\n            if (h) {\n                h = h.split(/\\r?\\n/);\n                for (let N = 0; N < h.length; N++)\n                    if (h[N]) {\n                        var u = h[N].split(\"=\");\n                        let P = u[0];\n                        u = u[1];\n                        \"item-separator\" === P && (u = u.replace(/%n/g, \"\\n\").replace(/%%/g, \"%\"));\n                        u = \"parameter-document\" === P ? void 0 : \"use-character-maps\" === P ? ge.yf(P, u, Q) : ge.zf(P, u);\n                        \"undefined\" !== typeof u && (G[P] = ge.pf(P, u, G[P]))\n                    }\n            }\n        }\n        function f(h, G) {\n            const Q = l(h)\n              , u = r(h);\n            return N=>{\n                try {\n                    const P = Q(N).next()\n                      , ia = u(N).next();\n                    return null === P || null === ia ? null : G(P, ia)\n                } catch (P) {\n                    ca(P, h)\n                }\n            }\n        }\n        function A(h, G) {\n            if (G.fixed.staticBaseURI)\n                return G.fixed.staticBaseURI;\n            if (G.fixed.md)\n                return null;\n            for (; ; ) {\n                if (h.baseUri)\n                    return h.baseUri;\n                h = h.parentNode;\n                if (!h)\n                    return null\n            }\n        }\n        function O(h, G, Q=!1) {\n            var u = S.Gc(G.ja).createDocumentFragment();\n            u = S.wc(u);\n            u._saxonBaseUri = A(h, G);\n            const N = G.ba(!1);\n            Q && (N.ja = G.masterDocument);\n            bd.kj(u, n(h)(N), N);\n            return u\n        }\n        function b(h) {\n            const G = l(h)\n              , Q = r(h)\n              , u = h.op;\n            return N=>{\n                const P = G(N)\n                  , ia = Q(N).expand();\n                N = Hd.fe(h.comp, N);\n                return Hd.gc(P, ia, u, N, h)\n            }\n        }\n        function d(h, G) {\n            throw new F(\"The \" + h + \" construct is not implemented in SaxonJS\",\"SXJS0002\",G);\n        }\n        function l(h) {\n            return n(h.C[0])\n        }\n        function r(h) {\n            return n(h.C[1])\n        }\n        function n(h) {\n            if (h) {\n                var G = h.ELAB;\n                G || ((G = va[h.N]) || sa.la(\"Unknown expr: \" + h.N + \" parent=\" + h.p),\n                G = h.ELAB = G(h));\n                return G\n            }\n        }\n        function B(h, G) {\n            h = h.C || [];\n            for (let Q = 0; Q < h.length; Q++) {\n                const u = h[Q];\n                if (u.role === G)\n                    return u\n            }\n            return null\n        }\n        function W(h, G) {\n            return (h = h.flags) ? 0 <= h.indexOf(G) : !1\n        }\n        function ma(h) {\n            const G = {};\n            h = qa(h, \"ns\");\n            if (null !== h) {\n                h = h.split(\" \");\n                for (let Q = 0; Q < h.length; Q++) {\n                    const u = h[Q].split(\"=\");\n                    G[u[0]] = \"~\" === u[1] ? Zb.withPrefix[u[0]] : u[1]\n                }\n            }\n            return G\n        }\n        function qa(h, G) {\n            for (; h; ) {\n                if (h[G])\n                    return h[G];\n                h = h.parentNode\n            }\n            return null\n        }\n        function L(h, G) {\n            const Q = ma(h);\n            return function(u) {\n                if (\"\" === u && !G)\n                    return \"\";\n                const N = Q[u];\n                if (N)\n                    return N;\n                if (\"\" === u)\n                    return \"\";\n                throw new F(\"Undeclared prefix: \" + u,\"XTDE0290\",h);\n            }\n        }\n        function aa(h, G, Q) {\n            return fa.QName.fromString(G, L(h, Q))\n        }\n        function z(h, G, Q) {\n            if (null !== h && 0 < Q) {\n                const u = S.getAttribute(h, G);\n                return null !== u && \"\" !== u ? u : z(h.parentNode, G, Q - 1)\n            }\n        }\n        function D(h, G, Q) {\n            let u, N = h.bSlot;\n            N ? (N = parseInt(N, 10),\n            h = G.sa.We[N],\n            u = G.fixed.La[h]) : (h = h.coId) ? u = G.fixed.La[parseInt(h, 10)] : sa.la(\"No binding slot or component Id for component\");\n            u || sa.la(\"Target component not found (slot=\" + N + \" id=\" + h + \")\");\n            if (\"ABSTRACT\" === u.visibility)\n                throw new F(\"Abstract \" + u.actor.N + \" \" + u.actor.name + \" has no implementation\",\"XTDE3052\");\n            Q && u.actor.N !== Q && sa.la(\"Expected \" + Q + \", found \" + u.actor.N);\n            return u\n        }\n        function y(h, G, Q, u) {\n            h = B(G.actor, \"body\");\n            h = n(h);\n            u = u.ba(!0);\n            u.sa = G;\n            gd(u);\n            u.qa = \"function\";\n            u.gb = {};\n            u.ab = null;\n            u.focus = null;\n            u.Mb = [];\n            u.oa = Q;\n            return h(u)\n        }\n        function I(h, G) {\n            for (h = h.parentNode; \"package\" !== h.N; )\n                h = h.parentNode;\n            return G.fixed.rd[h.name]\n        }\n        function R(h, G) {\n            return n(h)(G)\n        }\n        function M(h) {\n            return G=>{\n                const Q = Vd(G)\n                  , u = Zd.Fc(Q);\n                Zd.push(h, G, u);\n                u.close();\n                return Kb(Q.Ob)\n            }\n        }\n        function ca(h, G) {\n            h instanceof F && !h.xsltLineNr && ra(h, G);\n            throw h;\n        }\n        function ea(h, G) {\n            function Q(N) {\n                return \"Context item for template \" + h.name + \" must be \" + N\n            }\n            if (ee(G) && -1 === h.flags.indexOf(\"o\"))\n                throw new F(Q(\"supplied\"),\"XTTE3090\",h);\n            ee(G) || -1 !== h.flags.indexOf(\"s\") || (G.focus = {});\n            let u = h.cxt;\n            if (u && !ee(G) && !fc(u).ia()(ed(G)))\n                throw new F(Q(\"instance of \" + fc(u).toString()),\"XTTE0590\",h);\n        }\n        function ja(h) {\n            return h instanceof $c\n        }\n        function Y(h) {\n            return h instanceof cc || h instanceof K\n        }\n        function V(h) {\n            return h instanceof ad.XdmFunction || ja(h) || Y(h)\n        }\n        function la(h) {\n            var G = Object.assign(h);\n            G.ELAB = void 0;\n            h.C && (G.C = h.C.map(Q=>la(Q)));\n            return G\n        }\n        function x(h, G, Q) {\n            sa.assert(Array.isArray(h));\n            sa.assert(G instanceof gc);\n            const u = G.$();\n            let N = u.p;\n            if (u.o && !Ed(u.o)(h.length))\n                throw new F(\"Supplied value \" + sa.showValue(h) + \" does not match required cardinality \" + u.o + (Q ? \" in \" + Q() : \"\"),\"XPTY0004\");\n            if (0 < h.length) {\n                if (G.U.pa()) {\n                    h = cd.li(h);\n                    const P = La.XS.untypedAtomic;\n                    if (kd(G.U))\n                        h = h.map(ia=>ia.isNumeric() ? ia : P.matches(ia) ? La.XS.double.R(ia) : ia instanceof K ? La.XS.double.fromString(ia.value.toString()) : ia);\n                    else {\n                        const ia = La.codes[N]\n                          , ua = ia.R;\n                        \"A\" !== N && (h = h.map(Ba=>P.matches(Ba) ? ua(Ba) : Ba instanceof K ? ia.fromString(Ba.value.toString()) : Ba));\n                        [\"AO\", \"AF\"].includes(N) && (h = h.map(Ba=>Ba.isNumeric() ? ia.R(Ba) : Ba));\n                        \"AS\" === N && (h = h.map(Ba=>La.XS.anyURI.matches(Ba) ? ia.R(Ba) : Ba))\n                    }\n                } else if (G.U.Jd())\n                    if ([\"FM\", \"FA\"].includes(N))\n                        h = T(h);\n                    else if (G.U instanceof dd) {\n                        const P = G.U.ia();\n                        h.every(ia=>P(ia)) || (h = h.map(ia=>{\n                            if (P(ia))\n                                return ia;\n                            if (ia instanceof ad.XdmFunction) {\n                                var ua = G.U;\n                                const Ba = ua.j.length;\n                                ua = {\n                                    minArgs: Ba,\n                                    maxArgs: Ba,\n                                    sig: ua.ha(),\n                                    alphaTree: ua.$()\n                                };\n                                return new ad.zg(ua,ia)\n                            }\n                            return ia\n                        }\n                        ))\n                    }\n                if (!G.matches(h))\n                    throw new F(\"Supplied value \" + sa.showValue(h) + \" does not match required type \" + G.toString() + (Q ? \" in \" + Q() : \"\"),\"XPTY0004\");\n            }\n            return h\n        }\n        function K(h) {\n            this.value = h\n        }\n        function U(h) {\n            this.value = h\n        }\n        function ha(h) {\n            function G(u) {\n                switch (typeof u) {\n                case \"undefined\":\n                    return [];\n                case \"string\":\n                    return fa.untypedAtomic.fromString(u);\n                case \"number\":\n                    return fa.double.fromNumber(u);\n                case \"boolean\":\n                    return fa.boolean.fromBoolean(u);\n                case \"function\":\n                    return new K(u);\n                case \"object\":\n                    if (fa.Qf.matches(u) || S.X(u))\n                        return u;\n                    if (u instanceof $c)\n                        return u;\n                    if (u instanceof ad.XdmFunction || u instanceof cc)\n                        return u;\n                    if (u instanceof K)\n                        return u;\n                    if (u instanceof Date)\n                        return fa.dateTime.fromString(u.toISOString());\n                    if (Array.isArray(u)) {\n                        const N = [];\n                        u.forEach(function(P) {\n                            N.push(ha(P))\n                        });\n                        return new $c(N)\n                    }\n                    return null === u ? [] : u instanceof U ? u.value : new K(u);\n                default:\n                    return new K(u)\n                }\n            }\n            function Q(u) {\n                const N = [];\n                u.forEach(function(P) {\n                    P = G(P);\n                    Array.isArray(P) && 0 === P.length || N.push(P)\n                });\n                return N\n            }\n            if (Array.isArray(h))\n                return Q(h);\n            h = G(h);\n            return Array.isArray(h) && 0 === h.length ? [] : [h]\n        }\n        function T(h) {\n            function G(u) {\n                if (u instanceof $c) {\n                    const N = [];\n                    u.value.forEach(P=>N.push(Q(P)));\n                    return new $c(N)\n                }\n                if (u instanceof K) {\n                    const N = u.value;\n                    if (\"object\" === typeof N) {\n                        u = new cc;\n                        for (const P in N)\n                            if (N.hasOwnProperty(P)) {\n                                const ia = ha(P)[0]\n                                  , ua = ha(N[P]);\n                                u.inSituPut(ia, T(ua))\n                            }\n                        return u\n                    }\n                }\n                return u\n            }\n            function Q(u) {\n                const N = [];\n                u.forEach(function(P) {\n                    P = G(P);\n                    Array.isArray(P) && 0 === P.length || N.push(P)\n                });\n                return N\n            }\n            sa.assert(Array.isArray(h));\n            return Q(h)\n        }\n        function w(h, G=!1) {\n            function Q(N) {\n                if (Array.isArray(N))\n                    throw new F(\"convertItem() called for an array\",\"SXJS0004\");\n                if (null === N)\n                    return null;\n                if (fa.string.matches(N) || fa.anyURI.matches(N) || fa.duration.matches(N) || fa.hexBinary.matches(N) || fa.base64Binary.matches(N) || fa.untypedAtomic.matches(N))\n                    return N.toString();\n                if (fa.numeric.matches(N))\n                    return N.toNumber();\n                if (fa.boolean.matches(N))\n                    return N.toBoolean();\n                if (fa.dateTime.matches(N) || fa.cd.matches(N) || fa.Ed.matches(N) || fa.time.matches(N) || fa.nh.matches(N) || fa.mh.matches(N) || fa.lh.matches(N) || fa.kh.matches(N) || fa.jh.matches(N))\n                    return N.toString();\n                if (fa.QName.matches(N))\n                    return N.toEQName();\n                if (S.X(N))\n                    return N;\n                if (N instanceof $c) {\n                    const P = [];\n                    0 !== N.value.length && N.value.forEach(function(ia) {\n                        P.push(w(ia, G))\n                    });\n                    return P\n                }\n                if (N instanceof cc) {\n                    if (G) {\n                        const P = {};\n                        N.forAllPairs(function(ia) {\n                            P[ia.k.toString()] = w(ia.v, G)\n                        });\n                        return P\n                    }\n                    return new U(N)\n                }\n                return N instanceof U ? N : N instanceof K ? N.value : new U(N)\n            }\n            function u(N) {\n                const P = [];\n                if (0 === N.length)\n                    return null;\n                if (1 === N.length)\n                    return Q(N[0]);\n                N.forEach(function(ia) {\n                    P.push(Q(ia))\n                });\n                return P\n            }\n            return Array.isArray(h) ? u(h) : Q(h)\n        }\n        function Z(h) {\n            return h.mapOneToMany(function(G) {\n                return ja(G) ? Qb(G.value.map(function(Q) {\n                    return Z(Kb(Q))\n                })) : Pb(G)\n            })\n        }\n        const S = ac\n          , da = S.Ja\n          , fa = La.XS;\n        let na;\n        const va = {\n            acFnRef: function(h) {\n                const G = fa.QName.fromEQName(h.name)\n                  , Q = Jd.find(\"SaxonJS\").XPath;\n                return u=>{\n                    u = u.ba(!0);\n                    u.bb = !0;\n                    if (u = Q.getFnSignature(G, 1, u))\n                        return u = new ad.Bf(u,G,h),\n                        Pb(u);\n                    throw new F(\"Reference to an unknown constructor function \" + G + \"#1\",\"XPST0017\",h);\n                }\n            },\n            among: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    const N = G(u).next();\n                    return Q(u).filter(P=>S.isSameNode(P, N))\n                }\n            },\n            analyzeString: M,\n            and: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>Xb(e(G(u)) && e(Q(u)))\n            },\n            applyImports: M,\n            applyT: M,\n            arith: function(h) {\n                const G = mb[h.calc];\n                G || d(\"arithmetic (\" + h.calc + \")\", h);\n                const Q = f(h, G);\n                return u=>Pb(Q(u))\n            },\n            arith10: function(h) {\n                function G(P) {\n                    P = P.next();\n                    return null === P ? fa.double.fromNumber(NaN) : Ia(P) ? fa.double.cf(P.toString()) : fa.double.R(P)\n                }\n                const Q = l(h)\n                  , u = r(h)\n                  , N = mb[h.calc];\n                return P=>Pb(N(G(Q(P)), G(u(P))))\n            },\n            array: function(h) {\n                const G = (h.C || []).map(n);\n                return Q=>{\n                    const u = G.map(N=>N(Q).expand());\n                    return Pb(new $c(u))\n                }\n            },\n            arrayBlock: function(h) {\n                const G = (h.C || []).map(n);\n                return Q=>{\n                    const u = G.map(N=>N(Q).expand());\n                    return Pb(new $c(u))\n                }\n            },\n            atomic: function(h) {\n                const G = La.codes[h.type].fromString(h.val);\n                return ()=>Pb(G)\n            },\n            atomSing: function(h) {\n                const G = l(h);\n                return h.card ? Q=>G(Q).mapOneToMany(H) : Q=>{\n                    Q = G(Q).mapOneToMany(H);\n                    Q = Fb(Q);\n                    if (null === Q.ua())\n                        throw Q = q(h.diag),\n                        new F(\"The \" + Q.required + \" is empty\",Q.code,h);\n                    return Q\n                }\n            },\n            att: M,\n            attVal: function(h) {\n                const G = fa.QName.fromEQName(h.name);\n                return Q=>{\n                    fd(Q, \"XPDY0002\", \"@\" + G, h);\n                    Q = ed(Q);\n                    if (!S.X(Q))\n                        throw new F(\"Context item for 'attVal' must be a node\",\"XPTY0020\",h);\n                    if (1 !== Q.nodeType)\n                        return Ob;\n                    Q = \"\" === G.uri ? Q.hasAttribute(G.local) ? Q.getAttribute(G.local) : null : G.uri === Zb.xml ? Q.hasAttribute(\"xml:\" + G.local) ? Q.getAttribute(\"xml:\" + G.local) : null : Q.hasAttributeNS(G.uri, G.local) ? Q.getAttributeNS(G.uri, G.local) : null;\n                    return null === Q ? Ob : Pb(fa.untypedAtomic.fromString(Q))\n                }\n            },\n            axis: function(h) {\n                const G = fc(h.nodeTest || \"\").ia()\n                  , Q = h.name;\n                return u=>{\n                    fd(u, \"XPDY0002\", Q + \" axis\", h);\n                    u = ed(u);\n                    if (!S.X(u))\n                        throw new F(\"Context item for \" + Q + \" axis is not a node - supplied:\" + sa.showValue(u),\"XPTY0020\",h);\n                    return S.Ng[Q](u).filter(G)\n                }\n            },\n            \"break\": M,\n            callT: function(h) {\n                return G=>{\n                    const Q = D(h, G, \"template\")\n                      , u = G.ba(!0);\n                    u.Bb = null;\n                    u.sa = Q;\n                    ea(Q.actor, u);\n                    t(h, G, u);\n                    return l(Q.actor)(u)\n                }\n            },\n            cast: function(h) {\n                const G = l(h)\n                  , Q = W(h, \"e\")\n                  , u = N=>{\n                    N = G(N).next();\n                    if (null === N) {\n                        if (Q)\n                            return null;\n                        throw new F(\"Empty sequence casting to \" + fc(h.as).toString(),\"XPTY0004\",h);\n                    }\n                    return N\n                }\n                ;\n                if (W(h, \"a\")) {\n                    const N = rb(h.as)\n                      , P = \"AQ\" === N.p ? L(h, !0) : null\n                      , ia = La.codes[N.p].R;\n                    return ua=>{\n                        ua = u(ua);\n                        if (null === ua)\n                            return Ob;\n                        try {\n                            var Ba = ia(ua, P);\n                            return Pb(Ba)\n                        } catch (Fa) {\n                            if (\"FORG0001\" === Fa.code && h.diag)\n                                throw Ba = q(h.diag),\n                                new F(\"Required item type of \" + Ba.required + \" is \" + fc(h.as).toString() + \"; supplied value is \" + sa.Nh(ua),Ba.code,h);\n                            if (null !== Fa.code)\n                                throw Fa;\n                            throw new F(\"Failed to cast \" + sa.Nh(ua) + \" to type \" + fc(h.as).toString(),\"XPTY0004\",h);\n                        }\n                    }\n                }\n                if (W(h, \"l\")) {\n                    const N = La.XS.QName.fromEQName(h.as)\n                      , P = Tc[N.local].fromString;\n                    sa.assert(N.uri === Zb.lc);\n                    sa.assert(P);\n                    return ia=>{\n                        ia = u(ia);\n                        if (null === ia)\n                            return Ob;\n                        ia = Ha.collapse(ia.toString()).split(\" \").map(P);\n                        if (0 === ia.length)\n                            throw new F(\"xs:\" + N.local + \" value must contain at least one token\",\"FORG0001\");\n                        return Kb(ia)\n                    }\n                }\n                if (W(h, \"u\"))\n                    return N=>{\n                        N = u(N);\n                        return null === N ? Ob : La.XS.double.matches(N) || La.XS.mb.matches(N) || La.XS.float.matches(N) ? Pb(N) : Pb(La.XS.double.R(N))\n                    }\n                    ;\n                throw new F(\"Unknown cast variety \" + h.flags);\n            },\n            castable: function(h) {\n                const G = l(h)\n                  , Q = W(h, \"e\");\n                let u;\n                if (W(h, \"a\")) {\n                    const N = rb(h.as)\n                      , P = \"AQ\" === N.p ? L(h, !0) : null\n                      , ia = La.codes[N.p].R;\n                    u = ua=>{\n                        ia(ua, P);\n                        return !0\n                    }\n                } else if (W(h, \"l\")) {\n                    h = La.XS.QName.fromEQName(h.as);\n                    const N = Tc[h.local].fromString;\n                    u = P=>0 < Ha.collapse(P.toString()).split(\" \").map(N).length\n                } else if (W(h, \"u\"))\n                    u = N=>{\n                        La.XS.double.R(N);\n                        return !0\n                    }\n                    ;\n                else\n                    throw new F(\"Unknown castable variety \" + h.flags);\n                return N=>{\n                    N = G(N);\n                    const P = N.next();\n                    if (null === P)\n                        return Xb(Q);\n                    if (null !== N.next())\n                        return Xb(!1);\n                    N = H(P).next();\n                    try {\n                        return Xb(u(N))\n                    } catch (ia) {\n                        return Xb(!1)\n                    }\n                }\n            },\n            cfn: function(h) {\n                const G = h.name\n                  , Q = l(h);\n                let u;\n                if (\"_format-number_1\" === G)\n                    return u = ke[\"format-number\"],\n                    N=>{\n                        const P = [Q(N), Tb(h.pic)];\n                        h.hasAttribute(\"format\") && P.push(Tb(h.format));\n                        return u(P, N, h)\n                    }\n                    ;\n                if (\"_translate_1\" === G)\n                    return u = ke.translate,\n                    N=>{\n                        const P = [Q(N), Tb(h.a1), Tb(h.a2)];\n                        return u(P, N)\n                    }\n                    ;\n                sa.la(\"Unimplemented: cfn \" + G, h)\n            },\n            check: function(h) {\n                function G(P) {\n                    const ia = q(h.diag);\n                    throw new F(\"Required cardinality of \" + ia.required + \" is \" + u[Q] + \"; supplied value \" + P,ia.code,h);\n                }\n                const Q = h.card\n                  , u = {\n                    \"*\": \"zero or more\",\n                    \"+\": \"one or more\",\n                    \"?\": \"zero or one\",\n                    0: \"zero\",\n                    1: \"exactly one\"\n                }\n                  , N = l(h);\n                return P=>{\n                    P = N(P);\n                    if (\"*\" === Q)\n                        return P;\n                    var ia = Fb(P);\n                    P = ia.ua();\n                    if (null === P) {\n                        if (\"?\" === Q || \"0\" === Q)\n                            return Ob;\n                        G(\"is empty\")\n                    } else\n                        \"0\" === Q && G(\"is not empty (first item \" + sa.showValue(P) + \")\");\n                    if (\"+\" === Q)\n                        return ia;\n                    ia.next();\n                    const ua = ia.next();\n                    null !== ua && (ia = ia.count() + 2,\n                    G(\"contains \" + ia + \" items (\" + sa.showValue(P) + \", \" + sa.showValue(ua) + (2 < ia ? \",... )\" : \")\")));\n                    return Pb(P)\n                }\n            },\n            choose: function(h) {\n                const G = h.C.map(n);\n                return Q=>{\n                    for (let u = 0; u < G.length; u += 2)\n                        if (e(G[u](Q)))\n                            return G[u + 1](Q);\n                    return Ob\n                }\n            },\n            coercedFn: function(h) {\n                const G = l(h);\n                return Q=>G(Q)\n            },\n            comment: M,\n            compareToInt: function(h) {\n                const G = h.op\n                  , Q = fa.integer.fromString(h.val)\n                  , u = l(h);\n                return N=>{\n                    N = u(N);\n                    const P = N.next();\n                    if (null === P)\n                        return Ob;\n                    if (Hd.tc(P))\n                        return Xb(\"ne\" === G);\n                    if (null !== N.next())\n                        throw new F(\"Value comparison only applicable to single values\",\"XPTY0004\",h);\n                    return Xb(Hd.wf(G, P.compareTo(Q)))\n                }\n            },\n            compareToString: function(h) {\n                const G = h.op\n                  , Q = l(h)\n                  , u = fa.string.fromString(h.val);\n                return N=>{\n                    const P = Q(N)\n                      , ia = P.next();\n                    if (null === ia)\n                        return Ob;\n                    if (null !== P.next())\n                        throw new F(\"Value comparison only applicable to single values\",\"XPTY0004\",h);\n                    return h.comp ? (N = Hd.fe(h.comp, N),\n                    [\"=\", \"eq\", \"!=\", \"ne\"].includes(G) ? Xb(Hd.Th(G, N.equals(ia, u))) : Xb(Hd.wf(G, N.compare(ia, u)))) : Xb(Hd.wf(G, ia.compareTo(u)))\n                }\n            },\n            compAtt: M,\n            compElem: M,\n            condCont: function(h) {\n                const G = l(h);\n                return Q=>{\n                    function u(N) {\n                        if (S.X(N))\n                            switch (N.nodeType) {\n                            case 9:\n                            case 11:\n                            case 1:\n                                return N.hasChildNodes();\n                            default:\n                                return \"\" !== p(N).toString()\n                            }\n                        else\n                            return Y(N) ? 0 < N.keys().length : ja(N) ? 0 < N.value.filter(function(P) {\n                                return 0 < P.filter(ia=>u(ia)).length\n                            }).length : \"\" !== fa.string.R(N).toString()\n                    }\n                    return G(Q).filter(u)\n                }\n            },\n            condSeq: function(h) {\n                function G(u) {\n                    if (S.X(u)) {\n                        if ([9, 11].includes(u.nodeType))\n                            return !u.hasChildNodes();\n                        if (3 === u.nodeType || 4 == u.nodeType)\n                            return \"\" === u.nodeValue\n                    } else {\n                        if (La.pa(u))\n                            return \"\" === fa.string.R(u).toString();\n                        if (ja(u))\n                            return !Z(Pb(u)).some(function(N) {\n                                return !G(N)\n                            })\n                    }\n                    return !1\n                }\n                const Q = h.C.map(u=>({\n                    name: u.N,\n                    eval: n(u)\n                }));\n                return u=>{\n                    let N = [];\n                    const P = [];\n                    let ia = !0;\n                    Q.map(function(ua) {\n                        if (\"onEmpty\" === ua.name)\n                            ia && (N = ua.eval(u).expand());\n                        else if (\"onNonEmpty\" === ua.name) {\n                            const Ba = N.length;\n                            P.unshift(function() {\n                                N.splice.apply(N, [Ba, 0].concat(ua.eval(u).expand()))\n                            })\n                        } else\n                            ua.eval(u).forEachItem(function(Ba) {\n                                G(Ba) || (ia = !1);\n                                N.push(Ba)\n                            })\n                    });\n                    ia || P.forEach(function(ua) {\n                        ua()\n                    });\n                    return Kb(N)\n                }\n            },\n            conditionalSort: function(h) {\n                const G = l(h)\n                  , Q = r(h)\n                  , u = l(h.C[1]);\n                return N=>e(G(N)) ? Q(N) : u(N)\n            },\n            consume: function(h) {\n                throw new F(\"Stylesheet uses 'consume' which requires streaming\",\"SXJS0002\",h);\n            },\n            convert: function(h) {\n                const G = h.to\n                  , Q = La.codes[G];\n                Q || sa.la(\"Unknown to-type \" + h.to);\n                const u = l(h);\n                return W(h, \"p\") ? N=>u(N).mapOneToOne(P=>La.pg(P, G)) : N=>u(N).mapOneToOne(Q.R)\n            },\n            copy: M,\n            copyOf: M,\n            currentGroup: function(h) {\n                return G=>{\n                    if (G && G.ad)\n                        return Kb(G.ad);\n                    throw new F(\"There is no current group\",\"XTDE1061\",h);\n                }\n            },\n            currentGroupingKey: function(h) {\n                return G=>{\n                    if (G && G.bd)\n                        return Kb(G.bd);\n                    throw new F(\"There is no current grouping key\",\"XTDE1071\",h);\n                }\n            },\n            cvUntyped: function(h) {\n                const G = l(h)\n                  , Q = La.codes[h.to]\n                  , u = Q.R\n                  , N = \"string\" === Q.name;\n                return P=>G(P).mapOneToOne(function(ia) {\n                    if (fa.double.matches(ia) && \"float\" === Q.name)\n                        throw new F(\"xs:double may not be promoted to xs:float\",\"XTTE0570\",h);\n                    if (fa.untypedAtomic.matches(ia) || N && fa.anyURI.matches(ia))\n                        try {\n                            return u(ia)\n                        } catch (ua) {\n                            if (\"FODT0001\" === ua.code || !h.diag)\n                                throw ua;\n                            ia = q(h.diag);\n                            throw new F(ua.message,ia.code,h);\n                        }\n                    else\n                        return ia\n                })\n            },\n            data: function(h) {\n                const G = l(h);\n                return Q=>G(Q).mapOneToMany(H)\n            },\n            dbl: function(h) {\n                const G = fa.double.fromString(h.val);\n                return ()=>Pb(G)\n            },\n            dec: function(h) {\n                const G = wa(h.val);\n                return ()=>Wb(G)\n            },\n            doc: M,\n            docOrder: function(h) {\n                const G = l(h);\n                return Q=>S.kd(G(Q))\n            },\n            dot: function(h) {\n                return G=>{\n                    fd(G, \"XPDY0002\", \". (dot)\", h);\n                    return Pb(ed(G))\n                }\n            },\n            elem: M,\n            empty: function() {\n                return ()=>Ob\n            },\n            emptyTextNodeRemover: function(h) {\n                const G = l(h);\n                return Q=>G(Q).filter(u=>!(S.X(u) && (3 === u.nodeType || 4 === u.nodeType) && \"\" === u.textContent))\n            },\n            error: function(h) {\n                return ()=>{\n                    throw new F(h.message,h.code,h);\n                }\n            },\n            evaluate: function(h) {\n                const G = {\n                    language: \"XSLT\",\n                    contextType: {\n                        o: \"1\",\n                        p: \"\",\n                        code: \"1\"\n                    }\n                }\n                  , Q = n(B(h, \"xpath\"))\n                  , u = n(B(h, \"cxt\"))\n                  , N = n(B(h, \"sa\"))\n                  , P = n(B(h, \"nsCxt\"))\n                  , ia = v(h, \"withParam\").map(Ba=>({\n                    name: fa.string.fromString(Ba.name),\n                    eval: l(Ba)\n                }))\n                  , ua = n(B(h, \"wp\"));\n                return Ba=>{\n                    const Fa = Q(Ba).next().toString();\n                    B(h, \"cxt\");\n                    const Pa = u ? u(Ba) : Ob;\n                    let Ua = new cc;\n                    ia.forEach(function(ta) {\n                        Ua.inSituPut(ta.name, ta.eval(Ba).expand())\n                    });\n                    ua && ua(Ba).next().forAllPairs(function(ta) {\n                        if (!fa.QName.matches(ta.k))\n                            throw new F(\"Parameter names in xsl:evaluate/@with-params map must be QNames:\" + ta.k.toString(),\"XTTE3165\",h);\n                        Ua.inSituPut(ta.k, ta.v)\n                    });\n                    Ua = Pb(Ua);\n                    if (N) {\n                        var Na = N(Ba).next().toString();\n                        if (E(Na))\n                            throw new F(\"SaxonJS does not support schema-aware evaluation\",\"XTDE1665\",h);\n                    }\n                    (Na = h.as) && (G.requiredType = Na.toString());\n                    (Na = h.dxns) && \"http://www.w3.org/1999/xhtml\" !== Na.toString() && (G.xpathDefaultNamespace = Na.toString());\n                    let Wa = {};\n                    if (P) {\n                        Na = P(Ba);\n                        var J = Na.next();\n                        if (null === J || null !== Na.next() || !S.X(J))\n                            throw new F(\"xsl:evaluate/@namespace-context must evaluate to a single node\",\"XTTE3170\",h);\n                        Wa[\"\"] = \"\";\n                        ac.Ic(J).forEach(ta=>Wa[ta.prefix] = ta.uri);\n                        G.xpathDefaultNamespace = Wa[\"\"]\n                    } else\n                        Wa = ma(h);\n                    const X = {};\n                    J = Na = !1;\n                    const ka = {};\n                    var ba = B(h, \"options\");\n                    if (ba) {\n                        ba = R(ba, Ba).next();\n                        let ta = fa.string.fromString(\"var-slots\");\n                        ba.containsKey(ta) && ba.get(ta)[0].forAllPairs(function(Ca) {\n                            X[Ca.k.toEQName()] = w(Ca.v)\n                        });\n                        ta = fa.string.fromString(\"allow-empty\");\n                        ba.containsKey(ta) && (Na = ba.get(ta)[0].toBoolean());\n                        ta = fa.string.fromString(\"isStatic\");\n                        ba.containsKey(ta) && (J = ba.get(ta)[0].toBoolean());\n                        ta = fa.string.fromString(\"staticContext\");\n                        ba.containsKey(ta) && ba.get(ta)[0].forAllPairs(function(Ca) {\n                            ka[Ca.k.toString()] = w(Ca.v, !0)\n                        })\n                    }\n                    G.params = Ua;\n                    G.namespaces = Wa;\n                    G.slotMap = X;\n                    G.allowEmpty = Na;\n                    G.staticTyping = !0;\n                    G.isStatic = J;\n                    G.staticContext = ka;\n                    G.dynamicEval = !0;\n                    (Na = B(h, \"baseUri\")) && (G.staticBaseURI = R(Na, Ba).next().toString());\n                    (Na = qa(h, \"defaultCollation\")) && (G.defaultCollation = Na);\n                    return Jd.find(\"SaxonJS\").XPath.evaluateXDM(Fa, Pa, Ba, G)\n                }\n            },\n            every: function(h) {\n                const G = parseInt(h.slot, 10)\n                  , Q = l(h)\n                  , u = r(h);\n                return N=>{\n                    const P = Q(N);\n                    return Xb(!P.some(function(ia) {\n                        N.oa[G] = [ia];\n                        return !e(u(N))\n                    }))\n                }\n            },\n            except: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>new Hb(G(u),Q(u),S.rb)\n            },\n            \"false\": function() {\n                return ()=>Xb(!1)\n            },\n            filter: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return W(h, \"i\") ? u=>{\n                    const N = G(u);\n                    u = Q(u).expand();\n                    if (1 === u.length && fa.numeric.matches(u[0])) {\n                        const P = u[0].toNumber();\n                        if (N instanceof Kb)\n                            return Pb(N.expand()[P - 1] || null);\n                        const ia = Sb(N);\n                        return ia.filter(function() {\n                            return ia.position === P\n                        })\n                    }\n                    return e(Kb(u)) ? N : Ob\n                }\n                : u=>{\n                    const N = G(u)\n                      , P = u.ba(!1);\n                    P.focus = Sb(N);\n                    u = W(h, \"p\") ? function() {\n                        const ia = Q(P).expand();\n                        return 1 === ia.length && fa.numeric.matches(ia[0]) ? P.focus.position === ia[0].toNumber() : e(Kb(ia))\n                    }\n                    : function() {\n                        return e(Q(P))\n                    }\n                    ;\n                    return P.focus.filter(u)\n                }\n            },\n            first: function(h) {\n                const G = l(h);\n                return Q=>Pb(G(Q).next())\n            },\n            flt: function(h) {\n                const G = fa.float.fromString(h.val);\n                return ()=>Pb(G)\n            },\n            fn: function(h) {\n                const G = ke[h.name];\n                G || d(h.name + \"()\", h);\n                const Q = (h.C || []).map(n);\n                return u=>{\n                    const N = Q.map(P=>P(u));\n                    return G(N, u, h)\n                }\n            },\n            fnCoercer: function(h) {\n                const G = l(h)\n                  , Q = ec(h.to)\n                  , u = Q.U\n                  , N = {\n                    alphaTree: Q.$()\n                };\n                return P=>G(P).mapOneToOne(function(ia) {\n                    if (!(ia instanceof ad.XdmFunction || ia instanceof $c || ia instanceof cc)) {\n                        var ua = q(h.diag);\n                        throw new F(\"Required item type of \" + ua.required + \" is \" + Q.toString() + \"; supplied value is \" + sa.showValue(ia),ua.code,h);\n                    }\n                    if ((u instanceof dd ? u.j : []).length !== (ia instanceof ad.XdmFunction ? ia.arity : 1))\n                        throw ua = q(h.diag),\n                        new F(\"Required item type of \" + ua.required + \" is \" + Q.toString() + \"; supplied value is \" + sa.showValue(ia),ua.code,h);\n                    return new ad.zg(N,ia)\n                })\n            },\n            fnRef: function(h) {\n                let G = h.name;\n                G = /^Q{/.test(G) ? fa.QName.fromEQName(G) : fa.QName.fromParts(\"\", Zb.Oa, G);\n                const Q = parseInt(h.arity, 10)\n                  , u = Jd.find(\"SaxonJS\").XPath;\n                return N=>{\n                    var P = N.ba(!0);\n                    P.bb = !0;\n                    if (P = u.getFnSignature(G, Q, P))\n                        return N = P.isUserFunction ? new ad.Ff(P,N) : G.uri === Zb.lc ? new ad.Bf(P,G,h) : new ad.He(P,G,Q,h,N),\n                        Pb(N);\n                    throw new F(\"Reference to an unknown function and/or arity \" + G.toEQName() + \"#\" + Q,\"XPST0017\",h);\n                }\n            },\n            follows: function(h) {\n                const G = f(h, function(Q, u) {\n                    return fa.boolean.fromBoolean(0 < S.rb(Q, u))\n                });\n                return Q=>Pb(G(Q))\n            },\n            \"for\": function(h) {\n                const G = parseInt(h.slot, 10)\n                  , Q = l(h)\n                  , u = r(h);\n                return N=>Q(N).mapOneToMany(function(P) {\n                    N.oa[G] = [P];\n                    return u(N)\n                })\n            },\n            forEach: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return B(h, \"separator\") ? M(h) : u=>{\n                    const N = u.ba(!1);\n                    N.focus = Sb(G(u));\n                    N.ab = null;\n                    return N.focus.mapOneToMany(function() {\n                        return Q(N)\n                    })\n                }\n            },\n            forEachGroup: M,\n            fork: c,\n            functionCall: function(h) {\n                d(h.name + \"()\", h)\n            },\n            gc: b,\n            gc10: function(h) {\n                let G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    let N = G(u).expand()\n                      , P = Q(u).expand();\n                    1 === N.length && fa.boolean.matches(N[0]) ? P = [fa.boolean.fromBoolean(e(Kb(P)))] : 1 === P.length && fa.boolean.matches(P[0]) ? N = [fa.boolean.fromBoolean(e(Kb(N)))] : (N = g(N),\n                    P = g(P));\n                    u = Hd.fe(h.comp, u);\n                    const ia = h.op;\n                    \"=\" !== ia && \"!=\" !== ia ? (N = Kb(N).mapOneToOne(La.XS.numeric.xe).expand(),\n                    P = Kb(P).mapOneToOne(La.XS.numeric.xe).expand()) : u = Hd.Ki(u);\n                    return Hd.gc(Kb(N), P, ia, u, h)\n                }\n            },\n            gcEE: b,\n            gVarRef: function(h) {\n                return G=>{\n                    const Q = D(h, G)\n                      , u = Q.actor\n                      , N = u.name;\n                    if (Q.value === a)\n                        throw G = new F(\"Circularity in global variable \" + N,\"XTDE0640\"),\n                        G.Le = !0,\n                        G;\n                    if (null === Q.value || \"undefined\" === typeof Q.value) {\n                        if (\"globalParam\" === u.N) {\n                            var P = G.fixed.options.Sh\n                              , ia = La.XS.QName.fromEQName(N);\n                            if (P.containsKey(ia))\n                                P = P.get(ia),\n                                sa.assert(Array.isArray(P)),\n                                ia = ec(u.as || \"*\"),\n                                P = x(P, ia, ()=>\"stylesheet parameter \" + N),\n                                sa.assert(Array.isArray(P)),\n                                Q.value = P;\n                            else {\n                                if (W(u, \"r\"))\n                                    throw new F(\"Parameter \" + N + \" is required\",\"XTDE0050\",u);\n                                if (W(u, \"i\"))\n                                    throw new F(\"Parameter \" + N + \" cannot be empty\",\"XTDE0700\",u);\n                                u.C || (Q.value = [])\n                            }\n                        }\n                        if (null === Q.value || \"undefined\" === typeof Q.value) {\n                            P = !u.parentNode.parentNode.parentNode;\n                            ia = G.ba(!0);\n                            ia.qa = \"variable\";\n                            ia.ub.push(null);\n                            ia.gb = {};\n                            ia.ab = null;\n                            ia.sa = Q;\n                            ia.focus = P ? Rb(G.fixed.hd) : null;\n                            try {\n                                const ua = l(u);\n                                Q.value = a;\n                                Q.value = ua(ia).expand()\n                            } catch (ua) {\n                                throw ua instanceof F && (Q.value = [],\n                                fa.QName.fromEQName(N).uri !== Zb.wb + \"generated-variable\" && (ua.Le = !0)),\n                                ua;\n                            }\n                            ia.ub.pop()\n                        }\n                    }\n                    return Kb(Q.value)\n                }\n            },\n            homCheck: function(h) {\n                const G = l(h);\n                return Q=>{\n                    Q = Fb(G(Q));\n                    const u = Q.ua();\n                    if (null === u)\n                        return Ob;\n                    const N = S.X(u);\n                    Q = Q.filter(function(P) {\n                        if (S.X(P) !== N)\n                            throw new F(\"Cannot mix nodes and atomic values in the result of a path expression\",\"XPTY0018\",h);\n                        return !0\n                    });\n                    return N ? S.kd(Q) : Q\n                }\n            },\n            ifCall: function(h) {\n                const G = fa.QName.fromEQName(h.name);\n                if (\"schedule-action\" === G.local) {\n                    const u = l(h)\n                      , N = r(h)\n                      , P = n(h.C[3]);\n                    return ia=>{\n                        var ua = 4 === h.C.length;\n                        if (4 < h.C.length)\n                            throw new F(\"Only attributes @wait, @document and @http-request are available on ixsl:schedule-action in this version of SaxonJS\",\"SXJS0002\",h);\n                        var Ba = u(ia).next().toNumber()\n                          , Fa = N(ia).next()\n                          , Pa = ua ? P(ia).next() : null;\n                        ua = null;\n                        const Ua = ia.ba(!0);\n                        gd(Ua);\n                        let Na, Wa, J;\n                        3 > h.C.length || \"empty\" === h.C[2].N ? Na = Wa = J = null : (Na = h.C[2],\n                        \"bSlot\"in Na ? (Wa = D(Na, ia, \"template\"),\n                        J = Wa.actor) : Wa = J = null);\n                        ee(ia) || (Ua.focus = Sb(Pb(ed(ia))),\n                        Ua.focus.next());\n                        Ua.Bb = null;\n                        Ua.sa = Wa;\n                        Ua.qa = !1;\n                        null === Pa && null !== J && ea(J, Ua);\n                        null != Na && t(Na, ia, Ua);\n                        let X, ka;\n                        null === J ? (X = null,\n                        ka = function() {}\n                        ) : (X = l(J),\n                        ka = function() {\n                            X(Ua).expand()\n                        }\n                        );\n                        if (null !== Pa)\n                            ua = pa.lj(Pa, function(ba) {\n                                Ua.focus = Sb(Pb(ba[0]));\n                                Ua.focus.next();\n                                null !== J && (ea(J, Ua),\n                                ka())\n                            }, Ba, ia.fixed.Ta);\n                        else if (null !== Fa)\n                            Fa = Fa.toString().split(\" \"),\n                            Pa = Fa.map(function(ba) {\n                                return pa.Fb(ba, cd.Ia(h, ia))\n                            }),\n                            pa.jd() ? (ua = pa.hi(Pa, ia.fixed.vd, ka, Ba, ia.fixed.Ta),\n                            ua = 1 === Fa.length ? ua[Pa[0]] : ua) : (Ba = Pa.map(ba=>Jd.find(\"SaxonJS\").getResource({\n                                location: ba,\n                                type: \"text\"\n                            }).then(ta=>{\n                                try {\n                                    return ia.fixed.vd[ba] = ta,\n                                    ka(),\n                                    Promise.resolve(null)\n                                } catch (Ca) {\n                                    return ta = Promise.reject(Ca),\n                                    ia.fixed.Bj.push(ta),\n                                    ta\n                                }\n                            }\n                            )),\n                            Ba = Promise.all(Ba),\n                            ia.fixed.zd.push(Ba));\n                        else if (0 !== Ba)\n                            if (pa.jd())\n                                setTimeout(ka, Ba);\n                            else\n                                throw new F(\"ixsl:schedule-action/@wait is not supported on Node.js\",\"SXJS0002\");\n                        return ua ? Pb(ua) : Ob\n                    }\n                }\n                const Q = (h.C || []).map(n);\n                return u=>{\n                    const N = Q.map(P=>P(u));\n                    return na(G.uri, G.local, N, u, h)\n                }\n            },\n            indexedFilter2: function(h) {\n                const G = n(B(h, \"base\"))\n                  , Q = n(B(h, \"use\"))\n                  , u = n(B(h, \"search\"));\n                return N=>{\n                    const P = Hd.fe(h.comp, N)\n                      , ia = N.ba(!1);\n                    ia.focus = Sb(G(N));\n                    const ua = u(N).expand();\n                    return ia.focus.filter(function() {\n                        const Ba = Q(ia);\n                        return Hd.gc(Ba, ua, \"=\", P, h).next().toBoolean()\n                    })\n                }\n            },\n            inlineFn: function(h) {\n                const G = {\n                    sig: h.sType,\n                    alphaTree: rb(h.sType)\n                };\n                return Q=>Pb(new ad.ai(G,h,Q))\n            },\n            instance: function(h) {\n                const G = l(h)\n                  , Q = ec(h.of);\n                return u=>{\n                    u = G(u).expand();\n                    return Xb(Q.matches(u))\n                }\n            },\n            \"int\": function(h) {\n                const G = fa.integer.fromString(h.val);\n                return ()=>Pb(G)\n            },\n            intersect: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>new Gb(G(u),Q(u),S.rb)\n            },\n            intRangeTest: function(h) {\n                const G = l(h);\n                h = h.C;\n                const Q = n(h[1])\n                  , u = n(h[2]);\n                return N=>{\n                    const P = Q(N).next()\n                      , ia = u(N).next();\n                    if (!P || !ia)\n                        return Xb(!1);\n                    const ua = P.toNumber()\n                      , Ba = ia.toNumber();\n                    N = G(N).some(function(Fa) {\n                        Fa = Fa.value;\n                        return Fa >= ua && Fa <= Ba\n                    });\n                    return Xb(N)\n                }\n            },\n            is: function(h) {\n                const G = f(h, function(Q, u) {\n                    return fa.boolean.fromBoolean(S.isSameNode(Q, u))\n                });\n                return Q=>Pb(G(Q))\n            },\n            isLast: function(h) {\n                const G = \"1\" === h.test;\n                return Q=>Xb(Q.focus.position === Q.focus.last() === G)\n            },\n            iterate: M,\n            javaCall: function(h) {\n                const G = fa.QName.fromEQName(h.name)\n                  , Q = (h.C || []).map(n);\n                return u=>{\n                    const N = Q.map(P=>P(u));\n                    return na(G.uri, G.local, N, u, h)\n                }\n            },\n            lastOf: function(h) {\n                const G = l(h);\n                return Q=>{\n                    const u = Fb(G(Q));\n                    return u.filter(function() {\n                        return null === u.ua()\n                    })\n                }\n            },\n            let: function(h) {\n                const G = l(h)\n                  , Q = r(h)\n                  , u = parseInt(h.slot, 10);\n                return N=>{\n                    const P = N.qa;\n                    N.qa = \"variable\";\n                    const ia = G(N).expand();\n                    N.qa = P;\n                    N.oa[u] = ia;\n                    return Q(N)\n                }\n            },\n            literal: c,\n            lookup: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    function N(Na) {\n                        Ba = Ba.concat(Fa[Na.toString()])\n                    }\n                    function P(Na) {\n                        Ba = Ba.concat(Fa.get(Na))\n                    }\n                    function ia(Na) {\n                        return function(Wa) {\n                            if (!fa.integer.matches(Wa))\n                                throw new F(\"Array lookup key must be of type xs:integer; supplied value is \" + sa.showValue(Wa),\"XPTY0004\",h);\n                            Wa = Wa.toNumber();\n                            if (1 > Wa || Wa > Na.length)\n                                throw new F(\"Array index (\" + Wa + \") out of bounds (1 to \" + Na.length + \")\",\"FOAY0001\",h);\n                            Ba = Ba.concat(Na[Wa - 1])\n                        }\n                    }\n                    const ua = G(u);\n                    let Ba = [], Fa;\n                    u = Q(u).expand();\n                    const Pa = h.tuple;\n                    if (null != Pa) {\n                        const Na = Pa.split(/\\s+/);\n                        for (var Ua of u)\n                            if (-1 === Na.indexOf(Ua.toString()))\n                                throw new F(\"Tuple lookup key must be one of  \" + Pa + \". Supplied key is \" + Ua.toString(),\"XPTY0004\",h);\n                    }\n                    for (; null !== (Fa = ua.next()); )\n                        if (cd.isArray(Fa))\n                            Ua = ia(Fa.value),\n                            u.forEach(Ua);\n                        else if (cd.isMap(Fa))\n                            u.forEach(P);\n                        else if (null != Pa && cd.vh(Fa))\n                            u.forEach(N);\n                        else\n                            throw new F(\"The source for a lookup operator (?) must be of type array() or map(); supplied value is \" + sa.showValue(Fa),\"XPTY0004\",h);\n                    return Kb(Ba)\n                }\n            },\n            lookupAll: function(h) {\n                const G = l(h);\n                return Q=>{\n                    function u(ua) {\n                        P = P.concat(ua)\n                    }\n                    function N(ua) {\n                        P = P.concat(ia.get(ua))\n                    }\n                    Q = G(Q);\n                    let P = [], ia;\n                    for (; null !== (ia = Q.next()); )\n                        if (cd.isArray(ia))\n                            ia.value.forEach(u);\n                        else if (cd.isMap(ia))\n                            ia.keys().forEach(N);\n                        else\n                            throw new F(\"The source for a lookup operator ('?') must be of type array() or map(); supplied value is \" + sa.showValue(ia),\"XPTY0004\",h);\n                    return Kb(P)\n                }\n            },\n            lookupTuple: function(h) {\n                const G = l(h)\n                  , Q = h.key;\n                return u=>{\n                    u = G(u);\n                    let N = [], P;\n                    for (; null !== (P = u.next()); )\n                        if (null != Q && cd.vh(P))\n                            N = N.concat(P[Q]);\n                        else\n                            throw new F(\"The source for a lookupTuple operator (?) must be of type tuple(); supplied value is \" + sa.showValue(P),\"XPTY0004\",h);\n                    return Kb(N)\n                }\n            },\n            map: function(h) {\n                const G = (h.C || []).map(n);\n                return Q=>{\n                    const u = new cc;\n                    let N = null;\n                    G.forEach(function(P) {\n                        if (null === N)\n                            N = P(Q).next();\n                        else {\n                            if (u.containsKey(N))\n                                throw new F(\"Duplicate map constructor entries for key:\" + sa.showValue(N),\"XQDY0137\",h);\n                            P = P(Q).expand();\n                            u.inSituPut(N, P);\n                            N = null\n                        }\n                    });\n                    return Pb(u)\n                }\n            },\n            merge: function(h) {\n                return G=>le.mj(h, G)\n            },\n            mergeAdj: function(h) {\n                const G = l(h);\n                return Q=>{\n                    const u = []\n                      , N = G(Q);\n                    let P = !1, ia;\n                    for (; null !== (ia = N.next()); ) {\n                        var ua = S.X(ia) && (3 === ia.nodeType || 4 === ia.nodeType);\n                        ua && \"\" === ia.nodeValue || (P && ua ? (ua = S.Gc(Q.ja),\n                        u.push(ua.createTextNode(u.pop().nodeValue + ia.nodeValue))) : (P = ua,\n                        u.push(ia)))\n                    }\n                    return Kb(u)\n                }\n            },\n            message: function(h) {\n                const G = n(B(h, \"terminate\"))\n                  , Q = n(B(h, \"error\"));\n                return u=>{\n                    const N = u.qa;\n                    u.qa = \"variable\";\n                    var P = G(u).next();\n                    let ia = Q(u).next().toString();\n                    try {\n                        ia = aa(h, ia, !0).toEQName()\n                    } catch (Pa) {\n                        ia = \"Q{http://www.w3.org/2005/xqt-errors}XTMM9000\"\n                    }\n                    let ua;\n                    try {\n                        ua = E(P.toString())\n                    } catch (Pa) {\n                        throw new F(\"The terminate attribute of xsl:message must be yes|no|true|false|1|0\",\"XTDE0030\",h);\n                    }\n                    P = Vd(u);\n                    const Ba = new $d(P);\n                    try {\n                        var Fa = Zd.Fc(Ba);\n                        Fa.Ea();\n                        Zd.push(h.C[0], u, Fa);\n                        Fa.za()\n                    } catch (Pa) {\n                        Ba.append(La.XS.string.fromString(\"xsl:message evaluation at \" + sa.location(h) + \" failed: \" + Pa))\n                    }\n                    Fa = Kb(P.Ob).next();\n                    u.fixed.options.Xf || (u.fixed.options.Xf = pa.oh());\n                    try {\n                        P = ia,\n                        u.uc[P] || (u.uc[P] = 0),\n                        u.uc[P]++,\n                        u.fixed.options.Xf(Fa, ia)\n                    } catch (Pa) {}\n                    if (ua)\n                        throw sa.Ma(u.getStackTrace(), 1, u.fixed.Ta),\n                        u = new F(\"Terminated with \" + Fa,ia,h),\n                        u.errorObject = Fa,\n                        u;\n                    u.qa = N;\n                    return Ob\n                }\n            },\n            minus: function(h) {\n                const G = l(h);\n                return Q=>G(Q).mapOneToOne(u=>u.nf())\n            },\n            namespace: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    const N = G(u).next().toString();\n                    u = Q(u).next().toString();\n                    if (\"\" !== N && !Ha.Lb(N))\n                        throw new F(\"Prefix \" + N + \" is not an NCName\",\"XTDE0920\",h);\n                    if (\"\" === u)\n                        throw new F(\"Namespace is zero-length\",\"XTDE0930\",h);\n                    if (\"xmlns\" === N)\n                        throw new F(\"Disallowed prefix xmlns\",\"XTDE0920\",h);\n                    if (\"http://www.w3.org/2000/xmlns/\" === u)\n                        throw new F(\"Disallowed namespace \" + u,\"XTDE0905\",h);\n                    if (!C(u))\n                        throw new F(\"Invalid namespace \" + u,\"XTDE0905\",h);\n                    if (\"xml\" === N !== (u === Zb.xml))\n                        throw new F(\"The xml namespace prefix and uri can only be used together\",\"XTDE0925\",h);\n                    return Pb(new bc(N,u))\n                }\n            },\n            nextIteration: M,\n            nextMatch: M,\n            nodeNum: function(h) {\n                return G=>fe.rj(h, G)\n            },\n            \"null\": function(h) {\n                return ()=>Pb(h)\n            },\n            numSeqFmt: function(h) {\n                return G=>fe.sj(h, G)\n            },\n            onEmpty: c,\n            onNonEmpty: c,\n            or: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>Xb(e(G(u)) || e(Q(u)))\n            },\n            origFC: function(h) {\n                h.C || (h.C = []);\n                const G = h.C.map(n);\n                return Q=>{\n                    if (!h._target) {\n                        const P = h.pack\n                          , ia = aa(h, h.name, !1).toEQName()\n                          , ua = h.C.length\n                          , Ba = Q.fixed.La;\n                        Object.keys(Ba).forEach(function(Fa) {\n                            Fa = Ba[Fa];\n                            Fa.Dh.name === P && Fa.name === ia && Fa.actor && \"function\" === Fa.actor.N && v(Fa.actor, \"arg\").length === ua && (h._target = Fa.id)\n                        })\n                    }\n                    const u = Q.fixed.La[h._target]\n                      , N = G.map(P=>P(Q).expand());\n                    return y(h, u, N, Q)\n                }\n            },\n            param: function(h) {\n                const G = h.name\n                  , Q = parseInt(h.slot, 10)\n                  , u = W(h, \"t\")\n                  , N = n(B(h, \"select\"))\n                  , P = n(B(h, \"conversion\"));\n                return ia=>{\n                    var ua = u ? ia.Qb : ia.Kc\n                      , Ba = La.XS.QName.fromEQName(G);\n                    if (ua.containsKey(Ba))\n                        ua = ua.get(Ba),\n                        \"\" !== ec(h.as || \"*\").$().p && (ua = T(ua));\n                    else if (N && !W(h, \"r\"))\n                        Ba = ia.qa,\n                        ia.qa = \"xsl:param\",\n                        ua = N(ia).expand(),\n                        ia.qa = Ba;\n                    else\n                        throw new F(\"Required parameter $\" + G + \" not supplied\",\"XTDE0700\",h);\n                    sa.assert(Array.isArray(ua));\n                    ia.oa[Q] = ua;\n                    if (P)\n                        try {\n                            ia.oa[Q] = P(ia).expand()\n                        } catch (Fa) {\n                            throw new F(\"Supplied value for parameter $\" + G + \" could not be converted to required type\",\"XTTE0590\",h);\n                        }\n                    return Ob\n                }\n            },\n            partialApply: function(h) {\n                const G = l(h)\n                  , Q = []\n                  , u = [];\n                let N = 0;\n                const P = h.C.length - 1;\n                for (let ia = 1; ia < h.C.length; ia++) {\n                    const ua = h.C[ia];\n                    \"null\" === ua.N ? (N++,\n                    Q.push(rb(ua.sT || \"*\"))) : u[ia - 1] = n(ua)\n                }\n                return ia=>{\n                    const ua = G(ia).next()\n                      , Ba = [];\n                    for (let Fa = 0; Fa < P; Fa++)\n                        u[Fa] && (Ba[Fa] = u[Fa](ia).expand());\n                    ia = {\n                        o: \"1\",\n                        p: \"F\",\n                        r: ua.xb.alphaTree.r,\n                        a: Q\n                    };\n                    return Pb(new ad.$h({\n                        minArgs: N,\n                        maxArgs: N,\n                        sig: sb(ia),\n                        alphaTree: ia\n                    },ua,Ba))\n                }\n            },\n            precedes: function(h) {\n                const G = f(h, function(Q, u) {\n                    return fa.boolean.fromBoolean(0 > S.rb(Q, u))\n                });\n                return Q=>Pb(G(Q))\n            },\n            procInst: M,\n            qName: function(h) {\n                const G = fa.QName.fromParts(h.pre, h.uri, h.loc);\n                return ()=>Pb(G)\n            },\n            range: function(h) {\n                const G = fa.integer.fromString(h.from)\n                  , Q = fa.integer.fromString(h.to);\n                return ()=>k(G, Q)\n            },\n            resultDoc: function(h) {\n                return G=>{\n                    try {\n                        if (G.qa)\n                            throw new F(\"Cannot call xsl:result-document while evaluating \" + G.qa,\"XTDE1480\",h);\n                        var Q = I(h, G);\n                        const u = {};\n                        let N = function() {};\n                        const P = B(h, \"format\");\n                        if (P) {\n                            let ka = R(P, G).next().toString();\n                            ka = aa(h, ka, !0).toEQName();\n                            const ba = Q.mg[ka];\n                            if (!ba)\n                                throw new F(\"Unknown xsl:output format \" + ka,\"XTDE1460\");\n                            let ta, Ca;\n                            for (const Ka of ba.C) {\n                                let Qa = Ka.name;\n                                \"parameter-document\" === Qa ? ta = Ka.value : \"Q{http://saxon.sf.net/}parameter-document-base-uri\" === Qa ? Ca = Ka.value : u[Qa] = \"use-character-maps\" === Qa ? ge.yf(Qa, Ka.value, Q) : ge.zf(Qa, Ka.value)\n                            }\n                            if (ta) {\n                                const Ka = pa.Fb(ta, Ca);\n                                let Qa = Nd.Dc(Ka, G);\n                                ge.parseParamDoc(Qa.documentElement, u)\n                            }\n                        }\n                        m(h.global, u, Q);\n                        m(h.local, u, Q);\n                        for (const ka of h.C) {\n                            let ba = ka.role.replace(/^Q{\\}/, \"\");\n                            if (![\"href\", \"format\", \"content\", \"parameter-document\"].includes(ba)) {\n                                \"output-version\" === ba && (ba = \"version\");\n                                let ta = R(ka, G).next().toString();\n                                ta = \"use-character-maps\" === ba ? ge.yf(ba, ta, Q) : ge.zf(ba, ta, L(h, !0));\n                                \"undefined\" !== typeof ta && (u[ba] = ge.pf(ba, ta, u[ba]))\n                            }\n                        }\n                        const ia = B(h, \"Q{}parameter-document\");\n                        if (null !== ia) {\n                            const ka = R(ia, G).next().toString()\n                              , ba = pa.Fb(ka, cd.Ia(h, G));\n                            let ta = Nd.Dc(ba, G);\n                            ge.parseParamDoc(ta.documentElement, u)\n                        }\n                        const ua = G.fixed.Ib\n                          , Ba = B(h, \"href\")\n                          , Fa = null === Ba ? \"\" : R(Ba, G).next().toString();\n                        let Pa;\n                        Pa = ua ? pa.newURL(Fa, ua) : S.ld(Fa) ? pa.newURL(Fa) : Fa;\n                        const Ua = Pa.toString();\n                        if (G.fixed.Ib && Ua === G.fixed.Ib.toString() && 1 < G.ub.length)\n                            throw new F(\"Cannot revert to the original output destination while writing a secondary result\",\"XTDE1490\");\n                        let Na, Wa, J, X;\n                        J = !pa.jd() && !G.masterDocument || G.fixed.se ? \"file\" : \"html-page\";\n                        if (\"html-page\" !== J) {\n                            if (G.fixed.options.dd) {\n                                Na = G.fixed.options.dd(Pa);\n                                if (!Na)\n                                    throw new F(\"deliverResultDocument() result has no destination\");\n                                J = Na.destination\n                            } else\n                                throw new F(\"No deliverResultDocument function supplied\");\n                            if (\"undefined\" !== typeof G.fixed.tb[Ua])\n                                throw new F(\"A result document with URI \" + Ua + \" is attempting to write to a document already read\",\"XTDE1500\",h);\n                            if (G.fixed.Jh[Ua])\n                                throw new F(\"A result document with URI \" + Ua + \" has already been created\",\"XTDE1490\",h);\n                            G.fixed.Jh[Ua] = !0\n                        }\n                        if ([\"file\", \"serialized\"].includes(J))\n                            X = new ge.StringWriter,\n                            Wa = ge.qh(u, X, G),\n                            N = function() {\n                                const ka = X.toString()\n                                  , ba = u.encoding || \"utf-8\";\n                                if (!Na.save)\n                                    throw new F(\"deliverResultDocument() result has no save method\",\"SXJS0004\",h);\n                                Na.save(Pa, ka, ba)\n                            }\n                            ;\n                        else if ([\"document\", \"raw\"].includes(J)) {\n                            const ka = Vd(G);\n                            Wa = \"document\" === J ? new $d(ka) : ka;\n                            N = function() {\n                                const ba = Kb(ka.Ob).next();\n                                ba && (ba._saxonBaseUri = Pa.toString());\n                                if (!Na.save)\n                                    throw new F(\"deliverResultDocument() result has no save method\",\"SXJS0004\",h);\n                                Na.save(Pa, ba)\n                            }\n                        } else if (\"html-page\" === J) {\n                            Q = !1;\n                            let ka = u.method || \"appendContent\";\n                            \"Q{http://saxonica.com/ns/interactiveXSLT}replace-content\" === ka && (ka = \"replaceContent\",\n                            Q = !0);\n                            let ba;\n                            const ta = \"#\" === Fa.charAt(0) || \"?\" === Fa.charAt(0)\n                              , Ca = Vd(G);\n                            Wa = new $d(Ca);\n                            G.ub.push(Fa);\n                            const Ka = O(B(h, \"content\"), G, ta)\n                              , Qa = function(ib, Xa) {\n                                da.Ka(ib).forEachItem(function(ob) {\n                                    Xa.appendChild(ob)\n                                })\n                            };\n                            if (ta) {\n                                if (!G.masterDocument)\n                                    return sa.Ma(\"Result document href=\" + Fa + \": no master document available\", 1, G.fixed.Ta),\n                                    Ob;\n                                if (\"?.\" === Fa)\n                                    ba = ed(G);\n                                else if (\"?\" === Fa.charAt(0)) {\n                                    const ib = ed(G)\n                                      , Xa = Fa.substring(1)\n                                      , ob = {\n                                        language: \"XSLT\",\n                                        contextType: {\n                                            o: \"1\",\n                                            p: \"\",\n                                            code: \"1\"\n                                        },\n                                        namespaces: ma(h),\n                                        dynamicEval: !0\n                                    };\n                                    try {\n                                        ba = Jd.find(\"SaxonJS\").XPath.evaluateXDM(Xa, Pb(ib), G, ob)\n                                    } catch (pb) {\n                                        throw new F(\"Error in xsl:result-document/@href ?xpath:\" + pb.message,\"SXJS0099\",h);\n                                    }\n                                    ba = ba.expand();\n                                    if (1 < ba.length)\n                                        throw new F(\"xsl:result-document/@href ?xpath yields more than one node\",\"SXJS0099\",h);\n                                    ba = ba[0]\n                                } else\n                                    ba = G.masterDocument.getElementById(Fa.substring(1));\n                                if (!ba)\n                                    return sa.Ma(\"Result document href=\" + Fa + \": no such node\", 1, G.fixed.Ta),\n                                    Ob;\n                                if (\"?.\" === Fa && ba !== G.masterDocument && ba.ownerDocument !== S.Gc(G.masterDocument))\n                                    return sa.Ma(\"Result document href=\" + Fa + \": current node is not in master document\", 1, G.fixed.Ta),\n                                    Ob;\n                                if (Q)\n                                    for (; ba.firstChild; )\n                                        ba.removeChild(ba.firstChild);\n                                N = function() {\n                                    Qa(Ka, ba);\n                                    !Jd.find(\"SaxonJS\").getConfigurationProperty(\"autoResetIndexes\") && \"_saxonIndexes\"in G.masterDocument || (G.masterDocument._saxonIndexes = {},\n                                    G.masterDocument._saxonIndexesBC = {})\n                                }\n                            } else\n                                throw new F(\"xsl:result-document/@href value in browser must be '?.' or '#frag'\");\n                        } else\n                            throw new F(\"Unsupported result-document destination \" + J,\"SXJS0002\");\n                        if (\"html-page\" !== J && (\"\" === Fa || Pa.toString() === ua)) {\n                            const ka = G.fixed.Ji;\n                            if (ka) {\n                                if (ka.Yh)\n                                    throw new F(\"Cannot use xsl:result-document to write to a destination already used for the principal output\",\"XTDE1490\");\n                                if (ka.wg)\n                                    throw new F(\"Cannot write more than one xsl:result-document to the principal output destination\",\"XTDE1490\");\n                                ka.wg = !0\n                            }\n                        }\n                        if (\"html-page\" !== J) {\n                            G.ub.push(Pa.toString());\n                            const ka = B(h, \"content\")\n                              , ba = Zd.Fc(Wa);\n                            Zd.push(ka, G, ba);\n                            ba.close()\n                        }\n                        N();\n                        G.ub.pop();\n                        return Ob\n                    } catch (u) {\n                        ca(u, h)\n                    }\n                }\n            },\n            root: function(h) {\n                return G=>{\n                    fd(G, \"XPDY0002\", \"/\", h);\n                    G = ed(G);\n                    if (!S.X(G))\n                        throw new F(\"Context item for '/' must be a node\",\"XPTY0020\",h);\n                    const Q = S.rc(G);\n                    if (9 !== Q.nodeType && 11 !== Q.nodeType)\n                        throw new F(\"Root node for '/' must be a document node\",\"XPDY0050\",h);\n                    return Pb(S.rc(G))\n                }\n            },\n            sequence: c,\n            slash: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    const N = u.ba(!1);\n                    N.focus = Sb(G(u));\n                    return N.focus.mapOneToMany(()=>Q(N))\n                }\n            },\n            some: function(h) {\n                const G = parseInt(h.slot, 10)\n                  , Q = l(h)\n                  , u = r(h);\n                return N=>{\n                    const P = Q(N);\n                    return Xb(P.some(function(ia) {\n                        N.oa[G] = [ia];\n                        return e(u(N))\n                    }))\n                }\n            },\n            sort: function(h) {\n                const G = Hd.Kj(h);\n                return Q=>{\n                    try {\n                        return G(Q)\n                    } catch (u) {\n                        if (u instanceof F && \"FOCH0002\" === u.code)\n                            throw new F(u.message,\"XTDE1035\",h);\n                        if (u instanceof F && \"XPTY0004\" === u.code)\n                            throw new F(u.message,\"XTDE1030\",h);\n                        throw u;\n                    }\n                }\n            },\n            sourceDoc: M,\n            str: function(h) {\n                const G = h.val;\n                return ()=>Tb(G)\n            },\n            subscript: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    var N = G(u);\n                    u = Q(u).next();\n                    if (\"ADI\" === u.code)\n                        u = u.value;\n                    else if (u.equals(u.round(0)))\n                        u = La.XS.integer.R(u).value;\n                    else\n                        return Ob;\n                    return (N = N.kf(u)) ? Pb(N) : Ob\n                }\n            },\n            supplied: function(h) {\n                const G = parseInt(h.slot, 10);\n                return Q=>Kb(Q.oa[G])\n            },\n            tail: function(h) {\n                const G = parseInt(h.start, 10) - 1;\n                let Q = l(h);\n                return u=>{\n                    let N = G;\n                    return Q(u).filter(function() {\n                        return 0 >= N--\n                    })\n                }\n            },\n            tailCallLoop: c,\n            to: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>{\n                    const N = G(u).next();\n                    u = Q(u).next();\n                    return null === N || null === u || 0 < N.compareTo(u) ? Ob : k(N, u)\n                }\n            },\n            treat: function(h) {\n                const G = fc(h.as)\n                  , Q = G.ia()\n                  , u = l(h);\n                return N=>u(N).mapOneToOne(function(P) {\n                    if (Q(P))\n                        return P;\n                    const ia = q(h.diag);\n                    throw new F(\"Required item type of \" + ia.required + \" is \" + G.toString() + \"; supplied value is \" + sa.showValue(P),ia.code,h);\n                })\n            },\n            \"true\": function() {\n                return ()=>Xb(!0)\n            },\n            \"try\": function(h) {\n                const G = l(h)\n                  , Q = v(h, \"catch\");\n                Q.forEach(u=>{\n                    const N = u.errors.split(\" \").map(P=>{\n                        if (\"*\" === P)\n                            return ()=>!0;\n                        if (/^\\*:/.test(P)) {\n                            const ua = P.substring(2);\n                            return Ba=>Ba.local === ua\n                        }\n                        if (/}\\*$/.test(P)) {\n                            const ua = P.substring(2, P.length - 2);\n                            return Ba=>Ba.uri === ua\n                        }\n                        const ia = fa.QName.fromEQName(P);\n                        return ua=>ua.equals(ia)\n                    }\n                    );\n                    u.test = 1 === N.length ? N[0] : P=>N.some(ia=>ia(P))\n                }\n                );\n                return u=>{\n                    try {\n                        return Kb(G(u).expand())\n                    } catch (N) {\n                        if (N instanceof F && !N.Le) {\n                            u.$e = N;\n                            N.xsltLineNr || ra(N, h.C[0]);\n                            let P;\n                            P = N.code.match(\"^Q{\") ? fa.QName.fromEQName(N.code) : fa.QName.fromParts(\"\", \"http://www.w3.org/2005/xqt-errors\", N.code);\n                            for (let ia = 0; ia < Q.length; ia++) {\n                                const ua = Q[ia];\n                                if (ua.test(P))\n                                    return l(ua)(u)\n                            }\n                            throw N;\n                        }\n                        if (N instanceof F)\n                            throw N;\n                        Error.g && Error.g();\n                        throw N;\n                    }\n                }\n            },\n            ufCall: function(h) {\n                const G = (h.C || []).map(n);\n                return Q=>{\n                    const u = D(h, Q, \"function\")\n                      , N = G.map(P=>P(Q).expand());\n                    return y(h, u, N, Q)\n                }\n            },\n            ufRef: function(h) {\n                let G = h.name;\n                G = /^[a-z]+:/.test(G) ? aa(h, G, !0) : /^Q\\{/.test(G) ? fa.QName.fromEQName(G) : fa.QName.fromParts(\"\", Zb.Oa, G);\n                const Q = parseInt(h.arity, 10)\n                  , u = Jd.find(\"SaxonJS\").XPath;\n                return N=>{\n                    const P = u.getFnSignature(G, Q, N);\n                    if (P && P.isUserFunction)\n                        return N = new ad.Ff(P,N),\n                        Pb(N);\n                    sa.la(\"Named user function \" + G + \"#\" + Q + \" not found\")\n                }\n            },\n            union: function(h) {\n                const G = l(h)\n                  , Q = r(h);\n                return u=>new Eb(G(u),Q(u),S.rb)\n            },\n            useAS: M,\n            valueOf: M,\n            varRef: function(h) {\n                const G = parseInt(h.slot, 10);\n                return Q=>Kb(Q.oa[G])\n            },\n            vc: function(h) {\n                function G(ia) {\n                    return null === ia ? null : fa.untypedAtomic.matches(ia) ? fa.string.R(ia) : ia\n                }\n                const Q = h.op\n                  , u = h.onEmpty\n                  , N = l(h)\n                  , P = r(h);\n                return ia=>{\n                    const ua = N(ia)\n                      , Ba = P(ia)\n                      , Fa = G(ua.next())\n                      , Pa = G(Ba.next());\n                    if (null === Fa || null === Pa)\n                        return u ? Xb(\"1\" === u) : Ob;\n                    if (null !== ua.next() || null !== Ba.next())\n                        throw new F(\"Value comparison only applicable to single values\",\"XPTY0004\",h);\n                    if (Fa.isNumeric() && isNaN(Fa.value) || Pa.isNumeric() && isNaN(Pa.value))\n                        return Xb(\"ne\" === Q);\n                    ia = Hd.fe(h.comp, ia);\n                    return [\"=\", \"eq\", \"!=\", \"ne\"].includes(Q) ? Xb(Hd.Th(Q, ia.equals(Fa, Pa))) : Xb(Hd.wf(Q, ia.compare(Fa, Pa)))\n                }\n            }\n        };\n        K.prototype = {\n            value: null,\n            containsKey: function(h) {\n                return \"undefined\" !== typeof this.value[h]\n            },\n            get: function(h) {\n                return ha(this.value[h])\n            },\n            inSituPut: function() {\n                throw new F(\"inSituPut() not allowed for JSValue\",\"SXJS0005\");\n            },\n            put: function() {\n                throw new F(\"put() not allowed for JSValue\",\"SXJS0005\");\n            },\n            remove: function() {\n                throw new F(\"remove() not allowed for JSValue\",\"SXJS0005\");\n            },\n            keys: function() {\n                throw new F(\"keys() not allowed for JSValue\",\"SXJS0005\");\n            },\n            forAllPairs: function() {\n                throw new F(\"forEach() not allowed for JSValue\",\"SXJS0005\");\n            },\n            conforms: function() {\n                throw new F(\"conforms() not allowed for JSValue\",\"SXJS0005\");\n            },\n            showValue: function() {\n                return \"JSValue \" + sa.showValue(this.value)\n            }\n        };\n        U.prototype = {\n            value: null,\n            showValue: function() {\n                return \"XDMValue \" + sa.showValue(this.value)\n            }\n        };\n        return {\n            da: B,\n            Ve: t,\n            Sb: H,\n            li: g,\n            Ik: function() {\n                return \"ancestor ancestor-or-self attribute child descendant descendant-or-self following following-sibling namespace parent preceding preceding-sibling self preceding-or-ancestor\".split(\" \")\n            },\n            Tf: ea,\n            qb: v,\n            ti: la,\n            Uf: x,\n            sb: w,\n            ke: I,\n            ig: D,\n            Fd: e,\n            Sa: l,\n            Vg: r,\n            ib: n,\n            escape: function(h, G) {\n                let Q = \"\";\n                Da(h).forEach(function(u) {\n                    const N = Ea([u]);\n                    Q += G(u, N) ? encodeURIComponent(N) : N\n                });\n                return Q\n            },\n            evaluate: R,\n            qc: function(h, G) {\n                return null === h ? Ob : R(h, G)\n            },\n            Ai: function(h, G, Q, u) {\n                const N = ke[h.local];\n                N || d(h.toString() + \"()\", u);\n                return N(G.map(P=>Kb(P)), Q, u)\n            },\n            Bi: function(h, G, Q, u) {\n                return na(h.uri, h.local, G.map(N=>Kb(N)), Q, u)\n            },\n            flatten: Z,\n            hg: qa,\n            Rk: function(h) {\n                if (\"undefined\" !== typeof h)\n                    return z(h, \"module\", 20) + \"#\" + z(h, \"line\", 10)\n            },\n            Db: W,\n            Ic: ma,\n            isArray: ja,\n            isMap: Y,\n            Jd: V,\n            vh: function(h) {\n                return h instanceof me\n            },\n            hj: E,\n            Ef: K,\n            fl: d,\n            Ej: q,\n            Aj: function(h) {\n                na = h\n            },\n            pl: ca,\n            Ia: A,\n            xd: T,\n            sg: aa,\n            Wd: L,\n            Xh: function(h) {\n                return \"AZ\" === h.code ? fa.double.R(h) : h\n            },\n            Oj: C,\n            Ra: ha,\n            Hk: U\n        }\n    }();\n    // Input 40\n    abstractNode = Node;\n    HostPlatform = function() {\n        function a() {\n            Math.trunc = Math.trunc || function(H) {\n                return 0 > H ? Math.ceil(H) : Math.floor(H)\n            }\n            ;\n            Array.prototype.findIndex || Object.defineProperty(Array.prototype, \"findIndex\", {\n                value: function(H, p) {\n                    if (null === this || \"undefined\" == typeof this)\n                        throw new TypeError(\"Array.prototype.findIndex called on null or undefined\");\n                    if (\"function\" !== typeof H)\n                        throw new TypeError(\"predicate must be a function\");\n                    let g = Object(this), e = g.length >>> 0, k;\n                    for (let v = 0; v < e; v++)\n                        if (k = g[v],\n                        H.call(p, k, v, g))\n                            return v;\n                    return -1\n                },\n                enumerable: !1,\n                configurable: !1,\n                writable: !1\n            });\n            Array.prototype.includes || Object.defineProperty(Array.prototype, \"includes\", {\n                value: function(H) {\n                    if (null === this || \"undefined\" == typeof this)\n                        throw new TypeError(\"Array.prototype.includes called on null or undefined\");\n                    return this.findIndex(p=>p === H)\n                }\n            });\n            String.prototype.includes || (String.prototype.includes = function(H, p) {\n                \"number\" !== typeof p && (p = 0);\n                return p + H.length > this.length ? !1 : -1 !== this.indexOf(H, p)\n            }\n            )\n        }\n        let c = Resources, q;\n        const E = {\n            name: \"Browser\",\n            init: function() {\n                a()\n            },\n            inBrowser: function() {\n                return !0\n            },\n            expose: function(H, p) {\n                window[p] = H;\n                try {\n                    module.exports = H\n                } catch (g) {}\n            },\n            getPromise: function(H, p, g, e) {\n                return new Promise(function(k, v) {\n                    let t = new XMLHttpRequest;\n                    if (g || e)\n                        g ? (\"text\" === g ? g = \"text/plain\" : \"json\" === g ? g = \"application/json\" : \"xml\" === g && (g = \"application/xml\"),\n                        e && (g = g + \";charset=\" + e),\n                        t.overrideMimeType(g)) : console.log(\"Error: cannot specify encoding without a resource type\");\n                    t.open(\"GET\", H);\n                    for (let C in p)\n                        p.hasOwnProperty(C) && t.setRequestHeader(C, p[C]);\n                    t.onload = function() {\n                        200 <= this.status && 300 > this.status ? k({\n                            responseText: t.responseText,\n                            contentType: t.getResponseHeader(\"Content-Type\")\n                        }) : v(new F(t.statusText + \": \" + H,\"SXJS0006\"))\n                    }\n                    ;\n                    t.onerror = function() {\n                        v(new F(\"Document fetch failed: \" + H,\"SXJS0006\"))\n                    }\n                    ;\n                    t.send(null)\n                }\n                )\n            },\n            asyncGet: function(H, p, g) {\n                let e = new XMLHttpRequest;\n                e.open(\"GET\", H, !0);\n                e.setRequestHeader(\"Accept\", \"application/xml, text/xml;q=0.9, application/xhtml+xml;q=0.8, */*;q=0.7\");\n                0 !== g && (e.timeout = g);\n                e.onload = function() {\n                    4 === e.readyState && (200 === e.status ? p({\n                        responseText: e.responseText,\n                        contentType: e.getResponseHeader(\"Content-Type\")\n                    }) : p(new F(e.statusText + \": \" + H,\"SXJS0006\")))\n                }\n                ;\n                e.ontimeout = function() {\n                    p(new F(\"Document fetch timeout: \" + H,\"SXJS0008\"))\n                }\n                ;\n                e.onabort = function() {\n                    p(new F(\"Document fetch aborted: \" + H,\"SXJS0008\"))\n                }\n                ;\n                e.onerror = function() {\n                    p(new F(\"Document fetch failed: \" + H,\"SXJS0006\"))\n                }\n                ;\n                e.send(null);\n                return e\n            },\n            addDoc: function(H, p, g, e, k) {\n                function v(t) {\n                    sa.Ma(\"Add to response pool \" + H, 2, k);\n                    g[H] = t;\n                    p(g)\n                }\n                if (!g[H] || g[H]instanceof F)\n                    return E.asyncGet(H, v, e);\n                sa.Ma(\"Doc already in pool \" + H, 2, k);\n                p(g);\n                return null\n            },\n            addMultipleDocs: function(H, p, g, e, k) {\n                function v(m) {\n                    0 >= --t && g(m)\n                }\n                let t = H.length\n                  , C = {};\n                for (let m = 0; m < H.length; m++)\n                    H[m] ? C[H[m]] = E.addDoc(H[m], v, p, e, k) : t--;\n                return C\n            },\n            makeHttpRequest: function(H, p, g, e) {\n                function k(f) {\n                    if (f instanceof DocumentFragment) {\n                        let A = document.implementation.createDocument(\"\", \"\", null);\n                        f = A.importNode(f, !0);\n                        A.appendChild(f);\n                        f = A\n                    }\n                    return f\n                }\n                function v(f, A) {\n                    return function(O) {\n                        m.status = 0;\n                        m.message = f + \": \" + t.href;\n                        m.error = A;\n                        m.type = O.type;\n                        p(cd.xd(cd.Ra(m)))\n                    }\n                }\n                let t = cd.sb(H, !0);\n                (function(f) {\n                    function A(b) {\n                        throw new F(b + \" in HTTP request to: \" + f.href,\"SXJS0006\");\n                    }\n                    if (!f.href)\n                        throw new F(\"'href' must be specified in HTTP request\",\"SXJS0006\");\n                    f.method || A(\"'method' must be specified\");\n                    f.method = f.method.toUpperCase();\n                    \"status-only\"in f && \"boolean\" !== typeof f[\"status-only\"] && A(\"'status-only' parameter must be of type xs:boolean\");\n                    f.ji = \"GET\" != f.method && \"HEAD\" != f.method;\n                    f.gf = \"body\"in f || \"multipart-bodies\"in f;\n                    (\"multipart-bodies\"in f || \"multipart-headers\"in f) && A(\"Multipart requests not yet implemented\");\n                    !f.ji && f.gf && A(\"Body and multipart body content must be null for \" + f.method + \" request\");\n                    \"headers\"in f || (f.headers = {});\n                    const O = f[\"media-type\"] || f.headers[\"content-type\"] || \"\";\n                    f.gf && \"\" === O && A(\"No content type specified\");\n                    f.gf && \"media-type\"in f && (f.headers[\"content-type\"] = O);\n                    \"multipart-bodies\"in f && !/$multipart\\//.test(O) && A(\"Content type must be multipart media type for multipart request\");\n                    (\"username\"in f && !(\"password\"in f) || !(\"username\"in f) && \"password\"in f) && A(\"Must set both (or neither) username and password\");\n                    f.body instanceof DocumentFragment && (f.body = k(f.body, O));\n                    !f.gf || \"text/xml\" != O && \"application/xml\" != O && \"text/xml-external-parsed-entity\" != O && \"application/xml-external-parsed-entity\" != O && !/\\+xml$/.test(O) && \"text/html\" != O || f.body instanceof Document || A(\"HTTP request body must be a document node, supplied item is: \" + sa.showValue(f.body));\n                    sa.Ma(\"HTTP request prepared\", 2, e);\n                    return f\n                }\n                )(t);\n                \"undefined\" == typeof XMLHttpRequest && (XMLHttpRequest = function() {\n                    return new ActiveXObject(\"Msxml2.XMLHTTP.6.0\")\n                }\n                );\n                let C = new XMLHttpRequest;\n                \"override-media-type\"in t && C.overrideMimeType(t[\"override-media-type\"]);\n                \"username\"in t ? C.open(t.method, t.href, !0, t.username, t.password) : C.open(t.method, t.href, !0);\n                \"timeout\"in t && 0 === g && (g = t.timeout);\n                0 !== g && (C.timeout = g);\n                for (let f in t.headers)\n                    t.headers.hasOwnProperty(f) && C.setRequestHeader(f, t.headers[f]);\n                t.body && 9 === t.body.nodeType && (t.body = ge.serialize(t.body));\n                let m = {};\n                C.ontimeout = v(\"HTTP request timeout\", \"SXJS0008\");\n                C.onabort = v(\"HTTP request aborted\", \"SXJS0008\");\n                C.onerror = v(\"HTTP request failed\", \"SXJS0009\");\n                C.onload = function(f) {\n                    sa.Ma(\"SaxonJS processing httpRequest response\", 2, e);\n                    m.headers = {};\n                    m.status = C.status;\n                    m.message = C.statusText;\n                    m.type = f.type;\n                    if (!t[\"status-only\"] && \"HEAD\" !== t.method) {\n                        f = (C.getResponseHeader(\"Content-Type\") || \"\").split(/;/)[0];\n                        f = t[\"override-media-type\"] || f;\n                        m[\"media-type\"] = f;\n                        const A = E.parseXmlFromString;\n                        switch (f) {\n                        case \"text/xml\":\n                        case \"application/xml\":\n                        case \"text/xml-external-parsed-entity\":\n                        case \"application/xml-external-parsed-entity\":\n                            m.body = C.responseXML || A(C.responseText);\n                            m.body._saxonBaseUri = t.href;\n                            m.body._saxonDocUri = t.href;\n                            break;\n                        case \"text/html\":\n                            m.body = C.responseXML || A(C.responseText, !1, f);\n                            m.body._saxonBaseUri = t.href;\n                            m.body._saxonDocUri = t.href;\n                            break;\n                        default:\n                            /\\+xml$/.test(f) ? (m.body = C.responseXML || A(C.responseText),\n                            m.body._saxonBaseUri = t.href,\n                            m.body._saxonDocUri = t.href) : m.body = C.responseText\n                        }\n                    }\n                    (function(A, O) {\n                        O = O.getAllResponseHeaders();\n                        \"\" !== O && O.split(/\\r\\n/).forEach(function(b) {\n                            if (\"\" !== b.trim()) {\n                                const d = b.indexOf(\":\");\n                                0 <= d ? A.headers[b.substring(0, d).toLowerCase()] = b.substring(d + 1).trim() : sa.Ma(\"No ':' separator found in HTTP response header \" + b, 2, e)\n                            }\n                        })\n                    }\n                    )(m, C);\n                    p(cd.xd(cd.Ra(m)))\n                }\n                ;\n                C.send(t.body);\n                return C\n            },\n            parseXmlFromString: function(H, p, g) {\n                H = H.replace(/\\r\\n|\\r(?!\\n)/g, \"\\n\");\n                g ||= \"application/xml\";\n                try {\n                    const k = (new DOMParser).parseFromString(H, g);\n                    if (0 === k.getElementsByTagName(\"parsererror\").length)\n                        var e = !1;\n                    else {\n                        if (!q)\n                            try {\n                                q = (new DOMParser).parseFromString(\"<\", \"text/xml\").getElementsByTagName(\"parsererror\")[0].namespaceURI\n                            } catch (v) {}\n                        e = 0 < k.getElementsByTagNameNS(q, \"parsererror\").length\n                    }\n                    if (e)\n                        throw Error(k.getElementsByTagNameNS(q, \"parsererror\")[0].textContent);\n                    return k\n                } catch (k) {\n                    throw new F(\"Misplaced or malformed markup\" + (k.message ? \": \" + k.message : \"\"),\"FODC0002\");\n                }\n            },\n            resource: function(H) {\n                return c[H]\n            },\n            readFile: function(H, p=!1) {\n                let g = new XMLHttpRequest, e;\n                try {\n                    g.open(\"GET\", H, !1),\n                    g.setRequestHeader(\"Accept\", \"application/xml, text/xml;q=0.9, application/xhtml+xml;q=0.8, */*;q=0.7\"),\n                    g.send(null)\n                } catch (k) {\n                    throw new F(\"Get failure \" + H,\"FODC0002\");\n                }\n                if (200 === g.status)\n                    p ? e = {\n                        responseText: g.responseText,\n                        contentType: g.getResponseHeader(\"Content-Type\")\n                    } : e = g.responseText;\n                else\n                    throw new F(\"Failed to read file at \" + H,\"FODC0002\");\n                return e\n            },\n            resourcePromise: function(H) {\n                let p, g = \"file\";\n                if (H.file)\n                    p = Promise.reject(new F(\"File access not supported in browser (\" + H.file + \")\",\"SXJS0006\"));\n                else if (H.location) {\n                    let e = H.location\n                      , k = H.headers\n                      , v = e;\n                    e instanceof URL ? e = e.toString() : v = new URL(e);\n                    g = e;\n                    \"file:\" === v.protocol ? p = Promise.reject(new F(\"File access not supported in browser (\" + v + \")\",\"SXJS0006\")) : p = E.getPromise(e, k, H.type, H.encoding).then(t=>t.responseText)\n                }\n                return p.catch(e=>Promise.reject(new F(\"Failed to read \" + g + \"(\" + e.message + \")\",\"SXJS0006\"))).then(e=>{\n                    65279 === e.codePointAt(0) && (e = e.substring(1));\n                    return Promise.resolve(e)\n                }\n                )\n            },\n            resolveUri: function(H, p) {\n                try {\n                    return (p && null !== p && \"\" !== p ? H && \"\" !== H ? new URL(H,p) : new URL(p) : new URL(H)).toString()\n                } catch (g) {\n                    throw new F(\"Failed URI resolution: href=\" + H + \" base=\" + p + \" -- \" + g,\"FODC0005\");\n                }\n            },\n            baseURL: function() {\n                return window.document.baseURI\n            },\n            getDefaultDeliverMessage: function() {\n                return function(H) {\n                    let p = \"\";\n                    cd.Sb(H).expand().forEach(function(g) {\n                        p += (\"\" === p ? \"\" : \" \") + g.toString()\n                    });\n                    console.log(\"xsl:message: \" + p)\n                }\n            },\n            isHTMLElement: function(H) {\n                return \"http://www.w3.org/1999/xhtml\" === H.namespaceURI\n            },\n            saxonPrint: function(H) {\n                console.log(H)\n            },\n            createDocument: function() {\n                return document.implementation.createDocument(\"\", \"\", null)\n            },\n            setDocURI: function(H, p) {\n                H._saxonBaseUri = p;\n                return H\n            },\n            newURL: function(H, p=null) {\n                return null !== p ? new URL(H,p) : new URL(H)\n            },\n            extraProperties: {\n                platform: \"Browser\"\n            },\n            toUTF8: function(H) {\n                return (new TextEncoder).encode(H)\n            },\n            fromUTF8: function(H) {\n                return (new TextDecoder).decode(H)\n            },\n            globalObject: window\n        };\n        return E\n    }();\n    // Input 41\n    // Input 42\n    // Input 43\n    function ed(a) {\n        return ee(a) ? null : a.focus.current\n    }\n    function fd(a, c, q, E=null) {\n        if (ee(a))\n            throw new F(\"Focus for \" + q + \" is absent\",c,E);\n    }\n    function gd(a) {\n        a.ad = null;\n        a.bd = null;\n        a.Bb = null\n    }\n    function ee(a) {\n        return !a.focus || !a.focus.current\n    }\n    class ne {\n        constructor() {\n            this.depth = 0;\n            this.masterDocument = this.j = this.ja = this.sa = this.focus = null;\n            this.qa = !1;\n            this.ub = [];\n            this.fixed = {\n                yd: null,\n                zd: [],\n                Ta: null\n            };\n            this.Kc = new cc;\n            this.Qb = new cc;\n            this.ab = null;\n            this.gb = {};\n            this.Bb = this.bd = this.ad = this.ie = this.$e = null;\n            this.Mb = [];\n            this.Ge = null;\n            this.oa = [];\n            this.uc = {};\n            this.g = null\n        }\n        toString() {\n            let a = \"{\";\n            this.Kc.forAllPairs(c=>a += c.k + \":(\" + c.v + \"),\");\n            a += \"}\";\n            return \"context: \" + ed(this) + \" localParams: \" + a\n        }\n        ba(a) {\n            const c = new ne;\n            c.depth = this.depth + 1;\n            c.focus = this.focus;\n            c.sa = this.sa;\n            c.ja = this.ja;\n            c.masterDocument = this.masterDocument;\n            c.gb = this.gb;\n            c.ab = this.ab;\n            c.$e = this.$e;\n            c.ad = this.ad;\n            c.Mb = this.Mb;\n            c.bd = this.bd;\n            c.fixed = this.fixed;\n            c.qa = this.qa;\n            c.ub = this.ub;\n            c.ie = this.ie;\n            c.Ge = this.Ge;\n            c.uc = this.uc;\n            c.g = this;\n            a ? (c.Kc = new cc,\n            c.Qb = new cc,\n            c.oa = [],\n            c.Bb = null) : (c.Kc = this.Kc,\n            c.Qb = this.Qb,\n            c.oa = this.oa,\n            c.Bb = this.Bb);\n            return c\n        }\n        createElement(a, c) {\n            const q = ac.Gc(this.ja)\n              , E = q.documentElement;\n            \"\" === a && E && pa.Zb(E) ? c = q.createElement(c) : \"http://www.w3.org/1999/xhtml\" === a && E && pa.Zb(E) ? (a = c.indexOf(\":\"),\n            c = q.createElement(-1 === a ? c : c.substring(a + 1))) : c = q.createElementNS(a, c);\n            return c\n        }\n        getStackTrace() {\n            let a = \"\";\n            ee(this) || (a = \"    Processing \" + sa.showValue(this.focus.current) + \"\\n\");\n            try {\n                let c = this.sa.actor, q;\n                \"mode\" === c.N ? (q = \"template rule\",\n                c = this.ab.action) : q = c.N + \" \" + c.name;\n                a += \"    at \" + q + \" in \" + cd.hg(c, \"module\") + \"#\" + cd.hg(c, \"line\")\n            } catch (c) {\n                a = \"\"\n            }\n            this.g && (a += \"\\n\" + this.g.getStackTrace());\n            return a\n        }\n    }\n    ;// Input 44\n    var oe = {}\n      , pe = {};\n    oe[0] = \"<eof>\";\n    oe[1] = \"|\";\n    oe[2] = \"/\";\n    oe[3] = \"@\";\n    oe[48] = \"~\";\n    oe[4] = \"[\";\n    oe[5] = \"(\";\n    oe[6] = \"=\";\n    oe[7] = \",\";\n    oe[8] = \"//\";\n    oe[9] = \"or\";\n    oe[10] = \"and\";\n    oe[11] = \">\";\n    oe[12] = \"<\";\n    oe[13] = \">=\";\n    oe[14] = \"<=\";\n    oe[15] = \"+\";\n    oe[16] = \"-\";\n    oe[299] = \"-\";\n    oe[17] = \"*\";\n    oe[18] = \"div\";\n    oe[19] = \"mod\";\n    oe[20] = \"is\";\n    oe[21] = \"$\";\n    oe[22] = \"!=\";\n    oe[40] = \"!\";\n    oe[30] = \"||\";\n    oe[23] = \"intersect\";\n    oe[24] = \"except\";\n    oe[25] = \"return\";\n    oe[26] = \"then\";\n    oe[27] = \"else\";\n    oe[29] = \"to\";\n    oe[31] = \"in\";\n    oe[32] = \"some\";\n    oe[33] = \"every\";\n    oe[34] = \"satisfies\";\n    oe[35] = \"<function>(\";\n    oe[36] = \"<axis>\";\n    oe[37] = \"if(\";\n    oe[38] = \"<<\";\n    oe[39] = \">>\";\n    oe[41] = \"::\";\n    oe[42] = \":*\";\n    oe[44] = \"#\";\n    oe[45] = \"instance of\";\n    oe[46] = \"cast as\";\n    oe[47] = \"treat as\";\n    oe[50] = \"eq\";\n    oe[51] = \"ne\";\n    oe[52] = \"gt\";\n    oe[54] = \"ge\";\n    oe[53] = \"lt\";\n    oe[55] = \"le\";\n    oe[56] = \"idiv\";\n    oe[57] = \"castable as\";\n    oe[58] = \":=\";\n    oe[71] = \"as\";\n    oe[75] = \":\";\n    oe[76] = \"=>\";\n    oe[79] = \"otherwise\";\n    oe[80] = \"andAlso\";\n    oe[81] = \"orElse\";\n    oe[201] = \"<name>\";\n    oe[202] = \"<string-literal>\";\n    oe[203] = \"]\";\n    oe[204] = \")\";\n    oe[205] = \".\";\n    oe[206] = \"..\";\n    oe[207] = \"*\";\n    oe[208] = \"<prefix:*>\";\n    oe[209] = \"<numeric-literal>\";\n    oe[69] = \"<node-type>()\";\n    oe[211] = \"for\";\n    oe[70] = \"<*:local-name>\";\n    oe[213] = \"?\";\n    oe[59] = \"{\";\n    oe[60] = \"<keyword> {\";\n    oe[215] = \"}\";\n    oe[216] = \"let\";\n    oe[299] = \"-\";\n    function qe(a, c) {\n        pe[a] = c;\n        oe[c] = a\n    }\n    qe(\"instance of\", 45);\n    qe(\"cast as\", 46);\n    qe(\"treat as\", 47);\n    qe(\"castable as\", 57);\n    // Input 45\n    var re = {\n        Nk: function() {\n            return null\n        }\n    };\n    for (const a in Zb)\n        re[a.toUpperCase()] = Zb[a];\n    re.sk = Zb.lc;\n    re.ci = Zb.Wc;\n    function se(a) {\n        a = a.charCodeAt(0);\n        return 65 <= a && 90 >= a || 97 <= a && 122 >= a\n    }\n    var te = Ha.Lb;\n    function ue(a) {\n        const c = a.charCodeAt(0);\n        return se(a) || 48 <= c && 57 >= c\n    }\n    function ve(a, c=\"XPST0003\") {\n        return new F(a,c)\n    }\n    function we(a=\"Illegal Argument\") {\n        return new F(a,\"XPST0003\")\n    }\n    ;// Input 46\n    function xe(a, c) {\n        a.xa = c;\n        0 === c ? (a.V = -1,\n        a.ta = \"\",\n        a.J = -1) : c === ye && (a.V = 204,\n        a.ta = \")\",\n        a.J = 204)\n    }\n    function ze(a) {\n        a.V = a.j;\n        a.ta = a.K;\n        a.K = null;\n        for (a.aa = a.g; ; ) {\n            if (a.g >= a.I) {\n                a.j = 0;\n                break\n            }\n            var c = a.B.charAt(a.g++);\n            switch (c) {\n            case \"/\":\n                if (a.g < a.I && \"/\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 8;\n                    return\n                }\n                a.j = 2;\n                return;\n            case \":\":\n                if (a.g < a.I) {\n                    \":\" === a.B.charAt(a.g) ? (a.g++,\n                    a.j = 41) : \"=\" === a.B.charAt(a.g) ? (a.j = 58,\n                    a.g++) : a.j = 75;\n                    return\n                }\n                throw new ve(\"Unexpected colon at start of token\");\n            case \"@\":\n                a.j = 3;\n                return;\n            case \"~\":\n                a.j = 48;\n                return;\n            case \"?\":\n                a.j = 213;\n                return;\n            case \"[\":\n                a.j = 4;\n                return;\n            case \"]\":\n                a.j = 203;\n                return;\n            case \"{\":\n                a.j = 59;\n                return;\n            case \"}\":\n                a.j = 215;\n                return;\n            case \"(\":\n                if (a.g < a.I && \":\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    for (c = 1; 0 < c && a.g < a.I - 1; )\n                        \"\\n\" === a.B.charAt(a.g) ? Ae(a) : \":\" === a.B.charAt(a.g) && \")\" === a.B.charAt(a.g + 1) ? (c--,\n                        a.g++) : \"(\" === a.B.charAt(a.g) && \":\" === a.B.charAt(a.g + 1) && (c++,\n                        a.g++),\n                        a.g++;\n                    if (0 < c)\n                        throw new ve(\"Unclosed XPath comment\");\n                    ze(a)\n                } else\n                    a.j = 5;\n                return;\n            case \")\":\n                a.j = 204;\n                return;\n            case \"+\":\n                a.j = 15;\n                return;\n            case \"-\":\n                a.j = 16;\n                return;\n            case \"=\":\n                if (a.g < a.I && \">\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 76;\n                    return\n                }\n                a.j = 6;\n                return;\n            case \"!\":\n                if (a.g < a.I && \"=\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 22;\n                    return\n                }\n                a.j = 40;\n                return;\n            case \"*\":\n                (c = a.g < a.I && \":\" === a.B.charAt(a.g) && a.g + 1 < a.I) && !(c = 127 < a.B.charAt(a.g + 1)) && (c = a.B.charAt(a.g + 1),\n                c = se(c) || \"_\" === c);\n                if (c) {\n                    a.g++;\n                    a.j = 70;\n                    return\n                }\n                a.j = 207;\n                return;\n            case \",\":\n                a.j = 7;\n                return;\n            case \"$\":\n                a.j = 21;\n                return;\n            case \"|\":\n                if (a.g < a.I && \"|\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 30;\n                    return\n                }\n                a.j = 1;\n                return;\n            case \"#\":\n                a.j = 44;\n                return;\n            case \"<\":\n                if (a.g < a.I && \"=\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 14;\n                    return\n                }\n                if (a.g < a.I && \"<\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 38;\n                    return\n                }\n                a.j = 12;\n                return;\n            case \">\":\n                if (a.g < a.I && \"=\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 13;\n                    return\n                }\n                if (a.g < a.I && \">\" === a.B.charAt(a.g)) {\n                    a.g++;\n                    a.j = 39;\n                    return\n                }\n                a.j = 11;\n                return;\n            case \".\":\n                if (a.g < a.I) {\n                    var q = a.B.charAt(a.g);\n                    if (\".\" === q) {\n                        a.g++;\n                        a.j = 206;\n                        return\n                    }\n                    if (\"{\" === q) {\n                        a.g++;\n                        a.K = \".\";\n                        a.j = 60;\n                        return\n                    }\n                }\n                if (a.g === a.I || \"0\" > a.B.charAt(a.g) || \"9\" < a.B.charAt(a.g)) {\n                    a.j = 205;\n                    return\n                }\n            case \"0\":\n            case \"1\":\n            case \"2\":\n            case \"3\":\n            case \"4\":\n            case \"5\":\n            case \"6\":\n            case \"7\":\n            case \"8\":\n            case \"9\":\n                q = !0;\n                var E = !1\n                  , H = !0;\n                a: for (; ; ) {\n                    switch (c) {\n                    case \"0\":\n                    case \"1\":\n                    case \"2\":\n                    case \"3\":\n                    case \"4\":\n                    case \"5\":\n                    case \"6\":\n                    case \"7\":\n                    case \"8\":\n                    case \"9\":\n                        E = !1;\n                        break;\n                    case \".\":\n                        if (H)\n                            E = H = !1;\n                        else {\n                            a.g--;\n                            break a\n                        }\n                        break;\n                    case \"E\":\n                    case \"e\":\n                        if (q)\n                            E = !0,\n                            q = !1;\n                        else {\n                            a.g--;\n                            break a\n                        }\n                        break;\n                    case \"+\":\n                    case \"-\":\n                        if (E)\n                            E = !1;\n                        else {\n                            a.g--;\n                            break a\n                        }\n                        break;\n                    default:\n                        if (\"a\" <= c && \"z\" >= c || 127 < c)\n                            throw new ve(\"Separator needed after numeric literal\" + Be(a, a.g));\n                        a.g--;\n                        break a\n                    }\n                    if (a.g >= a.I)\n                        break;\n                    c = a.B.charAt(a.g++)\n                }\n                a.K = a.B.substring(a.aa, a.g);\n                a.j = 209;\n                return;\n            case '\"':\n            case \"'\":\n                for (a.K = \"\"; ; ) {\n                    a.g = a.B.indexOf(c, a.g);\n                    if (0 > a.g)\n                        throw a.g = a.aa + 1,\n                        new ve(\"Unmatched quote in expression\");\n                    a.K += a.B.substring(a.aa + 1, a.g++);\n                    if (a.g < a.I)\n                        if (a.B.charAt(a.g) === c)\n                            a.K += c,\n                            a.aa = a.g,\n                            a.g++;\n                        else\n                            break;\n                    else\n                        break\n                }\n                if (0 <= a.K.indexOf(\"\\n\"))\n                    for (c = 0; c < a.K.length; c++)\n                        \"\\n\" === a.K.charAt(c) && Ae(a, a.aa + c + 1);\n                a.j = 202;\n                return;\n            case \"\\n\":\n                Ae(a, a.g);\n            case \" \":\n            case \"\\t\":\n            case \"\\r\":\n                a.aa = a.g;\n                break;\n            case \"\\u00b6\":\n            case \"Q\":\n                if (a.g < a.I && \"{\" === a.B.charAt(a.g)) {\n                    q = a.B.indexOf(\"}\", a.g++);\n                    if (q < a.g)\n                        throw new ve(\"Missing closing brace in EQName\");\n                    c = a.B.substring(a.g, q);\n                    c = Ha.collapse(c);\n                    if (c.includes(\"{\"))\n                        throw new ve(\"EQName must not contain opening brace\");\n                    a.g = q + 1;\n                    q = a.g;\n                    for (E = !1; a.g < a.I; )\n                        if (H = a.B.charAt(a.g),\n                        128 < H || ue(H) || \"_\" === H || \".\" === H || \"-\" === H)\n                            a.g++;\n                        else {\n                            \"*\" === H && q === a.g && (a.g++,\n                            E = !0);\n                            break\n                        }\n                    a.K = \"Q{\" + c + \"}\" + a.B.substring(q, a.g);\n                    a.j = E ? 208 : 201;\n                    return\n                }\n            default:\n                if (128 > c.charCodeAt(0) && !se(c))\n                    throw new ve(\"Invalid character '\" + c + \"' in expression\");\n            case \"_\":\n                q = !1;\n                a: for (; a.g < a.I; a.g++)\n                    switch (c = a.B.charAt(a.g),\n                    c) {\n                    case \":\":\n                        if (q)\n                            break a;\n                        else {\n                            if (213 === a.V || 70 === a.V) {\n                                a.K = a.B.substring(a.aa, a.g);\n                                a.j = 201;\n                                return\n                            }\n                            if (a.g + 1 < a.I) {\n                                c = a.B.charAt(a.g + 1);\n                                if (\":\" === c) {\n                                    a.K = a.B.substring(a.aa, a.g);\n                                    a.j = 36;\n                                    a.g += 2;\n                                    return\n                                }\n                                if (\"*\" === c) {\n                                    a.K = a.B.substring(a.aa, a.g);\n                                    a.j = 208;\n                                    a.g += 2;\n                                    return\n                                }\n                                if (!(\"_\" === c || 127 < c || se(c))) {\n                                    a.K = a.B.substring(a.aa, a.g);\n                                    a.j = 201;\n                                    return\n                                }\n                            }\n                            q = !0\n                        }\n                        break;\n                    case \".\":\n                    case \"-\":\n                        if (150 < a.V && 213 !== a.V && 70 !== a.V && -1 !== Ce(a.B.substring(a.aa, a.g)) && (201 !== a.V || -1 === Ce(a.ta))) {\n                            a.j = Ce(a.B.substring(a.aa, a.g));\n                            return\n                        }\n                    case \"_\":\n                        break;\n                    default:\n                        if (128 > c.charCodeAt(0) && !ue(c))\n                            break a\n                    }\n                a.K = a.B.substring(a.aa, a.g);\n                a.j = 201;\n                return\n            }\n        }\n    }\n    function De(a, c) {\n        a.xa = 0;\n        a.j = 0;\n        a.K = null;\n        a.aa = 0;\n        a.g = 0;\n        a.B = c;\n        a.lineNumber = 0;\n        a.Ca = 0;\n        a.I = c.length;\n        ze(a);\n        a.next()\n    }\n    function Ce(a) {\n        a = {\n            or: 9,\n            is: 20,\n            to: 29,\n            \"in\": 31,\n            eq: 50,\n            ne: 51,\n            le: 55,\n            lt: 53,\n            gt: 52,\n            ge: 54,\n            as: 71,\n            and: 10,\n            div: 18,\n            mod: 19,\n            idiv: 56,\n            then: 26,\n            \"else\": 27,\n            \"case\": 67,\n            where: 28,\n            union: 1,\n            except: 24,\n            \"return\": 25,\n            otherwise: 79,\n            orElse: 81,\n            \"default\": 212,\n            andAlso: 80,\n            intersect: 23,\n            satisfies: 34\n        }[a];\n        return [81, 80].includes(a) ? -1 : a || -1\n    }\n    function Ae(a, c=-1) {\n        a.lineNumber++;\n        a.Ca++;\n        null === a.ra && (a.ra = []);\n        a.ra.push(-1 === c ? a.g - 1 : c)\n    }\n    function Be(a, c=null) {\n        var q = c ? c : a.g;\n        return \" at line:\" + Ee(a, c) + \" col:\" + Fe(a, c) + \" near '\" + a.B.slice(5 > q ? 0 : q - 5, q + 5) + \"'\"\n    }\n    function Ge(a) {\n        a.g > a.I && (a.g = a.I);\n        return 34 > a.g ? a.B.substring(0, a.g) : Ha.collapse(\"...\" + a.B.substring(a.g - 30, a.g)).toString()\n    }\n    function He(a, c) {\n        if (null === a.ra)\n            return c;\n        for (var q = a.ra.length - 1; 0 <= q; q--) {\n            var E = a.ra[q];\n            if (c > E)\n                return q + 1 << 16 | c - E\n        }\n        return c\n    }\n    function Ee(a, c=null) {\n        return c ? He(a, c) >> 16 : a.lineNumber\n    }\n    function Fe(a, c=null) {\n        return He(a, c ? c : a.je) & 32767\n    }\n    class Ie {\n        constructor() {\n            this.J = this.xa = 0;\n            this.T = null;\n            this.j = this.je = 0;\n            this.K = null;\n            this.aa = 0;\n            this.B = null;\n            this.I = this.g = 0;\n            this.Ca = this.lineNumber = 1;\n            this.ra = null;\n            this.V = -1;\n            this.ta = \"\"\n        }\n        next() {\n            this.V = this.J;\n            this.ta = this.T;\n            this.J = this.j;\n            this.T = this.K;\n            null === this.T && (this.T = \"\");\n            this.je = this.aa;\n            this.lineNumber = this.Ca;\n            switch (this.J) {\n            case 201:\n                var a = Ce(this.T);\n                -1 === a || 150 >= this.V || 213 === this.V || (this.J = a);\n                break;\n            case 207:\n                150 >= this.V || 213 === this.V || (this.J = 17)\n            }\n            if (215 !== this.J && (a = this.V,\n            ze(this),\n            201 === this.J && this.xa !== Je && 21 !== a))\n                switch (this.j) {\n                case 5:\n                    var c = Ce(this.T);\n                    -1 === c || 150 >= a ? (this.J = this.gg(this.T),\n                    ze(this)) : this.J = c;\n                    break;\n                case 59:\n                    this.xa !== Ke && (this.J = 60,\n                    ze(this));\n                    break;\n                case 41:\n                    ze(this);\n                    this.J = 36;\n                    break;\n                case 44:\n                    ze(this);\n                    this.J = 43;\n                    break;\n                case 42:\n                    ze(this);\n                    this.J = 208;\n                    break;\n                case 21:\n                    \"for\" === this.T ? this.J = 211 : \"some\" === this.T ? this.J = 32 : \"every\" === this.T ? this.J = 33 : \"let\" === this.T && (this.J = 216);\n                    break;\n                case 201:\n                    a = this.T + \" \" + this.K,\n                    c = pe[a],\n                    null != c && (this.J = c,\n                    this.T = a,\n                    ze(this))\n                }\n        }\n        gg(a) {\n            const c = {\n                \"if\": 37,\n                array: 69,\n                attribute: 69,\n                comment: 69,\n                \"document-node\": 69,\n                element: 69,\n                \"empty-sequence\": 69,\n                \"function\": 69,\n                map: 69,\n                item: 69,\n                \"namespace-node\": 69,\n                node: 69,\n                \"processing-instruction\": 69,\n                \"schema-attribute\": 69,\n                \"schema-element\": 69,\n                \"switch\": 69,\n                otherwise: 79,\n                text: 69,\n                tuple: 69,\n                typeswitch: 69,\n                union: 69\n            }[a];\n            return c ? [\"tuple\", \"union\"].includes(a) ? 35 : c : 35\n        }\n    }\n    var Je = 1\n      , Ke = 2\n      , ye = 3;\n    // Input 47\n    var Le = [!1, !1, !0, !0, !0, !0, !0, !0, !0, !0, !1, !1, !0, !1];\n    function Me(a) {\n        return \"ancestor ancestor-or-self attribute child descendant descendant-or-self following following-sibling namespace parent preceding preceding-sibling self preceding-or-ancestor\".split(\" \")[a]\n    }\n    var Ne = [1, 1, 2, 1, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1]\n      , Oe = [4, 5, 9, 9, 0, 1, 10, 11, 9, 3, 6, 7, 12];\n    function Pe(a) {\n        switch (a) {\n        case \"self\":\n            return 12;\n        case \"child\":\n            return 3;\n        case \"parent\":\n            return 9;\n        case \"ancestor\":\n            return 0;\n        case \"attribute\":\n            return 2;\n        case \"following\":\n            return 6;\n        case \"namespace\":\n            return 8;\n        case \"preceding\":\n            return 10;\n        case \"descendant\":\n            return 4;\n        case \"ancestor-or-self\":\n            return 1;\n        case \"following-sibling\":\n            return 7;\n        case \"preceding-sibling\":\n            return 11;\n        case \"descendant-or-self\":\n            return 5\n        }\n        throw new ve(\"Unknown axis name: \" + a);\n    }\n    ;// Input 48\n    function Qe(a, c, q, E=\"XPTY0004\") {\n        this.kind = a;\n        this.j = c;\n        this.g = q;\n        this.errorCode = E\n    }\n    Qe.prototype = {\n        Id: function() {\n            return this.errorCode\n        },\n        save: function() {\n            let a = this.kind + \"|\" + this.g + \"|\";\n            a += (\"XPTY0004\" === this.errorCode ? \"\" : this.errorCode) + \"|\";\n            return a += this.j\n        }\n    };\n    // Input 49\n    function Re(a, c, q={}) {\n        a.start(c, q);\n        c.end()\n    }\n    class Se {\n        constructor() {\n            this.l = dc.Aa\n        }\n        start(a, c={}) {\n            a.start(this.O, c);\n            this.role && a.ud(\"role\", this.role);\n            this.ag && a.ud(\"sType\", this.l.ha())\n        }\n        $b() {\n            return !Zc(this.l.fa)\n        }\n        G(a) {\n            Re(this, a)\n        }\n    }\n    oa = Se.prototype;\n    oa.O = \"Expression\";\n    oa.kind = null;\n    oa.role = null;\n    oa.ag = null;\n    oa.Da = function(a, c=\"XPTY0004\") {\n        return new Qe(this.kind,this.O,a,c)\n    }\n    ;\n    oa.Ga = function() {\n        throw new ve(sa.Ij(this) + \" is not a valid pattern\",\"XTSE0340\");\n    }\n    ;\n    oa.Gd = function() {\n        return this\n    }\n    ;\n    class Te extends Se {\n        constructor(a, c, q) {\n            super();\n            this.Va = c;\n            this.ea = a;\n            this.ga = q;\n            if (this.ea.Wa || this.ga.Wa)\n                this.Wa = !0;\n            this.ea.Kb && this.ga.Kb && (this.Kb = !0)\n        }\n        G(a) {\n            super.start(a, this.Va ? {\n                op: oe[this.Va]\n            } : {});\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    Te.prototype.kind = 1;\n    class Ue extends Se {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.g.Wa && (this.Wa = !0);\n            this.g.Kb && (this.Kb = !0)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    Ue.prototype.kind = 9;\n    // Input 50\n    class Ve extends Se {\n        constructor() {\n            super();\n            this.l = dc.mc\n        }\n        Ga() {\n            return this\n        }\n        G(a) {\n            Re(this, a)\n        }\n    }\n    class We extends Ve {\n    }\n    We.prototype.O = \"p.any\";\n    class Xe extends Ve {\n        constructor(a) {\n            super();\n            this.message = a;\n            this.role = \"match\";\n            this.l = dc.mc\n        }\n        G(a) {\n            Re(this, a, {\n                message: this.message\n            })\n        }\n    }\n    Xe.prototype.O = \"p.warning\";\n    class Ye extends Ve {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.l = dc.mc\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    Ye.prototype.O = \"p.booleanExp\";\n    class Ze extends Ve {\n        constructor(a) {\n            super();\n            sa.assert(a instanceof lc);\n            this.test = a;\n            this.l = new gc(a,2)\n        }\n        G(a) {\n            Re(this, a, {\n                test: this.test.ha()\n            })\n        }\n    }\n    Ze.prototype.O = \"p.nodeTest\";\n    class $e extends Ve {\n        constructor(a, c) {\n            super();\n            this.pattern = a;\n            this.g = c;\n            this.l = a.l;\n            a.code && (this.code = a.code)\n        }\n        G(a) {\n            super.start(a);\n            this.code && a.ud(\"code\", this.code);\n            this.pattern.G(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    $e.prototype.O = \"p.withPredicate\";\n    class af extends Ve {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.l = Vc(a.l, 2)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    af.prototype.O = \"p.nodeSet\";\n    class bf extends Ve {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.l = Vc(a.l, 2)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    bf.prototype.O = \"p.genNode\";\n    class cf extends Ve {\n        constructor(a, c) {\n            super();\n            this.g = c;\n            this.code = a.l.ha();\n            this.l = Vc(a.l, 2)\n        }\n        G(a) {\n            super.start(a, {\n                test: this.code\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    cf.prototype.O = \"p.genPos\";\n    class df extends Ve {\n        constructor(a, c) {\n            super();\n            this.code = a.ha();\n            this.Od = c;\n            this.l = Vc(a, 2)\n        }\n        G(a) {\n            Re(this, a, {\n                test: this.code,\n                pos: this.Od\n            })\n        }\n    }\n    df.prototype.O = \"p.simPos\";\n    class ef extends Ve {\n        constructor(a, c, q) {\n            super();\n            this.axis = Oe[a];\n            this.lb = c;\n            this.g = q;\n            this.l = c.l\n        }\n        G(a) {\n            super.start(a, {\n                axis: Me(this.axis)\n            });\n            this.lb.G(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    ef.prototype.O = \"p.withUpper\";\n    class ff extends Ve {\n        constructor(a, c, q, E) {\n            super();\n            this.Va = c;\n            this.ea = a;\n            this.ga = q;\n            this.l = Vc(E, 2)\n        }\n        G(a) {\n            super.start(a, {\n                op: 1 === this.Va ? \"union\" : oe[this.Va]\n            });\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    ff.prototype.O = \"p.venn\";\n    function gf(a) {\n        var c = [];\n        a.ea instanceof hf ? c = gf(a.ea) : c.push(a.ea);\n        a.ga instanceof hf ? c = c.concat(gf(a.ga)) : c.push(a.ga);\n        return c\n    }\n    class hf extends ff {\n        constructor(a, c, q) {\n            super(a, 1, c, q)\n        }\n    }\n    class jf extends Ve {\n        constructor(a) {\n            super();\n            this.g = a;\n            for (var c of this.g)\n                c.ag = !0\n        }\n        G(a) {\n            super.start(a);\n            for (var c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    jf.prototype.O = \"UnionExprP\";\n    // Input 51\n    function kf(a) {\n        return a instanceof lf && 1 === a.value.length && uc.ia()(a.value[0])\n    }\n    function mf(a, c) {\n        return new lf(a,c)\n    }\n    function nf() {\n        return new lf([],dc.Ie)\n    }\n    class lf extends Se {\n        constructor(a, c) {\n            super();\n            Array.isArray(a) || sa.la(\"Literal value must be array\");\n            c instanceof gc && c.U.ha || sa.la(\"Literal type must be a SequenceType\");\n            a && (this.value = a,\n            c && (this.l = c));\n            this.role = null\n        }\n        toString() {\n            return this.value.toString()\n        }\n        G(a) {\n            function c(q, E) {\n                const H = q.code\n                  , p = {};\n                switch (H) {\n                case \"AB\":\n                    break;\n                case \"AQ\":\n                    p.pre = q.prefix;\n                    p.uri = q.uri;\n                    p.loc = q.local;\n                    break;\n                default:\n                    p.val = q.toString()\n                }\n                E && (p.role = E);\n                switch (H) {\n                case \"AS\":\n                    a.start(\"str\", p);\n                    break;\n                case \"AO\":\n                    a.start(\"dbl\", p);\n                    break;\n                case \"AB\":\n                    a.start(q.value ? \"true\" : \"false\", p);\n                    break;\n                case \"AD\":\n                    a.start(\"dec\", p);\n                    break;\n                case \"ADI\":\n                    a.start(\"int\", p);\n                    break;\n                case \"AQ\":\n                    a.start(\"qName\", p);\n                    break;\n                default:\n                    p.type = H,\n                    a.start(\"atomic\", p)\n                }\n                a.end()\n            }\n            if (0 === this.value.length)\n                a.start(\"empty\", this.role ? {\n                    role: this.role\n                } : {}),\n                a.end();\n            else if (1 === this.value.length)\n                c(this.value[0], this.role);\n            else {\n                let q = {\n                    count: this.value.length\n                };\n                this.role && (q.role = this.role);\n                a.start(\"atomic\", q);\n                for (const E of this.value)\n                    c(E);\n                a.end()\n            }\n        }\n    }\n    lf.prototype.O = \"literal\";\n    lf.prototype.Kb = !0;\n    class of extends lf {\n        constructor(a) {\n            super([La.XS.string.fromString(a)], dc.ec);\n            this.l = dc.ec\n        }\n    }\n    ;// Input 52\n    function pf(a, c, q, E, H) {\n        var p = qf(a, dc.dc, a.Da(0, \"XPTY0004\"));\n        p = new rf(p);\n        if (/[lu]/.test(c))\n            p.td = {\n                flags: c + (H ? \"e\" : \"\"),\n                as: q.toEQName()\n            };\n        else {\n            sa.assert(\"a\" === c);\n            try {\n                if (a instanceof lf && 1 === a.value.length && La.pa(a.value[0]) && \"AQ\" !== E.$().p) {\n                    const g = E.Vc.R(a.value[0]);\n                    return new lf([g],new gc(E,2))\n                }\n            } catch (g) {}\n            p.td = {\n                flags: H ? \"ae\" : \"a\",\n                as: E.ha()\n            }\n        }\n        return p\n    }\n    class rf extends Ue {\n        constructor(a) {\n            super(a);\n            this.O = \"cast\";\n            this.kind = 2;\n            this.td = {}\n        }\n        G(a) {\n            super.start(a, this.td);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    function sf(a, c, q, E, H) {\n        var p = new tf(a);\n        p = qf(p, dc.dc, p.Da(0, \"XPTY0004\"));\n        if (/[lu]/.test(c))\n            p.td = {\n                flags: c + (H ? \"e\" : \"\"),\n                as: q.toEQName()\n            };\n        else {\n            sa.assert(\"a\" === c);\n            if (a instanceof lf && 1 === a.value.length && La.pa(a.value[0]) && \"AQ\" !== E.$().p)\n                try {\n                    return E.Vc.R(a.value[0]),\n                    new lf([La.XS.boolean.Xc],dc.cb)\n                } catch (g) {\n                    return new lf([La.XS.boolean.ae],dc.cb)\n                }\n            p.td = {\n                flags: H ? \"ae\" : \"a\",\n                as: E.ha()\n            }\n        }\n        return p\n    }\n    class tf extends Ue {\n        constructor(a) {\n            super(a);\n            this.l = dc.cb;\n            this.O = \"castable\";\n            this.kind = 2;\n            this.td = {}\n        }\n        G(a) {\n            super.start(a, this.td);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    class uf extends Ue {\n        constructor(a, c) {\n            super(a);\n            this.j = c;\n            this.l = jd(a.l.U) ? dc.Jg : dc.Ad\n        }\n        G(a) {\n            super.start(a, {\n                diag: this.j\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    uf.prototype.O = \"data\";\n    class vf extends uf {\n        constructor(a, c, q) {\n            super(a, c);\n            this.B = q;\n            jd(a.l.U) ? this.l = q ? dc.If : dc.Ig : this.l = q ? dc.dc : dc.Oe\n        }\n        G(a) {\n            super.start(a, {\n                diag: this.j\n            });\n            this.B && a.ud(\"card\", \"?\");\n            this.g.G(a);\n            a.end()\n        }\n    }\n    vf.prototype.O = \"atomSing\";\n    class wf extends Se {\n        constructor(a) {\n            super();\n            this.name = a.U.name.toEQName();\n            this.l = dc.If\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.name\n            })\n        }\n    }\n    wf.prototype.O = \"attVal\";\n    class xf extends Ue {\n        constructor(a, c, q) {\n            super(a);\n            this.code = c;\n            this.j = q;\n            this.l = dc.Ad\n        }\n        G(a) {\n            super.start(a, {\n                to: this.code,\n                diag: this.j\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    xf.prototype.O = \"cvUntyped\";\n    class yf extends Ue {\n        constructor(a, c) {\n            super(a);\n            this.type = c;\n            this.flags = \"\";\n            this.l = new gc(c.U,a.l.fa)\n        }\n        G(a) {\n            super.start(a, {\n                to: this.type.ha().replace(/^[01?*+]/, \"\"),\n                flags: this.flags\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    yf.prototype.O = \"convert\";\n    class zf extends Ue {\n        constructor(a, c, q) {\n            super(a);\n            this.type = c;\n            this.resultType = a.resultType;\n            this.j = q;\n            this.l = c\n        }\n        G(a) {\n            super.start(a, {\n                to: this.type.ha().replace(/^[01?*+]/, \"\"),\n                diag: this.j\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    zf.prototype.O = \"fnCoercer\";\n    // Input 53\n    const Af = \"array attribute comment document-node element empty-sequence function if item map namespace-node node processing-instruction schema-attribute schema-element switch text typeswitch\".split(\" \");\n    class Bf {\n        constructor(a, c) {\n            if (\"\" === a.prefix && Af.includes(a.local))\n                throw new ve(\"The unprefixed function name '\" + a.local + \"' is reserved\",\"XPST0003\");\n            this.name = a;\n            this.arity = c\n        }\n        toEQName() {\n            return this.name.toEQName()\n        }\n        toString() {\n            return this.name.toEQName() + \"#\" + this.arity\n        }\n    }\n    ;// Input 54\n    class Cf extends Se {\n        constructor(a, c, q) {\n            super();\n            const E = a.name.local;\n            if (a.name.uri === Zb.lc) {\n                if (\"NOTATION\" === E)\n                    throw new F(\"No constructor function exists for xs:NOTATION\",\"XPST0017\");\n                const p = c[0].l;\n                if (2 === p.fa && p.U.pa() && p.U.Vc && E === p.U.Vc.name)\n                    a = c[0];\n                else if ([\"NMTOKENS\", \"ENTITIES\", \"IDREFS\"].includes(E))\n                    a = pf(c[0], \"l\", a.name, null, !0);\n                else {\n                    var H;\n                    \"numeric\" === E ? H = pf(c[0], \"u\", a.name, null, !0) : H = pf(c[0], \"a\", null, q.U, !0);\n                    a = H\n                }\n                return a\n            }\n            this.name = a;\n            this.g = c;\n            this.l = q;\n            switch (E) {\n            case \"exactly-one\":\n                this.l = Vc(c[0].l, 2);\n                break;\n            case \"head\":\n                this.l = Vc(c[0].l, Xc(c[0].l.fa) ? 3 : 2);\n                break;\n            case \"tail\":\n            case \"subsequence\":\n                this.l = Vc(c[0].l, 7);\n                break;\n            case \"ceiling\":\n            case \"floor\":\n            case \"reverse\":\n            case \"snapshot\":\n                this.l = c[0].l;\n                break;\n            case \"last\":\n            case \"position\":\n                this.Wa = !0;\n                break;\n            case \"string-length\":\n            case \"normalize-space\":\n                0 === c.length && this.g.push(Df(\"string\", new Ef));\n                break;\n            case \"fold-left\":\n            case \"fold-right\":\n                this.l = c[2].resultType;\n                break;\n            case \"for-each\":\n                this.l = Vc(c[1].l.U.ff(), 7);\n                break;\n            case \"filter\":\n                this.l = Vc(c[0].l, 7);\n                break;\n            case \"current\":\n                this.Kb = !0;\n                break;\n            case \"boolean\":\n                if (c[0].l.equals(dc.cb))\n                    return c[0]\n            }\n        }\n        Ga() {\n            return new af(this)\n        }\n        $b() {\n            if (this.name.uri === Zb.Oa)\n                return \"doc document element-with-id id innermost key outermost\".split(\" \").includes(this.name.local) ? !0 : \"filter one-or-more subsequence remove tail trace unordered zero-or-more\".split(\" \").includes(this.name.local) ? this.g[0].$b() : !1\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.name.local\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Cf.prototype.O = \"fn\";\n    class Ff extends Se {\n        constructor(a, c, q) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName()\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Ff.prototype.O = \"ifCall\";\n    class Gf extends Se {\n        constructor(a, c, q) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q;\n            if (a = \"merge\" === a.name.local)\n                a = c[0],\n                a = !(a instanceof lf && 0 === a.value.length);\n            a && (this.l = Vc(c[0].l, 2))\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName()\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Gf.prototype.O = \"ifCall\";\n    class Hf extends Se {\n        constructor(a, c, q) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName()\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Hf.prototype.O = \"ifCall\";\n    class If extends Ff {\n    }\n    class Jf extends Se {\n        constructor(a, c, q) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName()\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Jf.prototype.O = \"ifCall\";\n    class Kf extends Se {\n        constructor(a, c, q) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName()\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Kf.prototype.O = \"ifCall\";\n    class Lf extends Kf {\n        constructor(a, c, q) {\n            super(a, c, q);\n            const E = new Bf(La.XS.QName.fromParts(\"ixsl\", Zb.nd, \"call\"),3)\n              , H = new Bf(La.XS.QName.fromParts(\"ixsl\", Zb.nd, \"window\"),0);\n            this.name = E;\n            this.g = [new Kf(H,[],dc.mc), new of(a.name.local), new Mf(c)];\n            this.l = q\n        }\n    }\n    class Nf extends Se {\n        constructor(a, c, q, E) {\n            super();\n            this.name = a;\n            this.g = c;\n            this.l = q;\n            this.j = E\n        }\n        G(a) {\n            super.start(a, {\n                name: this.name.toEQName(),\n                coId: this.j\n            });\n            for (const c of this.g)\n                c.G(a);\n            a.end()\n        }\n    }\n    Nf.prototype.O = \"ufCall\";\n    class Of extends Se {\n        constructor(a) {\n            super();\n            this.name = a.name.name;\n            this.xb = a.xb;\n            this.arity = a.name.arity;\n            this.l = a.l;\n            this.resultType = a.resultType\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.name.toEQName(),\n                arity: this.arity,\n                resultType: this.resultType.ha()\n            })\n        }\n    }\n    Of.prototype.O = \"fnRef\";\n    class Pf extends Of {\n        constructor(a) {\n            super(a);\n            this.g = 0\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.name.toEQName(),\n                arity: this.arity,\n                resultType: this.resultType.ha(),\n                bSlot: this.g\n            })\n        }\n    }\n    Pf.prototype.O = \"ufRef\";\n    class Qf extends Se {\n        constructor() {\n            super();\n            this.l = dc.Aa\n        }\n        G(a) {\n            Re(this, a, {\n                asCode: \"*\"\n            })\n        }\n    }\n    Qf.prototype.O = \"null\";\n    class Rf extends Se {\n    }\n    Rf.prototype.g = {};\n    Rf.prototype.B = {};\n    Rf.prototype.j = {};\n    class Sf extends Se {\n        constructor() {\n            super();\n            this.l = dc.Aa;\n            this.slot = this.$a = this.name = this.bc = null\n        }\n        gd() {\n            return this.name\n        }\n        toString() {\n            return \"$\" + this.name + \" as \" + this.l.toString()\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.name,\n                asCode: this.l.ha(),\n                slot: this.slot\n            })\n        }\n    }\n    Sf.prototype.O = \"arg\";\n    class Tf extends Se {\n        constructor(a, c, q) {\n            super();\n            this.params = a;\n            this.resultType = c;\n            const E = [];\n            a.forEach(H=>{\n                E.push(H.l)\n            }\n            );\n            q = qf(q, c, this.Da(\"body\"));\n            this.l = kc(new dd(E,c));\n            this.arity = a.length;\n            this.body = q;\n            q.role = \"body\"\n        }\n        G(a) {\n            super.start(a, {\n                arity: this.arity,\n                name: this.name,\n                as: this.resultType.ha()\n            });\n            for (const c of this.params)\n                c.G(a);\n            this.body.G(a);\n            a.end()\n        }\n    }\n    oa = Tf.prototype;\n    oa.O = \"inlineFn\";\n    oa.kind = 5;\n    oa.Da = function(a, c=\"XPTY0004\") {\n        return new Qe(this.kind,\"(\" + this.params.map(q=>q.toString()).join(\",\") + \")\" + (this.resultType ? \" as \" + this.resultType.toString() : \"\"),a,c)\n    }\n    ;\n    oa.name = \"inline\";\n    oa.ag = !0;\n    class Uf extends Se {\n        constructor(a, c, q) {\n            super();\n            if (a.l && a.l.U instanceof dd && a.l.$().a.length !== c.length)\n                throw new F(\"Partially-applied function requires \" + a.arity + \" arguments, but \" + (c.length < a.arity ? \"only \" : \"\") + c.length + \" were supplied\",\"XPTY0004\");\n            this.Oa = a;\n            let E;\n            a instanceof Vf ? (E = a.resultType,\n            a.xb.wh ? this.j = new Pf({\n                name: {\n                    name: a.name,\n                    arity: a.arity\n                },\n                xb: a.xb,\n                l: a.l,\n                resultType: E\n            }) : this.j = new Of({\n                name: {\n                    name: a.name,\n                    arity: a.arity\n                },\n                xb: a.xb,\n                l: a.l,\n                resultType: E\n            })) : this.j = a;\n            this.g = [];\n            let H = 0, p;\n            if (a.xb) {\n                const g = a.xb.alphaTree\n                  , e = a.xb.variadic;\n                c.forEach(k=>{\n                    var v = g.a[H];\n                    v = p ? p : ic(v);\n                    k instanceof Qf ? k.l = v : k = qf(k, v, this.Da(H));\n                    this.g.push(k);\n                    e && (p = v);\n                    H++\n                }\n                )\n            } else\n                c.forEach(g=>{\n                    this.g.push(g)\n                }\n                );\n            a.l.U instanceof dd && (this.l = kc(vd(a.l.U, q)))\n        }\n        G(a) {\n            super.start(a);\n            this.j.G(a);\n            this.g.forEach(c=>{\n                c.G(a)\n            }\n            );\n            a.end()\n        }\n    }\n    Uf.prototype.O = \"partialApply\";\n    Uf.prototype.kind = 5;\n    class Wf extends Se {\n        constructor(a, c) {\n            super();\n            this.key = a;\n            this.value = c;\n            this.l = ec(\"1FM\")\n        }\n        toString() {\n            return \"map{\" + this.key.toString + \" : \" + this.value.toString() + \"}\"\n        }\n        G(a) {\n            super.start(a);\n            this.key.G(a);\n            this.value.G(a);\n            a.end()\n        }\n    }\n    Wf.prototype.O = \"map\";\n    class Xf extends Se {\n        constructor(a) {\n            super();\n            this.entries = a;\n            const c = sd.Md(a.map(H=>H[0].l.U))\n              , q = sd.Md(a.map(H=>H[1].l.U));\n            a = a.map(H=>H[1].l.fa);\n            let E = 2;\n            a.some(H=>Xc(H)) && (E += 1);\n            a.some(H=>Zc(H)) && (E += 4);\n            this.l = kc(new td(c,new gc(q,E)))\n        }\n        toString() {\n            let a = \"map{\";\n            this.entries.forEach(c=>{\n                a += c[0].toString + \" : \" + c[1].toString()\n            }\n            );\n            return a + \"}\"\n        }\n        G(a) {\n            super.start(a);\n            this.entries.forEach(c=>{\n                c[0].G(a);\n                c[1].G(a)\n            }\n            );\n            a.end()\n        }\n    }\n    Xf.prototype.O = \"map\";\n    // Input 55\n    class Yf extends Se {\n        constructor(a, c) {\n            super();\n            sa.assert(!c || c instanceof lc);\n            this.axis = a;\n            this.O = \"axis\";\n            c = c || qc;\n            2 === a && c instanceof rc ? c = Hc : 3 === a && c instanceof rc && (c = sc);\n            this.g = c;\n            9 === a && c instanceof rc ? this.l = dc.ce : c ? this.l = new gc(c,7) : this.l = dc.be\n        }\n        Cb() {\n            return this.axis\n        }\n        $b() {\n            return [2, 3, 4, 5, 6, 7, 9, 12].includes(this.axis)\n        }\n        Ga() {\n            return new Ze(this.g)\n        }\n        G(a) {\n            Re(this, a, {\n                name: Me(this.axis),\n                nodeTest: this.l.ha()\n            })\n        }\n    }\n    class Zf extends Te {\n        constructor(a, c) {\n            super(a, 2, c);\n            this.ea = a = qf(a, dc.be, this.Da(0, \"XPTY0019\"));\n            this.l = Wc(c.l, a.l.fa)\n        }\n        $b() {\n            return !0\n        }\n        Ga() {\n            if (this.ga instanceof Cf || this.ga instanceof lf)\n                throw new ve(\"Not an axis step for a pattern\",\"XTSE0340\");\n            return this.Wa || !this.ga.Cb || this.ga instanceof $f ? new bf(this) : new ef(this.ga.Cb(),this.ga.Ga(),this.ea.Ga())\n        }\n        G(a) {\n            super.start(a, this.Va ? {\n                op: oe[this.Va]\n            } : {});\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    Zf.prototype.O = \"slash\";\n    class ag extends Se {\n        constructor() {\n            super();\n            this.l = dc.ce\n        }\n        Ga() {\n            return new Ze(Ec)\n        }\n    }\n    ag.prototype.O = \"root\";\n    // Input 56\n    const bg = {\n        ADI: \"i\",\n        ADIL: \"c\",\n        ADILI: \"i\",\n        ADILIS: \"i\",\n        ADILISB: \"i\",\n        ADIN: \"c\",\n        ADINN: \"c\",\n        ADIP: \"c\",\n        ADIPP: \"c\",\n        ADIPL: \"c\",\n        ADIPLI: \"i\",\n        ADIPLIS: \"i\",\n        ADIPLISB: \"i\",\n        AD: \"c\",\n        AO: \"d\",\n        AF: \"f\",\n        A: \"a\",\n        AZ: \"a\",\n        AT: \"t\",\n        AA: \"t\",\n        AM: \"t\",\n        AMP: \"t\",\n        AH: \"t\",\n        AI: \"t\",\n        AJ: \"t\",\n        AG: \"t\",\n        AK: \"t\",\n        ARD: \"u\",\n        ARY: \"u\",\n        E: \"a\"\n    };\n    var cg = {\n        19: \"%\",\n        18: \"/\",\n        56: \"~\",\n        15: \"+\",\n        16: \"-\",\n        299: \"-\",\n        17: \"*\"\n    };\n    function dg(a, c) {\n        c = new xf(a,\"AO\",c.save());\n        c.l = 2 === a.l.fa ? dc.de : dc.Cg;\n        return c\n    }\n    class eg extends Te {\n        constructor(a, c, q, E) {\n            function H(d) {\n                return d instanceof nc && d.Vc.lb ? new nc(La.yj(d.Vc)) : d\n            }\n            function p() {\n                throw new ve(\"Cannot evaluate \" + k.toString() + \" \" + oe[c] + \" \" + v.toString(),\"XPTY0004\");\n            }\n            super(a, c, q);\n            const g = E.te()\n              , e = a.Wa || q.Wa;\n            g && (a = fg(a),\n            q = fg(q));\n            a = qf(a, dc.dc, this.Da(0));\n            q = qf(q, dc.dc, this.Da(1));\n            let k = H(a.l.U)\n              , v = H(q.l.U);\n            var t = k.$().p\n              , C = v.$().p;\n            g || !/^AS/.test(t) && !/^AS/.test(C) || p();\n            \"AZ\" !== t || g || (a = dg(a, this.Da(0, \"FORG0001\")),\n            k = Mc,\n            t = \"AO\");\n            \"AZ\" !== C || g || (q = dg(q, this.Da(1, \"FORG0001\")),\n            v = Mc,\n            C = \"AO\");\n            var m = bg[t];\n            let f = bg[C];\n            const A = k.isNumeric()\n              , O = v.isNumeric();\n            C = Sc;\n            t = Xc(a.l.fa) || Xc(a.l.fa);\n            m ||= \"a\";\n            f ||= \"a\";\n            var b;\n            g ? (m = f = \"d\",\n            C = Mc) : A && O && (\"d\" === m || \"d\" === f ? (m = f = \"d\",\n            C = b = Mc) : \"f\" === m || \"f\" === f ? (m = f = \"f\",\n            C = b = Nc) : \"c\" === m || \"c\" === f ? (m = f = \"c\",\n            C = b = Pc) : \"i\" === m && \"i\" === f && 18 === c ? (m = f = \"c\",\n            C = Pc) : \"i\" !== m || \"i\" !== f || 15 !== c && 16 !== c && 17 !== c && 19 !== c ? \"i\" === m && \"i\" === f && 18 === c && (C = Pc) : C = Qc);\n            56 === c && (C = Qc);\n            C.isNumeric() && b && (b = new gc(b,3),\n            a = qf(a instanceof gg ? a.g : a, b, this.Da(0)),\n            q = qf(q instanceof gg ? q.g : q, b, this.Da(1)));\n            [m, f].includes(\"a\") && (m = f = \"a\");\n            (k.pa(\"ARY\") && v.pa(\"AT\") || v.pa(\"ARY\") && k.pa(\"AT\")) && p();\n            \"t\" === m && \"t\" === f && (16 === c ? C = Rc : p());\n            \"u\" === m && \"t\" === f && (15 === c ? C = v : p());\n            \"u\" === m && \"u\" === f && (17 === c && p(),\n            18 === c ? C = Pc : C = k);\n            A && \"u\" === f && 18 === c && p();\n            \"t\" !== m || \"u\" !== f || 16 !== c && 15 !== c ? \"i\" === m && \"u\" === f && 17 === c ? (m = \"n\",\n            C = v) : \"u\" !== m || \"d\" !== f && \"i\" !== f && \"c\" !== f ? \"u\" !== f || \"d\" !== m && \"i\" !== m && \"c\" !== m || (m = \"n\",\n            C = v) : (C = k,\n            f = \"n\") : C = k;\n            m = m + cg[c] + f;\n            if (!E.te() && \"AF\" !== C.$().p && !E.Jc && (E.ni ? 0 === E.ni : 1) && kf(a) && kf(q) && (E = a.value[0],\n            b = q.value[0],\n            18 !== c || 0 !== b.toNumber()))\n                return a = mb[m](E, b),\n                mf([a], new gc(new nc(La.codes[a.code]),2));\n            this.ea = a;\n            this.ga = q;\n            a.l.equals(q.l) && (this.l = a.l);\n            C && (this.l = new gc(C,t ? 3 : 2));\n            this.g = m;\n            e && (this.Wa = !0);\n            g && (this.O = \"arith10\");\n            this.l || (this.l = dc.Oe)\n        }\n        Ga() {\n            throw new ve(\"The arithmetic expression  \" + oe[this.Va] + \" is not a patternXTSE0340\");\n        }\n        G(a) {\n            super.start(a, this.Va ? {\n                op: oe[this.Va],\n                calc: this.g\n            } : {});\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    eg.prototype.O = \"arith\";\n    // Input 57\n    const hg = {\n        6: 50,\n        22: 51,\n        11: 52,\n        12: 53,\n        13: 54,\n        14: 55\n    };\n    function ig(a, c) {\n        a = a.$().p;\n        c.$();\n        if (\"AZ\" === a && c.isNumeric())\n            return !1;\n        if (\"A\" === a && c.pa())\n            return !0;\n        \"\" === a && c.pa();\n        return !0\n    }\n    function jg(a) {\n        return /^A[BAMT2XQ]/.test(a)\n    }\n    class kg extends Te {\n        constructor(a, c, q, E) {\n            super(a, c, q);\n            a = E.Ni();\n            c = \"GAC\";\n            switch (a) {\n            case Hd.jg:\n                c = \"CAC\"\n            }\n            a.startsWith(Hd.Mj) && (c = \"CAC\");\n            q.l === dc.Hg && (c = \"EQC\");\n            this.Dd = c + \"|\" + a;\n            this.l = dc.cb\n        }\n        G(a) {\n            super.start(a, {\n                op: oe[this.Va],\n                comp: this.Dd\n            });\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    class lg extends kg {\n        G(a) {\n            super.start(a, {\n                op: oe[this.Va],\n                comp: this.Dd,\n                card: \"1:1\"\n            });\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    class mg extends lg {\n        constructor(a, c, q, E) {\n            super(a, c, q, E);\n            a = qf(a, dc.Ad, this.Da(0));\n            q = qf(q, dc.Ad, this.Da(1));\n            c = a.l.$();\n            E = q.l.$();\n            var H = c.p;\n            var p = E.p;\n            H === p || [H, p].includes(\"AZ\") || [H, p].includes(\"A\") ? H = !0 : (/^A[ODF]/.test(H) && (H = \"AO\"),\n            /^A[ODF]/.test(p) && (p = \"AO\"),\n            /^A[SU]/.test(H) && (H = \"AS\"),\n            /^A[SU]/.test(p) && (p = \"AS\"),\n            H = \"E\" === H || \"E\" === p ? !0 : H === p);\n            if (!H)\n                if (H = \"Cannot compare items of types \" + a.l.U.toString() + \" and \" + q.l.U.toString(),\n                /[*?]/.test(c.o) || /[*?]/.test(E.o))\n                    sa.Ma(H + \": the comparison can succeed only if one of the values is an empty sequence\", 1, null);\n                else\n                    throw new ve(H,\"XPTY0004\");\n            this.ea = a;\n            this.ga = q\n        }\n    }\n    mg.prototype.O = \"gc\";\n    class ng extends lg {\n    }\n    ng.prototype.O = \"gc10\";\n    class og extends kg {\n        constructor(a, c, q, E, H=!0) {\n            super(a, c, q, E);\n            var p = a.l.U\n              , g = q.l.U;\n            const e = p.$().p\n              , k = g.$().p;\n            if (!(\"A\" === e && g.pa() || \"A\" === k && p.pa() || \"\" === e || \"\" === k || p.$().p.startsWith(\"AM\") && g.$().p.startsWith(\"AM\") || (jg(e) || jg(k) ? e === k : ig(p, g) || ig(g, p))))\n                throw new ve(\"Cannot compare \" + a.l.toString() + \" \" + oe[c] + \" \" + q.l.toString(),\"XPTY0004\");\n            a = qf(a, dc.dc, this.Da(0));\n            q = qf(q, dc.dc, this.Da(1));\n            if (51 !== c && 50 !== c && /^A[QGHIJK]/.test(a.l.U.$().p))\n                throw new ve(\"Cannot order-compare \" + a.l.toString() + \" \" + oe[c] + \" \" + q.l.toString(),\"XPTY0004\");\n            if (H) {\n                if (kf(q) && La.XS.integer.matches(q.value[0]) && \"ADI\" === a.l.$().p)\n                    return new pg(a,c,q,E);\n                if (q instanceof of)\n                    return new qg(a,c,q,E)\n            }\n            this.ea = a;\n            this.ga = q\n        }\n    }\n    og.prototype.O = \"vc\";\n    class rg extends og {\n        constructor(a, c, q, E) {\n            super(a, c, q, E, !1)\n        }\n        G(a) {\n            super.start(a, {\n                op: oe[this.Va],\n                val: this.ga.value[0]\n            });\n            this.ea.G(a);\n            a.end()\n        }\n    }\n    class pg extends rg {\n    }\n    pg.prototype.O = \"compareToInt\";\n    class qg extends rg {\n        G(a) {\n            super.start(a, {\n                op: oe[this.Va],\n                val: this.ga.value[0].toString(),\n                comp: this.Dd\n            });\n            this.ea.G(a);\n            a.end()\n        }\n    }\n    qg.prototype.O = \"compareToString\";\n    class sg extends kg {\n        constructor(a, c, q, E) {\n            super(a, c, q, E);\n            a = qf(a, dc.ce, this.Da(0));\n            q = qf(q, dc.ce, this.Da(0));\n            this.ea = a;\n            this.ga = q;\n            this.O = 38 === c ? \"precedes\" : 39 === c ? \"follows\" : \"is\"\n        }\n        G(a) {\n            super.start(a);\n            this.ea.G(a);\n            this.ga.G(a);\n            a.end()\n        }\n    }\n    ;// Input 58\n    function tg(a, c) {\n        return a instanceof Cf && a.name.name.uri === Zb.Oa && a.name.name.local === c\n    }\n    function ug(a, c) {\n        return a instanceof og && a.Va === c && tg(a.ea, \"position\") && tg(a.ga, \"last\")\n    }\n    class vg extends Se {\n        constructor(a, c) {\n            super();\n            if (c) {\n                let E = tg(c, \"last\") || ug(c, 50);\n                if (E)\n                    return new wg(a);\n                E = E || ug(c, 53);\n                var q = c.Wa || c instanceof eg;\n                const H = c.Kb;\n                if (!q && H && c.l.equals(dc.Bd))\n                    return new xg(a,c);\n                q || (q = c.l.U.$().p,\n                q = \"AB\" === q || q.startsWith(\"N\") ? !1 : \"A\" === q || /^A[ODF]/.test(q));\n                this.g = a;\n                this.l = a.l;\n                c instanceof yg ? this.l = Vc(c.type, this.l.fa) : c instanceof lf && 1 === c.value.length && uc.ia()(c.value[0]) && (this.l = Vc(this.l, 3));\n                q && (this.Wa = !0);\n                H && (this.Kb = !0);\n                this.j = E ? new zg(50 === c.Va ? \"1\" : \"0\") : c\n            }\n        }\n        Cb() {\n            return this.g.Cb()\n        }\n        $b() {\n            return super.$b() || this.g.$b()\n        }\n        Ga() {\n            if (!jd(this.l.U)) {\n                const a = Df(\"exists\", this);\n                return new Ye(a)\n            }\n            return this.Wa && this.g instanceof Yf && !(this.j instanceof zg) ? new cf(this.g,this.j) : this.Wa ? new bf(this.Gd()) : new $e(this.g.Ga(),this.j)\n        }\n        Gd() {\n            if (this.g instanceof Ef)\n                return this.j;\n            this.g = this.g instanceof Yf ? Ag(new Ef, this.g) : this.g.Gd();\n            return this\n        }\n        G(a) {\n            super.start(a);\n            let c = \"\";\n            this.Kb && (c += \"i\");\n            this.Wa && (c += \"p\");\n            \"\" !== c && a.ud(\"flags\", c);\n            this.g.G(a);\n            this.j.G(a);\n            a.end()\n        }\n    }\n    vg.prototype.O = \"filter\";\n    class xg extends vg {\n        constructor(a, c) {\n            super(a, null);\n            if (kf(c) && La.XS.integer.matches(c.value[0]) && 1 === c.value[0].value)\n                return new Bg(a);\n            this.g = a;\n            this.l = Vc(a.l, 3);\n            this.j = c;\n            this.Wa = !0\n        }\n        Ga() {\n            return this.g instanceof Ef ? new Xe(\"Numeric predicates other than 1 in PredicatePatterns never match. Value provided:\" + this.j.value.value) : this.g instanceof Yf ? new df(this.g.l,this.j.value[0].value) : new bf(this.Gd())\n        }\n    }\n    xg.prototype.O = \"subscript\";\n    class Bg extends xg {\n        constructor(a) {\n            super(a, null);\n            this.g = a;\n            this.Wa = !0;\n            this.l = Vc(a.l, 3)\n        }\n        Ga() {\n            return jd(this.l.U) ? this.g instanceof Yf ? new bf(new Bg(Ag(new Ef, this.g))) : new bf(this.Gd()) : new Ye(this)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    Bg.prototype.O = \"first\";\n    class wg extends xg {\n        constructor(a) {\n            super(a, null);\n            this.g = a;\n            this.Wa = !0;\n            this.l = Vc(a.l, 3)\n        }\n        Ga() {\n            if (!(this.g instanceof Yf))\n                return new bf(this.Gd());\n            if (3 === this.g.axis) {\n                var a = new Yf(7,this.g.g);\n                return new $e(this.g.Ga(),Df(\"empty\", [a]))\n            }\n            return new df(this.g.l,1)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            a.end()\n        }\n    }\n    wg.prototype.O = \"lastOf\";\n    class zg extends Se {\n        constructor(a=\"1\") {\n            super();\n            this.test = a;\n            this.l = dc.cb\n        }\n        G(a) {\n            Re(this, a, {\n                test: this.test\n            })\n        }\n    }\n    zg.prototype.O = \"isLast\";\n    // Input 59\n    function Cg(a, c) {\n        if (a instanceof ag && c instanceof Yf && 9 === c.Cb())\n            return nf();\n        if (a instanceof Zf && a.ea instanceof ag && 5 === a.ga.axis && c instanceof Yf && 3 === c.axis)\n            return Cg(a.ea, new Yf(4,c.g));\n        if (c instanceof Zf || c instanceof Dg && c.g instanceof Zf) {\n            const q = Eg(c);\n            Fg(q.ea)instanceof Yf && Fg(q.ga)instanceof Yf && (a = Ag(a, q.ea),\n            c = q.ga)\n        }\n        a = new Zf(a,c);\n        return Gg(a) ? a : jd(a.ga.l.U) ? (a.ea = Hg(a.ea),\n        a.ga = Hg(a.ga),\n        new Dg(a)) : a\n    }\n    function Gg(a) {\n        if (!Zc(a.ea.l.fa))\n            return a.ga.$b();\n        const c = Fg(a.ea);\n        return c instanceof Yf && 3 === c.axis && (a = Fg(a.ga),\n        a instanceof Dg && (a = a.g),\n        a instanceof Yf && [3, 2, 4, 5, 8].includes(a.axis) || a instanceof Zf && Gg(a)) ? !0 : !1\n    }\n    function Eg(a) {\n        return a instanceof Dg ? a.g : a\n    }\n    function Fg(a) {\n        return a instanceof vg ? Fg(a.g) : a instanceof Dg ? Fg(a.g) : a\n    }\n    var Ag = Cg;\n    function Ig(a) {\n        return a.$b() ? a : new Dg(a)\n    }\n    var Hg = Eg;\n    // Input 60\n    function Jg(a, c, q, E, H={}) {\n        sa.assert(c);\n        sa.assert(c instanceof gc);\n        sa.assert(a.l);\n        sa.assert(a.l instanceof gc);\n        var p = c.$(), g = a, e;\n        const k = c.U\n          , v = c.fa\n          , t = Zc(v);\n        var C = null\n          , m = -1;\n        let f = 7 === v;\n        f || (m = a.l.fa,\n        f = (v | m) === v);\n        p = \"\" === p.p;\n        1 === v && (p = !0);\n        p || (C = a.l.U,\n        m = a.l.fa,\n        p = sd.Nb(k, C),\n        p === sd.cc && (p = C === oc ? sd.nc : k === oc ? sd.Rb : p),\n        p = p === sd.yb || p === sd.Rb);\n        if (p && f)\n            return g;\n        if (H.Tb && !t && (Zc(m) && (g = e = new Bg(g),\n        m = 3,\n        f = (v | m) === v),\n        !p)) {\n            if (k.pa(\"AS\")) {\n                try {\n                    e = Jg(g, dc.Hf, q, E)\n                } catch (A) {\n                    throw A;\n                }\n                g = Df(\"string\", e);\n                C = Oc;\n                m = 2;\n                g.l = dc.ec;\n                f = (v | m) === v;\n                p = !0\n            }\n            if (kd(k) || k.pa(\"AO\")) {\n                try {\n                    e = Jg(g, dc.Hf, q, E)\n                } catch (A) {\n                    throw A;\n                }\n                g = Df(\"number\", e);\n                C = Mc;\n                m = 2;\n                g.l = dc.de;\n                f = (v | m) === v;\n                p = !0\n            }\n        }\n        if (!p)\n            if (k.pa()) {\n                if (!C.pa() && 1 !== m) {\n                    if (!C.$i)\n                        throw c = new F(\"An atomic value is required for the \" + q.getMessage() + \", but the supplied value (type \" + C.toString() + \") cannot be atomized\",\"error()\" === C.name ? \"FOER0000\" : \"FOTY0013\",a),\n                        c;\n                    C = !Zc(m);\n                    m = !Zc(v);\n                    C ? (e = Xc(v),\n                    g = g instanceof Yf && 2 === g.axis && g.l.U instanceof nd ? new wf(g.l) : new vf(g,E,e)) : g = g instanceof Yf && 2 === g.axis && g.l.U instanceof nd ? new wf(g.l) : new uf(g,E);\n                    e = g;\n                    m && !C && (e = Kg(e, v, E));\n                    g = e;\n                    C = g.l.U;\n                    m = g.l.fa;\n                    f = (v | m) === v\n                }\n                C.pa(\"AZ\") && (kd(k) || !k.pa(\"AZ\") && \"A\" !== k.$().p) && (g = e = Lg(g, k, E),\n                p = !0,\n                C = k);\n                \"A\" !== C.ha() || [\"A\", \"AZ\"].includes(k.ha()) || (g = e = Lg(g, k, E),\n                C = g.l.U);\n                k.pa() && (k.pa(\"AO\") && sd.Nb(C, uc) !== sd.cc ? (g = e = new yf(g,dc.de),\n                C = Mc,\n                m = -1) : k.pa(\"AF\") && sd.Nb(C, uc) !== sd.cc && !sd.fj(C, Mc) && (g = e = new yf(g,dc.Gg),\n                C = Nc,\n                m = -1),\n                k.pa(\"AS\") && C.pa(\"AU\") && (p = !0,\n                g = e = new yf(g,dc.ec),\n                C = Oc))\n            } else\n                k.Jd() && \"F\" === k.$().p && (C.Jd() || (g = new Mg(g,wc,E),\n                C = wc),\n                k instanceof xc || (p = C.$(),\n                (\"FM\" === p.p || \"FA\" === p.p) && 1 === k.j.length) || (g = new zf(g,kc(k),E)),\n                p = !0);\n        if (p && f)\n            return g;\n        -1 === m && (m = g.l.fa,\n        f ||= (v | m) === v);\n        if (f && 1 === m)\n            return g;\n        if (1 === m && !Xc(v))\n            throw c = new F(\"An empty sequence is not allowed as the \" + q.getMessage(),q.Id()),\n            c;\n        p = p ? sd.nc : sd.Nb(C, k);\n        p === sd.cc && (p = C === oc ? sd.Rb : k === oc ? sd.nc : p);\n        1 === v && (p = sd.yb);\n        if (p === sd.cc)\n            if (Xc(m) && Xc(v))\n                1 !== m && (e = q.Vf(k, C),\n                sa.Ma(e + \". The expression can succeed only if the supplied value is an empty sequence.\", 1, null));\n            else\n                throw e = q.Vf(k, C),\n                c = new F(e,\"error()\" === C.name ? \"FOER0000\" : q.Id()),\n                c;\n        if (p !== sd.yb && p !== sd.nc) {\n            if (g.bj) {\n                E = La.XS.string.fromString(g.getAttribute(\"val\"));\n                if (k.pa() && c.matches(E))\n                    return g;\n                e = q.Vf(k, C);\n                c = new F(e,q.Id());\n                throw c;\n            }\n            g = e = Ng(g, new gc(k,v), E);\n            f = !0\n        }\n        if (!f) {\n            if (g.bj)\n                throw c = new F(\"Required cardinality of \" + q.getMessage() + \" is \" + Yc(v) + \"; supplied value has cardinality \" + Yc(m),q.Id()),\n                c;\n            g = e = Kg(g, v, E)\n        }\n        return g\n    }\n    function Lg(a, c, q) {\n        c = kd(c) ? \"AO\" : c.$().p;\n        return new xf(a,c,q)\n    }\n    ;// Input 61\n    function Df(a, c) {\n        a = new La.XS.QName.fromParts(\"fn\",Zb.Oa,a);\n        c = Array.isArray(c) ? c : [c];\n        a = new Bf(a,c.length);\n        return new Cf(a,c,dc.Aa)\n    }\n    function qf(a, c, q) {\n        const E = Og(q.errorCode ? q.errorCode : \"XPTY0004\", q.save());\n        return Jg(a, c, E, q.save())\n    }\n    function fg(a) {\n        return Zc(a.l.fa) ? new Bg(a) : a\n    }\n    class Pg extends Se {\n        constructor(a) {\n            super();\n            this.value = a;\n            0 === a.length ? this.l = dc.Ie : this.l = new gc(sd.Md(a.map(q=>q.l.U)),7);\n            let c = !0;\n            a.forEach(q=>{\n                c = c && q instanceof lf\n            }\n            );\n            c && (this.g = !0)\n        }\n        G(a) {\n            super.start(a);\n            this.g && a.ud(\"literal\", !0);\n            for (const c of this.value)\n                c.G(a);\n            a.end()\n        }\n    }\n    Pg.prototype.O = \"sequence\";\n    class Mf extends Se {\n        constructor(a) {\n            super();\n            this.value = a;\n            if (0 === a.length)\n                this.l = kc(Ac);\n            else {\n                const c = sd.Md(a.map(E=>E.l.U));\n                let q = 0;\n                a.forEach(E=>q |= E.l.fa);\n                this.l = kc(new ud(new gc(c,q)))\n            }\n        }\n        G(a) {\n            super.start(a);\n            for (const c of this.value)\n                c.G(a);\n            a.end()\n        }\n    }\n    Mf.prototype.O = \"arrayBlock\";\n    class Qg extends Se {\n        constructor(a, c) {\n            super();\n            this.Va = a;\n            this.O = oe[a];\n            this.$a = c;\n            this.action = this.Ob = void 0;\n            this.slot = 0;\n            this.bc = this.value = null;\n            this.l = dc.cb\n        }\n        gd() {\n            return this.$a\n        }\n        G(a) {\n            super.start(a, {\n                \"var\": this.$a.toEQName(),\n                slot: this.slot\n            });\n            this.value.G(a);\n            this.action.G(a);\n            a.end()\n        }\n    }\n    class $f extends Te {\n        constructor(a, c, q, E=!1) {\n            super(a, c, q);\n            this.O = 1 === c ? \"union\" : oe[c];\n            E = E ? \"XTSE0340\" : \"XPTY0004\";\n            a = qf(a, dc.be, this.Da(0, E));\n            q = qf(q, dc.be, this.Da(1, E));\n            a = Ig(a);\n            q = Ig(q);\n            this.ea = a;\n            this.ga = q;\n            sa.assert(a.l);\n            sa.assert(q.l);\n            switch (c) {\n            case 24:\n                this.l = a.l;\n                break;\n            case 23:\n                c = a.l.fa & q.l.fa | 3;\n                this.l = new gc(sd.Ui([a, q].map(H=>H.l.U)),c);\n                break;\n            case 1:\n                this.l = new gc(sd.Md([a, q].map(H=>H.l.U)),Dd(a.l.fa, q.l.fa))\n            }\n        }\n        $b() {\n            return !0\n        }\n        Cb() {\n            return this.ea.Cb && this.ga.Cb && this.ea.Cb() === this.ga.Cb() ? this.ea.Cb() : -1\n        }\n        Ga() {\n            if (1 === this.Va)\n                return new hf(this.ea.Ga(),this.ga.Ga(),this.l);\n            const a = this.Cb();\n            return 3 === a || 2 === a || this.ea.Kb || this.ga.Kb ? new ff(this.ea.Ga(),this.Va,this.ga.Ga(),this.l) : new bf(this)\n        }\n    }\n    class Ef extends Se {\n        constructor(a=dc.mc) {\n            super();\n            this.l = a\n        }\n        G(a) {\n            Re(this, a)\n        }\n        Ga() {\n            return new We\n        }\n    }\n    Ef.prototype.O = \"dot\";\n    function Rg(a) {\n        return \"\" === a.l.$().p ? new Sg(a) : a\n    }\n    class Sg extends Ue {\n        constructor(a) {\n            super(a);\n            this.l = a.l\n        }\n    }\n    Sg.prototype.O = \"homCheck\";\n    function Tg(a) {\n        return a.global ? new Ug(a) : new Vg(a)\n    }\n    class Wg extends Se {\n        constructor() {\n            super();\n            this.g = null;\n            this.l = dc.Aa\n        }\n    }\n    Wg.prototype.O = \"varRef\";\n    Wg.prototype.Kb = !0;\n    class Vg extends Wg {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.l = a.bc || dc.Aa\n        }\n        gd() {\n            return this.g.$a\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.g.$a.toEQName(),\n                slot: this.g.slot\n            })\n        }\n    }\n    Vg.prototype.O = \"varRef\";\n    class Ug extends Wg {\n        constructor(a) {\n            super();\n            this.g = a;\n            this.l = a.bc\n        }\n        gd() {\n            return this.g.$a\n        }\n        Ga() {\n            return new af(this)\n        }\n        G(a) {\n            Re(this, a, {\n                name: this.g.$a.toEQName(),\n                bSlot: \"?\"\n            })\n        }\n    }\n    Ug.prototype.O = \"gVarRef\";\n    class Xg extends Te {\n        constructor(a, c) {\n            super(a, 213, c);\n            this.ea = a = qf(a, dc.Df, this.Da(0));\n            a.l && a.l.U && a.l.U.resultType && (this.l = a.l.U.resultType)\n        }\n    }\n    Xg.prototype.O = \"lookup\";\n    class Yg extends Se {\n        constructor(a) {\n            super();\n            this.ea = a = qf(a, dc.Df, this.Da(0))\n        }\n        G(a) {\n            super.start(a);\n            this.ea.G(a);\n            a.end()\n        }\n    }\n    Yg.prototype.O = \"lookupAll\";\n    class Zg extends Se {\n        constructor() {\n            super();\n            this.l = dc.Aa\n        }\n    }\n    Zg.prototype.O = \"currentGroup\";\n    class $g extends Se {\n        constructor() {\n            super();\n            this.l = dc.Ad\n        }\n    }\n    $g.prototype.O = \"currentGroupingKey\";\n    class Dg extends Ue {\n        constructor(a) {\n            super(a);\n            this.l = a.l\n        }\n        $b() {\n            return !0\n        }\n        Ga() {\n            return this.g.Ga()\n        }\n    }\n    Dg.prototype.O = \"docOrder\";\n    class ah extends Ue {\n        constructor(a) {\n            super(a);\n            this.l = a.l\n        }\n        G(a) {\n            super.start(a, {\n                flags: this.flags\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    ah.prototype.O = \"copyOf\";\n    ah.prototype.flags = \"cm\";\n    class yg extends Se {\n        constructor(a, c) {\n            super();\n            sa.assert(c instanceof gc);\n            this.ea = a;\n            this.type = c;\n            this.l = dc.cb\n        }\n        G(a) {\n            super.start(a, {\n                of: this.type.ha()\n            });\n            this.ea.G(a);\n            a.end()\n        }\n    }\n    yg.prototype.O = \"instance\";\n    function Ng(a, c, q=null) {\n        q || (q = new Qe(2,\"treat as\",0),\n        q.errorCode = \"XPDY0050\",\n        q = q.save());\n        return new Mg(Kg(a, c.fa, q),c.U,q)\n    }\n    class gg extends Ue {\n        constructor(a, c, q) {\n            super(a);\n            this.l = new gc(a.l.U,c);\n            this.j = c;\n            this.B = q\n        }\n        G(a) {\n            super.start(a, {\n                card: 2 === this.j ? \"1\" : Yc(this.j),\n                diag: this.B\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    gg.prototype.O = \"check\";\n    function Kg(a, c, q) {\n        return 7 === c ? a : a instanceof lf && (c | 2) === c ? a : new gg(a,c,q)\n    }\n    class Mg extends Ue {\n        constructor(a, c, q) {\n            super(a);\n            this.l = a.l;\n            this.B = c;\n            this.j = q\n        }\n        G(a) {\n            super.start(a, {\n                as: this.B.ha(),\n                diag: this.j\n            });\n            this.g.G(a);\n            a.end()\n        }\n    }\n    Mg.prototype.O = \"treat\";\n    // Input 62\n    function bh(a, c, q) {\n        a = [a, mf([La.XS.boolean.Xc], dc.cb)];\n        return new ch(a,[c, q])\n    }\n    class ch extends Se {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.actions = c;\n            this.Wa = c.some(q=>q.Wa);\n            a = sd.Md(c.map(q=>q.l.U));\n            c = Cd(c.map(q=>q.l.fa));\n            this.l = new gc(a,c)\n        }\n        G(a) {\n            super.start(a);\n            let c = 0;\n            for (const q of this.g)\n                q.G(a),\n                this.actions[c++].G(a);\n            a.end()\n        }\n    }\n    ch.prototype.O = \"choose\";\n    // Input 63\n    class dh extends Se {\n        constructor() {\n            super();\n            this.action = this.value = this.bc = this.$a = null;\n            this.slot = 0\n        }\n        gd() {\n            return this.$a\n        }\n        g(a) {\n            this.action = a;\n            this.l = a.l\n        }\n        j(a) {\n            this.value = a;\n            this.bc = a.l\n        }\n        G(a) {\n            super.start(a, {\n                name: this.$a.toEQName(),\n                slot: this.slot\n            });\n            this.value.G(a);\n            this.action.G(a);\n            a.end()\n        }\n    }\n    class eh extends dh {\n        j(a) {\n            this.value = a;\n            this.bc = Vc(a.l, 2);\n            this.action && (this.l = Wc(this.action.l, a.l.fa))\n        }\n        g(a) {\n            this.action = a;\n            this.value && (this.l = Wc(a.l, this.value.l.fa))\n        }\n    }\n    eh.prototype.O = \"for\";\n    class fh extends dh {\n    }\n    fh.prototype.O = \"let\";\n    // Input 64\n    class gh extends Te {\n        constructor(a, c) {\n            super(a, null, c);\n            this.l = dc.cb\n        }\n    }\n    class hh extends gh {\n    }\n    hh.prototype.O = \"and\";\n    class ih extends gh {\n    }\n    ih.prototype.O = \"or\";\n    // Input 65\n    function jh(a) {\n        return kf(a) && La.XS.integer.matches(a.value[0]) && 1E7 > a.value[0].value\n    }\n    class kh extends Te {\n        constructor(a, c, q=!1) {\n            super(a, null, c);\n            q && (a = fg(a),\n            c = fg(c));\n            this.ea = qf(a, dc.Gf, this.Da(0));\n            this.ga = qf(c, dc.Gf, this.Da(1));\n            this.l = dc.Ke\n        }\n    }\n    kh.prototype.O = \"to\";\n    class lh extends Se {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.j = c;\n            this.l = dc.Ke\n        }\n        G(a) {\n            Re(this, a, {\n                from: this.g.value,\n                to: this.j.value\n            })\n        }\n    }\n    lh.prototype.O = \"range\";\n    class mh extends Se {\n        constructor(a, c) {\n            super();\n            this.g = a;\n            this.next = c;\n            this.l = Wc(c.l, a.l.fa)\n        }\n        G(a) {\n            super.start(a);\n            this.g.G(a);\n            this.next.G(a);\n            a.end()\n        }\n    }\n    mh.prototype.O = \"forEach\";\n    // Input 66\n    // Input 67\n    var nh = {\n        array: \"http://www.w3.org/2005/xpath-functions/array\",\n        fn: \"http://www.w3.org/2005/xpath-functions\",\n        map: \"http://www.w3.org/2005/xpath-functions/map\",\n        math: \"http://www.w3.org/2005/xpath-functions/math\",\n        saxon: \"http://saxon.sf.net/\",\n        xml: \"http://www.w3.org/XML/1998/namespace\",\n        xs: \"http://www.w3.org/2001/XMLSchema\",\n        xsl: \"http://www.w3.org/1999/XSL/Transform\"\n    }, oh = {}, ph;\n    for (ph in nh)\n        oh[nh[ph]] = ph;\n    // Input 68\n    function qh(a, c) {\n        var q = new Bf(a.name,a.arity)\n          , E = dc.Aa;\n        switch (a.uri) {\n        case Zb.map:\n            E = dc.Jf;\n            switch (a.name.local) {\n            case \"get\":\n                E = c[0].l.valueType;\n                break;\n            case \"merge\":\n                E = dc.Jf;\n                break;\n            case \"entry\":\n                E = kc(new td(c[0].l,c[1].l))\n            }\n            return new Gf(q,c,E);\n        case Zb.Ue:\n            switch (a.name.local) {\n            case \"_from-sequence\":\n                E = kc(new ud(c[0].l))\n            }\n            return new Hf(q,c,E);\n        case Zb.wb:\n            switch (a.name.local) {\n            case \"apply\":\n                a = c[0].l,\n                a = a.U ? a.U : a,\n                E = a.resultType ? a.resultType : dc.Aa\n            }\n            return new Jf(q,c,E)\n        }\n    }\n    class rh extends Se {\n        constructor(a, c, q) {\n            var E = dc.Aa;\n            super();\n            this.name = La.XS.QName.fromParts(oh[q], q, a);\n            this.arity = c;\n            this.uri = q;\n            this.l = dc.Qe;\n            this.resultType = E\n        }\n    }\n    rh.prototype.O = \"function\";\n    class sh {\n    }\n    sh.prototype.uri = Zb.Oa;\n    class th extends sh {\n        constructor() {\n            super()\n        }\n    }\n    th.prototype.uri = Zb.map;\n    var uh = new th;\n    class vh extends sh {\n        constructor() {\n            super()\n        }\n    }\n    vh.prototype.uri = Zb.Ue;\n    var wh = new vh;\n    class xh extends sh {\n        constructor() {\n            super()\n        }\n    }\n    xh.prototype.uri = Zb.wb;\n    class yh extends xh {\n    }\n    var zh = new yh;\n    // Input 69\n    const Ah = {\n        FUNCTION: 0,\n        Tj: 1,\n        Ak: 2,\n        Gk: 3,\n        gk: 4,\n        ak: 5,\n        nk: 6,\n        zk: 7,\n        rk: 8,\n        Dk: 9,\n        Ek: 10,\n        fk: 11,\n        EVALUATE_RESULT: 12,\n        Vj: 13,\n        Rj: 14,\n        mk: 15,\n        Uj: 16,\n        Wj: 17\n    }\n      , Bh = [\"doc\", \"id\", \"element-with-id\", \"key\", \"root\"];\n    function Ch(a, c, q, E) {\n        return Ah[a] + \"|\" + c + \"|\" + q + \"|\" + E\n    }\n    function Dh(a, c, q, E) {\n        return {\n            getMessage: function() {\n                return c\n            },\n            Vf: E,\n            Id: function() {\n                return a\n            },\n            save: function() {\n                return q\n            }\n        }\n    }\n    function Og(a, c) {\n        const q = cd.Ej(c).required;\n        return Dh(a, q, c, function(E, H) {\n            return \"Required type of \" + q + \" is \" + E.toString() + \": actual type is \" + H.toString()\n        })\n    }\n    class Vf {\n        constructor(a, c) {\n            var q = null;\n            this.name = a;\n            this.arity = a.arity;\n            if (c) {\n                this.xb = c;\n                q = c.alphaTree;\n                const E = [];\n                let H;\n                c.variadic && (H = ic(q.a[0]));\n                for (c = 0; c < a.arity; c++) {\n                    const p = H ? H : ic(q.a[c]);\n                    E.push(p)\n                }\n                q = q.r ? ic(q.r) : dc.Aa;\n                this.l = kc(new dd(E,q))\n            }\n            q ? this.resultType = q : this.resultType = dc.Aa;\n            this.l || (this.l = dc.Qe)\n        }\n    }\n    Vf.prototype.resultType = dc.Aa;\n    const Hh = function() {\n        function a() {\n            u = new Ie;\n            ua = [];\n            ia = [];\n            Pa = 0\n        }\n        function c(J) {\n            let X = Wa[J];\n            X || H(\"No namespace binding for prefix '\" + J + \"'\", \"XPST0081\");\n            return X\n        }\n        function q(J, X=this.vb, ka=()=>\"\") {\n            return La.XS.QName.fromString(J, ba=>\"\" === ba ? ka() : X(ba))\n        }\n        function E() {\n            const J = oe[u.J];\n            return 201 === u.J ? 'name \"' + u.T + '\"' : -1 === u.J ? \"(unknown token)\" : u.T && u.T !== oe[u.J] ? `${J} (\"${u.T}\")` : /^[a-z]+$/.test(J) ? `\"${J}\"` : J\n        }\n        function H(J, X=\"XPST0003\") {\n            Ge(u);\n            throw new ve(J,X);\n        }\n        function p(J) {\n            const X = Ge(u);\n            console.log((J.startsWith(\"...\") ? \"near\" : \"in\") + \" \" + X + \":\\n    \" + J)\n        }\n        function g() {\n            try {\n                u.next()\n            } catch (J) {\n                H(J.message)\n            }\n        }\n        function e(J) {\n            u.J !== J && H('expected \"' + oe[J] + '\", found ' + E())\n        }\n        function k(J=!1) {\n            J = v(J);\n            let X = null;\n            for (; 7 === u.J; ) {\n                null == X && (X = [],\n                X.push(J));\n                g();\n                const ka = v();\n                X.push(ka)\n            }\n            null != X && (J = new Pg(X));\n            return J\n        }\n        function v(J=!1) {\n            switch (u.J) {\n            case 0:\n                if (J)\n                    return nf();\n                H(\"Expected an expression, but reached the end of the input\");\n                break;\n            case 211:\n            case 216:\n                J = 0;\n                var X = u.J\n                  , ka = null\n                  , ba = null;\n                do {\n                    g();\n                    e(21);\n                    g();\n                    e(201);\n                    var ta = u.T\n                      , Ca = void 0;\n                    211 === X ? Ca = new eh : Ca = new fh;\n                    J++;\n                    ta = va(ta, \"\");\n                    Ca.$a = ta;\n                    g();\n                    e(216 === X ? 58 : 31);\n                    g();\n                    ia.push(null);\n                    Ca.j(v());\n                    ia.pop();\n                    da(Ca);\n                    null == ba ? ka = Ca : ba.g(Ca);\n                    ba = Ca\n                } while (7 === u.J);\n                e(25);\n                g();\n                ba.g(v());\n                for (Ca = 0; Ca < J; Ca++)\n                    ia.pop();\n                return ka;\n            case 32:\n            case 33:\n                J = 0;\n                X = u.J;\n                Ca = ka = null;\n                do\n                    g(),\n                    e(21),\n                    g(),\n                    e(201),\n                    ba = u.T,\n                    J++,\n                    ta = new Qg(X,va(ba, \"\")),\n                    g(),\n                    e(31),\n                    g(),\n                    ba = v(),\n                    ta.value = ba,\n                    ta.bc = Vc(ba.l, 2),\n                    da(ta),\n                    null != Ca ? Ca.action = ta : ka = ta,\n                    Ca = ta;\n                while (7 === u.J);\n                e(34);\n                g();\n                X = v();\n                Ca.action = X;\n                for (Ca = 0; Ca < J; Ca++)\n                    ia.pop();\n                return ka;\n            case 37:\n                return g(),\n                Ca = k(),\n                e(204),\n                g(),\n                e(26),\n                g(),\n                J = v(),\n                e(27),\n                g(),\n                ka = v(),\n                bh(Ca, J, ka);\n            default:\n                return m(A(), 4)\n            }\n        }\n        function t() {\n            return C(u.J)\n        }\n        function C(J) {\n            switch (J) {\n            case 9:\n            case 81:\n                return 4;\n            case 10:\n            case 80:\n                return 5;\n            case 50:\n            case 51:\n            case 55:\n            case 53:\n            case 54:\n            case 52:\n            case 6:\n            case 22:\n            case 14:\n            case 12:\n            case 13:\n            case 11:\n            case 20:\n            case 38:\n            case 39:\n                return 6;\n            case 30:\n                return 7;\n            case 29:\n                return 8;\n            case 15:\n            case 16:\n                return 9;\n            case 17:\n            case 18:\n            case 56:\n            case 19:\n                return 10;\n            case 79:\n                return 11;\n            case 1:\n                return 12;\n            case 23:\n            case 24:\n                return 13;\n            case 45:\n                return 14;\n            case 47:\n                return 15;\n            case 57:\n                return 16;\n            case 46:\n                return 17;\n            case 76:\n                return 18;\n            case 40:\n                return 20;\n            default:\n                return -1\n            }\n        }\n        function m(J, X) {\n            for (; t() >= X; ) {\n                const Qa = u.J;\n                var ka = t();\n                switch (Qa) {\n                case 45:\n                case 47:\n                    g();\n                    var ba = B();\n                    a: switch (Qa) {\n                    case 45:\n                        J = new yg(J,ba);\n                        break a;\n                    case 47:\n                        J = Ng(J, ba);\n                        break a;\n                    default:\n                        throw new we(oe[Qa]);\n                    }\n                    t() >= ka && H(\"Left operand of '\" + oe[u.J] + \"' needs parentheses\");\n                    break;\n                case 46:\n                case 57:\n                    g();\n                    var ta = void 0;\n                    if (69 === u.J && \"union\" === u.T)\n                        throw new F(\"Saxon union types not supported\");\n                    e(201);\n                    if (u.T)\n                        a: {\n                            try {\n                                var Ca = q(u.T, P.vb, P.hc);\n                                break a\n                            } catch (Xa) {\n                                H(Xa.message, Xa.code)\n                            }\n                            Ca = void 0\n                        }\n                    else\n                        Ca = H(\"Parser tokenization error NAME\");\n                    ba = Ca;\n                    ba.uri !== Zb.lc && H(\"Unknown simple type \" + u.T + \" in cast (SaxonJS is not schema-aware)\");\n                    g();\n                    var Ka = 213 === u.J;\n                    Ka && (u.J = 204,\n                    g());\n                    const ib = {\n                        numeric: \"u\",\n                        ENTITIES: \"l\",\n                        NMTOKENS: \"l\",\n                        IDREFS: \"l\"\n                    }[ba.local] || \"a\";\n                    if (\"a\" === ib) {\n                        [\"anyType\", \"anyAtomicType\", \"NOTATION\"].includes(ba.local) && H(\"Casting to xs:\" + ba.local + \" is not possible (it's an abstract type)\", \"XPST0080\");\n                        ta = La.type[ba.local];\n                        if (!ta)\n                            throw new F(\"Cannot find type \" + ba.toEQName());\n                        ta = new nc(ta)\n                    }\n                    J = (57 === Qa ? sf : pf)(J, ib, ba, ta, Ka);\n                    t() >= ka && H(\"Left operand of '\" + oe[u.J] + \"' needs parentheses\");\n                    break;\n                case 76:\n                    J = L(J);\n                    break;\n                default:\n                    Ka = 40 === Qa;\n                    g();\n                    Ka && ua.push(Vc(J.l, 2));\n                    ba = A();\n                    for (Ka && ua.pop(); t() > ka; )\n                        ba = m(ba, t());\n                    if (!(ka = t() !== ka))\n                        a: switch (u.J) {\n                        case 50:\n                        case 51:\n                        case 55:\n                        case 53:\n                        case 54:\n                        case 52:\n                        case 6:\n                        case 22:\n                        case 14:\n                        case 12:\n                        case 13:\n                        case 11:\n                        case 20:\n                        case 38:\n                        case 39:\n                        case 29:\n                            ka = !1;\n                            break a;\n                        default:\n                            ka = !0\n                        }\n                    ka || H(\"Left operand of '\" + oe[u.J] + \"' needs parentheses\");\n                    J = f(J, Qa, ba)\n                }\n            }\n            return J\n        }\n        function f(J, X, ka) {\n            switch (X) {\n            case 9:\n                return new ih(J,ka);\n            case 10:\n                return new hh(J,ka);\n            case 50:\n            case 51:\n            case 55:\n            case 53:\n            case 54:\n            case 52:\n                return new og(J,X,ka,P);\n            case 6:\n            case 22:\n            case 14:\n            case 12:\n            case 13:\n            case 11:\n                if (P.te())\n                    X = new ng(J,X,ka,P);\n                else {\n                    var ba = P;\n                    ka = new mg(J,X,ka,ba);\n                    if (J = 2 === ka.ea.l.fa && 2 === ka.ga.l.fa && hg[X]) {\n                        J = ka.ea.l.U;\n                        var ta = ka.ga.l.U;\n                        const Ca = J.$().p\n                          , Ka = ta.$().p;\n                        J = jg(Ca) || jg(Ka) ? Ca === Ka : J.isNumeric() && ta.isNumeric() ? !0 : /^A[SZU]/.test(Ca) && /^A[SZU]/.test(Ka)\n                    }\n                    X = J ? new og(ka.ea,hg[X],ka.ga,ba) : ka\n                }\n                return X;\n            case 20:\n            case 38:\n            case 39:\n                return new sg(J,X,ka,P);\n            case 29:\n                return ba = new kh(J,ka,P.te()),\n                jh(ba.ea) && jh(ba.ga) ? (X = ba.ea.value[0],\n                ba = ba.ga.value[0],\n                X = X.value > ba.value ? nf() : X.value === ba.value ? new lf([X],dc.Ke) : new lh(X,ba)) : X = ba,\n                X;\n            case 30:\n                X = [];\n                if (J instanceof Cf && \"concat\" === J.name.name.local && J.name.name.uri === Zb.Oa)\n                    for (ba of J.g)\n                        X.push(ba);\n                else\n                    ba = Ch(\"BINARY_OP\", 0, \"\", \"concat\"),\n                    ta = Og(\"FOTY0013\", ba),\n                    J = Jg(J, dc.dc, ta, ba, P),\n                    X.push(J);\n                ba = Ch(\"BINARY_OP\", 1, \"\", \"concat\");\n                ta = Og(\"FOTY0013\", ba);\n                ka = Jg(ka, dc.dc, ta, ba, P);\n                X.push(ka);\n                X = Df(\"concat\", X);\n                X.l = dc.ec;\n                return X;\n            case 15:\n            case 16:\n            case 17:\n            case 18:\n            case 56:\n            case 19:\n                return new eg(J,X,ka,P);\n            case 79:\n                return X = ka,\n                ka = La.XS.QName.fromParts(\"vv\", Zb.yg, \"otherwise\"),\n                ba = new fh,\n                ba.$a = ka,\n                ba.j(J),\n                da(ba),\n                ka = Tg(ba),\n                J = [Df(\"exists\", [ka]), mf([La.XS.boolean.Xc], dc.cb)],\n                ba.g(new ch(J,[ka, X])),\n                ba;\n            case 1:\n            case 23:\n            case 24:\n                return new $f(J,X,ka,1 === Ba);\n            case 81:\n                return ka = Df(\"boolean\", ka),\n                bh(J, mf([La.XS.boolean.Xc], dc.cb), ka);\n            case 80:\n                return ka = Df(\"boolean\", ka),\n                bh(J, ka, mf([La.XS.boolean.ae], dc.cb));\n            default:\n                throw new we(oe[X]);\n            }\n        }\n        function A() {\n            switch (u.J) {\n            case 16:\n                g();\n                var J = A();\n                J = O(299, J);\n                break;\n            case 15:\n                g();\n                J = A();\n                J = O(15, J);\n                break;\n            default:\n                for (J = d(); 40 === u.J; ) {\n                    g();\n                    ua.push(Vc(J.l, 2));\n                    const X = d();\n                    ua.pop();\n                    J = new mh(J,X)\n                }\n            }\n            return J\n        }\n        function O(J, X) {\n            if (kf(X)) {\n                const ka = X.value[0];\n                return 299 === J ? mf([ka.nf()], X.l) : X\n            }\n            return new eg(mf([La.XS.integer.fromNumber(0)], dc.Bd),J,X,P)\n        }\n        function b() {\n            switch (u.J) {\n            case 36:\n            case 3:\n            case 201:\n            case 208:\n            case 70:\n            case 207:\n            case 69:\n            case 205:\n            case 206:\n            case 35:\n            case 202:\n            case 209:\n            case 5:\n            case 21:\n            case 43:\n                return !0;\n            case 60:\n                return [\"ordered\", \"unordered\"].includes(u.T);\n            default:\n                return !1\n            }\n        }\n        function d() {\n            var J = u.je;\n            switch (u.J) {\n            case 2:\n                return g(),\n                J = new ag,\n                b() ? l(J) : J;\n            case 8:\n                g();\n                J = new ag;\n                var X = new Yf(5,null);\n                J = Ag(J, X);\n                return l(J);\n            default:\n                201 === u.J && [\"true\", \"false\"].includes(u.T) && p(\"The expression is looking for a child element named '\" + u.T + \"' - perhaps \" + u.T + \"() was intended? To avoid this warning, use child::\" + u.T + \" or ./\" + u.T + \".\");\n                201 === u.J && -1 !== Ce(u.T) && 1 !== Ba && (0 < J || 0 !== u.j) && (J = u.T,\n                p(\"The keyword '\" + J + \"' in this context means 'child::\" + J + \"'. If this was intended, use 'child::\" + J + \"' or './\" + J + \"' to avoid this warning.\"));\n                for (J = r(1 === Ba && 0 === Pa); [2, 8].includes(u.J); ) {\n                    ua.push(Vc(J.l, 2));\n                    var ka = u.J;\n                    g();\n                    X = r(!1);\n                    2 === ka ? J = Ag(J, X) : X instanceof Yf && 3 === X.axis ? (X = new Yf(4,X.g),\n                    J = Ag(J, X)) : (ka = new Yf(5,null),\n                    J = Ag(J, ka),\n                    J = Ag(J, X));\n                    J = Rg(J);\n                    ua.pop()\n                }\n                return J\n            }\n        }\n        function l(J) {\n            let X = J;\n            var ka = 2;\n            for (ua.push(Vc(J.l, 2)); ; ) {\n                J = r(!1);\n                ua.pop();\n                ua.push(Vc(J.l, 2));\n                2 === ka ? (X = Ag(X, J),\n                X = Rg(X)) : 8 === ka ? (ka = new Yf(5,null),\n                ka = Ag(ka, J),\n                X = Ag(X, ka),\n                X = Rg(X)) : X = new mh(X,J);\n                ka = u.J;\n                if (2 !== ka && 8 !== ka && 40 !== ka)\n                    break;\n                g()\n            }\n            ua.pop();\n            return X\n        }\n        function r(J) {\n            J = aa(J);\n            const X = J instanceof Yf && !Le[J.Cb()];\n            for (; ; )\n                if (4 === u.J)\n                    ua.push(Vc(J.l, 2)),\n                    J = n(J),\n                    ua.pop();\n                else if (5 === u.J)\n                    J = M(J, null);\n                else if (213 === u.J)\n                    J = ca(J);\n                else\n                    break;\n            X && (J = Df(\"reverse\", J),\n            J.el = !0);\n            return J\n        }\n        function n(J=null) {\n            if (!J)\n                return k(null);\n            g();\n            Pa++;\n            const X = n();\n            Pa--;\n            e(203);\n            g();\n            return J = new vg(J,X)\n        }\n        function B() {\n            var J = \"empty-sequence\" === u.T;\n            const X = W();\n            if (J)\n                return dc.Ie;\n            switch (u.J) {\n            case 207:\n            case 17:\n                J = 7;\n                u.J = 204;\n                g();\n                break;\n            case 15:\n                J = 6;\n                u.J = 204;\n                g();\n                break;\n            case 213:\n                J = 3;\n                u.J = 204;\n                g();\n                break;\n            default:\n                J = 2\n            }\n            return new gc(X,J)\n        }\n        function W() {\n            if (5 === u.J) {\n                g();\n                var J = W();\n                e(204);\n                g()\n            } else if (201 === u.J) {\n                J = null;\n                try {\n                    J = q(u.T, P.vb, P.hc)\n                } catch (ka) {\n                    H(ka.message, ka.code)\n                }\n                {\n                    var X = J;\n                    let ka = X.uri;\n                    \"\" === ka && (ka = P.hc());\n                    const ba = X.local;\n                    J = X.toString();\n                    ka === Zb.lc ? \"numeric\" === ba ? J = uc : ((X = La.type[ba]) || H(\"Unknown atomic type \" + J, \"XPST0051\"),\n                    J = new nc(X)) : (H(\"Unknown atomic type \" + X.toEQName() + \" (SaxonJS is not schema-aware)\", \"XPST0051\"),\n                    J = void 0)\n                }\n                g()\n            } else if (69 === u.J)\n                switch (u.T) {\n                case \"item\":\n                    g();\n                    e(204);\n                    g();\n                    J = oc;\n                    break;\n                case \"function\":\n                    J = ma();\n                    break;\n                case \"map\":\n                    J = qa();\n                    break;\n                case \"array\":\n                    J = u;\n                    g();\n                    [207, 17].includes(J.J) ? (g(),\n                    e(204),\n                    g(),\n                    J = Ac) : (J = B(),\n                    e(204),\n                    g(),\n                    J = new ud(J));\n                    break;\n                case \"empty-sequence\":\n                    g();\n                    e(204);\n                    g();\n                    J = Cc;\n                    break;\n                case \"switch\":\n                case \"typeswitch\":\n                    H(u.T + \"() is reserved in XPath; it is available only in XQuery\");\n                    break;\n                default:\n                    J = la()\n                }\n            else {\n                if (4 === Ba && 208 === u.J)\n                    return J = u.T,\n                    g(),\n                    h(1, J);\n                if (4 === Ba && 70 === u.J)\n                    return g(),\n                    e(201),\n                    J = u.T,\n                    g(),\n                    G(1, J);\n                if (4 === Ba && 3 === u.J) {\n                    g();\n                    if (208 === u.J)\n                        return J = u.T,\n                        g(),\n                        h(2, J);\n                    if (70 === u.J)\n                        return g(),\n                        e(201),\n                        J = u.T,\n                        g(),\n                        G(2, J);\n                    H(\"Expected NodeTest after '@'\");\n                    return Sc\n                }\n                H(\"Expected type name in SequenceType, found \" + oe[u.J]);\n                return Sc\n            }\n            return J\n        }\n        function ma() {\n            g();\n            const J = [];\n            if ([207, 17].includes(u.J))\n                return g(),\n                e(204),\n                g(),\n                wc;\n            for (; 204 !== u.J; ) {\n                var X = B();\n                J.push(X);\n                if (204 === u.J)\n                    break;\n                else\n                    7 === u.J ? g() : H(\"Expected ',' or ')' after function argument type, found '\" + oe[u.J] + \"'\")\n            }\n            g();\n            if (71 === u.J)\n                return g(),\n                X = B(),\n                new dd(J,X);\n            0 < J.length ? H(\"Result type must be given if an argument type is given: expected 'as (type)'\") : H(\"function() is not allowed for a general function type: must be function(*)\");\n            return null\n        }\n        function qa() {\n            var J = u;\n            g();\n            if ([207, 17].includes(J.J))\n                return g(),\n                e(204),\n                g(),\n                yc;\n            J = W();\n            e(7);\n            g();\n            const X = B();\n            e(204);\n            g();\n            return J instanceof nc ? new td(J,X) : (H(\"Key type of a map must be atomic\"),\n            null)\n        }\n        function L(J) {\n            g();\n            var X = u.J;\n            if ([201, 35].includes(X))\n                return ha(J);\n            if (21 === X)\n                return X = R(),\n                e(5),\n                M(X, J);\n            if (5 === X)\n                return X = z(),\n                e(5),\n                M(X, J);\n            H(\"Unexpected \" + oe[X] + \" after '=>'\");\n            return null\n        }\n        function aa(J) {\n            function X(ba) {\n                return ba instanceof Ef || ba instanceof vg && X(ba.g)\n            }\n            switch (u.J) {\n            case 21:\n                return R();\n            case 5:\n                var ka = z();\n                J && X(ka) && H(\"Predicate pattern cannot be parenthesized\", \"XTSE0340\");\n                return ka;\n            case 4:\n                return K();\n            case 202:\n                return I(!0);\n            case 209:\n                return D(!0);\n            case 35:\n                return ka = u.T,\n                0 === Pa && 1 === Ba && (P.ng = !0,\n                J ? Bh.includes(ka) || ka.includes(\":\") || H(\"Function \" + ka + \"() is not permitted at first position in pattern\", \"XTSE0340\") : H(\"Function call not at first position in pattern\", \"XTSE0340\")),\n                ka = ha(null),\n                P.ng = !1,\n                ka;\n            case 213:\n                return ca(new Ef);\n            case 205:\n                return g(),\n                new Ef(ua[ua.length - 1]);\n            case 206:\n                return g(),\n                new Yf(9,null);\n            case 69:\n                if (\"function\" === u.T)\n                    return ja();\n            case 201:\n            case 208:\n            case 70:\n            case 207:\n                return ka = 3,\n                69 === u.J && [\"attribute\", \"schema-attribute\"].includes(u.T) ? ka = 2 : 69 === u.J && \"namespace-node\" === u.T ? ka = 8 : J && 69 === u.J && \"document-node\" === u.T && (ka = 12),\n                J = V(1),\n                new Yf(ka,J);\n            case 3:\n                g();\n                switch (u.J) {\n                case 201:\n                case 208:\n                case 70:\n                case 207:\n                case 69:\n                    return ka = V(2),\n                    new Yf(2,ka);\n                default:\n                    H(\"@ must be followed by a NodeTest\")\n                }\n                break;\n            case 36:\n                try {\n                    ka = Pe(u.T)\n                } catch (ba) {\n                    H(ba.message),\n                    ka = 3\n                }\n                J = Ne[ka];\n                g();\n                switch (u.J) {\n                case 201:\n                case 208:\n                case 70:\n                case 207:\n                case 69:\n                    J = V(J);\n                    let ba = null;\n                    if (2 === ka) {\n                        const ta = sd.Nb(J, new Fc(2));\n                        ta === sd.cc ? ba = \"attribute axis can never yield nodes of type \" + J : ta === sd.Rb && (J = new Fc(2))\n                    }\n                    3 === ka && 9 === J.kind && (ba = J.name + \" nodes can never be children\");\n                    2 !== J.kind || [2, 12].includes(ka) || (ba = \"axis \" + Me(ka) + \" can never yield attribute nodes\");\n                    if (ba) {\n                        if (1 === Ba)\n                            return new Xe(ba);\n                        p(ba);\n                        return nf()\n                    }\n                    return new Yf(ka,J);\n                default:\n                    H(\"Unexpected token \" + E() + \" after axis name\")\n                }\n                break;\n            case 60:\n                switch (u.T) {\n                case \"map\":\n                    return x();\n                case \"array\":\n                    return U();\n                case \".\":\n                    return Y();\n                case \"_\":\n                    H(\"Underscore functions not yet implemented\")\n                }\n                break;\n            case 43:\n                return S();\n            default:\n                H(\"Unexpected token \" + E() + \" at start of expression\")\n            }\n        }\n        function z() {\n            g();\n            if (204 === u.J)\n                return g(),\n                nf();\n            const J = k();\n            e(204);\n            g();\n            return J\n        }\n        function D() {\n            const J = u.T ? y(u.T) : H(\"Parser tokenization error NUMBER\");\n            isNaN(J) && H(\"Invalid numeric literal (\" + u.T + \")\");\n            g();\n            return mf([J], \"AO\" === J.code ? dc.de : \"AD\" === J.code ? dc.Fg : dc.Bd)\n        }\n        function y(J) {\n            try {\n                return 0 <= J.indexOf(\"e\") || 0 <= J.indexOf(\"E\") ? La.XS.double.fromString(J) : 0 <= J.indexOf(\".\") ? La.XS.mb.fromString(J) : La.XS.integer.fromString(J)\n            } catch (X) {\n                return NaN\n            }\n        }\n        function I() {\n            var J = new of(u.T);\n            g();\n            return J\n        }\n        function R() {\n            g();\n            e(201);\n            var J = u.T;\n            g();\n            const X = va(J, \"\");\n            J = fa(X);\n            if (null != J)\n                var ka = Tg(J);\n            else if (X.uri === Zb.zi && 0 < Fa) {\n                J = X.local;\n                if (\"code description value module line-number column-number\".split(\" \").includes(J))\n                    return ka = new Bf(va(\"dynamic-error-info\", Zb.wb),1),\n                    ka = new Jf(ka,[mf([La.XS.string.fromString(J)], dc.ec)],dc.Aa);\n                H(\"Unknown error variable \" + X.toEQName(), \"XPST0008\")\n            } else\n                P.dg ? (ka = {\n                    $a: X,\n                    gd: function() {\n                        return X\n                    }\n                },\n                da(ka),\n                ka = Tg(ka)) : H(\"No binding for variable \" + X.toEQName(), \"XPST0008\");\n            return ka\n        }\n        function M(J, X) {\n            var ka = [];\n            null != X && ka.push(X);\n            X = null;\n            g();\n            if (204 !== u.J) {\n                for (; ; ) {\n                    var ba = Z();\n                    if (null == ba || ba instanceof Qf)\n                        null == X && (X = []),\n                        X.push(ka.length);\n                    ka.push(ba);\n                    if (7 === u.J)\n                        g();\n                    else\n                        break\n                }\n                e(204)\n            }\n            g();\n            if (null == X) {\n                var ta = ka;\n                J instanceof Mf ? (X = Ch(\"FUNCTION\", 1, \"XPTY0004\", \"array:get\"),\n                ba = Og(\"XPTY0004\", X),\n                ta = Jg(ta[0], dc.Bd, ba, X, P),\n                ka = new rh(\"get\",2,wh.uri),\n                J = qh(ka, [J, ta])) : (ta = new Mf(ta),\n                ka = new rh(\"apply\",2,zh.uri),\n                X = Ch(\"FUNCTION\", 0, \"XPTY0004\", \"apply\"),\n                ba = Og(\"XPTY0004\", X),\n                J = Jg(J, dc.Qe, ba, X, P),\n                J = qh(ka, [J, ta]))\n            } else\n                J = new Uf(J,ka,X);\n            return J\n        }\n        function ca(J) {\n            var X = u;\n            xe(X, Je);\n            X.J = 5;\n            g();\n            const ka = X.J;\n            xe(X, ye);\n            if (201 === ka)\n                X = X.T,\n                te(X) || H(\"The name following '?' must be a valid NCName\"),\n                g(),\n                J = new Xg(J,new of(X));\n            else if (209 === ka)\n                X = X.T ? y(X.T) : H(\"Parser tokenization error NUMBER\"),\n                (isNaN(X) || \"ADI\" !== X.code) && H(\"Number following '?' must be an integer\"),\n                g(),\n                J = ea(this, J, mf([X], dc.Bd));\n            else if ([17, 207].includes(ka))\n                g(),\n                J = new Yg(J);\n            else if (5 === ka)\n                J = ea(this, J, z());\n            else\n                return H(\"Unexpected \" + oe[ka] + \" after '?'\"),\n                null;\n            return J\n        }\n        function ea(J, X, ka) {\n            if (Zc(X.l.fa)) {\n                J = new eh;\n                J.bc = Vc(X.l, 2);\n                const ba = va(\"zibble\", \"\")\n                  , ta = Tg(J);\n                J.$a = ba;\n                J.j(X);\n                da(J);\n                J.g(new Xg(ta,ka));\n                ia.pop();\n                return J\n            }\n            return new Xg(X,ka)\n        }\n        function ja() {\n            var J = u;\n            const X = new Rf;\n            X.g = [];\n            for (var ka of ia)\n                X.g.push(ka);\n            X.B = [];\n            X.j = [];\n            Ua.push(X);\n            g();\n            var ba = [];\n            ka = [];\n            let ta = 0;\n            for (; 204 !== J.J; ) {\n                e(21);\n                g();\n                e(201);\n                var Ca = va(J.T, \"\");\n                for (var Ka of ba)\n                    Ka.equals(Ca) && H(\"Duplicate parameter name $\" + Ca.toString(), \"XQST0039\");\n                ba.push(Ca);\n                var Qa = dc.Aa;\n                g();\n                71 === J.J && (g(),\n                Qa = B());\n                const Xa = new Sf;\n                Xa.l = Qa;\n                Xa.bc = Qa;\n                Xa.name = Ca;\n                Xa.$a = Ca;\n                Ca = ta++;\n                Xa.slot = Ca;\n                ka.push(Xa);\n                da(Xa);\n                if (204 === J.J)\n                    break;\n                else\n                    7 === J.J ? g() : H(\"Expected ',' or ')' after function argument, found '\" + oe[J.J] + \"'\")\n            }\n            xe(J, Je);\n            g();\n            if (71 === J.J) {\n                xe(J, Ke);\n                g();\n                var ib = B()\n            }\n            e(59);\n            xe(J, 0);\n            g();\n            215 === J.J ? (ze(J),\n            g(),\n            Ka = nf()) : (Ka = k(),\n            e(215),\n            ze(J),\n            g(),\n            ib || (ib = Ka.l));\n            ib || (ib = dc.Aa);\n            J = ba.length;\n            for (ba = 0; ba < J; ba++)\n                ia.pop();\n            ib = new Tf(ka,ib,Ka);\n            ia = X.g;\n            Ua.pop();\n            return ib\n        }\n        function Y() {\n            var J = u;\n            const X = new Rf;\n            X.g = [];\n            for (var ka of ia)\n                X.g.push(ka);\n            X.B = [];\n            X.j = [];\n            Ua.push(X);\n            g();\n            ka = [];\n            var ba = La.XS.QName.fromParts(\"saxon\", Zb.wb, \"dot\");\n            const ta = new Sf;\n            var Ca = dc.mc;\n            ta.l = Ca;\n            ta.bc = Ca;\n            ta.name = ba;\n            ta.$a = ba;\n            ta.slot = 0;\n            ka.push(ta);\n            ba = new mh(Tg(ta),k());\n            e(215);\n            ze(J);\n            g();\n            J = new Tf(ka,ba.l,ba);\n            ia = X.g;\n            Ua.pop();\n            return J\n        }\n        function V(J) {\n            var X = u.T;\n            switch (u.J) {\n            case 201:\n                g();\n                var ka = X;\n                X = va(ka, 1 === J ? P.hc() : \"\");\n                1 === J && \"\" === X.getURI() && P.qe ? (ka = va(ka, \"http://www.w3.org/1999/xhtml\"),\n                J = new xd(new nd(J,X),new nd(J,ka))) : J = new nd(J,X);\n                return J;\n            case 208:\n                return g(),\n                h(J, X);\n            case 70:\n                return g(),\n                X = u.T,\n                e(201),\n                g(),\n                G(J, X);\n            case 207:\n                return g(),\n                ld(J);\n            case 69:\n                return la();\n            default:\n                throw H(\"Unrecognized node test\"),\n                new ve(\"\");\n            }\n        }\n        function la() {\n            function J() {\n                ka || H(\"No arguments are allowed in \" + X + \"()\", \"XPST0003\")\n            }\n            const X = u.T;\n            let ka = !1;\n            g();\n            204 === u.J && (ka = !0,\n            g());\n            switch (X) {\n            case \"item\":\n            case \"switch\":\n            case \"typeswitch\":\n                return H(X + \"() is not allowed in a path expression\"),\n                null;\n            case \"node\":\n                return J(),\n                qc;\n            case \"text\":\n                return J(),\n                Ic;\n            case \"comment\":\n                return J(),\n                Jc;\n            case \"namespace-node\":\n                if (ka)\n                    return Lc;\n                if (4 === Ba && 201 === u.J)\n                    return g(),\n                    e(204),\n                    g(),\n                    new od(13,\"\");\n                H(\"No arguments are allowed in namespace-node()\");\n                return null;\n            case \"document-node\":\n                if (ka)\n                    return Ec;\n                if (\"element\" !== u.T)\n                    return H(\"Argument to document-node() must be an element type\"),\n                    null;\n                var ba = la();\n                e(204);\n                g();\n                return new qd(kc(ba));\n            case \"processing-instruction\":\n                if (ka)\n                    return Kc;\n                202 === u.J ? ba = u.T ? Ha.trim(unescape(u.T)) : H(\"Parser tokenization error STRING_LIITERAL\") : 201 === u.J ? ba = u.T : H(\"Processing instruction name must be an NCName or a string literal\");\n                te(ba) || H(\"Processing instruction name must be a valid NCName: '\" + ba + \"' is not\");\n                /^[Xx][Mm][Ll]$/.test(ba) && H(\"Processing instruction name must not be 'xml'\");\n                g();\n                e(204);\n                g();\n                return new nd(7,La.XS.QName.fromParts(\"\", \"\", ba));\n            case \"attribute\":\n            case \"element\":\n                ba = \"element\" === X ? 1 : 2;\n                let Ca = \"\";\n                var ta = !1;\n                if (ka)\n                    return ld(ba);\n                [207, 17].includes(u.J) ? Ca = \"*\" : 201 === u.J ? Ca = u.T : 70 === u.J ? (g(),\n                ta = !0,\n                Ca = u.T) : (H(\"Unexpected \" + oe[u.J] + \" after '(' in SequenceType\"),\n                Ca = \"*\");\n                g();\n                if (204 === u.J)\n                    return g(),\n                    \"*\" === Ca ? ld(ba) : ta ? new od(ba,Ca) : new nd(ba,q(Ca, P.vb, 1 === ba ? P.hc : ()=>\"\"));\n                if (7 === u.J) {\n                    g();\n                    e(201);\n                    ta = !1;\n                    const Ka = q(u.T, P.vb, P.hc);\n                    Ka.uri === Zb.lc ? 1 === ba ? [\"untyped\", \"anyType\"].includes(Ka.local) || ([\"untypedAtomic\", \"anyAtomicType\"].includes(Ka.local) ? ta = !0 : H(\"Unsupported type annotation \" + u.T + \" (SaxonJS is not schema-aware, so all nodes are untyped)\")) : [\"untypedAtomic\", \"anyAtomicType\"].includes(Ka.local) || H(\"Unsupported type annotation \" + u.T + \" (SaxonJS is not schema-aware, so all nodes are untyped)\") : H(\"Unsupported type annotation \" + u.T + \" (SaxonJS is not schema-aware, so only built-in types are recognized)\");\n                    g();\n                    213 === u.J && g();\n                    e(204);\n                    g();\n                    if (ta)\n                        return Cc;\n                    if (\"*\" === Ca)\n                        return ld(ba);\n                    Ca = q(Ca, P.vb, 1 === ba ? P.hc : ()=>\"\");\n                    return new nd(ba,Ca)\n                }\n                H(\"Expected ')' or ',' in SequenceType\");\n                return null;\n            case \"schema-attribute\":\n            case \"schema-element\":\n                return H(\"Type \" + X + \"() not allowed: SaxonJS is not schema-aware\"),\n                null;\n            default:\n                return H(\"Unknown node kind \" + X),\n                null\n            }\n        }\n        function x() {\n            var J = [];\n            g();\n            var X = [];\n            let ka = !0;\n            if (215 !== u.J)\n                for (; ; ) {\n                    var ba = v();\n                    e(75);\n                    g();\n                    const ta = v()\n                      , Ca = Ch(\"FUNCTION\", 0, \"\", \"map:entry\")\n                      , Ka = Og(\"XPTY0004\", Ca);\n                    ba = Jg(ba, dc.Oe, Ka, Ca, P);\n                    !ka || ba instanceof lf ? -1 === X.indexOf(ba) ? X.push(ba) : ka = !1 : ka = !1;\n                    ba = new Wf(ba,ta);\n                    J.push(ba);\n                    if (215 === u.J)\n                        break;\n                    else\n                        e(7),\n                        g()\n                }\n            ze(u);\n            g();\n            if (0 === J.length)\n                return qh(new rh(\"_new\",1,uh.uri), []);\n            if (1 === J.length)\n                return J[0];\n            if (ka) {\n                const ta = [];\n                J.forEach(Ca=>{\n                    ta.push([Ca.key, Ca.value])\n                }\n                );\n                return new Xf(ta)\n            }\n            J = new Pg(J);\n            X = [];\n            X = new Xf([[new of(\"duplicates\"), new of(\"reject\")], [new of(\"duplicates-error-code\"), new of(\"XQDY0137\")]]);\n            return qh(new rh(\"merge\",2,uh.uri), [J, X])\n        }\n        function K() {\n            const J = [];\n            g();\n            if (203 === u.J)\n                return g(),\n                new Mf(J);\n            for (; ; ) {\n                const X = v();\n                J.push(X);\n                if (7 === u.J)\n                    g();\n                else {\n                    if (203 === u.J) {\n                        g();\n                        break\n                    }\n                    H(\"Expected ',' or ']', found \" + oe[u.J])\n                }\n            }\n            return new Mf(J)\n        }\n        function U() {\n            g();\n            const J = new rh(\"_from-sequence\",1,wh.uri);\n            if (215 === u.J)\n                return ze(u),\n                g(),\n                qh(J, [nf()]);\n            const X = k();\n            e(215);\n            ze(u);\n            g();\n            return qh(J, [X])\n        }\n        function ha(J) {\n            function X() {\n                if (209 === u.J)\n                    return D(!0);\n                if (202 === u.J)\n                    return I(u.T);\n                if (21 === u.J)\n                    return R();\n                H(\"The arguments to a function call in a pattern must be literals or variable references\", \"XTSE0340\")\n            }\n            var ka = u.T\n              , ba = u.je;\n            const ta = [];\n            null != J && ta.push(J);\n            J = w(ka);\n            ka = null;\n            1 === Ba && J.uri === Zb.Oa && [\"current-group\", \"current-grouping-key\", \"current-merge-group\", \"current-merge-key\"].includes(J.local) && H(J.local + \"() is not permitted in a pattern\", \"XTSE1060\");\n            g();\n            if (204 !== u.J) {\n                for (; ; ) {\n                    var Ca = P.ng ? X() : Z();\n                    if (null == Ca || Ca instanceof Qf)\n                        null == ka && (ka = []),\n                        ka.push(ta.length);\n                    ta.push(Ca);\n                    if (7 === u.J)\n                        g();\n                    else\n                        break\n                }\n                e(204)\n            }\n            g();\n            Ca = new Bf(J,ta.length);\n            if (null != ka)\n                return ba = P.ef().fg(Ca, P),\n                null == ba && H(\"No function \" + J.toString() + \"#\" + ta.length + \" is known for partial application\", \"XPST0017\"),\n                new Uf(ba,ta,ka);\n            ka = [];\n            Ca = P.ef().bind(Ca, ta, P, ka);\n            return null == Ca ? T(P, ba, J, ta, ka) : Ca\n        }\n        function T(J, X, ka, ba, ta) {\n            let Ca = \"Cannot find a \" + ba.length + \"-argument function named \" + ka.toEQName() + \"()\";\n            for (var Ka of ta)\n                Ca += \". \" + Ka;\n            ta = !1;\n            for (Ka = 0; Ka < ba.length + 5; Ka++)\n                if (Ka !== ba.length) {\n                    const Qa = new Bf(ka,Ka);\n                    if (J.ef().fg(Qa, J)) {\n                        ta = !0;\n                        break\n                    }\n                }\n            ta ? Ca += \". The namespace URI and local name are recognized, but the number of arguments is wrong\" : (ba = ka.uri,\n            ka = ba === Zb.Wc ? \"original\" === ka.local ? \"Function name xsl:original is only available within an overriding function\" : \"There are no functions defined in the XSLT namespace\" : ba === Zb.wb ? \"Most Saxon extension functions are not available under SaxonJS\" : ba.startsWith(\"java:\") ? \"Calls to Java methods are not available under SaxonJS\" : ba.startsWith(\"clitype:\") ? \"Calls to .NET methods are not available under SaxonJS\" : null,\n            null != ka && (Ca += ka));\n            if (J.te())\n                return Df(\"error\", [Df(\"QName\", [new of(\"\"), new of(\"XTDE1425\")]), new of(Ca)]);\n            H(Ca, \"XPST0017\", X)\n        }\n        function w(J) {\n            let X = null;\n            try {\n                X = q(J, P.vb, P.ph)\n            } catch (ka) {\n                H(ka.message, ka.code)\n            }\n            return X\n        }\n        function Z() {\n            return 213 === u.J && [7, 204].includes(u.j) ? (g(),\n            new Qf) : v()\n        }\n        function S() {\n            var J = u\n              , X = J.T;\n            const ka = J.je;\n            var ba = P;\n            g();\n            e(209);\n            J = J.T ? y(J.T) : H(\"Parser tokenization error NUMBER\");\n            isNaN(J) || \"ADI\" !== J.code ? H(\"Number following '#' is invalid\") : (0 > J.value || J.value > Number.MAX_SAFE_INTEGER) && H(\"Number following '#' is out of range\", \"FOAR0002\");\n            J = J.value;\n            g();\n            let ta = null;\n            try {\n                ta = q(X, ba.vb, ba.ph)\n            } catch (Ka) {\n                H(Ka.message, Ka.code)\n            }\n            X = ba.ef();\n            const Ca = new Bf(ta,J);\n            ba = X.fg(Ca, ba);\n            null == ba && H(\"Function \" + ta.toEQName() + \"#\" + J + \" not found\", \"XPST0017\", ka);\n            return ba.xb.wh && !ta.hasURI(re.ci) ? new Pf(ba) : new Of(ba)\n        }\n        function da(J) {\n            J.slot = ia.length;\n            ia.push(J)\n        }\n        function fa(J) {\n            for (let X = ia.length - 1; 0 <= X; X--) {\n                const ka = ia[X];\n                if (ka && ka.gd().equals(J))\n                    return ka\n            }\n        }\n        function na(J, X) {\n            return q(J, P.vb, ()=>X)\n        }\n        function va(J, X) {\n            try {\n                return na(J, X)\n            } catch (ka) {\n                H(ka.message, ka.code)\n            }\n        }\n        function h(J, X) {\n            if (X.startsWith(\"Q{\"))\n                return new pd(J,X.substring(2, X.length - 2));\n            try {\n                const ka = q(X + \":dummy\", P.vb, ()=>\"\");\n                return new pd(J,ka.getURI())\n            } catch (ka) {\n                return H(ka.message, ka.code),\n                null\n            }\n        }\n        function G(J, X) {\n            te(X) || H(\"Local name [\" + X + \"] contains invalid characters\");\n            return new od(J,X)\n        }\n        function Q(J, X, ka, ba=!1) {\n            this.global = ba;\n            this.$a = this.name = J;\n            this.bc = X;\n            this.slot = ka\n        }\n        let u, N, P = {}, ia = [], ua = [], Ba = 0, Fa = 0, Pa = 0;\n        const Ua = []\n          , Na = {\n            fg: function(J, X) {\n                X = X.getContext();\n                return (X = Eh.getFnSignature(J.name, J.arity, X)) ? new Vf(J,X) : null\n            },\n            bind: function(J, X, ka) {\n                var ba = ka.getContext()\n                  , ta = Eh.getFnSignature(J.name, J.arity, ba);\n                if (ta) {\n                    if (J.name.uri === Zb.Oa)\n                        switch (J.name.local) {\n                        case \"false\":\n                            return mf([La.XS.boolean.ae], dc.cb);\n                        case \"true\":\n                            return mf([La.XS.boolean.Xc], dc.cb);\n                        case \"normalize-unicode\":\n                            1 === X.length && X.push(new of(\"NFC\"));\n                            break;\n                        case \"copy-of\":\n                            return new ah(X[0] ? X[0] : new Ef(ua[ua.length - 1]));\n                        case \"current-group\":\n                            return new Zg;\n                        case \"current-grouping-key\":\n                            return new $g;\n                        default:\n                            ta.defaultToDot && 0 === J.arity && ta.arity.includes(0) && (X.push(new Ef(ua[ua.length - 1])),\n                            J.arity++)\n                        }\n                    else if (ta.isIdempotent && 1 === X.length)\n                        return X[0];\n                    ba = [];\n                    var Ca;\n                    const Qa = ta.alphaTree;\n                    Qa && \"F\" === Qa.p && !Qa.r && (Qa.r = {\n                        p: \"\",\n                        o: \"*\"\n                    });\n                    Qa && \"F\" === Qa.p && Qa.a && Qa.r || sa.la(\"Bad function signature for \" + J.name.local);\n                    ta.variadic && (Ca = Qa.a[0]);\n                    const ib = ta.collation || -1;\n                    for (let Xa = 0; Xa < X.length; Xa++) {\n                        var Ka = Ca ? Ca : Qa.a[Xa];\n                        const ob = Ch(\"FUNCTION\", Xa, \"\", J.name.toString())\n                          , pb = Og(\"XPTY0004\", ob);\n                        Xa === ib ? (Ka = Jg(X[Xa], \"?\" === Ka.o ? dc.Dg : dc.ec, pb, ob, ka),\n                        Ka = Df(\"resolve-uri\", [Ka, Df(\"static-base-uri\", [])]),\n                        Ka.l = dc.Bg,\n                        ba.push(Ka)) : ba.push(Jg(X[Xa], ic(Ka), pb, ob, ka))\n                    }\n                    ib > X.length - 1 && ba.push(new of(ka.Ub));\n                    X = ic(Qa.r);\n                    if (ta.isUserFunction)\n                        return new Nf(J,ba,X,ta.componentBinding);\n                    switch (J.name.uri) {\n                    case Zb.Oa:\n                    case Zb.lc:\n                        switch (J.name.local) {\n                        case \"current\":\n                            ua[0] && (X = ua[0]);\n                            break;\n                        case \"accumulator-before\":\n                        case \"accumulator-after\":\n                            if (ba[0]instanceof of) {\n                                ta = q(ba[0].value[0].value, ka.vb, ()=>\"\").toEQName();\n                                ka = ka.Gb[ta];\n                                if (!ka)\n                                    throw new F(\"Unknown accumulator \" + ta,\"XTDE3340\");\n                                X = ec(ka);\n                                ba[0] = new of(ta)\n                            }\n                        }\n                        return new Cf(J,ba,X);\n                    case Zb.map:\n                        return new Gf(J,ba,X);\n                    case Zb.Ue:\n                        return new Hf(J,ba,X);\n                    case Zb.yh:\n                        return new If(J,ba,X);\n                    case Zb.wb:\n                        return new Jf(J,ba,X);\n                    case Zb.nd:\n                        return new Kf(J,ba,X);\n                    case Zb.xh:\n                        return new Lf(J,ba,X);\n                    default:\n                        return ta.wh ? new Nf(J,ba,X,ta.Jk) : new Jf(J,ba,X)\n                    }\n                } else {\n                    if (ta = Eh.getFnSignature(J.name, null, ba))\n                        if (ta && !ta.alphaTree && (ta.alphaTree = rb(ta.sig)),\n                        ba = X.length,\n                        Ca = ta.alphaTree.a.length,\n                        ba !== Ca && (ta.variadic ? X.length < Ca : !(ta.arity || []).includes(ba)))\n                            throw new F(\"Wrong argument arity \" + X.length + \" for function \" + J.name.local + \"()\",\"XPST0017\");\n                    if (ka.Tb)\n                        return Df(\"error\", [Df(\"QName\", [new of(\"\"), new of(\"XTDE1425\")]), new of(\"Unknown function \" + J.toString())]);\n                    throw new F(\"Unknown function \" + J.toEQName() + \"()\",\"XPST0017\");\n                }\n            }\n        };\n        P = {\n            hc: ()=>\"\",\n            Ub: \"http://www.w3.org/2005/xpath-functions/collation/codepoint\",\n            qe: !1,\n            fb: {},\n            Gb: {},\n            bb: !1,\n            Jc: !1,\n            dg: !1,\n            Tb: !1,\n            Fj: function() {\n                P.hc = ()=>\"\";\n                P.Ub = \"http://www.w3.org/2005/xpath-functions/collation/codepoint\";\n                P.fb = {};\n                P.Gb = {};\n                P.bb = !1;\n                P.Jc = !1;\n                P.dg = !1;\n                P.Tb = !1\n            },\n            getContext: function() {\n                return {\n                    bb: P.bb,\n                    Wk: 1 === Ba,\n                    fb: P.fb\n                }\n            },\n            Ni: function() {\n                return P.Ub\n            },\n            ph: function() {\n                return Zb.Oa\n            },\n            ef: function() {\n                return Na\n            },\n            Qk: function() {\n                return null\n            },\n            Vk: function() {\n                return !1\n            },\n            te: function() {\n                return P.Tb\n            },\n            bl: function() {\n                return null\n            }\n        };\n        let Wa = {};\n        Q.prototype.gd = function() {\n            return this.name\n        }\n        ;\n        return {\n            process: function(J, X, ka, ba, ta=!1, Ca=!1, Ka=!1) {\n                a();\n                N = J;\n                Ba = X ? 1 : 0;\n                J = [];\n                Wa = {};\n                P.Fj();\n                P.vb = c;\n                X && (P.bb = !0);\n                Ka && (P.dg = !0);\n                if (ba) {\n                    Fa = ba.hf ? 1 : 0;\n                    ba.Jc && (P.Jc = !0);\n                    for (var Qa in ba.namespaces)\n                        Wa[Qa] = ba.namespaces[Qa];\n                    for (var ib in ba.Hc) {\n                        Qa = q(ib, P.vb, ()=>\"\");\n                        const pb = ba.Hc[ib]\n                          , Kh = ec(pb.getAttribute(\"sType\"));\n                        J.push(new Q(Qa,Kh,pb,!0))\n                    }\n                    for (var Xa in ba.ac)\n                        ib = q(Xa, P.vb, ()=>\"\"),\n                        J.push(new Q(ib,ba.wd[Xa],ba.ac[Xa]));\n                    ia = J;\n                    P.Gb = ba.Gb;\n                    ba.qe && (P.qe = ba.qe);\n                    ba.Ub && (P.Ub = ba.Ub);\n                    ba.fb && (P.fb = ba.fb);\n                    ba.bb && (P.bb = ba.bb);\n                    ba.Tb && (P.Tb = ba.Tb);\n                    ba.ye && (ua = [Vc(ba.ye, 2)]);\n                    ba.xpathDefaultNamespace && (P.hc = ()=>ba.xpathDefaultNamespace);\n                    P.Ia = ba.Ia ? ba.Ia : null\n                }\n                Xa = \"\";\n                for (const pb in Wa)\n                    J = Wa[pb],\n                    J = J === Zb.withPrefix[pb] ? \"~\" : J,\n                    Xa += pb + \"=\" + J + \" \";\n                De(u, N);\n                let ob;\n                try {\n                    ob = k(Ca)\n                } catch (pb) {\n                    throw pb instanceof F && ba && ba.Lj && (pb.code = ba.Lj,\n                    pb.message = \"Invalid XPath expression supplied to xsl:evaluate {\" + N + \"}: \" + pb.message),\n                    pb;\n                }\n                0 !== u.J && H(\"Found \" + E() + \" beyond end of expression\");\n                X ? (ob = ob.Ga(),\n                ob instanceof hf && ka && (ob = new jf(gf(ob)))) : ba && ba.De && (X = Ch(\"EVALUATE_RESULT\", 0, \"\", null),\n                ka = Og(\"XPTY0004\", X),\n                ob = Jg(ob, ba.De, ka, X));\n                X = ta ? new Fh : new Gh;\n                ob.G(X);\n                X = X.current;\n                ta ? (X = X.documentElement,\n                ob.l && X.setAttribute(\"sType\", ob.l.ha()),\n                \"\" !== Xa && X.setAttribute(\"ns\", Xa),\n                ba && ba.Ia && X.setAttribute(\"baseUri\", ba.Ia)) : (X = X.C[0],\n                \"\" !== Xa && (X.gl = Xa),\n                ba && ba.Ia && (X.pb = ba.Ia),\n                Ka && 0 < ia.length && (X.Ii = ia.map(pb=>pb.$a.toEQName())));\n                return X\n            },\n            parseSequenceType: function(J, X, ka) {\n                a();\n                P.vb = X;\n                P.hc = ka;\n                Ba = 0;\n                Wa = {};\n                De(u, J);\n                J = B();\n                0 !== u.J && H(\"Unexpected \" + E() + \" after SequenceType\");\n                return J\n            },\n            getTokenizer: function() {\n                return u\n            }\n        }\n    }();\n    function Gh() {\n        this.g = [];\n        this.current = {\n            C: []\n        }\n    }\n    Gh.prototype = {\n        start: function(a, c={}) {\n            a = {\n                N: a,\n                C: []\n            };\n            for (const q in c)\n                a[q] = c[q];\n            this.current.C.push(a);\n            this.g.push(this.current);\n            this.current = a\n        },\n        ud: function(a, c) {\n            this.current[a] = c\n        },\n        end: function() {\n            this.current = this.g.pop()\n        }\n    };\n    function Fh() {\n        this.j = Jd.find(\"SaxonJS\").getPlatform().createDocument();\n        this.g = [];\n        this.current = this.j\n    }\n    Fh.prototype = {\n        start: function(a, c={}) {\n            a = this.j.createElement(a);\n            for (const q in c)\n                a.setAttribute(q, c[q]);\n            this.current.appendChild(a);\n            this.g.push(this.current);\n            this.current = a\n        },\n        ud: function(a, c) {\n            this.current.setAttribute(a, c)\n        },\n        end: function() {\n            this.current = this.g.pop()\n        }\n    };\n    // Input 70\n    const Ih = {\n        ul: {\n            QuantifiedExpr: \"1AB\",\n            OrExpr: \"1AB\",\n            AndExpr: \"1AB\",\n            ComparisonExpr: \"1AB\",\n            StringConcatExpr: \"1AS\",\n            RangeExpr: \"*ADI\",\n            AdditiveExpr: \"?A\",\n            MultiplicativeExpr: \"?A\",\n            IntersectExceptExpr: \"*N\",\n            InstanceOfExpr: \"1AB\",\n            CastableExpr: \"1AB\",\n            UnaryExpr: \"?A m[UO,UD,UF]\",\n            StringLiteral: \"1AS\",\n            IntegerLiteral: \"1ADI\",\n            DecimalLiteral: \"1AD\",\n            DoubleLiteral: \"1AO\",\n            NamedFunctionRef: \"1F\",\n            InlineFunctionExpr: \"1F\",\n            MapExpr: \"1FM\",\n            Root: \"1ND\"\n        },\n        Qj: {\n            \"http://www.w3.org/2005/xpath-functions\": {\n                QName: {\n                    sig: \"1F r[1AQ] a[?AS,1AS]\"\n                },\n                abs: {\n                    sig: \"1F r[?A m[AO,AD,AF]] a[?A m[AO,AD,AF]]\"\n                },\n                \"accumulator-after\": {\n                    XSLTonly: !0,\n                    sig: \"1F a[1AS] r[*]\"\n                },\n                \"accumulator-before\": {\n                    XSLTonly: !0,\n                    sig: \"1F a[1AS] r[*]\"\n                },\n                \"adjust-date-to-timezone\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AA] a[?AA,?ARD]\"\n                },\n                \"adjust-dateTime-to-timezone\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AM] a[?AM,?ARD]\"\n                },\n                \"adjust-time-to-timezone\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AT] a[?AT,?ARD]\"\n                },\n                \"analyze-string\": {\n                    arity: [2, 3],\n                    sig: \"1F r[1NE nQ{http://www.w3.org/2005/xpath-functions}analyze-string-result] a[?AS,1AS,1AS]\"\n                },\n                apply: {\n                    sig: \"1F a[1F,1FA] r[*]\"\n                },\n                \"available-environment-variables\": {\n                    sig: \"1F r[*AS] a[]\"\n                },\n                \"available-system-properties\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[*AQ] a[]\"\n                },\n                avg: {\n                    sig: \"1F r[?A] a[*A]\"\n                },\n                \"base-uri\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?AU] a[?N]\"\n                },\n                \"boolean\": {\n                    sig: \"1F r[1AB] a[*]\"\n                },\n                ceiling: {\n                    sig: \"1F r[?A m[AO,AD,AF]] a[?A m[AO,AD,AF]]\"\n                },\n                \"codepoint-equal\": {\n                    sig: \"1F r[?AB] a[?AS,?AS]\"\n                },\n                \"codepoints-to-string\": {\n                    sig: \"1F r[1AS] a[*ADI]\"\n                },\n                \"collation-key\": {\n                    arity: [1, 2],\n                    collation: 1,\n                    sig: \"1F r[1A2] a[1AS,1AS]\"\n                },\n                collection: {\n                    arity: [0, 1],\n                    sig: \"1F a[?AS] r[*]\"\n                },\n                compare: {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[?ADI] a[?AS,?AS,1AS]\"\n                },\n                concat: {\n                    arity: [2, Infinity],\n                    sig: \"1F r[1AS] a[?A,?A]\",\n                    variadic: !0\n                },\n                contains: {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AB] a[?AS,?AS,1AS]\"\n                },\n                \"contains-token\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AB] a[*AS,1AS,1AS]\"\n                },\n                \"copy-of\": {\n                    XSLTonly: !0,\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F a[*] r[*]\"\n                },\n                count: {\n                    sig: \"1F r[1ADI] a[*]\"\n                },\n                current: {\n                    XSLTonly: !0,\n                    sig: \"1F r[1] a[]\"\n                },\n                \"current-date\": {\n                    sig: \"1F r[1AA] a[]\"\n                },\n                \"current-dateTime\": {\n                    sig: \"1F r[1AMP] a[]\"\n                },\n                \"current-group\": {\n                    XSLTonly: !0,\n                    sig: \"1F a[] r[*]\"\n                },\n                \"current-grouping-key\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[*A] a[]\"\n                },\n                \"current-merge-group\": {\n                    XSLTonly: !0,\n                    arity: [0, 1],\n                    sig: \"1F a[1AS] r[*]\"\n                },\n                \"current-merge-key\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[*A] a[]\"\n                },\n                \"current-output-uri\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[?AU] a[]\"\n                },\n                \"current-time\": {\n                    sig: \"1F r[1AT] a[]\"\n                },\n                data: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[*A] a[*]\"\n                },\n                dateTime: {\n                    sig: \"1F r[?AM] a[?AA,?AT]\"\n                },\n                \"day-from-date\": {\n                    sig: \"1F r[?ADI] a[?AA]\"\n                },\n                \"day-from-dateTime\": {\n                    sig: \"1F r[?ADI] a[?AM]\"\n                },\n                \"days-from-duration\": {\n                    sig: \"1F r[?ADI] a[?AR]\"\n                },\n                \"deep-equal\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AB] a[*,*,1AS]\"\n                },\n                \"default-collation\": {\n                    sig: \"1F r[1AS] a[]\"\n                },\n                \"default-language\": {\n                    sig: \"1F r[1ASNTL] a[]\"\n                },\n                \"distinct-values\": {\n                    arity: [1, 2],\n                    collation: 1,\n                    sig: \"1F r[*A] a[*A,1AS]\"\n                },\n                doc: {\n                    sig: \"1F r[?ND] a[?AS]\"\n                },\n                \"doc-available\": {\n                    sig: \"1F r[1AB] a[?AS]\"\n                },\n                document: {\n                    XSLTonly: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[*N] a[*,1N]\"\n                },\n                \"document-uri\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?AU] a[?N]\"\n                },\n                \"element-available\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[1AB] a[1AS]\"\n                },\n                \"element-with-id\": {\n                    defaultToDot: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[*NE] a[*AS,1N]\"\n                },\n                empty: {\n                    sig: \"1F r[1AB] a[*]\"\n                },\n                \"encode-for-uri\": {\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                \"ends-with\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AB] a[?AS,?AS,1AS]\"\n                },\n                \"environment-variable\": {\n                    sig: \"1F r[?AS] a[1AS]\"\n                },\n                error: {\n                    arity: [0, 1, 2, 3],\n                    sig: \"1F r[0E] a[?AQ,1AS,*]\"\n                },\n                \"escape-html-uri\": {\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                \"exactly-one\": {\n                    sig: \"1F r[1] a[*]\"\n                },\n                exists: {\n                    sig: \"1F r[1AB] a[*]\"\n                },\n                \"false\": {\n                    sig: \"1F r[1AB] a[]\"\n                },\n                filter: {\n                    sig: \"1F r[*] a[*,1F r[1AB] a[1]]\"\n                },\n                floor: {\n                    sig: \"1F r[?A m[AO,AD,AF]] a[?A m[AO,AD,AF]]\"\n                },\n                \"fold-left\": {\n                    sig: \"1F a[*,*,1F a[*,1] r[*]] r[*]\"\n                },\n                \"fold-right\": {\n                    sig: \"1F a[*,*,1F a[1,*] r[*]] r[*]\"\n                },\n                \"for-each\": {\n                    sig: \"1F a[*,1F a[1] r[*]] r[*]\"\n                },\n                \"for-each-pair\": {\n                    sig: \"1F a[*,*,1F a[1,1] r[*]] r[*]\"\n                },\n                \"format-date\": {\n                    arity: [2, 5],\n                    sig: \"1F r[?AS] a[?AA,1AS,?AS,?AS,?AS]\"\n                },\n                \"format-dateTime\": {\n                    arity: [2, 5],\n                    sig: \"1F r[?AS] a[?AM,1AS,?AS,?AS,?AS]\"\n                },\n                \"format-integer\": {\n                    arity: [2, 3],\n                    sig: \"1F r[1AS] a[?ADI,1AS,?AS]\"\n                },\n                \"format-number\": {\n                    arity: [2, 3],\n                    sig: \"1F r[1AS] a[?A m[AO,AD,AF],1AS,?AS]\"\n                },\n                \"format-time\": {\n                    arity: [2, 5],\n                    sig: \"1F r[?AS] a[?AT,1AS,?AS,?AS,?AS]\"\n                },\n                \"function-arity\": {\n                    sig: \"1F r[1ADI] a[1F]\"\n                },\n                \"function-available\": {\n                    XSLTonly: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[1AB] a[1AS,1ADI]\"\n                },\n                \"function-lookup\": {\n                    sig: \"1F r[?F] a[1AQ,1ADI]\"\n                },\n                \"function-name\": {\n                    sig: \"1F r[?AQ] a[1F]\"\n                },\n                \"generate-id\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AS] a[?N]\"\n                },\n                \"has-children\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AB] a[?N]\"\n                },\n                head: {\n                    sig: \"1F r[?] a[*]\"\n                },\n                \"hours-from-dateTime\": {\n                    sig: \"1F r[?ADI] a[?AM]\"\n                },\n                \"hours-from-duration\": {\n                    sig: \"1F r[?ADI] a[?AR]\"\n                },\n                \"hours-from-time\": {\n                    sig: \"1F r[?ADI] a[?AT]\"\n                },\n                id: {\n                    defaultToDot: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[*NE] a[*AS,1N]\"\n                },\n                idref: {\n                    defaultToDot: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[*N] a[*AS,1N]\"\n                },\n                \"implicit-timezone\": {\n                    sig: \"1F r[1ARD] a[]\"\n                },\n                \"in-scope-prefixes\": {\n                    sig: \"1F r[*AS] a[1NE]\"\n                },\n                \"index-of\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[*ADI] a[*A,1A,1AS]\"\n                },\n                innermost: {\n                    sig: \"1F r[*N] a[*N]\"\n                },\n                \"insert-before\": {\n                    sig: \"1F a[*,1ADI,*] r[*]\"\n                },\n                \"iri-to-uri\": {\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                \"json-doc\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?] a[?AS,1FM]\"\n                },\n                \"json-to-xml\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?ND] a[?AS,1FM]\"\n                },\n                key: {\n                    XSLTonly: !0,\n                    arity: [2, 3],\n                    sig: \"1F r[*N] a[1AS,*A,1N]\"\n                },\n                lang: {\n                    defaultToDot: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[1AB] a[?AS,1N]\"\n                },\n                last: {\n                    sig: \"1F r[1ADI] a[]\"\n                },\n                \"load-xquery-module\": {\n                    arity: [1, 2],\n                    sig: \"1F r[1FM] a[1AS,1FM]\"\n                },\n                \"local-name\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AS] a[?N]\"\n                },\n                \"local-name-from-QName\": {\n                    sig: \"1F r[?ASNTNC] a[?AQ]\"\n                },\n                \"lower-case\": {\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                matches: {\n                    arity: [2, 3],\n                    sig: \"1F r[1AB] a[?AS,1AS,1AS]\"\n                },\n                max: {\n                    arity: [1, 2],\n                    collation: 1,\n                    sig: \"1F r[?A] a[*A,1AS]\"\n                },\n                min: {\n                    arity: [1, 2],\n                    collation: 1,\n                    sig: \"1F r[?A] a[*A,1AS]\"\n                },\n                \"minutes-from-dateTime\": {\n                    sig: \"1F r[?ADI] a[?AM]\"\n                },\n                \"minutes-from-duration\": {\n                    sig: \"1F r[?ADI] a[?AR]\"\n                },\n                \"minutes-from-time\": {\n                    sig: \"1F r[?ADI] a[?AT]\"\n                },\n                \"month-from-date\": {\n                    sig: \"1F r[?ADI] a[?AA]\"\n                },\n                \"month-from-dateTime\": {\n                    sig: \"1F r[?ADI] a[?AM]\"\n                },\n                \"months-from-duration\": {\n                    sig: \"1F r[?ADI] a[?AR]\"\n                },\n                name: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AS] a[?N]\"\n                },\n                \"namespace-uri\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AU] a[?N]\"\n                },\n                \"namespace-uri-for-prefix\": {\n                    sig: \"1F r[?AU] a[?AS,1NE]\"\n                },\n                \"namespace-uri-from-QName\": {\n                    sig: \"1F r[?AU] a[?AQ]\"\n                },\n                nilled: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?AB] a[?N]\"\n                },\n                \"node-name\": {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?AQ] a[?N]\"\n                },\n                \"normalize-space\": {\n                    arity: [0, 1],\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                \"normalize-unicode\": {\n                    arity: [1, 2],\n                    sig: \"1F r[1AS] a[?AS,1AS]\"\n                },\n                not: {\n                    sig: \"1F r[1AB] a[*]\"\n                },\n                number: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AO] a[?A]\"\n                },\n                \"one-or-more\": {\n                    sig: \"1F r[+] a[*]\"\n                },\n                outermost: {\n                    sig: \"1F r[*N] a[*N]\"\n                },\n                \"parse-ietf-date\": {\n                    sig: \"1F r[?AM] a[?AS]\"\n                },\n                \"parse-json\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?] a[?AS,1FM]\"\n                },\n                \"parse-xml\": {\n                    sig: \"1F r[?ND e[NE]] a[?AS]\"\n                },\n                \"parse-xml-fragment\": {\n                    sig: \"1F r[?ND] a[?AS]\"\n                },\n                path: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?AS] a[?N]\"\n                },\n                position: {\n                    sig: \"1F r[1ADI] a[]\"\n                },\n                \"prefix-from-QName\": {\n                    sig: \"1F r[?ASNTNC] a[?AQ]\"\n                },\n                \"random-number-generator\": {\n                    arity: [0, 1],\n                    sig: \"1F r[1FM k[AS] v[1]] a[?A]\"\n                },\n                \"regex-group\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[1AS] a[1ADI]\"\n                },\n                remove: {\n                    sig: \"1F r[*] a[*,1ADI]\"\n                },\n                replace: {\n                    arity: [3, 4],\n                    sig: \"1F r[1AS] a[?AS,1AS,1AS,1AS]\"\n                },\n                \"resolve-QName\": {\n                    sig: \"1F r[?AQ] a[?AS,1NE]\"\n                },\n                \"resolve-uri\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AU] a[?AS,1AS]\"\n                },\n                reverse: {\n                    sig: \"1F a[*] r[*]\"\n                },\n                root: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[?N] a[?N]\"\n                },\n                round: {\n                    arity: [1, 2],\n                    sig: \"1F r[?A m[AO,AD,AF]] a[?A m[AO,AD,AF],1ADI]\"\n                },\n                \"round-half-to-even\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?A m[AO,AD,AF]] a[?A m[AO,AD,AF],1ADI]\"\n                },\n                \"seconds-from-dateTime\": {\n                    sig: \"1F r[?AD] a[?AM]\"\n                },\n                \"seconds-from-duration\": {\n                    sig: \"1F r[?AD] a[?AR]\"\n                },\n                \"seconds-from-time\": {\n                    sig: \"1F r[?AD] a[?AT]\"\n                },\n                serialize: {\n                    arity: [1, 2],\n                    sig: \"1F r[1AS] a[*,?]\"\n                },\n                snapshot: {\n                    XSLTonly: !0,\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F a[*] r[*]\"\n                },\n                sort: {\n                    arity: [1, 2, 3],\n                    collation: 1,\n                    sig: \"1F r[*] a[*,?AS,1F r[*A] a[1]]\"\n                },\n                \"starts-with\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AB] a[?AS,?AS,1AS]\"\n                },\n                \"static-base-uri\": {\n                    sig: \"1F r[?AU] a[]\"\n                },\n                \"stream-available\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[1AB] a[?AS]\"\n                },\n                string: {\n                    defaultToDot: !0,\n                    arity: [0, 1],\n                    sig: \"1F r[1AS] a[?]\"\n                },\n                \"string-join\": {\n                    arity: [1, 2],\n                    sig: \"1F r[1AS] a[*A,1AS]\"\n                },\n                \"string-length\": {\n                    arity: [0, 1],\n                    sig: \"1F r[1ADI] a[?AS]\"\n                },\n                \"string-to-codepoints\": {\n                    sig: \"1F r[*ADI] a[?AS]\"\n                },\n                subsequence: {\n                    arity: [2, 3],\n                    sig: \"1F a[*,1AO,1AO] r[*]\"\n                },\n                substring: {\n                    arity: [2, 3],\n                    sig: \"1F r[1AS] a[?AS,1AO,1AO]\"\n                },\n                \"substring-after\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AS] a[?AS,?AS,1AS]\"\n                },\n                \"substring-before\": {\n                    arity: [2, 3],\n                    collation: 2,\n                    sig: \"1F r[1AS] a[?AS,?AS,1AS]\"\n                },\n                sum: {\n                    arity: [1, 2],\n                    sig: \"1F r[?A] a[*A,?A]\"\n                },\n                \"system-property\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[1AS] a[1AS]\"\n                },\n                tail: {\n                    sig: \"1F a[*] r[*]\"\n                },\n                \"timezone-from-date\": {\n                    sig: \"1F r[?ARD] a[?AA]\"\n                },\n                \"timezone-from-dateTime\": {\n                    sig: \"1F r[?ARD] a[?AM]\"\n                },\n                \"timezone-from-time\": {\n                    sig: \"1F r[?ARD] a[?AT]\"\n                },\n                tokenize: {\n                    arity: [1, 2, 3],\n                    sig: \"1F r[*AS] a[?AS,1AS,1AS]\"\n                },\n                trace: {\n                    arity: [1, 2],\n                    sig: \"1F a[*,1AS] r[*]\"\n                },\n                transform: {\n                    sig: \"1F r[1FM] a[1FM]\"\n                },\n                translate: {\n                    sig: \"1F r[1AS] a[?AS,1AS,1AS]\"\n                },\n                \"true\": {\n                    sig: \"1F r[1AB] a[]\"\n                },\n                \"type-available\": {\n                    XSLTonly: !0,\n                    sig: \"1F r[1AB] a[1AS]\"\n                },\n                unordered: {\n                    sig: \"1F r[*] a[*]\"\n                },\n                \"unparsed-entity-public-id\": {\n                    XSLTonly: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[1AS] a[1AS,1N]\"\n                },\n                \"unparsed-entity-uri\": {\n                    XSLTonly: !0,\n                    arity: [1, 2],\n                    sig: \"1F r[1AU] a[1AS,1N]\"\n                },\n                \"unparsed-text\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AS] a[?AS,1AS]\"\n                },\n                \"unparsed-text-available\": {\n                    arity: [1, 2],\n                    sig: \"1F r[1AB] a[?AS,1AS]\"\n                },\n                \"unparsed-text-lines\": {\n                    arity: [1, 2],\n                    sig: \"1F r[*AS] a[?AS,1AS]\"\n                },\n                \"upper-case\": {\n                    sig: \"1F r[1AS] a[?AS]\"\n                },\n                \"uri-collection\": {\n                    arity: [0, 1],\n                    sig: \"1F r[*AU] a[?AS]\"\n                },\n                \"xml-to-json\": {\n                    arity: [1, 2],\n                    sig: \"1F r[?AS] a[?N,1FM]\"\n                },\n                \"year-from-date\": {\n                    sig: \"1F r[?ADI] a[?AA]\"\n                },\n                \"year-from-dateTime\": {\n                    sig: \"1F r[?ADI] a[?AM]\"\n                },\n                \"years-from-duration\": {\n                    sig: \"1F r[?ADI] a[?AR]\"\n                },\n                \"zero-or-one\": {\n                    sig: \"1F r[?] a[*]\"\n                }\n            },\n            \"http://www.w3.org/2005/xpath-functions/array\": {\n                append: {\n                    sig: \"1F r[1FA] a[1FA,*]\"\n                },\n                filter: {\n                    sig: \"1F r[1FA] a[1FA,1F r[1AB] a[*]]\"\n                },\n                flatten: {\n                    sig: \"1F a[*] r[*]\"\n                },\n                \"fold-left\": {\n                    sig: \"1F a[1FA,*,1F a[*,*]] r[*]\"\n                },\n                \"fold-right\": {\n                    sig: \"1F a[1FA,*,1F a[*,*]] r[*]\"\n                },\n                \"for-each\": {\n                    sig: \"1F r[1FA] a[1FA,1F a[*]]\"\n                },\n                \"for-each-pair\": {\n                    sig: \"1F r[1FA] a[1FA,1FA,1F a[*,*]]\"\n                },\n                get: {\n                    sig: \"1F a[1FA,1ADI] r[*]\"\n                },\n                head: {\n                    sig: \"1F a[1FA] r[*]\"\n                },\n                \"insert-before\": {\n                    sig: \"1F r[1FA] a[1FA,1ADI,*]\"\n                },\n                join: {\n                    sig: \"1F r[1FA] a[*FA]\"\n                },\n                put: {\n                    sig: \"1F r[1FA] a[1FA,1ADI,*]\"\n                },\n                remove: {\n                    sig: \"1F r[1FA] a[1FA,*ADI]\"\n                },\n                reverse: {\n                    sig: \"1F r[1FA] a[1FA]\"\n                },\n                size: {\n                    sig: \"1F r[1ADI] a[1FA]\"\n                },\n                sort: {\n                    arity: [1, 2, 3],\n                    collation: 1,\n                    sig: \"1F r[1FA] a[1FA,?AS,1F r[*A] a[*]]\"\n                },\n                subarray: {\n                    arity: [2, 3],\n                    sig: \"1F r[1FA] a[1FA,1ADI,1ADI]\"\n                },\n                tail: {\n                    sig: \"1F r[1FA] a[1FA]\"\n                }\n            },\n            \"http://www.w3.org/2005/xpath-functions/map\": {\n                contains: {\n                    sig: \"1F r[1AB] a[1FM,1A]\"\n                },\n                entry: {\n                    sig: \"1F r[1FM] a[1A,*]\"\n                },\n                find: {\n                    sig: \"1F r[1FA] a[*,1A]\"\n                },\n                \"for-each\": {\n                    sig: \"1F r[*] a[1FM,1F a[1A,*]]\"\n                },\n                get: {\n                    sig: \"1F a[1FM,1A] r[*]\"\n                },\n                keys: {\n                    sig: \"1F r[*A] a[1FM]\"\n                },\n                merge: {\n                    arity: [1, 2],\n                    sig: \"1F r[1FM] a[*FM,1FM]\"\n                },\n                put: {\n                    sig: \"1F r[1FM] a[1FM,1A,*]\"\n                },\n                remove: {\n                    sig: \"1F r[1FM] a[1FM,*A]\"\n                },\n                size: {\n                    sig: \"1F r[1ADI] a[1FM]\"\n                }\n            },\n            \"http://www.w3.org/2005/xpath-functions/math\": {\n                acos: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                asin: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                atan: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                atan2: {\n                    sig: \"1F r[1AO] a[1AO,1AO]\"\n                },\n                cos: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                exp: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                exp10: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                log: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                log10: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                pi: {\n                    sig: \"1F r[1AO] a[]\"\n                },\n                pow: {\n                    sig: \"1F r[?AO] a[?AO,1A m[AO,AD,AF]]\"\n                },\n                sin: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                sqrt: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                },\n                tan: {\n                    sig: \"1F r[?AO] a[?AO]\"\n                }\n            }\n        }\n    };\n    // Input 71\n    var Jh = function() {\n        const a = {};\n        a[Zb.wb] = {\n            apply: {\n                sig: \"1F r[*] a[1F,1FA]\"\n            },\n            \"column-number\": {\n                arity: [0, 1],\n                sig: \"1F r[1ADI] a[1N]\"\n            },\n            \"compile-XPath\": {\n                arity: [1, 2, 3],\n                sig: \"1F r[1ND] a[1AS,?,?]\"\n            },\n            \"compile-GlobalContext\": {\n                sig: \"1F r[1] a[1FM,1FM,1FM]\"\n            },\n            \"discard-document\": {\n                sig: \"1F r[1ND] a[1ND]\"\n            },\n            \"has-uniform-namespaces\": {\n                sig: \"1F r[1AB] a[1N]\"\n            },\n            \"line-number\": {\n                arity: [0, 1],\n                sig: \"1F r[1ADI] a[1N]\"\n            },\n            \"marshal-type\": {\n                sig: \"1F r[1FM] a[1AS]\"\n            },\n            \"message-count\": {\n                sig: \"1F r[1ADI] a[?AQ]\"\n            },\n            \"parse-sequence-type\": {\n                arity: [2, 3],\n                sig: \"1F r[1FM] a[1AS,1NE,?AS]\"\n            },\n            \"parse-XPath\": {\n                arity: [1, 2, 3],\n                sig: \"1F r[1ND] a[1AS,?AS,?]\"\n            },\n            permute: {\n                sig: \"1F r[*] a[*]\"\n            },\n            \"system-id\": {\n                sig: \"1F r[*AU] a[]\"\n            },\n            timestamp: {\n                sig: \"1F r[1AMP] a[]\"\n            }\n        };\n        a[Zb.nd] = {\n            apply: {\n                sig: \"1F r[*] a[1F,1FA]\"\n            },\n            call: {\n                sig: \"1F r[*] a[1,1AS,1FA]\"\n            },\n            contains: {\n                sig: \"1F r[1AB] a[1,1AS]\"\n            },\n            eval: {\n                sig: \"1F r[*] a[1AS]\"\n            },\n            event: {\n                sig: \"1F r[?] a[]\"\n            },\n            get: {\n                sig: \"1F r[*] a[1,1AS]\"\n            },\n            location: {\n                sig: \"1F r[1AS] a[]\"\n            },\n            page: {\n                sig: \"1F r[1N] a[]\"\n            },\n            \"query-params\": {\n                sig: \"1F r[1FM] a[]\"\n            },\n            source: {\n                sig: \"1F r[?N] a[]\"\n            },\n            style: {\n                sig: \"1F r[1FM] a[?N]\"\n            },\n            window: {\n                sig: \"1F r[1] a[]\"\n            }\n        };\n        a[\"http://exslt.org/common\"] = {\n            \"node-set\": {\n                sig: \"1F r[?N] a[?N]\",\n                isIdempotent: !0\n            }\n        };\n        return {\n            Ri: function(c) {\n                return a[c]\n            },\n            Nf: function(c) {\n                const q = c.namespace;\n                c = c.signatures;\n                let E = a[q];\n                E || (E = {},\n                a[q] = E);\n                Object.entries(c).forEach(H=>{\n                    E[H[0]] = H[1]\n                }\n                )\n            }\n        }\n    }();\n    // Input 72\n    var Lh = function() {\n        function a(b) {\n            var d;\n            var l = {};\n            for (d in b) {\n                var r = b[d];\n                l[d] = r\n            }\n            return l\n        }\n        function c() {}\n        function q(b) {\n            const d = {};\n            if (b) {\n                b = b.split(\" \");\n                for (let r = 0; r < b.length; r++) {\n                    var l = b[r];\n                    const n = l.indexOf(\"=\")\n                      , B = -1 === n ? l : l.substring(0, n);\n                    l = -1 === n ? \"\" : l.substring(n + 1);\n                    d[B] = \"~\" === l ? Zb.withPrefix[B] : l\n                }\n            }\n            return d\n        }\n        function E(b) {\n            const d = [];\n            (b.C || []).forEach(function(l) {\n                \"arg\" === l.N && d.push(l)\n            });\n            return d\n        }\n        function H(b, d, l) {\n            let r;\n            if (d.globalContext)\n                r = d.globalContext.value.ba();\n            else {\n                r = new c;\n                r.j();\n                var n = d.globals;\n                n && (r.Hc = n);\n                if (n = d.accumulators)\n                    r.Gb = n\n            }\n            n = d.language;\n            O && O.language && (n = O.language);\n            var B = d.staticContext;\n            B && B.language && (n = B.language);\n            B = d.html5Mode;\n            r.qe = B ? B : !1;\n            r.bb = n ? \"XSLT\" === n : !1;\n            r.Jc = d.inTry;\n            r.hf = d.inCatch;\n            r.Tb = d.backwardCompatibility;\n            let W, ma;\n            if (n = d.slotMap) {\n                B = -1;\n                let qa;\n                for (W in n)\n                    qa = n[W],\n                    r.ac[W] = qa,\n                    B = qa > B ? qa : B;\n                r.qd = B + 1\n            }\n            r.Gj(b);\n            if (b = d.slotTypes)\n                for (W in b)\n                    r.wd[W] = ic(b[W]);\n            for (ma in l)\n                r.namespaces[ma] = l[ma];\n            r.namespaces[\"\"] = \"\";\n            if (l = d.staticTyping)\n                r.vf = l;\n            if (l = d.xpathDefaultNamespace)\n                r.xpathDefaultNamespace = l;\n            if (l = d.defaultCollation)\n                r.Ub = l;\n            if (l = d.staticBaseURI)\n                r.staticBaseURI = l;\n            (l = d.contextType) ? r.type = new gc(jc(l),2) : r.type = r.bb ? null : dc.mc;\n            r.ye = r.type;\n            if (d = d.requiredType)\n                r.De = ec(d);\n            return r\n        }\n        function p(b) {\n            const d = new c;\n            d.type = dc.mc;\n            d.aa(b.params, b.inputConvert);\n            [\"xs\", \"map\", \"array\", \"math\", \"saxon\"].forEach(n=>d.namespaces[n] = nh[n]);\n            for (var l in b.namespaceContext)\n                d.namespaces[l] = b.namespaceContext[l];\n            b.xpathDefaultNamespace && (d.xpathDefaultNamespace = b.xpathDefaultNamespace);\n            let r;\n            if (b = b.slotMap) {\n                l = -1;\n                let n;\n                for (r in b)\n                    n = b[r],\n                    d.ac[r] = n,\n                    l = n > l ? n : l;\n                d.qd = l + 1\n            }\n            return d\n        }\n        function g(b, d, l) {\n            b = Hh.process(b, \"pattern\" === d.type, d.splitPattern, l, \"XSLT\" === d.language, d.allowEmpty, d.freeVariables);\n            return Pb(b)\n        }\n        function e(b, d=!1) {\n            const l = {\n                \"function\": {},\n                globalVariable: {},\n                globalParam: {}\n            };\n            for (const n in b) {\n                if (\"PRIVATE\" === b[n].visibility)\n                    continue;\n                var r = b[n].actor;\n                const B = ac.X(r) ? r.nodeName : r.N\n                  , W = ac.X(r) ? r.getAttribute(\"name\") : r.name;\n                switch (B) {\n                case \"function\":\n                    if (d && \"PUBLIC\" !== b[n].visibility && \"FINAL\" !== b[n].visibility)\n                        break;\n                    r = (ac.X(r) ? ac.Ec(r, \"arg\") : E(r)).length;\n                    l[B][W + \"#\" + r] = b[n];\n                    break;\n                case \"globalVariable\":\n                case \"globalParam\":\n                    l[B][W] = b[n]\n                }\n            }\n            return l\n        }\n        function k(b, d=!0) {\n            const l = {\n                N: b.nodeName\n            };\n            var r = b.attributes, n;\n            for (n = 0; n < r.length; n++) {\n                var B = r[n].name;\n                if (\"xmlns\" !== B.substring(0, 5) || 5 !== B.length && \":\" !== B.charAt(5))\n                    l[B] = r[n].value\n            }\n            b = b.childNodes || [];\n            if (0 !== b.length) {\n                r = [];\n                for (n = 0; n < b.length; n++)\n                    B = k(b[n], d),\n                    d && (B.parentNode = l),\n                    r.push(B);\n                l.C = r\n            }\n            return l\n        }\n        function v(b) {\n            b.C && b.C.forEach(function(d) {\n                d.parentNode = b;\n                v(d)\n            })\n        }\n        function t(b, d, l) {\n            b = {\n                N: \"co\",\n                id: b,\n                binds: l,\n                We: l.split(/\\s+/).map(r=>parseInt(r, 10)),\n                actor: d,\n                C: [d]\n            };\n            return d.parentNode = b\n        }\n        function C(b) {\n            if (!ac.X(b))\n                return [];\n            let d = [];\n            b.childNodes.forEach(l=>d = d.concat(C(l)));\n            return d\n        }\n        function m(b, d) {\n            \"ufRef\" === b.nodeName ? b.setAttribute(\"bSlot\", d[b.getAttribute(\"name\")]) : b.hasChildNodes() && b.childNodes.forEach(l=>m(l, d))\n        }\n        function f(b, d, l) {\n            var r = Jd.find(\"SaxonJS\");\n            const n = r.XError\n              , B = r.convertResult;\n            var W = r.getPlatform()\n              , ma = W.inBrowser();\n            l ||= {};\n            l.params || (l.params = {});\n            if (b.freeV) {\n                const y = l.params;\n                let I = {};\n                b.freeV.forEach(R=>{\n                    const M = R.startsWith(\"Q{}\") ? y[R.substring(3)] : y[R];\n                    if (!M)\n                        throw new n(\"A value for parameter \" + R + \" is required\",\"SXJS9999\");\n                    I[R] = M\n                }\n                );\n                l.params = I\n            }\n            r = l.inputConvert || \"strong\";\n            const qa = p(l);\n            let L = b.C[0];\n            L.parentNode = b;\n            const aa = {\n                name: \"evaluate\",\n                Za: b,\n                hb: {}\n            };\n            b = new ne;\n            b.ja = W.createDocument();\n            b.fixed = {\n                Rd: {},\n                tb: {},\n                kc: {},\n                vd: {},\n                Lf: 0,\n                Jb: new Date,\n                hb: {\n                    \"Q{}\": b.ja.createElement(\"decimal-format\")\n                },\n                rd: {\n                    evaluate: aa\n                },\n                staticBaseURI: ma ? window.location.href : null,\n                ka: cd\n            };\n            l.staticBaseURI && (b.fixed.staticBaseURI = l.staticBaseURI);\n            let z, D;\n            if (l.namedDecimalFormats)\n                for (const y in l.namedDecimalFormats) {\n                    W = l.namedDecimalFormats[y];\n                    ma = b.ja.createElement(\"decimal-format\");\n                    for (z in W)\n                        D = W[z],\n                        ma.setAttribute(z, [\"infinity\", \"NaN\"].includes(z) ? D : Da(D)[0]);\n                    aa.hb[/^Q\\{/.test(y) ? y : \"Q{}\" + y] = k(ma)\n                }\n            if (l.defaultDecimalFormat) {\n                W = l.defaultDecimalFormat;\n                ma = b.ja.createElement(\"decimal-format\");\n                for (z in W)\n                    D = W[z],\n                    ma.setAttribute(z, [\"infinity\", \"NaN\"].includes(z) ? D : Da(D)[0]);\n                aa.hb[\"Q{}\"] = k(ma)\n            }\n            b.oa = qa.xc;\n            if (d)\n                if (d instanceof vb)\n                    b.focus = d;\n                else {\n                    if (Array.isArray(d) && 1 < d.length)\n                        throw new n(\"Context item is a sequence of more than one item\",\"XTTE3210\");\n                    d = cd.Ra(d);\n                    \"strong\" === r && (d = cd.xd(d));\n                    b.focus = null != d ? Rb(d[0]) : Sb(Ob)\n                }\n            else\n                b.focus = Sb(Ob);\n            d = cd.evaluate(L, b);\n            return B(d, l.resultForm || \"default\")\n        }\n        const A = Hd.$c;\n        let O = null;\n        c.prototype = {\n            type: void 0,\n            De: void 0,\n            ye: void 0,\n            I: [],\n            K: void 0,\n            qd: 0,\n            B: 1,\n            ac: {},\n            wd: {},\n            g: {},\n            xc: [],\n            Hc: {},\n            Gb: {},\n            vf: !1,\n            bb: !1,\n            Jc: !1,\n            hf: !1,\n            ng: !1,\n            Tb: !1,\n            namespaces: {},\n            xpathDefaultNamespace: \"\",\n            Ub: A,\n            j: function() {\n                this.B = this.qd = 0;\n                this.xc = [];\n                this.ac = {};\n                this.wd = {};\n                this.vf = !1;\n                this.g = {};\n                this.Hc = {};\n                this.namespaces = {\n                    \"\": \"\",\n                    xml: \"http://www.w3.org/XML/1998/namespace\",\n                    fn: \"http://www.w3.org/2005/xpath-functions\"\n                };\n                this.Ub = A\n            },\n            toString: function() {\n                var b = 0, d;\n                for (d in this.Hc)\n                    b++;\n                return \"CompileContext:\\n\\t\" + (b + \" global variables/params\")\n            },\n            Gj: function(b) {\n                if (void 0 !== b && (b = b.next(),\n                null != b))\n                    for (var d = Kb(b.keys()), l; null != (l = d.next()); ) {\n                        var r = La.XS.QName.matches(l) ? l.toEQName() : l.toString();\n                        /^Q{/.test(r) || (r = \"Q{}\" + r);\n                        const n = this.ac.hasOwnProperty(r) ? this.ac[r] : this.qd++;\n                        this.ac[r] = n;\n                        l = b.get(l);\n                        this.xc[n] = l;\n                        this.wd[r] = dc.Aa\n                    }\n            },\n            aa: function(b, d) {\n                this.j();\n                if (void 0 !== b)\n                    for (const r in b) {\n                        let n = r.toString();\n                        /^Q{/.test(n) || (n = \"Q{}\" + n);\n                        var l = this.qd++;\n                        this.ac[n] = l;\n                        let B = cd.Ra(b[r]);\n                        \"strong\" === d && (B = cd.xd(B));\n                        if (this.xc[l] = B)\n                            l = B.code,\n                            this.wd[n] = l ? new gc(La.codes[l],2) : dc.Aa\n                    }\n            },\n            ba: function() {\n                const b = new c;\n                b.type = this.type;\n                b.De = this.De;\n                b.ye = this.ye;\n                b.I = this.I;\n                b.K = this.K;\n                b.qd = this.qd;\n                b.B = this.B;\n                b.ac = a(this.ac);\n                b.wd = a(this.wd);\n                b.vf = this.vf;\n                b.bb = this.bb;\n                b.Jc = this.Jc;\n                b.hf = this.hf;\n                b.Tb = this.Tb;\n                b.g = a(this.g);\n                b.xc = a(this.xc);\n                b.Hc = this.Hc;\n                b.Gb = this.Gb;\n                b.namespaces = a(this.namespaces);\n                b.xpathDefaultNamespace = this.xpathDefaultNamespace;\n                b.Ub = this.Ub;\n                b.fb = this.fb;\n                return b\n            }\n        };\n        return {\n            compile: function(b, d, l, r, n) {\n                r = q(d.nsAttribute);\n                l = H(l, d, r);\n                if (!d.globalContext && (l.fb = e(n.fixed.La),\n                n = d.globalFunctions)) {\n                    r = {};\n                    let W = 0;\n                    for (const ma in n) {\n                        var B = n[ma];\n                        const qa = ac.X(B);\n                        B = qa ? B.parentNode : B.parent;\n                        const L = qa ? B.parentNode : B.parent;\n                        r[W++] = {\n                            actor: B,\n                            Za: L,\n                            id: parseInt(qa ? L.getAttribute(\"id\") : L.id, 10)\n                        }\n                    }\n                    l.fb = e(r)\n                }\n                return g(b, d, l)\n            },\n            compileOnly: function(b, d, l=!1) {\n                Jd.find(\"SaxonJS\").getPlatform();\n                d ||= {};\n                d.params || (d.params = {});\n                d.freeVariables = !0;\n                var r = p(d);\n                let n = g(b, d, r).next();\n                if (r = n.Ii) {\n                    let W = Object.assign({}, d);\n                    W.freeVariables = !1;\n                    W.params = {};\n                    r.forEach(ma=>{\n                        W.params[ma] = \"dummy\"\n                    }\n                    );\n                    d = p(W);\n                    n = g(b, W, d).next()\n                }\n                const B = {\n                    N: \"package\",\n                    name: \"evaluate\",\n                    C: [n]\n                };\n                r && (B.freeV = r);\n                return l ? B : function(W, ma={}) {\n                    return f(B, W, {\n                        params: ma\n                    })\n                }\n            },\n            evaluateOnly: f,\n            compileGlobalContext: function(b, d, l) {\n                var r = new c;\n                r.j();\n                r.Hc = b;\n                r.V = d;\n                r.Gb = l;\n                b = {};\n                l = 0;\n                for (let B in d) {\n                    var n = d[B];\n                    const W = ac.X(n);\n                    n = W ? n.parentNode : n.parent;\n                    const ma = W ? n.parentNode : n.parent;\n                    b[l++] = {\n                        actor: n,\n                        Za: ma,\n                        id: parseInt(W ? ma.getAttribute(\"id\") : ma.id, 10)\n                    }\n                }\n                r.fb = e(b);\n                return Pb(r)\n            },\n            evaluateXDM: function(b, d, l, r) {\n                function n(ea=\"\") {\n                    return ma[ea]\n                }\n                var B;\n                const W = Jd.find(\"SaxonJS\").getPlatform();\n                let ma;\n                const qa = H(r.params, r, r.namespaces);\n                qa.La = l.fixed.La;\n                qa.staticBaseURI || (qa.staticBaseURI = l.fixed.staticBaseURI);\n                const L = l.fixed.La;\n                qa.fb = e(l.fixed.La, r.dynamicEval);\n                b = g(b, r, qa).next();\n                const aa = {\n                    N: \"package\",\n                    name: \"evaluate\"\n                };\n                var z = {\n                    name: \"evaluate\",\n                    Za: aa,\n                    hb: {}\n                };\n                b.parentNode = aa;\n                let D = !1;\n                var y = C(b);\n                if (0 < y.length) {\n                    D = !0;\n                    var I = [];\n                    for (var R = 0; R < y.length; R++)\n                        I.push(1001 + R);\n                    let ea = 1001;\n                    var M = 0;\n                    const ja = []\n                      , Y = {};\n                    y.forEach(V=>{\n                        const la = t(ea, k(V), \"\");\n                        V = V.getAttribute(\"name\") + \"#\" + V.getAttribute(\"arity\");\n                        la.parentNode = aa;\n                        qa.fb[\"function\"][V] = {\n                            actor: la,\n                            Za: null,\n                            id: ea\n                        };\n                        Y[V] = M++;\n                        L[ea] = la;\n                        ea++;\n                        ja.push(la)\n                    }\n                    );\n                    m(b, Y);\n                    b = k(b);\n                    I = t(1E3, b, I.join(\" \"));\n                    I.parentNode = aa;\n                    L[1E3] = I;\n                    ja.unshift(I);\n                    aa.C = ja\n                } else\n                    ac.X(b) ? b = k(b) : v(b),\n                    aa.C = [t(1E3, b, \"\")],\n                    b.parentNode = aa;\n                R = cd.ke(l.sa.actor, l);\n                for (B in R.hb)\n                    z.hb[B] = R.hb[B];\n                y = new ne;\n                y.fixed = {\n                    Rd: {},\n                    tb: {},\n                    vd: {},\n                    kc: {},\n                    Lf: 0,\n                    Jb: new Date,\n                    hb: {},\n                    La: l.fixed.La,\n                    ka: cd,\n                    options: l.fixed.options,\n                    Ib: l.fixed.Ib,\n                    staticBaseURI: l.fixed.staticBaseURI,\n                    Ee: null,\n                    rd: {\n                        evaluate: z\n                    }\n                };\n                y.fixed.rd[R.name] = R;\n                r.staticBaseURI && (y.fixed.staticBaseURI = r.staticBaseURI);\n                if (R = r.staticContext) {\n                    var ca = R.decimalFormats;\n                    if (ca)\n                        for (B in ca)\n                            z.hb[B] = k(ca[B]);\n                    if (z = R.resources)\n                        for (B in z)\n                            if (ca = z[B],\n                            ca.hasOwnProperty(\"err\")) {\n                                let ea = ca.err;\n                                ea = ea.replace(/Q{http:\\/\\/www\\.w3\\.org\\/2005\\/xqt-errors\\}/, \"\");\n                                y.fixed.kc[B] = new F(ea + \" \" + ca.description,ea)\n                            } else\n                                y.fixed.kc[B] = ca;\n                    if (z = R.sources)\n                        for (B in z)\n                            if (\".\" !== B)\n                                try {\n                                    const ea = z[B];\n                                    let ja;\n                                    if (\"string\" == typeof ea) {\n                                        let Y = W.readFile(ea);\n                                        Y = Nd.Rg(Nd.Qg(Y));\n                                        ja = ac.wc(W.parseXmlFromString(Y));\n                                        ja._saxonBaseUri = ea;\n                                        ja._saxonDocUri = ea\n                                    } else\n                                        ja = ea;\n                                    y.fixed.tb[B] = ja\n                                } catch (ea) {\n                                    y.fixed.tb[B] = ea\n                                }\n                    if (B = R.collectionFinder)\n                        ma = B,\n                        y.fixed.options.Tg = n;\n                    B = R.staticBaseURI;\n                    \"undefined\" != typeof B && (y.fixed.staticBaseURI = \"#UNDEFINED\" === B ? null : B)\n                }\n                r.staticBaseURI && (y.fixed.staticBaseURI = r.staticBaseURI);\n                y.masterDocument = l.masterDocument;\n                y.ja = W.createDocument();\n                if (null != d) {\n                    r = d.next();\n                    if (null != d.next())\n                        throw new F(\"Context item is a sequence of more than one item\",\"XTTE3210\");\n                    y.oa = [];\n                    for (d = 0; d < qa.xc.length; d++)\n                        y.oa[d] = qa.xc[d];\n                    y.sa = D ? I : l.sa;\n                    null != r ? (r = Rb(r),\n                    y.focus = r) : y.focus = Sb(Ob);\n                    return cd.evaluate(b, y)\n                }\n                return Ob\n            },\n            evaluate: function(b, d, l) {\n                var r = Jd.find(\"SaxonJS\");\n                const n = r.XError\n                  , B = r.convertResult;\n                var W = r.getPlatform()\n                  , ma = W.inBrowser();\n                l ||= {};\n                l.params || (l.params = {});\n                r = l.inputConvert || \"strong\";\n                const qa = p(l);\n                b = g(b, l, qa).next();\n                var L = {\n                    N: \"package\",\n                    name: \"evaluate\",\n                    C: [b]\n                };\n                b.parentNode = L;\n                const aa = {\n                    name: \"evaluate\",\n                    Za: L,\n                    hb: {}\n                };\n                L = new ne;\n                L.ja = W.createDocument();\n                W = {};\n                W[Hd.$c] = Hd.Sg();\n                W[Hd.gh] = Hd.Ze();\n                W[Hd.jg] = Hd.Mg();\n                W[Hd.Zh] = Hd.Ze();\n                L.fixed = {\n                    Rd: {},\n                    options: {\n                        Ac: W\n                    },\n                    tb: {},\n                    kc: {},\n                    vd: {},\n                    Lf: 0,\n                    Jb: new Date,\n                    hb: {\n                        \"Q{}\": L.ja.createElement(\"decimal-format\")\n                    },\n                    rd: {\n                        evaluate: aa\n                    },\n                    staticBaseURI: ma ? window.location.href : null,\n                    ka: cd\n                };\n                l.staticBaseURI && (L.fixed.staticBaseURI = l.staticBaseURI);\n                let z, D;\n                if (l.namedDecimalFormats)\n                    for (const y in l.namedDecimalFormats) {\n                        ma = l.namedDecimalFormats[y];\n                        W = L.ja.createElement(\"decimal-format\");\n                        for (z in ma)\n                            D = ma[z],\n                            W.setAttribute(z, [\"infinity\", \"NaN\"].includes(z) ? D : Da(D)[0]);\n                        aa.hb[/^Q\\{/.test(y) ? y : \"Q{}\" + y] = k(W)\n                    }\n                if (l.defaultDecimalFormat) {\n                    ma = l.defaultDecimalFormat;\n                    W = L.ja.createElement(\"decimal-format\");\n                    for (z in ma)\n                        D = ma[z],\n                        W.setAttribute(z, [\"infinity\", \"NaN\"].includes(z) ? D : Da(D)[0]);\n                    aa.hb[\"Q{}\"] = k(W)\n                }\n                L.oa = qa.xc;\n                if (d)\n                    if (d instanceof vb)\n                        L.focus = d;\n                    else {\n                        if (Array.isArray(d) && 1 < d.length)\n                            throw new n(\"Context item is a sequence of more than one item\",\"XTTE3210\");\n                        d = cd.Ra(d);\n                        \"strong\" === r && (d = cd.xd(d));\n                        L.focus = null != d ? Rb(d[0]) : Sb(Ob)\n                    }\n                else\n                    L.focus = Sb(Ob);\n                d = cd.evaluate(b, L);\n                return B(d, l.resultForm || \"default\")\n            },\n            forceBaseURI: function(b, d) {\n                b._saxonBaseUri = d;\n                b._saxonDocUri = d;\n                return b\n            },\n            getFnSignature: function(b, d, l) {\n                function r(ma) {\n                    ma.sig || (ma.sig = \"F a[\" + cd.qb(ma, \"arg\").map(qa=>qa.as).join(\",\") + \"] r[\" + ma.as + \"]\");\n                    return ma.sig\n                }\n                var n = null\n                  , B = Ih.Qj[b.uri];\n                B && (n = B[b.local]);\n                if (n && !l.bb && n.XSLTonly)\n                    return null;\n                n || b.uri !== Zb.lc || (La.type[b.local] ? n = {\n                    sig: \"1F a[?A] r[?\" + La.type[b.local].code + \"]\"\n                } : Bd[b.local] && (n = {\n                    sig: \"1F a[1AS] r[*\" + Bd[b.local] + \"]\"\n                }));\n                if (!n && l.fb && l.fb[\"function\"]) {\n                    var W = b.toEQName();\n                    if (l = l.fb[\"function\"][W + \"#\" + d])\n                        b = W,\n                        n = l.actor,\n                        ac.X(n) ? (ac.Ec(n, \"arg\"),\n                        n = {\n                            sig: n.getAttribute(\"sig\")\n                        }) : (E(n),\n                        n = {\n                            sig: r(n)\n                        }),\n                        n.isUserFunction = !0,\n                        n.componentBinding = l.id\n                } else if (!n && l.fixed && l.fixed.La)\n                    if (B = `{${b.uri}}${b.local}`,\n                    B in l.fixed.Rd)\n                        n = l.fixed.Rd[B];\n                    else {\n                        const ma = b.toEQName();\n                        for (W in l.fixed.La) {\n                            const qa = l.fixed.La[W].actor;\n                            if (\"function\" === qa.N && qa.name === ma && E(qa).length === d) {\n                                n = {\n                                    sig: r(qa),\n                                    isUserFunction: !0,\n                                    componentBinding: W\n                                };\n                                l.fixed.Rd[B] = n;\n                                break\n                            }\n                        }\n                    }\n                if (!n && ((l = Jh.Ri(b.uri)) && (n = l[b.local]),\n                b.uri === Zb.xh)) {\n                    b = 0 < d ? \"*\" : \"\";\n                    for (n = 1; n < d; n++)\n                        b += \",*\";\n                    n = {\n                        sig: \"1F a[\" + b + \"] r[*]\",\n                        variadic: !0\n                    }\n                }\n                n && !n.alphaTree && (n.alphaTree = rb(n.sig));\n                return n && (b = n.alphaTree.a.length,\n                null != d && d !== b && (n.variadic ? d < b : !(n.arity || []).includes(d))) ? null : n\n            },\n            parseNsAttribute: q,\n            sefToJSON: k,\n            setStaticContext: function(b) {\n                O = cd.sb(b.value, !0);\n                b = {};\n                const d = O.resources;\n                for (const l in d) {\n                    const r = d[l];\n                    if (r.hasOwnProperty(\"err\")) {\n                        let n = r.err;\n                        n = n.replace(/Q{http:\\/\\/www\\.w3\\.org\\/2005\\/xqt-errors\\}/, \"\");\n                        b[l] = new F(n + \" \" + r.description,n)\n                    } else\n                        b[l] = r\n                }\n                O.resources = b;\n                return null\n            },\n            resetStaticContext: function() {\n                return O = null\n            },\n            resetNameBase: function() {}\n        }\n    }();\n    // Input 73\n    var Eh = {\n        evaluateXDM: Lh.evaluateXDM,\n        evaluate: Lh.evaluate,\n        compileToXML: Lh.compile,\n        compile: Lh.compileOnly,\n        evaluateOnly: Lh.evaluateOnly,\n        compileGlobalContext: Lh.compileGlobalContext,\n        forceBaseURI: Lh.forceBaseURI,\n        getFnSignature: Lh.getFnSignature,\n        sefToJSON: Lh.sefToJSON,\n        setStaticContext: Lh.setStaticContext,\n        resetStaticContext: Lh.resetStaticContext,\n        resetNameBase: Lh.resetNameBase\n    };\n    // Input 74\n    // Input 75\n    // Input 76\n    const Mh = function() {\n        function a(e, k, v, t, C) {\n            switch (e) {\n            case Zb.Oa + \"/math\":\n                return H(k, v, t, C);\n            case Zb.Oa + \"/map\":\n                return E(k, v, t, C);\n            case Zb.Oa + \"/array\":\n                return q(k, v, t, C);\n            case Zb.nd:\n                return c(k, v, t, C);\n            default:\n                const m = (g[e] || {})[k];\n                if (!m)\n                    throw new F(\"Unknown function \" + (g[e] ? \"local name \" + k : \"namespace \" + e),\"SXJS0003\",C);\n                return m(v, t, C)\n            }\n        }\n        function c(e, k, v, t) {\n            function C(d, l) {\n                for (let r = 0; r < l.length; r++) {\n                    if (null === d)\n                        return;\n                    try {\n                        d = d[l[r]]\n                    } catch (n) {\n                        if (null !== n.code && \"undefined\" !== typeof n.code)\n                            throw n;\n                        throw new F(\"Failed to get property \" + l[r],\"SXJS0007\",t);\n                    }\n                    if (\"undefined\" === typeof d)\n                        return\n                }\n                return d\n            }\n            function m(d) {\n                if (\"string\" !== typeof d)\n                    throw new F(`Cannot interpolate a ${typeof d}`,\"SXJS0017\");\n                if (0 > d.indexOf(\"`\"))\n                    return d.split(\".\");\n                let l = [\"\"]\n                  , r = 0\n                  , n = 0\n                  , B = !0;\n                for (; n < d.length; ) {\n                    const W = d.substring(n, n + 1);\n                    switch (W) {\n                    case \"`\":\n                        B ? B = !1 : n + 1 < d.length && \"`\" === d.substring(n + 1, n + 2) ? (l[r] += \"`\",\n                        n++) : B = !0;\n                        break;\n                    case \".\":\n                        B ? (r++,\n                        l[r] = \"\") : l[r] += W;\n                        break;\n                    default:\n                        l[r] += W\n                    }\n                    n++\n                }\n                if (!B)\n                    throw new F(`Mismatched quotes in ${d}`,\"SXJS0018\");\n                return l\n            }\n            function f(d, l, r) {\n                let n;\n                try {\n                    n = d.apply(r, l)\n                } catch (B) {\n                    if (null !== B.code && \"undefined\" !== typeof B.code)\n                        throw B;\n                    throw new F(\"Failed to call method \" + d,\"SXJS0007\",t);\n                }\n                return null === n || \"undefined\" === typeof n ? Ob : Kb(cd.Ra(n))\n            }\n            function A(d) {\n                return d instanceof cd.Ef ? d.value : d\n            }\n            function O(d, l, r) {\n                sa.Ma(\"Warning \" + d + \": \" + l, 1, r)\n            }\n            const b = {\n                apply: function(d) {\n                    const l = A(d[0].next());\n                    if (\"function\" !== typeof l)\n                        throw new F(\"ixsl:apply: first argument is not a function\",\"SXJS0007\",t);\n                    d = cd.sb(d[1].next());\n                    return f(l, d, null)\n                },\n                call: function(d) {\n                    var l = A(d[0].next());\n                    const r = d[1].next().toString();\n                    var n = m(r);\n                    const B = n.pop();\n                    l = C(l, n);\n                    if (\"undefined\" == typeof l || null === l)\n                        throw new F(\"Encountered null or undefined in path to nested object for ixsl:call: '\" + n.join(\".\") + \"'\",\"SXJS0007\",t);\n                    n = l[B];\n                    if (\"undefined\" === typeof n)\n                        throw new F(\"ixsl:call: object method '\" + r + \"' not found\",\"SXJS0007\",t);\n                    if (\"function\" !== typeof n)\n                        throw new F(\"ixsl:call: property '\" + r + \"' is not a function\",\"SXJS0007\",t);\n                    d = cd.sb(d[2].next());\n                    return f(n, d, l)\n                },\n                contains: function(d) {\n                    var l = A(d[0].next());\n                    let r = !0;\n                    null === l && (r = !1);\n                    d = d[1].next().toString();\n                    d = m(d);\n                    const n = d.pop();\n                    l = C(l, d);\n                    if (\"undefined\" == typeof l || null === l)\n                        throw new F(\"Encountered null or undefined in path to nested object for ixsl:contains: '\" + d.join(\".\") + \"'\",\"SXJS0007\",t);\n                    \"undefined\" == typeof l[n] && (r = !1);\n                    return Kb(cd.Ra(r))\n                },\n                eval: function(d) {\n                    d = d[0].next().toString();\n                    d = new Function(\"return (\" + d + \")\");\n                    return Kb(cd.Ra(d()))\n                },\n                event: function(d, l) {\n                    return null === l.ie ? Ob : Pb(cd.Ra(l.ie)[0])\n                },\n                get: function(d, l) {\n                    var r = A(d[0].next());\n                    if (null === r)\n                        throw new F(\"ixsl:get: specified object not found\",\"SXJS0007\",t);\n                    d = d[1].next().toString();\n                    const n = m(d)\n                      , B = n.pop();\n                    r = C(r, n);\n                    if (\"undefined\" == typeof r || null === r)\n                        throw new F(\"Encountered null or undefined in path to nested object for ixsl:get: '\" + n.join(\".\") + \"'\",\"SXJS0007\",t);\n                    r = r[B];\n                    return \"undefined\" == typeof r ? (O(\"ixsl:get\", \"object property '\" + d + \"' not found\", l.fixed.Ta),\n                    Ob) : null === r ? Ob : Kb(cd.Ra(r))\n                },\n                location: function() {\n                    return Pb(cd.Ra(window.location.toString())[0])\n                },\n                page: function() {\n                    return Pb(cd.Ra(v.masterDocument)[0])\n                },\n                \"query-params\": function() {\n                    function d(ma) {\n                        return p.string.fromString(decodeURIComponent(ma.replace(r, \" \")))\n                    }\n                    let l, r = /\\+/g, n = /([^&=]+)=?([^&]*)/g, B = window.location.search.substring(1), W = new cc;\n                    for (; null !== (l = n.exec(B)); ) {\n                        const ma = W.get(d(l[1]));\n                        ma.push(d(l[2]));\n                        W.inSituPut(d(l[1]), ma)\n                    }\n                    return Pb(W)\n                },\n                source: function(d, l) {\n                    d = l.fixed.hd;\n                    return \"undefined\" == typeof d || null === d ? Ob : Pb(cd.Ra(d)[0])\n                },\n                style: function(d) {\n                    d = d[0].next();\n                    d = ac.sh(d) ? window.getComputedStyle(d) : {};\n                    const l = new cc;\n                    for (let r = 0; r < d.length; r++) {\n                        const n = d.item(r)\n                          , B = d.getPropertyValue(n);\n                        \"undefined\" === typeof B || null === B ? l.inSituPut(p.string.fromString(n), []) : l.inSituPut(p.string.fromString(n), [p.string.fromString(B.toString())])\n                    }\n                    return Pb(l)\n                },\n                window: function() {\n                    return Pb(cd.Ra(pa.Si())[0])\n                },\n                \"remove-attribute\": function(d, l, r) {\n                    const n = d[0].next().toString();\n                    d = d[1].next();\n                    if (1 !== d.nodeType || d.ownerDocument !== l.masterDocument)\n                        throw new F(\"Context item for ixsl:remove-attribute must be an element in the master document\",\"SXJS0007\",r);\n                    l = cd.sg(r, n, !1);\n                    \"\" !== l.uri ? d.removeAttributeNS(l.uri, l.local) : d.removeAttribute(l.local);\n                    return Ob\n                },\n                \"remove-property\": function(d, l, r) {\n                    const n = d[0].next().toString();\n                    var B = A(d[1].next());\n                    const W = m(n);\n                    d = W.pop();\n                    B = C(B, W);\n                    if (\"undefined\" == typeof B || null === B)\n                        throw new F(\"Encountered null or undefined in path to nested object for ixsl:remove-property: '\" + W.join(\".\") + \"'\",\"SXJS0007\",r);\n                    if (\"undefined\" == typeof B[d])\n                        return O(\"ixsl:remove-property\", \"'\" + n + \"' not found for supplied object\", l.fixed.Ta),\n                        Ob;\n                    r = B.hasOwnProperty(d);\n                    delete B[d] && r || O(\"ixsl:remove-property\", \"'\" + n + \"' could not be removed for supplied object\", l.fixed.Ta);\n                    return Ob\n                },\n                \"schedule-action\": function() {\n                    throw new F(\"ixsl:schedule-action - shouldn't be here\",\"SXJS0007\",t);\n                },\n                \"set-attribute\": function(d, l, r) {\n                    const n = d[0].next().toString()\n                      , B = d[1].next().toString();\n                    d[2] || fd(l, \"SXJS0007\", \"ixsl:set-attribute\", r);\n                    d = d[2] ? d[2].next() : ed(l);\n                    l = ac.Gc(l.masterDocument);\n                    if (1 !== d.nodeType || ac.Gc(d) !== l)\n                        throw new F(\"Context item for ixsl:set-attribute must be an element in the master document\",\"SXJS0007\",r);\n                    const W = cd.sg(r, n, !1);\n                    \"\" !== W.uri ? (\"\" === W.prefix && ac.Ic(d).forEach(function(ma) {\n                        ma.uri === W.uri && (W.prefix = ma.prefix)\n                    }),\n                    d.setAttributeNS(W.uri, W.toString(), B)) : d.setAttribute(W.local, B);\n                    return Ob\n                },\n                \"set-property\": function(d, l, r) {\n                    var n = d[0].next().toString();\n                    l = cd.sb(d[1].next());\n                    d = A(d[2].next());\n                    n = m(n);\n                    const B = n.pop();\n                    d = C(d, n);\n                    if (\"undefined\" == typeof d || null === d)\n                        throw new F(\"Encountered null or undefined in path to nested object for ixsl:set-property: '\" + n.join(\".\") + \"'\",\"SXJS0007\",r);\n                    if (\"object\" !== typeof d)\n                        return Ob;\n                    d[B] = l;\n                    return Ob\n                },\n                \"set-style\": function(d, l) {\n                    const r = d[0].next().toString()\n                      , n = cd.sb(d[1].next());\n                    d = d[2].next();\n                    if (!(d instanceof Element && \"style\"in d))\n                        return O(\"ixsl:set-style\", \"style '\" + r + \"' cannot be set for supplied object\", l.fixed.Ta),\n                        Ob;\n                    d.style[r] = n;\n                    return Ob\n                }\n            };\n            if (!b[e])\n                throw new F(\"Unknown ixsl function: \" + e,\"SXJS0003\",t);\n            return b[e](k, v, t)\n        }\n        function q(e, k, v, t) {\n            function C(b, d) {\n                if (1 > b || b > d)\n                    throw new F(\"Array index (\" + b + \") out of bounds (1 to \" + d + \")\",\"FOAY0001\",t);\n            }\n            function m(b) {\n                return b[0].next().value\n            }\n            function f(b) {\n                return Pb(new $c(b))\n            }\n            function A(b, d, l, r) {\n                const n = d.fixed.ka;\n                let B = b[1].expand();\n                const W = b[2].expand()[0]\n                  , ma = Object.keys(d.oa).length;\n                if (W instanceof ad.XdmFunction)\n                    b = m(b),\n                    r || (b = b.reverse()),\n                    b.forEach(qa=>{\n                        B = W.evaluate(r ? [B, qa] : [qa, B], d, l).expand()\n                    }\n                    );\n                else {\n                    let qa;\n                    \"function\" !== W.N && (qa = W);\n                    b[0].forEachItem(function(L) {\n                        const aa = d.ba(!0);\n                        qa && (aa.sa = qa);\n                        gd(aa);\n                        aa.qa = \"function\";\n                        aa.gb = {};\n                        aa.ab = null;\n                        aa.focus = null;\n                        r ? (aa.oa[ma] = B,\n                        aa.oa[ma + 1] = [L]) : (aa.oa[ma] = [L],\n                        aa.oa[ma + 1] = B);\n                        B = n.evaluate(void 0, aa).expand()\n                    })\n                }\n                return Kb(B)\n            }\n            const O = {\n                append: function(b) {\n                    return f(m(b).concat([b[1].expand()]))\n                },\n                filter: function(b, d, l) {\n                    const r = b[1].expand()[0];\n                    Object.keys(d.oa);\n                    b = m(b);\n                    if (r.evaluate) {\n                        const n = [];\n                        b.forEach(function(B) {\n                            const W = r.evaluate([B], d, l).expand();\n                            if (Array.isArray(W) && 1 !== W.length || !p.boolean.matches(W[0]))\n                                throw new F(\"Wrong type for function result in filter(). Expecting xs:boolean, supplied value is \" + sa.showValue(W),\"XPTY0004\",l);\n                            W[0].toBoolean() && n.push(B)\n                        });\n                        return f(n)\n                    }\n                    throw new F(\"Argument supplied to array:filter is not a function\",\"XPTY0004\",l);\n                },\n                flatten: function(b) {\n                    return cd.flatten(b[0])\n                },\n                \"fold-left\": function(b, d, l) {\n                    return A(b, d, l, !0)\n                },\n                \"fold-right\": function(b, d, l) {\n                    return A(b, d, l, !1)\n                },\n                \"for-each\": function(b, d, l) {\n                    const r = b[1].expand()[0];\n                    b = m(b);\n                    Object.keys(d.oa);\n                    if (r.evaluate) {\n                        const n = [];\n                        b.forEach(function(B) {\n                            n.push(r.evaluate([B], d, l).expand())\n                        });\n                        return f(n)\n                    }\n                },\n                \"for-each-pair\": function(b, d, l) {\n                    let r = b[2].expand();\n                    if (1 !== r.length)\n                        throw new F(\"for-each-pair() must have exactly one function item as the third argument. Supplied length \" + r.length,\"XPTY0004\",l);\n                    r = r[0];\n                    Object.keys(d.oa);\n                    const n = []\n                      , B = b[0].next().value[Symbol.iterator]();\n                    b = b[1].next().value[Symbol.iterator]();\n                    let W = B.next().value\n                      , ma = b.next().value;\n                    if (r instanceof ad.XdmFunction)\n                        for (; W && ma; )\n                            n.push(r.evaluate([W, ma], d, l).expand()),\n                            W = B.next().value,\n                            ma = b.next().value;\n                    return f(n)\n                },\n                \"_from-sequence\": function(b) {\n                    const d = [];\n                    b[0].forEachItem(function(l) {\n                        d.push([l])\n                    });\n                    return f(d)\n                },\n                get: function(b) {\n                    const d = m(b);\n                    b = b[1].next().toNumber();\n                    C(b, d.length);\n                    return Kb(d[b - 1])\n                },\n                head: function(b) {\n                    b = m(b);\n                    C(1, b.length);\n                    return Kb(b[0])\n                },\n                \"insert-before\": function(b) {\n                    const d = m(b)\n                      , l = b[1].next().toNumber();\n                    C(l, d.length + 1);\n                    b = b[2].expand();\n                    return f(d.slice(0, l - 1).concat([b]).concat(d.slice(l - 1)))\n                },\n                join: function(b) {\n                    const d = [];\n                    b[0].forEachItem(function(l) {\n                        l.value.forEach(function(r) {\n                            d.push(r)\n                        })\n                    });\n                    return f(d)\n                },\n                put: function(b) {\n                    const d = m(b)\n                      , l = b[1].next().toNumber();\n                    C(l, d.length);\n                    b = b[2].expand();\n                    return f(d.slice(0, l - 1).concat([b]).concat(d.slice(l)))\n                },\n                remove: function(b) {\n                    const d = m(b)\n                      , l = [];\n                    b[1].forEachItem(function(r) {\n                        r = r.toNumber();\n                        C(r, d.length);\n                        l.push(r - 1)\n                    });\n                    return f(d.filter(function(r, n) {\n                        return 0 > l.indexOf(n)\n                    }))\n                },\n                reverse: function(b) {\n                    return f(m(b).slice().reverse())\n                },\n                size: function(b) {\n                    return Ub(b[0].next().size())\n                },\n                sort: function(b, d, l) {\n                    const r = Hd.df(l, b[1], d);\n                    let n = cd.Sb;\n                    if (b[2]) {\n                        const B = b[2].next();\n                        n = function(W) {\n                            return B.evaluate([[W]], d, l)\n                        }\n                    }\n                    return f(m(b).slice().sort(function(B, W) {\n                        return b[1] ? Id(Kb(B).mapOneToMany(n), Kb(W).mapOneToMany(n), r) : Id(Kb(B).mapOneToMany(n), Kb(W).mapOneToMany(n))\n                    }))\n                },\n                subarray: function(b) {\n                    const d = m(b)\n                      , l = b[1].next().toNumber();\n                    C(l, d.length + 1);\n                    b = b[2] ? b[2].next().toNumber() : d.length - l + 1;\n                    if (0 > b)\n                        throw new F(\"Length is negative\",\"FOAY0002\");\n                    C(l + b, d.length + 1);\n                    return f(d.slice(l - 1, l + b - 1))\n                },\n                tail: function(b) {\n                    b = m(b);\n                    C(1, b.length);\n                    return f(b.slice(1))\n                },\n                \"_to-sequence\": function(b) {\n                    const d = [];\n                    m(b).forEach(function(l) {\n                        l.forEach(function(r) {\n                            d.push(r)\n                        })\n                    });\n                    return Kb(d)\n                }\n            };\n            if (!O[e])\n                throw new F(\"Unknown array function: \" + e,\"SXJS0003\",t);\n            return O[e](k, v, t)\n        }\n        function E(e, k, v, t) {\n            const C = {\n                contains: function(m) {\n                    const f = m[0].next();\n                    m = m[1].next();\n                    return Xb(f.containsKey(m))\n                },\n                create: function(m) {\n                    const f = new cc;\n                    m[0].forEachItem(function(A) {\n                        A.forAllPairs(function(O) {\n                            f.inSituPut(O.k, O.v)\n                        })\n                    });\n                    return Pb(f)\n                },\n                entry: function(m) {\n                    const f = new cc;\n                    f.inSituPut(m[0].next(), m[1].expand());\n                    return Pb(f)\n                },\n                find: function(m) {\n                    function f(d) {\n                        cd.isArray(d) ? d.value.forEach(A) : cd.isMap(d) && (d.containsKey(b) && O.push(d.get(b)),\n                        d.keys().forEach(function(l) {\n                            A(d.get(l))\n                        }))\n                    }\n                    function A(d) {\n                        d.forEach(f)\n                    }\n                    const O = []\n                      , b = m[1].next();\n                    A(m[0].expand());\n                    return Pb(new $c(O))\n                },\n                \"for-each\": function(m, f, A) {\n                    const O = m[0].next()\n                      , b = O.keys()\n                      , d = m[1].expand()[0];\n                    if (d.evaluate) {\n                        let l = [];\n                        b.forEach(function(r) {\n                            l = l.concat(d.evaluate([[r], O.get(r)], f, A).expand())\n                        });\n                        return Kb(l)\n                    }\n                    throw new F(\"Argument to map:for-each is not a function\",\"XPTY0004\",A);\n                },\n                get: function(m) {\n                    const f = m[0].next();\n                    m = m[1].next();\n                    return Kb(f.get(m))\n                },\n                keys: function(m) {\n                    m = m[0].next();\n                    return Kb(m.keys())\n                },\n                merge: function(m) {\n                    const f = new cc\n                      , A = m[1] ? m[1].next() : null\n                      , O = p.string.fromString(\"duplicates\")\n                      , b = A && A.containsKey(O) ? A.get(O).toString() : \"use-first\";\n                    m[0].forEachItem(function(d) {\n                        d.forAllPairs(function(l) {\n                            if (!f.containsKey(l.k) || [\"use-last\", \"unspecified\", \"use-any\"].includes(b))\n                                f.inSituPut(l.k, l.v);\n                            else {\n                                if (\"reject\" === b) {\n                                    var r = p.string.fromString(\"duplicates-error-code\");\n                                    r = A.containsKey(r) ? A.get(r).toString() : \"FOJS0003\";\n                                    throw new F(\"Duplicate key value '\" + l.k.toString() + \"'\",r,t);\n                                }\n                                if (\"combine\" === b) {\n                                    let n = [];\n                                    f.get(l.k).forEach(function(B) {\n                                        n.push(B)\n                                    });\n                                    l.v.forEach(function(B) {\n                                        n.push(B)\n                                    });\n                                    f.inSituPut(l.k, n)\n                                }\n                            }\n                        })\n                    });\n                    return Pb(f)\n                },\n                _new: function(m) {\n                    const f = new cc;\n                    m[0] && m[0].forEachItem(function(A) {\n                        A.forAllPairs(function(O) {\n                            if (f.containsKey(O.k))\n                                throw new F(\"Duplicate key value '\" + O.k.toString() + \"'\",\"XSLT\" === v.fixed.options.language ? \"XTDE3365\" : \"XQDY0137\",t);\n                            f.inSituPut(O.k, O.v)\n                        })\n                    });\n                    return Pb(f)\n                },\n                put: function(m) {\n                    const f = m[0].next()\n                      , A = m[1].next();\n                    m = m[2].expand();\n                    return Pb(f.put(A, m))\n                },\n                remove: function(m) {\n                    let f = m[0].next();\n                    m[1].forEachItem(function(A) {\n                        f = f.remove(A)\n                    });\n                    return Pb(f)\n                },\n                size: function(m) {\n                    let f = 0;\n                    m[0].next().forAllPairs(function() {\n                        f++\n                    });\n                    return Ub(f)\n                },\n                \"untyped-contains\": function(m) {\n                    const f = m[0].next();\n                    m = m[1].next();\n                    return Xb(f.containsKey(m))\n                }\n            };\n            if (!C[e])\n                throw new F(\"Unknown map function: \" + e,\"SXJS0003\",t);\n            return C[e](k, v, t)\n        }\n        function H(e, k, v, t) {\n            function C(b) {\n                return null === b ? (A = !0,\n                Number.NaN) : b.toNumber()\n            }\n            function m() {\n                const b = k[0].next();\n                return C(b ? b : cd.Sa(t)(v).next())\n            }\n            function f() {\n                const b = k[1].next();\n                return C(b ? b : cd.Vg(t)(v).next())\n            }\n            let A = !1;\n            const O = function() {\n                switch (e) {\n                case \"pi\":\n                    return Math.PI;\n                case \"exp\":\n                    return Math.exp(m());\n                case \"exp10\":\n                    return Math.pow(10, m());\n                case \"log\":\n                    return Math.log(m());\n                case \"log10\":\n                    return Math.log(m()) / Math.LN10;\n                case \"pow\":\n                    const b = m()\n                      , d = f();\n                    return -1 === b && (Infinity === d || -Infinity === d) || 1 === b ? 1 : Math.pow(b, d);\n                case \"sqrt\":\n                    return Math.sqrt(m());\n                case \"sin\":\n                    return Math.sin(m());\n                case \"cos\":\n                    return Math.cos(m());\n                case \"tan\":\n                    return Math.tan(m());\n                case \"asin\":\n                    return Math.asin(m());\n                case \"acos\":\n                    return Math.acos(m());\n                case \"atan\":\n                    return Math.atan(m());\n                case \"atan2\":\n                    return Math.atan2(m(), f());\n                default:\n                    throw new F(\"Unknown math function \" + t.name,\"XPST0017\",t);\n                }\n            }();\n            return A ? Ob : Vb(O)\n        }\n        const p = La.XS\n          , g = {};\n        g[Zb.wb] = {\n            apply: ke.apply,\n            \"compile-XPath\": function(e, k, v) {\n                const t = e[0].next().toString();\n                let C, m;\n                1 < e.length && (C = e[1].next(),\n                C = null !== C ? cd.sb(C, !0) : {});\n                2 < e.length && (m = e[2]);\n                return Jd.find(\"SaxonJS\").XPath.compileToXML(t, C, m, v, k)\n            },\n            \"compile-GlobalContext\": function(e, k, v) {\n                let t, C;\n                t = e[0].next();\n                t = null !== t ? cd.sb(t, !0) : {};\n                C = e[1].next();\n                C = null !== C ? cd.sb(C, !0) : {};\n                e = e[2].next();\n                e = null !== e ? cd.sb(e, !0) : {};\n                return Jd.find(\"SaxonJS\").XPath.compileGlobalContext(t, C, e, v, k)\n            },\n            \"discard-document\": function(e, k, v) {\n                e = e[0].next();\n                if (null === e || 9 != e.nodeType || !e._saxonBaseUri)\n                    throw new F(\"Node supplied to saxon:discard-document() is not a document node\",\"XPTY0004\",v);\n                v = e._saxonBaseUri;\n                e = k.fixed.tb[v];\n                delete k.fixed.tb[v];\n                delete k.fixed.vd[v];\n                return Pb(e)\n            },\n            doc: ke.doc,\n            \"dynamic-error-info\": function(e, k) {\n                k = k.$e;\n                if (null === k)\n                    return Ob;\n                e = e[0].next().toString();\n                switch (e) {\n                case \"description\":\n                    return Tb(k.message);\n                case \"code\":\n                    return Pb(/^Q\\{/.test(k.code) ? p.QName.fromString(k.code) : p.QName.fromParts(\"err\", \"http://www.w3.org/2005/xqt-errors\", k.code));\n                case \"value\":\n                    return k.errorObject ? Pb(k.errorObject) : Ob;\n                case \"module\":\n                    return Tb(k.xsltModule || \"\");\n                case \"line-number\":\n                    return Ub(k.xsltLineNr);\n                case \"column-number\":\n                    return Ub(-1);\n                default:\n                    throw new F(\"unknown error info field \" + e,\"SXJS0003\");\n                }\n            },\n            \"has-uniform-namespaces\": function(e) {\n                return Xb(ac.rh(e[0].next()))\n            },\n            \"line-number\": function(e) {\n                e = e[0].next().Zk;\n                return Ub(e || -1)\n            },\n            \"marshal-type\": function(e) {\n                e = e[0].next().toString();\n                e = rb(e);\n                return Pb(cd.xd(cd.Ra(e))[0])\n            },\n            \"message-count\": function(e, k) {\n                e = e[0].next();\n                let v = 0;\n                if (e)\n                    e = e.toEQName(),\n                    (v = k.uc[e]) || (v = 0);\n                else\n                    for (let t in k.uc)\n                        v += k.uc[t];\n                return Ub(v)\n            },\n            \"parse-sequence-type\": function(e) {\n                var k = e[0].next().toString();\n                const v = e[1].next();\n                e = ac.Qi(v, Zb.Ci, \"ns\");\n                if (null != e) {\n                    const t = Lh.parseNsAttribute(e);\n                    e = C=>t[C]\n                } else\n                    e = t=>v.lookupNamespaceURI(t);\n                k = Hh.parseSequenceType(k, e, ()=>{\n                    let t = v;\n                    for (; t && 1 === t.nodeType; ) {\n                        if (ac.ca(t).uri === Zb.Wc && t.hasAttributeNS(\"\", \"xpath-default-namespace\"))\n                            return t.getAttributeNS(\"\", \"xpath-default-namespace\");\n                        if (t.hasAttributeNS(Zb.Wc, \"xpath-default-namespace\"))\n                            return t.getAttributeNS(Zb.Wc, \"xpath-default-namespace\");\n                        t = ac.Xa(t)\n                    }\n                }\n                );\n                return Pb(cd.xd(cd.Ra(k.$()))[0])\n            },\n            \"parse-XPath\": function(e) {\n                const k = e[0].next().toString();\n                let v = \"parse\";\n                1 < e.length && (v = e[1].next().toString());\n                e = Hh.process(k, \"pattern.parseFast\" === v, null, !0);\n                return Pb(e)\n            },\n            permute: function(e) {\n                let k = [];\n                e[0].expand().forEach(v=>k.push({\n                    key: Math.random(),\n                    Nj: v\n                }));\n                k = k.sort(function(v, t) {\n                    return v.key - t.key\n                });\n                e = k.map(v=>v.Nj);\n                return Kb(e)\n            },\n            \"system-id\": function(e, k) {\n                e = ed(k);\n                e = ac.X(e) ? ac.baseURI(e) : null;\n                return Pb(null === e ? null : p.anyURI.fromString(e))\n            },\n            timestamp: function(e, k) {\n                return Pb(p.Ed.fromDate(new Date, -k.fixed.Jb.getTimezoneOffset()))\n            }\n        };\n        g[\"http://exslt.org/common\"] = {\n            \"node-set\": function(e) {\n                return e[0]\n            }\n        };\n        cd.Aj(a);\n        return {\n            evaluate: a,\n            Nf: function(e) {\n                const k = e.namespace;\n                e = e.signatures;\n                let v = g[k];\n                v ||= g[k] = {};\n                Object.entries(e).forEach(t=>{\n                    v[t[0]] = t[1].impl\n                }\n                )\n            }\n        }\n    }();\n    // Input 77\n    var Nh = {\n        forceBaseURI: Lh.forceBaseURI\n    };\n    // Input 78\n    const Oh = function() {\n        function a(e, k) {\n            return e.Eb === k.Eb ? e.Qc === k.Qc ? e.Sd === k.Sd ? k.Hh - e.Hh : e.Sd - k.Sd : e.Qc - k.Qc : e.Eb - k.Eb\n        }\n        function c(e, k) {\n            return e.Eb === k.Eb ? e.Qc === k.Qc ? 0 : e.Qc - k.Qc : e.Eb - k.Eb\n        }\n        function q(e, k) {\n            function v(t) {\n                return t.n ? [t.n.replace(/^(\\*:|Q\\{.*\\})/, \"\")] : t.u ? v(t.u[0]).concat(v(t.u[1])) : []\n            }\n            this.Re = e;\n            this.Ch = e.onNo;\n            this.Bh = k.Db(e, \"t\");\n            k.Db(e, \"F\") && (this.Zf = !0);\n            this.Kg = (e.C || []).map(function(t) {\n                return {\n                    Qd: t,\n                    Eb: parseInt(t.prec, 10),\n                    Qc: parseFloat(t.prio),\n                    Sd: parseInt(t.seq, 10),\n                    nj: parseInt(t.minImp, 10),\n                    Hh: parseInt(t.rank, 10),\n                    pattern: Kd.od(k.da(t, \"match\")),\n                    matches: fc(t.matches || \"1\"),\n                    action: k.da(t, \"action\")\n                }\n            }).sort(a).reverse();\n            this.fc = {};\n            this.Kg.forEach(t=>{\n                const C = t.matches.$();\n                let m, f = [];\n                /^N[EAP]/.test(C.p) ? (m = C.p,\n                C.n && !/}\\*$/.test(C.n) ? (m += \" \" + C.n.replace(/^(\\*:|Q\\{.*\\})/, \"\"),\n                f = [m]) : f = C.u ? [...(new Set(v(C)))].map(A=>m + \" \" + A) : [m]) : f = [\".\"];\n                f.forEach(A=>{\n                    let O = this.fc[A];\n                    O || (this.fc[A] = O = []);\n                    O.push(t)\n                }\n                )\n            }\n            )\n        }\n        const E = La.XS\n          , H = ac.Ja\n          , p = {\n            TC: function(e, k, v, t) {\n                if (ac.X(e))\n                    switch (e.nodeType) {\n                    case 9:\n                    case 11:\n                    case 1:\n                        v = v.ba(!1);\n                        v.focus = Sb(H.Ka(e));\n                        k.Hb(v, t);\n                        break;\n                    case 3:\n                    case 4:\n                        t.append(e);\n                        break;\n                    case 2:\n                        t.text(e.value)\n                    }\n                else if (E.Qf.matches(e))\n                    t.text(e.toString());\n                else if (cd.isArray(e)) {\n                    let C = [];\n                    e.value.forEach(m=>{\n                        C = C.concat(m)\n                    }\n                    );\n                    e = v.ba(!1);\n                    e.focus = Sb(Kb(C));\n                    k.Hb(e, t)\n                }\n            },\n            SC: function(e, k, v, t) {\n                return Zd.rg(e, v, \"c\", function() {\n                    const C = v.ba(!1);\n                    C.focus = Sb(H.Ha(e));\n                    k.Hb(C, t);\n                    C.focus = Sb(H.Ka(e));\n                    k.Hb(C, t)\n                }, t)\n            },\n            DC: function(e, k, v, t) {\n                ac.X(e) && (t.pb = ac.baseURI(e));\n                t.append(e)\n            },\n            DS: function(e, k, v, t) {\n                if (ac.X(e))\n                    switch (e.nodeType) {\n                    case 9:\n                    case 11:\n                        v = v.ba(!1),\n                        v.focus = Sb(H.Ka(e)),\n                        k.Hb(v, t)\n                    }\n            },\n            SS: function(e, k, v, t) {\n                if (ac.X(e))\n                    switch (e.nodeType) {\n                    case 9:\n                    case 11:\n                    case 1:\n                        v = v.ba(!1),\n                        v.focus = Sb(H.Ha(e)),\n                        k.Hb(v, t),\n                        v.focus = Sb(H.Ka(e)),\n                        k.Hb(v, t)\n                    }\n                else if (cd.isArray(e)) {\n                    let C = [];\n                    e.value.forEach(m=>{\n                        C = C.concat(m)\n                    }\n                    );\n                    e = v.ba(!1);\n                    e.focus = Sb(Kb(C));\n                    k.Hb(e, t)\n                }\n            },\n            bubble: function(e, k, v, t) {\n                ac.X(e) ? 1 === e.nodeType && (v = v.ba(!1),\n                v.focus = Sb(H.parent(e)),\n                k.Hb(v, t)) : t.append(e)\n            }\n        };\n        p.TO = p.TC;\n        const g = {\n            1: \"NE\",\n            2: \"NA\",\n            3: \"NT\",\n            7: \"NP\",\n            8: \"NC\",\n            9: \"ND\",\n            11: \"ND\",\n            13: \"NN\"\n        };\n        q.prototype = {\n            Re: null,\n            Kg: null,\n            Ch: \"TC\",\n            Bh: !1,\n            Zf: !1,\n            Hb: function(e, k, v) {\n                if (v) {\n                    let t = !0;\n                    e.focus.forEachItem(C=>{\n                        t ? t = !1 : k.text(v.value, {});\n                        this.Se(C, e, k)\n                    }\n                    )\n                } else\n                    e.focus.forEachItem(t=>this.Se(t, e, k))\n            },\n            ki: function(e, k) {\n                const v = e.ab;\n                if (!v)\n                    throw new F(\"No current template rule\",\"XTDE0560\");\n                return this.Se(ed(e), e, k, function(t) {\n                    return t.Eb >= v.nj && t.Eb < v.Eb\n                })\n            },\n            qj: function(e, k) {\n                const v = e.ab;\n                if (!v)\n                    throw new F(\"No current template rule\",\"XTDE0560\");\n                return this.Se(ed(e), e, k, function(t) {\n                    return 0 > a(t, v)\n                })\n            },\n            Gi: function(e, k, v) {\n                let t = null\n                  , C = null;\n                const m = this.Zf;\n                var f = [];\n                if (ac.X(e)) {\n                    const O = g[e.nodeType];\n                    var A = ac.ca(e);\n                    if (A = A ? A.local : null)\n                        A = O + \" \" + A,\n                        this.fc[A] && f.push(this.fc[A]);\n                    this.fc[O] && f.push(this.fc[O]);\n                    this.fc.N && f.push(this.fc.N)\n                }\n                this.fc[\".\"] && f.push(this.fc[\".\"]);\n                (function(O) {\n                    O.forEach(b=>{\n                        b.forEach(function(d) {\n                            if (!v || v(d))\n                                if (!t || 0 < a(d, t) || m && 0 <= c(d, t)) {\n                                    let l = !1;\n                                    try {\n                                        l = Kd.matches(d.pattern, e, k)\n                                    } catch (r) {}\n                                    l && (C = t,\n                                    t = d)\n                                }\n                        })\n                    }\n                    )\n                }\n                )(f);\n                if (this.Zf && t && C && 0 === c(t, C) && t.Sd !== C.Sd)\n                    throw f = \"Multiple templates matched item (\" + sa.showValue(e) + \"): \",\n                    f += t.Qd.module + \"#\" + t.Qd.line,\n                    f += \" and \" + C.Qd.module + \"#\" + C.Qd.line,\n                    new F(f,\"XTDE0540\");\n                return t\n            },\n            th: function() {\n                const e = this.Re.name;\n                return e && e.startsWith(\"Q{\" + Zb.nd + \"}\")\n            },\n            Se: function(e, k, v, t) {\n                var C = k.fixed.ka;\n                t = this.Gi(e, k, t);\n                if (null !== t)\n                    C.Tf(t.Qd, k),\n                    k.ab = t,\n                    k.gb = k.sa,\n                    t.action || sa.la(\"Template rule without action child\"),\n                    Zd.push(t.action, k, v);\n                else {\n                    var m;\n                    this.th() ? m = \"bubble\" : m = this.Ch.split(\"+\")[0];\n                    if (C = p[m])\n                        C(e, this, k, v);\n                    else\n                        throw new F(\"No matching template rule for \" + sa.showValue(e),\"XTDE0555\");\n                }\n            }\n        };\n        return q\n    }();\n    // Input 79\n    function bc(a, c, q=null) {\n        this.prefix = null === a ? \"\" : a;\n        this.uri = null === c ? \"\" : c;\n        q && (this.parentNode = q)\n    }\n    bc.prototype = {\n        prefix: null,\n        uri: null,\n        parentNode: null,\n        nodeType: 13\n    };\n    function $b(a, c, q) {\n        this.yc = a;\n        this.value = c;\n        this.parent = q;\n        this.name = this.yc.toString();\n        this.namespaceURI = this.yc.uri;\n        this.localName = this.yc.local;\n        this.prefix = this.yc.prefix\n    }\n    $b.prototype = {\n        yc: null,\n        value: null,\n        parent: null,\n        nodeType: 2\n    };\n    // Input 80\n    (function() {\n        function a(z) {\n            B = z;\n            B.init();\n            pa.setPlatform(z)\n        }\n        function c(z) {\n            function D(I) {\n                switch (I.nodeType) {\n                case 9:\n                    I.documentElement && D(I.documentElement);\n                    break;\n                case 11:\n                case 1:\n                    var R = ac.ca(I)\n                      , M = ac.Oi(I, \"xml:space\");\n                    R = 11 !== I.nodeType && y(R.uri, R.local) && !(M && \"preserve\" === M);\n                    M = I.childNodes;\n                    let ca = 0;\n                    for (; ca < M.length; ) {\n                        let ea = M[ca];\n                        if (4 === ea.nodeType) {\n                            const ja = ac.rc(I).createTextNode(ea.nodeValue);\n                            I.replaceChild(ja, ea);\n                            ea = ja\n                        }\n                        3 === ea.nodeType || 4 == ea.nodeType ? R && \"\" === Ha.trim(ea.nodeValue) ? I.removeChild(ea) : ca++ : (D(ea),\n                        ca++)\n                    }\n                }\n            }\n            let y;\n            if (z)\n                if (\"strip.all\" === z.N)\n                    y = ()=>!0;\n                else if (\"strip.none\" === z.N)\n                    y = ()=>!1;\n                else {\n                    let I = {}\n                      , R = {}\n                      , M = {}\n                      , ca = {}\n                      , ea = {}\n                      , ja = function(V, la, x) {\n                        V[la] ? parseInt(x.Eb, 10) > parseInt(V[la].Eb, 10) && (V[la] = x) : V[la] = x\n                    };\n                    (z.C || []).forEach(V=>{\n                        const la = fc(V.test);\n                        la instanceof nd ? (V.PREC = parseInt(V.prec, 10),\n                        V.PRIO = 2,\n                        ja(I, la.name.toEQName(), V)) : la instanceof pd ? (V.PREC = parseInt(V.prec, 10),\n                        V.PRIO = 1,\n                        ja(R, la.uri, V)) : la instanceof od ? (V.PREC = parseInt(V.prec, 10),\n                        V.PRIO = 1,\n                        ja(M, la.localName, V)) : la instanceof Fc ? (V.PREC = parseInt(V.prec, 10),\n                        V.PRIO = 0,\n                        ja(ca, \"*\", V)) : sa.la(\"Unrecognised strip-space \" + V.test)\n                    }\n                    );\n                    const Y = (V,la)=>{\n                        const x = []\n                          , K = I[\"Q{\" + V + \"}\" + la];\n                        K && x.push(K);\n                        (V = R[V]) && x.push(V);\n                        (la = M[la]) && x.push(la);\n                        ca[\"*\"] && x.push(ca[\"*\"]);\n                        x.sort((U,ha)=>{\n                            const T = U.PREC\n                              , w = ha.PREC;\n                            return T === w ? ha.PRIO - U.PRIO : w - T\n                        }\n                        );\n                        return 0 < x.length ? \"s\" === x[0].N : !1\n                    }\n                    ;\n                    y = (V,la)=>{\n                        const x = \"Q{\" + V + \"}\" + la\n                          , K = ea[x];\n                        if (K)\n                            return \"s\" === K;\n                        V = Y(V, la);\n                        ea[x] = V ? \"s\" : \"p\";\n                        return V\n                    }\n                }\n            else\n                y = ()=>!1;\n            return function(I) {\n                D(I);\n                return I\n            }\n        }\n        function q(z, D, y) {\n            function I(S) {\n                S = new Ud(S);\n                Y.fixed.Ji = S;\n                return new Zd.Fc(S)\n            }\n            function R() {}\n            function M() {\n                W && !y.lg && m(Y)\n            }\n            var ca = cd.qb(z, \"strip\")[0] || cd.qb(z, \"strip.all\")[0];\n            let ea = null;\n            if (ca || W)\n                ea = c(ca),\n                D && ea && (D = ea(D));\n            y.Vh && y.Vh(z);\n            y.ql = null;\n            const ja = y.async\n              , Y = A(z, D, y);\n            Y.fixed.wl = Y.fixed.yd.Za.version;\n            O(Y, function(S) {\n                return \"globalParam\" === S.N && S.flags && -1 !== S.flags.indexOf(\"r\")\n            }).map(function(S) {\n                return S.name\n            }).map(function(S) {\n                if (\"undefined\" === typeof Y.fixed.options.Sh.get(La.XS.QName.fromEQName(S)))\n                    throw new F(\"No value has been provided for required stylesheet parameter '\" + S + \"'\",\"XTDE0050\");\n            });\n            Y.fixed.Ee = ea;\n            D && (ac.wc(D),\n            Y.fixed.tb[D._saxonBaseUri] = D);\n            const V = y.destination || \"application\"\n              , la = y.resultForm || \"default\";\n            if (y.dd) {\n                let S = y.dd(\"testURI\");\n                [\"document\", \"serialized\", \"raw\"].includes(S.destination) && !S.save && (y.dd = function() {\n                    return new je(S.destination,y.resultDocuments)\n                }\n                )\n            }\n            y.dd || (y.dd = W ? function() {\n                return new ie(\"html-page\",function(S, da) {\n                    y.resultDocuments[S.toString()] = da\n                }\n                )\n            }\n            : ja ? function() {\n                return new ie(\"file\",function(S, da, fa) {\n                    da = B.writeFileAsync(S, da, fa);\n                    sa.Ma(\"Promising to write to \" + S, 2, Y.fixed.Ta);\n                    Y.fixed.zd.push(da)\n                }\n                )\n            }\n            : function() {\n                return new ie(\"file\",function(S, da, fa) {\n                    sa.Ma(\"Writing to \" + S, 2, Y.fixed.Ta);\n                    B.writeFileSync(S, da, fa)\n                }\n                )\n            }\n            );\n            let x;\n            const K = {};\n            ca = Y.fixed.yd;\n            var U = ca.mg[\"#unnamed\"];\n            if (U) {\n                U = U.C;\n                var ha, T;\n                for (var w = 0; w < U.length; w++) {\n                    let S = U[w].name;\n                    \"parameter-document\" === S ? ha = U[w].value : \"Q{http://saxon.sf.net/}parameter-document-base-uri\" === S ? T = U[w].value : K[S] = \"use-character-maps\" === S ? ge.yf(S, U[w].value, ca) : ge.zf(S, U[w].value)\n                }\n                ha && T && (ha = pa.Fb(ha, T),\n                ha = Nd.Dc(ha, Y),\n                ge.parseParamDoc(ha.documentElement, K))\n            }\n            if (y.Pa)\n                for (let[S,da] of Object.entries(y.Pa))\n                    ha = \"use-character-maps\" === S ? Array.isArray(da) ? ge.uj(da, ca) : ge.jj(da) : da,\n                    K[S] = ge.pf(S, ha, K[S]);\n            if ([\"appendToBody\", \"prependToBody\", \"replaceBody\"].includes(V))\n                if (W) {\n                    Y.ja = window.document;\n                    const S = Vd(Y);\n                    R = function() {\n                        S.fd = new Wd(S.fd);\n                        const da = I(S);\n                        da.Ea();\n                        return da\n                    }\n                    ;\n                    M = function() {\n                        S.za();\n                        S.close();\n                        const da = qa.Ka(S.result()[0]);\n                        if (da) {\n                            const fa = window.document.body;\n                            if (\"appendToBody\" === V)\n                                da.forEachItem(function(na) {\n                                    fa.appendChild(na)\n                                });\n                            else if (\"prependToBody\" === V) {\n                                const na = fa.firstChild;\n                                da.forEachItem(function(va) {\n                                    fa.insertBefore(va, na)\n                                })\n                            } else if (\"replaceBody\" === V) {\n                                for (; 0 < fa.childNodes.length; )\n                                    fa.removeChild(fa.childNodes[0]);\n                                da.forEachItem(function(na) {\n                                    fa.appendChild(na)\n                                })\n                            }\n                        } else\n                            throw new F(\"No result from transformation\",\"SXJS0006\");\n                        W && !y.lg && m(Y)\n                    }\n                } else\n                    throw new F(\"Destination=\" + V + \" is allowed only when running in the browser\",\"SXJS0006\");\n            else if ([\"serialized\", \"file\", \"stdout\"].includes(V)) {\n                let S;\n                if (\"stdout\" === V)\n                    S = B.getStdOut();\n                else {\n                    let da = \"\"\n                      , fa = !1;\n                    S = {\n                        write: function(na) {\n                            fa = !0;\n                            da += na\n                        },\n                        end: \"serialized\" === V ? function() {\n                            y.principalResult = fa ? n(Tb(da), la) : null\n                        }\n                        : function() {\n                            var na = K.encoding || \"utf-8\";\n                            fa && (ja ? (na = B.writeFileAsync(new URL(y.Ib), da, na),\n                            Y.fixed.zd.push(na)) : B.writeFileSync(new URL(y.Ib), da, na))\n                        }\n                    }\n                }\n                R = function() {\n                    x = ge.qh(K, S, Y);\n                    return I(x)\n                }\n            } else if ([\"raw\", \"document\", \"application\"].includes(V)) {\n                let S = \"document\" === V;\n                \"application\" === V && (\"undefined\" !== typeof K[\"build-tree\"] ? S = K[\"build-tree\"] : S = !0);\n                const da = Vd(Y);\n                R = function() {\n                    x = da;\n                    S && (x = new $d(da));\n                    return I(x)\n                }\n                ;\n                M = function() {\n                    y.principalResult = 0 === da.result().length ? null : n(Kb(da.Ob), la);\n                    W && !y.lg && m(Y, y.mi)\n                }\n            } else\n                throw new F(\"Invalid SaxonJS.transform() destination: \" + V + \" : \" + typeof V,\"SXJS0006\");\n            ha = y.Yi;\n            if (T = y.Zi)\n                T = T.toString(),\n                /^Q{/.test(T) || (T = \"Q{}\" + T);\n            U = (U = y.Xi) ? U.toString() : z.defaultMode || \"\";\n            \"#unnamed\" === U && (U = \"\");\n            \"#default\" === U && (U = z.defaultMode || \"\");\n            \"\" !== U && 0 > U.indexOf(\"Q{\") && (U = \"Q{}\" + U);\n            ca = d(Y, U);\n            if (!ca)\n                throw new F(\"Unknown initial mode \" + U,\"XTDE0045\");\n            w = \"Q{\" + Zb.Wc + \"}initial-template\";\n            D || ha || T || l(Y, w) && (T = w);\n            let Z = y.Wi;\n            if (Z) {\n                D = y.ih ? y.ih : [];\n                ha = D.length;\n                T = r(Y, Z.toString(), ha);\n                if (!T)\n                    throw new F(\"Unknown initial function \" + Z + \"#\" + ha,\"XTDE0041\");\n                if (\"PUBLIC\" !== T.Za.vis && \"FINAL\" !== T.Za.vis)\n                    throw new F(\"Uninvocable initial function \" + Z + \"#\" + ha + \" with visibility \" + T.Za.vis,\"XTDE0041\");\n                const S = T.Za.C[0];\n                Y.focus = {};\n                Y.sa = T;\n                gd(Y);\n                Y.qa = \"function\";\n                Y.gb = ca;\n                Y.ab = null;\n                let da = 0;\n                Y.oa = D.map(function(fa) {\n                    var na = S.C[da++].as;\n                    na = ec(na || \"*\");\n                    return cd.Uf(cd.Ra(fa), na, ()=>\"function parameter for \" + Z)\n                });\n                D = R();\n                Zd.push(cd.da(S, \"body\"), Y, D);\n                D.close()\n            } else if (T) {\n                ha = l(Y, T);\n                if (!ha)\n                    throw new F(\"Unknown initial template \" + T,\"XTDE0040\");\n                T = ha.actor;\n                Y.fixed.hd ? Y.focus = Rb(D) : (Y.focus = Sb(Ob),\n                Y.focus.next());\n                cd.Tf(T, Y);\n                Y.sa = ha;\n                Y.gb = ca;\n                E(y, Y);\n                D = R();\n                Zd.push(T.C[0], Y, D);\n                D.close()\n            } else {\n                Array.isArray(ha) && ea && ha.filter(ac.X).map(function(S) {\n                    return ac.jf(S) ? S : S.ownerDocument\n                }).map(function(S) {\n                    return ea(S)\n                });\n                if (\"PRIVATE\" === ca.visibility && U !== z.defaultMode && \"\" !== U)\n                    throw new F(\"Uninvokable initial mode \" + U + \" with visibility \" + ca.Za.vis,\"XTDE0045\");\n                if (!D && !ha)\n                    throw new F(\"No source input supplied for apply-templates invocation\",\"XTDE0044\");\n                T = ca.mode;\n                Y.sa = ca;\n                Y.focus = Sb(ha ? Kb(Array.isArray(ha) ? ha : [ha]) : Pb(D));\n                D = T.Re.useAcc;\n                null != D && \"#all\" !== D && (Y.Ge = D.split(/\\s+/));\n                E(y, Y);\n                D = R();\n                T.Hb(Y, D);\n                D.close()\n            }\n            M();\n            if (ja) {\n                function S() {\n                    const da = Y.fixed.zd;\n                    Y.fixed.zd = [];\n                    return Promise.all(da).then(()=>{\n                        if (0 < Y.fixed.zd.length)\n                            return S()\n                    }\n                    ).catch(fa=>{\n                        throw fa;\n                    }\n                    ).then(()=>Promise.resolve(new he(y.principalResult,y.resultDocuments,z,y.masterDocument)))\n                }\n                y.Dj = S()\n            }\n        }\n        function E(z, D) {\n            z.Fe && (sa.assert(z.Fe instanceof cc, \"options?templateParams must be an instance of HashTrie. Supplied:\" + z.Fe),\n            D.Kc = z.Fe);\n            z.Qb && (sa.assert(z.Fe instanceof cc, \"options?tunnelParams must be an instance of HashTrie. Supplied:\" + z.Qb),\n            D.Qb = z.Qb)\n        }\n        function H(z) {\n            let D = \"\";\n            for (const y in z)\n                z.hasOwnProperty(y) && z[y] && (D += y + \"=\" + z[y].toString().substring(0, 30) + \"(\" + typeof y + \"), \");\n            return D\n        }\n        function p(z) {\n            let D = z.stylesheetInternal || null;\n            if (!D) {\n                if (z.Pb)\n                    var y = B.readFile(z.Pb);\n                else if (z.tg)\n                    y = z.tg;\n                else if (z.jc) {\n                    if (W)\n                        throw new F(\"Cannot supply stylesheetFileName in browser\",\"SXJS0006\");\n                    y = B.readFile(z.jc)\n                } else\n                    throw new F(\"No stylesheet supplied\",\"SXJS0006\");\n                try {\n                    D = JSON.parse(y)\n                } catch (R) {\n                    throw new F(\"Supplied SEF is not in JSON format\",\"SXJS0006\");\n                }\n            }\n            t(D, z);\n            D.PRIMED || (C(D),\n            g(D),\n            D.PRIMED = !0);\n            \"true\" === D.relocatable && (z.md = !0);\n            y = z.tf || null;\n            let I;\n            y && (I = z.tf.baseURI || z.Ud) && (y._saxonBaseUri = I);\n            if (!y) {\n                let R;\n                if (z.Uc)\n                    I = z.Uc,\n                    R = B.readFile(I);\n                else if (z.uf)\n                    I = z.Ud,\n                    R = z.uf;\n                else if (z.Tc) {\n                    if (W)\n                        throw new F(\"Cannot supply sourceFileName in browser\",\"SXJS0006\");\n                    I = z.Tc;\n                    R = B.readFile(I)\n                }\n                R && (\"json\" === z.Ph ? y = Md.ze(R, null) : (y = B.parseXmlFromString(R),\n                I && (y._saxonBaseUri = y._saxonDocUri = I)))\n            }\n            q(D, y, z);\n            return new he(z.principalResult,z.resultDocuments,D,z.masterDocument)\n        }\n        function g(z) {\n            z.C && z.C.forEach(function(D) {\n                D.parentNode = z;\n                g(D)\n            })\n        }\n        function e(z) {\n            if (z instanceof cc)\n                return z;\n            const D = new cc;\n            z && Object.keys(z).forEach(y=>D.inSituPut(La.XS.QName.fromEQName(y), cd.Ra(z[y])));\n            return D\n        }\n        function k(z) {\n            const D = {};\n            for (let[y,I] of Object.entries(z))\n                D[y] = \"use-character-maps\" === y ? I : ge.pf(y, I, null);\n            return D\n        }\n        function v(z) {\n            const D = (y,I)=>{\n                let R = null;\n                for (let M of I)\n                    if (y[M]) {\n                        if (R)\n                            throw new F(\"The following transform options are mutually exclusive: \" + I.toString(),\"SXJS0006\");\n                        R = M\n                    }\n                return R\n            }\n            ;\n            D(z, [\"stylesheetText\", \"stylesheetInternal\", \"stylesheetLocation\", \"stylesheetFileName\"]);\n            D(z, [\"sourceNode\", \"sourceText\", \"sourceLocation\", \"sourceFileName\"]);\n            return {\n                tg: z.stylesheetText,\n                stylesheetInternal: z.stylesheetInternal,\n                Pb: z.stylesheetLocation,\n                jc: z.stylesheetFileName,\n                Vd: z.stylesheetBaseURI,\n                Sh: e(z.stylesheetParams),\n                tf: z.sourceNode,\n                uf: z.sourceText,\n                Uc: z.sourceLocation,\n                Tc: z.sourceFileName,\n                Ph: z.sourceType || \"xml\",\n                Ud: z.sourceBaseURI,\n                masterDocument: z.masterDocument,\n                Zi: z.initialTemplate,\n                Wi: z.initialFunction,\n                ih: z.functionParams,\n                Fe: e(z.templateParams),\n                Qb: e(z.tunnelParams),\n                Xi: z.initialMode,\n                tb: z.documentPool,\n                kc: z.textResourcePool,\n                destination: z.destination,\n                Ib: z.baseOutputURI || (z.masterDocument ? z.masterDocument._saxonBaseUri : void 0),\n                Pa: z.outputProperties,\n                principalResult: void 0,\n                Xf: z.deliverMessage,\n                dd: z.deliverResultDocument,\n                Ac: z.collations,\n                Tg: z.collectionFinder,\n                Ta: z.logLevel,\n                Vh: z.traceInjector,\n                hd: z.globalContextItem,\n                Yi: z.initialSelection,\n                se: z.isDynamicStylesheet,\n                md: z.isRelocatableStylesheet,\n                language: z.language,\n                zh: z.messages,\n                resultDocuments: {},\n                resultForm: z.resultForm,\n                Mk: z.extraOptions,\n                lg: z.nonInteractive,\n                mi: z.attachEventsTo,\n                async: z.async\n            }\n        }\n        function t(z, D) {\n            if (\"package\" === z.N) {\n                const y = z.target || \"not specified\"\n                  , I = z.targetVersion || \"\"\n                  , R = z.saxonProduct;\n                let M = z.saxonVersion || \"9.8.0.5\";\n                R && !/Saxon/.test(M) && (M = R + \" \" + M);\n                sa.Ma(\"SEF generated by \" + M + \" at \" + (z.buildDateTime || \"2000-01-01\"), 2, D.Ta);\n                if (\"JS\" !== y || \"2\" !== I)\n                    throw new F(\"Supplied SEF is not customized for use with SaxonJS. The option -target:JS should be set when generating the export. target is: \" + y,\"SXJS0006\");\n                if (\"9\" === M.charAt(0))\n                    throw new F(\"For use with SaxonJS 2.x, SEF must be generated by SaxonJ-EE 10.0 or later. Supplied SEF is generated by SaxonJ-EE version \" + M,\"SXJS0006\");\n                if (z.expiry && 0 > ma.cd.fromString(z.expiry).compareTo(ma.cd.fromDate(new Date, 0)))\n                    throw new F(\"Development license for supplied stylesheet has expired\",\"SXJS0006\");\n            } else\n                throw new F(\"Supplied SEF does not have correct format\",\"SXJS0006\");\n        }\n        function C(z) {\n            function D(ea, ja) {\n                ja <<= 8;\n                for (let Y = 0; Y < ea.length; Y++)\n                    ja = (ja << 1) + ea.charCodeAt(Y);\n                return ja\n            }\n            function y(ea, ja, Y) {\n                return D(ea, Y) ^ D(ja, Y)\n            }\n            function I(ea) {\n                R ^= y(ea.N, \"http://ns.saxonica.com/xslt/export\", M++);\n                for (let ja in ea)\n                    !ea.hasOwnProperty(ja) || \"N\" === ja || \"C\" === ja || \"ELAB\" === ja || \"PUSH\" === ja || \"parentNode\" === ja || \"catch\" === ea.N && \"test\" == ja || ja === String.fromCharCode(931) || (R ^= y(ja, \"\", M),\n                    R ^= D(ea[ja], M));\n                ea.C && ea.C.forEach(function(ja) {\n                    I(ja)\n                });\n                R ^= 1\n            }\n            let R = 0\n              , M = 0;\n            I(z);\n            z = z[String.fromCharCode(931)] || \"unspecified\";\n            const ca = (0 > R ? 4294967295 + R + 1 : R).toString(16);\n            if (ca !== z) {\n                if (\"unspecified\" === z)\n                    throw new F(\"No checksum found in SEF\",\"SXJS0006\");\n                throw new F(\"Invalid checksum in SEF \" + z + \" != \" + ca,\"SXJS0006\");\n            }\n        }\n        function m(z, D=null) {\n            function y(R, M) {\n                function ca(ja) {\n                    const Y = ja.target;\n                    var V = z.ba(!0);\n                    V.qa = !1;\n                    V.ie = ja;\n                    V.focus = Sb(Pb(cd.Ra(Y)[0]));\n                    V.sa = R;\n                    ja = Vd(z);\n                    ja = new Zd.Fc(ja);\n                    (V = ea.Hb(V, ja)) && V.expand()\n                }\n                const ea = R.mode;\n                -1 === \"httpabort afterprint beforeprint beforeunload hashchange languagechange message offline online pagehide pageshow popstate storage unhandledrejection unload resize\".split(\" \").indexOf(M) ? D ? D.addEventListener(M, ca, !1) : window.document.addEventListener(M, ca, !1) : window.addEventListener(M, ca, !1)\n            }\n            const I = z.fixed.La;\n            Object.keys(I).forEach(function(R) {\n                R = I[R];\n                R.mode && R.mode.th() && (R.name.split(\"}on\")[1] ? y(R, R.name.split(\"}on\")[1]) : console.log(\"Invalid event handler name:\", R.name))\n            })\n        }\n        function f(z, D) {\n            return z.C ? z.C.filter(function(y) {\n                return y.N === D\n            }) : []\n        }\n        function A(z, D, y) {\n            function I(Y, V) {\n                R(z, Y, V)\n            }\n            function R(Y, V, la) {\n                Y.N === V && la(Y);\n                Y.C && Y.C.forEach(function(x) {\n                    R(x, V, la)\n                })\n            }\n            function M(Y) {\n                return (Y = Y.name) ? /^Q\\{/.test(Y) ? Y : \"Q{}\" + Y : null\n            }\n            function ca(Y, V) {\n                function la(x) {\n                    x = f(x, \"co\");\n                    for (let K = 0; K < x.length; K++)\n                        V(x[K])\n                }\n                la(Y);\n                Y.C && (Y = Y.C.filter(function(x) {\n                    return \"overridden\" === x.N\n                }),\n                Y[0] && la(Y[0]))\n            }\n            function ea(Y, V) {\n                const la = Y.C ? Y.C[0] : null;\n                return null === la ? Y.base ? ea(V.fixed.La[parseInt(Y.base, 10)].Za, V) : null : la\n            }\n            const ja = new ne;\n            ja.fixed = {\n                Rd: {},\n                Ib: y.Ib || \"\",\n                La: {},\n                Jb: new Date,\n                tb: {},\n                ka: cd,\n                hd: y.hd || D,\n                se: y.se,\n                md: y.md,\n                Lf: 0,\n                options: y,\n                rd: {},\n                vd: {},\n                Jh: {},\n                staticBaseURI: \"\",\n                sl: z,\n                kc: {},\n                yd: null,\n                zd: [],\n                Bj: [],\n                depth: 0,\n                Ta: y.Ta || sa.getLogLevel()\n            };\n            if (y.tb) {\n                const Y = y.tb;\n                Object.keys(Y).forEach(V=>{\n                    const la = Y[V];\n                    if (ac.jf(la))\n                        ja.fixed.tb[V] = la;\n                    else\n                        throw new F(\"Supplied value for \" + V + \" is not a document node\");\n                }\n                )\n            }\n            if (y.kc) {\n                const Y = y.kc;\n                Object.keys(Y).forEach(V=>{\n                    ja.fixed.kc[V] = Y[V].toString()\n                }\n                )\n            }\n            y.Ac || (y.Ac = {});\n            y.Ac[Hd.$c] = Hd.Sg();\n            y.Ac[Hd.gh] = Hd.Ze();\n            y.Ac[Hd.jg] = Hd.Mg();\n            y.Ac[Hd.Zh] = Hd.Ze();\n            I(\"package\", function(Y) {\n                const V = {\n                    name: Y.name,\n                    Za: Y,\n                    Gb: {},\n                    Og: {},\n                    hb: {},\n                    mg: {},\n                    keys: {},\n                    Wh: null\n                };\n                ja.fixed.rd[V.name] = V;\n                ja.fixed.yd || (ja.fixed.yd = V);\n                ca(Y, function(la) {\n                    const x = parseInt(la.id, 10);\n                    ja.fixed.La[x] = {\n                        id: x,\n                        visibility: la.vis,\n                        Za: la,\n                        Dh: V,\n                        actor: null,\n                        We: la.binds.split(\" \").map(function(K) {\n                            return parseInt(K, 10)\n                        })\n                    }\n                })\n            });\n            I(\"package\", function(Y) {\n                const V = ja.fixed.rd[Y.name];\n                ca(Y, function(T) {\n                    const w = ja.fixed.La[parseInt(T.id, 10)];\n                    T = w.actor = ea(T, ja);\n                    null !== T && (w.name = M(T),\n                    \"globalVariable\" === T.N || \"globalParam\" === T.N ? w.value = null : \"mode\" === T.N && (w.mode = new Oh(T,cd),\n                    null === M(T) && (V.Wh = w.mode)),\n                    \"ABSTRACT\" === T.parentNode.vis && (w.visibility = \"ABSTRACT\"))\n                });\n                if (0 < f(Y, \"schema\").length)\n                    throw new F(\"Package includes xsl:import-schema but SaxonJS is not schema-aware\",\"XTSE1650\");\n                var la = f(Y, \"decimalFormat\");\n                for (var x = 0; x < la.length; x++) {\n                    var K = la[x]\n                      , U = M(K);\n                    V.hb[null === U ? \"Q{}\" : U] = K\n                }\n                la = f(Y, \"output\");\n                for (x = 0; x < la.length; x++)\n                    K = la[x],\n                    U = K.name ? M(K) : \"#unnamed\",\n                    V.mg[U] = K;\n                la = f(Y, \"key\");\n                x = Math.floor(1E8 * Math.random());\n                for (K = 0; K < la.length; K++) {\n                    U = la[K];\n                    var ha = M(U);\n                    V.keys[ha] ? V.keys[ha].Ld.push(U) : V.keys[ha] = {\n                        vg: x + \"k\" + K,\n                        Ld: [U]\n                    }\n                }\n                la = f(Y, \"accumulator\");\n                x = Math.floor(1E8 * Math.random());\n                for (K = 0; K < la.length; K++)\n                    U = la[K],\n                    ha = M(U),\n                    V.Gb[ha] = {\n                        vg: x + \"a\" + K,\n                        gi: U\n                    };\n                Y = f(Y, \"charMap\");\n                for (la = 0; la < Y.length; la++) {\n                    x = Y[la];\n                    K = M(x);\n                    let T = {\n                        min: 0,\n                        max: 0,\n                        ya: {}\n                    };\n                    x.C && (x.C.forEach(function(w) {\n                        let Z = Number(w.c);\n                        0 === T.min ? T.min = Z : Z < T.min && (T.min = Z);\n                        Z > T.max && (T.max = Z);\n                        T.ya[Z] = w.s\n                    }),\n                    55296 < T.min && (T.min = 55296));\n                    V.Og[K] = T\n                }\n            });\n            I(\"glob\", function(Y) {\n                const V = ja.fixed.hd;\n                if (\"req\" === Y.use && (null === V || void 0 === V))\n                    throw new F(\"The stylesheet requires a global context item\",\"XTDE3086\");\n                if (\"pro\" === Y.use)\n                    ja.fixed.hd = null;\n                else {\n                    let la;\n                    const x = Y.cxt;\n                    x && (la = fc(x).ia());\n                    if (null !== V && la && !la(V))\n                        throw new F(\"The global context item must be an instance of \" + Y.type,\"XTTE0590\");\n                }\n            });\n            ja.ub = y.Ib ? [y.Ib] : [];\n            !y.se && y.md && (D = \"\",\n            y.Vd ? D = y.Vd : y.Pb ? D = y.Pb : y.jc ? D = B.fileURL(y.jc) : W && (D = B.baseURL()),\n            ja.fixed.staticBaseURI = D);\n            y.se && y.md && y.Vd && (ja.fixed.staticBaseURI = y.Vd);\n            if (W) {\n                if (ja.masterDocument = y.masterDocument ? y.masterDocument : window.document,\n                y.Pb && !ac.ld(y.Pb))\n                    throw new F(\"stylesheetLocation should be absolute by now\",\"SXJS0004\");\n            } else if (y.masterDocument) {\n                if (!ac.X(y.masterDocument) || ![9, 11].includes(y.masterDocument.nodeType))\n                    throw new F(\"masterDocument must be a document node\",\"SXJS0004\");\n                ja.masterDocument = y.masterDocument\n            }\n            ja.masterDocument && !ja.masterDocument._saxonBaseUri && ja.masterDocument.baseURI && (y = ja.masterDocument.baseURI,\n            D = y.indexOf(\"#\"),\n            ja.masterDocument._saxonBaseUri = 0 <= D ? y.substring(0, D) : y);\n            ja.sa = null;\n            ja.ja = B.createDocument();\n            ja.j = ja.ja.createDocumentFragment();\n            ja.oa = [];\n            ja.Kc = new cc;\n            ja.Qb = new cc;\n            ja.uc = {};\n            return ja\n        }\n        function O(z, D) {\n            const y = []\n              , I = f(z.fixed.yd.Za, \"co\");\n            for (let R = 0; R < I.length; R++) {\n                const M = z.fixed.La[parseInt(I[R].id, 10)]\n                  , ca = M.actor;\n                ca && D(ca) && y.push(M)\n            }\n            return y\n        }\n        function b(z, D) {\n            const y = f(z.fixed.yd.Za, \"co\");\n            for (let I = 0; I < y.length; I++) {\n                const R = z.fixed.La[parseInt(y[I].id, 10)]\n                  , M = R.actor;\n                if (M && D(M))\n                    return R\n            }\n        }\n        function d(z, D) {\n            return b(z, function(y) {\n                return \"mode\" === y.N && (y.name ? y.name === D : \"\" === D)\n            })\n        }\n        function l(z, D) {\n            return b(z, function(y) {\n                return \"template\" === y.N && y.name === D\n            })\n        }\n        function r(z, D, y) {\n            return b(z, function(I) {\n                return \"function\" === I.N && I.name === D && f(I, \"arg\").length === y\n            })\n        }\n        function n(z, D) {\n            function y(M) {\n                return cd.sb(M, !0)\n            }\n            if (\"iterator\" === D)\n                return z.mapOneToOne(y);\n            if (\"xdm\" === D)\n                return z.expand();\n            const I = [];\n            let R;\n            for (; null != (R = z.next()); )\n                I.push(y(R));\n            switch (D) {\n            case \"iterator\":\n                return Kb(I);\n            case \"array\":\n                return I;\n            default:\n                return 0 === I.length ? null : 1 === I.length ? I[0] : I\n            }\n        }\n        let B = {};\n        const W = \"undefined\" !== typeof window\n          , ma = La.XS\n          , qa = ac.Ja\n          , L = {\n            autoResetIndexes: !0\n        }\n          , aa = {\n            atom: function(z, D) {\n                if (\"boolean\" === typeof z)\n                    z = La.XS.boolean.fromBoolean(z);\n                else if (\"number\" === typeof z)\n                    z = La.XS.double.fromNumber(z);\n                else if (\"string\" === typeof z)\n                    z = La.XS.string.fromString(z);\n                else\n                    throw new F(\"Value must be boolean, number, or string\",\"SXJS0006\");\n                if (D) {\n                    const y = La.type[D];\n                    if (y)\n                        return y.R(z);\n                    throw new F(\"Unknown type \" + D,\"SXJS0006\");\n                }\n                return z\n            },\n            Atomic: La,\n            internals: {\n                Codepoint: Ga,\n                Compare: Hd,\n                Diag: sa,\n                DomUtils: ac,\n                Expr: cd,\n                Iter: Yb,\n                NsConst: Zb,\n                Push: Zd,\n                Regex: Ha\n            },\n            transform: function(z, D) {\n                function y(V) {\n                    V = B.resolveUri(V.toString(), R);\n                    return W ? V : B.fileURL(V)\n                }\n                D = !D || \"sync\" === D;\n                sa.Ma((D ? \"Synchronous\" : \"Asynchronous\") + \" transform with options: \" + H(z), 2, z.logLevel);\n                let I;\n                try {\n                    I = v(z),\n                    I.Pa && (I.outputProperties = k(I.Pa))\n                } catch (V) {\n                    if (D)\n                        throw V;\n                    return Promise.reject(V)\n                }\n                const R = B.baseURL();\n                if (I.Pb)\n                    var M = I.Pb = y(I.Pb);\n                else\n                    I.jc && (M = I.jc = y(I.jc));\n                I.Vd = M || I.Vd;\n                if (I.Uc)\n                    var ca = I.Uc = y(I.Uc);\n                else\n                    I.Tc && (ca = I.Tc = y(I.Tc));\n                I.Ud = ca || I.Ud;\n                if (D)\n                    return p(I);\n                I.async = !0;\n                let ea, ja, Y;\n                z = [];\n                ea = I.stylesheetInternal || null;\n                if (!ea)\n                    if (M = I.tg)\n                        try {\n                            ea = JSON.parse(M)\n                        } catch (V) {\n                            z.push(Promise.reject(new F(\"Error parsing supplied SEF: \" + V,\"SXJS0006\")))\n                        }\n                    else\n                        I.jc ? (M = B.resourcePromise({\n                            file: I.jc,\n                            encoding: \"utf-8\"\n                        }).then(V=>{\n                            ea = JSON.parse(V)\n                        }\n                        ).catch(V=>Promise.reject(new F(\"Failed to read JSON input \" + I.jc + \": \" + V,\"SXJS0006\"))),\n                        z.push(M)) : I.Pb ? (M = B.resourcePromise({\n                            location: I.Pb,\n                            encoding: \"utf-8\",\n                            type: \"json\"\n                        }).then(V=>{\n                            ea = JSON.parse(V)\n                        }\n                        ).catch(V=>Promise.reject(new F(\"Failed to read JSON input \" + I.Pb + \": \" + V,\"SXJS0006\"))),\n                        z.push(M)) : z.push(Promise.reject(new F(\"No stylesheet supplied\",\"SXJS0006\")));\n                ja = I.tf || null;\n                Y = I.Ph || \"xml\";\n                ja && (M = I.tf.baseURI || I.Ud) && (ja._saxonBaseUri = M);\n                if (!ja) {\n                    M = (la,x)=>{\n                        la = Nd.Rg(Nd.Qg(la));\n                        la = B.parseXmlFromString(la);\n                        x && (la._saxonBaseUri = la._saxonDocUri = x);\n                        return la\n                    }\n                    ;\n                    ca = la=>Md.ze(la, null);\n                    const V = \"xml\" === Y ? M : ca;\n                    I.uf ? ja = V(I.uf, I.Ud) : I.Tc ? (M = B.resourcePromise({\n                        file: I.Tc\n                    }).then(la=>ja = V(la, I.Tc)).catch(la=>Promise.reject(new F(`Failed to read ${Y.toUpperCase()} source input (${la.message})`,\"SXJS0006\"))),\n                    z.push(M)) : I.Uc && (M = B.resourcePromise({\n                        location: I.Uc\n                    }).then(la=>{\n                        ja = V(la, I.Uc)\n                    }\n                    ).catch(la=>Promise.reject(new F(`Failed to read ${Y.toUpperCase()} source input (${la.message})`,\"SXJS0006\"))),\n                    z.push(M))\n                }\n                return Promise.all(z).then(()=>{\n                    var V = ea\n                      , la = ja\n                      , x = I;\n                    if (!V)\n                        throw new F(\"No stylesheet supplied\",\"SXJS0006\");\n                    try {\n                        t(V, x);\n                        V.PRIMED || (C(V),\n                        g(V),\n                        V.PRIMED = !0);\n                        \"true\" === V.relocatable && (x.md = !0);\n                        q(V, la, x);\n                        var K = x.Dj\n                    } catch (U) {\n                        throw console.log(\"Transformation failure: \" + (U.getMessage ? U.getMessage() : U)),\n                        U;\n                    }\n                    return K\n                }\n                )\n            },\n            Serializer: ge,\n            serialize: function(z, D) {\n                const y = {\n                    \"iso-8859-1\": \"latin1\",\n                    \"iso-646\": \"ascii\"\n                };\n                z = ge.serialize(z, D);\n                return D && D.encoding ? (D = D.encoding,\n                D = y[D] || D,\n                pa.makeBuffer(z, D)) : z\n            },\n            StringWriter: ge.StringWriter,\n            getProcessorInfo: function() {\n                return {\n                    version: 3,\n                    vendor: \"Saxonica\",\n                    vendorURL: \"https://www.saxonica.com/\",\n                    productName: \"SaxonJS\",\n                    productVersion: \"2.6\",\n                    isSchemaAware: !1,\n                    supportsSerialization: !0,\n                    supportsBackwardsCompatibility: !0,\n                    supportsNamespaceAxis: !0,\n                    supportsStreaming: !1,\n                    supportsDynamicEvaluation: !0,\n                    supportsHigherOrderFunctions: !0,\n                    xPathVersion: 3.1,\n                    xsdVersion: 1.1,\n                    releaseDate: \"2023-10-13\"\n                }\n            },\n            getResource: function(z) {\n                const D = z.type || \"text\";\n                let y;\n                if (z.file) {\n                    var I = B.resourcePromise(z);\n                    y = B.fileURL(z.file)\n                } else if (z.location)\n                    if (I = z.location,\n                    I instanceof URL || (I = B.newURL(I, B.baseURL()),\n                    z.location = I.toString()),\n                    y = I.href,\n                    \"file:\" === I.protocol)\n                        I = B.resourcePromise(z);\n                    else if ([\"http:\", \"https:\"].includes(I.protocol))\n                        I = B.resourcePromise(z);\n                    else\n                        return Promise.reject(new F(\"Unsupported URL protocol \" + I.protocol,\"SXJS0006\"));\n                else if (z.text)\n                    I = Promise.resolve(z.text),\n                    z.baseURI && (y = z.baseURI);\n                else\n                    return Promise.reject(new F(\"No resource supplied\",\"SXJS0006\"));\n                \"xml\" === D ? I = I.then(R=>{\n                    try {\n                        const M = ac.wc(B.parseXmlFromString(R));\n                        M._saxonBaseUri = M._saxonDocUri = y;\n                        return Promise.resolve(M)\n                    } catch (M) {\n                        return Promise.reject(new F(\"Failed parsing XML in \" + y + \": \" + M.message,M.code))\n                    }\n                }\n                ) : \"json\" === D && (I = I.then(R=>{\n                    try {\n                        return Promise.resolve(Md.ze(R, new cc, new ne))\n                    } catch (M) {\n                        return Promise.reject(new F(\"Failed parsing JSON in \" + y + \": \" + M.message,M.code))\n                    }\n                }\n                ));\n                return I\n            },\n            setLogLevel: sa.setLogLevel,\n            getLogLevel: sa.getLogLevel,\n            setPlatform: a,\n            getPlatform: function() {\n                return B\n            },\n            getNavigator: function() {\n                return window.navigator.userAgent\n            },\n            timeStamp: W && window.performance && window.performance.now ? window.performance.now : function() {\n                return Date.now().valueOf()\n            }\n            ,\n            internalTransform: q,\n            checkOptions: v,\n            convertResult: n,\n            makeAtomicValue: function(z, D) {\n                return La.type[z].fromString(D)\n            },\n            registerExtensionFunctions: function(z) {\n                Jh.Nf(z);\n                Mh.Nf(z)\n            },\n            getItemDetails: function(z) {\n                if (La.pa(z)) {\n                    const D = {\n                        variety: \"atomic\",\n                        type: z.type,\n                        value: z.toString()\n                    };\n                    \"AQ\" === z.code && (D.prefix = z.prefix,\n                    D.uri = z.uri,\n                    D.local = z.local);\n                    return D\n                }\n                return ac.X(z) ? {\n                    variety: \"node\",\n                    type: z.nodeType()\n                } : {\n                    variety: z instanceof $c ? \"array\" : \"map\"\n                }\n            },\n            getConfigurationProperties: function() {\n                const z = {};\n                Object.keys(L).forEach(D=>{\n                    z[D] = L[D]\n                }\n                );\n                return z\n            },\n            getConfigurationProperty: function(z) {\n                if (z in L)\n                    return L[z]\n            },\n            setConfigurationProperties: function(z) {\n                const D = {};\n                Object.keys(L).forEach(y=>{\n                    D[y] = L[y]\n                }\n                );\n                Object.keys(z).forEach(y=>{\n                    \"autoResetIndexes\" == y ? L[y] = !!z[y] : sa.Ma(\"The configuration property \" + y + \" is unrecognized\")\n                }\n                );\n                return D\n            },\n            setConfigurationProperty: function(z, D) {\n                if (\"autoResetIndexes\" == z) {\n                    let y = L[z];\n                    L[z] = !!D;\n                    return y\n                }\n                sa.Ma(\"The configuration property \" + z + \" is unrecognized\")\n            },\n            resetIndexes: function(z) {\n                W && !z && (z = window.document);\n                return z && \"_saxonIndexes\"in z ? (delete z._saxonIndexes,\n                delete z._saxonIndexesBC,\n                !0) : !1\n            },\n            XdmArray: $c,\n            XdmAtomicValue: Ja,\n            XdmAttributeNode: $b,\n            XdmFunction: ad,\n            XdmMap: cc,\n            XError: F,\n            XPath: Eh,\n            XS: ma\n        };\n        W || \"undefined\" !== typeof HostPlatform ? (HostPlatform.entryPoint = aa,\n        a(HostPlatform),\n        B.expose(aa, \"SaxonJS\")) : console.log(\"Platform binding delayed\");\n        aa.Developer = Nh;\n        La.Kf();\n        Ha.Kf();\n        mc();\n        Jd.register(\"SaxonJS\", aa);\n        return aa\n    }\n    )();\n}\n).call(this);\n"
  },
  {
    "path": "addon/chrome/content/lib/js/dx.all.js",
    "content": "/*!\n* DevExtreme (dx.all.js)\n* Version: 23.1.6\n* Build date: Fri Oct 13 2023\n*\n* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\n*/\n\"use strict\";!function(){var e={66798:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.registerPattern=t.registerGradient=t.default=void 0;var i=n(19157);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var a={};t.registerPattern=function(e){var t=(0,i.getNextDefsSvgId)();return a[t]=o({type:\"pattern\"},e),t};t.registerGradient=function(e,t){var n=(0,i.getNextDefsSvgId)();return a[n]=o({type:e},t),n};var r={getGraphicObjects:function(){return a}};t.default=r},48252:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExportController=t.DataProvider=void 0,n(63008),n(45231);var i=p(n(68374)),o=n(62754),a=n(13306),r=n(37518),s=n(68752),l=n(35922),u=p(n(28109)),d=p(n(56757)),c=p(n(96688)),h=n(1229),f=p(n(74938));function p(e){return e&&e.__esModule?e:{default:e}}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e)||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 v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var y=function(){function e(e,t,n){this._exportController=e,this._initialColumnWidthsByColumnIndex=t,this._selectedRowsOnly=n}var t=e.prototype;return t._getGroupValue=function(e){var t=e.key,n=e.data,i=e.rowType,o=e.groupIndex,a=e.summaryCells,r=this._options.groupColumns[o],s=f.default.getDisplayValue(r,r.deserializeValue?r.deserializeValue(t[o]):t[o],n,i),l=\"\".concat(r.caption,\": \").concat(f.default.formatValue(s,r));return a&&a[0]&&a[0].length&&(l+=\" \".concat(f.default.getGroupRowSummaryText(a[0],this._options.summaryTexts))),l},t._correctCellIndex=function(e){return e},t._initOptions=function(){var e=this._exportController,t=e._columnsController.getGroupColumns();this._options={columns:e._getColumns(this._initialColumnWidthsByColumnIndex),groupColumns:t,items:this._selectedRowsOnly||e._selectionOnly?e._getSelectedItems():e._getAllItems(),isHeadersVisible:e.option(\"showColumnHeaders\"),summaryTexts:e.option(\"summary.texts\"),rtlEnabled:e.option(\"rtlEnabled\")}},t.getHeaderStyles=function(){return[{bold:!0,alignment:\"center\"},{bold:!0,alignment:\"left\"},{bold:!0,alignment:\"right\"}]},t.getGroupRowStyle=function(){return{bold:!0,alignment:(0,r.getDefaultAlignment)(this._options.rtlEnabled)}},t.getColumnStyles=function(){var e=[];return this.getColumns().forEach((function(t){e.push({alignment:t.alignment||\"left\",format:t.format,dataType:t.dataType})})),e},t.getStyles=function(){return[].concat(_(this.getHeaderStyles()),_(this.getColumnStyles()),[this.getGroupRowStyle()])},t._getTotalCellStyleId=function(e){var t,n=(null===(t=this.getColumns()[e])||void 0===t?void 0:t.alignment)||\"right\";return this.getHeaderStyles().map((function(e){return e.alignment})).indexOf(n)},t.getStyleId=function(e,t){return e<this.getHeaderRowCount()?0:this.isTotalCell(e-this.getHeaderRowCount(),t)?this._getTotalCellStyleId(t):this.isGroupRow(e-this.getHeaderRowCount())?this.getHeaderStyles().length+this.getColumns().length:t+this.getHeaderStyles().length},t.getColumns=function(e){var t=this._options.columns;return e?t:t[t.length-1]},t.getColumnsWidths=function(){var e=this.getColumns();return(0,l.isDefined)(e)?e.map((function(e){return e.width})):void 0},t.getRowsCount=function(){return this._options.items.length+this.getHeaderRowCount()},t.getHeaderRowCount=function(){return this.isHeadersVisible()?this._options.columns.length-1:0},t.isGroupRow=function(e){return e<this._options.items.length&&\"group\"===this._options.items[e].rowType},t.getGroupLevel=function(e){var t=this._options.items[e-this.getHeaderRowCount()],n=t&&t.groupIndex;return t&&\"totalFooter\"===t.rowType?0:(0,l.isDefined)(n)?n:this._options.groupColumns.length},t.getCellType=function(e,t){var n=this.getColumns();if(e<this.getHeaderRowCount())return\"string\";if(e-=this.getHeaderRowCount(),t<n.length){var i=this._options.items.length&&this._options.items[e],o=n[t];return i&&\"data\"===i.rowType&&isFinite(i.values[this._correctCellIndex(t)])&&!(0,l.isDefined)(o.customizeText)?(0,l.isDefined)(o.lookup)?o.lookup.dataType:o.dataType:\"string\"}},t.ready=function(){this._initOptions();var e=this._options;return(0,o.when)(e.items).done((function(t){e.items=t})).fail((function(){e.items=[]}))},t._convertFromGridGroupSummaryItems=function(e){if((0,l.isDefined)(e)&&e.length>0)return e.map((function(e){return{value:e.value,name:e.name}}))},t.getCellData=function(e,t,n){var i,o,a={cellSourceData:{},value:i},r=this.getColumns(),s=this._correctCellIndex(t);if(e<this.getHeaderRowCount()){o=this.getColumns(!0)[e][t],a.cellSourceData.rowType=\"header\",a.cellSourceData.column=o&&o.gridColumn,a.value=o&&o.caption}else{e-=this.getHeaderRowCount();var u=this._options.items.length&&this._options.items[e];if(u){var d=u.values;switch(a.cellSourceData.rowType=u.rowType,a.cellSourceData.column=r[t]&&r[t].gridColumn,u.rowType){case\"groupFooter\":case\"totalFooter\":s<d.length&&(i=d[s],(0,l.isDefined)(i)?(a.cellSourceData.value=i.value,a.cellSourceData.totalSummaryItemName=i.name,a.value=f.default.getSummaryText(i,this._options.summaryTexts)):a.cellSourceData.value=void 0);break;case\"group\":if(a.cellSourceData.groupIndex=u.groupIndex,t<1)a.cellSourceData.column=this._options.groupColumns[u.groupIndex],a.cellSourceData.value=u.key[u.groupIndex],a.cellSourceData.groupSummaryItems=this._convertFromGridGroupSummaryItems(u.summaryCells[0]),a.value=this._getGroupValue(u);else{var c=u.values[s];if(Array.isArray(c)){a.cellSourceData.groupSummaryItems=this._convertFromGridGroupSummaryItems(c),i=\"\";for(var h=0;h<c.length;h++)i+=(h>0?n?\"\\n\":\" \\n \":\"\")+f.default.getSummaryText(c[h],this._options.summaryTexts);a.value=i}else a.cellSourceData.value=void 0}break;default:if(o=r[t]){var p=d[s],g=f.default.getDisplayValue(o,p,u.data,u.rowType);!isFinite(g)||(0,l.isDefined)(o.customizeText)?n&&(0,l.isDefined)(o.customizeText)&&o.customizeText===this._exportController._columnsController.getCustomizeTextByDataType(\"boolean\")?a.value=g:a.value=f.default.formatValue(g,o):a.value=g,a.cellSourceData.value=p}a.cellSourceData.data=u.data}}}return a},t.isHeadersVisible=function(){return this._options.isHeadersVisible},t.isTotalCell=function(e,t){var n=this._options.items[e],i=this._correctCellIndex(t),o=n.summaryCells&&n.summaryCells[i]&&n.summaryCells[i].length>0&&n.summaryCells[i][0].alignByColumn;return n&&\"groupFooter\"===n.rowType||\"totalFooter\"===n.rowType||o},t.getCellMerging=function(e,t){var n=this._options.columns,i=n[e]&&n[e][t];return i?{colspan:(i.exportColspan||1)-1,rowspan:(i.rowspan||1)-1}:{colspan:0,rowspan:0}},t.getFrozenArea=function(){return{x:0,y:this.getHeaderRowCount()}},e}();t.DataProvider=y;var b=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var r=i.prototype;return r._getEmptyCell=function(){return{caption:\"\",colspan:1,rowspan:1}},r._updateColumnWidth=function(e,t){e.width=t},r._getColumns=function(e){var t,n,i=[],o=this._columnsController,r=o.getRowCount();for(t=0;t<=r;t++){var s=[];n=o.getVisibleColumns(t,!0);var u=void 0;if(t===r)if(this._updateLockCount)u=e;else{var d=this._getColumnWidths(this._headersView,this._rowsView);if(d&&d.length){u={};for(var c=0;c<n.length;c++)u[n[c].index]=d[c]}}for(var f=0;f<n.length;f++){var p=(0,a.extend)({},n[f],{dataType:\"datetime\"===n[f].dataType?\"date\":n[f].dataType,gridColumn:n[f]});if(this._needColumnExporting(p)){var g=this._calculateExportColspan(p);(0,l.isDefined)(g)&&(p.exportColspan=g),u&&this._updateColumnWidth(p,u[p.index]),s.push(p)}}i.push(s)}return n=i[r],(i=(0,h.prepareItems)(i.slice(0,-1),this._getEmptyCell())).push(n),i},r._calculateExportColspan=function(e){var t=this;if(e.isBand){var n=this._columnsController.getChildrenByBandColumn(e.index,!0);if((0,l.isDefined)(n))return n.reduce((function(e,n){return t._needColumnExporting(n)?e+(t._calculateExportColspan(n)||1):e}),0)}},r._needColumnExporting=function(e){return!e.command&&(e.allowExporting||void 0===e.allowExporting)},r._getFooterSummaryItems=function(e,t){var n=[],i=1,o=0;do{for(var a=[],r=0;r<e.length;r++){var s=e[r],l=s.length;i<l&&(i=l),a.push(s[o])}n.push({values:a,rowType:t?\"totalFooter\":\"groupFooter\"})}while(o++<i-1);return n},r._hasSummaryGroupFooters=function(){var e=this.option(\"summary.groupItems\");if((0,l.isDefined)(e))for(var t=0;t<e.length;t++)if(e[t].showInGroupFooter)return!0;return!1},r._getItemsWithSummaryGroupFooters=function(e){for(var t=[],n=[],i=[],o=0;o<e.length;o++){var a=e[o];\"groupFooter\"===a.rowType?(i=this._getFooterSummaryItems(a.summaryCells),t=t.concat(n,i),n=[]):n.push(a)}return t.length?t:n},r._updateGroupValuesWithSummaryByColumn=function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n],o=i.summaryCells;if(\"group\"===i.rowType&&o&&o.length>1){for(var a,r=i.values.length,s=1;s<o.length;s++)for(var l=0;l<o[s].length;l++){var u=o[s][l];u&&u.alignByColumn&&(Array.isArray(t[s-r])||(t[s-r]=[]),t[s-r].push(u))}if(t.length>0)(a=i.values).push.apply(a,_(t)),t=[]}}},r._processUnExportedItems=function(e){for(var t,n,i=this._columnsController.getVisibleColumns(null,!0),o=this._columnsController.getGroupColumns(),a=0;a<e.length;a++){var r=e[a],s=!1;t=[],n=[];for(var l=0;l<i.length;l++){var u=i[l];if(s||(s=[\"detailExpand\",\"buttons\"].includes(u.type)),this._needColumnExporting(u)&&(r.values&&(\"group\"!==r.rowType||t.length?t.push(r.values[l]):t.push(r.key[r.groupIndex])),r.summaryCells))if(\"group\"!==r.rowType||n.length)n.push(r.summaryCells[l]);else{var d=l-o.length+r.groupIndex;n.push(r.summaryCells[s?d:d+1])}}t.length&&(r.values=t),n.length&&(r.summaryCells=n)}},r._getAllItems=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this,a=new o.Deferred,r=this.getController(\"data\"),s=r.footerItems(),u=s.length&&s[0],d=i.option(\"summary.totalItems\");return(0,o.when)(e).done((function(e){r.loadAll(e,n).done((function(e,n){i._updateGroupValuesWithSummaryByColumn(e),i._hasSummaryGroupFooters()&&(e=i._getItemsWithSummaryGroupFooters(e)),t=u&&u.summaryCells,(0,l.isDefined)(n)&&d&&(t=i._getSummaryCells(d,n));var o=u&&i._getFooterSummaryItems(t,!0);o&&(e=e.concat(o)),i._processUnExportedItems(e),a.resolve(e)})).fail(a.reject)})).fail(a.reject),a},r._getSummaryCells=function(e,t){var n=this.getController(\"data\"),i=n._columnsController;return n._calculateSummaryCells(e,t,i.getVisibleColumns(null,!0),(function(e,t){return n._isDataColumn(t)?t.index:-1}))},r._getSelectedItems=function(){var e=this.getController(\"selection\");return this.needLoadItemsOnExportingSelectedItems()?this._getAllItems(e.loadSelectedItemsWithFilter(),!0):this._getAllItems(e.getSelectedRowsData())},r._getColumnWidths=function(e,t){return e&&e.isVisible()?e.getColumnWidths():t.getColumnWidths()},r.throwWarningIfNoOnExportingEvent=function(){var e,t,n=null===(t=(e=this.component).hasActionSubscription)||void 0===t?void 0:t.call(e,\"onExporting\");this.option(\"export.enabled\")&&!n&&c.default.log(\"W1024\")},r.init=function(){this.throwWarningIfNoOnExportingEvent(),this._columnsController=this.getController(\"columns\"),this._rowsView=this.getView(\"rowsView\"),this._headersView=this.getView(\"columnHeadersView\"),this.createAction(\"onExporting\",{excludeValidators:[\"disabled\",\"readOnly\"]})},r.callbackNames=function(){return[\"selectionOnlyChanged\"]},r.getDataProvider=function(e){var t,n=this._getColumnWidths(this._headersView,this._rowsView);if(n&&n.length){t={};for(var i=this._columnsController.getVisibleColumns(this._columnsController.getRowCount(),!0),o=0;o<i.length;o++)t[i[o].index]=n[o]}return new y(this,t,e)},r.exportTo=function(e,t){this._selectionOnly=e;var n=this.getAction(\"onExporting\"),i={rtlEnabled:this.option(\"rtlEnabled\"),selectedRowsOnly:!!e,format:t,fileName:\"DataGrid\",cancel:!1};(0,l.isFunction)(n)&&n(i)},r.publicMethods=function(){return[\"getDataProvider\"]},r.selectionOnly=function(e){if(!(0,l.isDefined)(e))return this._isSelectedRows;this._isSelectedRows=e,this.selectionOnlyChanged.fire()},r.optionChanged=function(t){e.prototype.optionChanged.call(this,t),\"export\"===t.name&&this.throwWarningIfNoOnExportingEvent()},r.needLoadItemsOnExportingSelectedItems=function(){var e;return null!==(e=this.option(\"loadItemsOnExportingSelectedItems\"))&&void 0!==e?e:this.getController(\"data\")._dataSource.remoteOperations().filtering},i}(f.default.ViewController);t.ExportController=b,f.default.registerModule(\"export\",{defaultOptions:function(){return{export:{enabled:!1,fileName:\"DataGrid\",formats:[\"xlsx\"],allowExportSelectedData:!1,texts:{exportTo:u.default.format(\"dxDataGrid-exportTo\"),exportAll:u.default.format(\"dxDataGrid-exportAll\"),exportSelectedRows:u.default.format(\"dxDataGrid-exportSelectedRows\")}}}},controllers:{export:b},extenders:{controllers:{editing:{callbackNames:function(){var e=this.callBase();return(0,l.isDefined)(e)?e.push(\"editingButtonsUpdated\"):[\"editingButtonsUpdated\"]},_updateEditButtons:function(){this.callBase(),this.editingButtonsUpdated.fire()}}},views:{headerPanel:{_getToolbarItems:function(){var e=this.callBase(),t=this._getExportToolbarButton();return t&&(e.push(t),this._correctItemsPosition(e)),e},_getExportToolbarButton:function(){var e=this,t=this._getExportToolbarItems();if(0===t.length)return null;var n=this._needDisableExportButton(),o={name:\"exportButton\",location:\"after\",locateInMenu:\"auto\",sortIndex:30,options:{items:t},disabled:n};if(1===t.length){var a=g(g({},t[0]),{hint:t[0].text,elementAttr:{class:\"dx-datagrid-export-button\"}});o.widget=\"dxButton\",o.showText=\"inMenu\",o.options=a}else{var r={icon:\"export\",displayExpr:\"text\",items:t,hint:this.option(\"export.texts.exportTo\"),elementAttr:{class:\"dx-datagrid-export-button\"},dropDownOptions:{width:\"auto\",_wrapperClassExternal:\"dx-datagrid-export-menu\"}};o.options=r,o.widget=\"dxDropDownButton\",o.menuItemTemplate=function(n,o,a){e._createComponent((0,i.default)(a),d.default,{items:t})}}return o},_getExportToolbarItems:function(){var e,t=this,n=this.option(\"export\"),i=this.option(\"export.texts\"),o=null!==(e=this.option(\"export.formats\"))&&void 0!==e?e:[];if(!n.enabled)return[];var a=[];return o.forEach((function(e){var o=e.toUpperCase(),r=\"export\";\"xlsx\"===e&&(o=\"Excel\",r=\"xlsxfile\"),\"pdf\"===e&&(r=\"pdffile\"),a.push({text:(0,s.format)(i.exportAll,o),icon:r,onClick:function(){t._exportController.exportTo(!1,e)}}),n.allowExportSelectedData&&a.push({text:(0,s.format)(i.exportSelectedRows,o),icon:\"exportselected\",onClick:function(){t._exportController.exportTo(!0,e)}})})),a},_correctItemsPosition:function(e){e.sort((function(e,t){return e.sortIndex-t.sortIndex}))},_isExportButtonVisible:function(){return this.option(\"export.enabled\")},optionChanged:function(e){this.callBase(e),\"export\"===e.name&&(e.handled=!0,this._invalidate())},_needDisableExportButton:function(){var e=!this._columnsController.hasVisibleDataColumns(),t=this._editingController.hasChanges();return e||t},_columnOptionChanged:function(e){if(this.callBase(e),f.default.checkChanges(e.optionNames,[\"groupIndex\",\"visible\",\"all\"])){var t=this._needDisableExportButton();this.setToolbarItemDisabled(\"exportButton\",t)}},init:function(){var e=this;this.callBase(),this._exportController=this.getController(\"export\"),this._editingController=this.getController(\"editing\"),this._editingController.editingButtonsUpdated.add((function(){var t=e._needDisableExportButton();e.setToolbarItemDisabled(\"exportButton\",t)}))},isVisible:function(){return this.callBase()||this._isExportButtonVisible()}}}}})},56445:function(e,t,n){var i,o=n(20576),a=n(47617),r=n(62754),s=n(13306),l=n(35922),u=n(5325),d=(i=n(74938))&&i.__esModule?i:{default:i},c=n(10087);function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=Number.MAX_SAFE_INTEGER||9007199254740991;d.default.registerModule(\"focus\",(0,s.extend)(!0,{},u.focusModule,{extenders:{controllers:{data:function(e){return function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var s=i.prototype;return s.changeRowExpand=function(t,n){if(this.option(\"focusedRowEnabled\")&&Array.isArray(t)&&this.isRowExpanded(t)){var i=this.getController(\"keyboardNavigation\");n&&i.isKeyboardEnabled()||!this._isFocusedRowInsideGroup(t)||this.option(\"focusedRowKey\",t)}return e.prototype.changeRowExpand.call(this,t,n)},s._isFocusedRowInsideGroup=function(e){var t=this.getController(\"columns\"),n=this.option(\"focusedRowKey\"),i=this.getRowIndexByKey(n),o=i>=0&&this.getVisibleRows()[i],r=t.getGroupDataSourceParameters(!0);if(o)for(var s=0;s<e.length;++s){if((0,a.compileGetter)(r[s]&&r[s].selector)(o.data)!==e[s])return!1}return!0},s._getGroupPath=function(e,t){for(var n=[],i=[e];i&&i[0]&&t;){var o=i[0];void 0!==o.key&&n.push(o.key),i=o.items,t--}return n},s._expandGroupByPath=function(e,t,n){var i=new r.Deferred;return n++,e.expandRow(t.slice(0,n)).done((function(){n===t.length?i.resolve():e._expandGroupByPath(e,t,n).done(i.resolve).fail(i.reject)})).fail(i.reject),i.promise()},s._calculateGlobalRowIndexByGroupedData=function(e){var t=this,n=t._dataSource,i=t._generateFilterByKey(e),o=new r.Deferred,a=Array.isArray(e),s=n.group();return a?o.resolve(-1).promise():n._grouping._updatePagingOptions?(n.load({filter:t._concatWithCombinedFilter(i),group:s}).done((function(n){if(!n||0===n.length||!(0,l.isDefined)(n[0].key)||-1===n[0].key)return o.resolve(-1).promise();var i=t._getGroupPath(n[0],s.length);t._expandGroupByPath(t,i,0).done((function(){t._calculateExpandedRowGlobalIndex(o,e,i,s)})).fail(o.reject)})).fail(o.reject),o.promise()):(t._calculateGlobalRowIndexByFlatData(e,null,!0).done(o.resolve).fail(o.reject),o)},s._calculateExpandedRowGlobalIndex=function(e,t,n,i){var a,r=(0,c.createGroupFilter)(n,{group:i}),s=this._dataSource,l=this.option(\"scrolling.mode\"),u=\"virtual\"===l||\"infinite\"===l,d=s.pageSize();s._grouping._updatePagingOptions({skip:0,take:f},(function(e,t){(0,o.equalByValue)(e.path,n)&&(a=t)})),this._calculateGlobalRowIndexByFlatData(t,r).done((function(t){var i,o;t<0?e.resolve(-1):(i=(a%d||d)+t-n.length,o=u?0:Math.floor(i/(d-n.length))*n.length,i=a+t+o,e.resolve(i))})).fail(e.reject)},i}(e.inherit(u.focusModule.extenders.controllers.data))}}}}))},72487:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GroupingHeaderPanelExtender=void 0;var i=m(n(20530)),o=m(n(68374)),a=n(62754),r=n(95479),s=n(58664),l=n(35922),u=m(n(28109)),d=n(56756),c=n(9130),h=m(n(74938)),f=m(n(49975)),p=n(2772),g=n(4789);function m(e){return e&&e.__esModule?e:{default:e}}var _={init:function(){this.callBase.apply(this,arguments),this._initGroupingHelper()},_initGroupingHelper:function(e){var t=this._grouping,n=this.option(\"grouping.autoExpandAll\"),i=this.option(\"focusedRowEnabled\"),o=e?e.remoteOperations:this.remoteOperations();!(o.filtering&&o.sorting&&o.paging)||o.grouping||!n&&i?(!t||t instanceof g.GroupingHelper)&&(this._grouping=new p.GroupingHelper(this)):(!t||t instanceof p.GroupingHelper)&&(this._grouping=new g.GroupingHelper(this))},totalItemsCount:function(){var e=this.callBase();return e>0&&this._dataSource.group()&&this._dataSource.requireTotalCount()?e+this._grouping.totalCountCorrection():e},itemsCount:function(){return this._dataSource.group()?this._grouping.itemsCount()||0:this.callBase.apply(this,arguments)},allowCollapseAll:function(){return this._grouping.allowCollapseAll()},isGroupItemCountable:function(e){return this._grouping.isGroupItemCountable(e)},isRowExpanded:function(e){var t=this._grouping.findGroupInfo(e);return t?t.isExpanded:!this._grouping.allowCollapseAll()},collapseAll:function(e){return this._collapseExpandAll(e,!1)},expandAll:function(e){return this._collapseExpandAll(e,!0)},_collapseExpandAll:function(e,t){var n=this._dataSource,i=n.group(),o=h.default.normalizeSortingInfo(i||[]);if(o.length){for(var a=0;a<o.length;a++)void 0===e||e===a?o[a].isExpanded=t:i&&i[a]&&(o[a].isExpanded=i[a].isExpanded);n.group(o),this._grouping.foreachGroups((function(n,i){void 0!==e&&e!==i.length-1||(n.isExpanded=t)}),!1,!0),this.resetPagesCache()}return!0},refresh:function(){return this.callBase.apply(this,arguments),this._grouping.refresh.apply(this._grouping,arguments)},changeRowExpand:function(e){var t=this._dataSource;if(t.group())return t.beginLoading(),this._lastLoadOptions&&(this._lastLoadOptions.groupExpand=!0),this._changeRowExpandCore(e).always((function(){t.endLoading()}))},_changeRowExpandCore:function(e){return this._grouping.changeRowExpand(e)},_hasGroupLevelsExpandState:function(e,t){if(e&&Array.isArray(e))for(var n=0;n<e.length;n++)if(e[n].isExpanded===t)return!0},_customizeRemoteOperations:function(e,t){var n=e.remoteOperations;e.storeLoadOptions.group?(n.grouping&&!e.isCustomLoading&&(n.groupPaging&&!this._hasGroupLevelsExpandState(e.storeLoadOptions.group,!0)||(n.paging=!1)),n.grouping||n.sorting&&n.filtering&&!e.isCustomLoading&&!this._hasGroupLevelsExpandState(e.storeLoadOptions.group,!1)||(n.paging=!1)):!e.isCustomLoading&&n.paging&&t.grouping&&this.resetCache(),this.callBase.apply(this,arguments)},_handleDataLoading:function(e){return this.callBase(e),this._initGroupingHelper(e),this._grouping.handleDataLoading(e)},_handleDataLoaded:function(e){return this._grouping.handleDataLoaded(e,this.callBase.bind(this))},_handleDataLoadedCore:function(e){return this._grouping.handleDataLoadedCore(e,this.callBase.bind(this))}};f.default.extend(_);var v={init:function(){this.callBase(),this.createAction(\"onRowExpanding\"),this.createAction(\"onRowExpanded\"),this.createAction(\"onRowCollapsing\"),this.createAction(\"onRowCollapsed\")},_beforeProcessItems:function(e){var t=this._columnsController.getGroupColumns();return(e=this.callBase(e)).length&&t.length&&(e=this._processGroupItems(e,t.length)),e},_processItem:function(e,t){return(0,l.isDefined)(e.groupIndex)&&(0,l.isString)(e.rowType)&&0===e.rowType.indexOf(\"group\")?(e=this._processGroupItem(e,t),t.dataIndex=0):e=this.callBase.apply(this,arguments),e},_processGroupItem:function(e){return e},_processGroupItems:function(e,t,n){var i=this._columnsController.getGroupColumns(),o=i[i.length-t];if(!n){var a=this.option(\"scrolling.mode\");n={collectContinuationItems:\"virtual\"!==a&&\"infinite\"!==a,resultItems:[],path:[],values:[]}}var r=n.resultItems;if(n.data&&(!n.collectContinuationItems&&n.data.isContinuation||r.push({rowType:\"group\",data:n.data,groupIndex:n.path.length-1,isExpanded:!!n.data.items,key:n.path.slice(0),values:n.values.slice(0)})),e)if(0===t)r.push.apply(r,e);else for(var s=0;s<e.length;s++){var l=e[s];l&&\"items\"in l?(n.data=l,n.path.push(l.key),n.values.push(o&&o.deserializeValue&&!o.calculateDisplayValue?o.deserializeValue(l.key):l.key),this._processGroupItems(l.items,t-1,n),n.data=void 0,n.path.pop(),n.values.pop()):r.push(l)}return r},publicMethods:function(){return this.callBase().concat([\"collapseAll\",\"expandAll\",\"isRowExpanded\",\"expandRow\",\"collapseRow\"])},collapseAll:function(e){var t=this._dataSource;t&&t.collapseAll(e)&&(t.pageIndex(0),t.reload())},expandAll:function(e){var t=this._dataSource;t&&t.expandAll(e)&&(t.pageIndex(0),t.reload())},changeRowExpand:function(e){var t=this,n=t.isRowExpanded(e),i={key:e,expanded:n};return t.executeAction(n?\"onRowCollapsing\":\"onRowExpanding\",i),i.cancel?(new a.Deferred).resolve():(0,a.when)(t._changeRowExpandCore(e)).done((function(){i.expanded=!n,t.executeAction(n?\"onRowCollapsed\":\"onRowExpanded\",i)}))},_changeRowExpandCore:function(e){var t=this,n=this._dataSource,i=new a.Deferred;return n?(0,a.when)(n.changeRowExpand(e)).done((function(){t.load().done(i.resolve).fail(i.reject)})).fail(i.reject):i.resolve(),i},isRowExpanded:function(e){var t=this._dataSource;return t&&t.isRowExpanded(e)},expandRow:function(e){return this.isRowExpanded(e)?(new a.Deferred).resolve():this.changeRowExpand(e)},collapseRow:function(e){return this.isRowExpanded(e)?this.changeRowExpand(e):(new a.Deferred).resolve()},optionChanged:function(e){\"grouping\"===e.name&&(e.name=\"dataSource\"),this.callBase(e)}},y=function(e,t){var n=this._columnsController;switch(t.itemData.value){case\"group\":var i=n._dataSource.group()||[];n.columnOption(e.dataField,\"groupIndex\",i.length);break;case\"ungroup\":n.columnOption(e.dataField,\"groupIndex\",-1);break;case\"ungroupAll\":this.component.clearGrouping()}},b=function(e){var t=null==e?void 0:e.visible;return\"auto\"===t?\"desktop\"===i.default.current().deviceType:!!t},x=function(e,t){var n=b(e),i=(null==e?void 0:e.allowColumnDragging)&&t.allowGrouping;return n&&!!i},w={_getToolbarItems:function(){var e=this.callBase();return this._appendGroupingItem(e)},_appendGroupingItem:function(e){var t=this;if(this._isGroupPanelVisible()){var n=!1,i={template:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-datagrid-group-panel\");return t._updateGroupPanelContent(e),(0,c.registerKeyboardAction)(\"groupPanel\",t,e,void 0,t._handleActionKeyDown.bind(t)),e},name:\"groupPanel\",onItemRendered:function(){n&&t.renderCompleted.fire(),n=!0},location:\"before\",locateInMenu:\"never\",sortIndex:1};e.push(i),this.updateToolbarDimensions()}return e},_handleActionKeyDown:function(e){var t=e.event,n=(0,o.default)(t.target),i=n.closest(\".\".concat(\"dx-group-panel-item\")).index(),a=this._columnsController.getGroupColumns()[i],r=a&&a.index;n.is(\".dx-header-filter\")?this.getController(\"headerFilter\").showHeaderFilterMenu(r,!0):this._processGroupItemAction(r),t.preventDefault()},_isGroupPanelVisible:function(){return b(this.option(\"groupPanel\"))},_renderGroupPanelItems:function(e,t){var n=this;e.empty(),(0,r.each)(t,(function(t,i){n._createGroupPanelItem(e,i)})),(0,d.restoreFocus)(this)},_createGroupPanelItem:function(e,t){var n=(0,o.default)(\"<div>\").addClass(t.cssClass).addClass(\"dx-group-panel-item\").data(\"columnData\",t).appendTo(e).text(t.caption);return(0,d.setTabIndex)(this,n),n},_columnOptionChanged:function(e){if(!this._requireReady&&!h.default.checkChanges(e.optionNames,[\"width\",\"visibleWidth\"])){var t=this.element(),n=t&&t.find(\".\".concat(\"dx-datagrid-group-panel\"));n&&n.length&&(this._updateGroupPanelContent(n),this.updateToolbarDimensions(),this.renderCompleted.fire())}this.callBase()},_updateGroupPanelContent:function(e){var t=this.getController(\"columns\").getGroupColumns(),n=this.option(\"groupPanel\");this._renderGroupPanelItems(e,t),n.allowColumnDragging&&!t.length&&((0,o.default)(\"<div>\").addClass(\"dx-group-panel-message\").text(n.emptyPanelText).appendTo(e),e.closest(\".\".concat(\"dx-toolbar-item\")).addClass(\"dx-toolbar-label\"),e.closest(\".\".concat(\"dx-toolbar-label\")).css(\"maxWidth\",\"none\"))},allowDragging:function(e){var t=this.option(\"groupPanel\");return x(t,e)},getColumnElements:function(){var e=this.element();return e&&e.find(\".\".concat(\"dx-group-panel-item\"))},getColumns:function(){return this.getController(\"columns\").getGroupColumns()},getBoundingRect:function(){var e=this.element();if(e&&e.find(\".\".concat(\"dx-datagrid-group-panel\")).length){var t=e.offset();return{top:t.top,bottom:t.top+(0,s.getHeight)(e)}}return null},getName:function(){return\"group\"},getContextMenuItems:function(e){var t,n=this.option(\"grouping.contextMenuEnabled\"),i=(0,o.default)(e.targetElement).closest(\".\".concat(\"dx-group-panel-item\"));if(i.length&&(e.column=i.data(\"columnData\")),n&&e.column){var a=e.column;if(!(0,l.isDefined)(a.allowGrouping)||a.allowGrouping){var r=(0,l.isDefined)(a.groupIndex)&&a.groupIndex>-1,s=this.option(\"grouping.texts\"),u=y.bind(this,a);t=[{text:s.ungroup,value:\"ungroup\",disabled:!r,onItemClick:u},{text:s.ungroupAll,value:\"ungroupAll\",onItemClick:u}]}}return t},isVisible:function(){return this.callBase()||this._isGroupPanelVisible()},hasGroupedColumns:function(){return this._isGroupPanelVisible()&&!!this.getColumns().length},optionChanged:function(e){\"groupPanel\"===e.name?(this._invalidate(),e.handled=!0):this.callBase(e)}};t.GroupingHeaderPanelExtender=w;var C={getContextMenuItems:function(e){var t;if(this.option(\"grouping.contextMenuEnabled\")&&e.row&&\"group\"===e.row.rowType){var n=this._columnsController.columnOption(\"groupIndex:\".concat(e.row.groupIndex));if(n&&n.allowGrouping){var i=this.option(\"grouping.texts\"),o=y.bind(this,n);(t=[]).push({text:i.ungroup,value:\"ungroup\",onItemClick:o},{text:i.ungroupAll,value:\"ungroupAll\",onItemClick:o})}}return t},_rowClick:function(e){var t=this.option(\"grouping.expandMode\"),n=\"infinite\"!==this.option(\"scrolling.mode\")&&\"rowClick\"===t&&(0,o.default)(e.event.target).closest(\".\".concat(\"dx-group-row\")).length,i=(0,o.default)(e.event.target).closest(\".\".concat(\"dx-datagrid-expand\")).length;(n||i)&&this._changeGroupRowState(e),this.callBase(e)},_changeGroupRowState:function(e){var t=this.getController(\"data\"),n=t.items()[e.rowIndex],i=this._columnsController.columnOption(\"groupIndex:\".concat(n.groupIndex),\"allowCollapsing\");(\"data\"===n.rowType||\"group\"===n.rowType&&!1!==i)&&(t.changeRowExpand(n.key,!0),e.event.preventDefault(),e.handled=!0)}},S={getContextMenuItems:function(e){var t=this.option(\"grouping.contextMenuEnabled\"),n=this.callBase(e);if(t&&e.row&&(\"header\"===e.row.rowType||\"detailAdaptive\"===e.row.rowType)){var i=e.column;if(!i.command&&(!(0,l.isDefined)(i.allowGrouping)||i.allowGrouping)){var o=this.option(\"grouping.texts\"),a=(0,l.isDefined)(i.groupIndex)&&i.groupIndex>-1,r=y.bind(this,i);(n=n||[]).push({text:o.groupByThisColumn,value:\"group\",beginGroup:!0,disabled:a,onItemClick:r}),i.showWhenGrouped&&n.push({text:o.ungroup,value:\"ungroup\",disabled:!a,onItemClick:r}),n.push({text:o.ungroupAll,value:\"ungroupAll\",onItemClick:r})}}return n},allowDragging:function(e){var t=this.option(\"groupPanel\");return x(t,e)||this.callBase(e)}};h.default.registerModule(\"grouping\",{defaultOptions:function(){return{grouping:{autoExpandAll:!0,allowCollapsing:!0,contextMenuEnabled:!1,expandMode:\"buttonClick\",texts:{groupContinuesMessage:u.default.format(\"dxDataGrid-groupContinuesMessage\"),groupContinuedMessage:u.default.format(\"dxDataGrid-groupContinuedMessage\"),groupByThisColumn:u.default.format(\"dxDataGrid-groupHeaderText\"),ungroup:u.default.format(\"dxDataGrid-ungroupHeaderText\"),ungroupAll:u.default.format(\"dxDataGrid-ungroupAllText\")}},groupPanel:{visible:!1,emptyPanelText:u.default.format(\"dxDataGrid-groupPanelEmptyText\"),allowColumnDragging:!0}}},extenders:{controllers:{data:v,columns:{_getExpandColumnOptions:function(){var e=this.callBase.apply(this,arguments);return e.cellTemplate=h.default.getExpandCellTemplate(),e}},editing:{_isProcessedItem:function(e){return(0,l.isDefined)(e.groupIndex)&&(0,l.isString)(e.rowType)&&0===e.rowType.indexOf(\"group\")}}},views:{headerPanel:w,rowsView:C,columnHeadersView:S}}})},2772:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GroupingHelper=void 0;var i=n(62754),o=n(13306),a=n(95479),r=n(18438),s=c(n(96688)),l=c(n(74938)),u=n(10087),d=n(8748);function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t,n,i){if(i=i||0,t>1&&n>0){var o=e-Math.floor(e/t)*t||t;return(o+=n-i-2)<0&&(o+=t),Math.floor(o/(t-i-1))}return 0}var f=d.GroupingHelper.inherit(function(){var e=function(e,t,n){return e.foreachGroups((function(e,n){if(e.isExpanded)return t(e,n)}),!0,!1,n,n)},t=function e(t,n,i,o,a,r,s){var l;if(o.items=o.items||[],o.paths=o.paths||[],o.count=o.count||0,o.lastCount=o.lastCount||0,i)for(var u=0;u<n.length;u++){var d=n[u];if(void 0!==d.items){if(a.push(d.key),r)l=!0;else{var c=t.findGroupInfo(a);l=c&&c.isExpanded}l?d.items?e(t,d.items,i-1,o,a,r,s):1!==i||!d.count||r&&!s||(o.items.push(d),o.paths.push(a.slice(0)),o.count+=o.lastCount,o.lastCount=d.count):(d.collapsedItems=d.items,d.items=null),a.pop()}}},n=function(e,t,n,i,o){var a,r=e.findGroupInfo(i);r?(n?r.count=t.count>0?t.count:t.items&&t.items.length||0:t.count=r.count||t.count,r.offset=o):(n&&(a=t.count>0?t.count:t.items.length),e.addGroupInfo({isExpanded:e._isGroupExpanded(i.length-1),path:i.slice(0),offset:o,count:a||0}))},c=function e(t,i,o,a,r,s,l){var u,d=(i.group?i.group.length:0)===a,c=0,h=0;if(r=r||0,s=s||[],i.remoteOperations.paging&&!l&&(c=0===r?i.skip||0:i.skips[r-1]||0),r>=a)return o.length;for(var f=0;f<o.length;f++){var p=o[f];if(p){if(s.push(p.key),!p.count&&!p.items||void 0===p.items)return-1;if(n(t,p,d,s,c+f),(u=p.items?e(t,i,p.items,a,r+1,s,f):p.count||-1)<0)return-1;h+=u,s.pop()}}return h},f=function(e,t){return e&&e.length&&e[t]&&!!e[t].isExpanded},p=function(e,t,n){for(var i,o=n,a=0;a<e.length;a++)i=e[a].offset+1,a>0&&(i+=e[a-1].childrenTotalCount,t&&(i+=h(o,t,i,a-1)*a)),o+=i;return o};function g(e,t,n,i){var o=t.items[i],a=e.skips&&e.skips[n],r=e.takes&&e.takes[n],s=i===t.items.length-1,l=0===i,u=l&&a||0,d=o.count>r+u;l&&void 0!==a&&(o.isContinuation=!0),s&&void 0!==r&&d&&(o.isContinuationOnNextPage=!0)}function m(e){return!Array.isArray(e)}function _(e){m(e.data)||(e.data=new i.Deferred)}function v(e,n,r,s,d,h){n.isCustomLoading||(t(e,h,r,s={},[]),function(e,t,n){var i=n-1,o=e.group?e.group.length:0;t.skip=e.skips&&e.skips[i],e.takes&&void 0!==e.takes[i]&&(t.take=o===n&&t.count?t.count-(t.skip||0):0,t.take+=e.takes[i])}(n,s,r));var f=n.group?n.group.length:0;s.paths.length&&f-r>0?(_(n),function(e,t,n,o,r,s){var l=t.group||[],d=l[r+1],h=[];(0,a.each)(n.paths,(function(o){var a,s={requireTotalCount:!1,requireGroupCount:!0,group:[d],groupSummary:t.storeLoadOptions.groupSummary,filter:(0,u.createGroupFilter)(n.paths[o],{filter:t.storeLoadOptions.filter,group:l}),select:t.storeLoadOptions.select,langParams:null===(a=t.storeLoadOptions)||void 0===a?void 0:a.langParams};0===o&&(s.skip=n.skip||0),o===n.paths.length-1&&(s.take=n.take);var c=0===s.take?[]:e._dataSource.loadFromStore(s);(0,i.when)(c).done((function(e){var i=n.items[o];g(t,n,r,o),i.items=e})),h.push(c)})),i.when.apply(null,h).done((function(){c(e,t,s,o+1),v(e,t,o+1,n,r+1,s)}))}(e,n,s,r,d,h)):s.paths.length&&n.storeLoadOptions.group?(_(n),function(e,t,n,r){var s=[],d=t.group||[];(0,a.each)(n.paths,(function(e,n){s.push((0,u.createGroupFilter)(n,{group:t.isCustomLoading?t.storeLoadOptions.group:d}))}));var c=t.storeLoadOptions.filter;t.storeLoadOptions.isLoadingAll||(c=l.default.combineFilters([c,l.default.combineFilters(s,\"or\")]));var h=(0,o.extend)({},t.storeLoadOptions,{requireTotalCount:!1,requireGroupCount:!1,group:null,sort:d.concat(l.default.normalizeSortingInfo(t.storeLoadOptions.sort||[])),filter:c}),f=e._dataSource.isLastLevelGroupItemsPagingLocal();f||(h.skip=n.skip,h.take=n.take);(0,i.when)(0===n.take?[]:e._dataSource.loadFromStore(h)).done((function(i){f&&(i=e._dataSource.sortLastLevelGroupItems(i,d,n.paths),i=n.skip?i.slice(n.skip):i,i=n.take?i.slice(0,n.take):i),(0,a.each)(n.items,(function(e,o){var a=o.count-(0===e&&n.skip||0),r=i.splice(0,a);g(t,n,d.length-1,e),o.items=r})),t.data.resolve(r)})).fail(t.data.reject)}(e,n,s,h)):m(n.data)&&n.data.resolve(h)}var y=function(e,t){var n=new i.Deferred,a=!(!t.group||!t.group.length),s=(0,o.extend)({skip:0,take:1,requireGroupCount:a,requireTotalCount:!a},t,{group:a?t.group:null});return e.load(s).done((function(e,t){var i=t&&(a?t.groupCount:t.totalCount);isFinite(i)?n.resolve(i):n.reject(r.errors.Error(a?\"E4022\":\"E4021\"))})).fail(n.reject.bind(n)),n};return{updateTotalItemsCount:function(t){var n=0,i=t.extra&&t.extra.totalCount||0,o=t.extra&&t.extra.groupCount||0,a=this._dataSource.pageSize(),r=this._isVirtualPaging();e(this,(function(e){e.childrenTotalCount=0})),e(this,(function(e,t){var i=p(t,r?0:a,n),o=e.count+e.childrenTotalCount;r||(o+=h(i,a,o,t.length-1)),t[t.length-2]?t[t.length-2].childrenTotalCount+=o:n+=o})),this.callBase(n-i+o)},_isGroupExpanded:function(e){var t=this._dataSource.group();return f(t,e)},_updatePagingOptions:function(t,n){var i=this._isVirtualPaging(),o=this._dataSource.pageSize(),a=[],r=[],s=0,l=0;t.take&&(e(this,(function(e){e.childrenTotalCount=0,e.skipChildrenTotalCount=0})),e(this,(function(e,u){var d,c=0,f=0,g=p(u,i?0:o,l),m=0,_=0,v=e.count+e.childrenTotalCount,y=v;n&&n(e,g);var b=t.skip-g;g<=t.skip+t.take&&v&&(d=t.take,i||(v+=(m=h(g,o,v,u.length-1))*u.length,y+=m,o&&b>=0&&(c=u.length,f=u.length-1,_=Math.floor(b/o))),b>=0?(g+v>t.skip&&a.unshift(b-_*c-e.skipChildrenTotalCount),g+v>=t.skip+d&&r.unshift(d-c-e.childrenTotalCount+e.skipChildrenTotalCount)):g+v>=t.skip+d&&r.unshift(d+b-e.childrenTotalCount)),g<=t.skip&&(u[u.length-2]?u[u.length-2].skipChildrenTotalCount+=Math.min(y,b+1-_*f):s+=Math.min(y,b+1)),g<=t.skip+d&&(v=Math.min(y,b+d-(_+1)*f),u[u.length-2]?u[u.length-2].childrenTotalCount+=v:l+=v)})),t.skip-=s,t.take-=l-s),t.skips=a,t.takes=r},changeRowExpand:function(e){var t=this.findGroupInfo(e),n=this._dataSource,o=n.remoteOperations().groupPaging,a=l.default.normalizeSortingInfo(n.group());return t?(t.isExpanded=!t.isExpanded,o&&t.isExpanded&&e.length<a.length?y(n,{filter:(0,u.createGroupFilter)(e,{filter:n.lastLoadOptions().filter,group:n.group()}),group:[a[e.length]],select:n.select()}).done((function(e){t.count=e})):(new i.Deferred).resolve()):(new i.Deferred).reject()},handleDataLoading:function(e){var t=e.storeLoadOptions,n=l.default.normalizeSortingInfo(t.group||e.loadOptions.group);if(!e.isCustomLoading&&n.length){if(e.remoteOperations.grouping){var i=this._dataSource.remoteOperations().paging;t.group=l.default.normalizeSortingInfo(t.group),t.group.forEach((function(e,n){var o=n===t.group.length-1;e.isExpanded=!i||!o}))}e.group=e.group||n,e.remoteOperations.paging?(e.skip=t.skip,e.take=t.take,t.requireGroupCount=!0,t.group=n.slice(0,1),this._updatePagingOptions(e),t.skip=e.skip,t.take=e.take):(e.skip=e.loadOptions.skip,e.take=e.loadOptions.take,this._updatePagingOptions(e))}},handleDataLoadedCore:function(e,n){var o,a=l.default.normalizeSortingInfo(e.storeLoadOptions.group||e.loadOptions.group).length,u=e.group?e.group.length:0,d={};if(e.isCustomLoading)n(e),t(this,e.data,a,d,[],e.isCustomLoading,e.storeLoadOptions.isLoadingAll);else{if(e.remoteOperations.paging||this.foreachGroups((function(e){e.count=0})),(o=c(this,e,e.data,a))<0)return void(e.data=(new i.Deferred).reject(s.default.Error(\"E1037\")));if(e.remoteOperations.paging||a&&e.extra&&e.loadOptions.requireTotalCount&&(e.extra.totalCount=o,e.extra.groupCount=e.data.length),u&&e.storeLoadOptions.requireGroupCount&&!isFinite(e.extra.groupCount))return void(e.data=(new i.Deferred).reject(r.errors.Error(\"E4022\")));this.updateTotalItemsCount(e),e.remoteOperations.paging||this._updatePagingOptions(e),n(e),e.remoteOperations.paging||this._processPaging(e,a)}v(this,e,a,d,0,e.data)},_processSkips:function(e,t,n){if(n){var i=e[0],o=t[0],a=i&&i.items;void 0!==o&&(i.isContinuation=!0,a&&(i.items=a.slice(o),this._processSkips(i.items,t.slice(1),n-1)))}},_processTakes:function(e,t,n,i,o){if(i&&e){o=o||[];var a=e[e.length-1],r=a&&a.items,s=n[0],l=t[0];if(a){var u=a.count-(a.isContinuation&&l||0)||r.length;void 0!==s&&u>s&&(a.isContinuationOnNextPage=!0,o.forEach((function(e){e.isContinuationOnNextPage=!0})),r&&(r=r.slice(0,s),a.items=r)),o.push(a),this._processTakes(r,t.slice(1),n.slice(1),i-1,o)}}},_processPaging:function(e,t){this._processSkips(e.data,e.skips,t),this._processTakes(e.data,e.skips,e.takes,t)},isLastLevelGroupItemsPagingLocal:function(){return!1},sortLastLevelGroupItems:function(e){return e},refresh:function(t,n){var o,a,r=this,s=r._dataSource,c=t.storeLoadOptions,h=t.group||t.storeLoadOptions.group,p=l.default.normalizeSortingInfo(r._group);function g(e,t){t.length===a+1&&(e.isExpanded=o)}for(a=0;a<p.length;a++)o=f(h,a),f(r._group,a)!==o&&r.foreachGroups(g);if(r.callBase.apply(this,arguments),h&&t.remoteOperations.paging&&n.reload)return e(r,(function(e){var n=y(s,{filter:(0,u.createGroupFilter)(e.path,{filter:c.filter,group:h}),group:h.slice(e.path.length),select:c.select}),o=y(s,{filter:(0,d.createOffsetFilter)(e.path,{filter:c.filter,group:h},!0),group:h.slice(e.path.length-1,e.path.length),select:c.select});return(0,i.when)(o,n).done((function(n,i){n=parseInt(n.length?n[0]:n),i=parseInt(i.length?i[0]:i),e.offset=n,e.count!==i&&(e.count=i,r.updateTotalItemsCount(t))}))}),!0)}}}());t.GroupingHelper=f},8748:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GroupingHelper=void 0,t.createOffsetFilter=function(e,t,n){for(var i=(0,r.normalizeSortingInfo)(t.group),o=[],a=n?e.length-1:0;a<e.length;a++){for(var l=[],u=0;u<=a;u++){var d=i[u].selector;if(a!==u||null!==e[u]&&!1!==e[u]&&!0!==e[u]){var c=[d,a===u?i[u].desc?\">\":\"<\":\"=\",e[u]];\"<\"===c[1]?l.push([c,\"or\",[d,\"=\",null]]):l.push(c)}else!1===e[u]?l.push([d,\"=\",!!i[u].desc||null]):(e[u]?!i[u].desc:i[u].desc)?l.push([d,\"<>\",e[u]]):(l.push([d,\"<>\",null]),l.push([d,\"=\",null]))}o.push(s.default.combineFilters(l))}return o=s.default.combineFilters(o,\"or\"),s.default.combineFilters([o,t.filter])};var i=l(n(38377)),o=l(n(68374)),a=n(62754),r=n(16454),s=l(n(74938));function l(e){return e&&e.__esModule?e:{default:e}}var u,d,c=i.default.inherit((u=function(e,t){var n=e.hash;return n&&n[JSON.stringify(t)]},d=function(e,t){var n,i=0,o=e.length-1;if(!e.length)return 0;do{var a=o+i>>1;e[a].offset>t?o=a:i=a}while(o-i>1);for(n=i;n<=o&&!(e[n].offset>t);n++);return n},{ctor:function(e){this._dataSource=e,this.reset()},reset:function(){this._groupsInfo=[],this._totalCountCorrection=0},totalCountCorrection:function(){return this._totalCountCorrection},updateTotalItemsCount:function(e){this._totalCountCorrection=e||0},isGroupItemCountable:function(e){return!this._isVirtualPaging()||!e.isContinuation},_isVirtualPaging:function(){var e=this._dataSource.option(\"scrolling.mode\");return\"virtual\"===e||\"infinite\"===e},itemsCount:function(){var e=this._dataSource._dataSource,t=s.default.normalizeSortingInfo(e.group()||[]).length,n=function e(t,n,i){var o=0;if(n)if(i)for(var a=0;a<n.length;a++)t.isGroupItemCountable(n[a])&&o++,o+=e(t,n[a].items,i-1);else o=n.length;return o}(this,e.items(),t);return n},foreachGroups:function(e,t,n,i,r){var s=this;return function e(t,l,u,d){var c=[];function h(e,t,n,i){var o=t&&e(t,n);return o&&i.push(o),o}for(var f=0;f<t.length;f++){if(d.push(t[f].data),!u&&!1===h(l,t[f].data,d,c))return!1;if(!t[f].data||t[f].data.isExpanded||n){var p=t[f].children,g=p.length&&e(p,l,u,d);if(g&&c.push(g),!1===g)return!1}if(u&&!1===h(l,t[f].data,d,c))return!1;t[f].data&&t[f].data.offset===t[f].offset||(i=!0),d.pop()}var m=r&&d.slice(0);return i&&a.when.apply(o.default,c).always((function(){s._updateGroupInfoOffsets(t,m)}))}(s._groupsInfo,e,t,[])},_updateGroupInfoOffsets:function(e,t){t=t||[];for(var n=0;n<e.length;n++){var i=e[n];if(i.data&&i.data.offset!==i.offset){i.offset=i.data.offset;for(var o=0;o<t.length;o++)t[o].offset=i.offset}}e.sort((function(e,t){return e.offset-t.offset}))},findGroupInfo:function(e){for(var t,n=this._groupsInfo,i=0;n&&i<e.length;i++)n=(t=u(n,e[i]))&&t.children;return t&&t.data},addGroupInfo:function(e){for(var t,n=e.path,i=this._groupsInfo,o=0;o<n.length;o++){if(!(t=u(i,n[o]))){t={key:n[o],offset:e.offset,data:{offset:e.offset,isExpanded:!0,path:n.slice(0,o+1)},children:[]};var a=d(i,e.offset);i.splice(a,0,t),i.hash=i.hash||{},i.hash[JSON.stringify(t.key)]=t}o===n.length-1&&(t.data=e,t.offset!==e.offset&&this._updateGroupInfoOffsets(i)),i=t.children}},allowCollapseAll:function(){return!0},refresh:function(e){var t=e.storeLoadOptions,n=(0,r.normalizeSortingInfo)(t.group||[]),i=\"_group\"in this?(0,r.normalizeSortingInfo)(this._group||[]):n,o=Math.min(i.length,n.length);this._group=t.group;for(var a=0;a<o;a++)if(i[a].selector!==n[a].selector){o=a;break}o?function e(t,n,i){for(var o=0;o<t.length;o++)n+1>=i?t[o].children=[]:e(t[o].children,n+1,i)}(this._groupsInfo,0,o):this.reset()},handleDataLoading:function(){},handleDataLoaded:function(e,t){t(e)},handleDataLoadedCore:function(e,t){t(e)}}));t.GroupingHelper=c},4789:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GroupingHelper=void 0;var i=n(47617),o=n(62754),a=n(13306),r=n(95479),s=f(n(96687)),l=f(n(99236)),u=n(16454),d=f(n(74938)),c=n(10087),h=n(8748);function f(e){return e&&e.__esModule?e:{default:e}}var p,g,m,_,v,y=function(e,t){var n=new o.Deferred,i=(0,a.extend)({skip:0,take:1,requireTotalCount:!0},t);return e.load(i).done((function(e,t){n.resolve(t&&t.totalCount)})).fail(n.reject.bind(n)),n},b=h.GroupingHelper.inherit((p=function(e,t,n){return e.foreachGroups((function(e){if(!e.isExpanded)return t(e)}),!1,!1,n,!0)},g=function(e,t){var n=0,i=t||0;return t&&(p(e,(function(e){if(e.offset-n>=t)return!1;n+=e.count-1})),i+=n),i},m=function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!(0,u.keysEqual)(null,e[n],t[n]))return!1;return!0},_=function e(t,n,i,o,a){if(n){for(var r=0;r<n.length;r++){var s=n[r];if(\"key\"in s&&void 0!==s.items){i.push(s.key),a&&m(a.path,i)&&!s.isContinuation&&(a.offset=o);var l=t.findGroupInfo(i);l&&!s.isContinuation&&(l.offset=o),l&&!l.isExpanded?o+=l.count:o=e(t,s.items,i,o,a),i.pop()}else o++}return o}},v=function e(t,n){var i=t.count||t.items.length;if(!t.count&&n>1){i=0;for(var o=0;o<t.items.length;o++)i+=e(t.items[o],n-1)}return i},{handleDataLoading:function(e){var t,n=e.storeLoadOptions,i=[],o=0,s=!1,u=e.loadOptions.group,c=0;if(function(e,t){if(t.group){var n=d.default.normalizeSortingInfo(t.group),i=d.default.normalizeSortingInfo(e.sort);e.sort=l.default.arrangeSortingInfo(n,i),delete t.group}}(n,e.loadOptions),e.group=e.group||u,!e.isCustomLoading){var h=(0,a.extend)({},n);h.skip=g(this,n.skip),h.skip&&h.take&&u&&(h.skip--,h.take++,s=!0),h.take&&u&&(t=h.take,h.take++),p(this,(function(e){if(e.offset>=h.skip+h.take+c)return!1;e.offset>=h.skip+c&&e.count&&(c+=e.count-1,i.push(e),o+=e.count)})),(0,r.each)(i,(function(){h.filter=function(e,t,n){for(var i=d.default.normalizeSortingInfo(n||t.group),o=[],a=0;a<e.length;a++){for(var r=[],s=0;s<=a;s++)r.push([i[s].selector,a===s?\"<>\":\"=\",e[s]]);o.push(d.default.combineFilters(r))}return o=d.default.combineFilters(o,\"or\"),d.default.combineFilters([o,t.filter])}(this.path,h,u)})),e.storeLoadOptions=h,e.collapsedGroups=i,e.collapsedItemsCount=o,e.skip=h.skip||0,e.skipFirstItem=s,e.take=t}},handleDataLoaded:function(e,t){var n=e.collapsedGroups,o=d.default.normalizeSortingInfo(e.group),a=o.length;function r(e,t,n,o,a){if(e&&t.length&&n.length){var s,l,u=(0,i.toComparable)(t[0],!0);for(l=0;l<e.length&&(s=(0,i.toComparable)(e[l].key,!0),!(a>=o.offset||u===s));l++)a+=v(e[l],n.length);e.length&&u===s||e.splice(l,0,{key:t[0],items:[],count:1===t.length?o.count:void 0}),r(e[l].items,t.slice(1),n.slice(1),o,a)}}if(e.collapsedItemsCount&&e.extra&&e.extra.totalCount>=0&&(e.extra._totalCountWasIncreasedByCollapsedItems||(e.extra.totalCount+=e.collapsedItemsCount,e.extra._totalCountWasIncreasedByCollapsedItems=!0)),t(e),a){var u=e.data,c=(0,s.default)(u);if(l.default.multiLevelGroup(c,o).enumerate().done((function(e){u=e})),n)for(var h=0;h<n.length;h++)r(u,n[h].path,o,n[h],e.skip);e.isCustomLoading||function e(t,n,i,o,a,r){for(var s=0,l=!1,u=0;u<n.length;u++){var d=n[u];if(void 0!==d.items){i.push(d.key);var c=t.findGroupInfo(i);if(c&&!c.isExpanded)d.collapsedItems=d.items,d.items=null,o+=c.count,--r<0&&s++,a&&(l=!0);else if(d.items){var h=e(t,d.items,i,o,a,r);a&&(h.offset-o>1?d.isContinuation=!0:l=!0),o=h.offset,(r=h.take)<0&&(d.items.length?d.isContinuationOnNextPage=!0:s++)}i.pop()}else a&&(l=!0),o++,--r<0&&s++;a=!1}return l&&n.splice(0,1),s&&n.splice(-s,s),{offset:o,take:r}}(this,u,[],e.skip,e.skipFirstItem,e.take),e.data=u}},isGroupItemCountable:function(e){return null===e.items},updateTotalItemsCount:function(){var e=0;p(this,(function(t){t.count&&(e-=t.count-1)})),this.callBase(e)},changeRowExpand:function(e){var t,n=this,i=n._dataSource,a=i.beginPageIndex?i.beginPageIndex():i.pageIndex(),r=i.items(),s=g(n,a*i.pageSize()),l=n.findGroupInfo(e);return t=l&&!l.isExpanded?(new o.Deferred).resolve(l.count):y(i,{filter:(0,c.createGroupFilter)(e,{filter:i.filter(),group:i.group()})}),(0,o.when)(t).done((function(t){t=parseInt(t.length?t[0]:t),l?(_(n,r,[],s),l.isExpanded=!l.isExpanded,l.count=t):(_(n,r,[],s,l={offset:-1,count:t,path:e,isExpanded:!1}),l.offset>=0&&n.addGroupInfo(l)),n.updateTotalItemsCount()})).fail((function(){i._eventsStrategy.fireEvent(\"loadError\",arguments)}))},allowCollapseAll:function(){return!1},refresh:function(e,t){var n=this,i=e.storeLoadOptions,a=n._dataSource;if(this.callBase.apply(this,arguments),t.reload)return p(n,(function(e){var t=y(a,{filter:(0,c.createGroupFilter)(e.path,i)}),r=y(a,{filter:(0,h.createOffsetFilter)(e.path,i)});return(0,o.when)(r,t).done((function(t,i){t=parseInt(t.length?t[0]:t),i=parseInt(i.length?i[0]:i),e.offset=t,e.count!==i&&(e.count=i,n.updateTotalItemsCount())}))}),!0)}}));t.GroupingHelper=b},29593:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i},a=n(47617),r=n(35922),s=n(18438),l=n(16454);function u(e,t,n,i){var o=0;if(e<t)for(;o<n.items.length;o++)u(e+1,t,n.items[o],i);e===t&&i(n)}function d(e,t){var n;if(\"map\"in e)return e.map(t);var i=new Array(e.length);for(n in e)i[n]=t(e[n],n);return i}function c(e){var t=(0,a.compileGetter)(e.selector),n=!(\"skipEmptyValues\"in e)||e.skipEmptyValues,i=e.aggregator;if(\"string\"==typeof i&&!(i=l.aggregators[i]))throw s.errors.Error(\"E4001\",e.aggregator);return{selector:t,aggregator:i,skipEmptyValues:n}}var h=o.default.inherit({ctor:function(e){this._data=e.data,this._groupLevel=e.groupLevel||0,this._totalAggregates=d(e.totalAggregates||[],c),this._groupAggregates=d(e.groupAggregates||[],c),this._totals=[]},calculate:function(){this._totalAggregates.length&&this._calculateTotals(0,{items:this._data}),this._groupAggregates.length&&this._groupLevel>0&&this._calculateGroups({items:this._data})},totalAggregates:function(){return this._totals},_aggregate:function(e,t,n){for(var i=t.items?t.items.length:0,o=0;o<e.length;o++)if(e[o].aggregator!==l.aggregators.count)for(var a=0;a<i;a++)this._accumulate(o,e[o],n,t.items[a]);else n[o]=(n[o]||0)+i},_calculateTotals:function(e,t){if(0===e&&(this._totals=this._seed(this._totalAggregates)),e===this._groupLevel)this._aggregate(this._totalAggregates,t,this._totals);else for(var n=0;n<t.items.length;n++)this._calculateTotals(e+1,t.items[n]);0===e&&(this._totals=this._finalize(this._totalAggregates,this._totals))},_calculateGroups:function(e){var t=this._groupLevel,n=t+1,i=this._seed.bind(this,this._groupAggregates),o=this._aggregate.bind(this,this._groupAggregates),a=this._finalize.bind(this,this._groupAggregates);function r(e){e.aggregates=i(n-1),n===t?o(e,e.aggregates):u(n,t,e,(function(t){o(t,e.aggregates)})),e.aggregates=a(e.aggregates)}for(;--n>0;)u(0,n,e,r)},_seed:function(e,t){return d(e,(function(e){var n=e.aggregator;return\"seed\"in n?(0,r.isFunction)(n.seed)?n.seed(t):n.seed:NaN}))},_accumulate:function(e,t,n,i){var o,a=t.selector(i),r=t.aggregator;(!t.skipEmptyValues||(o=a)==o&&\"\"!==o&&null!=o)&&(n[e]!=n[e]?n[e]=a:n[e]=r.step(n[e],a))},_finalize:function(e,t){return d(e,(function(e,n){var i=e.aggregator.finalize;return i?i(t[n]):t[n]}))}});t.default=h},96291:function(e,t,n){var i,o=n(13306),a=n(10279);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"columns\",{defaultOptions:function(){return(0,o.extend)(!0,{},a.columnsControllerModule.defaultOptions(),{commonColumnSettings:{allowExporting:!0}})},controllers:a.columnsControllerModule.controllers})},74938:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=a(n(15943)),o=a(n(60082));function a(e){return e&&e.__esModule?e:{default:e}}function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var s=r(r(r({},i.default),o.default),{modules:[]});t.default=s},3263:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DataController=void 0;var i,o,a=u(n(96688)),r=n(72119),s=u(n(74938)),l=u(n(49975));function u(e){return e&&e.__esModule?e:{default:e}}var d=null===(o=null===(i=r.dataControllerModule.controllers)||void 0===i?void 0:i.data)||void 0===o?void 0:o.inherit({_getDataSourceAdapter:function(){return l.default},_getSpecificDataSourceOption:function(){var e=this.option(\"dataSource\");return e&&!Array.isArray(e)&&this.option(\"keyExpr\")&&a.default.log(\"W1011\"),this.callBase()}});t.DataController=d,s.default.registerModule(\"data\",{defaultOptions:r.dataControllerModule.defaultOptions,controllers:{data:d}})},49975:function(e,t,n){var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=((i=n(30945))&&i.__esModule?i:{default:i}).default,a={extend:function(e){o=o.inherit(e)},create:function(e){return new o(e)}};t.default=a},26949:function(e,t,n){n(98125);var i,o=n(13306),a=n(22324);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"editing\",(0,o.extend)(!0,{},a.editingModule,{extenders:{controllers:{data:{_changeRowExpandCore:function(e){var t=this._editingController;return Array.isArray(e)&&t&&t.refresh(),this.callBase.apply(this,arguments)}}}}}))},10087:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createGroupFilter=function(e,t){for(var n=(0,o.normalizeSortingInfo)(t.group),i=[],r=0;r<e.length;r++)i.push([n[r].selector,\"=\",e[r]]);t.filter&&i.push(t.filter);return a.default.combineFilters(i)};var i,o=n(16454),a=(i=n(60082))&&i.__esModule?i:{default:i}},10590:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(26196))&&i.__esModule?i:{default:i};n(97847),n(86006),n(17663),n(72487),n(48190),n(26949),n(42267),n(94585),n(82831),n(41430),n(98726),n(34622),n(42595),n(66551),n(69566),n(76568),n(20015),n(70608),n(53489),n(28294),n(15180),n(68339),n(26098),n(12470),n(48252),n(56445),n(445);var a=o.default;t.default=a},26196:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,n(90130),n(96291),n(3263),n(10792),n(86226),n(74043),n(46950),n(24734),n(63350);var i=g(n(99393)),o=g(n(68374)),a=g(n(47810)),r=n(20576),s=n(30869),l=n(13306),u=n(95479),d=n(35922),c=n(75811),h=g(n(14390)),f=g(n(60082)),p=g(n(74938));function g(e){return e&&e.__esModule?e:{default:e}}p.default.registerModulesOrder([\"stateStoring\",\"columns\",\"selection\",\"editorFactory\",\"columnChooser\",\"grouping\",\"editing\",\"editingRowBased\",\"editingFormBased\",\"editingCellBased\",\"masterDetail\",\"validating\",\"adaptivity\",\"data\",\"virtualScrolling\",\"columnHeaders\",\"filterRow\",\"headerPanel\",\"headerFilter\",\"sorting\",\"search\",\"rows\",\"pager\",\"columnsResizingReordering\",\"contextMenu\",\"keyboardNavigation\",\"errorHandling\",\"summary\",\"columnFixing\",\"export\",\"gridView\"]);var m=h.default.inherit({_activeStateUnit:\".dx-row\",_getDefaultOptions:function(){var e=this.callBase();return(0,u.each)(p.default.modules,(function(){(0,d.isFunction)(this.defaultOptions)&&(0,l.extend)(!0,e,this.defaultOptions())})),e},_setDeprecatedOptions:function(){this.callBase(),(0,l.extend)(this._deprecatedOptions,{useKeyboard:{since:\"19.2\",alias:\"keyboardNavigation.enabled\"},rowTemplate:{since:\"21.2\",message:'Use the \"dataRowTemplate\" option instead'},\"columnChooser.allowSearch\":{since:\"23.1\",message:'Use the \"columnChooser.search.enabled\" option instead'},\"columnChooser.searchTimeout\":{since:\"23.1\",message:'Use the \"columnChooser.search.timeout\" option instead'}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"ios\"},options:{showRowLines:!0}},{device:function(){return(0,c.isMaterial)()},options:{showRowLines:!0,showColumnLines:!1,headerFilter:{height:315},editing:{useIcons:!0},selection:{showCheckBoxesMode:\"always\"}}},{device:function(){return a.default.webkit},options:{loadingTimeout:30,loadPanel:{animation:{show:{easing:\"cubic-bezier(1, 0, 1, 0)\",duration:500,from:{opacity:0},to:{opacity:1}}}}}},{device:function(e){return\"desktop\"!==e.deviceType},options:{grouping:{expandMode:\"rowClick\"}}}])},_init:function(){this.callBase(),f.default.logHeaderFilterDeprecatedWarningIfNeed(this),p.default.processModules(this,p.default),p.default.callModuleItemsMethod(this,\"init\")},_clean:r.noop,_optionChanged:function(e){p.default.callModuleItemsMethod(this,\"optionChanged\",[e]),e.handled||this.callBase(e)},_dimensionChanged:function(){this.updateDimensions(!0)},_visibilityChanged:function(e){e&&this.updateDimensions()},_initMarkup:function(){this.callBase.apply(this,arguments),this.getView(\"gridView\").render(this.$element())},_renderContentImpl:function(){this.getView(\"gridView\").update()},_renderContent:function(){var e=this;(0,r.deferRender)((function(){e._renderContentImpl()}))},_getTemplate:function(e){var t=e;return(0,d.isString)(t)&&t.startsWith(\"#\")&&(t=(0,o.default)(e),s.logger.warn(\"Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead.\")),this.callBase(t)},_dispose:function(){this.callBase(),p.default.callModuleItemsMethod(this,\"dispose\")},isReady:function(){return this.getController(\"data\").isReady()},beginUpdate:function(){this.callBase(),p.default.callModuleItemsMethod(this,\"beginUpdate\")},endUpdate:function(){p.default.callModuleItemsMethod(this,\"endUpdate\"),this.callBase()},getController:function(e){return this._controllers[e]},getView:function(e){return this._views[e]},focus:function(e){this.getController(\"keyboardNavigation\").focus(e)}});m.registerModule=p.default.registerModule.bind(p.default),(0,i.default)(\"dxDataGrid\",m);var _=m;t.default=_},26098:function(e,t,n){var i,o=n(18107);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"adaptivity\",o.adaptivityModule)},17663:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColumnChooserView=t.ColumnChooserController=void 0;var i,o=n(71184),a=(i=n(74938))&&i.__esModule?i:{default:i};var r=o.columnChooserModule.controllers.columnChooser;t.ColumnChooserController=r;var s=o.columnChooserModule.views.columnChooserView;t.ColumnChooserView=s,a.default.registerModule(\"columnChooser\",o.columnChooserModule)},68339:function(e,t,n){var i,o=n(53424);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"columnFixing\",o.columnFixingModule)},90130:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColumnHeadersView=void 0;var i,o=n(14509),a=(i=n(74938))&&i.__esModule?i:{default:i};var r=o.columnHeadersModule.views.columnHeadersView;t.ColumnHeadersView=r,a.default.registerModule(\"columnHeaders\",o.columnHeadersModule)},53489:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TrackerView=t.TablePositionViewController=t.DraggingHeaderViewController=t.DraggingHeaderView=t.ColumnsSeparatorView=t.ColumnsResizerViewController=void 0;var i,o=n(49505),a=(i=n(74938))&&i.__esModule?i:{default:i};var r=o.columnsResizingReorderingModule.views.draggingHeaderView;t.DraggingHeaderView=r;var s=o.columnsResizingReorderingModule.controllers.draggingHeader;t.DraggingHeaderViewController=s;var l=o.columnsResizingReorderingModule.views.columnsSeparatorView;t.ColumnsSeparatorView=l;var u=o.columnsResizingReorderingModule.controllers.tablePosition;t.TablePositionViewController=u;var d=o.columnsResizingReorderingModule.controllers.columnsResizer;t.ColumnsResizerViewController=d;var c=o.columnsResizingReorderingModule.views.trackerView;t.TrackerView=c,a.default.registerModule(\"columnsResizingReordering\",o.columnsResizingReorderingModule)},74043:function(e,t,n){var i,o=n(69823);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"contextMenu\",o.contextMenuModule)},82831:function(e,t,n){var i,o=n(68802);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"editingCellBased\",o.editingCellBasedModule)},94585:function(e,t,n){var i,o=n(99211);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"editingFormBased\",o.editingFormBasedModule)},42267:function(e,t,n){var i,o=n(55597);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"editingRowBased\",o.editingRowBasedModule)},98125:function(e,t,n){var i,o=n(80070);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"editorFactory\",o.editorFactoryModule)},46950:function(e,t,n){var i,o=n(31152);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"errorHandling\",o.errorHandlingModule)},69566:function(e,t,n){var i,o=n(62690);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"filterBuilder\",o.filterBuilderModule)},76568:function(e,t,n){var i,o=n(4062);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"filterPanel\",o.filterPanelModule)},34622:function(e,t,n){var i,o=n(12302);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"filterRow\",o.filterRowModule)},66551:function(e,t,n){var i,o=n(14407);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"filterSync\",o.filterSyncModule)},24734:function(e,t,n){var i,o=n(28016);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"gridView\",o.gridViewModule)},42595:function(e,t,n){var i,o=n(68796);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"headerFilter\",o.headerFilterModule)},63350:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.HeaderPanel=void 0;var i,o=n(92468),a=(i=n(74938))&&i.__esModule?i:{default:i};var r=o.headerPanelModule.views.headerPanel;t.HeaderPanel=r,a.default.registerModule(\"headerPanel\",o.headerPanelModule)},28294:function(e,t,n){var i,o=n(31822);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"keyboardNavigation\",o.keyboardNavigationModule)},48190:function(e,t,n){var i,o=n(82802);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"masterDetail\",o.masterDetailModule)},70608:function(e,t,n){var i,o=n(3990);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"pager\",o.pagerModule)},445:function(e,t,n){var i,o=n(88351);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"rowDragging\",o.rowDraggingModule)},86226:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.RowsView=void 0;var i,o=n(35095),a=(i=n(74938))&&i.__esModule?i:{default:i};var r=o.rowsModule.views.rowsView;t.RowsView=r,a.default.registerModule(\"rows\",o.rowsModule)},20015:function(e,t,n){var i,o=n(92021);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"search\",o.searchModule)},86006:function(e,t,n){var i,o=n(17969);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"selection\",o.selectionModule)},10792:function(e,t,n){var i,o=n(11590);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"sorting\",o.sortingModule)},97847:function(e,t,n){var i,o=n(12440);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"stateStoring\",o.stateStoringModule)},41430:function(e,t,n){var i,o=n(39830);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"validating\",o.validatingModule)},12470:function(e,t,n){var i,o=n(87482);((i=n(74938))&&i.__esModule?i:{default:i}).default.registerModule(\"virtualColumns\",o.virtualColumnsModule)},98726:function(e,t,n){var i=n(92018),o=r(n(74938)),a=r(n(49975));function r(e){return e&&e.__esModule?e:{default:e}}o.default.registerModule(\"virtualScrolling\",i.virtualScrollingModule),a.default.extend(i.virtualScrollingModule.extenders.dataSourceAdapter)},15180:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.renderSummaryCell=t.FooterView=void 0;var i=v(n(68374)),o=n(20576),a=n(47617),r=n(13306),s=n(95479),l=n(35922),u=v(n(96687)),d=v(n(99236)),c=n(16454),h=v(n(28109)),f=v(n(96688)),p=n(57318),g=v(n(29593)),m=v(n(74938)),_=v(n(49975));function v(e){return e&&e.__esModule?e:{default:e}}var y=function(e,t){var n=(0,i.default)(e),o=t.column,a=t.summaryItems,r=[];if(!o.command&&a){for(var s=0;s<a.length;s++){var l=a[s];r.push((0,i.default)(\"<div>\").css(\"textAlign\",l.alignment||o.alignment).addClass(\"dx-datagrid-summary-item\").addClass(\"dx-datagrid-text-content\").addClass(l.cssClass).toggleClass(\"dx-datagrid-group-text-content\",\"group\"===t.rowType).text(m.default.getSummaryText(l,t.summaryTexts)))}n.append(r)}};t.renderSummaryCell=y;var b=function(e,t){var n=e.option(\"summary.texts\")||{};return{totalItem:t.row,summaryItems:t.row.summaryCells[t.columnIndex],summaryTexts:n}},x=function(e){return e.summary||e.aggregates||[]},w=function(e){return e.option(\"summary.recalculateWhileEditing\")},C=p.ColumnsView.inherit({_getRows:function(){return this._dataController.footerItems()},_getCellOptions:function(e){return(0,r.extend)(this.callBase(e),b(this,e))},_renderCellContent:function(e,t){y(e,t),this.callBase.apply(this,arguments)},_renderCore:function(e){var t=!1,n=this._dataController.footerItems()[0];e&&e.columnIndices||(this.element().empty().addClass(\"dx-datagrid-total-footer\").toggleClass(\"dx-datagrid-nowrap\",!this.option(\"wordWrapEnabled\")),t=!0),n&&n.summaryCells&&n.summaryCells.length&&(this._updateContent(this._renderTable({change:e}),e),t&&this._updateScrollLeftPosition())},_updateContent:function(e,t){var n=this;return t&&\"update\"===t.changeType&&t.columnIndices?this.waitAsyncTemplates().done((function(){var i=n.getTableElement().find(\".dx-row\"),o=e.find(\".dx-row\");n._updateCells(i,o,t.columnIndices[0])})):this.callBase.apply(this,arguments)},_rowClick:function(e){var t=this._dataController.footerItems()[e.rowIndex]||{};this.executeAction(\"onRowClick\",(0,r.extend)({},e,t))},_columnOptionChanged:function(e){var t=e.optionNames;e.changeTypes.grouping||(t.width||t.visibleWidth)&&this.callBase(e)},_handleDataChanged:function(e){var t=e.changeType;\"update\"===e.changeType&&e.repaintChangesOnly?e.totalColumnIndices?e.totalColumnIndices.length&&this.render(null,{changeType:\"update\",columnIndices:[e.totalColumnIndices]}):this.render():\"refresh\"!==t&&\"append\"!==t&&\"prepend\"!==t||this.render()},_createRow:function(e){var t=this.callBase.apply(this,arguments);return\"totalFooter\"===e.rowType&&t.addClass(\"dx-footer-row\"),t},getHeight:function(){return this.getElementHeight()},isVisible:function(){return!!this._dataController.footerItems().length}});t.FooterView=C;var S,k,D={init:function(){this.callBase.apply(this,arguments),this._totalAggregates=[],this._summaryGetter=o.noop},summaryGetter:function(e){if(!arguments.length)return this._summaryGetter;(0,l.isFunction)(e)&&(this._summaryGetter=e)},summary:function(e){if(!arguments.length)return this._summaryGetter();this._summaryGetter=function(){return e}},totalAggregates:function(){return this._totalAggregates},isLastLevelGroupItemsPagingLocal:function(){var e=this.summary(),t=e&&e.sortByGroups();return t&&t.length},sortLastLevelGroupItems:function(e,t,n){var i=d.default.multiLevelGroup((0,u.default)(e),t).toArray(),o=[];return n.forEach((function(e){!function e(t,n,i,o){o=o||[];for(var a=0;a<t.length;a++)o.push(t[a].key),1===n?i(o,t[a].items):e(t[a].items,n-1,i,o),o.pop()}(i,t.length,(function(t,n){e.toString()===t.toString()&&(o=o.concat(n))}))})),o}},I=(S=function(e,t,n,i){var o;if(w(e)){var a=e.getController(\"editing\");if(a){var s=a.getInsertedData();s.length&&(n=function e(t,n,i){return i?e(t,n.map((function(e){return{items:[e]}}),i-1)):t.concat(n)}(n,s,i));var l=a.getRemovedData();l.length&&(n=function e(t,n,i){return i?t.map((function(t){var o={},a=e(t.items||[],n,i-1);return Object.defineProperty(o,\"aggregates\",{get:function(){return t.aggregates},set:function(e){t.aggregates=e}}),(0,r.extend)(o,t,{items:a})})):t.filter((function(e){return n.indexOf(e)<0}))}(n,l,i))}}return t&&(o=new g.default({totalAggregates:t.totalAggregates,groupAggregates:t.groupAggregates,data:n,groupLevel:i})).calculate(),o?o.totalAggregates():[]},k=function(e,t,n){var i=n&&n.sortByGroups&&n.sortByGroups();return i&&i.length?function e(t,n,i){if(!t||!n.length)return t;var o,a=n[0],r=i[0];return a&&r&&r.length&&(o=(0,u.default)(t),(0,s.each)(r,(function(e){o=0===e?o.sortBy(this.selector,this.desc):o.thenBy(this.selector,this.desc)})),o.enumerate().done((function(e){t=e}))),n=n.slice(1),i=i.slice(1),n.length&&i.length&&(0,s.each)(t,(function(){this.items=e(this.items,n,i)})),t}(e,t,i):e},{_customizeRemoteOperations:function(e){var t=this.summary();t&&(e.remoteOperations.summary?e.isCustomLoading&&!e.storeLoadOptions.isLoadingAll||(e.storeLoadOptions.group&&(e.remoteOperations.grouping?e.storeLoadOptions.groupSummary=t.groupAggregates:t.groupAggregates.length&&(e.remoteOperations.paging=!1)),e.storeLoadOptions.totalSummary=t.totalAggregates):(t.totalAggregates.length||t.groupAggregates.length&&e.storeLoadOptions.group)&&(e.remoteOperations.paging=!1)),this.callBase.apply(this,arguments);var n=e.cachedData.extra;n&&n.summary&&!e.isCustomLoading&&(e.storeLoadOptions.totalSummary=void 0)},_handleDataLoadedCore:function(e){var t,n,i=(0,c.normalizeSortingInfo)(e.storeLoadOptions.group||e.loadOptions.group||[]),o=e.remoteOperations||{},a=this.summaryGetter()(o);if(!e.isCustomLoading||e.storeLoadOptions.isLoadingAll)if(o.summary)!o.paging&&i.length&&a&&(o.grouping||S(this,{groupAggregates:a.groupAggregates},e.data,i.length),e.data=k(e.data,i,a));else if(!o.paging&&a){var r=e.operationTypes||{};if(!Object.keys(r).some((function(e){return r[e]}))||!(null===(n=null===(t=e.cachedData)||void 0===t?void 0:t.extra)||void 0===n?void 0:n.summary)||i.length&&a.groupAggregates.length){var s=S(this,a,e.data,i.length);e.extra=(0,l.isPlainObject)(e.extra)?e.extra:{},e.extra.summary=s,e.cachedData&&(e.cachedData.extra=e.extra)}e.data=k(e.data,i,a)}e.isCustomLoading||(this._totalAggregates=e.extra&&e.extra.summary||this._totalAggregates),this.callBase(e)}});_.default.extend(D),_.default.extend(I),m.default.registerModule(\"summary\",{defaultOptions:function(){return{summary:{groupItems:void 0,totalItems:void 0,calculateCustomSummary:void 0,skipEmptyValues:!0,recalculateWhileEditing:!1,texts:{sum:h.default.format(\"dxDataGrid-summarySum\"),sumOtherColumn:h.default.format(\"dxDataGrid-summarySumOtherColumn\"),min:h.default.format(\"dxDataGrid-summaryMin\"),minOtherColumn:h.default.format(\"dxDataGrid-summaryMinOtherColumn\"),max:h.default.format(\"dxDataGrid-summaryMax\"),maxOtherColumn:h.default.format(\"dxDataGrid-summaryMaxOtherColumn\"),avg:h.default.format(\"dxDataGrid-summaryAvg\"),avgOtherColumn:h.default.format(\"dxDataGrid-summaryAvgOtherColumn\"),count:h.default.format(\"dxDataGrid-summaryCount\")}},sortByGroupSummaryInfo:void 0}},views:{footerView:C},extenders:{controllers:{data:{_isDataColumn:function(e){return e&&(!(0,l.isDefined)(e.groupIndex)||e.showWhenGrouped)},_isGroupFooterVisible:function(){for(var e=this.option(\"summary.groupItems\")||[],t=0;t<e.length;t++){var n=e[t],i=this._columnsController.columnOption(n.showInColumn||n.column);if(n.showInGroupFooter&&this._isDataColumn(i))return!0}return!1},_processGroupItems:function(e,t,n){var i=n&&n.data,o=this.callBase.apply(this,arguments);return n&&(void 0===n.isGroupFooterVisible&&(n.isGroupFooterVisible=this._isGroupFooterVisible()),i&&i.items&&n.isGroupFooterVisible&&(n.collectContinuationItems||!i.isContinuationOnNextPage)&&o.push({rowType:\"groupFooter\",key:n.path.slice(),data:i,groupIndex:n.path.length-1,values:[]})),o},_processGroupItem:function(e,t){var n=this;if(t.summaryGroupItems||(t.summaryGroupItems=n.option(\"summary.groupItems\")||[]),\"group\"===e.rowType){var i=-1,o=-1;(0,s.each)(t.visibleColumns,(function(n){var a=t.visibleColumns[n-1];e.groupIndex===this.groupIndex&&(i=this.index),n>0&&\"expand\"===a.command&&\"expand\"!==this.command&&(o=this.index)})),e.summaryCells=this._calculateSummaryCells(t.summaryGroupItems,x(e.data),t.visibleColumns,(function(e,t){return e.showInGroupFooter?-1:e.alignByColumn&&t&&!(0,l.isDefined)(t.groupIndex)&&t.index!==o?t.index:i}),!0)}return\"groupFooter\"===e.rowType&&(e.summaryCells=this._calculateSummaryCells(t.summaryGroupItems,x(e.data),t.visibleColumns,(function(e,t){return e.showInGroupFooter&&n._isDataColumn(t)?t.index:-1}))),e},_calculateSummaryCells:function(e,t,n,i,o){var a=this,u=[],d={};return(0,s.each)(e,(function(e,n){var o=a._columnsController.columnOption(n.column),s=n.showInColumn&&a._columnsController.columnOption(n.showInColumn)||o,u=i(n,s);if(u>=0){d[u]||(d[u]=[]);var c,h=t[e];h==h&&((0,l.isDefined)(n.valueFormat)?c=n.valueFormat:\"count\"!==n.summaryType&&(c=m.default.getFormatByDataType(o&&o.dataType)),d[u].push((0,r.extend)({},n,{value:(0,l.isString)(h)&&o&&o.deserializeValue?o.deserializeValue(h):h,valueFormat:c,columnCaption:o&&o.index!==u?o.caption:void 0})))}})),(0,l.isEmptyObject)(d)||n.forEach((function(e,t){var i=n[t-1],a=!o||\"expand\"!==(null==i?void 0:i.command)&&\"expand\"!==e.command?e.index:null==i?void 0:i.index;u.push(d[a]||[])})),u},_getSummaryCells:function(e,t){var n=this,i=n._columnsController;return n._calculateSummaryCells(e,t,i.getVisibleColumns(),(function(e,t){return n._isDataColumn(t)?t.index:-1}))},_updateItemsCore:function(e){var t,n=this._dataSource,i=this._footerItems,o=i&&i[0]&&i[0].summaryCells,a=this.option(\"summary.totalItems\");if(this._footerItems=[],n&&a&&a.length){var r=n.totalAggregates();t=this._getSummaryCells(a,r),e&&e.repaintChangesOnly&&o&&(e.totalColumnIndices=t.map((function(e,t){return JSON.stringify(e)!==JSON.stringify(o[t])?t:-1})).filter((function(e){return e>=0}))),t.length&&this._footerItems.push({rowType:\"totalFooter\",summaryCells:t})}this.callBase(e)},_prepareUnsavedDataSelector:function(e){if(w(this)){var t=this.getController(\"editing\");if(t)return function(n){return n=t.getUpdatedData(n),e(n)}}return e},_prepareAggregateSelector:function(e,t){return e=this._prepareUnsavedDataSelector(e),\"avg\"===t||\"sum\"===t?function(t){var n=e(t);return(0,l.isDefined)(n)?Number(n):n}:e},_getAggregates:function(e,t){var n=this,i=n.getController(\"columns\"),o=n.option(\"summary.calculateCustomSummary\"),r=n.option(\"summary.skipEmptyValues\");return(0,s.map)(e||[],(function(e){var s=i.columnOption(e.column),u=s&&s.calculateCellValue?s.calculateCellValue.bind(s):(0,a.compileGetter)(s?s.dataField:e.column),d=e.summaryType||\"count\",c=(0,l.isDefined)(e.skipEmptyValues)?e.skipEmptyValues:r;if(t)return{selector:e.column,summaryType:d};var h=n._prepareAggregateSelector(u,d);if(\"custom\"===d){o||(f.default.log(\"E1026\"),o=function(){});var p={component:n.component,name:e.name};o(p),p.summaryProcess=\"calculate\",d={seed:function(e){return p.summaryProcess=\"start\",p.totalValue=void 0,p.groupIndex=e,delete p.value,o(p),p.totalValue},step:function(e,t){return p.summaryProcess=\"calculate\",p.totalValue=e,p.value=t,o(p),p.totalValue},finalize:function(e){return p.summaryProcess=\"finalize\",p.totalValue=e,delete p.value,o(p),p.totalValue}}}return{selector:h,aggregator:d,skipEmptyValues:c}}))},_addSortInfo:function(e,t,n,i){if(t){var o=t.groupIndex;i=i||t.sortOrder,(0,l.isDefined)(o)&&(e[o]=e[o]||[],e[o].push({selector:n,desc:\"desc\"===i}))}},_findSummaryItem:function(e,t){var n=-1;return(0,l.isDefined)(t)&&(0,s.each)(e||[],(function(e){if(this.name===t||e===t||this.summaryType===t||this.column===t||(o=(i=this).summaryType,a=i.column,(o&&a&&\"\".concat(o,\"_\").concat(a))===t))return n=e,!1;var i,o,a})),n},_getSummarySortByGroups:function(e,t){var n=this,i=n._columnsController,o=i.getGroupColumns(),a=[];if(t&&t.length)return(0,s.each)(e||[],(function(){var e=this.sortOrder,r=this.groupColumn,u=n._findSummaryItem(t,this.summaryItem);if(!(u<0)){var d=function(e){return x(e)[u]};(0,l.isDefined)(r)?(r=i.columnOption(r),n._addSortInfo(a,r,d,e)):(0,s.each)(o,(function(t,i){n._addSortInfo(a,i,d,e)}))}})),a},_createDataSourceAdapterCore:function(e,t){var n=this,i=this.callBase(e,t);return i.summaryGetter((function(e){return n._getSummaryOptions(e||t)})),i},_getSummaryOptions:function(e){var t=this,n=t.option(\"summary.groupItems\"),i=t.option(\"summary.totalItems\"),o=t.option(\"sortByGroupSummaryInfo\"),a=t._getAggregates(n,e&&e.grouping&&e.summary),r=t._getAggregates(i,e&&e.summary);if(a.length||r.length)return{groupAggregates:a,totalAggregates:r,sortByGroups:function(){return t._getSummarySortByGroups(o,n)}}},publicMethods:function(){var e=this.callBase();return e.push(\"getTotalSummaryValue\"),e},getTotalSummaryValue:function(e){var t=this._findSummaryItem(this.option(\"summary.totalItems\"),e),n=this._dataSource.totalAggregates();if(n.length&&t>-1)return n[t]},optionChanged:function(e){\"summary\"!==e.name&&\"sortByGroupSummaryInfo\"!==e.name||(e.name=\"dataSource\"),this.callBase(e)},init:function(){this._footerItems=[],this.callBase()},footerItems:function(){return this._footerItems}},editing:{_refreshSummary:function(){w(this)&&!this.isSaving()&&this._dataController.refresh({load:!0,changesOnly:!0})},_addChange:function(e){var t=this.callBase.apply(this,arguments);return e.type&&this._refreshSummary(),t},_removeChange:function(){var e=this.callBase.apply(this,arguments);return this._refreshSummary(),e},cancelEditData:function(){var e=this.callBase.apply(this,arguments);return this._refreshSummary(),e}}},views:{rowsView:{_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&t.addClass(\"groupFooter\"===e.rowType?\"dx-datagrid-group-footer\":\"\"),t},_renderCells:function(e,t){this.callBase.apply(this,arguments),\"group\"===t.row.rowType&&t.row.summaryCells&&t.row.summaryCells.length&&this._renderGroupSummaryCells(e,t)},_hasAlignByColumnSummaryItems:function(e,t){return!(0,l.isDefined)(t.columns[e].groupIndex)&&t.row.summaryCells[e].length},_getAlignByColumnCellCount:function(e,t){for(var n=0,i=1;i<e;i++){var o=t.row.summaryCells.length-i;n=this._hasAlignByColumnSummaryItems(o,t)?i:n}return n},_renderGroupSummaryCells:function(e,t){var n=e.children().last(),i=Number(n.attr(\"colSpan\"))||1,o=this._getAlignByColumnCellCount(i,t);this._renderGroupSummaryCellsCore(n,t,i,o)},_renderGroupSummaryCellsCore:function(e,t,n,i){if(i>0){e.attr(\"colSpan\",n-i);for(var o=0;o<i;o++){var a=t.columns.length-i+o;this._renderCell(e.parent(),(0,r.extend)({column:t.columns[a],columnIndex:this._getSummaryCellIndex(a,t.columns)},t))}}},_getSummaryCellIndex:function(e){return e},_getCellTemplate:function(e){return!e.column.command&&!(0,l.isDefined)(e.column.groupIndex)&&e.summaryItems&&e.summaryItems.length?y:this.callBase(e)},_getCellOptions:function(e){var t=this.callBase(e);return e.row.summaryCells?(0,r.extend)(t,b(this,e)):t}}}}})},18107:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.adaptivityModule=void 0;var i=b(n(73176)),o=b(n(68374)),a=n(20576),r=n(62754),s=n(3532),l=n(13306),u=n(95479),d=n(58664),c=n(35922),h=n(95429),f=b(n(55994)),p=n(39611),g=b(n(28109)),m=b(n(17737)),_=n(75811),v=b(n(15943)),y=b(n(60082));function b(e){return e&&e.__esModule?e:{default:e}}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var w=[\"columnHeadersView\",\"rowsView\",\"footerView\"];function C(e,t){return e._columnsController.getColumnId(t)}function S(e,t){var n,i=(0,o.default)(e),a=t.component.getController(\"adaptiveColumns\");\"data\"===t.rowType?(n=(0,o.default)(\"<span>\").addClass(a.addWidgetPrefix(\"adaptive-more\")),f.default.on(n,(0,p.addNamespace)(h.name,\"dxDataGridAdaptivity\"),a.createAction((function(){a.toggleExpandAdaptiveDetailRow(t.key)}))),n.appendTo(i)):y.default.setEmptyText(i)}function k(e){var t,n=null===(t=e.data)||void 0===t?void 0:t.$nextCell;f.default.off(n,\"focus\",k),f.default.trigger(n,\"dxclick\")}var D={_isRowEditMode:function(){return\"row\"===this._getEditMode()},_isItemModified:function(e,t){var n=this._columnsController.getVisibleIndex(e.column.index),i=this._dataController.getRowIndexByKey(t.key),o=this._dataController.items()[i+1];return o&&o.modifiedValues&&(0,c.isDefined)(o.modifiedValues[n])},_renderFormViewTemplate:function(e,t,n){var i=this,o=e.column,a=i.createAction((function(){i._editingController.isEditing()&&f.default.trigger(n,h.name)})),r=t.row.data,u=o.calculateCellValue(r),d=y.default.getDisplayValue(o,u,r,t.rowType),p=y.default.formatValue(d,o),g=this._editingController.isCellOrBatchEditMode(),m=i._rowsView;if(o.allowEditing&&i.getController(\"keyboardNavigation\").isKeyboardEnabled()&&(n.attr(\"tabIndex\",i.option(\"tabIndex\")),g&&(f.default.off(n,\"focus\",a),f.default.on(n,\"focus\",a))),o.cellTemplate){var _=(0,l.extend)({},t,{value:u,displayValue:d,text:p,column:o});m.renderTemplate(n,o.cellTemplate,_,(0,s.isElementInDom)(n)).done((function(){m._cellPrepared(n,t)}))}else{var v=n.get(0);o.encodeHtml?v.textContent=p:v.innerHTML=p,n.addClass(\"dx-adaptive-item-text\"),(0,c.isDefined)(p)&&\"\"!==p||n.html(\"&nbsp;\"),i._isRowEditMode()||i._isItemModified(e,t)&&n.addClass(\"dx-item-modified\"),m._cellPrepared(n,t)}},_getTemplate:function(e,t){var n=this,i=e.column,a=this.getController(\"editing\");return function(r,s){var u=(0,o.default)(s),d=n._columnsController.getVisibleIndex(i.index),c=(0,l.extend)({},t),h=function(){var o=n._isItemEdited(e);c.value=t.row.values[d],o||i.showEditorAlways?a.renderFormEditorTemplate(c,e,r,u,!o):(c.column=i,c.columnIndex=d,n._renderFormViewTemplate(e,c,u))};h(),c.watch&&c.watch((function(){return{isItemEdited:n._isItemEdited(e),value:t.row.values[d]}}),(function(){u.contents().remove(),u.removeClass(\"dx-adaptive-item-text\"),h()}))}},_isVisibleColumnsValid:function(e){return!(e<2)&&!(e.length-function(){for(var t=0,n=0;n<e.length;n++){e[n].command&&t++}return t}()<=1)},_calculatePercentWidths:function(e,t){var n=this,i=0;return t.forEach((function(t,o){\"adaptiveHidden\"!==e[o]&&(i+=n._getItemPercentWidth(t))})),i},_isPercentWidth:function(e){return(0,c.isString)(e)&&e.endsWith(\"%\")},_isColumnHidden:function(e){return this._hiddenColumns.filter((function(t){return t.index===e.index})).length>0},_getAverageColumnsWidth:function(e,t,n){var i=this,o=0,a=0;return t.forEach((function(r){if(!i._isColumnHidden(r)){var s=r.width;(0,c.isDefined)(s)&&!isNaN(parseFloat(s))?o+=i._isPercentWidth(s)?i._calculatePercentWidth({visibleIndex:r.visibleIndex,columnsCount:t.length,columnsCanFit:n,bestFitWidth:r.bestFitWidth,columnWidth:s,containerWidth:e}):parseFloat(s):a++}})),(e-o)/a},_calculateColumnWidth:function(e,t,n,i){var o,a=C(this,e),r=this._columnsController.columnOption(a,\"width\"),s=this._columnsController.columnOption(a,\"bestFitWidth\"),l=n.length;if(r&&\"auto\"!==r){if(!this._isPercentWidth(r))return parseFloat(r);o=this._calculatePercentWidth({visibleIndex:e.visibleIndex,columnsCount:l,columnsCanFit:i,bestFitWidth:s,columnWidth:r,containerWidth:t})}else{o=this.option(\"columnAutoWidth\")||e.command?s:this._getAverageColumnsWidth(t,n,i)}return o},_calculatePercentWidth:function(e){var t=e.visibleIndex<e.columnsCount-1&&e.columnsCanFit,n=e.containerWidth*parseFloat(e.columnWidth)/100,i=e.columnsCanFit&&n<e.bestFitWidth?e.bestFitWidth:n;return t?e.containerWidth*parseFloat(e.columnWidth)/100:i},_getNotTruncatedColumnWidth:function(e,t,n,i){var o=C(this,e),a=this._columnsController.columnOption(o,\"width\"),r=this._columnsController.columnOption(o,\"bestFitWidth\");if(a&&\"auto\"!==a&&!this._isPercentWidth(a))return parseFloat(a);var s=this._calculateColumnWidth(e,t,n,i);return s<r?null:s},_getItemPercentWidth:function(e){var t=0;return e.width&&this._isPercentWidth(e.width)&&(t=parseFloat(e.width)),t},_getCommandColumnsWidth:function(){var e=this,t=e._columnsController.getVisibleColumns(),n=0;return(0,u.each)(t,(function(t,i){(i.index<0||i.command)&&(n+=e._columnsController.columnOption(C(e,i),\"bestFitWidth\")||0)})),n},_isItemEdited:function(e){if(this.isFormOrPopupEditMode())return!1;if(!this._isRowEditMode()){var t=this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey())+1,n=this._columnsController.getVisibleIndex(e.column.index);return this._editingController.isEditCell(t,n)}var i=this.option(\"editing.editRowKey\");return!!(0,a.equalByValue)(i,this._dataController.adaptiveExpandedKey())||void 0},_getFormItemsByHiddenColumns:function(e){var t=[];return(0,u.each)(e,(function(e,n){t.push({column:n,name:n.name,dataField:n.dataField,visibleIndex:n.visibleIndex})})),t},_getAdaptiveColumnVisibleIndex:function(e){for(var t=0;t<e.length;t++){if(\"adaptive\"===e[t].command)return t}},_hideAdaptiveColumn:function(e,t){var n=this._getAdaptiveColumnVisibleIndex(t);(0,c.isDefined)(n)&&(e[n]=\"adaptiveHidden\",this._hideVisibleColumn({isCommandColumn:!0,visibleIndex:n}))},_showHiddenCellsInView:function(e){var t=e.$cells,n=e.isCommandColumn,i=this.addWidgetPrefix(\"hidden-column\");n?(i=\"dx-command-adaptive-hidden\",t.attr({tabIndex:0,\"aria-hidden\":null}).removeClass(i)):t.removeClass(i)},_showHiddenColumns:function(){for(var e=0;e<w.length;e++){var t=this.getView(w[e]);if(t&&t.isVisible()&&t.element()){var n=t.name,i=t.element().find(\".\".concat(\"dx-command-adaptive-hidden\"));this._showHiddenCellsInView({viewName:n,$cells:i,isCommandColumn:!0});var o=t.element().find(\".\".concat(this.addWidgetPrefix(\"hidden-column\")));this._showHiddenCellsInView({viewName:n,$cells:o})}}},_isCellValid:function(e){return e&&e.length&&!e.hasClass(\"dx-master-detail-cell\")&&!e.hasClass(\"dx-group-cell\")},_hideVisibleColumn:function(e){var t=e.isCommandColumn,n=e.visibleIndex,i=this;w.forEach((function(e){var o=i.getView(e);o&&i._hideVisibleColumnInView({view:o,isCommandColumn:t,visibleIndex:n})}))},_hideVisibleColumnInView:function(e){var t,n=e.view,i=e.isCommandColumn,o=e.visibleIndex,a=n.name,r=this._columnsController.getVisibleColumns()[o],s=this._editingController&&this._editingController.getEditFormRowIndex();if(n&&n.isVisible()&&r)for(var l=n.getRowsCount(),u=n._getRowElements(),d=0;d<l;d++){if(!(d===s&&\"rowsView\"===a&&\"popup\"!==this.option(\"editing.mode\"))){var c=\"columnHeadersView\"===a?this._columnsController.getVisibleIndex(r.index,d):o;if(c>=0){var h=u.eq(d);t=this._findCellElementInRow(h,c),this._isCellValid(t)&&this._hideVisibleCellInView({viewName:a,isCommandColumn:i,$cell:t})}}}},_findCellElementInRow:function(e,t){var n=e.children(),i=t,o=!1;if(e.hasClass(\"dx-group-row\")){var a=e.find(\".\".concat(\"dx-group-cell\")),r=a.attr(\"colspan\");if(a.length&&(0,c.isDefined)(r)){var s=parseInt(r);t>a.index()+s-1?i=t-s+1:o=!0}}return o?void 0:n.eq(i)},_hideVisibleCellInView:function(e){var t=e.$cell,n=e.isCommandColumn?\"dx-command-adaptive-hidden\":this.addWidgetPrefix(\"hidden-column\");t.attr({tabIndex:-1,\"aria-hidden\":!0}).addClass(n)},_getEditMode:function(){return this._editingController.getEditMode()},isFormOrPopupEditMode:function(){var e=this._getEditMode();return\"form\"===e||\"popup\"===e},hideRedundantColumns:function(e,t,n){if(this._hiddenColumns=[],this._isVisibleColumnsValid(t)&&n.length){var i,o,a,r=0,s=this.component.$element(),l=(0,d.getWidth)(s)-this._getCommandColumnsWidth(),u=function(){var e=this;return t.filter((function(t){return!t.command&&0===e._hiddenColumns.filter((function(e){return e.index===t.index})).length}))}.bind(this),c=u(),h=c.length;do{a=!1,r=0;var f=this._calculatePercentWidths(e,t),p=f<100&&0!==f;for(i=0;i<t.length;i++){var g=t[i],m=this._getNotTruncatedColumnWidth(g,l,c,p),_=C(this,g),v=this._columnsController.columnOption(_,\"width\"),y=this._columnsController.columnOption(_,\"minWidth\"),b=this._columnsController.columnOption(_,\"bestFitWidth\");if(\"adaptiveHidden\"!==e[i]){if(!m&&!g.command&&!g.fixed){a=!0;break}v&&\"auto\"!==v||(m=Math.max(b||0,y||0)),(\"adaptive\"!==g.command||o)&&(r+=m)}else o=!0}if(a=a||r>(0,d.getWidth)(s)){var x=n.pop(),w=this._columnsController.getVisibleIndex(x.index);l+=this._calculateColumnWidth(x,l,c,p),this._hideVisibleColumn({visibleIndex:w}),e[w]=\"adaptiveHidden\",this._hiddenColumns.push(x),c=u()}}while(a&&c.length>1&&n.length);h===c.length&&this._hideAdaptiveColumn(e,t)}else this._hideAdaptiveColumn(e,t)},getAdaptiveDetailItems:function(){return this._$itemContents},getItemContentByColumnIndex:function(e){for(var t,n=0;n<this._$itemContents.length;n++){var i=(t=this._$itemContents.eq(n)).data(\"dx-form-item\");if(i&&i.column&&this._columnsController.getVisibleIndex(i.column.index)===e)return t}},toggleExpandAdaptiveDetailRow:function(e,t){this.isFormOrPopupEditMode()&&this._editingController.isEditing()||this.getController(\"data\").toggleExpandAdaptiveDetailRow(e,t)},createFormByHiddenColumns:function(e,t){var n=this,a=(0,o.default)(e),r={items:n._getFormItemsByHiddenColumns(n._hiddenColumns),formID:\"dx-\".concat(new i.default)},s=(0,_.isMaterial)()?{colCount:2}:{};this.executeAction(\"onAdaptiveDetailRowPreparing\",{formOptions:r}),n._$itemContents=null,n._form=n._createComponent((0,o.default)(\"<div>\").appendTo(a),m.default,(0,l.extend)(s,r,{customizeItem:function(e){var i=e.column||n._columnsController.columnOption(e.name||e.dataField);i&&(e.label=e.label||{},e.label.text=e.label.text||i.caption,e.column=i,e.template=n._getTemplate(e,t,n.updateForm.bind(n))),r.customizeItem&&r.customizeItem.call(this,e)},onContentReady:function(e){r.onContentReady&&r.onContentReady.call(this,e),n._$itemContents=a.find(\".\".concat(\"dx-field-item-content\"))}}))},hasAdaptiveDetailRowExpanded:function(){return(0,c.isDefined)(this._dataController.adaptiveExpandedKey())},updateForm:function(e){this.hasAdaptiveDetailRowExpanded()&&this._form&&(0,c.isDefined)(this._form._contentReadyAction)&&(e&&e.length?this._form.option(\"items\",this._getFormItemsByHiddenColumns(e)):this._form.repaint())},updateHidingQueue:function(e){var t,n,i=e.filter((function(e){return e.visible&&!e.type&&!e.fixed&&!((0,c.isDefined)(e.groupIndex)&&e.groupIndex>=0)}));if(this._hidingColumnsQueue=[],this.option(\"allowColumnResizing\")&&\"widget\"===this.option(\"columnResizingMode\"))return this._hidingColumnsQueue;for(n=0;n<i.length;n++)(0,c.isDefined)(i[n].hidingPriority)&&i[n].hidingPriority>=0&&(t=!0,this._hidingColumnsQueue[i[n].hidingPriority]=i[n]);if(t)this._hidingColumnsQueue.reverse();else if(this.option(\"columnHidingEnabled\"))for(n=0;n<i.length;n++){var o=this._columnsController.getVisibleIndex(i[n].index);this._hidingColumnsQueue[o]=i[n]}return this._hidingColumnsQueue=this._hidingColumnsQueue.filter(Object),this._hidingColumnsQueue},getHiddenColumns:function(){return this._hiddenColumns},hasHiddenColumns:function(){return this._hiddenColumns.length>0},getHidingColumnsQueue:function(){return this._hidingColumnsQueue},init:function(){var e=this;e._columnsController=e.getController(\"columns\"),e._dataController=e.getController(\"data\"),e._rowsView=e.getView(\"rowsView\"),e._columnsController.addCommandColumn({type:\"adaptive\",command:\"adaptive\",visible:!0,adaptiveHidden:!0,cssClass:\"dx-command-adaptive\",alignment:\"center\",width:\"auto\",cellTemplate:S,fixedPosition:\"right\"}),e._columnsController.columnsChanged.add((function(){var t=!!e.updateHidingQueue(e._columnsController.getColumns()).length;e._columnsController.columnOption(\"command:adaptive\",\"adaptiveHidden\",!t,!0)})),e._editingController=e.getController(\"editing\"),e._hidingColumnsQueue=[],e._hiddenColumns=[],e.createAction(\"onAdaptiveDetailRowPreparing\"),e.callBase()},optionChanged:function(e){\"columnHidingEnabled\"===e.name&&this._columnsController.columnOption(\"command:adaptive\",\"adaptiveHidden\",!e.value),this.callBase(e)},publicMethods:function(){return[\"isAdaptiveDetailRowExpanded\",\"expandAdaptiveDetailRow\",\"collapseAdaptiveDetailRow\"]},isAdaptiveDetailRowExpanded:function(e){var t=this._dataController;return t.adaptiveExpandedKey()&&(0,a.equalByValue)(t.adaptiveExpandedKey(),e)},expandAdaptiveDetailRow:function(e){this.hasAdaptiveDetailRowExpanded()||this.toggleExpandAdaptiveDetailRow(e)},collapseAdaptiveDetailRow:function(){this.hasAdaptiveDetailRowExpanded()&&this.toggleExpandAdaptiveDetailRow()},updateCommandAdaptiveAriaLabel:function(e,t){var n=this._dataController.getRowIndexByKey(e);if(-1!==n){var i=(0,o.default)(this.component.getRowElement(n));this.setCommandAdaptiveAriaLabel(i,t)}},setCommandAdaptiveAriaLabel:function(e,t){e.find(\".dx-command-adaptive\").attr(\"aria-label\",g.default.format(t))}},I={defaultOptions:function(){return{columnHidingEnabled:!1,onAdaptiveDetailRowPreparing:null}},controllers:{adaptiveColumns:v.default.ViewController.inherit(D)},extenders:{views:{rowsView:{_getCellTemplate:function(e){var t=this,n=e.column;return\"detailAdaptive\"===e.rowType&&\"detail\"===n.command?function(e,n){t._adaptiveColumnsController.createFormByHiddenColumns((0,o.default)(e),n)}:t.callBase(e)},_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&\"detailAdaptive\"===e.rowType&&e.key===this._dataController.adaptiveExpandedKey()&&t.addClass(\"dx-adaptive-detail-row\"),t},_renderCells:function(e,t){this.callBase(e,t);var n=this._adaptiveColumnsController,i=n.getHidingColumnsQueue().length,o=n.getHiddenColumns().length;i&&!o&&function(e){return e.find(\"td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])\")}(e).last().addClass(\"dx-last-data-cell\"),\"data\"===t.row.rowType&&n.setCommandAdaptiveAriaLabel(e,\"dxDataGrid-ariaAdaptiveExpand\")},_getColumnIndexByElementCore:function(e){var t=e.closest(\".\".concat(\"dx-field-item-content\"));if(t.length&&t.closest(this.component.$element()).length){var n=t.length?t.first().data(\"dx-form-item\"):null;return n&&n.column&&this._columnsController.getVisibleIndex(n.column.index)}return this.callBase(e)},_cellPrepared:function(e,t){this.callBase.apply(this,arguments),\"detailAdaptive\"!==t.row.rowType&&\"adaptiveHidden\"===t.column.visibleWidth&&e.addClass(this.addWidgetPrefix(\"hidden-column\"))},getCell:function(e,t){var n=this._dataController.items()[null==e?void 0:e.rowIndex];if(\"detailAdaptive\"===(null==n?void 0:n.rowType)){var i=this._adaptiveColumnsController.getAdaptiveDetailItems();return this.callBase(e,t,i)}return this.callBase.apply(this,arguments)},_getCellElement:function(e,t){var n=this._dataController.items()[e];return n&&\"detailAdaptive\"===n.rowType?this._adaptiveColumnsController.getItemContentByColumnIndex(t):this.callBase.apply(this,arguments)},getContextMenuItems:function(e){if(e.row&&\"detailAdaptive\"===e.row.rowType){var t=this.component.getView(\"columnHeadersView\"),n=(0,o.default)(e.targetElement).closest(\".dx-field-item-label\").next().data(\"dx-form-item\");return e.column=n?n.column:e.column,t.getContextMenuItems&&t.getContextMenuItems(e)}return this.callBase&&this.callBase(e)},isClickableElement:function(e){return!!this.callBase&&this.callBase(e)||!!e.closest(\".\".concat(\"dx-command-adaptive\")).length},init:function(){this.callBase(),this._adaptiveColumnsController=this.getController(\"adaptiveColumns\")}}},controllers:{export:{_updateColumnWidth:function(e,t){this.callBase(e,\"adaptiveHidden\"===e.visibleWidth?e.bestFitWidth:t)}},columnsResizer:{_pointCreated:function(e,t,n){var i=this.callBase(e,t,n),o=n[e.columnIndex]||{},a=this._getNextColumnIndex(e.columnIndex),r=n[a]||{},s=a!==e.columnIndex+1&&r.command,l=\"adaptiveHidden\"===o.visibleWidth||s;return i||l},_getNextColumnIndex:function(e){for(var t=this._columnsController.getVisibleColumns(),n=this.callBase(e);t[n]&&\"adaptiveHidden\"===t[n].visibleWidth;)n++;return n}},draggingHeader:{_pointCreated:function(e,t,n,i){var o=this.callBase(e,t,n,i),a=\"adaptiveHidden\"===(t[e.columnIndex-1]||{}).visibleWidth;return o||a}},editing:{_isRowEditMode:function(){return\"row\"===this.getEditMode()},_getFormEditItemTemplate:function(e,t){return\"row\"!==this.getEditMode()&&\"detailAdaptive\"===e.rowType?(e.columnIndex=this._columnsController.getVisibleIndex(t.index),this.getColumnTemplate(e)):this.callBase(e,t)},_closeEditItem:function(e){var t=e.closest(\".\".concat(\"dx-field-item-content\")),n=this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey())+1,i=t.length?t.first().data(\"dx-form-item\"):null,o=i&&i.column&&this._columnsController.getVisibleIndex(i.column.index);this.isEditCell(n,o)||this.callBase(e)},_beforeUpdateItems:function(e,t){if(!this._adaptiveController.isFormOrPopupEditMode()&&this._adaptiveController.hasHiddenColumns()){var n=this._dataController.items(),i=n[t],o=y.default.getIndexByKey(this._dataController.adaptiveExpandedKey(),n);this._isForceRowAdaptiveExpand=!this._adaptiveController.hasAdaptiveDetailRowExpanded(),o>=0&&e.push(o+1),e.push(t+1),this._dataController.adaptiveExpandedKey(i.key)}},_afterInsertRow:function(e){this.callBase.apply(this,arguments),this._adaptiveController.hasHiddenColumns()&&(this._adaptiveController.toggleExpandAdaptiveDetailRow(e,this.isRowEditMode()),this._isForceRowAdaptiveExpand=!0)},_collapseAdaptiveDetailRow:function(){this._isRowEditMode()&&this._isForceRowAdaptiveExpand&&(this._adaptiveController.collapseAdaptiveDetailRow(),this._isForceRowAdaptiveExpand=!1)},_cancelEditAdaptiveDetailRow:function(){this._adaptiveController.hasHiddenColumns()&&this._collapseAdaptiveDetailRow()},_afterSaveEditData:function(){var e=this;this.callBase.apply(this,arguments);var t=new r.Deferred;return this._isRowEditMode()&&this._adaptiveController.hasHiddenColumns()?(0,r.when)(this.getController(\"validating\").validate(!0)).done((function(n){n&&e._cancelEditAdaptiveDetailRow(),t.resolve()})):t.resolve(),t.promise()},_beforeCancelEditData:function(){this.callBase(),this._cancelEditAdaptiveDetailRow()},_getRowIndicesForCascadeUpdating:function(e){var t=this.callBase.apply(this,arguments);return this._adaptiveController.isAdaptiveDetailRowExpanded(e.key)&&t.push(\"detailAdaptive\"===e.rowType?e.rowIndex-1:e.rowIndex+1),t},_beforeCloseEditCellInBatchMode:function(e){var t=this._dataController._adaptiveExpandedKey;if(t){var n=y.default.getIndexByKey(t,this._dataController.items());n>-1&&e.unshift(n)}},editRow:function(e){this._adaptiveController.isFormOrPopupEditMode()&&this._adaptiveController.collapseAdaptiveDetailRow(),this.callBase(e)},deleteRow:function(e){var t=this._dataController.getKeyByRowIndex(e);\"batch\"===this.getEditMode()&&this._adaptiveController.isAdaptiveDetailRowExpanded(t)&&this._adaptiveController.collapseAdaptiveDetailRow(),this.callBase(e)},init:function(){this.callBase(),this._adaptiveController=this.getController(\"adaptiveColumns\")}},resizing:{_needBestFit:function(){return this.callBase()||!!this._adaptiveColumnsController.getHidingColumnsQueue().length},_correctColumnWidths:function(e,t){var n=this._adaptiveColumnsController,i=n.getHiddenColumns(),o=n.updateHidingQueue(this._columnsController.getColumns());n.hideRedundantColumns(e,t,o);var a=n.getHiddenColumns();return n.hasAdaptiveDetailRowExpanded()&&i.length!==a.length&&n.updateForm(a),!a.length&&n.collapseAdaptiveDetailRow(),this.callBase.apply(this,arguments)},_toggleBestFitMode:function(e){e&&this._adaptiveColumnsController._showHiddenColumns(),this.callBase(e)},_needStretch:function(){var e=this._adaptiveColumnsController;return this.callBase.apply(this,arguments)||e.getHidingColumnsQueue().length||e.hasHiddenColumns()},init:function(){this._adaptiveColumnsController=this.getController(\"adaptiveColumns\"),this.callBase()},dispose:function(){this.callBase.apply(this,arguments),clearTimeout(this._updateScrollableTimeoutID)}},data:{_processItems:function(e,t){var n=t.changeType;if(e=this.callBase.apply(this,arguments),\"loadingAll\"===n||!(0,c.isDefined)(this._adaptiveExpandedKey))return e;var i=y.default.getIndexByKey(this._adaptiveExpandedKey,e),o=!1===this.option(\"scrolling.legacyMode\");if(i>=0){var a=e[i];e.splice(i+1,0,{visible:!0,rowType:\"detailAdaptive\",key:a.key,data:a.data,node:a.node,modifiedValues:a.modifiedValues,isNewRow:a.isNewRow,values:a.values})}else\"refresh\"!==n||o&&t.repaintChangesOnly||(this._adaptiveExpandedKey=void 0);return e},_getRowIndicesForExpand:function(e){var t=this.callBase.apply(this,arguments);if(this.getController(\"adaptiveColumns\").isAdaptiveDetailRowExpanded(e)){var n=t[t.length-1];t.push(n+1)}return t},adaptiveExpandedKey:function(e){if(!(0,c.isDefined)(e))return this._adaptiveExpandedKey;this._adaptiveExpandedKey=e},toggleExpandAdaptiveDetailRow:function(e,t){var n=y.default.getIndexByKey(this._adaptiveExpandedKey,this._items),i=y.default.getIndexByKey(e,this._items);n>=0&&n===i&&!t&&(e=void 0,i=-1);var o=this._adaptiveExpandedKey;this._adaptiveExpandedKey=e,n>=0&&n++,i>=0&&i++;var a=this.getRowIndexDelta();this.updateItems({allowInvisibleRowIndices:!0,changeType:\"update\",rowIndices:[n-a,i-a]});var r=this.getController(\"adaptiveColumns\");r.updateCommandAdaptiveAriaLabel(e,\"dxDataGrid-ariaAdaptiveCollapse\"),r.updateCommandAdaptiveAriaLabel(o,\"dxDataGrid-ariaAdaptiveExpand\")},init:function(){this.callBase(),this._adaptiveExpandedKey=void 0}},editorFactory:{_needHideBorder:function(e){return this.callBase(e)||(null==e?void 0:e.hasClass(\"dx-field-item-content\"))&&(null==e?void 0:e.find(\".dx-checkbox\").length)},_getFocusCellSelector:function(){return\"\".concat(this.callBase(),\", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content\")},_getRevertTooltipsSelector:function(){return\"\".concat(this.callBase(),\", .dx-field-item-content .\").concat(this.addWidgetPrefix(\"revert-tooltip\"))}},columns:{_isColumnVisible:function(e){return this.callBase(e)&&!e.adaptiveHidden}},keyboardNavigation:function(e){return function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,x(t,n);var o=i.prototype;return o._isCellValid=function(t,n){return e.prototype._isCellValid.call(this,t,n)&&!t.hasClass(this.addWidgetPrefix(\"hidden-column\"))&&!t.hasClass(\"dx-command-adaptive-hidden\")},o._processNextCellInMasterDetail=function(t,n){e.prototype._processNextCellInMasterDetail.call(this,t,n);var i=this._editingController.isCellOrBatchEditMode();this._editingController.isEditing()&&t&&i&&!this._isInsideEditForm(t)&&(f.default.off(t,\"focus\",k),f.default.on(t,\"focus\",{$nextCell:t},k),f.default.trigger(n,\"focus\"))},o._isCellElement=function(t){return e.prototype._isCellElement.call(this,t)||t.hasClass(\"dx-adaptive-item-text\")},o.init=function(){e.prototype.init.call(this),this._adaptiveController=this.getController(\"adaptiveColumns\")},i}(e)}}}};t.adaptivityModule=I},71184:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.columnChooserModule=void 0;var i=_(n(20530)),o=_(n(68374)),a=n(20576),r=n(13306),s=n(95479),l=n(58664),u=n(35922),d=_(n(28109)),c=_(n(63008)),h=_(n(51495)),f=n(75811),p=_(n(30254)),g=_(n(15943)),m=n(57318);function _(e){return e&&e.__esModule?e:{default:e}}var v=[\"showInColumnChooser\",\"caption\",\"allowHiding\",\"visible\",\"cssClass\",\"ownerBand\"],y={renderShowColumnChooserButton:function(e){var t,n=this,i=n.addWidgetPrefix(\"column-chooser-button\"),a=n.option(\"columnChooser.enabled\"),r=e.find(\".\".concat(i));a?r.length?r.show():(t=(0,o.default)(\"<div>\").addClass(i).appendTo(e),n._createComponent(t,c.default,{icon:\"column-chooser\",onClick:function(){n.getView(\"columnChooserView\").showColumnChooser()},hint:n.option(\"columnChooser.title\"),integrationOptions:{}})):r.hide()},getPosition:function(){var e=this.getView(\"rowsView\"),t=this.option(\"columnChooser.position\");return(0,u.isDefined)(t)?t:{my:\"right bottom\",at:\"right bottom\",of:e&&e.element(),collision:\"fit\",offset:\"-2 -2\",boundaryOffset:\"2 2\"}}},b=g.default.ViewController.inherit(y),x={_resizeCore:a.noop,_isWinDevice:function(){return!!i.default.real().win},_initializePopupContainer:function(){var e=this,t=e.addWidgetPrefix(\"column-chooser\"),n=e.element().addClass(t),i=e.option(\"columnChooser\"),a=(0,f.current)(),s=(0,f.isGeneric)(a),l=(0,f.isMaterial)(a),d={visible:!1,shading:!1,showCloseButton:!1,dragEnabled:!0,resizeEnabled:!0,wrapperAttr:{class:t},toolbarItems:[{text:i.title,toolbar:\"top\",location:s||l?\"before\":\"center\"}],position:e.getController(\"columnChooser\").getPosition(),width:i.width,height:i.height,rtlEnabled:e.option(\"rtlEnabled\"),onHidden:function(){e._isWinDevice()&&(0,o.default)(\"body\").removeClass(e.addWidgetPrefix(\"notouch-action\"))},container:i.container};s||l?(0,r.extend)(d,{showCloseButton:!0}):d.toolbarItems[d.toolbarItems.length]={shortcut:\"cancel\"},(0,u.isDefined)(this._popupContainer)?this._popupContainer.option(d):(e._popupContainer=e._createComponent(n,h.default,d),e._popupContainer.on(\"optionChanged\",(function(t){\"visible\"===t.name&&e.renderCompleted.fire()}))),this.setPopupAttributes()},setPopupAttributes:function(){var e=this.isSelectMode(),t=this._columnsController.isBandColumnsUsed();this._popupContainer.setAria({role:\"dialog\",label:d.default.format(\"dxDataGrid-columnChooserTitle\")}),this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix(\"column-chooser-mode-drag\"),!e).toggleClass(this.addWidgetPrefix(\"column-chooser-mode-select\"),e),this._popupContainer.$content().addClass(this.addWidgetPrefix(\"column-chooser-list\")),e&&!t&&this._popupContainer.$content().addClass(this.addWidgetPrefix(\"column-chooser-plain\"))},_renderCore:function(e){if(this._popupContainer){var t=!this.isSelectMode();this._columnChooserList&&\"full\"!==e?t&&this._updateItems():this._renderTreeView()}},_renderTreeView:function(){var e,t,n,i=this,o=this._popupContainer.$content(),s=this.option(\"columnChooser\"),l=this.isSelectMode(),d={dataStructure:\"plain\",activeStateEnabled:!0,focusStateEnabled:!0,hoverStateEnabled:!0,itemTemplate:\"item\",showCheckBoxesMode:\"none\",rootValue:null,searchEnabled:(0,u.isDefined)(s.allowSearch)?s.allowSearch:null===(e=s.search)||void 0===e?void 0:e.enabled,searchTimeout:(0,u.isDefined)(s.searchTimeout)?s.searchTimeout:null===(t=s.search)||void 0===t?void 0:t.timeout,searchEditorOptions:null===(n=s.search)||void 0===n?void 0:n.editorOptions};if(this._isWinDevice()&&(d.useNativeScrolling=!1),(0,r.extend)(d,l?this._prepareSelectModeConfig():this._prepareDragModeConfig()),this._columnChooserList)d.searchEnabled||(d.searchValue=\"\"),this._columnChooserList.option(d),this._updateItems();else{this._columnChooserList=this._createComponent(o,p.default,d),this._updateItems();var c=0;this._columnChooserList.on(\"optionChanged\",(function(e){var t=e.component.getScrollable();c=t.scrollTop()})),this._columnChooserList.on(\"contentReady\",(function(e){(0,a.deferUpdate)((function(){e.component.getScrollable().scrollTo({y:c}),i.renderCompleted.fire()}))}))}},_prepareDragModeConfig:function(){return{noDataText:this.option(\"columnChooser\").emptyPanelText,activeStateEnabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,itemTemplate:function(e,t,n){(0,o.default)(n).text(e.text).parent().addClass(e.cssClass).addClass(\"dx-column-chooser-item\")}}},_prepareSelectModeConfig:function(){var e=this,t=this,n=this.option(\"columnChooser.selection\")||{},i=!1;return{selectByClick:n.selectByClick,selectNodesRecursive:n.recursive,showCheckBoxesMode:n.allowSelectAll?\"selectAll\":\"normal\",onSelectionChanged:function(n){if(!i){var o=function(e){return function e(t,n){return t.reduce((function(t,n){return t.push(n),n.children.length&&e(n.children,t),t}),n)}(e,[])}(n.component.getNodes());n.component.beginUpdate(),i=!0,function(e,t){t.filter((function(e){return!1===e.itemData.allowHiding})).forEach((function(t){return e.component.selectItem(t.key)}))}(n,o),n.component.endUpdate(),i=!1,t.component.beginUpdate(),e._isUpdatingColumnVisibility=!0,function(e){e.forEach((function(e){var n=e.itemData.id,i=!1!==e.selected;t._columnsController.columnOption(n,\"visible\",i)}))}(o),t.component.endUpdate(),e._isUpdatingColumnVisibility=!1}}}},_updateItems:function(){var e=this.isSelectMode(),t=function(e,t){var n=[],i=e.isSelectMode(),o=e.option(\"columnChooser.selection.recursive\");return t.length&&(0,s.each)(t,(function(e,t){var a={text:t.caption,cssClass:t.cssClass,allowHiding:t.allowHiding,expanded:!0,id:t.index,disabled:!1===t.allowHiding,parentId:(0,u.isDefined)(t.ownerBand)?t.ownerBand:null},r=o&&t.hasColumns;i&&!r&&(a.selected=t.visible),n.push(a)})),n}(this,this._columnsController.getChooserColumns(e));this._columnChooserList.option(\"items\",t)},_updateItemsSelection:function(e){var t=this,n=null==e?void 0:e.map((function(e){return t._columnsController.columnOption(e)}));this._columnChooserList.beginUpdate(),null==n||n.forEach((function(e){var n=e.visible,i=e.index;n?t._columnChooserList.selectItem(i):t._columnChooserList.unselectItem(i)})),this._columnChooserList.endUpdate()},_columnOptionChanged:function(e){if(this.callBase(e),this.isSelectMode()&&this._columnChooserList&&!0!==this._isUpdatingColumnVisibility){var t=e.optionNames,n=t.visible&&1===t.length,i=(0,u.isDefined)(e.columnIndex)?[e.columnIndex]:e.columnIndices;(v.some((function(e){return t[e]}))||e.changeTypes.columns&&t.all)&&(this._updateItemsSelection(i),n||this._updateItems())}},optionChanged:function(e){switch(e.name){case\"columnChooser\":this._initializePopupContainer(),this.render(null,\"full\");break;default:this.callBase(e)}},getColumnElements:function(){var e=[],t=this.isSelectMode(),n=this._columnsController.getChooserColumns(t),i=this._popupContainer&&this._popupContainer.$content(),a=i&&i.find(\".dx-treeview-node\");return a&&n.forEach((function(t){var n=a.filter(\"[data-item-id = '\".concat(t.index,\"']\")),i=n.length?n.children(\".\".concat(\"dx-column-chooser-item\")).get(0):null;e.push(i)})),(0,o.default)(e)},getName:function(){return\"columnChooser\"},getColumns:function(){return this._columnsController.getChooserColumns()},allowDragging:function(e){var t=this._columnsController.isParentColumnVisible(e.index),n=!e.visible&&e.allowHiding;return this.isColumnChooserVisible()&&t&&n},allowColumnHeaderDragging:function(e){return!this.isSelectMode()&&this.isColumnChooserVisible()&&e.allowHiding},getBoundingRect:function(){var e=this._popupContainer&&this._popupContainer.$overlayContent();if(e&&e.is(\":visible\")){var t=e.offset();return{left:t.left,top:t.top,right:t.left+(0,l.getOuterWidth)(e),bottom:t.top+(0,l.getOuterHeight)(e)}}return null},showColumnChooser:function(){this._popupContainer||(this._initializePopupContainer(),this.render()),this._popupContainer.show(),this._isWinDevice()&&(0,o.default)(\"body\").addClass(this.addWidgetPrefix(\"notouch-action\"))},hideColumnChooser:function(){this._popupContainer&&this._popupContainer.hide()},isColumnChooserVisible:function(){var e=this._popupContainer;return e&&e.option(\"visible\")},isSelectMode:function(){return\"select\"===this.option(\"columnChooser.mode\")},hasHiddenColumns:function(){var e=this.option(\"columnChooser.enabled\"),t=this.getColumns().filter((function(e){return!e.visible}));return e&&t.length},publicMethods:function(){return[\"showColumnChooser\",\"hideColumnChooser\"]}},w={defaultOptions:function(){return{columnChooser:{enabled:!1,search:{enabled:!1,timeout:500,editorOptions:{}},selection:{allowSelectAll:!1,selectByClick:!1,recursive:!1},position:void 0,mode:\"dragAndDrop\",width:250,height:260,title:d.default.format(\"dxDataGrid-columnChooserTitle\"),emptyPanelText:d.default.format(\"dxDataGrid-columnChooserEmptyText\"),container:void 0}}},controllers:{columnChooser:b},views:{columnChooserView:m.ColumnsView.inherit(x)},extenders:{views:{headerPanel:{_getToolbarItems:function(){var e=this.callBase();return this._appendColumnChooserItem(e)},_appendColumnChooserItem:function(e){var t=this;if(t.option(\"columnChooser.enabled\")){var n=t.option(\"columnChooser.title\"),i={widget:\"dxButton\",options:{icon:\"column-chooser\",onClick:function(){t.component.getView(\"columnChooserView\").showColumnChooser()},hint:n,text:n,onInitialized:function(e){(0,o.default)(e.element).addClass(t._getToolbarButtonClass(t.addWidgetPrefix(\"column-chooser-button\")))},elementAttr:{\"aria-haspopup\":\"dialog\"}},showText:\"inMenu\",location:\"after\",name:\"columnChooserButton\",locateInMenu:\"auto\",sortIndex:40};e.push(i)}return e},optionChanged:function(e){switch(e.name){case\"columnChooser\":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}},isVisible:function(){var e=this.option(\"columnChooser.enabled\");return this.callBase()||e}},columnHeadersView:{allowDragging:function(e){var t=this.component.getView(\"columnChooserView\"),n=!t.isSelectMode(),i=t.isColumnChooserVisible();return n&&i&&e.allowHiding||this.callBase(e)}}},controllers:{columns:{allowMoveColumn:function(e,t,n,i){return!(\"select\"===this.option(\"columnChooser.mode\")&&\"columnChooser\"===i)&&this.callBase(e,t,n,i)}}}}};t.columnChooserModule=w},53424:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.columnFixingModule=void 0;var i=n(31648),o=v(n(68374)),a=v(n(47810)),r=n(13306),s=n(95479),l=n(37518),u=n(58664),d=n(80968),c=n(35922),h=v(n(55994)),f=n(765),p=v(n(28109)),g=v(n(41183)),m=v(n(60082)),_=n(57318);function v(e){return e&&e.__esModule?e:{default:e}}var y=function(e){var t=-1;return(0,s.each)(e,(function(e,n){if(\"transparent\"===n.command)return t=e,!1})),t},b=function(e,t,n){var i=0;if(e&&t&&n)for(var o=0;o<e.length;o++)\"transparent\"===e[o].command?i+=e[o].colspan:(t[i]<n[o]&&(t[i]=n[o]),i++);return t},x={init:function(){this.callBase(),this._isFixedTableRendering=!1,this._isFixedColumns=!1},_createCol:function(e){return this.callBase(e).toggleClass(\"dx-col-fixed\",!(!this._isFixedTableRendering||!(e.fixed||e.command&&\"transparent\"!==e.command)))},_correctColumnIndicesForFixedColumns:function(e,t){var n=y(e),i=e[n].colspan,o=t&&t.columnIndices;o&&(t.columnIndices=o.map((function(e){if(e)return e.map((function(e){return e<n?e:e>=n+i?e-i+1:-1})).filter((function(e){return e>=0}))})))},_partialUpdateFixedTable:function(e){var t=this._fixedTableElement,n=this._getRowElementsCore(t);t.children(\"colgroup\").replaceWith(this._createColGroup(e));for(var i=0;i<n.length;i++)this._partialUpdateFixedRow((0,o.default)(n[i]),e)},_partialUpdateFixedRow:function(e,t){var n,i,o=e.get(0).childNodes,a=y(t),r=t[a],s=this._columnsController.getColumnIndexOffset()+1,l=r.colspan;if(e.hasClass(\"dx-master-detail-row\"))o[0].setAttribute(\"colspan\",null===(n=this._columnsController.getVisibleColumns())||void 0===n?void 0:n.length);else{e.hasClass(\"dx-group-row\")&&(l=(i=this._getGroupCellOptions({row:e.data(\"options\"),columns:this._columnsController.getVisibleColumns()})).colspan-Math.max(0,o.length-(i.columnIndex+2)));for(var u=0;u<o.length;u++){var d=i?u===i.columnIndex+1:u===a;o[u].setAttribute(\"aria-colindex\",s),d?(o[u].setAttribute(\"colspan\",l),s+=l):s++}}},_renderTable:function(e){var t,n,i=this.getFixedColumns();this._isFixedColumns=!!i.length;var o=this.callBase(e);if(this._isFixedColumns){var a=null==e?void 0:e.change,s=this._getRowElements(this._fixedTableElement),l=(null==a?void 0:a.virtualColumnsScrolling)&&s.length===(null===(t=null==a?void 0:a.items)||void 0===t?void 0:t.length);if(this._isFixedTableRendering=!0,l&&!0!==this.option(\"scrolling.legacyMode\"))this._partialUpdateFixedTable(i),this._isFixedTableRendering=!1;else{var u=null==a?void 0:a.columnIndices;this._correctColumnIndicesForFixedColumns(i,a),n=this._createTable(i),this._renderRows(n,(0,r.extend)({},e,{columns:i})),this._updateContent(n,a,!0),u&&(a.columnIndices=u),this._isFixedTableRendering=!1}}else this._fixedTableElement&&this._fixedTableElement.parent().remove(),this._fixedTableElement=null;return o},_renderRow:function(e,t){var n,i=t.row.cells;if(this.callBase.apply(this,arguments),this._isFixedTableRendering&&i&&i.length){n=0;var o=t.row.cells||[];i=i.slice(),t.row.cells=i;for(var a=0;a<o.length;a++)o[a].column&&\"transparent\"===o[a].column.command?n=(o[a].column.colspan||1)-1:i[a+n]=o[a]}},_createCell:function(e){var t,n,i,o=this,r=e.column,s=r&&r.command,l=e.rowType,u=o.callBase.apply(o,arguments);(o._isFixedTableRendering||\"filter\"===l)&&(n=(t=o.getFixedColumns())[(i=y(t))-1]),o._isFixedTableRendering?\"transparent\"===s&&(u.addClass(\"dx-pointer-events-none\").toggleClass(\"dx-first-cell\",0===i||n&&\"expand\"===n.command).toggleClass(\"dx-last-cell\",t.length&&i===t.length-1),\"freeSpace\"!==l&&m.default.setEmptyText(u)):\"filter\"===l&&u.toggleClass(\"dx-first-cell\",e.columnIndex===i);var d=o.option(\"rowAlternationEnabled\")&&e.isAltRow,c=\"multiple\"===o.option(\"selection.mode\")&&0===e.columnIndex&&\"header\"===e.rowType;return a.default.mozilla&&e.column.fixed&&\"group\"!==e.rowType&&!d&&!c&&u.addClass(\"dx-col-fixed\"),u},_getContent:function(e){var t;return e?null===(t=this._fixedTableElement)||void 0===t?void 0:t.parent():this.callBase.apply(this,arguments)},_wrapTableInScrollContainer:function(e,t){var n=this.callBase.apply(this,arguments);return(this._isFixedTableRendering||t)&&n.addClass(this.addWidgetPrefix(\"content-fixed\")),n},_renderCellContent:function(e,t){var n,i=t.column,o=this._isFixedTableRendering,a=\"group\"===t.rowType&&(0,c.isDefined)(i.groupIndex);if(o&&a&&!i.command&&!i.groupCellTemplate&&e.css(\"pointerEvents\",\"none\"),!o&&this._isFixedColumns){if(n=i.fixed||i.command&&!1!==i.fixed,a&&(n=!1,t.row.summaryCells&&t.row.summaryCells.length)){var r=this._columnsController.getVisibleColumns(),s=this._getAlignByColumnCellCount?this._getAlignByColumnCellCount(i.colspan,{columns:r,row:t.row,isFixed:!0}):0;if(s>0){var l=y(this._columnsController.getFixedColumns());n=r.length-s<l}}if(n){if(i.command&&\"buttons\"!==i.type||\"group\"===t.rowType)return void e.html(\"&nbsp;\").addClass(i.cssClass);e.addClass(\"dx-hidden-cell\")}}\"transparent\"!==i.command&&this.callBase.apply(this,arguments)},_getCellElementsCore:function(e){var t=this,n=this.callBase.apply(this,arguments),i=null==n?void 0:n.parent().hasClass(\"dx-group-row\"),o=\"columnHeadersView\"===this.name?e:void 0;if(this._fixedTableElement&&n){var a=this.getFixedColumns(o),r=this._getRowElements(this._fixedTableElement).eq(e).children(\"td\");(0,s.each)(r,(function(e,s){if(i)n[e]&&\"hidden\"!==s.style.visibility&&(n[e]=s);else{var l=a[e];if(l)if(\"transparent\"===l.command)r.eq(e).hasClass(\"dx-master-detail-cell\")&&(n[e]=s||n[e]);else{var u=t._columnsController.getVisibleIndexByColumn(l,o);n[u]=s||n[u]}}}))}return n},getColumnWidths:function(){var e=this.callBase(),t=this.getFixedColumns(),n=this._fixedTableElement&&e.length?this.callBase(this._fixedTableElement):void 0;return b(t,e,n)},getTableElement:function(e){return(e=this._isFixedTableRendering||e)?this._fixedTableElement:this.callBase()},setTableElement:function(e,t){this._isFixedTableRendering||t?this._fixedTableElement=e.addClass(\"dx-pointer-events-none\"):this.callBase(e)},getColumns:function(e){var t=this.getTableElement();return this._isFixedTableRendering?this.getFixedColumns(e):this.callBase(e,t)},getRowIndex:function(e){var t=this._fixedTableElement;return t&&t.find(e).length?this._getRowElements(t).index(e):this.callBase(e)},getTableElements:function(){var e=this.callBase.apply(this,arguments);return this._fixedTableElement&&(e=(0,o.default)([e.get(0),this._fixedTableElement.get(0)])),e},getFixedColumns:function(e){return this._columnsController.getFixedColumns(e)},getFixedColumnsOffset:function(){var e,t={left:0,right:0};if(this._fixedTableElement){var n=(e=this.getTransparentColumnElement()).position();t={left:n.left,right:(0,u.getOuterWidth)(this.element(),!0)-((0,u.getOuterWidth)(e,!0)+n.left)}}return t},getTransparentColumnElement:function(){return this._fixedTableElement&&this._fixedTableElement.find(\".\".concat(\"dx-pointer-events-none\")).first()},getFixedTableElement:function(){return this._fixedTableElement},isFixedColumns:function(){return this._isFixedColumns},_resizeCore:function(){this.callBase(),this.synchronizeRows()},setColumnWidths:function(e){var t,n=e.widths,i=this._columnsController.getVisibleColumns(),o=(null==n?void 0:n.length)&&i.some((function(e){return(0,c.isDefined)(e.visibleWidth)})),a=null===(t=e.optionNames)||void 0===t?void 0:t.width;if(this.callBase(e),this._fixedTableElement){var r=(null==n?void 0:n.some((function(e){return\"auto\"===e||!(0,c.isDefined)(e)})))&&(!o||!this.isScrollbarVisible(!0))?i:this.getFixedColumns();this.setFixedTableColumnWidths(r,n)}var s=this.option(\"wordWrapEnabled\");(o||a&&s)&&this.synchronizeRows()},setFixedTableColumnWidths:function(e,t){if(this._fixedTableElement&&t){var n=this._fixedTableElement.children(\"colgroup\").children(\"col\");n.toArray().forEach((function(e){return e.removeAttribute(\"style\")}));var i=0;e.forEach((function(e){if(e.colspan)i+=e.colspan;else{var o=(0,_.normalizeWidth)(t[i]);(0,c.isDefined)(o)&&(0,d.setWidth)(n.eq(i),o),i+=1}}))}},_getClientHeight:function(e){var t=e.getBoundingClientRect&&(0,l.getBoundingRect)(e);return t&&t.height?t.height:e.clientHeight},synchronizeRows:function(){var e,t,n,i,o=this,a=[],r=[];this.waitAsyncTemplates(!0).done((function(){if(o._isFixedColumns&&o._tableElement&&o._fixedTableElement){var s=o._getClientHeight(o._tableElement.get(0)),l=o._getClientHeight(o._fixedTableElement.get(0));if(t=o._getRowElements(o._tableElement),n=o._getRowElements(o._fixedTableElement),i=o._findContentElement(),s!==l){for(i&&i.css(\"height\",s),t.css(\"height\",\"\"),n.css(\"height\",\"\"),e=0;e<t.length;e++)a.push(o._getClientHeight(t.get(e))),r.push(o._getClientHeight(n.get(e)));for(e=0;e<t.length;e++){var u=a[e],d=r[e];u>d?n.eq(e).css(\"height\",u):u<d&&t.eq(e).css(\"height\",d)}i&&i.css(\"height\",\"\")}}}))},setScrollerSpacing:function(e){var t=this.option(\"rtlEnabled\");this.callBase(e),this.element().children(\".\".concat(this.addWidgetPrefix(\"content-fixed\"))).css({paddingLeft:t?e:\"\",paddingRight:t?\"\":e})}},w={defaultOptions:function(){return{columnFixing:{enabled:!1,texts:{fix:p.default.format(\"dxDataGrid-columnFixingFix\"),unfix:p.default.format(\"dxDataGrid-columnFixingUnfix\"),leftPosition:p.default.format(\"dxDataGrid-columnFixingLeftPosition\"),rightPosition:p.default.format(\"dxDataGrid-columnFixingRightPosition\")}}}},extenders:{views:{columnHeadersView:(0,r.extend)({},x,{_getRowVisibleColumns:function(e){return this._isFixedTableRendering?this.getFixedColumns(e):this.callBase(e)},getContextMenuItems:function(e){var t=this,n=e.column,i=this.option(\"columnFixing\"),o=this.callBase(e);if(e.row&&\"header\"===e.row.rowType&&!0===i.enabled&&n&&n.allowFixing){var a=function(e){switch(e.itemData.value){case\"none\":t._columnsController.columnOption(n.index,\"fixed\",!1);break;case\"left\":t._columnsController.columnOption(n.index,{fixed:!0,fixedPosition:\"left\"});break;case\"right\":t._columnsController.columnOption(n.index,{fixed:!0,fixedPosition:\"right\"})}};(o=o||[]).push({text:i.texts.fix,beginGroup:!0,items:[{text:i.texts.leftPosition,value:\"left\",disabled:n.fixed&&(!n.fixedPosition||\"left\"===n.fixedPosition),onItemClick:a},{text:i.texts.rightPosition,value:\"right\",disabled:n.fixed&&\"right\"===n.fixedPosition,onItemClick:a}]},{text:i.texts.unfix,value:\"none\",disabled:!n.fixed,onItemClick:a})}return o},getFixedColumnElements:function(e){if((0,c.isDefined)(e))return this._fixedTableElement&&this._getRowElements(this._fixedTableElement).eq(e).children();var t=this.getColumnElements(),n=this.getTransparentColumnElement();if(t&&n&&n.length){var i=y(this.getFixedColumns());t.splice(i,n.get(0).colSpan,n.get(0))}return t},getColumnWidths:function(){var e,t=this.callBase(),n=this.getFixedColumnElements(),i=this.getFixedColumns();return this._fixedTableElement&&(e=n&&n.length?this._getWidths(n):this.callBase(this._fixedTableElement)),b(i,t,e)}}),rowsView:(0,r.extend)({},x,{_detachHoverEvents:function(){var e=this.element();this._fixedTableElement&&this._tableElement&&h.default.off(e,\"mouseover mouseout\",\".dx-data-row\")},_attachHoverEvents:function(){var e=this;this._fixedTableElement&&this._tableElement&&h.default.on(this.element(),\"mouseover mouseout\",\".dx-data-row\",this.createAction((function(t){var n=t.event,i=e.getRowIndex((0,o.default)(n.target).closest(\".dx-row\")),a=\"mouseover\"===n.type;i>=0&&(e._tableElement&&e._getRowElements(e._tableElement).eq(i).toggleClass(\"dx-state-hover\",a),e._fixedTableElement&&e._getRowElements(e._fixedTableElement).eq(i).toggleClass(\"dx-state-hover\",a))})))},_getScrollDelay:function(){var e;return(null===(e=this.getController(\"resizing\"))||void 0===e?void 0:e.hasResizeTimeout())?this.option(\"scrolling.updateTimeout\"):a.default.mozilla?60:0},_findContentElement:function(e){var t,n,i=this,a=this.addWidgetPrefix(\"content\"),r=this.element();if(e=this._isFixedTableRendering||e,r&&e){t=r.children(\".\".concat(a));var s=this.getScrollable();return!t.length&&s&&(t=(0,o.default)(\"<div>\").addClass(a),h.default.on(t,\"scroll\",(function(e){var t=e.target,a=i._getScrollDelay();clearTimeout(i._fixedScrollTimeout),i._fixedScrollTimeout=setTimeout((function(){n=(0,o.default)(t).scrollTop(),s.scrollTo({y:n})}),a)})),h.default.on(t,f.name,(function(e){var t=(0,o.default)(e.target).closest(\".dx-scrollable\"),a=!1;if(s&&s.$element().is(t))a=!0;else{var r=t.length&&g.default.getInstance(t.get(0)),l=r&&r.scrollHeight()-r.clientHeight()>0;a=r&&!l}if(a){n=s.scrollTop(),s.scrollTo({y:n-e.delta});var u=s.scrollTop()+s.clientHeight(),d=s.scrollHeight()+i.getScrollbarWidth();if(s.scrollTop()>0&&u<d)return!1}})),t.appendTo(r)),t}return this.callBase()},_updateScrollable:function(){this.callBase();var e=this.getScrollable();if(!(null==e?void 0:e._disposed)){var t=e&&e.scrollOffset().top;this._updateFixedTablePosition(t)}},_renderContent:function(e,t,n){return this._isFixedTableRendering||n?e.empty().addClass(\"\".concat(this.addWidgetPrefix(\"content\"),\" \").concat(this.addWidgetPrefix(\"content-fixed\"))).append(t):this.callBase(e,t)},_getGroupCellOptions:function(e){return this._isFixedTableRendering?this.callBase((0,r.extend)({},e,{columns:this._columnsController.getVisibleColumns()})):this.callBase(e)},_renderGroupedCells:function(e,t){return this.callBase(e,(0,r.extend)({},t,{columns:this._columnsController.getVisibleColumns()}))},_renderGroupSummaryCells:function(e,t){this._isFixedTableRendering?this.callBase(e,(0,r.extend)({},t,{columns:this._columnsController.getVisibleColumns()})):this.callBase(e,t)},_hasAlignByColumnSummaryItems:function(e,t){var n=this.callBase.apply(this,arguments),i=t.columns[e];return t.isFixed?i.fixed&&(n||\"right\"===i.fixedPosition):n&&(!this._isFixedColumns||!i.fixed)},_renderGroupSummaryCellsCore:function(e,t,n,i){var o;if(this._isFixedTableRendering){t.isFixed=!0,o=this._getAlignByColumnCellCount(n,t),t.isFixed=!1;var a=t.columns.length-o;t=(0,r.extend)({},t,{columns:this.getFixedColumns()});var s=y(t.columns);a<s?(o-=t.columns[s].colspan-1||0,n-=t.columns[s].colspan-1||0):i>0&&e.css(\"visibility\",\"hidden\"),i=o}this.callBase(e,t,n,i)},_getSummaryCellIndex:function(e,t){if(this._isFixedTableRendering){var n=y(t);return e>n&&(e+=t[n].colspan-1),e}return this.callBase.apply(this,arguments)},_renderCore:function(e){this._detachHoverEvents();var t=this.callBase(e),n=this._isFixedColumns;return this.element().toggleClass(\"dx-fixed-columns\",n),this.option(\"hoverStateEnabled\")&&n&&this._attachHoverEvents(),t},setRowsOpacity:function(e,t){this.callBase(e,t);var n=this._getRowElements(this._fixedTableElement);this._setRowsOpacityCore(n,this.getFixedColumns(),e,t)},optionChanged:function(e){this.callBase(e),\"hoverStateEnabled\"===e.name&&this._isFixedColumns&&(e.value?this._attachHoverEvents():this._detachHoverEvents())},getCellIndex:function(e){var t=this._fixedTableElement,n=0;if(t&&e.is(\"td\")&&e.closest(t).length){var i=this.getFixedColumns();return(0,s.each)(i,(function(t,i){if(t===e[0].cellIndex)return!1;i.colspan?n+=i.colspan:n++})),n}return this.callBase.apply(this,arguments)},_updateFixedTablePosition:function(e,t){if(this._fixedTableElement&&this._tableElement){var n,i=this.getController(\"editorFactory\");this._fixedTableElement.parent().scrollTop(e),t&&i&&(n=i.focus())&&i.focus(n)}},setScrollerSpacing:function(e,t){var n={marginBottom:0},i=this.element().children(\".\".concat(this.addWidgetPrefix(\"content-fixed\")));i.length&&this._fixedTableElement&&(i.css(n),this._fixedTableElement.css(n),n[this.option(\"rtlEnabled\")?\"marginLeft\":\"marginRight\"]=e,n.marginBottom=t,(this._scrollable&&this._scrollable.option(\"useNative\")?i:this._fixedTableElement).css(n))},_getElasticScrollTop:function(e){var t=0;if(e.scrollOffset.top<0)t=-e.scrollOffset.top;else if(e.reachedBottom){var n=(0,o.default)(e.component.content()),i=(0,o.default)(e.component.container()),a=Math.max(n.get(0).clientHeight-i.get(0).clientHeight,0);t=Math.min(a-e.scrollOffset.top,0)}return Math.floor(t)},_applyElasticScrolling:function(e){if(this._fixedTableElement){var t=this._getElasticScrollTop(e);0!==Math.ceil(t)?(0,i.move)(this._fixedTableElement,{top:t}):this._fixedTableElement.css(\"transform\",\"\")}},_handleScroll:function(e){this._updateFixedTablePosition(e.scrollOffset.top,!0),this._applyElasticScrolling(e),this.callBase(e)},_updateContentPosition:function(e){this.callBase.apply(this,arguments),e||this._updateFixedTablePosition(this._scrollTop)},_afterRowPrepared:function(e){this._isFixedTableRendering||this.callBase(e)},_scrollToElement:function(e){this.callBase(e,this.getFixedColumnsOffset())},dispose:function(){this.callBase.apply(this,arguments),clearTimeout(this._fixedScrollTimeout)}}),footerView:x},controllers:{draggingHeader:{_generatePointsByColumns:function(e){var t=e.columns,n=e.targetDraggingPanel;if(n&&\"headers\"===n.getName()&&n.isFixedColumns()&&e.sourceColumn.fixed){e.rowIndex||(e.columnElements=n.getFixedColumnElements(0)),e.columns=n.getFixedColumns(e.rowIndex);var i=this.callBase(e);return function(e,t,n){var i=y(t),o=e.length-t.length;(0,s.each)(n,(function(e,t){t.index>i&&(t.columnIndex+=o,t.index+=o)}))}(t,e.columns,i),i}return this.callBase(e)},_pointCreated:function(e,t,n,i){var o=this.callBase.apply(this,arguments),a=t[e.columnIndex],r=this._columnHeadersView.getTransparentColumnElement();if(!o&&\"headers\"===n&&r&&r.length){var s=(0,l.getBoundingRect)(r.get(0));return i&&i.fixed?\"right\"===i.fixedPosition?e.x<s.right:e.x>s.left:!(!a||!a.fixed||\"right\"===a.fixedPosition)||e.x<s.left||e.x>s.right}return o}},columnsResizer:{_generatePointsByColumns:function(){var e=this,t=e._columnsController,n=t&&e._columnsController.getVisibleColumns(),i=t&&e._columnsController.getFixedColumns(),o=y(i),a=n.length-i.length,r=e._columnHeadersView.getFixedColumnElements();e.callBase(),r&&r.length>0&&(e._pointsByFixedColumns=m.default.getPointsByColumns(r,(function(t){return t.index>o&&(t.columnIndex+=a,t.index+=a),e._pointCreated(t,n.length,n)})))},_getTargetPoint:function(e,t,n){var i=this._columnHeadersView.getTransparentColumnElement();if(i&&i.length){var o=(0,l.getBoundingRect)(i.get(0));if(t<=o.left||t>=o.right)return this.callBase(this._pointsByFixedColumns,t,n)}return this.callBase(e,t,n)}}}}};t.columnFixingModule=w},14509:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.columnHeadersModule=void 0;var i=f(n(73349)),o=f(n(68374)),a=n(13306),r=n(95479),s=n(58664),l=n(35922),u=f(n(55994)),d=f(n(28109)),c=n(9130),h=n(57318);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var m={defaultOptions:function(){return{showColumnHeaders:!0,cellHintEnabled:!0}},views:{columnHeadersView:h.ColumnsView.inherit(function(){var e=function(e,n,i){var a=(0,o.default)(\"<div>\").addClass(e.addWidgetPrefix(\"text-content\"));e.setAria(\"role\",\"presentation\",a),t(e,n,i.column,a);var r=e.option(\"showColumnLines\"),s=e.getController(\"columns\").getHeaderContentAlignment(i.column.alignment);return a[r||\"right\"===s?\"appendTo\":\"prependTo\"](n)};function t(e,t,n,i){var o=e._getIndicatorElements(t,!0),a=e._getIndicatorElements(t),r=o&&o.length,s=e._getColumnAlignment(n.alignment),l=\".\".concat(e._getIndicatorClassName(\"sort\")),u=\".\".concat(e._getIndicatorClassName(\"sortIndex\")),d=a.filter(l),c=a.children().filter(u);(i=i||t.children(\".\".concat(e.addWidgetPrefix(\"text-content\")))).toggleClass(\"dx-text-content-alignment-\"+s,r>0).toggleClass(\"dx-text-content-alignment-\"+(\"left\"===s?\"right\":\"left\"),r>0&&\"center\"===n.alignment).toggleClass(\"dx-sort-indicator\",!!d.length).toggleClass(\"dx-sort-index-indicator\",!!c.length).toggleClass(\"dx-header-filter-indicator\",!!a.filter(\".\".concat(e._getIndicatorClassName(\"headerFilter\"))).length)}return{_createTable:function(){var e=this.callBase.apply(this,arguments);return u.default.on(e,\"mousedown selectstart\",this.createAction((function(e){var t=e.event;t.shiftKey&&t.preventDefault()}))),e},_isLegacyKeyboardNavigation:function(){return this.option(\"useLegacyKeyboardNavigation\")},_getDefaultTemplate:function(t){var n=this;return function(i,o){var a=t.caption,r=!t.command||a&&\"expand\"!==t.command;if(\"empty\"===t.command)n._renderEmptyMessage(i,o);else if(r){e(n,i,o).text(a)}else t.command&&i.html(\"&nbsp;\")}},_renderEmptyMessage:function(t,n){var a=this._getEmptyHeaderText();if(a){var r=e(this,t,n);if(a.includes(\"{0}\")){var s=p(a.split(\"{0}\"),2),l=s[0],c=s[1],h=d.default.format(\"dxDataGrid-emptyHeaderColumnChooserText\"),f=this.component.getView(\"columnChooserView\"),g=(0,o.default)(\"<a>\").text(h).addClass(\"dx-link\");u.default.on(g,\"click\",this.createAction((function(){return f.showColumnChooser()}))),r.append(i.default.createTextNode(l)).append(g).append(i.default.createTextNode(c))}else r.text(a)}else t.html(\"&nbsp;\")},_getEmptyHeaderText:function(){var e=!!this.component.getView(\"columnChooserView\").hasHiddenColumns(),t=!!this.component.getView(\"headerPanel\").hasGroupedColumns();switch(!0){case e&&t:return d.default.format(\"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\");case t:return d.default.format(\"dxDataGrid-emptyHeaderWithGroupPanelText\");case e:return d.default.format(\"dxDataGrid-emptyHeaderWithColumnChooserText\");default:return\"\"}},_getHeaderTemplate:function(e){return e.headerCellTemplate||{allowRenderToDetachedContainer:!0,render:this._getDefaultTemplate(e)}},_processTemplate:function(t,n){var i=this,o=n.column,r=i.callBase(t);return\"header\"===n.rowType&&r&&o.headerCellTemplate&&!o.command?{render:function(t){var n=e(i,t.container,t.model);r.render((0,a.extend)({},t,{container:n}))}}:r},_handleDataChanged:function(e){\"refresh\"===e.changeType&&(this._isGroupingChanged||this._requireReady)&&(this._isGroupingChanged=!1,this.render())},_renderCell:function(e,t){var n=this.callBase(e,t);return\"header\"===t.row.rowType&&(n.addClass(\"dx-cell-focus-disabled\"),this._isLegacyKeyboardNavigation()||t.column&&!t.column.type&&n.attr(\"tabindex\",this.option(\"tabindex\")||0)),n},_setCellAriaAttributes:function(e,t){this.callBase(e,t),\"header\"===t.rowType&&(t.column.type||this.setAria(\"role\",\"columnheader\",e),!t.column||t.column.command||t.column.isBand||(e.attr(\"id\",t.column.headerId),this.setAria(\"label\",\"\".concat(d.default.format(\"dxDataGrid-ariaColumn\"),\" \").concat(t.column.caption),e)))},_createRow:function(e){var t=this.callBase.apply(this,arguments);return t.toggleClass(\"dx-column-lines\",this.option(\"showColumnLines\")),\"header\"===e.rowType&&(t.addClass(\"dx-header-row\"),this._isLegacyKeyboardNavigation()||(0,c.registerKeyboardAction)(\"columnHeaders\",this,t,\"td\",this._handleActionKeyDown.bind(this))),t},_handleActionKeyDown:function(e){var t=e.event,n=(0,o.default)(t.target);if(this._lastActionElement=t.target,n.is(\".dx-header-filter\")){var i=this.getController(\"headerFilter\"),a=n.closest(\"td\"),r=this.getColumnIndexByElement(a);r>=0&&i.showHeaderFilterMenu(r,!1)}else{var s=n.closest(\".dx-row\");this._processHeaderAction(t,s)}t.preventDefault()},_renderCore:function(){var e=this,t=e.element(),n={};if(!e._tableElement||e._dataController.isLoaded()||e._hasRowElements){t.addClass(e.addWidgetPrefix(\"headers\")).toggleClass(e.addWidgetPrefix(\"nowrap\"),!e.option(\"wordWrapEnabled\")).empty(),e.setAria(\"role\",\"presentation\",t);var i=e._updateContent(e._renderTable({change:n}),n);return e.getRowCount()>1&&t.addClass(\"dx-header-multi-row\"),e.callBase.apply(e,arguments),i}},_renderRows:function(){var e=this;(e._dataController.isLoaded()||e._hasRowElements)&&(e.callBase.apply(e,arguments),e._hasRowElements=!0)},_renderRow:function(e,t){var n=1===this.getRowCount()?null:t.row.rowIndex;t.columns=this.getColumns(n),this.callBase(e,t)},_createCell:function(e){var t=e.column,n=this.callBase.apply(this,arguments);return t.rowspan>1&&\"header\"===e.rowType&&n.attr(\"rowSpan\",t.rowspan),n},_getRows:function(){var e=[],t=this.getRowCount();if(this.option(\"showColumnHeaders\"))for(var n=0;n<t;n++)e.push({rowType:\"header\",rowIndex:n});return e},_getCellTemplate:function(e){if(\"header\"===e.rowType)return this._getHeaderTemplate(e.column)},_columnOptionChanged:function(e){var t=e.changeTypes,n=e.optionNames;t.grouping||t.groupExpanding?t.grouping&&(this._isGroupingChanged=!0):(this.callBase(e),(n.width||n.visible)&&this.resizeCompleted.fire())},_isElementVisible:function(e){return e&&e.visible},_alignCaptionByCenter:function(e){var t=this._getIndicatorContainer(e,!0);t&&t.length&&(t.filter(\".\".concat(\"dx-visibility-hidden\")).remove(),(t=this._getIndicatorContainer(e)).clone().addClass(\"dx-visibility-hidden\").css(\"float\",\"\").insertBefore(e.children(\".\".concat(this.addWidgetPrefix(\"text-content\")))))},_updateCell:function(e,t){\"header\"===t.rowType&&\"center\"===t.column.alignment&&this._alignCaptionByCenter(e),this.callBase.apply(this,arguments)},_updateIndicator:function(e,n,i){var o=this.callBase.apply(this,arguments);return\"center\"===n.alignment&&this._alignCaptionByCenter(e),t(this,e,n),o},_getIndicatorContainer:function(e,t){var n=this.callBase(e);return t?n:n.filter(\":not(.\".concat(\"dx-visibility-hidden\",\")\"))},_isSortableElement:function(){return!0},getHeadersRowHeight:function(){var e=this.getTableElement(),t=e&&e.find(\".\".concat(\"dx-header-row\"));return t&&t.toArray().reduce((function(e,t){return e+(0,s.getHeight)(t)}),0)||0},getHeaderElement:function(e){var t=this.getColumnElements();return t&&t.eq(e)},getColumnElements:function(e,t){var n,i=this,a=i._columnsController,s=i.getRowCount();if(i.option(\"showColumnHeaders\")){if(s>1&&(!(0,l.isDefined)(e)||(0,l.isDefined)(t))){var u=[],d=(0,l.isDefined)(t)?a.getChildrenByBandColumn(t,!0):a.getVisibleColumns();return(0,r.each)(d,(function(t,o){var r=(0,l.isDefined)(e)?e:a.getRowIndex(o.index);(n=i._getCellElement(r,a.getVisibleIndex(o.index,r)))&&u.push(n.get(0))})),(0,o.default)(u)}if(!e||e<s)return i.getCellElements(e||0)}},getColumnIndexByElement:function(e){var t=this.getCellIndex(e),n=e.closest(\".dx-row\")[0].rowIndex,i=this.getColumns(n)[t];return i?i.index:-1},getVisibleColumnIndex:function(e,t){var n=this.getColumns()[e];return n?this._columnsController.getVisibleIndex(n.index,t):-1},getColumnWidths:function(){var e=this.getColumnElements();return e&&e.length?this._getWidths(e):this.callBase.apply(this,arguments)},allowDragging:function(e){var t=e&&this._columnsController.getRowIndex(e.index),n=this.getColumns(t);return(this.option(\"allowColumnReordering\")||this._columnsController.isColumnOptionUsed(\"allowReordering\"))&&e.allowReordering&&n.length>1},getBoundingRect:function(){var e=this.getColumnElements();return e&&e.length?{top:this.getTableElement().offset().top}:null},getName:function(){return\"headers\"},getColumnCount:function(){var e=this.getColumnElements();return e?e.length:0},isVisible:function(){return this.option(\"showColumnHeaders\")},optionChanged:function(e){switch(e.name){case\"showColumnHeaders\":case\"wordWrapEnabled\":case\"showColumnLines\":this._invalidate(!0,!0),e.handled=!0;break;default:this.callBase(e)}},getHeight:function(){return this.getElementHeight()},getContextMenuItems:function(e){var t=this,n=e.column;if(e.row&&(\"header\"===e.row.rowType||\"detailAdaptive\"===e.row.rowType)){var i=t.option(\"sorting\");if(i&&\"none\"!==i.mode&&n&&n.allowSorting){var o=function(e){setTimeout((function(){t._columnsController.changeSortOrder(n.index,e.itemData.value)}))};return[{text:i.ascendingText,value:\"asc\",disabled:\"asc\"===n.sortOrder,icon:\"context-menu-sort-asc\",onItemClick:o},{text:i.descendingText,value:\"desc\",disabled:\"desc\"===n.sortOrder,icon:\"context-menu-sort-desc\",onItemClick:o},{text:i.clearText,value:\"none\",disabled:!n.sortOrder,icon:\"context-menu-sort-none\",onItemClick:o}]}}},getRowCount:function(){return this._columnsController&&this._columnsController.getRowCount()},setRowsOpacity:function(e,t,n){var i,o,a=this,r=this.getRowCount(),s=this._columnsController.getColumns(),u=s&&s[e],d=u&&u.isBand&&u.index,c=function(e,n){e.ownerBand===d&&(o.eq(n).css({opacity:t}),e.isBand&&a.setRowsOpacity(e.index,t,i+1))};if((0,l.isDefined)(d))for(i=n=n||0;i<r;i++){if(o=this.getCellElements(i))this.getColumns(i).forEach(c)}}}}())}};t.columnHeadersModule=m},51255:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(20576),r=n(13306),s=n(37518);var l={_applyColumnState:function(e){var t,n=this.option(\"rtlEnabled\"),i=this._getColumnAlignment(e.column.alignment,n),a=(0,r.extend)(!0,{columnAlignment:i},e),s=a.rootElement.hasClass(\"dx-group-panel-item\"),l=this._createIndicatorContainer(a,s),u=(0,o.default)(\"<span>\").addClass(this._getIndicatorClassName(e.name)),d=null===(t=this.component)||void 0===t?void 0:t.getController(\"columns\"),c=(null==d?void 0:d.getHeaderContentAlignment(i))||i;return a.container=l,a.indicator=u,this._renderIndicator(a),l[!s&&e.showColumnLines||\"left\"!==c?\"prependTo\":\"appendTo\"](e.rootElement),u},_getIndicatorClassName:a.noop,_getColumnAlignment:function(e,t){return t=t||this.option(\"rtlEnabled\"),e&&\"center\"!==e?e:(0,s.getDefaultAlignment)(t)},_createIndicatorContainer:function(e,t){var n=this._getIndicatorContainer(e.rootElement),i=\"left\"===e.columnAlignment?\"right\":\"left\";return n.length||(n=(0,o.default)(\"<div>\").addClass(\"dx-column-indicators\")),this.setAria(\"role\",\"presentation\",n),n.css(\"float\",e.showColumnLines&&!t?i:null)},_getIndicatorContainer:function(e){return e&&e.find(\".\".concat(\"dx-column-indicators\"))},_getIndicatorElements:function(e){var t=this._getIndicatorContainer(e);return t&&t.children()},_renderIndicator:function(e){var t=e.container,n=e.indicator;t&&n&&t.append(n)},_updateIndicators:function(e){var t,n=this.getColumns(),i=this.getColumnElements();if(i&&n.length===i.length)for(var o=0;o<n.length;o++){t=i.eq(o),this._updateIndicator(t,n[o],e);var a=t.parent().data(\"options\");a&&a.cells&&(a.cells[t.index()].column=n[o])}},_updateIndicator:function(e,t,n){if(!t.command)return this._applyColumnState({name:n,rootElement:e,column:t,showColumnLines:this.option(\"showColumnLines\")})}};t.default=l},54057:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.USER_STATE_FIELD_NAMES_15_1=t.USER_STATE_FIELD_NAMES=t.MAX_SAFE_INTEGER=t.IGNORE_COLUMN_OPTION_NAMES=t.GROUP_LOCATION=t.GROUP_COMMAND_COLUMN_NAME=t.DETAIL_COMMAND_COLUMN_NAME=t.DEFAULT_COLUMN_OPTIONS=t.DATATYPE_OPERATIONS=t.COMMAND_EXPAND_CLASS=t.COLUMN_OPTION_REGEXP=t.COLUMN_INDEX_OPTIONS=t.COLUMN_CHOOSER_LOCATION=void 0;var n=[\"filterValues\",\"filterType\",\"fixed\",\"fixedPosition\"];t.USER_STATE_FIELD_NAMES_15_1=n;var i=[\"visibleIndex\",\"dataField\",\"name\",\"dataType\",\"width\",\"visible\",\"sortOrder\",\"lastSortOrder\",\"sortIndex\",\"groupIndex\",\"filterValue\",\"bufferedFilterValue\",\"selectedFilterOperation\",\"bufferedSelectedFilterOperation\",\"added\"].concat(n);t.USER_STATE_FIELD_NAMES=i;t.IGNORE_COLUMN_OPTION_NAMES={visibleWidth:!0,bestFitWidth:!0,bufferedFilterValue:!0};t.COMMAND_EXPAND_CLASS=\"dx-command-expand\";var o=Number.MAX_SAFE_INTEGER||9007199254740991;t.MAX_SAFE_INTEGER=o;t.GROUP_COMMAND_COLUMN_NAME=\"groupExpand\";t.DETAIL_COMMAND_COLUMN_NAME=\"detailExpand\";t.COLUMN_OPTION_REGEXP=/columns\\[(\\d+)\\]\\.?/gi;t.DEFAULT_COLUMN_OPTIONS={visible:!0,showInColumnChooser:!0};t.DATATYPE_OPERATIONS={number:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"between\"],string:[\"contains\",\"notcontains\",\"startswith\",\"endswith\",\"=\",\"<>\"],date:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"between\"],datetime:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"between\"]};t.COLUMN_INDEX_OPTIONS={visibleIndex:!0,groupIndex:!0,grouped:!0,sortIndex:!0,sortOrder:!0};t.GROUP_LOCATION=\"group\";t.COLUMN_CHOOSER_LOCATION=\"columnChooser\"},10279:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.columnsControllerModule=t.ColumnsController=void 0;var i=k(n(80209)),o=k(n(68374)),a=k(n(44504)),r=n(47617),s=n(62754),l=n(13306),u=n(78008),d=n(95479),c=n(48013),h=n(35922),f=k(n(26974)),p=k(n(67403)),g=n(85273),m=n(9234),_=k(n(91500)),v=k(n(28109)),y=k(n(18740)),b=k(n(96688)),x=k(n(15943)),w=k(n(60082)),C=n(54057),S=n(22732);function k(e){return e&&e.__esModule?e:{default:e}}function D(){return(D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function I(e,t){return(I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var T=function(e){var t,n;function v(){return e.apply(this,arguments)||this}n=e,(t=v).prototype=Object.create(n.prototype),t.prototype.constructor=t,I(t,n);var x=v.prototype;return x._getExpandColumnOptions=function(){return{type:\"expand\",command:\"expand\",width:\"auto\",cssClass:C.COMMAND_EXPAND_CLASS,allowEditing:!1,allowGrouping:!1,allowSorting:!1,allowResizing:!1,allowReordering:!1,allowHiding:!1}},x._getFirstItems=function(e){var t,n=[];return e&&e.items().length>0&&(t=w.default.normalizeSortingInfo(e.group()).length,n=function e(t,n){if(!t||!n)return t;for(var i=0;i<t.length;i++){var o=e(t[i].items||t[i].collapsedItems,n-1);if(o&&o.length)return o}}(e.items(),t)||[]),n},x._endUpdateCore=function(){!this._skipProcessingColumnsChange&&(0,S.fireColumnsChanged)(this)},x.init=function(e){var t=this.option(\"columns\");this._commandColumns=this._commandColumns||[],this._columns=this._columns||[],this._isColumnsFromOptions=!!t,this._isColumnsFromOptions?((0,S.assignColumns)(this,t?(0,S.createColumnsFromOptions)(this,t):[]),(0,S.applyUserState)(this)):(0,S.assignColumns)(this,this._columnsUserState?(0,S.createColumnsFromOptions)(this,this._columnsUserState):this._columns),(0,S.addExpandColumn)(this),this._dataSourceApplied?this.applyDataSource(this._dataSource,!0,e):(0,S.updateIndexes)(this),this._checkColumns()},x.callbackNames=function(){return[\"columnsChanged\"]},x.getColumnByPath=function(e,t){var n,i=[];return e.replace(C.COLUMN_OPTION_REGEXP,(function(e,t){return i.push(parseInt(t)),\"\"})),i.length&&(n=t?i.reduce((function(e,t){return e&&e.columns&&e.columns[t]}),{columns:t}):(0,S.getColumnByIndexes)(this,i)),n},x.optionChanged=function(t){var n;switch(t.name){case\"adaptColumnWidthByRatio\":t.handled=!0;break;case\"dataSource\":t.value===t.previousValue||this.option(\"columns\")||Array.isArray(t.value)&&Array.isArray(t.previousValue)||(this._columns=[]);break;case\"columns\":n=this._skipProcessingColumnsChange,t.handled=!0,this._skipProcessingColumnsChange||(t.name===t.fullName?(this._columnsUserState=null,this._ignoreColumnOptionNames=null,this.init()):(this._columnOptionChanged(t),n=!0)),n&&this._updateRequireResize(t);break;case\"commonColumnSettings\":case\"columnAutoWidth\":case\"allowColumnResizing\":case\"allowColumnReordering\":case\"columnFixing\":case\"grouping\":case\"groupPanel\":case\"regenerateColumnsByVisibleItems\":case\"customizeColumns\":case\"columnHidingEnabled\":case\"dateSerializationFormat\":case\"columnResizingMode\":case\"columnMinWidth\":case\"columnWidth\":t.handled=!0;var i=\"columnWidth\"===t.fullName&&[\"width\"];this.reinit(i);break;case\"rtlEnabled\":this.reinit();break;default:e.prototype.optionChanged.call(this,t)}},x._columnOptionChanged=function(e){var t={},n=this.getColumnByPath(e.fullName),i=e.fullName.replace(C.COLUMN_OPTION_REGEXP,\"\");n&&(i?t[i]=e.value:t=e.value,this._skipProcessingColumnsChange=e.fullName,this.columnOption(n.index,t),this._skipProcessingColumnsChange=!1)},x._updateRequireResize=function(e){var t=this.component;\"width\"===e.fullName.replace(C.COLUMN_OPTION_REGEXP,\"\")&&t._updateLockCount&&(t._requireResize=!0)},x.publicMethods=function(){return[\"addColumn\",\"deleteColumn\",\"columnOption\",\"columnCount\",\"clearSorting\",\"clearGrouping\",\"getVisibleColumns\",\"getVisibleColumnIndex\"]},x.applyDataSource=function(e,t,n){var i=e&&e.isLoaded();if(this._dataSource=e,!this._dataSourceApplied||0===this._dataSourceColumnsCount||t||this.option(\"regenerateColumnsByVisibleItems\")){if(i){if(!this._isColumnsFromOptions){var o=(0,S.createColumnsFromDataSource)(this,e);o.length&&((0,S.assignColumns)(this,o),this._dataSourceColumnsCount=this._columns.length,(0,S.applyUserState)(this))}return this.updateColumns(e,t,n)}this._dataSourceApplied=!1,(0,S.updateIndexes)(this)}else if(i&&!this.isAllDataTypesDefined(!0)&&this.updateColumnDataTypes(e))return(0,S.updateColumnChanges)(this,\"columns\"),(0,S.fireColumnsChanged)(this),(new s.Deferred).reject().promise()},x.reset=function(){this._dataSource=null,this._dataSourceApplied=!1,this._dataSourceColumnsCount=void 0,this.reinit()},x.resetColumnsCache=function(){this._visibleColumns=void 0,this._fixedColumns=void 0,this._rowCount=void 0,(0,S.resetBandColumnsCache)(this)},x.reinit=function(e){this._columnsUserState=this.getUserState(),this._ignoreColumnOptionNames=e||null,this.init(),e&&(this._ignoreColumnOptionNames=null)},x.isInitialized=function(){return!!this._columns.length||!!this.option(\"columns\")},x.isDataSourceApplied=function(){return this._dataSourceApplied},x.getCommonSettings=function(e){var t,n,i=(!e||!e.type)&&this.option(\"commonColumnSettings\")||{},o=null!==(t=this.option(\"grouping\"))&&void 0!==t?t:{},a=null!==(n=this.option(\"groupPanel\"))&&void 0!==n?n:{};return(0,l.extend)({allowFixing:this.option(\"columnFixing.enabled\"),allowResizing:this.option(\"allowColumnResizing\")||void 0,allowReordering:this.option(\"allowColumnReordering\"),minWidth:this.option(\"columnMinWidth\"),width:this.option(\"columnWidth\"),autoExpandGroup:o.autoExpandAll,allowCollapsing:o.allowCollapsing,allowGrouping:a.allowColumnDragging&&a.visible||o.contextMenuEnabled},i)},x.isColumnOptionUsed=function(e){for(var t=0;t<this._columns.length;t++)if(this._columns[t][e])return!0},x.isAllDataTypesDefined=function(e){var t=this._columns;if(!t.length)return!1;for(var n=0;n<t.length;n++)if((t[n].dataField||t[n].calculateCellValue!==t[n].defaultCalculateCellValue)&&(!t[n].dataType||e&&t[n].deserializeValue&&void 0===t[n].serializationFormat))return!1;return!0},x.getColumns=function(){return this._columns},x.isBandColumnsUsed=function(){return this.getColumns().some((function(e){return e.isBand}))},x.getGroupColumns=function(){var e=[];return(0,d.each)(this._columns,(function(){(0,h.isDefined)(this.groupIndex)&&(e[this.groupIndex]=this)})),e},x._shouldReturnVisibleColumns=function(){return!0},x._compileVisibleColumns=function(e){return this._visibleColumns=this._visibleColumns||this._compileVisibleColumnsCore(),e=(0,h.isDefined)(e)?e:this._visibleColumns.length-1,this._visibleColumns[e]||[]},x.getVisibleColumns=function(e,t){return this._shouldReturnVisibleColumns()?this._compileVisibleColumns.apply(this,arguments):[]},x.getFixedColumns=function(e){return this._fixedColumns=this._fixedColumns||this._getFixedColumnsCore(),e=(0,h.isDefined)(e)?e:this._fixedColumns.length-1,this._fixedColumns[e]||[]},x.getFilteringColumns=function(){return this.getColumns().filter((function(e){return(e.dataField||e.name)&&(e.allowFiltering||e.allowHeaderFiltering)})).map((function(e){var t=(0,l.extend)(!0,{},e);return(0,h.isDefined)(t.dataField)||(t.dataField=t.name),t.filterOperations=e.filterOperations!==e.defaultFilterOperations?t.filterOperations:null,t}))},x.getColumnIndexOffset=function(){return 0},x._getFixedColumnsCore=function(){var e,t,n,i=[],o=this.getRowCount(),a={command:\"transparent\"},r=0;if(this._isColumnFixing())for(var s=0;s<=o;s++){e=0,n=null,t=null;for(var l=this.getVisibleColumns(s,!0),u=0;u<l.length;u++){var d=l[u-1],c=l[u];c.fixed?d&&d.fixed&&(0,S.getFixedPosition)(this,d)!==(0,S.getFixedPosition)(this,c)?(0,h.isDefined)(t)||(t=u):n=c.fixedPosition:(0===s&&(c.isBand&&c.colspan?r+=c.colspan:r++),e++,(0,h.isDefined)(t)||(t=u))}if(0===s&&(0===e||e>=l.length))return[];(0,h.isDefined)(t)||(t=\"right\"===n?0:l.length),i[s]=l.slice(0),a.colspan||(a.colspan=r),i[s].splice(t,e,a)}return i.map((function(e){return e.map((function(e){var t=D({},e);return t.headerId&&(t.headerId+=\"-fixed\"),t}))}))},x._isColumnFixing=function(){var e=this.option(\"columnFixing.enabled\");return!e&&(0,d.each)(this._columns,(function(t,n){if(n.fixed)return e=!0,!1})),e},x._getExpandColumnsCore=function(){return this.getGroupColumns()},x.getExpandColumns=function(){var e,t=this._getExpandColumnsCore(),n=t.filter((function(e){return 0===e.groupIndex}))[0],i=n&&n.fixed,o=this._isColumnFixing(),a=this.option(\"rtlEnabled\");return t.length&&(e=this.columnOption(\"command:expand\")),t=(0,d.map)(t,(function(t){return(0,l.extend)({},t,{visibleWidth:null,minWidth:null,cellTemplate:(0,h.isDefined)(t.groupIndex)?null:t.cellTemplate,headerCellTemplate:null,fixed:!(!(0,h.isDefined)(t.groupIndex)||!i)||o,fixedPosition:a?\"right\":\"left\"},e,{index:t.index,type:t.type||C.GROUP_COMMAND_COLUMN_NAME})}))},x.getBandColumnsCache=function(){if(!this._bandColumnsCache){var e=this._columns,t={},n={},i=!0;e.forEach((function(o){var a=o.ownerBand,r=(0,h.isObject)(a)?a.index:a,s=e[r];o.hasColumns&&(i=!1),o.colspan&&(o.colspan=void 0),o.rowspan&&(o.rowspan=void 0),s?n[o.index]=s:r=-1,t[r]=t[r]||[],t[r].push(o)})),this._bandColumnsCache={isPlain:i,columnChildrenByIndex:t,columnParentByIndex:n}}return this._bandColumnsCache},x._isColumnVisible=function(e){return e.visible&&this.isParentColumnVisible(e.index)},x._isColumnInGroupPanel=function(e){return(0,h.isDefined)(e.groupIndex)&&!e.showWhenGrouped},x.hasVisibleDataColumns=function(){var e=this;return this._columns.some((function(t){var n=e._isColumnVisible(t),i=e._isColumnInGroupPanel(t),o=!!t.command;return n&&!i&&!o}))},x._compileVisibleColumnsCore=function(){var e=this.getBandColumnsCache(),t=(0,S.mergeColumns)(this,this._columns,this._commandColumns,!0);(0,S.processBandColumns)(this,t,e);var n=this._getIndexedColumns(t),i=this._getVisibleColumnsFromIndexed(n);return!this.hasVisibleDataColumns()&&this._columns.length&&i[i.length-1].push({command:\"empty\"}),i},x._getIndexedColumns=function(e){for(var t=this,n=this.option(\"rtlEnabled\"),i=this.getRowCount(),o=(0,S.digitsCount)(e.length),a=this.getBandColumnsCache(),r=[],s=[],l=0;l<i;l+=1)s[l]=[{}],r[l]=[{},{},{}];return e.forEach((function(e){var i,l,u,d,c,h=e.visibleIndex,f=(0,S.getParentBandColumns)(e.index,a.columnParentByIndex),p=t._isColumnVisible(e),g=t._isColumnInGroupPanel(e);if(p&&!g){var m=f.length;if(h<0)h=-h,c=s[m];else if(e.fixed=null!==(l=null===(i=f[0])||void 0===i?void 0:i.fixed)&&void 0!==l?l:e.fixed,e.fixedPosition=null!==(d=null===(u=f[0])||void 0===u?void 0:u.fixedPosition)&&void 0!==d?d:e.fixedPosition,e.fixed){var _=!!e.command&&!(0,S.isCustomCommandColumn)(t,e),v=\"right\"===e.fixedPosition;n&&!_&&(v=!v),c=v?r[m][2]:r[m][0]}else c=r[m][1];if(f.length){h=(0,S.numberToString)(h,o);for(var y=f.length-1;y>=0;y-=1)h=(0,S.numberToString)(f[y].visibleIndex,o)+h}c[h]=c[h]||[],c[h].push(e)}})),{positiveIndexedColumns:r,negativeIndexedColumns:s}},x._getVisibleColumnsFromIndexed=function(e){for(var t=this,n=e.positiveIndexedColumns,i=e.negativeIndexedColumns,o=[],a=this.getRowCount(),r=(0,S.mergeColumns)(this,this.getExpandColumns(),this._columns),s=0,l=0,u=function(e){o.push([]),(0,c.orderEach)(i[e],(function(t,n){o[e].unshift.apply(o[e],n)}));var a=o[e].length;n[e].forEach((function(t){(0,c.orderEach)(t,(function(t,n){o[e].push.apply(o[e],n)}))})),l<=e&&(l+=S.processExpandColumns.call(t,o[e],r,C.DETAIL_COMMAND_COLUMN_NAME,a)),s<=e&&(s+=S.processExpandColumns.call(t,o[e],r,C.GROUP_COMMAND_COLUMN_NAME,a))},d=0;d<a;d+=1)u(d);return o.push((0,S.getDataColumns)(o)),o},x.getInvisibleColumns=function(e,t){var n,i=this,o=[];return e=e||i._columns,(0,d.each)(e,(function(e,a){a.ownerBand===t&&(a.isBand?(n=a.visible?i.getInvisibleColumns(i.getChildrenByBandColumn(a.index),a.index):i.getChildrenByBandColumn(a.index)).length&&(o.push(a),o=o.concat(n)):a.visible||o.push(a))})),o},x.getChooserColumns=function(e){var t=(e?this.getColumns():this.getInvisibleColumns()).filter((function(e){return e.showInColumnChooser})),n=this.option(\"columnChooser.sortOrder\");return(0,S.sortColumns)(t,n)},x.allowMoveColumn=function(e,t,n,i){var o=(0,S.getColumnIndexByVisibleIndex)(this,e,n),a=this._columns[o];return!(!a||!(a.allowReordering||a.allowGrouping||a.allowHiding))&&(n===i?n!==C.COLUMN_CHOOSER_LOCATION&&((e=(0,h.isObject)(e)?e.columnIndex:e)!==(t=(0,h.isObject)(t)?t.columnIndex:t)&&e+1!==t):n===C.GROUP_LOCATION&&i!==C.COLUMN_CHOOSER_LOCATION||i===C.GROUP_LOCATION?a&&a.allowGrouping:n!==C.COLUMN_CHOOSER_LOCATION&&i!==C.COLUMN_CHOOSER_LOCATION||a&&a.allowHiding)},x.moveColumn=function(e,t,n,i){var o,a,r={},s=(0,S.getColumnIndexByVisibleIndex)(this,e,n),l=(0,S.getColumnIndexByVisibleIndex)(this,t,i);if(s>=0){var u=this._columns[s];if(t=(0,h.isObject)(t)?t.columnIndex:t,a=l>=0?this._columns[l].groupIndex:-1,(0,h.isDefined)(u.groupIndex)&&n===C.GROUP_LOCATION&&(a>u.groupIndex&&a--,i!==C.GROUP_LOCATION?r.groupIndex=void 0:(o=u.groupIndex,delete u.groupIndex,(0,S.updateColumnGroupIndexes)(this))),i===C.GROUP_LOCATION)r.groupIndex=(0,S.moveColumnToGroup)(this,u,a),u.groupIndex=o;else if(t>=0){var d=this._columns[l];d&&u.ownerBand===d.ownerBand?(0,S.isColumnFixed)(this,u)^(0,S.isColumnFixed)(this,d)?r.visibleIndex=C.MAX_SAFE_INTEGER:r.visibleIndex=d.visibleIndex:r.visibleIndex=C.MAX_SAFE_INTEGER}var c=i!==C.COLUMN_CHOOSER_LOCATION;u.visible!==c&&(r.visible=c),this.columnOption(u.index,r)}},x.changeSortOrder=function(e,t){var n={},i=this.option(\"sorting\"),o=i&&i.mode,a=\"single\"===o||!t,r=\"single\"===o||\"multiple\"===o,s=this._columns[e];r&&s&&s.allowSorting&&(a&&!(0,h.isDefined)(s.groupIndex)&&(0,d.each)(this._columns,(function(t){t!==e&&this.sortOrder&&((0,h.isDefined)(this.groupIndex)||delete this.sortOrder,delete this.sortIndex)})),(0,S.isSortOrderValid)(t)?s.sortOrder!==t&&(n.sortOrder=t):\"none\"===t?s.sortOrder&&(n.sortIndex=void 0,n.sortOrder=void 0):function(e){if(\"ctrl\"===t){if(!(\"sortOrder\"in e)||!(\"sortIndex\"in e))return!1;n.sortOrder=void 0,n.sortIndex=void 0}else(0,h.isDefined)(e.groupIndex)||(0,h.isDefined)(e.sortIndex)?n.sortOrder=\"desc\"===e.sortOrder?\"asc\":\"desc\":n.sortOrder=\"asc\"}(s)),this.columnOption(s.index,n)},x.getSortDataSourceParameters=function(e){var t=[],n=[];return(0,d.each)(this._columns,(function(){(this.dataField||this.selector||this.calculateCellValue)&&(0,h.isDefined)(this.sortIndex)&&!(0,h.isDefined)(this.groupIndex)&&(t[this.sortIndex]=this)})),(0,d.each)(t,(function(){var t=this&&this.sortOrder;if((0,S.isSortOrderValid)(t)){var i={selector:this.calculateSortValue||this.displayField||this.calculateDisplayValue||e&&this.selector||this.dataField||this.calculateCellValue,desc:\"desc\"===this.sortOrder};this.sortingMethod&&(i.compare=this.sortingMethod.bind(this)),n.push(i)}})),n.length>0?n:null},x.getGroupDataSourceParameters=function(e){var t=[];return(0,d.each)(this.getGroupColumns(),(function(){var n=this.calculateGroupValue||this.displayField||this.calculateDisplayValue||e&&this.selector||this.dataField||this.calculateCellValue;if(n){var i={selector:n,desc:\"desc\"===this.sortOrder,isExpanded:!!this.autoExpandGroup};this.sortingMethod&&(i.compare=this.sortingMethod.bind(this)),t.push(i)}})),t.length>0?t:null},x.refresh=function(e){var t=[];return(0,d.each)(this._columns,(function(){var n=this.lookup;if(n&&!this.calculateDisplayValue){if(e&&n.valueMap)return;n.update&&t.push(n.update())}})),s.when.apply(o.default,t).done(S.resetColumnsCache.bind(null,this))},x._updateColumnOptions=function(e,t){e.selector=e.selector||function(t){return e.calculateCellValue(t)},this._reinitAfterLookupChanges&&this._previousColumns?(e.selector.columnIndex=t,e.selector.originalCallback=this._previousColumns[t].selector.originalCallback):(e.selector.columnIndex=t,e.selector.originalCallback=e.selector),(0,d.each)([\"calculateSortValue\",\"calculateGroupValue\",\"calculateDisplayValue\"],(function(n,i){var o=e[i];if((0,h.isFunction)(o))if(o.originalCallback)e[i].context.column=e;else{var a={column:e};e[i]=function(e){return o.call(a.column,e)},e[i].originalCallback=o,e[i].columnIndex=t,e[i].context=a}})),(0,h.isString)(e.calculateDisplayValue)&&(e.displayField=e.calculateDisplayValue,e.calculateDisplayValue=(0,r.compileGetter)(e.displayField)),e.calculateDisplayValue&&(e.displayValueMap=e.displayValueMap||{}),(0,S.updateSerializers)(e,e.dataType);var n=e.lookup;n&&(0,S.updateSerializers)(n,n.dataType);var i=n?n.dataType:e.dataType;i&&(e.alignment=e.alignment||(0,S.getAlignmentByDataType)(i,this.option(\"rtlEnabled\")),e.format=e.format||w.default.getFormatByDataType(i),e.customizeText=e.customizeText||(0,S.getCustomizeTextByDataType)(i),e.defaultFilterOperations=e.defaultFilterOperations||!n&&C.DATATYPE_OPERATIONS[i]||[],(0,h.isDefined)(e.filterOperations)||(0,S.setFilterOperationsAsDefaultValues)(e),e.defaultFilterOperation=e.filterOperations&&e.filterOperations[0]||\"=\",e.showEditorAlways=(0,h.isDefined)(e.showEditorAlways)?e.showEditorAlways:\"boolean\"===i&&!e.cellTemplate&&!e.lookup)},x.updateColumnDataTypes=function(e){var t=this,n=t.option(\"dateSerializationFormat\"),i=t._getFirstItems(e),o=!1;return(0,d.each)(t._columns,(function(e,a){var r,s,l,u,d,c=a.lookup;if(w.default.isDateType(a.dataType)&&void 0===a.serializationFormat&&(a.serializationFormat=n),c&&w.default.isDateType(c.dataType)&&void 0===a.serializationFormat&&(c.serializationFormat=n),a.calculateCellValue&&i.length){if(!a.dataType||c&&!c.dataType){for(r=0;r<i.length;r++)s=a.calculateCellValue(i[r]),a.dataType||(d=(0,S.getValueDataType)(s),(l=l||d)&&d&&l!==d&&(l=\"string\")),c&&!c.dataType&&(d=(0,S.getValueDataType)(w.default.getDisplayValue(a,s,i[r])),(u=u||d)&&d&&u!==d&&(u=\"string\"));(l||u)&&(l&&(a.dataType=l),c&&u&&(c.dataType=u),o=!0)}if(void 0===a.serializationFormat||c&&void 0===c.serializationFormat)for(r=0;r<i.length;r++)s=a.calculateCellValue(i[r],!0),void 0===a.serializationFormat&&(a.serializationFormat=(0,S.getSerializationFormat)(a.dataType,s)),c&&void 0===c.serializationFormat&&(c.serializationFormat=(0,S.getSerializationFormat)(c.dataType,c.calculateCellValue(s,!0)))}t._updateColumnOptions(a,e)})),o},x._customizeColumns=function(e){var t=this.option(\"customizeColumns\");t&&(e.some((function(e){return(0,h.isObject)(e.ownerBand)}))&&(0,S.updateIndexes)(this),t(e),(0,S.assignColumns)(this,(0,S.createColumnsFromOptions)(this,e)))},x.updateColumns=function(e,t,n){var i=this;if(t||this.updateSortingGrouping(e),!e||e.isLoaded()){var o=e?e.sort()||[]:this.getSortDataSourceParameters(),a=e?e.group()||[]:this.getGroupDataSourceParameters(),r=null==e?void 0:e.lastLoadOptions().filter;n||this._customizeColumns(this._columns),(0,S.updateIndexes)(this);var l=this._columns;return(0,s.when)(this.refresh(!0)).always((function(){i._columns===l&&(i._updateChanges(e,{sorting:o,grouping:a,filtering:r}),(0,S.fireColumnsChanged)(i))}))}},x._updateChanges=function(e,t){e&&(this.updateColumnDataTypes(e),this._dataSourceApplied=!0),w.default.equalSortParameters(t.sorting,this.getSortDataSourceParameters())||(0,S.updateColumnChanges)(this,\"sorting\"),w.default.equalSortParameters(t.grouping,this.getGroupDataSourceParameters())||(0,S.updateColumnChanges)(this,\"grouping\");var n=this.getController(\"data\");n&&!w.default.equalFilterParameters(t.filtering,n.getCombinedFilter())&&(0,S.updateColumnChanges)(this,\"filtering\"),(0,S.updateColumnChanges)(this,\"columns\")},x.updateSortingGrouping=function(e,t){var n,i,o=this,a=function(e,n,i){(0,d.each)(e,(function(e,o){if(delete o[i],n)for(var a=0;a<n.length;a++){var r=n[a].selector,s=n[a].isExpanded;if(r===o.dataField||r===o.name||r===o.selector||r===o.calculateCellValue||r===o.calculateGroupValue||r===o.calculateDisplayValue){o.sortOrder=t?\"sortOrder\"in o?o.sortOrder:n[a].desc?\"desc\":\"asc\":o.sortOrder||(n[a].desc?\"desc\":\"asc\"),void 0!==s&&(o.autoExpandGroup=s),o[i]=a;break}}}))};if(e){n=w.default.normalizeSortingInfo(e.sort());var r=w.default.normalizeSortingInfo(e.group()),s=o.getGroupDataSourceParameters(),l=o.getSortDataSourceParameters(),u=!w.default.equalSortParameters(r,s,!0),c=!u&&!w.default.equalSortParameters(r,s);o._columns.length||((0,d.each)(r,(function(e,t){o._columns.push(t.selector)})),(0,d.each)(n,(function(e,t){(0,h.isFunction)(t.selector)||o._columns.push(t.selector)})),(0,S.assignColumns)(o,(0,S.createColumnsFromOptions)(o,o._columns))),!t&&(s||o._hasUserState)||!u&&!c||(a(o._columns,r,\"groupIndex\"),t&&(u&&(0,S.updateColumnChanges)(o,\"grouping\"),c&&(0,S.updateColumnChanges)(o,\"groupExpanding\"),i=!0)),!t&&(l||o._hasUserState)||w.default.equalSortParameters(n,l)||(a(o._columns,n,\"sortIndex\"),t&&((0,S.updateColumnChanges)(o,\"sorting\"),i=!0)),i&&(0,S.fireColumnsChanged)(o)}},x.updateFilter=function(e,t,n,o){if(!Array.isArray(e))return e;if(n=void 0!==(e=(0,l.extend)([],e)).columnIndex?e.columnIndex:n,o=void 0!==e.filterValue?e.filterValue:o,(0,h.isString)(e[0])&&\"!\"!==e[0]){var a=this.columnOption(e[0]);t?(0,i.default)().forceIsoDateParsing&&a&&a.serializeValue&&e.length>1&&(e[e.length-1]=a.serializeValue(e[e.length-1],\"filter\")):a&&a.selector&&(e[0]=a.selector,e[0].columnIndex=a.index)}else(0,h.isFunction)(e[0])&&(e[0].columnIndex=n,e[0].filterValue=o,e[0].selectedFilterOperation=e.selectedFilterOperation);for(var r=0;r<e.length;r++)e[r]=this.updateFilter(e[r],t,n,o);return e},x.columnCount=function(){return this._columns?this._columns.length:0},x.columnOption=function(e,t,n,i){var o=this,a=o._columns.concat(o._commandColumns),r=(0,S.findColumn)(a,e);if(r){if(1===arguments.length)return(0,l.extend)({},r);if((0,h.isString)(t)){if(2===arguments.length)return(0,S.columnOptionCore)(o,r,t);(0,S.columnOptionCore)(o,r,t,n,i)}else(0,h.isObject)(t)&&(0,d.each)(t,(function(e,t){(0,S.columnOptionCore)(o,r,e,t,i)}));(0,S.fireColumnsChanged)(o)}},x.clearSorting=function(){var e=this.columnCount();this.beginUpdate();for(var t=0;t<e;t++)this.columnOption(t,\"sortOrder\",void 0),delete(0,S.findColumn)(this._columns,t).sortOrder;this.endUpdate()},x.clearGrouping=function(){var e=this.columnCount();this.beginUpdate();for(var t=0;t<e;t++)this.columnOption(t,\"groupIndex\",void 0);this.endUpdate()},x.getVisibleIndex=function(e,t){for(var n=this.getVisibleColumns(t),i=n.length-1;i>=0;i--)if(n[i].index===e)return i;return-1},x.getVisibleIndexByColumn=function(e,t){var n=this.getVisibleColumns(t),i=n.filter((function(t){return t.index===e.index&&t.command===e.command}))[0];return n.indexOf(i)},x.getVisibleColumnIndex=function(e,t){var n=this.columnOption(e,\"index\");return this.getVisibleIndex(n,t)},x.addColumn=function(e){var t=(0,S.createColumn)(this,e),n=this._columns.length;this._columns.push(t),t.isBand&&(this._columns=(0,S.createColumnsFromOptions)(this,this._columns),t=this._columns[n]),t.added=e,(0,S.updateIndexes)(this,t),this.updateColumns(this._dataSource),this._checkColumns()},x.deleteColumn=function(e){var t=this.columnOption(e);if(t&&t.index>=0){if((0,S.convertOwnerBandToColumnReference)(this._columns),this._columns.splice(t.index,1),t.isBand){var n=this.getChildrenByBandColumn(t.index).map((function(e){return e.index}));this._columns=this._columns.filter((function(e){return n.indexOf(e.index)<0}))}(0,S.updateIndexes)(this),this.updateColumns(this._dataSource)}},x.addCommandColumn=function(e){var t=this._commandColumns.filter((function(t){return t.command===e.command}))[0];t||(t=e,this._commandColumns.push(t))},x.getUserState=function(){var e,t=this._columns,n=[];function i(i,o){void 0!==t[e][o]&&(n[e][o]=t[e][o])}for(e=0;e<t.length;e++)n[e]={},(0,d.each)(C.USER_STATE_FIELD_NAMES,i);return n},x.setName=function(e){e.name=e.name||e.dataField||e.type},x.setUserState=function(e){var t=this._dataSource,n=this.option(\"stateStoring.ignoreColumnOptionNames\");if(null==e||e.forEach(this.setName),!n){n=[];var i=this.getCommonSettings();this.option(\"columnChooser.enabled\")||n.push(\"visible\"),\"none\"===this.option(\"sorting.mode\")&&n.push(\"sortIndex\",\"sortOrder\"),i.allowGrouping||n.push(\"groupIndex\"),i.allowFixing||n.push(\"fixed\",\"fixedPosition\"),i.allowResizing||n.push(\"width\",\"visibleWidth\");var o=!this.option(\"filterPanel.visible\");!this.option(\"filterRow.visible\")&&o&&n.push(\"filterValue\",\"selectedFilterOperation\"),!this.option(\"headerFilter.visible\")&&o&&n.push(\"filterValues\",\"filterType\")}this._columnsUserState=e,this._ignoreColumnOptionNames=n,this._hasUserState=!!e,(0,S.updateColumnChanges)(this,\"filtering\"),this.init(!0),t&&(t.sort(this.getSortDataSourceParameters()),t.group(this.getGroupDataSourceParameters()))},x._checkColumns=function(){var e={},t=!1,n=[];this._columns.forEach((function(i){var o,a=i.name,r=null===(o=i.columns)||void 0===o?void 0:o.length,s=i.allowEditing&&(i.dataField||i.setCellValue)&&!r;a?(e[a]&&n.push('\"'.concat(a,'\"')),e[a]=!0):s&&(t=!0)})),n.length&&b.default.log(\"E1059\",n.join(\", \")),t&&b.default.log(\"E1060\")},x._createCalculatedColumnOptions=function(e,t){var n={},i=e.dataField;if((Array.isArray(e.columns)&&e.columns.length||e.isBand)&&(n.isBand=!0,i=null),i){if((0,h.isString)(i)){var o=(0,r.compileGetter)(i);n={caption:(0,u.captionize)(i),calculateCellValue:function(e,t){var n=o(e);return this.deserializeValue&&!t?this.deserializeValue(n):n},setCellValue:S.defaultSetCellValue,parseValue:function(e){var t,n;return\"number\"===this.dataType?(0,h.isString)(e)&&this.format?t=(0,S.strictParseNumber)(e.trim(),this.format):(0,h.isDefined)(e)&&(0,h.isNumeric)(e)&&(t=Number(e)):\"boolean\"===this.dataType?e===this.trueText?t=!0:e===this.falseText&&(t=!1):w.default.isDateType(this.dataType)?(n=_.default.parse(e,this.format))&&(t=n):t=e,t}}}n.allowFiltering=!0}else n.allowFiltering=!!e.calculateFilterExpression;return n.calculateFilterExpression=function(){return y.default.defaultCalculateFilterExpression.apply(this,arguments)},n.defaultFilterOperation=\"=\",n.createFilterExpression=function(e,t){var n;return this.calculateFilterExpression&&(n=this.calculateFilterExpression.apply(this,arguments)),(0,h.isFunction)(n)&&(n=[n,\"=\",!0]),n&&(n.columnIndex=this.index,n.filterValue=e,n.selectedFilterOperation=t),n},i&&(0,h.isString)(i)||(0,l.extend)(!0,n,{allowSorting:!1,allowGrouping:!1,calculateCellValue:function(){return null}}),t&&(n.allowFixing=!1),e.dataType&&(n.userDataType=e.dataType),e.selectedFilterOperation&&!(\"defaultSelectedFilterOperation\"in n)&&(n.defaultSelectedFilterOperation=e.selectedFilterOperation),e.lookup&&(n.lookup={calculateCellValue:function(e,t){return this.valueExpr&&(e=this.valueMap&&this.valueMap[e]),this.deserializeValue&&!t?this.deserializeValue(e):e},updateValueMap:function(){if(this.valueMap={},this.items)for(var e=(0,r.compileGetter)(this.valueExpr),t=(0,r.compileGetter)(this.displayExpr),n=0;n<this.items.length;n++){var i=this.items[n],o=t(i);this.valueMap[e(i)]=o,this.dataType=this.dataType||(0,S.getValueDataType)(o)}},update:function(){var e=this,t=e.dataSource;if(t)if((0,h.isFunction)(t)&&!f.default.isWrapped(t)&&(t=t({})),(0,h.isPlainObject)(t)||t instanceof p.default||Array.isArray(t)){if(e.valueExpr){var n=(0,m.normalizeDataSourceOptions)(t);return n.paginate=!1,(t=new g.DataSource(n)).load().done((function(t){e.items=t,e.updateValueMap&&e.updateValueMap()}))}}else b.default.log(\"E1016\");else e.updateValueMap&&e.updateValueMap()}}),n.resizedCallbacks=(0,a.default)(),e.resized&&n.resizedCallbacks.add(e.resized.bind(e)),(0,d.each)(n,(function(e){if((0,h.isFunction)(n[e])&&0!==e.indexOf(\"default\")){var t=\"default\".concat(e.charAt(0).toUpperCase()).concat(e.substr(1));n[t]=n[e]}})),n},x.getRowCount=function(){return this._rowCount=this._rowCount||(0,S.getRowCount)(this),this._rowCount},x.getRowIndex=function(e,t){var n=this._columns[e],i=this.getBandColumnsCache();return n&&(t||n.visible&&!n.command&&!(0,h.isDefined)(n.groupIndex))?(0,S.getParentBandColumns)(e,i.columnParentByIndex).length:0},x.getChildrenByBandColumn=function(e,t){var n=this.getBandColumnsCache(),i=(0,S.getChildrenByBandColumn)(e,n.columnChildrenByIndex,!t);return t?i.filter((function(e){return e.visible&&!e.command})).sort((function(e,t){return e.visibleIndex-t.visibleIndex})):i},x.isParentBandColumn=function(e,t){var n=!1,i=this._columns[e],o=this.getBandColumnsCache(),a=i&&(0,S.getParentBandColumns)(e,o.columnParentByIndex);return a&&(0,d.each)(a,(function(e,i){if(i.index===t)return n=!0,!1})),n},x.isParentColumnVisible=function(e){var t=!0,n=this.getBandColumnsCache(),i=e>=0&&(0,S.getParentBandColumns)(e,n.columnParentByIndex);return i&&(0,d.each)(i,(function(e,n){return t=t&&n.visible})),t},x.getColumnId=function(e){return e.command&&e.type===C.GROUP_COMMAND_COLUMN_NAME?(0,S.isCustomCommandColumn)(this,e)?\"type:\".concat(e.type):\"command:\".concat(e.command):e.index},x.getCustomizeTextByDataType=function(e){return(0,S.getCustomizeTextByDataType)(e)},x.getHeaderContentAlignment=function(e){return this.option(\"rtlEnabled\")?\"left\"===e?\"right\":\"left\":e},v}(x.default.Controller);t.ColumnsController=T;var E={defaultOptions:function(){return{commonColumnSettings:{allowFiltering:!0,allowHiding:!0,allowSorting:!0,allowEditing:!0,encodeHtml:!0,trueText:v.default.format(\"dxDataGrid-trueText\"),falseText:v.default.format(\"dxDataGrid-falseText\")},allowColumnReordering:!1,allowColumnResizing:!1,columnResizingMode:\"nextColumn\",columnMinWidth:void 0,columnWidth:void 0,adaptColumnWidthByRatio:!0,columns:void 0,regenerateColumnsByVisibleItems:!1,customizeColumns:null,dateSerializationFormat:void 0}},controllers:{columns:T}};t.columnsControllerModule=E},22732:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.applyUserState=t.addExpandColumn=void 0,t.assignColumns=P,t.isCustomCommandColumn=t.isColumnFixed=t.getValueDataType=t.getSerializationFormat=t.getRowCount=t.getParentBandColumns=t.getFixedPosition=t.getDataColumns=t.getCustomizeTextByDataType=t.getColumnIndexByVisibleIndex=t.getColumnFullPath=t.getColumnByIndexes=t.getChildrenByBandColumn=t.getAlignmentByDataType=t.fireOptionChanged=t.fireColumnsChanged=t.findColumn=t.digitsCount=t.defaultSetCellValue=t.customizeTextForBooleanDataType=t.createColumnsFromOptions=t.createColumnsFromDataSource=t.createColumn=t.convertOwnerBandToColumnReference=t.columnOptionCore=t.calculateColspan=void 0,t.isSortOrderValid=L,t.updateSortOrderWhenGrouping=t.updateSerializers=t.updateIndexes=t.updateColumnVisibleIndexes=t.updateColumnSortIndexes=t.updateColumnIndexes=t.updateColumnGroupIndexes=t.updateColumnChanges=t.strictParseNumber=t.sortColumns=t.setFilterOperationsAsDefaultValues=t.resetColumnsCache=t.resetBandColumnsCache=t.processExpandColumns=t.processBandColumns=t.numberToString=t.moveColumnToGroup=t.mergeColumns=void 0;var i=n(89386),o=n(20576),a=n(47617),r=m(n(69434)),s=n(13306),l=n(95479),u=n(48013),d=n(37518),c=n(35922),h=m(n(26974)),f=m(n(18016)),p=m(n(60082)),g=n(54057);function m(e){return e&&e.__esModule?e:{default:e}}var _=function(e){e.filterOperations=e.defaultFilterOperations};t.setFilterOperationsAsDefaultValues=_;var v=1,y=function(e,t,n,i){var o={};if(t){(0,c.isString)(t)&&(t={dataField:t}),e.setName(t);var a={};if(t.command)a=(0,u.deepExtendArraySafe)(o,t);else{o=e.getCommonSettings(t),n&&n.name&&n.dataField&&(t=(0,s.extend)({},t,{dataField:n.dataField}));var r=e._createCalculatedColumnOptions(t,i);t.type||(a={headerId:\"dx-col-\".concat(v++)}),a=(0,u.deepExtendArraySafe)(a,g.DEFAULT_COLUMN_OPTIONS),(0,u.deepExtendArraySafe)(a,o),(0,u.deepExtendArraySafe)(a,r),(0,u.deepExtendArraySafe)(a,t),(0,u.deepExtendArraySafe)(a,{selector:null})}return t.filterOperations===t.defaultFilterOperations&&_(a),a}};t.createColumn=y;var b=function e(t,n,i){var o=[];return n&&(0,l.each)(n,(function(n,a){var r=t._columnsUserState&&E(a,t._columnsUserState[n])&&t._columnsUserState[n],s=y(t,a,r,i);s&&(i&&(s.ownerBand=i),o.push(s),s.columns&&(o=o.concat(e(t,s.columns,s)),delete s.columns,s.hasColumns=!0))})),o};t.createColumnsFromOptions=b;var x=function(e,t){for(var n=[],i=t[e];i;)n.unshift(i),i=t[e=i.index];return n};t.getParentBandColumns=x;t.getChildrenByBandColumn=function e(t,n,i){var o=[],a=n[t];if(a)for(var r=0;r<a.length;r++){var s=a[r];(0,c.isDefined)(s.groupIndex)&&!s.showWhenGrouped||(o.push(s),i&&s.isBand&&(o=o.concat(e(s.index,n,i))))}return o};t.getColumnByIndexes=function(e,t){var n,i,o=function(e){var t=n?n.index:void 0;return e.ownerBand===t};if(e.getBandColumnsCache().isPlain)n=e._columns[t[0]];else{i=e._columns.filter(o);for(var a=0;a<t.length;a++)(n=i[t[a]])&&(i=e._columns.filter(o))}return n};var w=function(e,t){var n,i=[],o=e.getBandColumnsCache(),a=function(e){return e.ownerBand===t.ownerBand};if(o.isPlain){var r=e._columns.indexOf(t);r>=0&&(i=[\"columns[\".concat(r,\"]\")])}else for(n=e._columns.filter(a);n.length&&-1!==n.indexOf(t);)i.unshift(\"columns[\".concat(n.indexOf(t),\"]\")),n=(t=o.columnParentByIndex[t.index])?e._columns.filter(a):[];return i.join(\".\")};t.getColumnFullPath=w;var C=function e(t,n){var i=0,o=t.getChildrenByBandColumn(n,!0);return(0,l.each)(o,(function(n,o){o.isBand?(o.colspan=o.colspan||e(t,o.index),i+=o.colspan||1):i+=1})),i};t.calculateColspan=C;t.processBandColumns=function(e,t,n){for(var i,o=0;o<t.length;o++){var a=t[o];(a.visible||a.command)&&(a.isBand&&(a.colspan=a.colspan||C(e,a.index)),a.isBand&&a.colspan||(i=e.getRowCount(),a.command||(0,c.isDefined)(a.groupIndex)&&!a.showWhenGrouped||(i-=x(a.index,n.columnParentByIndex).length),i>1&&(a.rowspan=i)))}};t.getValueDataType=function(e){var t=(0,c.type)(e);return\"string\"!==t&&\"boolean\"!==t&&\"number\"!==t&&\"date\"!==t&&\"object\"!==t&&(t=void 0),t};t.getSerializationFormat=function(e,t){switch(e){case\"date\":case\"datetime\":return r.default.getDateSerializationFormat(t);case\"number\":if((0,c.isString)(t))return\"string\";if((0,c.isNumeric)(t))return null}};t.updateSerializers=function(e,t){e.deserializeValue||(p.default.isDateType(t)&&(e.deserializeValue=function(e){return r.default.deserializeDate(e)},e.serializeValue=function(e){return(0,c.isString)(e)?e:r.default.serializeDate(e,this.serializationFormat)}),\"number\"===t&&(e.deserializeValue=function(e){var t=parseFloat(e);return isNaN(t)?e:t},e.serializeValue=function(e,t){return\"filter\"===t?e:(0,c.isDefined)(e)&&\"string\"===this.serializationFormat?e.toString():e}))};t.getAlignmentByDataType=function(e,t){switch(e){case\"number\":return\"right\";case\"boolean\":return\"center\";default:return(0,d.getDefaultAlignment)(t)}};var S=function(e){return!0===e.value?this.trueText||\"true\":!1===e.value?this.falseText||\"false\":e.valueText||\"\"};t.customizeTextForBooleanDataType=S;t.getCustomizeTextByDataType=function(e){if(\"boolean\"===e)return S};t.createColumnsFromDataSource=function(e,t){for(var n,i=e._getFirstItems(t),o={},a=[],r=0;r<i.length;r++)if(i[r])for(n in i[r])(0,c.isFunction)(i[r][n])&&!h.default.isWrapped(i[r][n])||(o[n]=!0);for(n in o)if(0!==n.indexOf(\"__\")){var s=y(e,n);a.push(s)}return a};var k=function(e){(0,l.each)(e._columns,(function(e,t){t.index=e})),(0,l.each)(e._columns,(function(e,t){(0,c.isObject)(t.ownerBand)&&(t.ownerBand=t.ownerBand.index)})),(0,l.each)(e._commandColumns,(function(e,t){t.index=-(e+1)}))};t.updateColumnIndexes=k;var D=function(e,t){(0,i.normalizeIndexes)(e._columns,\"groupIndex\",t,(function(e){var t=e.grouped;return delete e.grouped,t}))};t.updateColumnGroupIndexes=D;var I=function(e,t){(0,l.each)(e._columns,(function(e,t){(0,c.isDefined)(t.sortIndex)&&!L(t.sortOrder)&&delete t.sortIndex})),(0,i.normalizeIndexes)(e._columns,\"sortIndex\",t,(function(e){return!(0,c.isDefined)(e.groupIndex)&&L(e.sortOrder)}))};t.updateColumnSortIndexes=I;var T=function(e,t){for(var n,o=[],a=e.getBandColumnsCache(),r=[],s=e._columns.filter((function(e){return!e.command})),l=0;l<s.length;l++){n=s[l],x(l,a.columnParentByIndex).length?r.push(n):o.push(n)}(0,i.normalizeIndexes)(r,\"visibleIndex\",t),(0,i.normalizeIndexes)(o,\"visibleIndex\",t)};t.updateColumnVisibleIndexes=T;t.getColumnIndexByVisibleIndex=function(e,t,n){var i,o=(0,c.isObject)(t)?t.rowIndex:null,a=n===g.GROUP_LOCATION?e.getGroupColumns():n===g.COLUMN_CHOOSER_LOCATION?e.getChooserColumns():e.getVisibleColumns(o);return t=(0,c.isObject)(t)?t.columnIndex:t,(i=a[t])&&i.type===g.GROUP_COMMAND_COLUMN_NAME&&(i=e._columns.filter((function(e){return i.type===e.type}))[0]||i),i&&(0,c.isDefined)(i.index)?i.index:-1};function E(e,t){return e&&t&&t.name===(e.name||e.dataField)&&(t.dataField===e.dataField||e.name)}t.moveColumnToGroup=function(e,t,n){var i,o=e.getGroupColumns();if(n>=0)for(i=0;i<o.length;i++)o[i].groupIndex>=n&&o[i].groupIndex++;else for(n=0,i=0;i<o.length;i++)n=Math.max(n,o[i].groupIndex+1);return n};t.applyUserState=function(e){var t,n,i,o=e._columnsUserState,a=e._ignoreColumnOptionNames||[],r=e._columns,s={},l=[],u=!0,d=[];function h(e,t){if(t)for(var n=0;n<g.USER_STATE_FIELD_NAMES.length;n++){var i=g.USER_STATE_FIELD_NAMES[n];a.includes(i)||(\"dataType\"===i?e[i]=e[i]||t[i]:g.USER_STATE_FIELD_NAMES_15_1.includes(i)?i in t&&(e[i]=t[i]):(\"selectedFilterOperation\"===i&&t[i]&&(e.defaultSelectedFilterOperation=e[i]||null),e[i]=t[i]))}}function f(e,t){for(var n=t.name||t.dataField,i=s[n]||0,o=0;o<e.length;o++)if(E(t,e[o])){if(!i)return s[n]=s[n]||0,s[n]++,o;i--}return-1}if(o){for(i=0;i<r.length;i++)n=f(o,r[i]),u=u&&n>=0,d.push(n);for(i=0;i<r.length;i++)t=r[i],n=d[i],(e._hasUserState||u)&&h(t,o[n]),n>=0&&(0,c.isDefined)(o[n].initialIndex)?l[n]=t:l.push(t);var p=!1;for(i=0;i<o.length;i++){var m=o[i];m.added&&f(r,m)<0&&(h(t=y(e,m.added),m),l.push(t),m.added.columns&&(p=!0))}p&&(k(e),l=b(e,l)),P(e,l)}};var O=function(e,t){k(e),D(e,t),I(e,t),F(e),T(e,t)};t.updateIndexes=O;var A=function(e){e.resetColumnsCache()};function P(e,t){e._previousColumns=e._columns,e._columns=t,A(e),e.updateColumnDataTypes()}t.resetColumnsCache=A;var M=function(e,t,n,i){var o,a=e._columnChanges||{optionNames:{length:0},changeTypes:{length:0},columnIndex:i};n=(n=n||\"all\").split(\".\")[0];var r=a.changeTypes;t&&!r[t]&&(r[t]=!0,r.length++);var s=a.optionNames;n&&!s[n]&&(s[n]=!0,s.length++),void 0!==i&&i===a.columnIndex||((0,c.isDefined)(i)&&(null!==(o=a.columnIndices)&&void 0!==o||(a.columnIndices=[]),(0,c.isDefined)(a.columnIndex)&&a.columnIndices.push(a.columnIndex),a.columnIndices.push(i)),delete a.columnIndex),e._columnChanges=a,A(e)};t.updateColumnChanges=M;t.fireColumnsChanged=function(e){var t,n=e.option(\"onColumnsChanging\"),i=e._columnChanges,o=[\"dataField\",\"lookup\",\"dataType\",\"columns\"];e.isInitialized()&&!e._updateLockCount&&i&&(n&&(e._updateLockCount++,n((0,s.extend)({component:e.component},i)),e._updateLockCount--),e._columnChanges=void 0,(t=i.optionNames)&&o.some((function(e){return t[e]}))?(e._reinitAfterLookupChanges=null==i?void 0:i.optionNames.lookup,e.reinit(),e._reinitAfterLookupChanges=void 0):e.columnsChanged.fire(i))};var R=function(e,t,n,i){if(n>=0)i>=0||(t.lastSortOrder=t.sortOrder);else{var o=e.option(\"sorting.mode\"),a=t.lastSortOrder;if(\"single\"===o)e._columns.some((function(e){return e!==t&&(0,c.isDefined)(e.sortIndex)}))&&(a=void 0);t.sortOrder=a}};t.updateSortOrderWhenGrouping=R;var B=function(e,t){var n=t.value,i=t.optionName,o=t.prevValue,a=t.fullOptionName,r=\"\".concat(a,\".\").concat(i);g.IGNORE_COLUMN_OPTION_NAMES[i]||e._skipProcessingColumnsChange===r||(e._skipProcessingColumnsChange=r,e.component._notifyOptionChanged(r,n,o),e._skipProcessingColumnsChange=!1)};t.fireOptionChanged=B;function L(e){return\"asc\"===e||\"desc\"===e}t.columnOptionCore=function(e,t,n,i,r){var s,l,u,d=(0,a.compileGetter)(n),h=t.index;if(3===arguments.length)return d(t,{functionsAsIs:!0});var f=d(t,{functionsAsIs:!0});if(!(0,o.equalByValue)(f,i,{maxDepth:5})){\"groupIndex\"===n||\"calculateGroupValue\"===n?(l=\"grouping\",R(e,t,i,f)):l=\"sortIndex\"===n||\"sortOrder\"===n||\"calculateSortValue\"===n?\"sorting\":\"columns\";var p=(0,a.compileSetter)(n);p(t,i,{functionsAsIs:!0});var m=w(e,t);g.COLUMN_INDEX_OPTIONS[n]&&(O(e,t),i=d(t)),\"name\"!==n&&\"allowEditing\"!==n||e._checkColumns(),(0,c.isDefined)(f)||(0,c.isDefined)(i)||0===n.indexOf(\"buffer\")||(r=!0),r?A(e):(g.USER_STATE_FIELD_NAMES.includes(n)||\"visibleWidth\"===n||(s=e.option(\"columns\"),u=e.getColumnByPath(m,s),(0,c.isString)(u)&&(u=s[h]={dataField:u}),u&&E(u,t)&&p(u,i,{functionsAsIs:!0})),M(e,l,n,h)),m&&B(e,{fullOptionName:m,optionName:n,value:i,prevValue:f})}};t.addExpandColumn=function(e){var t=e._getExpandColumnOptions();e.addCommandColumn(t)};t.defaultSetCellValue=function(e,t){if(this.dataField){var n=this.dataField.split(\".\"),i=n.length-1;this.serializeValue&&(t=this.serializeValue(t));for(var o=0;o<i;o++){var a=n[o];e=e[a]=e[a]||{}}e[n[i]]=t}};t.getDataColumns=function e(t,n,i){var o=[];return t[n=n||0]&&(0,l.each)(t[n],(function(a,r){r.ownerBand!==i&&r.type!==g.GROUP_COMMAND_COLUMN_NAME||(r.isBand&&r.colspan?o.push.apply(o,e(t,n+1,r.index)):(!r.command||n<1)&&o.push(r))})),o};t.getRowCount=function(e){var t=1,n=e.getBandColumnsCache().columnParentByIndex;return e._columns.forEach((function(e){var i=x(e.index,n),o=i.filter((function(e){return!e.visible}));e.visible&&!o.length&&(t=Math.max(t,i.length+1))})),t};var V=function(e,t){return!!e._columns.filter((function(e){return e.type===t.type})).length};t.isCustomCommandColumn=V;t.getFixedPosition=function(e,t){var n=e.option(\"rtlEnabled\");return t.command&&!V(e,t)||!t.fixedPosition?n?\"right\":\"left\":t.fixedPosition};t.processExpandColumns=function(e,t,n,i){var o,a=this.getRowCount(),r=e[i]&&e[i].rowspan,u=t.filter((function(e){return e.type===n}));return e.forEach((function(t,i){t.type===n&&(o=i,r=e[i+1]?e[i+1].rowspan:a)})),r>1&&(u=(0,l.map)(u,(function(e){return(0,s.extend)({},e,{rowspan:r})}))),u.unshift.apply(u,(0,c.isDefined)(o)?[o,1]:[i,0]),e.splice.apply(e,u),r||1};t.digitsCount=function(e){var t;for(t=0;e>1;t++)e/=10;return t};t.numberToString=function(e,t){for(var n=e?e.toString():\"0\";n.length<t;)n=\"0\".concat(n);return n};t.mergeColumns=function(e,t,n,i){for(var o,a,r=t.slice().map((function(e){return(0,s.extend)({},e)})),l=e._isColumnFixing(),u=n.slice().map((function(e){return(0,s.extend)({fixed:l},e)})),d=function(e){return n.reduce((function(t,n,o){var a=i&&e.type===g.GROUP_COMMAND_COLUMN_NAME?\"expand\":e.type;return n.type===a||n.command===e.command?o:t}),-1)},c=function(e){return e.command!==n[a].command},h=0;h<t.length;h++)if(o=t[h],(a=o&&(o.type||o.command)?d(o):-1)>=0)if(i)r[h]=(0,s.extend)({fixed:l},n[a],o),o.type!==g.GROUP_COMMAND_COLUMN_NAME&&(u=u.filter(c));else{var f={visibleIndex:o.visibleIndex,index:o.index,headerId:o.headerId,allowFixing:0===o.groupIndex,allowReordering:0===o.groupIndex,groupIndex:o.groupIndex};r[h]=(0,s.extend)({},o,n[a],o.type===g.GROUP_COMMAND_COLUMN_NAME&&f)}return t.length&&i&&u.length&&(r=r.concat(u)),r};t.isColumnFixed=function(e,t){return(0,c.isDefined)(t.fixed)||!t.type?t.fixed:e._isColumnFixing()};t.convertOwnerBandToColumnReference=function(e){e.forEach((function(t){(0,c.isDefined)(t.ownerBand)&&(t.ownerBand=e[t.ownerBand])}))};var F=function(e){e._bandColumnsCache=void 0};t.resetBandColumnsCache=F;t.findColumn=function(e,t){var n,i=(0,c.isString)(t)&&t.substr(0,t.indexOf(\":\"));if(void 0!==t)return i&&(t=t.substr(i.length+1)),i?n=e.filter((function(e){return\"\".concat(e[i])===t}))[0]:[\"index\",\"name\",\"dataField\",\"caption\"].some((function(i){return!!(n=e.filter((function(e){return e[i]===t}))[0])})),n};t.sortColumns=function(e,t){if(\"asc\"!==t&&\"desc\"!==t)return e;var n=\"asc\"===t?1:-1;return e.sort((function(e,t){var i=e.caption||\"\",o=t.caption||\"\";return n*i.localeCompare(o)})),e};t.strictParseNumber=function(e,t){var n=f.default.parse(e);if((0,c.isNumeric)(n)){var i=f.default.format(n,t),o=f.default.format(n,\"decimal\");if(i===e||o===e)return n}}},49505:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.columnsResizingReorderingModule=void 0;var i=y(n(87209)),o=y(n(73349)),a=y(n(68374)),r=y(n(44504)),s=n(13306),l=n(95479),u=n(37518),d=n(58664),c=n(35922),h=y(n(55994)),f=n(23174),p=y(n(93786)),g=n(39611),m=y(n(92591)),_=y(n(15943)),v=y(n(60082));function y(e){return e&&e.__esModule?e:{default:e}}function b(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,x(e,t)}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var w=\"dxDataGridResizingReordering\",C=function(e){return e.option(\"allowColumnResizing\")||e.getController(\"columns\").isColumnOptionUsed(\"allowResizing\")},S=function(e){return e.option(\"allowColumnReordering\")||e.getController(\"columns\").isColumnOptionUsed(\"allowReordering\")},k=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n._renderCore=function(){var t=e.prototype._renderCore.call(this);return this.element().addClass(this.addWidgetPrefix(\"tracker\")),this.hide(),t},n._unsubscribeFromCallback=function(){this._positionChanged&&this._tablePositionController.positionChanged.remove(this._positionChanged)},n._subscribeToCallback=function(){var e=this;e._positionChanged=function(t){var n=e.element();n&&n.hasClass(e.addWidgetPrefix(\"tracker\"))&&(n.css({top:t.top}),(0,d.setHeight)(n,t.height))},this._tablePositionController.positionChanged.add(e._positionChanged)},n.optionChanged=function(t){\"allowColumnResizing\"===t.name&&(this._unsubscribeFromCallback(),t.value&&(this._subscribeToCallback(),this._invalidate())),e.prototype.optionChanged.call(this,t)},n.init=function(){e.prototype.init.call(this),this._tablePositionController=this.getController(\"tablePosition\"),this._subscribeToCallback()},n.isVisible=function(){return C(this)},n.show=function(){this.element().show()},n.hide=function(){this.element()&&this.element().hide()},n.setHeight=function(e){(0,d.setHeight)(this.element(),e)},n.dispose=function(){this._unsubscribeFromCallback(),e.prototype.dispose.call(this)},t}(_.default.View),D=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n._renderSeparator=function(){},n._renderCore=function(t){var n=e.prototype._renderCore.call(this,t);return this._isShown=!0,this._renderSeparator(),this.hide(),n},n.show=function(){this._isShown=!0},n.hide=function(){this._isShown=!1},n.height=function(e){var t=this.element();if(t){if(!(0,c.isDefined)(e))return(0,d.getHeight)(t);(0,d.setHeight)(t,e)}},n.width=function(e){var t=this.element();if(t){if(!(0,c.isDefined)(e))return(0,d.getWidth)(t);(0,d.setWidth)(t,e)}},t}(_.default.View),I=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n._renderSeparator=function(){e.prototype._renderSeparator.call(this),this.element().addClass(this.addWidgetPrefix(\"columns-separator\"))},n._subscribeToCallback=function(){var e,t=this;t._positionChanged=function(n){(e=t.element())&&(e.css({top:n.top}),(0,d.setHeight)(e,n.height))},t._tablePositionController.positionChanged.add(t._positionChanged)},n._unsubscribeFromCallback=function(){this._positionChanged&&this._tablePositionController.positionChanged.remove(this._positionChanged)},n._init=function(){this._isTransparent=C(this),this.isVisible()&&this._subscribeToCallback()},n.isVisible=function(){return this.option(\"showColumnHeaders\")&&(S(this)||C(this))},n.optionChanged=function(t){\"allowColumnResizing\"===t.name&&(t.value?(this._init(),this._invalidate(),this.hide(!0)):(this._unsubscribeFromCallback(),this._isTransparent=C(this),this.hide(!0))),e.prototype.optionChanged.call(this,t)},n.init=function(){e.prototype.init.call(this),this._tablePositionController=this.getController(\"tablePosition\"),this._init()},n.show=function(){var t=this.element();t&&!this._isShown&&(this._isTransparent?t.removeClass(this.addWidgetPrefix(\"columns-separator-transparent\")):t.show()),e.prototype.show.call(this)},n.hide=function(t){var n=this.element(),i=this.addWidgetPrefix(\"columns-separator-transparent\");n&&(this._isShown||t)&&(this._isTransparent?(n.addClass(i),n.css(\"left\",\"\"),n.show()):(n.hasClass(i)&&n.removeClass(i),n.hide())),e.prototype.hide.call(this)},n.moveByX=function(e){var t=this.element();t&&t.css(\"left\",null===e?0:e-this._parentElement().offset().left)},n.changeCursor=function(e){e=(0,c.isDefined)(e)?e:\"\";var t=this.element();t&&t.css(\"cursor\",e)},n.dispose=function(){this._unsubscribeFromCallback(),e.prototype.dispose.call(this)},t}(D),T=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n.init=function(){var t=this;e.prototype.init.call(this),this.getController(\"data\").loadingChanged.add((function(e){e||t.hide()}))},n._renderSeparator=function(){e.prototype._renderSeparator.call(this),this.element().addClass(\"dx-block-separator\").html(\"&nbsp;\")},n.hide=function(){var t=this._parentElement(),n=this.element();n&&this._isShown&&n.css(\"display\",\"none\"),t&&!t.children(\".\".concat(\"dx-block-separator\")).length&&t.prepend(this.element()),e.prototype.hide.call(this)},n.isVisible=function(){var e=this.option(\"groupPanel\"),t=this.option(\"columnChooser\");return e&&e.visible||t&&t.enabled},n.show=function(t){var n=this.element(),o=function(e){i.default.stop(n,!0),i.default.animate(n,{type:\"slide\",from:{width:0,display:e.display},to:e,duration:300,easing:\"swing\"})};if(n&&!this._isShown)switch(t){case\"group\":o({width:\"50px\",display:\"inline-block\"});break;case\"columnChooser\":o({width:\"100%\",display:\"block\"});break;default:n.css(\"display\",\"\")}e.prototype.show.call(this)},t}(D),E=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n.isDragging=function(){return this._isDragging},n._getDraggingPanelByPos=function(e){var t;return(0,l.each)(this._dragOptions.draggingPanels,(function(n,i){if(i){var o=i.getBoundingRect();if(o&&(void 0===o.bottom||e.y<o.bottom)&&(void 0===o.top||e.y>o.top)&&(void 0===o.left||e.x>o.left)&&(void 0===o.right||e.x<o.right))return t=i,!1}})),t},n._renderCore=function(){this.element().addClass(\"\".concat(this.addWidgetPrefix(\"drag-header\"),\" \").concat(this.addWidgetPrefix(\"text-content\"),\" \").concat(\"dx-widget\")).hide()},n._resetTargetColumnOptions=function(){var e=this._dropOptions;e.targetColumnIndex=-1,delete e.targetColumnElement,delete e.isLast,delete e.posX,delete e.posY},n._getVisibleIndexObject=function(e,t){return(0,c.isDefined)(e)?{columnIndex:t,rowIndex:e}:t},n.dispose=function(){var e=this.element();this._dragOptions=null,e&&e.parent().find(\".\".concat(this.addWidgetPrefix(\"drag-header\"))).remove()},n.isVisible=function(){var e=this.getController(\"columns\").getCommonSettings();return this.option(\"showColumnHeaders\")&&(S(this)||e.allowGrouping||e.allowHiding)},n.init=function(){var t=this;e.prototype.init.call(this),this._controller=this.getController(\"draggingHeader\"),this._columnsResizerViewController=this.getController(\"columnsResizer\"),this._isDragging=!1,this.getController(\"data\").loadingChanged.add((function(e){var n=t.element();!e&&n&&n.hide()}))},n.dragHeader=function(e){var t=e.columnElement,n=!!e.sourceColumn.type;this._isDragging=!0,this._dragOptions=e,this._dropOptions={sourceIndex:e.index,sourceColumnIndex:this._getVisibleIndexObject(e.rowIndex,e.columnIndex),sourceColumnElement:e.columnElement,sourceLocation:e.sourceLocation};var i=o.default.getDocument();this._onSelectStart=i.onselectstart,i.onselectstart=function(){return!1},this._controller.drag(this._dropOptions),this.element().css({textAlign:t&&t.css(\"textAlign\"),height:t&&(n&&t.get(0).clientHeight||(0,d.getHeight)(t)),width:t&&(n&&t.get(0).clientWidth||(0,d.getWidth)(t)),whiteSpace:t&&t.css(\"whiteSpace\")}).addClass(this.addWidgetPrefix(\"drag-action\")).toggleClass(\"dx-drag-command-cell\",n).text(n?\"\":e.sourceColumn.caption),this.element().appendTo(m.default.getSwatchContainer(t))},n.moveHeader=function(e){var t=e.event,n=t.data.that,i=(0,g.eventData)(t),o=!!n._columnsResizerViewController&&n._columnsResizerViewController.isResizing(),a=n._dragOptions;if(n._isDragging&&!o){var r=n.element(),s=Math.abs(i.x-a.columnElement.offset().left-a.deltaX),l=Math.abs(i.y-a.columnElement.offset().top-a.deltaY);if(r.is(\":visible\")||s>5||l>5){r.show();var u=i.x-a.deltaX,d=i.y-a.deltaY;r.css({left:u,top:d}),n.dockHeader(i)}t.preventDefault()}},n.dockHeader=function(e){var t=this._getDraggingPanelByPos(e),n=this._controller,i=this._dropOptions,o=this._dragOptions;if(t){var r=this.option(\"rtlEnabled\"),l=\"columnChooser\"===t.getName(),u=l?\"y\":\"x\",d=t.getName(),c=\"headers\"===d?o.rowIndex:void 0,h=o.sourceColumn,f=t.getColumnElements(c,null==h?void 0:h.ownerBand)||[],p=o.pointsByTarget=o.pointsByTarget||{},g=\"columnChooser\"===d?[]:p[d]||n._generatePointsByColumns((0,s.extend)({},o,{targetDraggingPanel:t,columns:t.getColumns(c),columnElements:f,isVerticalOrientation:l,startColumnIndex:\"headers\"===d&&(0,a.default)(f[0]).index()}));if(p[d]=g,i.targetLocation=d,g.length>0)for(var m=0;m<g.length;m++){var _=g[m+1]&&(g[m][u]+g[m+1][u])/2;if(void 0===_||(r&&\"x\"===u?e[u]>_:e[u]<_)){i.targetColumnIndex=this._getVisibleIndexObject(c,g[m].columnIndex),f[m]?(i.targetColumnElement=f.eq(m),i.isLast=!1):(i.targetColumnElement=f.last(),i.isLast=!0),i.posX=g[m].x,i.posY=g[m].y,n.dock(i);break}}else this._resetTargetColumnOptions(),n.dock(i)}},n.dropHeader=function(e){var t=e.event.data.that,n=t._controller;t.element().hide(),n&&t._isDragging&&n.drop(t._dropOptions),t.element().appendTo(t._parentElement()),t._dragOptions=null,t._dropOptions=null,t._isDragging=!1,o.default.getDocument().onselectstart=t._onSelectStart||null},t}(_.default.View),O=function(e){return\"widget\"!==e.option(\"columnResizingMode\")},A=function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n._isHeadersRowArea=function(e){if(this._columnHeadersView){var t=this._columnHeadersView.element();if(t){var n=t.offset().top,i=this._columnHeadersView.getHeadersRowHeight();return e>=n&&e<=n+i}}return!1},n._isRtlParentStyle=function(){var e;return this.option(\"rtlEnabled\")&&\"rtl\"===(null===(e=this._$parentContainer)||void 0===e?void 0:e.parent().css(\"direction\"))},n._pointCreated=function(e,t,n){var i=O(this),o=this.option(\"rtlEnabled\"),a=this._isRtlParentStyle(),r=i||!o||a?1:0;if(e.index>=r&&e.index<t+(i||o&&!a?0:1)){e.columnIndex-=r;var s=n[e.columnIndex]||{},l=n[e.columnIndex+1]||{};return!(i?s.allowResizing&&l.allowResizing:s.allowResizing)}return!0},n._getTargetPoint=function(e,t,n){if(e)for(var i=0;i<e.length;i++)if((e[i].x!==e[0].x||!e[i+1]||e[i].x!==e[i+1].x)&&e[i].x-n<=t&&t<=e[i].x+n)return e[i];return null},n._moveSeparator=function(e){var t,n=e.event,i=n.data,o=i._columnsSeparatorView.width(),a=O(i),r=o/2,s=i._$parentContainer.offset(),l=s.left,u=(0,g.eventData)(n),c=i.option(\"rtlEnabled\"),h=this._isRtlParentStyle(),f=null===(t=i._draggingHeaderView)||void 0===t?void 0:t.isDragging();if(i._isResizing&&i._resizingInfo){if((l<=u.x||!a&&h)&&(!a||u.x<=l+(0,d.getWidth)(i._$parentContainer))&&i._updateColumnsWidthIfNeeded(u.x)){var p=i._columnHeadersView.getColumnElements().eq(i._resizingInfo.currentColumnIndex),m=p[0];if(m){var _=m.getBoundingClientRect().width;i._columnsSeparatorView.moveByX(p.offset().left+((a||h)&&c?0:_)),i._tablePositionController.update(i._targetPoint.y),n.preventDefault()}}}else f||(i._isHeadersRowArea(u.y)?(i._previousParentOffset&&(i._previousParentOffset.left===s.left&&i._previousParentOffset.top===s.top||i.pointsByColumns(null)),i._targetPoint=i._getTargetPoint(i.pointsByColumns(),u.x,o),i._previousParentOffset=s,i._isReadyResizing=!1,i._targetPoint?(i._columnsSeparatorView.changeCursor(\"col-resize\"),i._columnsSeparatorView.moveByX(i._targetPoint.x-r),i._tablePositionController.update(i._targetPoint.y),i._isReadyResizing=!0,n.preventDefault()):(i._columnsSeparatorView.changeCursor(),i._columnsSeparatorView.moveByX(null))):(i.pointsByColumns(null),i._isReadyResizing=!1,i._columnsSeparatorView.changeCursor(),i._columnsSeparatorView.moveByX(null)))},n._endResizing=function(e){var t=e.event.data;t._isResizing&&(t.pointsByColumns(null),t._resizingInfo=null,t._columnsSeparatorView.hide(),t._columnsSeparatorView.changeCursor(),t._trackerView.hide(),t._isReadyResizing=!1,t._isResizing=!1)},n._getNextColumnIndex=function(e){return e+1},n._setupResizingInfo=function(e){var t=this._targetPoint.columnIndex,n=this._getNextColumnIndex(t),i=this._columnHeadersView.getHeaderElement(t),o=this._columnHeadersView.getHeaderElement(n);this._resizingInfo={startPosX:e,currentColumnIndex:t,currentColumnWidth:i&&i.length>0?(0,u.getBoundingRect)(i[0]).width:0,nextColumnIndex:n,nextColumnWidth:o&&o.length>0?(0,u.getBoundingRect)(o[0]).width:0}},n._startResizing=function(e){var t=e.event,n=t.data,i=(0,g.eventData)(t);if((0,g.isTouchEvent)(t)&&(n._isHeadersRowArea(i.y)?(n._targetPoint=n._getTargetPoint(n.pointsByColumns(),i.x,10),n._targetPoint&&(n._columnsSeparatorView.moveByX(n._targetPoint.x-n._columnsSeparatorView.width()/2),n._isReadyResizing=!0)):n._isReadyResizing=!1),n._isReadyResizing){n._setupResizingInfo(i.x),n._isResizing=!0,n._tablePositionController.update(n._targetPoint.y),n._columnsSeparatorView.show(),n._trackerView.show();var o=n.component.getScrollable();o&&n._isRtlParentStyle()&&(n._scrollRight=(0,d.getWidth)(o.$content())-(0,d.getWidth)(o.container())-o.scrollLeft()),t.preventDefault(),t.stopPropagation()}this.isResizing()&&this.getController(\"editorFactory\").loseFocus()},n._generatePointsByColumns=function(){var e=this,t=e._columnsController?e._columnsController.getVisibleColumns():[],n=e._columnHeadersView.getColumnElements(),i=[];n&&n.length>0&&(i=v.default.getPointsByColumns(n,(function(i){return e._pointCreated(i,n.length,t)}))),e._pointsByColumns=i},n._unsubscribeFromEvents=function(){this._moveSeparatorHandler&&h.default.off(o.default.getDocument(),(0,g.addNamespace)(p.default.move,w),this._moveSeparatorHandler),this._startResizingHandler&&h.default.off(this._$parentContainer,(0,g.addNamespace)(p.default.down,w),this._startResizingHandler),this._endResizingHandler&&(h.default.off(this._columnsSeparatorView.element(),(0,g.addNamespace)(p.default.up,w),this._endResizingHandler),h.default.off(o.default.getDocument(),(0,g.addNamespace)(p.default.up,w),this._endResizingHandler))},n._subscribeToEvents=function(){this._moveSeparatorHandler=this.createAction(this._moveSeparator),this._startResizingHandler=this.createAction(this._startResizing),this._endResizingHandler=this.createAction(this._endResizing),h.default.on(o.default.getDocument(),(0,g.addNamespace)(p.default.move,w),this,this._moveSeparatorHandler),h.default.on(this._$parentContainer,(0,g.addNamespace)(p.default.down,w),this,this._startResizingHandler),h.default.on(this._columnsSeparatorView.element(),(0,g.addNamespace)(p.default.up,w),this,this._endResizingHandler),h.default.on(o.default.getDocument(),(0,g.addNamespace)(p.default.up,w),this,this._endResizingHandler)},n._updateColumnsWidthIfNeeded=function(e){var t,n,i=this._rowsView.contentWidth(),o=this._resizingInfo,a=this._columnsController,r=a.getVisibleColumns(),s=this._columnsSeparatorView.width(),l=O(this),u=l&&this.option(\"adaptColumnWidthByRatio\")&&!this.option(\"columnAutoWidth\"),h=this.option(\"rtlEnabled\"),f=this._isRtlParentStyle(),p=r[o.currentColumnIndex],g=r[o.nextColumnIndex];function m(e){return(0,c.isString)(e)&&e.endsWith(\"%\")}function _(e,t,n,i){if(e){var o=e.width;o&&(i=m(o)),i?(a.columnOption(e.index,\"visibleWidth\",t),a.columnOption(e.index,\"width\",\"\".concat((t/n*100).toFixed(3),\"%\"))):(a.columnOption(e.index,\"visibleWidth\",null),a.columnOption(e.index,\"width\",t))}}t=e-o.startPosX,(l||f)&&h&&(t=-t);var y=function(e){var t,n,i,a=o.currentColumnWidth+e,r=p&&p.minWidth||s,u={};return a>=r?u.cellWidth=a:(u.cellWidth=r,i=!0),l&&((n=o.nextColumnWidth-e)>=(t=g&&g.minWidth||s)?u.nextCellWidth=i?o.nextColumnWidth-(e+r-a):n:(u.nextCellWidth=t,u.cellWidth=o.currentColumnWidth+(e-t+n))),u}(t),b=y.cellWidth,x=y.nextCellWidth;if(n=p.width!==b){if(a.beginUpdate(),b=Math.floor(b),i=function(e,t){if(t.every((function(e){return e.width}))){var n=t.reduce((function(e,t){return m(t.width)&&(e+=parseFloat(t.width)),e}),0);n>100&&(e=e/n*100)}return e}(i,r),_(p,b,i,u),l)x=Math.floor(x),_(g,x,i,u);else{var w=this._columnHeadersView.getColumnWidths();if(w[o.currentColumnIndex]=b,!(w.reduce((function(e,t){return e+t}),0)>this._rowsView.contentWidth())){var C=v.default.getLastResizableColumnIndex(r);C>=0&&a.columnOption(r[C].index,\"visibleWidth\",\"auto\")}for(var S=0;S<w.length;S++)r[S]&&r[S]!==p&&void 0===r[S].width&&a.columnOption(r[S].index,\"width\",w[S])}if(a.endUpdate(),!l){this.component.updateDimensions();var k=this.component.getScrollable();if(k&&f){var D=(0,d.getWidth)(k.$content())-(0,d.getWidth)(k.container())-this._scrollRight;k.scrollTo({left:D})}}}return n},n._subscribeToCallback=function(e,t){e.add(t),this._subscribesToCallbacks.push({callback:e,handler:t})},n._unsubscribeFromCallbacks=function(){for(var e=0;e<this._subscribesToCallbacks.length;e++){var t=this._subscribesToCallbacks[e];t.callback.remove(t.handler)}this._subscribesToCallbacks=[]},n._unsubscribes=function(){this._unsubscribeFromEvents(),this._unsubscribeFromCallbacks()},n._init=function(){var e=this,t=function(){e._isResizing||e.pointsByColumns(null)},n=function(t){e._scrollLeft!==t.left&&(e._scrollLeft=t.left,e.pointsByColumns(null))};e._columnsSeparatorView=e.getView(\"columnsSeparatorView\"),e._columnHeadersView=e.getView(\"columnHeadersView\"),e._trackerView=e.getView(\"trackerView\"),e._rowsView=e.getView(\"rowsView\"),e._columnsController=e.getController(\"columns\"),e._tablePositionController=e.getController(\"tablePosition\"),e._$parentContainer=e.component.$element(),e._draggingHeaderView=e.component.getView(\"draggingHeaderView\"),e._subscribeToCallback(e._columnHeadersView.renderCompleted,t),e._subscribeToCallback(e._columnHeadersView.resizeCompleted,t),e._subscribeToCallback(e._columnsSeparatorView.renderCompleted,(function(){e._unsubscribeFromEvents(),e._subscribeToEvents()})),e._subscribeToCallback(e._rowsView.renderCompleted,(function(){e._rowsView.scrollChanged.remove(n),e._rowsView.scrollChanged.add(n)}));var i=0!==e._rowsView.getScrollbarWidth(),o=0;e._subscribeToCallback(e.getController(\"tablePosition\").positionChanged,(function(t){if(e._isResizing&&!e._rowsView.isResizing){var n=0!==e._rowsView.getScrollbarWidth();i!==n||o&&o!==t.height?(i=n,o=t.height,e.component.updateDimensions()):e._rowsView.updateFreeSpaceRowHeight()}o=t.height}))},n.optionChanged=function(t){e.prototype.optionChanged.call(this,t),\"allowColumnResizing\"===t.name&&(t.value?(this._init(),this._subscribeToEvents()):this._unsubscribes())},n.isResizing=function(){return this._isResizing},n.init=function(){this._subscribesToCallbacks=[],C(this)&&this._init()},n.pointsByColumns=function(e){if(void 0===e)return this._pointsByColumns||this._generatePointsByColumns(),this._pointsByColumns;this._pointsByColumns=e},n.dispose=function(){this._unsubscribes(),e.prototype.dispose.call(this)},t}(_.default.ViewController),P=function(e){function t(t){var n;return(n=e.call(this,t)||this).positionChanged=(0,r.default)(),n}b(t,e);var n=t.prototype;return n.update=function(e){var t={},n=this._columnHeadersView.element(),i=n&&n.offset(),o=i&&i.top||0,a=(0,c.isDefined)(e)?Math.abs(e-o):0,r=this._columnHeadersView?this._columnHeadersView.getHeight():0,s=this._rowsView.getScrollbarWidth(!0),l=this._rowsView?this._rowsView.height()-s:0,u=this.component.getController(\"columnsResizer\"),d=this.component.getView(\"draggingHeaderView\");t.height=r,(u.isResizing()||d.isDragging())&&(t.height+=l-a),null!==e&&n&&n.length&&(t.top=n[0].offsetTop+a),this.positionChanged.fire(t)},n.init=function(){var t=this;e.prototype.init.call(this),t._columnHeadersView=this.getView(\"columnHeadersView\"),t._rowsView=this.getView(\"rowsView\"),t._pagerView=this.getView(\"pagerView\"),t._rowsView.resizeCompleted.add((function(){if(t.option(\"allowColumnResizing\")){var e=t.getController(\"columnsResizer\")._targetPoint;t.update(e?e.y:null)}}))},t}(_.default.ViewController),M={views:{columnsSeparatorView:I,blockSeparatorView:T,draggingHeaderView:E,trackerView:k},controllers:{draggingHeader:function(e){function t(){return e.apply(this,arguments)||this}b(t,e);var n=t.prototype;return n._generatePointsByColumns=function(e){var t=this;return this.isCustomGroupColumnPosition=this.checkIsCustomGroupColumnPosition(e),v.default.getPointsByColumns(e.columnElements,(function(n){return t._pointCreated(n,e.columns,e.targetDraggingPanel.getName(),e.sourceColumn)}),e.isVerticalOrientation,e.startColumnIndex)},n.checkIsCustomGroupColumnPosition=function(e){for(var t=!0,n=0;n<e.columns.length;n+=1){var i=e.columns[n];if(\"expand\"===i.command&&!t)return!0;i.command||(t=!1)}return!1},n._pointCreated=function(e,t,n,i){var o,a=t[e.columnIndex],r=t[e.columnIndex-1],s=\"expand\"===(null==r?void 0:r.command),l=\"expand\"===(null==a?void 0:a.command)&&\"expand\"!==(null==r?void 0:r.command),u=i&&!i.allowReordering,d=!(null==a?void 0:a.allowReordering)&&!(null==r?void 0:r.allowReordering);switch(n){case\"columnChooser\":return!0;case\"headers\":if(!l)return s||u||d;if(this.isCustomGroupColumnPosition)return!1;for(;\"expand\"===(null===(o=t[e.columnIndex])||void 0===o?void 0:o.command);)e.columnIndex+=1;return!1;default:return 0===t.length}},n._subscribeToEvents=function(e,t){var n=this;(0,l.each)(t,(function(i,o){if(o)for(var r,s=o.getRowCount?o.getRowCount():1,u=o.getName(),d=function(i,s){if(s){var l=(0,a.default)(s),d=r[i];d&&o.allowDragging(d)&&(l.addClass(n.addWidgetPrefix(\"drag-action\")),h.default.on(l,(0,g.addNamespace)(f.start,w),n.createAction((function(o){var r=o.event,s=(0,g.eventData)(r);e.dragHeader({deltaX:s.x-(0,a.default)(r.currentTarget).offset().left,deltaY:s.y-(0,a.default)(r.currentTarget).offset().top,sourceColumn:d,index:d.index,columnIndex:i,columnElement:l,sourceLocation:u,draggingPanels:t,rowIndex:n._columnsController.getRowIndex(d.index,!0)})}))),h.default.on(l,(0,g.addNamespace)(f.move,w),{that:e},n.createAction(e.moveHeader)),h.default.on(l,(0,g.addNamespace)(f.end,w),{that:e},n.createAction(e.dropHeader)))}},c=0;c<s;c++){var p=o.getColumnElements(c)||[];p.length&&(r=o.getColumns(c)||[],(0,l.each)(p,d))}}))},n._unsubscribeFromEvents=function(e,t){var n=this;(0,l.each)(t,(function(e,t){if(t){var i=t.getColumnElements()||[];(0,l.each)(i,(function(e,t){var i=(0,a.default)(t);h.default.off(i,(0,g.addNamespace)(f.start,w)),h.default.off(i,(0,g.addNamespace)(f.move,w)),h.default.off(i,(0,g.addNamespace)(f.end,w)),i.removeClass(n.addWidgetPrefix(\"drag-action\"))}))}}))},n._getSeparator=function(e){return\"headers\"===e?this._columnsSeparatorView:this._blockSeparatorView},n.hideSeparators=function(e){var t=this._blockSeparatorView,n=this._columnsSeparatorView;this._animationColumnIndex=void 0,t&&t.hide(),\"block\"!==e&&n&&n.hide()},n.init=function(){var t=this;e.prototype.init.call(this),t._columnsController=t.getController(\"columns\"),t._columnHeadersView=t.getView(\"columnHeadersView\"),t._columnsSeparatorView=t.getView(\"columnsSeparatorView\"),t._draggingHeaderView=t.getView(\"draggingHeaderView\"),t._rowsView=t.getView(\"rowsView\"),t._blockSeparatorView=t.getView(\"blockSeparatorView\"),t._headerPanelView=t.getView(\"headerPanel\"),t._columnChooserView=t.getView(\"columnChooserView\");var n=function(){if(t._draggingHeaderView){var e=[t._columnChooserView,t._columnHeadersView,t._headerPanelView];t._unsubscribeFromEvents(t._draggingHeaderView,e),t._subscribeToEvents(t._draggingHeaderView,e)}};t._columnHeadersView.renderCompleted.add(n),t._headerPanelView&&t._headerPanelView.renderCompleted.add(n),t._columnChooserView&&t._columnChooserView.renderCompleted.add(n)},n.allowDrop=function(e){return this._columnsController.allowMoveColumn(e.sourceColumnIndex,e.targetColumnIndex,e.sourceLocation,e.targetLocation)},n.drag=function(e){var t=e.sourceIndex,n=e.sourceLocation,i=e.sourceColumnElement,o=this._columnHeadersView,a=this._rowsView;i&&(i.css({opacity:.5}),\"headers\"===n&&(o&&o.setRowsOpacity(t,.5),a&&a.setRowsOpacity(t,.5)))},n.dock=function(e){var t=this,n=(0,c.isObject)(e.targetColumnIndex)?e.targetColumnIndex.columnIndex:e.targetColumnIndex,i=e.sourceLocation,o=e.targetLocation,a=t._getSeparator(o),r=n>=0;t._columnHeadersView.element().find(\".\".concat(\"dx-header-row\")).toggleClass(t.addWidgetPrefix(\"drop-highlight\"),\"headers\"!==i&&\"headers\"===o&&!r),a&&(t.allowDrop(e)&&r?\"group\"===o||\"columnChooser\"===o?t._animationColumnIndex!==n&&(t.hideSeparators(),a.element()[e.isLast?\"insertAfter\":\"insertBefore\"](e.targetColumnElement),t._animationColumnIndex=n,a.show(o)):(t.hideSeparators(\"block\"),t.getController(\"tablePosition\").update(e.posY),a.moveByX(e.posX-a.width()),a.show()):t.hideSeparators())},n.drop=function(e){var t=e.sourceColumnElement;if(t&&(t.css({opacity:\"\"}),this._columnHeadersView.setRowsOpacity(e.sourceIndex,\"\"),this._rowsView.setRowsOpacity(e.sourceIndex,\"\"),this._columnHeadersView.element().find(\".\".concat(\"dx-header-row\")).removeClass(this.addWidgetPrefix(\"drop-highlight\"))),this.allowDrop(e)){var n=this._getSeparator(e.targetLocation);n&&n.hide(),this._columnsController.moveColumn(e.sourceColumnIndex,e.targetColumnIndex,e.sourceLocation,e.targetLocation)}},n.dispose=function(){this._draggingHeaderView&&this._unsubscribeFromEvents(this._draggingHeaderView,[this._columnChooserView,this._columnHeadersView,this._headerPanelView])},t}(_.default.ViewController),tablePosition:P,columnsResizer:A},extenders:{views:{rowsView:{_needUpdateRowHeight:function(e){var t=this.option(\"wordWrapEnabled\"),n=this.getController(\"columnsResizer\"),i=n.isResizing();return this.callBase.apply(this,arguments)||e>0&&t&&i}}},controllers:{editorFactory:{renderFocusOverlay:function(){if(!this.getController(\"columnsResizer\").isResizing())return this.callBase.apply(this,arguments)}}}}};t.columnsResizingReorderingModule=M},69823:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.contextMenuModule=void 0;var i=n(6415),o=u(n(68374)),a=n(20576),r=n(95479),s=u(n(10042)),l=u(n(15943));function u(e){return e&&e.__esModule?e:{default:e}}var d={columnHeadersView:\"header\",rowsView:\"content\",footerView:\"footer\",headerPanel:\"headerPanel\"},c=[\"columnHeadersView\",\"rowsView\",\"footerView\",\"headerPanel\"],h={defaultOptions:function(){return{onContextMenuPreparing:null}},controllers:{contextMenu:l.default.ViewController.inherit({init:function(){this.createAction(\"onContextMenuPreparing\")},getContextMenuItems:function(e){if(!e)return!1;var t,n,a,s,l=this,u=(0,o.default)(e.target);return(0,r.each)(c,(function(){var o,r,c=l.getView(this);if((t=c&&c.element())&&(t.is(u)||t.find(u).length)){a=u.closest(\".dx-row > td, .dx-row > tr\"),n=a.parent();var h=c.getRowIndex(n),f=a[0]&&a[0].cellIndex,p=n.data(\"options\"),g={event:e,targetElement:(0,i.getPublicElement)(u),target:d[this],rowIndex:h,row:c._getRows()[h],columnIndex:f,column:null===(r=null===(o=null==p?void 0:p.cells)||void 0===o?void 0:o[f])||void 0===r?void 0:r.column};if(g.items=c.getContextMenuItems&&c.getContextMenuItems(g),l.executeAction(\"onContextMenuPreparing\",g),l._contextMenuPrepared(g),s=g.items)return!1}})),s},_contextMenuPrepared:a.noop})},views:{contextMenuView:l.default.View.inherit({_renderCore:function(){var e=this,t=e.element().addClass(\"dx-context-menu\");this.setAria(\"role\",\"presentation\",t),this._createComponent(t,s.default,{onPositioning:function(t){var n=t.event,i=t.component,o=e.getController(\"contextMenu\").getContextMenuItems(n);o?(i.option(\"items\",o),n.stopPropagation()):t.cancel=!0},onItemClick:function(e){e.itemData.onItemClick&&e.itemData.onItemClick(e)},cssClass:e.getWidgetContainerClass(),target:e.component.$element()})}})}};t.contextMenuModule=h},72119:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.dataControllerModule=t.DataController=void 0;var i=m(n(68374)),o=n(34671),a=n(20576),r=n(62754),s=n(13306),l=n(95479),u=n(35922),d=m(n(26562)),c=m(n(88036)),h=m(n(53305)),f=m(n(96688)),p=m(n(15943)),g=m(n(60082));function m(e){return e&&e.__esModule?e:{default:e}}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=function(e,t,n){var i=e._dataSource;if(i){if(void 0!==n){if(e._getPagingOptionValue(t)!==n){\"pageSize\"===t&&i.pageIndex(0),i[t](n),e._skipProcessingPagingChange=!0,e.option(\"paging.\".concat(t),n),e._skipProcessingPagingChange=!1;var o=i.pageIndex();return e._isPaging=\"pageIndex\"===t,i[\"pageIndex\"===t?\"load\":\"reload\"]().done((function(){e._isPaging=!1,e.pageChanged.fire(o)}))}return(0,r.Deferred)().resolve().promise()}return i[t]()}return 0},y=function(e){var t,n;function h(){return e.apply(this,arguments)||this}n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var p=h.prototype;return p.init=function(){var e=this,t=this;t._items=[],t._cachedProcessedItems=null,t._columnsController=this.getController(\"columns\"),t._isPaging=!1,t._currentOperationTypes=null,t._dataChangedHandler=function(n){t._currentOperationTypes=e._dataSource.operationTypes(),t._handleDataChanged(n),t._currentOperationTypes=null},t._columnsChangedHandler=t._handleColumnsChanged.bind(t),t._loadingChangedHandler=t._handleLoadingChanged.bind(t),t._loadErrorHandler=t._handleLoadError.bind(t),t._customizeStoreLoadOptionsHandler=t._handleCustomizeStoreLoadOptions.bind(t),t._changingHandler=t._handleChanging.bind(t),t._dataPushedHandler=t._handleDataPushed.bind(t),t._columnsController.columnsChanged.add(t._columnsChangedHandler),t._isLoading=!1,t._isCustomLoading=!1,t._repaintChangesOnly=void 0,t._changes=[],t.createAction(\"onDataErrorOccurred\"),t.dataErrorOccurred.add((function(e){return t.executeAction(\"onDataErrorOccurred\",{error:e})})),t._refreshDataSource()},p._getPagingOptionValue=function(e){return this._dataSource[e]()},p.callbackNames=function(){return[\"changed\",\"loadingChanged\",\"dataErrorOccurred\",\"pageChanged\",\"dataSourceChanged\",\"pushed\"]},p.callbackFlags=function(e){if(\"dataErrorOccurred\"===e)return{stopOnFalse:!0}},p.publicMethods=function(){return[\"beginCustomLoading\",\"endCustomLoading\",\"refresh\",\"filter\",\"clearFilter\",\"getCombinedFilter\",\"keyOf\",\"byKey\",\"getDataByKeys\",\"pageIndex\",\"pageSize\",\"pageCount\",\"totalCount\",\"_disposeDataSource\",\"getKeyByRowIndex\",\"getRowIndexByKey\",\"getDataSource\",\"getVisibleRows\",\"repaintRows\"]},p.reset=function(){this._columnsController.reset(),this._items=[],this._refreshDataSource()},p._handleDataSourceChange=function(e){if(e.value===e.previousValue||this.option(\"columns\")&&Array.isArray(e.value)&&Array.isArray(e.previousValue)){if(e.value!==e.previousValue){var t=this.store();t&&(t._array=e.value)}return this.needToRefreshOnDataSourceChange(e)&&this.refresh(this.option(\"repaintChangesOnly\")),!0}return!1},p.needToRefreshOnDataSourceChange=function(e){return!0},p.optionChanged=function(t){var n,i,o=this,a=this;function r(){t.handled=!0}if(\"dataSource\"===t.name&&t.name===t.fullName&&this._handleDataSourceChange(t))r();else switch(t.name){case\"cacheEnabled\":case\"repaintChangesOnly\":case\"highlightChanges\":case\"loadingTimeout\":r();break;case\"remoteOperations\":case\"keyExpr\":case\"dataSource\":case\"scrolling\":r(),a.reset();break;case\"paging\":if((n=a.dataSource())&&(i=a._setPagingOptions(n))){var s=n.pageIndex();this._isPaging=i.isPageIndexChanged,n.load().done((function(){o._isPaging=!1,a.pageChanged.fire(s)}))}r();break;case\"rtlEnabled\":a.reset();break;case\"columns\":(n=a.dataSource())&&n.isLoading()&&t.name===t.fullName&&(this._useSortingGroupingFromColumns=!0,n.load());break;default:e.prototype.optionChanged.call(this,t)}},p.isReady=function(){return!this._isLoading},p.getDataSource=function(){return this._dataSource&&this._dataSource._dataSource},p.getCombinedFilter=function(e){return this.combinedFilter(void 0,e)},p.combinedFilter=function(e,t){if(!this._dataSource)return e;var n=null!=e?e:this._dataSource.filter();if(this._columnsController.isDataSourceApplied()||this._columnsController.isAllDataTypesDefined()){var i=this._calculateAdditionalFilter();n=i?g.default.combineFilters([i,n]):n}var o=this._dataSource.remoteOperations().filtering||t;return n=this._columnsController.updateFilter(n,o),n},p.waitReady=function(){return this._updateLockCount?(this._readyDeferred=new r.Deferred,this._readyDeferred):(0,r.when)()},p._endUpdateCore=function(){var e=this._changes;if(e.length){this._changes=[];var t=e.every((function(e){return e.repaintChangesOnly}));this.updateItems(1===e.length?e[0]:{repaintChangesOnly:t})}this._readyDeferred&&(this._readyDeferred.resolve(),this._readyDeferred=null)},p._handleCustomizeStoreLoadOptions=function(e){var t,n=this._columnsController,i=this._dataSource,o=e.storeLoadOptions;e.isCustomLoading&&!o.isLoadingAll||(o.filter=this.combinedFilter(o.filter),1===(null===(t=o.filter)||void 0===t?void 0:t.length)&&\"!\"===o.filter[0]&&(e.data=[],e.extra=e.extra||{},e.extra.totalCount=0),n.isDataSourceApplied()||n.updateColumnDataTypes(i),this._columnsUpdating=!0,n.updateSortingGrouping(i,!this._useSortingGroupingFromColumns),this._columnsUpdating=!1,o.sort=n.getSortDataSourceParameters(),o.group=n.getGroupDataSourceParameters(),i.sort(o.sort),i.group(o.group),o.sort=n.getSortDataSourceParameters(!i.remoteOperations().sorting),e.group=n.getGroupDataSourceParameters(!i.remoteOperations().grouping))},p._handleColumnsChanged=function(e){var t,n,i,o=this,a=e.changeTypes,r=e.optionNames;if(a.sorting||a.grouping)o._dataSource&&!o._columnsUpdating&&(o._dataSource.group(o._columnsController.getGroupDataSourceParameters()),o._dataSource.sort(o._columnsController.getSortDataSourceParameters()),o.reload());else if(a.columns&&(n=o._columnsController.columnOption(e.columnIndex,\"filterValues\"),(r.filterValues||r.filterType&&Array.isArray(n)||r.filterValue||r.selectedFilterOperation||r.allowFiltering)&&(t=o._columnsController.columnOption(e.columnIndex,\"filterValue\"),(Array.isArray(n)||void 0===e.columnIndex||(0,u.isDefined)(t)||!r.selectedFilterOperation||r.filterValue)&&(o._applyFilter(),i=!0)),o._needApplyFilter||g.default.checkChanges(r,[\"width\",\"visibleWidth\",\"filterValue\",\"bufferedFilterValue\",\"selectedFilterOperation\",\"filterValues\",\"filterType\"])||o._columnsController.columnsChanged.add((function e(t){var n;o._columnsController.columnsChanged.remove(e),o.updateItems({repaintChangesOnly:!1,virtualColumnsScrolling:null===(n=null==t?void 0:t.changeTypes)||void 0===n?void 0:n.virtualColumnsScrolling})})),(0,u.isDefined)(r.visible))){var s=o._columnsController.columnOption(e.columnIndex);s&&((0,u.isDefined)(s.filterValue)||(0,u.isDefined)(s.filterValues))&&(o._applyFilter(),i=!0)}!i&&a.filtering&&o.reload()},p._handleDataChanged=function(e){var t=this,n=t._dataSource,i=t._columnsController,o=!1;this._useSortingGroupingFromColumns=!1,n&&!t._isDataSourceApplying&&(t._isDataSourceApplying=!0,(0,r.when)(t._columnsController.applyDataSource(n)).done((function(){t._isLoading&&t._handleLoadingChanged(!1),o&&e&&e.isDelayed&&(e.isDelayed=!1),t._isDataSourceApplying=!1;var n,i=t._needApplyFilter;t._needApplyFilter=!1,i&&!t._isAllDataTypesDefined&&((n=t._calculateAdditionalFilter())&&n.length)?(f.default.log(\"W1005\",t.component.NAME),t._applyFilter()):t.updateItems(e,!0)})).fail((function(){t._isDataSourceApplying=!1})),t._isDataSourceApplying&&(o=!0,t._handleLoadingChanged(!0)),t._needApplyFilter=!t._columnsController.isDataSourceApplied(),t._isAllDataTypesDefined=i.isAllDataTypesDefined())},p._handleLoadingChanged=function(e){this._isLoading=e,this._fireLoadingChanged()},p._handleLoadError=function(e){this.dataErrorOccurred.fire(e)},p._handleDataPushed=function(e){this.pushed.fire(e)},p.fireError=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.dataErrorOccurred.fire(f.default.Error.apply(f.default,t))},p._setPagingOptions=function(e){var t=this.option(\"paging.pageIndex\"),n=this.option(\"paging.pageSize\"),i=this.option(\"paging.enabled\"),o=this.option(\"scrolling.mode\"),a=\"infinite\"===o,r=i||\"virtual\"===o||a,s=!1,l=!1,u=!1;return e.requireTotalCount(!a),void 0!==i&&e.paginate()!==r&&(e.paginate(r),s=!0),void 0!==n&&e.pageSize()!==n&&(e.pageSize(n),l=!0),void 0!==t&&e.pageIndex()!==t&&(e.pageIndex(t),u=!0),!!(s||l||u)&&{isPaginateChanged:s,isPageSizeChanged:l,isPageIndexChanged:u}},p._getSpecificDataSourceOption=function(){var e=this.option(\"dataSource\");return Array.isArray(e)?{store:{type:\"array\",data:e,key:this.option(\"keyExpr\")}}:e},p._initDataSource=function(){var t=this._dataSource;e.prototype._initDataSource.call(this);var n=this._dataSource;if(this._useSortingGroupingFromColumns=!0,this._cachedProcessedItems=null,n){var i=this._setPagingOptions(n);this._isPaging=null==i?void 0:i.isPageIndexChanged,this.setDataSource(n)}else t&&this.updateItems()},p._loadDataSource=function(){var e=this,t=e._dataSource,n=new r.Deferred;return(0,r.when)(this._columnsController.refresh(!0)).always((function(){t?t.load().done((function(){e._isPaging=!1,n.resolve.apply(n,arguments)})).fail(n.reject):n.resolve()})),n.promise()},p._beforeProcessItems=function(e){return e.slice(0)},p.getRowIndexDelta=function(){return 0},p.getDataIndex=function(e){var t=this._items,n=\"append\"===e.changeType&&t.length>0?t[t.length-1]:null;return(0,u.isDefined)(null==n?void 0:n.dataIndex)?n.dataIndex+1:0},p._processItems=function(e,t){var n=this,i=n.getRowIndexDelta(),o=t.changeType,a={visibleColumns:n._columnsController.getVisibleColumns(null,\"loadingAll\"===o),dataIndex:this.getDataIndex(t)},r=[];return(0,l.each)(e,(function(e,t){(0,u.isDefined)(t)&&(a.rowIndex=e-i,t=n._processItem(t,a),r.push(t))})),r},p._processItem=function(e,t){return e=this._generateDataItem(e,t),(e=this._processDataItem(e,t)).dataIndex=t.dataIndex++,e},p._generateDataItem=function(e,t){return{rowType:\"data\",data:e,key:this.keyOf(e)}},p._processDataItem=function(e,t){return e.values=this.generateDataValues(e.data,t.visibleColumns),e},p.generateDataValues=function(e,t,n){for(var i,o=[],a=0;a<t.length;a++){var r=t[a];i=n?void 0:null,r.command||(r.calculateCellValue?i=r.calculateCellValue(e):r.dataField&&(i=e[r.dataField])),o.push(i)}return o},p._applyChange=function(e){\"update\"===e.changeType?this._applyChangeUpdate(e):this.items().length&&e.repaintChangesOnly&&\"refresh\"===e.changeType?this._applyChangesOnly(e):\"refresh\"===e.changeType&&this._applyChangeFull(e)},p._applyChangeFull=function(e){this._items=e.items.slice(0)},p._getRowIndices=function(e){var t=e.rowIndices.slice(0),n=this.getRowIndexDelta();t.sort((function(e,t){return e-t}));for(var i=0;i<t.length;i++){var o=t[i];e.allowInvisibleRowIndices&&(o+=n),o<0&&(t.splice(i,1),i--)}return t},p._applyChangeUpdate=function(e){var t,n=this,i=e.items,o=n._getRowIndices(e),r=n.getRowIndexDelta(),s=n.option(\"repaintChangesOnly\"),u=-1,d=0;e.items=[],e.rowIndices=[],e.columnIndices=[],e.changeTypes=[];var c=function(e,t,n){var i=e&&t&&(0,a.equalByValue)(e.key,t.key);return i&&n&&(i=e.rowType===t.rowType&&(\"detail\"!==t.rowType||e.isEditing===t.isEditing)),i};(0,l.each)(o,(function(o,a){var l;if(u!==(a+=d+r)){u=a;var h=n._items[a],f=n._items[a+1],p=i[a],g=i[a+1],m=c(h,f)||c(p,g);if(p&&(p.rowIndex=a,e.items.push(p)),h&&p&&c(h,p,m))t=\"update\",n._items[a]=p,h.visible!==p.visible?e.items.splice(-1,1,{visible:p.visible}):s&&!e.isFullUpdate&&(l=n._partialUpdateRow(h,p,a-r));else if(p&&!h||g&&c(h,g,m))t=\"insert\",n._items.splice(a,0,p),d++;else if(h&&!p||f&&c(p,f,m))t=\"remove\",n._items.splice(a,1),d--,u=-1;else{if(!p)return;t=\"update\",n._items[a]=p}e.rowIndices.push(a-r),e.changeTypes.push(t),e.columnIndices.push(l)}}))},p._isCellChanged=function(e,t,n,i,o){if(JSON.stringify(e.values[i])!==JSON.stringify(t.values[i]))return!0;function a(e,t){return!!e.modifiedValues&&void 0!==e.modifiedValues[t]}return a(e,i)!==a(t,i)},p._getChangedColumnIndices=function(e,t,n,i){var o;if(e.rowType===t.rowType){if(\"group\"!==t.rowType&&\"groupFooter\"!==t.rowType&&(o=[],\"detail\"!==t.rowType))for(var a=0;a<e.values.length;a++)this._isCellChanged(e,t,n,a,i)&&o.push(a);\"group\"===t.rowType&&t.isExpanded===e.isExpanded&&e.cells&&(o=e.cells.map((function(e,t){var n;return\"groupExpand\"!==(null===(n=e.column)||void 0===n?void 0:n.type)?t:-1})).filter((function(e){return e>=0})))}return o},p._partialUpdateRow=function(e,t,n,i){var o=this._getChangedColumnIndices(e,t,n,i);return(null==o?void 0:o.length)&&this.option(\"dataRowTemplate\")&&(o=void 0),o&&(e.cells&&e.cells.forEach((function(e,n){!(o.indexOf(n)>=0)&&e&&e.update&&e.update(t)})),t.update=e.update,t.watch=e.watch,t.cells=e.cells,i&&(t.oldValues=e.values),e.update&&e.update(t)),o},p._isItemEquals=function(e,t){var n,i,o,a;if(JSON.stringify(e.values)!==JSON.stringify(t.values))return!1;if([\"modified\",\"isNewRow\",\"removed\",\"isEditing\"].some((function(n){return e[n]!==t[n]})))return!1;if(\"group\"===e.rowType||\"groupFooter\"===e.rowType){var r=e.isExpanded===t.isExpanded,s=JSON.stringify(e.summaryCells)===JSON.stringify(t.summaryCells),l=(null===(n=e.data)||void 0===n?void 0:n.isContinuation)===(null===(i=t.data)||void 0===i?void 0:i.isContinuation)&&(null===(o=e.data)||void 0===o?void 0:o.isContinuationOnNextPage)===(null===(a=t.data)||void 0===a?void 0:a.isContinuationOnNextPage);if(!r||!s||!l)return!1}return!0},p._applyChangesOnly=function(e){var t,n=this,i=[],a=[],r=[],s=[],l={},u=null===(t=null==e?void 0:e.isLiveUpdate)||void 0===t||t;function d(e){if(e)return\"\".concat(e.rowType,\",\").concat(JSON.stringify(e.key))}var c=this._items,h=c.slice();e.items.forEach((function(e,t){var n=d(e);l[n]=t,e.rowIndex=t}));var f=(0,o.findChanges)(h,e.items,d,(function(e,t){return!!n._isItemEquals(e,t)&&(e.cells&&(e.update&&e.update(t),e.cells.forEach((function(e){e&&e.update&&e.update(t,!0)}))),!0)}));f?(f.forEach((function(e){switch(e.type){case\"update\":var t=e.index,o=e.data,l=e.oldItem,d=n._partialUpdateRow(l,o,t,u);i.push(t),r.push(\"update\"),s.push(o),c[t]=o,a.push(d);break;case\"insert\":i.push(e.index),r.push(\"insert\"),s.push(e.data),a.push(void 0),c.splice(e.index,0,e.data);break;case\"remove\":i.push(e.index),r.push(\"remove\"),c.splice(e.index,1),s.push(e.oldItem),a.push(void 0)}})),e.repaintChangesOnly=!0,e.changeType=\"update\",e.rowIndices=i,e.columnIndices=a,e.changeTypes=r,e.items=s,h.length&&(e.isLiveUpdate=!0),this._correctRowIndices((function(e){var t=n._rowIndexOffset||0,i=n.getRowIndexOffset(),o=d(h[e-t]),a=l[o];return a>=0?a+i-e:0}))):this._applyChangeFull(e)},p._correctRowIndices=function(e){},p._afterProcessItems=function(e,t){return e},p._updateItemsCore=function(e){var t,n=this._dataSource,i=e.changeType||\"refresh\";if(e.changeType=i,n){var o=this._cachedProcessedItems;e.useProcessedItemsCache&&o?t=o:(t=e.items||n.items(),t=this._beforeProcessItems(t),t=this._processItems(t,e),this._cachedProcessedItems=t),t=this._afterProcessItems(t,e),e.items=t;var a=this._items.length===t.length&&this._items;this._applyChange(e);var r=this.getRowIndexDelta();(0,l.each)(this._items,(function(e,n){var i;n.rowIndex=e-r,a&&(n.cells=null!==(i=a[e].cells)&&void 0!==i?i:[]);var o=t[e];o&&(n.loadIndex=o.loadIndex)})),this._rowIndexOffset=this.getRowIndexOffset()}else this._items=[]},p._handleChanging=function(e){var t=this.getVisibleRows();this.dataSource()&&e.changes.forEach((function(e){if(\"insert\"===e.type&&e.index>=0){for(var n=0,i=0;i<e.index;i++){var o=t[i];!o||\"data\"!==o.rowType&&\"group\"!==o.rowType||n++}e.index=n}}))},p.updateItems=function(e,t){var n;e=e||{};if(void 0!==this._repaintChangesOnly)e.repaintChangesOnly=null!==(n=e.repaintChangesOnly)&&void 0!==n?n:this._repaintChangesOnly,e.needUpdateDimensions=e.needUpdateDimensions||this._needUpdateDimensions;else if(e.changes)e.repaintChangesOnly=this.option(\"repaintChangesOnly\");else if(t){var i=this.dataSource().operationTypes();e.repaintChangesOnly=i&&!i.grouping&&!i.filtering&&this.option(\"repaintChangesOnly\"),e.isDataChanged=!0,i&&(i.reload||i.paging||i.groupExpanding)&&(e.needUpdateDimensions=!0)}!this._updateLockCount||e.cancel?(this._updateItemsCore(e),e.cancel||this._fireChanged(e)):this._changes.push(e)},p.loadingOperationTypes=function(){var e=this.dataSource();return e&&e.loadingOperationTypes()||{}},p._fireChanged=function(e){var t=this;this._currentOperationTypes&&(e.operationTypes=this._currentOperationTypes,this._currentOperationTypes=null),(0,a.deferRender)((function(){t.changed.fire(e)}))},p.isLoading=function(){return this._isLoading||this._isCustomLoading},p._fireLoadingChanged=function(){this.loadingChanged.fire(this.isLoading(),this._loadingText)},p._calculateAdditionalFilter=function(){return null},p._applyFilter=function(){var e=this,t=this._dataSource;if(t)return t.pageIndex(0),this._isFilterApplying=!0,this.reload().done((function(){e._isFilterApplying&&e.pageChanged.fire()}))},p.resetFilterApplying=function(){this._isFilterApplying=!1},p.filter=function(e){var t=this._dataSource,n=t&&t.filter();if(0===arguments.length)return n;e=arguments.length>1?Array.prototype.slice.call(arguments,0):e,g.default.equalFilterParameters(n,e)||(t&&t.filter(e),this._applyFilter())},p.clearFilter=function(e){var t=this,n=t._columnsController,i=function(e){for(var t=n.columnCount(),i=0;i<t;i++)n.columnOption(i,e,void 0)};if(t.component.beginUpdate(),arguments.length>0)switch(e){case\"dataSource\":t.filter(null);break;case\"search\":t.searchByText(\"\");break;case\"header\":i(\"filterValues\");break;case\"row\":i(\"filterValue\")}else t.filter(null),t.searchByText(\"\"),i(\"filterValue\"),i(\"bufferedFilterValue\"),i(\"filterValues\");t.component.endUpdate()},p._fireDataSourceChanged=function(){var e=this;e.changed.add((function t(){e.changed.remove(t),e.dataSourceChanged.fire()}))},p._getDataSourceAdapter=function(){},p._createDataSourceAdapterCore=function(e,t){var n=this._getDataSourceAdapter().create(this.component);return n.init(e,t),n},p.isLocalStore=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.store();return e instanceof d.default},p.isCustomStore=function(e){return(e=e||this.store())instanceof c.default},p._createDataSourceAdapter=function(e){var t=this.option(\"remoteOperations\"),n=e.store(),i={filtering:!0,sorting:!0,paging:!0,grouping:!0,summary:!0};return(0,u.isObject)(t)&&t.groupPaging&&(t=(0,s.extend)({},i,t)),\"auto\"===t&&(t=this.isLocalStore(n)||this.isCustomStore(n)?{}:{filtering:!0,sorting:!0,paging:!0}),!0===t&&(t=i),this._createDataSourceAdapterCore(e,t)},p.setDataSource=function(e){var t=this._dataSource;!e&&t&&(t.cancelAll(),t.changed.remove(this._dataChangedHandler),t.loadingChanged.remove(this._loadingChangedHandler),t.loadError.remove(this._loadErrorHandler),t.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler),t.changing.remove(this._changingHandler),t.pushed.remove(this._dataPushedHandler),t.dispose(this._isSharedDataSource)),e&&(e=this._createDataSourceAdapter(e)),this._dataSource=e,e&&(this._fireDataSourceChanged(),this._isLoading=!e.isLoaded(),this._needApplyFilter=!0,this._isAllDataTypesDefined=this._columnsController.isAllDataTypesDefined(),e.changed.add(this._dataChangedHandler),e.loadingChanged.add(this._loadingChangedHandler),e.loadError.add(this._loadErrorHandler),e.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler),e.changing.add(this._changingHandler),e.pushed.add(this._dataPushedHandler))},p.items=function(e){return this._items},p.isEmpty=function(){return!this.items().length},p.pageCount=function(){return this._dataSource?this._dataSource.pageCount():1},p.dataSource=function(){return this._dataSource},p.store=function(){var e=this._dataSource;return e&&e.store()},p.loadAll=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this,i=new r.Deferred,o=n._dataSource;if(o)if(e){var a={data:e,isCustomLoading:!0,storeLoadOptions:{isLoadingAll:!0},loadOptions:{filter:t?null:n.getCombinedFilter(),group:o.group(),sort:o.sort()}};o._handleDataLoaded(a),(0,r.when)(a.data).done((function(e){var t;e=n._beforeProcessItems(e),i.resolve(n._processItems(e,{changeType:\"loadingAll\"}),null===(t=a.extra)||void 0===t?void 0:t.summary)})).fail(i.reject)}else if(o.isLoading())i.reject();else{var l=(0,s.extend)({},o.loadOptions(),{isLoadingAll:!0,requireTotalCount:!1});o.load(l).done((function(e,t){e=n._beforeProcessItems(e),e=n._processItems(e,{changeType:\"loadingAll\"}),i.resolve(e,t&&t.summary)})).fail(i.reject)}else i.resolve([]);return i},p.getKeyByRowIndex=function(e,t){var n=this.items(t)[e];if(n)return n.key},p.getRowIndexByKey=function(e,t){return g.default.getIndexByKey(e,this.items(t))},p.keyOf=function(e){var t=this.store();if(t)return t.keyOf(e)},p.byKey=function(e){var t,n=this.store(),i=this.getRowIndexByKey(e);if(n)return i>=0&&(t=(new r.Deferred).resolve(this.items()[i].data)),t||n.byKey(e)},p.key=function(){var e=this.store();if(e)return e.key()},p.getRowIndexOffset=function(e){return 0},p.getDataByKeys=function(e){var t=this,n=new r.Deferred,o=[],a=[];return(0,l.each)(e,(function(e,n){o.push(t.byKey(n).done((function(t){a[e]=t})))})),r.when.apply(i.default,o).always((function(){n.resolve(a)})),n},p.pageIndex=function(e){return v(this,\"pageIndex\",e)},p.pageSize=function(e){return v(this,\"pageSize\",e)},p.beginCustomLoading=function(e){this._isCustomLoading=!0,this._loadingText=e||\"\",this._fireLoadingChanged()},p.endCustomLoading=function(){this._isCustomLoading=!1,this._loadingText=void 0,this._fireLoadingChanged()},p.refresh=function(e){!0===e?e={reload:!0,changesOnly:!0}:e||(e={lookup:!0,selection:!0,reload:!0});var t=this,n=t.getDataSource(),i=e.changesOnly,o=new r.Deferred,a=function(){t._repaintChangesOnly=!!i};return(0,r.when)(!e.lookup||t._columnsController.refresh()).always((function(){e.load||e.reload?(n&&n.on(\"customizeLoadResult\",a),(0,r.when)(t.reload(e.reload,i)).always((function(){n&&n.off(\"customizeLoadResult\",a),t._repaintChangesOnly=void 0})).done(o.resolve).fail(o.reject)):(t.updateItems({repaintChangesOnly:e.changesOnly}),o.resolve())})),o.promise()},p.getVisibleRows=function(){return this.items()},p._disposeDataSource=function(){this.setDataSource(null)},p.dispose=function(){this._disposeDataSource(),e.prototype.dispose.call(this)},p.repaintRows=function(e,t){((e=Array.isArray(e)?e:[e]).length>1||(0,u.isDefined)(e[0]))&&this.updateItems({changeType:\"update\",rowIndices:e,isFullUpdate:!t})},p.skipProcessingPagingChange=function(e){return this._skipProcessingPagingChange&&(\"paging.pageIndex\"===e||\"paging.pageSize\"===e)},p.getUserState=function(){return{searchText:this.option(\"searchPanel.text\"),pageIndex:this.pageIndex(),pageSize:this.pageSize()}},p.getCachedStoreData=function(){return this._dataSource&&this._dataSource.getCachedStoreData()},p.isLastPageLoaded=function(){return this.pageIndex()===this.pageCount()-1},p.load=function(){var e;return null===(e=this._dataSource)||void 0===e?void 0:e.load()},p.reload=function(e,t){var n;return null===(n=this._dataSource)||void 0===n?void 0:n.reload(e,t)},p.push=function(){var e,t;return null===(t=this._dataSource)||void 0===t?void 0:(e=t).push.apply(e,arguments)},p.itemsCount=function(){var e;return this._dataSource?null===(e=this._dataSource)||void 0===e?void 0:e.itemsCount():0},p.totalItemsCount=function(){var e;return this._dataSource?null===(e=this._dataSource)||void 0===e?void 0:e.totalItemsCount():0},p.hasKnownLastPage=function(){var e;return!this._dataSource||(null===(e=this._dataSource)||void 0===e?void 0:e.hasKnownLastPage())},p.isLoaded=function(){var e;return!this._dataSource||(null===(e=this._dataSource)||void 0===e?void 0:e.isLoaded())},p.totalCount=function(){var e;return this._dataSource?null===(e=this._dataSource)||void 0===e?void 0:e.totalCount():0},h}(p.default.Controller.inherit(h.default));t.DataController=y;var b={defaultOptions:function(){return{loadingTimeout:0,dataSource:null,cacheEnabled:!0,repaintChangesOnly:!1,highlightChanges:!1,onDataErrorOccurred:null,remoteOperations:\"auto\",paging:{enabled:!0,pageSize:void 0,pageIndex:void 0}}},controllers:{data:y}};t.dataControllerModule=b},30945:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=f(n(44504)),o=n(20576),a=n(62754),r=n(13306),s=n(95479),l=n(35922),u=f(n(26562)),d=n(60637),c=f(n(15943)),h=f(n(60082));function f(e){return e&&e.__esModule?e:{default:e}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=c.default.Controller.inherit(function(){function e(t,n){if(t&&(t=t.slice(0),n))for(var i=0;i<t.length;i++)t[i]=(0,r.extend)({key:t[i].key},t[i]),t[i].items=e(t[i].items,n-1);return t}function t(e,t,n){var i={reload:!0,fullReload:!0};return t&&((i={sorting:!h.default.equalSortParameters(e.sort,t.sort),grouping:!h.default.equalSortParameters(e.group,t.group,!0),groupExpanding:!h.default.equalSortParameters(e.group,t.group)||t.groupExpand,filtering:!h.default.equalFilterParameters(e.filter,t.filter),pageIndex:e.pageIndex!==t.pageIndex,skip:e.skip!==t.skip,take:e.take!==t.take,pageSize:e.pageSize!==t.pageSize,fullReload:n,reload:!1,paging:!1}).reload=n||i.sorting||i.grouping||i.filtering,i.paging=i.pageIndex||i.pageSize||i.take),i}function n(e,t){var n=h.default.normalizeSortingInfo(e.group||e.storeLoadOptions.group||e.loadOptions.group).length,i=[];if(c(i,e,n))return i;t&&function(e,t,n){var i,o,a=e.length,r=t.storeLoadOptions;if(void 0!==r.skip&&r.take&&!n){var s=[];c(s,t,n,!0);var l=s.length;(a||l)&&(t.skip=null!==(i=t.skip)&&void 0!==i?i:r.skip,t.take=null!==(o=t.take)&&void 0!==o?o:r.take),a&&(r.skip+=a,r.take-=a,t.cachedDataPartBegin=e),l&&(r.take-=l,t.cachedDataPartEnd=s.reverse())}}(i,e,n)}function c(e,t,n,i){var o,a,r,s,l,u=t.storeLoadOptions,d=null!==(a=null!==(o=t.take)&&void 0!==o?o:u.take)&&void 0!==a?a:0,c=null===(r=t.cachedData)||void 0===r?void 0:r.items;if(d&&c){for(var h=null!==(l=null!==(s=t.skip)&&void 0!==s?s:u.skip)&&void 0!==l?l:0,p=0;p<d;p++){var g=i?d-1-p:p,m=g+h,_=c[m];if(void 0===_&&m in c)return!0;var v=f(t,_,n,g,d);if(!v)return!1;e.push(v)}return!0}return!1}function f(e,t,n,i,o){return n&&t?function e(t,n,i,o){if(n&&t){var a=p({},t),r=i[0]||0,s=o[0],l=t.items;if(l){if(void 0===s&&!l[r])return;a.items=[],i.length&&(a.isContinuation=!0),s&&(a.isContinuationOnNextPage=t.count>s);for(var u=0;void 0===s?l[u+r]:u<s;u++){var d=l[u+r],c=u+1===s,h=e(d,n-1,0===u?i.slice(1):[],c?o.slice(1):[]);if(void 0===h)return;a.items.push(h)}}return a}return t}(t,n,0===i&&e.skips||[],i===o-1&&e.takes||[]):t}function g(e,t,n,i){if(n&&t){var o=p({},t);delete o.isContinuation,delete o.isContinuationOnNextPage;var a=i[0]||0;return t.items&&(o.items=(null==e?void 0:e.items)||{},t.items.forEach((function(e,t){var r=t+a,s=0===t?i.slice(1):[];o.items[r]=g(o.items[r],e,n-1,s)}))),o}return t}return{init:function(e,t){var n=this;n._dataSource=e,n._remoteOperations=t||{},n._isLastPage=!e.isLastPage(),n._hasLastPage=!1,n._currentTotalCount=0,n._cachedData={items:{}},n._lastOperationTypes={},n._eventsStrategy=e._eventsStrategy,n._totalCountCorrection=0,n._isLoadingAll=!1,n.changed=(0,i.default)(),n.loadingChanged=(0,i.default)(),n.loadError=(0,i.default)(),n.customizeStoreLoadOptions=(0,i.default)(),n.changing=(0,i.default)(),n.pushed=(0,i.default)(),n._dataChangedHandler=n._handleDataChanged.bind(n),n._customizeStoreLoadOptionsHandler=n._handleCustomizeStoreLoadOptions.bind(n),n._dataLoadedHandler=n._handleDataLoaded.bind(n),n._loadingChangedHandler=n._handleLoadingChanged.bind(n),n._loadErrorHandler=n._handleLoadError.bind(n),n._pushHandler=n._handlePush.bind(n),n._changingHandler=n._handleChanging.bind(n),e.on(\"changed\",n._dataChangedHandler),e.on(\"customizeStoreLoadOptions\",n._customizeStoreLoadOptionsHandler),e.on(\"customizeLoadResult\",n._dataLoadedHandler),e.on(\"loadingChanged\",n._loadingChangedHandler),e.on(\"loadError\",n._loadErrorHandler),e.on(\"changing\",n._changingHandler),e.store().on(\"beforePush\",n._pushHandler),(0,s.each)(e,(function(e,t){!n[e]&&(0,l.isFunction)(t)&&(n[e]=function(){return this._dataSource[e].apply(this._dataSource,arguments)})}))},remoteOperations:function(){return this._remoteOperations},dispose:function(e){var t=this._dataSource,n=t.store();t.off(\"changed\",this._dataChangedHandler),t.off(\"customizeStoreLoadOptions\",this._customizeStoreLoadOptionsHandler),t.off(\"customizeLoadResult\",this._dataLoadedHandler),t.off(\"loadingChanged\",this._loadingChangedHandler),t.off(\"loadError\",this._loadErrorHandler),t.off(\"changing\",this._changingHandler),n&&n.off(\"beforePush\",this._pushHandler),e||t.dispose()},refresh:function(e,t){var n=this._dataSource;t.reload&&(this.resetCurrentTotalCount(),this._isLastPage=!n.paginate(),this._hasLastPage=this._isLastPage)},resetCurrentTotalCount:function(){this._currentTotalCount=0,this._totalCountCorrection=0},resetCache:function(){this._cachedStoreData=void 0,this._cachedPagingData=void 0},resetPagesCache:function(){this._cachedData={items:{}}},_needClearStoreDataCache:function(){var e=this.remoteOperations(),n=t(this._lastLoadOptions||{},{});return!Object.keys(e).every((function(t){return!n[t]||!e[t]}))},push:function(e,t){var n=this.store();this._needClearStoreDataCache()&&(this._cachedStoreData=void 0),this._cachedPagingData=void 0,this.resetPagesCache(!0),this._cachedStoreData&&(0,d.applyBatch)({keyInfo:n,data:this._cachedStoreData,changes:e}),t||this._applyBatch(e),this.pushed.fire(e)},getDataIndexGetter:function(){var e=this;if(!this._dataIndexGetter){var t,n,i=this.store();this._dataIndexGetter=function(a){var r=n&&n!==e._cachedStoreData;if(!t||r){n=e._cachedStoreData||[],t={};for(var s=0;s<n.length;s++)t[(0,o.getKeyHash)(i.keyOf(n[s]))]=s}return t[(0,o.getKeyHash)(i.keyOf(a))]}}return this._dataIndexGetter},_getKeyInfo:function(){return this.store()},_needToCopyDataObject:function(){return!0},_applyBatch:function(e,t){var n=this,i=this._getKeyInfo(),o=this._dataSource,a=h.default.normalizeSortingInfo(this.group()).length,r=\"reshape\"===this.option(\"editing.refreshMode\"),s=\"virtual\"===this.option(\"scrolling.mode\");e=e.filter((function(e){return!o.paginate()||\"insert\"!==e.type||void 0!==e.index}));var l=function(){return a?n.itemsCount():n.items().length},u=l();(0,d.applyBatch)({keyInfo:i,data:this._items,changes:e,groupCount:a,useInsertIndex:!0,skipCopying:!this._needToCopyDataObject()}),(0,d.applyBatch)({keyInfo:i,data:o.items(),changes:e,groupCount:a,useInsertIndex:!0,skipCopying:!this._needToCopyDataObject()}),(this._currentTotalCount>0||(t||!r)&&s)&&(this._totalCountCorrection+=l()-u),e.splice(0,e.length)},_handlePush:function(e){var t=e.changes;this.push(t,!0)},_handleChanging:function(e){this.changing.fire(e),this._applyBatch(e.changes,!0)},_needCleanCacheByOperation:function(e,t){var n=[\"filtering\",\"sorting\",\"paging\"],i=n.indexOf(e);return(i>=0?n.slice(i):[e]).some((function(e){return t[e]}))},_customizeRemoteOperations:function(e,t){var n=this,i=this._cachedStoreData,o=this._cachedPagingData,a=this._cachedData;(e.storeLoadOptions.filter&&!e.remoteOperations.filtering||e.storeLoadOptions.sort&&!e.remoteOperations.sorting)&&(e.remoteOperations={filtering:e.remoteOperations.filtering,summary:e.remoteOperations.summary}),t.fullReload?(i=void 0,o=void 0,a={items:{}}):(t.reload?(o=void 0,a={items:{}}):t.groupExpanding&&(a={items:{}}),(0,s.each)(t,(function(t,a){a&&n._needCleanCacheByOperation(t,e.remoteOperations)&&(i=void 0,o=void 0)}))),o&&(e.remoteOperations.paging=!1),e.cachedStoreData=i,e.cachedPagingData=o,e.cachedData=a,e.isCustomLoading||(this._cachedStoreData=i,this._cachedPagingData=o,this._cachedData=a)},_handleCustomizeStoreLoadOptions:function(e){var t;this._handleDataLoading(e),0!==(null===(t=e.data)||void 0===t?void 0:t.length)&&(e.data=n(e,!0)||e.cachedStoreData)},_handleDataLoading:function(e){var n=this,i=this._dataSource,o=this._lastLoadOptions;this.customizeStoreLoadOptions.fire(e),e.delay=this.option(\"loadingTimeout\"),e.originalStoreLoadOptions=e.storeLoadOptions,e.remoteOperations=(0,r.extend)({},this.remoteOperations());var s=!this.isLoaded()&&!this._isRefreshing;this.option(\"integrationOptions.renderedOnServer\")&&!this.isLoaded()&&(e.delay=void 0);var l=(0,r.extend)({pageIndex:this.pageIndex(),pageSize:this.pageSize()},e.storeLoadOptions),u=t(l,o,s);if(this._customizeRemoteOperations(e,u),!e.isCustomLoading){var d=this._isRefreshing;e.pageIndex=i.pageIndex(),e.lastLoadOptions=l,e.operationTypes=u,this._loadingOperationTypes=u,this._isRefreshing=!0,(0,a.when)(d||this._isRefreshed||this.refresh(e,u)).done((function(){n._lastOperationId===e.operationId&&(n._isRefreshed=!0,n.load().always((function(){n._isRefreshed=!1})))})).fail((function(){i.cancel(e.operationId)})).always((function(){n._isRefreshing=!1})),i.cancel(this._lastOperationId),this._lastOperationId=e.operationId,this._isRefreshing&&i.cancel(this._lastOperationId)}this._handleDataLoadingCore(e)},_handleDataLoadingCore:function(e){var t=e.remoteOperations;e.loadOptions={};var n=e.cachedData.extra,i={filter:!t.filtering,sort:!t.sorting,group:!t.grouping,summary:!t.summary,skip:!t.paging,take:!t.paging,requireTotalCount:n&&\"totalCount\"in n||!t.paging,langParams:!t.filtering||!t.sorting};(0,s.each)(e.storeLoadOptions,(function(t,n){i[t]&&(e.loadOptions[t]=n,delete e.storeLoadOptions[t])})),n&&(e.extra=n)},_handleDataLoaded:function(t){var i,o,s=this,d=t.loadOptions,c=t.remoteOperations&&!t.remoteOperations.paging,f=t.cachedData,p=t.storeLoadOptions,m=!1!==this.option(\"cacheEnabled\")&&p,_=m&&!t.isCustomLoading&&f&&(!c||p.group),v=m&&c,y=v&&!t.isCustomLoading;if(d){c&&(t.skip=d.skip,t.take=d.take,delete d.skip,delete d.take),d.group&&(d.group=t.group||d.group);var b=h.default.normalizeSortingInfo(t.group||p.group||d.group).length;t.cachedDataPartBegin&&(t.data=t.cachedDataPartBegin.concat(t.data)),t.cachedDataPartEnd&&(t.data=t.data.concat(t.cachedDataPartEnd)),_&&n(t)||(v&&t.cachedPagingData?t.data=e(t.cachedPagingData,b):(y&&(this._cachedStoreData?t.mergeStoreLoadData&&(t.data=this._cachedStoreData=this._cachedStoreData.concat(t.data)):this._cachedStoreData=e(t.data,h.default.normalizeSortingInfo(p.group).length)),new u.default(t.data).load(d).done((function(n){t.data=n,y&&(s._cachedPagingData=e(t.data,b))})).fail((function(e){t.data=(new a.Deferred).reject(e)}))),d.requireTotalCount&&c&&(t.extra=(0,l.isPlainObject)(t.extra)?t.extra:{},t.extra.totalCount=t.data.length),t.extra&&t.extra.totalCount>=0&&(!1===p.requireTotalCount||!1===d.requireTotalCount)&&(t.extra.totalCount=-1),!d.data&&(p.requireTotalCount||(null!==(o=null===(i=t.extra)||void 0===i?void 0:i.totalCount)&&void 0!==o?o:-1)>=0)&&(this._totalCountCorrection=0),this._handleDataLoadedCore(t),_&&(f.extra=f.extra||(0,r.extend)({},t.extra),(0,a.when)(t.data).done((function(e){!function(e,t,n){for(var i,o,a,r,s=e.storeLoadOptions,l=null!==(o=null!==(i=e.skip)&&void 0!==i?i:s.skip)&&void 0!==o?o:0,u=null!==(r=null!==(a=e.take)&&void 0!==a?a:s.take)&&void 0!==r?r:0,d=0;d<u;d++){var c=d+l,h=e.cachedData.items,f=0===d&&e.skips||[];h[c]=g(h[c],t[d],n,f)}}(t,e,b)})))),(0,a.when)(t.data).done((function(){t.lastLoadOptions&&(s._lastLoadOptions=t.lastLoadOptions,Object.keys(t.operationTypes).forEach((function(e){s._lastOperationTypes[e]=s._lastOperationTypes[e]||t.operationTypes[e]})))})),t.storeLoadOptions=t.originalStoreLoadOptions}else this._dataSource.cancel(t.operationId)},_handleDataLoadedCore:function(e){e.remoteOperations&&!e.remoteOperations.paging&&Array.isArray(e.data)&&(void 0!==e.skip&&(e.data=e.data.slice(e.skip)),void 0!==e.take&&(e.data=e.data.slice(0,e.take)))},_handleLoadingChanged:function(e){this.loadingChanged.fire(e)},_handleLoadError:function(e){this.loadError.fire(e),this.changed.fire({changeType:\"loadError\",error:e})},_loadPageSize:function(){return this.pageSize()},_handleDataChanged:function(e){var t,n=this._dataSource,i=!1,o=!e||(0,l.isDefined)(e.changeType),a=this.itemsCount();o&&(this._isLastPage=!a||!this._loadPageSize()||a<this._loadPageSize(),this._isLastPage&&(this._hasLastPage=!0)),n.totalCount()>=0?n.pageIndex()>=this.pageCount()&&(n.pageIndex(this.pageCount()-1),this.pageIndex(n.pageIndex()),this.resetPagesCache(),n.load(),i=!0):o&&((t=n.pageIndex()*this.pageSize()+a)>this._currentTotalCount&&(this._currentTotalCount=t,0!==n.pageIndex()&&this.option(\"scrolling.legacyMode\")||(this._totalCountCorrection=0)),0===a&&n.pageIndex()>=this.pageCount()&&(n.pageIndex(this.pageCount()-1),\"infinite\"!==this.option(\"scrolling.mode\")&&(n.load(),i=!0))),i||(this._operationTypes=this._lastOperationTypes,this._lastOperationTypes={},this.component._optionCache={},this.changed.fire(e),this.component._optionCache=void 0)},_scheduleCustomLoadCallbacks:function(e){var t=this;t._isCustomLoading=!0,e.always((function(){t._isCustomLoading=!1}))},loadingOperationTypes:function(){return this._loadingOperationTypes},operationTypes:function(){return this._operationTypes},lastLoadOptions:function(){return this._lastLoadOptions||{}},isLastPage:function(){return this._isLastPage},_dataSourceTotalCount:function(){return this._dataSource.totalCount()},totalCount:function(){return parseInt((this._currentTotalCount||this._dataSourceTotalCount())+this._totalCountCorrection)},totalCountCorrection:function(){return this._totalCountCorrection},itemsCount:function(){return this._dataSource.items().length},totalItemsCount:function(){return this.totalCount()},pageSize:function(){var e=this._dataSource;return arguments.length||e.paginate()?e.pageSize.apply(e,arguments):0},pageCount:function(){var e=this.totalItemsCount()-this._totalCountCorrection,t=this.pageSize();return t&&e>0?Math.max(1,Math.ceil(e/t)):1},hasKnownLastPage:function(){return this._hasLastPage||this._dataSource.totalCount()>=0},loadFromStore:function(e,t){var n=this._dataSource,i=new a.Deferred;if(n)return(t=t||n.store()).load(e).done((function(e,t){e&&!Array.isArray(e)&&Array.isArray(e.data)&&(t=e,e=e.data),i.resolve(e,t)})).fail(i.reject),i},isCustomLoading:function(){return!!this._isCustomLoading},load:function(e){var t,n,i=this,u=this,d=u._dataSource,c=new a.Deferred;if(e){var h=d.store(),f=d.loadOptions(),p={storeLoadOptions:(0,r.extend)({},e,{langParams:null==f?void 0:f.langParams}),isCustomLoading:!0};return(0,s.each)(h._customLoadOptions()||[],(function(e,t){t in p.storeLoadOptions||(p.storeLoadOptions[t]=f[t])})),this._isLoadingAll=e.isLoadingAll,u._scheduleCustomLoadCallbacks(c),d._scheduleLoadCallbacks(c),u._handleCustomizeStoreLoadOptions(p),t=function(){if(!d.store())return c.reject(\"canceled\");(0,a.when)(p.data||u.loadFromStore(p.storeLoadOptions)).done((function(t,n){p.data=t,p.extra=n||{},u._handleDataLoaded(p),e.requireTotalCount&&void 0===p.extra.totalCount&&(p.extra.totalCount=h.totalCount(p.storeLoadOptions)),(0,a.when)(p.data,p.extra.totalCount).done((function(e,t){p.extra.totalCount=t,c.resolve(e,p.extra)})).fail(c.reject)})).fail(c.reject)},n=u.option(\"loadingTimeout\"),(0,l.isDefined)(n)?(0,o.executeAsync)(t,n):t(),c.fail((function(){u._eventsStrategy.fireEvent(\"loadError\",arguments)})).always((function(){i._isLoadingAll=!1})).promise()}return d.load()},reload:function(e){return e?this._dataSource.reload():this._dataSource.load()},getCachedStoreData:function(){return this._cachedStoreData}}}());t.default=g},72313:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEWPORT_TOP_NEW_ROW_POSITION=t.VIEWPORT_BOTTOM_NEW_ROW_POSITION=t.TARGET_COMPONENT_NAME=t.ROW_SELECTED_CLASS=t.ROW_SELECTED=t.ROW_REMOVED=t.ROW_MODIFIED=t.ROW_INSERTED=t.ROW_CLASS=t.ROW_BASED_MODES=t.REQUIRED_EDITOR_LABELLEDBY_MODES=t.READONLY_CLASS=t.PAGE_TOP_NEW_ROW_POSITION=t.PAGE_BOTTOM_NEW_ROW_POSITION=t.MODES_WITH_DELAYED_FOCUS=t.METHOD_NAMES=t.LINK_ICON_CLASS=t.LINK_CLASS=t.LAST_NEW_ROW_POSITION=t.INSERT_INDEX=t.FORM_BUTTONS_CONTAINER_CLASS=t.FOCUS_OVERLAY_CLASS=t.FOCUSABLE_ELEMENT_SELECTOR=t.FOCUSABLE_ELEMENT_CLASS=t.FIRST_NEW_ROW_POSITION=t.EDIT_ROW=t.EDIT_POPUP_FORM_CLASS=t.EDIT_POPUP_CLASS=t.EDIT_MODE_ROW=t.EDIT_MODE_POPUP=t.EDIT_MODE_FORM=t.EDIT_MODE_CELL=t.EDIT_MODE_BATCH=t.EDIT_MODES=t.EDIT_LINK_CLASS=t.EDIT_ICON_CLASS=t.EDIT_FORM_ITEM_CLASS=t.EDIT_FORM_CLASS=t.EDIT_BUTTON_CLASS=t.EDITOR_CELL_CLASS=t.EDITORS_INPUT_SELECTOR=t.EDITING_POPUP_OPTION_NAME=t.EDITING_NAMESPACE=t.EDITING_FORM_OPTION_NAME=t.EDITING_EDITROWKEY_OPTION_NAME=t.EDITING_EDITCOLUMNNAME_OPTION_NAME=t.EDITING_CHANGES_OPTION_NAME=t.DROPDOWN_EDITOR_OVERLAY_CLASS=t.DEFAULT_START_EDIT_ACTION=t.DATA_ROW_CLASS=t.DATA_EDIT_DATA_UPDATE_TYPE=t.DATA_EDIT_DATA_REMOVE_TYPE=t.DATA_EDIT_DATA_INSERT_TYPE=t.COMMAND_EDIT_WITH_ICONS_CLASS=t.COMMAND_EDIT_CLASS=t.CELL_MODIFIED_CLASS=t.CELL_MODIFIED=t.CELL_FOCUS_DISABLED_CLASS=t.BUTTON_NAMES=t.BUTTON_CLASS=t.ADD_ROW_BUTTON_CLASS=t.ACTION_OPTION_NAMES=void 0;var i,o=(i=n(41183))&&i.__esModule?i:{default:i};t.EDITOR_CELL_CLASS=\"dx-editor-cell\";t.ROW_CLASS=\"dx-row\";t.CELL_MODIFIED_CLASS=\"dx-cell-modified\";t.ROW_SELECTED_CLASS=\"dx-selection\";t.EDIT_FORM_CLASS=\"edit-form\";t.DATA_EDIT_DATA_INSERT_TYPE=\"insert\";t.DATA_EDIT_DATA_REMOVE_TYPE=\"remove\";t.EDITING_POPUP_OPTION_NAME=\"editing.popup\";t.EDITING_FORM_OPTION_NAME=\"editing.form\";t.EDITING_EDITROWKEY_OPTION_NAME=\"editing.editRowKey\";t.EDITING_EDITCOLUMNNAME_OPTION_NAME=\"editing.editColumnName\";t.TARGET_COMPONENT_NAME=\"targetComponent\";t.EDITORS_INPUT_SELECTOR=\"input:not([type='hidden'])\";var a=\"[tabindex]:not([disabled]), \".concat(\"input:not([type='hidden'])\",\":not([disabled])\");t.FOCUSABLE_ELEMENT_SELECTOR=a;t.EDIT_MODE_BATCH=\"batch\";t.EDIT_MODE_ROW=\"row\";t.EDIT_MODE_CELL=\"cell\";t.EDIT_MODE_FORM=\"form\";t.EDIT_MODE_POPUP=\"popup\";t.FIRST_NEW_ROW_POSITION=\"first\";t.LAST_NEW_ROW_POSITION=\"last\";t.PAGE_BOTTOM_NEW_ROW_POSITION=\"pageBottom\";t.PAGE_TOP_NEW_ROW_POSITION=\"pageTop\";t.VIEWPORT_BOTTOM_NEW_ROW_POSITION=\"viewportBottom\";t.VIEWPORT_TOP_NEW_ROW_POSITION=\"viewportTop\";var r=[\"batch\",\"row\",\"cell\",\"form\",\"popup\"];t.EDIT_MODES=r;var s=[\"row\",\"form\",\"popup\"];t.ROW_BASED_MODES=s;var l=[\"batch\",\"row\",\"cell\"];t.REQUIRED_EDITOR_LABELLEDBY_MODES=l;var u=[\"row\",\"form\"];t.MODES_WITH_DELAYED_FOCUS=u;t.READONLY_CLASS=\"readonly\";t.LINK_CLASS=\"dx-link\";t.LINK_ICON_CLASS=\"dx-link-icon\";t.ROW_SELECTED=\"dx-selection\";t.EDIT_BUTTON_CLASS=\"dx-edit-button\";t.COMMAND_EDIT_CLASS=\"dx-command-edit\";var d=\"\".concat(\"dx-command-edit\",\"-with-icons\");t.COMMAND_EDIT_WITH_ICONS_CLASS=d;t.INSERT_INDEX=\"__DX_INSERT_INDEX__\";t.ROW_INSERTED=\"dx-row-inserted\";t.ROW_MODIFIED=\"dx-row-modified\";t.CELL_MODIFIED=\"dx-cell-modified\";t.EDITING_NAMESPACE=\"dxDataGridEditing\";t.CELL_FOCUS_DISABLED_CLASS=\"dx-cell-focus-disabled\";t.DATA_EDIT_DATA_UPDATE_TYPE=\"update\";t.DEFAULT_START_EDIT_ACTION=\"click\";t.EDIT_LINK_CLASS={save:\"dx-link-save\",cancel:\"dx-link-cancel\",edit:\"dx-link-edit\",undelete:\"dx-link-undelete\",delete:\"dx-link-delete\",add:\"dx-link-add\"};t.EDIT_ICON_CLASS={save:\"save\",cancel:\"revert\",edit:\"edit\",undelete:\"revert\",delete:\"trash\",add:\"add\"};t.METHOD_NAMES={edit:\"editRow\",delete:\"deleteRow\",undelete:\"undeleteRow\",save:\"saveEditData\",cancel:\"cancelEditData\",add:\"addRowByRowIndex\"};t.ACTION_OPTION_NAMES={add:\"allowAdding\",edit:\"allowUpdating\",delete:\"allowDeleting\"};t.BUTTON_NAMES=[\"edit\",\"save\",\"cancel\",\"delete\",\"undelete\"];t.EDITING_CHANGES_OPTION_NAME=\"editing.changes\";t.FOCUS_OVERLAY_CLASS=\"focus-overlay\";t.ADD_ROW_BUTTON_CLASS=\"addrow-button\";t.DROPDOWN_EDITOR_OVERLAY_CLASS=\"dx-dropdowneditor-overlay\";t.DATA_ROW_CLASS=\"dx-data-row\";t.ROW_REMOVED=\"dx-row-removed\";var c=!!o.default.IS_RENOVATED_WIDGET;t.EDIT_FORM_ITEM_CLASS=\"edit-form-item\";t.EDIT_POPUP_CLASS=\"edit-popup\";t.EDIT_POPUP_FORM_CLASS=\"edit-popup-form\";var h=c?\"dx-scrollable\":\"dx-scrollable-container\";t.FOCUSABLE_ELEMENT_CLASS=h;t.BUTTON_CLASS=\"dx-button\";t.FORM_BUTTONS_CONTAINER_CLASS=\"form-buttons-container\";t.EDIT_ROW=\"dx-edit-row\"},22324:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.editingModule=void 0;var o=T(n(20530)),a=T(n(73349)),r=T(n(73176)),s=T(n(68374)),l=n(20576),u=n(62754),d=n(3532),c=n(13306),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=I(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(44899)),f=n(95479),p=n(48013),g=n(35922),m=n(60637),_=n(95429),v=T(n(55994)),y=T(n(93786)),b=n(39611),x=T(n(28109)),w=n(15029),C=T(n(15943)),S=T(n(60082)),k=n(72313),D=n(89237);function I(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(I=function(e){return e?n:t})(e)}function T(e){return e&&e.__esModule?e:{default:e}}function E(){return(E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function O(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return A(e,t)}(e)||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 A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function P(e,t){return(P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var M={defaultOptions:function(){return{editing:{mode:\"row\",refreshMode:\"full\",newRowPosition:k.VIEWPORT_TOP_NEW_ROW_POSITION,allowAdding:!1,allowUpdating:!1,allowDeleting:!1,useIcons:!1,selectTextOnEditStart:!1,confirmDelete:!0,texts:{editRow:x.default.format(\"dxDataGrid-editingEditRow\"),saveAllChanges:x.default.format(\"dxDataGrid-editingSaveAllChanges\"),saveRowChanges:x.default.format(\"dxDataGrid-editingSaveRowChanges\"),cancelAllChanges:x.default.format(\"dxDataGrid-editingCancelAllChanges\"),cancelRowChanges:x.default.format(\"dxDataGrid-editingCancelRowChanges\"),addRow:x.default.format(\"dxDataGrid-editingAddRow\"),deleteRow:x.default.format(\"dxDataGrid-editingDeleteRow\"),undeleteRow:x.default.format(\"dxDataGrid-editingUndeleteRow\"),confirmDeleteMessage:x.default.format(\"dxDataGrid-editingConfirmDeleteMessage\"),confirmDeleteTitle:\"\"},form:{colCount:2},popup:{},startEditAction:\"click\",editRowKey:null,editColumnName:null,changes:[]},useLegacyColumnButtonTemplate:!1}},controllers:{editing:function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,P(t,n);var d=i.prototype;return d.init=function(){this._columnsController=this.getController(\"columns\"),this._dataController=this.getController(\"data\"),this._rowsView=this.getView(\"rowsView\"),this._lastOperation=null,this._changes=[],this._deferreds&&this._deferreds.forEach((function(e){e.reject(\"cancel\")})),this._deferreds=[],this._dataChangedHandler||(this._dataChangedHandler=this._handleDataChanged.bind(this),this._dataController.changed.add(this._dataChangedHandler)),this._saveEditorHandler||(this.createAction(\"onInitNewRow\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowInserting\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowInserted\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onEditingStart\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowUpdating\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowUpdated\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowRemoving\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onRowRemoved\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onSaved\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onSaving\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onEditCanceling\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onEditCanceled\",{excludeValidators:[\"disabled\",\"readOnly\"]})),this._updateEditColumn(),this._updateEditButtons(),this._internalState||(this._internalState=[]),this.component._optionsByReference[k.EDITING_EDITROWKEY_OPTION_NAME]=!0,this.component._optionsByReference[k.EDITING_CHANGES_OPTION_NAME]=!0},d.getEditMode=function(){var e=this.option(\"editing.mode\");return k.EDIT_MODES.includes(e)?e:k.EDIT_MODE_ROW},d._getDefaultEditorTemplate=function(){var e=this;return function(t,n){var i=(0,s.default)(\"<div>\").appendTo(t),o=(0,c.extend)({},n.column,{value:n.value,setValue:n.setValue,row:n.row,parentType:\"dataRow\",width:null,readOnly:!n.setValue,isOnForm:n.isOnForm,id:n.id});k.REQUIRED_EDITOR_LABELLEDBY_MODES.includes(e.getEditMode())&&(o[\"aria-labelledby\"]=n.column.headerId),e.getController(\"editorFactory\").createEditor(i,o)}},d._getNewRowPosition=function(){var e=this.option(\"editing.newRowPosition\");if(\"virtual\"===this.option(\"scrolling.mode\"))switch(e){case k.PAGE_TOP_NEW_ROW_POSITION:return k.VIEWPORT_TOP_NEW_ROW_POSITION;case k.PAGE_BOTTOM_NEW_ROW_POSITION:return k.VIEWPORT_BOTTOM_NEW_ROW_POSITION;default:return e}return e},d.getChanges=function(){return this.option(k.EDITING_CHANGES_OPTION_NAME)},d.getInsertRowCount=function(){return this.option(k.EDITING_CHANGES_OPTION_NAME).filter((function(e){return\"insert\"===e.type})).length},d.resetChanges=function(){var e=this.getChanges();(null==e?void 0:e.length)&&this._silentOption(k.EDITING_CHANGES_OPTION_NAME,[])},d._getInternalData=function(e){return this._internalState.filter((function(t){return(0,l.equalByValue)(t.key,e)}))[0]},d._addInternalData=function(e){var t=this._getInternalData(e.key);return t?(0,c.extend)(t,e):(this._internalState.push(e),e)},d._getOldData=function(e){var t;return null===(t=this._getInternalData(e))||void 0===t?void 0:t.oldData},d.getUpdatedData=function(e){var t=this._dataController.keyOf(e),n=this.getChanges(),i=S.default.getIndexByKey(t,n);return n[i]?(0,m.createObjectWithChanges)(e,n[i].data):e},d.getInsertedData=function(){return this.getChanges().filter((function(e){return e.data&&e.type===k.DATA_EDIT_DATA_INSERT_TYPE})).map((function(e){return e.data}))},d.getRemovedData=function(){var e=this;return this.getChanges().filter((function(t){return e._getOldData(t.key)&&t.type===k.DATA_EDIT_DATA_REMOVE_TYPE})).map((function(t){return e._getOldData(t.key)}))},d._fireDataErrorOccurred=function(e){if(\"cancel\"!==e){var t=this.getPopupContent();this._dataController.dataErrorOccurred.fire(e,t)}},d._needToCloseEditableCell=function(e){},d._closeEditItem=function(e){},d._handleDataChanged=function(e){},d._isDefaultButtonVisible=function(e,t){var n=!0;switch(e.name){case\"delete\":n=this.allowDeleting(t);break;case\"undelete\":n=!1}return n},d._isButtonVisible=function(e,t){var n=e.visible;return(0,g.isDefined)(n)?(0,g.isFunction)(n)?n.call(e,{component:t.component,row:t.row,column:t.column}):n:this._isDefaultButtonVisible(e,t)},d._isButtonDisabled=function(e,t){var n=e.disabled;return(0,g.isFunction)(n)?n.call(e,{component:t.component,row:t.row,column:t.column}):!!n},d._getButtonConfig=function(e,t){var n=this,i=(0,g.isObject)(e)?e:{},o=(0,D.getButtonName)(e),a=(0,D.getEditingTexts)(t),r=k.METHOD_NAMES[o],s=this.option(\"editing\"),l=k.ACTION_OPTION_NAMES[o],u=!l||s[l];return(0,c.extend)({name:o,text:a[o],cssClass:k.EDIT_LINK_CLASS[o]},{onClick:r&&function(e){var i=e.event;i.stopPropagation(),i.preventDefault(),setTimeout((function(){t.row&&u&&n[r]&&n[r](t.row.rowIndex)}))}},i)},d._getEditingButtons=function(e){var t,n=this,i=!!e.column.buttons,o=(e.column.buttons||[]).slice();return i?((t=(0,D.getButtonIndex)(o,\"edit\"))>=0&&((0,D.getButtonIndex)(o,\"save\")<0&&o.splice(t+1,0,\"save\"),(0,D.getButtonIndex)(o,\"cancel\")<0&&o.splice((0,D.getButtonIndex)(o,\"save\")+1,0,\"cancel\")),(t=(0,D.getButtonIndex)(o,\"delete\"))>=0&&(0,D.getButtonIndex)(o,\"undelete\")<0&&o.splice(t+1,0,\"undelete\")):o=k.BUTTON_NAMES.slice(),o.map((function(t){return n._getButtonConfig(t,e)}))},d._renderEditingButtons=function(e,t,n,i){var o=this;t.forEach((function(t){o._isButtonVisible(t,n)&&o._createButton(e,t,n,i)}))},d._getEditCommandCellTemplate=function(){var e=this;return function(t,n,i){var o=(0,s.default)(t);if(\"data\"===n.rowType){var a=e._getEditingButtons(n);e._renderEditingButtons(o,a,n,i),n.watch&&n.watch((function(){return a.map((function(t){return{visible:e._isButtonVisible(t,n),disabled:e._isButtonDisabled(t,n)}}))}),(function(){o.empty(),e._renderEditingButtons(o,a,n)}))}else S.default.setEmptyText(o)}},d.isRowBasedEditMode=function(){var e=this.getEditMode();return k.ROW_BASED_MODES.includes(e)},d.getFirstEditableColumnIndex=function(){var e,t=this.getController(\"columns\").getVisibleColumns();return(0,f.each)(t,(function(t,n){if(n.allowEditing)return e=t,!1})),e},d.getFirstEditableCellInRow=function(e){var t=this.getView(\"rowsView\"),n=this.getFirstEditableColumnIndex();return null==t?void 0:t._getCellElement(e||0,n)},d.getFocusedCellInRow=function(e){return this.getFirstEditableCellInRow(e)},d.getIndexByKey=function(e,t){return S.default.getIndexByKey(e,t)},d.hasChanges=function(e){for(var t=this.getChanges(),n=!1,i=0;i<(null==t?void 0:t.length);i++)if(t[i].type&&(!(0,g.isDefined)(e)||this._dataController.getRowIndexByKey(t[i].key)===e)){n=!0;break}return n},d.dispose=function(){e.prototype.dispose.call(this),clearTimeout(this._inputFocusTimeoutID),v.default.off(a.default.getDocument(),y.default.up,this._pointerUpEditorHandler),v.default.off(a.default.getDocument(),y.default.down,this._pointerDownEditorHandler),v.default.off(a.default.getDocument(),_.name,this._saveEditorHandler)},d._silentOption=function(t,n){\"editing.changes\"===t&&(this._changes=(0,p.deepExtendArraySafe)([],n)),e.prototype._silentOption.call(this,t,n)},d.optionChanged=function(t){if(\"editing\"===t.name){var n=t.fullName;if(n===k.EDITING_EDITROWKEY_OPTION_NAME)this._handleEditRowKeyChange(t);else if(n===k.EDITING_CHANGES_OPTION_NAME){(0,l.equalByValue)(t.value,this._changes,{maxDepth:4})||(this._changes=(0,p.deepExtendArraySafe)([],t.value),this._handleChangesChange(t))}else t.handled||(this._columnsController.reinit(),this.init(),this.resetChanges(),this._resetEditColumnName(),this._resetEditRowKey());t.handled=!0}else e.prototype.optionChanged.call(this,t)},d._handleEditRowKeyChange=function(e){var t=this._dataController.getRowIndexByKey(e.value),n=this._getEditRowIndexCorrection(),i=this._dataController.getRowIndexByKey(e.previousValue)+n;(0,g.isDefined)(e.value)?e.value!==e.previousValue&&this._editRowFromOptionChanged(t,i):this.cancelEditData()},d._handleChangesChange=function(e){var t=this,n=this._dataController,i=e.value;(e.value.length||e.previousValue.length)&&(i.forEach((function(e){var i;if(\"insert\"===e.type)t._addInsertInfo(e);else{var o=n.getCachedStoreData()||(null===(i=n.items())||void 0===i?void 0:i.map((function(e){return e.data}))),a=S.default.getIndexByKey(e.key,o,n.key());t._addInternalData({key:e.key,oldData:o[a]})}})),n.updateItems({repaintChangesOnly:!0,isLiveUpdate:!1,isOptionChanged:!0}))},d.publicMethods=function(){return[\"addRow\",\"deleteRow\",\"undeleteRow\",\"editRow\",\"saveEditData\",\"cancelEditData\",\"hasEditData\"]},d.refresh=function(){(0,g.isDefined)(this._pageIndex)&&this._refreshCore.apply(this,arguments)},d._refreshCore=function(e){},d.isEditing=function(){return(0,g.isDefined)(this.option(k.EDITING_EDITROWKEY_OPTION_NAME))},d.isEditRow=function(e){return!1},d._setEditRowKey=function(e,t){t?this._silentOption(k.EDITING_EDITROWKEY_OPTION_NAME,e):this.option(k.EDITING_EDITROWKEY_OPTION_NAME,e),this._refocusEditCell&&(this._refocusEditCell=!1,this._focusEditingCell())},d._setEditRowKeyByIndex=function(e,t){var n=this._dataController.getKeyByRowIndex(e);void 0!==n?this._setEditRowKey(n,t):this._dataController.fireError(\"E1043\")},d.getEditRowIndex=function(){return this._getVisibleEditRowIndex()},d.getEditFormRowIndex=function(){return-1},d.isEditRowByIndex=function(e){var t=this._dataController.getKeyByRowIndex(e),n=(0,g.isDefined)(t)&&(0,l.equalByValue)(this.option(k.EDITING_EDITROWKEY_OPTION_NAME),t);return n?this._getVisibleEditRowIndex()===e:n},d.isEditCell=function(e,t){return this.isEditRowByIndex(e)&&this._getVisibleEditColumnIndex()===t},d.getPopupContent=function(){},d._isProcessedItem=function(e){return!1},d._getInsertRowIndex=function(e,t,n){var i=this,o=-1,a=this._dataController,r=this._getInsertAfterOrBeforeKey(t);return(0,g.isDefined)(r)||0!==e.length?(0,g.isDefined)(r)&&e.some((function(s,u){var d=n||i._isProcessedItem(s);if((0,g.isObject)(s)&&(d||(0,g.isDefined)(s[k.INSERT_INDEX])?(0,l.equalByValue)(s.key,r)&&(o=u):(0,l.equalByValue)(a.keyOf(s),r)&&(o=u)),o>=0){var c=e[o+1];if(c&&(\"detail\"===c.rowType||\"detailAdaptive\"===c.rowType)&&(0,g.isDefined)(t.insertAfterKey))return;return(0,g.isDefined)(t.insertAfterKey)&&(o+=1),!0}})):o=0,o},d._generateNewItem=function(e){var t,n={key:e},i=null===(t=this._getInternalData(e))||void 0===t?void 0:t.insertInfo;return(null==i?void 0:i[k.INSERT_INDEX])&&(n[k.INSERT_INDEX]=i[k.INSERT_INDEX]),n},d._getLoadedRowIndex=function(e,t,n){var i=this._getInsertRowIndex(e,t,n),o=this._dataController;if(i<0){var a=this._getNewRowPosition(),r=o.pageIndex(),s=this._getInsertAfterOrBeforeKey(t);a===k.LAST_NEW_ROW_POSITION||0!==r||(0,g.isDefined)(s)?a===k.LAST_NEW_ROW_POSITION&&o.isLastPageLoaded()&&(i=e.length):i=0}return i},d.processItems=function(e,t){var n=this,i=t.changeType;return this.update(i),this.getChanges().forEach((function(t){var i;if(t.type===k.DATA_EDIT_DATA_INSERT_TYPE){var o=t.key,a=null===(i=n._getInternalData(o))||void 0===i?void 0:i.insertInfo;(0,g.isDefined)(o)&&(0,g.isDefined)(a)||(o=(a=n._addInsertInfo(t)).key);var r=n._getLoadedRowIndex(e,t),s=n._generateNewItem(o);r>=0&&e.splice(r,0,s)}})),e},d.processDataItem=function(e,t,n){var i=t.visibleColumns,o=e.data[k.INSERT_INDEX]?e.data.key:e.key,a=this.getChanges(),r=S.default.getIndexByKey(o,a);e.isEditing=!1,r>=0&&this._processDataItemCore(e,a[r],o,i,n)},d._processDataItemCore=function(e,t,n,i,o){var a=t.data;switch(t.type){case k.DATA_EDIT_DATA_INSERT_TYPE:e.isNewRow=!0,e.key=n,e.data=a;break;case k.DATA_EDIT_DATA_UPDATE_TYPE:e.modified=!0,e.oldData=e.data,e.data=(0,m.createObjectWithChanges)(e.data,a),e.modifiedValues=o(a,i,!0);break;case k.DATA_EDIT_DATA_REMOVE_TYPE:e.removed=!0}},d._initNewRow=function(e){var t=this;if(this.executeAction(\"onInitNewRow\",e),e.promise){var n=new u.Deferred;return(0,u.when)((0,u.fromPromise)(e.promise)).done(n.resolve).fail((0,D.createFailureHandler)(n)).fail((function(e){return t._fireDataErrorOccurred(e)})),n}},d._createInsertInfo=function(){var e={};return e[k.INSERT_INDEX]=this._getInsertIndex(),e},d._addInsertInfo=function(e,t){var n,i;e.key=this.getChangeKeyValue(e);var o=e.key;if(i=null===(n=this._getInternalData(o))||void 0===n?void 0:n.insertInfo,!(0,g.isDefined)(i)){var a=this._getInsertAfterOrBeforeKey(e);i=this._createInsertInfo(),(0,g.isDefined)(a)||this._setInsertAfterOrBeforeKey(e,t)}return this._addInternalData({insertInfo:i,key:o}),{insertInfo:i,key:o}},d.getChangeKeyValue=function(e){if((0,g.isDefined)(e.key))return e.key;var t,n=this._dataController.key();return e.data&&n&&!Array.isArray(n)&&(t=e.data[n]),(0,g.isDefined)(t)||(t=(0,D.generateNewRowTempKey)()),t},d._setInsertAfterOrBeforeKey=function(e,t){var n=this._dataController,i=n.items(!0),o=this.getView(\"rowsView\"),a=this._getNewRowPosition();switch(a){case k.FIRST_NEW_ROW_POSITION:case k.LAST_NEW_ROW_POSITION:break;case k.PAGE_TOP_NEW_ROW_POSITION:case k.PAGE_BOTTOM_NEW_ROW_POSITION:if(i.length){var r=a===k.PAGE_TOP_NEW_ROW_POSITION?0:i.length-1;e[0===r?\"insertBeforeKey\":\"insertAfterKey\"]=i[r].key}break;default:var s=a===k.VIEWPORT_BOTTOM_NEW_ROW_POSITION?null==o?void 0:o.getBottomVisibleItemIndex():null==o?void 0:o.getTopVisibleItemIndex(),l=n.getVisibleRows()[s];l&&(!l.isEditing&&\"detail\"===l.rowType||\"detailAdaptive\"===l.rowType)&&s++;var u=n.getKeyByRowIndex(s);(0,g.isDefined)(u)&&(e.insertBeforeKey=u)}},d._getInsertIndex=function(){var e=this,t=0;return this.getChanges().forEach((function(n){var i,o=null===(i=e._getInternalData(n.key))||void 0===i?void 0:i.insertInfo;(0,g.isDefined)(o)&&n.type===k.DATA_EDIT_DATA_INSERT_TYPE&&o[k.INSERT_INDEX]>t&&(t=o[k.INSERT_INDEX])})),t+1},d._getInsertAfterOrBeforeKey=function(e){var t;return null!==(t=e.insertAfterKey)&&void 0!==t?t:e.insertBeforeKey},d._getPageIndexToInsertRow=function(){var e=this._getNewRowPosition(),t=this._dataController,n=t.pageIndex(),i=t.pageCount()-1;return e===k.FIRST_NEW_ROW_POSITION&&0!==n?0:e===k.LAST_NEW_ROW_POSITION&&n!==i?i:-1},d.addRow=function(e){var t=this._dataController;return t.store()?this._addRow(e):(t.fireError(\"E1052\",this.component.NAME),(new u.Deferred).reject())},d._addRow=function(e){var t=this,n=this._dataController.store(),i=n&&n.key(),o={data:{}},a=this._getVisibleEditRowIndex(),s=new u.Deferred;return this.refresh({allowCancelEditing:!0}),this._allowRowAdding()?(i||(o.data.__KEY__=String(new r.default)),(0,u.when)(this._initNewRow(o,e)).done((function(){t._allowRowAdding()?(0,u.when)(t._addRowCore(o.data,e,a)).done(s.resolve).fail(s.reject):s.reject(\"cancel\")})).fail(s.reject),s.promise()):((0,u.when)(this._navigateToNewRow(a)).done(s.resolve).fail(s.reject),s.promise())},d._allowRowAdding=function(e){return!(this._getInsertIndex()>1)},d._addRowCore=function(e,t,n){var i={data:e,type:k.DATA_EDIT_DATA_INSERT_TYPE},o=this._getVisibleEditRowIndex(),a=this._addInsertInfo(i,t).key;return this._setEditRowKey(a,!0),this._addChange(i),this._navigateToNewRow(n,i,o)},d._navigateToNewRow=function(e,t,n){var i=this,o=new u.Deferred,a=this._dataController,r=this.getController(\"focus\");if(n=null!=n?n:-1,!(t=null!=t?t:this.getChanges().filter((function(e){return e.type===k.DATA_EDIT_DATA_INSERT_TYPE}))[0]))return o.reject(\"cancel\").promise();var s=this._getPageIndexToInsertRow(),l=this._getLoadedRowIndex(a.items(),t,!0),d=function(e){(0,u.when)(null==r?void 0:r.navigateToRow(e)).done((function(){l=a.getRowIndexByKey(t.key),o.resolve()}))},c=this._getInsertAfterOrBeforeKey(t);return s>=0?a.pageIndex(s).done((function(){d(t.key)})).fail(o.reject):l<0&&(0,g.isDefined)(c)?d(c):(a.updateItems({changeType:\"update\",rowIndices:[e,n,l]}),(l=a.getRowIndexByKey(t.key))<0?d(t.key):o.resolve()),o.done((function(){var e;null===(e=i._rowsView)||void 0===e||e.waitAsyncTemplates(!0).done((function(){i._showAddedRow(l),i._afterInsertRow(t.key)}))})),o.promise()},d._showAddedRow=function(e){this._focusFirstEditableCellInRow(e)},d._beforeFocusElementInRow=function(e){},d._focusFirstEditableCellInRow=function(e){var t=this,n=this._dataController,i=this.getController(\"keyboardNavigation\"),o=n.getKeyByRowIndex(e),a=this.getFirstEditableCellInRow(e);null==i||i.focus(a),this.option(\"focusedRowKey\",o),this._editCellInProgress=!0,this._delayedInputFocus(a,(function(){e=n.getRowIndexByKey(o),t._editCellInProgress=!1,t._beforeFocusElementInRow(e)}))},d._isEditingStart=function(e){return this.executeAction(\"onEditingStart\",e),e.cancel},d._beforeUpdateItems=function(){},d._getVisibleEditColumnIndex=function(){var e=this.option(k.EDITING_EDITCOLUMNNAME_OPTION_NAME);return(0,g.isDefined)(e)?this._columnsController.getVisibleColumnIndex(e):-1},d._setEditColumnNameByIndex=function(e,t){var n,i=this._columnsController.getVisibleColumns();this._setEditColumnName(null===(n=i[e])||void 0===n?void 0:n.name,t)},d._setEditColumnName=function(e,t){t?this._silentOption(k.EDITING_EDITCOLUMNNAME_OPTION_NAME,e):this.option(k.EDITING_EDITCOLUMNNAME_OPTION_NAME,e)},d._resetEditColumnName=function(){this._setEditColumnName(null,!0)},d._getEditColumn=function(){var e=this.option(k.EDITING_EDITCOLUMNNAME_OPTION_NAME);return this._getColumnByName(e)},d._getColumnByName=function(e){var t,n=this._columnsController.getVisibleColumns();return(0,g.isDefined)(e)&&n.some((function(n){if(n.name===e)return t=n,!0})),t},d._getVisibleEditRowIndex=function(e){var t=this._dataController,n=this.option(k.EDITING_EDITROWKEY_OPTION_NAME),i=t.getRowIndexByKey(n);return-1===i?i:i+this._getEditRowIndexCorrection(e)},d._getEditRowIndexCorrection=function(e){var t=e?this._getColumnByName(e):this._getEditColumn();return\"adaptiveHidden\"===(null==t?void 0:t.visibleWidth)?1:0},d._resetEditRowKey=function(){this._refocusEditCell=!1,this._setEditRowKey(null,!0)},d._resetEditIndices=function(){this._resetEditColumnName(),this._resetEditRowKey()},d.editRow=function(e){var t,n=this._dataController,i=n.items()[e],o={data:i&&i.data,cancel:!1},a=this._getVisibleEditRowIndex();if(i)return e===a||void(void 0!==i.key?(i.isNewRow||(o.key=i.key),this._isEditingStart(o)||(this.resetChanges(),this.init(),this._resetEditColumnName(),this._pageIndex=n.pageIndex(),this._addInternalData({key:i.key,oldData:null!==(t=i.oldData)&&void 0!==t?t:i.data}),this._setEditRowKey(i.key))):this._dataController.fireError(\"E1043\"))},d._editRowFromOptionChanged=function(e,t){var n=[t,e];this._beforeUpdateItems(n,e,t),this._editRowFromOptionChangedCore(n,e)},d._editRowFromOptionChangedCore=function(e,t,n){this._needFocusEditor=!0,this._dataController.updateItems({changeType:\"update\",rowIndices:e,cancel:n})},d._focusEditorIfNeed=function(){},d._showEditPopup=function(e,t){},d._repaintEditPopup=function(){},d._getEditPopupHiddenHandler=function(){var e=this;return function(t){e.isEditing()&&e.cancelEditData()}},d._getPopupEditFormTemplate=function(e){},d._getSaveButtonConfig=function(){return{text:this.option(\"editing.texts.saveRowChanges\"),onClick:this.saveEditData.bind(this)}},d._getCancelButtonConfig=function(){return{text:this.option(\"editing.texts.cancelRowChanges\"),onClick:this.cancelEditData.bind(this)}},d._removeInternalData=function(e){var t=this._getInternalData(e),n=this._internalState.indexOf(t);n>-1&&this._internalState.splice(n,1)},d._updateInsertAfterOrBeforeKeys=function(e,t){var n=this,i=e[t];e.forEach((function(e){var t=n._getInsertAfterOrBeforeKey(e);(0,l.equalByValue)(t,i.key)&&(e[(0,g.isDefined)(e.insertAfterKey)?\"insertAfterKey\":\"insertBeforeKey\"]=n._getInsertAfterOrBeforeKey(i))}))},d._removeChange=function(e){if(e>=0){var t=O(this.getChanges()),n=t[e].key;this._removeInternalData(n),this._updateInsertAfterOrBeforeKeys(t,e),t.splice(e,1),this._silentOption(k.EDITING_CHANGES_OPTION_NAME,t),(0,l.equalByValue)(this.option(k.EDITING_EDITROWKEY_OPTION_NAME),n)&&this._resetEditIndices()}},d.executeOperation=function(e,t){var n=this;this._lastOperation&&this._lastOperation.reject(),this._lastOperation=e,this.waitForDeferredOperations().done((function(){\"rejected\"!==e.state()&&(t(),n._lastOperation=null)})).fail((function(){e.reject(),n._lastOperation=null}))},d.waitForDeferredOperations=function(){return u.when.apply(void 0,O(this._deferreds))},d._processCanceledEditingCell=function(){},d._repaintEditCell=function(e,t,n){this._needFocusEditor=!0,!e||!e.showEditorAlways||t&&!t.showEditorAlways?(this._editCellInProgress=!0,this.getController(\"editorFactory\").loseFocus(),this._dataController.updateItems({changeType:\"update\",rowIndices:[n,this._getVisibleEditRowIndex()]})):e!==t&&this._dataController.updateItems({changeType:\"update\",rowIndices:[]})},d._delayedInputFocus=function(e,t,n){var i=this,a=function(){if(t&&t(),e){var n=e.find(k.FOCUSABLE_ELEMENT_SELECTOR).first();S.default.focusAndSelectElement(i,n)}i._beforeFocusCallback=null};o.default.real().ios||o.default.real().android?a():(this._beforeFocusCallback&&this._beforeFocusCallback(),clearTimeout(this._inputFocusTimeoutID),n&&(this._beforeFocusCallback=t),this._inputFocusTimeoutID=setTimeout(a))},d._focusEditingCell=function(e,t,n){var i=this.getView(\"rowsView\"),o=this._getVisibleEditColumnIndex();(t=t||i&&i._getCellElement(this._getVisibleEditRowIndex(),o))&&this._delayedInputFocus(t,e,n)},d.deleteRow=function(e){this._checkAndDeleteRow(e)},d._checkAndDeleteRow=function(e){var t=this,n=this.option(\"editing\"),i=null==n?void 0:n.texts,o=null==n?void 0:n.confirmDelete,a=null==i?void 0:i.confirmDeleteMessage,r=this._dataController.items()[e],s=!this.isEditing()||r.isNewRow;if(r&&s)if(o&&a){var l=i&&i.confirmDeleteTitle,u=(0,g.isDefined)(l)&&l.length>0;(0,w.confirm)(a,l,u).done((function(n){n&&t._deleteRowCore(e)}))}else this._deleteRowCore(e)},d._deleteRowCore=function(e){var t=this._dataController.items()[e],n=t&&t.key,i=this._getVisibleEditRowIndex();this.refresh();var o=this.getChanges(),a=S.default.getIndexByKey(n,o);return a>=0?o[a].type===k.DATA_EDIT_DATA_INSERT_TYPE?this._removeChange(a):this._addChange({key:n,type:k.DATA_EDIT_DATA_REMOVE_TYPE}):this._addChange({key:n,oldData:t.data,type:k.DATA_EDIT_DATA_REMOVE_TYPE}),this._afterDeleteRow(e,i)},d._afterDeleteRow=function(e,t){return this.saveEditData()},d.undeleteRow=function(e){var t=this._dataController,n=t.items()[e],i=this._getVisibleEditRowIndex(),o=n&&n.key,a=this.getChanges();if(n){var r=S.default.getIndexByKey(o,a);if(r>=0){var s=a[r].data;(0,g.isEmptyObject)(s)?this._removeChange(r):this._addChange({key:o,type:k.DATA_EDIT_DATA_UPDATE_TYPE}),t.updateItems({changeType:\"update\",rowIndices:[i,e]})}}},d._fireOnSaving=function(){var e=this,t={cancel:!1,promise:null,changes:O(this.getChanges())};this.executeAction(\"onSaving\",t);var n=new u.Deferred;return(0,u.when)((0,u.fromPromise)(t.promise)).done((function(){n.resolve(t)})).fail((function(t){(0,D.createFailureHandler)(n),e._fireDataErrorOccurred(t),n.resolve({cancel:!0})})),n},d._executeEditingAction=function(e,t,n){if(this.component._disposed)return null;var i=new u.Deferred;return this.executeAction(e,t),(0,u.when)((0,u.fromPromise)(t.cancel)).done((function(e){e?setTimeout((function(){i.resolve(\"cancel\")})):n(t).done(i.resolve).fail((0,D.createFailureHandler)(i))})).fail((0,D.createFailureHandler)(i)),i},d._processChanges=function(e,t,n,i){var o=this,a=this._dataController.store();(0,f.each)(i,(function(r,s){var l,d,c=o._getOldData(s.key),h=s.data,f=s.type,p=E({},s);if(!o._beforeSaveEditData(s,r)){switch(f){case k.DATA_EDIT_DATA_REMOVE_TYPE:d={data:c,key:s.key,cancel:!1},l=o._executeEditingAction(\"onRowRemoving\",d,(function(){return a.remove(s.key).done((function(e){n.push({type:\"remove\",key:e})}))}));break;case k.DATA_EDIT_DATA_INSERT_TYPE:d={data:h,cancel:!1},l=o._executeEditingAction(\"onRowInserting\",d,(function(){return a.insert(d.data).done((function(e,t){(0,g.isDefined)(t)&&(p.key=t),e&&(0,g.isObject)(e)&&e!==d.data&&(p.data=e),n.push({type:\"insert\",data:e,index:0})}))}));break;case k.DATA_EDIT_DATA_UPDATE_TYPE:d={newData:h,oldData:c,key:s.key,cancel:!1},l=o._executeEditingAction(\"onRowUpdating\",d,(function(){return a.update(s.key,d.newData).done((function(e,t){e&&(0,g.isObject)(e)&&e!==d.newData&&(p.data=e),n.push({type:\"update\",key:t,data:e})}))}))}if(i[r]=p,l){var m=new u.Deferred;l.always((function(e){t.push({key:s.key,result:e})})).always(m.resolve),e.push(m.promise())}}}))},d._processRemoveIfError=function(e,t){var n=e[t];return(null==n?void 0:n.type)===k.DATA_EDIT_DATA_REMOVE_TYPE&&t>=0&&e.splice(t,1),!0},d._processRemove=function(e,t,n){var i=e[t];if(!n||!i||i.type===k.DATA_EDIT_DATA_REMOVE_TYPE)return this._processRemoveCore(e,t,!n||!i)},d._processRemoveCore=function(e,t,n){return t>=0&&e.splice(t,1),!0},d._processSaveEditDataResult=function(e){for(var t=!1,n=O(this.getChanges()),i=n.length,o=0;o<e.length;o++){var a=e[o].result,r=\"cancel\"===a,s=S.default.getIndexByKey(e[o].key,n),l=n[s];if(a&&a instanceof Error){if(l&&this._addInternalData({key:l.key,error:a}),this._fireDataErrorOccurred(a),this._processRemoveIfError(n,s))break}else this._processRemove(n,s,r)&&(t=!r)}return n.length<i&&this._silentOption(k.EDITING_CHANGES_OPTION_NAME,n),t},d._fireSaveEditDataEvents=function(e){var t=this;(0,f.each)(e,(function(e,n){var i=n.data,o=n.key,a=n.type,r=t._addInternalData({key:o}),s={key:o,data:i};switch(r.error&&(s.error=r.error),a){case k.DATA_EDIT_DATA_REMOVE_TYPE:t.executeAction(\"onRowRemoved\",(0,c.extend)({},s,{data:r.oldData}));break;case k.DATA_EDIT_DATA_INSERT_TYPE:t.executeAction(\"onRowInserted\",s);break;case k.DATA_EDIT_DATA_UPDATE_TYPE:t.executeAction(\"onRowUpdated\",s)}})),this.executeAction(\"onSaved\",{changes:e})},d.saveEditData=function(){var e=this,t=new u.Deferred;return this.waitForDeferredOperations().done((function(){e.isSaving()?e._resolveAfterSave(t):(0,u.when)(e._beforeSaveEditData()).done((function(n){n?e._resolveAfterSave(t,{cancel:n}):(e._saving=!0,e._saveEditDataInner().always((function(){e._saving=!1,e._refocusEditCell&&e._focusEditingCell()})).done(t.resolve).fail(t.reject))})).fail(t.reject)})).fail(t.reject),t.promise()},d._resolveAfterSave=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.cancel,i=t.error;(0,u.when)(this._afterSaveEditData(n)).done((function(){e.resolve(i)})).fail(e.reject)},d._saveEditDataInner=function(){var e=this,t=new u.Deferred,n=[],i=[],o=[],a=this._dataController.dataSource();return(0,u.when)(this._fireOnSaving()).done((function(r){var s=r.cancel,l=r.changes;return s?t.resolve().promise():(e._processChanges(i,n,o,l),i.length?(e._refocusEditCell=!0,null==a||a.beginLoading(),u.when.apply(void 0,i).done((function(){e._processSaveEditDataResult(n)?e._endSaving(o,l,t):(null==a||a.endLoading(),t.resolve())})).fail((function(e){null==a||a.endLoading(),t.resolve(e)})),t.always((function(){e._refocusEditCell=!0})).promise()):void e._cancelSaving(t))})).fail(t.reject),t.promise()},d._beforeEndSaving=function(e){this._resetEditIndices()},d._endSaving=function(e,t,n){var i=this._dataController.dataSource();this._beforeEndSaving(t),null==i||i.endLoading(),this._refreshDataAfterSave(e,t,n)},d._cancelSaving=function(e){this.executeAction(\"onSaved\",{changes:[]}),this._resolveAfterSave(e)},d._refreshDataAfterSave=function(e,t,n){var i=this,o=this._dataController,a=this.option(\"editing.refreshMode\"),r=\"reshape\"!==a&&\"repaint\"!==a;r||o.push(e),(0,u.when)(o.refresh({selection:r,reload:r,load:\"reshape\"===a,changesOnly:this.option(\"repaintChangesOnly\")})).always((function(){i._fireSaveEditDataEvents(t)})).done((function(){i._resolveAfterSave(n)})).fail((function(e){i._resolveAfterSave(n,{error:e})}))},d.isSaving=function(){return this._saving},d._updateEditColumn=function(){var e=this._isEditColumnVisible(),t=this.option(\"editing.useIcons\"),n=k.COMMAND_EDIT_CLASS+(t?\" \".concat(k.COMMAND_EDIT_WITH_ICONS_CLASS):\"\");this._columnsController.addCommandColumn({type:\"buttons\",command:\"edit\",visible:e,cssClass:n,width:\"auto\",alignment:\"center\",cellTemplate:this._getEditCommandCellTemplate(),fixedPosition:\"right\"}),this._columnsController.columnOption(\"command:edit\",{visible:e,cssClass:n})},d._isEditColumnVisible=function(){return this.option(\"editing\").allowDeleting},d._isEditButtonDisabled=function(){var e=this.hasChanges();return!((0,g.isDefined)(this.option(\"editing.editRowKey\"))||e)},d._updateEditButtons=function(){var e=this.getView(\"headerPanel\"),t=this._isEditButtonDisabled();e&&(e.setToolbarItemDisabled(\"saveButton\",t),e.setToolbarItemDisabled(\"revertButton\",t))},d._applyModified=function(e,t){e&&e.addClass(k.CELL_MODIFIED)},d._beforeCloseEditCellInBatchMode=function(e){},d.cancelEditData=function(){var e=this.getChanges(),t={cancel:!1,changes:e};this.executeAction(\"onEditCanceling\",t),t.cancel||(this._cancelEditDataCore(),this.executeAction(\"onEditCanceled\",{changes:e}))},d._cancelEditDataCore=function(){var e=this._getVisibleEditRowIndex();this._beforeCancelEditData(),this.init(),this.resetChanges(),this._resetEditColumnName(),this._resetEditRowKey(),this._afterCancelEditData(e)},d._afterCancelEditData=function(e){this._dataController.updateItems({repaintChangesOnly:this.option(\"repaintChangesOnly\")})},d._hideEditPopup=function(){},d.hasEditData=function(){return this.hasChanges()},d.update=function(e){var t=this._dataController;t&&this._pageIndex!==t.pageIndex()&&(\"refresh\"===e&&this.refresh({isPageChanged:!0}),this._pageIndex=t.pageIndex()),this._updateEditButtons()},d._getRowIndicesForCascadeUpdating=function(e,t){return t?[]:[e.rowIndex]},d.addDeferred=function(e){var t=this;this._deferreds.includes(e)||(this._deferreds.push(e),e.always((function(){var n=t._deferreds.indexOf(e);n>=0&&t._deferreds.splice(n,1)})))},d._prepareChange=function(e,t,n){var i,o=this,a={},r=null===(i=e.row)||void 0===i?void 0:i.data,s=e.key,l=new u.Deferred;void 0!==s&&(e.value=t,(0,u.fromPromise)(e.column.setCellValue(a,t,(0,c.extend)(!0,{},r),n)).done((function(){l.resolve({data:a,key:s,oldData:r,type:k.DATA_EDIT_DATA_UPDATE_TYPE})})).fail((0,D.createFailureHandler)(l)).fail((function(e){return o._fireDataErrorOccurred(e)})),(0,g.isDefined)(n)&&e.column.displayValueMap&&(e.column.displayValueMap[t]=n),this._updateRowValues(e),this.addDeferred(l));return l},d._updateRowValues=function(e){if(e.values){var t=this._dataController,n=t.getRowIndexByKey(e.key),i=t.getVisibleRows()[n];i&&(e.row.values=i.values,e.values=i.values),e.values[e.columnIndex]=e.value}},d.updateFieldValue=function(e,t,n,i){var o=this,a=e.key,r=new u.Deferred;return void 0===a&&this._dataController.fireError(\"E1043\"),e.column.setCellValue?this._prepareChange(e,t,n).done((function(t){(0,u.when)(o._applyChange(e,t,i)).always((function(){r.resolve()}))})):r.resolve(),r.promise()},d._focusPreviousEditingCellIfNeed=function(e){if(this.hasEditData()&&!this.isEditCell(e.rowIndex,e.columnIndex))return this._focusEditingCell(),this._updateEditRow(e.row,!0),!0},d._needUpdateRow=function(e){var t=this._columnsController.getVisibleColumns();e||(e=this._getEditColumn());var n=e&&e.setCellValue!==e.defaultSetCellValue,i=t.some((function(e){return e.calculateCellValue!==e.defaultCalculateCellValue}));return n||i},d._applyChange=function(e,t,n){var i=E(E({},e),{forceUpdateRow:n});return this._addChange(t,i),this._updateEditButtons(),this._applyChangeCore(e,i.forceUpdateRow)},d._applyChangeCore=function(e,t){var n=e.column.setCellValue!==e.column.defaultSetCellValue,i=e.row;i&&(t||n?this._updateEditRow(i,t,n):i.update&&i.update())},d._updateEditRowCore=function(e,t,n){this._dataController.updateItems({changeType:\"update\",rowIndices:this._getRowIndicesForCascadeUpdating(e,t)})},d._updateEditRow=function(e,t,n){t?this._updateRowImmediately(e,t,n):this._updateRowWithDelay(e,n)},d._updateRowImmediately=function(e,t,n){this._updateEditRowCore(e,!t,n),this._validateEditFormAfterUpdate(e,n),t||this._focusEditingCell()},d._updateRowWithDelay=function(e,t){var n=this,i=new u.Deferred;this.addDeferred(i),setTimeout((function(){var o,r=(null===(o=n._editForm)||void 0===o?void 0:o.element())||n.component.$element().get(0),l=(0,s.default)(a.default.getActiveElement(r)),u=n._rowsView.getCellIndex(l,e.rowIndex),d=l.get(0),c=S.default.getSelectionRange(d);if(n._updateEditRowCore(e,!1,t),n._validateEditFormAfterUpdate(e,t),u>=0){var h=n._rowsView._getCellElement(e.rowIndex,u);n._delayedInputFocus(h,(function(){setTimeout((function(){var e;d=a.default.getActiveElement(null===(e=n.component.$element())||void 0===e?void 0:e.get(0)),c.selectionStart>=0&&S.default.setSelectionRange(d,c)}))}))}i.resolve()}))},d._validateEditFormAfterUpdate=function(){},d._addChange=function(e,t){var n,i=null==t?void 0:t.row,o=O(this.getChanges()),a=S.default.getIndexByKey(e.key,o);a<0&&(a=o.length,this._addInternalData({key:e.key,oldData:e.oldData}),delete e.oldData,o.push(e));var r=E({},o[a]);return r&&(e.data&&(r.data=(0,m.createObjectWithChanges)(r.data,e.data)),r.type&&e.data||!e.type||(r.type=e.type),i&&(i.oldData=this._getOldData(i.key),i.data=(0,m.createObjectWithChanges)(i.data,e.data))),o[a]=r,this._silentOption(k.EDITING_CHANGES_OPTION_NAME,o),t&&r!==(null===(n=this.getChanges())||void 0===n?void 0:n[a])&&(t.forceUpdateRow=!0),r},d._getFormEditItemTemplate=function(e,t){return t.editCellTemplate||this._getDefaultEditorTemplate()},d.getColumnTemplate=function(e){var t,n,i=this,o=e.column,a=e.row&&e.row.rowIndex,r=this.isRowBasedEditMode(),s=this.isEditRow(a),l=this.isEditCell(a,e.columnIndex);!(o.showEditorAlways||o.setCellValue&&(s&&o.allowEditing||l))||\"data\"!==e.rowType&&\"detailAdaptive\"!==e.rowType||o.command?\"detail\"===o.command&&\"detail\"===e.rowType&&s&&(t=null===this||void 0===this?void 0:this.getEditFormTemplate(e)):(!((this.allowUpdating(e)||s)&&o.allowEditing||l)||!s&&r||(o.showEditorAlways&&!r&&(n={cancel:!1,key:e.row.isNewRow?void 0:e.row.key,data:e.row.data,column:o},this._isEditingStart(n)),n&&n.cancel||(e.setValue=function(t,n){i.updateFieldValue(e,t,n)})),t=o.editCellTemplate||this._getDefaultEditorTemplate());return t},d._createButton=function(e,t,n,i){var o=k.EDIT_ICON_CLASS[t.name],a=this.option(\"editing.useIcons\"),r=this.option(\"useLegacyColumnButtonTemplate\"),l=(0,s.default)(\"<a>\").attr(\"href\",\"#\").addClass(k.LINK_CLASS).addClass(t.cssClass);if(t.template&&r)this._rowsView.renderTemplate(e,t.template,n,!0);else{if(t.template)l=(0,s.default)(\"<span>\").addClass(t.cssClass);else if(a&&o||t.icon){o=t.icon||o;var u=h.getImageSourceType(o);\"image\"===u||\"svg\"===u?l=h.getImageContainer(o).addClass(t.cssClass):l.addClass(\"dx-icon\".concat(\"dxIcon\"===u?\"-\":\" \").concat(o)).attr(\"title\",t.text),l.addClass(k.LINK_ICON_CLASS),e.addClass(k.COMMAND_EDIT_WITH_ICONS_CLASS);var d=this.getButtonLocalizationNames()[t.name];d&&l.attr(\"aria-label\",x.default.format(d))}else l.text(t.text);(0,g.isDefined)(t.hint)&&l.attr(\"title\",t.hint),this._isButtonDisabled(t,n)?l.addClass(\"dx-state-disabled\"):t.template&&!t.onClick||v.default.on(l,(0,b.addNamespace)(\"click\",k.EDITING_NAMESPACE),this.createAction((function(e){var i;null===(i=t.onClick)||void 0===i||i.call(t,(0,c.extend)({},e,{row:n.row,column:n.column})),e.event.preventDefault(),e.event.stopPropagation()}))),e.append(l,\"&nbsp;\"),t.template&&(n.renderAsync=!1,this._rowsView.renderTemplate(l,t.template,n,!0,i))}},d.getButtonLocalizationNames=function(){return{edit:\"dxDataGrid-editingEditRow\",save:\"dxDataGrid-editingSaveRowChanges\",delete:\"dxDataGrid-editingDeleteRow\",undelete:\"dxDataGrid-editingUndeleteRow\",cancel:\"dxDataGrid-editingCancelRowChanges\"}},d.prepareButtonItem=function(e,t,n,i){var o,a=this,r=null!==(o=this.option(\"editing.texts\"))&&void 0!==o?o:{},l={revert:r.cancelAllChanges,save:r.saveAllChanges,addRow:r.addRow},u={revert:\"cancel\",save:\"save\",addRow:\"addrow\"}[t],d=l[t],c=(\"save\"===u||\"cancel\"===u)&&this._isEditButtonDisabled();return{widget:\"dxButton\",options:{onInitialized:function(t){(0,s.default)(t.element).addClass(e._getToolbarButtonClass(\"\".concat(k.EDIT_BUTTON_CLASS,\" \").concat(a.addWidgetPrefix(u),\"-button\")))},icon:\"edit-button-\".concat(u),disabled:c,onClick:function(){setTimeout((function(){a[n]()}))},text:d,hint:d},showText:\"inMenu\",name:\"\".concat(t,\"Button\"),location:\"after\",locateInMenu:\"auto\",sortIndex:i}},d.prepareEditButtons=function(e){var t,n=[];return(null!==(t=this.option(\"editing\"))&&void 0!==t?t:{}).allowAdding&&n.push(this.prepareButtonItem(e,\"addRow\",\"addRow\",20)),n},d.highlightDataCell=function(e,t){this.shouldHighlightCell(t)&&e.addClass(k.CELL_MODIFIED)},d._afterInsertRow=function(){},d._beforeSaveEditData=function(e){if(e&&!(0,g.isDefined)(e.key)&&(0,g.isDefined)(e.type))return!0},d._afterSaveEditData=function(){},d._beforeCancelEditData=function(){},d._allowEditAction=function(e,t){var n=this.option(\"editing.\".concat(e));return(0,g.isFunction)(n)&&(n=n({component:this.component,row:t.row})),n},d.allowUpdating=function(e,t){var n,i=null!==(n=this.option(\"editing.startEditAction\"))&&void 0!==n?n:k.DEFAULT_START_EDIT_ACTION,o=!(arguments.length>1)||(i===t||\"down\"===t);return o&&this._allowEditAction(\"allowUpdating\",e)},d.allowDeleting=function(e){return this._allowEditAction(\"allowDeleting\",e)},d.isCellModified=function(e){var t,n,i,o=e.columnIndex,a=null===(n=null===(t=null==e?void 0:e.row)||void 0===t?void 0:t.modifiedValues)||void 0===n?void 0:n[o];return(null===(i=null==e?void 0:e.row)||void 0===i?void 0:i.isNewRow)&&(a=e.value),void 0!==a},d.isNewRowInEditMode=function(){var e=this._getVisibleEditRowIndex(),t=this._dataController.items();return e>=0&&t[e].isNewRow},d._isRowDeleteAllowed=function(){},d.shouldHighlightCell=function(e){return this.isCellModified(e)&&e.column.setCellValue&&(this.getEditMode()!==k.EDIT_MODE_ROW||!e.row.isEditing)},i}(C.default.ViewController)},extenders:{controllers:{data:{init:function(){this._editingController=this.getController(\"editing\"),this.callBase()},reload:function(e,t){return!t&&this._editingController.refresh(),this.callBase.apply(this,arguments)},repaintRows:function(){if(!this.getController(\"editing\").isSaving())return this.callBase.apply(this,arguments)},_updateEditRow:function(e){var t,n=this.option(k.EDITING_EDITROWKEY_OPTION_NAME),i=e[S.default.getIndexByKey(n,e)];i&&(i.isEditing=!0,null===(t=this._updateEditItem)||void 0===t||t.call(this,i))},_updateItemsCore:function(e){this.callBase(e),this._updateEditRow(this.items(!0))},_applyChangeUpdate:function(e){this._updateEditRow(e.items),this.callBase(e)},_applyChangesOnly:function(e){this._updateEditRow(e.items),this.callBase(e)},_processItems:function(e,t){return e=this._editingController.processItems(e,t),this.callBase(e,t)},_processDataItem:function(e,t){return this._editingController.processDataItem(e,t,this.generateDataValues),this.callBase(e,t)},_processItem:function(e,t){return(e=this.callBase(e,t)).isNewRow&&(t.dataIndex--,delete e.dataIndex),e},_getChangedColumnIndices:function(e,t,n,i){if(e.isNewRow===t.isNewRow&&e.removed===t.removed)return this.callBase.apply(this,arguments)},_isCellChanged:function(e,t,n,i,o){var a=this.getController(\"editing\"),r=e.cells&&e.cells[i],s=a&&a.isEditCell(n,i);return(!o||!s)&&(!(!r||!r.column||r.column.showEditorAlways||r.isEditing===s)||this.callBase.apply(this,arguments))},needToRefreshOnDataSourceChange:function(e){var t=this.getController(\"editing\");return!(Array.isArray(e.value)&&e.value===e.previousValue&&t.isSaving())},_handleDataSourceChange:function(e){var t=this,n=this.callBase(e),i=this.option(\"editing.changes\"),o=e.value;if(Array.isArray(o)&&i.length){var a=o.map((function(e){return t.keyOf(e)})),r=i.filter((function(e){return\"insert\"===e.type||a.some((function(t){return(0,l.equalByValue)(e.key,t)}))}));r.length!==i.length&&this.option(\"editing.changes\",r);var s=this.option(\"editing.editRowKey\");!r.some((function(e){return\"insert\"===e.type&&(0,l.equalByValue)(s,e.key)}))&&a.every((function(e){return!(0,l.equalByValue)(s,e)}))&&this.option(\"editing.editRowKey\",null)}return n}}},views:{rowsView:{init:function(){this.callBase(),this._editingController=this.getController(\"editing\")},getCellIndex:function(e,t){if(!e.is(\"td\")&&t>=0){var n=this.getCellElements(t),i=-1;return(0,f.each)(n,(function(t,n){(0,s.default)(n).find(e).length&&(i=t)})),i}return this.callBase.apply(this,arguments)},publicMethods:function(){return this.callBase().concat([\"cellValue\"])},_getCellTemplate:function(e){return this._editingController.getColumnTemplate(e)||this.callBase(e)},_createRow:function(e){var t=this.callBase.apply(this,arguments);if(e){var n=!!e.removed,i=!!e.isNewRow,o=!!e.modified;i&&t.addClass(k.ROW_INSERTED),o&&t.addClass(k.ROW_MODIFIED),(i||n)&&t.removeClass(k.ROW_SELECTED)}return t},_getColumnIndexByElement:function(e){for(var t=e.closest(\"table\"),n=this.getTableElements();t.length&&!n.filter(t).length;)e=t.closest(\"td\"),t=e.closest(\"table\");return this._getColumnIndexByElementCore(e)},_getColumnIndexByElementCore:function(e){var t=e.closest(\".\".concat(k.ROW_CLASS,\"> td:not(.dx-master-detail-cell)\"));return this.getCellIndex(t)},_editCellByClick:function(e,t){var n=this._editingController,i=(0,s.default)(e.event.target),a=this._getColumnIndexByElement(i),r=this._dataController.items()[e.rowIndex],l=n.allowUpdating({row:r},t)||r&&r.isNewRow,u=this._columnsController.getVisibleColumns()[a],c=n.isEditCell(e.rowIndex,a),h=l&&u&&(u.allowEditing||c),f=this.option(\"editing.startEditAction\")||\"click\",p=u&&u.showEditorAlways;if(c)return!0;if(\"down\"===t)return(o.default.real().ios||o.default.real().android)&&(0,d.resetActiveElement)(),p&&h&&n.editCell(e.rowIndex,a);if(\"click\"===t&&\"dblClick\"===f){var g=null==r?void 0:r.isNewRow;n.closeEditCell(!1,g)}return h&&t===f?n.editCell(e.rowIndex,a)||n.isEditRow(e.rowIndex):void 0},_rowPointerDown:function(e){var t=this;this._pointerDownTimeout=setTimeout((function(){t._editCellByClick(e,\"down\")}))},_rowClick:function(e){var t=(0,s.default)(e.rowElement).hasClass(this.addWidgetPrefix(k.EDIT_FORM_CLASS));e.event[k.TARGET_COMPONENT_NAME]=this.component,this._editCellByClick(e,\"click\")||t||this.callBase.apply(this,arguments)},_rowDblClick:function(e){this._editCellByClick(e,\"dblClick\")||this.callBase.apply(this,arguments)},_cellPrepared:function(e,t){var n,i=this._editingController,o=!!t.column.command,a=t.setValue,r=i.isEditRow(t.rowIndex),s=(0,D.isEditingCell)(r,t);if((0,D.isEditingOrShowEditorAlwaysDataCell)(r,t)){var l=t.column.alignment;e.toggleClass(this.addWidgetPrefix(k.READONLY_CLASS),!a).toggleClass(k.CELL_FOCUS_DISABLED_CLASS,!a),l&&e.find(k.EDITORS_INPUT_SELECTOR).first().css(\"textAlign\",l)}s&&this._editCellPrepared(e);var u=!!(null===(n=t.column)||void 0===n?void 0:n.cellTemplate);!t.column||o||u&&!i.shouldHighlightCell(t)||i.highlightDataCell(e,t),this.callBase.apply(this,arguments)},_editCellPrepared:l.noop,_formItemPrepared:l.noop,_getCellOptions:function(e){var t=this.callBase(e);return t.isEditing=this._editingController.isEditCell(t.rowIndex,t.columnIndex),t},_createCell:function(e){var t=this.callBase(e),n=this._editingController.isEditRow(e.rowIndex);return(0,D.isEditingOrShowEditorAlwaysDataCell)(n,e)&&t.addClass(k.EDITOR_CELL_CLASS),t},cellValue:function(e,t,n,i){var o=this.getCellOptions(e,t);if(o){if(void 0===n)return o.value;this._editingController.updateFieldValue(o,n,i,!0)}},dispose:function(){this.callBase.apply(this,arguments),clearTimeout(this._pointerDownTimeout)},_renderCore:function(){var e=this;return this.callBase.apply(this,arguments),this.waitAsyncTemplates(!0).done((function(){e._editingController._focusEditorIfNeed()}))}},headerPanel:{_getToolbarItems:function(){var e=this.callBase();return this.getController(\"editing\").prepareEditButtons(this).concat(e)},optionChanged:function(e){var t=e.fullName;switch(e.name){case\"editing\":var n=[k.EDITING_POPUP_OPTION_NAME,k.EDITING_CHANGES_OPTION_NAME,k.EDITING_EDITCOLUMNNAME_OPTION_NAME,k.EDITING_EDITROWKEY_OPTION_NAME];t&&!n.some((function(e){return e===t}))&&this._invalidate(),this.callBase(e);break;case\"useLegacyColumnButtonTemplate\":e.handled=!0;break;default:this.callBase(e)}},isVisible:function(){var e=this.getController(\"editing\").option(\"editing\");return this.callBase()||(null==e?void 0:e.allowAdding)}}}}};t.editingModule=M},68802:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.editingCellBasedModule=void 0;var i=_(n(73349)),o=_(n(68374)),a=n(20576),r=n(62754),s=n(3532),l=n(35922),u=n(60637),d=n(95429),c=_(n(55994)),h=_(n(11699)),f=_(n(93786)),p=n(39611),g=n(72313),m=n(89237);function _(e){return e&&e.__esModule?e:{default:e}}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y={extenders:{controllers:{editing:function(e){return function(e){var t,n;function h(){return e.apply(this,arguments)||this}n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var p=h.prototype;return p.init=function(){var t,n,a=this,r=!this._saveEditorHandler;(e.prototype.init.call(this),r)&&(this._pointerUpEditorHandler=function(){var e;n=null===(e=a.getController(\"columnsResizer\"))||void 0===e?void 0:e.isResizing()},this._pointerDownEditorHandler=function(e){return t=(0,o.default)(e.target)},this._saveEditorHandler=this.createAction((function(e){var i=e.event,a=(0,o.default)(i.target),r=i[g.TARGET_COMPONENT_NAME],l=this.component;if((!(0,m.isEditable)(t)||t.is(a))&&this.isCellOrBatchEditMode()&&!this._editCellInProgress){var u=p(a)||p(null==r?void 0:r.$element()),d=r&&!r._disposed&&r!==this.component,c=!!a.closest(\".\".concat(this.addWidgetPrefix(g.ADD_ROW_BUTTON_CLASS))).length,h=a.hasClass(this.addWidgetPrefix(g.FOCUS_OVERLAY_CLASS)),f=this.isCellEditMode();n||u||h||c&&f&&this.isEditing()||!(0,s.isElementInDom)(a)&&!d||this._closeEditItem.bind(this)(a)}function p(e){if(!e)return!1;var t=e.closest(\".\".concat(g.DROPDOWN_EDITOR_OVERLAY_CLASS)),n=l.$element();return t.length>0&&0===n.closest(t).length}})),c.default.on(i.default.getDocument(),f.default.up,this._pointerUpEditorHandler),c.default.on(i.default.getDocument(),f.default.down,this._pointerDownEditorHandler),c.default.on(i.default.getDocument(),d.name,this._saveEditorHandler))},p.isCellEditMode=function(){return this.option(\"editing.mode\")===g.EDIT_MODE_CELL},p.isBatchEditMode=function(){return this.option(\"editing.mode\")===g.EDIT_MODE_BATCH},p.isCellOrBatchEditMode=function(){return this.isCellEditMode()||this.isBatchEditMode()},p._needToCloseEditableCell=function(t){var n,i=this.component.$element(),o=this.isEditing();if((!i||!!t.closest(i).length)&&t.closest(\".\".concat(g.DATA_ROW_CLASS)).length){var a=this.getView(\"rowsView\"),r=t.closest(\".\".concat(g.ROW_CLASS,\"> td\")),s=a.getRowIndex(r.parent()),l=a.getCellElements(s);if(null==l?void 0:l.length){var u=l.index(r),d=null===(n=this._columnsController.getVisibleColumns()[u])||void 0===n?void 0:n.allowEditing,c=this.isEditCell(s,u);o=o&&!d&&!c}}return o||e.prototype._needToCloseEditableCell.call(this,t)},p._closeEditItem=function(e){this._needToCloseEditableCell(e)&&this.closeEditCell()},p._focusEditorIfNeed=function(){var t,n=this;if(this._needFocusEditor&&this.isCellOrBatchEditMode()){var i=this._getVisibleEditColumnIndex(),o=null===(t=this._rowsView)||void 0===t?void 0:t._getCellElement(this._getVisibleEditRowIndex(),i);o&&!o.find(\":focus\").length?this._focusEditingCell((function(){n._editCellInProgress=!1}),o,!0):this._editCellInProgress=!1,this._needFocusEditor=!1}else e.prototype._focusEditorIfNeed.call(this)},p.isEditing=function(){if(this.isCellOrBatchEditMode()){var t=(0,l.isDefined)(this.option(g.EDITING_EDITROWKEY_OPTION_NAME)),n=(0,l.isDefined)(this.option(g.EDITING_EDITCOLUMNNAME_OPTION_NAME));return t&&n}return e.prototype.isEditing.call(this)},p._handleEditColumnNameChange=function(e){var t=this._getVisibleEditRowIndex(e.previousValue);if(this.isCellOrBatchEditMode()&&-1!==t&&(0,l.isDefined)(e.value)&&e.value!==e.previousValue){var n=this._columnsController.getVisibleColumnIndex(e.value),i=this._columnsController.getVisibleColumnIndex(e.previousValue);this._editCellFromOptionChanged(n,i,t)}},p._addRow=function(t){var n=this;if(this.isCellEditMode()&&this.hasChanges()){var i=new r.Deferred;return this.saveEditData().done((function(){n.hasChanges()?i.reject(\"cancel\"):n.addRow(t).done(i.resolve).fail(i.reject)})),i.promise()}return e.prototype._addRow.call(this,t)},p.editCell=function(e,t){return this._editCell({rowIndex:e,columnIndex:t})},p._editCell=function(e){var t,n=this,i=new r.Deferred;return this.executeOperation(i,(function(){t=n._editCellCore(e),(0,r.when)(t).done(i.resolve).fail(i.reject)})),void 0!==t?t:i.promise()},p._editCellCore=function(e){var t=this,n=this._dataController,i=(0,l.isDefined)(e.oldColumnIndex)||(0,l.isDefined)(e.oldRowIndex),o=this._getNormalizedEditCellOptions(e),a=o.columnIndex,s=o.rowIndex,u=o.column,d=o.item,c={data:null==d?void 0:d.data,cancel:!1,column:u};if(void 0!==d.key){if(u&&(\"data\"===d.rowType||\"detailAdaptive\"===d.rowType)&&!d.removed&&this.isCellOrBatchEditMode()){if(!i&&this.isEditCell(s,a))return!0;var h=s+n.getRowIndexOffset();return(0,r.when)(this._beforeEditCell(s,a,d)).done((function(e){e||t._prepareEditCell(c,d,a,h)||t._processCanceledEditingCell()}))}return!1}this._dataController.fireError(\"E1043\")},p._beforeEditCell=function(e,t,n){var i=this;if(this.isCellEditMode()&&!n.isNewRow&&this.hasChanges()){var o=new r.Deferred;return this.saveEditData().always((function(){o.resolve(i.hasChanges())})),this.addDeferred(o),o}return!1},p.publicMethods=function(){var t=e.prototype.publicMethods.call(this);return t.concat([\"editCell\",\"closeEditCell\"])},p._getNormalizedEditCellOptions=function(e){var t,n=e.oldColumnIndex,i=e.oldRowIndex,o=e.columnIndex,a=e.rowIndex,r=this._columnsController,s=r.getVisibleColumns(),u=this._dataController.items()[a];return t=(0,l.isDefined)(n)?s[n]:this._getEditColumn(),(0,l.isDefined)(i)||(i=this._getVisibleEditRowIndex()),(0,l.isString)(o)&&(o=r.columnOption(o,\"index\"),o=r.getVisibleIndex(o)),{oldColumn:t,columnIndex:o,oldRowIndex:i,rowIndex:a,column:s[o],item:u}},p._prepareEditCell=function(e,t,n,i){var o;return t.isNewRow||(e.key=t.key),!this._isEditingStart(e)&&(this._pageIndex=this._dataController.pageIndex(),this._setEditRowKey(t.key),this._setEditColumnNameByIndex(n),e.column.showEditorAlways||this._addInternalData({key:t.key,oldData:null!==(o=t.oldData)&&void 0!==o?o:t.data}),!0)},p.closeEditCell=function(e,t){var n=this,i=(0,r.when)(),o=this._getVisibleEditRowIndex();if(this.isCellOrBatchEditMode()){var a=new r.Deferred;i=new r.Deferred,this.executeOperation(a,(function(){n._closeEditCellCore(e,o,t).always(i.resolve)}))}return i.promise()},p._closeEditCellCore=function(e,t,n){var i=this,o=this._dataController,a=new r.Deferred,s=a.promise();if(this.isCellEditMode()&&this.hasChanges()){if(!n)return this.saveEditData().done((function(e){i.hasChanges()?a.resolve():i.closeEditCell(!!e).always(a.resolve)})),s}else if(this._resetEditRowKey(),this._resetEditColumnName(),t>=0){var l=[t];this._beforeCloseEditCellInBatchMode(l),e||o.updateItems({changeType:\"update\",rowIndices:l})}return a.resolve(),s},p._resetModifiedClassCells=function(e){var t=this;if(this.isBatchEditMode()){var n=this._columnsController.getVisibleColumns().length;e.forEach((function(e){for(var i=e.key,o=t._dataController.getRowIndexByKey(i),a=0;a<n;a++){var r=t._rowsView._getCellElement(o,a);null==r||r.removeClass(g.CELL_MODIFIED_CLASS)}}))}},p._prepareChange=function(t,n,i){var a=(0,o.default)(t.cellElement);return this.isBatchEditMode()&&void 0!==t.key&&this._applyModified(a,t),e.prototype._prepareChange.call(this,t,n,i)},p._cancelSaving=function(t){var n=this._dataController;this.isCellOrBatchEditMode()&&(this.isBatchEditMode()&&this._resetEditIndices(),n.updateItems()),e.prototype._cancelSaving.call(this,t)},p.optionChanged=function(t){var n=t.fullName;\"editing\"===t.name&&n===g.EDITING_EDITCOLUMNNAME_OPTION_NAME?(this._handleEditColumnNameChange(t),t.handled=!0):e.prototype.optionChanged.call(this,t)},p._editCellFromOptionChanged=function(e,t,n){var i=this,o=this._columnsController.getVisibleColumns();e>-1&&(0,a.deferRender)((function(){i._repaintEditCell(o[e],o[t],n)}))},p._handleEditRowKeyChange=function(t){var n;if(this.isCellOrBatchEditMode()){var i=this._getVisibleEditColumnIndex(),o=this._getEditRowIndexCorrection(),a=this._dataController.getRowIndexByKey(t.previousValue)+o;(0,l.isDefined)(t.value)&&t.value!==t.previousValue&&(null===(n=this._editCellFromOptionChanged)||void 0===n||n.call(this,i,i,a))}else e.prototype._handleEditRowKeyChange.call(this,t)},p.deleteRow=function(t){var n=this;if(this.isCellEditMode()&&this.isEditing()){var i=this._dataController.items()[t].isNewRow,o=this._dataController.getKeyByRowIndex(t);this.closeEditCell(null,i).always((function(){t=n._dataController.getRowIndexByKey(o),n._checkAndDeleteRow(t)}))}else e.prototype.deleteRow.call(this,t)},p._checkAndDeleteRow=function(t){this.isBatchEditMode()?this._deleteRowCore(t):e.prototype._checkAndDeleteRow.call(this,t)},p._refreshCore=function(t){var n=(null!=t?t:{}).isPageChanged,i=this.isBatchEditMode()||n&&\"virtual\"!==this.option(\"scrolling.mode\");this.isCellOrBatchEditMode()?i&&(this._resetEditColumnName(),this._resetEditRowKey()):e.prototype._refreshCore.call(this,t)},p._allowRowAdding=function(t){return!!this.isBatchEditMode()||e.prototype._allowRowAdding.call(this,t)},p._afterDeleteRow=function(t,n){var i=this._dataController;return this.isBatchEditMode()?(i.updateItems({changeType:\"update\",rowIndices:[n,t]}),(new r.Deferred).resolve()):e.prototype._afterDeleteRow.call(this,t,n)},p._updateEditRow=function(t,n,i){this.isCellOrBatchEditMode()?this._updateRowImmediately(t,n,i):e.prototype._updateEditRow.call(this,t,n,i)},p._isDefaultButtonVisible=function(t,n){if(this.isCellOrBatchEditMode()){var i=this.isBatchEditMode();switch(t.name){case\"save\":case\"cancel\":case\"edit\":return!1;case\"delete\":return e.prototype._isDefaultButtonVisible.call(this,t,n)&&(!i||!n.row.removed);case\"undelete\":return i&&this.allowDeleting(n)&&n.row.removed;default:return e.prototype._isDefaultButtonVisible.call(this,t,n)}}return e.prototype._isDefaultButtonVisible.call(this,t,n)},p._isRowDeleteAllowed=function(){return e.prototype._isRowDeleteAllowed.call(this)||this.isBatchEditMode()},p._beforeEndSaving=function(t){var n;this.isCellEditMode()?\"update\"!==(null===(n=t[0])||void 0===n?void 0:n.type)&&e.prototype._beforeEndSaving.call(this,t):(this.isBatchEditMode()&&this._resetModifiedClassCells(t),e.prototype._beforeEndSaving.call(this,t))},p.prepareEditButtons=function(t){var n,i=null!==(n=this.option(\"editing\"))&&void 0!==n?n:{},o=e.prototype.prepareEditButtons.call(this,t);return(i.allowUpdating||i.allowAdding||i.allowDeleting)&&this.isBatchEditMode()&&(o.push(this.prepareButtonItem(t,\"save\",\"saveEditData\",21)),o.push(this.prepareButtonItem(t,\"revert\",\"cancelEditData\",22))),o},p._saveEditDataInner=function(){var t,n=this._dataController.getVisibleRows()[this.getEditRowIndex()],i=this._getEditColumn(),o=null==i?void 0:i.showEditorAlways;return this.isCellEditMode()&&!(null==n?void 0:n.isNewRow)&&o&&(t=new r.Deferred,this.addDeferred(t)),e.prototype._saveEditDataInner.call(this).always(null==t?void 0:t.resolve)},p._applyChange=function(t,n,i){var o=this.isCellEditMode()&&t.row&&!t.row.isNewRow,a=t.column.showEditorAlways,r=t.column.setCellValue!==t.column.defaultSetCellValue;return a&&!i&&o&&this.hasEditData()&&!this.isEditCell(t.rowIndex,t.columnIndex)?(this._focusEditingCell(),void this._updateEditRow(t.row,!0,r)):e.prototype._applyChange.call(this,t,n,i)},p._applyChangeCore=function(t,n){var i=t.column.showEditorAlways,o=this.isCellEditMode()&&t.row&&!t.row.isNewRow;if(i&&!n){if(o)return this._setEditRowKey(t.row.key,!0),this._setEditColumnNameByIndex(t.columnIndex,!0),this.saveEditData();if(this.isBatchEditMode())return n=this._needUpdateRow(t.column),e.prototype._applyChangeCore.call(this,t,n)}return e.prototype._applyChangeCore.call(this,t,n)},p._processDataItemCore=function(t,n,i,o,a){var r=n.data,s=n.type;this.isBatchEditMode()&&s===g.DATA_EDIT_DATA_REMOVE_TYPE&&(t.data=(0,u.createObjectWithChanges)(t.data,r)),e.prototype._processDataItemCore.call(this,t,n,i,o,a)},p._processRemoveCore=function(t,n,i){if(!this.isBatchEditMode()||i)return e.prototype._processRemoveCore.call(this,t,n,i)},p._processRemoveIfError=function(t,n){if(!this.isBatchEditMode())return e.prototype._processRemoveIfError.call(this,t,n)},p._beforeFocusElementInRow=function(t){e.prototype._beforeFocusElementInRow.call(this,t);var n=t>=0?t:0,i=this.getFirstEditableColumnIndex();i>=0&&this.editCell(n,i)},h}(e)}},views:{rowsView:{_createTable:function(){var e=this.callBase.apply(this,arguments),t=this._editingController;return t.isCellOrBatchEditMode()&&this.option(\"editing.allowUpdating\")&&c.default.on(e,(0,p.addNamespace)(h.default.name,\"dxDataGridRowsView\"),\"td:not(.\".concat(g.EDITOR_CELL_CLASS,\")\"),this.createAction((function(){t.isEditing()&&t.closeEditCell()}))),e},_createRow:function(e){var t=this.callBase.apply(this,arguments);if(e){var n=this._editingController,i=!!e.removed;n.isBatchEditMode()&&i&&t.addClass(g.ROW_REMOVED)}return t}},headerPanel:{isVisible:function(){var e=this.getController(\"editing\").option(\"editing\");return this.callBase()||e&&(e.allowUpdating||e.allowDeleting)&&e.mode===g.EDIT_MODE_BATCH}}}}};t.editingCellBasedModule=y},99211:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.editingFormBasedModule=void 0;var i=y(n(20530)),o=y(n(73176)),a=y(n(68374)),r=n(20576),s=n(62754),l=n(3532),u=n(13306),d=n(95479),c=n(35922),h=y(n(55994)),f=y(n(63008)),p=y(n(17737)),g=y(n(51495)),m=y(n(41183)),_=n(72313),v=n(89237);function y(e){return e&&e.__esModule?e:{default:e}}function b(e,t){return(b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var x={extenders:{controllers:{editing:function(e){return function(e){var t,n;function y(){return e.apply(this,arguments)||this}n=e,(t=y).prototype=Object.create(n.prototype),t.prototype.constructor=t,b(t,n);var x=y.prototype;return x.init=function(){this._editForm=null,this._updateEditFormDeferred=null,e.prototype.init.call(this)},x.isFormOrPopupEditMode=function(){return this.isPopupEditMode()||this.isFormEditMode()},x.isPopupEditMode=function(){return this.option(\"editing.mode\")===_.EDIT_MODE_POPUP},x.isFormEditMode=function(){return this.option(\"editing.mode\")===_.EDIT_MODE_FORM},x.getFirstEditableColumnIndex=function(){var t=this._firstFormItem;if(this.isFormEditMode()&&t){var n=this.option(_.EDITING_EDITROWKEY_OPTION_NAME),i=this._dataController.getRowIndexByKey(n),o=this._rowsView.getCellElements(i);return this._rowsView._getEditFormEditorVisibleIndex(o,t.column)}return e.prototype.getFirstEditableColumnIndex.call(this)},x.getEditFormRowIndex=function(){return this.isFormOrPopupEditMode()?this._getVisibleEditRowIndex():e.prototype.getEditFormRowIndex.call(this)},x._isEditColumnVisible=function(){var t=e.prototype._isEditColumnVisible.call(this),n=this.option(\"editing\");return this.isFormOrPopupEditMode()&&n.allowUpdating||t},x._handleDataChanged=function(t){var n,i;if(this.isPopupEditMode()){var o=this.option(\"editing.editRowKey\"),a=null===(n=null==t?void 0:t.items)||void 0===n?void 0:n.some((function(e){return(0,r.equalByValue)(e.key,o)})),s=(null===(i=t.changeTypes)||void 0===i?void 0:i.length)&&t.changeTypes.every((function(e){return\"insert\"===e}));(\"refresh\"===t.changeType||a&&t.isOptionChanged)&&!s&&this._repaintEditPopup()}e.prototype._handleDataChanged.call(this,t)},x.getPopupContent=function(){var e,t=null===(e=this._editPopup)||void 0===e?void 0:e.option(\"visible\");if(this.isPopupEditMode()&&t)return this._$popupContent},x._showAddedRow=function(t){this.isPopupEditMode()?this._showEditPopup(t):e.prototype._showAddedRow.call(this,t)},x._cancelEditDataCore=function(){e.prototype._cancelEditDataCore.call(this),this.isPopupEditMode()&&this._hideEditPopup()},x._updateEditRowCore=function(t,n,i){var o,a=this._editForm;this.isPopupEditMode()?this.option(\"repaintChangesOnly\")?(null===(o=t.update)||void 0===o||o.call(t,t),this._rowsView.renderDelayedTemplates()):a&&(this._updateEditFormDeferred=(new s.Deferred).done((function(){return a.repaint()})),this._updateLockCount||this._updateEditFormDeferred.resolve()):e.prototype._updateEditRowCore.call(this,t,n,i)},x._showEditPopup=function(t,n){var o=this,r=\"desktop\"!==i.default.current().deviceType,s=this.addWidgetPrefix(_.EDIT_POPUP_CLASS),l=(0,u.extend)({showTitle:!1,fullScreen:r,wrapperAttr:{class:s},toolbarItems:[{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:this._getSaveButtonConfig()},{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:this._getCancelButtonConfig()}],contentTemplate:this._getPopupEditFormTemplate(t)},this.option(_.EDITING_POPUP_OPTION_NAME));if(!this._editPopup){var d=(0,a.default)(\"<div>\").appendTo(this.component.$element()).addClass(s);this._editPopup=this._createComponent(d,g.default),this._editPopup.on(\"hiding\",this._getEditPopupHiddenHandler()),this._editPopup.on(\"shown\",(function(e){var t;h.default.trigger(e.component.$content().find(_.FOCUSABLE_ELEMENT_SELECTOR).not(\".\".concat(_.FOCUSABLE_ELEMENT_CLASS)).first(),\"focus\"),n&&(null===(t=o._editForm)||void 0===t||t.repaint())}))}this._editPopup.option(l),this._editPopup.show(),e.prototype._showEditPopup.call(this,t,n)},x._getPopupEditFormTemplate=function(e){var t=this,n=this.component.getVisibleRows()[e],i={row:n,values:n.values,rowType:n.rowType,key:n.key,rowIndex:e};return this._rowsView._addWatchMethod(i,n),function(e){var n=t.getEditFormTemplate(),o=t._createComponent((0,a.default)(\"<div>\").appendTo(e),m.default);t._$popupContent=(0,a.default)(o.content()),n(t._$popupContent,i,{isPopupForm:!0}),t._rowsView.renderDelayedTemplates(),(0,a.default)(e).parent().attr(\"aria-label\",t.localize(\"dxDataGrid-ariaEditForm\"))}},x._repaintEditPopup=function(){var e,t,n=this._getVisibleEditRowIndex();if(n>=0){var i=null===(e=this._editPopup)||void 0===e?void 0:e.option(\"animation\");null===(t=this._editPopup)||void 0===t||t.option(\"animation\",null),this._showEditPopup(n,!0),void 0!==i&&this._editPopup.option(\"animation\",i)}},x._hideEditPopup=function(){var e;null===(e=this._editPopup)||void 0===e||e.option(\"visible\",!1)},x.optionChanged=function(t){if(\"editing\"===t.name&&this.isFormOrPopupEditMode()){var n=t.fullName;0===n.indexOf(_.EDITING_FORM_OPTION_NAME)?(this._handleFormOptionChange(t),t.handled=!0):0===n.indexOf(_.EDITING_POPUP_OPTION_NAME)&&(this._handlePopupOptionChange(t),t.handled=!0)}e.prototype.optionChanged.call(this,t)},x._handleFormOptionChange=function(e){var t;if(this.isFormEditMode()){var n=this._getVisibleEditRowIndex();n>=0&&this._dataController.updateItems({changeType:\"update\",rowIndices:[n]})}else(null===(t=this._editPopup)||void 0===t?void 0:t.option(\"visible\"))&&0===e.fullName.indexOf(_.EDITING_FORM_OPTION_NAME)&&this._repaintEditPopup()},x._handlePopupOptionChange=function(e){var t=this._editPopup;if(t){var n=e.fullName.slice(_.EDITING_POPUP_OPTION_NAME.length+1);n?t.option(n,e.value):t.option(e.value)}},x.renderFormEditorTemplate=function(e,t,n,i,o){var r=this,s=this,d=(0,a.default)(i),c=t.column,h=(0,v.getEditorType)(t),f=null==e?void 0:e.row.data,p=n.component,g=n.editorOptions||{},m=g.label,_=g.labelMark,y=g.labelMode,b=(0,u.extend)({},e,{data:f,cellElement:null,isOnForm:!0,item:t,id:p.getItemID(t.name||t.dataField),column:(0,u.extend)({},c,{editorType:h,editorOptions:(0,u.extend)({label:m,labelMark:_,labelMode:y},c.editorOptions,t.editorOptions)}),columnIndex:c.index,setValue:!o&&c.allowEditing&&function(e,t){s.updateFieldValue(b,e,t)}});b.value=c.calculateCellValue(f);var x=this._getFormEditItemTemplate.bind(this)(b,c);return this._rowsView.renderTemplate(d,x,b,!!(0,l.isElementInDom)(d)).done((function(){r._rowsView._updateCell(d,b)})),b},x.getFormEditorTemplate=function(e,t){var n=this,i=this.component.columnOption(t.dataField);return function(o,r){var s,l,u=(0,a.default)(r);null===(l=(s=e.row).watch)||void 0===l||l.call(s,(function(){return i.selector(e.row.data)}),(function(){var i=u.find(\".dx-widget\").first(),a=i.data(\"dxValidator\"),r=null==a?void 0:a.option();u.contents().remove(),e=n.renderFormEditorTemplate.bind(n)(e,t,o,u),a=(i=u.find(\".dx-widget\").first()).data(\"dxValidator\"),r&&!a&&i.dxValidator({validationRules:r.validationRules,validationGroup:r.validationGroup,dataGetter:r.dataGetter})})),e=n.renderFormEditorTemplate.bind(n)(e,t,o,u)}},x.getEditFormOptions=function(e){var t,n=this,i=null===(t=this._getValidationGroupsInForm)||void 0===t?void 0:t.call(this,e),a=this.option(\"editing.form.customizeItem\"),r=this.addWidgetPrefix(_.EDIT_FORM_ITEM_CLASS),s=this.option(\"editing.form.items\"),l={};if(s)(0,v.forEachFormItems)(s,(function(e){var t=(null==e?void 0:e.name)||(null==e?void 0:e.dataField);t&&(l[t]=!!e.editorType)}));else{var h=this.getController(\"columns\").getColumns();s=[],(0,d.each)(h,(function(e,t){t.isBand||t.type||s.push({column:t,name:t.name,dataField:t.dataField})}))}return(0,u.extend)({},i,{items:s,formID:\"dx-\".concat(new o.default),customizeItem:function(t){var i,o=t.name||t.dataField;if((t.column||o)&&(i=t.column||n._columnsController.columnOption(t.name?\"name:\".concat(t.name):\"dataField:\".concat(t.dataField))),i){if(t.label=t.label||{},t.label.text=t.label.text||i.caption,\"boolean\"===i.dataType&&void 0===t.label.visible){var s=n.option(\"editing.form.labelMode\");\"floating\"!==s&&\"static\"!==s||(t.label.visible=!0)}t.template=t.template||n.getFormEditorTemplate(e,t),t.column=i,t.isCustomEditorType=l[o],i.formItem&&(0,u.extend)(t,i.formItem),void 0===t.isRequired&&i.validationRules&&(t.isRequired=i.validationRules.some((function(e){return\"required\"===e.type})),t.validationRules=[]);var d=!(0,c.isDefined)(t.visible)||t.visible;!n._firstFormItem&&d&&(n._firstFormItem=t)}null==a||a.call(n,t),t.cssClass=(0,c.isString)(t.cssClass)?\"\".concat(t.cssClass,\" \").concat(r):r}})},x.getEditFormTemplate=function(){var e=this;return function(t,n,i){var o=e.option(_.EDITING_FORM_OPTION_NAME),r=e.getEditFormOptions(n),s=(0,a.default)(\"<div>\").appendTo(t),l=null==i?void 0:i.isPopupForm;if(e._firstFormItem=void 0,l&&s.addClass(e.addWidgetPrefix(_.EDIT_POPUP_FORM_CLASS)),e._editForm=e._createComponent(s,p.default,(0,u.extend)({},o,r)),!l){var d=(0,a.default)(\"<div>\").addClass(e.addWidgetPrefix(_.FORM_BUTTONS_CONTAINER_CLASS)).appendTo(t);e._createComponent((0,a.default)(\"<div>\").appendTo(d),f.default,e._getSaveButtonConfig()),e._createComponent((0,a.default)(\"<div>\").appendTo(d),f.default,e._getCancelButtonConfig())}e._editForm.on(\"contentReady\",(function(){var t;e._rowsView.renderDelayedTemplates(),null===(t=e._editPopup)||void 0===t||t.repaint()}))}},x.getEditForm=function(){return this._editForm},x._endUpdateCore=function(){var e;null===(e=this._updateEditFormDeferred)||void 0===e||e.resolve()},x._beforeEndSaving=function(t){var n;e.prototype._beforeEndSaving.call(this,t),this.isPopupEditMode()&&(null===(n=this._editPopup)||void 0===n||n.hide())},x._processDataItemCore=function(t,n,i,o,a){var r=n.type;this.isPopupEditMode()&&r===_.DATA_EDIT_DATA_INSERT_TYPE&&(t.visible=!1),e.prototype._processDataItemCore.call(this,t,n,i,o,a)},x._editRowFromOptionChangedCore=function(t,n){var i=this.isPopupEditMode();e.prototype._editRowFromOptionChangedCore.call(this,t,n,i),i&&this._showEditPopup(n)},y}(e)},data:{_updateEditItem:function(e){this._editingController.isFormEditMode()&&(e.rowType=\"detail\")},_getChangedColumnIndices:function(e,t,n,i){if(!1!==i||!t.isEditing||!this._editingController.isFormEditMode())return this.callBase.apply(this,arguments)}}},views:{rowsView:{_renderCellContent:function(e,t){\"data\"===t.rowType&&this._editingController.isPopupEditMode()&&!1===t.row.visible||this.callBase.apply(this,arguments)},getCellElements:function(e){var t=this.callBase(e),n=this._editingController,i=n.getEditForm();return n.getEditFormRowIndex()===e&&t&&i?i.$element().find(\".\".concat(this.addWidgetPrefix(_.EDIT_FORM_ITEM_CLASS),\", .\").concat(_.BUTTON_CLASS)):t},_getVisibleColumnIndex:function(e,t,n){var i=this._editingController.getEditFormRowIndex();if(i===t&&(0,c.isString)(n)){var o=this._columnsController.columnOption(n);return this._getEditFormEditorVisibleIndex(e,o)}return this.callBase.apply(this,arguments)},_getEditFormEditorVisibleIndex:function(e,t){var n=-1;return(0,d.each)(e,(function(e,i){var o=(0,a.default)(i).find(\".dx-field-item-content\").data(\"dx-form-item\");if((null==o?void 0:o.column)&&t&&o.column.index===t.index)return n=e,!1})),n},_isFormItem:function(e){var t=\"detail\"===e.rowType||\"detailAdaptive\"===e.rowType,n=\"data\"===e.rowType&&this._editingController.isPopupEditMode();return(t||n)&&e.item},_updateCell:function(e,t){this._isFormItem(t)?this._formItemPrepared(t,e):this.callBase(e,t)}}}}};t.editingFormBasedModule=x},55597:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.editingRowBasedModule=void 0;var i=n(20576),o=n(72313);function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var r={extenders:{controllers:{editing:function(e){return function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n);var s=r.prototype;return s.isRowEditMode=function(){return this.getEditMode()===o.EDIT_MODE_ROW},s._afterCancelEditData=function(t){var n=this._dataController;this.isRowBasedEditMode()&&t>=0?n.updateItems({changeType:\"update\",rowIndices:[t,t+1]}):e.prototype._afterCancelEditData.call(this,t)},s._isDefaultButtonVisible=function(t,n){var a=this.isRowBasedEditMode(),r=n.row&&(0,i.equalByValue)(n.row.key,this.option(o.EDITING_EDITROWKEY_OPTION_NAME));if(a)switch(t.name){case\"edit\":return!r&&this.allowUpdating(n);case\"delete\":return e.prototype._isDefaultButtonVisible.call(this,t,n)&&!r;case\"save\":case\"cancel\":return r;default:return e.prototype._isDefaultButtonVisible.call(this,t,n)}return e.prototype._isDefaultButtonVisible.call(this,t,n)},s.isEditRow=function(e){return this.isRowBasedEditMode()&&this.isEditRowByIndex(e)},s._cancelSaving=function(t){this.isRowBasedEditMode()&&(this.hasChanges()||this._cancelEditDataCore()),e.prototype._cancelSaving.call(this,t)},s._refreshCore=function(t){var n=(null!=t?t:{}).allowCancelEditing;if(this.isRowBasedEditMode()){var i=this.getChanges().filter((function(e){return\"update\"===e.type})).length>0;this.init(),n&&i&&this._cancelEditDataCore()}e.prototype._refreshCore.call(this,t)},s._isEditColumnVisible=function(){var t=e.prototype._isEditColumnVisible.call(this),n=this.option(\"editing\"),i=this.isRowEditMode(),o=n.allowUpdating||n.allowAdding;return t||i&&o},s._focusEditorIfNeed=function(){var e=this,t=this.getEditMode();if(this._needFocusEditor){if(o.MODES_WITH_DELAYED_FOCUS.includes(t)){var n=this.getFocusedCellInRow(this._getVisibleEditRowIndex());this._delayedInputFocus(n,(function(){n&&e.component.focus(n)}))}this._needFocusEditor=!1}},r}(e)},data:{_getChangedColumnIndices:function(e,t,n,i){var o=this.getController(\"editing\");if(!o.isRowBasedEditMode()||e.isEditing===t.isEditing)return this.callBase.apply(this,arguments)}}},views:{rowsView:{_createRow:function(e){var t=this.callBase.apply(this,arguments);if(e){var n=this._editingController,i=n.isEditRow(e.rowIndex);i&&(t.addClass(o.EDIT_ROW),t.removeClass(o.ROW_SELECTED_CLASS),\"detail\"===e.rowType&&t.addClass(this.addWidgetPrefix(o.EDIT_FORM_CLASS)))}return t},_update:function(e){this.callBase(e),\"updateSelection\"===e.changeType&&this.getTableElements().children(\"tbody\").children(\".\".concat(o.EDIT_ROW)).removeClass(o.ROW_SELECTED_CLASS)}}}}};t.editingRowBasedModule=r},89237:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getButtonIndex=t.generateNewRowTempKey=t.forEachFormItems=t.createFailureHandler=void 0,t.getButtonName=s,t.getEditorType=t.getEditingTexts=void 0,t.isEditable=function(e){return e&&(e.is(\"input\")||e.is(\"textarea\"))},t.isNewRowTempKey=t.isEditingOrShowEditorAlwaysDataCell=t.isEditingCell=void 0;var i,o=(i=n(73176))&&i.__esModule?i:{default:i},a=n(35922);t.createFailureHandler=function(e){return function(t){var n=t instanceof Error?t:new Error(t&&String(t)||\"Unknown error\");e.reject(n)}};var r=function(e,t){return t.isEditing||e&&t.column.allowEditing};t.isEditingCell=r;t.isEditingOrShowEditorAlwaysDataCell=function(e,t){var n=!!t.column.command,i=r(e,t),o=!n&&(i||t.column.showEditorAlways);return\"data\"===t.rowType&&o};t.getEditingTexts=function(e){var t=e.component.option(\"editing.texts\")||{};return{save:t.saveRowChanges,cancel:t.cancelRowChanges,edit:t.editRow,undelete:t.undeleteRow,delete:t.deleteRow,add:t.addRowToNode}};t.generateNewRowTempKey=function(){return\"\".concat(\"_DX_KEY_\").concat(new o.default)};t.isNewRowTempKey=function(e){return\"string\"==typeof e&&e.startsWith(\"_DX_KEY_\")&&e.length===\"_DX_KEY_\".length+36};function s(e){return(0,a.isObject)(e)?e.name:e}t.getButtonIndex=function(e,t){var n=-1;return e.some((function(e,i){if(s(e)===t)return n=i,!0})),n};t.getEditorType=function(e){var t,n=e.column;return e.isCustomEditorType?e.editorType:null===(t=n.formItem)||void 0===t?void 0:t.editorType};t.forEachFormItems=function e(t,n){t.forEach((function(t){t.items||t.tabs?e(t.items||t.tabs,n):n(t)}))}},80070:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.editorFactoryModule=t.EditorFactory=void 0;var i=_(n(49387)),o=_(n(73349)),a=_(n(68374)),r=_(n(47810)),s=n(13306),l=n(37518),u=n(58664),d=n(95429),c=_(n(55994)),h=_(n(93786)),f=n(39611),p=_(n(15653)),g=_(n(15943)),m=_(n(60082));function _(e){return e&&e.__esModule?e:{default:e}}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=(0,f.addNamespace)([h.default.down,\"focusin\",d.name].join(\" \"),\"dxDataGridEditorFactory\"),b=function(e){var t,n;function d(){return e.apply(this,arguments)||this}n=e,(t=d).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var h=d.prototype;return h._getFocusedElement=function(e){var t=this.option(\"focusedRowEnabled\")?\"tr[tabindex]:focus\":\"tr[tabindex]:not(.dx-data-row):focus\",n=\"td[tabindex]:focus, \".concat(t,\", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton .dx-buttongroup:focus, .dx-adaptive-item-text:focus\"),i=e.find(n);return this.elementIsInsideGrid(i)&&i},h._getFocusCellSelector=function(){return\".dx-row > td\"},h._updateFocusCore=function(){var e=this.component&&this.component.$element();if(e){var t=this._getFocusedElement(e);if(t&&t.length){var n;if(!t.hasClass(\"dx-cell-focus-disabled\")&&!t.hasClass(\"dx-row\")){var i=t.closest(\"\".concat(this._getFocusCellSelector(),\", .\").concat(\"dx-cell-focus-disabled\"));i.get(0)!==t.get(0)&&(n=this._needHideBorder(i),t=i)}if(t.length&&!t.hasClass(\"dx-cell-focus-disabled\"))return void this.focus(t,n)}}this.loseFocus()},h._needHideBorder=function(e){return e.hasClass(\"dx-editor-inline-block\")},h._updateFocus=function(e){var t=this,n=e&&e.event&&(0,a.default)(e.event.target).hasClass(t.addWidgetPrefix(\"focus-overlay\"));t._isFocusOverlay=t._isFocusOverlay||n,clearTimeout(t._updateFocusTimeoutID),t._updateFocusTimeoutID=setTimeout((function(){delete t._updateFocusTimeoutID,t._isFocusOverlay||t._updateFocusCore(),t._isFocusOverlay=!1}))},h._updateFocusOverlaySize=function(e,t){e.hide();var n=i.default.calculate(e,(0,s.extend)({collision:\"fit\"},t));n.h.oversize>0&&(0,u.setOuterWidth)(e,(0,u.getOuterWidth)(e)-n.h.oversize),n.v.oversize>0&&(0,u.setOuterHeight)(e,(0,u.getOuterHeight)(e)-n.v.oversize),e.show()},h.callbackNames=function(){return[\"focused\"]},h.focus=function(e,t){var n=this;if(void 0===e)return n._$focusedElement;e&&(e.is(n._$focusedElement)||n._$focusedElement&&n._$focusedElement.removeClass(\"dx-focused\"),n._$focusedElement=e,clearTimeout(n._focusTimeoutID),n._focusTimeoutID=setTimeout((function(){delete n._focusTimeoutID,n.renderFocusOverlay(e,t),e.addClass(\"dx-focused\"),n.focused.fire(e)})))},h.refocus=function(){var e=this.focus();this.focus(e)},h.renderFocusOverlay=function(e,t){if(m.default.isElementInCurrentGrid(this,e))if(this._$focusOverlay||(this._$focusOverlay=(0,a.default)(\"<div>\").addClass(this.addWidgetPrefix(\"focus-overlay\"))),t)this._$focusOverlay.addClass(\"dx-hidden\");else if(e.length){var n=r.default.mozilla?\"right bottom\":\"left top\",o=e.closest(\".\".concat(this.addWidgetPrefix(\"content\"))),s=(0,l.getBoundingRect)(e.get(0));this._$focusOverlay.removeClass(\"dx-hidden\").appendTo(o),(0,u.setOuterHeight)(this._$focusOverlay,s.bottom-s.top+1),(0,u.setOuterWidth)(this._$focusOverlay,s.right-s.left+1);var d={precise:!0,my:n,at:n,of:e,boundary:o.length&&o};this._updateFocusOverlaySize(this._$focusOverlay,d),i.default.setup(this._$focusOverlay,d),this._$focusOverlay.css(\"visibility\",\"visible\")}},h.resize=function(){var e=this._$focusedElement;e&&this.focus(e)},h.loseFocus=function(){this._$focusedElement&&this._$focusedElement.removeClass(\"dx-focused\"),this._$focusedElement=null,this._$focusOverlay&&this._$focusOverlay.addClass(\"dx-hidden\")},h.init=function(){this.createAction(\"onEditorPreparing\",{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"}),this.createAction(\"onEditorPrepared\",{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"}),this._updateFocusHandler=this._updateFocusHandler||this.createAction(this._updateFocus.bind(this)),this._subscribedContainerRoot=this._getContainerRoot(),c.default.on(this._subscribedContainerRoot,y,this._updateFocusHandler),this._attachContainerEventHandlers()},h._getContainerRoot=function(){var e,t=null===(e=this.component)||void 0===e?void 0:e.$element(),n=o.default.getRootNode(null==t?void 0:t.get(0));return n.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||n.host?n:o.default.getDocument()},h._attachContainerEventHandlers=function(){var e=this,t=e.component&&e.component.$element();t&&c.default.on(t,(0,f.addNamespace)(\"keydown\",\"dxDataGridEditorFactory\"),(function(t){\"tab\"===(0,f.normalizeKeyName)(t)&&e._updateFocusHandler(t)}))},h.dispose=function(){clearTimeout(this._focusTimeoutID),clearTimeout(this._updateFocusTimeoutID),c.default.off(this._subscribedContainerRoot,y,this._updateFocusHandler)},d}(g.default.ViewController.inherit(p.default));t.EditorFactory=b;var x={defaultOptions:function(){return{}},controllers:{editorFactory:b}};t.editorFactoryModule=x},31152:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.errorHandlingModule=void 0;var i=l(n(68374)),o=n(95479),a=n(95429),r=l(n(55994)),s=l(n(15943));function l(e){return e&&e.__esModule?e:{default:e}}var u={defaultOptions:function(){return{errorRowEnabled:!0}},controllers:{errorHandling:s.default.ViewController.inherit({init:function(){this._columnHeadersView=this.getView(\"columnHeadersView\"),this._rowsView=this.getView(\"rowsView\")},_createErrorRow:function(e,t){var n,s,l=this,u=this._renderErrorMessage(e);return t?(n=(0,i.default)(\"<tr>\").addClass(\"dx-error-row\"),s=(0,i.default)(\"<div>\").addClass(\"dx-closebutton\").addClass(l.addWidgetPrefix(\"action\")),r.default.on(s,a.name,l.createAction((function(e){var n,a=e.event,r=(0,i.default)(a.currentTarget).closest(\".\".concat(\"dx-error-row\")).index();a.stopPropagation(),(0,o.each)(t,(function(e,t){n=(0,i.default)(t).children(\"tbody\").children(\"tr\").eq(r),l.removeErrorRow(n)})),l.getController(\"resizing\")&&l.getController(\"resizing\").fireContentReadyAction()}))),(0,i.default)(\"<td>\").attr({colSpan:l.getController(\"columns\").getVisibleColumns().length,role:\"presentation\"}).prepend(s).append(u).appendTo(n),n):u},_renderErrorMessage:function(e){var t=e.url?e.message.replace(e.url,\"\"):e.message||e,n=(0,i.default)(\"<div>\").addClass(\"dx-error-message\").text(t);return e.url&&(0,i.default)(\"<a>\").attr(\"href\",e.url).text(e.url).appendTo(n),n},renderErrorRow:function(e,t,n){var a,r,s=this;if(n)return n.find(\".\".concat(\"dx-error-message\")).remove(),a=s._createErrorRow(e),n.prepend(a),a;var l=t>=0||!s._columnHeadersView.isVisible()?s._rowsView:s._columnHeadersView,u=l.getTableElements();(0,o.each)(u,(function(n,o){if(a=s._createErrorRow(e,u),r=r||a,t>=0){var d=l._getRowElements((0,i.default)(o)).eq(t);s.removeErrorRow(d.next()),a.insertAfter(d)}else{var c=(0,i.default)(o).children(\"tbody\"),h=c.children(\"tr\");s._columnHeadersView.isVisible()?(s.removeErrorRow(h.last()),(0,i.default)(o).append(a)):(s.removeErrorRow(h.first()),c.first().prepend(a))}}));var d=s.getController(\"resizing\");return d&&d.fireContentReadyAction(),r},removeErrorRow:function(e){if(!e){var t=this._columnHeadersView&&this._columnHeadersView.element();if(!(e=t&&t.find(\".\".concat(\"dx-error-row\")))||!e.length){var n=this._rowsView.element();e=n&&n.find(\".\".concat(\"dx-error-row\"))}}e&&e.hasClass(\"dx-error-row\")&&e.remove()},optionChanged:function(e){switch(e.name){case\"errorRowEnabled\":e.handled=!0;break;default:this.callBase(e)}}})},extenders:{controllers:{data:{init:function(){var e=this,t=e.getController(\"errorHandling\");e.callBase(),e.dataErrorOccurred.add((function(n,i){e.option(\"errorRowEnabled\")&&t.renderErrorRow(n,void 0,i)})),e.changed.add((function(t){if(!t||\"loadError\"!==t.changeType){var n=e.getController(\"errorHandling\"),i=e.getController(\"editing\");i&&!i.hasChanges()&&n&&n.removeErrorRow()}}))}}}}};t.errorHandlingModule=u},62690:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.filterBuilderModule=void 0;var i=d(n(68374)),o=n(13306),a=d(n(28109)),r=d(n(20301)),s=d(n(51495)),l=d(n(4741)),u=n(56756);function d(e){return e&&e.__esModule?e:{default:e}}var c={defaultOptions:function(){return{filterBuilder:{groupOperationDescriptions:{and:a.default.format(\"dxFilterBuilder-and\"),or:a.default.format(\"dxFilterBuilder-or\"),notAnd:a.default.format(\"dxFilterBuilder-notAnd\"),notOr:a.default.format(\"dxFilterBuilder-notOr\")},filterOperationDescriptions:{between:a.default.format(\"dxFilterBuilder-filterOperationBetween\"),equal:a.default.format(\"dxFilterBuilder-filterOperationEquals\"),notEqual:a.default.format(\"dxFilterBuilder-filterOperationNotEquals\"),lessThan:a.default.format(\"dxFilterBuilder-filterOperationLess\"),lessThanOrEqual:a.default.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),greaterThan:a.default.format(\"dxFilterBuilder-filterOperationGreater\"),greaterThanOrEqual:a.default.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),startsWith:a.default.format(\"dxFilterBuilder-filterOperationStartsWith\"),contains:a.default.format(\"dxFilterBuilder-filterOperationContains\"),notContains:a.default.format(\"dxFilterBuilder-filterOperationNotContains\"),endsWith:a.default.format(\"dxFilterBuilder-filterOperationEndsWith\"),isBlank:a.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),isNotBlank:a.default.format(\"dxFilterBuilder-filterOperationIsNotBlank\")}},filterBuilderPopup:{}}},views:{filterBuilderView:d(n(15943)).default.View.inherit({_renderCore:function(){this._updatePopupOptions()},_updatePopupOptions:function(){this.option(\"filterBuilderPopup.visible\")?this._initPopup():this._filterBuilderPopup&&this._filterBuilderPopup.hide()},_disposePopup:function(){this._filterBuilderPopup&&(this._filterBuilderPopup.dispose(),this._filterBuilderPopup=void 0),this._filterBuilder&&(this._filterBuilder.dispose(),this._filterBuilder=void 0)},_initPopup:function(){var e=this;e._disposePopup(),e._filterBuilderPopup=e._createComponent(e.element(),s.default,(0,o.extend)({title:a.default.format(\"dxDataGrid-filterBuilderPopupTitle\"),contentTemplate:function(t){return e._getPopupContentTemplate(t)},onOptionChanged:function(t){\"visible\"===t.name&&e.option(\"filterBuilderPopup.visible\",t.value)},toolbarItems:e._getPopupToolbarItems()},e.option(\"filterBuilderPopup\"),{onHidden:function(){(0,u.restoreFocus)(e),e._disposePopup()}}))},_getPopupContentTemplate:function(e){var t=(0,i.default)(e),n=(0,i.default)(\"<div>\").appendTo((0,i.default)(e));this._filterBuilder=this._createComponent(n,r.default,(0,o.extend)({value:this.option(\"filterValue\"),fields:this.getController(\"columns\").getFilteringColumns()},this.option(\"filterBuilder\"),{customOperations:this.getController(\"filterSync\").getCustomFilterOperations()})),this._createComponent(t,l.default,{direction:\"both\"})},_getPopupToolbarItems:function(){var e=this;return[{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:a.default.format(\"OK\"),onClick:function(){var t=e._filterBuilder.option(\"value\");e.option(\"filterValue\",t),e._filterBuilderPopup.hide()}}},{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:a.default.format(\"Cancel\"),onClick:function(){e._filterBuilderPopup.hide()}}}]},optionChanged:function(e){switch(e.name){case\"filterBuilder\":case\"filterBuilderPopup\":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}}})}};t.filterBuilderModule=c},9622:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.anyOf=function(e){return(0,a.extend)(c(e),{name:\"anyof\",icon:\"selectall\",caption:s.default.format(\"dxFilterBuilder-filterOperationAnyOf\")})},t.noneOf=function(e){var t=c(e);return(0,a.extend)({},t,{calculateFilterExpression:function(e,n,i){var o=t.calculateFilterExpression(e,n,i);return o&&0!==o.length?\"!\"===o[0]?o:[\"!\",o]:null},name:\"noneof\",icon:\"unselectall\",caption:s.default.format(\"dxFilterBuilder-filterOperationNoneOf\")})};var i=d(n(68374)),o=n(62754),a=n(13306),r=n(85273),s=d(n(28109)),l=n(59423),u=d(n(96688));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){var t=function(e,t){return t?\"\".concat(t,\"/\").concat(e):e},n=e&&e.getController(\"headerFilter\");return{dataTypes:[\"string\",\"date\",\"datetime\",\"number\",\"boolean\",\"object\"],calculateFilterExpression:function(e,t,n){var i=[],o=e.length-1;return e&&e.forEach((function(e,a){if((0,l.isCondition)(e)||(0,l.isGroup)(e)){var r=(0,l.getFilterExpression)(e,n,[],\"headerFilter\");i.push(r)}else{var s=(0,l.getFilterExpression)([t.dataField,\"=\",e],n,[],\"headerFilter\");i.push(s)}a!==o&&i.push(\"or\")})),1===i.length?i[0]:i},editorTemplate:function(t,o){var r=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-item-value-text\").appendTo(o),s=(0,a.extend)(!0,{},e.columnOption(t.field.dataField));(0,l.renderValueText)(r,t.text&&t.text.split(\"|\"));return s.filterType=\"include\",s.filterValues=t.value?t.value.slice():[],n.showHeaderFilterMenuBase({columnElement:r,column:s,apply:function(){var e;e=this.filterValues,t.setValue(e),n.hideHeaderFilterMenu(),t.closeEditor()},onHidden:function(){t.closeEditor()},isFilterBuilder:!0}),o},customizeText:function(i,s){s=s||{};var l=i.value,d=e.columnOption(i.field.dataField),c=d&&d.headerFilter,h=d&&d.lookup,f=s.values||[l];if(c&&c.dataSource||h&&h.dataSource){var p=new o.Deferred,g=s.items||new o.Deferred;if(!s.items){d=(0,a.extend)({},d,{filterType:\"include\",filterValues:f});var m=n.getDataSource(d);m.paginate=!1;var _=new r.DataSource(m),v=_.store().key();if(v){var y=s.values;if(y&&y.length>1){var b=y.reduce((function(e,t){return e.length&&e.push(\"or\"),e.push([v,\"=\",t]),e}),[]);_.filter(b)}else _.filter([v,\"=\",i.value])}else i.field.calculateDisplayValue&&u.default.log(\"W1017\");s.items=g,_.load().done(g.resolve)}return g.done((function(e){var n=f.indexOf(i.value);p.resolve(function e(n,i){var o=[];return n.forEach((function(n){if(n.items){var a=e(n.items,t(n.text,i));o=o.concat(a)}n.selected&&o.push(t(n.text,i))})),o}(e,null)[n])})),p}return n.getHeaderItemText(l,d,0,e.option(\"headerFilter\"))}}}},4062:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.filterPanelModule=void 0;var i=p(n(68374)),o=n(62754),a=n(78008),r=n(35922),s=p(n(55994)),l=p(n(28109)),u=p(n(18859)),d=n(59423),c=n(9130),h=p(n(15943)),f=p(n(60082));function p(e){return e&&e.__esModule?e:{default:e}}var g=\"\".concat(\"filter-panel\",\"-text\"),m=\"\".concat(\"filter-panel\",\"-checkbox\"),_=\"\".concat(\"filter-panel\",\"-clear-filter\"),v=\"\".concat(\"filter-panel\",\"-left\"),y={defaultOptions:function(){return{filterPanel:{visible:!1,filterEnabled:!0,texts:{createFilter:l.default.format(\"dxDataGrid-filterPanelCreateFilter\"),clearFilter:l.default.format(\"dxDataGrid-filterPanelClearFilter\"),filterEnabledHint:l.default.format(\"dxDataGrid-filterPanelFilterEnabledHint\")}}}},views:{filterPanelView:h.default.View.inherit({isVisible:function(){return this.option(\"filterPanel.visible\")&&this.getController(\"data\").dataSource()},init:function(){var e=this;this.getController(\"data\").dataSourceChanged.add((function(){return e.render()})),this._columnsController=this.getController(\"columns\")},_renderCore:function(){var e=this.element();if(e.empty(),!!this._columnsController.getColumns().length){e.addClass(this.addWidgetPrefix(\"filter-panel\"));var t=(0,i.default)(\"<div>\").addClass(this.addWidgetPrefix(v)).appendTo(e);this._renderFilterBuilderText(e,t)}},_renderFilterBuilderText:function(e,t){var n=this._getFilterElement(),i=this._getTextElement();if(this.option(\"filterValue\")||this._filterValueBuffer){var o=this._getCheckElement(),a=this._getRemoveButtonElement();return t.append(o).append(n).append(i),void e.append(a)}t.append(n).append(i)},_getCheckElement:function(){var e=this,t=(0,i.default)(\"<div>\").addClass(this.addWidgetPrefix(m));return e._createComponent(t,u.default,{value:e.option(\"filterPanel.filterEnabled\"),onValueChanged:function(t){e.option(\"filterPanel.filterEnabled\",t.value)}}),t.attr(\"title\",this.option(\"filterPanel.texts.filterEnabledHint\")),t},_getFilterElement:function(){var e=this,t=(0,i.default)(\"<div>\").addClass(\"dx-icon-filter\");return s.default.on(t,\"click\",(function(){return e._showFilterBuilder()})),(0,c.registerKeyboardAction)(\"filterPanel\",e,t,void 0,(function(){return e._showFilterBuilder()})),e._addTabIndexToElement(t),t},_getTextElement:function(){var e,t=this,n=(0,i.default)(\"<div>\").addClass(t.addWidgetPrefix(g)),a=t.option(\"filterValue\");return a?(0,o.when)(t.getFilterText(a,t.getController(\"filterSync\").getCustomFilterOperations())).done((function(e){var i=t.option(\"filterPanel.customizeText\");if(i){var o=i({component:t.component,filterValue:a,text:e});\"string\"==typeof o&&(e=o)}n.text(e)})):(e=t.option(\"filterPanel.texts.createFilter\"),n.text(e)),s.default.on(n,\"click\",(function(){return t._showFilterBuilder()})),(0,c.registerKeyboardAction)(\"filterPanel\",t,n,void 0,(function(){return t._showFilterBuilder()})),t._addTabIndexToElement(n),n},_showFilterBuilder:function(){this.option(\"filterBuilderPopup.visible\",!0)},_getRemoveButtonElement:function(){var e=this,t=function(){return e.option(\"filterValue\",null)},n=(0,i.default)(\"<div>\").addClass(e.addWidgetPrefix(_)).text(e.option(\"filterPanel.texts.clearFilter\"));return s.default.on(n,\"click\",t),(0,c.registerKeyboardAction)(\"filterPanel\",this,n,void 0,t),e._addTabIndexToElement(n),n},_addTabIndexToElement:function(e){if(!this.option(\"useLegacyKeyboardNavigation\")){var t=this.option(\"tabindex\")||0;e.attr(\"tabindex\",t)}},optionChanged:function(e){switch(e.name){case\"filterValue\":this._invalidate(),this.option(\"filterPanel.filterEnabled\",!0),e.handled=!0;break;case\"filterPanel\":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}},_getConditionText:function(e,t,n){var i=\"[\".concat(e,\"] \").concat(t);return(0,r.isDefined)(n)&&(i+=n),i},_getValueMaskedText:function(e){return Array.isArray(e)?\"('\".concat(e.join(\"', '\"),\"')\"):\" '\".concat(e,\"'\")},_getValueText:function(e,t,n){var i=this,a=new o.Deferred,s=t&&t.customizeText;if((0,r.isDefined)(n)||s)if(!s&&e.lookup)(0,d.getCurrentLookupValueText)(e,n,(function(e){a.resolve(i._getValueMaskedText(e))}));else{var l=Array.isArray(n)?n:f.default.getDisplayValue(e,n,null);(0,o.when)((0,d.getCurrentValueText)(e,l,t,\"filterPanel\")).done((function(e){a.resolve(i._getValueMaskedText(e))}))}else a.resolve(\"\");return a.promise()},getConditionText:function(e,t){var n,i=this,r=e[1],s=new o.Deferred,l=(0,d.getCustomOperation)(t.customOperations,r),u=(0,d.getField)(e[0],t.columns),c=u.caption||\"\",h=e[2];return n=l?l.caption||(0,a.captionize)(l.name):null===h?(0,d.getCaptionByOperation)(\"=\"===r?\"isblank\":\"isnotblank\",t.filterOperationDescriptions):(0,d.getCaptionByOperation)(r,t.filterOperationDescriptions),this._getValueText(u,l,h).done((function(e){s.resolve(i._getConditionText(c,n,e))})),s},getGroupText:function(e,t,n){var i=this,a=new o.Deferred,r=[],s=(0,d.getGroupValue)(e);return e.forEach((function(e){(0,d.isCondition)(e)?r.push(i.getConditionText(e,t)):(0,d.isGroup)(e)&&r.push(i.getGroupText(e,t,!0))})),o.when.apply(this,r).done((function(){for(var e,i=arguments.length,o=new Array(i),r=0;r<i;r++)o[r]=arguments[r];if(s.startsWith(\"!\")){var l=t.groupOperationDescriptions[\"not\".concat(s.substring(1,2).toUpperCase()).concat(s.substring(2))].split(\" \");e=\"\".concat(l[0],\" \").concat(o[0])}else e=o.join(\" \".concat(t.groupOperationDescriptions[s],\" \"));n&&(e=\"(\".concat(e,\")\")),a.resolve(e)})),a},getFilterText:function(e,t){var n={customOperations:t,columns:this.getController(\"columns\").getFilteringColumns(),filterOperationDescriptions:this.option(\"filterBuilder.filterOperationDescriptions\"),groupOperationDescriptions:this.option(\"filterBuilder.groupOperationDescriptions\")};return(0,d.isCondition)(e)?this.getConditionText(e,n):this.getGroupText(e,n)}})},extenders:{controllers:{data:{optionChanged:function(e){switch(e.name){case\"filterPanel\":this._applyFilter(),e.handled=!0;break;default:this.callBase(e)}}}}}};t.filterPanelModule=y},12302:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.filterRowModule=void 0;var i=v(n(68374)),o=n(20576),a=n(13306),r=n(95479),s=n(58664),l=n(35922),u=v(n(55994)),d=n(39611),c=v(n(28109)),h=v(n(96452)),f=v(n(76995)),p=v(n(89799)),g=n(56756),m=v(n(15943)),_=v(n(60082));function v(e){return e&&e.__esModule?e:{default:e}}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var b={\"=\":\"filter-operation-equals\",\"<>\":\"filter-operation-not-equals\",\"<\":\"filter-operation-less\",\"<=\":\"filter-operation-less-equal\",\">\":\"filter-operation-greater\",\">=\":\"filter-operation-greater-equal\",default:\"filter-operation-default\",notcontains:\"filter-operation-not-contains\",contains:\"filter-operation-contains\",startswith:\"filter-operation-starts-with\",endswith:\"filter-operation-ends-with\",between:\"filter-operation-between\"},x={\"=\":\"equal\",\"<>\":\"notEqual\",\"<\":\"lessThan\",\"<=\":\"lessThanOrEqual\",\">\":\"greaterThan\",\">=\":\"greaterThanOrEqual\",startswith:\"startsWith\",contains:\"contains\",notcontains:\"notContains\",endswith:\"endsWith\",between:\"between\"},w=[\"date\",\"datetime\",\"number\"],C=c.default.format(\"dxDataGrid-ariaSearchBox\");function S(e){return\"onClick\"===e.option(\"filterRow.applyFilter\")}var k=function(e){var t=e&&e.children(),n=t&&t.data(\"dxComponents\"),i=n&&n.length&&t.data(n[0]);return i instanceof h.default?i:null},D=function(){var e=function(e,n){var i=\"\",o=\"\",a=t(e,n),r=_.default.getFormatOptionsByColumn(n,\"filterRow\");return Array.isArray(a)?(i=_.default.formatValue(a[0],r),\"\"!==(o=_.default.formatValue(a[1],r))&&(i+=\" - \".concat(o))):(0,l.isDefined)(a)&&(i=_.default.formatValue(a,r)),i};function t(e,t){if(t)return S(e)&&void 0!==t.bufferedFilterValue?t.bufferedFilterValue:t.filterValue}var n=function(e,t){if(t)return S(e)&&void 0!==t.bufferedSelectedFilterOperation?t.bufferedSelectedFilterOperation:t.selectedFilterOperation},h=function(e,i,o){var a=e._columnsController.columnOption(i),r=t(e,a),s=o.closest(\".\".concat(e.addWidgetPrefix(\"filter-range-overlay\"))).length,l=o.hasClass(e.addWidgetPrefix(\"filter-range-start\"));return r&&Array.isArray(r)&&\"between\"===n(e,a)?l?r[0]:r[1]:!s&&function(e,t){return!(t&&w.includes(t.dataType)&&Array.isArray(e))&&void 0!==e}(r,a)?r:null},m=function(e,i){var o=\"\"===i.value?null:i.value,a=i.container,r=e._columnsController.columnOption(i.column.index),s=h(e,r.index,a);if((0,l.isDefined)(s)||(0,l.isDefined)(o)){e._applyFilterViewController.setHighLight(a,s!==o);var u=S(e)?\"bufferedFilterValue\":\"filterValue\",d=function(e,i,o,a){if(\"between\"===n(e,o)){var r=t(e,o);return a.hasClass(e.addWidgetPrefix(\"filter-range-start\"))?[i,Array.isArray(r)?r[1]:void 0]:[Array.isArray(r)?r[0]:r,i]}return i}(e,o,r,a),c=\"between\"===n(e,r),f=i.notFireEvent||c&&Array.isArray(d)&&d.includes(void 0);e._columnsController.columnOption(r.index,u,d,f)}};return{_updateEditorValue:function(e,t){var n=k(t);n&&n.option(\"value\",h(this,e.index,t))},_columnOptionChanged:function(t){var o,a,r,s,l=t.optionNames;if(_.default.checkChanges(l,[\"filterValue\",\"bufferedFilterValue\",\"selectedFilterOperation\",\"bufferedSelectedFilterOperation\",\"filterValues\",\"filterType\"])&&void 0!==t.columnIndex){var u=this._columnsController.getVisibleIndex(t.columnIndex),d=this._columnsController.columnOption(t.columnIndex);if(a=(o=this._getCellElement(this.element().find(\".\".concat(this.addWidgetPrefix(\"filter-row\"))).index(),u)||(0,i.default)()).find(\".\".concat(\"dx-editor-container\")).first(),l.filterValue||l.bufferedFilterValue){this._updateEditorValue(d,a);var c=o.find(\".\".concat(this.addWidgetPrefix(\"filter-range-overlay\"))).data(\"dxOverlay\");c&&(r=c.$content().find(\".\".concat(\"dx-editor-container\")),this._updateEditorValue(d,r.first()),this._updateEditorValue(d,r.last())),c&&c.option(\"visible\")||this._updateFilterRangeContent(o,e(this,d))}(l.selectedFilterOperation||l.bufferedSelectedFilterOperation)&&u>=0&&d&&(s=o.find(\".\".concat(\"dx-menu\"))).length&&(this._updateFilterOperationChooser(s,d,a),\"between\"===n(this,d)?this._renderFilterRangeContent(o,d):a.find(\".\".concat(\"dx-filter-range-content\")).length&&(this._renderEditor(a,this._getEditorOptions(a,d)),this._hideFilterRange()))}else this.callBase(t)},_renderCore:function(){return this._filterRangeOverlayInstance=null,this.callBase.apply(this,arguments)},_resizeCore:function(){this.callBase.apply(this,arguments),this._filterRangeOverlayInstance&&this._filterRangeOverlayInstance.repaint()},isFilterRowVisible:function(){return this._isElementVisible(this.option(\"filterRow\"))},isVisible:function(){return this.callBase()||this.isFilterRowVisible()},init:function(){this.callBase(),this._applyFilterViewController=this.getController(\"applyFilter\")},_initFilterRangeOverlay:function(t,o){var a=this,r={},s=t.find(\".dx-editor-container\"),l=a.addWidgetPrefix(\"filter-range-overlay\"),c=(0,i.default)(\"<div>\").addClass(l).appendTo(t);return a._createComponent(c,p.default,{height:\"auto\",shading:!1,showTitle:!1,focusStateEnabled:!1,hideOnOutsideClick:!0,wrapperAttr:{class:l},animation:!1,position:{my:\"top\",at:\"top\",of:s.length&&s||t,offset:\"0 -1\"},contentTemplate:function(e){var n,s=(0,i.default)(\"<div>\").addClass(\"\".concat(\"dx-editor-container\",\" \").concat(a.addWidgetPrefix(\"filter-range-start\"))).appendTo(e);return o=a._columnsController.columnOption(o.index),(n=a._getEditorOptions(s,o)).sharedData=r,a._renderEditor(s,n),u.default.on(s.find(\"input:not([type='hidden'])\"),\"keydown\",(function(e){var n=t.find(\"[tabindex]\").not(e.target).first();\"tab\"===(0,d.normalizeKeyName)(e)&&e.shiftKey&&(e.preventDefault(),a._hideFilterRange(),n.length||(n=t.prev().find(\"[tabindex]\").last()),u.default.trigger(n,\"focus\"))})),s=(0,i.default)(\"<div>\").addClass(\"\".concat(\"dx-editor-container\",\" \").concat(a.addWidgetPrefix(\"filter-range-end\"))).appendTo(e),(n=a._getEditorOptions(s,o)).sharedData=r,a._renderEditor(s,n),u.default.on(s.find(\"input:not([type='hidden'])\"),\"keydown\",(function(e){\"tab\"!==(0,d.normalizeKeyName)(e)||e.shiftKey||(e.preventDefault(),a._hideFilterRange(),u.default.trigger(t.next().find(\"[tabindex]\").first(),\"focus\"))})),(0,i.default)(e).addClass(a.getWidgetContainerClass())},onShown:function(e){var t=e.component.$content().find(\".\".concat(\"dx-editor-container\")).first();u.default.trigger(t.find(\"input:not([type='hidden'])\"),\"focus\")},onHidden:function(){o=a._columnsController.columnOption(o.index),t.find(\".\".concat(\"dx-menu\")).parent().addClass(\"dx-editor-with-menu\"),\"between\"===n(a,o)&&(a._updateFilterRangeContent(t,e(a,o)),a.component.updateDimensions())}})},_updateFilterRangeOverlay:function(e){var t=this._filterRangeOverlayInstance;t&&t.option(e)},_showFilterRange:function(e,t){var n=e.children(\".\".concat(this.addWidgetPrefix(\"filter-range-overlay\"))),i=n.length&&n.data(\"dxOverlay\");!i&&t&&(i=this._initFilterRangeOverlay(e,t)),i.option(\"visible\")||(this._filterRangeOverlayInstance&&this._filterRangeOverlayInstance.hide(),this._filterRangeOverlayInstance=i,this._updateFilterRangeOverlay({width:(0,s.getOuterWidth)(e,!0)+1}),this._filterRangeOverlayInstance&&this._filterRangeOverlayInstance.show())},_hideFilterRange:function(){var e=this._filterRangeOverlayInstance;e&&e.hide()},getFilterRangeOverlayInstance:function(){return this._filterRangeOverlayInstance},_createRow:function(e){var t=this,n=this.callBase(e);return\"filter\"===e.rowType&&(n.addClass(this.addWidgetPrefix(\"filter-row\")),this.option(\"useLegacyKeyboardNavigation\")||u.default.on(n,\"keydown\",(function(e){return(0,g.selectView)(\"filterRow\",t,e)}))),n},_getRows:function(){var e=this.callBase();return this.isFilterRowVisible()&&e.push({rowType:\"filter\"}),e},_renderFilterCell:function(e,t){var o=t.column,a=(0,i.default)(e);this.component.option(\"showColumnHeaders\")&&this.setAria(\"describedby\",o.headerId,a),this.setAria(\"label\",c.default.format(\"dxDataGrid-ariaFilterCell\"),a),a.addClass(\"dx-editor-cell\");var r=(0,i.default)(\"<div>\").appendTo(a),s=(0,i.default)(\"<div>\").addClass(\"dx-editor-container\").appendTo(r);if(\"between\"===n(this,o))this._renderFilterRangeContent(a,o);else{var l=this._getEditorOptions(s,o);this._renderEditor(s,l)}var u=o.alignment;u&&\"center\"!==u&&a.find(\"input:not([type='hidden'])\").first().css(\"textAlign\",o.alignment),o.filterOperations&&o.filterOperations.length&&this._renderFilterOperationChooser(r,o,s)},_renderCellContent:function(e,t){var n=this,i=t.column;if(\"filter\"===t.rowType)if(i.command)e.html(\"&nbsp;\");else if(i.allowFiltering)return void n.renderTemplate(e,n._renderFilterCell.bind(n),t).done((function(){n._updateCell(e,t)}));this.callBase.apply(this,arguments)},_getEditorOptions:function(e,t){var i=this,o={editorOptions:{inputAttr:i._getFilterInputAccessibilityAttributes(t)}},r=(0,a.extend)(o,t,{value:h(i,t.index,e),parentType:\"filterRow\",showAllText:i.option(\"filterRow.showAllText\"),updateValueTimeout:\"onClick\"===i.option(\"filterRow.applyFilter\")?0:700,width:null,setValue:function(n,o){m(i,{column:t,value:n,container:e,notFireEvent:o})}});return\"between\"===n(i,t)&&(e.hasClass(i.addWidgetPrefix(\"filter-range-start\"))?r.placeholder=i.option(\"filterRow.betweenStartText\"):r.placeholder=i.option(\"filterRow.betweenEndText\")),r},_getFilterInputAccessibilityAttributes:function(e){var t=c.default.format(\"dxDataGrid-ariaFilterCell\");return this.component.option(\"showColumnHeaders\")?{\"aria-label\":t,\"aria-describedby\":e.headerId}:{\"aria-label\":t}},_renderEditor:function(e,t){e.empty();var n=(0,i.default)(\"<div>\").appendTo(e),o=this.getController(\"editorFactory\"),a=this.getController(\"data\").dataSource(),r=this.getController(\"applyFilter\");if(t.lookup&&this.option(\"syncLookupFilterValues\")){r.setCurrentColumnForFiltering(t);var s=this.getController(\"data\").getCombinedFilter();r.setCurrentColumnForFiltering(null);var l=_.default.getWrappedLookupDataSource(t,a,s),u=y(y({},t),{lookup:y(y({},t.lookup),{dataSource:l})});return o.createEditor(n,u)}return o.createEditor(n,t)},_renderFilterRangeContent:function(t,n){var o=this,a=t.find(\".\".concat(\"dx-editor-container\")).first();a.empty();var r=(0,i.default)(\"<div>\").addClass(\"dx-filter-range-content\").attr(\"tabindex\",this.option(\"tabIndex\"));u.default.on(r,\"focusin\",(function(){o._showFilterRange(t,n)})),r.appendTo(a),o._updateFilterRangeContent(t,e(o,n))},_updateFilterRangeContent:function(e,t){var n=e.find(\".\".concat(\"dx-filter-range-content\"));n.length&&(\"\"===t?n.html(\"&nbsp;\"):n.text(t))},_updateFilterOperationChooser:function(e,t,o){var a,r=this,s=this,l=function(){var t=f.default.getInstance(e);t&&t.option(\"focusedElement\",null),a&&s._focusEditor(o)};s._createComponent(e,f.default,{integrationOptions:{},activeStateEnabled:!1,selectionMode:\"single\",cssClass:\"\".concat(s.getWidgetContainerClass(),\" \").concat(\"dx-cell-focus-disabled\",\" \").concat(\"dx-filter-menu\"),showFirstSubmenuMode:\"onHover\",hideSubmenuOnMouseLeave:!0,items:[{disabled:!(t.filterOperations&&t.filterOperations.length),icon:b[n(s,t)||\"default\"],selectable:!1,items:s._getFilterOperationMenuItems(t)}],onItemRendered:function(e){var t=e.itemElement;r.setAria(\"label\",C,(0,i.default)(t))},onItemClick:function(e){var i=e.itemData.name,a=n(s,t),r=!1,l=S(s),u={};if(!(e.itemData.items||i&&i===a)){if(i?(u[l?\"bufferedSelectedFilterOperation\":\"selectedFilterOperation\"]=i,\"between\"!==i&&\"between\"!==a||(r=\"between\"===i,u[l?\"bufferedFilterValue\":\"filterValue\"]=null)):(u[l?\"bufferedFilterValue\":\"filterValue\"]=null,u[l?\"bufferedSelectedFilterOperation\":\"selectedFilterOperation\"]=t.defaultSelectedFilterOperation||null),s._columnsController.columnOption(t.index,u),s._applyFilterViewController.setHighLight(o,!0),!i){var d=k(o);d&&\"dxDateBox\"===d.NAME&&!d.option(\"isValid\")&&(d.reset(),d.option(\"isValid\",!0))}r?s._showFilterRange(o.closest(\".\".concat(\"dx-editor-cell\")),t):s._focusEditor(o)}},onSubmenuShowing:function(){a=s._isEditorFocused(o),s.getController(\"editorFactory\").loseFocus()},onSubmenuHiding:function(){u.default.trigger(e,\"blur\"),l()},onContentReady:function(t){u.default.on(e,\"blur\",(function(){t.component._hideSubmenuAfterTimeout(),l()}))},rtlEnabled:s.option(\"rtlEnabled\")})},_isEditorFocused:function(e){return e.hasClass(\"dx-focused\")||e.parents(\".\".concat(\"dx-focused\")).length},_focusEditor:function(e){this.getController(\"editorFactory\").focus(e),u.default.trigger(e.find(\"input:not([type='hidden'])\"),\"focus\")},_renderFilterOperationChooser:function(e,t,n){var o;this.option(\"filterRow.showOperationChooser\")&&(e.addClass(\"dx-editor-with-menu\"),o=(0,i.default)(\"<div>\").prependTo(e),this._updateFilterOperationChooser(o,t,n))},_getFilterOperationMenuItems:function(e){var t=this,i=[{}],o=t.option(\"filterRow\"),a=o&&o.operationDescriptions||{};if(e.filterOperations&&e.filterOperations.length){var s=e.filterOperations.filter((function(e){return(0,l.isDefined)(x[e])}));(i=(0,r.map)(s,(function(i){var o=x[i];return{name:i,selected:(n(t,e)||e.defaultFilterOperation)===i,text:a[o],icon:b[i]}}))).push({name:null,text:o&&o.resetOperationText,icon:b.default})}return i},_handleDataChanged:function(e){var t,n,i;this.callBase.apply(this,arguments),((null===(t=e.operationTypes)||void 0===t?void 0:t.filtering)||(null===(n=e.operationTypes)||void 0===n?void 0:n.fullReload))&&this.updateLookupDataSource(null===(i=e.operationTypes)||void 0===i?void 0:i.filtering)},updateLookupDataSource:function(e){var t=this;if(this.option(\"syncLookupFilterValues\")&&this.element()){var n=this._columnsController.getVisibleColumns(),i=this._dataController.dataSource(),a=this._applyFilterViewController,r=this.element().find(\".\".concat(this.addWidgetPrefix(\"filter-row\"))).index();-1!==r&&n.forEach((function(n,s){if(n.lookup&&n.calculateCellValue===n.defaultCalculateCellValue){var l=t._getCellElement(r,s),u=k(null==l?void 0:l.find(\".dx-editor-container\"));if(u){a.setCurrentColumnForFiltering(n);var d=t._dataController.getCombinedFilter()||null;a.setCurrentColumnForFiltering(null);var c=u.option(\"dataSource\");if(!e||!(0,o.equalByValue)(c.__dataGridSourceFilter,d)){var h=_.default.getWrappedLookupDataSource(n,i,d);u.option(\"dataSource\",h)}}}}))}},optionChanged:function(e){switch(e.name){case\"filterRow\":case\"showColumnLines\":this._invalidate(!0,!0),e.handled=!0;break;case\"syncLookupFilterValues\":e.value?this.updateLookupDataSource():this.render(),e.handled=!0;break;default:this.callBase(e)}}}}(),I={skipCalculateColumnFilters:function(){return!1},_calculateAdditionalFilter:function(){if(this.skipCalculateColumnFilters())return this.callBase();var e=[this.callBase()],t=this._columnsController.getVisibleColumns(null,!0),n=this.getController(\"applyFilter\");return(0,r.each)(t,(function(){var t,i=(null===(t=n.getCurrentColumnForFiltering())||void 0===t?void 0:t.index)===this.index;if(this.allowFiltering&&this.calculateFilterExpression&&(0,l.isDefined)(this.filterValue)&&!i){var o=this.createFilterExpression(this.filterValue,this.selectedFilterOperation||this.defaultFilterOperation,\"filterRow\");e.push(o)}})),_.default.combineFilters(e)}},T={defaultOptions:function(){return{syncLookupFilterValues:!0,filterRow:{visible:!1,showOperationChooser:!0,showAllText:c.default.format(\"dxDataGrid-filterRowShowAllText\"),resetOperationText:c.default.format(\"dxDataGrid-filterRowResetOperationText\"),applyFilter:\"auto\",applyFilterText:c.default.format(\"dxDataGrid-applyFilterText\"),operationDescriptions:{equal:c.default.format(\"dxDataGrid-filterRowOperationEquals\"),notEqual:c.default.format(\"dxDataGrid-filterRowOperationNotEquals\"),lessThan:c.default.format(\"dxDataGrid-filterRowOperationLess\"),lessThanOrEqual:c.default.format(\"dxDataGrid-filterRowOperationLessOrEquals\"),greaterThan:c.default.format(\"dxDataGrid-filterRowOperationGreater\"),greaterThanOrEqual:c.default.format(\"dxDataGrid-filterRowOperationGreaterOrEquals\"),startsWith:c.default.format(\"dxDataGrid-filterRowOperationStartsWith\"),contains:c.default.format(\"dxDataGrid-filterRowOperationContains\"),notContains:c.default.format(\"dxDataGrid-filterRowOperationNotContains\"),endsWith:c.default.format(\"dxDataGrid-filterRowOperationEndsWith\"),between:c.default.format(\"dxDataGrid-filterRowOperationBetween\"),isBlank:c.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),isNotBlank:c.default.format(\"dxFilterBuilder-filterOperationIsNotBlank\")},betweenStartText:c.default.format(\"dxDataGrid-filterRowOperationBetweenStartText\"),betweenEndText:c.default.format(\"dxDataGrid-filterRowOperationBetweenEndText\")}}},controllers:{applyFilter:m.default.ViewController.inherit({_getHeaderPanel:function(){return this._headerPanel||(this._headerPanel=this.getView(\"headerPanel\")),this._headerPanel},setHighLight:function(e,t){S(this)&&(e&&e.toggleClass(\"dx-highlight-outline\",t)&&e.closest(\".\".concat(\"dx-editor-cell\")).toggleClass(\"dx-filter-modified\",t),this._getHeaderPanel().enableApplyButton(t))},applyFilter:function(){var e=this.getController(\"columns\"),t=e.getColumns();e.beginUpdate();for(var n=0;n<t.length;n++){var i=t[n];void 0!==i.bufferedFilterValue&&(e.columnOption(n,\"filterValue\",i.bufferedFilterValue),i.bufferedFilterValue=void 0),void 0!==i.bufferedSelectedFilterOperation&&(e.columnOption(n,\"selectedFilterOperation\",i.bufferedSelectedFilterOperation),i.bufferedSelectedFilterOperation=void 0)}e.endUpdate(),this.removeHighLights()},removeHighLights:function(){if(S(this)){var e=this.getView(\"columnHeadersView\").element();e.find(\".\".concat(this.addWidgetPrefix(\"filter-row\"),\" .\").concat(\"dx-highlight-outline\")).removeClass(\"dx-highlight-outline\"),e.find(\".\".concat(this.addWidgetPrefix(\"filter-row\"),\" .\").concat(\"dx-filter-modified\")).removeClass(\"dx-filter-modified\"),this._getHeaderPanel().enableApplyButton(!1)}},setCurrentColumnForFiltering:function(e){this._currentColumn=e},getCurrentColumnForFiltering:function(){return this._currentColumn}})},extenders:{controllers:{data:I,columnsResizer:{_startResizing:function(){var e=this;if(e.callBase.apply(e,arguments),e.isResizing()){var t=e._columnHeadersView.getFilterRangeOverlayInstance();if(t){var n=t.$element().closest(\"td\").index();n!==e._targetPoint.columnIndex&&n!==e._targetPoint.columnIndex+1||t.$content().hide()}}},_endResizing:function(){var e,t=this;if(t.isResizing()){var n=t._columnHeadersView.getFilterRangeOverlayInstance();n&&(e=n.$element().closest(\"td\"),t._columnHeadersView._updateFilterRangeOverlay({width:(0,s.getOuterWidth)(e,!0)+1}),n.$content().show())}t.callBase.apply(t,arguments)}},editing:{updateFieldValue:function(e){return e.column.lookup&&(this._needUpdateLookupDataSource=!0),this.callBase.apply(this,arguments)},_afterSaveEditData:function(e){var t;return this._needUpdateLookupDataSource&&!e&&(null===(t=this.getView(\"columnHeadersView\"))||void 0===t||t.updateLookupDataSource()),this._needUpdateLookupDataSource=!1,this.callBase.apply(this,arguments)},_afterCancelEditData:function(){return this._needUpdateLookupDataSource=!1,this.callBase.apply(this,arguments)}}},views:{columnHeadersView:D,headerPanel:{_getToolbarItems:function(){var e=this.callBase();return this._prepareFilterItem(e).concat(e)},_prepareFilterItem:function(){var e=this,t=[];if(e._isShowApplyFilterButton()){var n=e.option(\"filterRow.applyFilterText\"),o={widget:\"dxButton\",options:{icon:\"apply-filter\",disabled:!e._columnsController.getColumns().filter((function(e){return void 0!==e.bufferedFilterValue})).length,onClick:function(){e._applyFilterViewController.applyFilter()},hint:n,text:n,onInitialized:function(t){(0,i.default)(t.element).addClass(e._getToolbarButtonClass(\"dx-apply-button\"))}},showText:\"inMenu\",name:\"applyFilterButton\",location:\"after\",locateInMenu:\"auto\",sortIndex:10};t.push(o)}return t},_isShowApplyFilterButton:function(){var e=this.option(\"filterRow\");return e&&e.visible&&\"onClick\"===e.applyFilter},init:function(){this.callBase(),this._dataController=this.getController(\"data\"),this._applyFilterViewController=this.getController(\"applyFilter\")},enableApplyButton:function(e){this.setToolbarItemDisabled(\"applyFilterButton\",!e)},isVisible:function(){return this.callBase()||this._isShowApplyFilterButton()},optionChanged:function(e){\"filterRow\"===e.name?(this._invalidate(),e.handled=!0):this.callBase(e)}}}}};t.filterRowModule=T},14407:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.filterSyncModule=void 0;var i=n(35922),o=n(59423),a=d(n(18740)),r=d(n(96688)),s=d(n(15943)),l=d(n(60082)),u=n(9622);function d(e){return e&&e.__esModule?e:{default:e}}var c=[\"=\",\"<>\",\"<\",\"<=\",\">\",\">=\",\"notcontains\",\"contains\",\"startswith\",\"endswith\",\"between\"];function h(e){return e.name||e.dataField}var f,p,g,m,_,v={defaultOptions:function(){return{filterValue:null,filterSyncEnabled:\"auto\"}},controllers:{filterSync:s.default.Controller.inherit((f=function(e){var t=e.filterValues||[];return!a.default.getGroupInterval(e)&&!(e.headerFilter&&e.headerFilter.dataSource)||1===t.length&&null===t[0]},p=function(e){var t=e.filterValue;if((0,i.isDefined)(t)){var n=e.selectedFilterOperation||e.defaultFilterOperation||(0,o.getDefaultOperation)(e);return[h(e),n,e.filterValue]}return null},g=function(e){var t,n,i=e.filterValues;return i?(1===i.length&&f(e)&&!Array.isArray(i[0])?(t=\"exclude\"===e.filterType?\"<>\":\"=\",n=i[0]):(t=\"exclude\"===e.filterType?\"noneof\":\"anyof\",n=i),[h(e),t,n]):null},m=function(e,t,n){var i=function(e,t){if(!e)return{filterType:\"include\",filterValues:void 0};var n,i=e[1],o=e[2],a=Array.isArray(o);if(!a&&!f(t))return{filterType:\"include\",filterValues:void 0};switch(i){case\"anyof\":case\"=\":n=\"include\";break;case\"noneof\":case\"<>\":n=\"exclude\";break;default:return{filterType:\"include\",filterValues:void 0}}return{filterType:n,filterValues:a?o:[o]}}(n,t);e.columnOption(h(t),i)},_=function(e,t,n){var o,a=null==n?void 0:n[1],r=null==n?void 0:n[2],s=t.filterOperations||t.defaultFilterOperations;(!s||s.indexOf(a)>=0||a===t.defaultFilterOperation)&&c.includes(a)&&null!==r?(a!==t.defaultFilterOperation||(0,i.isDefined)(t.selectedFilterOperation)||(a=t.selectedFilterOperation),o={filterValue:r,selectedFilterOperation:a}):o={filterValue:void 0,selectedFilterOperation:void 0},e.columnOption(h(t),o)},{syncFilterValue:function(){var e=this,t=e.getController(\"columns\"),n=t.getFilteringColumns();this._skipSyncColumnOptions=!0,n.forEach((function(n){var a=(0,o.getMatchedConditions)(e.option(\"filterValue\"),h(n));if(1===a.length){var r=a[0];m(t,n,r),_(t,n,r)}else(0,i.isDefined)(n.filterValues)&&m(t,n,null),(0,i.isDefined)(n.filterValue)&&_(t,n,null)})),this._skipSyncColumnOptions=!1},_initSync:function(){var e=this.getController(\"columns\").getColumns(),t=this.getController(\"data\"),n=t.pageIndex();if(function(e){e.forEach((function(e){var t=h(e);if(!(0,i.isDefined)(t)&&e.allowFiltering)throw new r.default.Error(\"E1049\",e.caption)}))}(e),!this.option(\"filterValue\")){var o=this.getController(\"columns\").getFilteringColumns(),a=this.getFilterValueFromColumns(o);this.option(\"filterValue\",a)}this.syncFilterValue(),t.pageIndex(n)},init:function(){var e=this,t=this.getController(\"data\");t.isFilterSyncActive()&&(this.getController(\"columns\").isAllDataTypesDefined()?this._initSync():t.dataSourceChanged.add((function(){return e._initSync()})))},_getSyncFilterRow:function(e,t){var n=p(t);return(0,i.isDefined)(n)?(0,o.syncFilters)(e,n):(0,o.removeFieldConditionsFromFilter)(e,h(t))},_getSyncHeaderFilter:function(e,t){var n=g(t);return n?(0,o.syncFilters)(e,n):(0,o.removeFieldConditionsFromFilter)(e,h(t))},getFilterValueFromColumns:function(e){if(!this.getController(\"data\").isFilterSyncActive())return null;var t=[\"and\"];return e&&e.forEach((function(e){var n=g(e),i=p(e);n&&(0,o.addItem)(n,t),i&&(0,o.addItem)(i,t)})),(0,o.getNormalizedFilter)(t)},syncFilterRow:function(e){this.option(\"filterValue\",this._getSyncFilterRow(this.option(\"filterValue\"),e))},syncHeaderFilter:function(e){this.option(\"filterValue\",this._getSyncHeaderFilter(this.option(\"filterValue\"),e))},getCustomFilterOperations:function(){var e=this.option(\"filterBuilder.customOperations\")||[];return[(0,u.anyOf)(this.component),(0,u.noneOf)(this.component)].concat(e)},publicMethods:function(){return[\"getCustomFilterOperations\"]}}))},extenders:{controllers:{data:{isFilterSyncActive:function(){var e=this.option(\"filterSyncEnabled\");return\"auto\"===e?this.option(\"filterPanel.visible\"):e},skipCalculateColumnFilters:function(){var e=this.getController(\"filterSync\");return((0,i.isDefined)(this.option(\"filterValue\"))||e._skipSyncColumnOptions)&&this.isFilterSyncActive()},_calculateAdditionalFilter:function(){if(!1===this.option(\"filterPanel.filterEnabled\"))return this.callBase();var e=[this.callBase()],t=this.getController(\"columns\").getFilteringColumns(),n=this.option(\"filterValue\");if(this.isFilterSyncActive()){var a=this.getController(\"headerFilter\").getCurrentColumn(),r=this.getController(\"applyFilter\").getCurrentColumnForFiltering(),s=a||r;(a||(0,i.isDefined)(null==r?void 0:r.filterValue))&&n&&(n=(0,o.removeFieldConditionsFromFilter)(n,h(s)))}var u=this.getController(\"filterSync\").getCustomFilterOperations(),d=(0,o.getFilterExpression)(n,t,u,\"filterBuilder\");return d&&e.push(d),l.default.combineFilters(e)},_parseColumnPropertyName:function(e){var t=e.match(/.*\\.(.*)/);return t?t[1]:null},clearFilter:function(e){this.component.beginUpdate(),arguments.length>0?(\"filterValue\"===e&&this.option(\"filterValue\",null),this.callBase(e)):(this.option(\"filterValue\",null),this.callBase()),this.component.endUpdate()},optionChanged:function(e){switch(e.name){case\"filterValue\":this._applyFilter(),this.isFilterSyncActive()&&this.getController(\"filterSync\").syncFilterValue(),e.handled=!0;break;case\"filterSyncEnabled\":e.handled=!0;break;case\"columns\":if(this.isFilterSyncActive()){var t=this.getController(\"columns\").getColumnByPath(e.fullName),n=this.getController(\"filterSync\");if(t&&!n._skipSyncColumnOptions){var i=this._parseColumnPropertyName(e.fullName);n._skipSyncColumnOptions=!0,\"filterType\"===i?\"exclude\"!==e.value&&\"exclude\"!==e.previousValue||n.syncHeaderFilter(t):\"filterValues\"===i?n.syncHeaderFilter(t):[\"filterValue\",\"selectedFilterOperation\"].includes(i)&&n.syncFilterRow(t,t.filterValue),n._skipSyncColumnOptions=!1}}this.callBase(e);break;default:this.callBase(e)}}}},views:{columnHeadersView:{_isHeaderFilterEmpty:function(e){return this.getController(\"data\").isFilterSyncActive()?!(0,o.filterHasField)(this.option(\"filterValue\"),h(e)):this.callBase(e)},_needUpdateFilterIndicators:function(){return!this.getController(\"data\").isFilterSyncActive()},optionChanged:function(e){\"filterValue\"===e.name?this._updateHeaderFilterIndicators():this.callBase(e)}}}}};t.filterSyncModule=v},5325:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.focusModule=void 0;var i=h(n(68374)),o=n(20576),a=n(62754),r=n(95479),s=n(35922),l=n(89237),u=h(n(15943)),d=h(n(60082)),c=n(32710);function h(e){return e&&e.__esModule?e:{default:e}}var f=\".dx-row.\".concat(\"dx-row-focused\"),p={defaultOptions:function(){return{focusedRowEnabled:!1,autoNavigateToFocusedRow:!0,focusedRowKey:null,focusedRowIndex:-1,focusedColumnIndex:-1}},controllers:{focus:u.default.ViewController.inherit({init:function(){this._dataController=this.getController(\"data\"),this._keyboardController=this.getController(\"keyboardNavigation\"),this.component._optionsByReference.focusedRowKey=!0},optionChanged:function(e){var t=e.name,n=e.value,i=e.previousValue;switch(t){case\"focusedRowIndex\":this._focusRowByIndex(n),this._keyboardController._fireFocusedRowChanged(),e.handled=!0;break;case\"focusedRowKey\":if(Array.isArray(n)&&JSON.stringify(n)===JSON.stringify(i))return;this._focusRowByKey(n),this._keyboardController._fireFocusedRowChanged(),e.handled=!0;break;case\"focusedColumnIndex\":case\"focusedRowEnabled\":case\"autoNavigateToFocusedRow\":e.handled=!0;break;default:this.callBase(e)}},isAutoNavigateToFocusedRow:function(){return\"infinite\"!==this.option(\"scrolling.mode\")&&this.option(\"autoNavigateToFocusedRow\")},_focusRowByIndex:function(e,t){this.option(\"focusedRowEnabled\")&&((e=void 0!==e?e:this.option(\"focusedRowIndex\"))<0?this.isAutoNavigateToFocusedRow()&&this._resetFocusedRow():this._focusRowByIndexCore(e,t))},_focusRowByIndexCore:function(e,t){var n=this,i=this.getController(\"data\"),o=i.pageSize(),r=function(){if(n._isValidFocusedRowIndex(e)){var o=e-i.getRowIndexOffset(!0);if(!t||t.paging&&!t.filtering){var a=i._getLastItemIndex();o=Math.min(o,a)}var r=i.getKeyByRowIndex(o,!0);(0,s.isDefined)(r)&&!n.isRowFocused(r)&&n.option(\"focusedRowKey\",r)}};if(o>=0)if(this._isLocalRowIndex(e))r();else{var l=Math.floor(e/i.pageSize());(0,a.when)(i.pageIndex(l),i.waitReady()).done((function(){r()}))}},_isLocalRowIndex:function(e){var t=this.getController(\"data\");if(this.getController(\"keyboardNavigation\")._isVirtualScrolling()){var n=Math.floor(e/t.pageSize()),i=t.virtualItemsCount(),o=i?i.begin:-1,a=t.getVisibleRows().length+t.getRowIndexOffset(),r=Math.ceil(a/t.pageSize());return o<=e&&r>n}return!0},_setFocusedRowKeyByIndex:function(e){var t=this.getController(\"data\");if(this._isValidFocusedRowIndex(e)){var n=Math.min(e-t.getRowIndexOffset(),t.items().length-1),i=t.getKeyByRowIndex(n);(0,s.isDefined)(i)&&!this.isRowFocused(i)&&this.option(\"focusedRowKey\",i)}},_focusRowByKey:function(e){(0,s.isDefined)(e)?this._navigateToRow(e,!0):this._resetFocusedRow()},_resetFocusedRow:function(){var e=this.option(\"focusedRowKey\"),t=(0,s.isDefined)(e);if(t||!(this.option(\"focusedRowIndex\")<0)){var n=this.getController(\"keyboardNavigation\");t&&this.option(\"focusedRowKey\",null),n.setFocusedRowIndex(-1),this.option(\"focusedRowIndex\",-1),this.getController(\"data\").updateItems({changeType:\"updateFocusedRow\",focusedRowKey:null}),n._fireFocusedRowChanged(void 0,-1)}},_isValidFocusedRowIndex:function(e){var t=this.getController(\"data\").getVisibleRows()[e];return!t||\"data\"===t.rowType||\"group\"===t.rowType},publicMethods:function(){return[\"navigateToRow\",\"isRowFocused\"]},navigateToRow:function(e){return this.isAutoNavigateToFocusedRow()||this.option(\"focusedRowIndex\",-1),this._navigateToRow(e)},_navigateToRow:function(e,t){var n=this,i=n.getController(\"data\"),o=n.isAutoNavigateToFocusedRow(),r=new a.Deferred;if(void 0===e||!i.dataSource())return r.reject().promise();var s=n.getFocusedRowIndexByKey(e);return!o&&t||s>=0?n._navigateTo(e,r,t):i.getPageIndexByKey(e).done((function(o){o<0?r.resolve(-1):o===i.pageIndex()?i.reload().done((function(){n.isRowFocused(e)&&i.getRowIndexByKey(e)>=0?r.resolve(n.getFocusedRowIndexByKey(e)):n._navigateTo(e,r,t)})).fail(r.reject):i.pageIndex(o).done((function(){n._navigateTo(e,r,t)})).fail(r.reject)})).fail(r.reject),r.promise()},_navigateTo:function(e,t,n){var i=this.getController(\"data\").getRowIndexByKey(e),o=d.default.isVirtualRowRendering(this);this.isAutoNavigateToFocusedRow()&&o&&i<0?this._navigateToVirtualRow(e,t,n):this._navigateToVisibleRow(e,t,n)},_navigateToVisibleRow:function(e,t,n){if(n)this._triggerUpdateFocusedRow(e,t);else{var i=this.getFocusedRowIndexByKey(e);this.getView(\"rowsView\").scrollToRowElement(e,t).done((function(){t.resolve(i)}))}},_navigateToVirtualRow:function(e,t,n){var i=this,o=this.getController(\"data\"),a=o._rowsScrollController,r=d.default.getIndexByKey(e,o.items(!0)),s=this.getView(\"rowsView\").getScrollable();if(a&&s&&r>=0){var l=r+o.getRowIndexOffset(!0),u=a.getItemOffset(l);this.component.on(\"contentReady\",(function a(){o.totalCount()&&!o.items().length||(i.component.off(\"contentReady\",a),n?i._triggerUpdateFocusedRow(e,t):t.resolve(l))})),this.getView(\"rowsView\").scrollTopPosition(u)}else t.resolve(-1)},_triggerUpdateFocusedRow:function(e,t){var n,i=this,o=this.getController(\"data\"),r=this.getFocusedRowIndexByKey(e);this._isValidFocusedRowIndex(r)?(this.option(\"focusedRowEnabled\")?o.updateItems({changeType:\"updateFocusedRow\",focusedRowKey:e}):n=this.getView(\"rowsView\").scrollToRowElement(e),(0,a.when)(n).done((function(){i.getController(\"keyboardNavigation\").setFocusedRowIndex(r),t&&t.resolve(r)}))):t&&t.resolve(-1)},getFocusedRowIndexByKey:function(e){var t=this.getController(\"data\"),n=t.getRowIndexByKey(e,!0);return n>=0?n+t.getRowIndexOffset(!0):-1},_focusRowByKeyOrIndex:function(){var e=this,t=this.option(\"focusedRowKey\"),n=this.option(\"focusedRowIndex\"),i=this.getController(\"keyboardNavigation\"),o=this.getController(\"data\");if((0,s.isDefined)(t)){var a=o.getRowIndexByKey(t);a>=0?(i._isVirtualScrolling()&&(n=a+o.getRowIndexOffset()),i.setFocusedRowIndex(n),this._triggerUpdateFocusedRow(t)):this._navigateToRow(t,!0).done((function(t){n>=0&&t<0?e._focusRowByIndex():n<0&&t>=0&&i.setFocusedRowIndex(t)}))}else n>=0&&this.getController(\"focus\")._focusRowByIndex(n)},isRowFocused:function(e){var t=this.option(\"focusedRowKey\");if((0,s.isDefined)(t))return(0,o.equalByValue)(e,this.option(\"focusedRowKey\"))},updateFocusedRow:function(e){var t,n,o=e.focusedRowKey,a=this,s=a._dataController.getRowIndexByKey(o),l=a.getView(\"rowsView\");(0,r.each)(l.getTableElements(),(function(e,o){var r=0===e;t=(0,i.default)(o),a._clearPreviousFocusedRow(t,s);var l=a._prepareFocusedRow({changedItem:a._dataController.getVisibleRows()[s],$tableElement:t,focusedRowIndex:s});r&&(n=l)})),n&&l.scrollToElementVertically(n)},_clearPreviousFocusedRow:function(e,t){var n=this,o=e.find(f).filter((function(t,o){var a=(0,i.default)(o).closest(\".\".concat(n.addWidgetPrefix(\"table\")));return e.is(a)}));o.removeClass(\"dx-row-focused\").removeClass(\"dx-cell-focus-disabled\").removeAttr(\"tabindex\"),o.children(\"td\").removeAttr(\"tabindex\"),0!==t&&(0,i.default)(this.getView(\"rowsView\").getRowElement(0)).removeClass(\"dx-cell-focus-disabled\").removeAttr(\"tabIndex\")},_prepareFocusedRow:function(e){var t,n=e.changedItem;if(n&&(\"data\"===n.rowType||\"group\"===n.rowType)){var o=e.focusedRowIndex,a=e.$tableElement,r=this.option(\"tabindex\")||0,s=this.getView(\"rowsView\");(t=(0,i.default)(s._getRowElements(a).eq(o))).addClass(\"dx-row-focused\").attr(\"tabindex\",r)}return t}})},extenders:{controllers:{keyboardNavigation:{init:function(){var e=this.option(\"focusedRowIndex\"),t=this.option(\"focusedColumnIndex\");this.createAction(\"onFocusedRowChanging\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onFocusedRowChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onFocusedCellChanging\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onFocusedCellChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.callBase(),this.setRowFocusType(),this._focusedCellPosition={},(0,s.isDefined)(e)&&e>=0&&(this._focusedCellPosition.rowIndex=e),(0,s.isDefined)(t)&&t>=0&&(this._focusedCellPosition.columnIndex=t)},setFocusedRowIndex:function(e){this.callBase(e),this.option(\"focusedRowIndex\",e)},setFocusedColumnIndex:function(e){this.callBase(e),this.option(\"focusedColumnIndex\",e)},_escapeKeyHandler:function(e,t){!t&&this.option(\"focusedRowEnabled\")?this.isCellFocusType()&&(this.setRowFocusType(),this._focus(this._getCellElementFromTarget(e.originalEvent.target),!0)):this.callBase(e,t)},_updateFocusedCellPosition:function(e,t){var n=this.callBase(e,t);n&&n.columnIndex>=0&&this._fireFocusedCellChanged(e)}},editorFactory:{renderFocusOverlay:function(e,t){var n,i=this.getController(\"keyboardNavigation\"),o=this.option(\"focusedRowEnabled\"),a=this.getController(\"editing\");if(o&&(null==i?void 0:i.isRowFocusType())&&!a.isEditing()){if(o){\"row\"===i._getElementType(e)&&!e.hasClass(\"dx-row-focused\")&&(n=i.getFirstValidCellInRow(e),i.focus(n))}}else this.callBase(e,t)}},columns:{getSortDataSourceParameters:function(e,t){var n=this,i=this.callBase.apply(this,arguments),o=this.getController(\"data\"),a=o._dataSource,r=o.store(),s=r&&r.key(),l=a&&a.remoteOperations()||{},u=Object.keys(l).every((function(e){return!l[e]}));if(s&&(this.option(\"focusedRowEnabled\")&&!1!==this.getController(\"focus\").isAutoNavigateToFocusedRow()||t)){var d=(s=Array.isArray(s)?s:[s]).filter((function(e){return!n.columnOption(e,\"sortOrder\")}));d.length&&(i=i||[],u?i.push({selector:a.getDataIndexGetter(),desc:!1}):d.forEach((function(e){return i.push({selector:e,desc:!1})})))}return i}},data:{_applyChange:function(e){if(!e||\"updateFocusedRow\"!==e.changeType)return this.callBase.apply(this,arguments)},_fireChanged:function(e){if(this.callBase(e),this.option(\"focusedRowEnabled\")&&this._dataSource){var t=\"update\"===e.changeType&&e.repaintChangesOnly&&e.changeTypes&&e.changeTypes.indexOf(\"remove\")>=0;\"refresh\"===e.changeType&&e.items.length||t?(this._updatePageIndexes(),this._updateFocusedRow(e)):\"append\"===e.changeType||\"prepend\"===e.changeType?this._updatePageIndexes():\"update\"===e.changeType&&e.repaintChangesOnly&&this._updateFocusedRow(e)}},_updatePageIndexes:function(){var e=this._lastRenderingPageIndex||0,t=this._rowsScrollController?this._rowsScrollController.pageIndex():0;this._lastRenderingPageIndex=t,this._isPagingByRendering=t!==e},isPagingByRendering:function(){return this._isPagingByRendering},_updateFocusedRow:function(e){var t=e.operationTypes||{},n=this.getController(\"focus\"),i=t.reload,o=t.fullReload,a=t.pageIndex,r=t.paging,l=this.getController(\"keyboardNavigation\")._isVirtualScrolling(),u=r&&!l,d=this.option(\"focusedRowKey\"),c=n.isAutoNavigateToFocusedRow();if(i&&!1===a&&!o&&(0,s.isDefined)(d))n._navigateToRow(d,!0).done((function(e){e<0&&n._focusRowByIndex(void 0,t)}));else if(u&&c){var h=this.getRowIndexByKey(d),f=this.option(\"focusedRowIndex\");!(f>=0)||!(f===h)&&h>=0||n._focusRowByIndex(f,t)}else u&&!c&&this.getRowIndexByKey(d)<0?this.option(\"focusedRowIndex\",-1):t.fullReload&&n._focusRowByKeyOrIndex()},getPageIndexByKey:function(e){var t=this,n=new a.Deferred;return t.getGlobalRowIndexByKey(e).done((function(e){n.resolve(e>=0?Math.floor(e/t.pageSize()):-1)})).fail(n.reject),n.promise()},getGlobalRowIndexByKey:function(e){return this._dataSource.group()?this._calculateGlobalRowIndexByGroupedData(e):this._calculateGlobalRowIndexByFlatData(e)},_calculateGlobalRowIndexByFlatData:function(e,t,n){var i=this,o=new a.Deferred,r=i._dataSource;if(Array.isArray(e)||(0,l.isNewRowTempKey)(e))return o.resolve(-1).promise();var s=i._generateFilterByKey(e);return r.load({filter:i._concatWithCombinedFilter(s),skip:0,take:1}).done((function(a){a.length>0?(s=i._generateOperationFilterByKey(e,a[0],n),r.load({filter:i._concatWithCombinedFilter(s,t),skip:0,take:1,requireTotalCount:!0}).done((function(e,t){o.resolve(t.totalCount)}))):o.resolve(-1)})),o.promise()},_concatWithCombinedFilter:function(e,t){var n=this.getCombinedFilter();return d.default.combineFilters([e,n,t])},_generateBooleanFilter:function(e,t,n){var i=n.desc;switch(!0){case!1===t&&i:return[e,\"=\",!0];case!1===t&&!i:return[e,\"=\",null];case!0===t&&!i:case!(0,s.isBoolean)(t)&&i:return[e,\"<>\",t];default:return}},_generateOperationFilterByKey:function(e,t,n){var i=this,o=i.option(\"dateSerializationFormat\"),a=i._dataSource.remoteOperations().filtering,r=i._generateFilterByKey(e,\"<\"),l=i._columnsController.getSortDataSourceParameters(!a,!0);if(n){var u=i._columnsController.getGroupDataSourceParameters(!a);u&&(l=l?u.concat(l):u)}return l&&l.slice().reverse().forEach((function(e){var n=e.selector,l=e.desc,u=e.compare,d=c.UiGridCoreFocusUtils.getSortFilterValue(e,t,{isRemoteFiltering:a,dateSerializationFormat:o,getSelector:function(e){return i._columnsController.columnOption(e,\"selector\")}}),h=d.getter,f=d.rawValue,p=d.safeValue;if(r=[[n,\"=\",p],\"and\",r],null===f||(0,s.isBoolean)(f)){var g=i._generateBooleanFilter(n,p,l);g&&(r=[g,\"or\",r])}else{var m,_=l?\">\":\"<\";u?m=function(e){return\"<\"===_?u(f,h(e))>=1:u(f,h(e))<=-1}:(m=[n,_,p],l||(m=[m,\"or\",[n,\"=\",null]])),r=[m,\"or\",r]}})),r},_generateFilterByKey:function(e,t){var n=this._dataSource.key(),i=[];if(t||(t=\"=\"),Array.isArray(n))for(var o=0;o<n.length;++o){var a=e[n[o]];a&&(i.length>0&&i.push(\"and\"),i.push([n[o],t,a]))}else i=[n,t,e];return i},_getLastItemIndex:function(){return this.items(!0).length-1}},editing:{_deleteRowCore:function(e){var t=this,n=this.callBase.apply(this,arguments),i=this.getController(\"data\"),o=i.getKeyByRowIndex(e);n.done((function(){var e=i.getRowIndexByKey(o),n=i.getVisibleRows();-1!==e||n.length||t.getController(\"focus\")._resetFocusedRow()}))}}},views:{rowsView:{_createRow:function(e){var t=this.callBase.apply(this,arguments);return this.option(\"focusedRowEnabled\")&&e&&this.getController(\"focus\").isRowFocused(e.key)&&t.addClass(\"dx-row-focused\"),t},_checkRowKeys:function(e){if(this.callBase.apply(this,arguments),this.option(\"focusedRowEnabled\")&&this.option(\"dataSource\")){var t=this._dataController.store();t&&!t.key()&&this._dataController.fireError(\"E1042\",\"Row focusing\")}},_update:function(e){\"updateFocusedRow\"===e.changeType?this.option(\"focusedRowEnabled\")&&this.getController(\"focus\").updateFocusedRow(e):this.callBase(e)},updateFocusElementTabIndex:function(e,t){this.option(\"focusedRowEnabled\")?this._setFocusedRowElementTabIndex(t):this.callBase(e)},_setFocusedRowElementTabIndex:function(e){var t=this,n=this.option(\"focusedRowKey\"),i=this.option(\"tabIndex\")||0,o=this._dataController,a=this._columnsController,r=o.getRowIndexByKey(n),l=this.option(\"focusedColumnIndex\"),u=this._findRowElementForTabIndex();if((0,s.isDefined)(this._scrollToFocusOnResize)||(this._scrollToFocusOnResize=function(){t.scrollToElementVertically(t._findRowElementForTabIndex()),t.resizeCompleted.remove(t._scrollToFocusOnResize)}),u.attr(\"tabIndex\",i),r>=0&&!e&&(l<0&&(l=0),r+=o.getRowIndexOffset(),l+=a.getColumnIndexOffset(),this.getController(\"keyboardNavigation\").setFocusedCellPosition(r,l),this.getController(\"focus\").isAutoNavigateToFocusedRow())){var d=o.dataSource(),c=d&&d.operationTypes();!c||c.paging||o.isPagingByRendering()||(this.resizeCompleted.remove(this._scrollToFocusOnResize),this.resizeCompleted.add(this._scrollToFocusOnResize))}},_findRowElementForTabIndex:function(){var e=this.option(\"focusedRowKey\"),t=this._dataController.getRowIndexByKey(e);return(0,i.default)(this.getRowElement(t>=0?t:0))},scrollToRowElement:function(e){var t=this.getController(\"data\").getRowIndexByKey(e),n=(0,i.default)(this.getRow(t));return this.scrollToElementVertically(n)},scrollToElementVertically:function(e){var t=this.getScrollable();if(t&&e.length){var n=t.getScrollElementPosition(e,\"vertical\");return this.scrollTopPosition(n)}return(new a.Deferred).resolve()},scrollTopPosition:function(e){var t=new a.Deferred,n=this.getScrollable();if(n){if(e!==n.scrollTop())return n.on(\"scroll\",(function e(){n.off(\"scroll\",e),t.resolve()})),this._dataController.resetFilterApplying(),n.scrollTo({top:e}),t.promise()}return t.resolve()}}}}};t.focusModule=p},32710:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.UiGridCoreFocusUtils=void 0;var i,o=(i=n(69434))&&i.__esModule?i:{default:i},a=n(35922);var r={getSortFilterValue:function(e,t,n){var i=n.isRemoteFiltering,r=n.dateSerializationFormat,s=n.getSelector,l=e.selector,u=(0,a.isFunction)(l)?l:s(l),d=u?u(t):t[l];return{getter:u,rawValue:d,safeValue:i&&(0,a.isDate)(d)?o.default.serializeDate(d,r):d}}};t.UiGridCoreFocusUtils=r},68796:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.headerFilterModule=void 0,t.invertFilterExpression=function(e){return[\"!\",e]};var i=n(47617),o=n(62754),a=n(13306),r=n(95479),s=n(37518),l=n(35922),u=n(9234),d=x(n(96687)),c=x(n(99236)),h=n(95429),f=x(n(55994)),p=x(n(91500)),g=x(n(28109)),m=n(56756),_=x(n(18740)),v=x(n(15943)),y=x(n(60082)),b=n(37565);function x(e){return e&&e.__esModule?e:{default:e}}function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var C={month:function(e){return p.default.getMonthNames()[e-1]},quarter:function(e){return p.default.format(new Date(2e3,3*e-1),\"quarter\")}};function S(e,t){var n=function e(t,n,i){return n=n||[],i=i||[],t.forEach((function(t){if((0,l.isDefined)(t.key)){var o=1===n.length;if(n.push(o?t.key-1:t.key),t.items)e(t.items,n,i);else{var a=new Date(Date.UTC.apply(Date,n));i.push(a)}n.pop()}else i.push(null)})),i}(e),i=(0,d.default)(n),o=y.default.getHeaderFilterGroupParameters(w(w({},t),{calculateCellValue:function(e){return e}}));return c.default.queryByOptions(i,{group:o}).toArray()}var k=v.default.ViewController.inherit({init:function(){this._columnsController=this.getController(\"columns\"),this._dataController=this.getController(\"data\"),this._headerFilterView=this.getView(\"headerFilterView\")},_updateSelectedState:function(e,t){for(var n=e.length,i=\"exclude\"===t.filterType;n--;){var o=e[n];\"items\"in e[n]&&this._updateSelectedState(e[n].items,t),(0,b.updateHeaderFilterItemSelectionState)(o,y.default.getIndexByKey(e[n].value,t.filterValues,null)>-1,i)}},_normalizeGroupItem:function(e,t,n){var i,o,r=n.path,s=n.valueSelector,u=n.displaySelector,d=n.column;return s&&u?(i=s(e),o=u(e)):o=i=e.key,e=(0,l.isObject)(e)?(0,a.extend)({},e):{},r.push(i),1===r.length?e.value=r[0]:e.value=r.join(\"/\"),e.text=this.getHeaderItemText(o,d,t,n.headerFilterOptions),e},getHeaderItemText:function(e,t,n,i){var o=y.default.formatValue(e,function(e,t,n){var i=_.default.getGroupInterval(t),o=y.default.getFormatOptionsByColumn(t,\"headerFilter\");return i&&(o.groupInterval=i[n],y.default.isDateType(t.dataType)?o.format=C[i[n]]:\"number\"===t.dataType&&(o.getDisplayFormat=function(){var o={format:t.format,target:\"headerFilter\"},a=y.default.formatValue(e,o),r=e+i[n],s=y.default.formatValue(r,o);return a&&s?\"\".concat(a,\" - \").concat(s):\"\"})),o}(e,t,n));return o||(o=i.texts.emptyValue),o},_processGroupItems:function(e,t,n,o){var a,r,s=o.column.lookup,u=o.level;n=n||[],t=t||0,s&&(a=(0,i.compileGetter)(s.displayExpr),r=(0,i.compileGetter)(s.valueExpr));for(var d=0;d<e.length;d++)e[d]=this._normalizeGroupItem(e[d],t,{column:o.column,headerFilterOptions:o.headerFilterOptions,displaySelector:a,valueSelector:r,path:n}),\"items\"in e[d]&&(t!==u&&(0,l.isDefined)(e[d].value)?this._processGroupItems(e[d].items,t+1,n,o):delete e[d].items),n.pop()},getDataSource:function(e){var t,n=this._dataController.dataSource(),i=null==n?void 0:n.remoteOperations().grouping,a=y.default.getHeaderFilterGroupParameters(e,i),r=null===(t=e.headerFilter)||void 0===t?void 0:t.dataSource,s=this.option(\"headerFilter\"),d=!1,c={component:this.component};if(n){if((0,l.isDefined)(r)&&!(0,l.isFunction)(r))c.dataSource=(0,u.normalizeDataSourceOptions)(r);else if(e.lookup)if(d=!0,this.option(\"syncLookupFilterValues\")){this._currentColumn=e;var h=this._dataController.getCombinedFilter();this._currentColumn=null,c.dataSource=y.default.getWrappedLookupDataSource(e,n,h)}else c.dataSource=y.default.normalizeLookupDataSource(e.lookup);else{var f=Array.isArray(a)?a.length-1:0;this._currentColumn=e;var p=this._dataController.getCombinedFilter();this._currentColumn=null,c.dataSource={filter:p,group:a,useDefaultSearch:!0,load:function(t){var a=new o.Deferred;return t.dataField=e.dataField||e.name,n.load(t).done((function(t){var n;i&&(\"Z\"===(null==(n=e.serializationFormat)?void 0:n.slice(-1))||\"'Z'\"===(null==n?void 0:n.slice(-3)))&&f>3&&(t=S(t,e)),m._processGroupItems(t,null,null,{level:f,column:e,headerFilterOptions:s}),a.resolve(t)})).fail(a.reject),a}}}(0,l.isFunction)(r)&&r.call(e,c);var g=c.dataSource.postProcess,m=this;return c.dataSource.postProcess=function(t){var n=t;return d&&(n=n.filter((function(t){return null!==t[e.lookup.valueExpr]})),0!==this.pageIndex()||this.searchValue()||(n=n.slice(0)).unshift(null),m._processGroupItems(n,null,null,{level:0,column:e,headerFilterOptions:s})),n=g&&g.call(this,n)||n,m._updateSelectedState(n,e),n},c.dataSource}},getCurrentColumn:function(){return this._currentColumn},showHeaderFilterMenu:function(e,t){var n=this._columnsController,i=(0,a.extend)(!0,{},this._columnsController.getColumns()[e]);if(i){var o=n.getVisibleIndex(e),r=t?this.getView(\"headerPanel\"):this.getView(\"columnHeadersView\"),s=s||r.getColumnElements().eq(t?i.groupIndex:o);this.showHeaderFilterMenuBase({columnElement:s,column:i,applyFilter:!0,apply:function(){n.columnOption(e,{filterValues:this.filterValues,filterType:this.filterType})}})}},showHeaderFilterMenuBase:function(e){var t=this,n=this,i=e.column;if(i){var o=_.default.getGroupInterval(i),r=n._dataController.dataSource(),s=r&&r.remoteOperations().filtering,l=e.onHidden;(0,a.extend)(e,i,{type:o&&o.length>1?\"tree\":\"list\",remoteFiltering:s,onShowing:function(t){var i=t.component.$overlayContent().dxResizable(\"instance\");i&&i.option(\"onResizeEnd\",(function(t){var i=n.getController(\"columns\"),o=i.columnOption(e.dataField,\"headerFilter\");(o=o||{}).width=t.width,o.height=t.height,i.columnOption(e.dataField,\"headerFilter\",o,!0)}))},onHidden:function(){null==l||l(),(0,m.restoreFocus)(t)}}),e.dataSource=n.getDataSource(e),e.isFilterBuilder&&(e.dataSource.filter=null,e.alignment=\"right\"),n._headerFilterView.showHeaderFilterMenu(e.columnElement,e)}},hideHeaderFilterMenu:function(){this._headerFilterView.hideHeaderFilterMenu()}}),D=(0,a.extend)({},b.headerFilterMixin,{_renderCellContent:function(e,t){var n,i=this,o=t.column;!o.command&&(0,b.allowHeaderFiltering)(o)&&i.option(\"headerFilter.visible\")&&\"header\"===t.rowType&&(n=i._applyColumnState({name:\"headerFilter\",rootElement:e,column:o,showColumnLines:i.option(\"showColumnLines\")}))&&i._subscribeToIndicatorEvent(n,o,\"headerFilter\"),this.callBase.apply(this,arguments)},_subscribeToIndicatorEvent:function(e,t,n){var i=this;\"headerFilter\"===n&&f.default.on(e,h.name,this.createAction((function(n){n.event.stopPropagation(),(0,m.saveFocusedElementInfo)(e,i),i.getController(\"headerFilter\").showHeaderFilterMenu(t.index,!1)})))},_updateIndicator:function(e,t,n){var i=this.callBase(e,t,n);i&&this._subscribeToIndicatorEvent(i,t,n)},_updateHeaderFilterIndicators:function(){this.option(\"headerFilter.visible\")&&this._updateIndicators(\"headerFilter\")},_needUpdateFilterIndicators:function(){return!0},_columnOptionChanged:function(e){var t=e.optionNames;y.default.checkChanges(t,[\"filterValues\",\"filterType\"])?this._needUpdateFilterIndicators()&&this._updateHeaderFilterIndicators():this.callBase(e)}}),I=(0,a.extend)({},b.headerFilterMixin,{_createGroupPanelItem:function(e,t){var n,i=this,o=i.callBase.apply(i,arguments);return!t.command&&(0,b.allowHeaderFiltering)(t)&&i.option(\"headerFilter.visible\")&&(n=i._applyColumnState({name:\"headerFilter\",rootElement:o,column:{alignment:(0,s.getDefaultAlignment)(i.option(\"rtlEnabled\")),filterValues:t.filterValues,allowHeaderFiltering:!0},showColumnLines:!0}))&&f.default.on(n,h.name,i.createAction((function(e){e.event.stopPropagation(),i.getController(\"headerFilter\").showHeaderFilterMenu(t.index,!0)}))),o}});var T={skipCalculateColumnFilters:function(){return!1},_calculateAdditionalFilter:function(){if(this.skipCalculateColumnFilters())return this.callBase();var e=[this.callBase()],t=this._columnsController.getVisibleColumns(null,!0),n=this.getController(\"headerFilter\").getCurrentColumn();return(0,r.each)(t,(function(t,i){var o;if((!n||n.index!==i.index)&&(0,b.allowHeaderFiltering)(i)&&i.calculateFilterExpression&&Array.isArray(i.filterValues)&&i.filterValues.length){var a=[];(0,r.each)(i.filterValues,(function(e,t){Array.isArray(t)?o=t:(i.deserializeValue&&!y.default.isDateType(i.dataType)&&\"number\"!==i.dataType&&(t=i.deserializeValue(t)),o=i.createFilterExpression(t,\"=\",\"headerFilter\")),o&&(o.columnIndex=i.index),a.push(o)})),a=y.default.combineFilters(a,\"or\"),e.push(\"exclude\"===i.filterType?[\"!\",a]:a)}})),y.default.combineFilters(e)}},E={defaultOptions:function(){return{syncLookupFilterValues:!0,headerFilter:{visible:!1,width:252,height:325,allowSelectAll:!0,search:{enabled:!1,timeout:500,mode:\"contains\",editorOptions:{}},texts:{emptyValue:g.default.format(\"dxDataGrid-headerFilterEmptyValue\"),ok:g.default.format(\"dxDataGrid-headerFilterOK\"),cancel:g.default.format(\"dxDataGrid-headerFilterCancel\")}}}},controllers:{headerFilter:k},views:{headerFilterView:b.HeaderFilterView},extenders:{controllers:{data:T},views:{columnHeadersView:D,headerPanel:I}}};t.headerFilterModule=E},37565:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.headerFilterMixin=t.allowHeaderFiltering=t.HeaderFilterView=void 0,t.updateHeaderFilterItemSelectionState=function(e,t,n){if(t^n){if(e.selected=!0,n&&e.items)for(var i=0;i<e.items.length;i++)if(!e.items[i].selected){e.selected=void 0;break}}else(n||e.selected)&&(e.selected=!1,function e(t){t=t||[];for(var n=0;n<t.length;n++)t[n].selected=!1,e(t[n].items)}(e.items))},n(68724),n(20551);var i=f(n(68374)),o=n(13306),a=n(95479),r=n(35922),s=f(n(28109)),l=f(n(56757)),u=f(n(51495)),d=f(n(30254)),c=f(n(15943)),h=f(n(60082));function f(e){return e&&e.__esModule?e:{default:e}}function p(e){var t=\"dxTreeView\"===e.NAME?\".dx-treeview-select-all-item\":\".dx-list-select-all-checkbox\";return e.$element().find(t).dxCheckBox(\"instance\")}function g(e,t){if(!e.component.option(\"searchValue\")){var n=p(e.component);n&&t&&t.length&&n.option(\"value\",void 0)}}var m=c.default.View.inherit({getPopupContainer:function(){return this._popupContainer},getListComponent:function(){return this._listComponent},applyHeaderFilter:function(e){var t=this.getListComponent(),n=t.option(\"searchValue\"),i=p(t),o=[];!n&&!e.isFilterBuilder&&(null==i?void 0:i.option(\"value\"))?(\"tree\"===e.type&&(e.filterType=\"exclude\"),Array.isArray(e.filterValues)&&(e.filterValues=[])):\"tree\"===e.type&&(e.filterType&&(e.filterType=\"include\"),function e(i,o,r){(0,a.each)(o,(function(o,a){if(void 0!==a.selected&&!!a.selected^r){var s=t._getNode(a),l=t._hasChildren(s)&&a.items&&a.items.some((function(e){return e.selected}));if(!n||!l)return void i.push(a.value)}a.items&&a.items.length&&e(i,a.items,r)}))}(o,t.option(\"items\"),!1),e.filterValues=o),e.filterValues&&!e.filterValues.length&&(e.filterValues=null),e.apply(),this.hideHeaderFilterMenu()},showHeaderFilterMenu:function(e,t){if(t){this._initializePopupContainer(t);var n=this.getPopupContainer();this.hideHeaderFilterMenu(),this.updatePopup(e,t),n.show()}},hideHeaderFilterMenu:function(){var e=this.getPopupContainer();e&&e.hide()},updatePopup:function(e,t){var n=this.option(\"showColumnLines\"),i=\"right\"===t.alignment^!n?\"left\":\"right\";this._popupContainer.setAria({role:\"dialog\",label:s.default.format(\"dxDataGrid-headerFilterLabel\")}),this._popupContainer&&(this._cleanPopupContent(),this._popupContainer.option(\"position\",{my:\"\".concat(i,\" top\"),at:\"\".concat(i,\" bottom\"),of:e,collision:\"fit fit\"}))},_getSearchExpr:function(e,t){var n=e.lookup,i=e.useDefaultSearchExpr,o=t.dataSource,a=t.search.searchExpr;if(a)return a;if(i||(0,r.isDefined)(o)&&!(0,r.isFunction)(o))return\"text\";if(n)return n.displayExpr||\"this\";if(e.dataSource){var s=e.dataSource.group;if(Array.isArray(s)&&s.length>0)return s[0].selector;if((0,r.isFunction)(s)&&!e.remoteFiltering)return s}return e.dataField||e.selector},_cleanPopupContent:function(){this._popupContainer&&this._popupContainer.$content().empty()},_initializePopupContainer:function(e){var t=this,n=t.element(),i=this._normalizeHeaderFilterOptions(e),o=i.height,a={width:i.width,height:o,visible:!1,shading:!1,showTitle:!1,showCloseButton:!1,hideOnParentScroll:!1,dragEnabled:!1,hideOnOutsideClick:!0,wrapperAttr:{class:\"dx-header-filter-menu\"},focusStateEnabled:!1,toolbarItems:[{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:i.texts.ok,onClick:function(){t.applyHeaderFilter(e)}}},{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:i.texts.cancel,onClick:function(){t.hideHeaderFilterMenu()}}}],resizeEnabled:!0,onShowing:function(n){n.component.$content().parent().addClass(\"dx-dropdowneditor-overlay\"),t._initializeListContainer(e,i),e.onShowing&&e.onShowing(n)},onShown:function(){t.getListComponent().focus()},onHidden:e.onHidden,onInitialized:function(e){var t=e.component;t.option(\"animation\",t._getDefaultOptions().animation)}};(0,r.isDefined)(t._popupContainer)?t._popupContainer.option(a):t._popupContainer=t._createComponent(n,u.default,a)},_initializeListContainer:function(e,t){var n=this,r=n._popupContainer.$content(),s=!e.isFilterBuilder&&t.allowSelectAll,u={searchEnabled:t.search.enabled,searchTimeout:t.search.timeout,searchEditorOptions:t.search.editorOptions,searchMode:t.search.mode||\"\",dataSource:e.dataSource,onContentReady:function(){n.renderCompleted.fire()},itemTemplate:function(t,n,o){var a=(0,i.default)(o);return e.encodeHtml?a.text(t.text):a.html(t.text)}};function c(t){\"searchValue\"===t.fullName&&s&&!1!==n.option(\"headerFilter.hideSelectAllOnSearch\")&&(\"tree\"===e.type?t.component.option(\"showCheckBoxesMode\",t.value?\"normal\":\"selectAll\"):t.component.option(\"selectionMode\",t.value?\"multiple\":\"all\"))}\"tree\"===e.type?n._listComponent=n._createComponent((0,i.default)(\"<div>\").appendTo(r),d.default,(0,o.extend)(u,{showCheckBoxesMode:s?\"selectAll\":\"normal\",onOptionChanged:c,keyExpr:\"id\"})):n._listComponent=n._createComponent((0,i.default)(\"<div>\").appendTo(r),l.default,(0,o.extend)(u,{searchExpr:n._getSearchExpr(e,t),pageLoadMode:\"scrollBottom\",showSelectionControls:!0,selectionMode:s?\"all\":\"multiple\",onOptionChanged:c,onSelectionChanged:function(t){var n=t.component.option(\"items\"),i=t.component.option(\"selectedItems\");if(!t.component._selectedItemsUpdating&&!t.component.option(\"searchValue\")&&!e.isFilterBuilder){var o=e.filterValues||[],r=\"exclude\"===e.filterType;0===i.length&&n.length&&(o.length<=1||r&&o.length===n.length-1)?(e.filterType=\"include\",e.filterValues=[]):i.length===n.length&&(e.filterType=\"exclude\",e.filterValues=[])}(0,a.each)(n,(function(t,n){var o=h.default.getIndexByKey(n,i,null)>=0;if(!!n.selected!==o){n.selected=o,e.filterValues=e.filterValues||[];var a=h.default.getIndexByKey(n.value,e.filterValues,null);a>=0&&e.filterValues.splice(a,1),o^\"exclude\"===e.filterType&&e.filterValues.push(n.value)}})),g(t,e.filterValues)},onContentReady:function(t){var n=t.component,i=n.option(\"items\"),o=[];(0,a.each)(i,(function(){this.selected&&o.push(this)})),n._selectedItemsUpdating=!0,n.option(\"selectedItems\",o),n._selectedItemsUpdating=!1,g(t,e.filterValues)}}))},_normalizeHeaderFilterOptions:function(e){var t=this.option(\"headerFilter\")||{},n=e.headerFilter||{},i={search:{enabled:t.allowSearch,timeout:t.searchTimeout}},a={search:{enabled:n.allowSearch,mode:n.searchMode,timeout:n.searchTimeout}};return(0,o.extend)(!0,{},t,i,n,a)},_renderCore:function(){this.element().addClass(\"dx-header-filter-menu\")}});t.HeaderFilterView=m;var _=function(e){return(0,r.isDefined)(e.allowHeaderFiltering)?e.allowHeaderFiltering:e.allowFiltering};t.allowHeaderFiltering=_;var v={_applyColumnState:function(e){var t,n=e.rootElement,i=e.column;if(\"headerFilter\"===e.name){if(n.find(\".\".concat(\"dx-header-filter\")).remove(),_(i)){t=this.callBase(e).toggleClass(\"dx-header-filter-empty\",this._isHeaderFilterEmpty(i)),this.option(\"useLegacyKeyboardNavigation\")||t.attr(\"tabindex\",this.option(\"tabindex\")||0);var o=s.default.format(\"dxDataGrid-headerFilterIndicatorLabel\",i.caption);t.attr(\"aria-label\",o),t.attr(\"aria-haspopup\",\"dialog\"),t.attr(\"role\",\"button\")}return t}return this.callBase(e)},_isHeaderFilterEmpty:function(e){return!e.filterValues||!e.filterValues.length},_getIndicatorClassName:function(e){return\"headerFilter\"===e?\"dx-header-filter\":this.callBase(e)},_renderIndicator:function(e){var t=e.container,n=e.indicator;if(\"headerFilter\"===e.name){var i=this.option(\"rtlEnabled\");if(t.children().length&&(!i&&\"right\"===e.columnAlignment||i&&\"left\"===e.columnAlignment))return void t.prepend(n)}this.callBase(e)},optionChanged:function(e){if(\"headerFilter\"===e.name){var t=\"columnHeadersView\"===this.name;this._invalidate(t,t),e.handled=!0}else this.callBase(e)}};t.headerFilterMixin=v},92468:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.headerPanelModule=void 0;var i=d(n(68374)),o=n(47617),a=n(13306),r=n(35922),s=d(n(28109)),l=d(n(71042)),u=n(57318);function d(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=[\"addRowButton\",\"applyFilterButton\",\"columnChooserButton\",\"exportButton\",\"groupPanel\",\"revertButton\",\"saveButton\",\"searchPanel\"],p={defaultOptions:function(){return{}},views:{headerPanel:function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var d=u.prototype;return d._getToolbarItems=function(){return[]},d._getButtonContainer=function(){return(0,i.default)(\"<div>\").addClass(this.addWidgetPrefix(\"toolbar-button\"))},d._getToolbarButtonClass=function(e){var t=e?\" \".concat(e):\"\";return this.addWidgetPrefix(\"toolbar-button\")+t},d._getToolbarOptions=function(){var e=this.option(\"toolbar\"),t={toolbarOptions:{items:this._getToolbarItems(),visible:null==e?void 0:e.visible,disabled:null==e?void 0:e.disabled,onItemRendered:function(e){var t=e.itemData.onItemRendered;t&&t(e)}}},n=null==e?void 0:e.items;if(t.toolbarOptions.items=this._normalizeToolbarItems(t.toolbarOptions.items,n),this.executeAction(\"onToolbarPreparing\",t),t.toolbarOptions&&!(0,r.isDefined)(t.toolbarOptions.visible)){var i=t.toolbarOptions.items;t.toolbarOptions.visible=!!(null==i?void 0:i.length)}return t.toolbarOptions},d._normalizeToolbarItems=function(e,t){e.forEach((function(e){if(!f.includes(e.name))throw new Error(\"Default toolbar item '\".concat(e.name,\"' is not added to DEFAULT_TOOLBAR_ITEM_NAMES\"))}));var n={location:\"after\"},i=Array.isArray(t);if(!(0,r.isDefined)(t))return e;i||(t=[t]);var o={};e.forEach((function(e){o[e.name]=e}));var s=t.map((function(e){return(0,r.isString)(e)&&(e={name:e}),(0,r.isDefined)(e.name)&&((0,r.isDefined)(o[e.name])?e=(0,a.extend)(!0,{},o[e.name],e):f.includes(e.name)&&(e=c(c({},e),{visible:!1}))),(0,a.extend)(!0,{},n,e)}));return i?s:s[0]},d._renderCore=function(){if(this._toolbar)this._toolbar.option(this._toolbarOptions);else{var e=this.element();e.addClass(this.addWidgetPrefix(\"header-panel\"));var t=s.default.format(this.component.NAME+\"-ariaToolbar\"),n=(0,i.default)(\"<div>\").attr(\"aria-label\",t).appendTo(e);this._toolbar=this._createComponent(n,l.default,this._toolbarOptions)}},d._columnOptionChanged=function(){},d._handleDataChanged=function(){this._requireReady&&this.render()},d._isDisabledDefinedByUser=function(e){var t,n=null===(t=this.option(\"toolbar\"))||void 0===t?void 0:t.items,i=null==n?void 0:n.find((function(t){return(null==t?void 0:t.name)===e}));return(0,r.isDefined)(null==i?void 0:i.disabled)},d.init=function(){e.prototype.init.call(this),this.createAction(\"onToolbarPreparing\",{excludeValidators:[\"disabled\",\"readOnly\"]})},d.render=function(){this._toolbarOptions=this._getToolbarOptions(),e.prototype.render.apply(this,arguments)},d.setToolbarItemDisabled=function(e,t){var n,i=this._toolbar,o=this._isDisabledDefinedByUser(e);if(i&&!o){var a=(null!==(n=i.option(\"items\"))&&void 0!==n?n:[]).findIndex((function(t){return t.name===e}));if(!(a<0)){var r=i.option(\"items[\".concat(a,\"]\"));i.option(\"items[\".concat(a,\"].disabled\"),t),r.options&&i.option(\"items[\".concat(a,\"].options.disabled\"),t)}}},d.updateToolbarDimensions=function(){var e;null===(e=this._toolbar)||void 0===e||e.updateDimensions()},d.getHeaderPanel=function(){return this.element()},d.getHeight=function(){return this.getElementHeight()},d.optionChanged=function(t){if(\"onToolbarPreparing\"===t.name&&(this._invalidate(),t.handled=!0),\"toolbar\"===t.name&&(t.handled=!0,this._toolbar)){var n=(0,o.getPathParts)(t.fullName),i=t.fullName.replace(/^toolbar\\./,\"\");if(1===n.length){var a=this._getToolbarOptions();this._toolbar.option(a)}else if(\"items\"===n[1])if(2===n.length){var r=this._getToolbarOptions();this._toolbar.option(\"items\",r.items)}else if(3===n.length){var s=this._normalizeToolbarItems(this._getToolbarItems(),t.value);this._toolbar.option(i,s)}else n.length>=4&&this._toolbar.option(i,t.value);else this._toolbar.option(i,t.value)}e.prototype.optionChanged.call(this,t)},d.isVisible=function(){return!(!this._toolbarOptions||!this._toolbarOptions.visible)},d.allowDragging=function(){},d.hasGroupedColumns=function(){},u}(u.ColumnsView)},extenders:{controllers:{resizing:{_updateDimensionsCore:function(){this.callBase.apply(this,arguments),this.getView(\"headerPanel\").updateToolbarDimensions()}}}}};t.headerPanelModule=p},67004:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.WIDGET_CLASS=t.VIRTUAL_ROW_CLASS=t.ROW_CLASS=t.ROWS_VIEW_CLASS=t.REVERT_BUTTON_CLASS=t.NON_FOCUSABLE_ELEMENTS_SELECTOR=t.MASTER_DETAIL_ROW_CLASS=t.MASTER_DETAIL_CELL_CLASS=t.INTERACTIVE_ELEMENTS_SELECTOR=t.HEADER_ROW_CLASS=t.GROUP_ROW_CLASS=t.GROUP_FOOTER_CLASS=t.FUNCTIONAL_KEYS=t.FREESPACE_ROW_CLASS=t.FOCUS_TYPE_ROW=t.FOCUS_TYPE_CELL=t.FOCUS_STATE_CLASS=t.FOCUSED_CLASS=t.FAST_EDITING_DELETE_KEY=t.EDIT_MODE_FORM=t.EDIT_FORM_ITEM_CLASS=t.EDIT_FORM_CLASS=t.EDITOR_CELL_CLASS=t.DROPDOWN_EDITOR_OVERLAY_CLASS=t.DATEBOX_WIDGET_NAME=t.DATA_ROW_CLASS=t.COMMAND_SELECT_CLASS=t.COMMAND_EXPAND_CLASS=t.COMMAND_EDIT_CLASS=t.COMMAND_CELL_SELECTOR=t.COLUMN_HEADERS_VIEW=t.CELL_FOCUS_DISABLED_CLASS=t.ATTRIBUTES=void 0;t.ATTRIBUTES={ariaColIndex:\"aria-colindex\",dragCell:\"dx-drag-cell\"};t.ROWS_VIEW_CLASS=\"rowsview\";t.EDIT_FORM_CLASS=\"edit-form\";t.GROUP_FOOTER_CLASS=\"group-footer\";t.ROW_CLASS=\"dx-row\";t.DATA_ROW_CLASS=\"dx-data-row\";t.GROUP_ROW_CLASS=\"dx-group-row\";t.HEADER_ROW_CLASS=\"dx-header-row\";t.EDIT_FORM_ITEM_CLASS=\"edit-form-item\";t.MASTER_DETAIL_ROW_CLASS=\"dx-master-detail-row\";t.FREESPACE_ROW_CLASS=\"dx-freespace-row\";t.VIRTUAL_ROW_CLASS=\"dx-virtual-row\";t.MASTER_DETAIL_CELL_CLASS=\"dx-master-detail-cell\";t.EDITOR_CELL_CLASS=\"dx-editor-cell\";t.DROPDOWN_EDITOR_OVERLAY_CLASS=\"dx-dropdowneditor-overlay\";t.COMMAND_EXPAND_CLASS=\"dx-command-expand\";t.COMMAND_SELECT_CLASS=\"dx-command-select\";t.COMMAND_EDIT_CLASS=\"dx-command-edit\";t.COMMAND_CELL_SELECTOR=\"[class^=dx-command]\";t.CELL_FOCUS_DISABLED_CLASS=\"dx-cell-focus-disabled\";t.DATEBOX_WIDGET_NAME=\"dxDateBox\";t.FOCUS_STATE_CLASS=\"dx-state-focused\";t.WIDGET_CLASS=\"dx-widget\";t.REVERT_BUTTON_CLASS=\"dx-revert-button\";t.FOCUSED_CLASS=\"dx-focused\";t.FAST_EDITING_DELETE_KEY=\"delete\";var n='\\n  input:not([type=\"hidden\"]):not([disabled]),\\n  textarea:not([disabled]),\\n  a:not([disabled]),\\n  select:not([disabled]),\\n  button:not([disabled]),\\n  [tabindex]:not([disabled]),\\n  .dx-checkbox:not([disabled])\\n';t.INTERACTIVE_ELEMENTS_SELECTOR=n;var i=\"\".concat(n,\", .dx-dropdowneditor-icon\");t.NON_FOCUSABLE_ELEMENTS_SELECTOR=i;t.EDIT_MODE_FORM=\"form\";t.FOCUS_TYPE_ROW=\"row\";t.FOCUS_TYPE_CELL=\"cell\";t.COLUMN_HEADERS_VIEW=\"columnHeadersView\";t.FUNCTIONAL_KEYS=[\"shift\",\"control\",\"alt\"]},83066:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridCoreKeyboardNavigationDom=void 0;var i=n(67004),o={isDragCell:function(e){return void 0!==e.attr(i.ATTRIBUTES.dragCell)},getCellToFocus:function(e,t){return e.filter(\"[\".concat(i.ATTRIBUTES.ariaColIndex,'=\"').concat(t+1,'\"]:not([').concat(i.ATTRIBUTES.dragCell,\"])\")).first()}};t.GridCoreKeyboardNavigationDom=o},31822:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.keyboardNavigationModule=t.KeyboardNavigationController=void 0;var o=n(20576),a=I(n(73349)),r=n(6415),s=I(n(68374)),l=I(n(47810)),u=n(62754),d=n(58664),c=n(35922),h=n(95429),f=I(n(55994)),p=I(n(93786)),g=n(72918),m=n(39611),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=D(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(56756)),v=n(31421),y=n(18945),b=n(72313),x=I(n(15943)),w=I(n(60082)),C=n(67004),S=n(83066),k=n(67250);function D(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(D=function(e){return e?n:t})(e)}function I(e){return e&&e.__esModule?e:{default:e}}function T(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(e,t)}(e)||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 E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function O(e,t){return(O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var A=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,O(t,n);var o=i.prototype;return o.init=function(){var e,t;this._dataController=this.getController(\"data\"),this._selectionController=this.getController(\"selection\"),this._editingController=this.getController(\"editing\"),this._headerPanel=this.getView(\"headerPanel\"),this._rowsView=this.getView(\"rowsView\"),this._columnsController=this.getController(\"columns\"),this._editorFactory=this.getController(\"editorFactory\"),this._focusController=this.getController(\"focus\"),this._memoFireFocusedCellChanged=(0,y.memoize)(this._memoFireFocusedCellChanged.bind(this),{compareType:\"value\"}),this._memoFireFocusedRowChanged=(0,y.memoize)(this._memoFireFocusedRowChanged.bind(this),{compareType:\"value\"}),this.focusedHandlerWithContext=this.focusedHandlerWithContext||this.focusedHandler.bind(this),this.renderCompletedWithContext=this.renderCompletedWithContext||this.renderCompleted.bind(this),this.rowsViewFocusHandlerContext=this.rowsViewFocusHandlerContext||this.rowsViewFocusHandler.bind(this),this._updateFocusTimeout=null,this._fastEditingStarted=!1,this._focusedCellPosition={},this._canceledCellPosition=null,this.isKeyboardEnabled()?(_.subscribeVisibilityChange(),null===(e=this._editorFactory)||void 0===e||e.focused.add(this.focusedHandlerWithContext),this.createAction(\"onKeyDown\")):(_.unsubscribeVisibilityChange(),null===(t=this._editorFactory)||void 0===t||t.focused.remove(this.focusedHandlerWithContext)),this.initViewHandlers(),this.initDocumentHandlers()},o.focusedHandler=function(e){this.setupFocusedView(),this._isNeedScroll&&e.is(\":visible\")&&this._focusedView&&this._focusedView.getScrollable&&(this._focusedView._scrollToElement(e),this._isNeedScroll=!1)},o.rowsViewFocusHandler=function(e){var t,n=(0,s.default)(e.target),i=(0,s.default)(e.relatedTarget).closest(this._rowsView.element()).length,o=n.is(\"a\");if(e.relatedTarget&&o&&!i&&this._isEventInCurrentGrid(e)){var a=this._getFocusedCell();a=(0,k.isElementDefined)(a)?a:this._rowsView.getCellElements(0).filter(\"[tabindex]\").eq(0),n.closest(a).length||(e.preventDefault(),f.default.trigger(a,\"focus\"))}var r=n.is(\"td\"),l=(null!==(t=this.option(\"focusedRowIndex\"))&&void 0!==t?t:-1)<0;r&&l&&this._updateFocusedCellPosition(n)},o.subscribeToRowsViewFocusEvent=function(){var e,t=null===(e=this._rowsView)||void 0===e?void 0:e.element();f.default.on(t,\"focusin\",this.rowsViewFocusHandlerContext)},o.unsubscribeFromRowsViewFocusEvent=function(){var e,t=null===(e=this._rowsView)||void 0===e?void 0:e.element();f.default.off(t,\"focusin\",this.rowsViewFocusHandlerContext)},o.renderCompleted=function(e){var t=this._rowsView.element(),n=!e||\"refresh\"===e.changeType,i=this._focusedView&&this._focusedView.name===this._rowsView.name,o=e&&(\"append\"===e.changeType||\"prepend\"===e.changeType),r=(0,s.default)(a.default.getRootNode(t.get&&t.get(0))).find(\":focus\"),l=!r.length||r.closest(t).length;this.unsubscribeFromRowsViewFocusEvent(),this.subscribeToRowsViewFocusEvent(),this.initPointerEventHandler(),this.initKeyDownHandler(),this._setRowsViewAttributes(),i&&l&&(this._isNeedFocus?!o:this._isHiddenFocus&&n&&!(null==e?void 0:e.virtualColumnsScrolling))&&this._updateFocus(!0)},o.initViewHandlers=function(){var e,t;this.unsubscribeFromRowsViewFocusEvent(),this.unsubscribeFromPointerEvent(),this.unsubscribeFromKeyDownEvent(),null===(t=null===(e=this._rowsView)||void 0===e?void 0:e.renderCompleted)||void 0===t||t.remove(this.renderCompletedWithContext),this.isKeyboardEnabled()&&this._rowsView.renderCompleted.add(this.renderCompletedWithContext)},o.initDocumentHandlers=function(){var e=this,t=a.default.getDocument();this._documentClickHandler=this._documentClickHandler||this.createAction((function(t){var n=(0,s.default)(t.event.target),i=e._isEventInCurrentGrid(t.event)&&n.closest(\".\".concat(e.addWidgetPrefix(C.ROWS_VIEW_CLASS))).length,o=n.closest(\".\".concat(C.DROPDOWN_EDITOR_OVERLAY_CLASS)).length,a=e.getController(\"columnsResizer\"),r=!!a&&a.isResizing();i||o||r||(!(!!e._focusedView&&n.parents().filter(e._focusedView.element()).length>0)&&e._resetFocusedCell(!0),e._resetFocusedView())})),f.default.off(t,(0,m.addNamespace)(p.default.down,\"dxDataGridKeyboardNavigation\"),this._documentClickHandler),this.isKeyboardEnabled()&&f.default.on(t,(0,m.addNamespace)(p.default.down,\"dxDataGridKeyboardNavigation\"),this._documentClickHandler)},o._setRowsViewAttributes=function(){var e=this._getRowsViewElement();!this._dataController.getVisibleRows().length&&this._applyTabIndexToElement(e)},o.unsubscribeFromPointerEvent=function(){var e=(0,k.isMobile)()?h.name:p.default.down,t=this._getRowsViewElement();this._pointerEventAction&&f.default.off(t,(0,m.addNamespace)(e,\"dxDataGridKeyboardNavigation\"),this._pointerEventAction)},o.subscribeToPointerEvent=function(){var e=(0,k.isMobile)()?h.name:p.default.down,t=this._getRowsViewElement(),n=\".\".concat(b.ROW_CLASS,\" > td, .\").concat(b.ROW_CLASS);f.default.on(t,(0,m.addNamespace)(e,\"dxDataGridKeyboardNavigation\"),n,this._pointerEventAction)},o.initPointerEventHandler=function(){this._pointerEventAction=this._pointerEventAction||this.createAction(this._pointerEventHandler),this.unsubscribeFromPointerEvent(),this.subscribeToPointerEvent()},o.unsubscribeFromKeyDownEvent=function(){g.keyboard.off(this._keyDownListener)},o.subscribeToKeyDownEvent=function(){var e=this,t=this._getRowsViewElement();this._keyDownListener=g.keyboard.on(t,null,(function(t){return e._keyDownHandler(t)}))},o.initKeyDownHandler=function(){this._keyDownListener&&this.unsubscribeFromKeyDownEvent(),this.subscribeToKeyDownEvent()},o.dispose=function(){e.prototype.dispose.call(this),this._resetFocusedView(),g.keyboard.off(this._keyDownListener),f.default.off(a.default.getDocument(),(0,m.addNamespace)(p.default.down,\"dxDataGridKeyboardNavigation\"),this._documentClickHandler),clearTimeout(this._updateFocusTimeout),_.unsubscribeVisibilityChange()},o.optionChanged=function(t){switch(t.name){case\"keyboardNavigation\":case\"useLegacyKeyboardNavigation\":this.init(),t.handled=!0;break;default:e.prototype.optionChanged.call(this,t)}},o.isRowFocusType=function(){return this.focusType===C.FOCUS_TYPE_ROW},o.isCellFocusType=function(){return this.focusType===C.FOCUS_TYPE_CELL},o.setRowFocusType=function(){this.option(\"focusedRowEnabled\")&&(this.focusType=C.FOCUS_TYPE_ROW)},o.setCellFocusType=function(){this.focusType=C.FOCUS_TYPE_CELL},o._keyDownHandler=function(e){var t,n=!0;this._isNeedFocus=!0,this._isNeedScroll=!0;var i=this._processOnKeyDown(e),o=null===(t=this._editingController)||void 0===t?void 0:t.isEditing(),a=e.originalEvent;if(a.isDefaultPrevented())return this._isNeedFocus=!1,void(this._isNeedScroll=!1);if(!C.FUNCTIONAL_KEYS.includes(e.keyName)&&this._updateFocusedCellPositionByTarget(a.target),!i){switch(e.keyName){case\"leftArrow\":case\"rightArrow\":this._leftRightKeysHandler(e,o),i=!0;break;case\"upArrow\":case\"downArrow\":e.ctrl?_.selectView(\"rowsView\",this,a):this._upDownKeysHandler(e,o),i=!0;break;case\"pageUp\":case\"pageDown\":this._pageUpDownKeyHandler(e),i=!0;break;case\"space\":i=this._spaceKeyHandler(e,o);break;case\"A\":(0,m.isCommandKeyPressed)(e.originalEvent)?(this._ctrlAKeyHandler(e,o),i=!0):i=this._beginFastEditing(e.originalEvent);break;case\"tab\":this._tabKeyHandler(e,o),i=!0;break;case\"enter\":this._enterKeyHandler(e,o),i=!0;break;case\"escape\":this._escapeKeyHandler(e,o),i=!0;break;case\"F\":(0,m.isCommandKeyPressed)(e.originalEvent)?(this._ctrlFKeyHandler(e),i=!0):i=this._beginFastEditing(e.originalEvent);break;case\"F2\":this._f2KeyHandler(),i=!0;break;case\"del\":case\"backspace\":this._isFastEditingAllowed()&&!this._isFastEditingStarted()&&(i=this._beginFastEditing(a,!0))}i||this._beginFastEditing(a)||(this._isNeedFocus=!1,this._isNeedScroll=!1,n=!1),n&&a.stopPropagation()}},o._processOnKeyDown=function(e){var t=e.originalEvent,n={handled:!1,event:t};return this.executeAction(\"onKeyDown\",n),e.ctrl=t.ctrlKey,e.alt=t.altKey,e.shift=t.shiftKey,!!n.handled},o._closeEditCell=function(){var e=this;setTimeout((function(){e._editingController.closeEditCell()}))},o._leftRightKeysHandler=function(e,t){var n=this.getVisibleRowIndex(),i=e.originalEvent,o=this._focusedView&&this._focusedView.getRow(n),a=this._getDirectionCodeByKey(e.keyName),r=this._isFastEditingStarted();if((!t||r)&&(0,k.isDataRow)(o)){this.setCellFocusType(),r&&this._closeEditCell(),this._isVirtualColumnRender()&&this._processVirtualHorizontalPosition(a);var s=this._getNextCell(a);(0,k.isElementDefined)(s)&&this._arrowKeysHandlerFocusCell(i,s,a),i&&i.preventDefault()}},o._upDownKeysHandler=function(e,t){var n,i,o=this.getVisibleRowIndex(),a=this._focusedView&&this._focusedView.getRow(o),r=e.originalEvent,s=\"upArrow\"===e.keyName,l=this._dataController.dataSource(),u=null===(i=null===(n=this._editingController)||void 0===n?void 0:n.isEditRowByIndex)||void 0===i?void 0:i.call(n,o),c=this._isFastEditingStarted();if((!u||!t||c)&&a&&!(0,k.isDetailRow)(a)){if(c&&this._closeEditCell(),!this._navigateNextCell(r,e.keyName)&&this._isVirtualRowRender()&&s&&l&&!l.isLoading()){var h=(0,d.getOuterHeight)(a),f=this._focusedCellPosition.rowIndex-1;this._scrollBy(0,-h,f,r)}r&&r.preventDefault()}},o._pageUpDownKeyHandler=function(e){var t=this._dataController.pageIndex(),n=this._dataController.pageCount(),i=this.option(\"paging.enabled\"),o=\"pageUp\"===e.keyName,a=o?-1:1,r=this._rowsView.getScrollable();i&&!this._isVirtualScrolling()?(o?t>0:t<n-1)&&!this._isVirtualScrolling()&&(this._dataController.pageIndex(t+a),e.originalEvent.preventDefault()):r&&(0,d.getHeight)(r.container())<(0,d.getHeight)(r.$content())&&(this._scrollBy(0,(0,d.getHeight)(r.container())*a),e.originalEvent.preventDefault())},o._spaceKeyHandler=function(e,t){var n=this.getVisibleRowIndex(),i=(0,s.default)(e.originalEvent&&e.originalEvent.target);if(this.option(\"selection\")&&\"none\"!==this.option(\"selection\").mode&&!t){var o=\"row\"===this._getElementType(i)&&this.isRowFocusType()&&(0,k.isDataRow)(i);return i.hasClass(C.COMMAND_SELECT_CLASS)&&\"onClick\"===this.option(\"selection.showCheckBoxesMode\")&&this._selectionController.startSelectionWithCheckboxes(),!!(o||i.parent().hasClass(C.DATA_ROW_CLASS)||i.hasClass(this.addWidgetPrefix(C.ROWS_VIEW_CLASS)))&&(this._selectionController.changeItemSelection(n,{shift:e.shift,control:e.ctrl}),e.originalEvent.preventDefault(),!0)}return this._beginFastEditing(e.originalEvent)},o._ctrlAKeyHandler=function(e,t){t||e.alt||\"multiple\"!==this.option(\"selection.mode\")||!this.option(\"selection.allowSelectAll\")||(this._selectionController.selectAll(),e.originalEvent.preventDefault())},o._tabKeyHandler=function(e,t){var n=this.option(\"editing\"),i=e.shift?\"previous\":\"next\",o=!((0,c.isDefined)(this._focusedCellPosition)&&!(0,c.isEmptyObject)(this._focusedCellPosition))||!e.shift&&this._isLastValidCell(this._focusedCellPosition)||e.shift&&this._isFirstValidCell(this._focusedCellPosition),a=e.originalEvent.target,r=this._focusedView&&this._focusedView.element();if(!this._handleTabKeyOnMasterDetailCell(a,i)){if((0,s.default)(r).addClass(C.FOCUS_STATE_CLASS),n&&a&&!o)if((0,s.default)(a).hasClass(this.addWidgetPrefix(C.ROWS_VIEW_CLASS))&&this._resetFocusedCell(),this._isVirtualColumnRender()&&this._processVirtualHorizontalPosition(i),t){if(!this._editingCellTabHandler(e,i))return}else this._targetCellTabHandler(e,i)&&(o=!0);o?(this._editorFactory.loseFocus(),this._editingController.isEditing()&&!this._isRowEditMode()&&(this._resetFocusedCell(!0),this._resetFocusedView(),this._closeEditCell())):e.originalEvent.preventDefault()}},o._getMaxHorizontalOffset=function(){var e=this.component.getScrollable();return e?e.scrollWidth()-(0,d.getWidth)(this._rowsView.element()):0},o._isColumnRendered=function(e){var t=this._columnsController.getVisibleColumns(null,!0),n=this._columnsController.getVisibleColumns(),i=t[e],o=!1;return i&&(o=n.indexOf(i)>=0),o},o._isFixedColumn=function(e){var t=this._columnsController.getVisibleColumns(null,!0)[e];return!!t&&!!t.fixed},o._isColumnVirtual=function(e){var t=e-this._columnsController.getColumnIndexOffset(),n=this._columnsController.getVisibleColumns()[t];return!!n&&\"virtual\"===n.command},o._processVirtualHorizontalPosition=function(e){var t,n=this.component.getScrollable(),i=this.getColumnIndex(),o=0,a=!1;switch(e){case\"next\":case\"nextInRow\":var r=this._getVisibleColumnCount();t=i+1,o=this.option(\"rtlEnabled\")?this._getMaxHorizontalOffset():0,a=\"next\"===e?r===t||this._isFixedColumn(i)&&!this._isColumnRendered(t):r>t&&this._isFixedColumn(i)&&!this._isColumnRendered(t);break;case\"previous\":case\"previousInRow\":if(t=i-1,o=this.option(\"rtlEnabled\")?0:this._getMaxHorizontalOffset(),\"previous\"===e){var s=this._columnsController.getColumnIndexOffset();a=t<0&&0===s||this._isFixedColumn(i)&&!this._isColumnRendered(t)}else a=t>=0&&this._isFixedColumn(i)&&!this._isColumnRendered(t)}a?n.scrollTo({left:o}):(0,c.isDefined)(t)&&(0,c.isDefined)(e)&&this._isColumnVirtual(t)&&0!==(o=this._getHorizontalScrollPositionOffset(e))&&n.scrollBy({left:o,top:0})},o._getHorizontalScrollPositionOffset=function(e){var t=0,n=this._getCell(this._focusedCellPosition),i=n&&(0,d.getOuterWidth)(n);if(i>0){var o=this.option(\"rtlEnabled\")?-1:1;t=\"nextInRow\"===e||\"next\"===e?i*o:i*o*-1}return t},o._editingCellTabHandler=function(e,t){var n,i=e.originalEvent.target,o=this._getCellElementFromTarget(i),a=e.originalEvent,r=this._getElementType(i);if(o.is(C.COMMAND_CELL_SELECTOR))return!this._targetCellTabHandler(e,t);this._updateFocusedCellPosition(o);var s=this._getNextCellByTabKey(a,t,r);if(!(o=s.$cell)||this._handleTabKeyOnMasterDetailCell(o,t))return!1;var l=this._columnsController,u=this._rowsView.getCellIndex(o)+l.getColumnIndexOffset(),d=l.getVisibleColumns(null,!0)[u],c=o.parent(),h=this._getRowIndex(c),f=this._dataController.items()[h],p=this._editingController;if(d&&d.allowEditing){var g=!f||\"data\"===f.rowType;n=p.allowUpdating({row:f})?g:f&&f.isNewRow}return n||this._closeEditCell(),this._focusCell(o,!s.isHighlighted)&&(!this._isRowEditMode()&&n?this._editFocusedCell():this._focusInteractiveElement(o,e.shift)),!0},o._targetCellTabHandler=function(e,t){var n=e.originalEvent,i=n.target,o=this._getElementType(i),a=this._getCellElementFromTarget(i),r=\"cell\"===o&&this._getInteractiveElement(a,!e.shift),l=!1;if(!(0,k.isEditorCell)(this,a)&&(null==r?void 0:r.length)&&i!==r.get(0))l=!0;else{void 0===this._focusedCellPosition.rowIndex&&(0,s.default)(i).hasClass(b.ROW_CLASS)&&this._updateFocusedCellPosition(a),o=this._getElementType(i),this.isRowFocusType()&&(this.setCellFocusType(),\"row\"===o&&(0,k.isDataRow)((0,s.default)(i))&&(i=this.getFirstValidCellInRow((0,s.default)(i)),o=this._getElementType(i)));var u=this._getNextCellByTabKey(n,t,o);if(!(a=u.$cell))return!1;if(!(a=this._checkNewLineTransition(n,a)))return!1;this._focusCell(a,!u.isHighlighted),(0,k.isEditorCell)(this,a)||this._focusInteractiveElement(a,e.shift)}return l},o._getNextCellByTabKey=function(e,t,n){var i=this._getNextCell(t,n),o=i&&this._fireFocusedCellChanging(e,i,!0);return!o||o.cancel?{}:(o.$newCellElement&&(i=o.$newCellElement),{$cell:i,isHighlighted:o.isHighlighted})},o._checkNewLineTransition=function(e,t){var n=this.getVisibleRowIndex(),i=t.parent();if(n!==this._getRowIndex(i)){var o=this._getCellPosition(t),a=this._fireFocusedRowChanging(e,i);if(a.cancel)return;a.rowIndexChanged&&o&&(this.setFocusedColumnIndex(o.columnIndex),t=this._getFocusedCell())}return t},o._enterKeyHandler=function(e,t){var n=this._getFocusedCell(),i=this.getVisibleRowIndex(),o=this._focusedView&&this._focusedView.getRow(i);if(this.option(\"grouping.allowCollapsing\")&&(0,k.isGroupRow)(o)||this.option(\"masterDetail.enabled\")&&n&&n.hasClass(C.COMMAND_EXPAND_CLASS)){var a=this._dataController.getKeyByRowIndex(i),r=this._dataController.items()[i];void 0!==a&&r&&r.data&&!r.data.isContinuation&&this._dataController.changeRowExpand(a)}else this._processEnterKeyForDataCell(e,t)},o._processEnterKeyForDataCell=function(e,t){var n=this._getEnterKeyDirection(e),i=this._allowEditingOnEnterKey();t||!i&&n?(this._handleEnterKeyEditingCell(e.originalEvent),\"next\"===n||\"previous\"===n?this._targetCellTabHandler(e,n):\"upArrow\"!==n&&\"downArrow\"!==n||this._navigateNextCell(e.originalEvent,n)):i&&this._startEditing(e)},o._getEnterKeyDirection=function(e){var t=this.option(\"keyboardNavigation.enterKeyDirection\"),n=e.shift;return\"column\"===t?n?\"upArrow\":\"downArrow\":\"row\"===t?n?\"previous\":\"next\":void 0},o._handleEnterKeyEditingCell=function(e){var t=e.target,n=this._getCellElementFromTarget(t),i=this._isRowEditMode();this._updateFocusedCellPosition(n),i?(this._focusEditFormCell(n),setTimeout(this._editingController.saveEditData.bind(this._editingController))):(f.default.trigger((0,s.default)(t),\"change\"),this._closeEditCell(),e.preventDefault())},o._escapeKeyHandler=function(e,t){var n=this._getCellElementFromTarget(e.originalEvent.target);t&&(this._updateFocusedCellPosition(n),this._isRowEditMode()?(this._focusEditFormCell(n),this._editingController.cancelEditData(),0===this._dataController.items().length&&(this._resetFocusedCell(),this._editorFactory.loseFocus())):\"cell\"===this._editingController.getEditMode()?this._editingController.cancelEditData():this._closeEditCell(),e.originalEvent.preventDefault())},o._ctrlFKeyHandler=function(e){if(this.option(\"searchPanel.visible\")){var t=this._headerPanel.getSearchTextEditor();t&&(t.focus(),e.originalEvent.preventDefault())}},o._f2KeyHandler=function(){var e=this._editingController.isEditing(),t=this.getVisibleRowIndex(),n=this._focusedView&&this._focusedView.getRow(t);!e&&(0,k.isDataRow)(n)&&this._startEditing()},o._navigateNextCell=function(e,t){var n=this._getNextCell(t),i=this._getDirectionCodeByKey(t);return!!(n&&this._isCellValid(n))&&this._arrowKeysHandlerFocusCell(e,n,i)},o._arrowKeysHandlerFocusCell=function(e,t,n){var i=\"prevRow\"===n||\"nextRow\"===n,o=this._fireFocusChangingEvents(e,t,i,!0);return t=o.$newCellElement,!(o.cancel||!this._isCellValid(t))&&(this._focus(t,!o.isHighlighted),!0)},o._beginFastEditing=function(e,t){if(!this._isFastEditingAllowed()||e.altKey||e.ctrlKey||this._editingController.isEditing())return!1;if(t)this._startEditing(e,C.FAST_EDITING_DELETE_KEY);else{var n=e.key,i=e.keyCode||e.which,o=n||i&&String.fromCharCode(i);!o||1!==o.length&&o!==C.FAST_EDITING_DELETE_KEY||this._startEditing(e,o)}return!0},o._pointerEventHandler=function(e){var t,n=e.event||e,i=(0,s.default)(n.currentTarget),o=null===(t=this._rowsView)||void 0===t?void 0:t.element(),a=i.parent(),r=(0,s.default)(n.target).is(C.INTERACTIVE_ELEMENTS_SELECTOR),l=!!(0,s.default)(n.target).closest(\".\".concat(C.REVERT_BUTTON_CLASS)).length,u=i.hasClass(C.COMMAND_EXPAND_CLASS);this._isEventInCurrentGrid(n)&&(l||!this._isCellValid(i,!r)&&!u?i.is(\"td\")&&this._resetFocusedCell():(i=this._isInsideEditForm(i)?(0,s.default)(n.target):i,this._focusView(),(0,s.default)(o).removeClass(C.FOCUS_STATE_CLASS),a.hasClass(C.FREESPACE_ROW_CLASS)?(this._updateFocusedCellPosition(i),this._applyTabIndexToElement(this._focusedView.element()),this._focusedView.focus(!0)):this._isMasterDetailCell(i)?this._updateFocusedCellPosition(i):this._clickTargetCellHandler(n,i)))},o._clickTargetCellHandler=function(e,t){var n=this._rowsView.getCellIndex(t),i=this._columnsController.getVisibleColumns()[n],o=this._isCellEditMode();this.setCellFocusType();var a=this._fireFocusChangingEvents(e,t,!0);if(t=a.$newCellElement,a.cancel)this.setRowFocusType(),this.setFocusedRowIndex(a.prevRowIndex),this._editingController.isEditing()&&o&&this._closeEditCell();else{if(a.resetFocusedRow)return void this.getController(\"focus\")._resetFocusedRow();if(a.rowIndexChanged&&(t=this._getFocusedCell()),a.isHighlighted||o||this.setRowFocusType(),this._updateFocusedCellPosition(t),this._allowRowUpdating()&&o&&i&&i.allowEditing)this._isNeedFocus=!1,this._isHiddenFocus=!1;else{t=this._getFocusedCell();var r=e&&(0,s.default)(e.target).closest(\"\".concat(C.NON_FOCUSABLE_ELEMENTS_SELECTOR,\", td\")),l=r&&r.not(t).is(C.NON_FOCUSABLE_ELEMENTS_SELECTOR),u=!(!!i&&!i.command&&t.hasClass(b.EDITOR_CELL_CLASS))&&(!a.isHighlighted||l);this._focus(t,u,l)}}},o._allowRowUpdating=function(){var e=this.getVisibleRowIndex(),t=this._dataController.items()[e];return this._editingController.allowUpdating({row:t},\"click\")},o.focus=function(e){var t,n=this.option(\"focusedRowEnabled\"),i=this._isCellElement((0,s.default)(e));e||(t=\".dx-datagrid-rowsview .dx-row[tabindex]\",n||(t+=\", .dx-datagrid-rowsview .dx-row > td[tabindex]\"),e=this.component.$element().find(t).first()),e&&this._focusElement((0,s.default)(e),i)},o.getFocusedView=function(){return this._focusedView},o.setupFocusedView=function(){this.isKeyboardEnabled()&&!(0,c.isDefined)(this._focusedView)&&this._focusView()},o._focusElement=function(e,t){var n=(0,s.default)(this._getRowsViewElement()),i=e.closest(n),o=this.isRowFocusType(),a={};!i.length||this._isCellElement(e)&&!this._isCellValid(e)||(this._focusView(),this._isNeedFocus=!0,this._isNeedScroll=!0,(this._isCellElement(e)||(0,k.isGroupRow)(e))&&(this.setCellFocusType(),e=(a=this._fireFocusChangingEvents(null,e,!0,t)).$newCellElement,o&&!a.isHighlighted&&this.setRowFocusType()),a.cancel||(this._focus(e,!a.isHighlighted),this._focusInteractiveElement(e)))},o._getFocusedViewByElement=function(e){var t=this.getFocusedView(),n=t&&(0,s.default)(t.element());return e&&0!==e.closest(n).length},o._focusView=function(){this._focusedView=this._rowsView},o._resetFocusedView=function(){this.setRowFocusType(),this._focusedView=null},o._focusInteractiveElement=function(e,t){if(e){var n=this._getInteractiveElement(e,t);w.default.focusAndSelectElement(this,n)}},o._focus=function(e,t,n){var i=e&&!e.hasClass(b.ROW_CLASS)?e.closest(\".\".concat(b.ROW_CLASS)):e;if(!i||!(0,k.isNotFocusedRow)(i)){var o,a=this._focusedView,r=a&&a.element();this._isHiddenFocus=t;var s=(0,k.isGroupRow)(i)||(0,k.isGroupFooterRow)(i)||this.isRowFocusType();s?(o=i,a&&this.setFocusedRowIndex(this._getRowIndex(i))):this._isCellElement(e)&&(o=e,this._updateFocusedCellPosition(e)),o&&(r&&r.find(\".dx-row[tabindex], .dx-row > td[tabindex]\").not(o).removeClass(C.CELL_FOCUS_DISABLED_CLASS).removeClass(C.FOCUSED_CLASS).removeAttr(\"tabindex\"),f.default.one(o,\"blur\",(function(e){e.relatedTarget&&o.removeClass(C.CELL_FOCUS_DISABLED_CLASS).removeClass(C.FOCUSED_CLASS)})),n||(this._applyTabIndexToElement(o),f.default.trigger(o,\"focus\")),t?(o.addClass(C.CELL_FOCUS_DISABLED_CLASS),s&&e.addClass(C.CELL_FOCUS_DISABLED_CLASS)):this._editorFactory.focus(o))}},o._updateFocus=function(e){var t=this;this._updateFocusTimeout=setTimeout((function(){if(t._needFocusEditingCell())t._editingController._focusEditingCell();else{var n=t._getFocusedCell(),i=t._editingController.isEditing();if(!t._isMasterDetailCell(n)||t._isRowEditMode()){if(t._hasSkipRow(n.parent())){var o=t._focusedCellPosition&&t._focusedCellPosition.rowIndex>0?\"upArrow\":\"downArrow\";n=t._getNextCell(o)}if((0,k.isElementDefined)(n))if(n.is(\"td\")||n.hasClass(t.addWidgetPrefix(C.EDIT_FORM_ITEM_CLASS))){var a=n.is(C.COMMAND_CELL_SELECTOR),r=n.find(\":focus\"),s=(0,k.isElementDefined)(r);if(!e&&a||!t._editorFactory.focus())s||!t._isNeedFocus&&!t._isHiddenFocus||t._focus(n,t._isHiddenFocus);else{if(a&&s)return void w.default.focusAndSelectElement(t,r);!s&&t._focus(n)}i&&t._focusInteractiveElement.bind(t)(n)}else f.default.trigger(n,\"focus\")}}}))},o._needFocusEditingCell=function(){var e=this._editingController.getEditMode()===b.EDIT_MODE_CELL,t=this._editingController.getEditMode()===b.EDIT_MODE_BATCH,n=e&&this._editingController.hasChanges(),i=t&&this._editingController.isNewRowInEditMode(),o=this._getFocusedCell();return(0===o.children().length||o.find(b.FOCUSABLE_ELEMENT_SELECTOR).length>0)&&(n||i)},o._getFocusedCell=function(){return(0,s.default)(this._getCell(this._focusedCellPosition))},o._updateFocusedCellPositionByTarget=function(e){var t;if(\"row\"===this._getElementType(e)&&(0,c.isDefined)(null===(t=this._focusedCellPosition)||void 0===t?void 0:t.columnIndex)){var n=(0,s.default)(e);this._focusedView&&(0,k.isGroupRow)(n)&&this.setFocusedRowIndex(this._getRowIndex(n))}else this._updateFocusedCellPosition(this._getCellElementFromTarget(e))},o._updateFocusedCellPosition=function(e,t){var n=this._getCellPosition(e,t);return n&&(!e.length||n.rowIndex>=0&&n.columnIndex>=0)&&this.setFocusedCellPosition(n.rowIndex,n.columnIndex),n},o._getFocusedColumnIndexOffset=function(e){var t=0,n=this._columnsController.getVisibleColumns()[e];return n&&n.fixed?t=this._getFixedColumnIndexOffset(n):e>=0&&(t=this._columnsController.getColumnIndexOffset()),t},o._getFixedColumnIndexOffset=function(e){return(0,k.isFixedColumnIndexOffsetRequired)(this,e)?this._getVisibleColumnCount()-this._columnsController.getVisibleColumns().length:0},o._getCellPosition=function(e,t){var n,i=(0,k.isElementDefined)(e)&&e.closest(\"tr\");if((0,k.isElementDefined)(i)){var o=this._getRowIndex(i);return n=this._rowsView.getCellIndex(e,o),n+=this._getFocusedColumnIndexOffset(n),t&&(n=\"previous\"===t?n-1:n+1,n=this._applyColumnIndexBoundaries(n)),{rowIndex:o,columnIndex:n}}},o._focusCell=function(e,t){if(this._isCellValid(e))return this._focus(e,t),!0},o._focusEditFormCell=function(e){e.hasClass(C.MASTER_DETAIL_CELL_CLASS)&&this._editorFactory.focus(e,!0)},o._resetFocusedCell=function(e){var t,n=this._getFocusedCell();(0,k.isElementDefined)(n)&&n.removeAttr(\"tabindex\"),this._isNeedFocus=!1,this._isNeedScroll=!1,this._focusedCellPosition={},clearTimeout(this._updateFocusTimeout),null===(t=this._focusedView)||void 0===t||t.renderFocusState({preventScroll:e})},o.restoreFocusableElement=function(e,t){var n,i,o=(0,c.isDefined)(e),a=this._rowsView.element(),r=this._focusedCellPosition.columnIndex,s=this._dataController.getRowIndexOffset();e=o?e:this._rowsView.getTopVisibleItemIndex()+s,o?(i=this._rowsView.getRow(e-s),!(n=this._fireFocusedRowChanging(t,i)).cancel&&n.rowIndexChanged&&(e=n.newRowIndex)):(this._editorFactory.loseFocus(),this._applyTabIndexToElement(a),f.default.trigger(a,\"focus\")),o&&n.cancel||this.setFocusedCellPosition(e,r),o&&this._updateFocus()},o._getNewPositionByCode=function(e,t,n){var i=e.columnIndex,o=e.rowIndex;if(void 0===e.rowIndex&&\"next\"===n)return{columnIndex:0,rowIndex:0};switch(n){case\"nextInRow\":case\"next\":i<this._getVisibleColumnCount()-1&&\"row\"!==t&&this._hasValidCellAfterPosition({columnIndex:i,rowIndex:o})?i++:this._isLastRow(o)||\"next\"!==n||(i=0,o++);break;case\"previousInRow\":case\"previous\":i>0&&\"row\"!==t&&this._hasValidCellBeforePosition({columnIndex:i,rowIndex:o})?i--:o>0&&\"previous\"===n&&(o--,i=this._getVisibleColumnCount()-1);break;case\"upArrow\":o=o>0?o-1:o;break;case\"downArrow\":o=this._isLastRow(o)?o:o+1}return{columnIndex:i,rowIndex:o}},o.setFocusedCellPosition=function(e,t){this.setFocusedRowIndex(e),this.setFocusedColumnIndex(t)},o.setFocusedRowIndex=function(e){this._focusedCellPosition||(this._focusedCellPosition={}),this._focusedCellPosition.rowIndex=e},o.setFocusedColumnIndex=function(e){this._focusedCellPosition||(this._focusedCellPosition={}),this._focusedCellPosition.columnIndex=e},o.getRowIndex=function(){return this._focusedCellPosition?this._focusedCellPosition.rowIndex:-1},o.getColumnIndex=function(){return this._focusedCellPosition?this._focusedCellPosition.columnIndex:-1},o.getVisibleRowIndex=function(){var e,t=null===(e=this._focusedCellPosition)||void 0===e?void 0:e.rowIndex;return!(0,c.isDefined)(t)||t<0?-1:t-this._dataController.getRowIndexOffset()},o.getVisibleColumnIndex=function(){var e,t=null===(e=this._focusedCellPosition)||void 0===e?void 0:e.columnIndex;return(0,c.isDefined)(t)?t-this._columnsController.getColumnIndexOffset():-1},o._applyColumnIndexBoundaries=function(e){var t=this._getVisibleColumnCount();return e<0?e=0:e>=t&&(e=t-1),e},o._isCellByPositionValid=function(e){var t=(0,s.default)(this._getCell(e));return this._isCellValid(t)},o._isLastRow=function(e){var t=this._dataController;return this._isVirtualRowRender()?e>=t.getMaxRowIndex():e===Math.max.apply(Math,T(t.items().map((function(e,t){return!1!==e.visible?t:-1}))))},o._isFirstValidCell=function(e){var t=!1;return 0===e.rowIndex&&e.columnIndex>=0&&(t=t||!this._hasValidCellBeforePosition(e)),t},o._hasValidCellBeforePosition=function(e){for(var t=e.columnIndex,n=!1;t>0&&!n;){var i={columnIndex:--t,rowIndex:e.rowIndex};n=this._isCellByPositionValid(i)}return n},o._hasValidCellAfterPosition=function(e){for(var t=e.columnIndex,n=!1,i=this._getVisibleColumnCount();t<i-1&&!n;){var o={columnIndex:++t,rowIndex:e.rowIndex};n=this._isCellByPositionValid(o)}return n},o._isLastValidCell=function(e){var t=e.columnIndex>=0?e.columnIndex+1:0,n=e.rowIndex,i={columnIndex:t,rowIndex:n},o=this._dataController.getVisibleRows(),a=o&&o[n];return!!this._isLastRow(n)&&(!!(a&&\"group\"===a.rowType&&e.columnIndex>0)||(e.columnIndex===this._getVisibleColumnCount()-1||!this._isCellByPositionValid(i)&&this._isLastValidCell(i)))},o._isCellValid=function(e,t){if((0,k.isElementDefined)(e)){var n=e.parent(),i=this._columnsController,o=this._rowsView.getCellIndex(e)+i.getColumnIndexOffset(),a=i.getVisibleColumns(null,!0)[o],r=this._getVisibleColumnCount(),s=this._editingController,l=(0,k.isDetailRow)(n),u=a&&a.showWhenGrouped,d=a&&!e.hasClass(C.COMMAND_EXPAND_CLASS)&&(0,k.isDataRow)(n);if(S.GridCoreKeyboardNavigationDom.isDragCell(e))return!1;if(this._isMasterDetailCell(e))return!0;if(r>o&&(!l&&a&&(!(0,c.isDefined)(a.groupIndex)||u&&d)||parseInt(e.attr(\"colspan\"),10)>1)){var h=this._dataController.items(),f=this._rowsView.getRowIndex(n),p=h[f],g=s&&this._isCellEditMode()&&s.isEditing(),m=s&&s.isEditRow(f),_=m||g;return a.command?this._isLegacyNavigation()?!_&&\"expand\"===a.command:!g&&(m?\"select\"!==a.command:!_):(!g||!p||\"data\"===p.rowType)&&(!_||a.allowEditing||t)}}},o.getFirstValidCellInRow=function(e,t){for(var n,i,o=e.find(\"> td\"),a=t=t||0;a<o.length;++a)if(n=o.eq(a),this._isCellValid(n)){i=n;break}return i},o._getNextCell=function(e,t,n){var i,o,a=n||this._focusedCellPosition,r=this.isRowFocusType(),l=r||[\"next\",\"previous\"].includes(e);if(this._focusedView&&a){var u=this._getNewPositionByCode(a,t,e);i=(0,s.default)(this._getCell(u));var d=\"previous\"===e?this._isFirstValidCell(u):this._isLastValidCell(u);if((0,k.isElementDefined)(i)&&!this._isCellValid(i)&&this._isCellInRow(u,l)&&!d&&(i=r?this.getFirstValidCellInRow(i.parent(),u.columnIndex):this._getNextCell(e,\"cell\",u)),o=(0,k.isElementDefined)(i)&&i.parent(),this._hasSkipRow(o)){var c=this._getRowIndex(o);if(this._isLastRow(c))return null;i=this._getNextCell(e,\"row\",{columnIndex:a.columnIndex,rowIndex:c})}return(0,k.isElementDefined)(i)?i:null}return null},o._startEditing=function(e,t){var n=this._focusedCellPosition,i=this.getVisibleRowIndex(),o=this.getVisibleColumnIndex(),a=this._dataController.items()[i],r=this._columnsController.getVisibleColumns()[o];this._isAllowEditing(a,r)&&(this._isRowEditMode()?this._editingController.editRow(i):n&&this._startEditCell(e,t))},o._isAllowEditing=function(e,t){return this._editingController.allowUpdating({row:e})&&t&&t.allowEditing},o._editFocusedCell=function(){var e=this.getVisibleRowIndex(),t=this.getVisibleColumnIndex();return this._editingController.editCell(e,t)},o._startEditCell=function(e,t){var n=this;this._fastEditingStarted=(0,c.isDefined)(t);var i=this._editFocusedCell(),o=(0,c.isDeferred)(i);if(this._isFastEditingStarted()&&(o||i)){var a=o&&t===C.FAST_EDITING_DELETE_KEY?\"\":t,r=o?i:(0,u.Deferred)().resolve(),s=this._rowsView.waitAsyncTemplates(!0);(0,u.when)(r,s).done((function(){n._editingCellHandler(e,a)}))}},o._editingCellHandler=function(e,t){var n,i,o=this._getFocusedCell().find(C.INTERACTIVE_ELEMENTS_SELECTOR).eq(0),a=o.get(0);if(a){var r=(0,m.createEvent)(e,{type:\"keydown\",target:a}),s=(0,m.createEvent)(e,{type:\"keypress\",target:a}),u=(0,m.createEvent)(e,{type:\"input\",target:a});if(u.originalEvent&&(u.originalEvent=(0,m.createEvent)(u.originalEvent,{data:t})),null===(i=(n=a).select)||void 0===i||i.call(n),f.default.trigger(o,r),!r.isDefaultPrevented()&&(f.default.trigger(o,s),!s.isDefaultPrevented())){var d=l.default.mozilla?25:0;setTimeout((function(){o.val(t);var e=o.closest(\".\".concat(C.WIDGET_CLASS));f.default.off(e,\"focusout\"),f.default.one(e,\"focusout\",(function(){f.default.trigger(o,\"change\")})),f.default.trigger(o,u)}),d)}}},o._fireFocusChangingEvents=function(e,t,n,i){var o,a={},r=null!==(o=this._getCellPosition(t))&&void 0!==o?o:{};return this.isCellFocusType()&&((a=this._fireFocusedCellChanging(e,t,i)).cancel||(r.columnIndex=a.newColumnIndex,r.rowIndex=a.newRowIndex,i=a.isHighlighted,t=(0,s.default)(this._getCell(r)))),!a.cancel&&n&&t&&((a=this._fireFocusedRowChanging(e,t.parent())).cancel||(r.rowIndex=a.newRowIndex,a.isHighlighted=i)),a.$newCellElement=(0,s.default)(this._getCell(r)),a.$newCellElement.length||(a.$newCellElement=t),a},o._fireFocusedCellChanging=function(e,t,n){var i=this.option(\"focusedColumnIndex\"),o=this.option(\"focusedRowIndex\"),a=this._getCellPosition(t),r=a?a.columnIndex:-1,l=a?a.rowIndex:-1,u={cellElement:t,prevColumnIndex:i,prevRowIndex:o,newColumnIndex:r,newRowIndex:l,rows:this._dataController.getVisibleRows(),columns:this._columnsController.getVisibleColumns(),event:e,isHighlighted:n||!1,cancel:!1};return this._canceledCellPosition=null,this.executeAction(\"onFocusedCellChanging\",u),u.newColumnIndex===r&&u.newRowIndex===l||(u.$newCellElement=(0,s.default)(this._getCell({columnIndex:u.newColumnIndex,rowIndex:u.newRowIndex}))),u.cancel&&(this._canceledCellPosition={rowIndex:l,columnIndex:r}),u},o._fireFocusedCellChanged=function(e){var t=this._rowsView.getCellIndex(e),n=null==e?void 0:e.parent().data(\"options\"),i=null==n?void 0:n.key;this._memoFireFocusedCellChanged(i,t)},o._memoFireFocusedCellChanged=function(e,t){var n=this._getFocusedCell(),i=this._getRowIndex(null==n?void 0:n.parent()),o=Math.min(i-this._dataController.getRowIndexOffset(),this._dataController.items().length-1);if(!this._editingController.isEditCell(o,t)){var a=this._dataController.items()[o],s=this._columnsController.getVisibleColumns()[t];this.executeAction(\"onFocusedCellChanged\",{cellElement:n?(0,r.getPublicElement)(n):void 0,columnIndex:t,rowIndex:i,row:a,column:s})}},o._fireFocusedRowChanging=function(e,t){var n=this._getRowIndex(t),i=this.option(\"focusedRowIndex\"),o=this._dataController.loadingOperationTypes(),a={rowElement:t,prevRowIndex:i,newRowIndex:n,event:e,rows:this._dataController.getVisibleRows(),cancel:!1};return!this._dataController||this._dataController.isLoading()&&(o.reload||o.paging)?(a.cancel=!0,a):(this.option(\"focusedRowEnabled\")&&(this.executeAction(\"onFocusedRowChanging\",a),a.cancel||a.newRowIndex===n||(a.resetFocusedRow=a.newRowIndex<0,a.resetFocusedRow||this.setFocusedRowIndex(a.newRowIndex),a.rowIndexChanged=!0)),a)},o._fireFocusedRowChanged=function(){var e,t=this.option(\"focusedRowEnabled\"),n=this.option(\"focusedRowKey\"),i=null===(e=this._focusController)||void 0===e?void 0:e.getFocusedRowIndexByKey(n);!t||(0,c.isDefined)(n)&&i<0||this._memoFireFocusedRowChanged(n,i)},o._memoFireFocusedRowChanged=function(e,t){var n=t-this._dataController.getRowIndexOffset();this.executeAction(\"onFocusedRowChanged\",{rowElement:t<0?void 0:this._rowsView.getRowElement(n),rowIndex:t,row:t<0?void 0:this._dataController.getVisibleRows()[n]})},o._isEventInCurrentGrid=function(e){return w.default.isElementInCurrentGrid(this,(0,s.default)(e.target))},o._isRowEditMode=function(){var e=this._editingController.getEditMode();return e===b.EDIT_MODE_ROW||e===b.EDIT_MODE_FORM},o._isCellEditMode=function(){var e=this._editingController.getEditMode();return e===b.EDIT_MODE_CELL||e===b.EDIT_MODE_BATCH},o._isFastEditingAllowed=function(){return this._isCellEditMode()&&this.option(\"keyboardNavigation.editOnKeyPress\")},o._getInteractiveElement=function(e,t){var n=e.find(C.INTERACTIVE_ELEMENTS_SELECTOR).filter(\":visible\");return t?n.last():n.first()},o._applyTabIndexToElement=function(e){var t=this.option(\"tabIndex\")||0;e.attr(\"tabindex\",(0,c.isDefined)(t)?t:0)},o._getCell=function(e){if(this._focusedView&&e){var t=this._dataController.getRowIndexOffset(),n=this._columnsController.getVisibleColumns(null,!0)[e.columnIndex],i=n&&n.fixed?this._getFixedColumnIndexOffset(n):this._columnsController.getColumnIndexOffset(),o=e.rowIndex>=0?e.rowIndex-t:-1,a=e.columnIndex>=0?e.columnIndex-i:-1;return this._focusedView.getCell({rowIndex:o,columnIndex:a})}},o._getRowIndex=function(e){var t=this._rowsView.getRowIndex(e);return t>=0&&(t+=this._dataController.getRowIndexOffset()),t},o._hasSkipRow=function(e){var t=e&&e.get(0);return t&&(\"none\"===t.style.display||(0,k.isDetailRow)(e)&&!e.hasClass(this.addWidgetPrefix(b.EDIT_FORM_CLASS)))},o._allowEditingOnEnterKey=function(){return\"startEdit\"===this.option(\"keyboardNavigation.enterKeyAction\")},o._isLegacyNavigation=function(){return this.option(\"useLegacyKeyboardNavigation\")},o._getDirectionCodeByKey=function(e){var t;switch(e){case\"upArrow\":t=\"prevRow\";break;case\"downArrow\":t=\"nextRow\";break;case\"leftArrow\":t=this.option(\"rtlEnabled\")?\"nextInRow\":\"previousInRow\";break;case\"rightArrow\":t=this.option(\"rtlEnabled\")?\"previousInRow\":\"nextInRow\"}return t},o._isVirtualScrolling=function(){var e=this.option(\"scrolling.mode\");return\"virtual\"===e||\"infinite\"===e},o._isVirtualRowRender=function(){return this._isVirtualScrolling()||w.default.isVirtualRowRendering(this)},o._isVirtualColumnRender=function(){return\"virtual\"===this.option(\"scrolling.columnRenderingMode\")},o._scrollBy=function(e,t,n,i){var o=this,a=this._rowsView.getScrollable();if(o._focusedCellPosition){a.on(\"scroll\",(function e(){a.off(\"scroll\",e),setTimeout(o.restoreFocusableElement.bind(o,n,i))}))}return a.scrollBy({left:e,top:t})},o._isInsideEditForm=function(e){var t=(0,s.default)(e).closest(\".\".concat(this.addWidgetPrefix(b.EDIT_FORM_CLASS)));return t.length&&this.elementIsInsideGrid(t)},o._isMasterDetailCell=function(e){var t=(0,s.default)(e).closest(\".\".concat(C.MASTER_DETAIL_CELL_CLASS));return t.length&&this.elementIsInsideGrid(t)},o._processNextCellInMasterDetail=function(e,t){!this._isInsideEditForm(e)&&e&&this._applyTabIndexToElement(e)},o._handleTabKeyOnMasterDetailCell=function(e,t){if(this._isMasterDetailCell(e)){this._updateFocusedCellPosition((0,s.default)(e),t);var n=this._getNextCell(t,\"row\");return this._processNextCellInMasterDetail(n,(0,s.default)(e)),!0}return!1},o._getElementType=function(e){return(0,s.default)(e).is(\"tr\")?\"row\":\"cell\"},o._isFastEditingStarted=function(){return this._isFastEditingAllowed()&&this._fastEditingStarted},o._getVisibleColumnCount=function(){return this._columnsController.getVisibleColumns(null,!0).length},o._isCellInRow=function(e,t){var n=e.columnIndex,i=this._getVisibleColumnCount();return t?n>=0&&n<=i-1:n>0&&n<i-1},o._isCellElement=function(e){return e.length&&\"TD\"===e[0].tagName},o._getCellElementFromTarget=function(e){var t=this._getElementType(e),n=(0,s.default)(e);return\"cell\"===t?n.closest(\".\".concat(b.ROW_CLASS,\" > td\")):n.children().not(\".\".concat(C.COMMAND_EXPAND_CLASS)).first()},o._getRowsViewElement=function(){var e;return null===(e=this._rowsView)||void 0===e?void 0:e.element()},o.isKeyboardEnabled=function(){return this.option(\"keyboardNavigation.enabled\")},o._processCanceledEditCellPosition=function(e,t){if(this._canceledCellPosition){var n=this._canceledCellPosition.rowIndex===e&&this._canceledCellPosition.columnIndex===t;return this._canceledCellPosition=null,n}},o.updateFocusedRowIndex=function(){var e=this._dataController,t=this.getVisibleRowIndex(),n=e.items(),i=n.length?n.length-1:-1,o=e.getRowIndexOffset();i>=0&&t>i&&this.setFocusedRowIndex(i+o)},i}(x.default.ViewController);t.KeyboardNavigationController=A;var P={defaultOptions:function(){return{useLegacyKeyboardNavigation:!1,keyboardNavigation:{enabled:!0,enterKeyAction:\"startEdit\",enterKeyDirection:\"none\",editOnKeyPress:!1}}},controllers:{keyboardNavigation:A},extenders:{views:{rowsView:{_rowClick:function(e){var t=this.getController(\"editing\").getEditRowIndex(),n=this.getController(\"keyboardNavigation\"),i=n.isKeyboardEnabled();t===e.rowIndex&&n.setCellFocusType();var o=((0,k.isMobile)()||!i)&&this.option(\"focusedRowEnabled\");o&&this._triggerPointerDownEventHandler(e,!i),this.callBase.apply(this,arguments)},_triggerPointerDownEventHandler:function(e,t){var n=e.event.originalEvent;if(n){var i=this.getController(\"keyboardNavigation\"),o=(0,s.default)(n.target),a=this.getCellIndex(o),r=this.getController(\"columns\").getVisibleColumns()[a],l=this.getController(\"data\").items()[e.rowIndex];if(i._isAllowEditing(l,r)||t){var u=(0,m.createEvent)(n,{currentTarget:n.target});i._pointerEventHandler(u)}}},renderFocusState:function(e){var t=null!=e?e:{},n=t.preventScroll,i=t.pageSizeChanged,o=this.getController(\"keyboardNavigation\"),a=this.element();a&&!(0,v.focused)(a)&&a.attr(\"tabindex\",null),i&&o.updateFocusedRowIndex();var r=o.getVisibleRowIndex();(!(0,c.isDefined)(r)||r<0)&&(r=0);var s=this.getCellElements(r);o.isKeyboardEnabled()&&(null==s?void 0:s.length)&&this.updateFocusElementTabIndex(s,n)},updateFocusElementTabIndex:function(e){var t=this.getController(\"keyboardNavigation\"),n=e.eq(0).parent();if((0,k.isGroupRow)(n))t._applyTabIndexToElement(n);else{var i=t.getColumnIndex();(!(0,c.isDefined)(i)||i<0)&&(i=0),this._updateFocusedCellTabIndex(e,i)}},_updateFocusedCellTabIndex:function(e,t){var n=this.getController(\"keyboardNavigation\"),i=e?e.length:-1,o=function(e){var t=n._isMasterDetailCell(e),i=n._isCellValid(e);if(!t&&i&&n._isCellElement(e))return n._applyTabIndexToElement(e),n.setCellFocusType(),!0},a=S.GridCoreKeyboardNavigationDom.getCellToFocus(e,t);if(a.length)o(a);else{i<=t&&(t=i-1);for(var r=t;r<i&&!o((0,s.default)(e[r]));++r);}},renderDelayedTemplates:function(e){this.callBase.apply(this,arguments),this._renderFocusByChange(e)},_renderFocusByChange:function(e){var t=null!=e?e:{},n=t.operationTypes,i=t.repaintChangesOnly,o=null!=n?n:{},a=o.fullReload,r=o.pageSize;if(!e||!i||a||r){var s=(0,k.shouldPreventScroll)(this);this.renderFocusState({preventScroll:s,pageSizeChanged:r})}},_renderCore:function(e){var t=this.callBase.apply(this,arguments);return this._renderFocusByChange(e),t},_editCellPrepared:function(e){var t=this._getEditorInstance(e),n=this.getController(\"keyboardNavigation\"),i=n&&n._isFastEditingStarted();t&&i&&this._handleEditingNavigationMode(t),this.callBase.apply(this,arguments)},_handleEditingNavigationMode:function(e){[\"downArrow\",\"upArrow\"].forEach((function(t){var n=e._supportedKeys()[t];e.registerKeyHandler(t,(function(t){if(\"true\"===e._input().attr(\"aria-expanded\"))return n&&n.call(e,t)}))})),e.registerKeyHandler(\"leftArrow\",o.noop),e.registerKeyHandler(\"rightArrow\",o.noop),e.NAME===C.DATEBOX_WIDGET_NAME&&e.option(\"useMaskBehavior\")&&e.registerKeyHandler(\"enter\",o.noop)},_getEditorInstance:function(e){var t=e.find(\".dx-texteditor\").eq(0);return w.default.getWidgetInstance(t)}}},controllers:{editing:{editCell:function(e,t){var n=this.getController(\"keyboardNavigation\");if(n._processCanceledEditCellPosition(e,t))return!1;var i=this.callBase(e,t);return i&&n.setupFocusedView(),i},editRow:function(e){var t=this.getController(\"keyboardNavigation\"),n=t.getVisibleColumnIndex(),i=this._columnsController.getVisibleColumns()[n];(i&&i.type||this.option(\"editing.mode\")===b.EDIT_MODE_FORM)&&t._resetFocusedCell(),this.callBase(e)},addRow:function(e){var t=this.getController(\"keyboardNavigation\");return t.setupFocusedView(),t.setCellFocusType(),this.callBase.apply(this,arguments)},getFocusedCellInRow:function(e){var t=this.getController(\"keyboardNavigation\"),n=this.callBase(e),i=this._dataController.getRowIndexOffset(),o=t._focusedCellPosition.rowIndex-i;if(t.isKeyboardEnabled()&&o===e){var a=t._getFocusedCell();(0,k.isElementDefined)(a)&&!a.hasClass(C.COMMAND_EDIT_CLASS)&&(n=a)}return n},_processCanceledEditingCell:function(){var e=this;this.closeEditCell().done((function(){e.getController(\"keyboardNavigation\")._updateFocus()}))},init:function(){this.callBase(),this._keyboardNavigationController=this.getController(\"keyboardNavigation\")},closeEditCell:function(){var e=this._keyboardNavigationController;e._fastEditingStarted=!1;var t=this.callBase.apply(this,arguments);return e._updateFocus(),t},_delayedInputFocus:function(){this._keyboardNavigationController._isNeedScroll=!0,this.callBase.apply(this,arguments)},_isEditingStart:function(){var e=this.getController(\"keyboardNavigation\"),t=this.callBase.apply(this,arguments);if(t&&!e._isNeedFocus){var n=e._getFocusedCell();e._focus(n,!0)}return t}},data:{_correctRowIndices:function(e){var t=this,n=t.getController(\"keyboardNavigation\"),i=t.getController(\"editorFactory\"),o=n._focusedCellPosition;if(t.callBase.apply(t,arguments),o&&o.rowIndex>=0){var a=e(o.rowIndex);a&&(o.rowIndex+=a,i.refocus())}},getMaxRowIndex:function(){var e=this.items().length-1,t=this.virtualItemsCount();t&&(e+=this.getRowIndexOffset()+t.end);return e}},adaptiveColumns:{_showHiddenCellsInView:function(e){var t=e.viewName,n=e.$cells,i=e.isCommandColumn;this.callBase.apply(this,arguments),t===C.COLUMN_HEADERS_VIEW&&!i&&n.each((function(e,t){var n=(0,s.default)(t);(0,k.isCellInHeaderRow)(n)&&n.attr(\"tabindex\",0)}))},_hideVisibleCellInView:function(e){var t=e.viewName,n=e.$cell,i=e.isCommandColumn;this.callBase.apply(this,arguments),t===C.COLUMN_HEADERS_VIEW&&!i&&(0,k.isCellInHeaderRow)(n)&&n.removeAttr(\"tabindex\")}}}}};t.keyboardNavigationModule=P},67250:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isCellInHeaderRow=function(e){return!!e.parent(\".\".concat(s.HEADER_ROW_CLASS)).length},t.isDataRow=function(e){return e&&e.hasClass(s.DATA_ROW_CLASS)},t.isDetailRow=function(e){return e&&e.hasClass(s.MASTER_DETAIL_ROW_CLASS)},t.isEditorCell=function(e,t){return!e._isRowEditMode()&&t&&!t.hasClass(s.COMMAND_SELECT_CLASS)&&t.hasClass(r.EDITOR_CELL_CLASS)},t.isElementDefined=function(e){return(0,a.isDefined)(e)&&e.length>0},t.isFixedColumnIndexOffsetRequired=function(e,t){if(e.option(\"rtlEnabled\"))return!(\"right\"===t.fixedPosition||(0,a.isDefined)(t.command)&&!(0,a.isDefined)(t.fixedPosition));return!(!(0,a.isDefined)(t.fixedPosition)||\"left\"===t.fixedPosition)},t.isGroupFooterRow=function(e){return e&&e.hasClass(\"dx-datagrid-group-footer\")},t.isGroupRow=function(e){return e&&e.hasClass(s.GROUP_ROW_CLASS)},t.isMobile=function(){return\"desktop\"!==o.default.current().deviceType},t.isNotFocusedRow=function(e){return!e||e.hasClass(s.FREESPACE_ROW_CLASS)||e.hasClass(s.VIRTUAL_ROW_CLASS)},t.shouldPreventScroll=function(e){var t=e.getController(\"keyboardNavigation\");return!!t._isVirtualScrolling()&&e.option(\"focusedRowIndex\")===t.getRowIndex()};var i,o=(i=n(20530))&&i.__esModule?i:{default:i},a=n(35922),r=n(72313),s=n(67004)},9130:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.registerKeyboardAction=void 0;var o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(\"default\"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var l=r?Object.getOwnPropertyDescriptor(e,s):null;l&&(l.get||l.set)?Object.defineProperty(o,s,l):o[s]=e[s]}o.default=e,n&&n.set(e,o);return o}(n(56756));function a(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}t.registerKeyboardAction=function(e,t,n,i,a){var r=t.getController(\"keyboardNavigation\");if(!(t.option(\"useLegacyKeyboardNavigation\")||r&&!r.isKeyboardEnabled())){t.createAction(\"onKeyDown\"),o.registerKeyboardAction(e,t,n,i,a,(function(e){t.executeAction(\"onKeyDown\",e)}))}}},1229:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.prepareItems=function(e,t){var n=function(e){return e||1},o=[],a=(e[0]||[]).reduce((function(e,t){return e+n(t.colspan)}),0),r=function(e){var t=0,i=0;return function(){var o=e[t]||[],a=o[i++];return i>=o.length&&(t++,i=0),a&&(a.colspan=n(a.colspan),a.rowspan=n(a.rowspan)),a}}(e),s=function e(n,a,r){if((o[n]=o[n]||[])[a]=r,r.colspan>1||r.rowspan>1){for(var s=function(e){return(0,i.extend)({},e,t)}(r),l=1;l<r.colspan;l++)e(n,a+l,s);for(var u=1;u<r.rowspan;u++)for(var d=0;d<r.colspan;d++)e(n+u,a+d,s)}},l=r(),u=0;for(;l;){for(var d=0;d<a&&l;d++)o[u]&&o[u][d]||(s(u,d,l),d+=l.colspan-1,l=r());u++}return o};var i=n(13306)},15943:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.processModules=x;var i=h(n(38377)),o=h(n(68374)),a=h(n(44504)),r=n(20576),s=n(95479),l=n(35922),u=n(58201),d=h(n(28109)),c=h(n(96688));function h(e){return e&&e.__esModule?e:{default:e}}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var m=i.default.inherit({_endUpdateCore:function(){},ctor:function(e){var t=this;t._updateLockCount=0,t.component=e,t._actions={},t._actionConfigs={},(0,s.each)(this.callbackNames()||[],(function(e,n){var i=t.callbackFlags(n)||{};i.unique=!0,i.syncStrategy=!0,t[this]=(0,a.default)(i)}))},init:function(){},callbackNames:function(){},callbackFlags:function(){},publicMethods:function(){},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){this._updateLockCount>0&&(this._updateLockCount--,this._updateLockCount||this._endUpdateCore())},option:function(e){var t=this.component,n=t._optionCache;return 1===arguments.length&&n?(e in n||(n[e]=t.option(e)),n[e]):t.option.apply(t,arguments)},_silentOption:function(e,t){var n=this.component,i=n._optionCache;return i&&(i[e]=t),n._setOptionWithoutOptionChange(e,t)},localize:function(e){var t=this.component._optionCache;return t?(e in t||(t[e]=d.default.format(e)),t[e]):d.default.format(e)},on:function(){return this.component.on.apply(this.component,arguments)},off:function(){return this.component.off.apply(this.component,arguments)},optionChanged:function(e){e.name in this._actions&&(this.createAction(e.name,this._actionConfigs[e.name]),e.handled=!0)},getAction:function(e){return this._actions[e]},setAria:function(e,t,n){var i=n.get(0),o=\"role\"!==e&&\"id\"!==e?\"aria-\":\"\";i.setAttribute?i.setAttribute(o+e,t):n.attr(o+e,t)},_createComponent:function(){return this.component._createComponent.apply(this.component,arguments)},getController:function(e){return this.component._controllers[e]},createAction:function(e,t){if((0,l.isFunction)(e)){var n=this.component._createAction(e.bind(this),t);return function(e){n({event:e})}}this._actions[e]=this.component._createActionByOption(e,t),this._actionConfigs[e]=t},executeAction:function(e,t){var n=this._actions[e];return n&&n(t)},dispose:function(){var e=this;(0,s.each)(e.callbackNames()||[],(function(){e[this].empty()}))},addWidgetPrefix:function(e){var t=this.component.NAME;return\"dx-\".concat(t.slice(2).toLowerCase()).concat(e?\"-\".concat(e):\"\")},getWidgetContainerClass:function(){var e=\"dxDataGrid\"===this.component.NAME?null:\"container\";return this.addWidgetPrefix(e)},elementIsInsideGrid:function(e){return e.closest(\".\".concat(this.getWidgetContainerClass())).parent().is(this.component.$element())}}),_=m,v=_.inherit({getView:function(e){return this.component._views[e]},getViews:function(){return this.component._views}}),y=m.inherit({_isReady:function(){return this.component.isReady()},_endUpdateCore:function(){this.callBase(),!this._isReady()&&this._requireReady&&(this._requireRender=!1,this.component._requireResize=!1),this._requireRender&&(this._requireRender=!1,this.render(this._$parent))},_invalidate:function(e,t){this._requireRender=!0,this.component._requireResize=(0,u.hasWindow)()&&(this.component._requireResize||e),this._requireReady=this._requireReady||t},_renderCore:function(){},_resizeCore:function(){},_parentElement:function(){return this._$parent},ctor:function(e){this.callBase(e),this.renderCompleted=(0,a.default)(),this.resizeCompleted=(0,a.default)()},element:function(){return this._$element},getElementHeight:function(){var e=this.element();if(!e)return 0;var t=parseFloat(e.css(\"marginTop\"))||0,n=parseFloat(e.css(\"marginBottom\"))||0;return e.get(0).offsetHeight+t+n},isVisible:function(){return!0},getTemplate:function(e){return this.component._getTemplate(e)},render:function(e,t){var n=this,i=this._$element,a=this.isVisible();if((i||e)&&(this._requireReady=!1,i||(i=this._$element=(0,o.default)(\"<div>\").appendTo(e),this._$parent=e),i.toggleClass(\"dx-hidden\",!a),a)){this.component._optionCache={};var r=this._renderCore(t);this.component._optionCache=void 0,r?r.done((function(){n.renderCompleted.fire(t)})):this.renderCompleted.fire(t)}},resize:function(){this.isResizing=!0,this._resizeCore(),this.resizeCompleted.fire(),this.isResizing=!1},focus:function(e){this.element().get(0).focus({preventScroll:e})}});function b(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};return Object.entries(t).forEach((function(t){var i=p(t,2),o=i[0],a=i[1],r=e[o];if(r)if((0,l.isFunction)(a))n[o]=a(r);else{var s=r;n[o]=s.inherit(a)}})),n}function x(e,t){var n=t.modules,i=t.modulesOrder;function o(t){var n={};return(0,s.each)(t,(function(t,i){var o=new i(e);o.name=t,function(e,t,n){var i=n.publicMethods();i&&(0,s.each)(i,(function(i,o){if(!n[o])throw c.default.Error(\"E1006\",t,o);if(e[o])throw c.default.Error(\"E1005\",o);e[o]=function(){return n[o].apply(n,arguments)}}))}(e,t,o),n[t]=o})),n}i&&n.sort((function(e,t){var n=i.indexOf(e.name),o=i.indexOf(t.name);return n<0&&(n=1e6),o<0&&(o=1e6),n-o}));var a={},r={};n.forEach((function(e){var t=e.name,n=e.controllers,i=void 0===n?{}:n,o=e.views,s=void 0===o?{}:o;Object.entries(i).forEach((function(e){var n,i=p(e,2),o=i[0],r=i[1];if(a[o])throw c.default.Error(\"E1001\",t,o);if(!(null===(n=null==r?void 0:r.subclassOf)||void 0===n?void 0:n.call(r,_)))throw c.default.Error(\"E1002\",t,o);a[o]=r})),Object.entries(s).forEach((function(e){var n,i=p(e,2),o=i[0],a=i[1];if(r[o])throw c.default.Error(\"E1003\",t,o);if(!(null===(n=null==a?void 0:a.subclassOf)||void 0===n?void 0:n.call(a,y)))throw c.default.Error(\"E1004\",t,o);r[o]=a}))}));var l=n.filter((function(e){return!!e.extenders})),u=l.reduce((function(e,t){var n=t.extenders;return f(f({},e),b(e,null==n?void 0:n.controllers))}),a),d=l.reduce((function(e,t){var n=t.extenders;return f(f({},e),b(e,null==n?void 0:n.views))}),r);e._controllers=o(u),e._views=o(d)}var w={modules:[],View:y,ViewController:v,Controller:_,registerModule:function(e,t){for(var n=this.modules,i=0;i<n.length;i++)if(n[i].name===e)return;t.name=e,n.push(t)},registerModulesOrder:function(e){this.modulesOrder=e},unregisterModule:function(e){this.modules=(0,r.grep)(this.modules,(function(t){return t.name!==e}))},processModules:x,callModuleItemsMethod:function(e,t,n){n=n||[],e._controllers&&(0,s.each)(e._controllers,(function(){this[t]&&this[t].apply(this,n)})),e._views&&(0,s.each)(e._views,(function(){this[t]&&this[t].apply(this,n)}))}};t.default=w},60082:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=w(n(68374)),o=n(20576),a=n(47617),r=n(62754),s=n(13306),l=n(95479),u=n(37518),d=n(58664),c=n(68752),h=n(35922),f=w(n(26974)),p=n(58201),g=n(85273),m=n(9234),_=n(16454),v=w(n(55994)),y=w(n(30343)),b=w(n(97218)),x=w(n(18740));function w(e){return e&&e.__esModule?e:{default:e}}function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var S={year:function(e){return e&&e.getFullYear()},month:function(e){return e&&e.getMonth()+1},day:function(e){return e&&e.getDate()},quarter:function(e){return e&&Math.floor(e.getMonth()/3)+1},hour:function(e){return e&&e.getHours()},minute:function(e){return e&&e.getMinutes()},second:function(e){return e&&e.getSeconds()}},k=function(){var e=arguments[1],t=this.calculateCellValue(e);if(!(0,h.isDefined)(t))return null;if(D(this.dataType)){var n=arguments[0];return S[n](t)}if(\"number\"===this.dataType){var i=arguments[0];return Math.floor(Number(t)/i)*i}};function D(e){return\"date\"===e||\"datetime\"===e}var I=function(e){e.get(0).textContent=\"\\xa0\"},T=function(e){e=e||[];for(var t=(0,_.normalizeSortingInfo)(e),n=0;n<e.length;n++)e&&e[n]&&void 0!==e[n].isExpanded&&(t[n].isExpanded=e[n].isExpanded),e&&e[n]&&void 0!==e[n].groupInterval&&(t[n].groupInterval=e[n].groupInterval);return t},E=function(e,t){var n=y.default.format(e,t.format)||e&&e.toString()||\"\",i={value:e,valueText:t.getDisplayFormat?t.getDisplayFormat(n):n,target:t.target||\"row\",groupInterval:t.groupInterval};return t.customizeText?t.customizeText.call(t,i):i.valueText},O=function(e,t){var n=e.displayFormat||e.columnCaption&&t[\"\".concat(e.summaryType,\"OtherColumn\")]||t[e.summaryType];return E(e.value,{format:e.valueFormat,getDisplayFormat:function(t){return n?(0,c.format)(n,t,e.columnCaption):t},customizeText:e.customizeText})},A=function(e){var t=e.data&&e.data(),n=t&&t.dxComponents,i=n&&n[0];return i&&t[i]};var P={renderNoDataText:function(e){if(e=e||this.element()){var t=this.addWidgetPrefix(\"nodata\"),n=e.find(\".\".concat(t)).last(),o=this._dataController.isEmpty(),a=this._dataController.isLoading();n.length||(n=(0,i.default)(\"<span>\").addClass(t)),n.parent().is(e)||n.appendTo(e),o&&!a?n.removeClass(\"dx-hidden\").text(this._getNoDataText()):n.addClass(\"dx-hidden\")}},renderLoadPanel:function(e,t,n){var o;this._loadPanel&&this._loadPanel.$element().remove(),(o=this.option(\"loadPanel\"))&&(\"auto\"===o.enabled?!n:o.enabled)?(o=(0,s.extend)({shading:!1,message:o.text,container:t},o),this._loadPanel=this._createComponent((0,i.default)(\"<div>\").appendTo(t),b.default,o)):this._loadPanel=null},calculateLoadPanelPosition:function(e){var t=(0,i.default)((0,p.getWindow)());return(0,d.getHeight)(e)>(0,d.getHeight)(t)?{of:t,boundary:e,collision:\"fit\"}:{of:e}},getIndexByKey:function(e,t,n){var i=-1;if(void 0!==e&&Array.isArray(t)){n=arguments.length<=2?\"key\":n;for(var a=0;a<t.length;a++){var r=(0,h.isDefined)(n)?t[a][n]:t[a];if((0,o.equalByValue)(e,r)){i=a;break}}}return i},combineFilters:function(e,t){var n,i=[];t=t||\"and\";for(var o=0;o<e.length;o++)if(e[o]){if(1===(null===(n=e[o])||void 0===n?void 0:n.length)&&\"!\"===e[o][0]){if(\"and\"===t)return[\"!\"];if(\"or\"===t)continue}i.length&&i.push(t),i.push(e[o])}if(1===i.length&&(i=i[0]),i.length)return i},checkChanges:function(e,t){for(var n=0,i=0;i<t.length;i++)e[t[i]]&&n++;return e.length&&e.length===n},equalFilterParameters:function e(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;for(var i=0;i<t.length;i++)if(!e(t[i],n[i]))return!1;return!0}return(0,h.isFunction)(t)&&t.columnIndex>=0&&(0,h.isFunction)(n)&&n.columnIndex>=0?t.columnIndex===n.columnIndex&&(0,a.toComparable)(t.filterValue)===(0,a.toComparable)(n.filterValue)&&(0,a.toComparable)(t.selectedFilterOperation)===(0,a.toComparable)(n.selectedFilterOperation):(0,a.toComparable)(t)==(0,a.toComparable)(n)},proxyMethod:function(e,t,n){e[t]||(e[t]=function(){var e=this._dataSource;return e?e[t].apply(e,arguments):n})},formatValue:E,getFormatOptionsByColumn:function(e,t){return{format:e.format,getDisplayFormat:e.getDisplayFormat,customizeText:e.customizeText,target:t,trueText:e.trueText,falseText:e.falseText}},getDisplayValue:function(e,t,n,i){return e.displayValueMap&&void 0!==e.displayValueMap[t]?e.displayValueMap[t]:e.calculateDisplayValue&&n&&\"group\"!==i?e.calculateDisplayValue(n):!e.lookup||\"group\"===i&&(e.calculateGroupValue||e.calculateDisplayValue)?t:e.lookup.calculateCellValue(t)},getGroupRowSummaryText:function(e,t){for(var n=\"(\",i=0;i<e.length;i++){var o=e[i];n+=(i>0?\", \":\"\")+O(o,t)}return n+\")\"},getSummaryText:O,normalizeSortingInfo:T,getFormatByDataType:function(e){switch(e){case\"date\":return\"shortDate\";case\"datetime\":return\"shortDateShortTime\";default:return}},getHeaderFilterGroupParameters:function(e,t){var n=[],i=e.dataField||e.name,o=x.default.getGroupInterval(e);return o?((0,l.each)(o,(function(a,r){n.push(t?{selector:i,groupInterval:r,isExpanded:a<o.length-1}:k.bind(e,r))})),n):(t?n=[{selector:i,isExpanded:!1}]:(n=function(t){var n=e.calculateCellValue(t);return void 0!==n&&\"\"!==n||(n=null),n},e.sortingMethod&&(n=[{selector:n,compare:e.sortingMethod.bind(e)}])),n)},equalSortParameters:function(e,t,n){if(e=T(e),t=T(t),Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(o=e[i].selector,a=t[i].selector,!((0,h.isFunction)(o)&&(0,h.isFunction)(a)&&o.originalCallback&&a.originalCallback?o.originalCallback===a.originalCallback&&o.columnIndex===a.columnIndex:o===a)||e[i].desc!==t[i].desc||e[i].groupInterval!==t[i].groupInterval||!n&&Boolean(e[i].isExpanded)!==Boolean(t[i].isExpanded))return!1;return!0}var o,a;return(!e||!e.length)==(!t||!t.length)},getPointsByColumns:function(e,t,n,i){for(var o,a,r,s=e.length,l=!1,d=i||0,c=[],h=0;h<=s;h++){h<s&&(a=(o=e.eq(h)).offset(),r=\"rtl\"===o.css(\"direction\"));var f={index:d,x:a?a.left+(!n&&r^h===s?(0,u.getBoundingRect)(o[0]).width:0):0,y:a?a.top+(n&&h===s?(0,u.getBoundingRect)(o[0]).height:0):0,columnIndex:d};if(!n&&h>0){var p=e.eq(h-1).offset();p.top<f.y&&(f.y=p.top)}t&&(l=t(f)),l||c.push(f),d++}return c},getExpandCellTemplate:function(){return{allowRenderToDetachedContainer:!0,render:function(e,t){var n=(0,i.default)(e);if(!(0,h.isDefined)(t.value)||t.data&&t.data.isContinuation||t.row.isNewRow)I(n);else{var o=t.component.getView(\"rowsView\");n.addClass(\"dx-datagrid-expand\").addClass(\"dx-selection-disabled\"),(0,i.default)(\"<div>\").addClass(t.value?\"dx-datagrid-group-opened\":\"dx-datagrid-group-closed\").appendTo(n),o.setAria(\"label\",t.value?o.localize(\"dxDataGrid-ariaCollapse\"):o.localize(\"dxDataGrid-ariaExpand\"),n)}}}},setEmptyText:I,isDateType:D,getSelectionRange:function(e){try{if(e)return{selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}}catch(e){}return{}},setSelectionRange:function(e,t){try{e&&e.setSelectionRange&&e.setSelectionRange(t.selectionStart,t.selectionEnd)}catch(e){}},focusAndSelectElement:function(e,t){var n=t.is(\":focus\");v.default.trigger(t,\"focus\");var i=e.option(\"editing.selectTextOnEditStart\"),o=t.get(0);if(!n&&i&&t.is(\".dx-texteditor-input\")&&!t.is(\"[readonly]\")){var a=A(t.closest(\".dx-texteditor\"));(0,r.when)(a&&a._loadItemDeferred).done((function(){o.select()}))}},getWidgetInstance:A,getLastResizableColumnIndex:function(e,t){var n,i=e.some((function(e){return e&&!e.command&&!e.fixed&&!1!==e.allowResizing}));for(n=e.length-1;e[n];n--){var o=e[n],a=t&&t[n],r=!i||!1!==o.allowResizing;if(!o.command&&!o.fixed&&\"adaptiveHidden\"!==a&&r)break}return n},isElementInCurrentGrid:function(e,t){return!(!t||!t.length)&&t.closest(\".\".concat(e.getWidgetContainerClass())).parent().is(e.component.$element())},isVirtualRowRendering:function(e){var t=e.option(\"scrolling.rowRenderingMode\"),n=\"virtual\"===e.option(\"scrolling.mode\"),i=\"infinite\"===e.option(\"scrolling.mode\");return!(!1!==e.option(\"scrolling.legacyMode\")||!n&&!i)||\"virtual\"===t},getPixelRatio:function(e){return e.devicePixelRatio||1},getContentHeightLimit:function(e){return e.mozilla?8e6:15e6/this.getPixelRatio((0,p.getWindow)())},normalizeLookupDataSource:function(e){var t;return e.items?t=e.items:(t=e.dataSource,(0,h.isFunction)(t)&&!f.default.isWrapped(t)&&(t=t({}))),(0,m.normalizeDataSourceOptions)(t)},getWrappedLookupDataSource:function(e,t,n){var i=this;if(!t)return[];var o=this.normalizeLookupDataSource(e.lookup);if(e.calculateCellValue!==e.defaultCalculateCellValue)return o;var a,s,l,u=t.remoteOperations().groupPaging,d=e.displayField&&(0,h.isString)(e.displayField),c=function(e,t){var n,i=null!==(n=t.skip)&&void 0!==n?n:0,o=t.take?i+t.take:e.length;return e.slice(i,o)},f=function(i){var o=function(e){return Array.isArray(e)||(e=[e]),e.map((function(t,n){return(0,h.isString)(t)?{selector:t,isExpanded:n<e.length-1}:t}))}(d?[e.dataField,e.displayField]:e.dataField),f=new r.Deferred;return a&&(!u||i.skip===l&&i.take===s)?f.resolve(c(a,i)):(l=i.skip,s=i.take,t.load({filter:n,group:o,take:u?i.take:void 0,skip:u?i.skip:void 0}).done((function(e){a=e,f.resolve(u?e:c(e,i))})).fail(f.fail)),f};return C(C({},o),{__dataGridSourceFilter:n,load:function(t){var n=new r.Deferred;return f(t).done((function(a){if(0!==a.length){var r=i.combineFilters(a.flatMap((function(e){return e.key})).map((function(t){return[e.lookup.valueExpr,t]})),\"or\");new g.DataSource(C(C(C({},o),t),{filter:i.combineFilters([r,t.filter],\"and\"),paginate:!1})).load().done(n.resolve).fail(n.fail)}else n.resolve([])})).fail(n.fail),n},key:e.lookup.valueExpr,byKey:function(t){var n=(0,r.Deferred)();return this.load({filter:[e.lookup.valueExpr,\"=\",t]}).done((function(e){n.resolve(e[0])})),n.promise()}})},logHeaderFilterDeprecatedWarningIfNeed:function(e){var t=e._logDeprecatedOptionWarning.bind(e);(0,h.isDefined)(e.option(\"headerFilter.allowSearch\"))&&t(\"headerFilter.allowSearch\",{since:\"23.1\",alias:\"headerFilter.search.enabled\"}),(0,h.isDefined)(e.option(\"headerFilter.searchTimeout\"))&&t(\"headerFilter.searchTimeout\",{since:\"23.1\",alias:\"headerFilter.search.timeout\"});var n=\"dxPivotGrid\"===e.NAME?\"dataSource.fields\":\"columns\",i=e.option(n);if(Array.isArray(i)){!function e(i){i.forEach((function(i){var o,a=i.headerFilter||{};(0,h.isDefined)(a.allowSearch)&&t(\"\".concat(n,\"[].headerFilter.allowSearch\"),{since:\"23.1\",alias:\"\".concat(n,\"[].headerFilter.search.enabled\")}),(0,h.isDefined)(a.searchMode)&&t(\"\".concat(n,\"[].headerFilter.searchMode\"),{since:\"23.1\",alias:\"\".concat(n,\"[].headerFilter.search.mode\")}),(null===(o=i.columns)||void 0===o?void 0:o.length)&&e(i.columns)}))}(i)}}};t.default=P},82802:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.masterDetailModule=void 0;var i=d(n(68374)),o=n(20576),a=n(62754),r=n(95479),s=n(58664),l=n(35922),u=d(n(60082));function d(e){return e&&e.__esModule?e:{default:e}}var c,h={defaultOptions:function(){return{masterDetail:{enabled:!1,autoExpandAll:!1,template:null}}},extenders:{controllers:{columns:{_getExpandColumnsCore:function(){var e=this.callBase();return this.option(\"masterDetail.enabled\")&&e.push({type:\"detailExpand\",cellTemplate:u.default.getExpandCellTemplate()}),e}},data:(c=function(e){e._expandedItems=[],e._isExpandAll=e.option(\"masterDetail.autoExpandAll\")},{init:function(){c(this),this.callBase()},expandAll:function(e){var t=this;e<0?(t._isExpandAll=!0,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},collapseAll:function(e){var t=this;e<0?(t._isExpandAll=!1,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},isRowExpanded:function(e){var t=this,n=u.default.getIndexByKey(e,t._expandedItems);return Array.isArray(e)?t.callBase.apply(t,arguments):!!(t._isExpandAll^(n>=0&&t._expandedItems[n].visible))},_getRowIndicesForExpand:function(e){var t=this.getRowIndexByKey(e);return[t,t+1]},_changeRowExpandCore:function(e){var t,n=this;if(Array.isArray(e))t=n.callBase.apply(n,arguments);else{var i=u.default.getIndexByKey(e,n._expandedItems);if(i>=0){var o=n._expandedItems[i].visible;n._expandedItems[i].visible=!o}else n._expandedItems.push({key:e,visible:!0});n.updateItems({changeType:\"update\",rowIndices:n._getRowIndicesForExpand(e)}),t=(new a.Deferred).resolve()}return t},_processDataItem:function(e,t){var n=this,i=n.callBase.apply(n,arguments);return i.isExpanded=n.isRowExpanded(i.key),void 0===t.detailColumnIndex&&(t.detailColumnIndex=-1,(0,r.each)(t.visibleColumns,(function(e,n){if(\"expand\"===n.command&&!(0,l.isDefined)(n.groupIndex))return t.detailColumnIndex=e,!1}))),t.detailColumnIndex>=0&&(i.values[t.detailColumnIndex]=i.isExpanded),i},_processItems:function(e,t){var n=this,i=t.changeType,a=[];return e=n.callBase.apply(n,arguments),\"loadingAll\"===i?e:(\"refresh\"===i&&(n._expandedItems=(0,o.grep)(n._expandedItems,(function(e){return e.visible}))),(0,r.each)(e,(function(e,t){a.push(t);var i=u.default.getIndexByKey(t.key,n._expandedItems);\"data\"===t.rowType&&(t.isExpanded||i>=0)&&!t.isNewRow&&a.push({visible:t.isExpanded,rowType:\"detail\",key:t.key,data:t.data,values:[]})})),a)},optionChanged:function(e){var t,n;if(\"masterDetail\"===e.name){switch(e.name=\"dataSource\",e.fullName){case\"masterDetail\":var i=e.value||{},o=e.previousValue||{};t=i.enabled!==o.enabled,n=i.autoExpandAll!==o.autoExpandAll;break;case\"masterDetail.template\":c(this);break;case\"masterDetail.enabled\":t=!0;break;case\"masterDetail.autoExpandAll\":n=!0}(t||n)&&c(this)}this.callBase(e)}}),resizing:{fireContentReadyAction:function(){this.callBase.apply(this,arguments),this._updateParentDataGrids(this.component.$element())},_updateParentDataGrids:function(e){var t=this,n=e.closest(\".\".concat(\"dx-master-detail-row\"));n.length&&(0,a.when)(this._updateMasterDataGrid(n,e)).done((function(){t._updateParentDataGrids(n.parent())}))},_updateMasterDataGrid:function(e,t){var n=(0,i.default)(e).data(\"options\"),o=(0,i.default)(e).closest(\".\".concat(this.getWidgetContainerClass())).parent().data(\"dxDataGrid\");if(n&&o)return this._updateMasterDataGridCore(o,n)},_updateMasterDataGridCore:function(e,t){var n=(0,a.Deferred)();if(e.getView(\"rowsView\").isFixedColumns())this._updateFixedMasterDetailGrids(e,t.rowIndex,(0,i.default)(t.rowElement)).done(n.resolve);else{if(!0===e.option(\"scrolling.useNative\"))return void e.updateDimensions().done((function(){return n.resolve(!0)}));var o=e.getScrollable();o?null==o||o.update().done((function(){return n.resolve()})):n.resolve()}return n.promise()},_updateFixedMasterDetailGrids:function(e,t,n){var o=this,r=(0,a.Deferred)(),l=(0,i.default)(e.getRowElement(t)),u=(0,i.default)(e.getView(\"rowsView\").getTableElements()),d=2===(null==l?void 0:l.length)&&(0,s.getHeight)(l.eq(0))!==(0,s.getHeight)(l.eq(1)),c=2===(null==u?void 0:u.length)&&(0,s.getHeight)(u.eq(0))!==(0,s.getHeight)(u.eq(1));if(d||c){var h=(0,s.getWidth)(n);return e.updateDimensions().done((function(){var t=o.option(\"columnAutoWidth\")&&!0===e.option(\"scrolling.useNative\"),i=t&&h!==(0,s.getWidth)(n);t&&i?o.updateDimensions().done((function(){return r.resolve(!0)})):r.resolve(!0)})),r.promise()}return(0,a.Deferred)().resolve()},_toggleBestFitMode:function(e){if(this.callBase.apply(this,arguments),this.option(\"masterDetail.template\")){var t=this._rowsView.getTableElement();t&&t.find(\".dx-master-detail-cell\").css(\"maxWidth\",e?0:\"\")}}}},views:{rowsView:{_getCellTemplate:function(e){var t=this,n=e.column,i=t.getController(\"editing\"),o=i&&i.isEditRow(e.rowIndex);return\"detail\"!==n.command||o?t.callBase.apply(t,arguments):t.option(\"masterDetail.template\")||{allowRenderToDetachedContainer:!1,render:t._getDefaultTemplate(n)}},_isDetailRow:function(e){return e&&e.rowType&&0===e.rowType.indexOf(\"detail\")},_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&this._isDetailRow(e)&&(this.option(\"showRowLines\")&&t.addClass(\"dx-row-lines\"),t.addClass(\"dx-master-detail-row\"),(0,l.isDefined)(e.visible)&&t.toggle(e.visible)),t},_renderCells:function(e,t){var n=t.row,i=this._columnsController.getVisibleColumns();n.rowType&&this._isDetailRow(n)?this._needRenderCell(0,t.columnIndices)&&this._renderCell(e,{value:null,row:n,rowIndex:n.rowIndex,column:{command:\"detail\"},columnIndex:0,change:t.change}).addClass(\"dx-cell-focus-disabled\").addClass(\"dx-master-detail-cell\").attr(\"colSpan\",i.length):this.callBase.apply(this,arguments)}}}}};t.masterDetailModule=h},3990:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.pagerModule=void 0;var i=n(35922),o=n(58201),a=l(n(28109)),r=l(n(79383)),s=l(n(15943));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){return 1+(parseInt(e.pageIndex())||0)},d={defaultOptions:function(){return{pager:{visible:\"auto\",showPageSizeSelector:!1,allowedPageSizes:\"auto\",label:a.default.format(\"dxPager-ariaLabel\")}}},views:{pagerView:s.default.View.inherit({init:function(){var e=this,t=this.getController(\"data\");t.changed.add((function(n){if(n&&n.repaintChangesOnly){var i=e._pager;i?i.option({pageIndex:u(t),pageSize:t.pageSize(),pageCount:t.pageCount(),totalCount:t.totalCount(),hasKnownLastPage:t.hasKnownLastPage()}):e.render()}else(!n||\"update\"!==n.changeType&&\"updateSelection\"!==n.changeType&&\"updateFocusedRow\"!==n.changeType)&&(e._pager=null,e.render())}))},_renderCore:function(){var e=this.element().addClass(this.addWidgetPrefix(\"pager\")),t=this.option(\"pager\")||{},n=this.getController(\"data\"),a=this.getController(\"keyboardNavigation\"),s={maxPagesCount:10,pageIndex:u(n),pageCount:n.pageCount(),pageSize:n.pageSize(),showPageSizes:t.showPageSizeSelector,showInfo:t.showInfo,displayMode:t.displayMode,pagesNavigatorVisible:t.visible,showNavigationButtons:t.showNavigationButtons,label:t.label,pageSizes:this.getPageSizes(),totalCount:n.totalCount(),hasKnownLastPage:n.hasKnownLastPage(),pageIndexChanged:function(e){n.pageIndex()!==e-1&&n.pageIndex(e-1)},pageSizeChanged:function(e){n.pageSize(e)},onKeyDown:function(e){return a&&a.executeAction(\"onKeyDown\",e)},useLegacyKeyboardNavigation:this.option(\"useLegacyKeyboardNavigation\"),useKeyboard:this.option(\"keyboardNavigation.enabled\")};(0,i.isDefined)(t.infoText)&&(s.infoText=t.infoText),this._pager?this._pager.repaint():(0,o.hasWindow)()?this._pager=this._createComponent(e,r.default,s):e.addClass(\"dx-pager\").html('<div class=\"dx-pages\"><div class=\"dx-page\"></div></div>')},getPager:function(){return this._pager},getPageSizes:function(){var e=this.getController(\"data\"),t=this.option(\"pager\"),n=t&&t.allowedPageSizes,o=e.pageSize();return(0,i.isDefined)(this._pageSizes)&&this._pageSizes.includes(o)||(this._pageSizes=[],t&&(Array.isArray(n)?this._pageSizes=n:n&&o>1&&(this._pageSizes=[Math.floor(o/2),o,2*o]))),this._pageSizes},isVisible:function(){var e=this.getController(\"data\"),t=this.option(\"pager\"),n=t&&t.visible,i=this.option(\"scrolling\");return\"auto\"===n&&(n=(!i||\"virtual\"!==i.mode&&\"infinite\"!==i.mode)&&(e.pageCount()>1||e.isLoaded()&&!e.hasKnownLastPage())),n},getHeight:function(){return this.getElementHeight()},optionChanged:function(e){var t=e.name,n=\"pager\"===t,i=\"paging\"===t,a=\"dataSource\"===t,r=\"scrolling\"===t,s=this.getController(\"data\");if(n||i||r||a){if(e.handled=!0,s.skipProcessingPagingChange(e.fullName))return;(n||i)&&(this._pageSizes=null),a||(this._pager=null,this._invalidate(),(0,o.hasWindow)()&&n&&this.component&&this.component.resize())}},dispose:function(){this._pager=null}})}};t.pagerModule=d},92794:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CLASSES=t.ATTRIBUTES=void 0;t.ATTRIBUTES={dragCell:\"dx-drag-cell\"};t.CLASSES={cellFocusDisabled:\"dx-cell-focus-disabled\",handleIcon:\"drag-icon\",commandDrag:\"dx-command-drag\",sortableWithoutHandle:\"dx-sortable-without-handle\",rowsView:\"rowsview\"}},5172:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridCoreRowDraggingDom=void 0;var i=r(n(68374)),o=r(n(60082)),a=n(92794);function r(e){return e&&e.__esModule?e:{default:e}}var s={createHandleTemplateFunc:function(e){return function(t,n){var r=(0,i.default)(t);if(\"data\"===n.rowType)return r.addClass(a.CLASSES.cellFocusDisabled),(0,i.default)(\"<span>\").addClass(e(a.CLASSES.handleIcon));o.default.setEmptyText(r)}}};t.GridCoreRowDraggingDom=s},88351:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.rowDraggingModule=void 0;var i=c(n(68374)),o=n(13306),a=n(20576),r=n(58664),s=c(n(66843)),l=c(n(60082)),u=n(92794),d=n(5172);function c(e){return e&&e.__esModule?e:{default:e}}var h={defaultOptions:function(){return{rowDragging:{showDragIcons:!0,dropFeedbackMode:\"indicate\",allowReordering:!1,allowDropInsideItem:!1}}},extenders:{views:{rowsView:{init:function(){this.callBase.apply(this,arguments),this._updateHandleColumn()},_allowReordering:function(){var e=this.option(\"rowDragging\");return!(!e||!(e.allowReordering||e.allowDropInsideItem||e.group))},_updateHandleColumn:function(){var e=this.option(\"rowDragging\"),t=this._allowReordering(),n=this._columnsController,i=t&&e.showDragIcons;null==n||n.addCommandColumn({type:\"drag\",command:\"drag\",visibleIndex:-2,alignment:\"center\",elementAttr:[{name:u.ATTRIBUTES.dragCell,value:\"\"}],cssClass:u.CLASSES.commandDrag,width:\"auto\",cellTemplate:this._getHandleTemplate(),visible:i}),null==n||n.columnOption(\"type:drag\",\"visible\",i)},_renderContent:function(){var e=this,t=this.option(\"rowDragging\"),n=this._allowReordering(),a=this.callBase.apply(this,arguments),r=this._isFixedTableRendering,l=\"_sortable\",d=\"_sortableFixed\",c=r?d:l,h=r?l:d,f=function(t){var n;null===(n=e[d])||void 0===n||n.$element().css(\"pointerEvents\",t?\"auto\":\"\")},p=\".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)\",g=this.option(\"dataRowTemplate\")?\"> table > tbody\".concat(p):\"> table > tbody > \".concat(p);return(n||this[c])&&a.length&&(this[c]=this._createComponent(a,s.default,(0,o.extend)({component:this.component,contentTemplate:null,filter:g,cursorOffset:function(t){var n=t.event,o=(0,i.default)(e.element()).offset();return{x:n.pageX-o.left}},onDraggableElementShown:function(n){if(!t.dragTemplate){var o=(0,i.default)(n.dragElement).children(\".dx-widget\").data(e.component.NAME);e._synchronizeScrollLeftPosition(o)}},dragTemplate:this._getDraggableRowTemplate(),handle:t.showDragIcons&&\".\".concat(u.CLASSES.commandDrag),dropFeedbackMode:\"indicate\"},t,{onDragStart:function(i){var o,a;null===(o=e.getController(\"keyboardNavigation\"))||void 0===o||o._resetFocusedCell();var r=i.component.getVisibleRows()[i.fromIndex];i.itemData=r&&r.data;var s=r&&\"data\"===r.rowType;i.cancel=!n||!s,null===(a=t.onDragStart)||void 0===a||a.call(t,i)},onDragEnter:function(){f(!0)},onDragLeave:function(){f(!1)},onDragEnd:function(e){var n;f(!1),null===(n=t.onDragEnd)||void 0===n||n.call(t,e)},onAdd:function(e){var n;f(!1),null===(n=t.onAdd)||void 0===n||n.call(t,e)},dropFeedbackMode:t.dropFeedbackMode,onOptionChanged:function(t){e[d]&&(\"fromIndex\"!==t.name&&\"toIndex\"!==t.name||e[h].option(t.name,t.value))}})),a.toggleClass(\"dx-scrollable-container\",r),a.toggleClass(u.CLASSES.sortableWithoutHandle,n&&!t.showDragIcons)),a},_renderCore:function(e){var t=this;this.callBase.apply(this,arguments),e&&\"update\"===e.changeType&&e.repaintChangesOnly&&l.default.isVirtualRowRendering(this)&&(0,a.deferUpdate)((function(){t._updateSortable()}))},_updateSortable:function(){var e=this._dataController.getRowIndexOffset();[this._sortable,this._sortableFixed].forEach((function(t){null==t||t.option(\"offset\",e),null==t||t.update()}))},_resizeCore:function(){this.callBase.apply(this,arguments),this._updateSortable()},_getDraggableGridOptions:function(e){var t=this.option(),n=this.getColumns(),o=(0,i.default)(this.getRowElement(e.rowIndex));return{dataSource:[{id:1,parentId:0}],showBorders:!0,showColumnHeaders:!1,scrolling:{useNative:!1,showScrollbar:\"never\"},pager:{visible:!1},loadingTimeout:null,columnFixing:t.columnFixing,columnAutoWidth:t.columnAutoWidth,showColumnLines:t.showColumnLines,columns:n.map((function(e){return{width:e.width||e.visibleWidth,fixed:e.fixed,fixedPosition:e.fixedPosition}})),onRowPrepared:function(e){var t=e.component.getView(\"rowsView\");(0,i.default)(e.rowElement).replaceWith(o.eq(t._isFixedTableRendering?1:0).clone())}}},_synchronizeScrollLeftPosition:function(e){var t=null==e?void 0:e.getScrollable();null==t||t.scrollTo({x:this._scrollLeft})},_getDraggableRowTemplate:function(){var e=this;return function(t){var n=e.component.$element(),o=(0,i.default)(\"<div>\");(0,r.setWidth)(o,(0,r.getWidth)(n));var a=e._dataController.items(),s=a&&a[t.fromIndex],l=e._getDraggableGridOptions(s);return e._createComponent(o,e.component.NAME,l),o.find(\".dx-gridbase-container\").children(\":not(.\".concat(e.addWidgetPrefix(u.CLASSES.rowsView),\")\")).hide(),o}},_getHandleTemplate:function(){var e=this;return d.GridCoreRowDraggingDom.createHandleTemplateFunc((function(t){return e.addWidgetPrefix(t)}))},optionChanged:function(e){\"rowDragging\"===e.name&&(this._updateHandleColumn(),this._invalidate(!0,!0),e.handled=!0),this.callBase.apply(this,arguments)}}}}};t.rowDraggingModule=h},92021:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.searchModule=void 0;var i=d(n(73349)),o=d(n(68374)),a=n(47617),r=n(35922),s=d(n(96687)),l=d(n(28109)),u=d(n(60082));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return(0,r.isDefined)(e.allowSearch)?e.allowSearch:e.allowFiltering}function h(e,t){var n=e.lookup;return e.parseValue?n?e.parseValue.call(n,t):e.parseValue(t):t}var f,p={defaultOptions:function(){return{searchPanel:{visible:!1,width:160,placeholder:l.default.format(\"dxDataGrid-searchPanelPlaceholder\"),highlightSearchText:!0,highlightCaseSensitive:!1,text:\"\",searchVisibleColumnsOnly:!1}}},extenders:{controllers:{data:{publicMethods:function(){return this.callBase().concat([\"searchByText\"])},_calculateAdditionalFilter:function(){var e=this.callBase(),t=function(e,t){var n,i,o,r=e._columnsController.getColumns(),l=e.option(\"searchPanel.searchVisibleColumnsOnly\"),d=[];if(!t)return null;function f(e){for(var t=(0,a.compileGetter)(o.valueExpr),n=0;n<e.length;n++){var r=t(e[n]);d.push(i.createFilterExpression(r,null,\"search\"))}}for(n=0;n<r.length;n++)if(i=r[n],(!l||i.visible)&&c(i)&&i.calculateFilterExpression){o=i.lookup;var p=h(i,t);o&&o.items?(0,s.default)(o.items).filter(i.createFilterExpression.call({dataField:o.displayExpr,dataType:o.dataType,calculateFilterExpression:i.calculateFilterExpression},p,null,\"search\")).enumerate().done(f):void 0!==p&&d.push(i.createFilterExpression(p,null,\"search\"))}return 0===d.length?[\"!\"]:u.default.combineFilters(d,\"or\")}(this,this.option(\"searchPanel.text\"));return u.default.combineFilters([e,t])},searchByText:function(e){this.option(\"searchPanel.text\",e)},optionChanged:function(e){switch(e.fullName){case\"searchPanel.text\":case\"searchPanel\":this._applyFilter(),e.handled=!0;break;default:this.callBase(e)}}}},views:{headerPanel:(f=function(e){return e.option(\"searchPanel\")},{_getToolbarItems:function(){var e=this.callBase();return this._prepareSearchItem(e)},_prepareSearchItem:function(e){var t=this,n=t.getController(\"data\"),i=f(t);if(i&&i.visible){var a={template:function(e,a,r){var s=(0,o.default)(\"<div>\").addClass(t.addWidgetPrefix(\"search-panel\")).appendTo(r);t.getController(\"editorFactory\").createEditor(s,{width:i.width,placeholder:i.placeholder,parentType:\"searchPanel\",value:t.option(\"searchPanel.text\"),updateValueTimeout:700,setValue:function(e){n.searchByText(e)},editorOptions:{inputAttr:{\"aria-label\":l.default.format(\"\".concat(t.component.NAME,\"-ariaSearchInGrid\"))}}}),t.resize()},name:\"searchPanel\",location:\"after\",locateInMenu:\"never\",sortIndex:40};e.push(a)}return e},getSearchTextEditor:function(){var e=this,t=e.element(),n=t.find(\".\".concat(e.addWidgetPrefix(\"search-panel\"))).filter((function(){return(0,o.default)(this).closest(\".\".concat(e.addWidgetPrefix(\"header-panel\"))).is(t)}));return n.length?n.dxTextBox(\"instance\"):null},isVisible:function(){var e=f(this);return this.callBase()||e&&e.visible},optionChanged:function(e){if(\"searchPanel\"===e.name){if(\"searchPanel.text\"===e.fullName){var t=this.getSearchTextEditor();t&&t.option(\"value\",e.value)}else this._invalidate();e.handled=!0}else this.callBase(e)}}),rowsView:{init:function(){this.callBase.apply(this,arguments),this._searchParams=[],this._dataController=this.getController(\"data\")},_getFormattedSearchText:function(e,t){var n=h(e,t),i=u.default.getFormatOptionsByColumn(e,\"search\");return u.default.formatValue(n,i)},_getStringNormalizer:function(){var e,t,n,i,o=this.option(\"searchPanel.highlightCaseSensitive\"),r=null===(t=null===(e=this._dataController)||void 0===e?void 0:e.getDataSource)||void 0===t?void 0:t.call(e),s=null===(i=null===(n=null==r?void 0:r.loadOptions)||void 0===n?void 0:n.call(r))||void 0===i?void 0:i.langParams;return function(e){return(0,a.toComparable)(e,o,s)}},_findHighlightingTextNodes:function(e,t,n){var i,a=t.parent(),r=this._getStringNormalizer(),s=r(n),l=[];if(a.length){if(e)if(e.groupIndex>=0&&!e.showWhenGrouped)i=t;else{var u=this._columnsController.getVisibleIndex(e.index);i=a.children(\"td\").eq(u).find(\"*\")}}else a=(0,o.default)(\"<div>\").append(t);return(i=(null==i?void 0:i.length)?i:a.find(\"*\")).each((function(e,t){for(var n=(0,o.default)(t).contents(),i=0;i<n.length;i++){var a=n.get(i);if(3===a.nodeType)r(a.textContent||a.nodeValue).indexOf(s)>-1&&l.push(a)}})),l},_highlightSearchTextCore:function(e,t){var n=(0,o.default)(\"<span>\").addClass(this.addWidgetPrefix(\"search-text\")),a=e.text(),r=e[0],s=this._getStringNormalizer(),l=s(a).indexOf(s(t));if(l>=0)return r.textContent?r.textContent=a.substr(0,l):r.nodeValue=a.substr(0,l),e.after(n.text(a.substr(l,t.length))),e=(0,o.default)(i.default.createTextNode(a.substr(l+t.length))).insertAfter(n),this._highlightSearchTextCore(e,t)},_highlightSearchText:function(e,t,n){var i=this,a=this._getStringNormalizer(),r=i.option(\"searchPanel.text\");(t&&n&&(r=r&&i._getFormattedSearchText(n,r)),r&&i.option(\"searchPanel.highlightSearchText\"))&&i._findHighlightingTextNodes(n,e,r).forEach((function(e){t?a((0,o.default)(e).text())===a(r)&&(0,o.default)(e).replaceWith((0,o.default)(\"<span>\").addClass(i.addWidgetPrefix(\"search-text\")).text((0,o.default)(e).text())):i._highlightSearchTextCore((0,o.default)(e),r)}))},_renderCore:function(){var e=this,t=this.callBase.apply(this,arguments);return(this.option().rowTemplate||this.option(\"dataRowTemplate\"))&&(this.option(\"templatesRenderAsynchronously\")?(clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout((function(){e._highlightSearchText(e.getTableElement())}))):this._highlightSearchText(this.getTableElement())),t},_updateCell:function(e,t){var n=this,i=t.column,o=\"string\"!==(i.lookup&&i.lookup.dataType||i.dataType);c(i)&&!t.isOnForm&&(this.option(\"templatesRenderAsynchronously\")?(this._searchParams.length||(clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout((function(){n._searchParams.forEach((function(e){n._highlightSearchText.apply(n,e)})),n._searchParams=[]}))),this._searchParams.push([e,o,i])):this._highlightSearchText(e,o,i)),this.callBase(e,t)},dispose:function(){clearTimeout(this._highlightTimer),this.callBase()}}}}};t.searchModule=p},17969:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.selectionModule=t.SelectionController=void 0;var i=b(n(68374)),o=n(20576),a=n(62754),r=n(13306),s=n(95479),l=n(60137),u=n(35922),d=n(60637),c=n(95429),h=b(n(55994)),f=b(n(11699)),p=n(39611),g=b(n(28109)),m=b(n(68198)),_=b(n(96688)),v=b(n(15943)),y=b(n(60082));function b(e){return e&&e.__esModule?e:{default:e}}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var w=\"selection.showCheckBoxesMode\",C=function(e,t){var n=e.getController(\"selection\"),o=e.getView(\"rowsView\"),a=(0,i.default)(t.target).closest(\".\".concat(\"dx-data-row\")),r=o.getRowIndex(a);r<0||(\"onLongTap\"===e.option(w)?n.isSelectionWithCheckboxes()?n.stopSelectionWithCheckboxes():n.startSelectionWithCheckboxes():(\"onClick\"===e.option(w)&&n.startSelectionWithCheckboxes(),\"always\"!==e.option(w)&&n.changeItemSelection(r,{control:!0})))},S=function(e,t){var n=t.component,o=n.getView(\"rowsView\");n.option(\"renderAsync\")&&!n.option(\"selection.deferred\")&&(t.value=n.isRowSelected(t.row.key)),o.renderSelectCheckBoxContainer((0,i.default)(e),t)},k=function(e,t){var n=t.column,o=(0,i.default)(e),a=t.component.getView(\"columnHeadersView\");o.addClass(\"dx-editor-cell\"),a._renderSelectAllCheckBox(o,n),a._attachSelectAllCheckBoxClickEvent(o)},D=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,x(t,n);var r=i.prototype;return r.init=function(){var e,t=null!==(e=this.option(\"selection\"))&&void 0!==e?e:{},n=t.deferred,i=t.selectAllMode,o=t.mode;\"infinite\"!==this.option(\"scrolling.mode\")||n||\"multiple\"!==o||\"allPages\"!==i||_.default.log(\"W1018\"),this._dataController=this.getController(\"data\"),this._selectionMode=o,this._isSelectionWithCheckboxes=!1,this._selection=this._createSelection(),this._updateSelectColumn(),this.createAction(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this._dataPushedHandler||(this._dataPushedHandler=this._handleDataPushed.bind(this),this._dataController.pushed.add(this._dataPushedHandler))},r._handleDataPushed=function(e){this._deselectRemovedOnPush(e),this._updateSelectedOnPush(e)},r._deselectRemovedOnPush=function(e){var t=this.option(\"selection.deferred\"),n=e.filter((function(e){return\"remove\"===e.type})).map((function(e){return e.key}));if(t){var i=this._dataController.items().filter((function(e){return e.isSelected})).map((function(e){return e.key}));n=n.filter((function(e){return i.find((function(t){return(0,o.equalByValue)(t,e)}))}))}n.length&&this.deselectRows(n)},r._updateSelectedOnPush=function(e){if(!this.option(\"selection.deferred\")){var t=e.filter((function(e){return\"update\"===e.type})),n=this.getSelectedRowsData();(0,d.applyBatch)({keyInfo:this._selection.options,data:n,changes:t})}},r._getSelectionConfig=function(){var e,t=this._dataController,n=this.getController(\"columns\"),i=null!==(e=this.option(\"selection\"))&&void 0!==e?e:{},o=i.deferred,r=this.option(\"scrolling.mode\"),s=\"virtual\"===r||\"infinite\"===r,l=this.option(\"selection.allowSelectAll\"),d=this.option(\"scrolling.legacyMode\");return{selectedKeys:this.option(\"selectedRowKeys\"),mode:this._selectionMode,deferred:o,maxFilterLengthInRequest:i.maxFilterLengthInRequest,selectionFilter:this.option(\"selectionFilter\"),ignoreDisabledItems:!0,allowLoadByRange:function(){var e=n.getGroupColumns().length>0;return s&&!d&&!e&&l&&!o},key:function(){return null==t?void 0:t.key()},keyOf:function(e){return null==t?void 0:t.keyOf(e)},dataFields:function(){var e;return null===(e=t.dataSource())||void 0===e?void 0:e.select()},load:function(e){var n;return(null===(n=t.dataSource())||void 0===n?void 0:n.load(e))||(new a.Deferred).resolve([])},plainItems:function(){return t.items(!0)},isItemSelected:function(e){return e.selected},isSelectableItem:function(e){return\"data\"===(null==e?void 0:e.rowType)&&!e.isNewRow},getItemData:function(e){return(0,u.isDefined)(null==e?void 0:e.rowType)?(null==e?void 0:e.oldData)||(null==e?void 0:e.data):e},filter:function(){return t.getCombinedFilter(o)},totalCount:function(){return t.totalCount()},getLoadOptions:function(e,n,i){var o,a,r=null!==(a=null===(o=t.dataSource())||void 0===o?void 0:o.lastLoadOptions())&&void 0!==a?a:{},s=r.sort,l=r.filter,d=Math.min(e,n),c=Math.max(e,n);return(0,u.isDefined)(i)&&(d=Math.min(i,d),c=Math.max(i,c)),{skip:d,take:c-d+1,filter:l,sort:s}},onSelectionChanged:this._updateSelectedItems.bind(this)}},r._updateSelectColumn=function(){var e=this.getController(\"columns\"),t=this.isSelectColumnVisible();e.addCommandColumn({type:\"selection\",command:\"select\",visible:t,visibleIndex:-1,dataType:\"boolean\",alignment:\"center\",cssClass:\"dx-command-select\",width:\"auto\",cellTemplate:S,headerCellTemplate:k}),e.columnOption(\"command:select\",\"visible\",t)},r._createSelection=function(){var e=this._getSelectionConfig();return new m.default(e)},r._fireSelectionChanged=function(e){var t=this.option(\"selection.deferred\")?{selectionFilter:this.option(\"selectionFilter\")}:{selectedRowKeys:this.option(\"selectedRowKeys\")};this.selectionChanged.fire(t),e&&this.executeAction(\"onSelectionChanged\",e)},r._updateCheckboxesState=function(e){var t=e.isDeferredMode,n=e.selectionFilter,i=e.selectedItemKeys,o=e.removedItemKeys;\"onClick\"===this.option(w)&&((t?n&&function(e,t){var n=0,i=e._dataController.store(),o=i&&i.key(),a=Array.isArray(o);if(!t.length)return!1;if(a&&Array.isArray(t[0])&&\"and\"===t[1]){for(var r=0;r<t.length;r++)if(Array.isArray(t[r])){if(t[r][0]!==o[n]||\"=\"!==t[r][1])return!0;n++}return!1}return o!==t[0]}(this,n):i.length>1)?this.startSelectionWithCheckboxes():(t?n&&!n.length:0===i.length&&o.length)&&this.stopSelectionWithCheckboxes())},r._updateSelectedItems=function(e){var t,n=this.option(\"selection.deferred\"),i=this._selection.selectionFilter(),o=this._dataController,a=o.items(!0),r=o.items();if(a){var s=this.isSelectionWithCheckboxes(),l=this.getChangedItemIndexes(a),u=this.getChangedItemIndexes(r);this._updateCheckboxesState({selectedItemKeys:e.selectedItemKeys,removedItemKeys:e.removedItemKeys,selectionFilter:i,isDeferredMode:n}),(l.length||s!==this.isSelectionWithCheckboxes())&&o.updateItems({changeType:\"updateSelection\",itemIndexes:u}),n?(this.option(\"selectionFilter\",i),t={}):(e.addedItemKeys.length||e.removedItemKeys.length)&&(this._selectedItemsInternalChange=!0,this.option(\"selectedRowKeys\",e.selectedItemKeys.slice(0)),this._selectedItemsInternalChange=!1,t={selectedRowsData:e.selectedItems.slice(0),selectedRowKeys:e.selectedItemKeys.slice(0),currentSelectedRowKeys:e.addedItemKeys.slice(0),currentDeselectedRowKeys:e.removedItemKeys.slice(0)}),this._fireSelectionChanged(t)}},r.getChangedItemIndexes=function(e){for(var t=[],n=this.option(\"selection.deferred\"),i=0,o=e.length;i<o;i++){var a=e[i],r=this.isRowSelected(n?a.data:a.key);this._selection.isDataItem(a)&&a.isSelected!==r&&t.push(i)}return t},r.callbackNames=function(){return[\"selectionChanged\"]},r.optionChanged=function(t){var n=this;switch(e.prototype.optionChanged.call(this,t),t.name){case\"selection\":var i=this._selectionMode;if(this.init(),\"selection.showCheckBoxesMode\"!==t.fullName){var o=this._selectionMode,a=this.option(\"selectedRowKeys\");i!==o&&(\"single\"===o?a.length>1&&(a=[a[0]]):\"multiple\"!==o&&(a=[])),this.selectRows(a).always((function(){n._fireSelectionChanged()}))}this.getController(\"columns\").updateColumns(),t.handled=!0;break;case\"selectionFilter\":this._selection.selectionFilter(t.value),t.handled=!0;break;case\"selectedRowKeys\":var r=t.value||[];!Array.isArray(r)||this._selectedItemsInternalChange||!this.component.getDataSource()&&r.length||this.selectRows(r),t.handled=!0}},r.publicMethods=function(){return[\"selectRows\",\"deselectRows\",\"selectRowsByIndexes\",\"getSelectedRowKeys\",\"getSelectedRowsData\",\"clearSelection\",\"selectAll\",\"deselectAll\",\"startSelectionWithCheckboxes\",\"stopSelectionWithCheckboxes\",\"isRowSelected\"]},r.isRowSelected=function(e){return this._selection.isItemSelected(e)},r.isSelectColumnVisible=function(){return\"multiple\"===this.option(\"selection.mode\")&&(\"always\"===this.option(w)||\"onClick\"===this.option(w)||this._isSelectionWithCheckboxes)},r._isOnePageSelectAll=function(){return\"page\"===this.option(\"selection.selectAllMode\")},r.isSelectAll=function(){return this._selection.getSelectAllState(this._isOnePageSelectAll())},r.selectAll=function(){return\"onClick\"===this.option(w)&&this.startSelectionWithCheckboxes(),this._selection.selectAll(this._isOnePageSelectAll())},r.deselectAll=function(){return this._selection.deselectAll(this._isOnePageSelectAll())},r.clearSelection=function(){return this.selectedItemKeys([])},r.refresh=function(){var e,t=null!==(e=this.option(\"selectedRowKeys\"))&&void 0!==e?e:[];return!this.option(\"selection.deferred\")&&t.length?this.selectedItemKeys(t):(new a.Deferred).resolve().promise()},r.selectedItemKeys=function(e,t,n,i){return this._selection.selectedItemKeys(e,t,n,i)},r.getSelectedRowKeys=function(){return this._selection.getSelectedItemKeys()},r.selectRows=function(e,t){return this.selectedItemKeys(e,t)},r.deselectRows=function(e){return this.selectedItemKeys(e,!0,!0)},r.selectRowsByIndexes=function(e){var t=this._dataController.items(),n=[];return Array.isArray(e)||(e=Array.prototype.slice.call(arguments,0)),(0,s.each)(e,(function(){var e=t[this];e&&\"data\"===e.rowType&&n.push(e.key)})),this.selectRows(n)},r.getSelectedRowsData=function(){return this._selection.getSelectedItems()},r.loadSelectedItemsWithFilter=function(){return this._selection.loadSelectedItemsWithFilter()},r.changeItemSelection=function(e,t,n){t=t||{},this.isSelectionWithCheckboxes()&&(t.control=!0);var i=e+this._dataController.getRowIndexOffset()-this._dataController.getRowIndexOffset(!0);return this._selection.changeItemSelection(i,t,n)},r.focusedItemIndex=function(e){if(!(0,u.isDefined)(e))return this._selection._focusedItemIndex;this._selection._focusedItemIndex=e},r.isSelectionWithCheckboxes=function(){return\"multiple\"===this.option(\"selection.mode\")&&(\"always\"===this.option(w)||this._isSelectionWithCheckboxes)},r.startSelectionWithCheckboxes=function(){return\"multiple\"===this.option(\"selection.mode\")&&!this.isSelectionWithCheckboxes()&&(this._isSelectionWithCheckboxes=!0,this._updateSelectColumn(),!0)},r.stopSelectionWithCheckboxes=function(){return!!this._isSelectionWithCheckboxes&&(this._isSelectionWithCheckboxes=!1,this._updateSelectColumn(),!0)},i}(v.default.Controller);t.SelectionController=D;var I={defaultOptions:function(){return{selection:{mode:\"none\",showCheckBoxesMode:\"onClick\",allowSelectAll:!0,selectAllMode:\"allPages\",maxFilterLengthInRequest:1500,deferred:!1},selectionFilter:[],selectedRowKeys:[]}},controllers:{selection:D},extenders:{controllers:{data:{init:function(){var e=this.getController(\"selection\"),t=this.option(\"selection.deferred\");this.callBase.apply(this,arguments),t&&e._updateCheckboxesState({isDeferredMode:!0,selectionFilter:this.option(\"selectionFilter\")})},_loadDataSource:function(){var e=this;return e.callBase().always((function(){e.getController(\"selection\").refresh()}))},_processDataItem:function(e,t){var n=this,i=n.getController(\"selection\"),o=i.isSelectColumnVisible(),a=t.isDeferredSelection=void 0===t.isDeferredSelection?this.option(\"selection.deferred\"):t.isDeferredSelection,r=this.callBase.apply(this,arguments);if(r.isSelected=i.isRowSelected(a?r.data:r.key),o&&r.values)for(var s=0;s<t.visibleColumns.length;s++)if(\"select\"===t.visibleColumns[s].command){r.values[s]=r.isSelected;break}return r},refresh:function(e){var t=this,n=new a.Deferred;return this.callBase.apply(this,arguments).done((function(){!e||e.selection?t.getController(\"selection\").refresh().done(n.resolve).fail(n.reject):n.resolve()})).fail(n.reject),n.promise()},_handleDataChanged:function(e){this.callBase.apply(this,arguments),e&&\"refresh\"!==e.changeType||this._repaintChangesOnly||this.getController(\"selection\").focusedItemIndex(-1)},_applyChange:function(e){var t=this;if(!e||\"updateSelection\"!==e.changeType)return this.callBase.apply(this,arguments);e.items.forEach((function(e,n){var i=t._items[n];i&&(i.isSelected=e.isSelected,i.values=e.values)}))},_endUpdateCore:function(){var e=this._changes,t=e.length>1&&e.every((function(e){return\"updateSelection\"===e.changeType}));if(t){var n=e.map((function(e){return e.itemIndexes||[]})).reduce((function(e,t){return e.concat(t)}));this._changes=[{changeType:\"updateSelection\",itemIndexes:n}]}this.callBase.apply(this,arguments)}},contextMenu:{_contextMenuPrepared:function(e){var t=e.event;t.originalEvent&&\"dxhold\"!==t.originalEvent.type||e.items&&e.items.length>0||C(this,t)}}},views:{columnHeadersView:{init:function(){this.callBase(),this.getController(\"selection\").selectionChanged.add(this._updateSelectAllValue.bind(this))},_updateSelectAllValue:function(){var e=this.element(),t=e&&e.find(\".\".concat(\"dx-select-checkbox\"));if(e&&t.length&&\"multiple\"===this.option(\"selection.mode\")){var n=this.getController(\"selection\").isSelectAll(),i=!1!==n,o=this.option(\"selection.allowSelectAll\")?!this.getController(\"data\").isEmpty():i;t.dxCheckBox(\"instance\").option({visible:o,value:n})}},_handleDataChanged:function(e){var t=this;this.callBase(e),(!e||\"refresh\"===e.changeType||e.repaintChangesOnly&&\"update\"===e.changeType)&&this.waitAsyncTemplates().done((function(){t._updateSelectAllValue()}))},_renderSelectAllCheckBox:function(e,t){var n=this,o=n.getController(\"selection\"),a=n.getController(\"data\").isEmpty(),s=(0,i.default)(\"<div>\").appendTo(e).addClass(\"dx-select-checkbox\");return n.setAria(\"label\",g.default.format(\"dxDataGrid-ariaSelectAll\"),s),n.getController(\"editorFactory\").createEditor(s,(0,r.extend)({},t,{parentType:\"headerRow\",dataType:\"boolean\",value:o.isSelectAll(),editorOptions:{visible:!a&&(n.option(\"selection.allowSelectAll\")||!1!==o.isSelectAll())},tabIndex:n.option(\"useLegacyKeyboardNavigation\")?-1:n.option(\"tabIndex\")||0,setValue:function(e,t){var i=n.option(\"selection.allowSelectAll\");t.component.option(\"visible\",i||!1!==t.component.option(\"value\")),t.event&&o.isSelectAll()!==e&&(t.value&&!i?t.component.option(\"value\",!1):t.value?o.selectAll():o.deselectAll(),t.event.preventDefault())}})),s},_attachSelectAllCheckBoxClickEvent:function(e){h.default.on(e,c.name,this.createAction((function(e){var t=e.event;(0,i.default)(t.target).closest(\".\".concat(\"dx-select-checkbox\")).length||h.default.trigger((0,i.default)(t.currentTarget).children(\".\".concat(\"dx-select-checkbox\")),c.name),t.preventDefault()})))}},rowsView:{renderSelectCheckBoxContainer:function(e,t){\"data\"!==t.rowType||t.row.isNewRow?y.default.setEmptyText(e):(e.addClass(\"dx-editor-cell\"),this._attachCheckBoxClickEvent(e),this._renderSelectCheckBox(e,t))},_renderSelectCheckBox:function(e,t){var n=(0,i.default)(\"<div>\").addClass(\"dx-select-checkbox\").appendTo(e);return this.setAria(\"label\",g.default.format(\"dxDataGrid-ariaSelectRow\"),n),this.getController(\"editorFactory\").createEditor(n,(0,r.extend)({},t.column,{parentType:\"dataRow\",dataType:\"boolean\",lookup:null,value:t.value,setValue:function(e,t){var n;\"keydown\"===(null===(n=null==t?void 0:t.event)||void 0===n?void 0:n.type)&&h.default.trigger(t.element,c.name,t)},row:t.row})),n},_attachCheckBoxClickEvent:function(e){h.default.on(e,c.name,this.createAction((function(e){var t=this.getController(\"selection\"),n=e.event,o=this.getRowIndex((0,i.default)(n.currentTarget).closest(\".\".concat(\"dx-row\")));o>=0&&(t.startSelectionWithCheckboxes(),t.changeItemSelection(o,{shift:n.shiftKey}),(0,i.default)(n.target).closest(\".\".concat(\"dx-select-checkbox\")).length&&this.getController(\"data\").updateItems({changeType:\"updateSelection\",itemIndexes:[o]}))})))},_update:function(e){var t=this,n=t.getTableElements();\"updateSelection\"===e.changeType?n.length>0&&((0,s.each)(n,(function(n,o){(0,s.each)(e.itemIndexes||[],(function(n,a){var r;if(e.items[a]&&(r=t._getRowElements((0,i.default)(o)).eq(a)).length){var s=e.items[a].isSelected;r.toggleClass(\"dx-selection\",void 0!==s&&s).find(\".\".concat(\"dx-select-checkbox\")).dxCheckBox(\"option\",\"value\",s),t.setAria(\"selected\",s,r)}}))})),t._updateCheckboxesClass()):t.callBase(e)},_createTable:function(){var e=this,t=e.option(\"selection.mode\"),n=e.callBase.apply(e,arguments);return\"none\"!==t&&(\"onLongTap\"!==e.option(w)&&l.touch||h.default.on(n,(0,p.addNamespace)(f.default.name,\"dxDataGridRowsView\"),\".\".concat(\"dx-data-row\"),e.createAction((function(t){C(e.component,t.event),t.event.stopPropagation()}))),h.default.on(n,\"mousedown selectstart\",e.createAction((function(e){var t=e.event;t.shiftKey&&t.preventDefault()})))),n},_createRow:function(e){var t=this.callBase.apply(this,arguments);if(e){var n=e.isSelected;n&&t.addClass(\"dx-selection\");var i=this.option(\"selection.mode\");\"none\"!==i&&this.setAria(\"selected\",n,t)}return t},_rowClick:function(e){var t=e.event,n=(0,i.default)(t.target).closest(\".\".concat(\"dx-selection-disabled\")).length;this.isClickableElement((0,i.default)(t.target))||(n||\"multiple\"===this.option(\"selection.mode\")&&\"always\"===this.option(w)||this.getController(\"selection\").changeItemSelection(e.rowIndex,{control:(0,p.isCommandKeyPressed)(t),shift:t.shiftKey})&&(t.preventDefault(),e.handled=!0),this.callBase(e))},isClickableElement:function(e){return!!e.closest(\".\".concat(\"dx-command-select\")).length},_renderCore:function(e){var t=this.callBase(e);return this._updateCheckboxesClass(),t},_updateCheckboxesClass:function(){var e=this.getTableElements(),t=this.getController(\"selection\"),n=t.isSelectColumnVisible()&&!t.isSelectionWithCheckboxes();(0,s.each)(e,(function(e,t){(0,i.default)(t).toggleClass(\"dx-select-checkboxes-hidden\",n)}))}}}}};t.selectionModule=I},11590:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.sortingModule=void 0;var i=c(n(68374)),o=n(13306),a=n(35922),r=n(95429),s=c(n(55994)),l=n(39611),u=c(n(28109)),d=c(n(62930));function c(e){return e&&e.__esModule?e:{default:e}}var h={defaultOptions:function(){return{sorting:{mode:\"single\",ascendingText:u.default.format(\"dxDataGrid-sortingAscendingText\"),descendingText:u.default.format(\"dxDataGrid-sortingDescendingText\"),clearText:u.default.format(\"dxDataGrid-sortingClearText\"),showSortIndexes:!0}}},extenders:{views:{columnHeadersView:(0,o.extend)({},d.default,{_createRow:function(e){var t=this,n=this.callBase(e);return\"header\"===e.rowType&&s.default.on(n,(0,l.addNamespace)(r.name,\"dxDataGridColumnHeadersView\"),\"td\",this.createAction((function(e){t._processHeaderAction(e.event,n)}))),n},_processHeaderAction:function(e,t){if((0,i.default)(e.currentTarget).parent().get(0)===t.get(0)){var n=this,o=null,r=(0,i.default)(e.currentTarget),s=r.parent().index(),u=-1;[].slice.call(n.getCellElements(s)).some((function(e,t){if(e===r.get(0))return u=t,!0}));var d=n._columnsController.getVisibleColumns(s)[u],c=n.getController(\"editing\"),h=n.option(\"editing.mode\");!(c&&c.isEditing()&&(\"batch\"===h||\"cell\"===h))&&n._isSortableElement((0,i.default)(e.target))&&(!d||(0,a.isDefined)(d.groupIndex)||d.command||(e.shiftKey?o=\"shift\":(0,l.isCommandKeyPressed)(e)&&(o=\"ctrl\"),setTimeout((function(){n._columnsController.changeSortOrder(d.index,o)}))))}},_renderCellContent:function(e,t){var n=this,i=t.column;i.command||\"header\"!==t.rowType||n._applyColumnState({name:\"sort\",rootElement:e,column:i,showColumnLines:n.option(\"showColumnLines\")}),this.callBase.apply(this,arguments)},_columnOptionChanged:function(e){var t=e.changeTypes;1===t.length&&t.sorting?this._updateIndicators(\"sort\"):this.callBase(e)},optionChanged:function(e){switch(e.name){case\"sorting\":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}}}),headerPanel:(0,o.extend)({},d.default,{_createGroupPanelItem:function(e,t){var n=this,i=n.callBase.apply(n,arguments);return s.default.on(i,(0,l.addNamespace)(r.name,\"dxDataGridHeaderPanel\"),n.createAction((function(){n._processGroupItemAction(t.index)}))),n._applyColumnState({name:\"sort\",rootElement:i,column:{alignment:n.option(\"rtlEnabled\")?\"right\":\"left\",allowSorting:t.allowSorting,sortOrder:\"desc\"===t.sortOrder?\"desc\":\"asc\"},showColumnLines:!0}),i},_processGroupItemAction:function(e){var t=this;setTimeout((function(){return t.getController(\"columns\").changeSortOrder(e)}))},optionChanged:function(e){switch(e.name){case\"sorting\":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}}})}}};t.sortingModule=h},62930:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(35922);var r={_applyColumnState:function(e){var t,n,i=this.option(\"sorting.mode\"),r=e.rootElement,s=e.column,l=this._getIndicatorContainer(r);if(\"sort\"===e.name){r.find(\".\".concat(\"dx-sort\")).remove(),!l.children().length&&l.remove();var u=\"none\"!==i&&s.allowSorting;if(!(0,a.isDefined)(s.groupIndex)&&(u||(0,a.isDefined)(s.sortOrder)))t=\"asc\"===s.sortOrder?\"ascending\":\"descending\",n=this.callBase(e).toggleClass(\"dx-sort-up\",\"asc\"===s.sortOrder).toggleClass(\"dx-sort-down\",\"desc\"===s.sortOrder),this.getController&&!!this.getController(\"columns\").columnOption(\"sortIndex:1\")&&this.option(\"sorting.showSortIndexes\")&&s.sortIndex>=0&&((0,o.default)(\"<span>\").addClass(\"dx-sort-index-icon\").text(s.sortIndex+1).appendTo(n),n.addClass(\"dx-sort-index\")),u&&e.rootElement.addClass(this.addWidgetPrefix(\"action\"));return(0,a.isDefined)(s.sortOrder)?this.setAria(\"sort\",t,r):this.setAria(\"sort\",\"none\",r),n}return this.callBase(e)},_getIndicatorClassName:function(e){return\"sort\"===e?\"dx-sort\":\"sortIndex\"===e?\"dx-sort-index-icon\":this.callBase(e)},_renderIndicator:function(e){var t=e.column,n=e.container,i=e.indicator;if(\"sort\"===e.name){var o=this.option(\"rtlEnabled\");if((0,a.isDefined)(t.sortOrder)||i&&i.addClass(\"dx-sort-none\"),n.children().length&&(!o&&\"left\"===e.columnAlignment||o&&\"right\"===e.columnAlignment))return void n.prepend(i)}this.callBase(e)},_updateIndicator:function(e,t,n){if(\"sort\"!==n||!(0,a.isDefined)(t.groupIndex))return this.callBase.apply(this,arguments)},_getIndicatorElements:function(e,t){var n=this.callBase(e);return t?n:n&&n.not(\".\".concat(\"dx-sort-none\"))}};t.default=r},12440:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.stateStoringModule=void 0;var i,o=n(20576),a=n(62754),r=n(13306),s=n(35922),l=(i=n(84651))&&i.__esModule?i:{default:i};var u=function(e){var t=e.getController(\"columns\"),n=e.getController(\"selection\"),i=e.getController(\"export\"),o=e.getController(\"data\");t&&t.columnsChanged.add((function(){e.updateState({columns:t.getUserState()})})),n&&n.selectionChanged.add((function(t){e.updateState({selectedRowKeys:t.selectedRowKeys,selectionFilter:t.selectionFilter})})),o&&(e._initialPageSize=e.option(\"paging.pageSize\"),e._initialFilterValue=e.option(\"filterValue\"),o.changed.add((function(){var t=function(e){var t=e.getView(\"pagerView\"),n=e.getController(\"data\"),i={allowedPageSizes:t?t.getPageSizes():void 0,filterPanel:{filterEnabled:e.option(\"filterPanel.filterEnabled\")},filterValue:e.option(\"filterValue\"),focusedRowKey:e.option(\"focusedRowEnabled\")?e.option(\"focusedRowKey\"):void 0};return(0,r.extend)(i,n.getUserState())}(e);e.updateState(t)}))),i&&i.selectionOnlyChanged.add((function(){e.updateState({exportSelectionOnly:i.selectionOnly()})}))},d={defaultOptions:function(){return{stateStoring:{enabled:!1,storageKey:null,type:\"localStorage\",customLoad:null,customSave:null,savingTimeout:2e3}}},controllers:{stateStoring:l.default.StateStoringController},extenders:{views:{rowsView:{init:function(){var e=this,t=e.getController(\"data\");e.callBase(),t.stateLoaded.add((function(){if(t.isLoaded()&&!t.getDataSource()){e.setLoading(!1),e.renderNoDataText();var n=e.component.getView(\"columnHeadersView\");n&&n.render(),e.component._fireContentReadyAction()}}))}}},controllers:{stateStoring:{init:function(){this.callBase.apply(this,arguments),u(this)},isLoading:function(){return this.callBase()||this.getController(\"data\").isStateLoading()},state:function(e){var t=this.callBase.apply(this,arguments);return void 0!==e&&this.applyState((0,r.extend)(!0,{},e)),t},updateState:function(e){if(this.isEnabled()){var t=this.state(),n=(0,r.extend)({},t,e),i=(0,o.getKeyHash)(t),a=(0,o.getKeyHash)(n);(0,o.equalByValue)(i,a)||(e=(0,r.extend)(!0,{},e),(0,r.extend)(this._state,e),this.save())}else(0,r.extend)(this._state,e)},applyState:function(e){var t,n=e.allowedPageSizes,i=e.searchText,o=e.selectedRowKeys,a=e.selectionFilter,r=this.getController(\"export\"),l=this.getController(\"columns\"),u=this.getController(\"data\"),d=this.option(\"scrolling.mode\"),c=\"virtual\"===d||\"infinite\"===d,h=!0===this.option(\"pager.visible\")&&this.option(\"pager.showPageSizeSelector\"),f=null===(t=this.getView(\"rowsView\"))||void 0===t?void 0:t.hasHeight();this.component.beginUpdate(),l&&l.setUserState(e.columns),r&&r.selectionOnly(e.exportSelectionOnly),this.option(\"selection.deferred\")||this.option(\"selectedRowKeys\",o||[]),this.option(\"selectionFilter\",a),n&&\"auto\"===this.option(\"pager.allowedPageSizes\")&&(this.option(\"pager\").allowedPageSizes=n),this.option(\"focusedRowEnabled\")&&(this.option(\"focusedRowIndex\",-1),this.option(\"focusedRowKey\",e.focusedRowKey||null)),this.component.endUpdate(),this.option(\"searchPanel.text\",i||\"\"),this.option(\"filterValue\",function(e,t){var n=e.getController(\"filterSync\"),i=e.getController(\"columns\"),o=t.columns||void 0!==t.filterValue;return n?o?t.filterValue||n.getFilterValueFromColumns(t.columns):e._initialFilterValue||n.getFilterValueFromColumns(i.getColumns()):null}(this,e)),this.option(\"filterPanel.filterEnabled\",!e.filterPanel||e.filterPanel.filterEnabled),this.option(\"paging.pageIndex\",(!c||f)&&e.pageIndex||0),this.option(\"paging.pageSize\",c&&!h||!(0,s.isDefined)(e.pageSize)?this._initialPageSize:e.pageSize),u&&u.reset()}},columns:{_shouldReturnVisibleColumns:function(){var e=this.callBase.apply(this,arguments),t=this.getController(\"stateStoring\");return e&&(!t.isEnabled()||t.isLoaded())}},data:{callbackNames:function(){return this.callBase().concat([\"stateLoaded\"])},_refreshDataSource:function(){var e=this,t=this.callBase,n=this.getController(\"stateStoring\");if(n.isEnabled()&&!n.isLoaded()){clearTimeout(this._restoreStateTimeoutID);var i=new a.Deferred;return this._restoreStateTimeoutID=setTimeout((function(){n.load().always((function(){e._restoreStateTimeoutID=null})).done((function(){t.call(e),e.stateLoaded.fire(),i.resolve()})).fail((function(t){e.stateLoaded.fire(),e._handleLoadError(t||\"Unknown error\"),i.reject()}))})),i.promise()}this.isStateLoading()||t.call(this)},isLoading:function(){var e=this.getController(\"stateStoring\");return this.callBase()||e.isLoading()},isStateLoading:function(){return(0,s.isDefined)(this._restoreStateTimeoutID)},isLoaded:function(){return this.callBase()&&!this.isStateLoading()},dispose:function(){clearTimeout(this._restoreStateTimeoutID),this.callBase()}},selection:{_fireSelectionChanged:function(e){var t=this.getController(\"stateStoring\"),n=this.option(\"selection.deferred\");t.isLoading()&&n||this.callBase.apply(this,arguments)}}}}};t.stateStoringModule=d},84651:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(62754),o=n(13306),a=n(95479),r=n(36613),s=n(35922),l=n(58201),u=h(n(55994)),d=h(n(96688)),c=h(n(15943));function h(e){return e&&e.__esModule?e:{default:e}}var f,p,g=/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/,m=function e(t){t&&(0,a.each)(t,(function(n,i){if((0,s.isPlainObject)(i)||Array.isArray(i))e(i);else if(\"string\"==typeof i){var o=g.exec(i);o&&(t[n]=new Date(Date.UTC(+o[1],+o[2]-1,+o[3],+o[4],+o[5],+o[6])))}}))},_={StateStoringController:c.default.ViewController.inherit((f=function(e){var t=\"sessionStorage\"===e.type?(0,r.sessionStorage)():(0,l.getWindow)().localStorage;if(!t)throw new Error(\"E1007\");return t},p=function(e){return(0,s.isDefined)(e.storageKey)?e.storageKey:\"storage\"},{_loadState:function(){var e=this.option(\"stateStoring\");if(\"custom\"===e.type)return e.customLoad&&e.customLoad();try{return JSON.parse(f(e).getItem(p(e)))}catch(e){d.default.log(\"W1022\",\"State storing\",e.message)}},_saveState:function(e){var t=this.option(\"stateStoring\");if(\"custom\"!==t.type)try{f(t).setItem(p(t),JSON.stringify(e))}catch(e){d.default.log(e.message)}else t.customSave&&t.customSave(e)},publicMethods:function(){return[\"state\"]},isEnabled:function(){return this.option(\"stateStoring.enabled\")},init:function(){var e=this;return e._state={},e._isLoaded=!1,e._isLoading=!1,e._windowUnloadHandler=function(){void 0!==e._savingTimeoutID&&e._saveState(e.state())},u.default.on((0,l.getWindow)(),\"unload\",e._windowUnloadHandler),e},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._isLoading},load:function(){var e=this;this._isLoading=!0;var t=(0,i.fromPromise)(this._loadState());return t.always((function(){e._isLoaded=!0,e._isLoading=!1})).done((function(t){null===t||(0,s.isEmptyObject)(t)||e.state(t)})),t},state:function(e){var t=this;if(!arguments.length)return(0,o.extend)(!0,{},t._state);t._state=(0,o.extend)({},e),m(t._state)},save:function(){var e=this;clearTimeout(e._savingTimeoutID),e._savingTimeoutID=setTimeout((function(){e._saveState(e.state()),e._savingTimeoutID=void 0}),e.option(\"stateStoring.savingTimeout\"))},optionChanged:function(e){switch(e.name){case\"stateStoring\":this.isEnabled()&&!this.isLoading()&&this.load(),e.handled=!0;break;default:this.callBase(e)}},dispose:function(){clearTimeout(this._savingTimeoutID),u.default.off((0,l.getWindow)(),\"unload\",this._windowUnloadHandler)}}))};t.default=_},39830:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.validatingModule=void 0;var i=k(n(68374)),o=k(n(47810)),a=n(20576),r=n(62754),s=n(13306),l=n(95479),u=n(58664),d=n(68752),c=n(35922),h=n(60637),f=k(n(55994)),p=k(n(93786)),g=k(n(28109)),m=k(n(63008)),_=k(n(2492)),v=k(n(89799)),y=k(n(90964)),b=k(n(39562)),x=n(31421),w=k(n(96688)),C=k(n(15943)),S=k(n(60082));function k(e){return e&&e.__esModule?e:{default:e}}function D(e){return function(e){if(Array.isArray(e))return I(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I(e,t)}(e)||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 I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var T=[\"popup\",\"form\"],E=\"valid\",O=\"invalid\",A=\"pending\",P=function(e){return(0,c.isDefined)(e)&&\"cancel\"!==e},M=function(e,t){return void 0!==e||void 0===e&&t&&!t.isNewRow},R={defaultOptions:function(){return{editing:{texts:{validationCancelChanges:g.default.format(\"dxDataGrid-validationCancelChanges\")}}}},controllers:{validating:C.default.Controller.inherit({init:function(){this._editingController=this.getController(\"editing\"),this.createAction(\"onRowValidating\"),this._validationState||this.initValidationState()},initValidationState:function(){this._validationState=[],this._validationStateCache={}},_rowIsValidated:function(e){var t=this._getValidationData(null==e?void 0:e.key);return!!t&&!!t.validated},_getValidationData:function(e,t){var n,i=(0,a.getKeyHash)(e),o=(0,c.isObject)(i);return!(n=o?this._validationState.filter((function(t){return(0,a.equalByValue)(t.key,e)}))[0]:this._validationStateCache[i])&&t&&(n={key:e,isValid:!0},this._validationState.push(n),o||(this._validationStateCache[i]=n)),n},_getBrokenRules:function(e,t){return t?t.brokenRules||t.brokenRule&&[t.brokenRule]:e.brokenRules||[]},_rowValidating:function(e,t){var n=new r.Deferred,i=this._editingController.getChangeByKey(null==e?void 0:e.key),o=this._getBrokenRules(e,t),a={brokenRules:o,isValid:t?t.isValid:e.isValid,key:i.key,newData:i.data,oldData:this._editingController._getOldData(i.key),promise:null,errorText:this.getHiddenValidatorsErrorText(o)};return this.executeAction(\"onRowValidating\",a),(0,r.when)((0,r.fromPromise)(a.promise)).always((function(){e.isValid=a.isValid,e.errorText=a.errorText,n.resolve(a)})),n.promise()},getHiddenValidatorsErrorText:function(e){var t=[];return(0,l.each)(e,(function(e,n){var i=n.column,o=i&&void 0!==i.groupIndex&&!i.showWhenGrouped,a=i&&i.visible;n.validator.$element().parent().length||a&&!o||t.push(n.message)})),t.join(\", \")},validate:function(e){var t=this,n=!0,i=this._editingController,o=new r.Deferred,a=[],s=i.getEditMode();if(e=e||\"row\"===s,this._isValidationInProgress)return o.resolve(!1).promise();if(this._isValidationInProgress=!0,e){i.addDeferred(o);var u=i.getChanges();(0,l.each)(u,(function(e,i){var o=i.type,r=i.key;if(\"remove\"!==o){var s=t._getValidationData(r,!0),l=t.validateGroup(s);a.push(l),l.done((function(e){s.validated=!0,n=n&&e.isValid}))}}))}else if(this._currentCellValidator){var d=this.validateGroup(this._currentCellValidator._findGroup());a.push(d),d.done((function(e){n=e.isValid}))}return r.when.apply(void 0,a).done((function(){t._isValidationInProgress=!1,o.resolve(n)})),o.promise()},validateGroup:function(e){var t,n=this,i=new r.Deferred,o=e&&y.default.getGroupConfig(e);return(null==o?void 0:o.validators.length)&&(this.resetRowValidationResults(e),t=y.default.validateGroup(e)),(0,r.when)((null==t?void 0:t.complete)||t).done((function(t){(0,r.when)(n._rowValidating(e,t)).done(i.resolve)})),i.promise()},isRowDataModified:function(e){return!(0,c.isEmptyObject)(e.data)},updateValidationState:function(e){var t=this._editingController.getEditMode(),n=e.key,i=this._getValidationData(n,!0);if(T.includes(t))i.isValid=!0;else{if(\"insert\"===e.type&&!this.isRowDataModified(e))return void(i.isValid=!0);if(this.setDisableApplyValidationResults(!0),y.default.getGroupConfig(i)){var o=y.default.validateGroup(i);(0,r.when)(o.complete||o).done((function(e){i.isValid=e.isValid,i.brokenRules=e.brokenRules}))}else i.brokenRules&&i.brokenRules.length||(i.isValid=!0);this.setDisableApplyValidationResults(!1)}},setValidator:function(e){this._currentCellValidator=e},renderCellPendingIndicator:function(e){var t=e.find(\".\".concat(\"dx-pending-indicator\"));if(!t.length){var n=e;t=(0,i.default)(\"<div>\").appendTo(n).addClass(\"dx-pending-indicator\"),this._createComponent(t,_.default),e.addClass(\"dx-validation-pending\")}},disposeCellPendingIndicator:function(e){var t=e.find(\".\".concat(\"dx-pending-indicator\"));if(t.length){var n=_.default.getInstance(t);n&&(n.dispose(),n.$element().remove()),e.removeClass(\"dx-validation-pending\")}},validationStatusChanged:function(e){var t=e.validator,n=t.option(\"validationGroup\"),i=t.option(\"dataGetter\")().column;this.updateCellValidationResult({rowKey:n.key,columnIndex:i.index,validationResult:e})},validatorInitialized:function(e){e.component.on(\"validating\",this.validationStatusChanged.bind(this)),e.component.on(\"validated\",this.validationStatusChanged.bind(this))},validatorDisposing:function(e){var t=e.component,n=t.option(\"validationGroup\"),i=t.option(\"dataGetter\")().column,o=this.getCellValidationResult({rowKey:null==n?void 0:n.key,columnIndex:i.index});P(o)&&o.status===A&&this.cancelCellValidationResult({change:n,columnIndex:i.index})},applyValidationResult:function(e,t){var n=t.validator,i=n.option(\"validationGroup\"),o=n.option(\"dataGetter\")().column;if(t.brokenRules&&t.brokenRules.forEach((function(e){e.columnIndex=o.index,e.column=o})),e){var a=this.getCellValidationResult({rowKey:i.key,columnIndex:o.index}),r=P(a)&&a.disabledPendingId===t.id;if(this._disableApplyValidationResults||r)return;if(t.status===O){var s=e.find(\":focus\");(0,x.focused)(s)||(f.default.trigger(s,\"focus\"),f.default.trigger(s,p.default.down))}var l=!o.editCellTemplate&&this.getController(\"editorFactory\").getEditorInstance(e);t.status===A?l?l.option(\"validationStatus\",A):this.renderCellPendingIndicator(e):l?l.option(\"validationStatus\",E):this.disposeCellPendingIndicator(e),e.toggleClass(this.addWidgetPrefix(\"invalid\"),t.status===O)}},_syncInternalEditingData:function(e){var t,n=this._editingController,i=n.getChangeByKey(e.key),o=n._getOldData(e.key),a=null===(t=e.row)||void 0===t?void 0:t.oldData;i&&a&&!o&&n._addInternalData({key:e.key,oldData:a})},createValidator:function(e,t){var n,o,r=this,l=this._editingController,u=e.column,d=u.showEditorAlways;if(!(0,c.isDefined)(u.command)&&u.validationRules&&Array.isArray(u.validationRules)&&u.validationRules.length){var f=l.getIndexByKey(e.key,l.getChanges())>-1;if(!f){if(!d){var p=this.getController(\"columns\");d=((null==p?void 0:p.getVisibleColumns())||[]).some((function(e){return e.showEditorAlways}))}var g=(0,a.equalByValue)(this.option(\"editing.editRowKey\"),e.key),m=l.isCellOrBatchEditMode()&&l.allowUpdating({row:e.row});f=g||m&&d,m&&d&&l._addInternalData({key:e.key,oldData:null!==(o=null===(n=e.row)||void 0===n?void 0:n.oldData)&&void 0!==o?o:e.data})}if(f){if(t&&!t.length)return void w.default.log(\"E1050\");this._syncInternalEditingData(e);var _=this._getValidationData(e.key,!0),v=function(){var t=l.getChangeByKey(null==_?void 0:_.key),n=u.calculateCellValue((null==t?void 0:t.data)||{});return void 0!==n?n:e.value},y=t&&t.hasClass(\"dx-widget\");t&&t.addClass(this.addWidgetPrefix(\"validator\"));var x=new b.default(t||(0,i.default)(\"<div>\"),{name:u.caption,validationRules:(0,s.extend)(!0,[],u.validationRules),validationGroup:_,adapter:y?null:{getValue:v,applyValidationResults:function(e){r.applyValidationResult(t,e)}},dataGetter:function(){var e=null==_?void 0:_.key,t=l.getChangeByKey(e),n=l._getOldData(e);return{data:(0,h.createObjectWithChanges)(n,null==t?void 0:t.data),column:u}},onInitialized:this.validatorInitialized.bind(this),onDisposing:this.validatorDisposing.bind(this)});if(y){var C=x.option(\"adapter\");if(C){var S=C.bypass;C.getValue=v,C.validationRequestsCallbacks=[],C.bypass=function(){return S.call(C)||e.row.isNewRow&&!r._isValidationInProgress&&!l.isCellModified(e)}}}return x}}},setDisableApplyValidationResults:function(e){this._disableApplyValidationResults=e},getDisableApplyValidationResults:function(){return this._disableApplyValidationResults},isCurrentValidatorProcessing:function(e){var t=e.rowKey,n=e.columnIndex;return this._currentCellValidator&&(0,a.equalByValue)(this._currentCellValidator.option(\"validationGroup\").key,t)&&this._currentCellValidator.option(\"dataGetter\")().column.index===n},validateCell:function(e){var t={rowKey:e.option(\"validationGroup\").key,columnIndex:e.option(\"dataGetter\")().column.index},n=this.getCellValidationResult(t),i=P(n),o=e.option(\"adapter\");if(i){var s=o.getValue();(0,a.equalByValue)(s,n.value)||(n=e.validate())}else n=e.validate();var l=new r.Deferred;return i&&n.status===A&&(this.updateCellValidationResult(t),o.applyValidationResults(n)),(0,r.when)(n.complete||n).done((function(e){i&&o.applyValidationResults(e),l.resolve(e)})),l.promise()},updateCellValidationResult:function(e){var t=e.rowKey,n=e.columnIndex,i=e.validationResult,o=this._getValidationData(t);if(o){var a;if(o.validationResults||(o.validationResults={}),i){if(a=(0,s.extend)({},i),o.validationResults[n]=a,i.status===A&&(\"cell\"===this._editingController.getEditMode()&&(a.deferred=new r.Deferred,a.complete.always((function(){a.deferred.resolve()})),this._editingController.addDeferred(a.deferred)),this._disableApplyValidationResults))return void(a.disabledPendingId=i.id)}else a=o.validationResults[n];a&&a.disabledPendingId&&delete a.disabledPendingId}},getCellValidationResult:function(e){var t,n=e.rowKey,i=e.columnIndex,o=this._getValidationData(n,!0);return null===(t=null==o?void 0:o.validationResults)||void 0===t?void 0:t[i]},removeCellValidationResult:function(e){var t=e.change,n=e.columnIndex,i=this._getValidationData(null==t?void 0:t.key);i&&i.validationResults&&(this.cancelCellValidationResult({change:t,columnIndex:n}),delete i.validationResults[n])},cancelCellValidationResult:function(e){var t=e.change,n=e.columnIndex,i=this._getValidationData(t.key);if(t&&i.validationResults){var o=i.validationResults[n];o&&(o.deferred&&o.deferred.reject(\"cancel\"),i.validationResults[n]=\"cancel\")}},resetRowValidationResults:function(e){e&&(e.validationResults&&delete e.validationResults,delete e.validated)},isInvalidCell:function(e){var t=e.rowKey,n=e.columnIndex,i=this.getCellValidationResult({rowKey:t,columnIndex:n});return P(i)&&i.status===O},getCellValidator:function(e){var t=e.rowKey,n=e.columnIndex,i=this._getValidationData(t),o=i&&y.default.getGroupConfig(i),a=o&&o.validators;return a&&a.filter((function(e){var t=e.option(\"dataGetter\")().column;return!!t&&t.index===n}))[0]},setCellValidationStatus:function(e){var t=this.getCellValidationResult({rowKey:e.key,columnIndex:e.column.index});(0,c.isDefined)(t)?e.validationStatus=\"cancel\"!==t?t.status:\"cancel\":delete e.validationStatus}})},extenders:{controllers:{editing:{_addChange:function(e){var t=this.callBase.apply(this,arguments),n=this.getController(\"validating\");return t&&\"remove\"!==e.type&&n.updateValidationState(t),t},_handleChangesChange:function(e){this.callBase.apply(this,arguments);var t=this.getController(\"validating\");e.value.forEach((function(e){void 0===t._getValidationData(e.key)&&t.updateValidationState(e)}))},_updateRowAndPageIndices:function(){var e=this,t=this,n=t.getView(\"rowsView\").getTopVisibleItemIndex(),i=n;(0,l.each)(t.getChanges(),(function(o,a){var r=a.key,s=a.type,l=e.getController(\"validating\")._getValidationData(r);l&&!l.isValid&&l.pageIndex!==t._pageIndex&&(l.pageIndex=t._pageIndex,l.rowIndex=\"insert\"===s?n:i,i++)}))},_getValidationGroupsInForm:function(e){return{validationGroup:this.getController(\"validating\")._getValidationData(e.key,!0)}},_validateEditFormAfterUpdate:function(e,t){t&&this._editForm&&this._editForm.validate(),this.callBase.apply(this,arguments)},_prepareEditCell:function(e){var t=this.callBase.apply(this,arguments),n=this.getController(\"validating\");return t&&e.column.showEditorAlways&&n.updateValidationState({key:e.key}),t},processItems:function(e,t){var n=this,i=this.getChanges(),o=this.getController(\"data\"),r=this.getController(\"validating\"),s=(e=this.callBase(e,t)).length,u=function(t,n){var i={key:t.key};if(!(function(e,t){var n=-1,i=\"insert\"===e.type,r=e.key;return(0,l.each)(t,(function(e,t){if((0,a.equalByValue)(r,i?t.key:o.keyOf(t)))return n=e,!1})),n}(t,e)>=0)){n.rowIndex=n.rowIndex>s?n.rowIndex%s:n.rowIndex;var r=n.rowIndex;i.__DX_INSERT_INDEX__=1,e.splice(r,0,i)}};return\"batch\"===this.getEditMode()&&\"prepend\"!==t&&\"append\"!==t&&i.forEach((function(e){var t=e.key,i=r._getValidationData(t);i&&e.type&&i.pageIndex===n._pageIndex&&(null==e?void 0:e.pageIndex)!==n._pageIndex&&u(e,i)})),e},processDataItem:function(e){var t=e.data.__DX_INSERT_INDEX__,n=t?e.data.key:e.key,i=this.getEditMode();if(\"batch\"===i&&t&&n){var o=this.getChanges(),a=S.default.getIndexByKey(n,o);if(a>=0){var r=o[a];if(\"insert\"!==r.type){var l=this._getOldData(r.key);e.data=(0,s.extend)(!0,{},l,r.data),e.key=n}}}this.callBase.apply(this,arguments)},_createInvisibleColumnValidators:function(e){var t=this,n=this,i=this.getController(\"validating\"),o=this.getController(\"columns\"),a=o.getColumns(),r=o.getInvisibleColumns().filter((function(e){return!e.isBand})),s=o.getGroupColumns().filter((function(e){return!e.showWhenGrouped&&-1===r.indexOf(e)})),u=[];return r.push.apply(r,D(s)),T.includes(this.getEditMode())||(0,l.each)(a,(function(o,a){e.forEach((function(e){var o;if(!function(e,n){return t._dataController.getRowIndexByKey(n)>=0&&r.indexOf(e)<0}(a,e.key)){if(\"insert\"===e.type)o=e.data;else if(\"update\"===e.type){var s=n._getOldData(e.key);if(!(0,c.isDefined)(s))return;o=(0,h.createObjectWithChanges)(s,e.data)}if(o){var l=i.createValidator({column:a,key:e.key,value:a.calculateCellValue(o)});l&&u.push(l)}}}))})),function(){u.forEach((function(e){e.dispose()}))}},_beforeSaveEditData:function(e,t){var n=this,i=this.callBase.apply(this,arguments),o=this.getController(\"validating\"),a=o._getValidationData(null==e?void 0:e.key);if(e){var s=\"remove\"===e.type||a.isValid;i=i||!s}else{var l=this._createInvisibleColumnValidators(this.getChanges());i=new r.Deferred,this.executeOperation(i,(function(){o.validate(!0).done((function(e){switch(l(),n._updateRowAndPageIndices(),n.getEditMode()){case\"cell\":e||n._focusEditingCell();break;case\"batch\":e||(n._resetEditRowKey(),n._resetEditColumnName(),n.getController(\"data\").updateItems())}i.resolve(!e)}))}))}return i.promise?i.promise():i},_beforeEditCell:function(e,t,n){var i=this.callBase(e,t,n);if(\"cell\"===this.getEditMode()){var o=this._rowsView._getCellElement(e,t),a=o&&o.data(\"dxValidator\"),s=o&&o.closest(\".dx-row\").data(\"options\"),l=a&&a.option(\"adapter\").getValue();if(a&&M(l,s)){var u=this.getController(\"validating\"),d=new r.Deferred;return(0,r.when)(u.validateCell(a),i).done((function(e,t){d.resolve(e.status===E&&t)})),d.promise()}if(!a)return i}return!1},_afterSaveEditData:function(e){var t,n=this,i=\"cell\"===this.getEditMode();if((0,l.each)(this.getChanges(),(function(e,i){var o=n._showErrorRow(i);t=t||o})),t){var o=this._rowsView.getScrollable();o&&(o.update(),o.scrollToElement(t))}if(e&&i&&this._needUpdateRow()){var a=this.getEditRowIndex();this._dataController.updateItems({changeType:\"update\",rowIndices:[a]}),this._focusEditingCell()}else if(!e){var r=!0;if(i)r=!(this.getController(\"columns\").getColumns().filter((function(e){var t;return e.showEditorAlways&&(null===(t=e.validationRules)||void 0===t?void 0:t.length)>0})).length>0);r&&this.getController(\"validating\").initValidationState()}},_handleDataChanged:function(e){var t=this.getController(\"validating\")._validationState;\"standard\"===this.option(\"scrolling.mode\")&&this.resetRowAndPageIndices(),\"prepend\"===e.changeType&&(0,l.each)(t,(function(t,n){n.rowIndex+=e.items.length})),this.callBase(e)},resetRowAndPageIndices:function(){var e=this,t=this.getController(\"validating\")._validationState;(0,l.each)(t,(function(t,n){n.pageIndex!==e._pageIndex&&(delete n.pageIndex,delete n.rowIndex)}))},_beforeCancelEditData:function(){this.getController(\"validating\").initValidationState(),this.callBase()},_showErrorRow:function(e){var t,n=this.getController(\"errorHandling\"),i=this.getController(\"data\").items(),o=this.getIndexByKey(e.key,i),a=this.getController(\"validating\")._getValidationData(e.key);if(!(null==a?void 0:a.isValid)&&(null==a?void 0:a.errorText)&&o>=0)return t=this.getPopupContent(),n&&n.renderErrorRow(null==a?void 0:a.errorText,o,t)},updateFieldValue:function(e){var t=this,n=this.getController(\"validating\"),i=new r.Deferred;return n.removeCellValidationResult({change:this.getChangeByKey(e.key),columnIndex:e.column.index}),this.callBase.apply(this,arguments).done((function(){var o=n.getCellValidator({rowKey:e.key,columnIndex:e.column.index});(0,r.when)(o&&n.validateCell(o)).done((function(e){t.getController(\"editorFactory\").refocus(),i.resolve(e)}))})),i.promise()},highlightDataCell:function(e,t){this.callBase.apply(this,arguments);var n=this.getController(\"validating\");n.setCellValidationStatus(t);var i=!!t.setValue,o=this.isCellModified(t),a=(0,c.isDefined)(t.validationStatus),s=o&&t.column.setCellValue||i&&!o&&!(t.row.isNewRow||!a);if(s){var l=e.data(\"dxValidator\");l&&(0,r.when)(this.getController(\"validating\").validateCell(l)).done((function(){n.setCellValidationStatus(t)}))}},getChangeByKey:function(e){var t=this.getChanges();return t[S.default.getIndexByKey(e,t)]},isCellModified:function(e){var t=this.callBase(e),n=this.getChangeByKey(e.key),i=!!e.row&&this.getController(\"validating\").isInvalidCell({rowKey:e.key,columnIndex:e.column.index});return t||this.getController(\"validating\")._rowIsValidated(n)&&i}},editorFactory:{_showRevertButton:function(e){var t,n=this,o=null===(t=this._revertTooltip)||void 0===t?void 0:t.$element();if(!e||!e.length)return null==o||o.remove(),void(this._revertTooltip=void 0);if(!e.find(o).length){var a=e.closest(\".\".concat(this.addWidgetPrefix(\"content\"))),r=this.addWidgetPrefix(\"revert-tooltip\");null==o||o.remove(),o=(0,i.default)(\"<div>\").addClass(r).appendTo(e);var s={animation:null,visible:!0,width:\"auto\",height:\"auto\",shading:!1,container:a,propagateOutsideClick:!0,hideOnOutsideClick:!1,wrapperAttr:{class:r},contentTemplate:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-revert-button\"),t={icon:\"revert\",hint:n.option(\"editing.texts.validationCancelChanges\"),onClick:function(){n._editingController.cancelEditData()}};return new m.default(e,t).$element()},position:{my:\"left top\",at:\"right top\",offset:\"1 0\",collision:\"flip\",boundaryOffset:\"0 0\",boundary:this._rowsView.element(),of:e},onPositioned:this._positionedHandler.bind(this)};this._revertTooltip=new v.default(o,s)}},_hideFixedGroupCell:function(e,t){var n,o,a=this._rowsView.isFixedColumns(),r=this._editingController.isFormOrPopupEditMode();if(a&&!r){var s=e.closest(\".dx-row\").next().data(\"options\");s&&\"group\"===s.rowType&&(n=(0,i.default)(this._rowsView.getRowElement(s.rowIndex)).last(),(o=n.find(\".\".concat(\"dx-group-cell\"))).length&&\"hidden\"!==o.get(0).style.visibility&&(o.css(\"visibility\",\"hidden\"),t.onDisposing=function(){o.css(\"visibility\",\"\")}))}},_positionedHandler:function(e,t){if(!e.component.__skipPositionProcessing){var n=(0,i.default)(e.element).hasClass(this.addWidgetPrefix(\"revert-tooltip\")),o=!n&&this._rowsView.updateFreeSpaceRowHeight(),a=this._normalizeValidationMessagePositionAndMaxWidth(e,n,t);e.component.__skipPositionProcessing=!(!o&&!a),a?e.component.option(a):o&&e.component.repaint()}},_showValidationMessage:function(e,t,n){var a,r=this,s=e.find(\".dx-dropdowneditor-overlay\").data(\"dxPopup\"),l=s&&s.option(\"visible\"),u=l?\"top right\":\"top \".concat(n),c=l?\"top left\":\"bottom \".concat(n),h=(null===(a=this._columnsController.getFixedColumns())||void 0===a?void 0:a.length)>0?this.getView(\"rowsView\").element():e.closest(\".\".concat(this.addWidgetPrefix(\"content\"))),f=\"\";t&&t.forEach((function(e){f+=(f.length?\"<br/>\":\"\")+(0,d.encodeHtml)(e)}));var p=this.addWidgetPrefix(\"invalid-message\");this._rowsView.element().find(\".\".concat(p)).remove();var g=(0,i.default)(\"<div>\").addClass(\"dx-invalid-message\").addClass(\"dx-invalid-message-always\").addClass(p).html(f).appendTo(e),m={container:h,shading:!1,width:\"auto\",height:\"auto\",visible:!0,animation:!1,propagateOutsideClick:!0,hideOnOutsideClick:!1,wrapperAttr:{class:\"\".concat(\"dx-invalid-message\",\" \").concat(\"dx-invalid-message-always\",\" \").concat(p)},position:{collision:\"flip\",boundary:this._rowsView.element(),boundaryOffset:\"0 0\",offset:{x:0,y:!l&&o.default.mozilla?-1:0},my:u,at:c,of:e},onPositioned:function(t){r._positionedHandler(t,l),r._shiftValidationMessageIfNeed(t.component.$content(),e)}};this._hideFixedGroupCell(e,m),new v.default(g,m)},_hideValidationMessage:function(){var e,t=null===(e=this._rowsView.element())||void 0===e?void 0:e.find(this._getValidationMessagesSelector());null==t||t.remove()},_normalizeValidationMessagePositionAndMaxWidth:function(e,t,n){var o=this._columnsController.getFixedColumns();if(o&&o.length){var a,r,s,l,d,c=!t&&(r=this,s=e.element,l=(0,i.default)(s).closest(\"tr\").index(),d=(0,i.default)(r._rowsView.getRowElement(l)).first().children().filter(\":not(.dx-hidden-cell)\"),r._rowsView._getWidths(d).reduce((function(e,t){return e+t}),0)),h=e.component.$content(),f=(0,u.getOuterWidth)(h,!0),p=!t&&f>c,g=this._rowsView.getCellIndex((0,i.default)(e.element).closest(\"td\")),m=function(e){var t,n;return e.some((function(i,o){if(\"transparent\"===i.command)return t=0===o?-1:o,n=o===e.length-1?-1:o+i.colspan-1,!0})),{startColumnIndex:t,endColumnIndex:n}}(o);return t||g!==m.startColumnIndex&&!p?g===m.endColumnIndex&&(a={collision:\"none flip\",my:\"top right\",at:t||n?\"top left\":\"bottom right\"},t&&(a.offset=\"-1 0\")):a={collision:\"none flip\",my:\"top left\",at:n?\"top right\":\"bottom left\"},a&&{position:a,maxWidth:p?c-2:void 0}}},_shiftValidationMessageIfNeed:function(e,t){var n=this._revertTooltip&&this._revertTooltip.$content();if(n){var i=e.offset(),o=n.offset();if(i.top===o.top&&i.left+(0,u.getWidth)(e)>o.left){var a=(0,u.getWidth)(n)+2;e.css(\"left\",o.left<t.offset().left?-a:a)}}},_getRevertTooltipsSelector:function(){var e=this.addWidgetPrefix(\"revert-tooltip\");return\".dx-editor-cell .\".concat(e)},_getValidationMessagesSelector:function(){var e=this.addWidgetPrefix(\"invalid-message\");return\".dx-editor-cell .\".concat(e,\", .dx-cell-modified .\").concat(e)},init:function(){this.callBase(),this._editingController=this.getController(\"editing\"),this._columnsController=this.getController(\"columns\"),this._rowsView=this.getView(\"rowsView\")},loseFocus:function(e){e||this.getController(\"validating\").setValidator(null),this.callBase()},updateCellState:function(e,t,n){var i,o=null==e?void 0:e.closest(this._getFocusCellSelector()),a=(null==o?void 0:o.is(\"td\"))?o:null,r=null==o?void 0:o.closest(\".dx-row\").data(\"options\"),s=r?this.getController(\"editing\").getChangeByKey(r.key):null,l=a&&this.getController(\"columns\").getVisibleColumns()[a.index()],u=void 0!==(null===(i=null==s?void 0:s.data)||void 0===i?void 0:i[null==l?void 0:l.name])&&!this._editingController.isSaving();if(\"cell\"===this._editingController.getEditMode()&&((null==t?void 0:t.status)===O||u?this._showRevertButton(o):this._revertTooltip&&this._revertTooltip.$element().remove()),t&&t.status===O&&a&&l&&t&&t.brokenRules){var d=[];t.brokenRules.forEach((function(e){e.message&&d.push(e.message)})),d.length&&this._showValidationMessage(o,d,l.alignment||\"left\")}!n&&this._rowsView.element()&&this._rowsView.updateFreeSpaceRowHeight()},focus:function(e,t){var n=this;if(!arguments.length)return this.callBase();if(this._hideValidationMessage(),(null==e?void 0:e.hasClass(\"dx-row\"))||(null==e?void 0:e.hasClass(\"dx-master-detail-cell\")))return this.callBase(e,t);var i,o=null==e?void 0:e.closest(this._getFocusCellSelector()),a=this.callBase,s=o&&(o.data(\"dxValidator\")||e.find(\".\".concat(this.addWidgetPrefix(\"validator\"))).eq(0).data(\"dxValidator\")),l=o&&o.closest(\".dx-row\").data(\"options\"),u=this.getController(\"editing\"),d=l?u.getChangeByKey(l.key):null,c=this.getController(\"validating\");if(s){c.setValidator(s);var h=s.option(\"adapter\").getValue();if(M(h,l)||c._rowIsValidated(d))return u.waitForDeferredOperations().done((function(){(0,r.when)(c.validateCell(s)).done((function(o){var r=(i=o).validator.option(\"dataGetter\")().column;d&&r&&!c.isCurrentValidatorProcessing({rowKey:d.key,columnIndex:r.index})||(i.status===O&&(t=!0),n.updateCellState(e,i,t),a.call(n,e,t))}))})),this.callBase(e,t)}return this.updateCellState(e,i,t),this.callBase(e,t)},getEditorInstance:function(e){var t=e.find(\".dx-texteditor\").eq(0);return S.default.getWidgetInstance(t)}},data:{_getValidationStatus:function(e){return(P(e)?e.status:e)||E},_isCellChanged:function(e,t,n,o,a){var r,s,l=null===(r=e.cells)||void 0===r?void 0:r[o],u=this._getValidationStatus({status:null==l?void 0:l.validationStatus}),d=this.getController(\"validating\"),c=d.getCellValidationResult({rowKey:e.key,columnIndex:o}),h=d._getValidationData(e.key),f=this._getValidationStatus(c),p=JSON.stringify(t.modifiedValues)!==JSON.stringify(e.modifiedValues),g=u!==f&&p,m=(0,i.default)(null==l?void 0:l.cellElement).hasClass(this.addWidgetPrefix(\"invalid\")),_=null===(s=null==l?void 0:l.column.validationRules)||void 0===s?void 0:s.length,v=e.isEditing!==t.isEditing&&_,y=g||h.isValid&&m;return!(!v&&!y)||this.callBase.apply(this,arguments)}}},views:{rowsView:{updateFreeSpaceRowHeight:function(e){var t,n,i,o=this.element(),a=o&&o.find(\".\".concat(this.addWidgetPrefix(\"invalid-message\"),\" .dx-overlay-content\"));if(this.callBase(e),a&&a.length&&(t=this._getRowElements(),(n=(i=this._getFreeSpaceRowElements(e)).first())&&1===t.length&&(!n.is(\":visible\")||(0,u.getOuterHeight)(a)>(0,u.getOuterHeight)(n))))return i.show(),(0,u.setHeight)(i,(0,u.getOuterHeight)(a)),!0},_formItemPrepared:function(e,t){var n=this;this.callBase.apply(this,arguments),(0,a.deferUpdate)((function(){var i=t.find(\".dx-widget\").first();i.length&&!i.children().length||n.getController(\"validating\").createValidator(e,i)}))},_cellPrepared:function(e,t){this.getController(\"editing\").isFormOrPopupEditMode()||this.getController(\"validating\").createValidator(t,e),this.callBase.apply(this,arguments)},_restoreErrorRow:function(e){var t=this.getController(\"editing\");t&&t.hasChanges()&&this._getRowElements(e).each((function(e,n){var o=(0,i.default)(n).data(\"options\");if(o){var a=t.getChangeByKey(o.key);a&&t._showErrorRow(a)}}))}}}}};t.validatingModule=R},57318:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeWidth=t.ColumnsView=void 0;var o=T(n(73349)),a=n(6415),r=n(97906),s=T(n(68374)),l=T(n(47810)),u=n(20576),d=n(62754),c=n(13306),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=I(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95479)),f=n(37518),p=n(58664),g=n(80968),m=n(60137),_=n(35922),v=n(58201),y=n(95429),b=T(n(55994)),x=n(85272),w=T(n(93786)),C=n(29007),S=T(n(51255)),k=T(n(15943)),D=T(n(60082));function I(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(I=function(e){return e?n:t})(e)}function T(e){return e&&e.__esModule?e:{default:e}}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var O={render:function(e){e.container.append(e.content)}},A=function(e){return\"auto\"===e?\"\":(0,_.isNumeric)(e)?\"\".concat(e,\"px\"):e},P=function(e,t,n){e.style.width=e.style.maxWidth=\"auto\"===t.width?\"\":n},M=function(e){e.resolve()},R=function(e){return\"number\"==typeof e?\"\".concat(e.toFixed(3),\"px\"):\"adaptiveHidden\"===e?\"0.0001px\":e};t.normalizeWidth=R;var B=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,E(t,n);var S=i.prototype;return S.setTableRole=function(e){},S._createScrollableOptions=function(){var e=this.option(\"scrolling\"),t=this.option(\"scrolling.useNative\"),n=(0,c.extend)({},e,{direction:\"both\",bounceEnabled:!1,useKeyboard:!1});return void 0===t&&(t=!0),\"auto\"===t?(delete n.useNative,delete n.useSimulatedScrollbar):(n.useNative=!!t,n.useSimulatedScrollbar=!t),n},S._updateCell=function(e,t){t.rowType&&this._cellPrepared(e,t)},S._createCell=function(e){var t=e.column,n=t.alignment||(0,f.getDefaultAlignment)(this.option(\"rtlEnabled\")),i=o.default.createElement(\"td\");i.style.textAlign=n;var a=(0,s.default)(i);return\"data\"===e.rowType&&t.headerId&&!t.type&&this.component.option(\"showColumnHeaders\")&&this.setAria(\"describedby\",t.headerId,a),t.cssClass&&a.addClass(t.cssClass),Array.isArray(t.elementAttr)&&t.elementAttr.forEach((function(e){var t=e.name,n=e.value;a.attr(t,n)})),\"expand\"===t.command&&(a.addClass(t.cssClass),a.addClass(this.addWidgetPrefix(\"group-space\"))),t.colspan>1?a.attr(\"colSpan\",t.colspan):!t.isBand&&\"auto\"!==t.visibleWidth&&this.option(\"columnAutoWidth\")&&((t.width||t.minWidth)&&(i.style.minWidth=A(t.minWidth||t.width)),t.width&&P(i,t,A(t.width))),a},S._createRow=function(e,t){t=t||\"tr\";var n=(0,s.default)(\"<\".concat(t,\">\")).addClass(\"dx-row\");return this.setAria(\"role\",\"row\",n),n},S._isAltRow=function(e){return e&&e.dataIndex%2==1},S._createTable=function(e,t){var n=this,i=(0,s.default)(\"<table>\").addClass(this.addWidgetPrefix(\"table\")).addClass(this.addWidgetPrefix(\"table-fixed\"));if(e&&!t?(i.append(this._createColGroup(e)),l.default.safari&&i.append((0,s.default)(\"<thead>\").append(\"<tr>\")),this.setTableRole(i)):this.setAria(\"hidden\",!0,i),this.setAria(\"role\",\"presentation\",(0,s.default)(\"<tbody>\").appendTo(i)),t)return i;l.default.mozilla&&b.default.on(i,\"mousedown\",\"td\",(function(e){e.ctrlKey&&e.preventDefault()})),this.option(\"cellHintEnabled\")&&b.default.on(i,\"mousemove\",\".dx-row > td\",this.createAction((function(e){var t=e.event,i=(0,s.default)(t.target),o=(0,s.default)(t.currentTarget),a=o.parent(),r=n._columnsController.getVisibleColumns(),l=a.data(\"options\"),u=o.index(),d=l&&l.cells&&l.cells[u],c=d?d.column:r[u],h=a.hasClass(\"dx-header-row\"),f=a.hasClass(\"dx-data-row\"),p=a.hasClass(\"dx-master-detail-row\"),g=a.hasClass(\"dx-group-row\"),m=a.hasClass(n.addWidgetPrefix(\"filter-row\")),v=f&&(!c||c.cellTemplate),y=f&&d&&(l.isEditing||d.isEditing||(null==c?void 0:c.showEditorAlways)),b=h&&(!c||c.headerCellTemplate),x=g&&(!c||c.groupIndex&&c.groupCellTemplate);p||m||y||v||b||x||(i.data(\"dxCellHintVisible\")&&(i.removeAttr(\"title\"),i.data(\"dxCellHintVisible\",!1)),i[0].scrollWidth-i[0].clientWidth>0&&!(0,_.isDefined)(i.attr(\"title\"))&&(i.attr(\"title\",i.text()),i.data(\"dxCellHintVisible\",!0)))})));var o=function(e){var t=(0,s.default)(e.currentTarget),i=(0,s.default)(e.target).closest(\".\".concat(\"dx-field-item-content\")),o=t.parent(),r=o.data(\"options\"),l=r&&r.cells&&r.cells[t.index()];if(t.closest(\"table\").is(e.delegateTarget)){var u=(0,c.extend)({},l,{cellElement:(0,a.getPublicElement)(t),event:e,eventType:e.type});if(u.rowIndex=n.getRowIndex(o),i.length){var d=i.data(\"dx-form-item\");d.column&&(u.column=d.column,u.columnIndex=n._columnsController.getVisibleIndex(u.column.index))}return u}};return b.default.on(i,\"mouseover\",\".dx-row > td\",(function(e){var t=o(e);t&&n.executeAction(\"onCellHoverChanged\",t)})),b.default.on(i,\"mouseout\",\".dx-row > td\",(function(e){var t=o(e);t&&n.executeAction(\"onCellHoverChanged\",t)})),b.default.on(i,y.name,\".dx-row > td\",(function(e){var t=o(e);t&&n.executeAction(\"onCellClick\",t)})),b.default.on(i,x.name,\".dx-row > td\",(function(e){var t=o(e);t&&n.executeAction(\"onCellDblClick\",t)})),function(e,t){var n,i,o;function r(e){return setTimeout((function(){n=i=null}),e)}b.default.on(t,\"touchstart touchend\",\".dx-row\",(function(e){clearTimeout(o),\"touchstart\"===e.type?(n=e.target,i=e.currentTarget,o=r(1e3)):o=r()})),b.default.on(t,[y.name,x.name,w.default.down].join(\" \"),\".dx-row\",e.createAction((function(t){var o=t.event;n&&(o.target=n,o.currentTarget=i),(0,s.default)(o.target).closest(\"a\").length||(t.rowIndex=e.getRowIndex(o.currentTarget),t.rowIndex>=0&&(t.rowElement=(0,a.getPublicElement)((0,s.default)(o.currentTarget)),t.columns=e.getColumns(),o.type===w.default.down?e._rowPointerDown(t):o.type===y.name?e._rowClick(t):e._rowDblClick(t)))})))}(this,i),i},S._rowPointerDown=function(){},S._rowClick=function(){},S._rowDblClick=function(){},S._createColGroup=function(e){for(var t=(0,s.default)(\"<colgroup>\"),n=0;n<e.length;n++)for(var i=e[n].colspan||1,o=0;o<i;o++)t.append(this._createCol(e[n]));return t},S._createCol=function(e){var t=e.visibleWidth||e.width;\"adaptiveHidden\"===t&&(t=\"0.0001px\");var n=(0,s.default)(\"<col>\");return(0,g.setWidth)(n,t),n},S.renderDelayedTemplates=function(e){var t=this._delayedTemplates,n=t.filter((function(e){return!e.async})),i=t.filter((function(e){return e.async}));this._delayedTemplates=[],this._renderDelayedTemplatesCore(n,!1,e),this._renderDelayedTemplatesCoreAsync(i)},S._renderDelayedTemplatesCoreAsync=function(e){var t=this;if(e.length){var n=(0,v.getWindow)().setTimeout((function(){t._templateTimeouts.delete(n),t._renderDelayedTemplatesCore(e,!0)}));this._templateTimeouts.add(n)}},S._renderDelayedTemplatesCore=function(e,t,n){for(var i=new Date;e.length;){var a=e.shift(),r=a.options,l=o.default.getRootNode((0,s.default)(r.container).get(0)),u=this.needWaitAsyncTemplates();if((!t||(0,s.default)(r.container).closest(l).length||u)&&(n&&(r.change=n),a.template.render(r)),t&&new Date-i>30){this._renderDelayedTemplatesCoreAsync(e);break}}!e.length&&this._delayedTemplates.length&&this.renderDelayedTemplates()},S._processTemplate=function(e,t){var n;if(e&&e.render&&!(0,_.isRenderer)(e))n={allowRenderToDetachedContainer:e.allowRenderToDetachedContainer,render:function(t){e.render(t.container,t.model,t.change),t.deferred&&t.deferred.resolve()}};else if((0,_.isFunction)(e))n={render:function(t){var n=e((0,a.getPublicElement)(t.container),t.model,t.change);n&&(n.nodeType||(0,_.isRenderer)(n))&&t.container.append(n),t.deferred&&t.deferred.resolve()}};else{var i=(0,_.isString)(e)?e:(0,s.default)(e).attr(\"id\");i?(this._templatesCache[i]||(this._templatesCache[i]=this.getTemplate(e)),n=this._templatesCache[i]):n=this.getTemplate(e)}return n},S.renderTemplate=function(e,t,n,i,o){var a,r=this,s=this._processTemplate(t,n),l=n.column,u=\"data\"===n.rowType,c=new d.Deferred,h={container:e,model:n,deferred:c,onRendered:function(){r.isDisposed()?c.reject():c.resolve()}};if(s){n.component=this.component;var f=l&&(l.renderAsync&&u||this.option(\"renderAsync\")&&(!1!==l.renderAsync&&(l.command||l.showEditorAlways)&&u||\"filter\"===n.rowType)),p=null!==(a=n.renderAsync)&&void 0!==a?a:f;!s.allowRenderToDetachedContainer&&!i||p?this._delayedTemplates.push({template:s,options:h,async:p}):s.render(h),this._templateDeferreds.add(c),b.default.on(e,C.removeEvent,M.bind(null,c))}else c.reject();return c.promise().always((function(){r._templateDeferreds.delete(c)}))},S._getBodies=function(e){return(0,s.default)(e).children(\"tbody\").not(\".dx-header\").not(\".dx-footer\")},S._needWrapRow=function(e){var t;return!!this.option().rowTemplate&&!!(null===(t=this._getBodies(e))||void 0===t?void 0:t.filter(\".\".concat(\"dx-row\")).length)},S._wrapRowIfNeed=function(e,t,n){var i=n?e||this._tableElement:this._tableElement||e;if(this._needWrapRow(i)){var o=(0,s.default)(\"<tbody>\").addClass(t.attr(\"class\"));return this.setAria(\"role\",\"presentation\",o),o.append(t)}return t},S._appendRow=function(e,t,n){(n=n||O).render({content:t,container:e})},S._resizeCore=function(){var e=this._scrollLeft;e>=0&&(this._scrollLeft=0,this.scrollTo({left:e}))},S._renderCore=function(e){var t=this.element().parent();t&&!t.parent().length||this.renderDelayedTemplates(e)},S._renderTable=function(e){(e=e||{}).columns=this._columnsController.getVisibleColumns();var t=e.change&&e.change.changeType,n=this._createTable(e.columns,\"append\"===t||\"prepend\"===t||\"update\"===t);return this._renderRows(n,e),n},S._renderRows=function(e,t){for(var n=this._getRows(t.change),i=t.change&&t.change.columnIndices||[],o=t.change&&t.change.changeTypes||[],a=0;a<n.length;a++)this._renderRow(e,(0,c.extend)({row:n[a],columnIndices:i[a],changeType:o[a]},t))},S._renderRow=function(e,t){t.columnIndices||(t.row.cells=[]);var n=this._createRow(t.row),i=this._wrapRowIfNeed(e,n);\"remove\"!==t.changeType&&this._renderCells(n,t),this._appendRow(e,i);var o=(0,c.extend)({columns:t.columns},t.row);this._addWatchMethod(o,t.row),this._rowPrepared(i,o,t.row)},S._needRenderCell=function(e,t){return!t||t.indexOf(e)>=0},S._renderCells=function(e,t){for(var n=0,i=t.row,o=t.columns,a=0;a<o.length;a++)this._needRenderCell(a,t.columnIndices)&&this._renderCell(e,(0,c.extend)({column:o[a],columnIndex:n,value:i.values&&i.values[n],oldValue:i.oldValues&&i.oldValues[n]},t)),o[a].colspan>1?n+=o[a].colspan:n++},S._updateCells=function(e,t,n){var i=e.children(),o=t.children(),a=this.option(\"highlightChanges\"),r=this.addWidgetPrefix(\"cell-updated-animation\");n.forEach((function(e,t){var n=i.eq(e),s=o.eq(t);n.replaceWith(s),a&&!s.hasClass(\"dx-command-expand\")&&s.addClass(r)})),function(e,t){if(e&&t){var n,i=e.attributes,o=t.attributes;for(n=0;n<i.length;n++){var a=i[n].nodeName;t.hasAttribute(a)||e.removeAttribute(a)}for(n=0;n<o.length;n++)e.setAttribute(o[n].nodeName,o[n].nodeValue)}}(e.get(0),t.get(0))},S._setCellAriaAttributes=function(e,t){if(\"freeSpace\"!==t.rowType){this.setAria(\"role\",\"gridcell\",e);var n=this._columnsController.getColumnIndexOffset(),i=t.columnIndex+n+1;this.setAria(\"colindex\",i,e)}},S._renderCell=function(e,t){var n=this._getCellOptions(t);if(t.columnIndices){if(t.row.cells){var i=t.row.cells.findIndex((function(e){return e.columnIndex===n.columnIndex}));t.row.cells[i]=n}}else t.row.cells.push(n);var o=this._createCell(n);return this._setCellAriaAttributes(o,n),this._renderCellContent(o,n,t),e.get(0).appendChild(o.get(0)),o},S._renderCellContent=function(e,t,n){var i=this,o=this._getCellTemplate(t);(0,d.when)(!o||this.renderTemplate(e,o,t,void 0,n.change)).done((function(){i._updateCell(e,t)}))},S._getCellTemplate=function(e){},S._getRows=function(e){return[]},S._getCellOptions=function(e){var t={column:e.column,columnIndex:e.columnIndex,rowType:e.row.rowType,isAltRow:this._isAltRow(e.row)};return this._addWatchMethod(t),t},S._addWatchMethod=function(e,t){if(this.option(\"repaintChangesOnly\")){var n=[];return(t=t||e).watch=t.watch||function(e,i,o){var a=e(t.data),r=function(n){n&&o&&o(n);var r=e(t.data);JSON.stringify(a)!==JSON.stringify(r)&&(n&&i(r),a=r)};n.push(r);return function(){var e=n.indexOf(r);e>=0&&n.splice(e,1)}},t.update=t.update||function(t,i){t&&(this.data=e.data=t.data,this.rowIndex=e.rowIndex=t.rowIndex,this.dataIndex=e.dataIndex=t.dataIndex,this.isExpanded=e.isExpanded=t.isExpanded,e.row&&!i&&(e.row=t)),n.forEach((function(e){e(t)}))},t!==e&&(e.watch=t.watch.bind(t)),e}},S._cellPrepared=function(e,t){t.cellElement=(0,a.getPublicElement)((0,s.default)(e)),this.executeAction(\"onCellPrepared\",t)},S._rowPrepared=function(e,t,n){(0,r.data)(e.get(0),\"options\",t),t.rowElement=(0,a.getPublicElement)(e),this.executeAction(\"onRowPrepared\",t)},S._columnOptionChanged=function(e){var t=e.optionNames;if(D.default.checkChanges(t,[\"width\",\"visibleWidth\"])){var n=this._columnsController.getVisibleColumns().map((function(e){return e.visibleWidth||e.width}));this.setColumnWidths({widths:n,optionNames:t})}else this._requireReady||this.render()},S.getCellIndex=function(e){return e.length?e[0].cellIndex:-1},S.getTableElements=function(){return this._tableElement||(0,s.default)()},S.getTableElement=function(e){return this._tableElement},S.setTableElement=function(e,t){this._tableElement=e},S.optionChanged=function(t){switch(e.prototype.optionChanged.call(this,t),t.name){case\"cellHintEnabled\":case\"onCellPrepared\":case\"onRowPrepared\":case\"onCellHoverChanged\":case\"keyboardNavigation\":this._invalidate(!0,!0),t.handled=!0}},S.init=function(){var e=this;this._scrollLeft=-1,this._columnsController=this.getController(\"columns\"),this._dataController=this.getController(\"data\"),this._delayedTemplates=[],this._templateDeferreds=new Set,this._templatesCache={},this._templateTimeouts=new Set,this.createAction(\"onCellClick\"),this.createAction(\"onRowClick\"),this.createAction(\"onCellDblClick\"),this.createAction(\"onRowDblClick\"),this.createAction(\"onCellHoverChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this.createAction(\"onCellPrepared\",{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"}),this.createAction(\"onRowPrepared\",{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\",afterExecute:function(t){e._afterRowPrepared(t)}}),this._columnsController.columnsChanged.add(this._columnOptionChanged.bind(this)),this._dataController&&this._dataController.changed.add(this._handleDataChanged.bind(this))},S._afterRowPrepared=function(e){},S._handleDataChanged=function(){},S.callbackNames=function(){return[\"scrollChanged\"]},S._updateScrollLeftPosition=function(){var e=this._scrollLeft;e>=0&&(this._scrollLeft=0,this.scrollTo({left:e}))},S.scrollTo=function(e){var t=this.element(),n=t&&t.children(\".\".concat(this.addWidgetPrefix(\"scroll-container\"))).not(\".\".concat(this.addWidgetPrefix(\"content-fixed\")));(0,_.isDefined)(e)&&(0,_.isDefined)(e.left)&&this._scrollLeft!==e.left&&(this._scrollLeft=e.left,n&&n.scrollLeft(e.left))},S._getContent=function(e){var t;return null===(t=this._tableElement)||void 0===t?void 0:t.parent()},S._removeContent=function(e){var t=this._getContent(e);(null==t?void 0:t.length)&&t.remove()},S._wrapTableInScrollContainer=function(e,t){var n=this,i=(0,s.default)(\"<div>\"),o=this.option(\"scrolling.useNative\");return(!1===o||\"auto\"===o&&!m.nativeScrolling)&&i.addClass(this.addWidgetPrefix(\"scrollable-simulated\")),b.default.on(i,\"scroll\",(function(){var e=i.scrollLeft();e!==n._scrollLeft&&n.scrollChanged.fire({left:e},n.name)})),i.addClass(this.addWidgetPrefix(\"content\")).addClass(this.addWidgetPrefix(\"scroll-container\")).append(e).appendTo(this.element()),this.setAria(\"role\",\"presentation\",i),i},S.needWaitAsyncTemplates=function(){return this.option(\"templatesRenderAsynchronously\")&&!1===this.option(\"renderAsync\")},S.waitAsyncTemplates=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=new d.Deferred,i=t||this.needWaitAsyncTemplates();if(!i)return n.resolve();var o=function t(){return d.when.apply(e,Array.from(e._templateDeferreds)).done((function(){e.isDisposed()?n.reject():e._templateDeferreds.size>0?t():n.resolve()})).fail(n.reject)};return o(),n.promise()},S._updateContent=function(e,t,n){var i=this;return this.waitAsyncTemplates().done((function(){i._removeContent(n),i.setTableElement(e,n),i._wrapTableInScrollContainer(e,n)}))},S._findContentElement=function(){},S._getWidths=function(e){if(!e)return[];var t=[];return e.toArray().forEach((function(e){var n=e.offsetWidth;if(e.getBoundingClientRect){var i=(0,f.getBoundingRect)(e);i.width>e.offsetWidth-1&&(n=i.width)}t.push(n)})),t},S.getColumnWidths=function(e){if((this.option(\"forceApplyBindings\")||u.noop)(),e=null!=e?e:this.getTableElement())for(var t=e.children(\"tbody:not(.dx-header)\").children(),n=0;n<t.length;n++){var i=t.eq(n),o=i.hasClass(\"dx-group-row\"),a=i.hasClass(\"dx-master-detail-row\"),r=i.hasClass(\"dx-error-row\");if(\"none\"!==i.get(0).style.display&&!i.hasClass(\"dx-state-invisible\")&&(!o&&!a&&!r)){var s=i.children(\"td\");return this._getWidths(s)}}return[]},S.getVisibleColumnIndex=function(e,t){return e},S.setColumnWidths=function(e){var t=this,n=e.widths,i=(e.optionNames,this.getTableElement());if((null==i?void 0:i.length)&&n){var o=this.getColumns(),a=this.option(\"columnAutoWidth\"),r=i.children(\"colgroup\").children(\"col\");r.toArray().forEach((function(e){return e.removeAttribute(\"style\")})),o.forEach((function(e,o){if(a&&e.width&&!e.command)for(var s=A(e.visibleWidth||e.width),l=A(e.minWidth||s),u=i.children().children(\".dx-row\").not(\".\".concat(\"dx-master-detail-row\")),d=0;d<u.length;d++){var c=u.eq(d),h=t.getVisibleColumnIndex(o,d),f=(c.hasClass(\"dx-group-row\")?c.find(\"td[aria-colindex='\".concat(h+1,\"']:not(.\").concat(\"dx-group-cell\",\")\")):c.find(\"td\").eq(h)).get(0);f&&(P(f,e,s),f.style.minWidth=l)}var p=R(n[o]);(0,_.isDefined)(p)&&(0,g.setWidth)(r.eq(o),p)}))}},S.getCellElements=function(e){return this._getCellElementsCore(e)},S._getCellElementsCore=function(e){if(!(e<0))return this._getRowElements().eq(e).children()},S._getCellElement=function(e,t){var n=this.getCellElements(e),i=this._getVisibleColumnIndex(n,e,t);if((null==n?void 0:n.length)&&!(i<0)){var o=n.eq(i);return o.length>0?o:void 0}},S._getRowElement=function(e){var t=this,n=(0,s.default)(),i=t.getTableElements();if(h.each(i,(function(i,o){n=n.add(t._getRowElements((0,s.default)(o)).eq(e))})),n.length)return n},S.getCellElement=function(e,t){var n=this._getCellElement(e,t);if(n)return(0,a.getPublicElement)(n)},S.getRowElement=function(e){var t=this._getRowElement(e),n=[];if(t&&!(0,a.getPublicElement)(t).get)for(var i=0;i<t.length;i++)n.push(t[i]);else n=t;return n},S._getVisibleColumnIndex=function(e,t,n){if((0,_.isString)(n)){var i=this._columnsController.columnOption(n,\"index\");return this._columnsController.getVisibleIndex(i)}return n},S.getColumnElements=function(){},S.getColumns=function(e){return this._columnsController.getVisibleColumns(e)},S.getCell=function(e,t,n){var i,o=t||this._getRowElements();if(o.length>0&&e.rowIndex>=0&&(\"virtual\"!==this.option(\"scrolling.mode\")&&\"virtual\"!==this.option(\"scrolling.rowRenderingMode\")&&(e.rowIndex=e.rowIndex<o.length?e.rowIndex:o.length-1),(null==(i=n||this.getCellElements(e.rowIndex))?void 0:i.length)>0))return i.eq(i.length>e.columnIndex?e.columnIndex:i.length-1)},S.getRowsCount=function(){var e=this.getTableElement();return e&&1===e.length?e[0].rows.length:0},S._getRowElementsCore=function(e){if(e=e||this.getTableElement()){var t=(this.option().rowTemplate||this.option(\"dataRowTemplate\"))&&e.find(\"> tbody.\".concat(\"dx-row\"));return t&&t.length?t:e.find(\"> tbody > \"+\".\".concat(\"dx-row\",\", > .\").concat(\"dx-row\"))}return(0,s.default)()},S._getRowElements=function(e){return this._getRowElementsCore(e)},S.getRowIndex=function(e){return this._getRowElements().index(e)},S.getBoundingRect=function(){},S.getName=function(){},S.setScrollerSpacing=function(e){var t=this.element(),n=this.option(\"rtlEnabled\");t&&t.css({paddingLeft:n?e:\"\",paddingRight:n?\"\":e})},S.isScrollbarVisible=function(e){var t=this.element(),n=this._tableElement;return!(!t||!n)&&(e?(0,p.getOuterWidth)(n)-(0,p.getWidth)(t)>0:(0,p.getOuterHeight)(n)-(0,p.getHeight)(t)>0)},S.isDisposed=function(){var e;return null===(e=this.component)||void 0===e?void 0:e._disposed},S.dispose=function(){var e,t;if((0,v.hasWindow)()){var n=(0,v.getWindow)();null===(e=this._templateTimeouts)||void 0===e||e.forEach((function(e){return n.clearTimeout(e)})),null===(t=this._templateTimeouts)||void 0===t||t.clear()}},i}(k.default.View.inherit(S.default));t.ColumnsView=B},28016:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.gridViewModule=void 0;var o=y(n(73349)),a=y(n(68374)),r=y(n(47810)),s=n(20576),l=n(62754),u=n(95479),d=n(37518),c=n(58664),h=n(35922),f=n(58201),p=y(n(28109)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=v(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(56756)),m=y(n(15943)),_=y(n(60082));function v(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(v=function(e){return e?n:t})(e)}function y(e){return e&&e.__esModule?e:{default:e}}var b=[\"columnsSeparatorView\",\"blockSeparatorView\",\"trackerView\",\"headerPanel\",\"columnHeadersView\",\"rowsView\",\"footerView\",\"columnChooserView\",\"filterPanelView\",\"pagerView\",\"draggingHeaderView\",\"contextMenuView\",\"errorView\",\"headerFilterView\",\"filterBuilderView\"],x=function(e){return(0,h.isString)(e)&&e.endsWith(\"%\")},w=function(e,t){var n=e._rowsView.contentWidth();return n-e._getTotalWidth(t,n)},C={_initPostRenderHandlers:function(){var e=this;this._refreshSizesHandler||(this._refreshSizesHandler=function(t){var n=(new l.Deferred).resolve(null),i=null==t?void 0:t.changeType,o=null==t?void 0:t.isDelayed,a=i&&\"updateSelection\"!==i&&\"updateFocusedRow\"!==i&&\"pageIndex\"!==i&&!o;e._dataController.changed.remove(e._refreshSizesHandler),e._checkSize()&&(n=e._refreshSizes(t)),a&&(0,l.when)(n).done((function(){e._setAriaLabel(),e.fireContentReadyAction()}))},this._dataController.changed.add((function(){e._dataController.changed.add(e._refreshSizesHandler)})))},_refreshSizes:function(e){var t,n=this,i=(new l.Deferred).resolve(null),o=null==e?void 0:e.changeType,a=null==e?void 0:e.isDelayed,r=this._dataController.items();if(e&&\"refresh\"!==o&&\"prepend\"!==o&&\"append\"!==o){if(\"update\"===o){if(0===(null===(t=e.changeTypes)||void 0===t?void 0:t.length))return i;!(r.length>1||\"insert\"!==e.changeTypes[0])||0===r.length&&\"remove\"===e.changeTypes[0]||e.needUpdateDimensions?i=this.resize():(i=new l.Deferred,this._waitAsyncTemplates().done((function(){(0,s.deferUpdate)((function(){return(0,s.deferRender)((function(){return(0,s.deferUpdate)((function(){n._setScrollerSpacing(),n._rowsView.resize(),i.resolve()}))}))}))})).fail(i.reject))}}else a||(i=this.resize());return i},fireContentReadyAction:function(){this.component._fireContentReadyAction()},_getWidgetAriaLabel:function(){return\"dxDataGrid-ariaDataGrid\"},_setAriaLabel:function(){var e=Math.max(0,this._dataController.totalItemsCount());this.component.setAria(\"label\",p.default.format(this._getWidgetAriaLabel(),e,this.component.columnCount()),this.component.$element().children(\".\".concat(\"dx-gridbase-container\")))},_getBestFitWidths:function(){var e,t=this._rowsView,n=this._columnHeadersView,i=t.getColumnWidths();if(!(null==i?void 0:i.length)){var o=n.getTableElement();n.setTableElement(null===(e=t.getTableElement())||void 0===e?void 0:e.children(\".dx-header\")),i=n.getColumnWidths(),n.setTableElement(o)}return i},_setVisibleWidths:function(e,t){var n=this._columnsController;n.beginUpdate(),(0,u.each)(e,(function(e,i){var o=n.getColumnId(i);n.columnOption(o,\"visibleWidth\",t[e])})),n.endUpdate()},_toggleBestFitModeForView:function(e,t,n){var i=this;if(e&&e.isVisible()){var o=this._rowsView.getTableElements(),r=e.getTableElements();(0,u.each)(o,(function(e,o){var s,l=(0,a.default)(o),u=r.eq(e);u&&u.length&&((s=n?u.children(\"tbody\").appendTo(l):l.children(\".\".concat(t)).appendTo(u)).toggleClass(t,n),s.toggleClass(i.addWidgetPrefix(\"best-fit\"),n))}))}},_toggleBestFitMode:function(e){var t=this._rowsView.getTableElement(),n=this._rowsView.getTableElements().eq(1);t&&(t.css(\"tableLayout\",e?\"auto\":\"fixed\"),t.children(\"colgroup\").css(\"display\",e?\"none\":\"\"),(0,u.each)(n.find(\"tr.dx-group-row\"),(function(t,n){(0,a.default)(n).css(\"display\",e?\"none\":\"\")})),n.toggleClass(this.addWidgetPrefix(\"table-fixed\"),!e),this._toggleBestFitModeForView(this._columnHeadersView,\"dx-header\",e),this._toggleBestFitModeForView(this._footerView,\"dx-footer\",e),this._needStretch()&&(t.get(0).style.width=e?\"auto\":\"\"))},_toggleContentMinHeight:function(e){var t=this._rowsView.getScrollable(),n=this._rowsView._findContentElement();!1===(null==t?void 0:t.option(\"useNative\"))&&n.css({minHeight:e?_.default.getContentHeightLimit(r.default):\"\"})},_synchronizeColumns:function(){var e,t,n,i=this,a=this._columnsController,r=a.getVisibleColumns(),l=this.option(\"columnAutoWidth\"),c=this.option(\"wordWrapEnabled\"),f=r.some((function(e){return!(0,h.isDefined)(e.width)})),p=this._needBestFit(),m=!1,v=!1,y=[];!p&&(0,u.each)(r,(function(e,t){if(\"auto\"===t.width)return p=!0,!1})),(0,u.each)(r,(function(e,t){if(t.minWidth)return m=!0,!1})),this._setVisibleWidths(r,[]);var b=this.component.$element();p&&(t=o.default.getActiveElement(b.get(0)),n=_.default.getSelectionRange(t),this._toggleBestFitMode(!0),e=!0),this._toggleContentMinHeight(c),b&&b.get(0)&&this._maxWidth&&(delete this._maxWidth,b[0].style.maxWidth=\"\"),(0,s.deferUpdate)((function(){var b;(p?(y=i._getBestFitWidths(),(0,u.each)(r,(function(e,t){var n=a.getColumnId(t);a.columnOption(n,\"bestFitWidth\",y[e],!0)}))):m&&(y=i._getBestFitWidths()),(0,u.each)(r,(function(e){var t=this.width;\"auto\"!==t&&((0,h.isDefined)(t)?y[e]=(0,h.isNumeric)(t)||function(e){return(0,h.isString)(e)&&e.endsWith(\"px\")}(t)?parseFloat(t):t:l||(y[e]=void 0))})),e)&&(i._toggleBestFitMode(!1),e=!1,t&&t!==o.default.getActiveElement()&&((0,d.getBoundingRect)(t).bottom<0||function(e,t){g.hiddenFocus(e,!0),_.default.setSelectionRange(e,t)}(t,n)));v=i._correctColumnWidths(y,r),l&&((0,u.each)(r,(function(e,t){\"groupExpand\"===t.type&&(b=y[e])})),(0,u.each)(r,(function(e,t){\"groupExpand\"===t.type&&b&&(y[e]=b)})),i._needStretch()&&i._processStretch(y,r)),(0,s.deferRender)((function(){(p||v||f)&&i._setVisibleWidths(r,y),c&&i._toggleContentMinHeight(!1)}))}))},_needBestFit:function(){return this.option(\"columnAutoWidth\")},_needStretch:function(){return this._columnsController.getVisibleColumns().some((function(e){return\"auto\"===e.width&&!e.command}))},_getAverageColumnsWidth:function(e){return w(this,e)/e.filter((function(e){return void 0===e})).length},_correctColumnWidths:function(e,t){var n,i=this,o=!1,a=!1,r=!1,s=i.component.$element(),l=i._hasWidth,u=function(){var s=n,l=t[s],u=\"adaptiveHidden\"===e[s],d=e[s],c=l.minWidth;if(c)if(void 0===d){var f=i._getAverageColumnsWidth(e);d=f}else if(x(d)){(function(e,t,n,i){return w(e,i.map((function(e,i){return i===t?n:e})))})(i,s,c,e)<0&&(d=-1)}var p=i._getRealColumnWidth(s,e.map((function(e,t){return s===t?d:e})));c&&!u&&p<c&&(e[s]=c,r=!0,n=-1),(0,h.isDefined)(l.width)||(a=!0),x(l.width)&&(o=!0)};for(n=0;n<t.length;n++)u();if(!a&&e.length){var d=i._rowsView.element(),f=i._rowsView.contentWidth(),p=i._rowsView.getScrollbarWidth(),g=i._getTotalWidth(e,f);if(g<f){var m=_.default.getLastResizableColumnIndex(t,e);if(m>=0&&(e[m]=\"auto\",r=!0,!1===l&&!o)){var v=i.option(\"showBorders\")?Math.ceil((0,c.getOuterWidth)(d)-(0,c.getInnerWidth)(d)):0;i._maxWidth=g+p+v,s.css(\"maxWidth\",i._maxWidth)}}}return r},_processStretch:function(e,t){var n=this._rowsView.contentWidth(),i=this._getTotalWidth(e,n),o={length:0};if(e.length){(0,u.each)(t,(function(t){(this.width||\"adaptiveHidden\"===e[t])&&(o[t]=!0,o.length++)}));var a=n-i,r=Math.floor(a/(e.length-o.length)),s=a-r*(e.length-o.length);if(a>=0)for(var l=0;l<e.length;l++)o[l]||(e[l]+=r,s>0&&(s<1?(e[l]+=s,s=0):(e[l]++,s--)))}},_getRealColumnWidth:function(e,t,n){var i=1,o=t[e];if(!x(o))return parseFloat(o);var a=t.reduce((function(e,t,n){return x(t)?e+parseFloat(t):e}),0),r=t.reduce((function(e,t){return!t||\"adaptiveHidden\"===t||x(t)?e:e+parseFloat(t)}),0),s=(n=n||this._rowsView.contentWidth())-r,l=a*n/100;return r>0&&l+r>=n&&(i=l>s?s/l:1),parseFloat(o)*n*i/100},_getTotalWidth:function(e,t){for(var n=0,i=0;i<e.length;i++){var o=e[i];o&&\"adaptiveHidden\"!==o&&(n+=this._getRealColumnWidth(i,e,t))}return Math.ceil(n)},_getGroupElement:function(){return this.component.$element().children().get(0)},updateSize:function(e){var t=(0,a.default)(e),n=this.addWidgetPrefix(\"important-margin\");if(void 0===this._hasHeight&&t&&t.is(\":visible\")&&(0,c.getWidth)(t)){var i=t.children(\".\".concat(this.getWidgetContainerClass()));i.length&&i.detach(),this._hasHeight=!!(0,c.getHeight)(t);var o=(0,c.getWidth)(t);t.addClass(n),this._hasWidth=(0,c.getWidth)(t)===o,t.removeClass(n),i.length&&i.appendTo(t)}},publicMethods:function(){return[\"resize\",\"updateDimensions\"]},_waitAsyncTemplates:function(){var e,t,n;return(0,l.when)(null===(e=this._columnHeadersView)||void 0===e?void 0:e.waitAsyncTemplates(!0),null===(t=this._rowsView)||void 0===t?void 0:t.waitAsyncTemplates(!0),null===(n=this._footerView)||void 0===n?void 0:n.waitAsyncTemplates(!0))},resize:function(){var e=this;if(!this.component._requireResize){var t=new l.Deferred;return this._waitAsyncTemplates().done((function(){(0,l.when)(e.updateDimensions()).done(t.resolve).fail(t.reject)})).fail(t.reject),t.promise()}},updateDimensions:function(e){var t=this;if(t._initPostRenderHandlers(),t._checkSize(e)){var n=t._resizeDeferred,i=t._resizeDeferred=new l.Deferred;return(0,l.when)(n).always((function(){(0,s.deferRender)((function(){t._dataController.isLoaded()&&t._synchronizeColumns(),t._resetGroupElementHeight(),(0,s.deferUpdate)((function(){(0,s.deferRender)((function(){(0,s.deferUpdate)((function(){t._updateDimensionsCore()}))}))}))})).done(i.resolve).fail(i.reject)})),i.promise()}},_resetGroupElementHeight:function(){var e=this._getGroupElement(),t=this._rowsView.getScrollable();!e||!e.style.height||t&&t.scrollTop()||(e.style.height=\"\")},_checkSize:function(e){var t=this.component.$element(),n=t.is(\":visible\"),i=this._lastWidth!==(0,c.getWidth)(t)||this._lastHeight!==(0,c.getHeight)(t)||this._devicePixelRatio!==(0,f.getWindow)().devicePixelRatio;return n&&(!e||i)},_setScrollerSpacingCore:function(){var e=this,t=e._rowsView.getScrollbarWidth(),n=e._rowsView.getScrollbarWidth(!0);(0,s.deferRender)((function(){e._columnHeadersView&&e._columnHeadersView.setScrollerSpacing(t),e._footerView&&e._footerView.setScrollerSpacing(t),e._rowsView.setScrollerSpacing(t,n)}))},_setScrollerSpacing:function(){var e=this,t=this._rowsView.getScrollable(),n=!0===this.option(\"scrolling.useNative\");!t||n?(0,s.deferRender)((function(){(0,s.deferUpdate)((function(){e._setScrollerSpacingCore()}))})):this._setScrollerSpacingCore()},_updateDimensionsCore:function(){var e=this,t=e._dataController,n=e.getController(\"editorFactory\"),i=e._rowsView,o=e.component.$element(),r=this._getGroupElement(),l=(0,c.getHeight)(o),d=e.option(\"height\")||o.get(0).style.height,h=!!d&&\"auto\"!==d,f=parseInt(o.css(\"maxHeight\")),p=f&&l>=f,g=r&&r.scrollHeight===r.offsetHeight;e.updateSize(o),(0,s.deferRender)((function(){var l=e._hasHeight||!!f||h;i.hasHeight(l),p&&!g&&(0,a.default)(r).css(\"height\",f),t.isLoaded()?(0,s.deferUpdate)((function(){e._updateLastSizes(o),e._setScrollerSpacing(),(0,u.each)(b,(function(t,n){var i=e.getView(n);i&&i.resize()})),n&&n.resize()})):i.setLoading(t.isLoading())}))},_updateLastSizes:function(e){this._lastWidth=(0,c.getWidth)(e),this._lastHeight=(0,c.getHeight)(e),this._devicePixelRatio=(0,f.getWindow)().devicePixelRatio},optionChanged:function(e){switch(e.name){case\"width\":case\"height\":this.component._renderDimensions(),this.resize();case\"renderAsync\":return void(e.handled=!0);default:this.callBase(e)}},init:function(){this._dataController=this.getController(\"data\"),this._columnsController=this.getController(\"columns\"),this._columnHeadersView=this.getView(\"columnHeadersView\"),this._footerView=this.getView(\"footerView\"),this._rowsView=this.getView(\"rowsView\")}},S={defaultOptions:function(){return{showBorders:!1,renderAsync:!1}},controllers:{resizing:m.default.ViewController.inherit(C),synchronizeScrolling:m.default.ViewController.inherit({_scrollChangedHandler:function(e,t,n){for(var i=0;i<e.length;i++)e[i]&&e[i].name!==n&&e[i].scrollTo({left:t.left,top:t.top})},init:function(){for(var e=[this.getView(\"columnHeadersView\"),this.getView(\"footerView\"),this.getView(\"rowsView\")],t=0;t<e.length;t++){var n=e[t];n&&n.scrollChanged.add(this._scrollChangedHandler.bind(this,e))}}})},views:{gridView:m.default.View.inherit({_endUpdateCore:function(){this.component._requireResize&&(this.component._requireResize=!1,this._resizingController.resize())},init:function(){this._resizingController=this.getController(\"resizing\"),this._dataController=this.getController(\"data\")},getView:function(e){return this.component._views[e]},element:function(){return this._groupElement},optionChanged:function(e){(0,h.isDefined)(this._groupElement)&&\"showBorders\"===e.name?(this._groupElement.toggleClass(this.addWidgetPrefix(\"borders\"),!!e.value),e.handled=!0):this.callBase(e)},_renderViews:function(e){var t=this;(0,u.each)(b,(function(n,i){var o=t.getView(i);o&&o.render(e)}))},_getTableRoleName:function(){return\"group\"},render:function(e){var t=!this._groupElement,n=this._groupElement||(0,a.default)(\"<div>\").addClass(this.getWidgetContainerClass());n.addClass(\"dx-gridbase-container\"),n.toggleClass(this.addWidgetPrefix(\"borders\"),!!this.option(\"showBorders\")),this.setAria(\"role\",\"presentation\",e),this.component.setAria(\"role\",this._getTableRoleName(),n),this._rootElement=e||this._rootElement,t&&(this._groupElement=n,(0,f.hasWindow)()&&this.getController(\"resizing\").updateSize(e),n.appendTo(e)),this._renderViews(n)},update:function(){var e=this._rootElement,t=this._groupElement,n=this.getController(\"resizing\");e&&t&&(n.resize(),this._dataController.isLoaded()&&this._resizingController.fireContentReadyAction())}})},VIEW_NAMES:b};t.gridViewModule=S},35095:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.rowsModule=void 0;var i=x(n(68374)),o=x(n(47810)),a=n(20576),r=n(47617),s=n(13306),l=n(95479),u=n(37518),d=n(58664),c=n(68752),h=n(80968),f=n(35922),p=n(58201),g=x(n(55994)),m=n(29007),_=x(n(28109)),v=x(n(41183)),y=x(n(60082)),b=n(57318);function x(e){return e&&e.__esModule?e:{default:e}}function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function C(e,t){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function S(e){return e?Math.round(e.scrollWidth()-e.clientWidth()):0}function k(e){var t=e.rowType,n=e.column;return\"group\"===t&&(0,f.isDefined)(n.groupIndex)&&!n.showWhenGrouped&&!n.command}var D=function(e,t){var n=(0,c.isEmpty)(t.text)&&\"data\"===t.rowType,i=t.text,o=e.get(0);n?y.default.setEmptyText(e):t.column.encodeHtml?o.textContent=i:o.innerHTML=i},I={defaultOptions:function(){return{hoverStateEnabled:!1,scrolling:{useNative:\"auto\"},loadPanel:{enabled:\"auto\",text:_.default.format(\"Loading\"),width:200,height:90,showIndicator:!0,indicatorSrc:\"\",showPane:!0},dataRowTemplate:null,columnAutoWidth:!1,noDataText:_.default.format(\"dxDataGrid-noDataText\"),wordWrapEnabled:!1,showColumnLines:!0,showRowLines:!1,rowAlternationEnabled:!1,activeStateEnabled:!1,twoWayBindingEnabled:!0}},views:{rowsView:function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,C(t,n);var _=c.prototype;return _._getDefaultTemplate=function(e){switch(e.command){case\"empty\":return function(e){e.html(\"&nbsp;\")};default:return D}},_._getDefaultGroupTemplate=function(e){var t=this.option(\"summary.texts\");return function(n,i){var o=i.data,a=\"\".concat(i.column.caption,\": \").concat(i.text),r=n.get(0);i.summaryItems&&i.summaryItems.length&&(a+=\" \".concat(y.default.getGroupRowSummaryText(i.summaryItems,t))),o&&(i.groupContinuedMessage&&i.groupContinuesMessage?a+=\" (\".concat(i.groupContinuedMessage,\". \").concat(i.groupContinuesMessage,\")\"):i.groupContinuesMessage?a+=\" (\".concat(i.groupContinuesMessage,\")\"):i.groupContinuedMessage&&(a+=\" (\".concat(i.groupContinuedMessage,\")\"))),e.encodeHtml?r.textContent=a:r.innerHTML=a}},_._update=function(e){},_._updateCell=function(t,n){k(n)&&t.addClass(\"dx-group-cell\"),e.prototype._updateCell.apply(this,arguments)},_._getCellTemplate=function(e){var t=e.column;return k(e)?t.groupCellTemplate||{allowRenderToDetachedContainer:!0,render:this._getDefaultGroupTemplate(t)}:(\"data\"===e.rowType||t.command)&&t.cellTemplate?t.cellTemplate:{allowRenderToDetachedContainer:!0,render:this._getDefaultTemplate(t)}},_._createRow=function(t,n){var i=e.prototype._createRow.apply(this,arguments);if(t){var o=\"group\"===t.rowType,a=\"data\"===t.rowType;if(a&&i.addClass(\"dx-data-row\"),a&&this.option(\"showRowLines\")&&i.addClass(\"dx-row-lines\"),this.option(\"showColumnLines\")&&i.addClass(\"dx-column-lines\"),!1===t.visible&&i.hide(),o){i.addClass(\"dx-group-row\");var r=t.isExpanded;this.setAria(\"role\",\"row\",i),this.setAria(\"expanded\",(0,f.isDefined)(r)&&r.toString(),i)}}return i},_._rowPrepared=function(t,n,i){var o=this;\"data\"===n.rowType&&(this.option(\"rowAlternationEnabled\")&&(this._isAltRow(i)&&t.addClass(\"dx-row-alt\"),n.watch&&n.watch((function(){return o._isAltRow(i)}),(function(e){t.toggleClass(\"dx-row-alt\",e)}))),this._setAriaRowIndex(n,t),n.watch&&n.watch((function(){return n.rowIndex}),(function(){return o._setAriaRowIndex(n,t)}))),e.prototype._rowPrepared.apply(this,arguments)},_._setAriaRowIndex=function(e,t){var n=this.component,i=\"standard\"===n.option(\"scrolling.mode\")&&!y.default.isVirtualRowRendering(n),o=e.rowIndex+1;i?o=n.pageIndex()*n.pageSize()+o:o+=this._dataController.getRowIndexOffset(),this.setAria(\"rowindex\",o,t)},_._afterRowPrepared=function(e){var t=this,n=e.args[0],i=this._dataController,o=i.getVisibleRows()[n.rowIndex],a=this.option(\"integrationOptions.watchMethod\");if(n.data&&\"data\"===n.rowType&&!n.isNewRow&&this.option(\"twoWayBindingEnabled\")&&a&&o){var r=a((function(){return i.generateDataValues(n.data,n.columns)}),(function(){i.repaintRows([o.rowIndex],t.option(\"repaintChangesOnly\"))}),{deep:!0,skipImmediate:!0});g.default.on(n.rowElement,m.removeEvent,r)}},_._renderScrollable=function(e){var t=this.element();if(t.children().length||t.append(\"<div>\"),!e&&this._loadPanel||this._renderLoadPanel(t,t.parent(),this._dataController.isLocalStore()),(e||!this.getScrollable())&&this._dataController.isLoaded()){for(var n=this.getColumns(),i=!0,o=0;o<n.length;o++)if(!n[o].width&&!n[o].minWidth){i=!1;break}(this.option(\"columnAutoWidth\")||this._hasHeight||i||this._columnsController._isColumnFixing())&&this._renderScrollableCore(t)}},_._handleScroll=function(e){var t=this.option(\"rtlEnabled\"),n=e.component.option(\"useNative\");this._scrollTop=e.scrollOffset.top,this._scrollLeft=e.scrollOffset.left;var i=e.scrollOffset.left;t&&(this._scrollRight=S(e.component)-this._scrollLeft,n&&(i=-this._scrollRight),this.isScrollbarVisible(!0)||(this._scrollLeft=-1)),this.scrollChanged.fire(w(w({},e.scrollOffset),{left:i}),this.name)},_._renderScrollableCore=function(e){var t=this._createScrollableOptions(),n=this._handleScroll.bind(this);t.onScroll=n,this._scrollable=this._createComponent(e,v.default,t),this._scrollableContainer=this._scrollable&&(0,i.default)(this._scrollable.container())},_._renderLoadPanel=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return y.default.renderLoadPanel.apply(this,arguments)},_._renderContent=function(e,t,n){return e.empty().append(t),this._findContentElement()},_._updateContent=function(e,t,n){var i=this;return this._contentChanges.push({newTableElement:e,change:t,isFixedTableRendering:n}),this.waitAsyncTemplates().done((function(){var e=i._contentChanges;i._contentChanges=[],e.forEach((function(e){var t=e.newTableElement,n=e.change,o=e.isFixedTableRendering,a=i.getTableElement(o),r=i._findContentElement(o),s=null==n?void 0:n.changeType,u=[],d=i.option(\"highlightChanges\"),c=i.addWidgetPrefix(\"row-inserted-animation\");switch(s){case\"update\":(0,l.each)(n.rowIndices,(function(e,o){var r,s=i._getRowElements(t).eq(e),l=null===(r=n.changeTypes)||void 0===r?void 0:r[e],h=n.items&&n.items[e];u.push((function(){var t,r=i._getRowElements(a),u=r.eq(o);switch(l){case\"update\":if(h){var p=null===(t=n.columnIndices)||void 0===t?void 0:t[e];(0,f.isDefined)(h.visible)&&h.visible!==u.is(\":visible\")?u.toggle(h.visible):p?i._updateCells(u,s,p):u.replaceWith(s)}break;case\"insert\":if(r.length)u.length?s.insertBefore(u):s.insertAfter(r.last());else if(a){var g=s.is(\"tbody\")?a:a.children(\"tbody\");s.prependTo(g)}d&&n.isLiveUpdate&&s.addClass(c);break;case\"remove\":u.remove()}}))})),(0,l.each)(u,(function(){this()})),t.remove();break;default:i.setTableElement(t,o),r.addClass(i.addWidgetPrefix(\"content\")),i._renderContent(r,t,o)}}))})).fail((function(){i._contentChanges=[]}))},_._createEmptyRow=function(e,t,n){var i,o=this._createRow(),a=t?this.getFixedColumns():this.getColumns();o.addClass(e).toggleClass(\"dx-column-lines\",this.option(\"showColumnLines\"));for(var r=0;r<a.length;r++)i=this._createCell({column:a[r],rowType:\"freeSpace\",columnIndex:r,columns:a}),(0,f.isNumeric)(n)&&i.css(\"height\",n),o.append(i);return this.setAria(\"role\",\"presentation\",o),o},_.getFixedColumns=function(){throw new Error(\"Method not implemented.\")},_._appendEmptyRow=function(e,t,n){var i=this._getBodies(e),o=!i.length||t.is(\"tbody\"),a=o?e:i;if(\"top\"===n){if(a.first().prepend(t),o){var r=a.children(\"colgroup\");a.prepend(r)}}else a.last().append(t)},_._renderFreeSpaceRow=function(e,t){var n=this._createEmptyRow(\"dx-freespace-row\");n=this._wrapRowIfNeed(e,n,\"refresh\"===(null==t?void 0:t.changeType)),this._appendEmptyRow(e,n)},_._checkRowKeys=function(e){var t=this,n=t._getRows(e),i=t._dataController.store()&&t._dataController.store().key();i&&n.some((function(e){if(\"data\"===e.rowType&&void 0===e.key)return t._dataController.fireError(\"E1046\",i),!0}))},_._needUpdateRowHeight=function(e){return e>0&&!this._rowHeight},_._getRowsHeight=function(e){return(e=e||this._tableElement).children(\"tbody\").children().not(\".dx-virtual-row\").not(\".\".concat(\"dx-freespace-row\")).toArray().reduce((function(e,t){return e+(0,u.getBoundingRect)(t).height}),0)},_._updateRowHeight=function(){var e=this.getTableElement(),t=this._dataController.items().length;if(e&&this._needUpdateRowHeight(t)){var n=this._getRowsHeight(e);this._rowHeight=n/t}},_._findContentElement=function(e){var t=this.element(),n=this.getScrollable();if(t)return n&&(t=(0,i.default)(n.content())),t.children().first()},_._getRowElements=function(t){var n=e.prototype._getRowElements.call(this,t);return n&&n.not(\".\".concat(\"dx-freespace-row\"))},_._getFreeSpaceRowElements=function(e){var t=e||this.getTableElements();return t&&t.children(\"tbody\").children(\".\".concat(\"dx-freespace-row\"))},_._getNoDataText=function(){return this.option(\"noDataText\")},_._rowClick=function(e){var t=this._dataController.items()[e.rowIndex]||{};this.executeAction(\"onRowClick\",(0,s.extend)({evaluate:function(e){return(0,r.compileGetter)(e)(t.data)}},e,t))},_._rowDblClick=function(e){var t=this._dataController.items()[e.rowIndex]||{};this.executeAction(\"onRowDblClick\",(0,s.extend)({},e,t))},_._getColumnsCountBeforeGroups=function(e){for(var t=0;t<e.length;t++)if(\"groupExpand\"===e[t].type)return t;return 0},_._getGroupCellOptions=function(e){var t=this._getColumnsCountBeforeGroups(e.columns),n=(e.row.groupIndex||0)+t;return{columnIndex:n,colspan:e.columns.length-n-1}},_._needWrapRow=function(){return e.prototype._needWrapRow.apply(this,arguments)||!!this.option(\"dataRowTemplate\")},_._renderCells=function(t,n){\"group\"===n.row.rowType?this._renderGroupedCells(t,n):n.row.values&&e.prototype._renderCells.call(this,t,n)},_._renderGroupedCells=function(e,t){for(var n,i,o=t.row,a=t.columns,r=o.rowIndex,l=this._getGroupCellOptions(t),d=0;d<=l.columnIndex;d++)d===l.columnIndex&&a[d].allowCollapsing&&\"infinite\"!==t.scrollingMode?(i=!!o.isExpanded,n=a[d]):(i=null,n={command:\"expand\",cssClass:a[d].cssClass}),this._needRenderCell(d,t.columnIndices)&&this._renderCell(e,{value:i,row:o,rowIndex:r,column:n,columnIndex:d,columnIndices:t.columnIndices,change:t.change});var c=(0,u.getDefaultAlignment)(this.option(\"rtlEnabled\")),h=(0,s.extend)({},a[l.columnIndex],{command:null,type:null,cssClass:null,width:null,showWhenGrouped:!1,alignment:c});l.colspan>1&&(h.colspan=l.colspan),this._needRenderCell(l.columnIndex+1,t.columnIndices)&&this._renderCell(e,{value:o.values[o.groupIndex],row:o,rowIndex:r,column:h,columnIndex:l.columnIndex+1,columnIndices:t.columnIndices,change:t.change})},_._renderRows=function(t,n){var i=this.option(\"scrolling.mode\");e.prototype._renderRows.call(this,t,(0,s.extend)({scrollingMode:i},n)),this._checkRowKeys(n.change),this._renderFreeSpaceRow(t,n.change),this._hasHeight||this.updateFreeSpaceRowHeight(t)},_._renderDataRowByTemplate=function(e,t,n){var i=t.row,o=(0,s.extend)({columns:t.columns},i),a=this._createRow(i,\"tbody\");a.appendTo(e),this.renderTemplate(a,n,o,!0,t.change),this._rowPrepared(a,o,t.row)},_._renderRow=function(t,n){var i=n.row,o=this.option().rowTemplate,a=this.option(\"dataRowTemplate\");\"data\"===i.rowType&&a?this._renderDataRowByTemplate(t,n,a):\"data\"!==i.rowType&&\"group\"!==i.rowType||(0,f.isDefined)(i.groupIndex)||!o?e.prototype._renderRow.call(this,t,n):this.renderTemplate(t,o,(0,s.extend)({columns:n.columns},i),!0)},_._renderTable=function(t){var n=this,i=e.prototype._renderTable.call(this,t);return(0,f.isDefined)(n.getTableElement())?n._renderScrollable():(n.setTableElement(i),n._renderScrollable(!0),n.resizeCompleted.add((function e(){var t=n.getScrollable();t&&n.element().closest((0,p.getWindow)().document).length&&(n.resizeCompleted.remove(e),t._visibilityChanged(!0))}))),i},_._createTable=function(){var t=e.prototype._createTable.apply(this,arguments);return(this.option().rowTemplate||this.option().dataRowTemplate)&&t.appendTo(this.component.$element()),t},_._renderCore=function(t){var n=this.element();n.addClass(this.addWidgetPrefix(\"rowsview\")).toggleClass(this.addWidgetPrefix(\"nowrap\"),!this.option(\"wordWrapEnabled\")),n.toggleClass(\"dx-empty\",this._dataController.isEmpty()),this.setAria(\"role\",\"presentation\",n);var i=this._renderTable({change:t}),o=this._updateContent(i,t);return e.prototype._renderCore.call(this,t),this._lastColumnWidths=null,o},_._getRows=function(e){return e&&e.items||this._dataController.items()},_._getCellOptions=function(t){var n=t.column,i=t.row,o=i.data,a=i&&i.summaryCells,r=t.value,s=y.default.getDisplayValue(n,r,o,i.rowType),l=e.prototype._getCellOptions.call(this,t);if(l.value=r,l.oldValue=t.oldValue,l.displayValue=s,l.row=i,l.key=i.key,l.data=o,l.rowType=i.rowType,l.values=i.values,l.text=n.command?\"\":y.default.formatValue(s,n),l.rowIndex=i.rowIndex,l.summaryItems=a&&a[t.columnIndex],l.resized=n.resizedCallbacks,(0,f.isDefined)(n.groupIndex)&&!n.command){var u=this.option(\"grouping.texts\"),d=this.option(\"scrolling.mode\");\"virtual\"!==d&&\"infinite\"!==d&&(l.groupContinuesMessage=o&&o.isContinuationOnNextPage&&u&&u.groupContinuesMessage,l.groupContinuedMessage=o&&o.isContinuation&&u&&u.groupContinuedMessage)}return l},_._setRowsOpacityCore=function(e,t,n,o){var a=this._columnsController,r=a.getColumns(),s=r&&r[n],u=s&&s.isBand&&s.index;(0,l.each)(e,(function(r,s){if(!(0,i.default)(s).hasClass(\"dx-group-row\"))for(var l=0;l<t.length&&(!((0,f.isNumeric)(u)&&a.isParentBandColumn(t[l].index,u)||t[l].index===n)||(e.eq(r).children().eq(l).css({opacity:o}),(0,f.isNumeric)(u)));l++);}))},_._getDevicePixelRatio=function(){return(0,p.getWindow)().devicePixelRatio},_.renderNoDataText=function(){return y.default.renderNoDataText.apply(this,arguments)},_.getCellOptions=function(e,t){var n,i,o=this._dataController.items()[e];return o&&(i=(0,f.isString)(t)?this._columnsController.columnOption(t):this._columnsController.getVisibleColumns()[t])&&(n=this._getCellOptions({value:i.calculateCellValue(o.data),rowIndex:o.rowIndex,row:o,column:i})),n},_.getRow=function(e){if(e>=0){var t=this._getRowElements();if(t.length>e)return(0,i.default)(t[e])}},_.updateFreeSpaceRowHeight=function(e){var t=this,n=this._dataController,i=n.items(!0).length,o=this._findContentElement(),r=this._getFreeSpaceRowElements(e);if(r&&o&&n.totalCount()>=0){var s=!1;if(i>0)if(this._hasHeight)r.hide(),(0,a.deferUpdate)((function(){var n=t.getScrollbarWidth(!0),i=(0,d.getHeight)(t.element())-n,l=i-(0,d.getOuterHeight)(o)>0,u=t._getRowsHeight(o.children().first()),c=e||t.getTableElements(),h=i-u-Math.ceil(parseFloat(c.css(\"borderTopWidth\")))-t._getHeightCorrection();l&&(0,a.deferRender)((function(){r.css(\"height\",h),s=!0,r.show()})),(0,a.deferRender)((function(){return t._updateLastRowBorder(s)}))}));else{var l=n.pageSize()-i,u=this.option(\"scrolling.mode\");l>0&&n.pageCount()>1&&\"virtual\"!==u&&\"infinite\"!==u&&((0,h.setHeight)(r,l*this._rowHeight),s=!0),!s&&e?(0,h.setHeight)(r,0):r.toggle(s),this._updateLastRowBorder(s)}else r.css(\"height\",0),r.show(),this._updateLastRowBorder(!0)}},_._getHeightCorrection=function(){var e=o.default.webkit&&this._getDevicePixelRatio()>=2,t=o.default.chrome&&o.default.version>=91,n=o.default.mozilla&&o.default.version>=70&&!this.option(\"showRowLines\");return e||n||t?1:0},_._columnOptionChanged=function(t){var n=t.optionNames;t.changeTypes.grouping||(n.width||n.visibleWidth)&&(e.prototype._columnOptionChanged.call(this,t),this._fireColumnResizedCallbacks())},_.getScrollable=function(){return this._scrollable},_.init=function(){var t=this,n=this,i=n.getController(\"data\");e.prototype.init.call(this),n._editorFactoryController=n.getController(\"editorFactory\"),n._rowHeight=0,n._scrollTop=0,n._scrollLeft=-1,n._scrollRight=0,n._hasHeight=!1,n._contentChanges=[],i.loadingChanged.add((function(e,t){n.setLoading(e,t)})),i.dataSourceChanged.add((function(){t._scrollLeft>=0&&!t._dataController.isLoading()&&t._handleScroll({component:t.getScrollable(),forceUpdateScrollPosition:!0,scrollOffset:{top:t._scrollTop,left:t._scrollLeft}})}))},_._handleDataChanged=function(e){switch(e.changeType){case\"refresh\":case\"prepend\":case\"append\":case\"update\":this.render(null,e);break;default:this._update(e)}},_.publicMethods=function(){return[\"isScrollbarVisible\",\"getTopVisibleRowData\",\"getScrollbarWidth\",\"getCellElement\",\"getRowElement\",\"getScrollable\"]},_.contentWidth=function(){return(0,d.getWidth)(this.element())-this.getScrollbarWidth()},_.getScrollbarWidth=function(e){var t,n=this._scrollableContainer&&this._scrollableContainer.get(0),o=0;return n&&(e?(o=n.clientHeight?n.offsetHeight-n.clientHeight:0,o+=(t=this.getScrollable())?Math.ceil(parseFloat((0,i.default)(t.content()).css(\"paddingBottom\"))):0):o=n.clientWidth?n.offsetWidth-n.clientWidth:0),o>0?o:0},_._fireColumnResizedCallbacks=function(){for(var e=this._lastColumnWidths||[],t=[],n=this.getColumns(),i=0;i<n.length;i++)t[i]=n[i].visibleWidth,n[i].resizedCallbacks&&!(0,f.isDefined)(n[i].groupIndex)&&e[i]!==t[i]&&n[i].resizedCallbacks.fire(t[i]);this._lastColumnWidths=t},_._updateLastRowBorder=function(e){this.option(\"showBorders\")&&this.option(\"showRowLines\")&&!e?this.element().addClass(\"dx-last-row-border\"):this.element().removeClass(\"dx-last-row-border\")},_._updateScrollable=function(){var e=v.default.getInstance(this.element());e&&(e.update(),!e.option(\"useNative\")&&(null==e?void 0:e.isRenovated())||this._updateHorizontalScrollPosition())},_._updateHorizontalScrollPosition=function(){var e=this.getScrollable(),t=e&&e.scrollOffset().left;if(this.option(\"rtlEnabled\")){var n=S(e);n-t!==this._scrollRight&&(this._scrollLeft=n-this._scrollRight)}this._scrollLeft>=0&&t!==this._scrollLeft&&e.scrollTo({x:this._scrollLeft})},_._resizeCore=function(){var e=this;e._fireColumnResizedCallbacks(),e._updateRowHeight(),(0,a.deferRender)((function(){e._renderScrollable(),e.renderNoDataText(),e.updateFreeSpaceRowHeight(),(0,a.deferUpdate)((function(){e._updateScrollable()}))}))},_.scrollTo=function(e){var t=this.element(),n=t&&v.default.getInstance(t);n&&n.scrollTo(e)},_.height=function(e){var t=this,n=this.element();if(0===arguments.length)return n?(0,d.getOuterHeight)(n,!0):0;(0,f.isDefined)(e)&&n&&(t.hasHeight(\"auto\"!==e),(0,h.setHeight)(n,e))},_.hasHeight=function(e){if(0===arguments.length)return!!this._hasHeight;this._hasHeight=e},_.setLoading=function(e,t){var n=this._loadPanel,i=this._dataController,o=this.option(\"loadPanel\")||{},a=i.isLoaded()?o.animation:null,r=this.element();if((0,p.hasWindow)()&&(!n&&void 0!==t&&i.isLocalStore()&&\"auto\"===o.enabled&&r&&(this._renderLoadPanel(r,r.parent()),n=this._loadPanel),n)){var s={message:t||o.text,animation:a,visible:e};e&&(s.position=y.default.calculateLoadPanelPosition(r)),clearTimeout(this._hideLoadingTimeoutID),n.option(\"visible\")&&!e?this._hideLoadingTimeoutID=setTimeout((function(){n.option(s)}),200):n.option(s)}},_.setRowsOpacity=function(e,t){var n=this._getRowElements().not(\".\".concat(\"dx-group-row\"))||[];this._setRowsOpacityCore(n,this.getColumns(),e,t)},_._getCellElementsCore=function(t){var n=e.prototype._getCellElementsCore.apply(this,arguments);if(n){var i=n.filter(\".\".concat(\"dx-group-cell\")).index();if(i>=0&&n.length>i+1)return n.slice(0,i+1)}return n},_._getBoundaryVisibleItemIndex=function(e,t){var n=0,o=0,a=0,r=this._scrollTop,s=this._findContentElement(),l=s&&s.offset().top,u=this.getController(\"data\").items(),c=this.getTableElement();if(u.length&&c){var h=this._getRowElements(c).filter(\":visible\");if(!e)r+=(0,d.getOuterHeight)(this._hasHeight?this.element():(0,p.getWindow)());for(n=0;n<u.length;n++){o=a;var f=(0,i.default)(h).eq(n);if(f.length&&(a=f.offset(),(a=(e?a.top:a.top+(0,d.getOuterHeight)(f))-l)>r)){n&&(t||2*r<Math.round(a+o))&&n--;break}}n&&n===u.length&&n--}return n},_.getTopVisibleItemIndex=function(e){return this._getBoundaryVisibleItemIndex(!0,e)},_.getBottomVisibleItemIndex=function(e){return this._getBoundaryVisibleItemIndex(!1,e)},_.getTopVisibleRowData=function(){var e=this.getTopVisibleItemIndex(),t=this._dataController.items();if(t[e])return t[e].data},_._scrollToElement=function(e,t){var n=this.getScrollable();n&&n.scrollToElement(e,t)},_.optionChanged=function(t){switch(e.prototype.optionChanged.call(this,t),t.name){case\"wordWrapEnabled\":case\"showColumnLines\":case\"showRowLines\":case\"rowAlternationEnabled\":case\"rowTemplate\":case\"dataRowTemplate\":case\"twoWayBindingEnabled\":this._invalidate(!0,!0),t.handled=!0;break;case\"scrolling\":this._rowHeight=null,this._tableElement=null,t.handled=!0;break;case\"rtlEnabled\":this._rowHeight=null,this._tableElement=null;break;case\"loadPanel\":this._tableElement=null,this._invalidate(!0,\"loadPanel.enabled\"!==t.fullName),t.handled=!0;break;case\"noDataText\":this.renderNoDataText(),t.handled=!0}},_.dispose=function(){e.prototype.dispose.call(this),clearTimeout(this._hideLoadingTimeoutID),this._scrollable&&this._scrollable.dispose()},_.setScrollerSpacing=function(){},_._restoreErrorRow=function(){},c}(b.ColumnsView)}};t.rowsModule=I},87482:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.virtualColumnsModule=void 0;var i,o=n(58664),a=n(35922),r=n(58201),s=n(44980),l={defaultOptions:function(){return{scrolling:{columnRenderingMode:\"standard\",columnPageSize:5,columnRenderingThreshold:300}}},extenders:{controllers:{columns:(i=function(e){return e.map((function(e){return e.visibleWidth||parseFloat(e.width)||50}))},{init:function(){var e=this;e.callBase.apply(this,arguments),e._beginPageIndex=null,e._endPageIndex=null,e._position=0,e._virtualVisibleColumns={}},resetColumnsCache:function(){this.callBase(),this._virtualVisibleColumns={}},getBeginPageIndex:function(e){for(var t=this.getVisibleColumns(void 0,!0),n=i(t),o=0,a=0;a<n.length;a++){if(o>=e)return Math.floor(a/this.getColumnPageSize());o+=n[a]}return 0},getTotalWidth:function(){var e=this.option(\"width\");return\"number\"==typeof e?e:this.getController(\"resizing\")._lastWidth||(0,o.getOuterWidth)(this.component.$element())},getEndPageIndex:function(e){var t=this.getVisibleColumns(void 0,!0),n=i(t),o=0;e+=this.getTotalWidth();for(var a=0;a<n.length;a++){if(o>=e)return Math.ceil(a/this.getColumnPageSize());o+=n[a]}return Math.ceil(n.length/this.getColumnPageSize())},getColumnPageSize:function(){return this.option(\"scrolling.columnPageSize\")},_fireColumnsChanged:function(){var e=new Date;this.columnsChanged.fire({optionNames:{all:!0,length:1},changeTypes:{columns:!0,virtualColumnsScrolling:!0,length:2}}),this._renderTime=new Date-e},getScrollingTimeout:function(){var e=this.option(\"scrolling.columnRenderingThreshold\"),t=this.option(\"scrolling.renderAsync\"),n=0;return(!(0,a.isDefined)(t)&&this._renderTime>e||t)&&(n=this.option(\"scrolling.timeout\")),n},setScrollPosition:function(e){var t=this,n=this.getScrollingTimeout();n>0?(clearTimeout(this._changedTimeout),this._changedTimeout=setTimeout((function(){t._setScrollPositionCore(e)}),n)):this._setScrollPositionCore(e)},isVirtualMode:function(){return(0,r.hasWindow)()&&\"virtual\"===this.option(\"scrolling.columnRenderingMode\")},resize:function(){this._setScrollPositionCore(this._position)},_setScrollPositionCore:function(e){if(this.isVirtualMode()){var t=this.getBeginPageIndex(e),n=this.getEndPageIndex(e),i=e<this._position?this._beginPageIndex>t:this._endPageIndex<n;this._position=e,i&&(this._beginPageIndex=t,this._endPageIndex=n,this._fireColumnsChanged())}},getFixedColumns:function(e,t){var n=this.callBase(e);if(this.isVirtualMode()&&!t&&n.length){var i=n.map((function(e){return e.command})).indexOf(\"transparent\");return n[i].colspan=this.getVisibleColumns().length-this.callBase().length+1,n}return n},_compileVisibleColumns:function(e,t){var n;if(t||!this.isVirtualMode()||!this._shouldReturnVisibleColumns())return this.callBase(e);!(null===(n=this._columns)||void 0===n?void 0:n.length)||(0,a.isDefined)(this._beginPageIndex)||(0,a.isDefined)(this._endPageIndex)||(this._beginPageIndex=this.getBeginPageIndex(this._position),this._endPageIndex=this.getEndPageIndex(this._position));var o=this._beginPageIndex,r=this._endPageIndex,l=\"\".concat(e,\"-\").concat(o,\"-\").concat(r);if(this._virtualVisibleColumns[l])return this._virtualVisibleColumns[l];var u=this.callBase(),d=this.getRowCount(),c=this.getColumnPageSize(),h=o*c,f=r*c,p=this.getFixedColumns(void 0,!0),g=p.map((function(e){return e.command})).indexOf(\"transparent\"),m=p.length?g:0,_=u.slice(0,m),v=u.slice(m,h),y=i(v).reduce((function(e,t){return e+t}),0);y||(h=0);var b=p.length?p.length-g-1:0,x=u.slice(u.length-b),w=u.slice(f,u.length-b),C=i(w).reduce((function(e,t){return e+t}),0);if(C||(f=u.length),d>1&&\"number\"==typeof e){for(var S=[],k=0;k<=d;k++)S.push(this.callBase(k));_=(0,s.createColumnsInfo)(S,0,_.length)[e]||[],x=(0,s.createColumnsInfo)(S,u.length-x.length,u.length)[e]||[],u=(0,s.createColumnsInfo)(S,h,f)[e]||[]}else u=u.slice(h,f);return y&&(u.unshift({command:\"virtual\",width:y}),u=_.concat(u)),C&&(u.push({command:\"virtual\",width:C}),u=u.concat(x)),this._virtualVisibleColumns[l]=u,u},getColumnIndexOffset:function(){var e=0;if(this._beginPageIndex>0){var t=this.getFixedColumns().map((function(e){return e.command})).indexOf(\"transparent\"),n=t>=0?t:0;e=this._beginPageIndex*this.getColumnPageSize()-n-1}return e>0?e:0},dispose:function(){clearTimeout(this._changedTimeout),this.callBase.apply(this,arguments)}})},views:{columnHeadersView:{_renderCore:function(){var e=this.callBase.apply(this,arguments);return this._columnsController.isVirtualMode()&&this._updateScrollLeftPosition(),e}},rowsView:{_resizeCore:function(){this.callBase.apply(this,arguments),this._columnsController.resize()},_handleScroll:function(e){var t=this,n=this.getScrollable(),i=e.scrollOffset.left;t.callBase.apply(t,arguments),t.option(\"rtlEnabled\")&&n&&(i=(0,o.getWidth)(n.$content())-(0,o.getWidth)(n.$element())-i),t._columnsController.setScrollPosition(i)},_restoreScrollTop:function(){var e=this.getScrollable(),t=null==e?void 0:e.scrollTop();this._scrollTop>0&&t!==this._scrollTop&&e.scrollTo({y:this._scrollTop})},_renderCore:function(e){var t=this;if(null==e?void 0:e.virtualColumnsScrolling){var n=function e(){t.resizeCompleted.remove(e),t._restoreScrollTop()};this.resizeCompleted.add(n)}return this.callBase.apply(this,arguments)}}}}};t.virtualColumnsModule=l},44980:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createColumnsInfo=function(e,t,n){var a=[];o(e,(function(e,o,r){var s,l=e,u=l.colspan||1,d=o+u-1>=t&&o<n;if(a[r]=a[r]||[],d)o<t?(s=u-(t-o),o=t):s=u,o+s>n&&(s=n-o),s!==u&&(l=(0,i.extend)({},l,{colspan:s})),a[r].push(l);else if(o>n)return!1}));for(var r=0;r<a.length;r++)a[r]=a[r]||[];return a},t.foreachColumnInfo=o;var i=n(13306);function o(e,t,n,i,a,r){r=r||[],(i=i||[])[n=n||0]=i[n]||0;var s,l=e[n],u=r[n]+1||0,d=0;if(l){for(s=u;s<l.length;s++){var c=l[s],h=s+i[n],f=c.colspan||1;if(o(e,t,n+(c.rowspan||1),i,f,r),i[n]+=f-1,d+=f,c.rowspan)for(var p=n+1;p<n+c.rowspan;p++)i[p]=i[p]||0,i[p]+=c.colspan||1;if(!1===t(c,h,n,s))break;if(void 0!==a&&d>=a)break}r[n]=s}}},20488:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.VirtualDataLoader=void 0;var i=n(62754),o=n(35922),a=function(e){return e.option(\"scrolling.loadTwoPagesOnStart\")||e._controller.isVirtual()||e._controller.getViewportItemIndex()>0},r=function(e){return e._cache.length?e._cache[0].pageIndex:-1},s=function(e){return e._cache.length?e._cache[e._cache.length-1].pageIndex:-1},l=function(e,t,n){e._isChangedFiring=!0,t(n),e._isChangedFiring=!1},u=function(e,t,n){if(e._isDelayChanged)return e._isDelayChanged=!1,l(e,t,n),!0},d=function(e,t){var n=e.option(\"scrolling.preloadEnabled\"),i=function(e){var t=e._dataOptions.pageSize();if(e.option(\"scrolling.preventPreload\"))return 0;var n=e._controller.viewportSize();if(e._controller.isVirtualMode()&&e.option(\"scrolling.removeInvisiblePages\")){n=0;for(var i=e._controller.viewportSize()*e._controller.viewportItemSize(),o=e._controller.getContentOffset(),a=e._controller.getViewportPosition(),r=e._controller.virtualItemsCount(),s=e._dataOptions.totalItemsCount(),l=r.begin;l<s&&!(o>=a+i);l++){(o+=e._controller.getItemSizes()[l]||e._controller.viewportItemSize())>=a&&n++}}return t&&n>0?Math.ceil(n/t):1}(e),o=e._controller.isAppendMode();return i&&(t?i=n?1:0:(n&&i++,!o&&a(e)||i--)),i},c=function(e,t,n,i,a){var r=e._dataOptions,s=r.items().slice(),u=(0,o.isObject)(n)?n:void 0,d=\"prepend\"===n,c=r.viewportItems();n&&(0,o.isString)(n)&&!e._isDelayChanged&&(u={changeType:n,items:s},a&&(u.removeCount=a.itemsCount,u.removeCount&&r.correctCount&&(u.removeCount=r.correctCount(c,u.removeCount,d))));var h=a?a.itemsLength:0;h&&r.correctCount&&(h=r.correctCount(c,h,d)),\"append\"===n?(c.push.apply(c,s),a&&c.splice(0,h)):d?(c.unshift.apply(c,s),a&&c.splice(-h)):e._dataOptions.viewportItems(s),r.updateLoading(),e._lastPageIndex=e.pageIndex(),e._isDelayChanged=i,i||l(e,t,u)},h=function(){function e(e,t){this._dataOptions=t,this._controller=e,this._pageIndex=this._lastPageIndex=t.pageIndex(),this._cache=[],this._loadingPageIndexes={}}var t=e.prototype;return t.option=function(){return this._controller.option.apply(this._controller,arguments)},t.viewportItemIndexChanged=function(e){var t,n=this._dataOptions.pageSize(),i=this._dataOptions.pageCount(),o=this._controller.isVirtualMode(),a=this._controller.isAppendMode(),r=this._dataOptions.totalItemsCount();if(n&&(o||a)&&r>=0){var s=this._controller.viewportSize();if(s&&e+s>=r&&!this._controller.isVirtual())if(this._dataOptions.hasKnownLastPage()){var l=r%n;(t=i-1)>0&&l>0&&l<s&&t--}else t=i;else{t=Math.floor(e/n);var u=i-1;t=Math.max(t,0),t=Math.min(t,u)}return this.pageIndex(t),this.load()}},t.pageIndex=function(e){var t=this._controller.isVirtualMode(),n=this._controller.isAppendMode();return!1!==this.option(\"scrolling.legacyMode\")&&(t||n)?(void 0!==e&&(this._pageIndex=e),this._pageIndex):this._dataOptions.pageIndex(e)},t.beginPageIndex=function(e){var t=r(this);return t<0&&(t=void 0!==e?e:this.pageIndex()),t},t.endPageIndex=function(){var e=s(this);return e>0?e:this._lastPageIndex},t.pageSize=function(){return this._dataOptions.pageSize()},t.load=function(){var e,t=this,n=this._dataOptions,o=this._controller.isVirtualMode(),a=this._controller.isAppendMode();if(!1!==this.option(\"scrolling.legacyMode\")&&(o||a)){var l=function(e){var t=-1,n=r(e),i=e._dataOptions;if(n<0)t=e._pageIndex;else if(e._cache[e._pageIndex-n]){if(n>=0&&e._controller.viewportSize()>=0){if(n>0)(s(e)+1===i.pageCount()&&e._cache.length<d(e)+1||e._pageIndex===n&&d(e,!0))&&(t=n-1);if(t<0)n+e._cache.length<=e._pageIndex+d(e)&&(t=n+e._cache.length)}}else t=e._pageIndex;return e._loadingPageIndexes[t]&&(t=-1),t}(this);if(l>=0){var u=function(e,t){var n=e._dataOptions;if(t===e.pageIndex()||!n.isLoading()&&t<n.pageCount()||!n.hasKnownLastPage()&&t===n.pageCount())return n.pageIndex(t),e._loadingPageIndexes[t]=!0,(0,i.when)(n.load()).always((function(){e._loadingPageIndexes[t]=!1}))}(this,l);u&&(e=new i.Deferred,u.done((function(){var n=t._delayDeferred;n?n.done(e.resolve).fail(e.reject):e.resolve()})).fail(e.reject),n.updateLoading())}}else e=n.load();return e||this._lastPageIndex===this.pageIndex()||this._dataOptions.onChanged({changeType:\"pageIndex\"}),e||(new i.Deferred).resolve()},t.loadIfNeed=function(){var e=this._controller.isVirtualMode(),t=this._controller.isAppendMode();if((e||t)&&!this._dataOptions.isLoading()&&(!this._isChangedFiring||this._controller.isVirtual())){var n=this._controller.getViewportPosition();n>0?this._controller._setViewportPositionCore(n):this.load()}},t.handleDataChanged=function(e,t){var n,i,o=this,h=this._dataOptions,f=this._cache.length,p=this._controller.isVirtualMode(),g=this._controller.isAppendMode();if(t&&t.changes)l(this,e,t);else if(!1!==this.option(\"scrolling.legacyMode\")&&(p||g)){var m=r(this);if(m>=0&&(p&&m+this._cache.length!==h.pageIndex()&&m-1!==h.pageIndex()&&(f=0,this._cache=[]),g))if(0===h.pageIndex())this._cache=[];else if(h.pageIndex()<s(this))return void l(this,e,{changeType:\"append\",items:[]});var _,v={pageIndex:h.pageIndex(),itemsLength:h.items(!0).length,itemsCount:this.itemsCount(!0)};this.option(\"scrolling.removeInvisiblePages\")&&p?i=this._cache.length>Math.max(d(this)+(this.option(\"scrolling.preloadEnabled\")?1:0),2):u(this,e,{isDelayed:!0}),m===h.pageIndex()+1?(i&&(_=this._cache.pop()),n=\"prepend\",this._cache.unshift(v)):(i&&(_=this._cache.shift()),n=\"append\",this._cache.push(v));var y=p&&0===f&&a(this);c(this,e,this._cache.length>1?n:void 0,y,_),this._delayDeferred=this.load().done((function(){u(o,e)&&o.load()}))}else c(this,e,t)},t.getDelayDeferred=function(){return this._delayDeferred},t.itemsCount=function(e){var t=0,n=this._controller.isVirtualMode();return!e&&n?this._cache.forEach((function(e){t+=e.itemsCount})):t=this._dataOptions.itemsCount(),t},t.virtualItemsCount=function(){var e=r(this);e<0&&(e=this._dataOptions.pageIndex());var t=e*this._dataOptions.pageSize(),n=this._cache.length*this._dataOptions.pageSize();return{begin:t,end:Math.max(0,this._dataOptions.totalItemsCount()-n-t)}},t.reset=function(){this._loadingPageIndexes={},this._cache=[]},e}();t.VirtualDataLoader=h},92018:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.virtualScrollingModule=void 0;var i=m(n(68374)),o=m(n(47810)),a=n(62754),r=n(3532),s=n(95479),l=n(37518),u=n(58664),d=n(35922),c=n(58201),h=m(n(2492)),f=m(n(96688)),p=m(n(60082)),g=n(86770);function m(e){return e&&e.__esModule?e:{default:e}}var _,v,y,b,x=\"scrolling.legacyMode\",w=function(e){return\"virtual\"===e.option(\"scrolling.mode\")},C=function(e){return\"infinite\"===e.option(\"scrolling.mode\")},S=function(e){return w(e)||C(e)},k=function(e,t,n,i){for(var o=0;o<t+1;o++){var a=e[n?e.length-1-o:o];a&&!i(a,o===t,n)&&t++}return t},D=function(e,t){return\"data\"===e.rowType&&!e.isNewRow||\"group\"===e.rowType&&t.isGroupItemCountable(e.data)},I=function(e){return e.forEach((function(e,t){e.rowIndex=t})),e},T=(_=function(e){var t=e._virtualScrollController.beginPageIndex(-1);w(e)&&(t<0||e.viewportSize()>=0&&e.getViewportItemIndex()>=0&&(t*e.pageSize()>e.getViewportItemIndex()||t*e.pageSize()+e.itemsCount()<e.getViewportItemIndex()+e.viewportSize())&&e._dataSource.isLoading()?e._isLoading||(e._isLoading=!0,e.loadingChanged.fire(!0)):e._isLoading&&(e._isLoading=!1,e.loadingChanged.fire(!1)))},v={init:function(){this.callBase.apply(this,arguments),this._items=[],this._totalCount=-1,this._isLoaded=!0,this._loadPageCount=1,this._virtualScrollController=new g.VirtualScrollController(this.component,this._getVirtualScrollDataOptions())},_getVirtualScrollDataOptions:function(){var e=this;return{pageSize:function(){return e.pageSize()},totalItemsCount:function(){return e.totalItemsCount()},hasKnownLastPage:function(){return e.hasKnownLastPage()},pageIndex:function(t){return e._dataSource.pageIndex(t)},isLoading:function(){return e._dataSource.isLoading()&&!e.isCustomLoading()},pageCount:function(){return e.pageCount()},load:function(){return e._dataSource.load()},updateLoading:function(){_(e)},itemsCount:function(){return e.itemsCount(!0)},items:function(){return e._dataSource.items()},viewportItems:function(t){return t&&(e._items=t),e._items},onChanged:function(t){e.changed.fire(t)},changingDuration:function(){return e.isLoading()?300:e._renderTime||0}}},_handleLoadingChanged:function(e){!1!==this.option(x)?(w(this)&&!this._isLoadingAll||(this._isLoading=e,this.callBase.apply(this,arguments)),this._startLoadTime=e?new Date:void 0):this.callBase.apply(this,arguments)},_handleLoadError:function(){!1!==this.option(x)&&(this._isLoading=!1,this.loadingChanged.fire(!1)),this.callBase.apply(this,arguments)},_handleDataChanged:function(e){if(!1===this.option(x))return this._items=this._dataSource.items().slice(),this._totalCount=this._dataSourceTotalCount(!0),void this.callBase.apply(this,arguments);var t=this.callBase.bind(this);this._virtualScrollController.handleDataChanged(t,e)},_customizeRemoteOperations:function(e,t){var n=!1===this.option(x),i=this.option(\"scrolling.renderAsync\");(0,d.isDefined)(i)||(i=this._renderTime>=this.option(\"scrolling.renderingThreshold\")),!(w(this)||C(this)&&n)||t.reload||!t.skip&&!n||i||(e.delay=void 0),this.callBase.apply(this,arguments)},items:function(){return this._items},_dataSourceTotalCount:function(e){return!1===this.option(x)&&w(this)&&!e?this._totalCount:this.callBase()},itemsCount:function(e){return e||!1===this.option(x)?this.callBase():this._virtualScrollController.itemsCount()},load:function(e){return!1===this.option(x)||e?this.callBase(e):this._virtualScrollController.load()},isLoading:function(){return!1===this.option(x)?this._dataSource.isLoading():this._isLoading},isLoaded:function(){return this._dataSource.isLoaded()&&this._isLoaded},resetPagesCache:function(e){e||this._virtualScrollController.reset(!0),this.callBase.apply(this,arguments)},_changeRowExpandCore:function(){var e=this.callBase.apply(this,arguments);return!1===this.option(x)||(this.resetPagesCache(),_(this)),e},reload:function(){this._dataSource.pageIndex(this.pageIndex());var e=this._virtualScrollController;if(!1!==this.option(x)&&e){var t=new a.Deferred;return this.callBase.apply(this,arguments).done((function(n){var i=e.getDelayDeferred();i?i.done(t.resolve).fail(t.reject):t.resolve(n)})).fail(t.reject),t}return this.callBase.apply(this,arguments)},refresh:function(e,t){if(!1!==this.option(x)){var n=e.storeLoadOptions,i=this._dataSource;t.reload?(this._virtualScrollController.reset(),i.items().length=0,this._isLoaded=!1,_(this),this._isLoaded=!0,C(this)?(this.pageIndex(0),i.pageIndex(0),n.pageIndex=0,e.pageIndex=0,n.skip=0):(i.pageIndex(this.pageIndex()),i.paginate()&&(e.pageIndex=this.pageIndex(),n.skip=this.pageIndex()*this.pageSize()))):C(this)&&n.skip&&this._totalCountCorrection<0&&(n.skip+=this._totalCountCorrection)}return this.callBase.apply(this,arguments)},dispose:function(){this._virtualScrollController.dispose(),this.callBase.apply(this,arguments)},loadPageCount:function(e){if(!(0,d.isDefined)(e))return this._loadPageCount;this._loadPageCount=e},_handleDataLoading:function(e){var t=this.loadPageCount(),n=this.pageSize(),i=!1===this.option(x),o=e.storeLoadOptions,a=(0,d.isDefined)(o.take);e.loadPageCount=t,!e.isCustomLoading&&i&&a&&t>1&&n>0&&(o.take=t*n),this.callBase.apply(this,arguments)},_loadPageSize:function(){return this.callBase.apply(this,arguments)*this.loadPageCount()}},[\"beginPageIndex\",\"endPageIndex\",\"pageIndex\"].forEach((function(e){v[e]=function(){if(!1===this.option(x)){var t=this._dataSource;return t.pageIndex.apply(t,arguments)}var n=this._virtualScrollController;return n[e].apply(n,arguments)}})),[\"virtualItemsCount\",\"getContentOffset\",\"getVirtualContentSize\",\"setContentItemSizes\",\"setViewportPosition\",\"getViewportItemIndex\",\"setViewportItemIndex\",\"getItemIndexByPosition\",\"viewportSize\",\"viewportItemSize\",\"getItemSize\",\"getItemSizes\",\"loadIfNeed\"].forEach((function(e){v[e]=function(){var t=this._virtualScrollController;return t[e].apply(t,arguments)}})),v),E=(y=function(e,t){var n=e.toArray().map((function(e){return(0,i.default)(e).parent(\".\".concat(t)).get(0)})).filter((function(e){return e}));n.length&&(e=(0,i.default)(n));for(var o=\"dx-freespace-row\"===t?e.length-1:e.length,a=0;a<o;a++)e.eq(a).remove()},{init:function(){var e,t=this,n=this.getController(\"data\");this.callBase(),n.pageChanged.add((function(e){var i=t._scrollTop;t.scrollToPage(null!=e?e:n.pageIndex()),!1===t.option(x)&&t._scrollTop===i&&n.updateViewport()})),n.dataSourceChanged.add((function(){!t._scrollTop&&t._scrollToCurrentPageOnResize()})),null===(e=n.stateLoaded)||void 0===e||e.add((function(){t._scrollToCurrentPageOnResize()})),this._scrollToCurrentPageOnResize()},_scrollToCurrentPageOnResize:function(){var e=this,t=this.getController(\"data\");t.pageIndex()>0&&this.resizeCompleted.add((function n(){e.resizeCompleted.remove(n),e.scrollToPage(t.pageIndex())}))},scrollToPage:function(e){var t,n=this._dataController,i=n?n.pageSize():0;if(w(this)||C(this)){var o=n.getItemSize(),a=n.getItemSizes(),r=e*i;for(var s in t=r*o,a)parseInt(s)<r&&(t+=a[s]-o)}else t=0;this.scrollTo({y:t,x:this._scrollLeft})},renderDelayedTemplates:function(){var e=this;this.waitAsyncTemplates().done((function(){e._updateContentPosition(!0)})),this.callBase.apply(this,arguments)},_renderCore:function(e){var t=new Date,n=this.callBase.apply(this,arguments),i=this._dataController._dataSource;if(i&&e){var o=e.items?e.items.length:20,a=this._dataController.viewportSize()||20;p.default.isVirtualRowRendering(this)&&o>0&&!1!==this.option(x)?i._renderTime=(new Date-t)*a/o:i._renderTime=new Date-t}return n},_getRowElements:function(e){var t=this.callBase(e);return t&&t.not(\".\".concat(\"dx-virtual-row\"))},_removeRowsElements:function(e,t,n){var o=this._getRowElements(e).toArray();o=\"append\"===n?o.slice(0,t):o.slice(-t);var a=this.getController(\"errorHandling\");o.map((function(e){var t=(0,i.default)(e);a&&a.removeErrorRow(t.next()),t.remove()}))},_updateContent:function(e,t){var n,i=this,o=this._findContentElement(),r=t&&t.changeType,s=(0,a.Deferred)();this.throwHeightWarningIfNeed();var l=o.children().first();return\"append\"===r||\"prepend\"===r?this.waitAsyncTemplates().done((function(){var o=i._getBodies(e);1===o.length?i._getBodies(l)[\"append\"===r?\"append\":\"prepend\"](o.children()):o[\"append\"===r?\"appendTo\":\"prependTo\"](l),e.remove(),n=i._getFreeSpaceRowElements(l),y(n,\"dx-freespace-row\"),t.removeCount&&i._removeRowsElements(l,t.removeCount,r),i._restoreErrorRow(l),s.resolve()})).fail(s.reject):this.callBase.apply(this,arguments).done((function(){\"update\"===r&&i._restoreErrorRow(l),s.resolve()})).fail(s.reject),s.promise().done((function(){i._updateBottomLoading()}))},_addVirtualRow:function(e,t,n,i){if(i){var o=this._createEmptyRow(\"dx-virtual-row\",t,i);o=this._wrapRowIfNeed(e,o),this._appendEmptyRow(e,o,n)}},_updateContentItemSizes:function(){var e=this._getRowHeights(),t=this._correctRowHeights(e);this._dataController.setContentItemSizes(t)},_updateViewportSize:function(e,t){(0,d.isDefined)(e)||(e=this._hasHeight?(0,u.getOuterHeight)(this.element()):(0,u.getOuterHeight)((0,c.getWindow)())),this._dataController.viewportHeight(e,t)},_getRowHeights:function(){var e,t,n=null===(t=null===(e=this.getController(\"editing\"))||void 0===e?void 0:e.isPopupEditMode)||void 0===t?void 0:t.call(e),o=this._getRowElements(this._tableElement).toArray();return n&&(o=o.filter((function(e){return!(0,i.default)(e).hasClass(\"dx-row-inserted\")}))),o.map((function(e){return(0,l.getBoundingRect)(e).height}))},_correctRowHeights:function(e){for(var t=this._dataController,n=t._dataSource,i=[],o=t.getVisibleRows(),a=0,r=!0,s=-1,l=0;l<e.length;l++){var u=o[l];(0,d.isDefined)(u)&&(!1===this.option(x)?(s>=0&&s!==u.loadIndex&&(i.push(a),a=0),s=u.loadIndex):D(u,n)&&(r?r=!1:(i.push(a),a=0)),a+=e[l])}return a>0&&i.push(a),i},_updateContentPosition:function(e){var t=this,n=this._dataController,o=this._rowHeight||20;if(n.viewportItemSize(o),w(this)||p.default.isVirtualRowRendering(this)){e||this._updateContentItemSizes();var a=n.getContentOffset(\"begin\"),r=n.getContentOffset(\"end\"),s=this.getTableElements(),l=s.children(\"tbody\").children(\".\".concat(\"dx-virtual-row\"));y(l,\"dx-virtual-row\"),s.each((function(e,n){var o=e>0,s=t._isFixedTableRendering;t._isFixedTableRendering=o,t._addVirtualRow((0,i.default)(n),o,\"top\",a),t._addVirtualRow((0,i.default)(n),o,\"bottom\",r),t._isFixedTableRendering=s}))}},_isTableLinesDisplaysCorrect:function(e){return e.find(\".\".concat(\"dx-column-lines\")).length>0===this.option(\"showColumnLines\")},_isColumnElementsEqual:function(e,t){var n=e.length===t.length;return n&&(0,s.each)(e,(function(e,i){if(i.style.width!==t[e].style.width)return n=!1})),n},_getCellClasses:function(e){var t=[],n=e.cssClass,i=\"expand\"===e.command;return n&&t.push(n),i&&t.push(this.addWidgetPrefix(\"group-space\")),t},_findBottomLoadPanel:function(e){var t=e||this.element(),n=t&&t.find(\".\".concat(this.addWidgetPrefix(\"bottom-load-panel\")));if(n&&n.length)return n},_updateBottomLoading:function(){var e=w(this),t=C(this),n=!this._dataController.hasKnownLastPage()&&this._dataController.isLoaded()&&(e||t),o=this._findContentElement(),a=this._findBottomLoadPanel(o);n?a||(0,i.default)(\"<div>\").addClass(this.addWidgetPrefix(\"bottom-load-panel\")).append(this._createComponent((0,i.default)(\"<div>\"),h.default).$element()).appendTo(o):a&&a.remove()},_handleScroll:function(e){var t=!0===this.option(x),n=0===e.scrollOffset.top,i=this._scrollTop!==e.scrollOffset.top,o=i||e.forceUpdateScrollPosition,a=this._hasHeight||!t&&n;if(o&&a&&this._rowHeight){this._scrollTop=e.scrollOffset.top;var r=w(this)||\"standard\"!==this.option(\"scrolling.rowRenderingMode\");r&&!1===this.option(x)&&(this._updateContentItemSizes(),this._updateViewportSize(null,this._scrollTop)),this._dataController.setViewportPosition(e.scrollOffset.top)}this.callBase.apply(this,arguments)},_needUpdateRowHeight:function(e){return this.callBase.apply(this,arguments)||e>0&&C(this)&&!p.default.isVirtualRowRendering(this)},_updateRowHeight:function(){if(this.callBase.apply(this,arguments),this._rowHeight){this._updateContentPosition();var e=this._hasHeight?(0,u.getOuterHeight)(this.element()):(0,u.getOuterHeight)((0,c.getWindow)()),t=this._dataController;!1===this.option(x)?(this._updateViewportSize(e),t.updateViewport()):t.viewportSize(Math.ceil(e/this._rowHeight))}},updateFreeSpaceRowHeight:function(){var e=this.callBase.apply(this,arguments);return e&&this._updateContentPosition(),e},setLoading:function(e,t){var n=this._dataController,i=n.pageIndex()>0&&n.isLoaded()&&!!this._findBottomLoadPanel();!1===this.option(x)&&e&&n.isViewportChanging()||(i&&(e=!1),this.callBase.call(this,e,t))},throwHeightWarningIfNeed:function(){!this._hasHeight&&S(this)&&!this._heightWarningIsThrown&&(this._heightWarningIsThrown=!0,f.default.log(\"W1025\"))},_resizeCore:function(){var e=this,t=e.element();e.callBase(),e.component.$element()&&!e._windowScroll&&(0,r.isElementInDom)(t)&&(e._windowScroll=(0,g.subscribeToExternalScrollers)(t,(function(t){!e._hasHeight&&e._rowHeight&&e._dataController.setViewportPosition(t)}),e.component.$element()),e.on(\"disposing\",(function(){e._windowScroll.dispose()}))),!1!==this.option(x)&&e.loadIfNeed()},loadIfNeed:function(){var e,t=this._dataController;null===(e=null==t?void 0:t.loadIfNeed)||void 0===e||e.call(t)},_restoreErrorRow:function(){if(!1===this.option(x)){var e=this.getController(\"errorHandling\");null==e||e.removeErrorRow()}this.callBase.apply(this,arguments)},dispose:function(){clearTimeout(this._scrollTimeoutID),this.callBase()}}),O={defaultOptions:function(){return{scrolling:{timeout:300,updateTimeout:300,minTimeout:0,renderingThreshold:100,removeInvisiblePages:!0,rowPageSize:5,prerenderedRowChunkSize:1,mode:\"standard\",preloadEnabled:!1,rowRenderingMode:\"standard\",loadTwoPagesOnStart:!1,legacyMode:!1,prerenderedRowCount:1}}},extenders:{dataSourceAdapter:T,controllers:{data:(b={_refreshDataSource:function(){var e=this.callBase.apply(this,arguments)||(new a.Deferred).resolve().promise();return e.done(this.initVirtualRows.bind(this)),e},_loadDataSource:function(){var e;if(this._rowsScrollController&&S(this)){var t=(0,d.isDefined)(this._loadViewportParams)?this.getLoadPageParams():{loadPageCount:void 0},n=t.loadPageCount;n>=1&&(null===(e=this._dataSource)||void 0===e||e.loadPageCount(n))}return this.callBase.apply(this,arguments)},getRowPageSize:function(){var e=this.option(\"scrolling.rowPageSize\"),t=this.pageSize();return t&&t<e?t:e},reload:function(){var e=this,t=this._rowsScrollController||this._dataSource,n=t&&t.getItemIndexByPosition(),a=this.callBase.apply(this,arguments);return a&&a.done((function(){var t;if(w(e)||p.default.isVirtualRowRendering(e)){var a=e.getRowIndexOffset(),r=Math.floor(n)-a,s=e.component,l=s.getScrollable&&s.getScrollable(),d=e.dataSource().operationTypes().sorting;if(l&&!d&&r>=0){var c=s.getRowElement(r),h=c&&c[0]&&(0,i.default)(c[0]),f=h&&h.position().top,g=o.default.chrome&&Number(null!==(t=o.default.version)&&void 0!==t?t:0)>=91;f>(o.default.mozilla||g?1:0)&&(f=Math.round(f+(0,u.getOuterHeight)(h)*(n%1)),l.scrollTo({y:f}))}}}))},initVirtualRows:function(){var e=this,t=p.default.isVirtualRowRendering(this);if(this._allItems=null,this._loadViewportParams=null,\"virtual\"!==this.option(\"scrolling.mode\")&&!t||!t||!1!==this.option(x)&&!this.option(\"scrolling.rowPageSize\"))return this._visibleItems=null,void(this._rowsScrollController=null);var n=!w(this)&&this.pageIndex()>=this.pageCount()?this.pageCount()-1:this.pageIndex();this._rowPageIndex=Math.ceil(n*this.pageSize()/this.getRowPageSize()),this._visibleItems=!1===this.option(x)?null:[],this._viewportChanging=!1,this._needUpdateViewportAfterLoading=!1,this._rowsScrollController||(this._rowsScrollController=new g.VirtualScrollController(this.component,this._getRowsScrollDataOptions(),!0),this._rowsScrollController.positionChanged.add((function(){var t;if(!1===e.option(x))return e._viewportChanging=!0,e.loadViewport(),void(e._viewportChanging=!1);null===(t=e._dataSource)||void 0===t||t.setViewportItemIndex(e._rowsScrollController.getViewportItemIndex())}))),!1===this.option(x)&&this._updateLoadViewportParams(),this.isLoaded()&&!1!==this.option(x)&&this._rowsScrollController.load()},isViewportChanging:function(){return this._viewportChanging},_getRowsScrollDataOptions:function(){var e=this,t=function(t){return D(t,e._dataSource)};return{pageSize:function(){return e.getRowPageSize()},loadedOffset:function(){var t;return w(e)&&(null===(t=e._dataSource)||void 0===t?void 0:t.lastLoadOptions().skip)||0},loadedItemCount:function(){return e._itemCount},totalItemsCount:function(){return S(e)?e.totalItemsCount():!1===e.option(x)?e._itemCount:e._items.filter(t).length},hasKnownLastPage:function(){return!1!==e.option(x)||e.hasKnownLastPage()},pageIndex:function(t){return void 0!==t&&(e._rowPageIndex=t),e._rowPageIndex},isLoading:function(){return e.isLoading()},pageCount:function(){var e=Math.ceil(this.totalItemsCount()/this.pageSize());return e||1},load:function(){e._rowsScrollController.pageIndex()>=this.pageCount()&&(e._rowPageIndex=this.pageCount()-1,e._rowsScrollController.pageIndex(e._rowPageIndex)),!this.items().length&&this.totalItemsCount()||e._rowsScrollController.handleDataChanged((function(t){(t=t||{}).changeType=t.changeType||\"refresh\",t.items=t.items||e._visibleItems,e._visibleItems.forEach((function(e,t){e.rowIndex=t})),e._fireChanged(t)}))},updateLoading:function(){},itemsCount:function(){return this.items(!0).length},correctCount:function(e,n,i){return k(e,n,i,(function(e,n,i){return e.isNewRow?n&&!i:n&&i?!e.isNewRow:t(e)}))},items:function(n){var i=e._items;if(e.option(x)){var o=e.dataSource(),a=null==o?void 0:o.virtualItemsCount(),r=a?a.begin:0,s=e.getRowPageSize(),l=e._rowPageIndex*s-r,u=s;if(l<0)return[];l&&(l=this.correctCount(i,l),i=i.slice(l)),u&&(u=this.correctCount(i,u),i=i.slice(0,u))}return n?i.filter(t):i},viewportItems:function(t){return t&&!1!==e.option(x)&&(e._visibleItems=t),e._visibleItems},onChanged:function(){},changingDuration:function(){var t=e.dataSource();return(null==t?void 0:t.isLoading())&&!1!==e.option(x)?300:(null==t?void 0:t._renderTime)||0}}},_updateItemsCore:function(e){var t=this,n=this.getRowIndexDelta();if(this.callBase.apply(this,arguments),!1===this.option(x)&&p.default.isVirtualRowRendering(this))\"update\"===e.changeType&&0===e.rowIndices.length&&e.cancelEmptyChanges&&(e.cancel=!0);else{var i=this._rowsScrollController;if(i){var o=this._visibleItems,a=\"refresh\"===e.changeType||e.isLiveUpdate;if(\"append\"===e.changeType&&e.items&&!e.items.length)return;a||\"append\"===e.changeType||\"prepend\"===e.changeType?(e.cancel=!0,a&&i.reset(!0),i.load()):(\"update\"===e.changeType?e.rowIndices.forEach((function(t,n){var i=e.changeTypes[n],a=e.items[n];\"update\"===i?o[t]=a:\"insert\"===i?o.splice(t,0,a):\"remove\"===i&&o.splice(t,1)})):(o.forEach((function(e,i){o[i]=t._items[i+n]||o[i]})),e.items=o),I(o))}}},_updateLoadViewportParams:function(){var e=this._rowsScrollController.getViewportParams(),t=this.pageSize();if(e&&!S(this)&&t>0){var n=this.pageIndex()*t;e.skip+=n}this._loadViewportParams=e},_processItems:function(){var e,t=this.callBase.apply(this,arguments);if(!1===this.option(x)){var n,i,o,a=this._dataSource,r=null!==(e=null==a?void 0:a.lastLoadOptions().skip)&&void 0!==e?e:0,s=!1,l=[];t.forEach((function(e){var t=e.rowType,u=D(e,a),c=\"group\"===t&&(n||u||\"group\"!==i&&r>0),h=\"data\"===t&&u&&(n||\"group\"!==i);!e.isNewRow&&(0,d.isDefined)(n)&&(!c&&!h||o&&!s||r++),(c||h)&&(s=!0),e.isNewRow?l.push(e):(l.forEach((function(e){e.loadIndex=r})),l=[]),e.loadIndex=r,n=u,i=t,o=e.isNewRow})),l.forEach((function(e){e.loadIndex=r}))}return t},_afterProcessItems:function(e){var t=this;if(this._itemCount=e.filter((function(e){return D(e,t._dataSource)})).length,(0,d.isDefined)(this._loadViewportParams)){this._updateLoadViewportParams();var n=e;if(this._allItems=e,e.length){var i=this.getLoadPageParams(!0),o=i.skipForCurrentPage,a=e[0].loadIndex+o,r=this._loadViewportParams.take;n=e.filter((function(e){var t=e.isNewRow&&e.loadIndex===a&&0===r,n=e.loadIndex>=a,i=e.loadIndex<a+r||t;return n&&i}))}return n}return this.callBase.apply(this,arguments)},_applyChange:function(e){var t=this,n=e.items,i=e.changeType,o=e.removeCount;if(o){var a=\"prepend\"===i;o=k(t._items,o,a,(function(e,n){return\"data\"===e.rowType&&!e.isNewRow||\"group\"===e.rowType&&(t._dataSource.isGroupItemCountable(e.data)||n)})),e.removeCount=o}switch(i){case\"prepend\":t._items.unshift.apply(t._items,n),o&&t._items.splice(-o);break;case\"append\":t._items.push.apply(t._items,n),o&&t._items.splice(0,o);break;default:t.callBase(e)}},items:function(e){return e?this._allItems||this._items:this._visibleItems||this._items},getRowIndexDelta:function(){var e=0;if(this.option(x)){var t=this._visibleItems;t&&t[0]&&(e=this._items.indexOf(t[0]))}return e<0?0:e},getRowIndexOffset:function(e){var t,n=0,i=this.dataSource(),o=this._rowsScrollController,a=!1===this.option(x),r=S(this);if(o&&!e)if(a&&(0,d.isDefined)(this._loadViewportParams)){var s=this.getLoadPageParams(!0),l=s.skipForCurrentPage,u=s.pageIndex,c=this.items(!0);if(n=r?u*this.pageSize():0,c.length){var h=c[0].loadIndex;n+=c.filter((function(e){return e.loadIndex<h+l})).length}}else n=o.beginPageIndex()*o.pageSize();else r&&a&&i?n=null!==(t=i.lastLoadOptions().skip)&&void 0!==t?t:0:w(this)&&i&&(n=i.beginPageIndex()*i.pageSize());return n},getDataIndex:function(){return!1===this.option(x)?this.getRowIndexOffset(!0):this.callBase.apply(this,arguments)},viewportSize:function(){var e=this._rowsScrollController,t=this._dataSource,n=null==e?void 0:e.viewportSize.apply(e,arguments);return!1===this.option(x)?n:null==t?void 0:t.viewportSize.apply(t,arguments)},viewportHeight:function(e,t){var n;null===(n=this._rowsScrollController)||void 0===n||n.viewportHeight(e,t)},viewportItemSize:function(){var e=this._rowsScrollController,t=this._dataSource,n=null==e?void 0:e.viewportItemSize.apply(e,arguments);return!1===this.option(x)?n:null==t?void 0:t.viewportItemSize.apply(t,arguments)},setViewportPosition:function(){var e=this._rowsScrollController,t=this._dataSource;this._isPaging=!1,e?e.setViewportPosition.apply(e,arguments):null==t||t.setViewportPosition.apply(t,arguments)},setContentItemSizes:function(e){var t=this._rowsScrollController,n=this._dataSource,i=null==t?void 0:t.setContentItemSizes(e);return!1===this.option(x)?i:null==n?void 0:n.setContentItemSizes(e)},getPreloadedRowCount:function(){var e=this.option(\"scrolling.preloadedRowCount\"),t=this.option(\"scrolling.preloadEnabled\");if((0,d.isDefined)(e))return e;var n=this.viewportSize();return t?2*n:n},getLoadPageParams:function(e){var t,n,i=this.pageSize(),o=this._loadViewportParams,a=null===(t=this._dataSource)||void 0===t?void 0:t.lastLoadOptions(),r=(null==a?void 0:a.pageIndex)||0,s=(null==a?void 0:a.take)||0,l=this._rowsScrollController.isScrollingBack(),u=l?this.getPreloadedRowCount():0,d=l?0:this.getPreloadedRowCount(),c=(null===(n=this._dataSource)||void 0===n?void 0:n.totalCountCorrection())||0,h=Math.max(0,o.skip-u),f=e?r:Math.floor(i?h/i:0),p=f*i,g=o.skip-p,m=o.take+g+d-c,_=e?s:m,v=Math.ceil(i?_/i:0);return{pageIndex:f,loadPageCount:Math.max(1,v),skipForCurrentPage:Math.max(0,g)}},_updateVisiblePageIndex:function(e){if(this._rowsScrollController){if((0,d.isDefined)(e))return this._silentOption(\"paging.pageIndex\",e),void this.pageChanged.fire();var t=this._rowsScrollController.getViewportItemIndex(),n=Math.floor(t/this.pageSize());this.pageIndex()!==n&&(this._silentOption(\"paging.pageIndex\",n),this.updateItems({changeType:\"pageIndex\"}))}},_getChangedLoadParams:function(){var e=this.getLoadPageParams(!0),t=this.getLoadPageParams(),n=t.pageIndex,i=t.loadPageCount,o=this._pageIndexIsValid(n),a=null;return this._isLoading||!o||n===e.pageIndex&&i===e.loadPageCount||(a={pageIndex:n,loadPageCount:i}),a},_pageIndexIsValid:function(e){var t=!0;return(C(this)&&this.hasKnownLastPage()||w(this))&&(t=e*this.pageSize()<this.totalItemsCount()),t},_loadItems:function(e,t){var n,i,o=this,a=S(this),r=this._dataSource,s=this._getChangedLoadParams(),l=null!==(n=null==r?void 0:r.loadPageCount())&&void 0!==n?n:0,u=this.pageSize()*l,d=null!==(i=null==r?void 0:r.pageIndex())&&void 0!==i?i:0,c=(null==s?void 0:s.pageIndex)===d,h=C(this)&&this.totalItemsCount()<u,f=\"repaint\"===this.option(\"editing.refreshMode\"),p=(null==s?void 0:s.pageIndex)>d,g=!1;if(!r||a&&e&&(f&&t||p||c&&h))return g;if(a&&this._isLoading&&(this._needUpdateViewportAfterLoading=!0),a&&s){g=!0,r.pageIndex(s.pageIndex),r.loadPageCount(s.loadPageCount),this._repaintChangesOnly=!0,this._needUpdateDimensions=!0;var m=this._viewportChanging;this.load().always((function(){o._repaintChangesOnly=void 0,o._needUpdateDimensions=void 0})).done((function(){var e=o.pageCount()>0&&o.pageIndex()===o.pageCount()-1;(m||e)&&o._updateVisiblePageIndex(),o._needUpdateViewportAfterLoading&&(o._needUpdateViewportAfterLoading=!1,o.loadViewport({checkLoadedParamsOnly:!0}))}))}return g},loadViewport:function(e){var t,n,i,o=null!=e?e:{},a=o.checkLoadedParamsOnly,r=o.checkLoading,s=o.viewportIsNotFilled;if(S(this)||p.default.isVirtualRowRendering(this)){this._updateLoadViewportParams();var l=this._loadItems(r,!s),u=null===(t=this._dataSource)||void 0===t?void 0:t.isCustomLoading(),d=r&&!u&&this._isLoading;if(!(l||d||a)){var c=!(null===(i=null===(n=this.getController(\"editing\"))||void 0===n?void 0:n.getChanges())||void 0===i?void 0:i.length);this.updateItems({repaintChangesOnly:!0,needUpdateDimensions:!0,useProcessedItemsCache:c,cancelEmptyChanges:!0})}}},updateViewport:function(){var e,t,n=this.viewportSize(),i=this.items().length,o=n>i,a=null!==(t=null===(e=this._loadViewportParams)||void 0===e?void 0:e.take)&&void 0!==t?t:0,r=this._rowsScrollController,s=null==r?void 0:r.getViewportParams().take;(o||a<s)&&!this._isPaging&&i&&this.loadViewport({checkLoading:!0,viewportIsNotFilled:o})},loadIfNeed:function(){if(!1!==this.option(x)){var e=this._rowsScrollController;e&&e.loadIfNeed();var t=this._dataSource;return t&&t.loadIfNeed()}},getItemSize:function(){var e=this._rowsScrollController;if(e)return e.getItemSize.apply(e,arguments);var t=this._dataSource;return t&&t.getItemSize.apply(t,arguments)},getItemSizes:function(){var e=this._rowsScrollController;if(e)return e.getItemSizes.apply(e,arguments);var t=this._dataSource;return t&&t.getItemSizes.apply(t,arguments)},getContentOffset:function(){var e=this._rowsScrollController;if(e)return e.getContentOffset.apply(e,arguments);var t=this._dataSource;return t&&t.getContentOffset.apply(t,arguments)},refresh:function(e){var t=this._dataSource;return t&&e&&e.load&&C(this)&&t.resetCurrentTotalCount(),this.callBase.apply(this,arguments)},dispose:function(){var e=this._rowsScrollController;e&&e.dispose(),this.callBase.apply(this,arguments)},topItemIndex:function(){var e;return null===(e=this._loadViewportParams)||void 0===e?void 0:e.skip},bottomItemIndex:function(){var e=this._loadViewportParams;return e&&e.skip+e.take},virtualItemsCount:function(){var e=this._rowsScrollController;if(e)return e.virtualItemsCount.apply(e,arguments);var t=this._dataSource;return null==t?void 0:t.virtualItemsCount.apply(t,arguments)},pageIndex:function(e){var t,n=S(this),i=this._rowsScrollController;return!1===this.option(x)&&n&&i&&void 0===e?null!==(t=this.option(\"paging.pageIndex\"))&&void 0!==t?t:0:this.callBase.apply(this,arguments)},_fireChanged:function(e){this.callBase.apply(this,arguments);var t=e.operationTypes;if(!1===this.option(x)&&S(this)&&t){var n=t.fullReload,i=t.pageIndex;e.isDataChanged&&!n&&i&&this._updateVisiblePageIndex(this._dataSource.pageIndex())}},_getPagingOptionValue:function(e){var t=this.callBase.apply(this,arguments);return!1===this.option(x)&&S(this)&&(t=this[e]()),t},isEmpty:function(){return!1===this.option(x)?!this.items(!0).length:this.callBase(this,arguments)},isLastPageLoaded:function(){var e=!1;if(!1===this.option(x)&&S(this)){var t=this.getLoadPageParams(!0),n=t.pageIndex,i=t.loadPageCount,o=this.pageCount();e=n+i>=o}else e=this.callBase.apply(this,arguments);return e},reset:function(){this._itemCount=0,this._allItems=null,this.callBase.apply(this,arguments)},_applyFilter:function(){var e;null===(e=this._dataSource)||void 0===e||e.loadPageCount(1),this.callBase.apply(this,arguments)}},p.default.proxyMethod(b,\"getVirtualContentSize\"),p.default.proxyMethod(b,\"setViewportItemIndex\"),b),resizing:{_updateMasterDataGridCore:function(e){return(0,a.when)(this.callBase.apply(this,arguments)).done((function(t){var n=w(e)&&!1===e.option(x);!t&&n&&(e.getScrollable()&&e.updateDimensions())}))},hasResizeTimeout:function(){return!!this._resizeTimeout},resize:function(){var e,t=this,n=this.callBase;if(w(this)||p.default.isVirtualRowRendering(this)){clearTimeout(this._resizeTimeout),this._resizeTimeout=null;var i=new Date-this._lastTime,o=this.option(\"scrolling.updateTimeout\");this._lastTime&&i<o?(e=new a.Deferred,this._resizeTimeout=setTimeout((function(){t._resizeTimeout=null,n.apply(t).done(e.resolve).fail(e.reject),t._lastTime=new Date}),o),this._lastTime=new Date):(e=n.apply(this),this._dataController.isLoaded()&&(this._lastTime=new Date))}else e=n.apply(this);return e},dispose:function(){this.callBase.apply(this,arguments),clearTimeout(this._resizeTimeout)}}},views:{rowsView:E}}};t.virtualScrollingModule=O},86770:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.VirtualScrollController=void 0,t.subscribeToExternalScrollers=_;var i=g(n(49387)),o=g(n(38377)),a=g(n(68374)),r=g(n(47810)),s=g(n(44504)),l=n(62754),u=n(95479),d=n(35922),c=n(58201),h=g(n(55994)),f=g(n(60082)),p=n(20488);function g(e){return e&&e.__esModule?e:{default:e}}var m=function(e){return\"virtual\"===e.option(\"scrolling.mode\")||e._isVirtual};function _(e,t,n){var o,r=[],s=[],l=[];function d(t){var n=t.element?t.$element():t,o=i.default.offset(n);return o?t.scrollTop()-(o.top-e.offset().top):e.offset().top}var f={on:function(e,t,n){e.on(\"scroll\",n)},off:function(e,t,n){e.off(\"scroll\",n)}};function p(e){var n=\"#document\"===e.get(0).nodeName,i=e.get(0).nodeType===(0,c.getWindow)().Node.ELEMENT_NODE,o=e.data(\"dxScrollable\"),u=f;if(o||(o=n&&(0,a.default)((0,c.getWindow)())||i&&\"auto\"===e.css(\"overflowY\")&&e,u=h.default,o)){var p=function(e){return function(){var n=e.scrollTop()-d(e);t(n=n>0?n:0)}}(o);u.on(o,\"scroll\",p),s.push((function(e){var t=d(o),n=o.scrollTo?\"scrollTo\":\"scrollTop\";e-t>=0&&o[n](e+t)})),r.push(o),l.push((function(){u.off(o,\"scroll\",p)}))}}var g=function(e){var t;return(0,a.default)(null!==(t=e.get(0).parentNode)&&void 0!==t?t:e.get(0).host)};for(o=(n=n||e).parent();o.length;o=g(o))p(o);return{scrollTo:function(e){(0,u.each)(s,(function(t,n){n(e)}))},dispose:function(){(0,u.each)(l,(function(e,t){t()}))}}}var v,y=o.default.inherit((v={ctor:function(e,t,n){this._dataOptions=t,this.component=e,this._viewportSize=!1===e.option(\"scrolling.legacyMode\")?15:0,this._viewportItemSize=20,this._viewportItemIndex=0,this._position=0,this._isScrollingBack=!1,this._contentSize=0,this._itemSizes={},this._sizeRatio=1,this._isVirtual=n,this.positionChanged=(0,s.default)(),this._dataLoader=new p.VirtualDataLoader(this,this._dataOptions)},getItemSizes:function(){return this._itemSizes},option:function(){return this.component.option.apply(this.component,arguments)},isVirtual:function(){return this._isVirtual},virtualItemsCount:function(){if(m(this)){var e=this._dataOptions,t=e.totalItemsCount();if(!1===this.option(\"scrolling.legacyMode\")&&-1!==t){var n=this.getViewportParams(),i=e.loadedOffset(),o=e.loadedItemCount(),a=Math.max(n.skip,i),r=Math.min(n.take,o),s=Math.max(t-(a+r),0);return{begin:a,end:s}}return this._dataLoader.virtualItemsCount.apply(this._dataLoader,arguments)}},getScrollingTimeout:function(){var e,t=this.option(\"scrolling.renderAsync\"),n=0;return(0,d.isDefined)(t)?t&&(n=null!==(e=this.option(\"scrolling.timeout\"))&&void 0!==e?e:0):(n=Math.min(this.option(\"scrolling.timeout\")||0,this._dataOptions.changingDuration()))<this.option(\"scrolling.renderingThreshold\")&&(n=this.option(\"scrolling.minTimeout\")||0),n},setViewportPosition:function(e){var t=this,n=new l.Deferred,i=this.getScrollingTimeout();return clearTimeout(this._scrollTimeoutID),i>0?this._scrollTimeoutID=setTimeout((function(){t._setViewportPositionCore(e),n.resolve()}),i):(this._setViewportPositionCore(e),n.resolve()),n.promise()},getViewportPosition:function(){return this._position},getItemIndexByPosition:function(e,t,n){e=null!=e?e:this._position;for(var i=this.getItemSize(),o=0,a=0,r=Object.keys(this._itemSizes).concat(-1),s=0;s<r.length&&o<e;s++){var l=parseInt(r[s]),u=(e-o)/i;if(l<0||a+u<l){a+=u,this._sizeRatio<1&&(0,d.isDefined)(t)&&(a=t+n/this._viewportItemSize);break}o+=(u=l-a)*i,a+=u;var c=this._itemSizes[l];a+=(o+=c)<e?1:(e-o+c)/c}return Math.round(50*a)/50},isScrollingBack:function(){return this._isScrollingBack},_setViewportPositionCore:function(e){var t=this._position||0;this._position=e,t!==this._position&&(this._isScrollingBack=this._position<t);var n=this.getItemIndexByPosition(),i=this.setViewportItemIndex(n);return this.positionChanged.fire(),i},setContentItemSizes:function(e){var t=this,n=this.virtualItemsCount();if(this._contentSize=e.reduce((function(e,t){return e+t}),0),n){e.forEach((function(e,i){t._itemSizes[n.begin+i]=e}));var i=(n.begin+n.end+this.itemsCount())*this._viewportItemSize,o=f.default.getContentHeightLimit(r.default);this._sizeRatio=i>o?o/i:1}},getItemSize:function(){return this._viewportItemSize*this._sizeRatio},getItemOffset:function(e,t){var n=this,i=this.virtualItemsCount(),o=e;if(!i)return 0;var a=0,r=this._dataOptions.totalItemsCount();return Object.keys(this._itemSizes).forEach((function(i){o&&(t?i>=r-e:i<e)&&(a+=n._itemSizes[i],o--)})),Math.floor(a+o*this._viewportItemSize*this._sizeRatio)},getContentOffset:function(e){var t=\"end\"===e,n=this.virtualItemsCount();return n?this.getItemOffset(t?n.end:n.begin,t):0},getVirtualContentSize:function(){return this.virtualItemsCount()?this.getContentOffset(\"begin\")+this.getContentOffset(\"end\")+this._contentSize:0},getViewportItemIndex:function(){return this._viewportItemIndex},setViewportItemIndex:function(e){if(this._viewportItemIndex=e,!1!==this.option(\"scrolling.legacyMode\"))return this._dataLoader.viewportItemIndexChanged.apply(this._dataLoader,arguments)},viewportItemSize:function(e){return void 0!==e&&(this._viewportItemSize=e),this._viewportItemSize},viewportSize:function(e){return void 0!==e&&(this._viewportSize=e),this._viewportSize},viewportHeight:function(e,t){var n=null!=t?t:this._position,i=this.getItemIndexByPosition(n),o=this.getItemIndexByPosition(n+e,i,e);this.viewportSize(Math.ceil(o-i)),(0,d.isDefined)(t)||this._viewportItemIndex===i||this._setViewportPositionCore(n)},reset:function(e){this._dataLoader.reset(),e||(this._itemSizes={})},subscribeToWindowScrollEvents:function(e){var t=this;this._windowScroll=this._windowScroll||_(e,(function(e){t.viewportItemSize()&&t.setViewportPosition(e)}))},dispose:function(){clearTimeout(this._scrollTimeoutID),this._windowScroll&&this._windowScroll.dispose(),this._windowScroll=null},scrollTo:function(e){this._windowScroll&&this._windowScroll.scrollTo(e)},isVirtualMode:function(){return m(this)},isAppendMode:function(){return\"infinite\"===(e=this).option(\"scrolling.mode\")&&!e._isVirtual;var e},getViewportParams:function(){var e,t=\"virtual\"===this.option(\"scrolling.mode\"),n=this._dataOptions.totalItemsCount(),i=this._dataOptions.hasKnownLastPage()&&this._viewportItemIndex>n?n:this._viewportItemIndex,o=this._viewportSize+i,a=this.option(\"scrolling.prerenderedRowChunkSize\")||1,r=this.isScrollingBack(),s=null!==(e=this.option(\"scrolling.prerenderedRowCount\"))&&void 0!==e?e:1,l=r?s:0,u=r?0:s,d=Math.floor(Math.max(0,i-l)/a)*a,c=Math.ceil((o+u-d)/a)*a;if(t){var h=Math.max(0,n-d);c=Math.min(c,h)}return{skip:d,take:c}},itemsCount:function(){return this.option(\"scrolling.legacyMode\")?this._dataLoader.itemsCount.apply(this._dataLoader,arguments):this._dataOptions.itemsCount()}},[\"pageIndex\",\"beginPageIndex\",\"endPageIndex\",\"pageSize\",\"load\",\"loadIfNeed\",\"handleDataChanged\",\"getDelayDeferred\"].forEach((function(e){v[e]=function(){return this._dataLoader[e].apply(this._dataLoader,arguments)}})),v));t.VirtualScrollController=y;var b={VirtualScrollController:y};t.default=b},74305:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRealElementWidth=t.default=t.AreaItem=void 0;var i=f(n(38377)),o=f(n(73349)),a=n(6415),r=f(n(68374)),s=n(13306),l=n(37518),u=n(58664),d=n(80968),c=n(35922),h=n(41672);function f(e){return e&&e.__esModule?e:{default:e}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=0,n=e.offsetWidth;if(e.getBoundingClientRect){var i=(0,l.getBoundingRect)(e);(t=i.width)||(t=i.right-i.left),t<=n-1&&(t=n)}return t>0?t:n};function m(e,t,n,i){var o=0,a=0,r=n/2;return e+i-(t+n)>1?(e>=t+n+r&&(a=parseInt((e-(t+n))/r,10)),o=t+n+r*a):e<t?(e<=t-r&&(a=parseInt((e-(t-r))/r,10)),o=t-(n-r*a)):o=t,o}t.getRealElementWidth=g;var _=i.default.inherit({ctor:function(e){this.component=e},option:function(){return this.component.option.apply(this.component,arguments)},_getRowElement:function(e){return this._tableElement&&this._tableElement.length>0?this._tableElement[0].rows[e]:null},_createGroupElement:function(){return(0,r.default)(\"<div>\")},_createTableElement:function(){return(0,r.default)(\"<table>\")},_getCellText:function(e,t){var n=e.isWhiteSpace?\"&nbsp\":e.text||\"&nbsp\";return!t||-1===n.indexOf(\"<\")&&-1===n.indexOf(\">\")||(n=(0,r.default)(\"<div>\").text(n).html()),n},_getRowClassNames:function(){},_applyCustomStyles:function(e){e.cell.width&&e.cssArray.push(\"min-width:\".concat(e.cell.width,\"px\")),e.cell.sorted&&e.classArray.push(\"dx-pivotgrid-sorted\")},_getMainElementMarkup:function(){return o.default.createElement(\"tbody\")},_getCloseMainElementMarkup:function(){return\"</tbody>\"},_renderTableContent:function(e,t){var n,i,a,r,s,l,u=t.length,h=this.option(\"rtlEnabled\"),f=this.option(\"encodeHtml\");e.data(\"area\",this._getAreaName()),e.data(\"data\",t),e.css(\"width\",\"\");var p=this._getMainElementMarkup();for(a=0;a<u;a+=1){n=t[a],l=[];var g=o.default.createElement(\"tr\");for(r=0;r<n.length;r+=1){i=n[r],this._getRowClassNames(a,i,l);var m=o.default.createElement(\"td\");if(i){i.rowspan&&m.setAttribute(\"rowspan\",i.rowspan||1),i.colspan&&m.setAttribute(\"colspan\",i.colspan||1);var _={cellElement:void 0,cell:i,cellsCount:n.length,cellIndex:r,rowElement:void 0,rowIndex:a,rowsCount:u,rtlEnabled:h,classArray:[],cssArray:[]};if(this._applyCustomStyles(_),_.cssArray.length&&(0,d.setStyle)(m,_.cssArray.join(\";\")),_.classArray.length&&m.setAttribute(\"class\",_.classArray.join(\" \")),(0,c.isDefined)(i.expanded)){var v=o.default.createElement(\"div\");v.classList.add(\"dx-expand-icon-container\");var y=o.default.createElement(\"span\");y.classList.add(\"dx-expand\"),v.appendChild(y),m.appendChild(v)}s=this._getCellText(i,f)}else s=\"\";var b=o.default.createElement(\"span\");if((0,c.isDefined)(i.wordWrapEnabled)&&(b.style.whiteSpace=i.wordWrapEnabled?\"normal\":\"nowrap\"),b.innerHTML=s,m.appendChild(b),i.sorted){var x=o.default.createElement(\"span\");x.classList.add(\"dx-icon-sorted\"),m.appendChild(x)}g.appendChild(m)}l.length&&g.setAttribute(\"class\",l.join(\" \")),p.appendChild(g)}e.append(p),this._triggerOnCellPrepared(e,t)},_triggerOnCellPrepared:function(e,t){var n,i,o,r,l,u,d,c=e.find(\"tr\"),h=this._getAreaName(),f=this.option(\"onCellPrepared\"),p=this.component._eventsStrategy.hasEvent(\"cellPrepared\"),g=this.component._defaultActionArgs();if(f||p)for(u=0;u<t.length;u+=1)for(r=t[u],n=c.eq(u),d=0;d<r.length;d+=1)l=r[d],i=n.children().eq(d),o={area:h,rowIndex:u,columnIndex:d,cellElement:(0,a.getPublicElement)(i),cell:l},p?this.component._trigger(\"onCellPrepared\",o):f((0,s.extend)(o,g))},_getRowHeight:function(e){var t=this._getRowElement(e),n=0,i=t.offsetHeight;if(t&&t.lastChild){if(t.getBoundingClientRect)(n=(0,l.getBoundingRect)(t).height)<=i-1&&(n=i);return n>0?n:i}return 0},_setRowHeight:function(e,t){var n=this._getRowElement(e);n&&(n.style.height=\"\".concat(t,\"px\"))},getRowsLength:function(){return this._tableElement&&this._tableElement.length>0?this._tableElement[0].rows.length:0},getRowsHeight:function(){for(var e=[],t=this.getRowsLength(),n=0;n<t;n+=1)e.push(this._getRowHeight(n));return e},setRowsHeight:function(e){for(var t=0,n=e.length,i=0;i<n;i+=1)t+=e[i],this._setRowHeight(i,e[i]);this._tableHeight=t,this._tableElement[0].style.height=\"\".concat(t,\"px\")},getColumnsWidth:function(){var e,t,n,i,o=this.getRowsLength(),a=[],r=[],s=function(e,t,n,i,o){var a,r;for(a=0;a<i;a+=1)for(r=0;r<o;r+=1)e[t+a]=e[t+a]||[],e[t+a][n+r]=!0};if(o)for(e=0;e<o;e+=1)for(a[e]=a[e]||[],t=this._getRowElement(e),n=0;n<t.cells.length;n+=1){for(i=0;a[e][i];i+=1);s(a,e,i,t.cells[n].rowSpan,t.cells[n].colSpan),1===t.cells[n].colSpan&&(r[i]=r[i]||g(t.cells[n]))}return r},setColumnsWidth:function(e){var t,n=this._tableElement[0];this._colgroupElement.html(\"\");var i=this.getColumnsCount(),a=[];for(t=0;t<i;t+=1)a.push(e[t]||0);for(t=i;t<e.length&&e;t+=1)a[i-1]+=e[t];for(t=0;t<i;t+=1){var r=o.default.createElement(\"col\");r.style.width=\"\".concat(a[t],\"px\"),this._colgroupElement.append(r)}this._tableWidth=a.reduce((function(e,t){return e+t}),0),n.style.width=\"\".concat(this._tableWidth,\"px\"),n.style.tableLayout=\"fixed\"},resetColumnsWidth:function(){(0,u.setWidth)(this._colgroupElement.find(\"col\"),\"auto\"),this._tableElement.css({width:\"\",tableLayout:\"\"})},setGroupWidth:function(e){this._getScrollable().option(\"width\",e)},setGroupHeight:function(e){this._getScrollable().option(\"height\",e)},getGroupHeight:function(){return this._getGroupElementSize(\"height\")},getGroupWidth:function(){return this._getGroupElementSize(\"width\")},_getGroupElementSize:function(e){var t=this.groupElement()[0].style[e];return t.indexOf(\"px\")>0?parseFloat(t):null},groupElement:function(){return this._groupElement},tableElement:function(){return this._tableElement},element:function(){return this._rootElement},headElement:function(){return this._tableElement.find(\"thead\")},_setTableCss:function(e){this.option(\"rtlEnabled\")&&(e.right=e.left,delete e.left),this.tableElement().css(e)},setVirtualContentParams:function(e){this._virtualContent.css({width:e.width,height:e.height});var t=this._getScrollable();(null==t?void 0:t.isRenovated())?this._getScrollable().option(\"classes\",\"dx-virtual-mode\"):this.groupElement().addClass(\"dx-virtual-mode\")},disableVirtualMode:function(){var e=this._getScrollable();(null==e?void 0:e.isRenovated())?this._getScrollable().option(\"classes\",\"\"):this.groupElement().removeClass(\"dx-virtual-mode\")},_renderVirtualContent:function(){this._virtualContent||\"virtual\"!==this.option(\"scrolling.mode\")||(this._virtualContent=(0,r.default)(\"<div>\").addClass(\"dx-virtual-content\").insertBefore(this._tableElement))},reset:function(){var e=this._tableElement[0];if(this._fakeTable&&this._fakeTable.detach(),this._fakeTable=null,this.disableVirtualMode(),this.setGroupWidth(\"100%\"),this.setGroupHeight(\"auto\"),this.resetColumnsWidth(),e){for(var t=0;t<e.rows.length;t+=1)e.rows[t].style.height=\"\";e.style.height=\"\",e.style.width=\"100%\"}},_updateFakeTableVisibility:function(){var e=this.tableElement()[0],t=this.option(\"rtlEnabled\")?\"right\":\"left\",n=this._fakeTable[0];e.style.top===n.style.top&&n.style[t]===e.style[t]?this._fakeTable.addClass(\"dx-hidden\"):this._fakeTable.removeClass(\"dx-hidden\")},_moveFakeTableHorizontally:function(e){var t=this.option(\"rtlEnabled\")?\"right\":\"left\",n=m(e,parseFloat(this.tableElement()[0].style[t]),this._tableWidth,this.getGroupWidth());parseFloat(this._fakeTable[0].style[t])!==n&&(this._fakeTable[0].style[t]=\"\".concat(n,\"px\"))},_moveFakeTableTop:function(e){var t=m(e,parseFloat(this.tableElement()[0].style.top),this._tableHeight,this.getGroupHeight());parseFloat(this._fakeTable[0].style.top)!==t&&(this._fakeTable[0].style.top=\"\".concat(t,\"px\"))},_moveFakeTable:function(){this._updateFakeTableVisibility()},_createFakeTable:function(){this._fakeTable||(this._fakeTable=this.tableElement().clone().addClass(\"dx-pivot-grid-fake-table\").appendTo(this._virtualContent))},render:function(e,t){if(this._tableElement){try{this._tableElement[0].innerHTML=\"\"}catch(e){this._tableElement.empty()}this._tableElement.removeAttr(\"style\")}else this._groupElement=this._createGroupElement(),this._tableElement=this._createTableElement(),this._tableElement.appendTo(this._groupElement),this._groupElement.appendTo(e),this._rootElement=e;this._colgroupElement=(0,r.default)(\"<colgroup>\").appendTo(this._tableElement),this._renderTableContent(this._tableElement,t),this._renderVirtualContent()},_getScrollable:function(){return this.groupElement().data(\"dxScrollable\")},_getMemoizeScrollTo:function(){var e,t=this;return this._memoizeScrollTo=null!==(e=this._memoizeScrollTo)&&void 0!==e?e:(0,h.getMemoizeScrollTo)((function(){return t._getScrollable()})),this._memoizeScrollTo},_getMaxLeftOffset:function(e){var t=(0,r.default)(e.container()).get(0);return t.scrollWidth-t.clientWidth},on:function(e,t){var n=this,i=n._getScrollable();return i&&i.on(e,(function(e){n.option(\"rtlEnabled\")&&(0,c.isDefined)(e.scrollOffset.left)&&(e.scrollOffset.left=n._getMaxLeftOffset(i)-e.scrollOffset.left),t(e)})),this},off:function(e){var t=this._getScrollable();return t&&t.off(e),this},scrollTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this._getScrollable();if(n){var i=this.option(\"rtlEnabled\"),o=this._getAreaName(),a=p(p({},e),{left:!i||\"column\"!==o&&\"data\"!==o?e.left:this._getMaxLeftOffset(n)-e.left}),r=this._getMemoizeScrollTo();r(a,t),this._virtualContent&&(this._createFakeTable(),this._moveFakeTable(e))}},updateScrollable:function(){var e=this._getScrollable();if(e)return e.update()},getColumnsCount:function(){var e,t=0,n=this._getRowElement(0);if(n)for(var i=0,o=(e=n.cells).length;i<o;++i)t+=e[i].colSpan;return t},getData:function(){var e=this._tableElement;return e?e.data(\"data\"):[]}});t.AreaItem=_;var v={AreaItem:_,getRealElementWidth:g};t.default=v},85654:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.ChartIntegrationMixin=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(13306),r=n(95479),s=n(28580);var l={number:\"numeric\",date:\"datetime\"},u=\"dxPivotGridUnbinding\";function d(e,t){var n=[],i=t.length-1;return(0,r.each)(e,(function(e,o){n.push(o.text||(0,s.formatValue)(o.value,t[i-e]))})),n.reverse()}function c(e){var t=0;return(0,s.foreachTree)(e,(function(e){t=Math.max(t,e.length-1)})),t}function h(e,t,n){var i,o,l,u,h,f,p,g,m,_,v=e.getData(),y=[],b=e.getAreaFields(\"data\"),x=e.getAreaFields(\"row\"),w=e.getAreaFields(\"column\"),C=[{index:v.grandTotalColumnIndex,children:v.columns}],S=[{index:v.grandTotalRowIndex,children:v.rows}],k=c(S),D=c(C);function I(){var e,r=(v.values[l]||[])[p]||[],s=r[i],d={rowPath:f,maxRowLevel:k,rowPathFormatted:h,rowFields:x,columnPathFormatted:_,maxColumnLevel:D,columnPath:m,columnFields:w,dataFields:b,dataIndex:i,dataValues:r,visible:g&&u},c=(t.inverted?_:h).join(\" - \"),C=(t.inverted?h:_).join(\"/\");b.length>1&&(\"args\"!==t.putDataFieldsInto&&\"both\"!==t.putDataFieldsInto||(C+=\" | \".concat(o.caption)),\"args\"!==t.putDataFieldsInto&&(c+=\" | \".concat(o.caption),\"singleAxis\"!==t.dataFieldsDisplayMode&&(e=o.caption))),d.chartDataItem={val:void 0===s?null:s,series:c,arg:C},(d=function(e,t){var n=e.chartDataItem,i=t&&t(e);return i?(n=(0,a.extend)({},n,i.chartDataItem),i=(0,a.extend)({},e,i,{chartDataItem:n})):e}(d,t.processCell)).visible&&(n[d.chartDataItem.series]=n[d.chartDataItem.series]||e,y.push(d.chartDataItem))}function T(e){(0,s.foreachTree)(S,(function(n){l=n[0].index,n=n.slice(0,n.length-1),u=k===n.length,f=(0,s.createPath)(n),h=d(n,x),0===f.length&&(h=[t.grandTotalText]),(0,s.foreachTree)(C,(function(n){p=n[0].index,n=n.slice(0,n.length-1),g=D===n.length,m=(0,s.createPath)(n),_=d(n,w),0===m.length&&(_=[t.grandTotalText]),e()}))}))}function E(e){(0,r.each)(b,(function(t,n){o=n,i=t,e()}))}return!1===t.alternateDataFields?E((function(){T(I)})):T((function(){E(I)})),y}function f(e,t){var n=e.getAreaFields(\"data\");if(\"args\"!==t.putDataFieldsInto&&\"singleAxis\"!==t.dataFieldsDisplayMode||1===n.length){var i=[];return(0,r.each)(n,(function(e,n){var o={name:n.caption,title:n.caption,valueType:l[n.dataType]||n.dataType,label:{format:n.format}};n.customizeText&&(o.label.customizeText=function(e){return n.customizeText.call(n,e)}),\"splitPanes\"===t.dataFieldsDisplayMode&&(o.pane=n.caption),i.push(o)})),i}return[{}]}function p(e,t){var n=[],i=e.getAreaFields(\"data\");return i.length>1&&\"splitPanes\"===t.dataFieldsDisplayMode&&\"args\"!==t.putDataFieldsInto&&(0,r.each)(i,(function(e,t){n.push({name:t.caption})})),n.length||n.push({}),n}var g={bindChart:function(e,t){t=(0,a.extend)({},t);var n=this,i=function(){t.grandTotalText=n.option(\"texts.grandTotal\");var i=function(e,t){var n=t.customizeSeries,i=t.customizeChart,o={valueAxis:f(e,t),panes:p(e,t)},r={};return i&&(o=(0,a.extend)(!0,{},o,i(o))),o.dataSource=h(e,t,r),o.seriesTemplate={nameField:\"series\",customizeSeries:function(e){var i={};return\"splitPanes\"===t.dataFieldsDisplayMode?i.pane=r[e]:\"singleAxis\"!==t.dataFieldsDisplayMode&&(i.axis=r[e]),n&&(i=(0,a.extend)(i,n(e,i))),i}},o}(n.getDataSource(),t);e.option(i)};if(!(e=function(e){if(!e)return!1;if(e.NAME)return\"dxChart\"===e.NAME&&e;var t=(0,o.default)(e);return t.data(\"dxChart\")&&t.dxChart(\"instance\")}(e)))return null;!function(e){var t=e.$element().data(u);t&&t()}(e),n.on(\"changed\",i),i();var r=function(){e.$element().removeData(u),n.off(\"changed\",i)};return e.on(\"disposing\",r),this.on(\"disposing\",r),e.$element().data(u,r),r}};t.ChartIntegrationMixin=g;var m={ChartIntegrationMixin:g};t.default=m},18813:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CLASSES=void 0;t.CLASSES={scrollBarMeasureElement:\"dx-pivotgrid-scrollbar-measure-element\"}},64318:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.DataArea=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(60137),r=n(74305),s=n(28580);var l=r.AreaItem.inherit({_getAreaName:function(){return\"data\"},_createGroupElement:function(){return(0,o.default)(\"<div>\").addClass(\"dx-pivotgrid-area\").addClass(\"dx-pivotgrid-area-data\").css(\"borderTopWidth\",0)},_applyCustomStyles:function(e){var t=e.cell,n=e.classArray;\"T\"!==t.rowType&&\"T\"!==t.columnType||n.push(\"dx-total\"),\"GT\"!==t.rowType&&\"GT\"!==t.columnType||n.push(\"dx-grandtotal\"),\"T\"!==t.rowType&&\"GT\"!==t.rowType||n.push(\"dx-row-total\"),e.rowIndex===e.rowsCount-1&&e.cssArray.push(\"border-bottom: 0px\"),this.callBase(e)},_moveFakeTable:function(e){this._moveFakeTableHorizontally(e.x),this._moveFakeTableTop(e.y),this.callBase()},renderScrollable:function(){this._groupElement.dxScrollable({useNative:this.getUseNativeValue(),useSimulatedScrollbar:!1,rtlEnabled:this.component.option(\"rtlEnabled\"),bounceEnabled:!1,updateManually:!0})},getUseNativeValue:function(){var e=this.component.option(\"scrolling\").useNative;return\"auto\"===e?!!a.nativeScrolling:!!e},getScrollbarWidth:function(){return this.getUseNativeValue()?(0,s.calculateScrollbarWidth)():0},updateScrollableOptions:function(e){var t=e.direction,n=e.rtlEnabled,i=this._getScrollable();i.option(\"useNative\",this.getUseNativeValue()),i.option({direction:t,rtlEnabled:n})},getScrollableDirection:function(e,t){return e&&!t?\"horizontal\":!e&&t?\"vertical\":\"both\"},reset:function(){this.callBase(),this._virtualContent&&this._virtualContent.parent().css(\"height\",\"auto\")},setVirtualContentParams:function(e){this.callBase(e),this._virtualContent.parent().css(\"height\",e.height),this._setTableCss({top:e.top,left:e.left})}});t.DataArea=l;var u={DataArea:l};t.default=u},9517:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.DataController__internals=t.DataController=void 0;var i=m(n(38377)),o=m(n(44504)),a=n(20576),r=n(62754),s=n(13306),l=n(95479),u=n(68752),d=n(35922),c=m(n(84651)),h=n(44980),f=m(n(86770)),p=n(16710),g=n(28580);function m(e){return e&&e.__esModule?e:{default:e}}function _(e){return(_=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function v(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==_(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==_(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===_(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=Math,b=function(e,t,n){e[t]||(e[t]=function(){var e=this._dataSource;return e?e[t].apply(e,arguments):n})},x=i.default.inherit(function(){function e(e,t,n){return\"#N/A\"===e?n:(0,g.formatValue)(e,t)}var t=function(){var e=function(e,t){var n=t.lastIndex-t.index||1;return function(e,t,n,i,o){for(var a=o?i:n;!e[a];)e.push([]);o?e[a].push(t):e[a].unshift(t)}(e,function(e,t,n,i){var o={type:e.type,text:e.text};return e.path&&(o.path=e.path),e.width&&(o.width=e.width),(0,d.isDefined)(e.wordWrapEnabled)&&(o.wordWrapEnabled=e.wordWrapEnabled),e.isLast&&(o.isLast=!0),e.sorted&&(o.sorted=!0),e.isMetric&&(o.dataIndex=e.dataIndex),(0,d.isDefined)(e.expanded)&&(o.expanded=e.expanded),t>1&&(o[n?\"colspan\":\"rowspan\"]=t),e.depthSize&&e.depthSize>1&&(o[n?\"rowspan\":\"colspan\"]=e.depthSize),e.index>=0&&(o.dataSourceIndex=e.index),i&&e.children&&e.children.length&&!e.children[0].isMetric&&(o.width=null,o.isWhiteSpace=!0),o}(t.headerItem,n,t.isHorizontal,t.isTree),t.index,t.depth,t.isHorizontal),t.headerItem.children&&0!==t.headerItem.children.length?t.lastIndex:t.lastIndex+1},t=function(e,t,i,o,a){var c=i.length,h=function(e,t){var i,o=t&&t.length||0,a=[],s=new r.Deferred;return(0,r.when)((0,g.foreachTreeAsync)(e,(function(e,t){var r=e[0],s=(0,g.createPath)(e);(i=n(a,s.length,t)).type=\"D\",i.value=r.value,i.path=s,i.text=r.text,i.index=r.index,i.displayText=r.displayText,i.key=r.key,i.isEmpty=r.isEmpty,s.length<o&&(!r.children||0!==r.children.length)&&(i.expanded=!!r.children)}))).done((function(){s.resolve(n(a,0,0).children||[])})),s}(e,t),f=a.dataFields,p=new r.Deferred;return(0,r.when)(h).done((function(e){a.notifyProgress(.5),a.showGrandTotals&&e[a.showTotalsPrior?\"unshift\":\"push\"]({type:\"GT\",isEmpty:a.isEmptyGrandTotal});var n=!1===a.showTotals||f.length>0&&f.length===a.hiddenTotals.length,h=f.length>0&&a.hiddenValues.length===f.length;h&&n&&(o=1),n&&\"tree\"!==a.layout||function(e,t,n,i){n=n||i,(0,g.foreachTree)(e,(function(o,a){var r=o[0],l=(o[1]?o[1].children:e)||[],u=t[o.length-1];\"D\"===r.type&&r.expanded&&(!1!==u.showTotals||i)&&(-1!==a&&l.splice(n?a:a+1,0,(0,s.extend)({},r,{children:null,type:\"T\",expanded:!!n||null,isAdditionalTotal:!0})),n&&(r.expanded=null))}))}(e,t,a.showTotalsPrior,\"tree\"===a.layout),(0,r.when)((0,g.foreachTreeAsync)(e,(function(e){var t=e[0];t.children&&0!==t.children.length||(t.depthSize=o-e.length+1)}))).done((function(){c>1&&function(e,t,n){(0,g.foreachTree)(e,(function(e){var i,o=e[0];if(!o.children||0===o.children.length)for(o.children=[],i=0;i<t.length;i+=1){var a=\"GT\"===o.type,r=\"T\"===o.type,s=\"D\"===o.type;!1===t[i].visible||a&&n.hiddenGrandTotals.includes(i)||r&&n.hiddenTotals.includes(i)||s&&n.hiddenValues.includes(i)||o.children.push({caption:t[i].caption,path:o.path,type:o.type,value:i,index:o.index,dataIndex:i,isMetric:!0,isEmpty:o.isEmpty&&o.isEmpty[i]})}}))}(e,i,a),!a.showEmpty&&function(e){(0,g.foreachTree)([{children:e}],(function(t,n){var i=t[0],o=(t[1]?t[1].children:e)||[],a=i.isEmpty;a&&a.length&&(a=i.isEmpty.filter((function(e){return e})).length===a.length),i&&!i.children&&a&&(o.splice(n,1),function e(t,n){var i=t[n+1];!t[n].children.length&&i&&i.children&&(i.children.splice(i.children.indexOf(t[n]),1),e(t,n+1))}(t,1))}))}(e),a.notifyProgress(.75),(0,r.when)((0,g.foreachTreeAsync)(e,(function(n){var o=n[0],r=o.isMetric,s=t[n.length-1]||{};if(\"D\"!==o.type||r||(o.width=s.width),h&&\"D\"===o.type){var c=(n[1]?n[1].children:e)||[];c.splice(c.indexOf(o),1)}else o.wordWrapEnabled=r?i[o.dataIndex].wordWrapEnabled:s.wordWrapEnabled,o.isLast=!o.children||!o.children.length,o.isLast&&(0,l.each)(a.sortBySummaryPaths,(function(e,t){if((0,d.isDefined)(o.dataIndex)||(t=t.slice(0)).pop(),function(e,t){var n,i=e[0],o=(0,d.isString)(t[0]),a=i.dataIndex>=0?e[1]:i;return n=o&&-1!==t[0].indexOf(\"&[\")&&a.key||!a.key?(0,g.createPath)(e):(0,l.map)(e,(function(e){return e.dataIndex>=0?e.value:e.text})).reverse(),\"GT\"===i.type&&(n=n.slice(1)),n.join(\"/\")===t.join(\"/\")}(n,t))return o.sorted=!0,!1})),o.text=function(e,t,n){var i=e.text;return(0,d.isDefined)(e.displayText)?i=e.displayText:(0,d.isDefined)(e.caption)?i=e.caption:\"GT\"===e.type&&(i=n.texts.grandTotal),e.isAdditionalTotal&&(i=(0,u.format)(n.texts.total||\"\",i)),i}(o,0,a)}))).done((function(){e.length||e.push({}),a.notifyProgress(1),p.resolve(e)}))}))})),p};function n(e,t,n){var i=(e[t]=e[t]||[])[n]={};if(e[t+1]){i.children=e[t+1];for(var o=t+1;o<e.length;o+=1)e[o]=void 0;e.length=t+1}return i}return function(n,i,o,a,s){var l=[],u=function(e){var t=0;return(0,g.foreachTree)(e,(function(e){t=y.max(t,e.length)})),t}(n)||1,d=new r.Deferred;return t(n,i,o,u,s).done((function(t){!function(t,n,i,o,a){var r,s,l=0,u=[0];(0,g.foreachTree)(n,(function(n){var d=n[0];for(s=d.isMetric?i:n.length-1;u.length-1<s;)u.push(u[u.length-1]);r=u[s]||0,l=e(t,{headerItem:d,index:r,lastIndex:l,depth:s,isHorizontal:o,isTree:a}),u.length=s,u.push(l)}))}(l,t,u,a,\"tree\"===s.layout),s.notifyProgress(1),d.resolve(l)})),d}}();function n(e,t){var n=[];return(0,l.each)(e,(function(e,i){var o=(0,g.findField)(t,i.sortBySummaryField);o>=0&&n.push((i.sortBySummaryPath||[]).concat([o]))})),n}function i(e,t){for(var n=0,i=[],o=0;o<e.length;o+=1)for(var a=0;a<e[o].length;a+=1){var r=o+((e[o][a].rowspan||1)-1);if(i[o]&&(n-=i[o],i[o]=0),!1===t(e[o][a],r,o,a,n))break;i[o+(e[o][a].rowspan||1)]=(i[o+(e[o][a].rowspan||1)]||0)+1,n+=1}}function m(e,t){var n=0,i=[];return(0,g.foreachTree)(e,(function(e){var o=e[0],a=(0,g.createPath)(e);if(!o.children||!1!==t.showTotals){var r=(0,s.extend)(!0,{},o,{visibleIndex:n+=1,path:a});(0,d.isDefined)(r.index)?i[r.index]=r:i.push(r)}})),i}function _(e,t,n){return new f.default.VirtualScrollController(t,(0,s.extend)({hasKnownLastPage:function(){return!0},pageCount:function(){return y.ceil(this.totalItemsCount()/this.pageSize())},updateLoading:function(){},itemsCount:function(){return this.pageIndex()<this.pageCount()-1?this.pageSize():this.totalItemsCount()%this.pageSize()},items:function(){return[]},viewportItems:function(){return[]},onChanged:function(){},isLoading:function(){return e.isLoading()},changingDuration:function(){return e._dataSource.paginate()?300:e._changingDuration||0}},n))}var x={ctor:function(e){var t=this,n=t._fireChanged.bind(t);e=t._options=e||{},t.dataSourceChanged=(0,o.default)(),t._dataSource=t._createDataSource(e),e.component&&\"virtual\"===e.component.option(\"scrolling.mode\")&&(t._rowsScrollController=_(t,e.component,{totalItemsCount:function(){return t.totalRowCount()},pageIndex:function(e){return t.rowPageIndex(e)},pageSize:function(){return t.rowPageSize()},load:function(){return t._rowsScrollController.pageIndex()>=this.pageCount()&&t._rowsScrollController.pageIndex(this.pageCount()-1),t._rowsScrollController.handleDataChanged((function(){t._dataSource.paginate()?t._dataSource.load():n.apply(this,arguments)}))}}),t._columnsScrollController=_(t,e.component,{totalItemsCount:function(){return t.totalColumnCount()},pageIndex:function(e){return t.columnPageIndex(e)},pageSize:function(){return t.columnPageSize()},load:function(){return t._columnsScrollController.pageIndex()>=this.pageCount()&&t._columnsScrollController.pageIndex(this.pageCount()-1),t._columnsScrollController.handleDataChanged((function(){t._dataSource.paginate()?t._dataSource.load():n.apply(this,arguments)}))}})),t._stateStoringController=new c.default.StateStoringController(e.component).init(),t._columnsInfo=[],t._rowsInfo=[],t._cellsInfo=[],t.expandValueChanging=(0,o.default)(),t.loadingChanged=(0,o.default)(),t.progressChanged=(0,o.default)(),t.scrollChanged=(0,o.default)(),t.load(),t._update(),t.changed=(0,o.default)()},_fireChanged:function(){var e=new Date;this.changed&&!this._lockChanged&&this.changed.fire(),this._changingDuration=new Date-e},_correctSkipsTakes:function(e,t,n,i,o,a){var r=n?e+n-1:e;o[i.length]=o[i.length]||0,a[i.length]=a[i.length]||0,r<t?o[i.length]+=1:a[i.length]+=1},_calculatePagingForRowExpandedPaths:function(e,t,n,i,o){var a,r,s,l=this._rowsInfo,u=Math.min(e.rowSkip+e.rowTake,l.length),d=e.rowExpandedPaths,c=[],h={};for(d.forEach((function(e,t){h[e]=t})),a=0;a<u;a+=1){for(n.length=t.length=c.length+1,r=0;r<l[a].length;r+=1){var f=l[a][r];if(\"D\"===f.type){this._correctSkipsTakes(a,e.rowSkip,f.rowspan,c,t,n);var p=(s=f.path||s)&&s.length>1?h[s.slice(0,-1)]:-1;p>=0&&(i[p]=t[c.length]||0,o[p]=n[c.length]||0),f.rowspan&&c.push(f.rowspan)}}c=c.map((function(e){return e-1})).filter((function(e){return e>0}))}},_calculatePagingForColumnExpandedPaths:function(e,t,n,i,o){var a={},r={};(0,h.foreachColumnInfo)(this._columnsInfo,(function(t,n){if(\"D\"===t.type&&t.path&&void 0===t.dataIndex){var i=t.colspan||1,o=t.path.slice(0,-1).toString();a[o]=a[o]||0,r[o]=r[o]||0,n+i<=e.columnSkip?a[o]+=1:n<e.columnSkip+e.columnTake&&(r[o]+=1)}})),t[0]=a[\"\"],n[0]=r[\"\"],e.columnExpandedPaths.forEach((function(e,t){var n=a[e],s=r[e];void 0!==n&&(i[t]=n),void 0!==s&&(o[t]=s)}))},_processPagingForExpandedPaths:function(e,t,n,i){var o=e[\"\".concat(t,\"ExpandedPaths\")],a=o.map((function(){return 0})),r=o.map((function(){return i?e.pageSize:0})),s=[],l=[];i||(\"row\"===t?this._calculatePagingForRowExpandedPaths(e,s,l,a,r):this._calculatePagingForColumnExpandedPaths(e,s,l,a,r)),this._savePagingForExpandedPaths(e,t,n,s[0],l[0],a,r)},_savePagingForExpandedPaths:function(e,t,n,i,o,a,r){var l=e[\"\".concat(t,\"ExpandedPaths\")];e[\"\".concat(t,\"ExpandedPaths\")]=[],e[\"\".concat(t,\"Skip\")]=void 0!==i?i:e[\"\".concat(t,\"Skip\")],e[\"\".concat(t,\"Take\")]=void 0!==o?o:e[\"\".concat(t,\"Take\")];for(var u=0;u<l.length;u+=1)if(r[u]){var d,c=e.area&&e.area!==t;n.push((0,s.extend)({area:t,headerName:\"\".concat(t,\"s\")},e,(v(d={},\"\".concat(t,\"Skip\"),a[u]),v(d,\"\".concat(t,\"Take\"),r[u]),v(d,c?\"oppositePath\":\"path\",l[u]),d)))}},_handleCustomizeStoreLoadOptions:function(e,t){var n=this,i=e[0],o=this._rowsScrollController;if(this._dataSource.paginate()&&o){var a=o.pageSize();\"rows\"===i.headerName?(i.rowSkip=0,i.rowTake=a,i.rowExpandedPaths=[]):(i.rowSkip=o.beginPageIndex()*a,i.rowTake=(o.endPageIndex()-o.beginPageIndex()+1)*a,this._processPagingForExpandedPaths(i,\"row\",e,t))}var r=this._columnsScrollController;if(this._dataSource.paginate()&&r){var s=r.pageSize();e.forEach((function(i){\"columns\"===i.headerName?(i.columnSkip=0,i.columnTake=s,i.columnExpandedPaths=[]):(i.columnSkip=r.beginPageIndex()*s,i.columnTake=(r.endPageIndex()-r.beginPageIndex()+1)*s,n._processPagingForExpandedPaths(i,\"column\",e,t))}))}},load:function(){var e=this,t=this._stateStoringController;t.isEnabled()&&!t.isLoaded()?t.load().always((function(t){t?e._dataSource.state(t):e._dataSource.load()})):e._dataSource.load()},calculateVirtualContentParams:function(e){var t=this._rowsScrollController,n=this._columnsScrollController;if(t&&n)return t.viewportItemSize(e.virtualRowHeight),t.viewportSize(e.viewportHeight/t.viewportItemSize()),t.setContentItemSizes(e.itemHeights),n.viewportItemSize(e.virtualColumnWidth),n.viewportSize(e.viewportWidth/n.viewportItemSize()),n.setContentItemSizes(e.itemWidths),(0,a.deferUpdate)((function(){n.loadIfNeed(),t.loadIfNeed()})),this.scrollChanged.fire({left:n.getViewportPosition(),top:t.getViewportPosition()}),{contentTop:t.getContentOffset(),contentLeft:n.getContentOffset(),width:n.getVirtualContentSize(),height:t.getVirtualContentSize()}},setViewportPosition:function(e,t){this._rowsScrollController.setViewportPosition(t||0),this._columnsScrollController.setViewportPosition(e||0)},subscribeToWindowScrollEvents:function(e){var t;null===(t=this._rowsScrollController)||void 0===t||t.subscribeToWindowScrollEvents(e)},updateWindowScrollPosition:function(e){var t;null===(t=this._rowsScrollController)||void 0===t||t.scrollTo(e)},updateViewOptions:function(e){(0,s.extend)(this._options,e),this._update()},_handleExpandValueChanging:function(e){this.expandValueChanging.fire(e)},_handleLoadingChanged:function(e){this.loadingChanged.fire(e)},_handleProgressChanged:function(e){this.progressChanged.fire(e)},_handleFieldsPrepared:function(e){this._options.onFieldsPrepared&&this._options.onFieldsPrepared(e)},_createDataSource:function(e){var t,n=this,i=e.dataSource;return n._isSharedDataSource=i instanceof p.PivotGridDataSource,t=n._isSharedDataSource?i:new p.PivotGridDataSource(i),n._expandValueChangingHandler=n._handleExpandValueChanging.bind(n),n._loadingChangedHandler=n._handleLoadingChanged.bind(n),n._fieldsPreparedHandler=n._handleFieldsPrepared.bind(n),n._customizeStoreLoadOptionsHandler=n._handleCustomizeStoreLoadOptions.bind(n),n._changedHandler=function(){n._update(),n.dataSourceChanged.fire()},n._progressChangedHandler=function(e){n._handleProgressChanged(.8*e)},t.on(\"changed\",n._changedHandler),t.on(\"expandValueChanging\",n._expandValueChangingHandler),t.on(\"loadingChanged\",n._loadingChangedHandler),t.on(\"progressChanged\",n._progressChangedHandler),t.on(\"fieldsPrepared\",n._fieldsPreparedHandler),t.on(\"customizeStoreLoadOptions\",n._customizeStoreLoadOptionsHandler),t},getDataSource:function(){return this._dataSource},isLoading:function(){return this._dataSource.isLoading()},beginLoading:function(){this._dataSource.beginLoading()},endLoading:function(){this._dataSource.endLoading()},_update:function(){var e=this,i=e._dataSource,o=e._options,a=i.getAreaFields(\"column\"),s=i.getAreaFields(\"row\"),u=i.getAreaFields(\"data\"),c=\"row\"===o.dataFieldArea?u:[],h=\"row\"!==o.dataFieldArea?u:[],f=i.getData(),p=function(e){var t=[];return(0,l.each)(e,(function(e,n){!1===n.showTotals&&t.push(e)})),t}(u),g=function(e){var t=[];return e.forEach((function(e,n){(void 0===e.showValues&&!1===e.showTotals||!1===e.showValues)&&t.push(n)})),t}(u),_=function(e,t){var n=[];return(0,l.each)(e,(function(e,t){!1===t.showGrandTotals&&n.push(e)})),0===t.length&&n.length===e.length&&(n=[]),n}(u,a),v=!(u.length>0)||_.length!==u.length,y={isEmptyGrandTotal:f.isEmptyGrandTotalRow,texts:o.texts||{},hiddenTotals:p,hiddenValues:g,hiddenGrandTotals:[],showTotals:o.showRowTotals,showGrandTotals:!1!==o.showRowGrandTotals&&v,sortBySummaryPaths:n(a,u),showTotalsPrior:\"rows\"===o.showTotalsPrior||\"both\"===o.showTotalsPrior,showEmpty:!o.hideEmptySummaryCells,layout:o.rowHeaderLayout,fields:s,dataFields:u,progress:0},b={isEmptyGrandTotal:f.isEmptyGrandTotalColumn,texts:o.texts||{},hiddenTotals:p,hiddenValues:g,hiddenGrandTotals:_,showTotals:o.showColumnTotals,showTotalsPrior:\"columns\"===o.showTotalsPrior||\"both\"===o.showTotalsPrior,showGrandTotals:!1!==o.showColumnGrandTotals&&v,sortBySummaryPaths:n(s,u),showEmpty:!o.hideEmptySummaryCells,fields:a,dataFields:u,progress:0},x=function(t){this.progress=t,e._handleProgressChanged(.8+.1*y.progress+.1*b.progress)};y.notifyProgress=x,b.notifyProgress=x,(0,d.isDefined)(f.grandTotalRowIndex)||(f.grandTotalRowIndex=m(f.rows,y).length),(0,d.isDefined)(f.grandTotalColumnIndex)||(f.grandTotalColumnIndex=m(f.columns,b).length),i._changeLoadingCount(1),(0,r.when)(t(f.columns,a,h,!0,b),t(f.rows,s,c,!1,y)).always((function(){i._changeLoadingCount(-1)})).done((function(t,n){e._columnsInfo=t,e._rowsInfo=n,e._rowsScrollController&&e._columnsScrollController&&e.changed&&!e._dataSource.paginate()&&(e._rowsScrollController.reset(!0),e._columnsScrollController.reset(!0),e._lockChanged=!0,e._rowsScrollController.load(),e._columnsScrollController.load(),e._lockChanged=!1)})).done((function(){e._fireChanged(),e._stateStoringController.isEnabled()&&!e._dataSource.isLoading()&&(e._stateStoringController.state(e._dataSource.state()),e._stateStoringController.save())}))},getRowsInfo:function(e){var t,n=this._rowsInfo,o=this._rowsScrollController;if(o&&!e){var a=o.beginPageIndex()*this.rowPageSize(),r=o.endPageIndex()*this.rowPageSize()+this.rowPageSize(),l=[],u=1;return i(n,(function(e,n,i,o,d){var c=i<a?0:i-a,h=e;if(!(n>=a&&i<r))return!1;l[c]=l[c]||[],t=i<a?e.rowspan-(a-i)||1:e.rowspan,a+c+t>r&&(t=r-(c+a)||1),t!==e.rowspan&&(h=(0,s.extend)({},h,{rowspan:t})),l[c].push(h),u=y.max(u,d+1)})),i(l,(function(e,t,n,i,o){o+(e.colspan||1)>u&&(l[n][i]=(0,s.extend)({},e,{colspan:u-o||1}))})),l}return n},getColumnsInfo:function(e){var t=this._columnsInfo,n=this._columnsScrollController;if(n&&!e){var i=n.beginPageIndex()*this.columnPageSize(),o=n.endPageIndex()*this.columnPageSize()+this.columnPageSize();t=(0,h.createColumnsInfo)(t,i,o)}return t},totalRowCount:function(){return this._rowsInfo.length},rowPageIndex:function(e){return void 0!==e&&(this._rowPageIndex=e),this._rowPageIndex||0},totalColumnCount:function(){var e=0;if(this._columnsInfo&&this._columnsInfo.length)for(var t=0;t<this._columnsInfo[0].length;t+=1)e+=this._columnsInfo[0][t].colspan||1;return e},rowPageSize:function(e){return void 0!==e&&(this._rowPageSize=e),this._rowPageSize||20},columnPageSize:function(e){return void 0!==e&&(this._columnPageSize=e),this._columnPageSize||20},columnPageIndex:function(e){return void 0!==e&&(this._columnPageIndex=e),this._columnPageIndex||0},getCellsInfo:function(t){var n=this.getRowsInfo(t),o=this.getColumnsInfo(t),a=this._dataSource.getData(),r=this._options.texts||{};return function(t,n,o,a,r,s){var l=[],u=\"row\"===r,d=o.values;return d.length&&i(t,(function(t,i){var r=l[i]=[],c=d[t.dataSourceIndex>=0?t.dataSourceIndex:o.grandTotalRowIndex]||[];t.isLast&&(0,h.foreachColumnInfo)(n,(function(n,i){var l=(u?t.dataIndex:n.dataIndex)||0,d=a[l];if(n.isLast&&d&&!1!==d.visible){var h=c[n.dataSourceIndex>=0?n.dataSourceIndex:o.grandTotalColumnIndex];Array.isArray(h)||(h=[h]);var f=h[l];r[i]={text:e(f,d,s),value:f,format:d.format,dataType:d.dataType,columnType:n.type,rowType:t.type,rowPath:t.path||[],columnPath:n.path||[],dataIndex:l},d.width&&(r[i].width=d.width)}}))})),l}(n,o,a,this._dataSource.getAreaFields(\"data\"),this._options.dataFieldArea,r.dataNotAvailable)},dispose:function(){this._isSharedDataSource?(this._dataSource.off(\"changed\",this._changedHandler),this._dataSource.off(\"expandValueChanging\",this._expandValueChangingHandler),this._dataSource.off(\"loadingChanged\",this._loadingChangedHandler),this._dataSource.off(\"progressChanged\",this._progressChangedHandler),this._dataSource.off(\"fieldsPrepared\",this._fieldsPreparedHandler),this._dataSource.off(\"customizeStoreLoadOptions\",this._customizeStoreLoadOptionsHandler)):this._dataSource.dispose(),this._columnsScrollController&&this._columnsScrollController.dispose(),this._rowsScrollController&&this._rowsScrollController.dispose(),this._stateStoringController.dispose(),this.expandValueChanging.empty(),this.changed.empty(),this.loadingChanged.empty(),this.progressChanged.empty(),this.scrollChanged.empty(),this.dataSourceChanged.empty()}};return b(x,\"applyPartialDataSource\"),b(x,\"collapseHeaderItem\"),b(x,\"expandHeaderItem\"),b(x,\"getData\"),b(x,\"isEmpty\"),x}());t.DataController=x;var w={NO_DATA_AVAILABLE_TEXT:\"#N/A\"};t.DataController__internals=w;var C={DataController:x,DataController__internals:w};t.default=C},16710:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.PivotGridDataSource=void 0;var i=b(n(38377)),o=n(80566),a=n(89386),r=n(20576),s=n(62754),l=n(13306),u=n(78008),d=n(95479),c=n(35922),h=b(n(67403)),f=n(9234),p=n(16564),g=n(28580),m=n(2166),_=b(n(42717)),v=b(n(79755)),y=n(91629);function b(e){return e&&e.__esModule?e:{default:e}}var x={row:\"rows\",column:\"columns\",data:\"values\",filter:\"filters\"},w=[\"area\",\"areaIndex\",\"sortOrder\",\"filterType\",\"filterValues\",\"sortBy\",\"sortBySummaryField\",\"sortBySummaryPath\",\"expanded\",\"summaryType\",\"summaryDisplayMode\"],C=[\"format\",\"selector\",\"customizeText\",\"caption\"],S=C.concat([\"allowSorting\",\"allowSortingBySummary\",\"allowFiltering\",\"allowExpandAll\"]);function k(e,t){var n=e._initProperties||{};(0,d.each)(t,(function(t,i){Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}))}function D(e,t){k(e,t),(0,c.isDefined)(e.caption)||(0,g.setFieldProperty)(e,\"caption\",function(e){var t=e.dataField||e.groupName||\"\",n=(e.summaryType||\"\").toLowerCase();return(0,c.isString)(e.groupInterval)&&(t+=\"_\".concat(e.groupInterval)),n&&\"custom\"!==n?(n=n.replace(/^./,n[0].toUpperCase()),t.length&&(n=\" (\".concat(n,\")\"))):n=\"\",(0,u.titleize)(t)+n}(e))}function I(e){return e.rows.length||e.columns.length||e.values.length}var T=i.default.inherit(function(){var e=function(e,t){if(e._cacheByPath)return e._cacheByPath[t.join(\".\")]||null},t=function e(t,n){var i,o,a=-1;if(t)for(i=0;i<t.length;i+=1)void 0!==(o=t[i]).index&&(a=Math.max(a,o.index)),o.children?a=Math.max(a,e(o.children)):o.collapsedChildren&&(a=Math.max(a,e(o.collapsedChildren)));return(0,c.isDefined)(n)&&(a=Math.max(a,n)),a},n=function(e,n,i,o){var a,r=t(i)+1,l=t(e,o)+1,u=[],d=!1,c=new s.Deferred;if(n.children&&n.children.length===i.length)for(var h=0;h<i.length;h+=1){var f=i[h];void 0!==f.index&&(void 0===n.children[h].index?(f.index=u[f.index]=l++,n.children[h]=f):u[f.index]=n.children[h].index)}else{for(d=!0,a=0;a<r;a+=1)u[a]=l++;n.children=i}return(0,s.when)((0,g.foreachTreeAsync)(n.children,(function(e){d&&(e[0].index=u[e[0].index])}))).done((function(){c.resolve(u)})),c},u=function(n,i,o){var a=new s.Deferred,r=o>=0&&t(n,o)+1,l=[];return(0,s.when)((0,g.foreachTreeAsync)(n,(function(e){delete e[0].collapsedChildren}))).done((function(){(0,s.when)((0,g.foreachTreeAsync)(i,(function(t,i){var o=t[0];if(o.index>=0){var a=e(n,(0,g.createPath)(t));if(a&&a.index>=0)l[o.index]=a.index;else if(r){var s=(0,g.createPath)(t.slice(1));a=e(n,s);var u=s.length?a&&a.children:n;u&&(u[i]=o,o.index=l[o.index]=r++)}}}))).done((function(){a.resolve(l)}))})),a},b=function(e,t,n,i){var o,a,r,s,l,u,d=e.values;if(t)for(o=0;o<t.length;o+=1)if(r=t[o],l=n[o],(0,c.isDefined)(l)||(l=e.grandTotalRowIndex),r&&(0,c.isDefined)(l))for(d[l]||(d[l]=[]),a=0;a<r.length;a+=1)s=r[a],u=i[a],(0,c.isDefined)(u)||(u=e.grandTotalColumnIndex),(0,c.isDefined)(s)&&(0,c.isDefined)(u)&&(d[l][u]=s)};function T(e,t){return new(e.remoteOperations||e.paginate?m.RemoteStore:p.LocalStore)((0,l.extend)((0,f.normalizeDataSourceOptions)(e),{onChanged:null,onLoadingChanged:null,onProgressChanged:t}))}function E(e,t,n,i){var o=[],a=t&&t[n]||[],r=i&&i[n]||[];return(0,g.foreachTree)(e[n],(function(e){var t=e[0],n=(0,g.createPath)(e);t.children&&a[n.length-1]&&!a[n.length-1].expanded&&n.length<a.length&&(!i||function(e,t,n){for(var i=0;i<n;i+=1)if(!e[i]||!t[i]||e[i].index!==t[i].index)return!1;return!0}(a,r,n.length))&&o.push(n.slice())}),!0),o}function O(e,t,n,i){return t?(0,d.each)(i,(function(i,o){if(n)e[o]=t[o];else{if((\"summaryType\"===o||\"summaryDisplayMode\"===o)&&void 0===t[o])return;(0,g.setFieldProperty)(e,o,t[o])}})):k(e,i),e}function A(e,t){var n=[];return(0,d.each)(e,(function(e,i){n.push(O({dataField:i.dataField,name:i.name},i,!0,t))})),n}function P(e){return e.name?e.name:\"\".concat(e.dataField)}function M(e,t){var n=[];return(0,d.each)(e||[],(function(e,i){P(i)===t&&n.push(i)})),n}function R(e,t){e=e||[];var n,i={};return(0,d.each)(t,(function(e,o){n=P(o),i[n]||(i[n]=M(t,P(o)))})),(0,d.each)(i,(function(t,n){!function(e,t){e=e||[],(0,d.each)(t,(function(t,n){O(n,e[t],!1,w),D(n,C)}))}(M(e,t),n)})),t}function B(e){e.sort((function(e,t){return e.areaIndex-t.areaIndex||e.groupIndex-t.groupIndex}))}function L(e,t){var n=e.groupName||\"\";return(e.dataField||n)+(e.groupInterval?n+e.groupInterval:\"NOGROUP\")+(t?\"\":n)}function V(e,t,n){var i=[],o={},a={},r=(0,g.getFieldsDataType)(e);return t?((0,d.each)(t,(function(e,t){o[L(t,n)]=t})),(0,d.each)(e,(function(e,t){var s,u=L(t,n),d=o[u]||a[u];d?(d._initProperties&&k(d,S),s=(0,l.extend)({},d,t,{_initProperties:null})):o[u]=s=t,!s.dataType&&r[t.dataField]&&(s.dataType=r[t.dataField]),delete o[u],a[u]=d,i.push(s)})),n&&(0,d.each)(o,(function(e,t){i.push(t)}))):i=e,i.push.apply(i,[]),function(e){e.forEach((function(t){if(t.groupName&&t.groupInterval&&void 0===t.groupIndex){var n=e.filter((function(e){return e.groupName===t.groupName&&(0,c.isNumeric)(e.groupIndex)})).map((function(e){return e.groupIndex})).reduce((function(e,t){return Math.max(e,t)}),-1);t.groupIndex=n+1}}))}(i),i}function F(e){var t,n=new s.Deferred,i=e._store,o=i&&i.getFields(e._fields);return(0,s.when)(o).done((function(i){e._storeFields=i,t=V(e._fields,i,e._retrieveFields),n.resolve(t)})).fail(n.reject),n}function H(e,t,n){return(0,g.foreachTreeAsync)(e[n],(function(e){var i=e[0];i.text=i.text||(0,g.formatValue)(i.value,t[n][(0,g.createPath)(e).length-1])}))}function N(e,t){return(0,s.when)(H(t,e,\"columns\"),H(t,e,\"rows\"))}function z(e){var t=new s.Deferred,n={};return(0,s.when)((0,g.foreachTreeAsync)(e,(function(e){var t=(0,g.createPath)(e).join(\".\");n[t]=e[0]}))).done(t.resolve),e._cacheByPath=n,t}function j(e,t){var n=[];return(0,d.each)(e,(function(){(function(e,t){var n=\"data\"===t||!1!==e.visible;return e.area===t&&!(0,c.isDefined)(e.groupIndex)&&n})(this,t)&&n.push(this)})),n}return{ctor:function(e){var t=this;e=e||{},this._eventsStrategy=new o.EventsStrategy(this);var n=this,a=function(e,t){var n,o;return(0,c.isPlainObject)(e)&&e.load?n=T(e,t):(e&&!e.store&&(e={store:e}),\"xmla\"===(o=e.store).type?n=new v.default.XmlaStore(o):(0,c.isPlainObject)(o)&&o.type||o instanceof h.default||Array.isArray(o)?n=T(e,t):o instanceof i.default&&(n=o)),n}(e,(function(e){n._eventsStrategy.fireEvent(\"progressChanged\",[e])}));n._store=a,n._paginate=!!e.paginate,n._pageSize=e.pageSize||40,n._data={rows:[],columns:[],values:[]},n._loadingCount=0,n._isFieldsModified=!1,(0,d.each)([\"changed\",\"loadError\",\"loadingChanged\",\"progressChanged\",\"fieldsPrepared\",\"expandValueChanging\"],(function(n,i){var o=\"on\".concat(i[0].toUpperCase()).concat(i.slice(1));Object.prototype.hasOwnProperty.call(e,o)&&t.on(i,e[o])})),n._retrieveFields=!(0,c.isDefined)(e.retrieveFields)||e.retrieveFields,n._fields=e.fields||[],n._descriptions=e.descriptions?(0,l.extend)(n._createDescriptions(),e.descriptions):void 0,a||(0,l.extend)(!0,n._data,e.store||e)},getData:function(){return this._data},getAreaFields:function(e,t){var n=[];return t||\"data\"===e?B(n=j(this._fields,e)):n=(this._descriptions||{})[x[e]]||[],n},fields:function(e){return e&&(this._fields=V(e,this._storeFields,this._retrieveFields),this._fieldsPrepared(this._fields)),this._fields},field:function(e,t){var n,i=this._fields,o=i&&i[(0,c.isNumeric)(e)?e:(0,g.findField)(i,e)];return o&&t&&((0,d.each)(t,(function(e,t){var i=!w.includes(e);if((0,g.setFieldProperty)(o,e,t,i),\"sortOrder\"===e){n=o.levels||[];for(var a=0;a<n.length;a+=1)n[a][e]=t}})),D(o,C),this._descriptions=this._createDescriptions(o),this._isFieldsModified=!0,this._eventsStrategy.fireEvent(\"fieldChanged\",[o])),o},getFieldValues:function(e,t,n){var i,o=this,a=this._fields&&this._fields[e],r=this.store(),u=[],c={columns:u,rows:[],values:this.getAreaFields(\"data\"),filters:t?this._fields.filter((function(e){return e!==a&&e.area&&e.filterValues&&e.filterValues.length})):[],skipValues:!0},h=new s.Deferred;return n&&(i=n.searchValue,c.columnSkip=n.skip,c.columnTake=n.take),a&&r?((0,d.each)(a.levels||[a],(function(){u.push((0,l.extend)({},this,{expanded:!0,filterValues:null,sortOrder:\"asc\",sortBySummaryField:null,searchValue:i}))})),r.load(c).done((function(e){c.columnSkip&&(e.columns=e.columns.slice(c.columnSkip)),c.columnTake&&(e.columns=e.columns.slice(0,c.columnTake)),N(c,e),c.columnTake||o._sort(c,e),h.resolve(e.columns)})).fail(h)):h.reject(),h},reload:function(){return this.load({reload:!0})},filter:function(){var e=this._store;return e.filter.apply(e,arguments)},load:function(e){var t=this,n=new s.Deferred;function i(){t._delayedLoadTask=void 0,t._descriptions?t._loadCore(e,n):(0,s.when)(F(t)).done((function(i){t._fieldsPrepared(i),t._loadCore(e,n)})).fail(n.reject).fail(t._loadErrorHandler)}return e=e||{},t.beginLoading(),n.fail((function(e){t._eventsStrategy.fireEvent(\"loadError\",[e])})).always((function(){t.endLoading()})),t.store()?t._delayedLoadTask=(0,r.executeAsync)(i):i(),n},createDrillDownDataSource:function(e){return this._store.createDrillDownDataSource(this._descriptions,e)},_createDescriptions:function(e){var t=this.fields(),n={rows:[],columns:[],values:[],filters:[]};(0,d.each)([\"row\",\"column\",\"data\",\"filter\"],(function(n,i){(0,a.normalizeIndexes)(j(t,i),\"areaIndex\",e)})),(0,d.each)(t||[],(function(e,i){var o=x[i.area],a=n[o],r=i.groupName;r&&!(0,c.isNumeric)(i.groupIndex)&&(i.levels=function(e,t){return e.filter((function(e){return e.groupName===t.groupName&&(0,c.isNumeric)(e.groupIndex)&&!1!==e.visible})).map((function(e){return(0,l.extend)(e,{areaIndex:t.areaIndex,area:t.area,expanded:(0,c.isDefined)(e.expanded)?e.expanded:t.expanded,dataField:e.dataField||t.dataField,dataType:e.dataType||t.dataType,sortBy:e.sortBy||t.sortBy,sortOrder:e.sortOrder||t.sortOrder,sortBySummaryField:e.sortBySummaryField||t.sortBySummaryField,sortBySummaryPath:e.sortBySummaryPath||t.sortBySummaryPath,visible:e.visible||t.visible,showTotals:(0,c.isDefined)(e.showTotals)?e.showTotals:t.showTotals,showGrandTotals:(0,c.isDefined)(e.showGrandTotals)?e.showGrandTotals:t.showGrandTotals})})).sort((function(e,t){return e.groupIndex-t.groupIndex}))}(t,i)),!a||r&&(0,c.isNumeric)(i.groupIndex)||!1===i.visible&&\"data\"!==i.area&&\"filter\"!==i.area||(i.levels&&a!==n.filters&&a!==n.values?(a.push.apply(a,i.levels),i.filterValues&&i.filterValues.length&&n.filters.push(i)):a.push(i))})),(0,d.each)(n,(function(e,t){B(t)}));var i={};return(0,d.each)(n.values,(function(e,o){var a=o.calculateSummaryValue;(0,c.isFunction)(a)&&a(_.default.createMockSummaryCell(n,t,i))})),n},_fieldsPrepared:function(e){this._fields=e,(0,d.each)(e,(function(e,t){t.index=e,D(t,S)}));var t=A(e,[\"caption\"]);this._eventsStrategy.fireEvent(\"fieldsPrepared\",[e]);for(var n=0;n<e.length;n+=1)e[n].caption!==t[n].caption&&(0,g.setFieldProperty)(e[n],\"caption\",e[n].caption,!0);this._descriptions=this._createDescriptions()},isLoading:function(){return this._loadingCount>0},state:function(e,t){var n=this;return arguments.length?(e=(0,l.extend)({rowExpandedPaths:[],columnExpandedPaths:[]},e),void(n._descriptions?(n._fields=R(e.fields,n._fields),n._descriptions=n._createDescriptions(),!t&&n.load(e)):(n.beginLoading(),(0,s.when)(F(n)).done((function(i){n._fields=R(e.fields,i),n._fieldsPrepared(i),!t&&n.load(e)})).always((function(){n.endLoading()}))))):{fields:A(n._fields,w),columnExpandedPaths:E(n._data,n._descriptions,\"columns\",n._lastLoadOptions),rowExpandedPaths:E(n._data,n._descriptions,\"rows\",n._lastLoadOptions)}},beginLoading:function(){this._changeLoadingCount(1)},endLoading:function(){this._changeLoadingCount(-1)},_changeLoadingCount:function(e){var t=this.isLoading();this._loadingCount+=e;var n=this.isLoading();t^n&&this._eventsStrategy.fireEvent(\"loadingChanged\",[n])},_hasPagingValues:function(t,n,i){var o=\"\".concat(n,\"Take\"),a=\"\".concat(n,\"Skip\"),r=this._data.values,s=this._data[\"\".concat(n,\"s\")],l=\"row\"===n?\"column\":\"row\",u=[];if(t.path&&t.area===n){var d=e(s,t.path);if(!(s=d&&d.children))return!1}if(t.oppositePath&&t.area===l){var c=e(s,t.oppositePath);if(!(s=c&&c.children))return!1}for(var h=t[a];h<t[a]+t[o];h+=1)s[h]&&u.push(s[h].index);return u.every((function(e){if(void 0!==e)return\"row\"===n?(r[e]||[])[i]:(r[i]||[])[e]}))},_processPagingCacheByArea:function(t,n,i){var o,a=\"\".concat(i,\"Take\"),r=\"\".concat(i,\"Skip\"),s=this._data[\"\".concat(i,\"s\")],l=\"row\"===i?\"column\":\"row\";if(t[a]){if(t.path&&t.area===i){var u=e(s,t.path);s=u&&u.children||[]}if(t.oppositePath&&t.area===l){var d=e(s,t.oppositePath);s=d&&d.children||[]}do{if((o=s[t[r]])&&void 0!==o.index){if(!this._hasPagingValues(t,l,o.index))break;t[r]++,t[a]--}}while(o&&void 0!==o.index&&t[a]);if(t[a]){var c=Math.floor(t[r]/n)*n,h=Math.ceil((t[r]+t[a])/n)*n;t[r]=c,t[a]=h-c}}},_processPagingCache:function(e){var t=this._pageSize;if(!(t<0))for(var n=0;n<e.length;n+=1)this._processPagingCacheByArea(e[n],t,\"row\"),this._processPagingCacheByArea(e[n],t,\"column\")},_loadCore:function(e,t){var n=this,i=this._store,o=this._descriptions,a=e.reload||this.paginate()&&n._isFieldsModified,r=this.paginate(),u=x[e.area];if(e=e||{},i){(0,l.extend)(e,o),e.columnExpandedPaths=e.columnExpandedPaths||E(this._data,e,\"columns\",n._lastLoadOptions),e.rowExpandedPaths=e.rowExpandedPaths||E(this._data,e,\"rows\",n._lastLoadOptions),r&&(e.pageSize=this._pageSize),u&&(e.headerName=u),n.beginLoading(),t.always((function(){n.endLoading()}));var d=[e];if(n._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\",[d,a]),a||n._processPagingCache(d),!(d=d.filter((function(e){return!(e.rows.length&&0===e.rowTake||e.columns.length&&0===e.columnTake)}))).length)return void n._update(t);var c=d.map((function(e){return i.load(e)}));s.when.apply(null,c).done((function(){for(var e=arguments,i=0;i<e.length;i+=1){var o=d[i],s=e[i],u=i===e.length-1;o.path?n.applyPartialDataSource(o.area,o.path,s,!!u&&t,o.oppositePath):r&&!a&&I(n._data)?n.mergePartialDataSource(s,!!u&&t):((0,l.extend)(n._data,s),n._lastLoadOptions=o,n._update(!!u&&t))}})).fail(t.reject)}else n._update(t)},_sort:function(e,t,n){this._store&&!this._paginate&&(0,y.sort)(e,t,n)},sortLocal:function(){this._sort(this._descriptions,this._data),this._eventsStrategy.fireEvent(\"changed\")},paginate:function(){return this._paginate&&this._store&&this._store.supportPaging()},isEmpty:function(){var e=this.getAreaFields(\"data\").filter((function(e){return!1!==e.visible})),t=this.getData();return!e.length||!t.values.length},_update:function(e){var t=this,n=t._descriptions,i=t._data,o=n.values,a=function(e){return e.some((function(e){return e.summaryDisplayMode||e.calculateSummaryValue}))}(o);return(0,s.when)(N(n,i),z(i.rows),z(i.columns)).done((function(){a&&(t._sort(n,i,a),!t.isEmpty()&&_.default.applyDisplaySummaryMode(n,i)),t._sort(n,i),!t.isEmpty()&&function(e){return e.some((function(e){return!!e.runningTotal}))}(o)&&_.default.applyRunningTotal(n,i),t._data=i,!1!==e&&(0,s.when)(e).done((function(){t._isFieldsModified=!1,t._eventsStrategy.fireEvent(\"changed\"),(0,c.isDefined)(t._data.grandTotalRowIndex)&&(i.grandTotalRowIndex=t._data.grandTotalRowIndex),(0,c.isDefined)(t._data.grandTotalColumnIndex)&&(i.grandTotalColumnIndex=t._data.grandTotalColumnIndex)})),e&&e.resolve(t._data)})),e},store:function(){return this._store},collapseHeaderItem:function(t,n){var i=\"column\"===t?this._data.columns:this._data.rows,o=e(i,n),a=this.getAreaFields(t)[n.length-1];return!(!o||!o.children)&&(this._eventsStrategy.fireEvent(\"expandValueChanging\",[{area:t,path:n,expanded:!1}]),a&&(a.expanded=!1),o.collapsedChildren=o.children,delete o.children,this._update(),this.paginate()&&this.load(),!0)},collapseAll:function(e){var t=this,n=!1,i=this.field(e)||{},o=[this.getAreaFields(i.area).indexOf(i)];i.expanded=!1,i&&i.levels&&(o=[],i.levels.forEach((function(e){o.push(t.getAreaFields(i.area).indexOf(e)),e.expanded=!1}))),(0,g.foreachTree)(this._data[\"\".concat(i.area,\"s\")],(function(e){var t=e[0],i=(0,g.createPath)(e);t&&t.children&&o.includes(i.length-1)&&(t.collapsedChildren=t.children,delete t.children,n=!0)}),!0),n&&this._update()},expandAll:function(e){var t=this.field(e);t&&t.area&&(t.expanded=!0,t&&t.levels&&t.levels.forEach((function(e){e.expanded=!0})),this.load())},expandHeaderItem:function(t,n){var i=\"column\"===t?this._data.columns:this._data.rows,o=e(i,n);if(o&&!o.children){var a=!!o.collapsedChildren,r={area:t,path:n,expanded:!0,needExpandData:!a};return this._eventsStrategy.fireEvent(\"expandValueChanging\",[r]),a?(o.children=o.collapsedChildren,delete o.collapsedChildren,this._update()):this.store()&&this.load(r),a}return!1},mergePartialDataSource:function(e,t){var n,i,o=this,a=o._data;e&&e.values&&(e.rows=e.rows||[],e.columns=e.columns||[],n=u(a.rows,e.rows,a.grandTotalColumnIndex),i=u(a.columns,e.columns,a.grandTotalColumnIndex),(0,s.when)(n,i).done((function(n,i){(n.length||i.length)&&b(a,e.values,n,i),o._update(t)})))},applyPartialDataSource:function(t,i,o,a,r){var l,d,c,h,f=this,p=f._data,g=\"column\"===t?p.columns:p.rows,m=\"column\"===t?p.rows:p.columns;o&&o.values&&(o.rows=o.rows||[],o.columns=o.columns||[],l=e(g,i),d=r&&e(m,r),l&&(\"column\"===t?(h=n(g,l,o.columns,p.grandTotalColumnIndex),c=d?n(m,d,o.rows,p.grandTotalRowIndex):u(p.rows,o.rows,p.grandTotalRowIndex)):(c=n(g,l,o.rows,p.grandTotalRowIndex),h=d?n(m,d,o.columns,p.grandTotalColumnIndex):u(p.columns,o.columns,p.grandTotalColumnIndex)),(0,s.when)(c,h).done((function(e,n){(\"row\"===t&&e.length||\"column\"===t&&n.length)&&b(p,o.values,e,n),f._update(a)}))))},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this},dispose:function(){var e=this._delayedLoadTask;this._eventsStrategy.dispose(),e&&e.abort(),this._isDisposed=!0},isDisposed:function(){return!!this._isDisposed}}}());t.PivotGridDataSource=T;var E={PivotGridDataSource:T};t.default=E},91629:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.sort=r;var i=n(95479),o=n(35922),a=n(28580);function r(e,t,n){s(t,e,\"rows\",n),s(t,e,\"columns\",n)}function s(e,t,n,r){var s=t[n]||[],l=t.headerName===n?t.path.length:0,u=[];(0,a.foreachDataLevel)(e[n],(function(l,d){var c=s[d]||{},h=u[d]=u[d]||function(e,t,n,r,s){var l=s?\"asc\":e.sortOrder,u=function(e,t){var n=\"text\";\"none\"===e?n=\"index\":(t||\"displayText\"!==e)&&(n=\"value\");return n}(e.sortBy,s),d=e.sortingMethod?function(t,n){return e.sortingMethod(t,n)}:(0,a.getCompareFunction)((function(e){return e[u]})),c=!s&&function(e,t,n,r){var s=t.values,l=(0,a.findField)(n.values,e.sortBySummaryField),u=\"rows\"===r,d=u?t.columns:t.rows,c=u?t.grandTotalRowIndex:t.grandTotalColumnIndex,h=e.sortBySummaryPath||[],f=h.length?function(e,t){var n=null,o=(t||[]).join(\".\");o.length&&(0,a.foreachTree)(e,(function(e){var t=e[0],r=(0,a.createPath)(e).join(\".\"),s=(0,i.map)(e,(function(e){return e.text})).reverse().join(\".\");if(o===r||t.key&&s===o)return n=e[0].index,!1}));return n}(d,h):c;if(s&&s.length&&l>=0&&(0,o.isDefined)(f))return function(e){var t=u?e.index:f,n=u?f:e.index,i=((s[t]||[[]])[n]||[])[l];return(0,o.isDefined)(i)?i:null};return}(e,t,n,r),h=c&&(0,a.getCompareFunction)(c);return function(e,t){var n=h&&h(e,t)||d(e,t);return\"desc\"===l?-n:n}}(c,e,t,n,r);l.sort(h)}),l)}var l={sort:r};t.default=l},75705:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.PivotGridExport=t.ExportController=t.DataProvider=void 0;var i=f(n(38377)),o=n(62754),a=n(13306),r=n(95479),s=n(37518),l=n(35922),u=n(58201),d=f(n(30343)),c=f(n(18016)),h=n(1229);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e)||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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _={exportTo:function(){var e=this._createActionByOption(\"onExporting\"),t={rtlEnabled:this.option(\"rtlEnabled\"),fileName:\"PivotGrid\",cancel:!1};(0,l.isFunction)(e)&&e(t)},_getLength:function(e){var t,n=e[0].length,i=0;for(t=0;t<n;t+=1)i+=e[0][t].colspan||1;return i},_correctCellsInfoItemLengths:function(e,t){for(var n=0;n<e.length;n+=1)for(;e[n].length<t;)e[n].push({});return e},_calculateCellInfoItemLength:function(e){for(var t=0,n=0;n<e.length;n+=1)t+=(0,l.isDefined)(e[n].colspan)?e[n].colspan:1;return t},_getEmptyCell:function(){return{text:\"\",value:void 0,colspan:1,rowspan:1}},_getAllItems:function(e,t,n){var i,o,r=n,u=this._getLength(t),d=e.length;if(e.length>0&&e[0].length>0&&n.length>0&&0===n[0].length){var c=this._calculateCellInfoItemLength(e[0]);c>0&&(r=this._correctCellsInfoItemLengths(n,c))}if(0===r.length)for(var f=t.length,p=e.map((function(e){return e.filter((function(e){return!e.expanded})).length})).reduce((function(e,t){return e+t}),0),g=0;g<f;g+=1){r[g]=[];for(var m=0;m<p;m+=1)r[g][m]=this._getEmptyCell()}var _=e.concat(r);for(o=0;o<t.length;o+=1)for(i=t[o].length-1;i>=0;i-=1)(0,l.isDefined)(_[o+d])||(_[o+d]=[]),_[o+d].splice(0,0,(0,a.extend)({},t[o][i]));return _[0].splice(0,0,(0,a.extend)({},this._getEmptyCell(),{alignment:(0,s.getDefaultAlignment)(this._options.rtlEnabled),colspan:u,rowspan:d})),(0,h.prepareItems)(_,this._getEmptyCell())},getDataProvider:function(){return new v(this)}};t.ExportController=_;var v=i.default.inherit({ctor:function(e){this._exportController=e},ready:function(){this._initOptions();var e=this._options;return(0,o.when)(e.items).done((function(t){var n=t[t[0][0].rowspan-1];(0,r.each)(n,(function(e,t){t.width=100})),e.columns=n,e.items=t}))},_initOptions:function(){var e=this._exportController,t=e._dataController,n=new o.Deferred;t.beginLoading(),setTimeout((function(){var i=(0,a.extend)(!0,[],t.getColumnsInfo(!0)),o=(0,a.extend)(!0,[],t.getRowsInfo(!0)),r=t.getCellsInfo(!0);n.resolve(e._getAllItems(i,o,r)),t.endLoading()})),this._options={items:n,rtlEnabled:e.option(\"rtlEnabled\"),dataFields:e.getDataSource().getAreaFields(\"data\"),rowsArea:e._rowsArea,columnsArea:e._columnsArea}},getColumns:function(){return this._options.columns},getColumnsWidths:function(){var e=this._options.columnsArea,t=this._options.rowsArea,n=this._options.columns;return!(0,u.hasWindow)()||\"virtual\"===e.option(\"scrolling.mode\")||e.element().is(\":hidden\")?n.map((function(){return 100})):t.getColumnsWidth().concat(e.getColumnsWidth())},getRowsCount:function(){return this._options.items.length},getGroupLevel:function(){return 0},getCellMerging:function(e,t){var n=this._options.items,i=n[e]&&n[e][t];return i?{colspan:i.colspan-1,rowspan:i.rowspan-1}:{colspan:0,rowspan:0}},getFrozenArea:function(){return{x:this.getRowAreaColCount(),y:this.getColumnAreaRowCount()}},getCellType:function(e,t){var n=this.getStyles()[this.getStyleId(e,t)];return n&&n.dataType||\"string\"},getCellData:function(e,t,n){var i={},o=this._options.items,a=o[e]&&o[e][t]||{};if(n){i.cellSourceData=a;var r=this._tryGetAreaName(a,e,t);r&&(i.cellSourceData.area=r),i.cellSourceData.rowIndex=e,i.cellSourceData.columnIndex=t}return\"string\"===this.getCellType(e,t)?i.value=a.text:i.value=a.value,i.cellSourceData&&i.cellSourceData.isWhiteSpace&&(i.value=\"\"),i},_tryGetAreaName:function(e,t,n){return this.isColumnAreaCell(t,n)?\"column\":this.isRowAreaCell(t,n)?\"row\":(0,l.isDefined)(e.dataIndex)?\"data\":void 0},isRowAreaCell:function(e,t){return e>=this.getColumnAreaRowCount()&&t<this.getRowAreaColCount()},isColumnAreaCell:function(e,t){return t>=this.getRowAreaColCount()&&e<this.getColumnAreaRowCount()},getColumnAreaRowCount:function(){return this._options.items[0][0].rowspan},getRowAreaColCount:function(){return this._options.items[0][0].colspan},getHeaderStyles:function(){return[{alignment:\"center\",dataType:\"string\"},{alignment:(0,s.getDefaultAlignment)(this._options.rtlEnabled),dataType:\"string\"}]},getDataFieldStyles:function(){var e=this,t=this._options.dataFields,n={alignment:this._options.rtlEnabled?\"left\":\"right\"},i=[];return t.length?(t.forEach((function(t){i.push(m(m({},n),{format:t.format,dataType:e.getCellDataType(t)}))})),i):[n]},getStyles:function(){return this._styles||(this._styles=[].concat(p(this.getHeaderStyles()),p(this.getDataFieldStyles()))),this._styles},getCellDataType:function(e){if(e&&e.customizeText)return\"string\";if(e.dataType)return e.dataType;if(e.format){if(1===c.default.parse(d.default.format(1,e.format)))return\"number\";if(d.default.format(new Date,e.format))return\"date\"}return\"string\"},getStyleId:function(e,t){var n=this._options.items,i=n[e]&&n[e][t]||{};return 0===t&&0===e||this.isColumnAreaCell(e,t)?0:this.isRowAreaCell(e,t)?1:this.getHeaderStyles().length+(i.dataIndex||0)}});t.DataProvider=v;var y={DEFAUL_COLUMN_WIDTH:100};t.PivotGridExport=y;var b={ExportController:_,PivotGridExport:y,DataProvider:v};t.default=b},98591:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.SORT_ORDER=t.SORTABLE_CONST=t.ICONS=t.CLASSES=t.ATTRIBUTES=void 0;t.ATTRIBUTES={treeViewItem:\"tree-view-item\",allowScrolling:\"allow-scrolling\",itemGroup:\"item-group\"};t.CLASSES={area:{self:\"dx-area\",box:\"dx-area-box\",caption:\"dx-area-caption\",icon:\"dx-area-icon\",field:\"dx-area-field\",fieldContainer:\"dx-area-field-container\",fieldContent:\"dx-area-field-content\",fieldList:\"dx-area-fields\",fieldListHeader:\"dx-area-fields-header\"},pivotGrid:{dragAction:\"dx-pivotgrid-drag-action\",fieldsContainer:\"dx-pivotgrid-fields-container\"},fieldChooser:{self:\"dx-pivotgridfieldchooser\",container:\"dx-pivotgridfieldchooser-container\",contextMenu:\"dx-pivotgridfieldchooser-context-menu\"},layout:{zero:\"dx-layout-0\",second:\"dx-layout-2\"},treeView:{self:\"dx-treeview\",borderVisible:\"dx-treeview-border-visible\"},scrollable:{self:\"dx-scrollable\"},allFields:\"dx-all-fields\",col:\"dx-col\",headerFilter:\"dx-header-filter\",row:\"dx-row\",widget:\"dx-widget\"};t.ICONS={measure:\"measure\",hierarchy:\"hierarchy\",dimension:\"dimension\"};t.SORTABLE_CONST={targets:{drag:\"drag\"}};t.SORT_ORDER={descending:\"desc\",ascending:\"asc\"}},72182:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.dragAndDropItemRender=function(e,t){var n=function(e,t){var n=e.hasClass(r.CLASSES.area.box),i=e.attr(r.ATTRIBUTES.treeViewItem);if(n)return function(e,t){var n=e.clone();t===r.SORTABLE_CONST.targets.drag&&e.each((function(e,t){var i=parseFloat((0,a.getOuterWidth)(t));return n.eq(e).css(\"width\",i),!0}));return n}(e,t);if(i)return function(e){return e.clone().addClass(r.CLASSES.area.box).css(\"width\",parseFloat((0,a.getOuterWidth)(e)))}(e);return function(e){return(0,o.default)(\"<div>\").addClass(r.CLASSES.area.field).addClass(r.CLASSES.area.box).text(e.text())}(e)}(e,t);if(t===r.SORTABLE_CONST.targets.drag)return function(e){var t=(0,o.default)(\"<div>\");return e.each((function(e,n){var i=(0,o.default)(\"<div>\").addClass(r.CLASSES.pivotGrid.fieldsContainer).addClass(r.CLASSES.widget).append((0,o.default)(n));return t.append(i),!0})),t.children()}(n);return n};var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(58664),r=n(98591)},63857:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.FieldChooser=void 0,n(16710);var i=m(n(99393)),o=m(n(68374)),a=n(13306),r=n(44899),s=n(95479),l=n(35922),u=n(58201),d=m(n(28109)),c=m(n(10042)),h=m(n(30254)),f=n(28580),p=n(98591),g=n(16491);function m(e){return e&&e.__esModule?e:{default:e}}var _=\"<div>\",v=(0,u.hasWindow)();function y(e,t){if(e.items)for(var n=0;n<e.items.length;n+=1){var i=y(e.items[n],t);if(i)return i}if(t(e))return e}var b=[function(e,t){return-!!e.isMeasure+ +!!t.isMeasure},function(e,t){return-!(!e.items||!e.items.length)+ +!(!t.items||!t.items.length)},function(e,t){return+!!(!1===e.isMeasure&&e.field&&e.field.levels&&e.field.levels.length)+-!!(!1===t.isMeasure&&t.field&&t.field.levels&&t.field.levels.length)},(0,f.getCompareFunction)((function(e){return e.text}))];function x(e,t){for(var n=0,i=0;!n&&b[i];)n=b[i++](e,t);return n}function w(e){return e.find(\".\".concat(p.CLASSES.scrollable.self)).dxScrollable(\"instance\")}var C=g.FieldChooserBase.inherit({_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{height:400,layout:0,dataSource:null,encodeHtml:!0,onContextMenuPreparing:null,allowSearch:!1,searchTimeout:500,texts:{columnFields:d.default.format(\"dxPivotGrid-columnFields\"),rowFields:d.default.format(\"dxPivotGrid-rowFields\"),dataFields:d.default.format(\"dxPivotGrid-dataFields\"),filterFields:d.default.format(\"dxPivotGrid-filterFields\"),allFields:d.default.format(\"dxPivotGrid-allFields\")}})},_refreshDataSource:function(){var e=this;e._expandedPaths=[],e._changedHandler=e._changedHandler||function(){(0,s.each)(e._dataChangedHandlers,(function(e,t){t()})),e._fireContentReadyAction(),e._skipStateChange=!0,e.option(\"state\",e._dataSource.state()),e._skipStateChange=!1},e._disposeDataSource(),e.callBase(),e._dataSource&&e._dataSource.on(\"changed\",e._changedHandler)},_disposeDataSource:function(){var e=this._dataSource;e&&(e.off(\"changed\",this._changedHandler),this._dataSource=void 0)},_dispose:function(){this._disposeDataSource(),this.callBase.apply(this,arguments)},_init:function(){this.callBase(),this._refreshDataSource(),this._dataChangedHandlers=[],this._initActions()},_initActions:function(){this._actions={onContextMenuPreparing:this._createActionByOption(\"onContextMenuPreparing\")}},_trigger:function(e,t){this._actions[e](t)},_setOptionsByReference:function(){this.callBase(),(0,a.extend)(this._optionsByReference,{dataSource:!0})},_optionChanged:function(e){switch(e.name){case\"dataSource\":this._refreshDataSource(),this._invalidate();break;case\"layout\":case\"texts\":case\"allowSearch\":case\"searchTimeout\":case\"encodeHtml\":this._invalidate();break;case\"onContextMenuPreparing\":this._actions[e.name]=this._createActionByOption(e.name);break;default:this.callBase(e)}},_clean:function(e){!e&&this._dataSource&&this.option(\"state\",this._dataSource.state()),this.$element().children(\".\".concat(p.CLASSES.fieldChooser.container)).remove()},_renderLayout0:function(e){e.addClass(p.CLASSES.layout.zero);var t=(0,o.default)(_).addClass(p.CLASSES.row).appendTo(e),n=(0,o.default)(_).addClass(p.CLASSES.row).appendTo(e),i=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(t),a=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(t),r=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(n),s=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(n);this._renderArea(i,\"all\"),this._renderArea(a,\"row\"),this._renderArea(a,\"column\"),this._renderArea(r,\"filter\"),this._renderArea(s,\"data\")},_renderLayout1:function(e){var t=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(e),n=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(e);this._renderArea(t,\"all\"),this._renderArea(n,\"filter\"),this._renderArea(n,\"row\"),this._renderArea(n,\"column\"),this._renderArea(n,\"data\")},_renderLayout2:function(e){e.addClass(p.CLASSES.layout.second);var t=(0,o.default)(_).addClass(p.CLASSES.row).appendTo(e);this._renderArea(t,\"all\");var n=(0,o.default)(_).addClass(p.CLASSES.row).appendTo(e),i=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(n),a=(0,o.default)(_).addClass(p.CLASSES.col).appendTo(n);this._renderArea(i,\"filter\"),this._renderArea(i,\"row\"),this._renderArea(a,\"column\"),this._renderArea(a,\"data\")},_initMarkup:function(){var e=this.$element(),t=(0,o.default)(_).addClass(p.CLASSES.fieldChooser.container).appendTo(e),n=this.option(\"layout\");this.callBase(),e.addClass(p.CLASSES.fieldChooser.self).addClass(p.CLASSES.pivotGrid.fieldsContainer),this._dataChangedHandlers=[];var i=this._dataSource,a=\"instantly\"!==this.option(\"applyChangesMode\")&&i&&i.state();a&&this.option(\"state\")&&i.state(this.option(\"state\"),!0),0===n?this._renderLayout0(t):1===n?this._renderLayout1(t):this._renderLayout2(t),a&&i.state(a,!0)},_renderContentImpl:function(){this.callBase(),this.renderSortable(),this._renderContextMenu(),this.updateDimensions()},_fireContentReadyAction:function(){this._dataSource&&this._dataSource.isLoading()||this.callBase()},_getContextMenuArgs:function(e){var t,n,i=(0,o.default)(e.target).closest(\".\".concat(p.CLASSES.area.field)),a=(0,o.default)(e.target).closest(\".\".concat(p.CLASSES.area.fieldList));if(i.length){var r=i.data(\"field\");r&&(t=this.getDataSource().field(r.index)||r)}return a.length&&(n=a.attr(\"group\")),{event:e,field:t,area:n,items:[]}},_renderContextMenu:function(){var e=this,t=e.$element();e._contextMenu&&e._contextMenu.$element().remove(),e._contextMenu=e._createComponent((0,o.default)(_).appendTo(t),c.default,{onPositioning:function(t){var n=t.event;if(n){var i=e._getContextMenuArgs(n);e._trigger(\"onContextMenuPreparing\",i),i.items&&i.items.length?t.component.option(\"items\",i.items):t.cancel=!0}},target:t,onItemClick:function(e){e.itemData.onItemClick&&e.itemData.onItemClick(e)},cssClass:p.CLASSES.fieldChooser.contextMenu})},_createTreeItems:function(e,t,n){var i,o=this,a=[],r=[],u=t[0],d={};return u?((0,s.each)(e,(function(e,t){var n=t[u]||\"\";d[n]=d[n]||[],d[n].push(t),void 0===i&&(i=!0),i=i&&!0===t.isMeasure})),(0,s.each)(d,(function(e,i){var s=n?\"\".concat(n,\".\").concat(e):e,l=o._createTreeItems(i,t.slice(1),s);e?r.push({key:e,text:e,path:s,isMeasure:l.isMeasure,expanded:o._expandedPaths.includes(s),items:l}):a=l})),(a=r.concat(a)).isMeasure=i):(0,s.each)(e,(function(e,t){var n;!0===t.isMeasure&&(n=p.ICONS.measure),!1===t.isMeasure&&(n=t.groupName?p.ICONS.hierarchy:p.ICONS.dimension),a.push({index:t.index,field:t,key:t.dataField,selected:(0,l.isDefined)(t.area),text:t.caption||t.dataField,icon:n,isMeasure:t.isMeasure,isDefault:t.isDefault})})),a},_createFieldsDataSource:function(e){var t=e&&e.fields()||[];t=t.filter((function(e){return!1!==e.visible&&!(0,l.isDefined)(e.groupIndex)}));var n=this._createTreeItems(t,[\"dimension\",\"displayFolder\"]);return(0,f.foreachDataLevel)(n,(function(e){e.sort(x)}),0,\"items\"),n},_renderFieldsTreeView:function(e){var t=this,n=t._dataSource,i=t._createComponent(e,h.default,{dataSource:t._createFieldsDataSource(n),showCheckBoxesMode:\"normal\",expandNodesRecursive:!1,searchEnabled:t.option(\"allowSearch\"),searchTimeout:t.option(\"searchTimeout\"),useNativeScrolling:!1,itemTemplate:function(e,t,n){var i,a=(0,o.default)(\"<div>\").toggleClass(p.CLASSES.area.field,!e.items).attr(p.ATTRIBUTES.treeViewItem,!0).data(\"field\",e.field).appendTo(n);e.icon&&(null===(i=(0,r.getImageContainer)(e.icon))||void 0===i||i.appendTo(a)),(0,o.default)(\"<span>\").text(e.text).appendTo(a)},onItemCollapsed:function(e){var n=t._expandedPaths.indexOf(e.itemData.path);n>=0&&t._expandedPaths.splice(n,1)},onItemExpanded:function(e){t._expandedPaths.indexOf(e.itemData.path)<0&&t._expandedPaths.push(e.itemData.path)},onItemSelectionChanged:function(e){var o,a,r,s=e.itemData,u=!0;if(s.items){if(s.selected)return void i.unselectItem(s);if(t._processDemandState((function(){a=function e(t,n){var i=[];if(t.items)for(var o=0;o<t.items.length;o+=1)i.push.apply(i,e(t.items[o],n));else(0,l.isDefined)(t.index)&&i.push(n[t.index]);return i}(s,n.fields());for(var e=0;e<a.length;e+=1)if(a[e].area){u=!1;break}})),u){var d=y(s,(function(e){return e.isDefault}))||y(s,(function(e){return(0,l.isDefined)(e.index)}));return void(d&&i.selectItem(d))}}else o=n.fields()[s.index],s.selected&&(r=o.isMeasure?\"data\":\"column\"),o&&(a=[o]);t._applyChanges(a,{area:r,areaIndex:void 0})}});t._dataChangedHandlers.push((function(){var o=w(e),a=o?o.scrollTop():0;i.option({dataSource:t._createFieldsDataSource(n)}),(o=w(e))&&(o.scrollTo({y:a}),o.update())}))},_renderAreaFields:function(e,t){var n=this,i=n._dataSource,o=i?(0,a.extend)(!0,[],i.getAreaFields(t,!0)):[];e.empty(),(0,s.each)(o,(function(t,i){!1!==i.visible&&n.renderField(i,!0).appendTo(e)}))},_renderArea:function(e,t){var n,i,a=this,r=(0,o.default)(_).addClass(p.CLASSES.area.self).appendTo(e),s=(0,o.default)(_).addClass(p.CLASSES.area.fieldListHeader).appendTo(r),l=a.option(\"texts.\".concat(t,\"Fields\"));(0,o.default)(\"<span>\").addClass(p.CLASSES.area.icon).addClass(\"dx-area-icon-\".concat(t)).appendTo(s),(0,o.default)(\"<span>\").html(\"&nbsp;\").appendTo(s),(0,o.default)(\"<span>\").addClass(p.CLASSES.area.caption).text(l).appendTo(s);var u=(0,o.default)(_).addClass(p.CLASSES.area.fieldList).addClass(p.CLASSES.pivotGrid.dragAction).appendTo(r);\"all\"!==t?(u.attr(\"group\",t).attr(p.ATTRIBUTES.allowScrolling,!0),n=(0,o.default)(_).addClass(p.CLASSES.area.fieldContainer).appendTo(u),i=function(){a._renderAreaFields(n,t)},a._dataChangedHandlers.push(i),i(),u.dxScrollable({useNative:!1})):(r.addClass(p.CLASSES.allFields),u.addClass(p.CLASSES.treeView.borderVisible),a._renderFieldsTreeView(u))},_getSortableOptions:function(){return{}},_adjustSortableOnChangedArgs:function(){},resetTreeView:function(){var e=this.$element().find(\".\".concat(p.CLASSES.treeView.self)).dxTreeView(\"instance\");e&&(e.option(\"searchValue\",\"\"),e.collapseAll())},applyChanges:function(){var e=this.option(\"state\");(0,l.isDefined)(e)&&this._dataSource.state(e)},cancelChanges:function(){var e=this._dataSource;return!e.isLoading()&&(this.option(\"state\",e.state()),!0)},getDataSource:function(){return this._dataSource},updateDimensions:function(){this.$element().find(\".\".concat(p.CLASSES.area.self,\" .\").concat(p.CLASSES.scrollable.self)).dxScrollable(\"update\")},_visibilityChanged:function(e){e&&v&&this.updateDimensions()}});t.FieldChooser=C,(0,i.default)(\"dxPivotGridFieldChooser\",C);var S={FieldChooser:C};t.default=S},16491:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.FieldChooserBase=void 0;var i=S(n(99393)),o=S(n(68374)),a=n(20576),r=n(62754),s=n(13306),l=n(95479),u=n(35922),d=S(n(26562)),c=n(95429),h=S(n(55994)),f=S(n(28109)),p=S(n(14390)),g=S(n(51255)),m=n(37565),_=S(n(60082)),v=S(n(62930)),y=n(28580),b=n(71442),x=n(98591),w=n(72182),C=n(95670);function S(e){return e&&e.__esModule?e:{default:e}}var k=m.HeaderFilterView.inherit({_getSearchExpr:function(e,t){return e.useDefaultSearchExpr=!0,this.callBase(e,t)}});function D(e,t){var n=t;return(0,u.isDefined)(t.groupIndex)&&(n=e.getAreaFields(t.area,!0)[t.areaIndex]),n}function I(e){return e=e||{},JSON.stringify([e.fields,e.columnExpandedPaths,e.rowExpandedPaths])}var T=p.default.inherit(g.default).inherit(v.default).inherit(m.headerFilterMixin).inherit({_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{allowFieldDragging:!0,applyChangesMode:\"instantly\",state:null,headerFilter:{width:252,height:325,allowSelectAll:!0,showRelevantValues:!1,search:{enabled:!1,timeout:500,editorOptions:{},mode:\"contains\"},texts:{emptyValue:f.default.format(\"dxDataGrid-headerFilterEmptyValue\"),ok:f.default.format(\"dxDataGrid-headerFilterOK\"),cancel:f.default.format(\"dxDataGrid-headerFilterCancel\")}},remoteSort:!1})},_init:function(){this.callBase(),this._headerFilterView=new k(this),this._refreshDataSource(),this.subscribeToEvents(),_.default.logHeaderFilterDeprecatedWarningIfNeed(this)},_refreshDataSource:function(){var e=this.option(\"dataSource\");e&&e.fields&&e.load&&(this._dataSource=e)},_optionChanged:function(e){switch(e.name){case\"dataSource\":this._refreshDataSource();break;case\"applyChangesMode\":case\"remoteSort\":break;case\"state\":if(this._skipStateChange||!this._dataSource)break;\"instantly\"===this.option(\"applyChangesMode\")&&I(this._dataSource.state())!==I(e.value)?this._dataSource.state(e.value):(this._clean(!0),this._renderComponent());break;case\"headerFilter\":case\"allowFieldDragging\":this._invalidate();break;default:this.callBase(e)}},renderField:function(e,t){var n=(0,o.default)(\"<div>\").addClass(x.CLASSES.area.fieldContent).text(e.caption||e.dataField),i=(0,o.default)(\"<div>\").addClass(x.CLASSES.area.field).addClass(x.CLASSES.area.box).data(\"field\",e).append(n),a=D(this._dataSource,e);return\"data\"!==e.area&&(e.allowSorting&&this._applyColumnState({name:\"sort\",rootElement:i,column:{alignment:this.option(\"rtlEnabled\")?\"right\":\"left\",sortOrder:\"desc\"===e.sortOrder?\"desc\":\"asc\",allowSorting:e.allowSorting},showColumnLines:t}),this._applyColumnState({name:\"headerFilter\",rootElement:i,column:{alignment:this.option(\"rtlEnabled\")?\"right\":\"left\",filterValues:a.filterValues,allowFiltering:a.allowFiltering&&!e.groupIndex,allowSorting:e.allowSorting},showColumnLines:t})),e.groupName&&i.attr(x.ATTRIBUTES.itemGroup,e.groupName),i},_clean:function(){},_render:function(){this.callBase(),this._headerFilterView.render(this.$element())},renderSortable:function(){var e=this;e._createComponent(e.$element(),b.Sortable,(0,s.extend)({allowDragging:e.option(\"allowFieldDragging\"),itemSelector:\".\".concat(x.CLASSES.area.field),itemContainerSelector:\".\".concat(x.CLASSES.area.fieldContainer),groupSelector:\".\".concat(x.CLASSES.area.fieldList),groupFilter:function(){var t=e._dataSource,n=(0,o.default)(this).closest(\".dx-sortable-old\"),i=n.data(\"dxPivotGrid\"),a=n.data(\"dxPivotGridFieldChooser\");return i?i.getDataSource()===t:!!a&&a.option(\"dataSource\")===t},itemRender:w.dragAndDropItemRender,onDragging:function(e){var t=e.sourceElement.data(\"field\"),n=e.targetGroup;e.cancel=!1,!0===t.isMeasure?\"column\"!==n&&\"row\"!==n&&\"filter\"!==n||(e.cancel=!0):!1===t.isMeasure&&\"data\"===n&&(e.cancel=!0)},useIndicator:!0,onChanged:function(t){var n=t.sourceElement.data(\"field\");if(t.removeSourceElement=!!t.sourceGroup,e._adjustSortableOnChangedArgs(t),n){var i,o=t.targetIndex,a=0;e._processDemandState((function(e){var t=e.getAreaFields(n.area,!0);i=D(e,n);var r=t.filter((function(e){return!1!==e.visible}))[o-1];r&&(a=t.filter((function(e){return!1===e.visible&&e.areaIndex<=r.areaIndex})).length)})),e._applyChanges([i],{area:t.targetGroup,areaIndex:o+a})}}},e._getSortableOptions()))},_processDemandState:function(e){var t=\"instantly\"===this.option(\"applyChangesMode\"),n=this._dataSource;if(t)e(n,t);else{var i=n.state(),o=this.option(\"state\");o&&n.state(o,!0),e(n,t),n.state(i,!0)}},_applyChanges:function(e,t){var n=this;n._processDemandState((function(i,o){e.forEach((function(e){var n=e.index;i.field(n,t)})),o?i.load():n._changedHandler()}))},_applyLocalSortChanges:function(e,t){this._processDemandState((function(n){n.field(e,{sortOrder:t}),n.sortLocal()}))},_adjustSortableOnChangedArgs:function(e){e.removeSourceElement=!1,e.removeTargetElement=!0,e.removeSourceClass=!1},_getSortableOptions:function(){return{direction:\"auto\"}},subscribeToEvents:function(e){var t=this,n=function(e){var n=(0,o.default)(e.currentTarget).data(\"field\"),i=(0,s.extend)(!0,{},D(t._dataSource,n)),a=(0,o.default)(e.target).hasClass(x.CLASSES.headerFilter),u=t._dataSource,c=i.groupName?\"tree\":\"list\",h=u.paginate()&&\"list\"===c;if(a)t._headerFilterView.showHeaderFilterMenu((0,o.default)(e.currentTarget),(0,s.extend)(i,{type:c,encodeHtml:t.option(\"encodeHtml\"),dataSource:{useDefaultSearch:!h,load:function(e){var n=e.userData;if(n.store)return n.store.load(e);var o=new r.Deferred;return u.getFieldValues(i.index,t.option(\"headerFilter.showRelevantValues\"),h?e:void 0).done((function(i){var a=t.option(\"headerFilter.texts.emptyValue\");i.forEach((function(e){e.text||(e.text=a)})),h?o.resolve(i):(n.store=new d.default(i),n.store.load(e).done(o.resolve).fail(o.reject))})).fail(o.reject),o},postProcess:function(e){return function(e,t){var n=[],i=!!t.groupName,o=\"exclude\"===t.filterType;t.filterValues&&(0,l.each)(t.filterValues,(function(e,t){n.push(Array.isArray(t)?t.join(\"/\"):t&&t.valueOf())})),(0,y.foreachTree)(e,(function(e){var t=e[0],a=(0,y.createPath)(e),r=i?(0,l.map)(e,(function(e){return e.text})).reverse().join(\"/\"):t.text;t.value=i?a.slice(0):t.key||t.value;var s=i?a.join(\"/\"):t.value&&t.value.valueOf();t.children&&(t.items=t.children,t.children=null),(0,m.updateHeaderFilterItemSelectionState)(t,t.key&&n.includes(r)||n.includes(s),o)}))}(e,i),e}},apply:function(){t._applyChanges([i],{filterValues:this.filterValues,filterType:this.filterType})}}));else if(n.allowSorting&&\"data\"!==n.area){var f=t.option(\"remoteSort\"),p=(0,C.reverseSortOrder)(n.sortOrder);f?t._applyChanges([n],{sortOrder:p}):t._applyLocalSortChanges(n.index,p)}};e?h.default.on(e,c.name,\".\".concat(x.CLASSES.area.field,\".\").concat(x.CLASSES.area.box),n):h.default.on(t.$element(),c.name,\".\".concat(x.CLASSES.area.field,\".\").concat(x.CLASSES.area.box),n)},_initTemplates:a.noop,addWidgetPrefix:function(e){return\"dx-pivotgrid-\".concat(e)}});t.FieldChooserBase=T,(0,i.default)(\"dxPivotGridFieldChooserBase\",T);var E={FieldChooserBase:T};t.default=E},95670:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.reverseSortOrder=void 0;var i=n(98591);t.reverseSortOrder=function(e){return e===i.SORT_ORDER.descending?i.SORT_ORDER.ascending:i.SORT_ORDER.descending}},70513:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.FieldsArea=void 0,n(16491);var i=c(n(68374)),o=n(20576),a=n(95479),r=n(80968),s=c(n(63008)),l=c(n(51495)),u=n(74305),d=n(28580);function c(e){return e&&e.__esModule?e:{default:e}}var h=\"<div>\";var f=u.AreaItem.inherit({ctor:function(e,t){this.callBase(e),this._area=t},_getAreaName:function(){return\"fields\"},_createGroupElement:function(){return(0,i.default)(h).addClass(\"dx-pivotgrid-fields-area\").addClass(\"dx-area-fields\").addClass(\"dx-pivotgrid-drag-action\").attr(\"group\",this._area)},isVisible:function(){return!!this.option(\"fieldPanel.visible\")&&this.option(\"fieldPanel.show\".concat((0,d.capitalizeFirstLetter)(this._area),\"Fields\"))},_renderButton:function(e){var t=this,n=(0,i.default)(\"<td>\").appendTo((0,i.default)(\"<tr>\").appendTo(e));t.component._createComponent((0,i.default)(h).appendTo(n),s.default,{text:\"Fields\",icon:\"menu\",width:\"auto\",onClick:function(){var e=t.tableElement().find(\".dx-fields-area-popup\").dxPopup(\"instance\");e.option(\"visible\")||e.show()}}).$element().addClass(\"dx-pivotgrid-fields-area-hamburger\")},_getPopupOptions:function(e,t){return{contentTemplate:function(){return(0,i.default)(\"<table>\").addClass(\"dx-area-field-container\").append((0,i.default)(\"<thead>\").addClass(\"dx-pivotgrid-fields-area-head\").append(e))},height:\"auto\",width:\"auto\",position:{at:\"left\",my:\"left\",of:t},dragEnabled:!1,animation:{show:{type:\"pop\",duration:200}},shading:!1,showTitle:!1,hideOnOutsideClick:!0,container:t.parent()}},_renderPopup:function(e,t){var n=e.find(\".dx-button\"),o=this._getPopupOptions(t,n),a=this.component.$element().dxPivotGridFieldChooserBase(\"instance\");this._rowPopup&&this._rowPopup.$element().remove(),this._rowPopup=this.component._createComponent((0,i.default)(h).appendTo(e),l.default,o),this._rowPopup.$element().addClass(\"dx-fields-area-popup\"),this._rowPopup.content().addClass(\"dx-pivotgrid-fields-container\"),this._rowPopup.content().parent().attr(\"group\",\"row\"),a.subscribeToEvents(this._rowPopup.content()),a.renderSortable(this._rowPopup.content())},_shouldCreateButton:function(){return!1},_renderTableContent:function(e,t){var n=this,o=this.groupElement(),r=this.isVisible(),s=n.component.$element().dxPivotGridFieldChooserBase(\"instance\"),l=(0,i.default)(\"<thead>\").addClass(\"dx-pivotgrid-fields-area-head\").appendTo(e),u=n._area,d=(0,i.default)(\"<tr>\");o.toggleClass(\"dx-hidden\",!r),e.addClass(\"dx-area-field-container\"),r&&((0,a.each)(t,(function(e,o){if(o.area===u&&!1!==o.visible){var a=(0,i.default)(\"<td>\").append(s.renderField(o,\"row\"===o.area)),r=a.find(\".dx-column-indicators\");r.length&&n._shouldCreateButton()&&r.insertAfter(r.next()),a.appendTo(d),function(e,t,n,o){n&&n.groupName&&n.groupName===e.groupName&&(0,i.default)(h).addClass(\"dx-group-connector\").addClass(\"dx-group-connector-prev\").appendTo(o),t&&t.groupName&&t.groupName===e.groupName&&(0,i.default)(h).addClass(\"dx-group-connector\").addClass(\"dx-group-connector-next\").appendTo(o)}(o,t[e+1],t[e-1],a)}})),d.children().length||(0,i.default)(\"<td>\").append((0,i.default)(h).addClass(\"dx-empty-area-text\").text(this.option(\"fieldPanel.texts.\".concat(u,\"FieldArea\")))).appendTo(d),n._shouldCreateButton()?(n._renderButton(l),n._renderPopup(e,d)):l.append(d))},setGroupWidth:function(e){(0,r.setWidth)(this.groupElement(),e)},setGroupHeight:function(e){(0,r.setHeight)(this.groupElement(),e)},reset:function(){this.callBase(),this.groupElement().css(\"marginTop\",0)},_renderVirtualContent:o.noop});t.FieldsArea=f;var p={FieldsArea:f};t.default=p},95578:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.VerticalHeadersArea=t.HorizontalHeadersArea=void 0;var i=d(n(73349)),o=d(n(68374)),a=n(95479),r=n(58664),s=n(35922),l=d(n(41183)),u=n(74305);function d(e){return e&&e.__esModule?e:{default:e}}var c=!!l.default.IS_RENOVATED_WIDGET;function h(e,t){if(t){var n=e.data().data,i=t.parentNode.rowIndex,o=t.cellIndex;return n[i]&&n[i][o]&&n[i][o].path}}var f=u.AreaItem.inherit({ctor:function(e){this.callBase(e),this._scrollBarWidth=0},_getAreaName:function(){return\"column\"},_getAreaClassName:function(){return\"dx-pivotgrid-horizontal-headers\"},_createGroupElement:function(){return(0,o.default)(\"<div>\").addClass(this._getAreaClassName()).addClass(\"dx-pivotgrid-area\")},_applyCustomStyles:function(e){var t=e.cssArray,n=e.cell,i=e.rowsCount,o=e.classArray;e.cellIndex===e.cellsCount-1&&t.push(\"\".concat(e.rtlEnabled?\"border-left:\":\"border-right:\",\"0px\")),n.rowspan!==i-e.rowIndex&&e.rowIndex+1!==i||t.push(\"border-bottom-width:0px\"),\"T\"!==n.type&&\"GT\"!==n.type||o.push(\"dx-row-total\"),\"T\"===e.cell.type&&o.push(\"dx-total\"),\"GT\"===e.cell.type&&o.push(\"dx-grandtotal\"),(0,s.isDefined)(n.expanded)&&o.push(n.expanded?\"dx-pivotgrid-expanded\":\"dx-pivotgrid-collapsed\"),this.callBase(e)},_getMainElementMarkup:function(){var e=i.default.createElement(\"thead\");return e.setAttribute(\"class\",this._getAreaClassName()),e},_getCloseMainElementMarkup:function(){return\"</thead>\"},setVirtualContentParams:function(e){this.callBase(e),this._setTableCss({left:e.left,top:0}),this._virtualContentWidth=e.width},hasScroll:function(){var e=this._virtualContent?this._virtualContentWidth:this._tableWidth,t=this.getGroupWidth();return!(!t||!e)&&e-t>=1},renderScrollable:function(){this._groupElement.dxScrollable({useNative:!1,useSimulatedScrollbar:!1,showScrollbar:\"never\",bounceEnabled:!1,direction:\"horizontal\",rtlEnabled:!!c&&this.component.option(\"rtlEnabled\"),updateManually:!0})},updateScrollableOptions:function(e){var t=e.rtlEnabled,n=this._getScrollable();c&&n.option({rtlEnabled:t})},processScrollBarSpacing:function(e){var t=this.option(\"rtlEnabled\")?\"right\":\"left\",n=this.getGroupWidth();n&&this.setGroupWidth(n-e),this._scrollBarWidth&&this._groupElement.next().remove(),this._groupElement.toggleClass(\"dx-vertical-scroll\",e>0),(0,r.setWidth)(this._groupElement.css(\"float\",t),this.getGroupHeight()),this._scrollBarWidth=e},getScrollPath:function(e){var t,n=this.tableElement();return e-=parseInt(n[0].style.left,10)||0,(0,a.each)(n.find(\"td\"),(function(n,i){if(1===i.colSpan&&i.offsetLeft<=e&&i.offsetWidth+i.offsetLeft>e)return t=i,!1})),h(n,t)},_moveFakeTable:function(e){this._moveFakeTableHorizontally(e),this.callBase()}});t.HorizontalHeadersArea=f;var p=f.inherit({_getAreaClassName:function(){return\"dx-pivotgrid-vertical-headers\"},_applyCustomStyles:function(e){this.callBase(e),e.cellIndex===e.cellsCount-1&&e.classArray.push(\"dx-last-cell\"),e.rowIndex===e.rowsCount-1&&e.cssArray.push(\"border-bottom: 0px\"),e.cell.isWhiteSpace&&e.classArray.push(\"dx-white-space-column\")},_getAreaName:function(){return\"row\"},setVirtualContentParams:function(e){this.callBase(e),this._setTableCss({top:e.top,left:0}),this._virtualContentHeight=e.height},hasScroll:function(){var e=this._virtualContent?this._virtualContentHeight:this._tableHeight,t=this.getGroupHeight();return!(!t||!e)&&e-t>=1},renderScrollable:function(){this._groupElement.dxScrollable({useNative:!1,useSimulatedScrollbar:!1,showScrollbar:\"never\",bounceEnabled:!1,direction:\"vertical\",updateManually:!0})},processScrollBarSpacing:function(e){var t=this.getGroupHeight();if(t&&this.setGroupHeight(t-e),this._scrollBarWidth&&this._groupElement.next().remove(),e){var n=(0,o.default)(\"<div>\");(0,r.setWidth)(n,\"100%\"),(0,r.setHeight)(n,e-1),this._groupElement.after(n)}this._scrollBarWidth=e},getScrollPath:function(e){var t,n=this.tableElement();return e-=parseInt(n[0].style.top,10)||0,(0,a.each)(n.find(\"tr\"),(function(n,i){var o=i.childNodes[i.childNodes.length-1];if(o&&1===o.rowSpan&&o.offsetTop<=e&&o.offsetHeight+o.offsetTop>e)return t=o,!1})),h(n,t)},_moveFakeTable:function(e){this._moveFakeTableTop(e),this.callBase()},_getRowClassNames:function(e,t,n){0!==e&t.expanded&&!n.includes(\"dx-expand-border\")&&n.push(\"dx-expand-border\")},_getMainElementMarkup:function(){var e=i.default.createElement(\"tbody\");return e.classList.add(this._getAreaClassName()),e},_getCloseMainElementMarkup:function(){return\"</tbody>\"},updateColspans:function(e){var t=this.tableElement()[0].rows,n=0,i=[];if(!(this.getColumnsCount()-e>0))for(var o=0;o<t.length;o+=1)for(var a=0;a<t[o].cells.length;a+=1){var r=t[o].cells[a],s=r.rowSpan;i[o]&&(n-=i[o],i[o]=0);var l=e-(n+r.colSpan);a===t[o].cells.length-1&&l>0&&(r.colSpan+=l),i[o+s]=(i[o+s]||0)+r.colSpan,n+=r.colSpan}}});t.VerticalHeadersArea=p;var g={HorizontalHeadersArea:f,VerticalHeadersArea:p};t.default=g},16564:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.LocalStore=void 0;var i=m(n(38377)),o=n(20576),a=n(47617),r=m(n(69434)),s=n(62754),l=n(95479),u=n(35922),d=m(n(26562)),c=m(n(88036)),h=n(85273),f=m(n(96687)),p=n(16454),g=n(28580);function m(e){return e&&e.__esModule?e:{default:e}}var _=i.default.inherit(function(){var e={year:function(e){return e&&e.getFullYear()},quarter:function(e){return e&&Math.floor(e.getMonth()/3)+1},month:function(e){return e&&e.getMonth()+1},day:function(e){return e&&e.getDate()},dayOfWeek:function(e){return e&&e.getDay()}};function t(e){return-1!==e.indexOf(\".\")?(0,a.compileGetter)(e):function(t){return t[e]}}function n(e){return function(t){var n=e(t);return!n||n instanceof Date||(n=r.default.deserializeDate(n)),n}}function i(o){(0,l.each)(o||[],(function(o,a){var r,s,l,d,c=a.dataField,h=a.levels;if(!a.selector){if(d=c?t(c):function(e){return e},h&&i(h),\"date\"===a.dataType){s=e[a.groupInterval];var f=n(d);r=function(e){var t=f(e);return s?s(t):t}}else\"number\"===a.dataType?(l=(0,u.isNumeric)(a.groupInterval)&&a.groupInterval>0&&a.groupInterval,r=function(e){var t=d(e);return(0,u.isString)(t)&&(t=Number(t)),l?Math.floor(t/l)*l:t}):r=d;(0,g.setDefaultFieldValueFormatting)(a),(0,g.setFieldProperty)(a,\"selector\",r)}}))}function m(e,t,n,i){var o=[0],a=t.headerName===i?t.path.length:0,r=\"rows\"===i?t.rowExpandedPaths:t.columnExpandedPaths;return function e(t,n,i,o,a){var r,s,l=n.dimensions[o],u=n.expandedPathsHash;l&&(s=function(e,t,n,i){var o=i[n];return o||(o={value:e,index:i.length++},i[n]=o,t.push(o)),o}(r=l.selector(n.data),i,a=void 0!==a?a+\"/./\"+r:\"\".concat(r),n.childrenHash),t.push(s.index),(u&&u[a]||l.expanded)&&(s.children||(s.children=[]),e(t,n,s.children,o+1,a)))}(o,{data:e,childrenHash:n[\"\".concat(i,\"Hash\")],dimensions:t[i],expandedPathsHash:t.headerName!==i&&r&&r.hash},n[i],a),o}function _(e,t,n,i){var o,a,r,s,l=[],u=m(e,i,n,\"rows\"),d=m(e,i,n,\"columns\");for(a=0;a<u.length;a+=1)for(t[r=u[a]]=t[r]||[],o=0;o<d.length;o+=1)s=d[o],l.push(t[r][s]=t[r][s]||[]);return l}function v(e){if(e){var t=e.hash={};e.forEach((function(e){var n=e.map((function(e){return\"\".concat(e)})).join(\"/./\");t[n]=!0}))}}function y(e){e.rows=e.rows||[],e.columns=e.columns||[],e.filters=e.filters||[],v(e.columnExpandedPaths),v(e.rowExpandedPaths),i(e.columns),i(e.rows),i(e.values),i(e.filters)}function b(e){return\"custom\"===e.summaryType?(e.calculateCustomSummary=e.calculateCustomSummary||o.noop,{seed:function(){var t={summaryProcess:\"start\",totalValue:void 0};return e.calculateCustomSummary(t),t},step:function(t,n){return t.summaryProcess=\"calculate\",t.value=n,e.calculateCustomSummary(t),t},finalize:function(t){return t.summaryProcess=\"finalize\",delete t.value,e.calculateCustomSummary(t),t.totalValue}}):p.aggregators[e.summaryType]||p.aggregators.count}function x(e,t,n){for(var i=0;i<e.length;i+=1)for(var o=e[i],a=o.selector(n),r=b(o),s=\"function\"==typeof r.seed,l=0;l<t.length;l+=1){var d=t[l];d.length<=i&&(d[i]=s?r.seed():r.seed),void 0===d[i]?d[i]=a:(0,u.isDefined)(a)&&(d[i]=r.step(d[i],a))}}function w(e,t){var n=e&&e.valueOf(),i=t&&t.valueOf();if(Array.isArray(e)){t=t||[];for(var o=0;o<e.length;o+=1)if((n=e[o]&&e[o].valueOf())!==(i=t[o]&&t[o].valueOf()))return!1;return!0}return n===i}function C(e){var t=[];return(0,l.each)(e,(function(e,n){var i=n.filterValues||[];if(!n.groupName||!(0,u.isNumeric)(n.groupIndex)){i.length&&t.push((function(e){for(var t=n.levels?function(e,t){var n=[];return(0,l.each)(e,(function(e,i){n.push(i.selector(t))})),n}(n.levels,e):n.selector(e),o=!1,a=0;a<i.length;a+=1)if(w(i[a],t)){o=!0;break}return\"exclude\"===n.filterType?!o:o}))}})),t}function S(e){var t=C(e.rows).concat(C(e.columns)).concat(C(e.filters)),n=e[e.headerName],i=e.path;return n&&t.push((function(e){for(var t,o=0;o<i.length;o+=1)if(t=n[o].selector(e),(0,a.toComparable)(t,!0)!==(0,a.toComparable)(i[o],!0))return!1;return!0})),function(e){for(var n=0;n<t.length;n+=1)if(!t[n](e))return!1;return!0}}function k(e,t,n){var i,o,a={columns:[],rows:[],columnsHash:{length:1},rowsHash:{length:1}},r=[],u=new s.Deferred,d=0,c=S(t);return function s(){for(var h,f,p=new Date,g=d;d<e.length;d+=1){if(d>g&&d%1e4==0&&new Date-p>=300)return n(d/e.length),void setTimeout(s,0);o=e[d],c(o)&&(i=_(o,r,a,t),x(t.values,i,o))}h=t.values,f=r,(0,l.each)(h,(function(e,t){var n=b(t);n.finalize&&(0,l.each)(f,(function(t,i){(0,l.each)(i,(function(t,i){i&&void 0!==i[e]&&(i[e]=n.finalize(i[e]))}))}))})),n(1),u.resolve({rows:a.rows,columns:a.columns,values:r,grandTotalRowIndex:0,grandTotalColumnIndex:0})}(),u}function D(e,t){var n=e.filter();return e.store()instanceof c.default&&n?(n=O(n,t),(0,f.default)(e.items()).filter(n).toArray()):e.items()}function I(e,t,n){var i=new s.Deferred,o=function(n){e.store()instanceof d.default&&(n.storeLoadOptions.filter=O(n.storeLoadOptions.filter,t))};if(e.on(\"customizeStoreLoadOptions\",o),!e.isLoaded()||n){var a=n?e.load():e.reload();(0,s.when)(a).done((function(){I(e,t).done((function(){i.resolve(D(e,t))})).fail(i.reject)})).fail(i.reject)}else i.resolve(D(e,t));return i.always((function(){e.off(\"customizeStoreLoadOptions\",o)}))}function T(e,i){i.forEach((function(i){if(i.dataField&&\"date\"===i.dataType){var o=n(t(i.dataField));e[i.dataField]=function(e){return o(e)}}}))}function E(e){var t={};return Array.isArray(e)?T(t,e):e&&[\"rows\",\"columns\",\"filters\"].forEach((function(n){e[n]&&T(t,e[n])})),t}function O(e,t){if(!Array.isArray(e))return e;e=e.slice(0),(0,u.isString)(e[0])&&(e[1]instanceof Date||e[2]instanceof Date)&&(e[0]=t[e[0]]);for(var n=0;n<e.length;n+=1)e[n]=O(e[n],t);return e}return{ctor:function(e){this._progressChanged=e.onProgressChanged||o.noop,this._dataSource=new h.DataSource(e),this._dataSource.paginate(!1)},getFields:function(e){var t=this._dataSource,n=new s.Deferred;return I(t,E(e)).done((function(t){n.resolve((0,g.discoverObjectFields)(t,e))})).fail(n.reject),n},key:function(){return this._dataSource.key()},load:function(e){var t=this,n=t._dataSource,i=new s.Deferred;return y(e),I(n,E(e),e.reload).done((function(n){(0,s.when)(k(n,e,t._progressChanged)).done(i.resolve)})).fail(i.reject),i},filter:function(){var e=this._dataSource;return e.filter.apply(e,arguments)},supportPaging:function(){return!1},getDrillDownItems:function(e,t){t=t||{},y(e=e||{});for(var n,i=[],o=this._dataSource.items(),a=t.maxRowCount,r=t.customColumns,s=S(e),l=S({rows:(0,g.getFiltersByPath)(e.rows,t.rowPath),columns:(0,g.getFiltersByPath)(e.columns,t.columnPath),filters:[]}),u=0;u<o.length;u+=1){if(l(o[u])&&s(o[u])){if(r){n={};for(var d=0;d<r.length;d+=1)n[r[d]]=o[u][r[d]]}else n=o[u];i.push(n)}if(a>0&&i.length===a)break}return i}}}()).include(g.storeDrillDownMixin);t.LocalStore=_;var v={LocalStore:_};t.default=v},61550:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.PivotGrid=void 0;var i=A(n(99393)),o=n(6415),a=A(n(68374)),r=n(20576),s=n(62754),l=n(13306),u=n(95479),d=n(58664),c=n(68752),h=n(35922),f=n(58201),p=n(95429),g=A(n(55994)),m=n(39611),_=A(n(28109)),v=A(n(10042)),y=A(n(51495)),b=A(n(14390)),x=A(n(60082)),w=n(85654),C=A(n(64318)),S=A(n(9517)),k=n(75705),D=n(63857),I=n(16491),T=n(70513),E=A(n(95578)),O=n(28580);function A(e){return e&&e.__esModule?e:{default:e}}var P=(0,f.getWindow)(),M=\"<tr>\",R=\"<td>\",B=\"<div>\",L=[\"allowSorting\",\"allowSortingBySummary\",\"allowFiltering\",\"allowExpandAll\"];function V(e){var t=0;return(0,u.each)(e,(function(e,n){t+=n||0})),t}function F(e,t){for(var n=t/e.length,i=0;i<e.length;i+=1)e[i]-=n}function H(e){e.off(\"scroll\").off(\"stop\")}function N(e,t){var n=\"width\"===t?[\"borderLeftWidth\",\"borderRightWidth\"]:[\"borderTopWidth\",\"borderBottomWidth\"],i=0;return(0,u.each)(e,(function(e,t){var o=P.getComputedStyle(t.get(0));n.forEach((function(e){i+=parseFloat(o[e])||0}))})),i}var z=b.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{scrolling:{timeout:300,renderingThreshold:150,minTimeout:10,mode:\"standard\",useNative:\"auto\",removeInvisiblePages:!0,virtualRowHeight:50,virtualColumnWidth:100,loadTwoPagesOnStart:!0},encodeHtml:!0,dataSource:null,activeStateEnabled:!1,fieldChooser:{minWidth:250,minHeight:250,enabled:!0,allowSearch:!1,searchTimeout:500,layout:0,title:_.default.format(\"dxPivotGrid-fieldChooserTitle\"),width:600,height:600,applyChangesMode:\"instantly\"},onContextMenuPreparing:null,allowSorting:!1,allowSortingBySummary:!1,allowFiltering:!1,allowExpandAll:!1,wordWrapEnabled:!0,fieldPanel:{showColumnFields:!0,showFilterFields:!0,showDataFields:!0,showRowFields:!0,allowFieldDragging:!0,visible:!1,texts:{columnFieldArea:_.default.format(\"dxPivotGrid-columnFieldArea\"),rowFieldArea:_.default.format(\"dxPivotGrid-rowFieldArea\"),filterFieldArea:_.default.format(\"dxPivotGrid-filterFieldArea\"),dataFieldArea:_.default.format(\"dxPivotGrid-dataFieldArea\")}},dataFieldArea:\"column\",export:{enabled:!1,fileName:\"PivotGrid\"},showRowTotals:!0,showRowGrandTotals:!0,showColumnTotals:!0,showColumnGrandTotals:!0,hideEmptySummaryCells:!0,showTotalsPrior:\"none\",rowHeaderLayout:\"standard\",loadPanel:{enabled:!0,text:_.default.format(\"Loading\"),width:200,height:70,showIndicator:!0,indicatorSrc:\"\",showPane:!0},texts:{grandTotal:_.default.format(\"dxPivotGrid-grandTotal\"),total:_.default.getFormatter(\"dxPivotGrid-total\"),noData:_.default.format(\"dxDataGrid-noDataText\"),showFieldChooser:_.default.format(\"dxPivotGrid-showFieldChooser\"),expandAll:_.default.format(\"dxPivotGrid-expandAll\"),collapseAll:_.default.format(\"dxPivotGrid-collapseAll\"),sortColumnBySummary:_.default.getFormatter(\"dxPivotGrid-sortColumnBySummary\"),sortRowBySummary:_.default.getFormatter(\"dxPivotGrid-sortRowBySummary\"),removeAllSorting:_.default.format(\"dxPivotGrid-removeAllSorting\"),exportToExcel:_.default.format(\"dxDataGrid-exportToExcel\"),dataNotAvailable:_.default.format(\"dxPivotGrid-dataNotAvailable\")},onCellClick:null,onCellPrepared:null,showBorders:!1,stateStoring:{enabled:!1,storageKey:null,type:\"localStorage\",customLoad:null,customSave:null,savingTimeout:2e3},onExpandValueChanging:null,renderCellCountLimit:2e4,onExporting:null,headerFilter:{width:252,height:325,allowSelectAll:!0,showRelevantValues:!1,search:{enabled:!1,timeout:500,editorOptions:{},mode:\"contains\"},texts:{emptyValue:_.default.format(\"dxDataGrid-headerFilterEmptyValue\"),ok:_.default.format(\"dxDataGrid-headerFilterOK\"),cancel:_.default.format(\"dxDataGrid-headerFilterCancel\")}}})},_updateCalculatedOptions:function(e){var t=this;(0,u.each)(e,(function(e,n){(0,u.each)(L,(function(e,i){var o=n._initProperties&&i in n._initProperties&&void 0===n._initProperties[i];(void 0===n[i]||o)&&(0,O.setFieldProperty)(n,i,t.option(i))}))}))},_getDataControllerOptions:function(){var e=this;return{component:e,dataSource:e.option(\"dataSource\"),texts:e.option(\"texts\"),showRowTotals:e.option(\"showRowTotals\"),showRowGrandTotals:e.option(\"showRowGrandTotals\"),showColumnTotals:e.option(\"showColumnTotals\"),showTotalsPrior:e.option(\"showTotalsPrior\"),showColumnGrandTotals:e.option(\"showColumnGrandTotals\"),dataFieldArea:e.option(\"dataFieldArea\"),rowHeaderLayout:e.option(\"rowHeaderLayout\"),hideEmptySummaryCells:e.option(\"hideEmptySummaryCells\"),onFieldsPrepared:function(t){e._updateCalculatedOptions(t)}}},_initDataController:function(){var e=this;e._dataController&&e._dataController.dispose(),e._dataController=new S.default.DataController(e._getDataControllerOptions()),(0,f.hasWindow)()&&e._dataController.changed.add((function(){e._render()})),e._dataController.scrollChanged.add((function(t){e._scrollLeft=t.left,e._scrollTop=t.top})),e._dataController.loadingChanged.add((function(){e._updateLoading()})),e._dataController.progressChanged.add(e._updateLoading.bind(e)),e._dataController.dataSourceChanged.add((function(){e._trigger(\"onChanged\")}));var t=e.option(\"onExpandValueChanging\");t&&e._dataController.expandValueChanging.add((function(e){t(e)}))},_init:function(){this.callBase(),this._initDataController(),x.default.logHeaderFilterDeprecatedWarningIfNeed(this),this._scrollLeft=this._scrollTop=null,this._initActions()},_initActions:function(){this._actions={onChanged:this._createActionByOption(\"onChanged\"),onContextMenuPreparing:this._createActionByOption(\"onContextMenuPreparing\"),onCellClick:this._createActionByOption(\"onCellClick\"),onExporting:this._createActionByOption(\"onExporting\"),onCellPrepared:this._createActionByOption(\"onCellPrepared\")}},_trigger:function(e,t){this._actions[e](t)},_optionChanged:function(e){if(L.includes(e.name)){var t=this.getDataSource().fields();this._updateCalculatedOptions(t)}switch(e.name){case\"dataSource\":case\"allowSorting\":case\"allowFiltering\":case\"allowExpandAll\":case\"allowSortingBySummary\":case\"scrolling\":case\"stateStoring\":this._initDataController(),this._fieldChooserPopup.hide(),this._renderFieldChooser(),this._invalidate();break;case\"texts\":case\"showTotalsPrior\":case\"showRowTotals\":case\"showRowGrandTotals\":case\"showColumnTotals\":case\"showColumnGrandTotals\":case\"hideEmptySummaryCells\":case\"dataFieldArea\":this._dataController.updateViewOptions(this._getDataControllerOptions());break;case\"useNativeScrolling\":case\"encodeHtml\":case\"renderCellCountLimit\":break;case\"rtlEnabled\":this.callBase(e),this._renderFieldChooser(),this._renderContextMenu(),(0,f.hasWindow)()&&this._renderLoadPanel(this._dataArea.groupElement(),this.$element()),this._invalidate();break;case\"export\":this._renderDescriptionArea();break;case\"onExpandValueChanging\":break;case\"onCellClick\":case\"onContextMenuPreparing\":case\"onExporting\":case\"onExported\":case\"onFileSaving\":case\"onCellPrepared\":this._actions[e.name]=this._createActionByOption(e.name);break;case\"fieldChooser\":this._renderFieldChooser(),this._renderDescriptionArea();break;case\"loadPanel\":(0,f.hasWindow)()&&(\"loadPanel.enabled\"===e.fullName?(clearTimeout(this._hideLoadingTimeoutID),this._renderLoadPanel(this._dataArea.groupElement(),this.$element())):(this._renderLoadPanel(this._dataArea.groupElement(),this.$element()),this._invalidate()));break;case\"fieldPanel\":this._renderDescriptionArea(),this._invalidate();break;case\"headerFilter\":this._renderFieldChooser(),this._invalidate();break;case\"showBorders\":this._tableElement().toggleClass(\"dx-pivotgrid-border\",!!e.value),this.updateDimensions();break;case\"wordWrapEnabled\":this._tableElement().toggleClass(\"dx-word-wrap\",!!e.value),this.updateDimensions();break;case\"rowHeaderLayout\":this._tableElement().find(\".\".concat(\"dx-area-row-cell\")).toggleClass(\"dx-area-tree-view\",\"tree\"===e.value),this._dataController.updateViewOptions(this._getDataControllerOptions());break;case\"height\":case\"width\":this._hasHeight=null,this.callBase(e),this.resize();break;default:this.callBase(e)}},_updateScrollPosition:function(e,t,n){var i,o,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=this,s=r._scrollTop||r._scrollLeft;r._scrollUpdating||(r._scrollUpdating=!0,t&&!t.hasScroll()&&r._hasHeight&&(r._scrollTop=null),e&&!e.hasScroll()&&(r._scrollLeft=null),(null!==r._scrollTop||null!==r._scrollLeft||s||r.option(\"rtlEnabled\"))&&(i=r._scrollTop||0,o=r._scrollLeft||0,n.scrollTo({left:o,top:i},a),e.scrollTo({left:o},a),t.scrollTo({top:i},a),r._dataController.updateWindowScrollPosition(r._scrollTop)),r._scrollUpdating=!1)},_subscribeToEvents:function(e,t,n){var i=this;(0,u.each)([e,t,n],(function(o,a){!function(e,t){H(e),e.on(\"scroll\",t).on(\"stop\",t)}(a,(function(o){return function(o,a){var r=o.scrollOffset,s=a._getScrollable(),l=\"vertical\"!==s.option(\"direction\")?r.left:i._scrollLeft,u=\"horizontal\"!==s.option(\"direction\")&&i._hasHeight?r.top:i._scrollTop;(i._scrollLeft||0)===(l||0)&&(i._scrollTop||0)===(u||0)||(i._scrollLeft=l,i._scrollTop=u,i._updateScrollPosition(e,t,n),\"virtual\"===i.option(\"scrolling.mode\")&&i._dataController.setViewportPosition(i._scrollLeft,i._scrollTop))}(o,a)}))})),!i._hasHeight&&i._dataController.subscribeToWindowScrollEvents(n.groupElement())},_clean:r.noop,_needDelayResizing:function(e){return e.length*(e.length?e[0].length:0)>this.option(\"renderCellCountLimit\")},_renderFieldChooser:function(){var e,t=this,n=t._pivotGridContainer,i=t.option(\"fieldChooser\")||{},o=\"onDemand\"===i.applyChangesMode?[{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:_.default.format(\"OK\"),onClick:function(){t._fieldChooserPopup.$content().dxPivotGridFieldChooser(\"applyChanges\"),t._fieldChooserPopup.hide()}}},{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{text:_.default.format(\"Cancel\"),onClick:function(){t._fieldChooserPopup.hide()}}}]:[],r={layout:i.layout,texts:i.texts||{},dataSource:t.getDataSource(),allowSearch:i.allowSearch,searchTimeout:i.searchTimeout,width:void 0,height:void 0,headerFilter:t.option(\"headerFilter\"),encodeHtml:null!==(e=t.option(\"fieldChooser.encodeHtml\"))&&void 0!==e?e:t.option(\"encodeHtml\"),applyChangesMode:i.applyChangesMode,onContextMenuPreparing:function(e){t._trigger(\"onContextMenuPreparing\",e)}},s={shading:!1,title:i.title,width:i.width,height:i.height,showCloseButton:!0,resizeEnabled:!0,minWidth:i.minWidth,minHeight:i.minHeight,toolbarItems:o,onResize:function(e){e.component.$content().dxPivotGridFieldChooser(\"updateDimensions\")},onShown:function(e){t._createComponent(e.component.content(),D.FieldChooser,r)},onHidden:function(e){var t=e.component.$content().dxPivotGridFieldChooser(\"instance\");t.resetTreeView(),t.cancelChanges()}};t._fieldChooserPopup?(t._fieldChooserPopup.option(s),t._fieldChooserPopup.$content().dxPivotGridFieldChooser(r)):t._fieldChooserPopup=t._createComponent((0,a.default)(B).addClass(\"dx-fieldchooser-popup\").appendTo(n),y.default,s)},_renderContextMenu:function(){var e=this,t=e._pivotGridContainer;e._contextMenu&&e._contextMenu.$element().remove(),e._contextMenu=e._createComponent((0,a.default)(B).appendTo(t),v.default,{onPositioning:function(t){var n=t.event;if(t.cancel=!0,n){var i=n.target.cellIndex>=0?n.target:(0,a.default)(n.target).closest(\"td\").get(0);if(i){var o=e._createEventArgs(i,n),r=e._getContextMenuItems(o);r&&(t.component.option(\"items\",r),t.cancel=!1)}}},onItemClick:function(e){e.itemData.onItemClick&&e.itemData.onItemClick(e)},cssClass:\"dx-pivotgrid\",target:e.$element()})},_getContextMenuItems:function(e){var t=this,n=[],i=t.option(\"texts\");if(\"row\"===e.area||\"column\"===e.area){var o=e[\"\".concat(e.area,\"Fields\")],a=e[\"column\"===e.area?\"rowFields\":\"columnFields\"],r=e.cell.path&&o[e.cell.path.length-1],s=t.getDataSource();if(r&&r.allowExpandAll&&e.cell.path.length<e[\"\".concat(e.area,\"Fields\")].length&&!s.paginate()&&(n.push({beginGroup:!0,icon:\"none\",text:i.expandAll,onItemClick:function(){s.expandAll(r.index)}}),n.push({text:i.collapseAll,icon:\"none\",onItemClick:function(){s.collapseAll(r.index)}})),e.cell.isLast&&!s.paginate()){var l=0;(0,u.each)(a,(function(t,o){o.allowSortingBySummary&&(0,u.each)(e.dataFields,(function(t,a){if(!(0,h.isDefined)(e.cell.dataIndex)||e.cell.dataIndex===t){var r=!(0,h.isDefined)(e.cell.dataIndex)&&e.dataFields.length>1,u=\"column\"===e.area?i.sortColumnBySummary:i.sortRowBySummary,d=(0,O.findField)(e.dataFields,o.sortBySummaryField)===t&&(e.cell.path||[]).join(\"/\")===(o.sortBySummaryPath||[]).join(\"/\"),f=(0,c.format)(u,r?\"\".concat(o.caption,\" - \").concat(a.caption):o.caption);n.push({beginGroup:0===l,icon:d?\"desc\"===o.sortOrder?\"sortdowntext\":\"sortuptext\":\"none\",text:f,onItemClick:function(){s.field(o.index,{sortBySummaryField:a.name||a.caption||a.dataField,sortBySummaryPath:e.cell.path,sortOrder:\"desc\"===o.sortOrder?\"asc\":\"desc\"}),s.load()}}),l+=1}}))})),(0,u.each)(a,(function(e,t){if(t.allowSortingBySummary&&(0,h.isDefined)(t.sortBySummaryField))return n.push({beginGroup:0===l,icon:\"none\",text:i.removeAllSorting,onItemClick:function(){(0,u.each)(a,(function(e,t){s.field(t.index,{sortBySummaryField:void 0,sortBySummaryPath:void 0,sortOrder:void 0})})),s.load()}}),!1}))}}if(t.option(\"fieldChooser.enabled\")&&n.push({beginGroup:!0,icon:\"columnchooser\",text:i.showFieldChooser,onItemClick:function(){t._fieldChooserPopup.show()}}),t.option(\"export.enabled\")&&n.push({beginGroup:!0,icon:\"xlsxfile\",text:i.exportToExcel,onItemClick:function(){t.exportTo()}}),e.items=n,t._trigger(\"onContextMenuPreparing\",e),(n=e.items)&&n.length)return n},_createEventArgs:function(e,t){var n,i=this.getDataSource(),o={rowFields:i.getAreaFields(\"row\"),columnFields:i.getAreaFields(\"column\"),dataFields:i.getAreaFields(\"data\"),event:t};return(n=(0,a.default)(e)).closest(\".\".concat(\"dx-area-fields\")).length||n.find(\".\".concat(\"dx-area-fields\")).length?(0,l.extend)(this._createFieldArgs(e),o):(0,l.extend)(this._createCellArgs(e),o)},_createFieldArgs:function(e){var t=(0,a.default)(e).children().data(\"field\"),n={field:t};return(0,h.isDefined)(t)?n:{}},_createCellArgs:function(e){var t=(0,a.default)(e),n=e.cellIndex,i=e.parentElement.rowIndex,r=t.closest(\"table\"),s=r.data(\"data\"),l=s&&s[i]&&s[i][n];return{area:r.data(\"area\"),rowIndex:i,columnIndex:n,cellElement:(0,o.getPublicElement)(t),cell:l}},_handleCellClick:function(e){var t=this,n=t._createEventArgs(e.currentTarget,e),i=n.cell;i&&(n.area||!n.rowIndex&&!n.columnIndex)&&(t._trigger(\"onCellClick\",n),i&&!n.cancel&&(0,h.isDefined)(i.expanded)&&setTimeout((function(){t._dataController[i.expanded?\"collapseHeaderItem\":\"expandHeaderItem\"](n.area,i.path)})))},_getNoDataText:function(){return this.option(\"texts.noData\")},_renderNoDataText:x.default.renderNoDataText,_renderLoadPanel:x.default.renderLoadPanel,_updateLoading:function(e){var t=this,n=t._dataController.isLoading();if(t._loadPanel){var i=t._loadPanel.option(\"visible\");if(i||(t._startLoadingTime=new Date),n&&(e?new Date-t._startLoadingTime>=1e3&&t._loadPanel.option(\"message\",\"\".concat(Math.floor(100*e),\"%\")):t._loadPanel.option(\"message\",t.option(\"loadPanel.text\"))),clearTimeout(t._hideLoadingTimeoutID),i&&!n)t._hideLoadingTimeoutID=setTimeout((function(){t._loadPanel.option(\"visible\",!1),t.$element().removeClass(\"dx-overflow-hidden\")}));else{var o={visible:n};n&&(o.position=x.default.calculateLoadPanelPosition(t._dataArea.groupElement())),t._loadPanel.option(o),t.$element().toggleClass(\"dx-overflow-hidden\",!n)}}},_renderDescriptionArea:function(){var e,t=this,n=this.$element(),i=n.find(\".\".concat(\"dx-area-description-cell\")),o=(0,a.default)(B).addClass(\"dx-pivotgrid-toolbar\"),r=this.option(\"fieldPanel\"),s=n.find(\".dx-filter-header\"),l=n.find(\".dx-column-header\");if(e=r.visible&&r.showFilterFields?s:r.visible&&(r.showDataFields||r.showColumnFields)?l:i,l.toggleClass(\"dx-bottom-border\",!(!r.visible||!r.showDataFields&&!r.showColumnFields)),s.toggleClass(\"dx-bottom-border\",!(!r.visible||!r.showFilterFields)),i.toggleClass(\"dx-pivotgrid-background\",r.visible&&(r.showDataFields||r.showColumnFields||r.showRowFields)),this.$element().find(\".dx-pivotgrid-toolbar\").remove(),o.prependTo(e),this.option(\"fieldChooser.enabled\")){var u=(0,a.default)(B).appendTo(o).addClass(\"dx-pivotgrid-field-chooser-button\"),d={icon:\"columnchooser\",hint:this.option(\"texts.showFieldChooser\"),onClick:function(){t.getFieldChooserPopup().show()}};this._createComponent(u,\"dxButton\",d)}if(this.option(\"export.enabled\")){var c=(0,a.default)(B).appendTo(o).addClass(\"dx-pivotgrid-export-button\"),h={icon:\"xlsxfile\",hint:this.option(\"texts.exportToExcel\"),onClick:function(){t.exportTo()}};this._createComponent(c,\"dxButton\",h)}},_detectHasContainerHeight:function(){var e=this.$element();if((0,h.isDefined)(this._hasHeight)){var t=this.option(\"height\")||this.$element().get(0).style.height;t&&this._hasHeight^\"auto\"!==t&&(this._hasHeight=null)}if(!(0,h.isDefined)(this._hasHeight)&&!e.is(\":hidden\")){this._pivotGridContainer.addClass(\"dx-hidden\");var n=(0,a.default)(B);(0,d.setHeight)(n,66666),e.append(n),this._hasHeight=66666!==(0,d.getHeight)(e),this._pivotGridContainer.removeClass(\"dx-hidden\"),n.remove()}},_renderHeaders:function(e,t,n,i){var o=this.getDataSource();this._rowFields=this._rowFields||new T.FieldsArea(this,\"row\"),this._rowFields.render(e,o.getAreaFields(\"row\")),this._columnFields=this._columnFields||new T.FieldsArea(this,\"column\"),this._columnFields.render(t,o.getAreaFields(\"column\")),this._filterFields=this._filterFields||new T.FieldsArea(this,\"filter\"),this._filterFields.render(n,o.getAreaFields(\"filter\")),this._dataFields=this._dataFields||new T.FieldsArea(this,\"data\"),this._dataFields.render(i,o.getAreaFields(\"data\")),this.$element().dxPivotGridFieldChooserBase(\"instance\").renderSortable()},_createTableElement:function(){var e=(0,a.default)(\"<table>\").css({width:\"100%\"}).toggleClass(\"dx-pivotgrid-border\",!!this.option(\"showBorders\")).toggleClass(\"dx-word-wrap\",!!this.option(\"wordWrapEnabled\"));return g.default.on(e,(0,m.addNamespace)(p.name,\"dxPivotGrid\"),\"td\",this._handleCellClick.bind(this)),e},_renderDataArea:function(e){var t=this._dataArea||new C.default.DataArea(this);return this._dataArea=t,t.render(e,this._dataController.getCellsInfo()),t},_renderRowsArea:function(e){var t=this._rowsArea||new E.default.VerticalHeadersArea(this);return this._rowsArea=t,t.render(e,this._dataController.getRowsInfo()),t},_renderColumnsArea:function(e){var t=this._columnsArea||new E.default.HorizontalHeadersArea(this);return this._columnsArea=t,t.render(e,this._dataController.getColumnsInfo()),t},_initMarkup:function(){var e=this;e.callBase.apply(this,arguments),e.$element().addClass(\"dx-pivotgrid\")},_renderContentImpl:function(){var e,t,n,i,o,r,s,l,u=!this._pivotGridContainer;(i=!u&&this._tableElement())||(this.$element().addClass(\"dx-row-lines\").addClass(\"dx-pivotgrid-fields-container\"),this._pivotGridContainer=(0,a.default)(B).addClass(\"dx-pivotgrid-container\"),this._renderFieldChooser(),this._renderContextMenu(),e=(0,a.default)(R).addClass(\"dx-area-column-cell\"),t=(0,a.default)(R).addClass(\"dx-area-row-cell\"),n=(0,a.default)(R).addClass(\"dx-area-data-cell\"),i=this._createTableElement(),l=(0,a.default)(R).addClass(\"dx-data-header\"),s=(0,a.default)(\"<td>\").attr(\"colspan\",\"2\").addClass(\"dx-filter-header\"),r=(0,a.default)(R).addClass(\"dx-column-header\"),o=(0,a.default)(R).addClass(\"dx-area-description-cell\"),(0,a.default)(M).append(s).appendTo(i),(0,a.default)(M).append(l).append(r).appendTo(i),(0,a.default)(M).append(o).append(e).appendTo(i),(0,a.default)(M).addClass(\"dx-bottom-row\").append(t).append(n).appendTo(i),this._pivotGridContainer.append(i),this.$element().append(this._pivotGridContainer),\"tree\"===this.option(\"rowHeaderLayout\")&&t.addClass(\"dx-area-tree-view\")),this.$element().addClass(\"dx-overflow-hidden\"),this._createComponent(this.$element(),I.FieldChooserBase,{dataSource:this.getDataSource(),encodeHtml:this.option(\"encodeHtml\"),allowFieldDragging:this.option(\"fieldPanel.allowFieldDragging\"),headerFilter:this.option(\"headerFilter\"),visible:this.option(\"visible\"),remoteSort:\"virtual\"===this.option(\"scrolling.mode\")});var d=this._renderDataArea(n),c=this._renderRowsArea(t),h=this._renderColumnsArea(e);d.tableElement().prepend(h.headElement()),u&&(this._renderLoadPanel(d.groupElement().parent(),this.$element()),this._renderDescriptionArea(),c.renderScrollable(),h.renderScrollable(),d.renderScrollable()),[d,c,h].forEach((function(e){H(e)})),this._renderHeaders(o,r,s,l),this._update(u)},_update:function(e){var t=this,n=function(){t.updateDimensions()};t._needDelayResizing(t._dataArea.getData())&&e?setTimeout(n):n()},_fireContentReadyAction:function(){this._dataController.isLoading()||this.callBase()},getScrollPath:function(e){return\"column\"===e?this._columnsArea.getScrollPath(this._scrollLeft):this._rowsArea.getScrollPath(this._scrollTop)},getDataSource:function(){return this._dataController.getDataSource()},getFieldChooserPopup:function(){return this._fieldChooserPopup},hasScroll:function(e){return\"column\"===e?this._columnsArea.hasScroll():this._rowsArea.hasScroll()},_dimensionChanged:function(){this.updateDimensions()},_visibilityChanged:function(e){e&&this.updateDimensions()},_dispose:function(){var e=this;clearTimeout(e._hideLoadingTimeoutID),e.callBase.apply(e,arguments),e._dataController&&e._dataController.dispose()},_tableElement:function(){return this.$element().find(\"table\").first()},addWidgetPrefix:function(e){return\"dx-pivotgrid-\".concat(e)},resize:function(){this.updateDimensions()},isReady:function(){return this.callBase()&&!this._dataController.isLoading()},updateDimensions:function(){var e,t,n,i,o=this,l=o._tableElement(),c=0,h=0,p=0,g=l.find(\".\".concat(\"dx-area-data-cell\")),m=l.find(\".\".concat(\"dx-area-row-cell\")),_=l.find(\".\".concat(\"dx-area-column-cell\")),v=l.find(\".\".concat(\"dx-area-description-cell\")),y=l.find(\".dx-filter-header\"),b=l.find(\".dx-column-header\"),x=o._rowFields,w=new s.Deferred;if((0,f.hasWindow)()){var C=x.isVisible()&&\"tree\"!==o.option(\"rowHeaderLayout\");o._detectHasContainerHeight(),o._dataArea.headElement().length||o._dataArea.tableElement().prepend(o._columnsArea.headElement()),C&&(o._rowsArea.updateColspans(x.getColumnsCount()),o._rowsArea.tableElement().prepend(x.headElement())),l.addClass(\"dx-incompressible-fields\"),o._dataArea.reset(),o._rowsArea.reset(),o._columnsArea.reset(),x.reset();var S=function(e,t){return t-e>=1},k=function(e,t,n,i,o){return n?e:t+(i?o:0)};return(0,r.deferUpdate)((function(){var f=o._rowsArea.getRowsHeight(),D=(0,d.getOuterHeight)(v[0],!0)+(C?f[0]:0),I=0,T=0;if(o._hasHeight){I=(0,d.getHeight)(y);var E=l.find(\".dx-data-header\"),A=(0,d.getHeight)(E);t=N([_,g,l,b,y],\"height\"),T=(0,d.getHeight)(o.$element())-I-A-(Math.max((0,d.getHeight)(o._dataArea.headElement()),(0,d.getHeight)(_),D)+t)}var P=o._dataArea.getScrollbarWidth(),M=S(T,(0,d.getHeight)(o._dataArea.tableElement()));o._dataArea.tableElement().css({width:o._hasHeight&&M&&P?\"calc(100% - \".concat(P,\"px)\"):\"100%\"});var R=o._dataArea.getColumnsWidth(),B=C?f.slice(1):f,L=o._dataArea.getRowsHeight(),H=o._dataController.getColumnsInfo().length,z=(0,O.mergeArraysByMaxValue)(B,L.slice(H)),j=L.slice(0,H),W=V(j),G=o._rowsArea.getColumnsWidth();if(c=(0,d.getWidth)(o._dataArea.tableElement()),h=V(z),c&&h){p=V(G);var q=(0,d.getWidth)(o.$element());t=N([m,g,l],\"width\");var $=c-(e=(e=q-p-t)>0?e:c);$>=0&&$<=2&&(F(R,$),c=e),n=o._hasHeight&&S(T,h),i=S(e,c);var U=k(T,h,n,i,P);(0,r.deferRender)((function(){if(o._columnsArea.tableElement().append(o._dataArea.headElement()),x.tableElement().append(o._rowsArea.headElement()),D>W&&(F(j,W-D),o._columnsArea.setRowsHeight(j)),l.removeClass(\"dx-incompressible-fields\"),b.children().css(\"maxWidth\",e),o._columnsArea.setGroupWidth(e),o._columnsArea.processScrollBarSpacing(n?P:0),o._columnsArea.setColumnsWidth(R),o._rowsArea.setGroupHeight(o._hasHeight?U:\"auto\"),o._rowsArea.processScrollBarSpacing(i?P:0),o._rowsArea.setColumnsWidth(G),o._rowsArea.setRowsHeight(z),o._dataArea.setColumnsWidth(R),o._dataArea.setRowsHeight(z),o._dataArea.setGroupWidth(e),o._dataArea.setGroupHeight(o._hasHeight?U:\"auto\"),C&&x.setColumnsWidth(G),g.toggleClass(\"dx-bottom-border\",!n),m.toggleClass(\"dx-bottom-border\",!n),!o._hasHeight&&q!==(0,d.getWidth)(o.$element())){var t=q-(0,d.getWidth)(o.$element());i||(F(R,t),o._columnsArea.setColumnsWidth(R),o._dataArea.setColumnsWidth(R)),o._dataArea.setGroupWidth(e-t),o._columnsArea.setGroupWidth(e-t)}if(o._hasHeight&&o._filterFields.isVisible()&&(0,d.getHeight)(y)!==I){var r=(0,d.getHeight)(y)-I;if(r>0){n=S(T-r,h);var c=k(T-r,h,n,i,P);o._dataArea.setGroupHeight(c),o._rowsArea.setGroupHeight(c)}}var f=o.option(\"scrolling\");\"virtual\"===f.mode&&o._setVirtualContentParams(f,R,z,e,U,o._hasHeight,p);var _=[];o._dataArea.updateScrollableOptions({direction:o._dataArea.getScrollableDirection(i,n),rtlEnabled:o.option(\"rtlEnabled\")}),o._columnsArea.updateScrollableOptions({rtlEnabled:o.option(\"rtlEnabled\")}),(0,u.each)([o._columnsArea,o._rowsArea,o._dataArea],(function(e,t){_.push(t&&t.updateScrollable())})),o._updateLoading(),o._renderNoDataText(g),s.when.apply(a.default,_).done((function(){o._updateScrollPosition(o._columnsArea,o._rowsArea,o._dataArea,!0),o._subscribeToEvents(o._columnsArea,o._rowsArea,o._dataArea),w.resolve()}))}))}else w.resolve()})),w}},_setVirtualContentParams:function(e,t,n,i,o,a,r){var s=this._dataController.calculateVirtualContentParams({virtualRowHeight:e.virtualRowHeight,virtualColumnWidth:e.virtualColumnWidth,itemWidths:t,itemHeights:n,rowCount:n.length,columnCount:t.length,viewportWidth:i,viewportHeight:a?o:(0,d.getOuterHeight)(P)});this._dataArea.setVirtualContentParams({top:s.contentTop,left:s.contentLeft,width:s.width,height:s.height}),this._rowsArea.setVirtualContentParams({top:s.contentTop,width:r,height:s.height}),this._columnsArea.setVirtualContentParams({left:s.contentLeft,width:s.width,height:(0,d.getHeight)(this._columnsArea.groupElement())})},applyPartialDataSource:function(e,t,n){this._dataController.applyPartialDataSource(e,t,n)}}).inherit(k.ExportController).include(w.ChartIntegrationMixin);t.PivotGrid=z,(0,i.default)(\"dxPivotGrid\",z);var j={PivotGrid:z};t.default=j},28580:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.calculateScrollbarWidth=void 0,t.capitalizeFirstLetter=V,t.createPath=D,t.default=void 0,t.discoverObjectFields=A,t.findField=C,t.foreachDataLevel=I,t.foreachTreeAsync=t.foreachTree=void 0,t.formatValue=S,t.getCompareFunction=k,t.getExpandedLevel=E,t.getFieldsDataType=P,t.getFiltersByPath=B,t.getScrollbarWidth=void 0,t.mergeArraysByMaxValue=T,t.sendRequest=v,t.setDefaultFieldValueFormatting=R,t.storeDrillDownMixin=t.setFieldProperty=void 0;var i=m(n(73349)),o=m(n(37208)),a=m(n(39618)),r=n(47617),s=n(62754),l=n(13306),u=n(95479),d=n(35922),c=m(n(26562)),h=n(85273),f=m(n(30343)),p=m(n(91500)),g=n(18813);function m(e){return e&&e.__esModule?e:{default:e}}var _=function(e,t,n,i){var o=e._initProperties=e._initProperties||{},a=i?n:e[t];(!Object.prototype.hasOwnProperty.call(o,t)||i)&&\"_initProperties\"!==t&&(o[t]=a),e[t]=n};function v(e){return o.default.sendRequest(e)}t.setFieldProperty=_;var y=new Date;function b(e){return function t(n,i,o,a,r,l){var u,d;function c(e,r,l){(0,s.when)(t(n,i,o,a,r,l)).done(e.resolve)}for(a=a||[],n=n||[],u=r=r||0;u<n.length;u+=1){if(e&&u>r&&u%1e4==0&&new Date-y>=300)return y=new Date,c(d=new s.Deferred,u,!1),d;var h=n[u];if(!l){if(a.unshift(h),o&&!1===i(a,u))return;if(h.children){var f=t(h.children,i,o,a);if(e&&f)return d=new s.Deferred,f.done(c(d,u,!0)),d}}if(l=!1,!o&&!1===i(a,u))return;a.shift(),n[u]!==h&&(u-=1)}}}var x=b(!1);t.foreachTree=x;var w=b(!0);function C(e,t){if(e&&(0,d.isDefined)(t))for(var n=0;n<e.length;n+=1){var i=e[n];if(i.name===t||i.caption===t||i.dataField===t||i.index===t)return n}return-1}function S(e,t){var n={value:e,valueText:e==e&&f.default.format(e,t.format)||\"\"};return t.customizeText?t.customizeText.call(t,n):n.valueText}function k(e){return function(t,n){var i=0,o=e(t),a=e(n),r=(0,d.isDefined)(o),s=(0,d.isDefined)(a);return r&&s&&(o>a?i=1:o<a&&(i=-1)),r&&!s&&(i=1),!r&&s&&(i=-1),i}}function D(e){for(var t=[],n=e.length-1;n>=0;n-=1)t.push(e[n].key||e[n].value);return t}function I(e,t,n,i){n=n||0,i=i||\"children\",e.length&&t(e,n);for(var o=0;o<e.length;o+=1){var a=e[o];a[i]&&a[i].length&&I(a[i],t,n+1,i)}}function T(e,t){for(var n=[],i=0;i<e.length;i+=1)n.push(Math.max(e[i]||0,t[i]||0));return n}function E(e,t){var n=e[t],i=0,o=(\"columns\"===t?e.columnExpandedPaths:e.rowExpandedPaths)||[];for(e.headerName===t?i=e.path.length:e.headerName&&e.headerName!==t&&e.oppositePath?i=e.oppositePath.length:(0,u.each)(o,(function(e,t){i=Math.max(i,t.length)}));n[i+1]&&n[i].expanded;)i+=1;return i}function O(e,t,n,i){var o=[];return Object.keys(t||[]).forEach((function(a){if(!a||!a.startsWith(\"__\")){for(var s,c,h=1,f=n.length?\"\".concat(n,\".\").concat(a):a,p=i[f],g=(0,r.compileGetter)(f),m=t[a];!(0,d.isDefined)(m)&&e[h];)m=g(e[h]),h+=1;!p&&(0,d.isDefined)(m)&&(p=(0,d.type)(m)),s=[{dataField:f,dataType:p,groupName:\"date\"===p?a:void 0,groupInterval:void 0,displayFolder:n}],\"date\"===p?s=s.concat((c=s[0],(0,u.map)([\"year\",\"quarter\",\"month\"],(function(e,t){return(0,l.extend)({},c,{groupInterval:e,groupIndex:t})})))):\"object\"===p&&(s=O(e,m,f,i)),o.push.apply(o,s)}})),o}function A(e,t){var n=P(t);return O(e,e[0],\"\",n)}function P(e){var t={};return(0,u.each)(e,(function(e,n){t[n.dataField]=t[n.dataField]||n.dataType})),t}t.foreachTreeAsync=w;var M={month:function(e){return p.default.getMonthNames()[e-1]},quarter:function(e){return p.default.format(new Date(2e3,3*e-1),\"quarter\")},dayOfWeek:function(e){return p.default.getDayNames()[e]}};function R(e){if(\"date\"===e.dataType)e.format||_(e,\"format\",M[e.groupInterval]);else if(\"number\"===e.dataType){var t=(0,d.isNumeric)(e.groupInterval)&&e.groupInterval>0&&e.groupInterval;t&&!e.customizeText&&_(e,\"customizeText\",(function(n){var i=n.value+t,o=f.default.format(i,e.format);return n.valueText&&o?\"\".concat(n.valueText,\" - \").concat(o):\"\"}))}}function B(e,t){var n=[];t=t||[];for(var i=0;i<t.length;i+=1)n.push((0,l.extend)({},e[i],{groupIndex:null,groupName:null,filterType:\"include\",filterValues:[t[i]]}));return n}var L={createDrillDownDataSource:function(e,t){var n=this.getDrillDownItems(e,t);function i(e){return function(t){var i;return i=new s.Deferred,(0,s.when)(n).done((function(n){new c.default(n)[e](t).done(i.resolve).fail(i.reject)})).fail(i.reject),i}}return new h.DataSource({load:i(\"load\"),totalCount:i(\"totalCount\"),key:this.key()})}};function V(e){return e.charAt(0).toUpperCase()+e.slice(1)}t.storeDrillDownMixin=L;var F=function(e){return e.offsetWidth-e.clientWidth};t.getScrollbarWidth=F;var H=(0,a.default)((function(){var e=i.default.getDocument();e.body.insertAdjacentHTML(\"beforeend\",'<div class=\"'.concat(g.CLASSES.scrollBarMeasureElement,'\"></div>'));var t=e.body.lastElementChild,n=F(t);return t&&e.body.removeChild(t),n}));t.calculateScrollbarWidth=H;var N={setFieldProperty:_,sendRequest:v,foreachTree:x,foreachTreeAsync:w,findField:C,formatValue:S,getCompareFunction:k,createPath:D,foreachDataLevel:I,mergeArraysByMaxValue:T,getExpandedLevel:E,discoverObjectFields:A,getFieldsDataType:P,setDefaultFieldValueFormatting:R,getFiltersByPath:B,storeDrillDownMixin:L,capitalizeFirstLetter:V,getScrollbarWidth:F,calculateScrollbarWidth:H};t.default=N},2166:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.RemoteStore=void 0;var o=g(n(38377)),a=g(n(69434)),r=n(62754),s=n(13306),l=n(95479),u=n(35922),d=n(85273),c=n(9234),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(28580)),f=n(98413);function p(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}(e)||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 _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function v(e,t){var n=[];return(0,l.each)(e,(function(i,o){n.push({selector:o.dataField,groupInterval:o.groupInterval,desc:t&&\"desc\"===o.sortOrder,isExpanded:i<e.length-1})})),n}function y(e,t,n,i){return[[e,i?\"<\":\">=\",n],i?\"or\":\"and\",[e,i?\">=\":\"<\",n+t]]}function b(e,t){var n=function(e){var t=e.dataField,n=e.groupInterval;return\"date\"===e.dataType&&\"string\"==typeof n&&(\"quarter\"===n.toLowerCase()&&(n=\"Month\"),t=\"\".concat(t,\".\").concat((0,h.capitalizeFirstLetter)(n))),t}(e),i=\"exclude\"===e.filterType,o=[n,i?\"<>\":\"=\",t];return(0,u.isDefined)(e.groupInterval)&&(\"string\"==typeof e.groupInterval&&\"quarter\"===e.groupInterval.toLowerCase()?o=y(n,3,3*(t-1)+1,i):\"number\"==typeof e.groupInterval&&\"date\"!==e.dataType&&(o=y(n,e.groupInterval,t,i))),o}function x(e){var t=[];return(0,l.each)(e,(function(e,n){var i=function e(t,n){var i=[];return t.searchValue?[t.dataField,\"contains\",t.searchValue]:(n=\"exclude\"===t.filterType?n||\"and\":n||\"or\",(0,l.each)(t.filterValues,(function(o,a){var r=[];Array.isArray(a)?t.levels&&t.levels.length&&(r=e({filterValues:a,filterType:t.filterType,levels:t.levels},\"and\")):r=b(t.levels?t.levels[o]:t,a);r.length&&(i.length&&i.push(n),i.push(r))})),i)}(n);if(!i.length)return[];t.length&&t.push(\"and\"),t.push(i)})),1===t.length&&(t=t[0]),t}function w(e,t){var n=function(e){return e&&e.length};return n(e)&&n(t)?[e,\"and\",t]:n(e)?e:t}function C(e,t,n,i,o){e[n]=e[n]||[],e[n][i]=e[n][i]||[],(0,u.isDefined)(e[n][i][o])||(e[n][i][o]=t)}function S(e,t){return t&&\"number\"===t.dataType&&(0,u.isString)(e)?Number(e):!t||\"date\"!==t.dataType||t.groupInterval||e instanceof Date?e:a.default.deserializeDate(e)}function k(e,t,n,i){var o=[],a=[],r=i.rowHash,s=i.columnHash;if(t&&t.summary&&(0,l.each)(t.summary,(function(e,t){C(i.values,t,i.grandTotalRowIndex,i.grandTotalColumnIndex,e)})),t&&t.groupCount>=0){var u=n.rows.length?n.rowSkip:n.columnSkip;(e=m(Array(u)).concat(e)).length=t.groupCount}function d(e,t,n,o,a){var r,s,l,u=i[\"\".concat(t,\"Hash\")],d=n.slice(0,o+1).join(\"/\");return void 0!==u[d]?s=u[d]:(s={value:S(e.key,a),index:i[\"\".concat(t,\"Index\")]++,displayText:e.displayText},l=n.slice(0,o).join(\"/\"),(o>0&&void 0!==u[l]?(r=u[l]).children=r.children||[]:i[\"\".concat(t,\"s\")]).push(s),u[d]=s),s}return(0,f.forEachGroup)(e,(function(e,t){var u,c,h=t>=n.rows.length?n.rows.length:t,f=t>=n.rows.length?t-n.rows.length:0;if(!(t>=n.rows.length&&f>=n.columns.length)){t<n.rows.length&&(a=[]),t>=n.rows.length?e?(a[f]=\"\".concat(e.key),u=d(e,\"column\",a,f,n.columns[f]),c=r[o.slice(0,h+1).join(\"/\")]):i.columns.push({}):e?(o[h]=\"\".concat(e.key),c=d(e,\"row\",o,h,n.rows[h]),u=s[a.slice(0,f+1).join(\"/\")]):i.rows.push({});var p=c&&c.index||i.grandTotalRowIndex,g=u&&u.index||i.grandTotalColumnIndex;(0,l.each)(e&&e.summary||[],(function(e,t){C(i.values,t,p,g,e)}))}})),i}function D(e){return(e||[]).filter((function(e){return e.filterValues&&e.filterValues.length||e.searchValue}))}function I(e,t){if(e.headerName){if(t===e.headerName)return e.path.length;if(e.oppositePath)return e.oppositePath.length}return 0}function T(e,t,n,i){var o=[],a=n>i?0:i,r=e.headerName!==t?e[t].slice(a,n):[],u=\"rows\"===t?e.rowExpandedPaths:e.columnExpandedPaths;return(0,l.each)(r,(function(e,t){var i=[];(0,l.each)(u,(function(t,o){if(o=o.slice(a,n),e<o.length){var r=o[e];i.includes(r)||i.push(r)}})),i.length&&o.push((0,s.extend)({},t,{filterType:\"include\",filterValues:i}))})),o}function E(e,t,n,i,o,a){var r,l=(\"columns\"===t?e.columnExpandedPaths:e.rowExpandedPaths)||[],u=\"columns\"===t?\"rows\":\"columns\",d=e[t],c=[];if(l.length)for(var h=n;h<i+1;h+=1)(r={filters:o.concat(T(e,t,h,a))})[t]=d.slice(n,h+1),r[u]=[],c.push((0,s.extend)({},e,r));else(r={filters:o})[t]=d.slice(n,i+1),r[u]=[],c.push((0,s.extend)({},e,r));return c[0].includeTotalSummary=!0,c}function O(e){var t=0;return(0,l.each)(e,(function(e,n){if(!n.expanded)return t=e,!1})),t}function A(e){var t=(0,h.getExpandedLevel)(e,\"rows\"),n=(0,h.getExpandedLevel)(e,\"columns\"),i=e.filters||[],o=I(e,\"columns\"),a=O(e.columns),r=O(e.rows),l=I(e,\"rows\"),u=[],d=E(e,\"columns\",o,n,i=i.concat(D(e.rows)).concat(D(e.columns)).concat(function(e){return(0,h.getFiltersByPath)(e[e.headerName],e.path).concat((0,h.getFiltersByPath)(e[\"rows\"===e.headerName?\"columns\":\"rows\"],e.oppositePath||[]))}(e)),a);if(e.rows.length&&e.columns.length){\"rows\"!==e.headerName&&(u=u.concat(d));for(var c=l;c<t+1;c+=1)for(var f=e.rows.slice(l,c+1),p=T(e,\"rows\",c,r),g=o;g<n+1;g+=1){var m=(0,s.extend)({},e,{columns:e.columns.slice(o,g+1),rows:f,filters:i.concat(T(e,\"columns\",g,a)).concat(p)});u.push(m)}}else u=e.columns.length?d:E(e,\"rows\",l,t,i,r);return u}function P(e){(0,l.each)(e||[],(function(e,t){var n=t.levels;n&&P(n),(0,h.setDefaultFieldValueFormatting)(t)}))}var M=o.default.inherit({ctor:function(e){this._dataSource=new d.DataSource(e),this._store=this._dataSource.store()},getFields:function(e){var t=new r.Deferred;return this._store.load({skip:0,take:20}).done((function(n){var i=(0,c.normalizeLoadResult)(n);t.resolve(h.default.discoverObjectFields(i.data,e))})).fail(t.reject),t},key:function(){return this._store.key()},load:function(e){var t=this,n=new r.Deferred,i={rows:[],columns:[],values:[],grandTotalRowIndex:0,grandTotalColumnIndex:0,rowHash:{},columnHash:{},rowIndex:1,columnIndex:1},o=A(e),a=[];return P(e.rows),P(e.columns),P(e.filters),(0,l.each)(o,(function(n,i){a.push(t._store.load(function(e,t,n){var i=x(e.filters),o=v(e.rows,e.rowTake).concat(v(e.columns,e.columnTake)),a={groupSummary:[],totalSummary:[],group:o.length?o:void 0,take:o.length?void 0:1};return e.rows.length&&e.rowTake?(a.skip=e.rowSkip,a.take=e.rowTake,a.requireGroupCount=!0):e.columns.length&&e.columnTake&&!n&&(a.skip=e.columnSkip,a.take=e.columnTake,a.requireGroupCount=!0),t&&(i=w(i,t)),i.length&&(a.filter=i),(0,l.each)(e.values,(function(t,n){var i={selector:n.dataField,summaryType:n.summaryType||\"count\"};a.groupSummary.push(i),e.includeTotalSummary&&a.totalSummary.push(i)})),a}(i,t.filter(),e.rows.length)))})),r.when.apply(null,a).done((function(){var e=a.length>1?arguments:[arguments];(0,l.each)(e,(function(e,t){var n=(0,c.normalizeLoadResult)(t[0],t[1]);k(n.data,n.extra,o[e],i)})),n.resolve({rows:i.rows,columns:i.columns,values:i.values,grandTotalRowIndex:i.grandTotalRowIndex,grandTotalColumnIndex:i.grandTotalColumnIndex})})).fail(n.reject),n},filter:function(){return this._dataSource.filter.apply(this._dataSource,arguments)},supportPaging:function(){return!1},createDrillDownDataSource:function(e,t){e=e||{},t=t||{};var n=this._store,i=x((0,h.getFiltersByPath)(e.rows,t.rowPath).concat((0,h.getFiltersByPath)(e.columns,t.columnPath)).concat(D(e.rows)).concat(e.filters||[]).concat(D(e.columns)));return new d.DataSource({load:function(e){return n.load((0,s.extend)({},e,{filter:w(i,e.filter),select:t.customColumns}))}})}});t.RemoteStore=M;var R={RemoteStore:M};t.default=R},98413:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.forEachGroup=t.default=void 0;var n=function e(t,n,i){t=t||[],i=i||0;for(var o=0;o<t.length;o+=1){var a=t[o];n(a,i),a&&a.items&&a.items.length&&e(a.items,n,i+1)}};t.forEachGroup=n;var i={forEachGroup:n};t.default=i},71442:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.Sortable=void 0;var i=p(n(99393)),o=p(n(73349)),a=p(n(13046)),r=p(n(68374)),s=n(13306),l=n(95479),u=n(58664),d=n(35922),c=p(n(55994)),h=n(23174),f=n(39611);function p(e){return e&&e.__esModule?e:{default:e}}var g=p(n(92591)).default.getSwatchContainer;function m(e,t){var n;return(0,l.each)(t,(function(){(function(e,t,n){var i=(0,r.default)(e),o=i.offset();if(t>=o.left&&t<=o.left+(0,u.getOuterWidth)(i,!0)&&n>=o.top&&n<=o.top+(0,u.getOuterHeight)(i,!0))return!0})(this,e.pageX,e.pageY)&&(n=(0,r.default)(this))})),n}var _=a.default.inherit({_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{onChanged:null,onDragging:null,itemRender:null,groupSelector:null,itemSelector:\".dx-sort-item\",itemContainerSelector:\".dx-sortable-old\",sourceClass:\"dx-drag-source\",dragClass:\"dx-drag\",targetClass:\"dx-drag-target\",direction:\"vertical\",allowDragging:!0,groupFilter:null,useIndicator:!1})},_renderItem:function(e,t){var n,i=this.option(\"itemRender\");return i?n=i(e,t):(n=e.clone()).css({width:(0,u.getWidth)(e),height:(0,u.getHeight)(e)}),n},_renderIndicator:function(e,t,n,i){var o=(0,u.getOuterHeight)(e,!0),a=(0,u.getOuterWidth)(e,!0),r=e.offset().top-n.offset().top,s=e.offset().left-n.offset().left;this._indicator.css({position:\"absolute\",top:i&&t?r+o:r,left:i&&!t?s+a:s}).toggleClass(\"dx-position-indicator-horizontal\",!t).toggleClass(\"dx-position-indicator-vertical\",!!t).toggleClass(\"dx-position-indicator-last\",!!i).appendTo(n),(0,u.setHeight)(this._indicator,\"\"),(0,u.setWidth)(this._indicator,\"\"),t?(0,u.setWidth)(this._indicator,a):(0,u.setHeight)(this._indicator,o)},_renderDraggable:function(e){this._$draggable&&this._$draggable.remove(),this._$draggable=this._renderItem(e,\"drag\").addClass(this.option(\"dragClass\")).appendTo(g(e)).css({zIndex:1e6,position:\"absolute\"})},_detachEventHandlers:function(){var e=[h.move,h.start,h.end,h.enter,h.leave,h.drop].join(\" \");c.default.off(this._getEventListener(),(0,f.addNamespace)(e,\"dxSortable\"),void 0)},_getItemOffset:function(e,t,n){for(var i=0;i<t.length;i+=1){var o=void 0,a=n.pageY<t[i].posVertical;if(e?o=a:a&&(r=n.pageX,s=t[i],l=this.option(\"rtlEnabled\"),!(o=!(0,d.isDefined)(s.posHorizontal)||(l?r>s.posHorizontal:r<s.posHorizontal))&&t[i+1]&&t[i+1].posVertical>t[i].posVertical&&(o=!0)),o)return t[i]}var r,s,l},_getEventListener:function(){var e=this.option(\"groupSelector\"),t=this.$element();return e?t.find(e):t},_attachEventHandlers:function(){var e,t,n,i,a,s,d,p=this,g=p.option(\"itemSelector\"),_=p.option(\"itemContainerSelector\"),v=p.option(\"groupSelector\"),y=p.option(\"sourceClass\"),b=p.option(\"targetClass\"),x=p.option(\"onDragging\"),w=p.option(\"groupFilter\"),C=p.$element(),S=null,k=-1,D=function(){null==S||S.dispose(),S=null};if(p._detachEventHandlers(),p.option(\"allowDragging\")){var I=p._getEventListener();c.default.on(I,(0,f.addNamespace)(h.start,\"dxSortable\"),g,(function(i){var u,c,h,f,m=(e=(0,r.default)(i.currentTarget)).closest(v);s=m.attr(\"group\"),u=(v?m:C).find(g),c=-1,h=e.get(0),(0,l.each)(u,(function(e,t){var n=(0,r.default)(t);if(n.attr(\"item-group\")&&n.attr(\"item-group\")===u.eq(e-1).attr(\"item-group\")||(c+=1),t===h)return!1})),t=c===u.length?-1:c,e.attr(\"item-group\")&&(e=m.find(\"[item-group='\".concat(e.attr(\"item-group\"),\"']\"))),p._renderDraggable(e),n=p._renderItem(e,\"target\").addClass(b),e.addClass(y),a=[],(0,l.each)(e,(function(e,t){a.push((0,r.default)(t).offset())})),f=o.default.getRootNode(p.$element().get(0)),d=v?w?(0,r.default)(f).find(v).filter(w):C.find(v):C,p._indicator=(0,r.default)(\"<div>\").addClass(\"dx-position-indicator\")})),c.default.on(I,(0,f.addNamespace)(h.move,\"dxSortable\"),(function(o){var c,h,f,v;if(e)if(k=-1,p._indicator.detach(),(0,l.each)(p._$draggable,(function(e,t){(0,r.default)(t).css({top:a[e].top+o.offset.y,left:a[e].left+o.offset.x})})),i&&i.removeClass(b),(i=m(o,d))&&(v={sourceGroup:s,sourceIndex:t,sourceElement:e,targetGroup:i.attr(\"group\"),targetIndex:i.find(g).index(n)},x&&x(v),v.cancel&&(i=void 0)),i&&S&&i.get(0)!==S.element().get(0)&&D(),S&&S.moveIfNeed(o),i){!S&&i.attr(\"allow-scrolling\")&&(S=function(e){var t,n=e.scrollTop(),i=e.$element(),o=i.offset().top,a=(0,u.getHeight)(i),r=0;function s(e){n=e.scrollOffset.top}function l(){d(),e.scrollTo(n+=r),t=setTimeout(l,10)}function d(){clearTimeout(t)}return e.on(\"scroll\",s),{moveIfNeed:function(e){if(e.pageY<=o+20)r=-2;else{if(!(e.pageY>=o+a-20))return r=0,void d();r=2}l()},element:function(){return i},dispose:function(){d(),e.off(\"scroll\",s)}}}(i.dxScrollable(\"instance\"))),i.addClass(b);var w=i.find(_),C=w.find(g),I=i.closest(\".\".concat(\"dx-sortable-old\")).data(\"dxSortableOld\"),T=I.option(\"useIndicator\"),E=\"vertical\"===(I||p).option(\"direction\"),O=function(e,t,n){for(var i=[],o=[],a=0;a<e.length;a+=o.length)if((o=e.eq(a)).attr(\"item-group\")&&(o=n.find(\"[item-group='\".concat(o.attr(\"item-group\"),\"']\"))),o.is(\":visible\")){var r={item:o,index:i.length,posVertical:t?(o.last().offset().top+o.offset().top+(0,u.getOuterHeight)(o.last(),!0))/2:(0,u.getOuterHeight)(o.last(),!0)+o.last().offset().top,posHorizontal:t?void 0:((0,u.getOuterWidth)(o.last(),!0)+o.last().offset().left+o.offset().left)/2};i.push(r)}return i}(C,E,w),A=p._getItemOffset(E,O,o);if(A){if(c=A.item,f=O[A.index-1]&&O[A.index-1].item,c.hasClass(y)||f&&f.hasClass(y)&&f.is(\":visible\"))return void n.detach();if(k=A.index,!T)return void n.insertBefore(c);var P=i.attr(\"group\")!==s,M=k===t,R=k===t+1;if(P)return void p._renderIndicator(c,E,i,p.option(\"rtlEnabled\")&&!E);M||R||p._renderIndicator(c,E,i,p.option(\"rtlEnabled\")&&!E)}else{if((h=C.last()).is(\":visible\")&&h.hasClass(y))return;w.length&&(k=O.length?O[O.length-1].index+1:0),T?C.length&&p._renderIndicator(h,E,i,!p.option(\"rtlEnabled\")||E):n.appendTo(w)}}else n.detach()})),c.default.on(I,(0,f.addNamespace)(h.end,\"dxSortable\"),(function(){if(D(),e){var o=p.option(\"onChanged\"),a={sourceIndex:t,sourceElement:e,sourceGroup:s,targetIndex:k,removeSourceElement:!0,removeTargetElement:!1,removeSourceClass:!0};i&&(i.removeClass(b),a.targetGroup=i.attr(\"group\"),(s!==a.targetGroup||k>-1)&&(o&&o(a),a.removeSourceElement&&e.remove())),p._indicator.detach(),a.removeSourceClass&&e.removeClass(y),e=null,p._$draggable.remove(),p._$draggable=null,a.removeTargetElement&&n.remove(),n.removeClass(b),n=null}}))}},_init:function(){this.callBase(),this._attachEventHandlers()},_render:function(){this.callBase(),this.$element().addClass(\"dx-sortable-old\")},_dispose:function(){var e=this;e.callBase.apply(e,arguments),e._$draggable&&e._$draggable.detach(),e._indicator&&e._indicator.detach()},_optionChanged:function(e){switch(e.name){case\"onDragging\":case\"onChanged\":case\"itemRender\":case\"groupSelector\":case\"itemSelector\":case\"itemContainerSelector\":case\"sourceClass\":case\"targetClass\":case\"dragClass\":case\"allowDragging\":case\"groupFilter\":case\"useIndicator\":this._attachEventHandlers();break;case\"direction\":break;default:this.callBase(e)}},_useTemplates:function(){return!1}});t.Sortable=_,(0,i.default)(\"dxSortableOld\",_);var v={Sortable:_};t.default=v},42717:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Cell=void 0,t.applyDisplaySummaryMode=b,t.applyRunningTotal=x,t.createMockSummaryCell=w,t.default=void 0,t.getExpression=v,t.summaryDictionary=void 0;var o=n(13306),a=n(35922),r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=a?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(o,r,l):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(28580));function s(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}var l=\"row\",u=function(e,t){var n=e/t;return(0,a.isDefined)(e)&&!isNaN(n)||(n=null),n},d=function(e,t){return u(e.value(),e.grandTotal(t).value())},c=function(e,t){var n=e.parent(t),i=n?n.value():e.value();return u(e.value(),i)},h=function(e){return function(t){var n=t.prev(\"column\",e),i=n&&n.value();return(0,a.isDefined)(i)&&(0,a.isDefined)(t.value())?t.value()-i:null}},f={percentOfColumnTotal:function(e){return c(e,l)},percentOfRowTotal:function(e){return c(e,\"column\")},percentOfColumnGrandTotal:function(e){return d(e,l)},percentOfRowGrandTotal:function(e){return d(e,\"column\")},percentOfGrandTotal:function(e){return d(e)}};t.summaryDictionary=f;var p=function(e){if(e.runningTotal){var t=\"column\"===e.runningTotal?l:\"column\";return function(n){var i=e.allowCrossGroupCalculation?function e(t,n){if(t&&t.parent(n)){var i=t.prev(n);return i||(i=e(t.parent(n),n)),i}}(n,t):n.prev(t,!1),o=n.value(!0),r=i&&i.value(!0);return(0,a.isDefined)(r)&&(0,a.isDefined)(o)?o=r+o:(0,a.isDefined)(r)&&(o=r),o}}};function g(e,t,n){var i={index:-1};if(!(0,a.isObject)(t))if(n.fields[t])t=n[t];else{var o=e.columns.concat(e.rows).concat(e.values),s=(0,r.findField)(o,t);t=n[t]=o[s]}if(t){var l=t.area||\"data\";i=n.positions[t.index]=n.positions[t.index]||{area:l,index:e[\"data\"===l?\"values\":\"\".concat(l,\"s\")].indexOf(t)}}return i}function m(e){return e===l?\"_rowPath\":\"_columnPath\"}var _=function(e,t,n,i,o,a){this._columnPath=e,this._rowPath=t,this._fieldIndex=o,this._fieldsCache=a||{fields:{},positions:{}},this._data=n,this._descriptions=i;var r=n.values&&n.values[t[0].index]&&n.values[t[0].index][e[0].index];r&&(r.originalCell=r.originalCell||r.slice(),r.postProcessedFlags=r.postProcessedFlags||[],this._cell=r)};function v(e){var t,n,i=e.summaryDisplayMode,o=e.allowCrossGroupCalculation,s=null;return(0,a.isFunction)(e.calculateSummaryValue)?s=e.calculateSummaryValue:i&&(\"absoluteVariation\"===i?s=h(o):\"percentVariation\"===i?(n=h(t=o),s=function(e){var i=n(e),o=e.prev(\"column\",t),a=o&&o.value();return null!==i&&a?i/a:null}):s=f[i],s&&!e.format&&-1!==i.indexOf(\"percent\")&&r.default.setFieldProperty(e,\"format\",\"percent\")),s}function y(e,t,n,i){var o=e.values[t][n]=e.values[t][n]||[],a=o.originalCell;a&&(!o.allowResetting&&i||(e.values[t][n]=a.slice()),e.values[t][n].allowResetting=i)}function b(e,t){var n=[],i=[{index:t.grandTotalColumnIndex,children:t.columns}],o=[{index:t.grandTotalRowIndex,children:t.rows}],a=e.values,s={fields:{},positions:{}};t.values=t.values||[],(0,r.foreachTree)(i,(function(e){e[0].isEmpty=[]}),!1),(0,r.foreachTree)(o,(function(o){var l=o[0];l.isEmpty=[],t.values[l.index]=t.values[l.index]||[],(0,r.foreachTree)(i,(function(i){var r,u=i[0];y(t,l.index,u.index,!1);for(var d=0;d<a.length;d+=1){var c=a[d],h=n[d]=void 0===n[d]?v(c):n[d];if(r=!1,h){var f=new _(i,o,t,e,d,s),p=f.cell(),g=p[d]=h(f);p.postProcessedFlags[d]=!0,r=null==g}void 0===u.isEmpty[d]&&(u.isEmpty[d]=!0),void 0===l.isEmpty[d]&&(l.isEmpty[d]=!0),r||(l.isEmpty[d]=u.isEmpty[d]=!1)}}),!1)}),!1),t.isEmptyGrandTotalRow=o[0].isEmpty,t.isEmptyGrandTotalColumn=i[0].isEmpty}function x(e,t){var n=[],i=[{index:t.grandTotalColumnIndex,children:t.columns}],o=[{index:t.grandTotalRowIndex,children:t.rows}],a=e.values,s={fields:{},positions:{}};t.values=t.values||[],(0,r.foreachTree)(o,(function(o){var l=o[0];t.values[l.index]=t.values[l.index]||[],(0,r.foreachTree)(i,(function(i){var r=i[0];y(t,l.index,r.index,!0);for(var u=0;u<a.length;u+=1){var d=a[u],c=n[u]=void 0===n[u]?p(d):n[u];if(c){var h=new _(i,o,t,e,u,s),f=h.cell();f[u]=c(h),f.postProcessedFlags[u]=!0}}}),!1)}),!1)}function w(e,t,n){var i=new _([],[],{},e,0);return i.value=function(i){if((0,a.isDefined)(i)){var o=(0,r.findField)(t,i),s=t[o];n[o]||!s||(0,a.isDefined)(s.area)||(e.values.push(s),n[o]=!0)}},i.grandTotal=function(){return this},i.children=function(){return[]},i}t.Cell=_,_.prototype=(0,o.extend)(_.prototype,{_getPath:function(e){return this[m(e)]},_getDimension:function(e){return e=e===l?\"rows\":\"columns\",this._descriptions[e]},_createCell:function(e){return new _(e._columnPath||this._columnPath,e._rowPath||this._rowPath,this._data,this._descriptions,this._fieldIndex)},parent:function(e){var t=this._getPath(e).slice(),n={};return t.shift(),t.length?(n[m(e)]=t,this._createCell(n)):null},children:function(e){var t=this._getPath(e).slice(),n=t[0],i=[],o={};if(n.children)for(var a=0;a<n.children.length;a+=1)o[m(e)]=[n.children[a]].concat(t.slice()),i.push(this._createCell(o));return i},grandTotal:function(e){var t={},n=this._rowPath,i=this._columnPath,o=this._getPath(e),a=m(e);return e?t[a]=[o[o.length-1]]:(t._rowPath=[n[n.length-1]],t._columnPath=[i[i.length-1]]),this._createCell(t)},next:function(e,t){var n,i=this._getPath(e),o=i[0],a=this.parent(e);if(a){var r=i[1].children.indexOf(o);if((n=a.children(e))[r+1])return n[r+1]}if(t&&a){do{n=(a=a.next(e,t))?a.children(e):[]}while(a&&!n.length);return n[0]||null}return null},prev:function(e,t){var n,i=this._getPath(e),o=i[0],a=this.parent(e);if(a){var r=i[1].children.indexOf(o);if((n=a.children(e))[r-1])return n[r-1]}if(t&&a){do{n=(a=a.prev(e,t))?a.children(e):[]}while(a&&!n.length);return n[n.length-1]||null}return null},cell:function(){return this._cell},field:function(e){if(\"data\"===e)return this._descriptions.values[this._fieldIndex];var t=this._getPath(e),n=this._getDimension(e)[t.length-2];return n||null},child:function(e,t){for(var n,i=this.children(e),o=0;o<i.length;o+=1)if(n=n||i[o].field(e),i[o].value(n)===t)return i[o];return null},slice:function(e,t){var n={},i=g(this._descriptions,e,this._fieldsCache),o=i.area,a=i.index,r=null;if(o===l||\"column\"===o){var s=this._getPath(o).slice(),u=-1!==a&&s.length-2-a;if(s[u]){[][s.length-1]=s[s.length-1];for(var d=u;d>=0;d-=1){if(s[d+1]){var c=s[d+1].children||[],h=d===u?t:s[d].value;s[d]=void 0;for(var f=0;f<c.length;f+=1)if(c[f].value===h){s[d]=c[f];break}}if(void 0===s[d])return r}n[m(o)]=s,r=this._createCell(n)}}return r},value:function(e,t){var n=this._cell,i=this._fieldIndex,o=!0===e||!1===e,r=o?null:e,s=o&&e||t;if((0,a.isDefined)(r)){var l=g(this._descriptions,r,this._fieldsCache);if(i=l.index,\"data\"!==l.area){var u=this._getPath(l.area),d=-1!==i&&u.length-2-i;return u[d]&&u[d].value}}return n&&n.originalCell?s?n[i]:n.originalCell[i]:null},isPostProcessed:function(e){var t=this._fieldIndex;if((0,a.isDefined)(e)){var n=g(this._descriptions,e,this._fieldsCache);if(t=n.index,\"data\"!==n.area)return!1}return!(!this._cell||!this._cell.postProcessedFlags[t])}});var C={Cell:_,summaryDictionary:f,getExpression:v,applyRunningTotal:x,createMockSummaryCell:w,applyDisplaySummaryMode:b};t.default=C},79755:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.XmlaStore=void 0;var o=_(n(38377)),a=_(n(68374)),r=n(20576),s=n(62754),l=n(13306),u=n(95479),d=n(68752),c=n(35922),h=n(58201),f=n(18438),p=n(9821),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=m(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(28580));function m(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(m=function(e){return e?n:t})(e)}function _(e){return e&&e.__esModule?e:{default:e}}function v(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e)||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 y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var b=(0,h.getWindow)(),x=o.default.inherit(function(){var e='<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\"><Body><Discover xmlns=\"urn:schemas-microsoft-com:xml-analysis\"><RequestType>{2}</RequestType><Restrictions><RestrictionList><CATALOG_NAME>{0}</CATALOG_NAME><CUBE_NAME>{1}</CUBE_NAME></RestrictionList></Restrictions><Properties><PropertyList><Catalog>{0}</Catalog>{3}</PropertyList></Properties></Discover></Body></Envelope>',t=\"SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS\";function n(e,t){var n=new s.Deferred,i=e.beforeSend,o={url:e.url,dataType:\"text\",data:t,headers:{\"Content-Type\":\"text/xml\"},xhrFields:{},method:\"POST\"};return(0,c.isFunction)(i)&&i(o),g.default.sendRequest(o).fail((function(){n.reject(arguments)})).done((function(e){var t,i=new b.DOMParser;try{try{t=i.parseFromString(e,\"text/xml\")}catch(e){t=void 0}if(!t||t.getElementsByTagName(\"parsererror\").length||0===t.childNodes.length)throw new f.errors.Error(\"E4023\",e)}catch(t){n.reject({statusText:t.message,stack:t.stack,responseText:e})}n.resolve(t)})),n}function i(){var e=(0,p.getLanguageId)();return void 0!==e?(0,d.format)(\"<LocaleIdentifier>{0}</LocaleIdentifier>\",e):\"\"}function o(e){return\"\".concat(e.hierarchyName||e.dataField,\".[All]\")}function h(e){var t=\"\".concat(e.dataField,\".allMembers\"),n=e.searchValue;return n&&(n=n.replace(/'/g,\"''\"),t=\"Filter(\".concat(t,\", instr(\").concat(e.dataField,\".currentmember.member_caption,'\").concat(n,\"') > 0)\")),t}function m(e){var t=e.join(\",\");return e.length>1?(0,d.format)(\"CrossJoin({0})\",t):t}function _(e,t,n,i,a,r,s,l){for(var u,c,f,p,g,_=[],v=r[s],y=[],b=i;b<=t;b+=1){var x=v[b],w=x.dataField,C=v[b-1]&&v[b-1].hierarchyName,S=x.hierarchyName,k=!S||!v[b+1]||v[b+1].hierarchyName!==S,D=e.length+n+i;if(u=null,y.push(x),b<e.length)k&&(u=\"(\".concat(w,\".\").concat(R(e[b],w),\")\"));else if(b<=D)if(0===b&&0===n){var I=o(v[i]);u=S?\"\".concat(I,\",\").concat(v[i].dataField):h(v[i])}else S?(f=R(a[a.length-1]),(k||b===D)&&(C===S?(a.length&&(c=v[a.length-1]),c&&c.hierarchyName===S||(c=v[b-1],f=\"\"),p=c.dataField,g=w,u=\"Descendants({\".concat(f||p,\"}, \").concat(g,\", SELF_AND_BEFORE)\")):u=h(x))):u=h(x);else{(!S||C!==S)&&(u=\"(\".concat(o(x),\")\"))}if(u){if(u=(0,d.format)(\"{{0}}\",u),l){var T=(x.hierarchyName||x.dataField)+(\"displayText\"===x.sortBy?\".MEMBER_CAPTION\":\".MEMBER_VALUE\");u=(0,d.format)(\"Order({0}, {1}, {2})\",u,T,\"desc\"===x.sortOrder?\"DESC\":\"ASC\")}_.push(u)}}return m(_)}function y(e,t,n,i,o,a,r,s,l,u){var c,h=-1,f=a[r];do{h+=1,c=t.length+h+i;var p=_(t,n,h,i,o,a,r,l);l||u||(p=(0,d.format)(\"NonEmpty({0}, {1})\",p,s)),e.push(p)}while(f[c]&&f[c+1]&&f[c].expanded)}function x(e,t,n,i){return n=n||\"[DX_Set_\".concat(t.length,\"]\"),i=i||\"set\",t.push((0,d.format)(\"{0} {1} as {2}\",i,n,e)),n}function w(e,t,n,i,o){var a,r,s=e[t],l=[],c=[],h=[],f=0,p=0,_=[],v=(0,d.format)(\"{{0}}\",n.join(\",\"));if(s&&s.length){e.headerName===t?(c=e.path,f=c.length):e.headerName&&e.oppositePath?(c=e.oppositePath,f=c.length):h=(\"columns\"===t?e.columnExpandedPaths:e.rowExpandedPaths)||h,p=(0,g.getExpandedLevel)(e,t),y(l,[],p,f,c,e,t,v,\"rows\"===t?e.rowTake:e.columnTake,e.totalsOnly),(0,u.each)(h,(function(n,i){y(l,i,p,f,i,e,t,v)}));for(var b=p;b>=c.length;b-=1)s[b].hierarchyName&&(o.visibleLevels[s[b].hierarchyName]=o.visibleLevels[s[b].hierarchyName]||[],o.visibleLevels[s[b].hierarchyName].push(s[b].dataField))}if(l.length){var w=(r=(a=l).join(\",\"),a.length>1?\"Union(\".concat(r,\")\"):r);\"rows\"===t&&e.rowTake&&(w=(0,d.format)(\"Subset({0}, {1}, {2})\",w,e.rowSkip>0?e.rowSkip+1:0,e.rowSkip>0?e.rowTake:e.rowTake+1)),\"columns\"===t&&e.columnTake&&(w=(0,d.format)(\"Subset({0}, {1}, {2})\",w,e.columnSkip>0?e.columnSkip+1:0,e.columnSkip>0?e.columnTake:e.columnTake+1));var C=\"[DX_\".concat(t,\"]\");_.push(x(w,i,C)),e.totalsOnly&&_.push(x(\"COUNT(\".concat(C,\")\"),i,\"[DX_\".concat(t,\"_count]\"),\"member\"))}return\"columns\"===t&&n.length&&!e.skipValues&&_.push(v),(0,d.format)(\"{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME, MEMBER_VALUE ON {1}\",m(_),t)}function C(e){var t=[];return(0,u.each)(e,(function(e,n){var i,o=n.dataField,a=[],r=n.filterValues||[];n.hierarchyName&&(0,c.isNumeric)(n.groupIndex)||((0,u.each)(r,(function(e,t){var i=\"\".concat(o,\".\").concat(R(Array.isArray(t)?t[t.length-1]:t,o));\"exclude\"===n.filterType&&(a.push(\"\".concat(i,\".parent\")),i=\"Descendants(\".concat(i,\")\")),a.push(i)})),r.length&&(i=(0,d.format)(\"{{0}}\",a.join(\",\")),\"exclude\"===n.filterType&&(i=\"Except(\".concat(h(n),\",\").concat(i,\")\")),t.push(i)))})),t.length?m(t):\"\"}function S(e,t,n,i){var o=\"[\".concat(i,\"]\");return(0,u.each)([e,t,n],(function(e,t){t&&(o=(0,d.format)(\"(SELECT {0} FROM {1})\",\"\".concat(t,\"on 0\"),o))})),o}function k(e,n,i,o,a,r,s){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},u=\"\",c=\"\".concat(n.length?\"with \".concat(n.join(\" \")):\"\",\" \");if(e.length){var h;if(l.totalsOnly){var f=[];o.length&&f.push(\"[DX_rows_count]\"),i.length&&f.push(\"[DX_columns_count]\"),h=\"{\".concat(f.join(\",\"),\"} on columns\")}else h=e.join(\",\");u=c+(0,d.format)(t,S(C(i),C(o),C(a||[]),s),r.length?(0,d.format)(\"WHERE ({0})\",r.join(\",\")):\"\",h)}return u}function D(e,t){return(0,u.map)(t,(function(t){return(0,c.isString)(t.expression)&&x(t.expression,e,t.dataField,\"member\"),t.dataField}))}function I(e,t,n,i){(0,u.each)(i,(function(i,o){var a=t[n][i];a.hierarchyName&&a.hierarchyName===t[n][i+1].hierarchyName||e.push(\"\".concat(a.dataField,\".\").concat(R(o,a.dataField)))}))}function T(e,t,n){var i=e.columns||[],o=e.rows||[],a=e.values&&e.values.length?e.values:[{dataField:\"[Measures]\"}],r=[],s=[],l=[],u=D(s,a);return n.measureCount=e.skipValues?1:a.length,n.visibleLevels={},e.headerName&&e.path&&I(r,e,e.headerName,e.path),e.headerName&&e.oppositePath&&I(r,e,\"rows\"===e.headerName?\"columns\":\"rows\",e.oppositePath),(i.length||u.length)&&l.push(w(e,\"columns\",u,s,n)),o.length&&l.push(w(e,\"rows\",u,s,n)),k(l,s,i,o,e.filters,r,t,e)}function E(e,t,n){(0,u.each)(n,(function(n,i){var o=t[n];o.hierarchyName&&(t[n+1]||{}).hierarchyName===o.hierarchyName||e.push(\"\".concat(o.dataField,\".\").concat(R(i,o.dataField)))}))}function O(e){return parseInt(e,10)}function A(e,t){return P(function(e,t){return(e.getElementsByTagName(t)||[])[0]}(e,t))}function P(e){return e&&(e.textContent||e.text||e.innerHTML)||\"\"}function M(e,t,n){for(var i=[],o=[],a=0,r=[],s=e.getElementsByTagName(\"Cell\"),l={},d=0;d<s.length;d+=1){var c=s[d],h=c.getElementsByTagName(\"Value\")[0],p=h&&h.getElementsByTagName(\"Error\")||[],g=0===p.length?P(h):\"#N/A\",m=parseFloat(g),_=g-m+1>0,v=O(c.getAttribute(\"CellOrdinal\"));p.length&&(l[P(p[0].getElementsByTagName(\"ErrorCode\")[0])]=P(p[0].getElementsByTagName(\"Description\")[0])),r[v]={value:_?m:g||null}}return(0,u.each)(t[1],(function(){var e=[];i.push(e),(0,u.each)(t[0],(function(){0===a%n&&(o=[],e.push(o)),o.push(r[a]?r[a].value:null),a+=1}))})),Object.keys(l).forEach((function(e){f.errors.log(\"W4002\",l[e])})),i}function R(e,t){return e&&(e=(0,c.isString)(e)&&e.includes(\"&\")?e:\"[\".concat(e,\"]\"),t&&0===e.indexOf(\"\".concat(t,\".\"))&&(e=e.slice(t.length+1,e.length))),e}function B(e,t,n,i){var o=e[t];return o||(o={},e[t]=o),!(0,c.isDefined)(o.value)&&n&&(o.text=n.caption,o.value=n.value,o.key=t||\"\",o.levelName=n.levelName,o.hierarchyName=n.hierarchyName,o.parentName=n.parentName,o.index=i,o.level=n.level),o}function L(e,t){var n=[],i=e.children&&(e.children.length?e.children:Object.keys(e.children.grandTotalHash||{}).reduce((function(t,n){return t.concat(e.children.grandTotalHash[n].children)}),[])),o=i&&i[0];if(o&&(t[o.hierarchyName]&&t[o.hierarchyName].includes(o.levelName)||!t[o.hierarchyName]||0===o.level)){var a=i.filter((function(e){return e.hierarchyName===o.hierarchyName}));return a.grandTotalHash=i.grandTotalHash,a}if(o)for(var r=0;r<i.length;r+=1)i[r].hierarchyName===o.hierarchyName&&n.push.apply(n,L(i[r],t));return n}function V(e,t,n,i){var o=[];(0,u.each)(t,(function(e,t){var i={children:o},a=(0,c.isDefined)(n)?Math.floor(e/n):e;(0,u.each)(t,(function(e,t){i=function(e,t,n){var i=n.children=n.children||[],o=i.hash=i.hash||{},a=i.grandTotalHash=i.grandTotalHash||{};t.parentName&&(i=(n=B(o,t.parentName)).children=n.children||[]);var r=B(o,t.name,t,e);return t.hasValue&&!r.added&&(r.index=e,r.added=!0,i.push(r)),n.value&&n.parentName||!t.parentName?a[n.name]&&delete a[t.parentName]:a[t.parentName]=n,r}(a,t,i)}))}));var a={children:o};a.children=L(a,i);var r=function(e,t){var n;if(1===e.children.length&&\"\"===e.children[0].parentName){n=e.children[0].index;var i=e.children.grandTotalHash;e.children=e.children[0].children||[],e.children.grandTotalHash=i,e.children=L(e,t)}else 0===e.children.length&&(n=0);return n}(a,i);return(0,g.foreachTree)(a.children,(function(e){var t=e[0],n=L(t,i);n.length?t.children=n:delete t.children,delete t.levelName,delete t.hierarchyName,delete t.added,delete t.parentName,delete t.level}),!0),(0,u.each)(a.children||[],(function(t,n){e.push(n)})),r}function F(e){var t=e.getElementsByTagName(\"soap:Fault\"),n=e.getElementsByTagName(\"Fault\"),i=(0,a.default)([].slice.call(n.length?n:t)).find(\"Error\");if(i.length){var o=i.attr(\"Description\"),r=new f.errors.Error(\"E4000\",o);return f.errors.log(\"E4000\",o),r}return null}function H(e,t){var n={columns:[],rows:[]},i=t.measureCount,o=function(e,t){var n=[];for((0,u.each)(e.getElementsByTagName(\"Axis\"),(function(e,i){var o=i.getAttribute(\"name\"),a=[],r=0;0===o.indexOf(\"Axis\")&&(0,c.isNumeric)(O(o.substr(4)))&&(n.push(a),(0,u.each)(i.getElementsByTagName(\"Tuple\"),(function(e,i){var o,s=i.childNodes,l=0,u=[],d=t?s.length:s.length-1;1===n.length&&(d-=1),a.push(u);for(var h=d;h>=0;h-=1){var f=s[h],p=O(A(f,\"LNum\"));u[h]={caption:A(f,\"Caption\"),value:(o=A(f,\"MEMBER_VALUE\"),(0,c.isNumeric)(o)?parseFloat(o):o),level:p,index:r++,hasValue:!(l||!p&&0!==h),name:A(f,\"UName\"),hierarchyName:s[h].getAttribute(\"Hierarchy\"),parentName:A(f,\"PARENT_UNIQUE_NAME\"),levelName:A(f,\"LName\")},l+=p}})))}));n.length<2;)n.push([[{level:0}]]);return n}(e,t.skipValues);return n.grandTotalColumnIndex=V(n.columns,o[0],i,t.visibleLevels),n.grandTotalRowIndex=V(n.rows,o[1],void 0,t.visibleLevels),n.values=M(e,o,i),n}function N(e,t,n,i){var o=[],a=\"MEASURE\"===t,r=a?\"MEASUREGROUP_NAME\":\"\".concat(t,\"_DISPLAY_FOLDER\");return(0,u.each)(e.getElementsByTagName(\"row\"),(function(e,s){var l=\"LEVEL\"===t?A(s,\"HIERARCHY_UNIQUE_NAME\"):void 0,u=A(s,\"LEVEL_NUMBER\"),d=A(s,r);if(a&&(d=i[d]||d),(\"0\"!==u||\"true\"!==A(s,\"\".concat(t,\"_IS_VISIBLE\")))&&\"2\"!==A(s,\"DIMENSION_TYPE\")){var c=a?\"DX_MEASURES\":A(s,\"DIMENSION_UNIQUE_NAME\"),h=A(s,\"\".concat(t,\"_UNIQUE_NAME\"));o.push({dimension:n.names[c]||c,groupIndex:u?O(u)-1:void 0,dataField:h,caption:A(s,\"\".concat(t,\"_CAPTION\")),hierarchyName:l,groupName:l,displayFolder:d,isMeasure:a,isDefault:!!n.defaultHierarchies[h]})}})),o}function z(e,t){return t=(0,a.default)(\"<div>\").text(t).html(),n(e,(0,d.format)('<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\"><Body><Execute xmlns=\"urn:schemas-microsoft-com:xml-analysis\"><Command><Statement>{0}</Statement></Command><Properties><PropertyList><Catalog>{1}</Catalog><ShowHiddenCubes>True</ShowHiddenCubes><SspropInitAppName>Microsoft SQL Server Management Studio</SspropInitAppName><Timeout>3600</Timeout>{2}</PropertyList></Properties></Execute></Body></Envelope>',t,e.catalog,i()))}return{ctor:function(e){this._options=e},getFields:function(){var t=this._options,o=t.catalog,r=t.cube,l=i(),c=n(t,(0,d.format)(e,o,r,\"MDSCHEMA_DIMENSIONS\",l)),h=n(t,(0,d.format)(e,o,r,\"MDSCHEMA_MEASURES\",l)),f=n(t,(0,d.format)(e,o,r,\"MDSCHEMA_HIERARCHIES\",l)),p=n(t,(0,d.format)(e,o,r,\"MDSCHEMA_LEVELS\",l)),g=new s.Deferred;return(0,s.when)(c,h,f,p).then((function(i,s,c,h){n(t,(0,d.format)(e,o,r,\"MDSCHEMA_MEASUREGROUPS\",l)).done((function(e){var t=function(e){var t={names:{},defaultHierarchies:{}};return(0,u.each)((0,a.default)(e).find(\"row\"),(function(){var e=(0,a.default)(this),n=\"2\"===e.children(\"DIMENSION_TYPE\").text()?\"DX_MEASURES\":e.children(\"DIMENSION_UNIQUE_NAME\").text();t.names[n]=e.children(\"DIMENSION_CAPTION\").text(),t.defaultHierarchies[e.children(\"DEFAULT_HIERARCHY\").text()]=!0})),t}(i),n=N(c,\"HIERARCHY\",t),o=N(h,\"LEVEL\",t),r=function(e){var t={};return(0,u.each)(e.getElementsByTagName(\"row\"),(function(e,n){t[A(n,\"MEASUREGROUP_NAME\")]=A(n,\"MEASUREGROUP_CAPTION\")})),t}(e),l=N(s,\"MEASURE\",t,r).concat(n),d={};(0,u.each)(o,(function(e,t){d[t.hierarchyName]=d[t.hierarchyName]||[],d[t.hierarchyName].push(t)})),(0,u.each)(n,(function(e,t){d[t.dataField]&&d[t.dataField].length>1&&(t.groupName=t.hierarchyName=t.dataField,l.push.apply(l,d[t.hierarchyName]))})),g.resolve(l)})).fail(g.reject)})).fail(g.reject),g},load:function(e){var t,n=new s.Deferred,i=this._options,o={skipValues:e.skipValues},a=T(e,i.cube,o);(e.rowSkip||e.rowTake||e.columnTake||e.columnSkip)&&(t=T((0,l.extend)({},e,{totalsOnly:!0,rowSkip:null,rowTake:null,columnSkip:null,columnTake:null}),i.cube,{}));var r=function(){a?(0,s.when)(z(i,a),t&&z(i,t)).done((function(t,i){var a=F(t)||i&&F(i);if(a)n.reject(a);else{var r=H(t,o);i&&function(e,t,n){var i=[],o=t.columns||[],a=t.rows||[];o.length&&i.push({}),a.length&&i.push({});var r=M(n,[[{}],[{},{}]],1);if(!o.length&&a.length&&(e.rowCount=Math.max(r[0][0][0]-1,0)),!a.length&&o.length&&(e.columnCount=Math.max(r[0][0][0]-1,0)),a.length&&o.length&&(e.rowCount=Math.max(r[0][0][0]-1,0),e.columnCount=Math.max(r[1][0][0]-1,0)),void 0!==e.rowCount&&t.rowTake){e.rows=v(Array(t.rowSkip)).concat(e.rows),e.rows.length=e.rowCount;for(var s=0;s<e.rows.length;s+=1)e.rows[s]=e.rows[s]||{}}if(void 0!==e.columnCount&&t.columnTake){e.columns=v(Array(t.columnSkip)).concat(e.columns),e.columns.length=e.columnCount;for(var l=0;l<e.columns.length;l+=1)e.columns[l]=e.columns[l]||{}}}(r,e,i),n.resolve(r)}})).fail(n.reject):n.resolve({columns:[],rows:[],values:[],grandTotalColumnIndex:0,grandTotalRowIndex:0})};return e.delay?setTimeout(r,e.delay):r(),n},supportPaging:function(){return!0},getDrillDownItems:function(e,t){var n=new s.Deferred,i=this._options,o=function(e,t,n){var i=e.columns||[],o=e.rows||[],a=[],r=[],s=[],l=D(r,e.values&&e.values.length?e.values:[{dataField:\"[Measures]\"}]),u=n.maxRowCount,d=n.customColumns||[],c=d.length>0?\" return \".concat(d.join(\",\")):\"\";E(a,i,n.columnPath||[]),E(a,o,n.rowPath||[]),(i.length||l.length)&&s.push([\"\".concat(l[n.dataIndex]||l[0],\" on 0\")]);var h=k(s,r,i,o,e.filters,a,t);return h?\"drillthrough\".concat(u>0?\" maxrows \".concat(u):\"\").concat(h).concat(c):h}(e,i.cube,t);return o?(0,s.when)(z(i,o)).done((function(e){var t=F(e);t?n.reject(t):n.resolve(function(e){for(var t,n,i=e.getElementsByTagName(\"row\"),o=[],a={},r=0;r<i.length;r+=1){for(var s=i[r].childNodes,l={},u=0;u<s.length;u+=1){var d=s[u].tagName;l[a[d]=a[d]||(n=void 0,(n=(t=(t=d).replace(/_x(....)_/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))).match(/\\[.+?\\]/gi))&&n.length&&(t=n[n.length-1]),t.replace(/\\[/gi,\"\").replace(/\\]/gi,\"\").replace(/\\$/gi,\"\").replace(/\\./gi,\" \"))]=P(s[u])}o.push(l)}return o}(e))})).fail(n.reject):n.resolve([]),n},key:r.noop,filter:r.noop}}()).include(g.storeDrillDownMixin);t.XmlaStore=x;var w={XmlaStore:x};t.default=w},71948:function(e,t,n){var i,o=n(14509),a=(i=n(12500))&&i.__esModule?i:{default:i};var r=o.columnHeadersModule.views.columnHeadersView.inherit({setTableRole:function(e){this.setAria(\"role\",\"treegrid\",e)}});a.default.registerModule(\"columnHeaders\",{defaultOptions:o.columnHeadersModule.defaultOptions,views:{columnHeadersView:r}})},26686:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DataController=void 0;var i=n(20576),o=n(62754),a=n(13306),r=n(72119),s=u(n(22821)),l=u(n(12500));function u(e){return e&&e.__esModule?e:{default:e}}var d=r.dataControllerModule.controllers.data.inherit({_getDataSourceAdapter:function(){return s.default},_getNodeLevel:function(e){for(var t=-1;e.parent;)e.visible&&t++,e=e.parent;return t},_generateDataItem:function(e,t){return{rowType:\"data\",node:e,key:e.key,data:e.data,isExpanded:this.isRowExpanded(e.key,t),level:this._getNodeLevel(e)}},_loadOnOptionChange:function(){this._dataSource.load()},_isItemEquals:function(e,t){return e.isSelected===t.isSelected&&(!e.node||!t.node||e.node.hasChildren===t.node.hasChildren)&&e.level===t.level&&e.isExpanded===t.isExpanded&&this.callBase.apply(this,arguments)},_isCellChanged:function(e,t,n,i,o){var a=this._columnsController.getFirstDataColumnIndex();return i===a&&e.isSelected!==t.isSelected||this.callBase.apply(this,arguments)},init:function(){this.createAction(\"onRowExpanding\"),this.createAction(\"onRowExpanded\"),this.createAction(\"onRowCollapsing\"),this.createAction(\"onRowCollapsed\"),this.callBase.apply(this,arguments)},keyOf:function(e){var t=this._dataSource;if(t)return t.keyOf(e)},key:function(){var e=this._dataSource;if(e)return e.getKeyExpr()},publicMethods:function(){return this.callBase().concat([\"expandRow\",\"collapseRow\",\"isRowExpanded\",\"getRootNode\",\"getNodeByKey\",\"loadDescendants\",\"forEachNode\"])},changeRowExpand:function(e){var t=this;if(this._dataSource){var n={key:e},i=this.isRowExpanded(e);if(this.executeAction(i?\"onRowCollapsing\":\"onRowExpanding\",n),!n.cancel)return this._dataSource.changeRowExpand(e).done((function(){t.executeAction(i?\"onRowCollapsed\":\"onRowExpanded\",n)}))}return(new o.Deferred).resolve()},isRowExpanded:function(e,t){return this._dataSource&&this._dataSource.isRowExpanded(e,t)},expandRow:function(e){return this.isRowExpanded(e)?(new o.Deferred).resolve():this.changeRowExpand(e)},collapseRow:function(e){return this.isRowExpanded(e)?this.changeRowExpand(e):(new o.Deferred).resolve()},getRootNode:function(){return this._dataSource&&this._dataSource.getRootNode()},optionChanged:function(e){switch(e.name){case\"rootValue\":case\"parentIdExpr\":case\"itemsExpr\":case\"filterMode\":case\"expandNodesOnFiltering\":case\"autoExpandAll\":case\"hasItemsExpr\":case\"dataStructure\":this._columnsController.reset(),this._items=[],this._refreshDataSource(),e.handled=!0;break;case\"expandedRowKeys\":case\"onNodesInitialized\":!this._dataSource||this._dataSource._isNodesInitializing||(0,i.equalByValue)(e.value,e.previousValue)||this._loadOnOptionChange(),e.handled=!0;break;case\"maxFilterLengthInRequest\":e.handled=!0;break;default:this.callBase(e)}},getNodeByKey:function(e){if(this._dataSource)return this._dataSource.getNodeByKey(e)},getChildNodeKeys:function(e){if(this._dataSource)return this._dataSource.getChildNodeKeys(e)},loadDescendants:function(e,t){if(this._dataSource)return this._dataSource.loadDescendants(e,t)},forEachNode:function(){this._dataSource.forEachNode.apply(this,arguments)}});t.DataController=d,l.default.registerModule(\"data\",{defaultOptions:function(){return(0,a.extend)({},r.dataControllerModule.defaultOptions(),{itemsExpr:\"items\",parentIdExpr:\"parentId\",rootValue:0,dataStructure:\"plain\",expandedRowKeys:[],filterMode:\"withAncestors\",expandNodesOnFiltering:!0,autoExpandAll:!1,onNodesInitialized:null,maxFilterLengthInRequest:1500,paging:{enabled:!1}})},controllers:{data:d}})},22821:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(20576),o=n(47617),a=n(62754),r=n(13306),s=n(95479),l=n(35922),u=_(n(26562)),d=n(60637),c=_(n(96687)),h=_(n(99236)),f=_(n(96688)),p=_(n(30945)),g=_(n(60082)),m=_(n(12500));function _(e){return e&&e.__esModule?e:{default:e}}var v,y=h.default.queryByOptions,b=function(e){return\"fullBranch\"===e.option(\"filterMode\")},x=p.default.inherit((v=function(e,t){return y((0,c.default)(e),{sort:t}).toArray()},{_createKeyGetter:function(){var e=this.getKeyExpr();return(0,o.compileGetter)(e)},_createKeySetter:function(){var e=this.getKeyExpr();return(0,l.isFunction)(e)?e:(0,o.compileSetter)(e)},createParentIdGetter:function(){return(0,o.compileGetter)(this.option(\"parentIdExpr\"))},createParentIdSetter:function(){var e=this.option(\"parentIdExpr\");return(0,l.isFunction)(e)?e:(0,o.compileSetter)(e)},_createItemsGetter:function(){return(0,o.compileGetter)(this.option(\"itemsExpr\"))},_createHasItemsGetter:function(){var e=this.option(\"hasItemsExpr\");return e&&(0,o.compileGetter)(e)},_createHasItemsSetter:function(){var e=this.option(\"hasItemsExpr\");return(0,l.isFunction)(e)?e:e&&(0,o.compileSetter)(e)},_updateIndexByKeyObject:function(e){var t=this;t._indexByKey={},(0,s.each)(e,(function(e,n){t._indexByKey[n.key]=e}))},_calculateHasItems:function(e,t){var n,i=t.storeLoadOptions.parentIds,o=b(this);return this._hasItemsGetter&&(i||!t.storeLoadOptions.filter||o)&&(n=this._hasItemsGetter(e.data)),void 0===n&&(n=!(this._isChildrenLoaded[e.key]||!t.remoteOperations.filtering||!i&&!o)||(t.loadOptions.filter&&!t.remoteOperations.filtering&&o?e.children.length:e.hasChildren)),!!n},_fillVisibleItemsByNodes:function(e,t,n){for(var i=0;i<e.length;i++)e[i].visible&&n.push(e[i]),(this.isRowExpanded(e[i].key,t)||!e[i].visible)&&e[i].hasChildren&&e[i].children.length&&this._fillVisibleItemsByNodes(e[i].children,t,n)},_convertItemToNode:function(e,t,n){var i=this._keyGetter(e),o=this._parentIdGetter(e),a=n[o=(0,l.isDefined)(o)?o:t]=n[o]||{key:o,children:[]},r=n[i]=n[i]||{key:i,children:[]};return r.data=e,r.parent=a,r},_createNodesByItems:function(e,t){var n,i=this.option(\"rootValue\"),o={},a=this._nodeByKey={};if(t)for(n=0;n<t.length;n++)o[this._keyGetter(t[n])]=!0;for(n=0;n<e.length;n++){var r=this._convertItemToNode(e[n],i,a);if(void 0===r.key)return;r.visible=!t||!!o[r.key],r.parent&&r.parent.children.push(r)}var s=a[i]||{key:i,children:[]};return s.level=-1,s},_convertDataToPlainStructure:function(e,t,n){var i;if(this._itemsGetter&&!e.isConverted){n=n||[];for(var o=0;o<e.length;o++){var a=(0,d.createObjectWithChanges)(e[o]);void 0===(i=this._keyGetter(a))&&(i=n.length+1,this._keySetter(a,i)),this._parentIdSetter(a,void 0===t?this.option(\"rootValue\"):t),n.push(a);var r=this._itemsGetter(a);if(r&&r.length){this._convertDataToPlainStructure(r,i,n);var s=this.option(\"itemsExpr\");(0,l.isFunction)(s)||delete a[s]}}return n.isConverted=!0,n}return e},_createIdFilter:function(e,t){for(var n=[],i=0;i<t.length;i++)n.push([e,\"=\",t[i]]);return g.default.combineFilters(n,\"or\")},_customizeRemoteOperations:function(e,t){this.callBase.apply(this,arguments),e.remoteOperations.paging=!1;var n=!1;this.option(\"autoExpandAll\")&&(e.remoteOperations.sorting=!1,e.remoteOperations.filtering=!1,this._lastLoadOptions&&(!t.filtering||e.storeLoadOptions.filter)||e.isCustomLoading||(n=!0)),e.isCustomLoading||(this._isReload=this._isReload||t.reload,e.cachedStoreData||(this._isChildrenLoaded={},this._isReload&&(this._nodeByKey={})),this.option(\"expandNodesOnFiltering\")&&(t.filtering||this._isReload&&e.storeLoadOptions.filter)&&(e.storeLoadOptions.filter?n=!0:e.collapseVisibleNodes=!0)),e.expandVisibleNodes=n},_getParentIdsToLoad:function(e){for(var t=[],n=0;n<e.length;n++){var i=this.getNodeByKey(e[n]);(!i||i.hasChildren&&!i.children.length)&&t.push(e[n])}return t},_handleCustomizeStoreLoadOptions:function(e){var t=this.option(\"rootValue\"),n=this.option(\"parentIdExpr\"),i=e.storeLoadOptions.parentIds;if(i&&(e.isCustomLoading=!1),this.callBase.apply(this,arguments),e.remoteOperations.filtering&&!e.isCustomLoading&&(b(this)&&e.cachedStoreData||!e.storeLoadOptions.filter)){var o=e.collapseVisibleNodes?[]:this.option(\"expandedRowKeys\");i=[t].concat(o).concat(i||[]);var a=e.data?this._getParentIdsToLoad(i):i;a.length&&(e.cachedPagingData=void 0,e.data=void 0,e.mergeStoreLoadData=!0,e.delay=this.option(\"loadingTimeout\")),e.storeLoadOptions.parentIds=a,e.storeLoadOptions.filter=this._createIdFilter(n,a)}},_generateInfoToLoad:function(e,t){var n,i,o={},a={},r=[],s=this.option(\"rootValue\");for(i=0;i<e.length;i++)o[n=t?this._parentIdGetter(e[i]):this._keyGetter(e[i])]=!0;for(i=0;i<e.length;i++){n=t?this._keyGetter(e[i]):this._parentIdGetter(e[i]);var l=t?this.isRowExpanded(n):n!==s;o[n]||a[n]||!l||(a[n]=!0,r.push(n))}return{keyMap:a,keys:r}},_loadParentsOrChildren:function(e,t,n){var i,o,s,l,d,h=this,f=this._generateInfoToLoad(e,n),p=f.keys,g=f.keyMap,m=new a.Deferred,_=t.remoteOperations.filtering,y=this.option(\"maxFilterLengthInRequest\"),b=null!==(o=null===(i=t.storeLoadOptions)||void 0===i?void 0:i.sort)&&void 0!==o?o:null===(s=t.loadOptions)||void 0===s?void 0:s.sort,x=_?t.storeLoadOptions:t.loadOptions,w=function(t){return _&&(h._cachedStoreData=v(h._cachedStoreData.concat(t),b)),v(e.concat(t),b)};if(!p.length)return m.resolve(e);var C=p.map((function(e){return h.getNodeByKey(e)})).filter((function(e){return e&&e.data}));if(C.length===p.length&&(n&&(C=C.reduce((function(e,t){return e.concat(t.children)}),[])),C.length))return this._loadParentsOrChildren(w(C.map((function(e){return e.data}))),t,n);var S=n?this.option(\"parentIdExpr\"):this.getKeyExpr();l=this._createIdFilter(S,p),encodeURI(JSON.stringify(l)).length>y&&(l=function(e){return g[n?h._parentIdGetter(e):h._keyGetter(e)]},d=_),x=(0,r.extend)({},x,{filter:d?null:l});var k=t.fullData?new u.default(t.fullData):this._dataSource.store();return this.loadFromStore(x,k).done((function(i){i.length?(d&&(i=(0,c.default)(i).filter(l).toArray()),h._loadParentsOrChildren(w(i),t,n).done(m.resolve).fail(m.reject)):m.resolve(e)})).fail(m.reject),m},_loadParents:function(e,t){return this._loadParentsOrChildren(e,t)},_loadChildrenIfNeed:function(e,t){return b(this)?this._loadParentsOrChildren(e,t,!0):(0,a.when)(e)},_updateHasItemsMap:function(e){var t=e.storeLoadOptions.parentIds;if(t)for(var n=0;n<t.length;n++)this._isChildrenLoaded[t[n]]=!0},_getKeyInfo:function(){return{key:function(){return\"key\"},keyOf:function(e){return e.key}}},_processChanges:function(e){var t=this,n=[];return e.forEach((function(e){\"insert\"===e.type?n=n.concat(t._applyInsert(e)):\"remove\"===e.type?n=n.concat(t._applyRemove(e)):\"update\"===e.type&&n.push({type:e.type,key:e.key,data:{data:e.data}})})),n},_handleChanging:function(e){var t=this;this.callBase.apply(this,arguments);var n=function(e){var n=e.filter((function(e){return\"update\"===e.type}));return t._processChanges(n)};e.postProcessChanges=n},_applyBatch:function(e){var t=this._processChanges(e);this.callBase(t)},_setHasItems:function(e,t){var n=this._hasItemsSetter;e.hasChildren=t,n&&e.data&&n(e.data,t)},_applyInsert:function(e){var t=[],n=this.parentKeyOf(e.data),i=this.getNodeByKey(n);if(i){var o=this.option(\"rootValue\"),a=this._convertItemToNode(e.data,o,this._nodeByKey);if(a.hasChildren=!1,a.level=i.level+1,a.visible=!0,i.children.push(a),this._isChildrenLoaded[a.key]=!0,this._setHasItems(i,!0),(!i.parent||this.isRowExpanded(i.key))&&void 0!==e.index){var r=this.items().indexOf(i)+1;r+=e.index>=0?Math.min(e.index,i.children.length):i.children.length,t.push({type:e.type,data:a,index:r})}}return t},_needToCopyDataObject:function(){return!1},_applyRemove:function(e){var t=[],n=this.getNodeByKey(e.key),i=n&&n.parent;if(i){var o=i.children.indexOf(n);o>=0&&(i.children.splice(o,1),i.children.length||this._setHasItems(i,!1),t.push(e),t=t.concat(this.getChildNodeKeys(e.key).map((function(t){return{type:e.type,key:t}}))))}return t},_handleDataLoaded:function(e){var t=e.data=this._convertDataToPlainStructure(e.data);!e.remoteOperations.filtering&&e.loadOptions.filter&&(e.fullData=y((0,c.default)(e.data),{sort:e.loadOptions&&e.loadOptions.sort}).toArray()),this._updateHasItemsMap(e),this.callBase(e),t.isConverted&&this._cachedStoreData&&(this._cachedStoreData.isConverted=!0)},_fillNodes:function(e,t,n,i){var o=b(this);i=i||0;for(var a=0;a<e.length;a++){var r=e[a],s=!1;this._fillNodes(e[a].children,t,n,i+1),r.level=i,r.hasChildren=this._calculateHasItems(r,t),r.visible&&r.hasChildren&&(o?r.children.filter((function(e){return e.visible})).length?s=!0:r.children.length&&m.default.foreachNodes(r.children,(function(e){e.visible=!0})):s=!0,t.expandVisibleNodes&&s&&n.push(r.key)),(r.visible||r.hasChildren)&&(r.parent.hasChildren=!0)}},_processTreeStructure:function(e,t){var n=e.data,i=e.storeLoadOptions.parentIds,o=[];if(i&&i.length||this._isReload){if(e.fullData&&e.fullData.length>e.data.length&&(n=e.fullData,t=t||e.data),this._rootNode=this._createNodesByItems(n,t),!this._rootNode)return void(e.data=(new a.Deferred).reject(f.default.Error(\"E1046\",this.getKeyExpr())));this._fillNodes(this._rootNode.children,e,o),this._isNodesInitializing=!0,(e.collapseVisibleNodes||o.length)&&this.option(\"expandedRowKeys\",o),this._isReload=!1,this.executeAction(\"onNodesInitialized\",{root:this._rootNode}),this._isNodesInitializing=!1}var r=[];this._fillVisibleItemsByNodes(this._rootNode.children,e,r),e.data=r,this._totalItemsCount=r.length},_handleDataLoadedCore:function(e){var t,n=this,i=e.data,o=n.callBase,r=e.storeLoadOptions.filter||e.loadOptions.filter,s=n.option(\"filterMode\"),l=e.storeLoadOptions.parentIds,u=r&&(!l||!l.length)&&\"standard\"!==s;if(!e.isCustomLoading){if(u){var d=e.data=new a.Deferred;return\"matchOnly\"===s&&(t=i),n._loadParents(i,e).done((function(i){n._loadChildrenIfNeed(i,e).done((function(i){e.data=i,n._processTreeStructure(e,t),o.call(n,e),d.resolve(e.data)}))})).fail(d.reject)}n._processTreeStructure(e)}n.callBase(e)},_handlePush:function(e){var t=e.changes,n=this._dataSource._reshapeOnPush,i=n&&!!t.length;i&&(this._isReload=!0),t.forEach((function(e){var t;null!==(t=e.index)&&void 0!==t||(e.index=-1)})),this.callBase.apply(this,arguments)},init:function(e,t){this.callBase.apply(this,arguments);var n=this.option(\"dataStructure\");this._keyGetter=this._createKeyGetter(),this._parentIdGetter=this.createParentIdGetter(),this._hasItemsGetter=this._createHasItemsGetter(),this._hasItemsSetter=this._createHasItemsSetter(),\"tree\"===n&&(this._itemsGetter=this._createItemsGetter(),this._keySetter=this._createKeySetter(),this._parentIdSetter=this.createParentIdSetter()),this._nodeByKey={},this._isChildrenLoaded={},this._totalItemsCount=0,this.createAction(\"onNodesInitialized\")},getKeyExpr:function(){var e=this.store(),t=e&&e.key(),n=this.option(\"keyExpr\");if((0,l.isDefined)(t)&&(0,l.isDefined)(n)&&!(0,i.equalByValue)(t,n))throw f.default.Error(\"E1044\");return t||n||\"id\"},keyOf:function(e){return this._keyGetter&&this._keyGetter(e)},parentKeyOf:function(e){return this._parentIdGetter&&this._parentIdGetter(e)},getRootNode:function(){return this._rootNode},totalItemsCount:function(){return this._totalItemsCount+this._totalCountCorrection},isRowExpanded:function(e,t){if(t){var n=t.isExpandedByKey;return n||(n=t.isExpandedByKey={},this.option(\"expandedRowKeys\").forEach((function(e){n[e]=!0}))),!!n[e]}return g.default.getIndexByKey(e,this.option(\"expandedRowKeys\"),null)>=0},_changeRowExpandCore:function(e){var t=this.option(\"expandedRowKeys\").slice(),n=g.default.getIndexByKey(e,t,null);n<0?t.push(e):t.splice(n,1),this.option(\"expandedRowKeys\",t)},changeRowExpand:function(e){return this._changeRowExpandCore(e),this._isNodesInitializing?(new a.Deferred).resolve():this.load()},getNodeByKey:function(e){if(this._nodeByKey)return this._nodeByKey[e]},getNodeLeafKeys:function(){var e=this,t=[];return(e._rootNode?[e._rootNode.key]:[]).forEach((function(n){var i=e.getNodeByKey(n);i&&m.default.foreachNodes([i],(function(e){!e.children.length&&t.push(e.key)}))})),t},getChildNodeKeys:function(e){var t=this.getNodeByKey(e),n=[];return t&&m.default.foreachNodes(t.children,(function(e){n.push(e.key)})),n},loadDescendants:function(e,t){var n=this,i=new a.Deferred,o=n.remoteOperations();if(e=(0,l.isDefined)(e)?Array.isArray(e)?e:[e]:n.getNodeLeafKeys(),!o.filtering||!e.length)return i.resolve();var r=n._dataSource._createStoreLoadOptions();return r.parentIds=e,n.load(r).done((function(){if(!t){var o=function(e,t){var n=[];return t.forEach((function(t){var i=e.getNodeByKey(t);i&&i.children.forEach((function(e){n.push(e.key)}))})),n}(n,e);if(o.length)return void n.loadDescendants(o,t).done(i.resolve).fail(i.reject)}i.resolve()})).fail(i.reject),i.promise()},forEachNode:function(){var e,t=[];if(1===arguments.length){e=arguments[0];var n=this.getRootNode();t=n&&n.children||[]}else 2===arguments.length&&(e=arguments[1],t=arguments[0],t=Array.isArray(t)?t:[t]);m.default.foreachNodes(t,e)}})),w={extend:function(e){x=x.inherit(e)},create:function(e){return new x(e)}};t.default=w},17629:function(e,t,n){n(29900);var i=h(n(68374)),o=n(62754),a=n(13306),r=n(35922),s=h(n(28109)),l=h(n(96688)),u=n(22324),d=h(n(60082)),c=h(n(12500));function h(e){return e&&e.__esModule?e:{default:e}}var f=u.editingModule.controllers.editing.inherit({_generateNewItem:function(e){var t=this.callBase(e);return t.data={key:e},t.children=[],t.level=0,t.parentKey=this.option(\"rootValue\"),t},_isProcessedItem:function(){return!0},_setInsertAfterOrBeforeKey:function(e,t){void 0!==t&&t!==this.option(\"rootValue\")?e.insertAfterKey=t:this.callBase.apply(this,arguments)},_getLoadedRowIndex:function(e,t){var n=this.getController(\"data\"),i=n.dataSource(),o=null==i?void 0:i.parentKeyOf(t.data);if(void 0!==o&&o!==this.option(\"rootValue\")){var a=d.default.getIndexByKey(o,e);return a>=0&&this._dataController.isRowExpanded(o)?a+1:-1}return this.callBase.apply(this,arguments)},_isEditColumnVisible:function(){var e=this.callBase.apply(this,arguments),t=this.option(\"editing\");return e||t.allowAdding},_isDefaultButtonVisible:function(e,t){var n=this.callBase.apply(this,arguments),i=t.row;return\"add\"===e.name?this.allowAdding(t)&&i.rowIndex!==this._getVisibleEditRowIndex()&&!(i.removed||i.isNewRow):n},_getEditingButtons:function(e){var t=this.callBase.apply(this,arguments);return e.column.buttons||t.unshift(this._getButtonConfig(\"add\",e)),t},_beforeSaveEditData:function(e){var t=this._dataController,n=this.callBase.apply(this,arguments);if(e&&\"insert\"!==e.type){var i=null==t?void 0:t.store(),o=null==i?void 0:i.key();if(!(0,r.isDefined)(o))throw l.default.Error(\"E1045\")}return n},addRowByRowIndex:function(e){var t=this.getController(\"data\").getVisibleRows()[e];return this.addRow(t?t.key:void 0)},addRow:function(e){return void 0===e&&(e=this.option(\"rootValue\")),this.callBase.call(this,e)},_addRowCore:function(e,t,n){var i=this,a=this.callBase,r=this.option(\"rootValue\"),s=this.getController(\"data\"),l=s.dataSource().createParentIdGetter();if(void 0!==(t=l(e))&&t!==r&&!s.isRowExpanded(t)){var u=new o.Deferred;return s.expandRow(t).done((function(){setTimeout((function(){a.call(i,e,t,n).done(u.resolve).fail(u.reject)}))})).fail(u.reject),u.promise()}return a.call(this,e,t,n)},_initNewRow:function(e,t){var n=this.getController(\"data\"),i=n.dataSource(),o=i.createParentIdSetter();return o(e.data,t),this.callBase.apply(this,arguments)},allowAdding:function(e){return this._allowEditAction(\"allowAdding\",e)},_needToCloseEditableCell:function(e){return this.callBase.apply(this,arguments)||e.closest(\".\".concat(\"dx-treelist-icon-container\")).length&&this.isEditing()},getButtonLocalizationNames:function(){var e=this.callBase.apply(this);return e.add=\"dxTreeList-editingAddRowToNode\",e}}),p=u.editingModule.extenders.views.rowsView._rowClick,g=u.editingModule.extenders.views.rowsView._rowDblClick,m=function(e){var t=(0,i.default)(e.event.target),n=\"dxdblclick\"===e.event.type?g:p;return!t.closest(\".\".concat(\"dx-select-checkbox\")).length&&!_.call(this,e,n)};function _(e,t){return!(0,i.default)(e.event.target).closest(\".\".concat(\"dx-treelist-icon-container\")).length&&(t.call(this,e),!0)}var v=(0,a.extend)({},u.editingModule.extenders.views.rowsView,{_renderCellCommandContent:function(e,t){var n=this._editingController,i=t.row&&n.isEditRow(t.row.rowIndex),o=t.isEditing||i;return!o&&this.callBase.apply(this,arguments)},_rowClick:function(e){m.call(this,e)&&this.callBase.apply(this,arguments)},_rowDblClick:function(e){m.call(this,e)&&this.callBase.apply(this,arguments)}});c.default.registerModule(\"editing\",{defaultOptions:function(){return(0,a.extend)(!0,u.editingModule.defaultOptions(),{editing:{texts:{addRowToNode:s.default.format(\"dxTreeList-editingAddRowToNode\")}}})},controllers:{editing:f},extenders:{controllers:(0,a.extend)(!0,{},u.editingModule.extenders.controllers,{data:{changeRowExpand:function(){return this._editingController.refresh(),this.callBase.apply(this,arguments)}}}),views:{rowsView:v,headerPanel:u.editingModule.extenders.views.headerPanel}}})},79873:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColumnsController=void 0;var i,o=n(35922),a=n(10279),r=(i=n(12500))&&i.__esModule?i:{default:i};var s=a.columnsControllerModule.controllers.columns.inherit({_getFirstItems:function(e){return this.callBase(e).map((function(e){return e.data}))},getFirstDataColumnIndex:function(){for(var e=this.getVisibleColumns(),t=e.length,n=0,i=0;i<=t-1;i++)if(!(0,o.isDefined)(e[i].command)){n=e[i].index;break}return n}});t.ColumnsController=s,r.default.registerModule(\"columns\",{defaultOptions:a.columnsControllerModule.defaultOptions,controllers:{columns:s}})},12500:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=n(13306),a=(i=n(15943))&&i.__esModule?i:{default:i};var r=(0,o.extend)({},a.default,{modules:[],foreachNodes:function(e,t,n){for(var i=0;i<e.length;i++)!1!==t(e[i])&&(n||e[i].hasChildren)&&e[i].children.length&&this.foreachNodes(e[i].children,t,n)}});t.default=r},50226:function(e,t,n){var i,o=n(62754),a=n(13306),r=n(5325);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"focus\",(0,a.extend)(!0,{},r.focusModule,{extenders:{controllers:{data:{changeRowExpand:function(e){return this.option(\"focusedRowEnabled\")&&this.isRowExpanded(e)&&this._isFocusedRowInside(e)&&this.option(\"focusedRowKey\",e),this.callBase.apply(this,arguments)},_isFocusedRowInside:function(e){for(var t=this.option(\"focusedRowKey\"),n=this.getRowIndexByKey(t),i=n>=0&&this.getVisibleRows()[n],o=i&&i.node.parent;o;){if(o.key===e)return!0;o=o.parent}return!1},getParentKey:function(e){var t=this._dataSource,n=this.getNodeByKey(e),i=new o.Deferred;return n?i.resolve(n.parent?n.parent.key:void 0):t.load({filter:[t.getKeyExpr(),\"=\",e]}).done((function(e){var n=e[0];n?i.resolve(t.parentKeyOf(n)):i.resolve()})).fail(i.reject),i.promise()},expandAscendants:function(e){var t=this,n=t._dataSource,i=new o.Deferred;return t.getParentKey(e).done((function(e){n&&void 0!==e&&e!==t.option(\"rootValue\")?(n._isNodesInitializing=!0,t.expandRow(e),n._isNodesInitializing=!1,t.expandAscendants(e).done(i.resolve).fail(i.reject)):i.resolve()})).fail(i.reject),i.promise()},getPageIndexByKey:function(e){var t=this,n=t._dataSource,i=new o.Deferred;return t.expandAscendants(e).done((function(){n.load({parentIds:[]}).done((function(n){var o,a,r=(o=function(n){return t.keyOf(n.data)===e},a=-1,n.forEach((function(e,t){o(e)&&(a=t)})),a),s=-1;r>=0&&(s=Math.floor(r/t.pageSize())),i.resolve(s)})).fail(i.reject)})).fail(i.reject),i.promise()}}}}}))},94907:function(e,t,n){var i,o=n(28016),a=(i=n(12500))&&i.__esModule?i:{default:i};function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var s=o.gridViewModule.controllers.resizing.inherit({_getWidgetAriaLabel:function(){return\"dxTreeList-ariaTreeList\"},_toggleBestFitMode:function(e){this.callBase(e),this._rowsView.getTableElement().find(\".dx-treelist-cell-expandable\").toggleClass(this.addWidgetPrefix(\"best-fit\"),e)}});a.default.registerModule(\"gridView\",{defaultOptions:o.gridViewModule.defaultOptions,controllers:r(r({},o.gridViewModule.controllers),{resizing:s}),views:o.gridViewModule.views})},38886:function(e,t,n){var i,o=n(13306),a=n(31822);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"keyboardNavigation\",(0,o.extend)(!0,{},a.keyboardNavigationModule,{extenders:{controllers:{keyboardNavigation:{_leftRightKeysHandler:function(e,t){var n=this.getVisibleRowIndex(),i=this._dataController;if(!e.ctrl)return this.callBase.apply(this,arguments);var o=this._getDirectionCodeByKey(e.keyName),a=i.getKeyByRowIndex(n);\"nextInRow\"===o?i.expandRow(a):i.collapseRow(a)}}}}}))},31580:function(e,t,n){var i,o=n(13306),a=n(82802);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"masterDetail\",(0,o.extend)(!0,{},a.masterDetailModule,{extenders:{controllers:{data:{isRowExpanded:function(){return this.callBase.apply(this,arguments)},_processItems:function(){return this.callBase.apply(this,arguments)},_processDataItem:function(){return this.callBase.apply(this,arguments)}}}}}))},13477:function(e,t,n){var i,o=n(13306),a=n(12440),r=(i=n(12500))&&i.__esModule?i:{default:i};var s=a.stateStoringModule.extenders.controllers.stateStoring.applyState;r.default.registerModule(\"stateStoring\",(0,o.extend)(!0,{},a.stateStoringModule,{extenders:{controllers:{stateStoring:{applyState:function(e){s.apply(this,arguments),this.option(\"expandedRowKeys\",e.expandedRowKeys?e.expandedRowKeys.slice():[])}},data:{getUserState:function(){var e=this.callBase.apply(this,arguments);return this.option(\"autoExpandAll\")||(e.expandedRowKeys=this.option(\"expandedRowKeys\")),e}}}}}))},99751:function(e,t,n){var i,o=n(13306),a=n(39830),r=(i=n(12500))&&i.__esModule?i:{default:i};var s=(0,o.extend)({},a.validatingModule.extenders.controllers.editing);delete s.processItems,delete s.processDataItem,r.default.registerModule(\"validating\",{defaultOptions:a.validatingModule.defaultOptions,controllers:a.validatingModule.controllers,extenders:{controllers:{editing:s,editorFactory:a.validatingModule.extenders.controllers.editorFactory},views:a.validatingModule.extenders.views}})},26058:function(e,t,n){var i=n(13306),o=n(92018),a=s(n(22821)),r=s(n(12500));function s(e){return e&&e.__esModule?e:{default:e}}var l=o.virtualScrollingModule.defaultOptions,u=o.virtualScrollingModule.extenders.controllers.data,d=o.virtualScrollingModule.extenders.dataSourceAdapter;o.virtualScrollingModule.extenders.controllers.data=(0,i.extend)({},u,{_loadOnOptionChange:function(){var e=this._dataSource&&this._dataSource._virtualScrollController;e&&e.reset(),this.callBase()}}),o.virtualScrollingModule.extenders.dataSourceAdapter=(0,i.extend)({},d,{changeRowExpand:function(){var e=this;return this.callBase.apply(this,arguments).done((function(){var t=e.getViewportItemIndex();t>=0&&e.setViewportItemIndex(t)}))}}),r.default.registerModule(\"virtualScrolling\",(0,i.extend)({},o.virtualScrollingModule,{defaultOptions:function(){return(0,i.extend)(!0,l(),{scrolling:{mode:\"virtual\"}})}})),a.default.extend(o.virtualScrollingModule.extenders.dataSourceAdapter)},1977:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(14126))&&i.__esModule?i:{default:i};n(13477),n(92026),n(31580),n(17629),n(64757),n(45998),n(7446),n(99751),n(26058),n(98439),n(26763),n(1440),n(49248),n(86737),n(84214),n(43468),n(50776),n(43301),n(91445),n(1272),n(38886),n(75188),n(50226),n(31937);var a=o.default;t.default=a},14126:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,n(71948),n(79873),n(26686),n(7138),n(31397),n(87454),n(84973),n(94907),n(37980);var i=h(n(99393)),o=n(20576),a=n(13306),r=n(95479),s=n(35922),l=n(75811),u=h(n(14390)),d=h(n(60082)),c=h(n(12500));function h(e){return e&&e.__esModule?e:{default:e}}var f=c.default.callModuleItemsMethod;c.default.registerModulesOrder([\"stateStoring\",\"columns\",\"selection\",\"editorFactory\",\"columnChooser\",\"editingRowBased\",\"editingFormBased\",\"editingCellBased\",\"editing\",\"grouping\",\"masterDetail\",\"validating\",\"adaptivity\",\"data\",\"virtualScrolling\",\"columnHeaders\",\"filterRow\",\"headerPanel\",\"headerFilter\",\"sorting\",\"search\",\"rows\",\"pager\",\"columnsResizingReordering\",\"contextMenu\",\"keyboardNavigation\",\"errorHandling\",\"summary\",\"columnFixing\",\"export\",\"gridView\"]);var p=u.default.inherit({_activeStateUnit:\".dx-row\",_getDefaultOptions:function(){var e=this.callBase();return(0,r.each)(c.default.modules,(function(){(0,s.isFunction)(this.defaultOptions)&&(0,a.extend)(!0,e,this.defaultOptions())})),e},_setDeprecatedOptions:function(){this.callBase(),(0,a.extend)(this._deprecatedOptions,{\"columnChooser.allowSearch\":{since:\"23.1\",message:'Use the \"columnChooser.search.enabled\" option instead'},\"columnChooser.searchTimeout\":{since:\"23.1\",message:'Use the \"columnChooser.search.timeout\" option instead'}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return(0,l.isMaterial)()},options:{showRowLines:!0,showColumnLines:!1,headerFilter:{height:315},editing:{useIcons:!0}}}])},_init:function(){this.callBase(),this.option(\"_disableDeprecationWarnings\")||d.default.logHeaderFilterDeprecatedWarningIfNeed(this),c.default.processModules(this,c.default),f(this,\"init\")},_clean:o.noop,_optionChanged:function(e){f(this,\"optionChanged\",[e]),e.handled||this.callBase(e)},_dimensionChanged:function(){this.updateDimensions(!0)},_visibilityChanged:function(e){e&&this.updateDimensions()},_initMarkup:function(){this.callBase.apply(this,arguments),this.$element().addClass(\"dx-treelist\"),this.getView(\"gridView\").render(this.$element())},_renderContentImpl:function(){this.getView(\"gridView\").update()},_renderContent:function(){var e=this;(0,o.deferRender)((function(){e._renderContentImpl()}))},_dispose:function(){this.callBase(),f(this,\"dispose\")},isReady:function(){return this.getController(\"data\").isReady()},beginUpdate:function(){this.callBase(),f(this,\"beginUpdate\")},endUpdate:function(){f(this,\"endUpdate\"),this.callBase()},getController:function(e){return this._controllers[e]},getView:function(e){return this._views[e]},focus:function(e){this.callBase(),(0,s.isDefined)(e)&&this.getController(\"keyboardNavigation\").focus(e)}});p.registerModule=c.default.registerModule.bind(c.default),(0,i.default)(\"dxTreeList\",p);var g=p;t.default=g},43301:function(e,t,n){var i,o=n(18107);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"adaptivity\",o.adaptivityModule)},92026:function(e,t,n){var i,o=n(71184);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"columnChooser\",o.columnChooserModule)},50776:function(e,t,n){var i,o=n(53424);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"columnFixing\",o.columnFixingModule)},43468:function(e,t,n){var i,o=n(49505);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"columnsResizingReordering\",o.columnsResizingReorderingModule)},87454:function(e,t,n){var i,o=n(69823);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"contextMenu\",o.contextMenuModule)},7446:function(e,t,n){var i,o=n(68802);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"editingCellBased\",o.editingCellBasedModule)},45998:function(e,t,n){var i,o=n(99211);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"editingFormBased\",o.editingFormBasedModule)},64757:function(e,t,n){var i,o=n(55597);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"editingRowBased\",o.editingRowBasedModule)},29900:function(e,t,n){var i,o=n(80070);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"editorFactory\",o.editorFactoryModule)},84973:function(e,t,n){var i,o=n(31152);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"errorHandling\",o.errorHandlingModule)},49248:function(e,t,n){var i,o=n(62690);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"filterBuilder\",o.filterBuilderModule)},86737:function(e,t,n){var i,o=n(4062);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"filterPanel\",o.filterPanelModule)},98439:function(e,t,n){var i,o=n(12302);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"filterRow\",o.filterRowModule)},1440:function(e,t,n){var i,o=n(14407);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"filterSync\",o.filterSyncModule)},26763:function(e,t,n){var i,o=n(68796);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"headerFilter\",o.headerFilterModule)},37980:function(e,t,n){var i,o=n(92468);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"headerPanel\",o.headerPanelModule)},84214:function(e,t,n){var i,o=n(3990);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"pager\",o.pagerModule)},31937:function(e,t,n){var i,o=n(88351);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"rowDragging\",o.rowDraggingModule)},1272:function(e,t,n){var i,o=n(92021);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"search\",o.searchModule)},7138:function(e,t,n){var i,o=n(11590);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"sorting\",o.sortingModule)},75188:function(e,t,n){var i,o=n(87482);((i=n(12500))&&i.__esModule?i:{default:i}).default.registerModule(\"virtualColumns\",o.virtualColumnsModule)},31397:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.RowsView=void 0;var i=r(n(68374)),o=n(35095),a=r(n(12500));function r(e){return e&&e.__esModule?e:{default:e}}var s=o.rowsModule.views.rowsView.inherit({_renderIconContainer:function(e,t){var n=this,o=(0,i.default)(\"<div>\").addClass(\"dx-treelist-icon-container\").appendTo(e);return t.watch&&t.watch((function(){return[t.row.level,t.row.isExpanded,t.row.node.hasChildren]}),(function(){o.empty(),n._renderIcons(o,t)})),e.addClass(\"dx-treelist-cell-expandable\"),this._renderIcons(o,t)},_renderIcons:function(e,t){for(var n,o,a,r=t.row,s=r.level,l=0;l<=s;l++)e.append((n=l===s&&r.node.hasChildren,o=r.isExpanded,a=void 0,a=(0,i.default)(\"<div>\").addClass(\"dx-treelist-empty-space\"),n&&a.toggleClass(\"dx-treelist-expanded\",o).toggleClass(\"dx-treelist-collapsed\",!o).append((0,i.default)(\"<span>\")),a));return e},_renderCellCommandContent:function(e,t){return this._renderIconContainer(e,t),!0},_processTemplate:function(e,t){var n,o=this,a=this.callBase(e),r=o._columnsController.getFirstDataColumnIndex();return a&&(null===(n=t.column)||void 0===n?void 0:n.index)===r?{render:function(e){var t=e.container;o._renderCellCommandContent(t,e.model)&&(e.container=function(e){return(0,i.default)(\"<div>\").addClass(\"dx-treelist-text-content\").appendTo(e)}(t)),a.render(e)}}:a},_updateCell:function(e,t){e=e.hasClass(\"dx-treelist-text-content\")?e.parent():e,this.callBase(e,t)},_rowClick:function(e){var t=this._dataController,n=(0,i.default)(e.event.target),o=this.isExpandIcon(n),a=t&&t.items()[e.rowIndex];o&&a&&t.changeRowExpand(a.key),this.callBase(e)},_createRow:function(e){var t=e&&e.node,n=this.callBase.apply(this,arguments);return t&&(this.setAria(\"level\",e.level+1,n),t.hasChildren&&this.setAria(\"expanded\",e.isExpanded,n)),n},isExpandIcon:function(e){return!!e.closest(\".\".concat(\"dx-treelist-expanded\",\", .\").concat(\"dx-treelist-collapsed\")).length},setTableRole:function(e){this.setAria(\"role\",\"treegrid\",e)}});t.RowsView=s,a.default.registerModule(\"rows\",{defaultOptions:o.rowsModule.defaultOptions,views:{rowsView:s}})},91445:function(e,t,n){var i=u(n(68374)),o=n(20576),a=n(13306),r=n(35922),s=n(17969),l=u(n(12500));function u(e){return e&&e.__esModule?e:{default:e}}var d=s.selectionModule.extenders.views.rowsView._rowClick,c=s.selectionModule.extenders.controllers.data._handleDataChanged,h=function(e,t){return!!e.filter((function(e){return e===t})).length};l.default.registerModule(\"selection\",(0,a.extend)(!0,{},s.selectionModule,{defaultOptions:function(){return(0,a.extend)(!0,s.selectionModule.defaultOptions(),{selection:{showCheckBoxesMode:\"always\",recursive:!1}})},extenders:{controllers:{data:{_handleDataChanged:function(e){var t=this.getController(\"selection\"),n=t.isRecursiveSelection();!n||e&&\"updateSelectionState\"===e.changeType||t.updateSelectionState({selectedItemKeys:this.option(\"selectedRowKeys\")}),c.apply(this,arguments)},loadDescendants:function(){var e=this,t=e.callBase.apply(e,arguments),n=e.getController(\"selection\"),i=n.isRecursiveSelection();return i&&t.done((function(){n.updateSelectionState({selectedItemKeys:e.option(\"selectedRowKeys\")})})),t}},selection:{init:function(){this.callBase.apply(this,arguments),this._selectionStateByKey={}},_getSelectionConfig:function(){var e=arguments,t=this,n=this.callBase.apply(this,arguments),i=n.plainItems;return n.plainItems=function(n){var o;return n&&(o=t._dataController.getCachedStoreData()),o||(o=i.apply(t,e).map((function(e){return e.data}))),o||[]},n.isItemSelected=function(e){var n=t._dataController.keyOf(e);return t.isRowSelected(n)},n.isSelectableItem=function(e){return!!e},n.getItemData=function(e){return e},n.allowLoadByRange=function(){return!1},n},renderSelectCheckBoxContainer:function(e,t){var n=this.component.getView(\"rowsView\");e.addClass(\"dx-cell-focus-disabled\");var i=n._renderSelectCheckBox(e,{value:t.row.isSelected,row:t.row,column:t.column});n._attachCheckBoxClickEvent(i)},_updateSelectColumn:o.noop,_getSelectAllNodeKeys:function(){var e=this.component,t=e.getRootNode(),n={},i=[],o=this.isRecursiveSelection();return t&&l.default.foreachNodes(t.children,(function(t){return void 0!==t.key&&(t.visible||o)&&i.push(t.key),!t.visible||!o&&e.isRowExpanded(t.key,n)})),i},isSelectAll:function(){if(0===(this.option(\"selectedRowKeys\")||[]).length)return!1;var e=this.component,t=this._getSelectAllNodeKeys(),n=this.isRecursiveSelection(),i=!1,o=t.filter((function(t){var o=e.isRowSelected(t,n);return void 0===o&&(i=!0),o}));return o.length?o.length===t.length||void 0:!!i&&void 0},selectAll:function(){var e=this,t=this._getSelectAllNodeKeys().filter((function(t){return!e.isRowSelected(t)}));return this.focusedItemIndex(-1),this.selectRows(t,!0)},deselectAll:function(){var e=this._getSelectAllNodeKeys();return this.focusedItemIndex(-1),this.deselectRows(e)},selectedItemKeys:function(e,t,n,i){var a=this,s=a.option(\"selectedRowKeys\"),l=this.isRecursiveSelection()&&a._normalizeSelectionArgs({keys:(0,r.isDefined)(e)?e:[]},t,!n);return l&&!(0,o.equalByValue)(l.selectedRowKeys,s)?(a._isSelectionNormalizing=!0,this.callBase(l.selectedRowKeys,!1,!1,!1).always((function(){a._isSelectionNormalizing=!1})).done((function(e){l.selectedRowsData=e,a._fireSelectionChanged(l)}))):this.callBase(e,t,n,i)},changeItemSelection:function(e,t){var n=this,i=this.isRecursiveSelection();if(i&&!t.shift){var o=this._dataController.getKeyByRowIndex(e);return this.selectedItemKeys(o,!0,this.isRowSelected(o)).done((function(){n.isRowSelected(o)&&n.callBase(e,t,!0)}))}return this.callBase.apply(this,arguments)},_updateParentSelectionState:function(e,t){var n=this,i=t,o=e.parent;if(o){if(o.children.length>1)if(!1===t)i=!!o.children.some((function(e){return n._selectionStateByKey[e.key]}))&&void 0;else if(!0===t){i=!o.children.some((function(e){return!n._selectionStateByKey[e.key]}))||void 0}this._selectionStateByKey[o.key]=i,o.parent&&o.parent.level>=0&&this._updateParentSelectionState(o,i)}},_updateChildrenSelectionState:function(e,t){var n=this,i=e.children;i&&i.forEach((function(e){n._selectionStateByKey[e.key]=t,e.children.length>0&&n._updateChildrenSelectionState(e,t)}))},_updateSelectionStateCore:function(e,t){for(var n=this._dataController,i=0;i<e.length;i++){this._selectionStateByKey[e[i]]=t;var o=n.getNodeByKey(e[i]);o&&(this._updateParentSelectionState(o,t),this._updateChildrenSelectionState(o,t))}},_getSelectedParentKeys:function(e,t,n){for(var i,o=this._dataController.getNodeByKey(e),a=o&&o.parent,r=[];a&&a.level>=0;){if(r.unshift(a.key),n?!h(t,a.key)&&this.isRowSelected(a.key):t.indexOf(a.key)>=0){i=a,r=this._getSelectedParentKeys(i.key,t,n).concat(r);break}if(n)break;a=a.parent}return i&&r||[]},_getSelectedChildKeys:function(e,t){var n=this,i=[],o=this._dataController.getNodeByKey(e);return o&&l.default.foreachNodes(o.children,(function(e){var o=t.indexOf(e.key);return o<0&&i.push(e.key),o>0||o<0&&void 0===n._selectionStateByKey[e.key]})),i},_normalizeParentKeys:function(e,t){var n=[e],i=this._getSelectedParentKeys(e,t.selectedRowKeys);if(i.length){(n=n.concat(i)).forEach((function(e){var n=t.selectedRowKeys.indexOf(e);n>=0&&t.selectedRowKeys.splice(n,1)}));var o=this._getSelectedChildKeys(i[0],n);t.selectedRowKeys=t.selectedRowKeys.concat(o)}},_normalizeChildrenKeys:function(e,t){var n=this,i=this._dataController.getNodeByKey(e);i&&i.children.forEach((function(e){var i=t.selectedRowKeys.indexOf(e.key);i>=0&&t.selectedRowKeys.splice(i,1),n._normalizeChildrenKeys(e.key,t)}))},_normalizeSelectedRowKeysCore:function(e,t,n,i){var o=this;e.forEach((function(e){if(!n||o.isRowSelected(e)!==i){o._normalizeChildrenKeys(e,t);var a=t.selectedRowKeys.indexOf(e);i?(a<0&&t.selectedRowKeys.push(e),t.currentSelectedRowKeys.push(e)):(a>=0&&t.selectedRowKeys.splice(a,1),t.currentDeselectedRowKeys.push(e),o._normalizeParentKeys(e,t))}}))},_normalizeSelectionArgs:function(e,t,n){var i,o=Array.isArray(e.keys)?e.keys:[e.keys],a=this.option(\"selectedRowKeys\")||[];return o.length&&(i={currentSelectedRowKeys:[],currentDeselectedRowKeys:[],selectedRowKeys:t?a.slice(0):[]},this._normalizeSelectedRowKeysCore(o,i,t,n)),i},_updateSelectedItems:function(e){this.updateSelectionState(e),this.callBase(e)},_fireSelectionChanged:function(){this._isSelectionNormalizing||this.callBase.apply(this,arguments)},_isModeLeavesOnly:function(e){return\"leavesOnly\"===e},_removeDuplicatedKeys:function(e){var t=[],n={};return e.forEach((function(e){n[e]||(n[e]=!0,t.push(e))})),t},_getAllChildKeys:function(e){var t=[],n=this._dataController.getNodeByKey(e);return n&&l.default.foreachNodes(n.children,(function(e){t.push(e.key)}),!0),t},_getAllSelectedRowKeys:function(e){var t=this,n=[];return e.forEach((function(e){var i=t._getSelectedParentKeys(e,[],!0),o=t._getAllChildKeys(e);n.push.apply(n,i.concat([e],o))})),n=this._removeDuplicatedKeys(n)},_getParentSelectedRowKeys:function(e){var t=this,n=[];return e.forEach((function(i){!t._getSelectedParentKeys(i,e).length&&n.push(i)})),n},_getLeafSelectedRowKeys:function(e){var t=[],n=this._dataController;return e.forEach((function(e){var i=n.getNodeByKey(e);i&&!i.hasChildren&&t.push(e)})),t},isRecursiveSelection:function(){var e=this.option(\"selection.mode\"),t=this.option(\"selection.recursive\");return\"multiple\"===e&&t},updateSelectionState:function(e){var t=e.removedItemKeys||[],n=e.selectedItemKeys||[];this.isRecursiveSelection()&&(this._updateSelectionStateCore(t,!1),this._updateSelectionStateCore(n,!0))},isRowSelected:function(e,t){var n=this.callBase.apply(this,arguments);return t=null!=t?t:this.isRecursiveSelection(),!n&&t?e in this._selectionStateByKey&&this._selectionStateByKey[e]:n},getSelectedRowKeys:function(e){var t=this;if(!t._dataController)return[];var n=t.callBase.apply(t,arguments);return e&&(this.isRecursiveSelection()&&(n=this._getAllSelectedRowKeys(n)),\"all\"!==e&&(\"excludeRecursive\"===e?n=t._getParentSelectedRowKeys(n):t._isModeLeavesOnly(e)&&(n=t._getLeafSelectedRowKeys(n)))),n},getSelectedRowsData:function(e){var t=this._dataController,n=this.getSelectedRowKeys(e)||[],i=[];return n.forEach((function(e){var n=t.getNodeByKey(e);n&&i.push(n.data)})),i},refresh:function(){return this._selectionStateByKey={},this.callBase.apply(this,arguments)}}},views:{columnHeadersView:{_processTemplate:function(e,t){var n=this,i=this.callBase(e,t),o=n._columnsController.getFirstDataColumnIndex();return i&&\"header\"===t.rowType&&t.column.index===o?{render:function(e){\"multiple\"===n.option(\"selection.mode\")&&n.renderSelectAll(e.container,e.model),i.render(e)}}:i},renderSelectAll:function(e,t){e.addClass(\"dx-treelist-select-all\"),this._renderSelectAllCheckBox(e)},_isSortableElement:function(e){return this.callBase(e)&&!e.closest(\".\".concat(\"dx-select-checkbox\")).length}},rowsView:{_renderIcons:function(e,t){return this.callBase.apply(this,arguments),t.row.isNewRow||\"multiple\"!==this.option(\"selection.mode\")||this.getController(\"selection\").renderSelectCheckBoxContainer(e,t),e},_rowClick:function(e){var t=(0,i.default)(e.event.target);this.isExpandIcon(t)?this.callBase.apply(this,arguments):d.apply(this,arguments)}}}}}))},86988:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=D(n(49387)),o=n(31648),a=D(n(99393)),r=D(n(73349)),s=D(n(13046)),l=n(6415),u=D(n(68374)),d=n(10688),c=n(20576),h=n(62754),f=n(13306),p=n(78008),g=n(37518),m=n(58664),_=n(68752),v=n(35922),y=n(77695),b=n(58201),x=D(n(55994)),w=n(23174),C=D(n(93786)),S=n(39611),k=D(n(6866));function D(e){return e&&e.__esModule?e:{default:e}}function I(){return(I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function T(e){return(T=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function E(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==T(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==T(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===T(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var O,A,P=(0,b.getWindow)(),M=\"dxDraggable\",R=(0,S.addNamespace)(w.start,M),B=(0,S.addNamespace)(w.move,M),L=(0,S.addNamespace)(w.end,M),V=(0,S.addNamespace)(w.enter,M),F=(0,S.addNamespace)(w.leave,M),H=(0,S.addNamespace)(C.default.down,M),N=(0,S.addNamespace)(\"keydown\",M),z=function(e){return{x:e.pageX-(0,u.default)(P).scrollLeft(),y:e.pageY-(0,u.default)(P).scrollTop()}},j=function(){function e(e,t){this._$scrollableAtPointer=null,this._preventScroll=!0,this._component=t,\"vertical\"===e?(this._scrollValue=\"scrollTop\",this._overFlowAttr=\"overflowY\",this._sizeAttr=\"height\",this._scrollSizeProp=\"scrollHeight\",this._clientSizeProp=\"clientHeight\",this._limitProps={start:\"top\",end:\"bottom\"}):(this._scrollValue=\"scrollLeft\",this._overFlowAttr=\"overflowX\",this._sizeAttr=\"width\",this._scrollSizeProp=\"scrollWidth\",this._clientSizeProp=\"clientWidth\",this._limitProps={start:\"left\",end:\"right\"})}var t=e.prototype;return t.updateScrollable=function(e,t){var n=this,i=!1;e.some((function(e){var o=(0,u.default)(e),a=o.hasClass(\"dx-overlay-wrapper\"),r=o.hasClass(\"dx-overlay-content\");return!(!a&&!r)||(i=n._trySetScrollable(e,t))})),i||(this._$scrollableAtPointer=null,this._scrollSpeed=0)},t.isScrolling=function(){return!!this._scrollSpeed},t.isScrollable=function(e){return(\"auto\"===e.css(this._overFlowAttr)||e.hasClass(\"dx-scrollable-container\"))&&e.prop(this._scrollSizeProp)>Math.ceil(\"width\"===this._sizeAttr?(0,m.getWidth)(e):(0,m.getHeight)(e))},t._trySetScrollable=function(e,t){var n,i=(0,u.default)(e),o=this._component.option(\"scrollSensitivity\"),a=this.isScrollable(i);return a&&(o>(n=this._calculateDistanceToBorders(i,t))[this._limitProps.start]?this._preventScroll||(this._scrollSpeed=-this._calculateScrollSpeed(n[this._limitProps.start]),this._$scrollableAtPointer=i):o>n[this._limitProps.end]?this._preventScroll||(this._scrollSpeed=this._calculateScrollSpeed(n[this._limitProps.end]),this._$scrollableAtPointer=i):(a=!1,this._preventScroll=!1)),a},t._calculateDistanceToBorders=function(e,t){var n,i=e.get(0);return i?(n=(0,g.getBoundingRect)(i),{left:t.x-n.left,top:t.y-n.top,right:n.right-t.x,bottom:n.bottom-t.y}):{}},t._calculateScrollSpeed=function(e){var t=this._component,n=t.option(\"scrollSensitivity\"),i=t.option(\"scrollSpeed\");return Math.ceil(Math.pow((n-e)/n,2)*i)},t.scrollByStep=function(){if(this._$scrollableAtPointer&&this._scrollSpeed){if(this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")){var e=this._$scrollableAtPointer.closest(\".dx-scrollable\"),t=e.data(\"dxScrollable\")||e.data(\"dxScrollView\");if(t){var n=t.scrollOffset()[this._limitProps.start]+this._scrollSpeed;t.scrollTo(E({},this._limitProps.start,n))}}else{var i=this._$scrollableAtPointer[this._scrollValue]()+this._scrollSpeed;this._$scrollableAtPointer[this._scrollValue](i)}var o=this._component._dragMoveArgs;o&&this._component._dragMoveHandler(o)}},t.reset=function(){this._$scrollableAtPointer=null,this._scrollSpeed=0,this._preventScroll=!0},t.isOutsideScrollable=function(e,t){if(!e)return!1;var n=(0,g.getBoundingRect)(e.get(0)),i=n[this._limitProps.start],o=n[this._sizeAttr],a=z(t),r=\"width\"===this._sizeAttr?a.x:a.y;return r<i||r>i+o},e}(),W=k.default.inherit({ctor:function(e){this.callBase(),this._strategy=e},_step:function(){var e=this._strategy._horizontalScrollHelper,t=this._strategy._verticalScrollHelper;e&&e.scrollByStep(),t&&t.scrollByStep()}}),G=s.default.inherit({reset:c.noop,dragMove:c.noop,dragEnter:c.noop,dragLeave:c.noop,dragEnd:function(e){return this._getSourceDraggable()._fireRemoveEvent(e),(0,h.Deferred)().resolve()},_fireRemoveEvent:c.noop,_getDefaultOptions:function(){return(0,f.extend)(this.callBase(),{onDragStart:null,onDragMove:null,onDragEnd:null,onDragEnter:null,onDragLeave:null,onDragCancel:null,onCancelByEsc:!1,onDrop:null,immediate:!0,dragDirection:\"both\",boundary:void 0,boundOffset:0,allowMoveByClick:!1,itemData:null,container:void 0,dragTemplate:void 0,contentTemplate:\"content\",handle:\"\",filter:\"\",clone:!1,autoScroll:!0,scrollSpeed:30,scrollSensitivity:60,group:void 0,data:void 0})},_setOptionsByReference:function(){this.callBase.apply(this,arguments),(0,f.extend)(this._optionsByReference,{component:!0,group:!0,itemData:!0,data:!0})},_init:function(){this.callBase(),this._attachEventHandlers(),this._scrollAnimator=new W(this),this._horizontalScrollHelper=new j(\"horizontal\",this),this._verticalScrollHelper=new j(\"vertical\",this),this._initScrollTop=0,this._initScrollLeft=0},_normalizeCursorOffset:function(e){return(0,v.isObject)(e)&&(e={h:e.x,v:e.y}),{left:(e=(0,c.splitPair)(e).map((function(e){return parseFloat(e)})))[0],top:1===e.length?e[0]:e[1]}},_getNormalizedCursorOffset:function(e,t){return(0,v.isFunction)(e)&&(e=e.call(this,t)),this._normalizeCursorOffset(e)},_calculateElementOffset:function(e){var t,n,i=e.event,a=(0,u.default)(e.itemElement),r=(0,u.default)(e.dragElement),s=this._dragElementIsCloned(),l=this.option(\"cursorOffset\"),d={left:0,top:0},c=this._initialLocate=(0,o.locate)(r);return(s||e.initialOffset||l)&&(t=e.initialOffset||a.offset(),l&&(d=this._getNormalizedCursorOffset(l,e),isFinite(d.left)&&(t.left=i.pageX),isFinite(d.top)&&(t.top=i.pageY)),n=r.offset(),t.top-=n.top+(d.top||0)-c.top,t.left-=n.left+(d.left||0)-c.left),t},_initPosition:function(e){var t=(0,u.default)(e.dragElement),n=this._calculateElementOffset(e);n&&this._move(n,t),this._startPosition=(0,o.locate)(t)},_startAnimator:function(){this._scrollAnimator.inProgress()||this._scrollAnimator.start()},_stopAnimator:function(){this._scrollAnimator.stop()},_addWidgetPrefix:function(e){var t=this.NAME;return(0,p.dasherize)(t)+(e?\"-\".concat(e):\"\")},_getItemsSelector:function(){return this.option(\"filter\")||\"\"},_$content:function(){var e=this.$element(),t=e.children(\".dx-template-wrapper\");return t.length?t:e},_attachEventHandlers:function(){var e=this;if(!this.option(\"disabled\")){var t=this._$content(),n=this._getItemsSelector(),i=this.option(\"allowMoveByClick\"),o={direction:this.option(\"dragDirection\"),immediate:this.option(\"immediate\"),checkDropTarget:function(t,n){var i=e.option(\"group\"),o=e._getSourceDraggable().option(\"group\"),a=e._getScrollable(t);return!e._verticalScrollHelper.isOutsideScrollable(a,n)&&!e._horizontalScrollHelper.isOutsideScrollable(a,n)&&(o&&o===i)}};i&&(t=this._getArea(),x.default.on(t,H,o,this._pointerDownHandler.bind(this))),\">\"===n[0]&&(n=n.slice(1)),x.default.on(t,R,n,o,this._dragStartHandler.bind(this)),x.default.on(t,B,o,this._dragMoveHandler.bind(this)),x.default.on(t,L,o,this._dragEndHandler.bind(this)),x.default.on(t,V,o,this._dragEnterHandler.bind(this)),x.default.on(t,F,o,this._dragLeaveHandler.bind(this)),this.option(\"onCancelByEsc\")&&x.default.on(t,N,this._keydownHandler.bind(this))}},_dragElementIsCloned:function(){return this._$dragElement&&this._$dragElement.hasClass(this._addWidgetPrefix(\"clone\"))},_getDragTemplateArgs:function(e,t){return{container:(0,l.getPublicElement)(t),model:{itemData:this.option(\"itemData\"),itemElement:(0,l.getPublicElement)(e)}}},_createDragElement:function(e){var t=e,n=this.option(\"clone\"),i=this._getContainer(),o=this.option(\"dragTemplate\");return o?(o=this._getTemplate(o),t=(0,u.default)(\"<div>\").appendTo(i),o.render(this._getDragTemplateArgs(e,t))):n&&(t=(0,u.default)(\"<div>\").appendTo(i),e.clone().css({width:e.css(\"width\"),height:e.css(\"height\")}).appendTo(t)),t.toggleClass(this._addWidgetPrefix(\"clone\"),t.get(0)!==e.get(0)).toggleClass(\"dx-rtl\",this.option(\"rtlEnabled\"))},_resetDragElement:function(){this._dragElementIsCloned()?this._$dragElement.remove():this._toggleDraggingClass(!1),this._$dragElement=null},_resetSourceElement:function(){this._toggleDragSourceClass(!1),this._$sourceElement=null},_detachEventHandlers:function(){x.default.off(this._$content(),\".\".concat(M)),x.default.off(this._getArea(),\".\".concat(M))},_move:function(e,t){(0,o.move)(t||this._$dragElement,e)},_getDraggableElement:function(e){var t=this._getSourceElement();if(t)return t;if(this.option(\"allowMoveByClick\"))return this.$element();var n=(0,u.default)(e&&e.target),i=this._getItemsSelector();if(\">\"===i[0]){var o=this._$content().find(i);o.is(n)||(n=n.closest(o))}return n},_getSourceElement:function(){return this._getSourceDraggable()._$sourceElement},_pointerDownHandler:function(e){if(!(0,S.needSkipEvent)(e)){var t={},n=this.$element(),i=this.option(\"dragDirection\");\"horizontal\"!==i&&\"both\"!==i||(t.left=e.pageX-n.offset().left+(0,o.locate)(n).left-(0,m.getWidth)(n)/2),\"vertical\"!==i&&\"both\"!==i||(t.top=e.pageY-n.offset().top+(0,o.locate)(n).top-(0,m.getHeight)(n)/2),this._move(t,n),this._getAction(\"onDragMove\")(this._getEventArgs(e))}},_isValidElement:function(e,t){var n=this.option(\"handle\"),i=(0,u.default)(e.originalEvent&&e.originalEvent.target);return!(n&&!i.closest(n).length)&&(!!t.length&&!t.is(\".dx-state-disabled, .dx-state-disabled *\"))},_dragStartHandler:function(e){var t=this._getDraggableElement(e);if(this.dragInProgress=!0,this._isValidElement(e,t)){if(!this._$sourceElement){var n=this._getDragStartArgs(e,t);if(this._getAction(\"onDragStart\")(n),n.cancel)e.cancel=!0;else{this.option(\"itemData\",n.itemData),this._setSourceDraggable(),this._$sourceElement=t;var i=t.offset();!this._hasClonedDraggable()&&this.option(\"autoScroll\")&&(this._initScrollTop=this._getScrollableScrollTop(),this._initScrollLeft=this._getScrollableScrollLeft(),i=this._getDraggableElementOffset(i.left,i.top));var o=this._$dragElement=this._createDragElement(t);this._toggleDraggingClass(!0),this._toggleDragSourceClass(!0),this._setGestureCoverCursor(o.children());var a=\"fixed\"===o.css(\"position\");this._initPosition((0,f.extend)({},n,{dragElement:o.get(0),initialOffset:a&&i})),this._getAction(\"onDraggableElementShown\")(I(I({},n),{dragElement:o}));var r=this._getArea(),s=this._getAreaOffset(r),l=this._getBoundOffset(),u=(0,m.getOuterWidth)(r),d=(0,m.getOuterHeight)(r),c=(0,m.getWidth)(o),h=(0,m.getHeight)(o),p=o.offset().left-s.left,g=o.offset().top-s.top;r.length&&(e.maxLeftOffset=p-l.left,e.maxRightOffset=u-p-c-l.right,e.maxTopOffset=g-l.top,e.maxBottomOffset=d-g-h-l.bottom),this.option(\"autoScroll\")&&this._startAnimator()}}}else e.cancel=!0},_getAreaOffset:function(e){return e&&i.default.offset(e)||{left:0,top:0}},_toggleDraggingClass:function(e){this._$dragElement&&this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"),e)},_toggleDragSourceClass:function(e,t){var n=t||this._$sourceElement;n&&n.toggleClass(this._addWidgetPrefix(\"source\"),e)},_setGestureCoverCursor:function(e){(0,u.default)(\".\".concat(\"dx-gesture-cover\")).css(\"cursor\",e.css(\"cursor\"))},_getBoundOffset:function(){var e=this.option(\"boundOffset\");return(0,v.isFunction)(e)&&(e=e.call(this)),(0,_.quadToObject)(e)},_getArea:function(){var e=this.option(\"boundary\");return(0,v.isFunction)(e)&&(e=e.call(this)),(0,u.default)(e)},_getContainer:function(){var e=this.option(\"container\");return void 0===e&&(e=(0,y.value)()),(0,u.default)(e)},_getDraggableElementOffset:function(e,t){var n,i,o,a,r=this._initScrollTop,s=this._initScrollLeft,l=this._getScrollableScrollTop(),d=this._getScrollableScrollLeft(),c=\"fixed\"===(0,u.default)(this.element()).css(\"position\"),h={left:(null!==(i=null===(n=this._startPosition)||void 0===n?void 0:n.left)&&void 0!==i?i:0)+e,top:(null!==(a=null===(o=this._startPosition)||void 0===o?void 0:o.top)&&void 0!==a?a:0)+t};return c||this._hasClonedDraggable()?h:{left:(0,v.isNumeric)(d)?h.left+d-s:h.left,top:(0,v.isNumeric)(l)?h.top+l-r:h.top}},_hasClonedDraggable:function(){return this.option(\"clone\")||this.option(\"dragTemplate\")},_dragMoveHandler:function(e){if(this._dragMoveArgs=e,this._$dragElement){var t=this._getDraggableElementOffset(e.offset.x,e.offset.y);this._move(t),this._updateScrollable(e);var n=this._getEventArgs(e);if(this._getAction(\"onDragMove\")(n),!0!==n.cancel)this._getTargetDraggable().dragMove(e,scrollBy)}else e.cancel=!0},_updateScrollable:function(e){if(this.option(\"autoScroll\")){var t=z(e),n=r.default.elementsFromPoint(t.x,t.y,this.$element().get(0));this._verticalScrollHelper.updateScrollable(n,t),this._horizontalScrollHelper.updateScrollable(n,t)}},_getScrollable:function(e){var t,n=this;return e.parents().toArray().some((function(e){var i=(0,u.default)(e);return!(!n._horizontalScrollHelper.isScrollable(i)&&!n._verticalScrollHelper.isScrollable(i))&&(t=i,!0)})),t},_getScrollableScrollTop:function(){var e,t;return null!==(t=null===(e=this._getScrollable((0,u.default)(this.element())))||void 0===e?void 0:e.scrollTop())&&void 0!==t?t:0},_getScrollableScrollLeft:function(){var e,t;return null!==(t=null===(e=this._getScrollable((0,u.default)(this.element())))||void 0===e?void 0:e.scrollLeft())&&void 0!==t?t:0},_defaultActionArgs:function(){var e=this.callBase.apply(this,arguments),t=this.option(\"component\");return t&&(e.component=t,e.element=t.element()),e},_getEventArgs:function(e){var t=this._getSourceDraggable(),n=this._getTargetDraggable();return{event:e,itemData:t.option(\"itemData\"),itemElement:(0,l.getPublicElement)(t._$sourceElement),fromComponent:t.option(\"component\")||t,toComponent:n.option(\"component\")||n,fromData:t.option(\"data\"),toData:n.option(\"data\")}},_getDragStartArgs:function(e,t){var n=this._getEventArgs(e);return{event:n.event,itemData:n.itemData,itemElement:t,fromData:n.fromData}},_revertItemToInitialPosition:function(){!this._dragElementIsCloned()&&this._move(this._initialLocate,this._$sourceElement)},_dragEndHandler:function(e){var t=this,n=(0,h.Deferred)(),i=this._getEventArgs(e),o=this._getEventArgs(e),a=this._getTargetDraggable(),r=!0;this.dragInProgress=!1;try{this._getAction(\"onDragEnd\")(i)}finally{(0,h.when)((0,h.fromPromise)(i.cancel)).done((function(e){if(!e&&(a!==t&&a._getAction(\"onDrop\")(o),!o.cancel))return r=!1,void(0,h.when)((0,h.fromPromise)(a.dragEnd(i))).always(n.resolve);n.resolve()})).fail(n.resolve),n.done((function(){r&&t._revertItemToInitialPosition(),t._resetDragOptions(a)}))}},_isTargetOverAnotherDraggable:function(e){var t=this,n=this._getSourceDraggable();if(this===n)return!1;var i=n._$dragElement,o=n.$element(),a=this.$element(),s=z(e),l=r.default.elementsFromPoint(s.x,s.y,this.element()).filter((function(e){var n=(0,u.default)(e);return!!n.hasClass(t._addWidgetPrefix())&&!n.closest(i).length}))[0],d=this._getSourceElement(),c=l===o.get(0),h=(0,u.default)(l).closest(d).length;return!l||l===a.get(0)&&!c&&!h},_dragEnterHandler:function(e){this._fireDragEnterEvent(e),this._isTargetOverAnotherDraggable(e)&&this._setTargetDraggable(),this._getSourceDraggable().dragEnter(e)},_dragLeaveHandler:function(e){this._fireDragLeaveEvent(e),this._resetTargetDraggable(),this!==this._getSourceDraggable()&&this.reset(),this._getSourceDraggable().dragLeave(e)},_keydownHandler:function(e){this.dragInProgress&&\"Escape\"===e.key&&this._keydownEscapeHandler(e)},_keydownEscapeHandler:function(e){if(this._getSourceElement()){var t=this._getEventArgs(e);if(this._getAction(\"onDragCancel\")(t),!t.cancel){this.dragInProgress=!1,null==A||A._toggleDraggingClass(!1),this._detachEventHandlers(),this._revertItemToInitialPosition();var n=this._getTargetDraggable();this._resetDragOptions(n),this._attachEventHandlers()}}},_getAction:function(e){return this[\"_\".concat(e,\"Action\")]||this._createActionByOption(e)},_getAnonymousTemplateName:function(){return\"content\"},_initTemplates:function(){this.option(\"contentTemplate\")&&(this._templateManager.addDefaultTemplates({content:new d.EmptyTemplate}),this.callBase.apply(this,arguments))},_render:function(){this.callBase(),this.$element().addClass(this._addWidgetPrefix());var e=this._templateManager.anonymousTemplateName===this.option(\"contentTemplate\"),t=this._getTemplateByOption(\"contentTemplate\");t&&(0,u.default)(t.render({container:this.element(),transclude:e}))},_optionChanged:function(e){var t=e.name;switch(t){case\"onDragStart\":case\"onDragMove\":case\"onDragEnd\":case\"onDrop\":case\"onDragEnter\":case\"onDragLeave\":case\"onDragCancel\":case\"onDraggableElementShown\":this[\"_\".concat(t,\"Action\")]=this._createActionByOption(t);break;case\"dragTemplate\":case\"contentTemplate\":case\"container\":case\"clone\":break;case\"allowMoveByClick\":case\"dragDirection\":case\"disabled\":case\"boundary\":case\"filter\":case\"immediate\":this._resetDragElement(),this._detachEventHandlers(),this._attachEventHandlers();break;case\"onCancelByEsc\":this._keydownHandler();break;case\"autoScroll\":this._verticalScrollHelper.reset(),this._horizontalScrollHelper.reset();break;case\"scrollSensitivity\":case\"scrollSpeed\":case\"boundOffset\":case\"handle\":case\"group\":case\"data\":case\"itemData\":break;default:this.callBase(e)}},_getTargetDraggable:function(){return O||this},_getSourceDraggable:function(){return A||this},_setTargetDraggable:function(){var e=this.option(\"group\"),t=this._getSourceDraggable();e&&e===t.option(\"group\")&&(O=this)},_setSourceDraggable:function(){A=this},_resetSourceDraggable:function(){A=null},_resetTargetDraggable:function(){O=null},_resetDragOptions:function(e){this.reset(),e.reset(),this._stopAnimator(),this._horizontalScrollHelper.reset(),this._verticalScrollHelper.reset(),this._resetDragElement(),this._resetSourceElement(),this._resetTargetDraggable(),this._resetSourceDraggable()},_dispose:function(){this.callBase(),this._detachEventHandlers(),this._resetDragElement(),this._resetTargetDraggable(),this._resetSourceDraggable(),this._$sourceElement=null,this._stopAnimator()},_fireDragEnterEvent:function(e){var t=this._getEventArgs(e);this._getAction(\"onDragEnter\")(t)},_fireDragLeaveEvent:function(e){var t=this._getEventArgs(e);this._getAction(\"onDragLeave\")(t)}});(0,a.default)(M,G);var q=G;t.default=q},75500:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=g(n(87209)),o=n(31648),a=g(n(99393)),r=n(6415),s=g(n(68374)),l=n(62754),u=n(13306),d=n(37518),c=n(58664),h=n(58201),f=g(n(55994)),p=g(n(86988));function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return(m=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function _(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==m(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==m(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=(0,h.getWindow)(),y=function(e){return(0,s.default)(e).is(\":visible\")},b=function(e,t){var n,o;if(e){var a=(null===(n=t.to)||void 0===n?void 0:n.left)||0,r=(null===(o=t.to)||void 0===o?void 0:o.top)||0;e.style.transform=\"translate(\".concat(a,\"px,\").concat(r,\"px)\"),e.style.transition=i.default.off?\"\":\"transform \".concat(t.duration,\"ms \").concat(t.easing)}};var x=p.default.inherit({_init:function(){this.callBase(),this._sourceScrollHandler=this._handleSourceScroll.bind(this),this._sourceScrollableInfo=null},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{clone:!0,filter:\"> *\",itemOrientation:\"vertical\",dropFeedbackMode:\"push\",allowDropInsideItem:!1,allowReordering:!0,moveItemOnDrop:!1,onDragChange:null,onAdd:null,onRemove:null,onReorder:null,onPlaceholderPrepared:null,animation:{type:\"slide\",duration:300,easing:\"ease\"},fromIndex:null,toIndex:null,dropInsideItem:!1,itemPoints:null,fromIndexOffset:0,offset:0,autoUpdate:!1,draggableElementSize:0})},reset:function(){this.option({dropInsideItem:!1,toIndex:null,fromIndex:null,itemPoints:null,fromIndexOffset:0,draggableElementSize:0}),this._$placeholderElement&&this._$placeholderElement.remove(),this._$placeholderElement=null,!this._isIndicateMode()&&this._$modifiedItem&&(this._$modifiedItem.css(\"marginBottom\",this._modifiedItemMargin),this._$modifiedItem=null)},_getPrevVisibleItem:function(e,t){return e.slice(0,t).reverse().filter(y)[0]},_dragStartHandler:function(e){if(this.callBase.apply(this,arguments),!0!==e.cancel){var t=this._getSourceElement();this._updateItemPoints(),this._subscribeToSourceScroll(e),this.option(\"fromIndex\",this._getElementIndex(t)),this.option(\"fromIndexOffset\",this.option(\"offset\"))}},_subscribeToSourceScroll:function(e){var t=this._getScrollable((0,s.default)(e.target));t&&(this._sourceScrollableInfo={element:t,scrollLeft:t.scrollLeft(),scrollTop:t.scrollTop()},f.default.off(t,\"scroll\",this._sourceScrollHandler),f.default.on(t,\"scroll\",this._sourceScrollHandler))},_unsubscribeFromSourceScroll:function(){this._sourceScrollableInfo&&(f.default.off(this._sourceScrollableInfo.element,\"scroll\",this._sourceScrollHandler),this._sourceScrollableInfo=null)},_handleSourceScroll:function(e){var t=this,n=this._sourceScrollableInfo;n&&[\"scrollLeft\",\"scrollTop\"].forEach((function(i){if(e.target[i]!==n[i]){var o=e.target[i]-n[i];t._correctItemPoints(o),t._movePlaceholder(),n[i]=e.target[i]}}))},_dragEnterHandler:function(e){if(this.callBase.apply(this,arguments),this!==this._getSourceDraggable()&&(this._subscribeToSourceScroll(e),this._updateItemPoints(),this.option(\"fromIndex\",-1),!this._isIndicateMode())){var t=this.option(\"itemPoints\"),n=t[t.length-1];if(n){var i=this.$element(),o=this._getSourceElement(),a=this._isVerticalOrientation(),r=a?(0,c.getOuterHeight)(o,!0):(0,c.getOuterWidth)(o,!0),l=i.get(0)[a?\"scrollHeight\":\"scrollWidth\"],u=i.get(0)[a?\"scrollTop\":\"scrollLeft\"],d=a?\"top\":\"left\",h=n[d],f=i.offset()[d],p=f+l-u-h;if(p<r&&a){var g=this._getItems(),m=(0,s.default)(this._getPrevVisibleItem(g));this._$modifiedItem=m,this._modifiedItemMargin=m.get(0).style.marginBottom,m.css(\"marginBottom\",r-p);var _=m.closest(\".dx-sortable\"),v=_.data(\"dxScrollable\")||_.data(\"dxScrollView\");v&&v.update()}}}},_dragLeaveHandler:function(){this.callBase.apply(this,arguments),this!==this._getSourceDraggable()&&this._unsubscribeFromSourceScroll()},dragEnter:function(){this!==this._getTargetDraggable()&&this.option(\"toIndex\",-1)},dragLeave:function(){this!==this._getTargetDraggable()&&this.option(\"toIndex\",this.option(\"fromIndex\"))},_allowDrop:function(e){var t=this._getTargetDraggable().$element(),n=this._getScrollable(t);if(n){var i=function(e){var t=e.offset(),n=e[0].style,i=parseFloat(n.paddingLeft)||0,o=parseFloat(n.paddingRight)||0,a=parseFloat(n.paddingTop)||0,r=e[0].clientWidth-(i+o),s=(0,c.getHeight)(e),l=t.left+i,u=t.top+a;return{left:l,right:l+r,top:u,bottom:u+s}}(n),o=i.left,a=i.right,r=i.top,s=i.bottom,l=this.option(\"toIndex\"),u=this.option(\"itemPoints\"),d=null==u?void 0:u.filter((function(e){return e.index===l}))[0];if(d&&void 0!==d.top)return this._isVerticalOrientation()?r<=Math.ceil(d.top)&&Math.floor(d.top)<=s:o<=Math.ceil(d.left)&&Math.floor(d.left)<=a}return!0},dragEnd:function(e){this._unsubscribeFromSourceScroll();var t,n,i=this._getSourceElement(),a=this._getSourceDraggable(),r=a.NAME!==this.NAME,s=this.option(\"toIndex\"),u=e.event,d=this._allowDrop(u);if(null!==s&&s>=0&&d&&(a!==this&&((t=this._fireAddEvent(u))||(n=this._fireRemoveEvent(u))),r&&(0,o.resetPosition)(i),this.option(\"moveItemOnDrop\")&&!t&&this._moveItem(i,s,n),a===this))return this._fireReorderEvent(u);return(0,l.Deferred)().resolve()},dragMove:function(e){var t=this.option(\"itemPoints\");if(t){for(var n,i=this._isVerticalOrientation(),o=i?\"top\":\"left\",a=i?e.pageY:e.pageX,r=this.option(\"rtlEnabled\"),s=t.length-1;s>=0;s--){var l=t[s+1]&&(t[s][o]+t[s+1][o])/2;if(!(!i&&r?a>l:l>a)&&void 0!==l)break;n=t[s]}n&&(this._updatePlaceholderPosition(e,n),this._verticalScrollHelper.isScrolling()&&this._isIndicateMode()&&this._movePlaceholder())}},_isIndicateMode:function(){return\"indicate\"===this.option(\"dropFeedbackMode\")||this.option(\"allowDropInsideItem\")},_createPlaceholder:function(){var e;return this._isIndicateMode()&&(e=(0,s.default)(\"<div>\").addClass(this._addWidgetPrefix(\"placeholder\")).insertBefore(this._getSourceDraggable()._$dragElement)),this._$placeholderElement=e,e},_getItems:function(){var e=this._getItemsSelector();return this._$content().find(e).not(\".\".concat(this._addWidgetPrefix(\"placeholder\"))).not(\".\".concat(this._addWidgetPrefix(\"clone\"))).toArray()},_allowReordering:function(){return this._getSourceDraggable()!==this._getTargetDraggable()||this.option(\"allowReordering\")},_isValidPoint:function(e,t,n){var i=this.option(\"allowDropInsideItem\");return!!(n||this._allowReordering()||0===e&&i)&&(!this._isIndicateMode()||(-1===t||e!==t&&(n||e!==t+1)))},_getItemPoints:function(){var e,t,n,i=[],o=this.option(\"rtlEnabled\"),a=this._isVerticalOrientation(),r=this._getItems(),l=r.filter(y),d=l.length,h=this._getDraggableElement(),f=l.indexOf(h.get(0));if(d){for(var p=0;p<=d;p++){var g=!a&&o^p===d,m=a&&p===d;p<d&&(t=(e=(0,s.default)(l[p])).offset(),n=(0,c.getOuterWidth)(e)),i.push({dropInsideItem:!1,left:t.left+(g?n:0),top:t.top+(m?i[p-1].height:0),index:p===d?r.length:r.indexOf(e.get(0)),$item:e,width:(0,c.getOuterWidth)(e),height:(0,c.getOuterHeight)(e),isValid:this._isValidPoint(p,f)})}if(this.option(\"allowDropInsideItem\")){var _=i;i=[];for(var v=0;v<_.length;v++)i.push(_[v]),_[v+1]&&i.push((0,u.extend)({},_[v],{dropInsideItem:!0,top:Math.floor((_[v].top+_[v+1].top)/2),left:Math.floor((_[v].left+_[v+1].left)/2),isValid:this._isValidPoint(v,f,!0)}))}}else i.push({dropInsideItem:!1,index:0,isValid:!0});return i},_updateItemPoints:function(e){(e||this.option(\"autoUpdate\")||!this.option(\"itemPoints\"))&&this.option(\"itemPoints\",this._getItemPoints())},_correctItemPoints:function(e){var t=this.option(\"itemPoints\");if(e&&t&&!this.option(\"autoUpdate\")){var n=this._isVerticalOrientation()?\"top\":\"left\";t.forEach((function(t){t[n]-=e}))}},_getElementIndex:function(e){return this._getItems().indexOf(e.get(0))},_getDragTemplateArgs:function(e){var t=this.callBase.apply(this,arguments);return t.model.fromIndex=this._getElementIndex(e),t},_togglePlaceholder:function(e){this._$placeholderElement&&this._$placeholderElement.toggle(e)},_isVerticalOrientation:function(){return\"vertical\"===this.option(\"itemOrientation\")},_normalizeToIndex:function(e,t){var n=this._getSourceDraggable()!==this._getTargetDraggable(),i=this._getActualFromIndex();return null===e?i:Math.max(n||i>=e||t?e:e-1,0)},_updatePlaceholderPosition:function(e,t){var n=this._getSourceDraggable(),i=this._normalizeToIndex(t.index,t.dropInsideItem),o=(0,u.extend)(this._getEventArgs(e),{toIndex:i,dropInsideItem:t.dropInsideItem});t.isValid&&this._getAction(\"onDragChange\")(o),!o.cancel&&t.isValid?(this.option({dropInsideItem:t.dropInsideItem,toIndex:t.index}),this._getAction(\"onPlaceholderPrepared\")((0,u.extend)(this._getEventArgs(e),{placeholderElement:(0,r.getPublicElement)(this._$placeholderElement),dragElement:(0,r.getPublicElement)(n._$dragElement)})),this._updateItemPoints()):t.isValid||this.option({dropInsideItem:!1,toIndex:null})},_makeWidthCorrection:function(e,t){if(this._$scrollable=this._getScrollable(e),this._$scrollable){var n=(0,c.getWidth)(this._$scrollable),i=this._$scrollable.offset().left-e.offset().left,o=(0,c.getOuterWidth)(e)-i-n;i>0&&(t-=i),o>0&&(t-=o)}return t},_updatePlaceholderSizes:function(e,t){var n=this.option(\"dropInsideItem\"),i=(0,s.default)(t),o=this._isVerticalOrientation(),a=\"\",r=\"\";e.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"),n),(o||n)&&(a=(0,c.getOuterWidth)(i)),o&&!n||(r=(0,c.getOuterHeight)(i)),a=this._makeWidthCorrection(i,a),e.css({width:a,height:r})},_moveItem:function(e,t,n){var i,o=this._getItems(),a=o[t],r=this._getSourceDraggable();n&&(e=e.clone(),r._toggleDragSourceClass(!1,e)),a||(i=o[t-1]),this._moveItemCore(e,a,i)},_moveItemCore:function(e,t,n){t||n?n?e.insertAfter((0,s.default)(n)):e.insertBefore((0,s.default)(t)):e.appendTo(this.$element())},_getDragStartArgs:function(e,t){return(0,u.extend)(this.callBase.apply(this,arguments),{fromIndex:this._getElementIndex(t)})},_getEventArgs:function(e){var t=this._getSourceDraggable(),n=this._getTargetDraggable(),i=n.option(\"dropInsideItem\");return(0,u.extend)(this.callBase.apply(this,arguments),{fromIndex:t.option(\"fromIndex\"),toIndex:this._normalizeToIndex(n.option(\"toIndex\"),i),dropInsideItem:i})},_optionChanged:function(e){var t=this,n=e.name;switch(n){case\"onDragChange\":case\"onPlaceholderPrepared\":case\"onAdd\":case\"onRemove\":case\"onReorder\":this[\"_\".concat(n,\"Action\")]=this._createActionByOption(n);break;case\"itemOrientation\":case\"allowDropInsideItem\":case\"moveItemOnDrop\":case\"dropFeedbackMode\":case\"itemPoints\":case\"animation\":case\"allowReordering\":case\"fromIndexOffset\":case\"offset\":case\"draggableElementSize\":case\"autoUpdate\":break;case\"fromIndex\":[!1,!0].forEach((function(n){var i=n?e.value:e.previousValue;if(null!==i){var o=(0,s.default)(t._getItems()[i]);t._toggleDragSourceClass(n,o)}}));break;case\"dropInsideItem\":this._optionChangedDropInsideItem(e);break;case\"toIndex\":this._optionChangedToIndex(e);break;default:this.callBase(e)}},_optionChangedDropInsideItem:function(){this._isIndicateMode()&&this._$placeholderElement&&this._movePlaceholder()},_isPositionVisible:function(e){var t,n=this.$element();if(\"hidden\"!==n.css(\"overflow\")?t=n.get(0):n.parents().each((function(){if(\"visible\"!==(0,s.default)(this).css(\"overflow\"))return t=this,!1})),t){var i=(0,d.getBoundingRect)(t),o=this._isVerticalOrientation(),a=o?\"top\":\"left\",r=o?\"bottom\":\"right\",l=o?v.pageYOffset:v.pageXOffset;if(e[a]<i[a]+l||e[a]>i[r]+l)return!1}return!0},_optionChangedToIndex:function(e){var t=e.value;if(this._isIndicateMode()){var n=null!==t&&t>=0;this._togglePlaceholder(n),n&&this._movePlaceholder()}else this._moveItems(e.previousValue,e.value,e.fullUpdate)},update:function(){if(null!==this.option(\"fromIndex\")||null!==this.option(\"toIndex\")){this._updateItemPoints(!0),this._updateDragSourceClass();var e=this.option(\"toIndex\");this._optionChangedToIndex({value:e,fullUpdate:!0})}},_updateDragSourceClass:function(){var e=this._getActualFromIndex(),t=(0,s.default)(this._getItems()[e]);t.length&&(this._$sourceElement=t,this._toggleDragSourceClass(!0,t))},_makeLeftCorrection:function(e){var t=this._$scrollable;if(t&&this._isVerticalOrientation()){var n=t.offset().left-e;n>0&&(e+=n)}return e},_movePlaceholder:function(){var e=this._$placeholderElement||this._createPlaceholder();if(e){var t=this._getItems(),n=this.option(\"toIndex\"),i=this._isVerticalOrientation(),o=this.option(\"rtlEnabled\"),a=this.option(\"dropInsideItem\"),r=null,l=t[n];if(l){var u=(0,s.default)(l);r=u.offset(),i||!o||a||(r.left+=(0,c.getOuterWidth)(u,!0))}else{var d=l=this._getPrevVisibleItem(t,n);d&&(r=(0,s.default)(d).offset(),i?r.top+=(0,c.getOuterHeight)(d,!0):o||(r.left+=(0,c.getOuterWidth)(d,!0)))}if(this._updatePlaceholderSizes(e,l),r&&!this._isPositionVisible(r)&&(r=null),r){var h=i&&n===t.length,f=(0,c.getOuterHeight)(e);r.left=this._makeLeftCorrection(r.left),r.top=h&&r.top>=f?r.top-f:r.top,this._move(r,e)}e.toggle(!!r)}},_getPositions:function(e,t,n,i){for(var o=[],a=0;a<e.length;a++){var r=0;null!==i&&null!==n?(-1===n?a>=i&&(r=t):-1===i?a>n&&(r=-t):n<i?a>n&&a<i&&(r=-t):n>i&&a>=i&&a<n&&(r=t),o.push(r)):o.push(r)}return o},_getDraggableElementSize:function(e){var t=this._getDraggableElement(),n=this.option(\"draggableElementSize\");return n||(n=e?((0,c.getOuterHeight)(t)+(0,c.getOuterHeight)(t,!0))/2:((0,c.getOuterWidth)(t)+(0,c.getOuterWidth)(t,!0))/2,this.option(\"autoUpdate\")||this.option(\"draggableElementSize\",n)),n},_getActualFromIndex:function(){var e=this.option(),t=e.fromIndex,n=e.fromIndexOffset,i=e.offset;return null==t?null:t+n-i},_moveItems:function(e,t,n){for(var i,o=this._getActualFromIndex(),a=this._isVerticalOrientation(),r=a?\"top\":\"left\",s=this._getDraggableElementSize(a),l=this._getItems(),d=this._getPositions(l,s,o,e),c=this._getPositions(l,s,o,t),h=this.option(\"animation\"),f=this.option(\"rtlEnabled\"),p=0;p<l.length;p++){var g=l[p],m=d[p],v=c[p];null===t||null===o?(i=g)&&(i.style.transform=\"\",i.style.transition=\"\"):(m!==v||n&&v)&&b(g,(0,u.extend)({},h,{to:_({},r,!a&&f?-v:v)}))}},_toggleDragSourceClass:function(e,t){var n=t||this._$sourceElement;this.callBase.apply(this,arguments),this._isIndicateMode()||n&&n.toggleClass(this._addWidgetPrefix(\"source-hidden\"),e)},_dispose:function(){this.reset(),this.callBase()},_fireAddEvent:function(e){var t=this._getEventArgs(e);return this._getAction(\"onAdd\")(t),t.cancel},_fireRemoveEvent:function(e){var t=this._getSourceDraggable(),n=this._getEventArgs(e);return t._getAction(\"onRemove\")(n),n.cancel},_fireReorderEvent:function(e){var t=this._getEventArgs(e);return this._getAction(\"onReorder\")(t),t.promise||(0,l.Deferred)().resolve()}});(0,a.default)(\"dxSortable\",x);var w=x;t.default=w},25387:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentForm=t.APPOINTMENT_FORM_GROUP_NAMES=void 0,n(70184),n(51237),n(31362),n(31609),n(78665);var i=p(n(20530)),o=p(n(68374)),a=p(n(91198)),r=p(n(69434)),s=n(13306),l=p(n(33546)),u=p(n(28109)),d=n(86303),c=p(n(17737)),h=n(72734),f=p(n(23778));function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function _(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e)||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 v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function y(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==g(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===g(a)?a:String(a)),i)}var o,a}var b={Main:\"mainGroup\",Recurrence:\"recurrenceGroup\"};t.APPOINTMENT_FORM_GROUP_NAMES=b;var x=function(e,t){return new Date(new Date(e).setHours(t))},w=function(e,t,n,i,o){return{editorType:\"dxDateBox\",dataField:e,colSpan:t,label:{text:u.default.format(i)},validationRules:[{type:\"required\"}],editorOptions:{width:\"100%\",calendarOptions:{firstDayOfWeek:n},onValueChanged:o,useMaskBehavior:!0}}},C=function(){function e(e){this.scheduler=e,this.form=null,this.semaphore=new d.Semaphore}var t,n,p,g=e.prototype;return g.create=function(e,t,n){var a=this,r=this.scheduler.getEditingConfig().allowTimeZoneEditing,s=this.scheduler.getDataAccessors().expr,l=!!n[s.recurrenceRuleExpr],u=l?1:2,d=[].concat(_(this._createMainItems(s,e,t,r)),_(this.scheduler.createResourceEditorModel()));t(l);var h=[{itemType:\"group\",name:b.Main,colCountByScreen:{lg:2,xs:1},colSpan:u,items:d},{itemType:\"group\",name:b.Recurrence,visible:l,colSpan:u,items:this._createRecurrenceEditor(s)}],f=(0,o.default)(\"<div>\");this.scheduler.createComponent(f,c.default,{items:h,showValidationSummary:!0,scrollingEnabled:!0,colCount:\"auto\",colCountByScreen:{lg:2,xs:1},formData:n,showColonAfterLabel:!1,labelLocation:\"top\",onInitialized:function(e){a.form=e.component},customizeItem:function(e){if(a.form&&\"group\"===e.itemType){var t=a.scheduler.getDataAccessors().expr,n=new Date(a.formData[t.startDateExpr]),i=new Date(a.formData[t.endDateExpr]),o=e.items.find((function(e){return e.dataField===t.startDateTimeZoneExpr})),r=e.items.find((function(e){return e.dataField===t.endDateTimeZoneExpr}));o&&(o.editorOptions.dataSource=a.createTimeZoneDataSource(n)),r&&(r.editorOptions.dataSource=a.createTimeZoneDataSource(i))}},screenByWidth:function(e){return e<600||\"desktop\"!==i.default.current().deviceType?\"xs\":\"lg\"}})},g.createTimeZoneDataSource=function(e){return new l.default({store:f.default.getDisplayedTimeZones(e),paginate:!0,pageSize:10})},g._createAppointmentAdapter=function(e){return(0,h.createAppointmentAdapter)(e,this.scheduler.getDataAccessors())},g._dateBoxValueChanged=function(e,t,n){!function(e,t,n){!(null===t||!!t)&&(null===n||!!n)&&e.option(\"value\",n)}(e.component,e.value,e.previousValue);var i=r.default.deserializeDate(e.value),o=r.default.deserializeDate(e.previousValue),a=this.form.getEditor(t),s=r.default.deserializeDate(a.option(\"value\"));if(this.semaphore.isFree()&&s&&i&&n(s,i)){var l=o?s.getTime()-o.getTime():0;a.option(\"value\",new Date(i.getTime()+l))}},g._createTimezoneEditor=function(e,t,n,i,o){var a=this,r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=u.default.format(\"dxScheduler-noTimezoneTitle\");return{dataField:e,editorType:\"dxSelectBox\",visibleIndex:n,colSpan:i,label:{text:\" \"},editorOptions:{displayExpr:\"title\",valueExpr:\"id\",placeholder:s,searchEnabled:!0,onValueChanged:function(e){var n=a.form.getEditor(t);o&&n.option(\"value\",e.value)}},visible:r}},g._createDateBoxItems=function(e,t){var n=this,i=t?2:1,o=this.scheduler.getFirstDayOfWeek();return[w(e.startDateExpr,i,o,\"dxScheduler-editorLabelStartDate\",(function(t){n._dateBoxValueChanged(t,e.endDateExpr,(function(e,t){return e<t}))})),this._createTimezoneEditor(e.startDateTimeZoneExpr,e.endDateTimeZoneExpr,1,i,!0,t),w(e.endDateExpr,i,o,\"dxScheduler-editorLabelEndDate\",(function(t){n._dateBoxValueChanged(t,e.startDateExpr,(function(e,t){return t<e}))})),this._createTimezoneEditor(e.endDateTimeZoneExpr,e.startDateTimeZoneExpr,3,i,!1,t)]},g._changeFormItemDateType=function(e,t){var n=t?\"date\":\"datetime\",i=m(m({},this.form.itemOption(e).editorOptions),{type:n});this.form.itemOption(e,\"editorOptions\",i)},g._createMainItems=function(e,t,n,i){var o=this;return[{dataField:e.textExpr,editorType:\"dxTextBox\",colSpan:2,label:{text:u.default.format(\"dxScheduler-editorLabelTitle\")}},{itemType:\"group\",colSpan:2,colCountByScreen:{lg:2,xs:1},items:this._createDateBoxItems(e,i)},{itemType:\"group\",colSpan:2,colCountByScreen:{lg:2,xs:2},items:[{dataField:e.allDayExpr,cssClass:\"dx-appointment-form-switch\",editorType:\"dxSwitch\",label:{text:u.default.format(\"dxScheduler-allDay\"),location:\"right\"},editorOptions:{onValueChanged:function(t){var n=t.value,i=o.form.getEditor(e.startDateExpr),s=o.form.getEditor(e.endDateExpr),l=r.default.deserializeDate(i.option(\"value\")),u=r.default.deserializeDate(s.option(\"value\"));if(o.semaphore.isFree()&&l)if(n){var d=a.default.trimTime(l),c=a.default.trimTime(u);i.option(\"value\",new Date(d)),s.option(\"value\",new Date(c))}else{var h=x(l,o.scheduler.getStartDayHour()),f=x(u,o.scheduler.getStartDayHour()),p=o.scheduler.getCalculatedEndDate(f);i.option(\"value\",h),s.option(\"value\",p)}var g=\"\".concat(b.Main,\".\").concat(e.startDateExpr),m=\"\".concat(b.Main,\".\").concat(e.endDateExpr);o._changeFormItemDateType(g,n),o._changeFormItemDateType(m,n)}}},{editorType:\"dxSwitch\",dataField:\"repeat\",cssClass:\"dx-appointment-form-switch\",name:\"visibilityChanged\",label:{text:u.default.format(\"dxScheduler-editorLabelRecurrence\"),location:\"right\"},editorOptions:{onValueChanged:function(i){var a=o.form,r=i.value?1:2;a.itemOption(b.Main,\"colSpan\",r),a.itemOption(b.Recurrence,\"colSpan\",r),function(e,t,n){var i;n.itemOption(b.Recurrence,\"visible\",t),!t&&n.updateData(e,\"\"),null===(i=n.getEditor(e))||void 0===i||i.changeValueByVisibility(t)}(e.recurrenceRuleExpr,i.value,a),n(i.value),t()}}}]},{itemType:\"empty\",colSpan:2},{dataField:e.descriptionExpr,editorType:\"dxTextArea\",colSpan:2,label:{text:u.default.format(\"dxScheduler-editorLabelDescription\")}},{itemType:\"empty\",colSpan:2}]},g._createRecurrenceEditor=function(e){var t=this;return[{dataField:e.recurrenceRuleExpr,editorType:\"dxRecurrenceEditor\",editorOptions:{firstDayOfWeek:this.scheduler.getFirstDayOfWeek(),timeZoneCalculator:this.scheduler.getTimeZoneCalculator(),getStartDateTimeZone:function(){return t._createAppointmentAdapter(t.formData).startDateTimeZone}},label:{text:\" \",visible:!1}}]},g.setEditorsType=function(e){var t=this.scheduler.getDataAccessors().expr,n=t.startDateExpr,i=t.endDateExpr,o=\"\".concat(b.Main,\".\").concat(n),a=\"\".concat(b.Main,\".\").concat(i),r=this.form.itemOption(o),s=this.form.itemOption(a);if(r&&s){var l=r.editorOptions,u=s.editorOptions;l.type=u.type=e?\"date\":\"datetime\",this.form.itemOption(o,\"editorOptions\",l),this.form.itemOption(a,\"editorOptions\",u)}},g.updateRecurrenceEditorStartDate=function(e,t){var n={startDate:e};this.setEditorOptions(t,\"Recurrence\",n)},g.setEditorOptions=function(e,t,n){var i=\"\".concat(b[t],\".\").concat(e),o=this.form.itemOption(i);o&&this.form.itemOption(i,\"editorOptions\",(0,s.extend)({},o.editorOptions,n))},g.setTimeZoneEditorDataSource=function(e,t){var n=this.createTimeZoneDataSource(e);this.setEditorOptions(t,\"Main\",{dataSource:n})},g.updateFormData=function(e){this.semaphore.take(),this.form.option(\"formData\",e);var t=this.scheduler.getDataAccessors().expr,n=e[t.allDayExpr],i=new Date(e[t.startDateExpr]),o=new Date(e[t.endDateExpr]);this.setTimeZoneEditorDataSource(i,t.startDateTimeZoneExpr),this.setTimeZoneEditorDataSource(o,t.endDateTimeZoneExpr),this.updateRecurrenceEditorStartDate(i,t.recurrenceRuleExpr),this.setEditorsType(n),this.semaphore.release()},t=e,(n=[{key:\"dxForm\",get:function(){return this.form}},{key:\"readOnly\",set:function(e){this.form.option(\"readOnly\",e);var t=this.scheduler.getDataAccessors().expr.recurrenceRuleExpr,n=this.form.getEditor(t);null==n||n.option(\"readOnly\",e)}},{key:\"formData\",get:function(){return this.form.option(\"formData\")},set:function(e){this.form.option(\"formData\",e)}}])&&y(t.prototype,n),p&&y(t,p),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.AppointmentForm=C},77135:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentPopup=t.ACTION_TO_APPOINTMENT=void 0;var i=f(n(20530)),o=f(n(68374)),a=f(n(91198)),r=n(62754),s=n(80506),l=n(51113),u=f(n(51495)),d=n(72734),c=n(28066),h=n(31359);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==p(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===p(a)?a:String(a)),i)}var o,a}var _=a.default.dateToMilliseconds,v=_(\"day\"),y={height:\"auto\",maxHeight:\"100%\",showCloseButton:!1,showTitle:!1,preventScrollEvents:!1,enableBodyScroll:!1,defaultOptionsRules:[{device:function(){return i.default.current().android},options:{showTitle:!1}}]},b={CREATE:0,UPDATE:1,EXCLUDE_FROM_SERIES:2};t.ACTION_TO_APPOINTMENT=b;var x=function(){function e(e,t){this.scheduler=e,this.form=t,this.popup=null,this.state={action:null,lastEditData:null,saveChangesLocker:!1,appointment:{data:null}}}var t,n,i,a=e.prototype;return a.show=function(e,t){var n=this;if(this.state.appointment.data=e,this.state.action=t.action,this.state.excludeInfo=t.excludeInfo,!this.popup){var i=this._createPopupConfig();this.popup=this._createPopup(i)}this.popup.option(\"toolbarItems\",(0,l.getPopupToolbarItems)(t.isToolbarVisible,(function(e){return n._doneButtonClickHandler(e)}))),this.popup.show()},a.hide=function(){this.popup.hide()},a.dispose=function(){var e;null===(e=this.popup)||void 0===e||e.$element().remove()},a._createPopup=function(e){var t=(0,o.default)(\"<div>\").addClass(\"dx-scheduler-appointment-popup\").appendTo(this.scheduler.getElement());return this.scheduler.createComponent(t,u.default,e)},a._createPopupConfig=function(){var e=this;return g(g({},y),{onHiding:function(){return e.scheduler.focus()},contentTemplate:function(){return e._createPopupContent()},onShowing:function(t){return e._onShowing(t)},wrapperAttr:{class:\"dx-scheduler-appointment-popup\"}})},a._onShowing=function(e){var t=this;this._updateForm();var n={form:this.form.dxForm,popup:this.popup,appointmentData:this.state.appointment.data,cancel:!1};this.scheduler.getAppointmentFormOpening()(n),this.scheduler.processActionResult(n,(function(n){n?e.cancel=!0:t.updatePopupFullScreenMode()}))},a._createPopupContent=function(){return this._createForm(),this.form.dxForm.$element()},a._createFormData=function(e){var t=this._createAppointmentAdapter(e),n=this.scheduler.getDataAccessors(),i=this.scheduler.getResources(),o=(0,h.getNormalizedResources)(e,n,i);return g(g(g({},e),o),{repeat:!!t.recurrenceRule})},a._createForm=function(){var e=this.state.appointment.data,t=this._createFormData(e);this.form.create(this.triggerResize.bind(this),this.changeSize.bind(this),t)},a._isReadOnly=function(e){var t=this._createAppointmentAdapter(e);return!(!e||!t.disabled)||this.state.action!==b.CREATE&&!this.scheduler.getEditingConfig().allowUpdating},a._createAppointmentAdapter=function(e){return(0,d.createAppointmentAdapter)(e,this.scheduler.getDataAccessors(),this.scheduler.getTimeZoneCalculator())},a._updateForm=function(){var e=this.state.appointment.data,t=this._createAppointmentAdapter(this._createFormData(e));t.startDate&&(t.startDate=t.calculateStartDate(\"toAppointment\")),t.endDate&&(t.endDate=t.calculateEndDate(\"toAppointment\"));var n=t.source();this.form.readOnly=this._isReadOnly(n),this.form.updateFormData(n)},a.triggerResize=function(){this.popup&&(0,s.triggerResizeEvent)(this.popup.$element())},a.changeSize=function(e){if(this.popup){var t=(0,l.isPopupFullScreenNeeded)(),n=t?\"100%\":(0,l.getMaxWidth)(e);this.popup.option(\"fullScreen\",t),this.popup.option(\"maxWidth\",n)}},a.updatePopupFullScreenMode=function(){if(this.form.dxForm){var e=this.form.formData[this.scheduler.getDataAccessors().expr.recurrenceRuleExpr];this.visible&&this.changeSize(e)}},a.saveChangesAsync=function(e){var t=this,n=new r.Deferred,i=this.form.dxForm.validate();return e&&this._showLoadPanel(),(0,r.when)(i&&i.complete||i).done((function(e){if(e&&!e.isValid)return(0,c.hide)(),void n.resolve(!1);var i=t._createAppointmentAdapter(t.form.formData),o=i.clone({pathTimeZone:\"fromAppointment\"});t._addMissingDSTTime(i,o);var a=o.source();switch(delete a.repeat,t.state.action){case b.CREATE:t.scheduler.addAppointment(a).done(n.resolve);break;case b.UPDATE:t.scheduler.updateAppointment(t.state.appointment.data,a).done(n.resolve);break;case b.EXCLUDE_FROM_SERIES:t.scheduler.updateAppointment(t.state.excludeInfo.sourceAppointment,t.state.excludeInfo.updatedAppointment),t.scheduler.addAppointment(a).done(n.resolve)}n.done((function(){(0,c.hide)(),t.state.lastEditData=a}))})),n.promise()},a._doneButtonClickHandler=function(e){e.cancel=!0,this.saveEditDataAsync()},a.saveEditDataAsync=function(){var e=this,t=new r.Deferred;return this._tryLockSaveChanges()&&(0,r.when)(this.saveChangesAsync(!0)).done((function(){if(e.state.lastEditData){var n=e._createAppointmentAdapter(e.state.lastEditData),i=n.startDate,o=n.endDate,a=n.allDay,r=i.getTime(),s=o.getTime(),l=a||s-r>=v,u=e.scheduler.getDataAccessors(),d=e.scheduler.getResources(),c=(0,h.getNormalizedResources)(e.state.lastEditData,u,d);e.scheduler.updateScrollPosition(i,c,l),e.state.lastEditData=null}e._unlockSaveChanges(),t.resolve()})),t.promise()},a._showLoadPanel=function(){var e=this.popup.$overlayContent();(0,c.show)({container:e,position:{of:e}})},a._tryLockSaveChanges=function(){return!1===this.state.saveChangesLocker&&(this.state.saveChangesLocker=!0,!0)},a._unlockSaveChanges=function(){this.state.saveChangesLocker=!1},a._addMissingDSTTime=function(e,t){var n=this.scheduler.getTimeZoneCalculator();t.startDate=this._addMissingDSTShiftToDate(n,e.startDate,t.startDate),t.endDate&&(t.endDate=this._addMissingDSTShiftToDate(n,e.endDate,t.endDate))},a._addMissingDSTShiftToDate=function(e,t,n){var i,o,a=(null===(i=e.getOffsets(t))||void 0===i?void 0:i.common)-(null===(o=e.getOffsets(n))||void 0===o?void 0:o.common);return a?new Date(n.getTime()+a*_(\"hour\")):n},t=e,(n=[{key:\"visible\",get:function(){return!!this.popup&&this.popup.option(\"visible\")}}])&&m(t.prototype,n),i&&m(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.AppointmentPopup=x},92823:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentDataProvider=void 0;var i=s(n(80209)),o=s(n(17200)),a=n(93074),r=n(30256);function s(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==l(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===l(a)?a:String(a)),i)}var o,a}var d=\"virtual\",c=\"standard\",h=function(){function e(e){this.options=e,this.dataSource=this.options.dataSource,this.dataAccessors=this.options.dataAccessors,this.timeZoneCalculator=this.options.timeZoneCalculator,this.appointmentDataSource=new a.AppointmentDataSource(this.dataSource),this.initFilterStrategy()}var t,n,s,l=e.prototype;return l.getFilterStrategy=function(){return this.filterStrategy&&this.filterStrategy.strategyName===this.filterStrategyName||this.initFilterStrategy(),this.filterStrategy},l.initFilterStrategy=function(){var e={resources:this.options.resources,dataAccessors:this.dataAccessors,startDayHour:this.options.startDayHour,endDayHour:this.options.endDayHour,showAllDayPanel:this.options.showAllDayPanel,timeZoneCalculator:this.options.timeZoneCalculator,loadedResources:this.options.getLoadedResources,supportAllDayRow:this.options.getSupportAllDayRow,viewType:this.options.getViewType,viewDirection:this.options.getViewDirection,dateRange:this.options.getDateRange,groupCount:this.options.getGroupCount,viewDataProvider:this.options.getViewDataProvider,allDayPanelMode:this.options.allDayPanelMode};this.filterStrategy=this.filterStrategyName===d?new r.AppointmentFilterVirtualStrategy(e):new r.AppointmentFilterBaseStrategy(e)},l.setDataSource=function(e){this.dataSource=e,this.initFilterStrategy(),this.appointmentDataSource.setDataSource(this.dataSource)},l.updateDataAccessors=function(e){this.dataAccessors=e,this.initFilterStrategy()},l.filter=function(e){return this.getFilterStrategy().filter(e)},l.filterByDate=function(e,t,n,a){if(this.dataSource&&n){var r=this.dataSource.filter(),s=(0,o.default)({dataSourceFilter:r,dataAccessors:this.dataAccessors,min:e,max:t,dateSerializationFormat:a,forceIsoDateParsing:(0,i.default)().forceIsoDateParsing});this.dataSource.filter(s)}},l.hasAllDayAppointments=function(e,t){return this.getFilterStrategy().hasAllDayAppointments(e,t)},l.filterLoadedAppointments=function(e,t){return this.getFilterStrategy().filterLoadedAppointments(e,t)},l.calculateAppointmentEndDate=function(e,t){return this.getFilterStrategy().calculateAppointmentEndDate(e,t)},l.cleanState=function(){this.appointmentDataSource.cleanState()},l.getUpdatedAppointment=function(){return this.appointmentDataSource._updatedAppointment},l.getUpdatedAppointmentKeys=function(){return this.appointmentDataSource._updatedAppointmentKeys},l.add=function(e){return this.appointmentDataSource.add(e)},l.update=function(e,t){return this.appointmentDataSource.update(e,t)},l.remove=function(e){return this.appointmentDataSource.remove(e)},l.destroy=function(){this.appointmentDataSource.destroy()},t=e,(n=[{key:\"keyName\",get:function(){return this.appointmentDataSource.keyName}},{key:\"isDataSourceInit\",get:function(){return!!this.dataSource}},{key:\"filterStrategyName\",get:function(){return this.options.getIsVirtualScrolling()?d:c}}])&&u(t.prototype,n),s&&u(t,s),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.AppointmentDataProvider=h},93074:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentDataSource=void 0;var i=n(62754);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}var r=\"updating\",s=\"push\",l=function(){function e(e){this.setDataSource(e),this._updatedAppointmentKeys=[]}var t,n,o,l=e.prototype;return l._getStoreKey=function(e){return this._dataSource.store().keyOf(e)},l.setDataSource=function(e){this._dataSource=e,this.cleanState(),this._initStoreChangeHandlers()},l._initStoreChangeHandlers=function(){var e=this,t=this._dataSource,n=null==t?void 0:t.store();n&&(n.on(r,(function(t){var i=n.key();i?e._updatedAppointmentKeys.push({key:i,value:t}):e._updatedAppointment=t})),n.on(s,(function(i){var o=t.items(),a=n.key();i.forEach((function(t){if(0!==o.filter((function(e){return e[a]===t.key})).length)e._updatedAppointmentKeys.push({key:a,value:t.key});else{var n=t.data;n&&o.push(n)}})),t.load()})))},l.getUpdatedAppointment=function(){return this._updatedAppointment},l.getUpdatedAppointmentKeys=function(){return this._updatedAppointmentKeys},l.cleanState=function(){this._updatedAppointment=null,this._updatedAppointmentKeys=[]},l.add=function(e){var t=this;return this._dataSource.store().insert(e).done((function(){return t._dataSource.load()}))},l.update=function(e,t){var n=this,o=this._getStoreKey(e),a=new i.Deferred;return this._dataSource.store().update(o,t).done((function(e){return n._dataSource.load().done((function(){return a.resolve(e)})).fail(a.reject)})).fail(a.reject),a.promise()},l.remove=function(e){var t=this,n=this._getStoreKey(e);return this._dataSource.store().remove(n).done((function(){return t._dataSource.load()}))},l.destroy=function(){var e,t=null===(e=this._dataSource)||void 0===e?void 0:e.store();t&&(t.off(r),t.off(s))},t=e,(n=[{key:\"keyName\",get:function(){return this._dataSource.store().key()}},{key:\"isDataSourceInit\",get:function(){return!!this._dataSource}}])&&a(t.prototype,n),o&&a(t,o),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.AppointmentDataSource=l},30256:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentFilterVirtualStrategy=t.AppointmentFilterBaseStrategy=void 0;var i=n(89386),o=m(n(91198)),a=n(95479),r=n(35922),s=m(n(96687)),l=n(96801),u=n(31486),d=m(n(97601)),c=n(45985),h=n(72734),f=n(38227),p=n(31359),g=n(55523);function m(e){return e&&e.__esModule?e:{default:e}}function _(e){return(_=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(e,t)}(e,t)||function(){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 x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==_(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==_(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===_(a)?a:String(a)),i)}var o,a}function C(e,t,n){return t&&w(e.prototype,t),n&&w(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}var S=o.default.dateToMilliseconds,k=\"virtual\",D=\"standard\",I=function(){function e(e){this.options=e,this.dataAccessors=this.options.dataAccessors,this._init()}var t=e.prototype;return t._resolveOption=function(e){var t=this.options[e];return\"function\"==typeof t?t():t},t._init=function(){this.setDataAccessors(this.dataAccessors)},t.filter=function(e){var t,n=this.dateRange;return!this.showAllDayPanel&&this.supportAllDayRow&&(t=!1),this.filterLoadedAppointments({startDayHour:this.viewStartDayHour,endDayHour:this.viewEndDayHour,viewStartDayHour:this.viewStartDayHour,viewEndDayHour:this.viewEndDayHour,min:n[0],max:n[1],resources:this.loadedResources,allDay:t,supportMultiDayAppointments:(0,c.isTimelineView)(this.viewType),firstDayOfWeek:this.firstDayOfWeek},e)},t.hasAllDayAppointments=function(e,t){var n=this,i=e.map((function(e){return(0,h.createAppointmentAdapter)(e,n.dataAccessors,n.timeZoneCalculator)})),o=!1;return(0,a.each)(i,(function(e,t){if((0,l.getAppointmentTakesAllDay)(t,n.viewStartDayHour,n.viewEndDayHour,n.allDayPanelMode))return o=!0,!1})),o},t.setDataAccessors=function(e){this.dataAccessors=e},t._createAllDayAppointmentFilter=function(e){var t=this,n=e.viewStartDayHour,i=e.viewEndDayHour;return[[function(e){return(0,l.getAppointmentTakesAllDay)(e,n,i,t.allDayPanelMode)}]]},t._createCombinedFilter=function(e){var t=this,n=new Date(e.min),i=new Date(e.max),a=e.startDayHour,s=e.endDayHour,u=e.viewStartDayHour,c=e.viewEndDayHour,h=e.resources,f=e.firstDayOfWeek,p=e.checkIntersectViewport,m=e.supportMultiDayAppointments,_=b((0,d.default)(n,i),2),v=_[0],x=_[1],w=(0,r.isDefined)(this.dataAccessors.getter.recurrenceRule);return[[function(d){var _;if(!(null===(_=d.visible)||void 0===_||_))return!1;var b=d.startDate,C=d.endDate,S=d.hasRecurrenceRule;if(!S&&!(C>=v&&b<x||o.default.sameDate(C,v)&&o.default.sameDate(b,v)))return!1;var k=(0,l.getAppointmentTakesAllDay)(d,u,c,t.allDayPanelMode),D=(0,g.getAppointmentTakesSeveralDays)(d),I=d.allDay,T=D||k;if((null==h?void 0:h.length)&&!t._filterAppointmentByResources(d.rawAppointment,h))return!1;if(k&&!1===e.allDay)return!1;if(S){var E=(0,g.getRecurrenceException)(d,t.timeZoneCalculator,t.timezone);if(!t._filterAppointmentByRRule(y(y({},d),{recurrenceException:E,allDay:k}),n,i,a,s,f))return!1}return!(!I&&m&&T&&C<n&&(!w||w&&!S))&&(!!(!(0,r.isDefined)(a)||w&&e.isVirtualScrolling||(0,g.compareDateWithStartDayHour)(b,C,a,k,D))&&(!((0,r.isDefined)(s)&&!(0,g.compareDateWithEndDayHour)({startDate:b,endDate:C,startDayHour:a,endDayHour:s,viewStartDayHour:u,viewEndDayHour:c,allDay:k,severalDays:D,min:n,max:i,checkIntersectViewport:p}))&&!(!(I||T&&!m)&&C<n&&w&&!S)))}]]},t._createAppointmentFilter=function(e){return this._createCombinedFilter(e)},t._filterAppointmentByResources=function(e,t){for(var n=this,o=function(o,s){var l,d=n.dataAccessors.resources.getter[o];(0,r.isFunction)(d)&&(l=d(e));for(var c=(0,i.wrapToArray)(l),h=(0,a.map)(t[s].items,(function(e){return e.id})),f=0;f<c.length;f++)if((0,u.hasResourceValue)(h,c[f]))return!0;return!1},s=!1,l=0;l<t.length;l++){if(!(s=o(t[l].name,l)))return!1}return s},t._filterAppointmentByRRule=function(e,t,n,i,o,a){var r=e.recurrenceRule,s=e.recurrenceException,l=e.allDay,u=!0,c=e.startDate,h=e.endDate,p=(0,f.getRecurrenceProcessor)();if(l||(0,g._appointmentPartInInterval)(c,h,i,o)){var m=b((0,d.default)(t,n),2),_=m[0],v=m[1];t=_,n=new Date(v.getTime()-S(\"minute\"))}return r&&!p.isValidRecurrenceRule(r)&&(u=h>t&&c<=n),u&&p.isValidRecurrenceRule(r)&&(u=p.hasRecurrence({rule:r,exception:s,start:c,end:h,min:t,max:n,firstDayOfWeek:a,appointmentTimezoneOffset:this.timeZoneCalculator.getOriginStartDateOffsetInMs(c,e.startDateTimeZone,!1)})),u},t.filterLoadedAppointments=function(e,t){return this.filterPreparedItems(e,t).map((function(e){return e.rawAppointment}))},t.filterPreparedItems=function(e,t){var n=this._createAppointmentFilter(e);return(0,s.default)(t).filter(n).toArray()},t.filterAllDayAppointments=function(e,t){var n=this._createAllDayAppointmentFilter(e);return(0,s.default)(t).filter(n).toArray().map((function(e){return e.rawAppointment}))},C(e,[{key:\"strategyName\",get:function(){return D}},{key:\"timeZoneCalculator\",get:function(){return this.options.timeZoneCalculator}},{key:\"viewStartDayHour\",get:function(){return this.options.startDayHour}},{key:\"viewEndDayHour\",get:function(){return this.options.endDayHour}},{key:\"timezone\",get:function(){return this.options.timezone}},{key:\"firstDayOfWeek\",get:function(){return this.options.firstDayOfWeek}},{key:\"showAllDayPanel\",get:function(){return this.options.showAllDayPanel}},{key:\"loadedResources\",get:function(){return this._resolveOption(\"loadedResources\")}},{key:\"supportAllDayRow\",get:function(){return this._resolveOption(\"supportAllDayRow\")}},{key:\"viewType\",get:function(){return this._resolveOption(\"viewType\")}},{key:\"viewDirection\",get:function(){return this._resolveOption(\"viewDirection\")}},{key:\"dateRange\",get:function(){return this._resolveOption(\"dateRange\")}},{key:\"groupCount\",get:function(){return this._resolveOption(\"groupCount\")}},{key:\"viewDataProvider\",get:function(){return this._resolveOption(\"viewDataProvider\")}},{key:\"allDayPanelMode\",get:function(){return this._resolveOption(\"allDayPanelMode\")}}]),e}();t.AppointmentFilterBaseStrategy=I;var T=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var o=i.prototype;return o.filter=function(e){var t=this,n=S(\"hour\"),i=(0,c.isDateAndTimeView)(this.viewType),o=i&&\"horizontal\"===this.viewDirection,a=!this.supportAllDayRow,r=this.showAllDayPanel||a,s=this.viewDataProvider.getLastViewDateByEndDayHour(this.viewEndDayHour),l=[];return this.viewDataProvider.getCompletedGroupsInfo().forEach((function(e){var u=e.groupIndex,d=e.startDate,h=new Date(Math.min(e.endDate,s)),f=i?d.getHours():t.viewStartDayHour,p=i?f+d.getMinutes()/60+(h-d)/n:t.viewEndDayHour,g=t._getPrerenderFilterResources(u),m=t.viewDataProvider.hasGroupAllDayPanel(u),_=a||!!r&&m;l.push({isVirtualScrolling:!0,startDayHour:f,endDayHour:p,viewStartDayHour:t.viewStartDayHour,viewEndDayHour:t.viewEndDayHour,min:d,max:h,supportMultiDayAppointments:(0,c.isTimelineView)(t.viewType),allDay:_,resources:g,firstDayOfWeek:t.firstDayOfWeek,checkIntersectViewport:o})})),this.filterLoadedAppointments({filterOptions:l,groupCount:this.groupCount},e)},o.filterPreparedItems=function(e,t){var n=this,i=e.filterOptions,o=e.groupCount,a=[],r=t;return o>0&&(r=r.filter((function(e){for(var t=e.rawAppointment,o=0;o<i.length;++o){var a=i[o].resources;if(n._filterAppointmentByResources(t,a))return!0}}))),i.forEach((function(e){a.length&&a.push(\"or\");var t=n._createAppointmentFilter(e);a.push(t)})),(0,s.default)(r).filter(a).toArray()},o.hasAllDayAppointments=function(e,t){return this.filterAllDayAppointments({viewStartDayHour:this.viewStartDayHour,viewEndDayHour:this.viewEndDayHour},t).length>0},o._getPrerenderFilterResources=function(e){var t=this.viewDataProvider.getCellsGroup(e);return(0,p.getResourcesDataByGroups)(this.loadedResources,this.resources,[t])},C(i,[{key:\"strategyName\",get:function(){return k}},{key:\"resources\",get:function(){return this.options.resources}}]),i}(I);t.AppointmentFilterVirtualStrategy=T},55523:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.sortAppointmentsByStartDate=t.replaceWrongEndDate=t.getRecurrenceException=t.getAppointmentTakesSeveralDays=t.compareDateWithStartDayHour=t.compareDateWithEndDayHour=t._isEndDateWrong=t._convertRecurrenceException=t._appointmentPartInInterval=void 0;var i=s(n(91198)),o=s(n(69434)),a=s(n(32511)),r=n(30906);function s(e){return e&&e.__esModule?e:{default:e}}var l=i.default.dateToMilliseconds;t.compareDateWithStartDayHour=function(e,t,n,o,a){var r=i.default.dateTimeFromDecimal(n);return e.getHours()>=r.hours&&e.getMinutes()>=r.minutes||t.getHours()===r.hours&&t.getMinutes()>r.minutes||t.getHours()>r.hours||a||o};t.compareDateWithEndDayHour=function(e){var t,n=e.startDate,o=e.endDate,a=e.startDayHour,r=e.endDayHour,s=e.viewStartDayHour,u=e.viewEndDayHour,d=e.allDay,c=e.severalDays,h=e.min,f=e.max,p=e.checkIntersectViewport,g=(24-u+s)*l(\"hour\"),m=o.getTime()-n.getTime(),_=(g-m)/l(\"hour\"),v=n.getHours(),y=n.getMinutes(),b=i.default.dateTimeFromDecimal(r),x=i.default.dateTimeFromDecimal(a),w=n<f&&o>h;return t=p&&w||v<b.hours||v===b.hours&&y<b.minutes||d&&n<=f||c&&w&&(v<b.hours||60*o.getHours()+o.getMinutes()>60*x.hours),m<g&&v>b.hours&&y>b.minutes&&_<=v-r&&(t=!1),t};t.getAppointmentTakesSeveralDays=function(e){return!i.default.sameDate(e.startDate,e.endDate)};var u=function(e,t){return!t||isNaN(t.getTime())||e.getTime()>t.getTime()};t._isEndDateWrong=u;t._appointmentPartInInterval=function(e,t,n,i){var o=e.getHours(),a=t.getHours();return o<=n&&a<=i&&a>=n||a>=i&&o<=i&&o>=n};t.getRecurrenceException=function(e,t,n){var i=e.recurrenceException;if(i){for(var o=i.split(\",\"),a=0;a<o.length;a++)o[a]=d(o[a],e.startDate,t,n);return o.join()}return i};var d=function(e,t,n,i){e=e.replace(/\\s/g,\"\");var r=function(e){return n.createDate(e,{path:\"toGrid\"})},s=o.default.deserializeDate(e),l=r(t),u=r(s);return u=a.default.correctRecurrenceExceptionByTimezone(u,l,i),e=o.default.serializeDate(u,\"yyyyMMddTHHmmss\")};t._convertRecurrenceException=d;t.replaceWrongEndDate=function(e,t,n,o,a){if(u(t,n)){var s=function(e,t){return e?i.default.setToDayEnd(new Date(t)):new Date(t.getTime()+o*l(\"minute\"))}(r.ExpressionUtils.getField(a,\"allDay\",e),t);a.setter.endDate(e,s)}};t.sortAppointmentsByStartDate=function(e,t){e.sort((function(e,n){var i=new Date(r.ExpressionUtils.getField(t,\"startDate\",e.settings||e)),o=new Date(r.ExpressionUtils.getField(t,\"startDate\",n.settings||n));return Math.sign(i.getTime()-o.getTime())}))}},99423:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Appointment=t.AgendaAppointment=void 0;var o=n(31648),a=b(n(99393)),r=b(n(13046)),s=b(n(68374)),l=n(62754),u=n(13306),d=b(n(55994)),c=b(n(93786)),h=n(39611),f=b(n(91500)),p=b(n(28109)),g=b(n(46743)),m=n(63898),_=n(43600),v=n(30906),y=n(38227);function b(e){return e&&e.__esModule?e:{default:e}}function x(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function w(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function C(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,S(e,t)}function S(e,t){return(S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var k=(0,h.addNamespace)(c.default.enter,\"dxSchedulerAppointment\"),D=(0,h.addNamespace)(c.default.leave,\"dxSchedulerAppointment\"),I=function(e){function t(){return e.apply(this,arguments)||this}C(t,e);var n=t.prototype;return n._getDefaultOptions=function(){return(0,u.extend)(e.prototype._getDefaultOptions.call(this),{data:{},groupIndex:-1,groups:[],geometry:{top:0,left:0,width:0,height:0},allowDrag:!0,allowResize:!0,reduced:null,isCompact:!1,direction:\"vertical\",resizableConfig:{keepAspectRatio:!1},cellHeight:0,cellWidth:0,isDragSource:!1})},n.notifyObserver=function(e,t){var n=this.option(\"observer\");n&&n.fire(e,t)},n.invoke=function(e){var t=this.option(\"observer\");if(t)return t.fire.apply(t,arguments)},n._optionChanged=function(t){switch(t.name){case\"data\":case\"groupIndex\":case\"geometry\":case\"allowDrag\":case\"allowResize\":case\"reduced\":case\"sortedIndex\":case\"isCompact\":case\"direction\":case\"resizableConfig\":case\"cellHeight\":case\"cellWidth\":this._invalidate();break;case\"isDragSource\":this._renderDragSourceClass();break;default:e.prototype._optionChanged.call(this,t)}},n._getHorizontalResizingRule=function(){var e={head:this.option(\"rtlEnabled\")?\"right\":\"left\",body:\"\",tail:this.option(\"rtlEnabled\")?\"left\":\"right\"},t=this.option(\"getResizableStep\"),n=t?t():0;return{handles:this.option(\"reduced\")?e[this.option(\"reduced\")]:\"left right\",minHeight:0,minWidth:this.invoke(\"getCellWidth\"),step:n,roundStepValue:!1}},n._getVerticalResizingRule=function(){var e=Math.round(this.invoke(\"getCellHeight\"));return{handles:\"top bottom\",minWidth:0,minHeight:e,step:e,roundStepValue:!0}},n._render=function(){e.prototype._render.call(this),this._renderAppointmentGeometry(),this._renderEmptyClass(),this._renderReducedAppointment(),this._renderAllDayClass(),this._renderDragSourceClass(),this._renderDirection(),this.$element().data(\"dxAppointmentStartDate\",this.option(\"startDate\"));var t=v.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"text\",this.rawAppointment);this.$element().attr(\"title\",t),this.$element().attr(\"role\",\"button\"),this._renderRecurrenceClass(),this._renderResizable(),this._setResourceColor()},n._setResourceColor=function(){var e=this,t={itemData:this.rawAppointment,groupIndex:this.option(\"groupIndex\"),groups:this.option(\"groups\")};this.option(\"getAppointmentColor\")(t).done((function(t){return t&&e.coloredElement.css(\"backgroundColor\",t)}))},n._renderAppointmentGeometry=function(){var e=this.option(\"geometry\"),t=this.$element();(0,o.move)(t,{top:e.top,left:e.left}),t.css({width:e.width<0?0:e.width,height:e.height<0?0:e.height})},n._renderEmptyClass=function(){(this.option(\"geometry\").empty||this.option(\"isCompact\"))&&this.$element().addClass(_.EMPTY_APPOINTMENT_CLASS)},n._renderReducedAppointment=function(){var e=this.option(\"reduced\");e&&(this.$element().toggleClass(_.REDUCED_APPOINTMENT_CLASS,!0).toggleClass(_.REDUCED_APPOINTMENT_PARTS_CLASSES[e],!0),this._renderAppointmentReducedIcon())},n._renderAppointmentReducedIcon=function(){var e=(0,s.default)(\"<div>\").addClass(_.REDUCED_APPOINTMENT_ICON).appendTo(this.$element()),t=this._getEndDate(),n=[p.default.format(\"dxScheduler-editorLabelEndDate\"),\": \",f.default.format(t,\"monthAndDay\"),\", \",f.default.format(t,\"year\")].join(\"\");d.default.off(e,k),d.default.on(e,k,(function(){(0,m.show)({target:e,content:n})})),d.default.off(e,D),d.default.on(e,D,(function(){(0,m.hide)()}))},n._getEndDate=function(){var e=v.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"endDate\",this.rawAppointment);return e?new Date(e):e},n._renderAllDayClass=function(){this.$element().toggleClass(_.ALL_DAY_APPOINTMENT_CLASS,!!this.option(\"allDay\"))},n._renderDragSourceClass=function(){this.$element().toggleClass(_.APPOINTMENT_DRAG_SOURCE_CLASS,!!this.option(\"isDragSource\"))},n._renderRecurrenceClass=function(){var e=v.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"recurrenceRule\",this.rawAppointment);(0,y.getRecurrenceProcessor)().isValidRecurrenceRule(e)&&this.$element().addClass(_.RECURRENCE_APPOINTMENT_CLASS)},n._renderDirection=function(){this.$element().addClass(_.DIRECTION_APPOINTMENT_CLASSES[this.option(\"direction\")])},n._createResizingConfig=function(){var e=\"vertical\"===this.option(\"direction\")?this._getVerticalResizingRule():this._getHorizontalResizingRule();return this.invoke(\"isGroupedByDate\")||(e.stepPrecision=\"strict\"),e},n._renderResizable=function(){this.option(\"allowResize\")&&this._createComponent(this.$element(),g.default,(0,u.extend)(this._createResizingConfig(),this.option(\"resizableConfig\")))},n._useTemplates=function(){return!1},w(t,[{key:\"coloredElement\",get:function(){return this.$element()}},{key:\"rawAppointment\",get:function(){return this.option(\"data\")}}]),t}(r.default);t.Appointment=I,(0,a.default)(\"dxSchedulerAppointment\",I);var T=function(e){function t(){return e.apply(this,arguments)||this}C(t,e);var n=t.prototype;return n._getDefaultOptions=function(){return(0,u.extend)(e.prototype._getDefaultOptions.call(this),{createPlainResourceListAsync:new l.Deferred})},n._renderResourceList=function(e,t){t.forEach((function(t){var n=(0,s.default)(\"<div>\").addClass(_.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM).appendTo(e);(0,s.default)(\"<div>\").text(\"\".concat(t.label,\":\")).appendTo(n),(0,s.default)(\"<div>\").addClass(_.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM_VALUE).text(t.values.join(\", \")).appendTo(n)}))},n._render=function(){var t=this;e.prototype._render.call(this),this.option(\"createPlainResourceListAsync\")(this.rawAppointment).done((function(e){var n=t.$element().find(\".\".concat(_.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS)),i=(0,s.default)(\"<div>\").addClass(_.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST).appendTo(n);t._renderResourceList(i,e)}))},w(t,[{key:\"coloredElement\",get:function(){return this.$element().find(\".\".concat(_.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER))}}]),t}(I);t.AgendaAppointment=T},16993:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=n(31648),a=M(n(99393)),r=M(n(73349)),s=n(6415),l=n(97906),u=M(n(68374)),d=n(89386),c=n(20576),h=M(n(91198)),f=n(13306),p=n(95479),g=n(48013),m=n(37518),_=n(58664),v=n(35922),y=M(n(55994)),b=n(85272),x=n(39611),w=M(n(11050)),C=M(n(32511)),S=n(72734),k=n(43600),D=n(6324),I=n(30906),T=n(38227),E=n(55523),O=n(99423),A=n(72417),P=n(71687);function M(e){return e&&e.__esModule?e:{default:e}}function R(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return B(e,t)}(e)||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 B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function L(){return(L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function V(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function F(e,t){return(F=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var H=(0,x.addNamespace)(b.name,\"dxSchedulerAppointment\"),N=h.default.dateToMilliseconds,z=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this)._virtualAppointments={},i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,F(t,n);var a,b,w,M=i.prototype;return M.option=function(t,n){return e.prototype.option.apply(this,arguments)},M.notifyObserver=function(e,t){var n=this.option(\"observer\");n&&n.fire(e,t)},M.invoke=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o=this.option(\"observer\");if(o)return o.fire.apply(o,arguments)},M._dispose=function(){clearTimeout(this._appointmentClickTimeout),e.prototype._dispose.call(this)},M._supportedKeys=function(){var t=e.prototype._supportedKeys.call(this),n=this._$currentAppointment;return(0,f.extend)(t,{escape:function(){var e,t,i;this.resizeOccur&&(this.moveAppointmentBack(),this.resizeOccur=!1,null===(e=n.dxResizable(\"instance\"))||void 0===e||e._detachEventHandlers(),null===(t=n.dxResizable(\"instance\"))||void 0===t||t._attachEventHandlers(),null===(i=n.dxResizable(\"instance\"))||void 0===i||i._toggleResizingClass(!1))}.bind(this),del:function(e){if(this.option(\"allowDelete\")){e.preventDefault();var t=this._getItemData(e.target);this.notifyObserver(\"onDeleteButtonPress\",{data:t,target:e.target})}}.bind(this),tab:function(e){var t=this._getAccessAppointments(),n=t.filter(\".dx-state-focused\").data(D.APPOINTMENT_SETTINGS_KEY).sortedIndex,i=t.length-1;if(n>0&&e.shiftKey||n<i&&!e.shiftKey){e.preventDefault(),e.shiftKey?n--:n++;var o=this._getAppointmentByIndex(n);this._resetTabIndex(o),y.default.trigger(o,\"focus\")}}})},M._getAppointmentByIndex=function(e){return this._getAccessAppointments().filter((function(t,n){return(0,l.data)(n,D.APPOINTMENT_SETTINGS_KEY).sortedIndex===e})).eq(0)},M._getAccessAppointments=function(){return this._itemElements().filter(\":visible\").not(\".dx-state-disabled\")},M._resetTabIndex=function(e){this._focusTarget().attr(\"tabIndex\",-1),e.attr(\"tabIndex\",this.option(\"tabIndex\"))},M._moveFocus=function(){},M._focusTarget=function(){return this._itemElements()},M._renderFocusTarget=function(){var e=this._getAppointmentByIndex(0);this._resetTabIndex(e)},M._focusInHandler=function(t){e.prototype._focusInHandler.call(this,t),this._$currentAppointment=(0,u.default)(t.target),this.option(\"focusedElement\",(0,s.getPublicElement)((0,u.default)(t.target)))},M._focusOutHandler=function(t){var n=this._getAppointmentByIndex(0);this.option(\"focusedElement\",(0,s.getPublicElement)(n)),e.prototype._focusOutHandler.call(this,t)},M._eventBindingTarget=function(){return this._itemContainer()},M._getDefaultOptions=function(){return(0,f.extend)(e.prototype._getDefaultOptions.call(this),{noDataText:null,activeStateEnabled:!0,hoverStateEnabled:!0,tabIndex:0,fixedContainer:null,allDayContainer:null,allowDrag:!0,allowResize:!0,allowAllDayResize:!0,onAppointmentDblClick:null,_collectorOffset:0,groups:[],resources:[]})},M._optionChanged=function(t){if(!this.option(\"isRenovatedAppointments\"))switch(t.name){case\"items\":this._cleanFocusState(),this._clearDropDownItems(),this._clearDropDownItemsElements(),this._repaintAppointments(t.value),this._renderDropDownAppointments(),this._attachAppointmentsEvents();break;case\"fixedContainer\":case\"allDayContainer\":case\"onAppointmentDblClick\":break;case\"allowDrag\":case\"allowResize\":case\"allowAllDayResize\":this._invalidate();break;case\"focusedElement\":this._resetTabIndex((0,u.default)(t.value)),e.prototype._optionChanged.call(this,t);break;case\"allowDelete\":break;case\"focusStateEnabled\":this._clearDropDownItemsElements(),this._renderDropDownAppointments(),e.prototype._optionChanged.call(this,t);break;default:e.prototype._optionChanged.call(this,t)}},M._isAllDayAppointment=function(e){return e.settings.length&&e.settings[0].allDay||!1},M._isRepaintAppointment=function(e){return!(0,v.isDefined)(e.needRepaint)||!0===e.needRepaint},M._isRepaintAll=function(e){if(this.isAgendaView)return!0;for(var t=0;t<e.length;t++)if(!this._isRepaintAppointment(e[t]))return!1;return!0},M._applyFragment=function(e,t){e.children().length>0&&this._getAppointmentContainer(t).append(e)},M._onEachAppointment=function(e,t,n,i){var o=this;!0===(null==e?void 0:e.needRemove)?this._clearItem(e):(i||this._isRepaintAppointment(e))&&(e.needRepaint=!1,o._clearItem(e),o._renderItem(t,e,n))},M._repaintAppointments=function(e){var t=this;this._renderByFragments((function(n,i){var o=t._isRepaintAll(e);o&&(t._getAppointmentContainer(!0).html(\"\"),t._getAppointmentContainer(!1).html(\"\")),!e.length&&t._cleanItemContainer(),e.forEach((function(e,a){var r=t._isAllDayAppointment(e)?i:n;t._onEachAppointment(e,a,r,o)}))}))},M._renderByFragments=function(e){if(this.isVirtualScrolling){var t=(0,u.default)(r.default.createDocumentFragment()),n=(0,u.default)(r.default.createDocumentFragment());e(t,n),this._applyFragment(t,!1),this._applyFragment(n,!0)}else e(this._getAppointmentContainer(!1),this._getAppointmentContainer(!0))},M._attachAppointmentsEvents=function(){this._attachClickEvent(),this._attachHoldEvent(),this._attachContextMenuEvent(),this._attachAppointmentDblClick(),this._renderFocusState(),this._attachFeedbackEvents(),this._attachHoverEvents()},M._clearItem=function(e){var t=this._findItemElementByItem(e.itemData);t.length&&(0,p.each)(t,(function(e,t){t.detach(),t.remove()}))},M._clearDropDownItems=function(){this._virtualAppointments={}},M._clearDropDownItemsElements=function(){this.invoke(\"clearCompactAppointments\")},M._findItemElementByItem=function(e){var t=[],n=this;return this.itemElements().each((function(){var i=(0,u.default)(this);i.data(n._itemDataKey())===e&&t.push(i)})),t},M._itemClass=function(){return k.APPOINTMENT_ITEM_CLASS},M._itemContainer=function(){var t=e.prototype._itemContainer.call(this),n=t,i=this.option(\"allDayContainer\");return i&&(n=t.add(i)),n},M._cleanItemContainer=function(){e.prototype._cleanItemContainer.call(this);var t=this.option(\"allDayContainer\");t&&t.empty(),this._virtualAppointments={}},M._clean=function(){e.prototype._clean.call(this),delete this._$currentAppointment,delete this._initialSize,delete this._initialCoordinates},M._init=function(){e.prototype._init.call(this),this.$element().addClass(\"dx-scheduler-scrollable-appointments\"),this._preventSingleAppointmentClick=!1},M._renderAppointmentTemplate=function(e,t,n){var i={isAllDay:t.allDay,isRecurrence:t.recurrenceRule,html:(0,v.isPlainObject)(t)&&t.html?t.html:void 0},o=this.invoke(\"getTextAndFormatDate\",n.appointmentData,this._currentAppointmentSettings.agendaSettings||n.targetedAppointmentData,\"TIME\");e.append(this.isAgendaView?(0,A.createAgendaAppointmentLayout)(o,i):(0,A.createAppointmentLayout)(o,i))},M._executeItemRenderAction=function(e,t,n){var i=this._getItemRenderAction();i&&i(this.invoke(\"mapAppointmentFields\",{itemData:t,itemElement:n})),delete this._currentAppointmentSettings},M._itemClickHandler=function(t){e.prototype._itemClickHandler.call(this,t,{},{afterExecute:function(e){this._processItemClick(e.args[0].event)}.bind(this)})},M._processItemClick=function(e){var t=this,n=(0,u.default)(e.currentTarget),i=this._getItemData(n);\"keydown\"===e.type||(0,x.isFakeClickEvent)(e)?this.notifyObserver(\"showEditAppointmentPopup\",{data:i,target:n}):this._appointmentClickTimeout=setTimeout((function(){!t._preventSingleAppointmentClick&&r.default.getBody().contains(n[0])&&t.notifyObserver(\"showAppointmentTooltip\",{data:i,target:n}),t._preventSingleAppointmentClick=!1}),300)},M._extendActionArgs=function(t){var n=e.prototype._extendActionArgs.call(this,t);return this.invoke(\"mapAppointmentFields\",n)},M._render=function(){e.prototype._render.call(this),this._attachAppointmentDblClick()},M._attachAppointmentDblClick=function(){var e=this,t=e._itemSelector(),n=this._itemContainer();y.default.off(n,H,t),y.default.on(n,H,t,(function(t){e._itemDXEventHandler(t,\"onAppointmentDblClick\",{},{afterExecute:function(t){e._dblClickHandler(t.args[0].event)}})}))},M._dblClickHandler=function(e){var t=(0,u.default)(e.currentTarget),n=this._getItemData(t);clearTimeout(this._appointmentClickTimeout),this._preventSingleAppointmentClick=!0,this.notifyObserver(\"showEditAppointmentPopup\",{data:n,target:t})},M._renderItem=function(t,n,i){for(var o=n.itemData,a=[],r=0;r<n.settings.length;r++){var s=n.settings[r];this._currentAppointmentSettings=s;var l=e.prototype._renderItem.call(this,t,o,i);l.data(D.APPOINTMENT_SETTINGS_KEY,s),a.push(l)}return a},M._getItemContent=function(t){return t.data(D.APPOINTMENT_SETTINGS_KEY,this._currentAppointmentSettings),e.prototype._getItemContent.call(this,t)},M._createItemByTemplate=function(e,t){var n=t.itemData,i=t.container,o=t.index;return e.render({model:{appointmentData:n,targetedAppointmentData:this.invoke(\"getTargetedAppointmentData\",n,(0,u.default)(i).parent())},container:i,index:o})},M._getAppointmentContainer=function(e){var t=this.option(\"allDayContainer\"),n=this.itemsContainer().not(t);return e&&t&&(n=t),n},M._postprocessRenderItem=function(e){this._renderAppointment(e.itemElement,this._currentAppointmentSettings)},M._renderAppointment=function(e,t){var n;e.data(D.APPOINTMENT_SETTINGS_KEY,t),this._applyResourceDataAttr(e);var i=this._getItemData(e),o=this.invoke(\"getAppointmentGeometry\",t),a=this.option(\"allowResize\")&&(!(0,v.isDefined)(t.skipResizing)||(0,v.isString)(t.skipResizing)),r=this.option(\"allowDrag\"),s=t.allDay;if(this.invoke(\"setCellDataCacheAlias\",this._currentAppointmentSettings,o),t.virtual){var l={itemData:i,groupIndex:t.groupIndex,groups:this.option(\"groups\")},u=this.option(\"getAppointmentColor\")(l);this._processVirtualAppointment(t,e,i,u)}else{var d={data:i,groupIndex:t.groupIndex,observer:this.option(\"observer\"),geometry:o,direction:t.direction||\"vertical\",allowResize:a,allowDrag:r,allDay:s,reduced:t.appointmentReduced,isCompact:t.isCompact,startDate:new Date(null===(n=t.info)||void 0===n?void 0:n.appointment.startDate),cellWidth:this.invoke(\"getCellWidth\"),cellHeight:this.invoke(\"getCellHeight\"),resizableConfig:this._resizableConfig(i,t),groups:this.option(\"groups\"),getAppointmentColor:this.option(\"getAppointmentColor\"),getResourceDataAccessors:this.option(\"getResourceDataAccessors\")};if(this.isAgendaView){var c=this.option(\"getAgendaResourceProcessor\")();d.createPlainResourceListAsync=function(e){return c.createListAsync(e)}}this._createComponent(e,this.isAgendaView?O.AgendaAppointment:O.Appointment,L(L({},d),{dataAccessors:this.option(\"dataAccessors\"),getResizableStep:this.option(\"getResizableStep\")}))}},M._applyResourceDataAttr=function(e){var t=this.option(\"getResourceDataAccessors\")(),n=this._getItemData(e);(0,p.each)(t.getter,(function(i){var o=t.getter[i](n);if((0,v.isDefined)(o)){var a=\"data-\".concat((0,c.normalizeKey)(i.toLowerCase()),\"-\");(0,d.wrapToArray)(o).forEach((function(t){return e.attr(a+(0,c.normalizeKey)(t),!0)}))}}))},M._resizableConfig=function(e,t){return{area:this._calculateResizableArea(t,e),onResizeStart:function(e){if(this.resizeOccur=!0,this._$currentAppointment=(0,u.default)(e.element),this.invoke(\"needRecalculateResizableArea\")){var t=this._calculateResizableArea(this._$currentAppointment.data(D.APPOINTMENT_SETTINGS_KEY),this._$currentAppointment.data(\"dxItemData\"));e.component.option(\"area\",t),e.component._renderDragOffsets(e.event)}this._initialSize={width:e.width,height:e.height},this._initialCoordinates=(0,o.locate)(this._$currentAppointment)}.bind(this),onResizeEnd:function(e){this.resizeOccur=!1,this._resizeEndHandler(e)}.bind(this)}},M._calculateResizableArea=function(e,t){var n=this.$element().closest(\".dx-scrollable-content\");return this.invoke(\"getResizableAppointmentArea\",{coordinates:{left:e.left,top:0,groupIndex:e.groupIndex},allDay:e.allDay})||n},M._resizeEndHandler=function(e){var t=(0,u.default)(e.element),n=t.data(\"dxAppointmentSettings\"),i=n.allDay,o=n.info,a=this._getItemData(t),r={};if(i)r=this.resizeAllDay(e);else{var s=this._getEndResizeAppointmentStartDate(e,a,o.appointment),l=o.appointment.endDate;r=this._getDateRange(e,s,l)}this.updateResizedAppointment(t,r,this.option(\"dataAccessors\"),this.option(\"timeZoneCalculator\"))},M.resizeAllDay=function(e){var t=(0,u.default)(e.element),n=this.option(\"timeZoneCalculator\"),i=this.option(\"dataAccessors\");return(0,P.getAppointmentDateRange)({handles:e.handles,appointmentSettings:t.data(\"dxAppointmentSettings\"),isVerticalViewDirection:this.option(\"isVerticalViewDirection\")(),isVerticalGroupedWorkSpace:this.option(\"isVerticalGroupedWorkSpace\")(),appointmentRect:(0,m.getBoundingRect)(t[0]),parentAppointmentRect:(0,m.getBoundingRect)(t.parent()[0]),viewDataProvider:this.option(\"getViewDataProvider\")(),isDateAndTimeView:this.option(\"isDateAndTimeView\")(),startDayHour:this.invoke(\"getStartDayHour\"),endDayHour:this.invoke(\"getEndDayHour\"),timeZoneCalculator:n,dataAccessors:i,rtlEnabled:this.option(\"rtlEnabled\"),DOMMetaData:this.option(\"getDOMElementsMetaData\")()})},M.updateResizedAppointment=function(e,t,n,i){var o=this._getItemData(e),a=(0,S.createAppointmentAdapter)(o,n,i).clone();a.startDate=new Date(t.startDate),a.endDate=new Date(t.endDate),this.notifyObserver(\"updateAppointmentAfterResize\",{target:o,data:a.clone({pathTimeZone:\"fromGrid\"}).source(),$appointment:e})},M._getEndResizeAppointmentStartDate=function(e,t,n){var i=this.option(\"timeZoneCalculator\"),o=(0,S.createAppointmentAdapter)(t,this.option(\"dataAccessors\"),i),a=n.startDate,r=(0,T.getRecurrenceProcessor)(),s=o.recurrenceRule,l=o.startDateTimeZone,u=this.invoke(\"isAllDay\",t),d=r.isValidRecurrenceRule(s);return e.handles.top||d||u||(a=i.createDate(o.startDate,{appointmentTimeZone:l,path:\"toGrid\"})),a},M._getDateRange=function(e,t,n){var i,o,a=this._getItemData(e.element),r=this.invoke(\"getDeltaTime\",e,this._initialSize,a),s=this.invoke(\"getRenderingStrategyDirection\"),l=this.invoke(\"isAllDay\",a),u=this.invoke(\"needCorrectAppointmentDates\")&&!l;return(\"vertical\"!==s||l?this.option(\"rtlEnabled\")?e.handles.right:e.handles.left:e.handles.top)?(i=u?this._correctStartDateByDelta(t,r):t.getTime()-r,i+=C.default.getTimezoneOffsetChangeInMs(t,n,i,n),o=n.getTime()):(i=t.getTime(),o=u?this._correctEndDateByDelta(n,r):n.getTime()+r,o-=C.default.getTimezoneOffsetChangeInMs(t,n,t,o)),{startDate:new Date(i),endDate:new Date(o)}},M._correctEndDateByDelta=function(e,t){var n=this.invoke(\"getEndDayHour\"),i=this.invoke(\"getStartDayHour\"),o=e.getTime()+t,a=(n-i)*N(\"hour\"),r=t>0?Math.ceil(t/a):Math.floor(t/a),s=new Date(e),l=new Date(e);if(l.setHours(i,0,0,0),s.setHours(n,0,0,0),o>s.getTime()||o<=l.getTime()){var u=t-(s.getTime()-e.getTime()),d=new Date(e).setDate(e.getDate()+r),c=new Date(d);c.setHours(i,0,0,0),o=c.getTime()+u-a*(r-1)}return o},M._correctStartDateByDelta=function(e,t){var n=this.invoke(\"getEndDayHour\"),i=this.invoke(\"getStartDayHour\"),o=e.getTime()-t,a=(n-i)*N(\"hour\"),r=t>0?Math.ceil(t/a):Math.floor(t/a),s=new Date(e),l=new Date(e);if(l.setHours(i,0,0,0),s.setHours(n,0,0,0),o<l.getTime()||o>=s.getTime()){var u=t-(e.getTime()-l.getTime()),d=new Date(e.setDate(e.getDate()-r));d.setHours(n,0,0,0),o=d.getTime()-u+a*(r-1)}return o},M._processVirtualAppointment=function(e,t,n,i){var o=e.virtual,a=o.index;(0,v.isDefined)(this._virtualAppointments[a])||(this._virtualAppointments[a]={coordinates:{top:o.top,left:o.left},items:{data:[],colors:[],settings:[]},isAllDay:!!o.isAllDay,buttonColor:i}),e.targetedAppointmentData=this.invoke(\"getTargetedAppointmentData\",n,t),this._virtualAppointments[a].items.settings.push(e),this._virtualAppointments[a].items.data.push(n),this._virtualAppointments[a].items.colors.push(i),t.remove()},M._renderContentImpl=function(){e.prototype._renderContentImpl.call(this),this._renderDropDownAppointments()},M._renderDropDownAppointments=function(){var e=this;this._renderByFragments((function(t,n){(0,p.each)(e._virtualAppointments,(function(i){var o=e._virtualAppointments[i],a=o.items,r=o.coordinates,s=o.isAllDay?n:t,l=r.left,u=e.invoke(\"getDropDownAppointmentWidth\",o.isAllDay),d=e.invoke(\"getDropDownAppointmentHeight\"),c=e.option(\"rtlEnabled\")?u:0;e.notifyObserver(\"renderCompactAppointments\",{$container:s,coordinates:{top:r.top,left:l+c},items:a,buttonColor:o.buttonColor,width:u-e.option(\"_collectorOffset\"),height:d,onAppointmentClick:e.option(\"onItemClick\"),allowDrag:e.option(\"allowDrag\"),cellWidth:e.invoke(\"getCellWidth\"),isCompact:e.invoke(\"isAdaptive\")||e._isGroupCompact(o)})}))}))},M._isGroupCompact=function(e){return!e.isAllDay&&this.invoke(\"supportCompactDropDownAppointments\")},M._sortAppointmentsByStartDate=function(e){return(0,E.sortAppointmentsByStartDate)(e,this.option(\"dataAccessors\"))},M._processRecurrenceAppointment=function(e,t,n){var i=I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"recurrenceRule\",e),o={parts:[],indexes:[]};if(i){for(var a=e.settings||e,r=new Date(I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"startDate\",a)),s=I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"startDateTimeZone\",e),l=new Date(I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"endDate\",a)),u=l.getTime()-r.getTime(),d=I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"recurrenceException\",e),c=this.invoke(\"getStartViewDate\"),h=this.invoke(\"getEndViewDate\"),p=this.option(\"timeZoneCalculator\"),g=(0,T.getRecurrenceProcessor)().generateDates({rule:i,exception:d,start:r,end:l,min:c,max:h,appointmentTimezoneOffset:p.getOriginStartDateOffsetInMs(r,s,!1)}),m=e.settings?1:g.length,_=0;_<m;_++){var v=(0,f.extend)({},e,!0);if(g[_]){var y=this._applyStartDateToObj(g[_],{});this._applyEndDateToObj(new Date(g[_].getTime()+u),y),v.settings=y}else v.settings=a;o.parts.push(v),n||this._processLongAppointment(v,o)}o.indexes.push(t)}return o},M._processLongAppointment=function(e,t){var n=this.splitAppointmentByDay(e),i=n.length,o=this.invoke(\"getEndViewDate\").getTime(),a=this.invoke(\"getStartViewDate\").getTime(),r=this.option(\"timeZoneCalculator\");if(t=t||{parts:[]},i>1){(0,f.extend)(e,n[0]);for(var s=1;s<i;s++){var l=I.ExpressionUtils.getField(this.option(\"dataAccessors\"),\"startDate\",n[s].settings).getTime();(l=r.createDate(l,{path:\"toGrid\"}))<o&&l>a&&t.parts.push(n[s])}}return t},M._reduceRecurrenceAppointments=function(e,t){(0,p.each)(e,(function(e,n){t.splice(n-e,1)}))},M._combineAppointments=function(e,t){t.length&&e.push.apply(e,R(t)),this._sortAppointmentsByStartDate(e)},M._applyStartDateToObj=function(e,t){return I.ExpressionUtils.setField(this.option(\"dataAccessors\"),\"startDate\",t,e),t},M._applyEndDateToObj=function(e,t){return I.ExpressionUtils.setField(this.option(\"dataAccessors\"),\"endDate\",t,e),t},M.moveAppointmentBack=function(e){var t=this._$currentAppointment,n=this._initialSize,i=this._initialCoordinates;e&&(this._removeDragSourceClassFromDraggedAppointment(),(0,v.isDeferred)(e.cancel)?e.cancel.resolve(!0):e.cancel=!0),t&&!e&&(i&&((0,o.move)(t,i),delete this._initialSize),n&&((0,_.setOuterWidth)(t,n.width),(0,_.setOuterHeight)(t,n.height),delete this._initialCoordinates))},M.focus=function(){if(this._$currentAppointment){var e=(0,s.getPublicElement)(this._$currentAppointment);this.option(\"focusedElement\",e),y.default.trigger(e,\"focus\")}},M.splitAppointmentByDay=function(e){var t=e.settings||e,n=this.option(\"dataAccessors\"),i=new Date(I.ExpressionUtils.getField(n,\"startDate\",t)),o=h.default.makeDate(i),a=h.default.makeDate(I.ExpressionUtils.getField(n,\"endDate\",t)),r=this.invoke(\"getEndViewDate\"),s=this.invoke(\"getStartDayHour\"),l=this.invoke(\"getEndDayHour\"),u=this.option(\"timeZoneCalculator\"),d=(0,S.createAppointmentAdapter)(e,n,u),c=(0,E.getAppointmentTakesSeveralDays)(d),f=[];for(o=u.createDate(o,{path:\"toGrid\"}),a=u.createDate(a,{path:\"toGrid\"}),o.getHours()<=l&&o.getHours()>=s&&!c&&(f.push(this._applyStartDateToObj(new Date(o),{appointmentData:e})),o.setDate(o.getDate()+1));c&&o.getTime()<a.getTime()&&o<r;){var p=new Date(o),m=new Date(o);this._checkStartDate(p,i,s),this._checkEndDate(m,a,l);var _=(0,g.deepExtendArraySafe)({},e,!0),v={};this._applyStartDateToObj(p,v),this._applyEndDateToObj(m,v),_.settings=v,f.push(_),(o=h.default.trimTime(o)).setDate(o.getDate()+1),o.setHours(s)}return f},M._checkStartDate=function(e,t,n){!h.default.sameDate(e,t)||e.getHours()<=n?e.setHours(n,0,0,0):e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())},M._checkEndDate=function(e,t,n){!h.default.sameDate(e,t)||e.getHours()>n?e.setHours(n,0,0,0):e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())},M._removeDragSourceClassFromDraggedAppointment=function(){this._itemElements().filter(\".\".concat(k.APPOINTMENT_DRAG_SOURCE_CLASS)).each((function(e,t){(0,u.default)(t).dxSchedulerAppointment(\"instance\").option(\"isDragSource\",!1)}))},M._setDragSourceAppointment=function(e,t){var n=this._findItemElementByItem(e),i=t.info.sourceAppointment,o=i.startDate,a=i.endDate,r=t.groupIndex;n.forEach((function(e){var t=e.data(D.APPOINTMENT_SETTINGS_KEY),n=t.info,i=t.groupIndex,s=n.sourceAppointment,l=s.startDate,u=s.endDate,d=e.dxSchedulerAppointment(\"instance\"),c=o.getTime()===l.getTime()&&a.getTime()===u.getTime()&&r===i;d.option(\"isDragSource\",c)}))},M.updateResizableArea=function(){var e=this,t=this.$element().find(\".dx-scheduler-appointment.dx-resizable\"),n=(0,c.grep)(t,(function(e){var t=(0,u.default)(e).dxResizable(\"instance\").option(),n=t.area,i=t.handles;return(\"right left\"===i||\"left right\"===i)&&(0,v.isPlainObject)(n)}));(0,p.each)(n,(function(t,n){var i=(0,u.default)(n),a=(0,o.locate)(i),r=e._getItemData(i),s=e._calculateResizableArea({left:a.left},r);i.dxResizable(\"instance\").option(\"area\",s)}))},a=i,(b=[{key:\"isAgendaView\",get:function(){return this.invoke(\"isCurrentViewAgenda\")}},{key:\"isVirtualScrolling\",get:function(){return this.invoke(\"isVirtualScrolling\")}},{key:\"appointmentDataProvider\",get:function(){return this.option(\"getAppointmentDataProvider\")()}}])&&V(a.prototype,b),w&&V(a,w),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(w.default);(0,a.default)(\"dxSchedulerAppointments\",z);var j=z;t.default=j},72417:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createAppointmentLayout=t.createAgendaAppointmentLayout=void 0;var i=s(n(73349)),o=s(n(68374)),a=s(n(28109)),r=n(43600);function s(e){return e&&e.__esModule?e:{default:e}}var l=\" \".concat(a.default.format(\"dxScheduler-allDay\"),\": \");t.createAppointmentLayout=function(e,t){var n=(0,o.default)(i.default.createDocumentFragment());(0,o.default)(\"<div>\").text(e.text).addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).appendTo(n),t.html&&n.html(t.html);var a=(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(n);return(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(e.formatDate).appendTo(a),t.isRecurrence&&(0,o.default)(\"<span>\").addClass(\"\".concat(r.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON,\" dx-icon-repeat\")).appendTo(n),t.isAllDay&&(0,o.default)(\"<div>\").text(l).addClass(r.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo(a),n};t.createAgendaAppointmentLayout=function(e,t){var n=(0,o.default)(i.default.createDocumentFragment()),a=(0,o.default)(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-left-layout\").appendTo(n),s=(0,o.default)(\"<div>\").addClass(\"dx-scheduler-agenda-appointment-right-layout\").appendTo(n),u=(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER).appendTo(a);t.isRecurrence&&(0,o.default)(\"<span>\").addClass(\"\".concat(r.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON,\" dx-icon-repeat\")).appendTo(u);(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).text(e.text).appendTo(s);var d=(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(s);(0,o.default)(\"<div>\").addClass(r.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(e.formatDate).appendTo(d);return t.isAllDay&&(0,o.default)(\"<div>\").text(l).addClass(r.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo(d),n}},70325:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellPositionCalculator=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(35922);function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==s(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===s(a)?a:String(a)),i)}var o,a}var d=function(){function e(e){this.isVirtualScrolling=!1,this.options=e}var t,n,i,r=e.prototype;return r.calculateCellPositions=function(e,t,n){var i=this,o=[];return this.appointments.forEach((function(a,r){i.getCoordinateInfos({appointment:a,groupIndices:e,isAllDayRowAppointment:t,isRecurrentAppointment:n}).forEach((function(e){e&&o.push(i._prepareObject(e,r))}))})),o},r.getCoordinateInfos=function(e){var t=e.appointment,n=e.isAllDayRowAppointment,i=e.groupIndices,o=e.recurrent,a=t.startDate,r=o?void 0:t.source.groupIndex;return this.getCoordinatesByDateInGroup(a,i,n,r)},r._prepareObject=function(e,t){return e.dateSettingIndex=t,{coordinates:e,dateSettingIndex:t}},r.getCoordinatesByDate=function(e,t,n){var i=t||0,o={groupIndex:i,startDate:e,isAllDay:n},a=this.viewDataProvider.findCellPositionInMap(o);if(a){var r=this.getCellPosition(a,n&&!this.isVerticalGrouping),s=n?0:this.getTimeShift(e),l=this.getPositionShift(s,n),u=this.positionHelper.getHorizontalMax(i,e),d=this.positionHelper.getVerticalMax({groupIndex:i,isVirtualScrolling:this.isVirtualScrolling,showAllDayPanel:this.showAllDayPanel,supportAllDayRow:this.supportAllDayRow,isGroupedAllDayPanel:this.isGroupedAllDayPanel,isVerticalGrouping:this.isVerticalGrouping});return{positionByMap:a,cellPosition:r.left+l.cellPosition,top:r.top+l.top,left:r.left+l.left,rowIndex:r.rowIndex,columnIndex:r.columnIndex,hMax:u,vMax:d,groupIndex:i}}},r.getCoordinatesByDateInGroup=function(e,t,n,i){var o=this,r=[];if(this.viewDataProvider.isSkippedDate(e))return r;var s=[i];return(0,a.isDefined)(i)||(s=this.groupCount?t:[0]),s.forEach((function(t){var i=o.getCoordinatesByDate(e,t,n);i&&r.push(i)})),r},r.getCellPosition=function(e,t){var n=this.DOMMetaData,i=n.dateTableCellsMeta,o=n.allDayPanelCellsMeta,a=e.columnIndex,r=e.rowIndex,s=t?o[a]:i[r][a],u=l({},s);return this.rtlEnabled&&(u.left+=s.width),u&&(u.rowIndex=e.rowIndex,u.columnIndex=e.columnIndex),u},r.getTimeShift=function(e){var t=new Date(e),n=new Date(new Date(e).setHours(this.viewEndDayHour,0,0));e.getTime()<=n.getTime()&&t.setHours(this.viewStartDayHour,0,0,0);var i=o.default.getTimezonesDifference(e,t),a=e.getTime(),r=t.getTime();return a>this.startViewDate.getTime()?(a-r+i)%this.cellDuration/this.cellDuration:0},t=e,(n=[{key:\"DOMMetaData\",get:function(){return this.options.DOMMetaData}},{key:\"appointments\",get:function(){return this.options.dateSettings}},{key:\"viewDataProvider\",get:function(){return this.options.viewDataProvider}},{key:\"positionHelper\",get:function(){return this.options.positionHelper}},{key:\"startViewDate\",get:function(){return this.options.startViewDate}},{key:\"viewStartDayHour\",get:function(){return this.options.viewStartDayHour}},{key:\"viewEndDayHour\",get:function(){return this.options.viewEndDayHour}},{key:\"cellDuration\",get:function(){return this.options.cellDuration}},{key:\"getPositionShift\",get:function(){return this.options.getPositionShiftCallback}},{key:\"groupCount\",get:function(){return this.options.groupCount}},{key:\"rtlEnabled\",get:function(){return this.options.rtlEnabled}},{key:\"isVerticalGrouping\",get:function(){return this.options.isVerticalGroupOrientation}},{key:\"showAllDayPanel\",get:function(){return this.options.showAllDayPanel}},{key:\"supportAllDayRow\",get:function(){return this.options.supportAllDayRow}},{key:\"isGroupedAllDayPanel\",get:function(){return this.options.isGroupedAllDayPanel}}])&&u(t.prototype,n),i&&u(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),c=function(e){var t,n;function i(){var t;return(t=e.apply(this,arguments)||this).isVirtualScrolling=!0,t}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var o=i.prototype;return o.calculateCellPositions=function(t,n,i){var o=this,a=n?this.appointments:this.appointments.filter((function(e){var t=e.source,n=e.startDate,i=e.endDate;return o.viewDataProvider.isGroupIntersectDateInterval(t.groupIndex,n,i)}));return i?this.createRecurrentAppointmentInfos(a,n):e.prototype.calculateCellPositions.call(this,t,n,i)},o.createRecurrentAppointmentInfos=function(e,t){var n=this,i=[];return e.forEach((function(e,o){var a=e.source,r=e.startDate,s=n.getCoordinatesByDate(r,a.groupIndex,t);s&&i.push(n._prepareObject(s,o))})),i},i}(d),h=function(){function e(e){this.options=e}return e.prototype.calculateCellPositions=function(e,t,n){return(this.options.isVirtualScrolling?new c(this.options):new d(this.options)).calculateCellPositions(e,t,n)},e}();t.CellPositionCalculator=h},97938:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.renderAppointments=void 0;var i=r(n(68374)),o=r(n(55304)),a=n(84110);function r(e){return e&&e.__esModule?e:{default:e}}t.renderAppointments=function(e){var t=e.instance,n=e.$dateTable,i=e.viewModel,r=s(n);a.utils.renovation.renderComponent(t,r,o.default,\"renovatedAppointments\",i)};var s=function(e){var t=(0,i.default)(\".dx-appointments-container\");return 0===t.length&&(t=(0,i.default)(\"<div>\").addClass(\"dx-appointments-container\").appendTo(e)),t}},24099:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DateGeneratorVirtualStrategy=t.DateGeneratorBaseStrategy=t.AppointmentSettingsGenerator=void 0;var i=p(n(91198)),o=n(13306),a=n(35922),r=n(45985),s=p(n(32511)),l=n(72734),u=n(30906),d=n(38227),c=n(31359),h=n(70325),f=n(18775);function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function m(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||y(e)||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 _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||y(e,t)||function(){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 y(e,t){if(e){if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(){return(x=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==g(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===g(a)?a:String(a)),i)}var o,a}function C(e,t,n){return t&&w(e.prototype,t),n&&w(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}var S=i.default.dateToMilliseconds,k=function(){function e(e){this.options=e}var t=e.prototype;return t.getIntervalDuration=function(){return this.appointmentTakesAllDay?this.options.allDayIntervalDuration:this.options.intervalDuration},t.generate=function(e){var t=this._getGroupIndices(this.rawAppointment),n=this._createAppointments(e,t);n=this._getProcessedByAppointmentTimeZone(n,e),this._canProcessNotNativeTimezoneDates(e)&&(n=this._getProcessedNotNativeTimezoneDates(n,e));var i=this._createGridAppointmentList(n,e),o=this._getAppointmentsFirstViewDate(i);return this._fillNormalizedStartDate(i,o),i=this._cropAppointmentsByStartDayHour(i,o),i=this._fillNormalizedEndDate(i,this.rawAppointment),this._needSeparateLongParts()&&(i=this._separateLongParts(i,e)),{dateSettings:i,itemGroupIndices:t,isRecurrent:e.isRecurrent}},t._getProcessedByAppointmentTimeZone=function(e,t){var n=this;if(!(0,a.isEmptyObject)(t.startDateTimeZone)||!(0,a.isEmptyObject)(t.endDateTimeZone)){var i={startDate:this.timeZoneCalculator.getOffsets(t.startDate,t.startDateTimeZone),endDate:this.timeZoneCalculator.getOffsets(t.endDate,t.endDateTimeZone)};e.forEach((function(e){var o=n.timeZoneCalculator.getOffsets(e.startDate,t.startDateTimeZone),a=n.timeZoneCalculator.getOffsets(e.endDate,t.endDateTimeZone),r=i.startDate.appointment-o.appointment,s=i.endDate.appointment-a.appointment;o.appointment!==o.common&&(e.startDate=new Date(e.startDate.getTime()+r*S(\"hour\"))),a.appointment!==a.common&&(e.endDate=new Date(e.endDate.getTime()+s*S(\"hour\")))}))}return e},t._createAppointments=function(e,t){var n=this._createRecurrenceAppointments(e,t);return e.isRecurrent||0!==n.length||n.push({startDate:e.startDate,endDate:e.endDate}),n=n.map((function(e){var t,n=null===(t=e.endDate)||void 0===t?void 0:t.getTime();return e.startDate.getTime()===n&&e.endDate.setTime(n+S(\"minute\")),x(x({},e),{exceptionDate:new Date(e.startDate)})}))},t._canProcessNotNativeTimezoneDates=function(e){return!(0,a.isEmptyObject)(this.timeZone)&&(!!e.isRecurrent&&!s.default.isEqualLocalTimeZone(this.timeZone,e.startDate))},t._getProcessedNotNativeDateIfCrossDST=function(e,t){if(t<0){var n=new Date(e),i=new Date(n);if(i.setHours(i.getHours()-1),this.timeZoneCalculator.getOffsets(n).common!==this.timeZoneCalculator.getOffsets(i).common)return 0}return t},t._getCommonOffset=function(e){return this.timeZoneCalculator.getOffsets(e).common},t._getProcessedNotNativeTimezoneDates=function(e,t){var n=this;return e.map((function(e){var i=n._getCommonOffset(t.startDate)-n._getCommonOffset(e.startDate),o=n._getCommonOffset(t.endDate)-n._getCommonOffset(e.endDate);if(0===i&&0===o)return e;i=n._getProcessedNotNativeDateIfCrossDST(e.startDate,i),o=n._getProcessedNotNativeDateIfCrossDST(e.endDate,o);var a=new Date(e.startDate.getTime()+i*S(\"hour\")),r=new Date(e.endDate.getTime()+o*S(\"hour\")),s=n.timeZoneCalculator.createDate(a,{path:\"toGrid\"}),l=n.timeZoneCalculator.createDate(r,{path:\"toGrid\"});return t.duration>l.getTime()-s.getTime()&&(r=new Date(a.getTime()+t.duration)),x(x({},e),{startDate:a,endDate:r,exceptionDate:new Date(a)})}))},t._needSeparateLongParts=function(){return this.isVerticalOrientation?this.isGroupedByDate:this.isGroupedByDate&&this.appointmentTakesAllDay},t.normalizeEndDateByViewEnd=function(e,t){var n=new Date(t.getTime());if(!((0,r.isDateAndTimeView)(this.viewType)&&this.appointmentTakesAllDay)){var o=i.default.roundToHour(this.endViewDate);n>o&&(n=o)}var a=this.viewEndDayHour,s=u.ExpressionUtils.getField(this.dataAccessors,\"allDay\",e),l=new Date(new Date(t.getTime()).setHours(a,0,0,0));return(n.getTime()>l.getTime()||s&&n.getHours()<a)&&(n=l),n},t._fillNormalizedEndDate=function(e,t){var n=this;return e.map((function(e){var i=e.endDate,o=n.normalizeEndDateByViewEnd(t,i);return x(x({},e),{normalizedEndDate:o})}))},t._separateLongParts=function(e,t){var n=this,o=[];return e.forEach((function(e){var a=new Date(n.dateRange[1]),r=e.normalizedEndDate,s=i.default.getDatesOfInterval(e.startDate,r,{milliseconds:n.getIntervalDuration()}).filter((function(e){return new Date(e)<a})).map((function(i){var o=new Date(new Date(i).setMilliseconds(t.duration));return{startDate:i,endDate:o,normalizedEndDate:n.normalizeEndDateByViewEnd(n.rawAppointment,o),source:e.source}}));o=o.concat(s)})),o},t._createGridAppointmentList=function(e,t){var n=this;return e.map((function(e){var i=t.startDate.getTimezoneOffset()-e.startDate.getTimezoneOffset();return 0!==i&&n._canProcessNotNativeTimezoneDates(t)&&(e.startDate=new Date(e.startDate.getTime()+i*S(\"minute\")),e.endDate=new Date(e.endDate.getTime()+i*S(\"minute\")),e.exceptionDate=new Date(e.startDate)),{startDate:n.timeZoneCalculator.createDate(e.startDate,{path:\"toGrid\"}),endDate:n.timeZoneCalculator.createDate(e.endDate,{path:\"toGrid\"}),allDay:t.allDay||!1,source:e}}))},t._createExtremeRecurrenceDates=function(e){var t=this.appointmentTakesAllDay?i.default.trimTime(this.dateRange[0]):this.dateRange[0],n=this.dateRange[1];if(this.timeZone){t=this.timeZoneCalculator.createDate(t,{path:\"fromGrid\"}),n=this.timeZoneCalculator.createDate(n,{path:\"fromGrid\"});var o=s.default.getDaylightOffsetInMs(t,n);o&&(n=new Date(n.getTime()+o))}return[t,n]},t._createRecurrenceOptions=function(e,t){var n=this,o=v(this._createExtremeRecurrenceDates(t),2),r=o[0],l=o[1];return{rule:e.recurrenceRule,exception:e.recurrenceException,min:r,max:l,firstDayOfWeek:this.firstDayOfWeek,start:e.startDate,end:e.endDate,appointmentTimezoneOffset:this.timeZoneCalculator.getOriginStartDateOffsetInMs(e.startDate,e.rawAppointment.startDateTimeZone,!0),getPostProcessedException:function(t){if((0,a.isEmptyObject)(n.timeZone)||s.default.isEqualLocalTimeZone(n.timeZone,t))return t;var o=n.timeZoneCalculator.getOffsets(e.startDate).common-n.timeZoneCalculator.getOffsets(t).common;return o=n._getProcessedNotNativeDateIfCrossDST(t,o),new Date(t.getTime()-o*i.default.dateToMilliseconds(\"hour\"))}}},t._createRecurrenceAppointments=function(e,t){var n=e.duration,i=this._createRecurrenceOptions(e);return(0,d.getRecurrenceProcessor)().generateDates(i).map((function(e){var t=s.default.createUTCDateWithLocalOffset(e);t.setTime(t.getTime()+n);var i=s.default.createDateFromUTCWithLocalOffset(t);return{startDate:new Date(e),endDate:i}}))},t._getAppointmentsFirstViewDate=function(e){var t=this;return e.map((function(e){return t._getAppointmentFirstViewDate(e)}))},t._fillNormalizedStartDate=function(e,t,n){var i=this;e.forEach((function(e,o){e.startDate=i._getAppointmentResultDate({appointment:e,rawAppointment:n,startDate:new Date(e.startDate),startDayHour:i.viewStartDayHour,firstViewDate:t[o]})}))},t._cropAppointmentsByStartDayHour=function(e,t){var n=this;return e.filter((function(e,i){return!!t[i]&&(!!n.appointmentTakesAllDay||e.endDate>e.startDate)}))},t._getAppointmentResultDate=function(e){var t,n=e.appointment,o=e.startDayHour,a=e.firstViewDate,r=e.startDate;return this.appointmentTakesAllDay?t=i.default.normalizeDate(r,a):(r<a&&(r=a),t=i.default.normalizeDate(n.startDate,r)),this.isDateAppointment?t:i.default.roundDateByStartDayHour(t,o)},t._getAppointmentFirstViewDate=function(e){var t=e.source.groupIndex||0,n=e.startDate,i=e.endDate;return this.isAllDayRowAppointment||e.allDay?this.viewDataProvider.findAllDayGroupCellStartDate(t,n):this.viewDataProvider.findGroupCellStartDate(t,n,i,this.isDateAppointment)},t._getGroupIndices=function(e){var t=this,n=[];if(e&&this.loadedResources.length){var i=(0,c.createResourcesTree)(this.loadedResources);n=(0,c.getResourceTreeLeaves)((function(e,n){return(0,c.getDataAccessors)(t.options.dataAccessors.resources,e,n)}),i,e)}return n},C(e,[{key:\"rawAppointment\",get:function(){return this.options.rawAppointment}},{key:\"timeZoneCalculator\",get:function(){return this.options.timeZoneCalculator}},{key:\"viewDataProvider\",get:function(){return this.options.viewDataProvider}},{key:\"appointmentTakesAllDay\",get:function(){return this.options.appointmentTakesAllDay}},{key:\"supportAllDayRow\",get:function(){return this.options.supportAllDayRow}},{key:\"isAllDayRowAppointment\",get:function(){return this.options.isAllDayRowAppointment}},{key:\"timeZone\",get:function(){return this.options.timeZone}},{key:\"dateRange\",get:function(){return this.options.dateRange}},{key:\"firstDayOfWeek\",get:function(){return this.options.firstDayOfWeek}},{key:\"viewStartDayHour\",get:function(){return this.options.viewStartDayHour}},{key:\"viewEndDayHour\",get:function(){return this.options.viewEndDayHour}},{key:\"endViewDate\",get:function(){return this.options.endViewDate}},{key:\"viewType\",get:function(){return this.options.viewType}},{key:\"isGroupedByDate\",get:function(){return this.options.isGroupedByDate}},{key:\"isVerticalOrientation\",get:function(){return this.options.isVerticalGroupOrientation}},{key:\"dataAccessors\",get:function(){return this.options.dataAccessors}},{key:\"loadedResources\",get:function(){return this.options.loadedResources}},{key:\"isDateAppointment\",get:function(){return!(0,r.isDateAndTimeView)(this.viewType)&&this.appointmentTakesAllDay}}]),e}();t.DateGeneratorBaseStrategy=k;var D=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var a=i.prototype;return a._createRecurrenceAppointments=function(e,t){var n=this,i=e.duration,o=[];return(this.groupCount?t:[0]).forEach((function(t){var a=n._createRecurrenceOptions(e,t),r=(0,d.getRecurrenceProcessor)().generateDates(a).map((function(e){var n=new Date(e),o=s.default.createUTCDateWithLocalOffset(e);return o.setTime(o.getTime()+i),{startDate:n,endDate:s.default.createDateFromUTCWithLocalOffset(o),groupIndex:t}}));o.push.apply(o,m(r))})),o},a._updateGroupIndices=function(e,t){var n=this,i=[];return t.forEach((function(t){n.viewDataProvider.getGroupStartDate(t)&&e.forEach((function(e){var n=(0,o.extend)({},e);n.groupIndex=t,i.push(n)}))})),i},a._getGroupIndices=function(t){var n=e.prototype._getGroupIndices.call(this,t),i=this.viewDataProvider.getGroupIndices();return(null==n?void 0:n.length)||(n=[0]),n.filter((function(e){return-1!==i.indexOf(e)}))},a._createAppointments=function(t,n){var i=e.prototype._createAppointments.call(this,t,n);return t.isRecurrent?i:this._updateGroupIndices(i,n)},C(i,[{key:\"groupCount\",get:function(){return(0,c.getGroupCount)(this.loadedResources)}}]),i}(k);t.DateGeneratorVirtualStrategy=D;var I=function(){function e(e){this.options=e,this.appointmentAdapter=(0,l.createAppointmentAdapter)(this.rawAppointment,this.dataAccessors,this.timeZoneCalculator)}var t=e.prototype;return t.create=function(){var e=this._generateDateSettings(),t=e.dateSettings,n=e.itemGroupIndices,i=e.isRecurrent,o=this._calculateCellPositions(t,n);return this._prepareAppointmentInfos(t,o,i)},t._generateDateSettings=function(){return this.dateSettingsStrategy.generate(this.appointmentAdapter)},t._calculateCellPositions=function(e,t){return new h.CellPositionCalculator(x(x({},this.options),{dateSettings:e})).calculateCellPositions(t,this.isAllDayRowAppointment,this.appointmentAdapter.isRecurrent)},t._prepareAppointmentInfos=function(e,t,n){var i=this,o=[];return t.forEach((function(t){var a=t.coordinates,r=t.dateSettingIndex,s=e[r],l=i._getAppointmentDateText(s),u={appointment:s,sourceAppointment:s.source,dateText:l,isRecurrent:n};o.push(x(x({},a),{info:u}))})),o},t._getAppointmentDateText=function(e){var t=e.startDate,n=e.endDate,i=e.allDay;return(0,f.createFormattedDateText)({startDate:t,endDate:n,allDay:i,format:\"TIME\"})},C(e,[{key:\"rawAppointment\",get:function(){return this.options.rawAppointment}},{key:\"dataAccessors\",get:function(){return this.options.dataAccessors}},{key:\"timeZoneCalculator\",get:function(){return this.options.timeZoneCalculator}},{key:\"isAllDayRowAppointment\",get:function(){return this.options.appointmentTakesAllDay&&this.options.supportAllDayRow}},{key:\"groups\",get:function(){return this.options.groups}},{key:\"dateSettingsStrategy\",get:function(){var e=x(x({},this.options),{isAllDayRowAppointment:this.isAllDayRowAppointment});return this.options.isVirtualScrolling?new D(e):new k(e)}}]),e}();t.AppointmentSettingsGenerator=I},18775:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getFormatType=t.formatDates=t.createFormattedDateText=void 0;var i=a(n(91198)),o=a(n(91500));function a(e){return e&&e.__esModule?e:{default:e}}t.createFormattedDateText=function(e){var t=e.startDate,n=e.endDate,i=e.allDay,o=e.format||r(t,n,i);return s(t,n,o)};var r=function(e,t,n,o){return n?\"DATE\":o&&i.default.sameDate(e,t)?\"TIME\":\"DATETIME\"};t.getFormatType=r;var s=function(e,t,n){var i=e.getDate()===t.getDate();switch(n){case\"DATETIME\":return[o.default.format(e,\"monthandday\"),\" \",o.default.format(e,\"shorttime\"),\" - \",i?\"\":\"\".concat(o.default.format(t,\"monthandday\"),\" \"),o.default.format(t,\"shorttime\")].join(\"\");case\"TIME\":return\"\".concat(o.default.format(e,\"shorttime\"),\" - \").concat(o.default.format(t,\"shorttime\"));case\"DATE\":return\"\".concat(o.default.format(e,\"monthandday\")).concat(i?\"\":\" - \".concat(o.default.format(t,\"monthandday\")))}};t.formatDates=s},62386:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentViewModelGenerator=void 0;var i=n(84154),o=d(n(87241)),a=d(n(50323)),r=d(n(92888)),s=d(n(24049)),l=d(n(20523)),u=d(n(25410));function d(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h={horizontal:a.default,horizontalMonth:r.default,horizontalMonthLine:s.default,vertical:l.default,week:u.default,agenda:o.default},f=function(){function e(){}var t=e.prototype;return t.initRenderingStrategy=function(e){var t=h[e.appointmentRenderingStrategyName];this.renderingStrategy=new t(e)},t.generate=function(e,t){var n=t.isRenovatedAppointments,i=e?e.slice():[];this.initRenderingStrategy(t);var o=this.getRenderingStrategy().createTaskPositionMap(i),a=this.postProcess(i,o,n);return n?this.makeRenovatedViewModels(a,t.supportAllDayRow,t.isVerticalGroupOrientation):{positionMap:o,viewModel:a}},t.postProcess=function(e,t,n){var i=this.getRenderingStrategy();return e.map((function(e,o){i.keepAppointmentSettings()||delete e.settings;var a=t[o];a.forEach((function(e){e.direction=\"vertical\"!==i.getDirection()||e.allDay?\"horizontal\":\"vertical\"}));var r={itemData:e,settings:a};return n||(r.needRepaint=!0,r.needRemove=!1),r}))},t.makeRenovatedViewModels=function(e,t,n){var i=this,o=this.getRenderingStrategy(),a=[],r=[],s=[],l=t&&!n;e.forEach((function(e){var t=e.itemData;e.settings.forEach((function(e){var n=i.prepareViewModel(e,o,t);e.isCompact?s.push({compactViewModel:e.virtual,appointmentViewModel:n}):e.allDay&&l?r.push(n):a.push(n)}))}));var u=this.prepareCompactViewModels(s,t);return c({allDay:r,regular:a},u)},t.prepareViewModel=function(e,t,n){var o=t.getAppointmentGeometry(e);return{key:(0,i.getAppointmentKey)(o),appointment:n,geometry:c(c({},o),{leftVirtualWidth:e.leftVirtualWidth,topVirtualHeight:e.topVirtualHeight}),info:c(c({},e.info),{allDay:e.allDay,direction:e.direction,appointmentReduced:e.appointmentReduced,groupIndex:e.groupIndex})}},t.getCompactViewModelFrame=function(e){return{isAllDay:!!e.isAllDay,isCompact:e.isCompact,groupIndex:e.groupIndex,geometry:{left:e.left,top:e.top,width:e.width,height:e.height},items:{colors:[],data:[],settings:[]}}},t.prepareCompactViewModels=function(e,t){var n=this,i={},o={};e.forEach((function(e){var a=e.compactViewModel,r=e.appointmentViewModel,s=a.index,l=a.isAllDay&&t?o:i;l[s]||(l[s]=n.getCompactViewModelFrame(a));var u=l[s].items,d=u.settings,c=u.data,h=u.colors;d.push(r),c.push(r.appointment),h.push(r.info.resourceColor)}));var a=function(e){return Object.keys(e).map((function(t){return c({key:t},e[t])}))};return{allDayCompact:a(o),regularCompact:a(i)}},t.getRenderingStrategy=function(){return this.renderingStrategy},e}();t.AppointmentViewModelGenerator=f},66040:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(72115))&&i.__esModule?i:{default:i};function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n);var o=i.prototype;return o.getDropDownAppointmentWidth=function(e,t){return this.getDropDownButtonAdaptiveSize()},o.getDropDownButtonAdaptiveSize=function(){return 28},o.getCollectorTopOffset=function(e){var t=this._renderingStrategy;return t.allDaySupported()&&e?(t.allDayHeight-t.getDropDownButtonAdaptiveSize())/2:this._renderingStrategy.cellHeight-40},o.getCollectorLeftOffset=function(){var e=this._renderingStrategy.getDropDownAppointmentWidth();return(this._renderingStrategy.cellWidth-e)/2},o.getAppointmentDefaultOffset=function(){return 35},o.getDynamicAppointmentCountPerCell=function(){return this._renderingStrategy.allDaySupported()?{allDay:0,simple:this._calculateDynamicAppointmentCountPerCell()||this._getAppointmentMinCount()}:0},o.getDropDownAppointmentHeight=function(){return 28},o._getAppointmentMinCount=function(){return 0},o._getAppointmentDefaultWidth=function(){return this._renderingStrategy.allDaySupported()?30:e.prototype._getAppointmentDefaultWidth.call(this)},o._calculateDynamicAppointmentCountPerCell=function(){return Math.floor(this._renderingStrategy._getAppointmentMaxWidth()/this._renderingStrategy._getAppointmentDefaultWidth())},i}(o.default);t.default=r},72115:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(35922),o=function(){function e(e){this._renderingStrategy=e}var t=e.prototype;return t.getDropDownAppointmentWidth=function(e,t){return t||!(0,i.isDefined)(t)?75*this._renderingStrategy.cellWidth/100:24},t.getCollectorTopOffset=function(e){return 3},t.getCollectorLeftOffset=function(){return 3},t.getAppointmentDefaultOffset=function(){return this._renderingStrategy._isCompactTheme()?22:this._renderingStrategy.appointmentOffset},t.getDynamicAppointmentCountPerCell=function(){var e=this._renderingStrategy,t=e.cellHeight,n=Math.floor((t-e._getAppointmentDefaultOffset())/e._getAppointmentDefaultHeight())||this._getAppointmentMinCount();return e.allDaySupported()?{allDay:\"vertical\"===e.groupOrientation?n:this._renderingStrategy.appointmentCountPerCell,simple:this._calculateDynamicAppointmentCountPerCell()||this._getAppointmentMinCount()}:n},t.getDropDownAppointmentHeight=function(){},t._getAppointmentMinCount=function(){return 1},t._calculateDynamicAppointmentCountPerCell=function(){return Math.floor(this._renderingStrategy._getAppointmentMaxWidth()/50)},t._getAppointmentDefaultWidth=function(){return 40},e}();t.default=o},87241:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=d(n(91198)),a=n(95479),r=n(72734),s=n(30906),l=n(31359),u=n(55523);function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(e,t)}(e)||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 h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var d,h,g,m=i.prototype;return m.getAppointmentMinSize=function(){},m.getDeltaTime=function(){},m.keepAppointmentSettings=function(){return!0},m.getAppointmentGeometry=function(e){return e},m.groupAppointmentByResources=function(e){var t=this.instance._getCurrentViewOption(\"groups\"),n={loadedResources:this.options.loadedResources,resources:this.options.resources,dataAccessors:this.dataAccessors.resources};return(0,l.groupAppointmentsByResources)(n,e,t)},m.createTaskPositionMap=function(e){var t,n,i=this;if(this.calculateRows(e,this.agendaDuration,this.currentDate),e.length){t=this.instance.fire(\"getAgendaVerticalStepHeight\"),n=this.groupAppointmentByResources(e);var o=[];(0,a.each)(n,(function(e,t){var n=[],r=[];(0,a.each)(t,(function(e,t){var o=i.instance.getAppointmentsInstance()._processRecurrenceAppointment(t,e),a=null;o.indexes.length||(a=i.instance.getAppointmentsInstance()._processLongAppointment(t),n=n.concat(a.parts)),n=n.concat(o.parts),r=r.concat(o.indexes)})),i.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(r,t),i.instance.getAppointmentsInstance()._combineAppointments(t,n),o=o.concat(t)})),Array.prototype.splice.apply(e,[0,e.length].concat(o))}var r=[],s=0;return e.forEach((function(e,o){r.push([{height:t,width:\"100%\",sortedIndex:s++,groupIndex:i._calculateGroupIndex(o,n),agendaSettings:e.settings}]),delete e.settings})),r},m._calculateGroupIndex=function(e,t){var n,i=0;for(var o in t){var a=t[o].length;if(e>=i&&e<i+a){n=Number(o);break}i+=a}return n},m._getDeltaWidth=function(e,t){},m._getAppointmentMaxWidth=function(){return this.cellWidth},m._needVerifyItemSize=function(){return!1},m._getAppointmentParts=function(e,t){},m._reduceMultiWeekAppointment=function(){},m.calculateAppointmentHeight=function(){return 0},m.calculateAppointmentWidth=function(){return 0},m.isAppointmentGreaterThan=function(e,t){},m.isAllDay=function(){return!1},m._sortCondition=function(){},m._rowCondition=function(e,t){},m._columnCondition=function(e,t){},m._findIndexByKey=function(e,t,n,i,o){},m._markAppointmentAsVirtual=function(){},m.getDropDownAppointmentWidth=function(){},m.getCollectorLeftOffset=function(){},m.getCollectorTopOffset=function(){},m.replaceWrongAppointmentEndDate=function(e,t,n){var i=(0,r.createAppointmentAdapter)(e,this.dataAccessors,this.timeZoneCalculator);(0,u.replaceWrongEndDate)(i,t,n,this.cellDuration,this.dataAccessors)},m.calculateRows=function(e,t,n,i){var l=this;this._rows=[],n=o.default.trimTime(new Date(n));var d=this.groupAppointmentByResources(e);return(0,a.each)(d,(function(e,o){var d=[],h={indexes:[],parts:[]};if(!o.length)return l._rows.push([]),!0;(0,a.each)(o,(function(e,t){var n=s.ExpressionUtils.getField(l.dataAccessors,\"startDate\",t),o=s.ExpressionUtils.getField(l.dataAccessors,\"endDate\",t);l.replaceWrongAppointmentEndDate(t,n,o),i&&delete t.settings;var a=l.instance.getAppointmentsInstance()._processRecurrenceAppointment(t,e,!1);h.parts=h.parts.concat(a.parts),h.indexes=h.indexes.concat(a.indexes)})),l.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(h.indexes,o),o.push.apply(o,c(h.parts));for(var f=o.length,p=0;p<t;p++){var g=new Date(n);g.setMilliseconds(g.getMilliseconds()+864e5*p),void 0===d[p]&&(d[p]=0);for(var m=0;m<f;m++){var _=o[m].settings||o[m],v=(0,r.createAppointmentAdapter)(o[m],l.dataAccessors,l.timeZoneCalculator),y=(0,u.getAppointmentTakesSeveralDays)(v),b=s.ExpressionUtils.getField(l.dataAccessors,\"recurrenceRule\",o[m]);(l.instance.fire(\"dayHasAppointment\",g,_,!0)||!b&&y&&l.instance.fire(\"dayHasAppointment\",g,o[m],!0))&&(d[p]+=1)}}l._rows.push(d)})),this._rows},m._iterateRow=function(e,t,n){for(var i=0;i<e.length;i++)if(t.counter+=e[i],t.counter>=n){t.indexInRow=i;break}},m.getDateByIndex=function(e,t,n){var i={counter:0,indexInRow:0};e++;for(var o=0;o<t.length&&(this._iterateRow(t[o],i,e),!i.indexInRow);o++);return new Date(new Date(n).setDate(n.getDate()+i.indexInRow))},m.getAppointmentDataCalculator=function(){var e=this;return function(t,n){var i=t.index(),o=e.instance.getStartViewDate(),a=e.getDateByIndex(i,e._rows,o),r=new Date(n);return{startDate:new Date(a.setHours(r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()))}}},d=i,(h=[{key:\"instance\",get:function(){return this.options.instance}},{key:\"agendaDuration\",get:function(){return this.options.agendaDuration}}])&&f(d.prototype,h),g&&f(d,g),Object.defineProperty(d,\"prototype\",{writable:!1}),i}(d(n(64173)).default);t.default=g},64173:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=f(n(91198)),o=n(13306),a=n(35922),r=n(96801),s=f(n(32511)),l=n(75811),u=n(72734),d=n(24099),c=f(n(66040)),h=f(n(72115));function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==p(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===p(a)?a:String(a)),i)}var o,a}var _=i.default.dateToMilliseconds,v=function(){function e(e){this.options=e,this._initPositioningStrategy()}var t,n,f,p=e.prototype;return p._correctCollectorCoordinatesInAdaptive=function(e,t){e.top+=this.getCollectorTopOffset(t),e.left+=this.getCollectorLeftOffset()},p._initPositioningStrategy=function(){this._positioningStrategy=this.isAdaptive?new c.default(this):new h.default(this)},p.getPositioningStrategy=function(){return this._positioningStrategy},p.getAppointmentMinSize=function(){return 2},p.keepAppointmentSettings=function(){return!1},p.getDeltaTime=function(e,t,n){},p.getAppointmentGeometry=function(e){return e},p.needCorrectAppointmentDates=function(){return!0},p.getDirection=function(){return\"horizontal\"},p.createTaskPositionMap=function(e,t){var n=this;delete this._maxAppointmentCountPerCell;var i=null==e?void 0:e.length;if(i){for(var o=[],a=0;a<i;a++){var r=this._getItemPosition(e[a]);r.length&&this.rtlEnabled&&(r=this._correctRtlCoordinates(r)),r.forEach((function(e){e.leftVirtualCellCount=n.leftVirtualCellCount,e.topVirtualCellCount=n.topVirtualCellCount,e.leftVirtualWidth=n.leftVirtualCellCount*n.cellWidth,e.topVirtualHeight=n.topVirtualCellCount*n.cellHeight})),o.push(r)}var s=this._getSortedPositions(o),l=this._getResultPositions(s);return this._getExtendedPositionMap(o,l)}},p._getDeltaWidth=function(e,t){var n=this.resizableStep||this.getAppointmentMinSize(),i=t.width;return Math.round((e.width-i)/n)},p._correctRtlCoordinates=function(e){var t=e[0].width||this._getAppointmentMaxWidth();return e.forEach((function(e){e.appointmentReduced||(e.left-=t)})),e},p._getAppointmentMaxWidth=function(){return this.cellWidth},p._getItemPosition=function(e){for(var t=this.generateAppointmentSettings(e),n=this.isAllDay(e),i=[],a=0;a<t.length;a++){var r=this.calculateAppointmentHeight(e,t[a]),s=this.calculateAppointmentWidth(e,t[a]),l=s,u=null,d=[],c=t[a].rowIndex,h=t[a].columnIndex;if(this._needVerifyItemSize()||n){var f=t[a].hMax;this.isAppointmentGreaterThan(f,{left:t[a].left,width:s})&&(u=\"head\",c=t[a].rowIndex,h=t[a].columnIndex,l=this._reduceMultiWeekAppointment(s,{left:t[a].left,right:f}),d=this._getAppointmentParts({sourceAppointmentWidth:s,reducedWidth:l,height:r},t[a]),this.rtlEnabled&&(t[a].left=f))}(0,o.extend)(t[a],{height:r,width:l,allDay:n,rowIndex:c,columnIndex:h,appointmentReduced:u}),i=this._getAppointmentPartsPosition(d,t[a],i)}return i},p._getAppointmentPartsPosition=function(e,t,n){return e.length?(e.unshift(t),n=n.concat(e)):n.push(t),n},p.getAppointmentSettingsGenerator=function(e){return new d.AppointmentSettingsGenerator(g({rawAppointment:e,appointmentTakesAllDay:this.isAppointmentTakesAllDay(e),getPositionShiftCallback:this.getPositionShift.bind(this)},this.options))},p.generateAppointmentSettings=function(e){return this.getAppointmentSettingsGenerator(e).create()},p.isAppointmentTakesAllDay=function(e){var t=(0,u.createAppointmentAdapter)(e,this.dataAccessors,this.timeZoneCalculator);return(0,r.getAppointmentTakesAllDay)(t,this.viewStartDayHour,this.viewEndDayHour,this.allDayPanelMode)},p._getAppointmentParts=function(e,t){return[]},p._getCompactAppointmentParts=function(e){var t=this.cellWidth||this.getAppointmentMinSize();return Math.round(e/t)},p._reduceMultiWeekAppointment=function(e,t){return this.rtlEnabled?Math.floor(t.left-t.right):t.right-Math.floor(t.left)},p.calculateAppointmentHeight=function(e,t){return 0},p.calculateAppointmentWidth=function(e,t){return 0},p.isAppointmentGreaterThan=function(e,t){var n=t.left+t.width-e;return this.rtlEnabled&&(n=e+t.width-t.left),n>this.cellWidth/2},p.isAllDay=function(e){return!1},p.cropAppointmentWidth=function(e,t){return this.isGroupedByDate?t:e},p._getSortedPositions=function(e,t){for(var n=this,i=[],o=function(e){return Math.round(100*e)/100},a=function(e,t,n,i,a,r,s,l){return{i:e,j:t,top:o(n),left:o(i),bottom:o(a),right:o(r),cellPosition:s,allDay:l}},r=0,s=e.length;r<s;r++)for(var l=0,u=e[r].length;l<u;l++){var d=e[r][l],c=d.top,h=d.left,f=d.height,p=d.width,g=d.cellPosition,m=d.allDay;i.push(a(r,l,c,h,c+f,h+p,g,m))}return i.sort((function(e,t){return n._sortCondition(e,t)}))},p._sortCondition=function(e,t){},p._getConditions=function(e,t){var n=this._isSomeEdge(e,t);return{columnCondition:n||this._normalizeCondition(e.left,t.left),rowCondition:n||this._normalizeCondition(e.top,t.top),cellPositionCondition:n||this._normalizeCondition(e.cellPosition,t.cellPosition)}},p._rowCondition=function(e,t){var n=this._getConditions(e,t);return n.columnCondition||n.rowCondition},p._columnCondition=function(e,t){var n=this._getConditions(e,t);return n.rowCondition||n.columnCondition},p._isSomeEdge=function(e,t){return e.i===t.i&&e.j===t.j},p._normalizeCondition=function(e,t){var n=e-t;return Math.abs(n)>1?n:0},p._isItemsCross=function(e,t){var n=!!e.allDay==!!t.allDay,i=e.allDay&&t.allDay;if(n){var o=this._getOrientation(i);return this._checkItemsCrossing(e,t,o)}return!1},p._checkItemsCrossing=function(e,t,n){var i=Math.floor(e[n[0]]),o=Math.floor(e[n[1]]),a=Math.ceil(t[n[0]]),r=Math.ceil(t[n[1]]);return Math.abs(e[n[2]]-t[n[2]])<=1&&(i<=a&&o>a||i<r&&o>=r||i===a&&o===r)},p._getOrientation=function(e){return e?[\"left\",\"right\",\"top\"]:[\"top\",\"bottom\",\"left\"]},p._getResultPositions=function(e){var t,n,i,o,a=this,r=[],s=0,l=0,u={},d=function e(t,n){return t.some((function(e){return e===n}))?e(t,++n):n},c=function(e,t){var n=t||0;return{index:n,i:e.i,j:e.j,left:e.left,right:e.right,top:e.top,bottom:e.bottom,allDay:e.allDay,sortedIndex:a._skipSortedIndex(n)?null:s++}},h=function(e){u.items=[c(e)],u.left=e.left,u.right=e.right,u.top=e.top,u.bottom=e.bottom,u.allDay=e.allDay},f=function(e){e.forEach((function(e){r.push({index:e.index,count:l+1,i:e.i,j:e.j,sortedIndex:e.sortedIndex})}))};for(t=0;t<e.length;t++)n=e[t],i=[],u.items?this._isItemsCross(u,n)?(u.items.forEach((function(e){a._isItemsCross(e,n)&&i.push(e.index)})),o=i.length?d(i,0):0,u.items.push(c(n,o)),l=Math.max(o,l),u.left=Math.min(u.left,n.left),u.right=Math.max(u.right,n.right),u.top=Math.min(u.top,n.top),u.bottom=Math.max(u.bottom,n.bottom),u.allDay=n.allDay):(f(u.items),u={},h(n),l=0):h(n);return u.items&&f(u.items),r.sort((function(e,t){var n=e.j-t.j;return e.i-t.i||n}))},p._skipSortedIndex=function(e){return e>this._getMaxAppointmentCountPerCell()-1},p._findIndexByKey=function(e,t,n,i,o){for(var a=0,r=0,s=e.length;r<s;r++)if(e[r][t]===i&&e[r][n]===o){a=r;break}return a},p._getExtendedPositionMap=function(e,t){for(var n=0,i=[],o=0,a=e.length;o<a;o++){for(var r=[],s=0,l=e[o].length;s<l;s++)e[o][s].index=t[n].index,e[o][s].sortedIndex=t[n].sortedIndex,e[o][s].count=t[n++].count,r.push(e[o][s]),this._checkLongCompactAppointment(e[o][s],r);i.push(r)}return i},p._checkLongCompactAppointment=function(e,t){return this._splitLongCompactAppointment(e,t),t},p._splitLongCompactAppointment=function(e,t){var n=this._getMaxAppointmentCountPerCellByType(e.allDay),i=0;if(void 0!==n&&e.index>n-1){e.isCompact=!0,i=this._getCompactAppointmentParts(e.width);for(var a=1;a<i;a++){var r=(0,o.extend)(!0,{},e);r.left=this._getCompactLeftCoordinate(e.left,a),r.columnIndex+=a,r.sortedIndex=null,t.push(r)}}return t},p._adjustDurationByDaylightDiff=function(e,t,n){var i=s.default.getDaylightOffset(t,n);return this._needAdjustDuration(i)?this._calculateDurationByDaylightDiff(e,i):e},p._needAdjustDuration=function(e){return 0!==e},p._calculateDurationByDaylightDiff=function(e,t){return e+t*_(\"minute\")},p._getCollectorLeftOffset=function(e){if(e||!this.isApplyCompactAppointmentOffset())return 0;var t=this.getDropDownAppointmentWidth(this.intervalCount,e),n=this._isCompactTheme()?1:5;return this.cellWidth-t-n},p._markAppointmentAsVirtual=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this._getMaxAppointmentCountPerCellByType(t);if(e.count-n>0){var i=e.top,o=e.left,a=this.isAdaptive||!t&&this.supportCompactDropDownAppointments();e.virtual={left:o+this._getCollectorLeftOffset(t),top:i,width:this.getDropDownAppointmentWidth(this.intervalCount,t),height:this.getDropDownAppointmentHeight(),index:this._generateAppointmentCollectorIndex(e,t),isAllDay:t,groupIndex:e.groupIndex,isCompact:a}}},p.isApplyCompactAppointmentOffset=function(){return this.supportCompactDropDownAppointments()},p.supportCompactDropDownAppointments=function(){return!0},p._generateAppointmentCollectorIndex=function(e,t){var n=e.groupIndex,i=e.rowIndex,o=e.columnIndex;return\"\".concat(n,\"-\").concat(i,\"-\").concat(o,\"-\").concat(t)},p._getMaxAppointmentCountPerCellByType=function(e){var t=this._getMaxAppointmentCountPerCell();return(0,a.isObject)(t)?e?t.allDay:t.simple:t},p.getDropDownAppointmentWidth=function(e,t){return this.getPositioningStrategy().getDropDownAppointmentWidth(e,t)},p.getDropDownAppointmentHeight=function(){return this.getPositioningStrategy().getDropDownAppointmentHeight()},p.getDropDownButtonAdaptiveSize=function(){return 28},p.getCollectorTopOffset=function(e){return this.getPositioningStrategy().getCollectorTopOffset(e)},p.getCollectorLeftOffset=function(){return this.getPositioningStrategy().getCollectorLeftOffset()},p.getAppointmentDataCalculator=function(){},p.getVerticalAppointmentHeight=function(e,t,n){var i=n;if((0,a.isNumeric)(this.maxAppointmentsPerCell)){var o=this._getDynamicAppointmentCountPerCell(),r=o.allDay||o,s=Math.max(t,r);i=Math.min(s,n)}return e/i},p._customizeCoordinates=function(e,t,n,i,o){var a=e.index,r=e.count,s=this.getVerticalAppointmentHeight(t,r,n),l=e.top+a*s+i,u=e.width,d=e.left;return e.isCompact&&(this.isAdaptive&&this._correctCollectorCoordinatesInAdaptive(e,o),this._markAppointmentAsVirtual(e,o)),{height:s,width:u,top:l,left:d,empty:this._isAppointmentEmpty(t,u)}},p._isAppointmentEmpty=function(e,t){return e<this._getAppointmentMinHeight()||t<this._getAppointmentMinWidth()},p._calculateGeometryConfig=function(e){var t=this.maxAppointmentsPerCell,n=this._getOffsets(),i=this._getAppointmentDefaultOffset(),o=this._getAppointmentCount(t,e),r=this._getDefaultRatio(e,o),s=this._getMaxHeight();(0,a.isNumeric)(o)||(o=e.count,r=(s-n.unlimited)/s);var l=(1-r)*s;return(\"auto\"===t||(0,a.isNumeric)(t))&&(r=1,s-=i,l=i),{height:r*s,appointmentCountPerCell:o,offset:l}},p._getAppointmentCount=function(e,t){},p._getDefaultRatio=function(e,t){},p._getOffsets=function(){},p._getMaxHeight=function(){},p._needVerifyItemSize=function(){return!1},p._getMaxAppointmentCountPerCell=function(){if(!this._maxAppointmentCountPerCell){var e,t=this.maxAppointmentsPerCell;(0,a.isNumeric)(t)&&(e=t),\"auto\"===t&&(e=this._getDynamicAppointmentCountPerCell()),\"unlimited\"===t&&(e=void 0),this._maxAppointmentCountPerCell=e}return this._maxAppointmentCountPerCell},p._getDynamicAppointmentCountPerCell=function(){return this.getPositioningStrategy().getDynamicAppointmentCountPerCell()},p.allDaySupported=function(){return!1},p._isCompactTheme=function(){return\"compact\"===((0,l.current)()||\"\").split(\".\").pop()},p._getAppointmentDefaultOffset=function(){return this.getPositioningStrategy().getAppointmentDefaultOffset()},p._getAppointmentDefaultHeight=function(){return this._getAppointmentHeightByTheme()},p._getAppointmentMinHeight=function(){return this._getAppointmentDefaultHeight()},p._getAppointmentHeightByTheme=function(){return this._isCompactTheme()?18:20},p._getAppointmentDefaultWidth=function(){return this.getPositioningStrategy()._getAppointmentDefaultWidth()},p._getAppointmentMinWidth=function(){return this._getAppointmentDefaultWidth()},p._needVerticalGroupBounds=function(e){return!1},p._needHorizontalGroupBounds=function(){return!1},p.getAppointmentDurationInMs=function(e,t,n){if(n){var o=t.getTime()-e.getTime();return Math.ceil(o/_(\"day\"))*this.visibleDayDuration}var a=_(\"hour\"),r=i.default.trimTime(e),s=i.default.trimTime(t),l=(s-r)/_(\"day\")+1,u=this.endDayHour-this.startDayHour,d=u*l,c=(e-r)/a,h=Math.max(0,c-this.startDayHour),f=Math.max(0,(t-s)/a-this.startDayHour);return(d-(h+Math.max(0,u-f)))*a},p.getPositionShift=function(e,t){return{top:e*this.cellHeight,left:0,cellPosition:0}},t=e,(n=[{key:\"isAdaptive\",get:function(){return this.options.adaptivityEnabled}},{key:\"rtlEnabled\",get:function(){return this.options.rtlEnabled}},{key:\"startDayHour\",get:function(){return this.options.startDayHour}},{key:\"endDayHour\",get:function(){return this.options.endDayHour}},{key:\"maxAppointmentsPerCell\",get:function(){return this.options.maxAppointmentsPerCell}},{key:\"cellWidth\",get:function(){return this.options.cellWidth}},{key:\"cellHeight\",get:function(){return this.options.cellHeight}},{key:\"allDayHeight\",get:function(){return this.options.allDayHeight}},{key:\"resizableStep\",get:function(){return this.options.resizableStep}},{key:\"isGroupedByDate\",get:function(){return this.options.isGroupedByDate}},{key:\"visibleDayDuration\",get:function(){return this.options.visibleDayDuration}},{key:\"viewStartDayHour\",get:function(){return this.options.viewStartDayHour}},{key:\"viewEndDayHour\",get:function(){return this.options.viewEndDayHour}},{key:\"cellDuration\",get:function(){return this.options.cellDuration}},{key:\"cellDurationInMinutes\",get:function(){return this.options.cellDurationInMinutes}},{key:\"leftVirtualCellCount\",get:function(){return this.options.leftVirtualCellCount}},{key:\"topVirtualCellCount\",get:function(){return this.options.topVirtualCellCount}},{key:\"positionHelper\",get:function(){return this.options.positionHelper}},{key:\"showAllDayPanel\",get:function(){return this.options.showAllDayPanel}},{key:\"isGroupedAllDayPanel\",get:function(){return this.options.isGroupedAllDayPanel}},{key:\"groupOrientation\",get:function(){return this.options.groupOrientation}},{key:\"rowCount\",get:function(){return this.options.rowCount}},{key:\"groupCount\",get:function(){return this.options.groupCount}},{key:\"currentDate\",get:function(){return this.options.currentDate}},{key:\"appointmentCountPerCell\",get:function(){return this.options.appointmentCountPerCell}},{key:\"appointmentOffset\",get:function(){return this.options.appointmentOffset}},{key:\"allowResizing\",get:function(){return this.options.allowResizing}},{key:\"allowAllDayResizing\",get:function(){return this.options.allowAllDayResizing}},{key:\"viewDataProvider\",get:function(){return this.options.viewDataProvider}},{key:\"dataAccessors\",get:function(){return this.options.dataAccessors}},{key:\"timeZoneCalculator\",get:function(){return this.options.timeZoneCalculator}},{key:\"intervalCount\",get:function(){return this.options.intervalCount}},{key:\"allDayPanelMode\",get:function(){return this.options.allDayPanelMode}},{key:\"isVirtualScrolling\",get:function(){return this.options.isVirtualScrolling}}])&&m(t.prototype,n),f&&m(t,f),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=v},50323:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=s(n(91198)),o=s(n(37009)),a=n(30906),r=s(n(64173));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=i.default.dateToMilliseconds,d=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var r=i.prototype;return r._needVerifyItemSize=function(){return!0},r.calculateAppointmentWidth=function(e,t){var n=this.cellWidth||this.getAppointmentMinSize(),i=a.ExpressionUtils.getField(this.dataAccessors,\"allDay\",e),r=t.info.appointment.startDate,s=t.info.appointment.endDate,l=t.info.appointment.normalizedEndDate,d=this.getAppointmentDurationInMs(r,l,i);d=this._adjustDurationByDaylightDiff(d,r,l);var c=this.cellDurationInMinutes*u(\"minute\"),h=(d-(0,o.default)(r,s,this.viewDataProvider)*u(\"hour\"))/c;return this.cropAppointmentWidth(h*n,n)},r._needAdjustDuration=function(e){return e<0},r.getAppointmentGeometry=function(t){var n=this._customizeAppointmentGeometry(t);return e.prototype.getAppointmentGeometry.call(this,n)},r._customizeAppointmentGeometry=function(e){var t=this._calculateGeometryConfig(e);return this._customizeCoordinates(e,t.height,t.appointmentCountPerCell,t.offset)},r._getOffsets=function(){return{unlimited:0,auto:0}},r._getCompactLeftCoordinate=function(e,t){return e+(this.cellWidth||this.getAppointmentMinSize())*t},r._getMaxHeight=function(){return this.cellHeight||this.getAppointmentMinSize()},r._getAppointmentCount=function(e,t){return this._getMaxAppointmentCountPerCellByType(!1)},r._getAppointmentDefaultHeight=function(){return 60},r._getAppointmentMinHeight=function(){return 35},r._sortCondition=function(e,t){return this._columnCondition(e,t)},r._getOrientation=function(){return[\"left\",\"right\",\"top\"]},r.getDropDownAppointmentWidth=function(e,t){return this.cellWidth-4},r.getDeltaTime=function(e,t){var n=e.width-t.width;return u(\"minute\")*Math.round(n/this.cellWidth*this.cellDurationInMinutes)},r.isAllDay=function(e){return a.ExpressionUtils.getField(this.dataAccessors,\"allDay\",e)},r._isItemsCross=function(e,t){var n=this._getOrientation();return this._checkItemsCrossing(e,t,n)},r.getPositionShift=function(t){var n=e.prototype.getPositionShift.call(this,t),i=this.cellWidth*t;return this.rtlEnabled&&(i*=-1),{top:0,left:i+=n.left,cellPosition:i}},r.supportCompactDropDownAppointments=function(){return!1},i}(r.default);t.default=d},92888:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=s(n(91198)),a=n(94654),r=s(n(24049));function s(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e,t)||function(){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 d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=o.default.dateToMilliseconds,p=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var o,r,s,d=i.prototype;return d._getLeftPosition=function(e){var t=this.getGroupWidth(e.groupIndex);return this._calculateMultiWeekAppointmentLeftOffset(e.hMax,t)},d._getChunkCount=function(e,t,n,i){var o=i.groupIndex,a=i.info.appointment.startDate,r=e-t+n,s=Math.ceil(r/n),l=this._tryGetRowIndexInView(a);if(void 0!==l){var u=this.viewDataProvider.getRowCountInGroup(o)-l;return s<=u?s:u}return s},d._tryGetRowIndexInView=function(e){var t,n=this.viewDataProvider.getColumnsCount();if(!((null===(t=this.options.dataRange)||void 0===t?void 0:t.length)<1)&&n){var i=u(this.options.dateRange,1)[0],o=f(\"day\"),a=e.getTime()-i.getTime();return Math.floor(a/o/n)}},d._getChunkWidths=function(e,t,n){var i=e.reducedWidth,o=Math.floor(e.sourceAppointmentWidth);return[i,o,o-i]},d._getTailChunkSettings=function(e,t,n){var i=e%t||t,o=n+(t-i);return[i,this.rtlEnabled?o:n]},d._getAppointmentParts=function(e,t){for(var n=[],i=Math.round(this.getGroupWidth(t.groupIndex)),o=u(this._getChunkWidths(e,t,i),3),a=o[0],r=o[1],s=o[2],d=this._getLeftPosition(t),c=this.endViewDate>t.info.appointment.endDate,h=this._getChunkCount(r,a,i,t),f=u(this._getTailChunkSettings(s,i,d),2),p=f[0],g=f[1],m=1;m<h;m++){var _=t.top+this.cellHeight*m,v=c&&m===h-1;n.push(l(l({},t),{top:_,left:v?g:d,height:e.height,width:v?p:i,appointmentReduced:v?\"tail\":\"body\",rowIndex:++t.rowIndex,columnIndex:0}))}return n},d._calculateMultiWeekAppointmentLeftOffset=function(e,t){return this.rtlEnabled?e:e-t},d.getGroupWidth=function(e){return(0,a.getGroupWidth)(e,this.viewDataProvider,{intervalCount:this.options.intervalCount,currentDate:this.options.currentDate,viewType:this.options.viewType,hoursInterval:this.options.hoursInterval,startDayHour:this.options.startDayHour,endDayHour:this.options.endDayHour,isVirtualScrolling:this.isVirtualScrolling,rtlEnabled:this.rtlEnabled,DOMMetaData:this.DOMMetaData})},d._getAppointmentDefaultHeight=function(){return this._getAppointmentHeightByTheme()},d._getAppointmentMinHeight=function(){return this._getAppointmentDefaultHeight()},d._columnCondition=function(e,t){var n=this._getConditions(e,t);return n.rowCondition||n.columnCondition||n.cellPositionCondition},d.createTaskPositionMap=function(t){return e.prototype.createTaskPositionMap.call(this,t,!0)},d._getSortedPositions=function(t){return e.prototype._getSortedPositions.call(this,t,!0)},d._getDefaultRatio=function(){return.6},d._getOffsets=function(){return{unlimited:26,auto:30}},d.getDropDownAppointmentWidth=function(e,t){if(this.adaptivityEnabled)return this.getDropDownButtonAdaptiveSize();var n=e>1?60:36;return this.cellWidth-n},d.needCorrectAppointmentDates=function(){return!1},d._needVerticalGroupBounds=function(){return!1},d._needHorizontalGroupBounds=function(){return!0},d.getPositionShift=function(e){return{cellPosition:e*this.cellWidth,top:0,left:0}},o=i,(r=[{key:\"endViewDate\",get:function(){return this.options.endViewDate}},{key:\"adaptivityEnabled\",get:function(){return this.options.adaptivityEnabled}},{key:\"DOMMetaData\",get:function(){return this.options.DOMMetaData}}])&&c(o.prototype,r),s&&c(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.default);t.default=p},24049:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=s(n(91198)),o=s(n(96687)),a=n(55523),r=s(n(50323));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=r.prototype;return s.calculateAppointmentWidth=function(e,t){var n=i.default.trimTime(t.info.appointment.startDate),o=t.info.appointment.normalizedEndDate,a=this.cellWidth||this.getAppointmentMinSize(),r=Math.ceil(this._getDurationInDays(n,o)),s=this.cropAppointmentWidth(r*a,a);this.isVirtualScrolling&&(s-=this.viewDataProvider.getSkippedDaysCount(t.groupIndex,n,o,r)*a);return s},s._getDurationInDays=function(e,t){return this._adjustDurationByDaylightDiff(t.getTime()-e.getTime(),e,t)/i.default.dateToMilliseconds(\"day\")||1},s.getDeltaTime=function(e,t){return 864e5*this._getDeltaWidth(e,t)},s.isAllDay=function(){return!1},s.createTaskPositionMap=function(t,n){return n||(0,a.sortAppointmentsByStartDate)(t,this.dataAccessors),e.prototype.createTaskPositionMap.call(this,t)},s._getSortedPositions=function(t,n){var i=e.prototype._getSortedPositions.call(this,t);return n||(i=(0,o.default)(i).sortBy(\"top\").thenBy(\"left\").thenBy(\"cellPosition\").thenBy(\"i\").toArray()),i},s.needCorrectAppointmentDates=function(){return!1},s.getPositionShift=function(e){return{top:0,left:0,cellPosition:0}},r}(r.default);t.default=u},20523:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=f(n(91198)),o=n(13306),a=n(60810),r=n(35922),s=n(96801),l=f(n(37009)),u=f(n(32511)),d=n(72734),c=n(30906),h=f(n(64173));function f(e){return e&&e.__esModule?e:{default:e}}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m=i.default.dateToMilliseconds,_=function(e){var t,n;function h(){return e.apply(this,arguments)||this}n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var f=h.prototype;return f.getDeltaTime=function(e,t,n){var i=0;if(this.isAllDay(n))i=this._getDeltaWidth(e,t)*m(\"day\");else{var o=e.height-t.height;i=m(\"minute\")*Math.round(o/this.cellHeight*this.cellDurationInMinutes)}return i},f._correctCollectorCoordinatesInAdaptive=function(t,n){if(n)e.prototype._correctCollectorCoordinatesInAdaptive.call(this,t,n);else if(0===this._getMaxAppointmentCountPerCellByType()){var i=this.cellHeight,o=this.cellWidth;t.top+=(i-this.getDropDownButtonAdaptiveSize())/2,t.left+=(o-this.getDropDownButtonAdaptiveSize())/2}},f.getAppointmentGeometry=function(t){var n=null;return n=t.allDay?this._getAllDayAppointmentGeometry(t):this.isAdaptive&&t.isCompact?this._getAdaptiveGeometry(t):this._getVerticalAppointmentGeometry(t),e.prototype.getAppointmentGeometry.call(this,n)},f._getAdaptiveGeometry=function(e){var t=this._calculateGeometryConfig(e);return this._customizeCoordinates(e,t.height,t.appointmentCountPerCell,t.offset)},f._getItemPosition=function(t){var n=this.isAllDay(t);if(n)return e.prototype._getItemPosition.call(this,t);for(var a=(0,d.createAppointmentAdapter)(t,this.dataAccessors,this.timeZoneCalculator),r=!!a.recurrenceRule,s=a.calculateStartDate(\"toGrid\"),l=a.calculateEndDate(\"toGrid\"),c=l-s,h=this.options.startViewDate<s,f=!u.default.isSameAppointmentDates(s,l),p=this.generateAppointmentSettings(t),g=[],m=0;m<p.length;m++){var _=p[m],v=this.calculateAppointmentHeight(t,_),y=this.calculateAppointmentWidth(t,_),b=v,x=null,w=[],C=_.vMax;if(this._isMultiViewAppointment(_,v)||f&&!r){(i.default.trimTime(s)<=i.default.trimTime(_.info.appointment.startDate)||r)&&(b=this._reduceMultiDayAppointment(v,{top:_.top,bottom:C}),w=this._getAppointmentParts({sourceAppointmentHeight:v,reducedHeight:b,width:y},_));var S=_.info.appointment,k=S.startDate;x=S.normalizedEndDate-k<c?h?\"head\":\"body\":h?\"head\":\"tail\"}(0,o.extend)(_,{height:b,width:y,allDay:n,appointmentReduced:x}),g=this._getAppointmentPartsPosition(w,_,g)}return g},f._isMultiViewAppointment=function(e,t){var n=e.vMax,i=e.top;return(0,a.roundFloatPart)(t,2)>(0,a.roundFloatPart)(n-i,2)},f._reduceMultiDayAppointment=function(e,t){return Math.min(e,t.bottom-Math.floor(t.top))},f._getGroupHeight=function(){return this.cellHeight*this.rowCount},f._getGroupTopOffset=function(e){var t=e.groupIndex,n=Math.max(0,this.positionHelper.getGroupTop({groupIndex:t,showAllDayPanel:this.showAllDayPanel,isGroupedAllDayPanel:this.isGroupedAllDayPanel})),i=this.positionHelper.getOffsetByAllDayPanel({groupIndex:t,supportAllDayRow:this.allDaySupported(),showAllDayPanel:this.showAllDayPanel});return e.top-n-i},f._getTailHeight=function(e,t){return this.isVirtualScrolling?this._getGroupTopOffset(t)+e.sourceAppointmentHeight-this._getGroupHeight():e.sourceAppointmentHeight-e.reducedHeight},f._getAppointmentParts=function(e,t){var n=e.width,i=[],o=Math.max(0,this.positionHelper.getGroupTop({groupIndex:t.groupIndex,showAllDayPanel:this.showAllDayPanel,isGroupedAllDayPanel:this.isGroupedAllDayPanel})),a=this.isGroupedByDate?this.groupCount:1,r=this.cellWidth*a;o+=this.positionHelper.getOffsetByAllDayPanel({groupIndex:t.groupIndex,supportAllDayRow:this.allDaySupported(),showAllDayPanel:this.showAllDayPanel});for(var s=this.getAppointmentMinSize(),l=t.vMax,u=t.hMax,d=this.options.endViewDate>t.info.appointment.endDate,c=Math.round(t.left+r),h=this._getTailHeight(e,t);h>0&&c<u;){h=Math.max(s,h);var f=t.columnIndex+a,g=Math.min(h,l);i.push(p(p({},t),{top:o,left:c,height:g,width:n,appointmentReduced:\"body\",rowIndex:0,columnIndex:f})),c+=r,h-=l}return d&&i.length>0&&(i[i.length-1].appointmentReduced=\"tail\"),i},f._getMinuteHeight=function(){return this.cellHeight/this.cellDurationInMinutes},f._getCompactLeftCoordinate=function(e,t){return e+(1+(this.cellWidth||this.getAppointmentMinSize()))*t},f._getVerticalAppointmentGeometry=function(e){var t=this._calculateVerticalGeometryConfig(e);return this._customizeVerticalCoordinates(e,t.width,t.appointmentCountPerCell,t.offset)},f._customizeVerticalCoordinates=function(e,t,n,i,o){var a=Math.max(t/n,t/e.count),r=e.height,s=e.left+e.index*a,l=e.top;return e.isCompact&&this._markAppointmentAsVirtual(e,o),{height:r,width:a,top:l,left:s,empty:this._isAppointmentEmpty(r,t)}},f._calculateVerticalGeometryConfig=function(e){var t=this.maxAppointmentsPerCell,n=this._getOffsets(),i=this._getAppointmentDefaultOffset(),o=this._getAppointmentCount(t,e),a=this._getDefaultRatio(e,o),s=this._getMaxWidth();o||(o=e.count,a=(s-n.unlimited)/s);var l=(1-a)*s;return(\"auto\"===t||(0,r.isNumeric)(t))&&(a=1,s-=i,l=0),{width:a*s,appointmentCountPerCell:o,offset:l}},f._getMaxWidth=function(){return this.cellWidth},f.isAllDay=function(e){return(0,s.getAppointmentTakesAllDay)((0,d.createAppointmentAdapter)(e,this.dataAccessors,this.timeZoneCalculator),this.startDayHour,this.endDayHour,this.allDayPanelMode)},f._getAppointmentMaxWidth=function(){return this.cellWidth-this._getAppointmentDefaultOffset()},f.calculateAppointmentWidth=function(e,t){if(!this.isAllDay(e))return 0;var n=i.default.trimTime(t.info.appointment.startDate),o=t.info.appointment.normalizedEndDate,a=this.cellWidth||this.getAppointmentMinSize(),r=(o.getTime()-n.getTime())/m(\"hour\"),s=(0,l.default)(t.info.appointment.startDate,t.info.appointment.endDate,this.viewDataProvider),u=Math.ceil((r-s)/24)*a;return u=this.cropAppointmentWidth(u,a)},f.calculateAppointmentHeight=function(e,t){if(this.isAllDay(e))return 0;var n=t.info.appointment.startDate,i=t.info.appointment.normalizedEndDate,o=c.ExpressionUtils.getField(this.dataAccessors,\"allDay\",e),a=this.getAppointmentDurationInMs(n,i,o);return this._adjustDurationByDaylightDiff(a,n,i)/m(\"minute\")*this._getMinuteHeight()},f.getDirection=function(){return\"vertical\"},f._sortCondition=function(e,t){if(!!e.allDay!=!!t.allDay)return e.allDay?1:-1;var n=e.allDay&&t.allDay;return\"vertical\"===this.groupOrientation&&n?this._columnCondition(e,t):this._rowCondition(e,t)},f.allDaySupported=function(){return!0},f._getAllDayAppointmentGeometry=function(e){var t=this._calculateGeometryConfig(e);return this._customizeCoordinates(e,t.height,t.appointmentCountPerCell,t.offset,!0)},f._calculateGeometryConfig=function(t){this.allowResizing&&this.allowAllDayResizing||(t.skipResizing=!0);var n=e.prototype._calculateGeometryConfig.call(this,t),i=Math.min(n.appointmentCountPerCell,this._getDynamicAppointmentCountPerCell().allDay);return t.allDay&&t.count<=i&&(n.offset=0),n},f._getAppointmentCount=function(e,t){return\"auto\"===e||1!==t.count||(0,r.isNumeric)(e)?this._getMaxAppointmentCountPerCellByType(t.allDay):t.count},f._getDefaultRatio=function(e,t){return e.count>this.appointmentCountPerCell?.65:1},f._getOffsets=function(){return{unlimited:5,auto:20}},f._getMaxHeight=function(){return this.allDayHeight||this.getAppointmentMinSize()},f._needVerticalGroupBounds=function(e){return!e},f._needHorizontalGroupBounds=function(){return!1},f.getPositionShift=function(t,n){return!n&&this.isAdaptive&&0===this._getMaxAppointmentCountPerCellByType(n)?{top:0,left:0,cellPosition:0}:e.prototype.getPositionShift.call(this,t,n)},h}(h.default);t.default=_},25410:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n),i.prototype.isApplyCompactAppointmentOffset=function(){return(!this.isAdaptive||0!==this._getMaxAppointmentCountPerCellByType())&&this.supportCompactDropDownAppointments()},i}(((i=n(20523))&&i.__esModule?i:{default:i}).default);t.default=a},71687:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getAppointmentDateRange=void 0;var i=n(72191);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var a=function(e){var t=e.cellHeight,n=e.cellWidth,i=e.viewDataProvider,o=e.relativeAppointmentRect,a=e.appointmentSettings,r=e.rtlEnabled,s=Math.floor(o.top/t),l=Math.round(o.left/n);return i.getCellData(s,l,a.allDay,r)};t.getAppointmentDateRange=function(e){var t,n,r,s,l,u,d=e.appointmentSettings,c=(t=e.appointmentRect,n=e.parentAppointmentRect,r=t.left-n.left,s=t.top-n.top,l=r<0?t.width+r:t.width,u=s<0?t.height+s:t.height,{left:Math.max(0,r),top:Math.max(0,s),width:l,height:u}),h=function(e){var t=e.appointmentSettings,n=e.isVerticalGroupedWorkSpace,i=e.DOMMetaData,o=t.allDay&&!n?[i.allDayPanelCellsMeta]:i.dateTableCellsMeta,a=t.positionByMap,r=o[a.rowIndex][a.columnIndex],s=r.height;return{cellWidth:r.width,cellHeight:s,cellCountInRow:o[a.rowIndex].length}}(e),f=!e.isDateAndTimeView||d.allDay,p=o(o(o({},e),h),{considerTime:f,relativeAppointmentRect:c});return e.rtlEnabled?function(e){var t=e.viewDataProvider,n=e.cellCountInRow,o=e.appointmentSettings,r=e.handles,s=e.cellWidth,l=e.relativeAppointmentRect,u=a(e),d=o.info,c=d.allDay,h=d.sourceAppointment;if(r.right){var f=u.index,p=f-Math.round(l.width/s)+1,g=Math.floor(f/n),m=t.getCellData(g,p,c,!0);return{startDate:(0,i.normalizeStartDate)(e,m.startDate,h.endDate),endDate:h.endDate}}var _=e.considerTime?u.startDate:u.endDate;return _=(0,i.normalizeEndDate)(e,_,h.endDate),{startDate:h.startDate,endDate:_}}(p):function(e){var t=e.cellWidth,n=e.cellCountInRow,o=e.relativeAppointmentRect,r=e.viewDataProvider,s=e.appointmentSettings,l=e.handles,u=a(e),d=Math.round(o.width/t),c=u.index+(d-1),h=s.info,f=h.allDay,p=h.sourceAppointment;if(l.left)return{startDate:(0,i.normalizeStartDate)(e,u.startDate,p.startDate),endDate:p.endDate};var g=Math.floor(c/n),m=c%n,_=r.getCellData(g,m,f),v=e.considerTime?_.startDate:_.endDate;return v=(0,i.normalizeEndDate)(e,v,p.endDate),{startDate:p.startDate,endDate:v}}(p)}},72191:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeStartDate=t.normalizeEndDate=void 0;var n=function(e,t,n,i){if(!e.considerTime)return t;var o=new Date(t);o.setHours(n.getHours(),n.getMinutes(),n.getSeconds());var a=e.startDayHour,r=e.endDayHour,s=e.appointmentSettings.allDay,l=new Date(t),u=new Date(t);l.setHours(a,0,0,0),u.setHours(r,0,0,0);var d=o.getTime();return(i?d<l.getTime()||d>=u.getTime():d<=l.getTime()||d>u.getTime())&&(o=s?l:u),o};t.normalizeStartDate=function(e,t,i){return n(e,t,i,!0)};t.normalizeEndDate=function(e,t,i){return n(e,t,i,!1)}},79427:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var a=i.prototype;return a.notifyObserver=function(e,t){var n=this.option(\"observer\");n&&n.fire(e,t)},a.invoke=function(){var e=this.option(\"observer\");if(e)return e.fire.apply(e,arguments)},i}(((i=n(14390))&&i.__esModule?i:{default:i}).default);t.default=a},20332:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=c(n(99393)),o=c(n(20530)),a=c(n(68374)),r=c(n(26559)),s=c(n(17287)),l=c(n(51495)),u=c(n(41183)),d=c(n(14390));function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var d=i.prototype;return d.show=function(e){this._isMobileLayout()||this._overlay.option(\"target\",e),this._overlay.show()},d.hide=function(){this._overlay.hide()},d._keyboardHandler=function(e){var t;null===(t=this._calendar)||void 0===t||t._keyboardHandler(e)},d._init=function(){e.prototype._init.call(this),this.$element()},d._render=function(){e.prototype._render.call(this),this._renderOverlay()},d._renderOverlay=function(){var e=this;this.$element().addClass(\"dx-scheduler-navigator-calendar-popover\");var t=this._isMobileLayout(),n=t?l.default:s.default;this._overlay=this._createComponent(this.$element(),n,{contentTemplate:function(){return e._createOverlayContent()},onShown:function(){return e._calendar.focus()},defaultOptionsRules:[{device:function(){return t},options:{fullScreen:!0,showCloseButton:!1,toolbarItems:[{shortcut:\"cancel\"}]}}]})},d._createOverlayContent=function(){var e=(0,a.default)(\"<div>\").addClass(\"dx-scheduler-navigator-calendar\");return this._calendar=this._createComponent(e,r.default,this._getCalendarOptions()),this._isMobileLayout()?this._createScrollable(e).$element():e},d._createScrollable=function(e){var t=this._createComponent(\"<div>\",u.default,{direction:\"vertical\"});return t.$content().append(e),t},d._optionChanged=function(e){var t,n=e.name,i=e.value;switch(n){case\"value\":null===(t=this._calendar)||void 0===t||t.option(\"value\",i)}},d._getCalendarOptions=function(){return{value:this.option(\"value\"),min:this.option(\"min\"),max:this.option(\"max\"),firstDayOfWeek:this.option(\"firstDayOfWeek\"),focusStateEnabled:this.option(\"focusStateEnabled\"),onValueChanged:this.option(\"onValueChanged\"),skipFocusCheck:!0,tabIndex:this.option(\"tabIndex\")}},d._isMobileLayout=function(){return!o.default.current().generic},i}(d.default);t.default=f,(0,i.default)(\"dxSchedulerCalendarPopup\",f)},76310:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDateNavigator=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(75811);function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var s=o.default.trimTime;t.getDateNavigator=function(e,t){return r({widget:\"dxButtonGroup\",cssClass:\"dx-scheduler-navigator\",options:{items:[l(e),u(e),d(e)],stylingMode:(0,a.isMaterial)()?\"text\":\"contained\",selectionMode:\"none\",onItemClick:function(e){e.itemData.clickHandler(e)}}},t)};var l=function(e){return{key:\"previous\",icon:\"chevronprev\",elementAttr:{class:\"dx-scheduler-navigator-previous\"},clickHandler:function(){return e._updateDateByDirection(-1)},onContentReady:function(t){var n=t.component;n.option(\"disabled\",c(e)),e._addEvent(\"min\",(function(){n.option(\"disabled\",c(e))})),e._addEvent(\"currentDate\",(function(){n.option(\"disabled\",c(e))})),e._addEvent(\"startViewDate\",(function(){n.option(\"disabled\",c(e))}))}}},u=function(e){return{key:\"calendar\",text:e.captionText,elementAttr:{class:\"dx-scheduler-navigator-caption\"},clickHandler:function(t){return e._showCalendar(t)},onContentReady:function(t){var n=t.component;e._addEvent(\"currentView\",(function(){n.option(\"text\",e.captionText)})),e._addEvent(\"currentDate\",(function(){n.option(\"text\",e.captionText)})),e._addEvent(\"startViewDate\",(function(){n.option(\"text\",e.captionText)})),e._addEvent(\"views\",(function(){n.option(\"text\",e.captionText)})),e._addEvent(\"firstDayOfWeek\",(function(){n.option(\"text\",e.captionText)}))}}},d=function(e){return{key:\"next\",icon:\"chevronnext\",elementAttr:{class:\"dx-scheduler-navigator-next\"},clickHandler:function(){return e._updateDateByDirection(1)},onContentReady:function(t){var n=t.component;n.option(\"disabled\",h(e)),e._addEvent(\"min\",(function(){n.option(\"disabled\",h(e))})),e._addEvent(\"currentDate\",(function(){n.option(\"disabled\",h(e))})),e._addEvent(\"startViewDate\",(function(){n.option(\"disabled\",h(e))}))}}},c=function(e){var t=e.option(\"min\");if(!t)return!1;t=new Date(t);var n=e._getCaption();return t=s(t),e._getNextDate(-1,n.endDate)<t},h=function(e){var t=e.option(\"max\");if(!t)return!1;t=new Date(t);var n=e._getCaption();return t=t.setHours(23,59,59),e._getNextDate(1,n.startDate)>t}},5757:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.SchedulerHeader=void 0,n(28236),n(45231);var o=_(n(99393)),a=_(n(20530)),r=_(n(17381)),s=_(n(68374)),l=_(n(91198)),u=n(13306),d=n(75837),c=_(n(71042)),h=_(n(14390)),f=_(n(20332)),p=n(76310),g=n(31047),m=n(93327);function _(e){return e&&e.__esModule?e:{default:e}}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function y(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}(e)||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 b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function w(e,t){return(w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var C=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,w(t,n);var o,h,_,b=i.prototype;return b._getDefaultOptions=function(){return(0,u.extend)(e.prototype._getDefaultOptions.call(this),{_useShortDateFormat:!a.default.real().generic||a.default.isSimulator()})},b._createEventMap=function(){var e=this;this.eventMap=new Map([[\"currentView\",[function(t){e.currentView=(0,d.renovationGetCurrentView)((0,g.getViewName)(t),e.option(\"views\"))}]],[\"items\",[this.repaint.bind(this)]],[\"views\",[g.validateViews]],[\"currentDate\",[this._getCalendarOptionUpdater(\"date\")]],[\"min\",[this._getCalendarOptionUpdater(\"min\")]],[\"max\",[this._getCalendarOptionUpdater(\"max\")]],[\"tabIndex\",[this.repaint.bind(this)]],[\"focusStateEnabled\",[this.repaint.bind(this)]],[\"useDropDownViewSwitcher\",[this.repaint.bind(this)]]])},b._addEvent=function(e,t){this.eventMap.has(e)||this.eventMap.set(e,[]);var n=this.eventMap.get(e);this.eventMap.set(e,[].concat(y(n),[t]))},b._optionChanged=function(e){var t=e.name,n=e.value;this.eventMap.has(t)&&this.eventMap.get(t).forEach((function(e){e(n)}))},b._init=function(){e.prototype._init.call(this),this._createEventMap(),this.$element().addClass(\"dx-scheduler-header\"),this.currentView=(0,d.renovationGetCurrentView)((0,g.getViewName)(this.option(\"currentView\")),this.option(\"views\"))},b._render=function(){e.prototype._render.call(this),this._createEventMap(),this._renderToolbar()},b._renderToolbar=function(){var e=this._createToolbarConfig(),t=(0,s.default)(\"<div>\");t.appendTo(this.$element()),this._toolbar=this._createComponent(t,c.default,e)},b._createToolbarConfig=function(){var e=this;return{items:this.option(\"items\").map((function(t){return e._parseItem(t)}))}},b._parseItem=function(e){if(this._isDefaultItem(e)){var t=e.defaultElement;switch(t){case\"viewSwitcher\":return this.option(\"useDropDownViewSwitcher\")?(0,m.getDropDownViewSwitcher)(this,e):(0,m.getViewSwitcher)(this,e);case\"dateNavigator\":return this._renderCalendar(),(0,p.getDateNavigator)(this,e);default:r.default.log(\"Unknown default element type: \".concat(t))}}return e},b._callEvent=function(e,t){this.eventMap.has(e)&&this.eventMap.get(e).forEach((function(e){return e(t)}))},b._updateCurrentView=function(e){this.option(\"onCurrentViewChange\")(e.name),this._callEvent(\"currentView\",e)},b._updateCalendarValueAndCurrentDate=function(e){this._updateCurrentDate(e),this._calendar.option(\"value\",e)},b._updateCurrentDate=function(e){this.option(\"onCurrentDateChange\")(e),this._callEvent(\"currentDate\",e)},b._renderCalendar=function(){var e=this;this._calendar=this._createComponent(\"<div>\",f.default,{value:this.option(\"currentDate\"),min:this.option(\"min\"),max:this.option(\"max\"),firstDayOfWeek:this.option(\"firstDayOfWeek\"),focusStateEnabled:this.option(\"focusStateEnabled\"),tabIndex:this.option(\"tabIndex\"),onValueChanged:function(t){e._updateCurrentDate(t.value),e._calendar.hide()}}),this._calendar.$element().appendTo(this.$element())},b._getCalendarOptionUpdater=function(e){var t=this;return function(n){t._calendar&&t._calendar.option(e,n)}},b._getNextDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=null!=t?t:this.option(\"currentDate\"),i=v(v({},this.intervalOptions),{date:n});return(0,g.getNextIntervalDate)(i,e)},b._isMonth=function(){var e=this.currentView;return\"month\"===(0,g.getViewType)(e)},b._getDisplayedDate=function(){var e=this.option(\"startViewDate\");return this._isMonth()?(0,g.nextWeek)(e):new Date(e)},b._getCaption=function(){var e=this.option(\"currentDate\");this.option(\"startViewDate\")&&(e=this._getDisplayedDate()),e=l.default.trimTime(e);var t=v(v({},this.intervalOptions),{date:e}),n=this.option(\"customizeDateNavigatorText\"),i=this.option(\"_useShortDateFormat\");return(0,g.getCaption)(t,i,n)},b._updateDateByDirection=function(e){var t=this._getNextDate(e);this._updateCalendarValueAndCurrentDate(t)},b._showCalendar=function(e){this._calendar.show(e.element)},b._hideCalendar=function(){this._calendar.hide()},b._isDefaultItem=function(e){return Object.prototype.hasOwnProperty.call(e,\"defaultElement\")},o=i,(h=[{key:\"views\",get:function(){return this.option(\"views\")}},{key:\"captionText\",get:function(){return this._getCaption().text}},{key:\"intervalOptions\",get:function(){return{step:(0,g.getStep)(this.currentView),intervalCount:this.option(\"intervalCount\"),firstDayOfWeek:this.option(\"firstDayOfWeek\"),agendaDuration:this.option(\"agendaDuration\")}}}])&&x(o.prototype,h),_&&x(o,_),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(h.default);t.SchedulerHeader=C,(0,o.default)(\"dxSchedulerHeader\",C)},31047:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateViews=t.nextWeek=t.isOneView=t.getViewType=t.getViewText=t.getViewName=t.getStep=t.getNextIntervalDate=t.getCaption=t.formatViews=void 0;var i=d(n(17381)),o=d(n(91198)),a=n(78008),r=n(35922),s=d(n(91500)),l=d(n(28109)),u=n(6324);function d(e){return e&&e.__esModule?e:{default:e}}var c=o.default.correctDateWithUnitBeginning,h=o.default.getFirstWeekDate,f=o.default.getLastMonthDay,p=o.default.addDateInterval,g=s.default.format,m={milliseconds:1},_={days:1},v={days:7},y=function(e){return p(e,_,1)},b=function(e){return p(e,v,1)};t.nextWeek=b;var x=function(e){return 6===e.getDay()||0===e.getDay()},w=function(e){var t=e.date,n=e.step,i=e.firstDayOfWeek;switch(n){case\"day\":case\"week\":case\"month\":return c(t,n,!1,i);case\"workWeek\":return function(e){for(var t=new Date(e);x(t);)t=y(t);return t}(h(t,i));case\"agenda\":return new Date(t)}},C=function(e,t){for(var n,i=t.intervalCount,o=t.step,a=t.agendaDuration,r=new Date(e),s=0;s<i;s++)n=S(r,o,a),r=k(n,o);return n},S=function(e,t,n){var i;switch(t){case\"day\":i=y(e);break;case\"week\":i=b(e);break;case\"month\":i=function(e){var t=f(e);return p(e,{days:t},1)}(e);break;case\"workWeek\":i=function(e){for(var t=new Date(e),n=0;n<5;)x(t)||n++,t=y(t);return t}(e);break;case\"agenda\":i=function(e,t){return p(e,{days:t},1)}(e,n)}return function(e){return p(e,m,-1)}(i)},k=function(e,t){var n=function(e){return p(e,m,1)}(e);if(\"workWeek\"===t)for(;x(n);)n=y(n);return n};t.getNextIntervalDate=function(e,t){var n,i=e.date,o=e.step,a=e.intervalCount,r=e.agendaDuration;switch(o){case\"day\":n=1*a;break;case\"week\":case\"workWeek\":n=7*a;break;case\"agenda\":n=r;break;case\"month\":return D(i,a,t)}return p(i,{days:n},t)};var D=function(e,t,n){var i=e.getDate(),o=new Date(new Date(e.getTime()).setDate(1)),a=new Date(o.setMonth(o.getMonth()+t*n)),r=f(a),s=i<r?i:r,l=new Date(new Date(e.getTime()).setDate(s));return new Date(l.setMonth(l.getMonth()+t*n))},I=function(e){var t=e?\"abbreviated\":\"wide\",n=s.default.getMonthNames(t);return function(e){var t=g(e,\"day\"),i=n[e.getMonth()];return\"\".concat(t,\" \").concat(i)}},T=function(e){var t=s.default.getMonthNames(\"abbreviated\")[e.getMonth()],n=g(e,\"year\");return\"\".concat(t,\" \").concat(n)},E=function(e){return function(t){var n=I(e)(t),i=g(t,\"year\");return\"\".concat(n,\" \").concat(i)}},O=function(e,t,n){return e.getFullYear()!==t.getFullYear()?function(e,t){var n=g(e,E(!0)),i=g(t,E(!0));return\"\".concat(n,\"-\").concat(i)}(e,t):function(e,t,n){var i=e.getMonth()!==t.getMonth(),o=i||n,a=i?I(o):\"d\",r=g(e,a),s=g(t,E(o));return\"\".concat(r,\"-\").concat(s)}(e,t,n)},A=function(e,t,n,i){return o.default.sameDate(e,t)?function(e,t,n){var i=I(\"agenda\"===t&&n)(e),o=g(e,\"year\");return\"\".concat(i,\" \").concat(o)}(e,i,n):\"month\"===i?function(e,t){if(o.default.sameMonth(e,t))return g(e,\"monthandyear\");var n=o.default.sameYear(e,t)?s.default.getMonthNames(\"abbreviated\")[e.getMonth()]:T(e),i=T(t);return\"\".concat(n,\"-\").concat(i)}(e,t):O(e,t,n)};t.getCaption=function(e,t,n){var i=function(e){var t=w(e);return{startDate:t,endDate:C(t,e)}}(e),o=i.startDate,a=i.endDate,s=A(o,a,t,e.step);return(0,r.isFunction)(n)&&(s=n({startDate:o,endDate:a,text:s})),{startDate:o,endDate:a,text:s}};var P={day:\"day\",week:\"week\",workWeek:\"workWeek\",month:\"month\",timelineDay:\"day\",timelineWeek:\"week\",timelineWorkWeek:\"workWeek\",timelineMonth:\"month\",agenda:\"agenda\"};t.getStep=function(e){return P[M(e)]};var M=function(e){return(0,r.isObject)(e)&&e.type?e.type:e};t.getViewType=M;var R=function(e){return(0,r.isObject)(e)?e.name?e.name:e.type:e};t.getViewName=R;var B=function(e){if(e.name)return e.name;var t=(0,a.camelize)(e.type||e,!0);return l.default.format(\"dxScheduler-switcher\".concat(t))};t.getViewText=B;var L=function(e){e.forEach((function(e){var t=M(e);(function(e){return Object.values(u.VIEWS).includes(e)})(t)||i.default.log(\"W0008\",t)}))};t.validateViews=L;t.formatViews=function(e){return L(e),e.map((function(e){var t=B(e),n=M(e),i=R(e);return{text:t,name:i,view:{text:t,type:n,name:i}}}))};t.isOneView=function(e,t){return 1===e.length&&e[0].name===t}},93327:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getViewSwitcher=t.getDropDownViewSwitcher=void 0;var i=n(31047);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var a=function(e){var t=(0,i.formatViews)(e.views),n=(0,i.getViewName)(e.currentView),o=t.some((function(e){return e.name===n}));return{selectedView:n=o?n:void 0,views:t}};t.getViewSwitcher=function(e,t){var n=a(e),r=n.selectedView;return o({widget:\"dxButtonGroup\",locateInMenu:\"auto\",cssClass:\"dx-scheduler-view-switcher\",options:{items:n.views,keyExpr:\"name\",selectedItemKeys:[r],stylingMode:\"contained\",onItemClick:function(t){var n=t.itemData.view;e._updateCurrentView(n)},onContentReady:function(t){var n=t.component;e._addEvent(\"currentView\",(function(e){n.option(\"selectedItemKeys\",[(0,i.getViewName)(e)])}))}}},t)};t.getDropDownViewSwitcher=function(e,t){var n=a(e),r=n.selectedView,s=n.views,l=(0,i.isOneView)(s,r);return o({widget:\"dxDropDownButton\",locateInMenu:\"never\",cssClass:\"dx-scheduler-view-switcher\",options:{items:s,useSelectMode:!0,keyExpr:\"name\",selectedItemKey:r,displayExpr:\"text\",showArrowIcon:!l,elementAttr:{class:\"dx-scheduler-view-switcher-dropdown-button\"},onItemClick:function(t){var n=t.itemData.view;e._updateCurrentView(n)},onContentReady:function(t){var n=t.component;e._addEvent(\"currentView\",(function(t){var o=(0,i.formatViews)(e.views);(0,i.isOneView)(o,t)&&e.repaint(),n.option(\"selectedItemKey\",(0,i.getViewName)(t))}))},dropDownOptions:{onShowing:function(e){l&&(e.cancel=!0)},width:\"max-content\",_wrapperClassExternal:\"dx-scheduler-view-switcher-dropdown-button-content\"}}},t)}},72734:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.createAppointmentAdapter=void 0;var i,o=n(13306),a=n(48013),r=(i=n(96688))&&i.__esModule?i:{default:i},s=n(30906),l=n(38227);function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===u(a)?a:String(a)),i)}var o,a}var c=\"startDate\",h=\"endDate\",f=\"allDay\",p=\"text\",g=\"description\",m=\"startDateTimeZone\",_=\"endDateTimeZone\",v=\"recurrenceRule\",y=\"recurrenceException\",b=\"disabled\",x=function(){function e(e,t,n,i){this.rawAppointment=e,this.dataAccessors=t,this.timeZoneCalculator=n,this.options=i}var t,n,i,u=e.prototype;return u.getField=function(e){return s.ExpressionUtils.getField(this.dataAccessors,e,this.rawAppointment)},u.setField=function(e,t){return s.ExpressionUtils.setField(this.dataAccessors,e,this.rawAppointment,t)},u.calculateStartDate=function(e){if(!this.startDate||isNaN(this.startDate.getTime()))throw r.default.Error(\"E1032\",this.text);return this.calculateDate(this.startDate,this.startDateTimeZone,e)},u.calculateEndDate=function(e){return this.calculateDate(this.endDate,this.endDateTimeZone,e)},u.calculateDate=function(e,t,n){if(e)return this.timeZoneCalculator.createDate(e,{appointmentTimeZone:t,path:n})},u.clone=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=new e((0,a.deepExtendArraySafe)({},this.rawAppointment),this.dataAccessors,this.timeZoneCalculator,t);return(null==t?void 0:t.pathTimeZone)&&(n.startDate=n.calculateStartDate(t.pathTimeZone),n.endDate=n.calculateEndDate(t.pathTimeZone)),n},u.source=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e){var t=this.clone();return t.startDate=this.startDate,t.endDate=this.endDate,t.source()}return(0,o.extend)({},this.rawAppointment)},t=e,(n=[{key:\"duration\",get:function(){return this.endDate?this.endDate-this.startDate:0}},{key:\"startDate\",get:function(){var e=this.getField(c);return void 0===e?e:new Date(e)},set:function(e){this.setField(c,e)}},{key:\"endDate\",get:function(){var e=this.getField(h);return void 0===e?e:new Date(e)},set:function(e){this.setField(h,e)}},{key:\"allDay\",get:function(){return this.getField(f)},set:function(e){this.setField(f,e)}},{key:\"text\",get:function(){return this.getField(p)},set:function(e){this.setField(p,e)}},{key:\"description\",get:function(){return this.getField(g)},set:function(e){this.setField(g,e)}},{key:\"startDateTimeZone\",get:function(){return this.getField(m)}},{key:\"endDateTimeZone\",get:function(){return this.getField(_)}},{key:\"recurrenceRule\",get:function(){return this.getField(v)},set:function(e){this.setField(v,e)}},{key:\"recurrenceException\",get:function(){return this.getField(y)},set:function(e){this.setField(y,e)}},{key:\"disabled\",get:function(){return!!this.getField(b)}},{key:\"isRecurrent\",get:function(){return(0,l.getRecurrenceProcessor)().isValidRecurrenceRule(this.recurrenceRule)}}])&&d(t.prototype,n),i&&d(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),w=x;t.default=w;t.createAppointmentAdapter=function(e,t,n,i){return new x(e,t,n,i)}},54915:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=u(n(68374)),o=n(62754),a=n(13306),r=u(n(42160)),s=n(6324),l=n(79456);function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e){this.scheduler=e,this.workspace=this.scheduler._workSpace,this.appointments=this.scheduler._appointments,this.initialPosition={left:0,top:0},this.appointmentInfo=null,this.dragBetweenComponentsPromise=null}var t=e.prototype;return t.isAllDay=function(e){return e.data(\"dxAppointmentSettings\").allDay},t.onDragStart=function(e){var t=e.itemSettings,n=e.itemData,i=e.initialPosition;this.initialPosition=i,this.appointmentInfo={appointment:n,settings:t},this.appointments.notifyObserver(\"hideAppointmentTooltip\")},t.onDragMove=function(e){e.fromComponent!==e.toComponent&&this.appointments.notifyObserver(\"removeDroppableCellClass\")},t.getAppointmentElement=function(e){var t=e.event.data&&e.event.data.itemElement||e.itemElement;return(0,i.default)(t)},t.onDragEnd=function(e){var t=this.getAppointmentElement(e),n=this.appointments._getItemData(t);this.appointments._getAppointmentContainer(this.isAllDay(t)).append(t);var i=this.workspace.getDroppableCellIndex(),o=this.workspace.getCellIndexByCoordinates(this.initialPosition);this.appointments.notifyObserver(\"updateAppointmentAfterDrag\",{event:e,element:t,rawAppointment:n,newCellIndex:i,oldCellIndex:o})},t.onDragCancel=function(){this.removeDroppableClasses()},t.getItemData=function(e){var t=(0,i.default)(e).data(s.LIST_ITEM_DATA_KEY),n=null==t?void 0:t.appointment,o=this.appointments._getItemData(e);return n||o},t.getItemSettings=function(e){var t=(0,i.default)(e).data(s.LIST_ITEM_DATA_KEY);return t&&t.settings||[]},t.createDragStartHandler=function(e,t){var n=this;return function(i){i.itemData=n.getItemData(i.itemElement),i.itemSettings=n.getItemSettings(i.itemElement),t.onDragStart&&t.onDragStart(i),i.cancel||e.onDragStart(i)}},t.createDragMoveHandler=function(e,t){return function(n){t.onDragMove&&t.onDragMove(n),n.cancel||e.onDragMove(n)}},t.createDragEndHandler=function(e,t){var n=this;return function(i){var r=n.appointments.invoke(\"getUpdatedData\",i.itemData);(n.appointmentInfo=null,i.toItemData=(0,a.extend)({},i.itemData,r),t.onDragEnd&&t.onDragEnd(i),i.cancel||(e.onDragEnd(i),i.fromComponent!==i.toComponent&&t.onRemove&&t.onRemove(i)),!0===i.cancel&&n.removeDroppableClasses(),!0!==i.cancel&&(0,l.isSchedulerComponent)(i.toComponent))&&(i.toComponent._getDragBehavior().dragBetweenComponentsPromise=new o.Deferred)}},t.createDropHandler=function(e){var t=this;return function(n){var i=t.appointments.invoke(\"getUpdatedData\",n.itemData);n.itemData=(0,a.extend)({},n.itemData,i),n.fromComponent!==n.toComponent&&e.onAdd&&e.onAdd(n),t.dragBetweenComponentsPromise&&t.dragBetweenComponentsPromise.resolve()}},t.addTo=function(e,t){var n=this.scheduler.option(\"appointmentDragging\")||{},i=(0,a.extend)({component:this.scheduler,contentTemplate:null,filter:\".\".concat(\"dx-scheduler-appointment\"),immediate:!1,onDragStart:this.onDragStart.bind(this),onDragMove:this.onDragMove.bind(this),onDragEnd:this.onDragEnd.bind(this),onDragCancel:this.onDragCancel.bind(this)},t);this.appointments._createComponent(e,r.default,(0,a.extend)({},i,n,{onDragStart:this.createDragStartHandler(i,n),onDragMove:this.createDragMoveHandler(i,n),onDragEnd:this.createDragEndHandler(i,n),onDrop:this.createDropHandler(n),onCancelByEsc:!0}))},t.updateDragSource=function(e,t){var n=this.appointmentInfo;if(n||e){var i=e||n.appointment,o=t||n.settings;this.appointments._setDragSourceAppointment(i,o)}},t.removeDroppableClasses=function(){this.appointments._removeDragSourceClassFromDraggedAppointment(),this.workspace.removeDroppableCellClass()},e}();t.default=d},43919:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(20576),o=n(27569),a=n(45985),r=n(62386),s=n(31359),l=n(94654);function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===u(a)?a:String(a)),i)}var o,a}var h=function(){function e(e){this.instance=e,this.appointmentViewModel=new r.AppointmentViewModelGenerator}var t,n,u,h=e.prototype;return h.getCellDimensions=function(e){if(this.instance._workSpace)return{width:this.instance._workSpace.getCellWidth(),height:this.instance._workSpace.getCellHeight(),allDayHeight:this.instance._workSpace.getAllDayHeight()}},h._getRenderingStrategyOptions=function(){var e=this.instance.getWorkSpace(),t=this.instance.getWorkSpace().virtualScrollingDispatcher,n=t.cellCountInsideLeftVirtualCell,i=t.cellCountInsideTopVirtualRow,o=(0,s.getGroupCount)(this.instance.option(\"loadedResources\")),r=e.getDOMElementsMetaData(),u=(0,l.getAllDayHeight)(e.option(\"showAllDayPanel\"),e._isVerticalGroupedWorkSpace(),r),d=e._getRowCount(),c=e.positionHelper,h=e.viewDataProvider.getVisibleDayDuration(e.option(\"startDayHour\"),e.option(\"endDayHour\"),e.option(\"hoursInterval\")),f=(0,a.getCellDuration)(e.type,e.option(\"startDayHour\"),e.option(\"endDayHour\"),e.option(\"hoursInterval\"));return{resources:this.instance.option(\"resources\"),loadedResources:this.instance.option(\"loadedResources\"),getAppointmentColor:this.instance.createGetAppointmentColor(),dataAccessors:this.instance._dataAccessors,isRenovatedAppointments:this.instance.option(\"isRenovatedAppointments\"),appointmentRenderingStrategyName:this.appointmentRenderingStrategyName,adaptivityEnabled:this.instance.option(\"adaptivityEnabled\"),rtlEnabled:this.instance.option(\"rtlEnabled\"),startDayHour:this.instance._getCurrentViewOption(\"startDayHour\"),endDayHour:this.instance._getCurrentViewOption(\"endDayHour\"),maxAppointmentsPerCell:this.instance._getCurrentViewOption(\"maxAppointmentsPerCell\"),currentDate:this.instance.option(\"currentDate\"),isVirtualScrolling:this.instance.isVirtualScrolling(),leftVirtualCellCount:n,topVirtualCellCount:i,intervalCount:e.option(\"intervalCount\"),hoursInterval:e.option(\"hoursInterval\"),showAllDayPanel:e.option(\"showAllDayPanel\"),isGroupedAllDayPanel:e.isGroupedAllDayPanel(),groups:this.instance._getCurrentViewOption(\"groups\"),groupCount:o,rowCount:d,appointmentCountPerCell:this.instance.option(\"_appointmentCountPerCell\"),appointmentOffset:this.instance.option(\"_appointmentOffset\"),allowResizing:this.instance._allowResizing(),allowAllDayResizing:this.instance._allowAllDayResizing(),startViewDate:e.getStartViewDate(),groupOrientation:e._getRealGroupOrientation(),cellWidth:(0,l.getCellWidth)(r),cellHeight:(0,l.getCellHeight)(r),allDayHeight:u,resizableStep:c.getResizableStep(),visibleDayDuration:h,allDayPanelMode:this.instance._getCurrentViewOption(\"allDayPanelMode\"),timeZoneCalculator:this.instance.timeZoneCalculator,timeZone:this.instance.option(\"timeZone\"),firstDayOfWeek:this.instance.getFirstDayOfWeek(),viewStartDayHour:this.instance._getCurrentViewOption(\"startDayHour\"),viewEndDayHour:this.instance._getCurrentViewOption(\"endDayHour\"),viewType:e.type,endViewDate:e.getEndViewDate(),positionHelper:c,isGroupedByDate:e.isGroupedByDate(),cellDuration:f,cellDurationInMinutes:e.option(\"cellDuration\"),viewDataProvider:e.viewDataProvider,supportAllDayRow:e.supportAllDayRow(),dateRange:e.getDateRange(),intervalDuration:e.getIntervalDuration(),allDayIntervalDuration:e.getIntervalDuration(!0),isVerticalGroupOrientation:e.isVerticalOrientation(),DOMMetaData:r,instance:this.instance,agendaDuration:e.option(\"agendaDuration\")}},h.createAppointmentsMap=function(e){var t=this._getRenderingStrategyOptions(),n=this.appointmentViewModel.generate(e,t),i=n.viewModel,o=n.positionMap;return this._positionMap=o,i},h._isDataChanged=function(e){var t=this.instance.appointmentDataProvider;return t.getUpdatedAppointment()===e||t.getUpdatedAppointmentKeys().some((function(t){return e[t.key]===t.value}))},h._isAppointmentShouldAppear=function(e,t){return e.needRepaint&&t.needRemove},h._isSettingChanged=function(e,t){if(e.length!==t.length)return!0;for(var n=function(e,t){var n=e[t],i=n.leftVirtualCellCount||0,o=n.topVirtualCellCount||0,a=n.columnIndex+i,r=n.rowIndex+o,s=n.reduced?n.hMax:void 0,l=n.reduced?n.vMax:void 0;return d(d({},n),{columnIndex:a,rowIndex:r,positionByMap:void 0,topVirtualCellCount:void 0,leftVirtualCellCount:void 0,leftVirtualWidth:void 0,topVirtualHeight:void 0,hMax:s,vMax:l,info:{}})},o=0;o<e.length;o++){var a=n(e,o),r=n(t,o);if(r&&(r.sortedIndex=a.sortedIndex),!(0,i.equalByValue)(a,r))return!0}return!1},h._getAssociatedSourceAppointment=function(e,t){for(var n=0;n<t.length;n++){var i=t[n];if(i.itemData===e.itemData)return i}return null},h._getDeletedAppointments=function(e,t){for(var n=[],i=0;i<t.length;i++){var o=t[i];this._getAssociatedSourceAppointment(o,e)||(o.needRemove=!0,n.push(o))}return n},h.getRepaintedAppointments=function(e,t){var n=this;return 0===t.length||\"agenda\"===this.appointmentRenderingStrategyName?e:(e.forEach((function(e){var i=n._getAssociatedSourceAppointment(e,t);if(i){var o=n._isDataChanged(e.itemData),a=n._isSettingChanged(e.settings,i.settings),r=n._isAppointmentShouldAppear(e,i);e.needRepaint=o||a||r}})),e.concat(this._getDeletedAppointments(e,t)))},h.getRenderingStrategyInstance=function(){if(!this.appointmentViewModel.getRenderingStrategy()){var e=this._getRenderingStrategyOptions();this.appointmentViewModel.initRenderingStrategy(e)}return this.appointmentViewModel.getRenderingStrategy()},t=e,(n=[{key:\"appointmentRenderingStrategyName\",get:function(){return(0,o.getAppointmentRenderingStrategyName)(this.instance.currentViewType)}}])&&c(t.prototype,n),u&&c(t,u),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=h},43600:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIRTUAL_CELL_CLASS=t.VERTICAL_GROUP_COUNT_CLASSES=t.TIME_PANEL_CLASS=t.REDUCED_APPOINTMENT_PARTS_CLASSES=t.REDUCED_APPOINTMENT_ICON=t.REDUCED_APPOINTMENT_CLASS=t.RECURRENCE_APPOINTMENT_CLASS=t.LAST_GROUP_CELL_CLASS=t.HEADER_CURRENT_TIME_CELL_CLASS=t.GROUP_ROW_CLASS=t.GROUP_HEADER_CONTENT_CLASS=t.FIXED_CONTAINER_CLASS=t.FIRST_GROUP_CELL_CLASS=t.EMPTY_APPOINTMENT_CLASS=t.DIRECTION_APPOINTMENT_CLASSES=t.DATE_TABLE_ROW_CLASS=t.DATE_TABLE_CLASS=t.APPOINTMENT_ITEM_CLASS=t.APPOINTMENT_DRAG_SOURCE_CLASS=t.APPOINTMENT_CONTENT_CLASSES=t.ALL_DAY_APPOINTMENT_CLASS=t.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS=void 0;t.FIXED_CONTAINER_CLASS=\"dx-scheduler-fixed-appointments\";t.REDUCED_APPOINTMENT_CLASS=\"dx-scheduler-appointment-reduced\";t.REDUCED_APPOINTMENT_ICON=\"dx-scheduler-appointment-reduced-icon\";t.RECURRENCE_APPOINTMENT_CLASS=\"dx-scheduler-appointment-recurrence\";t.EMPTY_APPOINTMENT_CLASS=\"dx-scheduler-appointment-empty\";t.ALL_DAY_APPOINTMENT_CLASS=\"dx-scheduler-all-day-appointment\";t.REDUCED_APPOINTMENT_PARTS_CLASSES={head:\"dx-scheduler-appointment-head\",body:\"dx-scheduler-appointment-body\",tail:\"dx-scheduler-appointment-tail\"};t.DIRECTION_APPOINTMENT_CLASSES={horizontal:\"dx-scheduler-appointment-horizontal\",vertical:\"dx-scheduler-appointment-vertical\"};t.APPOINTMENT_DRAG_SOURCE_CLASS=\"dx-scheduler-appointment-drag-source\";t.APPOINTMENT_ITEM_CLASS=\"dx-scheduler-appointment\";t.APPOINTMENT_CONTENT_CLASSES={APPOINTMENT_CONTENT_DETAILS:\"dx-scheduler-appointment-content-details\",RECURRING_ICON:\"dx-scheduler-appointment-recurrence-icon\",APPOINTMENT_TITLE:\"dx-scheduler-appointment-title\",APPOINTMENT_DATE:\"dx-scheduler-appointment-content-date\",ALL_DAY_CONTENT:\"dx-scheduler-appointment-content-allday\",ITEM:\"dx-scheduler-appointment\",AGENDA_MARKER:\"dx-scheduler-agenda-appointment-marker\",AGENDA_RESOURCE_LIST:\"dx-scheduler-appointment-resource-list\",AGENDA_RESOURCE_LIST_ITEM:\"dx-scheduler-appointment-resource-item\",AGENDA_RESOURCE_LIST_ITEM_VALUE:\"dx-scheduler-appointment-resource-item-value\"};t.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS=\"dx-scheduler-last-in-date-agenda-appointment\";t.HEADER_CURRENT_TIME_CELL_CLASS=\"dx-scheduler-header-panel-current-time-cell\";t.VIRTUAL_CELL_CLASS=\"dx-scheduler-virtual-cell\";t.TIME_PANEL_CLASS=\"dx-scheduler-time-panel\";t.DATE_TABLE_CLASS=\"dx-scheduler-date-table\";t.DATE_TABLE_ROW_CLASS=\"dx-scheduler-date-table-row\";t.GROUP_ROW_CLASS=\"dx-scheduler-group-row\";t.GROUP_HEADER_CONTENT_CLASS=\"dx-scheduler-group-header-content\";t.LAST_GROUP_CELL_CLASS=\"dx-scheduler-last-group-cell\";t.FIRST_GROUP_CELL_CLASS=\"dx-scheduler-first-group-cell\";t.VERTICAL_GROUP_COUNT_CLASSES=[\"dx-scheduler-group-column-count-one\",\"dx-scheduler-group-column-count-two\",\"dx-scheduler-group-column-count-three\"]},38088:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompactAppointmentsHelper=void 0;var i=n(31648),o=p(n(68374)),a=n(68494),r=n(62754),s=n(37518),l=p(n(28109)),u=n(86553),d=p(n(63008)),c=n(72734),h=n(6324),f=n(98865);function p(e){return e&&e.__esModule?e:{default:e}}var g=\"\".concat(\"dx-scheduler-appointment-collector\",\"-compact\"),m=\"\".concat(\"dx-scheduler-appointment-collector\",\"-content\"),_=function(){function e(e){this.instance=e,this.elements=[]}var t=e.prototype;return t.render=function(e){var t=e.isCompact,n=e.items,i=e.buttonColor,o=this._createTemplate(n.data.length,t),a=this._createCompactButton(o,e).$element();return this._makeBackgroundColor(a,n.colors,i),this._makeBackgroundDarker(a),this.elements.push(a),a.data(\"items\",this._createTooltipInfos(n)),a},t.clear=function(){this.elements.forEach((function(e){e.detach(),e.remove()})),this.elements=[]},t._createTooltipInfos=function(e){var t=this;return e.data.map((function(n,i){var o,a=(0,c.createAppointmentAdapter)(n,t.instance._dataAccessors,t.instance.timeZoneCalculator).clone();if((null===(o=e.settings)||void 0===o?void 0:o.length)>0){var r=e.settings[i].info;a.startDate=r.sourceAppointment.startDate,a.endDate=r.sourceAppointment.endDate}return new f.AppointmentTooltipInfo(n,a.source(),e.colors[i],e.settings[i])}))},t._onButtonClick=function(e,t){var n=(0,o.default)(e.element);this.instance.showAppointmentTooltipCore(n,n.data(\"items\"),this._getExtraOptionsForTooltip(t,n))},t._getExtraOptionsForTooltip=function(e,t){return{clickEvent:this._clickEvent(e.onAppointmentClick).bind(this),dragBehavior:e.allowDrag&&this._createTooltipDragBehavior(t).bind(this),dropDownAppointmentTemplate:this.instance.option().dropDownAppointmentTemplate,isButtonClick:!0}},t._clickEvent=function(e){var t=this;return function(n){var i=t.instance._createEventArgs(n);e(i)}},t._createTooltipDragBehavior=function(e){var t=this;return function(n){var a=(0,o.default)(n.element),r=(0,o.default)(t.instance.element()),s=t.instance.getWorkSpace(),l=(0,i.locate)(e),u={filter:\".\".concat(h.LIST_ITEM_CLASS),isSetCursorOffset:!0,initialPosition:l,getItemData:function(e){var t;return null===(t=(0,o.default)(e).data(h.LIST_ITEM_DATA_KEY))||void 0===t?void 0:t.appointment},getItemSettings:function(e,t){return t.itemSettings}};s._createDragBehaviorBase(a,r,u)}},t._getCollectorOffset=function(e,t){return t-e-this._getCollectorRightOffset()},t._getCollectorRightOffset=function(){return this.instance.getRenderingStrategyInstance()._isCompactTheme()?1:5},t._makeBackgroundDarker=function(e){e.css(\"boxShadow\",\"inset \".concat((0,s.getBoundingRect)(e.get(0)).width,\"px 0 0 0 rgba(0, 0, 0, 0.3)\"))},t._makeBackgroundColor=function(e,t,n){r.when.apply(null,t).done(function(){this._makeBackgroundColorCore(e,n,Array.prototype.slice.call(arguments))}.bind(this))},t._makeBackgroundColorCore=function(e,t,n){t&&t.done((function(t){var i=(0,u.getOverflowIndicatorColor)(t,n);i&&e.css(\"backgroundColor\",i)}))},t._setPosition=function(e,t){(0,i.move)(e,{top:t.top,left:t.left})},t._createCompactButton=function(e,t){var n=this,i=this._createCompactButtonElement(t);return this.instance._createComponent(i,d.default,{type:\"default\",width:t.width,height:t.height,onClick:function(e){return n._onButtonClick(e,t)},template:this._renderTemplate(e,t.items,t.isCompact)})},t._createCompactButtonElement=function(e){var t=e.isCompact,n=e.$container,i=e.coordinates,a=(0,o.default)(\"<div>\").addClass(\"dx-scheduler-appointment-collector\").toggleClass(g,t).appendTo(n);return this._setPosition(a,i),a},t._renderTemplate=function(e,t,n){return new a.FunctionTemplate((function(i){return e.render({model:{appointmentCount:t.data.length,isCompact:n},container:i.container})}))},t._createTemplate=function(e,t){return this._initButtonTemplate(e,t),this.instance._getAppointmentTemplate(\"appointmentCollectorTemplate\")},t._initButtonTemplate=function(e,t){var n=this;this.instance._templateManager.addDefaultTemplates({appointmentCollector:new a.FunctionTemplate((function(i){return n._createButtonTemplate(e,(0,o.default)(i.container),t)}))})},t._createButtonTemplate=function(e,t,n){var i=n?e:l.default.getFormatter(\"dxScheduler-moreAppointments\")(e);return t.append((0,o.default)(\"<span>\").text(i)).addClass(m)},e}();t.CompactAppointmentsHelper=_},6324:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEWS=t.LIST_ITEM_DATA_KEY=t.LIST_ITEM_CLASS=t.HORIZONTAL_GROUP_ORIENTATION=t.APPOINTMENT_SETTINGS_KEY=void 0;t.LIST_ITEM_DATA_KEY=\"dxListItemData\";t.LIST_ITEM_CLASS=\"dx-list-item\";t.APPOINTMENT_SETTINGS_KEY=\"dxAppointmentSettings\";t.HORIZONTAL_GROUP_ORIENTATION=\"horizontal\";t.VIEWS={DAY:\"day\",WEEK:\"week\",WORK_WEEK:\"workWeek\",MONTH:\"month\",TIMELINE_DAY:\"timelineDay\",TIMELINE_WEEK:\"timelineWeek\",TIMELINE_WORK_WEEK:\"timelineWorkWeek\",TIMELINE_MONTH:\"timelineMonth\",AGENDA:\"agenda\"}},98865:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AppointmentTooltipInfo=void 0;t.AppointmentTooltipInfo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];this.appointment=e,this.targetedAppointment=t,this.color=n,this.settings=i}},90006:function(e,t,n){var i;function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=((i=n(91198))&&i.__esModule?i:{default:i}).default.dateToMilliseconds,s=function(){function e(e){this._source=new Date(e.getTime?e.getTime():e)}var t,n,i,o=e.prototype;return o.result=function(){return this._source},o.getTimezoneOffset=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=this._source.getTimezoneOffset();return\"minute\"===e?t*r(\"minute\"):t},o.getTime=function(){return this._source.getTime()},o.setTime=function(e){return this._source.setTime(e),this},o.addTime=function(e){return this._source.setTime(this._source.getTime()+e),this},o.setMinutes=function(e){return this._source.setMinutes(e),this},o.addMinutes=function(e){return this._source.setMinutes(this._source.getMinutes()+e),this},o.subtractMinutes=function(e){return this._source.setMinutes(this._source.getMinutes()-e),this},t=e,(n=[{key:\"source\",get:function(){return this._source}}])&&a(t.prototype,n),i&&a(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),l=function(e){return new s(e)};t.default=l},30906:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExpressionUtils=void 0;var i=n(35922),o={getField:function(e,t,n){if((0,i.isDefined)(e.getter[t]))return e.getter[t](n)},setField:function(e,t,n,o){if((0,i.isDefined)(e.setter[t]))return e.setter[t](n,o),n}};t.ExpressionUtils=o},28066:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hide=function(){if(!l)return(new o.Deferred).resolve();return l.hide().done(u).promise()},t.show=function(e){return u(),(l=function(e){return new r.default((0,i.default)(\"<div>\").appendTo(e&&e.container||(0,a.value)()),e)}(e)).show()};var i=s(n(68374)),o=n(62754),a=n(77695),r=s(n(97218));function s(e){return e&&e.__esModule?e:{default:e}}var l=null,u=function(){l&&(l.$element().remove(),l=null)}},38227:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRecurrenceProcessor=b;var i=l(n(17381)),o=l(n(91198)),a=n(95479),r=n(46464),s=l(n(57880));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||c(e,t)||function(){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 d(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||c(e)||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 c(e,t){if(e){if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var f=o.default.dateToMilliseconds,p=[\"freq\",\"interval\",\"byday\",\"byweekno\",\"byyearday\",\"bymonth\",\"bymonthday\",\"count\",\"until\",\"byhour\",\"byminute\",\"bysecond\",\"bysetpos\",\"wkst\"],g=[\"DAILY\",\"WEEKLY\",\"MONTHLY\",\"YEARLY\",\"SECONDLY\",\"MINUTELY\",\"HOURLY\"],m={SU:0,MO:1,TU:2,WE:3,TH:4,FR:5,SA:6},_=[],v=[\"Etc/GMT-13\",\"MIT\",\"Pacific/Apia\",\"Pacific/Enderbury\",\"Pacific/Tongatapu\",\"Etc/GMT-14\",\"Pacific/Kiritimati\"],y=null;function b(){return y||(y=new x),y}var x=function(){function e(){this.rRule=null,this.rRuleSet=null,this.validator=new w}var t=e.prototype;return t.generateDates=function(e){var t=this,n=this.evalRecurrenceRule(e.rule),i=n.rule;if(!n.isValid||!i.freq)return[];var o=this._createRruleIntervalParams(e);return this._initializeRRule(e,o.startIntervalDate,i.until),this.rRuleSet.between(o.minViewDate,o.maxViewDate,!0).filter((function(e){return e.getTime()+o.appointmentDuration>=o.minViewTime})).map((function(n){return t._convertRruleResult(o,e,n)}))},t._createRruleIntervalParams=function(e){var t=e.start,n=e.min,i=e.max,o=e.appointmentTimezoneOffset,a=s.default.getClientTimezoneOffset(t),r=s.default.getClientTimezoneOffset(n),l=s.default.getClientTimezoneOffset(i),u=e.end?e.end.getTime()-e.start.getTime():0,d=s.default.setOffsetsToDate(e.start,[-a,o]),c=e.min.getTime()-r+o,h=new Date(c-u),f=s.default.setOffsetsToDate(e.max,[-l,o]),p=s.default.getDiffBetweenClientTimezoneOffsets(e.start,d);return{startIntervalDate:d,minViewTime:c,minViewDate:h,maxViewDate:f,startIntervalDateDSTShift:p<0?0:p,appointmentDuration:u}},t._convertRruleResult=function(e,t,n){var i=s.default.setOffsetsToDate(n,[].concat(d(this._getLocalMachineOffset(n)),[-t.appointmentTimezoneOffset,e.startIntervalDateDSTShift])),o=s.default.getDiffBetweenClientTimezoneOffsets(i,n),a=o<0,r=s.default.setOffsetsToDate(i,[o]),l=s.default.getDiffBetweenClientTimezoneOffsets(r,i);return l&&a?new Date(r.getTime()+l):r},t._getLocalMachineOffset=function(e){var t=s.default.getClientTimezoneOffset(e),n=o.default.getMachineTimezoneName(),i=[t],a=t/36e5<=-13,r=!n||v.some((function(e){return n.includes(e)}));return a&&r&&i.push(-864e5),i},t.hasRecurrence=function(e){return!!this.generateDates(e).length},t.evalRecurrenceRule=function(e){var t={rule:{},isValid:!1};return e&&(t.rule=this._parseRecurrenceRule(e),t.isValid=this.validator.validateRRule(t.rule,e)),t},t.isValidRecurrenceRule=function(e){return this.evalRecurrenceRule(e).isValid},t.daysFromByDayRule=function(e){var t=[];return e.byday&&(t=Array.isArray(e.byday)?e.byday:e.byday.split(\",\")),t.map((function(e){var t=e.match(/[A-Za-z]+/);return!!t&&t[0]})).filter((function(e){return!!e}))},t.getAsciiStringByDate=function(e){var t=e.getTimezoneOffset()*f(\"minute\"),n=new Date(e.getTime()+t);return\"\".concat(n.getFullYear()+\"0\".concat(n.getMonth()+1).slice(-2)+\"0\".concat(n.getDate()).slice(-2),\"T\").concat(\"0\".concat(n.getHours()).slice(-2)).concat(\"0\".concat(n.getMinutes()).slice(-2)).concat(\"0\".concat(n.getSeconds()).slice(-2),\"Z\")},t.getRecurrenceString=function(e){if(e&&e.freq){var t=\"\";for(var n in e){var i=e[n];\"interval\"===n&&i<2||(\"until\"===n&&(i=this.getAsciiStringByDate(i)),t+=\"\".concat(n,\"=\").concat(i,\";\"))}return(t=t.substring(0,t.length-1)).toUpperCase()}},t._parseExceptionToRawArray=function(e){return e.match(/(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2}))?(Z)?/)},t.getDateByAsciiString=function(e){if(\"string\"!=typeof e)return e;var t=this._parseExceptionToRawArray(e);if(!t)return null;var n=u(this._createDateTuple(t),7),i=n[0],o=n[1],a=n[2],r=n[3],s=n[4],l=n[5];return n[6]?new Date(Date.UTC(i,o,a,r,s,l)):new Date(i,o,a,r,s,l)},t._dispose=function(){this.rRuleSet&&(delete this.rRuleSet,this.rRuleSet=null),this.rRule&&(delete this.rRule,this.rRule=null)},t._getTimeZoneOffset=function(){return(new Date).getTimezoneOffset()},t._initializeRRule=function(e,t,n){var i=this,o=r.RRule.parseString(e.rule),a=e.firstDayOfWeek;if(o.dtstart=t,!o.wkst&&a){o.wkst=[6,0,1,2,3,4,5][a]}(n&&(o.until=s.default.setOffsetsToDate(n,[-s.default.getClientTimezoneOffset(n),e.appointmentTimezoneOffset])),this._createRRule(o),e.exception)&&e.exception.split(\",\").map((function(e){return i.getDateByAsciiString(e)})).forEach((function(t){e.getPostProcessedException&&(t=e.getPostProcessedException(t));var n=s.default.setOffsetsToDate(t,[-s.default.getClientTimezoneOffset(t),e.appointmentTimezoneOffset]);i.rRuleSet.exdate(n)}))},t._createRRule=function(e){this._dispose(),this.rRuleSet=new r.RRuleSet,this.rRule=new r.RRule(e),this.rRuleSet.rrule(this.rRule)},t._parseRecurrenceRule=function(e){for(var t={},n=e.split(\";\"),i=0,o=n.length;i<o;i++){var a=n[i].split(\"=\"),r=a[0].toLowerCase(),s=a[1];t[r]=s}var l=parseInt(t.count);if(isNaN(l)||(t.count=l),t.interval){var u=parseInt(t.interval);isNaN(u)||(t.interval=u)}else t.interval=1;return t.freq&&t.until&&(t.until=this.getDateByAsciiString(t.until)),t},t._createDateTuple=function(e){var t=void 0!==e[8];return e.shift(),void 0===e[3]?e.splice(3):(e.splice(3,1),e.splice(6)),e[1]--,e.unshift(null),[parseInt(e[1]),parseInt(e[2]),parseInt(e[3]),parseInt(e[4])||0,parseInt(e[5])||0,parseInt(e[6])||0,t]},e}(),w=function(){function e(){}var t=e.prototype;return t.validateRRule=function(e,t){return!(this._brokenRuleNameExists(e)||!g.includes(e.freq)||this._wrongCountRule(e)||this._wrongIntervalRule(e)||this._wrongDayOfWeek(e)||this._wrongByMonthDayRule(e)||this._wrongByMonth(e)||this._wrongUntilRule(e))||(this._logBrokenRule(t),!1)},t._wrongUntilRule=function(e){var t=!1,n=e.until;return void 0===n||n instanceof Date||(t=!0),t},t._wrongCountRule=function(e){var t=!1,n=e.count;return n&&\"string\"==typeof n&&(t=!0),t},t._wrongByMonthDayRule=function(e){var t=!1,n=e.bymonthday;return n&&isNaN(parseInt(n))&&(t=!0),t},t._wrongByMonth=function(e){var t=!1,n=e.bymonth;return n&&isNaN(parseInt(n))&&(t=!0),t},t._wrongIntervalRule=function(e){var t=!1,n=e.interval;return n&&\"string\"==typeof n&&(t=!0),t},t._wrongDayOfWeek=function(e){var t=e.byday,n=b().daysFromByDayRule(e),i=!1;return\"\"===t&&(i=!0),(0,a.each)(n,(function(e,t){if(!Object.prototype.hasOwnProperty.call(m,t))return i=!0,!1})),i},t._brokenRuleNameExists=function(e){var t=!1;return(0,a.each)(e,(function(e){if(!p.includes(e))return t=!0,!1})),t},t._logBrokenRule=function(e){_.includes(e)||(i.default.log(\"W0006\",e),_.push(e))},e}()},70184:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,n(14305);var i=v(n(99393)),o=v(n(73176)),a=v(n(68374)),r=v(n(91198)),s=n(13306),l=n(35922),u=v(n(91500)),d=v(n(28109)),c=n(75296),h=v(n(28236)),f=v(n(29589)),p=v(n(96452)),g=v(n(17737)),m=v(n(34171)),_=n(38227);function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}(e)||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 b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var w=\"dx-recurrence-repeat-end\",C=\"dx-recurrence-numberbox-interval\",S=[{recurrence:\"dxScheduler-recurrenceHourly\",value:\"hourly\"},{recurrence:\"dxScheduler-recurrenceDaily\",value:\"daily\"},{recurrence:\"dxScheduler-recurrenceWeekly\",value:\"weekly\"},{recurrence:\"dxScheduler-recurrenceMonthly\",value:\"monthly\"},{recurrence:\"dxScheduler-recurrenceYearly\",value:\"yearly\"}],k=S.map((function(e){return{text:function(){return d.default.format(e.recurrence)},value:e.value}})),D=[{type:\"never\"},{type:\"until\"},{type:\"count\"}],I=[\"SU\",\"MO\",\"TU\",\"WE\",\"TH\",\"FR\",\"SA\"],T=function(){function e(e){this._recurrenceProcessor=(0,_.getRecurrenceProcessor)(),this._recurrenceProcessor=(0,_.getRecurrenceProcessor)(),this._recurrenceRule=this._recurrenceProcessor.evalRecurrenceRule(e).rule}var t=e.prototype;return t.makeRules=function(e){this._recurrenceRule=this._recurrenceProcessor.evalRecurrenceRule(e).rule},t.makeRule=function(e,t){!t||Array.isArray(t)&&!t.length?delete this._recurrenceRule[e]:(0,l.isDefined)(e)&&(\"until\"===e&&delete this._recurrenceRule.count,\"count\"===e&&delete this._recurrenceRule.until,this._recurrenceRule[e]=t)},t.getRepeatEndRule=function(){var e=this._recurrenceRule;return\"count\"in e?\"count\":\"until\"in e?\"until\":\"never\"},t.getRecurrenceString=function(){return this._recurrenceProcessor.getRecurrenceString(this._recurrenceRule)},t.getRules=function(){return this._recurrenceRule},t.getDaysFromByDayRule=function(){return this._recurrenceProcessor.daysFromByDayRule(this._recurrenceRule)},e}(),E=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,x(t,n);var p=i.prototype;return p._getDefaultOptions=function(){var t=e.prototype._getDefaultOptions.call(this);return(0,s.extend)(t,{value:null,startDate:new Date,firstDayOfWeek:void 0})},p._getFirstDayOfWeek=function(){var e=this.option(\"firstDayOfWeek\");return(0,l.isDefined)(e)?e:u.default.firstDayOfWeekIndex()},p._createComponent=function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._extendConfig(i,{readOnly:this.option(\"readOnly\")}),e.prototype._createComponent.call(this,t,n,i)},p._init=function(){e.prototype._init.call(this),this._recurrenceRule=new T(this.option(\"value\"))},p._render=function(){e.prototype._render.call(this),this.$element().addClass(\"dx-recurrence-editor\"),this._$container=(0,a.default)(\"<div>\").addClass(\"dx-recurrence-editor-container\").appendTo(this.$element()),this._prepareEditors(),this._renderEditors(this._$container)},p.getEditorByField=function(e){var t=this.getRecurrenceForm().getEditor(e);if(!(0,l.isDefined)(t))switch(e){case\"byday\":t=this._weekEditor;break;case\"count\":t=this._repeatCountEditor;break;case\"until\":t=this._repeatUntilDate}return t},p._prepareEditors=function(){var e=(this._recurrenceRule.getRules().freq||S[1].value).toLowerCase();return this._editors=[this._createFreqEditor(e),this._createIntervalEditor(e),this._createRepeatOnLabel(e),{itemType:\"group\",cssClass:\"dx-recurrence-repeat-on\",colCount:2,colCountByScreen:{xs:2},items:this._createRepeatOnEditor(e)},{itemType:\"group\",items:this._createRepeatEndEditor()}],this._editors},p._createFreqEditor=function(e){var t=this;return{dataField:\"freq\",name:\"FREQ\",editorType:\"dxSelectBox\",cssClass:\"dx-recurrence-selectbox-freq\",editorOptions:{items:k,value:e,field:\"freq\",valueExpr:\"value\",displayExpr:\"text\",layout:\"horizontal\",elementAttr:{class:\"dx-recurrence-selectbox-freq\"},onValueChanged:function(e){return t._valueChangedHandler(e)}},label:{text:d.default.format(\"dxScheduler-editorLabelRecurrence\")}}},p._createIntervalEditor=function(e){var t=this,n=this._recurrenceRule.getRules().interval||1;return{itemType:\"group\",colCount:2,cssClass:\"\".concat(C).concat(\"-wrapper\"),colCountByScreen:{xs:2},items:[{dataField:\"interval\",editorType:\"dxNumberBox\",editorOptions:{format:\"#\",width:70,min:1,field:\"interval\",value:n,showSpinButtons:!0,useLargeSpinButtons:!1,elementAttr:{class:C},onValueChanged:function(e){return t._valueChangedHandler(e)}},label:{text:d.default.format(\"dxScheduler-recurrenceRepeatEvery\")}},{name:\"intervalLabel\",cssClass:\"\".concat(C).concat(\"-label\"),template:function(){return d.default.format(\"dxScheduler-recurrenceRepeat\".concat(e.charAt(0).toUpperCase()).concat(e.substr(1).toLowerCase()))}}]}},p._createRepeatOnLabel=function(e){return{itemType:\"group\",cssClass:\"\".concat(\"dx-recurrence-repeat-on\").concat(\"-label\"),items:[{name:\"repeatOnLabel\",colSpan:2,template:function(){return d.default.format(\"dxScheduler-recurrenceRepeatOn\")},visible:e&&\"daily\"!==e&&\"hourly\"!==e}]}},p._createRepeatOnEditor=function(e){return[this._createByDayEditor(e),this._createByMonthEditor(e),this._createByMonthDayEditor(e)]},p._createByDayEditor=function(e){var t=this;return{dataField:\"byday\",colSpan:2,template:function(e,n){var i=t._getFirstDayOfWeek(),o=t._daysOfWeekByRules(),r=u.default.getDayNames(\"abbreviated\"),s=I.slice(i).concat(I.slice(0,i)),l=r.slice(i).concat(r.slice(0,i)).map((function(e,t){return{text:e,key:s[t]}}));t._$repeatOnWeek=(0,a.default)(\"<div>\").addClass(\"dx-recurrence-button-group\").appendTo(n),t._weekEditor=t._createComponent(t._$repeatOnWeek,h.default,{items:l,field:\"byday\",selectionMode:\"multiple\",selectedItemKeys:o,keyExpr:\"key\",onSelectionChanged:function(e){var n=e.component.option(\"selectedItemKeys\"),i=(null==n?void 0:n.length)?n:t._getDefaultByDayValue();t._recurrenceRule.makeRule(\"byday\",i),t._changeEditorValue()}})},visible:\"weekly\"===e,label:{visible:!1}}},p._createByMonthEditor=function(e){var t=this,n=u.default.getMonthNames(\"wide\");return{dataField:\"bymonth\",editorType:\"dxSelectBox\",editorOptions:{field:\"bymonth\",items:y(Array(12)).map((function(e,t){return{value:\"\".concat(t+1),text:n[t]}})),value:this._monthOfYearByRules(),width:120,displayExpr:\"text\",valueExpr:\"value\",elementAttr:{class:\"dx-recurrence-selectbox-month-of-year\"},onValueChanged:function(e){return t._valueChangedHandler(e)}},visible:\"yearly\"===e,label:{visible:!1}}},p._createByMonthDayEditor=function(e){var t=this;return{dataField:\"bymonthday\",editorType:\"dxNumberBox\",editorOptions:{min:1,max:31,format:\"#\",width:70,field:\"bymonthday\",showSpinButtons:!0,useLargeSpinButtons:!1,value:this._dayOfMonthByRules(),elementAttr:{class:\"dx-recurrence-numberbox-day-of-month\"},onValueChanged:function(e){return t._valueChangedHandler(e)}},visible:\"monthly\"===e||\"yearly\"===e,label:{visible:!1}}},p._createRepeatEndEditor=function(){var e=this,t=this._recurrenceRule.getRepeatEndRule();return[{dataField:\"repeatEnd\",editorType:\"dxRadioGroup\",editorOptions:{items:D,value:t,valueExpr:\"type\",field:\"repeatEnd\",itemTemplate:function(t){return\"count\"===t.type?e._renderRepeatCountEditor():\"until\"===t.type?e._renderRepeatUntilEditor():e._renderDefaultRepeatEnd()},layout:\"vertical\",elementAttr:{class:\"dx-recurrence-radiogroup-repeat-type\"},onValueChanged:function(t){return e._repeatEndValueChangedHandler(t)}},label:{text:d.default.format(\"dxScheduler-recurrenceEnd\")}}]},p._renderEditors=function(e){this._recurrenceForm=this._createComponent(e,g.default,{items:this._editors,showValidationSummary:!1,scrollingEnabled:!0,showColonAfterLabel:!1,labelLocation:\"top\"}),this._disableRepeatEndParts()},p._setAriaDescribedBy=function(e,t){var n=\"label-\".concat(new o.default);e.setAria(\"describedby\",n),e.setAria(\"id\",n,t)},p.getRecurrenceForm=function(){return this._recurrenceForm},p.changeValueByVisibility=function(e){e?this.option(\"value\")||this._handleDefaults():(this._recurrenceRule.makeRules(\"\"),this.option(\"value\",\"\"))},p._handleDefaults=function(){this._recurrenceRule.makeRule(\"freq\",S[1].value),this._changeEditorValue()},p._changeEditorValue=function(){this.option(\"value\",this._recurrenceRule.getRecurrenceString()||\"\")},p._daysOfWeekByRules=function(){var e=this._recurrenceRule.getDaysFromByDayRule();return e.length||(e=this._getDefaultByDayValue()),e},p._getDefaultByDayValue=function(){var e=this.option(\"startDate\").getDay();return[I[e]]},p._dayOfMonthByRules=function(){var e=this._recurrenceRule.getRules().bymonthday;return e||(e=this.option(\"startDate\").getDate()),e},p._monthOfYearByRules=function(){var e=this._recurrenceRule.getRules().bymonth;return e||(e=this.option(\"startDate\").getMonth()+1),String(e)},p._renderDefaultRepeatEnd=function(){var e=(0,a.default)(\"<div>\").addClass(w+\"-wrapper\");return(0,a.default)(\"<div>\").text(d.default.format(\"dxScheduler-recurrenceNever\")).addClass(w+\"-label\").appendTo(e),e},p._repeatEndValueChangedHandler=function(e){var t=e.value;this._disableRepeatEndParts(t),\"until\"===t&&this._recurrenceRule.makeRule(t,this._getUntilValue()),\"count\"===t&&this._recurrenceRule.makeRule(t,this._repeatCountEditor.option(\"value\")),\"never\"===t&&(this._recurrenceRule.makeRule(\"count\",\"\"),this._recurrenceRule.makeRule(\"until\",\"\")),this._changeEditorValue()},p._disableRepeatEndParts=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._recurrenceRule.getRepeatEndRule();\"until\"===e&&(this._repeatCountEditor.option(\"disabled\",!0),this._repeatUntilDate.option(\"disabled\",!1)),\"count\"===e&&(this._repeatCountEditor.option(\"disabled\",!1),this._repeatUntilDate.option(\"disabled\",!0)),\"never\"===e&&(this._repeatCountEditor.option(\"disabled\",!0),this._repeatUntilDate.option(\"disabled\",!0))},p._renderRepeatCountEditor=function(){var e=this._recurrenceRule.getRules().count||1,t=(0,a.default)(\"<div>\").addClass(w+\"-wrapper\");return(0,a.default)(\"<div>\").text(d.default.format(\"dxScheduler-recurrenceAfter\")).addClass(w+\"-label\").appendTo(t),this._$repeatCountEditor=(0,a.default)(\"<div>\").addClass(\"dx-recurrence-numberbox-repeat-count\").appendTo(t),(0,a.default)(\"<div>\").text(d.default.format(\"dxScheduler-recurrenceRepeatCount\")).addClass(w+\"-label\").appendTo(t),this._repeatCountEditor=this._createComponent(this._$repeatCountEditor,m.default,{field:\"count\",format:\"#\",width:70,min:1,showSpinButtons:!0,useLargeSpinButtons:!1,value:e,onValueChanged:this._repeatCountValueChangeHandler.bind(this)}),t},p._repeatCountValueChangeHandler=function(e){if(\"count\"===this._recurrenceRule.getRepeatEndRule()){var t=e.value;this._recurrenceRule.makeRule(\"count\",t),this._changeEditorValue()}},p._formatUntilDate=function(e){return this._recurrenceRule.getRules().until&&r.default.sameDate(this._recurrenceRule.getRules().until,e)?e:r.default.setToDayEnd(e)},p._renderRepeatUntilEditor=function(){var e=this._getUntilValue(),t=(0,a.default)(\"<div>\").addClass(w+\"-wrapper\");return(0,a.default)(\"<div>\").text(d.default.format(\"dxScheduler-recurrenceOn\")).addClass(w+\"-label\").appendTo(t),this._$repeatDateEditor=(0,a.default)(\"<div>\").addClass(\"dx-recurrence-datebox-until-date\").appendTo(t),this._repeatUntilDate=this._createComponent(this._$repeatDateEditor,f.default,{field:\"until\",value:e,type:\"date\",onValueChanged:this._repeatUntilValueChangeHandler.bind(this),calendarOptions:{firstDayOfWeek:this._getFirstDayOfWeek()},useMaskBehavior:!0}),t},p._repeatUntilValueChangeHandler=function(e){if(\"until\"===this._recurrenceRule.getRepeatEndRule()){var t=this._formatUntilDate(new Date(e.value)),n=this.option(\"getStartDateTimeZone\")(),i=n?c.PathTimeZoneConversion.fromAppointmentToSource:c.PathTimeZoneConversion.fromGridToSource,o=this.option(\"timeZoneCalculator\").createDate(t,{path:i,appointmentTimeZone:n});this._recurrenceRule.makeRule(\"until\",o),this._changeEditorValue()}},p._valueChangedHandler=function(e){var t=e.value,n=e.previousValue,i=e.component.option(\"field\");this.option(\"visible\")?(this._recurrenceRule.makeRule(i,t),\"freq\"===i&&(this._makeRepeatOnRule(t),this._changeRepeatOnVisibility(t,n)),this._changeEditorValue()):this.option(\"value\",\"\")},p._makeRepeatOnRule=function(e){\"daily\"!==e&&\"hourly\"!==e||(this._recurrenceRule.makeRule(\"byday\",\"\"),this._recurrenceRule.makeRule(\"bymonth\",\"\"),this._recurrenceRule.makeRule(\"bymonthday\",\"\")),\"weekly\"===e&&(this._recurrenceRule.makeRule(\"byday\",this._daysOfWeekByRules()),this._recurrenceRule.makeRule(\"bymonth\",\"\"),this._recurrenceRule.makeRule(\"bymonthday\",\"\")),\"monthly\"===e&&(this._recurrenceRule.makeRule(\"bymonthday\",this._dayOfMonthByRules()),this._recurrenceRule.makeRule(\"bymonth\",\"\"),this._recurrenceRule.makeRule(\"byday\",\"\")),\"yearly\"===e&&(this._recurrenceRule.makeRule(\"bymonthday\",this._dayOfMonthByRules()),this._recurrenceRule.makeRule(\"bymonth\",this._monthOfYearByRules()),this._recurrenceRule.makeRule(\"byday\",\"\"))},p._optionChanged=function(t){var n,i,o,a;switch(t.name){case\"readOnly\":null===(n=this._recurrenceForm)||void 0===n||n.option(\"readOnly\",t.value),null===(i=this._repeatCountEditor)||void 0===i||i.option(\"readOnly\",t.value),null===(o=this._weekEditor)||void 0===o||o.option(\"readOnly\",t.value),null===(a=this._repeatUntilDate)||void 0===a||a.option(\"readOnly\",t.value),e.prototype._optionChanged.call(this,t);break;case\"value\":this._recurrenceRule.makeRules(t.value),this._changeRepeatIntervalLabel(),this._disableRepeatEndParts(),this._changeEditorsValue(this._recurrenceRule.getRules()),e.prototype._optionChanged.call(this,t);break;case\"startDate\":this._makeRepeatOnRule(this._recurrenceRule.getRules().freq),(0,l.isDefined)(this._recurrenceRule.getRecurrenceString())&&this._changeEditorValue();break;case\"firstDayOfWeek\":if(this._weekEditor){var r=u.default.getDayNames(\"abbreviated\"),s=I.slice(t.value).concat(I.slice(0,t.value)),d=r.slice(t.value).concat(r.slice(0,t.value)).map((function(e,t){return{text:e,key:s[t]}}));this._weekEditor.option(\"items\",d)}this._$repeatDateEditor&&this._repeatUntilDate.option(\"calendarOptions.firstDayOfWeek\",this._getFirstDayOfWeek());break;default:e.prototype._optionChanged.call(this,t)}},p._changeRepeatOnVisibility=function(e,t){e!==t&&(this._recurrenceForm.itemOption(\"byday\",\"visible\",!1),this._recurrenceForm.itemOption(\"bymonthday\",\"visible\",!1),this._recurrenceForm.itemOption(\"bymonth\",\"visible\",!1),this._recurrenceForm.itemOption(\"repeatOnLabel\",\"visible\",e&&\"daily\"!==e&&\"hourly\"!==e),\"weekly\"===e&&this._recurrenceForm.itemOption(\"byday\",\"visible\",!0),\"monthly\"===e&&this._recurrenceForm.itemOption(\"bymonthday\",\"visible\",!0),\"yearly\"===e&&(this._recurrenceForm.itemOption(\"bymonthday\",\"visible\",!0),this._recurrenceForm.itemOption(\"bymonth\",\"visible\",!0)))},p._changeRepeatIntervalLabel=function(){var e=this._recurrenceRule.getRules().freq;e&&this._recurrenceForm.itemOption(\"intervalLabel\",\"template\",d.default.format(\"dxScheduler-recurrenceRepeat\".concat(e.charAt(0).toUpperCase()).concat(e.substr(1).toLowerCase())))},p._changeEditorsValue=function(e){this._recurrenceForm.getEditor(\"freq\").option(\"value\",(e.freq||S[1].value).toLowerCase()),this._changeDayOfWeekValue(),this._changeDayOfMonthValue(),this._changeMonthOfYearValue(),this._changeIntervalValue(e.interval),this._changeRepeatCountValue(),this._changeRepeatEndValue(),this._changeRepeatUntilValue()},p._changeIntervalValue=function(e){this._recurrenceForm.getEditor(\"interval\").option(\"value\",e||1)},p._changeRepeatEndValue=function(){var e=this._recurrenceRule.getRepeatEndRule();this._recurrenceForm.getEditor(\"repeatEnd\").option(\"value\",e)},p._changeDayOfWeekValue=function(){if(this._recurrenceForm.itemOption(\"byday\").visible){var e=this._daysOfWeekByRules();this.getEditorByField(\"byday\").option(\"selectedItemKeys\",e)}},p._changeDayOfMonthValue=function(){if(this._recurrenceForm.itemOption(\"bymonthday\").visible){var e=this._dayOfMonthByRules();this._recurrenceForm.getEditor(\"bymonthday\").option(\"value\",e)}},p._changeMonthOfYearValue=function(){if(this._recurrenceForm.itemOption(\"bymonth\").visible){var e=this._monthOfYearByRules();this._recurrenceForm.getEditor(\"bymonth\").option(\"value\",e)}},p._changeRepeatCountValue=function(){var e=this._recurrenceRule.getRules().count||1;this._repeatCountEditor.option(\"value\",e)},p._changeRepeatUntilValue=function(){this._repeatUntilDate.option(\"value\",this._getUntilValue())},p._getUntilValue=function(){var e=this._recurrenceRule.getRules().until;if(!e)return this._formatUntilDate(new Date);var t=this.option(\"getStartDateTimeZone\")(),n=t?c.PathTimeZoneConversion.fromSourceToAppointment:c.PathTimeZoneConversion.fromSourceToGrid;return this.option(\"timeZoneCalculator\").createDate(e,{path:n,appointmentTimeZone:t})},p.toggle=function(){this._freqEditor.focus()},p.setAria=function(){this._switchEditor&&this._switchEditor.setAria(arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1])},i}(p.default);(0,i.default)(\"dxRecurrenceEditor\",E);var O=E;t.default=O},97468:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=de(n(99393)),a=de(n(80209)),r=de(n(20530)),s=de(n(68374)),l=n(93280),u=n(10688),d=de(n(44504)),c=n(20576),h=n(47617),f=de(n(91198)),p=de(n(69434)),g=n(62754),m=n(13306),_=n(95479),v=n(37518),y=n(35922),b=n(58201),x=de(n(53305)),w=n(80506),C=de(n(91500)),S=de(n(28109)),k=n(96801),D=n(75837),I=n(92198),T=n(46858),E=n(74951),O=n(45985),A=n(15029),P=n(75811),M=de(n(96688)),R=de(n(14390)),B=n(25387),L=n(77135),V=n(92823),F=de(n(16993)),H=n(97938),N=n(5757),z=n(72734),j=de(n(43919)),W=n(38088),G=n(98865),q=n(30906),$=n(28066),U=n(38227),K=de(n(86681)),Z=n(84110),Y=de(n(57880)),X=n(547),Q=n(31359),J=n(48158),ee=n(60737),te=de(n(32316)),ne=de(n(10356)),ie=de(n(91274)),oe=de(n(32414)),ae=de(n(23855)),re=de(n(74228)),se=de(n(50011)),le=de(n(36828)),ue=de(n(29544));function de(e){return e&&e.__esModule?e:{default:e}}function ce(){return(ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function he(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function fe(e,t){return(fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var pe=\"\".concat(\"dx-scheduler\",\"-small\"),ge=\"\".concat(\"dx-scheduler\",\"-adaptive\"),me=\"\".concat(\"dx-scheduler\",\"-readonly\"),_e=\"\".concat(\"yyyyMMddTHHmmss\",\"Z\"),ve={day:{workSpace:re.default,renderingStrategy:\"vertical\"},week:{workSpace:le.default,renderingStrategy:\"vertical\"},workWeek:{workSpace:ue.default,renderingStrategy:\"vertical\"},month:{workSpace:se.default,renderingStrategy:\"horizontalMonth\"},timelineDay:{workSpace:ne.default,renderingStrategy:\"horizontal\"},timelineWeek:{workSpace:oe.default,renderingStrategy:\"horizontal\"},timelineWorkWeek:{workSpace:ae.default,renderingStrategy:\"horizontal\"},timelineMonth:{workSpace:ie.default,renderingStrategy:\"horizontalMonthLine\"},agenda:{workSpace:te.default,renderingStrategy:\"agenda\"}},ye=\"onAppointmentAdding\",be=\"onAppointmentAdded\",xe=\"onAppointmentDeleting\",we=\"onAppointmentDeleted\",Ce=\"onAppointmentUpdating\",Se=\"onAppointmentUpdated\",ke=\"editSeries\",De=\"editOccurence\",Ie=\"cancel\",Te=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,fe(t,n);var o,x,R,te=i.prototype;return te._getDefaultOptions=function(){var t=(0,m.extend)(e.prototype._getDefaultOptions.call(this),{views:[\"day\",\"week\"],currentView:\"day\",currentDate:f.default.trimTime(new Date),min:void 0,max:void 0,dateSerializationFormat:void 0,firstDayOfWeek:void 0,groups:[],resources:[],loadedResources:[],resourceLoaderMap:new Map,dataSource:null,customizeDateNavigatorText:void 0,appointmentTemplate:\"item\",dropDownAppointmentTemplate:\"dropDownAppointment\",appointmentCollectorTemplate:\"appointmentCollector\",dataCellTemplate:null,timeCellTemplate:null,resourceCellTemplate:null,dateCellTemplate:null,startDayHour:0,endDayHour:24,editing:{allowAdding:!0,allowDeleting:!0,allowDragging:!0,allowResizing:!0,allowUpdating:!0,allowTimeZoneEditing:!1},showAllDayPanel:!0,showCurrentTimeIndicator:!0,shadeUntilCurrentTime:!1,indicatorUpdateInterval:3e5,indicatorTime:void 0,recurrenceEditMode:\"dialog\",cellDuration:30,maxAppointmentsPerCell:\"auto\",selectedCellData:[],groupByDate:!1,onAppointmentRendered:null,onAppointmentClick:null,onAppointmentDblClick:null,onAppointmentContextMenu:null,onCellClick:null,onCellContextMenu:null,onAppointmentAdding:null,onAppointmentAdded:null,onAppointmentUpdating:null,onAppointmentUpdated:null,onAppointmentDeleting:null,onAppointmentDeleted:null,onAppointmentFormOpening:null,onAppointmentTooltipShowing:null,appointmentTooltipTemplate:\"appointmentTooltip\",appointmentPopupTemplate:\"appointmentPopup\",crossScrollingEnabled:!1,useDropDownViewSwitcher:!1,startDateExpr:\"startDate\",endDateExpr:\"endDate\",textExpr:\"text\",descriptionExpr:\"description\",allDayExpr:\"allDay\",recurrenceRuleExpr:\"recurrenceRule\",recurrenceExceptionExpr:\"recurrenceException\",disabledExpr:\"disabled\",remoteFiltering:!1,timeZone:\"\",startDateTimeZoneExpr:\"startDateTimeZone\",endDateTimeZoneExpr:\"endDateTimeZone\",noDataText:S.default.format(\"dxCollectionWidget-noDataText\"),adaptivityEnabled:!1,allowMultipleCellSelection:!0,scrolling:{mode:\"standard\"},allDayPanelMode:\"all\",renovateRender:!0,_draggingMode:\"outlook\",_appointmentTooltipOffset:{x:0,y:0},_appointmentTooltipButtonsPosition:\"bottom\",_appointmentTooltipOpenButtonText:S.default.format(\"dxScheduler-openAppointment\"),_appointmentCountPerCell:2,_collectorOffset:0,_appointmentOffset:26,toolbar:[{location:\"before\",defaultElement:\"dateNavigator\"},{location:\"after\",defaultElement:\"viewSwitcher\"}]});return(0,m.extend)(!0,t,{integrationOptions:{useDeferUpdateForTemplates:!1}})},te._setDeprecatedOptions=function(){e.prototype._setDeprecatedOptions.call(this),(0,m.extend)(this._deprecatedOptions,{dropDownAppointmentTemplate:{since:\"19.2\",message:\"appointmentTooltipTemplate\"}})},te._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return\"desktop\"===r.default.real().deviceType&&!r.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return!r.default.current().generic},options:{useDropDownViewSwitcher:!0,editing:{allowDragging:!1,allowResizing:!1}}},{device:function(){return(0,P.isMaterial)()},options:{useDropDownViewSwitcher:!0,dateCellTemplate:function(e,t,n){e.text.split(\" \").forEach((function(e,t){var i=(0,s.default)(\"<span>\").text(e).addClass(\"dx-scheduler-header-panel-cell-date\");(0,s.default)(n).append(i),t||(0,s.default)(n).append(\" \")}))},_appointmentTooltipOffset:{x:0,y:11},_appointmentTooltipButtonsPosition:\"top\",_appointmentTooltipOpenButtonText:null,_appointmentCountPerCell:1,_collectorOffset:20,_appointmentOffset:30}}])},te._postponeDataSourceLoading=function(e){this.postponedOperations.add(\"_reloadDataSource\",this._reloadDataSource.bind(this),e)},te._postponeResourceLoading=function(){var e=this,t=this.postponedOperations.add(\"loadResources\",(function(){var t=e._getCurrentViewOption(\"groups\");return(0,Q.loadResources)(t,e.option(\"resources\"),e.option(\"resourceLoaderMap\"))})),n=new g.Deferred;return t.done((function(t){e.option(\"loadedResources\",t),n.resolve(t)})),this._postponeDataSourceLoading(t),n.promise()},te._optionChanged=function(t){var n,i,o,a,r=this,s=t.value,l=t.name;switch(t.name){case\"customizeDateNavigatorText\":this._updateOption(\"header\",l,s);break;case\"firstDayOfWeek\":this._updateOption(\"workSpace\",l,s),this._updateOption(\"header\",l,s);break;case\"currentDate\":s=this._dateOption(l),s=f.default.trimTime(new Date(s)),this.option(\"selectedCellData\",[]),this._workSpace.option(l,new Date(s)),null===(n=this._header)||void 0===n||n.option(l,new Date(s)),null===(i=this._header)||void 0===i||i.option(\"startViewDate\",this.getStartViewDate()),this._appointments.option(\"items\",[]),this._filterAppointmentsByDate(),this._postponeDataSourceLoading();break;case\"dataSource\":this._initDataSource(),this.appointmentDataProvider.setDataSource(this._dataSource),this._postponeResourceLoading().done((function(){r._filterAppointmentsByDate(),r._updateOption(\"workSpace\",\"showAllDayPanel\",r.option(\"showAllDayPanel\"))}));break;case\"min\":case\"max\":s=this._dateOption(l),this._updateOption(\"header\",l,new Date(s)),this._updateOption(\"workSpace\",l,new Date(s));break;case\"views\":this._getCurrentViewOptions()?this.repaint():null===(o=this._header)||void 0===o||o.option(l,s);break;case\"useDropDownViewSwitcher\":null===(a=this._header)||void 0===a||a.option(l,s);break;case\"currentView\":this._validateDayHours(),this._validateCellDuration(),this._appointments.option({items:[],allowDrag:this._allowDragging(),allowResize:this._allowResizing(),itemTemplate:this._getAppointmentTemplate(\"appointmentTemplate\")}),this._postponeResourceLoading().done((function(e){var t;r._refreshWorkSpace(e),null===(t=r._header)||void 0===t||t.option(r._headerConfig()),r._filterAppointmentsByDate(),r._appointments.option(\"allowAllDayResize\",\"day\"!==s)})),this.postponedOperations.callPostponedOperations();break;case\"appointmentTemplate\":this._appointments.option(\"itemTemplate\",s);break;case\"dateCellTemplate\":case\"resourceCellTemplate\":case\"dataCellTemplate\":case\"timeCellTemplate\":this.repaint();break;case\"groups\":this._postponeResourceLoading().done((function(e){r._refreshWorkSpace(e),r._filterAppointmentsByDate()}));break;case\"resources\":this._dataAccessors.resources=(0,Q.createExpressions)(this.option(\"resources\")),this.agendaResourceProcessor.initializeState(this.option(\"resources\")),this.updateInstances(),this._postponeResourceLoading().done((function(e){r._appointments.option(\"items\",[]),r._refreshWorkSpace(e),r._filterAppointmentsByDate(),r._createAppointmentPopupForm()}));break;case\"startDayHour\":case\"endDayHour\":this._validateDayHours(),this.updateInstances(),this._appointments.option(\"items\",[]),this._updateOption(\"workSpace\",l,s),this._appointments.repaint(),this._filterAppointmentsByDate(),this._postponeDataSourceLoading();break;case ye:case be:case Ce:case Se:case xe:case we:case\"onAppointmentFormOpening\":case\"onAppointmentTooltipShowing\":this._actions[l]=this._createActionByOption(l);break;case\"onAppointmentRendered\":this._appointments.option(\"onItemRendered\",this._getAppointmentRenderedAction());break;case\"onAppointmentClick\":this._appointments.option(\"onItemClick\",this._createActionByOption(l));break;case\"onAppointmentDblClick\":this._appointments.option(l,this._createActionByOption(l));break;case\"onAppointmentContextMenu\":this._appointments.option(\"onItemContextMenu\",this._createActionByOption(l)),this._appointmentTooltip._options.onItemContextMenu=this._createActionByOption(l);break;case\"noDataText\":case\"allowMultipleCellSelection\":case\"selectedCellData\":case\"accessKey\":case\"onCellClick\":case\"onCellContextMenu\":this._workSpace.option(l,s);break;case\"crossScrollingEnabled\":this._postponeResourceLoading().done((function(e){r._appointments.option(\"items\",[]),r._refreshWorkSpace(e),r._readyToRenderAppointments&&r._appointments.option(\"items\",r._getAppointmentsToRepaint())}));break;case\"cellDuration\":this._validateCellDuration(),this._updateOption(\"workSpace\",l,s),this._appointments.option(\"items\",[]),this._readyToRenderAppointments&&(this._updateOption(\"workSpace\",\"hoursInterval\",s/60),this._appointments.option(\"items\",this._getAppointmentsToRepaint()));break;case\"tabIndex\":case\"focusStateEnabled\":this._updateOption(\"header\",l,s),this._updateOption(\"workSpace\",l,s),this._appointments.option(l,s),e.prototype._optionChanged.call(this,t);break;case\"width\":this._updateOption(\"header\",l,s),this.option(\"crossScrollingEnabled\")&&this._updateOption(\"workSpace\",\"width\",s),this._updateOption(\"workSpace\",\"schedulerWidth\",s),e.prototype._optionChanged.call(this,t),this._dimensionChanged(null,!0);break;case\"height\":e.prototype._optionChanged.call(this,t),this._dimensionChanged(null,!0),this._updateOption(\"workSpace\",\"schedulerHeight\",s);break;case\"editing\":this._initEditing();var u=this._editing;this._bringEditingModeToAppointments(u),this.hideAppointmentTooltip(),this._cleanPopup();break;case\"showAllDayPanel\":this.updateInstances(),this.repaint();break;case\"showCurrentTimeIndicator\":case\"indicatorTime\":case\"indicatorUpdateInterval\":case\"shadeUntilCurrentTime\":case\"groupByDate\":this._updateOption(\"workSpace\",l,s),this.repaint();break;case\"appointmentDragging\":case\"appointmentTooltipTemplate\":case\"appointmentPopupTemplate\":case\"recurrenceEditMode\":case\"remoteFiltering\":case\"timeZone\":this.updateInstances(),this.repaint();break;case\"dropDownAppointmentTemplate\":case\"appointmentCollectorTemplate\":case\"_appointmentTooltipOffset\":case\"_appointmentTooltipButtonsPosition\":case\"_appointmentTooltipOpenButtonText\":case\"_appointmentCountPerCell\":case\"_collectorOffset\":case\"_appointmentOffset\":this.repaint();break;case\"dateSerializationFormat\":case\"maxAppointmentsPerCell\":break;case\"startDateExpr\":case\"endDateExpr\":case\"startDateTimeZoneExpr\":case\"endDateTimeZoneExpr\":case\"textExpr\":case\"descriptionExpr\":case\"allDayExpr\":case\"recurrenceRuleExpr\":case\"recurrenceExceptionExpr\":case\"disabledExpr\":this._updateExpression(l,s),this.appointmentDataProvider.updateDataAccessors(this._dataAccessors),this._initAppointmentTemplate(),this.repaint();break;case\"adaptivityEnabled\":this._toggleAdaptiveClass(),this.repaint();break;case\"scrolling\":this.option(\"crossScrollingEnabled\",this._isHorizontalVirtualScrolling()||this.option(\"crossScrollingEnabled\")),this._updateOption(\"workSpace\",t.fullName,s);break;case\"allDayPanelMode\":this._updateOption(\"workSpace\",t.fullName,s);break;case\"renovateRender\":this._updateOption(\"workSpace\",l,s);break;case\"_draggingMode\":this._workSpace.option(\"draggingMode\",s);break;case\"toolbar\":this._header?this._header.option(\"items\",s):this.repaint();break;case\"loadedResources\":case\"resourceLoaderMap\":break;default:e.prototype._optionChanged.call(this,t)}},te._dateOption=function(e){var t=this._getCurrentViewOption(e);return p.default.deserializeDate(t)},te._getSerializationFormat=function(e){var t=this._getCurrentViewOption(e);return\"number\"==typeof t?\"number\":(0,y.isString)(t)?p.default.getDateSerializationFormat(t):void 0},te._bringEditingModeToAppointments=function(e){var t={allowDelete:e.allowUpdating&&e.allowDeleting};this._isAgenda()||(t.allowDrag=e.allowDragging,t.allowResize=e.allowResizing,t.allowAllDayResize=e.allowResizing&&this._supportAllDayResizing()),this._appointments.option(t),this.repaint()},te._isAgenda=function(){return\"agenda\"===this.getLayoutManager().appointmentRenderingStrategyName},te._allowDragging=function(){return this._editing.allowDragging&&!this._isAgenda()},te._allowResizing=function(){return this._editing.allowResizing&&!this._isAgenda()},te._allowAllDayResizing=function(){return this._editing.allowResizing&&this._supportAllDayResizing()},te._supportAllDayResizing=function(){return\"day\"!==this.currentViewType||this.currentView.intervalCount>1},te._isAllDayExpanded=function(){return this.option(\"showAllDayPanel\")&&this.appointmentDataProvider.hasAllDayAppointments(this.filteredItems,this.preparedItems)},te._getTimezoneOffsetByOption=function(e){return Y.default.calculateTimezoneByValue(this.option(\"timeZone\"),e)},te._filterAppointmentsByDate=function(){var e=this._workSpace.getDateRange(),t=this.timeZoneCalculator.createDate(e[0],{path:\"fromGrid\"}),n=this.timeZoneCalculator.createDate(e[1],{path:\"fromGrid\"});this.appointmentDataProvider.filterByDate(t,n,this.option(\"remoteFiltering\"),this.option(\"dateSerializationFormat\"))},te._reloadDataSource=function(){var e=this,t=new g.Deferred;return this._dataSource?(this._dataSource.load().done((function(){(0,$.hide)(),e._fireContentReadyAction(t)})).fail((function(){(0,$.hide)(),t.reject()})),this._dataSource.isLoading()&&(0,$.show)({container:this.$element(),position:{of:this.$element()}})):this._fireContentReadyAction(t),t.promise()},te._fireContentReadyAction=function(t){var n,i=e.prototype._fireContentReadyAction.bind(this),o=function(){i(),null==t||t.resolve()};this._workSpaceRecalculation?null===(n=this._workSpaceRecalculation)||void 0===n||n.done((function(){o()})):o()},te._dimensionChanged=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=\"number\"==typeof this.option(\"height\"),i=\"number\"==typeof this.option(\"width\");if(this._isVisible()){this._toggleSmallClass();var o=this.getWorkSpace();if(!this._isAgenda()&&this.filteredItems&&o&&(t||!n||!i)){o.option(\"allDayExpanded\",this._isAllDayExpanded()),o._dimensionChanged();var a=this.getLayoutManager().createAppointmentsMap(this.filteredItems);this._appointments.option(\"items\",a)}this.hideAppointmentTooltip(),this._appointmentPopup.triggerResize(),this._appointmentPopup.updatePopupFullScreenMode()}},te._clean=function(){this._cleanPopup(),e.prototype._clean.call(this)},te._toggleSmallClass=function(){var e=(0,v.getBoundingRect)(this.$element().get(0)).width;this.$element().toggleClass(pe,e<400)},te._toggleAdaptiveClass=function(){this.$element().toggleClass(ge,this.option(\"adaptivityEnabled\"))},te._visibilityChanged=function(e){e&&this._dimensionChanged(null,!0)},te._dataSourceOptions=function(){return{paginate:!1}},te._initAllDayPanel=function(){\"hidden\"===this.option(\"allDayPanelMode\")&&this.option(\"showAllDayPanel\",!1)},te._init=function(){this._initExpressions({startDate:this.option(\"startDateExpr\"),endDate:this.option(\"endDateExpr\"),startDateTimeZone:this.option(\"startDateTimeZoneExpr\"),endDateTimeZone:this.option(\"endDateTimeZoneExpr\"),allDay:this.option(\"allDayExpr\"),text:this.option(\"textExpr\"),description:this.option(\"descriptionExpr\"),recurrenceRule:this.option(\"recurrenceRuleExpr\"),recurrenceException:this.option(\"recurrenceExceptionExpr\"),disabled:this.option(\"disabledExpr\")}),e.prototype._init.call(this),this._initAllDayPanel(),this._initDataSource(),this._customizeDataSourceLoadOptions(),this.$element().addClass(\"dx-scheduler\"),this._initEditing(),this.updateInstances(),this._initActions(),this._compactAppointmentsHelper=new W.CompactAppointmentsHelper(this),this._asyncTemplatesTimers=[],this._dataSourceLoadedCallback=(0,d.default)(),this._subscribes=K.default,this.agendaResourceProcessor=new X.AgendaResourceProcessor(this.option(\"resources\"))},te.createAppointmentDataProvider=function(){var e,t=this;null===(e=this.appointmentDataProvider)||void 0===e||e.destroy(),this.appointmentDataProvider=new V.AppointmentDataProvider({dataSource:this._dataSource,dataAccessors:this._dataAccessors,timeZoneCalculator:this.timeZoneCalculator,dateSerializationFormat:this.option(\"dateSerializationFormat\"),resources:this.option(\"resources\"),startDayHour:this._getCurrentViewOption(\"startDayHour\"),endDayHour:this._getCurrentViewOption(\"endDayHour\"),appointmentDuration:this._getCurrentViewOption(\"cellDuration\"),allDayPanelMode:this._getCurrentViewOption(\"allDayPanelMode\"),showAllDayPanel:this.option(\"showAllDayPanel\"),getLoadedResources:function(){return t.option(\"loadedResources\")},getIsVirtualScrolling:function(){return t.isVirtualScrolling()},getSupportAllDayRow:function(){return t._workSpace.supportAllDayRow()},getViewType:function(){return t._workSpace.type},getViewDirection:function(){return t._workSpace.viewDirection},getDateRange:function(){return t._workSpace.getDateRange()},getGroupCount:function(){return t._workSpace._getGroupCount()},getViewDataProvider:function(){return t._workSpace.viewDataProvider}})},te.updateInstances=function(){this._timeZoneCalculator=null,this.getWorkSpace()&&this.createAppointmentDataProvider()},te._customizeDataSourceLoadOptions=function(){var e,t=this;null===(e=this._dataSource)||void 0===e||e.on(\"customizeStoreLoadOptions\",(function(e){var n=e.storeLoadOptions;n.startDate=t.getStartViewDate(),n.endDate=t.getEndViewDate()}))},te._initTemplates=function(){this._initAppointmentTemplate(),this._templateManager.addDefaultTemplates({appointmentTooltip:new u.EmptyTemplate,dropDownAppointment:new u.EmptyTemplate}),e.prototype._initTemplates.call(this)},te._initAppointmentTemplate=function(){var e=this,t=this._dataAccessors.expr,n=function(e){return(0,h.compileGetter)(\"appointmentData.\".concat(e))},i=function(e){return function(t){var n=e(t);return n instanceof Date?n.valueOf():n}};this._templateManager.addDefaultTemplates({item:new l.BindableTemplate((function(t,n,i){return e.getAppointmentsInstance()._renderAppointmentTemplate(t,n,i)}),[\"html\",\"text\",\"startDate\",\"endDate\",\"allDay\",\"description\",\"recurrenceRule\",\"recurrenceException\",\"startDateTimeZone\",\"endDateTimeZone\"],this.option(\"integrationOptions.watchMethod\"),{text:n(t.textExpr),startDate:i(n(t.startDateExpr)),endDate:i(n(t.endDateExpr)),startDateTimeZone:n(t.startDateTimeZoneExpr),endDateTimeZone:n(t.endDateTimeZoneExpr),allDay:n(t.allDayExpr),recurrenceRule:n(t.recurrenceRuleExpr)})})},te._renderContent=function(){this._renderContentImpl()},te._updatePreparedItems=function(e){this.preparedItems=(0,T.getPreparedDataItems)(e,this._dataAccessors,this._getCurrentViewOption(\"cellDuration\"),this.timeZoneCalculator)},te._dataSourceChangedHandler=function(e){var t=this;this._readyToRenderAppointments&&this._workSpaceRecalculation.done((function(){t._updatePreparedItems(e),t._renderAppointments(),t.getWorkSpace().onDataSourceChanged(t.filteredItems)}))},te.isVirtualScrolling=function(){var e,t=this.getWorkSpace();if(t)return t.isVirtualScrolling();var n=this._getCurrentViewOptions(),i=this.option(\"scrolling\");return\"virtual\"===(null==i?void 0:i.mode)||\"virtual\"===(null===(e=null==n?void 0:n.scrolling)||void 0===e?void 0:e.mode)},te._filterAppointments=function(){this.filteredItems=this.appointmentDataProvider.filter(this.preparedItems)},te._renderAppointments=function(){var e=this.getWorkSpace();this._filterAppointments(),e.option(\"allDayExpanded\",this._isAllDayExpanded());var t=[];this._isVisible()&&(t=this._getAppointmentsToRepaint()),this.option(\"isRenovatedAppointments\")?(0,H.renderAppointments)({instance:this,$dateTable:this.getWorkSpace()._getDateTable(),viewModel:t}):this._appointments.option(\"items\",t),this.appointmentDataProvider.cleanState()},te._getAppointmentsToRepaint=function(){var e=this.getLayoutManager(),t=e.createAppointmentsMap(this.filteredItems);return this.option(\"isRenovatedAppointments\")?{appointments:t,appointmentTemplate:\"item\"!==this.option(\"appointmentTemplate\")?this.option(\"appointmentTemplate\"):void 0}:e.getRepaintedAppointments(t,this.getAppointmentsInstance().option(\"items\"))},te._initExpressions=function(e){this._dataAccessors=Z.utils.dataAccessors.create(e,this._dataAccessors,(0,a.default)().forceIsoDateParsing,this.option(\"dateSerializationFormat\")),this._dataAccessors.resources=(0,Q.createExpressions)(this.option(\"resources\"))},te._updateExpression=function(e,t){var n={};n[e.replace(\"Expr\",\"\")]=t,this._initExpressions(n)},te.getResourceDataAccessors=function(){return this._dataAccessors.resources},te._initEditing=function(){var e=this.option(\"editing\");this._editing={allowAdding:!!e,allowUpdating:!!e,allowDeleting:!!e,allowResizing:!!e,allowDragging:!!e},(0,y.isObject)(e)&&(this._editing=(0,m.extend)(this._editing,e)),this._editing.allowDragging=this._editing.allowDragging&&this._editing.allowUpdating,this._editing.allowResizing=this._editing.allowResizing&&this._editing.allowUpdating,this.$element().toggleClass(me,this._isReadOnly())},te._isReadOnly=function(){var e=!0,t=this._editing;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e=e&&!t[n]);return e},te._dispose=function(){var t;this._appointmentTooltip&&this._appointmentTooltip.dispose(),null===(t=this._recurrenceDialog)||void 0===t||t.hide(Ie),this.hideAppointmentPopup(),this.hideAppointmentTooltip(),this._asyncTemplatesTimers.forEach(clearTimeout),this._asyncTemplatesTimers=[],e.prototype._dispose.call(this)},te._initActions=function(){this._actions={onAppointmentAdding:this._createActionByOption(ye),onAppointmentAdded:this._createActionByOption(be),onAppointmentUpdating:this._createActionByOption(Ce),onAppointmentUpdated:this._createActionByOption(Se),onAppointmentDeleting:this._createActionByOption(xe),onAppointmentDeleted:this._createActionByOption(we),onAppointmentFormOpening:this._createActionByOption(\"onAppointmentFormOpening\"),onAppointmentTooltipShowing:this._createActionByOption(\"onAppointmentTooltipShowing\")}},te._getAppointmentRenderedAction=function(){return this._createActionByOption(\"onAppointmentRendered\",{excludeValidators:[\"disabled\",\"readOnly\"]})},te._renderFocusTarget=function(){return(0,c.noop)()},te._initMarkup=function(){var t=this;if(e.prototype._initMarkup.call(this),this._validateDayHours(),this._validateCellDuration(),this._renderMainContainer(),this._renderHeader(),this._layoutManager=new j.default(this),this._appointments=this._createComponent(\"<div>\",F.default,this._appointmentsConfig()),this._appointments.option(\"itemTemplate\",this._getAppointmentTemplate(\"appointmentTemplate\")),this._appointmentTooltip=new(this.option(\"adaptivityEnabled\")?ee.MobileTooltipStrategy:J.DesktopTooltipStrategy)(this._getAppointmentTooltipOptions()),this._createAppointmentPopupForm(),this._isDataSourceLoaded()||this._isDataSourceLoading())this._initMarkupCore(this.option(\"loadedResources\")),this._dataSourceChangedHandler(this._dataSource.items()),this._fireContentReadyAction();else{var n=this._getCurrentViewOption(\"groups\");(0,Q.loadResources)(n,this.option(\"resources\"),this.option(\"resourceLoaderMap\")).done((function(e){t.option(\"loadedResources\",e),t._initMarkupCore(e),t._reloadDataSource()}))}},te._createAppointmentPopupForm=function(){var e,t;this._appointmentForm&&(null===(e=this._appointmentForm.form)||void 0===e||e.dispose()),this._appointmentForm=this.createAppointmentForm(),null===(t=this._appointmentPopup)||void 0===t||t.dispose(),this._appointmentPopup=this.createAppointmentPopup(this._appointmentForm)},te._renderMainContainer=function(){this._mainContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-container\"),this.$element().append(this._mainContainer)},te.createAppointmentForm=function(){var e=this,t={createResourceEditorModel:function(){return(0,Q.createResourceEditorModel)(e.option(\"resources\"),e.option(\"loadedResources\"))},getDataAccessors:function(){return e._dataAccessors},createComponent:function(t,n,i){return e._createComponent(t,n,i)},getEditingConfig:function(){return e._editing},getFirstDayOfWeek:function(){return e.option(\"firstDayOfWeek\")},getStartDayHour:function(){return e.option(\"startDayHour\")},getCalculatedEndDate:function(t){return e._workSpace.calculateEndDate(t)},getTimeZoneCalculator:function(){return e.timeZoneCalculator}};return new B.AppointmentForm(t)},te.createAppointmentPopup=function(e){var t=this,n={getElement:function(){return t.$element()},createComponent:function(e,n,i){return t._createComponent(e,n,i)},focus:function(){return t.focus()},getResources:function(){return t.option(\"resources\")},getEditingConfig:function(){return t._editing},getTimeZoneCalculator:function(){return t.timeZoneCalculator},getDataAccessors:function(){return t._dataAccessors},getAppointmentFormOpening:function(){return t._actions.onAppointmentFormOpening},processActionResult:function(e,n){return t._processActionResult(e,n)},addAppointment:function(e){return t.addAppointment(e)},updateAppointment:function(e,n){return t.updateAppointment(e,n)},updateScrollPosition:function(e,n,i){t._workSpace.updateScrollPosition(e,n,i)}};return new L.AppointmentPopup(n,e)},te._getAppointmentTooltipOptions=function(){var e=this;return{createComponent:this._createComponent.bind(this),container:this.$element(),getScrollableContainer:this.getWorkSpaceScrollableContainer.bind(this),addDefaultTemplates:this._templateManager.addDefaultTemplates.bind(this._templateManager),getAppointmentTemplate:this._getAppointmentTemplate.bind(this),showAppointmentPopup:this.showAppointmentPopup.bind(this),checkAndDeleteAppointment:this.checkAndDeleteAppointment.bind(this),isAppointmentInAllDayPanel:this.isAppointmentInAllDayPanel.bind(this),createFormattedDateText:function(t,n,i){return e.fire(\"getTextAndFormatDate\",t,n,i)},getAppointmentDisabled:function(t){return(0,z.createAppointmentAdapter)(t,e._dataAccessors,e.timeZoneCalculator).disabled},onItemContextMenu:this._createActionByOption(\"onAppointmentContextMenu\"),createEventArgs:this._createEventArgs.bind(this)}},te._createEventArgs=function(e){var t={itemData:e.itemData.appointment,itemElement:e.itemElement,targetedAppointment:e.itemData.targetedAppointment};return(0,m.extend)({},this.fire(\"mapAppointmentFields\",t),{component:e.component,element:e.element,event:e.event,model:e.model})},te.checkAndDeleteAppointment=function(e,t){var n=this,i=(0,z.createAppointmentAdapter)(t,this._dataAccessors,this.timeZoneCalculator),o=this.fireOnAppointmentDeleting(e,i);this._checkRecurringAppointment(e,t,i.startDate,(function(){n.processDeleteAppointment(e,o)}),!0)},te._getExtraAppointmentTooltipOptions=function(){return{rtlEnabled:this.option(\"rtlEnabled\"),focusStateEnabled:this.option(\"focusStateEnabled\"),editing:this.option(\"editing\"),offset:this.option(\"_appointmentTooltipOffset\")}},te.isAppointmentInAllDayPanel=function(e){var t=this._workSpace;return this.appointmentTakesAllDay(e)&&t.supportAllDayRow()&&t.option(\"showAllDayPanel\")},te._initMarkupCore=function(e){var t=this;this._readyToRenderAppointments=(0,b.hasWindow)(),this._workSpace&&this._cleanWorkspace(),this._renderWorkSpace(e),this._appointments.option({fixedContainer:this._workSpace.getFixedContainer(),allDayContainer:this._workSpace.getAllDayContainer()}),this._waitAsyncTemplate((function(){var e;return null===(e=t._workSpaceRecalculation)||void 0===e?void 0:e.resolve()})),this.createAppointmentDataProvider(),this._filterAppointmentsByDate(),this._validateKeyFieldIfAgendaExist()},te._isDataSourceLoaded=function(){return this._dataSource&&this._dataSource.isLoaded()},te._render=function(){var t;this._toggleSmallClass(),this._toggleAdaptiveClass(),null===(t=this.getWorkSpace())||void 0===t||t.updateHeaderEmptyCellWidth(),e.prototype._render.call(this)},te._renderHeader=function(){if(0!==this.option(\"toolbar\").length){var e=(0,s.default)(\"<div>\").appendTo(this._mainContainer);this._header=this._createComponent(e,N.SchedulerHeader,this._headerConfig())}},te._headerConfig=function(){var e=this,t=this._getCurrentViewOptions(),n=this._getViewCountConfig(),i=(0,m.extend)({firstDayOfWeek:this.getFirstDayOfWeek(),currentView:this.option(\"currentView\"),isAdaptive:this.option(\"adaptivityEnabled\"),tabIndex:this.option(\"tabIndex\"),focusStateEnabled:this.option(\"focusStateEnabled\"),rtlEnabled:this.option(\"rtlEnabled\"),useDropDownViewSwitcher:this.option(\"useDropDownViewSwitcher\"),customizeDateNavigatorText:this.option(\"customizeDateNavigatorText\"),agendaDuration:t.agendaDuration||7},t);return i.intervalCount=n.intervalCount,i.views=this.option(\"views\"),i.min=new Date(this._dateOption(\"min\")),i.max=new Date(this._dateOption(\"max\")),i.currentDate=f.default.trimTime(new Date(this._dateOption(\"currentDate\"))),i.onCurrentViewChange=function(t){e.option(\"currentView\",t)},i.onCurrentDateChange=function(t){e.option(\"currentDate\",t)},i.items=this.option(\"toolbar\"),i.startViewDate=this.getStartViewDate(),i.todayDate=function(){return e.timeZoneCalculator.createDate(new Date,{path:\"toGrid\"})},i},te._appointmentsConfig=function(){var e=this;return{getResources:function(){return e.option(\"resources\")},getResourceDataAccessors:this.getResourceDataAccessors.bind(this),getAgendaResourceProcessor:function(){return e.agendaResourceProcessor},getAppointmentColor:this.createGetAppointmentColor(),getAppointmentDataProvider:function(){return e.appointmentDataProvider},dataAccessors:this._dataAccessors,observer:this,onItemRendered:this._getAppointmentRenderedAction(),onItemClick:this._createActionByOption(\"onAppointmentClick\"),onItemContextMenu:this._createActionByOption(\"onAppointmentContextMenu\"),onAppointmentDblClick:this._createActionByOption(\"onAppointmentDblClick\"),tabIndex:this.option(\"tabIndex\"),focusStateEnabled:this.option(\"focusStateEnabled\"),allowDrag:this._allowDragging(),allowDelete:this._editing.allowUpdating&&this._editing.allowDeleting,allowResize:this._allowResizing(),allowAllDayResize:this._allowAllDayResizing(),rtlEnabled:this.option(\"rtlEnabled\"),currentView:this.currentView,groups:this._getCurrentViewOption(\"groups\"),isRenovatedAppointments:this.option(\"isRenovatedAppointments\"),timeZoneCalculator:this.timeZoneCalculator,getResizableStep:function(){return e._workSpace?e._workSpace.positionHelper.getResizableStep():0},getDOMElementsMetaData:function(){var t;return null===(t=e._workSpace)||void 0===t?void 0:t.getDOMElementsMetaData()},getViewDataProvider:function(){var t;return null===(t=e._workSpace)||void 0===t?void 0:t.viewDataProvider},isVerticalViewDirection:function(){return\"vertical\"===e.getRenderingStrategyInstance().getDirection()},isVerticalGroupedWorkSpace:function(){return e._workSpace._isVerticalGroupedWorkSpace()},isDateAndTimeView:function(){return(0,O.isDateAndTimeView)(e._workSpace.type)},onContentReady:function(){var t;null===(t=e._workSpace)||void 0===t||t.option(\"allDayExpanded\",e._isAllDayExpanded())}}},te.getCollectorOffset=function(){return this._workSpace.needApplyCollectorOffset()&&!this.option(\"adaptivityEnabled\")?this.option(\"_collectorOffset\"):0},te.getAppointmentDurationInMinutes=function(){return this._getCurrentViewOption(\"cellDuration\")},te._getCurrentViewType=function(){return this.currentViewType},te._renderWorkSpace=function(e){var t;this._readyToRenderAppointments&&this._toggleSmallClass();var n=(0,s.default)(\"<div>\").appendTo(this._mainContainer),i=this._getViewCountConfig(),o=ve[this._getCurrentViewType()].workSpace,a=this._workSpaceConfig(e,i);this._workSpace=this._createComponent(n,o,a),this._allowDragging()&&this._workSpace.initDragBehavior(this,this._all),this._workSpace._attachTablesEvents(),this._workSpace.getWorkArea().append(this._appointments.$element()),this._recalculateWorkspace(),i.startDate&&(null===(t=this._header)||void 0===t||t.option(\"currentDate\",this._workSpace._getHeaderDate())),this._appointments.option(\"_collectorOffset\",this.getCollectorOffset())},te._getViewCountConfig=function(){var e=this.option(\"currentView\"),t=this._getViewByName(e);return{intervalCount:t&&t.intervalCount||1,startDate:t&&t.startDate||null}},te._getViewByName=function(e){for(var t=this.option(\"views\"),n=0;n<t.length;n++)if(t[n].name===e||t[n].type===e||t[n]===e)return t[n]},te._recalculateWorkspace=function(){var e=this;this._workSpaceRecalculation=new g.Deferred,this._waitAsyncTemplate((function(){(0,w.triggerResizeEvent)(e._workSpace.$element()),e._workSpace._refreshDateTimeIndication()}))},te._workSpaceConfig=function(e,t){var n,i=this,o=this._getCurrentViewOptions(),a=this.option(\"scrolling\"),r=\"virtual\"===a.mode||\"virtual\"===(null===(n=o.scrolling)||void 0===n?void 0:n.mode),s=r&&(!(0,y.isDefined)(a.orientation)||[\"horizontal\",\"both\"].filter((function(e){var t;return a.orientation===e||(null===(t=o.scrolling)||void 0===t?void 0:t.orientation)===e})).length>0),l=this.option(\"crossScrollingEnabled\")||s||(0,O.isTimelineView)(this.currentViewType),u=(0,m.extend)({resources:this.option(\"resources\"),loadedResources:this.option(\"loadedResources\"),getFilteredItems:function(){return i.filteredItems},getResourceDataAccessors:this.getResourceDataAccessors.bind(this),noDataText:this.option(\"noDataText\"),firstDayOfWeek:this.option(\"firstDayOfWeek\"),startDayHour:this.option(\"startDayHour\"),endDayHour:this.option(\"endDayHour\"),tabIndex:this.option(\"tabIndex\"),accessKey:this.option(\"accessKey\"),focusStateEnabled:this.option(\"focusStateEnabled\"),cellDuration:this.option(\"cellDuration\"),showAllDayPanel:this.option(\"showAllDayPanel\"),showCurrentTimeIndicator:this.option(\"showCurrentTimeIndicator\"),indicatorTime:this.option(\"indicatorTime\"),indicatorUpdateInterval:this.option(\"indicatorUpdateInterval\"),shadeUntilCurrentTime:this.option(\"shadeUntilCurrentTime\"),allDayExpanded:this._appointments.option(\"items\"),crossScrollingEnabled:l,dataCellTemplate:this.option(\"dataCellTemplate\"),timeCellTemplate:this.option(\"timeCellTemplate\"),resourceCellTemplate:this.option(\"resourceCellTemplate\"),dateCellTemplate:this.option(\"dateCellTemplate\"),allowMultipleCellSelection:this.option(\"allowMultipleCellSelection\"),selectedCellData:this.option(\"selectedCellData\"),onSelectionChanged:function(e){i.option(\"selectedCellData\",e.selectedCellData)},groupByDate:this._getCurrentViewOption(\"groupByDate\"),scrolling:a,draggingMode:this.option(\"_draggingMode\"),timeZoneCalculator:this.timeZoneCalculator,schedulerHeight:this.option(\"height\"),schedulerWidth:this.option(\"width\"),allDayPanelMode:this.option(\"allDayPanelMode\"),onSelectedCellsClick:this.showAddAppointmentPopup.bind(this),onRenderAppointments:this._renderAppointments.bind(this),onShowAllDayPanel:function(e){return i.option(\"showAllDayPanel\",e)},getHeaderHeight:function(){return Z.utils.DOM.getHeaderHeight(i._header)},onScrollEnd:function(){return i._appointments.updateResizableArea()},renovateRender:this._isRenovatedRender(r),isRenovatedAppointments:this.option(\"isRenovatedAppointments\")},o);return u.observer=this,u.intervalCount=t.intervalCount,u.startDate=t.startDate,u.groups=e,u.onCellClick=this._createActionByOption(\"onCellClick\"),u.onCellContextMenu=this._createActionByOption(\"onCellContextMenu\"),u.currentDate=f.default.trimTime(new Date(this._dateOption(\"currentDate\"))),u.hoursInterval=u.cellDuration/60,u.allDayExpanded=!1,u.dataCellTemplate=u.dataCellTemplate?this._getTemplate(u.dataCellTemplate):null,u.timeCellTemplate=u.timeCellTemplate?this._getTemplate(u.timeCellTemplate):null,u.resourceCellTemplate=u.resourceCellTemplate?this._getTemplate(u.resourceCellTemplate):null,u.dateCellTemplate=u.dateCellTemplate?this._getTemplate(u.dateCellTemplate):null,u.getAppointmentDataProvider=function(){return i.appointmentDataProvider},u},te._isRenovatedRender=function(e){return this.option(\"renovateRender\")&&(0,b.hasWindow)()||e},te._waitAsyncTemplate=function(e){if(this._options.silent(\"templatesRenderAsynchronously\")){var t=setTimeout((function(){e(),clearTimeout(t)}));this._asyncTemplatesTimers.push(t)}else e()},te._getCurrentViewOptions=function(){return this.currentView},te._getCurrentViewOption=function(e){return this.currentView&&void 0!==this.currentView[e]?this.currentView[e]:this.option(e)},te._getAppointmentTemplate=function(e){var t=this._getCurrentViewOptions();return t&&t[e]?this._getTemplate(t[e]):this._getTemplateByOption(e)},te._updateOption=function(e,t,n){var i=this._getCurrentViewOptions();i&&(0,y.isDefined)(i[t])||this[\"_\".concat(e)].option(t,n)},te._refreshWorkSpace=function(e){var t=this;this._cleanWorkspace(),delete this._workSpace,this._renderWorkSpace(e),this._readyToRenderAppointments&&(this._appointments.option({fixedContainer:this._workSpace.getFixedContainer(),allDayContainer:this._workSpace.getAllDayContainer()}),this._waitAsyncTemplate((function(){return t._workSpaceRecalculation.resolve()})))},te._cleanWorkspace=function(){this._appointments.$element().detach(),this._workSpace._dispose(),this._workSpace.$element().remove(),this.option(\"selectedCellData\",[])},te.getWorkSpaceScrollable=function(){return this._workSpace.getScrollable()},te.getWorkSpaceScrollableContainer=function(){return this._workSpace.getScrollableContainer()},te.getWorkSpace=function(){return this._workSpace},te.getHeader=function(){return this._header},te._cleanPopup=function(){var e;null===(e=this._appointmentPopup)||void 0===e||e.dispose()},te._checkRecurringAppointment=function(e,t,n,i,o,a,r,s){var l=this,u=q.ExpressionUtils.getField(this._dataAccessors,\"recurrenceRule\",e);if((0,U.getRecurrenceProcessor)().evalRecurrenceRule(u).isValid&&this._editing.allowUpdating)switch(s||this.option(\"recurrenceEditMode\")){case\"series\":i();break;case\"occurrence\":this._excludeAppointmentFromSeries(e,t,n,o,a,r);break;default:r&&(r.cancel=new g.Deferred),this._showRecurrenceChangeConfirm(o).done((function(s){s===ke&&i(),s===De&&l._excludeAppointmentFromSeries(e,t,n,o,a,r)})).fail((function(){return l._appointments.moveAppointmentBack(r)}))}else i()},te._excludeAppointmentFromSeries=function(e,t,n,i,o,a){var r=this,s=(0,E.excludeFromRecurrence)(e,n,this._dataAccessors,this._timeZoneCalculator),l=ce({},t);delete l[this._dataAccessors.expr.recurrenceExceptionExpr],delete l[this._dataAccessors.expr.recurrenceRuleExpr],delete l[this.appointmentDataProvider.keyName],!i&&!o&&this.addAppointment(l),o?(this._appointmentPopup.show(l,{isToolbarVisible:!0,action:L.ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES,excludeInfo:{sourceAppointment:e,updatedAppointment:s.source()}}),this._editAppointmentData=e):this._updateAppointment(e,s.source(),(function(){r._appointments.moveAppointmentBack(a)}),a)},te._createRecurrenceException=function(e,t){var n=[];return e.recurrenceException&&n.push(e.recurrenceException),n.push(this._getSerializedDate(t,e.startDate,e.allDay)),n.join()},te._getSerializedDate=function(e,t,n){return n&&e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),p.default.serializeDate(e,_e)},te._showRecurrenceChangeConfirm=function(e){var t=S.default.format(e?\"dxScheduler-confirmRecurrenceDeleteMessage\":\"dxScheduler-confirmRecurrenceEditMessage\"),n=S.default.format(e?\"dxScheduler-confirmRecurrenceDeleteSeries\":\"dxScheduler-confirmRecurrenceEditSeries\"),i=S.default.format(e?\"dxScheduler-confirmRecurrenceDeleteOccurrence\":\"dxScheduler-confirmRecurrenceEditOccurrence\");return this._recurrenceDialog=(0,A.custom)({messageHtml:t,showCloseButton:!0,showTitle:!0,buttons:[{text:n,onClick:function(){return ke}},{text:i,onClick:function(){return De}}],popupOptions:{wrapperAttr:{class:\"dx-dialog\"}}}),this._recurrenceDialog.show()},te._getUpdatedData=function(e){var t=this,n=function(e){return e?t.timeZoneCalculator.createDate(e,{path:\"fromGrid\"}):void 0},i=function(e){return!isNaN(new Date(e).getTime())},o=this.getTargetCellData(),a=(0,z.createAppointmentAdapter)(e,this._dataAccessors,this.timeZoneCalculator),r=n(o.startDate),s=n(o.endDate),l=new Date(a.startDate),u=new Date(a.endDate),d=r||l;i(l)||(l=d),i(u)||(u=s);var c=u.getTime()-l.getTime();if(this._workSpace.keepOriginalHours()&&i(a.startDate)&&i(r)){var h=f.default.trimTime,p=this.timeZoneCalculator.createDate(a.startDate,{path:\"toGrid\"}),g=p.getTime()-h(p).getTime();d=new Date(h(o.startDate).getTime()+g),d=this.timeZoneCalculator.createDate(d,{path:\"fromGrid\"})}var m=(0,z.createAppointmentAdapter)({},this._dataAccessors,this.timeZoneCalculator);void 0!==o.allDay&&(m.allDay=o.allDay),m.startDate=d;var _=new Date(d.getTime()+c);if(this.appointmentTakesAllDay(e)&&!m.allDay&&this._workSpace.supportAllDayRow()&&(_=this._workSpace.calculateEndDate(d)),a.allDay&&!this._workSpace.supportAllDayRow()&&!this._workSpace.keepOriginalHours()){var v=new Date(d);v.setHours(0),0!==(_=new Date(v.getTime()+c)).getHours()&&_.setHours(this._getCurrentViewOption(\"endDayHour\"))}var y=Y.default.getTimezoneOffsetChangeInMs(l,u,d,_);m.endDate=new Date(_.getTime()-y);var b=m.source();return(0,Q.setResourceToAppointment)(this.option(\"resources\"),this.getResourceDataAccessors(),b,o.groups),b},te.getTargetedAppointment=function(e,t){var n=Z.utils.dataAccessors.getAppointmentSettings(t),i=Z.utils.dataAccessors.getAppointmentInfo(t),o=(0,s.default)(t).data(this._appointments._itemIndexKey()),a=(0,z.createAppointmentAdapter)(e,this._dataAccessors,this.timeZoneCalculator),r=a.clone();if(this._isAgenda()&&a.isRecurrent){var l=n.agendaSettings;r.startDate=q.ExpressionUtils.getField(this._dataAccessors,\"startDate\",l),r.endDate=q.ExpressionUtils.getField(this._dataAccessors,\"endDate\",l)}else n&&(r.startDate=i?i.sourceAppointment.startDate:a.startDate,r.endDate=i?i.sourceAppointment.endDate:a.endDate);var u=r.source();return t&&this.setTargetedAppointmentResources(u,t,o),i&&(u.displayStartDate=new Date(i.appointment.startDate),u.displayEndDate=new Date(i.appointment.endDate)),u},te.subscribe=function(e,t){this._subscribes[e]=K.default[e]=t},te.fire=function(e){var t=this._subscribes[e],n=Array.prototype.slice.call(arguments);if(!(0,y.isFunction)(t))throw M.default.Error(\"E1031\",e);return t.apply(this,n.slice(1))},te.getTargetCellData=function(){return this._workSpace.getDataByDroppableCell()},te._updateAppointment=function(e,t,n,i){var o={newData:t,oldData:(0,m.extend)({},e),cancel:!1},a=function(e){if(n&&n.call(this),e&&\"Error\"===e.name)throw e}.bind(this);return this._actions[Ce](o),i&&!(0,y.isDeferred)(i.cancel)&&(i.cancel=new g.Deferred),this._processActionResult(o,(function(n){var o=this,r=new g.Deferred;if(n)a(),r.resolve();else{this._expandAllDayPanel(t);try{r=this.appointmentDataProvider.update(e,t).done((function(){i&&i.cancel.resolve(!1)})).always((function(e){return o._onDataPromiseCompleted(Se,e)})).fail((function(){return a()}))}catch(e){a(e),r.resolve()}}return r.promise()}))},te._processActionResult=function(e,t){var n=this,i=new g.Deferred,o=function(e){(0,g.when)((0,g.fromPromise)(e)).always(i.resolve)};return(0,y.isPromise)(e.cancel)?(0,g.when)((0,g.fromPromise)(e.cancel)).always((function(i){(0,y.isDefined)(i)||(i=\"rejected\"===e.cancel.state()),o(t.call(n,i))})):o(t.call(this,e.cancel)),i.promise()},te._expandAllDayPanel=function(e){!this._isAllDayExpanded()&&this.appointmentTakesAllDay(e)&&this._workSpace.option(\"allDayExpanded\",!0)},te._onDataPromiseCompleted=function(e,t,n){var i={appointmentData:n||t};t instanceof Error?i.error=t:this._appointmentPopup.visible&&this._appointmentPopup.hide(),this._actions[e](i),this._fireContentReadyAction()},te.getAppointmentsInstance=function(){return this._appointments},te.getLayoutManager=function(){return this._layoutManager},te.getRenderingStrategyInstance=function(){return this.getLayoutManager().getRenderingStrategyInstance()},te.getActions=function(){return this._actions},te.appointmentTakesAllDay=function(e){var t=(0,z.createAppointmentAdapter)(e,this._dataAccessors,this.timeZoneCalculator);return(0,k.getAppointmentTakesAllDay)(t,this._getCurrentViewOption(\"startDayHour\"),this._getCurrentViewOption(\"endDayHour\"),this._getCurrentViewOption(\"allDayPanelMode\"))},te.dayHasAppointment=function(e,t,n){var i=this,o=function(e){return i.timeZoneCalculator.createDate(e,{path:\"toGrid\"})},a=(0,z.createAppointmentAdapter)(t,this._dataAccessors,this.timeZoneCalculator),r=new Date(a.startDate),s=new Date(a.endDate);if(r=o(r),s=o(s),e.getTime()===s.getTime())return r.getTime()===s.getTime();n&&(e=f.default.trimTime(e),r=f.default.trimTime(r),s=f.default.trimTime(s));var l=e.getTime(),u=r.getTime(),d=s.getTime();return u<=l&&l<=d},te.setTargetedAppointmentResources=function(e,t,n){var i=this._getCurrentViewOption(\"groups\");if(null==i?void 0:i.length){var o,a,r=this.getResourceDataAccessors().setter,s=this._workSpace;this._isAgenda()?(o=function(){var e=this.getLayoutManager()._positionMap[n];return(0,Q.getCellGroups)(e[0].groupIndex,this.getWorkSpace().option(\"groups\"))},a=function(t,n){r[n.name](e,n.id)}):(o=function(){var e=Z.utils.dataAccessors.getAppointmentSettings(t)||{};return s.getCellDataByCoordinates({left:e.left,top:e.top}).groups},a=function(t,n){r[t](e,n)}),(0,_.each)(o.call(this),a)}},te.getStartViewDate=function(){var e;return null===(e=this._workSpace)||void 0===e?void 0:e.getStartViewDate()},te.getEndViewDate=function(){return this._workSpace.getEndViewDate()},te.showAddAppointmentPopup=function(e,t){var n=(0,z.createAppointmentAdapter)({},this._dataAccessors,this.timeZoneCalculator);n.allDay=e.allDay,n.startDate=this.timeZoneCalculator.createDate(e.startDate,{path:\"fromGrid\"}),n.endDate=this.timeZoneCalculator.createDate(e.endDate,{path:\"fromGrid\"});var i=(0,m.extend)(n.source(),t);this.showAppointmentPopup(i,!0)},te.showAppointmentPopup=function(e,t,n){var i=this,o=ce({},n);o&&(delete o.displayStartDate,delete o.displayEndDate);var a=(0,z.createAppointmentAdapter)(o||e,this._dataAccessors,this.timeZoneCalculator),r=(0,m.extend)({},e,o),s=null!=t?t:(0,y.isEmptyObject)(e);(0,y.isEmptyObject)(e)&&(e=this.createPopupAppointment()),s?(delete this._editAppointmentData,this._editing.allowAdding&&this._appointmentPopup.show(e,{isToolbarVisible:!0,action:L.ACTION_TO_APPOINTMENT.CREATE})):this._checkRecurringAppointment(e,r,a.startDate,(function(){i._editAppointmentData=e,i._appointmentPopup.show(e,{isToolbarVisible:i._editing.allowUpdating,action:L.ACTION_TO_APPOINTMENT.UPDATE})}),!1,!0)},te.createPopupAppointment=function(){var e={},t=f.default.dateToMilliseconds,n=new Date(this.option(\"currentDate\")),i=new Date(n.getTime()+this.option(\"cellDuration\")*t(\"minute\"));return q.ExpressionUtils.setField(this._dataAccessors,\"startDate\",e,n),q.ExpressionUtils.setField(this._dataAccessors,\"endDate\",e,i),e},te.hideAppointmentPopup=function(e){var t;(null===(t=this._appointmentPopup)||void 0===t?void 0:t.visible)&&(e&&this._appointmentPopup.saveChangesAsync(),this._appointmentPopup.hide())},te.showAppointmentTooltip=function(e,t,n){if(e){var i=Z.utils.dataAccessors.getAppointmentSettings(t),o={itemData:n||e,groupIndex:null==i?void 0:i.groupIndex,groups:this.option(\"groups\")},a=this.createGetAppointmentColor()(o),r=new G.AppointmentTooltipInfo(e,n,a);this.showAppointmentTooltipCore(t,[r])}},te.createGetAppointmentColor=function(){var e=this;return function(t){var n={resources:e.option(\"resources\"),dataAccessors:e.getResourceDataAccessors(),loadedResources:e.option(\"loadedResources\"),resourceLoaderMap:e.option(\"resourceLoaderMap\")};return(0,Q.getAppointmentColor)(n,t)}},te.showAppointmentTooltipCore=function(e,t,n){var i=this,o={cancel:!1,appointments:t.map((function(e){var t={appointmentData:e.appointment,currentAppointmentData:ce({},e.targetedAppointment),color:e.color};if(e.settings.info){var n=e.settings.info.appointment,i=n.startDate,o=n.endDate;t.currentAppointmentData.displayStartDate=i,t.currentAppointmentData.displayEndDate=o}return t})),targetElement:e};this._createActionByOption(\"onAppointmentTooltipShowing\")(o),this._appointmentTooltip.isAlreadyShown(e)?this.hideAppointmentTooltip():this._processActionResult(o,(function(o){!o&&i._appointmentTooltip.show(e,t,ce(ce({},i._getExtraAppointmentTooltipOptions()),n))}))},te.hideAppointmentTooltip=function(){this._appointmentTooltip&&this._appointmentTooltip.hide()},te.scrollToTime=function(e,t,n){M.default.log(\"W0002\",\"dxScheduler\",\"scrollToTime\",\"21.1\",'Use the \"scrollTo\" method instead'),this._workSpace.scrollToTime(e,t,n)},te.scrollTo=function(e,t,n){this._workSpace.scrollTo(e,t,n)},te._isHorizontalVirtualScrolling=function(){var e=this.option(\"scrolling\"),t=e.orientation;return\"virtual\"===e.mode&&(\"horizontal\"===t||\"both\"===t)},te.addAppointment=function(e){var t=this,n=(0,z.createAppointmentAdapter)(e,this._dataAccessors,this.timeZoneCalculator);n.text=n.text||\"\";var i=n.source(!0),o={appointmentData:i,cancel:!1};return this._actions[ye](o),this._processActionResult(o,(function(e){return e?(new g.Deferred).resolve():(t._expandAllDayPanel(i),t.appointmentDataProvider.add(i).always((function(e){return t._onDataPromiseCompleted(be,e)})))}))},te.updateAppointment=function(e,t){return this._updateAppointment(e,t)},te.deleteAppointment=function(e){var t=this.fireOnAppointmentDeleting(e);this.processDeleteAppointment(e,t)},te.fireOnAppointmentDeleting=function(e,t){var n={appointmentData:e,targetedAppointmentData:t,cancel:!1};return this._actions[xe](n),n},te.processDeleteAppointment=function(e,t){this._processActionResult(t,(function(t){var n=this;t||this.appointmentDataProvider.remove(e).always((function(t){return n._onDataPromiseCompleted(we,t,e)}))}))},te.deleteRecurrence=function(e,t,n){var i=this;this._checkRecurringAppointment(e,{},t,(function(){i.processDeleteAppointment(e,{cancel:!1})}),!0,!1,null,n)},te.focus=function(){this._editAppointmentData?this._appointments.focus():this._workSpace.focus()},te.getFirstDayOfWeek=function(){return(0,y.isDefined)(this.option(\"firstDayOfWeek\"))?this.option(\"firstDayOfWeek\"):C.default.firstDayOfWeekIndex()},te._validateKeyFieldIfAgendaExist=function(){if(this.appointmentDataProvider.isDataSourceInit){var e=!!this._getViewByName(\"agenda\"),t=!!this.appointmentDataProvider.keyName;e&&!t&&M.default.log(\"W1023\")}},te._validateCellDuration=function(){60*(this._getCurrentViewOption(\"endDayHour\")-this._getCurrentViewOption(\"startDayHour\"))%this._getCurrentViewOption(\"cellDuration\")!=0&&M.default.log(\"W1015\")},te._validateDayHours=function(){var e=this._getCurrentViewOption(\"startDayHour\"),t=this._getCurrentViewOption(\"endDayHour\");(0,O.validateDayHours)(e,t)},te._getDragBehavior=function(){return this._workSpace.dragBehavior},o=i,(x=[{key:\"filteredItems\",get:function(){return this._filteredItems||(this._filteredItems=[]),this._filteredItems},set:function(e){this._filteredItems=e}},{key:\"preparedItems\",get:function(){return this._preparedItems||(this._preparedItems=[]),this._preparedItems},set:function(e){this._preparedItems=e}},{key:\"currentView\",get:function(){return(0,D.renovationGetCurrentView)(this.option(\"currentView\"),this.option(\"views\"))}},{key:\"currentViewType\",get:function(){return(0,y.isObject)(this.currentView)?this.currentView.type:this.currentView}},{key:\"timeZoneCalculator\",get:function(){return this._timeZoneCalculator||(this._timeZoneCalculator=(0,I.createTimeZoneCalculator)(this.option(\"timeZone\"))),this._timeZoneCalculator}}])&&he(o.prototype,x),R&&he(o,R),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(R.default);Te.include(x.default),(0,o.default)(\"dxScheduler\",Te);var Ee=Te;t.default=Ee},86681:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=h(n(68374)),o=h(n(91198)),a=n(13306),r=n(95479),s=n(35922),l=n(18775),u=n(72734),d=n(43600),c=n(84110);function h(e){return e&&e.__esModule?e:{default:e}}var f=o.default.dateToMilliseconds,p={isCurrentViewAgenda:function(){return\"agenda\"===this.currentViewType},currentViewUpdated:function(e){this.option(\"currentView\",e)},currentDateUpdated:function(e){this.option(\"currentDate\",e)},getOption:function(e){return this.option(e)},getWorkspaceOption:function(e){return this.getWorkSpace().option(e)},isVirtualScrolling:function(){return this.isVirtualScrolling()},setCellDataCacheAlias:function(e,t){this._workSpace.setCellDataCacheAlias(e,t)},isGroupedByDate:function(){return this.getWorkSpace().isGroupedByDate()},showAppointmentTooltip:function(e){var t=this.getTargetedAppointment(e.data,e.target);this.showAppointmentTooltip(e.data,e.target,t)},hideAppointmentTooltip:function(){this.hideAppointmentTooltip()},showEditAppointmentPopup:function(e){var t=this.getTargetedAppointment(e.data,e.target);this.showAppointmentPopup(e.data,!1,t)},updateAppointmentAfterResize:function(e){var t=this,n=c.utils.dataAccessors.getAppointmentInfo(e.$appointment).sourceAppointment.exceptionDate;this._checkRecurringAppointment(e.target,e.data,n,(function(){t._updateAppointment(e.target,e.data,(function(){this._appointments.moveAppointmentBack()}))}))},getUpdatedData:function(e){return this._getUpdatedData(e)},updateAppointmentAfterDrag:function(e){var t=this,n=e.event,i=e.element,o=e.rawAppointment,r=e.newCellIndex,s=e.oldCellIndex,l=c.utils.dataAccessors.getAppointmentInfo(i),d=(0,u.createAppointmentAdapter)(o,this._dataAccessors,this.timeZoneCalculator),h=(0,u.createAppointmentAdapter)((0,a.extend)({},o,this._getUpdatedData(o)),this._dataAccessors,this.timeZoneCalculator),f=h.source(),p=h.allDay,g=d.allDay,m=this._workSpace.supportAllDayRow()&&(g&&!p||!g&&p),_=n.fromComponent!==n.toComponent;-1!==r?r!==s||_||m?this._checkRecurringAppointment(o,f,l.sourceAppointment.exceptionDate,(function(){t._updateAppointment(o,f,(function(){this._appointments.moveAppointmentBack(n)}),n)}),void 0,void 0,n):this._appointments.moveAppointmentBack(n):_||this._appointments.moveAppointmentBack(n)},onDeleteButtonPress:function(e){var t=this.getTargetedAppointment(e.data,(0,i.default)(e.target));this.checkAndDeleteAppointment(e.data,t),this.hideAppointmentTooltip()},getTextAndFormatDate:function(e,t,n){var i=(0,u.createAppointmentAdapter)(e,this._dataAccessors,this.timeZoneCalculator),o=(0,u.createAppointmentAdapter)(t||e,this._dataAccessors,this.timeZoneCalculator),a=this.timeZoneCalculator.createDate(o.startDate,{path:\"toGrid\"}),r=this.timeZoneCalculator.createDate(o.endDate,{path:\"toGrid\"}),s=n||(0,l.getFormatType)(a,r,o.allDay,\"month\"!==this.currentViewType);return{text:o.text||i.text,formatDate:(0,l.formatDates)(a,r,s)}},_createAppointmentTitle:function(e){return(0,s.isPlainObject)(e)?e.text:String(e)},getResizableAppointmentArea:function(e){var t=e.allDay,n=this._getCurrentViewOption(\"groups\");if(n&&n.length){if(t||this.getLayoutManager().getRenderingStrategyInstance()._needHorizontalGroupBounds()){var i=this._workSpace.getGroupBounds(e.coordinates);return{left:i.left,right:i.right,top:0,bottom:0}}if(this.getLayoutManager().getRenderingStrategyInstance()._needVerticalGroupBounds(t)&&this._workSpace._isVerticalGroupedWorkSpace()){var o=this._workSpace.getGroupBounds(e.coordinates);return{left:0,right:0,top:o.top,bottom:o.bottom}}}},needRecalculateResizableArea:function(){return this.getWorkSpace().needRecalculateResizableArea()},getAppointmentGeometry:function(e){return this.getLayoutManager().getRenderingStrategyInstance().getAppointmentGeometry(e)},isAllDay:function(e){return this.getLayoutManager().getRenderingStrategyInstance().isAllDay(e)},getDeltaTime:function(e,t,n){return this.getLayoutManager().getRenderingStrategyInstance().getDeltaTime(e,t,n)},getDropDownAppointmentWidth:function(e){return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentWidth(this._getViewCountConfig().intervalCount,e)},getDropDownAppointmentHeight:function(){return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentHeight()},getCellWidth:function(){return this.getWorkSpace().getCellWidth()},getCellHeight:function(){return this.getWorkSpace().getCellHeight()},getMaxAppointmentCountPerCellByType:function(e){return this.getRenderingStrategyInstance()._getMaxAppointmentCountPerCellByType(e)},needCorrectAppointmentDates:function(){return this.getRenderingStrategyInstance().needCorrectAppointmentDates()},getRenderingStrategyDirection:function(){return this.getRenderingStrategyInstance().getDirection()},updateAppointmentEndDate:function(e){var t=e.endDate,n=this._getCurrentViewOption(\"endDayHour\"),i=this._getCurrentViewOption(\"startDayHour\"),o=t;return t.getHours()>=n?o.setHours(n,0,0,0):!e.isSameDate&&i>0&&60*t.getHours()+t.getMinutes()<60*i&&(o=new Date(o.getTime()-f(\"day\"))).setHours(n,0,0,0),o},renderCompactAppointments:function(e){this._compactAppointmentsHelper.render(e)},clearCompactAppointments:function(){this._compactAppointmentsHelper.clear()},supportCompactDropDownAppointments:function(){return this.getLayoutManager().getRenderingStrategyInstance().supportCompactDropDownAppointments()},getGroupCount:function(){return this._workSpace._getGroupCount()},mapAppointmentFields:function(e){var t=e.itemData,n=e.itemElement,i=e.targetedAppointment||this.getTargetedAppointment(t,n);return{appointmentData:e.itemData,appointmentElement:e.itemElement,targetedAppointmentData:i}},dayHasAppointment:function(e,t,n){return this.dayHasAppointment(e,t,n)},getLayoutManager:function(){return this._layoutManager},getAgendaVerticalStepHeight:function(){return this.getWorkSpace().getAgendaVerticalStepHeight()},getAgendaDuration:function(){return this._getCurrentViewOption(\"agendaDuration\")},getStartViewDate:function(){return this.getStartViewDate()},getEndViewDate:function(){return this.getEndViewDate()},forceMaxAppointmentPerCell:function(){return this.forceMaxAppointmentPerCell()},onAgendaReady:function(e){for(var t=this.getAppointmentsInstance()._itemElements(),n=0,i=function(e,i){var o=i+n-1;t.eq(o).addClass(d.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS),n+=i},o=0;o<e.length;o++)(0,r.each)(e[o],i)},getTimezone:function(){return this._getTimezoneOffsetByOption()},getTargetedAppointmentData:function(e,t){return this.getTargetedAppointment(e,t)},getEndDayHour:function(){return this._workSpace.option(\"endDayHour\")||this.option(\"endDayHour\")},getStartDayHour:function(){return this._workSpace.option(\"startDayHour\")||this.option(\"startDayHour\")},isAdaptive:function(){return this.option(\"adaptivityEnabled\")},removeDroppableCellClass:function(){this._workSpace.removeDroppableCellClass()}};t.default=p},82215:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=l(n(73349)),o=n(6415),a=n(97906),r=l(n(68374)),s=n(35922);function l(e){return e&&e.__esModule?e:{default:e}}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var d={tableCreator:new(function(){function e(){this.VERTICAL=\"vertical\",this.HORIZONTAL=\"horizontal\"}var t=e.prototype;return t.insertAllDayRow=function(e,t,n){if(e[n]){var o=e[n].find(\"tr\");o.length||(o=(0,r.default)(i.default.createElement(\"tr\"))).append(e[n].get(0)),t.appendChild(o.get?o.get(0):o)}},t.makeTable=function(e){var t,n,l=i.default.createElement(\"tbody\"),d=[],c=e.groupCount?e.rowCount/e.groupCount:e.rowCount,h=0,f=e.allDayElements,p=e.groupIndex,g=e.rowCount;(0,r.default)(e.container).append(l),f&&(this.insertAllDayRow(f,l,0),h++);for(var m=0;m<g;m++){n=i.default.createElement(\"tr\"),l.appendChild(n);var _=(m+1)%c==0;e.rowClass&&(n.className=e.rowClass);for(var v=0;v<e.cellCount;v++){var y=i.default.createElement(\"td\");n.appendChild(y),e.cellClass&&((0,s.isFunction)(e.cellClass)?y.className=e.cellClass(m,v):y.className=e.cellClass);var b=void 0,x=void 0,w=void 0;if(e.getCellData&&(x=(b=e.getCellData(y,m,v,p)).key,w=b.value,x&&(0,a.data)(y,x,w)),null===(t=e.setAdditionalClasses)||void 0===t||t.call(e,(0,r.default)(y),w),e.cellTemplate&&e.cellTemplate.render){var C=e.getTemplateData?e.getTemplateData(m):{},S={model:u({text:e.getCellText?e.getCellText(m,v):\"\",date:e.getCellDate?e.getCellDate(m):void 0},C),container:(0,o.getPublicElement)((0,r.default)(y)),index:m*e.cellCount+v};w&&(w.startDate&&(S.model.startDate=w.startDate),w.endDate&&(S.model.endDate=w.endDate),w.groups&&(S.model.groups=w.groups),w.allDay&&(S.model.allDay=w.allDay)),d.push(e.cellTemplate.render.bind(e.cellTemplate,S))}else e.getCellText&&(0,r.default)(\"<div>\").text(e.getCellText(m,v)).addClass(e.getCellTextClass).appendTo((0,r.default)(y))}f&&_&&(this.insertAllDayRow(f,l,h),h++)}return d},t.makeGroupedTable=function(e,t,n,i,o,a,r){return e===this.VERTICAL?this._makeVerticalGroupedRows(t,n,o,a):this._makeHorizontalGroupedRows(t,n,i,o,r)},t.makeGroupedTableFromJSON=function(e,t,n){var o,a=[],r=0,s=(n=n||{}).cellTag||\"td\",l=n.childrenField||\"children\",u=n.titleField||\"title\",d=n.groupTableClass,c=n.groupRowClass,h=n.groupCellClass,f=n.groupCellCustomContent;function p(e,t,n,o){var a={element:i.default.createElement(s),childCount:t};h&&(a.element.className=h);var r=i.default.createTextNode(e);return\"function\"==typeof f?f(a.element,r,n,o):a.element.appendChild(r),a}return o=i.default.createElement(\"table\"),d&&(o.className=d),function e(t){for(var n=0;n<t.length;n++){var i=(s=t[n])[l]?s[l].length:0,o=p(t[n][u],i,n,t[n]);a[r]||(a[r]=[]),a[r].push(o),i?e(t[n][l]):r++}var s}(t),a.forEach((function(e){var t=i.default.createElement(\"tr\");c&&(t.className=c);for(var n=[],a=e.length-1;a>=0;a--){var r=e[a+1],s=e[a].childCount;r&&r.childCount&&(s*=r.childCount),n.push(s)}n.reverse(),e.forEach((function(e,i){n[i]&&e.element.setAttribute(\"rowSpan\",n[i]),t.appendChild(e.element)})),o.appendChild(t)})),o},t._makeFlexGroupedRowCells=function(e,t,n,i){for(var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,l=[],u=e.items,d=u.length,c=0;c<t*a;c++)for(var h=0;h<d;h++){var f=(0,r.default)(\"<div>\"),p={};if(i&&i.render){var g={model:u[h],container:(0,o.getPublicElement)(f),index:c*d+h};e.data&&(g.model.data=e.data[h]),p.template=i.render.bind(i,g)}else f.text(u[h].text).attr(\"title\",u[h].text).addClass(\"dx-scheduler-group-header-content\"),f=(0,r.default)(\"<div>\").append(f);var m=(0,s.isFunction)(n.groupHeaderClass)?n.groupHeaderClass(h):n.groupHeaderClass;p.element=f.addClass(m),l.push(p)}return l},t._makeVerticalGroupedRows=function(e,t,n,i){for(var o=[],a=1,s=[],l=function(e){e.template&&o.push(e.template)},u=0;u<e.length;u++){u>0&&(a=e[u-1].items.length*a);var d=this._makeFlexGroupedRowCells(e[u],a,t,n);d.forEach(l),s.push(d)}for(var c=[],h=s.length,f=0;f<h;f++)c.push((0,r.default)(\"<div>\").addClass(t.groupHeaderRowClass));for(var p=h-1;p>=0;p--)for(var g=s[p].length,m=0;m<g;m++)c[p].append(s[p][m].element);return{elements:(0,r.default)(\"<div>\").addClass(\"dx-scheduler-group-flex-container\").append(c),cellTemplates:o}},t._makeHorizontalGroupedRows=function(e,t,n,i,o){for(var a=1,s=e.length,l=[],u=[],d=o?n:1,c=function(e){return e.template&&u.push(e.template),e.element},h=0;h<s;h++){h>0&&(a=e[h-1].items.length*a);var f=this._makeGroupedRowCells(e[h],a,t,i,d);l.push((0,r.default)(\"<tr>\").addClass(t.groupRowClass).append(f.map(c)))}for(var p=l[s-1].find(\"th\").length,g=0;g<s;g++){var m=l[g].find(\"th\"),_=p/m.length;o||(_*=n),(_>1&&1===d||o&&s>1)&&m.attr(\"colSpan\",_)}return{elements:l,cellTemplates:u}},t._makeGroupedRowCells=function(e,t,n,i,a){t*=a=a||1;for(var l=[],u=e.items,d=u.length,c=0;c<t;c++)for(var h=0;h<d;h++){var f=(0,r.default)(\"<div>\"),p={};if(i&&i.render){var g={model:u[h],container:(0,o.getPublicElement)(f),index:c*d+h};e.data&&(g.model.data=e.data[h]),p.template=i.render.bind(i,g)}else f.text(u[h].text),f=(0,r.default)(\"<div>\").append(f);f.addClass(n.groupHeaderContentClass);var m=void 0;m=(0,s.isFunction)(n.groupHeaderClass)?n.groupHeaderClass(h):n.groupHeaderClass,p.element=(0,r.default)(\"<th>\").addClass(m).append(f),l.push(p)}return l},e}())};t.default=d},84110:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.utils=void 0;var i=n(6415),o=d(n(68374)),a=n(47617),r=d(n(69434)),s=n(95479),l=n(58664),u=n(6324);function d(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h={dataAccessors:{getAppointmentSettings:function(e){return(0,o.default)(e).data(u.APPOINTMENT_SETTINGS_KEY)},getAppointmentInfo:function(e){var t=h.dataAccessors.getAppointmentSettings(e);return null==t?void 0:t.info},create:function(e,t,n,i){var o=t?c({},t):{getter:{},setter:{},expr:{}};return(0,s.each)(e,(function(e,t){if(t){var s,l,u,d=(0,a.compileGetter)(t),c=(0,a.compileSetter)(t);(\"startDate\"===(h=e)||\"endDate\"===h)&&(s=function(e){var t=d(e);return n&&(t=r.default.deserializeDate(t)),t},l=function(e,t){if(i)u=i;else if(n&&!u){var o=d(e);u=r.default.getDateSerializationFormat(o)}var a=r.default.serializeDate(t,u);c(e,a)}),o.getter[e]=s||d,o.setter[e]=l||c,o.expr[\"\".concat(e,\"Expr\")]=t}else delete o.getter[e],delete o.setter[e],delete o.expr[\"\".concat(e,\"Expr\")];var h})),o}},DOM:{getHeaderHeight:function(e){return e?e._$element&&parseInt((0,l.getOuterHeight)(e._$element),10):0}},renovation:{renderComponent:function(e,t,n,o,a){var r=e[o];if(r){var s=r.$element(),u=s.get(0).style,d=u.height,c=u.width;r.option(a),d&&(0,l.setHeight)(s,d),c&&(0,l.setWidth)(s,c)}else{var h=(0,i.getPublicElement)(t);r=e._createComponent(h,n,a),e[o]=r}}}};t.utils=h},57880:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(91198)),o=r(n(90006)),a=r(n(23778));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e,t)||function(){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 l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var u=i.default.dateToMilliseconds,d=function(e){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes()))},c=function(e,t,n,i){return h(n,i)-h(e,t)},h=function(e,t){return new Date(e).getTimezoneOffset()-new Date(t).getTimezoneOffset()},f=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;if(\"string\"==typeof e){var n=d(t);return a.default.getTimeZoneOffsetById(e,n.getTime())}return e},p=function(e,t,n){return f(n,e)-f(n,t)},g=function(e){var t=new Date(new Date(e).setHours(0,0,0,0)),n=new Date(new Date(e).setHours(23,59,59,0));return t.getTimezoneOffset()-n.getTimezoneOffset()!=0},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return 6e4*e.getTimezoneOffset()},_=function(){var e=s(y(),2),t=e[0],n=e[1];return t.getTimezoneOffset()!==n.getTimezoneOffset()},v=function(e,t){var n=t.getFullYear(),i=function(e){return-e.getTimezoneOffset()/60},o=function(e){return new Date(e-36e5)},r=a.default.getTimeZoneDeclarationTuple(e,n),l=s(r,2),u=l[0],d=l[1];if(r.length<2)return a.default.getTimeZoneOffsetById(e,t)===i(t)&&!_();var c=i(new Date(u.date)),h=i(new Date(d.date));return c===u.offset&&(c!==i(o(u.date))&&(h===d.offset&&h!==i(o(d.date))))},y=function(){var e=new Date(Date.now()),t=new Date,n=new Date;return t.setFullYear(e.getFullYear(),0,1),n.setFullYear(e.getFullYear(),6,1),[t,n]},b={getDaylightOffset:h,getDaylightOffsetInMs:function(e,t){return h(e,t)*u(\"minute\")},getTimezoneOffsetChangeInMinutes:c,getTimezoneOffsetChangeInMs:function(e,t,n,i){return c(e,t,n,i)*u(\"minute\")},calculateTimezoneByValue:f,getCorrectedDateByDaylightOffsets:function(e,t,n,i,o){var a=p(e,t,i)-p(e,t,o);return new Date(n.getTime()-a*u(\"hour\"))},isSameAppointmentDates:function(e,t){return t=new Date(t.getTime()-1),i.default.sameDate(e,t)},correctRecurrenceExceptionByTimezone:function(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=(e.getTimezoneOffset()-t.getTimezoneOffset())/60;return i?a=p(t,e,i):n&&(a=p(t,e,n)),new Date(e.getTime()+(o?-1:1)*a*u(\"hour\"))},getClientTimezoneOffset:m,getDiffBetweenClientTimezoneOffsets:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;return m(e)-m(t)},createUTCDateWithLocalOffset:function(e){return e?new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())):null},createDateFromUTCWithLocalOffset:function(e){var t=(0,o.default)(e),n=t.getTimezoneOffset();return t.addTime(t.getTimezoneOffset(\"minute\")),t.subtractMinutes(n-t.getTimezoneOffset()),t.source},createUTCDate:d,isTimezoneChangeInDate:g,getDateWithoutTimezoneChange:function(e){var t=new Date(e);if(g(t)){var n=new Date(t);return new Date(n.setDate(n.getDate()+1))}return t},hasDSTInLocalTimeZone:_,isEqualLocalTimeZone:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;if(Intl){var n=Intl.DateTimeFormat().resolvedOptions().timeZone;if(n===e)return!0}return v(e,t)},isEqualLocalTimeZoneByDeclaration:v,getTimeZones:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=d(e);return a.default.getDisplayedTimeZones(t.getTime())},setOffsetsToDate:function(e,t){var n=t.reduce((function(e,t){return e+t}),e.getTime());return new Date(n)}};t.default=b},547:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AgendaResourceProcessor=void 0;var i=n(89386),o=n(62754),a=n(31359);function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==r(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===r(a)?a:String(a)),i)}var o,a}var l=function(e,t){this.rawAppointment=e,this.promise=t},u=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._resourceDeclarations=e,this.isLoaded=!1,this.isLoading=!1,this.resourceMap=new Map,this.appointmentPromiseQueue=[]}var t,n,r,u=e.prototype;return u._pushAllResources=function(){var e=this;this.appointmentPromiseQueue.forEach((function(t){var n=t.promise,o=t.rawAppointment,a=[];e.resourceMap.forEach((function(e,t){var n={label:e.label,values:[]};t in o&&(0,i.wrapToArray)(o[t]).forEach((function(t){return n.values.push(e.map.get(t))})),n.values.length&&a.push(n)})),n.resolve(a)})),this.appointmentPromiseQueue=[]},u._onPullResource=function(e,t,n,i,o){var a=new Map;o.forEach((function(e){return a.set(e[t],e[n])})),this.resourceMap.set(e,{label:i,map:a})},u._hasResourceDeclarations=function(e){return 0!==e.length||(this.appointmentPromiseQueue.forEach((function(e){return e.promise.resolve([])})),this.appointmentPromiseQueue=[],!1)},u._tryPullResources=function(e,t){var n=this;if(!this.isLoading){this.isLoading=!0;var i=[];e.forEach((function(e){var t=(new o.Deferred).done((function(t){return n._onPullResource((0,a.getFieldExpr)(e),(0,a.getValueExpr)(e),(0,a.getDisplayExpr)(e),e.label,t)}));i.push(t);var r=(0,a.getWrappedDataSource)(e.dataSource);r.isLoaded()?t.resolve(r.items()):r.load().done((function(e){return t.resolve(e)})).fail((function(){return t.reject()}))})),o.when.apply(null,i).done((function(){n.isLoaded=!0,n.isLoading=!1,n._pushAllResources()})).fail((function(){return t.reject()}))}},u.initializeState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.resourceDeclarations=e},u.createListAsync=function(e){var t=new o.Deferred;return this.appointmentPromiseQueue.push(new l(e,t)),this._hasResourceDeclarations(this.resourceDeclarations)&&(this.isLoaded?this._pushAllResources():this._tryPullResources(this.resourceDeclarations,t)),t.promise()},t=e,(n=[{key:\"resourceDeclarations\",get:function(){return this._resourceDeclarations},set:function(e){this._resourceDeclarations=e,this.isLoaded=!1,this.isLoading=!1,this.resourceMap.clear(),this.appointmentPromiseQueue=[]}}])&&s(t.prototype,n),r&&s(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.AgendaResourceProcessor=u},31359:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.setResourceToAppointment=t.reduceResourcesTree=t.loadResources=t.isResourceMultiple=t.groupAppointmentsByResourcesCore=t.groupAppointmentsByResources=t.getWrappedDataSource=t.getValueExpr=t.getResourcesDataByGroups=t.getResourceTreeLeaves=t.getResourceColor=t.getResourceByField=t.getPathToLeaf=t.getPaintedResources=t.getOrLoadResourceItem=t.getNormalizedResources=t.getGroupsObjectFromGroupsArray=t.getGroupCount=t.getFieldExpr=t.getDisplayExpr=t.getDataAccessors=t.getCellGroups=t.getAppointmentColor=t.getAllGroups=t.filterResources=t.createResourcesTree=t.createResourceEditorModel=t.createReducedResourcesTree=t.createExpressions=void 0;var o=n(89386),a=n(20576),r=n(47617),s=n(62754),l=n(13306),u=n(95479),d=n(48013),c=n(35922),h=n(85273),f=n(9234),p=n(31486);function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e)||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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var y=function(e){return e.valueExpr||\"id\"};t.getValueExpr=y;var b=function(e){return e.displayExpr||\"text\"};t.getDisplayExpr=b;var x=function(e){return e.fieldExpr||e.field};t.getFieldExpr=x;var w=function(e){if(e instanceof h.DataSource)return e;var t=v(v({},(0,f.normalizeDataSourceOptions)(e)),{pageSize:0});return Array.isArray(e)||(t.filter=e.filter),new h.DataSource(t)};t.getWrappedDataSource=w;var C=function(e){var t=0;return function n(i,o,a,r){var s;a=a||[];for(var l=0;l<i.items.length;l++){var u=i.items[l],d={name:i.name,value:u.id,title:u.text,data:null===(s=i.data)||void 0===s?void 0:s[l],children:[],parent:r||null},c=o+1;e[c]&&n(e[c],c,d.children,d),d.children.length||(d.leafIndex=t,t++),a.push(d)}return a}(e[0],0)};t.createResourcesTree=C;var S=function(e,t){return function e(t,n){return(n=n||[]).push(t.value),t.parent&&e(t.parent,n),n}(function e(t,n){for(var i=0;i<t.length;i++){if(t[i].leafIndex===n)return t[i];var o=e(t[i].children,n);if(o)return o}}(C(t),e)).reverse()};t.getPathToLeaf=S;var k=function(e,t){var n=[];if(D(t)){if(e<0)return;for(var i=S(e,t),o=0;o<t.length;o++)n.push({name:t[o].name,id:i[o]})}return n};t.getCellGroups=k;var D=function(e){for(var t=0,n=0,i=e.length;n<i;n++)n?t*=e[n].items.length:t=e[n].items.length;return t};t.getGroupCount=D;var I=function(e){return e.reduce((function(e,t){var n=t.name,i=t.id;return v(v({},e),_({},n,i))}),{})};t.getGroupsObjectFromGroupsArray=I;t.getAllGroups=function(e){var t=D(e);return g(new Array(t)).map((function(t,n){var i=k(n,e);return I(i)}))};var T=function(e,t){for(var n=0;n<t.length;n++){var i=t[n];if(i.name===e)return i.data}return[]};t.getResourceByField=T;t.createResourceEditorModel=function(e,t){return e.map((function(e){var n=x(e),i=T(n,t);return{editorOptions:{dataSource:i.length?i:w(e.dataSource),displayExpr:b(e),valueExpr:y(e)},dataField:n,editorType:e.allowMultiple?\"dxTagBox\":\"dxSelectBox\",label:{text:e.label||n}}}))};var E=function(e,t){var n=e.find((function(e){return x(e)===t}));return!!(null==n?void 0:n.allowMultiple)};t.isResourceMultiple=E;var O=function(e,t){return e.filter((function(e){var n=x(e);return t.indexOf(n)>-1}))};t.filterResources=O;var A=function(e,t){var n=t||[],i=e.find((function(e){return e.useColorAsDefault}));if(i)return i;var o=n.length?O(e,n):e;return o[o.length-1]};t.getPaintedResources=A;var P=function(e,t,n,i){var o=new s.Deferred;return e.filter((function(e){return x(e)===n&&(0,c.isDefined)(e.dataSource)})).forEach((function(e){var s=w(e.dataSource),l=y(e);t.has(n)||t.set(n,s.load()),t.get(n).done((function(e){var t=(0,r.compileGetter)(l),n=e.filter((function(e){return(0,a.equalByValue)(t(e),i)}));o.resolve(n[0])})).fail((function(){t.delete(n),o.reject()}))})),o.promise()};t.getOrLoadResourceItem=P;var M=function(e,t,n){return e[n][t]};t.getDataAccessors=M;t.groupAppointmentsByResources=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i={0:t};n.length&&e.loadedResources.length&&(i=R(e,t,e.loadedResources));var o=0;e.loadedResources.forEach((function(e,t){t?o*=e.items.length:o=e.items.length}));for(var a=0;a<o;a++){var r=a.toString();i[r]||(i[r]=[])}return i};var R=function(e,t,n){var i=C(n),o={};return t.forEach((function(t){for(var n=B((function(t,n){return M(e.dataAccessors,t,n)}),i,t),a=0;a<n.length;a++)o[n[a]]||(o[n[a]]=[]),o[n[a]].push((0,d.deepExtendArraySafe)({},t,!0))})),o};t.groupAppointmentsByResourcesCore=R;var B=function e(t,n,i,o){o=o||[];for(var a=0;a<n.length;a++)L(t,i,n[a].name,n[a].value)&&((0,c.isDefined)(n[a].leafIndex)&&o.push(n[a].leafIndex),n[a].children&&e(t,n[a].children,i,o));return o};t.getResourceTreeLeaves=B;var L=function(e,t,n,i){var a=e(n,\"getter\")(t);return(0,p.hasResourceValue)((0,o.wrapToArray)(a),i)};t.createReducedResourcesTree=function(e,t,n){var i=C(e);return V(t,i,n)};var V=function e(t,n,i,o){return o=o?o.children:[],n.forEach((function(n,a){var r=!1,s=n.name,l=n.value,u=n.title,d=n.data,c=t(s,\"getter\");i.forEach((function(e){if(!r){var t=c(e);Array.isArray(t)?t.includes(l)&&(o.push({name:s,value:l,title:u,data:d,children:[]}),r=!0):t===l&&(o.push({name:s,value:l,title:u,data:d,children:[]}),r=!0)}})),r&&n.children&&n.children.length&&e(t,n.children,i,o[a])})),o};t.reduceResourcesTree=V;t.getResourcesDataByGroups=function(e,t,n){if(!n||!n.length)return e;var i={},o=[];return n.forEach((function(e){(0,u.each)(e,(function(e,t){i[e]=t}))})),e.filter((function(e){var t=e.name;return(0,c.isDefined)(i[t])})).forEach((function(e){return o.push((0,l.extend)({},e))})),o.forEach((function(e){var i=e.items,o=e.data,a=e.name,r=O(t,[a])[0]||{},s=y(r),l=[],d=[];n.filter((function(e){return(0,c.isDefined)(e[a])})).forEach((function(e){(0,u.each)(e,(function(e,t){if(!l.filter((function(n){return n.id===t&&n[s]===e})).length){var n=i.filter((function(e){return e.id===t})),a=o.filter((function(e){return e[s]===t}));l.push.apply(l,g(n)),d.push.apply(d,g(a))}}))})),e.items=l,e.data=d})),o};t.setResourceToAppointment=function(e,t,n,i){var a=t.setter;for(var r in i){var s=i[r],l=E(e,r)?(0,o.wrapToArray)(s):s;a[r](n,l)}};var F=function(e,t,n,i){var o=new s.Deferred,a=(O(e,[n])[0]||{}).colorExpr||\"color\",l=(0,r.compileGetter)(a);return P(e,t,n,i).done((function(e){return o.resolve(l(e))})).fail((function(){return o.reject()})),o.promise()};t.getResourceColor=F;t.getAppointmentColor=function(e,t){var n=e.resources,i=e.dataAccessors,a=e.loadedResources,r=e.resourceLoaderMap,l=t.groupIndex,u=t.groups,d=t.itemData,c=A(n||[],u);if(c){for(var h=x(c),f=k(l,a),p=M(i,h,\"getter\"),g=(0,o.wrapToArray)(p(d))[0],m=0;m<f.length;m++)if(f[m].name===h){g=f[m].id;break}return F(n,r,h,g)}return(new s.Deferred).resolve().promise()};t.createExpressions=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={getter:{},setter:{}};return e.forEach((function(e){var n=x(e);t.getter[n]=(0,r.compileGetter)(n),t.setter[n]=(0,r.compileSetter)(n)})),t};t.loadResources=function(e,t,n){var i=new s.Deferred,o=[],a=[];return O(t||[],e||[]).forEach((function(e){var t=new s.Deferred,i=x(e);o.push(t);var a=w(e.dataSource).load();n.set(i,a),a.done((function(n){var o=function(e,t){var n=(0,r.compileGetter)(y(e)),i=(0,r.compileGetter)(b(e));return t.map((function(e){var t={id:n(e),text:i(e)};return e.color&&(t.color=e.color),t}))}(e,n);t.resolve({name:i,items:o,data:n})})).fail((function(){return t.reject()}))})),o.length?(s.when.apply(null,o).done((function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t.some((function(e){return 0===e.items.length}));a=o?[]:t,i.resolve(a)})).fail((function(){return i.reject()})),i.promise()):i.resolve(a)};t.getNormalizedResources=function(e,t,n){var i={};return(0,u.each)(t.resources.getter,(function(a){var r=t.resources.getter[a](e);if((0,c.isDefined)(r)){var s=E(n,a)?(0,o.wrapToArray)(r):r;i[a]=s}})),i}},60544:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i};var a=function(){function e(e){this._workSpace=e,this._$container=this._workSpace._dateTableScrollable.$content()}var t=e.prototype;return t.render=function(){var e=this;this.initShaderElements(),this.renderShader(),this._shader.forEach((function(t){e._$container.append(t)}))},t.initShaderElements=function(){this._$shader=this.createShader(),this._shader=[],this._shader.push(this._$shader)},t.renderShader=function(){},t.createShader=function(){return(0,o.default)(\"<div>\").addClass(\"dx-scheduler-date-time-shader\")},t.clean=function(){this._$container&&this._$container.find(\".\".concat(\"dx-scheduler-date-time-shader\")).remove()},e}();t.default=a},65295:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=n(37518),a=n(58664);function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var s=i.prototype;return s.renderShader=function(){for(var e=this._workSpace._isHorizontalGroupedWorkSpace()?this._workSpace._getGroupCount():1,t=0;t<e;t+=1){var n=0===t,i=n?this._$shader:this.createShader();this._workSpace.isGroupedByDate()?this._customizeGroupedByDateShader(i,t):this._customizeShader(i,t),!n&&this._shader.push(i)}},s._customizeShader=function(e,t){var n=this._workSpace.getIndicationWidth();if(this._applyShaderWidth(e,n),t>=1){var i=this._workSpace,o=i._getCellCount()*i.getCellWidth();e.css(\"left\",o)}else e.css(\"left\",0)},s._applyShaderWidth=function(e,t){var n=(0,o.getBoundingRect)(this._$container.get(0)).width;t>n&&(t=n),t>0&&(0,a.setWidth)(e,t)},s._customizeGroupedByDateShader=function(e,t){var n,i=this._workSpace.getIndicationCellCount(),o=Math.floor(i),a=i-o,r=0===t,s=this._workSpace,l=r?s.getIndicationWidth():a*s.getCellWidth();this._applyShaderWidth(e,l),n=r?s._getCellCount()*s.getCellWidth()*t:s.getCellWidth()*o*s._getGroupCount()+t*s.getCellWidth(),e.css(\"left\",n)},i}(((i=n(60544))&&i.__esModule?i:{default:i}).default);t.default=s},11029:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=r(n(68374)),o=n(58664),a=r(n(60544));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var r=a.prototype;return r.renderShader=function(){var e=this._getShaderHeight(),t=this._getShaderMaxHeight(),n=e>t;e>t&&(e=t),(0,o.setHeight)(this._$shader,e);var i=this._workSpace._getGroupCount()||1;this._workSpace.isGroupedByDate()?this._renderGroupedByDateShaderParts(i,e,t,n):this._renderShaderParts(i,e,t,n)},r._renderShaderParts=function(e,t,n,i){for(var o=0;o<e;o++){var a=this._getShaderWidth(o);this._renderTopShader(this._$shader,t,a,o),!i&&this._renderBottomShader(this._$shader,n,t,a,o),this._renderAllDayShader(a,o)}},r._renderGroupedByDateShaderParts=function(e,t,n,i){var o=this._getShaderWidth(0),a=o-this._workSpace.getCellWidth();t<0&&(t=0,a=o),this._renderTopShader(this._$shader,t,o*e,0),!i&&this._renderBottomShader(this._$shader,n,t,a*e+this._workSpace.getCellWidth(),0),this._renderAllDayShader(o*e,0)},r._renderTopShader=function(e,t,n,a){this._$topShader=(0,i.default)(\"<div>\").addClass(\"dx-scheduler-date-time-shader-top\"),n&&(0,o.setWidth)(this._$topShader,n),t&&(0,o.setHeight)(this._$topShader,t),this._$topShader.css(\"marginTop\",this._getShaderTopOffset(a)),this._$topShader.css(\"left\",this._getShaderOffset(a,n)),e.append(this._$topShader)},r._renderBottomShader=function(e,t,n,a,r){this._$bottomShader=(0,i.default)(\"<div>\").addClass(\"dx-scheduler-date-time-shader-bottom\");var s=n<0?a:a-this._workSpace.getCellWidth(),l=n<0?t:t-n;(0,o.setWidth)(this._$bottomShader,s),(0,o.setHeight)(this._$bottomShader,l),this._$bottomShader.css(\"left\",this._getShaderOffset(r,a-this._workSpace.getCellWidth())),e.append(this._$bottomShader)},r._renderAllDayShader=function(e,t){this._workSpace.option(\"showAllDayPanel\")&&(this._$allDayIndicator=(0,i.default)(\"<div>\").addClass(\"dx-scheduler-date-time-shader-all-day\"),(0,o.setHeight)(this._$allDayIndicator,this._workSpace.getAllDayHeight()),(0,o.setWidth)(this._$allDayIndicator,e),this._$allDayIndicator.css(\"left\",this._getShaderOffset(t,e)),this._workSpace._$allDayPanel.prepend(this._$allDayIndicator))},r._getShaderOffset=function(e,t){return this._workSpace.getGroupedStrategy().getShaderOffset(e,t)},r._getShaderTopOffset=function(e){return this._workSpace.getGroupedStrategy().getShaderTopOffset(e)},r._getShaderHeight=function(){return this._workSpace.getGroupedStrategy().getShaderHeight()},r._getShaderMaxHeight=function(){return this._workSpace.getGroupedStrategy().getShaderMaxHeight()},r._getShaderWidth=function(e){return this._workSpace.getGroupedStrategy().getShaderWidth(e)},r.clean=function(){e.prototype.clean.call(this),this._workSpace&&this._workSpace._$allDayPanel&&this._workSpace._$allDayPanel.find(\".\".concat(\"dx-scheduler-date-time-shader-all-day\")).remove()},a}(a.default);t.default=l},23778:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=s(n(17381)),o=n(60810),a=s(n(96687)),r=s(n(28882));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){var t,n,i=e.offsets,o=e.offsetIndices,a=e.untils;return{offsetList:i.split(\"|\").map((function(e){return parseInt(e)})),offsetIndexList:o.split(\"\").map((function(e){return parseInt(e)})),dateList:(n=a,n.split(\"|\").map((function(e){return\"Infinity\"===e?null:1e3*parseInt(e,36)}))).map((t=0,function(e){return t+=e}))}},u=new(function(){function e(){this.map=new Map}return e.prototype.tryGet=function(e){if(!this.map.get(e)){var t=d.getTimezoneById(e);if(!t)return!1;var n=l(t);this.map.set(e,n)}return this.map.get(e)},e}()),d={_tzCache:u,_timeZones:r.default.zones,getDisplayedTimeZones:function(e){var t=this,n=this._timeZones.map((function(n){var i=l(n),o=t.getUtcOffset(i,e);return{offset:o,title:\"(GMT \".concat(t.formatOffset(o),\") \").concat(t.formatId(n.id)),id:n.id}}));return(0,a.default)(n).sortBy(\"offset\").toArray()},formatOffset:function(e){var t=Math.floor(e),n=e-t;return((0,o.sign)(e)>=0?\"+\":\"-\")+\"0\".concat(Math.abs(t)).slice(-2)+(n>0?\":\".concat(60*n):\":00\")},formatId:function(e){return e.split(\"/\").join(\" - \").split(\"_\").join(\" \")},getTimezoneById:function(e){if(e){for(var t=this._timeZones,n=0;n<t.length;n++){if(t[n].id===e)return t[n]}i.default.log(\"W0009\",e)}},getTimeZoneOffsetById:function(e,t){var n=u.tryGet(e);return n?this.getUtcOffset(n,t):void 0},getTimeZoneDeclarationTuple:function(e,t){var n=u.tryGet(e);return n?this.getTimeZoneDeclarationTupleCore(n,t):[]},getTimeZoneDeclarationTupleCore:function(e,t){for(var n=e.offsetList,i=e.offsetIndexList,o=e.dateList,a=[],r=0;r<o.length;r++){var s=o[r],l=new Date(s).getFullYear();if(l===t){var u=n[i[r+1]];a.push({date:s,offset:-u/60})}if(l>t)break}return a},getUtcOffset:function(e,t){for(var n=e.offsetList,i=e.offsetIndexList,o=e.dateList,a=o.length-1-1;a>=0&&t<o[a];)a--;var r=n[i[a+1]];return-r/60||r}},c=d;t.default=c},28882:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;t.default={zones:[{id:\"Africa/Abidjan\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Accra\",untils:\"-r507yk|1e3pak|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|Infinity\",offsets:\"0.8667|0|-20\",offsetIndices:\"012121212121212121212121212121212121212121212121\"},{id:\"Africa/Addis_Ababa\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Algiers\",untils:\"-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|53c00|9idxc0|3i040|51mw0|253uk0|9o2k0|92040|8l3s0|jutc0|4uy840|3rdzw0|46xc00|7x6o0|2xco40|8n180|7x9g0|9d440|kiqg0|9d440|9q2s0|9cyk0|Infinity\",offsets:\"-9.35|0|-60|-120\",offsetIndices:\"0121212121212121232321212122321212\"},{id:\"Africa/Asmara\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Asmera\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Bamako\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Bangui\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Banjul\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Bissau\",untils:\"-u9rek0|wvoyo0|Infinity\",offsets:\"62.3333|60|0\",offsetIndices:\"012\"},{id:\"Africa/Blantyre\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Brazzaville\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Bujumbura\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Cairo\",untils:\"-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity\",offsets:\"-120|-180\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Africa/Casablanca\",untils:\"-tblt9g|di7nxg|3huk0|51k40|2znuk0|2dp9g0|776k0|8nt2s0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|xqqk0|bp56s0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity\",offsets:\"30.3333|0|-60\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"Africa/Ceuta\",untils:\"-qyiys0|7x3w0|2vt440|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|k69dc0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|129us0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Africa/Conakry\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Dakar\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Dar_es_Salaam\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Djibouti\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Douala\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/El_Aaiun\",untils:\"-isdxk0|m2g0c0|vek0|4qak0|e1ms0|7pp80|cnms0|3afw0|fke5g0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity\",offsets:\"52.8|60|0|-60\",offsetIndices:\"012323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Africa/Freetown\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Gaborone\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Harare\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Johannesburg\",untils:\"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",offsets:\"-90|-120|-180\",offsetIndices:\"012121\"},{id:\"Africa/Juba\",untils:\"-kcrsis|kixuys|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|Infinity\",offsets:\"-126.4667|-120|-180\",offsetIndices:\"01212121212121212121212121212121212\"},{id:\"Africa/Kampala\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Khartoum\",untils:\"-kcrsow|kixv4w|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|9ac180|Infinity\",offsets:\"-130.1333|-120|-180\",offsetIndices:\"012121212121212121212121212121212121\"},{id:\"Africa/Kigali\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Kinshasa\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Lagos\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Libreville\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Lome\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Luanda\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Lubumbashi\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Lusaka\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Malabo\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Maputo\",untils:\"-yvtfd8|Infinity\",offsets:\"-130.3333|-120\",offsetIndices:\"01\"},{id:\"Africa/Maseru\",untils:\"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",offsets:\"-90|-120|-180\",offsetIndices:\"012121\"},{id:\"Africa/Mbabane\",untils:\"-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity\",offsets:\"-90|-120|-180\",offsetIndices:\"012121\"},{id:\"Africa/Mogadishu\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Monrovia\",untils:\"-qj6zc4|rl202a|Infinity\",offsets:\"43.1333|44.5|0\",offsetIndices:\"012\"},{id:\"Africa/Nairobi\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Africa/Ndjamena\",untils:\"-u9rk4c|zdk5cc|7iak0|Infinity\",offsets:\"-60.2|-60|-120\",offsetIndices:\"0121\"},{id:\"Africa/Niamey\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Nouakchott\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Ouagadougou\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Porto-Novo\",untils:\"-q9qbao|Infinity\",offsets:\"-13.6|-60\",offsetIndices:\"01\"},{id:\"Africa/Sao_Tome\",untils:\"-u9rhc0|1jbm840|irxc0|Infinity\",offsets:\"36.75|0|-60\",offsetIndices:\"0121\"},{id:\"Africa/Timbuktu\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Africa/Tripoli\",untils:\"-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity\",offsets:\"-52.7333|-60|-120\",offsetIndices:\"012121212121212121212121212122122\"},{id:\"Africa/Tunis\",untils:\"-uozn3l|enxevl|b5uo0|53c00|u8w00|7x9g0|c8w80|7k800|z3w0|ew40|8bx80|9d440|9nx00|925o0|8l100|gi3440|7k800|b9k00|7vc00|51mw00|5ytc0|9d1c0|9d1c0|b9k00|7thc0|7m0tc0|7tk40|93us0|b5uo0|7k800|b5uo0|7x6o0|asw00|Infinity\",offsets:\"-9.35|-60|-120\",offsetIndices:\"0121212121212121212121212121212121\"},{id:\"Africa/Windhoek\",untils:\"-yvtdi0|kn7o60|9cyk0|oj2nw0|235k00|8lho0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|Infinity\",offsets:\"-90|-120|-180|-60\",offsetIndices:\"01211313131313131313131313131313131313131313131313131\"},{id:\"America/Adak\",untils:\"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"660|600|540\",offsetIndices:\"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Anchorage\",untils:\"-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"600|540|480\",offsetIndices:\"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Anguilla\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Antigua\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Araguaina\",untils:\"-t85j2o|99k8mo|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|51udg0|64ak0|Infinity\",offsets:\"192.8|180|120\",offsetIndices:\"0121212121212121212121212121212121212121212121212121\"},{id:\"America/Argentina/Buenos_Aires\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323232323232\"},{id:\"America/Argentina/Catamarca\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132321232\"},{id:\"America/Argentina/ComodRivadavia\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132321232\"},{id:\"America/Argentina/Cordoba\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132323232\"},{id:\"America/Argentina/Jujuy\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323121323232\"},{id:\"America/Argentina/La_Rioja\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323231232321232\"},{id:\"America/Argentina/Mendoza\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232312121321232\"},{id:\"America/Argentina/Rio_Gallegos\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323232321232\"},{id:\"America/Argentina/Salta\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323231323232\"},{id:\"America/Argentina/San_Juan\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v2840|2txg0|1sgak0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323231232321232\"},{id:\"America/Argentina/San_Luis\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|7pp80|b2aw0|71mk0|4qg40|6s8ik0|2txg0|1sgak0|14nw0|2gys0|b5xg0|7k580|b5xg0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323121212321212\"},{id:\"America/Argentina/Tucuman\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|mas0|1um2k0|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"0121212121212121212121212121212121212121212323232313232123232\"},{id:\"America/Argentina/Ushuaia\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v0dg0|12ys0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323232321232\"},{id:\"America/Aruba\",untils:\"-u7lckd|rlo7qd|Infinity\",offsets:\"275.7833|270|240\",offsetIndices:\"012\"},{id:\"America/Asuncion\",untils:\"-jy93zk|ldwofk|s4vw0|s6w40|7tek0|b0dg0|7rjw0|b0dg0|7rjw0|b0dg0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|ahus0|8a2k0|9eys0|9cyk0|9o840|7k580|b7s40|93p80|9gtg0|7nuk0|b42s0|7lzw0|b5xg0|7tek0|b9ms0|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|7kas0|b5rw0|7x9g0|ast80|a31g0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|776k0|biw40|8zzw0|905g0|9px80|905g0|9px80|9d440|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|Infinity\",offsets:\"230.6667|240|180\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Atikokan\",untils:\"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity\",offsets:\"360|300\",offsetIndices:\"0101111\"},{id:\"America/Atka\",untils:\"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"660|600|540\",offsetIndices:\"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Bahia_Banderas\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|asqg0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"421|420|360|480|300\",offsetIndices:\"0121212131212121212121212121212121212142424242424242424242424242424242424242424242424242424242\"},{id:\"America/Bahia\",untils:\"-t85kv8|99kaf8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|4irc40|6u7w0|Infinity\",offsets:\"154.0667|180|120\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Barbados\",untils:\"-o0aiaj|46b400|npv1mj|5rbw0|a31g0|8n180|a31g0|8n180|ag040|84ik0|Infinity\",offsets:\"238.4833|240|180\",offsetIndices:\"00121212121\"},{id:\"America/Belem\",untils:\"-t85j0s|99k8ks|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity\",offsets:\"193.9333|180|120\",offsetIndices:\"012121212121212121212121212121\"},{id:\"America/Belize\",untils:\"-u52ic0|3edkc0|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|g2t2q0|3e580|4mcys0|2vmk0|Infinity\",offsets:\"352.8|360|330|300\",offsetIndices:\"01212121212121212121212121212121212121212121212121213131\"},{id:\"America/Blanc-Sablon\",untils:\"-qzp0o0|a2vw0|c5jxg0|1tzdw0|2dnc0|Infinity\",offsets:\"240|180\",offsetIndices:\"010110\"},{id:\"America/Boa_Vista\",untils:\"-t85grk|99k93k|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|62xk40|7k580|biw40|cvw0|Infinity\",offsets:\"242.6667|240|180\",offsetIndices:\"0121212121212121212121212121212121\"},{id:\"America/Bogota\",untils:\"-srdoy8|14f1hi8|ha580|Infinity\",offsets:\"296.2667|300|240\",offsetIndices:\"0121\"},{id:\"America/Boise\",untils:\"-r0emw0|ast80|7x9g0|ast80|1um840|9s7jw0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|51k40|doik0|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420|360\",offsetIndices:\"0101012212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Buenos_Aires\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323232323232\"},{id:\"America/Cambridge_Bay\",untils:\"-q3gdc0|bjeec0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x6o0|ast80|ct40|7kj40|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|420|360|300\",offsetIndices:\"0122131212121212121212121212121212121212121212233221212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Campo_Grande\",untils:\"-t85hvw|99ka7w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",offsets:\"218.4667|240|180\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Cancun\",untils:\"-p1u7c0|vauo00|7ggw40|afuk0|8a840|afuk0|8a840|64ak0|4bms0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|51k40|Infinity\",offsets:\"347.0667|360|300|240\",offsetIndices:\"0123232321212121212121212121212121212121212\"},{id:\"America/Caracas\",untils:\"-u7lcxw|rlo83w|meoxm0|4dps00|Infinity\",offsets:\"267.6667|270|240\",offsetIndices:\"01212\"},{id:\"America/Catamarca\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132321232\"},{id:\"America/Cayenne\",untils:\"-uj7yb4|tcw6r4|Infinity\",offsets:\"209.3333|240|180\",offsetIndices:\"012\"},{id:\"America/Cayman\",untils:\"-w757vc|Infinity\",offsets:\"319.6|300\",offsetIndices:\"01\"},{id:\"America/Chicago\",untils:\"-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Chihuahua\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"424.3333|420|360|300\",offsetIndices:\"0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Coral_Harbour\",untils:\"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity\",offsets:\"360|300\",offsetIndices:\"0101111\"},{id:\"America/Cordoba\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132323232\"},{id:\"America/Costa_Rica\",untils:\"-pjw8fn|ubtl3n|51ek0|doo40|51ek0|5jso40|8drw0|acas0|2xh80|Infinity\",offsets:\"336.2167|360|300\",offsetIndices:\"0121212121\"},{id:\"America/Creston\",untils:\"-rshz80|vbus0|Infinity\",offsets:\"420|480\",offsetIndices:\"010\"},{id:\"America/Cuiaba\",untils:\"-t85hm4|99k9y4|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|w5hg0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",offsets:\"224.3333|240|180\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Curacao\",untils:\"-u7lckd|rlo7qd|Infinity\",offsets:\"275.7833|270|240\",offsetIndices:\"012\"},{id:\"America/Danmarkshavn\",untils:\"-rvusjk|x8nx3k|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|53hk0|Infinity\",offsets:\"74.6667|180|120|0\",offsetIndices:\"01212121212121212121212121212121213\"},{id:\"America/Dawson_Creek\",untils:\"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|69uk0|Infinity\",offsets:\"480|420\",offsetIndices:\"0101101010101010101010101010101010101010101010101010101011\"},{id:\"America/Dawson\",untils:\"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|465k00|3e2is0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",offsets:\"540|480|420\",offsetIndices:\"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Denver\",untils:\"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Detroit\",untils:\"-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"332.1833|360|300|240\",offsetIndices:\"0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/Dominica\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Edmonton\",untils:\"-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"453.8667|420|360\",offsetIndices:\"0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Eirunepe\",untils:\"-t85f28|99ka68|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|7hg2s0|2t2t80|Infinity\",offsets:\"279.4667|300|240\",offsetIndices:\"0121212121212121212121212121212121\"},{id:\"America/El_Salvador\",untils:\"-pkm4tc|ymao5c|7k580|b5xg0|7k580|Infinity\",offsets:\"356.8|360|300\",offsetIndices:\"012121\"},{id:\"America/Ensenada\",untils:\"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"468.0667|420|480\",offsetIndices:\"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Fort_Nelson\",untils:\"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",offsets:\"480|420\",offsetIndices:\"01011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"America/Fort_Wayne\",untils:\"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Fortaleza\",untils:\"-t85kvc|99kafc|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|puk0|id6s0|6h980|Infinity\",offsets:\"154|180|120\",offsetIndices:\"0121212121212121212121212121212121212121\"},{id:\"America/Glace_Bay\",untils:\"-z94kwc|89fk8c|a2vw0|c5jxg0|1tzdw0|2dnc0|3y8g40|7x3w0|9pa5g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"239.8|240|180\",offsetIndices:\"012122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Godthab\",untils:\"-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"206.9333|180|120\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Goose_Bay\",untils:\"-qzp20k|a2vw0|8kjbw0|kzjyk|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|6y2s0|22420|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"210.8667|150.8667|210|150|240|180|120\",offsetIndices:\"010232323232323233232323232323232323232323232323232323232324545454545454545454545454545454545454545454546454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454\"},{id:\"America/Grand_Turk\",untils:\"-u85og2|z3brw2|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|18ais0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"307.1667|300|240\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121222121212121212121212121212121212121212121\"},{id:\"America/Grenada\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Guadeloupe\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Guatemala\",untils:\"-qqqskk|ss0akk|4ofw0|4tidg0|6djw0|3wwas0|8n180|7n5ms0|7x3w0|Infinity\",offsets:\"362.0667|360|300\",offsetIndices:\"0121212121\"},{id:\"America/Guayaquil\",untils:\"-kcr84o|wb620o|3jp80|Infinity\",offsets:\"314|300|240\",offsetIndices:\"0121\"},{id:\"America/Guyana\",untils:\"-smcak8|vj4sz8|81rf90|Infinity\",offsets:\"232.6667|225|180|240\",offsetIndices:\"0123\"},{id:\"America/Halifax\",untils:\"-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"254.4|240|180\",offsetIndices:\"0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Havana\",untils:\"-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity\",offsets:\"329.6|300|240\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Hermosillo\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"443.8667|420|360|480\",offsetIndices:\"0121212131212121\"},{id:\"America/Indiana/Indianapolis\",untils:\"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indiana/Knox\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Indiana/Marengo\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|2wsas0|7x3w0|1c9440|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|fvt9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"0101011010101010101010101212121212111212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indiana/Petersburg\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|sfzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|eu02o0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"01010110101010101010101010101010101010101010101010111011212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indiana/Tell_City\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|1tw580|9d440|9cyk0|9d440|9cvs0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"01010110101010101010101010101021211010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Indiana/Vevay\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|4gyis0|7txx80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|hfzhg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"010101101212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indiana/Vincennes\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|3fidg0|7x3w0|asys0|7x3w0|b5rw0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|2lz980|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"01010110101010101010101010101010121211011212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indiana/Winamac\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8l40|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"01010110101010101010101010101010101010121211021212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Indianapolis\",untils:\"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Inuvik\",untils:\"-8ve5c0|6fce80|9q000|71i2w0|ipzw0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|480|360|420\",offsetIndices:\"0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"America/Iqaluit\",untils:\"-eb6ao0|1l3h80|2dq40|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|240|300|180|360\",offsetIndices:\"01123212121212121212121212121212121212121212142212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Jamaica\",untils:\"-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity\",offsets:\"307.1667|300|240\",offsetIndices:\"0121212121212121212121\"},{id:\"America/Jujuy\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"012121212121212121212121212121212121212121232323121323232\"},{id:\"America/Juneau\",untils:\"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9d1c0|9d1c0|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420|540\",offsetIndices:\"01101010101010101010101010001010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202\"},{id:\"America/Kentucky/Louisville\",untils:\"-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Kentucky/Monticello\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|bs6g40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"0101011010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Knox_IN\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Kralendijk\",untils:\"-u7lckd|rlo7qd|Infinity\",offsets:\"275.7833|270|240\",offsetIndices:\"012\"},{id:\"America/La_Paz\",untils:\"-jxzspo|84ik0|Infinity\",offsets:\"272.6|212.6|240\",offsetIndices:\"012\"},{id:\"America/Lima\",untils:\"-w25lpo|fcxjlo|4ml80|93us0|9cyk0|9d440|9cyk0|nw16s0|4ml80|e5c40|4ml80|1fr1g0|4ml80|1yiys0|4ml80|Infinity\",offsets:\"308.6|300|240\",offsetIndices:\"0121212121212121\"},{id:\"America/Los_Angeles\",untils:\"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Louisville\",untils:\"-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Lower_Princes\",untils:\"-u7lckd|rlo7qd|Infinity\",offsets:\"275.7833|270|240\",offsetIndices:\"012\"},{id:\"America/Maceio\",untils:\"-t85ldw|99kaxw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|1wf1g0|7k580|biw40|puk0|id6s0|6h980|Infinity\",offsets:\"142.8667|180|120\",offsetIndices:\"012121212121212121212121212121212121212121\"},{id:\"America/Managua\",untils:\"-ijh6oo|ka1i0o|xqqk0|24p6s0|53980|dmtg0|53980|60itw0|dq240|53es0|235h80|4beis0|8zzw0|at4c0|7x140|Infinity\",offsets:\"345.2|360|300\",offsetIndices:\"0121212121212121\"},{id:\"America/Manaus\",untils:\"-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity\",offsets:\"240.0667|240|180\",offsetIndices:\"01212121212121212121212121212121\"},{id:\"America/Marigot\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Martinique\",untils:\"-umcvcs|zz5x4s|8zzw0|Infinity\",offsets:\"244.3333|240|180\",offsetIndices:\"0121\"},{id:\"America/Matamoros\",untils:\"-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"400|360|300\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Mazatlan\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"425.6667|420|360|480\",offsetIndices:\"0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Mendoza\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232312121321232\"},{id:\"America/Menominee\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|a7n9g0|9px80|1at9g0|2396k0|9d1c0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"01010110101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Merida\",untils:\"-p1u7c0|vauo00|hoyk0|6ys0c0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"358.4667|360|300\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Metlakatla\",untils:\"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|gpc840|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|3ylc0|2itg0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420|540\",offsetIndices:\"01101010101010101010101010101010102020200202020202020202020202020202020202020202\"},{id:\"America/Mexico_City\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"396.6|420|360|300\",offsetIndices:\"012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/Miquelon\",untils:\"-ulmyxk|zzqbdk|3m59g0|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"224.6667|240|180|120\",offsetIndices:\"012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/Moncton\",untils:\"-z94i40|89fhg0|a2vw0|7mqqo0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|dmtg0|64ak0|cao40|6fek0|bkqs0|7iak0|6y5k0|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a2lo|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6uiyc|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240|180\",offsetIndices:\"012121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Monterrey\",untils:\"-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"401.2667|360|300\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Montevideo\",untils:\"-w4mll9|67elc0|1s74p9|9et80|9exe0|9czy0|9exe0|9czy0|3ydyq0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7k6m0|9q1e0|9czy0|asxe0|7x5a0|6do20|ppvy0|4mmm0|8g9qq0|901a0|38pe0|2inw0|2nf9g0|8zzw0|1e3s40|9o3y0|q8he0|2kik0|yxhg0|4bh80|s36s0|2vl60|905g0|5rg20|51ek0|weqs0|3yik0|e1ms0|4ofw0|erk40|3yik0|2vs40|gk7w0|41iys0|3wnw0|erk40|4bh80|c8tg0|64ak0|c8tg0|6u7w0|c8tg0|6h980|bvus0|6u7w0|614qs0|9q2s0|a31g0|7x3w0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"224.85|240|180|210|150|120|90\",offsetIndices:\"001232323232323232323232324242525242525264252525252525252525252525252525252525252525252\"},{id:\"America/Montreal\",untils:\"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Montserrat\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Nassau\",untils:\"-u6m4c6|r7u7s6|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"309.5|300|240\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/New_York\",untils:\"-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Nipigon\",untils:\"-qzoxw0|a2vw0|bfxjw0|pmdk0|1tzb40|2dq40|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Nome\",untils:\"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l6c0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"660|600|540|480\",offsetIndices:\"011001010101010101010101010101010122323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/Noronha\",untils:\"-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",offsets:\"129.6667|120|60\",offsetIndices:\"0121212121212121212121212121212121212121\"},{id:\"America/North_Dakota/Beulah\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360|300\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121\"},{id:\"America/North_Dakota/Center\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360|300\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/North_Dakota/New_Salem\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360|300\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Nuuk\",untils:\"-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"206.9333|180|120\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Ojinaga\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"417.6667|420|360|300\",offsetIndices:\"0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Panama\",untils:\"-w757vc|Infinity\",offsets:\"319.6|300\",offsetIndices:\"01\"},{id:\"America/Pangnirtung\",untils:\"-pkmlc0|b0ke00|1tzdw0|2dnc0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|asw00|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|240|180|120|300|360\",offsetIndices:\"012213121212121212121212121212121212114141414154414141414141414141414141414141414141414141414141414141414141414141414141414\"},{id:\"America/Paramaribo\",untils:\"-usj4g8|cixc0c|5lydbk|kcrm6c|Infinity\",offsets:\"220.6667|220.8667|220.6|210|180\",offsetIndices:\"01234\"},{id:\"America/Phoenix\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101010\"},{id:\"America/Port_of_Spain\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Port-au-Prince\",untils:\"-rmk9ac|ylcf6c|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8aaw0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|3vpjw0|ast80|7x9g0|ast80|2stv00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|pkg40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"289|300|240\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Porto_Acre\",untils:\"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",offsets:\"271.2|300|240\",offsetIndices:\"01212121212121212121212121212121\"},{id:\"America/Porto_Velho\",untils:\"-t85g60|99k8i0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity\",offsets:\"255.6|240|180\",offsetIndices:\"012121212121212121212121212121\"},{id:\"America/Puerto_Rico\",untils:\"-efsnk0|1ppu40|2dnc0|Infinity\",offsets:\"240|180\",offsetIndices:\"0110\"},{id:\"America/Punta_Arenas\",untils:\"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|2fnh80|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity\",offsets:\"282.7667|300|240|180\",offsetIndices:\"0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"America/Rainy_River\",untils:\"-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Rankin_Inlet\",untils:\"-6s8lc0|4c6oo0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|360|240|300\",offsetIndices:\"012131313131313131313131313131313131313131313331313131313131313131313131313131313131313131313131313131313131313131313131\"},{id:\"America/Recife\",untils:\"-t85ljc|99kb3c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",offsets:\"139.6|180|120\",offsetIndices:\"0121212121212121212121212121212121212121\"},{id:\"America/Regina\",untils:\"-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity\",offsets:\"418.6|420|360\",offsetIndices:\"012121212121212121212121221212121212121212121212121212\"},{id:\"America/Resolute\",untils:\"-bnp9c0|97nco0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|360|240|300\",offsetIndices:\"012131313131313131313131313131313131313131313331313131313331313131313131313131313131313131313131313131313131313131313131\"},{id:\"America/Rio_Branco\",untils:\"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",offsets:\"271.2|300|240\",offsetIndices:\"01212121212121212121212121212121\"},{id:\"America/Rosario\",untils:\"-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity\",offsets:\"256.8|240|180|120\",offsetIndices:\"01212121212121212121212121212121212121212123232323132323232\"},{id:\"America/Santa_Isabel\",untils:\"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"468.0667|420|480\",offsetIndices:\"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Santarem\",untils:\"-t85hvc|99ka7c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|Infinity\",offsets:\"218.8|240|180\",offsetIndices:\"0121212121212121212121212121212\"},{id:\"America/Santiago\",untils:\"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",offsets:\"282.7667|300|240|180\",offsetIndices:\"010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"America/Santo_Domingo\",untils:\"-j6hz1c|hiw29c|67zw0|1dy840|62ha0|cnle0|4h2m0|elyq0|47ta0|ei9e0|4bim0|eek20|4dda0|ecpe0|dkmtg0|1stc0|Infinity\",offsets:\"280|300|240|270\",offsetIndices:\"01213131313131212\"},{id:\"America/Sao_Paulo\",untils:\"-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",offsets:\"186.4667|180|120\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Scoresbysund\",untils:\"-rvurxk|x8ntpk|902o0|9cvs0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"87.8667|120|60|0\",offsetIndices:\"0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/Shiprock\",untils:\"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Sitka\",untils:\"-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420|540\",offsetIndices:\"01101010101010101010101010101010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202\"},{id:\"America/St_Barthelemy\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/St_Johns\",untils:\"-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"210.8667|150.8667|210|150|90\",offsetIndices:\"01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"America/St_Kitts\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/St_Lucia\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/St_Thomas\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/St_Vincent\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Swift_Current\",untils:\"-xkq9d4|6l1h14|a2vw0|c5jxg0|1tz5k0|2dvo0|asys0|8n180|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|3yles0|9cyk0|s36s0|9cyk0|9d440|7x3w0|b5xg0|7k580|5j4lg0|Infinity\",offsets:\"431.3333|420|360\",offsetIndices:\"012122121212121212121212\"},{id:\"America/Tegucigalpa\",untils:\"-pfzh6k|yho0ik|7k580|b5xg0|7k580|96x1g0|4qak0|Infinity\",offsets:\"348.8667|360|300\",offsetIndices:\"01212121\"},{id:\"America/Thule\",untils:\"-rvuj9g|12yzilg|9cyk0|9d440|9cyk0|9q2s0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"275.1333|240|180\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Thunder_Bay\",untils:\"-vbavc0|gr8qs0|1tzb40|2dq40|ctmlg0|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"0122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"America/Tijuana\",untils:\"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"468.0667|420|480\",offsetIndices:\"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Toronto\",untils:\"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Tortola\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Vancouver\",untils:\"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Virgin\",untils:\"-u6m79w|Infinity\",offsets:\"246.0667|240\",offsetIndices:\"01\"},{id:\"America/Whitehorse\",untils:\"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",offsets:\"540|480|420\",offsetIndices:\"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"America/Winnipeg\",untils:\"-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Yakutat\",untils:\"-ek1tg0|1tz000|2e180|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1lbw0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"540|480\",offsetIndices:\"01101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"America/Yellowknife\",untils:\"-i9m2o0|3pk3o0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"0|420|360|300\",offsetIndices:\"012213121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Antarctica/Casey\",untils:\"-irxc0|lag4o0|73bo0|uz1o0|60l80|2fnh80|pz9g0|Infinity\",offsets:\"0|-480|-660\",offsetIndices:\"01212121\"},{id:\"Antarctica/Davis\",untils:\"-6rmdc0|42jdw0|27wgs0|l8uss0|7eqs0|unmk0|60qs0|Infinity\",offsets:\"0|-420|-300\",offsetIndices:\"01012121\"},{id:\"Antarctica/DumontDUrville\",untils:\"-c05eo0|2mks80|2i72g0|Infinity\",offsets:\"0|-600\",offsetIndices:\"0101\"},{id:\"Antarctica/Macquarie\",untils:\"-rsj4w0|8zzw0|11wqk0|f4kh40|a6p8g0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660|0\",offsetIndices:\"0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101011\"},{id:\"Antarctica/Mawson\",untils:\"-8aelc0|t22y80|Infinity\",offsets:\"0|-360|-300\",offsetIndices:\"012\"},{id:\"Antarctica/McMurdo\",untils:\"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-690|-750|-720|-780\",offsetIndices:\"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Antarctica/Palmer\",untils:\"-2lxhc0|31ho0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|46b6s0|8c2s0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity\",offsets:\"0|180|240|120\",offsetIndices:\"0121212121213121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Antarctica/Rothera\",untils:\"3lxs00|Infinity\",offsets:\"0|180\",offsetIndices:\"01\"},{id:\"Antarctica/South_Pole\",untils:\"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-690|-750|-720|-780\",offsetIndices:\"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Antarctica/Syowa\",untils:\"-6qsqo0|Infinity\",offsets:\"0|-180\",offsetIndices:\"01\"},{id:\"Antarctica/Troll\",untils:\"ibruo0|27pg0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-120\",offsetIndices:\"00101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Antarctica/Vostok\",untils:\"-6aaao0|Infinity\",offsets:\"0|-360\",offsetIndices:\"01\"},{id:\"Arctic/Longyearbyen\",untils:\"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Asia/Aden\",untils:\"-bwgbbg|Infinity\",offsets:\"-186.8667|-180\",offsetIndices:\"01\"},{id:\"Asia/Almaty\",untils:\"-nu1a90|37a0d0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity\",offsets:\"-307.8|-300|-360|-420\",offsetIndices:\"012323232323232323232321232323232323232323232323232\"},{id:\"Asia/Amman\",untils:\"-kcrtbk|m566fk|60l80|awo40|7v980|awo40|7v980|ayis0|9gnw0|9b9g0|7v980|autg0|7v980|3e6840|9et80|9io40|9cyk0|9d440|9cyk0|9d440|9px80|ayis0|7rjw0|ag040|8a2k0|9zc40|8drw0|a31g0|8zzw0|9d440|9cyk0|9d440|8n180|ag040|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|epmo0|4deo0|9o5c0|9ew00|9b6o0|9ew00|9d1c0|9d1c0|9d1c0|asw00|7x6o0|afxc0|8n400|9d1c0|9d1c0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|wel80|51k40|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity\",offsets:\"-143.7333|-120|-180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Anadyr\",untils:\"-nu1sv8|379zj8|qi27w0|9et80|is040|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",offsets:\"-709.9333|-720|-780|-840|-660\",offsetIndices:\"01232121212121212121214121212121212121212121212121212121212141\"},{id:\"Asia/Aqtau\",untils:\"-nu15b4|379y74|qrh3w0|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-201.0667|-240|-300|-360\",offsetIndices:\"012323232323232323232123232312121212121212121212\"},{id:\"Asia/Aqtobe\",untils:\"-nu16l4|379zh4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity\",offsets:\"-228.6667|-240|-300|-360\",offsetIndices:\"0123232323232323232321232323232323232323232323232\"},{id:\"Asia/Ashgabat\",untils:\"-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity\",offsets:\"-233.5333|-240|-300|-360\",offsetIndices:\"0123232323232323232323212\"},{id:\"Asia/Ashkhabad\",untils:\"-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity\",offsets:\"-233.5333|-240|-300|-360\",offsetIndices:\"0123232323232323232323212\"},{id:\"Asia/Atyrau\",untils:\"-nu15m8|37a1a8|qrh140|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|j3440|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-207.7333|-180|-300|-360|-240\",offsetIndices:\"01232323232323232323242323232323232324242424242\"},{id:\"Asia/Baghdad\",untils:\"-r50g80|xkn3w0|7v980|9b9g0|9gnw0|9eys0|9et80|9d440|9b9g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9f1k0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|Infinity\",offsets:\"-177.6|-180|-240\",offsetIndices:\"012121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Bahrain\",untils:\"-q3gmvk|rctnrk|Infinity\",offsets:\"-206.1333|-240|-180\",offsetIndices:\"012\"},{id:\"Asia/Baku\",untils:\"-nu158c|h4tkwc|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|239ew0|asw00|7x3w0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-199.4|-180|-240|-300\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Bangkok\",untils:\"-pysda4|Infinity\",offsets:\"-402.0667|-420\",offsetIndices:\"01\"},{id:\"Asia/Barnaul\",untils:\"-q4ljic|5hu6uc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|38fo0|64og0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",offsets:\"-335|-360|-420|-480\",offsetIndices:\"0123232323232323232323212323232321212121212121212121212121212121212\"},{id:\"Asia/Beirut\",untils:\"-pyzew0|aunw0|88dg0|9et80|8yas0|a2vw0|a31g0|7k580|hjqo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|5lhs40|56yk0|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|autg0|7v980|2wxus0|8n180|a4w40|8n180|a4w40|8n180|a4w40|8n180|bs5g0|71mk0|alk40|86d80|a4w40|8n180|a4w40|8n180|a6qs0|80t80|905g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|Infinity\",offsets:\"-120|-180\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Asia/Bishkek\",untils:\"-nu19tc|379zxc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|h8dc0|bkl80|8n180|a31g0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9db20|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|Infinity\",offsets:\"-298.4|-300|-360|-420\",offsetIndices:\"012323232323232323232321212121212121212121212121212\"},{id:\"Asia/Brunei\",untils:\"-mvofy4|3khxs4|Infinity\",offsets:\"-459.6667|-450|-480\",offsetIndices:\"012\"},{id:\"Asia/Calcutta\",untils:\"-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity\",offsets:\"-321.1667|-330|-390\",offsetIndices:\"012121\"},{id:\"Asia/Chita\",untils:\"-q4cfog|5hkxgg|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnew0|Infinity\",offsets:\"-453.8667|-480|-540|-600\",offsetIndices:\"012323232323232323232321232323232323232323232323232323232323232312\"},{id:\"Asia/Choibalsan\",untils:\"-xmct7c|11sndrc|2qk2k0|9eqg0|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|s6qk0|3nc0c0|9ct00|9d9o0|9ct00|Infinity\",offsets:\"-458|-420|-480|-600|-540\",offsetIndices:\"0123434343434343434343434343434343434343434343424242\"},{id:\"Asia/Chongqing\",untils:\"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010\"},{id:\"Asia/Chungking\",untils:\"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010\"},{id:\"Asia/Colombo\",untils:\"-xehask|isle6k|cajy0|1mp2u0|qetjw0|7x5a0|4xvqq0|Infinity\",offsets:\"-319.5333|-330|-360|-390\",offsetIndices:\"01231321\"},{id:\"Asia/Dacca\",untils:\"-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity\",offsets:\"-353.3333|-390|-330|-360|-420\",offsetIndices:\"0121343\"},{id:\"Asia/Damascus\",untils:\"-q3gk20|5k6q0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|k4hk40|7yyk0|awo40|7tek0|b0dg0|7v980|awo40|7tek0|alk40|887w0|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|6bp80|cg840|6bp80|2eh1g0|8zzw0|9ts40|8zzw0|pvk40|c33w0|7cw40|cjrw0|6zxg0|btuk0|7rpg0|9gnw0|9d440|9cyk0|9et80|9et80|9rxg0|91uk0|92040|9et80|9o840|9et80|9d440|9et80|9eys0|9et80|9b9g0|9gnw0|99es0|9iik0|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|8y580|9q2s0|b5rw0|7x9g0|aunw0|7ig40|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|Infinity\",offsets:\"-145.2|-120|-180\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Dhaka\",untils:\"-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity\",offsets:\"-353.3333|-390|-330|-360|-420\",offsetIndices:\"0121343\"},{id:\"Asia/Dili\",untils:\"-u9s4l8|fqcu98|hufs00|cpz440|Infinity\",offsets:\"-502.3333|-480|-540\",offsetIndices:\"01212\"},{id:\"Asia/Dubai\",untils:\"-q3gnko|Infinity\",offsets:\"-221.2|-240\",offsetIndices:\"01\"},{id:\"Asia/Dushanbe\",untils:\"-nu18qo|379yuo|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|hp440|Infinity\",offsets:\"-275.2|-300|-360|-420\",offsetIndices:\"012323232323232323232321\"},{id:\"Asia/Famagusta\",untils:\"-p4bqac|rvhy2c|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|8h8w0|leog0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-135.8|-120|-180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212212121212121212121212121212121212121212121\"},{id:\"Asia/Gaza\",untils:\"-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|7x3w0|asys0|8a5c0|ahs1o|71mic|bzk5o|69uic|cg840|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity\",offsets:\"-120|-180\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Asia/Harbin\",untils:\"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010\"},{id:\"Asia/Hebron\",untils:\"-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|82nw0|anes0|8a5c0|afxc0|73h80|bzk5o|69uic|1hs40|1lbw0|9d440|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity\",offsets:\"-120|-180\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Asia/Ho_Chi_Minh\",untils:\"-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity\",offsets:\"-426.6667|-426.5|-420|-480|-540\",offsetIndices:\"0123423232\"},{id:\"Asia/Hong_Kong\",untils:\"-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",offsets:\"-456.7|-480|-540|-510\",offsetIndices:\"0123212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Hovd\",untils:\"-xmcoz0|11sncb0|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",offsets:\"-366.6|-360|-420|-480\",offsetIndices:\"012323232323232323232323232323232323232323232323232\"},{id:\"Asia/Irkutsk\",untils:\"-q28gn5|5fh175|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-417.0833|-420|-480|-540\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Istanbul\",untils:\"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",offsets:\"-116.9333|-120|-180|-240\",offsetIndices:\"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"},{id:\"Asia/Jakarta\",untils:\"-o0bdpc|4lzxc0|4wdzjc|1tu960|1cx860|11jta0|74uc20|Infinity\",offsets:\"-427.2|-440|-450|-540|-480|-420\",offsetIndices:\"01232425\"},{id:\"Asia/Jayapura\",untils:\"-jebm20|66bqe0|a37vy0|Infinity\",offsets:\"-562.8|-540|-570\",offsetIndices:\"0121\"},{id:\"Asia/Jerusalem\",untils:\"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",offsets:\"-140.6667|-120|-180|-240\",offsetIndices:\"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Kabul\",untils:\"-d1pkg0|Infinity\",offsets:\"-240|-270\",offsetIndices:\"01\"},{id:\"Asia/Kamchatka\",untils:\"-olrupo|3z045o|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",offsets:\"-634.6|-660|-720|-780\",offsetIndices:\"012323232323232323232321232323232323232323232323232323232323212\"},{id:\"Asia/Karachi\",untils:\"-wvpb30|im3zt0|1mn180|33xpg0|a63o20|g72qo0|9cyk0|2y85g0|7v980|8hms0|aaak0|Infinity\",offsets:\"-268.2|-330|-390|-300|-360\",offsetIndices:\"012133434343\"},{id:\"Asia/Kashgar\",untils:\"-lx5pjw|Infinity\",offsets:\"-350.3333|-360\",offsetIndices:\"01\"},{id:\"Asia/Kathmandu\",untils:\"-q3gt4s|yg2lus|Infinity\",offsets:\"-341.2667|-330|-345\",offsetIndices:\"012\"},{id:\"Asia/Katmandu\",untils:\"-q3gt4s|yg2lus|Infinity\",offsets:\"-341.2667|-330|-345\",offsetIndices:\"012\"},{id:\"Asia/Khandyga\",untils:\"-q4cjrp|5hl1jp|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|3fx40|4h6s0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity\",offsets:\"-542.2167|-480|-540|-600|-660\",offsetIndices:\"0123232323232323232323212323232323232323232323232343434343434343432\"},{id:\"Asia/Kolkata\",untils:\"-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity\",offsets:\"-321.1667|-330|-390\",offsetIndices:\"012121\"},{id:\"Asia/Krasnoyarsk\",untils:\"-q37l72|5gg8j2|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-371.4333|-360|-420|-480\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Kuala_Lumpur\",untils:\"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",offsets:\"-415.4167|-420|-440|-450|-540|-480\",offsetIndices:\"0123435\"},{id:\"Asia/Kuching\",untils:\"-mvof3k|3khwxk|1epvy0|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|3ajlc|1v2qk0|Infinity\",offsets:\"-441.3333|-450|-480|-500|-540\",offsetIndices:\"0123232323232323242\"},{id:\"Asia/Kuwait\",untils:\"-bwgbbg|Infinity\",offsets:\"-186.8667|-180\",offsetIndices:\"01\"},{id:\"Asia/Macao\",untils:\"-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",offsets:\"-454.1667|-480|-540|-600\",offsetIndices:\"012323212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Macau\",untils:\"-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",offsets:\"-454.1667|-480|-540|-600\",offsetIndices:\"012323212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Magadan\",untils:\"-nu1nxc|37a05c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|s39k0|Infinity\",offsets:\"-603.2|-600|-660|-720\",offsetIndices:\"012323232323232323232321232323232323232323232323232323232323232312\"},{id:\"Asia/Makassar\",untils:\"-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity\",offsets:\"-477.6|-480|-540\",offsetIndices:\"00121\"},{id:\"Asia/Manila\",untils:\"-hb5y80|4qak0|2qidg0|1b2d80|4xf440|442k0|cdqdg0|9et80|Infinity\",offsets:\"-480|-540\",offsetIndices:\"010101010\"},{id:\"Asia/Muscat\",untils:\"-q3gnko|Infinity\",offsets:\"-221.2|-240\",offsetIndices:\"01\"},{id:\"Asia/Nicosia\",untils:\"-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-133.4667|-120|-180\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Novokuznetsk\",untils:\"-nu36tc|37bu5c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",offsets:\"-348.8|-360|-420|-480\",offsetIndices:\"012323232323232323232321232323232323232323232323232323232323212\"},{id:\"Asia/Novosibirsk\",untils:\"-q4do0s|5hmbcs|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|2vh00|6hn40|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|wrpg0|Infinity\",offsets:\"-331.6667|-360|-420|-480\",offsetIndices:\"0123232323232323232323212323212121212121212121212121212121212121212\"},{id:\"Asia/Omsk\",untils:\"-q5xmx6|5j6d16|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-293.5|-300|-360|-420\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Oral\",untils:\"-nu15ic|37a16c|qi2540|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|9d1c0|5reo0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-205.4|-180|-300|-360|-240\",offsetIndices:\"01232323232323232424242424242424242424242424242\"},{id:\"Asia/Phnom_Penh\",untils:\"-pysda4|Infinity\",offsets:\"-402.0667|-420\",offsetIndices:\"01\"},{id:\"Asia/Pontianak\",untils:\"-w6piww|cse2o0|4tnu2w|1wkei0|1cx860|11jta0|74uc20|cixam0|Infinity\",offsets:\"-437.3333|-450|-540|-480|-420\",offsetIndices:\"001213134\"},{id:\"Asia/Pyongyang\",untils:\"-w895yc|1yh10c|hk5da0|10ipmo0|1f4qo0|Infinity\",offsets:\"-503|-510|-540\",offsetIndices:\"012212\"},{id:\"Asia/Qatar\",untils:\"-q3gmvk|rctnrk|Infinity\",offsets:\"-206.1333|-240|-180\",offsetIndices:\"012\"},{id:\"Asia/Qostanay\",untils:\"-nu17s4|37a0o4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-254.4667|-240|-300|-360\",offsetIndices:\"012323232323232323232123232323232323232323232323\"},{id:\"Asia/Qyzylorda\",untils:\"-nu184g|37a10g|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|ohhc0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|7osl00|Infinity\",offsets:\"-261.8667|-240|-300|-360\",offsetIndices:\"01232323232323232323232323232323232323232323232\"},{id:\"Asia/Rangoon\",untils:\"-q3gv5b|bnjp3b|1kh520|Infinity\",offsets:\"-384.7833|-390|-540\",offsetIndices:\"0121\"},{id:\"Asia/Riyadh\",untils:\"-bwgbbg|Infinity\",offsets:\"-186.8667|-180\",offsetIndices:\"01\"},{id:\"Asia/Saigon\",untils:\"-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity\",offsets:\"-426.6667|-426.5|-420|-480|-540\",offsetIndices:\"0123423232\"},{id:\"Asia/Sakhalin\",untils:\"-xl87rc|kvnarc|ikvh40|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|iq5g0|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",offsets:\"-570.8|-540|-660|-720|-600\",offsetIndices:\"01232323232323232323232423232323232424242424242424242424242424242\"},{id:\"Asia/Samarkand\",untils:\"-nu18eh|37a1ah|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|Infinity\",offsets:\"-267.8833|-240|-300|-360\",offsetIndices:\"01232323232323232323232\"},{id:\"Asia/Seoul\",untils:\"-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-507.8667|-510|-540|-600|-570\",offsetIndices:\"012232323232141414141414123232\"},{id:\"Asia/Shanghai\",untils:\"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010\"},{id:\"Asia/Singapore\",untils:\"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",offsets:\"-415.4167|-420|-440|-450|-540|-480\",offsetIndices:\"0123435\"},{id:\"Asia/Srednekolymsk\",untils:\"-nu1ogs|37a0os|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-614.8667|-600|-660|-720\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Taipei\",untils:\"-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010101010101010\"},{id:\"Asia/Tashkent\",untils:\"-nu18tz|379yxz|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|Infinity\",offsets:\"-277.1833|-300|-360|-420\",offsetIndices:\"012323232323232323232321\"},{id:\"Asia/Tbilisi\",untils:\"-nu14an|h4tjyn|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9cvs0|9cyk0|9d440|9cyk0|9d440|ipzw0|9cyk0|9q2s0|tivw0|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|4ofw0|6hn40|7k800|Infinity\",offsets:\"-179.1833|-180|-240|-300\",offsetIndices:\"0123232323232323232323212121232323232323232323212\"},{id:\"Asia/Tehran\",untils:\"-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity\",offsets:\"-205.7333|-210|-240|-300|-270\",offsetIndices:\"00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141\"},{id:\"Asia/Tel_Aviv\",untils:\"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",offsets:\"-140.6667|-120|-180|-240\",offsetIndices:\"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Asia/Thimbu\",untils:\"-bojclo|kxymno|Infinity\",offsets:\"-358.6|-330|-360\",offsetIndices:\"012\"},{id:\"Asia/Thimphu\",untils:\"-bojclo|kxymno|Infinity\",offsets:\"-358.6|-330|-360\",offsetIndices:\"012\"},{id:\"Asia/Tokyo\",untils:\"-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity\",offsets:\"-540|-600\",offsetIndices:\"010101010\"},{id:\"Asia/Tomsk\",untils:\"-q3zbqf|5h7z2f|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|1leo0|97k40|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|tw040|Infinity\",offsets:\"-339.85|-360|-420|-480\",offsetIndices:\"0123232323232323232323212323232323232323232323212121212121212121212\"},{id:\"Asia/Ujung_Pandang\",untils:\"-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity\",offsets:\"-477.6|-480|-540\",offsetIndices:\"00121\"},{id:\"Asia/Ulaanbaatar\",untils:\"-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",offsets:\"-427.5333|-420|-480|-540\",offsetIndices:\"012323232323232323232323232323232323232323232323232\"},{id:\"Asia/Ulan_Bator\",untils:\"-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity\",offsets:\"-427.5333|-420|-480|-540\",offsetIndices:\"012323232323232323232323232323232323232323232323232\"},{id:\"Asia/Urumqi\",untils:\"-lx5pjw|Infinity\",offsets:\"-350.3333|-360\",offsetIndices:\"01\"},{id:\"Asia/Ust-Nera\",untils:\"-q4cl6u|5hl2yu|qi27w0|9eno0|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity\",offsets:\"-572.9|-480|-540|-720|-660|-600\",offsetIndices:\"012343434343434343434345434343434343434343434343434343434343434345\"},{id:\"Asia/Vientiane\",untils:\"-pysda4|Infinity\",offsets:\"-402.0667|-420\",offsetIndices:\"01\"},{id:\"Asia/Vladivostok\",untils:\"-oligf7|3yqvf7|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-527.5167|-540|-600|-660\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Yakutsk\",untils:\"-q4cioy|5hl0gy|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-518.9667|-480|-540|-600\",offsetIndices:\"01232323232323232323232123232323232323232323232323232323232323232\"},{id:\"Asia/Yangon\",untils:\"-q3gv5b|bnjp3b|1kh520|Infinity\",offsets:\"-384.7833|-390|-540\",offsetIndices:\"0121\"},{id:\"Asia/Yekaterinburg\",untils:\"-rx5hw9|1kybx4|5pfyv5|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-242.55|-225.0833|-240|-300|-360\",offsetIndices:\"012343434343434343434343234343434343434343434343434343434343434343\"},{id:\"Asia/Yerevan\",untils:\"-nu148o|h4tjwo|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|11t180|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity\",offsets:\"-178|-180|-240|-300\",offsetIndices:\"0123232323232323232323212121212323232323232323232323232323232\"},{id:\"Atlantic/Azores\",untils:\"-u9rbs0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"114.5333|120|60|0\",offsetIndices:\"01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323233323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Atlantic/Bermuda\",untils:\"-kvj2fu|n4pr3u|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"259.3|240|180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Atlantic/Canary\",untils:\"-oytbtc|ctvupc|hhq7s0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"61.6|60|0|-60\",offsetIndices:\"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Atlantic/Cape_Verde\",untils:\"-u9rbs0|g06lc0|1mn180|fpqwc0|Infinity\",offsets:\"94.0667|120|60\",offsetIndices:\"01212\"},{id:\"Atlantic/Faeroe\",untils:\"-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"27.0667|0|-60\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Atlantic/Faroe\",untils:\"-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"27.0667|0|-60\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Atlantic/Jan_Mayen\",untils:\"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Atlantic/Madeira\",untils:\"-u9rek0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"67.6|60|0|-60\",offsetIndices:\"01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Atlantic/Reykjavik\",untils:\"-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity\",offsets:\"88|60|0\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"Atlantic/South_Georgia\",untils:\"Infinity\",offsets:\"120\",offsetIndices:\"0\"},{id:\"Atlantic/St_Helena\",untils:\"-u9rgl4|Infinity\",offsets:\"16.1333|0\",offsetIndices:\"01\"},{id:\"Atlantic/Stanley\",untils:\"-u63pac|dbvxqc|8zzw0|9q2s0|8zzw0|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|4xp80|l1pus0|7k580|b5rw0|77c40|biqk0|id6s0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|77c40|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5xg0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|77c40|biqk0|77c40|biqk0|77c40|Infinity\",offsets:\"231.4|240|180|120\",offsetIndices:\"012121212121212323212121212121212121212121212121212121212121212121212\"},{id:\"Australia/ACT\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Adelaide\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Brisbane\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity\",offsets:\"-600|-660\",offsetIndices:\"01010101010101010\"},{id:\"Australia/Broken_Hill\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Canberra\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Currie\",untils:\"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Darwin\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"010101010\"},{id:\"Australia/Eucla\",untils:\"-rnstlc|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-525|-585\",offsetIndices:\"0101010101010101010\"},{id:\"Australia/Hobart\",untils:\"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/LHI\",untils:\"5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity\",offsets:\"-600|-630|-690|-660\",offsetIndices:\"0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313\"},{id:\"Australia/Lindeman\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|Infinity\",offsets:\"-600|-660\",offsetIndices:\"010101010101010101010\"},{id:\"Australia/Lord_Howe\",untils:\"5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity\",offsets:\"-600|-630|-690|-660\",offsetIndices:\"0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313\"},{id:\"Australia/Melbourne\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/North\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"010101010\"},{id:\"Australia/NSW\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Perth\",untils:\"-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"0101010101010101010\"},{id:\"Australia/Queensland\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity\",offsets:\"-600|-660\",offsetIndices:\"01010101010101010\"},{id:\"Australia/South\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Sydney\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Tasmania\",untils:\"-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/Victoria\",untils:\"-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-600|-660\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Australia/West\",untils:\"-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"0101010101010101010\"},{id:\"Australia/Yancowinna\",untils:\"-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-570|-630\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\"},{id:\"Brazil/Acre\",untils:\"-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity\",offsets:\"271.2|300|240\",offsetIndices:\"01212121212121212121212121212121\"},{id:\"Brazil/DeNoronha\",untils:\"-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity\",offsets:\"129.6667|120|60\",offsetIndices:\"0121212121212121212121212121212121212121\"},{id:\"Brazil/East\",untils:\"-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity\",offsets:\"186.4667|180|120\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Brazil/West\",untils:\"-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity\",offsets:\"240.0667|240|180\",offsetIndices:\"01212121212121212121212121212121\"},{id:\"Canada/Atlantic\",untils:\"-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"254.4|240|180\",offsetIndices:\"0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Canada/Central\",untils:\"-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Canada/Eastern\",untils:\"-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Canada/Mountain\",untils:\"-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"453.8667|420|360\",offsetIndices:\"0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Canada/Newfoundland\",untils:\"-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"210.8667|150.8667|210|150|90\",offsetIndices:\"01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Canada/Pacific\",untils:\"-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Canada/Saskatchewan\",untils:\"-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity\",offsets:\"418.6|420|360\",offsetIndices:\"012121212121212121212121221212121212121212121212121212\"},{id:\"Canada/Yukon\",untils:\"-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity\",offsets:\"540|480|420\",offsetIndices:\"01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"CET\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Chile/Continental\",untils:\"-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",offsets:\"282.7667|300|240|180\",offsetIndices:\"010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Chile/EasterIsland\",untils:\"-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",offsets:\"437.4667|420|360|300\",offsetIndices:\"012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"CST6CDT\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Cuba\",untils:\"-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity\",offsets:\"329.6|300|240\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"EET\",untils:\"3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-120|-180\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Egypt\",untils:\"-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity\",offsets:\"-120|-180\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Eire\",untils:\"-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"25.35|-34.65|0|-60\",offsetIndices:\"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"EST\",untils:\"Infinity\",offsets:\"300\",offsetIndices:\"0\"},{id:\"EST5EDT\",untils:\"-r0ev80|ast80|7x9g0|ast80|bmtus0|1tzb40|2dq40|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Etc/GMT-0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/GMT-1\",untils:\"Infinity\",offsets:\"-60\",offsetIndices:\"0\"},{id:\"Etc/GMT-10\",untils:\"Infinity\",offsets:\"-600\",offsetIndices:\"0\"},{id:\"Etc/GMT-11\",untils:\"Infinity\",offsets:\"-660\",offsetIndices:\"0\"},{id:\"Etc/GMT-12\",untils:\"Infinity\",offsets:\"-720\",offsetIndices:\"0\"},{id:\"Etc/GMT-13\",untils:\"Infinity\",offsets:\"-780\",offsetIndices:\"0\"},{id:\"Etc/GMT-14\",untils:\"Infinity\",offsets:\"-840\",offsetIndices:\"0\"},{id:\"Etc/GMT-2\",untils:\"Infinity\",offsets:\"-120\",offsetIndices:\"0\"},{id:\"Etc/GMT-3\",untils:\"Infinity\",offsets:\"-180\",offsetIndices:\"0\"},{id:\"Etc/GMT-4\",untils:\"Infinity\",offsets:\"-240\",offsetIndices:\"0\"},{id:\"Etc/GMT-5\",untils:\"Infinity\",offsets:\"-300\",offsetIndices:\"0\"},{id:\"Etc/GMT-6\",untils:\"Infinity\",offsets:\"-360\",offsetIndices:\"0\"},{id:\"Etc/GMT-7\",untils:\"Infinity\",offsets:\"-420\",offsetIndices:\"0\"},{id:\"Etc/GMT-8\",untils:\"Infinity\",offsets:\"-480\",offsetIndices:\"0\"},{id:\"Etc/GMT-9\",untils:\"Infinity\",offsets:\"-540\",offsetIndices:\"0\"},{id:\"Etc/GMT\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/GMT+0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/GMT+1\",untils:\"Infinity\",offsets:\"60\",offsetIndices:\"0\"},{id:\"Etc/GMT+10\",untils:\"Infinity\",offsets:\"600\",offsetIndices:\"0\"},{id:\"Etc/GMT+11\",untils:\"Infinity\",offsets:\"660\",offsetIndices:\"0\"},{id:\"Etc/GMT+12\",untils:\"Infinity\",offsets:\"720\",offsetIndices:\"0\"},{id:\"Etc/GMT+2\",untils:\"Infinity\",offsets:\"120\",offsetIndices:\"0\"},{id:\"Etc/GMT+3\",untils:\"Infinity\",offsets:\"180\",offsetIndices:\"0\"},{id:\"Etc/GMT+4\",untils:\"Infinity\",offsets:\"240\",offsetIndices:\"0\"},{id:\"Etc/GMT+5\",untils:\"Infinity\",offsets:\"300\",offsetIndices:\"0\"},{id:\"Etc/GMT+6\",untils:\"Infinity\",offsets:\"360\",offsetIndices:\"0\"},{id:\"Etc/GMT+7\",untils:\"Infinity\",offsets:\"420\",offsetIndices:\"0\"},{id:\"Etc/GMT+8\",untils:\"Infinity\",offsets:\"480\",offsetIndices:\"0\"},{id:\"Etc/GMT+9\",untils:\"Infinity\",offsets:\"540\",offsetIndices:\"0\"},{id:\"Etc/GMT0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/Greenwich\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/UCT\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/Universal\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/UTC\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Etc/Zulu\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Europe/Amsterdam\",untils:\"-s0dvkk|7v980|a51o0|7x6o0|a2yo0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9b6o0|a2yo0|c51c0|6l1c0|902o0|9q000|ci000|682o0|bgyo0|79400|bitc0|779c0|bmio0|7gio0|bbeo0|7eo00|bd9c0|7ctc0|bf400|7ayo0|bvs00|6uao0|bko00|7idc0|b9k00|7gio0|bbeo0|7eo00|bf400|7ayo0|btxc0|21uc0|4uaz8|bitc0|779c0|bko00|7idc0|bd3s0|1aarpc|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-19.5333|-79.5333|-80|-20|-120|-60\",offsetIndices:\"010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545\"},{id:\"Europe/Andorra\",untils:\"-c4xmo0|k3ctg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Astrakhan\",untils:\"-nu2zkc|37bv8c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",offsets:\"-192.2|-180|-240|-300\",offsetIndices:\"012323232323232323212121212121212121212121212121212121212121212\"},{id:\"Europe/Athens\",untils:\"-rvv0cg|8bjasg|2vmk0|4hiw40|16ik0|scog0|7lx40|9o2k0|9eys0|4atzw0|6djw0|bplus0|bq800|71uw0|9d1c0|902o0|91xc0|9o5c0|905g0|9qgo0|9akg0|9iik0|99980|9dcg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-94.8667|-120|-180|-60\",offsetIndices:\"012121313121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Belfast\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Belgrade\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Berlin\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|2o7w0|6bs00|2txg0|7k800|91xc0|9b9g0|1sqk0|2inw0|51k40|a2yo0|8n400|9q000|902o0|fx91c0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120|-180\",offsetIndices:\"01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Bratislava\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120|0\",offsetIndices:\"01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Brussels\",untils:\"-ss5uo0|rrx80|7vc00|a4yw0|7x6o0|asw00|7x6o0|2wh40|5omo0|b5uo0|6uao0|cyo00|7ayo0|bko00|7rmo0|a2yo0|a2yo0|8n400|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|90b00|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|4deo0|1a36k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0121212101010101010101010101010101010101010101010101212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Bucharest\",untils:\"-k29zi0|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|kp0dc0|6h980|9q000|905g0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-104.4|-120|-180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Budapest\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|a31g0|8n180|autg0|bgvw0|b5jeg0|th9k0|7k800|9q000|9d1c0|9d1c0|awd00|9ew00|7q0c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|a4tc0|9q000|1va2g0|6u7w0|bxpg0|6u7w0|cjxg0|64ak0|cluw0|64g40|br3ek0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Busingen\",untils:\"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Chisinau\",untils:\"-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-115|-104.4|-120|-180|-60|-240\",offsetIndices:\"012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Copenhagen\",untils:\"-rzo2w0|75bw0|cbs2w0|1aco80|7k800|9q000|9d1c0|9d1c0|9d1c0|6y000|dbmo0|6bs00|clpc0|51hc0|e1k00|4oio0|giutc0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Dublin\",untils:\"-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"25.35|-34.65|0|-60\",offsetIndices:\"01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Gibraltar\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|d0tp80|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"010101010101010101010101010101010101010101010101012121212121010121010101010101010101012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Guernsey\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Helsinki\",untils:\"-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-99.8167|-120|-180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Isle_of_Man\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Istanbul\",untils:\"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",offsets:\"-116.9333|-120|-180|-240\",offsetIndices:\"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"},{id:\"Europe/Jersey\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Kaliningrad\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|el00|z6o0|9kd80|82tg0|i9avw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-60|-120|-180|-240\",offsetIndices:\"01010101010101121232323232323232322121212121212121212121212121212121212121212121\"},{id:\"Europe/Kiev\",untils:\"-nu11ng|37a03g|5vd6k0|kzv40|7k800|9q000|1oyg0|jipzs0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|51ek0|neqw0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-122.0667|-120|-180|-60|-240\",offsetIndices:\"0121313242424242424242424242121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Kirov\",untils:\"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-198.8|-180|-240|-300\",offsetIndices:\"01232323232323232321212121212121212121212121212121212121212121\"},{id:\"Europe/Lisbon\",untils:\"-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"36.75|0|-60|-120\",offsetIndices:\"012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Ljubljana\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/London\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Luxembourg\",untils:\"-y89550|68l290|75hg0|ast80|796s0|at1k0|7x6o0|3lh40|4zmo0|b6300|6u2c0|cytk0|7at40|bktk0|7rh40|a31g0|a2vw0|8n9k0|8zx40|9q2s0|9et80|9b9g0|a2vw0|8n6s0|9px80|905g0|a2vw0|905g0|a2vw0|8ncc0|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|42ao0|1aeak0|7k800|9q000|9d1c0|8n400|a2yo0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-24.6|-60|-120|0\",offsetIndices:\"0121212131313131313131313131313131313131313131313131212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Madrid\",untils:\"-qzlus0|8yas0|9cyk0|9eys0|2d2vw0|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|a2vw0|8n6s0|40lh80|5k2s0|9cyk0|1frw0|7z1c0|j1c80|8a2k0|13yt80|685g0|brzw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|1clx80|7x9g0|cswik0|905g0|9px80|905g0|8zzw0|9d440|9px80|905g0|9q5k0|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"010101010101010101210121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Malta\",untils:\"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9b6o0|8n400|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|9b6o0|9d1c0|ahs00|7m2o0|b45k0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|a4w40|8y580|9q2s0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Mariehamn\",untils:\"-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-99.8167|-120|-180\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Minsk\",untils:\"-nu113c|379zjc|5r1mk0|pbf40|7k800|9q000|9d1c0|4oac0|j6dmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|sg2o0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|Infinity\",offsets:\"-110|-120|-180|-60|-240\",offsetIndices:\"01213131242424242424242424221212121212121212121212121212121212121212\"},{id:\"Europe/Monaco\",untils:\"-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|mdbo0|7x3w0|7x9g0|c8w80|7k800|9q000|9d1c0|9nzs0|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-9.35|0|-60|-120\",offsetIndices:\"01212121212121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Moscow\",untils:\"-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120\",offsetIndices:\"012132345464575454545454545454545455754545454545454545454545454545454545454545\"},{id:\"Europe/Nicosia\",untils:\"-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-133.4667|-120|-180\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Oslo\",untils:\"-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Paris\",untils:\"-uozn1x|2qx1lx|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|5p8w0|18rcc0|7k800|9q000|9d1c0|7efo0|29k40|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-9.35|0|-60|-120\",offsetIndices:\"0121212121212121212121212121212121212121212121212123232332323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Podgorica\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Prague\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120|0\",offsetIndices:\"01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Riga\",untils:\"-qznlky|7x6o0|a4tc0|2mg00|3myns0|7fhlky|gz180|p5v40|7k800|9q000|9d1c0|9d1c0|k7s0|j14ns0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|asw00|7x6o0|asw00|7x6o0|b5uo0|qaao0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-96.5667|-156.5667|-120|-180|-60|-240\",offsetIndices:\"010102324242435353535353535353323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Rome\",untils:\"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Samara\",untils:\"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|jt1g0|89zs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity\",offsets:\"-200.3333|-180|-240|-300\",offsetIndices:\"0123232323232323232121232323232323232323232323232323232323212\"},{id:\"Europe/San_Marino\",untils:\"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Sarajevo\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Saratov\",untils:\"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|13m040|Infinity\",offsets:\"-184.3|-180|-240|-300\",offsetIndices:\"012323232323232321212121212121212121212121212121212121212121212\"},{id:\"Europe/Simferopol\",untils:\"-nu12ao|37a0qo|5xiyk0|iu340|7k800|9q000|9d1c0|iac0|jajmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|wrjw0|9cyk0|9d440|9cyk0|9d440|1sqk0|7k580|9d440|9cyk0|9q2s0|at4c0|7x9g0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x3w0|asqg0|Infinity\",offsets:\"-136|-120|-180|-60|-240\",offsetIndices:\"012131312424242424242424242121212424242212121212121212121212121212121212142\"},{id:\"Europe/Skopje\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Sofia\",untils:\"-e6dzw0|7k800|9q000|9d1c0|9d1c0|9d440|hqq240|9eys0|9o2k0|92040|9o2k0|90880|9pug0|90b00|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-120|-60|-180\",offsetIndices:\"01010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020\"},{id:\"Europe/Stockholm\",untils:\"-rzo2w0|75hg0|x5bew0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Tallinn\",untils:\"-r3exx0|3re10|7x6o0|et6g0|ygov0|a1zgd0|ktx80|l94g0|7k800|9q000|9d1c0|8uac0|j27mk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asys0|7x6o0|b5uo0|19dc00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-99|-60|-120|-180|-240\",offsetIndices:\"012102321212343434343434343433232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Tirane\",untils:\"-t85vo8|dt2gw8|18pew0|7k800|m800|g7ot40|7rjw0|autg0|7x3w0|ayis0|7x3w0|b5xg0|7k580|b42s0|7lzw0|b42s0|7lzw0|b42s0|7x3w0|ahus0|7x3w0|b5xg0|7x3w0|a4w40|8jbw0|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-79.3333|-60|-120\",offsetIndices:\"01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Tiraspol\",untils:\"-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-115|-104.4|-120|-180|-60|-240\",offsetIndices:\"012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"Europe/Ulyanovsk\",untils:\"-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity\",offsets:\"-193.6|-180|-240|-300|-120\",offsetIndices:\"01232323232323232321214121212121212121212121212121212121212121212\"},{id:\"Europe/Uzhgorod\",untils:\"-fizzw0|1cm000|7k800|9q000|9d1c0|al900|cnms0|int140|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|e1sc0|iprk0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120|-180|-240\",offsetIndices:\"010101023232323232323232320121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Vaduz\",untils:\"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Vatican\",untils:\"-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Vienna\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|t6000|8a5c0|a7a800|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|iio0|ivmo0|91xc0|9b6o0|9d1c0|a2yo0|8n400|gfyyg0|8zzw0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Vilnius\",untils:\"-rns980|1g224o|e75nc|4kqk0|acbs40|gpp40|pits0|7k800|9q000|9d1c0|65zo0|j4vx80|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x9g0|asw00|7x6o0|b5uo0|1s3eo0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-84|-95.6|-60|-120|-180|-240\",offsetIndices:\"012324323234545454545454545443434343434343434332334343434343434343434343434343434343434343434343434343434343434343434343\"},{id:\"Europe/Volgograd\",untils:\"-q3cw84|5glrw4|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|239c40|Infinity\",offsets:\"-177.6667|-180|-240|-300\",offsetIndices:\"012323232323232321212121212121212121212121212121212121212121212\"},{id:\"Europe/Warsaw\",untils:\"-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-84|-60|-120|-180\",offsetIndices:\"012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Zagreb\",untils:\"-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Europe/Zaporozhye\",untils:\"-nu12hc|37a0xc|5u1180|mc0g0|7k800|9q000|12qg0|jjc7s0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9cvs0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-140|-120|-180|-60|-240\",offsetIndices:\"01213132424242424242424242422121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Europe/Zurich\",untils:\"-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"GB-Eire\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"GB\",untils:\"-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60|-120\",offsetIndices:\"0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"GMT-0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"GMT\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"GMT+0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"GMT0\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Greenwich\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Hongkong\",untils:\"-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity\",offsets:\"-456.7|-480|-540|-510\",offsetIndices:\"0123212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"HST\",untils:\"Infinity\",offsets:\"600\",offsetIndices:\"0\"},{id:\"Iceland\",untils:\"-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity\",offsets:\"88|60|0\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"Indian/Antananarivo\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Indian/Chagos\",untils:\"-wvpc2s|1ag64us|Infinity\",offsets:\"-289.6667|-300|-360\",offsetIndices:\"012\"},{id:\"Indian/Christmas\",untils:\"Infinity\",offsets:\"-420\",offsetIndices:\"0\"},{id:\"Indian/Cocos\",untils:\"Infinity\",offsets:\"-390\",offsetIndices:\"0\"},{id:\"Indian/Comoro\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Indian/Kerguelen\",untils:\"-afrs00|Infinity\",offsets:\"0|-300\",offsetIndices:\"01\"},{id:\"Indian/Mahe\",untils:\"-x6pjlo|Infinity\",offsets:\"-221.8|-240\",offsetIndices:\"01\"},{id:\"Indian/Maldives\",untils:\"-57x6y0|Infinity\",offsets:\"-294|-300\",offsetIndices:\"01\"},{id:\"Indian/Mauritius\",untils:\"-wvp9bc|13jnu7c|8bx80|dd0wc0|7x3w0|Infinity\",offsets:\"-230|-240|-300\",offsetIndices:\"012121\"},{id:\"Indian/Mayotte\",untils:\"-lnsetg|s8mhg|57v020|afrrb0|Infinity\",offsets:\"-147.2667|-180|-150|-165\",offsetIndices:\"01231\"},{id:\"Indian/Reunion\",untils:\"-uks29s|Infinity\",offsets:\"-221.8667|-240\",offsetIndices:\"01\"},{id:\"Iran\",untils:\"-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity\",offsets:\"-205.7333|-210|-240|-300|-270\",offsetIndices:\"00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141\"},{id:\"Israel\",untils:\"-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity\",offsets:\"-140.6667|-120|-180|-240\",offsetIndices:\"012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Jamaica\",untils:\"-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity\",offsets:\"307.1667|300|240\",offsetIndices:\"0121212121212121212121\"},{id:\"Japan\",untils:\"-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity\",offsets:\"-540|-600\",offsetIndices:\"010101010\"},{id:\"Kwajalein\",untils:\"-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity\",offsets:\"-660|-600|-540|720|-720\",offsetIndices:\"012034\"},{id:\"Libya\",untils:\"-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity\",offsets:\"-52.7333|-60|-120\",offsetIndices:\"012121212121212121212121212122122\"},{id:\"MET\",untils:\"-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-60|-120\",offsetIndices:\"01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Mexico/BajaNorte\",untils:\"-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"468.0667|420|480\",offsetIndices:\"012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"Mexico/BajaSur\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"425.6667|420|360|480\",offsetIndices:\"0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Mexico/General\",untils:\"-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity\",offsets:\"396.6|420|360|300\",offsetIndices:\"012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"MST\",untils:\"Infinity\",offsets:\"420\",offsetIndices:\"0\"},{id:\"MST7MDT\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Navajo\",untils:\"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"NZ-CHAT\",untils:\"-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-735|-765|-825\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"NZ\",untils:\"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-690|-750|-720|-780\",offsetIndices:\"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Pacific/Apia\",untils:\"-usiiv4|kcrmt4|vp3la0|9odo0|902o0|4zbk0|4qog0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"686.9333|690|660|600|-840|-780\",offsetIndices:\"01232345454545454545454545454545454545454545454545454545454\"},{id:\"Pacific/Auckland\",untils:\"-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-690|-750|-720|-780\",offsetIndices:\"01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Pacific/Bougainville\",untils:\"-ecsh40|1n05g0|1071c40|Infinity\",offsets:\"-600|-540|-660\",offsetIndices:\"0102\"},{id:\"Pacific/Chatham\",untils:\"-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity\",offsets:\"-735|-765|-825\",offsetIndices:\"012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212\"},{id:\"Pacific/Chuuk\",untils:\"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",offsets:\"-600|-540\",offsetIndices:\"01010\"},{id:\"Pacific/Easter\",untils:\"-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity\",offsets:\"437.4667|420|360|300\",offsetIndices:\"012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323\"},{id:\"Pacific/Efate\",untils:\"-u964i4|11f4ba4|9cyk0|awo40|7tek0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|64ak0|e1ms0|4ofw0|Infinity\",offsets:\"-673.2667|-660|-720\",offsetIndices:\"0121212121212121212121\"},{id:\"Pacific/Enderbury\",untils:\"535io0|7yiqk0|Infinity\",offsets:\"720|660|-780\",offsetIndices:\"012\"},{id:\"Pacific/Fakaofo\",untils:\"lx0jw0|Infinity\",offsets:\"660|-780\",offsetIndices:\"01\"},{id:\"Pacific/Fiji\",untils:\"-sa2x4w|17bs00w|64dc0|cyo00|5reo0|53a5c0|64dc0|asw00|6uao0|bvs00|4oio0|e1k00|4oio0|eeio0|4bh80|erk40|3ylc0|erhc0|3ylc0|f4g00|3lmo0|f4g00|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|Infinity\",offsets:\"-715.7333|-720|-780\",offsetIndices:\"0121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Pacific/Funafuti\",untils:\"Infinity\",offsets:\"-720\",offsetIndices:\"0\"},{id:\"Pacific/Galapagos\",untils:\"-kcr62o|spdryo|3lsas0|3jp80|Infinity\",offsets:\"358.4|300|360\",offsetIndices:\"01212\"},{id:\"Pacific/Gambier\",untils:\"-tvndoc|Infinity\",offsets:\"539.8|540\",offsetIndices:\"01\"},{id:\"Pacific/Guadalcanal\",untils:\"-tvowac|Infinity\",offsets:\"-639.8|-660\",offsetIndices:\"01\"},{id:\"Pacific/Guam\",untils:\"-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity\",offsets:\"-600|-540|-660\",offsetIndices:\"01020202020202020200\"},{id:\"Pacific/Honolulu\",untils:\"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",offsets:\"630|570|600\",offsetIndices:\"0101102\"},{id:\"Pacific/Johnston\",untils:\"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",offsets:\"630|570|600\",offsetIndices:\"0101102\"},{id:\"Pacific/Kiritimati\",untils:\"535eyo|7yirhc|Infinity\",offsets:\"640|600|-840\",offsetIndices:\"012\"},{id:\"Pacific/Kosrae\",untils:\"-su52k0|29hhk0|9cmd40|27sas0|29fk40|cm2540|f9l3w0|Infinity\",offsets:\"-660|-540|-600|-720\",offsetIndices:\"01021030\"},{id:\"Pacific/Kwajalein\",untils:\"-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity\",offsets:\"-660|-600|-540|720|-720\",offsetIndices:\"012034\"},{id:\"Pacific/Majuro\",untils:\"-su52k0|29hhk0|9cmd40|27sas0|1h6w40|deat40|Infinity\",offsets:\"-660|-540|-600|-720\",offsetIndices:\"0102103\"},{id:\"Pacific/Marquesas\",untils:\"-tvncu0|Infinity\",offsets:\"558|570\",offsetIndices:\"01\"},{id:\"Pacific/Midway\",untils:\"-usij20|Infinity\",offsets:\"682.8|660\",offsetIndices:\"01\"},{id:\"Pacific/Nauru\",untils:\"-pjxiws|ba66ys|1kwca0|hfzda0|Infinity\",offsets:\"-667.6667|-690|-540|-720\",offsetIndices:\"01213\"},{id:\"Pacific/Niue\",untils:\"-9wyz6o|ehcj4o|Infinity\",offsets:\"680|690|660\",offsetIndices:\"012\"},{id:\"Pacific/Norfolk\",untils:\"-9x0ps0|cfj8q0|6hc00|l6nk00|239aq0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity\",offsets:\"-672|-690|-750|-660|-720\",offsetIndices:\"012134343434343434343434343434343434343434\"},{id:\"Pacific/Noumea\",untils:\"-u9645o|ye0ixo|4dbw0|ecqs0|4f6k0|99p700|4oio0|Infinity\",offsets:\"-665.8|-660|-720\",offsetIndices:\"01212121\"},{id:\"Pacific/Pago_Pago\",untils:\"-usij20|Infinity\",offsets:\"682.8|660\",offsetIndices:\"01\"},{id:\"Pacific/Palau\",untils:\"Infinity\",offsets:\"-540\",offsetIndices:\"0\"},{id:\"Pacific/Pitcairn\",untils:\"es2cy0|Infinity\",offsets:\"510|480\",offsetIndices:\"01\"},{id:\"Pacific/Pohnpei\",untils:\"-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity\",offsets:\"-660|-540|-600\",offsetIndices:\"010210\"},{id:\"Pacific/Ponape\",untils:\"-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity\",offsets:\"-660|-540|-600\",offsetIndices:\"010210\"},{id:\"Pacific/Port_Moresby\",untils:\"Infinity\",offsets:\"-600\",offsetIndices:\"0\"},{id:\"Pacific/Rarotonga\",untils:\"4mj960|5rbw0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|Infinity\",offsets:\"630|570|600\",offsetIndices:\"012121212121212121212121212\"},{id:\"Pacific/Saipan\",untils:\"-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity\",offsets:\"-600|-540|-660\",offsetIndices:\"01020202020202020200\"},{id:\"Pacific/Samoa\",untils:\"-usij20|Infinity\",offsets:\"682.8|660\",offsetIndices:\"01\"},{id:\"Pacific/Tahiti\",untils:\"-tvnayw|Infinity\",offsets:\"598.2667|600\",offsetIndices:\"01\"},{id:\"Pacific/Tarawa\",untils:\"Infinity\",offsets:\"-720\",offsetIndices:\"0\"},{id:\"Pacific/Tongatapu\",untils:\"-f4vrlc|uo2edc|8fpc0|bvs00|4bh80|eelg0|4bh80|7pmis0|3lmo0|Infinity\",offsets:\"-740|-780|-840\",offsetIndices:\"0121212121\"},{id:\"Pacific/Truk\",untils:\"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",offsets:\"-600|-540\",offsetIndices:\"01010\"},{id:\"Pacific/Wake\",untils:\"Infinity\",offsets:\"-720\",offsetIndices:\"0\"},{id:\"Pacific/Wallis\",untils:\"Infinity\",offsets:\"-720\",offsetIndices:\"0\"},{id:\"Pacific/Yap\",untils:\"-su4zs0|29hes0|bkenw0|29fk40|Infinity\",offsets:\"-600|-540\",offsetIndices:\"01010\"},{id:\"Poland\",untils:\"-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"-84|-60|-120|-180\",offsetIndices:\"012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"Portugal\",untils:\"-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"36.75|0|-60|-120\",offsetIndices:\"012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"PRC\",untils:\"-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010\"},{id:\"PST8PDT\",untils:\"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"ROC\",untils:\"-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity\",offsets:\"-480|-540\",offsetIndices:\"01010101010101010101010101010101010101010\"},{id:\"ROK\",untils:\"-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity\",offsets:\"-507.8667|-510|-540|-600|-570\",offsetIndices:\"012232323232141414141414123232\"},{id:\"Singapore\",untils:\"-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity\",offsets:\"-415.4167|-420|-440|-450|-540|-480\",offsetIndices:\"0123435\"},{id:\"Turkey\",untils:\"-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity\",offsets:\"-116.9333|-120|-180|-240\",offsetIndices:\"0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122\"},{id:\"UCT\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"Universal\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"US/Alaska\",untils:\"-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"600|540|480\",offsetIndices:\"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"US/Aleutian\",untils:\"-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"660|600|540\",offsetIndices:\"011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"US/Arizona\",untils:\"-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101010\"},{id:\"US/Central\",untils:\"-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/East-Indiana\",untils:\"-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300|240\",offsetIndices:\"010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121\"},{id:\"US/Eastern\",untils:\"-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"300|240\",offsetIndices:\"01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/Hawaii\",untils:\"-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity\",offsets:\"630|570|600\",offsetIndices:\"0101102\"},{id:\"US/Indiana-Starke\",untils:\"-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"360|300\",offsetIndices:\"0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/Michigan\",untils:\"-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"332.1833|360|300|240\",offsetIndices:\"0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232\"},{id:\"US/Mountain\",untils:\"-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"420|360\",offsetIndices:\"01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/Pacific-New\",untils:\"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/Pacific\",untils:\"-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity\",offsets:\"480|420\",offsetIndices:\"010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"US/Samoa\",untils:\"-usij20|Infinity\",offsets:\"682.8|660\",offsetIndices:\"01\"},{id:\"UTC\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"},{id:\"W-SU\",untils:\"-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity\",offsets:\"-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120\",offsetIndices:\"012132345464575454545454545454545455754545454545454545454545454545454545454545\"},{id:\"WET\",untils:\"3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity\",offsets:\"0|-60\",offsetIndices:\"010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010\"},{id:\"Zulu\",untils:\"Infinity\",offsets:\"0\",offsetIndices:\"0\"}]}},48158:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DesktopTooltipStrategy=void 0;var i,o=n(60137),a=(i=n(94920))&&i.__esModule?i:{default:i},r=n(98558);function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var r=i.prototype;return r._prepareBeforeVisibleChanged=function(e){this._tooltip.option(\"position\",{my:\"bottom\",at:\"top\",boundary:this._getBoundary(e),offset:this._extraOptions.offset,collision:\"fit flipfit\"})},r._getBoundary=function(e){return this._options.isAppointmentInAllDayPanel(e[0].appointment)?this._options.container:this._options.getScrollableContainer()},r._onShown=function(){e.prototype._onShown.call(this),this._extraOptions.isButtonClick&&(this._list.focus(),this._list.option(\"focusedElement\",null))},r._createListOption=function(t,n){var i=e.prototype._createListOption.call(this,t,n);return i.showScrollbar=o.touch?\"always\":\"onHover\",i},r._createTooltip=function(e,t){var n=this._createTooltipElement(\"dx-scheduler-appointment-tooltip-wrapper\");return this._options.createComponent(n,a.default,{target:e,maxHeight:200,rtlEnabled:this._extraOptions.rtlEnabled,onShown:this._onShown.bind(this),contentTemplate:this._getContentTemplate(t),wrapperAttr:{class:\"dx-scheduler-appointment-tooltip-wrapper\"}})},r._onListRender=function(e){return this._extraOptions.dragBehavior&&this._extraOptions.dragBehavior(e)},r._onListItemContextMenu=function(e){var t=this._options.createEventArgs(e);this._options.onItemContextMenu(t)},i}(r.TooltipStrategyBase);t.DesktopTooltipStrategy=l},60737:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.MobileTooltipStrategy=void 0;var i,o=n(58664),a=n(58201),r=(i=n(89799))&&i.__esModule?i:{default:i},s=n(98558);function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=250,d=\"90%\",c=\"auto\",h=\"100%\",f=\"80%\",p={show:{type:\"slide\",duration:300,from:{position:{my:\"top\",at:\"bottom\",of:(0,a.getWindow)()}},to:{position:{my:\"center\",at:\"center\",of:(0,a.getWindow)()}}},hide:{type:\"slide\",duration:300,to:{position:{my:\"top\",at:\"bottom\",of:(0,a.getWindow)()}},from:{position:{my:\"center\",at:\"center\",of:(0,a.getWindow)()}}}},g=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=i.prototype;return s._shouldUseTarget=function(){return!1},s._onShowing=function(){var e=(0,o.getWidth)((0,a.getWindow)())>700;this._tooltip.option(\"height\",c);var t=(0,o.getOuterHeight)(this._list.$element());this._tooltip.option(e?function(e){var t=.9*(0,o.getHeight)((0,a.getWindow)());return{shading:!0,width:f,height:e>t?d:c,position:{my:\"center\",at:\"center\",of:(0,a.getWindow)()}}}(t):function(e){return{shading:!1,width:h,height:e>u?u:c,position:{my:\"bottom\",at:\"bottom\",of:(0,a.getWindow)()}}}(t))},s._createTooltip=function(e,t){var n=this,i=this._createTooltipElement(\"dx-scheduler-overlay-panel\");return this._options.createComponent(i,r.default,{target:(0,a.getWindow)(),hideOnOutsideClick:!0,animation:p,onShowing:function(){return n._onShowing()},onShown:this._onShown.bind(this),contentTemplate:this._getContentTemplate(t),wrapperAttr:{class:\"dx-scheduler-overlay-panel\"}})},i}(s.TooltipStrategyBase);t.MobileTooltipStrategy=g},98558:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TooltipStrategyBase=void 0;var i=s(n(68374)),o=n(68494),a=s(n(63008)),r=s(n(77834));function s(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function u(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==l(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===l(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=\"\".concat(\"dx-tooltip-appointment-item\",\"-content\"),c=\"\".concat(\"dx-tooltip-appointment-item\",\"-content-subject\"),h=\"\".concat(\"dx-tooltip-appointment-item\",\"-content-date\"),f=\"\".concat(\"dx-tooltip-appointment-item\",\"-marker\"),p=\"\".concat(\"dx-tooltip-appointment-item\",\"-marker-body\"),g=\"\".concat(\"dx-tooltip-appointment-item\",\"-delete-button-container\"),m=\"\".concat(\"dx-tooltip-appointment-item\",\"-delete-button\"),_=function(){function e(e){this._tooltip=null,this._options=e,this._extraOptions=null}var t=e.prototype;return t.show=function(e,t,n){this._canShowTooltip(t)&&(this.hide(),this._extraOptions=n,this._showCore(e,t))},t._showCore=function(e,t){this._tooltip?(this._shouldUseTarget()&&this._tooltip.option(\"target\",e),this._list.option(\"dataSource\",t)):this._tooltip=this._createTooltip(e,t),this._prepareBeforeVisibleChanged(t),this._tooltip.option(\"visible\",!0)},t._prepareBeforeVisibleChanged=function(e){},t._getContentTemplate=function(e){var t=this;return function(n){var o=(0,i.default)(\"<div>\");(0,i.default)(n).append(o),t._list=t._createList(o,e)}},t.isAlreadyShown=function(e){if(this._tooltip&&this._tooltip.option(\"visible\"))return this._tooltip.option(\"target\")[0]===e[0]},t._onShown=function(){this._list.option(\"focusStateEnabled\",this._extraOptions.focusStateEnabled)},t.dispose=function(){},t.hide=function(){this._tooltip&&this._tooltip.option(\"visible\",!1)},t._shouldUseTarget=function(){return!0},t._createTooltip=function(e,t){},t._canShowTooltip=function(e){return!!e.length},t._createListOption=function(e){var t=this;return{dataSource:e,onContentReady:this._onListRender.bind(this),onItemClick:function(e){return t._onListItemClick(e)},onItemContextMenu:this._onListItemContextMenu.bind(this),itemTemplate:function(e,n){return t._renderTemplate(e.appointment,e.targetedAppointment,n,e.color)},_swipeEnabled:!1,pageLoadMode:\"scrollBottom\"}},t._onListRender=function(e){},t._createTooltipElement=function(e){return(0,i.default)(\"<div>\").appendTo(this._options.container).addClass(e)},t._createList=function(e,t){return this._options.createComponent(e,r.default,this._createListOption(t))},t._renderTemplate=function(e,t,n,a){var r=this._createItemListContent(e,t,a);this._options.addDefaultTemplates(u({},this._getItemListTemplateName(),new o.FunctionTemplate((function(e){var t=(0,i.default)(e.container);return t.append(r),t}))));var s=this._options.getAppointmentTemplate(\"\".concat(this._getItemListTemplateName(),\"Template\"));return this._createFunctionTemplate(s,e,t,n)},t._createFunctionTemplate=function(e,t,n,i){var a=!!this._extraOptions.isButtonClick,r=this._isEmptyDropDownAppointmentTemplate();return new o.FunctionTemplate((function(o){return e.render({model:r?{appointmentData:t,targetedAppointmentData:n,isButtonClicked:a}:t,container:o.container,index:i})}))},t._getItemListTemplateName=function(){return this._isEmptyDropDownAppointmentTemplate()?\"appointmentTooltip\":\"dropDownAppointment\"},t._isEmptyDropDownAppointmentTemplate=function(){return!this._extraOptions.dropDownAppointmentTemplate||\"dropDownAppointment\"===this._extraOptions.dropDownAppointmentTemplate},t._onListItemClick=function(e){this.hide(),this._extraOptions.clickEvent&&this._extraOptions.clickEvent(e),this._options.showAppointmentPopup(e.itemData.appointment,!1,e.itemData.targetedAppointment)},t._onListItemContextMenu=function(e){},t._createItemListContent=function(e,t,n){var o=this._extraOptions.editing,a=(0,i.default)(\"<div>\").addClass(\"dx-tooltip-appointment-item\");return a.append(this._createItemListMarker(n)),a.append(this._createItemListInfo(this._options.createFormattedDateText(e,t))),!this._options.getAppointmentDisabled(e)&&(o&&!0===o.allowDeleting||!0===o)&&a.append(this._createDeleteButton(e,t)),a},t._createItemListMarker=function(e){var t=(0,i.default)(\"<div>\").addClass(f),n=(0,i.default)(\"<div>\").addClass(p);return t.append(n),e&&e.done((function(e){return n.css(\"background\",e)})),t},t._createItemListInfo=function(e){var t=(0,i.default)(\"<div>\").addClass(d),n=(0,i.default)(\"<div>\").addClass(c).text(e.text),o=(0,i.default)(\"<div>\").addClass(h).text(e.formatDate);return t.append(n).append(o)},t._createDeleteButton=function(e,t){var n=this,o=(0,i.default)(\"<div>\").addClass(g),r=(0,i.default)(\"<div>\").addClass(m);return o.append(r),this._options.createComponent(r,a.default,{icon:\"trash\",stylingMode:\"text\",onClick:function(i){n.hide(),i.event.stopPropagation(),n._options.checkAndDeleteAppointment(e,t)}}),o},e}();t.TooltipStrategyBase=_},79456:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSchedulerComponent=function(e){return\"dxScheduler\"===e.NAME}},94654:function(e,t){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){return(i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==n(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var o=i.call(e,t||\"default\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===n(r)?r:String(r)),o)}var a,r}function r(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getMaxAllowedPosition=t.getGroupWidth=t.getCellWidth=t.getCellHeight=t.getAllDayHeight=t.PositionHelper=void 0;var s=function(e){var t=e.dateTableCellsMeta,n=null==t?void 0:t.length;if(!n)return{width:0,height:0};var i=t[n>1?1:0][0];return{width:i.width,height:i.height}},l=function(e){return s(e).height};t.getCellHeight=l;var u=function(e){return s(e).width};t.getCellWidth=u;var d=function(e,t,n){if(!e)return 0;if(t){var i=n.dateTableCellsMeta;return(null==i?void 0:i.length)?i[0][0].height:0}var o=n.allDayPanelCellsMeta;return(null==o?void 0:o.length)?o[0].height:0};t.getAllDayHeight=d;var c=function(e,t,n,i){return function(e,t,n,i){var o=i.dateTableCellsMeta[0];if(!o)return 0;var a=o[t.getLastGroupCellPosition(e).columnIndex];return a?n?a.left:a.left+a.width:0}(e||0,t,n,i)};t.getMaxAllowedPosition=c;t.getGroupWidth=function(e,t,n){var i=n.isVirtualScrolling,o=n.rtlEnabled,a=n.DOMMetaData,r=u(a),s=t.getCellCount(n)*r;i&&(s=t.groupedDataMap.dateTableGroupedMap[e][0].length*r);var l=c(e,t,o,a),d=l[e];return d&&(s=o?d-l[e+1]:0===e?d:d-l[e-1]),s};var h=function(){function e(e){this.options=e,this.groupStrategy=this.options.isVerticalGrouping?new f(this.options):new p(this.options)}var t=e.prototype;return t.getHorizontalMax=function(e){var t=this,n=function(e){return c(e,t.viewDataProvider,t.rtlEnabled,t.DOMMetaData)};if(this.isGroupedByDate){var i=this.viewDataProvider.getViewPortGroupCount();return Math.max(n(e),n(i-1))}return n(e)},t.getResizableStep=function(){var e=u(this.DOMMetaData);return this.isGroupedByDate?this.groupCount*e:e},t.getVerticalMax=function(e){return this.groupStrategy.getVerticalMax(e)},t.getOffsetByAllDayPanel=function(e){return this.groupStrategy.getOffsetByAllDayPanel(e)},t.getGroupTop=function(e){return this.groupStrategy.getGroupTop(e)},r(e,[{key:\"viewDataProvider\",get:function(){return this.options.viewDataProvider}},{key:\"rtlEnabled\",get:function(){return this.options.rtlEnabled}},{key:\"isGroupedByDate\",get:function(){return this.options.isGroupedByDate}},{key:\"groupCount\",get:function(){return this.options.groupCount}},{key:\"DOMMetaData\",get:function(){return this.options.getDOMMetaDataCallback()}}]),e}();t.PositionHelper=h;var f=function(){function e(e){this.options=e}var t=e.prototype;return t.getOffsetByAllDayPanel=function(e){var t=e.groupIndex,n=e.supportAllDayRow,i=e.showAllDayPanel,o=0;n&&i&&(o=d(i,!0,this.DOMMetaData)*(t+1));return o},t.getVerticalMax=function(e){var t=this._getMaxAllowedVerticalPosition(o(o({},e),{viewDataProvider:this.viewDataProvider,rtlEnabled:this.rtlEnabled,DOMMetaData:this.DOMMetaData}));return t+=this.getOffsetByAllDayPanel(e)},t.getGroupTop=function(e){var t=e.groupIndex,n=e.showAllDayPanel,i=e.isGroupedAllDayPanel,o=this.viewDataProvider.getRowCountInGroup(t);return this._getMaxAllowedVerticalPosition({groupIndex:t,viewDataProvider:this.viewDataProvider,showAllDayPanel:n,isGroupedAllDayPanel:i,isVerticalGrouping:!0,DOMMetaData:this.DOMMetaData})-l(this.DOMMetaData)*o},t._getAllDayHeight=function(e){return d(e,!0,this.DOMMetaData)},t._getMaxAllowedVerticalPosition=function(e){var t=e.groupIndex,n=e.showAllDayPanel,i=e.isGroupedAllDayPanel,o=this.viewDataProvider.getLastGroupCellPosition(t).rowIndex,a=this.DOMMetaData.dateTableCellsMeta[o];if(!a)return 0;var r=a[0].top+a[0].height;return i&&(r-=(t+1)*this._getAllDayHeight(n)),r},r(e,[{key:\"viewDataProvider\",get:function(){return this.options.viewDataProvider}},{key:\"isGroupedByDate\",get:function(){return this.options.isGroupedByDate}},{key:\"rtlEnabled\",get:function(){return this.options.rtlEnabled}},{key:\"groupCount\",get:function(){return this.options.groupCount}},{key:\"DOMMetaData\",get:function(){return this.options.getDOMMetaDataCallback()}}]),e}(),p=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,i(t,n);var r=a.prototype;return r.getOffsetByAllDayPanel=function(){return 0},r.getVerticalMax=function(e){var t=e.isVirtualScrolling,n=e.groupIndex,i=t?n:0;return this._getMaxAllowedVerticalPosition(o(o({},e),{groupIndex:i}))},r.getGroupTop=function(){return 0},r._getAllDayHeight=function(e){return d(e,!1,this.DOMMetaData)},a}(f)},32316:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=x(n(99393)),a=x(n(73349)),r=n(6415),s=x(n(68374)),l=n(20576),u=x(n(91198)),d=n(13306),c=n(95479),h=n(58664),f=x(n(91500)),p=n(89206),g=n(45985),m=n(43600),_=n(6324),v=x(n(82215)),y=n(31359),b=x(n(48377));function x(e){return e&&e.__esModule?e:{default:e}}function w(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function C(e,t){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var S=v.default.tableCreator,k=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,C(t,n);var o,v,b,x=i.prototype;return x.getStartViewDate=function(){return this._startViewDate},x._init=function(){e.prototype._init.call(this),this._activeStateUnit=void 0},x._getDefaultOptions=function(){return(0,d.extend)(e.prototype._getDefaultOptions.call(this),{agendaDuration:7,rowHeight:60,noDataText:\"\"})},x._optionChanged=function(t){var n=t.name,i=t.value;switch(n){case\"agendaDuration\":break;case\"noDataText\":case\"rowHeight\":this._recalculateAgenda(this._rows);break;case\"groups\":i&&i.length?this._$groupTable||(this._initGroupTable(),this._dateTableScrollable.$content().prepend(this._$groupTable)):this._$groupTable&&(this._$groupTable.remove(),this._$groupTable=null,this._detachGroupCountClass()),e.prototype._optionChanged.call(this,t);break;default:e.prototype._optionChanged.call(this,t)}},x._renderFocusState=function(){return(0,l.noop)()},x._renderFocusTarget=function(){return(0,l.noop)()},x._cleanFocusState=function(){return(0,l.noop)()},x.supportAllDayRow=function(){return!1},x._isVerticalGroupedWorkSpace=function(){return!1},x._getElementClass=function(){return\"dx-scheduler-agenda\"},x._calculateStartViewDate=function(){return(0,p.calculateStartViewDate)(this.option(\"currentDate\"),this.option(\"startDayHour\"))},x._getRowCount=function(){return this.option(\"agendaDuration\")},x._getCellCount=function(){return 1},x._getTimePanelRowCount=function(){return this.option(\"agendaDuration\")},x._renderAllDayPanel=function(){return(0,l.noop)()},x._toggleAllDayVisibility=function(){return(0,l.noop)()},x._initWorkSpaceUnits=function(){this._initGroupTable(),this._$timePanel=(0,s.default)(\"<table>\").addClass(m.TIME_PANEL_CLASS),this._$dateTable=(0,s.default)(\"<table>\").addClass(m.DATE_TABLE_CLASS),this._$dateTableScrollableContent=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\"),this._$dateTableContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-date-table-container\")},x._initGroupTable=function(){var e=this.option(\"groups\");e&&e.length&&(this._$groupTable=(0,s.default)(\"<table>\").addClass(\"dx-scheduler-group-table\"))},x._renderView=function(){this._startViewDate=this._calculateStartViewDate(),this._rows=[],this._initPositionHelper()},x._recalculateAgenda=function(e){var t=[];this._cleanView(),this._rowsIsEmpty(e)?this._renderNoData():(this._rows=e,this._$groupTable&&(t=this._renderGroupHeader(),this._setGroupHeaderCellsHeight()),this._renderTimePanel(),this._renderDateTable(),this.invoke(\"onAgendaReady\",e),this._applyCellTemplates(t),this._dateTableScrollable.update())},x._renderNoData=function(){this._$noDataContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-agenda-nodata\").html(this.option(\"noDataText\")),this._dateTableScrollable.$content().append(this._$noDataContainer)},x._setTableSizes=function(){return(0,l.noop)()},x._toggleHorizontalScrollClass=function(){return(0,l.noop)()},x._createCrossScrollingConfig=function(e){return(0,l.noop)()},x._setGroupHeaderCellsHeight=function(){var e=this._getGroupHeaderCells().filter((function(e,t){return!t.getAttribute(\"rowSpan\")})),t=this._removeEmptyRows(this._rows);if(t.length)for(var n=0;n<e.length;n++){var i=e.eq(n).find(\".dx-scheduler-group-header-content\");(0,h.setOuterHeight)(i,this._getGroupRowHeight(t[n]))}},x._rowsIsEmpty=function(e){for(var t=!0,n=0;n<e.length;n++)for(var i=e[n],o=0;o<i.length;o++)if(i[o]){t=!1;break}return t},x._attachGroupCountClass=function(){var e=(0,g.getVerticalGroupCountClass)(this.option(\"groups\"));this.$element().addClass(e)},x._removeEmptyRows=function(e){for(var t=[],n=0;n<e.length;n++)e[n].length&&e[n].some((function(e){return e>0}))&&t.push(e[n]);return t},x._getGroupHeaderContainer=function(){return this._$groupTable},x._makeGroupRows=function(){var e=this,t=(0,y.createReducedResourcesTree)(this.option(\"loadedResources\"),(function(t,n){return(0,y.getDataAccessors)(e.option(\"getResourceDataAccessors\")(),t,n)}),this.option(\"getFilteredItems\")()),n=this.option(\"resourceCellTemplate\"),i=m.GROUP_HEADER_CONTENT_CLASS,o=[],l=S.makeGroupedTableFromJSON(S.VERTICAL,t,{cellTag:\"th\",groupTableClass:\"dx-scheduler-group-table\",groupRowClass:m.GROUP_ROW_CLASS,groupCellClass:this._getGroupHeaderClass(),groupCellCustomContent:function(e,t,l,u){var d=a.default.createElement(\"div\");if(d.className=i,n&&n.render)o.push(n.render.bind(n,{model:{data:u.data,id:u.value,color:u.color,text:t.textContent},container:(0,r.getPublicElement)((0,s.default)(d)),index:l}));else{var c=a.default.createElement(\"div\");c.appendChild(t),d.appendChild(c)}e.appendChild(d)},cellTemplate:n});return{elements:(0,s.default)(l).find(\".\".concat(m.GROUP_ROW_CLASS)),cellTemplates:o}},x._cleanView=function(){this._$dateTable.empty(),this._$timePanel.empty(),this._$groupTable&&this._$groupTable.empty(),this._$noDataContainer&&(this._$noDataContainer.empty(),this._$noDataContainer.remove(),delete this._$noDataContainer)},x._createWorkSpaceElements=function(){this._createWorkSpaceStaticElements()},x._createWorkSpaceStaticElements=function(){this._$dateTableContainer.append(this._$dateTable),this._dateTableScrollable.$content().append(this._$dateTableScrollableContent),this._$groupTable&&this._$dateTableScrollableContent.prepend(this._$groupTable),this._$dateTableScrollableContent.append(this._$timePanel,this._$dateTableContainer),this.$element().append(this._dateTableScrollable.$element())},x._renderDateTable=function(){this._renderTableBody({container:(0,r.getPublicElement)(this._$dateTable),rowClass:m.DATE_TABLE_ROW_CLASS,cellClass:this._getDateTableCellClass()})},x._attachTablesEvents=function(){return(0,l.noop)()},x._attachEvents=function(){return(0,l.noop)()},x._cleanCellDataCache=function(){return(0,l.noop)()},x.isIndicationAvailable=function(){return!1},x._prepareCellTemplateOptions=function(e,t,n,i){var o=this.option(\"groups\"),a={},s=!!o.length;(s&&(0,y.getPathToLeaf)(n,o)||[]).forEach((function(e,t){var n=o[t].name;a[n]=e}));var l=s?this._getGroupIndexByResourceId(a):void 0;return{model:{text:e,date:t,groups:a,groupIndex:l},container:(0,r.getPublicElement)(i),index:n}},x._renderTableBody=function(e,t){var n,i=[],o=e.cellTemplate;this._$rows=[];var a=function(t,a){if(a){var r,l,u,d=(0,s.default)(\"<tr>\"),c=(0,s.default)(\"<td>\");if((0,h.setHeight)(c,this._getRowHeight(a)),e.getStartDate&&(r=e.getStartDate&&e.getStartDate(t),l=f.default.format(r,\"d\"),u=f.default.format(r,g.formatWeekday)),o&&o.render){var p=this._prepareCellTemplateOptions(\"\".concat(l,\" \").concat(u),r,n,c);i.push(o.render.bind(o,p))}else l&&u&&c.addClass(\"dx-scheduler-agenda-date\").text(\"\".concat(l,\" \").concat(u));e.rowClass&&d.addClass(e.rowClass),e.cellClass&&c.addClass(e.cellClass),d.append(c),this._$rows.push(d)}}.bind(this);for(n=0;n<this._rows.length;n++)(0,c.each)(this._rows[n],a),this._setLastRowClass();(0,s.default)(e.container).append((0,s.default)(\"<tbody>\").append(this._$rows)),this._applyCellTemplates(i)},x._setLastRowClass=function(){this._rows.length>1&&this._$rows.length&&this._$rows[this._$rows.length-1].addClass(\"dx-scheduler-date-table-last-row\")},x._renderTimePanel=function(){this._renderTableBody({container:(0,r.getPublicElement)(this._$timePanel),rowCount:this._getTimePanelRowCount(),cellCount:1,rowClass:\"dx-scheduler-time-panel-row\",cellClass:\"dx-scheduler-time-panel-cell\",cellTemplate:this.option(\"dateCellTemplate\"),getStartDate:this._getTimePanelStartDate.bind(this)})},x._getTimePanelStartDate=function(e){var t=new Date(this.option(\"currentDate\"));return new Date(t.setDate(t.getDate()+e))},x._getRowHeight=function(e){var t=this.option(\"rowHeight\");return e?t*e+5*(e-1)+20:0},x._getGroupRowHeight=function(e){if(e){for(var t=0,n=0;n<e.length;n++)t+=this._getRowHeight(e[n]);return t}},x._calculateRows=function(e){return this.renderingStrategy.calculateRows(e,this.option(\"agendaDuration\"),this.option(\"currentDate\"))},x.onDataSourceChanged=function(t){e.prototype.onDataSourceChanged.call(this),this._renderView();var n=this._calculateRows(t);this._recalculateAgenda(n)},x.getAgendaVerticalStepHeight=function(){return this.option(\"rowHeight\")},x.getEndViewDate=function(){var e=new Date(this.option(\"currentDate\")),t=this.option(\"agendaDuration\");e.setHours(this.option(\"endDayHour\"));var n=e.setDate(e.getDate()+t-1)-6e4;return new Date(n)},x.getEndViewDateByEndDayHour=function(){return this.getEndViewDate()},x.getCellDataByCoordinates=function(){return{startDate:null,endDate:null}},x.updateScrollPosition=function(e){var t=this.timeZoneCalculator.createDate(e,{path:\"toGrid\"}),n=this.getVisibleBounds(),i=t.getHours(),o=t.getMinutes();this.needUpdateScrollPosition(i,o,n,t)&&this.scrollToTime(i,o,t)},x.needUpdateScrollPosition=function(e,t,n,i){var o=!1;return(e<n.top.hours||e>n.bottom.hours)&&(o=!0),e===n.top.hours&&t<n.top.minutes&&(o=!0),e===n.bottom.hours&&t>n.top.minutes&&(o=!0),o},x.renovatedRenderSupported=function(){return!1},x._setSelectedCellsByCellData=function(){},x._getIntervalDuration=function(){return u.default.dateToMilliseconds(\"day\")*this.option(\"intervalCount\")},x.getDOMElementsMetaData=function(){return{dateTableCellsMeta:[[{}]],allDayPanelCellsMeta:[{}]}},o=i,(v=[{key:\"type\",get:function(){return _.VIEWS.AGENDA}},{key:\"renderingStrategy\",get:function(){return this.invoke(\"getLayoutManager\").getRenderingStrategyInstance()}},{key:\"appointmentDataProvider\",get:function(){return this.option(\"getAppointmentDataProvider\")()}}])&&w(o.prototype,v),b&&w(o,b),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(b.default);(0,o.default)(\"dxSchedulerAgenda\",k);var D=k;t.default=D},14553:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.Cache=void 0;var i=n(35922);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}var r=function(){function e(){this._cache=new Map}var t,n,o,r=e.prototype;return r.clear=function(){this._cache.clear()},r.get=function(e,t){return!this._cache.has(e)&&t&&this.set(e,t()),this._cache.get(e)},r.set=function(e,t){(0,i.isDefined)(t)&&this._cache.set(e,t)},t=e,(n=[{key:\"size\",get:function(){return this._cache.size}}])&&a(t.prototype,n),o&&a(t,o),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.Cache=r},78151:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellsSelectionController=void 0;var i=n(45985);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var a=function(){function e(){}var t=e.prototype;return t.handleArrowClick=function(e){var t,n=e.key,i=e.focusedCellPosition,a=e.edgeIndices,r=e.getCellDataByPosition,s=e.isAllDayPanelCell;switch(n){case\"down\":t=this.getCellFromNextRowPosition(i,\"next\",a);break;case\"up\":t=this.getCellFromNextRowPosition(i,\"prev\",a);break;case\"left\":t=this.getCellFromNextColumnPosition(o(o({},e),{direction:\"prev\"}));break;case\"right\":t=this.getCellFromNextColumnPosition(o(o({},e),{direction:\"next\"}))}var l=r(t.rowIndex,t.columnIndex,s);return this.moveToCell(o(o({},e),{currentCellData:l}))},t.getCellFromNextRowPosition=function(e,t,n){var i=e.columnIndex,o=e.rowIndex,a=o+(\"next\"===t?1:-1);return{columnIndex:i,rowIndex:a>=0&&a<=n.lastRowIndex?a:o}},t.getCellFromNextColumnPosition=function(e){var t=e.focusedCellPosition,n=e.direction,o=e.edgeIndices,a=e.isRTL,r=e.isGroupedByDate,s=e.groupCount,l=e.isMultiSelection,u=e.viewType,d=t.columnIndex,c=t.rowIndex,h=o.firstColumnIndex,f=o.lastColumnIndex,p=o.firstRowIndex,g=o.lastRowIndex,m=r&&l?s:1,_=a?-1:1,v=d+(\"next\"===n?_*m:-1*_*m);return v>=h&&v<=f?{columnIndex:v,rowIndex:c}:(0,i.isDateAndTimeView)(u)?t:this._processEdgeCell({nextColumnIndex:v,rowIndex:c,columnIndex:d,firstColumnIndex:h,lastColumnIndex:f,firstRowIndex:p,lastRowIndex:g,step:m})},t._processEdgeCell=function(e){var t=e.nextColumnIndex,n=e.rowIndex,i=e.columnIndex,o=e.firstColumnIndex,a=e.lastColumnIndex,r=e.firstRowIndex,s=e.lastRowIndex,l=e.step,u=t,d=n;if(t<o){var c=n-1,h=c>=r;d=h?c:n,u=h?a-(l-i%l-1):i}if(t>a){var f=n+1,p=f<=s;d=p?f:n,u=p?o+i%l:i}return{columnIndex:u,rowIndex:d}},t.moveToCell=function(e){var t=e.isMultiSelection,n=e.isMultiSelectionAllowed,i=e.focusedCellData,o=e.currentCellData;return t&&n?this._getNextCellData(o,i):o},t._getNextCellData=function(e,t,n){return n?t:this._isValidNextFocusedCell(e,t)?e:t},t._isValidNextFocusedCell=function(e,t){if(!t)return!0;var n=t.groupIndex,i=t.allDay,o=e.groupIndex,a=e.allDay;return n===o&&i===a},e}();t.CellsSelectionController=a},20191:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(57530);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}var r=function(){function e(e){this._viewDataProvider=e,this._focusedCell=null,this._selectedCells=null,this._firstSelectedCell=null,this._prevFocusedCell=null,this._prevSelectedCells=null}var t,n,o,r=e.prototype;return r.setFocusedCell=function(e,t,n){if(e>=0){var i=this._viewDataProvider.getCellData(e,t,n);this._focusedCell=i}},r.setSelectedCells=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=this._viewDataProvider,o=e.rowIndex,a=e.columnIndex,r=e.allDay;if(!(o<0)){var s=t?n.getCellData(t.rowIndex,t.columnIndex,t.allDay):this._firstSelectedCell,l=n.getCellData(o,a,r);this._firstSelectedCell=s,this._selectedCells=(0,i.getSelectedCells)(this._viewDataProvider,s,l,r)}},r.setSelectedCellsByData=function(e){this._selectedCells=e},r.getSelectedCells=function(){return this._selectedCells},r.releaseSelectedAndFocusedCells=function(){this.releaseSelectedCells(),this.releaseFocusedCell()},r.releaseSelectedCells=function(){this._prevSelectedCells=this._selectedCells,this._prevFirstSelectedCell=this._firstSelectedCell,this._selectedCells=null,this._firstSelectedCell=null},r.releaseFocusedCell=function(){this._prevFocusedCell=this._focusedCell,this._focusedCell=null},r.restoreSelectedAndFocusedCells=function(){this._selectedCells=this._selectedCells||this._prevSelectedCells,this._focusedCell=this._focusedCell||this._prevFocusedCell,this._firstSelectedCell=this._firstSelectedCell||this._prevFirstSelectedCell,this._prevSelectedCells=null,this._prevFirstSelectedCell=null,this._prevFocusedCell=null},r.clearSelectedAndFocusedCells=function(){this._prevSelectedCells=null,this._selectedCells=null,this._prevFocusedCell=null,this._focusedCell=null},t=e,(n=[{key:\"viewDataProvider\",get:function(){return this._viewDataProvider}},{key:\"focusedCell\",get:function(){var e=this._focusedCell;if(e){var t={groupIndex:e.groupIndex,startDate:e.startDate,isAllDay:e.allDay,index:e.index};return{coordinates:this.viewDataProvider.findCellPositionInMap(t),cellData:e}}}}])&&a(t.prototype,n),o&&a(t,o),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=r},92297:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=b(n(99393)),a=b(n(68374)),r=n(20576),s=b(n(91198)),l=n(13306),u=n(37518),d=n(58664),c=n(58201),h=n(45985),f=n(92956),p=b(n(8262)),g=n(43600),m=b(n(82215)),_=b(n(57880)),v=b(n(65295)),y=b(n(34623));function b(e){return e&&e.__esModule?e:{default:e}}function x(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e)||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 w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function S(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function k(e,t){return(k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var D=m.default.tableCreator,I=s.default.dateToMilliseconds,T=function(e){var t,n;function i(){var t;return(t=e.apply(this,arguments)||this).viewDirection=\"horizontal\",t}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,k(t,n);var o,m,y,b=i.prototype;return b.getGroupTableWidth=function(){return this._$sidebarTable?(0,d.getOuterWidth)(this._$sidebarTable):0},b._getTotalRowCount=function(e){return this._isHorizontalGroupedWorkSpace()?this._getRowCount():(e=e||1,this._getRowCount()*e)},b._getFormat=function(){return\"shorttime\"},b._getWorkSpaceHeight=function(){return this.option(\"crossScrollingEnabled\")&&(0,c.hasWindow)()?(0,u.getBoundingRect)(this._$dateTable.get(0)).height:(0,u.getBoundingRect)(this.$element().get(0)).height},b._dateTableScrollableConfig=function(){var t=e.prototype._dateTableScrollableConfig.call(this),n={direction:\"horizontal\"};return this.option(\"crossScrollingEnabled\")?t:(0,l.extend)(t,n)},b._needCreateCrossScrolling=function(){return!0},b._headerScrollableConfig=function(){var t=e.prototype._headerScrollableConfig.call(this);return(0,l.extend)(t,{scrollByContent:!0})},b.supportAllDayRow=function(){return!1},b._getGroupHeaderContainer=function(){return this._isHorizontalGroupedWorkSpace()?this._$thead:this._$sidebarTable},b._insertAllDayRowsIntoDateTable=function(){return!1},b._needRenderWeekHeader=function(){return!1},b._incrementDate=function(e){e.setDate(e.getDate()+1)},b.getIndicationCellCount=function(){var e=this._getTimeDiff();return this._calculateDurationInCells(e)},b._getTimeDiff=function(){var e=this._getToday(),t=this._getIndicationFirstViewDate(),n=this.getStartViewDate(),i=_.default.getDaylightOffsetInMs(n,e);return i&&(e=new Date(e.getTime()+i)),e.getTime()-t.getTime()},b._calculateDurationInCells=function(e){var t=this._getToday(),n=Math.floor(e/I(\"day\")),i=(e-n*I(\"day\")-this.option(\"startDayHour\")*I(\"hour\"))/this.getCellDuration();return t.getHours()>this.option(\"endDayHour\")&&(i=this._getCellCountInDay()),i<0&&(i=0),n*this._getCellCountInDay()+i},b.getIndicationWidth=function(){if(this.isGroupedByDate()){var e=this.getIndicationCellCount(),t=Math.floor(e),n=e-t;return this.getCellWidth()*(t*this._getGroupCount()+n)}return this.getIndicationCellCount()*this.getCellWidth()},b._isVerticalShader=function(){return!1},b._isCurrentTimeHeaderCell=function(){return!1},b._setTableSizes=function(){var t=this._getWorkSpaceMinHeight();(0,d.setHeight)(this._$sidebarTable,t),(0,d.setHeight)(this._$dateTable,t),e.prototype._setTableSizes.call(this),this.virtualScrollingDispatcher.updateDimensions()},b._getWorkSpaceMinHeight=function(){var e=this._getWorkSpaceHeight(),t=(0,d.getOuterHeight)(this.$element(),!0)-this.getHeaderPanelHeight()-2-10;return e<t&&(e=t),e},b._getCellCoordinatesByIndex=function(e){return{columnIndex:e%this._getCellCount(),rowIndex:0}},b._getCellByCoordinates=function(e,t){var n=this._groupedStrategy.prepareCellIndexes(e,t);return this._$dateTable.find(\"tr\").eq(n.rowIndex).find(\"td\").eq(n.columnIndex)},b._getWorkSpaceWidth=function(){return(0,d.getOuterWidth)(this._$dateTable,!0)},b._getIndicationFirstViewDate=function(){return s.default.trimTime(new Date(this.getStartViewDate()))},b._getIntervalBetween=function(e,t){var n=this.option(\"startDayHour\"),i=this.option(\"endDayHour\"),o=this.getStartViewDate(),a=o.getTime(),r=(24-i+n)*I(\"hour\"),l=s.default.getTimezonesDifference(o,e),u=e.getTime(),d=u-a-l,c=Math.floor(d/I(\"day\")),h=d-c*I(\"day\"),f=0,p=this._getCellCountInDay()*(c-this._getWeekendsCount(c)),g=u-s.default.trimTime(new Date(e)).getTime(),m=p*this.option(\"hoursInterval\")*I(\"hour\");return t||(e.getHours()<n?f=h-r+g:e.getHours()>=n&&e.getHours()<i?f=h:e.getHours()>=n&&e.getHours()>=i?f=h-(g-i*I(\"hour\")):c||(m=d),m+=f),m},b._getWeekendsCount=function(e){return 0},b.getAllDayContainer=function(){return null},b.getTimePanelWidth=function(){return 0},b.getIntervalDuration=function(e){return this.getCellDuration()},b.getCellMinWidth=function(){return 0},b.getWorkSpaceLeftOffset=function(){return 0},b.scrollToTime=function(e,t,n){var i=this._getScrollCoordinates(e,t,n),o=this.getScrollable(),a=this.option(\"rtlEnabled\")?(0,u.getBoundingRect)(this.getScrollableContainer().get(0)).width:0;this.option(\"templatesRenderAsynchronously\")?setTimeout((function(){o.scrollBy({left:i.left-o.scrollLeft()-a,top:0})})):o.scrollBy({left:i.left-o.scrollLeft()-a,top:0})},b.renderRAllDayPanel=function(){},b.renderRTimeTable=function(){},b._renderGroupAllDayPanel=function(){},b.generateRenderOptions=function(t){return C(C({},e.prototype.generateRenderOptions.call(this,!0)),{isGenerateWeekDaysHeaderData:this._needRenderWeekHeader(),getDateForHeaderText:f.getDateForHeaderText})},b._init=function(){e.prototype._init.call(this),this.$element().addClass(\"dx-scheduler-timeline\"),this._$sidebarTable=(0,a.default)(\"<div>\").addClass(\"dx-scheduler-group-table\")},b._getDefaultGroupStrategy=function(){return\"vertical\"},b._toggleGroupingDirectionClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-horizontal-grouped\",this._isHorizontalGroupedWorkSpace())},b._getDefaultOptions=function(){return(0,l.extend)(e.prototype._getDefaultOptions.call(this),{groupOrientation:\"vertical\"})},b._createWorkSpaceElements=function(){this._createWorkSpaceScrollableElements()},b._toggleAllDayVisibility=function(){return(0,r.noop)()},b._changeAllDayVisibility=function(){return(0,r.noop)()},b._getDateHeaderTemplate=function(){return this.option(\"timeCellTemplate\")},b._renderView=function(){var e;this.isRenovatedRender()||(e=this._renderGroupHeader()),this.renderWorkSpace(),this.isRenovatedRender()&&this.virtualScrollingDispatcher.updateDimensions(),this._shader=new v.default(this),this._$sidebarTable.appendTo(this._sidebarScrollable.$content()),this.isRenovatedRender()&&this._isVerticalGroupedWorkSpace()&&this.renderRGroupPanel(),this.updateHeaderEmptyCellWidth(),this._applyCellTemplates(e)},b._setHorizontalGroupHeaderCellsHeight=function(){return(0,r.noop)()},b._setCurrentTimeCells=function(){var e=this._getTimePanelCells();this._getCurrentTimePanelCellIndices().forEach((function(t){e.eq(t).addClass(g.HEADER_CURRENT_TIME_CELL_CLASS)}))},b._cleanCurrentTimeCells=function(){this.$element().find(\".\".concat(g.HEADER_CURRENT_TIME_CELL_CLASS)).removeClass(g.HEADER_CURRENT_TIME_CELL_CLASS)},b._getTimePanelCells=function(){return this.$element().find(\".\".concat(\"dx-scheduler-header-panel-cell\",\":not(.\").concat(\"dx-scheduler-header-panel-week-cell\",\")\"))},b._getCurrentTimePanelCellIndices=function(){var e=this._getCellCount(),t=this._getToday(),n=this.getCellIndexByDate(t),i=this._getCellCoordinatesByIndex(n).columnIndex;if(void 0===i)return[];var o=this._isHorizontalGroupedWorkSpace()&&!this.isGroupedByDate()?this._getGroupCount():1;return x(new Array(o)).map((function(t,n){return e*n+i}))},b._renderTimePanel=function(){return(0,r.noop)()},b._renderAllDayPanel=function(){return(0,r.noop)()},b._createAllDayPanelElements=function(){return(0,r.noop)()},b._renderDateHeader=function(){var t=e.prototype._renderDateHeader.call(this);if(this._needRenderWeekHeader()){for(var n=new Date(this.getStartViewDate()),i=new Date(n),o=[],r=this._getGroupCount(),s=this._getCellCountInDay(),l=this.isGroupedByDate()?s*r:s,u=this.option(\"dateCellTemplate\"),d=this._isHorizontalGroupedWorkSpace()&&!this.isGroupedByDate()?r:1,c=this.viewDataProvider.viewDataGenerator.daysInInterval*this.option(\"intervalCount\"),f=c*d,p=0;p<f;p++){var g=(0,a.default)(\"<th>\"),m=(0,h.formatWeekdayAndDay)(i);if(u){var _={model:C({text:m,date:new Date(i)},this._getGroupsForDateHeaderTemplate(p,l)),container:g,index:p};u.render(_)}else g.text(m);g.addClass(\"dx-scheduler-header-panel-cell\").addClass(\"dx-scheduler-header-panel-week-cell\").attr(\"colSpan\",l),o.push(g),p%c==c-1?i=new Date(n):this._incrementDate(i)}var v=(0,a.default)(\"<tr>\").addClass(\"dx-scheduler-header-row\").append(o);t.before(v)}},b._renderIndicator=function(e,t,n,i){var o,a=this.getIndicationWidth();if(\"vertical\"===this.option(\"groupOrientation\"))o=this._createIndicator(n),(0,d.setHeight)(o,(0,u.getBoundingRect)(n.get(0)).height),o.css(\"left\",t?t-a:a);else for(var r=0;r<i;r++){var s=this.isGroupedByDate()?r*this.getCellWidth():this._getCellCount()*this.getCellWidth()*r;o=this._createIndicator(n),(0,d.setHeight)(o,(0,u.getBoundingRect)(n.get(0)).height),o.css(\"left\",t?t-a-s:a+s)}},b._makeGroupRows=function(e,t){var n=\"vertical\"===this.option(\"groupOrientation\")?D.VERTICAL:D.HORIZONTAL;return D.makeGroupedTable(n,e,{groupRowClass:g.GROUP_ROW_CLASS,groupHeaderRowClass:g.GROUP_ROW_CLASS,groupHeaderClass:this._getGroupHeaderClass.bind(this),groupHeaderContentClass:g.GROUP_HEADER_CONTENT_CLASS},this._getCellCount()||1,this.option(\"resourceCellTemplate\"),this._getTotalRowCount(this._getGroupCount()),t)},o=i,(m=[{key:\"verticalGroupTableClass\",get:function(){return\"dx-scheduler-group-table\"}},{key:\"renovatedHeaderPanelComponent\",get:function(){return p.default}}])&&S(o.prototype,m),y&&S(o,y),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(y.default);(0,o.default)(\"dxSchedulerTimeline\",T);var E=T;t.default=E},10356:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=s(n(99393)),a=n(6324),r=s(n(92297));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o,r,s,d=i.prototype;return d._getElementClass=function(){return\"dx-scheduler-timeline-day\"},d._needRenderWeekHeader=function(){return this._isWorkSpaceWithCount()},o=i,(r=[{key:\"type\",get:function(){return a.VIEWS.TIMELINE_DAY}}])&&l(o.prototype,r),s&&l(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.default);(0,o.default)(\"dxSchedulerTimelineDay\",d);var c=d;t.default=c},91274:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=c(n(99393)),a=c(n(91198)),r=n(45985),s=n(19097),l=c(n(32972)),u=n(6324),d=c(n(92297));function c(e){return e&&e.__esModule?e:{default:e}}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=function(e){var t,n;function i(){var t;return(t=e.apply(this,arguments)||this).viewDirection=\"horizontal\",t}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var o,d,c,g=i.prototype;return g._renderView=function(){e.prototype._renderView.call(this),this._updateScrollable()},g._getElementClass=function(){return\"dx-scheduler-timeline-month\"},g._getDateHeaderTemplate=function(){return this.option(\"dateCellTemplate\")},g._calculateDurationInCells=function(e){return e/this.getCellDuration()},g.isIndicatorVisible=function(){return!0},g._getFormat=function(){return r.formatWeekdayAndDay},g._getIntervalBetween=function(e){var t=this.getStartViewDate(),n=a.default.getTimezonesDifference(t,e);return e.getTime()-(t.getTime()-36e5*this.option(\"startDayHour\"))-n},g._getViewStartByOptions=function(){return(0,s.getViewStartByOptions)(this.option(\"startDate\"),this.option(\"currentDate\"),this.option(\"intervalCount\"),a.default.getFirstMonthDate(this.option(\"startDate\")))},g.generateRenderOptions=function(){return h(h({},e.prototype.generateRenderOptions.call(this,!0)),{getDateForHeaderText:function(e,t){return t}})},o=i,(d=[{key:\"type\",get:function(){return u.VIEWS.TIMELINE_MONTH}},{key:\"renovatedHeaderPanelComponent\",get:function(){return l.default}}])&&f(o.prototype,d),c&&f(o,c),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(d.default);(0,o.default)(\"dxSchedulerTimelineMonth\",g);var m=g;t.default=m},32414:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=l(n(99393)),a=n(37518),r=n(6324),s=l(n(92297));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var o,s,l,c=i.prototype;return c._getElementClass=function(){return\"dx-scheduler-timeline-week\"},c._getHeaderPanelCellWidth=function(e){return(0,a.getBoundingRect)(e.children().first().get(0)).width},c._needRenderWeekHeader=function(){return!0},c._incrementDate=function(e){e.setDate(e.getDate()+1)},o=i,(s=[{key:\"type\",get:function(){return r.VIEWS.TIMELINE_WEEK}}])&&u(o.prototype,s),l&&u(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(s.default);t.default=c,(0,o.default)(\"dxSchedulerTimelineWeek\",c)},23855:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=l(n(99393)),a=n(83866),r=n(6324),s=l(n(32414));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(){for(var t,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return(t=e.call.apply(e,[this].concat(i))||this)._getWeekendsCount=a.getWeekendsCount,t}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var o,s,l,c=i.prototype;return c._getElementClass=function(){return\"dx-scheduler-timeline-work-week\"},c._incrementDate=function(t){5===t.getDay()&&t.setDate(t.getDate()+2),e.prototype._incrementDate.call(this,t)},o=i,(s=[{key:\"type\",get:function(){return r.VIEWS.TIMELINE_WORK_WEEK}}])&&u(o.prototype,s),l&&u(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(s.default);(0,o.default)(\"dxSchedulerTimelineWorkWeek\",c);var h=c;t.default=h},33350:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.VirtualScrollingRenderer=t.VirtualScrollingDispatcher=void 0;var i=l(n(73349)),o=n(35922),a=n(58201),r=l(n(55994)),s=n(39611);function l(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,c(e,t)}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function f(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===u(a)?a:String(a)),i)}var o,a}function p(e,t,n){return t&&f(e.prototype,t),n&&f(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}var g=(0,s.addNamespace)(\"scroll\",\"dxSchedulerVirtualScrolling\"),m=\"vertical\",_=\"horizontal\",v=\"both\",y=\"none\",b=v,x=function(){function e(e){this.options=e,e&&(this._rowHeight=this.getCellHeight(),this._cellWidth=this.getCellWidth(),this._createVirtualScrollingBase())}var t=e.prototype;return t.setViewOptions=function(e){this.options=e,this.verticalVirtualScrolling&&(this.verticalVirtualScrolling.options=e,this.verticalVirtualScrolling.itemSize=this.rowHeight,this.verticalVirtualScrolling.viewportSize=this.viewportHeight),this.horizontalVirtualScrolling&&(this.horizontalVirtualScrolling.options=e,this.verticalVirtualScrolling.itemSize=this.cellWidth,this.verticalVirtualScrolling.viewportSize=this.viewportWidth)},t.getRenderState=function(){var e,t,n=(null===(e=this.verticalVirtualScrolling)||void 0===e?void 0:e.getRenderState())||{},i=(null===(t=this.horizontalVirtualScrolling)||void 0===t?void 0:t.getRenderState())||{};return h(h({},n),i)},t.getCellHeight=function(){var e=this.options.getCellHeight(),t=e>0?e:50;return Math.floor(t)},t.getCellWidth=function(){var e=this.options.getCellWidth(),t=this.options.getCellMinWidth();(!e||e<t)&&(e=t);var n=e>0?e:1;return Math.floor(n)},t.calculateCoordinatesByDataAndPosition=function(e,t,n,i,o){var a=t.rowIndex,r=t.columnIndex,s=e.startDate,l=e.endDate,u=e.allDay,d=n.getTime(),c=s.getTime(),h=l.getTime(),f=u||!i?0:(d-c)/(h-c),p=this.getCellWidth(),g=this.getCellHeight(),m=o?(a+f)*g:a*g,_=o?r*p:(r+f)*p;return this.isRTL&&(_=this.options.getScrollableOuterWidth()-_),{top:m,left:_}},t.dispose=function(){this._onScrollHandler&&r.default.off(this.document,g,this._onScrollHandler)},t.createVirtualScrolling=function(){var e=!!this.verticalVirtualScrolling,t=!!this.horizontalVirtualScrolling;this.verticalScrollingAllowed===e&&this.horizontalScrollingAllowed===t||(this._rowHeight=this.getCellHeight(),this._cellWidth=this.getCellWidth(),this._createVirtualScrollingBase())},t._createVirtualScrollingBase=function(){this.verticalScrollingAllowed&&(this.verticalVirtualScrolling=new C(h(h({},this.options),{viewportHeight:this.viewportHeight,rowHeight:this.rowHeight,outlineCount:this.outlineCount}))),this.horizontalScrollingAllowed&&(this.horizontalVirtualScrolling=new S(h(h({},this.options),{viewportWidth:this.viewportWidth,cellWidth:this.cellWidth,outlineCount:this.outlineCount})))},t.isAttachWindowScrollEvent=function(){return(this.horizontalScrollingAllowed||this.verticalScrollingAllowed)&&!this.height},t.attachScrollableEvents=function(){this.isAttachWindowScrollEvent()&&this._attachWindowScroll()},t._attachWindowScroll=function(){var e=this,t=(0,a.getWindow)();this._onScrollHandler=this.options.createAction((function(){var n=t.scrollX,i=t.scrollY;(n>=10||i>=10)&&e.handleOnScrollEvent({left:n,top:i})})),r.default.on(this.document,g,this._onScrollHandler)},t.handleOnScrollEvent=function(e){var t,n,i,a;if(e){var r=e.left,s=e.top,l=(0,o.isDefined)(s)&&(null===(t=this.verticalVirtualScrolling)||void 0===t?void 0:t.updateState(s)),u=(0,o.isDefined)(r)&&(null===(n=this.horizontalVirtualScrolling)||void 0===n?void 0:n.updateState(r));(l||u)&&(null===(a=(i=this.options).updateRender)||void 0===a||a.call(i))}},t.updateDimensions=function(e){var t,n,i=this.getCellHeight(),o=this.verticalScrollingAllowed&&i!==this.rowHeight;(o||e)&&this.verticalVirtualScrolling&&(this.rowHeight=i,this.verticalVirtualScrolling.viewportSize=this.viewportHeight,this.verticalVirtualScrolling.reinitState(i,e));var a=this.getCellWidth(),r=this.horizontalScrollingAllowed&&a!==this.cellWidth;(r||e)&&this.horizontalVirtualScrolling&&(this.cellWidth=a,this.horizontalVirtualScrolling.viewportSize=this.viewportWidth,this.horizontalVirtualScrolling.reinitState(a,e)),(o||r)&&(null===(n=(t=this.options).updateGrid)||void 0===n||n.call(t))},p(e,[{key:\"isRTL\",get:function(){return this.options.isRTL()}},{key:\"verticalVirtualScrolling\",get:function(){return this._verticalVirtualScrolling},set:function(e){this._verticalVirtualScrolling=e}},{key:\"horizontalVirtualScrolling\",get:function(){return this._horizontalVirtualScrolling},set:function(e){this._horizontalVirtualScrolling=e}},{key:\"document\",get:function(){return i.default.getDocument()}},{key:\"height\",get:function(){return this.options.getSchedulerHeight()}},{key:\"width\",get:function(){return this.options.getSchedulerWidth()}},{key:\"rowHeight\",get:function(){return this._rowHeight},set:function(e){this._rowHeight=e}},{key:\"outlineCount\",get:function(){return this.options.getScrolling().outlineCount}},{key:\"cellWidth\",get:function(){return this._cellWidth},set:function(e){this._cellWidth=e}},{key:\"viewportWidth\",get:function(){var e=this.width&&this.options.getViewWidth();return e>0?e:this.options.getWindowWidth()}},{key:\"viewportHeight\",get:function(){var e=this.height&&this.options.getViewHeight();return e>0?e:this.options.getWindowHeight()}},{key:\"cellCountInsideTopVirtualRow\",get:function(){var e;return(null===(e=this.verticalScrollingState)||void 0===e?void 0:e.virtualItemCountBefore)||0}},{key:\"cellCountInsideLeftVirtualCell\",get:function(){var e;return(null===(e=this.horizontalScrollingState)||void 0===e?void 0:e.virtualItemCountBefore)||0}},{key:\"cellCountInsideRightVirtualCell\",get:function(){var e;return(null===(e=this.horizontalScrollingState)||void 0===e?void 0:e.virtualItemCountAfter)||0}},{key:\"topVirtualRowsCount\",get:function(){return this.cellCountInsideTopVirtualRow>0?1:0}},{key:\"leftVirtualCellsCount\",get:function(){return(this.isRTL?this.cellCountInsideRightVirtualCell:this.cellCountInsideLeftVirtualCell)>0?1:0}},{key:\"virtualRowOffset\",get:function(){var e;return(null===(e=this.verticalScrollingState)||void 0===e?void 0:e.virtualItemSizeBefore)||0}},{key:\"virtualCellOffset\",get:function(){var e;return(null===(e=this.horizontalScrollingState)||void 0===e?void 0:e.virtualItemSizeBefore)||0}},{key:\"scrollingState\",get:function(){var e,t;return{vertical:null===(e=this.verticalVirtualScrolling)||void 0===e?void 0:e.state,horizontal:null===(t=this.horizontalVirtualScrolling)||void 0===t?void 0:t.state}}},{key:\"verticalScrollingState\",get:function(){return this.scrollingState.vertical}},{key:\"horizontalScrollingState\",get:function(){return this.scrollingState.horizontal}},{key:\"scrollingOrientation\",get:function(){var e=this.options.getScrolling();return\"standard\"===e.mode?y:e.orientation||b}},{key:\"verticalScrollingAllowed\",get:function(){return this.scrollingOrientation===m||this.scrollingOrientation===v}},{key:\"horizontalScrollingAllowed\",get:function(){return this.scrollingOrientation===_||this.scrollingOrientation===v}}]),e}();t.VirtualScrollingDispatcher=x;var w=function(){function e(e){this.options=e,this._state=this.defaultState,this.viewportSize=this.options.viewportSize,this._itemSize=this.options.itemSize,this._position=-1,this._itemSizeChanged=!1,this.updateState(0)}var t=e.prototype;return t.needUpdateState=function(e){var t=this.state,n=t.prevPosition;if(t.startIndex<0)return!0;var i=!1;if(this._validateAndSavePosition(e)){if(0===e||e===this.maxScrollPosition)return!0;var o=n,a=Math.floor(o/this.itemSize),r=Math.floor(e/this.itemSize);i=Math.abs(a-r)>=this.outlineCount}return i},t._validateAndSavePosition=function(e){if(!(0,o.isDefined)(e))return!1;var t=this.position!==e;return this.position=e,t},t._correctPosition=function(e){return e>=0?Math.min(e,this.maxScrollPosition):-1},t.updateState=function(e,t){if(e=this._correctPosition(e),!this.needUpdateState(e)&&!t)return!1;var n=this._calcItemInfoBefore(e),i=this._calcItemDeltaBefore(n),o=this._calcItemInfoAfter(i),a=o.outlineCountAfter,r=o.virtualItemCountAfter,s=o.itemCountWithAfter,l=n.virtualItemCountBefore,u=n.outlineCountBefore,d=u+s+a,c=Math.floor(e/this.itemSize);return this.state.prevPosition=c*this.itemSize,this.state.startIndex=c-u,this.state.virtualItemCountBefore=l,this.state.outlineCountBefore=u,this.state.itemCount=d,this.state.outlineCountAfter=a,this.state.virtualItemCountAfter=r,this._updateStateCore(),!0},t.reinitState=function(e,t){var n=this.position;this.itemSize=e,this.updateState(0,t),n>0&&this.updateState(n,t)},t._calcItemInfoBefore=function(e){var t=Math.floor(e/this.itemSize),n=Math.min(t,this.outlineCount);return{virtualItemCountBefore:t-=n,outlineCountBefore:n}},t._calcItemDeltaBefore=function(e){var t=e.virtualItemCountBefore,n=e.outlineCountBefore;return this.getTotalItemCount()-t-n},t.getTotalItemCount=function(){throw\"getTotalItemCount method should be implemented\"},t.getRenderState=function(){throw\"getRenderState method should be implemented\"},t._calcItemInfoAfter=function(e){var t=e>=this.pageSize?this.pageSize:e,n=e-t,i=n>0?Math.min(n,this.outlineCount):0;return n>0&&(n-=i),{virtualItemCountAfter:n,outlineCountAfter:i,itemCountWithAfter:t}},t._updateStateCore=function(){var e=this.state,t=e.virtualItemCountBefore,n=e.virtualItemCountAfter,i=e.outlineCountBefore,o=e.outlineCountAfter,a=e.virtualItemSizeBefore,r=e.virtualItemSizeAfter,s=e.outlineSizeBefore,l=e.outlineSizeAfter,u=this.itemSize*t,d=this.itemSize*n,c=a+s<u+this.itemSize*i,h=r+l<d+this.itemSize*o;(this._itemSizeChanged||c||h)&&this._updateStateVirtualItems(u,d)},t._updateStateVirtualItems=function(e,t){var n=this.state;n.virtualItemSizeBefore=e,n.virtualItemSizeAfter=t},p(e,[{key:\"itemSize\",get:function(){return this._itemSize},set:function(e){this._itemSizeChanged=this._itemSize!==e,this._itemSize=e}},{key:\"state\",get:function(){return this._state},set:function(e){this._state=e}},{key:\"startIndex\",get:function(){return this.state.startIndex}},{key:\"pageSize\",get:function(){return Math.ceil(this.viewportSize/this.itemSize)}},{key:\"outlineCount\",get:function(){return(0,o.isDefined)(this.options.outlineCount)?this.options.outlineCount:Math.floor(this.pageSize/2)}},{key:\"groupCount\",get:function(){return this.options.getGroupCount()}},{key:\"isVerticalGrouping\",get:function(){return this.options.isVerticalGrouping()}},{key:\"defaultState\",get:function(){return{prevPosition:0,startIndex:-1,itemCount:0,virtualItemCountBefore:0,virtualItemCountAfter:0,outlineCountBefore:0,outlineCountAfter:0,virtualItemSizeBefore:0,virtualItemSizeAfter:0,outlineSizeBefore:0,outlineSizeAfter:0}}},{key:\"maxScrollPosition\",get:function(){return this.getTotalItemCount()*this.itemSize-this.viewportSize}},{key:\"position\",get:function(){return this._position},set:function(e){this._position=e}}]),e}(),C=function(e){function t(t){return e.call(this,h(h({},t),{itemSize:t.rowHeight,viewportSize:t.viewportHeight}))||this}d(t,e);var n=t.prototype;return n.getTotalItemCount=function(){return this.options.getTotalRowCount(this.groupCount,this.isVerticalGrouping)},n.getRenderState=function(){return{topVirtualRowHeight:this.state.virtualItemSizeBefore,bottomVirtualRowHeight:this.state.virtualItemSizeAfter,startRowIndex:this.state.startIndex,rowCount:this.state.itemCount,startIndex:this.state.startIndex}},p(t,[{key:\"prevTopPosition\",get:function(){return this.state.prevPosition}},{key:\"rowCount\",get:function(){return this.state.itemCount}},{key:\"topVirtualRowCount\",get:function(){return this.state.virtualItemCountBefore}},{key:\"bottomVirtualRowCount\",get:function(){return this.state.virtualItemCountAfter}}]),t}(w),S=function(e){function t(t){return e.call(this,h(h({},t),{itemSize:t.cellWidth,viewportSize:t.viewportWidth}))||this}d(t,e);var n=t.prototype;return n.getTotalItemCount=function(){return this.options.getTotalCellCount(this.groupCount,this.isVerticalGrouping)},n.getRenderState=function(){return{leftVirtualCellWidth:this.state.virtualItemSizeBefore,rightVirtualCellWidth:this.state.virtualItemSizeAfter,startCellIndex:this.state.startIndex,cellCount:this.state.itemCount,cellWidth:this.itemSize}},n._updateStateVirtualItems=function(t,n){if(this.isRTL){var i=this.state;i.virtualItemSizeAfter=t,i.virtualItemSizeBefore=n,i.startIndex=this.getTotalItemCount()-this.startIndex-this.state.itemCount}else e.prototype._updateStateVirtualItems.call(this,t,n)},p(t,[{key:\"isRTL\",get:function(){return this.options.isRTL()}}]),t}(w),k=function(){function e(e){this._workspace=e,this._renderAppointmentTimeoutID=null}var t=e.prototype;return t.getRenderTimeout=function(){return this._workspace.option(\"isRenovatedAppointments\")?-1:15},t.updateRender=function(){this._renderGrid(),this._renderAppointments()},t._renderGrid=function(){this.workspace.renderWorkSpace(!1)},t._renderAppointments=function(){var e=this,t=this.getRenderTimeout();t>=0?(clearTimeout(this._renderAppointmentTimeoutID),this._renderAppointmentTimeoutID=setTimeout((function(){return e.workspace.updateAppointments()}),t)):this.workspace.updateAppointments()},p(e,[{key:\"workspace\",get:function(){return this._workspace}}]),e}();t.VirtualScrollingRenderer=k},48377:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=n(31648),a=Z(n(73349)),r=n(6415),s=Z(n(68374)),l=n(20576),u=n(47617),d=Z(n(91198)),c=n(13306),h=n(37518),f=n(58664),p=n(35922),g=n(58201),m=n(95429),_=n(49166),v=Z(n(55994)),y=n(23174),b=Z(n(93786)),x=n(39611),w=Z(n(28109)),C=n(41672),S=n(45985),k=Z(n(41183)),D=Z(n(96688)),I=Z(n(38201)),T=Z(n(2931)),E=Z(n(40181)),O=Z(n(11141)),A=Z(n(32972)),P=Z(n(89687)),M=Z(n(79427)),R=Z(n(54915)),B=n(43600),L=n(6324),V=Z(n(82215)),F=n(84110),H=n(31359),N=Z(n(11029)),z=n(94654),j=n(14553),W=n(78151),G=Z(n(20191)),q=n(33350),$=Z(n(48854)),U=Z(n(2862)),K=Z(n(52974));function Z(e){return e&&e.__esModule?e:{default:e}}function Y(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e)||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 X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function Q(){return(Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function J(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function ee(e,t){return(ee=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var te=V.default.tableCreator,ne=M.default.abstract,ie=d.default.dateToMilliseconds,oe=\"dx-scheduler-all-day-table-cell\",ae=\"dx-scheduler-date-table-cell\",re=(0,x.addNamespace)(b.default.down,\"dxSchedulerWorkSpace\"),se={ENTER:(0,x.addNamespace)(y.enter,\"dxSchedulerDateTable\"),DROP:(0,x.addNamespace)(y.drop,\"dxSchedulerDateTable\"),LEAVE:(0,x.addNamespace)(y.leave,\"dxSchedulerDateTable\")},le=(0,x.addNamespace)(m.name,\"dxSchedulerDateTable\"),ue=(0,x.addNamespace)(b.default.down,\"dxSchedulerDateTable\"),de=(0,x.addNamespace)(b.default.up,\"dxSchedulerDateTable\"),ce=(0,x.addNamespace)(b.default.move,\"dxSchedulerDateTable\"),he=ie(\"day\"),fe=ie(\"hour\"),pe=\".\".concat(B.DATE_TABLE_CLASS,\" td, .\").concat(\"dx-scheduler-all-day-table\",\" td\"),ge=\".\".concat(ae,\", .\").concat(oe),me=function(e){var t,n;function i(){var t;return(t=e.apply(this,arguments)||this).viewDirection=\"vertical\",t}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,ee(t,n);var o,u,m,y=i.prototype;return y._supportedKeys=function(){var t=this,n=function(e){var t=this;e.preventDefault(),e.stopPropagation();var n=this.cellsSelectionState.getSelectedCells();if(null==n?void 0:n.length){var i=n.map((function(e){return t._getCellByData(e)})).filter((function(e){return!!e}));e.target=i,this._showPopup=!0,this._cellClickAction({event:e,cellElement:(0,s.default)(i),cellData:n[0]})}},i=function(e,n){var i;e.preventDefault(),e.stopPropagation();var o=null===(i=t.cellsSelectionState.focusedCell)||void 0===i?void 0:i.cellData;if(o){var a=o.allDay&&!t._isVerticalGroupedWorkSpace(),r=e.shiftKey,s=t.option(\"allowMultipleCellSelection\"),l=t._isRTL(),u=t._getGroupCount(),d=t.isGroupedByDate(),c=t._isHorizontalGroupedWorkSpace(),h=t.viewDataProvider.findCellPositionInMap(Q(Q({},o),{isAllDay:o.allDay})),f=c&&r&&!d?t.viewDataProvider.getGroupEdgeIndices(o.groupIndex,a):t.viewDataProvider.getViewEdgeIndices(a),p=t.cellsSelectionController.handleArrowClick({focusedCellPosition:h,edgeIndices:f,isRTL:l,isGroupedByDate:d,groupCount:u,isMultiSelection:r,isMultiSelectionAllowed:s,viewType:t.type,key:n,getCellDataByPosition:t.viewDataProvider.getCellData.bind(t.viewDataProvider),isAllDayPanelCell:a,focusedCellData:o});t._processNextSelectedCell(p,o,r&&s)}};return(0,c.extend)(e.prototype._supportedKeys.call(this),{enter:n,space:n,downArrow:function(e){i(e,\"down\")},upArrow:function(e){i(e,\"up\")},rightArrow:function(e){i(e,\"right\")},leftArrow:function(e){i(e,\"left\")}})},y._isRTL=function(){return this.option(\"rtlEnabled\")},y._moveToCell=function(e,t){if((0,p.isDefined)(e)&&e.length){var n=this.option(\"allowMultipleCellSelection\"),i=this._getFullCellData(e),o=this.cellsSelectionState.focusedCell.cellData,a=this.cellsSelectionController.moveToCell({isMultiSelection:t,isMultiSelectionAllowed:n,currentCellData:i,focusedCellData:o,isVirtualCell:e.hasClass(B.VIRTUAL_CELL_CLASS)});this._processNextSelectedCell(a,o,n&&t)}},y._processNextSelectedCell=function(e,t,n){var i=this.viewDataProvider.findCellPositionInMap({startDate:e.startDate,groupIndex:e.groupIndex,isAllDay:e.allDay,index:e.index});if(!this.viewDataProvider.isSameCell(t,e)){var o=e.allDay&&!this._isVerticalGroupedWorkSpace()?this._dom_getAllDayPanelCell(i.columnIndex):this._dom_getDateCell(i),a=e.allDay;this._setSelectedCellsStateAndUpdateSelection(a,i,n,o),this._dateTableScrollable.scrollToElement(o)}},y._setSelectedCellsStateAndUpdateSelection=function(e,t,n,i){var o={rowIndex:t.rowIndex,columnIndex:t.columnIndex,allDay:e};this.cellsSelectionState.setFocusedCell(o.rowIndex,o.columnIndex,e),n?this.cellsSelectionState.setSelectedCells(o):this.cellsSelectionState.setSelectedCells(o,o),this.updateCellsSelection(),this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells(),i)},y._hasAllDayClass=function(e){return e.hasClass(oe)},y._focusInHandler=function(t){if((0,s.default)(t.target).is(this._focusTarget())&&!1!==this._isCellClick){if(delete this._isCellClick,delete this._contextMenuHandled,e.prototype._focusInHandler.apply(this,arguments),this.cellsSelectionState.restoreSelectedAndFocusedCells(),!this.cellsSelectionState.focusedCell){var n={columnIndex:0,rowIndex:0,allDay:this._isVerticalGroupedWorkSpace()&&this.isAllDayPanelVisible};this.cellsSelectionState.setFocusedCell(n.rowIndex,n.columnIndex,n.allDay),this.cellsSelectionState.setSelectedCells(n,n)}this.updateCellsSelection(),this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells())}},y._focusOutHandler=function(){e.prototype._focusOutHandler.apply(this,arguments),this._contextMenuHandled||this._disposed||(this.cellsSelectionState.releaseSelectedAndFocusedCells(),this.viewDataProvider.updateViewData(this.generateRenderOptions()),this.updateCellsSelection())},y._focusTarget=function(){return this.$element()},y._isVerticalGroupedWorkSpace=function(){var e;return!!(null===(e=this.option(\"groups\"))||void 0===e?void 0:e.length)&&\"vertical\"===this.option(\"groupOrientation\")},y._isHorizontalGroupedWorkSpace=function(){var e;return!!(null===(e=this.option(\"groups\"))||void 0===e?void 0:e.length)&&\"horizontal\"===this.option(\"groupOrientation\")},y._isWorkSpaceWithCount=function(){return this.option(\"intervalCount\")>1},y._isWorkspaceWithOddCells=function(){return.5===this.option(\"hoursInterval\")&&!this.isVirtualScrolling()},y._getRealGroupOrientation=function(){return this._isVerticalGroupedWorkSpace()?\"vertical\":\"horizontal\"},y.createRAllDayPanelElements=function(){this._$allDayPanel=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-panel\"),this._$allDayTitle=(0,s.default)(\"<div>\").appendTo(this._$headerPanelEmptyCell)},y._dateTableScrollableConfig=function(){var e=this,t={useKeyboard:!1,bounceEnabled:!1,updateManually:!0,onScroll:function(){var t;null===(t=e._groupedStrategy.cache)||void 0===t||t.clear()}};if(this._needCreateCrossScrolling()&&(t=(0,c.extend)(t,this._createCrossScrollingConfig(t))),this.isVirtualScrolling()&&(this.virtualScrollingDispatcher.horizontalScrollingAllowed||this.virtualScrollingDispatcher.height)){var n=t.onScroll;t=Q(Q({},t),{onScroll:function(t){null==n||n(t),e.virtualScrollingDispatcher.handleOnScrollEvent(null==t?void 0:t.scrollOffset)}})}return t},y._createCrossScrollingConfig=function(e){var t=this,n=e.onScroll;return{direction:\"both\",onScroll:function(e){null==n||n(),t._scrollSync.sidebar({top:e.scrollOffset.top}),t._scrollSync.header({left:e.scrollOffset.left})},onEnd:function(){t.option(\"onScrollEnd\")()}}},y._headerScrollableConfig=function(){var e=this;return{useKeyboard:!1,showScrollbar:\"never\",direction:\"horizontal\",useNative:!1,updateManually:!0,bounceEnabled:!1,onScroll:function(t){e._scrollSync.dateTable({left:t.scrollOffset.left})}}},y._visibilityChanged=function(e){this.cache.clear(),e&&this._updateGroupTableHeight(),e&&this._needCreateCrossScrolling()&&this._setTableSizes()},y._setTableSizes=function(){this.cache.clear(),this._attachTableClasses();var e=this.getCellWidth();e<this.getCellMinWidth()&&(e=this.getCellMinWidth());var t=this.getWorkSpaceMinWidth(),n=this._getGroupCount(),i=e*this._getTotalCellCount(n);i<t&&(i=t),(0,f.setWidth)(this._$headerPanel,i),(0,f.setWidth)(this._$dateTable,i),this._$allDayTable&&(0,f.setWidth)(this._$allDayTable,i),this._attachHeaderTableClasses(),this._updateGroupTableHeight(),this._updateScrollable()},y.getWorkSpaceMinWidth=function(){return this._groupedStrategy.getWorkSpaceMinWidth()},y._dimensionChanged=function(){this._isVisible()&&(this.option(\"crossScrollingEnabled\")&&this._setTableSizes(),this.updateHeaderEmptyCellWidth(),this._updateScrollable(),this.cache.clear())},y._needCreateCrossScrolling=function(){return this.option(\"crossScrollingEnabled\")},y._getElementClass=function(){return(0,l.noop)()},y._getRowCount=function(){return this.viewDataProvider.getRowCount({intervalCount:this.option(\"intervalCount\"),currentDate:this.option(\"currentDate\"),viewType:this.type,hoursInterval:this.option(\"hoursInterval\"),startDayHour:this.option(\"startDayHour\"),endDayHour:this.option(\"endDayHour\")})},y._getCellCount=function(){return this.viewDataProvider.getCellCount({intervalCount:this.option(\"intervalCount\"),currentDate:this.option(\"currentDate\"),viewType:this.type,hoursInterval:this.option(\"hoursInterval\"),startDayHour:this.option(\"startDayHour\"),endDayHour:this.option(\"endDayHour\")})},y.isRenovatedRender=function(){return this.renovatedRenderSupported()&&this.option(\"renovateRender\")},y._isVirtualModeOn=function(){return\"virtual\"===this.option(\"scrolling.mode\")},y.isVirtualScrolling=function(){return this.isRenovatedRender()&&this._isVirtualModeOn()},y._initVirtualScrolling=function(){this.virtualScrollingDispatcher&&(this.virtualScrollingDispatcher.dispose(),this.virtualScrollingDispatcher=null),this.virtualScrollingDispatcher=new q.VirtualScrollingDispatcher(this._getVirtualScrollingDispatcherOptions()),this.virtualScrollingDispatcher.attachScrollableEvents(),this.renderer=new q.VirtualScrollingRenderer(this)},y.onDataSourceChanged=function(e){},y.isGroupedAllDayPanel=function(){return(0,S.calculateIsGroupedAllDayPanel)(this.option(\"groups\"),this.option(\"groupOrientation\"),this.isAllDayPanelVisible)},y.generateRenderOptions=function(e){var t,n=this._getGroupCount()>0?this.option(\"groupOrientation\"):this._getDefaultGroupStrategy();return Q({groupByDate:this.option(\"groupByDate\"),startRowIndex:0,startCellIndex:0,groupOrientation:n,today:null===(t=this._getToday)||void 0===t?void 0:t.call(this),groups:this.option(\"groups\"),isProvideVirtualCellsWidth:e,isAllDayPanelVisible:this.isAllDayPanelVisible,selectedCells:this.cellsSelectionState.getSelectedCells(),focusedCell:this.cellsSelectionState.focusedCell,headerCellTextFormat:this._getFormat(),getDateForHeaderText:function(e,t){return t},startDayHour:this.option(\"startDayHour\"),endDayHour:this.option(\"endDayHour\"),cellDuration:this.getCellDuration(),viewType:this.type,intervalCount:this.option(\"intervalCount\"),hoursInterval:this.option(\"hoursInterval\"),currentDate:this.option(\"currentDate\"),startDate:this.option(\"startDate\"),firstDayOfWeek:this.option(\"firstDayOfWeek\")},this.virtualScrollingDispatcher.getRenderState())},y.renovatedRenderSupported=function(){return!0},y._updateGroupTableHeight=function(){this._isVerticalGroupedWorkSpace()&&(0,g.hasWindow)()&&this._setHorizontalGroupHeaderCellsHeight()},y.updateHeaderEmptyCellWidth=function(){if((0,g.hasWindow)()&&this._isRenderHeaderPanelEmptyCell()){var e=this.getTimePanelWidth(),t=this.getGroupTableWidth();this._$headerPanelEmptyCell.css(\"width\",e+t)}},y._isGroupsSpecified=function(e){var t;return(null===(t=this.option(\"groups\"))||void 0===t?void 0:t.length)&&e},y._getGroupIndexByResourceId=function(e){var t=this.option(\"groups\"),n=(0,H.createResourcesTree)(t);return n.length?this._getGroupIndexRecursively(n,e):0},y._getGroupIndexRecursively=function(e,t){var n=this,i=e[0].name,o=t[i];return e.reduce((function(e,i){var a=i.leafIndex,r=i.value,s=i.children,l=o===r;return l&&void 0!==a?a:l?n._getGroupIndexRecursively(s,t):e}),0)},y._getViewStartByOptions=function(){return(0,S.getViewStartByOptions)(this.option(\"startDate\"),this.option(\"currentDate\"),this._getIntervalDuration(),this.option(\"startDate\")?this._calculateViewStartDate():void 0)},y._getIntervalDuration=function(){return this.viewDataProvider.getIntervalDuration(this.option(\"intervalCount\"))},y._getHeaderDate=function(){return this.getStartViewDate()},y._calculateViewStartDate=function(){return(0,S.calculateViewStartDate)(this.option(\"startDate\"))},y._firstDayOfWeek=function(){return this.viewDataProvider.getFirstDayOfWeek(this.option(\"firstDayOfWeek\"))},y._attachEvents=function(){this._createSelectionChangedAction(),this._attachClickEvent(),this._attachContextMenuEvent()},y._attachClickEvent=function(){var e=this,t=this._createAction((function(t){e._pointerDownHandler(t.event)}));this._createCellClickAction();var n=\".\".concat(ae,\",.\").concat(oe),i=this.$element();v.default.off(i,re),v.default.off(i,le),v.default.on(i,re,(function(e){(0,x.isMouseEvent)(e)&&e.which>1?e.preventDefault():t({event:e})})),v.default.on(i,le,n,(function(t){var n=(0,s.default)(t.target);e._cellClickAction({event:t,cellElement:(0,r.getPublicElement)(n),cellData:e.getCellData(n)})}))},y._createCellClickAction=function(){var e=this;this._cellClickAction=this._createActionByOption(\"onCellClick\",{afterExecute:function(t){return e._cellClickHandler(t.args[0].event)}})},y._createSelectionChangedAction=function(){this._selectionChangedAction=this._createActionByOption(\"onSelectionChanged\")},y._cellClickHandler=function(e){this._showPopup&&(delete this._showPopup,this._handleSelectedCellsClick())},y._pointerDownHandler=function(e){var t=(0,s.default)(e.target);if(t.hasClass(ae)||t.hasClass(oe))if(this._isCellClick=!0,t.hasClass(\"dx-scheduler-focused-cell\"))this._showPopup=!0;else{var n=this._getCoordinatesByCell(t),i=this._hasAllDayClass(t);this._setSelectedCellsStateAndUpdateSelection(i,n,!1,t)}else this._isCellClick=!1},y._handleSelectedCellsClick=function(){var e=this.cellsSelectionState.getSelectedCells(),t=e[0],n=e[e.length-1],i={startDate:t.startDate,endDate:n.endDate};void 0!==n.allDay&&(i.allDay=n.allDay),this.option(\"onSelectedCellsClick\")(i,n.groups)},y._attachContextMenuEvent=function(){this._createContextMenuAction();var e=\".\".concat(ae,\",.\").concat(oe),t=this.$element(),n=(0,x.addNamespace)(_.name,this.NAME);v.default.off(t,n,e),v.default.on(t,n,e,this._contextMenuHandler.bind(this))},y._contextMenuHandler=function(e){var t=(0,s.default)(e.target);this._contextMenuAction({event:e,cellElement:(0,r.getPublicElement)(t),cellData:this.getCellData(t)}),this._contextMenuHandled=!0},y._createContextMenuAction=function(){this._contextMenuAction=this._createActionByOption(\"onCellContextMenu\")},y._getGroupHeaderContainer=function(){return this._isVerticalGroupedWorkSpace()?this._$groupTable:this._$thead},y._getDateHeaderContainer=function(){return this._$thead},y._getCalculateHeaderCellRepeatCount=function(){return this._groupedStrategy.calculateHeaderCellRepeatCount()},y._updateScrollable=function(){var e,t;this._dateTableScrollable.update(),null===(e=this._headerScrollable)||void 0===e||e.update(),null===(t=this._sidebarScrollable)||void 0===t||t.update()},y._getTimePanelRowCount=function(){return this._getCellCountInDay()},y._getCellCountInDay=function(){var e=this.option(\"hoursInterval\"),t=this.option(\"startDayHour\"),n=this.option(\"endDayHour\");return this.viewDataProvider.getCellCountInDay(t,n,e)},y._getTotalCellCount=function(e){return this._groupedStrategy.getTotalCellCount(e)},y._getTotalRowCount=function(e,t){var n=this._groupedStrategy.getTotalRowCount(e);return t&&this.isAllDayPanelVisible&&(n+=e),n},y._getGroupIndex=function(e,t){return this._groupedStrategy.getGroupIndex(e,t)},y.calculateEndDate=function(e){var t=this.viewDataProvider.viewDataGenerator;return t.calculateEndDate(e,t.getInterval(this.option(\"hoursInterval\")),this.option(\"endDayHour\"))},y._getGroupCount=function(){return(0,H.getGroupCount)(this.option(\"groups\"))},y._attachTablesEvents=function(){var e=this.$element();this._attachDragEvents(e),this._attachPointerEvents(e)},y._detachDragEvents=function(e){v.default.off(e,se.ENTER),v.default.off(e,se.LEAVE),v.default.off(e,se.DROP)},y._attachDragEvents=function(e){var t=this;this._detachDragEvents(e);v.default.on(e,se.ENTER,pe,{checkDropTarget:function(e,n){return!t._isOutsideScrollable(e,n)}},(function(e){t.preventDefaultDragging||(t.removeDroppableCellClass(),(0,s.default)(e.target).addClass(\"dx-scheduler-date-table-droppable-cell\"))})),v.default.on(e,se.LEAVE,(function(){t.preventDefaultDragging||t.removeDroppableCellClass()})),v.default.on(e,se.DROP,pe,(function(){var e,n;t.dragBehavior&&((null===(e=t.dragBehavior)||void 0===e?void 0:e.dragBetweenComponentsPromise)?null===(n=t.dragBehavior.dragBetweenComponentsPromise)||void 0===n||n.then((function(){t.dragBehavior.removeDroppableClasses()})):t.dragBehavior.removeDroppableClasses())}))},y._attachPointerEvents=function(e){var t=this,n=!1;v.default.off(e,ce),v.default.off(e,ue),v.default.on(e,ue,pe,(function(e){(0,x.isMouseEvent)(e)&&1===e.which&&(n=!0,t.$element().addClass(\"dx-scheduler-work-space-mouse-selection\"),v.default.off(a.default.getDocument(),de),v.default.on(a.default.getDocument(),de,(function(){n=!1,t.$element().removeClass(\"dx-scheduler-work-space-mouse-selection\")})))})),v.default.on(e,ce,pe,(function(e){n&&t._dateTableScrollable&&!t._dateTableScrollable.option(\"scrollByContent\")&&(e.preventDefault(),e.stopPropagation(),t._moveToCell((0,s.default)(e.target),!0))}))},y._getFormat=function(){return ne()},y.getWorkArea=function(){return this._$dateTableContainer},y.getScrollable=function(){return this._dateTableScrollable},y.getScrollableScrollTop=function(){return this._dateTableScrollable.scrollTop()},y.getGroupedScrollableScrollTop=function(e){return this._groupedStrategy.getScrollableScrollTop(e)},y.getScrollableScrollLeft=function(){return this._dateTableScrollable.scrollLeft()},y.getScrollableOuterWidth=function(){return this._dateTableScrollable.scrollWidth()},y.getScrollableContainer=function(){return(0,s.default)(this._dateTableScrollable.container())},y.getHeaderPanelHeight=function(){return this._$headerPanel&&(0,f.getOuterHeight)(this._$headerPanel,!0)},y.getTimePanelWidth=function(){return this._$timePanel&&(0,h.getBoundingRect)(this._$timePanel.get(0)).width},y.getGroupTableWidth=function(){return this._$groupTable?(0,f.getOuterWidth)(this._$groupTable):0},y.getWorkSpaceLeftOffset=function(){return this._groupedStrategy.getLeftOffset()},y._getCellCoordinatesByIndex=function(e){var t=Math.floor(e/this._getRowCount());return{columnIndex:t,rowIndex:e-this._getRowCount()*t}},y._getDateGenerationOptions=function(){var e;return{startDayHour:this.option(\"startDayHour\"),endDayHour:this.option(\"endDayHour\"),isWorkView:this.viewDataProvider.viewDataGenerator.isWorkView,interval:null===(e=this.viewDataProvider.viewDataGenerator)||void 0===e?void 0:e.getInterval(this.option(\"hoursInterval\")),startViewDate:this.getStartViewDate(),firstDayOfWeek:this._firstDayOfWeek()}},y._getIntervalBetween=function(e,t){var n=this.getStartViewDate(),i=this.option(\"startDayHour\")*fe,o=d.default.getTimezonesDifference(n,e),a=e.getTime()-n.getTime()-o,r=this._getDaysOfInterval(a,i),s=this._getWeekendsCount(r),l=(r-s)*he;t||(l=a-r*this.viewDataProvider.hiddenInterval-s*this.getVisibleDayDuration());return l},y._getWeekendsCount=function(e){return 0},y._getDaysOfInterval=function(e,t){return Math.floor((e+t)/he)},y._updateIndex=function(e){return e*this._getRowCount()},y._getDroppableCell=function(){return this._getDateTables().find(\".\".concat(\"dx-scheduler-date-table-droppable-cell\"))},y._getWorkSpaceWidth=function(){var e=this;return this.cache.get(\"workspaceWidth\",(function(){return e._needCreateCrossScrolling()?(0,h.getBoundingRect)(e._$dateTable.get(0)).width:(0,h.getBoundingRect)(e.$element().get(0)).width-e.getTimePanelWidth()-e.getGroupTableWidth()}))},y._getCellByCoordinates=function(e,t,n){var i=this._groupedStrategy.prepareCellIndexes(e,t,n);return this._dom_getDateCell(i)},y._dom_getDateCell=function(e){return this._$dateTable.find(\"tr:not(.\".concat(\"dx-scheduler-virtual-row\",\")\")).eq(e.rowIndex).find(\"td:not(.\".concat(B.VIRTUAL_CELL_CLASS,\")\")).eq(e.columnIndex)},y._dom_getAllDayPanelCell=function(e){return this._$allDayPanel.find(\"tr\").eq(0).find(\"td\").eq(e)},y._getCells=function(e,t){var n=e?oe:ae;if(\"vertical\"===t){for(var i=[],o=1;;o++){var a=this.$element().find(\"tr .\".concat(n,\":nth-child(\").concat(o,\")\"));if(!a.length)break;i=i.concat(a.toArray())}return(0,s.default)(i)}return this.$element().find(\".\".concat(n))},y._getFirstAndLastDataTableCell=function(){var e=this.isVirtualScrolling()?\".\".concat(ae,\", .\").concat(B.VIRTUAL_CELL_CLASS):\".\".concat(ae),t=this.$element().find(e);return[t[0],t[t.length-1]]},y._getAllCells=function(e){if(this._isVerticalGroupedWorkSpace())return this._$dateTable.find(\"td:not(.\".concat(B.VIRTUAL_CELL_CLASS,\")\"));var t=e&&this.supportAllDayRow()?oe:ae;return this.$element().find(\".\".concat(t))},y._setHorizontalGroupHeaderCellsHeight=function(){var e=(0,h.getBoundingRect)(this._$dateTable.get(0)).height;(0,f.setOuterHeight)(this._$groupTable,e)},y._getGroupHeaderCells=function(){return this.$element().find(\".\".concat(\"dx-scheduler-group-header\"))},y._getScrollCoordinates=function(e,t,n,i,o){var a=n||new Date(this.option(\"currentDate\")),r=this.option(\"startDayHour\"),s=this.option(\"endDayHour\");e<r&&(e=r),e>=s&&(e=s-1),a.setHours(e,t,0,0);var l=this.viewDataProvider.findGlobalCellPosition(a,i,o),u=l.position,d=l.cellData;return this.virtualScrollingDispatcher.calculateCoordinatesByDataAndPosition(d,u,a,(0,S.isDateAndTimeView)(this.type),\"vertical\"===this.viewDirection)},y._isOutsideScrollable=function(e,t){var n=this._dateTableScrollable.$element(),i=(0,h.getBoundingRect)(n.get(0)),o=(0,g.getWindow)(),a=!(0,s.default)(e).closest(n).length,r=t.pageX<i.left||t.pageX>i.left+i.width+(o.scrollX||0),l=t.pageY<i.top||t.pageY>i.top+i.height+(o.scrollY||0);return!(a&&!r)&&(l||r)},y.setCellDataCache=function(e,t,n){var i=JSON.stringify({rowIndex:e.rowIndex,columnIndex:e.columnIndex,groupIndex:t});this.cache.set(i,this.getCellData(n))},y.setCellDataCacheAlias=function(e,t){var n=JSON.stringify({rowIndex:e.rowIndex,columnIndex:e.columnIndex,groupIndex:e.groupIndex}),i=JSON.stringify({top:t.top,left:t.left});this.cache.set(i,this.cache.get(n))},y.supportAllDayRow=function(){return!0},y.keepOriginalHours=function(){return!1},y._filterCellDataFields=function(e){return(0,c.extend)(!0,{},{startDate:e.startDate,endDate:e.endDate,groups:e.groups,groupIndex:e.groupIndex,allDay:e.allDay})},y.getCellData=function(e){var t=this._getFullCellData(e)||{};return this._filterCellDataFields(t)},y._getFullCellData=function(e){if(e[0])return this._getDataByCell(e)},y._getVirtualRowOffset=function(){return this.virtualScrollingDispatcher.virtualRowOffset},y._getVirtualCellOffset=function(){return this.virtualScrollingDispatcher.virtualCellOffset},y._getDataByCell=function(e){var t=e.parent().index()-this.virtualScrollingDispatcher.topVirtualRowsCount,n=e.index()-this.virtualScrollingDispatcher.leftVirtualCellsCount,i=this.viewDataProvider,o=this._hasAllDayClass(e);return i.getCellData(t,n,o)||void 0},y.isGroupedByDate=function(){return this.option(\"groupByDate\")&&this._isHorizontalGroupedWorkSpace()&&this._getGroupCount()>0},y.getCellIndexByDate=function(e,t){var n=this.viewDataProvider.viewDataGenerator,i=t?864e5:n.getInterval(this.option(\"hoursInterval\")),o=(0,S.getStartViewDateTimeOffset)(this.getStartViewDate(),this.option(\"startDayHour\")),a=this._getIntervalBetween(e,t)+o,r=Math.floor(a/i);return t&&(r=this._updateIndex(r)),r<0&&(r=0),r},y.getDroppableCellIndex=function(){var e=this._getDroppableCell(),t=e.parent();return t.index()*t.find(\"td\").length+e.index()},y.getDataByDroppableCell=function(){var e=this.getCellData((0,s.default)(this._getDroppableCell())),t=e.allDay;return{startDate:e.startDate,endDate:e.endDate,allDay:t,groups:e.groups}},y.getDateRange=function(){return[this.getStartViewDate(),this.getEndViewDateByEndDayHour()]},y.getCellMinWidth=function(){return 75},y.getRoundedCellWidth=function(e,t,n){if(e<0||!(0,g.hasWindow)())return 0;var i=0,o=this.$element().find(\".\".concat(B.DATE_TABLE_ROW_CLASS)).eq(0).find(\".\".concat(ae)),a=this._getCellCount()*e;n=n||this._getCellCount(),(0,p.isDefined)(t)||(t=a);for(var r=t;r<a+n;r++){var l=(0,s.default)(o).eq(r).get(0);i+=l?(0,h.getBoundingRect)(l).width:0}return i/(a+n-t)},y.getCellWidth=function(){return(0,z.getCellWidth)(this.getDOMElementsMetaData())},y.getCellHeight=function(){return(0,z.getCellHeight)(this.getDOMElementsMetaData())},y.getAllDayHeight=function(){return(0,z.getAllDayHeight)(this.option(\"showAllDayPanel\"),this._isVerticalGroupedWorkSpace(),this.getDOMElementsMetaData())},y.getMaxAllowedPosition=function(e){return(0,z.getMaxAllowedPosition)(e,this.viewDataProvider,this.option(\"rtlEnabled\"),this.getDOMElementsMetaData())},y.getAllDayOffset=function(){return this._groupedStrategy.getAllDayOffset()},y.getCellIndexByCoordinates=function(e,t){var n=this._getTotalCellCount(this._getGroupCount()),i=this.getCellWidth(),o=t?this.getAllDayHeight():this.getCellHeight(),a=Math.floor(Math.floor(e.top)/Math.floor(o)),r=e.left/i;return r=Math.floor(r+.05),this._isRTL()&&(r=n-r-1),n*a+r},y.getStartViewDate=function(){return this.viewDataProvider.getStartViewDate()},y.getEndViewDate=function(){return this.viewDataProvider.getLastCellEndDate()},y.getEndViewDateByEndDayHour=function(){return this.viewDataProvider.getLastViewDateByEndDayHour(this.option(\"endDayHour\"))},y.getCellDuration=function(){return(0,S.getCellDuration)(this.type,this.option(\"startDayHour\"),this.option(\"endDayHour\"),this.option(\"hoursInterval\"))},y.getIntervalDuration=function(e){return e?ie(\"day\"):this.getCellDuration()},y.getVisibleDayDuration=function(){var e=this.option(\"startDayHour\"),t=this.option(\"endDayHour\"),n=this.option(\"hoursInterval\");return this.viewDataProvider.getVisibleDayDuration(e,t,n)},y.getGroupBounds=function(e){var t=this._groupedStrategy instanceof U.default?this.getGroupBoundsVertical(e.groupIndex):this.getGroupBoundsHorizontal(e);return this._isRTL()?this.getGroupBoundsRtlCorrection(t):t},y.getGroupBoundsVertical=function(e){var t=this._getFirstAndLastDataTableCell();return this._groupedStrategy.getGroupBoundsOffset(e,t)},y.getGroupBoundsHorizontal=function(e){var t=this._getCellCount(),n=this._getCells(),i=this.getCellWidth(),o=this.viewDataProvider.groupedDataMap;return this._groupedStrategy.getGroupBoundsOffset(t,n,i,e,o)},y.getGroupBoundsRtlCorrection=function(e){var t=this.getCellWidth();return Q(Q({},e),{left:e.right-2*t,right:e.left+2*t})},y.needRecalculateResizableArea=function(){return this._isVerticalGroupedWorkSpace()&&0!==this.getScrollable().scrollTop()},y.getCellDataByCoordinates=function(e,t){var n=this,i=JSON.stringify({top:e.top,left:e.left});return this.cache.get(i,(function(){var i=n._getCells(t),o=n.getCellIndexByCoordinates(e,t),a=i.eq(o);return n.getCellData(a)}))},y.getVisibleBounds=function(){var e={},t=this.getScrollable().$element(),n=this.getCellHeight(),i=this.getScrollableScrollTop()/n,o=i+(0,f.getHeight)(t)/n;return e.top={hours:Math.floor(i*this.option(\"hoursInterval\"))+this.option(\"startDayHour\"),minutes:i%2?30:0},e.bottom={hours:Math.floor(o*this.option(\"hoursInterval\"))+this.option(\"startDayHour\"),minutes:Math.floor(o)%2?30:0},e},y.updateScrollPosition=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.timeZoneCalculator.createDate(e,{path:\"toGrid\"}),o=n&&this.isAllDayPanelVisible;this.needUpdateScrollPosition(i,t,o)&&this.scrollTo(i,t,o,!1)},y.needUpdateScrollPosition=function(e,t,n){var i=this,o=this._getCellsInViewport(n),a=this._isGroupsSpecified(t)?this._getGroupIndexByResourceId(t):0,r=e.getTime(),s=d.default.trimTime(e).getTime();return o.reduce((function(e,t){var o=i.getCellData(t),l=o.startDate,u=o.endDate,d=o.groupIndex,c=l.getTime(),h=u.getTime();return(!(!n&&c<=r&&r<h||n&&s===c)||a!==d)&&e}),!0)},y._getCellsInViewport=function(e){var t=this.getScrollable().$element(),n=this.getCellHeight(),i=this.getCellWidth(),o=this._getTotalCellCount(this._getGroupCount()),a=this.getScrollableScrollTop(),r=this.getScrollableScrollLeft(),l=a/n-this.virtualScrollingDispatcher.topVirtualRowsCount,u=Math.floor(l);a%n!=0&&(u+=1);var d=r/i,c=Math.floor(d);r%i!=0&&(c+=1);var h=Math.floor(l+(0,f.getHeight)(t)/n),p=Math.floor(d+(0,f.getWidth)(t)/i),g=this._getAllCells(e),m=[];return g.each((function(e){var t=(0,s.default)(this),n=e%o,i=e/o;c<=n&&n<p&&u<=i&&i<h&&m.push(t)})),m},y.scrollToTime=function(e,t,n){if(this._isValidScrollDate(n)){var i=this._getScrollCoordinates(e,t,n),o=this.getScrollable();o.scrollBy({top:i.top-o.scrollTop(),left:0})}},y.scrollTo=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(this._isValidScrollDate(e,i)){var o=this._getGroupCount()&&t?this._getGroupIndexByResourceId(t):0,a=n&&this.isAllDayPanelVisible,r=this._getScrollCoordinates(e.getHours(),e.getMinutes(),e,o,a),s=this.getScrollable(),l=s.$element(),u=this.getCellWidth(),d=this.option(\"rtlEnabled\")?u:0,c=(0,f.getHeight)(l),h=(0,f.getWidth)(l),p=this.getCellHeight(),g=(h-u)/2,m=(c-p)/2,_=r.left-s.scrollLeft()-g-d,v=r.top-s.scrollTop()-m;a&&!this._isVerticalGroupedWorkSpace()&&(v=0),this.option(\"templatesRenderAsynchronously\")?setTimeout((function(){s.scrollBy({left:_,top:v})})):s.scrollBy({left:_,top:v})}},y._isValidScrollDate=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.getStartViewDate(),i=this.getEndViewDate();return!(e<n||e>i)||(t&&D.default.log(\"W1008\",e),!1)},y.needApplyCollectorOffset=function(){return!1},y.removeDroppableCellClass=function(e){var t=e||this._getDroppableCell();null==t||t.removeClass(\"dx-scheduler-date-table-droppable-cell\")},y._getCoordinatesByCell=function(e){var t=e.index()-this.virtualScrollingDispatcher.leftVirtualCellsCount,n=e.parent().index(),i=this._hasAllDayClass(e),o=this._isVerticalGroupedWorkSpace();return i&&!o||(n-=this.virtualScrollingDispatcher.topVirtualRowsCount),{rowIndex:n,columnIndex:t}},y._isShowAllDayPanel=function(){return this.option(\"showAllDayPanel\")},y._getTimePanelCells=function(){return this.$element().find(\".\".concat(\"dx-scheduler-time-panel-cell\"))},y._getRDateTableProps=function(){return{viewData:this.viewDataProvider.viewData,dataCellTemplate:this.option(\"dataCellTemplate\"),addDateTableClass:!this.option(\"crossScrollingEnabled\")||this.isVirtualScrolling(),groupOrientation:this.option(\"groupOrientation\"),addVerticalSizesClassToRows:!1}},y._updateSelectedCellDataOption=function(e,t){var n=e.map((function(e){return{startDate:e.startDate,endDate:e.endDate,allDay:e.allDay,groupIndex:e.groupIndex,groups:e.groups}}));this.option(\"selectedCellData\",n),this._selectionChangedAction({selectedCellData:n})},y._getCellByData=function(e){var t=e.startDate,n=e.groupIndex,i=e.allDay,o=e.index,a=this.viewDataProvider.findCellPositionInMap({startDate:t,groupIndex:n,isAllDay:i,index:o});if(a)return i&&!this._isVerticalGroupedWorkSpace()?this._dom_getAllDayPanelCell(a.columnIndex):this._dom_getDateCell(a)},y.getDOMElementsMetaData=function(){var e=this;return this.cache.get(\"cellElementsMeta\",(function(){return{dateTableCellsMeta:e._getDateTableDOMElementsInfo(),allDayPanelCellsMeta:e._getAllDayPanelDOMElementsInfo()}}))},y._getDateTableDOMElementsInfo=function(){var e=this,t=this._getAllCells(!1);if(!t.length||!(0,g.hasWindow)())return[[{}]];var n=this._getDateTable(),i=(0,h.getBoundingRect)(n.get(0)),o=this.viewDataProvider.getColumnsCount(),a=[];return t.each((function(t,n){var r=Math.floor(t/o);a.length===r&&a.push([]),e._addCellMetaData(a[r],n,i)})),a},y._getAllDayPanelDOMElementsInfo=function(){var e=this,t=[];if(this.isAllDayPanelVisible&&!this._isVerticalGroupedWorkSpace()&&(0,g.hasWindow)()){var n=this._getAllCells(!0);if(!n.length)return[{}];var i=this._$allDayPanel,o=(0,h.getBoundingRect)(i.get(0));n.each((function(n,i){e._addCellMetaData(t,i,o)}))}return t},y._addCellMetaData=function(e,t,n){var i=(0,h.getBoundingRect)(t);e.push({left:i.left-n.left,top:i.top-n.top,width:i.width,height:i.height})},y._oldRender_getAllDayCellData=function(e){var t=this;return function(n,i,o){var a=o%t._getCellCount(),r=t._getDateGenerationOptions(!0),s=t.viewDataProvider.viewDataGenerator.getDateByCellIndices(r,i,a,t._getCellCountInDay());s=d.default.trimTime(s);var l=e||0;t.isGroupedByDate()?l=Math.floor(o%t._getGroupCount()):t._isHorizontalGroupedWorkSpace()&&(l=Math.floor(o/t._getCellCount()));var u={startDate:s,endDate:s,allDay:!0,groupIndex:l},c=(0,H.getCellGroups)(l,t.option(\"groups\"));return c.length&&(u.groups=(0,H.getGroupsObjectFromGroupsArray)(c)),{key:\"dxCellData\",value:u}}},y.renderRWorkSpace=function(e){var t=null!=e?e:{header:!0,timePanel:!0,dateTable:!0,allDayPanel:!0};t.header&&this.renderRHeaderPanel(),t.timePanel&&this.renderRTimeTable(),t.dateTable&&this.renderRDateTable(),t.allDayPanel&&this.renderRAllDayPanel()},y.renderRDateTable=function(){F.utils.renovation.renderComponent(this,this._$dateTable,E.default,\"renovatedDateTable\",this._getRDateTableProps())},y.renderRGroupPanel=function(){var e,t={groups:this.option(\"groups\"),groupOrientation:this.option(\"groupOrientation\"),groupByDate:this.isGroupedByDate(),resourceCellTemplate:this.option(\"resourceCellTemplate\"),className:this.verticalGroupTableClass,groupPanelData:this.viewDataProvider.getGroupPanelData(this.generateRenderOptions())};(null===(e=this.option(\"groups\"))||void 0===e?void 0:e.length)?(this._attachGroupCountClass(),F.utils.renovation.renderComponent(this,this._getGroupHeaderContainer(),O.default,\"renovatedGroupPanel\",t)):this._detachGroupCountClass()},y.renderRAllDayPanel=function(){var e;if(this.isAllDayPanelVisible&&!this.isGroupedAllDayPanel()){this._toggleAllDayVisibility(!1);var t=Q({viewData:this.viewDataProvider.viewData,dataCellTemplate:this.option(\"dataCellTemplate\"),startCellIndex:0},(null===(e=this.virtualScrollingDispatcher.horizontalVirtualScrolling)||void 0===e?void 0:e.getRenderState())||{});F.utils.renovation.renderComponent(this,this._$allDayTable,I.default,\"renovatedAllDayPanel\",t),F.utils.renovation.renderComponent(this,this._$allDayTitle,T.default,\"renovatedAllDayPanelTitle\",{})}this._toggleAllDayVisibility(!0)},y.renderRTimeTable=function(){F.utils.renovation.renderComponent(this,this._$timePanel,P.default,\"renovatedTimePanel\",{timePanelData:this.viewDataProvider.timePanelData,timeCellTemplate:this.option(\"timeCellTemplate\"),groupOrientation:this.option(\"groupOrientation\")})},y.renderRHeaderPanel=function(){var e,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];(null===(e=this.option(\"groups\"))||void 0===e?void 0:e.length)?this._attachGroupCountClass():this._detachGroupCountClass(),F.utils.renovation.renderComponent(this,this._$thead,this.renovatedHeaderPanelComponent,\"renovatedHeaderPanel\",{dateHeaderData:this.viewDataProvider.dateHeaderData,groupPanelData:this.viewDataProvider.getGroupPanelData(this.generateRenderOptions()),dateCellTemplate:this.option(\"dateCellTemplate\"),timeCellTemplate:this.option(\"timeCellTemplate\"),groups:this.option(\"groups\"),groupByDate:this.isGroupedByDate(),groupOrientation:this.option(\"groupOrientation\"),resourceCellTemplate:this.option(\"resourceCellTemplate\"),isRenderDateHeader:t})},y.initDragBehavior=function(e){if(!this.dragBehavior&&e){this.dragBehavior=new R.default(e);var t=(0,s.default)(e.element());this._createDragBehavior(this.getWorkArea(),t),this._createDragBehavior(this._$allDayPanel,t)}},y._createDragBehavior=function(e,t){var n={getItemData:function(e,t){return t._getItemData(e)},getItemSettings:function(e){return e.data(L.APPOINTMENT_SETTINGS_KEY)}};this._createDragBehaviorBase(e,t,n)},y._createDragBehaviorBase=function(e,t,n){var i=this,o=this.$element().find(\".\".concat(B.FIXED_CONTAINER_CLASS));this.dragBehavior.addTo(e,_e(o,t,this.isDefaultDraggingMode,this.dragBehavior,(function(){i.isDefaultDraggingMode||(i.preventDefaultDragging=!1)}),(function(){i.isDefaultDraggingMode||(i.preventDefaultDragging=!0)}),(function(){return i._getDroppableCell()}),(function(){return i._getDateTables()}),(function(){return i.removeDroppableCellClass()}),(function(){return i.getCellWidth()}),n))},y._isRenderHeaderPanelEmptyCell=function(){return this._isVerticalGroupedWorkSpace()},y._dispose=function(){e.prototype._dispose.call(this),this.virtualScrollingDispatcher.dispose()},y._getDefaultOptions=function(){return(0,c.extend)(e.prototype._getDefaultOptions.call(this),{currentDate:new Date,intervalCount:1,startDate:null,firstDayOfWeek:void 0,startDayHour:0,endDayHour:24,hoursInterval:.5,activeStateEnabled:!0,hoverStateEnabled:!0,groups:[],showAllDayPanel:!0,allDayExpanded:!1,onCellClick:null,crossScrollingEnabled:!1,dataCellTemplate:null,timeCellTemplate:null,resourceCellTemplate:null,dateCellTemplate:null,allowMultipleCellSelection:!0,indicatorTime:new Date,indicatorUpdateInterval:5*ie(\"minute\"),shadeUntilCurrentTime:!0,groupOrientation:\"horizontal\",selectedCellData:[],groupByDate:!1,scrolling:{mode:\"standard\"},allDayPanelMode:\"all\",renovateRender:!0,height:void 0,draggingMode:\"outlook\",onScrollEnd:function(){},getHeaderHeight:void 0,onRenderAppointments:function(){},onShowAllDayPanel:function(){},onSelectedCellsClick:function(){},timeZoneCalculator:void 0,schedulerHeight:void 0,schedulerWidth:void 0})},y._optionChanged=function(t){switch(t.name){case\"startDayHour\":(0,S.validateDayHours)(t.value,this.option(\"endDayHour\")),this._cleanWorkSpace();break;case\"endDayHour\":(0,S.validateDayHours)(this.option(\"startDayHour\"),t.value),this._cleanWorkSpace();break;case\"dateCellTemplate\":case\"resourceCellTemplate\":case\"dataCellTemplate\":case\"timeCellTemplate\":case\"hoursInterval\":case\"firstDayOfWeek\":case\"currentDate\":case\"startDate\":this._cleanWorkSpace();break;case\"groups\":this._cleanView(),this._removeAllDayElements(),this._initGrouping(),this.repaint();break;case\"groupOrientation\":this._initGroupedStrategy(),this._createAllDayPanelElements(),this._removeAllDayElements(),this._cleanWorkSpace(),this._toggleGroupByDateClass();break;case\"showAllDayPanel\":this._isVerticalGroupedWorkSpace()?(this._cleanView(),this._removeAllDayElements(),this._initGrouping(),this.repaint()):this.isRenovatedRender()?this.renderWorkSpace():this._toggleAllDayVisibility(!0);break;case\"allDayExpanded\":this._changeAllDayVisibility(),this._attachTablesEvents(),this._updateScrollable();break;case\"onSelectionChanged\":this._createSelectionChangedAction();break;case\"onCellClick\":this._createCellClickAction();break;case\"onCellContextMenu\":this._attachContextMenuEvent();break;case\"intervalCount\":this._cleanWorkSpace(),this._toggleWorkSpaceCountClass();break;case\"groupByDate\":this._cleanWorkSpace(),this._toggleGroupByDateClass();break;case\"crossScrollingEnabled\":this._toggleHorizontalScrollClass(),this._dateTableScrollable.option(this._dateTableScrollableConfig());break;case\"allDayPanelMode\":this.updateShowAllDayPanel(),this.updateAppointments();break;case\"width\":e.prototype._optionChanged.call(this,t),this._dimensionChanged();break;case\"timeZoneCalculator\":case\"allowMultipleCellSelection\":case\"selectedCellData\":break;case\"renovateRender\":case\"scrolling\":this.repaint();break;case\"schedulerHeight\":case\"schedulerWidth\":this.virtualScrollingDispatcher.updateDimensions(!0);break;default:e.prototype._optionChanged.call(this,t)}},y.updateShowAllDayPanel=function(){var e=\"hidden\"===this.option(\"allDayPanelMode\");this.option(\"onShowAllDayPanel\")(!e)},y._getVirtualScrollingDispatcherOptions=function(){var e=this;return{getCellHeight:this.getCellHeight.bind(this),getCellWidth:this.getCellWidth.bind(this),getCellMinWidth:this.getCellMinWidth.bind(this),isRTL:this._isRTL.bind(this),getSchedulerHeight:function(){return e.option(\"schedulerHeight\")},getSchedulerWidth:function(){return e.option(\"schedulerWidth\")},getViewHeight:function(){return e.$element().height?e.$element().height():(0,f.getHeight)(e.$element())},getViewWidth:function(){return e.$element().width?e.$element().width():(0,f.getWidth)(e.$element())},getWindowHeight:function(){return(0,g.getWindow)().innerHeight},getWindowWidth:function(){return(0,g.getWindow)().innerWidth},getScrolling:function(){return e.option(\"scrolling\")},getScrollableOuterWidth:this.getScrollableOuterWidth.bind(this),getScrollable:this.getScrollable.bind(this),createAction:this._createAction.bind(this),updateRender:this.updateRender.bind(this),updateGrid:this.updateGrid.bind(this),getGroupCount:this._getGroupCount.bind(this),isVerticalGrouping:this._isVerticalGroupedWorkSpace.bind(this),getTotalRowCount:this._getTotalRowCount.bind(this),getTotalCellCount:this._getTotalCellCount.bind(this)}},y._cleanWorkSpace=function(){this._cleanView(),this._toggleGroupedClass(),this._toggleWorkSpaceWithOddCells(),this.virtualScrollingDispatcher.updateDimensions(!0),this._renderView(),this.option(\"crossScrollingEnabled\")&&this._setTableSizes(),this.cache.clear()},y._init=function(){this._scrollSync={},this._viewDataProvider=null,this._cellsSelectionState=null,this._activeStateUnit=ge,e.prototype._init.call(this),this._initGrouping(),this._toggleHorizontalScrollClass(),this._toggleWorkSpaceCountClass(),this._toggleGroupByDateClass(),this._toggleWorkSpaceWithOddCells(),this.$element().addClass(\"dx-scheduler-work-space\").addClass(this._getElementClass())},y._initPositionHelper=function(){this.positionHelper=new z.PositionHelper({key:this.option(\"key\"),viewDataProvider:this.viewDataProvider,viewStartDayHour:this.option(\"startDayHour\"),viewEndDayHour:this.option(\"endDayHour\"),cellDuration:this.getCellDuration(),groupedStrategy:this._groupedStrategy,isGroupedByDate:this.isGroupedByDate(),rtlEnabled:this.option(\"rtlEnabled\"),startViewDate:this.getStartViewDate(),isVerticalGrouping:this._isVerticalGroupedWorkSpace(),groupCount:this._getGroupCount(),isVirtualScrolling:this.isVirtualScrolling(),getDOMMetaDataCallback:this.getDOMElementsMetaData.bind(this)})},y._initGrouping=function(){this._initGroupedStrategy(),this._toggleGroupingDirectionClass(),this._toggleGroupByDateClass()},y.isVerticalOrientation=function(){var e;return\"vertical\"===((null===(e=this.option(\"groups\"))||void 0===e?void 0:e.length)?this.option(\"groupOrientation\"):this._getDefaultGroupStrategy())},y._initGroupedStrategy=function(){var e=this.isVerticalOrientation()?U.default:$.default;this._groupedStrategy=new e(this)},y._getDefaultGroupStrategy=function(){return\"horizontal\"},y._toggleHorizontalScrollClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-both-scrollbar\",this.option(\"crossScrollingEnabled\"))},y._toggleGroupByDateClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-group-by-date\",this.isGroupedByDate())},y._toggleWorkSpaceCountClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-count\",this._isWorkSpaceWithCount())},y._toggleWorkSpaceWithOddCells=function(){this.$element().toggleClass(\"dx-scheduler-work-space-odd-cells\",this._isWorkspaceWithOddCells())},y._toggleGroupingDirectionClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-vertical-grouped\",this._isVerticalGroupedWorkSpace())},y._getDateTableCellClass=function(e,t){var n=\"\".concat(ae,\" \").concat(\"dx-scheduler-cell-sizes-horizontal\",\" \").concat(\"dx-scheduler-cell-sizes-vertical\");return this._groupedStrategy.addAdditionalGroupCellClasses(n,t+1,e,t)},y._getGroupHeaderClass=function(e){return this._groupedStrategy.addAdditionalGroupCellClasses(\"dx-scheduler-group-header\",e+1)},y._initWorkSpaceUnits=function(){this._$headerPanelContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-header-panel-container\"),this._$headerTablesContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-header-tables-container\"),this._$headerPanel=(0,s.default)(\"<table>\"),this._$thead=(0,s.default)(\"<thead>\").appendTo(this._$headerPanel),this._$headerPanelEmptyCell=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-header-panel-empty-cell\"),this._$allDayTable=(0,s.default)(\"<table>\"),this._$fixedContainer=(0,s.default)(\"<div>\").addClass(B.FIXED_CONTAINER_CLASS),this._$allDayContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-appointments\"),this._$dateTableScrollableContent=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable-content\"),this._$sidebarScrollableContent=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-side-bar-scrollable-content\"),this._initAllDayPanelElements(),this.isRenovatedRender()?this.createRAllDayPanelElements():this._createAllDayPanelElements(),this._$timePanel=(0,s.default)(\"<table>\").addClass(B.TIME_PANEL_CLASS),this._$dateTable=(0,s.default)(\"<table>\"),this._$dateTableContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-date-table-container\"),this._$groupTable=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-work-space-vertical-group-table\")},y._initAllDayPanelElements=function(){this._allDayTitles=[],this._allDayTables=[],this._allDayPanels=[]},y._initDateTableScrollable=function(){var e=this,t=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-date-table-scrollable\");this._dateTableScrollable=this._createComponent(t,k.default,this._dateTableScrollableConfig()),this._scrollSync.dateTable=(0,C.getMemoizeScrollTo)((function(){return e._dateTableScrollable}))},y._createWorkSpaceElements=function(){this.option(\"crossScrollingEnabled\")?this._createWorkSpaceScrollableElements():this._createWorkSpaceStaticElements()},y._createWorkSpaceStaticElements=function(){var e;this._$dateTableContainer.append(this._$dateTable),this._isVerticalGroupedWorkSpace()?(this._$dateTableContainer.append(this._$allDayContainer),this._$dateTableScrollableContent.append(this._$groupTable,this._$timePanel,this._$dateTableContainer),this._dateTableScrollable.$content().append(this._$dateTableScrollableContent),this._$headerTablesContainer.append(this._$headerPanel)):(this._$dateTableScrollableContent.append(this._$timePanel,this._$dateTableContainer),this._dateTableScrollable.$content().append(this._$dateTableScrollableContent),this._$headerTablesContainer.append(this._$headerPanel,this._$allDayPanel),null===(e=this._$allDayPanel)||void 0===e||e.append(this._$allDayContainer,this._$allDayTable)),this._appendHeaderPanelEmptyCellIfNecessary(),this._$headerPanelContainer.append(this._$headerTablesContainer),this.$element().append(this._$fixedContainer,this._$headerPanelContainer,this._dateTableScrollable.$element())},y._createWorkSpaceScrollableElements=function(){var e;this.$element().append(this._$fixedContainer),this._$flexContainer=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-work-space-flex-container\"),this._createHeaderScrollable(),this._headerScrollable.$content().append(this._$headerPanel),this._appendHeaderPanelEmptyCellIfNecessary(),this._$headerPanelContainer.append(this._$headerTablesContainer),this.$element().append(this._$headerPanelContainer),this.$element().append(this._$flexContainer),this._createSidebarScrollable(),this._$flexContainer.append(this._dateTableScrollable.$element()),this._$dateTableContainer.append(this._$dateTable),this._$dateTableScrollableContent.append(this._$dateTableContainer),this._dateTableScrollable.$content().append(this._$dateTableScrollableContent),this._isVerticalGroupedWorkSpace()?(this._$dateTableContainer.append(this._$allDayContainer),this._$sidebarScrollableContent.append(this._$groupTable,this._$timePanel)):(this._headerScrollable.$content().append(this._$allDayPanel),null===(e=this._$allDayPanel)||void 0===e||e.append(this._$allDayContainer,this._$allDayTable),this._$sidebarScrollableContent.append(this._$timePanel)),this._sidebarScrollable.$content().append(this._$sidebarScrollableContent)},y._appendHeaderPanelEmptyCellIfNecessary=function(){this._isRenderHeaderPanelEmptyCell()&&this._$headerPanelContainer.append(this._$headerPanelEmptyCell)},y._createHeaderScrollable=function(){var e=this,t=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-header-scrollable\").appendTo(this._$headerTablesContainer);this._headerScrollable=this._createComponent(t,k.default,this._headerScrollableConfig()),this._scrollSync.header=(0,C.getMemoizeScrollTo)((function(){return e._headerScrollable}))},y._createSidebarScrollable=function(){var e=this,t=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-sidebar-scrollable\").appendTo(this._$flexContainer);this._sidebarScrollable=this._createComponent(t,k.default,{useKeyboard:!1,showScrollbar:\"never\",direction:\"vertical\",useNative:!1,updateManually:!0,bounceEnabled:!1,onScroll:function(t){e._scrollSync.dateTable({top:t.scrollOffset.top})}}),this._scrollSync.sidebar=(0,C.getMemoizeScrollTo)((function(){return e._sidebarScrollable}))},y._attachTableClasses=function(){if(this._addTableClass(this._$dateTable,B.DATE_TABLE_CLASS),this._isVerticalGroupedWorkSpace())for(var e=this._getGroupCount(),t=0;t<e;t++)this._addTableClass(this._allDayTables[t],\"dx-scheduler-all-day-table\");else this.isRenovatedRender()||this._addTableClass(this._$allDayTable,\"dx-scheduler-all-day-table\")},y._attachHeaderTableClasses=function(){this._addTableClass(this._$headerPanel,\"dx-scheduler-header-panel\")},y._addTableClass=function(e,t){e&&!e.hasClass(t)&&e.addClass(t)},y._initMarkup=function(){this.cache.clear(),this._initWorkSpaceUnits(),this._initVirtualScrolling(),this._initDateTableScrollable(),this._createWorkSpaceElements(),e.prototype._initMarkup.call(this),this.option(\"crossScrollingEnabled\")||(this._attachTableClasses(),this._attachHeaderTableClasses()),this._toggleGroupedClass(),this._renderView(),this._attachEvents()},y._render=function(){e.prototype._render.call(this),this._renderDateTimeIndication(),this._setIndicationUpdateInterval()},y._toggleGroupedClass=function(){this.$element().toggleClass(\"dx-scheduler-work-space-grouped\",this._getGroupCount()>0)},y._renderView=function(){this.isRenovatedRender()?this._isVerticalGroupedWorkSpace()&&this.renderRGroupPanel():this._applyCellTemplates(this._renderGroupHeader()),this.renderWorkSpace(),this.isRenovatedRender()&&this.virtualScrollingDispatcher.updateDimensions(),this._updateGroupTableHeight(),this.updateHeaderEmptyCellWidth(),this._shader=new N.default(this)},y.updateCellsSelection=function(){var e=this.generateRenderOptions();this.viewDataProvider.updateViewData(e),this.renderRWorkSpace({timePanel:!0,dateTable:!0,allDayPanel:!0})},y._renderDateTimeIndication=function(){return(0,l.noop)()},y._setIndicationUpdateInterval=function(){return(0,l.noop)()},y._refreshDateTimeIndication=function(){return(0,l.noop)()},y._detachGroupCountClass=function(){var e=this;Y(B.VERTICAL_GROUP_COUNT_CLASSES).forEach((function(t){e.$element().removeClass(t)}))},y._attachGroupCountClass=function(){var e=this._groupedStrategy.getGroupCountClass(this.option(\"groups\"));this.$element().addClass(e)},y._getDateHeaderTemplate=function(){return this.option(\"dateCellTemplate\")},y._toggleAllDayVisibility=function(e){var t=this._isShowAllDayPanel();this.$element().toggleClass(\"dx-scheduler-work-space-all-day\",t),this._changeAllDayVisibility(),e&&this._updateScrollable()},y._changeAllDayVisibility=function(){this.cache.clear(),this.$element().toggleClass(\"dx-scheduler-work-space-all-day-collapsed\",!this.option(\"allDayExpanded\")&&this._isShowAllDayPanel())},y._getDateTables=function(){return this._$dateTable.add(this._$allDayTable)},y._getDateTable=function(){return this._$dateTable},y._removeAllDayElements=function(){this._$allDayTable&&this._$allDayTable.remove(),this._$allDayTitle&&this._$allDayTitle.remove()},y._cleanView=function(){var e,t,n;this.cache.clear(),this._cleanTableWidths(),this.cellsSelectionState.clearSelectedAndFocusedCells(),this.isRenovatedRender()||(this._$thead.empty(),this._$dateTable.empty(),this._$timePanel.empty(),this._$groupTable.empty(),null===(e=this._$allDayTable)||void 0===e||e.empty(),null===(t=this._$sidebarTable)||void 0===t||t.empty()),null===(n=this._shader)||void 0===n||n.clean(),delete this._interval},y._clean=function(){v.default.off(a.default.getDocument(),de),this._disposeRenovatedComponents(),e.prototype._clean.call(this)},y._cleanTableWidths=function(){this._$headerPanel.css(\"width\",\"\"),this._$dateTable.css(\"width\",\"\"),this._$allDayTable&&this._$allDayTable.css(\"width\",\"\")},y._disposeRenovatedComponents=function(){var e,t,n,i,o;null===(e=this.renovatedAllDayPanel)||void 0===e||e.dispose(),this.renovatedAllDayPanel=void 0,null===(t=this.renovatedDateTable)||void 0===t||t.dispose(),this.renovatedDateTable=void 0,null===(n=this.renovatedTimePanel)||void 0===n||n.dispose(),this.renovatedTimePanel=void 0,null===(i=this.renovatedGroupPanel)||void 0===i||i.dispose(),this.renovatedGroupPanel=void 0,null===(o=this.renovatedHeaderPanel)||void 0===o||o.dispose(),this.renovatedHeaderPanel=void 0},y.getGroupedStrategy=function(){return this._groupedStrategy},y.getFixedContainer=function(){return this._$fixedContainer},y.getAllDayContainer=function(){return this._$allDayContainer},y.updateRender=function(){this.renderer.updateRender()},y.updateGrid=function(){this.renderer._renderGrid()},y.updateAppointments=function(){var e;this.option(\"onRenderAppointments\")(),null===(e=this.dragBehavior)||void 0===e||e.updateDragSource()},y._createAllDayPanelElements=function(){var e=this._getGroupCount();if(this._isVerticalGroupedWorkSpace()&&0!==e)for(var t=0;t<e;t++){var n=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-title\").text(w.default.format(\"dxScheduler-allDay\"));this._allDayTitles.push(n),this._$allDayTable=(0,s.default)(\"<table>\"),this._allDayTables.push(this._$allDayTable),this._$allDayPanel=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-panel\").append(this._$allDayTable),this._allDayPanels.push(this._$allDayPanel)}else this._$allDayTitle=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-title\").text(w.default.format(\"dxScheduler-allDay\")).appendTo(this.$element()),this._$allDayTable=(0,s.default)(\"<table>\"),this._$allDayPanel=(0,s.default)(\"<div>\").addClass(\"dx-scheduler-all-day-panel\").append(this._$allDayTable)},y.renderWorkSpace=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.cache.clear(),this.viewDataProvider.update(this.generateRenderOptions(),e),this.isRenovatedRender()?this.renderRWorkSpace():(this._renderDateHeader(),this._renderTimePanel(),this._renderGroupAllDayPanel(),this._renderDateTable(),this._renderAllDayPanel()),this._initPositionHelper()},y._renderGroupHeader=function(){var e=this._getGroupHeaderContainer(),t=[];if(this._getGroupCount()){var n=this._makeGroupRows(this.option(\"groups\"),this.option(\"groupByDate\"));this._attachGroupCountClass(),e.append(n.elements),t=n.cellTemplates}else this._detachGroupCountClass();return t},y._applyCellTemplates=function(e){null==e||e.forEach((function(e){e()}))},y._makeGroupRows=function(e,t){var n=this._isVerticalGroupedWorkSpace()?te.VERTICAL:te.HORIZONTAL;return te.makeGroupedTable(n,e,{groupHeaderRowClass:B.GROUP_ROW_CLASS,groupRowClass:B.GROUP_ROW_CLASS,groupHeaderClass:this._getGroupHeaderClass.bind(this),groupHeaderContentClass:B.GROUP_HEADER_CONTENT_CLASS},this._getCellCount()||1,this.option(\"resourceCellTemplate\"),this._getGroupCount(),t)},y._renderDateHeader=function(){var e=this._getDateHeaderContainer(),t=(0,s.default)(\"<tr>\").addClass(\"dx-scheduler-header-row\"),n=this._getCellCount(),i=this._getDateHeaderTemplate(),o=this._getCalculateHeaderCellRepeatCount(),a=[],r=this.isGroupedByDate();if(r){for(var l=r?this._getGroupCount():1,u=0;u<n;u++){var d=u*o;this._renderDateHeaderTemplate(t,u,d,i,a).attr(\"colSpan\",l)}e.prepend(t)}else{for(var c=0;c<o;c++)for(var h=0;h<n;h++){var f=c*n+h;this._renderDateHeaderTemplate(t,h,f,i,a)}e.append(t)}return this._applyCellTemplates(a),t},y._renderDateHeaderTemplate=function(e,t,n,i,o){var a=this.isGroupedByDate()?Math.floor(n/this._getGroupCount()):n,l=this.viewDataProvider.completeDateHeaderMap,u=l[l.length-1][a],d=u.text,c=u.startDate,h=(0,s.default)(\"<th>\").addClass(this._getHeaderPanelCellClass(t)).attr(\"title\",d);return(null==i?void 0:i.render)?o.push(i.render.bind(i,{model:Q({text:d,date:c},this._getGroupsForDateHeaderTemplate(n)),index:n,container:(0,r.getPublicElement)(h)})):h.text(d),e.append(h),h},y._getGroupsForDateHeaderTemplate=function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this._isHorizontalGroupedWorkSpace()&&!this.isGroupedByDate()){t=this._getGroupIndex(0,e*i);var o=(0,H.getCellGroups)(t,this.option(\"groups\"));n=(0,H.getGroupsObjectFromGroupsArray)(o)}return{groups:n,groupIndex:t}},y._getHeaderPanelCellClass=function(e){var t=\"\".concat(\"dx-scheduler-header-panel-cell\",\" \").concat(\"dx-scheduler-cell-sizes-horizontal\");return this._groupedStrategy.addAdditionalGroupCellClasses(t,e+1,void 0,void 0,this.isGroupedByDate())},y._renderAllDayPanel=function(e){var t=this._getCellCount();this._isVerticalGroupedWorkSpace()||(t*=this._getGroupCount()||1);var n=this._renderTableBody({container:this._allDayPanels.length?(0,r.getPublicElement)(this._allDayTables[e]):(0,r.getPublicElement)(this._$allDayTable),rowCount:1,cellCount:t,cellClass:this._getAllDayPanelCellClass.bind(this),rowClass:\"dx-scheduler-all-day-table-row\",cellTemplate:this.option(\"dataCellTemplate\"),getCellData:this._oldRender_getAllDayCellData(e),groupIndex:e},!0);this._toggleAllDayVisibility(!0),this._applyCellTemplates(n)},y._renderGroupAllDayPanel=function(){if(this._isVerticalGroupedWorkSpace())for(var e=this._getGroupCount(),t=0;t<e;t++)this._renderAllDayPanel(t)},y._getAllDayPanelCellClass=function(e,t){var n=\"\".concat(oe,\" \").concat(\"dx-scheduler-cell-sizes-horizontal\");return this._groupedStrategy.addAdditionalGroupCellClasses(n,t+1)},y._renderTimePanel=function(){var e=this,t=this._groupedStrategy.calculateTimeCellRepeatCount(),n=function(t,n){var i=0;e.isAllDayPanelVisible&&(i=1),e.isGroupedAllDayPanel()&&(i=Math.ceil((t+1)/e._getRowCount()));var o=t+i;return e.viewDataProvider.completeTimePanelMap[o][n]};this._renderTableBody({container:(0,r.getPublicElement)(this._$timePanel),rowCount:this._getTimePanelRowCount()*t,cellCount:1,cellClass:this._getTimeCellClass.bind(this),rowClass:\"dx-scheduler-time-panel-row\",cellTemplate:this.option(\"timeCellTemplate\"),getCellText:function(e){return n(e,\"text\")},getCellDate:function(e){return n(e,\"startDate\")},groupCount:this._getGroupCount(),allDayElements:this._insertAllDayRowsIntoDateTable()?this._allDayTitles:void 0,getTemplateData:function(t){if(!e._isVerticalGroupedWorkSpace())return{};var n=e._getGroupIndex(t,0),i=(0,H.getCellGroups)(n,e.option(\"groups\"));return{groupIndex:n,groups:(0,H.getGroupsObjectFromGroupsArray)(i)}}.bind(this)})},y._getTimeCellClass=function(e){var t=\"\".concat(\"dx-scheduler-time-panel-cell\",\" \").concat(\"dx-scheduler-cell-sizes-vertical\");return this._isVerticalGroupedWorkSpace()?this._groupedStrategy.addAdditionalGroupCellClasses(t,e,e):t},y._renderDateTable=function(){var e=this,t=this._getGroupCount();this._renderTableBody({container:(0,r.getPublicElement)(this._$dateTable),rowCount:this._getTotalRowCount(t),cellCount:this._getTotalCellCount(t),cellClass:this._getDateTableCellClass.bind(this),rowClass:B.DATE_TABLE_ROW_CLASS,cellTemplate:this.option(\"dataCellTemplate\"),getCellData:function(t,n,i){var o=n;if(e.isGroupedAllDayPanel()){var a=e._getRowCount();o+=Math.ceil(n/a)}var r=e.viewDataProvider.viewDataMap.dateTableMap[o][i].cellData;return{value:e._filterCellDataFields(r),fullValue:r,key:\"dxCellData\"}},allDayElements:this._insertAllDayRowsIntoDateTable()?this._allDayPanels:void 0,groupCount:t,groupByDate:this.option(\"groupByDate\")})},y._insertAllDayRowsIntoDateTable=function(){return this._groupedStrategy.insertAllDayRowsIntoDateTable()},y._renderTableBody=function(e,t){var n=[];return t?n=te.makeTable(e):this._applyCellTemplates(te.makeTable(e)),n},o=i,(u=[{key:\"type\",get:function(){return\"\"}},{key:\"viewDataProvider\",get:function(){return this._viewDataProvider||(this._viewDataProvider=new K.default(this.type)),this._viewDataProvider}},{key:\"cache\",get:function(){return this._cache||(this._cache=new j.Cache),this._cache}},{key:\"cellsSelectionState\",get:function(){var e=this;if(!this._cellsSelectionState){this._cellsSelectionState=new G.default(this.viewDataProvider);var t=this.option(\"selectedCellData\");if((null==t?void 0:t.length)>0){var n=t.map((function(t){var n=t.groups;if(!n||0===e._getGroupCount())return Q(Q({},t),{groupIndex:0});var i=e._getGroupIndexByResourceId(n);return Q(Q({},t),{groupIndex:i})}));this._cellsSelectionState.setSelectedCellsByData(n)}}return this._cellsSelectionState}},{key:\"cellsSelectionController\",get:function(){return this._cellsSelectionController||(this._cellsSelectionController=new W.CellsSelectionController),this._cellsSelectionController}},{key:\"isAllDayPanelVisible\",get:function(){return this._isShowAllDayPanel()&&this.supportAllDayRow()}},{key:\"verticalGroupTableClass\",get:function(){return\"dx-scheduler-work-space-vertical-group-table\"}},{key:\"renovatedHeaderPanelComponent\",get:function(){return A.default}},{key:\"timeZoneCalculator\",get:function(){return this.option(\"timeZoneCalculator\")}},{key:\"isDefaultDraggingMode\",get:function(){return\"default\"===this.option(\"draggingMode\")}}])&&J(o.prototype,u),m&&J(o,m),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(M.default),_e=function(e,t,n,i,r,l,d,c,p,g,m){var _={dragElement:void 0,itemData:void 0},v=function(){var e=_.itemData;return!e||(0,u.compileGetter)(\"disabled\")(e)};return{container:e,dragTemplate:function(){return _.dragElement},onDragStart:function(e){n||l();var t=e.cancel,a=e.event,r=(0,s.default)(e.itemElement),u=e.component._appointments;_.itemData=m.getItemData(e.itemElement,u);var d=m.getItemSettings(r,e),c=m.initialPosition;v()||(a.data=a.data||{},t||(d.isCompact||i.updateDragSource(_.itemData,d),_.dragElement=function(e,t,n){var i=n.option(\"items\").length;return t.isCompact=!1,t.virtual=!1,n._renderItem(i,{itemData:e,settings:[t]})[0]}(_.itemData,d,u),a.data.itemElement=_.dragElement,a.data.initialPosition=null!=c?c:(0,o.locate)((0,s.default)(_.dragElement)),a.data.itemData=_.itemData,a.data.itemSettings=d,i.onDragStart(a.data),(0,o.resetPosition)((0,s.default)(_.dragElement))))},onDragMove:function(){if(!n){var e,i,o,r,l,u,m,v=(e=(0,f.getWidth)(_.dragElement),i=e>g(),o=e<=10,r=(0,s.default)(_.dragElement).parent(),l=(0,h.getBoundingRect)(r.get(0)),u=l.left,m=l.top,i?a.default.elementsFromPoint(u+10,m+10):o?a.default.elementsFromPoint(u,m):a.default.elementsFromPoint(u+e/2,m+10)),y=!!v.find((function(e){return e===t.get(0)})),b=c(),x=v.find((function(e){var t=e.classList;return 1===b.find(e).length&&(t.contains(ae)||t.contains(oe))}));x?(d().is(x)||p(),(0,s.default)(x).addClass(\"dx-scheduler-date-table-droppable-cell\")):y||p()}},onDragEnd:function(e){var t;n||r(),v()||i.onDragEnd(e),null===(t=_.dragElement)||void 0===t||t.remove(),p()},cursorOffset:m.isSetCursorOffset?function(){var e=(0,s.default)(_.dragElement);return{x:(0,f.getWidth)(e)/2,y:(0,f.getHeight)(e)/2}}:void 0,filter:m.filter}},ve=me;t.default=ve},74228:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=s(n(99393)),a=n(6324),r=s(n(2986));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o,r,s,d=i.prototype;return d._getElementClass=function(){return\"dx-scheduler-work-space-day\"},d._renderDateHeader=function(){return 1===this.option(\"intervalCount\")?null:e.prototype._renderDateHeader.call(this)},d.renderRHeaderPanel=function(){1===this.option(\"intervalCount\")?e.prototype.renderRHeaderPanel.call(this,!1):e.prototype.renderRHeaderPanel.call(this,!0)},o=i,(r=[{key:\"type\",get:function(){return a.VIEWS.DAY}}])&&l(o.prototype,r),s&&l(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.default);(0,o.default)(\"dxSchedulerWorkSpaceDay\",d);var c=d;t.default=c},48854:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(37518),o=n(43600),a=function(){function e(e){this._workSpace=e}var t=e.prototype;return t.prepareCellIndexes=function(e,t,n){return this._workSpace.isGroupedByDate()?{rowIndex:e.rowIndex,columnIndex:e.columnIndex*this._workSpace._getGroupCount()+t}:{rowIndex:e.rowIndex,columnIndex:e.columnIndex+t*this._workSpace._getCellCount()}},t.getGroupIndex=function(e,t){var n=this._workSpace.isGroupedByDate(),i=this._workSpace._getGroupCount();return n?t%i:Math.floor(t/this._workSpace._getCellCount())},t.calculateHeaderCellRepeatCount=function(){return this._workSpace._getGroupCount()||1},t.insertAllDayRowsIntoDateTable=function(){return!1},t.getTotalCellCount=function(e){return e=e||1,this._workSpace._getCellCount()*e},t.getTotalRowCount=function(){return this._workSpace._getRowCount()},t.calculateTimeCellRepeatCount=function(){return 1},t.getWorkSpaceMinWidth=function(){return(0,i.getBoundingRect)(this._workSpace.$element().get(0)).width-this._workSpace.getTimePanelWidth()},t.getAllDayOffset=function(){return this._workSpace.getAllDayHeight()},t.getGroupCountClass=function(e){},t.getLeftOffset=function(){return this._workSpace.getTimePanelWidth()},t._createGroupBoundOffset=function(e,t,n){var i=n/2;return{left:e?e.offset().left-i:0,right:t?t.offset().left+n+i:0,top:0,bottom:0}},t._getGroupedByDateBoundOffset=function(e,t){var n=e.length-1,i=e.eq(0),o=e.eq(n);return this._createGroupBoundOffset(i,o,t)},t.getGroupBoundsOffset=function(e,t,n,i,o){if(this._workSpace.isGroupedByDate())return this._getGroupedByDateBoundOffset(t,n);var a,r,s=this._workSpace.getCellIndexByCoordinates(i),l=i.groupIndex||Math.floor(s/e),u=o.dateTableGroupedMap[l];if(u){var d=u[0].length,c=u[0][0].position,h=u[0][d-1].position;a=t.eq(c.columnIndex),r=t.eq(h.columnIndex)}return this._createGroupBoundOffset(a,r,n)},t.shiftIndicator=function(e,t,n,i){var o=this._getIndicatorOffset(i),a=n?n-o:o;e.css(\"left\",a),e.css(\"top\",t)},t._getIndicatorOffset=function(e){return this._workSpace.isGroupedByDate()?this._calculateGroupByDateOffset(e):this._calculateOffset(e)},t._calculateOffset=function(e){return this._workSpace.getIndicatorOffset(e)+this._workSpace._getCellCount()*this._workSpace.getRoundedCellWidth(e-1,0)*e},t._calculateGroupByDateOffset=function(e){return this._workSpace.getIndicatorOffset(0)*this._workSpace._getGroupCount()+this._workSpace.getRoundedCellWidth(e-1,0)*e},t.getShaderOffset=function(e,t){var n=this._workSpace._getCellCount()*this._workSpace.getRoundedCellWidth(e-1)*e;return this._workSpace.option(\"rtlEnabled\")?(0,i.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).width-n-this._workSpace.getTimePanelWidth()-t:n},t.getShaderTopOffset=function(e){return-this.getShaderMaxHeight()*(e>0?1:0)},t.getShaderHeight=function(){return this._workSpace.getIndicationHeight()},t.getShaderMaxHeight=function(){return(0,i.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).height},t.getShaderWidth=function(e){return this._workSpace.getIndicationWidth(e)},t.getScrollableScrollTop=function(e){return e?0:this._workSpace.getScrollable().scrollTop()},t.addAdditionalGroupCellClasses=function(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return e=this._addLastGroupCellClass(e,t,o),this._addFirstGroupCellClass(e,t,o)},t._addLastGroupCellClass=function(e,t,n){if(n)return\"\".concat(e,\" \").concat(o.LAST_GROUP_CELL_CLASS);if(this._workSpace.isGroupedByDate()){if(t%this._workSpace._getGroupCount()==0)return\"\".concat(e,\" \").concat(o.LAST_GROUP_CELL_CLASS)}else if(t%this._workSpace._getCellCount()==0)return\"\".concat(e,\" \").concat(o.LAST_GROUP_CELL_CLASS);return e},t._addFirstGroupCellClass=function(e,t,n){if(n)return\"\".concat(e,\" \").concat(o.FIRST_GROUP_CELL_CLASS);if(this._workSpace.isGroupedByDate()){if((t-1)%this._workSpace._getGroupCount()==0)return\"\".concat(e,\" \").concat(o.FIRST_GROUP_CELL_CLASS)}else if((t-1)%this._workSpace._getCellCount()==0)return\"\".concat(e,\" \").concat(o.FIRST_GROUP_CELL_CLASS);return e},e}();t.default=a},2862:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(37518),o=n(45985),a=n(43600),r=n(14553);function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e,t)||function(){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 l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var u=function(){function e(e){this._workSpace=e,this.cache=new r.Cache}var t=e.prototype;return t.prepareCellIndexes=function(e,t,n){var i=e.rowIndex+t*this._workSpace._getRowCount();return this._workSpace.supportAllDayRow()&&this._workSpace.option(\"showAllDayPanel\")&&(i+=t,n||(i+=1)),{rowIndex:i,columnIndex:e.columnIndex}},t.getGroupIndex=function(e){return Math.floor(e/this._workSpace._getRowCount())},t.calculateHeaderCellRepeatCount=function(){return 1},t.insertAllDayRowsIntoDateTable=function(){return this._workSpace.option(\"showAllDayPanel\")},t.getTotalCellCount=function(){return this._workSpace._getCellCount()},t.getTotalRowCount=function(){return this._workSpace._getRowCount()*this._workSpace._getGroupCount()},t.calculateTimeCellRepeatCount=function(){return this._workSpace._getGroupCount()||1},t.getWorkSpaceMinWidth=function(){var e=this._workSpace._getWorkSpaceWidth(),t=(0,i.getBoundingRect)(this._workSpace.$element().get(0)).width-this._workSpace.getTimePanelWidth()-this._workSpace.getGroupTableWidth()-2;return e<t&&(e=t),e},t.getAllDayOffset=function(){return 0},t.getGroupCountClass=function(e){return(0,o.getVerticalGroupCountClass)(e)},t.getLeftOffset=function(){return this._workSpace.getTimePanelWidth()+this._workSpace.getGroupTableWidth()},t.getGroupBoundsOffset=function(e,t){var n=this,a=s(t,2),r=a[0],l=a[1];return this.cache.get(\"groupBoundsOffset\".concat(e),(function(){var t=n._workSpace.option(\"startDayHour\"),a=n._workSpace.option(\"endDayHour\"),s=n._workSpace.option(\"hoursInterval\"),u=(0,o.calculateDayDuration)(t,a)/s*n._workSpace.getCellHeight(),d=n.getScrollableScrollTop(),c=e*u+(0,i.getBoundingRect)(n._workSpace._$thead.get(0)).height+n._workSpace.option(\"getHeaderHeight\")()+10-d;n._workSpace.option(\"showAllDayPanel\")&&n._workSpace.supportAllDayRow()&&(c+=n._workSpace.getCellHeight()*(e+1));var h=c+u,f=r.getBoundingClientRect().left,p=l.getBoundingClientRect().right;return n._groupBoundsOffset={left:f,right:p,top:c,bottom:h},n._groupBoundsOffset}))},t.shiftIndicator=function(e,t,n,i){var o=this._workSpace.getIndicatorOffset(0),a=this._workSpace.option(\"crossScrollingEnabled\")?0:this._workSpace.getGroupTableWidth(),r=n?n-o:o,s=this._workSpace._getRowCount()*this._workSpace.getCellHeight()*i;this._workSpace.supportAllDayRow()&&this._workSpace.option(\"showAllDayPanel\")&&(s+=this._workSpace.getAllDayHeight()*(i+1)),e.css(\"left\",r+a),e.css(\"top\",t+s)},t.getShaderOffset=function(e,t){var n=this._workSpace.option(\"crossScrollingEnabled\")?0:this._workSpace.getGroupTableWidth();return this._workSpace.option(\"rtlEnabled\")?(0,i.getBoundingRect)(this._$container.get(0)).width-n-this._workSpace.getWorkSpaceLeftOffset()-t:n},t.getShaderTopOffset=function(e){return 0},t.getShaderHeight=function(){var e=this._workSpace.getIndicationHeight();return this._workSpace.supportAllDayRow()&&this._workSpace.option(\"showAllDayPanel\")&&(e+=this._workSpace.getCellHeight()),e},t.getShaderMaxHeight=function(){var e=this._workSpace._getRowCount()*this._workSpace.getCellHeight();return this._workSpace.supportAllDayRow()&&this._workSpace.option(\"showAllDayPanel\")&&(e+=this._workSpace.getCellHeight()),e},t.getShaderWidth=function(){return this._workSpace.getIndicationWidth(0)},t.getScrollableScrollTop=function(){return this._workSpace.getScrollable().scrollTop()},t.addAdditionalGroupCellClasses=function(e,t,n,i){return e=this._addLastGroupCellClass(e,n+1),this._addFirstGroupCellClass(e,n+1)},t._addLastGroupCellClass=function(e,t){return t%this._workSpace._getRowCount()==0?\"\".concat(e,\" \").concat(a.LAST_GROUP_CELL_CLASS):e},t._addFirstGroupCellClass=function(e,t){return(t-1)%this._workSpace._getRowCount()==0?\"\".concat(e,\" \").concat(a.FIRST_GROUP_CELL_CLASS):e},e}();t.default=u},34623:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=p(n(99393)),o=p(n(68374)),a=p(n(91198)),r=n(13306),s=n(37518),l=n(58664),u=n(58201),d=n(45985),c=n(43600),h=p(n(57880)),f=p(n(48377));function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e)||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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=a.default.dateToMilliseconds,y=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var f=i.prototype;return f._getToday=function(){return(0,d.getToday)(this.option(\"indicatorTime\"),this.timeZoneCalculator)},f.isIndicationOnView=function(){if(this.option(\"showCurrentTimeIndicator\")){var e=this._getToday(),t=a.default.trimTime(this.getEndViewDate());return a.default.dateInRange(e,this.getStartViewDate(),new Date(t.getTime()+v(\"day\")))}return!1},f.isIndicationAvailable=function(){return!!(0,u.hasWindow)()&&this._getToday()>=a.default.trimTime(new Date(this.getStartViewDate()))},f.isIndicatorVisible=function(){var e=this._getToday(),t=new Date(this.getEndViewDate().getTime()+v(\"minute\")-1),n=new Date(this.getStartViewDate());return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),t.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),a.default.dateInRange(e,n,t)},f._renderDateTimeIndication=function(){if(this.isIndicationAvailable()&&(this.option(\"shadeUntilCurrentTime\")&&this._shader.render(),this.isIndicationOnView()&&this.isIndicatorVisible())){var e=this._getGroupCount()||1,t=this._dateTableScrollable.$content(),n=this.getIndicationHeight(),i=this._getRtlOffset(this.getCellWidth());this._renderIndicator(n,i,t,e),this._setCurrentTimeCells()}},f._renderIndicator=function(e,t,n,i){for(var o=this.isGroupedByDate(),a=o?1:i,r=0;r<a;r++){var s=this._createIndicator(n);(0,l.setWidth)(s,o?this.getCellWidth()*i:this.getCellWidth()),this._groupedStrategy.shiftIndicator(s,e,t,r)}},f._createIndicator=function(e){var t=(0,o.default)(\"<div>\").addClass(\"dx-scheduler-date-time-indicator\");return e.append(t),t},f._getRtlOffset=function(e){return this.option(\"rtlEnabled\")?(0,s.getBoundingRect)(this._dateTableScrollable.$content().get(0)).width-this.getTimePanelWidth()-e:0},f._setIndicationUpdateInterval=function(){var e=this;this.option(\"showCurrentTimeIndicator\")&&0!==this.option(\"indicatorUpdateInterval\")&&(this._clearIndicatorUpdateInterval(),this._indicatorInterval=setInterval((function(){e._refreshDateTimeIndication()}),this.option(\"indicatorUpdateInterval\")))},f._clearIndicatorUpdateInterval=function(){this._indicatorInterval&&(clearInterval(this._indicatorInterval),delete this._indicatorInterval)},f._isVerticalShader=function(){return!0},f.getIndicationWidth=function(e){var t=this.getCellWidth()*this._getCellCount(),n=this._getIndicatorDuration();n>this._getCellCount()&&(n=this._getCellCount());var i=n*this.getRoundedCellWidth(e,e*this._getCellCount(),n);return t<i?t:i},f.getIndicatorOffset=function(e){var t=this._getIndicatorDuration()-1;return t*this.getRoundedCellWidth(e,e*this._getCellCount(),t)},f._getIndicatorDuration=function(){var e=this._getToday(),t=new Date(this.getStartViewDate()),n=e.getTime()-t.getTime();return\"workWeek\"===this.option(\"type\")&&(n-=this._getWeekendsCount(Math.round(n/v(\"day\")))*v(\"day\")),Math.ceil((n+1)/v(\"day\"))},f.getIndicationHeight=function(){var e=h.default.getDateWithoutTimezoneChange(this._getToday()),t=this.getCellHeight(),n=new Date(this.getStartViewDate());return this.isIndicationOnView()&&n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),(e.getTime()-n.getTime())/this.getCellDuration()*t},f._dispose=function(){this._clearIndicatorUpdateInterval(),e.prototype._dispose.apply(this,arguments)},f._refreshDateTimeIndication=function(){var e;this._cleanDateTimeIndicator(),this._cleanCurrentTimeCells(),null===(e=this._shader)||void 0===e||e.clean(),this._renderDateTimeIndication()},f._setCurrentTimeCells=function(){var e=this._getTimePanelCells();this._getCurrentTimePanelCellIndices().forEach((function(t){e.eq(t).addClass(\"dx-scheduler-time-panel-current-time-cell\")}))},f._isCurrentTimeHeaderCell=function(e){if(this.isIndicationOnView()){var t=this.viewDataProvider.completeDateHeaderMap,n=t[t.length-1][e].startDate;return a.default.sameDate(n,this._getToday())}return!1},f._getHeaderPanelCellClass=function(t){var n=e.prototype._getHeaderPanelCellClass.call(this,t);return this._isCurrentTimeHeaderCell(t)?\"\".concat(n,\" \").concat(c.HEADER_CURRENT_TIME_CELL_CLASS):n},f._cleanView=function(){e.prototype._cleanView.call(this),this._cleanDateTimeIndicator()},f._dimensionChanged=function(){e.prototype._dimensionChanged.call(this),this._refreshDateTimeIndication()},f._cleanDateTimeIndicator=function(){this.$element().find(\".\".concat(\"dx-scheduler-date-time-indicator\")).remove()},f._cleanCurrentTimeCells=function(){this.$element().find(\".\".concat(\"dx-scheduler-time-panel-current-time-cell\")).removeClass(\"dx-scheduler-time-panel-current-time-cell\")},f._cleanWorkSpace=function(){e.prototype._cleanWorkSpace.call(this),this._renderDateTimeIndication(),this._setIndicationUpdateInterval()},f._optionChanged=function(t){switch(t.name){case\"showCurrentTimeIndicator\":case\"indicatorTime\":this._cleanWorkSpace();break;case\"indicatorUpdateInterval\":this._setIndicationUpdateInterval();break;case\"showAllDayPanel\":case\"allDayExpanded\":case\"crossScrollingEnabled\":e.prototype._optionChanged.call(this,t),this._refreshDateTimeIndication();break;case\"shadeUntilCurrentTime\":this._refreshDateTimeIndication();break;default:e.prototype._optionChanged.call(this,t)}},f._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{showCurrentTimeIndicator:!0,indicatorTime:new Date,indicatorUpdateInterval:5*v(\"minute\"),shadeUntilCurrentTime:!0})},f._getCurrentTimePanelCellIndices=function(){var e,t=this._getTimePanelRowCount(),n=this._getToday(),i=this.getCellIndexByDate(n),o=this._getCellCoordinatesByIndex(i).rowIndex;if(void 0===o)return[];e=0===o?[o]:o%2==0?[o-1,o]:[o,o+1];var a=this._isVerticalGroupedWorkSpace()?this._getGroupCount():1;return g(new Array(a)).reduce((function(n,i,o){return[].concat(g(n),g(e.map((function(e){return t*o+e}))))}),[])},i}(f.default);(0,i.default)(\"dxSchedulerWorkSpace\",y);var b=y;t.default=b},50011:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=g(n(99393)),a=n(20576),r=g(n(91198)),s=n(37518),l=n(58201),u=n(45985),d=n(19097),c=g(n(48136)),h=n(6324),f=n(84110),p=g(n(34623));function g(e){return e&&e.__esModule?e:{default:e}}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function _(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=r.default.dateToMilliseconds,b=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var o,p,g,b=i.prototype;return b._getElementClass=function(){return\"dx-scheduler-work-space-month\"},b._getFormat=function(){return u.formatWeekday},b._getIntervalBetween=function(e){var t=this.getStartViewDate(),n=r.default.getTimezonesDifference(t,e);return e.getTime()-(t.getTime()-36e5*this.option(\"startDayHour\"))-n},b._getDateGenerationOptions=function(){return m(m({},e.prototype._getDateGenerationOptions.call(this)),{cellCountInDay:1})},b.getCellWidth=function(){var e=this;return this.cache.get(\"cellWidth\",(function(){var t=0,n=e._getCells().slice(0,7);return n.each((function(e,n){t+=(0,l.hasWindow)()?(0,s.getBoundingRect)(n).width:0})),0===n.length?void 0:t/7}))},b._insertAllDayRowsIntoDateTable=function(){return!1},b._getCellCoordinatesByIndex=function(e){var t=Math.floor(e/this._getCellCount());return{rowIndex:t,columnIndex:e-this._getCellCount()*t}},b._needCreateCrossScrolling=function(){return this.option(\"crossScrollingEnabled\")||this._isVerticalGroupedWorkSpace()},b._getViewStartByOptions=function(){return(0,d.getViewStartByOptions)(this.option(\"startDate\"),this.option(\"currentDate\"),this.option(\"intervalCount\"),r.default.getFirstMonthDate(this.option(\"startDate\")))},b._updateIndex=function(e){return e},b.isIndicationAvailable=function(){return!1},b.getIntervalDuration=function(){return y(\"day\")},b.getTimePanelWidth=function(){return 0},b.supportAllDayRow=function(){return!1},b.keepOriginalHours=function(){return!0},b.getWorkSpaceLeftOffset=function(){return 0},b.needApplyCollectorOffset=function(){return!0},b._getHeaderDate=function(){return this._getViewStartByOptions()},b.scrollToTime=function(){return(0,a.noop)()},b.renderRAllDayPanel=function(){},b.renderRTimeTable=function(){},b.renderRDateTable=function(){f.utils.renovation.renderComponent(this,this._$dateTable,c.default,\"renovatedDateTable\",this._getRDateTableProps())},b._createWorkSpaceElements=function(){this._isVerticalGroupedWorkSpace()?this._createWorkSpaceScrollableElements():e.prototype._createWorkSpaceElements.call(this)},b._toggleAllDayVisibility=function(){return(0,a.noop)()},b._changeAllDayVisibility=function(){return(0,a.noop)()},b._renderTimePanel=function(){return(0,a.noop)()},b._renderAllDayPanel=function(){return(0,a.noop)()},b._setMonthClassesToCell=function(e,t){e.toggleClass(\"dx-scheduler-date-table-current-date\",t.isCurrentDate).toggleClass(\"dx-scheduler-date-table-first-of-month\",t.firstDayOfMonth).toggleClass(\"dx-scheduler-date-table-other-month\",t.otherMonth)},b._createAllDayPanelElements=function(){},b._renderTableBody=function(t){var n=this;t.getCellText=function(e,t){var i=n.viewDataProvider.completeViewDataMap[e][t].startDate;return(0,d.getCellText)(i,n.option(\"intervalCount\"))},t.getCellTextClass=\"dx-scheduler-date-table-cell-text\",t.setAdditionalClasses=this._setMonthClassesToCell.bind(this),e.prototype._renderTableBody.call(this,t)},o=i,(p=[{key:\"type\",get:function(){return h.VIEWS.MONTH}}])&&_(o.prototype,p),g&&_(o,g),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(p.default);(0,o.default)(\"dxSchedulerWorkSpaceMonth\",b);var x=b;t.default=x},2986:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=n(45985);function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var s=i.prototype;return s._getFormat=function(){return o.formatWeekdayAndDay},s.generateRenderOptions=function(){return a(a({},e.prototype.generateRenderOptions.call(this)),{isGenerateTimePanelData:!0})},s._isRenderHeaderPanelEmptyCell=function(){return!0},i}(((i=n(34623))&&i.__esModule?i:{default:i}).default);t.default=s},36828:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=l(n(99393)),a=n(34279),r=n(6324),s=l(n(2986));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var o,s,l,c=i.prototype;return c._getElementClass=function(){return\"dx-scheduler-work-space-week\"},c._calculateViewStartDate=function(){return(0,a.calculateViewStartDate)(this.option(\"startDate\"),this._firstDayOfWeek())},o=i,(s=[{key:\"type\",get:function(){return r.VIEWS.WEEK}}])&&u(o.prototype,s),l&&u(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(s.default);(0,o.default)(\"dxSchedulerWorkSpaceWeek\",c);var h=c;t.default=h},29544:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=l(n(99393)),a=n(83866),r=n(6324),s=l(n(36828));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n,i,o,s;function l(){for(var t,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return(t=e.call.apply(e,[this].concat(i))||this)._getWeekendsCount=a.getWeekendsCount,t}return n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n),l.prototype._getElementClass=function(){return\"dx-scheduler-work-space-work-week\"},i=l,(o=[{key:\"type\",get:function(){return r.VIEWS.WORK_WEEK}}])&&u(i.prototype,o),s&&u(i,s),Object.defineProperty(i,\"prototype\",{writable:!1}),l}(s.default);(0,o.default)(\"dxSchedulerWorkSpaceWorkWeek\",c);var h=c;t.default=h},11706:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DateHeaderDataGenerator=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985),r=n(31359);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var l=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n},u=function(){function e(e){this._viewDataGenerator=e}var t=e.prototype;return t.getCompleteDateHeaderMap=function(e,t){var n=[];if(e.isGenerateWeekDaysHeaderData){var i=this._generateWeekDaysHeaderRowMap(e,t);n.push(i)}var o=this._generateHeaderDateRow(e,t);return n.push(o),n},t._generateWeekDaysHeaderRowMap=function(e,t){for(var n=e.isGroupedByDate,i=e.groups,o=e.groupOrientation,l=e.startDayHour,u=e.endDayHour,d=e.hoursInterval,c=e.isHorizontalGrouping,h=e.intervalCount,f=this._viewDataGenerator.getCellCountInDay(l,u,d),p=(0,a.getHorizontalGroupCount)(i,o),g=t[0][0].allDay?1:0,m=n?p*f:f,_=(0,r.getGroupCount)(i),v=c&&!n?_:1,y=this._viewDataGenerator.daysInInterval*h*v,b=[],x=0;x<y;x+=1){var w=t[g][x*m];b.push(s(s({},w),{colSpan:m,text:(0,a.formatWeekdayAndDay)(w.startDate),isFirstGroupCell:!1,isLastGroupCell:!1}))}return b},t._generateHeaderDateRow=function(e,t){var n=e.today,i=e.isGroupedByDate,r=e.groupOrientation,u=e.groups,d=e.headerCellTextFormat,c=e.getDateForHeaderText,h=e.interval,f=e.startViewDate,p=e.startDayHour,g=e.endDayHour,m=e.hoursInterval,_=e.intervalCount,v=e.currentDate,y=e.viewType,b=(0,a.getHorizontalGroupCount)(u,r),x=t[0][0].allDay?1:0,w=i?b:1,C=\"vertical\"===r,S=this._viewDataGenerator.getCellCount({intervalCount:_,currentDate:v,viewType:y,hoursInterval:m,startDayHour:p,endDayHour:g}),k=this._viewDataGenerator.getCellCountInDay(p,g,m);return(i?t[x].filter((function(e,t){return t%b==0})):t[x]).map((function(e,t){var r=e.startDate,u=(e.endDate,e.isFirstGroupCell),g=e.isLastGroupCell,m=l(e,[\"startDate\",\"endDate\",\"isFirstGroupCell\",\"isLastGroupCell\"]),_=(0,a.getHeaderCellText)(t%S,r,d,c,{interval:h,startViewDate:f,startDayHour:p,cellCountInDay:k});return s(s({},m),{startDate:r,text:_,today:o.default.sameDate(r,n),colSpan:w,isFirstGroupCell:i||u&&!C,isLastGroupCell:i||g&&!C})}))},t.generateDateHeaderData=function(e,t,n){var i=n.isGenerateWeekDaysHeaderData,o=n.cellWidth,a=n.isProvideVirtualCellsWidth,r=n.startDayHour,s=n.endDayHour,l=n.hoursInterval,u=n.isMonthDateHeader,d=[],c={},h=o||0;i&&(c=this._generateDateHeaderDataRow(n,e,t,this._viewDataGenerator.getCellCountInDay(r,s,l),0,h),d.push(c.dateRow));var f=this._generateDateHeaderDataRow(n,e,t,1,i?1:0,h);return d.push(f.dateRow),{dataMap:d,leftVirtualCellWidth:a?f.leftVirtualCellWidth:void 0,rightVirtualCellWidth:a?f.rightVirtualCellWidth:void 0,leftVirtualCellCount:f.leftVirtualCellCount,rightVirtualCellCount:f.rightVirtualCellCount,weekDayLeftVirtualCellWidth:c.leftVirtualCellWidth,weekDayRightVirtualCellWidth:c.rightVirtualCellWidth,weekDayLeftVirtualCellCount:c.leftVirtualCellCount,weekDayRightVirtualCellCount:c.rightVirtualCellCount,isMonthDateHeader:u}},t._generateDateHeaderDataRow=function(e,t,n,i,o,r){var s=e.startCellIndex,l=e.cellCount,u=e.isProvideVirtualCellsWidth,d=e.groups,c=e.groupOrientation,h=e.isGroupedByDate,f=(0,a.getHorizontalGroupCount)(d,c),p=h?f*i:i,g=Math.floor(s/p),m=(0,a.getDisplayedCellCount)(l,n),_=Math.ceil((s+m)/p),v=g*p,y=(0,a.getTotalCellCountByCompleteData)(n)-_*p;return{dateRow:t[o].slice(g,_),leftVirtualCellCount:v,leftVirtualCellWidth:u?v*r:void 0,rightVirtualCellCount:y,rightVirtualCellWidth:u?y*r:void 0}},e}();t.DateHeaderDataGenerator=u},69033:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GroupedDataMapProvider=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985);var r=function(){function e(e,t,n,i){this.groupedDataMap=e.generateGroupedDataMap(t),this.completeViewDataMap=n,this._viewOptions=i}var t=e.prototype;return t.getGroupStartDate=function(e){var t=this.getFirstGroupRow(e);if(t)return t[0].cellData.startDate},t.getGroupEndDate=function(e){var t=this.getLastGroupRow(e);if(t)return t[t.length-1].cellData.endDate},t.findGroupCellStartDate=function(e,t,n,i){var a=this.getGroupFromDateTableGroupMap(e),r=function(e,r){var s=a[e][r].cellData,l=s.startDate,u=s.endDate;if(i&&(l=o.default.trimTime(l),u=o.default.setToDayEnd(l)),o.default.intervalsOverlap({firstMin:t,firstMax:n,secondMin:l,secondMax:u}))return l},s=function(){for(var e=a[0].length,t=0;t<e;++t)for(var n=0;n<a.length;++n){var i=r(n,t);if(i)return i}}(),l=function(){for(var e=0;e<a.length;++e)for(var t=a[e],n=0;n<t.length;++n){var i=r(e,n);if(i)return i}}();return s>l?l:s},t.findAllDayGroupCellStartDate=function(e,t){var n=this.getGroupStartDate(e);return n>t?n:t},t.findCellPositionInMap=function(e){for(var t=this,n=e.groupIndex,i=e.startDate,r=e.isAllDay,s=e.index,l=r?o.default.trimTime(i).getTime():i.getTime(),u=function(e){if(!(0,a.isDateAndTimeView)(t._viewOptions.viewType))return o.default.sameDate(i,e.startDate);var n=e.startDate.getTime(),s=e.endDate.getTime();return r?e.allDay&&l>=n&&l<=s:l>=n&&l<s},d=this.groupedDataMap,c=d.allDayPanelGroupedMap,h=d.dateTableGroupedMap,f=r&&!this._viewOptions.isVerticalGrouping?c[n]?[c[n]]:[]:h[n]||[],p=0;p<f.length;++p)for(var g=f[p],m=0;m<g.length;++m){var _=g[m],v=_.cellData;if(this._isSameGroupIndexAndIndex(v,n,s)&&u(v))return _.position}},t._isSameGroupIndexAndIndex=function(e,t,n){return e.groupIndex===t&&(void 0===n||e.index===n)},t.getCellsGroup=function(e){var t=this.groupedDataMap.dateTableGroupedMap[e];if(t)return t[0][0].cellData.groups},t.getCompletedGroupsInfo=function(){var e=this;return this.groupedDataMap.dateTableGroupedMap.map((function(t){var n=t[0][0].cellData,i=n.allDay,o=n.groupIndex;return{allDay:i,groupIndex:o,startDate:e.getGroupStartDate(o),endDate:e.getGroupEndDate(o)}})).filter((function(e){return!!e.startDate}))},t.getGroupIndices=function(){return this.getCompletedGroupsInfo().map((function(e){return e.groupIndex}))},t.getGroupFromDateTableGroupMap=function(e){return this.groupedDataMap.dateTableGroupedMap[e]},t.getFirstGroupRow=function(e){var t=this.getGroupFromDateTableGroupMap(e);if(t)return t[0][0].cellData.allDay?t[1]:t[0]},t.getLastGroupRow=function(e){var t=this.groupedDataMap.dateTableGroupedMap[e];if(t)return t[t.length-1]},t.getLastGroupCellPosition=function(e){var t=this.getLastGroupRow(e);return null==t?void 0:t[(null==t?void 0:t.length)-1].position},t.getRowCountInGroup=function(e){var t=this.getLastGroupRow(e);return(t[t.length-1].cellData.index+1)/t.length},e}();t.GroupedDataMapProvider=r},45512:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimePanelDataGenerator=void 0;var i=n(45985),o=n(34279),a=n(97205);function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var s=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n},l=function(){function e(e){this._viewDataGenerator=e}var t=e.prototype;return t.getCompleteTimePanelMap=function(e,t){var n=e.startViewDate,i=e.cellDuration,a=e.startDayHour,l=e.isVerticalGrouping,u=e.intervalCount,d=e.currentDate,c=e.viewType,h=e.hoursInterval,f=e.endDayHour,p=this._viewDataGenerator.getRowCount({intervalCount:u,currentDate:d,viewType:c,hoursInterval:h,startDayHour:a,endDayHour:f}),g=this._viewDataGenerator.getCellCount({intervalCount:u,currentDate:d,viewType:c,hoursInterval:h,startDayHour:a,endDayHour:f}),m=0;return t.map((function(e,t){var u=e[0],d=u.allDay,c=u.startDate,h=(u.endDate,u.groups),f=u.groupIndex,_=u.isFirstGroupCell,v=u.isLastGroupCell,y=u.index,b=s(u,[\"allDay\",\"startDate\",\"endDate\",\"groups\",\"groupIndex\",\"isFirstGroupCell\",\"isLastGroupCell\",\"index\"]);d&&(m+=1);var x=(t-m)%p;return r(r({},b),{startDate:c,allDay:d,text:(0,o.getTimePanelCellText)(x,c,n,i,a),groups:l?h:void 0,groupIndex:l?f:void 0,isFirstGroupCell:l&&_,isLastGroupCell:l&&v,index:Math.floor(y/g)})}))},t.generateTimePanelData=function(e,t){var n=t.startRowIndex,o=t.rowCount,a=t.topVirtualRowHeight,r=t.bottomVirtualRowHeight,s=t.isGroupedAllDayPanel,l=t.isVerticalGrouping,u=t.isAllDayPanelVisible,d=n+(l||!u?0:1),c=(0,i.getDisplayedRowCount)(o,e),h=e.slice(d,d+c),f={topVirtualRowHeight:a,bottomVirtualRowHeight:r,isGroupedAllDayPanel:s},p=this._generateTimePanelDataFromMap(h,l).previousGroupedData;return f.groupedData=p,f},t._generateTimePanelDataFromMap=function(e,t){return e.reduce((function(e,n){var i=e.previousGroupIndex,o=e.previousGroupedData,r=n.groupIndex;return r!==i&&o.push({dateTable:[],isGroupedAllDayPanel:(0,a.getIsGroupedAllDayPanel)(!!n.allDay,t),groupIndex:r,key:(0,a.getKeyByGroup)(r,t)}),n.allDay?o[o.length-1].allDayPanel=n:o[o.length-1].dateTable.push(n),{previousGroupIndex:r,previousGroupedData:o}}),{previousGroupIndex:-1,previousGroupedData:[]})},e}();t.TimePanelDataGenerator=l},29964:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.alignToFirstDayOfWeek=h,t.alignToLastDayOfWeek=f,t.calculateAlignedWeeksBetweenDates=function(e,t,n){var i=h(e,n),o=f(t,n),a=p(i,o)/7;return Math.max(a,6)},t.calculateDaysBetweenDates=p,t.getViewDataGeneratorByViewType=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(6324),r=n(31407),s=n(54947),l=n(24562),u=n(49738),d=n(98097),c=n(4277);function h(e,t){var n=new Date(e),i=n.getDay()-t;return i<0&&(i+=7),n.setDate(n.getDate()-i),n}function f(e,t){var n=h(e,t);return n.setDate(n.getDate()+7-1),n}function p(e,t){var n=o.default.trimTime(t).getTime()-o.default.trimTime(e).getTime();return Math.round(n/864e5)+1}t.getViewDataGeneratorByViewType=function(e){switch(e){case a.VIEWS.MONTH:return new l.ViewDataGeneratorMonth;case a.VIEWS.TIMELINE_MONTH:return new u.ViewDataGeneratorTimelineMonth;case a.VIEWS.DAY:case a.VIEWS.TIMELINE_DAY:return new s.ViewDataGeneratorDay;case a.VIEWS.WEEK:case a.VIEWS.TIMELINE_WEEK:return new d.ViewDataGeneratorWeek;case a.VIEWS.WORK_WEEK:case a.VIEWS.TIMELINE_WORK_WEEK:return new c.ViewDataGeneratorWorkWeek;default:return new r.ViewDataGenerator}}},31407:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGenerator=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985),r=n(97205),s=n(6324),l=n(31359);function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function d(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var h=o.default.dateToMilliseconds(\"hour\"),f=o.default.dateToMilliseconds(\"day\"),p=function(){function e(){this.daysInInterval=1,this.isWorkView=!1,this.tableAllDay=!1}var t=e.prototype;return t.isSkippedDate=function(e){return!1},t._calculateStartViewDate=function(e){},t.getStartViewDate=function(e){return this._calculateStartViewDate(e)},t.getCompleteViewDataMap=function(e){var t,n=e.groups,i=e.isGroupedByDate,o=e.isHorizontalGrouping,a=e.isVerticalGrouping,r=e.intervalCount,s=e.currentDate,u=e.viewType,c=e.startDayHour,h=e.endDayHour,f=e.hoursInterval;this._setVisibilityDates(e),this.setHiddenInterval(c,h,f);var p=(0,l.getAllGroups)(n),g=this.getCellCount({intervalCount:r,currentDate:s,viewType:u,startDayHour:c,endDayHour:h,hoursInterval:f}),m=this.getRowCount({intervalCount:r,currentDate:s,viewType:u,hoursInterval:f,startDayHour:c,endDayHour:h}),_=[],v=this._generateAllDayPanelData(e,m,g),y=this._generateViewCellsData(e,m,g);return v&&_.push(v),(t=_).push.apply(t,d(y)),o&&!i&&(_=this._transformViewDataMapForHorizontalGrouping(_,p)),a&&(_=this._transformViewDataMapForVerticalGrouping(_,p)),i&&(_=this._transformViewDataMapForGroupingByDate(_,p)),this._addKeysToCells(_)},t._transformViewDataMapForHorizontalGrouping=function(e,t){var n=e.map((function(e){return e.slice()}));return t.slice(1).forEach((function(t,i){var o=i+1;e.forEach((function(e,i){var a,r=e.map((function(e){return u(u({},e),{groups:t,groupIndex:o})}));(a=n[i]).push.apply(a,d(r))}))})),n},t._transformViewDataMapForVerticalGrouping=function(e,t){var n=e.map((function(e){return e.slice()}));return t.slice(1).forEach((function(t,i){var o=i+1,a=e.map((function(e){return e.map((function(e){return u(u({},e),{groupIndex:o,groups:t})}))}));n.push.apply(n,d(a))})),n},t._transformViewDataMapForGroupingByDate=function(e,t){var n=t.slice(1),i=n.length;return e.map((function(e){return e.reduce((function(e,t){return[].concat(d(e),[u(u({},t),{isFirstGroupCell:!0,isLastGroupCell:0===i})],d(n.map((function(e,n){return u(u({},t),{groups:e,groupIndex:n+1,isFirstGroupCell:!1,isLastGroupCell:n===i-1})}))))}),[])}))},t._addKeysToCells=function(e){var t=e[0].length;return e.reduce((function(e,n,i){var o=e.allDayPanelsCount,a=e.currentViewDataMap,r=n[0].allDay,s=(i-o)*t,l=r?o+1:o;return a[i].forEach((function(e,t){e.key=s+t})),{allDayPanelsCount:l,currentViewDataMap:a}}),{allDayPanelsCount:0,currentViewDataMap:e}).currentViewDataMap},t.generateViewDataMap=function(e,t){var n=t.rowCount,i=t.startCellIndex,o=t.startRowIndex,r=t.cellCount,s=t.isVerticalGrouping,l=t.isAllDayPanelVisible,u=function(e,t,n,i){var o=void 0!==i?n+i:void 0;return e.slice(n,o).map((function(e,n){return{cellData:e,position:{rowIndex:t,columnIndex:n}}}))},d=o,c=[];this._isStandaloneAllDayPanel(s,l)&&(d++,c=u(e[0],0,i,r));var h=(0,a.getDisplayedRowCount)(n,e);return{allDayPanelMap:c,dateTableMap:e.slice(d,d+h).map((function(e,t){return u(e,t,i,r)}))}},t._isStandaloneAllDayPanel=function(e,t){return!e&&t},t.getViewDataFromMap=function(e,t,n){var i=n.topVirtualRowHeight,o=n.bottomVirtualRowHeight,s=n.leftVirtualCellWidth,l=n.rightVirtualCellWidth,u=n.cellCount,d=n.rowCount,c=n.startRowIndex,h=n.startCellIndex,f=n.isProvideVirtualCellsWidth,p=n.isGroupedAllDayPanel,g=n.isVerticalGrouping,m=n.isAllDayPanelVisible,_=t.allDayPanelMap,v=t.dateTableMap.reduce((function(e,t){var n=e.previousGroupIndex,i=e.groupedData,o=t.map((function(e){return e.cellData})),a=o[0],s=a.allDay,l=a.groupIndex;return l!==n&&i.push({dateTable:[],isGroupedAllDayPanel:(0,r.getIsGroupedAllDayPanel)(!!s,g),groupIndex:l,key:(0,r.getKeyByGroup)(l,g)}),s?i[i.length-1].allDayPanel=o:i[i.length-1].dateTable.push({cells:o,key:o[0].key-h}),{groupedData:i,previousGroupIndex:l}}),{previousGroupIndex:-1,groupedData:[]}).groupedData;this._isStandaloneAllDayPanel(g,m)&&(v[0].allDayPanel=_.map((function(e){return e.cellData})));var y=(0,a.getTotalCellCountByCompleteData)(e),b=(0,a.getTotalRowCountByCompleteData)(e),x=(0,a.getDisplayedCellCount)(u,e),w=(0,a.getDisplayedRowCount)(d,e);return{groupedData:v,topVirtualRowHeight:i,bottomVirtualRowHeight:o,leftVirtualCellWidth:f?s:void 0,rightVirtualCellWidth:f?l:void 0,isGroupedAllDayPanel:p,leftVirtualCellCount:h,rightVirtualCellCount:void 0===u?0:y-h-x,topVirtualRowCount:c,bottomVirtualRowCount:b-c-w}},t._generateViewCellsData=function(e,t,n){for(var i=[],o=0;o<t;o+=1)i.push(this._generateCellsRow(e,!1,o,t,n));return i},t._generateAllDayPanelData=function(e,t,n){return e.isAllDayPanelVisible?this._generateCellsRow(e,!0,0,t,n):null},t._generateCellsRow=function(e,t,n,i,o){for(var a=[],r=0;r<o;++r){var s=this.getCellData(n,r,e,t);s.index=n*o+r,s.isFirstGroupCell=this._isFirstGroupCell(n,r,e,i,o),s.isLastGroupCell=this._isLastGroupCell(n,r,e,i,o),a.push(s)}return a},t.getCellData=function(e,t,n,i){return i?this.prepareAllDayCellData(n,e,t):this.prepareCellData(n,e,t)},t.prepareCellData=function(e,t,n){var i=e.groups,o=e.startDayHour,a=e.endDayHour,r=e.interval,s=e.hoursInterval,u=(0,l.getAllGroups)(i),d=this.getDateByCellIndices(e,t,n,this.getCellCountInDay(o,a,s)),c={startDate:d,endDate:this.calculateEndDate(d,r,a),allDay:this.tableAllDay,groupIndex:0};return u.length>0&&(c.groups=u[0]),c},t.prepareAllDayCellData=function(e,t,n){var i=this.prepareCellData(e,t,n),a=o.default.trimTime(i.startDate);return u(u({},i),{startDate:a,endDate:a,allDay:!0})},t.getDateByCellIndices=function(e,t,n,i){var r=e.startViewDate,s=e.startDayHour,l=e.interval,u=e.firstDayOfWeek,d=e.intervalCount,c=r.getHours()!==Math.floor(s);if(c){var h=(0,a.getStartViewDateWithoutDST)(r,s);r=new Date(h-o.default.dateToMilliseconds(\"day\"))}var f=this.getCellCount(e),p=this.getRowCount(e),g=this._calculateCellIndex(t,n,p,f),m=this.getMillisecondsOffset(g,l,i),_=this.isWorkView?this.getTimeOffsetByColumnIndex(n,this.getFirstDayOfWeek(u),f,d):0,v=r.getTime(),y=new Date(v+m+_),b=c?0:o.default.getTimezonesDifference(r,y);return y.setTime(y.getTime()+b),y},t.getMillisecondsOffset=function(e,t,n){return t*e+Math.floor(e/n)*this.hiddenInterval},t.getTimeOffsetByColumnIndex=function(e,t,n,i){var o=Math.max(0,t-1),a=n/i,r=Math.floor((e+o)/a);return f*r*2},t.calculateEndDate=function(e,t,n){var i=new Date(e);return i.setMilliseconds(i.getMilliseconds()+Math.round(t)),i},t._calculateCellIndex=function(e,t,n,i){return(0,a.calculateCellIndex)(e,t,n)},t.generateGroupedDataMap=function(e){var t=e.allDayPanelMap,n=e.dateTableMap.reduce((function(e,t){var n=e.previousGroupedDataMap,i=e.previousRowIndex,o=e.previousGroupIndex,a=t[0].cellData.groupIndex,r=a===o?i+1:0;return t.forEach((function(e){var t=e.cellData.groupIndex;n[t]||(n[t]=[]),n[t][r]||(n[t][r]=[]),n[t][r].push(e)})),{previousGroupedDataMap:n,previousRowIndex:r,previousGroupIndex:a}}),{previousGroupedDataMap:[],previousRowIndex:-1,previousGroupIndex:-1}).previousGroupedDataMap,i=[];return null==t||t.forEach((function(e){var t=e.cellData.groupIndex;i[t]||(i[t]=[]),i[t].push(e)})),{allDayPanelGroupedMap:i,dateTableGroupedMap:n}},t._isFirstGroupCell=function(e,t,n,i,o){var a=n.groupOrientation,r=n.groups,u=n.isGroupedByDate,d=(0,l.getGroupCount)(r);return u?t%d==0:a===s.HORIZONTAL_GROUP_ORIENTATION?t%o==0:e%i==0},t._isLastGroupCell=function(e,t,n,i,o){var a=n.groupOrientation,r=n.groups,u=n.isGroupedByDate,d=(0,l.getGroupCount)(r);return u?(t+1)%d==0:a===s.HORIZONTAL_GROUP_ORIENTATION?(t+1)%o==0:(e+1)%i==0},t.markSelectedAndFocusedCells=function(e,t){var n=this,i=t.selectedCells,o=t.focusedCell;if(!i&&!o)return e;var a=e.allDayPanelMap,r=e.dateTableMap.map((function(e){return n._markSelectedAndFocusedCellsInRow(e,i,o)}));return{allDayPanelMap:this._markSelectedAndFocusedCellsInRow(a,i,o),dateTableMap:r}},t._markSelectedAndFocusedCellsInRow=function(e,t,n){return e.map((function(e){var i=e.cellData,o=i.index,a=i.groupIndex,r=i.allDay,s=i.startDate,l=t.findIndex((function(e){var t=e.index,n=e.groupIndex,i=e.allDay,l=e.startDate;return a===n&&(o===t||void 0===t&&s.getTime()===l.getTime())&&!!r==!!i})),d=!!n&&o===n.cellData.index&&a===n.cellData.groupIndex&&r===n.cellData.allDay;return d||-1!==l?u(u({},e),{cellData:u(u({},e.cellData),{isSelected:l>-1,isFocused:d})}):e}))},t.getInterval=function(e){return e*h},t._getIntervalDuration=function(e){return o.default.dateToMilliseconds(\"day\")*e},t._setVisibilityDates=function(e){},t.getCellCountInDay=function(e,t,n){var i=(0,a.calculateDayDuration)(e,t)/n;return Math.ceil(i)},t.getCellCount=function(e){var t=e.intervalCount,n=e.viewType,i=e.startDayHour,o=e.endDayHour,r=e.hoursInterval,s=this.getCellCountInDay(i,o,r),l=(0,a.isHorizontalView)(n)?s:1;return this.daysInInterval*t*l},t.getRowCount=function(e){var t=e.viewType,n=e.startDayHour,i=e.endDayHour,o=e.hoursInterval,r=this.getCellCountInDay(n,i,o);return(0,a.isHorizontalView)(t)?1:r},t.setHiddenInterval=function(e,t,n){this.hiddenInterval=f-this.getVisibleDayDuration(e,t,n)},t.getVisibleDayDuration=function(e,t,n){return n*this.getCellCountInDay(e,t,n)*h},t.getFirstDayOfWeek=function(e){return e},e}();t.ViewDataGenerator=p},54947:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGeneratorDay=void 0;var i=n(58824);function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var a=function(e){var t,n;function a(){return e.apply(this,arguments)||this}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n),a.prototype._calculateStartViewDate=function(e){return(0,i.calculateStartViewDate)(e.currentDate,e.startDayHour,e.startDate,this._getIntervalDuration(e.intervalCount))},a}(n(31407).ViewDataGenerator);t.ViewDataGeneratorDay=a},24562:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGeneratorMonth=void 0;var i=u(n(91198)),o=u(n(91500)),a=n(45985),r=n(19097),s=n(29964),l=n(31407);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=i.default.dateToMilliseconds(\"day\"),h=function(e){var t,n;function l(){var t;return(t=e.apply(this,arguments)||this).tableAllDay=void 0,t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var u=l.prototype;return u.getCellData=function(t,n,i,o){var a=e.prototype.getCellData.call(this,t,n,i,!1),s=a.startDate,l=i.indicatorTime,u=i.timeZoneCalculator,d=i.intervalCount;return a.today=this.isCurrentDate(s,l,u),a.otherMonth=this.isOtherMonth(s,this._minVisibleDate,this._maxVisibleDate),a.firstDayOfMonth=(0,r.isFirstCellInMonthWithIntervalCount)(s,d),a.text=(0,r.getCellText)(s,d),a},u.isCurrentDate=function(e,t,n){return i.default.sameDate(e,(0,a.getToday)(t,n))},u.isOtherMonth=function(e,t,n){return!i.default.dateInRange(e,t,n,\"date\")},u._calculateCellIndex=function(e,t,n,i){return(0,r.calculateCellIndex)(e,t,n,i)},u.calculateEndDate=function(e,t,n){return(0,a.setOptionHour)(e,n)},u.getInterval=function(){return c},u._calculateStartViewDate=function(e){return(0,r.calculateStartViewDate)(e.currentDate,e.startDayHour,e.startDate,e.intervalCount,this.getFirstDayOfWeek(e.firstDayOfWeek))},u._setVisibilityDates=function(e){var t=e.intervalCount,n=e.startDate,o=e.currentDate,a=i.default.getFirstMonthDate(n),s=(0,r.getViewStartByOptions)(n,o,t,a);this._minVisibleDate=new Date(s.setDate(1));var l=new Date(s.setMonth(s.getMonth()+t));this._maxVisibleDate=new Date(l.setDate(0))},u.getCellCount=function(){return 7},u.getRowCount=function(e){var t,n=new Date(e.currentDate);n.setDate(1);var i=new Date(n);return i.setMonth(i.getMonth()+e.intervalCount),i.setDate(0),(0,s.calculateAlignedWeeksBetweenDates)(n,i,null!==(t=e.firstDayOfWeek)&&void 0!==t?t:o.default.firstDayOfWeekIndex())},u.getCellCountInDay=function(){return 1},u.setHiddenInterval=function(){this.hiddenInterval=0},l}(l.ViewDataGenerator);t.ViewDataGeneratorMonth=h},49738:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGeneratorTimelineMonth=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985),r=n(19097),s=n(75481),l=n(31407);function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=o.default.dateToMilliseconds(\"day\"),c=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o=i.prototype;return o._calculateCellIndex=function(e,t,n,i){return(0,r.calculateCellIndex)(e,t,n,i)},o.calculateEndDate=function(e,t,n){return(0,a.setOptionHour)(e,n)},o.getInterval=function(){return d},o._calculateStartViewDate=function(e){return(0,s.calculateStartViewDate)(e.currentDate,e.startDayHour,e.startDate,e.intervalCount)},o.getCellCount=function(e){for(var t=e.intervalCount,n=e.currentDate,i=0,o=1;o<=t;o++)i+=new Date(n.getFullYear(),n.getMonth()+o,0).getDate();return i},o.setHiddenInterval=function(){this.hiddenInterval=0},i}(l.ViewDataGenerator);t.ViewDataGeneratorTimelineMonth=c},98097:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGeneratorWeek=void 0;var i=n(34279);function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var a=function(e){var t,n;function a(){var t;return(t=e.apply(this,arguments)||this).daysInInterval=7,t}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var r=a.prototype;return r._getIntervalDuration=function(e){return(0,i.getIntervalDuration)(e)},r._calculateStartViewDate=function(e){return(0,i.calculateStartViewDate)(e.currentDate,e.startDayHour,e.startDate,this._getIntervalDuration(e.intervalCount),this.getFirstDayOfWeek(e.firstDayOfWeek))},a}(n(31407).ViewDataGenerator);t.ViewDataGeneratorWeek=a},4277:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.ViewDataGeneratorWorkWeek=void 0;var i=n(83866);function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var a=function(e){var t,n;function a(){var t;return(t=e.apply(this,arguments)||this).daysInInterval=5,t.isWorkView=!0,t}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var r=a.prototype;return r.isSkippedDate=function(e){return(0,i.isDataOnWeekend)(e)},r._calculateStartViewDate=function(e){return(0,i.calculateStartViewDate)(e.currentDate,e.startDayHour,e.startDate,this._getIntervalDuration(e.intervalCount),this.getFirstDayOfWeek(e.firstDayOfWeek))},r.getFirstDayOfWeek=function(e){return e||0},a}(n(98097).ViewDataGeneratorWeek);t.ViewDataGeneratorWorkWeek=a},52974:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=h(n(91198)),o=n(34854),a=n(45985),r=n(97205),s=h(n(57880)),l=n(11706),u=n(69033),d=n(45512),c=n(29964);function h(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==f(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===f(a)?a:String(a)),i)}var o,a}var m=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n},_=function(){function e(e){this.viewDataGenerator=(0,c.getViewDataGeneratorByViewType)(e),this.viewData={},this.completeViewDataMap=[],this.completeDateHeaderMap=[],this.viewDataMap={},this._groupedDataMapProvider=null}var t,n,h,f=e.prototype;return f.isSkippedDate=function(e){return this.viewDataGenerator.isSkippedDate(e)},f.update=function(e,t){this.viewDataGenerator=(0,c.getViewDataGeneratorByViewType)(e.viewType);var n=this.viewDataGenerator,i=new l.DateHeaderDataGenerator(n),o=new d.TimePanelDataGenerator(n),a=this._transformRenderOptions(e);a.interval=this.viewDataGenerator.getInterval(a.hoursInterval),this._options=a,t&&(this.completeViewDataMap=n.getCompleteViewDataMap(a),this.completeDateHeaderMap=i.getCompleteDateHeaderMap(a,this.completeViewDataMap),a.isGenerateTimePanelData&&(this.completeTimePanelMap=o.getCompleteTimePanelMap(a,this.completeViewDataMap))),this.viewDataMap=n.generateViewDataMap(this.completeViewDataMap,a),this.updateViewData(a),this._groupedDataMapProvider=new u.GroupedDataMapProvider(this.viewDataGenerator,this.viewDataMap,this.completeViewDataMap,{isVerticalGrouping:a.isVerticalGrouping,viewType:a.viewType}),this.dateHeaderData=i.generateDateHeaderData(this.completeDateHeaderMap,this.completeViewDataMap,a),a.isGenerateTimePanelData&&(this.timePanelData=o.generateTimePanelData(this.completeTimePanelMap,a))},f.createGroupedDataMapProvider=function(){this._groupedDataMapProvider=new u.GroupedDataMapProvider(this.viewDataGenerator,this.viewDataMap,this.completeViewDataMap,{isVerticalGrouping:this._options.isVerticalGrouping,viewType:this._options.viewType})},f.updateViewData=function(e){var t=this._transformRenderOptions(e);this.viewDataMapWithSelection=this.viewDataGenerator.markSelectedAndFocusedCells(this.viewDataMap,t),this.viewData=this.viewDataGenerator.getViewDataFromMap(this.completeViewDataMap,this.viewDataMapWithSelection,t)},f._transformRenderOptions=function(e){var t=e.groups,n=e.groupOrientation,i=e.groupByDate,o=e.isAllDayPanelVisible;return p(p({},m(e,[\"groups\",\"groupOrientation\",\"groupByDate\",\"isAllDayPanelVisible\"])),{startViewDate:this.viewDataGenerator._calculateStartViewDate(e),isVerticalGrouping:(0,r.isVerticalGroupingApplied)(t,n),isHorizontalGrouping:(0,r.isHorizontalGroupingApplied)(t,n),isGroupedByDate:(0,r.isGroupingByDate)(t,n,i),isGroupedAllDayPanel:(0,a.calculateIsGroupedAllDayPanel)(t,n,o),groups:t,groupOrientation:n,isAllDayPanelVisible:o})},f.getGroupPanelData=function(e){var t=this._transformRenderOptions(e);if(t.groups.length>0){var n=this.getCellCount(t);return(0,o.getGroupPanelData)(t.groups,n,t.isGroupedByDate,t.isGroupedByDate?1:n)}},f.getGroupStartDate=function(e){return this._groupedDataMapProvider.getGroupStartDate(e)},f.getGroupEndDate=function(e){return this._groupedDataMapProvider.getGroupEndDate(e)},f.findGroupCellStartDate=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return this._groupedDataMapProvider.findGroupCellStartDate(e,t,n,i)},f.findAllDayGroupCellStartDate=function(e,t){return this._groupedDataMapProvider.findAllDayGroupCellStartDate(e,t)},f.findCellPositionInMap=function(e){return this._groupedDataMapProvider.findCellPositionInMap(e)},f.hasAllDayPanel=function(){var e=this.viewDataMap.viewData,t=e.groupedData[0].allDayPanel;return!e.isGroupedAllDayPanel&&(null==t?void 0:t.length)>0},f.getCellsGroup=function(e){return this._groupedDataMapProvider.getCellsGroup(e)},f.getCompletedGroupsInfo=function(){return this._groupedDataMapProvider.getCompletedGroupsInfo()},f.getGroupIndices=function(){return this._groupedDataMapProvider.getGroupIndices()},f.getLastGroupCellPosition=function(e){return this._groupedDataMapProvider.getLastGroupCellPosition(e)},f.getRowCountInGroup=function(e){return this._groupedDataMapProvider.getRowCountInGroup(e)},f.getCellData=function(e,t,n,i){var o=n&&!this._options.isVerticalGrouping?this.viewDataMap.allDayPanelMap:this.viewDataMap.dateTableMap[e];return o[i?o.length-1-t:t].cellData},f.getCellsByGroupIndexAndAllDay=function(e,t){var n=this._getRowCountWithAllDayRows(),i=this._options.isAllDayPanelVisible,o=this._options.isVerticalGrouping?e*n:0,a=this._options.isVerticalGrouping?(e+1)*n-1:n,r=i&&!t?o+1:o,s=t?r:a;return this.completeViewDataMap.slice(r,s+1).map((function(t){return t.filter((function(t){var n=t.groupIndex;return e===n}))}))},f.getCellCountWithGroup=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.groupedDataMap.dateTableGroupedMap;return n.filter((function(t,n){return n<=e})).reduce((function(e,n){return e+n[t].length}),0)},f.hasGroupAllDayPanel=function(e){var t,n;return this._options.isVerticalGrouping?!!(null===(t=this.groupedDataMap.dateTableGroupedMap[e])||void 0===t?void 0:t[0][0].cellData.allDay):(null===(n=this.groupedDataMap.allDayPanelGroupedMap[e])||void 0===n?void 0:n.length)>0},f.isGroupIntersectDateInterval=function(e,t,n){var i=this.getGroupStartDate(e);return t<this.getGroupEndDate(e)&&n>i},f.findGlobalCellPosition=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.completeViewDataMap,o=this._options.isAllDayPanelVisible,a=0;a<i.length;a+=1)for(var r=i[a],s=0;s<r.length;s+=1){var l=r[s],u=l.startDate,d=l.endDate,c=l.groupIndex,h=l.allDay;if(t===c&&n===!!h&&this._compareDatesAndAllDay(e,u,d,n))return{position:{columnIndex:s,rowIndex:o&&!this._options.isVerticalGrouping?a-1:a},cellData:l}}},f._compareDatesAndAllDay=function(e,t,n,o){var a=e.getTime(),r=i.default.trimTime(e).getTime(),s=t.getTime(),l=n.getTime();return!o&&a>=s&&a<l||o&&r===s},f.getSkippedDaysCount=function(e,t,n,o){for(var a=this._groupedDataMapProvider.groupedDataMap.dateTableGroupedMap[e],r=0,s=0;s<a.length;s+=1)for(var l=0;l<a[s].length;l+=1){var u=a[s][l].cellData;t.getTime()<u.endDate.getTime()&&n.getTime()>u.startDate.getTime()&&(r+=1)}var d=a[a.length-1][a[0].length-1].cellData,c=i.default.trimTime(d.startDate),h=Math.floor((n.getTime()-c.getTime())/i.default.dateToMilliseconds(\"day\"));return o-r-(h>0?h:0)},f.getColumnsCount=function(){var e=this.viewDataMap.dateTableMap;return e?e[0].length:0},f.getViewEdgeIndices=function(e){return e?{firstColumnIndex:0,lastColumnIndex:this.viewDataMap.allDayPanelMap.length-1,firstRowIndex:0,lastRowIndex:0}:{firstColumnIndex:0,lastColumnIndex:this.viewDataMap.dateTableMap[0].length-1,firstRowIndex:0,lastRowIndex:this.viewDataMap.dateTableMap.length-1}},f.getGroupEdgeIndices=function(e,t){var n=this.groupedDataMap.dateTableGroupedMap[e],i=n[0].length,o=n.length,a=n[0][0].position.columnIndex,r=n[0][i-1].position.columnIndex;return t?{firstColumnIndex:a,lastColumnIndex:r,firstRowIndex:0,lastRowIndex:0}:{firstColumnIndex:a,lastColumnIndex:r,firstRowIndex:n[0][0].position.rowIndex,lastRowIndex:n[o-1][0].position.rowIndex}},f.isSameCell=function(e,t){var n=e.startDate,i=e.groupIndex,o=e.allDay,a=e.index,r=t.startDate,s=t.groupIndex,l=t.allDay,u=t.index;return n.getTime()===r.getTime()&&i===s&&o===l&&a===u},f.getLastViewDate=function(){var e=this.completeViewDataMap,t=e.length-1;return e[t][e[t].length-1].endDate},f.getStartViewDate=function(){return this._options.startViewDate},f.getIntervalDuration=function(e){return this.viewDataGenerator._getIntervalDuration(e)},f.getLastCellEndDate=function(){return new Date(this.getLastViewDate().getTime()-i.default.dateToMilliseconds(\"minute\"))},f.getLastViewDateByEndDayHour=function(e){var t=this.getLastCellEndDate(),n=i.default.dateTimeFromDecimal(e),o=new Date(t.setHours(n.hours,n.minutes));return this._adjustEndDateByDaylightDiff(t,o)},f._adjustEndDateByDaylightDiff=function(e,t){var n=s.default.getDaylightOffsetInMs(e,t),o=new Date(t.getTime()-n);return new Date(o.getTime()-i.default.dateToMilliseconds(\"minute\"))},f.getCellCountInDay=function(e,t,n){return this.viewDataGenerator.getCellCountInDay(e,t,n)},f.getCellCount=function(e){return this.viewDataGenerator.getCellCount(e)},f.getRowCount=function(e){return this.viewDataGenerator.getRowCount(e)},f.getVisibleDayDuration=function(e,t,n){return this.viewDataGenerator.getVisibleDayDuration(e,t,n)},f._getRowCountWithAllDayRows=function(){var e=this._options.isAllDayPanelVisible?1:0;return this.getRowCount(this._options)+e},f.getFirstDayOfWeek=function(e){return this.viewDataGenerator.getFirstDayOfWeek(e)},f.setViewOptions=function(e){this._options=this._transformRenderOptions(e)},f.getViewOptions=function(){return this._options},f.getViewPortGroupCount=function(){var e=this.groupedDataMap.dateTableGroupedMap;return(null==e?void 0:e.length)||0},t=e,(n=[{key:\"groupedDataMap\",get:function(){return this._groupedDataMapProvider.groupedDataMap}},{key:\"hiddenInterval\",get:function(){return this.viewDataGenerator.hiddenInterval}}])&&g(t.prototype,n),h&&g(t,h),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=_},18945:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoize=void 0;var i=n(20576);function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e)||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 a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var r=function(e,t){return e.length===t.length&&!Object.keys(e).some((function(n){return e[n]!==t[n]}))},s=function(e,t){return(0,i.equalByValue)(e,t,{maxDepth:4})},l=function(e,t,n,i){var a=e,r=t;return function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];var l=i(t,a);return l?r:(a=t,r=n.apply(void 0,o(a)))}},u={compareType:\"reference\"};t.memoize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,n=t.compareType,i=null;return function(){for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];if(!i){var u=e.apply(void 0,o);return i=l(o,u,e,\"reference\"===n?r:s),u}return i.apply(void 0,o)}}},41690:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.AdvancedChart=void 0;var i,o=n(20576),a=n(13306),r=n(95479),s=n(35922),l=n(41278),u=n(1939),d=n(19157),c=(i=n(63407))&&i.__esModule?i:{default:i},h=n(21177),f=n(14107);function p(e){return(p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==p(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===p(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _=Array.isArray;function v(e){return _(e)?0===e.length?[{}]:e:[e]}function y(e,t,n,i){var o,a;if(n){a=e.value,o={skipEventRising:!0};var r=b(e.fullName,a);r&&(o={allowPartialUpdate:!0},a=r)}else a=((0,s.isDefined)(i)?e.value[i]:e.value).visualRange;t.visualRange(a,o)}function b(e,t){var n=e.split(\".\").at(-1);if(\"endValue\"===n||\"startValue\"===n)return m({},n,t)}var x=f.BaseChart.inherit({_fontFields:[\"\".concat(\"commonAxisSettings\",\".label.\").concat(\"font\"),\"\".concat(\"commonAxisSettings\",\".title.\").concat(\"font\")],_partialOptionChangesMap:{visualRange:\"VISUAL_RANGE\",_customVisualRange:\"VISUAL_RANGE\",strips:\"REFRESH_AXES\",constantLines:\"REFRESH_AXES\"},_partialOptionChangesPath:{argumentAxis:[\"strips\",\"constantLines\",\"visualRange\",\"_customVisualRange\"],valueAxis:[\"strips\",\"constantLines\",\"visualRange\",\"_customVisualRange\"]},_initCore:function(){this._panesClipRects={},this.callBase()},_disposeCore:function(){var e=this._disposeObjectsInArray,t=this._panesClipRects;this.callBase(),e.call(t,\"fixed\"),e.call(t,\"base\"),e.call(t,\"wide\"),this._panesClipRects=null,this._labelsAxesGroup.linkOff(),this._labelsAxesGroup.dispose(),this._labelsAxesGroup=null},_dispose:function(){var e=this._disposeObjectsInArray;this.callBase(),this.panes=null,this._legend&&(this._legend.dispose(),this._legend=null),e.call(this,\"panesBackground\"),e.call(this,\"seriesFamilies\"),this._disposeAxes()},_createPanes:function(){this._cleanPanesClipRects(\"fixed\"),this._cleanPanesClipRects(\"base\"),this._cleanPanesClipRects(\"wide\")},_cleanPanesClipRects:function(e){(this._panesClipRects[e]||[]).forEach((function(e){null==e||e.dispose()})),this._panesClipRects[e]=[]},_getElementsClipRectID:function(e){var t=this._panesClipRects.fixed[this._getPaneIndex(e)];return null==t?void 0:t.id},_getPaneIndex:function(e){var t=e||\"default\";return this.panes.findIndex((function(e){return e.name===t}))},_updateSize:function(){this.callBase(),(0,d.setCanvasValues)(this._canvas)},_reinitAxes:function(){this.panes=this._createPanes(),this._populateAxes(),this._axesReinitialized=!0},_populateAxes:function(){var e,t,n=this,i=this.panes,o=this._isRotated(),a=v(this.option(\"argumentAxis\")||{})[0],r=this.option(\"valueAxis\"),s=v(r||{}),l=[],u=[],c=0,h=this._getCrosshairMargins();function f(){var e=\"defaultAxisName\"+String(c);return c+=1,e}t=o?\"right\"===a.position?i[i.length-1].name:i[0].name:\"top\"===a.position?i[0].name:i[i.length-1].name,e=(0,d.map)(i,(function(e){var i=e.name!==t;return n._populateAxesOptions(\"argumentAxis\",a,{pane:e.name,name:null,optionPath:\"argumentAxis\",crosshairMargin:o?h.x:h.y},o,i)})),s.forEach((function(e,t){var i,a=[],s=e.name;s&&u.includes(s)?n._incidentOccurred(\"E2102\"):(s&&u.push(s),e.pane&&a.push(e.pane),(null===(i=e.panes)||void 0===i?void 0:i.length)&&(a=a.concat(e.panes.slice(0))),(a=(0,d.unique)(a)).length||a.push(void 0),a.forEach((function(i){var a=_(r)?\"valueAxis[\".concat(String(t),\"]\"):\"valueAxis\";l.push(n._populateAxesOptions(\"valueAxis\",e,{name:s||f(),pane:i,priority:t,optionPath:a,crosshairMargin:o?h.y:h.x},o))})))})),this._redesignAxes(e,!0,t),this._redesignAxes(l,!1)},_redesignAxes:function(e,t,n){var i=this,o=[],a=t?this._argumentAxes:this._valueAxes;e.forEach((function(e){var n=null==a?void 0:a.filter((function(t){return t.name===e.name&&(!(0,s.isDefined)(e.pane)&&i.panes.some((function(e){return e.name===t.pane}))||t.pane===e.pane)}));(null==n?void 0:n.length)?n.forEach((function(n){var a=function(e,t,n){if(n)return{argumentAxisType:e.argumentAxisType,argumentType:e.argumentType};var i=e.groups.find((function(e){return e.valueAxis===t}));return{valueAxisType:i.valueAxisType,valueType:i.valueType}}(i._groupsData,n,t);n.updateOptions(e),t?n.setTypes(a.argumentAxisType,a.argumentType,\"argumentType\"):n.setTypes(a.valueAxisType,a.valueType,\"valueType\"),n.validate(),o.push({axis:n})})):o.push({options:e})})),a?(0,r.reverseEach)(a,(function(e,n){o.some((function(e){return e.axis&&e.axis===n}))||i._disposeAxis(e,t)})):a=t?this._argumentAxes=[]:this._valueAxes=[],o.forEach((function(e){var o=e.axis;e.axis&&t?e.axis.isVirtual=e.axis.pane!==n:e.options&&(o=i._createAxis(t,e.options,t?e.options.pane!==n:void 0),a.push(o)),o.applyVisualRangeSetter(i._getVisualRangeSetter())}))},_disposeAxis:function(e,t){var n=t?this._argumentAxes:this._valueAxes,i=n[e];i&&(i.dispose(),n.splice(e,1))},_disposeAxes:function(){var e=this._disposeObjectsInArray;e.call(this,\"_argumentAxes\"),e.call(this,\"_valueAxes\")},_appendAdditionalSeriesGroups:function(){this._crosshairCursorGroup.linkAppend(),this._scrollBar&&this._scrollBarGroup.linkAppend()},_getLegendTargets:function(){var e=this;return(this.series||[]).map((function(t){var n=e._getLegendOptions(t);return n.legendData.series=t,t.getOptions().showInLegend||(n.legendData.visible=!1),n}))},_legendItemTextField:\"name\",_seriesPopulatedHandlerCore:function(){this._processSeriesFamilies(),this._processValueAxisFormat()},_renderTrackers:function(){for(var e=0;e<this.series.length;e+=1)this.series[e].drawTrackers()},_specialProcessSeries:function(){this._processSeriesFamilies()},_processSeriesFamilies:function(){var e,t,n=this,i=[],o=[],a=this._themeManager,r=a.getOptions(\"negativesAsZeroes\"),l=a.getOptions(\"negativesAsZeros\"),d={minBubbleSize:a.getOptions(\"minBubbleSize\"),maxBubbleSize:a.getOptions(\"maxBubbleSize\"),barGroupPadding:a.getOptions(\"barGroupPadding\"),barGroupWidth:a.getOptions(\"barGroupWidth\"),negativesAsZeroes:(0,s.isDefined)(r)?r:l};(null===(e=this.seriesFamilies)||void 0===e?void 0:e.length)?this.seriesFamilies.forEach((function(e){e.updateOptions(d),e.adjustSeriesValues()})):(this.series.forEach((function(e){i.includes(e.type)||i.push(e.type)})),this._getLayoutTargets().forEach((function(e){t=n._getSeriesForPane(e.name),i.forEach((function(i){var a=new u.SeriesFamily({type:i,pane:e.name,minBubbleSize:d.minBubbleSize,maxBubbleSize:d.maxBubbleSize,barGroupPadding:d.barGroupPadding,barGroupWidth:d.barGroupWidth,negativesAsZeroes:d.negativesAsZeroes,rotated:n._isRotated()});a.add(t),a.adjustSeriesValues(),o.push(a)}))})),this.seriesFamilies=o)},_updateSeriesDimensions:function(){for(var e=this.seriesFamilies||[],t=0;t<e.length;t+=1){var n=e[t];n.updateSeriesValues(),n.adjustSeriesDimensions()}},_getLegendCallBack:function(e){var t;return null===(t=this._legend)||void 0===t?void 0:t.getActionCallback(e)},_appendAxesGroups:function(){this._stripsGroup.linkAppend(),this._gridGroup.linkAppend(),this._axesGroup.linkAppend(),this._labelsAxesGroup.linkAppend(),this._constantLinesGroup.linkAppend(),this._stripLabelAxesGroup.linkAppend(),this._scaleBreaksGroup.linkAppend()},_populateMarginOptions:function(){var e,t,n,i,o,a,r=this,s=(e=this.getSize(),t=this.panes.length,n=this._themeManager.getOptions(\"maxBubbleSize\"),i=this._isRotated(),o=i?e.width/t:e.width,a=i?e.height:e.height/t,Math.min(o,a)*n),l={};this._valueAxes.forEach((function(e){var t=r.series.filter((function(t){return t.getValueAxis()===e})),n={};t.forEach((function(e){if(e.isVisible()){var t=function(e,t){return e.processBubbleSize&&(e.size=t),e}(e.getMarginOptions(),s);n=(0,d.mergeMarginOptions)(n,t),l=(0,d.mergeMarginOptions)(l,t)}})),e.setMarginOptions(n)})),this._argumentAxes.forEach((function(e){return e.setMarginOptions(l)}))},_populateBusinessRange:function(e,t){var n=this,i=this._isRotated(),o=this._getVisibleSeries(),a={},r=new h.Range({rotated:!!i}),s=function(e){return e.pane||\"default\"};if(this.panes.forEach((function(e){a[e.name]=new h.Range({rotated:!!i})})),this._valueAxes.forEach((function(r){var l=new h.Range({rotated:!!i,pane:r.pane,axis:r.name}),u=o.filter((function(e){return e.getValueAxis()===r}));u.forEach((function(e){var t=e.getRangeData();l.addRange(t.val),a[s(r)].addRange(t.arg)})),(!e||e&&u.length&&r===e)&&(r.setGroupSeries(u),r.setBusinessRange(l,n._axesReinitialized||t,n._argumentAxes[0]._lastVisualRangeUpdateMode))})),!e||e&&o.length){Object.keys(a).forEach((function(e){return r.addRange(a[e])}));var l=r.interval;this._argumentAxes.forEach((function(e){var t,i=null!==(t=a[s(e)].interval)&&void 0!==t?t:l;e.setBusinessRange(new h.Range(g(g({},r),{interval:i})),n._axesReinitialized,void 0,n._groupsData.categories)}))}this._populateMarginOptions()},getArgumentAxis:function(){return(this._argumentAxes||[]).find((function(e){return!e.isVirtual}))},getValueAxis:function(e){var t=this;return(this._valueAxes||[]).find((0,s.isDefined)(e)?function(t){return t.name===e}:function(e){return e.pane===t.defaultPane})},_getGroupsData:function(){var e=this,t=[];return this._valueAxes.forEach((function(n){t.push({series:e.series.filter((function(e){return e.getValueAxis()===n})),valueAxis:n,valueOptions:n.getOptions()})})),{groups:t,argumentAxes:this._argumentAxes,argumentOptions:this._argumentAxes[0].getOptions()}},_groupSeries:function(){this._correctValueAxes(!1),this._groupsData=this._getGroupsData()},_processValueAxisFormat:function(){var e=[];this.series.forEach((function(t){var n=t.getValueAxis();t.isFullStackedSeries()&&(n.setPercentLabelFormat(),e.push(n))})),this._valueAxes.forEach((function(t){e.includes(t)||t.resetAutoLabelFormat()}))},_populateAxesOptions:function(e,t,n,i,o){var r=this._prepareStripsAndConstantLines(e,t,i),s=(0,a.extend)(!0,{},r,n,this._prepareAxisOptions(e,r,i));return o&&(s.visible=!1,s.tick.visible=!1,s.minorTick.visible=!1,s.label.visible=!1,s.title={}),s},_getValFilter:function(e){return c.default.getViewPortFilter(e.getValueAxis().visualRange()||{})},_createAxis:function(e,t,n){var i=this,o=e?\"argumentAxis\":\"valueAxis\",r=(0,a.extend)({renderer:this._renderer,incidentOccurred:this._incidentOccurred,eventTrigger:this._eventTrigger,axisClass:e?\"arg\":\"val\",widgetClass:\"dxc\",stripsGroup:this._stripsGroup,stripLabelAxesGroup:this._stripLabelAxesGroup,constantLinesGroup:this._constantLinesGroup,scaleBreaksGroup:this._scaleBreaksGroup,axesContainerGroup:this._axesGroup,labelsAxesGroup:this._labelsAxesGroup,gridGroup:this._gridGroup,isArgumentAxis:e,getTemplate:function(e){return i._getTemplate(e)}},this._getAxisRenderingOptions(o)),s=new l.Axis(r);return s.updateOptions(t),s.isVirtual=n,s},_applyVisualRangeByVirtualAxes:function(){return!1},_applyCustomVisualRangeOption:function(e,t){e.getOptions().optionPath&&this._parseVisualRangeOption(\"\".concat(e.getOptions().optionPath,\".visualRange\"),t)},_getVisualRangeSetter:function(){var e=this;return function(t,n){var i=n.skipEventRising,o=n.range;e._applyCustomVisualRangeOption(t,o),t.setCustomVisualRange(o),t.skipEventRising=i,e._applyVisualRangeByVirtualAxes(t,o)||(e._applyingChanges?e._change_VISUAL_RANGE():e._requestChange([\"VISUAL_RANGE\"]))}},_getTrackerSettings:function(){return(0,a.extend)(this.callBase(),{argumentAxis:this.getArgumentAxis()})},_prepareStripsAndConstantLines:function(e,t,n){return(t=this._themeManager.getOptions(e,t,n)).strips&&t.strips.forEach((function(e,n){t.strips[n]=(0,a.extend)(!0,{},t.stripStyle,e)})),t.constantLines&&t.constantLines.forEach((function(e,n){t.constantLines[n]=(0,a.extend)(!0,{},t.constantLineStyle,e)})),t},refresh:function(){this._disposeAxes(),this.callBase()},_layoutAxes:function(e){e();var t=this.checkForMoreSpaceForPanesCanvas();if(t){var n=this._rect.slice(),i=this._layout.backward(n,n,[t.width,t.height]);t.width=Math.max(0,i[0]),t.height=Math.max(0,i[1]),this._canvas=this._createCanvasFromRect(n),e(t)}},checkForMoreSpaceForPanesCanvas:function(){return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(),this._isRotated())},_parseVisualRangeOption:function(e,t){var n,i=this,o=e.split(/[.[]/)[0],a=e.match(/\\d+/g);a=(0,s.isDefined)(a)?parseInt(a[0],10):a,e.indexOf(\"visualRange\")>0?(\"object\"!==(0,s.type)(t)&&(t=null!==(n=b(e,t))&&void 0!==n?n:t),this._setCustomVisualRange(o,a,t)):(\"object\"===(0,s.type)(t)||_(t))&&o.indexOf(\"Axis\")>0&&JSON.stringify(t).indexOf(\"visualRange\")>0&&((0,s.isDefined)(t.visualRange)?this._setCustomVisualRange(o,a,t.visualRange):_(t)&&t.forEach((function(e,t){(0,s.isDefined)(e.visualRange)&&i._setCustomVisualRange(o,t,e.visualRange)})))},_setCustomVisualRange:function(e,t,n){var i=this._options.silent(e);i&&((0,s.isDefined)(t)?i[t]._customVisualRange=n:i._customVisualRange=n,this._axesReinitialized=!0)},_raiseZoomEndHandlers:function(){this._valueAxes.forEach((function(e){return e.handleZoomEnd()}))},_setOptionsByReference:function(){this.callBase(),(0,a.extend)(this._optionsByReference,{\"valueAxis.visualRange\":!0})},_notifyOptionChanged:function(e,t){this.callBase.apply(this,arguments),this._optionChangedLocker||this._parseVisualRangeOption(e,t)},_notifyVisualRange:function(){var e=this;this._valueAxes.forEach((function(t){var n=t.getOptions().optionPath;if(n){var i=\"\".concat(n,\".visualRange\"),o=(0,d.convertVisualRangeObject)(t.visualRange(),!_(e.option(i)));t.skipEventRising&&(0,d.rangesAreEqual)(o,e.option(i))?t.skipEventRising=null:e.option(n)||\"valueAxis\"===n?e.option(i,o):e.option(n,{name:t.name,visualRange:o})}}))},_notify:function(){this.callBase(),this._axesReinitialized=!1,!0!==this.option(\"disableTwoWayBinding\")&&(this.skipOptionsRollBack=!0,this._notifyVisualRange(),this.skipOptionsRollBack=!1)},_getAxesForScaling:function(){return this._valueAxes},_getAxesByOptionPath:function(e,t,n){var i,o=this._getAxesForScaling(),a=[];t?(e.fullName&&(i=e.fullName.slice(0,e.fullName.indexOf(\".\"))),a=o.filter((function(e){return e.getOptions().optionPath===i}))):\"object\"===(0,s.type)(e.value)?a=o.filter((function(t){return t.getOptions().optionPath===e.name})):_(e.value)&&e.value.forEach((function(t,i){var r=o.filter((function(t){return t.getOptions().optionPath===\"\".concat(e.name,\"[\").concat(i,\"]\")}))[0];(0,s.isDefined)(t[n])&&(0,s.isDefined)(r)&&(a[i]=r)}));return a},_optionChanged:function(e){if(!this._optionChangedLocker){var t,n=e.fullName.indexOf(\"visualRange\")>0||!(this.getPartialChangeOptionsName(e).indexOf(\"visualRange\")>-1)&&void 0;(0,s.isDefined)(n)&&(t=this._getAxesByOptionPath(e,n,\"visualRange\"))&&(t.length>1||_(e.value)?t.forEach((function(t,i){return y(e,t,n,i)})):1===t.length&&y(e,t[0],n))}this.callBase(e)},_change_VISUAL_RANGE:function(){if(this._recreateSizeDependentObjects(!1),!this._changes.has(\"FULL_RENDER\")){var e=this.option(\"resizePanesOnZoom\");this._doRender({force:!0,drawTitle:!1,drawLegend:!1,adjustAxes:null!=e?e:this.option(\"adjustAxesOnZoom\")||!1,animate:!1}),this._raiseZoomEndHandlers()}},resetVisualRange:function(){var e=this;this._valueAxes.forEach((function(t){t.resetVisualRange(!1),e._applyCustomVisualRangeOption(t)})),this._requestChange([\"VISUAL_RANGE\"])},_getCrosshairMargins:function(){return{x:0,y:0}},_legendDataField:\"series\",_adjustSeriesLabels:o.noop,_correctValueAxes:o.noop});t.AdvancedChart=x},14107:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.overlapping=t.BaseChart=void 0;var o=n(20576),a=n(13306),r=n(95479),s=n(35922),l=k(n(55994)),u=n(39611),d=n(61189),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(19957)),h=n(99327),f=n(45865),p=n(16342),g=n(1539),m=n(82454),_=n(64758),v=n(17384),y=n(14371),b=n(19157),x=n(54932),w=k(n(55845)),C=n(56136);function S(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(S=function(e){return e?n:t})(e)}function k(e){return e&&e.__esModule?e:{default:e}}var D=Array.isArray,I=[\"_reinit\",\"_updateDataSource\",\"_dataInit\",\"_forceRender\",\"_resize\"];function T(e,t){var n=t.end-t.start,i=0;for(e.forEach((function(e){i+=e.getBoundingRect().width}));n<i;)i-=E(e)}function E(e){var t=e.reduce((function(e,t,n){if(!t)return e;var i=t.value();return i<e.value?{value:i,rollingStock:t,index:n}:e}),{rollingStock:void 0,value:1/0,index:void 0});t.rollingStock.getLabels()[0].draw(!1);var n=t.rollingStock.getBoundingRect().width;return e[t.index]=null,n}function O(e){var t,n,i,o,a=!1;for(t=0,i=e.length-1;t<i;t++){for(n=t+1,o=e.length;n<o;n++)if(t!==n&&A(e[t],e[n],!0)){a=!0;break}if(a)break}return a}function A(e,t,n){if(e&&t){var i=e.getBoundingRect(),o=t.getBoundingRect(),a=!n||(i.oppositeStart<=o.oppositeStart&&i.oppositeEnd>o.oppositeStart||o.oppositeStart<=i.oppositeStart&&o.oppositeEnd>i.oppositeStart);return i.end>o.start&&a}}function P(e){var t=[],n=[];return e.forEach((function(e){e.value()>0?t.push(e):n.unshift(e)})),t.concat(n)}function M(e){for(var t,n=0;n<e.length-1;n+=1){var i=t||e[n];A(i,e[n+1])?(i.toChain(e[n+1]),e[n+1]=null,t=i):t=e[n+1]||i}}function R(e,t){return e.getBoundingRect().end>t.end}function B(e,t){for(var n=0;n<e.length;n+=1){var i=e[n],o=!0;if(null!==i&&R(i,t))for(var a=i.getBoundingRect(),r=n+1;r<e.length;r+=1){var s=e[r];if(s)if(s.getBoundingRect().end>a.start-(a.end-t.end)){s.toChain(i),o=!1;break}}o&&(null==i||i.setRollingStockInCanvas(t))}}var L={resolveLabelOverlappingInOneDirection:function(e,t,n,i,o){var a,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(){return 0},s=[],l={start:n?t.left:t.top,end:n?t.width-t.right:t.height-t.bottom},u=!1;if(e.forEach((function(e){e&&(u=u||e.series.isStackedSeries()||e.series.isFullStackedSeries(),e.getLabels().forEach((function(e){e.isVisible()&&s.push(new C.RollingStock(e,n,o))})))})),u)Number(!n)^Number(i)&&s.reverse(),a=i?s:P(s);else{var d=s.slice();a=s.sort((function(e,t){return r(e,t)||e.getInitialPosition()-t.getInitialPosition()||d.indexOf(e)-d.indexOf(t)}))}return!!O(a)&&(T(a,l),M(a),a.reverse(),B(a,l),!0)}};t.overlapping=L;var V=w.default.inherit({_eventsMap:{onSeriesClick:{name:\"seriesClick\"},onPointClick:{name:\"pointClick\"},onArgumentAxisClick:{name:\"argumentAxisClick\"},onLegendClick:{name:\"legendClick\"},onSeriesSelectionChanged:{name:\"seriesSelectionChanged\"},onPointSelectionChanged:{name:\"pointSelectionChanged\"},onSeriesHoverChanged:{name:\"seriesHoverChanged\"},onPointHoverChanged:{name:\"pointHoverChanged\"},onDone:{name:\"done\",actionSettings:{excludeValidators:[\"disabled\"]}},onZoomStart:{name:\"zoomStart\"},onZoomEnd:{name:\"zoomEnd\"}},_fontFields:[\"legend.\".concat(\"font\"),\"legend.title.\".concat(\"font\"),\"legend.title.subtitle.\".concat(\"font\"),\"commonSeriesSettings.label.\".concat(\"font\")],_rootClassPrefix:\"dxc\",_rootClass:\"dxc-chart\",_initialChanges:[\"INIT\"],_themeDependentChanges:[\"REFRESH_SERIES_REINIT\"],_getThemeManagerOptions:function(){var e=this.callBase.apply(this,arguments);return e.options=this.option(),e},_createThemeManager:function(){var e=this.option(),t=new h.ThemeManager(this._getThemeManagerOptions());return t.setTheme(e.theme,e.rtlEnabled),t},_initCore:function(){this._canvasClipRect=this._renderer.clipRect(),this._createHtmlStructure(),this._createLegend(),this._createTracker(),this._needHandleRenderComplete=!0,this.layoutManager=new d.LayoutManager,this._createScrollBar(),l.default.on(this._$element,\"contextmenu\",(function(e){((0,u.isTouchEvent)(e)||(0,u.isPointerEvent)(e))&&e.preventDefault()})),l.default.on(this._$element,\"MSHoldVisual\",(function(e){e.preventDefault()}))},_getLayoutItems:o.noop,_layoutManagerOptions:function(){return this._themeManager.getOptions(\"adaptiveLayout\")},_reinit:function(){(0,b.setCanvasValues)(this._canvas),this._reinitAxes(),this._requestChange([\"DATA_SOURCE\",\"DATA_INIT\",\"CORRECT_AXIS\",\"FULL_RENDER\"])},_correctAxes:o.noop,_createHtmlStructure:function(){var e=this,t=this._renderer,n=t.root,i=function(){return t.g().attr({class:\"dxc-constant-lines-group\"}).linkOn(n,\"constant-lines\")};this._constantLinesGroup={dispose:function(){this.under.dispose(),this.above.dispose()},linkOff:function(){this.under.linkOff(),this.above.linkOff()},clear:function(){this.under.linkRemove().clear(),this.above.linkRemove().clear()},linkAppend:function(){this.under.linkAppend(),this.above.linkAppend()}},this._labelsAxesGroup=t.g().attr({class:\"dxc-elements-axes-group\"});var o=function(){e._labelsAxesGroup.linkOn(n,\"elements\")};this._backgroundRect=t.rect().attr({fill:\"gray\",opacity:1e-4}).append(n),this._panesBackgroundGroup=t.g().attr({class:\"dxc-background\"}).append(n),this._stripsGroup=t.g().attr({class:\"dxc-strips-group\"}).linkOn(n,\"strips\"),this._gridGroup=t.g().attr({class:\"dxc-grids-group\"}).linkOn(n,\"grids\"),this._panesBorderGroup=t.g().attr({class:\"dxc-border\"}).linkOn(n,\"border\"),this._axesGroup=t.g().attr({class:\"dxc-axes-group\"}).linkOn(n,\"axes\"),this._executeAppendBeforeSeries(o),this._stripLabelAxesGroup=t.g().attr({class:\"dxc-strips-labels-group\"}).linkOn(n,\"strips-labels\"),this._constantLinesGroup.under=i(),this._seriesGroup=t.g().attr({class:\"dxc-series-group\"}).linkOn(n,\"series\"),this._executeAppendAfterSeries(o),this._constantLinesGroup.above=i(),this._scaleBreaksGroup=t.g().attr({class:\"dxc-scale-breaks\"}).linkOn(n,\"scale-breaks\"),this._labelsGroup=t.g().attr({class:\"dxc-labels-group\"}).linkOn(n,\"labels\"),this._crosshairCursorGroup=t.g().attr({class:\"dxc-crosshair-cursor\"}).linkOn(n,\"crosshair\"),this._legendGroup=t.g().attr({class:\"dxc-legend\",\"clip-path\":this._getCanvasClipRectID()}).linkOn(n,\"legend\").linkAppend(n).enableLinks(),this._scrollBarGroup=t.g().attr({class:\"dxc-scroll-bar\"}).linkOn(n,\"scroll-bar\")},_executeAppendBeforeSeries:function(){},_executeAppendAfterSeries:function(){},_disposeObjectsInArray:function(e,t){(this[e]||[]).forEach((function(e){t&&e?t.forEach((function(t){var n;null===(n=e[t])||void 0===n||n.dispose()})):null==e||e.dispose()})),this[e]=null},_disposeCore:function(){var e=this,t=function(t){e[t]&&(e[t].dispose(),e[t]=null)},n=function(t){e[t].linkOff()},i=this._disposeObjectsInArray;this._renderer.stopAllAnimations(),i.call(this,\"series\"),t(\"_tracker\"),t(\"_crosshair\"),this.layoutManager=this._userOptions=this._canvas=this._groupsData=null,n(\"_stripsGroup\"),n(\"_gridGroup\"),n(\"_axesGroup\"),n(\"_constantLinesGroup\"),n(\"_stripLabelAxesGroup\"),n(\"_panesBorderGroup\"),n(\"_seriesGroup\"),n(\"_labelsGroup\"),n(\"_crosshairCursorGroup\"),n(\"_legendGroup\"),n(\"_scrollBarGroup\"),n(\"_scaleBreaksGroup\"),t(\"_canvasClipRect\"),t(\"_panesBackgroundGroup\"),t(\"_backgroundRect\"),t(\"_stripsGroup\"),t(\"_gridGroup\"),t(\"_axesGroup\"),t(\"_constantLinesGroup\"),t(\"_stripLabelAxesGroup\"),t(\"_panesBorderGroup\"),t(\"_seriesGroup\"),t(\"_labelsGroup\"),t(\"_crosshairCursorGroup\"),t(\"_legendGroup\"),t(\"_scrollBarGroup\"),t(\"_scaleBreaksGroup\")},_getAnimationOptions:function(){return this._themeManager.getOptions(\"animation\")},_getDefaultSize:function(){return{width:400,height:400}},_getOption:function(e){return this._themeManager.getOptions(e)},_applySize:function(e){this._rect=e.slice(),this._changes.has(\"FULL_RENDER\")||this._processRefreshData(\"_resize\")},_resize:function(){this._doRender(this.__renderOptions||{animate:!1,isResize:!0})},_trackerType:\"ChartTracker\",_createTracker:function(){this._tracker=new c[this._trackerType]({seriesGroup:this._seriesGroup,renderer:this._renderer,tooltip:this._tooltip,legend:this._legend,eventTrigger:this._eventTrigger})},_getTrackerSettings:function(){return(0,a.extend)({chart:this},this._getSelectionModes())},_getSelectionModes:function(){var e=this._themeManager;return{seriesSelectionMode:e.getOptions(\"seriesSelectionMode\"),pointSelectionMode:e.getOptions(\"pointSelectionMode\")}},_updateTracker:function(e){this._tracker.update(this._getTrackerSettings()),this._tracker.setCanvases({left:0,right:this._canvas.width,top:0,bottom:this._canvas.height},e)},_createCanvasFromRect:function(e){var t=this._canvas;return(0,b.setCanvasValues)({left:e[0],top:e[1],right:t.width-e[2],bottom:t.height-e[3],width:t.width,height:t.height})},_doRender:function(e){if(0!==this._canvas.width||0!==this._canvas.height){this._resetIsReady();var t=this._prepareDrawOptions(e),n=t.recreateCanvas;this._preserveOriginalCanvas(),n?this.__currentCanvas=this._canvas:this._canvas=this.__currentCanvas,n&&this._updateCanvasClipRect(this._canvas),this._canvas=this._createCanvasFromRect(this._rect),this._renderer.stopAllAnimations(!0),this._cleanGroups();var i=new Date;this._renderElements(t),this._lastRenderingTime=Number(new Date)-Number(i)}},_preserveOriginalCanvas:function(){this.__originalCanvas=this._canvas,this._canvas=(0,a.extend)({},this._canvas)},_layoutAxes:o.noop,_renderElements:function(e){var t,n,i,o=this,r=this._prepareToRender(e),s=this._isRotated(),l=this._isLegendInside(),u=[];(0,a.extend)({},this._canvas);this._renderer.lock(),e.drawLegend&&this._legend&&this._legendGroup.linkAppend(),this.layoutManager.setOptions(this._layoutManagerOptions());var d=this._getLayoutTargets();this._layoutAxes((function(t){var n=t?(0,a.extend)({},e,{animate:!1,recreateCanvas:!0}):e,i=o._renderAxes(n,r);o._shrinkAxes(t,i)})),this._applyClipRects(r),this._appendSeriesGroups(),this._createCrosshairCursor(),d.forEach((function(e){var t=e.canvas;u.push({left:t.left,right:t.width-t.right,top:t.top,bottom:t.height-t.bottom})})),this._scrollBar&&(\"discrete\"===(t=this._argumentAxes[0].getTranslator().getBusinessRange()).axisType&&t.categories&&t.categories.length<=1||\"discrete\"!==t.axisType&&t.min===t.max?n=i=void 0:(n=t.minVisible,i=t.maxVisible),this._scrollBar.init(t,!this._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(n,i)),this._updateTracker(u),this._updateLegendPosition(e,l),this._applyPointMarkersAutoHiding(),this._renderSeries(e,s,l),this._renderGraphicObjects(),this._renderer.unlock()},_updateLegendPosition:o.noop,_createCrosshairCursor:o.noop,_appendSeriesGroups:function(){this._seriesGroup.linkAppend(),this._labelsGroup.linkAppend(),this._appendAdditionalSeriesGroups()},_renderSeries:function(e,t,n){this._calculateSeriesLayout(e,t),this._renderSeriesElements(e,n)},_calculateSeriesLayout:function(e,t){e.hideLayoutLabels=this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(),t)&&!this._themeManager.getOptions(\"adaptiveLayout\").keepLabels,this._updateSeriesDimensions(e)},_getArgFilter:function(){return function(){return!0}},_getValFilter:function(){return function(){return!0}},_getPointsToAnimation:function(e){var t=this,n=this._getArgFilter();return e.map((function(e){var i=t._getValFilter(e);return e.getPoints().filter((function(e){return e.getOptions().visible&&n(e.argument)&&(i(e.getMinValue(!0))||i(e.getMaxValue(!0)))})).length}))},_renderSeriesElements:function(e,t){var n=this,i=this.series,o=this._themeManager.getOptions(\"resolveLabelOverlapping\"),a=this._getPointsToAnimation(i);i.forEach((function(t,i){n._applyExtraSettings(t,e);var o=e.animate&&a[i]<=e.animationPointsLimit&&n._renderer.animationEnabled();t.draw(o,e.hideLayoutLabels,n._getLegendCallBack(t))})),\"none\"===o?this._adjustSeriesLabels(!1):this._locateLabels(o),this._renderTrackers(t),this._tracker.repairTooltip(),this._renderExtraElements(),this._clearCanvas(),this._seriesElementsDrawn=!0},_changesApplied:function(){this._seriesElementsDrawn&&(this._seriesElementsDrawn=!1,this._drawn(),this._renderCompleteHandler())},_locateLabels:function(e){this._resolveLabelOverlapping(e)},_renderExtraElements:function(){},_clearCanvas:function(){this._canvas=this.__originalCanvas},_resolveLabelOverlapping:function(e){var t;switch(e){case\"stack\":t=this._resolveLabelOverlappingStack;break;case\"hide\":t=this._resolveLabelOverlappingHide;break;case\"shift\":t=this._resolveLabelOverlappingShift}return(0,s.isFunction)(t)&&t.call(this)},_getVisibleSeries:function(){return(0,o.grep)(this.getAllSeries(),(function(e){return e.isVisible()}))},_resolveLabelOverlappingHide:function(){var e,t,n,i,o,a,r,s,l,u=[],d=this._getVisibleSeries();for(o=0;o<d.length;o++)for(r=d[o].getVisiblePoints(),a=0;a<r.length;a++)u.push.apply(u,r[a].getLabels());for(o=0;o<u.length;o++)if((e=u[o]).isVisible())for(n=e.getBoundingRect(),a=o+1;a<u.length;a++)i=(t=u[a]).getBoundingRect(),l=i,((s=n).x<=l.x&&l.x<=s.x+s.width||s.x>=l.x&&s.x<=l.x+l.width)&&(s.y<=l.y&&l.y<=s.y+s.height||s.y>=l.y&&s.y<=l.y+l.height)&&t.draw(!1)},_cleanGroups:function(){this._stripsGroup.linkRemove().clear(),this._gridGroup.linkRemove().clear(),this._axesGroup.linkRemove().clear(),this._constantLinesGroup.clear(),this._stripLabelAxesGroup.linkRemove().clear(),this._labelsGroup.linkRemove().clear(),this._crosshairCursorGroup.linkRemove().clear(),this._scaleBreaksGroup.linkRemove().clear()},_allowLegendInsidePosition:function(){return!1},_createLegend:function(){var e,t,n,i=(e=this._legendDataField,{getFormatObject:function(e){var t={};return t[n.indexField]=e.id,t[n.colorField]=e.states.normal.fill,t[n.nameField]=e.text,t},textField:(n={nameField:\"\".concat(t=e,\"Name\"),colorField:\"\".concat(t,\"Color\"),indexField:\"\".concat(t,\"Index\")}).nameField});this._legend=new p.Legend({renderer:this._renderer,widget:this,group:this._legendGroup,backgroundClass:\"dxc-border\",itemGroupClass:\"dxc-item\",titleGroupClass:\"dxc-title\",textField:i.textField,getFormatObject:i.getFormatObject,allowInsidePosition:this._allowLegendInsidePosition()}),this._updateLegend(),this._layout.add(this._legend)},_updateLegend:function(){var e=this._themeManager,t=e.getOptions(\"legend\"),n=this._getLegendData();t.containerBackgroundColor=e.getOptions(\"containerBackgroundColor\"),t._incidentOccurred=this._incidentOccurred,this._legend.update(n,t,e.theme(\"legend\").title),this._change([\"LAYOUT\"])},_prepareDrawOptions:function(e){var t=this._getAnimationOptions(),n=(0,a.extend)({},{force:!1,adjustAxes:!0,drawLegend:!0,drawTitle:!0,animate:t.enabled,animationPointsLimit:t.maxPointCountSupported},e,this.__renderOptions);return(0,s.isDefined)(n.recreateCanvas)||(n.recreateCanvas=n.adjustAxes&&n.drawLegend&&n.drawTitle),n},_processRefreshData:function(e){var t=I.indexOf(this._currentRefreshData),n=I.indexOf(e);(!this._currentRefreshData||t>=0&&n<t)&&(this._currentRefreshData=e),this._requestChange([\"REFRESH\"])},_getLegendData:function(){return(0,b.map)(this._getLegendTargets(),(function(e){var t=e.legendData,n=e.getLegendStyles,i=n.normal.opacity;e.visible||((!(0,s.isDefined)(i)||i>.3)&&(i=.3),t.textOpacity=.3);var o={opacity:i};return t.states={hover:(0,a.extend)({},n.hover,o),selection:(0,a.extend)({},n.selection,o),normal:(0,a.extend)({},n.normal,o)},t}))},_getLegendOptions:function(e){return{legendData:{text:e[this._legendItemTextField],id:e.index,visible:!0},getLegendStyles:e.getLegendStyles(),visible:e.isVisible()}},_disposeSeries:function(e){var t;this.series&&((0,s.isDefined)(e)?(this.series[e].dispose(),this.series.splice(e,1)):(this.series.forEach((function(e){return e.dispose()})),this.series.length=0)),(null===(t=this.series)||void 0===t?void 0:t.length)||(this.series=[])},_disposeSeriesFamilies:function(){(this.seriesFamilies||[]).forEach((function(e){e.dispose()})),this.seriesFamilies=null,this._needHandleRenderComplete=!0},_optionChanged:function(e){this._themeManager.resetOptions(e.name),this.callBase.apply(this,arguments)},_applyChanges:function(){this._themeManager.update(this._options.silent()),this.callBase.apply(this,arguments)},_optionChangesMap:{animation:\"ANIMATION\",dataSource:\"DATA_SOURCE\",palette:\"PALETTE\",paletteExtensionMode:\"PALETTE\",legend:\"FORCE_DATA_INIT\",seriesTemplate:\"FORCE_DATA_INIT\",export:\"FORCE_RENDER\",valueAxis:\"AXES_AND_PANES\",argumentAxis:\"AXES_AND_PANES\",commonAxisSettings:\"AXES_AND_PANES\",panes:\"AXES_AND_PANES\",commonPaneSettings:\"AXES_AND_PANES\",defaultPane:\"AXES_AND_PANES\",containerBackgroundColor:\"AXES_AND_PANES\",rotated:\"ROTATED\",autoHidePointMarkers:\"REFRESH_SERIES_REINIT\",customizePoint:\"REFRESH_SERIES_REINIT\",customizeLabel:\"REFRESH_SERIES_REINIT\",scrollBar:\"SCROLL_BAR\"},_optionChangesOrder:[\"ROTATED\",\"PALETTE\",\"REFRESH_SERIES_REINIT\",\"USE_SPIDER_WEB\",\"AXES_AND_PANES\",\"INIT\",\"REINIT\",\"DATA_SOURCE\",\"REFRESH_SERIES_DATA_INIT\",\"DATA_INIT\",\"FORCE_DATA_INIT\",\"REFRESH_AXES\",\"CORRECT_AXIS\"],_customChangesOrder:[\"ANIMATION\",\"REFRESH_SERIES_FAMILIES\",\"FORCE_FIRST_DRAWING\",\"FORCE_DRAWING\",\"FORCE_RENDER\",\"VISUAL_RANGE\",\"SCROLL_BAR\",\"REINIT\",\"REFRESH\",\"FULL_RENDER\"],_change_ANIMATION:function(){this._renderer.updateAnimationOptions(this._getAnimationOptions())},_change_DATA_SOURCE:function(){this._needHandleRenderComplete=!0,this._updateDataSource()},_change_PALETTE:function(){this._themeManager.updatePalette(),this._refreshSeries(\"DATA_INIT\")},_change_REFRESH_SERIES_DATA_INIT:function(){this._refreshSeries(\"DATA_INIT\")},_change_DATA_INIT:function(){this.series&&!this.needToPopulateSeries||this._changes.has(\"FORCE_DATA_INIT\")||this._dataInit()},_change_FORCE_DATA_INIT:function(){this._dataInit()},_change_REFRESH_SERIES_FAMILIES:function(){this._processSeriesFamilies(),this._populateBusinessRange(),this._processRefreshData(\"_forceRender\")},_change_FORCE_RENDER:function(){this._processRefreshData(\"_forceRender\")},_change_AXES_AND_PANES:function(){this._refreshSeries(\"INIT\")},_change_ROTATED:function(){this._createScrollBar(),this._refreshSeries(\"INIT\")},_change_REFRESH_SERIES_REINIT:function(){this._refreshSeries(\"INIT\")},_change_REFRESH_AXES:function(){(0,b.setCanvasValues)(this._canvas),this._reinitAxes(),this._requestChange([\"CORRECT_AXIS\",\"FULL_RENDER\"])},_change_SCROLL_BAR:function(){this._createScrollBar(),this._processRefreshData(\"_forceRender\")},_change_REINIT:function(){this._processRefreshData(\"_reinit\")},_change_FORCE_DRAWING:function(){this._resetComponentsAnimation()},_change_FORCE_FIRST_DRAWING:function(){this._resetComponentsAnimation(!0)},_resetComponentsAnimation:function(e){this.series.forEach((function(t){t.resetApplyingAnimation(e)})),this._resetAxesAnimation(e)},_resetAxesAnimation:o.noop,_refreshSeries:function(e){this.needToPopulateSeries=!0,this._requestChange([e])},_change_CORRECT_AXIS:function(){this._correctAxes()},_doRefresh:function(){var e=this._currentRefreshData;e&&(this._currentRefreshData=null,this._renderer.stopAllAnimations(!0),this[e]())},_updateCanvasClipRect:function(e){var t=Math.max(e.width-e.left-e.right,0),n=Math.max(e.height-e.top-e.bottom,0);this._canvasClipRect.attr({x:e.left,y:e.top,width:t,height:n}),this._backgroundRect.attr({x:e.left,y:e.top,width:t,height:n})},_getCanvasClipRectID:function(){return this._canvasClipRect.id},_dataSourceChangedHandler:function(){this._changes.has(\"INIT\")?this._requestChange([\"DATA_INIT\"]):this._requestChange([\"FORCE_DATA_INIT\"])},_dataInit:function(){this._dataSpecificInit(!0)},_processSingleSeries:function(e){e.createPoints(!1)},_handleSeriesDataUpdated:function(){var e=this;this._getVisibleSeries().some((function(e){return e.useAggregation()}))&&this._populateMarginOptions(),this.series.forEach((function(t){return e._processSingleSeries(t)}),this)},_dataSpecificInit:function(e){this.series&&!this.needToPopulateSeries||(this.series=this._populateSeries()),this._repopulateSeries(),this._seriesPopulatedHandlerCore(),this._populateBusinessRange(),this._tracker.updateSeries(this.series,this._changes.has(\"INIT\")),this._updateLegend(),e&&this._requestChange([\"FULL_RENDER\"])},_forceRender:function(){this._doRender({force:!0})},_repopulateSeries:function(){var e=this._themeManager,t=this._dataSourceItems(),n=e.getOptions(\"dataPrepareSettings\");e.getOptions(\"seriesTemplate\")&&this._populateSeries(t),this._groupSeries();var i=(0,f.validateData)(t,this._groupsData,this._incidentOccurred,n);e.resetPalette(),this.series.forEach((function(e){e.updateData(i[e.getArgumentField()])})),this._handleSeriesDataUpdated()},_renderCompleteHandler:function(){var e=!0;this._needHandleRenderComplete&&(this.series.forEach((function(t){e=e&&t.canRenderCompleteHandle()})),e&&(this._needHandleRenderComplete=!1,this._eventTrigger(\"done\",{target:this})))},_dataIsReady:function(){return(0,s.isDefined)(this.option(\"dataSource\"))&&this._dataIsLoaded()},_populateSeriesOptions:function(e){for(var t,n,i=this,o=this._themeManager,r=o.getOptions(\"seriesTemplate\"),l=r?(0,b.processSeriesTemplate)(r,e||[]):this.option(\"series\"),u=D(l)?l:l?[l]:[],d=this._getExtraOptions(),c=[],h=function(e){i._specialProcessSeries(),i._populateBusinessRange(e&&e.getValueAxis(),!0),i._renderer.stopAllAnimations(!0),i._updateLegend(),i._requestChange([\"FULL_RENDER\"])},f=0;f<u.length;f++)t=(0,a.extend)(!0,{},u[f],d),(0,s.isDefined)(t.name)&&\"\"!==t.name||(t.name=\"Series \".concat((f+1).toString())),t.rotated=this._isRotated(),t.customizePoint=o.getOptions(\"customizePoint\"),t.customizeLabel=o.getOptions(\"customizeLabel\"),t.visibilityChanged=h,t.incidentOccurred=this._incidentOccurred,n=o.getOptions(\"series\",t,u.length),this._checkPaneName(n)&&c.push(n);return c},_populateSeries:function(e){var t,n,i=this,o=[],s=this._incidentOccurred,l=this._populateSeriesOptions(e),u=!1;this.needToPopulateSeries=!1,l.forEach((function(e){var t,n=null===(t=i.series)||void 0===t?void 0:t.find((function(t){return t.name===e.name&&!o.map((function(e){return e.series})).includes(t)}));n&&n.type===e.type?o.push({series:n,options:e}):(o.push({options:e}),u=!0)})),0!==(null===(t=this.series)||void 0===t?void 0:t.length)&&this._tracker.clearHover(),(0,r.reverseEach)(this.series,(function(e,t){o.some((function(e){return t===e.series}))||(i._disposeSeries(e),u=!0)})),!u&&(u=o.some((function(e){return e.series.name!==l[e.series.index].name}))),this.series=[],u&&this._disposeSeriesFamilies(),this._themeManager.resetPalette();var d=function(e){i.series.forEach((function(t){t.notify(e)}))};return o.forEach((function(e){var t,o,r=e.options,l=null!==(o=null===(t=i._argumentAxes)||void 0===t?void 0:t.filter((function(e){return e.pane===r.pane}))[0])&&void 0!==o?o:i.getArgumentAxis(),u={commonSeriesModes:i._getSelectionModes(),argumentAxis:l,valueAxis:i._getValueAxis(r.pane,r.axis)};e.series?(n=e.series).updateOptions(r,u):n=new x.Series((0,a.extend)({renderer:i._renderer,seriesGroup:i._seriesGroup,labelsGroup:i._labelsGroup,eventTrigger:i._eventTrigger,eventPipe:d,incidentOccurred:s},u),r),n.isUpdated?(n.index=i.series.length,i.series.push(n)):s(\"E2101\",[r.type])})),this.series},getStackedPoints:function(e){var t=e.series.getStackName();return this._getVisibleSeries().reduce((function(n,i){return(0,s.isDefined)(i.getStackName())&&(0,s.isDefined)(t)&&t!==i.getStackName()||(n=n.concat(i.getPointsByArg(e.argument))),n}),[])},getAllSeries:function(){return(this.series||[]).slice()},getSeriesByName:function(e){return(this.series||[]).find((function(t){return t.name===e}))||null},getSeriesByPos:function(e){return(this.series||[])[e]},clearSelection:function(){this._tracker.clearSelection()},hideTooltip:function(){this._tracker._hideTooltip()},clearHover:function(){this._tracker.clearHover()},render:function(e){return this.__renderOptions=e,this.__forceRender=e&&e.force,this.callBase.apply(this,arguments),this.__renderOptions=this.__forceRender=null,this},refresh:function(){this._disposeSeries(),this._disposeSeriesFamilies(),this._requestChange([\"CONTAINER_SIZE\",\"REFRESH_SERIES_REINIT\"])},_getMinSize:function(){var e=this._layoutManagerOptions();return[e.width,e.height]},_change_REFRESH:function(){this._changes.has(\"INIT\")?this._currentRefreshData=null:this._doRefresh()},_change_FULL_RENDER:function(){this._forceRender()},_change_INIT:function(){this._reinit()},_stopCurrentHandling:function(){this._tracker.stopCurrentHandling()}});t.BaseChart=V,[\"series\",\"commonSeriesSettings\",\"dataPrepareSettings\",\"seriesSelectionMode\",\"pointSelectionMode\",\"synchronizeMultiAxes\",\"resolveLabelsOverlapping\"].forEach((function(e){V.prototype._optionChangesMap[e]=\"REFRESH_SERIES_DATA_INIT\"})),[\"adaptiveLayout\",\"crosshair\",\"resolveLabelOverlapping\",\"adjustOnZoom\",\"stickyHovering\"].forEach((function(e){V.prototype._optionChangesMap[e]=\"FORCE_RENDER\"})),[\"minBubbleSize\",\"maxBubbleSize\",\"barGroupPadding\",\"barGroupWidth\",\"negativesAsZeroes\",\"negativesAsZeros\"].forEach((function(e){V.prototype._optionChangesMap[e]=\"REFRESH_SERIES_FAMILIES\"})),V.addPlugin(m.plugin),V.addPlugin(v.plugin),V.addPlugin(g.plugin),V.addPlugin(y.plugin),V.addPlugin(_.plugin);var F=V.prototype._change_TITLE;V.prototype._change_TITLE=function(){F.apply(this,arguments),this._change([\"FORCE_RENDER\"])}},56136:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.RollingStock=void 0;var n=function(){function e(e,t,n){var i=e.getBoundingRect(),o=i.x,a=i.y,r=i.x+i.width,s=i.y+i.height;this.labels=[e],this.shiftFunction=n,this.bBox={start:t?o:a,width:t?i.width:i.height,end:t?r:s,oppositeStart:t?a:o,oppositeEnd:t?s:r},this.initialPosition=t?i.x:i.y}var t=e.prototype;return t.toChain=function(e){var t=e.getBoundingRect();e.shift(t.start-this.bBox.end),this.changeBoxWidth(t.width),this.labels=this.labels.concat(e.labels)},t.getBoundingRect=function(){return this.bBox},t.shift=function(e){var t=this;this.labels.forEach((function(n){var i=n.getBoundingRect(),o=t.shiftFunction(i,e);n.hideInsideLabel(o)||n.shift(o.x,o.y)})),this.bBox.end-=e,this.bBox.start-=e},t.setRollingStockInCanvas=function(e){this.bBox.end>e.end&&this.shift(this.bBox.end-e.end)},t.getLabels=function(){return this.labels},t.value=function(){return this.labels[0].getData().value},t.getInitialPosition=function(){return this.initialPosition},t.changeBoxWidth=function(e){this.bBox.end+=e,this.bBox.width+=e},e}();t.RollingStock=n},55845:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=C(n(20530)),o=C(n(73349)),a=C(n(13046)),r=C(n(68374)),s=n(20576),l=n(62754),u=n(13306),d=n(95479),c=n(58664),h=n(35922),f=n(58201),p=C(n(55994)),g=n(43637),m=n(98469),_=C(n(80726)),v=n(3603),y=C(n(94551)),b=n(56453),x=n(19157),w=C(n(66798));function C(e){return e&&e.__esModule?e:{default:e}}function S(){return(S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var k=Math.floor,D=_.default.log,I=a.default.prototype.option;function T(){return!0}function E(){return!1}function O(e){e.component._eventsStrategy.hasEvent(\"incidentOccurred\")||D.apply(null,[e.target.id].concat(e.target.args||[]))}function A(e){return e.reduce((function(e,t){return t>0&&!e?t:e}),0)}function P(e){e.forEach((function(e){return e()}))}function M(e){return S(S({},e),{height:k(e.height),width:k(e.width)})}var R,B,L,V=!(0,f.hasWindow)()?(R={_initTemplates:function(){},ctor:function(e,t){this.callBase(e,t);var n=o.default.createElement(\"div\"),i=t&&(0,h.isNumeric)(t.width)?\"\".concat(t.width,\"px\"):\"100%\",a=t&&(0,h.isNumeric)(t.height)?\"\".concat(t.height,\"px\"):\"\".concat(this._getDefaultSize().height,\"px\");o.default.setStyle(n,\"width\",i),o.default.setStyle(n,\"height\",a),o.default.setClass(n,\"dx-sized-element\",!1),o.default.insertElement(e,n)}},B=a.default.inherit(R),L=B.inherit,B.inherit=function(e){return Object.keys(e).forEach((function(t){((0,h.isFunction)(e[t])&&\"_\"!==t.substr(0,1)&&\"option\"!==t||\"_dispose\"===t||\"_optionChanged\"===t)&&(e[t]=s.noop)})),L.call(this,e)},B):a.default.inherit({_eventsMap:{onIncidentOccurred:{name:\"incidentOccurred\",actionSettings:{excludeValidators:[\"disabled\"]}},onDrawn:{name:\"drawn\",actionSettings:{excludeValidators:[\"disabled\"]}}},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{onIncidentOccurred:O})},_useLinks:!0,_init:function(){var e=this;this._$element.children(\".\".concat(\"dx-sized-element\")).remove(),this._graphicObjects={},this.callBase.apply(this,arguments),this._changesLocker=0,this._optionChangedLocker=0,this._asyncFirstDrawing=!0,this._changes=(0,v.changes)(),this._suspendChanges(),this._themeManager=this._createThemeManager(),this._themeManager.setCallback((function(){e._requestChange(e._themeDependentChanges)})),this._renderElementAttributes(),this._initRenderer();var t=this._useLinks;t&&this._renderer.root.enableLinks().virtualLink(\"core\").virtualLink(\"peripheral\"),this._renderVisibilityChange(),this._attachVisibilityChangeHandlers(),this._toggleParentsScrollSubscription(this._isVisible()),this._initEventTrigger(),this._incidentOccurred=(0,m.createIncidentOccurred)(this.NAME,this._eventTrigger),this._layout=new y.default,t&&this._renderer.root.linkAfter(\"core\"),this._initPlugins(),this._initCore(),t&&this._renderer.root.linkAfter(),this._change(this._initialChanges)},_createThemeManager:function(){return new g.BaseThemeManager(this._getThemeManagerOptions())},_getThemeManagerOptions:function(){return{themeSection:this._themeSection,fontFields:this._fontFields}},_initialChanges:[\"LAYOUT\",\"RESIZE_HANDLER\",\"THEME\",\"DISABLED\"],_initPlugins:function(){var e=this;(0,d.each)(this._plugins,(function(t,n){n.init.call(e)}))},_disposePlugins:function(){var e=this;(0,d.each)(this._plugins.slice().reverse(),(function(t,n){n.dispose.call(e)}))},_change:function(e){this._changes.add(e)},_suspendChanges:function(){this._changesLocker+=1},_resumeChanges:function(){0==--this._changesLocker&&this._changes.count()>0&&!this._applyingChanges&&(this._renderer.lock(),this._applyingChanges=!0,this._applyChanges(),this._changes.reset(),this._applyingChanges=!1,this._changesApplied(),this._renderer.unlock(),this._optionsQueue&&this._applyQueuedOptions(),this.resolveItemsDeferred(this._legend?[this._legend]:[]),this._optionChangedLocker+=1,this._notify(),this._optionChangedLocker-=1)},resolveItemsDeferred:function(e){this._resolveDeferred(this._getTemplatesItems(e))},_collectTemplatesFromItems:function(e){return e.reduce((function(e,t){return{items:e.items.concat(t.getTemplatesDef()),groups:e.groups.concat(t.getTemplatesGroups())}}),{items:[],groups:[]})},_getTemplatesItems:function(e){var t=this._collectTemplatesFromItems(e),n=this._getExtraTemplatesItems();return{items:n.items.concat(t.items),groups:n.groups.concat(t.groups),launchRequest:[n.launchRequest],doneRequest:[n.doneRequest]}},_getExtraTemplatesItems:function(){return{items:[],groups:[],launchRequest:function(){},doneRequest:function(){}}},_resolveDeferred:function(e){var t=this,n=e.items,i=e.launchRequest,o=e.doneRequest,a=e.groups;if(this._setGroupsVisibility(a,\"hidden\"),this._changesApplying)return this._changesApplying=!1,void P(o);var r=!0;l.when.apply(this,n).done((function(){if(r)t._setGroupsVisibility(a,\"visible\");else{P(i),t._changesApplying=!0;var e=[\"LAYOUT\",\"FULL_RENDER\"];t._asyncFirstDrawing?(e.push(\"FORCE_FIRST_DRAWING\"),t._asyncFirstDrawing=!1):e.push(\"FORCE_DRAWING\"),t._requestChange(e),t._setGroupsVisibility(a,\"visible\")}})),r=!1},_setGroupsVisibility:function(e,t){e.forEach((function(e){return e.attr({visibility:t})}))},_applyQueuedOptions:function(){var e=this._optionsQueue;this._optionsQueue=null,this.beginUpdate(),(0,d.each)(e,(function(e,t){t()})),this.endUpdate()},_requestChange:function(e){this._suspendChanges(),this._change(e),this._resumeChanges()},_applyChanges:function(){for(var e=this._changes,t=this._totalChangesOrder,n=t.length,i=0;i<n;i+=1)e.has(t[i])&&this[\"_change_\".concat(t[i])]()},_optionChangesOrder:[\"EVENTS\",\"THEME\",\"RENDERER\",\"RESIZE_HANDLER\"],_layoutChangesOrder:[\"ELEMENT_ATTR\",\"CONTAINER_SIZE\",\"LAYOUT\"],_customChangesOrder:[\"DISABLED\"],_change_EVENTS:function(){this._eventTrigger.applyChanges()},_change_THEME:function(){this._setThemeAndRtl()},_change_RENDERER:function(){this._setRendererOptions()},_change_RESIZE_HANDLER:function(){this._setupResizeHandler()},_change_ELEMENT_ATTR:function(){this._renderElementAttributes(),this._change([\"CONTAINER_SIZE\"])},_change_CONTAINER_SIZE:function(){this._updateSize()},_change_LAYOUT:function(){this._setContentSize()},_change_DISABLED:function(){var e=this._renderer,t=e.root;this.option(\"disabled\")?(this._initDisabledState=t.attr(\"pointer-events\"),t.attr({\"pointer-events\":\"none\",filter:e.getGrayScaleFilter().id})):\"none\"===t.attr(\"pointer-events\")&&t.attr({\"pointer-events\":(0,h.isDefined)(this._initDisabledState)?this._initDisabledState:null,filter:null})},_themeDependentChanges:[\"RENDERER\"],_initRenderer:function(){var e=this._calculateRawCanvas();this._canvas=M(e),this._renderer=new b.Renderer({cssClass:\"\".concat(this._rootClassPrefix,\" \").concat(this._rootClass),pathModified:this.option(\"pathModified\"),container:this._$element[0]}),this._renderer.resize(this._canvas.width,this._canvas.height)},_disposeRenderer:function(){this._renderer.dispose()},_disposeGraphicObjects:function(){var e=this;Object.keys(this._graphicObjects).forEach((function(t){e._graphicObjects[t].dispose()})),this._graphicObjects=null},_getAnimationOptions:s.noop,render:function(){this._requestChange([\"CONTAINER_SIZE\"]);var e=this._isVisible();this._toggleParentsScrollSubscription(e),!e&&this._stopCurrentHandling()},_toggleParentsScrollSubscription:function(e){var t=(0,r.default)(this._renderer.root.element).parents();\"generic\"===i.default.real().platform&&(t=t.add((0,f.getWindow)())),this._proxiedTargetParentsScrollHandler=this._proxiedTargetParentsScrollHandler||function(){this._stopCurrentHandling()}.bind(this),p.default.off((0,r.default)(\"\").add(this._$prevRootParents),\"scroll.viz_widgets\",this._proxiedTargetParentsScrollHandler),e&&(p.default.on(t,\"scroll.viz_widgets\",this._proxiedTargetParentsScrollHandler),this._$prevRootParents=t)},_stopCurrentHandling:s.noop,_dispose:function(){this._disposed||(this.callBase.apply(this,arguments),this._toggleParentsScrollSubscription(!1),this._removeResizeHandler(),this._layout.dispose(),this._eventTrigger.dispose(),this._disposeCore(),this._disposePlugins(),this._disposeGraphicObjects(),this._disposeRenderer(),this._themeManager.dispose(),this._themeManager=null,this._renderer=null,this._eventTrigger=null)},_initEventTrigger:function(){var e=this;this._eventTrigger=(0,m.createEventTrigger)(this._eventsMap,(function(t,n){return e._createActionByOption(t,n)}))},_calculateRawCanvas:function(){var e=this,t=this.option(\"size\")||{},n=this.option(\"margin\")||{},i=this._getDefaultSize()||{},o=function(t,n,i){if(o=t[n],(0,h.isDefined)(o)&&o>0||!(0,f.hasWindow)())return 0;var o,a=i(e._$element);return a<=1?0:a},a=o(t,\"width\",(function(e){return(0,c.getWidth)(e)})),r=o(t,\"height\",(function(e){return(0,c.getHeight)(e)})),s={width:t.width<=0?0:A([t.width,a,i.width]),height:t.height<=0?0:A([t.height,r,i.height]),left:A([n.left,i.left]),top:A([n.top,i.top]),right:A([n.right,i.right]),bottom:A([n.bottom,i.bottom])};return(s.width-s.left-s.right<=0||s.height-s.top-s.bottom<=0)&&(s={width:0,height:0}),s},_updateSize:function(){var e,t,n,i,o=this._calculateRawCanvas();e=this._canvas,t=o,n=[\"width\",\"height\"].every((function(n){return Math.abs(e[n]-t[n])<1})),i=[\"left\",\"right\",\"top\",\"bottom\"].every((function(n){return e[n]===t[n]})),n&&i&&!this.__forceRender||(this._canvas=M(o),this._recreateSizeDependentObjects(!0),this._renderer.resize(this._canvas.width,this._canvas.height),this._change([\"LAYOUT\"]))},_recreateSizeDependentObjects:s.noop,_getMinSize:function(){return[0,0]},_getAlignmentRect:s.noop,_setContentSize:function(){var e=this._canvas,t=this._layout,n=e.width>0&&e.height>0?[e.left,e.top,e.width-e.right,e.height-e.bottom]:[0,0,0,0];n=t.forward(n,this._getMinSize());var i=this._applySize(n)||n;t.backward(i,this._getAlignmentRect()||i)},_getOption:function(e,t){var n=this._themeManager.theme(e),i=this.option(e);return t?void 0!==i?i:n:(0,u.extend)(!0,{},n,i)},_setupResizeHandler:function(){var e=this,t=(0,x.parseScalar)(this._getOption(\"redrawOnResize\",!0),!0);this._disposeResizeHandler&&this._removeResizeHandler(),this._disposeResizeHandler=(0,m.createResizeHandler)(this._$element[0],t,(function(){return e._requestChange([\"CONTAINER_SIZE\"])}))},_removeResizeHandler:function(){this._disposeResizeHandler&&(this._disposeResizeHandler(),this._disposeResizeHandler=null)},_onBeginUpdate:s.noop,beginUpdate:function(){return this._initialized&&this._isUpdateAllowed()&&(this._onBeginUpdate(),this._suspendChanges()),this.callBase.apply(this,arguments),this},endUpdate:function(){return this.callBase(),this._isUpdateAllowed()&&this._resumeChanges(),this},option:function(e){if(!(this._initialized&&this._applyingChanges&&(arguments.length>1||(0,h.isObject)(e))))return I.apply(this,arguments);this._optionsQueue=this._optionsQueue||[],this._optionsQueue.push(this._getActionForUpdating(arguments))},_getActionForUpdating:function(e){var t=this;return function(){I.apply(t,e)}},_clean:s.noop,_render:s.noop,_optionChanged:function(e){var t=this;if(!this._optionChangedLocker){var n=this.getPartialChangeOptionsName(e),i=[];n.length>0?n.forEach((function(e){return i.push(t._partialOptionChangesMap[e])})):i.push(this._optionChangesMap[e.name]),i=i.filter((function(e){return!!e})),this._eventTrigger.change(e.name)?this._change([\"EVENTS\"]):i.length>0?this._change(i):this.callBase.apply(this,arguments)}},_notify:s.noop,_changesApplied:s.noop,_optionChangesMap:{size:\"CONTAINER_SIZE\",margin:\"CONTAINER_SIZE\",redrawOnResize:\"RESIZE_HANDLER\",theme:\"THEME\",rtlEnabled:\"THEME\",encodeHtml:\"THEME\",elementAttr:\"ELEMENT_ATTR\",disabled:\"DISABLED\"},_partialOptionChangesMap:{},_partialOptionChangesPath:{},getPartialChangeOptionsName:function(e){var t=this,n=e.fullName,i=n.split(/[.]/),o=e.name,a=e.value,r=this._partialOptionChangesPath[o],s=[];return r&&(!0===r?s.push(o):(r.forEach((function(e){n.indexOf(e)>=0&&s.push(e)})),1===i.length&&(\"object\"===(0,h.type)(a)?this._addOptionsNameForPartialUpdate(a,r,s):\"array\"===(0,h.type)(a)&&a.length>0&&a.every((function(e){return t._checkOptionsForPartialUpdate(e,r)}))&&a.forEach((function(e){t._addOptionsNameForPartialUpdate(e,r,s)}))))),s.filter((function(e,t,n){return n.indexOf(e)===t}))},_checkOptionsForPartialUpdate:function(e,t){return!Object.keys(e).some((function(e){return-1===t.indexOf(e)}))},_addOptionsNameForPartialUpdate:function(e,t,n){var i=Object.keys(e);this._checkOptionsForPartialUpdate(e,t)&&i.forEach((function(e){return t.indexOf(e)>-1&&n.push(e)}))},_visibilityChanged:function(){this.render()},_setThemeAndRtl:function(){this._themeManager.setTheme(this.option(\"theme\"),this.option(\"rtlEnabled\"))},_getRendererOptions:function(){return{rtl:this.option(\"rtlEnabled\"),encodeHtml:this.option(\"encodeHtml\"),animation:this._getAnimationOptions()}},_setRendererOptions:function(){this._renderer.setOptions(this._getRendererOptions())},svg:function(){return this._renderer.svg()},getSize:function(){var e=this._canvas||{};return{width:e.width,height:e.height}},isReady:E,_dataIsReady:T,_resetIsReady:function(){this.isReady=E},_renderGraphicObjects:function(){var e=this,t=this._renderer,n=w.default.getGraphicObjects();Object.keys(n).forEach((function(i){if(!e._graphicObjects[i]){var o=n[i],a=o.type,r=o.colors,s=o.rotationAngle,l=o.template,u=o.width,d=o.height;switch(a){case\"linear\":e._graphicObjects[i]=t.linearGradient(r,i,s);break;case\"radial\":e._graphicObjects[i]=t.radialGradient(r,i);break;case\"pattern\":e._graphicObjects[i]=t.customPattern(i,e._getTemplate(l),u,d)}}}))},_drawn:function(){var e=this;this.isReady=E,this._dataIsReady()&&this._renderer.onEndAnimation((function(){e.isReady=T})),this._eventTrigger(\"drawn\",{})}}),F=V;t.default=F,(0,v.replaceInherit)(V)},4096:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=S(n(99393)),o=n(20576),a=n(13306),r=n(95479),s=n(60810),l=n(58664),u=n(35922),d=n(58201),c=n(97574),h=n(61189),f=S(n(42597)),p=n(97882),g=S(n(70714)),m=S(n(59345)),_=n(77129),v=n(19157),y=S(n(63407)),b=n(21177),x=n(34434),w=n(41690),C=n(14107);function S(e){return e&&e.__esModule?e:{default:e}}function k(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(e,t)}(e)||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 D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var I=[{name:\"default\",border:{}}],T=Array.isArray;function E(e,t,n){var i=e.getOptions().grid,o=e.getOptions().minorGrid;i.visible=t,o&&(o.visible=n)}function O(e,t){return e.priority-t.priority}function A(e,t){var n=!1;return(0,r.each)(e,(function(e,i){if(i.name===t)return n=!0,!1})),n}function P(e,t,n,i){var o=t[e]||0,a=n[e]||0;return o+a+(o&&a?i:0)}function M(e,t,n){return R(t[e],n[e])}function R(e,t){return Math.max(e||0,t||0)}function B(e){return e.getMargins()}function L(e,t){return e.reduce((function(e,n){var i,o=t(n),a=e.panes[n.pane]=e.panes[n.pane]||{},r=n.getMultipleAxesSpacing();a.top=P(\"top\",a,o,r),a.bottom=P(\"bottom\",a,o,r),a.left=M(\"left\",a,o),a.right=M(\"right\",a,o),e.top=M(\"top\",a,e),e.bottom=M(\"bottom\",a,e),e.left=M(\"left\",a,e),e.right=M(\"right\",a,e);var s=null===(i=n.getOrthogonalAxis)||void 0===i?void 0:i.call(n);return(null==s?void 0:s.customPositionIsAvailable())&&(!n.customPositionIsBoundaryOrthogonalAxis()||!s.customPositionEqualsToPredefined())&&(e[s.getResolvedBoundaryPosition()]=0),e}),{panes:{}})}function V(e){return e.reduce((function(e,t){var n=t.getMargins(),i=e.panes[t.pane]=e.panes[t.pane]||{},o=t.getMultipleAxesSpacing();return i.top=M(\"top\",i,n),i.bottom=M(\"bottom\",i,n),i.left=P(\"left\",i,n,o),i.right=P(\"right\",i,n,o),e.top=M(\"top\",i,e),e.bottom=M(\"bottom\",i,e),e.left=M(\"left\",i,e),e.right=M(\"right\",i,e),e}),{panes:{}})}function F(e,t,n,i,o){e.forEach((function(e){e[t](null==n?void 0:n[e.pane],(null==i?void 0:i[e.pane])||i,o)}))}function H(e,t,n,i,o){function a(t,n,i){return((e?[\"left\",\"right\"]:[\"top\",\"bottom\"]).includes(t)?n.panes[i]||{}:n)[t]}function r(e,t,n,i){return R(a(e,t,i),a(e,n,i))}var s=function(e){return\"original\".concat(e[0].toUpperCase()).concat(e.slice(1))};function l(e,t,a,l,u,d){(t=t.sort((function(t,n){return e[n][l]-e[t][l]}))).forEach((function(t){var n=e[t];d.forEach((function(e){n[e]=n[s(e)]+r(e,i,o,t)}))}));var c=e[t[0]],h=c[a]-c[s(u)]-e[t.at(-1)][s(l)],f=t.reduce((function(e,t){return e-r(l,i,o,t)-r(u,i,o,t)}),h)-v.PANE_PADDING*(t.length-1);f-=Object.keys(n).reduce((function(e,t){return e+((0,v.isRelativeHeightPane)(n[t])?0:n[t].height)}),0);var p=c[a]-c[s(u)]-(f<0?f:0);t.reduce((function(t,s){var d=e[s],h=n[s];return t-=r(u,i,o,s),d[u]=c[a]-t,t-=(0,v.isRelativeHeightPane)(h)?Math.floor(f*h.height):h.height,d[l]=t,t-=r(l,i,o,s)+v.PANE_PADDING}),p)}var u=Object.keys(t);return e?l(t,u,\"width\",\"left\",\"right\",[\"top\",\"bottom\"]):l(t,u,\"height\",\"top\",\"bottom\",[\"left\",\"right\"]),t}function N(e,t,n,i){t&&(F(e,\"createTicks\",n),f.default.synchronize(e)),F(e,\"draw\",!t&&n,i)}function z(e,t){var n={};return function(i){if(!i.customPositionIsAvailable()||i.customPositionEqualsToPredefined()){var o=n[i.pane]=n[i.pane]||{top:0,left:0,bottom:0,right:0},a=i.getMultipleAxesSpacing(),r=i.getMargins();i.shift(o),o[e]=P(e,o,r,a),o[t]=P(t,o,r,a)}else i.shift({top:0,left:0,bottom:0,right:0})}}function j(e,t){var n,i=0;return Object.keys(t.panes).forEach((function(o){n=t.panes[o],i+=\"height\"===e?n.top+n.bottom:n.left+n.right})),i}function W(e,t,n,i){var o=0;e[t]>0&&(o=j(t,i(n,B)),F(n,\"hideTitle\"),e[t]-=o-j(t,i(n,B))),e[t]>0&&F(n,\"hideOuterElements\")}var G=function(e,t,n){var i=t.x-n<=e.x,o=t.x+n>=e.x,a=t.y-n<=e.y,r=t.y+n>=e.y;return i&&o&&(a&&r)},q=function(e,t,n){for(var i=e.getOptions().size/2,o=0;o<t.length;o+=1){if(!n){var a=t[o].x===e.x,r=t[o].y===e.y;if(a&&r)continue}if(G(e,t[o],i))return!0}return!1};var $=w.AdvancedChart.inherit({_themeSection:\"chart\",_fontFields:[\"crosshair.label.font\"],_initCore:function(){this.paneAxis={},this.callBase()},_init:function(){this._containerInitialHeight=(0,d.hasWindow)()?(0,l.getHeight)(this._$element):0,this.callBase()},_correctAxes:function(){this._correctValueAxes(!0)},_setDeprecatedOptions:function(){this.callBase(),(0,a.extend)(this._deprecatedOptions,{\"argumentAxis.aggregateByCategory\":{since:\"23.1\",message:\"Use the aggregation.enabled property\"}})},_getExtraOptions:o.noop,_createPanes:function(){var e,t=this.option(\"panes\"),n=0;return(!t||T(t)&&!t.length)&&(t=I),this.callBase(),e=this.option(\"defaultPane\"),t=(0,a.extend)(!0,[],T(t)?t:[t]),(0,r.each)(t,(function(e,t){t.name=(0,u.isDefined)(t.name)?t.name:\"default\"+n++})),(0,u.isDefined)(e)?A(t,e)||(this._incidentOccurred(\"W2101\",[e]),e=t[t.length-1].name):e=t[t.length-1].name,this.defaultPane=e,t=this._isRotated()?t.reverse():t},_getAxisRenderingOptions:function(){return{axisType:\"xyAxes\",drawingType:\"linear\"}},_prepareAxisOptions:function(e,t,n){return{isHorizontal:\"argumentAxis\"===e!==n,containerColor:this._themeManager.getOptions(\"containerBackgroundColor\")}},_checkPaneName:function(e){var t=(0,v.map)(this.panes,(function(e){return e.name}));return e.pane=e.pane||this.defaultPane,t.includes(e.pane)},_initCustomPositioningAxes:function(){var e=this,t=this.getArgumentAxis(),n=t.getOptions().customPositionAxis,i=this._valueAxes.find((function(e){return e.pane===t.pane&&(!n||n===e.name)}));this._valueAxes.forEach((function(e){t!==e.getOrthogonalAxis()&&(e.getOrthogonalAxis=function(){return t},e.customPositionIsBoundaryOrthogonalAxis=function(){return t.customPositionIsBoundary()})})),(0,u.isDefined)(i)&&i!==t.getOrthogonalAxis()?(t.getOrthogonalAxis=function(){return i},t.customPositionIsBoundaryOrthogonalAxis=function(){return e._valueAxes.some((function(e){return e.customPositionIsBoundary()}))}):(0,u.isDefined)(t.getOrthogonalAxis())&&!(0,u.isDefined)(i)&&(t.getOrthogonalAxis=o.noop)},_getAllAxes:function(){return this._argumentAxes.concat(this._valueAxes)},_resetAxesAnimation:function(e,t){((0,u.isDefined)(t)?t^this._isRotated()?this._argumentAxes:this._valueAxes:this._getAllAxes()).forEach((function(t){t.resetApplyingAnimation(e)}))},_axesBoundaryPositioning:function(){var e=this._getAllAxes(),t=!1;return e.forEach((function(e){if(e.customPositionIsAvailable()){var n=e.customPositionIsBoundary();e._customBoundaryPosition=e.getCustomBoundaryPosition(),t=t||n!==e.customPositionIsBoundary()}})),t},_getCrosshairMargins:function(){var e=this._getCrosshairOptions()||{},t=e.enabled,n=(0,c.getMargins)(),i=(0,a.extend)(!0,{},e.label,e.horizontalLine.label),o=(0,a.extend)(!0,{},e.label,e.verticalLine.label);return{x:t&&e.horizontalLine.visible&&i.visible?n.x:0,y:t&&e.verticalLine.visible&&o.visible?n.y:0}},_getValueAxis:function(e,t){var n,i,o=this._valueAxes,a=this.option(\"valueAxis\")||{},r=T(a)?a:[a],s=this._isRotated(),l=this._getCrosshairMargins();return(i=function e(t,n,i){var o=i.find((function(e){return e.name===n&&e.pane===t}));return o||(t?e(void 0,n,i):void 0)}(e,t=t||function(e,t,n){for(var i,o=0;o<e.length;o+=1)if(e[o].pane===t||void 0===e[o].pane&&t===n){i=e[o].name;break}return i||(i=e[0].name),i}(o,e,this.defaultPane),o))||((n=function(e,t,n){var i,o;for(o=0;o<t.length;o+=1)if(t[o].name===n){(i=t[o]).priority=o;break}if(!i)for(o=0;o<e.length;o+=1)if(e[o].name===n){(i=e[o].getOptions()).priority=e[o].priority;break}return i}(o,r,t))||(this._incidentOccurred(\"W2102\",[t]),n={name:t,priority:o.length}),(i=this._createAxis(!1,this._populateAxesOptions(\"valueAxis\",n,{pane:e,name:t,optionPath:T(a)?\"valueAxis[\".concat(n.priority,\"]\"):\"valueAxis\",crosshairMargin:s?l.y:l.x},s))).applyVisualRangeSetter(this._getVisualRangeSetter()),o.push(i)),i.setPane(e),i},_correctValueAxes:function(e){var t=this,n=this._themeManager.getOptions(\"synchronizeMultiAxes\"),i=this._valueAxes,o={};this.series.forEach((function(e){var t=e.getValueAxis();o[t.pane]=!0})),this.panes.forEach((function(a){var r,s,l,u,d,c=a.name;o[c]||t._getValueAxis(c),e&&n&&(r=i.filter((function(e){return e.pane===c})),s=!1,l=[],u=r.some((function(e){var t=e.getOptions().minorGrid;return null==t?void 0:t.visible})),d=r.some((function(e){var t=e.getOptions().grid;return null==t?void 0:t.visible})),r.length>1&&(r.forEach((function(e){var t=e.getOptions().grid;s?E(e,!1,!1):(null==t?void 0:t.visible)&&(e.getTranslator().getBusinessRange().isEmpty()?(E(e,!1,!1),l.push(e)):(s=!0,E(e,d,u)))})),!s&&l.length&&E(l[0],d,u)))})),this._valueAxes=i.filter((function(e){e.pane||e.setPane(t.defaultPane);var n=A(t.panes,e.pane);return n||(e.dispose(),e=null),n})).sort(O);var a=this.getValueAxis();this._valueAxes.forEach((function(e){var n=e.getOptions().optionPath;if(n){var i=t._valueAxes.filter((function(e){return e.getOptions().optionPath===n}));i.length>1&&(i.some((function(e){return e===a}))?i.forEach((function(e){e!==a&&(e.getOptions().optionPath=null)})):i.forEach((function(e,t){0!==t&&(e.getOptions().optionPath=null)})))}}))},_getSeriesForPane:function(e){var t=[];return(0,r.each)(this.series,(function(n,i){i.pane===e&&t.push(i)})),t},_createPanesBorderOptions:function(){var e=this._themeManager.getOptions(\"commonPaneSettings\").border,t={};return this.panes.forEach((function(n){t[n.name]=(0,a.extend)(!0,{},e,n.border)})),t},_createScrollBar:function(){var e,t=this._themeManager.getOptions(\"scrollBar\")||{},n=this._scrollBarGroup;t.visible?(t.rotated=this._isRotated(),this._scrollBar=(this._scrollBar||new p.ScrollBar(this._renderer,n)).update(t)):(n.linkRemove(),null===(e=this._scrollBar)||void 0===e||e.dispose(),this._scrollBar=null)},_executeAppendAfterSeries:function(e){e()},_prepareToRender:function(){var e=this._createPanesBorderOptions();return this._createPanesBackground(),this._appendAxesGroups(),this._adjustViewport(),e},_adjustViewport:function(){this._themeManager.getOptions(\"adjustOnZoom\")&&this._valueAxes.forEach((function(e){return e.adjust()}))},_recreateSizeDependentObjects:function(e){var t=this,n=this._getVisibleSeries(),i=n.some((function(e){return e.useAggregation()})),o=this._isZooming();i&&(this._argumentAxes.forEach((function(e){e.updateCanvas(t._canvas,!0)})),n.forEach((function(t){t.useAggregation()&&(e||o||!t._useAllAggregatedPoints)&&t.createPoints()})),this._processSeriesFamilies())},_isZooming:function(){var e=this.getArgumentAxis();if(!(null==e?void 0:e.getTranslator()))return!1;var t=e.getTranslator().getBusinessRange(),n=e.getViewport(),i=n?n.min:0,o=n?n.max:0;\"logarithmic\"===t.axisType&&(i=(0,v.getLog)(i,t.base),o=(0,v.getLog)(o,t.base));var a=\"discrete\"===t.axisType?(0,v.getCategoriesInfo)(t.categories,i,o).categories.length:Math.abs(o-i),r=(0,s.getPrecision)(a);r=r>1?Math.pow(10,r-2):1;var l=Math.round((this._zoomLength-a)*r)/r!=0;return this._zoomLength=a,l},_handleSeriesDataUpdated:function(){var e=this,t=new b.Range;this.series.forEach((function(e){t.addRange(e.getArgumentRange())})),this._argumentAxes.forEach((function(n){n.updateCanvas(e._canvas,!0),n.setBusinessRange(t,e._axesReinitialized)})),this.callBase()},_isLegendInside:function(){return this._legend&&\"inside\"===this._legend.getPosition()},_isRotated:function(){return this._themeManager.getOptions(\"rotated\")},_getLayoutTargets:function(){return this.panes},_applyClipRects:function(e){this._drawPanesBorders(e),this._createClipRectsForPanes(),this._applyClipRectsForAxes(),this._fillPanesBackground()},_updateLegendPosition:function(e,t){if(e.drawLegend&&this._legend&&t){var n=this.panes,i=(0,a.extend)({},n[0].canvas),o=new h.LayoutManager;i.right=n[n.length-1].canvas.right,i.bottom=n[n.length-1].canvas.bottom,o.layoutInsideLegend(this._legend,i)}},_allowLegendInsidePosition:function(){return!0},_applyExtraSettings:function(e){var t=this._getPaneIndex(e.pane),n=this._panesClipRects,i=n.wide[t];e.setClippingParams(n.base[t].id,null==i?void 0:i.id,this._getPaneBorderVisibility(t))},_updatePanesCanvases:function(e){e.recreateCanvas&&(0,v.updatePanesCanvases)(this.panes,this._canvas,this._isRotated())},_normalizePanesHeight:function(){(0,v.normalizePanesHeight)(this.panes)},_renderScaleBreaks:function(){this._valueAxes.concat(this._argumentAxes).forEach((function(e){e.drawScaleBreaks()}))},_getArgFilter:function(){return y.default.getViewPortFilter(this.getArgumentAxis().visualRange()||{})},_hidePointsForSingleSeriesIfNeeded:function(e){for(var t=e.getPoints(),n=0,i=0;i<t.length;i+=1){var o=t[i],a=t.slice(i+1);if((n+=Number(q(o,a)))>t.length/2){e.autoHidePointMarkers=!0;break}}},_applyAutoHidePointMarkers:function(e){for(var t=[],n=function(e,n){return e+q(n,t,!0)},i=e.length-1;i>=0;i-=1){var o=e[i];if(o.autoHidePointMarkersEnabled()&&(o.autoHidePointMarkers=!1,this._hidePointsForSingleSeriesIfNeeded(o),!o.autoHidePointMarkers)){var a=o.getPoints();a.reduce(n,0)<a.length?t=t.concat(a):o.autoHidePointMarkers=!0}}},_applyPointMarkersAutoHiding:function(){var e=this,t=this.series;this._themeManager.getOptions(\"autoHidePointMarkers\")?this.panes.forEach((function(n){var i=n.borderCoords,o=n.name,r=t.filter((function(e){return e.pane===o&&e.usePointsToDefineAutoHiding()}));r.forEach((function(e){e.prepareCoordinatesForPoints()}));var s=e.getArgumentAxis(),l=function(e,t,n){var i=[],o={},r=n.visualRange(),s=n.getTranslator(),l=y.default.getViewPortFilter(r||{});return t.forEach((function(n){var r=n.getValueAxis(),u=r.getCanvasRange(),d=r.getTranslator(),c=e.indexOf(n),h=y.default.getViewPortFilter(u||{});o[c]={},t.forEach((function(t){o[c][e.indexOf(t)]=0}));var f=[];n.getPoints().filter((function(e){return e.getOptions().visible&&l(e.argument)&&(h(e.getMinValue(!0))||h(e.getMaxValue(!0)))})).forEach((function(e){var t={seriesIndex:c,argument:e.argument,value:e.getMaxValue(!0),size:e.bubbleSize||e.getOptions().size,x:void 0,y:void 0};if(e.getMinValue(!0)!==e.getMaxValue(!0)){var n=(0,a.extend)({},t);n.value=e.getMinValue(!0),n.x=s.to(n.argument,1),n.y=d.to(n.value,1),f.push(n)}t.x=s.to(t.argument,1),t.y=d.to(t.value,1),f.push(t)})),o[c].pointsCount=f.length,o[c].total=0,o[c].continuousSeries=0,i.push({name:n.name,index:c,points:f})})),{series:i,overloadedSeries:o}}(t,r,s);if(function(e,t,n){for(var i=e.width*e.height,o=t.series,a=function(e){var a=n.filter((function(t){return t.name===o[e].name}))[0],r=o[e].points,s=r.length?r[0].size:0,l=s*s*r.length;if(a.autoHidePointMarkersEnabled()&&l>=i/o.length){var u=o[e].index;a.autoHidePointMarkers=!0,o.splice(e,1),n.splice(n.indexOf(a),1),t.overloadedSeries[u]=null}},r=o.length-1;r>=0;r-=1)a(r)}(i,l,r),l.series.length){var d=s.visualRange(),c=\"discrete\"===s.getOptions().type?function(e,t){return d.categories.indexOf(e.argument)-d.categories.indexOf(t.argument)}:function(e,t){return e.argument-t.argument},h=[];l.series.forEach((function(e){h=h.concat(e.points)})),h.sort(c),function(e,t){for(var n=!1,i=0;i<e.length-1;i+=1){var o=e[i],a=o.size;if((0,u.isDefined)(o.x)&&(0,u.isDefined)(o.y))for(var r=i+1;r<e.length;r+=1){var s=e[r],l=null==s?void 0:s.x,d=null==s?void 0:s.y;if(!(0,u.isDefined)(l)||Math.abs(o.x-l)>=a){n=n&&r!==i+1;break}var c=(0,u.isDefined)(l)&&(0,u.isDefined)(d)&&Math.sqrt(Math.pow(o.x-l,2)+Math.pow(o.y-d,2));c&&c<a&&(t[o.seriesIndex][s.seriesIndex]+=1,t[o.seriesIndex].total+=1,n||(t[o.seriesIndex].continuousSeries+=1,n=!0))}}}(h,l.overloadedSeries),e._applyAutoHidePointMarkers(r)}})):t.forEach((function(e){e.autoHidePointMarkers=!1}))},_renderAxes:function(e,t){var n=this;function i(e){return e.map((function(e){if(!e.getTitle)return 0;var t=e.getTitle();return t?t.bBox.width:0}))}var o=this._isRotated(),r=this._themeManager.getOptions(\"synchronizeMultiAxes\"),s=this._scrollBar?[this._scrollBar]:[],l=this._isArgumentAxisBeforeScrollBar()?this._argumentAxes.concat(s):s.concat(this._argumentAxes),u=o?this._argumentAxes:this._valueAxes,d=o?l:this._valueAxes,c=o?this._valueAxes:this._argumentAxes,h=o?this._valueAxes:l,f=u.concat(c),p=f.concat(s),g=u.some((function(e){return e.isFirstDrawing()}));this._normalizePanesHeight(),this._updatePanesCanvases(e);var m=this.panes.reduce((function(e,t){return e[t.name]=(0,a.extend)({},t.canvas),e}),{}),_=this.panes.reduce((function(e,t){return e[t.name]={height:t.height,unit:t.unit},e}),{}),v=(0,a.extend)(!0,{},m);this._initCustomPositioningAxes();var y=this._axesBoundaryPositioning();if(!e.adjustAxes&&!y)return N(u,!o&&r,m,t),N(c,o&&r,m,t),F(f,\"prepareAnimation\"),this._renderScaleBreaks(),c.forEach((function(e){return e.resolveOverlappingForCustomPositioning(u)})),u.forEach((function(e){return e.resolveOverlappingForCustomPositioning(c)})),!1;y&&f.forEach((function(e){return e.customPositionIsAvailable()&&e.shift({top:0,left:0,bottom:0,right:0})})),this._scrollBar&&this._scrollBar.setPane(this.panes);var b={panes:{},left:0,right:0},x=L(h,(function(e){return e.estimateMargins(m[e.pane])}));m=H(o,m,_,b,x);var w=function(e){N(e?c:u,(e?o:!o)&&r,m,t),e?x=L(h,B):b=V(d),m=H(o,m,_,b,x)};w(!1),w(!0),!this._changesApplying&&this._estimateTickIntervals(u,m)&&w(!1);var C=i(u),S=this._getVisibleSeries(),k=function(e,t){var n=t.reduce((function(e,t){return e+t}),0)/t.length;return e.animate&&n<=e.animationPointsLimit}(e,this._getPointsToAnimation(S));return F(p,\"updateSize\",m,k),h.forEach(z(\"top\",\"bottom\")),d.forEach(z(\"left\",\"right\")),this._renderScaleBreaks(),this.panes.forEach((function(e){(0,a.extend)(e.canvas,m[e.name])})),this._valueAxes.forEach((function(e){e.setInitRange()})),u.forEach((function(e,t){var a;if(null===(a=e.hasWrap)||void 0===a?void 0:a.call(e)){var r=e.getTitle(),s=(r?r.bBox.width:0)-C[t];\"right\"===e.getOptions().position?b.right+=s:(b.left+=s,n.panes.forEach((function(e){var t=e.name;b.panes[t].left+=s}))),m=H(o,m,_,b,x),F(p,\"updateSize\",m,!1,!1),C=i(u)}})),u.some((function(e){return e.customPositionIsAvailable()&&e.getCustomPosition()!==e._axisPosition}))&&(k&&this._resetAxesAnimation(g,!1),F(u,\"updateSize\",m,k)),c.forEach((function(e){return e.resolveOverlappingForCustomPositioning(u)})),u.forEach((function(e){return e.resolveOverlappingForCustomPositioning(c)})),v},_getExtraTemplatesItems:function(){var e=(this._argumentAxes||[]).concat(this._valueAxes||[]),t=this._collectTemplatesFromItems(e);return{items:t.items,groups:t.groups,launchRequest:function(){e.forEach((function(e){e.setRenderedState(!0)}))},doneRequest:function(){e.forEach((function(e){e.setRenderedState(!1)}))}}},_estimateTickIntervals:function(e,t){return e.some((function(e){return e.estimateTickInterval(t[e.pane])}))},checkForMoreSpaceForPanesCanvas:function(){var e=this._isRotated(),t=!1;if(this.panes.filter((function(e){return e.unit})).length===this.panes.length){var n=0,i=0;if(e){var o=this.getArgumentAxis().getMargins().right,a=Math.min.apply(Math,k(this.panes.map((function(e){return e.canvas.right}))));n=this._canvas.right+o-a}else{var r=this.getArgumentAxis().getMargins().bottom,s=Math.min.apply(Math,k(this.panes.map((function(e){return e.canvas.bottom}))));i=this._canvas.bottom+r-s}if(t=(n>0||i>0)&&{width:n,height:i},0!==i){var l=this.getSize(),u=this.option(\"size\"),d=this._$element[0],c=!!parseInt(d.style.height,10)||0!==this._containerInitialHeight;e||(null==u?void 0:u.height)||c||(this._forceResize(l.width,l.height+i),t=!1)}}else t=this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(),e,(function(t){return{width:e&&!!t.unit,height:!e&&!!t.unit}}));return t},_forceResize:function(e,t){this._renderer.resize(e,t),this._updateSize(),this._setContentSize(),this._preserveOriginalCanvas(),this._updateCanvasClipRect(this._canvas)},_shrinkAxes:function(e,t){if(e&&t){this._renderer.stopAllAnimations(!0);var n=this._isRotated(),i=this._scrollBar?[this._scrollBar]:[],o=this._isArgumentAxisBeforeScrollBar()?this._argumentAxes.concat(i):i.concat(this._argumentAxes),r=n?o:this._valueAxes,s=n?this._valueAxes:o,l=r.concat(s);if(e.width||e.height){W(e,\"height\",s,L),W(e,\"width\",r,V),F(l,\"updateSize\",t);var u=this.panes.reduce((function(e,t){return e[t.name]={height:t.height,unit:t.unit},e}),{});F(l,\"updateSize\",t=H(n,t,u,V(r),L(s,B))),s.forEach(z(\"top\",\"bottom\")),r.forEach(z(\"left\",\"right\")),this.panes.forEach((function(e){return(0,a.extend)(e.canvas,t[e.name])}))}}},_isArgumentAxisBeforeScrollBar:function(){var e,t=this.getArgumentAxis();if(this._scrollBar){var n=t.getResolvedBoundaryPosition(),i=null===(e=t.getOptions().label)||void 0===e?void 0:e.position,o=this._scrollBar.getOptions().position;return t.hasNonBoundaryPosition()||o===n&&i!==o}return!1},_getPanesParameters:function(){for(var e=this.panes,t=[],n=0;n<e.length;n+=1)this._getPaneBorderVisibility(n)&&t.push({coords:e[n].borderCoords,clipRect:this._panesClipRects.fixed[n]});return t},_createCrosshairCursor:function(){var e=this._themeManager.getOptions(\"crosshair\")||{},t=this.getArgumentAxis(),n=this._isRotated()?[this._valueAxes,[t]]:[[t],this._valueAxes],i={canvas:this._getCommonCanvas(),panes:this._getPanesParameters(),axes:n};(null==e?void 0:e.enabled)&&(this._crosshair?this._crosshair.update(e,i):this._crosshair=new c.Crosshair(this._renderer,e,i,this._crosshairCursorGroup),this._crosshair.render())},_getCommonCanvas:function(){for(var e,t=this.panes,n=0;n<t.length;n+=1){var i=t[n].canvas;e?(e.right=i.right,e.bottom=i.bottom):e=(0,a.extend)({},i)}return e},_createPanesBackground:function(){var e=this._themeManager.getOptions(\"commonPaneSettings\").backgroundColor,t=this._renderer,n=[];this._panesBackgroundGroup.clear();for(var i=0;i<this.panes.length;i+=1){var o=this.panes[i].backgroundColor||e;if(o&&\"none\"!==o){var a=t.rect(0,0,0,0).attr({fill:(0,v.extractColor)(o),\"stroke-width\":0}).append(this._panesBackgroundGroup);n.push(a)}else n.push(null)}this.panesBackground=n},_fillPanesBackground:function(){var e=this;(0,r.each)(this.panes,(function(t,n){var i=n.borderCoords;null!==e.panesBackground[t]&&e.panesBackground[t].attr({x:i.left,y:i.top,width:i.width,height:i.height})}))},_calcPaneBorderCoords:function(e){var t=e.canvas,n=e.borderCoords=e.borderCoords||{};n.left=t.left,n.top=t.top,n.right=t.width-t.right,n.bottom=t.height-t.bottom,n.width=Math.max(n.right-n.left,0),n.height=Math.max(n.bottom-n.top,0)},_drawPanesBorders:function(e){var t=this,n=this._isRotated();this._panesBorderGroup.linkRemove().clear(),(0,r.each)(this.panes,(function(i,o){var a=e[o.name],r={fill:\"none\",stroke:a.color,\"stroke-opacity\":a.opacity,\"stroke-width\":a.width,dashStyle:a.dashStyle,\"stroke-linecap\":\"square\"};if(t._calcPaneBorderCoords(o,n),a.visible){var s=o.borderCoords,l=(0,x.prepareSegmentRectPoints)(s.left,s.top,s.width,s.height,a);t._renderer.path(l.points,l.pathType).attr(r).append(t._panesBorderGroup)}})),this._panesBorderGroup.linkAppend()},_createClipRect:function(e,t,n,i,o,a){var r=e[t];r?r.attr({x:n,y:i,width:o,height:a}):(r=this._renderer.clipRect(n,i,o,a),e[t]=r)},_createClipRectsForPanes:function(){var e=this,t=this._canvas;(0,r.each)(this.panes,(function(n,i){var o=!1,a=i.borderCoords,s=a.left,l=a.top,u=a.width,d=a.height,c=e._panesClipRects;e._createClipRect(c.fixed,n,s,l,u,d),e._createClipRect(c.base,n,s,l,u,d),(0,r.each)(e.series,(function(e,t){t.pane===i.name&&(t.isFinancialSeries()||t.areErrorBarsVisible())&&(o=!0)})),o?(e._isRotated()?(l=0,d=t.height):(s=0,u=t.width),e._createClipRect(c.wide,n,s,l,u,d)):c.wide[n]=null}))},_applyClipRectsForAxes:function(){for(var e=this._getAllAxes(),t=this._getCanvasClipRectID(),n=0;n<e.length;n+=1){var i=this._getElementsClipRectID(e[n].pane);e[n].applyClipRects(i,t)}},_getPaneBorderVisibility:function(e){var t,n=this._themeManager.getOptions(\"commonPaneSettings\").border.visible,i=this.panes[e],o=null===(t=null==i?void 0:i.border)||void 0===t?void 0:t.visible;return void 0===o?n:o},_getCanvasForPane:function(e){var t;return null===(t=this.panes.find((function(t){return t.name===e})))||void 0===t?void 0:t.canvas},_getTrackerSettings:function(){return(0,a.extend)(this.callBase(),{chart:this,rotated:this._isRotated(),crosshair:this._getCrosshairOptions().enabled?this._crosshair:null,stickyHovering:this._themeManager.getOptions(\"stickyHovering\")})},_resolveLabelOverlappingStack:function(){var e=this,t=this._isRotated(),n=t?function(e,t){return{x:e.x-t,y:e.y}}:function(e,t){return{x:e.x,y:e.y-t}},i=function(e,n){var i=t?1:0;if(e.labels[0].getFigureCenter()[i]-n.labels[0].getFigureCenter()[i]==0){var o=e.labels[0].getPoint().series.getValueAxis().getTranslator().isInverted()?-1:1;return(e.value()-n.value())*o}return 0};(0,r.each)(this._getStackPoints(),(function(o,a){(0,r.each)(a,(function(o,a){var r=a[0].series.getValueAxis().getOptions().inverted;C.overlapping.resolveLabelOverlappingInOneDirection(a,e._getCommonCanvas(),t,r,n,i)}))}))},_getStackPoints:function(){var e={},t=this._getVisibleSeries();return(0,r.each)(t,(function(t,n){var i=n.getPoints(),o=n.getStackName()||null;(0,r.each)(i,(function(t,n){var i=n.argument;e[i]||(e[i]={}),e[i][o]||(e[i][o]=[]),e[i][o].push(n)}))})),e},_getCrosshairOptions:function(){return this._getOption(\"crosshair\")},zoomArgument:function(e,t){this._initialized&&((0,u.isDefined)(e)||(0,u.isDefined)(t))&&this.getArgumentAxis().visualRange([e,t])},resetVisualRange:function(){var e=this,t=this._argumentAxes,n=this.getArgumentAxis();t.forEach((function(t){t.resetVisualRange(n!==t),e._applyCustomVisualRangeOption(t)})),this.callBase()},getVisibleArgumentBounds:function(){var e=this._argumentAxes[0].getTranslator().getBusinessRange(),t=\"discrete\"===e.axisType,n=e.categories;return{minVisible:t?e.minVisible||n[0]:e.minVisible,maxVisible:t?e.maxVisible||n[n.length-1]:e.maxVisible}},_change_FULL_RENDER:function(){this.callBase(),this._changes.has(\"VISUAL_RANGE\")&&this._raiseZoomEndHandlers()},_getAxesForScaling:function(){return[this.getArgumentAxis()].concat(this._valueAxes)},_applyVisualRangeByVirtualAxes:function(e,t){if(e.isArgumentAxis){if(e!==this.getArgumentAxis())return!0;this._argumentAxes.filter((function(t){return t!==e})).forEach((function(e){return e.visualRange(t,{start:!0,end:!0})}))}return!1},_raiseZoomEndHandlers:function(){this._argumentAxes.forEach((function(e){return e.handleZoomEnd()})),this.callBase()},_setOptionsByReference:function(){this.callBase(),(0,a.extend)(this._optionsByReference,{\"argumentAxis.visualRange\":!0})},option:function(){var e=this.callBase.apply(this,arguments),t=this._options.silent(\"valueAxis\");if(\"array\"===(0,u.type)(t))for(var n=0;n<t.length;n+=1){var i=\"valueAxis[\".concat(n,\"].visualRange\");this._optionsByReference[i]=!0}return e},_notifyVisualRange:function(){var e=this._argumentAxes[0],t=(0,v.convertVisualRangeObject)(e.visualRange(),!T(this.option(\"argumentAxis.visualRange\")));e.skipEventRising&&(0,v.rangesAreEqual)(t,this.option(\"argumentAxis.visualRange\"))?e.skipEventRising=null:this.option(\"argumentAxis.visualRange\",t),this.callBase()}});$.addPlugin(g.default),$.addPlugin(m.default),$.addPlugin(_.plugins.core),$.addPlugin(_.plugins.chart),(0,i.default)(\"dxChart\",$);var U=$;t.default=U},88647:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=g(n(99393)),o=n(20576),a=n(13306),r=n(95479),s=n(35922),l=g(n(32410)),u=n(77129),d=n(56672),c=n(19157),h=n(21177),f=n(17953),p=n(14107);function g(e){return e&&e.__esModule?e:{default:e}}var m=l.default.states,_=l.default.pieSeriesSpacing,v=m.normalMark,y=m.hoverMark,b=m.selectedMark,x=[m.resetItem,m.applyHover,m.applySelected,m.applySelected];function w(e,t){return{x:e.x,y:e.y-t}}function C(e,t){return e.getVisiblePoints().reduce((function(e,t){var n=(0,c.normalizeAngle)(t.middleAngle);return(n<=90||n>=270?e.right:e.left).push(t),e}),t||{left:[],right:[]})}function S(e,t,n,i){var o;return n&&(e.left.reverse(),e.right.reverse()),o=p.overlapping.resolveLabelOverlappingInOneDirection(e.left,i,!1,!1,t),p.overlapping.resolveLabelOverlappingInOneDirection(e.right,i,!1,!1,t)||o}function k(e){return(0,s.isNumeric)(e)?e>1?e=1:e<0&&(e=0):e=void 0,e}var D=function(){function e(e,t){return e.filter((function(e){return e!==t}))}var t=[],n={};return{queue:function(i){var o,a=i.getSizeGroup();t=e(t,o=i).concat(o),clearTimeout(n[a]),n[a]=setTimeout((function(){!function(e,t){var n=t.filter((function(t){return t._isVisible()&&t.getSizeGroup()===e})),i=Math.min.apply(null,n.map((function(e){return e.getSizeGroupLayout().radius}))),o=n.filter((function(e){return e.getSizeGroupLayout().radius===i}));n.forEach((function(e){return e.render({force:!0,sizeGroupLayout:o.length?o[0].getSizeGroupLayout():{}})}))}(a,t)}))},remove:function(i){(t=e(t,i)).length||(n={})}}}(),I=p.BaseChart.inherit({_themeSection:\"pie\",_layoutManagerOptions:function(){return(0,a.extend)(!0,{},this.callBase(),{piePercentage:k(this._themeManager.getOptions(\"diameter\")),minPiePercentage:k(this._themeManager.getOptions(\"minDiameter\"))})},_optionChangesMap:{diameter:\"REINIT\",minDiameter:\"REINIT\",sizeGroup:\"REINIT\"},_disposeCore:function(){D.remove(this),this.callBase()},_groupSeries:function(){var e,t=this.series;this._groupsData={groups:[{series:t,valueOptions:{valueType:\"numeric\"}}],argumentOptions:null===(e=t[0])||void 0===e?void 0:e.getOptions()}},getArgumentAxis:function(){return null},_getValueAxis:function(){var e=(new f.Translator1D).setCodomain(360,0);return{getTranslator:function(){return e},setBusinessRange:function(t){e.setDomain(t.min,t.max)}}},_populateBusinessRange:function(){this.series.map((function(e){var t=new h.Range;return t.addRange(e.getRangeData().val),e.getValueAxis().setBusinessRange(t),t}))},_specialProcessSeries:function(){(0,r.each)(this.series,(function(e,t){t.arrangePoints()}))},_checkPaneName:function(){return!0},_processSingleSeries:function(e){this.callBase(e),e.arrangePoints()},_handleSeriesDataUpdated:function(){var e=0;this.series.forEach((function(t){e=Math.max(t.getPointsCount(),e)})),this.series.forEach((function(t){t.setMaxPointsCount(e)})),this.callBase()},_getLegendOptions:function(e){var t=this.callBase(e),n=t.legendData;return n.argument=e.argument,n.argumentIndex=e.argumentIndex,n.points=[e],t},_getLegendTargets:function(){var e=this,t={};(this.series||[]).forEach((function(e){e.getPoints().forEach((function(n){var i=n.argument.valueOf(),o=e.getPointsByArg(i).indexOf(n),a=i.valueOf().toString()+o;t[a]=t[a]||[];var r=t[a].push(n);n.index=t[a][r-2]?t[a][r-2].index:Object.keys(t).length-1,n.argumentIndex=o}))}));var n=[];return(0,r.each)(t,(function(t,i){i.forEach((function(t,i){if(0!==i){var o=n[n.length-1];o.legendData.points.push(t),o.visible||(o.visible=t.isVisible())}else n.push(e._getLegendOptions(t))}))})),n},_getLayoutTargets:function(){return[{canvas:this._canvas}]},_getLayoutSeries:function(e,t){var n,i=this._canvas,o=!1;return n=this.layoutManager.applyPieChartSeriesLayout(i,e,!0),e.forEach((function(e){e.correctPosition(n,i),o=e.drawLabelsWOPoints()||o})),o&&(n=this.layoutManager.applyPieChartSeriesLayout(i,e,t.hideLayoutLabels)),e.forEach((function(e){e.hideLabels()})),this._sizeGroupLayout={x:n.centerX,y:n.centerY,radius:n.radiusOuter,drawOptions:t},n},_getLayoutSeriesForEqualPies:function(e,t){var n=this._canvas,i=this.layoutManager.applyEqualPieChartLayout(e,t);return e.forEach((function(e){e.correctPosition(i,n),e.drawLabelsWOPoints()})),this.layoutManager.correctPieLabelRadius(e,i,n),i},_updateSeriesDimensions:function(e){var t,n,i,o=this._getVisibleSeries(),a=o.length,r=e.sizeGroupLayout;a&&(i=r?this._getLayoutSeriesForEqualPies(o,r):this._getLayoutSeries(o,e),n=(i.radiusOuter-i.radiusInner-_*(a-1))/a,t=i.radiusInner,this._setGeometry(i),o.forEach((function(e){e.correctRadius({radiusInner:t,radiusOuter:t+n}),t+=n+_})))},_renderSeries:function(e,t,n){if(this._calculateSeriesLayout(e,t),!e.sizeGroupLayout&&this.getSizeGroup())return D.queue(this),void this._clearCanvas();this._renderSeriesElements(e,n)},_getCenter:function(){return this._center},getInnerRadius:function(){return this._innerRadius},_getLegendCallBack:function(){var e=this,t=this._legend,n=this._getLegendTargets().map((function(e){return e.legendData}));return function(i){n.forEach((function(n){var o=[],a=t.getActionCallback({index:n.id});e.series.forEach((function(e){var t=e.getPointsByKeys(n.argument,n.argumentIndex);o.push.apply(o,t)})),i&&i.argument===n.argument&&i.argumentIndex===n.argumentIndex&&o.push(i),a(function(e){var t=v;return e.forEach((function(e){var n,i=null===(n=e.series)||void 0===n?void 0:n.getOptions(),o=e.fullState;\"none\"===(null==i?void 0:i.hoverMode)&&(o&=~y),\"none\"===(null==i?void 0:i.selectionMode)&&(o&=~b),t|=o})),x[t]}(o))}))}},_locateLabels:function(e){var t,n,i=0;do{n=this._adjustSeriesLabels(\"shift\"===e),t=this._resolveLabelOverlapping(e)}while((t||n)&&++i<5)},_adjustSeriesLabels:function(e){return this.series.reduce((function(t,n){return n.adjustLabels(e)||t}),!1)},_applyExtraSettings:o.noop,_resolveLabelOverlappingShift:function(){var e=this,t=\"anticlockwise\"===this.option(\"segmentsDirection\"),n=this.series.reduce((function(e,t){return(e[t.getOptions().label.position]||e.outside).push(t),e}),{inside:[],columns:[],outside:[]}),i=!1;n.inside.length>0&&(i=S(n.inside.reduce((function(e,t){return t.getVisiblePoints().reduce((function(e,t){return e.left.push(t),e}),e)}),{left:[],right:[]}),w,t,this._canvas)||i);return i=n.columns.reduce((function(n,i){return S(C(i),w,t,e._canvas)||n}),i),n.outside.length>0&&(i=S(n.outside.reduce((function(e,t){return C(t,e)}),null),(function(t,n){return(0,c.getVerticallyShiftedAngularCoords)(t,-n,e._center)}),t,this._canvas)||i),i},_setGeometry:function(e){var t=e.centerX,n=e.centerY,i=e.radiusInner;this._center={x:t,y:n},this._innerRadius=i},_disposeSeries:function(){this.callBase.apply(this,arguments),this._abstractSeries=null},_legendDataField:\"point\",_legendItemTextField:\"argument\",_applyPointMarkersAutoHiding:o.noop,_renderTrackers:o.noop,_trackerType:\"PieTracker\",_createScrollBar:o.noop,_updateAxesLayout:o.noop,_applyClipRects:o.noop,_appendAdditionalSeriesGroups:o.noop,_prepareToRender:o.noop,_isLegendInside:o.noop,_renderAxes:o.noop,_shrinkAxes:o.noop,_isRotated:o.noop,_seriesPopulatedHandlerCore:o.noop,_reinitAxes:o.noop,_correctAxes:o.noop,_getExtraOptions:function(){return{startAngle:this.option(\"startAngle\"),innerRadius:this.option(\"innerRadius\"),segmentsDirection:this.option(\"segmentsDirection\"),type:this.option(\"type\")}},getSizeGroup:function(){return this._themeManager.getOptions(\"sizeGroup\")},getSizeGroupLayout:function(){return this._sizeGroupLayout||{}}});(0,r.each)([\"startAngle\",\"innerRadius\",\"segmentsDirection\",\"type\"],(function(e,t){I.prototype._optionChangesMap[t]=\"REFRESH_SERIES_DATA_INIT\"})),I.addPlugin(d.plugins.pieChart),I.addPlugin(u.plugins.core),I.addPlugin(u.plugins.pieChart),(0,i.default)(\"dxPieChart\",I);var T=I;t.default=T},86139:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i,o=(i=n(99393))&&i.__esModule?i:{default:i},a=n(20576),r=n(13306),s=n(35922),l=n(77129),u=n(19157),d=n(41690);var c=d.AdvancedChart.inherit({_themeSection:\"polar\",_createPanes:function(){return this.callBase(),[{name:\"default\"}]},_checkPaneName:function(){return!0},_getAxisRenderingOptions:function(e){var t=\"argumentAxis\"===e?\"circular\":\"linear\";return this.option(\"useSpiderWeb\")&&(t+=\"Spider\"),{axisType:\"polarAxes\",drawingType:t}},_executeAppendBeforeSeries:function(e){e()},_prepareAxisOptions:function(e,t){var n=\"argumentAxis\"===e,i=this._themeManager,o=this.option(\"argumentAxis\"),a=i.getOptions(\"argumentAxis\",o)||{},r=isFinite(a.startAngle)?(0,u.normalizeAngle)(a.startAngle):0;return{type:this.option(\"useSpiderWeb\")&&n?\"discrete\":t.type,isHorizontal:!0,showCustomBoundaryTicks:n,startAngle:r,endAngle:r+360}},_optionChangesMap:{useSpiderWeb:\"USE_SPIDER_WEB\"},_change_USE_SPIDER_WEB:function(){this._disposeAxes(),this._requestChange([\"AXES_AND_PANES\"])},_getExtraOptions:function(){return{spiderWidget:this.option(\"useSpiderWeb\")}},_prepareToRender:function(){return this._appendAxesGroups(),{}},_calcCanvas:function(){var e=(0,r.extend)({},this._canvas),t=this.getArgumentAxis().getMargins();return Object.keys(t).forEach((function(n){e[n]=e[\"original\".concat(n[0].toUpperCase()).concat(n.slice(1))]+t[n]})),e},_renderAxes:function(){var e=this._getValueAxis(),t=this.getArgumentAxis();t.draw(this._canvas),e.setSpiderTicks(t.getSpiderTicks());var n=this._calcCanvas();return t.updateSize(n),e.draw(n),n},_getValueAxis:function(){return this._valueAxes[0]},_shrinkAxes:function(e){var t=this._getValueAxis(),n=this.getArgumentAxis();if(e&&(e.width||e.height)){n.hideOuterElements();var i=this._calcCanvas();n.updateSize(i),t.updateSize(i)}},checkForMoreSpaceForPanesCanvas:function(){return this.layoutManager.needMoreSpaceForPanesCanvas([{canvas:this.getArgumentAxis().getCanvas()}],this._isRotated())},_getLayoutTargets:function(){return[{canvas:this._canvas}]},_getSeriesForPane:function(){return this.series},_applyClipRects:function(){var e=this._getCanvasClipRectID();this._createClipPathForPane(),this.getArgumentAxis().applyClipRects(this._getElementsClipRectID(),e),this._getValueAxis().applyClipRects(this._getElementsClipRectID(),e)},_createClipPathForPane:function(){var e=this._getValueAxis(),t=e.getCenter(),n=e.getRadius(),i=this._panesClipRects;t={x:Math.round(t.x),y:Math.round(t.y)},this._createClipCircle(i.fixed,t.x,t.y,n),this._createClipCircle(i.base,t.x,t.y,n),this.series.some((function(e){return e.areErrorBarsVisible()}))?this._createClipCircle(i.wide,t.x,t.y,n):i.wide[0]=null},_createClipCircle:function(e,t,n,i){var o=e[0];o?o.attr({cx:t,cy:n,r:i}):(o=this._renderer.clipCircle(t,n,i),e[0]=o)},_applyExtraSettings:function(e){var t=this._panesClipRects.wide[0];e.setClippingParams(this._panesClipRects.base[0].id,t&&t.id,!1,!1)},getActualAngle:function(e){return this.getArgumentAxis().getOptions().inverted?360-e:e},getXYFromPolar:function(e,t,n,i){var o={angle:void 0,radius:void 0,x:void 0,y:void 0};if(!((0,s.isDefined)(e)||(0,s.isDefined)(t)||(0,s.isDefined)(n)||(0,s.isDefined)(i)))return o;var a,l,d=this.getArgumentAxis(),c=d.getAngles()[0];if((0,s.isDefined)(n)?a=d.getTranslator().translate(n):isFinite(e)?a=this.getActualAngle(e):(0,s.isDefined)(e)||(a=0),(0,s.isDefined)(i)?l=this.getValueAxis().getTranslator().translate(i):isFinite(t)?l=t:(0,s.isDefined)(t)||(l=d.getRadius()),(0,s.isDefined)(a)&&(0,s.isDefined)(l)){var h=(0,u.convertPolarToXY)(d.getCenter(),c,a,l);(0,r.extend)(o,h,{angle:d.getTranslatedAngle(a),radius:l})}return o},_applyPointMarkersAutoHiding:a.noop,_createScrollBar:a.noop,_isRotated:a.noop,_getCrosshairOptions:a.noop,_isLegendInside:a.noop});c.addPlugin(l.plugins.core),c.addPlugin(l.plugins.polarChart),(0,o.default)(\"dxPolarChart\",c);var h=c;t.default=h},23908:function(e,t,n){t.convertTransitionTimingFuncToEasing=void 0,t.getEasing=function(e){return s[e]},t.setEasing=function(e){s=e};var i=n(35922),o=/cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/,a={linear:\"cubic-bezier(0, 0, 1, 1)\",swing:\"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",ease:\"cubic-bezier(0.25, 0.1, 0.25, 1)\",\"ease-in\":\"cubic-bezier(0.42, 0, 1, 1)\",\"ease-out\":\"cubic-bezier(0, 0, 0.58, 1)\",\"ease-in-out\":\"cubic-bezier(0.42, 0, 0.58, 1)\"},r=function(e,t,n,i){var o=3*e,a=3*(n-e)-o,r=1-o-a,s=3*t,l=3*(i-t)-s,u=1-s-l,d=function(e){return e*(o+e*(a+e*r))},c=function(e){return o+e*(2*a+3*e*r)};return function(e){return function(e){return e*(s+e*(l+e*u))}(function(e){for(var t,n=e,i=0;i<14&&(t=d(n)-e,!(Math.abs(t)<.001));)n-=t/c(n),i++;return n}(e))}},s={};t.convertTransitionTimingFuncToEasing=function(e){var t,n=(e=a[e]||e).match(o);n||(n=a[t=\"linear\"].match(o)),n=n.slice(1,5);for(var l=0;l<n.length;l++)n[l]=parseFloat(n[l]);var u=t||\"cubicbezier_\"+n.join(\"_\").replace(/\\./g,\"p\");return(0,i.isFunction)(s[u])||(s[u]=function(e,t,i,o,a){return o*r(n[0],n[1],n[2],n[3])(t/a)+i}),u}},90057:function(e,t,n){t.cancelAnimationFrame=function(){u(),l.apply(r,arguments)},t.requestAnimationFrame=function(){return u(),s.apply(r,arguments)};var i,o=n(58201),a=(i=n(39618))&&i.__esModule?i:{default:i};var r=(0,o.hasWindow)()?(0,o.getWindow)():{},s=function(e){return setTimeout(e,1e3/60)},l=function(e){clearTimeout(e)},u=(0,a.default)((function(){var e=r.requestAnimationFrame||r.webkitRequestAnimationFrame||r.mozRequestAnimationFrame||r.oRequestAnimationFrame||r.msRequestAnimationFrame,t=r.cancelAnimationFrame||r.webkitCancelAnimationFrame||r.mozCancelAnimationFrame||r.oCancelAnimationFrame||r.msCancelAnimationFrame;e&&t&&(s=e,l=t)}))},87209:function(e,t,n){t.default=void 0;var i=b(n(68374)),o=n(58201),a=b(n(55994)),r=b(n(17381)),s=n(6415),l=n(13306),u=n(35922),d=n(95479),c=n(31648),h=n(23908),f=n(90057),p=n(60137),g=b(n(49387)),m=n(29007),_=n(39611),v=n(62754),y=n(20576);function b(e){return e&&e.__esModule?e:{default:e}}function x(e){return(x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var w=(0,o.getWindow)(),C=(0,_.addNamespace)(m.removeEvent,\"dxFX\"),S=/^([+-])=(.*)/i,k={initAnimation:function(e,t){e.css({transitionProperty:\"none\"}),\"string\"==typeof t.from?e.addClass(t.from):$(e,t.from);var n=this,i=new v.Deferred,o=t.cleanupWhen;t.transitionAnimation={deferred:i,finish:function(){n._finishTransition(e),o?(0,v.when)(i,o).always((function(){n._cleanup(e,t)})):n._cleanup(e,t),i.resolveWith(e,[t,e])}},this._completeAnimationCallback(e,t).done((function(){t.transitionAnimation.finish()})).fail((function(){i.rejectWith(e,[t,e])})),t.duration||t.transitionAnimation.finish(),e.css(\"transform\")},animate:function(e,t){return this._startAnimation(e,t),t.transitionAnimation.deferred.promise()},_completeAnimationCallback:function(e,t){var n,i=this,o=Date.now()+t.delay,r=new v.Deferred,s=new v.Deferred,l=new v.Deferred,u=(0,p.transitionEndEventName)()+\".dxFX\";t.transitionAnimation.cleanup=function(){clearTimeout(n),clearTimeout(d),a.default.off(e,u),a.default.off(e,C)},a.default.one(e,u,(function(){Date.now()-o>=t.duration&&s.reject()})),a.default.off(e,C),a.default.on(e,C,(function(){i.stop(e,t),r.reject()}));var d=setTimeout((function(){n=setTimeout((function(){l.reject()}),t.duration+t.delay+U._simulatedTransitionEndDelay),(0,v.when)(s,l).fail(function(){r.resolve()}.bind(this))}));return r.promise()},_startAnimation:function(e,t){e.css({transitionProperty:\"all\",transitionDelay:t.delay+\"ms\",transitionDuration:t.duration+\"ms\",transitionTimingFunction:t.easing}),\"string\"==typeof t.to?e[0].className+=\" \"+t.to:t.to&&$(e,t.to)},_finishTransition:function(e){e.css(\"transition\",\"none\")},_cleanup:function(e,t){t.transitionAnimation.cleanup(),\"string\"==typeof t.from&&(e.removeClass(t.from),e.removeClass(t.to))},stop:function(e,t,n){t&&(n?t.transitionAnimation.finish():((0,u.isPlainObject)(t.to)&&(0,d.each)(t.to,(function(t){e.css(t,e.css(t))})),this._finishTransition(e),this._cleanup(e,t)))}},D={initAnimation:function(e,t){$(e,t.from)},animate:function(e,t){var n=new v.Deferred,i=this;return t?((0,d.each)(t.to,(function(n){void 0===t.from[n]&&(t.from[n]=i._normalizeValue(e.css(n)))})),t.to.transform&&(t.from.transform=i._parseTransform(t.from.transform),t.to.transform=i._parseTransform(t.to.transform)),t.frameAnimation={to:t.to,from:t.from,currentValue:t.from,easing:(0,h.convertTransitionTimingFuncToEasing)(t.easing),duration:t.duration,startTime:(new Date).valueOf(),finish:function(){this.currentValue=this.to,this.draw(),(0,f.cancelAnimationFrame)(t.frameAnimation.animationFrameId),n.resolve()},draw:function(){if(t.draw)t.draw(this.currentValue);else{var n=(0,l.extend)({},this.currentValue);n.transform&&(n.transform=(0,d.map)(n.transform,(function(e,t){return\"translate\"===t?(0,c.getTranslateCss)(e):\"scale\"===t?\"scale(\"+e+\")\":\"rotate\"===t.substr(0,t.length-1)?t+\"(\"+e+\"deg)\":void 0})).join(\" \")),e.css(n)}}},t.delay?(t.frameAnimation.startTime+=t.delay,t.frameAnimation.delayTimeout=setTimeout((function(){i._startAnimation(e,t)}),t.delay)):i._startAnimation(e,t),n.promise()):n.reject().promise()},_startAnimation:function(e,t){a.default.off(e,C),a.default.on(e,C,(function(){t.frameAnimation&&(0,f.cancelAnimationFrame)(t.frameAnimation.animationFrameId)})),this._animationStep(e,t)},_parseTransform:function(e){var t={};return(0,d.each)(e.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g),(function(e,n){var i=(0,c.parseTranslate)(n),o=n.match(/scale\\((.+?)\\)/),a=n.match(/(rotate.)\\((.+)deg\\)/);i&&(t.translate=i),o&&o[1]&&(t.scale=parseFloat(o[1])),a&&a[1]&&(t[a[1]]=parseFloat(a[2]))})),t},stop:function(e,t,n){var i=t&&t.frameAnimation;i&&((0,f.cancelAnimationFrame)(i.animationFrameId),clearTimeout(i.delayTimeout),n&&i.finish(),delete t.frameAnimation)},_animationStep:function(e,t){var n=t&&t.frameAnimation;if(n){var i=(new Date).valueOf();if(i>=n.startTime+n.duration)n.finish();else{n.currentValue=this._calcStepValue(n,i-n.startTime),n.draw();var o=this;n.animationFrameId=(0,f.requestAnimationFrame)((function(){o._animationStep(e,t)}))}}},_calcStepValue:function(e,t){return function n(i,o){var a=Array.isArray(o)?[]:{};return(0,d.each)(o,(function(r,s){if(\"string\"==typeof s&&!1===parseFloat(s))return!0;a[r]=\"object\"===x(s)?n(i[r],s):function(n){var a=t/e.duration,r=t,s=1*i[n],l=o[n]-i[n],u=e.duration;return(0,h.getEasing)(e.easing)(a,r,s,l,u)}(r)})),a}(e.from,e.to)},_normalizeValue:function(e){var t=parseFloat(e);return!1===t?e:t}},I={initAnimation:function(){},animate:function(){return(new v.Deferred).resolve().promise()},stop:y.noop,isSynchronous:!0},T=function(e,t,n,i){(0,d.each)([\"from\",\"to\"],(function(){if(!n(e[this]))throw r.default.Error(\"E0010\",t,this,i)}))},E=function(e,t){return T(e,t,(function(e){return(0,u.isPlainObject)(e)}),\"a plain object\")},O={top:{my:\"bottom center\",at:\"top center\"},bottom:{my:\"top center\",at:\"bottom center\"},right:{my:\"left center\",at:\"right center\"},left:{my:\"right center\",at:\"left center\"}},A={validateConfig:function(e){E(e,\"slide\")},setup:function(e,t){var n=(0,c.locate)(e);if(\"slide\"!==t.type){var i=\"slideIn\"===t.type?t.from:t.to;i.position=(0,l.extend)({of:w},O[t.direction]),q(e,i)}this._setUpConfig(n,t.from),this._setUpConfig(n,t.to),(0,c.clearCache)(e)},_setUpConfig:function(e,t){t.left=\"left\"in t?t.left:\"+=0\",t.top=\"top\"in t?t.top:\"+=0\",this._initNewPosition(e,t)},_initNewPosition:function(e,t){var n={left:t.left,top:t.top};delete t.left,delete t.top;var i=this._getRelativeValue(n.left);void 0!==i?n.left=i+e.left:t.left=0,void 0!==(i=this._getRelativeValue(n.top))?n.top=i+e.top:t.top=0,t.transform=(0,c.getTranslateCss)({x:n.left,y:n.top})},_getRelativeValue:function(e){var t;if(\"string\"==typeof e&&(t=S.exec(e)))return parseInt(t[1]+\"1\")*t[2]}},P={setup:function(e,t){var n,i,o=t.from,a=t.to,r=\"fadeOut\"===t.type?1:0,s=\"fadeOut\"===t.type?0:1,l=(0,u.isPlainObject)(o)?String(null!==(n=o.opacity)&&void 0!==n?n:r):String(o),d=(0,u.isPlainObject)(a)?String(null!==(i=a.opacity)&&void 0!==i?i:s):String(a);switch(t.skipElementInitialStyles||(l=e.css(\"opacity\")),t.type){case\"fadeIn\":d=1;break;case\"fadeOut\":d=0}t.from={visibility:\"visible\",opacity:l},t.to={opacity:d}}},M={custom:{setup:function(){}},slide:A,slideIn:A,slideOut:A,fade:P,fadeIn:P,fadeOut:P,pop:{validateConfig:function(e){E(e,\"pop\")},setup:function(e,t){var n=t.from,i=t.to,o=\"opacity\"in n?n.opacity:e.css(\"opacity\"),a=\"opacity\"in i?i.opacity:1,r=\"scale\"in n?n.scale:0,s=\"scale\"in i?i.scale:1;t.from={opacity:o};var l=(0,c.getTranslate)(e);t.from.transform=this._getCssTransform(l,r),t.to={opacity:a},t.to.transform=this._getCssTransform(l,s)},_getCssTransform:function(e,t){return(0,c.getTranslateCss)(e)+\"scale(\"+t+\")\"}},css:{validateConfig:function(e){!function(e,t){T(e,t,(function(e){return\"string\"==typeof e}),\"a string\")}(e,\"css\")},setup:function(){}}},R={type:\"custom\",from:{},to:{},duration:400,start:y.noop,complete:y.noop,easing:\"ease\",delay:0},B={duration:400,easing:\"ease\",delay:0};function L(){var e=this.element,t=this.config;if(q(e,t.from),q(e,t.to),this.configurator.setup(e,t),e.data(\"dxAnimData\",this),U.off&&(t.duration=0,t.delay=0),this.strategy.initAnimation(e,t),t.start){var n=(0,s.getPublicElement)(e);t.start.apply(this,[n,t])}}var V=function(){var e=this,t=e.element,n=e.config;return e.isStarted=!0,e.strategy.animate(t,n).done((function(){!function(e){var t=e.element,n=e.config;if(t.removeData(\"dxAnimData\"),n.complete){var i=(0,s.getPublicElement)(t);n.complete.apply(this,[i,n])}e.deferred.resolveWith(this,[t,n])}(e)})).fail((function(){e.deferred.rejectWith(this,[t,n])}))},F=function(e){var t=this.element,n=this.config;clearTimeout(this.startTimeout),this.isStarted||this.start(),this.strategy.stop(t,n,e)},H=(0,_.addNamespace)(m.removeEvent,\"dxFXStartAnimation\"),N=function(e,t){var n=\"css\"===t.type?B:R,o=(0,l.extend)(!0,{},n,t),s=function(e){var t=M[e.type];if(!t)throw r.default.Error(\"E0011\",e.type);return t}(o),d=function(e){e=e||{};var t={transition:(0,p.transition)()?k:D,frame:D,noAnimation:I},n=e.strategy||\"transition\";return\"css\"!==e.type||(0,p.transition)()||(n=\"noAnimation\"),t[n]}(o),c={element:(0,i.default)(e),config:o,configurator:s,strategy:d,isSynchronous:d.isSynchronous,setup:L,start:V,stop:F,deferred:new v.Deferred};return(0,u.isFunction)(s.validateConfig)&&s.validateConfig(o),function(e){a.default.off(e.element,H),a.default.on(e.element,H,(function(){U.stop(e.element)})),e.deferred.always((function(){a.default.off(e.element,H)}))}(c),c};function z(e){return e.data(\"dxAnimQueue\")||[]}var j=function(e){e.removeData(\"dxAnimQueue\")};function W(e){return!!e.data(\"dxAnimData\")}function G(e,t){if((t=z(e)).length){var n=t.shift();0===t.length&&j(e),function(e){e.setup(),U.off||e.isSynchronous?e.start():e.startTimeout=setTimeout((function(){e.start()}));return e.deferred.promise()}(n).done((function(){W(e)||G(e)}))}}function q(e,t){if(t&&t.position){var n=(0,i.default)(w),o=0,a=0,r=g.default.calculate(e,t.position),s=e.offset(),u=e.position();u.top>s.top&&(a=n.scrollTop()),u.left>s.left&&(o=n.scrollLeft()),(0,l.extend)(t,{left:r.h.location-s.left+u.left-o,top:r.v.location-s.top+u.top-a}),delete t.position}}function $(e,t){(0,d.each)(t,(function(t,n){try{e.css(t,(0,u.isFunction)(n)?n():n)}catch(e){}}))}var U={off:!1,animationTypes:M,animate:function(e,t){var n=(0,i.default)(e);if(!n.length)return(new v.Deferred).resolve().promise();var o=N(n,t);return function(e,t){var n=z(e);(function(e,t){e.data(\"dxAnimQueue\",t)})(e,n),n.push(t),W(e)||G(e,n)}(n,o),o.deferred.promise()},createAnimation:N,isAnimating:W,stop:function(e,t){var n=(0,i.default)(e),o=z(n);(0,d.each)(o,(function(e,t){t.config.delay=0,t.config.duration=0,t.isSynchronous=!0})),W(n)||G(n,o);var a=n.data(\"dxAnimData\");a&&a.stop(t),n.removeData(\"dxAnimData\"),j(n)},_simulatedTransitionEndDelay:100},K=U;t.default=K,e.exports=t.default,e.exports.default=t.default},49387:function(e,t,n){t.default=void 0;var i=n(58664),o=_(n(68374)),a=n(20576),r=n(95479),s=n(58201),l=_(n(73349)),u=n(35922),d=n(13306),c=n(37518),h=_(n(47810)),f=n(31648),p=n(60137),g=_(n(20530)),m=n(80968);function _(e){return e&&e.__esModule?e:{default:e}}var v,y=(0,s.getWindow)(),b=/left|right/,x=/top|bottom/,w=/fit|flip|none/,C=/scale\\(.+?\\)/,S=h.default.safari,k=function(e){var t={h:\"center\",v:\"center\"},n=(0,a.splitPair)(e);return n&&(0,r.each)(n,(function(){var e=String(this).toLowerCase();b.test(e)?t.h=e:x.test(e)&&(t.v=e)})),t},D=function(e,t){return(0,a.pairToObject)(e,t)},I=function(e){switch(e){case\"center\":return.5;case\"right\":case\"bottom\":return 1;default:return 0}},T=function(e){switch(e){case\"left\":return\"right\";case\"right\":return\"left\";case\"top\":return\"bottom\";case\"bottom\":return\"top\";default:return e}},E=function(e,t){var n=0;return e.myLocation<t.min&&(n+=t.min-e.myLocation),e.myLocation>t.max&&(n+=e.myLocation-t.max),n},O=function(e,t,n){return t.myLocation<n.min?\"h\"===e?\"left\":\"top\":t.myLocation>n.max?\"h\"===e?\"right\":\"bottom\":\"none\"},A=function(e){e.myLocation=e.atLocation+I(e.atAlign)*e.atSize-I(e.myAlign)*e.mySize+e.offset},P={fit:function(e,t){var n=!1;e.myLocation>t.max&&(e.myLocation=t.max,n=!0),e.myLocation<t.min&&(e.myLocation=t.min,n=!0),e.fit=n},flip:function(e,t){if(e.flip=!1,(\"center\"!==e.myAlign||\"center\"!==e.atAlign)&&(e.myLocation<t.min||e.myLocation>t.max)){var n=(0,d.extend)({},e,{myAlign:T(e.myAlign),atAlign:T(e.atAlign),offset:-e.offset});A(n),n.oversize=E(n,t),(n.myLocation>=t.min&&n.myLocation<=t.max||e.oversize>n.oversize)&&(e.myLocation=n.myLocation,e.oversize=n.oversize,e.flip=!0)}},flipfit:function(e,t){this.flip(e,t),this.fit(e,t)},none:function(e){e.oversize=0}},M=function(){var e=(0,o.default)(\"<div>\").css({width:100,height:100,overflow:\"scroll\",position:\"absolute\",top:-9999}).appendTo((0,o.default)(\"body\")),t=e.get(0).offsetWidth-e.get(0).clientWidth;e.remove(),v=t},R={h:{location:0,flip:!1,fit:!1,oversize:0},v:{location:0,flip:!1,fit:!1,oversize:0}},B=function(e,t){var n=(0,o.default)(e),r=n.offset(),s=(0,d.extend)(!0,{},R,{h:{location:r.left},v:{location:r.top}});if(!t)return s;var h=k(t.my),f=k(t.at),m=(0,o.default)(t.of).length&&t.of||y,_=D(t.offset,t.precise),b=function(e){var t=(0,a.splitPair)(e),n=String(t&&t[0]).toLowerCase(),i=String(t&&t[1]).toLowerCase();return w.test(n)||(n=\"none\"),w.test(i)||(i=n),{h:n,v:i}}(t.collision),x=t.boundary,C=D(t.boundaryOffset,t.precise),I={mySize:(0,i.getOuterWidth)(n),myAlign:h.h,atAlign:f.h,offset:_.h,collision:b.h,boundaryOffset:C.h},T={mySize:(0,i.getOuterHeight)(n),myAlign:h.v,atAlign:f.v,offset:_.v,collision:b.v,boundaryOffset:C.v};if(m.preventDefault)I.atLocation=m.pageX,T.atLocation=m.pageY,I.atSize=0,T.atSize=0;else if(m=(0,o.default)(m),(0,u.isWindow)(m[0]))I.atLocation=m.scrollLeft(),T.atLocation=m.scrollTop(),\"phone\"===g.default.real().deviceType&&m[0].visualViewport?(I.atLocation=Math.max(I.atLocation,m[0].visualViewport.offsetLeft),T.atLocation=Math.max(T.atLocation,m[0].visualViewport.offsetTop),I.atSize=m[0].visualViewport.width,T.atSize=m[0].visualViewport.height):(I.atSize=m[0].innerWidth>m[0].outerWidth?m[0].innerWidth:(0,i.getWidth)(m),T.atSize=m[0].innerHeight>m[0].outerHeight||S?m[0].innerHeight:(0,i.getHeight)(m));else if(9===m[0].nodeType)I.atLocation=0,T.atLocation=0,I.atSize=(0,i.getWidth)(m),T.atSize=(0,i.getHeight)(m);else{var B=(0,c.getBoundingRect)(m.get(0)),L=V(m);I.atLocation=L.left,T.atLocation=L.top,I.atSize=Math.max(B.width,(0,i.getOuterWidth)(m)),T.atSize=Math.max(B.height,(0,i.getOuterHeight)(m))}A(I),A(T);var F=function(){var e=(0,o.default)(y),t=(0,i.getWidth)(e),n=(0,i.getHeight)(e),a=e.scrollLeft(),r=e.scrollTop(),s=l.default.getDocumentElement(),d=p.touch?s.clientWidth/t:1,c=p.touch?s.clientHeight/n:1;void 0===v&&M();var h=t,f=n;if(x&&!(0,u.isWindow)(x)){var g=(0,o.default)(x),m=g.offset();a=m.left,r=m.top,h=(0,i.getWidth)(g),f=(0,i.getHeight)(g)}return{h:{min:a+I.boundaryOffset,max:a+h/d-I.mySize-I.boundaryOffset},v:{min:r+T.boundaryOffset,max:r+f/c-T.mySize-T.boundaryOffset}}}();I.oversize=E(I,F.h),T.oversize=E(T,F.v),I.collisionSide=O(\"h\",I,F.h),T.collisionSide=O(\"v\",T,F.v),P[I.collision]&&P[I.collision](I,F.h),P[T.collision]&&P[T.collision](T,F.v);var H=function(e){return t.precise?e:Math.round(e)};return(0,d.extend)(!0,s,{h:{location:H(I.myLocation),oversize:H(I.oversize),fit:I.fit,flip:I.flip,collisionSide:I.collisionSide},v:{location:H(T.myLocation),oversize:H(T.oversize),fit:T.fit,flip:T.flip,collisionSide:T.collisionSide},precise:t.precise}),s},L=function(e,t,n,i){var o=(0,u.isDefined)(e.style)&&!l.default.isNode(e.style),a=i?n.replace(t,\"\"):n;if(o)(0,m.setStyle)(e,a,!1);else{var r=l.default.createAttribute(\"style\");r.value=a,e.setAttributeNode(r)}},V=function e(t){var n,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=o.get(0);if(!a)return t.offset();var r,s=(null===(n=a.getAttribute)||void 0===n?void 0:n.call(a,\"style\"))||\"\",l=null===(i=s.match(C))||void 0===i?void 0:i[0];return l?(L(a,l,s,!0),r=e(t,o.parent()),L(a,l,s,!1)):r=e(t,o.parent()),r},F=function(e,t){var n=(0,o.default)(e);if(!t)return n.offset();(0,f.resetPosition)(n,!0);var i=V(n),a=t.h&&t.v?t:B(n,t),r=function(e){return t.precise?e:Math.round(e)};return(0,f.move)(n,{left:a.h.location-r(i.left),top:a.v.location-r(i.top)}),a};F.inverseAlign||(F.inverseAlign=T),F.normalizeAlign||(F.normalizeAlign=k);var H={calculateScrollbarWidth:M,calculate:B,setup:F,offset:function(e){return e=(0,o.default)(e).get(0),(0,u.isWindow)(e)?null:e&&\"pageY\"in e&&\"pageX\"in e?{top:e.pageY,left:e.pageX}:(0,o.default)(e).offset()}};t.default=H,e.exports=t.default,e.exports.default=t.default},42814:function(e,t,n){t.presets=t.PresetCollection=void 0;var i=n(58664),o=n(44297),a=n(95479),r=n(13306),s=u(n(20530)),l=u(n(87209));function u(e){return e&&e.__esModule?e:{default:e}}var d={forward:\" dx-forward\",backward:\" dx-backward\",none:\" dx-no-direction\",undefined:\" dx-no-direction\"},c=o.Component.inherit({ctor:function(){this.callBase.apply(this,arguments),this._registeredPresets=[],this.resetToDefaults()},_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{defaultAnimationDuration:400,defaultAnimationDelay:0,defaultStaggerAnimationDuration:300,defaultStaggerAnimationDelay:40,defaultStaggerAnimationStartDelay:500})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(e){return e.phone},options:{defaultStaggerAnimationDuration:350,defaultStaggerAnimationDelay:50,defaultStaggerAnimationStartDelay:0}},{device:function(){return s.default.current().android||s.default.real.android},options:{defaultAnimationDelay:100}}])},_getPresetOptionName:function(e){return\"preset_\"+e},_createAndroidSlideAnimationConfig:function(e,t){var n=this,o=function(e){return{type:\"slide\",delay:void 0===e.delay?n.option(\"defaultAnimationDelay\"):e.delay,duration:void 0===e.duration?n.option(\"defaultAnimationDuration\"):e.duration}};return{enter:function(n,a){var r=(0,i.getWidth)(n.parent())*t,s=a.direction,u=o(a);return u.to={left:0,opacity:1},u.from=\"forward\"===s?{left:r,opacity:e}:\"backward\"===s?{left:-r,opacity:e}:{left:0,opacity:0},l.default.createAnimation(n,u)},leave:function(n,a){var r=(0,i.getWidth)(n.parent())*t,s=a.direction,u=o(a);return u.from={left:0,opacity:1},u.to=\"forward\"===s?{left:-r,opacity:e}:\"backward\"===s?{left:r,opacity:e}:{left:0,opacity:0},l.default.createAnimation(n,u)}}},_createOpenDoorConfig:function(){var e=this,t=function(t){return{type:\"css\",extraCssClasses:\"dx-opendoor-animation\",delay:void 0===t.delay?e.option(\"defaultAnimationDelay\"):t.delay,duration:void 0===t.duration?e.option(\"defaultAnimationDuration\"):t.duration}};return{enter:function(e,n){var i=n.direction,o=t(n);return o.delay=\"none\"===i?o.delay:o.duration,o.from=\"dx-enter dx-opendoor-animation\"+d[i],o.to=\"dx-enter-active\",l.default.createAnimation(e,o)},leave:function(e,n){var i=n.direction,o=t(n);return o.from=\"dx-leave dx-opendoor-animation\"+d[i],o.to=\"dx-leave-active\",l.default.createAnimation(e,o)}}},_createWinPopConfig:function(){var e=this,t={type:\"css\",extraCssClasses:\"dx-win-pop-animation\",duration:e.option(\"defaultAnimationDuration\")};return{enter:function(n,i){var o=t,a=i.direction;return o.delay=\"none\"===a?e.option(\"defaultAnimationDelay\"):e.option(\"defaultAnimationDuration\")/2,o.from=\"dx-enter dx-win-pop-animation\"+d[a],o.to=\"dx-enter-active\",l.default.createAnimation(n,o)},leave:function(n,i){var o=t,a=i.direction;return o.delay=e.option(\"defaultAnimationDelay\"),o.from=\"dx-leave dx-win-pop-animation\"+d[a],o.to=\"dx-leave-active\",l.default.createAnimation(n,o)}}},resetToDefaults:function(){this.clear(),this.registerDefaultPresets(),this.applyChanges()},clear:function(e){var t=this,n=[];(0,a.each)(this._registeredPresets,(function(i,o){e&&e!==o.name?n.push(o):t.option(t._getPresetOptionName(o.name),void 0)})),this._registeredPresets=n,this.applyChanges()},registerPreset:function(e,t){this._registeredPresets.push({name:e,config:t})},applyChanges:function(){var e=this,t=[];(0,a.each)(this._registeredPresets,(function(n,i){var o={device:i.config.device,options:{}};o.options[e._getPresetOptionName(i.name)]=i.config.animation,t.push(o)})),this._setOptionsByDevice(t)},getPreset:function(e){for(var t=e;\"string\"==typeof t;)t=this.option(this._getPresetOptionName(t));return t},registerDefaultPresets:function(){this.registerPreset(\"pop\",{animation:{extraCssClasses:\"dx-android-pop-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"openDoor\",{animation:this._createOpenDoorConfig()}),this.registerPreset(\"win-pop\",{animation:this._createWinPopConfig()}),this.registerPreset(\"fade\",{animation:{extraCssClasses:\"dx-fade-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"slide\",{device:function(){return s.default.current().android||s.default.real.android},animation:this._createAndroidSlideAnimationConfig(1,1)}),this.registerPreset(\"slide\",{device:function(){return!s.default.current().android&&!s.default.real.android},animation:{extraCssClasses:\"dx-slide-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"ios7-slide\",{animation:{extraCssClasses:\"dx-ios7-slide-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"overflow\",{animation:{extraCssClasses:\"dx-overflow-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"ios7-toolbar\",{device:function(){return!s.default.current().android&&!s.default.real.android},animation:{extraCssClasses:\"dx-ios7-toolbar-animation\",delay:this.option(\"defaultAnimationDelay\"),duration:this.option(\"defaultAnimationDuration\")}}),this.registerPreset(\"ios7-toolbar\",{device:function(){return s.default.current().android||s.default.real.android},animation:this._createAndroidSlideAnimationConfig(0,.4)}),this.registerPreset(\"stagger-fade\",{animation:{extraCssClasses:\"dx-fade-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-slide\",{animation:{extraCssClasses:\"dx-slide-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-fade-slide\",{animation:{extraCssClasses:\"dx-fade-slide-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-drop\",{animation:{extraCssClasses:\"dx-drop-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-fade-drop\",{animation:{extraCssClasses:\"dx-fade-drop-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-fade-rise\",{animation:{extraCssClasses:\"dx-fade-rise-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-3d-drop\",{animation:{extraCssClasses:\"dx-3d-drop-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}}),this.registerPreset(\"stagger-fade-zoom\",{animation:{extraCssClasses:\"dx-fade-zoom-animation\",staggerDelay:this.option(\"defaultStaggerAnimationDelay\"),duration:this.option(\"defaultStaggerAnimationDuration\"),delay:this.option(\"defaultStaggerAnimationStartDelay\")}})}});t.PresetCollection=c;var h=new c;t.presets=h},52431:function(e,t,n){t.TransitionExecutor=void 0;var i=h(n(68374)),o=h(n(38377)),a=n(13306),r=n(20576),s=n(35922),l=n(95479),u=h(n(87209)),d=n(42814),c=n(62754);function h(e){return e&&e.__esModule?e:{default:e}}var f={forward:\" dx-forward\",backward:\" dx-backward\",none:\" dx-no-direction\",undefined:\" dx-no-direction\"},p=o.default.inherit({ctor:function(){this._accumulatedDelays={enter:0,leave:0},this._animations=[],this.reset()},_createAnimations:function(e,t,n,o){e=(0,i.default)(e);var a=this,r=[];n=n||{};var s=this._prepareElementAnimationConfig(t,n,o);return s&&e.each((function(){var e=a._createAnimation((0,i.default)(this),s,n);e&&(e.element.addClass(\"dx-animating\"),e.setup(),r.push(e))})),r},_prepareElementAnimationConfig:function(e,t,n){var i;if(\"string\"==typeof e){var o=e;e=d.presets.getPreset(o)}if(e)if((0,s.isFunction)(e[n]))i=e[n];else{if(!(i=(0,a.extend)({skipElementInitialStyles:!0,cleanupWhen:this._completePromise},e,t)).type||\"css\"===i.type){var r=\"dx-\"+n,l=(i.extraCssClasses?\" \"+i.extraCssClasses:\"\")+f[i.direction];i.type=\"css\",i.from=(i.from||r)+l,i.to=i.to||r+\"-active\"}i.staggerDelay=i.staggerDelay||0,i.delay=i.delay||0,i.staggerDelay&&(i.delay+=this._accumulatedDelays[n],this._accumulatedDelays[n]+=i.staggerDelay)}else i=void 0;return i},_createAnimation:function(e,t,n){var i;return(0,s.isPlainObject)(t)?i=u.default.createAnimation(e,t):(0,s.isFunction)(t)&&(i=t(e,n)),i},_startAnimations:function(){for(var e=this._animations,t=0;t<e.length;t++)e[t].start()},_stopAnimations:function(e){for(var t=this._animations,n=0;n<t.length;n++)t[n].stop(e)},_clearAnimations:function(){for(var e=this._animations,t=0;t<e.length;t++)e[t].element.removeClass(\"dx-animating\");this._animations.length=0},reset:function(){this._accumulatedDelays.enter=0,this._accumulatedDelays.leave=0,this._clearAnimations(),this._completeDeferred=new c.Deferred,this._completePromise=this._completeDeferred.promise()},enter:function(e,t,n){var i=this._createAnimations(e,t,n,\"enter\");this._animations.push.apply(this._animations,i)},leave:function(e,t,n){var i=this._createAnimations(e,t,n,\"leave\");this._animations.push.apply(this._animations,i)},start:function(){var e,t=this;if(this._animations.length){var n=(0,l.map)(this._animations,(function(e){var t=new c.Deferred;return e.deferred.always((function(){t.resolve()})),t.promise()}));e=c.when.apply(i.default,n).always((function(){t._completeDeferred.resolve(),t.reset()})),(0,r.executeAsync)((function(){t._startAnimations()}))}else t.reset(),e=(new c.Deferred).resolve().promise();return e},stop:function(e){this._stopAnimations(e)}});t.TransitionExecutor=p},31648:function(e,t,n){t.resetPosition=t.parseTranslate=t.move=t.locate=t.getTranslateCss=t.getTranslate=t.clearCache=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(97906),r=n(35922);var s=/matrix(3d)?\\((.+?)\\)/,l=/translate(?:3d)?\\((.+?)\\)/;function u(e){return\"string\"===(0,r.type)(e)&&\"%\"===e[e.length-1]}function d(e,t){e.length&&(0,a.data)(e.get(0),\"dxTranslator\",t)}t.locate=function(e){e=(0,o.default)(e);var t=f(e);return{left:t.x,top:t.y}};var c=function(e){e.length&&(0,a.removeData)(e.get(0),\"dxTranslator\")};t.clearCache=c;var h=function(e){return e.x=e.x||0,e.y=e.y||0,\"translate(\"+(u(e.x)?e.x:e.x+\"px\")+\", \"+(u(e.y)?e.y:e.y+\"px\")+\")\"};t.getTranslateCss=h;var f=function(e){var t=e.length?(0,a.data)(e.get(0),\"dxTranslator\"):null;if(!t){var n=(e.css(\"transform\")||h({x:0,y:0})).match(s),i=n&&n[1];n?(n=n[2].split(\",\"),\"3d\"===i?n=n.slice(12,15):(n.push(0),n=n.slice(4,7))):n=[0,0,0],d(e,t={x:parseFloat(n[0]),y:parseFloat(n[1]),z:parseFloat(n[2])})}return t};t.getTranslate=f;t.move=function(e,t){e=(0,o.default)(e);var n,i=t.left,a=t.top;void 0===i?(n=f(e)).y=a||0:void 0===a?(n=f(e)).x=i||0:d(e,n={x:i||0,y:a||0,z:0}),e.css({transform:h(n)}),(u(i)||u(a))&&c(e)};t.resetPosition=function(e,t){var n;e=(0,o.default)(e);var i={left:0,top:0,transform:\"none\"};t&&(n=e.css(\"transition\"),i.transition=\"none\"),e.css(i),c(e),t&&(e.get(0).offsetHeight,e.css(\"transition\",n))};t.parseTranslate=function(e){var t=e.match(l);if(t&&t[1])return t=t[1].split(\",\"),t={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}}},16354:function(e,t,n){t.default=void 0,n(2025),n(66312);var i,o=(i=n(36991))&&i.__esModule?i:{default:i},a=n(80566),r=n(95683);o.default.integration={},o.default.integration.EventsStrategy=a.EventsStrategy,o.default.integration.Options=r.Options;var s=o.default;t.default=s,e.exports=t.default,e.exports.default=t.default},72505:function(e,t,n){var i=n(36991);i.common=i.common||{},i.common.charts=n(29932),e.exports=i.common.charts},36991:function(e,t,n){var i=n(58201).getWindow(),o=i.DevExpress=i.DevExpress||{},a=o.errors=n(17381);if(o._DEVEXTREME_BUNDLE_INITIALIZED)throw a.Error(\"E0024\");o._DEVEXTREME_BUNDLE_INITIALIZED=!0,o.clientExporter=n(78292),o.excelExporter=n(2994),o.pdfExporter=n(44194),o.VERSION=n(36739).version,o.Class=n(38377),o.DOMComponent=n(13046),o.Component=n(44297).Component,o.registerComponent=n(99393),o.devices=n(20530),o.Color=n(52752);var r=n(90057);o.utils={},o.utils.requestAnimationFrame=r.requestAnimationFrame,o.utils.cancelAnimationFrame=r.cancelAnimationFrame,o.utils.initMobileViewport=n(88185).p,o.utils.getTimeZones=n(88673).Z,o.utils.extendFromObject=n(13306).extendFromObject,o.utils.triggerShownEvent=n(80506).triggerShownEvent,o.utils.triggerHidingEvent=n(80506).triggerHidingEvent,o.utils.resetActiveElement=n(3532).resetActiveElement,o.utils.findBestMatches=n(20576).findBestMatches,o.createQueue=n(59504).create,o.utils.dom=n(3532),o.utils.common=n(20576),o.utils.date=n(91198),o.utils.browser=n(47810),o.utils.inflector=n(78008),o.utils.iterator=n(95479),o.utils.readyCallbacks=n(24311),o.utils.resizeCallbacks=n(55814),o.utils.console=n(30869),o.utils.string=n(68752),o.utils.support=n(60137),o.utils.ajax=n(37208),o.viewPort=n(77695).value,o.hideTopOverlay=n(60628),o.formatHelper=n(30343),o.config=n(80209),o.animationPresets=n(42814).presets,o.fx=n(87209),o.TransitionExecutor=n(52431).TransitionExecutor,o.AnimationPresetCollection=n(42814).PresetCollection,o.events=n(66365),o.events.click=n(95429),o.events.utils=n(39611),o.events.GestureEmitter=n(98621),o.localization=n(94484),o.templateRendered=n(81033).renderedCallbacks,o.setTemplateEngine=n(72987).setTemplateEngine,e.exports=o},86635:function(e,t,n){var i=n(36991),o=n(17381);e.exports=i.data=i.data||{},Object.defineProperty(i.data,\"errorHandler\",{get:function(){return n(18438).errorHandler},set:function(e){o.log(\"W0003\",\"DevExpress.data\",\"errorHandler\",\"21.1\",\"Use the 'setErrorHandler' method instead\"),n(18438).setErrorHandler(e)}}),Object.defineProperty(i.data,\"_errorHandler\",{get:function(){return n(18438).handleError},set:function(e){o.log(\"W0003\",\"DevExpress.data\",\"_errorHandler\",\"21.1\",\"Use the 'setErrorHandler' method instead\"),n(18438).setErrorHandler(e)}}),i.data.setErrorHandler=n(18438).setErrorHandler,i.data.DataSource=n(33546),i.data.query=n(96687),i.data.Store=n(67403),i.data.ArrayStore=n(26562),i.data.CustomStore=n(88036),i.data.LocalStore=n(82837),i.data.base64_encode=n(16454).base64_encode,i.data.applyChanges=n(36893),i.data.Guid=n(73176),i.data.utils={},i.data.utils.compileGetter=n(47617).compileGetter,i.data.utils.compileSetter=n(47617).compileSetter,i.EndpointSelector=n(8162),i.data.queryImpl=n(77549).queryImpl,i.data.queryAdapters=n(16135);var a=n(16454);i.data.utils.normalizeBinaryCriterion=a.normalizeBinaryCriterion,i.data.utils.normalizeSortingInfo=a.normalizeSortingInfo,i.data.utils.errorMessageFromXhr=a.errorMessageFromXhr,i.data.utils.aggregators=a.aggregators,i.data.utils.keysEqual=a.keysEqual,i.data.utils.isDisjunctiveOperator=a.isDisjunctiveOperator,i.data.utils.isConjunctiveOperator=a.isConjunctiveOperator,i.data.utils.processRequestResultLock=a.processRequestResultLock,i.data.utils.toComparable=n(47617).toComparable,i.data.utils.multiLevelGroup=n(99236).multiLevelGroup,i.data.utils.arrangeSortingInfo=n(99236).arrangeSortingInfo,i.data.utils.normalizeDataSourceOptions=n(9234).normalizeDataSourceOptions},72343:function(e,t,n){n(86635),DevExpress.data.ODataStore=n(341),DevExpress.data.ODataContext=n(47256),DevExpress.data.utils=DevExpress.data.utils||{},DevExpress.data.utils.odata={},DevExpress.data.utils.odata.keyConverters=n(77869).keyConverters,DevExpress.data.EdmLiteral=n(77869).EdmLiteral;var i=n(77869);DevExpress.data.utils.odata.serializePropName=i.serializePropName,DevExpress.data.utils.odata.serializeValue=i.serializeValue,DevExpress.data.utils.odata.serializeKey=i.serializeKey,DevExpress.data.utils.odata.sendRequest=i.sendRequest,DevExpress.data.queryAdapters=DevExpress.data.queryAdapters||{},DevExpress.data.queryAdapters.odata=n(54263).odata},56208:function(e,t,n){var i=u(n(36991)),o=u(n(49816)),a=u(n(45765)),r=u(n(4323)),s=u(n(41332)),l=u(n(98831));function u(e){return e&&e.__esModule?e:{default:e}}e.exports=i.default.fileManagement=i.default.fileManagement||{},i.default.fileManagement.FileSystemError=o.default,i.default.fileManagement.FileSystemItem=a.default,i.default.fileManagement.ObjectFileSystemProvider=r.default,i.default.fileManagement.RemoteFileSystemProvider=s.default,i.default.fileManagement.CustomFileSystemProvider=l.default},85357:function(e,t,n){var i=n(36991);n(78475),n(71582),n(49281),n(74872),n(46949),n(908),n(60316),n(7239),n(95429),n(49166),n(85272),n(23174),n(11699),n(24028),n(93786),n(34309),n(91093),e.exports=i},94620:function(e,t,n){var i=n(85357).data=n(86635);i.odata=n(72343),e.exports=i},70527:function(e,t,n){var i,o=(i=n(85357))&&i.__esModule?i:{default:i};var a=n(56208);o.default.fileManagement=a,e.exports=a},66312:function(e,t,n){var i=n(85357);n(94620),n(72505);var o=i.viz=n(20802);o.currentTheme=n(86231).currentTheme,o.registerTheme=n(86231).registerTheme,o.exportFromMarkup=n(5259).exportFromMarkup,o.getMarkup=n(5259).getMarkup,o.exportWidgets=n(5259).exportWidgets,o.currentPalette=n(23696).currentPalette,o.getPalette=n(23696).getPalette,o.generateColors=n(23696).generateColors,o.registerPalette=n(23696).registerPalette,o.refreshTheme=n(86231).refreshTheme,o.dxChart=n(99511),o.dxPieChart=n(72111),o.dxPolarChart=n(80919),o.dxLinearGauge=n(99630),o.dxCircularGauge=n(39847),o.dxBarGauge=n(45888),o.dxRangeSelector=n(82879),o.dxVectorMap=n(81849),o.map={},o.map.sources={},o.map.projection=n(102).projection,o.dxSparkline=n(43759),o.dxBullet=n(88950),o.dxTreeMap=n(15584),o.dxFunnel=n(30187),o.dxSankey=n(34377),o.getTheme=n(86231).getTheme,o.findTheme=n(86231).getTheme,o.refreshAll=n(86231).refreshTheme,o.refreshPaths=n(34434).refreshPaths,o.gauges={__internals:{}},o._dashboard={},o._dashboard.Renderer=n(56453).Renderer,o._dashboard.SvgElement=n(56453).SvgElement,o._dashboard.patchFontOptions=n(19157).patchFontOptions,e.exports=o},50779:function(e,t,n){var i=n(85357);n(94620),n(70527);var o=i.ui=n(26864);o.themes=n(75811),o.setTemplateEngine=n(72987).setTemplateEngine,o.dialog=n(15029),o.notify=n(59958),o.repaintFloatingActionButton=n(81374),o.hideToasts=n(33964),o.dxActionSheet=n(81476),o.dxAutocomplete=n(65418),o.dxBox=n(55551),o.dxButton=n(63008),o.dxDropDownButton=n(45231),o.dxButtonGroup=n(28236),o.dxCalendar=n(26559),o.dxCheckBox=n(18859),o.dxColorBox=n(4278),o.dxDateBox=n(29589),o.dxDateRangeBox=n(56258),o.dxDrawer=n(45065),o.dxDeferRendering=n(28414),o.dxDropDownBox=n(36646),o.dxFileUploader=n(53749),o.dxForm=n(17737),o.dxGallery=n(49433),o.dxHtmlEditor=n(9619),o.dxList=n(86e3),o.dxLoadIndicator=n(2492),o.dxLoadPanel=n(97218),o.dxLookup=n(55935),o.dxMap=n(64304),o.dxMultiView=n(86478),o.dxNumberBox=n(34171),o.dxOverlay=n(89799),o.dxPopover=n(22348),o.dxPopup=n(39114),o.dxProgressBar=n(28080),o.dxRadioGroup=n(14305),o.dxRangeSlider=n(36992),o.dxResizable=n(46743),o.dxResponsiveBox=n(21643),o.dxScrollView=n(4741),o.dxSelectBox=n(78665),o.dxSlider=n(97834),o.dxSpeedDialAction=n(17017),o.dxSwitch=n(31609),o.dxTabPanel=n(21807),o.dxTabs=n(13453),o.dxTagBox=n(31362),o.dxTextArea=n(51237),o.dxTextBox=n(29837),o.dxTileView=n(93094),o.dxToast=n(37748),o.dxToolbar=n(71042),o.dxTooltip=n(94920),o.dxTrackBar=n(39661),o.dxDraggable=n(42160),o.dxSortable=n(66843),i.validationEngine=n(90964),o.dxValidationSummary=n(97289),o.dxValidationGroup=n(4401),o.dxValidator=n(39562),n(52935),o.CollectionWidget=n(11050),o.dxDropDownEditor=n(44687),e.exports=o},2025:function(e,t,n){var i=n(94620),o=n(50779);o.dxAccordion=n(76219),o.dxContextMenu=n(10042),o.dxDataGrid=n(1186),o.dxTreeList=n(82655),o.dxMenu=n(76995),o.dxPivotGrid=n(96089),o.dxPivotGridFieldChooser=n(32014),i.PivotGridDataSource=n(98713),i.XmlaStore=n(9170),o.dxScheduler=n(9508),o.dxTreeView=n(30254),o.dxFilterBuilder=n(20301),o.dxFileManager=n(87446),o.dxDiagram=n(52311),o.dxGantt=n(33465)},26864:function(e,t,n){n(36991),e.exports=DevExpress.ui={}},20802:function(e,t,n){n(36991),e.exports=DevExpress.viz=DevExpress.viz||{}},52752:function(e,t){t.default=void 0;var n={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightslategrey:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"},i=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,process:function(e){return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10)]}},{re:/^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,process:function(e){return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),parseFloat(e[4])]}},{re:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16),Number((parseInt(e[4],16)/255).toFixed(2))]}},{re:/^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16),Number((parseInt(e[4]+e[4],16)/255).toFixed(2))]}},{re:/^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,process:function(e){var t=parseInt(e[1],10),n=parseInt(e[2],10),i=parseInt(e[3],10),o=s(t,n,i);return[o[0],o[1],o[2],1,[t,n,i]]}},{re:/^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,process:function(e){var t=parseInt(e[1],10),n=parseInt(e[2],10),i=parseInt(e[3],10),o=d(t,n,i);return[o[0],o[1],o[2],1,null,[t,n,i]]}}],o=Math.round;function a(e){var t;this.baseColor=e,e&&(t=String(e).toLowerCase().replace(/ /g,\"\"),t=function(e){if(\"transparent\"===e)return[0,0,0,0];for(var t,n=0,o=i.length;n<o;++n)if(t=i[n].re.exec(e))return i[n].process(t);return null}(t=n[t]?\"#\"+n[t]:t)),t||(this.colorIsInvalid=!0),t=t||{},this.r=r(t[0]),this.g=r(t[1]),this.b=r(t[2]),this.a=r(t[3],1,1),t[4]?this.hsv={h:t[4][0],s:t[4][1],v:t[4][2]}:this.hsv=function(e,t,n){var i,o,a=Math.max(e,t,n),r=Math.min(e,t,n),s=a-r,l=a;if(o=0===a?0:1-r/a,a===r)i=0;else switch(a){case e:i=(t-n)/s*60,t<n&&(i+=360);break;case t:i=(n-e)/s*60+120;break;case n:i=(e-t)/s*60+240}return o*=100,l*=100/255,{h:Math.round(i),s:Math.round(o),v:Math.round(l)}}(this.r,this.g,this.b),t[5]?this.hsl={h:t[5][0],s:t[5][1],l:t[5][2]}:this.hsl=function(e,t,n){e=c(e,255),t=c(t,255),n=c(n,255);var i,a,r=Math.max(e,t,n),s=Math.min(e,t,n),l=r+s,u=l/2;if(r===s)i=a=0;else{var d=r-s;a=u>.5?d/(2-l):d/l,i=function(e,t,n,i){switch(Math.max(e,t,n)){case e:return(t-n)/i+(t<n?6:0);case t:return(n-e)/i+2;case n:return(e-t)/i+4}}(e,t,n,d),i/=6}return{h:o(360*i),s:o(100*a),l:o(100*u)}}(this.r,this.g,this.b)}function r(e,t,n){return t=t||0,n=n||255,e<0||isNaN(e)?t:e>n?n:e}function s(e,t,n){var i,o,a,r=(100-t)*n/100,s=e%60/60*(n-r),l=r+s,u=n-s;switch(Math.floor(e%360/60)){case 0:i=n,o=l,a=r;break;case 1:i=u,o=n,a=r;break;case 2:i=r,o=n,a=l;break;case 3:i=r,o=u,a=n;break;case 4:i=l,o=r,a=n;break;case 5:i=n,o=r,a=u}return[Math.round(2.55*i),Math.round(2.55*o),Math.round(2.55*a)]}function l(e,t){var n=t;return\"r\"===e&&(n=t+1/3),\"b\"===e&&(n=t-1/3),n}function u(e,t,n){return(n=function(e){return e<0&&(e+=1),e>1&&(e-=1),e}(n))<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function d(e,t,n){var i,a,r;if(e=c(e,360),t=c(t,100),n=c(n,100),0===t)i=a=r=n;else{var s=n<.5?n*(1+t):n+t-n*t,d=2*n-s;i=u(d,s,l(\"r\",e)),a=u(d,s,l(\"g\",e)),r=u(d,s,l(\"b\",e))}return[o(255*i),o(255*a),o(255*r)]}function c(e,t){return e=Math.min(t,Math.max(0,parseFloat(e))),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function h(e,t,n){return t=t||0,n=n||255,!(e%1!=0||e<t||e>n||\"number\"!=typeof e||isNaN(e))}a.prototype={constructor:a,highlight:function(e){return e=e||10,this.alter(e).toHex()},darken:function(e){return e=e||10,this.alter(-e).toHex()},alter:function(e){var t=new a;return t.r=r(this.r+e),t.g=r(this.g+e),t.b=r(this.b+e),t},blend:function(e,t){var n=e instanceof a?e:new a(e),i=new a;return i.r=r(o(this.r*(1-t)+n.r*t)),i.g=r(o(this.g*(1-t)+n.g*t)),i.b=r(o(this.b*(1-t)+n.b*t)),i},toHex:function(){return e=this.r,t=this.g,n=this.b,\"#\"+(16777216|e<<16|t<<8|n).toString(16).slice(1);var e,t,n},getPureColor:function(){return new a(\"rgb(\"+s(this.hsv.h,100,100).join(\",\")+\")\")},isValidHex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},isValidRGB:function(e,t,n){return!!(h(e)&&h(t)&&h(n))},isValidAlpha:function(e){return!(isNaN(e)||e<0||e>1||\"number\"!=typeof e)},colorIsInvalid:!1,fromHSL:function(e){var t=new a,n=d(e.h,e.s,e.l);return t.r=n[0],t.g=n[1],t.b=n[2],t}};var f=a;t.default=f,e.exports=t.default,e.exports.default=t.default},29932:function(e,t,n){Object.defineProperty(t,\"registerGradient\",{enumerable:!0,get:function(){return i.registerGradient}}),Object.defineProperty(t,\"registerPattern\",{enumerable:!0,get:function(){return i.registerPattern}});var i=n(66798)},62414:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(58201),r=n(35922),s=n(95479);var l=function(){function e(e,t){t=t||{},this._action=e,this._context=t.context||(0,a.getWindow)(),this._beforeExecute=t.beforeExecute,this._afterExecute=t.afterExecute,this._component=t.component,this._validatingTargetName=t.validatingTargetName;var n=this._excludeValidators={};if(t.excludeValidators)for(var i=0;i<t.excludeValidators.length;i++)n[t.excludeValidators[i]]=!0}var t=e.prototype;return t.execute=function(){var e={action:this._action,args:Array.prototype.slice.call(arguments),context:this._context,component:this._component,validatingTargetName:this._validatingTargetName,cancel:!1,handled:!1},t=this._beforeExecute,n=this._afterExecute,i=e.args[0]||{};if(this._validateAction(e)&&(null==t||t.call(this._context,e),!e.cancel)){var o=this._executeAction(e);if(!i.cancel)return null==n||n.call(this._context,e),o}},t._validateAction=function(t){var n=this._excludeValidators,i=e.executors;for(var o in i)if(!n[o]){var a,r=i[o];if(null===(a=r.validate)||void 0===a||a.call(r,t),t.cancel)return!1}return!0},t._executeAction=function(t){var n,i=e.executors;for(var o in i){var a,r=i[o];if(null===(a=r.execute)||void 0===a||a.call(r,t),t.handled){n=t.result;break}}return n},e.registerExecutor=function(t,n){(0,r.isPlainObject)(t)?(0,s.each)(t,e.registerExecutor):e.executors[t]=n},e.unregisterExecutor=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];(0,s.each)(n,(function(){delete e.executors[this]}))},e}();t.default=l,l.executors={};var u=function(e){return function(t){if(t.args.length){var n=t.args[0],i=n[t.validatingTargetName]||n.element;i&&e((0,o.default)(i))&&(t.cancel=!0)}}};l.registerExecutor({disabled:{validate:u((function(e){return e.is(\".dx-state-disabled, .dx-state-disabled *\")}))},readOnly:{validate:u((function(e){return e.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\")}))},undefined:{execute:function(e){e.action||(e.result=void 0,e.handled=!0)}},func:{execute:function(e){(0,r.isFunction)(e.action)&&(e.result=e.action.call(e.context,e.args[0]),e.handled=!0)}}}),e.exports=t.default,e.exports.default=t.default},38377:function(e,t,n){t.default=void 0;var i,o=(i=n(17381))&&i.__esModule?i:{default:i},a=n(35922);var r,s=function(e,t,n){return function(){var i=this.callBase;this.callBase=e[t];try{return n.apply(this,arguments)}finally{this.callBase=i}}},l=function(e){var t,n,i;if(!e)return this;for(n in e)i=e[n],t=\"function\"==typeof this.prototype[n]&&\"function\"==typeof i,this.prototype[n]=t?s(this.parent.prototype,n,i):i;return this},u=function(){var e,t,n,i=this,o=Object.prototype.hasOwnProperty.bind(i),a=!o(\"_includedCtors\")&&!o(\"_includedPostCtors\");for(a&&(i._includedCtors=i._includedCtors.slice(0),i._includedPostCtors=i._includedPostCtors.slice(0)),n=0;n<arguments.length;n++)for(t in(e=arguments[n]).ctor&&i._includedCtors.push(e.ctor),e.postCtor&&i._includedPostCtors.push(e.postCtor),e)\"ctor\"!==t&&\"postCtor\"!==t&&\"default\"!==t&&(i.prototype[t]=e[t]);return i},d=function(e){if(!Object.prototype.hasOwnProperty.bind(this)(\"parent\")&&this.parent){var t=Object.getPrototypeOf(this);return t===e||t.subclassOf(e)}return this.parent===e||!(!this.parent||!this.parent.subclassOf)&&this.parent.subclassOf(e)},c=function(){throw o.default.Error(\"E0001\")},h=(r=Object.prototype.hasOwnProperty,function(e,t){for(var n in e){if(!r.call(e,n))return;t[n]=e[n]}}),f=function(){};f.inherit=function(e){var t=function(){if(!this||(0,a.isWindow)(this)||\"function\"!=typeof this.constructor)throw o.default.Error(\"E0003\");var e,t=this,n=t.ctor,i=t.constructor._includedCtors,r=t.constructor._includedPostCtors;for(e=0;e<i.length;e++)i[e].call(t);for(n&&n.apply(t,arguments),e=0;e<r.length;e++)r[e].call(t)};return t.prototype=function(e){var t=function(){};return t.prototype=e.prototype,new t}(this),h(this,t),t.inherit=this.inherit,t.abstract=c,t.redefine=l,t.include=u,t.subclassOf=d,t.parent=this,t._includedCtors=this._includedCtors?this._includedCtors.slice(0):[],t._includedPostCtors=this._includedPostCtors?this._includedPostCtors.slice(0):[],t.prototype.constructor=t,t.redefine(e),t},f.abstract=c;var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},44297:function(e,t,n){t.Component=void 0;var i=_(n(80209)),o=n(13306),a=n(95683),r=n(45434),s=_(n(38377)),l=_(n(62414)),u=_(n(17381)),d=_(n(44504)),c=n(80566),h=n(9321),f=n(90889),p=n(35922),g=n(20576),m=n(47617);function _(e){return e&&e.__esModule?e:{default:e}}var v=function(e){return e.charAt(2).toLowerCase()+e.substr(3)},y=s.default.inherit({_setDeprecatedOptions:function(){this._deprecatedOptions={}},_getDeprecatedOptions:function(){return this._deprecatedOptions},_getDefaultOptions:function(){return{onInitialized:null,onOptionChanged:null,onDisposing:null,defaultOptionsRules:null}},_defaultOptionsRules:function(){return[]},_setOptionsByDevice:function(e){this._options.applyRules(e)},_convertRulesToOptions:function(e){return(0,r.convertRulesToOptions)(e)},_isInitialOptionValue:function(e){return this._options.isInitial(e)},_setOptionsByReference:function(){this._optionsByReference={}},_getOptionsByReference:function(){return this._optionsByReference},ctor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e._optionChangedCallbacks,n=e._disposingCallbacks;this.NAME=(0,h.name)(this.constructor),this._eventsStrategy=c.EventsStrategy.create(this,e.eventsStrategy),this._updateLockCount=0,this._optionChangedCallbacks=t||(0,d.default)(),this._disposingCallbacks=n||(0,d.default)(),this.postponedOperations=new f.PostponedOperations,this._createOptions(e)},_createOptions:function(e){var t=this;this.beginUpdate();try{this._setOptionsByReference(),this._setDeprecatedOptions(),this._options=new a.Options(this._getDefaultOptions(),this._getDefaultOptions(),this._getOptionsByReference(),this._getDeprecatedOptions()),this._options.onChanging((function(e,n,i){return t._initialized&&t._optionChanging(e,n,i)})),this._options.onDeprecated((function(e,n){return t._logDeprecatedOptionWarning(e,n)})),this._options.onChanged((function(e,n,i){return t._notifyOptionChanged(e,n,i)})),this._options.onStartChange((function(){return t.beginUpdate()})),this._options.onEndChange((function(){return t.endUpdate()})),this._options.addRules(this._defaultOptionsRules()),e&&e.onInitializing&&e.onInitializing.apply(this,[e]),this._setOptionsByDevice(e.defaultOptionsRules),this._initOptions(e)}finally{this.endUpdate()}},_initOptions:function(e){this.option(e)},_init:function(){var e=this;this._createOptionChangedAction(),this.on(\"disposing\",(function(t){e._disposingCallbacks.fireWith(e,[t])}))},_logDeprecatedOptionWarning:function(e,t){var n=t.message||\"Use the '\".concat(t.alias,\"' option instead\");u.default.log(\"W0001\",this.NAME,e,t.since,n)},_logDeprecatedComponentWarning:function(e,t){u.default.log(\"W0000\",this.NAME,e,\"Use the '\".concat(t,\"' widget instead\"))},_createOptionChangedAction:function(){this._optionChangedAction=this._createActionByOption(\"onOptionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_createDisposingAction:function(){this._disposingAction=this._createActionByOption(\"onDisposing\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_optionChanged:function(e){switch(e.name){case\"onDisposing\":case\"onInitialized\":break;case\"onOptionChanged\":this._createOptionChangedAction()}},_dispose:function(){this._optionChangedCallbacks.empty(),this._createDisposingAction(),this._disposingAction(),this._eventsStrategy.dispose(),this._options.dispose(),this._disposed=!0},_lockUpdate:function(){this._updateLockCount++},_unlockUpdate:function(){this._updateLockCount=Math.max(this._updateLockCount-1,0)},_isUpdateAllowed:function(){return 0===this._updateLockCount},_isInitializingRequired:function(){return!this._initializing&&!this._initialized},isInitialized:function(){return this._initialized},_commitUpdate:function(){this.postponedOperations.callPostponedOperations(),this._isInitializingRequired()&&this._initializeComponent()},_initializeComponent:function(){this._initializing=!0;try{this._init()}finally{this._initializing=!1,this._lockUpdate(),this._createActionByOption(\"onInitialized\",{excludeValidators:[\"disabled\",\"readOnly\"]})(),this._unlockUpdate(),this._initialized=!0}},instance:function(){return this},beginUpdate:function(){this._lockUpdate()},endUpdate:function(){this._unlockUpdate(),this._isUpdateAllowed()&&this._commitUpdate()},_optionChanging:g.noop,_notifyOptionChanged:function(e,t,n){if(this._initialized)for(var i=[e].concat(this._options.getAliasesByName(e)),a=0;a<i.length;a++){var r=i[a],s={name:(0,m.getPathParts)(r)[0],fullName:r,value:t,previousValue:n};0!==r.indexOf(\"_\",0)&&(this._optionChangedCallbacks.fireWith(this,[(0,o.extend)(this._defaultActionArgs(),s)]),this._optionChangedAction((0,o.extend)({},s))),this._disposed||this._cancelOptionChange===r||this._optionChanged(s)}},initialOption:function(e){return this._options.initial(e)},_defaultActionConfig:function(){return{context:this,component:this}},_defaultActionArgs:function(){return{component:this}},_createAction:function(e,t){var n,i=this;return function(a){return(0,p.isDefined)(a)||(a={}),(0,p.isPlainObject)(a)||(a={actionValue:a}),(n=n||new l.default(e,(0,o.extend)({},t,i._defaultActionConfig()))).execute.call(n,(0,o.extend)(a,i._defaultActionArgs()))}},_createActionByOption:function(e,t){var n,a,r,s=this;t=(0,o.extend)({},t);var l=function(){if(!a){if(t=t||{},\"string\"!=typeof e)throw u.default.Error(\"E0008\");0===e.indexOf(\"on\")&&(a=v(e)),r=s.option(e)}if(n||r||t.beforeExecute||t.afterExecute||s._eventsStrategy.hasEvent(a)){if(!n){var o=t.beforeExecute;t.beforeExecute=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];o&&o.apply(s,t),s._eventsStrategy.fireEvent(a,t[0].args)},n=s._createAction(r,t)}for(var l=arguments.length,d=new Array(l),c=0;c<l;c++)d[c]=arguments[c];if((0,i.default)().wrapActionsBeforeExecute){var h=s.option(\"beforeActionExecute\")||g.noop,f=h(s,n,t)||n;return f.apply(s,d)}return n.apply(s,d)}};return(0,i.default)().wrapActionsBeforeExecute?l:(this.option(\"onActionCreated\")||g.noop)(this,l,t)||l},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this},hasActionSubscription:function(e){return!!this._options.silent(e)||this._eventsStrategy.hasEvent(v(e))},isOptionDeprecated:function(e){return this._options.isDeprecated(e)},_setOptionWithoutOptionChange:function(e,t){this._cancelOptionChange=e,this.option(e,t),this._cancelOptionChange=!1},_getOptionValue:function(e,t){var n=this.option(e);return(0,p.isFunction)(n)?n.bind(t)():n},option:function(){var e;return(e=this._options).option.apply(e,arguments)},resetOption:function(e){this.beginUpdate(),this._options.reset(e),this.endUpdate()}});t.Component=y},99393:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=s(n(5554)),a=s(n(17381)),r=n(9321);function s(e){return e&&e.__esModule?e:{default:e}}o.default.add((function(e,t){i.default.fn[e]=function(n){var i,o=\"string\"==typeof n;if(o){var r=n,s=[].slice.call(arguments).slice(1);this.each((function(){var n=t.getInstance(this);if(!n)throw a.default.Error(\"E0009\",e);var o=n[r].apply(n,s);void 0===i&&(i=o)}))}else this.each((function(){var e=t.getInstance(this);e?e.option(n):new t(this,n)})),i=this;return i}}));var l=function(e,t,n){n?t[e]=n:n=t,(0,r.name)(n,e),o.default.fire(e,n)};t.default=l,e.exports=t.default,e.exports.default=t.default},5554:function(e,t,n){var i;t.default=void 0;var o=new(((i=n(83358))&&i.__esModule?i:{default:i}).default);t.default=o,e.exports=t.default,e.exports.default=t.default},80209:function(e,t,n){t.default=void 0;var i,o=n(13306),a=(i=n(17381))&&i.__esModule?i:{default:i};var r={rtlEnabled:!1,defaultCurrency:\"USD\",defaultUseCurrencyAccountingStyle:!0,oDataFilterToLower:!0,serverDecimalSeparator:\".\",decimalSeparator:\".\",thousandsSeparator:\",\",forceIsoDateParsing:!0,wrapActionsBeforeExecute:!0,useLegacyStoreResult:!1,useJQuery:void 0,editorStylingMode:void 0,useLegacyVisibleIndex:!1,floatingActionButtonConfig:{icon:\"add\",closeIcon:\"close\",label:\"\",position:{at:\"right bottom\",my:\"right bottom\",offset:{x:-16,y:-16}},maxSpeedDialActionCount:5,shading:!1,direction:\"auto\"},optionsParser:function(e){\"{\"!==e.trim().charAt(0)&&(e=\"{\"+e+\"}\");try{return JSON.parse(e)}catch(t){try{return JSON.parse(s(e))}catch(n){throw a.default.Error(\"E3018\",t,e)}}}},s=function(e){return e.replace(/'/g,'\"').replace(/,\\s*([\\]}])/g,\"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g,'$1\"$2\":')},l=[\"decimalSeparator\",\"thousandsSeparator\"],u=function(){if(!arguments.length)return r;var e=arguments.length<=0?void 0:arguments[0];l.forEach((function(t){if(e[t]){var n=\"Now, the \".concat(t,\" is selected based on the specified locale.\");a.default.log(\"W0003\",\"config\",t,\"19.2\",n)}})),(0,o.extend)(r,e)};\"undefined\"!=typeof DevExpress&&DevExpress.config&&u(DevExpress.config);var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},20530:function(e,t,n){t.default=void 0;var i=n(58664),o=m(n(68374)),a=n(58201),r=n(13306),s=n(35922),l=m(n(17381)),u=m(n(44504)),d=m(n(24311)),c=m(n(55814)),h=n(80566),f=n(36613),p=n(77695),g=m(n(80209));function m(e){return e&&e.__esModule?e:{default:e}}var _=(0,a.getWindow)(),v={iPhone:\"iPhone\",iPhone5:\"iPhone\",iPhone6:\"iPhone\",iPhone6plus:\"iPhone\",iPad:\"iPad\",iPadMini:\"iPad Mini\",androidPhone:\"Android Mobile\",androidTablet:\"Android\",msSurface:\"Windows ARM Tablet PC\",desktop:\"desktop\"},y={deviceType:\"desktop\",platform:\"generic\",version:[],phone:!1,tablet:!1,android:!1,ios:!1,generic:!0,grade:\"A\",mac:!1},b={generic:function(e){var t=/windows phone/i.test(e)||e.match(/WPDesktop/),n=!t&&/Windows(.*)arm(.*)Tablet PC/i.test(e),i=!t&&!n&&/msapphost/i.test(e),o=/((intel|ppc) mac os x)/.test(e.toLowerCase());return t||n||i||o?{deviceType:t?\"phone\":n?\"tablet\":\"desktop\",platform:\"generic\",version:[],grade:\"A\",mac:o}:null},appleTouchDevice:function(e){var t=(0,a.getNavigator)(),n=/Macintosh/i.test(e)&&(null==t?void 0:t.maxTouchPoints)>2;if(!/ip(hone|od|ad)/i.test(e)&&!n)return null;var i=/ip(hone|od)/i.test(e),o=e.match(/os\\s{0,}X? (\\d+)_(\\d+)_?(\\d+)?/i);return{deviceType:i?\"phone\":\"tablet\",platform:\"ios\",version:o?[parseInt(o[1],10),parseInt(o[2],10),parseInt(o[3]||0,10)]:[],grade:480===_.screen.height?\"B\":\"A\"}},android:function(e){var t=/android|htc_|silk/i.test(e),n=/windows phone/i.test(e);if(!t||n)return null;var i=/mobile/i.test(e),o=e.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i),a=o?[parseInt(o[1],10),parseInt(o[2]||0,10),parseInt(o[3]||0,10)]:[];return{deviceType:i?\"phone\":\"tablet\",platform:\"android\",version:a,grade:a.length>1&&(a[0]<4||4===a[0]&&a[1]<4)?\"B\":\"A\"}}},x=[b.appleTouchDevice,b.android,b.generic],w=new(function(){function e(e){this._window=(null==e?void 0:e.window)||_,this._realDevice=this._getDevice(),this._currentDevice=void 0,this._currentOrientation=void 0,this._eventsStrategy=new h.EventsStrategy(this),this.changed=(0,u.default)(),(0,a.hasWindow)()&&(d.default.add(this._recalculateOrientation.bind(this)),c.default.add(this._recalculateOrientation.bind(this)))}var t=e.prototype;return t.current=function(e){if(e)return this._currentDevice=this._getDevice(e),this._forced=!0,void this.changed.fire();if(!this._currentDevice){e=void 0;try{e=this._getDeviceOrNameFromWindowScope()}catch(t){e=this._getDeviceNameFromSessionStorage()}finally{e||(e=this._getDeviceNameFromSessionStorage()),e&&(this._forced=!0)}this._currentDevice=this._getDevice(e)}return this._currentDevice},t.real=function(e){return(0,r.extend)({},this._realDevice)},t.orientation=function(){return this._currentOrientation},t.isForced=function(){return this._forced},t.isRippleEmulator=function(){return!!this._window.tinyHippos},t._getCssClasses=function(e){var t=[],n=this._realDevice;return(e=e||this.current()).deviceType&&(t.push(\"dx-device-\".concat(e.deviceType)),\"desktop\"!==e.deviceType&&t.push(\"dx-device-mobile\")),t.push(\"dx-device-\".concat(n.platform)),n.version&&n.version.length&&t.push(\"dx-device-\".concat(n.platform,\"-\").concat(n.version[0])),this.isSimulator()&&t.push(\"dx-simulator\"),(0,g.default)().rtlEnabled&&t.push(\"dx-rtl\"),t},t.attachCssClasses=function(e,t){this._deviceClasses=this._getCssClasses(t).join(\" \"),(0,o.default)(e).addClass(this._deviceClasses)},t.detachCssClasses=function(e){(0,o.default)(e).removeClass(this._deviceClasses)},t.isSimulator=function(){try{return this._isSimulator||(0,a.hasWindow)()&&this._window.top!==this._window.self&&this._window.top[\"dx-force-device\"]||this.isRippleEmulator()}catch(e){return!1}},t.forceSimulator=function(){this._isSimulator=!0},t._getDevice=function(e){if(\"genericPhone\"===e&&(e={deviceType:\"phone\",platform:\"generic\",generic:!0}),(0,s.isPlainObject)(e))return this._fromConfig(e);var t;if(e){if(!(t=v[e]))throw l.default.Error(\"E0005\")}else t=(0,a.getNavigator)().userAgent;return this._fromUA(t)},t._getDeviceOrNameFromWindowScope=function(){var e;return(0,a.hasWindow)()&&(this._window.top[\"dx-force-device-object\"]||this._window.top[\"dx-force-device\"])&&(e=this._window.top[\"dx-force-device-object\"]||this._window.top[\"dx-force-device\"]),e},t._getDeviceNameFromSessionStorage=function(){var e=(0,f.sessionStorage)();if(e){var t=e.getItem(\"dx-force-device\");try{return JSON.parse(t)}catch(e){return t}}},t._fromConfig=function(e){var t=(0,r.extend)({},y,this._currentDevice,e),n={phone:\"phone\"===t.deviceType,tablet:\"tablet\"===t.deviceType,android:\"android\"===t.platform,ios:\"ios\"===t.platform,generic:\"generic\"===t.platform};return(0,r.extend)(t,n)},t._fromUA=function(e){for(var t=0;t<x.length;t+=1){var n=(0,x[t])(e);if(n)return this._fromConfig(n)}return y},t._changeOrientation=function(){var e=(0,o.default)(this._window),t=(0,i.getHeight)(e)>(0,i.getWidth)(e)?\"portrait\":\"landscape\";this._currentOrientation!==t&&(this._currentOrientation=t,this._eventsStrategy.fireEvent(\"orientationChanged\",[{orientation:t}]))},t._recalculateOrientation=function(){var e=(0,i.getWidth)(this._window);this._currentWidth!==e&&(this._currentWidth=e,this._changeOrientation())},t.on=function(e,t){return this._eventsStrategy.on(e,t),this},t.off=function(e,t){return this._eventsStrategy.off(e,t),this},e}()),C=(0,p.value)();C&&w.attachCssClasses(C),p.changeCallback.add((function(e,t){w.detachCssClasses(t),w.attachCssClasses(e)}));var S=w;t.default=S,e.exports=t.default,e.exports.default=t.default},73349:function(e,t,n){t.default=void 0;var i,o=(i=n(20476))&&i.__esModule?i:{default:i},a=n(20576),r=n(90330);function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var l={querySelectorAll:function(e,t){return e.querySelectorAll(t)},elementMatches:function(e,t){var n=this;return(e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(t){var i=e.document||e.ownerDocument;if(!i)return!1;for(var o=n.querySelectorAll(i,t),a=0;a<o.length;a++)if(o[a]===e)return!0}).call(e,t)},createElement:function(e,t){return(t=t||this._document).createElement(e)},createElementNS:function(e,t,n){return(n=n||this._document).createElementNS(e,t)},createTextNode:function(e,t){return(t=t||this._document).createTextNode(e)},createAttribute:function(e,t){return(t=t||this._document).createAttribute(e)},isNode:function(e){return e&&\"object\"===s(e)&&\"nodeType\"in e&&\"nodeName\"in e},isElementNode:function(e){return e&&1===e.nodeType},isTextNode:function(e){return e&&3===e.nodeType},isDocument:function(e){return e&&9===e.nodeType},isDocumentFragment:function(e){return e&&11===e.nodeType},removeElement:function(e){var t=e&&e.parentNode;t&&t.removeChild(e)},insertElement:function(e,t,n){e&&t&&e!==t&&(n?e.insertBefore(t,n):e.appendChild(t))},getAttribute:function(e,t){return e.getAttribute(t)},setAttribute:function(e,t,n){\"style\"===t?e.style.cssText=n:e.setAttribute(t,n)},removeAttribute:function(e,t){e.removeAttribute(t)},setProperty:function(e,t,n){e[t]=n},setText:function(e,t){e&&(e.textContent=t)},setClass:function(e,t,n){1===e.nodeType&&t&&(n?e.classList.add(t):e.classList.remove(t))},setStyle:function(e,t,n){e.style[t]=n||\"\"},_document:\"undefined\"==typeof document?void 0:document,getDocument:function(){return this._document},getActiveElement:function(e){return this.getRootNode(e).activeElement},getRootNode:function(e){var t,n;return null!==(t=null==e||null===(n=e.getRootNode)||void 0===n?void 0:n.call(e))&&void 0!==t?t:this._document},getBody:function(){return this._document.body},createDocumentFragment:function(){return this._document.createDocumentFragment()},getDocumentElement:function(){return this._document.documentElement},getLocation:function(){return this._document.location},getSelection:function(){return this._document.selection},getReadyState:function(){return this._document.readyState},getHead:function(){return this._document.head},hasDocumentProperty:function(e){return e in this._document},listen:function(e,t,n,i){return e&&\"addEventListener\"in e?(e.addEventListener(t,n,i),function(){e.removeEventListener(t,n)}):a.noop},elementsFromPoint:function(e,t,n){var i=this.getRootNode(n);return i.host?(0,r.getShadowElementsFromPoint)(e,t,i):i.elementsFromPoint(e,t)}},u=(0,o.default)(l);t.default=u,e.exports=t.default,e.exports.default=t.default},13046:function(e,t,n){t.default=void 0;var i=y(n(68374)),o=y(n(80209)),a=y(n(17381)),r=y(n(55814)),s=n(44297),l=n(14192),u=n(9321),d=n(90330),c=n(97906),h=n(95479),f=n(13306),p=n(6415),g=n(20576),m=n(35922),_=n(58201),v=n(72918);function y(e){return e&&e.__esModule?e:{default:e}}var b=s.Component.abstract,x=s.Component.inherit({_getDefaultOptions:function(){return(0,f.extend)(this.callBase(),{width:void 0,height:void 0,rtlEnabled:(0,o.default)().rtlEnabled,elementAttr:{},disabled:!1,integrationOptions:{}},this._useTemplates()?l.TemplateManager.createDefaultOptions():{})},ctor:function(e,t){this._customClass=null,this._createElement(e),(0,u.attachInstanceToElement)(this._$element,this,this._dispose),this.callBase(t)},_createElement:function(e){this._$element=(0,i.default)(e)},_getSynchronizableOptionsForCreateComponent:function(){return[\"rtlEnabled\",\"disabled\",\"templatesRenderAsynchronously\"]},_checkFunctionValueDeprecation:function(e){var t=this;this.option(\"_ignoreFunctionValueDeprecation\")||e.forEach((function(e){(0,m.isFunction)(t.option(e))&&a.default.log(\"W0017\",e)}))},_visibilityChanged:b,_dimensionChanged:b,_init:function(){this.callBase(),this._checkFunctionValueDeprecation([\"width\",\"height\",\"maxHeight\",\"maxWidth\",\"minHeight\",\"minWidth\",\"popupHeight\",\"popupWidth\"]),this._attachWindowResizeCallback(),this._initTemplateManager()},_setOptionsByDevice:function(e){this.callBase([].concat(this.constructor._classCustomRules||[],e||[]))},_isInitialOptionValue:function(e){return!(this.constructor._classCustomRules&&Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules),e))&&this.callBase(e)},_attachWindowResizeCallback:function(){if(this._isDimensionChangeSupported()){var e=this._windowResizeCallBack=this._dimensionChanged.bind(this);r.default.add(e)}},_isDimensionChangeSupported:function(){return this._dimensionChanged!==b},_renderComponent:function(){this._initMarkup(),(0,_.hasWindow)()&&this._render()},_initMarkup:function(){var e=(this.option()||{}).rtlEnabled;this._renderElementAttributes(),this._toggleRTLDirection(e),this._renderVisibilityChange(),this._renderDimensions()},_render:function(){this._attachVisibilityChangeHandlers(),(0,d.addShadowDomStyles)(this.$element())},_renderElementAttributes:function(){var e=(this.option()||{}).elementAttr,t=(0,f.extend)({},e),n=t.class;delete t.class,this.$element().attr(t).removeClass(this._customClass).addClass(n),this._customClass=n},_renderVisibilityChange:function(){(this._isDimensionChangeSupported()&&this._attachDimensionChangeHandlers(),this._isVisibilityChangeSupported())&&this.$element().addClass(\"dx-visibility-change-handler\")},_renderDimensions:function(){var e=this.$element(),t=e.get(0),n=this._getOptionValue(\"width\",t),i=this._getOptionValue(\"height\",t);this._isCssUpdateRequired(t,i,n)&&e.css({width:null===n?\"\":n,height:null===i?\"\":i})},_isCssUpdateRequired:function(e,t,n){return!!((0,m.isDefined)(n)||(0,m.isDefined)(t)||e.style.width||e.style.height)},_attachDimensionChangeHandlers:function(){var e=this,t=this.$element(),n=\"\".concat(this.NAME,\"VisibilityChange\");v.resize.off(t,{namespace:n}),v.resize.on(t,(function(){return e._dimensionChanged()}),{namespace:n})},_attachVisibilityChangeHandlers:function(){var e=this;if(this._isVisibilityChangeSupported()){var t=this.$element(),n=\"\".concat(this.NAME,\"VisibilityChange\");this._isHidden=!this._isVisible(),v.visibility.off(t,{namespace:n}),v.visibility.on(t,(function(){return e._checkVisibilityChanged(\"shown\")}),(function(){return e._checkVisibilityChanged(\"hiding\")}),{namespace:n})}},_isVisible:function(){return this.$element().is(\":visible\")},_checkVisibilityChanged:function(e){this._isVisible()&&(\"hiding\"!==e||this._isHidden?\"shown\"===e&&this._isHidden&&(this._isHidden=!1,this._visibilityChanged(!0)):(this._visibilityChanged(!1),this._isHidden=!0))},_isVisibilityChangeSupported:function(){return this._visibilityChanged!==b&&(0,_.hasWindow)()},_clean:g.noop,_modelByElement:function(){var e=this.option().modelByElement,t=this.$element();return e?e(t):void 0},_invalidate:function(){if(this._isUpdateAllowed())throw a.default.Error(\"E0007\");this._requireRefresh=!0},_refresh:function(){this._clean(),this._renderComponent()},_dispose:function(){this._templateManager&&this._templateManager.dispose(),this.callBase(),this._clean(),this._detachWindowResizeCallback()},_detachWindowResizeCallback:function(){this._isDimensionChangeSupported()&&r.default.remove(this._windowResizeCallBack)},_toggleRTLDirection:function(e){this.$element().toggleClass(\"dx-rtl\",e)},_createComponent:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=(0,g.grep)(this._getSynchronizableOptionsForCreateComponent(),(function(e){return!(e in o)})),r=this.option(),s=r.integrationOptions,l=this.option(),u=l.nestedComponentOptions;u=u||g.noop;var d=(0,f.extend)({integrationOptions:s},u(this));a.forEach((function(e){return d[e]=n.option(e)})),this._extendConfig(o,d);var c=void 0;if((0,m.isString)(t)){var h=(0,i.default)(e)[t](o);c=h[t](\"instance\")}else e&&((c=t.getInstance(e))?c.option(o):c=new t(e,o));if(c){var p=function(e){var t=e.name,n=e.value;a.includes(t)&&c.option(t,n)};this.on(\"optionChanged\",p),c.on(\"disposing\",(function(){return n.off(\"optionChanged\",p)}))}return c},_extendConfig:function(e,t){(0,h.each)(t,(function(t,n){!Object.prototype.hasOwnProperty.call(e,t)&&(e[t]=n)}))},_defaultActionConfig:function(){var e=this.$element(),t=this._modelByElement(e);return(0,f.extend)(this.callBase(),{context:t})},_defaultActionArgs:function(){var e=this.$element(),t=this._modelByElement(e),n=this.element();return(0,f.extend)(this.callBase(),{element:n,model:t})},_optionChanged:function(e){switch(e.name){case\"width\":case\"height\":this._renderDimensions();break;case\"rtlEnabled\":this._invalidate();break;case\"elementAttr\":this._renderElementAttributes();break;case\"disabled\":case\"integrationOptions\":break;default:this.callBase(e)}},_removeAttributes:function(e){for(var t=e.attributes,n=t.length-1;n>=0;n--){var i=t[n];if(i){var o=i.name;o.indexOf(\"aria-\")&&-1===o.indexOf(\"dx-\")&&\"role\"!==o&&\"style\"!==o&&\"tabindex\"!==o||e.removeAttribute(o)}}},_removeClasses:function(e){e.className=e.className.split(\" \").filter((function(e){return 0!==e.lastIndexOf(\"dx-\",0)})).join(\" \")},_updateDOMComponent:function(e){e?this._renderComponent():this._requireRefresh&&(this._requireRefresh=!1,this._refresh())},endUpdate:function(){var e=this._isInitializingRequired();this.callBase(),this._isUpdateAllowed()&&this._updateDOMComponent(e)},$element:function(){return this._$element},element:function(){var e=this.$element();return(0,p.getPublicElement)(e)},dispose:function(){var e=this.$element().get(0);(0,c.cleanDataRecursive)(e,!0),e.textContent=\"\",this._removeAttributes(e),this._removeClasses(e)},resetOption:function(e){if(this.callBase(e),\"width\"===e||\"height\"===e){var t=this.initialOption(e);!(0,m.isDefined)(t)&&this.$element().css(e,\"\")}},_getAnonymousTemplateName:function(){},_initTemplateManager:function(){if(!this._templateManager&&this._useTemplates()){var e=this.option().integrationOptions,t=(void 0===e?{}:e).createTemplate;this._templateManager=new l.TemplateManager(t,this._getAnonymousTemplateName()),this._initTemplates()}},_initTemplates:function(){var e=this,t=this._templateManager.extractTemplates(this.$element()),n=t.templates,i=t.anonymousTemplateMeta,o=this.option(\"integrationOptions.templates.\".concat(i.name));n.forEach((function(t){var n=t.name,i=t.template;e._options.silent(\"integrationOptions.templates.\".concat(n),i)})),i.name&&!o&&(this._options.silent(\"integrationOptions.templates.\".concat(i.name),i.template),this._options.silent(\"_hasAnonymousTemplateContent\",!0))},_getTemplateByOption:function(e){return this._getTemplate(this.option(e))},_getTemplate:function(e){var t=this.option(\"integrationOptions.templates\"),n=this.option(\"templatesRenderAsynchronously\"),i=this.option(\"integrationOptions.skipTemplates\");return this._templateManager.getTemplate(e,t,{isAsyncTemplate:n,skipTemplates:i},this)},_saveTemplate:function(e,t){this._setOptionWithoutOptionChange(\"integrationOptions.templates.\"+e,this._templateManager._createTemplate(t))},_useTemplates:function(){return!0}});x.getInstance=function(e){return(0,u.getInstanceByElement)((0,i.default)(e),this)},x.defaultOptions=function(e){this._classCustomRules=this._classCustomRules||[],this._classCustomRules.push(e)};var w=x;t.default=w,e.exports=t.default,e.exports.default=t.default},6415:function(e,t){t.getPublicElement=function(e){return n(e)},t.setPublicElementWrapper=function(e){n=e};var n=function(e){return e&&e.get(0)}},97906:function(e,t,n){t.afterCleanData=function(e){c=e},t.beforeCleanData=function(e){d=e},t.cleanData=function(e){return s.cleanData.call(this,e)},t.cleanDataRecursive=function(e,t){if(!i.default.isElementNode(e))return;var n=e.getElementsByTagName(\"*\");s.cleanData(n),t&&s.cleanData([e])},t.data=function(){return s.data.apply(this,arguments)},t.getDataStrategy=function(){return s},t.removeData=function(e,t){return s.removeData.call(this,e,t)},t.strategyChanging=t.setDataStrategy=void 0;var i=r(n(73349)),o=r(n(55994)),a=r(n(83358));function r(e){return e&&e.__esModule?e:{default:e}}var s,l=new WeakMap,u=new a.default;t.strategyChanging=u;var d=function(){},c=function(){},h=function(e){u.fire(e);var t=(s=e).cleanData;s.cleanData=function(e){d(e);var n=t.call(this,e);return c(e),n}};t.setDataStrategy=h,h({data:function(){var e=arguments[0],t=arguments[1],n=arguments[2];if(e){var i=l.get(e);return i||(i={},l.set(e,i)),void 0===t?i:2===arguments.length?i[t]:(i[t]=n,n)}},removeData:function(e,t){if(e)if(void 0===t)l.delete(e);else{var n=l.get(e);n&&delete n[t]}},cleanData:function(e){for(var t=0;t<e.length;t++)o.default.off(e[t]),l.delete(e[t])}})},17381:function(e,t,n){var i;t.default=void 0;var o=(0,((i=n(95640))&&i.__esModule?i:{default:i}).default)({E0001:\"Method is not implemented\",E0002:\"Member name collision: {0}\",E0003:\"A class must be instantiated using the 'new' keyword\",E0004:\"The NAME property of the component is not specified\",E0005:\"Unknown device\",E0006:\"Unknown endpoint key is requested\",E0007:\"'Invalidate' method is called outside the update transaction\",E0008:\"Type of the option name is not appropriate to create an action\",E0009:\"Component '{0}' has not been initialized for an element\",E0010:\"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",E0011:\"Unknown animation type '{0}'\",E0012:\"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",E0013:\"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",E0014:\"The 'release' method shouldn't be called for an unlocked Lock object\",E0015:\"Queued task returned an unexpected result\",E0017:\"Event namespace is not defined\",E0018:\"DevExpress.ui.DevExpressPopup widget is required\",E0020:\"Template engine '{0}' is not supported\",E0021:\"Unknown theme is set: {0}\",E0022:\"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",E0023:\"Template name is not specified\",E0024:\"DevExtreme bundle already included\",E0025:\"Unexpected argument type\",E0100:\"Unknown validation type is detected\",E0101:\"Misconfigured range validation rule is detected\",E0102:\"Misconfigured comparison validation rule is detected\",E0103:\"validationCallback of an asynchronous rule should return a jQuery or a native promise\",E0110:\"Unknown validation group is detected\",E0120:\"Adapter for a DevExpressValidator component cannot be configured\",E0121:\"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",W0000:\"'{0}' is deprecated in {1}. {2}\",W0001:\"{0} - '{1}' option is deprecated in {2}. {3}\",W0002:\"{0} - '{1}' method is deprecated in {2}. {3}\",W0003:\"{0} - '{1}' property is deprecated in {2}. {3}\",W0004:\"Timeout for theme loading is over: {0}\",W0005:\"'{0}' event is deprecated in {1}. {2}\",W0006:\"Invalid recurrence rule: '{0}'\",W0007:\"'{0}' Globalize culture is not defined\",W0008:\"Invalid view name: '{0}'\",W0009:\"Invalid time zone name: '{0}'\",W0010:\"{0} is deprecated in {1}. {2}\",W0011:\"Number parsing is invoked while the parser is not defined\",W0012:\"Date parsing is invoked while the parser is not defined\",W0013:\"'{0}' file is deprecated in {1}. {2}\",W0014:\"{0} - '{1}' type is deprecated in {2}. {3}\",W0015:\"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",W0016:'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',W0017:'Setting the \"{0}\" property with a function is deprecated since v21.2',W0018:'Setting the \"position\" property with a function is deprecated since v21.2'});t.default=o,e.exports=t.default,e.exports.default=t.default},80566:function(e,t,n){t.EventsStrategy=void 0;var i,o=(i=n(44504))&&i.__esModule?i:{default:i},a=n(95479),r=n(35922);var s=function(){function e(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._events={},this._owner=e,this._options=t}e.create=function(t,n){return n?(0,r.isFunction)(n)?n(t):n:new e(t)};var t=e.prototype;return t.hasEvent=function(e){var t=this._events[e];return!!t&&t.has()},t.fireEvent=function(e,t){var n=this._events[e];return n&&n.fireWith(this._owner,t),this._owner},t.on=function(e,t){var n=this;if((0,r.isPlainObject)(e))(0,a.each)(e,(function(e,t){n.on(e,t)}));else{var i=this._events[e];i||(i=(0,o.default)({syncStrategy:this._options.syncStrategy}),this._events[e]=i),(i.originalAdd||i.add).call(i,t)}},t.off=function(e,t){var n=this._events[e];n&&((0,r.isFunction)(t)?n.remove(t):n.empty())},t.dispose=function(){(0,a.each)(this._events,(function(e,t){t.empty()}))},e}();t.EventsStrategy=s},73176:function(e,t,n){var i;t.default=void 0;var o=((i=n(38377))&&i.__esModule?i:{default:i}).default.inherit({ctor:function(e){e&&(e=String(e)),this._value=this._normalize(e||this._generate())},_normalize:function(e){for(e=e.replace(/[^a-f0-9]/gi,\"\").toLowerCase();e.length<32;)e+=\"0\";return[e.substr(0,8),e.substr(8,4),e.substr(12,4),e.substr(16,4),e.substr(20,12)].join(\"-\")},_generate:function(){for(var e=\"\",t=0;t<32;t++)e+=Math.round(15*Math.random()).toString(16);return e},toString:function(){return this._value},valueOf:function(){return this._value},toJSON:function(){return this._value}});t.default=o,e.exports=t.default,e.exports.default=t.default},83448:function(e,t,n){t.default=void 0;var i,o=n(58201),a=(i=n(20476))&&i.__esModule?i:{default:i};var r=(0,o.getWindow)(),s={getXhr:function(){return new r.XMLHttpRequest}},l=(0,a.default)(s);t.default=l,e.exports=t.default,e.exports.default=t.default},15334:function(e,t,n){t.default=void 0;var i=n(55285),o=n(44105),a=n(87456),r=u(n(73349)),s=n(97906),l=u(n(20476));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(e){var t=e.parentNode;if(t){var n=e.nextSibling;(0,s.cleanDataRecursive)(e),t.$V=e.$V,(0,i.render)(null,t),t.insertBefore(e,n),e.innerHTML=\"\",delete t.$V}delete e.$V},c=(0,l.default)({createElement:function(e,t){return(0,a.createElement)(e,t)},remove:d,onAfterRender:function(){o.InfernoEffectHost.callEffects()},onPreRender:function(){o.InfernoEffectHost.lock()},render:function(e,t,n,s){if(s)(0,i.render)((0,a.createElement)(e,t),n);else{var l=n.parentNode,u=null==n?void 0:n.nextSibling,c=r.default.createElement(\"div\");c.appendChild(n);var h=r.default.createDocumentFragment().appendChild(c);!!n.$V&&d(n),(0,o.hydrate)((0,a.createElement)(e,t),h),n.$V=h.$V,l&&l.insertBefore(n,u)}}});t.default=c,e.exports=t.default,e.exports.default=t.default},83358:function(e,t,n){t.default=void 0;var i,o=n(95479),a=(i=n(44504))&&i.__esModule?i:{default:i};var r=function(){function e(){this.memory=[],this.callbacks=(0,a.default)()}var t=e.prototype;return t.add=function(e){(0,o.each)(this.memory,(function(t,n){return e.apply(e,n)})),this.callbacks.add(e)},t.remove=function(e){this.callbacks.remove(e)},t.fire=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.memory.push(t),this.callbacks.fire.apply(this.callbacks,t)},e}();t.default=r,e.exports=t.default,e.exports.default=t.default},95683:function(e,t,n){t.Options=void 0;var i=n(35922),o=n(20576),a=n(9030),r=n(47617),s=n(45434),l=n(13306);function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===u(a)?a:String(a)),i)}var o,a}var h=function(){function e(e,t,n,i){var o=this;this._deprecatedCallback,this._startChangeCallback,this._endChangeCallback,this._default=t,this._deprecated=i,this._deprecatedNames=[],this._initDeprecatedNames(),this._optionManager=new a.OptionManager(e,n),this._optionManager.onRelevantNamesPrepared((function(e,t,n,i){return o._setRelevantNames(e,t,n,i)})),this._cachedOptions={},this._rules=[]}var t,n,u,h=e.prototype;return h._initDeprecatedNames=function(){for(var e in this._deprecated)this._deprecatedNames.push(e)},h._getByRules=function(e){return e=Array.isArray(e)?this._rules.concat(e):this._rules,(0,s.convertRulesToOptions)(e)},h._notifyDeprecated=function(e){var t=this._deprecated[e];t&&this._deprecatedCallback(e,t)},h._setRelevantNames=function(e,t,n,i){if(t){var o=this._normalizeName(t,i);o&&o!==t&&(this._setField(e,o,n),this._clearField(e,t))}},h._setField=function(e,t,n){var i=\"\",o=null;do{i=i?\".\".concat(i):\"\",i=(0,s.getFieldName)(t)+i,o=(t=(0,s.getParentName)(t))?this._optionManager.get(e,t,!1):e}while(!o);o[i]=n},h._clearField=function(e,t){delete e[t];var n=(0,s.getParentName)(t),i=n?this._optionManager.get(e,n,!1):e;i&&delete i[(0,s.getFieldName)(t)]},h._normalizeName=function(e,t){if(this._deprecatedNames.length&&e)for(var n=0;n<this._deprecatedNames.length;n++)if(this._deprecatedNames[n]===e){var i=this._deprecated[e];if(i)return!t&&this._notifyDeprecated(e),i.alias||e}return e},h.addRules=function(e){this._rules=e.concat(this._rules)},h.applyRules=function(e){var t=this._getByRules(e);this.silent(t)},h.dispose=function(){this._deprecatedCallback=o.noop,this._startChangeCallback=o.noop,this._endChangeCallback=o.noop,this._optionManager.dispose()},h.onChanging=function(e){this._optionManager.onChanging(e)},h.onChanged=function(e){this._optionManager.onChanged(e)},h.onDeprecated=function(e){this._deprecatedCallback=e},h.onStartChange=function(e){this._startChangeCallback=e},h.onEndChange=function(e){this._endChangeCallback=e},h.isInitial=function(e){var t=this.silent(e),n=this.initial(e);return(0,i.isFunction)(t)&&(0,i.isFunction)(n)?t.toString()===n.toString():(0,o.equalByValue)(t,n)},h.initial=function(e){return(0,s.getNestedOptionValue)(this._initial,e)},h.option=function(e,t){var n=arguments.length<2&&\"object\"!==(0,i.type)(e);if(n)return this._optionManager.get(void 0,this._normalizeName(e));this._startChangeCallback();try{this._optionManager.set(e,t)}finally{this._endChangeCallback()}},h.silent=function(e,t){var n=arguments.length<2&&\"object\"!==(0,i.type)(e);if(n)return this._optionManager.get(void 0,e,void 0,!0);this._optionManager.set(e,t,void 0,!0)},h.reset=function(e){var t=this;if(e){var n=(0,r.getPathParts)(e).reduce((function(e,n){return e?e[n]:t.initial(n)}),null),o=(0,i.isObject)(n)?d({},n):n;this._optionManager.set(e,o,!1)}},h.getAliasesByName=function(e){var t=this;return Object.keys(this._deprecated).filter((function(n){return e===t._deprecated[n].alias}))},h.isDeprecated=function(e){return Object.prototype.hasOwnProperty.call(this._deprecated,e)},h.cache=function(e,t){var n=arguments.length<2;if(n)return this._cachedOptions[e];this._cachedOptions[e]=(0,l.extend)(this._cachedOptions[e],t)},t=e,(n=[{key:\"_initial\",get:function(){if(!this._initialOptions){var e=this._getByRules(this.silent(\"defaultOptionsRules\"));this._initialOptions=this._default,this._optionManager._setByReference(this._initialOptions,e)}return this._initialOptions},set:function(e){this._initialOptions=e}}])&&c(t.prototype,n),u&&c(t,u),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.Options=h},9030:function(e,t,n){t.OptionManager=void 0;var i=n(47617),o=n(20576),a=n(49036),r=n(13306),s=n(35922),l=n(45434),u={},d={},c=function(){function e(e,t){this._options=e,this._optionsByReference=t,this._changingCallback,this._changedCallback,this._namePreparedCallbacks}var t=e.prototype;return t._setByReference=function(e,t){for(var n in(0,r.extend)(!0,e,t),this._optionsByReference)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t._setPreparedValue=function(e,t,n,o){var r=this.get(this._options,e,!1);if(!(0,a.equals)(r,t)){var l=(0,i.getPathParts)(e);!o&&this._changingCallback(e,r,t),d[e]=d[e]||(0,i.compileSetter)(e),d[e](this._options,t,{functionsAsIs:!0,merge:(0,s.isDefined)(n)?n:!this._optionsByReference[e],unwrapObservables:l.length>1&&!!this._optionsByReference[l[0]]}),!o&&this._changedCallback(e,t,r)}},t._prepareRelevantNames=function(e,t,n,i){if((0,s.isPlainObject)(n))for(var o in n)this._prepareRelevantNames(e,\"\".concat(t,\".\").concat(o),n[o]);this._namePreparedCallbacks(e,t,n,i)},t.get=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._options,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return u[t]=u[t]||(0,i.compileGetter)(t),u[t](e,{functionsAsIs:!0,unwrapObservables:n})},t.set=function(e,t,n,i){for(var o in e=(0,l.normalizeOptions)(e,t))this._prepareRelevantNames(e,o,e[o],i);for(var a in e)this._setPreparedValue(a,e[a],n,i)},t.onRelevantNamesPrepared=function(e){this._namePreparedCallbacks=e},t.onChanging=function(e){this._changingCallback=e},t.onChanged=function(e){this._changedCallback=e},t.dispose=function(){this._changingCallback=o.noop,this._changedCallback=o.noop},e}();t.OptionManager=c},45434:function(e,t,n){t.normalizeOptions=t.getParentName=t.getNestedOptionValue=t.getFieldName=t.deviceMatch=t.createDefaultOptionRules=t.convertRulesToOptions=void 0;var i,o=(i=n(20530))&&i.__esModule?i:{default:i},a=n(35922),r=n(20576),s=n(13306),l=n(47617);function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===u(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c={};t.convertRulesToOptions=function(e){var t=o.default.current();return e.reduce((function(e,n){var i=n.device,o=n.options,r=i||{};return((0,a.isFunction)(r)?r(t):h(t,r))&&(0,s.extend)(!0,e,o),e}),{})};t.normalizeOptions=function(e,t){return\"string\"!=typeof e?e:d({},e,t)};var h=function(e,t){return(0,a.isEmptyObject)(t)||(0,r.findBestMatches)(e,[t]).length>0};t.deviceMatch=h;t.getFieldName=function(e){return e.substr(e.lastIndexOf(\".\")+1)};t.getParentName=function(e){return e.substr(0,e.lastIndexOf(\".\"))};t.getNestedOptionValue=function(e,t){return c[t]=c[t]||(0,l.compileGetter)(t),c[t](e,{functionsAsIs:!0})};t.createDefaultOptionRules=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e}},90889:function(e,t,n){t.PostponedOperations=void 0;var i=n(62754),o=n(35922);function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=function(){function e(){this._postponedOperations={}}var t=e.prototype;return t.add=function(e,t,n){if(e in this._postponedOperations)n&&this._postponedOperations[e].promises.push(n);else{var o=new i.Deferred;this._postponedOperations[e]={fn:t,completePromise:o,promises:n?[n]:[]}}return this._postponedOperations[e].completePromise.promise()},t.callPostponedOperations=function(){for(var e in this._postponedOperations){var t=this._postponedOperations[e];(0,o.isDefined)(t)&&(t.promises&&t.promises.length?i.when.apply(void 0,a(t.promises)).done(t.fn).then(t.completePromise.resolve):t.fn().done(t.completePromise.resolve))}this._postponedOperations={}},e}();t.PostponedOperations=s},68374:function(e,t,n){var i;t.default=void 0;var o=((i=n(82981))&&i.__esModule?i:{default:i}).default.get();t.default=o,e.exports=t.default,e.exports.default=t.default},82981:function(e,t,n){t.default=void 0;var i,o=n(97906),a=(i=n(73349))&&i.__esModule?i:{default:i},r=n(58201),s=n(35922),l=n(80968),u=n(58664),d=n(61371);var c,h=(0,r.getWindow)(),f=function(e,t){return e?\"string\"==typeof e?\"body\"===e?(this[0]=t?t.body:a.default.getBody(),this.length=1,this):(t=t||a.default.getDocument(),\"<\"===e[0]?(this[0]=a.default.createElement(e.slice(1,-1),t),this.length=1,this):([].push.apply(this,a.default.querySelectorAll(t,e)),this)):a.default.isNode(e)||(0,s.isWindow)(e)?(this[0]=e,this.length=1,this):Array.isArray(e)?([].push.apply(this,e),this):c(e.toArray?e.toArray():[e]):(this.length=0,this)};(c=function(e,t){return new f(e,t)}).fn={dxRenderer:!0},f.prototype=c.fn;var p=function(e,t){for(var n=0;n<this.length;n++){var i=c(this[n]);i[e].apply(i,t)}return this},g=function(e,t,n){null!=n&&!1!==n?a.default.setAttribute(e,t,n):a.default.removeAttribute(e,t)};f.prototype.show=function(){return this.toggle(!0)},f.prototype.hide=function(){return this.toggle(!1)},f.prototype.toggle=function(e){return this[0]&&this.toggleClass(\"dx-state-invisible\",!e),this},f.prototype.attr=function(e,t){if(this.length>1&&arguments.length>1)return p.call(this,\"attr\",arguments);if(!this[0])return(0,s.isObject)(e)||void 0!==t?this:void 0;if(!this[0].getAttribute)return this.prop(e,t);if(\"string\"==typeof e&&1===arguments.length){var n=this[0].getAttribute(e);return null==n?void 0:n}if((0,s.isPlainObject)(e))for(var i in e)this.attr(i,e[i]);else g(this[0],e,t);return this},f.prototype.removeAttr=function(e){return this[0]&&a.default.removeAttribute(this[0],e),this},f.prototype.prop=function(e,t){if(!this[0])return this;if(\"string\"==typeof e&&1===arguments.length)return this[0][e];if((0,s.isPlainObject)(e))for(var n in e)this.prop(n,e[n]);else a.default.setProperty(this[0],e,t);return this},f.prototype.addClass=function(e){return this.toggleClass(e,!0)},f.prototype.removeClass=function(e){return this.toggleClass(e,!1)},f.prototype.hasClass=function(e){if(!this[0]||void 0===this[0].className)return!1;for(var t=e.split(\" \"),n=0;n<t.length;n++){if(this[0].classList){if(this[0].classList.contains(t[n]))return!0}else if((((0,s.isString)(this[0].className)?this[0].className:a.default.getAttribute(this[0],\"class\"))||\"\").split(\" \").indexOf(t[n])>=0)return!0}return!1},f.prototype.toggleClass=function(e,t){if(this.length>1)return p.call(this,\"toggleClass\",arguments);if(!this[0]||!e)return this;t=void 0===t?!this.hasClass(e):t;for(var n=e.split(\" \"),i=0;i<n.length;i++)a.default.setClass(this[0],n[i],t);return this},f.prototype.html=function(e){return arguments.length?(this.empty(),\"string\"==typeof e&&!(0,d.isTablePart)(e)||\"number\"==typeof e?(this[0].innerHTML=e,this):this.append((0,d.parseHTML)(e))):this[0].innerHTML};var m=function(e,t){if(this[0]&&e){\"string\"==typeof e?e=(0,d.parseHTML)(e):e.nodeType?e=[e]:(0,s.isNumeric)(e)&&(e=[a.default.createTextNode(e)]);for(var n=0;n<e.length;n++){var i=e[n],o=this[0];\"TABLE\"===o.tagName&&\"TR\"===i.tagName&&o.tBodies&&o.tBodies.length&&(o=o.tBodies[0]),a.default.insertElement(o,i.nodeType?i:i[0],t)}}},_=function(e,t){if(this[0]&&this[0].style&&!(null===t||\"number\"==typeof t&&isNaN(t))){e=(0,l.styleProp)(e);for(var n=0;n<this.length;n++)this[n].style[e]=(0,l.normalizeStyleProp)(e,t)}};f.prototype.css=function(e,t){if((0,s.isString)(e)){if(2!==arguments.length){if(!this[0])return;e=(0,l.styleProp)(e);var n=h.getComputedStyle(this[0])[e]||this[0].style[e];return(0,s.isNumeric)(n)?n.toString():n}_.call(this,e,t)}else if((0,s.isPlainObject)(e))for(var i in e)_.call(this,i,e[i]);return this},f.prototype.prepend=function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.prepend(arguments[t]);return this}return m.apply(this,[e,this[0].firstChild]),this},f.prototype.append=function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.append(arguments[t]);return this}return m.apply(this,[e]),this},f.prototype.prependTo=function(e){if(this.length>1){for(var t=this.length-1;t>=0;t--)c(this[t]).prependTo(e);return this}return(e=c(e))[0]&&a.default.insertElement(e[0],this[0],e[0].firstChild),this},f.prototype.appendTo=function(e){return this.length>1?p.call(this,\"appendTo\",arguments):(a.default.insertElement(c(e)[0],this[0]),this)},f.prototype.insertBefore=function(e){return e&&e[0]&&a.default.insertElement(e[0].parentNode,this[0],e[0]),this},f.prototype.insertAfter=function(e){return e&&e[0]&&a.default.insertElement(e[0].parentNode,this[0],e[0].nextSibling),this},f.prototype.before=function(e){return this[0]&&a.default.insertElement(this[0].parentNode,e[0],this[0]),this},f.prototype.after=function(e){return this[0]&&a.default.insertElement(this[0].parentNode,e[0],this[0].nextSibling),this},f.prototype.wrap=function(e){if(this[0]){var t=c(e);t.insertBefore(this),t.append(this)}return this},f.prototype.wrapInner=function(e){var t=this.contents();return t.length?t.wrap(e):this.append(e),this},f.prototype.replaceWith=function(e){if(e&&e[0])return e.is(this)?this:(e.insertBefore(this),this.remove(),e)},f.prototype.remove=function(){return this.length>1?p.call(this,\"remove\",arguments):((0,o.cleanDataRecursive)(this[0],!0),a.default.removeElement(this[0]),this)},f.prototype.detach=function(){return this.length>1?p.call(this,\"detach\",arguments):(a.default.removeElement(this[0]),this)},f.prototype.empty=function(){return this.length>1?p.call(this,\"empty\",arguments):((0,o.cleanDataRecursive)(this[0]),a.default.setText(this[0],\"\"),this)},f.prototype.clone=function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t].cloneNode(!0));return c(e)},f.prototype.text=function(e){if(!arguments.length){for(var t=\"\",n=0;n<this.length;n++)t+=this[n]&&this[n].textContent||\"\";return t}var i=(0,s.isFunction)(e)?e():e;return(0,o.cleanDataRecursive)(this[0],!1),a.default.setText(this[0],(0,s.isDefined)(i)?i:\"\"),this},f.prototype.val=function(e){return 1===arguments.length?this.prop(\"value\",(0,s.isDefined)(e)?e:\"\"):this.prop(\"value\")},f.prototype.contents=function(){if(!this[0])return c();var e=[];return e.push.apply(e,this[0].childNodes),c(e)},f.prototype.find=function(e){var t=c();if(!e)return t;var n,i=[];if(\"string\"==typeof e)for(e=e.trim(),n=0;n<this.length;n++){var o=this[n];if(a.default.isElementNode(o)){var r=o.getAttribute(\"id\"),s=r||\"dx-query-children\";r||g(o,\"id\",s);var l=(s=\"[id='\"+s+\"'] \")+e.replace(/([^\\\\])(,)/g,\"$1, \"+s);i.push.apply(i,a.default.querySelectorAll(o,l)),g(o,\"id\",r)}else(a.default.isDocument(o)||a.default.isDocumentFragment(o))&&i.push.apply(i,a.default.querySelectorAll(o,e))}else for(n=0;n<this.length;n++)e=a.default.isNode(e)?e:e[0],this[n]!==e&&this[n].contains(e)&&i.push(e);return t.add(i)};var v=function(e,t){var n;return!(t=null!==(n=t.host)&&void 0!==n?n:t).nodeType||!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)};f.prototype.filter=function(e){if(!e)return c();if(\":visible\"===e)return this.filter(v);if(\":hidden\"===e)return this.filter((function(e,t){return!v(0,t)}));for(var t=[],n=0;n<this.length;n++){var i=this[n];if(a.default.isElementNode(i)&&\"string\"===(0,s.type)(e))a.default.elementMatches(i,e)&&t.push(i);else if(a.default.isNode(e)||(0,s.isWindow)(e))e===i&&t.push(i);else if((0,s.isFunction)(e))e.call(i,n,i)&&t.push(i);else for(var o=0;o<e.length;o++)e[o]===i&&t.push(i)}return c(t)},f.prototype.not=function(e){for(var t=[],n=this.filter(e).toArray(),i=0;i<this.length;i++)-1===n.indexOf(this[i])&&t.push(this[i]);return c(t)},f.prototype.is=function(e){return!!this.filter(e).length},f.prototype.children=function(e){for(var t=[],n=0;n<this.length;n++)for(var i=this[n]?this[n].childNodes:[],o=0;o<i.length;o++)a.default.isElementNode(i[o])&&t.push(i[o]);return t=c(t),e?t.filter(e):t},f.prototype.siblings=function(){var e=this[0];if(!e||!e.parentNode)return c();for(var t=[],n=e.parentNode.childNodes||[],i=0;i<n.length;i++){var o=n[i];a.default.isElementNode(o)&&o!==e&&t.push(o)}return c(t)},f.prototype.each=function(e){for(var t=0;t<this.length&&!1!==e.call(this[t],t,this[t]);t++);},f.prototype.index=function(e){return e?(e=c(e),this.toArray().indexOf(e[0])):this.parent().children().index(this)},f.prototype.get=function(e){return this[e<0?this.length+e:e]},f.prototype.eq=function(e){return e=e<0?this.length+e:e,c(this[e])},f.prototype.first=function(){return this.eq(0)},f.prototype.last=function(){return this.eq(-1)},f.prototype.select=function(){for(var e=0;e<this.length;e+=1)this[e].select&&this[e].select();return this},f.prototype.parent=function(e){if(!this[0])return c();var t=c(this[0].parentNode);return!e||t.is(e)?t:c()},f.prototype.parents=function(e){for(var t=[],n=this.parent();n&&n[0]&&!a.default.isDocument(n[0]);)a.default.isElementNode(n[0])&&(e&&!n.is(e)||t.push(n.get(0))),n=n.parent();return c(t)},f.prototype.closest=function(e){if(this.is(e))return this;for(var t=this.parent();t&&t.length;){if(t.is(e))return t;t=t.parent()}return c()},f.prototype.next=function(e){if(!this[0])return c();var t=c(this[0].nextSibling);if(!arguments.length)return t;for(;t&&t.length;){if(t.is(e))return t;t=t.next()}return c()},f.prototype.prev=function(){return this[0]?c(this[0].previousSibling):c()},f.prototype.add=function(e){for(var t=c(e),n=this.toArray(),i=0;i<t.length;i++){var o=t[i];-1===n.indexOf(o)&&n.push(o)}return c(n)};var y=[];f.prototype.splice=function(){return c(y.splice.apply(this,arguments))},f.prototype.slice=function(){return c(y.slice.apply(this,arguments))},f.prototype.toArray=function(){return y.slice.call(this)},f.prototype.offset=function(){if(this[0])return(0,u.getOffset)(this[0])},f.prototype.offsetParent=function(){if(!this[0])return c();for(var e=c(this[0].offsetParent);e[0]&&\"static\"===e.css(\"position\");)e=c(e[0].offsetParent);return e=e[0]?e:c(a.default.getDocumentElement())},f.prototype.position=function(){if(this[0]){var e,t=parseFloat(this.css(\"marginTop\")),n=parseFloat(this.css(\"marginLeft\"));if(\"fixed\"===this.css(\"position\"))return{top:(e=this[0].getBoundingClientRect()).top-t,left:e.left-n};e=this.offset();var i=this.offsetParent(),o={top:0,left:0};return\"HTML\"!==i[0].nodeName&&(o=i.offset()),o={top:o.top+parseFloat(i.css(\"borderTopWidth\")),left:o.left+parseFloat(i.css(\"borderLeftWidth\"))},{top:e.top-o.top-t,left:e.left-o.left-n}}},[{name:\"scrollLeft\",offsetProp:\"pageXOffset\",scrollWindow:function(e,t){e.scrollTo(t,e.pageYOffset)}},{name:\"scrollTop\",offsetProp:\"pageYOffset\",scrollWindow:function(e,t){e.scrollTo(e.pageXOffset,t)}}].forEach((function(e){var t=e.name;f.prototype[t]=function(n){if(this[0]){var i=(0,u.getWindowByElement)(this[0]);return void 0===n?i?i[e.offsetProp]:this[0][t]:(i?e.scrollWindow(i,n):this[0][t]=n,this)}}})),f.prototype.data=function(e,t){if(this[0])return arguments.length<2?o.data.call(c,this[0],e):(o.data.call(c,this[0],e,t),this)},f.prototype.removeData=function(e){return this[0]&&(0,o.removeData)(this[0],e),this};var b=function(){return c.apply(this,arguments)};Object.defineProperty(b,\"fn\",{enumerable:!0,configurable:!0,get:function(){return c.fn},set:function(e){c.fn=e}});var x={set:function(e){c=e},get:function(){return b}};t.default=x,e.exports=t.default,e.exports.default=t.default},91784:function(e,t,n){t.default=void 0;var i=n(20576),o=n(58201),a=(0,o.getWindow)(),r={observe:i.noop,unobserve:i.noop,disconnect:i.noop},s=new(function(){function e(){var e=this;if(!(0,o.hasWindow)()||!a.ResizeObserver)return r;this._callbacksMap=new Map,this._observer=new a.ResizeObserver((function(t){t.forEach((function(t){var n;null===(n=e._callbacksMap.get(t.target))||void 0===n||n(t)}))}))}var t=e.prototype;return t.observe=function(e,t){this._callbacksMap.set(e,t),this._observer.observe(e)},t.unobserve=function(e){this._callbacksMap.delete(e),this._observer.unobserve(e)},t.disconnect=function(){this._callbacksMap.clear(),this._observer.disconnect()},e}());t.default=s,e.exports=t.default,e.exports.default=t.default},14192:function(e,t,n){t.TemplateManager=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(35922),r=n(20576),s=n(13306),l=n(68494),u=n(10688),d=n(69697);function c(e){return(c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==c(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==c(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===c(a)?a:String(a)),i)}var o,a}var f=new l.FunctionTemplate((function(e){var t=e.model,n=e.parent,i=t.widget;if(!i)return(0,o.default)();var a=(0,o.default)(\"<div>\"),r=t.options||{};return n?n._createComponent(a,i,r):a[i](r),a})),p=function(){function e(e,t){this._tempTemplates=[],this._defaultTemplates={},this._anonymousTemplateName=t||\"template\",this._createElement=e||d.defaultCreateElement,this._createTemplateIfNeeded=this._createTemplateIfNeeded.bind(this)}e.createDefaultOptions=function(){return{integrationOptions:{watchMethod:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.skipImmediate||t(e()),r.noop},templates:{\"dx-polymorph-widget\":f},useDeferUpdateForTemplates:!0}}};var t,n,i,c=e.prototype;return c.addDefaultTemplates=function(e){this._defaultTemplates=(0,s.extend)({},this._defaultTemplates,e)},c.dispose=function(){this._tempTemplates.forEach((function(e){e.template.dispose&&e.template.dispose()})),this._tempTemplates=[]},c.extractTemplates=function(e){return{templates:this._extractTemplates(e),anonymousTemplateMeta:this._extractAnonymousTemplate(e)}},c._extractTemplates=function(e){var t=this,n=(0,d.findTemplates)(e,\"dxTemplate\"),i=(0,d.suitableTemplatesByName)(n);return n.forEach((function(e){var t=e.element,n=e.options.name;t===i[n]?(0,o.default)(t).addClass(\"dx-template-wrapper\").detach():(0,o.default)(t).remove()})),Object.keys(i).map((function(e){return{name:e,template:t._createTemplate(i[e])}}))},c._extractAnonymousTemplate=function(e){var t=e.contents().detach();return t.filter((function(e,t){var n=3===t.nodeType,i=(0,o.default)(t).text().trim().length<1;return!(n&&i)})).length>0?{template:this._createTemplate(t),name:this._anonymousTemplateName}:{}},c._createTemplateIfNeeded=function(e){var t=this._tempTemplates.filter((function(t){return t.source===(0,d.templateKey)(e)}))[0];if(t)return t.template;var n=this._createTemplate(e);return this._tempTemplates.push({template:n,source:(0,d.templateKey)(e)}),n},c._createTemplate=function(e){return this._createElement((0,d.validateTemplateSource)(e))},c.getTemplate=function(e,t,n,i){var r=this,s=n.isAsyncTemplate,c=n.skipTemplates;return(0,a.isFunction)(e)?new l.FunctionTemplate((function(n){var h=e.apply(i,(0,d.getNormalizedTemplateArgs)(n));if(!(0,a.isDefined)(h))return new u.EmptyTemplate;var f=!1,p=(0,d.acquireTemplate)(h,(function(e){return e.nodeType||(0,a.isRenderer)(e)&&!(0,o.default)(e).is(\"script\")?new l.FunctionTemplate((function(){return e})):(f=!0,r._createTemplate(e))}),t,s,c,r._defaultTemplates),g=p.render(n);return f&&p.dispose&&p.dispose(),g})):(0,d.acquireTemplate)(e,this._createTemplateIfNeeded,t,s,c,this._defaultTemplates)},t=e,(n=[{key:\"anonymousTemplateName\",get:function(){return this._anonymousTemplateName}}])&&h(t.prototype,n),i&&h(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.TemplateManager=p},93280:function(e,t,n){t.BindableTemplate=void 0;var i=l(n(68374)),o=n(81033),a=l(n(55994)),r=n(29007),s=n(35922);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e,t,n,i,o){var a,r=function(e,t,n){return t((function(){return e}),n)}(e,t,(function(e){a&&a(),(0,s.isPrimitive)(e)?o(e):a=function(e,t,n,i,o){var a={},r=n.slice(),s=n.map((function(n){var s=i[n];return t(s?function(){return s(e)}:function(){return e[n]},(function(e){if(a[n]=e,r.length){var t=r.indexOf(n);t>=0&&r.splice(t,1)}r.length||o(a)}))}));return function(){s.forEach((function(e){return e()}))}}(e,t,n,i,o)}));return function(){a&&a(),r&&r()}},c=function(e){var t,n;function o(t,n,i,o){var a;return(a=e.call(this)||this)._render=t,a._fields=n,a._fieldsMap=o||{},a._watchMethod=i,a}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),o.prototype._renderCore=function(e){var t=this,n=(0,i.default)(e.container),o=d(e.model,this._watchMethod,this._fields,this._fieldsMap,(function(i){n.empty(),t._render(n,i,e.model)}));return a.default.on(n,r.removeEvent,o),n.contents()},o}(o.TemplateBase);t.BindableTemplate=c},91627:function(e,t,n){function i(e,t){return(i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.ChildDefaultTemplate=void 0;var o=function(e){var t,n;function o(t){var n;return(n=e.call(this)||this).name=t,n}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,i(t,n),o}(n(81033).TemplateBase);t.ChildDefaultTemplate=o},10688:function(e,t,n){t.EmptyTemplate=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i};function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._renderCore=function(){return(0,o.default)()},i}(n(81033).TemplateBase);t.EmptyTemplate=r},68494:function(e,t,n){t.FunctionTemplate=void 0;var i=n(81033),o=n(3532);function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var r=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this)._render=t,n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._renderCore=function(e){return(0,o.normalizeTemplateElement)(this._render(e))},i}(i.TemplateBase);t.FunctionTemplate=r},9545:function(e,t,n){t.Template=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(81033),r=n(3532),s=n(72987);function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}(0,s.registerTemplateEngine)(\"default\",{compile:function(e){return(0,r.normalizeTemplateElement)(e)},render:function(e,t,n){return e.clone()}}),(0,s.setTemplateEngine)(\"default\");var u=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this)._element=t,n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var a=i.prototype;return a._renderCore=function(e){var t=e.transclude;return t||this._compiledTemplate||(this._compiledTemplate=(0,s.getCurrentTemplateEngine)().compile(this._element)),(0,o.default)(\"<div>\").append(t?this._element:(0,s.getCurrentTemplateEngine)().render(this._compiledTemplate,e.model,e.index)).contents()},a.source=function(){return(0,o.default)(this._element).clone()},i}(a.TemplateBase);t.Template=u},81033:function(e,t,n){t.renderedCallbacks=t.TemplateBase=void 0;var i=u(n(68374)),o=u(n(73349)),a=u(n(44504)),r=n(3532),s=n(80506),l=u(n(17381));function u(e){return e&&e.__esModule?e:{default:e}}var d=(0,a.default)({syncStrategy:!0});t.renderedCallbacks=d;var c=function(){function e(){}var t=e.prototype;return t.render=function(e){var t,n=(e=e||{}).onRendered;return delete e.onRendered,t=e.renovated&&e.transclude&&this._element?(0,i.default)(\"<div>\").append(this._element).contents():this._renderCore(e),this._ensureResultInContainer(t,e.container),d.fire(t,e.container),n&&n(),t},t._ensureResultInContainer=function(e,t){if(t){var n=(0,i.default)(t),a=(0,r.contains)(n.get(0),e.get(0));if(n.append(e),!a)o.default.getBody().contains(n.get(0))&&(0,s.triggerShownEvent)(e)}},t._renderCore=function(){throw l.default.Error(\"E0001\")},e}();t.TemplateBase=c},72987:function(e,t,n){t.getCurrentTemplateEngine=function(){return r},t.registerTemplateEngine=function(e,t){s[e]=t},t.setTemplateEngine=function(e){if((0,o.isString)(e)){if(!(r=s[e]))throw a.default.Error(\"E0020\",e)}else r=e};var i,o=n(35922),a=(i=n(17381))&&i.__esModule?i:{default:i};var r,s={}},37208:function(e,t,n){t.default=void 0;var i=n(62754),o=d(n(73349)),a=d(n(83448)),r=n(58201),s=n(13306),l=n(35922),u=d(n(20476));function d(e){return e&&e.__esModule?e:{default:e}}var c=(0,r.getWindow)(),h=function(e){var t=o.default.createElement(\"script\");for(var n in e)t[n]=e[n];return t},f=function(e){e.parentNode.removeChild(e)},p=function(e){return o.default.getHead().appendChild(e)},g=function(e){var t=h({text:e});p(t),f(t)},m=function(e,t){var n=e.data,i=\"string\"==typeof n,o=e.url||c.location.href;return i||e.cache||((n=n||{})._=Date.now()),n&&!e.upload&&(i||(n=function(e){var t=[];for(var n in e){var i=e[n];void 0!==i&&(null===i&&(i=\"\"),\"function\"==typeof i&&(i=i()),t.push(encodeURIComponent(n)+\"=\"+encodeURIComponent(i)))}return t.join(\"&\")}(n)),\"GET\"===_(e)?(\"\"!==n&&(o+=(o.indexOf(\"?\")>-1?\"&\":\"?\")+n),n=null):t[\"Content-Type\"]&&t[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\")>-1&&(n=n.replace(/%20/g,\"+\"))),{url:o,parameters:n}};function _(e){return(e.method||\"GET\").toUpperCase()}var v=function(e){var t=e.headers||{};return t[\"Content-Type\"]=t[\"Content-Type\"]||function(e){var t;return e.data&&!e.upload&&\"GET\"!==_(e)&&(t=\"application/x-www-form-urlencoded;charset=utf-8\"),e.contentType||t}(e),t.Accept=t.Accept||function(e){var t=e.dataType||\"*\",n=\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\",i={\"*\":\"*/*\",text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\",jsonp:n,script:n};return(0,s.extendFromObject)(i,e.accepts,!0),i[t]?i[t]+(\"*\"!==t?\", */*; q=0.01\":\"\"):i[\"*\"]}(e),e.crossDomain||t[\"X-Requested-With\"]||(t[\"X-Requested-With\"]=\"XMLHttpRequest\"),t},y=(0,u.default)({sendRequest:function(e){var t,n=a.default.getXhr(),s=new i.Deferred,u=s.promise(),d=!(0,l.isDefined)(e.async)||e.async,y=e.dataType,b=e.timeout||0;e.crossDomain=function(e){if(!(0,r.hasWindow)())return!0;var t=!1,n=o.default.createElement(\"a\"),i=o.default.createElement(\"a\");n.href=c.location.href;try{i.href=e,i.href=i.href,t=n.protocol+\"//\"+n.host!=i.protocol+\"//\"+i.host}catch(e){t=!0}return t}(e.url);var x=\"jsonp\"===y||\"script\"===y;void 0===e.cache&&(e.cache=!x);var w=function(e){if(\"jsonp\"===e.dataType){var t=Math.random().toString().replace(/\\D/g,\"\"),n=e.jsonpCallback||\"dxCallback\"+Date.now()+\"_\"+t,i=e.jsonp||\"callback\";return e.data=e.data||{},e.data[i]=n,n}}(e),C=v(e),S=m(e,C),k=S.url,D=S.parameters;if(w&&(c[w]=function(e){s.resolve(e,\"success\",n)}),e.crossDomain&&x){return function(e){var t=h({src:e});return new Promise((function(e,n){var i={load:e,error:n},a=function(e){i[e.type](),f(t)};for(var r in i)o.default.listen(t,r,a);p(t)}))}(k).then((function(){\"jsonp\"!==y&&s.resolve(null,\"success\",n)}),(function(){s.reject(n,\"error\")})),u}if(e.crossDomain&&!(\"withCredentials\"in n))return s.reject(n,\"error\"),u;if(n.open(_(e),k,d,e.username,e.password),d&&(n.timeout=b,t=function(e,t){return e&&setTimeout((function(){t.customStatus=\"timeout\",t.abort()}),e)}(b,n)),n.onreadystatechange=function(e){var i;4===n.readyState&&(clearTimeout(t),200<=(i=n.status)&&i<300?function(e){return 204!==e}(n.status)?function(e,t,n){var i=function(e){return e.responseType&&\"text\"!==e.responseType||\"string\"!=typeof e.responseText?e.response:e.responseText}(t);switch(n){case\"jsonp\":g(i);break;case\"script\":g(i),e.resolve(i,\"success\",t);break;case\"json\":try{e.resolve(JSON.parse(i),\"success\",t)}catch(n){e.reject(t,\"parsererror\",n)}break;default:e.resolve(i,\"success\",t)}}(s,n,y):s.resolve(null,\"nocontent\",n):s.reject(n,n.customStatus||\"error\"))},e.upload&&(n.upload.onprogress=e.upload.onprogress,n.upload.onloadstart=e.upload.onloadstart,n.upload.onabort=e.upload.onabort),e.xhrFields)for(var I in e.xhrFields)n[I]=e.xhrFields[I];for(var T in\"arraybuffer\"===e.responseType&&(n.responseType=e.responseType),C)Object.prototype.hasOwnProperty.call(C,T)&&(0,l.isDefined)(C[T])&&n.setRequestHeader(T,C[T]);return e.beforeSend&&e.beforeSend(n),n.send(D),u.abort=function(){n.abort()},u}});t.default=y,e.exports=t.default,e.exports.default=t.default},89386:function(e,t,n){t.wrapToArray=t.removeDuplicates=t.normalizeIndexes=t.groupBy=t.getUniqueValues=t.getIntersection=void 0;var i,o=n(35922),a=n(48013),r=(i=n(80209))&&i.__esModule?i:{default:i};function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e)||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 l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function u(e){return e.reduce((function(e,t){var n,i=(null!==(n=e.get(t))&&void 0!==n?n:0)+1;return e.set(t,i),e}),new Map)}t.wrapToArray=function(e){return Array.isArray(e)?e:[e]};t.getUniqueValues=function(e){return s(new Set(e))};t.getIntersection=function(e,t){var n=u(t);return e.filter((function(e){var t=n.get(e);return t&&n.set(e,t-1),t}))};t.removeDuplicates=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=u(t);return e.filter((function(e){var t=n.get(e);return t&&n.set(e,t-1),!t}))};t.normalizeIndexes=function(e,t,n,i){var s={},l=(0,r.default)().useLegacyVisibleIndex,u=0,d=function(e){return!(0,o.isDefined)(e[t])&&(!i||i(e))};e.forEach((function(e){var i=e[t];i>=0?(s[i]=s[i]||[],e===n?s[i].unshift(e):s[i].push(e)):e[t]=void 0})),l||e.forEach((function(e){if(d(e)){for(;s[u];)u++;s[u]=[e],u++}})),u=0,(0,a.orderEach)(s,(function(e,n){n.forEach((function(n){e>=0&&(n[t]=u++)}))})),l&&e.forEach((function(e){d(e)&&(e[t]=u++)}))};t.groupBy=function(e,t){return e.reduce((function(e,n){var i,o=t(n);return e[o]=null!==(i=e[o])&&void 0!==i?i:[],e[o].push(n),e}),{})}},34671:function(e,t,n){t.isKeysEqual=t.findChanges=void 0;var i=n(35922),o=function(e,t){var n=t(e);if((0,i.isObject)(n))try{return JSON.stringify(n)}catch(e){return n}return n},a=function(e,t,n,i){return t[n[o(e,i)]]};t.isKeysEqual=function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0};t.findChanges=function(e,t,n,i){var r={},s={},l=0,u=0,d=[];e.forEach((function(e,t){var i=o(e,n);r[i]=t})),t.forEach((function(e,t){var i=o(e,n);s[i]=t}));for(var c=Math.max(e.length,t.length),h=0;h<c+l;h++){var f=t[h],p=h-l+u,g=e[p];if(!f||g&&!a(g,t,s,n))g&&(d.push({type:\"remove\",key:n(g),index:h,oldItem:g}),u++,h--);else{var m=o(f,n),_=r[m],v=e[_];if(v){if(_!==p)return;i(v,f)||d.push({type:\"update\",data:f,key:n(f),index:h,oldItem:v})}else l++,d.push({type:\"insert\",data:f,index:h})}}return d}},47810:function(e,t,n){t.default=void 0;var i=n(13306),o=(0,n(58201).getNavigator)(),a=/(webkit)[ /]([\\w.]+)/,r=/(mozilla)(?:.*? rv:([\\w.]+))/,s=function(e){e=e.toLowerCase();var t={},n=a.exec(e)||e.indexOf(\"compatible\")<0&&r.exec(e)||[],i=n[1],o=n[2];return\"webkit\"===i&&(t.webkit=!0,e.indexOf(\"chrome\")>=0||e.indexOf(\"crios\")>=0?(i=\"chrome\",o=(o=/(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(e))&&o[1]):e.indexOf(\"fxios\")>=0?(i=\"mozilla\",o=(o=/fxios\\/(\\d+\\.\\d+)/.exec(e))&&o[1]):e.indexOf(\"safari\")>=0&&/version|phantomjs/.test(e)?(i=\"safari\",o=(o=/(?:version|phantomjs)\\/([0-9.]+)/.exec(e))&&o[1]):(i=\"unknown\",o=(o=/applewebkit\\/([0-9.]+)/.exec(e))&&o[1])),i&&(t[i]=!0,t.version=o),t},l=(0,i.extend)({_fromUA:s},s(o.userAgent));t.default=l,e.exports=t.default,e.exports.default=t.default},39618:function(e,t){t.default=void 0;var n=function(e){var t,n=function(){return t=e.apply(this,arguments),n=function(){return t},t};return function(){return n.apply(this,arguments)}};t.default=n,e.exports=t.default,e.exports.default=t.default},44504:function(e,t){t.default=void 0;var n=function(e){this._options=e||{},this._list=[],this._queue=[],this._firing=!1,this._fired=!1,this._firingIndexes=[]};n.prototype._fireCore=function(e,t){var n=this._firingIndexes,i=this._list,o=this._options.stopOnFalse,a=n.length;for(n[a]=0;n[a]<i.length;n[a]++){if(!1===i[n[a]].apply(e,t)&&o)break}n.pop()},n.prototype.add=function(e){return\"function\"!=typeof e||this._options.unique&&this.has(e)||this._list.push(e),this},n.prototype.remove=function(e){var t=this._list,n=this._firingIndexes,i=t.indexOf(e);if(i>-1&&(t.splice(i,1),this._firing&&n.length))for(var o=0;o<n.length;o++)i<=n[o]&&n[o]--;return this},n.prototype.has=function(e){var t=this._list;return e?t.indexOf(e)>-1:!!t.length},n.prototype.empty=function(e){return this._list=[],this},n.prototype.fireWith=function(e,t){var n=this._queue;if(t=(t=t||[]).slice?t.slice():t,this._options.syncStrategy)this._firing=!0,this._fireCore(e,t);else{if(n.push([e,t]),this._firing)return;for(this._firing=!0;n.length;){var i=n.shift();this._fireCore(i[0],i[1])}}return this._firing=!1,this._fired=!0,this},n.prototype.fire=function(){this.fireWith(this,arguments)},n.prototype.fired=function(){return this._fired};var i=function(e){return new n(e)};t.default=i,e.exports=t.default,e.exports.default=t.default},20576:function(e,t,n){t.splitPair=t.pairToObject=t.normalizeKey=t.noop=t.grep=t.getKeyHash=t.findBestMatches=t.executeAsync=t.escapeRegExp=t.equalByValue=t.ensureDefined=t.denormalizeKey=t.deferUpdater=t.deferUpdate=t.deferRenderer=t.deferRender=t.asyncNoop=t.applyServerDecimalSeparator=void 0;var i=u(n(80209)),o=u(n(73176)),a=n(62754),r=n(47617),s=n(95479),l=n(35922);function u(e){return e&&e.__esModule?e:{default:e}}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}t.ensureDefined=function(e,t){return(0,l.isDefined)(e)?e:t};t.executeAsync=function(e,t){var n=new a.Deferred,i=t||this,o={promise:n.promise(),abort:function(){clearTimeout(s),n.rejectWith(i)}},r=function(){var t=e.call(i);t&&t.done&&(0,l.isFunction)(t.done)?t.done((function(){n.resolveWith(i)})):n.resolveWith(i)},s=(arguments[2]||setTimeout)(r,\"number\"==typeof t?t:0);return o};var c,h=[],f=[],p=[],g=function(e,t,n){if(c&&c!==e)return h.push(t),f.push(e),n=n||new a.Deferred,p.push(n),n;var i=c,o=p.length;c=e;var r=t();return r||(p.length>o?r=a.when.apply(this,p.slice(o)):n&&n.resolve()),c=i,n&&r&&r.done&&r.done(n.resolve).fail(n.reject),!c&&h.length&&(\"render\"===f.shift()?m:_)(h.shift(),p.shift()),r||(0,a.when)()},m=function(e,t){return g(\"render\",e,t)};t.deferRender=m;var _=function(e,t){return g(\"update\",e,t)};t.deferUpdate=_;t.deferRenderer=function(e){return function(){var t=this;return g(\"render\",(function(){return e.call(t)}))}};t.deferUpdater=function(e){return function(){var t=this;return g(\"update\",(function(){return e.call(t)}))}};t.findBestMatches=function(e,t,n){var i=[],o=0;return(0,s.each)(t,(function(t,a){var r=0,l=n?n(a):a;(0,s.each)(e,(function(e,t){var n=l[e];if(void 0!==n){if(!v(n,t))return r=-1,!1;r++}})),r<o||(r>o&&(i.length=0,o=r),i.push(a))})),i};var v=function(e,t){if(Array.isArray(e)&&Array.isArray(t)){var n=!1;return(0,s.each)(e,(function(e,i){if(i!==t[e])return n=!0,!1})),!n}return e===t},y=function(e){var t,n;switch((0,l.type)(e)){case\"string\":return e.split(/\\s+/,2);case\"object\":return[null!==(t=e.x)&&void 0!==t?t:e.h,null!==(n=e.y)&&void 0!==n?n:e.v];case\"number\":return[e];case\"array\":return e;default:return null}};t.splitPair=y;t.normalizeKey=function(e){var t=(0,l.isString)(e)?e:e.toString(),n=t.match(/[^a-zA-Z0-9_]/g);return n&&(0,s.each)(n,(function(e,n){t=t.replace(n,\"__\"+n.charCodeAt()+\"__\")})),t};t.denormalizeKey=function(e){var t=e.match(/__\\d+__/g);return t&&t.forEach((function(t){var n=parseInt(t.replace(\"__\",\"\"));e=e.replace(t,String.fromCharCode(n))})),e};t.pairToObject=function(e,t){var n=y(e),i=t?parseFloat(n&&n[0]):parseInt(n&&n[0],10),o=t?parseFloat(n&&n[1]):parseInt(n&&n[1],10);return isFinite(i)||(i=0),isFinite(o)||(o=i),{h:i,v:o}};t.getKeyHash=function(e){if(e instanceof o.default)return e.toString();if((0,l.isObject)(e)||Array.isArray(e))try{var t=JSON.stringify(e);return\"{}\"===t?e:t}catch(t){return e}return e};t.escapeRegExp=function(e){return e.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g,\"\\\\$&\")};t.applyServerDecimalSeparator=function(e){var t=(0,i.default)().serverDecimalSeparator;return(0,l.isDefined)(e)&&(e=e.toString().replace(\".\",t)),e};t.noop=function(){};t.asyncNoop=function(){return(new a.Deferred).resolve().promise()};t.grep=function(e,t,n){for(var i=[],o=!n,a=0;a<e.length;a++)!!t(e[a],a)===o&&i.push(e[a]);return i};var b=function(e,t,n,i){return e.length===t.length&&!e.some((function(e,o){return!C(e,t[o],n+1,d({},i,{strict:!0}))}))},x=function(e,t,n,i){var o=Object.keys(e),a=Object.keys(t);if(o.length!==a.length)return!1;var r=new Set(a);return!o.some((function(o){return!r.has(o)||!C(e[o],t[o],n+1,i)}))},w={maxDepth:3,strict:!0},C=function(e,t,n,i){var o=i.strict,a=i.maxDepth,s=(0,r.toComparable)(e,!0),u=(0,r.toComparable)(t,!0);switch(!0){case o?s===u:s==u:case n>=a:return!0;case(0,l.isObject)(s)&&(0,l.isObject)(u):return x(s,u,n,i);case Array.isArray(s)&&Array.isArray(u):return b(s,u,n,i);default:return!1}};t.equalByValue=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w,i=d({},w,n);return C(e,t,0,i)}},49036:function(e,t,n){t.equals=void 0;var i,o=(i=n(73349))&&i.__esModule?i:{default:i},a=n(47617),r=n(35922);function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.equals=function(e,t){return e=(0,a.toComparable)(e,!0),t=(0,a.toComparable)(t,!0),e&&t&&(0,r.isRenderer)(e)&&(0,r.isRenderer)(t)?t.is(e):!(e==e||t==t)||(0===e&&0===t?function(e,t){return 1/e==1/t}(e,t):!(null!==e&&\"object\"===s(e)&&!o.default.isElementNode(e))&&e===t)}},30869:function(e,t,n){t.logger=t.debug=void 0;var i=n(35922),o=function(){},a=function(e){return\"undefined\"!=typeof console&&(0,i.isFunction)(console[e])?console[e].bind(console):o},r={log:a(\"log\"),info:a(\"info\"),warn:a(\"warn\"),error:a(\"error\")};t.logger=r;var s=function(){function e(e,t){if(!e)throw new Error(t)}return{assert:e,assertParam:function(t,n){e(null!=t,n)}}}();t.debug=s},47617:function(e,t,n){t.toComparable=t.getPathParts=t.compileSetter=t.compileGetter=void 0;var i=u(n(17381)),o=u(n(38377)),a=n(48013),r=n(35922),s=n(95479),l=u(n(26974));function u(e){return e&&e.__esModule?e:{default:e}}var d=l.default.unwrap,c=l.default.isWrapped,h=l.default.assign,f=function(e){return(t=e,t.replace(/\\[/g,\".\").replace(/\\]/g,\"\")).split(\".\");var t};t.getPathParts=f;var p=function(e,t,n,o){if(\"this\"===t)throw new i.default.Error(\"E4016\");var a=e[t];o.unwrapObservables&&c(a)?h(a,n):e[t]=n},g=function(e){return(e=e||{}).unwrapObservables=void 0===e.unwrapObservables||e.unwrapObservables,e};function m(e,t){return t.unwrapObservables?d(e):e}var _=function(e){if(arguments.length>1&&(e=[].slice.call(arguments)),!e||\"this\"===e)return function(e){return e};if(\"string\"==typeof e){var t=f(e);return function(e,n){for(var i=(n=g(n)).functionsAsIs,o=(\"defaultValue\"in n),a=m(e,n),s=0;s<t.length;s++){if(!a){if(null==a&&o)return n.defaultValue;break}var l=t[s];if(o&&(0,r.isObject)(a)&&!(l in a))return n.defaultValue;var u=m(a[l],n);!i&&(0,r.isFunction)(u)&&(u=u.call(a)),a=u}return a}}return Array.isArray(e)?v(e):(0,r.isFunction)(e)?e:void 0};function v(e){for(var t={},n=0,i=e.length;n<i;n++){var o=e[n];t[o]=_(o)}return function(e,n){var i;return(0,s.each)(t,(function(t){var o=this(e,n);if(void 0!==o){for(var a=i||(i={}),r=t.split(\".\"),s=r.length-1,l=0;l<s;l++){var u=r[l];u in a||(a[u]={}),a=a[u]}a[r[s]]=o}})),i}}t.compileGetter=_;var y=function(e,t,n,i){if((0,r.isDefined)(n))return n;var o={};return p(e,t,o,i),o};t.compileSetter=function(e){var t=(e=f(e||\"this\")).length-1;return function(n,i,o){var s=m(n,o=g(o));e.forEach((function(e,n){var l=function(e,t,n){return n=n||{},m(\"this\"===t?e:e[t],n)}(s,e,o),u=!o.functionsAsIs&&(0,r.isFunction)(l)&&!c(l);n===t?o.merge&&(0,r.isPlainObject)(i)&&(!(0,r.isDefined)(l)||(0,r.isPlainObject)(l))?(l=y(s,e,l,o),(0,a.deepExtendArraySafe)(l,i,!1,!0)):u?s[e](i):p(s,e,i,o):(l=y(s,e,l,o),u&&(l=l.call(s)),s=l)}))}};t.toComparable=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e instanceof Date)return e.getTime();if(e&&e instanceof o.default&&e.valueOf)return e.valueOf();if(!t&&\"string\"==typeof e){var i;if(\"base\"===(null==n||null===(i=n.collatorOptions)||void 0===i?void 0:i.sensitivity)){var a=/[\\u0300-\\u036f]/g;e=e.normalize(\"NFD\").replace(a,\"\")}return null!=n&&n.locale?e.toLocaleLowerCase(n.locale):e.toLowerCase()}return e}},91198:function(e,t,n){t.default=void 0;var i=n(35922),o=n(60810),a=n(95479),r=n(78008),s=n(25050);function l(e,t,n){return(l=u()?Reflect.construct.bind():function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&d(o,n.prototype),o}).apply(null,arguments)}function u(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=[\"millisecond\",\"second\",\"minute\",\"hour\",\"day\",\"week\",\"month\",\"quarter\",\"year\"],h=function(e){var t,n,i,o=[\"millisecond\",\"second\",\"minute\",\"hour\",\"day\",\"month\",\"year\"],a={};for(t=o.length-1;t>=0;t--)i=o[t],(n=Math.floor(e/(0,s.toMilliseconds)(i)))>0&&(a[i+\"s\"]=n,e-=f(i,n));return a};function f(e,t){return(0,s.toMilliseconds)(e)*t}function p(e){var t,n=-1;return(0,i.isString)(e)?e:(0,i.isObject)(e)?((0,a.each)(e,(function(e,i){for(t=0;t<c.length;t++)i&&(e===c[t]+\"s\"||e===c[t])&&n<t&&(n=t)})),c[n]):\"\"}var g={millisecond:\"millisecond\",second:\"longtime\",minute:\"shorttime\",hour:\"shorttime\",day:\"day\",week:\"day\",month:\"month\",quarter:\"quarter\",year:\"year\"};var m=function(e){return Math.floor(e/3)},_=function(e){return 3*m(e)};function v(e,t,n,i){e=new Date(e.getTime());var o,a,r=new Date(e.getTime()),s=p(t);switch(s){case\"second\":e=new Date(1e3*Math.floor(r.getTime()/1e3));break;case\"minute\":e=new Date(6e4*Math.floor(r.getTime()/6e4));break;case\"hour\":e=new Date(36e5*Math.floor(r.getTime()/36e5));break;case\"year\":e.setMonth(0);case\"month\":e.setDate(1);case\"day\":e.setHours(0,0,0,0);break;case\"week\":(e=T(e,i||0)).setHours(0,0,0,0);break;case\"quarter\":o=_(e.getMonth()),a=e.getMonth(),e.setDate(1),e.setHours(0,0,0,0),a!==o&&e.setMonth(o)}return n&&\"hour\"!==s&&\"minute\"!==s&&\"second\"!==s&&R(r,e),e}function y(e){return v(e,\"day\")}function b(e,t,n){var o=new Date(e.getTime()),a=(0,i.isString)(t)?C(t.toLowerCase()):(0,i.isNumeric)(t)?h(t):t;return a.years&&o.setFullYear(o.getFullYear()+a.years*n),a.quarters&&o.setMonth(o.getMonth()+3*a.quarters*n),a.months&&o.setMonth(o.getMonth()+a.months*n),a.weeks&&o.setDate(o.getDate()+7*a.weeks*n),a.days&&o.setDate(o.getDate()+a.days*n),a.hours&&o.setTime(o.getTime()+36e5*a.hours*n),a.minutes&&o.setTime(o.getTime()+6e4*a.minutes*n),a.seconds&&o.setTime(o.getTime()+1e3*a.seconds*n),a.milliseconds&&o.setTime(o.getTime()+a.milliseconds*n),o}var x=function(e,t,n){var a=n?-1:1;return(0,i.isDate)(e)?b(e,t,a):(0,o.adjust)(e+t*a,t)};function w(e){return L(e.getFullYear(),e.getMonth()+1,0).getDate()}function C(e){var t={};switch(e){case\"year\":t.years=1;break;case\"month\":t.months=1;break;case\"quarter\":t.months=3;break;case\"week\":t.weeks=1;break;case\"day\":t.days=1;break;case\"hour\":t.hours=1;break;case\"minute\":t.minutes=1;break;case\"second\":t.seconds=1;break;case\"millisecond\":t.milliseconds=1}return t}function S(e,t){return k(e,t)&&e.getMonth()===t.getMonth()}function k(e,t){return e&&t&&e.getFullYear()===t.getFullYear()}function D(e){return e&&e.getFullYear()-e.getFullYear()%100}function I(e){return e&&e.getFullYear()-e.getFullYear()%10}function T(e,t){var n=(e.getDay()-t+7)%7,i=new Date(e);return i.setDate(e.getDate()-n),i}function E(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())}function O(e){return new Date(e,0,1)}function A(e){return new Date(e,11,31)}function P(e,t){var n=e.getDay()-t+1;return n<=0&&(n+=7),n}function M(e,t,n){var o=e;return(0,i.isDefined)(e)?((0,i.isDefined)(t)&&e<t&&(o=t),(0,i.isDefined)(n)&&e>n&&(o=n),o):e}function R(e,t){if((0,i.isDefined)(e)){var n=t.getHours()-e.getHours();if(0!==n){var o=1===n||-23===n?-1:1,a=new Date(t.getTime()+36e5*o);(o>0||a.getDate()===t.getDate())&&t.setTime(a.getTime())}}}function B(e,t){return 60*(t.getTimezoneOffset()-e.getTimezoneOffset())*1e3}var L=function(e){var t=l(Date,Array.prototype.slice.call(arguments));return t.setFullYear(e),t},V={dateUnitIntervals:c,convertMillisecondsToDateUnits:h,dateToMilliseconds:function(e){var t=0;return(0,i.isObject)(e)&&(0,a.each)(e,(function(e,n){t+=f(e.substr(0,e.length-1),n)})),(0,i.isString)(e)&&(t=f(e,1)),t},getNextDateUnit:function(e,t){switch(p(e)){case\"millisecond\":return\"second\";case\"second\":return\"minute\";case\"minute\":return\"hour\";case\"hour\":return\"day\";case\"day\":return t?\"week\":\"month\";case\"week\":return\"month\";case\"month\":return\"quarter\";case\"quarter\":case\"year\":return\"year\";default:return 0}},convertDateUnitToMilliseconds:f,getDateUnitInterval:p,getDateFormatByTickInterval:function(e){return g[p(e)]||\"\"},getDatesDifferences:function(e,t){var n=0,i={year:e.getFullYear()!==t.getFullYear(),month:e.getMonth()!==t.getMonth(),day:e.getDate()!==t.getDate(),hour:e.getHours()!==t.getHours(),minute:e.getMinutes()!==t.getMinutes(),second:e.getSeconds()!==t.getSeconds(),millisecond:e.getMilliseconds()!==t.getMilliseconds()};return(0,a.each)(i,(function(e,t){t&&n++})),0===n&&0!==B(e,t)&&(i.hour=!0,n++),i.count=n,i},correctDateWithUnitBeginning:v,trimTime:y,setToDayEnd:function(e){var t=y(e);return t.setDate(t.getDate()+1),new Date(t.getTime()-1)},roundDateByStartDayHour:function(e,t){var n=this.dateTimeFromDecimal(t),i=new Date(e);return(e.getHours()===n.hours&&e.getMinutes()<n.minutes||e.getHours()<n.hours)&&i.setHours(n.hours,n.minutes,0,0),i},dateTimeFromDecimal:function(e){return{hours:Math.floor(e),minutes:e%1*60}},addDateInterval:b,addInterval:x,getSequenceByInterval:function(e,t,n){var o,a=[];for(a.push((0,i.isDate)(e)?new Date(e.getTime()):e),o=e;o<t;)o=x(o,n),a.push(o);return a},getDateIntervalByString:C,sameHoursAndMinutes:function(e,t){return e&&t&&e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()},sameDate:function(e,t){return S(e,t)&&e.getDate()===t.getDate()},sameMonthAndYear:S,sameMonth:S,sameYear:k,sameDecade:function(e,t){if((0,i.isDefined)(e)&&(0,i.isDefined)(t)){var n=e.getFullYear()-e.getFullYear()%10,o=t.getFullYear()-t.getFullYear()%10;return e&&t&&n===o}},sameCentury:function(e,t){if((0,i.isDefined)(e)&&(0,i.isDefined)(t)){var n=e.getFullYear()-e.getFullYear()%100,o=t.getFullYear()-t.getFullYear()%100;return e&&t&&n===o}},getDifferenceInMonth:function(e){var t=1;return\"year\"===e&&(t=12),\"decade\"===e&&(t=120),\"century\"===e&&(t=1200),t},getDifferenceInMonthForCells:function(e){var t=1;return\"decade\"===e&&(t=12),\"century\"===e&&(t=120),t},getFirstYearInDecade:I,getFirstDecadeInCentury:D,getShortDateFormat:function(){return\"yyyy/MM/dd\"},getViewFirstCellDate:function(e,t){return\"month\"===e?L(t.getFullYear(),t.getMonth(),1):\"year\"===e?L(t.getFullYear(),0,t.getDate()):\"decade\"===e?L(I(t),t.getMonth(),t.getDate()):\"century\"===e?L(D(t),t.getMonth(),t.getDate()):void 0},getViewLastCellDate:function(e,t){return\"month\"===e?L(t.getFullYear(),t.getMonth(),w(t)):\"year\"===e?L(t.getFullYear(),11,t.getDate()):\"decade\"===e?L(I(t)+9,t.getMonth(),t.getDate()):\"century\"===e?L(D(t)+90,t.getMonth(),t.getDate()):void 0},getViewDown:function(e){switch(e){case\"century\":return\"decade\";case\"decade\":return\"year\";case\"year\":return\"month\"}},getViewUp:function(e){switch(e){case\"month\":return\"year\";case\"year\":return\"decade\";case\"decade\":return\"century\"}},getLastMonthDay:w,getLastMonthDate:function(e){if((0,i.isDefined)(e))return L(e.getFullYear(),e.getMonth()+1,0)},getFirstMonthDate:function(e){if((0,i.isDefined)(e))return L(e.getFullYear(),e.getMonth(),1)},getFirstWeekDate:T,getWeekNumber:function e(t,n,i){var o=P(O(t.getFullYear()),n),a=P(A(t.getFullYear()),n),r=7-o+1,l=Math.ceil((function(e){var t=E(e)-E(O(e.getFullYear()));return 1+Math.floor(t/(0,s.toMilliseconds)(\"day\"))}(t)-r)/7);switch(i){case\"fullWeek\":return 7===r&&l++,0===l?e(A(t.getFullYear()-1),n,i):l;case\"firstDay\":return r>0&&l++,(l>52&&!(7===o||7===a)||54===l)&&(l=1),l;case\"firstFourDays\":return r>3&&l++,l>52&&!(4===o||4===a)&&(l=1),0===l?e(A(t.getFullYear()-1),n,i):l}},normalizeDateByWeek:function(e,t){var n=V.getDatesInterval(e,t,\"day\"),i=new Date(e);return n>=6&&(i=new Date(i.setDate(i.getDate()+7))),i},getQuarter:m,getFirstQuarterMonth:_,dateInRange:function(e,t,n,i){return\"date\"===i&&(t=t&&V.correctDateWithUnitBeginning(t,\"day\"),n=n&&V.correctDateWithUnitBeginning(n,\"day\"),e=e&&V.correctDateWithUnitBeginning(e,\"day\")),M(e,t,n)===e},intervalsOverlap:function(e){var t=e.firstMin,n=e.firstMax,i=e.secondMin,o=e.secondMax;return t<=i&&i<=n||t>i&&t<o||t<o&&n>o},roundToHour:function(e){var t=new Date(e.getTime());return t.setHours(t.getHours()+1),t.setMinutes(0),t},normalizeDate:M,getViewMinBoundaryDate:function(e,t){var n=L(t.getFullYear(),t.getMonth(),1);return\"month\"===e?n:(n.setMonth(0),\"year\"===e||(\"decade\"===e&&n.setFullYear(I(t)),\"century\"===e&&n.setFullYear(D(t))),n)},getViewMaxBoundaryDate:function(e,t){var n=new Date(t);return n.setDate(w(t)),\"month\"===e?n:(n.setMonth(11),n.setDate(w(n)),\"year\"===e||(\"decade\"===e&&n.setFullYear(I(t)+9),\"century\"===e&&n.setFullYear(D(t)+99)),n)},fixTimezoneGap:R,getTimezonesDifference:B,makeDate:function(e){return new Date(e)},getDatesInterval:function(e,t,n){var i=t.getTime()-e.getTime(),o=(0,s.toMilliseconds)(n)||1;return Math.floor(i/o)},getDatesOfInterval:function(e,t,n){for(var i=[],o=new Date(e.getTime());o<t;)i.push(new Date(o.getTime())),o=this.addInterval(o,n);return i},createDateWithFullYear:L,getMachineTimezoneName:function(){return\"undefined\"!=typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:null},sameView:function(e,t,n){return V[(0,r.camelize)(\"same \"+e)](t,n)}},F=V;t.default=F,e.exports=t.default,e.exports.default=t.default},69434:function(e,t,n){t.default=void 0;var i=s(n(80209)),o=n(40594),a=s(n(15564)),r=n(35922);function s(e){return e&&e.__esModule?e:{default:e}}var l=/^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/,u=/^(\\d{2}):(\\d{2})(:(\\d{2}))?$/,d=[\"\",\"yyyy\",\"\",\"MM\",\"\",\"dd\",\"THH\",\"\",\"mm\",\"\",\"ss\",\".SSS\"],c=/^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/,h=function(e,t){var n;return(0,r.isString)(e)&&!t&&(n=function(e){var t=e.match(l);if(!t)return(t=e.match(u))?new Date(0,0,0,f(t[1]),f(t[2]),f(t[4])):void 0;var n=f(t[1]),i=--t[3],o=t[5],a=0,r=0,s=function(e){return n<100&&e.setFullYear(n),e};a=f(t[14]),r=f(t[16]),\"-\"===t[13]&&(a=-a,r=-r);var d=f(t[6])-a,c=f(t[8])-r,h=f(t[10]),p=(g=t[11],f(g=g||\"\")*Math.pow(10,3-g.length));var g;if(t[12])return s(new Date(Date.UTC(n,i,o,d,c,h,p)));return s(new Date(n,i,o,d,c,h,p))}(e)),n||function(e){var t=\"yyyy/MM/dd\"===p(e),n=!(0,r.isDate)(e)&&Date.parse(e);if(!n&&t){var i=e.match(c);if(i){var o=new Date(f(i[1]),f(i[2]),f(i[3]));return o.setFullYear(f(i[1])),o.setMonth(f(i[2])-1),o.setDate(f(i[3])),o}}return(0,r.isNumeric)(n)?new Date(n):e}(e)};function f(e){return+e||0}var p=function(e){return\"number\"==typeof e?\"number\":(0,r.isString)(e)?((0,i.default)().forceIsoDateParsing&&(t=function(e,t){var n=e.match(l),i=\"\";if(!n)return(n=e.match(u))?n[3]?\"HH:mm:ss\":\"HH:mm\":void 0;for(var o=1;o<d.length;o++)n[o]&&(i+=d[o]||n[o]);return\"Z\"===n[12]&&(i+=\"'Z'\"),n[14]&&(n[15]?i+=\"xxx\":n[16]?i+=\"xx\":i+=\"x\"),i}(e)),t||(e.indexOf(\":\")>=0?\"yyyy/MM/dd HH:mm:ss\":\"yyyy/MM/dd\")):e?null:void 0;var t},g={dateParser:h,deserializeDate:function(e){return\"number\"==typeof e?new Date(e):h(e,!(0,i.default)().forceIsoDateParsing)},serializeDate:function(e,t){return t?(0,r.isDate)(e)?\"number\"===t?e&&e.valueOf?e.valueOf():null:(0,o.getFormatter)(t,a.default)(e):null:e},getDateSerializationFormat:p};t.default=g,e.exports=t.default,e.exports.default=t.default},62754:function(e,t,n){t.Deferred=function(){return new l},t.fromPromise=u,t.setStrategy=function(e){l=e.Deferred,d=e.when},t.when=function(){return d.apply(this,arguments)};var i,o=n(35922),a=n(13306),r=(i=n(44504))&&i.__esModule?i:{default:i};var s=[{method:\"resolve\",handler:\"done\",state:\"resolved\"},{method:\"reject\",handler:\"fail\",state:\"rejected\"},{method:\"notify\",handler:\"progress\"}],l=function(){var e=this;this._state=\"pending\",this._promise={},s.forEach(function(t){var n=t.method;this[n+\"Callbacks\"]=(0,r.default)(),this[n]=function(){return this[n+\"With\"](this._promise,arguments)}.bind(this),this._promise[t.handler]=function(t){if(!t)return this;var i=e[n+\"Callbacks\"];return i.fired()?t.apply(e[n+\"Context\"],e[n+\"Args\"]):i.add(function(e,n){t.apply(e,n)}.bind(this)),this}}.bind(this)),this._promise.always=function(e){return this.done(e).fail(e)},this._promise.catch=function(e){return this.then(null,e)},this._promise.then=function(e,t){var n=new l;return[\"done\",\"fail\"].forEach(function(i){var a=\"done\"===i?e:t;this[i]((function(){if(a){var e=a&&a.apply(this,arguments);(0,o.isDeferred)(e)?e.done(n.resolve).fail(n.reject):(0,o.isPromise)(e)?e.then(n.resolve,n.reject):n.resolve.apply(this,(0,o.isDefined)(e)?[e]:arguments)}else n[\"done\"===i?\"resolve\":\"reject\"].apply(this,arguments)}))}.bind(this)),n.promise()},this._promise.state=function(){return e._state},this._promise.promise=function(t){return t?(0,a.extend)(t,e._promise):e._promise},this._promise.promise(this)};function u(e,t){if((0,o.isDeferred)(e))return e;if((0,o.isPromise)(e)){var n=new l;return e.then((function(){n.resolveWith.apply(n,[t].concat([[].slice.call(arguments)]))}),(function(){n.rejectWith.apply(n,[t].concat([[].slice.call(arguments)]))})),n}return(new l).resolveWith(t,[e])}s.forEach((function(e){var t=e.method,n=e.state;l.prototype[t+\"With\"]=function(e,i){var o=this[t+\"Callbacks\"];return\"pending\"===this.state()&&(this[t+\"Args\"]=i,this[t+\"Context\"]=e,n&&(this._state=n),o.fire(e,i)),this}}));var d=function(){if(1===arguments.length)return u(arguments[0]);for(var e=[].slice.call(arguments),t=[],n=0,i=new l,a=function(o){return function(a){t[o]=this,e[o]=arguments.length>1?[].slice.call(arguments):a,++n===e.length&&i.resolveWith(t,e)}},r=0;r<e.length;r++)(0,o.isDeferred)(e[r])?e[r].promise().done(a(r)).fail(i.reject):n++;return n===e.length&&i.resolveWith(t,e),i.promise()}},20476:function(e,t,n){t.default=function(e){var t=s.default.inherit(e),n=t,i=new n(e),l={},u=function(t,n){(0,r.each)(t,(function(t){(0,a.isFunction)(i[t])?!n&&e[t]||(e[t]=function(){return i[t].apply(e,arguments)}):(n&&(l[t]=e[t]),e[t]=i[t])}))};return u(e,!0),e.inject=function(e){n=n.inherit(e),i=new n,u(e)},e.resetInjection=function(){(0,o.extend)(e,l),n=t,i=new t},e};var i,o=n(13306),a=n(35922),r=n(95479),s=(i=n(38377))&&i.__esModule?i:{default:i};e.exports=t.default,e.exports.default=t.default},3532:function(e,t,n){t.resetActiveElement=t.replaceWith=t.normalizeTemplateElement=t.isElementInDom=t.insertBefore=t.extractTemplateMarkup=t.createTextElementHiddenCopy=t.contains=t.closestCommonParent=t.clipboardText=t.clearSelection=void 0;var i=l(n(73349)),o=l(n(68374)),a=n(95479),r=n(35922),s=n(58201);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,s.getWindow)();t.resetActiveElement=function(){var e,t=i.default.getActiveElement();t&&t!==i.default.getBody()&&(null===(e=t.blur)||void 0===e||e.call(t))};t.clearSelection=function(){var e=u.getSelection();if(e&&\"Caret\"!==e.type)if(e.empty)e.empty();else if(e.removeAllRanges)try{e.removeAllRanges()}catch(e){}};t.closestCommonParent=function(e,t){var n=(0,o.default)(e),i=(0,o.default)(t);if(n[0]===i[0])return n[0];for(var a=n.parents(),r=i.parents(),s=-Math.min(a.length,r.length);s<0;s++)if(a.get(s)===r.get(s))return a.get(s)};t.extractTemplateMarkup=function(e){var t=(e=(0,o.default)(e)).length&&e.filter((function(){var e=(0,o.default)(this);return e.is(\"script[type]\")&&e.attr(\"type\").indexOf(\"script\")<0}));return t.length?t.eq(0).html():(e=(0,o.default)(\"<div>\").append(e)).html()};t.normalizeTemplateElement=function e(t){var n=(0,r.isDefined)(t)&&(t.nodeType||(0,r.isRenderer)(t))?(0,o.default)(t):(0,o.default)(\"<div>\").html(t).contents();return 1===n.length&&(n.is(\"script\")?n=e(n.html().trim()):n.is(\"table\")&&(n=n.children(\"tbody\").contents())),n};t.clipboardText=function(e,t){var n=e.originalEvent&&e.originalEvent.clipboardData||u.clipboardData;if(!t)return n&&n.getData(\"Text\");n&&n.setData(\"Text\",t)};t.contains=function e(t,n){return!!n&&((0,r.isWindow)(t)?e(t.document,n):t.contains(n)||e(t,function(e){if(e.getRootNode){var t=e.getRootNode().host;if(!(0,r.isString)(t))return t}}(n)))};t.createTextElementHiddenCopy=function(e,t,n){var i=u.getComputedStyle((0,o.default)(e).get(0)),a=n&&n.includePaddings;return(0,o.default)(\"<div>\").text(t).css({fontStyle:i.fontStyle,fontVariant:i.fontVariant,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFamily:i.fontFamily,letterSpacing:i.letterSpacing,border:i.border,paddingTop:a?i.paddingTop:\"\",paddingRight:a?i.paddingRight:\"\",paddingBottom:a?i.paddingBottom:\"\",paddingLeft:a?i.paddingLeft:\"\",visibility:\"hidden\",whiteSpace:\"pre\",position:\"absolute\",float:\"left\"})};var d=function(e,t){return t&&i.default.insertElement(e.parentNode,t,e),e};t.insertBefore=d;t.replaceWith=function(e,t){if(t&&t[0])return t.is(e)?e:((0,a.each)(t,(function(t,n){d(e[0],n)})),e.remove(),t)};t.isElementInDom=function(e){var t=null==e?void 0:e.get(0),n=null==t?void 0:t.getRootNode().host;return!!(0,o.default)(n||t).closest((0,s.getWindow)().document).length}},95640:function(e,t,n){t.default=function(e,t){var n={ERROR_MESSAGES:(0,i.extend)(t,e),Error:function(){return d([].slice.call(arguments))},log:function(e){var t=\"log\";/^E\\d+$/.test(e)?t=\"error\":/^W\\d+$/.test(e)&&(t=\"warn\"),o.logger[t](\"log\"===t?e:s([].slice.call(arguments)))}};function s(e){var t=e[0];return u(t,l(t,e=e.slice(1)))}function l(e,t){return t=[n.ERROR_MESSAGES[e]].concat(t),a.format.apply(this,t).replace(/\\.*\\s*?$/,\"\")}function u(e,t){return a.format.apply(this,[\"{0} - {1}. See:\\n{2}\",e,t,c(e)])}function d(e){var t=e[0],n=l(t,e=e.slice(1)),o=c(t),a=u(t,n);return(0,i.extend)(new Error(a),{__id:t,__details:n,url:o})}function c(e){return r+e}return n};var i=n(13306),o=n(30869),a=n(68752),r=\"http://js.devexpress.com/error/\"+n(36739).version.split(\".\").slice(0,2).join(\"_\")+\"/\";e.exports=t.default,e.exports.default=t.default},13306:function(e,t,n){t.extendFromObject=t.extend=void 0;var i=n(35922);t.extendFromObject=function(e,t,n){for(var i in e=e||{},t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=t[i];i in e&&!n||(e[i]=o)}return e};t.extend=function e(t){var n=1,o=!1;for(\"boolean\"==typeof(t=t||{})&&(o=t,t=arguments[1]||{},n++);n<arguments.length;n++){var a=arguments[n];if(null!=a)for(var r in a){var s=t[r],l=a[r],u=!1,d=void 0;\"__proto__\"!==r&&\"constructor\"!==r&&t!==l&&(o&&l&&((0,i.isPlainObject)(l)||(u=Array.isArray(l)))?(d=u?s&&Array.isArray(s)?s:[]:s&&(0,i.isPlainObject)(s)?s:{},t[r]=e(o,d,l)):void 0!==l&&(t[r]=l))}}return t}},61371:function(e,t,n){t.parseHTML=t.isTablePart=void 0;var i,o=(i=n(73349))&&i.__esModule?i:{default:i};function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=/<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i,l={default:{tagsCount:0,startTags:\"\",endTags:\"\"},thead:{tagsCount:1,startTags:\"<table>\",endTags:\"</table>\"},td:{tagsCount:3,startTags:\"<table><tbody><tr>\",endTags:\"</tr></tbody></table>\"},col:{tagsCount:2,startTags:\"<table><colgroup>\",endTags:\"</colgroup></table>\"},tr:{tagsCount:2,startTags:\"<table><tbody>\",endTags:\"</tbody></table>\"}};l.tbody=l.colgroup=l.caption=l.tfoot=l.thead,l.th=l.td;t.parseHTML=function(e){if(\"string\"!=typeof e)return null;var t=o.default.createDocumentFragment().appendChild(o.default.createElement(\"div\")),n=s.exec(e),i=n&&n[1].toLowerCase(),r=l[i]||l.default;t.innerHTML=r.startTags+e+r.endTags;for(var u=0;u<r.tagsCount;u++)t=t.lastChild;return a(t.childNodes)};t.isTablePart=function(e){var t=s.exec(e);return t&&t[1]in l}},44899:function(e,t,n){t.getImageSourceType=t.getImageContainer=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i};var a=function(e){return!(!e||\"string\"!=typeof e)&&(/^\\s*<svg[^>]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(e)?\"svg\":/data:.*base64|\\.|[^<\\s]\\/{1,1}/.test(e)?\"image\":/^[\\w-_]+$/.test(e)?\"dxIcon\":!!/^\\s?([\\w-_]\\s?)+$/.test(e)&&\"fontIcon\")};t.getImageSourceType=a;t.getImageContainer=function(e){switch(a(e)){case\"image\":return(0,o.default)(\"<img>\").attr(\"src\",e).addClass(\"dx-icon\");case\"fontIcon\":return(0,o.default)(\"<i>\").addClass(\"\".concat(\"dx-icon\",\" \").concat(e));case\"dxIcon\":return(0,o.default)(\"<i>\").addClass(\"\".concat(\"dx-icon\",\" \").concat(\"dx-icon\",\"-\").concat(e));case\"svg\":return(0,o.default)(\"<i>\").addClass(\"\".concat(\"dx-icon\",\" \").concat(\"dx-svg-icon\")).append(e);default:return null}}},78008:function(e,t,n){t.underscore=t.titleize=t.humanize=t.dasherize=t.captionize=t.camelize=void 0;var i=n(95479),o=function(e){return null==e?\"\":String(e)},a=function(e){return o(e).charAt(0).toUpperCase()+e.substr(1)},r=function(e){return o(e).replace(/([a-z\\d])([A-Z])/g,\"$1 $2\").split(/[\\s_-]+/)},s=function(e){return(0,i.map)(r(e),(function(e){return e.toLowerCase()})).join(\"-\")};t.dasherize=s;t.underscore=function(e){return s(e).replace(/-/g,\"_\")};t.camelize=function(e,t){return(0,i.map)(r(e),(function(e,n){return e=e.toLowerCase(),(t||n>0)&&(e=a(e)),e})).join(\"\")};t.humanize=function(e){return a(s(e).replace(/-/g,\" \"))};t.titleize=function(e){return(0,i.map)(r(e),(function(e){return a(e.toLowerCase())})).join(\" \")};var l=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"];t.captionize=function(e){var t,n,i=[],o=!1,a=!1;for(t=0;t<e.length;t++)a=(n=e.charAt(t))===n.toUpperCase()&&\"-\"!==n&&\")\"!==n&&\"/\"!==n||n in l,\"_\"===n||\".\"===n?(n=\" \",a=!0):0===t?(n=n.toUpperCase(),a=!0):!o&&a&&i.length>0&&i.push(\" \"),i.push(n),o=a;return i.join(\"\")}},95479:function(e,t){t.reverseEach=t.map=t.each=void 0;t.map=function(e,t){if(Array.isArray(e))return e.map(t);var n=[];for(var i in e)n.push(t(e[i],i));return n};t.each=function(e,t){if(e){if(\"length\"in e)for(var n=0;n<e.length&&!1!==t.call(e[n],n,e[n]);n++);else for(var i in e)if(!1===t.call(e[i],i,e[i]))break;return e}};t.reverseEach=function(e,t){if(e&&\"length\"in e&&0!==e.length)for(var n=e.length-1;n>=0&&!1!==t.call(e[n],n,e[n]);n--);}},88933:function(e,t,n){t.default=void 0;var i,o=(i=n(17381))&&i.__esModule?i:{default:i};var a=function(){var e={},t=function(t){return e[t]||0};return{obtain:function(n){e[n]=t(n)+1},release:function(n){var i=t(n);if(i<1)throw o.default.Error(\"E0014\");1===i?delete e[n]:e[n]=i-1},locked:function(e){return t(e)>0}}};t.default=a,e.exports=t.default,e.exports.default=t.default},60810:function(e,t,n){t.adjust=function(e,t){var n,r=a(t||0)+2,s=e.toString().split(\".\"),l=e,u=Math.abs(e),d=(0,i.isExponential)(e),c=u>1?10:0;if(1===s.length)return e;d||((0,i.isExponential)(t)&&(r=s[0].length+o(t)),e=(e=u)-Math.floor(e)+c);if(r=function(){return\"0.000300\"!==3e-4.toPrecision(3)}()&&o(e)>6||r>7?15:7,!d&&(n=parseFloat(e.toPrecision(r)).toString().split(\".\"))[0]===c.toString())return parseFloat(s[0]+\".\"+n[1]);return parseFloat(l.toPrecision(r))},t.fitIntoRange=void 0,t.getExponent=o,t.getExponentLength=function(e){var t,n=e.toString();return(null===(t=n.split(\".\")[1])||void 0===t?void 0:t.length)||parseInt(n.split(\"e-\")[1])||0},t.getPrecision=a,t.getRemainderByDivision=function(e,t,n){if(t===parseInt(t))return e%t;var i=s(e/t,n);return(i-parseInt(i))*t},t.getRoot=r,t.inRange=void 0,t.multiplyInExponentialForm=function(e,t){var n=function(e){var t=e.toExponential().split(\"e\"),n=parseFloat(t[0]);return{exponent:parseInt(t[1]),mantissa:n}}(e);return parseFloat(\"\".concat(n.mantissa,\"e\").concat(n.exponent+t))},t.roundFloatPart=s,t.sign=void 0,t.solveCubicEquation=function(e,t,n,i){if(Math.abs(e)<1e-8){if(e=t,t=n,n=i,Math.abs(e)<1e-8)return e=t,t=n,Math.abs(e)<1e-8?[]:[-t/e];var o=t*t-4*e*n;return Math.abs(o)<1e-8?[-t/(2*e)]:o>0?[(-t+Math.sqrt(o))/(2*e),(-t-Math.sqrt(o))/(2*e)]:[]}var a,s,l=(3*e*n-t*t)/(3*e*e),u=(2*t*t*t-9*e*t*n+27*e*e*i)/(27*e*e*e);if(Math.abs(l)<1e-8)a=[r(-u,3)];else if(Math.abs(u)<1e-8)a=[0].concat(l<0?[Math.sqrt(-l),-Math.sqrt(-l)]:[]);else{var d=u*u/4+l*l*l/27;if(Math.abs(d)<1e-8)a=[-1.5*u/l,3*u/l];else if(d>0)s=r(-u/2-Math.sqrt(d),3),a=[s-l/(3*s)];else{s=2*Math.sqrt(-l/3);var c=Math.acos(3*u/l/s)/3,h=2*Math.PI/3;a=[s*Math.cos(c),s*Math.cos(c-h),s*Math.cos(c-2*h)]}}for(var f=0;f<a.length;f++)a[f]-=t/(3*e);return a},t.trunc=function(e){return Math.trunc?Math.trunc(e):e>0?Math.floor(e):Math.ceil(e)};var i=n(35922);t.sign=function(e){return 0===e?0:e/Math.abs(e)};t.fitIntoRange=function(e,t,n){var i=!t&&0!==t,o=!n&&0!==n;return i&&(t=o?e:Math.min(e,n)),o&&(n=i?e:Math.max(e,t)),Math.min(Math.max(e,t),n)};function o(e){return Math.abs(parseInt(e.toExponential().split(\"e\")[1]))}function a(e){var t=e.toString();if(t.indexOf(\".\")<0)return 0;var n=t.split(\".\"),i=n[1].indexOf(\"e\");return i>=0?i:n[1].length}function r(e,t){if(e<0&&t%2!=1)return NaN;var n=Math.pow(Math.abs(e),1/t);return t%2==1&&e<0?-n:n}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return parseFloat(e.toFixed(t))}t.inRange=function(e,t,n){return e>=t&&e<=n}},48013:function(e,t,n){t.orderEach=t.deepExtendArraySafe=t.clone=void 0;var i,o=n(35922),a=(i=n(26974))&&i.__esModule?i:{default:i};var r=function(){function e(){}return function(t){return e.prototype=t,new e}}();t.clone=r;t.orderEach=function(e,t){var n,i,a=[];for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&a.push(n);for(a.sort((function(e,t){var n=(0,o.isNumeric)(e),i=(0,o.isNumeric)(t);return n&&i?e-t:n&&!i?-1:!n&&i?1:e<t?-1:e>t?1:0})),i=0;i<a.length;i++)t(n=a[i],e[n])};var s=function(e,t,n,i){!i&&a.default.isWrapped(e[t])?a.default.assign(e[t],n):e[t]=n};t.deepExtendArraySafe=function e(t,n,i,a){var r,l;for(var u in n)if(r=t[u],l=n[u],\"__proto__\"!==u&&\"constructor\"!==u&&t!==l){if((0,o.isPlainObject)(l))l=e((i?(0,o.isObject)(r):(0,o.isPlainObject)(r))?r:{},l,i,a);void 0!==l&&r!==l&&s(t,u,l,a)}return t}},37518:function(e,t,n){t.getDefaultAlignment=t.getBoundingRect=void 0;var i,o=(i=n(80209))&&i.__esModule?i:{default:i},a=n(35922);t.getDefaultAlignment=function(e){return(null!=e?e:(0,o.default)().rtlEnabled)?\"right\":\"left\"};t.getBoundingRect=function(e){return(0,a.isWindow)(e)?{width:e.outerWidth,height:e.outerHeight}:e.getBoundingClientRect()}},9321:function(e,t,n){t.attachInstanceToElement=function(e,t,n){var i=(0,o.data)(e.get(0)),r=d(t.constructor);i[r]=t,n&&a.default.one(e,s.removeEvent,(function(){n.call(t)}));i.dxComponents||(i.dxComponents=[]);i.dxComponents.push(r)},t.getInstanceByElement=function(e,t){var n=d(t);return(0,o.data)(e.get(0),n)},t.name=void 0;var i,o=n(97906),a=(i=n(55994))&&i.__esModule?i:{default:i},r=n(35922),s=n(29007);var l=new WeakMap,u=0,d=function(e,t){if(!(0,r.isDefined)(t)){if(!l.has(e)){var n=\"dxPrivateComponent\"+u++;return l.set(e,n),n}return l.get(e)}l.set(e,t)};t.name=d},59504:function(e,t,n){t.create=r,t.enqueue=void 0;var i,o=(i=n(17381))&&i.__esModule?i:{default:i},a=n(62754);function r(e){var t=[],n=!1;function i(){for(;t.length;){n=!0;var e=t.shift()();if(void 0!==e){if(e.then)return void(0,a.when)(e).always(i);throw o.default.Error(\"E0015\")}}n=!1}return{add:function(o,a){e?(t[0]&&a&&a(t[0]),t=[o]):t.push(o),n||i()},busy:function(){return n}}}var s=r().add;t.enqueue=s},24311:function(e,t,n){t.default=void 0;var i=s(n(73349)),o=s(n(20476)),a=n(58201),r=s(n(39618));function s(e){return e&&e.__esModule?e:{default:e}}var l=[],u=(0,r.default)((function(){var e=i.default.listen(i.default.getDocument(),\"DOMContentLoaded\",(function(){d.fire(),e()}))})),d={add:function(e){var t=(0,a.hasWindow)();t&&\"loading\"!==i.default.getReadyState()?e():(l.push(e),t&&u())},fire:function(){l.forEach((function(e){return e()})),l=[]}},c=(0,o.default)(d);t.default=c,e.exports=t.default,e.exports.default=t.default},55814:function(e,t,n){t.default=void 0;var i=n(58201),o=l(n(73349)),a=l(n(44504)),r=l(n(24311)),s=l(n(39618));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(){var e,t=(0,a.default)(),n=t.add,l=t.remove;if(!(0,i.hasWindow)())return t;var u,d=function(){var e=(0,i.getWindow)();return{width:e.innerWidth,height:e.innerHeight}},c=function(){var n,i=d();i.width===e.width&&i.height===e.height||(i.width===e.width&&(n=\"height\"),i.height===e.height&&(n=\"width\"),e=i,t.fire(n))},h=(0,s.default)((function(){e=d()}));return t.add=function(){var e=n.apply(t,arguments);return h(),r.default.add((function(){!u&&t.has()&&(u=o.default.listen((0,i.getWindow)(),\"resize\",c))})),e},t.remove=function(){var e=l.apply(t,arguments);return!t.has()&&u&&(u(),u=void 0),e},t}();t.default=u,e.exports=t.default,e.exports.default=t.default},49601:function(e,t,n){t.SelectionFilterCreator=void 0;var i=n(20576),o=n(35922);t.SelectionFilterCreator=function(e,t){var n;this.getLocalFilter=function(e,t,n,o){return t=void 0===t?i.equalByValue:t,r.bind(this,t,e,n,o)},this.getExpr=function(n){var i;if(n)return e.forEach((function(e,a){var r;i=i||[],a>0&&i.push(t?\"and\":\"or\"),r=(0,o.isString)(n)?s(n,e):function(e,n){for(var i=[],o=0,a=e.length;o<a;o++){var r=e[o],l=n&&n[r],u=s(r,l);if(!u)break;o>0&&i.push(t?\"or\":\"and\"),i.push(u)}return i}(n,e),i.push(r)})),i&&1===i.length&&(i=i[0]),i},this.getCombinedFilter=function(e,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.getExpr(e),a=o;return(i||t)&&n&&(o?((a=[]).push(o),a.push(n)):a=n),a};var a=function(e,t,n){return Array.isArray(n)?e.map((function(e){return t(e)})):e};function r(r,s,l,u,d){var c,h,f=s(d);if(!l&&(c=(0,i.getKeyHash)(f),!(0,o.isObject)(c)))return function(t,o){if(!n){n={};for(var r=a(e,t,o),s=0;s<r.length;s++)n[(0,i.getKeyHash)(r[s])]=!0}return n}(s,u)[c]?!t:!!t;for(h=0;h<e.length;h++)if(r(e[h],f))return!t;return!!t}function s(e,n){if(void 0!==n)return[e,t?\"<>\":\"=\",n]}}},90330:function(e,t){t.addShadowDomStyles=function(e){var t,a=e.get(0),r=null===(t=a.getRootNode)||void 0===t?void 0:t.call(a);if(null==r||!r.host)return;n||o(n=i(r),a.ownerDocument.styleSheets,!1);var s=i(r);o(s,r.styleSheets,!0),r.adoptedStyleSheets=[n,s]},t.getShadowElementsFromPoint=function(e,t,n){var i=(o=0,a=[],Object.defineProperties({push:function(e){return a.push(e),this},shift:function(){return o++,a[o-1]}},{length:{get:function(){return a.length-o},configurable:!0,enumerable:!0},items:{get:function(){return a},configurable:!0,enumerable:!0}})).push(n);var o,a;for(;i.length;)for(var s=i.shift(),l=0;l<s.childNodes.length;l++){var u=s.childNodes[l];u.nodeType===Node.ELEMENT_NODE&&r(u,e,t)&&\"none\"!==getComputedStyle(u).pointerEvents&&i.push(u)}var d=i.items.reverse();return d.pop(),d};var n=null;function i(e){try{return new CSSStyleSheet}catch(n){var t=e.ownerDocument.createElement(\"style\");return e.appendChild(t),t.sheet}}function o(e,t,n){for(var i=0;i<t.length;i++){var o=t[i];try{for(var r=0;r<o.cssRules.length;r++)a(e,o.cssRules[r],n)}catch(e){}}}function a(e,t,n){var i,o,a,r,s,l;(n||(null===(i=t.selectorText)||void 0===i?void 0:i.includes(\"dx-\"))||(null===(o=t.cssRules)||void 0===o||null===(a=o[0])||void 0===a||null===(r=a.selectorText)||void 0===r?void 0:r.includes(\"dx-\"))||(null===(s=t.name)||void 0===s?void 0:s.startsWith(\"dx-\"))||\"DXIcons\"===(null===(l=t.style)||void 0===l?void 0:l.fontFamily))&&e.insertRule(t.cssText,e.cssRules.length)}function r(e,t,n){var i=e.getBoundingClientRect();return i&&t>=i.left&&t<i.right&&n>=i.top&&n<i.bottom}},58664:function(e,t,n){t.setWidth=t.setOuterWidth=t.setOuterHeight=t.setInnerWidth=t.setInnerHeight=t.setHeight=t.parseHeight=t.implementationsMap=t.getWindowByElement=t.getWidth=t.getVisibleHeight=t.getVerticalOffsets=t.getSize=t.getOuterWidth=t.getOuterHeight=t.getOffset=t.getInnerWidth=t.getInnerHeight=t.getHeight=t.getElementBoxParams=t.addOffsetToMinHeight=t.addOffsetToMaxHeight=void 0;var i,o=n(58201),a=(i=n(73349))&&i.__esModule?i:{default:i},r=n(35922);var s=(0,o.getWindow)(),l=[\"auto\",\"none\",\"inherit\",\"initial\"],u=function(e,t){var n=0;return t.forEach((function(t){n+=parseFloat(e[t])||0})),n},d=function(e,t){var n=\"width\"===e?\"Left\":\"Top\",i=\"width\"===e?\"Right\":\"Bottom\";return{padding:u(t,[\"padding\"+n,\"padding\"+i]),border:u(t,[\"border\"+n+\"Width\",\"border\"+i+\"Width\"]),margin:u(t,[\"margin\"+n,\"margin\"+i])}};t.getElementBoxParams=d;var c=function(e){var t,n=(null==e||null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||s;return n.getComputedStyle&&n.getComputedStyle(e)},h=function(e,t,n,i){var o;return(null==t?void 0:t[n])||(null===(o=e.style)||void 0===o?void 0:o[n])||i},f={content:0,padding:1,border:2,margin:3,\"content-box\":0,\"border-box\":2},p={width:[\"left\",\"right\"],height:[\"top\",\"bottom\"]};function g(e,t,n,i){var o=function(e,t,n){return parseFloat(h(e,t,n,\"0\"))||0},a=\"border\"===n?\"-width\":\"\";return o(e,i,\"\".concat(n,\"-\").concat(p[t][0]).concat(a))+o(e,i,\"\".concat(n,\"-\").concat(p[t][1]).concat(a))}var m=function(e,t,n){var i=\"width\"===t?\"offsetWidth\":\"offsetHeight\",o=c(e),a=h(e,o,t);\"\"!==a&&\"auto\"!==a||(a=e[i]),a=parseFloat(a)||0;var r=h(e,o,\"boxSizing\",\"content-box\"),s=f[n||r],l=f[r];if(void 0===s||void 0===l)throw new Error;if(l===s)return a;var u=Math.sign(s-l),d=!1,p=!1,m=!1,_=!1;1===u&&(s+=1,l+=1);for(var v=l;v!==s;v+=u)switch(v){case f.content:break;case f.padding:d=u*g(e,t,\"padding\",o);break;case f.border:p=u*g(e,t,\"border\",o);break;case f.margin:m=u*g(e,t,\"margin\",o)}if(d||p){var y=(!1===d?u*g(e,t,\"padding\",o):d)+(!1===p?u*g(e,t,\"border\",o):p);_=u*Math.max(0,Math.floor(e[i]-a-u*y))||0}return a+m+d+p+_};t.getSize=m;var _=function(e,t,n){return e.indexOf(\"px\")>0?e=parseInt(e.replace(\"px\",\"\")):e.indexOf(\"%\")>0?e=parseInt(e.replace(\"%\",\"\"))*function(e){return(0,r.isWindow)(e)?e.innerHeight:e.offsetHeight}(t)/100:isNaN(e)?e.indexOf(\"vh\")>0?e=s.innerHeight/100*parseInt(e.replace(\"vh\",\"\")):n&&e.indexOf(\"em\")>0&&(e=parseFloat(e.replace(\"em\",\"\"))*parseFloat(s.getComputedStyle(n).fontSize)):e=parseInt(e),e};t.parseHeight=_;var v=function(e,t,n){return e?l.indexOf(e)>-1?t?null:e:((0,r.isString)(e)&&(e=_(e,n)),(0,r.isNumeric)(e)?Math.max(0,e+t):\"calc(\"+e+(t<0?\" - \":\" \")+Math.abs(t)+\"px)\"):null};t.addOffsetToMaxHeight=function(e,t,n){var i=v(e,t,n);return null!==i?i:\"none\"};t.addOffsetToMinHeight=function(e,t,n){var i=v(e,t,n);return null!==i?i:0};t.getVerticalOffsets=function(e,t){if(!e)return 0;var n=d(\"height\",s.getComputedStyle(e));return n.padding+n.border+(t?n.margin:0)};t.getVisibleHeight=function(e){if(e){var t=e.getBoundingClientRect();if(t.height)return t.height}return 0};var y={getWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"width\"].concat(t))},setWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"width\"].concat(t))},getHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"height\"].concat(t))},setHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"height\"].concat(t))},getOuterWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"outerWidth\"].concat(t))},setOuterWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"outerWidth\"].concat(t))},getOuterHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"outerHeight\"].concat(t))},setOuterHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"outerHeight\"].concat(t))},getInnerWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"innerWidth\"].concat(t))},setInnerWidth:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"innerWidth\"].concat(t))},getInnerHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"innerHeight\"].concat(t))},setInnerHeight:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.apply(void 0,[\"innerHeight\"].concat(t))}};function b(e,t,n){return 2===arguments.length?x(t,e):x(t,e,n)}t.implementationsMap=y;t.getWidth=function(e){return y.getWidth(e)};t.setWidth=function(e,t){return y.setWidth(e,t)};t.getHeight=function(e){return y.getHeight(e)};t.setHeight=function(e,t){return y.setHeight(e,t)};t.getOuterWidth=function(e,t){return y.getOuterWidth(e,t||!1)};t.setOuterWidth=function(e,t){return y.setOuterWidth(e,t)};t.getOuterHeight=function(e,t){return y.getOuterHeight(e,t||!1)};t.setOuterHeight=function(e,t){return y.setOuterHeight(e,t)};t.getInnerWidth=function(e){return y.getInnerWidth(e)};t.setInnerWidth=function(e,t){return y.setInnerWidth(e,t)};t.getInnerHeight=function(e){return y.getInnerHeight(e)};t.setInnerHeight=function(e,t){return y.setInnerHeight(e,t)};var x=function e(t,n,i){var o=n.toLowerCase().indexOf(\"width\")>=0?\"Width\":\"Height\",s=o.toLowerCase(),l=0===n.indexOf(\"outer\"),u=0===n.indexOf(\"inner\"),h=2===arguments.length||\"boolean\"==typeof i;if((0,r.isRenderer)(t)){if(t.length>1&&!h){for(var f=0;f<t.length;f++)e(t[f],n,i);return}t=t[0]}if(t){if((0,r.isWindow)(t))return l?t[\"inner\"+o]:a.default.getDocumentElement()[\"client\"+o];if(a.default.isDocument(t)){var p=a.default.getDocumentElement(),g=a.default.getBody();return Math.max(g[\"scroll\"+o],g[\"offset\"+o],p[\"scroll\"+o],p[\"offset\"+o],p[\"client\"+o])}if(h){var _=\"content\";return l&&(_=i?\"margin\":\"border\"),u&&(_=\"padding\"),m(t,s,_)}if((0,r.isNumeric)(i)){var v=c(t),y=d(s,v),b=\"border-box\"===v.boxSizing;i=Number(i),l?i-=b?0:y.border+y.padding:u?i+=b?y.border:-y.padding:b&&(i+=y.border+y.padding)}return i+=(0,r.isNumeric)(i)?\"px\":\"\",a.default.setStyle(t,s,i),null}},w=function(e){return(0,r.isWindow)(e)?e:e.defaultView};t.getWindowByElement=w;t.getOffset=function(e){if(!e.getClientRects().length)return{top:0,left:0};var t=e.getBoundingClientRect(),n=w(e.ownerDocument),i=e.ownerDocument.documentElement;return{top:t.top+n.pageYOffset-i.clientTop,left:t.left+n.pageXOffset-i.clientLeft}}},36613:function(e,t,n){t.sessionStorage=void 0;var i=(0,n(58201).getWindow)();t.sessionStorage=function(){var e;try{e=i.sessionStorage}catch(e){}return e}},68752:function(e,t,n){t.encodeHtml=void 0,t.format=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if((0,i.isFunction)(e))return e.apply(void 0,n);return n.forEach((function(t,n){(0,i.isString)(t)&&(t=t.replace(/\\$/g,\"$$$$\"));var o=new RegExp(\"\\\\{\"+n+\"\\\\}\",\"gm\");e=e.replace(o,t)})),e},t.replaceAll=t.quadToObject=t.isEmpty=void 0;var i=n(35922);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var a,r=(a=[new RegExp(\"&\",\"g\"),new RegExp('\"',\"g\"),new RegExp(\"'\",\"g\"),new RegExp(\"<\",\"g\"),new RegExp(\">\",\"g\")],function(e){return String(e).replace(a[0],\"&amp;\").replace(a[1],\"&quot;\").replace(a[2],\"&#39;\").replace(a[3],\"&lt;\").replace(a[4],\"&gt;\")});t.encodeHtml=r;t.quadToObject=function(e){var t=function(e){switch(o(e)){case\"string\":return e.split(/\\s+/,4);case\"object\":return[e.x||e.h||e.left,e.y||e.v||e.top,e.x||e.h||e.right,e.y||e.v||e.bottom];case\"number\":return[e];default:return e}}(e),n=parseInt(t&&t[0],10),i=parseInt(t&&t[1],10),a=parseInt(t&&t[2],10),r=parseInt(t&&t[3],10);return isFinite(n)||(n=0),isFinite(i)||(i=n),isFinite(a)||(a=n),isFinite(r)||(r=i),{top:i,right:a,bottom:r,left:n}};var s=function(e,t,n){return e.replace(new RegExp(\"(\"+(t+\"\").replace(/([+*?.[^\\]$(){}><|=!:])/g,\"\\\\$1\")+\")\",\"gi\"),n)};t.replaceAll=s;var l,u=(l=/\\s/g,function(e){return!e||!e.replace(l,\"\")});t.isEmpty=u},2146:function(e,t){t.stubComponent=function(e){return function(){function t(){throw new Error(\"Module '\".concat(e,\"' not found\"))}return t.getInstance=function(){},t}()}},80968:function(e,t,n){t.stylePropPrefix=t.styleProp=t.setWidth=t.setStyle=t.setHeight=t.parsePixelValue=t.normalizeStyleProp=void 0;var i=n(78008),o=s(n(39618)),a=n(35922),r=s(n(73349));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e,t)||function(){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 u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var d=[\"\",\"Webkit\",\"Moz\",\"O\",\"Ms\"],c={\"\":\"\",Webkit:\"-webkit-\",Moz:\"-moz-\",O:\"-o-\",ms:\"-ms-\"},h=(0,o.default)((function(){return r.default.createElement(\"dx\").style}));t.styleProp=function(e){if(e in h())return e;var t=e;e=e.charAt(0).toUpperCase()+e.substr(1);for(var n=1;n<d.length;n++){var i=d[n].toLowerCase()+e;if(i in h())return i}return t};t.stylePropPrefix=function(e){return function(e,t){var n;e=(0,i.camelize)(e,!0);for(var o=0,a=d.length;o<a;o++){var r=d[o],s=r+e;if(void 0===(n=t((0,i.camelize)(s),r))&&(n=t(s,r)),void 0!==n)break}return n||\"\"}(e,(function(e,t){if(e in h())return c[t]}))};var f=[\"fillOpacity\",\"columnCount\",\"flexGrow\",\"flexShrink\",\"fontWeight\",\"lineHeight\",\"opacity\",\"zIndex\",\"zoom\"];t.parsePixelValue=function(e){return(0,a.isNumeric)(e)?e:(0,a.isString)(e)?Number(e.replace(\"px\",\"\")):NaN};t.normalizeStyleProp=function(e,t){return(0,a.isNumeric)(t)&&-1===f.indexOf(e)&&(t+=\"px\"),t};var p=function(e,t,n){if(e){n=(0,a.isNumeric)(n)?n+=\"px\":n;for(var i=0;i<e.length;++i)e[i].style[t]=n}};t.setWidth=function(e,t){p(e,\"width\",t)};t.setHeight=function(e,t){p(e,\"height\",t)};t.setStyle=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(n){var i=[].slice.call(e.style);i.forEach((function(t){e.style.removeProperty(t)}))}t.split(\";\").forEach((function(t){var n=t.split(\":\").map((function(e){return e.trim()}));if(2===n.length){var i=l(n,2),o=i[0],a=i[1];e.style[o]=a}}))}},60137:function(e,t,n){t.pointerEvents=t.nativeScrolling=t.inputType=t.animation=void 0,Object.defineProperty(t,\"styleProp\",{enumerable:!0,get:function(){return s.styleProp}}),Object.defineProperty(t,\"stylePropPrefix\",{enumerable:!0,get:function(){return s.stylePropPrefix}}),t.transitionEndEventName=t.transition=t.touchEvents=t.touch=t.supportProp=void 0;var i=l(n(73349)),o=l(n(39618)),a=n(58201),r=l(n(20530)),s=n(80968);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,a.getNavigator)().maxTouchPoints,d={webkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd\",transition:\"transitionend\"},c=function(e){return!!(0,s.styleProp)(e)};t.supportProp=c;t.inputType=function(e){if(\"text\"===e)return!0;var t=i.default.createElement(\"input\");try{return t.setAttribute(\"type\",e),t.value=\"wrongValue\",!t.value}catch(e){return!1}};var h=function(e,t){return(e(\"ontouchstart\")||!!t)&&!e(\"callPhantom\")}(a.hasProperty,u);t.touchEvents=h;var f=(0,a.hasProperty)(\"PointerEvent\");t.pointerEvents=f;var p=h||f&&!!u;t.touch=p;var g=(0,o.default)((function(){return c(\"transition\")}));t.transition=g;var m=(0,o.default)((function(){return d[(0,s.styleProp)(\"transition\")]}));t.transitionEndEventName=m;var _=(0,o.default)((function(){return c(\"animation\")}));t.animation=_;var v,y,b,x=(v=r.default.real(),y=v.platform,b=v.mac,\"ios\"===y||\"android\"===y||b);t.nativeScrolling=x},19155:function(e,t,n){t.HIDDEN_FOR_EXPORT=void 0,t.getSvgElement=function(e){return i.default.isNode(e)?e:(new s.DOMParser).parseFromString(e,\"image/svg+xml\").childNodes[0]},t.getSvgMarkup=function(e,t){return function(e){var t=!0;-1===e.indexOf(\"xmlns:xlink\")&&(e=e.replace(\"<svg\",'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\"'));return(e=e.replace(/xmlns=\"[\\s\\S]*?\"/gi,(function(e){return t?(t=!1,e):\"\"}))).replace(/xmlns:NS1=\"[\\s\\S]*?\"/gi,\"\").replace(/NS1:xmlns:xlink=\"([\\s\\S]*?)\"/gi,'xmlns:xlink=\"$1\"')}((n=function(e,t){var n=i.default.createElement(\"div\"),o=e.cloneNode(!0);return t&&(0,a.default)(o).css(\"backgroundColor\",t),n.appendChild(o),n.innerHTML}(e,t),n.replace(/&quot;/gi,\"&#34;\").replace(/&amp;/gi,\"&#38;\").replace(/&apos;/gi,\"&#39;\").replace(/&lt;/gi,\"&#60;\").replace(/&gt;/gi,\"&#62;\").replace(/&nbsp;/gi,\"&#160;\").replace(/&shy;/gi,\"&#173;\")));var n};var i=r(n(73349)),o=n(58201),a=r(n(68374));function r(e){return e&&e.__esModule?e:{default:e}}var s=(0,o.getWindow)();t.HIDDEN_FOR_EXPORT=\"hidden-for-export\"},69697:function(e,t,n){t.validateTemplateSource=t.templateKey=t.suitableTemplatesByName=t.getNormalizedTemplateArgs=t.findTemplates=t.defaultCreateElement=t.addPublicElementNormalization=t.addOneRenderedCall=t.acquireTemplate=t.acquireIntegrationTemplate=void 0;var i=_(n(80209)),o=_(n(20530)),a=n(6415),r=_(n(17381)),s=_(n(68374)),l=n(91627),u=n(10688),d=n(9545),c=n(81033),h=n(89386),f=n(20576),p=n(3532),g=n(13306),m=n(35922);function _(e){return e&&e.__esModule?e:{default:e}}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}t.findTemplates=function(e,t){var n=(0,s.default)(e).contents().filter(\"[\".concat(\"data-options\",'*=\"').concat(t,'\"]'));return[].slice.call(n).map((function(e){var n=(0,s.default)(e).attr(\"data-options\")||\"\";return{element:e,options:(0,i.default)().optionsParser(n)[t]}})).filter((function(e){return!!e.options}))};t.suitableTemplatesByName=function(e){var t=(0,h.groupBy)(e,(function(e){return e.options.name}));if(t[void 0])throw r.default.Error(\"E0023\");var n={};return Object.keys(t).forEach((function(e){var i,a=null===(i=(0,f.findBestMatches)(o.default.current(),t[e],(function(e){return e.options}))[0])||void 0===i?void 0:i.element;a&&(n[e]=a)})),n};var y=function(e){var t=e.render.bind(e);return(0,g.extend)({},e,{render:function(e){var n=t(e);return e&&e.onRendered&&e.onRendered(),n}})};t.addOneRenderedCall=y;var b=function(e){var t=e.render.bind(e);return(0,g.extend)({},e,{render:function(e){var n=(0,s.default)(e.container);return t(v({},e,{container:(0,a.getPublicElement)(n)}))}})};t.addPublicElementNormalization=b;t.getNormalizedTemplateArgs=function(e){var t=[];return\"model\"in e&&t.push(e.model),\"index\"in e&&t.push(e.index),t.push(e.container),t};t.validateTemplateSource=function(e){return\"string\"==typeof e?(0,p.normalizeTemplateElement)(e):e};t.templateKey=function(e){return(0,m.isRenderer)(e)&&e[0]||e};t.defaultCreateElement=function(e){return new d.Template(e)};var x=function(e,t,n,i){var o=null;return i&&-1!==i.indexOf(e)||!(o=t[e])||o instanceof c.TemplateBase||((0,m.isFunction)(o.render)&&(o=b(o)),n||(o=y(o))),o};t.acquireIntegrationTemplate=x;t.acquireTemplate=function(e,t,n,i,o,a){return null==e?new u.EmptyTemplate:e instanceof l.ChildDefaultTemplate?a[e.name]:e instanceof c.TemplateBase?e:(0,m.isFunction)(e.render)&&!(0,m.isRenderer)(e)?i?e:y(e):e.nodeType||(0,m.isRenderer)(e)?t((0,s.default)(e)):x(e,n,i,o)||a[e]||t(e)}},35922:function(e,t){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.type=t.isWindow=t.isString=t.isRenderer=t.isPromise=t.isPrimitive=t.isPlainObject=t.isObject=t.isNumeric=t.isFunction=t.isExponential=t.isEvent=t.isEmptyObject=t.isDefined=t.isDeferred=t.isDate=t.isBoolean=void 0;var i={\"[object Array]\":\"array\",\"[object Date]\":\"date\",\"[object Object]\":\"object\",\"[object String]\":\"string\"},o=function(e){if(null===e)return\"null\";var t=Object.prototype.toString.call(e);return\"object\"===n(e)?i[t]||\"object\":n(e)};t.type=o;t.isBoolean=function(e){return\"boolean\"==typeof e};t.isExponential=function(e){return r(e)&&-1!==e.toString().indexOf(\"e\")};t.isDate=function(e){return\"date\"===o(e)};t.isDefined=function(e){return null!=e};var a=function(e){return\"function\"==typeof e};t.isFunction=a;t.isString=function(e){return\"string\"==typeof e};var r=function(e){return\"number\"==typeof e&&isFinite(e)||!isNaN(e-parseFloat(e))};t.isNumeric=r;t.isObject=function(e){return\"object\"===o(e)};t.isEmptyObject=function(e){var t;for(t in e)return!1;return!0};t.isPlainObject=function(e){if(!e||\"object\"!==o(e))return!1;var t=Object.getPrototypeOf(e);if(!t)return!0;var n=Object.hasOwnProperty.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&Object.toString.call(n)===Object.toString.call(Object)};t.isPrimitive=function(e){return-1===[\"object\",\"array\",\"function\"].indexOf(o(e))};t.isWindow=function(e){return null!=e&&e===e.window};t.isRenderer=function(e){return!(!e||!e.jquery&&!e.dxRenderer)};t.isPromise=function(e){return!!e&&a(e.then)};t.isDeferred=function(e){return!!e&&a(e.done)&&a(e.fail)};t.isEvent=function(e){return!(!e||!e.preventDefault)}},26974:function(e,t,n){t.default=void 0;var i,o=n(30869);var a=(0,((i=n(20476))&&i.__esModule?i:{default:i}).default)({isWrapped:function(){return!1},isWritableWrapped:function(){return!1},wrap:function(e){return e},unwrap:function(e){return e},assign:function(){o.logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")}});t.default=a,e.exports=t.default,e.exports.default=t.default},58020:function(e,t){t.compare=function(e,t,n){function i(e){return\"string\"==typeof e?e.split(\".\"):\"number\"==typeof e?[e]:e}e=i(e),t=i(t);var o=Math.max(e.length,t.length);isFinite(n)&&(o=Math.min(o,n));for(var a=0;a<o;a++){var r=parseInt(e[a]||0,10),s=parseInt(t[a]||0,10);if(r<s)return-1;if(r>s)return 1}return 0}},77695:function(e,t,n){t.changeCallback=void 0,t.originalViewPort=function(){return d},t.value=void 0;var i=r(n(68374)),o=r(n(24311)),a=r(n(44504));function r(e){return e&&e.__esModule?e:{default:e}}var s=o.default.add,l=(0,a.default)();t.changeCallback=l;var u,d=(0,i.default)(),c=function(e){if(!arguments.length)return u;var t=(0,i.default)(e);d=t;var n=!!t.length,o=c();u=n?t:(0,i.default)(\"body\"),l.fire(n?c():(0,i.default)(),o)};t.value=c,s((function(){c(\".dx-viewport\")}))},58201:function(e,t,n){t.setWindow=t.hasWindow=t.hasProperty=t.getWindow=t.getNavigator=t.getCurrentScreenFactor=t.defaultScreenFactorFunc=void 0;var i,o=(i=n(73349))&&i.__esModule?i:{default:i};var a=\"undefined\"!=typeof window,r=function(){return a};t.hasWindow=r;var s=r()?window:void 0;s||((s={}).window=s);t.getWindow=function(){return s};t.setWindow=function(e,t){a=void 0===t?\"undefined\"!=typeof window&&window===e:t,s=e};t.hasProperty=function(e){return r()&&e in s};var l=function(e){return e<768?\"xs\":e<992?\"sm\":e<1200?\"md\":\"lg\"};t.defaultScreenFactorFunc=l;t.getCurrentScreenFactor=function(e){return(e||l)(o.default.getDocumentElement().clientWidth)};t.getNavigator=function(){return r()?s.navigator:{userAgent:\"\"}}},36739:function(e,t){t.version=void 0;t.version=\"23.1.6\"},67403:function(e,t,n){t.default=void 0;var i=f(n(38377)),o=n(80566),a=n(95479),r=n(18438),s=n(16454),l=n(47617),u=f(n(99236)),d=n(62754),c=n(20576),h=n(35922);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e)||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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _,v=i.default.abstract,y=u.default.queryByOptions,b={},x=i.default.inherit({_langParams:{},ctor:function(e){var t=this;e=e||{},this._eventsStrategy=new o.EventsStrategy(this),(0,a.each)([\"onLoaded\",\"onLoading\",\"onInserted\",\"onInserting\",\"onUpdated\",\"onUpdating\",\"onPush\",\"onRemoved\",\"onRemoving\",\"onModified\",\"onModifying\"],(function(n,i){i in e&&t.on(i.slice(2).toLowerCase(),e[i])})),this._key=e.key,this._errorHandler=e.errorHandler,this._useDefaultSearch=!0},_clearCache:c.noop,_customLoadOptions:function(){return null},key:function(){return this._key},keyOf:function(e){return this._keyGetter||(this._keyGetter=(0,l.compileGetter)(this.key())),this._keyGetter(e)},_requireKey:function(){if(!this.key())throw r.errors.Error(\"E4005\")},load:function(e){var t=this;return e=e||{},this._eventsStrategy.fireEvent(\"loading\",[e]),this._withLock(this._loadImpl(e)).done((function(n){t._eventsStrategy.fireEvent(\"loaded\",[n,e])}))},_loadImpl:function(e){return(0,h.isEmptyObject)(this._langParams)||((e=e||{})._langParams=m({},this._langParams,e._langParams)),y(this.createQuery(e),e).enumerate()},_withLock:function(e){var t=new d.Deferred;return e.done((function(){var e=this,n=arguments;s.processRequestResultLock.promise().done((function(){t.resolveWith(e,n)}))})).fail((function(){t.rejectWith(this,arguments)})),t},createQuery:v,totalCount:function(e){return this._totalCountImpl(e)},_totalCountImpl:function(e){return y(this.createQuery(e),e,!0).count()},byKey:function(e,t){return this._addFailHandlers(this._withLock(this._byKeyImpl(e,t)))},_byKeyImpl:v,insert:function(e){var t=this;return t._eventsStrategy.fireEvent(\"modifying\"),t._eventsStrategy.fireEvent(\"inserting\",[e]),t._addFailHandlers(t._insertImpl(e).done((function(e,n){t._eventsStrategy.fireEvent(\"inserted\",[e,n]),t._eventsStrategy.fireEvent(\"modified\")})))},_insertImpl:v,update:function(e,t){var n=this;return n._eventsStrategy.fireEvent(\"modifying\"),n._eventsStrategy.fireEvent(\"updating\",[e,t]),n._addFailHandlers(n._updateImpl(e,t).done((function(){n._eventsStrategy.fireEvent(\"updated\",[e,t]),n._eventsStrategy.fireEvent(\"modified\")})))},_updateImpl:v,push:function(e){var t=this,n={changes:e,waitFor:[]};this._eventsStrategy.fireEvent(\"beforePushAggregation\",[n]),d.when.apply(void 0,p(n.waitFor)).done((function(){t._pushImpl(e),t._eventsStrategy.fireEvent(\"beforePush\",[{changes:e}]),t._eventsStrategy.fireEvent(\"push\",[e])}))},_pushImpl:c.noop,remove:function(e){var t=this;return t._eventsStrategy.fireEvent(\"modifying\"),t._eventsStrategy.fireEvent(\"removing\",[e]),t._addFailHandlers(t._removeImpl(e).done((function(e){t._eventsStrategy.fireEvent(\"removed\",[e]),t._eventsStrategy.fireEvent(\"modified\")})))},_removeImpl:v,_addFailHandlers:function(e){return e.fail(this._errorHandler).fail(r.handleError)},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this}});x.create=function(e,t){if(!(e in b))throw r.errors.Error(\"E4020\",e);return new b[e](t)},x.registerClass=function(e,t){return t&&(b[t]=e),e},x.inherit=(_=x.inherit,function(e,t){var n=_.apply(this,[e]);return x.registerClass(n,t),n});var w=x;t.default=w,e.exports=t.default,e.exports.default=t.default},36893:function(e,t,n){t.default=void 0;var i=n(60637).applyChanges;t.default=i,e.exports=t.default,e.exports.default=t.default},35042:function(e,t,n){t.default=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i},a=n(35922),r=n(95479),s=n(47617),l=n(62754),u=n(18438),d=n(16454);var c=o.default.inherit({toArray:function(){var e=[];for(this.reset();this.next();)e.push(this.current());return e},countable:function(){return!1}}),h=c.inherit({ctor:function(e){this.array=e,this.index=-1},next:function(){return this.index+1<this.array.length&&(this.index++,!0)},current:function(){return this.array[this.index]},reset:function(){this.index=-1},toArray:function(){return this.array.slice(0)},countable:function(){return!0},count:function(){return this.array.length}}),f=c.inherit({ctor:function(e){this.iter=e},next:function(){return this.iter.next()},current:function(){return this.iter.current()},reset:function(){return this.iter.reset()}}),p=f.inherit({ctor:function(e,t){this.callBase(e),this.index=-1,this.mapper=t},current:function(){return this.mapper(this.callBase(),this.index)},next:function(){var e=this.callBase();return e&&this.index++,e}}),g=c.inherit({ctor:function(e,t,n,i){this.langParams=e.langParams,e instanceof p||((e=new p(e,this._wrap)).langParams=this.langParams),this.iter=e,this.rules=[{getter:t,desc:n,compare:i,langParams:this.langParams}]},thenBy:function(e,t,n){var i=new g(this.sortedIter||this.iter,e,t,n);return this.sortedIter||(i.rules=this.rules.concat(i.rules)),i},next:function(){return this._ensureSorted(),this.sortedIter.next()},current:function(){return this._ensureSorted(),this.sortedIter.current()},reset:function(){delete this.sortedIter},countable:function(){return this.sortedIter||this.iter.countable()},count:function(){return this.sortedIter?this.sortedIter.count():this.iter.count()},_ensureSorted:function(){var e=this;e.sortedIter||((0,r.each)(e.rules,(function(){this.getter=(0,s.compileGetter)(this.getter)})),e.sortedIter=new p(new h(this.iter.toArray().sort((function(t,n){return e._compare(t,n)}))),e._unwrap))},_wrap:function(e,t){return{index:t,value:e}},_unwrap:function(e){return e.value},_getDefaultCompare:function(e){return function(t,n){return function(e,t,n){return(0,a.isString)(e)&&(0,a.isString)(t)&&(null!=n&&n.locale||null!=n&&n.collatorOptions)?new Intl.Collator((null==n?void 0:n.locale)||void 0,(null==n?void 0:n.collatorOptions)||void 0).compare(e,t):(e=(0,s.toComparable)(e,!1,n),t=(0,s.toComparable)(t,!1,n),null===e&&null!==t?-1:null!==e&&null===t||void 0===e&&void 0!==t?1:void 0!==e&&void 0===t||e<t?-1:e>t?1:0)}(t,n,e)}},_compare:function(e,t){var n=e.index,i=t.index;if((e=e.value)===(t=t.value))return n-i;for(var o=0,a=this.rules.length;o<a;o++){var r=this.rules[o],s=r.getter(e),l=r.getter(t),u=(r.compare||this._getDefaultCompare(r.langParams))(s,l);if(u)return r.desc?-u:u}return n-i}}),m=function(){var e={},t=function(t){return(0,s.toComparable)(t,!1,e)},n=function(t){var n;return(0,a.isDefined)(t)?null!==(n=e)&&void 0!==n&&n.locale?t.toLocaleString(e.locale):t.toString():\"\"};function i(e,n,i){return function(o){o=t(e(o));var a=function(e){return\"\"===e||0===e||!1===e}(n)?o===n:o==n;return i&&(a=!a),a}}return function(o,l){return e=l||{},(0,a.isFunction)(o)?o:(0,d.isGroupCriterion)(o)?function(t){var n=[],i=!1,o=!1;return(0,r.each)(t,(function(){if(Array.isArray(this)||(0,a.isFunction)(this)){if(n.length>1&&i!==o)throw new u.errors.Error(\"E4019\");n.push(m(this,e)),i=o,o=!0}else o=(0,d.isConjunctiveOperator)(this)})),function(e){for(var t=i,o=0;o<n.length;o++)if(n[o](e)!==i){t=!i;break}return t}}(o):(0,d.isUnaryOperation)(o)?function(t){var n=t[0],i=m(t[1],e);if(\"!\"===n)return function(e){return!i(e)};throw u.errors.Error(\"E4003\",n)}(o):function(e){e=(0,d.normalizeBinaryCriterion)(e);var o=(0,s.compileGetter)(e[0]),a=e[1],r=e[2];r=t(r);var l=function(e,n){return e=t(o(e)),(null!=r&&null!=e||r===e)&&n(e,r)};switch(a.toLowerCase()){case\"=\":return i(o,r);case\"<>\":return i(o,r,!0);case\">\":return function(e){return l(e,(function(e,t){return e>t}))};case\"<\":return function(e){return l(e,(function(e,t){return e<t}))};case\">=\":return function(e){return l(e,(function(e,t){return e>=t}))};case\"<=\":return function(e){return l(e,(function(e,t){return e<=t}))};case\"startswith\":return function(e){return 0===t(n(o(e))).indexOf(r)};case\"endswith\":return function(e){var i=t(n(o(e))),a=n(r);if(i.length<a.length)return!1;var s=i.lastIndexOf(r);return-1!==s&&s===i.length-r.length};case\"contains\":return function(e){return t(n(o(e))).indexOf(r)>-1};case\"notcontains\":return function(e){return-1===t(n(o(e))).indexOf(r)}}throw u.errors.Error(\"E4003\",a)}(o)}}(),_=f.inherit({ctor:function(e,t){this.callBase(e),this.langParams=e.langParams,this.criteria=m(t,this.langParams)},next:function(){for(;this.iter.next();)if(this.criteria(this.current()))return!0;return!1}}),v=c.inherit({ctor:function(e,t){this.iter=e,this.getter=t},next:function(){return this._ensureGrouped(),this.groupedIter.next()},current:function(){return this._ensureGrouped(),this.groupedIter.current()},reset:function(){delete this.groupedIter},countable:function(){return!!this.groupedIter},count:function(){return this.groupedIter.count()},_ensureGrouped:function(){if(!this.groupedIter){var e={},t=[],n=this.iter,i=(0,s.compileGetter)(this.getter);for(n.reset();n.next();){var o=n.current(),a=i(o);a in e?e[a].push(o):(e[a]=[o],t.push(a))}this.groupedIter=new h((0,r.map)(t,(function(t){return{key:t,items:e[t]}})))}}}),y=f.inherit({ctor:function(e,t){this.callBase(e),this.getter=(0,s.compileGetter)(t)},current:function(){return this.getter(this.callBase())},countable:function(){return this.iter.countable()},count:function(){return this.iter.count()}}),b=f.inherit({ctor:function(e,t,n){this.callBase(e),this.skip=Math.max(0,t),this.take=Math.max(0,n),this.pos=0},next:function(){if(this.pos>=this.skip+this.take)return!1;for(;this.pos<this.skip&&this.iter.next();)this.pos++;return this.pos++,this.iter.next()},reset:function(){this.callBase(),this.pos=0},countable:function(){return this.iter.countable()},count:function(){return Math.min(this.iter.count()-this.skip,this.take)}}),x=function e(t,n){n=n||{},t instanceof c||(t=new h(t)),n.langParams&&(t.langParams=n.langParams);var i=function(e){var t=n.errorHandler;t&&t(e),(0,u.handleError)(e)},o=function(e){var n=(new l.Deferred).fail(i),o=e.step,a=e.finalize;try{t.reset();for(var r=(\"seed\"in e?e.seed:t.next()?t.current():NaN);t.next();)r=o(r,t.current());n.resolve(a?a(r):r)}catch(e){n.reject(e)}return n.promise()},r=function(e){return o(d.aggregators[e])},f=function(e){return(0,a.isFunction)(e)||Array.isArray(e)||(e=[].slice.call(arguments)),m(new y(t,e))},p=function(e){return f((0,s.compileGetter)(e))};function m(t){return e(t,n)}return{toArray:function(){return t.toArray()},enumerate:function(){var e=(new l.Deferred).fail(i);try{e.resolve(t.toArray())}catch(t){e.reject(t)}return e.promise()},setLangParams:function(e){t.langParams=e},sortBy:function(e,n,i){return m(new g(t,e,n,i))},thenBy:function(e,n,i){if(t instanceof g)return m(t.thenBy(e,n,i));throw u.errors.Error(\"E4004\")},filter:function(e){return Array.isArray(e)||(e=[].slice.call(arguments)),m(new _(t,e))},slice:function(e,n){return void 0===n&&(n=Number.MAX_VALUE),m(new b(t,e,n))},select:f,groupBy:function(e){return m(new v(t,e))},aggregate:function(e,t,n){return o(arguments.length<2?{step:arguments[0]}:{seed:e,step:t,finalize:n})},count:function(){if(t.countable()){var e=(new l.Deferred).fail(i);try{e.resolve(t.count())}catch(t){e.reject(t)}return e.promise()}return r(\"count\")},sum:function(e){return e?p(e).sum():r(\"sum\")},min:function(e){return e?p(e).min():r(\"min\")},max:function(e){return e?p(e).max():r(\"max\")},avg:function(e){return e?p(e).avg():r(\"avg\")}}};t.default=x,e.exports=t.default,e.exports.default=t.default},26562:function(e,t,n){t.default=void 0;var i=n(16454),o=l(n(96687)),a=n(18438),r=l(n(67403)),s=n(60637);function l(e){return e&&e.__esModule?e:{default:e}}var u=r.default.inherit({ctor:function(e){e=Array.isArray(e)?{data:e}:e||{},this.callBase(e);var t=e.data;if(t&&!Array.isArray(t))throw a.errors.Error(\"E4006\");this._array=t||[]},createQuery:function(){return(0,o.default)(this._array,{errorHandler:this._errorHandler})},_byKeyImpl:function(e){var t=(0,s.indexByKey)(this,this._array,e);return-1===t?(0,i.rejectedPromise)(a.errors.Error(\"E4009\")):(0,i.trivialPromise)(this._array[t])},_insertImpl:function(e){return(0,s.insert)(this,this._array,e)},_pushImpl:function(e){(0,s.applyBatch)({keyInfo:this,data:this._array,changes:e})},_updateImpl:function(e,t){return(0,s.update)(this,this._array,e,t)},_removeImpl:function(e){return(0,s.remove)(this,this._array,e)},clear:function(){this._eventsStrategy.fireEvent(\"modifying\"),this._array=[],this._eventsStrategy.fireEvent(\"modified\")}},\"array\");t.default=u,e.exports=t.default,e.exports.default=t.default},60637:function(e,t,n){t.applyBatch=y,t.applyChanges=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.keyExpr,o=void 0===i?\"id\":i,a=n.immutable,r=void 0===a||a,s=(0,u.compileGetter)(o),l={key:function(){return o},keyOf:function(e){return s(e)}};return y({keyInfo:l,data:e,changes:t,immutable:r,disableCache:!0,logError:!0})},t.createObjectWithChanges=v,t.indexByKey=S,t.insert=w,t.remove=C,t.update=x;var i=n(35922),o=c(n(80209)),a=c(n(73176)),r=n(13306),s=n(18438),l=n(48013),u=n(47617),d=n(16454);function c(e){return e&&e.__esModule?e:{default:e}}function h(e){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function f(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e)||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 p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t,n,i){return i?function e(t,n,i,o){var a;if(o){for(var r=0;r<n.length;r++)if(a=e(t,n[r].items||n[r].collapsedItems||[]||[],i,o-1))return a}else if(S(t,n,i)>=0)return n}(e,t,n,i)||[]:t}function _(e,t,n){e._dataByKeyMap&&(e._dataByKeyMap[JSON.stringify(t)]=n,e._dataByKeyMapLength+=n?1:-1)}function v(e,t){var n=function e(t,n,o){o=o||new WeakMap;var a=t?Object.create(Object.getPrototypeOf(t)):{};t&&o.set(t,a);var r=g({},t);for(var s in(0,l.deepExtendArraySafe)(a,r,!0,!0),r){var u=r[s],d=null==n?void 0:n[s];(0,i.isObject)(u)&&!(0,i.isPlainObject)(u)&&(0,i.isObject)(d)&&!o.has(u)&&(a[s]=e(u,d,o))}for(var c in a){var h=a[c];(0,i.isObject)(h)&&o.has(h)&&(a[c]=o.get(h))}return a}(e,t);return(0,l.deepExtendArraySafe)(n,t,!0,!0)}function y(e){var t=e.keyInfo,n=e.data,o=e.changes,a=e.groupCount,r=e.useInsertIndex,s=e.immutable,l=e.disableCache,u=e.logError,d=e.skipCopying,c=!0===s?f(n):n;return o.forEach((function(e){var n=\"insert\"===e.type?c:m(t,c,e.key,a);switch(!l&&function(e,t){if(e.key()&&(!t._dataByKeyMap||t._dataByKeyMapLength!==t.length)){for(var n={},i=t.length,o=0;o<i;o++)n[JSON.stringify(e.keyOf(t[o]))]=t[o];t._dataByKeyMap=n,t._dataByKeyMapLength=i}}(t,n),e.type){case\"update\":x(t,n,e.key,e.data,!0,s,u);break;case\"insert\":w(t,n,e.data,r&&(0,i.isDefined)(e.index)?e.index:-1,!0,u,d);break;case\"remove\":C(t,n,e.key,!0,u)}})),c}function b(e,t,n){return e?t&&s.errors.log(n):(0,d.rejectedPromise)(s.errors.Error(n))}function x(e,t,n,a,r,s,u){var c,h=e.key();if(h){if(function(e,t){for(var n=\"string\"==typeof t?t.split():t.slice();n.length;)if(n.shift()in e)return!0;return!1}(a,h)&&!(0,d.keysEqual)(h,n,e.keyOf(a)))return b(r,u,\"E4017\");if(!(c=function(e,t){if(e._dataByKeyMap)return e._dataByKeyMap[JSON.stringify(t)]}(t,n))){var f=S(e,t,n);if(f<0)return b(r,u,\"E4009\");if(c=t[f],!0===s&&(0,i.isDefined)(c)){var p=v(c,a);return t[f]=p,!r&&(0,d.trivialPromise)(p,n)}}}else c=n;if((0,l.deepExtendArraySafe)(c,a,!0),!r)return(0,o.default)().useLegacyStoreResult?(0,d.trivialPromise)(n,a):(0,d.trivialPromise)(c,n)}function w(e,t,n,l,u,c,f){var p,g=e.key(),m=(0,i.isPlainObject)(n)&&!f?(0,r.extend)({},n):n;if(g){if(void 0===(p=e.keyOf(m))||\"object\"===h(p)&&(0,i.isEmptyObject)(p)){if(Array.isArray(g))throw s.errors.Error(\"E4007\");p=m[g]=String(new a.default)}else if(void 0!==t[S(e,t,p)])return b(u,c,\"E4008\")}else p=m;if(l>=0?t.splice(l,0,m):t.push(m),_(t,p,m),!u)return(0,d.trivialPromise)((0,o.default)().useLegacyStoreResult?n:m,p)}function C(e,t,n,i,o){var a=S(e,t,n);return a>-1&&(t.splice(a,1),_(t,n,null)),i?a<0?b(i,o,\"E4009\"):void 0:(0,d.trivialPromise)(n)}function S(e,t,n){var i=e.key();if(!function(e,t){return!e._dataByKeyMap||e._dataByKeyMap[JSON.stringify(t)]}(t,n))return-1;for(var o=0,a=t.length;o<a;o++)if((0,d.keysEqual)(i,e.keyOf(t[o]),n))return o;return-1}},88036:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=n(16454),a=n(60637),r=n(35922),s=f(n(80209)),l=n(18438),u=f(n(67403)),d=f(n(35042)),c=f(n(99236)),h=n(62754);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return e&&(0,r.isFunction)(e.then)}function g(e){return(new h.Deferred).resolve(e).promise()}function m(e,t){if(!(0,r.isFunction)(t))throw l.errors.Error(\"E4011\",e)}function _(e){throw l.errors.Error(\"E4012\",e)}function v(e){function t(e){var t=e[0],n=e[1];return t&&t.getResponseHeader?(0,o.errorMessageFromXhr)(t,n):null}return function(n){var i;(i=n instanceof Error?n:new Error(t(arguments)||n&&String(n)||\"Unknown error\")).message!==o.XHR_ERROR_UNLOAD&&e.reject(i)}}function y(e,t){var n,i=e._loadFunc;return m(\"load\",i),n=i.apply(e,[t]),Array.isArray(n)?n=g(n):null==n?n=g([]):p(n)||_(\"load\"),(0,h.fromPromise)(n)}function b(e,t,n,i){if(t.__rawData)i(t.__rawData);else{var o=t.__rawDataPromise||y(t,n);t._cacheRawData&&(t.__rawDataPromise=o),o.always((function(){delete t.__rawDataPromise})).done((function(e){t._cacheRawData&&(t.__rawData=e),i(e)})).fail(v(e))}}function x(e,t,n,o){var a={};\"userData\"in(n=n||{})&&(a.userData=n.userData),b(e,t,a,(function(a){var r,s,l,u,f=(0,d.default)(a,{errorHandler:t._errorHandler}),p=[];o||((r=c.default.queryByOptions(f,n))===f?l=a.slice(0):p.push(r.enumerate().done((function(e){l=e})))),(n.requireTotalCount||o)&&((s=c.default.queryByOptions(f,n,!0))===f?u=a.length:p.push(s.count().done((function(e){u=e})))),h.when.apply(i.default,p).done((function(){o?e.resolve(u):n.requireTotalCount?e.resolve(l,{totalCount:u}):e.resolve(l)})).fail((function(t){e.reject(t)}))}))}var w=u.default.inherit({ctor:function(e){e=e||{},this.callBase(e),this._useDefaultSearch=!!e.useDefaultSearch||\"raw\"===e.loadMode,this._loadMode=e.loadMode,this._cacheRawData=!1!==e.cacheRawData,this._loadFunc=e.load,this._totalCountFunc=e.totalCount,this._byKeyFunc=e.byKey,this._insertFunc=e.insert,this._updateFunc=e.update,this._removeFunc=e.remove},_clearCache:function(){delete this.__rawData},createQuery:function(){throw l.errors.Error(\"E4010\")},clearRawDataCache:function(){this._clearCache()},_totalCountImpl:function(e){var t=new h.Deferred;return\"raw\"!==this._loadMode||this._totalCountFunc?(function(e,t){var n,i=e._totalCountFunc;if(!(0,r.isFunction)(i))throw l.errors.Error(\"E4021\");return p(n=i.apply(e,[t]))||(n=Number(n),isFinite(n)||_(\"totalCount\"),n=g(n)),(0,h.fromPromise)(n)}(this,e).done((function(e){t.resolve(Number(e))})).fail(v(t)),t=this._addFailHandlers(t)):x(t,this,e,!0),t.promise()},_pushImpl:function(e){this.__rawData&&(0,a.applyBatch)({keyInfo:this,data:this.__rawData,changes:e})},_loadImpl:function(e){var t=new h.Deferred;return\"raw\"===this._loadMode?x(t,this,e,!1):(y(this,e).done((function(e,n){t.resolve(e,n)})).fail(v(t)),t=this._addFailHandlers(t)),t.promise()},_byKeyImpl:function(e,t){var n=new h.Deferred;return this._byKeyViaLoad()?(this._requireKey(),function(e,t,n){b(e,t,{},(function(i){for(var a,r=t.key(),s=0,u=i.length;s<u;s++)if(a=i[s],(0,o.keysEqual)(r,t.keyOf(i[s]),n))return void e.resolve(a);e.reject(l.errors.Error(\"E4009\"))}))}(n,this,e)):function(e,t,n){var i,o=e._byKeyFunc;return m(\"byKey\",o),p(i=o.apply(e,[t,n]))||(i=g(i)),(0,h.fromPromise)(i)}(this,e,t).done((function(e){n.resolve(e)})).fail(v(n)),n.promise()},_byKeyViaLoad:function(){return\"raw\"===this._loadMode&&!this._byKeyFunc},_insertImpl:function(e){var t,n=this,i=n._insertFunc,o=new h.Deferred;return m(\"insert\",i),p(t=i.apply(n,[e]))||(t=g(t)),(0,h.fromPromise)(t).done((function(t){(0,s.default)().useLegacyStoreResult?o.resolve(e,t):o.resolve(t||e,n.keyOf(t))})).fail(v(o)),o.promise()},_updateImpl:function(e,t){var n,i=this._updateFunc,o=new h.Deferred;return m(\"update\",i),p(n=i.apply(this,[e,t]))||(n=g(n)),(0,h.fromPromise)(n).done((function(n){(0,s.default)().useLegacyStoreResult?o.resolve(e,t):o.resolve(n||t,e)})).fail(v(o)),o.promise()},_removeImpl:function(e){var t,n=this._removeFunc,i=new h.Deferred;return m(\"remove\",n),p(t=n.apply(this,[e]))||(t=g()),(0,h.fromPromise)(t).done((function(){i.resolve(e)})).fail(v(i)),i.promise()}});t.default=w,e.exports=t.default,e.exports.default=t.default},33546:function(e,t,n){t.default=void 0;var i=n(85273).DataSource;t.default=i,e.exports=t.default,e.exports.default=t.default},85273:function(e,t,n){t.DataSource=void 0;var i=_(n(38377)),o=n(13306),a=n(20576),r=n(95479),s=n(35922),l=n(16454),u=n(60637),d=_(n(88036)),c=n(80566),h=n(18438),f=n(59504),p=n(62754),g=_(n(88665)),m=n(9234);function _(e){return e&&e.__esModule?e:{default:e}}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function y(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}(e)||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 b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var x=i.default.inherit({ctor:function(e){var t,n=this;if(e=(0,m.normalizeDataSourceOptions)(e),this._eventsStrategy=new c.EventsStrategy(this,{syncStrategy:!0}),this._store=e.store,this._changedTime=0,0!==e.pushAggregationTimeout){var i,o,a=void 0===e.pushAggregationTimeout?function(){return 5*n._changedTime}:e.pushAggregationTimeout,s=(0,l.throttleChanges)((function(e){i.resolve(),p.when.apply(void 0,y(o)).done((function(){return n._onPush(e)})),o=void 0,i=void 0}),a);this._onPushHandler=function(e){n._aggregationTimeoutId=s(e.changes),i||(i=new p.Deferred),o=e.waitFor,e.waitFor.push(i.promise())},this._store.on(\"beforePushAggregation\",this._onPushHandler)}else this._onPushHandler=function(e){return n._onPush(e)},this._store.on(\"push\",this._onPushHandler);this._storeLoadOptions=this._extractLoadOptions(e),this._mapFunc=e.map,this._postProcessFunc=e.postProcess,this._pageIndex=void 0!==e.pageIndex?e.pageIndex:0,this._pageSize=void 0!==e.pageSize?e.pageSize:20,this._loadingCount=0,this._loadQueue=this._createLoadQueue(),this._searchValue=\"searchValue\"in e?e.searchValue:null,this._searchOperation=e.searchOperation||\"contains\",this._searchExpr=e.searchExpr,this._paginate=e.paginate,this._reshapeOnPush=null!==(t=e.reshapeOnPush)&&void 0!==t&&t,(0,r.each)([\"onChanged\",\"onLoadError\",\"onLoadingChanged\",\"onCustomizeLoadResult\",\"onCustomizeStoreLoadOptions\"],(function(t,i){i in e&&n.on(i.substr(2,1).toLowerCase()+i.substr(3),e[i])})),this._operationManager=new g.default,this._init()},_init:function(){this._items=[],this._userData={},this._totalCount=-1,this._isLoaded=!1,(0,s.isDefined)(this._paginate)||(this._paginate=!this.group()),this._isLastPage=!this._paginate},dispose:function(){var e;this._store.off(\"beforePushAggregation\",this._onPushHandler),this._store.off(\"push\",this._onPushHandler),this._eventsStrategy.dispose(),clearTimeout(this._aggregationTimeoutId),null===(e=this._delayedLoadTask)||void 0===e||e.abort(),this._operationManager.cancelAll(),delete this._store,delete this._items,delete this._delayedLoadTask,this._disposed=!0},_extractLoadOptions:function(e){var t={},n=[\"sort\",\"filter\",\"langParams\",\"select\",\"group\",\"requireTotalCount\"],i=this._store._customLoadOptions();return i&&(n=n.concat(i)),(0,r.each)(n,(function(){t[this]=e[this]})),t},loadOptions:function(){return this._storeLoadOptions},items:function(){return this._items},pageIndex:function(e){if(!(0,s.isNumeric)(e))return this._pageIndex;this._pageIndex=e,this._isLastPage=!this._paginate},paginate:function(e){if(!(0,s.isBoolean)(e))return this._paginate;this._paginate!==e&&(this._paginate=e,this.pageIndex(0))},pageSize:function(e){if(!(0,s.isNumeric)(e))return this._pageSize;this._pageSize=e},isLastPage:function(){return this._isLastPage},generateStoreLoadOptionAccessor:function(e){var t=this;return function(n){var i=(0,m.normalizeStoreLoadOptionAccessorArguments)(n);if(void 0===i)return t._storeLoadOptions[e];t._storeLoadOptions[e]=i}},sort:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.generateStoreLoadOptionAccessor(\"sort\")(t)},filter:function(){var e=(0,m.normalizeStoreLoadOptionAccessorArguments)(arguments);if(void 0===e)return this._storeLoadOptions.filter;this._storeLoadOptions.filter=e,this.pageIndex(0)},group:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.generateStoreLoadOptionAccessor(\"group\")(t)},select:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.generateStoreLoadOptionAccessor(\"select\")(t)},requireTotalCount:function(e){if(!(0,s.isBoolean)(e))return this._storeLoadOptions.requireTotalCount;this._storeLoadOptions.requireTotalCount=e},searchValue:function(e){if(arguments.length<1)return this._searchValue;this._searchValue=e,this.pageIndex(0)},searchOperation:function(e){if(!(0,s.isString)(e))return this._searchOperation;this._searchOperation=e,this.pageIndex(0)},searchExpr:function(e){var t=arguments.length;if(0===t)return this._searchExpr;t>1&&(e=[].slice.call(arguments)),this._searchExpr=e,this.pageIndex(0)},store:function(){return this._store},key:function(){var e;return null===(e=this._store)||void 0===e?void 0:e.key()},totalCount:function(){return this._totalCount},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._loadingCount>0},beginLoading:function(){this._changeLoadingCount(1)},endLoading:function(){this._changeLoadingCount(-1)},_createLoadQueue:function(){return(0,f.create)()},_changeLoadingCount:function(e){var t=this.isLoading();this._loadingCount+=e;var n=this.isLoading();t^n&&this._eventsStrategy.fireEvent(\"loadingChanged\",[n])},_scheduleLoadCallbacks:function(e){var t=this;this.beginLoading(),e.always((function(){t.endLoading()}))},_scheduleFailCallbacks:function(e){var t=this;e.fail((function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];n[0]!==m.CANCELED_TOKEN&&t._eventsStrategy.fireEvent(\"loadError\",n)}))},_fireChanged:function(e){var t=new Date;this._eventsStrategy.fireEvent(\"changed\",e),this._changedTime=new Date-t},_scheduleChangedCallbacks:function(e){var t=this;e.done((function(){return t._fireChanged()}))},loadSingle:function(e,t){var n=this,i=new p.Deferred,o=this.key(),a=this._store,r=this._createStoreLoadOptions(),l=function(e){var t=Array.isArray(e)&&!e.length;!(0,s.isDefined)(e)||t?i.reject(new h.errors.Error(\"E4009\")):(Array.isArray(e)||(e=[e]),i.resolve(n._applyMapFunction(e)[0]))};this._scheduleFailCallbacks(i),arguments.length<2&&(t=e,e=o),delete r.skip,delete r.group,delete r.refresh,delete r.pageIndex,delete r.searchString;var u=function(){return a instanceof d.default&&!a._byKeyViaLoad()};return(e===o||u()?a.byKey(t,r):(r.take=1,r.filter=r.filter?[r.filter,[e,t]]:[e,t],a.load(r))).fail(i.reject).done(l),i.promise()},load:function(){var e=this,t=new p.Deferred,n=function(){if(!e._disposed&&(0,m.isPending)(t))return e._loadFromStore(i,t)};this._scheduleLoadCallbacks(t),this._scheduleFailCallbacks(t),this._scheduleChangedCallbacks(t);var i=this._createLoadOperation(t);return this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\",[i]),this._loadQueue.add((function(){return\"number\"==typeof i.delay?e._delayedLoadTask=(0,a.executeAsync)(n,i.delay):n(),t.promise()})),t.promise({operationId:i.operationId})},_onPush:function(e){var t=this;if(this._reshapeOnPush)this.load();else{var n={changes:e};this._eventsStrategy.fireEvent(\"changing\",[n]);var i=this.group(),o=this.items(),a=0,r=this.paginate()||i?e.filter((function(e){return\"update\"===e.type})):e;i&&(a=Array.isArray(i)?i.length:1),this._mapFunc&&r.forEach((function(e){\"insert\"===e.type&&(e.data=t._mapFunc(e.data))})),n.postProcessChanges&&(r=n.postProcessChanges(r)),(0,u.applyBatch)({keyInfo:this.store(),data:o,changes:r,groupCount:a,useInsertIndex:!0}),this._fireChanged([{changes:e}])}},_createLoadOperation:function(e){var t=this,n=this._operationManager.add(e),i=this._createStoreLoadOptions();return this._store&&!(0,s.isEmptyObject)(null==i?void 0:i.langParams)&&(this._store._langParams=v({},this._store._langParams,i.langParams)),e.always((function(){return t._operationManager.remove(n)})),{operationId:n,storeLoadOptions:i}},reload:function(){return this.store()._clearCache(),this._init(),this.load()},cancel:function(e){return this._operationManager.cancel(e)},cancelAll:function(){return this._operationManager.cancelAll()},_addSearchOptions:function(e){this._disposed||(this.store()._useDefaultSearch?this._addSearchFilter(e):(e.searchOperation=this._searchOperation,e.searchValue=this._searchValue,e.searchExpr=this._searchExpr))},_createStoreLoadOptions:function(){var e=(0,o.extend)({},this._storeLoadOptions);return this._addSearchOptions(e),this._paginate&&this._pageSize&&(e.skip=this._pageIndex*this._pageSize,e.take=this._pageSize),e.userData=this._userData,e},_addSearchFilter:function(e){var t=this._searchValue,n=this._searchOperation,i=this._searchExpr,o=[];t&&(i||(i=\"this\"),Array.isArray(i)||(i=[i]),(0,r.each)(i,(function(e,i){o.length&&o.push(\"or\"),o.push([i,n,t])})),e.filter?e.filter=[o,e.filter]:e.filter=o)},_loadFromStore:function(e,t){var n=this,i=function(i,a){if(!n._disposed&&(0,m.isPending)(t)){var r=(0,o.extend)((0,m.normalizeLoadResult)(i,a),e);n._eventsStrategy.fireEvent(\"customizeLoadResult\",[r]),(0,p.when)(r.data).done((function(e){r.data=e,n._processStoreLoadResult(r,t)})).fail(t.reject)}};return e.data?(new p.Deferred).resolve(e.data).done(i):this.store().load(e.storeLoadOptions).done(i).fail(t.reject)},_processStoreLoadResult:function(e,t){var n=this,i=e.data,o=e.extra,a=e.storeLoadOptions,r=function(){return n._isLoaded=!0,n._totalCount=isFinite(o.totalCount)?o.totalCount:-1,t.resolve(i,o)};this._disposed||(i=this._applyPostProcessFunction(this._applyMapFunction(i)),(0,s.isObject)(o)||(o={}),this._items=i,(!i.length||!this._paginate||this._pageSize&&i.length<this._pageSize)&&(this._isLastPage=!0),a.requireTotalCount&&!isFinite(o.totalCount)?n.store().totalCount(a).done((function(e){o.totalCount=e,r()})).fail(t.reject):r())},_applyMapFunction:function(e){return this._mapFunc?(0,m.mapDataRespectingGrouping)(e,this._mapFunc,this.group()):e},_applyPostProcessFunction:function(e){return this._postProcessFunc?this._postProcessFunc(e):e},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this}});t.DataSource=x},88665:function(e,t,n){t.default=void 0;var i=n(9234),o=function(){function e(){this._counter=-1,this._deferreds={}}var t=e.prototype;return t.add=function(e){return this._counter++,this._deferreds[this._counter]=e,this._counter},t.remove=function(e){return delete this._deferreds[e]},t.cancel=function(e){return e in this._deferreds&&(this._deferreds[e].reject(i.CANCELED_TOKEN),!0)},t.cancelAll=function(){for(;this._counter>-1;)this.cancel(this._counter),this._counter--},e}();t.default=o,e.exports=t.default,e.exports.default=t.default},9234:function(e,t,n){t.normalizeStoreLoadOptionAccessorArguments=t.normalizeLoadResult=t.normalizeDataSourceOptions=t.mapDataRespectingGrouping=t.isPending=t.CANCELED_TOKEN=void 0;var i=h(n(37208)),o=h(n(67403)),a=h(n(26562)),r=n(95479),s=h(n(88036)),l=n(13306),u=n(35922),d=n(16454),c=[\"items\"];function h(e){return e&&e.__esModule?e:{default:e}}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}t.CANCELED_TOKEN=\"canceled\";t.isPending=function(e){return\"pending\"===e.state()};t.normalizeStoreLoadOptionAccessorArguments=function(e){switch(e.length){case 0:return;case 1:return e[0]}return[].slice.call(e)};var g=function(e,t,n){return(0,r.map)(e,(function(e){e.items;return f({},p(e,c),{items:m(e.items,t-1,n)})}))},m=function(e,t,n){return Array.isArray(e)?t?g(e,t,n):(0,r.map)(e,n):e};t.mapDataRespectingGrouping=function(e,t,n){var i=n?(0,d.normalizeSortingInfo)(n).length:0;return m(e,i,t)};t.normalizeLoadResult=function(e,t){var n;return null!==(n=e)&&void 0!==n&&n.data&&(t=e,e=e.data),Array.isArray(e)||(e=[e]),{data:e,extra:t}};var _=function(e,t){return new s.default({load:function(){return i.default.sendRequest({url:e,dataType:\"json\"})},loadMode:null==t?void 0:t.fromUrlLoadMode})};t.normalizeDataSourceOptions=function(e,t){var n,i,d;return\"string\"==typeof e&&(e={paginate:!1,store:_(e,t)}),void 0===e&&(e=[]),void 0===(e=Array.isArray(e)||e instanceof o.default?{store:e}:(0,l.extend)({},e)).store&&(e.store=[]),n=e.store,\"load\"in e?n=function(e){var t={};return(0,r.each)([\"useDefaultSearch\",\"key\",\"load\",\"loadMode\",\"cacheRawData\",\"byKey\",\"lookup\",\"totalCount\",\"insert\",\"update\",\"remove\"],(function(){t[this]=e[this],delete e[this]})),new s.default(t)}(e):Array.isArray(n)?n=new a.default(n):(0,u.isPlainObject)(n)&&(i=(0,l.extend)({},n),d=i.type,delete i.type,n=o.default.create(d,i)),e.store=n,e}},8162:function(e,t,n){t.default=void 0;var i,o=(i=n(17381))&&i.__esModule?i:{default:i};var a,r,s=(0,n(58201).getWindow)();var l=function(e){var t;this.config=e,a=\"ms-appx:\"===s.location.protocol,t=s.location.hostname,r=/^(localhost$|127\\.)/i.test(t)};l.prototype={urlFor:function(e){var t=this.config[e];if(!t)throw o.default.Error(\"E0006\");return t.production&&(a&&!Debug.debuggerEnabled||!a&&!r)?t.production:t.local}};var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},18438:function(e,t,n){t.setErrorHandler=t.handleError=t.errors=t.errorHandler=void 0;var i=a(n(95640)),o=a(n(17381));function a(e){return e&&e.__esModule?e:{default:e}}var r=(0,i.default)(o.default.ERROR_MESSAGES,{E4000:\"[DevExpress.data]: {0}\",E4001:\"Unknown aggregating function is detected: '{0}'\",E4002:\"Unsupported OData protocol version is used\",E4003:\"Unknown filter operation is used: {0}\",E4004:\"The thenby() method is called before the sortby() method\",E4005:\"Store requires a key expression for this operation\",E4006:\"ArrayStore 'data' option must be an array\",E4007:\"Compound keys cannot be auto-generated\",E4008:\"Attempt to insert an item with a duplicated key\",E4009:\"Data item cannot be found\",E4010:\"CustomStore does not support creating queries\",E4011:\"Custom Store method is not implemented or is not a function: {0}\",E4012:\"Custom Store method returns an invalid value: {0}\",E4013:\"Local Store requires the 'name' configuration option is specified\",E4014:\"Unknown data type is specified for ODataStore: {0}\",E4015:\"Unknown entity name or alias is used: {0}\",E4016:\"The compileSetter(expr) method is called with 'self' passed as a parameter\",E4017:\"Keys cannot be modified\",E4018:\"The server has returned a non-numeric value in a response to an item count request\",E4019:\"Mixing of group operators inside a single group of filter expression is not allowed\",E4020:\"Unknown store type is detected: {0}\",E4021:\"The server response does not provide the totalCount value\",E4022:\"The server response does not provide the groupCount value\",E4023:\"Could not parse the following XML: {0}\",E4024:\"String function {0} cannot be used with the data field {1} of type {2}.\",W4000:\"Data returned from the server has an incorrect structure\",W4001:'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',W4002:\"Data loading has failed for some cells due to the following error: {0}\"});t.errors=r;var s=null;t.errorHandler=s;t.handleError=function(e){var t;null===(t=s)||void 0===t||t(e)};t.setErrorHandler=function(e){return t.errorHandler=s=e}},82837:function(e,t,n){t.default=void 0;var i=u(n(55994)),o=u(n(73349)),a=n(58201),r=u(n(38377)),s=n(18438),l=u(n(26562));function u(e){return e&&e.__esModule?e:{default:e}}var d=(0,a.getWindow)(),c=r.default.abstract,h={dom:r.default.inherit({ctor:function(e,t){this._store=e,this._dirty=!!t.data,this.save();var n=this._immediate=t.immediate,a=Math.max(100,t.flushInterval||1e4);if(!n){var r=this.save.bind(this);setInterval(r,a),i.default.on(d,\"beforeunload\",r),d.cordova&&o.default.listen(o.default.getDocument(),\"pause\",r,!1)}},notifyChanged:function(){this._dirty=!0,this._immediate&&this.save()},load:function(){this._store._array=this._loadImpl(),this._dirty=!1},save:function(){this._dirty&&(this._saveImpl(this._store._array),this._dirty=!1)},_loadImpl:c,_saveImpl:c}).inherit({ctor:function(e,t){var n=t.name;if(!n)throw s.errors.Error(\"E4013\");this._key=\"dx-data-localStore-\"+n,this.callBase(e,t)},_loadImpl:function(){var e=d.localStorage.getItem(this._key);return e?JSON.parse(e):[]},_saveImpl:function(e){e.length?d.localStorage.setItem(this._key,JSON.stringify(e)):d.localStorage.removeItem(this._key)}})},f=l.default.inherit({ctor:function(e){e=\"string\"==typeof e?{name:e}:e||{},this.callBase(e),this._backend=new h[e.backend||\"dom\"](this,e),this._backend.load()},_clearCache:function(){this._backend.load()},clear:function(){this.callBase(),this._backend.notifyChanged()},_insertImpl:function(e){var t=this._backend;return this.callBase(e).done(t.notifyChanged.bind(t))},_updateImpl:function(e,t){var n=this._backend;return this.callBase(e,t).done(n.notifyChanged.bind(n))},_removeImpl:function(e){var t=this._backend;return this.callBase(e).done(t.notifyChanged.bind(t))}},\"local\");t.default=f,e.exports=t.default,e.exports.default=t.default},47256:function(e,t,n){t.default=void 0;var i=h(n(38377)),o=n(13306),a=n(35922),r=n(95479),s=n(18438),l=h(n(341)),u=h(n(63081)),d=n(77869),c=n(62754);function h(e){return e&&e.__esModule?e:{default:e}}n(54263);var f=i.default.inherit({ctor:function(e){var t=this;this._requestDispatcher=new u.default(e),this._errorHandler=e.errorHandler,(0,r.each)(e.entities||[],(function(n,i){t[n]=new l.default((0,o.extend)({},e,{url:\"\".concat(t._requestDispatcher.url,\"/\").concat(encodeURIComponent(i.name||n))},i))}))},get:function(e,t){return this.invoke(e,t,\"GET\")},invoke:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"POST\";n=n.toLowerCase();var i,o=new c.Deferred,r=\"\".concat(this._requestDispatcher.url,\"/\").concat(encodeURIComponent(e));return 4===this.version()&&(\"get\"===n?(r=(0,d.formatFunctionInvocationUrl)(r,(0,d.escapeServiceOperationParams)(t,this.version())),t=null):\"post\"===n&&(i=t,t=null)),(0,c.when)(this._requestDispatcher.sendRequest(r,n,(0,d.escapeServiceOperationParams)(t,this.version()),i)).done((function(t){(0,a.isPlainObject)(t)&&e in t&&(t=t[e]),o.resolve(t)})).fail(this._errorHandler).fail(s.handleError).fail(o.reject),o.promise()},objectLink:function(e,t){var n=this[e];if(!n)throw s.errors.Error(\"E4015\",e);return(0,a.isDefined)(t)?{__metadata:{uri:n._byKeyUrl(t)}}:null},version:function(){return this._requestDispatcher.version}});t.default=f,e.exports=t.default,e.exports.default=t.default},54263:function(e,t,n){t.odata=void 0;var i=n(35922),o=n(95479),a=c(n(80209)),r=n(13306),s=c(n(16135)),l=n(77869),u=n(18438),d=n(16454);function c(e){return e&&e.__esModule?e:{default:e}}var h,f,p,g,m,_,v,y,b,x,w,C,S=[\"contains\",\"notcontains\",\"startswith\",\"endswith\"],k=(m=function(e,t){return function(n,i){var o=[e,\"(\"];return f&&(n=-1===n.indexOf(\"tolower(\")?\"tolower(\".concat(n,\")\"):n,i=i.toLowerCase()),t?o.push(i,\",\",n):o.push(n,\",\",i),o.push(\")\"),o.join(\"\")}},_={\"=\":(g=function(e){return function(t,n){return\"\".concat(t,\" \").concat(e,\" \").concat(n)}})(\"eq\"),\"<>\":g(\"ne\"),\">\":g(\"gt\"),\">=\":g(\"ge\"),\"<\":g(\"lt\"),\"<=\":g(\"le\"),startswith:m(\"startswith\"),endswith:m(\"endswith\")},v=(0,r.extend)({},_,{contains:m(\"substringof\",!0),notcontains:m(\"not substringof\",!0)}),y=(0,r.extend)({},_,{contains:m(\"contains\"),notcontains:m(\"not contains\")}),b=function(e){var t,n,i=(e=(0,d.normalizeBinaryCriterion)(e))[1],o=e[0],a=p&&p[o];if(a&&(n=i,S.some((function(e){return e===n})))&&\"String\"!==a)throw new u.errors.Error(\"E4024\",i,o,a);var r=(4===h?y:v)[i.toLowerCase()];if(!r)throw u.errors.Error(\"E4003\",i);var s=e[2];return null!==(t=p)&&void 0!==t&&t[o]&&(s=(0,l.convertPrimitiveValue)(p[o],s)),r((0,l.serializePropName)(o),(0,l.serializeValue)(s,h))},x=function(e){var t=e[0],n=C(e[1]);if(\"!\"===t)return\"not (\".concat(n,\")\");throw u.errors.Error(\"E4003\",t)},w=function(e){var t,n,i=[];return(0,o.each)(e,(function(e,o){if(Array.isArray(o)){if(i.length>1&&t!==n)throw new u.errors.Error(\"E4019\");i.push(\"(\".concat(C(o),\")\")),t=n,n=\"and\"}else n=(0,d.isConjunctiveOperator)(this)?\"and\":\"or\"})),i.join(\" \".concat(t,\" \"))},C=function(e){return Array.isArray(e[0])?w(e):(0,d.isUnaryOperation)(e)?x(e):b(e)},function(e,t,n,i){return p=n,f=null!=i?i:(0,a.default)().oDataFilterToLower,h=t,C(e)}),D=function(e){var t,n,o,a,s=[],u=[],d=e.expand,c=e.version||2,h=function(){return n||void 0!==o},f=function e(t){for(var n=0;n<t.length;n++){if((0,i.isFunction)(t[n]))return!0;if(Array.isArray(t[n])&&e(t[n]))return!0}return!1},p=function(){var i={};if(a||(s.length&&(i.$orderby=s.join(\",\")),n&&(i.$skip=n),void 0!==o&&(i.$top=o),i.$select=(0,l.generateSelect)(c,t)||void 0,i.$expand=(0,l.generateExpand)(c,d,t)||void 0),u.length){var r=u.length<2?u[0]:u,h=null==e?void 0:e.fieldTypes,f=null==e?void 0:e.filterToLower;i.$filter=k(r,c,h,f)}return a&&(i.$top=0),(e.requireTotalCount||a)&&(4!==c?i.$inlinecount=\"allpages\":i.$count=\"true\"),i};return{optimize:function(e){for(var t=-1,n=0;n<e.length;n++)if(\"select\"===e[n].name){t=n;break}if(!(t<0)&&(0,i.isFunction)(e[t].args[0])){var o=e[1+t];o&&\"slice\"===o.name&&(e[1+t]=e[t],e[t]=o)}},exec:function(t){return(0,l.sendRequest)(c,{url:t,params:(0,r.extend)(p(),null==e?void 0:e.params)},{beforeSend:e.beforeSend,jsonp:e.jsonp,withCredentials:e.withCredentials,countOnly:a,deserializeDates:e.deserializeDates,fieldTypes:e.fieldTypes,isPaged:isFinite(o)})},multiSort:function(e){var t;if(h())return!1;for(var n=0;n<e.length;n++){var i=e[n][0],o=!!e[n][1],a=void 0;if(\"string\"!=typeof i)return!1;a=(0,l.serializePropName)(i),o&&(a+=\" desc\"),(t=t||[]).push(a)}s=t},slice:function(e,t){if(h())return!1;n=e,o=t},filter:function(e){return!h()&&(Array.isArray(e)||(e=[].slice.call(arguments)),!f(e)&&(u.length&&u.push(\"and\"),void u.push(e)))},select:function(e){if(t||(0,i.isFunction)(e))return!1;Array.isArray(e)||(e=[].slice.call(arguments)),t=e},count:function(){return a=!0}}};s.default.odata=D;var I=D;t.odata=I},63081:function(e,t,n){t.default=void 0;var i=n(77869);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}n(54263);var r=function(){function e(e){e=e||{},this._url=String(e.url).replace(/\\/+$/,\"\"),this._beforeSend=e.beforeSend,this._jsonp=e.jsonp,this._version=e.version||2,this._withCredentials=e.withCredentials,this._deserializeDates=e.deserializeDates,this._filterToLower=e.filterToLower}var t,n,o;return e.prototype.sendRequest=function(e,t,n,o){return(0,i.sendRequest)(this.version,{url:e,method:t,params:n||{},payload:o},{beforeSend:this._beforeSend,jsonp:this._jsonp,withCredentials:this._withCredentials,deserializeDates:this._deserializeDates})},t=e,(n=[{key:\"version\",get:function(){return this._version}},{key:\"beforeSend\",get:function(){return this._beforeSend}},{key:\"url\",get:function(){return this._url}},{key:\"jsonp\",get:function(){return this._jsonp}},{key:\"filterToLower\",get:function(){return this._filterToLower}}])&&a(t.prototype,n),o&&a(t,o),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=r,e.exports=t.default,e.exports.default=t.default},341:function(e,t,n){t.default=void 0;var i=n(35922),o=c(n(80209)),a=n(77869),r=n(18438),s=c(n(96687)),l=c(n(67403)),u=c(n(63081)),d=n(62754);function c(e){return e&&e.__esModule?e:{default:e}}function h(e){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function f(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==h(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==h(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===h(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n(54263);var p=l.default.inherit({ctor:function(e){this.callBase(e),this._requestDispatcher=new u.default(e);var t=this.key(),n=e.fieldTypes,i=e.keyType;if(i){var o=\"string\"==typeof i;t||(t=o?\"5d46402c-7899-4ea9-bd81-8b73c47c7683\":Object.keys(i),this._legacyAnonymousKey=t),o&&(i=function(e,t){return f({},e,t)}(t,i)),n=function(e,t){var n={};for(var i in e)n[i]=e[i];for(var o in t)o in n?n[o]!==t[o]&&r.errors.log(\"W4001\",o):n[o]=t[o];return n}(n,i)}this._fieldTypes=n||{},2===this.version()?this._updateMethod=\"MERGE\":this._updateMethod=\"PATCH\"},_customLoadOptions:function(){return[\"expand\",\"customQueryParams\"]},_byKeyImpl:function(e,t){var n={};return t&&(n.$expand=(0,a.generateExpand)(this.version(),t.expand,t.select)||void 0,n.$select=(0,a.generateSelect)(this.version(),t.select)||void 0),this._requestDispatcher.sendRequest(this._byKeyUrl(e),\"GET\",n)},createQuery:function(e){var t,n,o={adapter:\"odata\",beforeSend:this._requestDispatcher.beforeSend,errorHandler:this._errorHandler,jsonp:this._requestDispatcher.jsonp,version:this._requestDispatcher.version,withCredentials:this._requestDispatcher._withCredentials,expand:null==e?void 0:e.expand,requireTotalCount:null==e?void 0:e.requireTotalCount,deserializeDates:this._requestDispatcher._deserializeDates,fieldTypes:this._fieldTypes};if(n=null!==(t=null==e?void 0:e.urlOverride)&&void 0!==t?t:this._requestDispatcher.url,(0,i.isDefined)(this._requestDispatcher.filterToLower)&&(o.filterToLower=this._requestDispatcher.filterToLower),null!=e&&e.customQueryParams){var r=(0,a.escapeServiceOperationParams)(null==e?void 0:e.customQueryParams,this.version());4===this.version()?n=(0,a.formatFunctionInvocationUrl)(n,r):o.params=r}return(0,s.default)(n,o)},_insertImpl:function(e){var t=this;this._requireKey();var n=new d.Deferred;return(0,d.when)(this._requestDispatcher.sendRequest(this._requestDispatcher.url,\"POST\",null,e)).done((function(i){return n.resolve(i&&!(0,o.default)().useLegacyStoreResult?i:e,t.keyOf(i))})).fail(n.reject),n.promise()},_updateImpl:function(e,t){var n=new d.Deferred;return(0,d.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(e),this._updateMethod,null,t)).done((function(i){return(0,o.default)().useLegacyStoreResult?n.resolve(e,t):n.resolve(i||t,e)})).fail(n.reject),n.promise()},_removeImpl:function(e){var t=new d.Deferred;return(0,d.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(e),\"DELETE\")).done((function(){return t.resolve(e)})).fail(t.reject),t.promise()},_convertKey:function(e){var t=e,n=this._fieldTypes,i=this.key()||this._legacyAnonymousKey;if(Array.isArray(i)){t={};for(var o=0;o<i.length;o++){var r=i[o];t[r]=(0,a.convertPrimitiveValue)(n[r],e[r])}}else n[i]&&(t=(0,a.convertPrimitiveValue)(n[i],e));return t},_byKeyUrl:function(e){var t=this._requestDispatcher.url,n=this._convertKey(e);return\"\".concat(t,\"(\").concat(encodeURIComponent((0,a.serializeKey)(n,this.version())),\")\")},version:function(){return this._requestDispatcher.version}},\"odata\");t.default=p,e.exports=t.default,e.exports.default=t.default},77869:function(e,t,n){t.serializeValue=t.serializePropName=t.serializeKey=t.sendRequest=t.keyConverters=t.generateSelect=t.generateExpand=t.formatFunctionInvocationUrl=t.escapeServiceOperationParams=t.convertPrimitiveValue=t.EdmLiteral=void 0;var i=p(n(38377)),o=n(13306),a=n(35922),r=n(95479),s=p(n(37208)),l=p(n(73176)),u=n(20576),d=n(62754),c=n(18438),h=n(16454),f=n(68752);function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var m=/^(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})$/,_=/^\\/Date\\((-?\\d+)((\\+|-)?(\\d+)?)\\)\\/$/,v=/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[-+]{1}\\d{2}(:?)(\\d{2})?)?$/,y=\"application/json;odata=verbose\",b=function(e){return\"string\"===(0,a.type)(e)?e.split():e},x=function(e){return/\\./.test(e)},w=function(e,t,n){for(e=String(e);e.length<t;)e=n?\"\".concat(e,\"0\"):\"0\".concat(e);return e},C=function(e,t,n){var i=[],o=function(e){return w(e,2)};return i.push(e.getFullYear()),i.push(\"-\"),i.push(o(e.getMonth()+1)),i.push(\"-\"),i.push(o(e.getDate())),t&&e.getHours()+e.getMinutes()+e.getSeconds()+e.getMilliseconds()<1||(i.push(\"T\"),i.push(o(e.getHours())),i.push(\":\"),i.push(o(e.getMinutes())),i.push(\":\"),i.push(o(e.getSeconds())),e.getMilliseconds()&&(i.push(\".\"),i.push(w(e.getMilliseconds(),3))),n||i.push(\"Z\")),i.join(\"\")},S=function(e){var t=new Date(60*new Date(0).getTimezoneOffset()*1e3),n=e.replace(\"Z\",\"\").split(\"T\"),i=/(\\d{4})-(\\d{2})-(\\d{2})/.exec(n[0]),o=/(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d{0,7})?/.exec(n[1]);if(t.setFullYear(Number(i[1])),t.setMonth(Number(i[2])-1),t.setDate(Number(i[3])),Array.isArray(o)&&o.length){t.setHours(Number(o[1])),t.setMinutes(Number(o[2])),t.setSeconds(Number(o[3]));var a=(o[4]||\"\").slice(0,3);a=w(a,3,!0),t.setMilliseconds(Number(a))}return t},k=function(e){var t=[];for(var n in e)t.push(n+\"=\"+e[n]);return t.join(\"&\")};t.sendRequest=function e(t,n,i){var a=i.deserializeDates,r=i.fieldTypes,l=i.countOnly,u=i.isPaged,f=new d.Deferred,p=function(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=function(t){return JSON.stringify(t,(function(t,n){if(!(this[t]instanceof Date))return n;switch(n=C(this[t]),e){case 2:return n.substr(0,n.length-1);case 3:case 4:return n;default:throw c.errors.Error(\"E4002\")}}))};t=(0,o.extend)({async:!0,method:\"get\",url:\"\",params:{},payload:null,headers:{},timeout:3e4},t),null===(n=i.beforeSend)||void 0===n||n.call(i,t);var r=t,s=r.async,l=r.timeout,u=r.headers,d=t,h=d.url,f=d.method,p=i.jsonp,g=i.withCredentials,m=\"get\"===(f=(f||\"get\").toLowerCase()),_=m&&p,v=(0,o.extend)({},t.params),b=m?v:a(t.payload),x=!m&&k(v),w=!m&&y;return x&&(h+=(h.indexOf(\"?\")>-1?\"&\":\"?\")+x),_&&(b.$format=\"json\"),{url:h,data:b,dataType:_?\"jsonp\":\"json\",jsonp:_&&\"$callback\",method:f,async:s,timeout:l,headers:u,contentType:w,accepts:{json:[y,\"text/plain\"].join()},xhrFields:{withCredentials:g}}}(t,n,i);return s.default.sendRequest(p).always((function(n,o){var s=D(n,o,{deserializeDates:a,fieldTypes:r},p),d=s.error,g=s.data,m=s.count,_=s.nextUrl;if(d)d.message!==h.XHR_ERROR_UNLOAD&&f.reject(d);else if(l)isFinite(m)?f.resolve(m):f.reject(new c.errors.Error(\"E4018\"));else if(_&&!u)/^(?:[a-z]+:)?\\/{2,2}/i.test(_)||(_=function(e,t){var n,i,o,a=(i=e,o=i.indexOf(\"?\"),o>-1?i.substr(0,o):i).split(\"/\"),r=t.split(\"/\");for(a.pop();r.length;)\"..\"===(n=r.shift())?a.pop():a.push(n);return a.join(\"/\")}(p.url,_)),e(t,{url:_},i).fail(f.reject).done((function(e){return f.resolve(g.concat(e))}));else{var v=isFinite(m)?{totalCount:m}:void 0;f.resolve(g,v)}})),f.promise()};var D=function(e,t,n,i){var r=function(e,t,n){var i,a,r,s;if(\"nocontent\"===t)return null;var l=\"Unknown error\",u=e,d=200,c={requestOptions:n};if(\"success\"!==t){var f=e.status,p=e.responseText;d=f,l=(0,h.errorMessageFromXhr)(e,t);try{u=JSON.parse(p)}catch(e){}}var g=(null===(i=u)||void 0===i?void 0:i.then)||(null===(a=u)||void 0===a?void 0:a.error)||(null===(r=u)||void 0===r?void 0:r[\"odata.error\"])||(null===(s=u)||void 0===s?void 0:s[\"@odata.error\"]);if(g){l=function(e){var t,n,i=e;\"message\"in e&&(t=(null===(n=e.message)||void 0===n?void 0:n.value)||e.message);for(;i=i.innererror||i.internalexception;){var o;if(t=null!==(o=i.message)&&void 0!==o?o:t,i.internalexception&&-1===t.indexOf(\"inner exception\"))break}return t}(g)||l,c.errorDetails=g,200===d&&(d=500);var m=Number(g.code);isFinite(m)&&m>=400&&(d=m)}return d>=400||0===d?(c.httpStatus=d,(0,o.extend)(Error(l),c)):null}(e,t,i);if(r)return{error:r};if(!(0,a.isPlainObject)(e))return{data:e};var s=\"d\"in e&&(Array.isArray(e.d)||(0,a.isObject)(e.d))?I(e):T(e);return O(s,n),s},I=function(e){var t,n=e.d;return(0,a.isDefined)(n)?{data:null!==(t=n.results)&&void 0!==t?t:n,nextUrl:n.__next,count:parseInt(n.__count,10)}:{error:Error(\"Malformed or unsupported JSON response received\")}},T=function(e){var t;return{data:null!==(t=e.value)&&void 0!==t?t:e,nextUrl:e[\"@odata.nextLink\"],count:parseInt(e[\"@odata.count\"],10)}},E=i.default.inherit({ctor:function(e){this._value=e},valueOf:function(){return this._value}});t.EdmLiteral=E;var O=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,r.each)(t,(function(i,o){if(null!==o&&\"object\"===g(o))\"results\"in o&&(t[i]=o.results),e(t[i],n);else if(\"string\"==typeof o){var a=n.fieldTypes,r=n.deserializeDates;if((!a||\"String\"!==a[i])&&m.test(o)&&(t[i]=new l.default(o)),!1!==r)if(o.match(_)){var s=new Date(Number(RegExp.$1)+60*RegExp.$2*1e3);t[i]=new Date(s.valueOf()+60*s.getTimezoneOffset()*1e3)}else v.test(o)&&(t[i]=new Date(S(t[i]).valueOf()))}}))},A=function(e){return e instanceof E?e.valueOf():e.replace(/\\./g,\"/\")};t.serializePropName=A;var P=function(e){return e instanceof Date?\"datetime'\".concat(C(e,!0,!0),\"'\"):e instanceof l.default?\"guid'\".concat(e,\"'\"):e instanceof E?e.valueOf():\"string\"==typeof e?function(e){return\"'\".concat(e.replace(/'/g,\"''\"),\"'\")}(e):String(e)},M=function(e,t){switch(t){case 2:case 3:return P(e);case 4:return function e(t){return t instanceof Date?C(t,!1,!1):t instanceof l.default?t.valueOf():Array.isArray(t)?\"[\".concat(t.map((function(t){return e(t)})).join(\",\"),\"]\"):P(t)}(e);default:throw c.errors.Error(\"E4002\")}};t.serializeValue=M;t.serializeKey=function(e,t){if((0,a.isPlainObject)(e)){var n=[];return(0,r.each)(e,(function(e,i){return n.push(\"\".concat(A(e),\"=\").concat(M(i,t)))})),n.join()}return M(e,t)};var R={String:function(e){return\"\".concat(e)},Int32:function(e){return Math.floor(e)},Int64:function(e){return e instanceof E?e:new E(\"\".concat(e,\"L\"))},Guid:function(e){return e instanceof l.default?e:new l.default(e)},Boolean:function(e){return!!e},Single:function(e){return e instanceof E?e:new E(e+\"f\")},Decimal:function(e){return e instanceof E?e:new E(e+\"m\")}};t.keyConverters=R;t.convertPrimitiveValue=function(e,t){if(null===t)return null;var n=R[e];if(!n)throw c.errors.Error(\"E4014\",e);return n(t)};t.generateSelect=function(e,t){if(t)return e<4?A(t.join()):(0,u.grep)(t,x,!0).join()};var B=function(e){var t=[];return(0,r.each)(e,(function(e,n){return t.push(\"\".concat(e).concat(function e(t){var n=\"\",i=[],o=[];return(0,r.each)(t,(function(t,n){Array.isArray(n)&&[].push.apply(i,n),(0,a.isPlainObject)(n)&&o.push(\"\".concat(t).concat(e(n)))})),(i.length||o.length)&&(n+=\"(\",i.length&&(n+=\"$select=\".concat((0,r.map)(i,A).join())),o.length&&(i.length&&(n+=\";\"),n+=\"$expand=\".concat((0,r.map)(o,A).join())),n+=\")\"),n}(n)))})),t.join()},L=function(e,t,n){return(0,r.each)(e,(function(e,i){return function e(t,n,i){var o=i(n,t.shift(),t);!1!==o&&e(t,o,i)}(i.split(\".\"),t,n)}))};t.generateExpand=function(e,t,n){return e<4?function(e,t){var n={};return e&&(0,r.each)(b(e),(function(){n[A(this)]=1})),t&&(0,r.each)(b(t),(function(){var e=this.split(\".\");e.length<2||(e.pop(),n[A(e.join(\".\"))]=1)})),(0,r.map)(n,(function(e,t){return t})).join()}(t,n):function(e,t){var n={};if(e||t)return e&&L(b(e),n,(function(e,t,n){return e[t]=e[t]||{},!!n.length&&e[t]})),t&&L((0,u.grep)(b(t),x),n,(function(e,t,n){return n.length?e[t]=e[t]||{}:(e[t]=e[t]||[],e[t].push(t),!1)})),B(n)}(t,n)};t.formatFunctionInvocationUrl=function(e,t){return(0,f.format)(\"{0}({1})\",e,(0,r.map)(t||{},(function(e,t){return(0,f.format)(\"{0}={1}\",t,e)})).join(\",\"))};t.escapeServiceOperationParams=function(e,t){if(!e)return e;var n={};return(0,r.each)(e,(function(e,i){n[e]=M(i,t)})),n}},96687:function(e,t,n){t.default=void 0;var i=n(77549),o=function(){var e=Array.isArray(arguments[0])?\"array\":\"remote\";return i.queryImpl[e].apply(this,arguments)};t.default=o,e.exports=t.default,e.exports.default=t.default},16135:function(e,t){t.default=void 0;t.default={},e.exports=t.default,e.exports.default=t.default},77549:function(e,t,n){t.queryImpl=void 0;var i=a(n(35042)),o=a(n(41428));function a(e){return e&&e.__esModule?e:{default:e}}var r={array:i.default,remote:o.default};t.queryImpl=r},41428:function(e,t,n){t.default=void 0;var i=u(n(16135)),o=n(18438),a=n(95479),r=n(35922),s=n(62754),l=u(n(35042));function u(e){return e&&e.__esModule?e:{default:e}}var d=function e(t,n,u){u=u||[],n=n||{};var d=function(e,t){return{name:e,args:t}},c=function(e){var c,h,f,p,g,m,_,v=new s.Deferred,y=function(e){var t=n.errorHandler;t&&t(e),(0,o.handleError)(e),v.reject(e)};function b(e){switch(e.name){case\"sortBy\":return g=[e.args],!0;case\"thenBy\":if(!g)throw o.errors.Error(\"E4004\");return g.push(e.args),!0}return!1}try{c=n.adapter,(0,r.isFunction)(c)||(c=i.default[c]),h=c(n),f=[].concat(u).concat(e);var x=h.optimize;for(x&&x(f);f.length;){if(!b(p=f[0])){if(g){f.unshift(d(\"multiSort\",[g])),g=null;continue}if(\"enumerate\"!==String(p.name)&&(!h[p.name]||!1===h[p.name].apply(h,p.args)))break}f.shift()}m=f[0],_=[],m&&\"multiSort\"===m.name&&(f.shift(),(0,a.each)(m.args[0],(function(){_.push(d(_.length?\"thenBy\":\"sortBy\",this))}))),f=_.concat(f),h.exec(t).done((function(e,t){if(f.length){var i=(0,l.default)(e,{errorHandler:n.errorHandler});(0,a.each)(f,(function(){i=i[this.name].apply(i,this.args)})),i.done(v.resolve).fail(v.reject)}else v.resolve(e,t)})).fail(y)}catch(e){y(e)}return v.promise()},h={};return(0,a.each)([\"sortBy\",\"thenBy\",\"filter\",\"slice\",\"select\",\"groupBy\"],(function(){var i=String(this);h[i]=function(){return e(t,n,u.concat(d(i,arguments)))}})),(0,a.each)([\"count\",\"min\",\"max\",\"sum\",\"avg\",\"aggregate\",\"enumerate\"],(function(){var e=String(this);h[e]=function(){return c.call(this,d(e,arguments))}})),h};t.default=d,e.exports=t.default,e.exports.default=t.default},99236:function(e,t,n){t.default=void 0;var i,o=n(20576),a=n(13306),r=n(95479),s=(i=n(35042))&&i.__esModule?i:{default:i},l=n(16454);function u(e,t){return e=e.groupBy(t[0].selector),t.length>1&&(e=e.select((function(e){return(0,a.extend)({},e,{items:u((0,s.default)(e.items),t.slice(1)).toArray()})}))),e}function d(e,t){var n=[];return(0,r.each)(e,(function(e,i){(0,o.grep)(t,(function(e){return i.selector===e.selector})).length<1&&n.push(i)})),n.concat(t)}var c={multiLevelGroup:u,arrangeSortingInfo:d,queryByOptions:function(e,t,n){var i,o,a,s=(t=t||{}).filter;if(null!==(i=t)&&void 0!==i&&i.langParams&&(null===(o=(a=e).setLangParams)||void 0===o||o.call(a,t.langParams)),s&&(e=e.filter(s)),n)return e;var c=t.sort,h=t.select,f=t.group,p=t.skip,g=t.take;return f&&((f=(0,l.normalizeSortingInfo)(f)).keepInitialKeyOrder=!!t.group.keepInitialKeyOrder),(c||f)&&(c=(0,l.normalizeSortingInfo)(c||[]),f&&!f.keepInitialKeyOrder&&(c=d(f,c)),(0,r.each)(c,(function(t){e=e[t?\"thenBy\":\"sortBy\"](this.selector,this.desc,this.compare)}))),h&&(e=e.select(h)),f&&(e=u(e,f)),(g||p)&&(e=e.slice(p||0,g)),e}};t.default=c,e.exports=t.default,e.exports.default=t.default},16454:function(e,t,n){t.errorMessageFromXhr=t.base64_encode=t.aggregators=t.XHR_ERROR_UNLOAD=void 0,t.isConjunctiveOperator=function(e){return/^(and|&&|&)$/i.test(e)},t.isDisjunctiveOperator=function(e){return/^(or|\\|\\||\\|)$/i.test(e)},t.rejectedPromise=t.processRequestResultLock=t.normalizeSortingInfo=t.normalizeBinaryCriterion=t.keysEqual=t.isUnaryOperation=t.isGroupCriterion=void 0,t.throttleChanges=function(e,t){var n=[],o=function(e,t){var n;return function(){var o=this;return n||(n=setTimeout((function(){n=void 0,e.call(o)}),(0,i.isFunction)(t)?t():t)),n}}((function(){e.call(this,n),n=[]}),t);return function(e){var t,i;Array.isArray(e)&&(t=n).push.apply(t,function(e){if(Array.isArray(e))return c(e)}(i=e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(i)||function(e,t){if(e){if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(i)||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.\")}());return o.call(this,n)}},t.trivialPromise=void 0;var i=n(35922),o=d(n(73349)),a=d(n(24311)),r=n(58201),s=n(95479),l=n(62754),u=n(20576);function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var h=a.default.add;t.XHR_ERROR_UNLOAD=\"DEVEXTREME_XHR_ERROR_UNLOAD\";t.normalizeBinaryCriterion=function(e){return[e[0],e.length<3?\"=\":String(e[1]).toLowerCase(),e.length<2||e[e.length-1]]};t.normalizeSortingInfo=function(e){return Array.isArray(e)||(e=[e]),(0,s.map)(e,(function(e){var t={selector:(0,i.isFunction)(e)||\"string\"==typeof e?e:e.getter||e.field||e.selector,desc:!(!e.desc&&\"d\"!==String(e.dir).charAt(0).toLowerCase())};return e.compare&&(t.compare=e.compare),t}))};var f,p,g=(p={timeout:\"Network connection timeout\",error:\"Unspecified network error\",parsererror:\"Unexpected server response\"},h((function(){var e=(0,r.getWindow)();o.default.listen(e,\"beforeunload\",(function(){f=!0}))})),function(e,t){return f?\"DEVEXTREME_XHR_ERROR_UNLOAD\":e.status<400?function(e){var t=p[e];return t||e}(t):e.statusText});t.errorMessageFromXhr=g;var m={count:{seed:0,step:function(e){return 1+e}},sum:{seed:0,step:function(e,t){return e+t}},min:{step:function(e,t){return t<e?t:e}},max:{step:function(e,t){return t>e?t:e}},avg:{seed:[0,0],step:function(e,t){return[e[0]+t,e[1]+1]},finalize:function(e){return e[1]?e[0]/e[1]:NaN}}};t.aggregators=m;var _,v,y=(v=0,{obtain:function(){0===v&&(_=new l.Deferred),v++},release:function(){--v<1&&_.resolve()},promise:function(){return(0===v?(new l.Deferred).resolve():_).promise()},reset:function(){v=0,_&&_.resolve()}});t.processRequestResultLock=y;t.keysEqual=function(e,t,n){if(Array.isArray(e)){for(var i,o=(0,s.map)(t,(function(e,t){return t})),a=0;a<o.length;a++)if(i=o[a],!(0,u.equalByValue)(t[i],n[i],{strict:!1}))return!1;return!0}return(0,u.equalByValue)(t,n,{strict:!1})};t.base64_encode=function(e){Array.isArray(e)||(e=function(e){var t,n,i=[];for(n=0;n<e.length;n++)(t=e.charCodeAt(n))<128?i.push(t):t<2048?i.push(192+(t>>6),128+(63&t)):t<65536?i.push(224+(t>>12),128+(t>>6&63),128+(63&t)):t<2097152&&i.push(240+(t>>18),128+(t>>12&63),128+(t>>6&63),128+(63&t));return i}(String(e)));var t=\"\";function n(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".charAt(e)}for(var i=0;i<e.length;i+=3){var o=e[i],a=e[i+1],r=e[i+2];t+=(0,s.map)([o>>2,(3&o)<<4|a>>4,isNaN(a)?64:(15&a)<<2|r>>6,isNaN(r)?64:63&r],n).join(\"\")}return t};t.isUnaryOperation=function(e){return\"!\"===e[0]&&Array.isArray(e[1])};t.isGroupCriterion=function(e){var t,n=e[0],o=e[1];return!!Array.isArray(n)||!(!(0,i.isFunction)(n)||!Array.isArray(o)&&!(0,i.isFunction)(o)&&\"and\"!==(t=o)&&\"or\"!==t)};t.trivialPromise=function(){var e=new l.Deferred;return e.resolve.apply(e,arguments).promise()};t.rejectedPromise=function(){var e=new l.Deferred;return e.reject.apply(e,arguments).promise()}},53305:function(e,t,n){t.default=void 0;var i,o=n(85273),a=n(13306),r=n(9234),s=(i=n(97326))&&i.__esModule?i:{default:i};var l={postCtor:function(){this.on(\"disposing\",function(){this._disposeDataSource()}.bind(this))},_refreshDataSource:function(){this._initDataSource(),this._loadDataSource()},_initDataSource:function(){var e,t,n=\"_getSpecificDataSourceOption\"in this?this._getSpecificDataSourceOption():this.option(\"dataSource\");this._disposeDataSource(),n&&(n instanceof o.DataSource?(this._isSharedDataSource=!0,this._dataSource=n):(e=\"_dataSourceOptions\"in this?this._dataSourceOptions():{},t=this._dataSourceType?this._dataSourceType():o.DataSource,n=(0,r.normalizeDataSourceOptions)(n,{fromUrlLoadMode:\"_dataSourceFromUrlLoadMode\"in this&&this._dataSourceFromUrlLoadMode()}),this._dataSource=new t((0,a.extend)(!0,{},e,n))),\"_normalizeDataSource\"in this&&(this._dataSource=this._normalizeDataSource(this._dataSource)),this._addDataSourceHandlers(),this._initDataController())},_initDataController:function(){var e,t=null===(e=this.option)||void 0===e?void 0:e.call(this,\"_dataController\"),n=this._dataSource;this._dataController=t||new s.default(n)},_addDataSourceHandlers:function(){\"_dataSourceChangedHandler\"in this&&this._addDataSourceChangeHandler(),\"_dataSourceLoadErrorHandler\"in this&&this._addDataSourceLoadErrorHandler(),\"_dataSourceLoadingChangedHandler\"in this&&this._addDataSourceLoadingChangedHandler(),this._addReadyWatcher()},_addReadyWatcher:function(){this._dataSource.on(\"loadingChanged\",function(e){this._ready&&this._ready(!e)}.bind(this))},_addDataSourceChangeHandler:function(){var e=this._dataSource;this._proxiedDataSourceChangedHandler=function(t){this._dataSourceChangedHandler(e.items(),t)}.bind(this),e.on(\"changed\",this._proxiedDataSourceChangedHandler)},_addDataSourceLoadErrorHandler:function(){this._proxiedDataSourceLoadErrorHandler=this._dataSourceLoadErrorHandler.bind(this),this._dataSource.on(\"loadError\",this._proxiedDataSourceLoadErrorHandler)},_addDataSourceLoadingChangedHandler:function(){this._proxiedDataSourceLoadingChangedHandler=this._dataSourceLoadingChangedHandler.bind(this),this._dataSource.on(\"loadingChanged\",this._proxiedDataSourceLoadingChangedHandler)},_loadDataSource:function(){var e=this._dataSource;e&&(e.isLoaded()?this._proxiedDataSourceChangedHandler&&this._proxiedDataSourceChangedHandler():e.load())},_loadSingle:function(e,t){return e=\"this\"===e?this._dataSource.key()||\"this\":e,this._dataSource.loadSingle(e,t)},_isLastPage:function(){return!this._dataSource||this._dataSource.isLastPage()||!this._dataSource._pageSize},_isDataSourceLoading:function(){return this._dataSource&&this._dataSource.isLoading()},_disposeDataSource:function(){this._dataSource&&(this._isSharedDataSource?(delete this._isSharedDataSource,this._proxiedDataSourceChangedHandler&&this._dataSource.off(\"changed\",this._proxiedDataSourceChangedHandler),this._proxiedDataSourceLoadErrorHandler&&this._dataSource.off(\"loadError\",this._proxiedDataSourceLoadErrorHandler),this._proxiedDataSourceLoadingChangedHandler&&this._dataSource.off(\"loadingChanged\",this._proxiedDataSourceLoadingChangedHandler)):this._dataSource.dispose(),delete this._dataSource,delete this._proxiedDataSourceChangedHandler,delete this._proxiedDataSourceLoadErrorHandler,delete this._proxiedDataSourceLoadingChangedHandler)},getDataSource:function(){return this._dataSource||null}};t.default=l,e.exports=t.default,e.exports.default=t.default},95429:function(e,t,n){t.name=void 0;var i=p(n(68374)),o=p(n(55994)),a=p(n(20530)),r=p(n(73349)),s=n(3532),l=n(90057),u=n(39611),d=n(27575),c=p(n(93786)),h=p(n(31391)),f=p(n(82495));function p(e){return e&&e.__esModule?e:{default:e}}t.name=\"dxclick\";l.requestAnimationFrame,l.cancelAnimationFrame;var g=null,m=null,_=function(){m=null},v=function(e){var t=e.originalEvent,n=m===t||t&&t.DXCLICK_FIRED;!(!e.which||1===e.which)||g||n||(t&&(t.DXCLICK_FIRED=!0),(0,d.unsubscribeNodesDisposing)(m,_),m=t,(0,d.subscribeNodesDisposing)(m,_),(0,u.fireEvent)({type:\"dxclick\",originalEvent:e}))},y=h.default.inherit({ctor:function(e){this.callBase(e),o.default.on(this.getElement(),\"click\",v)},start:function(e){g=null},cancel:function(){g=!0},dispose:function(){o.default.off(this.getElement(),\"click\",v)}});!function(){if(!a.default.real().generic){var e=null,t=!1,n=r.default.getDocument();o.default.subscribeGlobal(n,(0,u.addNamespace)(c.default.down,\"NATIVE_CLICK_FIXER\"),(function(n){e=n.target,t=n.isDefaultPrevented()})),o.default.subscribeGlobal(n,(0,u.addNamespace)(\"click\",\"NATIVE_CLICK_FIXER\"),(function(n){var o,a=(0,i.default)(n.target);t||!e||a.is(e)||(0,i.default)(e).is(\"label\")||(o=a,!(0,i.default)(o).is(\"input, textarea, select, button ,:focus, :focus *\"))||(0,s.resetActiveElement)(),e=null,t=!1}))}}(),(0,f.default)({emitter:y,bubble:!0,events:[\"dxclick\"]})},49166:function(e,t,n){t.name=void 0;var i=c(n(68374)),o=c(n(55994)),a=n(60137),r=c(n(20530)),s=c(n(38377)),l=c(n(85788)),u=n(39611),d=c(n(11699));function c(e){return e&&e.__esModule?e:{default:e}}var h=(0,u.addNamespace)(\"contextmenu\",\"dxContexMenu\"),f=(0,u.addNamespace)(d.default.name,\"dxContexMenu\"),p=s.default.inherit({setup:function(e){var t=(0,i.default)(e);o.default.on(t,h,this._contextMenuHandler.bind(this)),(a.touch||r.default.isSimulator())&&o.default.on(t,f,this._holdHandler.bind(this))},_holdHandler:function(e){(0,u.isMouseEvent)(e)&&!r.default.isSimulator()||this._fireContextMenu(e)},_contextMenuHandler:function(e){this._fireContextMenu(e)},_fireContextMenu:function(e){return(0,u.fireEvent)({type:\"dxcontextmenu\",originalEvent:e})},teardown:function(e){o.default.off(e,\".dxContexMenu\")}});(0,l.default)(\"dxcontextmenu\",new p);t.name=\"dxcontextmenu\"},91633:function(e,t,n){t.lock=t.inactive=t.active=void 0;var i=c(n(38377)),o=n(20576),a=n(3532),r=c(n(20530)),s=n(39611),l=c(n(93786)),u=c(n(31391)),d=c(n(82495));function c(e){return e&&e.__esModule?e:{default:e}}t.active=\"dxactive\";t.inactive=\"dxinactive\";var h,f=i.default.inherit({ctor:function(e,t){this._timeout=e,this._fire=t},start:function(){var e=this;this._schedule((function(){e.force()}))},_schedule:function(e){this.stop(),this._timer=setTimeout(e,this._timeout)},stop:function(){clearTimeout(this._timer)},force:function(){this._fired||(this.stop(),this._fire(),this._fired=!0)},fired:function(){return this._fired}}),p=u.default.inherit({ctor:function(){this.callBase.apply(this,arguments),this._active=new f(0,o.noop),this._inactive=new f(0,o.noop)},configure:function(e,t){switch(t){case\"dxactive\":e.activeTimeout=e.timeout;break;case\"dxinactive\":e.inactiveTimeout=e.timeout}this.callBase(e)},start:function(e){if(h){var t=(0,a.contains)(this.getElement().get(0),h.getElement().get(0)),n=!h._active.fired();if(t&&n)return void this._cancel();h._inactive.force()}h=this,this._initEvents(e),this._active.start()},_initEvents:function(e){var t=this,n=this._getEmitterTarget(e),i=(0,s.isMouseEvent)(e),a=r.default.isSimulator()||!i,l=(0,o.ensureDefined)(this.activeTimeout,30),u=(0,o.ensureDefined)(this.inactiveTimeout,400);this._active=new f(a?l:0,(function(){t._fireEvent(\"dxactive\",e,{target:n})})),this._inactive=new f(a?u:0,(function(){t._fireEvent(\"dxinactive\",e,{target:n}),h=null}))},cancel:function(e){this.end(e)},end:function(e){var t=e.type!==l.default.up;t?this._active.stop():this._active.force(),this._inactive.start(),t&&this._inactive.force()},dispose:function(){this._active.stop(),this._inactive.stop(),h===this&&(h=null),this.callBase()},lockInactive:function(){return this._active.force(),this._inactive.stop(),h=null,this._cancel(),this._inactive.force.bind(this._inactive)}});p.lock=function(e){var t=h?h.lockInactive():o.noop;e.done(t)},(0,d.default)({emitter:p,events:[\"dxactive\",\"dxinactive\"]});var g=p.lock;t.lock=g},31391:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(20576),a=u(n(38377)),r=u(n(44504)),s=n(13306),l=n(39611);function u(e){return e&&e.__esModule?e:{default:e}}var d=a.default.inherit({ctor:function(e){this._$element=(0,i.default)(e),this._cancelCallback=(0,r.default)(),this._acceptCallback=(0,r.default)()},getElement:function(){return this._$element},validate:function(e){return!(0,l.isDxMouseWheelEvent)(e)},validatePointers:function(e){return 1===(0,l.hasTouches)(e)},allowInterruptionByMouseWheel:function(){return!0},configure:function(e){(0,s.extend)(this,e)},addCancelCallback:function(e){this._cancelCallback.add(e)},removeCancelCallback:function(){this._cancelCallback.empty()},_cancel:function(e){this._cancelCallback.fire(this,e)},addAcceptCallback:function(e){this._acceptCallback.add(e)},removeAcceptCallback:function(){this._acceptCallback.empty()},_accept:function(e){this._acceptCallback.fire(this,e)},_requestAccept:function(e){this._acceptRequestEvent=e},_forgetAccept:function(){this._accept(this._acceptRequestEvent),this._acceptRequestEvent=null},start:o.noop,move:o.noop,end:o.noop,cancel:o.noop,reset:function(){this._acceptRequestEvent&&this._accept(this._acceptRequestEvent)},_fireEvent:function(e,t,n){var i=(0,s.extend)({type:e,originalEvent:t,target:this._getEmitterTarget(t),delegateTarget:this.getElement().get(0)},n);return(t=(0,l.fireEvent)(i)).cancel&&this._cancel(t),t},_getEmitterTarget:function(e){return(this.delegateSelector?(0,i.default)(e.target).closest(this.delegateSelector):this.getElement()).get(0)},dispose:o.noop});t.default=d,e.exports=t.default,e.exports.default=t.default},82495:function(e,t,n){t.default=void 0;var i=g(n(68374)),o=g(n(24311)),a=g(n(73349)),r=g(n(55994)),s=n(97906),l=g(n(38377)),u=n(13306),d=n(95479),c=g(n(85788)),h=n(39611),f=g(n(93786)),p=n(765);function g(e){return e&&e.__esModule?e:{default:e}}var m=new(l.default.inherit({ctor:function(){this._attachHandlers(),this.reset(),this._proxiedCancelHandler=this._cancelHandler.bind(this),this._proxiedAcceptHandler=this._acceptHandler.bind(this)},_attachHandlers:function(){o.default.add(function(){var e=a.default.getDocument();r.default.subscribeGlobal(e,(0,h.addNamespace)(f.default.down,\"dxEventManager\"),this._pointerDownHandler.bind(this)),r.default.subscribeGlobal(e,(0,h.addNamespace)(f.default.move,\"dxEventManager\"),this._pointerMoveHandler.bind(this)),r.default.subscribeGlobal(e,(0,h.addNamespace)([f.default.up,f.default.cancel].join(\" \"),\"dxEventManager\"),this._pointerUpHandler.bind(this)),r.default.subscribeGlobal(e,(0,h.addNamespace)(p.name,\"dxEventManager\"),this._mouseWheelHandler.bind(this))}.bind(this))},_eachEmitter:function(e){for(var t=this._activeEmitters||[],n=0;t.length>n;){var i=t[n];if(!1===e(i))break;t[n]===i&&n++}},_applyToEmitters:function(e,t){this._eachEmitter((function(n){n[e].call(n,t)}))},reset:function(){this._eachEmitter(this._proxiedCancelHandler),this._activeEmitters=[]},resetEmitter:function(e){this._proxiedCancelHandler(e)},_pointerDownHandler:function(e){(0,h.isMouseEvent)(e)&&e.which>1||this._updateEmitters(e)},_updateEmitters:function(e){this._isSetChanged(e)&&(this._cleanEmitters(e),this._fetchEmitters(e))},_isSetChanged:function(e){var t=this._closestEmitter(e),n=this._emittersSet||[],i=t.length!==n.length;return(0,d.each)(t,(function(e,t){return!(i=i||n[e]!==t)})),this._emittersSet=t,i},_closestEmitter:function(e){var t=this,n=[],o=(0,i.default)(e.target);function a(i,o){o&&o.validatePointers(e)&&o.validate(e)&&(o.addCancelCallback(t._proxiedCancelHandler),o.addAcceptCallback(t._proxiedAcceptHandler),n.push(o))}for(;o.length;){var r=(0,s.data)(o.get(0),\"dxEmitter\")||[];(0,d.each)(r,a),o=o.parent()}return n},_acceptHandler:function(e,t){var n=this;this._eachEmitter((function(i){i!==e&&n._cancelEmitter(i,t)}))},_cancelHandler:function(e,t){this._cancelEmitter(e,t)},_cancelEmitter:function(e,t){var n=this._activeEmitters;t?e.cancel(t):e.reset(),e.removeCancelCallback(),e.removeAcceptCallback();var i=n.indexOf(e);i>-1&&n.splice(i,1)},_cleanEmitters:function(e){this._applyToEmitters(\"end\",e),this.reset(e)},_fetchEmitters:function(e){this._activeEmitters=this._emittersSet.slice(),this._applyToEmitters(\"start\",e)},_pointerMoveHandler:function(e){this._applyToEmitters(\"move\",e)},_pointerUpHandler:function(e){this._updateEmitters(e)},_mouseWheelHandler:function(e){this._allowInterruptionByMouseWheel()&&(e.pointers=[null],this._pointerDownHandler(e),this._adjustWheelEvent(e),this._pointerMoveHandler(e),e.pointers=[],this._pointerUpHandler(e))},_allowInterruptionByMouseWheel:function(){var e=!0;return this._eachEmitter((function(t){return e=t.allowInterruptionByMouseWheel()&&e})),e},_adjustWheelEvent:function(e){var t=null;if(this._eachEmitter((function(n){if(n.gesture){var i=n.getDirection(e);return\"horizontal\"!==i&&!e.shiftKey||\"vertical\"!==i&&e.shiftKey?(t=n,!1):void 0}})),t){var n=t.getDirection(e),i=\"both\"===n&&!e.shiftKey||\"vertical\"===n;e[i?\"pageY\":\"pageX\"]+=e.delta}},isActive:function(e){var t=!1;return this._eachEmitter((function(n){t=t||n.getElement().is(e)})),t}})),_=function(e){var t=e.emitter,n=e.events[0],i=e.events;(0,d.each)(i,(function(o,a){(0,c.default)(a,{noBubble:!e.bubble,setup:function(e){var i=(0,s.data)(e,\"dxEmitterSubscription\")||{},o=(0,s.data)(e,\"dxEmitter\")||{},r=o[n]||new t(e);i[a]=!0,o[n]=r,(0,s.data)(e,\"dxEmitter\",o),(0,s.data)(e,\"dxEmitterSubscription\",i)},add:function(e,t){(0,s.data)(e,\"dxEmitter\")[n].configure((0,u.extend)({delegateSelector:t.selector},t.data),t.type)},teardown:function(e){var t=(0,s.data)(e,\"dxEmitterSubscription\"),o=(0,s.data)(e,\"dxEmitter\"),r=o[n];delete t[a];var l=!0;(0,d.each)(i,(function(e,n){return l=l&&!t[n]})),l&&(m.isActive(e)&&m.resetEmitter(r),r&&r.dispose(),delete o[n])}})}))};t.default=_,e.exports=t.default,e.exports.default=t.default},85788:function(e,t,n){t.default=void 0;var i,o=n(95479),a=(i=n(94553))&&i.__esModule?i:{default:i};var r=function(e,t){var n={};\"noBubble\"in t&&(n.noBubble=t.noBubble),\"bindType\"in t&&(n.bindType=t.bindType),\"delegateType\"in t&&(n.delegateType=t.delegateType),(0,o.each)([\"setup\",\"teardown\",\"add\",\"remove\",\"trigger\",\"handle\",\"_default\",\"dispose\"],(function(e,i){t[i]&&(n[i]=function(){var e=[].slice.call(arguments);return e.unshift(this),t[i].apply(t,e)})})),a.default.fire(e,n)};r.callbacks=a.default;var s=r;t.default=s,e.exports=t.default,e.exports.default=t.default},94553:function(e,t,n){var i;t.default=void 0;var o=new(((i=n(83358))&&i.__esModule?i:{default:i}).default);t.default=o,e.exports=t.default,e.exports.default=t.default},55994:function(e,t,n){t.default=void 0;var i=f(n(94553)),o=n(13306),a=f(n(73349)),r=n(58201),s=f(n(20476)),l=n(35922),u=f(n(44504)),d=f(n(17381)),c=f(n(2418)),h=f(n(39618));function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=(0,r.getWindow)(),_={mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},v={focusin:\"focus\",focusout:\"blur\"},y=[\"blur\",\"focus\",\"load\"],b=[\"touchmove\",\"wheel\",\"mousewheel\",\"touchstart\"];function x(e,t){return!(0,l.isWindow)(e)&&\"#document\"!==e.nodeName&&a.default.elementMatches(e,t)}var w,C,S,k=new WeakMap,D=0,I=(C={},i.default.add((function(e,t){C[e]=t})),{getField:function(e,t){return C[e]&&C[e][t]},callMethod:function(e,t,n,i){return C[e]&&C[e][t]&&C[e][t].apply(n,i)}}),T=(0,s.default)({on:O(R(L((function(e,t,n,i,o){P(e,t).addHandler(o,n,i)})))),one:O(R((function(e,t,n,i,o){T.on(e,t,n,i,(function i(){T.off(e,t,n,i),o.apply(this,arguments)}))}))),off:O((S=L((function(e,t,n,i){P(e,t).removeHandler(i,n)})),function(e,t,n,i){\"function\"==typeof n&&(i=n,n=void 0),S(e,t,n,i)})),trigger:O(B((function(e,t,n){var i=t.type,a=P(e,t.type);if(I.callMethod(i,\"trigger\",e,[t,n]),a.callHandlers(t,n),!(I.getField(i,\"noBubble\")||t.isPropagationStopped()||-1!==y.indexOf(i))){var r=[];!function e(t){var n,i=null!==(n=t.parentNode)&&void 0!==n?n:(0,l.isObject)(t.host)?t.host:null;i&&(r.push(i),e(i))}(e),r.push(m);for(var s=0;r[s]&&!t.isPropagationStopped();){P(r[s],t.type).callHandlers((0,o.extend)(t,{currentTarget:r[s]}),n),s++}}(e.nodeType||(0,l.isWindow)(e))&&(I.callMethod(i,\"_default\",e,[t,n]),function(e,t){var n=v[e]||e;if(function(e,t){return\"click\"===e&&\"a\"===t.localName}(e,t))return;(0,l.isFunction)(t[n])&&(w=e,t[n](),w=void 0)}(i,e))}))),triggerHandler:O(B((function(e,t,n){P(e,t.type).callHandlers(t,n)})))});function E(e,t){var n=e[0];if(n)if(a.default.isNode(n)||(0,l.isWindow)(n))t.apply(T,e);else{if((0,l.isString)(n)||!(\"length\"in n))throw d.default.Error(\"E0025\");var i=Array.prototype.slice.call(e,0);Array.prototype.forEach.call(n,(function(e){i[0]=e,E(i,t)}))}}function O(e){return function(){E(arguments,e)}}var A=(0,h.default)((function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){return e=!0,!0}});m.addEventListener(\"test\",null,t)}catch(e){}return e}));function P(e,t){var n=k.get(e),i=(t=t||\"\").split(\".\"),o=i.slice(1),r=!!i[0];t=i[0]||\"dxEmptyEventType\",n||(n={},k.set(e,n)),n[t]||(n[t]={handleObjects:[],nativeHandler:null});var s=n[t];return{addHandler:function(n,i,u){var d=function(i,o){var a,r,s=[i],d=i.currentTarget,c=i.relatedTarget;t in _&&(a=c&&d&&(c===d||function e(t,n){return(0,l.isWindow)(t)?e(t.document,n):t.contains?t.contains(n):!!(n.compareDocumentPosition(t)&n.DOCUMENT_POSITION_CONTAINS)}(d,c))),void 0!==o&&s.push(o),I.callMethod(t,\"handle\",e,[i,u]),a||(r=n.apply(d,s)),!1===r&&(i.preventDefault(),i.stopPropagation())},c={handler:n,wrappedHandler:function(t,n){if(!w||t.type!==w)if(t.data=u,t.delegateTarget=e,i)for(var o=t.target;o&&o!==e;)x(o,i)&&(t.currentTarget=o,d(t,n)),o=o.parentNode;else t.currentTarget=t.delegateTarget||t.target,d(t,n)},selector:i,type:t,data:u,namespace:o.join(\".\"),namespaces:o,guid:++D};s.handleObjects.push(c);var h,f,p=1===s.handleObjects.length&&r;p&&(p=!I.callMethod(t,\"setup\",e,[u,o,n])),p&&(s.nativeHandler=(f=t,function(e,t){var n=P(this,f);e=T.Event(e),n.callHandlers(e,t)}),A()&&b.indexOf(t)>-1&&(h={passive:!1}),s.removeListener=a.default.listen(e,_[t]||t,s.nativeHandler,h)),I.callMethod(t,\"add\",e,[c])},removeHandler:function(i,a){var s=function(t){var r,s=n[t];s.handleObjects.length?(s.handleObjects=s.handleObjects.filter((function(n){var s=o.length&&!M(n.namespaces,o)||i&&n.handler!==i||a&&n.selector!==a;return s||(r=n.handler,I.callMethod(t,\"remove\",e,[n])),s})),!s.handleObjects.length&&\"dxEmptyEventType\"!==t&&(I.callMethod(t,\"teardown\",e,[o,r]),s.nativeHandler&&s.removeListener(),delete n[t])):delete n[t]};if(r)s(t);else for(var l in n)s(l);0===Object.keys(n).length&&k.delete(e)},callHandlers:function(e,t){var i=!1,a=function(n){i||o.length&&!M(n.namespaces,o)||(n.wrappedHandler(e,t),i=e.isImmediatePropagationStopped())};s.handleObjects.forEach(a),o.length&&n.dxEmptyEventType&&n.dxEmptyEventType.handleObjects.forEach(a)}}}function M(e,t){for(var n=0;n<t.length;n++)if(e.indexOf(t[n])<0)return!1;return!0}function R(e){return function(t,n,i,o,a){a||(a=o,o=void 0),\"string\"!=typeof i&&(o=i,i=void 0),a||\"string\"!=typeof n||(a=o||i,i=void 0,o=void 0),e(t,n,i,o,a)}}function B(e){return function(t,n,i){\"string\"==typeof n&&(n={type:n}),n.target||(n.target=t),n.currentTarget=t,n.delegateTarget||(n.delegateTarget=t),!n.type&&n.originalEvent&&(n.type=n.originalEvent.type),e(t,n instanceof T.Event?n:T.Event(n),i)}}function L(e){var t=function(t,n){if(n&&n.indexOf(\" \")>-1){var i=Array.prototype.slice.call(arguments,0);n.split(\" \").forEach((function(t){i[1]=t,e.apply(this,i)}))}else e.apply(this,arguments)};return function(e,n){if(\"object\"===p(n)){var i=Array.prototype.slice.call(arguments,0);for(var o in n)i[1]=o,i[i.length-1]=n[o],t.apply(this,i)}else t.apply(this,arguments)}}function V(e){if(function(e){return null==e.which&&0===e.type.indexOf(\"key\")}(e))return null!=e.charCode?e.charCode:e.keyCode;if(function(e){return!e.which&&void 0!==e.button&&/^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(e.type)}(e)){return{1:1,2:3,3:1,4:2}[e.button]}return e.which}function F(e){e&&(T.Event=e,T.Event.prototype=e.prototype)}function H(e,t,n){Object.defineProperty(n||T.Event.prototype,e,{enumerable:!0,configurable:!0,get:function(){return this.originalEvent&&t(this.originalEvent)},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})}F(function(e){return T.Event=function(t,n){if(!(this instanceof T.Event))return new T.Event(t,n);t||(t={}),\"string\"==typeof t&&(t={type:t}),n||(n={}),e.call(this,t,n)},g(T.Event.prototype,{_propagationStopped:!1,_immediatePropagationStopped:!1,_defaultPrevented:!1,isPropagationStopped:function(){return!!(this._propagationStopped||this.originalEvent&&this.originalEvent.propagationStopped)},stopPropagation:function(){this._propagationStopped=!0,this.originalEvent&&this.originalEvent.stopPropagation()},isImmediatePropagationStopped:function(){return this._immediatePropagationStopped},stopImmediatePropagation:function(){this.stopPropagation(),this._immediatePropagationStopped=!0,this.originalEvent&&this.originalEvent.stopImmediatePropagation()},isDefaultPrevented:function(){return!!(this._defaultPrevented||this.originalEvent&&this.originalEvent.defaultPrevented)},preventDefault:function(){this._defaultPrevented=!0,this.originalEvent&&this.originalEvent.preventDefault()}}),T.Event}((function(e,t){var n;e instanceof T.Event||(0,r.hasWindow)()&&e instanceof m.Event||(null===(n=e.view)||void 0===n?void 0:n.Event)&&e instanceof e.view.Event?(this.originalEvent=e,this.type=e.type,this.currentTarget=void 0,Object.prototype.hasOwnProperty.call(e,\"isTrusted\")&&(this.isTrusted=e.isTrusted),this.timeStamp=e.timeStamp||Date.now()):g(this,e),H(\"which\",V,this),0===e.type.indexOf(\"touch\")&&(delete t.pageX,delete t.pageY),g(this,t),this.guid=++D}))),[\"target\",\"relatedTarget\",\"delegateTarget\",\"altKey\",\"bubbles\",\"cancelable\",\"changedTouches\",\"ctrlKey\",\"detail\",\"eventPhase\",\"metaKey\",\"shiftKey\",\"view\",\"char\",\"code\",\"charCode\",\"key\",\"keyCode\",\"button\",\"buttons\",\"offsetX\",\"offsetY\",\"pointerId\",\"pointerType\",\"targetTouches\",\"toElement\",\"touches\"].forEach((function(e){return H(e,(function(t){return t[e]}))})),(0,c.default)(H);var N=(0,u.default)(),z=(0,u.default)();T.set=function(e){N.fire(),T.inject(e),F(e.Event),z.fire()},T.subscribeGlobal=function(){E(arguments,R((function(){var e=arguments;T.on.apply(this,e),N.add((function(){var t=Array.prototype.slice.call(e,0);t.splice(3,1),T.off.apply(this,t)})),z.add((function(){T.on.apply(this,e)}))})))},T.forcePassiveFalseEventNames=b,T.passiveEventHandlersSupported=A;var j=T;t.default=j,e.exports=t.default,e.exports.default=t.default},2418:function(e,t){t.default=function(e){n.forEach((function(t){e(t,(function(e){return function(e,t){if(t[e]&&!t.touches||!t.touches)return t[e];var n=t.touches.length?t.touches:t.changedTouches;if(!n.length)return;return n[0][e]}(t,e)}))}),this)};var n=[\"pageX\",\"pageY\",\"screenX\",\"screenY\",\"clientX\",\"clientY\"];e.exports=t.default,e.exports.default=t.default},51661:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=s(n(55994)),a=s(n(38377)),r=n(39611);function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return{keyName:(0,r.normalizeKeyName)(e),key:e.key,code:e.code,ctrl:e.ctrlKey,location:e.location,metaKey:e.metaKey,shift:e.shiftKey,alt:e.altKey,which:e.which,originalEvent:e}},u=a.default.inherit({_keydown:(0,r.addNamespace)(\"keydown\",\"KeyboardProcessor\"),_compositionStart:(0,r.addNamespace)(\"compositionstart\",\"KeyboardProcessor\"),_compositionEnd:(0,r.addNamespace)(\"compositionend\",\"KeyboardProcessor\"),ctor:function(e){var t=this;(e=e||{}).element&&(this._element=(0,i.default)(e.element)),e.focusTarget&&(this._focusTarget=e.focusTarget),this._handler=e.handler,this._element&&(this._processFunction=function(e){var n=(0,i.default)(t._focusTarget).toArray(),o=t._focusTarget&&t._focusTarget!==e.target&&!n.includes(e.target),a=t._isComposingJustFinished&&229===e.which||t._isComposing||o;t._isComposingJustFinished=!1,a||t.process(e)},this._toggleProcessingWithContext=this.toggleProcessing.bind(this),o.default.on(this._element,this._keydown,this._processFunction),o.default.on(this._element,this._compositionStart,this._toggleProcessingWithContext),o.default.on(this._element,this._compositionEnd,this._toggleProcessingWithContext))},dispose:function(){this._element&&(o.default.off(this._element,this._keydown,this._processFunction),o.default.off(this._element,this._compositionStart,this._toggleProcessingWithContext),o.default.off(this._element,this._compositionEnd,this._toggleProcessingWithContext)),this._element=void 0,this._handler=void 0},process:function(e){this._handler(l(e))},toggleProcessing:function(e){var t=e.type;this._isComposing=\"compositionstart\"===t,this._isComposingJustFinished=!this._isComposing}});u.createKeyDownOptions=l;var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},765:function(e,t,n){t.name=void 0;var i=s(n(68374)),o=s(n(55994)),a=s(n(85788)),r=n(39611);function s(e){return e&&e.__esModule?e:{default:e}}t.name=\"dxmousewheel\";var l={setup:function(e){var t=(0,i.default)(e);o.default.on(t,(0,r.addNamespace)(\"wheel\",\"dxWheel\"),l._wheelHandler.bind(l))},teardown:function(e){o.default.off(e,\".\".concat(\"dxWheel\"))},_wheelHandler:function(e){var t=e.originalEvent,n=t.deltaMode,i=t.deltaY,o=t.deltaX,a=t.deltaZ;(0,r.fireEvent)({type:\"dxmousewheel\",originalEvent:e,delta:this._normalizeDelta(i,n),deltaX:o,deltaY:i,deltaZ:a,deltaMode:n,pointerType:\"mouse\"}),e.stopPropagation()},_normalizeDelta:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return 0===t?-e:-30*e}};(0,a.default)(\"dxmousewheel\",l)},85272:function(e,t,n){t.name=void 0;var i=d(n(55994)),o=n(3532),a=d(n(73349)),r=d(n(38377)),s=d(n(85788)),l=n(95429),u=n(39611);function d(e){return e&&e.__esModule?e:{default:e}}t.name=\"dxdblclick\";var c=(0,u.addNamespace)(l.name,\"dxDblClick\"),h=r.default.inherit({ctor:function(){this._handlerCount=0,this._forgetLastClick()},_forgetLastClick:function(){this._firstClickTarget=null,this._lastClickTimeStamp=-300},add:function(){this._handlerCount<=0&&i.default.on(a.default.getDocument(),c,this._clickHandler.bind(this)),this._handlerCount++},_clickHandler:function(e){var t=e.timeStamp||Date.now(),n=t-this._lastClickTimeStamp;!(n<0)&&n<300?((0,u.fireEvent)({type:\"dxdblclick\",target:(0,o.closestCommonParent)(this._firstClickTarget,e.target),originalEvent:e}),this._forgetLastClick()):(this._firstClickTarget=e.target,this._lastClickTimeStamp=t)},remove:function(){this._handlerCount--,this._handlerCount<=0&&(this._forgetLastClick(),i.default.off(a.default.getDocument(),c))}});(0,s.default)(\"dxdblclick\",new h)},23174:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.start=t.move=t.leave=t.enter=t.end=t.drop=void 0;var o=p(n(68374)),a=n(97906),r=n(89386),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95479)),l=n(3532),u=p(n(85788)),d=n(39611),c=p(n(98621)),h=p(n(82495));function f(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}function p(e){return e&&e.__esModule?e:{default:e}}t.start=\"dxdragstart\";t.move=\"dxdrag\";t.end=\"dxdragend\";var g=\"dxdragenter\";t.enter=g;var m=\"dxdragleave\";t.leave=m;var _=\"dxdrop\";t.drop=_;var v=[],y=[],b=[],x={setup:function(e,t){v.includes(e)||(v.push(e),y.push([]),b.push(t||{}))},add:function(e,t){var n=v.indexOf(e);this.updateEventsCounter(e,t.type,1);var i=t.selector;y[n].includes(i)||y[n].push(i)},updateEventsCounter:function(e,t,n){if([g,m,_].indexOf(t)>-1){var i=(0,a.data)(e,\"dxDragEventsCount\")||0;(0,a.data)(e,\"dxDragEventsCount\",Math.max(0,i+n))}},remove:function(e,t){this.updateEventsCounter(e,t.type,-1)},teardown:function(e){if(!(0,a.data)(e,\"dxDragEventsCount\")){var t=v.indexOf(e);v.splice(t,1),y.splice(t,1),b.splice(t,1),(0,a.removeData)(e,\"dxDragEventsCount\")}}};(0,u.default)(g,x),(0,u.default)(m,x),(0,u.default)(_,x);var w=c.default.inherit({ctor:function(e){this.callBase(e),this.direction=\"both\"},_init:function(e){this._initEvent=e},_start:function(e){if(e=this._fireEvent(\"dxdragstart\",this._initEvent),this._maxLeftOffset=e.maxLeftOffset,this._maxRightOffset=e.maxRightOffset,this._maxTopOffset=e.maxTopOffset,this._maxBottomOffset=e.maxBottomOffset,e.targetElements||null===e.targetElements){var t=(0,r.wrapToArray)(e.targetElements||[]);this._dropTargets=s.map(t,(function(e){return(0,o.default)(e).get(0)}))}else this._dropTargets=v},_move:function(e){var t=(0,d.eventData)(e),n=this._calculateOffset(t);e=this._fireEvent(\"dxdrag\",e,{offset:n}),this._processDropTargets(e),e._cancelPreventDefault||e.preventDefault()},_calculateOffset:function(e){return{x:this._calculateXOffset(e),y:this._calculateYOffset(e)}},_calculateXOffset:function(e){if(\"vertical\"!==this.direction){var t=e.x-this._startEventData.x;return this._fitOffset(t,this._maxLeftOffset,this._maxRightOffset)}return 0},_calculateYOffset:function(e){if(\"horizontal\"!==this.direction){var t=e.y-this._startEventData.y;return this._fitOffset(t,this._maxTopOffset,this._maxBottomOffset)}return 0},_fitOffset:function(e,t,n){return null!=t&&(e=Math.max(e,-t)),null!=n&&(e=Math.min(e,n)),e},_processDropTargets:function(e){var t=this._findDropTarget(e);t===this._currentDropTarget||(this._fireDropTargetEvent(e,m),this._currentDropTarget=t,this._fireDropTargetEvent(e,g))},_fireDropTargetEvent:function(e,t){if(this._currentDropTarget){var n={type:t,originalEvent:e,draggingElement:this._$element.get(0),target:this._currentDropTarget};(0,d.fireEvent)(n)}},_findDropTarget:function(e){var t,n=this;return s.each(v,(function(i,a){if(n._checkDropTargetActive(a)){var r,l,u,d,c=(0,o.default)(a);s.each((r=c,l=v.indexOf(r.get(0)),u=y[l].filter((function(e){return e})),d=r.find(u.join(\", \")),y[l].includes(void 0)&&(d=d.add(r)),d),(function(i,a){var r=(0,o.default)(a);n._checkDropTarget(function(e){var t=v.indexOf(e.get(0));return b[t]}(c),r,(0,o.default)(t),e)&&(t=a)}))}})),t},_checkDropTargetActive:function(e){var t=!1;return s.each(this._dropTargets,(function(n,i){return!(t=t||i===e||(0,l.contains)(i,e))})),t},_checkDropTarget:function(e,t,n,i){if(t.get(0)===(0,o.default)(i.target).get(0))return!1;var a,r,s=(r=t,(a=e).itemPositionFunc?a.itemPositionFunc(r):r.offset());if(i.pageX<s.left)return!1;if(i.pageY<s.top)return!1;var l=function(e,t){return e.itemSizeFunc?e.itemSizeFunc(t):{width:t.get(0).getBoundingClientRect().width,height:t.get(0).getBoundingClientRect().height}}(e,t);return!(i.pageX>s.left+l.width)&&(!(i.pageY>s.top+l.height)&&((!n.length||!n.closest(t).length)&&(!(e.checkDropTarget&&!e.checkDropTarget(t,i))&&t)))},_end:function(e){var t=(0,d.eventData)(e);this._fireEvent(\"dxdragend\",e,{offset:this._calculateOffset(t)}),this._fireDropTargetEvent(e,_),delete this._currentDropTarget}});(0,h.default)({emitter:w,events:[\"dxdragstart\",\"dxdrag\",\"dxdragend\"]})},98621:function(e,t,n){t.default=void 0;var i=g(n(68374)),o=g(n(55994)),a=g(n(20530)),r=n(80968),s=g(n(39618)),l=n(3532),u=g(n(24311)),d=n(60810),c=n(20576),h=n(35922),f=n(39611),p=g(n(31391));function g(e){return e&&e.__esModule?e:{default:e}}var m=u.default.add,_=Math.abs,v=10,y=(0,s.default)((function(){var e=\"desktop\"===a.default.real().deviceType;if(!(0,r.styleProp)(\"pointer-events\")||!e)return c.noop;var t=(0,i.default)(\"<div>\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\",\"none\");return o.default.subscribeGlobal(t,\"dxmousewheel\",(function(e){e.preventDefault()})),m((function(){t.appendTo(\"body\")})),function(e,n){t.css(\"pointerEvents\",e?\"all\":\"none\"),e&&t.css(\"cursor\",n)}})),b=p.default.inherit({gesture:!0,configure:function(e){this.getElement().css(\"msTouchAction\",e.immediate?\"pinch-zoom\":\"\"),this.callBase(e)},allowInterruptionByMouseWheel:function(){return 2!==this._stage},getDirection:function(){return this.direction},_cancel:function(){this.callBase.apply(this,arguments),this._toggleGestureCover(!1),this._stage=0},start:function(e){e._needSkipEvent||(0,f.needSkipEvent)(e)?this._cancel(e):(this._startEvent=(0,f.createEvent)(e),this._startEventData=(0,f.eventData)(e),this._stage=1,this._init(e),this._setupImmediateTimer())},_setupImmediateTimer:function(){var e;clearTimeout(this._immediateTimer),this._immediateAccepted=!1,this.immediate&&(0!==this.immediateTimeout?this._immediateTimer=setTimeout(function(){this._immediateAccepted=!0}.bind(this),null!==(e=this.immediateTimeout)&&void 0!==e?e:180):this._immediateAccepted=!0)},move:function(e){if(1===this._stage&&this._directionConfirmed(e)){if(this._stage=2,this._resetActiveElement(),this._toggleGestureCover(!0),this._clearSelection(e),this._adjustStartEvent(e),this._start(this._startEvent),0===this._stage)return;this._requestAccept(e),this._move(e),this._forgetAccept()}else 2===this._stage&&(this._clearSelection(e),this._move(e))},_directionConfirmed:function(e){var t=this._getTouchBoundary(e),n=(0,f.eventDelta)(this._startEventData,(0,f.eventData)(e)),i=_(n.x),o=_(n.y),a=this._validateMove(t,i,o),r=this._validateMove(t,o,i),s=this.getDirection(e);return\"both\"===s&&(a||r)||\"horizontal\"===s&&a||\"vertical\"===s&&r||this._immediateAccepted},_validateMove:function(e,t,n){return t&&t>=e&&(!this.immediate||t>=n)},_getTouchBoundary:function(e){return this.immediate||(0,f.isDxMouseWheelEvent)(e)?0:v},_adjustStartEvent:function(e){var t=this._getTouchBoundary(e),n=(0,f.eventDelta)(this._startEventData,(0,f.eventData)(e));this._startEvent.pageX+=(0,d.sign)(n.x)*t,this._startEvent.pageY+=(0,d.sign)(n.y)*t},_resetActiveElement:function(){\"ios\"===a.default.real().platform&&this.getElement().find(\":focus\").length&&(0,l.resetActiveElement)()},_toggleGestureCover:function(e){this._toggleGestureCoverImpl(e)},_toggleGestureCoverImpl:function(e){2===this._stage&&function(e,t){y()(e,t)}(e,this.getElement().css(\"cursor\"))},_clearSelection:function(e){(0,f.isDxMouseWheelEvent)(e)||(0,f.isTouchEvent)(e)||(0,l.clearSelection)()},end:function(e){this._toggleGestureCover(!1),2===this._stage?this._end(e):1===this._stage&&this._stop(e),this._stage=0},dispose:function(){clearTimeout(this._immediateTimer),this.callBase.apply(this,arguments),this._toggleGestureCover(!1)},_init:c.noop,_start:c.noop,_move:c.noop,_stop:c.noop,_end:c.noop});b.initialTouchBoundary=v,b.touchBoundary=function(e){if(!(0,h.isDefined)(e))return v;v=e};var x=b;t.default=x,e.exports=t.default,e.exports.default=t.default},37334:function(e,t,n){t.default=void 0;var i=d(n(55994)),o=d(n(38377)),a=n(39611),r=d(n(98621)),s=d(n(82495)),l=n(90057),u=d(n(20530));function d(e){return e&&e.__esModule?e:{default:e}}var c,h,f,p=o.default.abstract,g=u.default.real(),m=o.default.inherit((c=(0,a.addNamespace)(\"scroll\",\"dxScrollEmitter\"),{ctor:function(e){var t=this;this._element=e,this._locked=!1,this._proxiedScroll=function(e){t._disposed||t._scroll(e)},i.default.on(this._element,c,this._proxiedScroll)},_scroll:p,check:function(e,t){this._locked&&t()},dispose:function(){this._disposed=!0,i.default.off(this._element,c,this._proxiedScroll)}})),_=m.inherit({ctor:function(e,t){this.callBase(e),this._timeout=t},_scroll:function(){this._prepare(),this._forget()},_prepare:function(){this._timer&&this._clearTimer(),this._locked=!0},_clearTimer:function(){clearTimeout(this._timer),this._locked=!1,this._timer=null},_forget:function(){var e=this;this._timer=setTimeout((function(){e._clearTimer()}),this._timeout)},dispose:function(){this.callBase(),this._clearTimer()}}),v=_.inherit({ctor:function(e){this.callBase(e,400),this._lastWheelDirection=null},check:function(e,t){this._checkDirectionChanged(e),this.callBase(e,t)},_checkDirectionChanged:function(e){if((0,a.isDxMouseWheelEvent)(e)){var t=e.shiftKey||!1,n=null!==this._lastWheelDirection&&t!==this._lastWheelDirection;this._lastWheelDirection=t,this._locked=this._locked&&!n}else this._lastWheelDirection=null}}),y=_.inherit({ctor:function(e){this.callBase(e,400)}});h=g.ios,f=g.android,(h||f)&&(y=m.inherit({_scroll:function(){this._locked=!0;var e=this;(0,l.cancelAnimationFrame)(this._scrollFrame),this._scrollFrame=(0,l.requestAnimationFrame)((function(){e._locked=!1}))},check:function(e,t){(0,l.cancelAnimationFrame)(this._scrollFrame),(0,l.cancelAnimationFrame)(this._checkFrame);var n=this,i=this.callBase;this._checkFrame=(0,l.requestAnimationFrame)((function(){i.call(n,e,t),n._locked=!1}))},dispose:function(){this.callBase(),(0,l.cancelAnimationFrame)(this._scrollFrame),(0,l.cancelAnimationFrame)(this._checkFrame)}}));var b,x=r.default.inherit((b=Math.round(1e3/60),{ctor:function(e){this.callBase.apply(this,arguments),this.direction=\"both\",this._pointerLocker=new y(e),this._wheelLocker=new v(e)},validate:function(){return!0},configure:function(e){e.scrollTarget&&(this._pointerLocker.dispose(),this._wheelLocker.dispose(),this._pointerLocker=new y(e.scrollTarget),this._wheelLocker=new v(e.scrollTarget)),this.callBase(e)},_init:function(e){this._wheelLocker.check(e,function(){(0,a.isDxMouseWheelEvent)(e)&&this._accept(e)}.bind(this)),this._pointerLocker.check(e,function(){var t=this.isNative&&(0,a.isMouseEvent)(e);(0,a.isDxMouseWheelEvent)(e)||t||this._accept(e)}.bind(this)),this._fireEvent(\"dxscrollinit\",e),this._prevEventData=(0,a.eventData)(e)},move:function(e){this.callBase.apply(this,arguments),e.isScrollingEvent=this.isNative||e.isScrollingEvent},_start:function(e){this._savedEventData=(0,a.eventData)(e),this._fireEvent(\"dxscrollstart\",e),this._prevEventData=(0,a.eventData)(e)},_move:function(e){var t=(0,a.eventData)(e);this._fireEvent(\"dxscroll\",e,{delta:(0,a.eventDelta)(this._prevEventData,t)}),(0,a.eventDelta)(this._savedEventData,t).time>200&&(this._savedEventData=this._prevEventData),this._prevEventData=(0,a.eventData)(e)},_end:function(e){var t=(0,a.eventDelta)(this._prevEventData,(0,a.eventData)(e)),n={x:0,y:0};if(!(0,a.isDxMouseWheelEvent)(e)&&t.time<100){var i=(0,a.eventDelta)(this._savedEventData,this._prevEventData),o=b/i.time;n={x:i.x*o,y:i.y*o}}this._fireEvent(\"dxscrollend\",e,{velocity:n})},_stop:function(e){this._fireEvent(\"dxscrollstop\",e)},cancel:function(e){this.callBase.apply(this,arguments),this._fireEvent(\"dxscrollcancel\",e)},dispose:function(){this.callBase.apply(this,arguments),this._pointerLocker.dispose(),this._wheelLocker.dispose()},_clearSelection:function(){if(!this.isNative)return this.callBase.apply(this,arguments)},_toggleGestureCover:function(){if(!this.isNative)return this.callBase.apply(this,arguments)}}));(0,s.default)({emitter:x,events:[\"dxscrollinit\",\"dxscrollstart\",\"dxscroll\",\"dxscrollend\",\"dxscrollstop\",\"dxscrollcancel\"]});var w={init:\"dxscrollinit\",start:\"dxscrollstart\",move:\"dxscroll\",end:\"dxscrollend\",stop:\"dxscrollstop\",cancel:\"dxscrollcancel\",scroll:\"scroll\"};t.default=w,e.exports=t.default,e.exports.default=t.default},66894:function(e,t,n){t.default=void 0;var i=n(34309),o=d(n(55994)),a=d(n(13046)),r=n(95479),s=n(39611),l=n(13306),u=n(9321);function d(e){return e&&e.__esModule?e:{default:e}}var c={onStart:i.start,onUpdated:i.swipe,onEnd:i.end,onCancel:\"dxswipecancel\"},h=a.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{elastic:!0,immediate:!1,immediateTimeout:180,direction:\"horizontal\",itemSizeFunc:null,onStart:null,onUpdated:null,onEnd:null,onCancel:null})},_render:function(){this.callBase(),this.$element().addClass(\"dx-swipeable\"),this._attachEventHandlers()},_attachEventHandlers:function(){if(this._detachEventHandlers(),!this.option(\"disabled\")){var e=this.NAME;this._createEventData(),(0,r.each)(c,function(t,n){var i=this._createActionByOption(t,{context:this});n=(0,s.addNamespace)(n,e),o.default.on(this.$element(),n,this._eventData,(function(e){return i({event:e})}))}.bind(this))}},_createEventData:function(){this._eventData={elastic:this.option(\"elastic\"),itemSizeFunc:this.option(\"itemSizeFunc\"),direction:this.option(\"direction\"),immediate:this.option(\"immediate\"),immediateTimeout:this.option(\"immediateTimeout\")}},_detachEventHandlers:function(){o.default.off(this.$element(),\".dxSwipeable\")},_optionChanged:function(e){switch(e.name){case\"disabled\":case\"onStart\":case\"onUpdated\":case\"onEnd\":case\"onCancel\":case\"elastic\":case\"immediate\":case\"itemSizeFunc\":case\"direction\":this._detachEventHandlers(),this._attachEventHandlers();break;case\"rtlEnabled\":break;default:this.callBase(e)}},_useTemplates:function(){return!1}});(0,u.name)(h,\"dxSwipeable\");var f=h;t.default=f,e.exports=t.default,e.exports.default=t.default},11699:function(e,t,n){t.default=void 0;var i=n(39611),o=r(n(31391)),a=r(n(82495));function r(e){return e&&e.__esModule?e:{default:e}}var s=Math.abs,l=o.default.inherit({start:function(e){this._startEventData=(0,i.eventData)(e),this._startTimer(e)},_startTimer:function(e){var t=\"timeout\"in this?this.timeout:750;this._holdTimer=setTimeout(function(){this._requestAccept(e),this._fireEvent(\"dxhold\",e,{target:e.target}),this._forgetAccept()}.bind(this),t)},move:function(e){this._touchWasMoved(e)&&this._cancel(e)},_touchWasMoved:function(e){var t=(0,i.eventDelta)(this._startEventData,(0,i.eventData)(e));return s(t.x)>5||s(t.y)>5},end:function(){this._stopTimer()},_stopTimer:function(){clearTimeout(this._holdTimer)},cancel:function(){this._stopTimer()},dispose:function(){this._stopTimer()}});(0,a.default)({emitter:l,bubble:!0,events:[\"dxhold\"]});var u={name:\"dxhold\"};t.default=u,e.exports=t.default,e.exports.default=t.default},24028:function(e,t,n){t.start=t.end=void 0;var i=d(n(55994)),o=n(97906),a=d(n(38377)),r=d(n(20530)),s=d(n(85788)),l=n(39611),u=d(n(93786));function d(e){return e&&e.__esModule?e:{default:e}}t.start=\"dxhoverstart\";var c=(0,l.addNamespace)(u.default.enter,\"dxHoverStart\");t.end=\"dxhoverend\";var h=(0,l.addNamespace)(u.default.leave,\"dxHoverEnd\"),f=a.default.inherit({noBubble:!0,ctor:function(){this._handlerArrayKeyPath=this._eventNamespace+\"_HandlerStore\"},setup:function(e){(0,o.data)(e,this._handlerArrayKeyPath,{})},add:function(e,t){var n=this,a=function(e){n._handler(e)};i.default.on(e,this._originalEventName,t.selector,a),(0,o.data)(e,this._handlerArrayKeyPath)[t.guid]=a},_handler:function(e){(0,l.isTouchEvent)(e)||r.default.isSimulator()||(0,l.fireEvent)({type:this._eventName,originalEvent:e,delegateTarget:e.delegateTarget})},remove:function(e,t){var n=(0,o.data)(e,this._handlerArrayKeyPath)[t.guid];i.default.off(e,this._originalEventName,t.selector,n)},teardown:function(e){(0,o.removeData)(e,this._handlerArrayKeyPath)}}),p=f.inherit({ctor:function(){this._eventNamespace=\"dxHoverStart\",this._eventName=\"dxhoverstart\",this._originalEventName=c,this.callBase()},_handler:function(e){(e.pointers||[]).length||this.callBase(e)}}),g=f.inherit({ctor:function(){this._eventNamespace=\"dxHoverEnd\",this._eventName=\"dxhoverend\",this._originalEventName=h,this.callBase()}});(0,s.default)(\"dxhoverstart\",new p),(0,s.default)(\"dxhoverend\",new g)},66365:function(e,t,n){t.triggerHandler=t.trigger=t.one=t.on=t.off=t.Event=void 0;var i,o=(i=n(55994))&&i.__esModule?i:{default:i};var a=o.default.on;t.on=a;var r=o.default.one;t.one=r;var s=o.default.off;t.off=s;var l=o.default.trigger;t.trigger=l;var u=o.default.triggerHandler;t.triggerHandler=u;var d=o.default.Event;t.Event=d},93786:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=h(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(60137)),a=n(95479),r=c(n(20530)),s=c(n(85788)),l=c(n(69120)),u=c(n(66509)),d=c(n(87720));function c(e){return e&&e.__esModule?e:{default:e}}function h(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(h=function(e){return e?n:t})(e)}var f=function(e,t){var n=t.tablet,i=t.phone;return!e.touch||n||i?e.touch?l.default:u.default:d.default}(o,r.default.real());(0,a.each)(f.map,(function(e,t){(0,s.default)(e,new f(e,t))}));var p={down:\"dxpointerdown\",up:\"dxpointerup\",move:\"dxpointermove\",cancel:\"dxpointercancel\",enter:\"dxpointerenter\",leave:\"dxpointerleave\",over:\"dxpointerover\",out:\"dxpointerout\"};t.default=p,e.exports=t.default,e.exports.default=t.default},88136:function(e,t,n){t.default=void 0;var i=l(n(55994)),o=l(n(47810)),a=l(n(73349)),r=l(n(38377)),s=n(39611);function l(e){return e&&e.__esModule?e:{default:e}}var u=r.default.inherit({ctor:function(e,t){this._eventName=e,this._originalEvents=(0,s.addNamespace)(t,\"dxPointerEvents\"),this._handlerCount=0,this.noBubble=this._isNoBubble()},_isNoBubble:function(){var e=this._eventName;return\"dxpointerenter\"===e||\"dxpointerleave\"===e},_handler:function(e){var t,n=this._getDelegateTarget(e),i={type:this._eventName,pointerType:e.pointerType||(0,s.eventSource)(e),originalEvent:e,delegateTarget:n,timeStamp:o.default.mozilla?(new Date).getTime():e.timeStamp},a=e.originalEvent;if(null!=a&&null!==(t=a.target)&&void 0!==t&&t.shadowRoot){var r,l,u=null!==(r=a.path)&&void 0!==r?r:null===(l=a.composedPath)||void 0===l?void 0:l.call(a);i.target=u[0]}return this._fireEvent(i)},_getDelegateTarget:function(e){var t;return this.noBubble&&(t=e.delegateTarget),t},_fireEvent:function(e){return(0,s.fireEvent)(e)},_setSelector:function(e){this._selector=this.noBubble&&e?e.selector:null},_getSelector:function(){return this._selector},setup:function(){return!0},add:function(e,t){if(this._handlerCount<=0||this.noBubble){e=this.noBubble?e:a.default.getDocument(),this._setSelector(t);var n=this;i.default.on(e,this._originalEvents,this._getSelector(),(function(e){n._handler(e)}))}this.noBubble||this._handlerCount++},remove:function(e){this._setSelector(e),this.noBubble||this._handlerCount--},teardown:function(e){this._handlerCount&&!this.noBubble||(e=this.noBubble?e:a.default.getDocument(),\".dxPointerEvents\"!==this._originalEvents&&i.default.off(e,this._originalEvents,this._getSelector()))},dispose:function(e){e=this.noBubble?e:a.default.getDocument(),i.default.off(e,this._originalEvents)}});t.default=u,e.exports=t.default,e.exports.default=t.default},66509:function(e,t,n){t.default=void 0;var i=n(13306),o=r(n(88136)),a=r(n(25544));function r(e){return e&&e.__esModule?e:{default:e}}var s,l={dxpointerdown:\"mousedown\",dxpointermove:\"mousemove\",dxpointerup:\"mouseup\",dxpointercancel:\"\",dxpointerover:\"mouseover\",dxpointerout:\"mouseout\",dxpointerenter:\"mouseenter\",dxpointerleave:\"mouseleave\"},u=function(e){return e.pointerId=1,{pointers:s.pointers(),pointerId:1}},d=!1,c=function(){d||(s=new a.default(l,(function(){return!0})),d=!0)},h=o.default.inherit({ctor:function(){this.callBase.apply(this,arguments),c()},_fireEvent:function(e){return this.callBase((0,i.extend)(u(e.originalEvent),e))}});h.map=l,h.normalize=u,h.activate=c,h.resetObserver=function(){s.reset()};var f=h;t.default=f,e.exports=t.default,e.exports.default=t.default},87720:function(e,t,n){t.default=void 0;var i=n(13306),o=l(n(88136)),a=l(n(66509)),r=l(n(69120)),s=n(39611);function l(e){return e&&e.__esModule?e:{default:e}}var u=!1,d=function(){u||(a.default.activate(),u=!0)},c=o.default.inherit({EVENT_LOCK_TIMEOUT:100,ctor:function(){this.callBase.apply(this,arguments),d()},_handler:function(e){var t=(0,s.isMouseEvent)(e);if(t||(this._skipNextEvents=!0),!t||!this._mouseLocked){if(!t||!this._skipNextEvents)return this.callBase(e);this._skipNextEvents=!1,this._mouseLocked=!0,clearTimeout(this._unlockMouseTimer);var n=this;this._unlockMouseTimer=setTimeout((function(){n._mouseLocked=!1}),this.EVENT_LOCK_TIMEOUT)}},_fireEvent:function(e){var t=(0,s.isMouseEvent)(e.originalEvent)?a.default.normalize:r.default.normalize;return this.callBase((0,i.extend)(t(e.originalEvent),e))},dispose:function(){this.callBase(),this._skipNextEvents=!1,this._mouseLocked=!1,clearTimeout(this._unlockMouseTimer)}});c.map={dxpointerdown:\"touchstart mousedown\",dxpointermove:\"touchmove mousemove\",dxpointerup:\"touchend mouseup\",dxpointercancel:\"touchcancel\",dxpointerover:\"mouseover\",dxpointerout:\"mouseout\",dxpointerenter:\"mouseenter\",dxpointerleave:\"mouseleave\"},c.resetObserver=a.default.resetObserver;var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},25544:function(e,t,n){t.default=void 0;var i=n(95479),o=r(n(24311)),a=r(n(73349));function r(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){o.default.add((function(){e.split(\" \").forEach((function(e){a.default.listen(a.default.getDocument(),e,t,!0)}))}))},l=function(e,t,n){n=n||function(){};var o=[],a=function(e){var n=-1;return(0,i.each)(o,(function(i,o){return!t(e,o)||(n=i,!1)})),n},r=function(e){var t=a(e);t>-1&&o.splice(t,1)};s(e.dxpointerdown,(function(e){-1===a(e)&&(n(e),o.push(e))})),s(e.dxpointermove,(function(e){o[a(e)]=e})),s(e.dxpointerup,r),s(e.dxpointercancel,r),this.pointers=function(){return o},this.reset=function(){o=[]}};t.default=l,e.exports=t.default,e.exports.default=t.default},69120:function(e,t,n){t.default=void 0;var i=s(n(20530)),o=n(13306),a=n(95479),r=s(n(88136));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){var t=[];return(0,a.each)(e.touches,(function(e,n){t.push((0,o.extend)({pointerId:n.identifier},n))})),{pointers:t,pointerId:e.changedTouches[0].identifier}},u=function(e){return\"ios\"===i.default.real().platform&&(\"dxpointerdown\"===e||\"dxpointerup\"===e)},d=r.default.inherit({ctor:function(){this.callBase.apply(this,arguments),this._pointerId=0},_handler:function(e){if(u(this._eventName)){var t=e.changedTouches[0];if(this._pointerId===t.identifier&&0!==this._pointerId)return;this._pointerId=t.identifier}return this.callBase.apply(this,arguments)},_fireEvent:function(e){return this.callBase((0,o.extend)(l(e.originalEvent),e))}});d.map={dxpointerdown:\"touchstart\",dxpointermove:\"touchmove\",dxpointerup:\"touchend\",dxpointercancel:\"touchcancel\",dxpointerover:\"\",dxpointerout:\"\",dxpointerenter:\"\",dxpointerleave:\"\"},d.normalize=l;var c=d;t.default=c,e.exports=t.default,e.exports.default=t.default},29007:function(e,t,n){t.removeEvent=void 0;var i=s(n(68374)),o=n(97906),a=s(n(55994)),r=s(n(85788));function s(e){return e&&e.__esModule?e:{default:e}}t.removeEvent=\"dxremove\";(0,o.beforeCleanData)((function(e){e=[].slice.call(e);for(var t=0;t<e.length;t++){var n=(0,i.default)(e[t]);n.prop(\"dxRemoveEvent\")&&(n[0].dxRemoveEvent=null,a.default.triggerHandler(n,\"dxremove\"))}})),(0,r.default)(\"dxremove\",{noBubble:!0,setup:function(e){(0,i.default)(e).prop(\"dxRemoveEvent\",!0)}})},72918:function(e,t,n){t.visibility=t.resize=t.keyboard=t.hover=t.focus=t.dxClick=t.click=t.active=void 0;var i=r(n(55994)),o=r(n(51661)),a=n(39611);function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return t?(0,a.addNamespace)(e,t):e}function l(e,t){return\"function\"==typeof e?e(t):e.execute(t)}var u={on:function(e,t,n,o){var a=o.selector,r=o.showTimeout,u=o.hideTimeout,d=o.namespace;i.default.on(e,s(\"dxactive\",d),a,{timeout:r},(function(e){return l(t,{event:e,element:e.currentTarget})})),i.default.on(e,s(\"dxinactive\",d),a,{timeout:u},(function(e){return l(n,{event:e,element:e.currentTarget})}))},off:function(e,t){var n=t.namespace,o=t.selector;i.default.off(e,s(\"dxactive\",n),o),i.default.off(e,s(\"dxinactive\",n),o)}};t.active=u;var d={on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.namespace;i.default.on(e,s(\"dxresize\",o),t)},off:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.namespace;i.default.off(e,s(\"dxresize\",n))}};t.resize=d;var c={on:function(e,t,n,o){var a=o.selector,r=o.namespace;i.default.on(e,s(\"dxhoverend\",r),a,(function(e){return n(e)})),i.default.on(e,s(\"dxhoverstart\",r),a,(function(e){return l(t,{element:e.target,event:e})}))},off:function(e,t){var n=t.selector,o=t.namespace;i.default.off(e,s(\"dxhoverstart\",o),n),i.default.off(e,s(\"dxhoverend\",o),n)}};t.hover=c;var h={on:function(e,t,n,o){var a=o.namespace;i.default.on(e,s(\"dxhiding\",a),n),i.default.on(e,s(\"dxshown\",a),t)},off:function(e,t){var n=t.namespace;i.default.off(e,s(\"dxhiding\",n)),i.default.off(e,s(\"dxshown\",n))}};t.visibility=h;var f={on:function(e,t,n,o){var a=o.namespace;i.default.on(e,s(\"focusin\",a),t),i.default.on(e,s(\"focusout\",a),n)},off:function(e,t){var n=t.namespace;i.default.off(e,s(\"focusin\",n)),i.default.off(e,s(\"focusout\",n))},trigger:function(e){return i.default.trigger(e,\"focus\")}};t.focus=f;var p={on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.namespace;i.default.on(e,s(\"dxclick\",o),t)},off:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.namespace;i.default.off(e,s(\"dxclick\",n))}};t.dxClick=p;var g={on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.namespace;i.default.on(e,s(\"click\",o),t)},off:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.namespace;i.default.off(e,s(\"click\",n))}};t.click=g;var m=0,_={},v={on:function(e,t,n){var i=\"keyboardProcessorId\".concat(m++);return _[i]=new o.default({element:e,focusTarget:t,handler:n}),i},off:function(e){e&&_[e]&&(_[e].dispose(),delete _[e])},_getProcessor:function(e){return _[e]}};t.keyboard=v},34309:function(e,t,n){t.swipe=t.start=t.end=void 0;var i=n(58664),o=n(39611),a=s(n(98621)),r=s(n(82495));function s(e){return e&&e.__esModule?e:{default:e}}t.start=\"dxswipestart\";t.swipe=\"dxswipe\";t.end=\"dxswipeend\";var l={horizontal:{defaultItemSizeFunc:function(){return(0,i.getWidth)(this.getElement())},getBounds:function(){return[this._maxLeftOffset,this._maxRightOffset]},calcOffsetRatio:function(e){return((0,o.eventData)(e).x-(this._savedEventData&&this._savedEventData.x||0))/this._itemSizeFunc().call(this,e)},isFastSwipe:function(e){var t=(0,o.eventData)(e);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.x-this._tickData.x)>=t.time-this._tickData.time}},vertical:{defaultItemSizeFunc:function(){return(0,i.getHeight)(this.getElement())},getBounds:function(){return[this._maxTopOffset,this._maxBottomOffset]},calcOffsetRatio:function(e){return((0,o.eventData)(e).y-(this._savedEventData&&this._savedEventData.y||0))/this._itemSizeFunc().call(this,e)},isFastSwipe:function(e){var t=(0,o.eventData)(e);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.y-this._tickData.y)>=t.time-this._tickData.time}}},u=a.default.inherit({TICK_INTERVAL:300,FAST_SWIPE_SPEED_LIMIT:10,ctor:function(e){this.callBase(e),this.direction=\"horizontal\",this.elastic=!0},_getStrategy:function(){return l[this.direction]},_defaultItemSizeFunc:function(){return this._getStrategy().defaultItemSizeFunc.call(this)},_itemSizeFunc:function(){return this.itemSizeFunc||this._defaultItemSizeFunc},_init:function(e){this._tickData=(0,o.eventData)(e)},_start:function(e){this._savedEventData=(0,o.eventData)(e),(e=this._fireEvent(\"dxswipestart\",e)).cancel||(this._maxLeftOffset=e.maxLeftOffset,this._maxRightOffset=e.maxRightOffset,this._maxTopOffset=e.maxTopOffset,this._maxBottomOffset=e.maxBottomOffset)},_move:function(e){var t=this._getStrategy(),n=(0,o.eventData)(e),i=t.calcOffsetRatio.call(this,e);i=this._fitOffset(i,this.elastic),n.time-this._tickData.time>this.TICK_INTERVAL&&(this._tickData=n),this._fireEvent(\"dxswipe\",e,{offset:i}),!1!==e.cancelable&&e.preventDefault()},_end:function(e){var t=this._getStrategy(),n=t.calcOffsetRatio.call(this,e),i=t.isFastSwipe.call(this,e),o=n,a=this._calcTargetOffset(n,i);o=this._fitOffset(o,this.elastic),a=this._fitOffset(a,!1),this._fireEvent(\"dxswipeend\",e,{offset:o,targetOffset:a})},_fitOffset:function(e,t){var n=this._getStrategy().getBounds.call(this);return e<-n[0]?t?(-2*n[0]+e)/3:-n[0]:e>n[1]?t?(2*n[1]+e)/3:n[1]:e},_calcTargetOffset:function(e,t){var n;return t?(n=Math.ceil(Math.abs(e)),e<0&&(n=-n)):n=Math.round(e),n}});(0,r.default)({emitter:u,events:[\"dxswipestart\",\"dxswipe\",\"dxswipeend\"]})},91093:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.zoomstart=t.zoomend=t.zoom=t.translatestart=t.translateend=t.translate=t.transformstart=t.transformend=t.transform=t.rotatestart=t.rotateend=t.rotate=t.pinchstart=t.pinchend=t.pinch=void 0;var o=n(60810),a=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95479)),r=n(39611),s=u(n(31391)),l=u(n(82495));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}var c=\"start\",h=\"\",f=\"end\",p=[],g=function(e,t){p.push({name:e,args:t})};g(\"transform\",{scale:!0,deltaScale:!0,rotation:!0,deltaRotation:!0,translation:!0,deltaTranslation:!0}),g(\"translate\",{translation:!0,deltaTranslation:!0}),g(\"pinch\",{scale:!0,deltaScale:!0}),g(\"rotate\",{rotation:!0,deltaRotation:!0});var m=function(e){var t,n,i=e.pointers;return t=i[0],{x:(n=i[1]).pageX-t.pageX,y:-n.pageY+t.pageY,centerX:.5*(n.pageX+t.pageX),centerY:.5*(n.pageY+t.pageY)}},_=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},v=function(e,t){return _(e)/_(t)},y=function(e,t){var n=e.x*t.x+e.y*t.y,i=_(e)*_(t);return 0===i?0:(0,o.sign)(e.x*t.y-t.x*e.y)*Math.acos((0,o.fitIntoRange)(n/i,-1,1))},b=function(e,t){return{x:e.centerX-t.centerX,y:e.centerY-t.centerY}},x=s.default.inherit({validatePointers:function(e){return(0,r.hasTouches)(e)>1},start:function(e){this._accept(e);var t=m(e);this._startVector=t,this._prevVector=t,this._fireEventAliases(c,e)},move:function(e){var t=m(e),n=this._getEventArgs(t);this._fireEventAliases(h,e,n),this._prevVector=t},end:function(e){var t=this._getEventArgs(this._prevVector);this._fireEventAliases(f,e,t)},_getEventArgs:function(e){return{scale:v(e,this._startVector),deltaScale:v(e,this._prevVector),rotation:y(e,this._startVector),deltaRotation:y(e,this._prevVector),translation:b(e,this._startVector),deltaTranslation:b(e,this._prevVector)}},_fireEventAliases:function(e,t,n){n=n||{},a.each(p,function(i,o){var r={};a.each(o.args,(function(e){e in n&&(r[e]=n[e])})),this._fireEvent(\"dx\"+o.name+e,t,r)}.bind(this))}}),w=p.reduce((function(e,t){return[c,h,f].forEach((function(n){e.push(\"dx\"+t.name+n)})),e}),[]);(0,l.default)({emitter:x,events:w});var C={};a.each(w,(function(e,t){C[t.substring(\"dx\".length)]=t}));var S=C.transformstart,k=C.transform,D=C.transformend,I=C.translatestart,T=C.translate,E=C.translateend,O=C.zoomstart,A=C.zoom,P=C.zoomend,M=C.pinchstart,R=C.pinch,B=C.pinchend,L=C.rotatestart,V=C.rotate,F=C.rotateend;t.rotateend=F,t.rotate=V,t.rotatestart=L,t.pinchend=B,t.pinch=R,t.pinchstart=M,t.zoomend=P,t.zoom=A,t.zoomstart=O,t.translateend=E,t.translate=T,t.translatestart=I,t.transformend=D,t.transform=k,t.transformstart=S},19141:function(e,t,n){t.default=void 0;var i,o=(i=n(17381))&&i.__esModule?i:{default:i};var a=function e(t,n){if(!n)throw o.default.Error(\"E0017\");return Array.isArray(t)?t.map((function(t){return e(t,n)})).join(\" \"):-1!==t.indexOf(\" \")?e(t.split(/\\s+/g),n):\"\".concat(t,\".\").concat(n)};t.default=a,e.exports=t.default,e.exports.default=t.default},27575:function(e,t,n){t.unsubscribeNodesDisposing=t.subscribeNodesDisposing=void 0;var i,o=(i=n(55994))&&i.__esModule?i:{default:i},a=n(29007);function r(e){return e&&[e.target,e.delegateTarget,e.relatedTarget,e.currentTarget].filter((function(e){return!!e}))}t.subscribeNodesDisposing=function(e,t){o.default.one(r(e),a.removeEvent,t)};t.unsubscribeNodesDisposing=function(e,t){o.default.off(r(e),a.removeEvent,t)}},39611:function(e,t,n){t.stopEventsSkipping=t.setEventFixMethod=t.normalizeKeyName=t.needSkipEvent=t.isTouchEvent=t.isPointerEvent=t.isMouseEvent=t.isKeyboardEvent=t.isFakeClickEvent=t.isDxMouseWheelEvent=t.isCommandKeyPressed=t.hasTouches=t.getChar=t.forceSkipEvents=t.fireEvent=t.eventSource=t.eventDelta=t.eventData=t.createEvent=t.addNamespace=void 0;var i=u(n(68374)),o=u(n(19141)),a=u(n(55994)),r=n(95479),s=n(13306),l=n(31421);function u(e){return e&&e.__esModule?e:{default:e}}var d={backspace:\"backspace\",tab:\"tab\",enter:\"enter\",escape:\"escape\",pageup:\"pageUp\",pagedown:\"pageDown\",end:\"end\",home:\"home\",arrowleft:\"leftArrow\",arrowup:\"upArrow\",arrowright:\"rightArrow\",arrowdown:\"downArrow\",delete:\"del\",\" \":\"space\",f:\"F\",a:\"A\",\"*\":\"asterisk\",\"-\":\"minus\",alt:\"alt\",control:\"control\",shift:\"shift\"},c={8:\"backspace\",9:\"tab\",13:\"enter\",27:\"escape\",33:\"pageUp\",34:\"pageDown\",35:\"end\",36:\"home\",37:\"leftArrow\",38:\"upArrow\",39:\"rightArrow\",40:\"downArrow\",46:\"del\",32:\"space\",70:\"F\",65:\"A\",106:\"asterisk\",109:\"minus\",189:\"minus\",173:\"minus\",16:\"shift\",17:\"control\",18:\"alt\"},h={dx:/^dx/i,mouse:/(mouse|wheel)/i,touch:/^touch/i,keyboard:/^key/i,pointer:/^(ms)?pointer/i},f=function(e){return e},p=function(e){return\"dx\"===m(e)},g=function(e){return\"touch\"===m(e)},m=function(e){var t=e.type,n=\"other\";return(0,r.each)(h,(function(e){if(this.test(t))return n=e,!1})),n};t.eventSource=m;var _=function(e){return\"pointer\"===m(e)};t.isPointerEvent=_;var v=function(e){return function(e){return\"mouse\"===m(e)}(e)||(_(e)||p(e))&&\"mouse\"===e.pointerType};t.isMouseEvent=v;var y=function(e){return e&&\"dxmousewheel\"===e.type};t.isDxMouseWheelEvent=y;var b=function(e){return g(e)||(_(e)||p(e))&&\"touch\"===e.pointerType};t.isTouchEvent=b;t.isKeyboardEvent=function(e){return\"keyboard\"===m(e)};t.isFakeClickEvent=function(e){var t=e.screenX,n=e.offsetX,i=e.pageX;return 0===t&&!n&&0===i};t.eventData=function(e){return{x:e.pageX,y:e.pageY,time:e.timeStamp}};t.eventDelta=function(e,t){return{x:t.x-e.x,y:t.y-e.y,time:t.time-e.time||1}};t.hasTouches=function(e){var t=e.originalEvent,n=e.pointers;return g(e)?(t.touches||[]).length:p(e)?(n||[]).length:0};var x=!1;t.forceSkipEvents=function(){return x=!0};t.stopEventsSkipping=function(){return x=!1};t.needSkipEvent=function(e){if(x)return!0;var t=e.target,n=(0,i.default)(t),o=(null==t?void 0:t.isContentEditable)||(null==t?void 0:t.hasAttribute(\"contenteditable\")),a=n.is(\"input, textarea, select\")||o;return y(e)?!(n.is(\"textarea\")&&n.hasClass(\"dx-texteditor-input\")||o)&&(n.is(\"input[type='number'], textarea, select\")&&n.is(\":focus\")):v(e)?a||e.which>1:b(e)?a&&(0,l.focused)(n):void 0};t.setEventFixMethod=function(e){return f=e};var w=function(e,t){var n=function(e){return f(a.default.Event(e,e),e)}(e);return t&&(0,s.extend)(n,t),n};t.createEvent=w;t.fireEvent=function(e){var t=e.originalEvent,n=e.delegateTarget,i=w(t,e);return a.default.trigger(n||i.target,i),i};t.normalizeKeyName=function(e){var t=e.key,n=e.which,i=d[null==t?void 0:t.toLowerCase()]||t,o=c[n];return o&&i===t?o:!i&&n?String.fromCharCode(n):i};t.getChar=function(e){var t=e.key,n=e.which;return t||String.fromCharCode(n)};var C=o.default;t.addNamespace=C;t.isCommandKeyPressed=function(e){var t=e.ctrlKey,n=e.metaKey;return t||n}},80506:function(e,t,n){t.triggerShownEvent=t.triggerResizeEvent=t.triggerHidingEvent=void 0;var i=a(n(68374)),o=a(n(55994));function a(e){return e&&e.__esModule?e:{default:e}}var r=function(e){return function(t){for(var n=(0,i.default)(t||\"body\"),a=n.filter(\".dx-visibility-change-handler\").add(n.find(\".dx-visibility-change-handler\")),r=0;r<a.length;r++)o.default.triggerHandler(a[r],e)}},s=r(\"dxshown\");t.triggerShownEvent=s;var l=r(\"dxhiding\");t.triggerHidingEvent=l;var u=r(\"dxresize\");t.triggerResizeEvent=u},2994:function(e,t,n){Object.defineProperty(t,\"exportDataGrid\",{enumerable:!0,get:function(){return i.exportDataGrid}}),Object.defineProperty(t,\"exportPivotGrid\",{enumerable:!0,get:function(){return o.exportPivotGrid}});var i=n(8572),o=n(77328)},78292:function(e,t,n){t.export=function(e,t,n){if(!e)return(new s.Deferred).resolve();var o=t.exportingAction,a=t.exportedAction,l=t.fileSavingAction,u={fileName:t.fileName,format:t.format,cancel:!1};(0,r.isBoolean)(t.selectedRowsOnly)&&(u.selectedRowsOnly=t.selectedRowsOnly);if((0,r.isFunction)(o)&&o(u),!u.cancel)return n(e,t).then((function(e){if((0,r.isFunction)(a)&&a(),(0,r.isFunction)(l)&&(u.data=e,l(u)),!u.cancel){var n=\"xlsx\"===t.format?\"EXCEL\":t.format;i.fileSaver.saveAs(u.fileName,n,e)}}));return(new s.Deferred).resolve()},Object.defineProperty(t,\"fileSaver\",{enumerable:!0,get:function(){return i.fileSaver}}),t.svg=t.pdf=t.image=void 0;var i=n(48351),o=n(12173),a=n(37596),r=n(35922),s=n(62754),l=n(30855);var u={creator:o.imageCreator,getData:o.getData,testFormats:o.testFormats};t.image=u;var d={getData:l.getData};t.pdf=d;var c={creator:a.svgCreator,getData:a.getData};t.svg=c},5332:function(e,t,n){t.ExportLoadPanel=void 0;var i=u(n(68374)),o=n(13306),a=u(n(28109)),r=n(35922),s=u(n(97218)),l=u(n(13615));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t,n,o){this._$targetElement=t,this._$container=n,this._loadPanel=e._createComponent((0,i.default)(\"<div>\").addClass(\"dx-export-loadpanel\").appendTo(this._$container),s.default,this.getOptions(o))}var t=e.prototype;return t.getDefaultOptions=function(){return{animation:null,shading:!1,height:90,width:200,container:this._$container}},t.getOptions=function(e){return(0,r.isDefined)(e.text)?e.message=e.text:e.message=a.default.format(\"dxDataGrid-exporting\"),(0,o.extend)(this.getDefaultOptions(),e)},t.show=function(){this._loadPanel.option(\"position\",l.default.calculateLoadPanelPosition(this._$targetElement)),this._loadPanel.show()},t.dispose=function(){(0,i.default)(this._loadPanel.element()).remove(),delete this._loadPanel},e}();t.ExportLoadPanel=d},11385:function(e,t,n){t.Export=void 0;var i=n(35922),o=n(38526),a=n(13306),r=n(5332),s=n(58201),l={getFullOptions:function(e){var t=(0,a.extend)({},e);if(!(0,i.isDefined)(t.worksheet)||!(0,i.isObject)(t.worksheet))throw Error('The \"worksheet\" field must contain an object.');if((0,i.isDefined)(t.topLeftCell)){if((0,i.isString)(t.topLeftCell)){var n=t.worksheet.getCell(t.topLeftCell),o=n.row,r=n.col;t.topLeftCell={row:o,column:r}}}else t.topLeftCell={row:1,column:1};return(0,i.isDefined)(t.keepColumnWidths)||(t.keepColumnWidths=!0),(0,i.isDefined)(t.loadPanel)||(t.loadPanel={}),(0,i.isDefined)(t.loadPanel.enabled)||(t.loadPanel.enabled=!0),(0,i.isDefined)(t.encodeExecutableContent)||(t.encodeExecutableContent=!1),t},convertDateForExcelJS:function(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))},setNumberFormat:function(e,t){e.numFmt=t},getCellStyles:function(e){var t=this,n=e.getStyles();return n.forEach((function(e){var n=t.tryConvertToExcelNumberFormat(e.format,e.dataType);(0,i.isDefined)(n)&&(n=n.replace(/&quot;/g,'\"')),e.numberFormat=n})),n},tryConvertToExcelNumberFormat:function(e,t){var n=o.ExportFormat.formatObjectConverter(e,t),i=n.currency;return e=n.format,t=n.dataType,o.ExportFormat.convertFormat(e,n.precision,t,i)},setAlignment:function(e,t,n){var o;e.alignment=null!==(o=e.alignment)&&void 0!==o?o:{},(0,i.isDefined)(t)&&(e.alignment.wrapText=t),(0,i.isDefined)(n)&&(e.alignment.horizontal=n),e.alignment.vertical=\"top\"},setColumnsWidth:function(e,t,n){if((0,i.isDefined)(t))for(var o=0;o<t.length;o++){var a=t[o];\"number\"==typeof a&&isFinite(a)&&(e.getColumn(n+o).width=Math.min(255,Math.floor(a/7*100)/100))}},export:function(e,t,n,i){var o,l,u=this,d=e.component,c=e.worksheet,h=e.topLeftCell,f=e.keepColumnWidths,p=e.selectedRowsOnly,g=e.loadPanel,m=e.encodeExecutableContent,_=d.getDataProvider(p),v=(null===(o=d._getInternalInstance)||void 0===o?void 0:o.call(d))||d,y=v.option(\"loadPanel\")&&v.option(\"loadPanel\").enabled;if(y&&d.option(\"loadPanel.enabled\",!1),g.enabled&&(0,s.hasWindow)()){var b=n(d),x=i(d);(l=new r.ExportLoadPanel(d,b,x,g)).show()}var w=!!d.option(\"wordWrapEnabled\");c.properties.outlineProperties={summaryBelow:!1,summaryRight:!1};var C={from:{row:h.row,column:h.column},to:{row:h.row,column:h.column}};return new Promise((function(n){_.ready().done((function(){var i=_.getColumns(),o=_.getRowsCount(),r=new t(d,_,c,e);f&&u.setColumnsWidth(c,_.getColumnsWidths(),C.from.column),r._exportAllFieldHeaders(i,u.setAlignment);var s=r._getFieldHeaderRowsCount();C.to.row=C.from.row+s;for(var l=u.getCellStyles(_),h=0;h<o;h++){var p=C.from.row+s+h,g=c.getRow(p),v=0;r._isRowFieldHeadersRow(h)&&(v=_.getRowAreaColCount(),r._exportFieldHeaders(\"row\",p,0,v,u.setAlignment)),r._trySetOutlineLevel(g,h),u.exportRow(_,r,g,h,v,i.length,w,l,m),C.to.row=p}r.mergedRangesManager.applyMergedRages(),C.to.column+=i.length>0?i.length-1:0;var y=c.views[0]||{};d.option(\"rtlEnabled\")&&(y.rightToLeft=!0),r._isFrozenZone(_)&&(-1===Object.keys(y).indexOf(\"state\")&&(0,a.extend)(y,r._getWorksheetFrozenState(C)),r._trySetAutoFilter(C)),Object.keys(y).length>0&&(c.views=[y]),n(C)})).always((function(){y&&d.option(\"loadPanel.enabled\",y),g.enabled&&(0,s.hasWindow)()&&l.dispose()}))}))},exportRow:function(e,t,n,a,r,s,l,u,d){for(var c=r;c<s;c++){var h=e.getCellData(a,c,!0),f=n.getCell(t._getFirstColumnIndex()+c);t.mergedRangesManager.updateMergedRanges(f,a,c,t);var p=t.mergedRangesManager.findMergedCellInfo(a,c,t._isHeaderCell(a,c));if((0,i.isDefined)(p)&&f!==p.masterCell)f.style=p.masterCell.style,f.value=p.masterCell.value;else if((0,i.isDate)(h.value)?f.value=this.convertDateForExcelJS(h.value):f.value=h.value,(0,i.isDefined)(f.value)){var g=u[e.getStyleId(a,c)],m=g.bold,_=g.alignment,v=g.numberFormat;(0,i.isDefined)(v)?this.setNumberFormat(f,v):(0,i.isString)(f.value)&&/^[@=+-]/.test(f.value)&&this.setNumberFormat(f,\"@\"),t._trySetFont(f,m),this.setAlignment(f,l,_)}t._customizeCell(f,h.cellSourceData),d&&(f.value=o.ExportFormat.encode(f.value))}}};t.Export=l},8572:function(e,t,n){t.exportDataGrid=function(e){return o.Export.export(function(e){if(!(0,i.isDefined)(e)||!(0,i.isObject)(e))throw Error('The \"exportDataGrid\" method requires a configuration object.');if(!(0,i.isDefined)(e.component)||!(0,i.isObject)(e.component)||\"dxDataGrid\"!==e.component.NAME)throw Error('The \"component\" field must contain a DataGrid instance.');(0,i.isDefined)(e.selectedRowsOnly)||(e.selectedRowsOnly=!1);(0,i.isDefined)(e.autoFilterEnabled)||(e.autoFilterEnabled=!1);return o.Export.getFullOptions(e)}(e),r,s,l)};var i=n(35922),o=n(11385),a=n(31980),r=function(){function e(e,t,n,i){this.component=e,this.dataProvider=t,this.worksheet=n,this.mergedRangesManager=new a.MergedRangesManager(t,n),this.topLeftCell=i.topLeftCell,this.customizeCell=i.customizeCell,this.autoFilterEnabled=i.autoFilterEnabled}var t=e.prototype;return t._getFirstColumnIndex=function(){return this.topLeftCell.column},t._getFieldHeaderRowsCount=function(){return 0},t._trySetAutoFilter=function(e){if(this.autoFilterEnabled&&!(0,i.isDefined)(this.worksheet.autoFilter)&&this.dataProvider.getRowsCount()>0){var t={from:{row:e.from.row+this.dataProvider.getHeaderRowCount()-1,column:e.from.column},to:e.to};this.worksheet.autoFilter=t}},t._trySetFont=function(e,t){(0,i.isDefined)(t)&&(e.font=e.font||{},e.font.bold=t)},t._getWorksheetFrozenState=function(e){return{state:\"frozen\",ySplit:e.from.row+this.dataProvider.getFrozenArea().y-1}},t._trySetOutlineLevel=function(e,t){t>=this.dataProvider.getHeaderRowCount()&&(e.outlineLevel=this.dataProvider.getGroupLevel(t))},t._isFrozenZone=function(e){return e.getHeaderRowCount()>0},t._isHeaderCell=function(e){return e<this.dataProvider.getHeaderRowCount()},t._isInfoCell=function(){return!1},t._allowToMergeRange=function(){return!0},t._getAllFieldHeaders=function(){return[]},t._customizeCell=function(e,t){(0,i.isFunction)(this.customizeCell)&&this.customizeCell({excelCell:e,gridCell:t})},t._exportFieldHeaders=function(){},t._exportAllFieldHeaders=function(){},t._isRowFieldHeadersRow=function(){},e}();function s(e){return e.getView(\"rowsView\").element()}function l(e){return e.getView(\"rowsView\").element().parent()}},38526:function(e,t,n){t.ExportFormat=void 0;var i=n(68752),o=d(n(18016)),a=d(n(91500)),r=n(35922),s=n(59937),l=n(9821),u=n(13306);function d(e){return e&&e.__esModule?e:{default:e}}n(89740);var c={thousands:\"#,##0{0},&quot;K&quot;\",millions:\"#,##0{0},,&quot;M&quot;\",billions:\"#,##0{0},,,&quot;B&quot;\",trillions:\"#,##0{0},,,,&quot;T&quot;\",percent:\"0{0}%\",decimal:\"#{0}\",fixedpoint:\"#,##0{0}\",exponential:\"0{0}E+00\",currency:\" \"},h=/a+/g,f=/E/g,p=/dE+/g,g=/L/g,m=/h/g,_=/./g;function v(e){var t=(a.default.format(new Date(2009,8,8,6,5,4),e)||\"\").toString(),n=(0,s.getFormat)((function(t){return a.default.format(t,e)}));return n&&(n=function(e){return e.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(e,t){return t%2==0?e.replace(h,\"AM/PM\").replace(p,\"d\").replace(f,\"d\").replace(g,\"M\").replace(m,\"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\"):e?e.replace(_,\"\\\\$&\"):\"'\"})).join(\"\")}(n),n=function(e){var t=(0,l.getLanguageId)(),n=t?t.toString(16):\"\",i=\"\";if(function(e){for(var t,n=0;n<e.length;n++)if((t=e.charCodeAt(n))>=1632&&t<1642)return!0;return!1}(e)){for(;n.length<3;)n=\"0\"+n;i=\"[$-2010\"+n+\"]\"}else n&&(i=\"[$-\"+n+\"]\");return i}(t)+n),n}function y(e){return!!e&&(!!/^[@=\\t\\r]/.test(e)||!!/^[+-]/.test(e)&&!(0,r.isNumeric)(e))}var b={formatObjectConverter:function(e,t){var n={format:e,precision:e&&e.precision,dataType:t};return(0,r.isObject)(e)?(0,u.extend)(n,e,{format:e.formatter||e.type,currency:e.currency}):n},convertFormat:function(e,t,n,a){if((0,r.isDefined)(e)){if(\"date\"===n)return v(e);if((0,r.isString)(e)&&c[e.toLowerCase()])return function(e,t,n){var a,r;return(r=\"currency\"===e?o.default.getOpenXmlCurrencyFormat(n):c[e.toLowerCase()])&&(a=(0,i.format)(r,function(e,t){var n,i;if(t>0){for(n=\"decimal\"!==e?\".\":\"\",i=0;i<t;i++)n+=\"0\";return n}return\"\"}(e,t))),a}(e,t,a)}},encode:function(e){var t=!1;if(!function(e){return!(!e||e.length<2)&&y(e)}(e)?function(e,t){return!(!e||e.length<4||e[0]!==t)&&y(e.substring(1,e.length-1))}(e,'\"')&&(e=e.substring(1,e.length-1),t=!0):t=!0,t){var n=\"\".concat('\"').concat('\"');return\"\\\"'\"+e.replaceAll('\"',n)+'\"'}return e}};t.ExportFormat=b},31980:function(e,t){t.MergedRangesManager=void 0;var n=function(){function e(e,t){this.dataProvider=e,this.worksheet=t,this.mergedCells=[],this.mergedRanges=[]}var t=e.prototype;return t.updateMergedRanges=function(e,t,n,i){if(i._isHeaderCell(t,n)&&!this.isCellInMergedRanges(t,n)){var o=this.dataProvider.getCellMerging(t,n),a=o.rowspan,r=o.colspan;if(r||a){var s=i._allowToMergeRange(t,n,a,r);if(this.updateMergedCells(e,t,n,a,r),s){var l=i._isInfoCell(t,n)&&i._allowExportRowFieldHeaders();this.mergedRanges.push({masterCell:e,rowspan:a-(l&&a>0),colspan:r})}}}},t.isCellInMergedRanges=function(e,t){return this.mergedCells[e]&&this.mergedCells[e][t]},t.findMergedCellInfo=function(e,t,n){if(n&&this.isCellInMergedRanges(e,t))return this.mergedCells[e][t]},t.updateMergedCells=function(e,t,n,i,o){for(var a=t;a<=t+i;a++)for(var r=n;r<=n+o;r++)this.mergedCells[a]||(this.mergedCells[a]=[]),this.mergedCells[a][r]={masterCell:e}},t.addMergedRange=function(e,t,n){this.mergedRanges.push({masterCell:e,rowspan:t,colspan:n})},t.applyMergedRages=function(){var e=this;this.mergedRanges.forEach((function(t){var n=t.masterCell.fullAddress.row,i=t.masterCell.fullAddress.col,o=n+t.rowspan,a=i+t.colspan;e.worksheet.mergeCells(n,i,o,a)}))},e}();t.MergedRangesManager=n},77328:function(e,t,n){t.exportPivotGrid=function(e){return o.Export.export(function(e){if(!(0,i.isDefined)(e)||!(0,i.isObject)(e))throw Error('The \"exportPivotGrid\" method requires a configuration object.');if(!(0,i.isDefined)(e.component)||!(0,i.isObject)(e.component)||\"dxPivotGrid\"!==e.component.NAME)throw Error('The \"component\" field must contain a PivotGrid instance.');(0,i.isDefined)(e.mergeRowFieldValues)||(e.mergeRowFieldValues=!0);(0,i.isDefined)(e.mergeColumnFieldValues)||(e.mergeColumnFieldValues=!0);(0,i.isDefined)(e.exportDataFieldHeaders)||(e.exportDataFieldHeaders=!1);(0,i.isDefined)(e.exportRowFieldHeaders)||(e.exportRowFieldHeaders=!1);(0,i.isDefined)(e.exportColumnFieldHeaders)||(e.exportColumnFieldHeaders=!1);(0,i.isDefined)(e.exportFilterFieldHeaders)||(e.exportFilterFieldHeaders=!1);return o.Export.getFullOptions(e)}(e),u,d,c)};var i=n(35922),o=n(11385),a=n(37518),r=n(78008),s=n(31980);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var u=function(){function e(e,t,n,i){this.component=e,this.dataProvider=t,this.worksheet=n,this.mergedRangesManager=new s.MergedRangesManager(t,n),this.topLeftCell=i.topLeftCell,this.customizeCell=i.customizeCell,this.mergeColumnFieldValues=i.mergeColumnFieldValues,this.mergeRowFieldValues=i.mergeRowFieldValues,this.exportFilterFieldHeaders=i.exportFilterFieldHeaders,this.exportDataFieldHeaders=i.exportDataFieldHeaders,this.exportColumnFieldHeaders=i.exportColumnFieldHeaders,this.exportRowFieldHeaders=i.exportRowFieldHeaders,this.rtlEnabled=e.option(\"rtlEnabled\"),this.rowHeaderLayout=e.option(\"rowHeaderLayout\"),this.wrapText=!!e.option(\"wordWrapEnabled\"),this.filterFieldHeaders=this._tryGetFieldHeaders(\"filter\"),this.dataFieldHeaders=this._tryGetFieldHeaders(\"data\"),this.columnFieldHeaders=this._tryGetFieldHeaders(\"column\"),this.rowFieldHeaders=this._tryGetFieldHeaders(\"row\")}var t=e.prototype;return t._getFirstColumnIndex=function(){return this.topLeftCell.column},t._getWorksheetFrozenState=function(e){var t=this.dataProvider.getFrozenArea(),n=t.x,i=t.y;return{state:\"frozen\",xSplit:e.from.column+n-1,ySplit:e.from.row+i+this._getFieldHeaderRowsCount()-1}},t._getFieldHeaderRowsCount=function(){return 0+this._allowExportFilterFieldHeaders()+(this._allowExportDataFieldHeaders()||this._allowExportColumnFieldHeaders())},t._isFrozenZone=function(){return!0},t._isHeaderCell=function(e,t){return e<this.dataProvider.getColumnAreaRowCount()||t<this.dataProvider.getRowAreaColCount()},t._getDefaultFieldHeaderCellsData=function(e){return{text:e,value:e}},t._isInfoCell=function(e,t){return e<this.dataProvider.getColumnAreaRowCount()&&t<this.dataProvider.getRowAreaColCount()},t._allowToMergeRange=function(e,t,n,i){return!(this.dataProvider.isColumnAreaCell(e,t)&&!this.mergeColumnFieldValues&&i||this.dataProvider.isRowAreaCell(e,t)&&!this.mergeRowFieldValues&&n)},t._trySetAutoFilter=function(){},t._trySetFont=function(e,t){(0,i.isDefined)(t)&&(e.font=e.font||{},e.font.bold=t)},t._getFieldHeaderStyles=function(){var e={style:\"thin\",color:{argb:\"FF7E7E7E\"}};return{alignment:(0,a.getDefaultAlignment)(this.rtlEnabled),bold:!0,border:{bottom:e,left:e,right:e,top:e}}},t._trySetOutlineLevel=function(){},t._getAllFieldHeaders=function(){return this.dataProvider._exportController.getDataSource()._descriptions},t._tryGetFieldHeaders=function(e){if(!this[\"export\".concat((0,r.camelize)(e,!0),\"FieldHeaders\")])return[];var t=this._getAllFieldHeaders()[\"data\"===e?\"values\":\"\".concat(e,\"s\")].filter((function(t){return t.area===e}));return\"right\"===(0,a.getDefaultAlignment)(this.rtlEnabled)&&t.sort((function(e,t){return t.areaIndex-e.areaIndex})),t.map((function(e){return e.caption}))},t._customizeCell=function(e,t,n){(0,i.isFunction)(this.customizeCell)&&!n&&this.customizeCell({excelCell:e,pivotCell:t})},t._isRowFieldHeadersRow=function(e){var t=this._isInfoCell(e,0)&&\"row\"===this.dataProvider.getCellData(e+1,0,!0).cellSourceData.area;return this._allowExportRowFieldHeaders()&&t},t._exportAllFieldHeaders=function(e,t){var n=e.length,i=this.dataProvider.getRowAreaColCount(),o=this.topLeftCell.row;this._allowExportFilterFieldHeaders()&&(this._exportFieldHeaders(\"filter\",o,0,n,t),o++),this._allowExportDataFieldHeaders()&&(this._exportFieldHeaders(\"data\",o,0,i,t),this._allowExportColumnFieldHeaders()||this._exportFieldHeaders(\"column\",o,i,n-i,t)),this._allowExportColumnFieldHeaders()&&(this._allowExportDataFieldHeaders()||this._exportFieldHeaders(\"data\",o,0,i,t),this._exportFieldHeaders(\"column\",o,i,n-i,t))},t._exportFieldHeaders=function(e,t,n,i,o){var a=this[\"\".concat(e,\"FieldHeaders\")],r=this.worksheet.getRow(t),s=\"row\"!==e||\"row\"===e&&\"tree\"===this.rowHeaderLayout;s&&this.mergedRangesManager.addMergedRange(r.getCell(this.topLeftCell.column+n),0,i-1);for(var u=0;u<i;u++){var d,c=r.getCell(this.topLeftCell.column+n+u),h=a,f=h.length>i||s?h.join(\", \"):h[u];d=l({},this._getDefaultFieldHeaderCellsData(f),{headerType:e}),c.value=f,this._applyHeaderStyles(c,o),this._customizeCell(c,d)}},t._applyHeaderStyles=function(e,t){var n=this._getFieldHeaderStyles(),i=n.bold,o=n.alignment,a=n.border;this._trySetFont(e,i),t(e,this.wrapText,o),e.border=a},t._allowExportRowFieldHeaders=function(){return this.rowFieldHeaders.length>0},t._allowExportFilterFieldHeaders=function(){return this.filterFieldHeaders.length>0},t._allowExportDataFieldHeaders=function(){return this.dataFieldHeaders.length>0},t._allowExportColumnFieldHeaders=function(){return this.columnFieldHeaders.length>0},e}();function d(e){return e._dataArea.groupElement()}function c(e){return e.$element()}},48351:function(e,t,n){t.fileSaver=t.MIME_TYPES=void 0;var i=l(n(73349)),o=n(58201),a=l(n(96688)),r=n(35922),s=n(30869);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,o.getWindow)(),d=(0,o.getNavigator)(),c={EXCEL:\"xlsx\",CSS:\"css\",PNG:\"png\",JPEG:\"jpeg\",GIF:\"gif\",SVG:\"svg\",PDF:\"pdf\"},h={CSS:\"text/css\",EXCEL:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",PNG:\"image/png\",JPEG:\"image/jpeg\",GIF:\"image/gif\",SVG:\"image/svg+xml\",PDF:\"application/pdf\"};t.MIME_TYPES=h;var f={_revokeObjectURLTimeout:3e4,_getDataUri:function(e,t){var n=this._getMimeType(e);return\"data:\".concat(n,\";base64,\").concat(t)},_getMimeType:function(e){return h[e]||\"application/octet-stream\"},_linkDownloader:function(e,t){var n=i.default.createElement(\"a\");return n.download=e,n.href=t,n.target=\"_blank\",n},_winJSBlobSave:function(e,t,n){var i=new Windows.Storage.Pickers.FileSavePicker;i.suggestedStartLocation=Windows.Storage.Pickers.PickerLocationId.documentsLibrary;var o=c[n];if(o){var a=this._getMimeType(n);i.fileTypeChoices.insert(a,[\".\"+o])}i.suggestedFileName=t,i.pickSaveFileAsync().then((function(t){t&&t.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function(t){var n=e.msDetachStream();Windows.Storage.Streams.RandomAccessStream.copyAsync(n,t).then((function(){t.flushAsync().done((function(){n.close(),t.close()}))}))}))}))},_click:function(e){try{e.dispatchEvent(new MouseEvent(\"click\",{cancelable:!0}))}catch(n){var t=i.default.getDocument().createEvent(\"MouseEvents\");t.initMouseEvent(\"click\",!0,!0,u,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}},_saveBlobAs:function(e,t,n){var i=this;if(this._blobSaved=!1,(0,r.isDefined)(d.msSaveOrOpenBlob))d.msSaveOrOpenBlob(n,e),this._blobSaved=!0;else if((0,r.isDefined)(u.WinJS))this._winJSBlobSave(n,e,t),this._blobSaved=!0;else{var o=u.URL||u.webkitURL||u.mozURL||u.msURL||u.oURL;if((0,r.isDefined)(o)){var a=o.createObjectURL(n),l=this._linkDownloader(e,a);setTimeout((function(){o.revokeObjectURL(a),i._objectUrlRevoked=!0}),this._revokeObjectURLTimeout),this._click(l)}else s.logger.warn(\"window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined\")}},saveAs:function(e,t,n){var i=c[t];if(i&&(e+=\".\"+i),(0,r.isFunction)(u.Blob))this._saveBlobAs(e,t,n);else{(0,r.isDefined)(d.userAgent.match(/iPad/i))||a.default.log(\"E1034\");var o=this._linkDownloader(e,this._getDataUri(t,n));this._click(o)}}};t.fileSaver=f},12173:function(e,t,n){t.calcScaledInfo=$,t.getData=function(e,t){return q.getData(e,t)},t.imageCreator=void 0,t.testFormats=function(e){var t=q._createCanvas(100,100,0);return e.reduce((function(e,n){var i=(\"image/\"+n).toLowerCase();return-1!==t.toDataURL(i).indexOf(i)?e.supported.push(n):e.unsupported.push(n),e}),{supported:[],unsupported:[]})};var i=p(n(68374)),o=p(n(52752)),a=n(35922),r=n(19155),s=n(95479),l=n(13306),u=p(n(73349)),d=n(3532),c=n(58201),h=n(78008),f=n(62754);function p(e){return e&&e.__esModule?e:{default:e}}var g,m=(0,c.getWindow)(),_=Math,v=_.PI,y=_.min,b=_.abs,x=_.sqrt,w=_.pow,C=_.atan2,S=_.cos,k=_.sin,D=Number;function I(e,t,n,i,o,a,r,s){var l=(e+n)/2,u=(t+i)/2,d=C(t-i,e-n),c=a?1:-1;d+=v/180*90*(r?1:-1);var h=x(w(n-e,2)+w(i-t,2))/2,f=x(b(w(o,2)-w(h,2))),p=l+c*(f*S(d)),g=u+c*(f*k(d)),m=C(t-g,e-p),_=C(i-g,n-p);s.arc(p,g,o,m,_,!r)}function T(e,t){var n,i=g(e.attributes||{}),o=(0,l.extend)({},i,{text:e.textContent.replace(/\\s+/g,\" \"),textAlign:\"middle\"===i[\"text-anchor\"]?\"center\":i[\"text-anchor\"]}),r=i.transform;return r&&((n=r.match(/translate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/))&&(n=n[0].match(/-*\\d+([.]\\d+)*/g),o.translateX=D(n[0]),o.translateY=n[1]?D(n[1]):0),(n=r.match(/rotate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*,*\\s*-*\\d+([.]\\d+)*)*/))&&(n=n[0].match(/-*\\d+([.]\\d+)*/g),o.rotationAngle=D(n[0]),o.rotationX=n[1]&&D(n[1]),o.rotationY=n[2]&&D(n[2])),(n=r.match(/scale\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/))&&(n=n[0].match(/-*\\d+([.]\\d+)*/g),o.scaleX=D(n[0]),n.length>1?o.scaleY=D(n[1]):o.scaleY=o.scaleX)),function(e,t,n){var i,o=e.style||{};for(i in o)\"\"!==o[i]&&(t[(0,h.camelize)(i)]=o[i]);n&&u.default.isElementNode(e)&&(o=m.getComputedStyle(e),[\"fill\",\"stroke\",\"stroke-width\",\"font-family\",\"font-size\",\"font-style\",\"font-weight\"].forEach((function(e){e in o&&\"\"!==o[e]&&(t[(0,h.camelize)(e)]=o[e])})),[\"opacity\",\"fill-opacity\",\"stroke-opacity\"].forEach((function(e){e in o&&\"\"!==o[e]&&\"1\"!==o[e]&&(t[e]=D(o[e]))})));t.textDecoration=t.textDecoration||t.textDecorationLine,t.globalAlpha=(0,a.isDefined)(t.opacity)?t.opacity:t.globalAlpha}(e,o,t),o}function E(e){var t=e&&e.match(/url\\(.*#(.*?)[\"']?\\)/i);return t&&t[1]}function O(e,t){var n=[];t.fontSize=t.fontSize||\"10px\",t.fontFamily=t.fontFamily||\"sans-serif\",t.fill=t.fill||\"#000\",t.fontStyle&&n.push(t.fontStyle),t.fontWeight&&n.push(t.fontWeight),n.push(t.fontSize),n.push(t.fontFamily),e.font=n.join(\" \"),e.textAlign=t.textAlign,e.fillStyle=t.fill,e.globalAlpha=t.globalAlpha}function A(e,t,n){O(e,t),B(e,t,n),t.text&&e.fillText(t.text,t.x||0,t.y||0),z(e,t,!0),function(e,t,n){if(!t.textDecoration||\"none\"===t.textDecoration)return;var i=t.x,o=e.measureText(t.text).width,a=parseInt(t.fontSize,10),r=.05*a<1?1:.05*a,s=t.y;switch(t.textDecoration){case\"line-through\":s-=a/3+r/2;break;case\"overline\":s-=a-r;break;case\"underline\":s+=r}e.rect(i,s,o,r),j(e,t,n),z(e,t)}(e,t,n)}function P(e){for(var t=e.childNodes,n=0;n<t.length;n++)if(\"tspan\"===t[n].tagName)return!0;return!1}function M(e,t,n,i){var o=e.tagName,a=\"text\"===o||\"tspan\"===o||void 0===o,s=\"image\"===o,u=8===e.nodeType,d=(0,l.extend)({},n,T(e,i.rootAppended));if(\"hidden\"!==d.visibility&&!d[r.HIDDEN_FOR_EXPORT]&&!u){var c;switch(t.save(),!s&&L(t,d),V(t,d,i),function(e){e.strokeOpacity=void 0!==e[\"stroke-opacity\"]?e[\"stroke-opacity\"]:1,e.fillOpacity=void 0!==e[\"fill-opacity\"]?e[\"fill-opacity\"]:1,void 0!==e.opacity&&(e.strokeOpacity*=e.opacity,e.fillOpacity*=e.opacity)}(d),t.beginPath(),e.tagName){case void 0:A(t,d,i);break;case\"text\":case\"tspan\":!function e(t,n,i,o){for(var a,r=[],s=0,u=0;u<t.length;u++){var d=t[u];if(void 0===d.tagName)M(d,n,i,o);else if(\"tspan\"===d.tagName||\"text\"===d.tagName){var c=T(d,o.rootAppended),h=(0,l.extend)({},i,c);if(\"tspan\"===d.tagName&&P(d)){e(d.childNodes,n,h,o);continue}h.textAlign=\"start\",a&&void 0===c.x||(a={elements:[],options:[],widths:[],offsets:[]},r.push(a)),void 0!==c.y&&(s=0),void 0!==c.dy&&(s+=parseFloat(c.dy)),a.elements.push(d),a.options.push(h),a.offsets.push(s),O(n,h),a.widths.push(n.measureText(h.text).width)}}r.forEach((function(t){var a=t.widths.reduce((function(e,t){return e+t}),0),r=0,s=0;\"center\"===i.textAlign&&(r=a/2),\"end\"===i.textAlign&&(r=a),t.options.forEach((function(e,n){var i=t.widths[n];e.x=e.x-r+s,e.y+=t.offsets[n],s+=i})),t.elements.forEach((function(i,a){e(i.childNodes,n,t.options[a],o)}))}))}(e.childNodes,t,d,i);break;case\"image\":c=function(e,t,n){var i=new f.Deferred,o=new m.Image;return o.onload=function(){e.save(),e.globalAlpha=t.globalAlpha,L(e,t),V(e,t,n),e.drawImage(o,t.x||0,t.y||0,t.width,t.height),e.restore(),i.resolve()},o.onerror=function(){i.resolve()},o.setAttribute(\"crossOrigin\",\"anonymous\"),o.src=t.href||t[\"xlink:href\"],i}(t,d,i);break;case\"path\":!function(e,t){var n,i,o,a=t.replace(/,/g,\" \").split(/([A-Z])/i).filter((function(e){return\"\"!==e.trim()})),r=0;do{switch(n=(a[r+1]||\"\").trim().split(\" \"),a[r]){case\"M\":e.moveTo(D(n[0]),D(n[1])),r+=2;break;case\"L\":for(var s=0;s<n.length/2;s++)e.lineTo(D(n[2*s]),D(n[2*s+1]));r+=2;break;case\"C\":e.bezierCurveTo(D(n[0]),D(n[1]),D(n[2]),D(n[3]),D(n[4]),D(n[5])),r+=2;break;case\"a\":o=(i=a[r-1].trim().split(\" \")).length-1,I(D(i[o-1]),D(i[o]),D(i[o-1])+D(n[5]),D(i[o])+D(n[6]),D(n[0]),D(n[3]),D(n[4]),e),r+=2;break;case\"A\":o=(i=a[r-1].trim().split(\" \")).length-1,I(D(i[o-1]),D(i[o]),D(n[5]),D(n[6]),D(n[0]),D(n[3]),D(n[4]),e),r+=2;break;case\"Z\":e.closePath(),r+=1;break;default:r++}}while(r<a.length)}(t,d.d);break;case\"rect\":!function(e,t){var n=t.x,i=t.y,o=t.width,a=t.height,r=t.rx;r?(r=y(r,o/2,a/2),e.save(),e.translate(n,i),e.moveTo(o/2,0),e.arcTo(o,0,o,a,r),e.arcTo(o,a,0,a,r),e.arcTo(0,a,0,0,r),e.arcTo(0,0,r,0,r),e.lineTo(o/2,0),e.restore()):e.rect(n,i,o,a)}(t,d),t.closePath();break;case\"circle\":t.arc(d.cx,d.cy,d.r,0,2*v,1)}return a||(B(t,d,i),s||(c=j(t,d,i)),z(t,d)),R(t,d,i,e,\"linear\"),R(t,d,i,e,\"radial\"),t.restore(),c}}function R(e,t,n,i,o){var a=n.linearGradients,r=n.radialGradients,s=\"linear\"===o?a:r;if(0!==Object.keys(s).length){var l=E(t.fill);if(l&&s[l]){var u=i.getBBox(),d=u.x+u.width/2,c=u.y+u.height/2,h=Math.max(u.height/2,u.width/2),f=\"linear\"===o?e.createLinearGradient(u.x,0,u.x+u.width,0):e.createRadialGradient(d,c,0,d,c,h);if(s[l].colors.forEach((function(e){var t=parseInt(e.offset.replace(/%/,\"\"));f.addColorStop(t/100,e.stopColor)})),\"linear\"===o){var p,g,m=null!==(p=(null===(g=s[l].transform)||void 0===g?void 0:g.replace(/\\D/g,\"\"))*Math.PI/180)&&void 0!==p?p:0;e.translate(d,c),e.rotate(m),e.translate(-d,-c)}e.globalAlpha=t.opacity,e.fillStyle=f,e.fill()}}}function B(e,t,n){var i,o=E(t.filter);o&&((i=n.filters[o])||(i={offsetX:0,offsetY:0,blur:0,color:\"#000\"}),e.shadowOffsetX=i.offsetX,e.shadowOffsetY=i.offsetY,e.shadowColor=i.color,e.shadowBlur=i.blur)}function L(e,t){e.translate(t.translateX||0,t.translateY||0),t.translateX=void 0,t.translateY=void 0,t.rotationAngle&&(e.translate(t.rotationX||0,t.rotationY||0),e.rotate(t.rotationAngle*v/180),e.translate(-(t.rotationX||0),-(t.rotationY||0)),t.rotationAngle=void 0,t.rotationX=void 0,t.rotationY=void 0),isFinite(t.scaleX)&&(e.scale(t.scaleX,t.scaleY),t.scaleX=void 0,t.scaleY=void 0)}function V(e,t,n){t[\"clip-path\"]&&(M(n.clipPaths[E(t[\"clip-path\"])],e,{},n),e.clip(),t[\"clip-path\"]=void 0)}function F(e){var t,n={colors:[],transform:null===(t=e.attributes.gradientTransform)||void 0===t?void 0:t.textContent};return(0,s.each)(e.childNodes,(function(e,t){var i=t.attributes;n.colors.push({offset:i.offset.value,stopColor:i[\"stop-color\"].value})})),n}function H(e){var t,n,i={};return(0,s.each)(e.childNodes,(function(e,a){var r=a.attributes;if(r.result)switch(r.result.value){case\"gaussianBlurResult\":i.blur=D(r.stdDeviation.value);break;case\"offsetResult\":i.offsetX=D(r.dx.value),i.offsetY=D(r.dy.value);break;case\"floodResult\":t=r[\"flood-color\"]?r[\"flood-color\"].value:\"#000\",n=r[\"flood-opacity\"]?r[\"flood-opacity\"].value:1,i.color=function(e,t){var n=new o.default(e);return\"rgba(\"+n.r+\",\"+n.g+\",\"+n.b+\",\"+t+\")\"}(t,n)}})),i}function N(e,t,n,i){return function e(t,n){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new f.Deferred,o=0;o<t.length;o++){var r=n(t[o]);if((0,a.isPromise)(r)){r.then((function(){e(Array.prototype.slice.call(t,o+1),n,i)}));break}}return o===t.length&&i.resolve(),i}(e,(function(e){switch(e.tagName&&e.tagName.toLowerCase()){case\"g\":case\"svg\":var o=(0,l.extend)({},n,T(e,i.rootAppended));t.save(),L(t,o),V(t,o,i);var r=function(){t.restore()},s=N(e.childNodes,t,o,i);return(0,a.isPromise)(s)?s.then(r):r(),s;case\"defs\":return N(e.childNodes,t,{},i);case\"clippath\":i.clipPaths[e.attributes.id.textContent]=e.childNodes[0];break;case\"pattern\":i.patterns[e.attributes.id.textContent]=e;break;case\"filter\":i.filters[e.id]=H(e);break;case\"lineargradient\":i.linearGradients[e.attributes.id.textContent]=F(e);break;case\"radialgradient\":i.radialGradients[e.attributes.id.textContent]=F(e);break;default:return M(e,t,n,i)}}))}function z(e,t,n){var i=t.stroke;i&&\"none\"!==i&&0!==t[\"stroke-width\"]&&(!function(e,t){var n=t[\"stroke-dasharray\"]&&t[\"stroke-dasharray\"].match(/(\\d+)/g);n&&n.length&&(n=(0,s.map)(n,(function(e){return D(e)})),e.setLineDash(n))}(e,t),e.lineJoin=t[\"stroke-linejoin\"],e.lineWidth=t[\"stroke-width\"],e.globalAlpha=t.strokeOpacity,e.strokeStyle=i,n?e.strokeText(t.text,t.x,t.y):e.stroke(),e.globalAlpha=1)}function j(e,t,n){var i,o=t.fill;if(o&&\"none\"!==o)if(-1===o.search(/url/))e.fillStyle=o,e.globalAlpha=t.fillOpacity,e.fill(),e.globalAlpha=1;else{var r=n.patterns[E(o)];if(!r)return;i=function(e,t,n,i){var o=T(t,n.rootAppended),r=q._createCanvas(o.width,o.height,0),s=r.getContext(\"2d\"),l=N(t.childNodes,s,o,n),u=function(){e.fillStyle=e.createPattern(r,\"repeat\"),e.globalAlpha=i.fillOpacity,e.fill(),e.globalAlpha=1};return(0,a.isPromise)(l)?l.then(u):u(),l}(e,r,n,t)}return i}function W(e,t,n){return N(e.childNodes,t.getContext(\"2d\"),{},{clipPaths:{},patterns:{},filters:{},linearGradients:{},radialGradients:{},rootAppended:n})}function G(e,t){var n=t.width,i=t.height,o=t.backgroundColor,a=t.margin,s=t.svgToCanvas,l=void 0===s?W:s,c=$(n,i),h=q._createCanvas(c.width,c.height,a),p=h.getContext(\"2d\");p.setTransform(c.pixelRatio,0,0,c.pixelRatio,0,0);var g,m=(0,r.getSvgElement)(e),_=u.default.isElementNode(e);return p.translate(a,a),u.default.getBody().appendChild(h),_||((g=function(){var e=u.default.createElement(\"div\");return e.style.left=\"-9999px\",e.style.position=\"absolute\",e}()).appendChild(m),u.default.getBody().appendChild(g)),m.attributes.direction&&(h.dir=m.attributes.direction.textContent),function(e,t,n,i,o){e.fillStyle=i||\"#ffffff\",e.fillRect(-o,-o,t+2*o,n+2*o)}(p,n,i,o,a),(0,f.fromPromise)(l(m,h,_&&(0,d.contains)(u.default.getBody(),e))).then((function(){return h})).always((function(){g&&u.default.getBody().removeChild(g),u.default.getBody().removeChild(h)}))}g=function(e){var t,n={};return(0,s.each)(e,(function(e,i){t=i.textContent,isFinite(t)&&(t=D(t)),n[i.name.toLowerCase()]=t})),n};var q={getImageData:function(e,t){var n=\"image/\"+t.format;return(0,a.isFunction)(t.__parseAttributesFn)&&(g=t.__parseAttributesFn),G(e,t).then((function(e){return function(e,t){var n=e.toDataURL(t,1);return m.atob(n.substring((\"data:\"+t+\";base64,\").length))}(e,n)}))},getData:function(e,t){var n=this;return q.getImageData(e,t).then((function(e){var i=\"image/\"+t.format;return(0,a.isFunction)(m.Blob)&&!t.useBase64?n._getBlob(e,i):n._getBase64(e)}))},_getBlob:function(e,t){var n,i=new Uint8Array(e.length);for(n=0;n<e.length;n++)i[n]=e.charCodeAt(n);return new m.Blob([i.buffer],{type:t})},_getBase64:function(e){return m.btoa(e)},_createCanvas:function(e,t,n){var o=(0,i.default)(\"<canvas>\")[0];return o.width=e+2*n,o.height=t+2*n,o.hidden=!0,o}};function $(e,t){var n=m.devicePixelRatio||1;return{pixelRatio:n,width:e*n,height:t*n}}t.imageCreator=q},18577:function(e,t,n){t.Export=void 0;var i=n(35922),o=n(13306),a=d(n(91500)),r=d(n(18016)),s=d(n(28109)),l=n(5332),u=n(58201);function d(e){return e&&e.__esModule?e:{default:e}}var c={getFullOptions:function(e){var t=(0,o.extend)({},e);if(!(0,i.isDefined)(t.jsPDFDocument)||!(0,i.isObject)(t.jsPDFDocument))throw Error('The \"jsPDFDocument\" field must contain a jsPDF instance.');if(!(0,i.isDefined)(t.jsPDFDocument.autoTable)||!(0,i.isFunction)(t.jsPDFDocument.autoTable))throw Error('The \"exportDataGrid\" method requires a autoTable plugin for jsPDF object.');if((0,i.isDefined)(t.keepColumnWidths)||(t.keepColumnWidths=!0),(0,i.isDefined)(t.autoTableOptions)){if(!(0,i.isObject)(t.autoTableOptions))throw Error('The \"autoTableOptions\" option must be of object type.');t.autoTableOptions=(0,o.extend)(!0,{},this._getDefaultAutoTableOptions(),t.autoTableOptions)}else t.autoTableOptions=this._getDefaultAutoTableOptions();return(0,i.isDefined)(t.loadPanel)||(t.loadPanel={}),(0,i.isDefined)(t.loadPanel.enabled)||(t.loadPanel.enabled=!0),(0,i.isDefined)(t.loadPanel.text)||(t.loadPanel.text=s.default.format(\"dxDataGrid-exporting\")),t},_getDefaultAutoTableOptions:function(){return{theme:\"plain\",tableLineColor:149,tableLineWidth:.1,styles:{textColor:51,lineColor:149,lineWidth:0},columnStyles:{},headStyles:{fontStyle:\"normal\",textColor:149,lineWidth:.1},bodyStyles:{lineWidth:.1},head:[],body:[]}},export:function(e){var t,n,o=this,a=e.jsPDFDocument,r=e.autoTableOptions,s=e.component,d=e.customizeCell,c=e.keepColumnWidths,h=e.selectedRowsOnly,f=e.loadPanel,p=(null===(t=s._getInternalInstance)||void 0===t?void 0:t.call(s))||s,g=p.option(\"loadPanel\")&&p.option(\"loadPanel\").enabled;if(g&&s.option(\"loadPanel.enabled\",!1),f.enabled&&(0,u.hasWindow)()){var m=s.getView(\"rowsView\");(n=new l.ExportLoadPanel(s,m.element(),m.element().parent(),f)).show()}var _=s.getDataProvider(h),v=!!s.option(\"wordWrapEnabled\");return new Promise((function(e){_.ready().done((function(){var t=_.getColumns(),n=_.getStyles(),s=_.getRowsCount(),l=_.getHeaderRowCount(),u=[];if(c){var h=o._tryGetPdfColumnWidths(r.tableWidth,_.getColumnsWidths());(0,i.isDefined)(h)&&(0,i.isDefined)(r.columnStyles)&&o._setColumnWidths(r.columnStyles,h)}for(var f=0;f<s;f++){for(var p=[],g=0;g<t.length;g++){var m=_.getCellData(f,g,!0),y=m.value,b=m.cellSourceData,x=n[_.getStyleId(f,g)],w={content:o._getFormattedValue(y,x.format),styles:o._getPDFCellStyles(b.rowType,t[g].alignment,x,v)};if(\"header\"===b.rowType){var C=o._tryGetMergeRange(f,g,u,_);C&&C.rowSpan>0&&(w.rowSpan=C.rowSpan+1),C&&C.colSpan>0&&(w.colSpan=C.colSpan+1),(!(u[f]&&u[f][g])||w.rowSpan>1||w.colSpan>1)&&((0,i.isFunction)(d)&&d({gridCell:b,pdfCell:w}),p.push(w))}else if(\"group\"!==b.rowType||(0,i.isDefined)(w.content)||1!==p.length){var S;w.content=null!==(S=w.content)&&void 0!==S?S:\"\",(0,i.isFunction)(d)&&d({gridCell:b,pdfCell:w}),p.push(w)}else{var k;p[0].colSpan=null!==(k=p[0].colSpan)&&void 0!==k?k:1,p[0].colSpan++}}f<l?r.head.push(p):r.body.push(p)}a.autoTable(r),e()})).always((function(){g&&s.option(\"loadPanel.enabled\",g),f.enabled&&(0,u.hasWindow)()&&n.dispose()}))}))},_getFormattedValue:function(e,t){if((0,i.isDefined)(t)){if((0,i.isDate)(e))return a.default.format(e,t);if((0,i.isNumeric)(e))return r.default.format(e,t)}return e},_getPDFCellStyles:function(e,t,n,i){var o=n.alignment,a=n.bold,r=\"header\"===e?t:o,s={};return r&&(s.halign=r),a&&\"header\"!==e&&(s.fontStyle=\"bold\"),i&&(s.cellWidth=\"wrap\"),s},_tryGetMergeRange:function(e,t,n,i){if(!n[e]||!n[e][t]){var o=i.getCellMerging(e,t),a=o.colspan,r=o.rowspan;if(a||r){for(var s=e;s<=e+r;s++)for(var l=t;l<=t+a;l++)n[s]||(n[s]=[]),n[s][l]=!0;return{rowSpan:r,colSpan:a}}}},_tryGetPdfColumnWidths:function(e,t){if((0,i.isNumeric)(e)&&(0,i.isDefined)(t)){var n=t.reduce((function(e,t){return e+t}),0);return t.map((function(t){return e*t/n}))}},_setColumnWidths:function(e,t){t.forEach((function(t,n){e[n]=e[n]||{},e[n].cellWidth=t}))}};t.Export=c},83152:function(e,t,n){t.exportDataGrid=function(e){return o.Export.export(function(e){if(!(0,i.isDefined)(e)||!(0,i.isObject)(e))throw Error('The \"exportDataGrid\" method requires a configuration object.');if(!(0,i.isDefined)(e.component)||!(0,i.isObject)(e.component)||\"dxDataGrid\"!==e.component.NAME)throw Error('The \"component\" field must contain a DataGrid instance.');(0,i.isDefined)(e.selectedRowsOnly)||(e.selectedRowsOnly=!1);return o.Export.getFullOptions(e)}(e))};var i=n(35922),o=n(18577)},66867:function(e,t,n){t.addNewPage=function(e){e.addPage(),function(e){(0,i.isDefined)(e.getLineWidth)||(e.__borderWidth=null)}(e)},t.drawCellsContent=function(e,t,n,a){n.forEach((function(n){var s=n._rect,u=n.gridCell,h=function(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,r),f=s.x,g=s.y,m=s.w,_=s.h,v={doc:e,rect:{x:f,y:g,w:m,h:_},pdfCell:h,gridCell:u,cancel:!1};null==t||t(v),v.cancel||(function(e,t){(0,i.isDefined)(t.backgroundColor)&&(p(e,\"fill\",t.backgroundColor),d(e,t._rect.x,t._rect.y,t._rect.w,t._rect.h,\"F\"))}(e,n),function(e,t,n){if((0,i.isDefined)(t.text)&&\"\"!==t.text){var a=t.textColor,r=t.font,s=t._rect,u=t.padding;!function(e,t,n){var a=t.textColor,r=t.font;p(e,\"text\",(0,i.isDefined)(a)?a:n.textColor);var s=(0,i.isDefined)(r)?(0,o.extend)({},n.font,r):n.font,l=e.getFont();(s.name!==l.fontName||s.style!==l.fontStyle||(0,i.isDefined)(s.weight))&&e.setFont(s.name,s.style,s.weight);s.size!==e.getFontSize()&&e.setFontSize(s.size)}(e,{textColor:a,font:r},n);var d,h,f={x:s.x+u.left,y:s.y+u.top,w:s.w-(u.left+u.right),h:s.h-(u.top+u.bottom)};if((0,i.isDefined)(t._textLeftOffset)||(0,i.isDefined)(t._textTopOffset))f.x=f.x+(null!==(d=t._textLeftOffset)&&void 0!==d?d:0),f.y=f.y+(null!==(h=t._textTopOffset)&&void 0!==h?h:0),e.saveGraphicsState(),function(e,t,n,i,o){e.moveTo(l(t),l(n)),e.lineTo(l(t+i),l(n)),e.lineTo(l(t+i),l(n+o)),e.lineTo(l(t),l(n+o)),e.clip(),e.discardPath()}(e,t._rect.x,t._rect.y,t._rect.w,t._rect.h);c(e,t.text,f,t.verticalAlign,t.horizontalAlign,t._internalTextOptions),((0,i.isDefined)(t._textLeftOffset)||(0,i.isDefined)(t._textTopOffset))&&e.restoreGraphicsState()}}(e,n,a))}))},t.drawCellsLines=function(e,t,n){t.filter((function(e){return!(0,i.isDefined)(e.borderColor)})).forEach((function(t){h(e,t._rect,t,n)})),t.filter((function(e){return(0,i.isDefined)(e.borderColor)})).forEach((function(t){h(e,t._rect,t,n)}))},t.drawGridLines=function(e,t,n,i){h(e,t,n,i)},t.drawLine=u,t.drawRect=d,t.drawTextInRect=c,t.getDocumentStyles=function(e){var t=e.getFont();return{borderWidth:g(e),borderColor:e.getDrawColor(),font:{name:t.fontName,style:t.fontStyle,size:e.getFontSize()},textColor:e.getTextColor()}},t.roundToThreeDecimals=l,t.setDocumentStyles=function(e,t){var n=t.borderWidth,i=t.borderColor,o=t.font,a=t.textColor,r=e.getFont();r.fontName===o.name&&r.fontStyle===o.style||e.setFont(o.name,o.style,void 0);e.getFontSize()!==o.size&&e.setFontSize(o.size);g(e)!==n&&m(e,n);e.getDrawColor()!==i&&e.setDrawColor(i);e.getTextColor()!==a&&e.setTextColor(a)};var i=n(35922),o=n(13306),a=n(79262),r=[\"_rect\",\"gridCell\"];function s(e){return e.charAt(0).toUpperCase()+e.slice(1)}function l(e){return Math.round(1e3*e)/1e3}function u(e,t,n,i,o){e.line(l(t),l(n),l(i),l(o))}function d(e,t,n,o,a,r){(0,i.isDefined)(r)?e.rect(l(t),l(n),l(o),l(a),r):e.rect(l(t),l(n),l(o),l(a))}function c(e,t,n,i,r,s){var u=t.split(\"\\n\"),d=u.length,c=(0,a.calculateTextHeight)(e,u[0],e.getFont(),{wordWrapEnabled:!1,targetRectWidth:1e9}),h=null!=i?i:\"middle\",f=null!=r?r:\"left\",p={top:0,middle:.5,bottom:1},g=n.y+n.h*p[h]-c*(d-1)*p[h]+function(e){return(e.getLineHeightFactor()-1.15)*e.getFontSize()}(e),m=n.x+n.w*{left:0,center:.5,right:1}[f],_=(0,o.extend)({baseline:h,align:f},s);e.text(u.join(\"\\n\"),l(m),l(g),_)}function h(e,t,n,o){var a=n.borderWidth,r=n.borderColor,s=n.drawLeftBorder,l=void 0===s||s,c=n.drawRightBorder,h=void 0===c||c,p=n.drawTopBorder,g=void 0===p||p,m=n.drawBottomBorder,_=void 0===m||m;if(!(0,i.isDefined)(t))throw\"rect is required\";(l||h||g||_)&&(l&&h&&g&&_?(f(e,{borderWidth:a,borderColor:r},o),d(e,t.x,t.y,t.w,t.h)):(f(e,{borderWidth:a,borderColor:r},o),g&&u(e,t.x,t.y,t.x+t.w,t.y),l&&u(e,t.x,t.y,t.x,t.y+t.h),h&&u(e,t.x+t.w,t.y,t.x+t.w,t.y+t.h),_&&u(e,t.x,t.y+t.h,t.x+t.w,t.y+t.h)))}function f(e,t,n){var o=t.borderWidth,r=t.borderColor,s=(0,i.isDefined)(o)?o:n.borderWidth;s!==g(e)&&m(e,(0,a.toPdfUnit)(e,s)),p(e,\"draw\",(0,i.isDefined)(r)?r:n.borderColor)}function p(e,t,n){var i=\"get\".concat(s(t),\"Color\"),o=\"set\".concat(s(t),\"Color\"),a=n.ch1,r=void 0===a?n:a,l=n.ch2,u=n.ch3,d=n.ch4;e.__private__.decodeColorString(e.__private__.encodeColorString({ch1:r,ch2:l,ch3:u,ch4:d,precision:\"text\"===t?3:2}))===e[i]()&&\"fill\"!==t||e[o].apply(e,[r,l,u,d].filter((function(e){return void 0!==e})))}function g(e){var t;return(0,i.isDefined)(e.getLineWidth)?e.getLineWidth():null!==(t=e.__borderWidth)&&void 0!==t?t:.200025}function m(e,t){e.setLineWidth(t),(0,i.isDefined)(e.getLineWidth)||(e.__borderWidth=t)}},17195:function(e,t,n){t.Export=void 0;var i,o=n(35922),a=n(13306),r=n(30646),s=n(65322),l=n(41269),u=n(27504),d=n(22775),c=n(66867),h=n(79262),f=(i=n(28109))&&i.__esModule?i:{default:i},p=n(5332),g=n(58201);function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _={getFullOptions:function(e){var t=e.jsPDFDocument,n=(0,a.extend)({},e);return(0,o.isDefined)(n.topLeft)||(n.topLeft={x:0,y:0}),(0,o.isDefined)(n.indent)||(n.indent=0),(0,o.isDefined)(n.repeatHeaders)||(n.repeatHeaders=!0),(0,o.isDefined)(n.margin)||(n.margin=(0,h.toPdfUnit)(t,40)),n.margin=(0,r.normalizeBoundaryValue)(n.margin),Array.isArray(n.columnWidths)||(n.columnWidths=[]),(0,o.isDefined)(n.loadPanel)||(n.loadPanel={}),(0,o.isDefined)(n.loadPanel.enabled)||(n.loadPanel.enabled=!0),(0,o.isDefined)(n.loadPanel.text)||(n.loadPanel.text=f.default.format(\"dxDataGrid-exporting\")),n},export:function(e){var t,n,i=e.jsPDFDocument,a=e.component,f=e.selectedRowsOnly,_=e.loadPanel,v=(null===(t=a._getInternalInstance)||void 0===t?void 0:t.call(a))||a,y=v.option(\"loadPanel\")&&v.option(\"loadPanel\").enabled;if(y&&a.option(\"loadPanel.enabled\",!1),_.enabled&&(0,g.hasWindow)()){var b=a.getView(\"rowsView\");(n=new p.ExportLoadPanel(a,b.element(),b.element().parent(),_)).show()}var x=a.getDataProvider(f);return new Promise((function(t){x.ready().done((function(){var n,f,p=(0,u.generateRowsInfo)(i,x,a,null===(n=e.rowOptions)||void 0===n||null===(f=n.headerStyles)||void 0===f?void 0:f.backgroundColor);e.customizeCell&&p.forEach((function(t){return t.cells.forEach((function(t){return e.customizeCell(t)}))})),(0,r.normalizeRowsInfo)(p),(0,s.initializeCellsWidth)(i,x,p,e),(0,s.resizeFirstColumnByIndentLevel)(p,e),(0,s.applyColSpans)(p),(0,s.calculateHeights)(i,p,e),(0,s.applyRowSpans)(p),(0,l.updateRowsAndCellsHeights)(i,p),(0,s.calculateCoordinates)(i,p,e),(0,s.applyBordersConfig)(p),(0,h.applyWordWrap)(i,p);var g=(0,c.getDocumentStyles)(i),_=!!a.option(\"rtlEnabled\"),v=(0,d.splitByPages)(i,p,e,(function(e){var t,n=e.sourceRect,a=e.leftRect,r=e.rightRect,s={},l={};if((null===(t=n.sourceCellInfo.text)||void 0===t?void 0:t.length)>0)if(_){var u=i.getTextWidth(n.sourceCellInfo.text)>a.w,d=!(0,o.isDefined)(n.sourceCellInfo.horizontalAlign)||\"right\"===n.sourceCellInfo.horizontalAlign;if(u||!d){var c,h,f,p,g,v;if(\"right\"===(null===(c=n.sourceCellInfo)||void 0===c?void 0:c.horizontalAlign))g=(p=null!==(v=n.sourceCellInfo._textLeftOffset)&&void 0!==v?v:0)+a.w;else\"center\"===(null===(h=n.sourceCellInfo)||void 0===h?void 0:h.horizontalAlign)?p=(g=n.x+n.w-(r.x+r.w)+n.sourceCellInfo._rect.w/2-a.w/2)-r.w:\"left\"===(null===(f=n.sourceCellInfo)||void 0===f?void 0:f.horizontalAlign)&&(p=(g=n.x+n.w-(r.x+r.w))-r.w);s=m({},{_textLeftOffset:p}),l=m({},{_textLeftOffset:g})}else l=m({},{text:\"\"})}else{var y=i.getTextWidth(n.sourceCellInfo.text)>a.w,b=!(0,o.isDefined)(n.sourceCellInfo.horizontalAlign)||\"left\"===n.sourceCellInfo.horizontalAlign;if(y||!b){var x,w,C,S,k,D;if(\"left\"===(null===(x=n.sourceCellInfo)||void 0===x?void 0:x.horizontalAlign))k=(S=null!==(D=n.sourceCellInfo._textLeftOffset)&&void 0!==D?D:0)-a.w;else if(\"center\"===(null===(w=n.sourceCellInfo)||void 0===w?void 0:w.horizontalAlign)){var I,T=null!==(I=n.sourceCellInfo._textLeftOffset)&&void 0!==I?I:0;S=T+(n.x+n.w/2)-(a.x+a.w/2),k=T+(n.x+n.w/2)-(r.x+r.w/2)}else\"right\"===(null===(C=n.sourceCellInfo)||void 0===C?void 0:C.horizontalAlign)&&(S=n.x+n.w-(a.x+a.w),k=n.x+n.w-(r.x+r.w));s=m({},{_textLeftOffset:S}),l=m({},{_textLeftOffset:k})}else l=m({},{text:\"\"})}a.sourceCellInfo=m({},n.sourceCellInfo,{debugSourceCellInfo:n.sourceCellInfo},s),r.sourceCellInfo=m({},n.sourceCellInfo,{debugSourceCellInfo:n.sourceCellInfo},l)}),(function(e){var t,n=e.sourceRect,o=e.topRect,a=e.bottomRect,r={},s={};if((null===(t=n.sourceCellInfo.text)||void 0===t?void 0:t.length)>0){var l,u=i.getTextDimensions(n.sourceCellInfo.text).h>o.h,d=\"top\"===(null===(l=n.sourceCellInfo)||void 0===l?void 0:l.verticalAlign);if(u||!d){var c,h,f,p,g,_;if(\"top\"===(null===(c=n.sourceCellInfo)||void 0===c?void 0:c.verticalAlign))g=(p=null!==(_=n.sourceCellInfo._textTopOffset)&&void 0!==_?_:0)-o.h;else if(\"middle\"===(null===(h=n.sourceCellInfo)||void 0===h?void 0:h.verticalAlign)){var v,y=null!==(v=n.sourceCellInfo._textTopOffset)&&void 0!==v?v:0;p=y+(n.y+n.h/2)-(o.y+o.h/2),g=y+(n.y+n.h/2)-(a.y+a.h/2)}else\"bottom\"===(null===(f=n.sourceCellInfo)||void 0===f?void 0:f.verticalAlign)&&(p=n.y+n.h-(o.y+o.h),g=n.y+n.h-(a.y+a.h));r=m({},{_textTopOffset:p}),s=m({},{_textTopOffset:g})}else s=m({},{text:\"\"})}o.sourceCellInfo=m({},n.sourceCellInfo,{debugSourceCellInfo:n.sourceCellInfo},r),a.sourceCellInfo=m({},n.sourceCellInfo,{debugSourceCellInfo:n.sourceCellInfo},s)}));_&&(0,h.applyRtl)(i,v,e),v.forEach((function(t,n){if(n>0&&(0,c.addNewPage)(i),(0,c.drawCellsContent)(i,e.customDrawCell,t,g),(0,c.drawCellsLines)(i,t,g),(0,o.isDefined)(t)&&0===t.length){var a=(0,s.calculateTableSize)(i,t,e),r=(0,u.getBaseTableStyle)();(0,c.drawGridLines)(i,a,r,g)}})),(0,c.setDocumentStyles)(i,g),t()})).always((function(){y&&a.option(\"loadPanel.enabled\",y),_.enabled&&(0,g.hasWindow)()&&n.dispose()}))}))}};t.Export=_},41269:function(e,t,n){t.updateRowsAndCellsHeights=function(e,t){var n=function(e,t){var n=Array.from({length:t.length},(function(){return 0}));return s(t).forEach((function(a){a.cells.filter((function(e){return(0,i.isDefined)(e.rowSpan)})).forEach((function(i){var r=(0,o.calculateTargetRectWidth)(i.pdfCell._rect.w,i.pdfCell.padding),s=(0,o.calculateTextHeight)(e,i.pdfCell.text,i.pdfCell.font,{wordWrapEnabled:i.pdfCell.wordWrapEnabled,targetRectWidth:r})+i.pdfCell.padding.top+i.pdfCell.padding.bottom,l=i.rowSpan+1,u=t.slice(a.rowIndex,a.rowIndex+l).reduce((function(e,t){return e+t.height+n[t.rowIndex]}),0);if(s>u)for(var d=(s-u)/l,c=a.rowIndex;c<a.rowIndex+l;c++)n[c]+=d}))})),n}(e,t);t.forEach((function(e){e.height+=n[e.rowIndex]})),t.forEach((function(e){e.cells.forEach((function(n){var i,o=(null!==(i=n.rowSpan)&&void 0!==i?i:0)+1;n.pdfCell._rect.h=t.slice(e.rowIndex,e.rowIndex+o).reduce((function(e,t){return e+t.height}),0)}))}))};var i=n(35922),o=n(79262);function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function s(e){var t=function(e){var t=e.cells.map((function(e){var t;return null!==(t=e.rowSpan)&&void 0!==t?t:0}));return Math.max.apply(Math,a(t))};return a(e).sort((function(e,n){var i=t(e),o=t(n);return i>o?1:o>i?-1:0}))}},30646:function(e,t,n){t.normalizeBoundaryValue=o,t.normalizeRowsInfo=function(e){e.forEach((function(e){e.cells.forEach((function(e){var t=e.pdfCell;t.padding=o(t.padding)}))}))};var i=n(35922);function o(e){var t,n,o,a;return(0,i.isNumeric)(e)?{top:e,right:e,bottom:e,left:e}:{top:null!==(t=null==e?void 0:e.top)&&void 0!==t?t:0,right:null!==(n=null==e?void 0:e.right)&&void 0!==n?n:0,bottom:null!==(o=null==e?void 0:e.bottom)&&void 0!==o?o:0,left:null!==(a=null==e?void 0:e.left)&&void 0!==a?a:0}}},79262:function(e,t,n){t.applyRtl=function(e,t,n){t.forEach((function(t){t.forEach((function(t){var i=o(e)-(t._rect.x+t._rect.w),a=n.margin.left-n.margin.right;t._rect.x=i+a}))}))},t.applyWordWrap=function(e,t){t.forEach((function(t){t.cells.forEach((function(t){var n=t.pdfCell;if((0,i.isDefined)(n.text)){var o=a(e,n.text,n.font,{wordWrapEnabled:n.wordWrapEnabled,targetRectWidth:r(n._rect.w,n.padding)});n.text=o.join(\"\\n\")}}))}))},t.calculateRowHeight=function(e,t,n){if(t.length!==n.length)throw\"the cells count must be equal to the count of the columns\";for(var o=0,a=0;a<t.length;a++)if(!(0,i.isDefined)(t[a].rowSpan)){var s=t[a].pdfCell.text,u=t[a].pdfCell.padding,d=t[a].pdfCell.font,c=t[a].pdfCell.wordWrapEnabled,h=r(n[a],u);if((0,i.isDefined)(s)){var f=(\"\"!==s?l(e,s,d,{wordWrapEnabled:c,targetRectWidth:h}):0)+u.top+u.bottom;o<f&&(o=f)}}return o},t.calculateTargetRectWidth=r,t.calculateTextHeight=l,t.getPageHeight=function(e){return e.internal.pageSize.getHeight()},t.getPageWidth=o,t.getTextDimensions=s,t.getTextLines=a,t.toPdfUnit=function(e,t){var n=1/e.internal.scaleFactor;return t*n};var i=n(35922);function o(e){return e.internal.pageSize.getWidth()}function a(e,t,n,i){var o=i.wordWrapEnabled,a=i.targetRectWidth;if(o){var r=e.getFont(null==n?void 0:n.name,null==n?void 0:n.style);return e.splitTextToSize(t,a,{fontSize:(null==n?void 0:n.size)||e.getFontSize(),fontName:r.fontName,fontStyle:r.fontStyle})}var l=t.split(\"\\n\").filter((function(e){return\"\"!==e})).join(\" \");if(s(e,l,n).w<=a)return[l];for(var u=s(e,l+\"...\",n).w;l.length>0&&u>a;){var d=0;u>=2*a&&(d=l.length/2),d<1&&(d=1),u=s(e,(l=l.substring(0,l.length-d))+\"...\",n).w}return[l+\"...\"]}function r(e,t){var n=e-(t.left+t.right);return n>=0?n:0}function s(e,t,n){return e.getTextDimensions(t,{font:e.getFont(null==n?void 0:n.name,null==n?void 0:n.style),fontSize:(null==n?void 0:n.size)||e.getFontSize()})}function l(e,t,n,i){var o=i.wordWrapEnabled,r=i.targetRectWidth;return s(e,t,n).h*a(e,t,n,{wordWrapEnabled:o,targetRectWidth:r}).length*e.getLineHeightFactor()}},65322:function(e,t,n){t.applyBordersConfig=function(e){for(var t=0;t<e.length;t++)for(var n=e[t].cells,o=0;o<n.length;o++){var a=n[o].pdfCell,r=o>=1?n[o-1].pdfCell:null,s=t>=1?e[t-1].cells[o].pdfCell:null;!1!==a.drawLeftBorder||(0,i.isDefined)(n[o].colSpan)?(0,i.isDefined)(a.drawLeftBorder)||(0,i.isDefined)(r)&&!1===r.drawRightBorder&&(a.drawLeftBorder=!1):(0,i.isDefined)(r)&&(r.drawRightBorder=!1),!1===a.drawTopBorder?(0,i.isDefined)(s)&&(s.drawBottomBorder=!1):(0,i.isDefined)(a.drawTopBorder)||(0,i.isDefined)(s)&&!1===s.drawBottomBorder&&(a.drawTopBorder=!1)}},t.applyColSpans=function(e){for(var t=0;t<e.length;t++)for(var n=e[t],o=0;o<n.cells.length;o++){var a=n.cells[o];if((0,i.isDefined)(a.colSpan)&&!(0,i.isDefined)(a.pdfCell.isMerged))for(var r=1;r<=a.colSpan;r++){var s=e[t].cells[o+r];a.pdfCell._rect.w+=s.pdfCell._rect.w,s.pdfCell._rect.w=0,s.pdfCell.isMerged=!0}}},t.applyRowSpans=function(e){for(var t=0;t<e.length;t++)for(var n=e[t],o=0;o<n.cells.length;o++){var a=n.cells[o];if((0,i.isDefined)(a.rowSpan)&&!(0,i.isDefined)(a.pdfCell.isMerged))for(var r=1;r<=a.rowSpan;r++){var s=e[t+r].cells[o];a.pdfCell._rect.h+=s.pdfCell._rect.h,s.pdfCell._rect.h=0,s.pdfCell.isMerged=!0}}},t.calculateCoordinates=function(e,t,n){var i,o=null==n?void 0:n.topLeft,a=null==n?void 0:n.margin,r=(null!==(i=null==o?void 0:o.y)&&void 0!==i?i:0)+a.top;t.forEach((function(e){var t,i=(null!==(t=null==o?void 0:o.x)&&void 0!==t?t:0)+a.left,s=e.indentLevel*n.indent;e.cells.forEach((function(e){e.pdfCell._rect.x=i+s,e.pdfCell._rect.y=r,i+=e.pdfCell._rect.w})),r+=e.height}))},t.calculateHeights=function(e,t,n){t.forEach((function(t){var a,r=t.cells.map((function(e){return e.pdfCell}));if(n.onRowExporting){var s={rowCells:r};n.onRowExporting(s),(0,i.isDefined)(s.rowHeight)&&(a=s.rowHeight)}t.height=(0,i.isDefined)(a)?a:(0,o.calculateRowHeight)(e,t.cells,r.map((function(e){return e._rect.w}))),r.forEach((function(e){e._rect.h=t.height}))}))},t.calculateTableSize=function(e,t,n){var o,a,r,s,l,u,d,c,h,f;t.forEach((function(e){(!(0,i.isDefined)(d)||d>e._rect.x)&&(d=e._rect.x),(!(0,i.isDefined)(c)||c>e._rect.y)&&(c=e._rect.y),(!(0,i.isDefined)(h)||h<e._rect.x+e._rect.w)&&(h=e._rect.x+e._rect.w),(!(0,i.isDefined)(f)||f<e._rect.y+e._rect.h)&&(f=e._rect.y+e._rect.h)}));var p=null!==(o=null!==(a=d)&&void 0!==a?a:null==n||null===(r=n.topLeft)||void 0===r?void 0:r.x)&&void 0!==o?o:0,g=null!==(s=null!==(l=c)&&void 0!==l?l:null==n||null===(u=n.topLeft)||void 0===u?void 0:u.y)&&void 0!==s?s:0,m=(0,i.isDefined)(h)?h-p:0,_=(0,i.isDefined)(f)?f-g:0;return{x:p,y:g,w:m,h:_}},t.initializeCellsWidth=function(e,t,n,r){var s=function(e,t,n,r,s){var l=t.getColumnsWidths().map((function(t){return(0,o.toPdfUnit)(e,null!=t?t:150)})),u=l.filter((function(e,t){return!(0,i.isDefined)(s[t])})).reduce(a,0),d=s.filter((function(e){return(0,i.isNumeric)(e)})).reduce(a,0),c=function(e,t,n){return(0,o.getPageWidth)(e)-t-n.left-n.right}(e,n,r),h=d<c?(c-d)/u:1;return l.map((function(e,t){var n;return null!==(n=s[t])&&void 0!==n?n:e*h}))}(e,t,r.topLeft.x,r.margin,r.columnWidths);n.forEach((function(e){e.cells.forEach((function(e,t){e.gridCell;e.pdfCell._rect.w=s[t]}))}))},t.resizeFirstColumnByIndentLevel=function(e,t){e.forEach((function(e){e.cells[0].pdfCell._rect.w-=e.indentLevel*t.indent}))};var i=n(35922),o=n(79262),a=function(e,t){return e+t}},27504:function(e,t,n){t.generateRowsInfo=function(e,t,n,i){for(var o=[],a=t.getRowsCount(),r=!!n.option(\"wordWrapEnabled\"),s=!!n.option(\"rtlEnabled\"),l=t.getColumns(),u=t.getStyles(),c=0;c<a;c++){var h=t.getCellData(c,0,!0).cellSourceData.rowType,f=\"header\"!==h?t.getGroupLevel(c):0,p=o[c-1];\"groupFooter\"===h&&\"groupFooter\"===(null==p?void 0:p.rowType)&&(f=p.indentLevel-1),o.push({rowType:h,indentLevel:f,cells:d({doc:e,dataProvider:t,rowIndex:c,wordWrapEnabled:r,columns:l,styles:u,rowType:h,backgroundColor:\"header\"===h?i:void 0,rtlEnabled:s}),rowIndex:c})}return o},t.getBaseTableStyle=function(){return u.base};var i=n(35922),o=s(n(91500)),a=s(n(18016)),r=n(79262);function s(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var u={base:{font:{size:10},borderWidth:.5,borderColor:\"#979797\"},header:{textColor:\"#979797\"},group:{},data:{},groupFooter:{},totalFooter:{}};function d(e){for(var t=e.doc,n=e.dataProvider,o=e.rowIndex,a=e.wordWrapEnabled,s=e.columns,u=e.styles,d=e.rowType,f=e.backgroundColor,p=e.rtlEnabled,g=[],m=0;m<s.length;m++){var _,v=n.getCellData(o,m,!0),y=u[n.getStyleId(o,m)],b=c(s[m],d,y),x=p?\"right\":\"left\",w=(0,r.toPdfUnit)(t,5),C={text:h(v.value,y.format),verticalAlign:\"middle\",horizontalAlign:null!==(_=b.alignment)&&void 0!==_?_:x,wordWrapEnabled:a,backgroundColor:f,padding:{top:w,right:w,bottom:w,left:w},_rect:{},_internalTextOptions:{}};p&&(C._internalTextOptions.isInputVisual=!1,C._internalTextOptions.isOutputVisual=!0,C._internalTextOptions.isInputRtl=!0,C._internalTextOptions.isOutputRtl=!1);var S={gridCell:v.cellSourceData,pdfCell:l({},C,b)};if(\"header\"===d){var k=n.getCellMerging(o,m);k&&k.rowspan>0&&(S.rowSpan=k.rowspan),k&&k.colspan>0&&(S.colSpan=k.colspan)}else if(\"group\"===d){var D=p?\"drawRightBorder\":\"drawLeftBorder\",I=p?\"drawLeftBorder\":\"drawRightBorder\";if(S.pdfCell[D]=0===m,S.pdfCell[I]=m===s.length-1,m>0){var T=g.slice(1).reduce((function(e,t){return e&&!(0,i.isDefined)(t.pdfCell.text)}),!0);if(!(0,i.isDefined)(S.pdfCell.text)&&T){g[0].pdfCell[I]=!0;for(var E=0;E<g.length;E++)g[E].colSpan=g.length;S.colSpan=g.length}}}g.push(S)}return g}function c(e,t,n){var i=l({},u.base,u[t]),o=\"header\"===t?e.alignment:n.alignment;return o&&(i.alignment=o),n.bold&&\"header\"!==t&&(i.font=l({},i.font,{style:\"bold\"})),i}function h(e,t){if((0,i.isDefined)(t)){if((0,i.isDate)(e))return o.default.format(e,t);if((0,i.isNumeric)(e))return a.default.format(e,t)}return null==e?void 0:e.toString()}},72666:function(e,t,n){t.createOnSplitMultiPageRow=void 0;var i=n(79262);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t,n){return o({},e,{sourceCellInfo:o({},e.sourceCellInfo,{text:t}),y:n})}t.createOnSplitMultiPageRow=function(e,t,n,o){return function(r,s){var l=[],u=[],d=0,c=0;return s.forEach((function(s){var h=s.w,f=s.sourceCellInfo,p=!r&&t.repeatHeaders?n:n+t.topLeft.y,g=(0,i.getTextDimensions)(e,f.text,f.font).h,m=f.padding.top+f.padding.bottom,_=o.y-p-m-t.margin.top,v=Math.floor(_/(g*e.getLineHeightFactor())),y=(0,i.getTextLines)(e,f.text,f.font,{wordWrapEnabled:f.wordWrapEnabled,targetRectWidth:h});if(v<y.length){var b=y.slice(0,v).join(\"\\n\"),x=(0,i.calculateTextHeight)(e,b,f.font,{wordWrapEnabled:f.wordWrapEnabled,targetRectWidth:h});d=Math.max(d,x+m),c=s.h-x,l.push(a(s,b,t.margin.top)),u.push(a(s,y.slice(v).join(\"\\n\"),t.margin.top))}else{var w=(0,i.calculateTextHeight)(e,f.text,f.font,{wordWrapEnabled:f.wordWrapEnabled,targetRectWidth:h});d=Math.max(d,w+m),c=Math.max(c,w+m),l.push(a(s,f.text,t.margin.top)),u.push(a(s,\"\",t.margin.top))}})),l.forEach((function(e){return e.h=d})),u.forEach((function(e){return e.h=c})),[l,u]}}},10830:function(e,t){function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e,t)||function(){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 o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.getMultiPageRowPages=t.checkPageContainsOnlyHeader=void 0;var a=function(e){return\"header\"===(null==e?void 0:e.sourceCellInfo.gridCell.rowType)};t.checkPageContainsOnlyHeader=function(e,t){return t&&a(e[e.length-1])};t.getMultiPageRowPages=function(e,t,o,r,s){if(!r)return[];var l=e[e.length-1],u=t[e.length];if(!u||a(u))return[];if(s(o,u.h)&&!o)return[];var d=t.filter((function(e){return e.y===u.y})),c=function(e,t,o,a,r){for(var s=i(a(t,e),2),l=s[0],u=s[1],d=[t?l.map((function(e){return n({},e,{y:o})})):l];!r(!1,u[0].h);){var c=i(a(!1,u),2);l=c[0],u=c[1],d.push(l)}return[d,u]}(d,o,l.y+l.h,r,s),h=i(c,2),f=h[0];return function(e,t,n){t.forEach((function(e,t){e.sourceCellInfo.text=n[t].sourceCellInfo.text,e.h=n[t].h}));var i=e.indexOf(t[t.length-1])+1;if(!(i>=e.length))for(var o=e[i].y-(t[0].y+n[0].h),a=i;a<e.length;a++)e[a].y=e[a].y-o}(t,d,h[1]),f}},22775:function(e,t,n){t.splitByPages=function(e,t,n,i,r){if(0===t.length)return[[]];var l={x:(0,o.getPageWidth)(e)-n.margin.right,y:(0,o.getPageHeight)(e)-n.margin.bottom},d=t.filter((function(e){return\"header\"===e.rowType})),c=d.reduce((function(e,t){return e+t.height}),0),h=g(p(t),n.margin.top,\"y\",\"h\",(function(e,t){var i=!e&&n.repeatHeaders?c:0;return(0,a.roundToThreeDecimals)(t+i)<=(0,a.roundToThreeDecimals)(l.y)}),(function(e,t,n,i){var o={sourceRect:e,topRect:{x:e.x,y:e.y,w:e.w,h:t-e.y},bottomRect:{x:e.x,y:t,w:e.w,h:e.h-(t-e.y)}};r(o),n.push(o.topRect),i.push(o.bottomRect)}),(0,s.createOnSplitMultiPageRow)(e,n,c,l));if(n.repeatHeaders)for(var m=1;m<h.length;m++){h[m].forEach((function(e){return e.y+=c}));var _=p(d);_.forEach((function(e){e.y-=n.topLeft.y})),h[m]=[].concat(u(_),u(h[m]))}var v=0;for(;v<h.length;){var y=g(h[v],n.margin.left,\"x\",\"w\",(function(e,t){return(0,a.roundToThreeDecimals)(t)<=(0,a.roundToThreeDecimals)(l.x)}),(function(e,t,n,o){var a={sourceRect:e,leftRect:{x:e.x,y:e.y,w:t-e.x,h:e.h},rightRect:{x:t,y:e.y,w:e.w-(t-e.x),h:e.h}};i(a),n.push(a.leftRect),o.push(a.rightRect)}));y.length>1?(h.splice.apply(h,[v,1].concat(u(y))),v+=y.length):v+=1}return h.map((function(e){return e.map((function(e){return f({},e.sourceCellInfo,{_rect:e})}))}))};var i=n(35922),o=n(79262),a=n(66867),r=n(10830),s=n(72666);function l(e){return function(e){if(Array.isArray(e))return e}(e)||c(e)||d(e)||function(){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 u(e){return function(e){if(Array.isArray(e))return h(e)}(e)||c(e)||d(e)||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 d(e,t){if(e){if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function c(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function p(e){return[].concat.apply([],e.map((function(e){return e.cells.filter((function(e){return!(0,i.isDefined)(e.pdfCell.isMerged)})).map((function(e){return f({},e.pdfCell._rect,{sourceCellInfo:f({},e.pdfCell,{gridCell:e.gridCell})})}))})))}function g(e,t,n,o,a,s,d){for(var c=[],h=u(e),f=function(e,n){return a(e,n+t)},p=function(){var e=0,p=h.filter((function(t){var i=t[n]+t[o];return!!a(0===c.length,i)&&(e<=i&&(e=i),!0)})),g=(0,r.checkPageContainsOnlyHeader)(p,0===c.length),m=(0,r.getMultiPageRowPages)(p,h,g,d,f);if(h.filter((function(t){var i=t[n],a=t[n]+t[o];return e-i>.001&&a-e>.001})).forEach((function(t){s(t,e,p,h);var n=h.indexOf(t);-1!==n&&h.splice(n,1)})),p.forEach((function(e){var t=h.indexOf(e);-1!==t&&h.splice(t,1)})),h.forEach((function(o){o[n]=(0,i.isDefined)(e)?o[n]-e+t:o[n]})),g&&m.length>0){var _=l(m),v=_[0],y=_.slice(1);c.push([].concat(u(p),u(v))),c.push.apply(c,u(y))}else if(p.length>0)c.push(p),c.push.apply(c,u(m));else{if(!(m.length>0))return c.push(h),\"break\";c.push.apply(c,u(m)),c.push(h)}};h.length>0;){if(\"break\"===p())break}return c}},654:function(e,t,n){t.exportDataGrid=function(e){return r.Export.export(function(e){if(!(0,o.isDefined)(e)||!(0,o.isObject)(e))throw Error('The \"exportDataGrid\" method requires a configuration object.');if(!(0,o.isDefined)(e.component)||!(0,o.isObject)(e.component)||\"dxDataGrid\"!==e.component.NAME)throw Error('The \"component\" field must contain a DataGrid instance.');if(!(0,o.isDefined)(e.jsPDFDocument)||!(0,o.isObject)(e.jsPDFDocument))throw Error('The \"jsPDFDocument\" field must contain a jsPDF instance.');(0,o.isDefined)(e.autoTableOptions)&&a.default.log(\"W0001\",\"Export\",\"autoTableOptions\",\"22.1\",\"You can migrate from exporting to PDF with the AutoTable plugin to a new export system. See the following topic for more information: \".concat(\"https://supportcenter.devexpress.com/ticket/details/t1077554\"));return r.Export.getFullOptions(e)}(e))};var i,o=n(35922),a=(i=n(17381))&&i.__esModule?i:{default:i},r=n(17195)},29982:function(e,t){t.exportGantt=function(e){var t=e.component;return null==t?void 0:t.exportToPdf(e)}},30855:function(e,t,n){t.getData=function(e,t){return a.imageCreator.getImageData(e,(0,s.extend)({},t,{format:\"JPEG\"})).then((function(e){var n,o,s=function(e,t,n){var o=2*(t.margin||0),r=(0,a.calcScaledInfo)(t.width,t.height),s=r.width,l=r.height;l+=o;var d=(.75*(s+=o)).toFixed(2),c=(.75*l).toFixed(2),h=Math.floor(s),f=Math.floor(l),p=\"%PDF-1.3\\r\\n2 0 obj\\r\\n<</ProcSet[/PDF/ImageB/ImageC/ImageI]/XObject<</I0 5 0 R>>>>\\r\\nendobj\\r\\n4 0 obj\\r\\n<</Type/Pages/Kids[1 0 R]/Count 1>>\\r\\nendobj\\r\\n7 0 obj\\r\\n<</OpenAction[1 0 R /FitH null]/Type/Catalog/Pages 4 0 R/PageLayout/OneColumn>>\\r\\nendobj\\r\\n1 0 obj\\r\\n<</Type/Page/Resources 2 0 R/MediaBox[0 0 _width_ _height_]/Contents 3 0 R/Parent 4 0 R>>\\r\\nendobj\\r\\n\".replace(\"_width_\",d).replace(\"_height_\",c),g=\"3 0 obj\\r\\n<</Length 52>>stream\\r\\n0.20 w\\n0 G\\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\\r\\nendstream\\r\\nendobj\\r\\n\".replace(\"_width_\",d).replace(\"_height_\",c),m=\"6 0 obj\\r\\n<</CreationDate _date_/Producer(DevExtreme _version_)>>\\r\\nendobj\\r\\n\".replace(\"_date_\",n).replace(\"_version_\",i.version),_=\"5 0 obj\\r\\n<</Type/XObject/Subtype/Image/Width _width_/Height _height_/ColorSpace/DeviceRGB/BitsPerComponent 8/Filter/DCTDecode/Length _length_>>stream\\r\\n\".replace(\"_width_\",h).replace(\"_height_\",f).replace(\"_length_\",e.length)+e+\"\\r\\nendstream\\r\\nendobj\\r\\n\",v=(x=p.length,w=g.length,C=m.length,\"xref\\r\\n0 8\\r\\n0000000000 65535 f\\r\\n0000000241 00000 n\\r\\n0000000010 00000 n\\r\\n_main_ 00000 n\\r\\n0000000089 00000 n\\r\\n_image_ 00000 n\\r\\n_info_ 00000 n\\r\\n0000000143 00000 n\\r\\n\".replace(\"_main_\",u(x+\"\",10)).replace(\"_info_\",u(x+w+\"\",10)).replace(\"_image_\",u(x+w+C+\"\",10))),y=p+g+m+_,b=\"trailer\\r\\n<<\\r\\n/Size 8\\r\\n/Root 7 0 R\\r\\n/Info 6 0 R\\r\\n>>\\r\\nstartxref\\r\\n_length_\\r\\n%%EOF\".replace(\"_length_\",y.length);var x,w,C;return y+v+b}(e,t,(n=new Date,o=[n.getUTCFullYear(),d(n.getUTCMonth()),d(n.getUTCDate()),d(n.getUTCHours()),d(n.getUTCMinutes()),d(n.getUTCSeconds())],\"(D:\".concat(o.join(\"\"),\"Z00'00')\")));return(0,r.isFunction)(l.Blob)?function(e){for(var t=0,n=new Uint8Array(e.length);t<e.length;t++)n[t]=e.charCodeAt(t);return new l.Blob([n.buffer],{type:\"application/pdf\"})}(s):function(e){return l.btoa(e)}(s)}))};var i=n(36739),o=n(58201),a=n(12173),r=n(35922),s=n(13306),l=(0,o.getWindow)(),u=function e(t,n){return t.length<n?e(\"0\"+t,n):t};function d(e){return 1===e.toString().length?\"0\".concat(e):e}},37596:function(e,t,n){t.getData=function(e,t){return h.getData(e,t)},t.svgCreator=void 0;var i=d(n(68374)),o=d(n(37208)),a=n(58201),r=n(35922),s=n(95479),l=n(19155),u=n(62754);function d(e){return e&&e.__esModule?e:{default:e}}var c=(0,a.getWindow)(),h={_markup:\"\",_imageArray:{},_imageDeferreds:[],_getBinaryFile:function(e,t){o.default.sendRequest({url:e,method:\"GET\",responseType:\"arraybuffer\"}).done(t).fail((function(){t(!1)}))},_loadImages:function(){var e=this;(0,s.each)(e._imageArray,(function(t){var n=new u.Deferred;e._imageDeferreds.push(n),e._getBinaryFile(t,(function(i){if(!i)return delete e._imageArray[t],void n.resolve();var o,a=\"\",r=new Uint8Array(i),s=r.byteLength;for(o=0;o<s;o++)a+=String.fromCharCode(r[o]);e._imageArray[t]=\"data:image/png;base64,\"+c.btoa(a),n.resolve()}))}))},_parseImages:function(e){var t,n=this;\"image\"===e.tagName&&(t=(0,i.default)(e).attr(\"href\")||(0,i.default)(e).attr(\"xlink:href\"),n._imageArray[t]||(n._imageArray[t]=\"\")),(0,s.each)(e.childNodes,(function(e,t){n._parseImages(t)}))},_prepareImages:function(e){return this._parseImages(e),this._loadImages(),u.when.apply(i.default,this._imageDeferreds)},getData:function(e,t){var n,o=this,a=(0,l.getSvgElement)(e),u=(0,i.default)(a);return u.find(\"[\".concat(l.HIDDEN_FOR_EXPORT,\"]\")).remove(),n='<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>'+(0,l.getSvgMarkup)(u.get(0),t.backgroundColor),o._prepareImages(a).then((function(){return(0,s.each)(o._imageArray,(function(e,t){var i=\"href=['|\\\"]\".concat(e,\"['|\\\"]\");n=n.replace(new RegExp(i,\"gi\"),'href=\"'.concat(t,'\"'))})),(0,r.isFunction)(c.Blob)?o._getBlob(n):o._getBase64(n)}))},_getBlob:function(e){return new c.Blob([e],{type:\"image/svg+xml\"})},_getBase64:function(e){return c.btoa(e)}};t.svgCreator=h},98831:function(e,t,n){t.default=void 0;var i,o=n(20576),a=n(35922),r=n(47617);function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(t){var n;return t=(0,o.ensureDefined)(t,{}),(n=e.call(this,t)||this)._hasSubDirsGetter=(0,r.compileGetter)(t.hasSubDirectoriesExpr||\"hasSubDirectories\"),n._getItemsFunction=n._ensureFunction(t.getItems,(function(){return[]})),n._renameItemFunction=n._ensureFunction(t.renameItem),n._createDirectoryFunction=n._ensureFunction(t.createDirectory),n._deleteItemFunction=n._ensureFunction(t.deleteItem),n._moveItemFunction=n._ensureFunction(t.moveItem),n._copyItemFunction=n._ensureFunction(t.copyItem),n._uploadFileChunkFunction=n._ensureFunction(t.uploadFileChunk),n._abortFileUploadFunction=n._ensureFunction(t.abortFileUpload),n._downloadItemsFunction=n._ensureFunction(t.downloadItems),n._getItemsContentFunction=n._ensureFunction(t.getItemsContent),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var l=i.prototype;return l.getItems=function(e){var t=this,n=e.getFullPathInfo();return this._executeActionAsDeferred((function(){return t._getItemsFunction(e)}),!0).then((function(e){return t._convertDataObjectsToFileItems(e,n)}))},l.renameItem=function(e,t){var n=this;return this._executeActionAsDeferred((function(){return n._renameItemFunction(e,t)}))},l.createDirectory=function(e,t){var n=this;return this._executeActionAsDeferred((function(){return n._createDirectoryFunction(e,t)}))},l.deleteItems=function(e){var t=this;return e.map((function(e){return t._executeActionAsDeferred((function(){return t._deleteItemFunction(e)}))}))},l.moveItems=function(e,t){var n=this;return e.map((function(e){return n._executeActionAsDeferred((function(){return n._moveItemFunction(e,t)}))}))},l.copyItems=function(e,t){var n=this;return e.map((function(e){return n._executeActionAsDeferred((function(){return n._copyItemFunction(e,t)}))}))},l.uploadFileChunk=function(e,t,n){var i=this;return this._executeActionAsDeferred((function(){return i._uploadFileChunkFunction(e,t,n)}))},l.abortFileUpload=function(e,t,n){var i=this;return this._executeActionAsDeferred((function(){return i._abortFileUploadFunction(e,t,n)}))},l.downloadItems=function(e){var t=this;return this._executeActionAsDeferred((function(){return t._downloadItemsFunction(e)}))},l.getItemsContent=function(e){var t=this;return this._executeActionAsDeferred((function(){return t._getItemsContentFunction(e)}))},l._hasSubDirs=function(e){var t=this._hasSubDirsGetter(e);return\"boolean\"!=typeof t||t},l._getKeyExpr=function(e){return e.keyExpr||\"key\"},l._ensureFunction=function(e,t){return t=t||o.noop,(0,a.isFunction)(e)?e:t},i}(((i=n(19073))&&i.__esModule?i:{default:i}).default);t.default=l,e.exports=t.default,e.exports.default=t.default},49816:function(e,t){t.default=void 0;var n=function(e,t,n){this.errorCode=e,this.fileSystemItem=t,this.errorText=n};t.default=n,e.exports=t.default,e.exports.default=t.default},41011:function(e,t){t.default=void 0;var n={NoAccess:0,FileExists:1,FileNotFound:2,DirectoryExists:3,DirectoryNotFound:4,WrongFileExtension:5,MaxFileSizeExceeded:6,InvalidSymbols:7,Other:32767};t.default=n,e.exports=t.default,e.exports.default=t.default},45765:function(e,t,n){t.default=void 0;var i=n(35922),o=n(73173);function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=function(){function e(){var e=(0,i.isString)(arguments[0])?this._publicCtor:this._internalCtor;e.apply(this,arguments)}var t=e.prototype;return t._internalCtor=function(e,t,n,i){this.name=t||\"\",this.pathInfo=e&&a(e)||[],this.parentPath=this._getPathByPathInfo(this.pathInfo),this.relativeName=(0,o.pathCombine)(this.parentPath,t),this.key=i||this._getPathByPathInfo(this.getFullPathInfo(),!0),this.path=(0,o.pathCombine)(this.parentPath,t),this.pathKeys=this.pathInfo.map((function(e){return e.key})),this.isRoot()||this.pathKeys.push(this.key),this._initialize(n)},t._publicCtor=function(e,t,n){this.path=e||\"\",this.pathKeys=n||[];for(var i=[],a=(0,o.getPathParts)(e,!0),r=0;r<a.length-1;r++){var s=a[r],l={key:this.pathKeys[r]||s,name:(0,o.getName)(s)};i.push(l)}this.pathInfo=i,this.relativeName=e,this.name=(0,o.getName)(e),this.key=this.pathKeys.length?this.pathKeys[this.pathKeys.length-1]:e,this.parentPath=a.length>1?a[a.length-2]:\"\",this._initialize(t)},t._initialize=function(e){this.isDirectory=!!e,this.size=0,this.dateModified=new Date,this.thumbnail=\"\",this.tooltipText=\"\"},t.getFullPathInfo=function(){var e=a(this.pathInfo);return this.isRoot()||e.push({key:this.key,name:this.name}),e},t.isRoot=function(){return\"\"===this.path},t.getFileExtension=function(){return this.isDirectory?\"\":(0,o.getFileExtension)(this.name)},t.equals=function(e){return e&&this.key===e.key},t.createClone=function(){var t=new e(this.pathInfo,this.name,this.isDirectory,this.key);return t.key=this.key,t.size=this.size,t.dateModified=this.dateModified,t.thumbnail=this.thumbnail,t.tooltipText=this.tooltipText,t.hasSubDirectories=this.hasSubDirectories,t.dataItem=this.dataItem,t},t._getPathByPathInfo=function(e,t){return e.map((function(e){return t?(0,o.getEscapedFileName)(e.name):e.name})).join(o.PATH_SEPARATOR)},e}();t.default=s,e.exports=t.default,e.exports.default=t.default},4323:function(e,t,n){t.default=void 0;var i=n(20576),o=n(47617),a=_(n(73176)),r=n(35922),s=n(18438),l=n(62754),u=n(58201),d=n(48351),c=_(n(96688)),h=_(n(97405)),f=_(n(19073)),p=_(n(49816)),g=_(n(41011)),m=n(73173);function _(e){return e&&e.__esModule?e:{default:e}}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=(0,u.getWindow)();var b=function(e){var t,n;function u(t){var n;t=(0,i.ensureDefined)(t,{}),n=e.call(this,t)||this;var a=t.data;if(a&&!Array.isArray(a))throw s.errors.Error(\"E4006\");var r=t.itemsExpr||\"items\";n._subFileItemsGetter=(0,o.compileGetter)(r),n._subFileItemsSetter=n._getSetter(r);var l=t.contentExpr||\"content\";n._contentGetter=(0,o.compileGetter)(l),n._contentSetter=n._getSetter(l);var u=n._getNameExpr(t);n._nameSetter=n._getSetter(u);var d=n._getIsDirExpr(t);n._getIsDirSetter=n._getSetter(d);var c=n._getKeyExpr(t);n._keySetter=n._getSetter(c);var h=n._getSizeExpr(t);n._sizeSetter=n._getSetter(h);var f=n._getDateModifiedExpr(t);return n._dateModifiedSetter=n._getSetter(f),n._data=a||[],n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var f=u.prototype;return f.getItems=function(e){var t=this;return this._executeActionAsDeferred((function(){return t._getItems(e)}),!0)},f.renameItem=function(e,t){var n=this;return this._executeActionAsDeferred((function(){return n._renameItemCore(e,t)}))},f._renameItemCore=function(e,t){if(e){var n=this._findDataObject(e);this._nameSetter(n,t),e.name=t,e.key=this._ensureDataObjectKey(n)}},f.createDirectory=function(e,t){var n=this;return this._executeActionAsDeferred((function(){n._validateDirectoryExists(e),n._createDataObject(e,t,!0)}))},f.deleteItems=function(e){var t=this;return e.map((function(e){return t._executeActionAsDeferred((function(){return t._deleteItem(e)}))}))},f.moveItems=function(e,t){var n=this,i=this._findDataObject(t),o=this._getDirectoryDataItems(i);return e.map((function(e){return n._executeActionAsDeferred((function(){n._checkAbilityToMoveOrCopyItem(e,t);var i=n._findDataObject(e);n._deleteItem(e),o.push(i)}))}))},f.copyItems=function(e,t){var n=this,i=this._findDataObject(t),o=this._getDirectoryDataItems(i);return e.map((function(e){return n._executeActionAsDeferred((function(){n._checkAbilityToMoveOrCopyItem(e,t);var i=n._findDataObject(e),a=n._createCopy(i);o.push(a)}))}))},f.uploadFileChunk=function(e,t,n){var i=this;if(t.chunkIndex>0)return t.customData.deferred;this._validateDirectoryExists(n);var o=t.customData.deferred=new l.Deferred,a=this._createFileReader();return a.readAsDataURL(e),a.onload=function(){var t=a.result.split(\",\")[1],r=i._createDataObject(n,e.name,!1);i._sizeSetter(r,e.size),i._dateModifiedSetter(r,e.lastModifiedDate),i._contentSetter(r,t),o.resolve()},a.onerror=function(e){return o.reject(e)},o},f.downloadItems=function(e){1===e.length?this._downloadSingleFile(e[0]):this._downloadMultipleFiles(e)},f._downloadSingleFile=function(e){for(var t=this._getFileContent(e),n=y.atob(t),i=new ArrayBuffer(n.length),o=new Uint8Array(i),a=0;a<n.length;a++)o[a]=n.charCodeAt(a);var r=new y.Blob([i],{type:\"application/octet-stream\"});d.fileSaver.saveAs(e.name,null,r)},f._downloadMultipleFiles=function(e){var t=this,n=new(function(){if(!h.default)throw c.default.Error(\"E1041\",\"JSZip\");return h.default}());e.forEach((function(e){return n.file(e.name,t._getFileContent(e),{base64:!0})}));var i={type:\"blob\",compression:\"DEFLATE\",mimeType:\"application/zip\"},o=new l.Deferred;n.generateAsync?n.generateAsync(i).then(o.resolve):o.resolve(n.generate(i)),o.done((function(e){return d.fileSaver.saveAs(\"files.zip\",null,e)}))},f._getFileContent=function(e){var t=this._findDataObject(e);return this._contentGetter(t)||\"\"},f._validateDirectoryExists=function(e){if(!this._isFileItemExists(e)||this._isDirGetter(e.fileItem))throw new p.default(g.default.DirectoryNotFound,e)},f._checkAbilityToMoveOrCopyItem=function(e,t){var n=this,i=this._findDataObject(e),o=this._getKeyFromDataObject(i,e.parentPath),a=t.getFullPathInfo(),r=\"\";a.forEach((function(t){if(r=(0,m.pathCombine)(r,t.name),n._getDataObjectKey(t.key,r)===o)throw new p.default(g.default.Other,e)}))},f._createDataObject=function(e,t,n){var i={};this._nameSetter(i,t),this._getIsDirSetter(i,n),this._keySetter(i,String(new a.default));var o=this._findDataObject(e);return this._getDirectoryDataItems(o).push(i),i},f._createCopy=function(e){var t=this,n={};this._nameSetter(n,this._nameGetter(e)),this._getIsDirSetter(n,this._isDirGetter(e));var i=this._subFileItemsGetter(e);if(Array.isArray(i)){var o=[];i.forEach((function(e){var n=t._createCopy(e);o.push(n)})),this._subFileItemsSetter(n,o)}return n},f._deleteItem=function(e){var t=this._findDataObject(e),n=this._findFileItemObj(e.pathInfo),i=this._getDirectoryDataItems(n),o=i.indexOf(t);i.splice(o,1)},f._getDirectoryDataItems=function(e){if(!e)return this._data;var t=this._subFileItemsGetter(e);return Array.isArray(t)||(t=[],this._subFileItemsSetter(e,t)),t},f._getItems=function(e){this._validateDirectoryExists(e);var t=e.getFullPathInfo(),n=t&&t.length>0?t[t.length-1].key:null,i=this._data;if(n){var o=this._findFileItemObj(t);i=o&&this._subFileItemsGetter(o)||[]}return this._ensureKeysForDuplicateNameItems(i),this._convertDataObjectsToFileItems(i,t)},f._ensureKeysForDuplicateNameItems=function(e){var t=this,n={};e.forEach((function(e){var i=t._nameGetter(e);n[i]?t._ensureDataObjectKey(e):n[i]=!0}))},f._findDataObject=function(e){if(e.isRoot())return null;var t=this._findFileItemObj(e.getFullPathInfo());if(!t){var n=e.isDirectory?g.default.DirectoryNotFound:g.default.FileNotFound;throw new p.default(n,e)}return t},f._findFileItemObj=function(e){var t=this;Array.isArray(e)||(e=[]);for(var n=\"\",i=null,o=this._data,a=function(a){(i=o.find((function(i){var o=t._isDirGetter(i)||a===e.length-1;return t._getKeyFromDataObject(i,n)===e[a].key&&t._nameGetter(i)===e[a].name&&o})))&&(n=(0,m.pathCombine)(n,t._nameGetter(i)),o=t._subFileItemsGetter(i))},r=0;r<e.length&&(0===r||i);r++)a(r);return i},f._getKeyFromDataObject=function(e,t){var n=this._keyGetter(e),i=(0,m.pathCombine)(t,this._nameGetter(e));return this._getDataObjectKey(n,i)},f._getDataObjectKey=function(e,t){return e||t},f._ensureDataObjectKey=function(e){var t=this._keyGetter(e);return t||(t=String(new a.default),this._keySetter(e,t)),t},f._hasSubDirs=function(e){var t=(0,i.ensureDefined)(this._subFileItemsGetter(e),[]);if(!Array.isArray(t))return!0;for(var n=0;n<t.length;n++)if(!0===this._isDirGetter(t[n]))return!0;return!1},f._getSetter=function(e){return(0,r.isFunction)(e)?e:(0,o.compileSetter)(e)},f._isFileItemExists=function(e){return e.isDirectory&&e.isRoot()||!!this._findFileItemObj(e.getFullPathInfo())},f._createFileReader=function(){return new y.FileReader},u}(f.default);t.default=b,e.exports=t.default,e.exports.default=t.default},19073:function(e,t,n){t.default=void 0;var i=n(47617),o=n(20576),a=d(n(69434)),r=n(95479),s=n(35922),l=n(62754),u=d(n(45765));function d(e){return e&&e.__esModule?e:{default:e}}var c=function(){function e(e){e=(0,o.ensureDefined)(e,{}),this._keyGetter=(0,i.compileGetter)(this._getKeyExpr(e)),this._nameGetter=(0,i.compileGetter)(this._getNameExpr(e)),this._isDirGetter=(0,i.compileGetter)(this._getIsDirExpr(e)),this._sizeGetter=(0,i.compileGetter)(this._getSizeExpr(e)),this._dateModifiedGetter=(0,i.compileGetter)(this._getDateModifiedExpr(e)),this._thumbnailGetter=(0,i.compileGetter)(e.thumbnailExpr||\"thumbnail\")}var t=e.prototype;return t.getItems=function(e){return[]},t.renameItem=function(e,t){},t.createDirectory=function(e,t){},t.deleteItems=function(e){},t.moveItems=function(e,t){},t.copyItems=function(e,t){},t.uploadFileChunk=function(e,t,n){},t.abortFileUpload=function(e,t,n){},t.downloadItems=function(e){},t.getItemsContent=function(e){},t.getFileUploadChunkSize=function(){return 2e5},t._convertDataObjectsToFileItems=function(e,t){var n=this,i=[];return(0,r.each)(e,(function(e,o){var a=n._createFileItem(o,t);i.push(a)})),i},t._createFileItem=function(e,t){var n=this._keyGetter(e),i=new u.default(t,this._nameGetter(e),!!this._isDirGetter(e),n);return i.size=this._sizeGetter(e),void 0===i.size&&(i.size=0),i.dateModified=a.default.deserializeDate(this._dateModifiedGetter(e)),void 0===i.dateModified&&(i.dateModified=new Date),i.isDirectory&&(i.hasSubDirectories=this._hasSubDirs(e)),n||(i.key=i.relativeName),i.thumbnail=this._thumbnailGetter(e)||\"\",i.dataItem=e,i},t._hasSubDirs=function(e){return!0},t._getKeyExpr=function(e){return e.keyExpr||this._defaultKeyExpr},t._defaultKeyExpr=function(e){if(2!==arguments.length)return Object.prototype.hasOwnProperty.call(e,\"__KEY__\")?e.__KEY__:null;e.__KEY__=arguments[1]},t._getNameExpr=function(e){return e.nameExpr||\"name\"},t._getIsDirExpr=function(e){return e.isDirectoryExpr||\"isDirectory\"},t._getSizeExpr=function(e){return e.sizeExpr||\"size\"},t._getDateModifiedExpr=function(e){return e.dateModifiedExpr||\"dateModified\"},t._executeActionAsDeferred=function(e,t){var n=new l.Deferred;try{var i=e();(0,s.isPromise)(i)?(0,l.fromPromise)(i).done((function(e){return n.resolve(t&&e||void 0)})).fail((function(e){return n.reject(e)})):n.resolve(t&&i||void 0)}catch(e){return n.reject(e)}return n.promise()},e}();t.default=c,e.exports=t.default,e.exports.default=t.default},41332:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=g(n(68374)),a=g(n(37208)),r=n(20576),s=g(n(73176)),l=n(58201),u=n(95479),d=n(62754),c=g(n(55994)),h=g(n(19073)),f=n(47617),p=n(35922);function g(e){return e&&e.__esModule?e:{default:e}}function m(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=(0,l.getWindow)(),y=\"GetDirContents\",b=\"CreateDir\",x=\"Rename\",w=\"Move\",C=\"Copy\",S=\"Remove\",k=\"UploadChunk\",D=\"AbortUpload\",I=\"Download\",T=\"GET\",E=\"POST\",O=function(e){var t,n;function i(t){var n;return t=(0,r.ensureDefined)(t,{}),(n=e.call(this,t)||this)._endpointUrl=t.endpointUrl,n._beforeAjaxSend=t.beforeAjaxSend,n._beforeSubmit=t.beforeSubmit,n._requestHeaders=t.requestHeaders,n._hasSubDirsGetter=(0,f.compileGetter)(t.hasSubDirectoriesExpr||\"hasSubDirectories\"),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var l=i.prototype;return l.getItems=function(e){var t=this,n=e.getFullPathInfo();return this._executeRequest(y,{pathInfo:n}).then((function(e){return t._convertDataObjectsToFileItems(e.result,n)}))},l.renameItem=function(e,t){return this._executeRequest(x,{pathInfo:e.getFullPathInfo(),isDirectory:e.isDirectory,name:t})},l.createDirectory=function(e,t){return this._executeRequest(b,{pathInfo:e.getFullPathInfo(),name:t})},l.deleteItems=function(e){var t=this;return e.map((function(e){return t._executeRequest(S,{pathInfo:e.getFullPathInfo(),isDirectory:e.isDirectory})}))},l.moveItems=function(e,t){var n=this;return e.map((function(e){return n._executeRequest(w,{sourcePathInfo:e.getFullPathInfo(),sourceIsDirectory:e.isDirectory,destinationPathInfo:t.getFullPathInfo()})}))},l.copyItems=function(e,t){var n=this;return e.map((function(e){return n._executeRequest(C,{sourcePathInfo:e.getFullPathInfo(),sourceIsDirectory:e.isDirectory,destinationPathInfo:t.getFullPathInfo()})}))},l.uploadFileChunk=function(e,t,n){var i;0===t.chunkIndex&&(t.customData.uploadId=new s.default);var o={destinationPathInfo:n.getFullPathInfo(),chunkMetadata:JSON.stringify({UploadId:t.customData.uploadId,FileName:e.name,Index:t.chunkIndex,TotalCount:t.chunkCount,FileSize:e.size})},l={url:this._endpointUrl,headers:this._requestHeaders||{},method:E,dataType:\"json\",data:(i={},m(i,\"chunk\",t.chunkBlob),m(i,\"arguments\",JSON.stringify(o)),m(i,\"command\",k),i),upload:{onprogress:r.noop,onloadstart:r.noop,onabort:r.noop},xhrFields:{},cache:!1},u=new d.Deferred;return this._beforeSendInternal(l),a.default.sendRequest(l).done((function(e){!e.success&&u.reject(e)||u.resolve()})).fail(u.reject),u.promise()},l.abortFileUpload=function(e,t,n){return this._executeRequest(D,{uploadId:t.customData.uploadId})},l.downloadItems=function(e){var t=this._getDownloadArgs(e),n=(0,o.default)(\"<form>\").css({display:\"none\"}).attr({method:E,action:t.url}),i={command:t.command,arguments:t.arguments};this._beforeSubmitInternal(i),this._appendFormDataInputsToForm(i,n),n.appendTo(\"body\"),c.default.trigger(n,\"submit\"),setTimeout((function(){return n.remove()}))},l.getItemsContent=function(e){var t=this._getDownloadArgs(e),n={url:t.url,headers:this._requestHeaders||{},method:E,responseType:\"arraybuffer\",data:{command:t.command,arguments:t.arguments},upload:{onprogress:r.noop,onloadstart:r.noop,onabort:r.noop},xhrFields:{},cache:!1};return this._beforeSendInternal(n),a.default.sendRequest(n)},l._getDownloadArgs=function(e){var t={pathInfoList:e.map((function(e){return e.getFullPathInfo()}))},n=JSON.stringify(t);return{url:this._endpointUrl,arguments:n,command:I}},l._getItemsIds=function(e){return e.map((function(e){return e.relativeName}))},l._executeRequest=function(e,t){var n=e===y?T:E,i=new d.Deferred,o={url:this._getEndpointUrl(e,t),headers:this._requestHeaders||{},method:n,dataType:\"json\",data:{},xhrFields:{},cache:!1};return this._beforeSendInternal(o),a.default.sendRequest(o).then((function(e){!e.success&&i.reject(e)||i.resolve(e)}),(function(e){return i.reject(e)})),i.promise()},l._beforeSubmitInternal=function(e){(0,p.isFunction)(this._beforeSubmit)&&this._beforeSubmit({formData:e})},l._beforeSendInternal=function(e){if((0,p.isFunction)(this._beforeAjaxSend)){var t={headers:e.headers,formData:e.data,xhrFields:e.xhrFields};this._beforeAjaxSend(t),e.headers=t.headers,e.data=t.formData,e.xhrFields=t.xhrFields}(0,p.isEmptyObject)(e.data)?delete e.data:(e.responseType||e.upload)&&(e.data=this._createFormData(e.data))},l._createFormData=function(e){var t=new v.FormData;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(0,p.isDefined)(e[n])&&t.append(n,e[n]);return t},l._appendFormDataInputsToForm=function(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(0,p.isDefined)(e[n])&&(0,o.default)(\"<input>\").attr({type:\"hidden\",name:n,value:e[n]}).appendTo(t)},l._getEndpointUrl=function(e,t){var n=this._getQueryString({command:e,arguments:JSON.stringify(t)}),i=this._endpointUrl&&this._endpointUrl.indexOf(\"?\")>0?\"&\":\"?\";return this._endpointUrl+i+n},l._getQueryString=function(e){for(var t=[],n=Object.keys(e),i=0;i<n.length;i++){var o=n[i],a=e[o];if(void 0!==a)if(null===a&&(a=\"\"),Array.isArray(a))this._processQueryStringArrayParam(o,a,t);else{var r=this._getQueryStringPair(o,a);t.push(r)}}return t.join(\"&\")},l._processQueryStringArrayParam=function(e,t,n){var i=this;(0,u.each)(t,(function(t,o){var a=i._getQueryStringPair(e,o);n.push(a)}))},l._getQueryStringPair=function(e,t){return encodeURIComponent(e)+\"=\"+encodeURIComponent(t)},l._hasSubDirs=function(e){var t=this._hasSubDirsGetter(e);return\"boolean\"!=typeof t||t},l._getKeyExpr=function(e){return e.keyExpr||\"key\"},i}(h.default);t.default=O,e.exports=t.default,e.exports.default=t.default},73173:function(e,t,n){t.pathCombine=t.getPathParts=t.getParentPath=t.getName=t.getFileExtension=t.getEscapedFileName=t.PATH_SEPARATOR=void 0;var i=n(95479);t.PATH_SEPARATOR=\"/\";t.getFileExtension=function(e){var t=e.lastIndexOf(\".\");return-1!==t?e.substr(t):\"\"};t.getName=function(e){var t=e.lastIndexOf(\"/\");return-1!==t?e.substr(t+\"/\".length):e};t.getParentPath=function(e){var t=e.lastIndexOf(\"/\");return-1!==t?e.substr(0,t):\"\"};t.getPathParts=function(e,t){if(!e||\"/\"===e)return[];for(var n=[],i=\"\",r=0;r<e.length;r++){var s=e.charAt(r);if(\"/\"===s){var l=e.charAt(r+1);\"/\"!==l&&(i&&(n.push(i),i=\"\"),s=l),r++}i+=s}if(i&&n.push(i),t)for(var u=0;u<n.length;u++)n[u]=a(0===u?\"\":n[u-1],o(n[u]));return n};var o=function(e){return e.replace(/\\/{1,1}/g,\"//\")};t.getEscapedFileName=o;var a=function(){var e=\"\";return(0,i.each)(arguments,(function(t,n){n&&(e&&(e+=\"/\"),e+=n)})),e};t.pathCombine=a},30343:function(e,t,n){t.default=void 0;var i=n(35922),o=l(n(91198)),a=l(n(18016)),r=l(n(91500)),s=l(n(20476));function l(e){return e&&e.__esModule?e:{default:e}}n(89740);var u=(0,s.default)({format:function(e,t){var n=(0,i.isString)(t)&&\"\"!==t||(0,i.isPlainObject)(t)||(0,i.isFunction)(t),o=(0,i.isNumeric)(e)||(0,i.isDate)(e);return n&&o?(0,i.isFunction)(t)?t(e):((0,i.isString)(t)&&(t={type:t}),(0,i.isNumeric)(e)?a.default.format(e,t):(0,i.isDate)(e)?r.default.format(e,t):void 0):(0,i.isDefined)(e)?e.toString():\"\"},getTimeFormat:function(e){return e?\"longtime\":\"shorttime\"},_normalizeFormat:function(e){return Array.isArray(e)?1===e.length?e[0]:function(t){return e.map((function(e){return r.default.format(t,e)})).join(\" \")}:e},getDateFormatByDifferences:function(e,t){var n=[],i=t&&e.millisecond&&!(e.year||e.month||e.day);if(i){n.push((function(e){return e.getSeconds()+e.getMilliseconds()/1e3+\"s\"}))}else e.millisecond&&n.push(\"millisecond\");if((e.hour||e.minute||!i&&e.second)&&n.unshift(this.getTimeFormat(e.second)),e.year&&e.month&&e.day)return t&&\"month\"===t?\"monthandyear\":(n.unshift(\"shortdate\"),this._normalizeFormat(n));if(e.year&&e.month)return\"monthandyear\";if(e.year&&e.quarter)return\"quarterandyear\";if(e.year)return\"year\";if(e.quarter)return\"quarter\";if(e.month&&e.day){if(t){n.unshift((function(e){return r.default.getMonthNames(\"abbreviated\")[e.getMonth()]+\" \"+r.default.format(e,\"day\")}))}else n.unshift(\"monthandday\");return this._normalizeFormat(n)}if(e.month)return\"month\";if(e.day){if(t)n.unshift(\"day\");else{n.unshift((function(e){return r.default.format(e,\"dayofweek\")+\", \"+r.default.format(e,\"day\")}))}return this._normalizeFormat(n)}return this._normalizeFormat(n)},getDateFormatByTicks:function(e){var t,n,i;if(e.length>1)for(t=o.default.getDatesDifferences(e[0],e[1]),i=1;i<e.length-1;i++)n=o.default.getDatesDifferences(e[i],e[i+1]),t.count<n.count&&(t=n);else t={year:!0,month:!0,day:!0,hour:e[0].getHours()>0,minute:e[0].getMinutes()>0,second:e[0].getSeconds()>0,millisecond:e[0].getMilliseconds()>0};return this.getDateFormatByDifferences(t)},getDateFormatByTickInterval:function(e,t,n){var a,r=function(e,t,n){switch(t){case\"year\":case\"quarter\":e.month=n;case\"month\":e.day=n;case\"week\":case\"day\":e.hour=n;case\"hour\":e.minute=n;case\"minute\":e.second=n;case\"second\":e.millisecond=n}};n=(0,i.isString)(n)?n.toLowerCase():n;var s,l,u,d=o.default.getDatesDifferences(e,t);return e!==t&&(s=d,l=e>t?t:e,!(u=e>t?e:t).getMilliseconds()&&u.getSeconds()?u.getSeconds()-l.getSeconds()==1&&(s.millisecond=!0,s.second=!1):!u.getSeconds()&&u.getMinutes()?u.getMinutes()-l.getMinutes()==1&&(s.second=!0,s.minute=!1):!u.getMinutes()&&u.getHours()?u.getHours()-l.getHours()==1&&(s.minute=!0,s.hour=!1):!u.getHours()&&u.getDate()>1?u.getDate()-l.getDate()==1&&(s.hour=!0,s.day=!1):1===u.getDate()&&u.getMonth()?u.getMonth()-l.getMonth()==1&&(s.day=!0,s.month=!1):!u.getMonth()&&u.getFullYear()&&u.getFullYear()-l.getFullYear()==1&&(s.month=!0,s.year=!1)),r(d,a=o.default.getDateUnitInterval(d),!0),r(d,a=o.default.getDateUnitInterval(n||\"second\"),!1),d[{week:\"day\"}[a]||a]=!0,this.getDateFormatByDifferences(d)}});t.default=u,e.exports=t.default,e.exports.default=t.default},71582:function(e,t,n){n(78475),n(38971),n(12993),n(11579),n(21298)},21298:function(e,t,n){var i=o(n(62414));function o(e){return e&&e.__esModule?e:{default:e}}o(n(62387)).default&&i.default.registerExecutor({ngExpression:{execute:function(e){\"string\"==typeof e.action&&e.context.$eval(e.action)}}})},38971:function(e,t,n){var i=x(n(68374)),o=x(n(62387)),a=x(n(55994)),r=x(n(80209)),s=x(n(5554)),l=x(n(38377)),u=x(n(44504)),d=n(35922),c=n(95479),h=x(n(88933)),f=x(n(96452)),p=n(76165),g=x(n(69155)),m=x(n(11050)),_=n(47617),v=n(13306),y=n(49036),b=n(78008);function x(e){return e&&e.__esModule?e:{default:e}}function w(e){return(w=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}if(o.default){var C=function(e,t){return t.$root.$$phase?e(t):t.$apply((function(){return e(t)}))},S=l.default.inherit({ctor:function(e){this._componentDisposing=(0,u.default)(),this._optionChangedCallbacks=(0,u.default)(),this._ngLocker=new h.default,this._scope=e.scope,this._$element=e.$element,this._$templates=e.$templates,this._componentClass=e.componentClass,this._parse=e.parse,this._compile=e.compile,this._itemAlias=e.itemAlias,this._transcludeFn=e.transcludeFn,this._digestCallbacks=e.dxDigestCallbacks,this._normalizeOptions(e.ngOptions),this._initComponentBindings(),this._initComponent(this._scope),e.ngOptions||this._addOptionsStringWatcher(e.ngOptionsString)},_addOptionsStringWatcher:function(e){var t=this,n=this._scope.$watch(e,(function(e){e&&(n(),t._normalizeOptions(e),t._initComponentBindings(),t._component.option(t._evalOptions(t._scope)))}));this._componentDisposing.add(n)},_normalizeOptions:function(e){var t=this;this._ngOptions=(0,v.extendFromObject)({},e),e&&(!Object.prototype.hasOwnProperty.call(e,\"bindingOptions\")&&e.bindingOptions&&(this._ngOptions.bindingOptions=e.bindingOptions),e.bindingOptions&&(0,c.each)(e.bindingOptions,(function(e,n){\"string\"===(0,d.type)(n)&&(t._ngOptions.bindingOptions[e]={dataPath:n})})))},_initComponent:function(e){this._component=new this._componentClass(this._$element,this._evalOptions(e)),this._component._isHidden=!0,this._handleDigestPhase()},_handleDigestPhase:function(){var e=this,t=function(){e._component.beginUpdate()},n=function(){e._component.endUpdate()};this._digestCallbacks.begin.add(t),this._digestCallbacks.end.add(n),this._componentDisposing.add((function(){e._digestCallbacks.begin.remove(t),e._digestCallbacks.end.remove(n)}))},_initComponentBindings:function(){var e=this,t={};this._ngOptions.bindingOptions&&((0,c.each)(this._ngOptions.bindingOptions,(function(n,i){var o,a,r=n.search(/\\[|\\./),s=r>-1?n.substring(0,r):n,l=i.dataPath,u=!0,d=!1;void 0!==i.deep&&(d=u=!!i.deep),t[s]||(t[s]={}),t[s][n]=l;!function t(){var i=Array.isArray(e._scope.$eval(l))&&!d?\"$watchCollection\":\"$watch\";o!==i&&(a&&a(),a=e._scope[i](l,(function(i,o){e._ngLocker.locked(n)||(e._ngLocker.obtain(n),e._component.option(n,i),t(),(0,y.equals)(o,i)&&e._ngLocker.locked(n)&&e._ngLocker.release(n))}),u),o=i)}(),e._componentDisposing.add(a)})),this._optionChangedCallbacks.add((function(n){var i=n.name,o=n.fullName,a=n.component;if(e._ngLocker.locked(o))e._ngLocker.release(o);else if(t&&t[i]){var r=e._scope.$root.$$phase,s=function(){e._ngLocker.obtain(o)};r?e._digestCallbacks.begin.add(s):s(),C((function(){(0,c.each)(t[i],(function(t,i){if(e._optionsAreLinked(o,t)){var r=a.option(t);e._parse(i).assign(e._scope,r);var s=e._parse(i)(e._scope);s!==r&&n.component.option(t,s)}}))}),e._scope);var l=function t(){e._ngLocker.locked(o)&&e._ngLocker.release(o),e._digestCallbacks.begin.remove(s),e._digestCallbacks.end.remove(t)};r?e._digestCallbacks.end.addPrioritized(l):l()}})))},_optionsAreNested:function(e,t){var n=e[t.length];return 0===e.indexOf(t)&&(\".\"===n||\"[\"===n)},_optionsAreLinked:function(e,t){return e===t||(e.length>t.length?this._optionsAreNested(e,t):this._optionsAreNested(t,e))},_compilerByTemplate:function(e){var t=this,n=this._getScopeItemsPath();return function(o){var r=(0,i.default)(e).clone(),s=o.model&&o.model.constructor===t._scope.$root.constructor?o.model:o.noModel?t._scope:t._createScopeWithData(o);n&&t._synchronizeScopes(s,n,o.index),r.appendTo(o.container),o.noModel||a.default.on(r,\"$destroy\",(function(){!s.$parent||s.$destroy()}));var l=t._compile(r,t._transcludeFn);return t._applyAsync((function(e){l(e,null,{parentBoundTranscludeFn:t._transcludeFn})}),s),r}},_applyAsync:function(e,t){var n=this;if(e(t),!t.$root.$$phase&&!this._renderingTimer){var i=function(){clearTimeout(n._renderingTimer)};this._renderingTimer=setTimeout((function(){t.$apply(),n._renderingTimer=null,n._componentDisposing.remove(i)})),this._componentDisposing.add(i)}},_getScopeItemsPath:function(){if(this._componentClass.subclassOf(m.default)&&this._ngOptions.bindingOptions&&this._ngOptions.bindingOptions.items)return this._ngOptions.bindingOptions.items.dataPath},_createScopeWithData:function(e){var t=this._scope.$new();return this._itemAlias&&(t[this._itemAlias]=e.model),(0,d.isDefined)(e.index)&&(t.$index=e.index),t},_synchronizeScopes:function(e,t,n){this._itemAlias&&\"object\"!==w(e[this._itemAlias])&&this._synchronizeScopeField({parentScope:this._scope,childScope:e,fieldPath:this._itemAlias,parentPrefix:t,itemIndex:n})},_synchronizeScopeField:function(e){var t=e.parentScope,n=e.childScope,i=e.fieldPath,o=e.parentPrefix,a=e.itemIndex,r=i===this._itemAlias?\"\":\".\"+i,s=void 0!==a,l=[o];if(s){if(!(0,d.isNumeric)(a))return;l.push(\"[\",a,\"]\")}l.push(r);var u=l.join(\"\"),c=t.$watch(u,(function(e,t){e!==t&&(0,_.compileSetter)(i)(n,e)})),h=n.$watch(i,(function(e,n){if(e!==n){if(s&&!(0,_.compileGetter)(o)(t)[a])return void h();(0,_.compileSetter)(u)(t,e)}}));this._componentDisposing.add([c,h])},_evalOptions:function(e){var t=this,n=(0,v.extendFromObject)({},this._ngOptions);return delete n.bindingOptions,this._ngOptions.bindingOptions&&(0,c.each)(this._ngOptions.bindingOptions,(function(t,i){n[t]=e.$eval(i.dataPath)})),n._optionChangedCallbacks=this._optionChangedCallbacks,n._disposingCallbacks=this._componentDisposing,n.onActionCreated=function(t,n,i){if(i&&\"rendering\"===i.category)return n;return function(){var t=this,i=arguments;return e&&e.$root&&!e.$root.$$phase?C((function(){return n.apply(t,i)}),e):n.apply(this,i)}},n.beforeActionExecute=n.onActionCreated,n.nestedComponentOptions=function(e){return{templatesRenderAsynchronously:e.option(\"templatesRenderAsynchronously\"),forceApplyBindings:e.option(\"forceApplyBindings\"),modelByElement:e.option(\"modelByElement\"),onActionCreated:e.option(\"onActionCreated\"),beforeActionExecute:e.option(\"beforeActionExecute\"),nestedComponentOptions:e.option(\"nestedComponentOptions\")}},n.templatesRenderAsynchronously=!0,(0,r.default)().wrapActionsBeforeExecute&&(n.forceApplyBindings=function(){C((function(){}),e)}),n.integrationOptions={createTemplate:function(e){return new p.NgTemplate(e,t._compilerByTemplate.bind(t))},watchMethod:function(n,i,o){var a,s=(o=o||{}).skipImmediate,l=e.$watch((function(){var e=n();return e instanceof Date&&(e=e.valueOf()),e}),(function(e){var t=a===e;!s&&(!t||t&&o.deep)&&i(e),s=!1}),o.deep);return s||(a=n(),i(a)),(0,r.default)().wrapActionsBeforeExecute&&t._applyAsync((function(){}),e),l},templates:{\"dx-polymorph-widget\":{render:function(e){var n=e.model.widget;if(n){var o=(0,i.default)(\"<div>\").attr((0,b.dasherize)(n),\"options\").get(0),a=t._scope.$new();a.options=e.model.options,e.container.append(o),t._compile(o)(a)}}}}},n.modelByElement=function(){return e},n}});S=S.inherit({ctor:function(e){this._componentName=e.componentName,this._ngModel=e.ngModel,this._ngModelController=e.ngModelController,this.callBase.apply(this,arguments)},_isNgModelRequired:function(){return f.default.isEditor(this._componentClass.prototype)&&this._ngModel},_initComponentBindings:function(){this.callBase.apply(this,arguments),this._initNgModelBinding()},_initNgModelBinding:function(){var e=this;if(this._isNgModelRequired()){var t=this._scope.$watch(this._ngModel,(function(t,n){e._ngLocker.locked(\"value\")||t!==n&&e._component.option(\"value\",t)}));this._optionChangedCallbacks.add((function(t){e._ngLocker.obtain(\"value\");try{if(\"value\"!==t.name)return;e._ngModelController.$setViewValue(t.value)}finally{e._ngLocker.locked(\"value\")&&e._ngLocker.release(\"value\")}})),this._componentDisposing.add(t)}},_evalOptions:function(){if(!this._isNgModelRequired())return this.callBase.apply(this,arguments);var e=this.callBase.apply(this,arguments);return e.value=this._parse(this._ngModel)(this._scope),e}});var k={},D=function(e){var t=\"dxValidator\"!==e?1:10;g.default.directive(e,[\"$compile\",\"$parse\",\"dxDigestCallbacks\",function(n,i,o){return{restrict:\"A\",require:\"^?ngModel\",priority:t,compile:function(t){var a=k[e],r=(a.prototype._useTemplates?a.prototype._useTemplates():function e(t,n){if(!Object.prototype.hasOwnProperty.bind(t)(\"parent\")&&t.parent){var i=Object.getPrototypeOf(t);return i.prototype[n]?function(){return i.prototype[n]()}:e(i,n)}var o=t.parent.prototype[n];return o?function(){return o()}:o&&t.parent.subclassOf?e(t.parent,n):function(){}}(a,\"_useTemplates\")())?t.contents().detach():null;return function(t,s,l,u,d){s.append(r),C((function(){new S({componentClass:a,componentName:e,compile:n,parse:i,$element:s,scope:t,ngOptionsString:l[e],ngOptions:l[e]?t.$eval(l[e]):{},ngModel:l.ngModel,ngModelController:u,transcludeFn:d,itemAlias:l.dxItemAlias,dxDigestCallbacks:o})}),t)}}}}])};s.default.add((function(e,t){k[e]||D(e),k[e]=t}))}},11579:function(e,t,n){var i=a(n(44504)),o=a(n(69155));function a(e){return e&&e.__esModule?e:{default:e}}a(n(62387)).default&&o.default.service(\"dxDigestCallbacks\",[\"$rootScope\",function(e){var t=(0,i.default)(),n=(0,i.default)(),o=(0,i.default)(),a=!1;return e.$watch((function(){a||(a=!0,t.fire(),e.$$postDigest((function(){a=!1,n.fire(),o.fire()})))})),{begin:{add:function(e){a&&e(),t.add(e)},remove:t.remove.bind(t)},end:{add:o.add.bind(o),addPrioritized:n.add.bind(n),remove:o.remove.bind(o)}}}])},12993:function(e,t,n){var i=r(n(94553)),o=r(n(55994)),a=r(n(69155));function r(e){return e&&e.__esModule?e:{default:e}}r(n(62387)).default&&i.default.add((function(e){var t=e.slice(0,2)+e.charAt(2).toUpperCase()+e.slice(3);a.default.directive(t,[\"$parse\",function(n){return function(i,a,r){var s,l=r[t].trim(),u={};\"{\"===l.charAt(0)?(u=i.$eval(l),s=n(u.execute)):s=n(r[t]),o.default.on(a,e,u,(function(e){i.$apply((function(){s(i,{$event:e})}))}))}}])}))},69155:function(e,t,n){t.default=void 0;var i,o=(i=n(62387))&&i.__esModule?i:{default:i};var a={};o.default&&(a=o.default.module(\"dx\",[]));var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},76165:function(e,t,n){t.NgTemplate=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(81033),r=n(35922),s=n(3532);function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function i(t,n){var i;return(i=e.call(this)||this)._element=t,i._compiledTemplate=n((0,s.normalizeTemplateElement)(i._element)),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var a=i.prototype;return a._renderCore=function(e){var t=this._compiledTemplate;return(0,r.isFunction)(t)?t(e):t},a.source=function(){return(0,o.default)(this._element).clone()},i}(a.TemplateBase);t.NgTemplate=u},78475:function(e,t,n){var i=s(n(96073)),o=n(58020),a=s(n(95640)),r=s(n(72722));function s(e){return e&&e.__esModule?e:{default:e}}if(n(17394),n(59228),n(66809),n(32185),n(711),n(27387),n(95063),n(63200),n(87481),n(30829),(0,r.default)()&&(0,o.compare)(i.default.fn.jquery,[1,10])<0)throw a.default.Error(\"E0012\")},30829:function(e,t,n){var i=a(n(96073)),o=a(n(37208));function a(e){return e&&e.__esModule?e:{default:e}}(0,a(n(72722)).default)()&&o.default.inject({sendRequest:function(e){return e.responseType||e.upload?this.callBase.apply(this,[e]):i.default.ajax(e)}})},87481:function(e,t,n){var i=r(n(96073)),o=r(n(5554)),a=r(n(17381));function r(e){return e&&e.__esModule?e:{default:e}}if(i.default){o.default.add((function(e,t){i.default.fn[e]=function(n){var i,o=\"string\"==typeof n;if(o){var r=n,s=[].slice.call(arguments).slice(1);this.each((function(){var n=t.getInstance(this);if(!n)throw a.default.Error(\"E0009\",e);var o=n[r].apply(n,s);void 0===i&&(i=o)}))}else this.each((function(){var e=t.getInstance(this);e?e.option(n):new t(this,n)})),i=this;return i}}))}},66809:function(e,t,n){var i=r(n(96073)),o=n(62754),a=n(58020);function r(e){return e&&e.__esModule?e:{default:e}}if((0,r(n(72722)).default)()){var s=i.default.Deferred,l={Deferred:s};l.when=(0,a.compare)(i.default.fn.jquery,[3])<0?i.default.when:function(e){return 0===arguments.length?(new s).resolve():1===arguments.length?e&&e.then?e:(new s).resolve(e):i.default.when.apply(i.default,arguments)},(0,o.setStrategy)(l)}},27387:function(e,t,n){var i,o=(i=n(96073))&&i.__esModule?i:{default:i},a=n(23908);o.default&&(0,a.setEasing)(o.default.easing)},63200:function(e,t,n){var i,o=n(6415);(0,((i=n(72722))&&i.__esModule?i:{default:i}).default)()&&(0,o.setPublicElementWrapper)((function(e){return e}))},95063:function(e,t,n){var i=a(n(96073)),o=n(97906);function a(e){return e&&e.__esModule?e:{default:e}}(0,a(n(72722)).default)()&&(0,o.setDataStrategy)(i.default)},711:function(e,t,n){var i=l(n(96073)),o=l(n(55994)),a=l(n(72722)),r=l(n(94553)),s=l(n(73349));function l(e){return e&&e.__esModule?e:{default:e}}(0,a.default)()&&(r.default.add((function(e,t){i.default.event.special[e]=t})),o.default.passiveEventHandlersSupported()&&o.default.forcePassiveFalseEventNames.forEach((function(e){i.default.event.special[e]={setup:function(t,n,i){s.default.listen(this,e,i,{passive:!1})}}})),o.default.set({on:function(e){(0,i.default)(e).on.apply((0,i.default)(e),Array.prototype.slice.call(arguments,1))},one:function(e){(0,i.default)(e).one.apply((0,i.default)(e),Array.prototype.slice.call(arguments,1))},off:function(e){(0,i.default)(e).off.apply((0,i.default)(e),Array.prototype.slice.call(arguments,1))},trigger:function(e){(0,i.default)(e).trigger.apply((0,i.default)(e),Array.prototype.slice.call(arguments,1))},triggerHandler:function(e){(0,i.default)(e).triggerHandler.apply((0,i.default)(e),Array.prototype.slice.call(arguments,1))},Event:i.default.Event}))},32185:function(e,t,n){var i=r(n(96073)),o=n(89729),a=r(n(24311));function r(e){return e&&e.__esModule?e:{default:e}}if(i.default&&!o.themeReadyCallback.fired()){var s=i.default.holdReady||i.default.fn.holdReady;s(!0),o.themeReadyCallback.add((function(){a.default.add((function(){s(!1)}))}))}},59228:function(e,t,n){var i=c(n(96073)),o=c(n(72722)),a=n(58020),r=n(95479),s=n(35922),l=n(39611),u=c(n(85788)),d=c(n(2418));function c(e){return e&&e.__esModule?e:{default:e}}if((0,o.default)())if((0,a.compare)(i.default.fn.jquery,[3])<0){var h={2:\"touch\",3:\"pen\",4:\"mouse\"};(0,r.each)([\"MSPointerDown\",\"MSPointerMove\",\"MSPointerUp\",\"MSPointerCancel\",\"MSPointerOver\",\"MSPointerOut\",\"mouseenter\",\"mouseleave\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointercancel\",\"pointerover\",\"pointerout\",\"pointerenter\",\"pointerleave\"],(function(){i.default.event.fixHooks[this]={filter:function(e,t){var n=t.pointerType;return(0,s.isNumeric)(n)&&(e.pointerType=h[n]),e},props:i.default.event.mouseHooks.props.concat([\"pointerId\",\"pointerType\",\"originalTarget\",\"width\",\"height\",\"pressure\",\"result\",\"tiltX\",\"charCode\",\"tiltY\",\"detail\",\"isPrimary\",\"prevValue\"])}})),(0,r.each)([\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],(function(){i.default.event.fixHooks[this]={filter:function(e,t){return(0,d.default)((function(n,i){e[n]=i(t)})),e},props:i.default.event.mouseHooks.props.concat([\"touches\",\"changedTouches\",\"targetTouches\",\"detail\",\"result\",\"originalTarget\",\"charCode\",\"prevValue\"])}})),i.default.event.fixHooks.wheel=i.default.event.mouseHooks;var f={props:i.default.event.mouseHooks.props.concat([\"pointerType\",\"pointerId\",\"pointers\"])};u.default.callbacks.add((function(e){i.default.event.fixHooks[e]=f}));(0,l.setEventFixMethod)((function(e,t){for(var n=i.default.event.fixHooks[t.type]||i.default.event.mouseHooks,o=n.props?i.default.event.props.concat(n.props):i.default.event.props,a=o.length;a--;){var r=o[a];e[r]=t[r]}return n.filter?n.filter(e,t):e}))}else(0,d.default)((function(e,t){i.default.event.addProp(e,t)}))},17394:function(e,t,n){var i=a(n(96073)),o=a(n(82981));function a(e){return e&&e.__esModule?e:{default:e}}(0,a(n(72722)).default)()&&o.default.set(i.default)},72722:function(e,t,n){t.default=function(){return i.default&&(0,o.default)().useJQuery};var i=a(n(96073)),o=a(n(80209));function a(e){return e&&e.__esModule?e:{default:e}}var r=(0,o.default)().useJQuery;i.default&&!1!==r&&(0,o.default)({useJQuery:!0}),e.exports=t.default,e.exports.default=t.default},49281:function(e,t,n){var i=r(n(76130)),o=r(n(17381)),a=n(58020);function r(e){return e&&e.__esModule?e:{default:e}}if(n(89135),n(70883),n(89620),n(24935),n(74942),n(27521),n(61823),i.default&&(0,a.compare)(i.default.version,[2,3])<0)throw o.default.Error(\"E0013\")},27521:function(e,t,n){var i,o=n(97906),a=(i=n(76130))&&i.__esModule?i:{default:i},r=n(58020),s=n(45994);if(a.default){var l=a.default.utils.domNodeDisposal.cleanExternalData;(0,o.afterCleanData)((function(e){var t;for(t=0;t<e.length;t++)e[t].cleanedByJquery=!0;for(t=0;t<e.length;t++)e[t].cleanedByKo||a.default.cleanNode(e[t]),delete e[t].cleanedByKo;for(t=0;t<e.length;t++)delete e[t].cleanedByJquery})),a.default.utils.domNodeDisposal.cleanExternalData=function(e){e.cleanedByKo=!0,(0,s.getClosestNodeWithKoCreation)(e)&&(e.cleanedByJquery||(0,o.cleanData)([e]))},o.strategyChanging.add((function(e){!!e.fn&&(0,r.compare)(e.fn.jquery,[2,0])<0&&((0,o.afterCleanData)((function(){})),a.default.utils.domNodeDisposal.cleanExternalData=l)}))}},61823:function(e,t,n){var i,o=(i=n(76130))&&i.__esModule?i:{default:i},a=n(58020),r=n(97906);if(o.default){r.strategyChanging.add((function(e){!!e.fn&&(0,a.compare)(e.fn.jquery,[2,0])<0&&function(e){var t=function(e,t){var n=function(){o.default.cleanNode(this)};t?e.each(n):e.find(\"*\").each(n)},n=e.fn.empty;e.fn.empty=function(){return t(this,!1),n.apply(this,arguments)};var i=e.fn.remove;e.fn.remove=function(e,n){if(!n){var o=this;e&&(o=o.filter(e)),t(o,!0)}return i.call(this,e,n)};var a=e.fn.html;e.fn.html=function(e){return\"string\"==typeof e&&t(this,!1),a.apply(this,arguments)};var r=e.fn.replaceWith;e.fn.replaceWith=function(){var e=r.apply(this,arguments);return this.parent().length||t(this,!0),e}}(e)}))}},89135:function(e,t,n){var i=v(n(68374)),o=v(n(76130)),a=v(n(44504)),r=n(35922),s=v(n(5554)),l=v(n(14390)),u=v(n(55845)),d=v(n(27135)),c=v(n(42160)),h=v(n(4741)),f=n(1129),p=v(n(96452)),g=v(n(88933)),m=n(45994),_=v(n(80209));function v(e){return e&&e.__esModule?e:{default:e}}if(o.default){var y=[];s.default.add((function(e,t){!function(e,t){p.default.isEditor(t.prototype)&&y.push(e),o.default.bindingHandlers[e]={init:function(e,n){var s,p,v=(0,i.default)(e),y=(0,a.default)(),b={},x=(0,_.default)().knockout,w=x&&x.isBindingPropertyPredicateName,C={onInitializing:function(t){var i=this;b=this._getOptionsByReference(),o.default.computed((function(){var e,a=o.default.unwrap(n());(s&&s.beginUpdate(),p=w&&a&&a[w],T(a),s)?s.endUpdate():null==a||null===(e=a.onInitializing)||void 0===e||e.call(i,t)}),null,{disposeWhenNodeIsRemoved:e}),s=this},modelByElement:function(e){if(e.length){var t=(0,m.getClosestNodeWithContext)(e.get(0));return o.default.dataFor(t)}},nestedComponentOptions:function(e){return{modelByElement:e.option(\"modelByElement\"),nestedComponentOptions:e.option(\"nestedComponentOptions\")}},_optionChangedCallbacks:y,integrationOptions:{watchMethod:function(e,t,n){var i=(n=n||{}).skipImmediate,a=o.default.computed((function(){var n=o.default.unwrap(e());i||t(n),i=!1}));return function(){a.dispose()}},templates:{\"dx-polymorph-widget\":{render:function(e){var t=o.default.utils.unwrapObservable(e.model.widget);if(t){var n=(0,i.default)(\"<div>\").attr(\"data-bind\",t+\": options\").get(0);(0,i.default)(e.container).append(n),o.default.applyBindings(e.model,n)}}}},createTemplate:function(e){return new f.KoTemplate(e)}}},S={},k=function(e,t,n){var i=v.data(\"dxKoLocks\"),a=n?o.default.unwrap(t):t;if(o.default.isWriteableObservable(t)&&(S[e]=t),s){if(i.locked(e))return;i.obtain(e);try{o.default.ignoreDependencies?o.default.ignoreDependencies(s.option,s,[e,a]):s.option(e,a)}finally{i.release(e)}}else C[e]=a},D=function(e){var t=e.fullName,n=e.value;if(t in S){var i=this._$element.data(\"dxKoLocks\");if(!i.locked(t)){i.obtain(t);try{S[t](n)}finally{i.release(t)}}}},I=function(t,n,i){var a;i!==w&&(!p||p(i,n,t)?(o.default.computed((function(){var e=t[n];k(i,e,!0),a=o.default.unwrap(e)}),null,{disposeWhenNodeIsRemoved:e}),(0,r.isPlainObject)(a)&&(b[i]||T(a,i))):k(i,t[n],!1))};function T(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&I(e,n,t?[t,n].join(\".\"):n)}return y.add(D),v.data(\"dxKoCreation\",!0).data(\"dxKoLocks\",new g.default),new t(v,C),C=null,{controlsDescendantBindings:t.subclassOf(l.default)||t.subclassOf(u.default)||t.subclassOf(d.default)&&!(s instanceof h.default)||s instanceof c.default}}},\"dxValidator\"===e&&(o.default.bindingHandlers.dxValidator.after=y)}(e,t)}))}},89620:function(e,t,n){var i,o=(i=n(76130))&&i.__esModule?i:{default:i},a=n(44899);o.default&&(o.default.bindingHandlers.dxControlsDescendantBindings={init:function(e,t){return{controlsDescendantBindings:o.default.unwrap(t())}}},o.default.bindingHandlers.dxIcon={init:function(e,t){var n=o.default.utils.unwrapObservable(t())||{},i=(0,a.getImageContainer)(n);o.default.virtualElements.emptyNode(e),i&&o.default.virtualElements.prepend(e,i.get(0))},update:function(e,t){var n=o.default.utils.unwrapObservable(t())||{},i=(0,a.getImageContainer)(n);o.default.virtualElements.emptyNode(e),i&&o.default.virtualElements.prepend(e,i.get(0))}},o.default.virtualElements.allowedBindings.dxIcon=!0)},70883:function(e,t,n){var i=u(n(68374)),o=u(n(55994)),a=u(n(76130)),r=n(35922),s=u(n(94553)),l=n(39611);function u(e){return e&&e.__esModule?e:{default:e}}a.default&&s.default.add((function(e){var t=(0,l.addNamespace)(e,e+\"Binding\");a.default.bindingHandlers[e]={update:function(e,n,s,l){var u=(0,i.default)(e),d=a.default.utils.unwrapObservable(n()),c=d.execute?d.execute:d;o.default.off(u,t),o.default.on(u,t,(0,r.isPlainObject)(d)?d:{},(function(e){c.call(l,l,e)}))}}}))},1129:function(e,t,n){t.KoTemplate=void 0;var i=d(n(68374)),o=d(n(73349)),a=d(n(76130)),r=n(35922),s=n(81033),l=n(3532),u=n(45994);function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t,n;function s(t){var n;return(n=e.call(this)||this)._element=t,n._template=(0,i.default)(\"<div>\").append((0,l.normalizeTemplateElement)(t)),n._registerKoTemplate(),n}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var d=s.prototype;return d._registerKoTemplate=function(){var e=this._template.get(0);new a.default.templateSources.anonymousTemplate(e).nodes(e)},d._prepareDataForContainer=function(e,t){if(t&&t.length){var n=(0,u.getClosestNodeWithContext)(t.get(0)),i=a.default.contextFor(n);if(e=void 0!==e?e:a.default.dataFor(n)||{},i)return e===i.$data?i:i.createChildContext(e)}return function(e){var t=o.default.createElement(\"div\");a.default.applyBindingsToNode(t,null,e);var n=a.default.contextFor(t);return a.default.cleanNode(t),n}(e).createChildContext(e)},d._renderCore=function(e){var t=this._prepareDataForContainer(e.model,(0,i.default)(e.container));(0,r.isDefined)(e.index)&&(t.$index=e.index);var n,o=(0,i.default)(\"<div>\").appendTo(e.container);return a.default.renderTemplate(this._template.get(0),t,{afterRender:function(e){n=(0,i.default)(e)}},o.get(0),\"replaceNode\"),n},d.source=function(){return(0,i.default)(this._element).clone()},d.dispose=function(){this._template.remove()},s}(s.TemplateBase);t.KoTemplate=h},45994:function(e,t,n){t.getClosestNodeWithKoCreation=t.getClosestNodeWithContext=void 0;var i=a(n(76130)),o=a(n(68374));function a(e){return e&&e.__esModule?e:{default:e}}t.getClosestNodeWithContext=function e(t){return!i.default.contextFor(t)&&t.parentNode?e(t.parentNode):t};t.getClosestNodeWithKoCreation=function e(t){var n=(0,o.default)(t).data();return n&&n.dxKoCreation?t:t.parentNode?e(t.parentNode):null}},24935:function(e,t,n){var i=n(95479),o=n(13306),a=c(n(38377)),r=n(80566),s=c(n(90964)),l=n(62754),u=c(n(73176)),d=c(n(76130));function c(e){return e&&e.__esModule?e:{default:e}}if(d.default){var h=a.default.inherit({ctor:function(e,t){var n=this,a=t.name,s=t.validationRules;this.target=e,this.name=a,this.isValid=d.default.observable(!0),this.validationError=d.default.observable(),this.validationErrors=d.default.observable(),this.validationStatus=d.default.observable(\"valid\"),this._eventsStrategy=new r.EventsStrategy(this),this.validationRules=(0,i.map)(s,(function(e,t){return(0,o.extend)({},e,{validator:n,index:t})})),this._validationInfo={result:null,deferred:null}},_updateValidationResult:function(e){if(this._validationInfo.result&&this._validationInfo.result.id===e.id)for(var t in e)\"id\"!==t&&\"complete\"!==t&&(this._validationInfo.result[t]=e[t]);else{var n=this._validationInfo.deferred&&this._validationInfo.result.complete;this._validationInfo.result=(0,o.extend)({},e,{complete:n})}},validate:function(){var e=this,t=this._validationInfo&&this._validationInfo.result,n=this.target();if(t&&\"pending\"===t.status&&t.value===n)return(0,o.extend)({},t);var i=s.default.validate(n,this.validationRules,this.name);return i.id=(new u.default).toString(),this._applyValidationResult(i),i.complete&&i.complete.then((function(t){t.id===e._validationInfo.result.id&&e._applyValidationResult(t)})),(0,o.extend)({},this._validationInfo.result)},reset:function(){this.target(null);var e={id:null,isValid:!0,brokenRule:null,pendingRules:null,status:\"valid\",complete:null};return this._applyValidationResult(e),e},_applyValidationResult:function(e){if(e.validator=this,this._updateValidationResult(e),this.target.dxValidator.isValid(this._validationInfo.result.isValid),this.target.dxValidator.validationError(this._validationInfo.result.brokenRule),this.target.dxValidator.validationErrors(this._validationInfo.result.brokenRules),this.target.dxValidator.validationStatus(this._validationInfo.result.status),\"pending\"===e.status)return this._validationInfo.deferred||(this._validationInfo.deferred=new l.Deferred,this._validationInfo.result.complete=this._validationInfo.deferred.promise()),void this._eventsStrategy.fireEvent(\"validating\",[this._validationInfo.result]);\"pending\"!==e.status&&(this._eventsStrategy.fireEvent(\"validated\",[e]),this._validationInfo.deferred&&(this._validationInfo.deferred.resolve(e),this._validationInfo.deferred=null))},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this}});d.default.extenders.dxValidator=function(e,t){return e.dxValidator=new h(e,t),e.subscribe(e.dxValidator.validate.bind(e.dxValidator)),e},s.default.registerModelForValidation=function(e){(0,i.each)(e,(function(t,n){d.default.isObservable(n)&&n.dxValidator&&s.default.registerValidatorInGroup(e,n.dxValidator)}))},s.default.unregisterModelForValidation=function(e){(0,i.each)(e,(function(t,n){d.default.isObservable(n)&&n.dxValidator&&s.default.removeRegisteredValidator(e,n.dxValidator)}))},s.default.validateModel=s.default.validateGroup}},74942:function(e,t,n){var i=a(n(76130)),o=a(n(26974));function a(e){return e&&e.__esModule?e:{default:e}}i.default&&o.default.inject({isWrapped:i.default.isObservable,isWritableWrapped:i.default.isWritableObservable,wrap:i.default.observable,unwrap:function(e){return i.default.isObservable(e)?i.default.utils.unwrapObservable(e):this.callBase(e)},assign:function(e,t){i.default.isObservable(e)?e(t):this.callBase(e,t)}})},94484:function(e,t,n){Object.defineProperty(t,\"date\",{enumerable:!0,get:function(){return r.default}}),t.disableIntl=function(){\"intl\"===a.default.engine()&&a.default.resetInjection();\"intl\"===r.default.engine()&&r.default.resetInjection()},t.locale=t.loadMessages=t.formatNumber=t.formatMessage=t.formatDate=void 0,Object.defineProperty(t,\"message\",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,\"number\",{enumerable:!0,get:function(){return a.default}}),t.parseNumber=t.parseDate=void 0;var i=s(n(91331)),o=s(n(28109)),a=s(n(18016)),r=s(n(91500));function s(e){return e&&e.__esModule?e:{default:e}}n(89740);var l=i.default.locale.bind(i.default);t.locale=l;var u=o.default.load.bind(o.default);t.loadMessages=u;var d=o.default.format.bind(o.default);t.formatMessage=d;var c=a.default.format.bind(a.default);t.formatNumber=c;var h=a.default.parse.bind(a.default);t.parseNumber=h;var f=r.default.format.bind(r.default);t.formatDate=f;var p=r.default.parse.bind(r.default);t.parseDate=p},71868:function(e,t){t.default=void 0;t.default={af:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"af-NA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",agq:\"#,##0.00\\xa4\",ak:\"\\xa4#,##0.00\",am:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ar:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-AE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-BH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-DJ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-DZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-EG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-EH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-ER\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-IL\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-IQ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-JO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-KM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-KW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-LB\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-LY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-MA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-MR\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-OM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-PS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-QA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-SA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-SD\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-SO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-SS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-SY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-TD\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-TN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ar-YE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",as:\"\\xa4\\xa0#,##,##0.00\",asa:\"#,##0.00\\xa0\\xa4\",ast:\"#,##0.00\\xa0\\xa4\",az:\"#,##0.00\\xa0\\xa4\",\"az-Cyrl\":\"#,##0.00\\xa0\\xa4\",\"az-Latn\":\"#,##0.00\\xa0\\xa4\",bas:\"#,##0.00\\xa0\\xa4\",be:\"#,##0.00\\xa0\\xa4\",\"be-tarask\":\"#,##0.00\\xa0\\xa4\",bem:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",bez:\"#,##0.00\\xa4\",bg:\"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",bm:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",bn:\"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\"bn-IN\":\"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",bo:\"\\xa4\\xa0#,##0.00\",\"bo-IN\":\"\\xa4\\xa0#,##0.00\",br:\"#,##0.00\\xa0\\xa4\",brx:\"\\xa4\\xa0#,##,##0.00\",bs:\"#,##0.00\\xa0\\xa4\",\"bs-Cyrl\":\"#,##0.00\\xa0\\xa4\",\"bs-Latn\":\"#,##0.00\\xa0\\xa4\",ca:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"ca-AD\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"ca-ES-valencia\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"ca-FR\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"ca-IT\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",ccp:\"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\"ccp-IN\":\"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",ce:\"#,##0.00\\xa0\\xa4\",ceb:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",cgg:\"\\xa4#,##0.00\",chr:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ckb:\"\\xa4\\xa0#,##0.00\",\"ckb-IR\":\"\\xa4\\xa0#,##0.00\",cs:\"#,##0.00\\xa0\\xa4\",cy:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",da:\"#,##0.00\\xa0\\xa4\",\"da-GL\":\"#,##0.00\\xa0\\xa4\",dav:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",de:\"#,##0.00\\xa0\\xa4\",\"de-AT\":\"#,##0.00\\xa0\\xa4\",\"de-BE\":\"#,##0.00\\xa0\\xa4\",\"de-CH\":\"#,##0.00\\xa0\\xa4\",\"de-IT\":\"#,##0.00\\xa0\\xa4\",\"de-LI\":\"#,##0.00\\xa0\\xa4\",\"de-LU\":\"#,##0.00\\xa0\\xa4\",dje:\"#,##0.00\\xa4\",doi:\"\\xa4#,##0.00\",dsb:\"#,##0.00\\xa0\\xa4\",dua:\"#,##0.00\\xa0\\xa4\",dyo:\"#,##0.00\\xa0\\xa4\",dz:\"\\xa4#,##,##0.00\",ebu:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ee:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ee-TG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",el:\"#,##0.00\\xa0\\xa4\",\"el-CY\":\"#,##0.00\\xa0\\xa4\",en:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-001\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-150\":\"#,##0.00\\xa0\\xa4\",\"en-AE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-AG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-AI\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-AS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-AT\":\"\\xa4\\xa0#,##0.00\",\"en-AU\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BB\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BE\":\"#,##0.00\\xa0\\xa4\",\"en-BI\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-BZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CC\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CH\":\"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\"en-CK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CX\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-CY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-DE\":\"#,##0.00\\xa0\\xa4\",\"en-DG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-DK\":\"#,##0.00\\xa0\\xa4\",\"en-DM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-ER\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-FI\":\"#,##0.00\\xa0\\xa4\",\"en-FJ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-FK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-FM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GB\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GD\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GI\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GU\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-GY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-HK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-IE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-IL\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-IM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-IN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-IO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-JE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-JM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-KE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-KI\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-KN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-KY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-LC\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-LR\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-LS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MP\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MT\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MU\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MV\":\"\\xa4\\xa0#,##0.00\",\"en-MW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-MY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NF\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NL\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"en-NR\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NU\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-NZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PR\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-PW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-RW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SB\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SC\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SD\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SE\":\"#,##0.00\\xa0\\xa4\",\"en-SG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SH\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SI\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"en-SL\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SX\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-SZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TC\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TT\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TV\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-TZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-UG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-UM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-VC\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-VG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-VI\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-VU\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-WS\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-ZA\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-ZM\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"en-ZW\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",eo:\"\\xa4\\xa0#,##0.00\",es:\"#,##0.00\\xa0\\xa4\",\"es-419\":\"\\xa4#,##0.00\",\"es-AR\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"es-BO\":\"\\xa4#,##0.00\",\"es-BR\":\"\\xa4#,##0.00\",\"es-BZ\":\"\\xa4#,##0.00\",\"es-CL\":\"\\xa4#,##0.00\",\"es-CO\":\"\\xa4#,##0.00\",\"es-CR\":\"\\xa4#,##0.00\",\"es-CU\":\"\\xa4#,##0.00\",\"es-DO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"es-EA\":\"#,##0.00\\xa0\\xa4\",\"es-EC\":\"\\xa4#,##0.00\",\"es-GQ\":\"#,##0.00\\xa0\\xa4\",\"es-GT\":\"\\xa4#,##0.00\",\"es-HN\":\"\\xa4#,##0.00\",\"es-IC\":\"#,##0.00\\xa0\\xa4\",\"es-MX\":\"\\xa4#,##0.00\",\"es-NI\":\"\\xa4#,##0.00\",\"es-PA\":\"\\xa4#,##0.00\",\"es-PE\":\"\\xa4#,##0.00\",\"es-PH\":\"#,##0.00\\xa0\\xa4\",\"es-PR\":\"\\xa4#,##0.00\",\"es-PY\":\"\\xa4#,##0.00\",\"es-SV\":\"\\xa4#,##0.00\",\"es-US\":\"\\xa4#,##0.00\",\"es-UY\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"es-VE\":\"\\xa4#,##0.00\",et:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",eu:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",ewo:\"#,##0.00\\xa0\\xa4\",fa:\"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\"fa-AF\":\"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",ff:\"#,##0.00\\xa0\\xa4\",\"ff-Adlm\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-BF\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-CM\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-GH\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-GM\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-GW\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-LR\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-MR\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-NE\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-NG\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-SL\":\"\\xa4\\xa0#,##0.00\",\"ff-Adlm-SN\":\"\\xa4\\xa0#,##0.00\",\"ff-Latn\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-BF\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-CM\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-GH\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-GM\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-GN\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-GW\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-LR\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-MR\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-NE\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-NG\":\"#,##0.00\\xa0\\xa4\",\"ff-Latn-SL\":\"#,##0.00\\xa0\\xa4\",fi:\"#,##0.00\\xa0\\xa4\",fil:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",fo:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fo-DK\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",fr:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-BE\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-BF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-BI\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-BJ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-BL\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CA\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CD\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CG\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CH\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CI\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-CM\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-DJ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-DZ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-GA\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-GF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-GN\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-GP\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-GQ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-HT\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-KM\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-LU\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MA\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MC\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MG\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-ML\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MQ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MR\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-MU\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-NC\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-NE\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-PF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-PM\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-RE\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-RW\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-SC\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-SN\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-SY\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-TD\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-TG\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-TN\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-VU\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-WF\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"fr-YT\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",fur:\"\\xa4\\xa0#,##0.00\",fy:\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",ga:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ga-GB\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",gd:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",gl:\"#,##0.00\\xa0\\xa4\",gsw:\"#,##0.00\\xa0\\xa4\",\"gsw-FR\":\"#,##0.00\\xa0\\xa4\",\"gsw-LI\":\"#,##0.00\\xa0\\xa4\",gu:\"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",guz:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",gv:\"\\xa4#,##0.00\",ha:\"\\xa4\\xa0#,##0.00\",\"ha-GH\":\"\\xa4\\xa0#,##0.00\",\"ha-NE\":\"\\xa4\\xa0#,##0.00\",haw:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",he:\"#,##0.00\\xa0\\xa4\",hi:\"\\xa4#,##,##0.00\",\"hi-Latn\":\"\\xa4#,##,##0.00\",hr:\"#,##0.00\\xa0\\xa4\",\"hr-BA\":\"#,##0.00\\xa0\\xa4\",hsb:\"#,##0.00\\xa0\\xa4\",hu:\"#,##0.00\\xa0\\xa4\",hy:\"#,##0.00\\xa0\\xa4\",ia:\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",id:\"\\xa4#,##0.00\",ig:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ii:\"\\xa4\\xa0#,##0.00\",is:\"#,##0.00\\xa0\\xa4\",it:\"#,##0.00\\xa0\\xa4\",\"it-CH\":\"#,##0.00\\xa0\\xa4\",\"it-SM\":\"#,##0.00\\xa0\\xa4\",\"it-VA\":\"#,##0.00\\xa0\\xa4\",ja:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",jgo:\"\\xa4\\xa0#,##0.00\",jmc:\"\\xa4#,##0.00\",jv:\"\\xa4\\xa0#,##0.00\",ka:\"#,##0.00\\xa0\\xa4\",kab:\"#,##0.00\\xa4\",kam:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",kde:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",kea:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",kgp:\"\\xa4\\xa0#,##0.00\",khq:\"#,##0.00\\xa4\",ki:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",kk:\"#,##0.00\\xa0\\xa4\",kkj:\"\\xa4\\xa0#,##0.00\",kl:\"\\xa4#,##0.00;\\xa4-#,##0.00\",kln:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",km:\"#,##0.00\\xa4;(#,##0.00\\xa4)\",kn:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ko:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ko-KP\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",kok:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ks:\"\\xa4#,##0.00\",\"ks-Arab\":\"\\xa4#,##0.00\",\"ks-Deva\":\"\\xa4\\xa0#,##0.00\",ksb:\"#,##0.00\\xa4\",ksf:\"#,##0.00\\xa0\\xa4\",ksh:\"#,##0.00\\xa0\\xa4\",ku:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",kw:\"\\xa4#,##0.00\",ky:\"#,##0.00\\xa0\\xa4\",lag:\"\\xa4\\xa0#,##0.00\",lb:\"#,##0.00\\xa0\\xa4\",lg:\"#,##0.00\\xa4\",lkt:\"\\xa4\\xa0#,##0.00\",ln:\"#,##0.00\\xa0\\xa4\",\"ln-AO\":\"#,##0.00\\xa0\\xa4\",\"ln-CF\":\"#,##0.00\\xa0\\xa4\",\"ln-CG\":\"#,##0.00\\xa0\\xa4\",lo:\"\\xa4#,##0.00;\\xa4-#,##0.00\",lrc:\"\\xa4\\xa0#,##0.00\",\"lrc-IQ\":\"\\xa4\\xa0#,##0.00\",lt:\"#,##0.00\\xa0\\xa4\",lu:\"#,##0.00\\xa4\",luo:\"#,##0.00\\xa4\",luy:\"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",lv:\"#,##0.00\\xa0\\xa4\",mai:\"\\xa4\\xa0#,##0.00\",mas:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"mas-TZ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",mer:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",mfe:\"\\xa4\\xa0#,##0.00\",mg:\"\\xa4#,##0.00\",mgh:\"\\xa4\\xa0#,##0.00\",mgo:\"\\xa4\\xa0#,##0.00\",mi:\"\\xa4\\xa0#,##0.00\",mk:\"#,##0.00\\xa0\\xa4\",ml:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",mn:\"\\xa4\\xa0#,##0.00\",mni:\"\\xa4\\xa0#,##0.00\",\"mni-Beng\":\"\\xa4\\xa0#,##0.00\",mr:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ms:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ms-BN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ms-ID\":\"\\xa4#,##0.00\",\"ms-SG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",mt:\"\\xa4#,##0.00\",mua:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",my:\"\\xa4\\xa0#,##0.00\",mzn:\"\\xa4\\xa0#,##0.00\",naq:\"\\xa4#,##0.00\",nb:\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nb-SJ\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",nd:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",nds:\"\\xa4\\xa0#,##0.00\",\"nds-NL\":\"\\xa4\\xa0#,##0.00\",ne:\"\\xa4\\xa0#,##,##0.00\",\"ne-IN\":\"\\xa4\\xa0#,##,##0.00\",nl:\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-AW\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-BE\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-BQ\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-CW\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-SR\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\"nl-SX\":\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",nmg:\"#,##0.00\\xa0\\xa4\",nn:\"#,##0.00\\xa0\\xa4\",nnh:\"\\xa4\\xa0#,##0.00\",no:\"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",nus:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",nyn:\"\\xa4#,##0.00\",om:\"\\xa4#,##0.00\",\"om-KE\":\"\\xa4#,##0.00\",or:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",os:\"\\xa4\\xa0#,##0.00\",\"os-RU\":\"\\xa4\\xa0#,##0.00\",pa:\"\\xa4\\xa0#,##0.00\",\"pa-Arab\":\"\\xa4\\xa0#,##0.00\",\"pa-Guru\":\"\\xa4\\xa0#,##0.00\",pcm:\"\\xa4#,##0.00\",pl:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",ps:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ps-PK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",pt:\"\\xa4\\xa0#,##0.00\",\"pt-AO\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-CH\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-CV\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-GQ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-GW\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-LU\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-MO\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-MZ\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-PT\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-ST\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"pt-TL\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",qu:\"\\xa4\\xa0#,##0.00\",\"qu-BO\":\"\\xa4\\xa0#,##0.00\",\"qu-EC\":\"\\xa4\\xa0#,##0.00\",rm:\"#,##0.00\\xa0\\xa4\",rn:\"#,##0.00\\xa4\",ro:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"ro-MD\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",rof:\"\\xa4#,##0.00\",ru:\"#,##0.00\\xa0\\xa4\",\"ru-BY\":\"#,##0.00\\xa0\\xa4\",\"ru-KG\":\"#,##0.00\\xa0\\xa4\",\"ru-KZ\":\"#,##0.00\\xa0\\xa4\",\"ru-MD\":\"#,##0.00\\xa0\\xa4\",\"ru-UA\":\"#,##0.00\\xa0\\xa4\",rw:\"\\xa4\\xa0#,##0.00\",rwk:\"#,##0.00\\xa4\",sa:\"\\xa4\\xa0#,##0.00\",sah:\"#,##0.00\\xa0\\xa4\",saq:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",sat:\"\\xa4\\xa0#,##0.00\",\"sat-Olck\":\"\\xa4\\xa0#,##0.00\",sbp:\"#,##0.00\\xa4\",sc:\"#,##0.00\\xa0\\xa4\",sd:\"\\xa4\\xa0#,##0.00\",\"sd-Arab\":\"\\xa4\\xa0#,##0.00\",\"sd-Deva\":\"\\xa4\\xa0#,##0.00\",se:\"#,##0.00\\xa0\\xa4\",\"se-FI\":\"#,##0.00\\xa0\\xa4\",\"se-SE\":\"#,##0.00\\xa0\\xa4\",seh:\"#,##0.00\\xa4\",ses:\"#,##0.00\\xa4\",sg:\"\\xa4#,##0.00;\\xa4-#,##0.00\",shi:\"#,##0.00\\xa4\",\"shi-Latn\":\"#,##0.00\\xa4\",\"shi-Tfng\":\"#,##0.00\\xa4\",si:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",sk:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",sl:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",smn:\"#,##0.00\\xa0\\xa4\",sn:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",so:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"so-DJ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"so-ET\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"so-KE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",sq:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sq-MK\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sq-XK\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",sr:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Cyrl\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Cyrl-BA\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Cyrl-ME\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Cyrl-XK\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Latn\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Latn-BA\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Latn-ME\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\"sr-Latn-XK\":\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",su:\"\\xa4#,##0.00\",\"su-Latn\":\"\\xa4#,##0.00\",sv:\"#,##0.00\\xa0\\xa4\",\"sv-AX\":\"#,##0.00\\xa0\\xa4\",\"sv-FI\":\"#,##0.00\\xa0\\xa4\",sw:\"\\xa4\\xa0#,##0.00\",\"sw-CD\":\"\\xa4\\xa0#,##0.00\",\"sw-KE\":\"\\xa4\\xa0#,##0.00\",\"sw-UG\":\"\\xa4\\xa0#,##0.00\",ta:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ta-LK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ta-MY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ta-SG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",te:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",teo:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"teo-KE\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",tg:\"#,##0.00\\xa0\\xa4\",th:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",ti:\"\\xa4#,##0.00\",\"ti-ER\":\"\\xa4#,##0.00\",tk:\"#,##0.00\\xa0\\xa4\",to:\"\\xa4\\xa0#,##0.00\",tr:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"tr-CY\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",tt:\"#,##0.00\\xa0\\xa4\",twq:\"#,##0.00\\xa4\",tzm:\"#,##0.00\\xa0\\xa4\",ug:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",uk:\"#,##0.00\\xa0\\xa4\",und:\"\\xa4\\xa0#,##0.00\",ur:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"ur-IN\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",uz:\"#,##0.00\\xa0\\xa4\",\"uz-Arab\":\"\\xa4\\xa0#,##0.00\",\"uz-Cyrl\":\"#,##0.00\\xa0\\xa4\",\"uz-Latn\":\"#,##0.00\\xa0\\xa4\",vai:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"vai-Latn\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"vai-Vaii\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",vi:\"#,##0.00\\xa0\\xa4\",vun:\"\\xa4#,##0.00\",wae:\"\\xa4\\xa0#,##0.00\",wo:\"\\xa4\\xa0#,##0.00\",xh:\"\\xa4#,##0.00\",xog:\"#,##0.00\\xa0\\xa4\",yav:\"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",yi:\"\\xa4\\xa0#,##0.00\",yo:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"yo-BJ\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",yrl:\"\\xa4\\xa0#,##0.00\",\"yrl-CO\":\"\\xa4\\xa0#,##0.00\",\"yrl-VE\":\"\\xa4\\xa0#,##0.00\",yue:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"yue-Hans\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"yue-Hant\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",zgh:\"#,##0.00\\xa4\",zh:\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hans\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hans-HK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hans-MO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hans-SG\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hant\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hant-HK\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",\"zh-Hant-MO\":\"\\xa4#,##0.00;(\\xa4#,##0.00)\",zu:\"\\xa4#,##0.00;(\\xa4#,##0.00)\"},e.exports=t.default,e.exports.default=t.default},35608:function(e,t){t.enCldr=void 0;t.enCldr={main:{en:{identity:{version:{_cldrVersion:\"36\"}},dates:{calendars:{gregorian:{months:{format:{abbreviated:{1:\"Jan\",2:\"Feb\",3:\"Mar\",4:\"Apr\",5:\"May\",6:\"Jun\",7:\"Jul\",8:\"Aug\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Dec\"},narrow:{1:\"J\",2:\"F\",3:\"M\",4:\"A\",5:\"M\",6:\"J\",7:\"J\",8:\"A\",9:\"S\",10:\"O\",11:\"N\",12:\"D\"},wide:{1:\"January\",2:\"February\",3:\"March\",4:\"April\",5:\"May\",6:\"June\",7:\"July\",8:\"August\",9:\"September\",10:\"October\",11:\"November\",12:\"December\"}},\"stand-alone\":{abbreviated:{1:\"Jan\",2:\"Feb\",3:\"Mar\",4:\"Apr\",5:\"May\",6:\"Jun\",7:\"Jul\",8:\"Aug\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Dec\"},narrow:{1:\"J\",2:\"F\",3:\"M\",4:\"A\",5:\"M\",6:\"J\",7:\"J\",8:\"A\",9:\"S\",10:\"O\",11:\"N\",12:\"D\"},wide:{1:\"January\",2:\"February\",3:\"March\",4:\"April\",5:\"May\",6:\"June\",7:\"July\",8:\"August\",9:\"September\",10:\"October\",11:\"November\",12:\"December\"}}},days:{format:{abbreviated:{sun:\"Sun\",mon:\"Mon\",tue:\"Tue\",wed:\"Wed\",thu:\"Thu\",fri:\"Fri\",sat:\"Sat\"},narrow:{sun:\"S\",mon:\"M\",tue:\"T\",wed:\"W\",thu:\"T\",fri:\"F\",sat:\"S\"},short:{sun:\"Su\",mon:\"Mo\",tue:\"Tu\",wed:\"We\",thu:\"Th\",fri:\"Fr\",sat:\"Sa\"},wide:{sun:\"Sunday\",mon:\"Monday\",tue:\"Tuesday\",wed:\"Wednesday\",thu:\"Thursday\",fri:\"Friday\",sat:\"Saturday\"}},\"stand-alone\":{abbreviated:{sun:\"Sun\",mon:\"Mon\",tue:\"Tue\",wed:\"Wed\",thu:\"Thu\",fri:\"Fri\",sat:\"Sat\"},narrow:{sun:\"S\",mon:\"M\",tue:\"T\",wed:\"W\",thu:\"T\",fri:\"F\",sat:\"S\"},short:{sun:\"Su\",mon:\"Mo\",tue:\"Tu\",wed:\"We\",thu:\"Th\",fri:\"Fr\",sat:\"Sa\"},wide:{sun:\"Sunday\",mon:\"Monday\",tue:\"Tuesday\",wed:\"Wednesday\",thu:\"Thursday\",fri:\"Friday\",sat:\"Saturday\"}}},quarters:{format:{abbreviated:{1:\"Q1\",2:\"Q2\",3:\"Q3\",4:\"Q4\"},narrow:{1:\"1\",2:\"2\",3:\"3\",4:\"4\"},wide:{1:\"1st quarter\",2:\"2nd quarter\",3:\"3rd quarter\",4:\"4th quarter\"}},\"stand-alone\":{abbreviated:{1:\"Q1\",2:\"Q2\",3:\"Q3\",4:\"Q4\"},narrow:{1:\"1\",2:\"2\",3:\"3\",4:\"4\"},wide:{1:\"1st quarter\",2:\"2nd quarter\",3:\"3rd quarter\",4:\"4th quarter\"}}},dayPeriods:{format:{abbreviated:{midnight:\"midnight\",am:\"AM\",\"am-alt-variant\":\"am\",noon:\"noon\",pm:\"PM\",\"pm-alt-variant\":\"pm\",morning1:\"in the morning\",afternoon1:\"in the afternoon\",evening1:\"in the evening\",night1:\"at night\"},narrow:{midnight:\"mi\",am:\"a\",\"am-alt-variant\":\"am\",noon:\"n\",pm:\"p\",\"pm-alt-variant\":\"pm\",morning1:\"in the morning\",afternoon1:\"in the afternoon\",evening1:\"in the evening\",night1:\"at night\"},wide:{midnight:\"midnight\",am:\"AM\",\"am-alt-variant\":\"am\",noon:\"noon\",pm:\"PM\",\"pm-alt-variant\":\"pm\",morning1:\"in the morning\",afternoon1:\"in the afternoon\",evening1:\"in the evening\",night1:\"at night\"}},\"stand-alone\":{abbreviated:{midnight:\"midnight\",am:\"AM\",\"am-alt-variant\":\"am\",noon:\"noon\",pm:\"PM\",\"pm-alt-variant\":\"pm\",morning1:\"morning\",afternoon1:\"afternoon\",evening1:\"evening\",night1:\"night\"},narrow:{midnight:\"midnight\",am:\"AM\",\"am-alt-variant\":\"am\",noon:\"noon\",pm:\"PM\",\"pm-alt-variant\":\"pm\",morning1:\"morning\",afternoon1:\"afternoon\",evening1:\"evening\",night1:\"night\"},wide:{midnight:\"midnight\",am:\"AM\",\"am-alt-variant\":\"am\",noon:\"noon\",pm:\"PM\",\"pm-alt-variant\":\"pm\",morning1:\"morning\",afternoon1:\"afternoon\",evening1:\"evening\",night1:\"night\"}}},eras:{eraNames:{0:\"Before Christ\",1:\"Anno Domini\",\"0-alt-variant\":\"Before Common Era\",\"1-alt-variant\":\"Common Era\"},eraAbbr:{0:\"BC\",1:\"AD\",\"0-alt-variant\":\"BCE\",\"1-alt-variant\":\"CE\"},eraNarrow:{0:\"B\",1:\"A\",\"0-alt-variant\":\"BCE\",\"1-alt-variant\":\"CE\"}},dateFormats:{full:\"EEEE, MMMM d, y\",long:\"MMMM d, y\",medium:\"MMM d, y\",short:\"M/d/yy\"},timeFormats:{full:\"h:mm:ss a zzzz\",long:\"h:mm:ss a z\",medium:\"h:mm:ss a\",short:\"h:mm a\"},dateTimeFormats:{full:\"{1} 'at' {0}\",long:\"{1} 'at' {0}\",medium:\"{1}, {0}\",short:\"{1}, {0}\",availableFormats:{Bh:\"h B\",Bhm:\"h:mm B\",Bhms:\"h:mm:ss B\",d:\"d\",E:\"ccc\",EBhm:\"E h:mm B\",EBhms:\"E h:mm:ss B\",Ed:\"d E\",Ehm:\"E h:mm a\",EHm:\"E HH:mm\",Ehms:\"E h:mm:ss a\",EHms:\"E HH:mm:ss\",Gy:\"y G\",GyMMM:\"MMM y G\",GyMMMd:\"MMM d, y G\",GyMMMEd:\"E, MMM d, y G\",h:\"h a\",H:\"HH\",hm:\"h:mm a\",Hm:\"HH:mm\",hms:\"h:mm:ss a\",Hms:\"HH:mm:ss\",hmsv:\"h:mm:ss a v\",Hmsv:\"HH:mm:ss v\",hmv:\"h:mm a v\",Hmv:\"HH:mm v\",M:\"L\",Md:\"M/d\",MEd:\"E, M/d\",MMM:\"LLL\",MMMd:\"MMM d\",MMMEd:\"E, MMM d\",MMMMd:\"MMMM d\",\"MMMMW-count-one\":\"'week' W 'of' MMMM\",\"MMMMW-count-other\":\"'week' W 'of' MMMM\",ms:\"mm:ss\",y:\"y\",yM:\"M/y\",yMd:\"M/d/y\",yMEd:\"E, M/d/y\",yMMM:\"MMM y\",yMMMd:\"MMM d, y\",yMMMEd:\"E, MMM d, y\",yMMMM:\"MMMM y\",yQQQ:\"QQQ y\",yQQQQ:\"QQQQ y\",\"yw-count-one\":\"'week' w 'of' Y\",\"yw-count-other\":\"'week' w 'of' Y\"}}}}},numbers:{defaultNumberingSystem:\"latn\",otherNumberingSystems:{native:\"latn\"},minimumGroupingDigits:\"1\",\"symbols-numberSystem-latn\":{decimal:\".\",group:\",\",list:\";\",percentSign:\"%\",plusSign:\"+\",minusSign:\"-\",exponential:\"E\",superscriptingExponent:\"\\xd7\",perMille:\"\\u2030\",infinity:\"\\u221e\",nan:\"NaN\",timeSeparator:\":\"},\"decimalFormats-numberSystem-latn\":{standard:\"#,##0.###\"},\"scientificFormats-numberSystem-latn\":{standard:\"#E0\"},\"percentFormats-numberSystem-latn\":{standard:\"#,##0%\"},\"currencyFormats-numberSystem-latn\":{currencySpacing:{beforeCurrency:{currencyMatch:\"[:^S:]\",surroundingMatch:\"[:digit:]\",insertBetween:\"\\xa0\"},afterCurrency:{currencyMatch:\"[:^S:]\",surroundingMatch:\"[:digit:]\",insertBetween:\"\\xa0\"}},standard:\"\\xa4#,##0.00\",accounting:\"\\xa4#,##0.00;(\\xa4#,##0.00)\"},currencies:{ADP:{symbol:\"ADP\"},AED:{symbol:\"AED\"},AFA:{symbol:\"AFA\"},AFN:{symbol:\"AFN\"},ALK:{symbol:\"ALK\"},ALL:{symbol:\"ALL\"},AMD:{symbol:\"AMD\"},ANG:{symbol:\"ANG\"},AOA:{symbol:\"AOA\",\"symbol-alt-narrow\":\"Kz\"},AOK:{symbol:\"AOK\"},AON:{symbol:\"AON\"},AOR:{symbol:\"AOR\"},ARA:{symbol:\"ARA\"},ARL:{symbol:\"ARL\"},ARM:{symbol:\"ARM\"},ARP:{symbol:\"ARP\"},ARS:{symbol:\"ARS\",\"symbol-alt-narrow\":\"$\"},ATS:{symbol:\"ATS\"},AUD:{symbol:\"A$\",\"symbol-alt-narrow\":\"$\"},AWG:{symbol:\"AWG\"},AZM:{symbol:\"AZM\"},AZN:{symbol:\"AZN\"},BAD:{symbol:\"BAD\"},BAM:{symbol:\"BAM\",\"symbol-alt-narrow\":\"KM\"},BAN:{symbol:\"BAN\"},BBD:{symbol:\"BBD\",\"symbol-alt-narrow\":\"$\"},BDT:{symbol:\"BDT\",\"symbol-alt-narrow\":\"\\u09f3\"},BEC:{symbol:\"BEC\"},BEF:{symbol:\"BEF\"},BEL:{symbol:\"BEL\"},BGL:{symbol:\"BGL\"},BGM:{symbol:\"BGM\"},BGN:{symbol:\"BGN\"},BGO:{symbol:\"BGO\"},BHD:{symbol:\"BHD\"},BIF:{symbol:\"BIF\"},BMD:{symbol:\"BMD\",\"symbol-alt-narrow\":\"$\"},BND:{symbol:\"BND\",\"symbol-alt-narrow\":\"$\"},BOB:{symbol:\"BOB\",\"symbol-alt-narrow\":\"Bs\"},BOL:{symbol:\"BOL\"},BOP:{symbol:\"BOP\"},BOV:{symbol:\"BOV\"},BRB:{symbol:\"BRB\"},BRC:{symbol:\"BRC\"},BRE:{symbol:\"BRE\"},BRL:{symbol:\"R$\",\"symbol-alt-narrow\":\"R$\"},BRN:{symbol:\"BRN\"},BRR:{symbol:\"BRR\"},BRZ:{symbol:\"BRZ\"},BSD:{symbol:\"BSD\",\"symbol-alt-narrow\":\"$\"},BTN:{symbol:\"BTN\"},BUK:{symbol:\"BUK\"},BWP:{symbol:\"BWP\",\"symbol-alt-narrow\":\"P\"},BYB:{symbol:\"BYB\"},BYN:{symbol:\"BYN\",\"symbol-alt-narrow\":\"\\u0440.\"},BYR:{symbol:\"BYR\"},BZD:{symbol:\"BZD\",\"symbol-alt-narrow\":\"$\"},CAD:{symbol:\"CA$\",\"symbol-alt-narrow\":\"$\"},CDF:{symbol:\"CDF\"},CHE:{symbol:\"CHE\"},CHF:{symbol:\"CHF\"},CHW:{symbol:\"CHW\"},CLE:{symbol:\"CLE\"},CLF:{symbol:\"CLF\"},CLP:{symbol:\"CLP\",\"symbol-alt-narrow\":\"$\"},CNH:{symbol:\"CNH\"},CNX:{symbol:\"CNX\"},CNY:{symbol:\"CN\\xa5\",\"symbol-alt-narrow\":\"\\xa5\"},COP:{symbol:\"COP\",\"symbol-alt-narrow\":\"$\"},COU:{symbol:\"COU\"},CRC:{symbol:\"CRC\",\"symbol-alt-narrow\":\"\\u20a1\"},CSD:{symbol:\"CSD\"},CSK:{symbol:\"CSK\"},CUC:{symbol:\"CUC\",\"symbol-alt-narrow\":\"$\"},CUP:{symbol:\"CUP\",\"symbol-alt-narrow\":\"$\"},CVE:{symbol:\"CVE\"},CYP:{symbol:\"CYP\"},CZK:{symbol:\"CZK\",\"symbol-alt-narrow\":\"K\\u010d\"},DDM:{symbol:\"DDM\"},DEM:{symbol:\"DEM\"},DJF:{symbol:\"DJF\"},DKK:{symbol:\"DKK\",\"symbol-alt-narrow\":\"kr\"},DOP:{symbol:\"DOP\",\"symbol-alt-narrow\":\"$\"},DZD:{symbol:\"DZD\"},ECS:{symbol:\"ECS\"},ECV:{symbol:\"ECV\"},EEK:{symbol:\"EEK\"},EGP:{symbol:\"EGP\",\"symbol-alt-narrow\":\"E\\xa3\"},ERN:{symbol:\"ERN\"},ESA:{symbol:\"ESA\"},ESB:{symbol:\"ESB\"},ESP:{symbol:\"ESP\",\"symbol-alt-narrow\":\"\\u20a7\"},ETB:{symbol:\"ETB\"},EUR:{symbol:\"\\u20ac\",\"symbol-alt-narrow\":\"\\u20ac\"},FIM:{symbol:\"FIM\"},FJD:{symbol:\"FJD\",\"symbol-alt-narrow\":\"$\"},FKP:{symbol:\"FKP\",\"symbol-alt-narrow\":\"\\xa3\"},FRF:{symbol:\"FRF\"},GBP:{symbol:\"\\xa3\",\"symbol-alt-narrow\":\"\\xa3\"},GEK:{symbol:\"GEK\"},GEL:{symbol:\"GEL\",\"symbol-alt-narrow\":\"\\u20be\"},GHC:{symbol:\"GHC\"},GHS:{symbol:\"GHS\"},GIP:{symbol:\"GIP\",\"symbol-alt-narrow\":\"\\xa3\"},GMD:{symbol:\"GMD\"},GNF:{symbol:\"GNF\",\"symbol-alt-narrow\":\"FG\"},GNS:{symbol:\"GNS\"},GQE:{symbol:\"GQE\"},GRD:{symbol:\"GRD\"},GTQ:{symbol:\"GTQ\",\"symbol-alt-narrow\":\"Q\"},GWE:{symbol:\"GWE\"},GWP:{symbol:\"GWP\"},GYD:{symbol:\"GYD\",\"symbol-alt-narrow\":\"$\"},HKD:{symbol:\"HK$\",\"symbol-alt-narrow\":\"$\"},HNL:{symbol:\"HNL\",\"symbol-alt-narrow\":\"L\"},HRD:{symbol:\"HRD\"},HRK:{symbol:\"HRK\",\"symbol-alt-narrow\":\"kn\"},HTG:{symbol:\"HTG\"},HUF:{symbol:\"HUF\",\"symbol-alt-narrow\":\"Ft\"},IDR:{symbol:\"IDR\",\"symbol-alt-narrow\":\"Rp\"},IEP:{symbol:\"IEP\"},ILP:{symbol:\"ILP\"},ILR:{symbol:\"ILR\"},ILS:{symbol:\"\\u20aa\",\"symbol-alt-narrow\":\"\\u20aa\"},INR:{symbol:\"\\u20b9\",\"symbol-alt-narrow\":\"\\u20b9\"},IQD:{symbol:\"IQD\"},IRR:{symbol:\"IRR\"},ISJ:{symbol:\"ISJ\"},ISK:{symbol:\"ISK\",\"symbol-alt-narrow\":\"kr\"},ITL:{symbol:\"ITL\"},JMD:{symbol:\"JMD\",\"symbol-alt-narrow\":\"$\"},JOD:{symbol:\"JOD\"},JPY:{symbol:\"\\xa5\",\"symbol-alt-narrow\":\"\\xa5\"},KES:{symbol:\"KES\"},KGS:{symbol:\"KGS\"},KHR:{symbol:\"KHR\",\"symbol-alt-narrow\":\"\\u17db\"},KMF:{symbol:\"KMF\",\"symbol-alt-narrow\":\"CF\"},KPW:{symbol:\"KPW\",\"symbol-alt-narrow\":\"\\u20a9\"},KRH:{symbol:\"KRH\"},KRO:{symbol:\"KRO\"},KRW:{symbol:\"\\u20a9\",\"symbol-alt-narrow\":\"\\u20a9\"},KWD:{symbol:\"KWD\"},KYD:{symbol:\"KYD\",\"symbol-alt-narrow\":\"$\"},KZT:{symbol:\"KZT\",\"symbol-alt-narrow\":\"\\u20b8\"},LAK:{symbol:\"LAK\",\"symbol-alt-narrow\":\"\\u20ad\"},LBP:{symbol:\"LBP\",\"symbol-alt-narrow\":\"L\\xa3\"},LKR:{symbol:\"LKR\",\"symbol-alt-narrow\":\"Rs\"},LRD:{symbol:\"LRD\",\"symbol-alt-narrow\":\"$\"},LSL:{symbol:\"LSL\"},LTL:{symbol:\"LTL\",\"symbol-alt-narrow\":\"Lt\"},LTT:{symbol:\"LTT\"},LUC:{symbol:\"LUC\"},LUF:{symbol:\"LUF\"},LUL:{symbol:\"LUL\"},LVL:{symbol:\"LVL\",\"symbol-alt-narrow\":\"Ls\"},LVR:{symbol:\"LVR\"},LYD:{symbol:\"LYD\"},MAD:{symbol:\"MAD\"},MAF:{symbol:\"MAF\"},MCF:{symbol:\"MCF\"},MDC:{symbol:\"MDC\"},MDL:{symbol:\"MDL\"},MGA:{symbol:\"MGA\",\"symbol-alt-narrow\":\"Ar\"},MGF:{symbol:\"MGF\"},MKD:{symbol:\"MKD\"},MKN:{symbol:\"MKN\"},MLF:{symbol:\"MLF\"},MMK:{symbol:\"MMK\",\"symbol-alt-narrow\":\"K\"},MNT:{symbol:\"MNT\",\"symbol-alt-narrow\":\"\\u20ae\"},MOP:{symbol:\"MOP\"},MRO:{symbol:\"MRO\"},MRU:{symbol:\"MRU\"},MTL:{symbol:\"MTL\"},MTP:{symbol:\"MTP\"},MUR:{symbol:\"MUR\",\"symbol-alt-narrow\":\"Rs\"},MVP:{symbol:\"MVP\"},MVR:{symbol:\"MVR\"},MWK:{symbol:\"MWK\"},MXN:{symbol:\"MX$\",\"symbol-alt-narrow\":\"$\"},MXP:{symbol:\"MXP\"},MXV:{symbol:\"MXV\"},MYR:{symbol:\"MYR\",\"symbol-alt-narrow\":\"RM\"},MZE:{symbol:\"MZE\"},MZM:{symbol:\"MZM\"},MZN:{symbol:\"MZN\"},NAD:{symbol:\"NAD\",\"symbol-alt-narrow\":\"$\"},NGN:{symbol:\"NGN\",\"symbol-alt-narrow\":\"\\u20a6\"},NIC:{symbol:\"NIC\"},NIO:{symbol:\"NIO\",\"symbol-alt-narrow\":\"C$\"},NLG:{symbol:\"NLG\"},NOK:{symbol:\"NOK\",\"symbol-alt-narrow\":\"kr\"},NPR:{symbol:\"NPR\",\"symbol-alt-narrow\":\"Rs\"},NZD:{symbol:\"NZ$\",\"symbol-alt-narrow\":\"$\"},OMR:{symbol:\"OMR\"},PAB:{symbol:\"PAB\"},PEI:{symbol:\"PEI\"},PEN:{symbol:\"PEN\"},PES:{symbol:\"PES\"},PGK:{symbol:\"PGK\"},PHP:{symbol:\"PHP\",\"symbol-alt-narrow\":\"\\u20b1\"},PKR:{symbol:\"PKR\",\"symbol-alt-narrow\":\"Rs\"},PLN:{symbol:\"PLN\",\"symbol-alt-narrow\":\"z\\u0142\"},PLZ:{symbol:\"PLZ\"},PTE:{symbol:\"PTE\"},PYG:{symbol:\"PYG\",\"symbol-alt-narrow\":\"\\u20b2\"},QAR:{symbol:\"QAR\"},RHD:{symbol:\"RHD\"},ROL:{symbol:\"ROL\"},RON:{symbol:\"RON\",\"symbol-alt-narrow\":\"lei\"},RSD:{symbol:\"RSD\"},RUB:{symbol:\"RUB\",\"symbol-alt-narrow\":\"\\u20bd\"},RUR:{symbol:\"RUR\",\"symbol-alt-narrow\":\"\\u0440.\"},RWF:{symbol:\"RWF\",\"symbol-alt-narrow\":\"RF\"},SAR:{symbol:\"SAR\"},SBD:{symbol:\"SBD\",\"symbol-alt-narrow\":\"$\"},SCR:{symbol:\"SCR\"},SDD:{symbol:\"SDD\"},SDG:{symbol:\"SDG\"},SDP:{symbol:\"SDP\"},SEK:{symbol:\"SEK\",\"symbol-alt-narrow\":\"kr\"},SGD:{symbol:\"SGD\",\"symbol-alt-narrow\":\"$\"},SHP:{symbol:\"SHP\",\"symbol-alt-narrow\":\"\\xa3\"},SIT:{symbol:\"SIT\"},SKK:{symbol:\"SKK\"},SLL:{symbol:\"SLL\"},SOS:{symbol:\"SOS\"},SRD:{symbol:\"SRD\",\"symbol-alt-narrow\":\"$\"},SRG:{symbol:\"SRG\"},SSP:{symbol:\"SSP\",\"symbol-alt-narrow\":\"\\xa3\"},STD:{symbol:\"STD\"},STN:{symbol:\"STN\",\"symbol-alt-narrow\":\"Db\"},SUR:{symbol:\"SUR\"},SVC:{symbol:\"SVC\"},SYP:{symbol:\"SYP\",\"symbol-alt-narrow\":\"\\xa3\"},SZL:{symbol:\"SZL\"},THB:{symbol:\"THB\",\"symbol-alt-narrow\":\"\\u0e3f\"},TJR:{symbol:\"TJR\"},TJS:{symbol:\"TJS\"},TMM:{symbol:\"TMM\"},TMT:{symbol:\"TMT\"},TND:{symbol:\"TND\"},TOP:{symbol:\"TOP\",\"symbol-alt-narrow\":\"T$\"},TPE:{symbol:\"TPE\"},TRL:{symbol:\"TRL\"},TRY:{symbol:\"TRY\",\"symbol-alt-narrow\":\"\\u20ba\"},TTD:{symbol:\"TTD\",\"symbol-alt-narrow\":\"$\"},TWD:{symbol:\"NT$\",\"symbol-alt-narrow\":\"$\"},TZS:{symbol:\"TZS\"},UAH:{symbol:\"UAH\",\"symbol-alt-narrow\":\"\\u20b4\"},UAK:{symbol:\"UAK\"},UGS:{symbol:\"UGS\"},UGX:{symbol:\"UGX\"},USD:{symbol:\"$\",\"symbol-alt-narrow\":\"$\"},USN:{symbol:\"USN\"},USS:{symbol:\"USS\"},UYI:{symbol:\"UYI\"},UYP:{symbol:\"UYP\"},UYU:{symbol:\"UYU\",\"symbol-alt-narrow\":\"$\"},UYW:{symbol:\"UYW\"},UZS:{symbol:\"UZS\"},VEB:{symbol:\"VEB\"},VEF:{symbol:\"VEF\",\"symbol-alt-narrow\":\"Bs\"},VES:{symbol:\"VES\"},VND:{symbol:\"\\u20ab\",\"symbol-alt-narrow\":\"\\u20ab\"},VNN:{symbol:\"VNN\"},VUV:{symbol:\"VUV\"},WST:{symbol:\"WST\"},XAF:{symbol:\"FCFA\"},XAG:{symbol:\"XAG\"},XAU:{symbol:\"XAU\"},XBA:{symbol:\"XBA\"},XBB:{symbol:\"XBB\"},XBC:{symbol:\"XBC\"},XBD:{symbol:\"XBD\"},XCD:{symbol:\"EC$\",\"symbol-alt-narrow\":\"$\"},XDR:{symbol:\"XDR\"},XEU:{symbol:\"XEU\"},XFO:{symbol:\"XFO\"},XFU:{symbol:\"XFU\"},XOF:{symbol:\"CFA\"},XPD:{symbol:\"XPD\"},XPF:{symbol:\"CFPF\"},XPT:{symbol:\"XPT\"},XRE:{symbol:\"XRE\"},XSU:{symbol:\"XSU\"},XTS:{symbol:\"XTS\"},XUA:{symbol:\"XUA\"},XXX:{symbol:\"\\xa4\"},YDD:{symbol:\"YDD\"},YER:{symbol:\"YER\"},YUD:{symbol:\"YUD\"},YUM:{symbol:\"YUM\"},YUN:{symbol:\"YUN\"},YUR:{symbol:\"YUR\"},ZAL:{symbol:\"ZAL\"},ZAR:{symbol:\"ZAR\",\"symbol-alt-narrow\":\"R\"},ZMK:{symbol:\"ZMK\"},ZMW:{symbol:\"ZMW\",\"symbol-alt-narrow\":\"ZK\"},ZRN:{symbol:\"ZRN\"},ZRZ:{symbol:\"ZRZ\"},ZWD:{symbol:\"ZWD\"},ZWL:{symbol:\"ZWL\"},ZWR:{symbol:\"ZWR\"}}}}}}},92286:function(e,t){t.default=void 0;t.default={\"af-NA\":1,agq:1,ak:1,ar:6,\"ar-EH\":1,\"ar-ER\":1,\"ar-KM\":1,\"ar-LB\":1,\"ar-MA\":1,\"ar-MR\":1,\"ar-PS\":1,\"ar-SO\":1,\"ar-SS\":1,\"ar-TD\":1,\"ar-TN\":1,asa:1,ast:1,az:1,\"az-Cyrl\":1,bas:1,be:1,bem:1,bez:1,bg:1,bm:1,br:1,bs:1,\"bs-Cyrl\":1,ca:1,ce:1,cgg:1,ckb:6,cs:1,cy:1,da:1,de:1,dje:1,dsb:1,dua:1,dyo:1,ee:1,el:1,\"en-001\":1,\"en-AE\":6,\"en-BI\":1,\"en-MP\":1,\"en-MV\":5,\"en-SD\":6,eo:1,es:1,et:1,eu:1,ewo:1,fa:6,ff:1,\"ff-Adlm\":1,fi:1,fo:1,fr:1,\"fr-DJ\":6,\"fr-DZ\":6,\"fr-SY\":6,fur:1,fy:1,ga:1,gd:1,gl:1,gsw:1,gv:1,ha:1,hr:1,hsb:1,hu:1,hy:1,ia:1,ig:1,is:1,it:1,jgo:1,jmc:1,ka:1,kab:6,kde:1,kea:1,khq:1,kk:1,kkj:1,kl:1,\"ko-KP\":1,ksb:1,ksf:1,ksh:1,ku:1,kw:1,ky:1,lag:1,lb:1,lg:1,ln:1,lrc:6,lt:1,lu:1,lv:1,\"mas-TZ\":1,mfe:1,mg:1,mgo:1,mi:1,mk:1,mn:1,ms:1,mua:1,mzn:6,naq:1,nds:1,nl:1,nmg:1,nnh:1,no:1,nus:1,nyn:1,os:1,pcm:1,pl:1,ps:6,\"pt-AO\":1,\"pt-CH\":1,\"pt-CV\":1,\"pt-GQ\":1,\"pt-GW\":1,\"pt-LU\":1,\"pt-ST\":1,\"pt-TL\":1,\"qu-BO\":1,\"qu-EC\":1,rm:1,rn:1,ro:1,rof:1,ru:1,rw:1,rwk:1,sah:1,sbp:1,sc:1,se:1,ses:1,sg:1,shi:1,\"shi-Latn\":1,si:1,sk:1,sl:1,smn:1,so:1,\"so-DJ\":6,sq:1,sr:1,\"sr-Latn\":1,sv:1,sw:1,\"ta-LK\":1,\"ta-MY\":1,teo:1,tg:1,\"ti-ER\":1,tk:1,to:1,tr:1,tt:1,twq:1,tzm:1,uk:1,uz:1,\"uz-Arab\":6,\"uz-Cyrl\":1,vai:1,\"vai-Latn\":1,vi:1,vun:1,wae:1,wo:1,xog:1,yav:1,yi:1,yo:1,zgh:1},e.exports=t.default,e.exports.default=t.default},73806:function(e,t){t.default=void 0;t.default={\"en-150\":\"en-001\",\"en-AG\":\"en-001\",\"en-AI\":\"en-001\",\"en-AU\":\"en-001\",\"en-BB\":\"en-001\",\"en-BM\":\"en-001\",\"en-BS\":\"en-001\",\"en-BW\":\"en-001\",\"en-BZ\":\"en-001\",\"en-CC\":\"en-001\",\"en-CK\":\"en-001\",\"en-CM\":\"en-001\",\"en-CX\":\"en-001\",\"en-CY\":\"en-001\",\"en-DG\":\"en-001\",\"en-DM\":\"en-001\",\"en-ER\":\"en-001\",\"en-FJ\":\"en-001\",\"en-FK\":\"en-001\",\"en-FM\":\"en-001\",\"en-GB\":\"en-001\",\"en-GD\":\"en-001\",\"en-GG\":\"en-001\",\"en-GH\":\"en-001\",\"en-GI\":\"en-001\",\"en-GM\":\"en-001\",\"en-GY\":\"en-001\",\"en-HK\":\"en-001\",\"en-IE\":\"en-001\",\"en-IL\":\"en-001\",\"en-IM\":\"en-001\",\"en-IN\":\"en-001\",\"en-IO\":\"en-001\",\"en-JE\":\"en-001\",\"en-JM\":\"en-001\",\"en-KE\":\"en-001\",\"en-KI\":\"en-001\",\"en-KN\":\"en-001\",\"en-KY\":\"en-001\",\"en-LC\":\"en-001\",\"en-LR\":\"en-001\",\"en-LS\":\"en-001\",\"en-MG\":\"en-001\",\"en-MO\":\"en-001\",\"en-MS\":\"en-001\",\"en-MT\":\"en-001\",\"en-MU\":\"en-001\",\"en-MV\":\"en-001\",\"en-MW\":\"en-001\",\"en-MY\":\"en-001\",\"en-NA\":\"en-001\",\"en-NF\":\"en-001\",\"en-NG\":\"en-001\",\"en-NR\":\"en-001\",\"en-NU\":\"en-001\",\"en-NZ\":\"en-001\",\"en-PG\":\"en-001\",\"en-PK\":\"en-001\",\"en-PN\":\"en-001\",\"en-PW\":\"en-001\",\"en-RW\":\"en-001\",\"en-SB\":\"en-001\",\"en-SC\":\"en-001\",\"en-SD\":\"en-001\",\"en-SG\":\"en-001\",\"en-SH\":\"en-001\",\"en-SL\":\"en-001\",\"en-SS\":\"en-001\",\"en-SX\":\"en-001\",\"en-SZ\":\"en-001\",\"en-TC\":\"en-001\",\"en-TK\":\"en-001\",\"en-TO\":\"en-001\",\"en-TT\":\"en-001\",\"en-TV\":\"en-001\",\"en-TZ\":\"en-001\",\"en-UG\":\"en-001\",\"en-VC\":\"en-001\",\"en-VG\":\"en-001\",\"en-VU\":\"en-001\",\"en-WS\":\"en-001\",\"en-ZA\":\"en-001\",\"en-ZM\":\"en-001\",\"en-ZW\":\"en-001\",\"en-AT\":\"en-150\",\"en-BE\":\"en-150\",\"en-CH\":\"en-150\",\"en-DE\":\"en-150\",\"en-DK\":\"en-150\",\"en-FI\":\"en-150\",\"en-NL\":\"en-150\",\"en-SE\":\"en-150\",\"en-SI\":\"en-150\",\"hi-Latn\":\"en-IN\",\"es-AR\":\"es-419\",\"es-BO\":\"es-419\",\"es-BR\":\"es-419\",\"es-BZ\":\"es-419\",\"es-CL\":\"es-419\",\"es-CO\":\"es-419\",\"es-CR\":\"es-419\",\"es-CU\":\"es-419\",\"es-DO\":\"es-419\",\"es-EC\":\"es-419\",\"es-GT\":\"es-419\",\"es-HN\":\"es-419\",\"es-MX\":\"es-419\",\"es-NI\":\"es-419\",\"es-PA\":\"es-419\",\"es-PE\":\"es-419\",\"es-PR\":\"es-419\",\"es-PY\":\"es-419\",\"es-SV\":\"es-419\",\"es-US\":\"es-419\",\"es-UY\":\"es-419\",\"es-VE\":\"es-419\",nb:\"no\",nn:\"no\",\"pt-AO\":\"pt-PT\",\"pt-CH\":\"pt-PT\",\"pt-CV\":\"pt-PT\",\"pt-FR\":\"pt-PT\",\"pt-GQ\":\"pt-PT\",\"pt-GW\":\"pt-PT\",\"pt-LU\":\"pt-PT\",\"pt-MO\":\"pt-PT\",\"pt-MZ\":\"pt-PT\",\"pt-ST\":\"pt-PT\",\"pt-TL\":\"pt-PT\",\"az-Arab\":\"und\",\"az-Cyrl\":\"und\",\"bal-Latn\":\"und\",\"blt-Latn\":\"und\",\"bm-Nkoo\":\"und\",\"bs-Cyrl\":\"und\",\"byn-Latn\":\"und\",\"cu-Glag\":\"und\",\"dje-Arab\":\"und\",\"dyo-Arab\":\"und\",\"en-Dsrt\":\"und\",\"en-Shaw\":\"und\",\"ff-Adlm\":\"und\",\"ff-Arab\":\"und\",\"ha-Arab\":\"und\",\"iu-Latn\":\"und\",\"kk-Arab\":\"und\",\"ks-Deva\":\"und\",\"ku-Arab\":\"und\",\"ky-Arab\":\"und\",\"ky-Latn\":\"und\",\"ml-Arab\":\"und\",\"mn-Mong\":\"und\",\"mni-Mtei\":\"und\",\"ms-Arab\":\"und\",\"pa-Arab\":\"und\",\"sat-Deva\":\"und\",\"sd-Deva\":\"und\",\"sd-Khoj\":\"und\",\"sd-Sind\":\"und\",\"shi-Latn\":\"und\",\"so-Arab\":\"und\",\"sr-Latn\":\"und\",\"sw-Arab\":\"und\",\"tg-Arab\":\"und\",\"ug-Cyrl\":\"und\",\"uz-Arab\":\"und\",\"uz-Cyrl\":\"und\",\"vai-Latn\":\"und\",\"wo-Arab\":\"und\",\"yo-Arab\":\"und\",\"yue-Hans\":\"und\",\"zh-Hant\":\"und\",\"zh-Hant-MO\":\"zh-Hant-HK\"},e.exports=t.default,e.exports.default=t.default},57421:function(e,t){t.supplementalCldr=void 0;t.supplementalCldr={supplemental:{version:{_unicodeVersion:\"12.1.0\",_cldrVersion:\"36\"},likelySubtags:{aa:\"aa-Latn-ET\",aai:\"aai-Latn-ZZ\",aak:\"aak-Latn-ZZ\",aau:\"aau-Latn-ZZ\",ab:\"ab-Cyrl-GE\",abi:\"abi-Latn-ZZ\",abq:\"abq-Cyrl-ZZ\",abr:\"abr-Latn-GH\",abt:\"abt-Latn-ZZ\",aby:\"aby-Latn-ZZ\",acd:\"acd-Latn-ZZ\",ace:\"ace-Latn-ID\",ach:\"ach-Latn-UG\",ada:\"ada-Latn-GH\",ade:\"ade-Latn-ZZ\",adj:\"adj-Latn-ZZ\",adp:\"adp-Tibt-BT\",ady:\"ady-Cyrl-RU\",adz:\"adz-Latn-ZZ\",ae:\"ae-Avst-IR\",aeb:\"aeb-Arab-TN\",aey:\"aey-Latn-ZZ\",af:\"af-Latn-ZA\",agc:\"agc-Latn-ZZ\",agd:\"agd-Latn-ZZ\",agg:\"agg-Latn-ZZ\",agm:\"agm-Latn-ZZ\",ago:\"ago-Latn-ZZ\",agq:\"agq-Latn-CM\",aha:\"aha-Latn-ZZ\",ahl:\"ahl-Latn-ZZ\",aho:\"aho-Ahom-IN\",ajg:\"ajg-Latn-ZZ\",ak:\"ak-Latn-GH\",akk:\"akk-Xsux-IQ\",ala:\"ala-Latn-ZZ\",ali:\"ali-Latn-ZZ\",aln:\"aln-Latn-XK\",alt:\"alt-Cyrl-RU\",am:\"am-Ethi-ET\",amm:\"amm-Latn-ZZ\",amn:\"amn-Latn-ZZ\",amo:\"amo-Latn-NG\",amp:\"amp-Latn-ZZ\",an:\"an-Latn-ES\",anc:\"anc-Latn-ZZ\",ank:\"ank-Latn-ZZ\",ann:\"ann-Latn-ZZ\",any:\"any-Latn-ZZ\",aoj:\"aoj-Latn-ZZ\",aom:\"aom-Latn-ZZ\",aoz:\"aoz-Latn-ID\",apc:\"apc-Arab-ZZ\",apd:\"apd-Arab-TG\",ape:\"ape-Latn-ZZ\",apr:\"apr-Latn-ZZ\",aps:\"aps-Latn-ZZ\",apz:\"apz-Latn-ZZ\",ar:\"ar-Arab-EG\",arc:\"arc-Armi-IR\",\"arc-Nbat\":\"arc-Nbat-JO\",\"arc-Palm\":\"arc-Palm-SY\",arh:\"arh-Latn-ZZ\",arn:\"arn-Latn-CL\",aro:\"aro-Latn-BO\",arq:\"arq-Arab-DZ\",ars:\"ars-Arab-SA\",ary:\"ary-Arab-MA\",arz:\"arz-Arab-EG\",as:\"as-Beng-IN\",asa:\"asa-Latn-TZ\",ase:\"ase-Sgnw-US\",asg:\"asg-Latn-ZZ\",aso:\"aso-Latn-ZZ\",ast:\"ast-Latn-ES\",ata:\"ata-Latn-ZZ\",atg:\"atg-Latn-ZZ\",atj:\"atj-Latn-CA\",auy:\"auy-Latn-ZZ\",av:\"av-Cyrl-RU\",avl:\"avl-Arab-ZZ\",avn:\"avn-Latn-ZZ\",avt:\"avt-Latn-ZZ\",avu:\"avu-Latn-ZZ\",awa:\"awa-Deva-IN\",awb:\"awb-Latn-ZZ\",awo:\"awo-Latn-ZZ\",awx:\"awx-Latn-ZZ\",ay:\"ay-Latn-BO\",ayb:\"ayb-Latn-ZZ\",az:\"az-Latn-AZ\",\"az-Arab\":\"az-Arab-IR\",\"az-IQ\":\"az-Arab-IQ\",\"az-IR\":\"az-Arab-IR\",\"az-RU\":\"az-Cyrl-RU\",ba:\"ba-Cyrl-RU\",bal:\"bal-Arab-PK\",ban:\"ban-Latn-ID\",bap:\"bap-Deva-NP\",bar:\"bar-Latn-AT\",bas:\"bas-Latn-CM\",bav:\"bav-Latn-ZZ\",bax:\"bax-Bamu-CM\",bba:\"bba-Latn-ZZ\",bbb:\"bbb-Latn-ZZ\",bbc:\"bbc-Latn-ID\",bbd:\"bbd-Latn-ZZ\",bbj:\"bbj-Latn-CM\",bbp:\"bbp-Latn-ZZ\",bbr:\"bbr-Latn-ZZ\",bcf:\"bcf-Latn-ZZ\",bch:\"bch-Latn-ZZ\",bci:\"bci-Latn-CI\",bcm:\"bcm-Latn-ZZ\",bcn:\"bcn-Latn-ZZ\",bco:\"bco-Latn-ZZ\",bcq:\"bcq-Ethi-ZZ\",bcu:\"bcu-Latn-ZZ\",bdd:\"bdd-Latn-ZZ\",be:\"be-Cyrl-BY\",bef:\"bef-Latn-ZZ\",beh:\"beh-Latn-ZZ\",bej:\"bej-Arab-SD\",bem:\"bem-Latn-ZM\",bet:\"bet-Latn-ZZ\",bew:\"bew-Latn-ID\",bex:\"bex-Latn-ZZ\",bez:\"bez-Latn-TZ\",bfd:\"bfd-Latn-CM\",bfq:\"bfq-Taml-IN\",bft:\"bft-Arab-PK\",bfy:\"bfy-Deva-IN\",bg:\"bg-Cyrl-BG\",bgc:\"bgc-Deva-IN\",bgn:\"bgn-Arab-PK\",bgx:\"bgx-Grek-TR\",bhb:\"bhb-Deva-IN\",bhg:\"bhg-Latn-ZZ\",bhi:\"bhi-Deva-IN\",bhl:\"bhl-Latn-ZZ\",bho:\"bho-Deva-IN\",bhy:\"bhy-Latn-ZZ\",bi:\"bi-Latn-VU\",bib:\"bib-Latn-ZZ\",big:\"big-Latn-ZZ\",bik:\"bik-Latn-PH\",bim:\"bim-Latn-ZZ\",bin:\"bin-Latn-NG\",bio:\"bio-Latn-ZZ\",biq:\"biq-Latn-ZZ\",bjh:\"bjh-Latn-ZZ\",bji:\"bji-Ethi-ZZ\",bjj:\"bjj-Deva-IN\",bjn:\"bjn-Latn-ID\",bjo:\"bjo-Latn-ZZ\",bjr:\"bjr-Latn-ZZ\",bjt:\"bjt-Latn-SN\",bjz:\"bjz-Latn-ZZ\",bkc:\"bkc-Latn-ZZ\",bkm:\"bkm-Latn-CM\",bkq:\"bkq-Latn-ZZ\",bku:\"bku-Latn-PH\",bkv:\"bkv-Latn-ZZ\",blt:\"blt-Tavt-VN\",bm:\"bm-Latn-ML\",bmh:\"bmh-Latn-ZZ\",bmk:\"bmk-Latn-ZZ\",bmq:\"bmq-Latn-ML\",bmu:\"bmu-Latn-ZZ\",bn:\"bn-Beng-BD\",bng:\"bng-Latn-ZZ\",bnm:\"bnm-Latn-ZZ\",bnp:\"bnp-Latn-ZZ\",bo:\"bo-Tibt-CN\",boj:\"boj-Latn-ZZ\",bom:\"bom-Latn-ZZ\",bon:\"bon-Latn-ZZ\",bpy:\"bpy-Beng-IN\",bqc:\"bqc-Latn-ZZ\",bqi:\"bqi-Arab-IR\",bqp:\"bqp-Latn-ZZ\",bqv:\"bqv-Latn-CI\",br:\"br-Latn-FR\",bra:\"bra-Deva-IN\",brh:\"brh-Arab-PK\",brx:\"brx-Deva-IN\",brz:\"brz-Latn-ZZ\",bs:\"bs-Latn-BA\",bsj:\"bsj-Latn-ZZ\",bsq:\"bsq-Bass-LR\",bss:\"bss-Latn-CM\",bst:\"bst-Ethi-ZZ\",bto:\"bto-Latn-PH\",btt:\"btt-Latn-ZZ\",btv:\"btv-Deva-PK\",bua:\"bua-Cyrl-RU\",buc:\"buc-Latn-YT\",bud:\"bud-Latn-ZZ\",bug:\"bug-Latn-ID\",buk:\"buk-Latn-ZZ\",bum:\"bum-Latn-CM\",buo:\"buo-Latn-ZZ\",bus:\"bus-Latn-ZZ\",buu:\"buu-Latn-ZZ\",bvb:\"bvb-Latn-GQ\",bwd:\"bwd-Latn-ZZ\",bwr:\"bwr-Latn-ZZ\",bxh:\"bxh-Latn-ZZ\",bye:\"bye-Latn-ZZ\",byn:\"byn-Ethi-ER\",byr:\"byr-Latn-ZZ\",bys:\"bys-Latn-ZZ\",byv:\"byv-Latn-CM\",byx:\"byx-Latn-ZZ\",bza:\"bza-Latn-ZZ\",bze:\"bze-Latn-ML\",bzf:\"bzf-Latn-ZZ\",bzh:\"bzh-Latn-ZZ\",bzw:\"bzw-Latn-ZZ\",ca:\"ca-Latn-ES\",can:\"can-Latn-ZZ\",cbj:\"cbj-Latn-ZZ\",cch:\"cch-Latn-NG\",ccp:\"ccp-Cakm-BD\",ce:\"ce-Cyrl-RU\",ceb:\"ceb-Latn-PH\",cfa:\"cfa-Latn-ZZ\",cgg:\"cgg-Latn-UG\",ch:\"ch-Latn-GU\",chk:\"chk-Latn-FM\",chm:\"chm-Cyrl-RU\",cho:\"cho-Latn-US\",chp:\"chp-Latn-CA\",chr:\"chr-Cher-US\",cic:\"cic-Latn-US\",cja:\"cja-Arab-KH\",cjm:\"cjm-Cham-VN\",cjv:\"cjv-Latn-ZZ\",ckb:\"ckb-Arab-IQ\",ckl:\"ckl-Latn-ZZ\",cko:\"cko-Latn-ZZ\",cky:\"cky-Latn-ZZ\",cla:\"cla-Latn-ZZ\",cme:\"cme-Latn-ZZ\",cmg:\"cmg-Soyo-MN\",co:\"co-Latn-FR\",cop:\"cop-Copt-EG\",cps:\"cps-Latn-PH\",cr:\"cr-Cans-CA\",crh:\"crh-Cyrl-UA\",crj:\"crj-Cans-CA\",crk:\"crk-Cans-CA\",crl:\"crl-Cans-CA\",crm:\"crm-Cans-CA\",crs:\"crs-Latn-SC\",cs:\"cs-Latn-CZ\",csb:\"csb-Latn-PL\",csw:\"csw-Cans-CA\",ctd:\"ctd-Pauc-MM\",cu:\"cu-Cyrl-RU\",\"cu-Glag\":\"cu-Glag-BG\",cv:\"cv-Cyrl-RU\",cy:\"cy-Latn-GB\",da:\"da-Latn-DK\",dad:\"dad-Latn-ZZ\",daf:\"daf-Latn-ZZ\",dag:\"dag-Latn-ZZ\",dah:\"dah-Latn-ZZ\",dak:\"dak-Latn-US\",dar:\"dar-Cyrl-RU\",dav:\"dav-Latn-KE\",dbd:\"dbd-Latn-ZZ\",dbq:\"dbq-Latn-ZZ\",dcc:\"dcc-Arab-IN\",ddn:\"ddn-Latn-ZZ\",de:\"de-Latn-DE\",ded:\"ded-Latn-ZZ\",den:\"den-Latn-CA\",dga:\"dga-Latn-ZZ\",dgh:\"dgh-Latn-ZZ\",dgi:\"dgi-Latn-ZZ\",dgl:\"dgl-Arab-ZZ\",dgr:\"dgr-Latn-CA\",dgz:\"dgz-Latn-ZZ\",dia:\"dia-Latn-ZZ\",dje:\"dje-Latn-NE\",dnj:\"dnj-Latn-CI\",dob:\"dob-Latn-ZZ\",doi:\"doi-Arab-IN\",dop:\"dop-Latn-ZZ\",dow:\"dow-Latn-ZZ\",drh:\"drh-Mong-CN\",dri:\"dri-Latn-ZZ\",drs:\"drs-Ethi-ZZ\",dsb:\"dsb-Latn-DE\",dtm:\"dtm-Latn-ML\",dtp:\"dtp-Latn-MY\",dts:\"dts-Latn-ZZ\",dty:\"dty-Deva-NP\",dua:\"dua-Latn-CM\",duc:\"duc-Latn-ZZ\",dud:\"dud-Latn-ZZ\",dug:\"dug-Latn-ZZ\",dv:\"dv-Thaa-MV\",dva:\"dva-Latn-ZZ\",dww:\"dww-Latn-ZZ\",dyo:\"dyo-Latn-SN\",dyu:\"dyu-Latn-BF\",dz:\"dz-Tibt-BT\",dzg:\"dzg-Latn-ZZ\",ebu:\"ebu-Latn-KE\",ee:\"ee-Latn-GH\",efi:\"efi-Latn-NG\",egl:\"egl-Latn-IT\",egy:\"egy-Egyp-EG\",eka:\"eka-Latn-ZZ\",eky:\"eky-Kali-MM\",el:\"el-Grek-GR\",ema:\"ema-Latn-ZZ\",emi:\"emi-Latn-ZZ\",en:\"en-Latn-US\",\"en-Shaw\":\"en-Shaw-GB\",enn:\"enn-Latn-ZZ\",enq:\"enq-Latn-ZZ\",eo:\"eo-Latn-001\",eri:\"eri-Latn-ZZ\",es:\"es-Latn-ES\",esg:\"esg-Gonm-IN\",esu:\"esu-Latn-US\",et:\"et-Latn-EE\",etr:\"etr-Latn-ZZ\",ett:\"ett-Ital-IT\",etu:\"etu-Latn-ZZ\",etx:\"etx-Latn-ZZ\",eu:\"eu-Latn-ES\",ewo:\"ewo-Latn-CM\",ext:\"ext-Latn-ES\",fa:\"fa-Arab-IR\",faa:\"faa-Latn-ZZ\",fab:\"fab-Latn-ZZ\",fag:\"fag-Latn-ZZ\",fai:\"fai-Latn-ZZ\",fan:\"fan-Latn-GQ\",ff:\"ff-Latn-SN\",\"ff-Adlm\":\"ff-Adlm-GN\",ffi:\"ffi-Latn-ZZ\",ffm:\"ffm-Latn-ML\",fi:\"fi-Latn-FI\",fia:\"fia-Arab-SD\",fil:\"fil-Latn-PH\",fit:\"fit-Latn-SE\",fj:\"fj-Latn-FJ\",flr:\"flr-Latn-ZZ\",fmp:\"fmp-Latn-ZZ\",fo:\"fo-Latn-FO\",fod:\"fod-Latn-ZZ\",fon:\"fon-Latn-BJ\",for:\"for-Latn-ZZ\",fpe:\"fpe-Latn-ZZ\",fqs:\"fqs-Latn-ZZ\",fr:\"fr-Latn-FR\",frc:\"frc-Latn-US\",frp:\"frp-Latn-FR\",frr:\"frr-Latn-DE\",frs:\"frs-Latn-DE\",fub:\"fub-Arab-CM\",fud:\"fud-Latn-WF\",fue:\"fue-Latn-ZZ\",fuf:\"fuf-Latn-GN\",fuh:\"fuh-Latn-ZZ\",fuq:\"fuq-Latn-NE\",fur:\"fur-Latn-IT\",fuv:\"fuv-Latn-NG\",fuy:\"fuy-Latn-ZZ\",fvr:\"fvr-Latn-SD\",fy:\"fy-Latn-NL\",ga:\"ga-Latn-IE\",gaa:\"gaa-Latn-GH\",gaf:\"gaf-Latn-ZZ\",gag:\"gag-Latn-MD\",gah:\"gah-Latn-ZZ\",gaj:\"gaj-Latn-ZZ\",gam:\"gam-Latn-ZZ\",gan:\"gan-Hans-CN\",gaw:\"gaw-Latn-ZZ\",gay:\"gay-Latn-ID\",gba:\"gba-Latn-ZZ\",gbf:\"gbf-Latn-ZZ\",gbm:\"gbm-Deva-IN\",gby:\"gby-Latn-ZZ\",gbz:\"gbz-Arab-IR\",gcr:\"gcr-Latn-GF\",gd:\"gd-Latn-GB\",gde:\"gde-Latn-ZZ\",gdn:\"gdn-Latn-ZZ\",gdr:\"gdr-Latn-ZZ\",geb:\"geb-Latn-ZZ\",gej:\"gej-Latn-ZZ\",gel:\"gel-Latn-ZZ\",gez:\"gez-Ethi-ET\",gfk:\"gfk-Latn-ZZ\",ggn:\"ggn-Deva-NP\",ghs:\"ghs-Latn-ZZ\",gil:\"gil-Latn-KI\",gim:\"gim-Latn-ZZ\",gjk:\"gjk-Arab-PK\",gjn:\"gjn-Latn-ZZ\",gju:\"gju-Arab-PK\",gkn:\"gkn-Latn-ZZ\",gkp:\"gkp-Latn-ZZ\",gl:\"gl-Latn-ES\",glk:\"glk-Arab-IR\",gmm:\"gmm-Latn-ZZ\",gmv:\"gmv-Ethi-ZZ\",gn:\"gn-Latn-PY\",gnd:\"gnd-Latn-ZZ\",gng:\"gng-Latn-ZZ\",god:\"god-Latn-ZZ\",gof:\"gof-Ethi-ZZ\",goi:\"goi-Latn-ZZ\",gom:\"gom-Deva-IN\",gon:\"gon-Telu-IN\",gor:\"gor-Latn-ID\",gos:\"gos-Latn-NL\",got:\"got-Goth-UA\",grb:\"grb-Latn-ZZ\",grc:\"grc-Cprt-CY\",\"grc-Linb\":\"grc-Linb-GR\",grt:\"grt-Beng-IN\",grw:\"grw-Latn-ZZ\",gsw:\"gsw-Latn-CH\",gu:\"gu-Gujr-IN\",gub:\"gub-Latn-BR\",guc:\"guc-Latn-CO\",gud:\"gud-Latn-ZZ\",gur:\"gur-Latn-GH\",guw:\"guw-Latn-ZZ\",gux:\"gux-Latn-ZZ\",guz:\"guz-Latn-KE\",gv:\"gv-Latn-IM\",gvf:\"gvf-Latn-ZZ\",gvr:\"gvr-Deva-NP\",gvs:\"gvs-Latn-ZZ\",gwc:\"gwc-Arab-ZZ\",gwi:\"gwi-Latn-CA\",gwt:\"gwt-Arab-ZZ\",gyi:\"gyi-Latn-ZZ\",ha:\"ha-Latn-NG\",\"ha-CM\":\"ha-Arab-CM\",\"ha-SD\":\"ha-Arab-SD\",hag:\"hag-Latn-ZZ\",hak:\"hak-Hans-CN\",ham:\"ham-Latn-ZZ\",haw:\"haw-Latn-US\",haz:\"haz-Arab-AF\",hbb:\"hbb-Latn-ZZ\",hdy:\"hdy-Ethi-ZZ\",he:\"he-Hebr-IL\",hhy:\"hhy-Latn-ZZ\",hi:\"hi-Deva-IN\",hia:\"hia-Latn-ZZ\",hif:\"hif-Latn-FJ\",hig:\"hig-Latn-ZZ\",hih:\"hih-Latn-ZZ\",hil:\"hil-Latn-PH\",hla:\"hla-Latn-ZZ\",hlu:\"hlu-Hluw-TR\",hmd:\"hmd-Plrd-CN\",hmt:\"hmt-Latn-ZZ\",hnd:\"hnd-Arab-PK\",hne:\"hne-Deva-IN\",hnj:\"hnj-Hmng-LA\",hnn:\"hnn-Latn-PH\",hno:\"hno-Arab-PK\",ho:\"ho-Latn-PG\",hoc:\"hoc-Deva-IN\",hoj:\"hoj-Deva-IN\",hot:\"hot-Latn-ZZ\",hr:\"hr-Latn-HR\",hsb:\"hsb-Latn-DE\",hsn:\"hsn-Hans-CN\",ht:\"ht-Latn-HT\",hu:\"hu-Latn-HU\",hui:\"hui-Latn-ZZ\",hy:\"hy-Armn-AM\",hz:\"hz-Latn-NA\",ia:\"ia-Latn-001\",ian:\"ian-Latn-ZZ\",iar:\"iar-Latn-ZZ\",iba:\"iba-Latn-MY\",ibb:\"ibb-Latn-NG\",iby:\"iby-Latn-ZZ\",ica:\"ica-Latn-ZZ\",ich:\"ich-Latn-ZZ\",id:\"id-Latn-ID\",idd:\"idd-Latn-ZZ\",idi:\"idi-Latn-ZZ\",idu:\"idu-Latn-ZZ\",ife:\"ife-Latn-TG\",ig:\"ig-Latn-NG\",igb:\"igb-Latn-ZZ\",ige:\"ige-Latn-ZZ\",ii:\"ii-Yiii-CN\",ijj:\"ijj-Latn-ZZ\",ik:\"ik-Latn-US\",ikk:\"ikk-Latn-ZZ\",ikt:\"ikt-Latn-CA\",ikw:\"ikw-Latn-ZZ\",ikx:\"ikx-Latn-ZZ\",ilo:\"ilo-Latn-PH\",imo:\"imo-Latn-ZZ\",in:\"in-Latn-ID\",inh:\"inh-Cyrl-RU\",io:\"io-Latn-001\",iou:\"iou-Latn-ZZ\",iri:\"iri-Latn-ZZ\",is:\"is-Latn-IS\",it:\"it-Latn-IT\",iu:\"iu-Cans-CA\",iw:\"iw-Hebr-IL\",iwm:\"iwm-Latn-ZZ\",iws:\"iws-Latn-ZZ\",izh:\"izh-Latn-RU\",izi:\"izi-Latn-ZZ\",ja:\"ja-Jpan-JP\",jab:\"jab-Latn-ZZ\",jam:\"jam-Latn-JM\",jbo:\"jbo-Latn-001\",jbu:\"jbu-Latn-ZZ\",jen:\"jen-Latn-ZZ\",jgk:\"jgk-Latn-ZZ\",jgo:\"jgo-Latn-CM\",ji:\"ji-Hebr-UA\",jib:\"jib-Latn-ZZ\",jmc:\"jmc-Latn-TZ\",jml:\"jml-Deva-NP\",jra:\"jra-Latn-ZZ\",jut:\"jut-Latn-DK\",jv:\"jv-Latn-ID\",jw:\"jw-Latn-ID\",ka:\"ka-Geor-GE\",kaa:\"kaa-Cyrl-UZ\",kab:\"kab-Latn-DZ\",kac:\"kac-Latn-MM\",kad:\"kad-Latn-ZZ\",kai:\"kai-Latn-ZZ\",kaj:\"kaj-Latn-NG\",kam:\"kam-Latn-KE\",kao:\"kao-Latn-ML\",kbd:\"kbd-Cyrl-RU\",kbm:\"kbm-Latn-ZZ\",kbp:\"kbp-Latn-ZZ\",kbq:\"kbq-Latn-ZZ\",kbx:\"kbx-Latn-ZZ\",kby:\"kby-Arab-NE\",kcg:\"kcg-Latn-NG\",kck:\"kck-Latn-ZW\",kcl:\"kcl-Latn-ZZ\",kct:\"kct-Latn-ZZ\",kde:\"kde-Latn-TZ\",kdh:\"kdh-Arab-TG\",kdl:\"kdl-Latn-ZZ\",kdt:\"kdt-Thai-TH\",kea:\"kea-Latn-CV\",ken:\"ken-Latn-CM\",kez:\"kez-Latn-ZZ\",kfo:\"kfo-Latn-CI\",kfr:\"kfr-Deva-IN\",kfy:\"kfy-Deva-IN\",kg:\"kg-Latn-CD\",kge:\"kge-Latn-ID\",kgf:\"kgf-Latn-ZZ\",kgp:\"kgp-Latn-BR\",kha:\"kha-Latn-IN\",khb:\"khb-Talu-CN\",khn:\"khn-Deva-IN\",khq:\"khq-Latn-ML\",khs:\"khs-Latn-ZZ\",kht:\"kht-Mymr-IN\",khw:\"khw-Arab-PK\",khz:\"khz-Latn-ZZ\",ki:\"ki-Latn-KE\",kij:\"kij-Latn-ZZ\",kiu:\"kiu-Latn-TR\",kiw:\"kiw-Latn-ZZ\",kj:\"kj-Latn-NA\",kjd:\"kjd-Latn-ZZ\",kjg:\"kjg-Laoo-LA\",kjs:\"kjs-Latn-ZZ\",kjy:\"kjy-Latn-ZZ\",kk:\"kk-Cyrl-KZ\",\"kk-AF\":\"kk-Arab-AF\",\"kk-Arab\":\"kk-Arab-CN\",\"kk-CN\":\"kk-Arab-CN\",\"kk-IR\":\"kk-Arab-IR\",\"kk-MN\":\"kk-Arab-MN\",kkc:\"kkc-Latn-ZZ\",kkj:\"kkj-Latn-CM\",kl:\"kl-Latn-GL\",kln:\"kln-Latn-KE\",klq:\"klq-Latn-ZZ\",klt:\"klt-Latn-ZZ\",klx:\"klx-Latn-ZZ\",km:\"km-Khmr-KH\",kmb:\"kmb-Latn-AO\",kmh:\"kmh-Latn-ZZ\",kmo:\"kmo-Latn-ZZ\",kms:\"kms-Latn-ZZ\",kmu:\"kmu-Latn-ZZ\",kmw:\"kmw-Latn-ZZ\",kn:\"kn-Knda-IN\",knf:\"knf-Latn-GW\",knp:\"knp-Latn-ZZ\",ko:\"ko-Kore-KR\",koi:\"koi-Cyrl-RU\",kok:\"kok-Deva-IN\",kol:\"kol-Latn-ZZ\",kos:\"kos-Latn-FM\",koz:\"koz-Latn-ZZ\",kpe:\"kpe-Latn-LR\",kpf:\"kpf-Latn-ZZ\",kpo:\"kpo-Latn-ZZ\",kpr:\"kpr-Latn-ZZ\",kpx:\"kpx-Latn-ZZ\",kqb:\"kqb-Latn-ZZ\",kqf:\"kqf-Latn-ZZ\",kqs:\"kqs-Latn-ZZ\",kqy:\"kqy-Ethi-ZZ\",kr:\"kr-Latn-ZZ\",krc:\"krc-Cyrl-RU\",kri:\"kri-Latn-SL\",krj:\"krj-Latn-PH\",krl:\"krl-Latn-RU\",krs:\"krs-Latn-ZZ\",kru:\"kru-Deva-IN\",ks:\"ks-Arab-IN\",ksb:\"ksb-Latn-TZ\",ksd:\"ksd-Latn-ZZ\",ksf:\"ksf-Latn-CM\",ksh:\"ksh-Latn-DE\",ksj:\"ksj-Latn-ZZ\",ksr:\"ksr-Latn-ZZ\",ktb:\"ktb-Ethi-ZZ\",ktm:\"ktm-Latn-ZZ\",kto:\"kto-Latn-ZZ\",ktr:\"ktr-Latn-MY\",ku:\"ku-Latn-TR\",\"ku-Arab\":\"ku-Arab-IQ\",\"ku-LB\":\"ku-Arab-LB\",kub:\"kub-Latn-ZZ\",kud:\"kud-Latn-ZZ\",kue:\"kue-Latn-ZZ\",kuj:\"kuj-Latn-ZZ\",kum:\"kum-Cyrl-RU\",kun:\"kun-Latn-ZZ\",kup:\"kup-Latn-ZZ\",kus:\"kus-Latn-ZZ\",kv:\"kv-Cyrl-RU\",kvg:\"kvg-Latn-ZZ\",kvr:\"kvr-Latn-ID\",kvx:\"kvx-Arab-PK\",kw:\"kw-Latn-GB\",kwj:\"kwj-Latn-ZZ\",kwo:\"kwo-Latn-ZZ\",kwq:\"kwq-Latn-ZZ\",kxa:\"kxa-Latn-ZZ\",kxc:\"kxc-Ethi-ZZ\",kxe:\"kxe-Latn-ZZ\",kxm:\"kxm-Thai-TH\",kxp:\"kxp-Arab-PK\",kxw:\"kxw-Latn-ZZ\",kxz:\"kxz-Latn-ZZ\",ky:\"ky-Cyrl-KG\",\"ky-Arab\":\"ky-Arab-CN\",\"ky-CN\":\"ky-Arab-CN\",\"ky-Latn\":\"ky-Latn-TR\",\"ky-TR\":\"ky-Latn-TR\",kye:\"kye-Latn-ZZ\",kyx:\"kyx-Latn-ZZ\",kzj:\"kzj-Latn-MY\",kzr:\"kzr-Latn-ZZ\",kzt:\"kzt-Latn-MY\",la:\"la-Latn-VA\",lab:\"lab-Lina-GR\",lad:\"lad-Hebr-IL\",lag:\"lag-Latn-TZ\",lah:\"lah-Arab-PK\",laj:\"laj-Latn-UG\",las:\"las-Latn-ZZ\",lb:\"lb-Latn-LU\",lbe:\"lbe-Cyrl-RU\",lbu:\"lbu-Latn-ZZ\",lbw:\"lbw-Latn-ID\",lcm:\"lcm-Latn-ZZ\",lcp:\"lcp-Thai-CN\",ldb:\"ldb-Latn-ZZ\",led:\"led-Latn-ZZ\",lee:\"lee-Latn-ZZ\",lem:\"lem-Latn-ZZ\",lep:\"lep-Lepc-IN\",leq:\"leq-Latn-ZZ\",leu:\"leu-Latn-ZZ\",lez:\"lez-Cyrl-RU\",lg:\"lg-Latn-UG\",lgg:\"lgg-Latn-ZZ\",li:\"li-Latn-NL\",lia:\"lia-Latn-ZZ\",lid:\"lid-Latn-ZZ\",lif:\"lif-Deva-NP\",\"lif-Limb\":\"lif-Limb-IN\",lig:\"lig-Latn-ZZ\",lih:\"lih-Latn-ZZ\",lij:\"lij-Latn-IT\",lis:\"lis-Lisu-CN\",ljp:\"ljp-Latn-ID\",lki:\"lki-Arab-IR\",lkt:\"lkt-Latn-US\",lle:\"lle-Latn-ZZ\",lln:\"lln-Latn-ZZ\",lmn:\"lmn-Telu-IN\",lmo:\"lmo-Latn-IT\",lmp:\"lmp-Latn-ZZ\",ln:\"ln-Latn-CD\",lns:\"lns-Latn-ZZ\",lnu:\"lnu-Latn-ZZ\",lo:\"lo-Laoo-LA\",loj:\"loj-Latn-ZZ\",lok:\"lok-Latn-ZZ\",lol:\"lol-Latn-CD\",lor:\"lor-Latn-ZZ\",los:\"los-Latn-ZZ\",loz:\"loz-Latn-ZM\",lrc:\"lrc-Arab-IR\",lt:\"lt-Latn-LT\",ltg:\"ltg-Latn-LV\",lu:\"lu-Latn-CD\",lua:\"lua-Latn-CD\",luo:\"luo-Latn-KE\",luy:\"luy-Latn-KE\",luz:\"luz-Arab-IR\",lv:\"lv-Latn-LV\",lwl:\"lwl-Thai-TH\",lzh:\"lzh-Hans-CN\",lzz:\"lzz-Latn-TR\",mad:\"mad-Latn-ID\",maf:\"maf-Latn-CM\",mag:\"mag-Deva-IN\",mai:\"mai-Deva-IN\",mak:\"mak-Latn-ID\",man:\"man-Latn-GM\",\"man-GN\":\"man-Nkoo-GN\",\"man-Nkoo\":\"man-Nkoo-GN\",mas:\"mas-Latn-KE\",maw:\"maw-Latn-ZZ\",maz:\"maz-Latn-MX\",mbh:\"mbh-Latn-ZZ\",mbo:\"mbo-Latn-ZZ\",mbq:\"mbq-Latn-ZZ\",mbu:\"mbu-Latn-ZZ\",mbw:\"mbw-Latn-ZZ\",mci:\"mci-Latn-ZZ\",mcp:\"mcp-Latn-ZZ\",mcq:\"mcq-Latn-ZZ\",mcr:\"mcr-Latn-ZZ\",mcu:\"mcu-Latn-ZZ\",mda:\"mda-Latn-ZZ\",mde:\"mde-Arab-ZZ\",mdf:\"mdf-Cyrl-RU\",mdh:\"mdh-Latn-PH\",mdj:\"mdj-Latn-ZZ\",mdr:\"mdr-Latn-ID\",mdx:\"mdx-Ethi-ZZ\",med:\"med-Latn-ZZ\",mee:\"mee-Latn-ZZ\",mek:\"mek-Latn-ZZ\",men:\"men-Latn-SL\",mer:\"mer-Latn-KE\",met:\"met-Latn-ZZ\",meu:\"meu-Latn-ZZ\",mfa:\"mfa-Arab-TH\",mfe:\"mfe-Latn-MU\",mfn:\"mfn-Latn-ZZ\",mfo:\"mfo-Latn-ZZ\",mfq:\"mfq-Latn-ZZ\",mg:\"mg-Latn-MG\",mgh:\"mgh-Latn-MZ\",mgl:\"mgl-Latn-ZZ\",mgo:\"mgo-Latn-CM\",mgp:\"mgp-Deva-NP\",mgy:\"mgy-Latn-TZ\",mh:\"mh-Latn-MH\",mhi:\"mhi-Latn-ZZ\",mhl:\"mhl-Latn-ZZ\",mi:\"mi-Latn-NZ\",mif:\"mif-Latn-ZZ\",min:\"min-Latn-ID\",mis:\"mis-Hatr-IQ\",\"mis-Medf\":\"mis-Medf-NG\",miw:\"miw-Latn-ZZ\",mk:\"mk-Cyrl-MK\",mki:\"mki-Arab-ZZ\",mkl:\"mkl-Latn-ZZ\",mkp:\"mkp-Latn-ZZ\",mkw:\"mkw-Latn-ZZ\",ml:\"ml-Mlym-IN\",mle:\"mle-Latn-ZZ\",mlp:\"mlp-Latn-ZZ\",mls:\"mls-Latn-SD\",mmo:\"mmo-Latn-ZZ\",mmu:\"mmu-Latn-ZZ\",mmx:\"mmx-Latn-ZZ\",mn:\"mn-Cyrl-MN\",\"mn-CN\":\"mn-Mong-CN\",\"mn-Mong\":\"mn-Mong-CN\",mna:\"mna-Latn-ZZ\",mnf:\"mnf-Latn-ZZ\",mni:\"mni-Beng-IN\",mnw:\"mnw-Mymr-MM\",mo:\"mo-Latn-RO\",moa:\"moa-Latn-ZZ\",moe:\"moe-Latn-CA\",moh:\"moh-Latn-CA\",mos:\"mos-Latn-BF\",mox:\"mox-Latn-ZZ\",mpp:\"mpp-Latn-ZZ\",mps:\"mps-Latn-ZZ\",mpt:\"mpt-Latn-ZZ\",mpx:\"mpx-Latn-ZZ\",mql:\"mql-Latn-ZZ\",mr:\"mr-Deva-IN\",mrd:\"mrd-Deva-NP\",mrj:\"mrj-Cyrl-RU\",mro:\"mro-Mroo-BD\",ms:\"ms-Latn-MY\",\"ms-CC\":\"ms-Arab-CC\",\"ms-ID\":\"ms-Arab-ID\",mt:\"mt-Latn-MT\",mtc:\"mtc-Latn-ZZ\",mtf:\"mtf-Latn-ZZ\",mti:\"mti-Latn-ZZ\",mtr:\"mtr-Deva-IN\",mua:\"mua-Latn-CM\",mur:\"mur-Latn-ZZ\",mus:\"mus-Latn-US\",mva:\"mva-Latn-ZZ\",mvn:\"mvn-Latn-ZZ\",mvy:\"mvy-Arab-PK\",mwk:\"mwk-Latn-ML\",mwr:\"mwr-Deva-IN\",mwv:\"mwv-Latn-ID\",mww:\"mww-Hmnp-US\",mxc:\"mxc-Latn-ZW\",mxm:\"mxm-Latn-ZZ\",my:\"my-Mymr-MM\",myk:\"myk-Latn-ZZ\",mym:\"mym-Ethi-ZZ\",myv:\"myv-Cyrl-RU\",myw:\"myw-Latn-ZZ\",myx:\"myx-Latn-UG\",myz:\"myz-Mand-IR\",mzk:\"mzk-Latn-ZZ\",mzm:\"mzm-Latn-ZZ\",mzn:\"mzn-Arab-IR\",mzp:\"mzp-Latn-ZZ\",mzw:\"mzw-Latn-ZZ\",mzz:\"mzz-Latn-ZZ\",na:\"na-Latn-NR\",nac:\"nac-Latn-ZZ\",naf:\"naf-Latn-ZZ\",nak:\"nak-Latn-ZZ\",nan:\"nan-Hans-CN\",nap:\"nap-Latn-IT\",naq:\"naq-Latn-NA\",nas:\"nas-Latn-ZZ\",nb:\"nb-Latn-NO\",nca:\"nca-Latn-ZZ\",nce:\"nce-Latn-ZZ\",ncf:\"ncf-Latn-ZZ\",nch:\"nch-Latn-MX\",nco:\"nco-Latn-ZZ\",ncu:\"ncu-Latn-ZZ\",nd:\"nd-Latn-ZW\",ndc:\"ndc-Latn-MZ\",nds:\"nds-Latn-DE\",ne:\"ne-Deva-NP\",neb:\"neb-Latn-ZZ\",new:\"new-Deva-NP\",nex:\"nex-Latn-ZZ\",nfr:\"nfr-Latn-ZZ\",ng:\"ng-Latn-NA\",nga:\"nga-Latn-ZZ\",ngb:\"ngb-Latn-ZZ\",ngl:\"ngl-Latn-MZ\",nhb:\"nhb-Latn-ZZ\",nhe:\"nhe-Latn-MX\",nhw:\"nhw-Latn-MX\",nif:\"nif-Latn-ZZ\",nii:\"nii-Latn-ZZ\",nij:\"nij-Latn-ID\",nin:\"nin-Latn-ZZ\",niu:\"niu-Latn-NU\",niy:\"niy-Latn-ZZ\",niz:\"niz-Latn-ZZ\",njo:\"njo-Latn-IN\",nkg:\"nkg-Latn-ZZ\",nko:\"nko-Latn-ZZ\",nl:\"nl-Latn-NL\",nmg:\"nmg-Latn-CM\",nmz:\"nmz-Latn-ZZ\",nn:\"nn-Latn-NO\",nnf:\"nnf-Latn-ZZ\",nnh:\"nnh-Latn-CM\",nnk:\"nnk-Latn-ZZ\",nnm:\"nnm-Latn-ZZ\",nnp:\"nnp-Wcho-IN\",no:\"no-Latn-NO\",nod:\"nod-Lana-TH\",noe:\"noe-Deva-IN\",non:\"non-Runr-SE\",nop:\"nop-Latn-ZZ\",nou:\"nou-Latn-ZZ\",nqo:\"nqo-Nkoo-GN\",nr:\"nr-Latn-ZA\",nrb:\"nrb-Latn-ZZ\",nsk:\"nsk-Cans-CA\",nsn:\"nsn-Latn-ZZ\",nso:\"nso-Latn-ZA\",nss:\"nss-Latn-ZZ\",ntm:\"ntm-Latn-ZZ\",ntr:\"ntr-Latn-ZZ\",nui:\"nui-Latn-ZZ\",nup:\"nup-Latn-ZZ\",nus:\"nus-Latn-SS\",nuv:\"nuv-Latn-ZZ\",nux:\"nux-Latn-ZZ\",nv:\"nv-Latn-US\",nwb:\"nwb-Latn-ZZ\",nxq:\"nxq-Latn-CN\",nxr:\"nxr-Latn-ZZ\",ny:\"ny-Latn-MW\",nym:\"nym-Latn-TZ\",nyn:\"nyn-Latn-UG\",nzi:\"nzi-Latn-GH\",oc:\"oc-Latn-FR\",ogc:\"ogc-Latn-ZZ\",okr:\"okr-Latn-ZZ\",okv:\"okv-Latn-ZZ\",om:\"om-Latn-ET\",ong:\"ong-Latn-ZZ\",onn:\"onn-Latn-ZZ\",ons:\"ons-Latn-ZZ\",opm:\"opm-Latn-ZZ\",or:\"or-Orya-IN\",oro:\"oro-Latn-ZZ\",oru:\"oru-Arab-ZZ\",os:\"os-Cyrl-GE\",osa:\"osa-Osge-US\",ota:\"ota-Arab-ZZ\",otk:\"otk-Orkh-MN\",ozm:\"ozm-Latn-ZZ\",pa:\"pa-Guru-IN\",\"pa-Arab\":\"pa-Arab-PK\",\"pa-PK\":\"pa-Arab-PK\",pag:\"pag-Latn-PH\",pal:\"pal-Phli-IR\",\"pal-Phlp\":\"pal-Phlp-CN\",pam:\"pam-Latn-PH\",pap:\"pap-Latn-AW\",pau:\"pau-Latn-PW\",pbi:\"pbi-Latn-ZZ\",pcd:\"pcd-Latn-FR\",pcm:\"pcm-Latn-NG\",pdc:\"pdc-Latn-US\",pdt:\"pdt-Latn-CA\",ped:\"ped-Latn-ZZ\",peo:\"peo-Xpeo-IR\",pex:\"pex-Latn-ZZ\",pfl:\"pfl-Latn-DE\",phl:\"phl-Arab-ZZ\",phn:\"phn-Phnx-LB\",pil:\"pil-Latn-ZZ\",pip:\"pip-Latn-ZZ\",pka:\"pka-Brah-IN\",pko:\"pko-Latn-KE\",pl:\"pl-Latn-PL\",pla:\"pla-Latn-ZZ\",pms:\"pms-Latn-IT\",png:\"png-Latn-ZZ\",pnn:\"pnn-Latn-ZZ\",pnt:\"pnt-Grek-GR\",pon:\"pon-Latn-FM\",ppa:\"ppa-Deva-IN\",ppo:\"ppo-Latn-ZZ\",pra:\"pra-Khar-PK\",prd:\"prd-Arab-IR\",prg:\"prg-Latn-001\",ps:\"ps-Arab-AF\",pss:\"pss-Latn-ZZ\",pt:\"pt-Latn-BR\",ptp:\"ptp-Latn-ZZ\",puu:\"puu-Latn-GA\",pwa:\"pwa-Latn-ZZ\",qu:\"qu-Latn-PE\",quc:\"quc-Latn-GT\",qug:\"qug-Latn-EC\",rai:\"rai-Latn-ZZ\",raj:\"raj-Deva-IN\",rao:\"rao-Latn-ZZ\",rcf:\"rcf-Latn-RE\",rej:\"rej-Latn-ID\",rel:\"rel-Latn-ZZ\",res:\"res-Latn-ZZ\",rgn:\"rgn-Latn-IT\",rhg:\"rhg-Arab-MM\",ria:\"ria-Latn-IN\",rif:\"rif-Tfng-MA\",\"rif-NL\":\"rif-Latn-NL\",rjs:\"rjs-Deva-NP\",rkt:\"rkt-Beng-BD\",rm:\"rm-Latn-CH\",rmf:\"rmf-Latn-FI\",rmo:\"rmo-Latn-CH\",rmt:\"rmt-Arab-IR\",rmu:\"rmu-Latn-SE\",rn:\"rn-Latn-BI\",rna:\"rna-Latn-ZZ\",rng:\"rng-Latn-MZ\",ro:\"ro-Latn-RO\",rob:\"rob-Latn-ID\",rof:\"rof-Latn-TZ\",roo:\"roo-Latn-ZZ\",rro:\"rro-Latn-ZZ\",rtm:\"rtm-Latn-FJ\",ru:\"ru-Cyrl-RU\",rue:\"rue-Cyrl-UA\",rug:\"rug-Latn-SB\",rw:\"rw-Latn-RW\",rwk:\"rwk-Latn-TZ\",rwo:\"rwo-Latn-ZZ\",ryu:\"ryu-Kana-JP\",sa:\"sa-Deva-IN\",saf:\"saf-Latn-GH\",sah:\"sah-Cyrl-RU\",saq:\"saq-Latn-KE\",sas:\"sas-Latn-ID\",sat:\"sat-Latn-IN\",sav:\"sav-Latn-SN\",saz:\"saz-Saur-IN\",sba:\"sba-Latn-ZZ\",sbe:\"sbe-Latn-ZZ\",sbp:\"sbp-Latn-TZ\",sc:\"sc-Latn-IT\",sck:\"sck-Deva-IN\",scl:\"scl-Arab-ZZ\",scn:\"scn-Latn-IT\",sco:\"sco-Latn-GB\",scs:\"scs-Latn-CA\",sd:\"sd-Arab-PK\",\"sd-Deva\":\"sd-Deva-IN\",\"sd-Khoj\":\"sd-Khoj-IN\",\"sd-Sind\":\"sd-Sind-IN\",sdc:\"sdc-Latn-IT\",sdh:\"sdh-Arab-IR\",se:\"se-Latn-NO\",sef:\"sef-Latn-CI\",seh:\"seh-Latn-MZ\",sei:\"sei-Latn-MX\",ses:\"ses-Latn-ML\",sg:\"sg-Latn-CF\",sga:\"sga-Ogam-IE\",sgs:\"sgs-Latn-LT\",sgw:\"sgw-Ethi-ZZ\",sgz:\"sgz-Latn-ZZ\",shi:\"shi-Tfng-MA\",shk:\"shk-Latn-ZZ\",shn:\"shn-Mymr-MM\",shu:\"shu-Arab-ZZ\",si:\"si-Sinh-LK\",sid:\"sid-Latn-ET\",sig:\"sig-Latn-ZZ\",sil:\"sil-Latn-ZZ\",sim:\"sim-Latn-ZZ\",sjr:\"sjr-Latn-ZZ\",sk:\"sk-Latn-SK\",skc:\"skc-Latn-ZZ\",skr:\"skr-Arab-PK\",sks:\"sks-Latn-ZZ\",sl:\"sl-Latn-SI\",sld:\"sld-Latn-ZZ\",sli:\"sli-Latn-PL\",sll:\"sll-Latn-ZZ\",sly:\"sly-Latn-ID\",sm:\"sm-Latn-WS\",sma:\"sma-Latn-SE\",smj:\"smj-Latn-SE\",smn:\"smn-Latn-FI\",smp:\"smp-Samr-IL\",smq:\"smq-Latn-ZZ\",sms:\"sms-Latn-FI\",sn:\"sn-Latn-ZW\",snc:\"snc-Latn-ZZ\",snk:\"snk-Latn-ML\",snp:\"snp-Latn-ZZ\",snx:\"snx-Latn-ZZ\",sny:\"sny-Latn-ZZ\",so:\"so-Latn-SO\",sog:\"sog-Sogd-UZ\",sok:\"sok-Latn-ZZ\",soq:\"soq-Latn-ZZ\",sou:\"sou-Thai-TH\",soy:\"soy-Latn-ZZ\",spd:\"spd-Latn-ZZ\",spl:\"spl-Latn-ZZ\",sps:\"sps-Latn-ZZ\",sq:\"sq-Latn-AL\",sr:\"sr-Cyrl-RS\",\"sr-ME\":\"sr-Latn-ME\",\"sr-RO\":\"sr-Latn-RO\",\"sr-RU\":\"sr-Latn-RU\",\"sr-TR\":\"sr-Latn-TR\",srb:\"srb-Sora-IN\",srn:\"srn-Latn-SR\",srr:\"srr-Latn-SN\",srx:\"srx-Deva-IN\",ss:\"ss-Latn-ZA\",ssd:\"ssd-Latn-ZZ\",ssg:\"ssg-Latn-ZZ\",ssy:\"ssy-Latn-ER\",st:\"st-Latn-ZA\",stk:\"stk-Latn-ZZ\",stq:\"stq-Latn-DE\",su:\"su-Latn-ID\",sua:\"sua-Latn-ZZ\",sue:\"sue-Latn-ZZ\",suk:\"suk-Latn-TZ\",sur:\"sur-Latn-ZZ\",sus:\"sus-Latn-GN\",sv:\"sv-Latn-SE\",sw:\"sw-Latn-TZ\",swb:\"swb-Arab-YT\",swc:\"swc-Latn-CD\",swg:\"swg-Latn-DE\",swp:\"swp-Latn-ZZ\",swv:\"swv-Deva-IN\",sxn:\"sxn-Latn-ID\",sxw:\"sxw-Latn-ZZ\",syl:\"syl-Beng-BD\",syr:\"syr-Syrc-IQ\",szl:\"szl-Latn-PL\",ta:\"ta-Taml-IN\",taj:\"taj-Deva-NP\",tal:\"tal-Latn-ZZ\",tan:\"tan-Latn-ZZ\",taq:\"taq-Latn-ZZ\",tbc:\"tbc-Latn-ZZ\",tbd:\"tbd-Latn-ZZ\",tbf:\"tbf-Latn-ZZ\",tbg:\"tbg-Latn-ZZ\",tbo:\"tbo-Latn-ZZ\",tbw:\"tbw-Latn-PH\",tbz:\"tbz-Latn-ZZ\",tci:\"tci-Latn-ZZ\",tcy:\"tcy-Knda-IN\",tdd:\"tdd-Tale-CN\",tdg:\"tdg-Deva-NP\",tdh:\"tdh-Deva-NP\",tdu:\"tdu-Latn-MY\",te:\"te-Telu-IN\",ted:\"ted-Latn-ZZ\",tem:\"tem-Latn-SL\",teo:\"teo-Latn-UG\",tet:\"tet-Latn-TL\",tfi:\"tfi-Latn-ZZ\",tg:\"tg-Cyrl-TJ\",\"tg-Arab\":\"tg-Arab-PK\",\"tg-PK\":\"tg-Arab-PK\",tgc:\"tgc-Latn-ZZ\",tgo:\"tgo-Latn-ZZ\",tgu:\"tgu-Latn-ZZ\",th:\"th-Thai-TH\",thl:\"thl-Deva-NP\",thq:\"thq-Deva-NP\",thr:\"thr-Deva-NP\",ti:\"ti-Ethi-ET\",tif:\"tif-Latn-ZZ\",tig:\"tig-Ethi-ER\",tik:\"tik-Latn-ZZ\",tim:\"tim-Latn-ZZ\",tio:\"tio-Latn-ZZ\",tiv:\"tiv-Latn-NG\",tk:\"tk-Latn-TM\",tkl:\"tkl-Latn-TK\",tkr:\"tkr-Latn-AZ\",tkt:\"tkt-Deva-NP\",tl:\"tl-Latn-PH\",tlf:\"tlf-Latn-ZZ\",tlx:\"tlx-Latn-ZZ\",tly:\"tly-Latn-AZ\",tmh:\"tmh-Latn-NE\",tmy:\"tmy-Latn-ZZ\",tn:\"tn-Latn-ZA\",tnh:\"tnh-Latn-ZZ\",to:\"to-Latn-TO\",tof:\"tof-Latn-ZZ\",tog:\"tog-Latn-MW\",toq:\"toq-Latn-ZZ\",tpi:\"tpi-Latn-PG\",tpm:\"tpm-Latn-ZZ\",tpz:\"tpz-Latn-ZZ\",tqo:\"tqo-Latn-ZZ\",tr:\"tr-Latn-TR\",tru:\"tru-Latn-TR\",trv:\"trv-Latn-TW\",trw:\"trw-Arab-ZZ\",ts:\"ts-Latn-ZA\",tsd:\"tsd-Grek-GR\",tsf:\"tsf-Deva-NP\",tsg:\"tsg-Latn-PH\",tsj:\"tsj-Tibt-BT\",tsw:\"tsw-Latn-ZZ\",tt:\"tt-Cyrl-RU\",ttd:\"ttd-Latn-ZZ\",tte:\"tte-Latn-ZZ\",ttj:\"ttj-Latn-UG\",ttr:\"ttr-Latn-ZZ\",tts:\"tts-Thai-TH\",ttt:\"ttt-Latn-AZ\",tuh:\"tuh-Latn-ZZ\",tul:\"tul-Latn-ZZ\",tum:\"tum-Latn-MW\",tuq:\"tuq-Latn-ZZ\",tvd:\"tvd-Latn-ZZ\",tvl:\"tvl-Latn-TV\",tvu:\"tvu-Latn-ZZ\",twh:\"twh-Latn-ZZ\",twq:\"twq-Latn-NE\",txg:\"txg-Tang-CN\",ty:\"ty-Latn-PF\",tya:\"tya-Latn-ZZ\",tyv:\"tyv-Cyrl-RU\",tzm:\"tzm-Latn-MA\",ubu:\"ubu-Latn-ZZ\",udm:\"udm-Cyrl-RU\",ug:\"ug-Arab-CN\",\"ug-Cyrl\":\"ug-Cyrl-KZ\",\"ug-KZ\":\"ug-Cyrl-KZ\",\"ug-MN\":\"ug-Cyrl-MN\",uga:\"uga-Ugar-SY\",uk:\"uk-Cyrl-UA\",uli:\"uli-Latn-FM\",umb:\"umb-Latn-AO\",und:\"en-Latn-US\",\"und-002\":\"en-Latn-NG\",\"und-003\":\"en-Latn-US\",\"und-005\":\"pt-Latn-BR\",\"und-009\":\"en-Latn-AU\",\"und-011\":\"en-Latn-NG\",\"und-013\":\"es-Latn-MX\",\"und-014\":\"sw-Latn-TZ\",\"und-015\":\"ar-Arab-EG\",\"und-017\":\"sw-Latn-CD\",\"und-018\":\"en-Latn-ZA\",\"und-019\":\"en-Latn-US\",\"und-021\":\"en-Latn-US\",\"und-029\":\"es-Latn-CU\",\"und-030\":\"zh-Hans-CN\",\"und-034\":\"hi-Deva-IN\",\"und-035\":\"id-Latn-ID\",\"und-039\":\"it-Latn-IT\",\"und-053\":\"en-Latn-AU\",\"und-054\":\"en-Latn-PG\",\"und-057\":\"en-Latn-GU\",\"und-061\":\"sm-Latn-WS\",\"und-142\":\"zh-Hans-CN\",\"und-143\":\"uz-Latn-UZ\",\"und-145\":\"ar-Arab-SA\",\"und-150\":\"ru-Cyrl-RU\",\"und-151\":\"ru-Cyrl-RU\",\"und-154\":\"en-Latn-GB\",\"und-155\":\"de-Latn-DE\",\"und-202\":\"en-Latn-NG\",\"und-419\":\"es-Latn-419\",\"und-AD\":\"ca-Latn-AD\",\"und-Adlm\":\"ff-Adlm-GN\",\"und-AE\":\"ar-Arab-AE\",\"und-AF\":\"fa-Arab-AF\",\"und-Aghb\":\"lez-Aghb-RU\",\"und-Ahom\":\"aho-Ahom-IN\",\"und-AL\":\"sq-Latn-AL\",\"und-AM\":\"hy-Armn-AM\",\"und-AO\":\"pt-Latn-AO\",\"und-AQ\":\"und-Latn-AQ\",\"und-AR\":\"es-Latn-AR\",\"und-Arab\":\"ar-Arab-EG\",\"und-Arab-CC\":\"ms-Arab-CC\",\"und-Arab-CN\":\"ug-Arab-CN\",\"und-Arab-GB\":\"ks-Arab-GB\",\"und-Arab-ID\":\"ms-Arab-ID\",\"und-Arab-IN\":\"ur-Arab-IN\",\"und-Arab-KH\":\"cja-Arab-KH\",\"und-Arab-MM\":\"rhg-Arab-MM\",\"und-Arab-MN\":\"kk-Arab-MN\",\"und-Arab-MU\":\"ur-Arab-MU\",\"und-Arab-NG\":\"ha-Arab-NG\",\"und-Arab-PK\":\"ur-Arab-PK\",\"und-Arab-TG\":\"apd-Arab-TG\",\"und-Arab-TH\":\"mfa-Arab-TH\",\"und-Arab-TJ\":\"fa-Arab-TJ\",\"und-Arab-TR\":\"az-Arab-TR\",\"und-Arab-YT\":\"swb-Arab-YT\",\"und-Armi\":\"arc-Armi-IR\",\"und-Armn\":\"hy-Armn-AM\",\"und-AS\":\"sm-Latn-AS\",\"und-AT\":\"de-Latn-AT\",\"und-Avst\":\"ae-Avst-IR\",\"und-AW\":\"nl-Latn-AW\",\"und-AX\":\"sv-Latn-AX\",\"und-AZ\":\"az-Latn-AZ\",\"und-BA\":\"bs-Latn-BA\",\"und-Bali\":\"ban-Bali-ID\",\"und-Bamu\":\"bax-Bamu-CM\",\"und-Bass\":\"bsq-Bass-LR\",\"und-Batk\":\"bbc-Batk-ID\",\"und-BD\":\"bn-Beng-BD\",\"und-BE\":\"nl-Latn-BE\",\"und-Beng\":\"bn-Beng-BD\",\"und-BF\":\"fr-Latn-BF\",\"und-BG\":\"bg-Cyrl-BG\",\"und-BH\":\"ar-Arab-BH\",\"und-Bhks\":\"sa-Bhks-IN\",\"und-BI\":\"rn-Latn-BI\",\"und-BJ\":\"fr-Latn-BJ\",\"und-BL\":\"fr-Latn-BL\",\"und-BN\":\"ms-Latn-BN\",\"und-BO\":\"es-Latn-BO\",\"und-Bopo\":\"zh-Bopo-TW\",\"und-BQ\":\"pap-Latn-BQ\",\"und-BR\":\"pt-Latn-BR\",\"und-Brah\":\"pka-Brah-IN\",\"und-Brai\":\"fr-Brai-FR\",\"und-BT\":\"dz-Tibt-BT\",\"und-Bugi\":\"bug-Bugi-ID\",\"und-Buhd\":\"bku-Buhd-PH\",\"und-BV\":\"und-Latn-BV\",\"und-BY\":\"be-Cyrl-BY\",\"und-Cakm\":\"ccp-Cakm-BD\",\"und-Cans\":\"cr-Cans-CA\",\"und-Cari\":\"xcr-Cari-TR\",\"und-CD\":\"sw-Latn-CD\",\"und-CF\":\"fr-Latn-CF\",\"und-CG\":\"fr-Latn-CG\",\"und-CH\":\"de-Latn-CH\",\"und-Cham\":\"cjm-Cham-VN\",\"und-Cher\":\"chr-Cher-US\",\"und-CI\":\"fr-Latn-CI\",\"und-CL\":\"es-Latn-CL\",\"und-CM\":\"fr-Latn-CM\",\"und-CN\":\"zh-Hans-CN\",\"und-CO\":\"es-Latn-CO\",\"und-Copt\":\"cop-Copt-EG\",\"und-CP\":\"und-Latn-CP\",\"und-Cprt\":\"grc-Cprt-CY\",\"und-CR\":\"es-Latn-CR\",\"und-CU\":\"es-Latn-CU\",\"und-CV\":\"pt-Latn-CV\",\"und-CW\":\"pap-Latn-CW\",\"und-CY\":\"el-Grek-CY\",\"und-Cyrl\":\"ru-Cyrl-RU\",\"und-Cyrl-AL\":\"mk-Cyrl-AL\",\"und-Cyrl-BA\":\"sr-Cyrl-BA\",\"und-Cyrl-GE\":\"ab-Cyrl-GE\",\"und-Cyrl-GR\":\"mk-Cyrl-GR\",\"und-Cyrl-MD\":\"uk-Cyrl-MD\",\"und-Cyrl-RO\":\"bg-Cyrl-RO\",\"und-Cyrl-SK\":\"uk-Cyrl-SK\",\"und-Cyrl-TR\":\"kbd-Cyrl-TR\",\"und-Cyrl-XK\":\"sr-Cyrl-XK\",\"und-CZ\":\"cs-Latn-CZ\",\"und-DE\":\"de-Latn-DE\",\"und-Deva\":\"hi-Deva-IN\",\"und-Deva-BT\":\"ne-Deva-BT\",\"und-Deva-FJ\":\"hif-Deva-FJ\",\"und-Deva-MU\":\"bho-Deva-MU\",\"und-Deva-PK\":\"btv-Deva-PK\",\"und-DJ\":\"aa-Latn-DJ\",\"und-DK\":\"da-Latn-DK\",\"und-DO\":\"es-Latn-DO\",\"und-Dogr\":\"doi-Dogr-IN\",\"und-Dupl\":\"fr-Dupl-FR\",\"und-DZ\":\"ar-Arab-DZ\",\"und-EA\":\"es-Latn-EA\",\"und-EC\":\"es-Latn-EC\",\"und-EE\":\"et-Latn-EE\",\"und-EG\":\"ar-Arab-EG\",\"und-Egyp\":\"egy-Egyp-EG\",\"und-EH\":\"ar-Arab-EH\",\"und-Elba\":\"sq-Elba-AL\",\"und-Elym\":\"arc-Elym-IR\",\"und-ER\":\"ti-Ethi-ER\",\"und-ES\":\"es-Latn-ES\",\"und-ET\":\"am-Ethi-ET\",\"und-Ethi\":\"am-Ethi-ET\",\"und-EU\":\"en-Latn-GB\",\"und-EZ\":\"de-Latn-EZ\",\"und-FI\":\"fi-Latn-FI\",\"und-FO\":\"fo-Latn-FO\",\"und-FR\":\"fr-Latn-FR\",\"und-GA\":\"fr-Latn-GA\",\"und-GE\":\"ka-Geor-GE\",\"und-Geor\":\"ka-Geor-GE\",\"und-GF\":\"fr-Latn-GF\",\"und-GH\":\"ak-Latn-GH\",\"und-GL\":\"kl-Latn-GL\",\"und-Glag\":\"cu-Glag-BG\",\"und-GN\":\"fr-Latn-GN\",\"und-Gong\":\"wsg-Gong-IN\",\"und-Gonm\":\"esg-Gonm-IN\",\"und-Goth\":\"got-Goth-UA\",\"und-GP\":\"fr-Latn-GP\",\"und-GQ\":\"es-Latn-GQ\",\"und-GR\":\"el-Grek-GR\",\"und-Gran\":\"sa-Gran-IN\",\"und-Grek\":\"el-Grek-GR\",\"und-Grek-TR\":\"bgx-Grek-TR\",\"und-GS\":\"und-Latn-GS\",\"und-GT\":\"es-Latn-GT\",\"und-Gujr\":\"gu-Gujr-IN\",\"und-Guru\":\"pa-Guru-IN\",\"und-GW\":\"pt-Latn-GW\",\"und-Hanb\":\"zh-Hanb-TW\",\"und-Hang\":\"ko-Hang-KR\",\"und-Hani\":\"zh-Hani-CN\",\"und-Hano\":\"hnn-Hano-PH\",\"und-Hans\":\"zh-Hans-CN\",\"und-Hant\":\"zh-Hant-TW\",\"und-Hatr\":\"mis-Hatr-IQ\",\"und-Hebr\":\"he-Hebr-IL\",\"und-Hebr-CA\":\"yi-Hebr-CA\",\"und-Hebr-GB\":\"yi-Hebr-GB\",\"und-Hebr-SE\":\"yi-Hebr-SE\",\"und-Hebr-UA\":\"yi-Hebr-UA\",\"und-Hebr-US\":\"yi-Hebr-US\",\"und-Hira\":\"ja-Hira-JP\",\"und-HK\":\"zh-Hant-HK\",\"und-Hluw\":\"hlu-Hluw-TR\",\"und-HM\":\"und-Latn-HM\",\"und-Hmng\":\"hnj-Hmng-LA\",\"und-Hmnp\":\"mww-Hmnp-US\",\"und-HN\":\"es-Latn-HN\",\"und-HR\":\"hr-Latn-HR\",\"und-HT\":\"ht-Latn-HT\",\"und-HU\":\"hu-Latn-HU\",\"und-Hung\":\"hu-Hung-HU\",\"und-IC\":\"es-Latn-IC\",\"und-ID\":\"id-Latn-ID\",\"und-IL\":\"he-Hebr-IL\",\"und-IN\":\"hi-Deva-IN\",\"und-IQ\":\"ar-Arab-IQ\",\"und-IR\":\"fa-Arab-IR\",\"und-IS\":\"is-Latn-IS\",\"und-IT\":\"it-Latn-IT\",\"und-Ital\":\"ett-Ital-IT\",\"und-Jamo\":\"ko-Jamo-KR\",\"und-Java\":\"jv-Java-ID\",\"und-JO\":\"ar-Arab-JO\",\"und-JP\":\"ja-Jpan-JP\",\"und-Jpan\":\"ja-Jpan-JP\",\"und-Kali\":\"eky-Kali-MM\",\"und-Kana\":\"ja-Kana-JP\",\"und-KE\":\"sw-Latn-KE\",\"und-KG\":\"ky-Cyrl-KG\",\"und-KH\":\"km-Khmr-KH\",\"und-Khar\":\"pra-Khar-PK\",\"und-Khmr\":\"km-Khmr-KH\",\"und-Khoj\":\"sd-Khoj-IN\",\"und-KM\":\"ar-Arab-KM\",\"und-Knda\":\"kn-Knda-IN\",\"und-Kore\":\"ko-Kore-KR\",\"und-KP\":\"ko-Kore-KP\",\"und-KR\":\"ko-Kore-KR\",\"und-Kthi\":\"bho-Kthi-IN\",\"und-KW\":\"ar-Arab-KW\",\"und-KZ\":\"ru-Cyrl-KZ\",\"und-LA\":\"lo-Laoo-LA\",\"und-Lana\":\"nod-Lana-TH\",\"und-Laoo\":\"lo-Laoo-LA\",\"und-Latn-AF\":\"tk-Latn-AF\",\"und-Latn-AM\":\"ku-Latn-AM\",\"und-Latn-CN\":\"za-Latn-CN\",\"und-Latn-CY\":\"tr-Latn-CY\",\"und-Latn-DZ\":\"fr-Latn-DZ\",\"und-Latn-ET\":\"en-Latn-ET\",\"und-Latn-GE\":\"ku-Latn-GE\",\"und-Latn-IR\":\"tk-Latn-IR\",\"und-Latn-KM\":\"fr-Latn-KM\",\"und-Latn-MA\":\"fr-Latn-MA\",\"und-Latn-MK\":\"sq-Latn-MK\",\"und-Latn-MM\":\"kac-Latn-MM\",\"und-Latn-MO\":\"pt-Latn-MO\",\"und-Latn-MR\":\"fr-Latn-MR\",\"und-Latn-RU\":\"krl-Latn-RU\",\"und-Latn-SY\":\"fr-Latn-SY\",\"und-Latn-TN\":\"fr-Latn-TN\",\"und-Latn-TW\":\"trv-Latn-TW\",\"und-Latn-UA\":\"pl-Latn-UA\",\"und-LB\":\"ar-Arab-LB\",\"und-Lepc\":\"lep-Lepc-IN\",\"und-LI\":\"de-Latn-LI\",\"und-Limb\":\"lif-Limb-IN\",\"und-Lina\":\"lab-Lina-GR\",\"und-Linb\":\"grc-Linb-GR\",\"und-Lisu\":\"lis-Lisu-CN\",\"und-LK\":\"si-Sinh-LK\",\"und-LS\":\"st-Latn-LS\",\"und-LT\":\"lt-Latn-LT\",\"und-LU\":\"fr-Latn-LU\",\"und-LV\":\"lv-Latn-LV\",\"und-LY\":\"ar-Arab-LY\",\"und-Lyci\":\"xlc-Lyci-TR\",\"und-Lydi\":\"xld-Lydi-TR\",\"und-MA\":\"ar-Arab-MA\",\"und-Mahj\":\"hi-Mahj-IN\",\"und-Maka\":\"mak-Maka-ID\",\"und-Mand\":\"myz-Mand-IR\",\"und-Mani\":\"xmn-Mani-CN\",\"und-Marc\":\"bo-Marc-CN\",\"und-MC\":\"fr-Latn-MC\",\"und-MD\":\"ro-Latn-MD\",\"und-ME\":\"sr-Latn-ME\",\"und-Medf\":\"mis-Medf-NG\",\"und-Mend\":\"men-Mend-SL\",\"und-Merc\":\"xmr-Merc-SD\",\"und-Mero\":\"xmr-Mero-SD\",\"und-MF\":\"fr-Latn-MF\",\"und-MG\":\"mg-Latn-MG\",\"und-MK\":\"mk-Cyrl-MK\",\"und-ML\":\"bm-Latn-ML\",\"und-Mlym\":\"ml-Mlym-IN\",\"und-MM\":\"my-Mymr-MM\",\"und-MN\":\"mn-Cyrl-MN\",\"und-MO\":\"zh-Hant-MO\",\"und-Modi\":\"mr-Modi-IN\",\"und-Mong\":\"mn-Mong-CN\",\"und-MQ\":\"fr-Latn-MQ\",\"und-MR\":\"ar-Arab-MR\",\"und-Mroo\":\"mro-Mroo-BD\",\"und-MT\":\"mt-Latn-MT\",\"und-Mtei\":\"mni-Mtei-IN\",\"und-MU\":\"mfe-Latn-MU\",\"und-Mult\":\"skr-Mult-PK\",\"und-MV\":\"dv-Thaa-MV\",\"und-MX\":\"es-Latn-MX\",\"und-MY\":\"ms-Latn-MY\",\"und-Mymr\":\"my-Mymr-MM\",\"und-Mymr-IN\":\"kht-Mymr-IN\",\"und-Mymr-TH\":\"mnw-Mymr-TH\",\"und-MZ\":\"pt-Latn-MZ\",\"und-NA\":\"af-Latn-NA\",\"und-Nand\":\"sa-Nand-IN\",\"und-Narb\":\"xna-Narb-SA\",\"und-Nbat\":\"arc-Nbat-JO\",\"und-NC\":\"fr-Latn-NC\",\"und-NE\":\"ha-Latn-NE\",\"und-Newa\":\"new-Newa-NP\",\"und-NI\":\"es-Latn-NI\",\"und-Nkoo\":\"man-Nkoo-GN\",\"und-NL\":\"nl-Latn-NL\",\"und-NO\":\"nb-Latn-NO\",\"und-NP\":\"ne-Deva-NP\",\"und-Nshu\":\"zhx-Nshu-CN\",\"und-Ogam\":\"sga-Ogam-IE\",\"und-Olck\":\"sat-Olck-IN\",\"und-OM\":\"ar-Arab-OM\",\"und-Orkh\":\"otk-Orkh-MN\",\"und-Orya\":\"or-Orya-IN\",\"und-Osge\":\"osa-Osge-US\",\"und-Osma\":\"so-Osma-SO\",\"und-PA\":\"es-Latn-PA\",\"und-Palm\":\"arc-Palm-SY\",\"und-Pauc\":\"ctd-Pauc-MM\",\"und-PE\":\"es-Latn-PE\",\"und-Perm\":\"kv-Perm-RU\",\"und-PF\":\"fr-Latn-PF\",\"und-PG\":\"tpi-Latn-PG\",\"und-PH\":\"fil-Latn-PH\",\"und-Phag\":\"lzh-Phag-CN\",\"und-Phli\":\"pal-Phli-IR\",\"und-Phlp\":\"pal-Phlp-CN\",\"und-Phnx\":\"phn-Phnx-LB\",\"und-PK\":\"ur-Arab-PK\",\"und-PL\":\"pl-Latn-PL\",\"und-Plrd\":\"hmd-Plrd-CN\",\"und-PM\":\"fr-Latn-PM\",\"und-PR\":\"es-Latn-PR\",\"und-Prti\":\"xpr-Prti-IR\",\"und-PS\":\"ar-Arab-PS\",\"und-PT\":\"pt-Latn-PT\",\"und-PW\":\"pau-Latn-PW\",\"und-PY\":\"gn-Latn-PY\",\"und-QA\":\"ar-Arab-QA\",\"und-QO\":\"en-Latn-DG\",\"und-RE\":\"fr-Latn-RE\",\"und-Rjng\":\"rej-Rjng-ID\",\"und-RO\":\"ro-Latn-RO\",\"und-Rohg\":\"rhg-Rohg-MM\",\"und-RS\":\"sr-Cyrl-RS\",\"und-RU\":\"ru-Cyrl-RU\",\"und-Runr\":\"non-Runr-SE\",\"und-RW\":\"rw-Latn-RW\",\"und-SA\":\"ar-Arab-SA\",\"und-Samr\":\"smp-Samr-IL\",\"und-Sarb\":\"xsa-Sarb-YE\",\"und-Saur\":\"saz-Saur-IN\",\"und-SC\":\"fr-Latn-SC\",\"und-SD\":\"ar-Arab-SD\",\"und-SE\":\"sv-Latn-SE\",\"und-Sgnw\":\"ase-Sgnw-US\",\"und-Shaw\":\"en-Shaw-GB\",\"und-Shrd\":\"sa-Shrd-IN\",\"und-SI\":\"sl-Latn-SI\",\"und-Sidd\":\"sa-Sidd-IN\",\"und-Sind\":\"sd-Sind-IN\",\"und-Sinh\":\"si-Sinh-LK\",\"und-SJ\":\"nb-Latn-SJ\",\"und-SK\":\"sk-Latn-SK\",\"und-SM\":\"it-Latn-SM\",\"und-SN\":\"fr-Latn-SN\",\"und-SO\":\"so-Latn-SO\",\"und-Sogd\":\"sog-Sogd-UZ\",\"und-Sogo\":\"sog-Sogo-UZ\",\"und-Sora\":\"srb-Sora-IN\",\"und-Soyo\":\"cmg-Soyo-MN\",\"und-SR\":\"nl-Latn-SR\",\"und-ST\":\"pt-Latn-ST\",\"und-Sund\":\"su-Sund-ID\",\"und-SV\":\"es-Latn-SV\",\"und-SY\":\"ar-Arab-SY\",\"und-Sylo\":\"syl-Sylo-BD\",\"und-Syrc\":\"syr-Syrc-IQ\",\"und-Tagb\":\"tbw-Tagb-PH\",\"und-Takr\":\"doi-Takr-IN\",\"und-Tale\":\"tdd-Tale-CN\",\"und-Talu\":\"khb-Talu-CN\",\"und-Taml\":\"ta-Taml-IN\",\"und-Tang\":\"txg-Tang-CN\",\"und-Tavt\":\"blt-Tavt-VN\",\"und-TD\":\"fr-Latn-TD\",\"und-Telu\":\"te-Telu-IN\",\"und-TF\":\"fr-Latn-TF\",\"und-Tfng\":\"zgh-Tfng-MA\",\"und-TG\":\"fr-Latn-TG\",\"und-Tglg\":\"fil-Tglg-PH\",\"und-TH\":\"th-Thai-TH\",\"und-Thaa\":\"dv-Thaa-MV\",\"und-Thai\":\"th-Thai-TH\",\"und-Thai-CN\":\"lcp-Thai-CN\",\"und-Thai-KH\":\"kdt-Thai-KH\",\"und-Thai-LA\":\"kdt-Thai-LA\",\"und-Tibt\":\"bo-Tibt-CN\",\"und-Tirh\":\"mai-Tirh-IN\",\"und-TJ\":\"tg-Cyrl-TJ\",\"und-TK\":\"tkl-Latn-TK\",\"und-TL\":\"pt-Latn-TL\",\"und-TM\":\"tk-Latn-TM\",\"und-TN\":\"ar-Arab-TN\",\"und-TO\":\"to-Latn-TO\",\"und-TR\":\"tr-Latn-TR\",\"und-TV\":\"tvl-Latn-TV\",\"und-TW\":\"zh-Hant-TW\",\"und-TZ\":\"sw-Latn-TZ\",\"und-UA\":\"uk-Cyrl-UA\",\"und-UG\":\"sw-Latn-UG\",\"und-Ugar\":\"uga-Ugar-SY\",\"und-UY\":\"es-Latn-UY\",\"und-UZ\":\"uz-Latn-UZ\",\"und-VA\":\"it-Latn-VA\",\"und-Vaii\":\"vai-Vaii-LR\",\"und-VE\":\"es-Latn-VE\",\"und-VN\":\"vi-Latn-VN\",\"und-VU\":\"bi-Latn-VU\",\"und-Wara\":\"hoc-Wara-IN\",\"und-Wcho\":\"nnp-Wcho-IN\",\"und-WF\":\"fr-Latn-WF\",\"und-WS\":\"sm-Latn-WS\",\"und-XK\":\"sq-Latn-XK\",\"und-Xpeo\":\"peo-Xpeo-IR\",\"und-Xsux\":\"akk-Xsux-IQ\",\"und-YE\":\"ar-Arab-YE\",\"und-Yiii\":\"ii-Yiii-CN\",\"und-YT\":\"fr-Latn-YT\",\"und-Zanb\":\"cmg-Zanb-MN\",\"und-ZW\":\"sn-Latn-ZW\",unr:\"unr-Beng-IN\",\"unr-Deva\":\"unr-Deva-NP\",\"unr-NP\":\"unr-Deva-NP\",unx:\"unx-Beng-IN\",uok:\"uok-Latn-ZZ\",ur:\"ur-Arab-PK\",uri:\"uri-Latn-ZZ\",urt:\"urt-Latn-ZZ\",urw:\"urw-Latn-ZZ\",usa:\"usa-Latn-ZZ\",utr:\"utr-Latn-ZZ\",uvh:\"uvh-Latn-ZZ\",uvl:\"uvl-Latn-ZZ\",uz:\"uz-Latn-UZ\",\"uz-AF\":\"uz-Arab-AF\",\"uz-Arab\":\"uz-Arab-AF\",\"uz-CN\":\"uz-Cyrl-CN\",vag:\"vag-Latn-ZZ\",vai:\"vai-Vaii-LR\",van:\"van-Latn-ZZ\",ve:\"ve-Latn-ZA\",vec:\"vec-Latn-IT\",vep:\"vep-Latn-RU\",vi:\"vi-Latn-VN\",vic:\"vic-Latn-SX\",viv:\"viv-Latn-ZZ\",vls:\"vls-Latn-BE\",vmf:\"vmf-Latn-DE\",vmw:\"vmw-Latn-MZ\",vo:\"vo-Latn-001\",vot:\"vot-Latn-RU\",vro:\"vro-Latn-EE\",vun:\"vun-Latn-TZ\",vut:\"vut-Latn-ZZ\",wa:\"wa-Latn-BE\",wae:\"wae-Latn-CH\",waj:\"waj-Latn-ZZ\",wal:\"wal-Ethi-ET\",wan:\"wan-Latn-ZZ\",war:\"war-Latn-PH\",wbp:\"wbp-Latn-AU\",wbq:\"wbq-Telu-IN\",wbr:\"wbr-Deva-IN\",wci:\"wci-Latn-ZZ\",wer:\"wer-Latn-ZZ\",wgi:\"wgi-Latn-ZZ\",whg:\"whg-Latn-ZZ\",wib:\"wib-Latn-ZZ\",wiu:\"wiu-Latn-ZZ\",wiv:\"wiv-Latn-ZZ\",wja:\"wja-Latn-ZZ\",wji:\"wji-Latn-ZZ\",wls:\"wls-Latn-WF\",wmo:\"wmo-Latn-ZZ\",wnc:\"wnc-Latn-ZZ\",wni:\"wni-Arab-KM\",wnu:\"wnu-Latn-ZZ\",wo:\"wo-Latn-SN\",wob:\"wob-Latn-ZZ\",wos:\"wos-Latn-ZZ\",wrs:\"wrs-Latn-ZZ\",wsg:\"wsg-Gong-IN\",wsk:\"wsk-Latn-ZZ\",wtm:\"wtm-Deva-IN\",wuu:\"wuu-Hans-CN\",wuv:\"wuv-Latn-ZZ\",wwa:\"wwa-Latn-ZZ\",xav:\"xav-Latn-BR\",xbi:\"xbi-Latn-ZZ\",xcr:\"xcr-Cari-TR\",xes:\"xes-Latn-ZZ\",xh:\"xh-Latn-ZA\",xla:\"xla-Latn-ZZ\",xlc:\"xlc-Lyci-TR\",xld:\"xld-Lydi-TR\",xmf:\"xmf-Geor-GE\",xmn:\"xmn-Mani-CN\",xmr:\"xmr-Merc-SD\",xna:\"xna-Narb-SA\",xnr:\"xnr-Deva-IN\",xog:\"xog-Latn-UG\",xon:\"xon-Latn-ZZ\",xpr:\"xpr-Prti-IR\",xrb:\"xrb-Latn-ZZ\",xsa:\"xsa-Sarb-YE\",xsi:\"xsi-Latn-ZZ\",xsm:\"xsm-Latn-ZZ\",xsr:\"xsr-Deva-NP\",xwe:\"xwe-Latn-ZZ\",yam:\"yam-Latn-ZZ\",yao:\"yao-Latn-MZ\",yap:\"yap-Latn-FM\",yas:\"yas-Latn-ZZ\",yat:\"yat-Latn-ZZ\",yav:\"yav-Latn-CM\",yay:\"yay-Latn-ZZ\",yaz:\"yaz-Latn-ZZ\",yba:\"yba-Latn-ZZ\",ybb:\"ybb-Latn-CM\",yby:\"yby-Latn-ZZ\",yer:\"yer-Latn-ZZ\",ygr:\"ygr-Latn-ZZ\",ygw:\"ygw-Latn-ZZ\",yi:\"yi-Hebr-001\",yko:\"yko-Latn-ZZ\",yle:\"yle-Latn-ZZ\",ylg:\"ylg-Latn-ZZ\",yll:\"yll-Latn-ZZ\",yml:\"yml-Latn-ZZ\",yo:\"yo-Latn-NG\",yon:\"yon-Latn-ZZ\",yrb:\"yrb-Latn-ZZ\",yre:\"yre-Latn-ZZ\",yrl:\"yrl-Latn-BR\",yss:\"yss-Latn-ZZ\",yua:\"yua-Latn-MX\",yue:\"yue-Hant-HK\",\"yue-CN\":\"yue-Hans-CN\",\"yue-Hans\":\"yue-Hans-CN\",yuj:\"yuj-Latn-ZZ\",yut:\"yut-Latn-ZZ\",yuw:\"yuw-Latn-ZZ\",za:\"za-Latn-CN\",zag:\"zag-Latn-SD\",zdj:\"zdj-Arab-KM\",zea:\"zea-Latn-NL\",zgh:\"zgh-Tfng-MA\",zh:\"zh-Hans-CN\",\"zh-AU\":\"zh-Hant-AU\",\"zh-BN\":\"zh-Hant-BN\",\"zh-Bopo\":\"zh-Bopo-TW\",\"zh-GB\":\"zh-Hant-GB\",\"zh-GF\":\"zh-Hant-GF\",\"zh-Hanb\":\"zh-Hanb-TW\",\"zh-Hant\":\"zh-Hant-TW\",\"zh-HK\":\"zh-Hant-HK\",\"zh-ID\":\"zh-Hant-ID\",\"zh-MO\":\"zh-Hant-MO\",\"zh-MY\":\"zh-Hant-MY\",\"zh-PA\":\"zh-Hant-PA\",\"zh-PF\":\"zh-Hant-PF\",\"zh-PH\":\"zh-Hant-PH\",\"zh-SR\":\"zh-Hant-SR\",\"zh-TH\":\"zh-Hant-TH\",\"zh-TW\":\"zh-Hant-TW\",\"zh-US\":\"zh-Hant-US\",\"zh-VN\":\"zh-Hant-VN\",zhx:\"zhx-Nshu-CN\",zia:\"zia-Latn-ZZ\",zlm:\"zlm-Latn-TG\",zmi:\"zmi-Latn-MY\",zne:\"zne-Latn-ZZ\",zu:\"zu-Latn-ZA\",zza:\"zza-Latn-TR\"},timeData:{AX:{_allowed:\"H\",_preferred:\"H\"},BQ:{_allowed:\"H\",_preferred:\"H\"},CP:{_allowed:\"H\",_preferred:\"H\"},CZ:{_allowed:\"H\",_preferred:\"H\"},DK:{_allowed:\"H\",_preferred:\"H\"},FI:{_allowed:\"H\",_preferred:\"H\"},ID:{_allowed:\"H\",_preferred:\"H\"},IS:{_allowed:\"H\",_preferred:\"H\"},ML:{_allowed:\"H\",_preferred:\"H\"},NE:{_allowed:\"H\",_preferred:\"H\"},RU:{_allowed:\"H\",_preferred:\"H\"},SE:{_allowed:\"H\",_preferred:\"H\"},SJ:{_allowed:\"H\",_preferred:\"H\"},SK:{_allowed:\"H\",_preferred:\"H\"},AS:{_allowed:\"h H\",_preferred:\"h\"},BT:{_allowed:\"h H\",_preferred:\"h\"},DJ:{_allowed:\"h H\",_preferred:\"h\"},ER:{_allowed:\"h H\",_preferred:\"h\"},GH:{_allowed:\"h H\",_preferred:\"h\"},IN:{_allowed:\"h H\",_preferred:\"h\"},LS:{_allowed:\"h H\",_preferred:\"h\"},PG:{_allowed:\"h H\",_preferred:\"h\"},PW:{_allowed:\"h H\",_preferred:\"h\"},SO:{_allowed:\"h H\",_preferred:\"h\"},TO:{_allowed:\"h H\",_preferred:\"h\"},VU:{_allowed:\"h H\",_preferred:\"h\"},WS:{_allowed:\"h H\",_preferred:\"h\"},\"001\":{_allowed:\"H h\",_preferred:\"H\"},AL:{_allowed:\"h H hB\",_preferred:\"h\"},TD:{_allowed:\"h H hB\",_preferred:\"h\"},ca_ES:{_allowed:\"H h hB\",_preferred:\"H\"},CF:{_allowed:\"H h hB\",_preferred:\"H\"},CM:{_allowed:\"H h hB\",_preferred:\"H\"},fr_CA:{_allowed:\"H h hB\",_preferred:\"H\"},gl_ES:{_allowed:\"H h hB\",_preferred:\"H\"},it_CH:{_allowed:\"H h hB\",_preferred:\"H\"},it_IT:{_allowed:\"H h hB\",_preferred:\"H\"},LU:{_allowed:\"H h hB\",_preferred:\"H\"},NP:{_allowed:\"H h hB\",_preferred:\"H\"},PF:{_allowed:\"H h hB\",_preferred:\"H\"},SC:{_allowed:\"H h hB\",_preferred:\"H\"},SM:{_allowed:\"H h hB\",_preferred:\"H\"},SN:{_allowed:\"H h hB\",_preferred:\"H\"},TF:{_allowed:\"H h hB\",_preferred:\"H\"},VA:{_allowed:\"H h hB\",_preferred:\"H\"},CY:{_allowed:\"h H hb hB\",_preferred:\"h\"},GR:{_allowed:\"h H hb hB\",_preferred:\"h\"},CO:{_allowed:\"h H hB hb\",_preferred:\"h\"},DO:{_allowed:\"h H hB hb\",_preferred:\"h\"},KP:{_allowed:\"h H hB hb\",_preferred:\"h\"},KR:{_allowed:\"h H hB hb\",_preferred:\"h\"},NA:{_allowed:\"h H hB hb\",_preferred:\"h\"},PA:{_allowed:\"h H hB hb\",_preferred:\"h\"},PR:{_allowed:\"h H hB hb\",_preferred:\"h\"},VE:{_allowed:\"h H hB hb\",_preferred:\"h\"},AC:{_allowed:\"H h hb hB\",_preferred:\"H\"},AI:{_allowed:\"H h hb hB\",_preferred:\"H\"},BW:{_allowed:\"H h hb hB\",_preferred:\"H\"},BZ:{_allowed:\"H h hb hB\",_preferred:\"H\"},CC:{_allowed:\"H h hb hB\",_preferred:\"H\"},CK:{_allowed:\"H h hb hB\",_preferred:\"H\"},CX:{_allowed:\"H h hb hB\",_preferred:\"H\"},DG:{_allowed:\"H h hb hB\",_preferred:\"H\"},FK:{_allowed:\"H h hb hB\",_preferred:\"H\"},GB:{_allowed:\"H h hb hB\",_preferred:\"H\"},GG:{_allowed:\"H h hb hB\",_preferred:\"H\"},GI:{_allowed:\"H h hb hB\",_preferred:\"H\"},IE:{_allowed:\"H h hb hB\",_preferred:\"H\"},IM:{_allowed:\"H h hb hB\",_preferred:\"H\"},IO:{_allowed:\"H h hb hB\",_preferred:\"H\"},JE:{_allowed:\"H h hb hB\",_preferred:\"H\"},LT:{_allowed:\"H h hb hB\",_preferred:\"H\"},MK:{_allowed:\"H h hb hB\",_preferred:\"H\"},MN:{_allowed:\"H h hb hB\",_preferred:\"H\"},MS:{_allowed:\"H h hb hB\",_preferred:\"H\"},NF:{_allowed:\"H h hb hB\",_preferred:\"H\"},NG:{_allowed:\"H h hb hB\",_preferred:\"H\"},NR:{_allowed:\"H h hb hB\",_preferred:\"H\"},NU:{_allowed:\"H h hb hB\",_preferred:\"H\"},PN:{_allowed:\"H h hb hB\",_preferred:\"H\"},SH:{_allowed:\"H h hb hB\",_preferred:\"H\"},SX:{_allowed:\"H h hb hB\",_preferred:\"H\"},TA:{_allowed:\"H h hb hB\",_preferred:\"H\"},ZA:{_allowed:\"H h hb hB\",_preferred:\"H\"},af_ZA:{_allowed:\"H h hB hb\",_preferred:\"H\"},AR:{_allowed:\"H h hB hb\",_preferred:\"H\"},CL:{_allowed:\"H h hB hb\",_preferred:\"H\"},CR:{_allowed:\"H h hB hb\",_preferred:\"H\"},CU:{_allowed:\"H h hB hb\",_preferred:\"H\"},EA:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_BO:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_BR:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_EC:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_ES:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_GQ:{_allowed:\"H h hB hb\",_preferred:\"H\"},es_PE:{_allowed:\"H h hB hb\",_preferred:\"H\"},GT:{_allowed:\"H h hB hb\",_preferred:\"H\"},HN:{_allowed:\"H h hB hb\",_preferred:\"H\"},IC:{_allowed:\"H h hB hb\",_preferred:\"H\"},KG:{_allowed:\"H h hB hb\",_preferred:\"H\"},KM:{_allowed:\"H h hB hb\",_preferred:\"H\"},LK:{_allowed:\"H h hB hb\",_preferred:\"H\"},MA:{_allowed:\"H h hB hb\",_preferred:\"H\"},MX:{_allowed:\"H h hB hb\",_preferred:\"H\"},NI:{_allowed:\"H h hB hb\",_preferred:\"H\"},PY:{_allowed:\"H h hB hb\",_preferred:\"H\"},SV:{_allowed:\"H h hB hb\",_preferred:\"H\"},UY:{_allowed:\"H h hB hb\",_preferred:\"H\"},JP:{_allowed:\"H h K\",_preferred:\"H\"},AD:{_allowed:\"H hB\",_preferred:\"H\"},AM:{_allowed:\"H hB\",_preferred:\"H\"},AO:{_allowed:\"H hB\",_preferred:\"H\"},AT:{_allowed:\"H hB\",_preferred:\"H\"},AW:{_allowed:\"H hB\",_preferred:\"H\"},BE:{_allowed:\"H hB\",_preferred:\"H\"},BF:{_allowed:\"H hB\",_preferred:\"H\"},BJ:{_allowed:\"H hB\",_preferred:\"H\"},BL:{_allowed:\"H hB\",_preferred:\"H\"},BR:{_allowed:\"H hB\",_preferred:\"H\"},CG:{_allowed:\"H hB\",_preferred:\"H\"},CI:{_allowed:\"H hB\",_preferred:\"H\"},CV:{_allowed:\"H hB\",_preferred:\"H\"},DE:{_allowed:\"H hB\",_preferred:\"H\"},EE:{_allowed:\"H hB\",_preferred:\"H\"},FR:{_allowed:\"H hB\",_preferred:\"H\"},GA:{_allowed:\"H hB\",_preferred:\"H\"},GF:{_allowed:\"H hB\",_preferred:\"H\"},GN:{_allowed:\"H hB\",_preferred:\"H\"},GP:{_allowed:\"H hB\",_preferred:\"H\"},GW:{_allowed:\"H hB\",_preferred:\"H\"},HR:{_allowed:\"H hB\",_preferred:\"H\"},IL:{_allowed:\"H hB\",_preferred:\"H\"},IT:{_allowed:\"H hB\",_preferred:\"H\"},KZ:{_allowed:\"H hB\",_preferred:\"H\"},MC:{_allowed:\"H hB\",_preferred:\"H\"},MD:{_allowed:\"H hB\",_preferred:\"H\"},MF:{_allowed:\"H hB\",_preferred:\"H\"},MQ:{_allowed:\"H hB\",_preferred:\"H\"},MZ:{_allowed:\"H hB\",_preferred:\"H\"},NC:{_allowed:\"H hB\",_preferred:\"H\"},NL:{_allowed:\"H hB\",_preferred:\"H\"},PM:{_allowed:\"H hB\",_preferred:\"H\"},PT:{_allowed:\"H hB\",_preferred:\"H\"},RE:{_allowed:\"H hB\",_preferred:\"H\"},RO:{_allowed:\"H hB\",_preferred:\"H\"},SI:{_allowed:\"H hB\",_preferred:\"H\"},SR:{_allowed:\"H hB\",_preferred:\"H\"},ST:{_allowed:\"H hB\",_preferred:\"H\"},TG:{_allowed:\"H hB\",_preferred:\"H\"},TR:{_allowed:\"H hB\",_preferred:\"H\"},WF:{_allowed:\"H hB\",_preferred:\"H\"},YT:{_allowed:\"H hB\",_preferred:\"H\"},BD:{_allowed:\"h hB H\",_preferred:\"h\"},PK:{_allowed:\"h hB H\",_preferred:\"h\"},AZ:{_allowed:\"H hB h\",_preferred:\"H\"},BA:{_allowed:\"H hB h\",_preferred:\"H\"},BG:{_allowed:\"H hB h\",_preferred:\"H\"},CH:{_allowed:\"H hB h\",_preferred:\"H\"},GE:{_allowed:\"H hB h\",_preferred:\"H\"},LI:{_allowed:\"H hB h\",_preferred:\"H\"},ME:{_allowed:\"H hB h\",_preferred:\"H\"},RS:{_allowed:\"H hB h\",_preferred:\"H\"},UA:{_allowed:\"H hB h\",_preferred:\"H\"},UZ:{_allowed:\"H hB h\",_preferred:\"H\"},XK:{_allowed:\"H hB h\",_preferred:\"H\"},AG:{_allowed:\"h hb H hB\",_preferred:\"h\"},AU:{_allowed:\"h hb H hB\",_preferred:\"h\"},BB:{_allowed:\"h hb H hB\",_preferred:\"h\"},BM:{_allowed:\"h hb H hB\",_preferred:\"h\"},BS:{_allowed:\"h hb H hB\",_preferred:\"h\"},CA:{_allowed:\"h hb H hB\",_preferred:\"h\"},DM:{_allowed:\"h hb H hB\",_preferred:\"h\"},en_001:{_allowed:\"h hb H hB\",_preferred:\"h\"},FJ:{_allowed:\"h hb H hB\",_preferred:\"h\"},FM:{_allowed:\"h hb H hB\",_preferred:\"h\"},GD:{_allowed:\"h hb H hB\",_preferred:\"h\"},GM:{_allowed:\"h hb H hB\",_preferred:\"h\"},GU:{_allowed:\"h hb H hB\",_preferred:\"h\"},GY:{_allowed:\"h hb H hB\",_preferred:\"h\"},JM:{_allowed:\"h hb H hB\",_preferred:\"h\"},KI:{_allowed:\"h hb H hB\",_preferred:\"h\"},KN:{_allowed:\"h hb H hB\",_preferred:\"h\"},KY:{_allowed:\"h hb H hB\",_preferred:\"h\"},LC:{_allowed:\"h hb H hB\",_preferred:\"h\"},LR:{_allowed:\"h hb H hB\",_preferred:\"h\"},MH:{_allowed:\"h hb H hB\",_preferred:\"h\"},MP:{_allowed:\"h hb H hB\",_preferred:\"h\"},MW:{_allowed:\"h hb H hB\",_preferred:\"h\"},NZ:{_allowed:\"h hb H hB\",_preferred:\"h\"},SB:{_allowed:\"h hb H hB\",_preferred:\"h\"},SG:{_allowed:\"h hb H hB\",_preferred:\"h\"},SL:{_allowed:\"h hb H hB\",_preferred:\"h\"},SS:{_allowed:\"h hb H hB\",_preferred:\"h\"},SZ:{_allowed:\"h hb H hB\",_preferred:\"h\"},TC:{_allowed:\"h hb H hB\",_preferred:\"h\"},TT:{_allowed:\"h hb H hB\",_preferred:\"h\"},UM:{_allowed:\"h hb H hB\",_preferred:\"h\"},US:{_allowed:\"h hb H hB\",_preferred:\"h\"},VC:{_allowed:\"h hb H hB\",_preferred:\"h\"},VG:{_allowed:\"h hb H hB\",_preferred:\"h\"},VI:{_allowed:\"h hb H hB\",_preferred:\"h\"},ZM:{_allowed:\"h hb H hB\",_preferred:\"h\"},BO:{_allowed:\"H hB h hb\",_preferred:\"H\"},EC:{_allowed:\"H hB h hb\",_preferred:\"H\"},ES:{_allowed:\"H hB h hb\",_preferred:\"H\"},GQ:{_allowed:\"H hB h hb\",_preferred:\"H\"},PE:{_allowed:\"H hB h hb\",_preferred:\"H\"},AE:{_allowed:\"h hB hb H\",_preferred:\"h\"},ar_001:{_allowed:\"h hB hb H\",_preferred:\"h\"},BH:{_allowed:\"h hB hb H\",_preferred:\"h\"},DZ:{_allowed:\"h hB hb H\",_preferred:\"h\"},EG:{_allowed:\"h hB hb H\",_preferred:\"h\"},EH:{_allowed:\"h hB hb H\",_preferred:\"h\"},IQ:{_allowed:\"h hB hb H\",_preferred:\"h\"},JO:{_allowed:\"h hB hb H\",_preferred:\"h\"},KW:{_allowed:\"h hB hb H\",_preferred:\"h\"},LB:{_allowed:\"h hB hb H\",_preferred:\"h\"},LY:{_allowed:\"h hB hb H\",_preferred:\"h\"},MR:{_allowed:\"h hB hb H\",_preferred:\"h\"},OM:{_allowed:\"h hB hb H\",_preferred:\"h\"},PH:{_allowed:\"h hB hb H\",_preferred:\"h\"},PS:{_allowed:\"h hB hb H\",_preferred:\"h\"},QA:{_allowed:\"h hB hb H\",_preferred:\"h\"},SA:{_allowed:\"h hB hb H\",_preferred:\"h\"},SD:{_allowed:\"h hB hb H\",_preferred:\"h\"},SY:{_allowed:\"h hB hb H\",_preferred:\"h\"},TN:{_allowed:\"h hB hb H\",_preferred:\"h\"},YE:{_allowed:\"h hB hb H\",_preferred:\"h\"},AF:{_allowed:\"H hb hB h\",_preferred:\"H\"},LA:{_allowed:\"H hb hB h\",_preferred:\"H\"},LV:{_allowed:\"H hB hb h\",_preferred:\"H\"},TL:{_allowed:\"H hB hb h\",_preferred:\"H\"},zu_ZA:{_allowed:\"H hB hb h\",_preferred:\"H\"},CD:{_allowed:\"hB H\",_preferred:\"H\"},IR:{_allowed:\"hB H\",_preferred:\"H\"},hi_IN:{_allowed:\"hB h H\",_preferred:\"h\"},kn_IN:{_allowed:\"hB h H\",_preferred:\"h\"},ml_IN:{_allowed:\"hB h H\",_preferred:\"h\"},te_IN:{_allowed:\"hB h H\",_preferred:\"h\"},KH:{_allowed:\"hB h H hb\",_preferred:\"h\"},ta_IN:{_allowed:\"hB h hb H\",_preferred:\"h\"},BN:{_allowed:\"hb hB h H\",_preferred:\"h\"},MY:{_allowed:\"hb hB h H\",_preferred:\"h\"},CN:{_allowed:\"hB hb h H\",_preferred:\"h\"},ET:{_allowed:\"hB hb h H\",_preferred:\"h\"},gu_IN:{_allowed:\"hB hb h H\",_preferred:\"h\"},HK:{_allowed:\"hB hb h H\",_preferred:\"h\"},MO:{_allowed:\"hB hb h H\",_preferred:\"h\"},mr_IN:{_allowed:\"hB hb h H\",_preferred:\"h\"},pa_IN:{_allowed:\"hB hb h H\",_preferred:\"h\"},TW:{_allowed:\"hB hb h H\",_preferred:\"h\"},KE:{_allowed:\"hB hb H h\",_preferred:\"H\"},MM:{_allowed:\"hB hb H h\",_preferred:\"H\"},TZ:{_allowed:\"hB hb H h\",_preferred:\"H\"},UG:{_allowed:\"hB hb H h\",_preferred:\"H\"}},weekData:{minDays:{\"001\":\"1\",AD:\"4\",AN:\"4\",AT:\"4\",AX:\"4\",BE:\"4\",BG:\"4\",CH:\"4\",CZ:\"4\",DE:\"4\",DK:\"4\",EE:\"4\",ES:\"4\",FI:\"4\",FJ:\"4\",FO:\"4\",FR:\"4\",GB:\"4\",GF:\"4\",GG:\"4\",GI:\"4\",GP:\"4\",GR:\"4\",GU:\"1\",HU:\"4\",IE:\"4\",IM:\"4\",IS:\"4\",IT:\"4\",JE:\"4\",LI:\"4\",LT:\"4\",LU:\"4\",MC:\"4\",MQ:\"4\",NL:\"4\",NO:\"4\",PL:\"4\",PT:\"4\",RE:\"4\",RU:\"4\",SE:\"4\",SJ:\"4\",SK:\"4\",SM:\"4\",UM:\"1\",US:\"1\",VA:\"4\",VI:\"1\"},firstDay:{\"001\":\"mon\",AD:\"mon\",AE:\"sat\",AF:\"sat\",AG:\"sun\",AI:\"mon\",AL:\"mon\",AM:\"mon\",AN:\"mon\",AR:\"mon\",AS:\"sun\",AT:\"mon\",AU:\"sun\",AX:\"mon\",AZ:\"mon\",BA:\"mon\",BD:\"sun\",BE:\"mon\",BG:\"mon\",BH:\"sat\",BM:\"mon\",BN:\"mon\",BR:\"sun\",BS:\"sun\",BT:\"sun\",BW:\"sun\",BY:\"mon\",BZ:\"sun\",CA:\"sun\",CH:\"mon\",CL:\"mon\",CM:\"mon\",CN:\"sun\",CO:\"sun\",CR:\"mon\",CY:\"mon\",CZ:\"mon\",DE:\"mon\",DJ:\"sat\",DK:\"mon\",DM:\"sun\",DO:\"sun\",DZ:\"sat\",EC:\"mon\",EE:\"mon\",EG:\"sat\",ES:\"mon\",ET:\"sun\",FI:\"mon\",FJ:\"mon\",FO:\"mon\",FR:\"mon\",GB:\"mon\",\"GB-alt-variant\":\"sun\",GE:\"mon\",GF:\"mon\",GP:\"mon\",GR:\"mon\",GT:\"sun\",GU:\"sun\",HK:\"sun\",HN:\"sun\",HR:\"mon\",HU:\"mon\",ID:\"sun\",IE:\"mon\",IL:\"sun\",IN:\"sun\",IQ:\"sat\",IR:\"sat\",IS:\"mon\",IT:\"mon\",JM:\"sun\",JO:\"sat\",JP:\"sun\",KE:\"sun\",KG:\"mon\",KH:\"sun\",KR:\"sun\",KW:\"sat\",KZ:\"mon\",LA:\"sun\",LB:\"mon\",LI:\"mon\",LK:\"mon\",LT:\"mon\",LU:\"mon\",LV:\"mon\",LY:\"sat\",MC:\"mon\",MD:\"mon\",ME:\"mon\",MH:\"sun\",MK:\"mon\",MM:\"sun\",MN:\"mon\",MO:\"sun\",MQ:\"mon\",MT:\"sun\",MV:\"fri\",MX:\"sun\",MY:\"mon\",MZ:\"sun\",NI:\"sun\",NL:\"mon\",NO:\"mon\",NP:\"sun\",NZ:\"mon\",OM:\"sat\",PA:\"sun\",PE:\"sun\",PH:\"sun\",PK:\"sun\",PL:\"mon\",PR:\"sun\",PT:\"sun\",PY:\"sun\",QA:\"sat\",RE:\"mon\",RO:\"mon\",RS:\"mon\",RU:\"mon\",SA:\"sun\",SD:\"sat\",SE:\"mon\",SG:\"sun\",SI:\"mon\",SK:\"mon\",SM:\"mon\",SV:\"sun\",SY:\"sat\",TH:\"sun\",TJ:\"mon\",TM:\"mon\",TR:\"mon\",TT:\"sun\",TW:\"sun\",UA:\"mon\",UM:\"sun\",US:\"sun\",UY:\"mon\",UZ:\"mon\",VA:\"mon\",VE:\"sun\",VI:\"sun\",VN:\"mon\",WS:\"sun\",XK:\"mon\",YE:\"sun\",ZA:\"sun\",ZW:\"sun\"},weekendStart:{\"001\":\"sat\",AE:\"fri\",AF:\"thu\",BH:\"fri\",DZ:\"fri\",EG:\"fri\",IL:\"fri\",IN:\"sun\",IQ:\"fri\",IR:\"fri\",JO:\"fri\",KW:\"fri\",LY:\"fri\",OM:\"fri\",QA:\"fri\",SA:\"fri\",SD:\"fri\",SY:\"fri\",UG:\"sun\",YE:\"fri\"},weekendEnd:{\"001\":\"sun\",AE:\"sat\",AF:\"fri\",BH:\"sat\",DZ:\"sat\",EG:\"sat\",IL:\"sat\",IQ:\"sat\",IR:\"fri\",JO:\"sat\",KW:\"sat\",LY:\"sat\",OM:\"sat\",QA:\"sat\",SA:\"sat\",SD:\"sat\",SY:\"sat\",YE:\"sat\"},af:{_ordering:\"weekOfDate weekOfInterval weekOfMonth\"},\"am az bs cs cy da el et hi ky lt mk sk ta th\":{_ordering:\"weekOfYear weekOfMonth\"},\"ar fil gu hu hy id kk ko\":{_ordering:\"weekOfMonth\"},\"be ro ru\":{_ordering:\"weekOfInterval weekOfMonth\"},\"bg de iw pt ur zh\":{_ordering:\"weekOfDate weekOfMonth weekOfInterval\"},\"ca es fr gl\":{_ordering:\"weekOfDate\"},\"en bn ja ka\":{_ordering:\"weekOfDate weekOfMonth\"},eu:{_ordering:\"weekOfMonth weekOfDate\"},\"fa hr it lv pl si sr uk uz\":{_ordering:\"weekOfMonth weekOfInterval\"},\"fi zh-TW\":{_ordering:\"weekOfYear weekOfDate weekOfMonth\"},\"is mn no sv vi\":{_ordering:\"weekOfYear weekOfMonth weekOfInterval\"},\"km mr\":{_ordering:\"weekOfMonth weekOfYear\"},\"kn ml pa\":{_ordering:\"weekOfMonth weekOfDate weekOfYear\"},\"lo sq\":{_ordering:\"weekOfMonth weekOfInterval weekOfDate weekOfYear\"},\"ms tr\":{_ordering:\"weekOfMonth weekOfYear weekOfInterval weekOfDate\"},nl:{_ordering:\"weekOfDate weekOfYear weekOfMonth\"},sl:{_ordering:\"weekOfInterval\"},\"sw te\":{_ordering:\"weekOfMonth weekOfInterval weekOfYear\"},und:{_ordering:\"weekOfYear\"},zu:{_ordering:\"weekOfYear weekOfInterval\"}},currencyData:{fractions:{ADP:{_rounding:\"0\",_digits:\"0\"},AFN:{_rounding:\"0\",_digits:\"0\"},ALL:{_rounding:\"0\",_digits:\"0\"},AMD:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},BHD:{_rounding:\"0\",_digits:\"3\"},BIF:{_rounding:\"0\",_digits:\"0\"},BYN:{_rounding:\"0\",_digits:\"2\"},BYR:{_rounding:\"0\",_digits:\"0\"},CAD:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"5\"},CHF:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"5\"},CLF:{_rounding:\"0\",_digits:\"4\"},CLP:{_rounding:\"0\",_digits:\"0\"},COP:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},CRC:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},CZK:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},DEFAULT:{_rounding:\"0\",_digits:\"2\"},DJF:{_rounding:\"0\",_digits:\"0\"},DKK:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"50\"},ESP:{_rounding:\"0\",_digits:\"0\"},GNF:{_rounding:\"0\",_digits:\"0\"},GYD:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},HUF:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},IDR:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},IQD:{_rounding:\"0\",_digits:\"0\"},IRR:{_rounding:\"0\",_digits:\"0\"},ISK:{_rounding:\"0\",_digits:\"0\"},ITL:{_rounding:\"0\",_digits:\"0\"},JOD:{_rounding:\"0\",_digits:\"3\"},JPY:{_rounding:\"0\",_digits:\"0\"},KMF:{_rounding:\"0\",_digits:\"0\"},KPW:{_rounding:\"0\",_digits:\"0\"},KRW:{_rounding:\"0\",_digits:\"0\"},KWD:{_rounding:\"0\",_digits:\"3\"},LAK:{_rounding:\"0\",_digits:\"0\"},LBP:{_rounding:\"0\",_digits:\"0\"},LUF:{_rounding:\"0\",_digits:\"0\"},LYD:{_rounding:\"0\",_digits:\"3\"},MGA:{_rounding:\"0\",_digits:\"0\"},MGF:{_rounding:\"0\",_digits:\"0\"},MMK:{_rounding:\"0\",_digits:\"0\"},MNT:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},MRO:{_rounding:\"0\",_digits:\"0\"},MUR:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},NOK:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},OMR:{_rounding:\"0\",_digits:\"3\"},PKR:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},PYG:{_rounding:\"0\",_digits:\"0\"},RSD:{_rounding:\"0\",_digits:\"0\"},RWF:{_rounding:\"0\",_digits:\"0\"},SEK:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},SLL:{_rounding:\"0\",_digits:\"0\"},SOS:{_rounding:\"0\",_digits:\"0\"},STD:{_rounding:\"0\",_digits:\"0\"},SYP:{_rounding:\"0\",_digits:\"0\"},TMM:{_rounding:\"0\",_digits:\"0\"},TND:{_rounding:\"0\",_digits:\"3\"},TRL:{_rounding:\"0\",_digits:\"0\"},TWD:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},TZS:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},UGX:{_rounding:\"0\",_digits:\"0\"},UYI:{_rounding:\"0\",_digits:\"0\"},UYW:{_rounding:\"0\",_digits:\"4\"},UZS:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},VEF:{_rounding:\"0\",_digits:\"2\",_cashRounding:\"0\",_cashDigits:\"0\"},VND:{_rounding:\"0\",_digits:\"0\"},VUV:{_rounding:\"0\",_digits:\"0\"},XAF:{_rounding:\"0\",_digits:\"0\"},XOF:{_rounding:\"0\",_digits:\"0\"},XPF:{_rounding:\"0\",_digits:\"0\"},YER:{_rounding:\"0\",_digits:\"0\"},ZMK:{_rounding:\"0\",_digits:\"0\"},ZWD:{_rounding:\"0\",_digits:\"0\"}},region:{AC:[{SHP:{_from:\"1976-01-01\"}}],AD:[{ESP:{_from:\"1873-01-01\",_to:\"2002-02-28\"}},{ADP:{_from:\"1936-01-01\",_to:\"2001-12-31\"}},{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],AE:[{AED:{_from:\"1973-05-19\"}}],AF:[{AFA:{_from:\"1927-03-14\",_to:\"2002-12-31\"}},{AFN:{_from:\"2002-10-07\"}}],AG:[{XCD:{_from:\"1965-10-06\"}}],AI:[{XCD:{_from:\"1965-10-06\"}}],AL:[{ALK:{_from:\"1946-11-01\",_to:\"1965-08-16\"}},{ALL:{_from:\"1965-08-16\"}}],AM:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1993-11-22\"}},{AMD:{_from:\"1993-11-22\"}}],AO:[{AOK:{_from:\"1977-01-08\",_to:\"1991-03-01\"}},{AON:{_from:\"1990-09-25\",_to:\"2000-02-01\"}},{AOR:{_from:\"1995-07-01\",_to:\"2000-02-01\"}},{AOA:{_from:\"1999-12-13\"}}],AQ:[{XXX:{_tender:\"false\"}}],AR:[{ARM:{_from:\"1881-11-05\",_to:\"1970-01-01\"}},{ARL:{_from:\"1970-01-01\",_to:\"1983-06-01\"}},{ARP:{_from:\"1983-06-01\",_to:\"1985-06-14\"}},{ARA:{_from:\"1985-06-14\",_to:\"1992-01-01\"}},{ARS:{_from:\"1992-01-01\"}}],AS:[{USD:{_from:\"1904-07-16\"}}],AT:[{ATS:{_from:\"1947-12-04\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],AU:[{AUD:{_from:\"1966-02-14\"}}],AW:[{ANG:{_from:\"1940-05-10\",_to:\"1986-01-01\"}},{AWG:{_from:\"1986-01-01\"}}],AX:[{EUR:{_from:\"1999-01-01\"}}],AZ:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1994-01-01\"}},{AZM:{_from:\"1993-11-22\",_to:\"2006-12-31\"}},{AZN:{_from:\"2006-01-01\"}}],BA:[{YUD:{_from:\"1966-01-01\",_to:\"1990-01-01\"}},{YUN:{_from:\"1990-01-01\",_to:\"1992-07-01\"}},{YUR:{_from:\"1992-07-01\",_to:\"1993-10-01\"}},{BAD:{_from:\"1992-07-01\",_to:\"1994-08-15\"}},{BAN:{_from:\"1994-08-15\",_to:\"1997-07-01\"}},{BAM:{_from:\"1995-01-01\"}}],BB:[{XCD:{_from:\"1965-10-06\",_to:\"1973-12-03\"}},{BBD:{_from:\"1973-12-03\"}}],BD:[{INR:{_from:\"1835-08-17\",_to:\"1948-04-01\"}},{PKR:{_from:\"1948-04-01\",_to:\"1972-01-01\"}},{BDT:{_from:\"1972-01-01\"}}],BE:[{NLG:{_from:\"1816-12-15\",_to:\"1831-02-07\"}},{BEF:{_from:\"1831-02-07\",_to:\"2002-02-28\"}},{BEC:{_tender:\"false\",_from:\"1970-01-01\",_to:\"1990-03-05\"}},{BEL:{_tender:\"false\",_from:\"1970-01-01\",_to:\"1990-03-05\"}},{EUR:{_from:\"1999-01-01\"}}],BF:[{XOF:{_from:\"1984-08-04\"}}],BG:[{BGO:{_from:\"1879-07-08\",_to:\"1952-05-12\"}},{BGM:{_from:\"1952-05-12\",_to:\"1962-01-01\"}},{BGL:{_from:\"1962-01-01\",_to:\"1999-07-05\"}},{BGN:{_from:\"1999-07-05\"}}],BH:[{BHD:{_from:\"1965-10-16\"}}],BI:[{BIF:{_from:\"1964-05-19\"}}],BJ:[{XOF:{_from:\"1975-11-30\"}}],BL:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],BM:[{BMD:{_from:\"1970-02-06\"}}],BN:[{MYR:{_from:\"1963-09-16\",_to:\"1967-06-12\"}},{BND:{_from:\"1967-06-12\"}}],BO:[{BOV:{_tender:\"false\"}},{BOL:{_from:\"1863-06-23\",_to:\"1963-01-01\"}},{BOP:{_from:\"1963-01-01\",_to:\"1986-12-31\"}},{BOB:{_from:\"1987-01-01\"}}],BQ:[{ANG:{_from:\"2010-10-10\",_to:\"2011-01-01\"}},{USD:{_from:\"2011-01-01\"}}],BR:[{BRZ:{_from:\"1942-11-01\",_to:\"1967-02-13\"}},{BRB:{_from:\"1967-02-13\",_to:\"1986-02-28\"}},{BRC:{_from:\"1986-02-28\",_to:\"1989-01-15\"}},{BRN:{_from:\"1989-01-15\",_to:\"1990-03-16\"}},{BRE:{_from:\"1990-03-16\",_to:\"1993-08-01\"}},{BRR:{_from:\"1993-08-01\",_to:\"1994-07-01\"}},{BRL:{_from:\"1994-07-01\"}}],BS:[{BSD:{_from:\"1966-05-25\"}}],BT:[{INR:{_from:\"1907-01-01\"}},{BTN:{_from:\"1974-04-16\"}}],BU:[{BUK:{_from:\"1952-07-01\",_to:\"1989-06-18\"}}],BV:[{NOK:{_from:\"1905-06-07\"}}],BW:[{ZAR:{_from:\"1961-02-14\",_to:\"1976-08-23\"}},{BWP:{_from:\"1976-08-23\"}}],BY:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1994-11-08\"}},{BYB:{_from:\"1994-08-01\",_to:\"2000-12-31\"}},{BYR:{_from:\"2000-01-01\",_to:\"2017-01-01\"}},{BYN:{_from:\"2016-07-01\"}}],BZ:[{BZD:{_from:\"1974-01-01\"}}],CA:[{CAD:{_from:\"1858-01-01\"}}],CC:[{AUD:{_from:\"1966-02-14\"}}],CD:[{ZRZ:{_from:\"1971-10-27\",_to:\"1993-11-01\"}},{ZRN:{_from:\"1993-11-01\",_to:\"1998-07-01\"}},{CDF:{_from:\"1998-07-01\"}}],CF:[{XAF:{_from:\"1993-01-01\"}}],CG:[{XAF:{_from:\"1993-01-01\"}}],CH:[{CHE:{_tender:\"false\"}},{CHW:{_tender:\"false\"}},{CHF:{_from:\"1799-03-17\"}}],CI:[{XOF:{_from:\"1958-12-04\"}}],CK:[{NZD:{_from:\"1967-07-10\"}}],CL:[{CLF:{_tender:\"false\"}},{CLE:{_from:\"1960-01-01\",_to:\"1975-09-29\"}},{CLP:{_from:\"1975-09-29\"}}],CM:[{XAF:{_from:\"1973-04-01\"}}],CN:[{CNY:{_from:\"1953-03-01\"}},{CNX:{_tender:\"false\",_from:\"1979-01-01\",_to:\"1998-12-31\"}},{CNH:{_tender:\"false\",_from:\"2010-07-19\"}}],CO:[{COU:{_tender:\"false\"}},{COP:{_from:\"1905-01-01\"}}],CP:[{XXX:{_tender:\"false\"}}],CR:[{CRC:{_from:\"1896-10-26\"}}],CS:[{YUM:{_from:\"1994-01-24\",_to:\"2002-05-15\"}},{CSD:{_from:\"2002-05-15\",_to:\"2006-06-03\"}},{EUR:{_from:\"2003-02-04\",_to:\"2006-06-03\"}}],CU:[{CUP:{_from:\"1859-01-01\"}},{USD:{_from:\"1899-01-01\",_to:\"1959-01-01\"}},{CUC:{_from:\"1994-01-01\"}}],CV:[{PTE:{_from:\"1911-05-22\",_to:\"1975-07-05\"}},{CVE:{_from:\"1914-01-01\"}}],CW:[{ANG:{_from:\"2010-10-10\"}}],CX:[{AUD:{_from:\"1966-02-14\"}}],CY:[{CYP:{_from:\"1914-09-10\",_to:\"2008-01-31\"}},{EUR:{_from:\"2008-01-01\"}}],CZ:[{CSK:{_from:\"1953-06-01\",_to:\"1993-03-01\"}},{CZK:{_from:\"1993-01-01\"}}],DD:[{DDM:{_from:\"1948-07-20\",_to:\"1990-10-02\"}}],DE:[{DEM:{_from:\"1948-06-20\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],DG:[{USD:{_from:\"1965-11-08\"}}],DJ:[{DJF:{_from:\"1977-06-27\"}}],DK:[{DKK:{_from:\"1873-05-27\"}}],DM:[{XCD:{_from:\"1965-10-06\"}}],DO:[{USD:{_from:\"1905-06-21\",_to:\"1947-10-01\"}},{DOP:{_from:\"1947-10-01\"}}],DZ:[{DZD:{_from:\"1964-04-01\"}}],EA:[{EUR:{_from:\"1999-01-01\"}}],EC:[{ECS:{_from:\"1884-04-01\",_to:\"2000-10-02\"}},{ECV:{_tender:\"false\",_from:\"1993-05-23\",_to:\"2000-01-09\"}},{USD:{_from:\"2000-10-02\"}}],EE:[{SUR:{_from:\"1961-01-01\",_to:\"1992-06-20\"}},{EEK:{_from:\"1992-06-21\",_to:\"2010-12-31\"}},{EUR:{_from:\"2011-01-01\"}}],EG:[{EGP:{_from:\"1885-11-14\"}}],EH:[{MAD:{_from:\"1976-02-26\"}}],ER:[{ETB:{_from:\"1993-05-24\",_to:\"1997-11-08\"}},{ERN:{_from:\"1997-11-08\"}}],ES:[{ESP:{_from:\"1868-10-19\",_to:\"2002-02-28\"}},{ESB:{_tender:\"false\",_from:\"1975-01-01\",_to:\"1994-12-31\"}},{ESA:{_tender:\"false\",_from:\"1978-01-01\",_to:\"1981-12-31\"}},{EUR:{_from:\"1999-01-01\"}}],ET:[{ETB:{_from:\"1976-09-15\"}}],EU:[{XEU:{_tender:\"false\",_from:\"1979-01-01\",_to:\"1998-12-31\"}},{EUR:{_from:\"1999-01-01\"}}],FI:[{FIM:{_from:\"1963-01-01\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],FJ:[{FJD:{_from:\"1969-01-13\"}}],FK:[{FKP:{_from:\"1901-01-01\"}}],FM:[{JPY:{_from:\"1914-10-03\",_to:\"1944-01-01\"}},{USD:{_from:\"1944-01-01\"}}],FO:[{DKK:{_from:\"1948-01-01\"}}],FR:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],GA:[{XAF:{_from:\"1993-01-01\"}}],GB:[{GBP:{_from:\"1694-07-27\"}}],GD:[{XCD:{_from:\"1967-02-27\"}}],GE:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1993-06-11\"}},{GEK:{_from:\"1993-04-05\",_to:\"1995-09-25\"}},{GEL:{_from:\"1995-09-23\"}}],GF:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],GG:[{GBP:{_from:\"1830-01-01\"}}],GH:[{GHC:{_from:\"1979-03-09\",_to:\"2007-12-31\"}},{GHS:{_from:\"2007-07-03\"}}],GI:[{GIP:{_from:\"1713-01-01\"}}],GL:[{DKK:{_from:\"1873-05-27\"}}],GM:[{GMD:{_from:\"1971-07-01\"}}],GN:[{GNS:{_from:\"1972-10-02\",_to:\"1986-01-06\"}},{GNF:{_from:\"1986-01-06\"}}],GP:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],GQ:[{GQE:{_from:\"1975-07-07\",_to:\"1986-06-01\"}},{XAF:{_from:\"1993-01-01\"}}],GR:[{GRD:{_from:\"1954-05-01\",_to:\"2002-02-28\"}},{EUR:{_from:\"2001-01-01\"}}],GS:[{GBP:{_from:\"1908-01-01\"}}],GT:[{GTQ:{_from:\"1925-05-27\"}}],GU:[{USD:{_from:\"1944-08-21\"}}],GW:[{GWE:{_from:\"1914-01-01\",_to:\"1976-02-28\"}},{GWP:{_from:\"1976-02-28\",_to:\"1997-03-31\"}},{XOF:{_from:\"1997-03-31\"}}],GY:[{GYD:{_from:\"1966-05-26\"}}],HK:[{HKD:{_from:\"1895-02-02\"}}],HM:[{AUD:{_from:\"1967-02-16\"}}],HN:[{HNL:{_from:\"1926-04-03\"}}],HR:[{YUD:{_from:\"1966-01-01\",_to:\"1990-01-01\"}},{YUN:{_from:\"1990-01-01\",_to:\"1991-12-23\"}},{HRD:{_from:\"1991-12-23\",_to:\"1995-01-01\"}},{HRK:{_from:\"1994-05-30\"}}],HT:[{HTG:{_from:\"1872-08-26\"}},{USD:{_from:\"1915-01-01\"}}],HU:[{HUF:{_from:\"1946-07-23\"}}],IC:[{EUR:{_from:\"1999-01-01\"}}],ID:[{IDR:{_from:\"1965-12-13\"}}],IE:[{GBP:{_from:\"1800-01-01\",_to:\"1922-01-01\"}},{IEP:{_from:\"1922-01-01\",_to:\"2002-02-09\"}},{EUR:{_from:\"1999-01-01\"}}],IL:[{ILP:{_from:\"1948-08-16\",_to:\"1980-02-22\"}},{ILR:{_from:\"1980-02-22\",_to:\"1985-09-04\"}},{ILS:{_from:\"1985-09-04\"}}],IM:[{GBP:{_from:\"1840-01-03\"}}],IN:[{INR:{_from:\"1835-08-17\"}}],IO:[{USD:{_from:\"1965-11-08\"}}],IQ:[{EGP:{_from:\"1920-11-11\",_to:\"1931-04-19\"}},{INR:{_from:\"1920-11-11\",_to:\"1931-04-19\"}},{IQD:{_from:\"1931-04-19\"}}],IR:[{IRR:{_from:\"1932-05-13\"}}],IS:[{DKK:{_from:\"1873-05-27\",_to:\"1918-12-01\"}},{ISJ:{_from:\"1918-12-01\",_to:\"1981-01-01\"}},{ISK:{_from:\"1981-01-01\"}}],IT:[{ITL:{_from:\"1862-08-24\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],JE:[{GBP:{_from:\"1837-01-01\"}}],JM:[{JMD:{_from:\"1969-09-08\"}}],JO:[{JOD:{_from:\"1950-07-01\"}}],JP:[{JPY:{_from:\"1871-06-01\"}}],KE:[{KES:{_from:\"1966-09-14\"}}],KG:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1993-05-10\"}},{KGS:{_from:\"1993-05-10\"}}],KH:[{KHR:{_from:\"1980-03-20\"}}],KI:[{AUD:{_from:\"1966-02-14\"}}],KM:[{KMF:{_from:\"1975-07-06\"}}],KN:[{XCD:{_from:\"1965-10-06\"}}],KP:[{KPW:{_from:\"1959-04-17\"}}],KR:[{KRO:{_from:\"1945-08-15\",_to:\"1953-02-15\"}},{KRH:{_from:\"1953-02-15\",_to:\"1962-06-10\"}},{KRW:{_from:\"1962-06-10\"}}],KW:[{KWD:{_from:\"1961-04-01\"}}],KY:[{JMD:{_from:\"1969-09-08\",_to:\"1971-01-01\"}},{KYD:{_from:\"1971-01-01\"}}],KZ:[{KZT:{_from:\"1993-11-05\"}}],LA:[{LAK:{_from:\"1979-12-10\"}}],LB:[{LBP:{_from:\"1948-02-02\"}}],LC:[{XCD:{_from:\"1965-10-06\"}}],LI:[{CHF:{_from:\"1921-02-01\"}}],LK:[{LKR:{_from:\"1978-05-22\"}}],LR:[{LRD:{_from:\"1944-01-01\"}}],LS:[{ZAR:{_from:\"1961-02-14\"}},{LSL:{_from:\"1980-01-22\"}}],LT:[{SUR:{_from:\"1961-01-01\",_to:\"1992-10-01\"}},{LTT:{_from:\"1992-10-01\",_to:\"1993-06-25\"}},{LTL:{_from:\"1993-06-25\",_to:\"2014-12-31\"}},{EUR:{_from:\"2015-01-01\"}}],LU:[{LUF:{_from:\"1944-09-04\",_to:\"2002-02-28\"}},{LUC:{_tender:\"false\",_from:\"1970-01-01\",_to:\"1990-03-05\"}},{LUL:{_tender:\"false\",_from:\"1970-01-01\",_to:\"1990-03-05\"}},{EUR:{_from:\"1999-01-01\"}}],LV:[{SUR:{_from:\"1961-01-01\",_to:\"1992-07-20\"}},{LVR:{_from:\"1992-05-07\",_to:\"1993-10-17\"}},{LVL:{_from:\"1993-06-28\",_to:\"2013-12-31\"}},{EUR:{_from:\"2014-01-01\"}}],LY:[{LYD:{_from:\"1971-09-01\"}}],MA:[{MAF:{_from:\"1881-01-01\",_to:\"1959-10-17\"}},{MAD:{_from:\"1959-10-17\"}}],MC:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{MCF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],MD:[{MDC:{_from:\"1992-06-01\",_to:\"1993-11-29\"}},{MDL:{_from:\"1993-11-29\"}}],ME:[{YUM:{_from:\"1994-01-24\",_to:\"2002-05-15\"}},{DEM:{_from:\"1999-10-02\",_to:\"2002-05-15\"}},{EUR:{_from:\"2002-01-01\"}}],MF:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],MG:[{MGF:{_from:\"1963-07-01\",_to:\"2004-12-31\"}},{MGA:{_from:\"1983-11-01\"}}],MH:[{USD:{_from:\"1944-01-01\"}}],MK:[{MKN:{_from:\"1992-04-26\",_to:\"1993-05-20\"}},{MKD:{_from:\"1993-05-20\"}}],ML:[{XOF:{_from:\"1958-11-24\",_to:\"1962-07-02\"}},{MLF:{_from:\"1962-07-02\",_to:\"1984-08-31\"}},{XOF:{_from:\"1984-06-01\"}}],MM:[{BUK:{_from:\"1952-07-01\",_to:\"1989-06-18\"}},{MMK:{_from:\"1989-06-18\"}}],MN:[{MNT:{_from:\"1915-03-01\"}}],MO:[{MOP:{_from:\"1901-01-01\"}}],MP:[{USD:{_from:\"1944-01-01\"}}],MQ:[{FRF:{_from:\"1960-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],MR:[{XOF:{_from:\"1958-11-28\",_to:\"1973-06-29\"}},{MRO:{_from:\"1973-06-29\",_to:\"2018-06-30\"}},{MRU:{_from:\"2018-01-01\"}}],MS:[{XCD:{_from:\"1967-02-27\"}}],MT:[{MTP:{_from:\"1914-08-13\",_to:\"1968-06-07\"}},{MTL:{_from:\"1968-06-07\",_to:\"2008-01-31\"}},{EUR:{_from:\"2008-01-01\"}}],MU:[{MUR:{_from:\"1934-04-01\"}}],MV:[{MVP:{_from:\"1947-01-01\",_to:\"1981-07-01\"}},{MVR:{_from:\"1981-07-01\"}}],MW:[{MWK:{_from:\"1971-02-15\"}}],MX:[{MXV:{_tender:\"false\"}},{MXP:{_from:\"1822-01-01\",_to:\"1992-12-31\"}},{MXN:{_from:\"1993-01-01\"}}],MY:[{MYR:{_from:\"1963-09-16\"}}],MZ:[{MZE:{_from:\"1975-06-25\",_to:\"1980-06-16\"}},{MZM:{_from:\"1980-06-16\",_to:\"2006-12-31\"}},{MZN:{_from:\"2006-07-01\"}}],NA:[{ZAR:{_from:\"1961-02-14\"}},{NAD:{_from:\"1993-01-01\"}}],NC:[{XPF:{_from:\"1985-01-01\"}}],NE:[{XOF:{_from:\"1958-12-19\"}}],NF:[{AUD:{_from:\"1966-02-14\"}}],NG:[{NGN:{_from:\"1973-01-01\"}}],NI:[{NIC:{_from:\"1988-02-15\",_to:\"1991-04-30\"}},{NIO:{_from:\"1991-04-30\"}}],NL:[{NLG:{_from:\"1813-01-01\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],NO:[{SEK:{_from:\"1873-05-27\",_to:\"1905-06-07\"}},{NOK:{_from:\"1905-06-07\"}}],NP:[{INR:{_from:\"1870-01-01\",_to:\"1966-10-17\"}},{NPR:{_from:\"1933-01-01\"}}],NR:[{AUD:{_from:\"1966-02-14\"}}],NU:[{NZD:{_from:\"1967-07-10\"}}],NZ:[{NZD:{_from:\"1967-07-10\"}}],OM:[{OMR:{_from:\"1972-11-11\"}}],PA:[{PAB:{_from:\"1903-11-04\"}},{USD:{_from:\"1903-11-18\"}}],PE:[{PES:{_from:\"1863-02-14\",_to:\"1985-02-01\"}},{PEI:{_from:\"1985-02-01\",_to:\"1991-07-01\"}},{PEN:{_from:\"1991-07-01\"}}],PF:[{XPF:{_from:\"1945-12-26\"}}],PG:[{AUD:{_from:\"1966-02-14\",_to:\"1975-09-16\"}},{PGK:{_from:\"1975-09-16\"}}],PH:[{PHP:{_from:\"1946-07-04\"}}],PK:[{INR:{_from:\"1835-08-17\",_to:\"1947-08-15\"}},{PKR:{_from:\"1948-04-01\"}}],PL:[{PLZ:{_from:\"1950-10-28\",_to:\"1994-12-31\"}},{PLN:{_from:\"1995-01-01\"}}],PM:[{FRF:{_from:\"1972-12-21\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],PN:[{NZD:{_from:\"1969-01-13\"}}],PR:[{ESP:{_from:\"1800-01-01\",_to:\"1898-12-10\"}},{USD:{_from:\"1898-12-10\"}}],PS:[{JOD:{_from:\"1950-07-01\",_to:\"1967-06-01\"}},{ILP:{_from:\"1967-06-01\",_to:\"1980-02-22\"}},{ILS:{_from:\"1985-09-04\"}},{JOD:{_from:\"1996-02-12\"}}],PT:[{PTE:{_from:\"1911-05-22\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],PW:[{USD:{_from:\"1944-01-01\"}}],PY:[{PYG:{_from:\"1943-11-01\"}}],QA:[{QAR:{_from:\"1973-05-19\"}}],RE:[{FRF:{_from:\"1975-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],RO:[{ROL:{_from:\"1952-01-28\",_to:\"2006-12-31\"}},{RON:{_from:\"2005-07-01\"}}],RS:[{YUM:{_from:\"1994-01-24\",_to:\"2002-05-15\"}},{CSD:{_from:\"2002-05-15\",_to:\"2006-10-25\"}},{RSD:{_from:\"2006-10-25\"}}],RU:[{RUR:{_from:\"1991-12-25\",_to:\"1998-12-31\"}},{RUB:{_from:\"1999-01-01\"}}],RW:[{RWF:{_from:\"1964-05-19\"}}],SA:[{SAR:{_from:\"1952-10-22\"}}],SB:[{AUD:{_from:\"1966-02-14\",_to:\"1978-06-30\"}},{SBD:{_from:\"1977-10-24\"}}],SC:[{SCR:{_from:\"1903-11-01\"}}],SD:[{EGP:{_from:\"1889-01-19\",_to:\"1958-01-01\"}},{GBP:{_from:\"1889-01-19\",_to:\"1958-01-01\"}},{SDP:{_from:\"1957-04-08\",_to:\"1998-06-01\"}},{SDD:{_from:\"1992-06-08\",_to:\"2007-06-30\"}},{SDG:{_from:\"2007-01-10\"}}],SE:[{SEK:{_from:\"1873-05-27\"}}],SG:[{MYR:{_from:\"1963-09-16\",_to:\"1967-06-12\"}},{SGD:{_from:\"1967-06-12\"}}],SH:[{SHP:{_from:\"1917-02-15\"}}],SI:[{SIT:{_from:\"1992-10-07\",_to:\"2007-01-14\"}},{EUR:{_from:\"2007-01-01\"}}],SJ:[{NOK:{_from:\"1905-06-07\"}}],SK:[{CSK:{_from:\"1953-06-01\",_to:\"1992-12-31\"}},{SKK:{_from:\"1992-12-31\",_to:\"2009-01-01\"}},{EUR:{_from:\"2009-01-01\"}}],SL:[{GBP:{_from:\"1808-11-30\",_to:\"1966-02-04\"}},{SLL:{_from:\"1964-08-04\"}}],SM:[{ITL:{_from:\"1865-12-23\",_to:\"2001-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],SN:[{XOF:{_from:\"1959-04-04\"}}],SO:[{SOS:{_from:\"1960-07-01\"}}],SR:[{NLG:{_from:\"1815-11-20\",_to:\"1940-05-10\"}},{SRG:{_from:\"1940-05-10\",_to:\"2003-12-31\"}},{SRD:{_from:\"2004-01-01\"}}],SS:[{SDG:{_from:\"2007-01-10\",_to:\"2011-09-01\"}},{SSP:{_from:\"2011-07-18\"}}],ST:[{STD:{_from:\"1977-09-08\",_to:\"2017-12-31\"}},{STN:{_from:\"2018-01-01\"}}],SU:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}}],SV:[{SVC:{_from:\"1919-11-11\",_to:\"2001-01-01\"}},{USD:{_from:\"2001-01-01\"}}],SX:[{ANG:{_from:\"2010-10-10\"}}],SY:[{SYP:{_from:\"1948-01-01\"}}],SZ:[{SZL:{_from:\"1974-09-06\"}}],TA:[{GBP:{_from:\"1938-01-12\"}}],TC:[{USD:{_from:\"1969-09-08\"}}],TD:[{XAF:{_from:\"1993-01-01\"}}],TF:[{FRF:{_from:\"1959-01-01\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],TG:[{XOF:{_from:\"1958-11-28\"}}],TH:[{THB:{_from:\"1928-04-15\"}}],TJ:[{RUR:{_from:\"1991-12-25\",_to:\"1995-05-10\"}},{TJR:{_from:\"1995-05-10\",_to:\"2000-10-25\"}},{TJS:{_from:\"2000-10-26\"}}],TK:[{NZD:{_from:\"1967-07-10\"}}],TL:[{TPE:{_from:\"1959-01-02\",_to:\"2002-05-20\"}},{IDR:{_from:\"1975-12-07\",_to:\"2002-05-20\"}},{USD:{_from:\"1999-10-20\"}}],TM:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1993-11-01\"}},{TMM:{_from:\"1993-11-01\",_to:\"2009-01-01\"}},{TMT:{_from:\"2009-01-01\"}}],TN:[{TND:{_from:\"1958-11-01\"}}],TO:[{TOP:{_from:\"1966-02-14\"}}],TP:[{TPE:{_from:\"1959-01-02\",_to:\"2002-05-20\"}},{IDR:{_from:\"1975-12-07\",_to:\"2002-05-20\"}}],TR:[{TRL:{_from:\"1922-11-01\",_to:\"2005-12-31\"}},{TRY:{_from:\"2005-01-01\"}}],TT:[{TTD:{_from:\"1964-01-01\"}}],TV:[{AUD:{_from:\"1966-02-14\"}}],TW:[{TWD:{_from:\"1949-06-15\"}}],TZ:[{TZS:{_from:\"1966-06-14\"}}],UA:[{SUR:{_from:\"1961-01-01\",_to:\"1991-12-25\"}},{RUR:{_from:\"1991-12-25\",_to:\"1992-11-13\"}},{UAK:{_from:\"1992-11-13\",_to:\"1993-10-17\"}},{UAH:{_from:\"1996-09-02\"}}],UG:[{UGS:{_from:\"1966-08-15\",_to:\"1987-05-15\"}},{UGX:{_from:\"1987-05-15\"}}],UM:[{USD:{_from:\"1944-01-01\"}}],US:[{USN:{_tender:\"false\"}},{USS:{_tender:\"false\",_to:\"2014-03-01\"}},{USD:{_from:\"1792-01-01\"}}],UY:[{UYI:{_tender:\"false\"}},{UYW:{_tender:\"false\"}},{UYP:{_from:\"1975-07-01\",_to:\"1993-03-01\"}},{UYU:{_from:\"1993-03-01\"}}],UZ:[{UZS:{_from:\"1994-07-01\"}}],VA:[{ITL:{_from:\"1870-10-19\",_to:\"2002-02-28\"}},{EUR:{_from:\"1999-01-01\"}}],VC:[{XCD:{_from:\"1965-10-06\"}}],VE:[{VEB:{_from:\"1871-05-11\",_to:\"2008-06-30\"}},{VEF:{_from:\"2008-01-01\",_to:\"2018-08-20\"}},{VES:{_from:\"2018-08-20\"}}],VG:[{USD:{_from:\"1833-01-01\"}},{GBP:{_from:\"1833-01-01\",_to:\"1959-01-01\"}}],VI:[{USD:{_from:\"1837-01-01\"}}],VN:[{VNN:{_from:\"1978-05-03\",_to:\"1985-09-14\"}},{VND:{_from:\"1985-09-14\"}}],VU:[{VUV:{_from:\"1981-01-01\"}}],WF:[{XPF:{_from:\"1961-07-30\"}}],WS:[{WST:{_from:\"1967-07-10\"}}],XK:[{YUM:{_from:\"1994-01-24\",_to:\"1999-09-30\"}},{DEM:{_from:\"1999-09-01\",_to:\"2002-03-09\"}},{EUR:{_from:\"2002-01-01\"}}],YD:[{YDD:{_from:\"1965-04-01\",_to:\"1996-01-01\"}}],YE:[{YER:{_from:\"1990-05-22\"}}],YT:[{KMF:{_from:\"1975-01-01\",_to:\"1976-02-23\"}},{FRF:{_from:\"1976-02-23\",_to:\"2002-02-17\"}},{EUR:{_from:\"1999-01-01\"}}],YU:[{YUD:{_from:\"1966-01-01\",_to:\"1990-01-01\"}},{YUN:{_from:\"1990-01-01\",_to:\"1992-07-24\"}},{YUM:{_from:\"1994-01-24\",_to:\"2002-05-15\"}}],ZA:[{ZAR:{_from:\"1961-02-14\"}},{ZAL:{_tender:\"false\",_from:\"1985-09-01\",_to:\"1995-03-13\"}}],ZM:[{ZMK:{_from:\"1968-01-16\",_to:\"2013-01-01\"}},{ZMW:{_from:\"2013-01-01\"}}],ZR:[{ZRZ:{_from:\"1971-10-27\",_to:\"1993-11-01\"}},{ZRN:{_from:\"1993-11-01\",_to:\"1998-07-31\"}}],ZW:[{RHD:{_from:\"1970-02-17\",_to:\"1980-04-18\"}},{ZWD:{_from:\"1980-04-18\",_to:\"2008-08-01\"}},{ZWR:{_from:\"2008-08-01\",_to:\"2009-02-02\"}},{ZWL:{_from:\"2009-02-02\",_to:\"2009-04-12\"}},{USD:{_from:\"2009-04-12\"}}],ZZ:[{XAG:{_tender:\"false\"}},{XAU:{_tender:\"false\"}},{XBA:{_tender:\"false\"}},{XBB:{_tender:\"false\"}},{XBC:{_tender:\"false\"}},{XBD:{_tender:\"false\"}},{XDR:{_tender:\"false\"}},{XPD:{_tender:\"false\"}},{XPT:{_tender:\"false\"}},{XSU:{_tender:\"false\"}},{XTS:{_tender:\"false\"}},{XUA:{_tender:\"false\"}},{XXX:{_tender:\"false\"}},{XRE:{_tender:\"false\",_to:\"1999-11-30\"}},{XFU:{_tender:\"false\",_to:\"2013-11-30\"}},{XFO:{_tender:\"false\",_from:\"1930-01-01\",_to:\"2003-04-01\"}}]}},numberingSystems:{adlm:{_digits:\"\\ud83a\\udd50\\ud83a\\udd51\\ud83a\\udd52\\ud83a\\udd53\\ud83a\\udd54\\ud83a\\udd55\\ud83a\\udd56\\ud83a\\udd57\\ud83a\\udd58\\ud83a\\udd59\",_type:\"numeric\"},ahom:{_digits:\"\\ud805\\udf30\\ud805\\udf31\\ud805\\udf32\\ud805\\udf33\\ud805\\udf34\\ud805\\udf35\\ud805\\udf36\\ud805\\udf37\\ud805\\udf38\\ud805\\udf39\",_type:\"numeric\"},arab:{_digits:\"\\u0660\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\",_type:\"numeric\"},arabext:{_digits:\"\\u06f0\\u06f1\\u06f2\\u06f3\\u06f4\\u06f5\\u06f6\\u06f7\\u06f8\\u06f9\",_type:\"numeric\"},armn:{_rules:\"armenian-upper\",_type:\"algorithmic\"},armnlow:{_rules:\"armenian-lower\",_type:\"algorithmic\"},bali:{_digits:\"\\u1b50\\u1b51\\u1b52\\u1b53\\u1b54\\u1b55\\u1b56\\u1b57\\u1b58\\u1b59\",_type:\"numeric\"},beng:{_digits:\"\\u09e6\\u09e7\\u09e8\\u09e9\\u09ea\\u09eb\\u09ec\\u09ed\\u09ee\\u09ef\",_type:\"numeric\"},bhks:{_digits:\"\\ud807\\udc50\\ud807\\udc51\\ud807\\udc52\\ud807\\udc53\\ud807\\udc54\\ud807\\udc55\\ud807\\udc56\\ud807\\udc57\\ud807\\udc58\\ud807\\udc59\",_type:\"numeric\"},brah:{_digits:\"\\ud804\\udc66\\ud804\\udc67\\ud804\\udc68\\ud804\\udc69\\ud804\\udc6a\\ud804\\udc6b\\ud804\\udc6c\\ud804\\udc6d\\ud804\\udc6e\\ud804\\udc6f\",_type:\"numeric\"},cakm:{_digits:\"\\ud804\\udd36\\ud804\\udd37\\ud804\\udd38\\ud804\\udd39\\ud804\\udd3a\\ud804\\udd3b\\ud804\\udd3c\\ud804\\udd3d\\ud804\\udd3e\\ud804\\udd3f\",_type:\"numeric\"},cham:{_digits:\"\\uaa50\\uaa51\\uaa52\\uaa53\\uaa54\\uaa55\\uaa56\\uaa57\\uaa58\\uaa59\",_type:\"numeric\"},cyrl:{_rules:\"cyrillic-lower\",_type:\"algorithmic\"},deva:{_digits:\"\\u0966\\u0967\\u0968\\u0969\\u096a\\u096b\\u096c\\u096d\\u096e\\u096f\",_type:\"numeric\"},ethi:{_rules:\"ethiopic\",_type:\"algorithmic\"},fullwide:{_digits:\"\\uff10\\uff11\\uff12\\uff13\\uff14\\uff15\\uff16\\uff17\\uff18\\uff19\",_type:\"numeric\"},geor:{_rules:\"georgian\",_type:\"algorithmic\"},gong:{_digits:\"\\ud807\\udda0\\ud807\\udda1\\ud807\\udda2\\ud807\\udda3\\ud807\\udda4\\ud807\\udda5\\ud807\\udda6\\ud807\\udda7\\ud807\\udda8\\ud807\\udda9\",_type:\"numeric\"},gonm:{_digits:\"\\ud807\\udd50\\ud807\\udd51\\ud807\\udd52\\ud807\\udd53\\ud807\\udd54\\ud807\\udd55\\ud807\\udd56\\ud807\\udd57\\ud807\\udd58\\ud807\\udd59\",_type:\"numeric\"},grek:{_rules:\"greek-upper\",_type:\"algorithmic\"},greklow:{_rules:\"greek-lower\",_type:\"algorithmic\"},gujr:{_digits:\"\\u0ae6\\u0ae7\\u0ae8\\u0ae9\\u0aea\\u0aeb\\u0aec\\u0aed\\u0aee\\u0aef\",_type:\"numeric\"},guru:{_digits:\"\\u0a66\\u0a67\\u0a68\\u0a69\\u0a6a\\u0a6b\\u0a6c\\u0a6d\\u0a6e\\u0a6f\",_type:\"numeric\"},hanidays:{_rules:\"zh/SpelloutRules/spellout-numbering-days\",_type:\"algorithmic\"},hanidec:{_digits:\"\\u3007\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d\",_type:\"numeric\"},hans:{_rules:\"zh/SpelloutRules/spellout-cardinal\",_type:\"algorithmic\"},hansfin:{_rules:\"zh/SpelloutRules/spellout-cardinal-financial\",_type:\"algorithmic\"},hant:{_rules:\"zh_Hant/SpelloutRules/spellout-cardinal\",_type:\"algorithmic\"},hantfin:{_rules:\"zh_Hant/SpelloutRules/spellout-cardinal-financial\",_type:\"algorithmic\"},hebr:{_rules:\"hebrew\",_type:\"algorithmic\"},hmng:{_digits:\"\\ud81a\\udf50\\ud81a\\udf51\\ud81a\\udf52\\ud81a\\udf53\\ud81a\\udf54\\ud81a\\udf55\\ud81a\\udf56\\ud81a\\udf57\\ud81a\\udf58\\ud81a\\udf59\",_type:\"numeric\"},hmnp:{_digits:\"\\ud838\\udd40\\ud838\\udd41\\ud838\\udd42\\ud838\\udd43\\ud838\\udd44\\ud838\\udd45\\ud838\\udd46\\ud838\\udd47\\ud838\\udd48\\ud838\\udd49\",_type:\"numeric\"},java:{_digits:\"\\ua9d0\\ua9d1\\ua9d2\\ua9d3\\ua9d4\\ua9d5\\ua9d6\\ua9d7\\ua9d8\\ua9d9\",_type:\"numeric\"},jpan:{_rules:\"ja/SpelloutRules/spellout-cardinal\",_type:\"algorithmic\"},jpanfin:{_rules:\"ja/SpelloutRules/spellout-cardinal-financial\",_type:\"algorithmic\"},jpanyear:{_rules:\"ja/SpelloutRules/spellout-numbering-year-latn\",_type:\"algorithmic\"},kali:{_digits:\"\\ua900\\ua901\\ua902\\ua903\\ua904\\ua905\\ua906\\ua907\\ua908\\ua909\",_type:\"numeric\"},khmr:{_digits:\"\\u17e0\\u17e1\\u17e2\\u17e3\\u17e4\\u17e5\\u17e6\\u17e7\\u17e8\\u17e9\",_type:\"numeric\"},knda:{_digits:\"\\u0ce6\\u0ce7\\u0ce8\\u0ce9\\u0cea\\u0ceb\\u0cec\\u0ced\\u0cee\\u0cef\",_type:\"numeric\"},lana:{_digits:\"\\u1a80\\u1a81\\u1a82\\u1a83\\u1a84\\u1a85\\u1a86\\u1a87\\u1a88\\u1a89\",_type:\"numeric\"},lanatham:{_digits:\"\\u1a90\\u1a91\\u1a92\\u1a93\\u1a94\\u1a95\\u1a96\\u1a97\\u1a98\\u1a99\",_type:\"numeric\"},laoo:{_digits:\"\\u0ed0\\u0ed1\\u0ed2\\u0ed3\\u0ed4\\u0ed5\\u0ed6\\u0ed7\\u0ed8\\u0ed9\",_type:\"numeric\"},latn:{_digits:\"0123456789\",_type:\"numeric\"},lepc:{_digits:\"\\u1c40\\u1c41\\u1c42\\u1c43\\u1c44\\u1c45\\u1c46\\u1c47\\u1c48\\u1c49\",_type:\"numeric\"},limb:{_digits:\"\\u1946\\u1947\\u1948\\u1949\\u194a\\u194b\\u194c\\u194d\\u194e\\u194f\",_type:\"numeric\"},mathbold:{_digits:\"\\ud835\\udfce\\ud835\\udfcf\\ud835\\udfd0\\ud835\\udfd1\\ud835\\udfd2\\ud835\\udfd3\\ud835\\udfd4\\ud835\\udfd5\\ud835\\udfd6\\ud835\\udfd7\",_type:\"numeric\"},mathdbl:{_digits:\"\\ud835\\udfd8\\ud835\\udfd9\\ud835\\udfda\\ud835\\udfdb\\ud835\\udfdc\\ud835\\udfdd\\ud835\\udfde\\ud835\\udfdf\\ud835\\udfe0\\ud835\\udfe1\",_type:\"numeric\"},mathmono:{_digits:\"\\ud835\\udff6\\ud835\\udff7\\ud835\\udff8\\ud835\\udff9\\ud835\\udffa\\ud835\\udffb\\ud835\\udffc\\ud835\\udffd\\ud835\\udffe\\ud835\\udfff\",_type:\"numeric\"},mathsanb:{_digits:\"\\ud835\\udfec\\ud835\\udfed\\ud835\\udfee\\ud835\\udfef\\ud835\\udff0\\ud835\\udff1\\ud835\\udff2\\ud835\\udff3\\ud835\\udff4\\ud835\\udff5\",_type:\"numeric\"},mathsans:{_digits:\"\\ud835\\udfe2\\ud835\\udfe3\\ud835\\udfe4\\ud835\\udfe5\\ud835\\udfe6\\ud835\\udfe7\\ud835\\udfe8\\ud835\\udfe9\\ud835\\udfea\\ud835\\udfeb\",_type:\"numeric\"},mlym:{_digits:\"\\u0d66\\u0d67\\u0d68\\u0d69\\u0d6a\\u0d6b\\u0d6c\\u0d6d\\u0d6e\\u0d6f\",_type:\"numeric\"},modi:{_digits:\"\\ud805\\ude50\\ud805\\ude51\\ud805\\ude52\\ud805\\ude53\\ud805\\ude54\\ud805\\ude55\\ud805\\ude56\\ud805\\ude57\\ud805\\ude58\\ud805\\ude59\",_type:\"numeric\"},mong:{_digits:\"\\u1810\\u1811\\u1812\\u1813\\u1814\\u1815\\u1816\\u1817\\u1818\\u1819\",_type:\"numeric\"},mroo:{_digits:\"\\ud81a\\ude60\\ud81a\\ude61\\ud81a\\ude62\\ud81a\\ude63\\ud81a\\ude64\\ud81a\\ude65\\ud81a\\ude66\\ud81a\\ude67\\ud81a\\ude68\\ud81a\\ude69\",_type:\"numeric\"},mtei:{_digits:\"\\uabf0\\uabf1\\uabf2\\uabf3\\uabf4\\uabf5\\uabf6\\uabf7\\uabf8\\uabf9\",_type:\"numeric\"},mymr:{_digits:\"\\u1040\\u1041\\u1042\\u1043\\u1044\\u1045\\u1046\\u1047\\u1048\\u1049\",_type:\"numeric\"},mymrshan:{_digits:\"\\u1090\\u1091\\u1092\\u1093\\u1094\\u1095\\u1096\\u1097\\u1098\\u1099\",_type:\"numeric\"},mymrtlng:{_digits:\"\\ua9f0\\ua9f1\\ua9f2\\ua9f3\\ua9f4\\ua9f5\\ua9f6\\ua9f7\\ua9f8\\ua9f9\",_type:\"numeric\"},newa:{_digits:\"\\ud805\\udc50\\ud805\\udc51\\ud805\\udc52\\ud805\\udc53\\ud805\\udc54\\ud805\\udc55\\ud805\\udc56\\ud805\\udc57\\ud805\\udc58\\ud805\\udc59\",_type:\"numeric\"},nkoo:{_digits:\"\\u07c0\\u07c1\\u07c2\\u07c3\\u07c4\\u07c5\\u07c6\\u07c7\\u07c8\\u07c9\",_type:\"numeric\"},olck:{_digits:\"\\u1c50\\u1c51\\u1c52\\u1c53\\u1c54\\u1c55\\u1c56\\u1c57\\u1c58\\u1c59\",_type:\"numeric\"},orya:{_digits:\"\\u0b66\\u0b67\\u0b68\\u0b69\\u0b6a\\u0b6b\\u0b6c\\u0b6d\\u0b6e\\u0b6f\",_type:\"numeric\"},osma:{_digits:\"\\ud801\\udca0\\ud801\\udca1\\ud801\\udca2\\ud801\\udca3\\ud801\\udca4\\ud801\\udca5\\ud801\\udca6\\ud801\\udca7\\ud801\\udca8\\ud801\\udca9\",_type:\"numeric\"},rohg:{_digits:\"\\ud803\\udd30\\ud803\\udd31\\ud803\\udd32\\ud803\\udd33\\ud803\\udd34\\ud803\\udd35\\ud803\\udd36\\ud803\\udd37\\ud803\\udd38\\ud803\\udd39\",_type:\"numeric\"},roman:{_rules:\"roman-upper\",_type:\"algorithmic\"},romanlow:{_rules:\"roman-lower\",_type:\"algorithmic\"},saur:{_digits:\"\\ua8d0\\ua8d1\\ua8d2\\ua8d3\\ua8d4\\ua8d5\\ua8d6\\ua8d7\\ua8d8\\ua8d9\",_type:\"numeric\"},shrd:{_digits:\"\\ud804\\uddd0\\ud804\\uddd1\\ud804\\uddd2\\ud804\\uddd3\\ud804\\uddd4\\ud804\\uddd5\\ud804\\uddd6\\ud804\\uddd7\\ud804\\uddd8\\ud804\\uddd9\",_type:\"numeric\"},sind:{_digits:\"\\ud804\\udef0\\ud804\\udef1\\ud804\\udef2\\ud804\\udef3\\ud804\\udef4\\ud804\\udef5\\ud804\\udef6\\ud804\\udef7\\ud804\\udef8\\ud804\\udef9\",_type:\"numeric\"},sinh:{_digits:\"\\u0de6\\u0de7\\u0de8\\u0de9\\u0dea\\u0deb\\u0dec\\u0ded\\u0dee\\u0def\",_type:\"numeric\"},sora:{_digits:\"\\ud804\\udcf0\\ud804\\udcf1\\ud804\\udcf2\\ud804\\udcf3\\ud804\\udcf4\\ud804\\udcf5\\ud804\\udcf6\\ud804\\udcf7\\ud804\\udcf8\\ud804\\udcf9\",_type:\"numeric\"},sund:{_digits:\"\\u1bb0\\u1bb1\\u1bb2\\u1bb3\\u1bb4\\u1bb5\\u1bb6\\u1bb7\\u1bb8\\u1bb9\",_type:\"numeric\"},takr:{_digits:\"\\ud805\\udec0\\ud805\\udec1\\ud805\\udec2\\ud805\\udec3\\ud805\\udec4\\ud805\\udec5\\ud805\\udec6\\ud805\\udec7\\ud805\\udec8\\ud805\\udec9\",_type:\"numeric\"},talu:{_digits:\"\\u19d0\\u19d1\\u19d2\\u19d3\\u19d4\\u19d5\\u19d6\\u19d7\\u19d8\\u19d9\",_type:\"numeric\"},taml:{_rules:\"tamil\",_type:\"algorithmic\"},tamldec:{_digits:\"\\u0be6\\u0be7\\u0be8\\u0be9\\u0bea\\u0beb\\u0bec\\u0bed\\u0bee\\u0bef\",_type:\"numeric\"},telu:{_digits:\"\\u0c66\\u0c67\\u0c68\\u0c69\\u0c6a\\u0c6b\\u0c6c\\u0c6d\\u0c6e\\u0c6f\",_type:\"numeric\"},thai:{_digits:\"\\u0e50\\u0e51\\u0e52\\u0e53\\u0e54\\u0e55\\u0e56\\u0e57\\u0e58\\u0e59\",_type:\"numeric\"},tibt:{_digits:\"\\u0f20\\u0f21\\u0f22\\u0f23\\u0f24\\u0f25\\u0f26\\u0f27\\u0f28\\u0f29\",_type:\"numeric\"},tirh:{_digits:\"\\ud805\\udcd0\\ud805\\udcd1\\ud805\\udcd2\\ud805\\udcd3\\ud805\\udcd4\\ud805\\udcd5\\ud805\\udcd6\\ud805\\udcd7\\ud805\\udcd8\\ud805\\udcd9\",_type:\"numeric\"},vaii:{_digits:\"\\ua620\\ua621\\ua622\\ua623\\ua624\\ua625\\ua626\\ua627\\ua628\\ua629\",_type:\"numeric\"},wara:{_digits:\"\\ud806\\udce0\\ud806\\udce1\\ud806\\udce2\\ud806\\udce3\\ud806\\udce4\\ud806\\udce5\\ud806\\udce6\\ud806\\udce7\\ud806\\udce8\\ud806\\udce9\",_type:\"numeric\"},wcho:{_digits:\"\\ud838\\udef0\\ud838\\udef1\\ud838\\udef2\\ud838\\udef3\\ud838\\udef4\\ud838\\udef5\\ud838\\udef6\\ud838\\udef7\\ud838\\udef8\\ud838\\udef9\",_type:\"numeric\"}}}}},91331:function(e,t,n){t.default=void 0;var i=r(n(20476)),o=r(n(73806)),a=r(n(49198));function r(e){return e&&e.__esModule?e:{default:e}}var s,l=(0,i.default)({locale:(s=\"en\",function(e){if(!e)return s;s=e}),getValueByClosestLocale:function(e){for(var t,n=this.locale(),i=e(n);!i&&!t;)(n=(0,a.default)(o.default,n))?i=e(n):t=!0;return void 0===i&&\"en\"!==n?e(\"en\"):i}});t.default=l,e.exports=t.default,e.exports.default=t.default},89740:function(e,t,n){t.default=void 0;var i=n(13306),o={_formatNumberCore:function(e,t,n){if(\"currency\"===t){n.precision=n.precision||0;var o=this.format(e,(0,i.extend)({},n,{type:\"fixedpoint\"})),a=this.getCurrencySymbol().symbol.replace(/\\$/g,\"$$$$\");return o=o.replace(/^(\\D*)(\\d.*)/,\"$1\"+a+\"$2\")}return this.callBase.apply(this,arguments)},getCurrencySymbol:function(){return{symbol:\"$\"}},getOpenXmlCurrencyFormat:function(){return\"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"}};t.default=o,e.exports=t.default,e.exports.default=t.default},91500:function(e,t,n){t.default=void 0;var i=g(n(20476)),o=n(35922),a=n(95479),r=g(n(17381)),s=n(40594),l=n(59937),u=n(2892),d=g(n(15564)),c=g(n(92286)),h=g(n(91331)),f=g(n(18016)),p=g(n(13024));function g(e){return e&&e.__esModule?e:{default:e}}var m=\"undefined\"!=typeof Intl,_={shortdate:\"M/d/y\",shorttime:\"h:mm a\",longdate:\"EEEE, MMMM d, y\",longtime:\"h:mm:ss a\",monthandday:\"MMMM d\",monthandyear:\"MMMM y\",quarterandyear:\"QQQ y\",day:\"d\",year:\"y\",shortdateshorttime:\"M/d/y, h:mm a\",longdatelongtime:\"EEEE, MMMM d, y, h:mm:ss a\",month:\"LLLL\",shortyear:\"yy\",dayofweek:\"EEEE\",quarter:\"QQQ\",hour:\"HH\",minute:\"mm\",second:\"ss\",millisecond:\"SSS\",\"datetime-local\":\"yyyy-MM-ddTHH':'mm':'ss\"},v={year:[\"y\",\"yy\",\"yyyy\"],day:[\"d\",\"dd\"],month:[\"M\",\"MM\",\"MMM\",\"MMMM\"],hours:[\"H\",\"HH\",\"h\",\"hh\",\"ah\"],minutes:[\"m\",\"mm\"],seconds:[\"s\",\"ss\"],milliseconds:[\"S\",\"SS\",\"SSS\"]},y=(0,i.default)({engine:function(){return\"base\"},_getPatternByFormat:function(e){return _[e.toLowerCase()]},_expandPattern:function(e){return this._getPatternByFormat(e)||e},formatUsesMonthName:function(e){return-1!==this._expandPattern(e).indexOf(\"MMMM\")},formatUsesDayName:function(e){return-1!==this._expandPattern(e).indexOf(\"EEEE\")},getFormatParts:function(e){var t=this._getPatternByFormat(e)||e,n=[];return(0,a.each)(t.split(/\\W+/),(function(e,t){(0,a.each)(v,(function(e,i){i.includes(t)&&n.push(e)}))})),n},getMonthNames:function(e){return d.default.getMonthNames(e)},getDayNames:function(e){return d.default.getDayNames(e)},getQuarterNames:function(e){return d.default.getQuarterNames(e)},getPeriodNames:function(e){return d.default.getPeriodNames(e)},getTimeSeparator:function(){return\":\"},is24HourFormat:function(e){for(var t=new Date(2017,0,20,11,0,0,0),n=new Date(2017,0,20,23,0,0,0),i=this.format(t,e),o=this.format(n,e),a=0;a<i.length;a++)if(i[a]!==o[a])return!isNaN(parseInt(i[a]))},format:function(e,t){if(e){if(!t)return e;var n;if(\"function\"==typeof t)n=t;else if(t.formatter)n=t.formatter;else if(t=t.type||t,(0,o.isString)(t))return t=_[t.toLowerCase()]||t,f.default.convertDigits((0,s.getFormatter)(t,this)(e));if(n)return n(e)}},parse:function(e,t){var n,i,o=this;if(e){if(!t)return this.parse(e,\"shortdate\");if(t.parser)return t.parser(e);if(\"string\"!=typeof t||_[t.toLowerCase()]){i=function(e){var n=o.format(e,t);return f.default.convertDigits(n,!0)};try{n=(0,l.getFormat)(i)}catch(e){}}else n=t;if(n)return e=f.default.convertDigits(e,!0),(0,u.getParser)(n,this)(e);r.default.log(\"W0012\");var a=new Date(e);if(a&&!isNaN(a.getTime()))return a}},firstDayOfWeekIndex:function(){var e=h.default.getValueByClosestLocale((function(e){return c.default[e]}));return void 0===e?0:e}});m&&y.inject(p.default);var b=y;t.default=b,e.exports=t.default,e.exports.default=t.default},15564:function(e,t,n){t.default=void 0;var i=n(95479),o=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],a=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],r=[\"AM\",\"PM\"],s=[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],l=function(e,t){var n={abbreviated:3,short:2,narrow:1};return(0,i.map)(e,(function(e){return e.substr(0,n[t])}))},u={getMonthNames:function(e){return l(o,e)},getDayNames:function(e){return l(a,e)},getQuarterNames:function(e){return s},getPeriodNames:function(e){return r}};t.default=u,e.exports=t.default,e.exports.default=t.default},18121:function(e,t){t.defaultMessages=void 0;t.defaultMessages={en:{Yes:\"Yes\",No:\"No\",Cancel:\"Cancel\",Close:\"Close\",Clear:\"Clear\",Done:\"Done\",Loading:\"Loading...\",Select:\"Select...\",Search:\"Search\",Back:\"Back\",OK:\"OK\",\"dxCollectionWidget-noDataText\":\"No data to display\",\"dxDropDownEditor-selectLabel\":\"Select\",\"validation-required\":\"Required\",\"validation-required-formatted\":\"{0} is required\",\"validation-numeric\":\"Value must be a number\",\"validation-numeric-formatted\":\"{0} must be a number\",\"validation-range\":\"Value is out of range\",\"validation-range-formatted\":\"{0} is out of range\",\"validation-stringLength\":\"The length of the value is not correct\",\"validation-stringLength-formatted\":\"The length of {0} is not correct\",\"validation-custom\":\"Value is invalid\",\"validation-custom-formatted\":\"{0} is invalid\",\"validation-async\":\"Value is invalid\",\"validation-async-formatted\":\"{0} is invalid\",\"validation-compare\":\"Values do not match\",\"validation-compare-formatted\":\"{0} does not match\",\"validation-pattern\":\"Value does not match pattern\",\"validation-pattern-formatted\":\"{0} does not match pattern\",\"validation-email\":\"Email is invalid\",\"validation-email-formatted\":\"{0} is invalid\",\"validation-mask\":\"Value is invalid\",\"dxLookup-searchPlaceholder\":\"Minimum character number: {0}\",\"dxList-pullingDownText\":\"Pull down to refresh...\",\"dxList-pulledDownText\":\"Release to refresh...\",\"dxList-refreshingText\":\"Refreshing...\",\"dxList-pageLoadingText\":\"Loading...\",\"dxList-nextButtonText\":\"More\",\"dxList-selectAll\":\"Select All\",\"dxListEditDecorator-delete\":\"Delete\",\"dxListEditDecorator-more\":\"More\",\"dxScrollView-pullingDownText\":\"Pull down to refresh...\",\"dxScrollView-pulledDownText\":\"Release to refresh...\",\"dxScrollView-refreshingText\":\"Refreshing...\",\"dxScrollView-reachBottomText\":\"Loading...\",\"dxDateBox-simulatedDataPickerTitleTime\":\"Select time\",\"dxDateBox-simulatedDataPickerTitleDate\":\"Select date\",\"dxDateBox-simulatedDataPickerTitleDateTime\":\"Select date and time\",\"dxDateBox-validation-datetime\":\"Value must be a date or time\",\"dxDateRangeBox-invalidStartDateMessage\":\"Start value must be a date\",\"dxDateRangeBox-invalidEndDateMessage\":\"End value must be a date\",\"dxDateRangeBox-startDateOutOfRangeMessage\":\"Start date is out of range\",\"dxDateRangeBox-endDateOutOfRangeMessage\":\"End date is out of range\",\"dxDateRangeBox-startDateLabel\":\"Start Date\",\"dxDateRangeBox-endDateLabel\":\"End Date\",\"dxFileUploader-selectFile\":\"Select a file\",\"dxFileUploader-dropFile\":\"or Drop a file here\",\"dxFileUploader-bytes\":\"bytes\",\"dxFileUploader-kb\":\"kb\",\"dxFileUploader-Mb\":\"Mb\",\"dxFileUploader-Gb\":\"Gb\",\"dxFileUploader-upload\":\"Upload\",\"dxFileUploader-uploaded\":\"Uploaded\",\"dxFileUploader-readyToUpload\":\"Ready to upload\",\"dxFileUploader-uploadAbortedMessage\":\"Upload cancelled\",\"dxFileUploader-uploadFailedMessage\":\"Upload failed\",\"dxFileUploader-invalidFileExtension\":\"File type is not allowed\",\"dxFileUploader-invalidMaxFileSize\":\"File is too large\",\"dxFileUploader-invalidMinFileSize\":\"File is too small\",\"dxRangeSlider-ariaFrom\":\"From\",\"dxRangeSlider-ariaTill\":\"Till\",\"dxSwitch-switchedOnText\":\"ON\",\"dxSwitch-switchedOffText\":\"OFF\",\"dxForm-optionalMark\":\"optional\",\"dxForm-requiredMessage\":\"{0} is required\",\"dxNumberBox-invalidValueMessage\":\"Value must be a number\",\"dxNumberBox-noDataText\":\"No data\",\"dxDataGrid-emptyHeaderWithColumnChooserText\":\"Use {0} to display columns\",\"dxDataGrid-emptyHeaderWithGroupPanelText\":\"Drag a column from the group panel here\",\"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\":\"Use {0} or drag a column from the group panel\",\"dxDataGrid-emptyHeaderColumnChooserText\":\"column chooser\",\"dxDataGrid-columnChooserTitle\":\"Column Chooser\",\"dxDataGrid-columnChooserEmptyText\":\"Drag a column here to hide it\",\"dxDataGrid-groupContinuesMessage\":\"Continues on the next page\",\"dxDataGrid-groupContinuedMessage\":\"Continued from the previous page\",\"dxDataGrid-groupHeaderText\":\"Group by This Column\",\"dxDataGrid-ungroupHeaderText\":\"Ungroup\",\"dxDataGrid-ungroupAllText\":\"Ungroup All\",\"dxDataGrid-editingEditRow\":\"Edit\",\"dxDataGrid-editingSaveRowChanges\":\"Save\",\"dxDataGrid-editingCancelRowChanges\":\"Cancel\",\"dxDataGrid-editingDeleteRow\":\"Delete\",\"dxDataGrid-editingUndeleteRow\":\"Undelete\",\"dxDataGrid-editingConfirmDeleteMessage\":\"Are you sure you want to delete this record?\",\"dxDataGrid-validationCancelChanges\":\"Cancel changes\",\"dxDataGrid-groupPanelEmptyText\":\"Drag a column header here to group by that column\",\"dxDataGrid-noDataText\":\"No data\",\"dxDataGrid-searchPanelPlaceholder\":\"Search...\",\"dxDataGrid-filterRowShowAllText\":\"(All)\",\"dxDataGrid-filterRowResetOperationText\":\"Reset\",\"dxDataGrid-filterRowOperationEquals\":\"Equals\",\"dxDataGrid-filterRowOperationNotEquals\":\"Does not equal\",\"dxDataGrid-filterRowOperationLess\":\"Less than\",\"dxDataGrid-filterRowOperationLessOrEquals\":\"Less than or equal to\",\"dxDataGrid-filterRowOperationGreater\":\"Greater than\",\"dxDataGrid-filterRowOperationGreaterOrEquals\":\"Greater than or equal to\",\"dxDataGrid-filterRowOperationStartsWith\":\"Starts with\",\"dxDataGrid-filterRowOperationContains\":\"Contains\",\"dxDataGrid-filterRowOperationNotContains\":\"Does not contain\",\"dxDataGrid-filterRowOperationEndsWith\":\"Ends with\",\"dxDataGrid-filterRowOperationBetween\":\"Between\",\"dxDataGrid-filterRowOperationBetweenStartText\":\"Start\",\"dxDataGrid-filterRowOperationBetweenEndText\":\"End\",\"dxDataGrid-ariaSearchBox\":\"Search box\",\"dxDataGrid-applyFilterText\":\"Apply filter\",\"dxDataGrid-trueText\":\"true\",\"dxDataGrid-falseText\":\"false\",\"dxDataGrid-sortingAscendingText\":\"Sort Ascending\",\"dxDataGrid-sortingDescendingText\":\"Sort Descending\",\"dxDataGrid-sortingClearText\":\"Clear Sorting\",\"dxDataGrid-editingSaveAllChanges\":\"Save changes\",\"dxDataGrid-editingCancelAllChanges\":\"Discard changes\",\"dxDataGrid-editingAddRow\":\"Add a row\",\"dxDataGrid-summaryMin\":\"Min: {0}\",\"dxDataGrid-summaryMinOtherColumn\":\"Min of {1} is {0}\",\"dxDataGrid-summaryMax\":\"Max: {0}\",\"dxDataGrid-summaryMaxOtherColumn\":\"Max of {1} is {0}\",\"dxDataGrid-summaryAvg\":\"Avg: {0}\",\"dxDataGrid-summaryAvgOtherColumn\":\"Avg of {1} is {0}\",\"dxDataGrid-summarySum\":\"Sum: {0}\",\"dxDataGrid-summarySumOtherColumn\":\"Sum of {1} is {0}\",\"dxDataGrid-summaryCount\":\"Count: {0}\",\"dxDataGrid-columnFixingFix\":\"Fix\",\"dxDataGrid-columnFixingUnfix\":\"Unfix\",\"dxDataGrid-columnFixingLeftPosition\":\"To the left\",\"dxDataGrid-columnFixingRightPosition\":\"To the right\",\"dxDataGrid-exportTo\":\"Export\",\"dxDataGrid-exportToExcel\":\"Export to Excel file\",\"dxDataGrid-exporting\":\"Exporting...\",\"dxDataGrid-excelFormat\":\"Excel file\",\"dxDataGrid-selectedRows\":\"Selected rows\",\"dxDataGrid-exportSelectedRows\":\"Export selected rows to {0}\",\"dxDataGrid-exportAll\":\"Export all data to {0}\",\"dxDataGrid-headerFilterLabel\":\"Filter options\",\"dxDataGrid-headerFilterIndicatorLabel\":\"Show filter options for column '{0}'\",\"dxDataGrid-headerFilterEmptyValue\":\"(Blanks)\",\"dxDataGrid-headerFilterOK\":\"OK\",\"dxDataGrid-headerFilterCancel\":\"Cancel\",\"dxDataGrid-ariaAdaptiveCollapse\":\"Hide additional data\",\"dxDataGrid-ariaAdaptiveExpand\":\"Display additional data\",\"dxDataGrid-ariaColumn\":\"Column\",\"dxDataGrid-ariaValue\":\"Value\",\"dxDataGrid-ariaFilterCell\":\"Filter cell\",\"dxDataGrid-ariaCollapse\":\"Collapse\",\"dxDataGrid-ariaExpand\":\"Expand\",\"dxDataGrid-ariaDataGrid\":\"Data grid with {0} rows and {1} columns\",\"dxDataGrid-ariaSearchInGrid\":\"Search in the data grid\",\"dxDataGrid-ariaSelectAll\":\"Select all\",\"dxDataGrid-ariaSelectRow\":\"Select row\",\"dxDataGrid-ariaToolbar\":\"Data grid toolbar\",\"dxDataGrid-ariaEditForm\":\"Edit form\",\"dxDataGrid-filterBuilderPopupTitle\":\"Filter Builder\",\"dxDataGrid-filterPanelCreateFilter\":\"Create Filter\",\"dxDataGrid-filterPanelClearFilter\":\"Clear\",\"dxDataGrid-filterPanelFilterEnabledHint\":\"Enable the filter\",\"dxTreeList-ariaTreeList\":\"Tree list with {0} rows and {1} columns\",\"dxTreeList-ariaSearchInGrid\":\"Search in the tree list\",\"dxTreeList-ariaToolbar\":\"Tree list toolbar\",\"dxTreeList-editingAddRowToNode\":\"Add\",\"dxPager-infoText\":\"Page {0} of {1} ({2} items)\",\"dxPager-pagesCountText\":\"of\",\"dxPager-pageSize\":\"Items per page: {0}\",\"dxPager-pageSizesAllText\":\"All\",\"dxPager-page\":\"Page {0}\",\"dxPager-prevPage\":\"Previous Page\",\"dxPager-nextPage\":\"Next Page\",\"dxPager-ariaLabel\":\"Page Navigation\",\"dxPager-ariaPageSize\":\"Page size\",\"dxPager-ariaPageNumber\":\"Page number\",\"dxPivotGrid-grandTotal\":\"Grand Total\",\"dxPivotGrid-total\":\"{0} Total\",\"dxPivotGrid-fieldChooserTitle\":\"Field Chooser\",\"dxPivotGrid-showFieldChooser\":\"Show Field Chooser\",\"dxPivotGrid-expandAll\":\"Expand All\",\"dxPivotGrid-collapseAll\":\"Collapse All\",\"dxPivotGrid-sortColumnBySummary\":'Sort \"{0}\" by This Column',\"dxPivotGrid-sortRowBySummary\":'Sort \"{0}\" by This Row',\"dxPivotGrid-removeAllSorting\":\"Remove All Sorting\",\"dxPivotGrid-dataNotAvailable\":\"N/A\",\"dxPivotGrid-rowFields\":\"Row Fields\",\"dxPivotGrid-columnFields\":\"Column Fields\",\"dxPivotGrid-dataFields\":\"Data Fields\",\"dxPivotGrid-filterFields\":\"Filter Fields\",\"dxPivotGrid-allFields\":\"All Fields\",\"dxPivotGrid-columnFieldArea\":\"Drop Column Fields Here\",\"dxPivotGrid-dataFieldArea\":\"Drop Data Fields Here\",\"dxPivotGrid-rowFieldArea\":\"Drop Row Fields Here\",\"dxPivotGrid-filterFieldArea\":\"Drop Filter Fields Here\",\"dxScheduler-editorLabelTitle\":\"Subject\",\"dxScheduler-editorLabelStartDate\":\"Start Date\",\"dxScheduler-editorLabelEndDate\":\"End Date\",\"dxScheduler-editorLabelDescription\":\"Description\",\"dxScheduler-editorLabelRecurrence\":\"Repeat\",\"dxScheduler-openAppointment\":\"Open appointment\",\"dxScheduler-recurrenceNever\":\"Never\",\"dxScheduler-recurrenceMinutely\":\"Every minute\",\"dxScheduler-recurrenceHourly\":\"Hourly\",\"dxScheduler-recurrenceDaily\":\"Daily\",\"dxScheduler-recurrenceWeekly\":\"Weekly\",\"dxScheduler-recurrenceMonthly\":\"Monthly\",\"dxScheduler-recurrenceYearly\":\"Yearly\",\"dxScheduler-recurrenceRepeatEvery\":\"Repeat Every\",\"dxScheduler-recurrenceRepeatOn\":\"Repeat On\",\"dxScheduler-recurrenceEnd\":\"End repeat\",\"dxScheduler-recurrenceAfter\":\"After\",\"dxScheduler-recurrenceOn\":\"On\",\"dxScheduler-recurrenceRepeatMinutely\":\"minute(s)\",\"dxScheduler-recurrenceRepeatHourly\":\"hour(s)\",\"dxScheduler-recurrenceRepeatDaily\":\"day(s)\",\"dxScheduler-recurrenceRepeatWeekly\":\"week(s)\",\"dxScheduler-recurrenceRepeatMonthly\":\"month(s)\",\"dxScheduler-recurrenceRepeatYearly\":\"year(s)\",\"dxScheduler-switcherDay\":\"Day\",\"dxScheduler-switcherWeek\":\"Week\",\"dxScheduler-switcherWorkWeek\":\"Work Week\",\"dxScheduler-switcherMonth\":\"Month\",\"dxScheduler-switcherAgenda\":\"Agenda\",\"dxScheduler-switcherTimelineDay\":\"Timeline Day\",\"dxScheduler-switcherTimelineWeek\":\"Timeline Week\",\"dxScheduler-switcherTimelineWorkWeek\":\"Timeline Work Week\",\"dxScheduler-switcherTimelineMonth\":\"Timeline Month\",\"dxScheduler-recurrenceRepeatOnDate\":\"on date\",\"dxScheduler-recurrenceRepeatCount\":\"occurrence(s)\",\"dxScheduler-allDay\":\"All day\",\"dxScheduler-confirmRecurrenceEditMessage\":\"Do you want to edit only this appointment or the whole series?\",\"dxScheduler-confirmRecurrenceDeleteMessage\":\"Do you want to delete only this appointment or the whole series?\",\"dxScheduler-confirmRecurrenceEditSeries\":\"Edit series\",\"dxScheduler-confirmRecurrenceDeleteSeries\":\"Delete series\",\"dxScheduler-confirmRecurrenceEditOccurrence\":\"Edit appointment\",\"dxScheduler-confirmRecurrenceDeleteOccurrence\":\"Delete appointment\",\"dxScheduler-noTimezoneTitle\":\"No timezone\",\"dxScheduler-moreAppointments\":\"{0} more\",\"dxCalendar-todayButtonText\":\"Today\",\"dxCalendar-ariaWidgetName\":\"Calendar\",\"dxCalendar-ariaHotKeysInfo\":\"To navigate between views, press Control, and then Left Arrow or Right Arrow. To zoom in on a view, press Control, and then Down Arrow. To zoom out, press Control, and then Up Arrow.\",\"dxColorView-ariaRed\":\"Red\",\"dxColorView-ariaGreen\":\"Green\",\"dxColorView-ariaBlue\":\"Blue\",\"dxColorView-ariaAlpha\":\"Transparency\",\"dxColorView-ariaHex\":\"Color code\",\"dxTagBox-selected\":\"{0} selected\",\"dxTagBox-allSelected\":\"All selected ({0})\",\"dxTagBox-moreSelected\":\"{0} more\",\"vizExport-printingButtonText\":\"Print\",\"vizExport-titleMenuText\":\"Exporting/Printing\",\"vizExport-exportButtonText\":\"{0} file\",\"dxFilterBuilder-and\":\"And\",\"dxFilterBuilder-or\":\"Or\",\"dxFilterBuilder-notAnd\":\"Not And\",\"dxFilterBuilder-notOr\":\"Not Or\",\"dxFilterBuilder-addCondition\":\"Add Condition\",\"dxFilterBuilder-addGroup\":\"Add Group\",\"dxFilterBuilder-enterValueText\":\"<enter a value>\",\"dxFilterBuilder-filterOperationEquals\":\"Equals\",\"dxFilterBuilder-filterOperationNotEquals\":\"Does not equal\",\"dxFilterBuilder-filterOperationLess\":\"Is less than\",\"dxFilterBuilder-filterOperationLessOrEquals\":\"Is less than or equal to\",\"dxFilterBuilder-filterOperationGreater\":\"Is greater than\",\"dxFilterBuilder-filterOperationGreaterOrEquals\":\"Is greater than or equal to\",\"dxFilterBuilder-filterOperationStartsWith\":\"Starts with\",\"dxFilterBuilder-filterOperationContains\":\"Contains\",\"dxFilterBuilder-filterOperationNotContains\":\"Does not contain\",\"dxFilterBuilder-filterOperationEndsWith\":\"Ends with\",\"dxFilterBuilder-filterOperationIsBlank\":\"Is blank\",\"dxFilterBuilder-filterOperationIsNotBlank\":\"Is not blank\",\"dxFilterBuilder-filterOperationBetween\":\"Is between\",\"dxFilterBuilder-filterOperationAnyOf\":\"Is any of\",\"dxFilterBuilder-filterOperationNoneOf\":\"Is none of\",\"dxHtmlEditor-dialogColorCaption\":\"Change Font Color\",\"dxHtmlEditor-dialogBackgroundCaption\":\"Change Background Color\",\"dxHtmlEditor-dialogLinkCaption\":\"Add Link\",\"dxHtmlEditor-dialogLinkUrlField\":\"URL\",\"dxHtmlEditor-dialogLinkTextField\":\"Text\",\"dxHtmlEditor-dialogLinkTargetField\":\"Open link in new window\",\"dxHtmlEditor-dialogImageCaption\":\"Add Image\",\"dxHtmlEditor-dialogImageUrlField\":\"URL\",\"dxHtmlEditor-dialogImageAltField\":\"Alternate text\",\"dxHtmlEditor-dialogImageWidthField\":\"Width (px)\",\"dxHtmlEditor-dialogImageHeightField\":\"Height (px)\",\"dxHtmlEditor-dialogInsertTableRowsField\":\"Rows\",\"dxHtmlEditor-dialogInsertTableColumnsField\":\"Columns\",\"dxHtmlEditor-dialogInsertTableCaption\":\"Insert Table\",\"dxHtmlEditor-dialogUpdateImageCaption\":\"Update Image\",\"dxHtmlEditor-dialogImageUpdateButton\":\"Update\",\"dxHtmlEditor-dialogImageAddButton\":\"Add\",\"dxHtmlEditor-dialogImageSpecifyUrl\":\"From the Web\",\"dxHtmlEditor-dialogImageSelectFile\":\"From This Device\",\"dxHtmlEditor-dialogImageKeepAspectRatio\":\"Keep Aspect Ratio\",\"dxHtmlEditor-dialogImageEncodeToBase64\":\"Encode to Base64\",\"dxHtmlEditor-heading\":\"Heading\",\"dxHtmlEditor-normalText\":\"Normal text\",\"dxHtmlEditor-background\":\"Background Color\",\"dxHtmlEditor-bold\":\"Bold\",\"dxHtmlEditor-color\":\"Font Color\",\"dxHtmlEditor-font\":\"Font\",\"dxHtmlEditor-italic\":\"Italic\",\"dxHtmlEditor-link\":\"Add Link\",\"dxHtmlEditor-image\":\"Add Image\",\"dxHtmlEditor-size\":\"Size\",\"dxHtmlEditor-strike\":\"Strikethrough\",\"dxHtmlEditor-subscript\":\"Subscript\",\"dxHtmlEditor-superscript\":\"Superscript\",\"dxHtmlEditor-underline\":\"Underline\",\"dxHtmlEditor-blockquote\":\"Blockquote\",\"dxHtmlEditor-header\":\"Header\",\"dxHtmlEditor-increaseIndent\":\"Increase Indent\",\"dxHtmlEditor-decreaseIndent\":\"Decrease Indent\",\"dxHtmlEditor-orderedList\":\"Ordered List\",\"dxHtmlEditor-bulletList\":\"Bullet List\",\"dxHtmlEditor-alignLeft\":\"Align Left\",\"dxHtmlEditor-alignCenter\":\"Align Center\",\"dxHtmlEditor-alignRight\":\"Align Right\",\"dxHtmlEditor-alignJustify\":\"Align Justify\",\"dxHtmlEditor-codeBlock\":\"Code Block\",\"dxHtmlEditor-variable\":\"Add Variable\",\"dxHtmlEditor-undo\":\"Undo\",\"dxHtmlEditor-redo\":\"Redo\",\"dxHtmlEditor-clear\":\"Clear Formatting\",\"dxHtmlEditor-insertTable\":\"Insert Table\",\"dxHtmlEditor-insertHeaderRow\":\"Insert Header Row\",\"dxHtmlEditor-insertRowAbove\":\"Insert Row Above\",\"dxHtmlEditor-insertRowBelow\":\"Insert Row Below\",\"dxHtmlEditor-insertColumnLeft\":\"Insert Column Left\",\"dxHtmlEditor-insertColumnRight\":\"Insert Column Right\",\"dxHtmlEditor-deleteColumn\":\"Delete Column\",\"dxHtmlEditor-deleteRow\":\"Delete Row\",\"dxHtmlEditor-deleteTable\":\"Delete Table\",\"dxHtmlEditor-cellProperties\":\"Cell Properties\",\"dxHtmlEditor-tableProperties\":\"Table Properties\",\"dxHtmlEditor-insert\":\"Insert\",\"dxHtmlEditor-delete\":\"Delete\",\"dxHtmlEditor-border\":\"Border\",\"dxHtmlEditor-style\":\"Style\",\"dxHtmlEditor-width\":\"Width\",\"dxHtmlEditor-height\":\"Height\",\"dxHtmlEditor-borderColor\":\"Color\",\"dxHtmlEditor-tableBackground\":\"Background\",\"dxHtmlEditor-dimensions\":\"Dimensions\",\"dxHtmlEditor-alignment\":\"Alignment\",\"dxHtmlEditor-horizontal\":\"Horizontal\",\"dxHtmlEditor-vertical\":\"Vertical\",\"dxHtmlEditor-paddingVertical\":\"Vertical Padding\",\"dxHtmlEditor-paddingHorizontal\":\"Horizontal Padding\",\"dxHtmlEditor-pixels\":\"Pixels\",\"dxHtmlEditor-list\":\"List\",\"dxHtmlEditor-ordered\":\"Ordered\",\"dxHtmlEditor-bullet\":\"Bullet\",\"dxHtmlEditor-align\":\"Align\",\"dxHtmlEditor-center\":\"Center\",\"dxHtmlEditor-left\":\"Left\",\"dxHtmlEditor-right\":\"Right\",\"dxHtmlEditor-indent\":\"Indent\",\"dxHtmlEditor-justify\":\"Justify\",\"dxFileManager-newDirectoryName\":\"Untitled directory\",\"dxFileManager-rootDirectoryName\":\"Files\",\"dxFileManager-errorNoAccess\":\"Access Denied. Operation could not be completed.\",\"dxFileManager-errorDirectoryExistsFormat\":\"Directory '{0}' already exists.\",\"dxFileManager-errorFileExistsFormat\":\"File '{0}' already exists.\",\"dxFileManager-errorFileNotFoundFormat\":\"File '{0}' not found.\",\"dxFileManager-errorDirectoryNotFoundFormat\":\"Directory '{0}' not found.\",\"dxFileManager-errorWrongFileExtension\":\"File extension is not allowed.\",\"dxFileManager-errorMaxFileSizeExceeded\":\"File size exceeds the maximum allowed size.\",\"dxFileManager-errorInvalidSymbols\":\"This name contains invalid characters.\",\"dxFileManager-errorDefault\":\"Unspecified error.\",\"dxFileManager-errorDirectoryOpenFailed\":\"The directory cannot be opened\",\"dxFileManager-commandCreate\":\"New directory\",\"dxFileManager-commandRename\":\"Rename\",\"dxFileManager-commandMove\":\"Move to\",\"dxFileManager-commandCopy\":\"Copy to\",\"dxFileManager-commandDelete\":\"Delete\",\"dxFileManager-commandDownload\":\"Download\",\"dxFileManager-commandUpload\":\"Upload files\",\"dxFileManager-commandRefresh\":\"Refresh\",\"dxFileManager-commandThumbnails\":\"Thumbnails View\",\"dxFileManager-commandDetails\":\"Details View\",\"dxFileManager-commandClearSelection\":\"Clear selection\",\"dxFileManager-commandShowNavPane\":\"Toggle navigation pane\",\"dxFileManager-dialogDirectoryChooserMoveTitle\":\"Move to\",\"dxFileManager-dialogDirectoryChooserMoveButtonText\":\"Move\",\"dxFileManager-dialogDirectoryChooserCopyTitle\":\"Copy to\",\"dxFileManager-dialogDirectoryChooserCopyButtonText\":\"Copy\",\"dxFileManager-dialogRenameItemTitle\":\"Rename\",\"dxFileManager-dialogRenameItemButtonText\":\"Save\",\"dxFileManager-dialogCreateDirectoryTitle\":\"New directory\",\"dxFileManager-dialogCreateDirectoryButtonText\":\"Create\",\"dxFileManager-dialogDeleteItemTitle\":\"Delete\",\"dxFileManager-dialogDeleteItemButtonText\":\"Delete\",\"dxFileManager-dialogDeleteItemSingleItemConfirmation\":\"Are you sure you want to delete {0}?\",\"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\":\"Are you sure you want to delete {0} items?\",\"dxFileManager-dialogButtonCancel\":\"Cancel\",\"dxFileManager-editingCreateSingleItemProcessingMessage\":\"Creating a directory inside {0}\",\"dxFileManager-editingCreateSingleItemSuccessMessage\":\"Created a directory inside {0}\",\"dxFileManager-editingCreateSingleItemErrorMessage\":\"Directory was not created\",\"dxFileManager-editingCreateCommonErrorMessage\":\"Directory was not created\",\"dxFileManager-editingRenameSingleItemProcessingMessage\":\"Renaming an item inside {0}\",\"dxFileManager-editingRenameSingleItemSuccessMessage\":\"Renamed an item inside {0}\",\"dxFileManager-editingRenameSingleItemErrorMessage\":\"Item was not renamed\",\"dxFileManager-editingRenameCommonErrorMessage\":\"Item was not renamed\",\"dxFileManager-editingDeleteSingleItemProcessingMessage\":\"Deleting an item from {0}\",\"dxFileManager-editingDeleteMultipleItemsProcessingMessage\":\"Deleting {0} items from {1}\",\"dxFileManager-editingDeleteSingleItemSuccessMessage\":\"Deleted an item from {0}\",\"dxFileManager-editingDeleteMultipleItemsSuccessMessage\":\"Deleted {0} items from {1}\",\"dxFileManager-editingDeleteSingleItemErrorMessage\":\"Item was not deleted\",\"dxFileManager-editingDeleteMultipleItemsErrorMessage\":\"{0} items were not deleted\",\"dxFileManager-editingDeleteCommonErrorMessage\":\"Some items were not deleted\",\"dxFileManager-editingMoveSingleItemProcessingMessage\":\"Moving an item to {0}\",\"dxFileManager-editingMoveMultipleItemsProcessingMessage\":\"Moving {0} items to {1}\",\"dxFileManager-editingMoveSingleItemSuccessMessage\":\"Moved an item to {0}\",\"dxFileManager-editingMoveMultipleItemsSuccessMessage\":\"Moved {0} items to {1}\",\"dxFileManager-editingMoveSingleItemErrorMessage\":\"Item was not moved\",\"dxFileManager-editingMoveMultipleItemsErrorMessage\":\"{0} items were not moved\",\"dxFileManager-editingMoveCommonErrorMessage\":\"Some items were not moved\",\"dxFileManager-editingCopySingleItemProcessingMessage\":\"Copying an item to {0}\",\"dxFileManager-editingCopyMultipleItemsProcessingMessage\":\"Copying {0} items to {1}\",\"dxFileManager-editingCopySingleItemSuccessMessage\":\"Copied an item to {0}\",\"dxFileManager-editingCopyMultipleItemsSuccessMessage\":\"Copied {0} items to {1}\",\"dxFileManager-editingCopySingleItemErrorMessage\":\"Item was not copied\",\"dxFileManager-editingCopyMultipleItemsErrorMessage\":\"{0} items were not copied\",\"dxFileManager-editingCopyCommonErrorMessage\":\"Some items were not copied\",\"dxFileManager-editingUploadSingleItemProcessingMessage\":\"Uploading an item to {0}\",\"dxFileManager-editingUploadMultipleItemsProcessingMessage\":\"Uploading {0} items to {1}\",\"dxFileManager-editingUploadSingleItemSuccessMessage\":\"Uploaded an item to {0}\",\"dxFileManager-editingUploadMultipleItemsSuccessMessage\":\"Uploaded {0} items to {1}\",\"dxFileManager-editingUploadSingleItemErrorMessage\":\"Item was not uploaded\",\"dxFileManager-editingUploadMultipleItemsErrorMessage\":\"{0} items were not uploaded\",\"dxFileManager-editingUploadCanceledMessage\":\"Canceled\",\"dxFileManager-editingDownloadSingleItemErrorMessage\":\"Item was not downloaded\",\"dxFileManager-editingDownloadMultipleItemsErrorMessage\":\"{0} items were not downloaded\",\"dxFileManager-listDetailsColumnCaptionName\":\"Name\",\"dxFileManager-listDetailsColumnCaptionDateModified\":\"Date Modified\",\"dxFileManager-listDetailsColumnCaptionFileSize\":\"File Size\",\"dxFileManager-listThumbnailsTooltipTextSize\":\"Size\",\"dxFileManager-listThumbnailsTooltipTextDateModified\":\"Date Modified\",\"dxFileManager-notificationProgressPanelTitle\":\"Progress\",\"dxFileManager-notificationProgressPanelEmptyListText\":\"No operations\",\"dxFileManager-notificationProgressPanelOperationCanceled\":\"Canceled\",\"dxDiagram-categoryGeneral\":\"General\",\"dxDiagram-categoryFlowchart\":\"Flowchart\",\"dxDiagram-categoryOrgChart\":\"Org Chart\",\"dxDiagram-categoryContainers\":\"Containers\",\"dxDiagram-categoryCustom\":\"Custom\",\"dxDiagram-commandExportToSvg\":\"Export to SVG\",\"dxDiagram-commandExportToPng\":\"Export to PNG\",\"dxDiagram-commandExportToJpg\":\"Export to JPEG\",\"dxDiagram-commandUndo\":\"Undo\",\"dxDiagram-commandRedo\":\"Redo\",\"dxDiagram-commandFontName\":\"Font Name\",\"dxDiagram-commandFontSize\":\"Font Size\",\"dxDiagram-commandBold\":\"Bold\",\"dxDiagram-commandItalic\":\"Italic\",\"dxDiagram-commandUnderline\":\"Underline\",\"dxDiagram-commandTextColor\":\"Font Color\",\"dxDiagram-commandLineColor\":\"Line Color\",\"dxDiagram-commandLineWidth\":\"Line Width\",\"dxDiagram-commandLineStyle\":\"Line Style\",\"dxDiagram-commandLineStyleSolid\":\"Solid\",\"dxDiagram-commandLineStyleDotted\":\"Dotted\",\"dxDiagram-commandLineStyleDashed\":\"Dashed\",\"dxDiagram-commandFillColor\":\"Fill Color\",\"dxDiagram-commandAlignLeft\":\"Align Left\",\"dxDiagram-commandAlignCenter\":\"Align Center\",\"dxDiagram-commandAlignRight\":\"Align Right\",\"dxDiagram-commandConnectorLineType\":\"Connector Line Type\",\"dxDiagram-commandConnectorLineStraight\":\"Straight\",\"dxDiagram-commandConnectorLineOrthogonal\":\"Orthogonal\",\"dxDiagram-commandConnectorLineStart\":\"Connector Line Start\",\"dxDiagram-commandConnectorLineEnd\":\"Connector Line End\",\"dxDiagram-commandConnectorLineNone\":\"None\",\"dxDiagram-commandConnectorLineArrow\":\"Arrow\",\"dxDiagram-commandFullscreen\":\"Full Screen\",\"dxDiagram-commandUnits\":\"Units\",\"dxDiagram-commandPageSize\":\"Page Size\",\"dxDiagram-commandPageOrientation\":\"Page Orientation\",\"dxDiagram-commandPageOrientationLandscape\":\"Landscape\",\"dxDiagram-commandPageOrientationPortrait\":\"Portrait\",\"dxDiagram-commandPageColor\":\"Page Color\",\"dxDiagram-commandShowGrid\":\"Show Grid\",\"dxDiagram-commandSnapToGrid\":\"Snap to Grid\",\"dxDiagram-commandGridSize\":\"Grid Size\",\"dxDiagram-commandZoomLevel\":\"Zoom Level\",\"dxDiagram-commandAutoZoom\":\"Auto Zoom\",\"dxDiagram-commandFitToContent\":\"Fit to Content\",\"dxDiagram-commandFitToWidth\":\"Fit to Width\",\"dxDiagram-commandAutoZoomByContent\":\"Auto Zoom by Content\",\"dxDiagram-commandAutoZoomByWidth\":\"Auto Zoom by Width\",\"dxDiagram-commandSimpleView\":\"Simple View\",\"dxDiagram-commandCut\":\"Cut\",\"dxDiagram-commandCopy\":\"Copy\",\"dxDiagram-commandPaste\":\"Paste\",\"dxDiagram-commandSelectAll\":\"Select All\",\"dxDiagram-commandDelete\":\"Delete\",\"dxDiagram-commandBringToFront\":\"Bring to Front\",\"dxDiagram-commandSendToBack\":\"Send to Back\",\"dxDiagram-commandLock\":\"Lock\",\"dxDiagram-commandUnlock\":\"Unlock\",\"dxDiagram-commandInsertShapeImage\":\"Insert Image...\",\"dxDiagram-commandEditShapeImage\":\"Change Image...\",\"dxDiagram-commandDeleteShapeImage\":\"Delete Image\",\"dxDiagram-commandLayoutLeftToRight\":\"Left-to-right\",\"dxDiagram-commandLayoutRightToLeft\":\"Right-to-left\",\"dxDiagram-commandLayoutTopToBottom\":\"Top-to-bottom\",\"dxDiagram-commandLayoutBottomToTop\":\"Bottom-to-top\",\"dxDiagram-unitIn\":\"in\",\"dxDiagram-unitCm\":\"cm\",\"dxDiagram-unitPx\":\"px\",\"dxDiagram-dialogButtonOK\":\"OK\",\"dxDiagram-dialogButtonCancel\":\"Cancel\",\"dxDiagram-dialogInsertShapeImageTitle\":\"Insert Image\",\"dxDiagram-dialogEditShapeImageTitle\":\"Change Image\",\"dxDiagram-dialogEditShapeImageSelectButton\":\"Select image\",\"dxDiagram-dialogEditShapeImageLabelText\":\"or drop a file here\",\"dxDiagram-uiExport\":\"Export\",\"dxDiagram-uiProperties\":\"Properties\",\"dxDiagram-uiSettings\":\"Settings\",\"dxDiagram-uiShowToolbox\":\"Show Toolbox\",\"dxDiagram-uiSearch\":\"Search\",\"dxDiagram-uiStyle\":\"Style\",\"dxDiagram-uiLayout\":\"Layout\",\"dxDiagram-uiLayoutTree\":\"Tree\",\"dxDiagram-uiLayoutLayered\":\"Layered\",\"dxDiagram-uiDiagram\":\"Diagram\",\"dxDiagram-uiText\":\"Text\",\"dxDiagram-uiObject\":\"Object\",\"dxDiagram-uiConnector\":\"Connector\",\"dxDiagram-uiPage\":\"Page\",\"dxDiagram-shapeText\":\"Text\",\"dxDiagram-shapeRectangle\":\"Rectangle\",\"dxDiagram-shapeEllipse\":\"Ellipse\",\"dxDiagram-shapeCross\":\"Cross\",\"dxDiagram-shapeTriangle\":\"Triangle\",\"dxDiagram-shapeDiamond\":\"Diamond\",\"dxDiagram-shapeHeart\":\"Heart\",\"dxDiagram-shapePentagon\":\"Pentagon\",\"dxDiagram-shapeHexagon\":\"Hexagon\",\"dxDiagram-shapeOctagon\":\"Octagon\",\"dxDiagram-shapeStar\":\"Star\",\"dxDiagram-shapeArrowLeft\":\"Left Arrow\",\"dxDiagram-shapeArrowUp\":\"Up Arrow\",\"dxDiagram-shapeArrowRight\":\"Right Arrow\",\"dxDiagram-shapeArrowDown\":\"Down Arrow\",\"dxDiagram-shapeArrowUpDown\":\"Up Down Arrow\",\"dxDiagram-shapeArrowLeftRight\":\"Left Right Arrow\",\"dxDiagram-shapeProcess\":\"Process\",\"dxDiagram-shapeDecision\":\"Decision\",\"dxDiagram-shapeTerminator\":\"Terminator\",\"dxDiagram-shapePredefinedProcess\":\"Predefined Process\",\"dxDiagram-shapeDocument\":\"Document\",\"dxDiagram-shapeMultipleDocuments\":\"Multiple Documents\",\"dxDiagram-shapeManualInput\":\"Manual Input\",\"dxDiagram-shapePreparation\":\"Preparation\",\"dxDiagram-shapeData\":\"Data\",\"dxDiagram-shapeDatabase\":\"Database\",\"dxDiagram-shapeHardDisk\":\"Hard Disk\",\"dxDiagram-shapeInternalStorage\":\"Internal Storage\",\"dxDiagram-shapePaperTape\":\"Paper Tape\",\"dxDiagram-shapeManualOperation\":\"Manual Operation\",\"dxDiagram-shapeDelay\":\"Delay\",\"dxDiagram-shapeStoredData\":\"Stored Data\",\"dxDiagram-shapeDisplay\":\"Display\",\"dxDiagram-shapeMerge\":\"Merge\",\"dxDiagram-shapeConnector\":\"Connector\",\"dxDiagram-shapeOr\":\"Or\",\"dxDiagram-shapeSummingJunction\":\"Summing Junction\",\"dxDiagram-shapeContainerDefaultText\":\"Container\",\"dxDiagram-shapeVerticalContainer\":\"Vertical Container\",\"dxDiagram-shapeHorizontalContainer\":\"Horizontal Container\",\"dxDiagram-shapeCardDefaultText\":\"Person's Name\",\"dxDiagram-shapeCardWithImageOnLeft\":\"Card with Image on the Left\",\"dxDiagram-shapeCardWithImageOnTop\":\"Card with Image on the Top\",\"dxDiagram-shapeCardWithImageOnRight\":\"Card with Image on the Right\",\"dxGantt-dialogTitle\":\"Title\",\"dxGantt-dialogStartTitle\":\"Start\",\"dxGantt-dialogEndTitle\":\"End\",\"dxGantt-dialogProgressTitle\":\"Progress\",\"dxGantt-dialogResourcesTitle\":\"Resources\",\"dxGantt-dialogResourceManagerTitle\":\"Resource Manager\",\"dxGantt-dialogTaskDetailsTitle\":\"Task Details\",\"dxGantt-dialogEditResourceListHint\":\"Edit Resource List\",\"dxGantt-dialogEditNoResources\":\"No resources\",\"dxGantt-dialogButtonAdd\":\"Add\",\"dxGantt-contextMenuNewTask\":\"New Task\",\"dxGantt-contextMenuNewSubtask\":\"New Subtask\",\"dxGantt-contextMenuDeleteTask\":\"Delete Task\",\"dxGantt-contextMenuDeleteDependency\":\"Delete Dependency\",\"dxGantt-dialogTaskDeleteConfirmation\":\"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\"dxGantt-dialogDependencyDeleteConfirmation\":\"Are you sure you want to delete the dependency from the task?\",\"dxGantt-dialogResourcesDeleteConfirmation\":\"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\"dxGantt-dialogConstraintCriticalViolationMessage\":\"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\"dxGantt-dialogConstraintViolationMessage\":\"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\"dxGantt-dialogCancelOperationMessage\":\"Cancel the operation\",\"dxGantt-dialogDeleteDependencyMessage\":\"Delete the dependency\",\"dxGantt-dialogMoveTaskAndKeepDependencyMessage\":\"Move the task and keep the dependency\",\"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\":\"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\"dxGantt-dialogConstraintViolationSeveralTasksMessage\":\"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\"dxGantt-dialogDeleteDependenciesMessage\":\"Delete the dependency relations\",\"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\":\"Move the task and keep the dependencies\",\"dxGantt-undo\":\"Undo\",\"dxGantt-redo\":\"Redo\",\"dxGantt-expandAll\":\"Expand All\",\"dxGantt-collapseAll\":\"Collapse All\",\"dxGantt-addNewTask\":\"Add New Task\",\"dxGantt-deleteSelectedTask\":\"Delete Selected Task\",\"dxGantt-zoomIn\":\"Zoom In\",\"dxGantt-zoomOut\":\"Zoom Out\",\"dxGantt-fullScreen\":\"Full Screen\",\"dxGantt-quarter\":\"Q{0}\",\"dxGantt-sortingAscendingText\":\"Sort Ascending\",\"dxGantt-sortingDescendingText\":\"Sort Descending\",\"dxGantt-sortingClearText\":\"Clear Sorting\",\"dxGantt-showResources\":\"Show Resources\",\"dxGantt-showDependencies\":\"Show Dependencies\",\"dxGantt-dialogStartDateValidation\":\"Start date must be after {0}\",\"dxGantt-dialogEndDateValidation\":\"End date must be after {0}\"}}},74872:function(e,t,n){var i=s(n(71272)),o=s(n(91331)),a=n(35608),r=n(57421);function s(e){return e&&e.__esModule?e:{default:e}}i.default&&i.default.load&&(i.default.locale()||(i.default.load(a.enCldr,r.supplementalCldr),i.default.locale(\"en\")),o.default.inject({locale:function(e){if(!e)return i.default.locale().locale;i.default.locale(e)}}))},7239:function(e,t,n){var i=s(n(44592));n(74872),n(908),n(89740),n(71272);var o=s(n(71272)),a=s(n(80209)),r=s(n(18016));function s(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var u=[\"symbol\",\"accounting\"];if(o.default&&o.default.formatCurrency){\"en\"===o.default.locale().locale&&o.default.locale(\"en\");var d={},c=function(e,t){var n,i;return i=\"object\"===l(t)?o.default.locale().locale+\":\"+e+\":\"+JSON.stringify(t):o.default.locale().locale+\":\"+e+\":\"+t,(n=d[i])||(n=d[i]=o.default.currencyFormatter(e,t)),n},h={_formatNumberCore:function(e,t,n){if(\"currency\"===t){var i=n&&n.currency||(0,a.default)().defaultCurrency;return c(i,this._normalizeFormatConfig(t,n,e))(e)}return this.callBase.apply(this,arguments)},_normalizeFormatConfig:function(e,t,n){var i=this.callBase(e,t,n);if(\"currency\"===e){var o,r=null!==(o=t.useCurrencyAccountingStyle)&&void 0!==o?o:(0,a.default)().defaultUseCurrencyAccountingStyle;i.style=u[+r]}return i},format:function(e,t){if(\"number\"!=typeof e)return e;if(t=this._normalizeFormat(t)){if(\"default\"===t.currency&&(t.currency=(0,a.default)().defaultCurrency),\"currency\"===t.type)return this._formatNumber(e,this._parseNumberFormatString(\"currency\"),t);if(!t.type&&t.currency)return c(t.currency,t)(e)}return this.callBase.apply(this,arguments)},getCurrencySymbol:function(e){return e||(e=(0,a.default)().defaultCurrency),o.default.cldr.main(\"numbers/currencies/\"+e)},getOpenXmlCurrencyFormat:function(e){var t=this.getCurrencySymbol(e).symbol,n=o.default.cldr.main(\"numbers/currencyFormats-numberSystem-latn\").accounting;return(0,i.default)(t,n)}};r.default.inject(h)}},60316:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}n(74872),n(908),n(71272);var o=u(n(71272)),a=u(n(91500)),r=n(35922),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95479));function l(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}function u(e){return e&&e.__esModule?e:{default:e}}var d=[\"skeleton\",\"date\",\"time\",\"datetime\",\"raw\"],c=/[\\u200E\\u200F]/g;if(o.default&&o.default.formatDate){\"en\"===o.default.locale().locale&&o.default.locale(\"en\");var h={},f={shortdate:{path:\"dateTimeFormats/availableFormats/yMd\"},shorttime:{path:\"timeFormats/short\"},longdate:{path:\"dateFormats/full\"},longtime:{path:\"timeFormats/medium\"},monthandday:{path:\"dateTimeFormats/availableFormats/MMMMd\"},monthandyear:{path:\"dateTimeFormats/availableFormats/yMMMM\"},quarterandyear:{path:\"dateTimeFormats/availableFormats/yQQQ\"},day:{path:\"dateTimeFormats/availableFormats/d\"},year:{path:\"dateTimeFormats/availableFormats/y\"},shortdateshorttime:{path:\"dateTimeFormats/short\",parts:[\"shorttime\",\"shortdate\"]},longdatelongtime:{path:\"dateTimeFormats/medium\",parts:[\"longtime\",\"longdate\"]},month:{pattern:\"LLLL\"},shortyear:{pattern:\"yy\"},dayofweek:{pattern:\"EEEE\"},quarter:{pattern:\"QQQ\"},millisecond:{pattern:\"SSS\"},hour:{pattern:\"HH\"},minute:{pattern:\"mm\"},second:{pattern:\"ss\"}},p={engine:function(){return\"globalize\"},_getPatternByFormat:function(e){var t=this,n=e.toLowerCase(),i=f[n];if(\"datetime-local\"===n)return\"yyyy-MM-ddTHH':'mm':'ss\";if(i){var o=i.path&&t._getFormatStringByPath(i.path)||i.pattern;return i.parts&&s.each(i.parts,(function(e,n){o=o.replace(\"{\"+e+\"}\",t._getPatternByFormat(n))})),o}},_getFormatStringByPath:function(e){return o.default.locale().main(\"dates/calendars/gregorian/\"+e)},getPeriodNames:function(e,t){e=e||\"wide\",t=\"format\"===t?t:\"stand-alone\";var n=o.default.locale().main(\"dates/calendars/gregorian/dayPeriods/\".concat(t,\"/\").concat(e));return[n.am,n.pm]},getMonthNames:function(e,t){var n=o.default.locale().main(\"dates/calendars/gregorian/months/\"+(\"format\"===t?t:\"stand-alone\")+\"/\"+(e||\"wide\"));return s.map(n,(function(e){return e}))},getDayNames:function(e){var t=o.default.locale().main(\"dates/calendars/gregorian/days/stand-alone/\"+(e||\"wide\"));return s.map(t,(function(e){return e}))},getTimeSeparator:function(){return o.default.locale().main(\"numbers/symbols-numberSystem-latn/timeSeparator\")},removeRtlMarks:function(e){return e.replace(c,\"\")},format:function(e,t){if(e){if(!t)return e;var n,i;if(\"function\"==typeof t)return t(e);if(t.formatter)return t.formatter(e);if(\"string\"==typeof(t=t.type||t))i=o.default.locale().locale+\":\"+t,(n=h[i])||(t={raw:this._getPatternByFormat(t)||t},n=h[i]=o.default.dateFormatter(t));else{if(!this._isAcceptableFormat(t))return;n=o.default.dateFormatter(t)}return this.removeRtlMarks(n(e))}},parse:function(e,t){if(e){if(!t||\"function\"==typeof t||(0,r.isObject)(t)&&!this._isAcceptableFormat(t)){if(t){var n=this.callBase(e,t);if(n)return n}return o.default.parseDate(e)}if(t.parser)return t.parser(e);\"string\"==typeof t&&(t={raw:this._getPatternByFormat(t)||t});var i=o.default.parseDate(e,t);return i||this.callBase(e,t)}},_isAcceptableFormat:function(e){if(e.parser)return!0;for(var t=0;t<d.length;t++)if(Object.prototype.hasOwnProperty.call(e,d[t]))return!0},firstDayOfWeekIndex:function(){var e=o.default.locale().supplemental.weekData.firstDay();return this._getDayKeys().indexOf(e)},_getDayKeys:function(){var e=o.default.locale().main(\"dates/calendars/gregorian/days/format/short\");return s.map(e,(function(e,t){return t}))}};a.default.resetInjection(),a.default.inject(p)}},46949:function(e,t,n){n(74872);var i=r(n(71272)),o=r(n(28109)),a=r(n(91331));function r(e){return e&&e.__esModule?e:{default:e}}if(n(71272),i.default&&i.default.formatMessage){var s=i.default.loadMessages;i.default.loadMessages=function(e){o.default.load(e)};var l={engine:function(){return\"globalize\"},ctor:function(){this.load(this._dictionary)},load:function(e){this.callBase(e),s(e)},getMessagesByLocales:function(){return i.default.cldr.get(\"globalize-messages\")},getFormatter:function(e,t){var n=t||a.default.locale(),i=this._getFormatterBase(e,t);return i||(i=this._formatterByGlobalize(e,t)),i||\"en\"===n||(i=this.getFormatter(e,\"en\")),i},_formatterByGlobalize:function(e,t){var n,o=t&&t!==a.default.locale()?new i.default(t):i.default;return this._messageLoaded(e,t)&&(n=o.messageFormatter(e)),n},_messageLoaded:function(e,t){return!!(t?new i.default(t).cldr:i.default.locale()).get([\"globalize-messages/{bundle}\",e])},_loadSingle:function(e,t,n){var i={};i[n]={},i[n][e]=t,this.load(i)}};o.default.inject(l)}},908:function(e,t,n){n(74872);var i=r(n(71272)),o=r(n(18016)),a=r(n(17381));function r(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}n(71272);if(i.default&&i.default.formatNumber){\"en\"===i.default.locale().locale&&i.default.locale(\"en\");var l={},u=function(e){var t,n;return n=\"object\"===s(e)?i.default.locale().locale+\":\"+JSON.stringify(e):i.default.locale().locale+\":\"+e,(t=l[n])||(t=l[n]=i.default.numberFormatter(e)),t},d={engine:function(){return\"globalize\"},_formatNumberCore:function(e,t,n){return\"exponential\"===t?this.callBase.apply(this,arguments):u(this._normalizeFormatConfig(t,n,e))(e)},_normalizeFormatConfig:function(e,t,n){var i;return i=\"decimal\"===e?{minimumIntegerDigits:t.precision||1,useGrouping:!1,minimumFractionDigits:0,maximumFractionDigits:20,round:n<0?\"ceil\":\"floor\"}:this._getPrecisionConfig(t.precision),\"percent\"===e&&(i.style=\"percent\"),i},_getPrecisionConfig:function(e){return null===e?{minimumFractionDigits:0,maximumFractionDigits:20}:{minimumFractionDigits:e||0,maximumFractionDigits:e||0}},format:function(e,t){return\"number\"!=typeof e?e:(t=this._normalizeFormat(t))&&(\"function\"==typeof t||t.type||t.formatter)?this.callBase.apply(this,arguments):u(t)(e)},parse:function(e,t){if(e){if(t&&(t.parser||\"string\"==typeof t))return this.callBase.apply(this,arguments);t&&a.default.log(\"W0011\");var n=i.default.parseNumber(e);return isNaN(n)&&(n=this.callBase.apply(this,arguments)),n}}};o.default.resetInjection(),o.default.inject(d)}},13024:function(e,t,n){t.default=void 0;var i,o=n(13306),a=(i=n(91331))&&i.__esModule?i:{default:i};function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var s=/[\\u200E\\u200F]/g,l=/[\\u202F]/g,u=function(e){return function(t){if(!e.timeZoneName){var n=t.getFullYear(),i=String(n).length<3,a=i?n+400:n,r=new Date(Date.UTC(a,t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return i&&r.setFullYear(n),c(r,(0,o.extend)({timeZone:\"UTC\"},e))}return c(t,e)}},d={};function c(e,t){return function(e){var t=a.default.locale()+\"/\"+JSON.stringify(e);return d[t]||(d[t]=new Intl.DateTimeFormat(a.default.locale(),e).format),d[t]}(t)(e).replace(s,\"\").replace(l,\" \")}var h,f=function(e){return new Intl.NumberFormat(a.default.locale()).format(e)},p=(h={},function(e){if(!(e in h)){if(\"0\"===f(0))return h[e]=!1,!1;h[e]={};for(var t=0;t<10;++t)h[e][f(t)]=t}return h[e]}),g=function(e){var t=p(a.default.locale());return t?e.split(\"\").map((function(e){return e in t?String(t[e]):e})).join(\"\"):e},m=function(e){return e.replace(/(\\D)0+(\\d)/g,\"$1$2\")},_=function(e){return e.replace(\"d\\u2019\",\"de \")},v={day:{day:\"numeric\"},dayofweek:{weekday:\"long\"},longdate:{weekday:\"long\",year:\"numeric\",month:\"long\",day:\"numeric\"},longdatelongtime:{weekday:\"long\",year:\"numeric\",month:\"long\",day:\"numeric\",hour:\"numeric\",minute:\"numeric\",second:\"numeric\"},longtime:{hour:\"numeric\",minute:\"numeric\",second:\"numeric\"},month:{month:\"long\"},monthandday:{month:\"long\",day:\"numeric\"},monthandyear:{year:\"numeric\",month:\"long\"},shortdate:{},shorttime:{hour:\"numeric\",minute:\"numeric\"},shortyear:{year:\"2-digit\"},year:{year:\"numeric\"}};Object.defineProperty(v,\"shortdateshorttime\",{get:function(){var e=Intl.DateTimeFormat(a.default.locale()).resolvedOptions();return{year:e.year,month:e.month,day:e.day,hour:\"numeric\",minute:\"numeric\"}}});var y=function(e){return\"string\"==typeof e&&v[e.toLowerCase()]},b={standalone:function(e,t){var n=new Date(1999,e,13,1);return u({month:t})(n)},format:function(e,t){var n=new Date(0,e,13,1),i=_(u({day:\"numeric\",month:t})(n)).split(\" \").filter((function(e){return e.indexOf(\"13\")<0}));return 1===i.length?i[0]:2===i.length?i[0].length>i[1].length?i[0]:i[1]:b.standalone(e,t)}},x={engine:function(){return\"intl\"},getMonthNames:function(e,t){var n={wide:\"long\",abbreviated:\"short\",narrow:\"narrow\"}[e||\"wide\"];return t=\"format\"===t?t:\"standalone\",Array.apply(null,new Array(12)).map((function(e,i){return b[t](i,n)}))},getDayNames:function(e){return function(e){return Array.apply(null,new Array(7)).map((function(t,n){return u({weekday:e})(new Date(0,0,n))}))}({wide:\"long\",abbreviated:\"short\",short:\"narrow\",narrow:\"narrow\"}[e||\"wide\"])},getPeriodNames:function(){var e=u({hour:\"numeric\",hour12:!0});return[1,13].map((function(t){var n=f(1),i=e(new Date(0,0,1,t)).split(n);return 2!==i.length?\"\":(i[0].length>i[1].length?i[0]:i[1]).trim()}))},format:function(e,t){if(e){if(!t)return e;\"function\"==typeof t||t.formatter||(t=t.type||t);var n=y(t);if(n)return u(n)(e);var i=r(t);return t.formatter||\"function\"===i||\"string\"===i?this.callBase.apply(this,arguments):u(t)(e)}},parse:function(e,t){var n,i=this;return t&&!t.parser&&\"string\"==typeof e&&(e=_(e),n=function(e){return _(i.format(e,t))}),this.callBase(e,n||t)},_parseDateBySimpleFormat:function(e,t){var n=this;e=g(e);var i=this.getFormatParts(t),o=e.split(/\\D+/).filter((function(e){return e.length>0}));if(i.length===o.length){var a=this._generateDateArgs(i,o),r=function(i){var o,r,s=function(e,t){var n=t?12:0;return new Date(e.year,e.month,e.day,(e.hours+n)%24,e.minutes,e.seconds)}(a,i);if(o=g(n.format(s,t)),r=e,m(o)===m(r))return s};return r(!1)||r(!0)}},_generateDateArgs:function(e,t){var n=new Date,i={year:n.getFullYear(),month:n.getMonth(),day:n.getDate(),hours:0,minutes:0,seconds:0};return e.forEach((function(e,n){var o=t[n],a=parseInt(o,10);\"month\"===e&&(a-=1),i[e]=a})),i},formatUsesMonthName:function(e){return\"object\"!==r(e)||e.type||e.format?this.callBase.apply(this,arguments):\"long\"===e.month},formatUsesDayName:function(e){return\"object\"!==r(e)||e.type||e.format?this.callBase.apply(this,arguments):\"long\"===e.weekday},getTimeSeparator:function(){return g(c(new Date(2001,1,1,11,11),{hour:\"numeric\",minute:\"numeric\",hour12:!1})).replace(/\\d/g,\"\")},getFormatParts:function(e){if(\"string\"==typeof e)return this.callBase(e);var t=(0,o.extend)({},v[e.toLowerCase()]),n=new Date(2001,2,4,5,6,7),i=u(t)(n);i=g(i);return[{name:\"year\",value:1},{name:\"month\",value:3},{name:\"day\",value:4},{name:\"hours\",value:5},{name:\"minutes\",value:6},{name:\"seconds\",value:7}].map((function(e){return{name:e.name,index:i.indexOf(e.value)}})).filter((function(e){return e.index>-1})).sort((function(e,t){return e.index-t.index})).map((function(e){return e.name}))}};t.default=x,e.exports=t.default,e.exports.default=t.default},38702:function(e,t,n){t.default=void 0;var i=s(n(80209)),o=s(n(91331)),a=s(n(44592)),r=s(n(71868));function s(e){return e&&e.__esModule?e:{default:e}}var l=[\"standard\",\"accounting\"],u=/([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/,d={},c=function(e){var t=o.default.locale()+\"/\"+JSON.stringify(e);return d[t]||(d[t]=new Intl.NumberFormat(o.default.locale(),e).format),d[t]},h={engine:function(){return\"intl\"},_formatNumberCore:function(e,t,n){return\"exponential\"===t?this.callBase.apply(this,arguments):c(this._normalizeFormatConfig(t,n,e))(e)},_normalizeFormatConfig:function(e,t,n){var o;if(\"decimal\"===e){var a=String(n).split(\".\")[1];o={minimumIntegerDigits:t.precision||void 0,useGrouping:!1,maximumFractionDigits:a&&a.length,round:n<0?\"ceil\":\"floor\"}}else o=this._getPrecisionConfig(t.precision);if(\"percent\"===e)o.style=\"percent\";else if(\"currency\"===e){var r,s=null!==(r=t.useCurrencyAccountingStyle)&&void 0!==r?r:(0,i.default)().defaultUseCurrencyAccountingStyle;o.style=\"currency\",o.currency=t.currency||(0,i.default)().defaultCurrency,o.currencySign=l[+s]}return o},_getPrecisionConfig:function(e){return null===e?{minimumFractionDigits:0,maximumFractionDigits:20}:{minimumFractionDigits:e||0,maximumFractionDigits:e||0}},format:function(e,t){return\"number\"!=typeof e?e:(\"default\"===(t=this._normalizeFormat(t)).currency&&(t.currency=(0,i.default)().defaultCurrency),t&&(\"function\"==typeof t||t.type||t.formatter)?this.callBase.apply(this,arguments):c(t)(e))},_getCurrencySymbolInfo:function(e){var t=function(e){return new Intl.NumberFormat(o.default.locale(),{style:\"currency\",currency:e})}(e);return this._extractCurrencySymbolInfo(t.format(0))},_extractCurrencySymbolInfo:function(e){var t=u.exec(e)||[];return{position:t[1]?\"before\":\"after\",symbol:t[1]||t[4]||\"\",delimiter:t[2]||t[3]||\"\"}},getCurrencySymbol:function(e){return e||(e=(0,i.default)().defaultCurrency),{symbol:this._getCurrencySymbolInfo(e).symbol}},getOpenXmlCurrencyFormat:function(e){var t=e||(0,i.default)().defaultCurrency,n=this._getCurrencySymbolInfo(t).symbol,s=o.default.getValueByClosestLocale((function(e){return r.default[e]}));return(0,a.default)(n,s)}};t.default=h,e.exports=t.default,e.exports.default=t.default},9821:function(e,t,n){t.getLanguageId=function(){return a[o.default.locale()]};var i,o=(i=n(91331))&&i.__esModule?i:{default:i};var a={ar:1,bg:2,ca:3,\"zh-Hans\":4,cs:5,da:6,de:7,el:8,en:9,es:10,fi:11,fr:12,he:13,hu:14,is:15,it:16,ja:17,ko:18,nl:19,no:20,pl:21,pt:22,rm:23,ro:24,ru:25,hr:26,sk:27,sq:28,sv:29,th:30,tr:31,ur:32,id:33,uk:34,be:35,sl:36,et:37,lv:38,lt:39,tg:40,fa:41,vi:42,hy:43,az:44,eu:45,hsb:46,mk:47,tn:50,xh:52,zu:53,af:54,ka:55,fo:56,hi:57,mt:58,se:59,ga:60,ms:62,kk:63,ky:64,sw:65,tk:66,uz:67,tt:68,bn:69,pa:70,gu:71,or:72,ta:73,te:74,kn:75,ml:76,as:77,mr:78,sa:79,mn:80,bo:81,cy:82,km:83,lo:84,gl:86,kok:87,syr:90,si:91,iu:93,am:94,tzm:95,ne:97,fy:98,ps:99,fil:100,dv:101,ha:104,yo:106,quz:107,nso:108,ba:109,lb:110,kl:111,ig:112,ii:120,arn:122,moh:124,br:126,ug:128,mi:129,oc:130,co:131,gsw:132,sah:133,qut:134,rw:135,wo:136,prs:140,gd:145,\"ar-SA\":1025,\"bg-BG\":1026,\"ca-ES\":1027,\"zh-TW\":1028,\"cs-CZ\":1029,\"da-DK\":1030,\"de-DE\":1031,\"el-GR\":1032,\"en-US\":1033,\"fi-FI\":1035,\"fr-FR\":1036,\"he-IL\":1037,\"hu-HU\":1038,\"is-IS\":1039,\"it-IT\":1040,\"ja-JP\":1041,\"ko-KR\":1042,\"nl-NL\":1043,\"nb-NO\":1044,\"pl-PL\":1045,\"pt-BR\":1046,\"rm-CH\":1047,\"ro-RO\":1048,\"ru-RU\":1049,\"hr-HR\":1050,\"sk-SK\":1051,\"sq-AL\":1052,\"sv-SE\":1053,\"th-TH\":1054,\"tr-TR\":1055,\"ur-PK\":1056,\"id-ID\":1057,\"uk-UA\":1058,\"be-BY\":1059,\"sl-SI\":1060,\"et-EE\":1061,\"lv-LV\":1062,\"lt-LT\":1063,\"tg-Cyrl-TJ\":1064,\"fa-IR\":1065,\"vi-VN\":1066,\"hy-AM\":1067,\"az-Latn-AZ\":1068,\"eu-ES\":1069,\"hsb-DE\":1070,\"mk-MK\":1071,\"tn-ZA\":1074,\"xh-ZA\":1076,\"zu-ZA\":1077,\"af-ZA\":1078,\"ka-GE\":1079,\"fo-FO\":1080,\"hi-IN\":1081,\"mt-MT\":1082,\"se-NO\":1083,\"ms-MY\":1086,\"kk-KZ\":1087,\"ky-KG\":1088,\"sw-KE\":1089,\"tk-TM\":1090,\"uz-Latn-UZ\":1091,\"tt-RU\":1092,\"bn-IN\":1093,\"pa-IN\":1094,\"gu-IN\":1095,\"or-IN\":1096,\"ta-IN\":1097,\"te-IN\":1098,\"kn-IN\":1099,\"ml-IN\":1100,\"as-IN\":1101,\"mr-IN\":1102,\"sa-IN\":1103,\"mn-MN\":1104,\"bo-CN\":1105,\"cy-GB\":1106,\"km-KH\":1107,\"lo-LA\":1108,\"gl-ES\":1110,\"kok-IN\":1111,\"syr-SY\":1114,\"si-LK\":1115,\"iu-Cans-CA\":1117,\"am-ET\":1118,\"ne-NP\":1121,\"fy-NL\":1122,\"ps-AF\":1123,\"fil-PH\":1124,\"dv-MV\":1125,\"ha-Latn-NG\":1128,\"yo-NG\":1130,\"quz-BO\":1131,\"nso-ZA\":1132,\"ba-RU\":1133,\"lb-LU\":1134,\"kl-GL\":1135,\"ig-NG\":1136,\"ii-CN\":1144,\"arn-CL\":1146,\"moh-CA\":1148,\"br-FR\":1150,\"ug-CN\":1152,\"mi-NZ\":1153,\"oc-FR\":1154,\"co-FR\":1155,\"gsw-FR\":1156,\"sah-RU\":1157,\"qut-GT\":1158,\"rw-RW\":1159,\"wo-SN\":1160,\"prs-AF\":1164,\"gd-GB\":1169,\"ar-IQ\":2049,\"zh-CN\":2052,\"de-CH\":2055,\"en-GB\":2057,\"es-MX\":2058,\"fr-BE\":2060,\"it-CH\":2064,\"nl-BE\":2067,\"nn-NO\":2068,\"pt-PT\":2070,\"sr-Latn-CS\":2074,\"sv-FI\":2077,\"az-Cyrl-AZ\":2092,\"dsb-DE\":2094,\"se-SE\":2107,\"ga-IE\":2108,\"ms-BN\":2110,\"uz-Cyrl-UZ\":2115,\"bn-BD\":2117,\"mn-Mong-CN\":2128,\"iu-Latn-CA\":2141,\"tzm-Latn-DZ\":2143,\"quz-EC\":2155,\"ar-EG\":3073,\"zh-HK\":3076,\"de-AT\":3079,\"en-AU\":3081,\"es-ES\":3082,\"fr-CA\":3084,\"sr-Cyrl-CS\":3098,\"se-FI\":3131,\"quz-PE\":3179,\"ar-LY\":4097,\"zh-SG\":4100,\"de-LU\":4103,\"en-CA\":4105,\"es-GT\":4106,\"fr-CH\":4108,\"hr-BA\":4122,\"smj-NO\":4155,\"ar-DZ\":5121,\"zh-MO\":5124,\"de-LI\":5127,\"en-NZ\":5129,\"es-CR\":5130,\"fr-LU\":5132,\"bs-Latn-BA\":5146,\"smj-SE\":5179,\"ar-MA\":6145,\"en-IE\":6153,\"es-PA\":6154,\"fr-MC\":6156,\"sr-Latn-BA\":6170,\"sma-NO\":6203,\"ar-TN\":7169,\"en-ZA\":7177,\"es-DO\":7178,\"sr-Cyrl-BA\":7194,\"sma-SE\":7227,\"ar-OM\":8193,\"en-JM\":8201,\"es-VE\":8202,\"bs-Cyrl-BA\":8218,\"sms-FI\":8251,\"ar-YE\":9217,\"en-029\":9225,\"es-CO\":9226,\"sr-Latn-RS\":9242,\"smn-FI\":9275,\"ar-SY\":10241,\"en-BZ\":10249,\"es-PE\":10250,\"sr-Cyrl-RS\":10266,\"ar-JO\":11265,\"en-TT\":11273,\"es-AR\":11274,\"sr-Latn-ME\":11290,\"ar-LB\":12289,\"en-ZW\":12297,\"es-EC\":12298,\"sr-Cyrl-ME\":12314,\"ar-KW\":13313,\"en-PH\":13321,\"es-CL\":13322,\"ar-AE\":14337,\"es-UY\":14346,\"ar-BH\":15361,\"es-PY\":15370,\"ar-QA\":16385,\"en-IN\":16393,\"es-BO\":16394,\"en-MY\":17417,\"es-SV\":17418,\"en-SG\":18441,\"es-HN\":18442,\"es-NI\":19466,\"es-PR\":20490,\"es-US\":21514,\"bs-Cyrl\":25626,\"bs-Latn\":26650,\"sr-Cyrl\":27674,\"sr-Latn\":28698,smn:28731,\"az-Cyrl\":29740,sms:29755,zh:30724,nn:30740,bs:30746,\"az-Latn\":30764,sma:30779,\"uz-Cyrl\":30787,\"mn-Cyrl\":30800,\"iu-Cans\":30813,\"zh-Hant\":31748,nb:31764,sr:31770,\"tg-Cyrl\":31784,dsb:31790,smj:31803,\"uz-Latn\":31811,\"mn-Mong\":31824,\"iu-Latn\":31837,\"tzm-Latn\":31839,\"ha-Latn\":31848}},59937:function(e,t,n){t.getFormat=void 0;var i,o=(i=n(18016))&&i.__esModule?i:{default:i};var a=\" .,:;/\\\\<>()-[]\\u060c\",r=function(e){var t=e&&o.default.convertDigits(e,!1).charCodeAt(0),n=o.default.convertDigits(\"0\",!1).charCodeAt(0);return n<=t&&t<n+10},s=function(e,t,n,i){var o=e[n],s=e[n+1];if(!i){if(\".\"===o||\" \"===o&&\". m.\"===e.slice(n-1,n+3))return!0;if(\"-\"===o&&!r(s))return!0}var l=i&&t.some((function(t){return e[n]!==t[n]}));return a.indexOf(o)<0&&i===r(o)&&(!i||l)},l=function(e,t){if(!r(e[t]))for(;t>0&&!r(e[t-1])&&(\".\"===e[t-1]||a.indexOf(e[t-1])<0);)t--;return t},u=function(e,t){return Array.isArray(e)?e.map((function(e){return(t(e)||\"\").toString()})):(t(e)||\"\").toString()},d=/[a-zA-Z]/g;t.getFormat=function(e){var t=[],n=u(new Date(2009,8,8,6,5,4),e),i=n.split(\"\").map((function(e,t){return t})),o=n,a={},c=[{date:new Date(2009,8,8,6,5,4,111),pattern:\"S\"},{date:new Date(2009,8,8,6,5,2),pattern:\"s\"},{date:new Date(2009,8,8,6,2,4),pattern:\"m\"},{date:new Date(2009,8,8,18,5,4),pattern:\"H\",isDigit:!0},{date:new Date(2009,8,8,2,5,4),pattern:\"h\",isDigit:!0},{date:new Date(2009,8,8,18,5,4),pattern:\"a\",isDigit:!1},{date:new Date(2009,8,1,6,5,4),pattern:\"d\"},{date:[new Date(2009,8,2,6,5,4),new Date(2009,8,3,6,5,4),new Date(2009,8,4,6,5,4)],pattern:\"E\"},{date:new Date(2009,9,6,6,5,4),pattern:\"M\"},{date:new Date(1998,8,8,6,5,4),pattern:\"y\"}];if(o)return c.forEach((function(d){var c=function(e,t,n,i){var o=0,a=[],u=function(t){return e[o]!==t[o]&&(void 0===i||r(e[o])===i)};for(Array.isArray(t)||(t=[t]),o=0;o<e.length;o++)if(n.indexOf(o)<0&&t.filter(u).length){o=l(e,o);do{if(i=r(e[o]),!a.length&&!i&&r(t[0][o]))break;a.push(o),n.unshift(o),o++}while(e[o]&&s(e,t,o,i));break}return 1!==a.length||\"0\"!==e[n[0]-1]&&\"\\u0660\"!==e[n[0]-1]||n.unshift(n[0]-1),a}(n,u(d.date,e),t,d.isDigit),h=\"M\"!==d.pattern||a.d?d.pattern:\"L\";o=function(e,t,n,i){var o,a,s;if(!r(e[t[0]]||\"0\")){for(var l=Math.max(t.length<=3?3:4,n.length);t.length>l;){for(s=i[a=t.pop()],i[a]=-1,o=a+1;o<i.length;o++)i[o]--;e=e.substr(0,s)+e.substr(s+1)}for(s=(a=t[t.length-1]+1)<i.length?i[a]:a;t.length<l;){for(t.push(t[t.length-1]+1),o=a;o<i.length;o++)i[o]++;e=e.substr(0,s)+\" \"+e.substr(s)}}return e=function(e,t,n,i){var o=t[0],a=o<i.length?i[o]:o;return t.forEach((function(t,i){e=e.substr(0,a+i)+(n.length>1?n[i]:n)+e.substr(a+i+1)})),1===t.length&&(e=(e=e.replace(\"0\"+n,n+n)).replace(\"\\u0660\"+n,n+n)),e}(e,t,n,i)}(o,c,h,i),a[h]=c.length})),o=function(e,t,n,i){var o=t.split(\"\").map((function(e,t){return n.indexOf(t)<0&&(e.match(d)||\"'\"===e)?i[t]:-1}));return e=e.split(\"\").map((function(e,t){var n=e,i=o.indexOf(t)>=0,a=t>0&&o.indexOf(t-1)>=0,r=o.indexOf(t+1)>=0;return i&&(a||(n=\"'\"+n),r||(n+=\"'\")),n})).join(\"\")}(o,n,t,i),t.length?o:void 0}},40594:function(e,t){function n(e,t){for(;e.length<t;)e=\"0\"+e;return e}t.getFormatter=void 0;var i={3:\"abbreviated\",4:\"wide\",5:\"narrow\"},o={y:function(e,t,i){var o=e[i?\"getUTCFullYear\":\"getFullYear\"]();return 2===t&&(o%=100),n(o.toString(),t)},M:function(e,t,o,a){var r=e[o?\"getUTCMonth\":\"getMonth\"](),s=i[t];return s?a.getMonthNames(s,\"format\")[r]:n((r+1).toString(),Math.min(t,2))},L:function(e,t,o,a){var r=e[o?\"getUTCMonth\":\"getMonth\"](),s=i[t];return s?a.getMonthNames(s,\"standalone\")[r]:n((r+1).toString(),Math.min(t,2))},Q:function(e,t,o,a){var r=e[o?\"getUTCMonth\":\"getMonth\"](),s=Math.floor(r/3),l=i[t];return l?a.getQuarterNames(l)[s]:n((s+1).toString(),Math.min(t,2))},E:function(e,t,n,o){var a=e[n?\"getUTCDay\":\"getDay\"](),r=i[t<3?3:t];return o.getDayNames(r)[a]},a:function(e,t,n,o){var a=e[n?\"getUTCHours\":\"getHours\"]()<12?0:1,r=i[t];return o.getPeriodNames(r)[a]},d:function(e,t,i){return n(e[i?\"getUTCDate\":\"getDate\"]().toString(),Math.min(t,2))},H:function(e,t,i){return n(e[i?\"getUTCHours\":\"getHours\"]().toString(),Math.min(t,2))},h:function(e,t,i){return n((e[i?\"getUTCHours\":\"getHours\"]()%12||12).toString(),Math.min(t,2))},m:function(e,t,i){return n(e[i?\"getUTCMinutes\":\"getMinutes\"]().toString(),Math.min(t,2))},s:function(e,t,i){return n(e[i?\"getUTCSeconds\":\"getSeconds\"]().toString(),Math.min(t,2))},S:function(e,t,i){return n(e[i?\"getUTCMilliseconds\":\"getMilliseconds\"]().toString(),3).substr(0,t)},x:function(e,t,i){var o=i?0:e.getTimezoneOffset(),a=o>0?\"-\":\"+\",r=Math.abs(o),s=r%60,l=n(Math.floor(r/60).toString(),2),u=n(s.toString(),2);return a+l+(t>=3?\":\":\"\")+(t>1||s?u:\"\")},X:function(e,t,n){return n||!e.getTimezoneOffset()?\"Z\":o.x(e,t,n)},Z:function(e,t,n){return o.X(e,t>=5?3:2,n)}};t.getFormatter=function(e,t){return function(n){var i,a,r,s,l=0,u=!1,d=\"\";if(!n)return null;if(!e)return n;var c=\"Z\"===e[e.length-1]||\"'Z'\"===e.slice(-3);for(i=0;i<e.length;i++)r=e[i],a=o[r],l++,(s=r===e[i+1])||(a&&!u&&(d+=a(n,l,c,t)),l=0),\"'\"!==r||s?!u&&a||(d+=r):u=!u,\"'\"===r&&s&&i++;return d}}},2892:function(e,t,n){t.isPossibleForParsingFormat=t.getRegExpInfo=t.getPatternSetters=t.getParser=void 0;var i=n(20576),o=n(30869),a={3:\"abbreviated\",4:\"wide\",5:\"narrow\"},r=function(e,t){return e>2?Object.keys(a).map((function(e){return[\"format\",\"standalone\"].map((function(n){return t.getMonthNames(a[e],n).join(\"|\")})).join(\"|\")})).join(\"|\"):2===e?\"1[012]|0?[1-9]\":\"0??[1-9]|1[012]\"},s={\":\":function(e,t){var n=e>1?\"{\".concat(e,\"}\"):\"\",o=(0,i.escapeRegExp)(t.getTimeSeparator());return\":\"!==o&&(o=\"\".concat(o,\"|:\")),\"\".concat(o).concat(n)},y:function(e){return 2===e?\"[0-9]{\".concat(e,\"}\"):\"[0-9]+?\"},M:r,L:r,Q:function(e,t){return e>2?t.getQuarterNames(a[e],\"format\").join(\"|\"):\"0?[1-4]\"},E:function(e,t){return\"\\\\D*\"},a:function(e,t){return t.getPeriodNames(a[e<3?3:e],\"format\").join(\"|\")},d:function(e){return 2===e?\"3[01]|[12][0-9]|0?[1-9]\":\"0??[1-9]|[12][0-9]|3[01]\"},H:function(e){return 2===e?\"2[0-3]|1[0-9]|0?[0-9]\":\"0??[0-9]|1[0-9]|2[0-3]\"},h:function(e){return 2===e?\"1[012]|0?[1-9]\":\"0??[1-9]|1[012]\"},m:function(e){return 2===e?\"[1-5][0-9]|0?[0-9]\":\"0??[0-9]|[1-5][0-9]\"},s:function(e){return 2===e?\"[1-5][0-9]|0?[0-9]\":\"0??[0-9]|[1-5][0-9]\"},S:function(e){return\"[0-9]{1,\".concat(e,\"}\")},w:function(e){return 2===e?\"[1-5][0-9]|0?[0-9]\":\"0??[0-9]|[1-5][0-9]\"}},l=Number,u=function(e,t){return e.map((function(e){return e.toLowerCase()})).indexOf(t.toLowerCase())},d=function(e,t,n){return t>2?[\"format\",\"standalone\"].map((function(t){return Object.keys(a).map((function(i){var o=n.getMonthNames(a[i],t);return u(o,e)}))})).reduce((function(e,t){return e.concat(t)})).filter((function(e){return e>=0}))[0]:l(e)-1},c={y:function(e,t){var n=l(e);return 2===t?n<30?2e3+n:1900+n:n},M:d,L:d,Q:function(e,t,n){return t>2?n.getQuarterNames(a[t],\"format\").indexOf(e):l(e)-1},E:function(e,t,n){var i=n.getDayNames(a[t<3?3:t],\"format\");return u(i,e)},a:function(e,t,n){var i=n.getPeriodNames(a[t<3?3:t],\"format\");return u(i,e)},d:l,H:l,h:l,m:l,s:l,S:function(e,t){for(t=Math.max(t,3),e=e.slice(0,3);t<3;)e+=\"0\",t++;return l(e)}},h=[\"y\",\"M\",\"d\",\"h\",\"m\",\"s\",\"S\"],f={y:\"setFullYear\",M:\"setMonth\",L:\"setMonth\",a:function(e,t,n){var i=e.getHours(),o=n.h;void 0!==o&&o!==i&&i--,t||12!==i?t&&12!==i&&(i+=12):i=0,e.setHours(i)},d:\"setDate\",H:\"setHours\",h:\"setHours\",m:\"setMinutes\",s:\"setSeconds\",S:\"setMilliseconds\"},p=function(e,t){var n=e[t];if(!n)return 0;var i=0;do{t++,i++}while(e[t]===n);return i},g=function(e,t){for(var n=\"\",i=0;i<t;i++)n+=e;return n},m=function(e,t){for(var n,a=\"\",r=\"\",l=[],u=function(){r&&(l.push(\"'\".concat(r,\"'\")),a+=\"\".concat((0,i.escapeRegExp)(r),\")\"),r=\"\")},d=0;d<e.length;d++){var c=e[d],h=s[c];if(!(\"'\"===c)||(n=!n,\"'\"===e[d-1]))if(h&&!n){var f=p(e,d),m=g(c,f);u(),l.push(m),a+=\"(\".concat(h(f,t),\")\"),d+=f-1}else r||(a+=\"(\"),r+=c}return u(),v(l)||o.logger.warn(\"The following format may be parsed incorrectly: \".concat(e,\".\")),{patterns:l,regexp:new RegExp(\"^\".concat(a,\"$\"),\"i\")}};t.getRegExpInfo=m;var _=[\"d\",\"H\",\"h\",\"m\",\"s\",\"w\",\"M\",\"L\",\"Q\"],v=function(e){var t=function(e){if(!e)return!1;var t=e[0];return[\"y\",\"S\"].includes(t)||_.includes(t)&&e.length<3},n=!0,i=0;return e.every((function(e,o,a){return t(e)&&(function(e){return\"S\"!==e[0]&&2!==e.length}(e)&&(n=++i<2),t(a[o+1])||(i=0)),n}))};t.isPossibleForParsingFormat=v;t.getPatternSetters=function(){return f};t.getParser=function(e,t){var n=m(e,t);return function(e){var i,o=n.regexp.exec(e);if(o){var a=new Date,r=new Date(a.getFullYear(),0,1),s=n.patterns.map((function(e){return\"'\"===e[0]?\"\":\"H\"===e[0]?\"h\":e[0]})),l=(i=s.map((function(e){return h.indexOf(e)})),Math.max.apply(Math,i)),u=function(e){var t=e.filter((function(e){return h.indexOf(e)<0}));return h.concat(t)}(s),d={};return u.forEach((function(e,i){if(e&&!(i<h.length&&i>l)){var u=s.indexOf(e);if(u>=0){var p=n.patterns[u],g=o[u+1];!function(e,t,n,i,o){var a=t[0],r=f[a],s=c[a];if(r&&s){var l=s(n,t.length,i);o[t]=l,e[r]?e[r](l):r(e,l,o)}}(r,p,g,t,d)}else!function(e,t,n){var i=f[t],o=n[\"g\"+i.substr(1)]();e[i](o)}(r,e,a)}})),r}return null}}},70629:function(e,t,n){t.getFormat=function(e){var t=\".\",n=e(1).indexOf(\"100\")>=0;t=f(t,e,n,!0);var i=p(t=f(t,e,n,!1),e,n,!1),o=p(t,e,n,!0);return o===\"-\"+i?i:i+\";\"+o},t.getFormatter=function(e,t){return t=t||a,function(n){if(\"number\"!=typeof n||isNaN(n))return\"\";var a=n>0||1/n==1/0,s=function(e){var t=e.split(\";\");1===t.length&&t.push(\"-\"+t[0]);return t}(e)[a?0:1],h=function(e){for(var t=!1,n=0;n<e.length;n++)if(\"'\"===e[n]&&(t=!t),\".\"===e[n]&&!t)return n;return e.length}(s),f=[s.substr(0,h),s.substr(h+1)],p=u(f[1]),g=p+l(f[1]);(function(e){return-1!==e.indexOf(\"%\")&&!e.match(/'[^']*%[^']*'/g)})(s)&&(n=(0,i.multiplyInExponentialForm)(n,2)),a||(n=-n);var m,_=u(f[0]),v=l(f[0])||t.unlimitedIntegerDigits?void 0:_,y=Math.floor(n).toString().length,b=(0,i.fitIntoRange)(g,0,15-y),x=(m=f[0],m.split(\",\").slice(1).map((function(e){var t=0;return e.split(\"\").filter((function(e,n){return t+=\"'\"===e,!(\"#\"!==e&&\"0\"!==e||t%2)})).length}))).reverse(),w=(0,o.toFixed)(n,b<0?0:b).split(\".\"),C=d(r(w[0]),_,v),S=d(w[1],p,g);C=function(e,t,n){if(!t.length)return e;var i=[],o=0;for(;e;){var a=t[o];if(!a)break;i.push(e.slice(0,a)),e=e.slice(a),o<t.length-1&&o++}return i.join(n)}(C,x,t.thousandsSeparator);var k=r(c(r(f[0]),C)),D=g?c(f[1],S):\"\";return k+(D.match(/\\d/)?t.decimalSeparator:\"\")+D}};var i=n(60810),o=n(97360),a={thousandsSeparator:\",\",decimalSeparator:\".\"};function r(e){return e.toString().split(\"\").reverse().join(\"\")}function s(e){return e.replace(/'.+'/g,\"\")}function l(e){if(!e)return 0;var t=s(e);return t.length-t.replace(/[#]/g,\"\").length}function u(e){if(!e)return 0;var t=s(e);return t.length-t.replace(/[0]/g,\"\").length}function d(e,t,n){if(!e)return\"\";for(e.length>n&&(e=e.substr(0,n));e.length>t&&\"0\"===e.slice(-1);)e=e.substr(0,e.length-1);for(;e.length<t;)e+=\"0\";return e}function c(e,t){return e.split(\"'\").map((function(e,n){var i=n%2;return!e&&i?\"'\":i?e:e.replace(/[,#0]+/,t)})).join(\"\")}function h(e,t,n){var i=(t?.01:1)*parseFloat(e)||0;return n?-i:i}function f(e,t,n,i){var o,a,r,s=e;do{r&&(o=a.length===r.length?\"0\":\"1\",e=i?o+e:e+o),a=r||t(h(s,n)),r=t(h(s=i?\"1\"+s:s+\"1\",n))}while(a!==r&&(i?a.length===r.length:a.length<=r.length));if(i&&r.length>a.length){var l=-1===t(12345).indexOf(\"12345\");do{e=\"1\"+e}while(l&&h(e,n)<1e5)}return e}function p(e,t,n,i){var o=t(h(e,n,i)),a=e.split(\".\"),r=t(h(a[0]+\".3\"+a[1].slice(1),n,i)).indexOf(\"3\")-1;return o=o.replace(/(\\d)\\D(\\d)/g,\"$1,$2\"),r>=0&&(o=o.slice(0,r)+\".\"+o.slice(r+1)),o=o.replace(/1+/,\"1\").replace(/1/g,\"#\"),n||(o=o.replace(\"%\",\"'%'\")),o}},28109:function(e,t,n){t.default=void 0;var i=u(n(20476)),o=n(13306),a=n(68752),r=n(78008),s=u(n(91331)),l=n(18121);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e,t)||function(){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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var h=(0,o.extend)(!0,{},l.defaultMessages),f={},p=(0,i.default)({engine:function(){return\"base\"},_dictionary:h,load:function(e){(0,o.extend)(!0,this._dictionary,e)},_localizablePrefix:\"@\",setup:function(e){this._localizablePrefix=e},localizeString:function(e){var t=this,n=new RegExp(\"(^|[^a-zA-Z_0-9\"+t._localizablePrefix+\"-]+)(\"+t._localizablePrefix+\"{1,2})([a-zA-Z_0-9-]+)\",\"g\"),i=t._localizablePrefix+t._localizablePrefix;return e.replace(n,(function(e,n,o,a){var s,l=t._localizablePrefix+a;return o!==i&&(s=t.format(a)),s||(f[a]=(0,r.humanize)(a)),n+(s||l)}))},getMessagesByLocales:function(){return this._dictionary},getDictionary:function(e){return e?f:(0,o.extend)({},f,this.getMessagesByLocales()[s.default.locale()])},getFormatter:function(e){return this._getFormatterBase(e)||this._getFormatterBase(e,\"en\")},_getFormatterBase:function(e,t){var n=this,i=s.default.getValueByClosestLocale((function(t){return function(e,t){var n;return e[t]||(null==t?void 0:t.toLowerCase)&&(null===(n=Object.entries(e).find((function(e){return d(e,1)[0].toLowerCase()===t.toLowerCase()})))||void 0===n?void 0:n[1])||{}}(n._dictionary,t)[e]}));if(i)return function(){var e=1===arguments.length&&Array.isArray(arguments[0])?arguments[0].slice(0):Array.prototype.slice.call(arguments,0);return e.unshift(i),a.format.apply(this,e)}},format:function(e){var t=this.getFormatter(e),n=Array.prototype.slice.call(arguments,1);return t&&t.apply(this,n)||\"\"}});t.default=p,e.exports=t.default,e.exports.default=t.default},18016:function(e,t,n){t.default=void 0;var i=f(n(20476)),o=n(20576),a=n(95479),r=n(35922),s=n(70629),l=f(n(80209)),u=f(n(17381)),d=n(97360),c=f(n(89740)),h=f(n(38702));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var m=\"undefined\"!=typeof Intl,_=[\"currency\",\"fixedpoint\",\"exponential\",\"percent\",\"decimal\"],v={1:\"K\",2:\"M\",3:\"B\",4:\"T\"},y={largenumber:\"auto\",thousands:1,millions:2,billions:3,trillions:4},b=(0,i.default)({engine:function(){return\"base\"},numericFormats:_,defaultLargeNumberFormatPostfixes:v,_parseNumberFormatString:function(e){var t={};if(e&&\"string\"==typeof e){var n=e.toLowerCase().split(\" \");return(0,a.each)(n,(function(e,n){_.includes(n)?t.formatType=n:n in y&&(t.power=y[n])})),t.power&&!t.formatType&&(t.formatType=\"fixedpoint\"),t.formatType?t:void 0}},_calculateNumberPower:function(e,t,n,i){var o=Math.abs(e),a=0;if(o>1)for(;o&&o>=t&&(void 0===i||a<i);)a++,o/=t;else if(o>0&&o<1)for(;o<1&&(void 0===n||a>n);)a--,o*=t;return a},_getNumberByPower:function(e,t,n){for(var i=e;t>0;)i/=n,t--;for(;t<0;)i*=n,t++;return i},_formatNumber:function(e,t,n){\"auto\"===t.power&&(t.power=this._calculateNumberPower(e,1e3,0,4)),t.power&&(e=this._getNumberByPower(e,t.power,1e3));var i=this.defaultLargeNumberFormatPostfixes[t.power]||\"\",o=this._formatNumberCore(e,t.formatType,n);return o=o.replace(/(\\d|.$)(\\D*)$/,\"$1\"+i+\"$2\")},_formatNumberExponential:function(e,t){var n=this._calculateNumberPower(e,10),i=this._getNumberByPower(e,n,10);void 0===t.precision&&(t.precision=1),i.toFixed(t.precision||0)>=10&&(n++,i/=10);var o=(n>=0?\"+\":\"\")+n.toString();return this._formatNumberCore(i,\"fixedpoint\",t)+\"E\"+o},_addZeroes:function(e,t){for(var n=Math.pow(10,t),i=e<0?\"-\":\"\",o=(e=(Math.abs(e)*n>>>0)/n).toString();o.length<t;)o=\"0\"+o;return i+o},_addGroupSeparators:function(e){var t=e.toString().split(\".\");return t[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g,(0,l.default)().thousandsSeparator)+(t[1]?(0,l.default)().decimalSeparator+t[1]:\"\")},_formatNumberCore:function(e,t,n){return\"exponential\"===t?this._formatNumberExponential(e,n):(\"decimal\"!==t&&null!==n.precision&&(n.precision=n.precision||0),\"percent\"===t&&(e*=100),void 0!==n.precision&&(e=\"decimal\"===t?this._addZeroes(e,n.precision):null===n.precision?e.toPrecision():(0,d.toFixed)(e,n.precision)),e=\"decimal\"!==t?this._addGroupSeparators(e):e.toString().replace(\".\",(0,l.default)().decimalSeparator),\"percent\"===t&&(e+=\"%\"),e)},_normalizeFormat:function(e){return e?(\"function\"==typeof e||(0,r.isPlainObject)(e)||(e={type:e}),e):{}},_getSeparators:function(){return{decimalSeparator:this.getDecimalSeparator(),thousandsSeparator:this.getThousandsSeparator()}},getThousandsSeparator:function(){return this.format(1e4,\"fixedPoint\")[2]},getDecimalSeparator:function(){return this.format(1.2,{type:\"fixedPoint\",precision:1})[1]},convertDigits:function(e,t){var n=this.format(90,\"decimal\");if(\"string\"!=typeof e||\"0\"===n[1])return e;var i=t?n[1]:\"0\",o=t?\"0\":n[1],a=t?n[0]:\"9\",r=new RegExp(\"[\"+i+\"-\"+a+\"]\",\"g\");return e.replace(r,(function(e){return String.fromCharCode(e.charCodeAt(0)+(o.charCodeAt(0)-i.charCodeAt(0)))}))},getNegativeEtalonRegExp:function(e){var t=this._getSeparators(),n=new RegExp(\"[0-9\"+(0,o.escapeRegExp)(t.decimalSeparator+t.thousandsSeparator)+\"]+\",\"g\"),i=this.format(-1,e).replace(n,\"1\");return[\"\\\\\",\"(\",\")\",\"[\",\"]\",\"*\",\"+\",\"$\",\"^\",\"?\",\"|\",\"{\",\"}\"].forEach((function(e){i=i.replace(new RegExp(\"\\\\\".concat(e),\"g\"),\"\\\\\".concat(e))})),i=(i=i.replace(/ /g,\"\\\\s\")).replace(/1/g,\".*\"),new RegExp(i,\"g\")},getSign:function(e,t){if(!t)return\"-\"===e.replace(/[^0-9-]/g,\"\").charAt(0)?-1:1;var n=this.getNegativeEtalonRegExp(t);return e.match(n)?-1:1},format:function(e,t){if(\"number\"!=typeof e)return e;if(\"number\"==typeof t)return e;if(\"function\"==typeof(t=t&&t.formatter||t))return t(e);(t=this._normalizeFormat(t)).type||(t.type=\"decimal\");var n=this._parseNumberFormatString(t.type);if(!n){var i=this._getSeparators();return i.unlimitedIntegerDigits=t.unlimitedIntegerDigits,this.convertDigits((0,s.getFormatter)(t.type,i)(e))}return this._formatNumber(e,n,t)},parse:function(e,t){if(e){if(t&&t.parser)return t.parser(e);e=this.convertDigits(e,!0),t&&\"string\"!=typeof t&&u.default.log(\"W0011\");var n=this.getDecimalSeparator(),i=new RegExp(\"[^0-9\"+(0,o.escapeRegExp)(n)+\"]\",\"g\"),a=e.replace(i,\"\").replace(n,\".\").replace(/\\.$/g,\"\");if(\".\"===a||\"\"===a)return null;if(this._calcSignificantDigits(a)>15)return NaN;var r=+a*this.getSign(e,t);t=this._normalizeFormat(t);var s=this._parseNumberFormatString(t.type),l=null==s?void 0:s.power;if(l){if(\"auto\"===l){var d=e.match(/\\d(K|M|B|T)/);d&&(l=Object.keys(v).find((function(e){return v[e]===d[1]})))}r*=Math.pow(10,3*l)}return\"percent\"===(null==s?void 0:s.formatType)&&(r/=100),r}},_calcSignificantDigits:function(e){var t=p(e.split(\".\"),2),n=t[0],i=t[1],o=function(e){for(var t=-1,n=0;n<e.length;n++)if(\"0\"!==e[n]){t=n;break}return t>-1?e.length-t:0},a=0;return n&&(a+=o(n.split(\"\"))),i&&(a+=o(i.split(\"\").reverse())),a}});b.inject(c.default),m&&b.inject(h.default);var x=b;t.default=x,e.exports=t.default,e.exports.default=t.default},44592:function(e,t){t.default=void 0;t.default=function(e,t){if(t){var n=e;if(\"string\"==typeof e){n=\"\";for(var i=0;i<e.length;i++)\"$\"!==e[i]&&(n+=\"\\\\\"),n+=e[i]}for(var o={\".00\":\"{0}\",\"'\":\"\\\\'\",\"\\\\(\":\"\\\\(\",\"\\\\)\":\"\\\\)\",\" \":\"\\\\ \",'\"':\"&quot;\",\"\\\\\\xa4\":n},a=t.split(\";\"),r=0;r<a.length;r++)for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(a[r]=a[r].replace(new RegExp(s,\"g\"),o[s]));return 2===a.length?a[0]+\"_);\"+a[1]:a[0]}},e.exports=t.default,e.exports.default=t.default},49198:function(e,t){t.default=void 0;t.default=function(e,t){var n=e[t];return n?\"root\"!==n&&n:t.substr(0,t.lastIndexOf(\"-\"))},e.exports=t.default,e.exports.default=t.default},97360:function(e,t,n){t.toFixed=function(e,t){var n=t||0,i=n>0?o.apply(void 0,arguments):e;return i.toFixed(n)};var i=n(60810);function o(e,t){var n=Math.pow(10,t);return function(e){return(0,i.sign)(e)*Math.round(Math.abs(e))}((0,i.multiplyInExponentialForm)(e,t))/n}},4928:function(e,t){t.hideCallback=void 0;var n,i=(n=[],{add:function(e){n.includes(e)||n.push(e)},remove:function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)},fire:function(){var e=n.pop(),t=!!e;return t&&e(),t},hasCallback:function(){return n.length>0}});t.hideCallback=i},60628:function(e,t,n){t.default=function(){return i.hideCallback.fire()};var i=n(4928);e.exports=t.default,e.exports.default=t.default},88185:function(e,t,n){t.p=void 0;var i=n(58664),o=f(n(68374)),a=f(n(73349)),r=n(58201),s=f(n(55994)),l=n(13306),u=f(n(55814)),d=n(60137),c=n(80968),h=f(n(20530));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,r.getWindow)();t.p=function(e){e=(0,l.extend)({},e);var t=h.default.real(),n=e.allowZoom,r=e.allowPan,f=\"allowSelection\"in e?e.allowSelection:\"generic\"===t.platform;(0,o.default)(\"meta[name=viewport]\").length||(0,o.default)(\"<meta>\").attr(\"name\",\"viewport\").appendTo(\"head\");var g=[\"width=device-width\"],m=[];(n?m.push(\"pinch-zoom\"):g.push(\"initial-scale=1.0\",\"maximum-scale=1.0, user-scalable=no\"),r&&m.push(\"pan-x\",\"pan-y\"),r||n?(0,o.default)(\"html\").css(\"msOverflowStyle\",\"-ms-autohiding-scrollbar\"):(0,o.default)(\"html, body\").css({msContentZooming:\"none\",msUserSelect:\"none\",overflow:\"hidden\"}),!f&&(0,d.supportProp)(\"userSelect\")&&(0,o.default)(\".dx-viewport\").css((0,c.styleProp)(\"userSelect\"),\"none\"),(0,o.default)(\"meta[name=viewport]\").attr(\"content\",g.join()),(0,o.default)(\"html\").css(\"msTouchAction\",m.join(\" \")||\"none\"),t=h.default.real(),d.touch&&(s.default.off(a.default.getDocument(),\".dxInitMobileViewport\"),s.default.on(a.default.getDocument(),\"dxpointermove.dxInitMobileViewport\",(function(e){var t=e.pointers.length,i=\"touch\"===e.pointerType,o=!n&&t>1,a=!r&&1===t&&!e.isScrollingEvent;i&&(o||a)&&e.preventDefault()}))),t.ios)&&(\"file:\"===a.default.getLocation().protocol||u.default.add((function(){var e=(0,i.getWidth)(p);(0,i.setWidth)((0,o.default)(\"body\"),e)})));t.android&&u.default.add((function(){setTimeout((function(){var e=a.default.getActiveElement();e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded():e.scrollIntoView(!1)}))}))}},44194:function(e,t,n){Object.defineProperty(t,\"exportDataGrid\",{enumerable:!0,get:function(){return i.exportDataGrid}}),Object.defineProperty(t,\"exportDataGridWithAutoTable\",{enumerable:!0,get:function(){return o.exportDataGrid}}),Object.defineProperty(t,\"exportGantt\",{enumerable:!0,get:function(){return a.exportGantt}});var i=n(654),o=n(83152),a=n(29982)},49697:function(e,t,n){t.ConfigContext=void 0;var i=(0,n(44105).createContext)(void 0);t.ConfigContext=i},66042:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.ConfigProviderProps=t.ConfigProvider=void 0;var o=n(44105),a=n(49697),r=[\"children\",\"rtlEnabled\"];function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,d(i.key),i)}}function d(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){return e.props.children};t.viewFunction=h;var f={};t.ConfigProviderProps=f;var p=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var o,f,p,g=i.prototype;return g.getChildContext=function(){return l({},this.context,(e={},t=a.ConfigContext.id,n=this.config||a.ConfigContext.defaultValue,(t=d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e));var e,t,n},g.componentWillUpdate=function(e,t,n){this.props.rtlEnabled!==e.rtlEnabled&&(this.__getterCache.config=void 0)},g.render=function(){var e=this.props;return h({props:l({},e),config:this.config,restAttributes:this.restAttributes})},o=i,(f=[{key:\"config\",get:function(){var e=this;return void 0!==this.__getterCache.config?this.__getterCache.config:this.__getterCache.config={rtlEnabled:e.props.rtlEnabled}}},{key:\"restAttributes\",get:function(){var e=this.props;return e.children,e.rtlEnabled,s(e,r)}}])&&u(o.prototype,f),p&&u(o,p),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(o.BaseInfernoComponent);t.ConfigProvider=p,p.defaultProps=f},8668:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=s(n(90964)),a=s(n(27135)),r=n(44899);function s(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var a,s,c,h=i.prototype;return h.getDefaultTemplateNames=function(){return[\"content\"]},h.getSupportedKeyNames=function(){return[\"space\",\"enter\"]},h.getProps=function(){var t=this,n=e.prototype.getProps.call(this);return n.onClick=function(e){var n=e.event;t._clickAction({event:n,validationGroup:t._validationGroupConfig})},\"svg\"===(0,r.getImageSourceType)(n.icon)&&(n.iconTemplate=this._createTemplateComponent((function(){return n.icon}))),n},h._toggleActiveState=function(e,t){var n=this.viewRef;t?n.activate():n.deactivate()},h._getSubmitAction=function(){var e=this,t=!0,n=\"valid\";return this._createAction((function(i){var o=i.event,a=i.submitInput;if(t){var r=e._validationGroupConfig;if(void 0!==r&&\"\"!==r){var s=r.validate();n=s.status,\"pending\"===s.status&&(t=!1,e.option(\"disabled\",!0),s.complete.then((function(i){var o=i.status;e.option(\"disabled\",!1),\"valid\"===(n=o)&&a.click(),t=!0})))}}\"valid\"!==n&&o.preventDefault(),o.stopPropagation()}))},h._initializeComponent=function(){e.prototype._initializeComponent.call(this),this._addAction(\"onSubmit\",this._getSubmitAction()),this._clickAction=this._createClickAction()},h._initMarkup=function(){e.prototype._initMarkup.call(this);var t=this.$element().find(\".dx-button-content\"),n=t.children().filter(\".dx-template-wrapper\"),i=t.children().filter(\".dx-button-submit-input\");n.length&&(n.addClass(\"dx-button-content\"),n.append(i),t.replaceWith(n))},h._patchOptionValues=function(t){return e.prototype._patchOptionValues.call(this,l({},t,{templateData:t._templateData}))},h._findGroup=function(){var e=this.$element(),t=this.option(\"validationGroup\");return void 0!==t&&\"\"!==t?t:o.default.findGroup(e,this._modelByElement(e))},h._createClickAction=function(){return this._createActionByOption(\"onClick\",{excludeValidators:[\"readOnly\"]})},h._optionChanged=function(t){switch(t.name){case\"onClick\":this._clickAction=this._createClickAction()}e.prototype._optionChanged.call(this,t)},a=i,(s=[{key:\"_validationGroupConfig\",get:function(){return o.default.getGroupConfig(this._findGroup())}},{key:\"_templatesInfo\",get:function(){return{template:\"content\"}}}])&&u(a.prototype,s),c&&u(a,c),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.default);t.default=c,e.exports=t.default,e.exports.default=t.default},27135:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(55285),a=g(n(51661)),r=g(n(15334)),s=g(n(68374)),l=g(n(73349)),u=g(n(13046)),d=n(13306),c=n(6415),h=n(35922),f=n(93407),p=n(36583);function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||b(e)||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 _(e,t,n){return(t=C(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||b(e,t)||function(){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(e,t){if(e){if(\"string\"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,C(i.key),i)}}function C(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function S(e,t){return(S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n(95429),n(91633),n(24028);var k=function(e,t){return function(n){Object.prototype.hasOwnProperty.call(e,n)&&void 0===e[n]&&(e[n]=t(n))}},D=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this)._shouldRaiseContentReady=!1,i.validateKeyDownHandler(),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,S(t,n);var u,g,b,x=i.prototype;return x.validateKeyDownHandler=function(){var e=this.getSupportedKeyNames().length>0,t=\"function\"==typeof this._viewComponent.prototype.keyDown;if(e&&!t)throw Error(\"Component's declaration must have 'keyDown' method.\")},x._checkContentReadyOption=function(e){var t=this._getContentReadyOptions().reduce((function(e,t){return e[t]=!0,e}),{});return this._checkContentReadyOption=function(e){return!!t[e]},this._checkContentReadyOption(e)},x._getContentReadyOptions=function(){return[\"rtlEnabled\"]},x._fireContentReady=function(){this._actionsMap.onContentReady({})},x._getDefaultOptions=function(){var t=this,n=this._getViewComponentDefaultProps();return(0,d.extend)(!0,e.prototype._getDefaultOptions.call(this),n,this._propsInfo.twoWay.reduce((function(e,i){var o,a=y(i,3),r=a[0],s=a[1],l=a[2];return v({},e,(_(o={},r,n[s]),_(o,l,(function(e){return t.option(r,e)})),o))}),{}),this._propsInfo.templates.reduce((function(e,t){return v({},e,_({},t,null))}),{}))},x._getUnwrappedOption=function(){var e=this,t={};return Object.keys(this.option()).forEach((function(n){t[n]=e.option(n)})),t},x._initializeComponent=function(){var t,n=this;e.prototype._initializeComponent.call(this),null===(t=this._templateManager)||void 0===t||t.addDefaultTemplates(this.getDefaultTemplates());var i=this._getUnwrappedOption();this._props=this._optionsWithDefaultTemplates(i),this._propsInfo.templates.forEach((function(e){n._componentTemplates[e]=n._createTemplateComponent(n._props[e])})),Object.keys(this._getActionConfigsFull()).forEach((function(e){return n._addAction(e)})),this._viewRef=(0,o.createRef)(),this.defaultKeyHandlers=this._createDefaultKeyHandlers()},x._initMarkup=function(){var e=this.getProps();this._renderWrapper(e)},x._renderWrapper=function(e){var t=this.$element()[0];this._isNodeReplaced||r.default.onPreRender(),r.default.render(this._viewComponent,e,t,this._isNodeReplaced),this._isNodeReplaced||(this._isNodeReplaced=!0,r.default.onAfterRender(),this._shouldRaiseContentReady=!0),this._shouldRaiseContentReady&&(this._fireContentReady(),this._shouldRaiseContentReady=!1)},x._silent=function(e,t){this._options.silent(e,t)},x._render=function(){},x._removeWidget=function(){r.default.remove(this.$element()[0])},x._dispose=function(){this._removeWidget(),e.prototype._dispose.call(this)},x._getAdditionalActionConfigs=function(){return{onContentReady:{excludeValidators:[\"disabled\",\"readOnly\"]}}},x._getAdditionalProps=function(){return[]},x._patchOptionValues=function(e){var t=this,n=this._propsInfo,i=n.allowNull,o=n.elements,a=n.props,r=n.twoWay,s=this._getViewComponentDefaultProps(),l=Object.keys(s),u=this._getDefaultOptions(),d=e.children,c=e.onKeyboardHandled,f={ref:e.ref,children:d,onKeyDown:c?function(e,t){c(t)}:void 0};return[].concat(m(a),m(this._getAdditionalProps())).forEach((function(t){Object.prototype.hasOwnProperty.call(e,t)&&(f[t]=e[t])})),i.forEach(k(f,(function(){return null}))),l.forEach(k(f,(function(e){return u[e]}))),r.forEach((function(e){var t=y(e,2),n=t[0],i=t[1];k(f,(function(){return u[i]}))(n)})),o.forEach((function(e){if(e in f){var n=f[e];(0,h.isRenderer)(n)&&(f[e]=t._patchElementParam(n))}})),f},x.getSupportedKeyNames=function(){return[]},x.prepareStyleProp=function(e){return\"string\"==typeof e.style?v({},e,{style:{},cssText:e.style}):e},x.getProps=function(){var e,t,n=this,i=this.option().elementAttr,o=this._patchOptionValues(v({},this._props,{ref:this._viewRef,children:this._extractDefaultSlot(),aria:this._aria}));return this._propsInfo.templates.forEach((function(e){o[e]=n._componentTemplates[e]})),this.prepareStyleProp(v({},o,this.elementAttr,i,{className:[].concat(m((null!==(e=this.elementAttr.class)&&void 0!==e?e:\"\").split(\" \")),m((null!==(t=null==i?void 0:i.class)&&void 0!==t?t:\"\").split(\" \"))).filter((function(e,t,n){return e&&n.indexOf(e)===t})).join(\" \").trim(),class:\"\"},this._actionsMap))},x._getActionConfigs=function(){return{}},x._getActionConfigsFull=function(){return v({},this._getActionConfigs(),this._getAdditionalActionConfigs())},x.getDefaultTemplates=function(){var e=Object.values(this._templatesInfo),t={};return e.forEach((function(e){t[e]=\"dx-renovation-template-mock\"})),t},x._optionsWithDefaultTemplates=function(e){var t=Object.entries(this._templatesInfo).reduce((function(t,n){var i,o=y(n,2),a=o[0],r=o[1];return v({},t,_({},a,null!==(i=e[a])&&void 0!==i?i:r))}),{});return v({},e,t)},x._init=function(){e.prototype._init.call(this),this.customKeyHandlers={},this._actionsMap={},this._aria={},this._componentTemplates={}},x._createDefaultKeyHandlers=function(){var e=this,t={};return this.getSupportedKeyNames().forEach((function(n){t[n]=function(t){return e.viewRef.keyDown(a.default.createKeyDownOptions(t))}})),t},x._addAction=function(e,t){var n=t;if(!n){var i=this._createActionByOption(e,this._getActionConfigsFull()[e]);n=function(e){return Object.keys(e).forEach((function(t){(0,h.isDefined)(e[t])&&l.default.isNode(e[t])&&(e[t]=(0,c.getPublicElement)((0,s.default)(e[t])))})),i(e)}}this._actionsMap[e]=n},x._optionChanged=function(t){var n=t.fullName,i=t.name,o=t.previousValue,a=t.value;(0,p.updatePropsImmutable)(this._props,this.option(),i,n),this._propsInfo.templates.includes(i)&&a!==o&&(this._componentTemplates[i]=this._createTemplateComponent(a)),i&&this._getActionConfigsFull()[i]&&this._addAction(i),this._shouldRaiseContentReady=this._shouldRaiseContentReady||this._checkContentReadyOption(n),e.prototype._optionChanged.call(this,t),this._invalidate()},x._extractDefaultSlot=function(){return this.option(\"_hasAnonymousTemplateContent\")?r.default.createElement(f.TemplateWrapper,{template:this._getTemplate(this._templateManager.anonymousTemplateName),transclude:!0,renovated:!0}):null},x._createTemplateComponent=function(e){if(e){var t=this._getTemplate(e);if(!(0,h.isString)(t)||\"dx-renovation-template-mock\"!==t){return function(e){return r.default.createElement(f.TemplateWrapper,(0,f.buildTemplateArgs)(e,t))}}}},x._wrapKeyDownHandler=function(e){var t=this;return function(n){var i=n.keyName,o=n.originalEvent,a=n.which,r=t.customKeyHandlers,s=r[i]||r[a];if(void 0!==s&&!s.bind(t)(o,n))return o.cancel=!0,o;return null==e?void 0:e(o,n)}},x._toPublicElement=function(e){return(0,c.getPublicElement)((0,s.default)(e))},x._patchElementParam=function(e){try{var t=(0,s.default)(e),n=null==t?void 0:t.get(0);return null!=n&&n.nodeType?n:e}catch(t){return e}},x.repaint=function(){this._isNodeReplaced=!1,this._shouldRaiseContentReady=!0,this._removeWidget(),this._refresh()},x._supportedKeys=function(){return v({},this.defaultKeyHandlers,this.customKeyHandlers)},x.registerKeyHandler=function(e,t){this.customKeyHandlers[e]=t},x.setAria=function(e,t){this._aria[e]=t,this._initMarkup()},x._getViewComponentDefaultProps=function(){return this._viewComponent.defaultProps||{}},u=i,(g=[{key:\"_propsInfo\",get:function(){return{allowNull:[],twoWay:[],elements:[],templates:[],props:[]}}},{key:\"viewRef\",get:function(){var e;return null===(e=this._viewRef)||void 0===e?void 0:e.current}},{key:\"elementAttr\",get:function(){var e=this,t=this.$element()[0];if(!this._elementAttr){var n=t.attributes,i=Array.from(n).filter((function(t){var i;return!e._propsInfo.templates.includes(t.name)&&(null===(i=n[t.name])||void 0===i?void 0:i.specified)})).reduce((function(e,n){var i=n.name,o=n.value,a=e,r=i in t;return a[i]=\"\"===o&&r?t[i]:o,a}),{});this._elementAttr=i,this._storedClasses=t.getAttribute(\"class\")||\"\"}for(var o=t.style,a={},r=0;r<o.length;r+=1)a[o[r]]=o.getPropertyValue(o[r]);return this._elementAttr.style=a,this._elementAttr.class=this._storedClasses,this._elementAttr}},{key:\"_templatesInfo\",get:function(){return{}}}])&&w(u.prototype,g),b&&w(u,b),Object.defineProperty(u,\"prototype\",{writable:!1}),i}(u.default);t.default=D,D.IS_RENOVATED_WIDGET=!1,D.IS_RENOVATED_WIDGET=!0,e.exports=t.default,e.exports.default=t.default},93407:function(e,t,n){t.TemplateWrapper=void 0,t.buildTemplateArgs=function(e,t){var n,i={template:t,model:p({},e)},o=null!==(n=e.data)&&void 0!==n?n:{},a=o.isEqual,r=function(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(o,c);a&&(i.model.data=r,i.isEqual=a);return i};var i=n(44105),o=n(55285),a=n(3532),r=n(33502),s=h(n(68374)),l=h(n(73349)),u=n(6415),d=n(35922),c=[\"isEqual\"];function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this).renderTemplate=n.renderTemplate.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(n)),n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var h=c.prototype;return h.renderTemplate=function(){var e=(0,o.findDOMfromVNode)(this.$LI,!0);if(null==e||!e.parentNode)return function(){};var t=e.parentNode,n=(0,s.default)(t),i=n.contents().toArray(),r=function(e,t){var n,i=null!==(n=e.model)&&void 0!==n?n:{data:{}},o=i.data,a=i.index;o&&Object.keys(o).forEach((function(e){o[e]&&l.default.isNode(o[e])&&(o[e]=(0,u.getPublicElement)((0,s.default)(o[e])))}));var r=e.template.render(p({container:t,transclude:e.transclude},{renovated:e.renovated},e.transclude?{}:{model:o},!e.transclude&&Number.isFinite(a)?{index:a}:{}));return void 0===r?[]:r.toArray?r.toArray():[(0,s.default)(r).get(0)]}(this.props,(0,u.getPublicElement)(n));return(0,a.replaceWith)((0,s.default)(e),(0,s.default)(r)),function(){var n,o=(0,s.default)(t).contents().toArray();n=i,o.forEach((function(e){!n.find((function(t){return e===t}))&&e.parentNode&&e.parentNode.removeChild(e)})),t.appendChild(e)}},h.shouldComponentUpdate=function(e){var t=this.props,n=t.model,i=t.template,o=e.isEqual,a=e.model,s=e.template,l=null!=o?o:r.shallowEquals;if(i!==s)return!0;if(!(0,d.isDefined)(n)||!(0,d.isDefined)(a))return n!==a;var u=n.data,c=n.index,h=a.data;return c!==a.index||!l(u,h)},h.createEffects=function(){return[new i.InfernoEffect(this.renderTemplate,[this.props.template,this.props.model])]},h.updateEffects=function(){this._effects[0].update([this.props.template,this.props.model])},h.componentWillUnmount=function(){},h.render=function(){return null},c}(i.InfernoComponent);t.TemplateWrapper=g},74046:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.default=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var a=i.prototype;return a._useTemplates=function(){return!1},a._isFocused=function(){return this.$element()[0].classList.contains(\"dx-state-focused\")},a.getSupportedKeyNames=function(){return[\"space\"]},a.getProps=function(){var t=e.prototype.getProps.call(this);return null!==t.value&&(t.value=Boolean(t.value)),t},i}(((i=n(88667))&&i.__esModule?i:{default:i}).default);t.default=a,e.exports=t.default,e.exports.default=t.default},88667:function(e,t,n){t.default=void 0;var i=n(35922),o=h(n(27135)),a=h(n(90964)),r=n(13306),s=h(n(68374)),l=n(97906),u=h(n(44504)),d=h(n(96452)),c=n(46299);function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var d=o.prototype;return d.getProps=function(){var t=this,n=e.prototype.getProps.call(this);return n.onFocusIn=function(){if(\"auto\"===t.option(\"validationMessageMode\")){var e=(0,s.default)((0,c.querySelectorInSameDocument)(t.element(),\".dx-invalid-message.dx-overlay-wrapper\"));null==e||e.removeClass(\"dx-invalid-message-auto\");t.showValidationMessageTimeout&&clearTimeout(t.showValidationMessageTimeout),t.showValidationMessageTimeout=setTimeout((function(){null==e||e.addClass(\"dx-invalid-message-auto\")}),150)}},n.saveValueChangeEvent=function(e){t._valueChangeEventInstance=e},n},d._createElement=function(t){e.prototype._createElement.call(this,t),this.showValidationMessageTimeout=void 0,this.validationRequest=(0,u.default)(),(0,l.data)(this.$element()[0],\"dx-validation-target\",this)},d._render=function(){var e;null===(e=this.option(\"_onMarkupRendered\"))||void 0===e||e()},d._initializeComponent=function(){e.prototype._initializeComponent.call(this),this._valueChangeAction=this._createActionByOption(\"onValueChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})},d._initOptions=function(t){e.prototype._initOptions.call(this,t),this.option(a.default.initValidationOptions(t))},d._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{validationMessageOffset:{h:0,v:0},validationTooltipOptions:{}})},d._bindInnerWidgetOptions=function(e,t){var n=this,i=(0,r.extend)({},e.option()),o=function(){return n._silent(t,i)};o(),e.on(\"optionChanged\",o)},d._raiseValidation=function(e,t){var n=!(0,i.isDefined)(e)&&!(0,i.isDefined)(t);e===t||n||this.validationRequest.fire({value:e,editor:this})},d._raiseValueChangeAction=function(e,t){var n;null===(n=this._valueChangeAction)||void 0===n||n.call(this,{element:this.$element(),previousValue:t,value:e,event:this._valueChangeEventInstance}),this._valueChangeEventInstance=void 0},d._optionChanged=function(t){var n=t.name,i=t.previousValue,o=t.value;switch(n&&void 0!==this._getActionConfigs()[n]&&this._addAction(n),n){case\"value\":this._raiseValidation(o,i),this._raiseValueChangeAction(o,i);break;case\"onValueChanged\":this._valueChangeAction=this._createActionByOption(\"onValueChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]});break;case\"isValid\":case\"validationError\":case\"validationErrors\":case\"validationStatus\":this.option(a.default.synchronizeValidationOptions(t,this.option()))}e.prototype._optionChanged.call(this,t)},d.reset=function(){var e=this._getDefaultOptions().value;this.option({value:e})},d._dispose=function(){e.prototype._dispose.call(this),(0,l.data)(this.element(),\"dx-validation-target\",null),this.showValidationMessageTimeout&&clearTimeout(this.showValidationMessageTimeout)},o}(o.default);t.default=p;var g=d.default.isEditor,m=function(e){return g(e)||e instanceof p};p.isEditor=m,d.default.isEditor=m,e.exports=t.default,e.exports.default=t.default},97827:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.GridPagerWrapper=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n),i.prototype._optionChanged=function(t){switch(t.name){case\"pageIndex\":var n=this.option(\"pageIndexChanged\");n&&n(t.value);break;case\"pageSize\":var i=this.option(\"pageSizeChanged\");i&&i(t.value)}e.prototype._optionChanged.call(this,t)},i}(((i=n(27135))&&i.__esModule?i:{default:i}).default);t.GridPagerWrapper=a},15281:function(e,t,n){var i;function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.DateTable=void 0;var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),this._optionsByReference=o({},this._optionsByReference,{dataCellTemplate:!0})},i}(((i=n(27135))&&i.__esModule?i:{default:i}).default);t.DateTable=r},55095:function(e,t,n){var i;function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.GroupPanelWrapper=void 0;var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),this._optionsByReference=o({},this._optionsByReference,{resourceCellTemplate:!0})},i}(((i=n(27135))&&i.__esModule?i:{default:i}).default);t.GroupPanelWrapper=r},86214:function(e,t,n){var i;function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.HeaderPanel=void 0;var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),this._optionsByReference=o({},this._optionsByReference,{dateHeaderData:!0,resourceCellTemplate:!0,dateCellTemplate:!0,timeCellTemplate:!0})},i}(((i=n(27135))&&i.__esModule?i:{default:i}).default);t.HeaderPanel=r},99503:function(e,t,n){var i;function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){return(a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.TimePanel=void 0;var r=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,a(t,n),i.prototype._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),this._optionsByReference=o({},this._optionsByReference,{timeCellTemplate:!0})},i}(((i=n(27135))&&i.__esModule?i:{default:i}).default);t.TimePanel=r},36583:function(e,t,n){t.updatePropsImmutable=function(e,t,n,a){var r=t[n],s=e[n],u=e;(0,i.isPlainObject)(r)||n!==a&&Array.isArray(r)?u[n]=function e(t,n,o){var a=o.length>0&&n&&t!==n?l(n):l(t),r=o[0];o.length>1?a[r]=e(t[r],null==n?void 0:n[r],o.slice(1)):r&&((0,i.isPlainObject)(t[r])?a[r]=l(t[r]):a[r]=t[r]);return a}(r,s,(0,o.getPathParts)(a).slice(1)):u[n]=r};var i=n(35922),o=n(47617);function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function r(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e)||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 s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function l(e){return Array.isArray(e)?r(e):a({},e)}},83151:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=s(n(99393)),a=s(n(8668)),r=n(36729);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o,a,s,d=i.prototype;return d.getProps=function(){var t=e.prototype.getProps.call(this);return t.onKeyDown=this._wrapKeyDownHandler(t.onKeyDown),t},d.focus=function(){var e;return null===(e=this.viewRef)||void 0===e?void 0:e.focus.apply(e,arguments)},d.activate=function(){var e;return null===(e=this.viewRef)||void 0===e?void 0:e.activate.apply(e,arguments)},d.deactivate=function(){var e;return null===(e=this.viewRef)||void 0===e?void 0:e.deactivate.apply(e,arguments)},d._getActionConfigs=function(){return{onClick:{excludeValidators:[\"readOnly\"]},onSubmit:{}}},o=i,(a=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[\"onSubmit\"],templates:[\"template\",\"iconTemplate\"],props:[\"activeStateEnabled\",\"hoverStateEnabled\",\"icon\",\"iconPosition\",\"onClick\",\"onSubmit\",\"pressed\",\"stylingMode\",\"template\",\"iconTemplate\",\"text\",\"type\",\"useInkRipple\",\"useSubmitBehavior\",\"templateData\",\"className\",\"accessKey\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"onKeyDown\",\"rtlEnabled\",\"tabIndex\",\"visible\",\"width\"]}}},{key:\"_viewComponent\",get:function(){return r.Button}}])&&l(o.prototype,a),s&&l(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.default);t.default=d,(0,o.default)(\"dxButton\",d),d.defaultOptions=r.defaultOptions,e.exports=t.default,e.exports.default=t.default},36729:function(e,t,n){t.defaultOptionRules=t.ButtonProps=t.Button=void 0,t.defaultOptions=function(e){R.push(e),M.defaultProps=Object.create(Object.prototype,k(Object.getOwnPropertyDescriptors(M.defaultProps),Object.getOwnPropertyDescriptors((0,a.convertRulesToOptions)(A)),Object.getOwnPropertyDescriptors((0,a.convertRulesToOptions)(R))))},t.viewFunction=void 0;var i=n(55285),o=n(44105),a=n(45434),r=y(n(20530)),s=n(75811),l=n(72918),u=n(86237),d=n(44899),c=n(78008),h=n(92272),f=y(n(17381)),p=n(84507),g=n(73687),m=n(31651),_=y(n(28109)),v=[\"accessKey\",\"activeStateEnabled\",\"children\",\"className\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"icon\",\"iconPosition\",\"iconTemplate\",\"onClick\",\"onKeyDown\",\"onSubmit\",\"pressed\",\"rtlEnabled\",\"stylingMode\",\"tabIndex\",\"template\",\"templateData\",\"text\",\"type\",\"useInkRipple\",\"useSubmitBehavior\",\"visible\",\"width\"];function y(e){return e&&e.__esModule?e:{default:e}}function b(e){return(b=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function x(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,I(i.key),i)}}function C(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function S(e,t){return(S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function D(e,t,n){return(t=I(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e){var t=function(e,t){if(\"object\"!==b(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==b(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===b(t)?t:String(t)}var T=[\"outlined\",\"text\",\"contained\"],E=function(e){var t=e.props,n=t.children,o=t.iconPosition,a=t.iconTemplate,r=t.template,s=t.text,l=!e.props.template&&!n&&\"\"!==s,u=\"left\"===o,d=!e.props.template&&!n&&(e.iconSource||e.props.iconTemplate)&&(0,i.createComponentVNode)(2,h.Icon,{source:e.iconSource,position:o,iconTemplate:a});return(0,i.normalizeProps)((0,i.createComponentVNode)(2,g.Widget,k({accessKey:e.props.accessKey,activeStateEnabled:e.props.activeStateEnabled,aria:e.aria,className:e.props.className,classes:e.cssClasses,disabled:e.props.disabled,focusStateEnabled:e.props.focusStateEnabled,height:e.props.height,hint:e.props.hint,hoverStateEnabled:e.props.hoverStateEnabled,onActive:e.onActive,onClick:e.onWidgetClick,onInactive:e.onInactive,onKeyDown:e.keyDown,rtlEnabled:e.props.rtlEnabled,tabIndex:e.props.tabIndex,visible:e.props.visible,width:e.props.width},e.restAttributes,{children:(0,i.createVNode)(1,\"div\",\"dx-button-content\",[e.props.template&&r({data:e.buttonTemplateData}),!e.props.template&&n,u&&d,l&&(0,i.createVNode)(1,\"span\",\"dx-button-text\",s,0),!u&&d,e.props.useSubmitBehavior&&(0,i.createVNode)(64,\"input\",\"dx-button-submit-input\",null,1,{type:\"submit\",tabIndex:-1},null,e.submitInputRef),e.props.useInkRipple&&(0,i.createComponentVNode)(2,p.InkRipple,{config:e.inkRippleConfig},null,e.inkRippleRef)],0,null,null,e.contentRef)}),null,e.widgetRef))};t.viewFunction=E;var O=Object.create(Object.prototype,k(Object.getOwnPropertyDescriptors(m.BaseWidgetProps),Object.getOwnPropertyDescriptors({activeStateEnabled:!0,hoverStateEnabled:!0,icon:\"\",iconPosition:\"left\",stylingMode:\"contained\",text:\"\",type:\"normal\",useInkRipple:!1,useSubmitBehavior:!1,templateData:Object.freeze({})})));t.ButtonProps=O;var A=(0,a.createDefaultOptionRules)([{device:function(){return\"desktop\"===r.default.real().deviceType&&!r.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,s.isMaterial)((0,s.current)())},options:{useInkRipple:!0}}]);t.defaultOptionRules=A;var P=function(e){return e&&(e.defaultProps?function(t){return(0,i.normalizeProps)((0,i.createComponentVNode)(2,e,k({},t)))}:e)},M=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).state={},n.contentRef=(0,i.createRef)(),n.inkRippleRef=(0,i.createRef)(),n.submitInputRef=(0,i.createRef)(),n.widgetRef=(0,i.createRef)(),n.__getterCache={},n.focus=n.focus.bind(C(n)),n.activate=n.activate.bind(C(n)),n.deactivate=n.deactivate.bind(C(n)),n.submitEffect=n.submitEffect.bind(C(n)),n.checkDeprecation=n.checkDeprecation.bind(C(n)),n.onActive=n.onActive.bind(C(n)),n.onInactive=n.onInactive.bind(C(n)),n.onWidgetClick=n.onWidgetClick.bind(C(n)),n.keyDown=n.keyDown.bind(C(n)),n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,S(t,n);var r,s,h,p=a.prototype;return p.createEffects=function(){return[new o.InfernoEffect(this.submitEffect,[this.props.onSubmit,this.props.useSubmitBehavior]),new o.InfernoEffect(this.checkDeprecation,[this.props.type]),(0,o.createReRenderEffect)()]},p.updateEffects=function(){var e,t;null===(e=this._effects[0])||void 0===e||e.update([this.props.onSubmit,this.props.useSubmitBehavior]),null===(t=this._effects[1])||void 0===t||t.update([this.props.type])},p.submitEffect=function(){var e=this,t=this.props,n=t.onSubmit;if(t.useSubmitBehavior&&n)return l.click.on(this.submitInputRef.current,(function(t){return n({event:t,submitInput:e.submitInputRef.current})}),{namespace:\"UIFeedback\"}),function(){return l.click.off(e.submitInputRef.current,{namespace:\"UIFeedback\"})}},p.checkDeprecation=function(){\"back\"===this.props.type&&f.default.log(\"W0016\",\"type\",\"back\",\"22.2\",\"Use the 'back' icon instead\")},p.onActive=function(e){this.props.useInkRipple&&this.inkRippleRef.current.showWave({element:this.contentRef.current,event:e})},p.onInactive=function(e){this.props.useInkRipple&&this.inkRippleRef.current.hideWave({element:this.contentRef.current,event:e})},p.onWidgetClick=function(e){var t=this.props,n=t.onClick,i=t.useSubmitBehavior;null==n||n({event:e}),i&&this.submitInputRef.current.click()},p.keyDown=function(e){var t=this.props.onKeyDown,n=e.keyName,i=e.originalEvent,o=e.which,a=null==t?void 0:t(e);if(null!=a&&a.cancel)return a;\"space\"!==n&&\"space\"!==o&&\"enter\"!==n&&\"enter\"!==o||(i.preventDefault(),this.onWidgetClick(i))},p.focus=function(){this.widgetRef.current.focus()},p.activate=function(){this.widgetRef.current.activate()},p.deactivate=function(){this.widgetRef.current.deactivate()},p.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.icon===t.icon&&this.props.text===t.text&&this.props.type===t.type||(this.__getterCache.inkRippleConfig=void 0)},p.render=function(){var e=this.props;return E({props:k({},e,{template:P(e.template),iconTemplate:P(e.iconTemplate)}),contentRef:this.contentRef,submitInputRef:this.submitInputRef,inkRippleRef:this.inkRippleRef,widgetRef:this.widgetRef,onActive:this.onActive,onInactive:this.onInactive,onWidgetClick:this.onWidgetClick,keyDown:this.keyDown,aria:this.aria,cssClasses:this.cssClasses,iconSource:this.iconSource,inkRippleConfig:this.inkRippleConfig,buttonTemplateData:this.buttonTemplateData,restAttributes:this.restAttributes})},r=a,(s=[{key:\"aria\",get:function(){var e=this.props,t=e.icon,n=e.text,i=null!=n?n:\"\";if(!n&&t)switch((0,d.getImageSourceType)(t)){case\"image\":i=!t.includes(\"base64\")&&/^(?!(?:https?:\\/\\/)|(?:ftp:\\/\\/)|(?:www\\.))[^\\s]+$/.test(t)?t.replace(/.+\\/([^.]+)\\..+$/,\"$1\"):\"\";break;case\"dxIcon\":i=_.default.format((0,c.camelize)(t,!0))||t;break;case\"fontIcon\":i=t;break;case\"svg\":var o,a;i=null!==(o=null===(a=/<title>(.*?)<\\/title>/.exec(t))||void 0===a?void 0:a[1])&&void 0!==o?o:\"\"}return k({role:\"button\"},i?{label:i}:{})}},{key:\"cssClasses\",get:function(){return e=this.props,n=e.icon,i=e.iconPosition,o=e.stylingMode,a=e.text,r=e.type,s=o&&T.includes(o),D(t={\"dx-button\":!0},\"dx-button-mode-\".concat(s?o:\"contained\"),!0),D(t,\"dx-button-\".concat(null!=r?r:\"normal\"),!0),D(t,\"dx-button-has-text\",!!a),D(t,\"dx-button-has-icon\",!!n),D(t,\"dx-button-icon-right\",\"left\"!==i),l=t,(0,u.combineClasses)(l);var e,t,n,i,o,a,r,s,l}},{key:\"iconSource\",get:function(){var e=this.props,t=e.icon,n=e.type;return t||\"back\"===n?(null!=t?t:\"\")||\"back\":\"\"}},{key:\"inkRippleConfig\",get:function(){var e,t,n,i,o=this;return void 0!==this.__getterCache.inkRippleConfig?this.__getterCache.inkRippleConfig:this.__getterCache.inkRippleConfig=(e=o.props,t=e.icon,n=e.text,i=e.type,!n&&t||\"back\"===i?{isCentered:!0,useHoldAnimation:!1,waveSizeCoefficient:1}:{})}},{key:\"buttonTemplateData\",get:function(){var e=this.props,t=e.icon,n=e.templateData;return k({icon:t,text:e.text},n)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.accessKey,e.activeStateEnabled,e.children,e.className,e.disabled,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.icon,e.iconPosition,e.iconTemplate,e.onClick,e.onKeyDown,e.onSubmit,e.pressed,e.rtlEnabled,e.stylingMode,e.tabIndex,e.template,e.templateData,e.text,e.type,e.useInkRipple,e.useSubmitBehavior,e.visible,e.width,x(e,v)}}])&&w(r.prototype,s),h&&w(r,h),Object.defineProperty(r,\"prototype\",{writable:!1}),a}(o.InfernoWrapperComponent);t.Button=M,M.defaultProps=Object.create(Object.prototype,k(Object.getOwnPropertyDescriptors(O),Object.getOwnPropertyDescriptors(k({},(0,a.convertRulesToOptions)(A)))));var R=[]},31651:function(e,t){t.BaseWidgetProps=void 0;t.BaseWidgetProps={className:\"\",activeStateEnabled:!1,disabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,tabIndex:0,visible:!0}},96886:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DomComponentWrapperProps=t.DomComponentWrapper=void 0;var o=n(55285),a=n(44105),r=n(49697),s=n(28240),l=[\"valueChange\"],u=[\"componentProps\",\"componentType\",\"templateNames\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})},m=function(e){var t=e.props.componentProps.className,n=e.restAttributes,i=e.widgetRef;return g((0,o.createVNode)(1,\"div\",t,null,1,p({},n),null,i))};t.viewFunction=m;var _={};t.DomComponentWrapperProps=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.widgetRef=(0,o.createRef)(),n.getInstance=n.getInstance.bind(h(n)),n.setupWidget=n.setupWidget.bind(h(n)),n.updateWidget=n.updateWidget.bind(h(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var _,v,y,b=i.prototype;return b.createEffects=function(){return[new a.InfernoEffect(this.setupWidget,[]),new a.InfernoEffect(this.updateWidget,[this.props.componentProps,this.config,this.props.templateNames])]},b.updateEffects=function(){var e;null===(e=this._effects[1])||void 0===e||e.update([this.props.componentProps,this.config,this.props.templateNames])},b.setupWidget=function(){var e=this,t=new this.props.componentType(this.widgetRef.current,this.properties);return this.instance=t,function(){t.dispose(),e.instance=null}},b.updateWidget=function(){var e=this.getInstance();if(e){var t=(0,s.getUpdatedOptions)(this.prevProps||{},this.properties);t.length&&(e.beginUpdate(),t.forEach((function(t){var n=t.path,i=t.value;e.option(n,i)})),e.endUpdate()),this.prevProps=this.properties}},b.getInstance=function(){return this.instance},b.render=function(){var e=this.props;return m({props:p({},e),widgetRef:this.widgetRef,config:this.config,properties:this.properties,restAttributes:this.restAttributes})},_=i,(v=[{key:\"config\",get:function(){return this.context[r.ConfigContext.id]?this.context[r.ConfigContext.id]:r.ConfigContext.defaultValue}},{key:\"properties\",get:function(){var e,t=this,n=g(this.props.componentProps),i=n.valueChange,o=d(n,l),r=p({rtlEnabled:!(null===(e=this.config)||void 0===e||!e.rtlEnabled),isRenovated:!0},o);return i&&(r.onValueChanged=function(e){var t=e.value;return i(t)}),this.props.templateNames.forEach((function(e){(0,a.hasTemplate)(e,r,t)&&(r[e]=function(n,i,o){(0,a.renderTemplate)(t.props.componentProps[e],{item:n,index:i,container:o},t)})})),r}},{key:\"restAttributes\",get:function(){var e=this.props;return e.componentProps,e.componentType,e.templateNames,d(e,u)}}])&&c(_.prototype,v),y&&c(_,y),Object.defineProperty(_,\"prototype\",{writable:!1}),i}(a.InfernoComponent);t.DomComponentWrapper=v,v.defaultProps=_},92272:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.IconProps=t.Icon=void 0;var o=n(55285),a=n(44105),r=n(44899),s=n(86237),l=[\"iconTemplate\",\"position\",\"source\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t,n){return(t=h(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,h(i.key),i)}}function h(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=e.iconClassName,n=e.props,i=n.iconTemplate,a=n.source,r=e.sourceType;return(0,o.createFragment)([\"dxIcon\"===r&&(0,o.createVNode)(1,\"i\",t),\"fontIcon\"===r&&(0,o.createVNode)(1,\"i\",t),\"image\"===r&&(0,o.createVNode)(1,\"img\",t,null,1,{alt:\"\",src:a}),i&&(0,o.createVNode)(1,\"i\",t,i({}),0)],0)};t.viewFunction=g;var m={position:\"left\",source:\"\"};t.IconProps=m;var _=function(e){var t,n,i,a,h;function m(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=m).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n),m.prototype.render=function(){var e,t=this.props;return g({props:p({},t,{iconTemplate:(e=t.iconTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,p({},t)))}:e))}),sourceType:this.sourceType,cssClass:this.cssClass,iconClassName:this.iconClassName,restAttributes:this.restAttributes})},i=m,(a=[{key:\"sourceType\",get:function(){return(0,r.getImageSourceType)(this.props.source)}},{key:\"cssClass\",get:function(){return\"left\"!==this.props.position?\"dx-icon-right\":\"\"}},{key:\"iconClassName\",get:function(){var e=d({\"dx-icon\":!0},this.cssClass,!!this.cssClass),t=this.props.source;return\"dxIcon\"===this.sourceType?(0,s.combineClasses)(p({},e,d({},\"dx-icon-\".concat(t),!0))):\"fontIcon\"===this.sourceType?(0,s.combineClasses)(p({},e,d({},String(t),!!t))):\"image\"===this.sourceType?(0,s.combineClasses)(e):\"svg\"===this.sourceType?(0,s.combineClasses)(p({},e,{\"dx-svg-icon\":!0})):\"\"}},{key:\"restAttributes\",get:function(){var e=this.props;return e.iconTemplate,e.position,e.source,u(e,l)}}])&&c(i.prototype,a),h&&c(i,h),Object.defineProperty(i,\"prototype\",{writable:!1}),m}(a.BaseInfernoComponent);t.Icon=_,_.defaultProps=m},84507:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.InkRippleProps=t.InkRipple=void 0;var o=n(55285),a=n(44105),r=n(72672),s=[\"config\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){return(0,o.normalizeProps)((0,o.createVNode)(1,\"div\",\"dx-inkripple\",null,1,h({},e.restAttributes)))};t.viewFunction=f;var p={config:Object.freeze({})};t.InkRippleProps=p;var g=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n.hideWave=n.hideWave.bind(d(n)),n.showWave=n.showWave.bind(d(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var o,a,p,g=i.prototype;return g.hideWave=function(e){(0,r.hideWave)(this.getConfig,e)},g.showWave=function(e){(0,r.showWave)(this.getConfig,e)},g.componentWillUpdate=function(e,t,n){this.props.config!==e.config&&(this.__getterCache.getConfig=void 0)},g.render=function(){var e=this.props;return f({props:h({},e),getConfig:this.getConfig,restAttributes:this.restAttributes})},o=i,(a=[{key:\"getConfig\",get:function(){var e,t=this;return void 0!==this.__getterCache.getConfig?this.__getterCache.getConfig:this.__getterCache.getConfig=(e=t.props.config,(0,r.initConfig)(e))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.config,l(e,s)}}])&&u(o.prototype,a),p&&u(o,p),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.InkRipple=g,g.defaultProps=p},25050:function(e,t,n){var i=n(78503);Object.keys(i).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},78503:function(e,t){t.toMilliseconds=function(e){return n[e]};var n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:2592e6,quarter:7776e6,year:31536e6}},28240:function(e,t,n){t.getUpdatedOptions=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s;return p(e,t,\"\",n)};var i=n(35922);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=[\"dataSource\",\"selectedRowKeys\"],l={integrationOptions:!0};function u(e,t,n){return{path:e,value:t,previousValue:n}}function d(e,t,n,r,s,d){if(!l[r]){var c=(0,i.type)(t),f=(0,i.type)(n);if(t!==n)if(c!==f)e.push(u(r,n,t));else if(\"object\"===c)if((0,i.isPlainObject)(n)){var p=h(t,n,s,d);e.push.apply(e,a(p.map((function(e){return o({},e,{path:\"\".concat(r,\".\").concat(e.path)})}))))}else e.push(u(r,n,t));else if(\"array\"===c){if(d.some((function(e){return s.includes(e)}))&&t!==n)e.push(u(r,n,t));else if(t.length!==n.length)e.push(u(r,n,t));else{var g=h(t,n,s,d);[].push.apply(e,g.map((function(e){return o({},e,{path:\"\".concat(r).concat(e.path)})})))}}else e.push(u(r,n,t))}}var c=function(e){return function(t,n,i,o){var a=[],r=Array.isArray(t)?function(e){d(a,t[e],n[e],\"[\".concat(e,\"]\"),\"\".concat(i,\".\").concat(e),o)}:function(e){d(a,t[e],n[e],e,\"\".concat(i,\".\").concat(e),o)};return e(t).forEach(r),Object.keys(n).filter((function(e){return!Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==n[e]})).forEach((function(e){a.push({path:e,value:n[e],previousValue:t[e]})})),a}},h=c((function(e){return Object.keys(e)})),f={key:!0,ref:!0,children:!0,style:!0},p=c((function(e){return Object.keys(e).filter((function(e){return!f[e]}))}))},41672:function(e,t){t.getMemoizeScrollTo=function(e){var t=e(),n={};return function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o={top:void 0!==e.top?Math.ceil(e.top):void 0,left:void 0!==e.left?Math.ceil(e.left):void 0},a=o.top===n.top&&o.left===n.left;!i&&a||(n=o,t.scrollTo(e))}}},73687:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.WidgetProps=t.Widget=void 0;var o=n(55285),a=n(44105);n(95429),n(24028);var r=n(35922),s=n(72918),l=n(19828),u=n(86237),d=n(13306),c=n(80968),h=n(31651),f=n(49697),p=n(66042),g=n(8374),m=b(n(55814)),_=b(n(17381)),v=b(n(73349)),y=[\"_feedbackHideTimeout\",\"_feedbackShowTimeout\",\"accessKey\",\"activeStateEnabled\",\"activeStateUnit\",\"addWidgetClass\",\"aria\",\"children\",\"className\",\"classes\",\"cssText\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"name\",\"onActive\",\"onClick\",\"onDimensionChanged\",\"onFocusIn\",\"onFocusOut\",\"onHoverEnd\",\"onHoverStart\",\"onInactive\",\"onKeyDown\",\"onRootElementRendered\",\"onVisibilityChange\",\"rootElementRef\",\"rtlEnabled\",\"tabIndex\",\"visible\",\"width\"];function b(e){return e&&e.__esModule?e:{default:e}}function x(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function w(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,D(i.key),i)}}function C(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function S(e,t){return(S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function k(e,t,n){return(t=D(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function D(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function I(){return(I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var T=function(e){var t=(0,o.normalizeProps)((0,o.createVNode)(1,\"div\",e.cssClasses,e.props.children,0,I({},e.attributes,{tabIndex:e.tabIndex,title:e.props.hint,style:(0,a.normalizeStyles)(e.styles)}),null,e.widgetElementRef));return e.shouldRenderConfigProvider?(0,o.createComponentVNode)(2,p.ConfigProvider,{rtlEnabled:e.rtlEnabled,children:t}):t};t.viewFunction=T;var E=Object.create(Object.prototype,I(Object.getOwnPropertyDescriptors(h.BaseWidgetProps),Object.getOwnPropertyDescriptors({_feedbackHideTimeout:400,_feedbackShowTimeout:30,cssText:\"\",aria:Object.freeze({}),classes:\"\",name:\"\",addWidgetClass:!0})));t.WidgetProps=E;var O=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).widgetElementRef=(0,o.createRef)(),n.state={active:!1,focused:!1,hovered:!1},n.setRootElementRef=n.setRootElementRef.bind(C(n)),n.activeEffect=n.activeEffect.bind(C(n)),n.inactiveEffect=n.inactiveEffect.bind(C(n)),n.clickEffect=n.clickEffect.bind(C(n)),n.focus=n.focus.bind(C(n)),n.blur=n.blur.bind(C(n)),n.activate=n.activate.bind(C(n)),n.deactivate=n.deactivate.bind(C(n)),n.focusInEffect=n.focusInEffect.bind(C(n)),n.focusOutEffect=n.focusOutEffect.bind(C(n)),n.hoverStartEffect=n.hoverStartEffect.bind(C(n)),n.hoverEndEffect=n.hoverEndEffect.bind(C(n)),n.keyboardEffect=n.keyboardEffect.bind(C(n)),n.resizeEffect=n.resizeEffect.bind(C(n)),n.windowResizeEffect=n.windowResizeEffect.bind(C(n)),n.visibilityEffect=n.visibilityEffect.bind(C(n)),n.checkDeprecation=n.checkDeprecation.bind(C(n)),n.applyCssTextEffect=n.applyCssTextEffect.bind(C(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,S(t,n);var h,p,b,D=i.prototype;return D.createEffects=function(){return[new a.InfernoEffect(this.setRootElementRef,[]),new a.InfernoEffect(this.activeEffect,[this.props._feedbackShowTimeout,this.props.activeStateEnabled,this.props.activeStateUnit,this.props.disabled,this.props.onActive]),new a.InfernoEffect(this.inactiveEffect,[this.props._feedbackHideTimeout,this.props.activeStateEnabled,this.props.activeStateUnit,this.props.onInactive,this.state.active]),new a.InfernoEffect(this.clickEffect,[this.props.disabled,this.props.name,this.props.onClick]),new a.InfernoEffect(this.focusInEffect,[this.props.disabled,this.props.focusStateEnabled,this.props.name,this.props.onFocusIn]),new a.InfernoEffect(this.focusOutEffect,[this.props.focusStateEnabled,this.props.name,this.props.onFocusOut,this.state.focused]),new a.InfernoEffect(this.hoverStartEffect,[this.props.activeStateUnit,this.props.disabled,this.props.hoverStateEnabled,this.props.onHoverStart,this.state.active]),new a.InfernoEffect(this.hoverEndEffect,[this.props.activeStateUnit,this.props.hoverStateEnabled,this.props.onHoverEnd,this.state.hovered]),new a.InfernoEffect(this.keyboardEffect,[this.props.focusStateEnabled,this.props.onKeyDown]),new a.InfernoEffect(this.resizeEffect,[this.props.name,this.props.onDimensionChanged]),new a.InfernoEffect(this.windowResizeEffect,[this.props.onDimensionChanged]),new a.InfernoEffect(this.visibilityEffect,[this.props.name,this.props.onVisibilityChange]),new a.InfernoEffect(this.checkDeprecation,[this.props.height,this.props.width]),new a.InfernoEffect(this.applyCssTextEffect,[this.props.cssText]),(0,a.createReRenderEffect)()]},D.updateEffects=function(){var e,t,n,i,o,a,r,s,l,u,d,c,h;null===(e=this._effects[1])||void 0===e||e.update([this.props._feedbackShowTimeout,this.props.activeStateEnabled,this.props.activeStateUnit,this.props.disabled,this.props.onActive]),null===(t=this._effects[2])||void 0===t||t.update([this.props._feedbackHideTimeout,this.props.activeStateEnabled,this.props.activeStateUnit,this.props.onInactive,this.state.active]),null===(n=this._effects[3])||void 0===n||n.update([this.props.disabled,this.props.name,this.props.onClick]),null===(i=this._effects[4])||void 0===i||i.update([this.props.disabled,this.props.focusStateEnabled,this.props.name,this.props.onFocusIn]),null===(o=this._effects[5])||void 0===o||o.update([this.props.focusStateEnabled,this.props.name,this.props.onFocusOut,this.state.focused]),null===(a=this._effects[6])||void 0===a||a.update([this.props.activeStateUnit,this.props.disabled,this.props.hoverStateEnabled,this.props.onHoverStart,this.state.active]),null===(r=this._effects[7])||void 0===r||r.update([this.props.activeStateUnit,this.props.hoverStateEnabled,this.props.onHoverEnd,this.state.hovered]),null===(s=this._effects[8])||void 0===s||s.update([this.props.focusStateEnabled,this.props.onKeyDown]),null===(l=this._effects[9])||void 0===l||l.update([this.props.name,this.props.onDimensionChanged]),null===(u=this._effects[10])||void 0===u||u.update([this.props.onDimensionChanged]),null===(d=this._effects[11])||void 0===d||d.update([this.props.name,this.props.onVisibilityChange]),null===(c=this._effects[12])||void 0===c||c.update([this.props.height,this.props.width]),null===(h=this._effects[13])||void 0===h||h.update([this.props.cssText])},D.setRootElementRef=function(){var e=this.props,t=e.onRootElementRendered,n=e.rootElementRef;n&&(n.current=this.widgetElementRef.current),null==t||t(this.widgetElementRef.current)},D.activeEffect=function(){var e=this,t=this.props,n=t._feedbackShowTimeout,i=t.activeStateEnabled,o=t.activeStateUnit,a=t.disabled,r=t.onActive,s=o;if(i&&!a)return(0,l.subscribeToDxActiveEvent)(this.widgetElementRef.current,(function(t){e.setState((function(e){return{active:!0}})),null==r||r(t)}),{timeout:n,selector:s},\"UIFeedback\")},D.inactiveEffect=function(){var e=this,t=this.props,n=t._feedbackHideTimeout,i=t.activeStateEnabled,o=t.activeStateUnit,a=t.onInactive,r=o;if(i)return(0,l.subscribeToDxInactiveEvent)(this.widgetElementRef.current,(function(t){e.state.active&&(e.setState((function(e){return{active:!1}})),null==a||a(t))}),{timeout:n,selector:r},\"UIFeedback\")},D.clickEffect=function(){var e=this,t=this.props,n=t.disabled,i=t.name,o=t.onClick,a=i;if(o&&!n)return s.dxClick.on(this.widgetElementRef.current,o,{namespace:a}),function(){return s.dxClick.off(e.widgetElementRef.current,{namespace:a})}},D.focusInEffect=function(){var e=this,t=this.props,n=t.disabled,i=t.focusStateEnabled,o=t.name,a=t.onFocusIn,r=\"\".concat(o,\"Focus\");if(i&&!n)return(0,l.subscribeToDxFocusInEvent)(this.widgetElementRef.current,(function(t){t.isDefaultPrevented()||(e.setState((function(e){return{focused:!0}})),null==a||a(t))}),null,r)},D.focusOutEffect=function(){var e=this,t=this.props,n=t.focusStateEnabled,i=t.name,o=t.onFocusOut,a=\"\".concat(i,\"Focus\");if(n)return(0,l.subscribeToDxFocusOutEvent)(this.widgetElementRef.current,(function(t){!t.isDefaultPrevented()&&e.state.focused&&(e.setState((function(e){return{focused:!1}})),null==o||o(t))}),null,a)},D.hoverStartEffect=function(){var e=this,t=this.props,n=t.activeStateUnit,i=t.disabled,o=t.hoverStateEnabled,a=t.onHoverStart,r=n;if(o&&!i)return(0,l.subscribeToDxHoverStartEvent)(this.widgetElementRef.current,(function(t){!e.state.active&&e.setState((function(e){return{hovered:!0}})),null==a||a(t)}),{selector:r},\"UIFeedback\")},D.hoverEndEffect=function(){var e=this,t=this.props,n=t.activeStateUnit,i=t.hoverStateEnabled,o=t.onHoverEnd,a=n;if(i)return(0,l.subscribeToDxHoverEndEvent)(this.widgetElementRef.current,(function(t){e.state.hovered&&(e.setState((function(e){return{hovered:!1}})),null==o||o(t))}),{selector:a},\"UIFeedback\")},D.keyboardEffect=function(){var e=this.props,t=e.focusStateEnabled,n=e.onKeyDown;if(t&&n){var i=s.keyboard.on(this.widgetElementRef.current,this.widgetElementRef.current,(function(e){return n(e)}));return function(){return s.keyboard.off(i)}}},D.resizeEffect=function(){var e=this,t=\"\".concat(this.props.name,\"VisibilityChange\"),n=this.props.onDimensionChanged;if(n)return s.resize.on(this.widgetElementRef.current,n,{namespace:t}),function(){return s.resize.off(e.widgetElementRef.current,{namespace:t})}},D.windowResizeEffect=function(){var e=this.props.onDimensionChanged;if(e)return m.default.add(e),function(){m.default.remove(e)}},D.visibilityEffect=function(){var e=this,t=this.props,n=t.name,i=t.onVisibilityChange,o=\"\".concat(n,\"VisibilityChange\");if(i)return s.visibility.on(this.widgetElementRef.current,(function(){return i(!0)}),(function(){return i(!1)}),{namespace:o}),function(){return s.visibility.off(e.widgetElementRef.current,{namespace:o})}},D.checkDeprecation=function(){var e=this.props,t=e.height,n=e.width;(0,r.isFunction)(n)&&_.default.log(\"W0017\",\"width\"),(0,r.isFunction)(t)&&_.default.log(\"W0017\",\"height\")},D.applyCssTextEffect=function(){var e=this.props.cssText;\"\"!==e&&(this.widgetElementRef.current.style.cssText=e)},D.focus=function(){s.focus.trigger(this.widgetElementRef.current)},D.blur=function(){var e=v.default.getActiveElement(this.widgetElementRef.current);this.widgetElementRef.current===e&&e.blur()},D.activate=function(){this.setState((function(e){return{active:!0}}))},D.deactivate=function(){this.setState((function(e){return{active:!1}}))},D.render=function(){var e=this.props;return T({props:I({},e),active:this.state.active,focused:this.state.focused,hovered:this.state.hovered,widgetElementRef:this.widgetElementRef,config:this.config,shouldRenderConfigProvider:this.shouldRenderConfigProvider,rtlEnabled:this.rtlEnabled,attributes:this.attributes,styles:this.styles,cssClasses:this.cssClasses,tabIndex:this.tabIndex,restAttributes:this.restAttributes})},h=i,(p=[{key:\"config\",get:function(){return this.context[f.ConfigContext.id]?this.context[f.ConfigContext.id]:f.ConfigContext.defaultValue}},{key:\"shouldRenderConfigProvider\",get:function(){var e=this.props.rtlEnabled;return(0,g.resolveRtlEnabledDefinition)(e,this.config)}},{key:\"rtlEnabled\",get:function(){var e=this.props.rtlEnabled;return(0,g.resolveRtlEnabled)(e,this.config)}},{key:\"attributes\",get:function(){var e,t=this.props,n=t.aria,i=t.disabled,o=t.focusStateEnabled,a=t.visible,r=o&&!i&&this.props.accessKey;return I({},(0,d.extend)({},r&&{accessKey:r}),(e=I({},n,{disabled:i,hidden:!a}),Object.keys(e).reduce((function(t,n){return e[n]?I({},t,k({},\"role\"===n||\"id\"===n?n:\"aria-\".concat(n),String(e[n]))):t}),{})),(0,d.extend)({},this.restAttributes))}},{key:\"styles\",get:function(){var e=this.props,t=e.height,n=e.width,i=this.restAttributes.style||{},o=(0,c.normalizeStyleProp)(\"width\",(0,r.isFunction)(n)?n():n),a=(0,c.normalizeStyleProp)(\"height\",(0,r.isFunction)(t)?t():t);return I({},i,{height:null!=a?a:i.height,width:null!=o?o:i.width})}},{key:\"cssClasses\",get:function(){var e,t=this.props,n=t.activeStateEnabled,i=t.addWidgetClass,o=t.className,a=t.classes,r=t.disabled,s=t.focusStateEnabled,l=t.hoverStateEnabled,d=t.onVisibilityChange,c=t.visible,h=!!s&&!r,f=!!l&&!r,p=!!n&&!r,g=(k(e={\"dx-widget\":!!i},String(a),!!a),k(e,String(o),!!o),k(e,\"dx-state-disabled\",!!r),k(e,\"dx-state-invisible\",!c),k(e,\"dx-state-focused\",!!this.state.focused&&h),k(e,\"dx-state-active\",!!this.state.active&&p),k(e,\"dx-state-hover\",!!this.state.hovered&&f&&!this.state.active),k(e,\"dx-rtl\",!!this.rtlEnabled),k(e,\"dx-visibility-change-handler\",!!d),e);return(0,u.combineClasses)(g)}},{key:\"tabIndex\",get:function(){var e=this.props,t=e.disabled,n=e.focusStateEnabled,i=e.tabIndex;return n&&!t?i:void 0}},{key:\"restAttributes\",get:function(){var e=this.props;return e._feedbackHideTimeout,e._feedbackShowTimeout,e.accessKey,e.activeStateEnabled,e.activeStateUnit,e.addWidgetClass,e.aria,e.children,e.className,e.classes,e.cssText,e.disabled,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.name,e.onActive,e.onClick,e.onDimensionChanged,e.onFocusIn,e.onFocusOut,e.onHoverEnd,e.onHoverStart,e.onInactive,e.onKeyDown,e.onRootElementRendered,e.onVisibilityChange,e.rootElementRef,e.rtlEnabled,e.tabIndex,e.visible,e.width,x(e,y)}}])&&w(h.prototype,p),b&&w(h,b),Object.defineProperty(h,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.Widget=O,O.defaultProps=E},8448:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=s(n(99393)),a=s(n(74046)),r=n(85560);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o,a,s,d=i.prototype;return d.getProps=function(){var t=e.prototype.getProps.call(this);return t.onKeyDown=this._wrapKeyDownHandler(t.onKeyDown),t},d.focus=function(){var e;return null===(e=this.viewRef)||void 0===e?void 0:e.focus.apply(e,arguments)},d.blur=function(){var e;return null===(e=this.viewRef)||void 0===e?void 0:e.blur.apply(e,arguments)},d._getActionConfigs=function(){return{onFocusIn:{},onClick:{}}},o=i,(a=[{key:\"_propsInfo\",get:function(){return{twoWay:[[\"value\",\"defaultValue\",\"valueChange\"]],allowNull:[\"defaultValue\",\"validationError\",\"validationErrors\",\"value\"],elements:[],templates:[],props:[\"text\",\"iconSize\",\"enableThreeStateBehavior\",\"activeStateEnabled\",\"hoverStateEnabled\",\"focusStateEnabled\",\"saveValueChangeEvent\",\"defaultValue\",\"valueChange\",\"readOnly\",\"name\",\"validationError\",\"validationErrors\",\"validationMessageMode\",\"validationMessagePosition\",\"validationStatus\",\"isValid\",\"inputAttr\",\"onFocusIn\",\"className\",\"accessKey\",\"disabled\",\"height\",\"hint\",\"onClick\",\"onKeyDown\",\"rtlEnabled\",\"tabIndex\",\"visible\",\"width\",\"aria\",\"value\"]}}},{key:\"_viewComponent\",get:function(){return r.CheckBox}}])&&l(o.prototype,a),s&&l(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.default);t.default=d,(0,o.default)(\"dxCheckBox\",d),d.defaultOptions=r.defaultOptions,e.exports=t.default,e.exports.default=t.default},85560:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.CheckBoxPropsType=t.CheckBoxProps=t.CheckBox=void 0,t.defaultOptions=function(e){C.push(e),w.defaultProps=Object.create(Object.prototype,v(Object.getOwnPropertyDescriptors(w.defaultProps),Object.getOwnPropertyDescriptors((t=(0,h.convertRulesToOptions)(C),n=[\"value\"],Object.keys(t).reduce((function(e,i){var o=t[i];return e[n.some((function(e){return e===i}))?\"default\"+i.charAt(0).toUpperCase()+i.slice(1):i]=o,e}),{})))));var t,n},t.viewFunction=void 0;var o,a=n(55285),r=n(44105),s=(o=n(20530))&&o.__esModule?o:{default:o},l=n(77848),u=n(86237),d=n(13241),c=n(73687),h=n(45434),f=[\"accessKey\",\"activeStateEnabled\",\"aria\",\"className\",\"defaultValue\",\"disabled\",\"enableThreeStateBehavior\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"iconSize\",\"inputAttr\",\"isValid\",\"name\",\"onClick\",\"onFocusIn\",\"onKeyDown\",\"readOnly\",\"rtlEnabled\",\"saveValueChangeEvent\",\"tabIndex\",\"text\",\"validationError\",\"validationErrors\",\"validationMessageMode\",\"validationMessagePosition\",\"validationStatus\",\"value\",\"valueChange\",\"visible\",\"width\"];function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var y=function(e){var t=e.aria,n=e.cssClasses,i=e.editorRef,o=e.keyDown,r=e.onWidgetClick,s=e.props,u=s.accessKey,c=s.activeStateEnabled,h=s.className,f=s.disabled,p=s.focusStateEnabled,g=s.height,m=s.hint,_=s.hoverStateEnabled,y=s.iconSize,b=s.isValid,x=s.name,w=s.onFocusIn,C=s.readOnly,S=s.rtlEnabled,k=s.tabIndex,D=s.text,I=s.validationError,T=s.validationErrors,E=s.validationMessageMode,O=s.validationMessagePosition,A=s.validationStatus,P=s.value,M=s.visible,R=s.width,B=e.restAttributes;return(0,a.normalizeProps)((0,a.createComponentVNode)(2,l.Editor,v({aria:t,classes:n,onClick:r,onKeyDown:o,accessKey:u,activeStateEnabled:c,focusStateEnabled:p,hoverStateEnabled:_,className:h,disabled:f,readOnly:C,hint:m,height:g,width:R,rtlEnabled:S,tabIndex:k,visible:M,validationError:I,validationErrors:T,validationMessageMode:E,validationMessagePosition:O,validationStatus:A,isValid:b,onFocusIn:w},B,{children:(0,a.createFragment)([(0,a.normalizeProps)((0,a.createVNode)(64,\"input\",null,null,1,v({type:\"hidden\",value:\"\".concat(P)},x&&{name:x}))),(0,a.createVNode)(1,\"div\",\"dx-checkbox-container\",[(0,a.createComponentVNode)(2,d.CheckBoxIcon,{size:y,isChecked:!0===P}),D&&(0,a.createVNode)(1,\"span\",\"dx-checkbox-text\",D,0)],0)],4)}),null,i))};t.viewFunction=y;var b=Object.create(Object.prototype,v(Object.getOwnPropertyDescriptors(l.EditorProps),Object.getOwnPropertyDescriptors(Object.defineProperties({text:\"\",enableThreeStateBehavior:!1,activeStateEnabled:!0,hoverStateEnabled:!0,defaultValue:!1,valueChange:function(){}},{focusStateEnabled:{get:function(){return\"desktop\"===s.default.real().deviceType&&!s.default.isSimulator()},configurable:!0,enumerable:!0}}))));t.CheckBoxProps=b;var x=Object.defineProperties({},{text:{get:function(){return b.text},configurable:!0,enumerable:!0},enableThreeStateBehavior:{get:function(){return b.enableThreeStateBehavior},configurable:!0,enumerable:!0},activeStateEnabled:{get:function(){return b.activeStateEnabled},configurable:!0,enumerable:!0},hoverStateEnabled:{get:function(){return b.hoverStateEnabled},configurable:!0,enumerable:!0},focusStateEnabled:{get:function(){return b.focusStateEnabled},configurable:!0,enumerable:!0},defaultValue:{get:function(){return b.defaultValue},configurable:!0,enumerable:!0},valueChange:{get:function(){return b.valueChange},configurable:!0,enumerable:!0},readOnly:{get:function(){return b.readOnly},configurable:!0,enumerable:!0},name:{get:function(){return b.name},configurable:!0,enumerable:!0},validationError:{get:function(){return b.validationError},configurable:!0,enumerable:!0},validationErrors:{get:function(){return b.validationErrors},configurable:!0,enumerable:!0},validationMessageMode:{get:function(){return b.validationMessageMode},configurable:!0,enumerable:!0},validationMessagePosition:{get:function(){return b.validationMessagePosition},configurable:!0,enumerable:!0},validationStatus:{get:function(){return b.validationStatus},configurable:!0,enumerable:!0},isValid:{get:function(){return b.isValid},configurable:!0,enumerable:!0},inputAttr:{get:function(){return b.inputAttr},configurable:!0,enumerable:!0},className:{get:function(){return b.className},configurable:!0,enumerable:!0},disabled:{get:function(){return b.disabled},configurable:!0,enumerable:!0},tabIndex:{get:function(){return b.tabIndex},configurable:!0,enumerable:!0},visible:{get:function(){return b.visible},configurable:!0,enumerable:!0},aria:{get:function(){return c.WidgetProps.aria},configurable:!0,enumerable:!0}});t.CheckBoxPropsType=x;var w=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).editorRef=(0,a.createRef)(),n.state={value:void 0!==n.props.value?n.props.value:n.props.defaultValue},n.focus=n.focus.bind(m(n)),n.blur=n.blur.bind(m(n)),n.onWidgetClick=n.onWidgetClick.bind(m(n)),n.keyDown=n.keyDown.bind(m(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var o,s,l,d=i.prototype;return d.createEffects=function(){return[(0,r.createReRenderEffect)()]},d.onWidgetClick=function(e){var t,n,i=this,o=this.props,a=o.enableThreeStateBehavior,r=o.readOnly,s=o.saveValueChangeEvent;r||(null==s||s(e),a?(this.setState((function(e){return{value:t=null===(void 0!==i.props.value?i.props.value:e.value)||!(void 0!==i.props.value?i.props.value:e.value)&&null}})),this.props.valueChange(t)):(this.setState((function(e){var t;return{value:n=!(null!==(t=void 0!==i.props.value?i.props.value:e.value)&&void 0!==t&&t)}})),this.props.valueChange(n)))},d.keyDown=function(e){var t=this.props.onKeyDown,n=e.keyName,i=e.originalEvent,o=e.which,a=null==t?void 0:t(e);if(null!=a&&a.cancel)return a;\"space\"!==n&&\"space\"!==o||(i.preventDefault(),this.onWidgetClick(i))},d.focus=function(){this.editorRef.current.focus()},d.blur=function(){this.editorRef.current.blur()},d.render=function(){var e=this.props;return y({props:v({},e,{value:void 0!==this.props.value?this.props.value:this.state.value}),editorRef:this.editorRef,onWidgetClick:this.onWidgetClick,keyDown:this.keyDown,cssClasses:this.cssClasses,aria:this.aria,restAttributes:this.restAttributes})},o=i,(s=[{key:\"cssClasses\",get:function(){return e=v({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value}),t=e.text,n=e.value,i={\"dx-checkbox\":!0,\"dx-checkbox-checked\":!0===n,\"dx-checkbox-has-text\":!!t,\"dx-checkbox-indeterminate\":null===n},(0,u.combineClasses)(i);var e,t,n,i}},{key:\"aria\",get:function(){var e=!0===(void 0!==this.props.value?this.props.value:this.state.value);return v({},{role:\"checkbox\",checked:null===(void 0!==this.props.value?this.props.value:this.state.value)?\"mixed\":\"\".concat(e)},this.props.aria)}},{key:\"restAttributes\",get:function(){var e=v({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value});return e.accessKey,e.activeStateEnabled,e.aria,e.className,e.defaultValue,e.disabled,e.enableThreeStateBehavior,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.iconSize,e.inputAttr,e.isValid,e.name,e.onClick,e.onFocusIn,e.onKeyDown,e.readOnly,e.rtlEnabled,e.saveValueChangeEvent,e.tabIndex,e.text,e.validationError,e.validationErrors,e.validationMessageMode,e.validationMessagePosition,e.validationStatus,e.value,e.valueChange,e.visible,e.width,p(e,f)}}])&&g(o.prototype,s),l&&g(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoWrapperComponent);t.CheckBox=w,w.defaultProps=x;var C=[]},13241:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.CheckBoxIconProps=t.CheckBoxIcon=void 0;var o,a=n(55285),r=n(44105),s=(o=n(89357))&&o.__esModule?o:{default:o},l=n(58201),u=n(80968),d=n(35922),c=n(71591),h=[\"isChecked\",\"size\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=function(e){var t=e.cssStyles,n=e.elementRef;return(0,a.createVNode)(1,\"span\",\"dx-checkbox-icon\",null,1,{style:(0,r.normalizeStyles)(t)},null,n)};t.viewFunction=v;var y={isChecked:!1};t.CheckBoxIconProps=y;var b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.elementRef=(0,a.createRef)(),n.__getterCache={},n.updateFontSize=n.updateFontSize.bind(m(n)),n.setIconFontSize=n.setIconFontSize.bind(m(n)),n.getIconSize=n.getIconSize.bind(m(n)),n.getComputedIconSize=n.getComputedIconSize.bind(m(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var o,y,b,x=i.prototype;return x.createEffects=function(){return[new r.InfernoEffect(this.updateFontSize,[this.props.isChecked,this.props.size])]},x.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props.isChecked,this.props.size])},x.updateFontSize=function(){var e=this.props,t=e.isChecked,n=e.size;if((0,l.hasWindow)()&&n){var i=this.getIconSize(n),o=(0,c.getFontSizeByIconSize)(i,t);this.setIconFontSize(o)}},x.setIconFontSize=function(e){this.elementRef.current.style.fontSize=\"\".concat(e,\"px\")},x.getIconSize=function(e){return(0,d.isNumeric)(e)?e:e.endsWith(\"px\")?parseInt(e,10):this.getComputedIconSize()},x.getComputedIconSize=function(){var e=this.elementRef.current,t=(0,s.default)(e);return parseInt(null==t?void 0:t.width,10)},x.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.size!==t.size&&(this.__getterCache.cssStyles=void 0)},x.render=function(){var e=this.props;return v({props:p({},e),elementRef:this.elementRef,setIconFontSize:this.setIconFontSize,getIconSize:this.getIconSize,getComputedIconSize:this.getComputedIconSize,cssStyles:this.cssStyles,restAttributes:this.restAttributes})},o=i,(y=[{key:\"cssStyles\",get:function(){var e,t,n=this;return void 0!==this.__getterCache.cssStyles?this.__getterCache.cssStyles:this.__getterCache.cssStyles=(e=n.props.size,t=(0,u.normalizeStyleProp)(\"width\",e),{height:(0,u.normalizeStyleProp)(\"height\",e),width:t})}},{key:\"restAttributes\",get:function(){var e=this.props;return e.isChecked,e.size,f(e,h)}}])&&g(o.prototype,y),b&&g(o,b),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.CheckBoxIcon=b,b.defaultProps=y},71591:function(e,t,n){t.getDefaultFontSize=l,t.getDefaultIconSize=s,t.getFontSizeByIconSize=function(e,t){var n=l(t),i=s(),o=n/i;return Math.ceil(o*e)};var i=n(75811),o=[[22,16],[18,16]],a=[[[12,8],[20,18]],[[16,10],[16,14]]];function r(){var e=(0,i.current)();return{isMaterialTheme:(0,i.isMaterial)(e),isCompactTheme:(0,i.isCompact)(e)}}function s(){var e=r(),t=e.isCompactTheme,n=e.isMaterialTheme;return o[+n][+t]}function l(e){var t=r(),n=t.isCompactTheme,i=t.isMaterialTheme;return a[+e][+i][+n]}},77848:function(e,t,n){t.EditorPropsType=t.EditorProps=t.Editor=void 0,t.defaultOptions=function(e){I.push(e),D.defaultProps=Object.create(Object.prototype,b(Object.getOwnPropertyDescriptors(D.defaultProps),Object.getOwnPropertyDescriptors((t=(0,c.convertRulesToOptions)(I),n=[\"value\"],Object.keys(t).reduce((function(e,i){var o=t[i];return e[n.some((function(e){return e===i}))?\"default\"+i.charAt(0).toUpperCase()+i.slice(1):i]=o,e}),{})))));var t,n},t.viewFunction=void 0;var i,o=n(55285),a=n(44105),r=(i=n(73176))&&i.__esModule?i:{default:i},s=n(73687),l=n(31651),u=n(86237),d=n(85500),c=n(45434),h=[\"accessKey\",\"activeStateEnabled\",\"aria\",\"children\",\"className\",\"classes\",\"defaultValue\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"inputAttr\",\"isValid\",\"name\",\"onClick\",\"onFocusIn\",\"onKeyDown\",\"readOnly\",\"rtlEnabled\",\"tabIndex\",\"validationError\",\"validationErrors\",\"validationMessageMode\",\"validationMessagePosition\",\"validationStatus\",\"value\",\"valueChange\",\"visible\",\"width\"];function f(e){return(f=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e)||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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,x(i.key),i)}}function v(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function y(e,t){return(y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function x(e){var t=function(e,t){if(\"object\"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==f(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===f(t)?t:String(t)}var w=function(e){var t=e.classes,n=e.isValid,i=function(e,t,n){return(t=x(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({\"dx-state-readonly\":!!e.readOnly,\"dx-invalid\":!n},\"\".concat(t),!!t);return(0,u.combineClasses)(i)},C=function(e){var t=e.aria,n=e.cssClasses,i=e.isValidationMessageVisible,a=e.onFocusIn,r=e.props,l=r.accessKey,u=r.activeStateEnabled,c=r.children,h=r.className,f=r.disabled,p=r.focusStateEnabled,g=r.height,m=r.hint,_=r.hoverStateEnabled,v=r.onClick,y=r.onKeyDown,x=r.rtlEnabled,w=r.tabIndex,C=r.validationMessageMode,S=r.validationMessagePosition,k=r.visible,D=r.width,I=e.restAttributes,T=e.rootElementRef,E=e.validationErrors,O=e.validationMessageGuid,A=e.validationMessageTarget,P=e.widgetRef;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,s.Widget,b({rootElementRef:T,aria:t,classes:n,activeStateEnabled:u,focusStateEnabled:p,hoverStateEnabled:_,accessKey:l,className:h,rtlEnabled:x,hint:m,disabled:f,height:g,width:D,onFocusIn:a,onClick:v,onKeyDown:y,tabIndex:w,visible:k},I,{children:(0,o.createFragment)([c,i&&(0,o.createComponentVNode)(2,d.ValidationMessage,{validationErrors:E,mode:C,positionSide:S,rtlEnabled:x,target:A,boundary:A,visualContainer:A,contentId:O})],0)}),null,P))};t.viewFunction=C;var S=Object.create(Object.prototype,b(Object.getOwnPropertyDescriptors(l.BaseWidgetProps),Object.getOwnPropertyDescriptors({readOnly:!1,name:\"\",validationError:null,validationErrors:null,validationMessageMode:\"auto\",validationMessagePosition:\"bottom\",validationStatus:\"valid\",isValid:!0,inputAttr:Object.freeze({}),defaultValue:null,valueChange:function(){}})));t.EditorProps=S;var k=Object.defineProperties({},{readOnly:{get:function(){return S.readOnly},configurable:!0,enumerable:!0},name:{get:function(){return S.name},configurable:!0,enumerable:!0},validationError:{get:function(){return S.validationError},configurable:!0,enumerable:!0},validationErrors:{get:function(){return S.validationErrors},configurable:!0,enumerable:!0},validationMessageMode:{get:function(){return S.validationMessageMode},configurable:!0,enumerable:!0},validationMessagePosition:{get:function(){return S.validationMessagePosition},configurable:!0,enumerable:!0},validationStatus:{get:function(){return S.validationStatus},configurable:!0,enumerable:!0},isValid:{get:function(){return S.isValid},configurable:!0,enumerable:!0},inputAttr:{get:function(){return S.inputAttr},configurable:!0,enumerable:!0},defaultValue:{get:function(){return S.defaultValue},configurable:!0,enumerable:!0},valueChange:{get:function(){return S.valueChange},configurable:!0,enumerable:!0},className:{get:function(){return S.className},configurable:!0,enumerable:!0},activeStateEnabled:{get:function(){return S.activeStateEnabled},configurable:!0,enumerable:!0},disabled:{get:function(){return S.disabled},configurable:!0,enumerable:!0},focusStateEnabled:{get:function(){return S.focusStateEnabled},configurable:!0,enumerable:!0},hoverStateEnabled:{get:function(){return S.hoverStateEnabled},configurable:!0,enumerable:!0},tabIndex:{get:function(){return S.tabIndex},configurable:!0,enumerable:!0},visible:{get:function(){return S.visible},configurable:!0,enumerable:!0},aria:{get:function(){return s.WidgetProps.aria},configurable:!0,enumerable:!0},classes:{get:function(){return s.WidgetProps.classes},configurable:!0,enumerable:!0}});t.EditorPropsType=k;var D=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).widgetRef=(0,o.createRef)(),n.rootElementRef=(0,o.createRef)(),n.__getterCache={},n.state={validationMessageGuid:\"dx-\".concat(new r.default),isValidationMessageVisible:!1,value:void 0!==n.props.value?n.props.value:n.props.defaultValue},n.updateValidationMessageVisibility=n.updateValidationMessageVisibility.bind(v(n)),n.focus=n.focus.bind(v(n)),n.blur=n.blur.bind(v(n)),n.onFocusIn=n.onFocusIn.bind(v(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,y(t,n);var s,l,u,d=i.prototype;return d.createEffects=function(){return[new a.InfernoEffect(this.updateValidationMessageVisibility,[this.props.isValid,this.props.validationStatus,this.props.validationError,this.props.validationErrors]),(0,a.createReRenderEffect)()]},d.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props.isValid,this.props.validationStatus,this.props.validationError,this.props.validationErrors])},d.updateValidationMessageVisibility=function(){var e=this;this.setState((function(t){return{isValidationMessageVisible:e.shouldShowValidationMessage}}))},d.onFocusIn=function(e){var t=this.props.onFocusIn;null==t||t(e)},d.focus=function(){this.widgetRef.current.focus()},d.blur=function(){this.widgetRef.current.blur()},d.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.validationError===t.validationError&&this.props.validationErrors===t.validationErrors||(this.__getterCache.validationErrors=void 0)},d.render=function(){var e=this.props;return C({props:b({},e,{value:void 0!==this.props.value?this.props.value:this.state.value}),validationMessageGuid:this.state.validationMessageGuid,isValidationMessageVisible:this.state.isValidationMessageVisible,rootElementRef:this.rootElementRef,widgetRef:this.widgetRef,onFocusIn:this.onFocusIn,cssClasses:this.cssClasses,shouldShowValidationMessage:this.shouldShowValidationMessage,aria:this.aria,validationErrors:this.validationErrors,validationMessageTarget:this.validationMessageTarget,restAttributes:this.restAttributes})},s=i,(l=[{key:\"cssClasses\",get:function(){return\"\".concat(w(b({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value})))}},{key:\"shouldShowValidationMessage\",get:function(){var e,t=this.props,n=t.isValid,i=t.validationStatus,o=null!==(e=this.validationErrors)&&void 0!==e?e:[];return!(n&&\"invalid\"!==i)&&o.length>0}},{key:\"aria\",get:function(){var e=this.props,t=e.isValid,n={readonly:e.readOnly?\"true\":\"false\",invalid:t?\"false\":\"true\"};return this.shouldShowValidationMessage&&(n.describedBy=this.state.validationMessageGuid),b({},n,this.props.aria)}},{key:\"validationErrors\",get:function(){var e,t,n,i,o=this;return void 0!==this.__getterCache.validationErrors?this.__getterCache.validationErrors:this.__getterCache.validationErrors=(e=o.props,t=e.validationError,n=e.validationErrors,!(i=n&&g(n))&&t&&(i=[b({},t)]),i)}},{key:\"validationMessageTarget\",get:function(){var e;return null===(e=this.rootElementRef)||void 0===e?void 0:e.current}},{key:\"restAttributes\",get:function(){var e=b({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value});return e.accessKey,e.activeStateEnabled,e.aria,e.children,e.className,e.classes,e.defaultValue,e.disabled,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.inputAttr,e.isValid,e.name,e.onClick,e.onFocusIn,e.onKeyDown,e.readOnly,e.rtlEnabled,e.tabIndex,e.validationError,e.validationErrors,e.validationMessageMode,e.validationMessagePosition,e.validationStatus,e.value,e.valueChange,e.visible,e.width,p(e,h)}}])&&_(s.prototype,l),u&&_(s,u),Object.defineProperty(s,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.Editor=D,D.defaultProps=k;var I=[]},96496:function(e,t,n){t.EditorLabelProps=void 0;var i=n(75811),o=Object.defineProperties({label:\"\"},{labelMode:{get:function(){return(0,i.isMaterial)((0,i.current)())?\"floating\":\"static\"},configurable:!0,enumerable:!0}});t.EditorLabelProps=o},48214:function(e,t,n){t.EditorStateProps=void 0;var i,o=(i=n(20530))&&i.__esModule?i:{default:i};var a=Object.defineProperties({hoverStateEnabled:!0,activeStateEnabled:!0},{focusStateEnabled:{get:function(){return\"desktop\"===o.default.real().deviceType&&!o.default.isSimulator()},configurable:!0,enumerable:!0}});t.EditorStateProps=a},79708:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.SelectBoxPropsType=t.SelectBoxProps=t.SelectBox=void 0;var o,a=n(55285),r=n(44105),s=(o=n(78665))&&o.__esModule?o:{default:o},l=n(96886),u=n(77848),d=n(48214),c=n(96496),h=[\"accessKey\",\"activeStateEnabled\",\"className\",\"dataSource\",\"defaultValue\",\"disabled\",\"displayExpr\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"inputAttr\",\"isValid\",\"label\",\"labelMode\",\"name\",\"onClick\",\"onFocusIn\",\"onKeyDown\",\"placeholder\",\"readOnly\",\"rtlEnabled\",\"searchEnabled\",\"tabIndex\",\"validationError\",\"validationErrors\",\"validationMessageMode\",\"validationMessagePosition\",\"validationStatus\",\"value\",\"valueChange\",\"valueExpr\",\"visible\",\"width\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _=function(e){var t=e.componentProps,n=e.restAttributes;return(0,a.normalizeProps)((0,a.createComponentVNode)(2,l.DomComponentWrapper,m({componentType:s.default,componentProps:t,templateNames:[\"dropDownButtonTemplate\",\"groupTemplate\",\"itemTemplate\"]},n)))};t.viewFunction=_;var v=Object.create(Object.prototype,m(Object.getOwnPropertyDescriptors(u.EditorProps),Object.getOwnPropertyDescriptors({placeholder:\"\",hoverStateEnabled:!0,searchEnabled:!1,defaultValue:null,isReactComponentWrapper:!0})));t.SelectBoxProps=v;var y=Object.defineProperties({isReactComponentWrapper:!0},{placeholder:{get:function(){return v.placeholder},configurable:!0,enumerable:!0},hoverStateEnabled:{get:function(){return d.EditorStateProps.hoverStateEnabled},configurable:!0,enumerable:!0},searchEnabled:{get:function(){return v.searchEnabled},configurable:!0,enumerable:!0},defaultValue:{get:function(){return v.defaultValue},configurable:!0,enumerable:!0},readOnly:{get:function(){return v.readOnly},configurable:!0,enumerable:!0},name:{get:function(){return v.name},configurable:!0,enumerable:!0},validationError:{get:function(){return v.validationError},configurable:!0,enumerable:!0},validationErrors:{get:function(){return v.validationErrors},configurable:!0,enumerable:!0},validationMessageMode:{get:function(){return v.validationMessageMode},configurable:!0,enumerable:!0},validationMessagePosition:{get:function(){return v.validationMessagePosition},configurable:!0,enumerable:!0},validationStatus:{get:function(){return v.validationStatus},configurable:!0,enumerable:!0},isValid:{get:function(){return v.isValid},configurable:!0,enumerable:!0},inputAttr:{get:function(){return v.inputAttr},configurable:!0,enumerable:!0},className:{get:function(){return v.className},configurable:!0,enumerable:!0},activeStateEnabled:{get:function(){return d.EditorStateProps.activeStateEnabled},configurable:!0,enumerable:!0},disabled:{get:function(){return v.disabled},configurable:!0,enumerable:!0},focusStateEnabled:{get:function(){return d.EditorStateProps.focusStateEnabled},configurable:!0,enumerable:!0},tabIndex:{get:function(){return v.tabIndex},configurable:!0,enumerable:!0},visible:{get:function(){return v.visible},configurable:!0,enumerable:!0},label:{get:function(){return c.EditorLabelProps.label},configurable:!0,enumerable:!0},labelMode:{get:function(){return c.EditorLabelProps.labelMode},configurable:!0,enumerable:!0}});t.SelectBoxPropsType=y;var b=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={value:void 0!==n.props.value?n.props.value:n.props.defaultValue},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n),r.prototype.render=function(){var e=this.props;return _({props:m({},e,{value:void 0!==this.props.value?this.props.value:this.state.value}),componentProps:this.componentProps,restAttributes:this.restAttributes})},i=r,(o=[{key:\"componentProps\",get:function(){return m({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value})}},{key:\"restAttributes\",get:function(){var e=m({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value});return e.accessKey,e.activeStateEnabled,e.className,e.dataSource,e.defaultValue,e.disabled,e.displayExpr,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.inputAttr,e.isValid,e.label,e.labelMode,e.name,e.onClick,e.onFocusIn,e.onKeyDown,e.placeholder,e.readOnly,e.rtlEnabled,e.searchEnabled,e.tabIndex,e.validationError,e.validationErrors,e.validationMessageMode,e.validationMessagePosition,e.validationStatus,e.value,e.valueChange,e.valueExpr,e.visible,e.width,f(e,h)}}])&&p(i.prototype,o),a&&p(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.SelectBox=b,b.defaultProps=y},15560:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.NumberBoxPropsType=t.NumberBoxProps=t.NumberBox=void 0;var o,a=n(55285),r=n(44105),s=(o=n(34171))&&o.__esModule?o:{default:o},l=n(96886),u=n(77848),d=n(48214),c=n(96496),h=[\"accessKey\",\"activeStateEnabled\",\"className\",\"defaultValue\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"inputAttr\",\"invalidValueMessage\",\"isValid\",\"label\",\"labelMode\",\"max\",\"min\",\"mode\",\"name\",\"onClick\",\"onFocusIn\",\"onKeyDown\",\"readOnly\",\"rtlEnabled\",\"showSpinButtons\",\"step\",\"tabIndex\",\"useLargeSpinButtons\",\"validationError\",\"validationErrors\",\"validationMessageMode\",\"validationMessagePosition\",\"validationStatus\",\"value\",\"valueChange\",\"visible\",\"width\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _=function(e){var t=e.componentProps,n=e.restAttributes;return(0,a.normalizeProps)((0,a.createComponentVNode)(2,l.DomComponentWrapper,m({componentType:s.default,componentProps:t,templateNames:[]},n)))};t.viewFunction=_;var v=Object.create(Object.prototype,m(Object.getOwnPropertyDescriptors(u.EditorProps),Object.getOwnPropertyDescriptors({defaultValue:0,isReactComponentWrapper:!0})));t.NumberBoxProps=v;var y=Object.defineProperties({isReactComponentWrapper:!0},{defaultValue:{get:function(){return v.defaultValue},configurable:!0,enumerable:!0},readOnly:{get:function(){return v.readOnly},configurable:!0,enumerable:!0},name:{get:function(){return v.name},configurable:!0,enumerable:!0},validationError:{get:function(){return v.validationError},configurable:!0,enumerable:!0},validationErrors:{get:function(){return v.validationErrors},configurable:!0,enumerable:!0},validationMessageMode:{get:function(){return v.validationMessageMode},configurable:!0,enumerable:!0},validationMessagePosition:{get:function(){return v.validationMessagePosition},configurable:!0,enumerable:!0},validationStatus:{get:function(){return v.validationStatus},configurable:!0,enumerable:!0},isValid:{get:function(){return v.isValid},configurable:!0,enumerable:!0},inputAttr:{get:function(){return v.inputAttr},configurable:!0,enumerable:!0},className:{get:function(){return v.className},configurable:!0,enumerable:!0},activeStateEnabled:{get:function(){return d.EditorStateProps.activeStateEnabled},configurable:!0,enumerable:!0},disabled:{get:function(){return v.disabled},configurable:!0,enumerable:!0},focusStateEnabled:{get:function(){return d.EditorStateProps.focusStateEnabled},configurable:!0,enumerable:!0},hoverStateEnabled:{get:function(){return d.EditorStateProps.hoverStateEnabled},configurable:!0,enumerable:!0},tabIndex:{get:function(){return v.tabIndex},configurable:!0,enumerable:!0},visible:{get:function(){return v.visible},configurable:!0,enumerable:!0},label:{get:function(){return c.EditorLabelProps.label},configurable:!0,enumerable:!0},labelMode:{get:function(){return c.EditorLabelProps.labelMode},configurable:!0,enumerable:!0}});t.NumberBoxPropsType=y;var b=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={value:void 0!==n.props.value?n.props.value:n.props.defaultValue},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n),r.prototype.render=function(){var e=this.props;return _({props:m({},e,{value:void 0!==this.props.value?this.props.value:this.state.value}),componentProps:this.componentProps,restAttributes:this.restAttributes})},i=r,(o=[{key:\"componentProps\",get:function(){return m({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value})}},{key:\"restAttributes\",get:function(){var e=m({},this.props,{value:void 0!==this.props.value?this.props.value:this.state.value});return e.accessKey,e.activeStateEnabled,e.className,e.defaultValue,e.disabled,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.inputAttr,e.invalidValueMessage,e.isValid,e.label,e.labelMode,e.max,e.min,e.mode,e.name,e.onClick,e.onFocusIn,e.onKeyDown,e.readOnly,e.rtlEnabled,e.showSpinButtons,e.step,e.tabIndex,e.useLargeSpinButtons,e.validationError,e.validationErrors,e.validationMessageMode,e.validationMessagePosition,e.validationStatus,e.value,e.valueChange,e.visible,e.width,f(e,h)}}])&&p(i.prototype,o),a&&p(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.NumberBox=b,b.defaultProps=y},85500:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.ValidationMessageProps=t.ValidationMessage=void 0;var o,a=n(55285),r=n(44105),s=(o=n(8336))&&o.__esModule?o:{default:o},l=n(96886),u=n(31651),d=[\"accessKey\",\"activeStateEnabled\",\"boundary\",\"className\",\"contentId\",\"disabled\",\"focusStateEnabled\",\"height\",\"hint\",\"hoverStateEnabled\",\"mode\",\"offset\",\"onClick\",\"onKeyDown\",\"positionSide\",\"rtlEnabled\",\"tabIndex\",\"target\",\"validationErrors\",\"visible\",\"visualContainer\",\"width\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=e.componentProps,n=e.restAttributes;return(0,a.normalizeProps)((0,a.createComponentVNode)(2,l.DomComponentWrapper,p({componentType:s.default,componentProps:t,templateNames:[]},n)))};t.viewFunction=g;var m=Object.create(Object.prototype,p(Object.getOwnPropertyDescriptors(u.BaseWidgetProps),Object.getOwnPropertyDescriptors({mode:\"auto\",positionSide:\"top\",offset:Object.freeze({h:0,v:0}),isReactComponentWrapper:!0})));t.ValidationMessageProps=m;var _=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n),r.prototype.render=function(){var e=this.props;return g({props:p({},e),componentProps:this.componentProps,restAttributes:this.restAttributes})},i=r,(o=[{key:\"componentProps\",get:function(){return this.props}},{key:\"restAttributes\",get:function(){var e=this.props;return e.accessKey,e.activeStateEnabled,e.boundary,e.className,e.contentId,e.disabled,e.focusStateEnabled,e.height,e.hint,e.hoverStateEnabled,e.mode,e.offset,e.onClick,e.onKeyDown,e.positionSide,e.rtlEnabled,e.tabIndex,e.target,e.validationErrors,e.visible,e.visualContainer,e.width,c(e,d)}}])&&h(i.prototype,o),a&&h(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.ValidationMessage=_,_.defaultProps=m},21450:function(e,t,n){t.BasePagerProps=void 0;var i,o=(i=n(28109))&&i.__esModule?i:{default:i};var a=Object.defineProperties({gridCompatibility:!0,showInfo:!1,displayMode:\"adaptive\",maxPagesCount:10,pageCount:10,visible:!0,hasKnownLastPage:!0,pagesNavigatorVisible:\"auto\",showPageSizes:!0,pageSizes:Object.freeze([5,10]),showNavigationButtons:!1,totalCount:0},{label:{get:function(){return o.default.format(\"dxPager-ariaLabel\")},configurable:!0,enumerable:!0}});t.BasePagerProps=a},39853:function(e,t){t.PAGER_SELECTION_CLASS=t.PAGER_SELECTED_PAGE_SIZE_CLASS=t.PAGER_PAGE_SIZE_CLASS=t.PAGER_PAGE_SIZES_CLASS=t.PAGER_PAGE_INDEXES_CLASS=t.PAGER_PAGE_CLASS=t.PAGER_PAGES_CLASS=t.PAGER_CLASS=t.LIGHT_MODE_CLASS=t.FIRST_CHILD_CLASS=void 0;t.PAGER_CLASS=\"dx-pager\";t.LIGHT_MODE_CLASS=\"dx-light-mode\";t.PAGER_PAGES_CLASS=\"dx-pages\";t.PAGER_PAGE_INDEXES_CLASS=\"dx-page-indexes\";t.PAGER_PAGE_CLASS=\"dx-page\";t.PAGER_SELECTION_CLASS=\"dx-selection\";t.PAGER_PAGE_SIZE_CLASS=\"dx-page-size\";t.PAGER_PAGE_SIZES_CLASS=\"dx-page-sizes\";var n=\"\".concat(\"dx-page-size\",\" \").concat(\"dx-selection\");t.PAGER_SELECTED_PAGE_SIZE_CLASS=n;t.FIRST_CHILD_CLASS=\"dx-first-child\"},44133:function(e,t,n){t.KeyboardActionContext=void 0;var i=(0,n(44105).createContext)(void 0);t.KeyboardActionContext=i},93961:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.LightButtonProps=t.LightButton=void 0;var o=n(55285),a=n(44105),r=n(19828),s=n(44133),l=[\"children\",\"className\",\"label\",\"onClick\",\"selected\",\"tabIndex\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=function(e){var t=e.props,n=t.children,i=t.className,a=t.label,r=t.selected,s=t.tabIndex,l=e.widgetRef;return(0,o.createVNode)(1,\"div\",i,n,0,{tabIndex:s,role:\"button\",\"aria-label\":a,\"aria-current\":r?\"page\":void 0},null,l)};t.viewFunction=p;var g={className:\"\",label:\"\",tabIndex:0,selected:!1};t.LightButtonProps=g;var m=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.widgetRef=(0,o.createRef)(),n.keyboardEffect=n.keyboardEffect.bind(h(n)),n.subscribeToClick=n.subscribeToClick.bind(h(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var g,m,_,v=i.prototype;return v.createEffects=function(){return[new a.InfernoEffect(this.keyboardEffect,[this.keyboardContext,this.props.onClick]),new a.InfernoEffect(this.subscribeToClick,[this.props.onClick])]},v.updateEffects=function(){var e,t;null===(e=this._effects[0])||void 0===e||e.update([this.keyboardContext,this.props.onClick]),null===(t=this._effects[1])||void 0===t||t.update([this.props.onClick])},v.keyboardEffect=function(){return this.keyboardContext.registerKeyboardAction(this.widgetRef.current,this.props.onClick)},v.subscribeToClick=function(){return(0,r.subscribeToClickEvent)(this.widgetRef.current,this.props.onClick)},v.render=function(){var e=this.props;return p({props:d({},e),widgetRef:this.widgetRef,keyboardContext:this.keyboardContext,restAttributes:this.restAttributes})},g=i,(m=[{key:\"keyboardContext\",get:function(){return this.context[s.KeyboardActionContext.id]?this.context[s.KeyboardActionContext.id]:s.KeyboardActionContext.defaultValue}},{key:\"restAttributes\",get:function(){var e=this.props;return e.children,e.className,e.label,e.onClick,e.selected,e.tabIndex,u(e,l)}}])&&c(g.prototype,m),_&&c(g,_),Object.defineProperty(g,\"prototype\",{writable:!1}),i}(a.InfernoComponent);t.LightButton=m,m.defaultProps=g},96529:function(e,t,n){t.PagerProps=t.InternalPagerProps=void 0;var i=n(21450);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var a=Object.create(Object.prototype,o(Object.getOwnPropertyDescriptors(i.BasePagerProps),Object.getOwnPropertyDescriptors({defaultPageSize:5,pageSizeChange:function(){},defaultPageIndex:1,pageIndexChange:function(){}})));t.PagerProps=a;var r=Object.create(Object.prototype,o(Object.getOwnPropertyDescriptors(i.BasePagerProps),Object.getOwnPropertyDescriptors({pageSize:5,pageIndex:1})));t.InternalPagerProps=r},30928:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PagerContentProps=t.PagerContent=void 0;var o=n(55285),a=n(44105),r=n(57495),s=n(32854),l=n(41936),u=n(39853),d=n(96529),c=n(86237),h=n(73687),f=n(56756),p=n(44133),g=[\"className\",\"displayMode\",\"gridCompatibility\",\"hasKnownLastPage\",\"infoText\",\"infoTextRef\",\"infoTextVisible\",\"isLargeDisplayMode\",\"label\",\"lightModeEnabled\",\"maxPagesCount\",\"onKeyDown\",\"pageCount\",\"pageIndex\",\"pageIndexChange\",\"pageSize\",\"pageSizeChange\",\"pageSizes\",\"pageSizesRef\",\"pagesCountText\",\"pagesNavigatorVisible\",\"pagesRef\",\"rootElementRef\",\"rtlEnabled\",\"showInfo\",\"showNavigationButtons\",\"showPageSizes\",\"totalCount\",\"visible\"];function m(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function _(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,y(i.key),i)}}function y(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function b(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var C=function(e){var t=e.aria,n=e.classes,i=e.infoVisible,d=e.isLargeDisplayMode,c=e.pageIndexSelectorVisible,f=e.pagesContainerVisibility,p=e.pagesContainerVisible,g=e.props,m=g.hasKnownLastPage,_=g.infoText,v=g.infoTextRef,y=g.maxPagesCount,b=g.pageCount,x=g.pageIndex,C=g.pageIndexChange,S=g.pageSize,k=g.pageSizeChange,D=g.pageSizes,I=g.pageSizesRef,T=g.pagesCountText,E=g.pagesRef,O=g.rtlEnabled,A=g.showNavigationButtons,P=g.showPageSizes,M=g.totalCount,R=g.visible,B=e.restAttributes,L=e.widgetRootElementRef;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h.Widget,w({rootElementRef:L,rtlEnabled:O,classes:n,visible:R,aria:t},B,{children:[P&&(0,o.createComponentVNode)(2,l.PageSizeSelector,{rootElementRef:I,isLargeDisplayMode:d,pageSize:S,pageSizeChange:k,pageSizes:D}),p&&(0,o.createVNode)(1,\"div\",u.PAGER_PAGES_CLASS,[i&&(0,o.createComponentVNode)(2,r.InfoText,{rootElementRef:v,infoText:_,pageCount:b,pageIndex:x,totalCount:M}),c&&(0,o.createVNode)(1,\"div\",u.PAGER_PAGE_INDEXES_CLASS,(0,o.createComponentVNode)(2,s.PageIndexSelector,{hasKnownLastPage:m,isLargeDisplayMode:d,maxPagesCount:y,pageCount:b,pageIndex:x,pageIndexChange:C,pagesCountText:T,showNavigationButtons:A,totalCount:M}),2,null,null,E)],0,{style:(0,a.normalizeStyles)({visibility:f})})]})))};t.viewFunction=C;var S=Object.create(Object.prototype,w(Object.getOwnPropertyDescriptors(d.InternalPagerProps),Object.getOwnPropertyDescriptors({infoTextVisible:!0,isLargeDisplayMode:!0})));t.PagerContentProps=S;var k=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.widgetRootElementRef=(0,o.createRef)(),n.__getterCache={},n.setRootElementRef=n.setRootElementRef.bind(b(n)),n.createFakeInstance=n.createFakeInstance.bind(b(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,x(t,n);var r,s,l,d=i.prototype;return d.createEffects=function(){return[new a.InfernoEffect(this.setRootElementRef,[])]},d.getChildContext=function(){return w({},this.context,_({},p.KeyboardActionContext.id,this.keyboardAction||p.KeyboardActionContext.defaultValue))},d.setRootElementRef=function(){var e=this.props.rootElementRef;e&&(e.current=this.widgetRootElementRef.current)},d.createFakeInstance=function(){var e=this;return{option:function(){return!1},element:function(){return e.widgetRootElementRef.current},_createActionByOption:function(){return function(t){var n,i;null===(n=(i=e.props).onKeyDown)||void 0===n||n.call(i,t)}}}},d.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.onKeyDown!==t.onKeyDown&&(this.__getterCache.keyboardAction=void 0)},d.render=function(){var e=this.props;return C({props:w({},e),widgetRootElementRef:this.widgetRootElementRef,keyboardAction:this.keyboardAction,infoVisible:this.infoVisible,pageIndexSelectorVisible:this.pageIndexSelectorVisible,pagesContainerVisible:this.pagesContainerVisible,pagesContainerVisibility:this.pagesContainerVisibility,isLargeDisplayMode:this.isLargeDisplayMode,classes:this.classes,aria:this.aria,restAttributes:this.restAttributes})},r=i,(s=[{key:\"keyboardAction\",get:function(){var e=this;return void 0!==this.__getterCache.keyboardAction?this.__getterCache.keyboardAction:this.__getterCache.keyboardAction={registerKeyboardAction:function(t,n){var i=e.createFakeInstance();return(0,f.registerKeyboardAction)(\"pager\",i,t,void 0,n)}}}},{key:\"infoVisible\",get:function(){var e=this.props,t=e.infoTextVisible;return e.showInfo&&t}},{key:\"pageIndexSelectorVisible\",get:function(){return 0!==this.props.pageSize}},{key:\"normalizedDisplayMode\",get:function(){var e=this.props,t=e.displayMode,n=e.lightModeEnabled;return\"adaptive\"===t&&void 0!==n?n?\"compact\":\"full\":t}},{key:\"pagesContainerVisible\",get:function(){return!!this.props.pagesNavigatorVisible&&this.props.pageCount>0}},{key:\"pagesContainerVisibility\",get:function(){if(\"auto\"===this.props.pagesNavigatorVisible&&1===this.props.pageCount&&this.props.hasKnownLastPage)return\"hidden\"}},{key:\"isLargeDisplayMode\",get:function(){var e=this.normalizedDisplayMode;return\"adaptive\"===e?this.props.isLargeDisplayMode:\"full\"===e}},{key:\"classes\",get:function(){var e,t=(_(e={},\"\".concat(this.props.className),!!this.props.className),_(e,u.PAGER_CLASS,!0),_(e,u.LIGHT_MODE_CLASS,!this.isLargeDisplayMode),e);return(0,c.combineClasses)(t)}},{key:\"aria\",get:function(){return{role:\"navigation\",label:this.props.label}}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.displayMode,e.gridCompatibility,e.hasKnownLastPage,e.infoText,e.infoTextRef,e.infoTextVisible,e.isLargeDisplayMode,e.label,e.lightModeEnabled,e.maxPagesCount,e.onKeyDown,e.pageCount,e.pageIndex,e.pageIndexChange,e.pageSize,e.pageSizeChange,e.pageSizes,e.pageSizesRef,e.pagesCountText,e.pagesNavigatorVisible,e.pagesRef,e.rootElementRef,e.rtlEnabled,e.showInfo,e.showNavigationButtons,e.showPageSizes,e.totalCount,e.visible,m(e,g)}}])&&v(r.prototype,s),l&&v(r,l),Object.defineProperty(r,\"prototype\",{writable:!1}),i}(a.InfernoComponent);t.PagerContent=k,k.defaultProps=S},57495:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PAGER_INFO_CLASS=t.InfoTextProps=t.InfoText=void 0;var o,a=n(55285),r=n(44105),s=n(68752),l=(o=n(28109))&&o.__esModule?o:{default:o},u=n(96529),d=[\"infoText\",\"pageCount\",\"pageIndex\",\"rootElementRef\",\"totalCount\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.PAGER_INFO_CLASS=\"dx-info\";var g=function(e){var t=e.props.rootElementRef,n=e.text;return(0,a.createVNode)(1,\"div\",\"dx-info\",n,0,null,null,t)};t.viewFunction=g;t.InfoTextProps={};var m=Object.defineProperties({},{pageIndex:{get:function(){return u.InternalPagerProps.pageIndex},configurable:!0,enumerable:!0},pageCount:{get:function(){return u.InternalPagerProps.pageCount},configurable:!0,enumerable:!0},totalCount:{get:function(){return u.InternalPagerProps.totalCount},configurable:!0,enumerable:!0}}),_=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n),r.prototype.render=function(){var e=this.props;return g({props:h({},e),infoText:this.infoText,text:this.text,restAttributes:this.restAttributes})},i=r,(o=[{key:\"infoText\",get:function(){var e;return(null!==(e=this.props.infoText)&&void 0!==e?e:\"\")||l.default.getFormatter(\"dxPager-infoText\")()}},{key:\"text\",get:function(){var e=this.props,t=e.pageCount,n=e.pageIndex,i=e.totalCount;return(0,s.format)(this.infoText,(n+1).toString(),t.toString(),i.toString())}},{key:\"restAttributes\",get:function(){var e=this.props;return e.infoText,e.pageCount,e.pageIndex,e.rootElementRef,e.totalCount,c(e,d)}}])&&f(i.prototype,o),a&&f(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.InfoText=_,_.defaultProps=m},86857:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PageSizeLargeProps=t.PageSizeLarge=void 0;var o,a=n(55285),r=n(44105),s=n(86237),l=n(93961),u=n(96529),d=n(39853),c=(o=n(28109))&&o.__esModule?o:{default:o},h=n(68752),f=[\"pageSize\",\"pageSizeChange\",\"pageSizes\"];function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function g(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function _(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,v(i.key),i)}}function v(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function y(e,t){return(y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var b=function(e){var t=e.pageSizesText;return(0,a.createFragment)(t.map((function(e){var t=e.className,n=e.click,i=e.label,o=e.text;return(0,a.createComponentVNode)(2,l.LightButton,{className:t,label:i,onClick:n,children:o},o)})),0)};t.viewFunction=b;t.PageSizeLargeProps={};var x=Object.defineProperties({},{pageSize:{get:function(){return u.InternalPagerProps.pageSize},configurable:!0,enumerable:!0}}),w=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n.onPageSizeChange=n.onPageSizeChange.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,y(t,n);var o,a,r,l=i.prototype;return l.onPageSizeChange=function(e){var t=this;return function(){return t.props.pageSizeChange(e),t.props.pageSize}},l.componentWillUpdate=function(e,t,n){this.props.pageSize===e.pageSize&&this.props.pageSizes===e.pageSizes&&this.props.pageSizeChange===e.pageSizeChange||(this.__getterCache.pageSizesText=void 0)},l.render=function(){var e=this.props;return b({props:m({},e),pageSizesText:this.pageSizesText,restAttributes:this.restAttributes})},o=i,(a=[{key:\"pageSizesText\",get:function(){var e,t,n=this;return void 0!==this.__getterCache.pageSizesText?this.__getterCache.pageSizesText:this.__getterCache.pageSizesText=(e=n.props,t=e.pageSize,e.pageSizes.map((function(e,i){var o,a=e.text,r=e.value,l=r===t;return{className:(0,s.combineClasses)((g(o={},l?d.PAGER_SELECTED_PAGE_SIZE_CLASS:d.PAGER_PAGE_SIZE_CLASS,!0),g(o,d.FIRST_CHILD_CLASS,0===i),o)),click:n.onPageSizeChange(r),label:(0,h.format)(c.default.getFormatter(\"dxPager-pageSize\"),r||c.default.getFormatter(\"dxPager-pageSizesAllText\")),text:a}})))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.pageSize,e.pageSizeChange,e.pageSizes,p(e,f)}}])&&_(o.prototype,a),r&&_(o,r),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.BaseInfernoComponent);t.PageSizeLarge=w,w.defaultProps=x},41936:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PageSizeSelector=void 0;var o,a=n(55285),r=n(44105),s=n(70415),l=n(86857),u=n(96529),d=(o=n(28109))&&o.__esModule?o:{default:o},c=n(39853),h=[\"isLargeDisplayMode\",\"pageSize\",\"pageSizeChange\",\"pageSizes\",\"rootElementRef\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){var t=e.htmlRef,n=e.normalizedPageSizes,i=e.props,o=i.isLargeDisplayMode,r=i.pageSize,u=i.pageSizeChange;return(0,a.createVNode)(1,\"div\",c.PAGER_PAGE_SIZES_CLASS,[o&&(0,a.createComponentVNode)(2,l.PageSizeLarge,{pageSizes:n,pageSize:r,pageSizeChange:u}),!o&&(0,a.createComponentVNode)(2,s.PageSizeSmall,{parentRef:t,pageSizes:n,pageSize:r,pageSizeChange:u})],0,null,null,t)};t.viewFunction=_;var v=!0,y=Object.defineProperties({},{pageSize:{get:function(){return u.InternalPagerProps.pageSize},configurable:!0,enumerable:!0},pageSizes:{get:function(){return u.InternalPagerProps.pageSizes},configurable:!0,enumerable:!0},isLargeDisplayMode:{get:function(){return v},configurable:!0,enumerable:!0}}),b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.htmlRef=(0,a.createRef)(),n.__getterCache={},n.setRootElementRef=n.setRootElementRef.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var o,s,l,u=i.prototype;return u.createEffects=function(){return[new r.InfernoEffect(this.setRootElementRef,[])]},u.setRootElementRef=function(){var e=this.props.rootElementRef;e&&(e.current=this.htmlRef.current)},u.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.pageSizes!==t.pageSizes&&(this.__getterCache.normalizedPageSizes=void 0)},u.render=function(){var e=this.props;return _({props:p({},e),htmlRef:this.htmlRef,normalizedPageSizes:this.normalizedPageSizes,restAttributes:this.restAttributes})},o=i,(s=[{key:\"normalizedPageSizes\",get:function(){var e=this;return void 0!==this.__getterCache.normalizedPageSizes?this.__getterCache.normalizedPageSizes:this.__getterCache.normalizedPageSizes=e.props.pageSizes.map((function(e){return\"all\"===e||0===e?{text:d.default.getFormatter(\"dxPager-pageSizesAllText\")(),value:0}:{text:String(e),value:e}}))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.isLargeDisplayMode,e.pageSize,e.pageSizeChange,e.pageSizes,e.rootElementRef,f(e,h)}}])&&g(o.prototype,s),l&&g(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.PageSizeSelector=b,b.defaultProps=y},70415:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PageSizeSmallProps=t.PageSizeSmall=void 0;var o,a=n(55285),r=n(44105),s=(o=n(28109))&&o.__esModule?o:{default:o},l=n(79708),u=n(7750),d=n(95116),c=n(96529),h=[\"inputAttr\",\"pageSize\",\"pageSizeChange\",\"pageSizes\",\"parentRef\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){var t=e.props,n=t.inputAttr,i=t.pageSize,o=t.pageSizeChange,r=t.pageSizes,s=e.width;return(0,a.createComponentVNode)(2,l.SelectBox,{displayExpr:\"text\",valueExpr:\"value\",dataSource:r,value:i,valueChange:o,width:s,inputAttr:n})};t.viewFunction=_;var v={inputAttr:Object.freeze({\"aria-label\":s.default.format(\"dxPager-ariaPageSize\")})};t.PageSizeSmallProps=v;var y=Object.defineProperties({},{pageSize:{get:function(){return c.InternalPagerProps.pageSize},configurable:!0,enumerable:!0},inputAttr:{get:function(){return v.inputAttr},configurable:!0,enumerable:!0}}),b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={minWidth:10},n.updateWidth=n.updateWidth.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var o,a,s,l=i.prototype;return l.createEffects=function(){return[new r.InfernoEffect(this.updateWidth,[this.props,this.state.minWidth,this.props.pageSize,this.props.pageSizeChange,this.props.pageSizes,this.props.inputAttr])]},l.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props,this.state.minWidth,this.props.pageSize,this.props.pageSizeChange,this.props.pageSizes,this.props.inputAttr])},l.updateWidth=function(){var e=this;this.setState((function(t){return{minWidth:(0,d.getElementMinWidth)(e.props.parentRef.current)||t.minWidth}}))},l.render=function(){var e=this.props;return _({props:p({},e),width:this.width,restAttributes:this.restAttributes})},o=i,(a=[{key:\"width\",get:function(){return(0,u.calculateValuesFittedWidth)(this.state.minWidth,this.props.pageSizes.map((function(e){return e.value})))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.inputAttr,e.pageSize,e.pageSizeChange,e.pageSizes,e.parentRef,f(e,h)}}])&&g(o.prototype,a),s&&g(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.PageSizeSmall=b,b.defaultProps=y},47854:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(97827),s=n(59968);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),r.prototype.getProps=function(){var t=e.prototype.getProps.call(this);return t.onKeyDown=this._wrapKeyDownHandler(t.onKeyDown),t},i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[[\"pageSize\",\"defaultPageSize\",\"pageSizeChange\"],[\"pageIndex\",\"defaultPageIndex\",\"pageIndexChange\"]],allowNull:[],elements:[],templates:[],props:[\"defaultPageSize\",\"pageSizeChange\",\"defaultPageIndex\",\"pageIndexChange\",\"gridCompatibility\",\"className\",\"showInfo\",\"infoText\",\"lightModeEnabled\",\"displayMode\",\"maxPagesCount\",\"pageCount\",\"pagesCountText\",\"visible\",\"hasKnownLastPage\",\"pagesNavigatorVisible\",\"showPageSizes\",\"pageSizes\",\"rtlEnabled\",\"showNavigationButtons\",\"totalCount\",\"label\",\"onKeyDown\",\"pageSize\",\"pageIndex\"]}}},{key:\"_viewComponent\",get:function(){return s.Pager}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.GridPagerWrapper);t.default=d,(0,a.default)(\"dxPager\",d),e.exports=t.default,e.exports.default=t.default},59968:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.Pager=void 0;var o=n(55285),a=n(44105),r=n(97239),s=n(96529),l=n(30928),u=n(86237),d=[\"className\",\"defaultPageIndex\",\"defaultPageSize\",\"displayMode\",\"gridCompatibility\",\"hasKnownLastPage\",\"infoText\",\"label\",\"lightModeEnabled\",\"maxPagesCount\",\"onKeyDown\",\"pageCount\",\"pageIndex\",\"pageIndexChange\",\"pageSize\",\"pageSizeChange\",\"pageSizes\",\"pagesCountText\",\"pagesNavigatorVisible\",\"rtlEnabled\",\"showInfo\",\"showNavigationButtons\",\"showPageSizes\",\"totalCount\",\"visible\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,f(i.key),i)}}function f(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function p(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _=function(e){var t=e.pagerProps,n=e.restAttributes;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.ResizableContainer,m({contentTemplate:l.PagerContent,pagerProps:t},n)))};t.viewFunction=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).__getterCache={},n.state={pageSize:void 0!==n.props.pageSize?n.props.pageSize:n.props.defaultPageSize,pageIndex:void 0!==n.props.pageIndex?n.props.pageIndex:n.props.defaultPageIndex},n.pageIndexChange=n.pageIndexChange.bind(p(n)),n.pageSizeChange=n.pageSizeChange.bind(p(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var o,r,s,l=i.prototype;return l.createEffects=function(){return[(0,a.createReRenderEffect)()]},l.pageIndexChange=function(e){var t,n;this.props.gridCompatibility?(this.setState((function(n){return{pageIndex:t=e+1}})),this.props.pageIndexChange(t)):(this.setState((function(t){return{pageIndex:n=e}})),this.props.pageIndexChange(n))},l.pageSizeChange=function(e){var t;this.setState((function(n){return{pageSize:t=e}})),this.props.pageSizeChange(t)},l.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props===t&&this.props.gridCompatibility===t.gridCompatibility&&this.props.className===t.className&&this.state.pageIndex===n.pageIndex&&this.props.pageIndex===t.pageIndex&&this.props.pageIndexChange===t.pageIndexChange&&this.props.pageSizeChange===t.pageSizeChange||(this.__getterCache.pagerProps=void 0)},l.render=function(){var e=this.props;return _({props:m({},e,{pageSize:void 0!==this.props.pageSize?this.props.pageSize:this.state.pageSize,pageIndex:void 0!==this.props.pageIndex?this.props.pageIndex:this.state.pageIndex}),pageIndexChange:this.pageIndexChange,pageIndex:this.pageIndex,pageSizeChange:this.pageSizeChange,className:this.className,pagerProps:this.pagerProps,restAttributes:this.restAttributes})},o=i,(r=[{key:\"pageIndex\",get:function(){return this.props.gridCompatibility?(void 0!==this.props.pageIndex?this.props.pageIndex:this.state.pageIndex)-1:void 0!==this.props.pageIndex?this.props.pageIndex:this.state.pageIndex}},{key:\"className\",get:function(){return this.props.gridCompatibility?(0,u.combineClasses)((e={\"dx-datagrid-pager\":!0},t=\"\".concat(this.props.className),n=!!this.props.className,(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e)):this.props.className;var e,t,n}},{key:\"pagerProps\",get:function(){var e=this;return void 0!==this.__getterCache.pagerProps?this.__getterCache.pagerProps:this.__getterCache.pagerProps=m({},m({},e.props,{pageSize:void 0!==e.props.pageSize?e.props.pageSize:e.state.pageSize,pageIndex:void 0!==e.props.pageIndex?e.props.pageIndex:e.state.pageIndex}),{className:e.className,pageIndex:e.pageIndex,pageIndexChange:function(t){return e.pageIndexChange(t)},pageSizeChange:function(t){return e.pageSizeChange(t)}})}},{key:\"restAttributes\",get:function(){var e=m({},this.props,{pageSize:void 0!==this.props.pageSize?this.props.pageSize:this.state.pageSize,pageIndex:void 0!==this.props.pageIndex?this.props.pageIndex:this.state.pageIndex});return e.className,e.defaultPageIndex,e.defaultPageSize,e.displayMode,e.gridCompatibility,e.hasKnownLastPage,e.infoText,e.label,e.lightModeEnabled,e.maxPagesCount,e.onKeyDown,e.pageCount,e.pageIndex,e.pageIndexChange,e.pageSize,e.pageSizeChange,e.pageSizes,e.pagesCountText,e.pagesNavigatorVisible,e.rtlEnabled,e.showInfo,e.showNavigationButtons,e.showPageSizes,e.totalCount,e.visible,c(e,d)}}])&&h(o.prototype,r),s&&h(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.Pager=v,v.defaultProps=s.PagerProps},40586:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PagesLarge=void 0;var o=n(55285),a=n(44105),r=n(48402),s=n(96529),l=n(49697),u=[\"pageIndexes\"],d=[\"maxPagesCount\",\"pageCount\",\"pageIndex\",\"pageIndexChange\"];function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}(e)||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 _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var v=function(e){var t=e.pages.map((function(e){var t=e.key,n=e.pageProps;return n?(0,o.createComponentVNode)(2,r.Page,{index:n.index,selected:n.selected,onClick:n.onClick},t):(0,o.createVNode)(1,\"div\",\"dx-separator\",\". . .\",16,null,t)}));return(0,o.createFragment)(t,0)};t.viewFunction=v;function y(e,t,n){return 1===e?\"high\":e+t===n-1?\"low\":\"both\"}function b(e,t,n){var i=[],o=[];switch(n){case\"none\":i=m(e);break;case\"both\":i=[0,\"low\"].concat(m(e),[\"high\",t-1]),o=e.slice(1,-1);break;case\"high\":i=[0].concat(m(e),[\"high\",t-1]),o=e.slice(0,-1);break;case\"low\":i=[0,\"low\"].concat(m(e),[t-1]),o=e.slice(1)}return{slidingWindowIndexes:e,indexesForReuse:o,pageIndexes:i}}function x(e,t,n,i){for(var o=[],a=0;a<t;a+=1)o.push(a+e);return b(o,n,i)}var w=Object.defineProperties({},{pageIndex:{get:function(){return s.InternalPagerProps.pageIndex},configurable:!0,enumerable:!0},maxPagesCount:{get:function(){return s.InternalPagerProps.maxPagesCount},configurable:!0,enumerable:!0},pageCount:{get:function(){return s.InternalPagerProps.pageCount},configurable:!0,enumerable:!0}}),C=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.canReuseSlidingWindow=n.canReuseSlidingWindow.bind(p(n)),n.generatePageIndexes=n.generatePageIndexes.bind(p(n)),n.isSlidingWindowMode=n.isSlidingWindowMode.bind(p(n)),n.onPageClick=n.onPageClick.bind(p(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var o,a,r,s=i.prototype;return s.canReuseSlidingWindow=function(e,t){var n=this.slidingWindowState.indexesForReuse,i=n.slice(-1)[0]<e-1,o=n.includes(t);return i&&o},s.generatePageIndexes=function(){var e=this.props,t=e.pageCount,n=e.pageIndex,i=0,o=this.slidingWindowState.slidingWindowIndexes,a=x(i=n===o[0]?n-1:n===o[o.length-1]?n+2-4:n<4?1:n>=t-4?t-4-1:n-1,4,t,y(i,4,t)),r=a.pageIndexes,s=h(a,u);return this.slidingWindowStateHolder=s,r},s.isSlidingWindowMode=function(){var e=this.props,t=e.maxPagesCount,n=e.pageCount;return n<=4||n<=t},s.onPageClick=function(e){this.props.pageIndexChange(e)},s.render=function(){var e=this.props;return v({props:c({},e),config:this.config,pageIndexes:this.pageIndexes,pages:this.pages,restAttributes:this.restAttributes})},o=i,(a=[{key:\"config\",get:function(){return this.context[l.ConfigContext.id]?this.context[l.ConfigContext.id]:l.ConfigContext.defaultValue}},{key:\"slidingWindowState\",get:function(){var e=this.slidingWindowStateHolder;return e||{indexesForReuse:[],slidingWindowIndexes:[]}}},{key:\"pageIndexes\",get:function(){var e=this.props.pageCount;if(this.isSlidingWindowMode())return x(0,e,e,\"none\").pageIndexes;if(this.canReuseSlidingWindow(e,this.props.pageIndex)){var t=this.slidingWindowState.slidingWindowIndexes;return b(t,e,y(t[0],4,e)).pageIndexes}return this.generatePageIndexes()}},{key:\"pages\",get:function(){var e,t=this,n=this.props.pageIndex;return(null!==(e=this.config)&&void 0!==e&&e.rtlEnabled?m(this.pageIndexes).reverse():this.pageIndexes).map((function(e){return function(e){var i=\"low\"===e||\"high\"===e?null:{index:e,onClick:function(){return t.onPageClick(e)},selected:n===e};return{key:e.toString(),pageProps:i}}(e)}))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.maxPagesCount,e.pageCount,e.pageIndex,e.pageIndexChange,h(e,d)}}])&&f(o.prototype,a),r&&f(o,r),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.PagesLarge=C,C.defaultProps=w},48402:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PageProps=t.Page=void 0;var o,a=n(55285),r=n(44105),s=n(93961),l=n(39853),u=n(86237),d=(o=n(28109))&&o.__esModule?o:{default:o},c=n(68752),h=[\"className\",\"index\",\"onClick\",\"selected\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t,n){return(t=_(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,_(i.key),i)}}function _(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=function(e){var t=e.className,n=e.label,i=e.props,o=i.onClick,r=i.selected,l=e.value;return(0,a.createComponentVNode)(2,s.LightButton,{className:t,label:n,onClick:o,selected:r,children:l})};t.viewFunction=y;var b={index:0,selected:!1,className:l.PAGER_PAGE_CLASS};t.PageProps=b;var x=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n),r.prototype.render=function(){var e=this.props;return y({props:g({},e),label:this.label,value:this.value,className:this.className,restAttributes:this.restAttributes})},i=r,(o=[{key:\"label\",get:function(){return(0,c.format)(d.default.getFormatter(\"dxPager-page\"),this.value)}},{key:\"value\",get:function(){return this.props.index+1}},{key:\"className\",get:function(){var e,t=this.props.selected;return(0,u.combineClasses)((p(e={},\"\".concat(this.props.className),!!this.props.className),p(e,l.PAGER_SELECTION_CLASS,!!t),e))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.index,e.onClick,e.selected,f(e,h)}}])&&m(i.prototype,o),a&&m(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.Page=x,x.defaultProps=b},32854:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PageIndexSelectorProps=t.PageIndexSelector=t.PAGER_BUTTON_DISABLE_CLASS=void 0;var o,a=n(55285),r=n(44105),s=n(93961),l=n(40586),u=n(50570),d=n(96529),c=n(49697),h=(o=n(28109))&&o.__esModule?o:{default:o},f=[\"hasKnownLastPage\",\"isLargeDisplayMode\",\"maxPagesCount\",\"pageCount\",\"pageIndex\",\"pageIndexChange\",\"pagesCountText\",\"showNavigationButtons\",\"totalCount\"];function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function m(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function _(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.PAGER_BUTTON_DISABLE_CLASS=\"dx-button-disable\";var y={nextEnabledClass:\"\".concat(\"dx-navigate-button\",\" \").concat(\"dx-next-button\"),prevEnabledClass:\"\".concat(\"dx-navigate-button\",\" \").concat(\"dx-prev-button\"),nextDisabledClass:\"\".concat(\"dx-button-disable\",\" \").concat(\"dx-navigate-button\",\" \").concat(\"dx-next-button\"),prevDisabledClass:\"\".concat(\"dx-button-disable\",\" \").concat(\"dx-navigate-button\",\" \").concat(\"dx-prev-button\")},b={next:\"prev\",prev:\"next\"},x=function(e){var t=e.nextButtonProps,n=e.pageIndexChange,i=e.prevButtonProps,o=e.props,r=o.isLargeDisplayMode,d=o.maxPagesCount,c=o.pageCount,f=o.pageIndex,p=o.pagesCountText,g=e.renderNextButton,m=e.renderPrevButton;return(0,a.createFragment)([m&&(0,a.createComponentVNode)(2,s.LightButton,{label:h.default.getFormatter(\"dxPager-prevPage\")(),className:i.className,tabIndex:i.tabIndex,onClick:i.navigate}),r&&(0,a.createComponentVNode)(2,l.PagesLarge,{maxPagesCount:d,pageCount:c,pageIndex:f,pageIndexChange:n}),!r&&(0,a.createComponentVNode)(2,u.PagesSmall,{pageCount:c,pageIndex:f,pageIndexChange:n,pagesCountText:p}),g&&(0,a.createComponentVNode)(2,s.LightButton,{label:h.default.getFormatter(\"dxPager-nextPage\")(),className:t.className,tabIndex:t.tabIndex,onClick:t.navigate})],0)};t.viewFunction=x;var w={isLargeDisplayMode:!0};t.PageIndexSelectorProps=w;var C=Object.defineProperties({},{pageIndex:{get:function(){return d.InternalPagerProps.pageIndex},configurable:!0,enumerable:!0},maxPagesCount:{get:function(){return d.InternalPagerProps.maxPagesCount},configurable:!0,enumerable:!0},pageCount:{get:function(){return d.InternalPagerProps.pageCount},configurable:!0,enumerable:!0},hasKnownLastPage:{get:function(){return d.InternalPagerProps.hasKnownLastPage},configurable:!0,enumerable:!0},showNavigationButtons:{get:function(){return d.InternalPagerProps.showNavigationButtons},configurable:!0,enumerable:!0},totalCount:{get:function(){return d.InternalPagerProps.totalCount},configurable:!0,enumerable:!0},isLargeDisplayMode:{get:function(){return w.isLargeDisplayMode},configurable:!0,enumerable:!0}}),S=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n.pageIndexChange=n.pageIndexChange.bind(_(n)),n.getButtonProps=n.getButtonProps.bind(_(n)),n.canNavigateToPage=n.canNavigateToPage.bind(_(n)),n.getNextPageIndex=n.getNextPageIndex.bind(_(n)),n.canNavigateTo=n.canNavigateTo.bind(_(n)),n.navigateToPage=n.navigateToPage.bind(_(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var o,a,r,s=i.prototype;return s.pageIndexChange=function(e){this.canNavigateToPage(e)&&this.props.pageIndexChange(e)},s.getButtonProps=function(e){var t,n=this,i=null!==(t=this.config)&&void 0!==t&&t.rtlEnabled?b[e]:e,o=this.canNavigateTo(i);return{className:y[\"\".concat(e).concat(o?\"Enabled\":\"Disabled\",\"Class\")],tabIndex:o?0:-1,navigate:function(){return n.navigateToPage(i)}}},s.canNavigateToPage=function(e){return this.props.hasKnownLastPage?e>=0&&e<=this.props.pageCount-1:e>=0},s.getNextPageIndex=function(e){return this.props.pageIndex+function(e){return\"next\"===e?1:-1}(e)},s.canNavigateTo=function(e){return this.canNavigateToPage(this.getNextPageIndex(e))},s.navigateToPage=function(e){this.pageIndexChange(this.getNextPageIndex(e))},s.componentWillUpdate=function(e,t,n){this.context[c.ConfigContext.id]===n[c.ConfigContext.id]&&this.props.hasKnownLastPage===e.hasKnownLastPage&&this.props.pageCount===e.pageCount&&this.props.pageIndex===e.pageIndex&&this.props.pageIndexChange===e.pageIndexChange||(this.__getterCache.prevButtonProps=void 0),this.context[c.ConfigContext.id]===n[c.ConfigContext.id]&&this.props.hasKnownLastPage===e.hasKnownLastPage&&this.props.pageCount===e.pageCount&&this.props.pageIndex===e.pageIndex&&this.props.pageIndexChange===e.pageIndexChange||(this.__getterCache.nextButtonProps=void 0)},s.render=function(){var e=this.props;return x({props:g({},e),config:this.config,pageIndexChange:this.pageIndexChange,renderPrevButton:this.renderPrevButton,renderNextButton:this.renderNextButton,prevButtonProps:this.prevButtonProps,nextButtonProps:this.nextButtonProps,restAttributes:this.restAttributes})},o=i,(a=[{key:\"config\",get:function(){return this.context[c.ConfigContext.id]?this.context[c.ConfigContext.id]:c.ConfigContext.defaultValue}},{key:\"renderPrevButton\",get:function(){var e=this.props,t=e.isLargeDisplayMode,n=e.showNavigationButtons;return!t||n}},{key:\"renderNextButton\",get:function(){return this.renderPrevButton||!this.props.hasKnownLastPage}},{key:\"prevButtonProps\",get:function(){var e=this;return void 0!==this.__getterCache.prevButtonProps?this.__getterCache.prevButtonProps:this.__getterCache.prevButtonProps=e.getButtonProps(\"prev\")}},{key:\"nextButtonProps\",get:function(){var e=this;return void 0!==this.__getterCache.nextButtonProps?this.__getterCache.nextButtonProps:this.__getterCache.nextButtonProps=e.getButtonProps(\"next\")}},{key:\"restAttributes\",get:function(){var e=this.props;return e.hasKnownLastPage,e.isLargeDisplayMode,e.maxPagesCount,e.pageCount,e.pageIndex,e.pageIndexChange,e.pagesCountText,e.showNavigationButtons,e.totalCount,p(e,f)}}])&&m(o.prototype,a),r&&m(o,r),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.BaseInfernoComponent);t.PageIndexSelector=S,S.defaultProps=C},50570:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.PagesSmall=t.PagerSmallProps=void 0;var o,a=n(55285),r=n(44105),s=n(48402),l=n(57495),u=n(15560),d=(o=n(28109))&&o.__esModule?o:{default:o},c=n(7750),h=n(95116),f=n(96529),p=[\"inputAttr\",\"pageCount\",\"pageIndex\",\"pageIndexChange\",\"pagesCountText\"];function g(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function _(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function v(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function y(e,t){return(y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var b=\"\".concat(l.PAGER_INFO_CLASS,\"  dx-info-text\"),x=function(e){var t=e.pageIndexRef,n=e.pagesCountText,i=e.props,o=i.inputAttr,r=i.pageCount,l=e.selectLastPageIndex,d=e.value,c=e.valueChange,h=e.width;return(0,a.createVNode)(1,\"div\",\"dx-light-pages\",[(0,a.createComponentVNode)(2,u.NumberBox,{className:\"dx-page-index\",min:1,max:r,width:h,value:d,valueChange:c,inputAttr:o}),(0,a.createVNode)(1,\"span\",b,n,0),(0,a.createComponentVNode)(2,s.Page,{className:\"dx-pages-count\",selected:!1,index:r-1,onClick:l})],4,null,null,t)};t.viewFunction=x;var w={inputAttr:Object.freeze({\"aria-label\":d.default.format(\"dxPager-ariaPageNumber\")})};t.PagerSmallProps=w;var C=Object.defineProperties({},{pageIndex:{get:function(){return f.InternalPagerProps.pageIndex},configurable:!0,enumerable:!0},pageCount:{get:function(){return f.InternalPagerProps.pageCount},configurable:!0,enumerable:!0},inputAttr:{get:function(){return w.inputAttr},configurable:!0,enumerable:!0}}),S=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).pageIndexRef=(0,a.createRef)(),n.state={minWidth:10},n.updateWidth=n.updateWidth.bind(v(n)),n.selectLastPageIndex=n.selectLastPageIndex.bind(v(n)),n.valueChange=n.valueChange.bind(v(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,y(t,n);var o,s,l,u=i.prototype;return u.createEffects=function(){return[new r.InfernoEffect(this.updateWidth,[this.state.minWidth])]},u.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.state.minWidth])},u.updateWidth=function(){var e,t=null===(e=this.pageIndexRef.current)||void 0===e?void 0:e.querySelector(\".\".concat(\"dx-page-index\"));this.setState((function(e){return{minWidth:t&&(0,h.getElementMinWidth)(t)||e.minWidth}}))},u.selectLastPageIndex=function(){this.props.pageIndexChange(this.props.pageCount-1)},u.valueChange=function(e){this.props.pageIndexChange(e-1)},u.render=function(){var e=this.props;return x({props:m({},e),pageIndexRef:this.pageIndexRef,value:this.value,width:this.width,pagesCountText:this.pagesCountText,selectLastPageIndex:this.selectLastPageIndex,valueChange:this.valueChange,restAttributes:this.restAttributes})},o=i,(s=[{key:\"value\",get:function(){return this.props.pageIndex+1}},{key:\"width\",get:function(){var e=this.props.pageCount;return(0,c.calculateValuesFittedWidth)(this.state.minWidth,[e])}},{key:\"pagesCountText\",get:function(){var e;return(null!==(e=this.props.pagesCountText)&&void 0!==e?e:\"\")||d.default.getFormatter(\"dxPager-pagesCountText\")()}},{key:\"restAttributes\",get:function(){var e=this.props;return e.inputAttr,e.pageCount,e.pageIndex,e.pageIndexChange,e.pagesCountText,g(e,p)}}])&&_(o.prototype,s),l&&_(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.PagesSmall=S,S.defaultProps=C},97239:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.ResizableContainerProps=t.ResizableContainer=void 0,t.calculateInfoTextVisible=v,t.calculateLargeDisplayMode=_,t.viewFunction=void 0;var o,a=n(55285),r=n(44105),s=(o=n(55814))&&o.__esModule?o:{default:o},l=n(95116),u=n(35922),d=[\"contentTemplate\",\"pagerProps\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.contentAttributes,n=e.infoTextRef,i=e.infoTextVisible,o=e.isLargeDisplayMode,a=e.pageSizesRef,r=e.pagesRef,s=e.parentRef;return(0,e.props.contentTemplate)(g({rootElementRef:s,pageSizesRef:a,infoTextRef:n,pagesRef:r,infoTextVisible:i,isLargeDisplayMode:o},t))};function _(e){var t=e.pageSizes,n=e.pages;return e.parent-(t+n)>0}function v(e){var t=e.info,n=e.pageSizes,i=e.pages;return e.parent-(n+i+t)>0}t.viewFunction=m;var y={};t.ResizableContainerProps=y;var b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).parentRef=(0,a.createRef)(),n.pageSizesRef=(0,a.createRef)(),n.infoTextRef=(0,a.createRef)(),n.pagesRef=(0,a.createRef)(),n.actualIsLargeDisplayMode=!0,n.actualInfoTextVisible=!0,n.state={infoTextVisible:!0,isLargeDisplayMode:!0},n.subscribeToResize=n.subscribeToResize.bind(f(n)),n.effectUpdateChildProps=n.effectUpdateChildProps.bind(f(n)),n.updateAdaptivityProps=n.updateAdaptivityProps.bind(f(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var o,y,b,x=i.prototype;return x.createEffects=function(){return[new r.InfernoEffect(this.subscribeToResize,[this.state.infoTextVisible,this.state.isLargeDisplayMode]),new r.InfernoEffect(this.effectUpdateChildProps,[this.props,this.state.infoTextVisible,this.state.isLargeDisplayMode,this.props.pagerProps,this.props.contentTemplate])]},x.updateEffects=function(){var e,t;null===(e=this._effects[0])||void 0===e||e.update([this.state.infoTextVisible,this.state.isLargeDisplayMode]),null===(t=this._effects[1])||void 0===t||t.update([this.props,this.state.infoTextVisible,this.state.isLargeDisplayMode,this.props.pagerProps,this.props.contentTemplate])},x.subscribeToResize=function(){var e=this,t=function(){e.parentWidth>0&&e.updateAdaptivityProps()};return s.default.add(t),function(){s.default.remove(t)}},x.effectUpdateChildProps=function(){this.parentWidth>0&&this.updateAdaptivityProps()},x.updateAdaptivityProps=function(){var e,t,n,i,o,a,r,s,d,c=this,h=(e={parent:this.parentRef.current,pageSizes:this.pageSizesRef.current,info:this.infoTextRef.current,pages:this.pagesRef.current},t=e.info,n=e.pageSizes,i=e.pages,o=e.parent,a=(0,l.getElementContentWidth)(o),r=(0,l.getElementWidth)(n),s=(0,l.getElementWidth)(t),d=(0,l.getElementWidth)(i),{parent:a,pageSizes:r,info:s+(0,l.getElementStyle)(\"marginLeft\",t)+(0,l.getElementStyle)(\"marginRight\",t),pages:d});if(this.actualInfoTextVisible===this.state.infoTextVisible&&this.actualIsLargeDisplayMode===this.state.isLargeDisplayMode){var f=!(0,u.isDefined)(this.elementsWidth);f&&(this.elementsWidth={}),(f||this.state.isLargeDisplayMode)&&(this.elementsWidth.pageSizes=h.pageSizes,this.elementsWidth.pages=h.pages),(f||this.state.infoTextVisible)&&(this.elementsWidth.info=h.info),this.actualIsLargeDisplayMode=_(g({parent:h.parent},{pageSizes:this.elementsWidth.pageSizes,pages:this.elementsWidth.pages})),this.actualInfoTextVisible=v(g({},h,{info:this.elementsWidth.info})),this.setState((function(e){return{infoTextVisible:c.actualInfoTextVisible}})),this.setState((function(e){return{isLargeDisplayMode:c.actualIsLargeDisplayMode}}))}},x.render=function(){var e,t=this.props;return m({props:g({},t,{contentTemplate:(e=t.contentTemplate,e&&(e.defaultProps?function(t){return(0,a.normalizeProps)((0,a.createComponentVNode)(2,e,g({},t)))}:e))}),infoTextVisible:this.state.infoTextVisible,isLargeDisplayMode:this.state.isLargeDisplayMode,parentRef:this.parentRef,pageSizesRef:this.pageSizesRef,infoTextRef:this.infoTextRef,pagesRef:this.pagesRef,contentAttributes:this.contentAttributes,parentWidth:this.parentWidth,updateAdaptivityProps:this.updateAdaptivityProps,restAttributes:this.restAttributes})},o=i,(y=[{key:\"contentAttributes\",get:function(){var e=this.props.pagerProps,t=e.className,n=e.displayMode,i=e.gridCompatibility,o=e.hasKnownLastPage,a=e.infoText,r=e.label,s=e.lightModeEnabled,l=e.maxPagesCount,u=e.onKeyDown,d=e.pageCount,c=e.pageIndex,h=e.pageIndexChange,f=e.pageSize,p=e.pageSizeChange,m=e.pageSizes,_=e.pagesCountText,v=e.pagesNavigatorVisible,y=e.rtlEnabled,b=e.showInfo,x=e.showNavigationButtons,w=e.showPageSizes,C=e.totalCount,S=e.visible;return g({},this.restAttributes,{pageSize:f,pageIndex:c,pageIndexChange:h,pageSizeChange:p,gridCompatibility:i,className:t,showInfo:b,infoText:a,lightModeEnabled:s,displayMode:n,maxPagesCount:l,pageCount:d,pagesCountText:_,visible:S,hasKnownLastPage:o,pagesNavigatorVisible:v,showPageSizes:w,pageSizes:m,rtlEnabled:y,showNavigationButtons:x,totalCount:C,onKeyDown:u,label:r})}},{key:\"parentWidth\",get:function(){return this.parentRef.current?(0,l.getElementWidth)(this.parentRef.current):0}},{key:\"restAttributes\",get:function(){var e=this.props;return e.contentTemplate,e.pagerProps,c(e,d)}}])&&h(o.prototype,y),b&&h(o,b),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.ResizableContainer=b,b.defaultProps=y},7750:function(e,t){function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.calculateValuesFittedWidth=function(e,t){return e+10*Math.max.apply(Math,(i=t,function(e){if(Array.isArray(e))return n(e)}(i)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(i)||function(e,t){if(e){if(\"string\"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(e,t):void 0}}(i)||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.\")}())).toString().length;var i},t.oneDigitWidth=void 0;t.oneDigitWidth=10},95116:function(e,t,n){t.getElementContentWidth=function(e){var t=r(\"paddingLeft\",e)+r(\"paddingRight\",e);return r(\"width\",e)-t},t.getElementMinWidth=function(e){return r(\"minWidth\",e)},t.getElementStyle=r,t.getElementWidth=function(e){var t=r(\"marginLeft\",e)+r(\"marginRight\",e),n=r(\"width\",e);return t+n};var i,o=(i=n(89357))&&i.__esModule?i:{default:i},a=n(78461);function r(e,t){var n,i=null!==(n=(0,o.default)(t))&&void 0!==n?n:{};return(0,a.toNumber)(i[e])}},19234:function(e,t,n){t.getAreaFromObject=t.getAreaFromElement=t.filterOffsets=t.borderWidthStyles=void 0,t.getDragOffsets=function(e,t,n){var o=(0,a.getOuterWidth)(t),r=(0,a.getOuterHeight)(t),s=(0,a.getOffset)(t),l=e.offset,u=(0,i.isWindow)(n),d={scrollX:u?n.pageXOffset:0,scrollY:u?n.pageYOffset:0};return{maxLeftOffset:s.left-l.left-d.scrollX,maxRightOffset:l.left+e.width-s.left-o+d.scrollX,maxTopOffset:s.top-l.top-d.scrollY,maxBottomOffset:l.top+e.height-s.top-r+d.scrollY}},t.getMovingSides=void 0;var i=n(35922),o=n(13306),a=n(58664),r={left:\"borderLeftWidth\",top:\"borderTopWidth\",right:\"borderRightWidth\",bottom:\"borderBottomWidth\"};function s(e,t){if(!(0,i.isWindow)(e)){var n=e.style[r[t]];return parseInt(n,10)||0}return 0}t.borderWidthStyles=r;var l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=e.height,o=e.offset,r=e.width,l=o.left,u=o.top,d=n?s(n,\"left\"):0,c=n?s(n,\"top\"):0;return{width:r-(0,a.getOuterWidth)(t)-(0,a.getInnerWidth)(t),height:i-(0,a.getOuterHeight)(t)-(0,a.getInnerHeight)(t),offset:{left:l+d+s(t,\"left\"),top:u+c+s(t,\"top\")}}};t.getAreaFromElement=function(e,t){return l({width:(0,a.getInnerWidth)(e),height:(0,a.getInnerHeight)(e),offset:(0,o.extend)({top:0,left:0},(0,i.isWindow)(e)?{}:(0,a.getOffset)(e))},t,e)};t.getAreaFromObject=function(e,t){var n=e.bottom,i=e.left,o=e.right,a=e.top;return l({width:o-i,height:n-a,offset:{left:i,top:a}},t)};var u=function(e){var t=e.className,n=t.includes(\"dx-resizable-handle-corner-top-left\"),i=t.includes(\"dx-resizable-handle-corner-top-right\"),o=t.includes(\"dx-resizable-handle-corner-bottom-left\"),a=t.includes(\"dx-resizable-handle-corner-bottom-right\");return{top:t.includes(\"dx-resizable-handle-top\")||n||i,left:t.includes(\"dx-resizable-handle-left\")||n||o,bottom:t.includes(\"dx-resizable-handle-bottom\")||o||a,right:t.includes(\"dx-resizable-handle-right\")||i||a}};t.getMovingSides=u;t.filterOffsets=function(e,t){var n=u(t);return{x:n.left||n.right?e.x:0,y:n.top||n.bottom?e.y:0}}},35905:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AppointmentProps=t.Appointment=void 0;var o=n(55285),a=n(44105),r=n(84154),s=n(33830),l=n(73687),u=n(86237),d=n(43450),c=n(32125),h=[\"appointmentTemplate\",\"groups\",\"hideReducedIconTooltip\",\"index\",\"onItemClick\",\"onItemDoubleClick\",\"showReducedIconTooltip\",\"viewModel\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _(){return(_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var v=function(e){var t=e.classes,n=e.data,i=e.dateText,r=e.isReduced,u=e.onItemClick,d=e.props,c=d.appointmentTemplate,h=d.hideReducedIconTooltip,f=d.index,p=d.showReducedIconTooltip,g=d.viewModel.info.isRecurrent,m=e.ref,v=e.styles,y=e.text;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.Widget,_({focusStateEnabled:!0,onClick:u,rootElementRef:m,style:(0,a.normalizeStyles)(v),classes:t,hint:y},{role:\"button\",\"data-index\":f},{children:(0,o.createComponentVNode)(2,s.AppointmentContent,{text:y,isReduced:r,dateText:i,isRecurrent:g,index:f,data:n,showReducedIconTooltip:p,hideReducedIconTooltip:h,appointmentTemplate:c})})))};t.viewFunction=v;var y={index:0};t.AppointmentProps=y;var b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).ref=(0,o.createRef)(),n.state={color:void 0},n.updateStylesEffect=n.updateStylesEffect.bind(g(n)),n.bindDoubleClickEffect=n.bindDoubleClickEffect.bind(g(n)),n.onItemClick=n.onItemClick.bind(g(n)),n.onItemDoubleClick=n.onItemDoubleClick.bind(g(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var s,l,y,b=i.prototype;return b.createEffects=function(){return[new a.InfernoEffect(this.updateStylesEffect,[this.props.viewModel,this.appointmentsContextValue,this.props.groups]),new a.InfernoEffect(this.bindDoubleClickEffect,[])]},b.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props.viewModel,this.appointmentsContextValue,this.props.groups])},b.updateStylesEffect=function(){var e,t=this,n=this.props.viewModel,i=null!==(e=n.info.groupIndex)&&void 0!==e?e:0,o=n.appointment;(0,d.getAppointmentColor)({resources:this.appointmentsContextValue.resources,resourceLoaderMap:this.appointmentsContextValue.resourceLoaderMap,resourcesDataAccessors:this.appointmentsContextValue.dataAccessors.resources,loadedResources:this.appointmentsContextValue.loadedResources},{itemData:o,groupIndex:i,groups:this.props.groups}).then((function(e){t.setState((function(t){return{color:e}}))})).catch((function(){return\"\"}))},b.bindDoubleClickEffect=function(){var e,t=this,n=function(){return t.onItemDoubleClick()};return null===(e=this.ref.current)||void 0===e||e.addEventListener(\"dblclick\",n),function(){var e;null===(e=t.ref.current)||void 0===e||e.removeEventListener(\"dblclick\",n)}},b.onItemClick=function(){var e={data:[this.props.viewModel],target:this.ref.current,index:this.props.index};this.props.onItemClick(e)},b.onItemDoubleClick=function(){var e={data:[this.props.viewModel],target:this.ref.current,index:this.props.index};this.props.onItemDoubleClick(e)},b.render=function(){var e,t=this.props;return v({props:_({},t,{appointmentTemplate:(e=t.appointmentTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,_({},t)))}:e))}),color:this.state.color,ref:this.ref,appointmentsContextValue:this.appointmentsContextValue,appointmentStyles:this.appointmentStyles,styles:this.styles,text:this.text,isReduced:this.isReduced,classes:this.classes,dateText:this.dateText,data:this.data,onItemClick:this.onItemClick,onItemDoubleClick:this.onItemDoubleClick,restAttributes:this.restAttributes})},s=i,(l=[{key:\"appointmentsContextValue\",get:function(){return this.context[c.AppointmentsContext.id]?this.context[c.AppointmentsContext.id]:c.AppointmentsContext.defaultValue}},{key:\"appointmentStyles\",get:function(){return(0,r.getAppointmentStyles)(this.props.viewModel)}},{key:\"styles\",get:function(){return(0,r.mergeStylesWithColor)(this.state.color,this.appointmentStyles)}},{key:\"text\",get:function(){return this.props.viewModel.appointment.text}},{key:\"isReduced\",get:function(){return!!this.props.viewModel.info.appointmentReduced}},{key:\"classes\",get:function(){var e=this.props.viewModel,t=e.focused,n=e.info,i=n.allDay,o=n.appointmentReduced,a=n.direction,r=n.isRecurrent,s=\"vertical\"===a;return(0,u.combineClasses)({\"dx-state-focused\":!!t,\"dx-scheduler-appointment\":!0,\"dx-scheduler-appointment-horizontal\":!s,\"dx-scheduler-appointment-vertical\":s,\"dx-scheduler-appointment-recurrence\":r,\"dx-scheduler-all-day-appointment\":i,\"dx-scheduler-appointment-reduced\":this.isReduced,\"dx-scheduler-appointment-head\":\"head\"===o,\"dx-scheduler-appointment-body\":\"body\"===o,\"dx-scheduler-appointment-tail\":\"tail\"===o})}},{key:\"dateText\",get:function(){return this.props.viewModel.info.dateText}},{key:\"data\",get:function(){return{appointmentData:this.props.viewModel.info.appointment,targetedAppointmentData:this.props.viewModel.appointment}}},{key:\"restAttributes\",get:function(){var e=this.props;return e.appointmentTemplate,e.groups,e.hideReducedIconTooltip,e.index,e.onItemClick,e.onItemDoubleClick,e.showReducedIconTooltip,e.viewModel,f(e,h)}}])&&p(s.prototype,l),y&&p(s,y),Object.defineProperty(s,\"prototype\",{writable:!1}),i}(a.InfernoComponent);t.Appointment=b,b.defaultProps=y},26011:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AppointmentDetailsProps=t.AppointmentDetails=void 0;var o=n(55285),a=n(44105),r=[\"dateText\"];function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t=e.props.dateText;return(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-content-details\",(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-content-date\",t,0),2)};t.viewFunction=c;var h={dateText:\"\"};t.AppointmentDetailsProps=h;var f=function(e){var t,n,i,o,a;function h(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n),h.prototype.render=function(){var e=this.props;return c({props:l({},e),restAttributes:this.restAttributes})},i=h,(o=[{key:\"restAttributes\",get:function(){var e=this.props;return e.dateText,s(e,r)}}])&&u(i.prototype,o),a&&u(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),h}(a.BaseInfernoComponent);t.AppointmentDetails=f,f.defaultProps=h},33830:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AppointmentContentProps=t.AppointmentContent=void 0;var o=n(55285),a=n(44105),r=n(26011),s=n(69190),l=[\"appointmentTemplate\",\"data\",\"dateText\",\"hideReducedIconTooltip\",\"index\",\"isRecurrent\",\"isReduced\",\"showReducedIconTooltip\",\"text\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var p=function(e){var t=e.props,n=t.appointmentTemplate,i=t.data,a=t.dateText,l=t.index,u=t.isRecurrent,d=t.isReduced,c=t.text,h=e.refReducedIcon,f=n;return(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-content\",n?f({data:i,index:l}):(0,o.createFragment)([(0,o.createComponentVNode)(2,s.AppointmentTitle,{text:c}),(0,o.createComponentVNode)(2,r.AppointmentDetails,{dateText:a}),u&&(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-recurrence-icon dx-icon-repeat\"),d&&(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-reduced-icon\",null,1,null,null,h)],0),0)};t.viewFunction=p;var g={text:\"\",dateText:\"\",isRecurrent:!1,isReduced:!1,index:0};t.AppointmentContentProps=g;var m=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.refReducedIcon=(0,o.createRef)(),n.bindHoverEffect=n.bindHoverEffect.bind(c(n)),n.onReducedIconMouseEnter=n.onReducedIconMouseEnter.bind(c(n)),n.onReducedIconMouseLeave=n.onReducedIconMouseLeave.bind(c(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var r,s,g,m=i.prototype;return m.createEffects=function(){return[new a.InfernoEffect(this.bindHoverEffect,[this.props.showReducedIconTooltip,this.props.data,this.props.hideReducedIconTooltip])]},m.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props.showReducedIconTooltip,this.props.data,this.props.hideReducedIconTooltip])},m.bindHoverEffect=function(){var e,t,n=this,i=function(){return n.onReducedIconMouseEnter()},o=function(){return n.onReducedIconMouseLeave()};return null===(e=this.refReducedIcon.current)||void 0===e||e.addEventListener(\"mouseenter\",i),null===(t=this.refReducedIcon.current)||void 0===t||t.addEventListener(\"mouseleave\",o),function(){var e,t;null===(e=n.refReducedIcon.current)||void 0===e||e.removeEventListener(\"mouseenter\",i),null===(t=n.refReducedIcon.current)||void 0===t||t.removeEventListener(\"mouseleave\",o)}},m.onReducedIconMouseEnter=function(){this.props.showReducedIconTooltip({target:this.refReducedIcon.current,endDate:this.props.data.appointmentData.endDate})},m.onReducedIconMouseLeave=function(){this.props.hideReducedIconTooltip()},m.render=function(){var e,t=this.props;return p({props:f({},t,{appointmentTemplate:(e=t.appointmentTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,f({},t)))}:e))}),refReducedIcon:this.refReducedIcon,onReducedIconMouseEnter:this.onReducedIconMouseEnter,onReducedIconMouseLeave:this.onReducedIconMouseLeave,restAttributes:this.restAttributes})},r=i,(s=[{key:\"restAttributes\",get:function(){var e=this.props;return e.appointmentTemplate,e.data,e.dateText,e.hideReducedIconTooltip,e.index,e.isRecurrent,e.isReduced,e.showReducedIconTooltip,e.text,u(e,l)}}])&&d(r.prototype,s),g&&d(r,g),Object.defineProperty(r,\"prototype\",{writable:!1}),i}(a.InfernoComponent);t.AppointmentContent=m,m.defaultProps=g},69190:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AppointmentTitleProps=t.AppointmentTitle=void 0;var o=n(55285),a=n(44105),r=[\"text\"];function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t=e.props.text;return(0,o.createVNode)(1,\"div\",\"dx-scheduler-appointment-title\",t,0)};t.viewFunction=c;var h={text:\"\"};t.AppointmentTitleProps=h;var f=function(e){var t,n,i,o,a;function h(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n),h.prototype.render=function(){var e=this.props;return c({props:l({},e),restAttributes:this.restAttributes})},i=h,(o=[{key:\"restAttributes\",get:function(){var e=this.props;return e.text,s(e,r)}}])&&u(i.prototype,o),a&&u(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),h}(a.BaseInfernoComponent);t.AppointmentTitle=f,f.defaultProps=h},55304:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=s(n(99393)),a=s(n(27135)),r=n(20695);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function s(){return e.apply(this,arguments)||this}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=s,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[],props:[\"isAllDay\"]}}},{key:\"_viewComponent\",get:function(){return r.AppointmentLayout}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.default);t.default=d,(0,o.default)(\"dxAppointmentLayout\",d),e.exports=t.default,e.exports.default=t.default},20695:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AppointmentLayoutProps=t.AppointmentLayout=void 0;var o=n(55285),a=n(44105),r=n(35905),s=n(99367),l=n(86237),u=n(32125),d=n(19828),c=[\"isAllDay\"];function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=\".dx-scheduler-appointment\",v=\"dx-scheduler-all-day-appointment\",y=\"dx-scheduler-appointment-collector\",b=function(e){var t=e.appointments,n=e.appointmentsContextValue,i=n.appointmentTemplate,a=n.groups,l=n.hideReducedIconTooltip,u=n.onAppointmentClick,d=n.onAppointmentDoubleClick,c=n.overflowIndicatorTemplate,h=n.showReducedIconTooltip,f=e.classes,p=e.layoutRef,g=e.overflowIndicators;return(0,o.createVNode)(1,\"div\",f,[t.map((function(e,t){return(0,o.createComponentVNode)(2,r.Appointment,{viewModel:e,appointmentTemplate:i,index:t,groups:a,onItemClick:u,onItemDoubleClick:d,showReducedIconTooltip:h,hideReducedIconTooltip:l},e.key)})),g.map((function(e,t){return(0,o.createComponentVNode)(2,s.OverflowIndicator,{viewModel:e,groups:a,overflowIndicatorTemplate:c,\"data-index\":t},e.key)}))],0,null,null,p)};t.viewFunction=b;var x={isAllDay:!1};t.AppointmentLayoutProps=x;var w=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.layoutRef=(0,o.createRef)(),n.__getterCache={},n.pointerEventsEffect=n.pointerEventsEffect.bind(g(n)),n.onAppointmentPointerDown=n.onAppointmentPointerDown.bind(g(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var r,s,x,w=i.prototype;return w.createEffects=function(){return[new a.InfernoEffect(this.pointerEventsEffect,[this.appointmentsContextValue]),(0,a.createReRenderEffect)()]},w.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.appointmentsContextValue])},w.pointerEventsEffect=function(){var e=this,t=(0,d.subscribeToDXPointerDownEvent)(this.layoutRef.current,(function(t){return e.onAppointmentPointerDown(t)}));return function(){t()}},w.onAppointmentPointerDown=function(e){var t=e.target.closest(_);if(t){var n=t.dataset.index,i=n?parseInt(n,10):-1,o=t.classList.contains(v),a=t.classList.contains(y),r={allDayCompact:o&&a,allDay:o&&!a,regularCompact:!o&&a,regular:!o&&!a},s=Object.entries(r).filter((function(e){return e[1]}))[0][0];this.appointmentsContextValue.updateFocusedAppointment(s,i)}},w.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.isAllDay===t.isAllDay&&this.context[u.AppointmentsContext.id]===i[u.AppointmentsContext.id]||(this.__getterCache.appointments=void 0),this.props.isAllDay===t.isAllDay&&this.context[u.AppointmentsContext.id]===i[u.AppointmentsContext.id]||(this.__getterCache.overflowIndicators=void 0)},w.render=function(){var e=this.props;return b({props:f({},e),layoutRef:this.layoutRef,appointmentsContextValue:this.appointmentsContextValue,classes:this.classes,appointments:this.appointments,overflowIndicators:this.overflowIndicators,onAppointmentPointerDown:this.onAppointmentPointerDown,restAttributes:this.restAttributes})},r=i,(s=[{key:\"appointmentsContextValue\",get:function(){return this.context[u.AppointmentsContext.id]?this.context[u.AppointmentsContext.id]:u.AppointmentsContext.defaultValue}},{key:\"classes\",get:function(){var e=this.props.isAllDay;return(0,l.combineClasses)({\"dx-scheduler-scrollable-appointments\":!e,\"dx-scheduler-all-day-appointments\":e})}},{key:\"appointments\",get:function(){var e=this;return void 0!==this.__getterCache.appointments?this.__getterCache.appointments:this.__getterCache.appointments=e.props.isAllDay?e.appointmentsContextValue.viewModel.allDay:e.appointmentsContextValue.viewModel.regular}},{key:\"overflowIndicators\",get:function(){var e=this;return void 0!==this.__getterCache.overflowIndicators?this.__getterCache.overflowIndicators:this.__getterCache.overflowIndicators=e.props.isAllDay?e.appointmentsContextValue.viewModel.allDayCompact:e.appointmentsContextValue.viewModel.regularCompact}},{key:\"restAttributes\",get:function(){var e=this.props;return e.isAllDay,h(e,c)}}])&&p(r.prototype,s),x&&p(r,x),Object.defineProperty(r,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.AppointmentLayout=w,w.defaultProps=x},99367:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.OverflowIndicatorProps=t.OverflowIndicator=void 0;var o,a=n(55285),r=n(44105),s=n(86237),l=n(36729),u=n(86553),d=(o=n(28109))&&o.__esModule?o:{default:o},c=n(32125),h=n(84154),f=[\"groups\",\"overflowIndicatorTemplate\",\"viewModel\"];function p(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _(){return(_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var v=function(e){var t=e.classes,n=e.data,i=e.props.overflowIndicatorTemplate,o=e.styles,s=e.text;return(0,a.createComponentVNode)(2,l.Button,{style:(0,r.normalizeStyles)(o),className:t,type:\"default\",stylingMode:\"contained\",children:i?i({data:n}):(0,a.createVNode)(1,\"span\",null,s,0)})};t.viewFunction=v;var y={};t.OverflowIndicatorProps=y;var b=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={color:void 0},n.updateStylesEffect=n.updateStylesEffect.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(n)),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var o,l,y,b=i.prototype;return b.createEffects=function(){return[new r.InfernoEffect(this.updateStylesEffect,[this.props.groups,this.props.viewModel,this.appointmentsContextValue])]},b.updateEffects=function(){var e;null===(e=this._effects[0])||void 0===e||e.update([this.props.groups,this.props.viewModel,this.appointmentsContextValue])},b.updateStylesEffect=function(){var e=this,t=this.props,n=t.groups,i=t.viewModel;(0,u.getIndicatorColor)(this.appointmentsContextValue,i,n).then((function(t){e.setState((function(e){return{color:t}}))}))},b.render=function(){var e,t=this.props;return v({props:_({},t,{overflowIndicatorTemplate:(e=t.overflowIndicatorTemplate,e&&(e.defaultProps?function(t){return(0,a.normalizeProps)((0,a.createComponentVNode)(2,e,_({},t)))}:e))}),color:this.state.color,appointmentsContextValue:this.appointmentsContextValue,data:this.data,text:this.text,appointmentStyles:this.appointmentStyles,styles:this.styles,classes:this.classes,restAttributes:this.restAttributes})},o=i,(l=[{key:\"appointmentsContextValue\",get:function(){return this.context[c.AppointmentsContext.id]?this.context[c.AppointmentsContext.id]:c.AppointmentsContext.defaultValue}},{key:\"data\",get:function(){return{appointmentCount:this.props.viewModel.items.settings.length,isCompact:this.props.viewModel.isCompact}}},{key:\"text\",get:function(){var e=this.props.viewModel.isCompact,t=this.data.appointmentCount;return e?\"\".concat(t):d.default.getFormatter(\"dxScheduler-moreAppointments\")(t)}},{key:\"appointmentStyles\",get:function(){return(0,u.getOverflowIndicatorStyles)(this.props.viewModel)}},{key:\"styles\",get:function(){return(0,h.mergeStylesWithColor)(this.state.color,this.appointmentStyles)}},{key:\"classes\",get:function(){return(0,s.combineClasses)({\"dx-scheduler-appointment-collector\":!0,\"dx-scheduler-appointment-collector-compact\":this.data.isCompact})}},{key:\"restAttributes\",get:function(){var e=this.props;return e.groups,e.overflowIndicatorTemplate,e.viewModel,p(e,f)}}])&&g(o.prototype,l),y&&g(o,y),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoComponent);t.OverflowIndicator=b,b.defaultProps=y},86553:function(e,t,n){t.getOverflowIndicatorStyles=t.getOverflowIndicatorColor=t.getIndicatorColor=void 0;var i=n(97205),o=n(43450);t.getOverflowIndicatorStyles=function(e){var t=e.geometry,n=t.height,o=t.left,a=t.top,r=t.width;return(0,i.addToStyles)([{attr:\"left\",value:\"\".concat(o,\"px\")},{attr:\"top\",value:\"\".concat(a,\"px\")},{attr:\"width\",value:\"\".concat(r,\"px\")},{attr:\"height\",value:\"\".concat(n,\"px\")},{attr:\"boxShadow\",value:\"inset \".concat(r,\"px 0 0 0 rgba(0, 0, 0, 0.3)\")}])};t.getOverflowIndicatorColor=function(e,t){return t.length&&0!==t.filter((function(t){return t!==e})).length?void 0:e};t.getIndicatorColor=function(e,t,n){var i,a=null!==(i=t.groupIndex)&&void 0!==i?i:0,r=t.items.settings[0].appointment;return(0,o.getAppointmentColor)({resources:e.resources,resourceLoaderMap:e.resourceLoaderMap,resourcesDataAccessors:e.dataAccessors.resources,loadedResources:e.loadedResources},{itemData:r,groupIndex:a,groups:n})}},84154:function(e,t,n){t.mergeStylesWithColor=t.getReducedIconTooltipText=t.getAppointmentStyles=t.getAppointmentKey=void 0;var i=n(97205),o=r(n(28109)),a=r(n(91500));function r(e){return e&&e.__esModule?e:{default:e}}t.getAppointmentStyles=function(e){var t=e.geometry,n=t.height,o=t.left,a=t.top,r=t.width;return(0,i.addToStyles)([{attr:\"height\",value:\"\".concat(n||50,\"px\")},{attr:\"width\",value:\"\".concat(r||50,\"px\")},{attr:\"top\",value:\"\".concat(a,\"px\")},{attr:\"left\",value:\"\".concat(o,\"px\")}])};t.getAppointmentKey=function(e){var t=e.height,n=e.left,i=e.top,o=e.width;return\"\".concat(n,\"-\").concat(i,\"-\").concat(o,\"-\").concat(t)};t.getReducedIconTooltipText=function(e){var t=o.default.format(\"dxScheduler-editorLabelEndDate\");if(!e)return t;var n=new Date(e),i=a.default.format(n,\"monthAndDay\"),r=a.default.format(n,\"year\");return\"\".concat(t,\": \").concat(i,\", \").concat(r)};t.mergeStylesWithColor=function(e,t){return e?(0,i.addToStyles)([{attr:\"backgroundColor\",value:e}],t):t}},96801:function(e,t,n){t.getAppointmentTakesAllDay=void 0;var i,o=n(35922),a=(i=n(91198))&&i.__esModule?i:{default:i};var r=function(e,t){return(t.getTime()-e.getTime())/a.default.dateToMilliseconds(\"hour\")};t.getAppointmentTakesAllDay=function(e,t,n,i){var a=function(){return e.allDay};switch(i){case\"hidden\":return!1;case\"allDay\":return a();case\"all\":default:if(a())return!0;var s=e.endDate,l=e.startDate;if(!(0,o.isDefined)(s))return!1;return r(l,s)>=24||function(e,t,n,i){var o=r(e,t),a=i-n,s=e.getHours(),l=t.getHours();return o>=a&&s===n&&l===i}(l,s,t,n)}}},51113:function(e,t,n){t.isPopupFullScreenNeeded=t.getPopupToolbarItems=t.getPopupSize=t.getMaxWidth=t.defaultAnimation=t.POPUP_WIDTH=void 0;var i=s(n(28109)),o=s(n(20530)),a=n(58664),r=n(58201);function s(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var u={DEFAULT:485,RECURRENCE:970,FULLSCREEN:1e3,MOBILE:{DEFAULT:350,FULLSCREEN:500}};t.POPUP_WIDTH=u;t.defaultAnimation={show:{type:\"pop\",duration:300,from:{scale:.55}},hide:{type:\"pop\",duration:300,to:{opacity:0,scale:.55},from:{opacity:1,scale:1}}};var d=function(){return\"desktop\"!==o.default.current().deviceType},c=\"after\",h=\"before\";t.getPopupToolbarItems=function(e,t){var n=[],a={doneButton:{shortcut:\"done\",options:{text:i.default.format(\"Done\")},location:c},cancelButton:{shortcut:\"cancel\",location:\"ios\"===o.default.current().platform?h:c}};return e&&n.push(l({},a.doneButton,{onClick:t})),n.push(a.cancelButton),n};var f=function(){var e=(0,r.getWindow)(),t=e&&(0,a.getWidth)(e);return!!t&&(d()?t<u.MOBILE.FULLSCREEN:t<u.FULLSCREEN)};t.isPopupFullScreenNeeded=f;var p=function(e){return d()?u.MOBILE.DEFAULT:e?u.RECURRENCE:u.DEFAULT};t.getMaxWidth=p;t.getPopupSize=function(e){return{fullScreen:f(),maxWidth:p(e)}}},32125:function(e,t,n){t.AppointmentsContext=void 0;var i=(0,n(44105).createContext)(void 0);t.AppointmentsContext=i},4799:function(e,t){t.VERTICAL_GROUP_ORIENTATION=t.HORIZONTAL_GROUP_ORIENTATION=void 0;t.VERTICAL_GROUP_ORIENTATION=\"vertical\";t.HORIZONTAL_GROUP_ORIENTATION=\"horizontal\"},75837:function(e,t,n){t.renovationGetCurrentView=void 0;var i=n(35922);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e,t)||function(){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 a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var r=[\"day\",\"week\",\"workWeek\",\"month\",\"timelineDay\",\"timelineWeek\",\"timelineWorkWeek\",\"timelineMonth\",\"agenda\"];t.renovationGetCurrentView=function(e,t){var n=t.find((function(t){return!!((0,i.isObject)(t)?[t.name,t.type]:[t]).includes(e)}));void 0===n&&(n=r.includes(e)?e:o(t,1)[0]);return n}},27569:function(e,t){t.getAppointmentRenderingStrategyName=void 0;t.getAppointmentRenderingStrategyName=function(e){return{day:{renderingStrategy:\"vertical\"},week:{renderingStrategy:\"week\"},workWeek:{renderingStrategy:\"week\"},month:{renderingStrategy:\"horizontalMonth\"},timelineDay:{renderingStrategy:\"horizontal\"},timelineWeek:{renderingStrategy:\"horizontal\"},timelineWorkWeek:{renderingStrategy:\"horizontal\"},timelineMonth:{renderingStrategy:\"horizontalMonthLine\"},agenda:{renderingStrategy:\"agenda\"}}[e].renderingStrategy}},31486:function(e,t,n){t.hasResourceValue=void 0;var i=n(35922),o=n(20576);t.hasResourceValue=function(e,t){return(0,i.isDefined)(e.find((function(e){return(0,o.equalByValue)(e,t)})))}},43450:function(e,t,n){t.getAppointmentColor=void 0;var i=n(31359);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}t.getAppointmentColor=function(e,t){return(0,i.getAppointmentColor)(o({},e,{dataAccessors:e.resourcesDataAccessors}),t)}},92198:function(e,t,n){t.createTimeZoneCalculator=void 0;var i,o=n(63660),a=(i=n(57880))&&i.__esModule?i:{default:i};t.createTimeZoneCalculator=function(e){return new o.TimeZoneCalculator({getClientOffset:function(e){return a.default.getClientTimezoneOffset(e)},tryGetCommonOffset:function(t){return a.default.calculateTimezoneByValue(e,t)},tryGetAppointmentOffset:function(e,t){return a.default.calculateTimezoneByValue(t,e)}})}},75296:function(e,t){var n;t.PathTimeZoneConversion=void 0,t.PathTimeZoneConversion=n,function(e){e.fromSourceToAppointment=\"toAppointment\",e.fromAppointmentToSource=\"fromAppointment\",e.fromSourceToGrid=\"toGrid\",e.fromGridToSource=\"fromGrid\"}(n||(t.PathTimeZoneConversion=n={}))},63660:function(e,t,n){t.TimeZoneCalculator=void 0;var i,o=n(35922),a=(i=n(91198))&&i.__esModule?i:{default:i},r=n(75296);var s=function(){function e(e){this.options=e}var t=e.prototype;return t.createDate=function(e,t){var n=new Date(e);switch(t.path){case r.PathTimeZoneConversion.fromSourceToAppointment:return this.getConvertedDate(n,t.appointmentTimeZone,!0,!1);case r.PathTimeZoneConversion.fromAppointmentToSource:return this.getConvertedDate(n,t.appointmentTimeZone,!0,!0);case r.PathTimeZoneConversion.fromSourceToGrid:return this.getConvertedDate(n,t.appointmentTimeZone,!1,!1);case r.PathTimeZoneConversion.fromGridToSource:return this.getConvertedDate(n,t.appointmentTimeZone,!1,!0);default:throw new Error(\"not specified pathTimeZoneConversion\")}},t.getOffsets=function(e,t){var n=-this.getClientOffset(e)/a.default.dateToMilliseconds(\"hour\"),i=this.getCommonOffset(e),r=this.getAppointmentOffset(e,t);return{client:n,common:(0,o.isDefined)(i)?i:n,appointment:\"number\"!=typeof r?n:r}},t.getConvertedDateByOffsets=function(e,t,n,i){var o=i?-1:1,a=new Date(e);return a.setMinutes(a.getMinutes()-o*(60*t)),a.setMinutes(a.getMinutes()+o*(60*n)),new Date(a)},t.getOriginStartDateOffsetInMs=function(e,t,n){return 36e5*this.getOffsetInHours(e,t,n)},t.getOffsetInHours=function(e,t,n){var i=this.getOffsets(e,t),o=i.appointment,a=i.client,r=i.common;return t&&n?o-a:t&&!n?o-r:!t&&n?r-a:0},t.getClientOffset=function(e){return this.options.getClientOffset(e)},t.getCommonOffset=function(e){return this.options.tryGetCommonOffset(e)},t.getAppointmentOffset=function(e,t){return this.options.tryGetAppointmentOffset(e,t)},t.getConvertedDate=function(e,t,n,i){var o=new Date(e.getTime()),a=this.getOffsets(o,t);return n&&t?this.getConvertedDateByOffsets(e,a.client,a.appointment,i):this.getConvertedDateByOffsets(e,a.client,a.common,i)},e}();t.TimeZoneCalculator=s},46858:function(e,t,n){t.resolveDataItems=t.getPreparedDataItems=void 0;var i=n(55523),o=n(72734),a=n(35922);t.getPreparedDataItems=function(e,t,n,r){var s=[];return null==e||e.forEach((function(e){var l,u=new Date(t.getter.startDate(e)),d=new Date(t.getter.endDate(e));(0,i.replaceWrongEndDate)(e,u,d,n,t);var c=(0,o.createAppointmentAdapter)(e,t,r),h=c.startDate&&c.calculateStartDate(\"toGrid\"),f=c.endDate&&c.calculateEndDate(\"toGrid\"),p=new RegExp(\"freq\",\"gi\"),g=c.recurrenceRule,m=!(null==g||null===(l=g.match(p))||void 0===l||!l.length),_=!(0,a.isDefined)(e.visible)||!!e.visible;h&&f&&s.push({allDay:!!c.allDay,startDate:h,startDateTimeZone:e.startDateTimeZone,endDate:f,endDateTimeZone:e.endDateTimeZone,recurrenceRule:c.recurrenceRule,recurrenceException:c.recurrenceException,hasRecurrenceRule:m,visible:_,rawAppointment:e})})),s};t.resolveDataItems=function(e){return Array.isArray(e)?e:e.data}},97601:function(e,t,n){t.default=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i};var a=function(e,t){var n=o.default.trimTime(e),i=o.default.trimTime(t);return i.setDate(i.getDate()+1),[n,i]};t.default=a,e.exports=t.default,e.exports.default=t.default},17200:function(e,t,n){t.default=void 0;var i=n(20576),o=n(13306),a=l(n(69434)),r=n(35922),s=l(n(97601));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e,t)||function(){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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===u(a)?a:String(a)),i)}var o,a}var f=0,p=1,g=function(){function e(e){this.options=e}var t,n,l,u=e.prototype;return u.makeDateFilter=function(e,t){var n=this.dataAccessors.expr,i=n.endDateExpr,o=n.recurrenceRuleExpr,a=n.startDateExpr,r=[[[i,\">=\",e],[a,\"<\",t]],\"or\",[o,\"startswith\",\"freq\"],\"or\",[[i,e],[a,e]]];return o||r.splice(1,2),r},u.combineFilters=function(e,t){var n=[];return e&&n.push(e),t&&n.push(t),this.serializeRemoteFilter(n)},u.serializeRemoteFilter=function(e){if(!Array.isArray(e))return e;var t=this.dataAccessors.expr,n=t.endDateExpr,i=t.startDateExpr,s=(0,o.extend)([],e);if((0,r.isString)(s[0])&&this.forceIsoDateParsing&&s.length>1&&(s[0]===i||s[0]===n)){var l=s[s.length-1];s[s.length-1]=a.default.serializeDate(new Date(l),this.dateSerializationFormat)}for(var u=0;u<s.length;u+=1)s[u]=this.serializeRemoteFilter(s[u]);return s},u.getUserFilter=function(e){if(this.dataSourceFilter&&!(0,i.equalByValue)(this.dataSourceFilter,e))return this.dataSourceFilter.length>0&&(0,i.equalByValue)(this.dataSourceFilter[f],e)?this.dataSourceFilter[p]:this.dataSourceFilter},u.combine=function(e,t){var n=d((0,s.default)(e,t),2),i=n[0],o=n[1],a=this.makeDateFilter(i,o),r=this.getUserFilter(a);return this.combineFilters(a,r)},t=e,(n=[{key:\"dataAccessors\",get:function(){return this.options.dataAccessors}},{key:\"dataSourceFilter\",get:function(){return this.options.dataSourceFilter}},{key:\"dateSerializationFormat\",get:function(){return this.options.dateSerializationFormat}},{key:\"forceIsoDateParsing\",get:function(){return!(0,r.isDefined)(this.options.forceIsoDateParsing)||this.options.forceIsoDateParsing}}])&&h(t.prototype,n),l&&h(t,l),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),m=function(e){return new g(e).combine(e.min,e.max)};t.default=m,e.exports=t.default,e.exports.default=t.default},74951:function(e,t,n){t.excludeFromRecurrence=void 0;var i,o=n(72734),a=(i=n(69434))&&i.__esModule?i:{default:i};function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var s=\"\".concat(\"yyyyMMddTHHmmss\",\"Z\"),l=function(e,t){var n,i,o=[];return e.recurrenceException&&o.push(e.recurrenceException),o.push((n=t,i=e.startDate,e.allDay&&n.setHours(i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()),a.default.serializeDate(n,s))),o.join()};t.excludeFromRecurrence=function(e,t,n,i){var a=(0,o.createAppointmentAdapter)(r({},e),n,i);return a.recurrenceException=l(a,t),a}},86303:function(e,t){t.Semaphore=void 0;var n=function(){function e(){this.counter=0}var t=e.prototype;return t.isFree=function(){return 0===this.counter},t.take=function(){this.counter+=1},t.release=function(){this.counter-=1,this.counter<0&&(this.counter=0)},e}();t.Semaphore=n},37009:function(e,t,n){t.default=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i};var a=function(e,t,n){for(var i=o.default.dateToMilliseconds(\"hour\"),a=o.default.trimTime(e).getTime(),r=o.default.setToDayEnd(new Date(t.getTime()-1)).getTime(),s=24*i,l=0,u=a;u<r;u+=s){var d=new Date(u);n.isSkippedDate(d)&&(l+=24)}return l};t.default=a,e.exports=t.default,e.exports.default=t.default},34854:function(e,t){function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)||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 o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.getGroupPanelData=void 0;t.getGroupPanelData=function(e,t,o,a){var r=1,s=e.map((function(e){for(var t=[],n=e.data,o=e.items,a=e.name,s=function(e){t.push.apply(t,i(o.map((function(t,i){var o=t.color,r=t.id;return{id:r,text:t.text,color:o,key:\"\".concat(e,\"_\").concat(a,\"_\").concat(r),resourceName:a,data:null==n?void 0:n[i]}}))))},l=0;l<r;l+=1)s(l);return r*=o.length,t}));return o&&(s=function(e,t){return i(new Array(t)).reduce((function(t,o,a){return e.map((function(e,o){var r=t[o]||[];return[].concat(i(r),i(e.map((function(t,i){return n({},t,{key:\"\".concat(t.key,\"_group_by_date_\").concat(a),isFirstGroupCell:0===i,isLastGroupCell:i===e.length-1})}))))}))}),[])}(s,t)),{groupPanelItems:s,baseColSpan:a}}},89206:function(e,t,n){t.calculateStartViewDate=void 0;var i=n(45985);t.calculateStartViewDate=function(e,t){var n=new Date(e);return(0,i.setOptionHour)(n,t)}},45985:function(e,t,n){t.validateDayHours=t.setOptionHour=t.isTimelineView=t.isHorizontalView=t.isDateInRange=t.isDateAndTimeView=t.getViewStartByOptions=t.getVerticalGroupCountClass=t.getTotalRowCountByCompleteData=t.getTotalCellCountByCompleteData=t.getToday=t.getStartViewDateWithoutDST=t.getStartViewDateTimeOffset=t.getHorizontalGroupCount=t.getHeaderCellText=t.getDisplayedRowCount=t.getDisplayedCellCount=t.getCellDuration=t.getCalculatedFirstDayOfWeek=t.formatWeekdayAndDay=t.formatWeekday=t.calculateViewStartDate=t.calculateIsGroupedAllDayPanel=t.calculateDayDuration=t.calculateCellIndex=void 0;var i=f(n(96688)),o=f(n(91198)),a=n(35922),r=f(n(91500)),s=f(n(57880)),l=n(43600),u=n(6324),d=n(31359),c=n(97205),h=n(67786);function f(e){return e&&e.__esModule?e:{default:e}}var p=function(e,t,n,i){return i>0?o.default.dateInRange(e,t,new Date(n.getTime()-1)):o.default.dateInRange(e,n,t,\"date\")};t.isDateInRange=p;t.setOptionHour=function(e,t){var n=new Date(e);return(0,a.isDefined)(t)?(n.setHours(t,t%1*60,0,0),n):n};t.getViewStartByOptions=function(e,t,n,i){if(!e)return new Date(t);for(var a=o.default.trimTime(i),r=a.getTime()<=t.getTime()?1:-1,s=new Date(a.getTime()+n*r);!p(t,a,s,r);)a=s,s=new Date(a.getTime()+n*r);return r>0?a:s};t.getCalculatedFirstDayOfWeek=function(e){return(0,a.isDefined)(e)?e:r.default.firstDayOfWeekIndex()};t.calculateViewStartDate=function(e){return e};t.calculateCellIndex=function(e,t,n){return t*n+e};t.getStartViewDateWithoutDST=function(e,t){var n=s.default.getDateWithoutTimezoneChange(e);return n.setHours(t),n};t.getHeaderCellText=function(e,t,n,i,o){var a=i(e,t,o);return r.default.format(a,n)};t.validateDayHours=function(e,t){if(e>=t)throw i.default.Error(\"E1058\")};t.getStartViewDateTimeOffset=function(e,t){var n=Math.floor(t);return s.default.isTimezoneChangeInDate(e)&&n!==e.getHours()?o.default.dateToMilliseconds(\"hour\"):0};var g=function(e){return r.default.getDayNames(\"abbreviated\")[e.getDay()]};t.formatWeekday=g;t.formatWeekdayAndDay=function(e){return\"\".concat(g(e),\" \").concat(r.default.format(e,\"day\"))};t.getToday=function(e,t){var n=null!=e?e:new Date;return(null==t?void 0:t.createDate(n,{path:\"toGrid\"}))||n};t.getVerticalGroupCountClass=function(e){switch(null==e?void 0:e.length){case 1:return l.VERTICAL_GROUP_COUNT_CLASSES[0];case 2:return l.VERTICAL_GROUP_COUNT_CLASSES[1];case 3:return l.VERTICAL_GROUP_COUNT_CLASSES[2];default:return}};t.isDateAndTimeView=function(e){return e!==u.VIEWS.TIMELINE_MONTH&&e!==u.VIEWS.MONTH};t.isTimelineView=function(e){return!!h.TIMELINE_VIEWS[e]};t.getHorizontalGroupCount=function(e,t){var n=(0,d.getGroupCount)(e)||1;return(0,c.isVerticalGroupingApplied)(e,t)?1:n};t.calculateIsGroupedAllDayPanel=function(e,t,n){return(0,c.isVerticalGroupingApplied)(e,t)&&n};var m=function(e,t){return t-e};t.calculateDayDuration=m;t.isHorizontalView=function(e){switch(e){case u.VIEWS.TIMELINE_DAY:case u.VIEWS.TIMELINE_WEEK:case u.VIEWS.TIMELINE_WORK_WEEK:case u.VIEWS.TIMELINE_MONTH:case u.VIEWS.MONTH:return!0;default:return!1}};var _=function(e){return e[e.length-1].length};t.getTotalCellCountByCompleteData=_;var v=function(e){return e.length};t.getTotalRowCountByCompleteData=v;t.getDisplayedCellCount=function(e,t){return null!=e?e:_(t)};t.getDisplayedRowCount=function(e,t){return null!=e?e:v(t)};t.getCellDuration=function(e,t,n,i){switch(e){case\"month\":return 36e5*m(t,n);case\"timelineMonth\":return o.default.dateToMilliseconds(\"day\");default:return 36e5*i}}},67786:function(e,t){t.VIEWS=t.TIMELINE_VIEWS=void 0;t.VIEWS={DAY:\"day\",WEEK:\"week\",WORK_WEEK:\"workWeek\",MONTH:\"month\",TIMELINE_DAY:\"timelineDay\",TIMELINE_WEEK:\"timelineWeek\",TIMELINE_WORK_WEEK:\"timelineWorkWeek\",TIMELINE_MONTH:\"timelineMonth\",AGENDA:\"agenda\"};t.TIMELINE_VIEWS={timelineDay:!0,timelineWeek:!0,timelineWorkWeek:!0,timelineMonth:!0}},58824:function(e,t,n){t.calculateStartViewDate=void 0;var i=n(45985);t.calculateStartViewDate=function(e,t,n,o){var a=(0,i.getViewStartByOptions)(n,e,o,n);return(0,i.setOptionHour)(a,t)}},19097:function(e,t,n){t.isFirstCellInMonthWithIntervalCount=t.getViewStartByOptions=t.getCellText=t.calculateStartViewDate=t.calculateCellIndex=void 0;var i=r(n(91198)),o=r(n(91500)),a=n(45985);function r(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t,n,i){if(!e)return new Date(t);for(var o=new Date(i),r=new Date(i),s=o.getTime()<=t.getTime()?1:-1,l=new Date(new Date(r.setMonth(r.getMonth()+s*n)));!(0,a.isDateInRange)(t,o,l,s);)o=new Date(l),s>0&&o.setDate(1),l=new Date(new Date(l.setMonth(l.getMonth()+s*n)));return s>0?o:l};t.getViewStartByOptions=s;t.calculateStartViewDate=function(e,t,n,o,r){var l=s(n,e,o,i.default.getFirstMonthDate(n)),u=i.default.getFirstMonthDate(l),d=(0,a.getCalculatedFirstDayOfWeek)(r),c=i.default.getFirstWeekDate(u,d);return(0,a.setOptionHour)(c,t)};t.calculateCellIndex=function(e,t,n,i){return e*i+t};var l=function(e,t){return 1===e.getDate()&&t>1};t.isFirstCellInMonthWithIntervalCount=l;t.getCellText=function(e,t){return l(e,t)?[o.default.getMonthNames(\"abbreviated\")[e.getMonth()],o.default.format(e,\"day\")].join(\" \"):o.default.format(e,\"dd\")}},75481:function(e,t,n){t.calculateStartViewDate=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985),r=n(19097);t.calculateStartViewDate=function(e,t,n,i){var s=o.default.getFirstMonthDate((0,r.getViewStartByOptions)(n,e,i,o.default.getFirstMonthDate(n)));return(0,a.setOptionHour)(s,t)}},92956:function(e,t,n){t.getDateForHeaderText=void 0;var i,o=(i=n(57880))&&i.__esModule?i:{default:i},a=n(45985);t.getDateForHeaderText=function(e,t,n){if(!o.default.isTimezoneChangeInDate(t))return t;var i=n.cellCountInDay,r=n.interval,s=n.startDayHour,l=n.startViewDate,u=(0,a.getStartViewDateWithoutDST)(l,s),d=e%i;return u.setTime(u.getTime()+d*r),u}},34279:function(e,t,n){t.getValidStartDate=t.getTimePanelCellText=t.getIntervalDuration=t.calculateViewStartDate=t.calculateStartViewDate=void 0;var i=s(n(91198)),o=s(n(91500)),a=n(45985),r=s(n(57880));function s(e){return e&&e.__esModule?e:{default:e}}t.getIntervalDuration=function(e){return 7*i.default.dateToMilliseconds(\"day\")*e};var l=function(e,t){return e?i.default.getFirstWeekDate(e,t):void 0};t.getValidStartDate=l;t.calculateStartViewDate=function(e,t,n,o,r){var s=(0,a.getCalculatedFirstDayOfWeek)(r),u=(0,a.getViewStartByOptions)(n,e,o,l(n,s)),d=i.default.getFirstWeekDate(u,s);return(0,a.setOptionHour)(d,t)};t.calculateViewStartDate=function(e,t){var n=null!=t?t:o.default.firstDayOfWeekIndex();return i.default.getFirstWeekDate(e,n)};t.getTimePanelCellText=function(e,t,n,i,s){if(e%2==0){var l=function(e,t,n,i,o){if(!r.default.isTimezoneChangeInDate(t))return t;var s=r.default.getDateWithoutTimezoneChange(n),l=new Date(s),u=Math.round(i),d=(0,a.getStartViewDateTimeOffset)(n,o);return l.setMilliseconds(l.getMilliseconds()+u*e-d),l}(e,t,n,i,s);return o.default.format(l,\"shorttime\")}return\"\"}},83866:function(e,t,n){t.isDataOnWeekend=t.getWeekendsCount=t.calculateStartViewDate=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(45985),r=n(34279);var s=function(e){var t=e.getDay();return 6===t||0===t};t.isDataOnWeekend=s;t.getWeekendsCount=function(e){return 2*Math.floor(e/7)};t.calculateStartViewDate=function(e,t,n,i,l){var u=(0,a.getViewStartByOptions)(n,e,i,(0,r.getValidStartDate)(n,l)),d=o.default.getFirstWeekDate(u,l);if(s(d)){var c=(8-d.getDay())%7;d.setDate(d.getDate()+c)}return(0,a.setOptionHour)(d,t)}},35064:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.CellBaseProps=t.CellBase=void 0;var o=n(55285),a=n(44105),r=n(97205),s=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"contentTemplateProps\",\"endDate\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isLastGroupCell\",\"startDate\",\"text\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){return(0,o.createVNode)(1,\"td\",e.classes,e.props.children,0,{\"aria-label\":e.props.ariaLabel})};t.viewFunction=h;var f={className:\"\",isFirstGroupCell:!1,isLastGroupCell:!1,startDate:Object.freeze(new Date),endDate:Object.freeze(new Date),allDay:!1,text:\"\",index:0,contentTemplateProps:Object.freeze({data:{},index:0})};t.CellBaseProps=f;var p=function(e){var t,n,i,o,a;function f(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=f).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),f.prototype.render=function(){var e=this.props;return h({props:u({},e),classes:this.classes,restAttributes:this.restAttributes})},i=f,(o=[{key:\"classes\",get:function(){var e=this.props,t=e.className,n=e.isFirstGroupCell,i=e.isLastGroupCell;return(0,r.getGroupCellClasses)(n,i,t)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.contentTemplateProps,e.endDate,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isLastGroupCell,e.startDate,e.text,l(e,s)}}])&&d(i.prototype,o),a&&d(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),f}(a.BaseInfernoComponent);t.CellBase=p,p.defaultProps=f},50307:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AllDayPanelCell=void 0;var o=n(55285),a=n(44105),r=n(8936),s=n(51430),l=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"contentTemplateProps\",\"dataCellTemplate\",\"endDate\",\"firstDayOfMonth\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isFocused\",\"isLastGroupCell\",\"isSelected\",\"otherMonth\",\"startDate\",\"text\",\"today\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){var t=e.props,n=t.className,i=t.dataCellTemplate,a=t.endDate,l=t.groupIndex,u=t.groups,d=t.index,c=t.isFirstGroupCell,h=t.isFocused,f=t.isLastGroupCell,p=t.isSelected,g=t.startDate;return(0,o.createComponentVNode)(2,s.DateTableCellBase,{className:\"\".concat(r.ALL_DAY_PANEL_CELL_CLASS,\" \").concat(n),startDate:g,endDate:a,groups:u,groupIndex:l,allDay:!0,isFirstGroupCell:c,isLastGroupCell:f,index:d,dataCellTemplate:i,isSelected:p,isFocused:h})};t.viewFunction=f;var p=function(e){var t,n,i,a,r;function s(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),s.prototype.render=function(){var e,t=this.props;return f({props:h({},t,{dataCellTemplate:(e=t.dataCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,h({},t)))}:e))}),restAttributes:this.restAttributes})},i=s,(a=[{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.contentTemplateProps,e.dataCellTemplate,e.endDate,e.firstDayOfMonth,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isFocused,e.isLastGroupCell,e.isSelected,e.otherMonth,e.startDate,e.text,e.today,u(e,l)}}])&&d(i.prototype,a),r&&d(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.BaseInfernoComponent);t.AllDayPanelCell=p,p.defaultProps=s.DateTableCellBaseProps},38201:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(15281),s=n(31863);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"dataCellTemplate\"],props:[\"viewData\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"topVirtualRowHeight\",\"bottomVirtualRowHeight\",\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"width\",\"dataCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.AllDayTable}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.DateTable);t.default=d,(0,a.default)(\"dxAllDayTable\",d),e.exports=t.default,e.exports.default=t.default},31863:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AllDayTableProps=t.AllDayTable=void 0;var o=n(55285),a=n(44105),r=n(48868),s=n(48713),l=n(71604),u=n(8936),d=[\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"bottomVirtualRowHeight\",\"dataCellTemplate\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"tableRef\",\"topVirtualRowHeight\",\"viewData\",\"width\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=e.allDayPanelData,n=e.emptyTableHeight,i=e.props,a=i.dataCellTemplate,l=i.tableRef,u=i.viewData,d=i.width;return(0,o.createComponentVNode)(2,r.Table,{className:\"dx-scheduler-all-day-table\",height:n,width:d,tableRef:l,children:(0,o.createComponentVNode)(2,s.AllDayPanelTableBody,{viewData:t,leftVirtualCellWidth:u.leftVirtualCellWidth,rightVirtualCellWidth:u.rightVirtualCellWidth,leftVirtualCellCount:u.leftVirtualCellCount,rightVirtualCellCount:u.rightVirtualCellCount,dataCellTemplate:a})})};t.viewFunction=g;var m=l.LayoutProps;t.AllDayTableProps=m;var _=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var r,s,l,m=i.prototype;return m.createEffects=function(){return[(0,a.createReRenderEffect)()]},m.componentWillUpdate=function(t,n,i){e.prototype.componentWillUpdate.call(this),this.props.viewData!==t.viewData&&(this.__getterCache.allDayPanelData=void 0)},m.render=function(){var e,t=this.props;return g({props:p({},t,{dataCellTemplate:(e=t.dataCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,p({},t)))}:e))}),allDayPanelData:this.allDayPanelData,emptyTableHeight:this.emptyTableHeight,restAttributes:this.restAttributes})},r=i,(s=[{key:\"allDayPanelData\",get:function(){var e=this;return void 0!==this.__getterCache.allDayPanelData?this.__getterCache.allDayPanelData:this.__getterCache.allDayPanelData=e.props.viewData.groupedData[0].allDayPanel}},{key:\"emptyTableHeight\",get:function(){return this.allDayPanelData?void 0:u.DefaultSizes.allDayPanelHeight}},{key:\"restAttributes\",get:function(){var e=this.props;return e.addDateTableClass,e.addVerticalSizesClassToRows,e.bottomVirtualRowHeight,e.dataCellTemplate,e.groupOrientation,e.leftVirtualCellWidth,e.rightVirtualCellWidth,e.tableRef,e.topVirtualRowHeight,e.viewData,e.width,c(e,d)}}])&&h(r.prototype,s),l&&h(r,l),Object.defineProperty(r,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.AllDayTable=_,_.defaultProps=m},48713:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AllDayPanelTableBodyProps=t.AllDayPanelTableBody=void 0;var o=n(55285),a=n(44105),r=n(14364),s=n(50307),l=n(86237),u=[\"className\",\"dataCellTemplate\",\"isVerticalGroupOrientation\",\"leftVirtualCellCount\",\"leftVirtualCellWidth\",\"rightVirtualCellCount\",\"rightVirtualCellWidth\",\"viewData\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,h(i.key),i)}}function h(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){return(0,o.createComponentVNode)(2,r.Row,{leftVirtualCellWidth:e.props.leftVirtualCellWidth,rightVirtualCellWidth:e.props.rightVirtualCellWidth,leftVirtualCellCount:e.props.leftVirtualCellCount,rightVirtualCellCount:e.props.rightVirtualCellCount,className:e.classes,children:e.props.viewData.map((function(t){var n=t.endDate,i=t.groupIndex,a=t.groups,r=t.index,l=t.isFirstGroupCell,u=t.isFocused,d=t.isLastGroupCell,c=t.isSelected,h=t.key,f=t.startDate;return(0,o.createComponentVNode)(2,s.AllDayPanelCell,{isFirstGroupCell:!e.props.isVerticalGroupOrientation&&l,isLastGroupCell:!e.props.isVerticalGroupOrientation&&d,startDate:f,endDate:n,groups:a,groupIndex:i,index:r,dataCellTemplate:e.props.dataCellTemplate,isSelected:c,isFocused:u},h)}))})};t.viewFunction=g;var m={viewData:Object.freeze([]),isVerticalGroupOrientation:!1,className:\"\",leftVirtualCellWidth:0,rightVirtualCellWidth:0};t.AllDayPanelTableBodyProps=m;var _=function(e){var t,n,i,a,r;function s(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n),s.prototype.render=function(){var e,t=this.props;return g({props:p({},t,{dataCellTemplate:(e=t.dataCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,p({},t)))}:e))}),classes:this.classes,restAttributes:this.restAttributes})},i=s,(a=[{key:\"classes\",get:function(){var e,t,n,i=this.props.className;return(0,l.combineClasses)((e={\"dx-scheduler-all-day-table-row\":!0},n=!!i,(t=h(t=i))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.dataCellTemplate,e.isVerticalGroupOrientation,e.leftVirtualCellCount,e.leftVirtualCellWidth,e.rightVirtualCellCount,e.rightVirtualCellWidth,e.viewData,d(e,u)}}])&&c(i.prototype,a),r&&c(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.BaseInfernoComponent);t.AllDayPanelTableBody=_,_.defaultProps=m},2931:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=s(n(99393)),a=s(n(27135)),r=n(7149);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function s(){return e.apply(this,arguments)||this}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=s,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[],props:[]}}},{key:\"_viewComponent\",get:function(){return r.AllDayPanelTitle}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.default);t.default=d,(0,o.default)(\"dxAllDayPanelTitle\",d),e.exports=t.default,e.exports.default=t.default},7149:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.AllDayPanelTitleProps=t.AllDayPanelTitle=void 0;var o,a=n(55285),r=n(44105),s=(o=n(28109))&&o.__esModule?o:{default:o};function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){return(0,a.createVNode)(1,\"div\",\"dx-scheduler-all-day-title\",e.text,0)};t.viewFunction=c;var h={};t.AllDayPanelTitleProps=h;var f=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var o,a,h,f=i.prototype;return f.createEffects=function(){return[(0,r.createReRenderEffect)()]},f.render=function(){var e=this.props;return c({props:l({},e),text:this.text,restAttributes:this.restAttributes})},o=i,(a=[{key:\"text\",get:function(){return s.default.format(\"dxScheduler-allDay\")}},{key:\"restAttributes\",get:function(){return l({},(function(e){if(null==e)throw new TypeError(\"Cannot destructure \"+e)}(this.props),this.props))}}])&&u(o.prototype,a),h&&u(o,h),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.InfernoWrapperComponent);t.AllDayPanelTitle=f,f.defaultProps=h},51430:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateTableCellBaseProps=t.DateTableCellBase=void 0;var o=n(55285),a=n(44105),r=n(35064),s=n(86237),l=n(8936),u=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"contentTemplateProps\",\"dataCellTemplate\",\"endDate\",\"firstDayOfMonth\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isFocused\",\"isLastGroupCell\",\"isSelected\",\"otherMonth\",\"startDate\",\"text\",\"today\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,f(i.key),i)}}function f(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.ariaLabel,n=e.classes,i=e.dataCellTemplateProps,a=e.props,s=a.children,l=a.dataCellTemplate,u=a.isFirstGroupCell,d=a.isLastGroupCell;return(0,o.createComponentVNode)(2,r.CellBase,{isFirstGroupCell:u,isLastGroupCell:d,className:n,ariaLabel:t,children:[!l&&s,!!l&&l({index:i.index,data:i.data})]})};t.viewFunction=m;var _=Object.create(Object.prototype,g(Object.getOwnPropertyDescriptors(r.CellBaseProps),Object.getOwnPropertyDescriptors({otherMonth:!1,today:!1,firstDayOfMonth:!1,isSelected:!1,isFocused:!1})));t.DateTableCellBaseProps=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var a,r,f,_=i.prototype;return _.componentWillUpdate=function(e,t,n){this.props.allDay===e.allDay&&this.props.contentTemplateProps===e.contentTemplateProps&&this.props.endDate===e.endDate&&this.props.groupIndex===e.groupIndex&&this.props.groups===e.groups&&this.props.index===e.index&&this.props.startDate===e.startDate||(this.__getterCache.dataCellTemplateProps=void 0)},_.render=function(){var e,t=this.props;return m({props:g({},t,{dataCellTemplate:(e=t.dataCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,g({},t)))}:e))}),classes:this.classes,dataCellTemplateProps:this.dataCellTemplateProps,ariaLabel:this.ariaLabel,restAttributes:this.restAttributes})},a=i,(r=[{key:\"classes\",get:function(){var e,t=this.props,n=t.allDay,i=t.className,o=t.isFocused,a=t.isSelected;return(0,s.combineClasses)((c(e={\"dx-scheduler-cell-sizes-horizontal\":!0,\"dx-scheduler-cell-sizes-vertical\":!n},l.DATE_TABLE_CELL_CLASS,!n),c(e,\"dx-state-focused\",a),c(e,\"dx-scheduler-focused-cell\",o),c(e,i,!0),e))}},{key:\"dataCellTemplateProps\",get:function(){var e,t,n,i,o,a,r,s=this;return void 0!==this.__getterCache.dataCellTemplateProps?this.__getterCache.dataCellTemplateProps:this.__getterCache.dataCellTemplateProps=(e=s.props,t=e.allDay,n=e.contentTemplateProps,i=e.endDate,o=e.groupIndex,a=e.groups,r=e.index,{data:g({startDate:e.startDate,endDate:i,groups:a,groupIndex:a?o:void 0,text:\"\",allDay:!!t||void 0},n.data),index:r})}},{key:\"ariaLabel\",get:function(){return this.props.isSelected?\"Add appointment\":void 0}},{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.contentTemplateProps,e.dataCellTemplate,e.endDate,e.firstDayOfMonth,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isFocused,e.isLastGroupCell,e.isSelected,e.otherMonth,e.startDate,e.text,e.today,d(e,u)}}])&&h(a.prototype,r),f&&h(a,f),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.DateTableCellBase=v,v.defaultProps=_},40181:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(15281),s=n(96941);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"cellTemplate\",\"dataCellTemplate\"],props:[\"cellTemplate\",\"viewData\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"topVirtualRowHeight\",\"bottomVirtualRowHeight\",\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"width\",\"dataCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.DateTableLayoutBase}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.DateTable);t.default=d,(0,a.default)(\"dxDateTableLayoutBase\",d),e.exports=t.default,e.exports.default=t.default},96941:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateTableLayoutProps=t.DateTableLayoutBase=void 0;var o=n(55285),a=n(44105),r=n(48868),s=n(13552),l=n(71604),u=n(51430),d=[\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"bottomVirtualRowHeight\",\"cellTemplate\",\"dataCellTemplate\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"tableRef\",\"topVirtualRowHeight\",\"viewData\",\"width\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=e.bottomVirtualRowHeight,n=e.classes,i=e.leftVirtualCellWidth,a=e.props,l=a.addVerticalSizesClassToRows,u=a.cellTemplate,d=a.dataCellTemplate,c=a.groupOrientation,h=a.tableRef,f=a.viewData,g=a.width,m=e.restAttributes,_=e.rightVirtualCellWidth,v=e.topVirtualRowHeight,y=e.virtualCellsCount;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,p({},m,{tableRef:h,topVirtualRowHeight:v,bottomVirtualRowHeight:t,leftVirtualCellWidth:i,rightVirtualCellWidth:_,leftVirtualCellCount:f.leftVirtualCellCount,rightVirtualCellCount:f.rightVirtualCellCount,virtualCellsCount:y,className:n,width:g,children:(0,o.createComponentVNode)(2,s.DateTableBody,{cellTemplate:u,viewData:f,dataCellTemplate:d,leftVirtualCellWidth:i,rightVirtualCellWidth:_,groupOrientation:c,addVerticalSizesClassToRows:l})})))};t.viewFunction=g;var m=Object.create(Object.prototype,p(Object.getOwnPropertyDescriptors(l.LayoutProps),Object.getOwnPropertyDescriptors({cellTemplate:u.DateTableCellBase})));t.DateTableLayoutProps=m;var _=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,p({},t)))}:e)},v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var o,r,s,l=i.prototype;return l.createEffects=function(){return[(0,a.createReRenderEffect)()]},l.render=function(){var e=this.props;return g({props:p({},e,{cellTemplate:_(e.cellTemplate),dataCellTemplate:_(e.dataCellTemplate)}),classes:this.classes,topVirtualRowHeight:this.topVirtualRowHeight,bottomVirtualRowHeight:this.bottomVirtualRowHeight,leftVirtualCellWidth:this.leftVirtualCellWidth,rightVirtualCellWidth:this.rightVirtualCellWidth,virtualCellsCount:this.virtualCellsCount,restAttributes:this.restAttributes})},o=i,(r=[{key:\"classes\",get:function(){return this.props.addDateTableClass?\"dx-scheduler-date-table\":void 0}},{key:\"topVirtualRowHeight\",get:function(){var e;return null!==(e=this.props.viewData.topVirtualRowHeight)&&void 0!==e?e:0}},{key:\"bottomVirtualRowHeight\",get:function(){var e;return null!==(e=this.props.viewData.bottomVirtualRowHeight)&&void 0!==e?e:0}},{key:\"leftVirtualCellWidth\",get:function(){var e;return null!==(e=this.props.viewData.leftVirtualCellWidth)&&void 0!==e?e:0}},{key:\"rightVirtualCellWidth\",get:function(){var e;return null!==(e=this.props.viewData.rightVirtualCellWidth)&&void 0!==e?e:0}},{key:\"virtualCellsCount\",get:function(){return this.props.viewData.groupedData[0].dateTable[0].cells.length}},{key:\"restAttributes\",get:function(){var e=this.props;return e.addDateTableClass,e.addVerticalSizesClassToRows,e.bottomVirtualRowHeight,e.cellTemplate,e.dataCellTemplate,e.groupOrientation,e.leftVirtualCellWidth,e.rightVirtualCellWidth,e.tableRef,e.topVirtualRowHeight,e.viewData,e.width,c(e,d)}}])&&h(o.prototype,r),s&&h(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.DateTableLayoutBase=v,v.defaultProps=m},13552:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateTableBodyProps=t.DateTableBody=void 0;var o=n(55285),a=n(44105),r=n(14364),s=n(48713),l=n(71604),u=n(51430),d=n(86237),c=n(8936),h=[\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"bottomVirtualRowHeight\",\"cellTemplate\",\"dataCellTemplate\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"topVirtualRowHeight\",\"viewData\",\"width\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t,n){return(t=m(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,m(i.key),i)}}function m(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var y=function(e){var t=e.props,n=t.cellTemplate,i=t.dataCellTemplate,a=t.viewData,l=e.rowClasses;return(0,o.createFragment)(a.groupedData.map((function(e){var t=e.allDayPanel,u=e.dateTable,d=e.isGroupedAllDayPanel,c=e.key;return(0,o.createFragment)([d&&(0,o.createComponentVNode)(2,s.AllDayPanelTableBody,{viewData:t,dataCellTemplate:i,isVerticalGroupOrientation:!0,leftVirtualCellWidth:a.leftVirtualCellWidth,rightVirtualCellWidth:a.rightVirtualCellWidth,leftVirtualCellCount:a.leftVirtualCellCount,rightVirtualCellCount:a.rightVirtualCellCount}),u.map((function(e){var t=e.cells,s=e.key;return(0,o.createComponentVNode)(2,r.Row,{className:l,leftVirtualCellWidth:a.leftVirtualCellWidth,rightVirtualCellWidth:a.rightVirtualCellWidth,leftVirtualCellCount:a.leftVirtualCellCount,rightVirtualCellCount:a.rightVirtualCellCount,children:t.map((function(e){var t=e.endDate,o=e.firstDayOfMonth,a=e.groupIndex,r=e.groups,s=e.index,l=e.isFirstGroupCell,u=e.isFocused,d=e.isLastGroupCell,c=e.isSelected,h=e.key,f=e.otherMonth,p=e.startDate,g=e.text,m=e.today;return n({isFirstGroupCell:l,isLastGroupCell:d,startDate:p,endDate:t,groups:r,groupIndex:a,index:s,dataCellTemplate:i,key:h,text:g,today:m,otherMonth:f,firstDayOfMonth:o,isSelected:c,isFocused:u})}))},s)}))],0,c)})),0)};t.viewFunction=y;var b=Object.create(Object.prototype,v(Object.getOwnPropertyDescriptors(l.LayoutProps),Object.getOwnPropertyDescriptors({cellTemplate:u.DateTableCellBase})));t.DateTableBodyProps=b;var x=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,v({},t)))}:e)},w=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n),r.prototype.render=function(){var e=this.props;return y({props:v({},e,{cellTemplate:x(e.cellTemplate),dataCellTemplate:x(e.dataCellTemplate)}),rowClasses:this.rowClasses,restAttributes:this.restAttributes})},i=r,(o=[{key:\"rowClasses\",get:function(){var e,t=this.props.addVerticalSizesClassToRows;return(0,d.combineClasses)((p(e={},c.DATE_TABLE_ROW_CLASS,!0),p(e,\"dx-scheduler-cell-sizes-vertical\",t),e))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.addDateTableClass,e.addVerticalSizesClassToRows,e.bottomVirtualRowHeight,e.cellTemplate,e.dataCellTemplate,e.groupOrientation,e.leftVirtualCellWidth,e.rightVirtualCellWidth,e.topVirtualRowHeight,e.viewData,e.width,f(e,h)}}])&&g(i.prototype,o),a&&g(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(a.BaseInfernoComponent);t.DateTableBody=w,w.defaultProps=b},85869:function(e,t){t.GroupPanelCellProps=void 0;var n={id:0,text:\"\",data:Object.freeze({id:0}),className:\"\"};t.GroupPanelCellProps=n},11141:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(55095),s=n(80954);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"resourceCellTemplate\"],props:[\"groups\",\"groupOrientation\",\"groupPanelData\",\"groupByDate\",\"height\",\"className\",\"resourceCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.GroupPanel}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.GroupPanelWrapper);t.default=d,(0,a.default)(\"dxGroupPanel\",d),e.exports=t.default,e.exports.default=t.default},80954:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.GroupPanelProps=t.GroupPanel=void 0;var o=n(55285),a=n(44105),r=n(97205),s=n(18266),l=n(37598),u=n(26419),d=n(4799),c=[\"className\",\"elementRef\",\"groupByDate\",\"groupOrientation\",\"groupPanelData\",\"groups\",\"height\",\"resourceCellTemplate\"];function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.isVerticalLayout,n=e.props,i=n.className,a=n.elementRef,r=n.groupPanelData,s=n.height,d=n.resourceCellTemplate,c=e.restAttributes;return t?(0,o.createComponentVNode)(2,l.GroupPanelVerticalLayout,{height:s,resourceCellTemplate:d,className:i,groupPanelData:r,elementRef:a,styles:c.style}):(0,o.createComponentVNode)(2,u.GroupPanelHorizontalLayout,{height:s,resourceCellTemplate:d,className:i,groupPanelData:r,elementRef:a,styles:c.style})};t.viewFunction=m;var _=Object.create(Object.prototype,g(Object.getOwnPropertyDescriptors(s.GroupPanelBaseProps),Object.getOwnPropertyDescriptors({groups:Object.freeze([]),groupOrientation:d.VERTICAL_GROUP_ORIENTATION})));t.GroupPanelProps=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var s,l,u,d=i.prototype;return d.createEffects=function(){return[(0,a.createReRenderEffect)()]},d.render=function(){var e,t=this.props;return m({props:g({},t,{resourceCellTemplate:(e=t.resourceCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,g({},t)))}:e))}),isVerticalLayout:this.isVerticalLayout,restAttributes:this.restAttributes})},s=i,(l=[{key:\"isVerticalLayout\",get:function(){var e=this.props,t=e.groupOrientation,n=e.groups;return(0,r.isVerticalGroupingApplied)(n,t)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.elementRef,e.groupByDate,e.groupOrientation,e.groupPanelData,e.groups,e.height,e.resourceCellTemplate,h(e,c)}}])&&f(s.prototype,l),u&&f(s,u),Object.defineProperty(s,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.GroupPanel=v,v.defaultProps=_},46833:function(e,t,n){t.GroupPanelLayoutProps=void 0;var i=n(18266).GroupPanelBaseProps;t.GroupPanelLayoutProps=i},18266:function(e,t){t.GroupPanelBaseProps=void 0;var n={groupPanelData:Object.freeze({groupPanelItems:[],baseColSpan:1}),groupByDate:!1};t.GroupPanelBaseProps=n},40725:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.GroupPanelHorizontalCellProps=t.GroupPanelHorizontalCell=void 0;var o=n(55285),a=n(44105),r=n(86237),s=n(85869),l=[\"cellTemplate\",\"className\",\"colSpan\",\"color\",\"data\",\"id\",\"index\",\"isFirstGroupCell\",\"isLastGroupCell\",\"text\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,c(i.key),i)}}function c(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var p=function(e){var t=e.classes,n=e.props,i=n.cellTemplate,a=n.colSpan,r=n.color,s=n.data,l=n.id,u=n.index,d=n.text;return(0,o.createVNode)(1,\"th\",t,(0,o.createVNode)(1,\"div\",\"dx-scheduler-group-header-content\",[!!i&&i({data:{data:s,id:l,color:r,text:d},index:u}),!i&&(0,o.createVNode)(1,\"div\",null,d,0)],0),2,{colSpan:a})};t.viewFunction=p;var g=Object.create(Object.prototype,f(Object.getOwnPropertyDescriptors(s.GroupPanelCellProps),Object.getOwnPropertyDescriptors({isFirstGroupCell:!1,isLastGroupCell:!1,colSpan:1})));t.GroupPanelHorizontalCellProps=g;var m=function(e){var t,n,i,a,s;function g(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=g).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n),g.prototype.render=function(){var e,t=this.props;return p({props:f({},t,{cellTemplate:(e=t.cellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,f({},t)))}:e))}),classes:this.classes,restAttributes:this.restAttributes})},i=g,(a=[{key:\"classes\",get:function(){var e,t,n,i=this.props,o=i.className,a=i.isFirstGroupCell,s=i.isLastGroupCell;return(0,r.combineClasses)((e={\"dx-scheduler-group-header\":!0,\"dx-scheduler-first-group-cell\":a,\"dx-scheduler-last-group-cell\":s},n=!!o,(t=c(t=o))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.cellTemplate,e.className,e.colSpan,e.color,e.data,e.id,e.index,e.isFirstGroupCell,e.isLastGroupCell,e.text,u(e,l)}}])&&d(i.prototype,a),s&&d(i,s),Object.defineProperty(i,\"prototype\",{writable:!1}),g}(a.BaseInfernoComponent);t.GroupPanelHorizontalCell=m,m.defaultProps=g},26419:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.HorizontalGroupPanelLayoutProps=t.GroupPanelHorizontalLayout=void 0;var o=n(55285),a=n(44105),r=n(61991),s=n(46833),l=[\"className\",\"elementRef\",\"groupByDate\",\"groupPanelData\",\"height\",\"resourceCellTemplate\",\"styles\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(){return(p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var g=function(e){var t=e.groupPanelItems,n=e.props.resourceCellTemplate;return(0,o.createFragment)(t.map((function(e){return(0,o.createComponentVNode)(2,r.Row,{groupItems:e,cellTemplate:n},e[0].key)})),0)};t.viewFunction=g;var m=s.GroupPanelLayoutProps;t.HorizontalGroupPanelLayoutProps=m;var _=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var a,r,s,c=i.prototype;return c.componentWillUpdate=function(e,t,n){this.props.groupPanelData!==e.groupPanelData&&(this.__getterCache.groupPanelItems=void 0)},c.render=function(){var e,t=this.props;return g({props:p({},t,{resourceCellTemplate:(e=t.resourceCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,p({},t)))}:e))}),groupPanelItems:this.groupPanelItems,restAttributes:this.restAttributes})},a=i,(r=[{key:\"groupPanelItems\",get:function(){var e,t,n,i,o=this;return void 0!==this.__getterCache.groupPanelItems?this.__getterCache.groupPanelItems:this.__getterCache.groupPanelItems=(e=o.props.groupPanelData,t=e.baseColSpan,n=e.groupPanelItems,i=n.reduceRight((function(e,i,o){var a=e,r=i.length,s=o===n.length-1?t:e[o+1],l=(o===n.length-1?r:n[o+1].length)/r;return a[o]=l*s,a}),d(new Array(n.length))),n.map((function(e,t){var n=i[t];return e.map((function(e){return p({},e,{colSpan:n})}))})))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.elementRef,e.groupByDate,e.groupPanelData,e.height,e.resourceCellTemplate,e.styles,u(e,l)}}])&&h(a.prototype,r),s&&h(a,s),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.GroupPanelHorizontalLayout=_,_.defaultProps=m},61991:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.Row=void 0;var o=n(55285),a=n(44105),r=n(40725),s=n(5930),l=[\"cellTemplate\",\"className\",\"groupItems\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){var t=e.props,n=t.cellTemplate,i=t.className,a=t.groupItems;return(0,o.createVNode)(1,\"tr\",\"dx-scheduler-group-row \".concat(i),a.map((function(e,t){var i=e.colSpan,a=e.color,s=e.data,l=e.id,u=e.isFirstGroupCell,d=e.isLastGroupCell,c=e.key,h=e.text;return(0,o.createComponentVNode)(2,r.GroupPanelHorizontalCell,{text:h,id:l,data:s,index:t,color:a,colSpan:i,isFirstGroupCell:!!u,isLastGroupCell:!!d,cellTemplate:n},c)})),0)};t.viewFunction=f;var p=function(e){var t,n,i,a,r;function s(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),s.prototype.render=function(){var e,t=this.props;return f({props:h({},t,{cellTemplate:(e=t.cellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,h({},t)))}:e))}),restAttributes:this.restAttributes})},i=s,(a=[{key:\"restAttributes\",get:function(){var e=this.props;return e.cellTemplate,e.className,e.groupItems,u(e,l)}}])&&d(i.prototype,a),r&&d(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.BaseInfernoComponent);t.Row=p,p.defaultProps=s.GroupPanelRowProps},5930:function(e,t){t.GroupPanelRowProps=void 0;var n={groupItems:Object.freeze([]),className:\"\"};t.GroupPanelRowProps=n},24914:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.GroupPanelVerticalCell=void 0;var o=n(55285),a=n(44105),r=n(85869),s=[\"cellTemplate\",\"className\",\"color\",\"data\",\"id\",\"index\",\"text\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h=function(e){var t=e.props.cellTemplate;return(0,o.createVNode)(1,\"div\",\"dx-scheduler-group-header \".concat(e.props.className),[!!e.props.cellTemplate&&t({data:{data:e.props.data,id:e.props.id,color:e.props.color,text:e.props.text},index:e.props.index}),!e.props.cellTemplate&&(0,o.createVNode)(1,\"div\",\"dx-scheduler-group-header-content\",e.props.text,0)],0)};t.viewFunction=h;var f=function(e){var t,n,i,a,r;function f(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=f).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n),f.prototype.render=function(){var e,t=this.props;return h({props:c({},t,{cellTemplate:(e=t.cellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,c({},t)))}:e))}),restAttributes:this.restAttributes})},i=f,(a=[{key:\"restAttributes\",get:function(){var e=this.props;return e.cellTemplate,e.className,e.color,e.data,e.id,e.index,e.text,l(e,s)}}])&&u(i.prototype,a),r&&u(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),f}(a.BaseInfernoComponent);t.GroupPanelVerticalCell=f,f.defaultProps=r.GroupPanelCellProps},37598:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.VerticalGroupPanelLayoutProps=t.GroupPanelVerticalLayout=void 0;var o=n(55285),a=n(44105),r=n(36415),s=n(97205),l=n(46833),u=[\"className\",\"elementRef\",\"groupByDate\",\"groupPanelData\",\"height\",\"resourceCellTemplate\",\"styles\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var p=function(e){var t=e.props,n=t.className,i=t.elementRef,s=t.groupPanelData,l=t.resourceCellTemplate,u=e.style;return(0,o.createVNode)(1,\"div\",n,(0,o.createVNode)(1,\"div\",\"dx-scheduler-group-flex-container\",s.groupPanelItems.map((function(e){return(0,o.createComponentVNode)(2,r.Row,{groupItems:e,cellTemplate:l},e[0].key)})),0),2,{style:(0,a.normalizeStyles)(u)},null,i)};t.viewFunction=p;var g=l.GroupPanelLayoutProps;t.VerticalGroupPanelLayoutProps=g;var m=function(e){var t,n,i,a,r;function l(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n),l.prototype.render=function(){var e,t=this.props;return p({props:f({},t,{resourceCellTemplate:(e=t.resourceCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,f({},t)))}:e))}),style:this.style,restAttributes:this.restAttributes})},i=l,(a=[{key:\"style\",get:function(){var e=this.props,t=e.height,n=e.styles;return(0,s.addHeightToStyle)(t,n)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.elementRef,e.groupByDate,e.groupPanelData,e.height,e.resourceCellTemplate,e.styles,d(e,u)}}])&&c(i.prototype,a),r&&c(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),l}(a.BaseInfernoComponent);t.GroupPanelVerticalLayout=m,m.defaultProps=g},36415:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.Row=void 0;var o=n(55285),a=n(44105),r=n(24914),s=n(5930),l=[\"cellTemplate\",\"className\",\"groupItems\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){return(0,o.createVNode)(1,\"div\",\"dx-scheduler-group-row \".concat(e.props.className),e.props.groupItems.map((function(t,n){var i=t.color,a=t.data,s=t.id,l=t.key,u=t.text;return(0,o.createComponentVNode)(2,r.GroupPanelVerticalCell,{text:u,id:s,data:a,index:n,color:i,cellTemplate:e.props.cellTemplate},l)})),0)};t.viewFunction=f;var p=function(e){var t,n,i,a,r;function s(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),s.prototype.render=function(){var e,t=this.props;return f({props:h({},t,{cellTemplate:(e=t.cellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,h({},t)))}:e))}),restAttributes:this.restAttributes})},i=s,(a=[{key:\"restAttributes\",get:function(){var e=this.props;return e.cellTemplate,e.className,e.groupItems,u(e,l)}}])&&d(i.prototype,a),r&&d(i,r),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.BaseInfernoComponent);t.Row=p,p.defaultProps=s.GroupPanelRowProps},11379:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.HeaderCell=void 0;var o=n(55285),a=n(44105),r=n(72923),s=[\"children\",\"className\",\"colSpan\",\"styles\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t=e.props,n=t.children,i=t.className,r=t.colSpan,s=t.styles;return(0,o.createVNode)(1,\"th\",i,n,0,{style:(0,a.normalizeStyles)(s),colSpan:r})};t.viewFunction=h;var f=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),r.prototype.render=function(){var e=this.props;return h({props:u({},e),restAttributes:this.restAttributes})},i=r,(o=[{key:\"restAttributes\",get:function(){var e=this.props;return e.children,e.className,e.colSpan,e.styles,l(e,s)}}])&&d(i.prototype,o),a&&d(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(a.BaseInfernoComponent);t.HeaderCell=f,f.defaultProps=r.CellProps},92366:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateHeaderCellProps=t.DateHeaderCell=void 0;var o=n(55285),a=n(44105),r=n(35064),s=n(86237),l=n(97205),u=n(85122),d=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"colSpan\",\"contentTemplateProps\",\"dateCellTemplate\",\"endDate\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isLastGroupCell\",\"isTimeCellTemplate\",\"isWeekDayCell\",\"splitText\",\"startDate\",\"text\",\"timeCellTemplate\",\"today\"];function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,f(i.key),i)}}function f(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.classes,n=e.props,i=n.colSpan,a=n.dateCellTemplate,r=n.groupIndex,s=n.groups,l=n.index,d=n.isTimeCellTemplate,c=n.splitText,h=n.startDate,f=n.text,p=n.timeCellTemplate,g=e.useTemplate;return(0,o.createVNode)(1,\"th\",t,g?(0,o.createFragment)([d&&p&&p({data:{date:h,text:f,groups:s,groupIndex:r},index:l}),!d&&a&&a({data:{date:h,text:f,groups:s,groupIndex:r},index:l})],0):(0,o.createComponentVNode)(2,u.DateHeaderText,{splitText:c,text:f}),0,{colSpan:i,title:f})};t.viewFunction=m;var _=Object.create(Object.prototype,g(Object.getOwnPropertyDescriptors(r.CellBaseProps),Object.getOwnPropertyDescriptors({today:!1,colSpan:1,isWeekDayCell:!1,splitText:!1,isTimeCellTemplate:!1})));t.DateHeaderCellProps=_;var v=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,g({},t)))}:e)},y=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n),r.prototype.render=function(){var e=this.props;return m({props:g({},e,{timeCellTemplate:v(e.timeCellTemplate),dateCellTemplate:v(e.dateCellTemplate)}),classes:this.classes,useTemplate:this.useTemplate,restAttributes:this.restAttributes})},i=r,(o=[{key:\"classes\",get:function(){var e,t,n,i=this.props,o=i.className,a=i.isFirstGroupCell,r=i.isLastGroupCell,u=i.isWeekDayCell,d=i.today,c=(0,s.combineClasses)((e={\"dx-scheduler-header-panel-cell\":!0,\"dx-scheduler-cell-sizes-horizontal\":!0,\"dx-scheduler-header-panel-current-time-cell\":d,\"dx-scheduler-header-panel-week-cell\":u},n=!!o,(t=f(t=o))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e));return(0,l.getGroupCellClasses)(a,r,c)}},{key:\"useTemplate\",get:function(){var e=this.props,t=e.dateCellTemplate,n=e.isTimeCellTemplate,i=e.timeCellTemplate;return!n&&!!t||n&&!!i}},{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.colSpan,e.contentTemplateProps,e.dateCellTemplate,e.endDate,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isLastGroupCell,e.isTimeCellTemplate,e.isWeekDayCell,e.splitText,e.startDate,e.text,e.timeCellTemplate,e.today,c(e,d)}}])&&h(i.prototype,o),a&&h(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(a.BaseInfernoComponent);t.DateHeaderCell=y,y.defaultProps=_},85122:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateHeaderTextProps=t.DateHeaderText=void 0;var o=n(55285),a=n(44105),r=[\"splitText\",\"text\"];function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t=e.props,n=t.splitText,i=t.text,a=e.textParts;return(0,o.createFragment)(n?a.map((function(e){return(0,o.createVNode)(1,\"span\",\"dx-scheduler-header-panel-cell-date\",e,0)})):i,0)};t.viewFunction=c;var h={text:\"\",splitText:!1};t.DateHeaderTextProps=h;var f=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var o,a,h,f=i.prototype;return f.componentWillUpdate=function(e,t,n){this.props.text!==e.text&&(this.__getterCache.textParts=void 0)},f.render=function(){var e=this.props;return c({props:l({},e),textParts:this.textParts,restAttributes:this.restAttributes})},o=i,(a=[{key:\"textParts\",get:function(){var e,t=this;return void 0!==this.__getterCache.textParts?this.__getterCache.textParts:this.__getterCache.textParts=(e=t.props.text)?e.split(\" \"):[\"\"]}},{key:\"restAttributes\",get:function(){var e=this.props;return e.splitText,e.text,s(e,r)}}])&&u(o.prototype,a),h&&u(o,h),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.DateHeaderText=f,f.defaultProps=h},35878:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.DateHeaderLayoutProps=t.DateHeaderLayout=void 0;var o,a=n(55285),r=n(44105),s=n(14364),l=n(97205),u=n(92366),d=(o=n(32586))&&o.__esModule?o:{default:o},c=[\"dateCellTemplate\",\"dateHeaderData\",\"groupByDate\",\"groupOrientation\",\"groups\",\"timeCellTemplate\"];function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=(0,d.default)().isMaterial,_=function(e){var t=e.isHorizontalGrouping,n=e.props,i=n.dateCellTemplate,o=n.dateHeaderData,r=o.dataMap,l=o.leftVirtualCellCount,d=o.leftVirtualCellWidth,c=o.rightVirtualCellCount,h=o.rightVirtualCellWidth;return(0,a.createFragment)(r.map((function(e,n){return(0,a.createComponentVNode)(2,s.Row,{className:\"dx-scheduler-header-row\",leftVirtualCellWidth:d,leftVirtualCellCount:l,rightVirtualCellWidth:h,rightVirtualCellCount:c,isHeaderRow:!0,children:e.map((function(e){var n=e.colSpan,o=e.endDate,r=e.groupIndex,s=e.groups,l=e.index,d=e.isFirstGroupCell,c=e.isLastGroupCell,h=e.key,f=e.startDate,p=e.text,g=e.today;return(0,a.createComponentVNode)(2,u.DateHeaderCell,{startDate:f,endDate:o,groups:t?s:void 0,groupIndex:t?r:void 0,today:g,index:l,text:p,isFirstGroupCell:d,isLastGroupCell:c,dateCellTemplate:i,colSpan:n,splitText:m},h)}))},n.toString())})),0)};t.viewFunction=_;var v={groupOrientation:\"horizontal\",groupByDate:!1,groups:Object.freeze([])};t.DateHeaderLayoutProps=v;var y=function(e){return e&&(e.defaultProps?function(t){return(0,a.normalizeProps)((0,a.createComponentVNode)(2,e,g({},t)))}:e)},b=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n),r.prototype.render=function(){var e=this.props;return _({props:g({},e,{dateCellTemplate:y(e.dateCellTemplate),timeCellTemplate:y(e.timeCellTemplate)}),isHorizontalGrouping:this.isHorizontalGrouping,restAttributes:this.restAttributes})},i=r,(o=[{key:\"isHorizontalGrouping\",get:function(){var e=this.props,t=e.groupByDate,n=e.groupOrientation,i=e.groups;return(0,l.isHorizontalGroupingApplied)(i,n)&&!t}},{key:\"restAttributes\",get:function(){var e=this.props;return e.dateCellTemplate,e.dateHeaderData,e.groupByDate,e.groupOrientation,e.groups,e.timeCellTemplate,h(e,c)}}])&&f(i.prototype,o),a&&f(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.DateHeaderLayout=b,b.defaultProps=v},32972:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(86214),s=n(84011);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"dateCellTemplate\",\"timeCellTemplate\",\"dateHeaderTemplate\",\"resourceCellTemplate\"],props:[\"dateHeaderData\",\"isRenderDateHeader\",\"dateCellTemplate\",\"timeCellTemplate\",\"dateHeaderTemplate\",\"groups\",\"groupOrientation\",\"groupPanelData\",\"groupByDate\",\"height\",\"className\",\"resourceCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.HeaderPanelLayout}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.HeaderPanel);t.default=d,(0,a.default)(\"dxHeaderPanelLayout\",d),e.exports=t.default,e.exports.default=t.default},84011:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.HeaderPanelLayoutProps=t.HeaderPanelLayout=void 0;var o=n(55285),a=n(44105),r=n(97205),s=n(80954),l=n(35878),u=[\"className\",\"dateCellTemplate\",\"dateHeaderData\",\"dateHeaderTemplate\",\"elementRef\",\"groupByDate\",\"groupOrientation\",\"groupPanelData\",\"groups\",\"height\",\"isRenderDateHeader\",\"resourceCellTemplate\",\"timeCellTemplate\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var p=function(e){var t=e.isHorizontalGrouping,n=e.props,i=n.dateCellTemplate,a=n.dateHeaderData,r=n.dateHeaderTemplate,l=n.groupByDate,u=n.groupOrientation,d=n.groupPanelData,c=n.groups,h=n.isRenderDateHeader,f=n.resourceCellTemplate,p=n.timeCellTemplate;return(0,o.createVNode)(1,\"thead\",null,[t&&!l&&(0,o.createComponentVNode)(2,s.GroupPanel,{groupPanelData:d,groups:c,groupByDate:l,groupOrientation:u,resourceCellTemplate:f}),h&&r({groupByDate:l,dateHeaderData:a,groupOrientation:u,groups:c,dateCellTemplate:i,timeCellTemplate:p}),l&&(0,o.createComponentVNode)(2,s.GroupPanel,{groupPanelData:d,groups:c,groupByDate:l,groupOrientation:u,resourceCellTemplate:f})],0)};t.viewFunction=p;var g=Object.create(Object.prototype,f(Object.getOwnPropertyDescriptors(s.GroupPanelProps),Object.getOwnPropertyDescriptors({isRenderDateHeader:!0,dateHeaderTemplate:l.DateHeaderLayout})));t.HeaderPanelLayoutProps=g;var m=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,f({},t)))}:e)},_=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var o,s,l,g=i.prototype;return g.createEffects=function(){return[(0,a.createReRenderEffect)()]},g.render=function(){var e=this.props;return p({props:f({},e,{dateCellTemplate:m(e.dateCellTemplate),timeCellTemplate:m(e.timeCellTemplate),dateHeaderTemplate:m(e.dateHeaderTemplate),resourceCellTemplate:m(e.resourceCellTemplate)}),isHorizontalGrouping:this.isHorizontalGrouping,restAttributes:this.restAttributes})},o=i,(s=[{key:\"isHorizontalGrouping\",get:function(){var e=this.props,t=e.groupOrientation,n=e.groups;return(0,r.isHorizontalGroupingApplied)(n,t)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.dateCellTemplate,e.dateHeaderData,e.dateHeaderTemplate,e.elementRef,e.groupByDate,e.groupOrientation,e.groupPanelData,e.groups,e.height,e.isRenderDateHeader,e.resourceCellTemplate,e.timeCellTemplate,d(e,u)}}])&&c(o.prototype,s),l&&c(o,l),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.HeaderPanelLayout=_,_.defaultProps=g},71604:function(e,t){t.LayoutProps=void 0;var n={viewData:Object.freeze({groupedData:[],leftVirtualCellCount:0,rightVirtualCellCount:0,topVirtualRowCount:0,bottomVirtualRowCount:0}),leftVirtualCellWidth:0,rightVirtualCellWidth:0,topVirtualRowHeight:0,bottomVirtualRowHeight:0,addDateTableClass:!0,addVerticalSizesClassToRows:!0};t.LayoutProps=n},72923:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.OrdinaryCell=t.CellProps=void 0;var o=n(55285),a=n(44105),r=[\"children\",\"className\",\"colSpan\",\"styles\"];function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t=e.props,n=t.children,i=t.className,r=t.colSpan,s=t.styles;return(0,o.createVNode)(1,\"td\",i,n,0,{style:(0,a.normalizeStyles)(s),colSpan:r})};t.viewFunction=c;var h={};t.CellProps=h;var f=function(e){var t,n,i,o,a;function h(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n),h.prototype.render=function(){var e=this.props;return c({props:l({},e),restAttributes:this.restAttributes})},i=h,(o=[{key:\"restAttributes\",get:function(){var e=this.props;return e.children,e.className,e.colSpan,e.styles,s(e,r)}}])&&u(i.prototype,o),a&&u(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),h}(a.BaseInfernoComponent);t.OrdinaryCell=f,f.defaultProps=h},14364:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.RowProps=t.Row=void 0;var o=n(55285),a=n(44105),r=n(87551),s=[\"children\",\"className\",\"isHeaderRow\",\"leftVirtualCellCount\",\"leftVirtualCellWidth\",\"rightVirtualCellCount\",\"rightVirtualCellWidth\",\"styles\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t=e.hasLeftVirtualCell,n=e.hasRightVirtualCell,i=e.props,s=i.children,l=i.className,u=i.isHeaderRow,d=i.leftVirtualCellCount,c=i.leftVirtualCellWidth,h=i.rightVirtualCellCount,f=i.rightVirtualCellWidth,p=i.styles;return(0,o.createVNode)(1,\"tr\",l,[t&&(0,o.createComponentVNode)(2,r.VirtualCell,{width:c,colSpan:d,isHeaderCell:u}),s,n&&(0,o.createComponentVNode)(2,r.VirtualCell,{width:f,colSpan:h,isHeaderCell:u})],0,{style:(0,a.normalizeStyles)(p)})};t.viewFunction=h;var f={className:\"\",leftVirtualCellWidth:0,rightVirtualCellWidth:0,isHeaderRow:!1};t.RowProps=f;var p=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n),r.prototype.render=function(){var e=this.props;return h({props:u({},e),hasLeftVirtualCell:this.hasLeftVirtualCell,hasRightVirtualCell:this.hasRightVirtualCell,restAttributes:this.restAttributes})},i=r,(o=[{key:\"hasLeftVirtualCell\",get:function(){return!!this.props.leftVirtualCellCount}},{key:\"hasRightVirtualCell\",get:function(){return!!this.props.rightVirtualCellCount}},{key:\"restAttributes\",get:function(){var e=this.props;return e.children,e.className,e.isHeaderRow,e.leftVirtualCellCount,e.leftVirtualCellWidth,e.rightVirtualCellCount,e.rightVirtualCellWidth,e.styles,l(e,s)}}])&&d(i.prototype,o),a&&d(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(a.BaseInfernoComponent);t.Row=p,p.defaultProps=f},48868:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.TableProps=t.Table=void 0;var o=n(55285),a=n(44105),r=n(97205),s=n(4784),l=[\"bottomVirtualRowHeight\",\"children\",\"className\",\"height\",\"leftVirtualCellCount\",\"leftVirtualCellWidth\",\"rightVirtualCellCount\",\"rightVirtualCellWidth\",\"tableRef\",\"topVirtualRowHeight\",\"virtualCellsCount\",\"width\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function c(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t=e.hasBottomVirtualRow,n=e.hasTopVirtualRow,i=e.props,r=i.bottomVirtualRowHeight,l=i.children,u=i.className,d=i.leftVirtualCellCount,c=i.leftVirtualCellWidth,h=i.rightVirtualCellCount,f=i.rightVirtualCellWidth,p=i.tableRef,g=i.topVirtualRowHeight,m=i.virtualCellsCount,_=e.style;return(0,o.createVNode)(1,\"table\",u,(0,o.createVNode)(1,\"tbody\",null,[n&&(0,o.createComponentVNode)(2,s.VirtualRow,{height:g,cellsCount:m,leftVirtualCellWidth:c,rightVirtualCellWidth:f,leftVirtualCellCount:d,rightVirtualCellCount:h}),l,t&&(0,o.createComponentVNode)(2,s.VirtualRow,{height:r,cellsCount:m,leftVirtualCellWidth:c,rightVirtualCellWidth:f,leftVirtualCellCount:d,rightVirtualCellCount:h})],0),2,{style:(0,a.normalizeStyles)(_)},null,p)};t.viewFunction=f;var p={className:\"\",topVirtualRowHeight:0,bottomVirtualRowHeight:0,leftVirtualCellWidth:0,rightVirtualCellWidth:0,virtualCellsCount:0};t.TableProps=p;var g=function(e){var t,n,i,a,s;function p(t){var n;return(n=e.call(this,t)||this).state={},n.elementRef=(0,o.createRef)(),n}return n=e,(t=p).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n),p.prototype.render=function(){var e=this.props;return f({props:d({},e),elementRef:this.elementRef,style:this.style,hasTopVirtualRow:this.hasTopVirtualRow,hasBottomVirtualRow:this.hasBottomVirtualRow,restAttributes:this.restAttributes})},i=p,(a=[{key:\"style\",get:function(){var e=this.props,t=e.height,n=e.width,i=this.restAttributes.style,o=(0,r.addHeightToStyle)(t,i);return(0,r.addWidthToStyle)(n,o)}},{key:\"hasTopVirtualRow\",get:function(){return!!this.props.topVirtualRowHeight}},{key:\"hasBottomVirtualRow\",get:function(){return!!this.props.bottomVirtualRowHeight}},{key:\"restAttributes\",get:function(){var e=this.props;return e.bottomVirtualRowHeight,e.children,e.className,e.height,e.leftVirtualCellCount,e.leftVirtualCellWidth,e.rightVirtualCellCount,e.rightVirtualCellWidth,e.tableRef,e.topVirtualRowHeight,e.virtualCellsCount,e.width,u(e,l)}}])&&c(i.prototype,a),s&&c(i,s),Object.defineProperty(i,\"prototype\",{writable:!1}),p}(a.BaseInfernoComponent);t.Table=g,g.defaultProps=p},37217:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.TimePanelCellProps=t.TimePanelCell=void 0;var o=n(55285),a=n(44105),r=n(35064),s=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"contentTemplateProps\",\"endDate\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isLastGroupCell\",\"startDate\",\"text\",\"timeCellTemplate\"];function l(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h=function(e){var t=e.props,n=t.className,i=t.isFirstGroupCell,a=t.isLastGroupCell,s=t.text,l=t.timeCellTemplate,u=e.timeCellTemplateProps;return(0,o.createComponentVNode)(2,r.CellBase,{isFirstGroupCell:i,isLastGroupCell:a,className:\"dx-scheduler-time-panel-cell dx-scheduler-cell-sizes-vertical \".concat(n),children:[!l&&(0,o.createVNode)(1,\"div\",null,s,0),!!l&&l({index:u.index,data:u.data})]})};t.viewFunction=h;var f=r.CellBaseProps;t.TimePanelCellProps=f;var p=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var a,r,f,p=i.prototype;return p.componentWillUpdate=function(e,t,n){this.props.groupIndex===e.groupIndex&&this.props.groups===e.groups&&this.props.index===e.index&&this.props.startDate===e.startDate&&this.props.text===e.text||(this.__getterCache.timeCellTemplateProps=void 0)},p.render=function(){var e,t=this.props;return h({props:c({},t,{timeCellTemplate:(e=t.timeCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,c({},t)))}:e))}),timeCellTemplateProps:this.timeCellTemplateProps,restAttributes:this.restAttributes})},a=i,(r=[{key:\"timeCellTemplateProps\",get:function(){var e,t,n,i,o=this;return void 0!==this.__getterCache.timeCellTemplateProps?this.__getterCache.timeCellTemplateProps:this.__getterCache.timeCellTemplateProps=(e=o.props,t=e.groupIndex,n=e.groups,i=e.index,{data:{date:e.startDate,groups:n,groupIndex:t,text:e.text},index:i})}},{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.contentTemplateProps,e.endDate,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isLastGroupCell,e.startDate,e.text,e.timeCellTemplate,l(e,s)}}])&&u(a.prototype,r),f&&u(a,f),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.TimePanelCell=p,p.defaultProps=f},89687:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(99503),s=n(41541);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"timeCellTemplate\"],props:[\"groupOrientation\",\"timePanelData\",\"timeCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.TimePanelTableLayout}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.TimePanel);t.default=d,(0,a.default)(\"dxTimePanelTableLayout\",d),e.exports=t.default,e.exports.default=t.default},41541:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.TimePanelTableLayout=t.TimePanelLayoutProps=void 0;var o=n(55285),a=n(44105),r=n(14364),s=n(37217),l=n(35064),u=n(48868),d=n(7149),c=[\"groupOrientation\",\"tableRef\",\"timeCellTemplate\",\"timePanelData\"];function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.bottomVirtualRowHeight,n=e.props,i=n.tableRef,a=n.timeCellTemplate,c=n.timePanelData,h=e.restAttributes,f=e.topVirtualRowHeight;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Table,g({},h,{topVirtualRowHeight:f,bottomVirtualRowHeight:t,virtualCellsCount:1,className:\"dx-scheduler-time-panel\",tableRef:i,children:c.groupedData.map((function(e){var t=e.dateTable,n=e.groupIndex,i=e.isGroupedAllDayPanel,u=e.key;return(0,o.createFragment)([i&&(0,o.createComponentVNode)(2,r.Row,{children:(0,o.createComponentVNode)(2,l.CellBase,{className:\"dx-scheduler-time-panel-title-cell\",children:(0,o.createComponentVNode)(2,d.AllDayPanelTitle)})}),t.map((function(e){var t=e.groups,i=e.index,l=e.isFirstGroupCell,u=e.isLastGroupCell,d=e.key,c=e.startDate,h=e.text;return(0,o.createComponentVNode)(2,r.Row,{className:\"dx-scheduler-time-panel-row\",children:(0,o.createComponentVNode)(2,s.TimePanelCell,{startDate:c,text:h,groups:t,groupIndex:n,isFirstGroupCell:l,isLastGroupCell:u,index:i,timeCellTemplate:a})},d)}))],0,u)}))})))};t.viewFunction=m;var _={timePanelData:Object.freeze({groupedData:[],leftVirtualCellCount:0,rightVirtualCellCount:0,topVirtualRowCount:0,bottomVirtualRowCount:0})};t.TimePanelLayoutProps=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var r,s,l,u=i.prototype;return u.createEffects=function(){return[(0,a.createReRenderEffect)()]},u.render=function(){var e,t=this.props;return m({props:g({},t,{timeCellTemplate:(e=t.timeCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,g({},t)))}:e))}),topVirtualRowHeight:this.topVirtualRowHeight,bottomVirtualRowHeight:this.bottomVirtualRowHeight,restAttributes:this.restAttributes})},r=i,(s=[{key:\"topVirtualRowHeight\",get:function(){var e;return null!==(e=this.props.timePanelData.topVirtualRowHeight)&&void 0!==e?e:0}},{key:\"bottomVirtualRowHeight\",get:function(){var e;return null!==(e=this.props.timePanelData.bottomVirtualRowHeight)&&void 0!==e?e:0}},{key:\"restAttributes\",get:function(){var e=this.props;return e.groupOrientation,e.tableRef,e.timeCellTemplate,e.timePanelData,h(e,c)}}])&&f(r.prototype,s),l&&f(r,l),Object.defineProperty(r,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.TimePanelTableLayout=v,v.defaultProps=_},57530:function(e,t,n){t.isCellAllDay=t.getTotalRowCount=t.getTotalCellCount=t.getSelectedCells=t.getRowCountWithAllDayRow=t.getHiddenInterval=t.getDateTableWidth=t.getDateForHeaderText=t.getCellIndices=t.createVirtualScrollingOptions=t.createCellElementMetaData=t.compareCellsByDateAndIndex=t.DATE_TABLE_MIN_CELL_WIDTH=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i},a=n(31359),r=n(97205),s=n(8936);function l(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e)||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 u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var d=o.default.dateToMilliseconds(\"day\"),c=o.default.dateToMilliseconds(\"hour\");t.DATE_TABLE_MIN_CELL_WIDTH=75;t.getTotalRowCount=function(e,t,n,i){var o=(0,r.isVerticalGroupingApplied)(n,t),s=(0,a.getGroupCount)(n),l=o?e*s:e;return i?l+s:l};var h=function(e,t,n){var i=(0,r.isHorizontalGroupingApplied)(n,t),o=(0,a.getGroupCount)(n);return i?e*o:e};t.getTotalCellCount=h;t.getRowCountWithAllDayRow=function(e,t){return t?e+1:e};t.getHiddenInterval=function(e,t){return d-e*t*c};t.createCellElementMetaData=function(e,t){var n=t.bottom,i=t.height,o=t.left,a=t.right,r=t.top,s=t.width,l=t.x,u=t.y;return{right:a,bottom:n,left:o-e.left,top:r-e.top,width:s,height:i,x:l,y:u}};t.getDateForHeaderText=function(e,t){return t};t.getDateTableWidth=function(e,t,n,i){var o=t.querySelector(\"td:not(.dx-scheduler-virtual-cell)\").getBoundingClientRect().width;o<75&&(o=75);var a=n.getCellCount(i),r=h(a,i.groupOrientation,i.groups)*o;return e<r?r:e};t.createVirtualScrollingOptions=function(e){return{getCellHeight:function(){return e.cellHeight},getCellWidth:function(){return e.cellWidth},getCellMinWidth:function(){return 75},isRTL:function(){return e.rtlEnabled},getSchedulerHeight:function(){return e.schedulerHeight},getSchedulerWidth:function(){return e.schedulerWidth},getViewHeight:function(){return e.viewHeight},getViewWidth:function(){return e.viewWidth},getScrolling:function(){return e.scrolling},getScrollableOuterWidth:function(){return e.scrollableWidth},getGroupCount:function(){return(0,a.getGroupCount)(e.groups)},isVerticalGrouping:function(){return e.isVerticalGrouping},getTotalRowCount:function(){return e.completeRowCount},getTotalCellCount:function(){return e.completeColumnCount},getWindowHeight:function(){return e.windowHeight},getWindowWidth:function(){return e.windowWidth}}};t.getCellIndices=function(e){var t=e.closest(\".\".concat(s.DATE_TABLE_ROW_CLASS,\", .\").concat(s.ALL_DAY_ROW_CLASS)),n=t.parentNode,i=e.parentNode;return{columnIndex:l(Array.from(i.children)).filter((function(e){return e.className.includes(s.DATE_TABLE_CELL_CLASS)||e.className.includes(s.ALL_DAY_PANEL_CELL_CLASS)})).indexOf(e),rowIndex:l(Array.from(n.children)).filter((function(e){return e.className.includes(s.DATE_TABLE_ROW_CLASS)})).indexOf(t)}};var f=function(e){var t=e.date,n=e.firstDate,i=e.firstIndex,o=e.index,a=e.lastDate,r=e.lastIndex;if(n===a){var s=i,l=r;if(s>l){var u=[l,s];s=u[0],l=u[1]}return n===t&&o>=s&&o<=l}return t===n&&o>=i||t===a&&o<=r||n<t&&t<a};t.compareCellsByDateAndIndex=f;t.getSelectedCells=function(e,t,n,i){var a=t,r=n;if(a.startDate.getTime()>r.startDate.getTime()){var s=[r,a];a=s[0],r=s[1]}var u=a,d=u.groupIndex,c=u.index,h=u.startDate,p=r,g=p.index,m=p.startDate;return e.getCellsByGroupIndexAndAllDay(null!=d?d:0,i).reduce((function(e,t){var n=function(e,t){var n=t.firstDate,i=t.firstIndex,a=t.lastDate,r=t.lastIndex,s=o.default.trimTime(n).getTime(),l=o.default.trimTime(a).getTime();return e.filter((function(e){var t=e.index,n=e.startDate,a=o.default.trimTime(n).getTime();return f({date:a,index:t,firstDate:s,firstIndex:i,lastDate:l,lastIndex:r})}))}(t,{firstDate:h,lastDate:m,firstIndex:c,lastIndex:g});return e.push.apply(e,l(n)),e}),[]).sort((function(e,t){return e.startDate.getTime()-t.startDate.getTime()}))};t.isCellAllDay=function(e){return e.className.includes(s.ALL_DAY_PANEL_CELL_CLASS)}},87551:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.VirtualCellProps=t.VirtualCell=void 0;var o=n(55285),a=n(44105),r=n(97205),s=n(11379),l=n(72923),u=[\"colSpan\",\"isHeaderCell\",\"width\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=function(e){var t=e.props,n=t.colSpan,i=t.isHeaderCell,a=e.style,r=i?s.HeaderCell:l.OrdinaryCell;return(0,o.createComponentVNode)(2,r,{className:\"dx-scheduler-virtual-cell\",styles:a,colSpan:n})};t.viewFunction=p;var g={width:0,isHeaderCell:!1};t.VirtualCellProps=g;var m=function(e){var t,n,i,o,a;function s(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n),s.prototype.render=function(){var e=this.props;return p({props:c({},e),style:this.style,restAttributes:this.restAttributes})},i=s,(o=[{key:\"style\",get:function(){var e=this.props.width,t=this.restAttributes.style;return(0,r.addWidthToStyle)(e,t)}},{key:\"restAttributes\",get:function(){var e=this.props;return e.colSpan,e.isHeaderCell,e.width,d(e,u)}}])&&h(i.prototype,o),a&&h(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),s}(a.BaseInfernoComponent);t.VirtualCell=m,m.defaultProps=g},4784:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.VirtualRowProps=t.VirtualRow=void 0;var o=n(55285),a=n(44105),r=n(97205),s=n(14364),l=n(87551),u=[\"cellsCount\",\"children\",\"className\",\"height\",\"isHeaderRow\",\"leftVirtualCellCount\",\"leftVirtualCellWidth\",\"rightVirtualCellCount\",\"rightVirtualCellWidth\",\"styles\"];function d(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(e,t)}(e)||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 h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=function(e){var t=e.classes,n=e.props,i=n.leftVirtualCellCount,a=n.leftVirtualCellWidth,r=n.rightVirtualCellCount,u=n.rightVirtualCellWidth,d=e.style,c=e.virtualCells;return(0,o.createComponentVNode)(2,s.Row,{styles:d,className:t,leftVirtualCellWidth:a,rightVirtualCellWidth:u,leftVirtualCellCount:i,rightVirtualCellCount:r,children:c.map((function(e,t){return(0,o.createComponentVNode)(2,l.VirtualCell,null,t.toString())}))})};t.viewFunction=m;var _=Object.create(Object.prototype,g(Object.getOwnPropertyDescriptors(s.RowProps),Object.getOwnPropertyDescriptors({leftVirtualCellWidth:0,rightVirtualCellWidth:0,cellsCount:1})));t.VirtualRowProps=_;var v=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var o,a,s,l=i.prototype;return l.componentWillUpdate=function(e,t,n){this.props.cellsCount!==e.cellsCount&&(this.__getterCache.virtualCells=void 0)},l.render=function(){var e=this.props;return m({props:g({},e),style:this.style,classes:this.classes,virtualCells:this.virtualCells,restAttributes:this.restAttributes})},o=i,(a=[{key:\"style\",get:function(){var e=this.props.height,t=this.restAttributes.style;return(0,r.addHeightToStyle)(e,t)}},{key:\"classes\",get:function(){var e=this.props.className;return\"dx-scheduler-virtual-row \".concat(e)}},{key:\"virtualCells\",get:function(){var e,t=this;return void 0!==this.__getterCache.virtualCells?this.__getterCache.virtualCells:this.__getterCache.virtualCells=(e=t.props.cellsCount,c(Array(e)))}},{key:\"restAttributes\",get:function(){var e=this.props;return e.cellsCount,e.children,e.className,e.height,e.isHeaderRow,e.leftVirtualCellCount,e.leftVirtualCellWidth,e.rightVirtualCellCount,e.rightVirtualCellWidth,e.styles,d(e,u)}}])&&f(o.prototype,a),s&&f(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.VirtualRow=v,v.defaultProps=_},8936:function(e,t){t.DefaultSizes=t.DATE_TABLE_ROW_CLASS=t.DATE_TABLE_CELL_CLASS=t.ALL_DAY_ROW_CLASS=t.ALL_DAY_PANEL_CELL_CLASS=void 0;t.DefaultSizes={allDayPanelHeight:25};t.DATE_TABLE_CELL_CLASS=\"dx-scheduler-date-table-cell\";t.ALL_DAY_PANEL_CELL_CLASS=\"dx-scheduler-all-day-table-cell\";t.DATE_TABLE_ROW_CLASS=\"dx-scheduler-date-table-row\";t.ALL_DAY_ROW_CLASS=\"dx-scheduler-all-day-table-row\"},9553:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.MonthDateTableCell=void 0;var o=n(55285),a=n(44105),r=n(86237),s=n(51430),l=[\"allDay\",\"ariaLabel\",\"children\",\"className\",\"contentTemplateProps\",\"dataCellTemplate\",\"endDate\",\"firstDayOfMonth\",\"groupIndex\",\"groups\",\"index\",\"isFirstGroupCell\",\"isFocused\",\"isLastGroupCell\",\"isSelected\",\"otherMonth\",\"startDate\",\"text\",\"today\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,c(i.key),i)}}function c(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var p=function(e){var t=e.classes,n=e.contentTemplateProps,i=e.props,a=i.dataCellTemplate,r=i.endDate,l=i.groupIndex,u=i.groups,d=i.index,c=i.isFirstGroupCell,h=i.isFocused,f=i.isLastGroupCell,p=i.isSelected,g=i.startDate,m=i.text;return(0,o.createComponentVNode)(2,s.DateTableCellBase,{className:t,dataCellTemplate:a,startDate:g,endDate:r,text:m,groups:u,groupIndex:l,index:d,isFirstGroupCell:c,isLastGroupCell:f,isSelected:p,isFocused:h,contentTemplateProps:n,children:(0,o.createVNode)(1,\"div\",\"dx-scheduler-date-table-cell-text\",m,0)})};t.viewFunction=p;var g=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n.__getterCache={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var a,s,g,m=i.prototype;return m.componentWillUpdate=function(e,t,n){this.props.index===e.index&&this.props.text===e.text||(this.__getterCache.contentTemplateProps=void 0)},m.render=function(){var e,t=this.props;return p({props:f({},t,{dataCellTemplate:(e=t.dataCellTemplate,e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,f({},t)))}:e))}),classes:this.classes,contentTemplateProps:this.contentTemplateProps,restAttributes:this.restAttributes})},a=i,(s=[{key:\"classes\",get:function(){var e,t,n,i=this.props,o=i.className,a=i.firstDayOfMonth,s=i.otherMonth,l=i.today;return(0,r.combineClasses)((e={\"dx-scheduler-date-table-other-month\":!!s,\"dx-scheduler-date-table-current-date\":!!l,\"dx-scheduler-date-table-first-of-month\":!!a},n=!!o,(t=c(t=o))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e))}},{key:\"contentTemplateProps\",get:function(){var e,t,n=this;return void 0!==this.__getterCache.contentTemplateProps?this.__getterCache.contentTemplateProps:this.__getterCache.contentTemplateProps=(e=n.props,t=e.index,{data:{text:e.text},index:t})}},{key:\"restAttributes\",get:function(){var e=this.props;return e.allDay,e.ariaLabel,e.children,e.className,e.contentTemplateProps,e.dataCellTemplate,e.endDate,e.firstDayOfMonth,e.groupIndex,e.groups,e.index,e.isFirstGroupCell,e.isFocused,e.isLastGroupCell,e.isSelected,e.otherMonth,e.startDate,e.text,e.today,u(e,l)}}])&&d(a.prototype,s),g&&d(a,g),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.BaseInfernoComponent);t.MonthDateTableCell=g,g.defaultProps=s.DateTableCellBaseProps},48136:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(15281),s=n(7405);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"cellTemplate\",\"dataCellTemplate\"],props:[\"cellTemplate\",\"viewData\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"topVirtualRowHeight\",\"bottomVirtualRowHeight\",\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"width\",\"dataCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.MonthDateTableLayout}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.DateTable);t.default=d,(0,a.default)(\"dxMonthDateTableLayout\",d),e.exports=t.default,e.exports.default=t.default},7405:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.MonthDateTableLayout=void 0;var o=n(55285),a=n(44105),r=n(96941),s=n(9553),l=[\"addDateTableClass\",\"addVerticalSizesClassToRows\",\"bottomVirtualRowHeight\",\"cellTemplate\",\"dataCellTemplate\",\"groupOrientation\",\"leftVirtualCellWidth\",\"rightVirtualCellWidth\",\"tableRef\",\"topVirtualRowHeight\",\"viewData\",\"width\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){var t=e.props,n=t.addDateTableClass,i=t.addVerticalSizesClassToRows,a=t.dataCellTemplate,l=t.groupOrientation,u=t.tableRef,d=t.viewData,c=t.width,f=e.restAttributes;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.DateTableLayoutBase,h({viewData:d,groupOrientation:l,addDateTableClass:n,dataCellTemplate:a,cellTemplate:s.MonthDateTableCell,tableRef:u,addVerticalSizesClassToRows:i,width:c},f)))};t.viewFunction=f;var p=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,h({},t)))}:e)},g=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var o,r,s,g=i.prototype;return g.createEffects=function(){return[(0,a.createReRenderEffect)()]},g.render=function(){var e=this.props;return f({props:h({},e,{cellTemplate:p(e.cellTemplate),dataCellTemplate:p(e.dataCellTemplate)}),restAttributes:this.restAttributes})},o=i,(r=[{key:\"restAttributes\",get:function(){var e=this.props;return e.addDateTableClass,e.addVerticalSizesClassToRows,e.bottomVirtualRowHeight,e.cellTemplate,e.dataCellTemplate,e.groupOrientation,e.leftVirtualCellWidth,e.rightVirtualCellWidth,e.tableRef,e.topVirtualRowHeight,e.viewData,e.width,u(e,l)}}])&&d(o.prototype,r),s&&d(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.MonthDateTableLayout=g,g.defaultProps=r.DateTableLayoutProps},34300:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.TimelineDateHeaderLayout=void 0;var o,a=n(55285),r=n(44105),s=n(14364),l=n(97205),u=n(92366),d=n(35878),c=(o=n(32586))&&o.__esModule?o:{default:o},h=[\"dateCellTemplate\",\"dateHeaderData\",\"groupByDate\",\"groupOrientation\",\"groups\",\"timeCellTemplate\"];function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var _=(0,c.default)().isMaterial,v=function(e){var t=e.isHorizontalGrouping,n=e.props,i=n.dateCellTemplate,o=n.dateHeaderData,r=n.timeCellTemplate,l=o.dataMap,d=o.isMonthDateHeader,c=o.leftVirtualCellCount,h=o.leftVirtualCellWidth,f=o.rightVirtualCellCount,p=o.rightVirtualCellWidth,g=o.weekDayLeftVirtualCellCount,m=o.weekDayLeftVirtualCellWidth,v=o.weekDayRightVirtualCellCount,y=o.weekDayRightVirtualCellWidth;return(0,a.createFragment)(l.map((function(e,n){var o=l.length,b=o-1===n,x=o>1&&0===n,w=_&&(d||x),C=c,S=f,k=p,D=h;return x&&(C=g,S=v,k=y,D=m),(0,a.createComponentVNode)(2,s.Row,{className:\"dx-scheduler-header-row\",leftVirtualCellWidth:D,leftVirtualCellCount:C,rightVirtualCellWidth:k,rightVirtualCellCount:S,children:e.map((function(e){var n=e.colSpan,o=e.endDate,s=e.groupIndex,l=e.groups,d=e.index,c=e.isFirstGroupCell,h=e.isLastGroupCell,f=e.key,p=e.startDate,g=e.text,m=e.today;return(0,a.createComponentVNode)(2,u.DateHeaderCell,{startDate:p,endDate:o,groups:t?l:void 0,groupIndex:t?s:void 0,today:m,index:d,text:g,isFirstGroupCell:c,isLastGroupCell:h,isWeekDayCell:x,colSpan:n,splitText:w,dateCellTemplate:i,timeCellTemplate:r,isTimeCellTemplate:b},f)}))},n.toString())})),0)};t.viewFunction=v;var y=function(e){return e&&(e.defaultProps?function(t){return(0,a.normalizeProps)((0,a.createComponentVNode)(2,e,m({},t)))}:e)},b=function(e){var t,n,i,o,a;function r(t){var n;return(n=e.call(this,t)||this).state={},n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n),r.prototype.render=function(){var e=this.props;return v({props:m({},e,{dateCellTemplate:y(e.dateCellTemplate),timeCellTemplate:y(e.timeCellTemplate)}),isHorizontalGrouping:this.isHorizontalGrouping,restAttributes:this.restAttributes})},i=r,(o=[{key:\"isHorizontalGrouping\",get:function(){var e=this.props,t=e.groupByDate,n=e.groupOrientation,i=e.groups;return(0,l.isHorizontalGroupingApplied)(i,n)&&!t}},{key:\"restAttributes\",get:function(){var e=this.props;return e.dateCellTemplate,e.dateHeaderData,e.groupByDate,e.groupOrientation,e.groups,e.timeCellTemplate,f(e,h)}}])&&p(i.prototype,o),a&&p(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.BaseInfernoComponent);t.TimelineDateHeaderLayout=b,b.defaultProps=d.DateHeaderLayoutProps},8262:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o,a=(o=n(99393))&&o.__esModule?o:{default:o},r=n(86214),s=n(377);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n,i,o,a;function r(){return e.apply(this,arguments)||this}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n),i=r,(o=[{key:\"_propsInfo\",get:function(){return{twoWay:[],allowNull:[],elements:[],templates:[\"dateCellTemplate\",\"timeCellTemplate\",\"dateHeaderTemplate\",\"resourceCellTemplate\"],props:[\"dateHeaderData\",\"isRenderDateHeader\",\"dateCellTemplate\",\"timeCellTemplate\",\"dateHeaderTemplate\",\"groups\",\"groupOrientation\",\"groupPanelData\",\"groupByDate\",\"height\",\"className\",\"resourceCellTemplate\"]}}},{key:\"_viewComponent\",get:function(){return s.TimelineHeaderPanelLayout}}])&&l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,\"prototype\",{writable:!1}),r}(r.HeaderPanel);t.default=d,(0,a.default)(\"dxTimelineHeaderPanelLayout\",d),e.exports=t.default,e.exports.default=t.default},377:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.viewFunction=t.TimelineHeaderPanelLayout=void 0;var o=n(55285),a=n(44105),r=n(84011),s=n(34300),l=[\"className\",\"dateCellTemplate\",\"dateHeaderData\",\"dateHeaderTemplate\",\"elementRef\",\"groupByDate\",\"groupOrientation\",\"groupPanelData\",\"groups\",\"height\",\"isRenderDateHeader\",\"resourceCellTemplate\",\"timeCellTemplate\"];function u(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e){var t=e.props,n=t.dateCellTemplate,i=t.dateHeaderData,a=t.groupByDate,l=t.groupOrientation,u=t.groupPanelData,d=t.groups,c=t.isRenderDateHeader,h=t.resourceCellTemplate,f=t.timeCellTemplate;return(0,o.createComponentVNode)(2,r.HeaderPanelLayout,{dateHeaderTemplate:s.TimelineDateHeaderLayout,dateHeaderData:i,groupPanelData:u,groupByDate:a,groups:d,groupOrientation:l,isRenderDateHeader:c,resourceCellTemplate:h,dateCellTemplate:n,timeCellTemplate:f})};t.viewFunction=f;var p=function(e){return e&&(e.defaultProps?function(t){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,e,h({},t)))}:e)},g=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).state={},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var o,r,s,g=i.prototype;return g.createEffects=function(){return[(0,a.createReRenderEffect)()]},g.render=function(){var e=this.props;return f({props:h({},e,{dateCellTemplate:p(e.dateCellTemplate),timeCellTemplate:p(e.timeCellTemplate),dateHeaderTemplate:p(e.dateHeaderTemplate),resourceCellTemplate:p(e.resourceCellTemplate)}),restAttributes:this.restAttributes})},o=i,(r=[{key:\"restAttributes\",get:function(){var e=this.props;return e.className,e.dateCellTemplate,e.dateHeaderData,e.dateHeaderTemplate,e.elementRef,e.groupByDate,e.groupOrientation,e.groupPanelData,e.groups,e.height,e.isRenderDateHeader,e.resourceCellTemplate,e.timeCellTemplate,u(e,l)}}])&&d(o.prototype,r),s&&d(o,s),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(a.InfernoWrapperComponent);t.TimelineHeaderPanelLayout=g,g.defaultProps=r.HeaderPanelLayoutProps},97205:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.isVerticalGroupingApplied=t.isHorizontalGroupingApplied=t.isGroupingByDate=t.getKeyByGroup=t.getKeyByDateAndGroup=t.getIsGroupedAllDayPanel=t.getGroupCellClasses=t.addWidthToStyle=t.addToStyles=t.addHeightToStyle=void 0;var o=n(86237),a=n(4799);function r(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}t.getKeyByDateAndGroup=function(e,t){var n=e.getTime();return t?(n+t).toString():n.toString()};t.getKeyByGroup=function(e,t){return t&&e?e.toString():\"0\"};var l=function(e,t){var n=null!=t?t:{},i=s({},n);return e.forEach((function(e){var t=e.attr,o=e.value;i[t]=o||n[t]})),i};t.addToStyles=l;t.addHeightToStyle=function(e,t){var n=e?\"\".concat(e,\"px\"):\"\";return l([{attr:\"height\",value:n}],t)};t.addWidthToStyle=function(e,t){var n=e?\"\".concat(e,\"px\"):\"\";return l([{attr:\"width\",value:n}],t)};t.getGroupCellClasses=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return(0,o.combineClasses)(r({\"dx-scheduler-first-group-cell\":e,\"dx-scheduler-last-group-cell\":t},n,!0))};t.getIsGroupedAllDayPanel=function(e,t){return e&&t};t.isVerticalGroupingApplied=function(e,t){return t===a.VERTICAL_GROUP_ORIENTATION&&!!e.length};var u=function(e,t){return t===a.HORIZONTAL_GROUP_ORIENTATION&&!!e.length};t.isHorizontalGroupingApplied=u;t.isGroupingByDate=function(e,t,n){var i=u(e,t);return n&&i}},23842:function(e,t){t.VALIDATE_WHEEL_TIMEOUT=t.TopPocketState=t.ShowScrollbarMode=t.SCROLL_LINE_HEIGHT=t.SCROLLVIEW_TOP_POCKET_CLASS=t.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS=t.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS=t.SCROLLVIEW_REACHBOTTOM_CLASS=t.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS=t.SCROLLVIEW_PULLDOWN_TEXT_CLASS=t.SCROLLVIEW_PULLDOWN_READY_CLASS=t.SCROLLVIEW_PULLDOWN_LOADING_CLASS=t.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS=t.SCROLLVIEW_PULLDOWN_IMAGE_CLASS=t.SCROLLVIEW_PULLDOWN=t.SCROLLVIEW_CONTENT_CLASS=t.SCROLLVIEW_BOTTOM_POCKET_CLASS=t.SCROLLABLE_WRAPPER_CLASS=t.SCROLLABLE_SIMULATED_CLASS=t.SCROLLABLE_SCROLL_CONTENT_CLASS=t.SCROLLABLE_SCROLL_CLASS=t.SCROLLABLE_SCROLLBAR_SIMULATED=t.SCROLLABLE_SCROLLBAR_CLASS=t.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS=t.SCROLLABLE_SCROLLBARS_HIDDEN=t.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE=t.SCROLLABLE_DISABLED_CLASS=t.SCROLLABLE_CONTENT_CLASS=t.SCROLLABLE_CONTAINER_CLASS=t.PULLDOWN_ICON_CLASS=t.KEY_CODES=t.HOVER_ENABLED_STATE=t.HIDE_SCROLLBAR_TIMEOUT=t.DIRECTION_VERTICAL=t.DIRECTION_HORIZONTAL=t.DIRECTION_BOTH=void 0;t.SCROLL_LINE_HEIGHT=40;t.DIRECTION_VERTICAL=\"vertical\";t.DIRECTION_HORIZONTAL=\"horizontal\";t.DIRECTION_BOTH=\"both\";t.SCROLLABLE_SIMULATED_CLASS=\"dx-scrollable-simulated\";t.SCROLLABLE_CONTENT_CLASS=\"dx-scrollable-content\";t.SCROLLABLE_WRAPPER_CLASS=\"dx-scrollable-wrapper\";t.SCROLLABLE_CONTAINER_CLASS=\"dx-scrollable-container\";t.SCROLLABLE_DISABLED_CLASS=\"dx-scrollable-disabled\";t.SCROLLABLE_SCROLLBAR_SIMULATED=\"dx-scrollable-scrollbar-simulated\";t.SCROLLABLE_SCROLLBARS_HIDDEN=\"dx-scrollable-scrollbars-hidden\";t.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE=\"dx-scrollable-scrollbars-alwaysvisible\";t.SCROLLABLE_SCROLLBAR_CLASS=\"dx-scrollable-scrollbar\";t.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS=\"dx-scrollable-scrollbar-active\";t.SCROLLABLE_SCROLL_CLASS=\"dx-scrollable-scroll\";t.SCROLLABLE_SCROLL_CONTENT_CLASS=\"dx-scrollable-scroll-content\";t.HOVER_ENABLED_STATE=\"dx-scrollbar-hoverable\";t.SCROLLVIEW_CONTENT_CLASS=\"dx-scrollview-content\";t.SCROLLVIEW_TOP_POCKET_CLASS=\"dx-scrollview-top-pocket\";t.SCROLLVIEW_PULLDOWN=\"dx-scrollview-pull-down\";t.SCROLLVIEW_PULLDOWN_LOADING_CLASS=\"dx-scrollview-pull-down-loading\";t.SCROLLVIEW_PULLDOWN_READY_CLASS=\"dx-scrollview-pull-down-ready\";t.SCROLLVIEW_PULLDOWN_IMAGE_CLASS=\"dx-scrollview-pull-down-image\";t.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS=\"dx-scrollview-pull-down-indicator\";t.SCROLLVIEW_PULLDOWN_TEXT_CLASS=\"dx-scrollview-pull-down-text\";t.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS=\"dx-scrollview-pull-down-text-visible\";t.PULLDOWN_ICON_CLASS=\"dx-icon-pulldown\";t.SCROLLVIEW_BOTTOM_POCKET_CLASS=\"dx-scrollview-bottom-pocket\";t.SCROLLVIEW_REACHBOTTOM_CLASS=\"dx-scrollview-scrollbottom\";t.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS=\"dx-scrollview-scrollbottom-indicator\";t.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS=\"dx-scrollview-scrollbottom-text\";t.TopPocketState={STATE_RELEASED:0,STATE_READY:1,STATE_REFRESHING:2,STATE_LOADING:3,STATE_TOUCHED:4,STATE_PULLED:5};t.ShowScrollbarMode={HOVER:\"onHover\",ALWAYS:\"always\",NEVER:\"never\",SCROLL:\"onScroll\"};t.KEY_CODES={PAGE_UP:\"pageUp\",PAGE_DOWN:\"pageDown\",END:\"end\",HOME:\"home\",LEFT:\"leftArrow\",UP:\"upArrow\",RIGHT:\"rightArrow\",DOWN:\"downArrow\"};t.VALIDATE_WHEEL_TIMEOUT=500;t.HIDE_SCROLLBAR_TIMEOUT=500},82886:function(e,t,n){t.convertToLocation=function(e,t){if((0,i.isPlainObject)(e)){var n=(0,o.ensureDefined)(e.left,e.x),r=(0,o.ensureDefined)(e.top,e.y);return{left:(0,i.isDefined)(n)?n:void 0,top:(0,i.isDefined)(r)?r:void 0}}var s=new a.ScrollDirection(t),l=s.isHorizontal,u=s.isVertical;return{left:l&&(0,i.isDefined)(e)?e:void 0,top:u&&(0,i.isDefined)(e)?e:void 0}};var i=n(35922),o=n(20576),a=n(60440)},70602:function(e,t,n){t.getBoundaryProps=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=t.left,d=t.top,c={},h=new a.ScrollDirection(e),f=h.isHorizontal,p=h.isVertical;f&&(c.reachedLeft=r(o,0),c.reachedRight=s(n,o,0));p&&(c.reachedTop=l(d,0),c.reachedBottom=u(n,d,i,0));return c},t.isReachedBottom=u,t.isReachedLeft=r,t.isReachedRight=s,t.isReachedTop=l;var i=n(92721),o=n(71296),a=n(60440);function r(e,t){return Math.round(e)<=t}function s(e,t,n){return Math.round((0,i.getScrollLeftMax)(e)-t)<=n}function l(e,t){return Math.round(e)<=t}function u(e,t,n,i){return Math.round((0,o.getScrollTopMax)(e)-t-n)<=i}},60650:function(e,t,n){t.getElementLocationInternal=function(e,t,n,s,l){var u=r({top:0,left:0,right:0,bottom:0},l),d=t===a.DIRECTION_VERTICAL,c=d?\"top\":\"left\",h=d?\"bottom\":\"right\",f=d?\"height\":\"width\",p=n[\"offset\".concat((0,i.titleize)(f))],g=n[\"client\".concat((0,i.titleize)(f))],m=n.getBoundingClientRect()[f],_=e.getBoundingClientRect()[f],v=1;Math.abs(m-p)>1&&(v=m/p);var y=(0,o.getRelativeOffset)(a.SCROLLABLE_CONTENT_CLASS,e)[c]/v,b=s[c],x=b-y+u[c],w=b-y-_/v+g-u[h];if(x<=0&&w>=0)return b;return b-(Math.abs(x)>Math.abs(w)?w:x)};var i=n(78008),o=n(1515),a=n(23842);function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}},42136:function(e,t,n){t.getElementMargin=function(e,t){var n=r(e);return n?(0,a.toNumber)(n[\"margin\".concat((0,i.titleize)(t))]):0},t.getElementOverflowX=function(e){var t=r(e);return t?t.overflowX:\"visible\"},t.getElementOverflowY=function(e){var t=r(e);return t?t.overflowY:\"visible\"},t.getElementPadding=function(e,t){var n=r(e);return n?(0,a.toNumber)(n[\"padding\".concat((0,i.titleize)(t))]):0},t.getElementStyle=r,t.getElementTransform=function(e){var t=r(e);return t?t.transform:\"\"};var i=n(78008),o=n(58201),a=n(78461);function r(e){var t,n;return e&&(0,o.hasWindow)()?null===(t=(n=(0,o.getWindow)()).getComputedStyle)||void 0===t?void 0:t.call(n,e):null}},1515:function(e,t){t.getRelativeOffset=function(e,t){var n={left:0,top:0},i=t;for(;null!==(o=i)&&void 0!==o&&o.offsetParent&&!i.classList.contains(e);){var o,a=i.offsetParent,r=i.getBoundingClientRect(),s=a.getBoundingClientRect();n.left+=r.left-s.left,n.top+=r.top-s.top,i=i.offsetParent}return n}},92721:function(e,t){t.getScrollLeftMax=function(e){return e.scrollWidth-e.clientWidth}},71296:function(e,t){t.getScrollTopMax=function(e){return e.scrollHeight-e.clientHeight}},60440:function(e,t,n){t.ScrollDirection=void 0;var i=n(23842);function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(a=i.key,r=void 0,r=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==o(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===o(r)?r:String(r)),i)}var a,r}var r=function(){function e(e){this.DIRECTION_HORIZONTAL=\"horizontal\",this.DIRECTION_VERTICAL=\"vertical\",this.DIRECTION_BOTH=\"both\",this.direction=null!=e?e:i.DIRECTION_VERTICAL}var t,n,o;return t=e,(n=[{key:\"isHorizontal\",get:function(){return this.direction===i.DIRECTION_HORIZONTAL||this.direction===i.DIRECTION_BOTH}},{key:\"isVertical\",get:function(){return this.direction===i.DIRECTION_VERTICAL||this.direction===i.DIRECTION_BOTH}},{key:\"isBoth\",get:function(){return this.direction===i.DIRECTION_BOTH}}])&&a(t.prototype,n),o&&a(t,o),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.ScrollDirection=r},86237:function(e,t){t.combineClasses=function(e){return Object.keys(e).filter((function(t){return e[t]})).join(\" \")}},46299:function(e,t){t.querySelectorInSameDocument=function(e,t){var n,i;return(null!==(n=null===(i=e.getRootNode)||void 0===i?void 0:i.call(e))&&void 0!==n?n:document).querySelector(t)}},32586:function(e,t,n){t.default=void 0;var i=n(75811),o=function(){var e=(0,i.current)();return{isCompact:(0,i.isCompact)(e),isMaterial:(0,i.isMaterial)(e)}};t.default=o,e.exports=t.default,e.exports.default=t.default},89357:function(e,t,n){t.default=function(e){var t,n=(0,i.getWindow)();return e?null===(t=n.getComputedStyle)||void 0===t?void 0:t.call(n,e):null};var i=n(58201);e.exports=t.default,e.exports.default=t.default},8374:function(e,t,n){t.resolveRtlEnabled=function(e,t){if(void 0!==e)return e;if(void 0!==(null==t?void 0:t.rtlEnabled))return t.rtlEnabled;return(0,a.default)().rtlEnabled},t.resolveRtlEnabledDefinition=function(e,t){var n=(0,o.isDefined)(e),i=(0,o.isDefined)((0,a.default)().rtlEnabled)&&!n&&!(0,o.isDefined)(null==t?void 0:t.rtlEnabled);return n&&e!==(null==t?void 0:t.rtlEnabled)||i};var i,o=n(35922),a=(i=n(80209))&&i.__esModule?i:{default:i}},33502:function(e,t){t.shallowEquals=void 0;t.shallowEquals=function(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every((function(n){return e[n]===t[n]}))}},19828:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.subscribeToDxInactiveEvent=t.subscribeToDxHoverStartEvent=t.subscribeToDxHoverEndEvent=t.subscribeToDxFocusOutEvent=t.subscribeToDxFocusInEvent=t.subscribeToDxActiveEvent=t.subscribeToDXScrollStopEvent=t.subscribeToDXScrollStartEvent=t.subscribeToDXScrollMoveEvent=t.subscribeToDXScrollEndEvent=t.subscribeToDXScrollCancelEvent=t.subscribeToDXPointerUpEvent=t.subscribeToDXPointerMoveEvent=t.subscribeToDXPointerDownEvent=t.subscribeToClickEvent=void 0,t.subscribeToEvent=c,t.subscribeToScrollInitEvent=t.subscribeToScrollEvent=t.subscribeToMouseLeaveEvent=t.subscribeToMouseEnterEvent=t.subscribeToKeyDownEvent=void 0;var o=d(n(55994)),a=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95429)),r=n(39611),s=d(n(37334)),l=d(n(93786));function u(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(t,n,i,a){var s=a?(0,r.addNamespace)(e,a):e;if(n)return o.default.on(t,s,i,n),function(){o.default.off(t,s,n)}}}var h=c(a.name);t.subscribeToClickEvent=h;var f=c(s.default.scroll);t.subscribeToScrollEvent=f;var p=c(s.default.init);t.subscribeToScrollInitEvent=p;var g=c(s.default.start);t.subscribeToDXScrollStartEvent=g;var m=c(s.default.move);t.subscribeToDXScrollMoveEvent=m;var _=c(s.default.end);t.subscribeToDXScrollEndEvent=_;var v=c(s.default.stop);t.subscribeToDXScrollStopEvent=v;var y=c(s.default.cancel);t.subscribeToDXScrollCancelEvent=y;var b=c(l.default.down);t.subscribeToDXPointerDownEvent=b;var x=c(l.default.up);t.subscribeToDXPointerUpEvent=x;var w=c(l.default.move);t.subscribeToDXPointerMoveEvent=w;var C=c(\"mouseenter\");t.subscribeToMouseEnterEvent=C;var S=c(\"mouseleave\");t.subscribeToMouseLeaveEvent=S;var k=c(\"keydown\");t.subscribeToKeyDownEvent=k;var D=c(\"dxactive\");t.subscribeToDxActiveEvent=D;var I=c(\"dxinactive\");t.subscribeToDxInactiveEvent=I;var T=c(\"dxhoverstart\");t.subscribeToDxHoverStartEvent=T;var E=c(\"dxhoverend\");t.subscribeToDxHoverEndEvent=E;var O=c(\"focusin\");t.subscribeToDxFocusInEvent=O;var A=c(\"focusout\");t.subscribeToDxFocusOutEvent=A},78461:function(e,t){t.toNumber=function(e){return e?Number(e.replace(\"px\",\"\")):0}},88673:function(e,t,n){var i;t.Z=void 0;var o=((i=n(32511))&&i.__esModule?i:{default:i}).default.getTimeZones;t.Z=o},76219:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=S(n(68374)),r=S(n(55994)),s=S(n(87209)),l=n(95429),u=S(n(20530)),d=S(n(73349)),c=n(13306),h=n(20576),f=n(6415),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=C(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(95479)),g=n(35922),m=S(n(99393)),_=n(39611),v=S(n(69010)),y=n(62754),b=n(93280),x=n(44899),w=n(75811);function C(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(C=function(e){return e?n:t})(e)}function S(e){return e&&e.__esModule?e:{default:e}}var k=v.default.inherit({_activeStateUnit:\".dx-accordion-item\",_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),{hoverStateEnabled:!0,height:void 0,itemTitleTemplate:\"title\",onItemTitleClick:null,selectedIndex:0,collapsible:!1,multiple:!1,animationDuration:300,deferRendering:!0,selectByClick:!0,activeStateEnabled:!0,_itemAttributes:{role:\"tab\"},_animationEasing:\"ease\"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===u.default.real().deviceType&&!u.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,w.isMaterial)()},options:{animationDuration:200,_animationEasing:\"cubic-bezier(0.4, 0, 0.2, 1)\"}}])},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_init:function(){this.callBase(),this.option(\"selectionRequired\",!this.option(\"collapsible\")),this.option(\"selectionMode\",this.option(\"multiple\")?\"multiple\":\"single\");var e=this.$element();e.addClass(\"dx-accordion\"),this._$container=(0,a.default)(\"<div>\").addClass(\"dx-accordion-wrapper\"),e.append(this._$container)},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({title:new b.BindableTemplate((function(e,t){if((0,g.isPlainObject)(t)){var n=(0,x.getImageContainer)(t.icon);n&&e.append(n),(0,g.isDefined)(t.title)&&!(0,g.isPlainObject)(t.title)&&e.append(d.default.createTextNode(t.title))}else(0,g.isDefined)(t)&&e.text(String(t));e.wrapInner((0,a.default)(\"<div>\").addClass(\"dx-accordion-item-title-caption\"))}),[\"title\",\"icon\"],this.option(\"integrationOptions.watchMethod\"))})},_initMarkup:function(){var e=this;this._deferredItems=[],this._deferredTemplateItems=[],this.callBase(),this.setAria({role:\"tablist\",multiselectable:this.option(\"multiple\")}),(0,h.deferRender)((function(){var t=e._getSelectedItemIndices();e._renderSelection(t,[])}))},_render:function(){var e=this;this.callBase(),y.when.apply(this,this._deferredTemplateItems).done((function(){e._updateItemHeights(!0)}))},_itemDataKey:function(){return\"dxAccordionItemData\"},_itemClass:function(){return\"dx-accordion-item\"},_itemContainer:function(){return this._$container},_itemTitles:function(){return this._itemElements().find(\".dx-accordion-item-title\")},_itemContents:function(){return this._itemElements().find(\".dx-accordion-item-body\")},_getItemData:function(e){return(0,a.default)(e).parent().data(this._itemDataKey())||this.callBase.apply(this,arguments)},_executeItemRenderAction:function(e){e.type||this.callBase.apply(this,arguments)},_itemSelectHandler:function(e){(0,a.default)(e.target).closest(this._itemContents()).length||this.callBase.apply(this,arguments)},_afterItemElementDeleted:function(e,t){this._deferredItems.splice(t.itemIndex,1),this.callBase.apply(this,arguments)},_renderItemContent:function(e){this._deferredTemplateItems[e.index]=new y.Deferred;var t=this.callBase((0,c.extend)({},e,{contentClass:\"dx-accordion-item-title\",templateProperty:\"titleTemplate\",defaultTemplateName:this.option(\"itemTitleTemplate\")}));this._attachItemTitleClickAction(t);var n=new y.Deferred;(0,g.isDefined)(this._deferredItems[e.index])?this._deferredItems[e.index]=n:this._deferredItems.push(n),(!this.option(\"deferRendering\")||this._getSelectedItemIndices().indexOf(e.index)>=0)&&n.resolve(),n.done(this.callBase.bind(this,(0,c.extend)({},e,{contentClass:\"dx-accordion-item-body\",container:(0,f.getPublicElement)((0,a.default)(\"<div>\").appendTo((0,a.default)(t).parent()))})))},_onItemTemplateRendered:function(e,t){var n=this;return function(){var e=n._deferredTemplateItems[t.index];e&&e.resolve()}},_attachItemTitleClickAction:function(e){var t=(0,_.addNamespace)(l.name,this.NAME);r.default.off(e,t),r.default.on(e,t,this._itemTitleClickHandler.bind(this))},_itemTitleClickHandler:function(e){this._itemDXEventHandler(e,\"onItemTitleClick\")},_renderSelection:function(e,t){this._itemElements().addClass(\"dx-accordion-item-closed\"),this.setAria(\"hidden\",!0,this._itemContents()),this._updateItems(e,t)},_updateSelection:function(e,t){this._updateItems(e,t),this._updateItemHeightsWrapper(!1)},_updateItems:function(e,t){var n=this,i=this._itemElements();p.each(e,(function(e,t){n._deferredItems[t].resolve();var o=i.eq(t).addClass(\"dx-accordion-item-opened\").removeClass(\"dx-accordion-item-closed\");n.setAria(\"hidden\",!1,o.find(\".dx-accordion-item-body\"))})),p.each(t,(function(e,t){var o=i.eq(t).removeClass(\"dx-accordion-item-opened\");n.setAria(\"hidden\",!0,o.find(\".dx-accordion-item-body\"))}))},_updateItemHeightsWrapper:function(e){this.option(\"templatesRenderAsynchronously\")?this._animationTimer=setTimeout(function(){this._updateItemHeights(e)}.bind(this)):this._updateItemHeights(e)},_updateItemHeights:function(e){var t=this,n=t._deferredAnimate,i=this._splitFreeSpace(this._calculateFreeSpace());return clearTimeout(this._animationTimer),y.when.apply(a.default,[].slice.call(this._itemElements()).map((function(n){return t._updateItemHeight((0,a.default)(n),i,e)}))).done((function(){n&&n.resolveWith(t)}))},_updateItemHeight:function(e,t,n){var i=e.children(\".dx-accordion-item-title\");s.default.isAnimating(e)&&s.default.stop(e);var a,r=(0,o.getOuterHeight)(e);return e.hasClass(\"dx-accordion-item-opened\")?(a=t+(0,o.getOuterHeight)(i))||((0,o.setHeight)(e,\"auto\"),a=(0,o.getOuterHeight)(e)):a=(0,o.getOuterHeight)(i),this._animateItem(e,r,a,n,!!t)},_animateItem:function(e,t,n,i,o){var a;return i||t===n?(e.css(\"height\",n),a=(new y.Deferred).resolve()):a=s.default.animate(e,{type:\"custom\",from:{height:t},to:{height:n},duration:this.option(\"animationDuration\"),easing:this.option(\"_animationEasing\")}),a.done((function(){e.hasClass(\"dx-accordion-item-opened\")&&!o&&e.css(\"height\",\"\"),e.not(\".dx-accordion-item-opened\").addClass(\"dx-accordion-item-closed\")}))},_splitFreeSpace:function(e){return e?e/this.option(\"selectedItems\").length:e},_calculateFreeSpace:function(){var e=this.option(\"height\");if(void 0!==e&&\"auto\"!==e){var t=this._itemTitles(),n=0;return p.each(t,(function(e,t){n+=(0,o.getOuterHeight)(t)})),(0,o.getHeight)(this.$element())-n}},_visibilityChanged:function(e){e&&this._dimensionChanged()},_dimensionChanged:function(){this._updateItemHeights(!0)},_clean:function(){this._deferredTemplateItems.forEach((function(e){e.reject()})),this._deferredTemplateItems=[],clearTimeout(this._animationTimer),this.callBase()},_tryParseItemPropertyName:function(e){var t=e.match(/.*\\.(.*)/);if((0,g.isDefined)(t)&&t.length>=1)return t[1]},_optionChanged:function(e){switch(e.name){case\"items\":this.callBase(e),\"title\"===this._tryParseItemPropertyName(e.fullName)&&this._renderSelection(this._getSelectedItemIndices(),[]),\"visible\"===this._tryParseItemPropertyName(e.fullName)&&this._updateItemHeightsWrapper(!0),!0===this.option(\"repaintChangesOnly\")&&\"items\"===e.fullName&&(this._updateItemHeightsWrapper(!0),this._renderSelection(this._getSelectedItemIndices(),[]));break;case\"animationDuration\":case\"onItemTitleClick\":case\"_animationEasing\":break;case\"collapsible\":this.option(\"selectionRequired\",!this.option(\"collapsible\"));break;case\"itemTitleTemplate\":case\"height\":case\"deferRendering\":this._invalidate();break;case\"multiple\":this.option(\"selectionMode\",e.value?\"multiple\":\"single\");break;default:this.callBase(e)}},expandItem:function(e){return this._deferredAnimate=new y.Deferred,this.selectItem(e),this._deferredAnimate.promise()},collapseItem:function(e){return this._deferredAnimate=new y.Deferred,this.unselectItem(e),this._deferredAnimate.promise()},updateDimensions:function(){return this._updateItemHeights(!1)}});(0,m.default)(\"dxAccordion\",k);var D=k;t.default=D,e.exports=t.default,e.exports.default=t.default},81476:function(e,t,n){t.default=void 0;var i=g(n(68374)),o=n(58201),a=n(20576),r=g(n(28109)),s=g(n(99393)),l=n(13306),u=g(n(63008)),d=g(n(11050)),c=g(n(51495)),h=g(n(17287)),f=n(93280),p=n(62754);function g(e){return e&&e.__esModule?e:{default:e}}var m=(0,o.getWindow)(),_=d.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{usePopover:!1,target:null,title:\"\",showTitle:!0,showCancelButton:!0,cancelText:r.default.format(\"Cancel\"),onCancelClick:null,visible:!1,noDataText:\"\",focusStateEnabled:!1,selectByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"ios\",tablet:!0},options:{usePopover:!0}}])},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({item:new f.BindableTemplate((function(e,t){var n=new u.default((0,i.default)(\"<div>\"),(0,l.extend)({onClick:t&&t.click,stylingMode:t&&t.stylingMode||\"outlined\"},t));e.append(n.$element())}),[\"disabled\",\"icon\",\"text\",\"type\",\"onClick\",\"click\",\"stylingMode\"],this.option(\"integrationOptions.watchMethod\"))})},_itemContainer:function(){return this._$itemContainer},_itemClass:function(){return\"dx-actionsheet-item\"},_itemDataKey:function(){return\"dxActionSheetItemData\"},_toggleVisibility:a.noop,_renderDimensions:a.noop,_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-actionsheet\"),this._createItemContainer()},_render:function(){this._renderPopup()},_createItemContainer:function(){this._$itemContainer=(0,i.default)(\"<div>\").addClass(\"dx-actionsheet-container\"),this._renderDisabled()},_renderDisabled:function(){this._$itemContainer.toggleClass(\"dx-state-disabled\",this.option(\"disabled\"))},_renderPopup:function(){this._$popup=(0,i.default)(\"<div>\").appendTo(this.$element()),this._isPopoverMode()?this._createPopover():this._createPopup(),this._renderPopupTitle(),this._mapPopupOption(\"visible\")},_mapPopupOption:function(e){this._popup&&this._popup.option(e,this.option(e))},_isPopoverMode:function(){return this.option(\"usePopover\")&&this.option(\"target\")},_renderPopupTitle:function(){this._mapPopupOption(\"showTitle\"),this._popup&&this._popup.$wrapper().toggleClass(\"dx-actionsheet-without-title\",!this.option(\"showTitle\"))},_clean:function(){this._$popup&&this._$popup.remove(),this.callBase()},_overlayConfig:function(){return{onInitialized:function(e){this._popup=e.component}.bind(this),disabled:!1,showTitle:!0,title:this.option(\"title\"),deferRendering:!m.angular,onContentReady:this._popupContentReadyAction.bind(this),onHidden:this.hide.bind(this)}},_createPopover:function(){this._createComponent(this._$popup,h.default,(0,l.extend)(this._overlayConfig(),{width:this.option(\"width\")||200,height:this.option(\"height\")||\"auto\",target:this.option(\"target\")})),this._popup.$overlayContent().attr(\"role\",\"dialog\"),this._popup.$wrapper().addClass(\"dx-actionsheet-popover-wrapper\")},_createPopup:function(){this._createComponent(this._$popup,c.default,(0,l.extend)(this._overlayConfig(),{dragEnabled:!1,width:this.option(\"width\")||\"100%\",height:this.option(\"height\")||\"auto\",showCloseButton:!1,position:{my:\"bottom\",at:\"bottom\",of:m},animation:{show:{type:\"slide\",duration:400,from:{position:{my:\"top\",at:\"bottom\",of:m}},to:{position:{my:\"bottom\",at:\"bottom\",of:m}}},hide:{type:\"slide\",duration:400,from:{position:{my:\"bottom\",at:\"bottom\",of:m}},to:{position:{my:\"top\",at:\"bottom\",of:m}}}}})),this._popup.$wrapper().addClass(\"dx-actionsheet-popup-wrapper\")},_popupContentReadyAction:function(){this._popup.$content().append(this._$itemContainer),this._attachClickEvent(),this._attachHoldEvent(),this._prepareContent(),this._renderContent(),this._renderCancelButton()},_renderCancelButton:function(){if(!this._isPopoverMode()&&(this._$cancelButton&&this._$cancelButton.remove(),this.option(\"showCancelButton\"))){var e=this._createActionByOption(\"onCancelClick\")||a.noop,t=this;this._$cancelButton=(0,i.default)(\"<div>\").addClass(\"dx-actionsheet-cancel\").appendTo(this._popup&&this._popup.$content()),this._createComponent(this._$cancelButton,u.default,{disabled:!1,stylingMode:\"outlined\",text:this.option(\"cancelText\"),onClick:function(n){var i={event:n,cancel:!1};e(i),i.cancel||t.hide()},integrationOptions:{}})}},_attachItemClickEvent:a.noop,_itemClickHandler:function(e){this.callBase(e),(0,i.default)(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")||this.hide()},_itemHoldHandler:function(e){this.callBase(e),(0,i.default)(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")||this.hide()},_optionChanged:function(e){switch(e.name){case\"width\":case\"height\":case\"visible\":case\"title\":this._mapPopupOption(e.name);break;case\"disabled\":this._renderDisabled();break;case\"showTitle\":this._renderPopupTitle();break;case\"showCancelButton\":case\"onCancelClick\":case\"cancelText\":this._renderCancelButton();break;case\"target\":case\"usePopover\":case\"items\":this._invalidate();break;default:this.callBase(e)}},toggle:function(e){var t=this,n=new p.Deferred;return t._popup.toggle(e).done((function(){t.option(\"visible\",e),n.resolveWith(t)})),n.promise()},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)}});(0,s.default)(\"dxActionSheet\",_);var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},65418:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=n(20576),a=d(n(99393)),r=n(13306),s=d(n(32468)),l=n(62754),u=n(39611);function d(e){return e&&e.__esModule?e:{default:e}}var c=s.default.inherit({_supportedKeys:function(){var e=this._list?this._list.option(\"focusedElement\"):null,t=this.callBase();return e=e&&(0,i.default)(e),(0,r.extend)({},t,{upArrow:function(n){return!(t.upArrow.apply(this,arguments)&&!(0,u.isCommandKeyPressed)(n)&&(n.preventDefault(),n.stopPropagation(),e&&!this._calcNextItem(-1)))||(this._clearFocusedItem(),!1)},downArrow:function(n){return!(t.downArrow.apply(this,arguments)&&!(0,u.isCommandKeyPressed)(n)&&(n.preventDefault(),n.stopPropagation(),e&&!this._calcNextItem(1)))||(this._clearFocusedItem(),!1)},enter:function(t){e||this.close();var n=this.option(\"opened\");return n&&t.preventDefault(),n}})},_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{minSearchLength:1,maxItemCount:10,noDataText:\"\",showDropDownButton:!1,searchEnabled:!0})},_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-autocomplete\"),this.setAria(\"autocomplete\",\"inline\")},_displayGetterExpr:function(){return this.option(\"valueExpr\")},_closeOutsideDropDownHandler:function(e){var t=e.target;return!(0,i.default)(t).closest(this.$element()).length},_renderDimensions:function(){this.callBase(),this._updatePopupWidth(),this._updateListDimensions()},_popupWrapperClass:function(){return this.callBase()+\" dx-autocomplete-popup-wrapper\"},_listConfig:function(){var e=this;return(0,r.extend)(this.callBase(),{pageLoadMode:\"none\",onSelectionChanged:function(t){e._setSelectedItem(t.addedItems[0])}})},_listItemClickHandler:function(e){this._saveValueChangeEvent(e.event);var t=this._displayGetter(e.itemData);this.option(\"value\",t),this.close()},_setListDataSource:function(){this._list&&(this._list.option(\"selectedItems\",[]),this.callBase())},_refreshSelected:o.noop,_searchCanceled:function(){this.callBase(),this.close()},_loadItem:function(e,t){var n=this._getItemFromPlain(e,t);return(new l.Deferred).resolve(n).promise()},_dataSourceOptions:function(){return{paginate:!0,pageSize:this.option(\"maxItemCount\")}},_searchDataSource:function(e){this._dataSource.pageSize(this.option(\"maxItemCount\")),this.callBase(e),this._clearFocusedItem()},_clearFocusedItem:function(){this._list&&(this._list.option(\"focusedElement\",null),this._list.option(\"selectedIndex\",-1))},_renderValueEventName:function(){return\"input keyup\"},_valueChangeEventHandler:function(e){var t=this._input().val()||null;return this.callBase(e,t)},_optionChanged:function(e){switch(e.name){case\"maxItemCount\":this._searchDataSource();break;case\"valueExpr\":this._compileDisplayGetter(),this._setListOption(\"displayExpr\",this._displayGetterExpr()),this.callBase(e);break;default:this.callBase(e)}},reset:function(){this.callBase(),this.close()}});(0,a.default)(\"dxAutocomplete\",c);var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},55551:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=f(n(99393)),a=n(13306),r=n(58201),s=n(78008),l=n(35922),u=n(80968),d=n(95479),c=f(n(54778)),h=f(n(11050));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m={row:\"minWidth\",col:\"minHeight\"},_={row:\"maxWidth\",col:\"maxHeight\"},v={start:\"flex-start\",end:\"flex-end\",center:\"center\",\"space-between\":\"space-between\",\"space-around\":\"space-around\"},y={start:\"flex-start\",end:\"flex-end\",center:\"center\",stretch:\"stretch\"},b={row:\"row\",col:\"column\"},x=function(e,t,n){if(n=(0,u.normalizeStyleProp)(t,n),e.style[(0,u.styleProp)(t)]=n,!(0,r.hasWindow)()){if(\"\"===n||!(0,l.isDefined)(n))return;var i=(0,s.dasherize)(t)+\": \"+n+\";\";(0,u.setStyle)(e,i,!1)}},w=function(e){function t(){return e.apply(this,arguments)||this}return p(t,e),t.prototype._renderVisible=function(t,n){e.prototype._renderVisible.call(this,t),(0,l.isDefined)(n)&&this._options.fireItemStateChangedAction({name:\"visible\",state:t,oldState:n})},t}(c.default),C=function(){function e(e,t){this._$element=e,this._option=t}var t=e.prototype;return t.renderBox=function(){this._$element.css({display:(0,u.stylePropPrefix)(\"flexDirection\")+\"flex\"}),x(this._$element.get(0),\"flexDirection\",b[this._option(\"direction\")])},t.renderAlign=function(){this._$element.css({justifyContent:this._normalizedAlign()})},t._normalizedAlign=function(){var e=this._option(\"align\");return e in v?v[e]:e},t.renderCrossAlign=function(){this._$element.css({alignItems:this._normalizedCrossAlign()})},t._normalizedCrossAlign=function(){var e=this._option(\"crossAlign\");return e in y?y[e]:e},t.renderItems=function(e){var t=(0,u.stylePropPrefix)(\"flexDirection\"),n=this._option(\"direction\");(0,d.each)(e,(function(){var e=(0,i.default)(this),o=e.data(\"dxBoxItemData\");e.css({display:t+\"flex\"}).css(_[n],o.maxSize||\"none\").css(m[n],o.minSize||\"0\"),x(e.get(0),\"flexBasis\",o.baseSize||0),x(e.get(0),\"flexGrow\",o.ratio),x(e.get(0),\"flexShrink\",(0,l.isDefined)(o.shrink)?o.shrink:1),e.children().each((function(e,t){(0,i.default)(t).css({width:\"auto\",height:\"auto\",display:(0,u.stylePropPrefix)(\"flexDirection\")+\"flex\",flexBasis:0}),x(t,\"flexGrow\",1),x(t,\"flexDirection\",(0,i.default)(t)[0].style.flexDirection||\"column\")}))}))},e}(),S=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{direction:\"row\",align:\"start\",crossAlign:\"stretch\",activeStateEnabled:!1,focusStateEnabled:!1,onItemStateChanged:void 0,_queue:void 0})},n._itemClass=function(){return\"dx-box-item\"},n._itemDataKey=function(){return\"dxBoxItemData\"},n._itemElements=function(){return this._itemContainer().children(this._itemSelector())},n._init=function(){e.prototype._init.call(this),this.$element().addClass(\"dx-box-flex\"),this._initLayout(),this._initBoxQueue()},n._initLayout=function(){this._layout=new C(this.$element(),this.option.bind(this))},n._initBoxQueue=function(){this._queue=this.option(\"_queue\")||[]},n._queueIsNotEmpty=function(){return!this.option(\"_queue\")&&!!this._queue.length},n._pushItemToQueue=function(e,t){this._queue.push({$item:e,config:t})},n._shiftItemFromQueue=function(){return this._queue.shift()},n._initMarkup=function(){this.$element().addClass(\"dx-box\"),this._layout.renderBox(),e.prototype._initMarkup.call(this),this._renderAlign(),this._renderActions()},n._renderActions=function(){this._onItemStateChanged=this._createActionByOption(\"onItemStateChanged\")},n._renderAlign=function(){this._layout.renderAlign(),this._layout.renderCrossAlign()},n._renderItems=function(n){for(e.prototype._renderItems.call(this,n);this._queueIsNotEmpty();){var i=this._shiftItemFromQueue();this._createComponent(i.$item,t,(0,a.extend)({itemTemplate:this.option(\"itemTemplate\"),itemHoldTimeout:this.option(\"itemHoldTimeout\"),onItemHold:this.option(\"onItemHold\"),onItemClick:this.option(\"onItemClick\"),onItemContextMenu:this.option(\"onItemContextMenu\"),onItemRendered:this.option(\"onItemRendered\"),_queue:this._queue},i.config))}this._layout.renderItems(this._itemElements())},n._renderItemContent=function(t){var n=t.itemData&&t.itemData.node;return n?this._renderItemContentByNode(t,n):e.prototype._renderItemContent.call(this,t)},n._postprocessRenderItem=function(e){var t=e.itemData.box;t&&this._pushItemToQueue(e.itemContent,t)},n._createItemByTemplate=function(t,n){return n.itemData.box?t.source?t.source():(0,i.default)():e.prototype._createItemByTemplate.call(this,t,n)},n._itemOptionChanged=function(t,n,i,o){\"visible\"===n&&this._onItemStateChanged({name:n,state:i,oldState:!1!==o}),e.prototype._itemOptionChanged.call(this,t,n,i)},n._optionChanged=function(t){switch(t.name){case\"_queue\":case\"direction\":this._invalidate();break;case\"align\":this._layout.renderAlign();break;case\"crossAlign\":this._layout.renderCrossAlign();break;default:e.prototype._optionChanged.call(this,t)}},n._itemOptions=function(){var t=this,n=e.prototype._itemOptions.call(this);return n.fireItemStateChangedAction=function(e){t._onItemStateChanged(e)},n},t}(h.default);S.ItemClass=w,(0,o.default)(\"dxBox\",S);var k=S;t.default=k,e.exports=t.default,e.exports.default=t.default},63008:function(e,t,n){var i;t.default=void 0;var o=((i=n(83151))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},28236:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=c(n(14390)),a=c(n(63008)),r=c(n(11050)),s=c(n(99393)),l=n(13306),u=n(35922),d=n(93280);function c(e){return e&&e.__esModule?e:{default:e}}var h=r.default.inherit({_initTemplates:function(){var e=this;this.callBase(),this._templateManager.addDefaultTemplates({item:new d.BindableTemplate((function(t,n,i){e._prepareItemStyles(t);var o=e.option(\"buttonTemplate\");e._createComponent(t,a.default,(0,l.extend)({},i,n,e._getBasicButtonOptions(),{_templateData:e._hasCustomTemplate(o)?i:{},template:i.template||o}))}),[\"text\",\"type\",\"icon\",\"disabled\",\"visible\",\"hint\"],this.option(\"integrationOptions.watchMethod\"))})},_getBasicButtonOptions:function(){return{focusStateEnabled:!1,onClick:null,hoverStateEnabled:this.option(\"hoverStateEnabled\"),activeStateEnabled:this.option(\"activeStateEnabled\"),stylingMode:this.option(\"stylingMode\")}},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{itemTemplateProperty:null})},_hasCustomTemplate:function(e){return(0,u.isFunction)(e)||this.option(\"integrationOptions.templates\")[e]},_prepareItemStyles:function(e){var t=e.data(\"dxItemIndex\");0===t&&e.addClass(\"dx-buttongroup-first-item\");var n=this.option(\"items\");n&&t===n.length-1&&e.addClass(\"dx-buttongroup-last-item\"),e.addClass(\"dx-shape-standard\")},_renderItemContent:function(e){return e.container=(0,i.default)(e.container).parent(),this.callBase(e)},_setAriaSelectionAttribute:function(e,t){this.setAria(\"pressed\",t,e)},_renderItemContentByNode:function(e,t){return e.container=(0,i.default)(e.container.children().first()),this.callBase(e,t)},_focusTarget:function(){return this.$element().parent()},_keyboardEventBindingTarget:function(){return this._focusTarget()},_refreshContent:function(){this._prepareContent(),this._renderContent()},_itemClass:function(){return\"dx-buttongroup-item\"},_itemSelectHandler:function(e){\"single\"===this.option(\"selectionMode\")&&this.isItemSelected(e.currentTarget)||this.callBase(e)}}),f=o.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{hoverStateEnabled:!0,focusStateEnabled:!0,selectionMode:\"single\",selectedItems:[],selectedItemKeys:[],stylingMode:\"contained\",keyExpr:\"text\",items:[],buttonTemplate:\"content\",onSelectionChanged:null,onItemClick:null})},_init:function(){this.callBase(),this._createItemClickAction()},_createItemClickAction:function(){this._itemClickAction=this._createActionByOption(\"onItemClick\")},_initMarkup:function(){this.setAria(\"role\",\"group\"),this.$element().addClass(\"dx-buttongroup\"),this._renderButtons(),this._syncSelectionOptions(),this.callBase()},_fireSelectionChangeEvent:function(e,t){this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})({addedItems:e,removedItems:t})},_renderButtons:function(){var e=this,t=(0,i.default)(\"<div>\").addClass(\"dx-buttongroup-wrapper\").appendTo(this.$element()),n=this.option(\"selectedItems\"),o={selectionMode:this.option(\"selectionMode\"),items:this.option(\"items\"),keyExpr:this.option(\"keyExpr\"),buttonTemplate:this.option(\"buttonTemplate\"),scrollingEnabled:!1,selectedItemKeys:this.option(\"selectedItemKeys\"),focusStateEnabled:this.option(\"focusStateEnabled\"),hoverStateEnabled:this.option(\"hoverStateEnabled\"),activeStateEnabled:this.option(\"activeStateEnabled\"),stylingMode:this.option(\"stylingMode\"),accessKey:this.option(\"accessKey\"),tabIndex:this.option(\"tabIndex\"),noDataText:\"\",selectionRequired:!1,onItemRendered:function(t){var n=e.option(\"width\");(0,u.isDefined)(n)&&(0,i.default)(t.itemElement).addClass(\"dx-buttongroup-item-has-width\")},onSelectionChanged:function(t){e._syncSelectionOptions(),e._fireSelectionChangeEvent(t.addedItems,t.removedItems)},onItemClick:function(t){e._itemClickAction(t)}};(0,u.isDefined)(n)&&n.length&&(o.selectedItems=n),this._buttonsCollection=this._createComponent(t,h,o)},_syncSelectionOptions:function(){this._setOptionWithoutOptionChange(\"selectedItems\",this._buttonsCollection.option(\"selectedItems\")),this._setOptionWithoutOptionChange(\"selectedItemKeys\",this._buttonsCollection.option(\"selectedItemKeys\"))},_optionChanged:function(e){switch(e.name){case\"stylingMode\":case\"selectionMode\":case\"keyExpr\":case\"buttonTemplate\":case\"items\":case\"activeStateEnabled\":case\"focusStateEnabled\":case\"hoverStateEnabled\":case\"tabIndex\":this._invalidate();break;case\"selectedItemKeys\":case\"selectedItems\":this._buttonsCollection.option(e.name,e.value);break;case\"onItemClick\":this._createItemClickAction();break;case\"onSelectionChanged\":break;case\"width\":this.callBase(e),this._buttonsCollection.itemElements().toggleClass(\"dx-buttongroup-item-has-width\",!!e.value);break;default:this.callBase(e)}}});(0,s.default)(\"dxButtonGroup\",f);var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},26559:function(e,t,n){var i;t.default=void 0;var o=((i=n(36989))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},15360:function(e,t,n){t.default=void 0;var i=_(n(68374)),o=_(n(73349)),a=_(n(55994)),r=n(97906),s=n(6415),l=_(n(14390)),u=_(n(91198)),d=n(13306),c=n(20576),h=_(n(69434)),f=_(n(28109)),p=n(39611),g=n(95429),m=n(24028);function _(e){return e&&e.__esModule?e:{default:e}}var v=l.default.abstract,y=\"td:not(.\".concat(\"dx-calendar-week-number-cell\",\")\"),b=(0,p.addNamespace)(g.name,\"dxCalendar\"),x=(0,p.addNamespace)(m.start,\"dxCalendar\"),w=l.default.inherit({_getViewName:function(){return\"base\"},_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{date:new Date,focusStateEnabled:!1,cellTemplate:null,disabledDates:null,onCellClick:null,onCellHover:null,rowCount:3,colCount:4,allowValueSelection:!0,_todayDate:function(){return new Date}})},_initMarkup:function(){this.callBase(),this._renderImpl()},_renderImpl:function(){this.$element().append(this._createTable()),this._createDisabledDatesHandler(),this._renderBody(),this._renderContouredDate(),this._renderValue(),this._renderRange(),this._renderEvents()},_createTable:function(){this._$table=(0,i.default)(\"<table>\");var e=f.default.format(\"dxCalendar-ariaWidgetName\"),t=f.default.format(\"dxCalendar-ariaHotKeysInfo\");return this.setAria({label:\"\".concat(e,\". \").concat(t),role:\"grid\"},this._$table),this._$table},_renderBody:function(){this.$body=(0,i.default)(\"<tbody>\").appendTo(this._$table);for(var e={cellDate:this._getFirstCellData(),prevCellDate:null},t=0,n=this.option(\"rowCount\");t<n;t++){e.row=this._createRow();for(var o=0,a=this.option(\"colCount\");o<a;o++)this._renderCell(e,o);this._renderWeekNumberCell(e)}},_createRow:function(){var e=o.default.createElement(\"tr\");return this.setAria(\"role\",\"row\",(0,i.default)(e)),this.$body.get(0).appendChild(e),e},_createCell:function(e,t){var n=o.default.createElement(\"td\"),a=(0,i.default)(n);return n.className=this._getClassNameByDate(e,t),n.setAttribute(\"data-value\",h.default.serializeDate(e,u.default.getShortDateFormat())),(0,r.data)(n,\"dxDateValueKey\",e),this.setAria({role:\"gridcell\",label:this.getCellAriaLabel(e)},a),{cell:n,$cell:a}},_renderCell:function(e,t){var n=e.cellDate,o=e.prevCellDate,a=e.row;o&&u.default.fixTimezoneGap(o,n),e.prevCellDate=n;var r=this._createCell(n,t),s=r.cell,l=r.$cell,d=this.option(\"cellTemplate\");(0,i.default)(a).append(s),d?d.render(this._prepareCellTemplateData(n,t,l)):s.innerHTML=this._getCellText(n),e.cellDate=this._getNextCellData(n)},_getClassNameByDate:function(e,t){var n=\"dx-calendar-cell\";return this._isTodayCell(e)&&(n+=\" \".concat(\"dx-calendar-today\")),(this._isDateOutOfRange(e)||this.isDateDisabled(e))&&(n+=\" \".concat(\"dx-calendar-empty-cell\")),this._isOtherView(e)&&(n+=\" \".concat(\"dx-calendar-other-view\")),\"range\"===this.option(\"selectionMode\")&&(0===t&&(n+=\" \".concat(\"dx-calendar-cell-start-in-row\")),t===this.option(\"colCount\")-1&&(n+=\" \".concat(\"dx-calendar-cell-end-in-row\")),this._isStartDayOfMonth(e)&&(n+=\" \".concat(\"dx-calendar-cell-start\")),this._isEndDayOfMonth(e)&&(n+=\" \".concat(\"dx-calendar-cell-end\"))),n},_prepareCellTemplateData:function(e,t,n){var i=e instanceof Date;return{model:{text:i?this._getCellText(e):e,date:i?e:void 0,view:this._getViewName()},container:(0,s.getPublicElement)(n),index:t}},_renderEvents:function(){var e=this;this._createCellClickAction(),a.default.off(this._$table,b),a.default.on(this._$table,b,y,(function(t){(0,i.default)(t.currentTarget).hasClass(\"dx-calendar-empty-cell\")||e._cellClickAction({event:t,value:(0,i.default)(t.currentTarget).data(\"dxDateValueKey\")})})),a.default.off(this._$table,x),\"range\"===this.option(\"selectionMode\")&&(this._createCellHoverAction(),a.default.on(this._$table,x,y,(function(t){(0,i.default)(t.currentTarget).hasClass(\"dx-calendar-empty-cell\")||e._cellHoverAction({event:t,value:(0,i.default)(t.currentTarget).data(\"dxDateValueKey\")})})))},_createCellClickAction:function(){this._cellClickAction=this._createActionByOption(\"onCellClick\")},_createCellHoverAction:function(){this._cellHoverAction=this._createActionByOption(\"onCellHover\")},_createDisabledDatesHandler:function(){var e=this.option(\"disabledDates\");this._disabledDatesHandler=Array.isArray(e)?this._getDefaultDisabledDatesHandler(e):e||c.noop},_getDefaultDisabledDatesHandler:function(e){return c.noop},_isTodayCell:v,_isDateOutOfRange:v,isDateDisabled:function(e){var t={date:e,view:this._getViewName()};return this._disabledDatesHandler(t)},_isOtherView:v,_isStartDayOfMonth:v,_isEndDayOfMonth:v,_getCellText:v,_getFirstCellData:v,_getNextCellData:v,_renderContouredDate:function(e){if(this.option(\"focusStateEnabled\")){e=e||this.option(\"contouredDate\");var t=this._getContouredCell(),n=this._getCellByDate(e);t.removeClass(\"dx-calendar-contoured-date\"),e&&n.addClass(\"dx-calendar-contoured-date\")}},_getContouredCell:function(){return this._$table.find(\".\".concat(\"dx-calendar-contoured-date\"))},_renderValue:function(){if(this.option(\"allowValueSelection\")){var e=this.option(\"value\");Array.isArray(e)||(e=[e]),this._updateSelectedClass(e)}},_updateSelectedClass:function(e){var t,n=this;this._isRangeMode()&&!this._isMonthView()||(null===(t=this._$selectedCells)||void 0===t||t.forEach((function(e){e.removeClass(\"dx-calendar-selected-date\")})),this._$selectedCells=e.map((function(e){return n._getCellByDate(e)})),this._$selectedCells.forEach((function(e){e.addClass(\"dx-calendar-selected-date\")})))},_renderRange:function(){var e,t,n,i,o,a,r,s,l=this,u=this.option(),d=u.allowValueSelection,c=u.value,h=u.range;d&&this._isRangeMode()&&this._isMonthView()&&(null===(e=this._$rangeCells)||void 0===e||e.forEach((function(e){e.removeClass(\"dx-calendar-cell-in-range\")})),null===(t=this._$hoveredRangeCells)||void 0===t||t.forEach((function(e){e.removeClass(\"dx-calendar-cell-range-hover\")})),null===(n=this._$rangeStartHoverCell)||void 0===n||n.removeClass(\"dx-calendar-cell-range-hover-start\"),null===(i=this._$rangeEndHoverCell)||void 0===i||i.removeClass(\"dx-calendar-cell-range-hover-end\"),null===(o=this._$rangeStartDateCell)||void 0===o||o.removeClass(\"dx-calendar-range-start-date\"),null===(a=this._$rangeEndDateCell)||void 0===a||a.removeClass(\"dx-calendar-range-end-date\"),this._$rangeCells=h.map((function(e){return l._getCellByDate(e)})),this._$rangeStartDateCell=this._getCellByDate(c[0]),this._$rangeEndDateCell=this._getCellByDate(c[1]),this._$rangeCells.forEach((function(e){e.addClass(\"dx-calendar-cell-in-range\")})),null===(r=this._$rangeStartDateCell)||void 0===r||r.addClass(\"dx-calendar-range-start-date\"),null===(s=this._$rangeEndDateCell)||void 0===s||s.addClass(\"dx-calendar-range-end-date\"))},_renderHoveredRange:function(){var e,t,n,i,o,a=this,r=this.option(),s=r.allowValueSelection,l=r.hoveredRange;s&&this._isRangeMode()&&this._isMonthView()&&(null===(e=this._$hoveredRangeCells)||void 0===e||e.forEach((function(e){e.removeClass(\"dx-calendar-cell-range-hover\")})),null===(t=this._$rangeStartHoverCell)||void 0===t||t.removeClass(\"dx-calendar-cell-range-hover-start\"),null===(n=this._$rangeEndHoverCell)||void 0===n||n.removeClass(\"dx-calendar-cell-range-hover-end\"),this._$hoveredRangeCells=l.map((function(e){return a._getCellByDate(e)})),this._$rangeStartHoverCell=this._getCellByDate(l[0]),this._$rangeEndHoverCell=this._getCellByDate(l[l.length-1]),this._$hoveredRangeCells.forEach((function(e){e.addClass(\"dx-calendar-cell-range-hover\")})),null===(i=this._$rangeStartHoverCell)||void 0===i||i.addClass(\"dx-calendar-cell-range-hover-start\"),null===(o=this._$rangeEndHoverCell)||void 0===o||o.addClass(\"dx-calendar-cell-range-hover-end\"))},_isMonthView:function(){return\"month\"===this.option(\"zoomLevel\")},_isRangeMode:function(){return\"range\"===this.option(\"selectionMode\")},getCellAriaLabel:function(e){return this._getCellText(e)},_getFirstAvailableDate:function(){var e=this.option(\"date\"),t=this.option(\"min\");return e=u.default.getViewFirstCellDate(this._getViewName(),e),new Date(t&&e<t?t:e)},_getCellByDate:v,isBoundary:v,_optionChanged:function(e){var t=e.name,n=e.value;switch(t){case\"value\":this._renderValue();break;case\"range\":this._renderRange();break;case\"hoveredRange\":this._renderHoveredRange();break;case\"contouredDate\":this._renderContouredDate(n);break;case\"onCellClick\":this._createCellClickAction();break;case\"onCellHover\":this._createCellHoverAction();break;case\"min\":case\"max\":case\"disabledDates\":case\"cellTemplate\":case\"selectionMode\":this._invalidate();break;case\"_todayDate\":this._renderBody();break;default:this.callBase(e)}}});t.default=w,e.exports=t.default,e.exports.default=t.default},36989:function(e,t,n){t.default=void 0;var i=n(58664),o=A(n(68374)),a=A(n(73176)),r=A(n(99393)),s=n(20576),l=n(35922),u=n(60810),d=n(13306),c=A(n(63008)),h=A(n(96452)),f=A(n(66894)),p=A(n(69221)),g=A(n(92633)),m=n(31648),_=A(n(91198)),v=A(n(69434)),y=A(n(20530)),b=A(n(87209)),x=n(58201),w=A(n(28109)),C=A(n(91500)),S=n(68494),k=n(39611),D=A(n(19769)),I=A(n(76095)),T=A(n(76276)),E=n(24028),O=A(n(55994));function A(e){return e&&e.__esModule?e:{default:e}}function P(){return(P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var M=(0,k.addNamespace)(E.end,\"dxCalendar\"),R={month:3,year:2,decade:1,century:0},B=\"month\",L=\"year\",V=\"decade\",F=\"century\",H={SingleSelection:D.default,MultiSelection:I.default,RangeSelection:T.default};var N=h.default.inherit({_activeStateUnit:\".dx-calendar-cell\",_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,currentDate:new Date,value:null,values:[],dateSerializationFormat:void 0,min:new Date(1e3,0),max:new Date(3e3,0),firstDayOfWeek:void 0,viewsCount:1,zoomLevel:B,maxZoomLevel:B,minZoomLevel:F,selectionMode:\"single\",showTodayButton:!1,showWeekNumbers:!1,weekNumberRule:\"auto\",cellTemplate:\"cell\",disabledDates:null,onCellClick:null,onContouredChanged:null,skipFocusCheck:!1,_todayDate:function(){return new Date}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===y.default.real().deviceType&&!y.default.isSimulator()},options:{focusStateEnabled:!0}}])},_supportedKeys:function(){return(0,d.extend)(this.callBase(),{rightArrow:function(e){e.preventDefault(),(0,k.isCommandKeyPressed)(e)?this._waitRenderView(1):this._moveCurrentDateByOffset(1*this._getRtlCorrection())},leftArrow:function(e){e.preventDefault(),(0,k.isCommandKeyPressed)(e)?this._waitRenderView(-1):this._moveCurrentDateByOffset(-1*this._getRtlCorrection())},upArrow:function(e){if(e.preventDefault(),(0,k.isCommandKeyPressed)(e))this._navigateUp();else{if(b.default.isAnimating(this._view.$element()))return;this._moveCurrentDateByOffset(-1*this._view.option(\"colCount\"))}},downArrow:function(e){if(e.preventDefault(),(0,k.isCommandKeyPressed)(e))this._navigateDown();else{if(b.default.isAnimating(this._view.$element()))return;this._moveCurrentDateByOffset(1*this._view.option(\"colCount\"))}},home:function(e){e.preventDefault();var t=this.option(\"zoomLevel\"),n=this.option(\"currentDate\"),i=this._dateOption(\"min\");if(!this._view.isDateDisabled(n)){var o=_.default.sameView(t,n,i)?i:_.default.getViewFirstCellDate(t,n);this._moveToClosestAvailableDate(o)}},end:function(e){e.preventDefault();var t=this.option(\"zoomLevel\"),n=this.option(\"currentDate\"),i=this._dateOption(\"max\");if(!this._view.isDateDisabled(n)){var o=_.default.sameView(t,n,i)?i:_.default.getViewLastCellDate(t,n);this._moveToClosestAvailableDate(o)}},pageUp:function(e){e.preventDefault(),this._waitRenderView(-1*this._getRtlCorrection())},pageDown:function(e){e.preventDefault(),this._waitRenderView(1*this._getRtlCorrection())},tab:s.noop,enter:this._enterKeyHandler})},_enterKeyHandler:function(e){if(this._isMaxZoomLevel()){if(!this._view.isDateDisabled(this.option(\"currentDate\"))){var t=this._updateTimeComponent(this.option(\"currentDate\"));this._selectionStrategy.selectValue(t,e)}}else this._navigateDown()},_getSerializationFormat:function(e){var t=this.option(e||\"value\");return this.option(\"dateSerializationFormat\")?this.option(\"dateSerializationFormat\"):(0,l.isNumeric)(t)?\"number\":(0,l.isString)(t)?v.default.getDateSerializationFormat(t):void 0},_convertToDate:function(e){return v.default.deserializeDate(e)},_dateValue:function(e,t){var n=Array.isArray(e)?\"values\":\"value\";if(t){if(\"keydown\"===t.type){var i=this._view._getContouredCell().get(0);t.target=i}this._saveValueChangeEvent(t)}this._dateOption(n,e)},_dateOption:function(e,t){var n=this;if(1===arguments.length){var i,o=null!==(i=this.option(\"values\"))&&void 0!==i?i:[];return\"values\"===e?o.map((function(e){return n._convertToDate(e)})):this._convertToDate(this.option(e))}var a=this._getSerializationFormat(e),r=\"values\"===e?(null==t?void 0:t.map((function(e){return v.default.serializeDate(e,a)})))||[]:v.default.serializeDate(t,a);this.option(e,r)},_shiftDate:function(e,t,n,i){switch(e){case B:t.setDate(t.getDate()+n*i);break;case L:t.setMonth(t.getMonth()+n*i);break;case V:t.setFullYear(t.getFullYear()+n*i);break;case F:t.setFullYear(t.getFullYear()+10*n*i)}},_moveCurrentDateByOffset:function(e){var t=this.option(\"currentDate\"),n=new Date(t),i=this.option(\"zoomLevel\");this._shiftDate(i,n,e,1);for(var o=this._getMaxDate(),a=this._getMinDate(),r=this._areDatesInNeighborView(i,n,t),s=(0,u.inRange)(n,a,o)&&r,l=new Date(n);s;){if(!this._view.isDateDisabled(l)){n=l;break}this._shiftDate(i,l,e,1),r=this._areDatesInNeighborView(i,l,t),s=(0,u.inRange)(l,a,o)&&r}this._view.isDateDisabled(t)||this._view.isDateDisabled(n)?this._waitRenderView(e>0?1:-1):(this._skipNavigate=!0,this.option(\"currentDate\",n))},_areDatesInSameView:function(e,t,n){switch(e){case B:return t.getMonth()===n.getMonth();case L:return t.getYear()===n.getYear();case V:return parseInt(t.getYear()/10)===parseInt(n.getYear()/10);case F:return parseInt(t.getYear()/100)===parseInt(n.getYear()/100)}},_areDatesInNeighborView:function(e,t,n){var i,o,a;switch(e){case B:return i=t.getMonth(),o=n.getMonth(),a=Math.abs(i-o),Math.min(a,12-a)<=1;case L:return Math.abs(t.getYear()-n.getYear())<=1;case V:return Math.abs(t.getYear()-n.getYear())<=10;case F:return Math.abs(t.getYear()-n.getYear())<=100}},_moveToClosestAvailableDate:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.option(\"currentDate\"),i=new Date(n),o=this.option(\"zoomLevel\"),a=!this._isDateNotAvailable(i),r=a,s=a,l=new Date(i),u=new Date(i);do{if(r){i=l;break}if(s){i=u;break}this._shiftDate(o,l,1,1),this._shiftDate(o,u,1,-1),e=this._areDatesInSameView(o,l,n),t=this._areDatesInSameView(o,u,n),r=e&&!this._isDateNotAvailable(l),s=t&&!this._isDateNotAvailable(u)}while(e||t);this.option(\"currentDate\",i)},_isDateNotAvailable:function(e){var t=this._getMaxDate(),n=this._getMinDate();return!(0,u.inRange)(e,n,t)||this._view.isDateDisabled(e)},_init:function(){this.callBase(),this._initSelectionStrategy(),this._correctZoomLevel(),this._initCurrentDate(),this._initActions()},_initSelectionStrategy:function(){var e=this._getSelectionStrategyName(),t=H[e];this._selectionStrategy&&this._selectionStrategy.NAME===e||(this._selectionStrategy=new t(this))},_refreshSelectionStrategy:function(){this._initSelectionStrategy(),this._refresh()},_getSelectionStrategyName:function(){switch(this.option(\"selectionMode\")){case\"multi\":return\"MultiSelection\";case\"range\":return\"RangeSelection\";default:return\"SingleSelection\"}},_correctZoomLevel:function(){var e=this.option(\"minZoomLevel\"),t=this.option(\"maxZoomLevel\"),n=this.option(\"zoomLevel\");R[t]<R[e]||(R[n]>R[t]?this.option(\"zoomLevel\",t):R[n]<R[e]&&this.option(\"zoomLevel\",e))},_initCurrentDate:function(){var e,t=null!==(e=this._getNormalizedDate(this._selectionStrategy.getDefaultCurrentDate()))&&void 0!==e?e:this._getNormalizedDate(this.option(\"currentDate\"));this.option(\"currentDate\",t)},_getNormalizedDate:function(e){return e=_.default.normalizeDate(e,this._getMinDate(),this._getMaxDate()),(0,l.isDefined)(e)?this._getDate(e):e},_initActions:function(){this._cellClickAction=this._createActionByOption(\"onCellClick\"),this._onContouredChanged=this._createActionByOption(\"onContouredChanged\")},_initTemplates:function(){this._templateManager.addDefaultTemplates({cell:new S.FunctionTemplate((function(e){var t=e.model;(0,o.default)(e.container).append((0,o.default)(\"<span>\").text(t&&t.text||String(t)))}))}),this.callBase()},_updateCurrentDate:function(e){if(b.default.isAnimating(this._$viewsWrapper)&&b.default.stop(this._$viewsWrapper,!0),this._getMinDate()>this._getMaxDate())this.option(\"currentDate\",new Date);else{var t=this._getNormalizedDate(e);if(e.getTime()===t.getTime()){var n=this._getViewsOffset(this._view.option(\"date\"),t);0!==n&&!this._isMaxZoomLevel()&&this._isOtherViewCellClicked&&(n=0),this._view&&0!==n&&!this._suppressNavigation?this._additionalView?n>2||n<-1?(this._refreshViews(),this._setViewContoured(t),this._updateAriaId(t),this._renderNavigator()):1===n&&this._skipNavigate?(this._setViewContoured(t),this._updateAriaId(t)):this._navigate(n,t):this._navigate(n,t):(this._renderNavigator(),this._setViewContoured(t),this._updateAriaId(t)),this._skipNavigate=!1}else this.option(\"currentDate\",new Date(t))}},_isAdditionalViewDate:function(e){return!!this._additionalView&&e>=this._additionalView._getFirstAvailableDate()},_getActiveView:function(e){return this._isAdditionalViewDate(e)?this._additionalView:this._view},_setViewContoured:function(e){var t;(this.option(\"skipFocusCheck\")||this._focusTarget().hasClass(\"dx-state-focused\"))&&(this._view.option(\"contouredDate\",null),null===(t=this._additionalView)||void 0===t||t.option(\"contouredDate\",null),(this._isAdditionalViewDate(e)?this._additionalView:this._view).option(\"contouredDate\",e))},_getMinDate:function(){var e=this.option(\"_rangeMin\");return e||(this.min||(this.min=this._dateOption(\"min\")||new Date(1e3,0)),this.min)},_getMaxDate:function(){var e=this.option(\"_rangeMax\");return e||(this.max||(this.max=this._dateOption(\"max\")||new Date(3e3,0)),this.max)},_getViewsOffset:function(e,t){var n,i=this.option(\"zoomLevel\");if(i===B)return this._getMonthsOffset(e,t);switch(i){case F:n=100;break;case V:n=10;break;default:n=1}return parseInt(t.getFullYear()/n)-parseInt(e.getFullYear()/n)},_getMonthsOffset:function(e,t){return 12*(t.getFullYear()-e.getFullYear())+(t.getMonth()-e.getMonth())},_waitRenderView:function(e){var t=this;if(!this._alreadyViewRender){this._alreadyViewRender=!0;var n=this._getDateByOffset(e*this._getRtlCorrection());this._moveToClosestAvailableDate(n),this._waitRenderViewTimeout=setTimeout((function(){t._alreadyViewRender=!1}))}},_getRtlCorrection:function(){return this.option(\"rtlEnabled\")?-1:1},_getDateByOffset:function(e,t){var n,i=(t=this._getDate(null!==(n=t)&&void 0!==n?n:this.option(\"currentDate\"))).getDate(),o=_.default.getDifferenceInMonth(this.option(\"zoomLevel\"))*e;t.setDate(1),t.setMonth(t.getMonth()+o);var a=_.default.getLastMonthDate(t).getDate();return t.setDate(i>a?a:i),t},_focusTarget:function(){return this.$element()},_initMarkup:function(){this._renderSubmitElement(),this.callBase();var e=this.$element();e.addClass(\"dx-calendar\"),e.toggleClass(\"dx-calendar-range\",\"range\"===this.option(\"selectionMode\")),this._renderBody(),e.append(this.$body),this._renderViews(),this._renderEvents(),this._renderNavigator(),e.prepend(this._navigator.$element()),this._renderSwipeable(),this._renderFooter(),this._selectionStrategy.updateAriaSelected(),this._updateAriaId(),this.setAria(\"role\",\"application\"),this._moveToClosestAvailableDate()},_render:function(){this.callBase(),this._setViewContoured(this.option(\"currentDate\"))},_renderBody:function(){this._$viewsWrapper||(this.$body=(0,o.default)(\"<div>\").addClass(\"dx-calendar-body\"),this._$viewsWrapper=(0,o.default)(\"<div>\").addClass(\"dx-calendar-views-wrapper\"),this.$body.append(this._$viewsWrapper))},_getKeyboardListeners:function(){return this.callBase().concat([this._view])},_renderViews:function(){this.$element().addClass(\"dx-calendar-view-\"+this.option(\"zoomLevel\"));var e=this.option(),t=e.currentDate,n=e.viewsCount;if(this.$element().toggleClass(\"dx-calendar-multiview\",n>1),this._view=this._renderSpecificView(t),(0,x.hasWindow)()){var i=this._getDateByOffset(-1,t);this._beforeView=this._isViewAvailable(i)?this._renderSpecificView(i):null;var o=this._getDateByOffset(n,t);o.setDate(1),this._afterView=this._isViewAvailable(o)?this._renderSpecificView(o):null}n>1&&(this._additionalView=this._renderSpecificView(this._getDateByOffset(1,t))),this._translateViews()},_renderSpecificView:function(e){var t=this.option().zoomLevel,n=g.default[t],i=(0,o.default)(\"<div>\").appendTo(this._$viewsWrapper),a=this._viewConfig(e);return this._createComponent(i,n,a)},_viewConfig:function(e){var t,n=this.option(\"disabledDates\");return n=(0,l.isFunction)(n)?this._injectComponent(n.bind(this)):n,P({},this._selectionStrategy.getViewOptions(),{date:e,min:this._getMinDate(),max:this._getMaxDate(),firstDayOfWeek:null!==(t=this.option(\"firstDayOfWeek\"))&&void 0!==t?t:C.default.firstDayOfWeekIndex(),showWeekNumbers:this.option(\"showWeekNumbers\"),weekNumberRule:this.option(\"weekNumberRule\"),zoomLevel:this.option(\"zoomLevel\"),tabIndex:void 0,focusStateEnabled:this.option(\"focusStateEnabled\"),hoverStateEnabled:this.option(\"hoverStateEnabled\"),disabledDates:n,onCellClick:this._cellClickHandler.bind(this),cellTemplate:this._getTemplateByOption(\"cellTemplate\"),allowValueSelection:this._isMaxZoomLevel(),_todayDate:this.option(\"_todayDate\")})},_renderEvents:function(){var e=this;O.default.off(this._$viewsWrapper,M),\"range\"===this.option(\"selectionMode\")&&O.default.on(this._$viewsWrapper,M,null,(function(t){e._updateViewsOption(\"hoveredRange\",[])}))},_injectComponent:function(e){var t=this;return function(n){return(0,d.extend)(n,{component:t}),e(n)}},_isViewAvailable:function(e){var t=this.option(\"zoomLevel\"),n=_.default.getViewMinBoundaryDate(t,this._getMinDate()),i=_.default.getViewMaxBoundaryDate(t,this._getMaxDate());return _.default.dateInRange(e,n,i)},_translateViews:function(){var e=this.option().viewsCount;(0,m.move)(this._view.$element(),{left:0,top:0}),this._moveViewElement(this._beforeView,-1),this._moveViewElement(this._afterView,e),this._moveViewElement(this._additionalView,1)},_moveViewElement:function(e,t){e&&(0,m.move)(e.$element(),{left:this._getViewPosition(t),top:0})},_getViewPosition:function(e){return 100*e*(this.option(\"rtlEnabled\")?-1:1)+\"%\"},_cellClickHandler:function(e){var t=this.option(\"zoomLevel\"),n=_.default.getViewDown(t),i=this._isMaxZoomLevel();if(n&&!i)this._navigateDown(e.event.currentTarget);else{var o=this._updateTimeComponent(e.value);this._selectionStrategy.selectValue(o,e.event),this._cellClickAction(e)}},_updateTimeComponent:function(e){var t=new Date(e),n=this._dateOption(\"value\");return n&&(t.setHours(n.getHours()),t.setMinutes(n.getMinutes()),t.setSeconds(n.getSeconds()),t.setMilliseconds(n.getMilliseconds())),t},_isMaxZoomLevel:function(){return this.option(\"zoomLevel\")===this.option(\"maxZoomLevel\")},_navigateDown:function(e){var t=this.option(\"zoomLevel\");if(!this._isMaxZoomLevel()){var n=_.default.getViewDown(t);if(n){var i=this._view.option(\"contouredDate\")||this._view.option(\"date\");e&&(i=(0,o.default)(e).data(\"dxDateValueKey\")),this._isOtherViewCellClicked=!0,this.option(\"currentDate\",i),this.option(\"zoomLevel\",n),this._isOtherViewCellClicked=!1,this._renderNavigator(),this._animateShowView(),this._moveToClosestAvailableDate(),this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))}}},_renderNavigator:function(){this._navigator||(this._navigator=new p.default((0,o.default)(\"<div>\"),this._navigatorConfig())),this._navigator.option(\"text\",this._getViewsCaption(this._view,this._additionalView)),this._updateButtonsVisibility()},_navigatorConfig:function(){var e=this.option().rtlEnabled;return{text:this._getViewsCaption(this._view,this._additionalView),onClick:this._navigatorClickHandler.bind(this),onCaptionClick:this._navigateUp.bind(this),rtlEnabled:e}},_navigatorClickHandler:function(e){var t=this.option(),n=t.currentDate,i=t.viewsCount,o=e.direction;if(i>1){var a=this._isAdditionalViewDate(n);(a&&o<0||!a&&o>0)&&(o*=2)}var r=this._getDateByOffset(o,n);this._moveToClosestAvailableDate(r)},_navigateUp:function(){var e=this.option(\"zoomLevel\"),t=_.default.getViewUp(e);t&&!this._isMinZoomLevel(e)&&(this.option(\"zoomLevel\",t),this._renderNavigator(),this._animateShowView(),this._moveToClosestAvailableDate(),this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\"))))},_isMinZoomLevel:function(e){var t=this._getMinDate(),n=this._getMaxDate();return _.default.sameView(e,t,n)||this.option(\"minZoomLevel\")===e},_updateButtonsVisibility:function(){this._navigator.toggleButton(\"next\",!(0,l.isDefined)(this._afterView)),this._navigator.toggleButton(\"prev\",!(0,l.isDefined)(this._beforeView))},_renderSwipeable:function(){this._swipeable||(this._swipeable=this._createComponent(this.$element(),f.default,{onStart:this._swipeStartHandler.bind(this),onUpdated:this._swipeUpdateHandler.bind(this),onEnd:this._swipeEndHandler.bind(this),itemSizeFunc:this._viewWidth.bind(this)}))},_swipeStartHandler:function(e){b.default.stop(this._$viewsWrapper,!0);var t=this.option().viewsCount;this._toggleGestureCoverCursor(\"grabbing\"),e.event.maxLeftOffset=this._getRequiredView(\"next\")?1/t:0,e.event.maxRightOffset=this._getRequiredView(\"prev\")?1/t:0},_toggleGestureCoverCursor:function(e){(0,o.default)(\".\".concat(\"dx-gesture-cover\")).css(\"cursor\",e)},_getRequiredView:function(e){var t,n=this.option(\"rtlEnabled\");return\"next\"===e?t=n?this._beforeView:this._afterView:\"prev\"===e&&(t=n?this._afterView:this._beforeView),t},_swipeUpdateHandler:function(e){var t=e.event.offset;(0,m.move)(this._$viewsWrapper,{left:t*this._viewWidth(),top:0}),this._updateNavigatorCaption(t)},_swipeEndHandler:function(e){this._toggleGestureCoverCursor(\"auto\");var t=this.option(),n=t.currentDate,i=t.rtlEnabled,o=e.event.targetOffset,a=o?o/Math.abs(o):0,r=this._isAdditionalViewDate(n)&&(i?-1===a:1===a);if(0!==a){var s=-a*this._getRtlCorrection()*(r?2:1),l=this._getDateByOffset(s);this._isDateInInvalidRange(l)&&(l=a>=0?new Date(this._getMinDate()):new Date(this._getMaxDate())),this.option(\"currentDate\",l)}else this._animateWrapper(0,250)},_viewWidth:function(){return this._viewWidthValue||(this._viewWidthValue=(0,i.getWidth)(this.$element())/this.option(\"viewsCount\")),this._viewWidthValue},_updateNavigatorCaption:function(e){e*=this._getRtlCorrection();var t,n,i=this.option(\"viewsCount\")>1;e>.5&&this._beforeView?(t=this._beforeView,n=i&&this._view):e<-.5&&this._afterView?(t=i?this._additionalView:this._afterView,n=i?this._afterView:null):(t=this._view,n=i?this._additionalView:null),this._navigator.option(\"text\",this._getViewsCaption(t,n))},_getViewsCaption:function(e,t){var n=e.getNavigatorCaption();if(this.option().viewsCount>1&&t){var i=t.getNavigatorCaption();n=\"\".concat(n,\" - \").concat(i)}return n},_isDateInInvalidRange:function(e){if(!this._view.isBoundary(e)){var t=this._getMinDate(),n=this._getMaxDate(),i=_.default.normalizeDate(e,t,n);return i===t||i===n}},_renderFooter:function(){var e=this,t=this.option(\"showTodayButton\");if(t){var n=this._createComponent((0,o.default)(\"<div>\"),c.default,{focusStateEnabled:this.option(\"focusStateEnabled\"),text:w.default.format(\"dxCalendar-todayButtonText\"),onClick:function(t){e._toTodayView(t)},type:\"default\",stylingMode:\"text\",integrationOptions:{}}).$element().addClass(\"dx-calendar-today-button\");this._$footer=(0,o.default)(\"<div>\").addClass(\"dx-calendar-footer\").append(n),this.$element().append(this._$footer)}this.$element().toggleClass(\"dx-calendar-with-footer\",t)},_renderSubmitElement:function(){this._$submitElement=(0,o.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element()),this._setSubmitValue(this.option(\"value\"))},_setSubmitValue:function(e){var t=this._convertToDate(e);this._getSubmitElement().val(v.default.serializeDate(t,\"yyyy-MM-dd\"))},_getSubmitElement:function(){return this._$submitElement},_animateShowView:function(){b.default.stop(this._view.$element(),!0),this._popAnimationView(this._view,.6,1,250),this.option(\"viewsCount\")>1&&(b.default.stop(this._additionalView.$element(),!0),this._popAnimationView(this._additionalView,.6,1,250))},_popAnimationView:function(e,t,n,i){return b.default.animate(e.$element(),{type:\"pop\",from:{scale:t,opacity:t},to:{scale:n,opacity:n},duration:i})},_navigate:function(e,t){if(0!==e&&1!==Math.abs(e)&&this._isViewAvailable(t)){var n=this._renderSpecificView(t);e>0?(this._afterView&&this._afterView.$element().remove(),this._afterView=n):(this._beforeView&&this._beforeView.$element().remove(),this._beforeView=n),this._translateViews()}var i=-this._getRtlCorrection()*(e>0?1:e<0?-1:0)*this._viewWidth();this._$viewsWrapper.position().left!==i&&(this._preventViewChangeAnimation?this._wrapperAnimationEndHandler(e,t):this._animateWrapper(i,250).done(this._wrapperAnimationEndHandler.bind(this,e,t)))},_animateWrapper:function(e,t){return b.default.animate(this._$viewsWrapper,{type:\"slide\",from:{left:this._$viewsWrapper.position().left},to:{left:e},duration:t})},_getDate:function(e){return new Date(e)},_toTodayView:function(e){var t=new Date;this._isMaxZoomLevel()?this._selectionStrategy.selectValue(t,e.event):(this._preventViewChangeAnimation=!0,this.option(\"zoomLevel\",this.option(\"maxZoomLevel\")),this._selectionStrategy.selectValue(t,e.event),this._animateShowView(),this._preventViewChangeAnimation=!1)},_wrapperAnimationEndHandler:function(e,t){this._rearrangeViews(e),this._translateViews(),this._resetLocation(),this._renderNavigator(),this._setViewContoured(t),this._updateAriaId(t),this._selectionStrategy.updateAriaSelected()},_rearrangeViews:function(e){var t;if(0!==e){var n,i,o,a,r,s=this.option().viewsCount;if(e<0?(n=1,i=\"_beforeView\",o=\"_afterView\",a=\"_view\",r=1===s?\"_view\":\"_additionalView\"):(n=-1,i=\"_afterView\",o=\"_beforeView\",a=1===s?\"_view\":\"_additionalView\",r=\"_view\"),this[i]){var l=this[i].option(\"date\");null===(t=this[o])||void 0===t||t.$element().remove(),this[o]=this._renderSpecificView(this._getDateByOffset(n*s,l)),this[r].$element().remove(),1===s?this[r]=this[i]:(this[r]=this[a],this[a]=this[i]);var u=this._getDateByOffset(-n,l);this[i]=this._isViewAvailable(u)?this._renderSpecificView(u):null}}},_resetLocation:function(){(0,m.move)(this._$viewsWrapper,{left:0,top:0})},_clean:function(){this.callBase(),this._clearViewWidthCache(),delete this._$viewsWrapper,delete this._navigator,delete this._$footer},_clearViewWidthCache:function(){delete this._viewWidthValue},_disposeViews:function(){this._view.$element().remove(),this._beforeView&&this._beforeView.$element().remove(),this._additionalView&&this._additionalView.$element().remove(),this._afterView&&this._afterView.$element().remove(),delete this._view,delete this._additionalView,delete this._beforeView,delete this._afterView,delete this._skipNavigate},_dispose:function(){clearTimeout(this._waitRenderViewTimeout),this.callBase()},_refreshViews:function(){this._resetActiveState(),this._disposeViews(),this._renderViews()},_visibilityChanged:function(){this._translateViews()},_focusInHandler:function(){this.callBase.apply(this,arguments),this._setViewContoured(this.option(\"currentDate\"))},_focusOutHandler:function(){var e;this.callBase.apply(this,arguments),this._view.option(\"contouredDate\",null),null===(e=this._additionalView)||void 0===e||e.option(\"contouredDate\",null)},_updateViewsOption:function(e,t){var n,i,o;this._view.option(e,t),null===(n=this._additionalView)||void 0===n||n.option(e,t),null===(i=this._beforeView)||void 0===i||i.option(e,t),null===(o=this._afterView)||void 0===o||o.option(e,t)},_setViewsMinOption:function(e){this._restoreViewsMinMaxOptions(),this.option(\"_rangeMin\",this._convertToDate(e)),this._updateViewsOption(\"min\",this._getMinDate())},_setViewsMaxOption:function(e){this._restoreViewsMinMaxOptions(),this.option(\"_rangeMax\",this._convertToDate(e)),this._updateViewsOption(\"max\",this._getMaxDate())},_restoreViewsMinMaxOptions:function(){this.option({_rangeMin:null,_rangeMax:null}),this._updateViewsOption(\"min\",this._getMinDate()),this._updateViewsOption(\"max\",this._getMaxDate())},_updateAriaSelected:function(e,t){var n=this;t.forEach((function(e){n.setAria(\"selected\",void 0,n._view._getCellByDate(e))})),e.forEach((function(e){n.setAria(\"selected\",!0,n._view._getCellByDate(e))})),this.option(\"viewsCount\")>1&&(t.forEach((function(e){n.setAria(\"selected\",void 0,n._additionalView._getCellByDate(e))})),e.forEach((function(e){n.setAria(\"selected\",!0,n._additionalView._getCellByDate(e))})))},_updateAriaId:function(e){var t;e=null!==(t=e)&&void 0!==t?t:this.option(\"currentDate\");var n=\"dx-\"+new a.default,i=this._getActiveView(e)._getCellByDate(e);this.setAria(\"id\",n,i),this.setAria(\"activedescendant\",n),this._onContouredChanged(n)},_suppressingNavigation:function(e,t){this._suppressNavigation=!0,e.apply(this,t),delete this._suppressNavigation},_optionChanged:function(e){var t=e.value,n=e.previousValue;switch(e.name){case\"width\":this.callBase(e),this._clearViewWidthCache();break;case\"min\":case\"max\":this.min=void 0,this.max=void 0,this._suppressingNavigation(this._updateCurrentDate,[this.option(\"currentDate\")]),this._refreshViews(),this._renderNavigator();break;case\"selectionMode\":this._refreshSelectionStrategy(),this._initCurrentDate();break;case\"firstDayOfWeek\":this._refreshViews(),this._updateButtonsVisibility();break;case\"currentDate\":this.setAria(\"id\",void 0,this._view._getCellByDate(n)),this._updateCurrentDate(t);break;case\"zoomLevel\":this.$element().removeClass(\"dx-calendar-view-\"+n),this._correctZoomLevel(),this._refreshViews(),this._renderNavigator(),this._updateAriaId();break;case\"minZoomLevel\":case\"maxZoomLevel\":this._correctZoomLevel(),this._updateButtonsVisibility();break;case\"value\":\"single\"===this.option(\"selectionMode\")&&this._selectionStrategy.processValueChanged([t],[n]),this._setSubmitValue(t),this.callBase(e);break;case\"values\":\"single\"!==this.option(\"selectionMode\")&&this._selectionStrategy.processValueChanged(t,n),this._raiseValueChangeAction(t,n),this._saveValueChangeEvent(void 0);break;case\"viewsCount\":this._refreshViews(),this._renderNavigator();break;case\"onCellClick\":this._view.option(\"onCellClick\",t);break;case\"onContouredChanged\":this._onContouredChanged=this._createActionByOption(\"onContouredChanged\");break;case\"disabledDates\":case\"dateSerializationFormat\":case\"cellTemplate\":case\"showTodayButton\":this._invalidate();break;case\"skipFocusCheck\":break;case\"_todayDate\":case\"showWeekNumbers\":case\"weekNumberRule\":this._refreshViews();break;default:this.callBase(e)}},getContouredDate:function(){return this._view.option(\"contouredDate\")}});(0,r.default)(\"dxCalendar\",N);var z=N;t.default=z,e.exports=t.default,e.exports.default=t.default},76095:function(e,t,n){var i;function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e)||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 a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.default=void 0;var s=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).NAME=\"MultiSelection\",n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var a=i.prototype;return a.getViewOptions=function(){return{value:this.dateOption(\"values\"),range:[],selectionMode:\"multi\"}},a.selectValue=function(e,t){var n=o(this.dateOption(\"values\")),i=n.findIndex((function(t){return(null==t?void 0:t.toDateString())===e.toDateString()}));i>-1?n.splice(i,1):n.push(e),this.skipNavigate(),this._updateCurrentDate(e),this._currentDateChanged=!0,this.dateValue(n,t)},a.updateAriaSelected=function(t,n){var i,o;null!==(i=t)&&void 0!==i||(t=this.dateOption(\"values\")),null!==(o=n)&&void 0!==o||(n=[]),e.prototype.updateAriaSelected.call(this,t,n)},a.getDefaultCurrentDate=function(){var e=this.dateOption(\"values\").filter((function(e){return e}));return this._getLowestDateInArray(e)},i}(((i=n(48452))&&i.__esModule?i:{default:i}).default);t.default=s,e.exports=t.default,e.exports.default=t.default},69221:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=n(13306),a=l(n(14390)),r=l(n(63008)),s=n(75811);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var l=a.prototype;return l._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{onClick:null,onCaptionClick:null,type:\"normal\",stylingMode:\"outlined\",text:\"\"})},l._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return(0,s.isMaterial)()},options:{type:\"default\",stylingMode:\"text\"}}])},l._init=function(){e.prototype._init.call(this),this._initActions()},l._initActions=function(){this._clickAction=this._createActionByOption(\"onClick\"),this._captionClickAction=this._createActionByOption(\"onCaptionClick\")},l._initMarkup=function(){e.prototype._initMarkup.call(this),this.$element().addClass(\"dx-calendar-navigator\"),this._renderButtons(),this._renderCaption()},l._renderButtons=function(){var e=this,t=this.option(),n=t.rtlEnabled,o=t.type,a=t.stylingMode;this._prevButton=this._createComponent((0,i.default)(\"<div>\"),r.default,{focusStateEnabled:!1,icon:n?\"chevronright\":\"chevronleft\",onClick:function(t){e._clickAction({direction:-1,event:t})},type:o,stylingMode:a,integrationOptions:{}});var s=this._prevButton.$element().addClass(\"dx-calendar-navigator-previous-view\").addClass(\"dx-calendar-navigator-previous-month\");this._nextButton=this._createComponent((0,i.default)(\"<div>\"),r.default,{focusStateEnabled:!1,icon:n?\"chevronleft\":\"chevronright\",onClick:function(t){e._clickAction({direction:1,event:t})},type:o,stylingMode:a,integrationOptions:{}});var l=this._nextButton.$element().addClass(\"dx-calendar-navigator-next-view\").addClass(\"dx-calendar-navigator-next-month\");this._caption=this._createComponent((0,i.default)(\"<div>\").addClass(\"dx-calendar-caption-button\"),r.default,{focusStateEnabled:!1,onClick:function(t){e._captionClickAction({event:t})},type:o,stylingMode:a,template:function(t,n){e.option().text.split(\" - \").forEach((function(e){(0,i.default)(n).append((0,i.default)(\"<span>\").addClass(\"dx-button-text\").text(e))}))},integrationOptions:{}});var u=this._caption.$element();this.$element().append(s,u,l)},l._renderCaption=function(){this._caption.option(\"text\",this.option(\"text\"))},l.toggleButton=function(e,t){var n=this[\"_\"+e+\"Button\"];n&&(n.option(\"disabled\",t),n.$element().toggleClass(\"dx-calendar-disabled-navigator-link\",t))},l._optionChanged=function(t){switch(t.name){case\"text\":this._renderCaption();break;default:e.prototype._optionChanged.call(this,t)}},a}(a.default);t.default=d,e.exports=t.default,e.exports.default=t.default},76276:function(e,t,n){t.default=void 0;var i=a(n(91198)),o=a(n(48452));function a(e){return e&&e.__esModule?e:{default:e}}function r(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||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 s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||l(e,t)||function(){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 l(e,t){if(e){if(\"string\"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function o(t){var n;return(n=e.call(this,t)||this).NAME=\"RangeSelection\",n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var a=o.prototype;return a.getViewOptions=function(){var e=this._getValues();return{value:e,range:this._getDaysInRange(e[0],e[1]),selectionMode:\"range\",onCellHover:this._cellHoverHandler.bind(this)}},a.selectValue=function(e,t){var n=s(this._getValues(),2),i=n[0],o=n[1];this.skipNavigate(),this._updateCurrentDate(e),this._currentDateChanged=!0,!0===this.calendar.option(\"_allowChangeSelectionOrder\")?(this.calendar._valueSelected=!0,\"startDate\"===this.calendar.option(\"_currentSelection\")?this.calendar._convertToDate(e)>this.calendar._convertToDate(o)?this.dateValue([e,null],t):this.dateValue([e,o],t):this.calendar._convertToDate(e)>=this.calendar._convertToDate(i)?this.dateValue([i,e],t):this.dateValue([e,null],t)):!i||o?this.dateValue([e,null],t):this.dateValue(i<e?[i,e]:[e,i],t)},a.updateAriaSelected=function(t,n){var i,o;null!==(i=t)&&void 0!==i||(t=this._getValues()),null!==(o=n)&&void 0!==o||(n=[]),e.prototype.updateAriaSelected.call(this,t,n)},a.processValueChanged=function(t,n){e.prototype.processValueChanged.call(this,t,n);var i=this._getRange();this._updateViewsOption(\"range\",i)},a.getDefaultCurrentDate=function(){var e=this.calendar.option(),t=e._allowChangeSelectionOrder,n=e._currentSelection,i=this.dateOption(\"values\");if(t){if(\"startDate\"===n&&i[0])return i[0];if(\"endDate\"===n&&i[1])return i[1]}var o=i.filter((function(e){return e}));return this._getLowestDateInArray(o)},a._getValues=function(){var e=this.dateOption(\"values\");if(!e.length)return e;var t=s(e,2),n=t[0],i=t[1];if(n&&i&&n>i){var o=[i,n];n=o[0],i=o[1]}return[n,i]},a._getRange=function(){var e=s(this._getValues(),2),t=e[0],n=e[1];return this._getDaysInRange(t,n)},a._getDaysInRange=function(e,t){if(!e||!t)return[];var n=this.calendar.option(\"currentDate\").getTime(),o=new Date(Math.max(n-10368e6,e)),a=new Date(Math.min(n+10368e6,t));return[].concat(r(i.default.getDatesOfInterval(o,a,864e5)),[a])},a._cellHoverHandler=function(e){var t=this._isMaxZoomLevel(),n=s(this._getValues(),2),i=n[0],o=n[1],a=this.calendar.option(),r=a._allowChangeSelectionOrder,l=a._currentSelection;if(t){if(!i||o||r&&\"startDate\"===l){if(i||!o||r&&\"endDate\"===l){if(i&&o){if(\"startDate\"===l&&e.value<i)return void this._updateViewsOption(\"hoveredRange\",this._getDaysInRange(e.value,i));if(\"endDate\"===l&&e.value>o)return void this._updateViewsOption(\"hoveredRange\",this._getDaysInRange(o,e.value))}}else if(e.value<o)return void this._updateViewsOption(\"hoveredRange\",this._getDaysInRange(e.value,o))}else if(e.value>i)return void this._updateViewsOption(\"hoveredRange\",this._getDaysInRange(i,e.value));this._updateViewsOption(\"hoveredRange\",[])}},o}(o.default);t.default=c,e.exports=t.default,e.exports.default=t.default},48452:function(e,t){function n(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e)||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 i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.default=void 0;var o=function(){function e(e){this.calendar=e}var t=e.prototype;return t.dateOption=function(e){return this.calendar._dateOption(e)},t.dateValue=function(e,t){this.calendar._dateValue(e,t)},t.skipNavigate=function(){this.calendar._skipNavigate=!0},t.updateAriaSelected=function(e,t){this.calendar._updateAriaSelected(e,t),e[0]&&this.calendar.option(\"currentDate\").getTime()===e[0].getTime()&&this.calendar._updateAriaId(e[0])},t.processValueChanged=function(e,t){var n,i,o=this;e=(null===(n=e)||void 0===n?void 0:n.map((function(e){return o._convertToDate(e)})))||[],t=(null===(i=t)||void 0===i?void 0:i.map((function(e){return o._convertToDate(e)})))||[],this._updateViewsValue(e),this.updateAriaSelected(e,t),this._currentDateChanged||this.calendar._initCurrentDate(),this._currentDateChanged=!1},t._getLowestDateInArray=function(e){if(e.length)return new Date(Math.min.apply(Math,n(e)))},t._convertToDate=function(e){return this.calendar._convertToDate(e)},t._isMaxZoomLevel=function(){return this.calendar._isMaxZoomLevel()},t._updateViewsOption=function(e,t){this.calendar._updateViewsOption(e,t)},t._updateViewsValue=function(e){this._updateViewsOption(\"value\",e)},t._updateCurrentDate=function(e){this.calendar.option(\"currentDate\",null!=e?e:new Date)},e}();t.default=o,e.exports=t.default,e.exports.default=t.default},19769:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.default=void 0;var a=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).NAME=\"SingleSelection\",n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var a=i.prototype;return a.getViewOptions=function(){return{value:this.dateOption(\"value\"),range:[],selectionMode:\"single\"}},a.selectValue=function(e,t){this.skipNavigate(),this.dateValue(e,t)},a.updateAriaSelected=function(t,n){var i,o;null!==(i=t)&&void 0!==i||(t=[this.dateOption(\"value\")]),null!==(o=n)&&void 0!==o||(n=[]),e.prototype.updateAriaSelected.call(this,t,n)},a.getDefaultCurrentDate=function(){return this.dateOption(\"value\")},a._updateViewsValue=function(e){this._updateViewsOption(\"value\",e[0])},i}(((i=n(48452))&&i.__esModule?i:{default:i}).default);t.default=a,e.exports=t.default,e.exports.default=t.default},92633:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=c(n(15360)),a=c(n(73349)),r=n(20576),s=c(n(91198)),l=n(13306),u=c(n(91500)),d=c(n(69434));function c(e){return e&&e.__esModule?e:{default:e}}var h={month:o.default.inherit({_getViewName:function(){return\"month\"},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{firstDayOfWeek:0,rowCount:6,colCount:7})},_renderImpl:function(){this.callBase(),this._renderHeader()},_renderBody:function(){this.callBase(),this._$table.find(\".\".concat(\"dx-calendar-other-view\")).addClass(\"dx-calendar-other-month\")},_renderFocusTarget:r.noop,getCellAriaLabel:function(e){return u.default.format(e,\"longdate\")},_renderHeader:function(){var e=(0,i.default)(\"<tr>\"),t=(0,i.default)(\"<thead>\").append(e);this._$table.prepend(t);for(var n=0,o=this.option(\"colCount\");n<o;n++)this._renderHeaderCell(n,e);this.option(\"showWeekNumbers\")&&this._renderWeekHeaderCell(e)},_renderHeaderCell:function(e,t){var n=this.option().firstDayOfWeek,o=this._getDayCaption(n+e),a=o.full,r=o.abbreviated,s=(0,i.default)(\"<th>\").attr({scope:\"col\",abbr:a}).text(r);t.append(s)},_renderWeekHeaderCell:function(e){var t=(0,i.default)(\"<th>\").attr({scope:\"col\",abbr:\"WeekNumber\",class:\"dx-week-number-header\"});e.prepend(t)},_renderWeekNumberCell:function(e){var t=this.option(),n=t.showWeekNumbers,o=t.cellTemplate;if(n){var r=this._getWeekNumber(e.prevCellDate),s=a.default.createElement(\"td\"),l=(0,i.default)(s);s.className=\"dx-calendar-week-number-cell\",o?o.render(this._prepareCellTemplateData(r,-1,l)):s.innerHTML=r,e.row.prepend(s),this.setAria({role:\"gridcell\",label:\"Week \".concat(r)},l)}},_getWeekNumber:function(e){var t=this.option(),n=t.weekNumberRule,i=t.firstDayOfWeek;return\"auto\"===n?s.default.getWeekNumber(e,i,1===i?\"firstFourDays\":\"firstDay\"):s.default.getWeekNumber(e,i,n)},getNavigatorCaption:function(){return u.default.format(this.option(\"date\"),\"monthandyear\")},_isTodayCell:function(e){var t=this.option(\"_todayDate\")();return s.default.sameDate(e,t)},_isDateOutOfRange:function(e){var t=this.option(\"min\"),n=this.option(\"max\");return!s.default.dateInRange(e,t,n,\"date\")},_isOtherView:function(e){return e.getMonth()!==this.option(\"date\").getMonth()},_isStartDayOfMonth:function(e){return s.default.sameDate(e,s.default.getFirstMonthDate(this.option(\"date\")))},_isEndDayOfMonth:function(e){return s.default.sameDate(e,s.default.getLastMonthDate(this.option(\"date\")))},_getCellText:function(e){return u.default.format(e,\"d\")},_getDayCaption:function(e){var t=e%this.option(\"colCount\");return{full:u.default.getDayNames()[t],abbreviated:u.default.getDayNames(\"abbreviated\")[t]}},_getFirstCellData:function(){var e=this.option().firstDayOfWeek,t=s.default.getFirstMonthDate(this.option(\"date\")),n=e-t.getDay(),i=this.option(\"colCount\");return n>=0&&(n-=i),t.setDate(t.getDate()+n),t},_getNextCellData:function(e){return(e=new Date(e)).setDate(e.getDate()+1),e},_getCellByDate:function(e){return this._$table.find(\"td[data-value='\".concat(d.default.serializeDate(e,s.default.getShortDateFormat()),\"']\"))},isBoundary:function(e){return s.default.sameMonthAndYear(e,this.option(\"min\"))||s.default.sameMonthAndYear(e,this.option(\"max\"))},_getDefaultDisabledDatesHandler:function(e){return function(t){if(e.some((function(e){return s.default.sameDate(e,t.date)})))return!0}}}),year:o.default.inherit({_getViewName:function(){return\"year\"},_isTodayCell:function(e){var t=this.option(\"_todayDate\")();return s.default.sameMonthAndYear(e,t)},_isDateOutOfRange:function(e){return!s.default.dateInRange(e,s.default.getFirstMonthDate(this.option(\"min\")),s.default.getLastMonthDate(this.option(\"max\")))},_isOtherView:function(){return!1},_isStartDayOfMonth:function(){return!1},_isEndDayOfMonth:function(){return!1},_getCellText:function(e){return u.default.getMonthNames(\"abbreviated\")[e.getMonth()]},_getFirstCellData:function(){var e=this.option(\"date\"),t=new Date(e);return t.setDate(1),t.setMonth(0),t},_getNextCellData:function(e){return(e=new Date(e)).setMonth(e.getMonth()+1),e},_getCellByDate:function(e){var t=new Date(e);return t.setDate(1),this._$table.find(\"td[data-value='\".concat(d.default.serializeDate(t,s.default.getShortDateFormat()),\"']\"))},getCellAriaLabel:function(e){return u.default.format(e,\"monthandyear\")},getNavigatorCaption:function(){return u.default.format(this.option(\"date\"),\"yyyy\")},isBoundary:function(e){return s.default.sameYear(e,this.option(\"min\"))||s.default.sameYear(e,this.option(\"max\"))},_renderWeekNumberCell:r.noop}),decade:o.default.inherit({_getViewName:function(){return\"decade\"},_isTodayCell:function(e){var t=this.option(\"_todayDate\")();return s.default.sameYear(e,t)},_isDateOutOfRange:function(e){var t=this.option(\"min\"),n=this.option(\"max\");return!s.default.dateInRange(e.getFullYear(),t&&t.getFullYear(),n&&n.getFullYear())},_isOtherView:function(e){var t=new Date(e);return t.setMonth(1),!s.default.sameDecade(t,this.option(\"date\"))},_isStartDayOfMonth:function(){return!1},_isEndDayOfMonth:function(){return!1},_getCellText:function(e){return u.default.format(e,\"yyyy\")},_getFirstCellData:function(){var e=s.default.getFirstYearInDecade(this.option(\"date\"))-1;return s.default.createDateWithFullYear(e,0,1)},_getNextCellData:function(e){return(e=new Date(e)).setFullYear(e.getFullYear()+1),e},getNavigatorCaption:function(){var e=this.option(\"date\"),t=s.default.getFirstYearInDecade(e),n=new Date(e),i=new Date(e);return n.setFullYear(t),i.setFullYear(t+9),u.default.format(n,\"yyyy\")+\"-\"+u.default.format(i,\"yyyy\")},_isValueOnCurrentView:function(e,t){return s.default.sameDecade(e,t)},_getCellByDate:function(e){var t=new Date(e);return t.setDate(1),t.setMonth(0),this._$table.find(\"td[data-value='\".concat(d.default.serializeDate(t,s.default.getShortDateFormat()),\"']\"))},isBoundary:function(e){return s.default.sameDecade(e,this.option(\"min\"))||s.default.sameDecade(e,this.option(\"max\"))},_renderWeekNumberCell:r.noop}),century:o.default.inherit({_getViewName:function(){return\"century\"},_isTodayCell:function(e){var t=this.option(\"_todayDate\")();return s.default.sameDecade(e,t)},_isDateOutOfRange:function(e){var t=s.default.getFirstYearInDecade(e),n=s.default.getFirstYearInDecade(this.option(\"min\")),i=s.default.getFirstYearInDecade(this.option(\"max\"));return!s.default.dateInRange(t,n,i)},_isOtherView:function(e){var t=new Date(e);return t.setMonth(1),!s.default.sameCentury(t,this.option(\"date\"))},_isStartDayOfMonth:function(){return!1},_isEndDayOfMonth:function(){return!1},_getCellText:function(e){var t=u.default.format(e,\"yyyy\"),n=new Date(e);return n.setFullYear(n.getFullYear()+9),t+\" - \"+u.default.format(n,\"yyyy\")},_getFirstCellData:function(){var e=s.default.getFirstDecadeInCentury(this.option(\"date\"))-10;return s.default.createDateWithFullYear(e,0,1)},_getNextCellData:function(e){return(e=new Date(e)).setFullYear(e.getFullYear()+10),e},_getCellByDate:function(e){var t=new Date(e);return t.setDate(1),t.setMonth(0),t.setFullYear(s.default.getFirstYearInDecade(t)),this._$table.find(\"td[data-value='\".concat(d.default.serializeDate(t,s.default.getShortDateFormat()),\"']\"))},getNavigatorCaption:function(){var e=this.option(\"date\"),t=s.default.getFirstDecadeInCentury(e),n=new Date(e),i=new Date(e);return n.setFullYear(t),i.setFullYear(t+99),u.default.format(n,\"yyyy\")+\"-\"+u.default.format(i,\"yyyy\")},isBoundary:function(e){return s.default.sameCentury(e,this.option(\"min\"))||s.default.sameCentury(e,this.option(\"max\"))},_renderWeekNumberCell:r.noop})};t.default=h,e.exports=t.default,e.exports.default=t.default},18859:function(e,t,n){var i;t.default=void 0;var o=((i=n(8448))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},97326:function(e,t,n){t.default=void 0;var i=n(20576),o=n(62754),a={load:function(){return(0,o.Deferred)().reject()},loadSingle:function(){return(0,o.Deferred)().reject()},loadFromStore:function(){return(0,o.Deferred)().reject()},loadNextPage:function(){return(0,o.Deferred)().reject()},loadOptions:i.noop,userData:i.noop,cancel:i.noop,cancelAll:i.noop,filter:i.noop,addSearchFilter:i.noop,group:i.noop,paginate:i.noop,pageSize:i.noop,pageIndex:i.noop,resetDataSourcePageIndex:i.noop,totalCount:i.noop,isLastPage:i.noop,isLoading:i.noop,isLoaded:i.noop,searchValue:i.noop,searchOperation:i.noop,searchExpr:i.noop,select:i.noop,key:i.noop,keyOf:i.noop,store:i.noop,items:i.noop,applyMapFunction:i.noop,getDataSource:i.noop,reload:i.noop,on:i.noop,off:i.noop},r=function(){function e(e){if(!e)return a;this._dataSource=e}var t=e.prototype;return t.load=function(){return this._dataSource.load()},t.loadSingle=function(e,t){return arguments.length<2&&(t=e,e=this.key()),this._dataSource.loadSingle(e,t)},t.loadFromStore=function(e){return this.store().load(e)},t.loadNextPage=function(){return this.pageIndex(1+this.pageIndex()),this.load()},t.loadOptions=function(){return this._dataSource.loadOptions()},t.userData=function(){return this._dataSource._userData},t.cancel=function(e){this._dataSource.cancel(e)},t.cancelAll=function(){this._dataSource.cancelAll()},t.filter=function(e){return this._dataSource.filter(e)},t.addSearchFilter=function(e){this._dataSource._addSearchFilter(e)},t.group=function(e){return this._dataSource.group(e)},t.paginate=function(){return this._dataSource.paginate()},t.pageSize=function(){return this._dataSource._pageSize},t.pageIndex=function(e){return this._dataSource.pageIndex(e)},t.resetDataSourcePageIndex=function(){this.pageIndex()&&(this.pageIndex(0),this.load())},t.totalCount=function(){return this._dataSource.totalCount()},t.isLastPage=function(){return this._dataSource.isLastPage()||!this._dataSource._pageSize},t.isLoading=function(){return this._dataSource.isLoading()},t.isLoaded=function(){return this._dataSource.isLoaded()},t.searchValue=function(e){return arguments.length?this._dataSource.searchValue(e):this._dataSource.searchValue()},t.searchOperation=function(e){return this._dataSource.searchOperation(e)},t.searchExpr=function(e){return arguments.length?this._dataSource.searchExpr(e):this._dataSource.searchExpr()},t.select=function(){var e;return(e=this._dataSource).select.apply(e,arguments)},t.key=function(){return this._dataSource.key()},t.keyOf=function(e){return this.store().keyOf(e)},t.store=function(){return this._dataSource.store()},t.items=function(){return this._dataSource.items()},t.applyMapFunction=function(e){return this._dataSource._applyMapFunction(e)},t.getDataSource=function(){return this._dataSource||null},t.reload=function(){return this._dataSource.reload()},t.on=function(e,t){this._dataSource.on(e,t)},t.off=function(e,t){this._dataSource.off(e,t)},e}();t.default=r,e.exports=t.default,e.exports.default=t.default},54778:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=s(n(38377)),a=n(95479),r=n(9321);function s(e){return e&&e.__esModule?e:{default:e}}var l=o.default.inherit({ctor:function(e,t,n){this._$element=e,this._options=t,this._rawData=n,(0,r.attachInstanceToElement)(e,this,this._dispose),this._render()},_render:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-item-content-placeholder\");this._$element.append(e),this._watchers=[],this._renderWatchers()},_renderWatchers:function(){this._startWatcher(\"disabled\",this._renderDisabled.bind(this)),this._startWatcher(\"visible\",this._renderVisible.bind(this))},_startWatcher:function(e,t){var n=this._rawData,i=this._options.fieldGetter(e),o=function(e,t,n){var i,o=function(e){i!==e&&(n(e,i),i=e)};return{dispose:e(t,o),force:function(){o(t())}}}(this._options.watchMethod(),(function(){return i(n)}),function(e,n){this._dirty=!0,t(e,n)}.bind(this));this._watchers.push(o)},setDataField:function(){if(this._dirty=!1,(0,a.each)(this._watchers,(function(e,t){t.force()})),this._dirty)return!0},_renderDisabled:function(e,t){this._$element.toggleClass(\"dx-state-disabled\",!!e),this._$element.attr(\"aria-disabled\",!!e),this._updateOwnerFocus(e)},_updateOwnerFocus:function(e){var t=this._options.owner;t&&e&&t._resetItemFocus(this._$element)},_renderVisible:function(e,t){this._$element.toggleClass(\"dx-state-invisible\",void 0!==e&&!e)},_dispose:function(){(0,a.each)(this._watchers,(function(e,t){t.dispose()}))}});l.getInstance=function(e){return(0,r.getInstanceByElement)(e,this)};var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},25970:function(e,t,n){t.default=void 0;var i,o=(i=n(11050))&&i.__esModule?i:{default:i},a=n(62754),r=n(20576);var s=o.default.inherit({_initMarkup:function(){this._deferredItems=[],this.callBase()},_renderItemContent:function(e){var t=new a.Deferred,n=new a.Deferred;this._deferredItems[e.index]=n;var i=this.callBase.call(this,e);return n.done((function(){t.resolve(i)})),t.promise()},_onItemTemplateRendered:function(e,t){var n=this;return function(){n._deferredItems[t.index].resolve()}},_postProcessRenderItems:r.noop,_renderItemsAsync:function(){var e=this,t=new a.Deferred;return a.when.apply(this,this._deferredItems).done((function(){e._postProcessRenderItems(),t.resolve()})),t.promise()},_clean:function(){this.callBase(),this._deferredItems=[]}});t.default=s,e.exports=t.default,e.exports.default=t.default},19982:function(e,t,n){t.default=void 0;var i=n(58664),o=T(n(68374)),a=T(n(55994)),r=n(20576),s=n(69697),l=n(6415),u=T(n(73349)),d=n(35922),c=n(62754),h=n(13306),f=n(95479),p=T(n(62414)),g=T(n(73176)),m=T(n(14390)),_=n(39611),v=T(n(93786)),y=T(n(53305)),b=T(n(54778)),x=n(31421),w=T(n(28109)),C=T(n(11699)),S=n(47617),k=n(95429),D=n(49166),I=n(93280);function T(e){return e&&e.__esModule?e:{default:e}}var E=\"dx-item\",O=/^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/,A=m.default.inherit({_activeStateUnit:\".\"+E,_supportedKeys:function(){var e=function(e,t){(0,_.isCommandKeyPressed)(t)||(t.preventDefault(),t.stopPropagation(),this._moveFocus(e,t))};return(0,h.extend)(this.callBase(),{space:function(e){e.preventDefault(),this._enterKeyHandler(e)},enter:this._enterKeyHandler,leftArrow:e.bind(this,\"left\"),rightArrow:e.bind(this,\"right\"),upArrow:e.bind(this,\"up\"),downArrow:e.bind(this,\"down\"),pageUp:e.bind(this,\"up\"),pageDown:e.bind(this,\"down\"),home:e.bind(this,\"first\"),end:e.bind(this,\"last\")})},_enterKeyHandler:function(e){var t=(0,o.default)(this.option(\"focusedElement\"));if(t.length){var n=this._getItemData(t);null!=n&&n.onClick&&this._itemEventHandlerByHandler(t,n.onClick,{event:e}),this._itemClickHandler((0,h.extend)({},e,{target:t.get(0),currentTarget:t.get(0)}))}},_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{selectOnFocus:!1,loopItemFocus:!0,items:[],itemTemplate:\"item\",onItemRendered:null,onItemClick:null,onItemHold:null,itemHoldTimeout:750,onItemContextMenu:null,onFocusedItemChanged:null,noDataText:w.default.format(\"dxCollectionWidget-noDataText\"),encodeNoDataText:!1,dataSource:null,_dataController:null,_itemAttributes:{},itemTemplateProperty:\"template\",focusOnSelectedItem:!0,focusedElement:null,displayExpr:void 0,disabledExpr:function(e){return e?e.disabled:void 0},visibleExpr:function(e){return e?e.visible:void 0}})},_init:function(){this._compileDisplayGetter(),this._initDataController(),this.callBase(),this._cleanRenderedItems(),this._refreshDataSource()},_compileDisplayGetter:function(){var e=this.option(\"displayExpr\");this._displayGetter=e?(0,S.compileGetter)(this.option(\"displayExpr\")):void 0},_initTemplates:function(){this._initItemsFromMarkup(),this._initDefaultItemTemplate(),this.callBase()},_getAnonymousTemplateName:function(){return\"item\"},_initDefaultItemTemplate:function(){var e=this._getFieldsMap();this._templateManager.addDefaultTemplates({item:new I.BindableTemplate(function(t,n){(0,d.isPlainObject)(n)?this._prepareDefaultItemTemplate(n,t):(e&&(0,d.isFunction)(e.text)&&(n=e.text(n)),t.text(String((0,r.ensureDefined)(n,\"\"))))}.bind(this),this._getBindableFields(),this.option(\"integrationOptions.watchMethod\"),e)})},_getBindableFields:function(){return[\"text\",\"html\"]},_getFieldsMap:function(){if(this._displayGetter)return{text:this._displayGetter}},_prepareDefaultItemTemplate:function(e,t){(0,d.isDefined)(e.text)&&t.text(e.text),(0,d.isDefined)(e.html)&&t.html(e.html)},_initItemsFromMarkup:function(){var e=this,t=(0,s.findTemplates)(this.$element(),\"dxItem\");if(t.length&&!this.option(\"items\").length){var n=t.map((function(t){var n=t.element,i=t.options;return/\\S/.test(n.innerHTML)&&!i.template?i.template=e._prepareItemTemplate(n):(0,o.default)(n).remove(),i}));this.option(\"items\",n)}},_prepareItemTemplate:function(e){var t=\"tmpl-\"+new g.default,n=(0,o.default)(e).detach().clone().removeAttr(\"data-options\").addClass(\"dx-template-wrapper\");return this._saveTemplate(t,n),t},_dataSourceOptions:function(){return{paginate:!1}},_cleanRenderedItems:function(){this._renderedItemsCount=0},_focusTarget:function(){return this.$element()},_focusInHandler:function(e){if(this.callBase.apply(this,arguments),this._isFocusTarget(e.target)){var t=(0,o.default)(this.option(\"focusedElement\"));if(t.length)this._setFocusedItem(t);else{var n=this._getActiveItem();n.length&&this.option(\"focusedElement\",(0,l.getPublicElement)(n))}}},_focusOutHandler:function(){this.callBase.apply(this,arguments);var e=(0,o.default)(this.option(\"focusedElement\"));this._updateFocusedItemState(e,!1)},_findActiveTarget:function(e){return e.find(this._activeStateUnit)},_getActiveItem:function(e){var t=(0,o.default)(this.option(\"focusedElement\"));if(t.length)return t;var n=this.option(\"focusOnSelectedItem\")?this.option(\"selectedIndex\"):0,i=this._getActiveElement(),a=i.length-1;return n<0&&(n=e?a:0),i.eq(n)},_moveFocus:function(e){var t,n=this._getAvailableItems();switch(e){case\"pageup\":case\"up\":t=this._prevItem(n);break;case\"pagedown\":case\"down\":t=this._nextItem(n);break;case\"right\":t=this.option(\"rtlEnabled\")?this._prevItem(n):this._nextItem(n);break;case\"left\":t=this.option(\"rtlEnabled\")?this._nextItem(n):this._prevItem(n);break;case\"first\":t=n.first();break;case\"last\":t=n.last();break;default:return!1}0!==t.length&&this.option(\"focusedElement\",(0,l.getPublicElement)(t))},_getVisibleItems:function(e){return(e=e||this._itemElements()).filter(\":visible\")},_getAvailableItems:function(e){return this._getVisibleItems(e)},_prevItem:function(e){var t=this._getActiveItem(),n=e.index(t),i=e.last(),a=(0,o.default)(e[n-1]),r=this.option(\"loopItemFocus\");return 0===a.length&&r&&(a=i),a},_nextItem:function(e){var t=this._getActiveItem(!0),n=e.index(t),i=e.first(),a=(0,o.default)(e[n+1]),r=this.option(\"loopItemFocus\");return 0===a.length&&r&&(a=i),a},_selectFocusedItem:function(e){this.selectItem(e)},_updateFocusedItemState:function(e,t,n){var i=(0,o.default)(e);i.length&&(this._refreshActiveDescendant(),this._refreshItemId(i,n),this._toggleFocusClass(t,i)),this._updateParentActiveDescendant()},_refreshActiveDescendant:function(e){this.setAria(\"activedescendant\",(0,d.isDefined)(this.option(\"focusedElement\"))?this.getFocusedItemId():null,e)},_refreshItemId:function(e,t){!t&&this.option(\"focusedElement\")?this.setAria(\"id\",this.getFocusedItemId(),e):this.setAria(\"id\",null,e)},_isDisabled:function(e){return e&&\"true\"===(0,o.default)(e).attr(\"aria-disabled\")},_setFocusedItem:function(e){if(e&&e.length){this._updateFocusedItemState(e,!0),this.onFocusedItemChanged(this.getFocusedItemId());var t=this.option().selectOnFocus,n=this._isDisabled(e);t&&!n&&this._selectFocusedItem(e)}},_findItemElementByItem:function(e){var t=(0,o.default)(),n=this;return this.itemElements().each((function(){var i=(0,o.default)(this);if(i.data(n._itemDataKey())===e)return t=i,!1})),t},_getIndexByItem:function(e){return this.option(\"items\").indexOf(e)},_itemOptionChanged:function(e,t,n,i){var o=this._findItemElementByItem(e);o.length&&(this.constructor.ItemClass.getInstance(o).setDataField(t,n)||this._refreshItem(o,e),\"disabled\"===t&&n&&this._resetItemFocus(o))},_resetItemFocus:function(e){e.is(this.option(\"focusedElement\"))&&this.option(\"focusedElement\",null)},_refreshItem:function(e){var t=this._getItemData(e),n=e.data(this._itemIndexKey());this._renderItem(this._renderedItemsCount+n,t,null,e)},_updateParentActiveDescendant:r.noop,_optionChanged:function(e){if(\"items\"===e.name){var t=e.fullName.match(O);if(t&&t.length){var n=t[t.length-1],i=e.fullName.replace(\".\"+n,\"\"),a=this.option(i);return void this._itemOptionChanged(a,n,e.value,e.previousValue)}}switch(e.name){case\"items\":case\"_itemAttributes\":case\"itemTemplateProperty\":case\"useItemTextAsTitle\":this._cleanRenderedItems(),this._invalidate();break;case\"dataSource\":this._refreshDataSource(),this._renderEmptyMessage();break;case\"noDataText\":case\"encodeNoDataText\":this._renderEmptyMessage();break;case\"itemTemplate\":this._invalidate();break;case\"onItemRendered\":this._createItemRenderAction();break;case\"onItemClick\":break;case\"onItemHold\":case\"itemHoldTimeout\":this._attachHoldEvent();break;case\"onItemContextMenu\":this._attachContextMenuEvent();break;case\"onFocusedItemChanged\":this.onFocusedItemChanged=this._createActionByOption(\"onFocusedItemChanged\");break;case\"selectOnFocus\":case\"loopItemFocus\":case\"focusOnSelectedItem\":break;case\"focusedElement\":this._updateFocusedItemState(e.previousValue,!1,!0),this._setFocusedItem((0,o.default)(e.value));break;case\"displayExpr\":this._compileDisplayGetter(),this._initDefaultItemTemplate(),this._invalidate();break;case\"visibleExpr\":case\"disabledExpr\":this._invalidate();break;default:this.callBase(e)}},_invalidate:function(){return this.option(\"focusedElement\",null),this.callBase.apply(this,arguments)},_loadNextPage:function(){return this._expectNextPageLoading(),this._dataController.loadNextPage()},_expectNextPageLoading:function(){this._startIndexForAppendedItems=0},_expectLastItemLoading:function(){this._startIndexForAppendedItems=-1},_forgetNextPageLoading:function(){this._startIndexForAppendedItems=null},_dataSourceChangedHandler:function(e){var t=this.option(\"items\");this._initialized&&t&&this._shouldAppendItems()?(this._renderedItemsCount=t.length,this._isLastPage()&&-1===this._startIndexForAppendedItems||(this.option().items=t.concat(e.slice(this._startIndexForAppendedItems))),this._forgetNextPageLoading(),this._refreshContent()):this.option(\"items\",e.slice())},_refreshContent:function(){this._prepareContent(),this._renderContent()},_dataSourceLoadErrorHandler:function(){this._forgetNextPageLoading(),this.option(\"items\",this.option(\"items\"))},_shouldAppendItems:function(){return null!=this._startIndexForAppendedItems&&this._allowDynamicItemsAppend()},_allowDynamicItemsAppend:function(){return!1},_clean:function(){this._cleanFocusState(),this._cleanItemContainer(),this._inkRipple&&delete this._inkRipple,this._resetActiveState()},_cleanItemContainer:function(){(0,o.default)(this._itemContainer()).empty()},_dispose:function(){this.callBase(),clearTimeout(this._itemFocusTimeout)},_refresh:function(){this._cleanRenderedItems(),this.callBase.apply(this,arguments)},_itemContainer:function(){return this.$element()},_itemClass:function(){return E},_itemContentClass:function(){return this._itemClass()+\"-content\"},_selectedItemClass:function(){return\"dx-item-selected\"},_itemResponseWaitClass:function(){return\"dx-item-response-wait\"},_itemSelector:function(){return\".\"+this._itemClass()},_itemDataKey:function(){return\"dxItemData\"},_itemIndexKey:function(){return\"dxItemIndex\"},_itemElements:function(){return this._itemContainer().find(this._itemSelector())},_initMarkup:function(){this.callBase(),this.onFocusedItemChanged=this._createActionByOption(\"onFocusedItemChanged\"),this.$element().addClass(\"dx-collection\"),this._prepareContent()},_prepareContent:(0,r.deferRenderer)((function(){this._renderContentImpl()})),_renderContent:function(){this._fireContentReadyAction()},_render:function(){this.callBase(),this._attachClickEvent(),this._attachHoldEvent(),this._attachContextMenuEvent()},_getPointerEvent:function(){return v.default.down},_attachClickEvent:function(){var e=this,t=this._itemSelector(),n=this._getPointerEvent(),i=(0,_.addNamespace)(k.name,this.NAME),r=(0,_.addNamespace)(n,this.NAME),s=new p.default((function(t){var n=t.event;e._itemPointerDownHandler(n)}));a.default.off(this._itemContainer(),i,t),a.default.off(this._itemContainer(),r,t),a.default.on(this._itemContainer(),i,t,(function(t){return e._itemClickHandler(t)})),a.default.on(this._itemContainer(),r,t,(function(e){s.execute({element:(0,o.default)(e.target),event:e})}))},_itemClickHandler:function(e,t,n){this._itemDXEventHandler(e,\"onItemClick\",t,n)},_itemPointerDownHandler:function(e){this.option(\"focusStateEnabled\")&&(this._itemFocusHandler=function(){if(clearTimeout(this._itemFocusTimeout),this._itemFocusHandler=null,!e.isDefaultPrevented()){var t=(0,o.default)(e.target),n=t.closest(this._itemElements()),i=this._closestFocusable(t);n.length&&this._isFocusTarget(null==i?void 0:i.get(0))&&this.option(\"focusedElement\",(0,l.getPublicElement)(n))}}.bind(this),this._itemFocusTimeout=setTimeout(this._forcePointerDownFocus.bind(this)))},_closestFocusable:function(e){if(e.is(x.focusable))return e;for(e=e.parent();e.length&&!u.default.isDocument(e.get(0))&&!u.default.isDocumentFragment(e.get(0));){if(e.is(x.focusable))return e;e=e.parent()}},_forcePointerDownFocus:function(){this._itemFocusHandler&&this._itemFocusHandler()},_updateFocusState:function(){this.callBase.apply(this,arguments),this._forcePointerDownFocus()},_attachHoldEvent:function(){var e=this._itemContainer(),t=this._itemSelector(),n=(0,_.addNamespace)(C.default.name,this.NAME);a.default.off(e,n,t),a.default.on(e,n,t,{timeout:this._getHoldTimeout()},this._itemHoldHandler.bind(this))},_getHoldTimeout:function(){return this.option(\"itemHoldTimeout\")},_shouldFireHoldEvent:function(){return this.hasActionSubscription(\"onItemHold\")},_itemHoldHandler:function(e){this._shouldFireHoldEvent()?this._itemDXEventHandler(e,\"onItemHold\"):e.cancel=!0},_attachContextMenuEvent:function(){var e=this._itemContainer(),t=this._itemSelector(),n=(0,_.addNamespace)(D.name,this.NAME);a.default.off(e,n,t),a.default.on(e,n,t,this._itemContextMenuHandler.bind(this))},_shouldFireContextMenuEvent:function(){return this.hasActionSubscription(\"onItemContextMenu\")},_itemContextMenuHandler:function(e){this._shouldFireContextMenuEvent()?this._itemDXEventHandler(e,\"onItemContextMenu\"):e.cancel=!0},_renderContentImpl:function(){var e=this.option(\"items\")||[];this._renderedItemsCount?this._renderItems(e.slice(this._renderedItemsCount)):this._renderItems(e)},_renderItems:function(e){e.length&&(0,f.each)(e,function(e,t){this._renderItem(this._renderedItemsCount+e,t)}.bind(this)),this._renderEmptyMessage()},_renderItem:function(e,t,n,i){var o,a=null!==(o=null==e?void 0:e.item)&&void 0!==o?o:e;n=n||this._itemContainer();var r=this._renderItemFrame(a,t,n,i);this._setElementData(r,t,a),r.attr(this.option(\"_itemAttributes\")),this._attachItemClickEvent(t,r);var s=this._getItemContent(r),u=this._renderItemContent({index:a,itemData:t,container:(0,l.getPublicElement)(s),contentClass:this._itemContentClass(),defaultTemplateName:this.option(\"itemTemplate\")}),d=this;return(0,c.when)(u).done((function(n){d._postprocessRenderItem({itemElement:r,itemContent:n,itemData:t,itemIndex:a}),d._executeItemRenderAction(e,t,(0,l.getPublicElement)(r))})),r},_getItemContent:function(e){var t=e.find(\".dx-item-content-placeholder\");return t.removeClass(\"dx-item-content-placeholder\"),t},_attachItemClickEvent:function(e,t){e&&e.onClick&&a.default.on(t,k.name,function(n){this._itemEventHandlerByHandler(t,e.onClick,{event:n})}.bind(this))},_renderItemContent:function(e){var t=this._getItemTemplateName(e),n=this._getTemplate(t);this._addItemContentClasses(e);var i=(0,o.default)(this._createItemByTemplate(n,e));return i.hasClass(\"dx-template-wrapper\")?this._renderItemContentByNode(e,i):e.container},_renderItemContentByNode:function(e,t){return(0,o.default)(e.container).replaceWith(t),e.container=(0,l.getPublicElement)(t),this._addItemContentClasses(e),t},_addItemContentClasses:function(e){var t=[E+\"-content\",e.contentClass];(0,o.default)(e.container).addClass(t.join(\" \"))},_appendItemToContainer:function(e,t,n){t.appendTo(e)},_renderItemFrame:function(e,t,n,i){var a=(0,o.default)(\"<div>\");if(new this.constructor.ItemClass(a,this._itemOptions(),t||{}),i&&i.length?i.replaceWith(a):this._appendItemToContainer.call(this,n,a,e),this.option(\"useItemTextAsTitle\")){var r=this._displayGetter?this._displayGetter(t):t;a.attr(\"title\",r)}return a},_itemOptions:function(){var e=this;return{watchMethod:function(){return e.option(\"integrationOptions.watchMethod\")},owner:e,fieldGetter:function(t){var n=e.option(t+\"Expr\");return(0,S.compileGetter)(n)}}},_postprocessRenderItem:r.noop,_executeItemRenderAction:function(e,t,n){this._getItemRenderAction()({itemElement:n,itemIndex:e,itemData:t})},_setElementData:function(e,t,n){e.addClass([E,this._itemClass()].join(\" \")).data(this._itemDataKey(),t).data(this._itemIndexKey(),n)},_createItemRenderAction:function(){return this._itemRenderAction=this._createActionByOption(\"onItemRendered\",{element:this.element(),excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"})},_getItemRenderAction:function(){return this._itemRenderAction||this._createItemRenderAction()},_getItemTemplateName:function(e){var t=e.itemData,n=e.templateProperty||this.option(\"itemTemplateProperty\");return t&&t[n]||e.defaultTemplateName},_createItemByTemplate:function(e,t){return e.render({model:t.itemData,container:t.container,index:t.index,onRendered:this._onItemTemplateRendered(e,t)})},_onItemTemplateRendered:function(){return r.noop},_emptyMessageContainer:function(){return this._itemContainer()},_renderEmptyMessage:function(e){e=e||this.option(\"items\");var t=this.option(\"noDataText\"),n=!t||e&&e.length||this._dataController.isLoading();n&&this._$noData&&(this._$noData.remove(),this._$noData=null,this.setAria(\"label\",void 0)),n||(this._$noData=this._$noData||(0,o.default)(\"<div>\").addClass(\"dx-empty-message\"),this._$noData.appendTo(this._emptyMessageContainer()),this.option(\"encodeNoDataText\")?this._$noData.text(t):this._$noData.html(t)),this.$element().toggleClass(\"dx-empty-collection\",!n)},_itemDXEventHandler:function(e,t,n,i){this._itemEventHandler(e.target,t,(0,h.extend)(n,{event:e}),i)},_itemEventHandler:function(e,t,n,i){var o=this._createActionByOption(t,(0,h.extend)({validatingTargetName:\"itemElement\"},i));return this._itemEventHandlerImpl(e,o,n)},_itemEventHandlerByHandler:function(e,t,n,i){var o=this._createAction(t,(0,h.extend)({validatingTargetName:\"itemElement\"},i));return this._itemEventHandlerImpl(e,o,n)},_itemEventHandlerImpl:function(e,t,n){var i=this._closestItemElement((0,o.default)(e)),a=(0,h.extend)({},n);return t((0,h.extend)(n,this._extendActionArgs(i),a))},_extendActionArgs:function(e){return{itemElement:(0,l.getPublicElement)(e),itemIndex:this._itemElements().index(e),itemData:this._getItemData(e)}},_closestItemElement:function(e){return(0,o.default)(e).closest(this._itemSelector())},_getItemData:function(e){return(0,o.default)(e).data(this._itemDataKey())},_getSummaryItemsWidth:function(e,t){var n=0;return e&&(0,f.each)(e,(function(e,o){n+=(0,i.getOuterWidth)(o,t||!1)})),n},getFocusedItemId:function(){return this._focusedItemId||(this._focusedItemId=\"dx-\"+new g.default),this._focusedItemId},itemElements:function(){return this._itemElements()},itemsContainer:function(){return this._itemContainer()}}).include(y.default);A.ItemClass=b.default;var P=A;t.default=P,e.exports=t.default,e.exports.default=t.default},11050:function(e,t,n){t.default=void 0;var i=_(n(68374)),o=_(n(55994)),a=_(n(19982)),r=_(n(96688)),s=n(13306),l=n(95479),u=n(20576),d=n(35922),c=_(n(14174)),h=n(47617),f=n(85273),p=n(9234),g=_(n(68198)),m=n(62754);function _(e){return e&&e.__esModule?e:{default:e}}function v(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}(e)||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 y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var b=function(e){return-1!==e},x=a.default.inherit({_setOptionsByReference:function(){this.callBase(),(0,s.extend)(this._optionsByReference,{selectedItem:!0})},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{selectionMode:\"none\",selectionRequired:!1,selectByClick:!0,selectedItems:[],selectedItemKeys:[],maxFilterLengthInRequest:1500,keyExpr:null,selectedIndex:-1,selectedItem:null,onSelectionChanged:null,onItemReordered:null,onItemDeleting:null,onItemDeleted:null})},ctor:function(e,t){this._userOptions=t||{},this.callBase(e,t)},_init:function(){this._initEditStrategy(),this.callBase(),this._initKeyGetter(),this._initSelectionModule()},_initKeyGetter:function(){this._keyGetter=(0,h.compileGetter)(this.option(\"keyExpr\"))},_getKeysByItems:function(e){return this._editStrategy.getKeysByItems(e)},_getItemsByKeys:function(e,t){return this._editStrategy.getItemsByKeys(e,t)},_getKeyByIndex:function(e){return this._editStrategy.getKeyByIndex(e)},_getIndexByKey:function(e){return this._editStrategy.getIndexByKey(e)},_getIndexByItemData:function(e){return this._editStrategy.getIndexByItemData(e)},_isKeySpecified:function(){return!!this._dataController.key()},_getCombinedFilter:function(){return this._dataController.filter()},key:function(){return this.option(\"keyExpr\")?this.option(\"keyExpr\"):this._dataController.key()},keyOf:function(e){var t=e;return this.option(\"keyExpr\")?t=this._keyGetter(e):this._dataController.store()&&(t=this._dataController.keyOf(e)),t},_nullValueSelectionSupported:function(){return!1},_initSelectionModule:function(){var e=this,t=e._editStrategy.itemsGetter;this._selection=new g.default({allowNullValue:this._nullValueSelectionSupported(),mode:this.option(\"selectionMode\"),maxFilterLengthInRequest:this.option(\"maxFilterLengthInRequest\"),equalByReference:!this._isKeySpecified(),onSelectionChanged:function(t){(t.addedItemKeys.length||t.removedItemKeys.length)&&(e.option(\"selectedItems\",e._getItemsByKeys(t.selectedItemKeys,t.selectedItems)),e._updateSelectedItems(t))},filter:e._getCombinedFilter.bind(e),totalCount:function(){var t=e.option(\"items\"),n=e._dataController.totalCount();return n>=0?n:e._getItemsCount(t)},key:e.key.bind(e),keyOf:e.keyOf.bind(e),load:function(t){var n,i=e._dataController;return t.customQueryParams=null===(n=i.loadOptions())||void 0===n?void 0:n.customQueryParams,t.userData=i.userData(),i.store()?i.loadFromStore(t).done((function(t){if(!e._disposed){var n=(0,p.normalizeLoadResult)(t).data;i.applyMapFunction(n)}})):(new m.Deferred).resolve(this.plainItems())},dataFields:function(){return e._dataController.select()},plainItems:t.bind(e._editStrategy)})},_getItemsCount:function(e){var t=this;return e.reduce((function(e,n){return e+(n.items?t._getItemsCount(n.items):1)}),0)},_initEditStrategy:function(){var e=c.default;this._editStrategy=new e(this)},_getSelectedItemIndices:function(e){var t=this,n=[];return e=e||this._selection.getSelectedItemKeys(),t._editStrategy.beginCache(),(0,l.each)(e,(function(e,i){var o=t._getIndexByKey(i);b(o)&&n.push(o)})),t._editStrategy.endCache(),n},_initMarkup:function(){var e=this;this._rendering=!0,this._dataController.isLoading()||this._syncSelectionOptions().done((function(){return e._normalizeSelectedItems()})),this.callBase()},_render:function(){this.callBase(),this._rendering=!1},_fireContentReadyAction:function(){this._rendering=!1,this._rendered=!0,this.callBase.apply(this,arguments)},_syncSelectionOptions:function(e){var t,n,i,o;switch(e=e||this._chooseSelectOption()){case\"selectedIndex\":t=this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\")),(0,d.isDefined)(t)?(this._setOptionWithoutOptionChange(\"selectedItems\",[t]),this._setOptionWithoutOptionChange(\"selectedItem\",t),this._setOptionWithoutOptionChange(\"selectedItemKeys\",this._editStrategy.getKeysByItems([t]))):(this._setOptionWithoutOptionChange(\"selectedItems\",[]),this._setOptionWithoutOptionChange(\"selectedItemKeys\",[]),this._setOptionWithoutOptionChange(\"selectedItem\",null));break;case\"selectedItems\":if(n=(o=this.option(\"selectedItems\")||[]).length?this._editStrategy.getIndexByItemData(o[0]):-1,this.option(\"selectionRequired\")&&!b(n))return this._syncSelectionOptions(\"selectedIndex\");this._setOptionWithoutOptionChange(\"selectedItem\",o[0]),this._setOptionWithoutOptionChange(\"selectedIndex\",n),this._setOptionWithoutOptionChange(\"selectedItemKeys\",this._editStrategy.getKeysByItems(o));break;case\"selectedItem\":if(t=this.option(\"selectedItem\"),n=this._editStrategy.getIndexByItemData(t),this.option(\"selectionRequired\")&&!b(n))return this._syncSelectionOptions(\"selectedIndex\");(0,d.isDefined)(t)?(this._setOptionWithoutOptionChange(\"selectedItems\",[t]),this._setOptionWithoutOptionChange(\"selectedIndex\",n),this._setOptionWithoutOptionChange(\"selectedItemKeys\",this._editStrategy.getKeysByItems([t]))):(this._setOptionWithoutOptionChange(\"selectedItems\",[]),this._setOptionWithoutOptionChange(\"selectedItemKeys\",[]),this._setOptionWithoutOptionChange(\"selectedIndex\",-1));break;case\"selectedItemKeys\":if(i=this.option(\"selectedItemKeys\"),this.option(\"selectionRequired\")){var a=this._getIndexByKey(i[0]);if(!b(a))return this._syncSelectionOptions(\"selectedIndex\")}return this._selection.setSelection(i)}return(new m.Deferred).resolve().promise()},_chooseSelectOption:function(){var e=\"selectedIndex\",t=function(e){var t=this.option(e);return(0,d.isDefined)(t)&&t.length||e in this._userOptions}.bind(this);return t(\"selectedItems\")?e=\"selectedItems\":t(\"selectedItem\")?e=\"selectedItem\":t(\"selectedItemKeys\")&&(e=\"selectedItemKeys\"),e},_compareKeys:function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0},_normalizeSelectedItems:function(){if(\"none\"===this.option(\"selectionMode\"))this._setOptionWithoutOptionChange(\"selectedItems\",[]),this._syncSelectionOptions(\"selectedItems\");else if(\"single\"===this.option(\"selectionMode\")){var e=this.option(\"selectedItems\");if(e.length>1||!e.length&&this.option(\"selectionRequired\")&&this.option(\"items\")&&this.option(\"items\").length){var t=this._selection.getSelectedItems(),n=void 0===e[0]?t[0]:e[0];return void 0===n&&(n=this._editStrategy.itemsGetter()[0]),this.option(\"grouped\")&&n&&n.items&&(n.items=[n.items[0]]),this._selection.setSelection(this._getKeysByItems([n])),this._setOptionWithoutOptionChange(\"selectedItems\",[n]),this._syncSelectionOptions(\"selectedItems\")}this._selection.setSelection(this._getKeysByItems(e))}else{var i=this._getKeysByItems(this.option(\"selectedItems\")),o=this._selection.getSelectedItemKeys();this._compareKeys(o,i)||this._selection.setSelection(i)}return(new m.Deferred).resolve().promise()},_itemClickHandler:function(e){var t=arguments,n=this,o=(new m.Deferred).resolve(),a=this.callBase;this._createAction(function(e){var t;o=null!==(t=this._itemSelectHandler(e.event))&&void 0!==t?t:o}.bind(this),{validatingTargetName:\"itemElement\"})({itemElement:(0,i.default)(e.currentTarget),event:e}),o.always((function(){a.apply(n,t)}))},_itemSelectHandler:function(e){var t,n;if(this.option(\"selectByClick\")){var i=e.currentTarget;return this.isItemSelected(i)?this.unselectItem(e.currentTarget):n=this.selectItem(e.currentTarget),null===(t=n)||void 0===t?void 0:t.promise()}},_selectedItemElement:function(e){return this._itemElements().eq(e)},_postprocessRenderItem:function(e){if(\"none\"!==this.option(\"selectionMode\")){var t=(0,i.default)(e.itemElement),n=this._editStrategy.getNormalizedIndex(t),o=this._isItemSelected(n);this._processSelectableItem(t,o)}},_processSelectableItem:function(e,t){e.toggleClass(this._selectedItemClass(),t),this._setAriaSelectionAttribute(e,String(t))},_updateSelectedItems:function(e){var t=this,n=e.addedItemKeys,i=e.removedItemKeys;if(t._rendered&&(n.length||i.length)){var o=t._selectionChangePromise;if(!t._rendering){var a,r=[],s=[];t._editStrategy.beginCache();for(var l=0;l<n.length;l++)a=t._getIndexByKey(n[l]),r.push(a),t._addSelection(a);for(var u=0;u<i.length;u++)a=t._getIndexByKey(i[u]),s.push(a),t._removeSelection(a);t._editStrategy.endCache(),t._updateSelection(r,s)}(0,m.when)(o).done((function(){t._fireSelectionChangeEvent(e.addedItems,e.removedItems)}))}},_fireSelectionChangeEvent:function(e,t){this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})({addedItems:e,removedItems:t})},_updateSelection:u.noop,_setAriaSelectionAttribute:function(e,t){this.setAria(\"selected\",t,e)},_removeSelection:function(e){var t=this._editStrategy.getItemElement(e);b(e)&&(this._processSelectableItem(t,!1),o.default.triggerHandler(t,\"stateChanged\",!1))},_addSelection:function(e){var t=this._editStrategy.getItemElement(e);b(e)&&(this._processSelectableItem(t,!0),o.default.triggerHandler(t,\"stateChanged\",!0))},_isItemSelected:function(e){var t=this._getKeyByIndex(e);return this._selection.isItemSelected(t,{checkPending:!0})},_optionChanged:function(e){var t=this;switch(e.name){case\"selectionMode\":this._invalidate();break;case\"dataSource\":(!e.value||Array.isArray(e.value)&&!e.value.length)&&this.option(\"selectedItemKeys\",[]),this.callBase(e);break;case\"selectedIndex\":case\"selectedItem\":case\"selectedItems\":case\"selectedItemKeys\":this._syncSelectionOptions(e.name).done((function(){return t._normalizeSelectedItems()}));break;case\"keyExpr\":this._initKeyGetter();break;case\"selectionRequired\":this._normalizeSelectedItems();break;case\"selectByClick\":case\"onSelectionChanged\":case\"onItemDeleting\":case\"onItemDeleted\":case\"onItemReordered\":case\"maxFilterLengthInRequest\":break;default:this.callBase(e)}},_clearSelectedItems:function(){this._setOptionWithoutOptionChange(\"selectedItems\",[]),this._syncSelectionOptions(\"selectedItems\")},_waitDeletingPrepare:function(e){if(e.data(\"dxItemDeleting\"))return(new m.Deferred).resolve().promise();e.data(\"dxItemDeleting\",!0);var t=new m.Deferred,n={cancel:!1},i=this._itemEventHandler(e,\"onItemDeleting\",n,{excludeValidators:[\"disabled\",\"readOnly\"]});return(0,m.when)(i).always(function(o){var a=!i,r=!a&&\"resolved\"===i.state(),s=!!arguments.length,l=a||r&&!s||r&&o;(0,m.when)((0,m.fromPromise)(n.cancel)).always((function(){e.data(\"dxItemDeleting\",!1)})).done((function(e){l&&!e?t.resolve():t.reject()})).fail(t.reject)}.bind(this)),t.promise()},_deleteItemFromDS:function(e){var t=this._dataController,n=new m.Deferred,i=this.option(\"disabled\"),o=t.store();if(!o)return(new m.Deferred).resolve().promise();if(!o.remove)throw r.default.Error(\"E1011\");return this.option(\"disabled\",!0),o.remove(t.keyOf(this._getItemData(e))).done((function(e){void 0!==e?n.resolve():n.reject()})).fail((function(){n.reject()})),n.always(function(){this.option(\"disabled\",i)}.bind(this)),n},_tryRefreshLastPage:function(){var e=new m.Deferred;return this._isLastPage()||this.option(\"grouped\")?e.resolve():this._refreshLastPage().done((function(){e.resolve()})),e.promise()},_refreshLastPage:function(){return this._expectLastItemLoading(),this._dataController.load()},_updateSelectionAfterDelete:function(e){var t=this._getKeyByIndex(e);this._selection.deselect([t])},_updateIndicesAfterIndex:function(e){for(var t=this._itemElements(),n=e+1;n<t.length;n++)(0,i.default)(t[n]).data(this._itemIndexKey(),n-1)},_simulateOptionChange:function(e){var t=this.option(e);t instanceof f.DataSource||this._optionChangedAction({name:e,fullName:e,value:t})},isItemSelected:function(e){return this._isItemSelected(this._editStrategy.getNormalizedIndex(e))},selectItem:function(e){if(\"none\"!==this.option(\"selectionMode\")){var t=this._editStrategy.getNormalizedIndex(e);if(b(t)){var n=this._getKeyByIndex(t);if(!this._selection.isItemSelected(n)){if(\"single\"===this.option(\"selectionMode\"))return this._selection.setSelection([n]);var i=this.option(\"selectedItemKeys\")||[];return this._selection.setSelection([].concat(v(i),[n]),[n])}}}},unselectItem:function(e){var t=this._editStrategy.getNormalizedIndex(e);if(b(t)){var n=this._selection.getSelectedItemKeys();if(!(this.option(\"selectionRequired\")&&n.length<=1)){var i=this._getKeyByIndex(t);this._selection.isItemSelected(i,{checkPending:!0})&&this._selection.deselect([i])}}},_deleteItemElementByIndex:function(e){this._updateSelectionAfterDelete(e),this._updateIndicesAfterIndex(e),this._editStrategy.deleteItemAtIndex(e)},_afterItemElementDeleted:function(e,t){var n=this._dataController.getDataSource()?\"dataSource\":\"items\";this._simulateOptionChange(n),this._itemEventHandler(e,\"onItemDeleted\",t,{beforeExecute:function(){e.remove()},excludeValidators:[\"disabled\",\"readOnly\"]}),this._renderEmptyMessage()},deleteItem:function(e){var t=this,n=new m.Deferred,i=this._editStrategy.getItemElement(e),o=this._editStrategy.getNormalizedIndex(e),a=this._itemResponseWaitClass();return b(o)?this._waitDeletingPrepare(i).done((function(){i.addClass(a);var e=t._extendActionArgs(i);t._deleteItemFromDS(i).done((function(){t._deleteItemElementByIndex(o),t._afterItemElementDeleted(i,e),t._tryRefreshLastPage().done((function(){n.resolveWith(t)}))})).fail((function(){i.removeClass(a),n.rejectWith(t)}))})).fail((function(){n.rejectWith(t)})):n.rejectWith(t),n.promise()},reorderItem:function(e,t){var n=new m.Deferred,i=this,o=this._editStrategy,a=o.getItemElement(e),r=o.getItemElement(t),s=o.getNormalizedIndex(e),l=o.getNormalizedIndex(t),u=this._dataController.getDataSource()?\"dataSource\":\"items\";return b(s)&&b(l)&&s!==l?n.resolveWith(this):n.rejectWith(this),n.promise().done((function(){r[o.itemPlacementFunc(s,l)](a),o.moveItemAtIndexToIndex(s,l),this._updateIndicesAfterIndex(s),i.option(\"selectedItems\",i._getItemsByKeys(i._selection.getSelectedItemKeys(),i._selection.getSelectedItems())),\"items\"===u&&i._simulateOptionChange(u),i._itemEventHandler(a,\"onItemReordered\",{fromIndex:o.getIndex(s),toIndex:o.getIndex(l)},{excludeValidators:[\"disabled\",\"readOnly\"]})}))}});t.default=x,e.exports=t.default,e.exports.default=t.default},41042:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(38377)),a=n(20576),r=l(n(73349)),s=n(35922);function l(e){return e&&e.__esModule?e:{default:e}}var u=o.default.abstract,d=o.default.inherit({ctor:function(e){this._collectionWidget=e},getIndexByItemData:u,getItemDataByIndex:u,getKeysByItems:u,getItemsByKeys:u,itemsGetter:u,getKeyByIndex:function(e){var t=this._denormalizeItemIndex(e);return this.getKeysByItems([this.getItemDataByIndex(t)])[0]},_equalKeys:function(e,t){return this._collectionWidget._isKeySpecified()?(0,a.equalByValue)(e,t):e===t},beginCache:function(){this._cache={}},endCache:function(){this._cache=null},getIndexByKey:u,getNormalizedIndex:function(e){return this._isNormalizedItemIndex(e)?e:this._isItemIndex(e)?this._normalizeItemIndex(e):this._isNode(e)?this._getNormalizedItemIndex(e):this._normalizeItemIndex(this.getIndexByItemData(e))},getIndex:function(e){return this._isNormalizedItemIndex(e)?this._denormalizeItemIndex(e):this._isItemIndex(e)?e:this._isNode(e)?this._denormalizeItemIndex(this._getNormalizedItemIndex(e)):this.getIndexByItemData(e)},getItemElement:function(e){if(this._isNormalizedItemIndex(e))return this._getItemByNormalizedIndex(e);if(this._isItemIndex(e))return this._getItemByNormalizedIndex(this._normalizeItemIndex(e));if(this._isNode(e))return(0,i.default)(e);var t=this._normalizeItemIndex(this.getIndexByItemData(e));return this._getItemByNormalizedIndex(t)},_isNode:function(e){return r.default.isNode(e&&(0,s.isRenderer)(e)?e.get(0):e)},deleteItemAtIndex:u,itemPlacementFunc:function(e,t){return this._itemsFromSameParent(e,t)&&e<t?\"after\":\"before\"},moveItemAtIndexToIndex:u,_isNormalizedItemIndex:function(e){return\"number\"==typeof e&&Math.round(e)===e},_isItemIndex:u,_getNormalizedItemIndex:u,_normalizeItemIndex:u,_denormalizeItemIndex:u,_getItemByNormalizedIndex:u,_itemsFromSameParent:u});t.default=d,e.exports=t.default,e.exports.default=t.default},14174:function(e,t,n){var i;function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var a=((i=n(41042))&&i.__esModule?i:{default:i}).default.inherit({_getPlainItems:function(){return this._collectionWidget.option(\"items\")||[]},getIndexByItemData:function(e){var t=this._collectionWidget.keyOf.bind(this._collectionWidget);return t?this.getIndexByKey(t(e)):this._getPlainItems().indexOf(e)},getItemDataByIndex:function(e){return this._getPlainItems()[e]},deleteItemAtIndex:function(e){this._getPlainItems().splice(e,1)},itemsGetter:function(){return this._getPlainItems()},getKeysByItems:function(e){var t=this._collectionWidget.keyOf.bind(this._collectionWidget),n=e;if(t){n=[];for(var i=0;i<e.length;i++)n.push(t(e[i]))}return n},getIndexByKey:function(e){var t=this._cache,n=t&&t.keys||this.getKeysByItems(this._getPlainItems());if(t&&!t.keys&&(t.keys=n),\"object\"!==o(e))return n.indexOf(e);for(var i=0,a=n.length;i<a;i++)if(this._equalKeys(e,n[i]))return i;return-1},getItemsByKeys:function(e,t){return(t||e).slice()},moveItemAtIndexToIndex:function(e,t){var n=this._getPlainItems(),i=n[e];n.splice(e,1),n.splice(t,0,i)},_isItemIndex:function(e){return\"number\"==typeof e&&Math.round(e)===e},_getNormalizedItemIndex:function(e){return this._collectionWidget._itemElements().index(e)},_normalizeItemIndex:function(e){return e},_denormalizeItemIndex:function(e){return e},_getItemByNormalizedIndex:function(e){return e>-1?this._collectionWidget._itemElements().eq(e):null},_itemsFromSameParent:function(){return!0}});t.default=a,e.exports=t.default,e.exports.default=t.default},69010:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=f(n(11050)),a=n(13306),r=n(95479),s=n(60637),l=n(16454),u=n(62754),d=n(34671),c=f(n(73349)),h=n(20576);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function g(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==p(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===p(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var m=o.default.inherit({_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{repaintChangesOnly:!1})},ctor:function(){var e,t=this;this.callBase.apply(this,arguments),this._customizeStoreLoadOptions=function(e){t._dataController.getDataSource()&&!t._dataController.isLoaded()&&(t._correctionIndex=0),t._correctionIndex&&e.storeLoadOptions&&(e.storeLoadOptions.skip+=t._correctionIndex)},null===(e=this._dataController)||void 0===e||e.on(\"customizeStoreLoadOptions\",this._customizeStoreLoadOptions)},reload:function(){this._correctionIndex=0},_init:function(){this.callBase(),this._refreshItemsCache(),this._correctionIndex=0},_findItemElementByKey:function(e){var t=this,n=(0,i.default)(),o=this.key();return this.itemElements().each((function(a,r){var s=(0,i.default)(r),u=t._getItemData(s);if(o?(0,l.keysEqual)(o,t.keyOf(u),e):t._isItemEquals(u,e))return n=s,!1})),n},_dataSourceChangedHandler:function(e,t){null!=t&&t.changes?this._modifyByChanges(t.changes):(this.callBase(e,t),this._refreshItemsCache())},_isItemEquals:function(e,t){e&&e.__dx_key__&&(e=e.data);try{return JSON.stringify(e)===JSON.stringify(t)}catch(n){return e===t}},_isItemStrictEquals:function(e,t){return this._isItemEquals(e,t)},_shouldAddNewGroup:function(e,t){var n=!1;return this.option(\"grouped\")&&(e.length||(n=!0),(0,r.each)(e,(function(e,i){\"insert\"===i.type&&(n=!0,(0,r.each)(t,(function(e,t){if(void 0!==i.data.key&&i.data.key===t.key)return n=!1,!1})))}))),n},_partialRefresh:function(){var e=this;if(this.option(\"repaintChangesOnly\")){var t=(0,d.findChanges)(this._itemsCache,this._editStrategy.itemsGetter(),(function(t){return t&&void 0!==t.__dx_key__?t.__dx_key__:e.keyOf(t)}),this._isItemStrictEquals.bind(this));if(t&&this._itemsCache.length&&!this._shouldAddNewGroup(t,this._itemsCache))return this._modifyByChanges(t,!0),this._renderEmptyMessage(),!0;this._refreshItemsCache()}return!1},_refreshItemsCache:function(){if(this.option(\"repaintChangesOnly\")){var e=this._editStrategy.itemsGetter();try{this._itemsCache=(0,a.extend)(!0,[],e),this.key()||(this._itemsCache=this._itemsCache.map((function(t,n){var i;return g(i={},\"__dx_key__\",e[n]),g(i,\"data\",t),i})))}catch(t){this._itemsCache=(0,a.extend)([],e)}}},_dispose:function(){this._dataController.off(\"customizeStoreLoadOptions\",this._customizeStoreLoadOptions),this.callBase()},_updateByChange:function(e,t,n,i){var o=this;if(i)this._renderItem(n.index,n.data,null,this._findItemElementByKey(n.key));else{var a=t[(0,s.indexByKey)(e,t,n.key)];a&&(0,s.update)(e,t,n.key,n.data).done((function(){o._renderItem(t.indexOf(a),a,null,o._findItemElementByKey(n.key))}))}},_insertByChange:function(e,t,n,i){var o=this;(0,u.when)(i||(0,s.insert)(e,t,n.data,n.index)).done((function(){var e;o._beforeItemElementInserted(n);var i=o._getItemContainer(n.data);o._renderItem(null!==(e=n.index)&&void 0!==e?e:t.length,n.data,i),o._afterItemElementInserted(),o._correctionIndex++}))},_getItemContainer:function(e){return this._itemContainer()},_updateSelectionAfterRemoveByChange:function(e){var t=this.option(\"selectedIndex\");t>e?this.option(\"selectedIndex\",t-1):t===e&&1===this.option(\"selectedItems\").length?this.option(\"selectedItems\",[]):this._normalizeSelectedItems()},_beforeItemElementInserted:function(e){var t=this.option(\"selectedIndex\");e.index<=t&&this.option(\"selectedIndex\",t+1)},_afterItemElementInserted:h.noop,_removeByChange:function(e,t,n,i){var o=this,a=i?n.index:(0,s.indexByKey)(e,t,n.key);if(i?n.oldItem:t[a]){var r=this._findItemElementByKey(n.key),l=this._extendActionArgs(r);this._waitDeletingPrepare(r).done((function(){i?(o._updateIndicesAfterIndex(a-1),o._afterItemElementDeleted(r,l),o._updateSelectionAfterRemoveByChange(a)):(o._deleteItemElementByIndex(a),o._afterItemElementDeleted(r,l))})),this._correctionIndex--}},_modifyByChanges:function(e,t){var n=this,i=this._editStrategy.itemsGetter(),o={key:this.key.bind(this),keyOf:this.keyOf.bind(this)},a=this._dataController,r=a.paginate(),s=a.group();(r||s)&&(e=e.filter((function(e){return\"insert\"!==e.type||void 0!==e.index}))),e.forEach((function(e){return n[\"_\".concat(e.type,\"ByChange\")](o,i,e,t)})),this._renderedItemsCount=i.length,this._refreshItemsCache(),this._fireContentReadyAction()},_appendItemToContainer:function(e,t,n){var i=e.children(this._itemSelector()).get(n);c.default.insertElement(e.get(0),t.get(0),i)},_optionChanged:function(e){switch(e.name){case\"items\":this._partialRefresh(e.value)||this.callBase(e);break;case\"dataSource\":this.option(\"repaintChangesOnly\")&&e.value||this.option(\"items\",[]),this.callBase(e);break;case\"repaintChangesOnly\":break;default:this.callBase(e)}}});t.default=m,e.exports=t.default,e.exports.default=t.default},4278:function(e,t,n){var i;t.default=void 0;var o=((i=n(81738))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},81738:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=c(n(55994)),a=c(n(52752)),r=c(n(89838)),s=n(13306),l=c(n(99393)),u=c(n(44687)),d=c(n(73176));function c(e){return e&&e.__esModule?e:{default:e}}var h=r.default.prototype,f={makeTransparentBackground:h._makeTransparentBackground.bind(h),makeRgba:h._makeRgba.bind(h)},p=u.default.inherit({_supportedKeys:function(){var e=function(e){if(e.stopPropagation(),this.option(\"opened\"))return e.preventDefault(),!0};return(0,s.extend)(this.callBase(),{tab:function(e){if(this.option(\"opened\")){var t=e.shiftKey?this._getLastPopupElement():this._getFirstPopupElement();t&&(o.default.trigger(t,\"focus\"),t.select()),e.preventDefault()}},enter:this._enterKeyHandler,leftArrow:e,rightArrow:e,upArrow:function(e){return this.option(\"opened\")?!e.altKey||(this.close(),!1):(e.preventDefault(),!1)},downArrow:function(e){return this.option(\"opened\")||e.altKey?!(!this.option(\"opened\")&&e.altKey)||(this._validatedOpening(),!1):(e.preventDefault(),!1)}})},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{editAlphaChannel:!1,applyValueMode:\"useButtons\",keyStep:1,fieldTemplate:null,buttonsLocation:\"bottom after\"})},_popupHidingHandler:function(){this.callBase(),\"useButtons\"===this.option(\"applyValueMode\")&&this._updateColorViewValue(this.option(\"value\"))},_popupConfig:function(){return(0,s.extend)(this.callBase(),{width:\"\"})},_contentReadyHandler:function(){this._createColorView(),this._addPopupBottomClasses()},_addPopupBottomClasses:function(){var e=this._popup.bottomToolbar();e&&(e.addClass(\"dx-colorview-container-cell\").addClass(\"dx-colorview-button-cell\").find(\".dx-toolbar-items-container\").addClass(\"dx-colorview-buttons-container\"),e.find(\".dx-popup-done\").addClass(\"dx-colorview-apply-button\"),e.find(\".dx-popup-cancel\").addClass(\"dx-colorview-cancel-button\"))},_createColorView:function(){this._popup.$overlayContent().addClass(\"dx-colorbox-overlay\");var e=(0,i.default)(\"<div>\").appendTo(this._popup.$content());this._colorView=this._createComponent(e,r.default,this._colorViewConfig()),this._colorView.registerKeyHandler(\"escape\",this._escapeHandler.bind(this)),o.default.on(e,\"focus\",function(){this.focus()}.bind(this))},_escapeHandler:function(){this.close(),this.focus()},_getFirstPopupElement:function(){return(0,i.default)(this._colorView._rgbInputs[0].element()).find(\"input\")},_applyNewColor:function(e){this.option(\"value\",e),e&&f.makeTransparentBackground(this._$colorResultPreview,e),this._colorViewEnterKeyPressed&&(this.close(),this._colorViewEnterKeyPressed=!1)},_colorViewConfig:function(){var e=this;return{value:e.option(\"value\"),matchValue:e.option(\"value\"),editAlphaChannel:e.option(\"editAlphaChannel\"),applyValueMode:e.option(\"applyValueMode\"),focusStateEnabled:e.option(\"focusStateEnabled\"),stylingMode:this.option(\"stylingMode\"),ariaId:this._ariaId,onEnterKeyPressed:function(t){var n=t.event;e._colorViewEnterKeyPressed=!0,e._colorView.option(\"value\")!==e.option(\"value\")&&(e._saveValueChangeEvent(n),e._applyNewColor(e._colorView.option(\"value\")),e.close())},onValueChanged:function(t){var n=t.event,i=t.value,o=t.previousValue,a=\"instantly\"===e.option(\"applyValueMode\"),r=f.makeRgba(i)===o,s=a||e._colorViewEnterKeyPressed,l=e._shouldSaveEmptyValue;r||!s||l||(n&&e._saveValueChangeEvent(n),e._applyNewColor(i))}}},_enterKeyHandler:function(e){var t=this._input().val(),n=this.option(),i=n.value,o=n.editAlphaChannel,r=i&&o?f.makeRgba(i):i;if(!t)return!1;if(!new a.default(t).colorIsInvalid){if(t!==r&&(this._applyColorFromInput(t),this._saveValueChangeEvent(e),this.option(\"value\",this.option(\"editAlphaChannel\")?f.makeRgba(t):t)),this._colorView){var s=this._colorView.option(\"value\");i!==s&&(this._saveValueChangeEvent(e),this.option(\"value\",s))}return this.close(),!1}this._input().val(r)},_applyButtonHandler:function(e){this._saveValueChangeEvent(e.event),this._applyNewColor(this._colorView.option(\"value\")),this.callBase()},_cancelButtonHandler:function(){this._resetInputValue(),this.callBase()},_getKeyboardListeners:function(){return this.callBase().concat([this._colorView])},_init:function(){this.callBase()},_initMarkup:function(){this.$element().addClass(\"dx-colorbox\"),this.callBase()},_renderInput:function(){this.callBase(),this._ariaId=\"dx-\".concat(new d.default),this.setAria(\"activedescendant\",this._ariaId),this._input().addClass(\"dx-colorbox-input\"),this._renderColorPreview()},_renderColorPreview:function(){this.$element().wrapInner((0,i.default)(\"<div>\").addClass(\"dx-colorbox-input-container\")),this._$colorBoxInputContainer=this.$element().children().eq(0),this._$colorResultPreview=(0,i.default)(\"<div>\").addClass(\"dx-colorbox-color-result-preview\").appendTo(this._$textEditorInputContainer),this.option(\"value\")?f.makeTransparentBackground(this._$colorResultPreview,this.option(\"value\")):this._$colorBoxInputContainer.addClass(\"dx-colorbox-color-is-not-defined\")},_renderValue:function(){var e=this.option(),t=e.value,n=e.editAlphaChannel,i=t&&n?f.makeRgba(t):t;return this.option(\"text\",i),this.callBase()},_resetInputValue:function(){var e=this._input(),t=this.option(\"value\");e.val(t),this._updateColorViewValue(t)},_updateColorViewValue:function(e){this._colorView&&this._colorView.option({value:e,matchValue:e})},_valueChangeEventHandler:function(e){var t=this._input().val();t&&(t=this._applyColorFromInput(t),this._updateColorViewValue(t)),this.callBase(e,t)},_applyColorFromInput:function(e){var t=this.option().editAlphaChannel;return new a.default(e).colorIsInvalid?(this._resetInputValue(),this.option(\"value\")):t?f.makeRgba(e):e},_clean:function(){this.callBase(),delete this._shouldSaveEmptyValue},_optionChanged:function(e){var t=e.value,n=e.name;switch(n){case\"value\":this._$colorBoxInputContainer.toggleClass(\"dx-colorbox-color-is-not-defined\",!t),t?f.makeTransparentBackground(this._$colorResultPreview,t):this._$colorResultPreview.removeAttr(\"style\"),null===t&&(this._shouldSaveEmptyValue=!0),this._updateColorViewValue(t),this._shouldSaveEmptyValue=!1,this.callBase(e);break;case\"applyButtonText\":case\"cancelButtonText\":this.callBase(e),this._popup&&this._addPopupBottomClasses();break;case\"editAlphaChannel\":case\"keyStep\":this._colorView&&this._colorView.option(n,t);break;default:this.callBase(e)}}});(0,l.default)(\"dxColorBox\",p);var g=p;t.default=g,e.exports=t.default,e.exports.default=t.default},89838:function(e,t,n){t.default=void 0;var i=n(58664),o=y(n(68374)),a=y(n(55994)),r=n(31648),s=n(13306),l=y(n(52752)),u=y(n(28109)),d=y(n(20530)),c=y(n(99393)),h=y(n(96452)),f=y(n(34171)),p=y(n(29837)),g=y(n(42160)),m=n(39611),_=n(95429),v=y(n(73176));function y(e){return e&&e.__esModule?e:{default:e}}var b=\"dx-colorview-palette-gradient\",x=\"dx-colorview-palette-gradient-white\",w=\"dx-colorview-palette-gradient-black\",C=\"dx-colorview-color-preview\",S=\"dx-colorview-color-preview-color-current\",k=\"dx-colorview-color-preview-color-new\",D=h.default.inherit({_supportedKeys:function(){var e=this.option(\"rtlEnabled\"),t=this,n=function(e){var n=100/t._paletteWidth;return e.shiftKey&&(n*=t.option(\"keyStep\")),n=n>1?n:1,Math.round(n)},i=function(e){var n=t._currentColor.hsv.s+e;n>100?n=100:n<0&&(n=0),t._currentColor.hsv.s=n,l()},o=function(e){var n=100/t._paletteHeight;return e.shiftKey&&(n*=t.option(\"keyStep\")),n=n>1?n:1,Math.round(n)},a=function(e){var n=t._currentColor.hsv.v+e;n>100?n=100:n<0&&(n=0),t._currentColor.hsv.v=n,l()};function l(){t._placePaletteHandle(),t._updateColorFromHsv(t._currentColor.hsv.h,t._currentColor.hsv.s,t._currentColor.hsv.v)}var u=function(e){var n=360/(t._hueScaleWrapperHeight-t._hueScaleHandleHeight);return e.shiftKey&&(n*=t.option(\"keyStep\")),n=n>1?n:1},d=function(e){t._currentColor.hsv.h+=e,t._placeHueScaleHandle();var n=(0,r.locate)(t._$hueScaleHandle);t._updateColorHue(n.top+t._hueScaleHandleHeight/2)},c=function(n){var i=1/t._alphaChannelScaleWorkWidth;return n.shiftKey&&(i*=t.option(\"keyStep\")),i=i>.01?i:.01,i=e?-i:i},h=function(e){t._currentColor.a+=e,t._placeAlphaChannelHandle();var n=(0,r.locate)(t._$alphaChannelHandle);t._calculateColorTransparencyByScaleWidth(n.left+t._alphaChannelHandleWidth/2)};return(0,s.extend)(this.callBase(),{upArrow:function(e){e.preventDefault(),e.stopPropagation(),(0,m.isCommandKeyPressed)(e)?this._currentColor.hsv.h<=360&&!this._isTopColorHue&&(this._saveValueChangeEvent(e),d(u(e))):this._currentColor.hsv.v<100&&(this._saveValueChangeEvent(e),a(o(e)))},downArrow:function(e){e.preventDefault(),e.stopPropagation(),(0,m.isCommandKeyPressed)(e)?this._currentColor.hsv.h>=0&&(this._isTopColorHue&&(this._currentColor.hsv.h=360),this._saveValueChangeEvent(e),d(-u(e))):this._currentColor.hsv.v>0&&(this._saveValueChangeEvent(e),a(-o(e)))},rightArrow:function(t){t.preventDefault(),t.stopPropagation(),(0,m.isCommandKeyPressed)(t)?(e?this._currentColor.a<1:this._currentColor.a>0&&this.option(\"editAlphaChannel\"))&&(this._saveValueChangeEvent(t),h(-c(t))):this._currentColor.hsv.s<100&&(this._saveValueChangeEvent(t),i(n(t)))},leftArrow:function(t){t.preventDefault(),t.stopPropagation(),(0,m.isCommandKeyPressed)(t)?(e?this._currentColor.a>0:this._currentColor.a<1&&this.option(\"editAlphaChannel\"))&&(this._saveValueChangeEvent(t),h(c(t))):this._currentColor.hsv.s>0&&(this._saveValueChangeEvent(t),i(-n(t)))},enter:function(e){this._fireEnterKeyPressed(e)}})},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{value:null,matchValue:null,onEnterKeyPressed:void 0,editAlphaChannel:!1,keyStep:1,stylingMode:void 0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===d.default.real().deviceType&&!d.default.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._initColorAndOpacity(),this._initEnterKeyPressedAction()},_initEnterKeyPressedAction:function(){this._onEnterKeyPressedAction=this._createActionByOption(\"onEnterKeyPressed\")},_fireEnterKeyPressed:function(e){this._onEnterKeyPressedAction&&this._onEnterKeyPressedAction({event:e})},_initColorAndOpacity:function(){this._setCurrentColor(this.option(\"value\"))},_setCurrentColor:function(e){e=e||\"#000000\";var t=new l.default(e);t.colorIsInvalid?(this._currentColor||(this._currentColor=new l.default(\"#000000\")),this.option(\"value\",this._currentColor.baseColor)):this._currentColor&&this._makeRgba(this._currentColor)===this._makeRgba(t)||(this._currentColor=t,this._$currentColor&&this._makeTransparentBackground(this._$currentColor,t))},_setBaseColor:function(e){var t=e||\"#000000\",n=new l.default(t);n.colorIsInvalid||this._makeRgba(this.option(\"matchValue\")!==this._makeRgba(n))&&this._$baseColor&&this._makeTransparentBackground(this._$baseColor,n)},_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-colorview\"),this._renderColorPickerContainer()},_render:function(){this.callBase(),this._renderPalette(),this._renderHueScale(),this._renderControlsContainer(),this._renderControls(),this._renderAlphaChannelElements()},_makeTransparentBackground:function(e,t){t instanceof l.default||(t=new l.default(t)),e.css(\"backgroundColor\",this._makeRgba(t))},_makeRgba:function(e){return e instanceof l.default||(e=new l.default(e)),\"rgba(\"+[e.r,e.g,e.b,e.a].join(\", \")+\")\"},_renderValue:function(){this.callBase(this.option(\"editAlphaChannel\")?this._makeRgba(this._currentColor):this.option(\"value\"))},_renderColorPickerContainer:function(){var e=this.$element();this._$colorPickerContainer=(0,o.default)(\"<div>\").addClass(\"dx-colorview-container\").appendTo(e),this._renderHtmlRows()},_renderHtmlRows:function(e){var t=this._$colorPickerContainer.find(\".dx-colorview-container-row\"),n=t.length,i=n-(this.option(\"editAlphaChannel\")?2:1);if(i>0&&t.eq(-1).remove(),i<0){i=Math.abs(i);var a,r=[];for(a=0;a<i;a++)r.push((0,o.default)(\"<div>\").addClass(\"dx-colorview-container-row\"));if(n)for(a=0;a<r.length;a++)t.eq(0).after(r[a]);else this._$colorPickerContainer.append(r)}},_renderHtmlCellInsideRow:function(e,t,n){return(0,o.default)(\"<div>\").addClass(\"dx-colorview-container-cell\").addClass(n).appendTo(t.find(\".dx-colorview-container-row\").eq(e))},_renderPalette:function(){var e=this._renderHtmlCellInsideRow(0,this._$colorPickerContainer,\"dx-colorview-palette-cell\"),t=(0,o.default)(\"<div>\").addClass([b,x].join(\" \")),n=(0,o.default)(\"<div>\").addClass([b,w].join(\" \"));this._$palette=(0,o.default)(\"<div>\").addClass(\"dx-colorview-palette\").css(\"backgroundColor\",this._currentColor.getPureColor().toHex()).appendTo(e),this._paletteHeight=(0,i.getHeight)(this._$palette),this._paletteWidth=(0,i.getWidth)(this._$palette),this._renderPaletteHandle(),this._$palette.append([t,n])},_renderPaletteHandle:function(){var e=this;this._$paletteHandle=(0,o.default)(\"<div>\").addClass(\"dx-colorview-palette-handle\").appendTo(this._$palette);var t={id:this.option(\"ariaId\"),role:\"application\"};this.setAria(t,this._$paletteHandle),this._createComponent(this._$paletteHandle,g.default,{contentTemplate:null,boundary:this._$palette,allowMoveByClick:!0,boundOffset:function(){return-this._paletteHandleHeight/2}.bind(this),onDragMove:function(t){var n=t.event,i=(0,r.locate)(e._$paletteHandle);e._updateByDrag=!0,e._saveValueChangeEvent(n),e._updateColorFromHsv(e._currentColor.hsv.h,e._calculateColorSaturation(i),e._calculateColorValue(i))}}),this._paletteHandleWidth=(0,i.getWidth)(this._$paletteHandle),this._paletteHandleHeight=(0,i.getHeight)(this._$paletteHandle),this._placePaletteHandle()},_placePaletteHandle:function(){(0,r.move)(this._$paletteHandle,{left:Math.round(this._paletteWidth*this._currentColor.hsv.s/100-this._paletteHandleWidth/2),top:Math.round(this._paletteHeight-this._paletteHeight*this._currentColor.hsv.v/100-this._paletteHandleHeight/2)})},_calculateColorValue:function(e){var t=Math.floor(e.top+this._paletteHandleHeight/2);return 100-Math.round(100*t/this._paletteHeight)},_calculateColorSaturation:function(e){var t=Math.floor(e.left+this._paletteHandleWidth/2);return Math.round(100*t/this._paletteWidth)},_updateColorFromHsv:function(e,t,n){var i=this._currentColor.a;this._currentColor=new l.default(\"hsv(\"+[e,t,n].join(\",\")+\")\"),this._currentColor.a=i,this._updateColorParamsAndColorPreview(),this.applyColor()},_renderHueScale:function(){var e=this._renderHtmlCellInsideRow(0,this._$colorPickerContainer,\"dx-colorview-hue-scale-cell\");this._$hueScaleWrapper=(0,o.default)(\"<div>\").addClass(\"dx-colorview-hue-scale-wrapper\").appendTo(e),this._$hueScale=(0,o.default)(\"<div>\").addClass(\"dx-colorview-hue-scale\").appendTo(this._$hueScaleWrapper),this._hueScaleHeight=(0,i.getHeight)(this._$hueScale),this._hueScaleWrapperHeight=(0,i.getOuterHeight)(this._$hueScaleWrapper),this._renderHueScaleHandle()},_renderHueScaleHandle:function(){var e=this;this._$hueScaleHandle=(0,o.default)(\"<div>\").addClass(\"dx-colorview-hue-scale-handle\").appendTo(this._$hueScaleWrapper),this._createComponent(this._$hueScaleHandle,g.default,{contentTemplate:null,boundary:this._$hueScaleWrapper,allowMoveByClick:!0,dragDirection:\"vertical\",onDragMove:function(t){var n=t.event;e._updateByDrag=!0,e._saveValueChangeEvent(n),e._updateColorHue((0,r.locate)(e._$hueScaleHandle).top+e._hueScaleHandleHeight/2)}}),this._hueScaleHandleHeight=(0,i.getHeight)(this._$hueScaleHandle),this._placeHueScaleHandle()},_placeHueScaleHandle:function(){var e=this._hueScaleWrapperHeight,t=this._hueScaleHandleHeight,n=(e-t)*(360-this._currentColor.hsv.h)/360;e<n+t&&(n=e-t),n<0&&(n=0),(0,r.move)(this._$hueScaleHandle,{top:Math.round(n)})},_updateColorHue:function(e){var t=360-Math.round(360*(e-this._hueScaleHandleHeight/2)/(this._hueScaleWrapperHeight-this._hueScaleHandleHeight)),n=this._currentColor.hsv.s,i=this._currentColor.hsv.v;this._isTopColorHue=!1,(t=t<0?0:t)>=360&&(this._isTopColorHue=!0,t=0),this._updateColorFromHsv(t,n,i),this._$palette.css(\"backgroundColor\",this._currentColor.getPureColor().toHex())},_renderControlsContainer:function(){var e=this._renderHtmlCellInsideRow(0,this._$colorPickerContainer);this._$controlsContainer=(0,o.default)(\"<div>\").addClass(\"dx-colorview-controls-container\").appendTo(e)},_renderControls:function(){this._renderColorsPreview(),this._renderRgbInputs(),this._renderHexInput()},_renderColorsPreview:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-colorview-color-preview-container\").appendTo(this._$controlsContainer),t=(0,o.default)(\"<div>\").addClass(\"dx-colorview-color-preview-container-inner\").appendTo(e);this._$currentColor=(0,o.default)(\"<div>\").addClass([C,k].join(\" \")),this._$baseColor=(0,o.default)(\"<div>\").addClass([C,S].join(\" \")),this._makeTransparentBackground(this._$baseColor,this.option(\"matchValue\")),this._makeTransparentBackground(this._$currentColor,this._currentColor),t.append([this._$baseColor,this._$currentColor])},_renderAlphaChannelElements:function(){this.option(\"editAlphaChannel\")&&(this._$colorPickerContainer.find(\".dx-colorview-container-row\").eq(1).addClass(\"dx-colorview-alpha-channel-row\"),this._renderAlphaChannelScale(),this._renderAlphaChannelInput())},_renderRgbInputs:function(){this._rgbInputsWithLabels=[this._renderEditorWithLabel({editorType:f.default,value:this._currentColor.r,onValueChanged:this._updateColor.bind(this,!1),labelText:\"R\",labelAriaText:u.default.format(\"dxColorView-ariaRed\"),labelClass:\"dx-colorview-label-red\"}),this._renderEditorWithLabel({editorType:f.default,value:this._currentColor.g,onValueChanged:this._updateColor.bind(this,!1),labelText:\"G\",labelAriaText:u.default.format(\"dxColorView-ariaGreen\"),labelClass:\"dx-colorview-label-green\"}),this._renderEditorWithLabel({editorType:f.default,value:this._currentColor.b,onValueChanged:this._updateColor.bind(this,!1),labelText:\"B\",labelAriaText:u.default.format(\"dxColorView-ariaBlue\"),labelClass:\"dx-colorview-label-blue\"})],this._$controlsContainer.append(this._rgbInputsWithLabels),this._rgbInputs=[this._rgbInputsWithLabels[0].find(\".dx-numberbox\").dxNumberBox(\"instance\"),this._rgbInputsWithLabels[1].find(\".dx-numberbox\").dxNumberBox(\"instance\"),this._rgbInputsWithLabels[2].find(\".dx-numberbox\").dxNumberBox(\"instance\")]},_renderEditorWithLabel:function(e){var t=this,n=(0,o.default)(\"<div>\"),i=(0,o.default)(\"<label>\").addClass(e.labelClass).text(e.labelText+\":\").append(n);a.default.off(i,_.name),a.default.on(i,_.name,(function(e){e.preventDefault()}));var r=e.editorType,l=(0,s.extend)({value:e.value,onValueChanged:e.onValueChanged,onKeyboardHandled:function(e){return t._keyboardHandler(e)}},{stylingMode:this.option(\"stylingMode\")});return r===f.default&&(l.min=e.min||0,l.max=e.max||255,l.step=e.step||1),new r(n,l).registerKeyHandler(\"enter\",function(e){this._fireEnterKeyPressed(e)}.bind(this)),this.setAria(\"label\",e.labelAriaText,n),i},hexInputOptions:function(){return{editorType:p.default,value:this._currentColor.toHex().replace(\"#\",\"\"),onValueChanged:this._updateColor.bind(this,!0),labelClass:\"dx-colorview-label-hex\",labelText:\"#\",labelAriaText:u.default.format(\"dxColorView-ariaHex\")}},_renderHexInput:function(){this._hexInput=p.default.getInstance(this._renderEditorWithLabel(this.hexInputOptions()).appendTo(this._$controlsContainer).find(\".dx-textbox\"));var e=\"dx-\".concat(new v.default),t=this._$controlsContainer.find(\".\".concat(\"dx-colorview-label-hex\")).find(\".\".concat(\"dx-texteditor-input\"));this.setAria(\"id\",e,t),this.setAria(\"labelledby\",e,this._$paletteHandle)},_renderAlphaChannelScale:function(){var e=this._renderHtmlCellInsideRow(1,this._$colorPickerContainer,\"dx-colorview-alpha-channel-cell\"),t=(0,o.default)(\"<div>\").addClass(\"dx-colorview-alpha-channel-border\").appendTo(e),n=(0,o.default)(\"<div>\").addClass(\"dx-colorview-alpha-channel-wrapper\").appendTo(t);this._$alphaChannelScale=(0,o.default)(\"<div>\").addClass(\"dx-colorview-alpha-channel-scale\").appendTo(n),this._makeCSSLinearGradient(this._$alphaChannelScale),this._renderAlphaChannelHandle(e)},_makeCSSLinearGradient:function(e){var t=this._currentColor,n=\"\".concat(t.r,\",\").concat(t.g,\",\").concat(t.b),i=this.option(\"rtlEnabled\"),o=\"rgba(\".concat(n,\", \").concat(i?\"1\":\"0\",\")\"),a=\"rgba(\".concat(n,\", \").concat(i?\"0\":\"1\",\")\"),r=\"linear-gradient(-90deg, \".concat(o,\", \").concat(a,\")\");e.css(\"backgroundImage\",r)},_renderAlphaChannelInput:function(){var e=this,t=this._renderHtmlCellInsideRow(1,this._$colorPickerContainer);e._alphaChannelInput=this._renderEditorWithLabel({editorType:f.default,value:this._currentColor.a,max:1,step:.1,onValueChanged:function(t){var n=t.value;n=e._currentColor.isValidAlpha(n)?n:e._currentColor.a,t.event&&e._saveValueChangeEvent(t.event),e._updateColorTransparency(n),e._placeAlphaChannelHandle()},labelClass:\"dx-colorview-alpha-channel-label\",labelText:\"Alpha\",labelAriaText:u.default.format(\"dxColorView-ariaAlpha\")}).appendTo(t).find(\".dx-numberbox\").dxNumberBox(\"instance\")},_updateColorTransparency:function(e){this._currentColor.a=e,this.applyColor()},_renderAlphaChannelHandle:function(e){var t=this;this._$alphaChannelHandle=(0,o.default)(\"<div>\").addClass(\"dx-colorview-alpha-channel-handle\").appendTo(e),this._createComponent(this._$alphaChannelHandle,g.default,{contentTemplate:null,boundary:e,allowMoveByClick:!0,dragDirection:\"horizontal\",onDragMove:function(e){var n=e.event;t._updateByDrag=!0;var i=t._$alphaChannelHandle,o=(0,r.locate)(i).left+t._alphaChannelHandleWidth/2;t._saveValueChangeEvent(n),t._calculateColorTransparencyByScaleWidth(o)}}),this._alphaChannelHandleWidth=(0,i.getWidth)(this._$alphaChannelHandle),this._alphaChannelScaleWorkWidth=(0,i.getWidth)(e)-this._alphaChannelHandleWidth,this._placeAlphaChannelHandle()},_calculateColorTransparencyByScaleWidth:function(e){var t=(e-this._alphaChannelHandleWidth/2)/this._alphaChannelScaleWorkWidth,n=this.option(\"rtlEnabled\");t=n?t:1-t,e>=this._alphaChannelScaleWorkWidth+this._alphaChannelHandleWidth/2?t=n?1:0:t<1&&(t=t.toFixed(2));var i=this._alphaChannelInput.option(\"value\");t=Math.max(t,0),(t=Math.min(t,1))===i?this._updateByDrag=!1:this._alphaChannelInput.option(\"value\",t)},_placeAlphaChannelHandle:function(){var e=this._alphaChannelScaleWorkWidth*(1-this._currentColor.a);e<0&&(e=0),this._alphaChannelScaleWorkWidth<e&&(e=this._alphaChannelScaleWorkWidth),(0,r.move)(this._$alphaChannelHandle,{left:this.option(\"rtlEnabled\")?this._alphaChannelScaleWorkWidth-e:e})},applyColor:function(){var e=this.option(\"value\"),t=this.option(\"editAlphaChannel\")?this._makeRgba(this._currentColor):this._currentColor.toHex();this._makeTransparentBackground(this._$currentColor,this._currentColor),t===e?this._updateByDrag=!1:this.option(\"value\",t)},cancelColor:function(){this._initColorAndOpacity(),this._refreshMarkup()},_updateColor:function(e,t){var n,i;e?i=this._validateHex(\"#\"+this._hexInput.option(\"value\")):(n=this._validateRgb(),this._alphaChannelInput?(n.push(this._alphaChannelInput.option(\"value\")),i=\"rgba(\"+n.join(\", \")+\")\"):i=\"rgb(\"+n.join(\", \")+\")\"),this._suppressEditorsValueUpdating||(this._currentColor=new l.default(i),this._saveValueChangeEvent(t.event),this.applyColor(),this._refreshMarkup())},_validateHex:function(e){return this._currentColor.isValidHex(e)?e:this._currentColor.toHex()},_validateRgb:function(){var e=this._rgbInputs[0].option(\"value\"),t=this._rgbInputs[1].option(\"value\"),n=this._rgbInputs[2].option(\"value\");return this._currentColor.isValidRGB(e,t,n)||(e=this._currentColor.r,t=this._currentColor.g,n=this._currentColor.b),[e,t,n]},_refreshMarkup:function(){this._placeHueScaleHandle(),this._placePaletteHandle(),this._updateColorParamsAndColorPreview(),this._$palette.css(\"backgroundColor\",this._currentColor.getPureColor().toHex()),this._$alphaChannelHandle&&(this._updateColorTransparency(this._currentColor.a),this._placeAlphaChannelHandle())},_updateColorParamsAndColorPreview:function(){this._suppressEditorsValueUpdating=!0,this._hexInput.option(\"value\",this._currentColor.toHex().replace(\"#\",\"\")),this._rgbInputs[0].option(\"value\",this._currentColor.r),this._rgbInputs[1].option(\"value\",this._currentColor.g),this._rgbInputs[2].option(\"value\",this._currentColor.b),this._suppressEditorsValueUpdating=!1,this.option(\"editAlphaChannel\")&&(this._makeCSSLinearGradient.call(this,this._$alphaChannelScale),this._alphaChannelInput.option(\"value\",this._currentColor.a))},_optionChanged:function(e){var t=e.value;switch(e.name){case\"value\":this._setCurrentColor(t),this._updateByDrag||this._refreshMarkup(),this._updateByDrag=!1,this.callBase(e);break;case\"matchValue\":this._setBaseColor(t);break;case\"onEnterKeyPressed\":this._initEnterKeyPressedAction();break;case\"editAlphaChannel\":this._$colorPickerContainer&&(this._renderHtmlRows(\"editAlphaChannel\"),this._renderAlphaChannelElements());break;case\"keyStep\":break;case\"stylingMode\":this._renderControls();break;default:this.callBase(e)}}});(0,c.default)(\"dxColorView\",D);var I=D;t.default=I,e.exports=t.default,e.exports.default=t.default},10042:function(e,t,n){var i;t.default=void 0;var o=((i=n(5631))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},5631:function(e,t,n){t.default=void 0;var i=S(n(68374)),o=S(n(73349)),a=S(n(55994)),r=S(n(73176)),s=S(n(99393)),l=n(20576),u=n(35922),d=n(3532),c=n(6415),h=n(95479),f=n(13306),p=n(58201),g=S(n(87209)),m=S(n(49387)),_=S(n(20530)),v=n(39611),y=S(n(89799)),b=S(n(46377)),x=n(62754),w=n(49166),C=S(n(11699));function S(e){return e&&e.__esModule?e:{default:e}}function k(e,t){return(k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var D=[\"onShowing\",\"onShown\",\"onSubmenuCreated\",\"onHiding\",\"onHidden\",\"onPositioning\",\"onLeftFirstItem\",\"onLeftLastItem\",\"onCloseRootSubmenu\",\"onExpandLastSubmenu\"],I=[\"up\",\"down\",\"first\",\"last\"],T=(0,p.getWindow)(),E=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,k(t,n);var b=s.prototype;return b.getShowEvent=function(e){var t=null;return(0,u.isObject)(e)?null!==e.name&&(t=e.name||\"dxcontextmenu\"):t=e,t},b.getShowDelay=function(e){return(0,u.isObject)(e)&&e.delay},b._getDefaultOptions=function(){return(0,f.extend)(e.prototype._getDefaultOptions.call(this),{showEvent:\"dxcontextmenu\",hideOnOutsideClick:!0,position:{at:\"top left\",my:\"top left\"},onShowing:null,onShown:null,onSubmenuCreated:null,onHiding:null,onHidden:null,onPositioning:null,submenuDirection:\"auto\",visible:!1,target:void 0,onLeftFirstItem:null,onLeftLastItem:null,onCloseRootSubmenu:null,onExpandLastSubmenu:null})},b._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return!(0,p.hasWindow)()},options:{animation:null}}])},b._setDeprecatedOptions=function(){e.prototype._setDeprecatedOptions.call(this),(0,f.extend)(this._deprecatedOptions,{closeOnOutsideClick:{since:\"22.2\",alias:\"hideOnOutsideClick\"}})},b._initActions=function(){var e=this;this._actions={},(0,h.each)(D,(function(t,n){e._actions[n]=e._createActionByOption(n)||l.noop}))},b._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),(0,f.extend)(this._optionsByReference,{animation:!0,selectedItem:!0})},b._focusInHandler=function(){},b._itemContainer=function(){return this._overlay?this._overlay.$content():(0,i.default)()},b._eventBindingTarget=function(){return this._itemContainer()},b.itemsContainer=function(){return this._overlay?this._overlay.$content():void 0},b._supportedKeys=function(){var t=this;return(0,f.extend)(e.prototype._supportedKeys.call(this),{space:function(){var e=(0,i.default)(t.option(\"focusedElement\"));t.hide(),e.length&&t._isSelectionEnabled()&&t.selectItem(e[0])},escape:this.hide})},b._getActiveItem=function(){var t=this._getAvailableItems(),n=t.filter(\".\".concat(\"dx-state-focused\")),i=t.filter(\".\".concat(\"dx-state-hover\"));return i.closest(\".\".concat(\"dx-menu-items-container\")).find(\".\".concat(\"dx-menu-item\")).index(n)>=0?n:i.length?i:e.prototype._getActiveItem.call(this)},b._moveFocus=function(t){var n,o=this._getItemsByLocation(t),a=this._getActiveItem(!0),r=this.itemsContainer().find(\".\".concat(\"dx-state-hover\")),s=!(!(0,i.default)(this.option(\"focusedElement\")).length&&!r.length);switch(t){case\"up\":n=s?this._prevItem(o):a,this._setFocusedElement(n),a.is(o.first())&&this._actions.onLeftFirstItem(a);break;case\"down\":n=s?this._nextItem(o):a,this._setFocusedElement(n),a.is(o.last())&&this._actions.onLeftLastItem(a);break;case\"right\":n=this.option(\"rtlEnabled\")?this._hideSubmenuHandler():this._expandSubmenuHandler(o,t),this._setFocusedElement(n);break;case\"left\":n=this.option(\"rtlEnabled\")?this._expandSubmenuHandler(o,t):this._hideSubmenuHandler(),this._setFocusedElement(n);break;case\"first\":n=o.first(),this._setFocusedElement(n);break;case\"last\":n=o.last(),this._setFocusedElement(n);break;default:return e.prototype._moveFocus.call(this,t)}},b._setFocusedElement=function(e){e&&0!==e.length&&this.option(\"focusedElement\",(0,c.getPublicElement)(e))},b._getItemsByLocation=function(e){var t,n=this._getActiveItem(!0);return I.includes(e)&&(t=n.closest(\".\".concat(\"dx-menu-items-container\")).children().children()),t=this._getAvailableItems(t)},b._getAriaTarget=function(){return this.$element()},b._refreshActiveDescendant=function(){if((0,u.isDefined)(this._overlay)){var t=this._overlay.$content();e.prototype._refreshActiveDescendant.call(this,t)}},b._hideSubmenuHandler=function(){var e=this._getActiveItem(!0),t=e.parents(\".\".concat(\"dx-menu-item-expanded\")).first();return t.length?(this._hideSubmenusOnSameLevel(t),this._hideSubmenu(e.closest(\".\".concat(\"dx-submenu\"))),t):(this._actions.onCloseRootSubmenu(e),e)},b._expandSubmenuHandler=function(e,t){var n=this._getActiveItem(!0),i=this._getItemData(n),o=this._dataAdapter.getNodeByItem(i),a=this._hasSubmenu(o),r=n.children(\".\".concat(\"dx-submenu\"));if(a&&!n.hasClass(\"dx-state-disabled\"))return r.length&&\"hidden\"!==r.css(\"visibility\")||this._showSubmenu(n),this._nextItem(this._getItemsByLocation(t));this._actions.onExpandLastSubmenu(n)},b._clean=function(){this._overlay&&(this._overlay.$element().remove(),this._overlay=null),this._detachShowContextMenuEvents(this._getTarget()),e.prototype._clean.call(this)},b._initMarkup=function(){this.$element().addClass(\"dx-has-context-menu\"),e.prototype._initMarkup.call(this)},b._render=function(){e.prototype._render.call(this),this._renderVisibility(this.option(\"visible\")),this._addWidgetClass()},b._renderContentImpl=function(){this._detachShowContextMenuEvents(this._getTarget()),this._attachShowContextMenuEvents()},b._attachKeyboardEvents=function(){!this._keyboardListenerId&&this._focusTarget().length&&e.prototype._attachKeyboardEvents.call(this)},b._renderContextMenuOverlay=function(){if(!this._overlay){var e=this._getOverlayOptions();this._overlay=this._createComponent((0,i.default)(\"<div>\").appendTo(this._$element),y.default,e);var t=this._overlay.$content();t.addClass(\"dx-context-menu\"),this._addCustomCssClass(t),this._addPlatformDependentClass(t),this._attachContextMenuEvent()}},b.preventShowingDefaultContextMenuAboveOverlay=function(){var e=this._itemContainer(),t=(0,v.addNamespace)(w.name,this.NAME);a.default.off(e,t,\".\".concat(\"dx-submenu\")),a.default.on(e,t,\".\".concat(\"dx-submenu\"),function(n){n.stopPropagation(),n.preventDefault(),a.default.off(e,t,\".\".concat(\"dx-submenu\"))}.bind(this))},b._itemContextMenuHandler=function(t){e.prototype._itemContextMenuHandler.call(this,t),t.stopPropagation()},b._addPlatformDependentClass=function(e){_.default.current().phone&&e.addClass(\"dx-menu-phone-overlay\")},b._detachShowContextMenuEvents=function(e){var t=this.getShowEvent(this.option(\"showEvent\"));if(t){var n=(0,v.addNamespace)(t,this.NAME);this._showContextMenuEventHandler?a.default.off(o.default.getDocument(),n,e,this._showContextMenuEventHandler):a.default.off((0,i.default)(e),n)}},b._attachShowContextMenuEvents=function(){var e=this,t=this._getTarget(),n=this.getShowEvent(this.option(\"showEvent\"));if(n){var r=(0,v.addNamespace)(n,this.NAME),s=this._createAction((function(t){var n=e.getShowDelay(e.option(\"showEvent\"));n?setTimeout((function(){return e._show(t.event)}),n):e._show(t.event)}),{validatingTargetName:\"target\"}),l=function(e){return s({event:e,target:(0,i.default)(e.currentTarget)})};s=this._createAction(s),(0,u.isRenderer)(t)||t.nodeType||(0,u.isWindow)(t)?(this._showContextMenuEventHandler=void 0,a.default.on(t,r,l)):(this._showContextMenuEventHandler=l,a.default.on(o.default.getDocument(),r,t,this._showContextMenuEventHandler))}},b._hoverEndHandler=function(t){e.prototype._hoverEndHandler.call(this,t),t.stopPropagation()},b._renderDimensions=function(){},b._renderContainer=function(t,n){var o=n||this._itemContainer();(t=(0,i.default)(\"<div>\")).appendTo(o).addClass(\"dx-submenu\").css(\"visibility\",n?\"hidden\":\"visible\"),t.parent().hasClass(\"dx-overlay-content\")||this._addCustomCssClass(t);var a=e.prototype._renderContainer.call(this,t);return n?a:this.option(\"width\")?a.css(\"minWidth\",this.option(\"width\")):this.option(\"height\")?a.css(\"minHeight\",this.option(\"height\")):a},b._renderSubmenuItems=function(e,t){this._renderItems(this._getChildNodes(e),t),this._actions.onSubmenuCreated({itemElement:(0,c.getPublicElement)(t),itemData:e.internalFields.item,submenuElement:(0,c.getPublicElement)(t.children(\".\".concat(\"dx-submenu\")))})},b._getOverlayOptions=function(){var e=this,t=this.option(\"position\");return{focusStateEnabled:this.option(\"focusStateEnabled\"),animation:this.option(\"animation\"),innerOverlay:!0,hideOnOutsideClick:function(t){return e._hideOnOutsideClickHandler(t)},propagateOutsideClick:!0,hideOnParentScroll:!0,deferRendering:!1,position:{at:t.at,my:t.my,of:this._getTarget(),collision:\"flipfit\"},shading:!1,showTitle:!1,height:\"auto\",width:\"auto\",onShown:this._overlayShownActionHandler.bind(this),onHiding:this._overlayHidingActionHandler.bind(this),onHidden:this._overlayHiddenActionHandler.bind(this),visualContainer:T}},b._overlayShownActionHandler=function(e){this._actions.onShown(e)},b._overlayHidingActionHandler=function(e){this._actions.onHiding(e),e.cancel||(this._hideAllShownSubmenus(),this._setOptionWithoutOptionChange(\"visible\",!1))},b._overlayHiddenActionHandler=function(e){this._actions.onHidden(e)},b._shouldHideOnOutsideClick=function(e){var t=this.option(),n=t.closeOnOutsideClick,i=t.hideOnOutsideClick;return(0,u.isFunction)(i)?i(e):(0,u.isFunction)(n)?n(e):i||n},b._hideOnOutsideClickHandler=function(e){if(!this._shouldHideOnOutsideClick(e))return!1;if(o.default.isDocument(e.target))return!0;var t=this._getActiveItemsContainer(e.target),n=this._getItemsContainers(),i=this._searchActiveItem(e.target),a=this.$element().parents(\".\".concat(\"dx-menu-item\")),r=i[0]===a[0]&&i.length&&a.length;return!(this._isIncludeOverlay(t,n)&&i.length)&&!r||(\"onClick\"===this._getShowSubmenuMode()&&this._hideAllShownChildSubmenus(i),!1)},b._getActiveItemsContainer=function(e){return(0,i.default)(e).closest(\".\".concat(\"dx-menu-items-container\"))},b._getItemsContainers=function(){return this._overlay.$content().find(\".\".concat(\"dx-menu-items-container\"))},b._searchActiveItem=function(e){return(0,i.default)(e).closest(\".\".concat(\"dx-menu-item\")).eq(0)},b._isIncludeOverlay=function(e,t){var n=!1;return(0,h.each)(t,(function(t,i){e.is(i)&&!n&&(n=!0)})),n},b._hideAllShownChildSubmenus=function(e){var t=this,n=e.find(\".\".concat(\"dx-submenu\")),i=(0,f.extend)([],this._shownSubmenus);n.length>0&&(0,h.each)(i,(function(n,i){var o=t._searchActiveItem(i.context).parent();o.parent().is(e.parent().parent())&&!o.is(e.parent())&&t._hideSubmenu(i)}))},b._showSubmenu=function(t){var n=this._dataAdapter.getNodeByItem(this._getItemData(t));if(this._hideSubmenusOnSameLevel(t),this._hasSubmenu(n)){var i=t.children(\".\".concat(\"dx-submenu\")),o=i.length;e.prototype._showSubmenu.call(this,t),o||this._renderSubmenuItems(n,t),this._isSubmenuVisible(i)||this._drawSubmenu(t)}},b._hideSubmenusOnSameLevel=function(e){var t=e.parent(\".\".concat(\"dx-menu-item-wrapper\")).siblings().find(\".\".concat(\"dx-menu-item-expanded\"));t.length&&(t.removeClass(\"dx-menu-item-expanded\"),this._hideSubmenu(t.find(\".\".concat(\"dx-submenu\"))))},b._hideSubmenuGroup=function(e){this._isSubmenuVisible(e)&&this._hideSubmenuCore(e)},b._isSubmenuVisible=function(e){return\"visible\"===e.css(\"visibility\")},b._drawSubmenu=function(e){var t=this.option(\"animation\")?this.option(\"animation\").show:{},n=e.children(\".\".concat(\"dx-submenu\")),i=this._getSubmenuPosition(e);this._overlay&&this._overlay.option(\"visible\")&&((0,u.isDefined)(this._shownSubmenus)||(this._shownSubmenus=[]),this._shownSubmenus.includes(n)||this._shownSubmenus.push(n),t&&g.default.stop(n),m.default.setup(n,i),t&&((0,u.isPlainObject)(t.to)&&(t.to.position=i),this._animate(n,t)),n.css(\"visibility\",\"visible\"))},b._animate=function(e,t){g.default.animate(e,t)},b._getSubmenuPosition=function(e){var t=this.option(\"submenuDirection\").toLowerCase(),n={collision:\"flip\",of:e.parent(\".\".concat(\"dx-menu-item-wrapper\")),offset:{h:0,v:-1}};switch(t){case\"left\":n.at=\"left top\",n.my=\"right top\";break;case\"right\":n.at=\"right top\",n.my=\"left top\";break;default:this.option(\"rtlEnabled\")?(n.at=\"left top\",n.my=\"right top\"):(n.at=\"right top\",n.my=\"left top\")}return n},b._updateSubmenuVisibilityOnClick=function(e){if(e.args.length){var t=e.args[0].itemData,n=this._dataAdapter.getNodeByItem(t);if(n){var o=(0,i.default)(e.args[0].itemElement),a=o.find(\".\".concat(\"dx-submenu\"));if(this._hasSubmenu(n)&&!a.length&&(this._renderSubmenuItems(n,o),a=o.find(\".\".concat(\"dx-submenu\"))),o.context!==a.context||\"visible\"!==a.css(\"visibility\")){this._updateSelectedItemOnClick(e);var r=t&&!1===t.closeMenuOnClick;if(t&&!t.disabled&&!r)if(0===a.length){var s=(0,i.default)(o.parents(\".\".concat(\"dx-submenu\"))[0]);this._hideSubmenu(s),!e.canceled&&this._overlay&&this._overlay.option(\"visible\")&&this.option(\"visible\",!1)}else this._shownSubmenus&&this._shownSubmenus.length>0&&this._shownSubmenus[0].is(a)&&this._hideSubmenu(a),this._showSubmenu(o)}}}},b._hideSubmenu=function(e){var t=this,n=(0,f.extend)([],this._shownSubmenus);(0,h.each)(n,(function(n,i){(e.is(i)||(0,d.contains)(e[0],i[0]))&&(i.parent().removeClass(\"dx-menu-item-expanded\"),t._hideSubmenuCore(i))}))},b._hideSubmenuCore=function(e){var t=this._shownSubmenus.indexOf(e),n=this.option(\"animation\")?this.option(\"animation\").hide:null;t>=0&&this._shownSubmenus.splice(t,1),this._stopAnimate(e),n&&this._animate(e,n),e.css(\"visibility\",\"hidden\")},b._stopAnimate=function(e){g.default.stop(e,!0)},b._hideAllShownSubmenus=function(){var e=this,t=(0,f.extend)([],this._shownSubmenus);this._overlay.$content().find(\".\".concat(\"dx-menu-item-expanded\")).removeClass(\"dx-menu-item-expanded\"),(0,h.each)(t,(function(t,n){e._hideSubmenu(n)}))},b._visibilityChanged=function(e){e&&this._renderContentImpl()},b._optionChanged=function(t){if(D.includes(t.name))this._initActions();else switch(t.name){case\"visible\":this._renderVisibility(t.value);break;case\"showEvent\":case\"position\":case\"submenuDirection\":this._invalidate();break;case\"target\":t.previousValue&&this._detachShowContextMenuEvents(t.previousValue),this._invalidate();break;case\"closeOnOutsideClick\":case\"hideOnOutsideClick\":break;default:e.prototype._optionChanged.call(this,t)}},b._renderVisibility=function(e){return e?this._show():this._hide()},b._toggleVisibility=function(){},b._show=function(e){var t={jQEvent:e},n=(new x.Deferred).reject().promise();if(this._actions.onShowing(t),t.cancel)return n;var i,o=this._positionContextMenu(e);o&&(this._overlay||(this._renderContextMenuOverlay(),this._overlay.$content().addClass(this._widgetClass()),this._renderFocusState(),this._attachHoverEvents(),this._attachClickEvent(),this._renderItems(this._dataAdapter.getRootNodes())),this._setOptionWithoutOptionChange(\"visible\",!0),this._overlay.option(\"position\",o),n=this._overlay.show(),e&&e.stopPropagation(),this._setAriaAttributes(),(null==e||null===(i=e.originalEvent)||void 0===i?void 0:i.type)===C.default.name&&this.preventShowingDefaultContextMenuAboveOverlay());return n},b._setAriaAttributes=function(){this._overlayContentId=\"dx-\".concat(new r.default),this.setAria(\"owns\",this._overlayContentId),this.setAria({id:this._overlayContentId,role:\"menu\"},this._overlay.$content())},b._cleanAriaAttributes=function(){this._overlay&&this.setAria(\"id\",null,this._overlay.$content()),this.setAria(\"owns\",void 0)},b._getTarget=function(){return this.option(\"target\")||this.option(\"position\").of||(0,i.default)(o.default.getDocument())},b._getContextMenuPosition=function(){return(0,f.extend)({},this.option(\"position\"),{of:this._getTarget()})},b._positionContextMenu=function(e){var t=this._getContextMenuPosition(),n=this._isInitialOptionValue(\"position\"),i=this._createActionByOption(\"onPositioning\");e&&e.preventDefault&&n&&(t.of=e);var o={position:t,event:e};return i(o),o.cancel?t=null:o.event&&(o.event.cancel=!0,e.preventDefault()),t},b._refresh=function(){if((0,p.hasWindow)())if(this._overlay){var t=this._overlay.option(\"position\");e.prototype._refresh.call(this),this._overlay&&this._overlay.option(\"position\",t)}else e.prototype._refresh.call(this);else e.prototype._refresh.call(this)},b._hide=function(){var e;return this._overlay&&(e=this._overlay.hide(),this._setOptionWithoutOptionChange(\"visible\",!1)),this._cleanAriaAttributes(),this.option(\"focusedElement\",null),e||(new x.Deferred).reject().promise()},b.toggle=function(e){var t=this.option(\"visible\");return e=void 0===e?!t:e,this._renderVisibility(e)},b.show=function(){return this.toggle(!0)},b.hide=function(){return this.toggle(!1)},s}(b.default);(0,s.default)(\"dxContextMenu\",E);var O=E;t.default=O,e.exports=t.default,e.exports.default=t.default},69639:function(e,t,n){t.default=void 0;var i=a(n(68374)),o=n(95479);function a(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var l=a.prototype;return l._getPlainItems=function(){return(0,o.map)(this._collectionWidget.option(\"items\"),(function e(t){return t.items?[t].concat((0,o.map)(t.items,e)):t}))},l._stringifyItem=function(e){var t=this;return JSON.stringify(e,(function(e,n){return\"template\"===e?t._getTemplateString(n):n}))},l._getTemplateString=function(e){return\"object\"===r(e)?(0,i.default)(e).text():e.toString()},a}(a(n(14174)).default);t.default=l,e.exports=t.default,e.exports.default=t.default},46377:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=n(20576),a=n(35922),r=n(95479),s=n(13306),l=n(72672),u=f(n(65810)),d=f(n(69639)),c=f(n(20530)),h=f(n(54778));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=\"dx-menu-item\",m={show:50,hide:300},_=\"\".concat(\"dx-menu-item-text\",\"-with-url\"),v=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var h=u.prototype;return h._getDefaultOptions=function(){return(0,s.extend)(e.prototype._getDefaultOptions.call(this),{items:[],cssClass:\"\",activeStateEnabled:!0,showSubmenuMode:{name:\"onHover\",delay:{show:50,hide:300}},animation:{show:{type:\"fade\",from:0,to:1,duration:100},hide:{type:\"fade\",from:1,to:0,duration:100}},selectByClick:!1,focusOnSelectedItem:!1,keyExpr:null,_itemAttributes:{role:\"menuitem\"},useInkRipple:!1})},h._itemDataKey=function(){return\"dxMenuItemDataKey\"},h._itemClass=function(){return g},h._setAriaSelectionAttribute=function(){},h._selectedItemClass=function(){return\"dx-menu-item-selected\"},h._widgetClass=function(){return\"dx-menu-base\"},h._focusTarget=function(){return this._itemContainer()},h._clean=function(){this.option(\"focusedElement\",null),e.prototype._clean.call(this)},h._supportedKeys=function(){var t=this;return(0,s.extend)(e.prototype._supportedKeys.call(this),{space:function(){var e=(0,i.default)(t.option(\"focusedElement\"));e.length&&t._isSelectionEnabled()&&t.selectItem(e[0])},pageUp:o.noop,pageDown:o.noop})},h._isSelectionEnabled=function(){return\"single\"===this.option(\"selectionMode\")},h._init=function(){this._activeStateUnit=\".\".concat(g),e.prototype._init.call(this),this._renderSelectedItem(),this._initActions()},h._getLinkContainer=function(t,n,i){var o=i.linkAttr,a=i.url;return null==t||t.addClass(\"dx-icon-with-url\"),null==n||n.addClass(_),e.prototype._getLinkContainer.call(this,t,n,{linkAttr:o,url:a})},h._addContent=function(t,n){var i=n.html;if(n.url){t.html(i);var o=this._getLinkContainer(this._getIconContainer(n),this._getTextContainer(n),n);t.append(o)}else e.prototype._addContent.call(this,t,n);t.append(this._getPopoutContainer(n)),this._addContentClasses(n,t.parent())},h._getTextContainer=function(e){var t=e.text;if(t){var n=(0,i.default)(\"<span>\").addClass(\"dx-menu-item-text\"),o=(0,a.isPlainObject)(e)?t:String(e);return n.text(o)}},h._getItemExtraPropNames=function(){return[\"url\",\"linkAttr\"]},h._getPopoutContainer=function(e){var t,n=e.items;if(n&&n.length){var o=(0,i.default)(\"<div>\").addClass(\"dx-menu-item-popout\");t=(0,i.default)(\"<span>\").addClass(\"dx-menu-item-popout-container\").append(o)}return t},h._getDataAdapterOptions=function(){return{rootValue:0,multipleSelection:!1,recursiveSelection:!1,recursiveExpansion:!1,searchValue:\"\"}},h._selectByItem=function(e){if(e){var t=this._dataAdapter.getNodeByItem(e);this._dataAdapter.toggleSelection(t.internalFields.key,!0)}},h._renderSelectedItem=function(){var e=this._dataAdapter.getSelectedNodesKeys(),t=e.length&&e[0],n=this.option(\"selectedItem\");if(t){var i=this._dataAdapter.getNodeByKey(t);!1!==i.selectable&&(n?n!==i.internalFields.item&&(this._dataAdapter.toggleSelection(t,!1),this._selectByItem(n)):this.option(\"selectedItem\",i.internalFields.item))}else this._selectByItem(n)},h._initActions=function(){},h._initMarkup=function(){e.prototype._initMarkup.call(this),this.option(\"useInkRipple\")&&this._renderInkRipple()},h._renderInkRipple=function(){this._inkRipple=(0,l.render)()},h._toggleActiveState=function(t,n,i){if(e.prototype._toggleActiveState.apply(this,arguments),this._inkRipple){var o={element:t,event:i};n?this._inkRipple.showWave(o):this._inkRipple.hideWave(o)}},h._getShowSubmenuMode=function(){var e=this.option(\"showSubmenuMode\");return e=(0,a.isObject)(e)?e.name:e,this._isDesktopDevice()?e:\"onClick\"},h._initSelectedItems=function(){},h._isDesktopDevice=function(){return\"desktop\"===c.default.real().deviceType},h._initEditStrategy=function(){var e=d.default;this._editStrategy=new e(this)},h._addCustomCssClass=function(e){e.addClass(this.option(\"cssClass\"))},h._itemWrapperSelector=function(){return\".\".concat(\"dx-menu-item-wrapper\")},h._hoverStartHandler=function(e){var t=this._getItemElementByEventArgs(e);t&&!this._isItemDisabled(t)&&(e.stopPropagation(),\"onHover\"===this._getShowSubmenuMode()&&(clearTimeout(this._showSubmenusTimeout),this._showSubmenusTimeout=setTimeout(this._showSubmenu.bind(this,t),this._getSubmenuDelay(\"show\"))))},h._getAvailableItems=function(t){return e.prototype._getAvailableItems.call(this,t).filter((function(){return\"hidden\"!==(0,i.default)(this).css(\"visibility\")}))},h._isItemDisabled=function(e){return this._disabledGetter(e.data(this._itemDataKey()))},h._showSubmenu=function(e){this._addExpandedClass(e)},h._addExpandedClass=function(e){(0,i.default)(e).addClass(\"dx-menu-item-expanded\")},h._getSubmenuDelay=function(e){var t=this.option(\"showSubmenuMode\").delay;return(0,a.isDefined)(t)?(0,a.isObject)(t)?t[e]:t:m[e]},h._getItemElementByEventArgs=function(e){var t=(0,i.default)(e.target);if(t.hasClass(this._itemClass())||t.get(0)===e.currentTarget)return t;for(;!t.hasClass(this._itemClass());)if((t=t.parent()).hasClass(\"dx-submenu\"))return null;return t},h._hoverEndHandler=function(){clearTimeout(this._showSubmenusTimeout)},h._hasSubmenu=function(e){return e&&e.internalFields.childrenKeys.length},h._renderContentImpl=function(){this._renderItems(this._dataAdapter.getRootNodes())},h._renderItems=function(e,t){var n=this;if(e.length){this.hasIcons=!1;var i=this._renderContainer(this.$element(),t),o=-1,a=-1;(0,r.each)(e,(function(e,t){var r=!1!==t.visible;r&&o<0&&(o=e),o<e&&(t.beginGroup||e===a)&&(a=r?e:e+1),e===a&&o<e&&n._renderSeparator(i),n._renderItem(e,t,i)})),this.hasIcons||i.addClass(\"dx-menu-no-icons\")}},h._renderContainer=function(e){var t=(0,i.default)(\"<ul>\");return this.setAria(\"role\",\"none\",t),t.appendTo(e).addClass(\"dx-menu-items-container\")},h._createDOMElement=function(e){var t=(0,i.default)(\"<li>\");return this.setAria(\"role\",\"none\",t),t.appendTo(e).addClass(\"dx-menu-item-wrapper\")},h._renderItem=function(t,n,i,o){var a=this.option(\"items\"),r=o||this._createDOMElement(i);a[t+1]&&a[t+1].beginGroup&&r.addClass(\"dx-menu-last-group-item\");var s=e.prototype._renderItem.call(this,t,n.internalFields.item,r);n.internalFields.item===this.option(\"selectedItem\")&&s.addClass(\"dx-menu-item-selected\"),s.attr(\"tabIndex\",-1),this._hasSubmenu(n)&&this.setAria(\"haspopup\",\"true\",s)},h._renderItemFrame=function(t,n,i){var o=i.children(\".\".concat(g));return o.length?o:e.prototype._renderItemFrame.apply(this,arguments)},h._refreshItem=function(e,t){var n=this._dataAdapter.getNodeByItem(t),i=e.data(this._itemIndexKey()),o=e.closest(\"ul\"),a=e.closest(\"li\");this._renderItem(i,n,o,a)},h._addContentClasses=function(e,t){var n=!!e.text&&!!e.text.length,i=!!e.icon,o=!!e.items&&!!e.items.length;t.toggleClass(\"dx-menu-item-has-text\",n),t.toggleClass(\"dx-menu-item-has-icon\",i),this.hasIcons||(this.hasIcons=i),t.toggleClass(\"dx-menu-item-has-submenu\",o)},h._getItemContent=function(t){var n=e.prototype._getItemContent.call(this,t);return n.length||(n=t.children(\".\".concat(\"dx-menu-item-content\"))),n},h._postprocessRenderItem=function(e){var t=(0,i.default)(e.itemElement),n=this._dataAdapter.getSelectedNodesKeys();n.length&&this._selectedGetter(e.itemData)&&this._isItemSelectable(e.itemData)?this._dataAdapter.getNodeByItem(e.itemData).internalFields.key===n[0]?(t.addClass(this._selectedItemClass()),this._setAriaSelectionAttribute(t,\"true\")):this._setAriaSelectionAttribute(t,\"false\"):this._setAriaSelectionAttribute(t,\"false\")},h._isItemSelectable=function(e){return!1!==e.selectable},h._renderSeparator=function(e){(0,i.default)(\"<li>\").appendTo(e).addClass(\"dx-menu-separator\")},h._itemClickHandler=function(e){if(!e._skipHandling){var t=this._createAction(this._updateSubmenuVisibilityOnClick.bind(this));this._itemDXEventHandler(e,\"onItemClick\",{},{beforeExecute:this._itemClick,afterExecute:t.bind(this)}),e._skipHandling=!0}},h._itemClick=function(e){var t=e.args[0],n=t.event.target.getElementsByClassName(\"dx-item-url\")[0];t.itemData.url&&n&&n.click()},h._updateSubmenuVisibilityOnClick=function(e){this._updateSelectedItemOnClick(e),\"onClick\"===this._getShowSubmenuMode()&&this._addExpandedClass(e.args[0].itemElement)},h._updateSelectedItemOnClick=function(e){var t=e.args?e.args[0]:e;if(this._isItemSelectAllowed(t.itemData)){var n=this._dataAdapter.getSelectedNodesKeys(),i=n.length&&this._dataAdapter.getNodeByKey(n[0]);i&&this._toggleItemSelection(i,!1),i&&i.internalFields.item===t.itemData?(this._fireSelectionChangeEvent(null,this.option(\"selectedItem\")),this._setOptionWithoutOptionChange(\"selectedItem\",null)):this.selectItem(t.itemData)}},h._isItemSelectAllowed=function(e){var t=this._isSelectionEnabled()&&this.option(\"selectByClick\");return!this._isContainerEmpty()&&t&&this._isItemSelectable(e)&&!this._itemsGetter(e)},h._isContainerEmpty=function(){return this._itemContainer().is(\":empty\")},h._syncSelectionOptions=function(){return(0,o.asyncNoop)()},h._optionChanged=function(t){switch(t.name){case\"showSubmenuMode\":break;case\"selectedItem\":var n=this._dataAdapter.getNodeByItem(t.value),i=this._dataAdapter.getSelectedNodesKeys()[0];if(n&&n.internalFields.key!==i){if(!1===n.selectable)break;i&&this._toggleItemSelection(this._dataAdapter.getNodeByKey(i),!1),this._toggleItemSelection(n,!0),this._updateSelectedItems()}break;case\"cssClass\":case\"position\":case\"selectByClick\":case\"animation\":case\"useInkRipple\":this._invalidate();break;default:e.prototype._optionChanged.call(this,t)}},h._toggleItemSelection=function(e,t){var n=this._getElementByItem(e.internalFields.item);n&&(0,i.default)(n).toggleClass(\"dx-menu-item-selected\"),this._dataAdapter.toggleSelection(e.internalFields.key,t)},h._getElementByItem=function(e){var t,n=this;return(0,r.each)(this._itemElements(),(function(o,a){return(0,i.default)(a).data(n._itemDataKey())!==e||(t=a,!1)})),t},h._updateSelectedItems=function(e,t){(e||t)&&this._fireSelectionChangeEvent(t,e)},h._fireSelectionChangeEvent=function(e,t){this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})({addedItems:[e],removedItems:[t]})},h.selectItem=function(e){var t=e.nodeType?this._getItemData(e):e,n=this._dataAdapter.getSelectedNodesKeys()[0],i=this.option(\"selectedItem\"),o=this._dataAdapter.getNodeByItem(t);o.internalFields.key!==n&&(n&&this._toggleItemSelection(this._dataAdapter.getNodeByKey(n),!1),this._toggleItemSelection(o,!0),this._updateSelectedItems(i,t),this._setOptionWithoutOptionChange(\"selectedItem\",t))},h.unselectItem=function(e){var t=e.nodeType?this._getItemData(e):e,n=this._dataAdapter.getNodeByItem(t),i=this.option(\"selectedItem\");n.internalFields.selected&&(this._toggleItemSelection(n,!1),this._updateSelectedItems(i,null),this._setOptionWithoutOptionChange(\"selectedItem\",null))},u}(u.default);v.ItemClass=h.default;var y=v;t.default=y,e.exports=t.default,e.exports.default=t.default},1186:function(e,t,n){var i;t.default=void 0;var o=((i=n(10590))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},88221:function(e,t,n){var i;t.default=void 0;var o=((i=n(10590))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},29589:function(e,t,n){var i;t.default=void 0;var o=((i=n(92478))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},69248:function(e,t,n){t.default=void 0;var i=n(58201),o=n(35922),a=n(3532),r=n(95479),s=n(13306),l=n(60137),u=w(n(20530)),d=w(n(80209)),c=w(n(91198)),h=w(n(72309)),f=w(n(69434)),p=w(n(44687)),g=w(n(91500)),m=w(n(28109)),_=w(n(46919)),v=w(n(67814)),y=w(n(84416)),b=w(n(97e3)),x=w(n(57728));function w(e){return e&&e.__esModule?e:{default:e}}var C=(0,i.getWindow)(),S={calendar:\"calendar\",rollers:\"rollers\",list:\"list\",native:\"native\"},k={date:\"date\",datetime:\"datetime\",time:\"time\"},D=\"Calendar\",I=\"DateView\",T=\"Native\",E=\"CalendarWithTime\",O=\"List\",A={Calendar:_.default,DateView:v.default,Native:y.default,CalendarWithTime:b.default,List:x.default},P=p.default.inherit({_supportedKeys:function(){return(0,s.extend)(this.callBase(),this._strategy.supportedKeys())},_renderButtonContainers:function(){this.callBase.apply(this,arguments),this._strategy.customizeButtons()},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{type:\"date\",showAnalogClock:!0,value:null,dateSerializationFormat:void 0,min:void 0,max:void 0,displayFormat:null,interval:30,disabledDates:null,pickerType:S.calendar,invalidDateMessage:m.default.format(\"dxDateBox-validation-datetime\"),dateOutOfRangeMessage:m.default.format(\"validation-range\"),applyButtonText:m.default.format(\"OK\"),adaptivityEnabled:!1,calendarOptions:{},useHiddenSubmitElement:!0,_showValidationIcon:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"ios\"},options:{\"dropDownOptions.showTitle\":!0}},{device:{platform:\"android\"},options:{buttonsLocation:\"bottom after\"}},{device:function(){var e=u.default.real().platform;return\"ios\"===e||\"android\"===e},options:{pickerType:S.native}},{device:{platform:\"generic\",deviceType:\"desktop\"},options:{buttonsLocation:\"bottom after\"}}])},_initOptions:function(e){this._userOptions=(0,s.extend)({},e),this.callBase(e),this._updatePickerOptions()},_updatePickerOptions:function(){var e=this.option(\"pickerType\"),t=this.option(\"type\");e!==S.list||t!==k.datetime&&t!==k.date||(e=S.calendar),t===k.time&&e===S.calendar&&(e=S.list),this.option(\"showDropDownButton\",\"generic\"!==u.default.real().platform||e!==S.native),this._pickerType=e},_init:function(){this._initStrategy(),this.option((0,s.extend)({},this._strategy.getDefaultOptions(),this._userOptions)),delete this._userOptions,this.callBase()},_toLowerCaseFirstLetter:function(e){return e.charAt(0).toLowerCase()+e.substr(1)},_initStrategy:function(){var e=this._getStrategyName(this._getFormatType()),t=A[e];this._strategy&&this._strategy.NAME===e||(this._strategy=new t(this))},_getFormatType:function(){var e=this.option(\"type\"),t=/h|m|s/g.test(e),n=\"\";return/d|M|Y/g.test(e)&&(n+=k.date),t&&(n+=k.time),n},_getStrategyName:function(e){var t=this._pickerType;return t===S.rollers?I:t===S.native?T:e===k.date?D:e===k.datetime?E:O},_initMarkup:function(){this.$element().addClass(\"dx-datebox\"),this.callBase(),this._refreshFormatClass(),this._refreshPickerTypeClass(),this._strategy.renderInputMinMax(this._input())},_render:function(){this.callBase(),this._formatValidationIcon()},_renderDimensions:function(){this.callBase(),this.$element().toggleClass(\"dx-auto-width\",!this.option(\"width\")),this._updatePopupWidth(),this._updatePopupHeight()},_dimensionChanged:function(){this.callBase(),this._updatePopupHeight()},_updatePopupHeight:function(){var e,t;this._popup&&(null===(e=(t=this._strategy)._updatePopupHeight)||void 0===e||e.call(t))},_refreshFormatClass:function(){var e=this.$element();(0,r.each)(k,(function(t,n){e.removeClass(\"dx-datebox-\"+n)})),e.addClass(\"dx-datebox-\"+this.option(\"type\"))},_refreshPickerTypeClass:function(){var e=this.$element();(0,r.each)(S,(function(t,n){e.removeClass(\"dx-datebox-\"+n)})),e.addClass(\"dx-datebox-\"+this._pickerType)},_formatValidationIcon:function(){if((0,i.hasWindow)()){var e=this._input().get(0),t=this.option(\"rtlEnabled\"),n=this._getClearButtonWidth(),o=this._getLongestElementDimensions(),a=parseFloat(C.getComputedStyle(e).width)-n,r=o.width>a,s=e.style;this.$element().toggleClass(\"dx-show-invalid-badge\",!r&&this.option(\"_showValidationIcon\")),r?(void 0===this._storedPadding&&(this._storedPadding=t?o.leftPadding:o.rightPadding),t?s.paddingLeft=0:s.paddingRight=0):t?s.paddingLeft=this._storedPadding+\"px\":s.paddingRight=this._storedPadding+\"px\"}},_getClearButtonWidth:function(){var e=0;if(this._isClearButtonVisible()&&\"\"===this._input().val()){var t=this.$element().find(\".dx-clear-button-area\").get(0);e=parseFloat(C.getComputedStyle(t).width)}return e},_getLongestElementDimensions:function(){var e=this._strategy.getDisplayFormat(this.option(\"displayFormat\")),t=g.default.format(h.default.getLongestDate(e,g.default.getMonthNames(),g.default.getDayNames()),e),n=this._input(),i=n.get(0),o=(0,a.createTextElementHiddenCopy)(n,t),r=void 0!==this._storedPadding?this._storedPadding:0;o.appendTo(this.$element());var s=parseFloat(C.getComputedStyle(o.get(0)).width),l=parseFloat(C.getComputedStyle(i).paddingRight),u=parseFloat(C.getComputedStyle(i).paddingLeft),d=s+u+l+r;return o.remove(),{width:d,leftPadding:u,rightPadding:l}},_getKeyboardListeners:function(){return this.callBase().concat([this._strategy&&this._strategy.getKeyboardListener()])},_renderPopup:function(){this.callBase(),this._popup.$wrapper().addClass(\"dx-datebox-wrapper\"),this._renderPopupWrapper()},_getPopupToolbarItems:function(){var e,t,n,i=this.callBase();return null!==(e=null===(t=(n=this._strategy)._getPopupToolbarItems)||void 0===t?void 0:t.call(n,i))&&void 0!==e?e:i},_popupConfig:function(){var e=this.callBase();return(0,s.extend)(this._strategy.popupConfig(e),{title:this._getPopupTitle(),dragEnabled:!1})},_renderPopupWrapper:function(){if(this._popup){var e=this.$element(),t=(0,s.extend)({},k,S);(0,r.each)(t,function(t,n){e.removeClass(\"dx-datebox-wrapper-\"+n)}.bind(this)),this._popup.$wrapper().addClass(\"dx-datebox-wrapper-\"+this.option(\"type\")).addClass(\"dx-datebox-wrapper-\"+this._pickerType).addClass(\"dx-dropdowneditor-overlay\")}},_renderPopupContent:function(){this.callBase(),this._strategy.renderPopupContent()},_getFirstPopupElement:function(){return this._strategy.getFirstPopupElement()||this.callBase()},_getLastPopupElement:function(){return this._strategy.getLastPopupElement()||this.callBase()},_popupShowingHandler:function(){this.callBase(),this._strategy.popupShowingHandler()},_popupShownHandler:function(){this.callBase(),this._strategy.renderOpenedState()},_popupHiddenHandler:function(){this.callBase(),this._strategy.renderOpenedState(),this._strategy.popupHiddenHandler()},_visibilityChanged:function(e){e&&this._formatValidationIcon()},_clearValueHandler:function(e){this.option(\"text\",\"\"),this.callBase(e)},_readOnlyPropValue:function(){if(this._pickerType===S.rollers)return!0;var e=u.default.real().platform;return this._isNativeType()&&(\"ios\"===e||\"android\"===e)?this.option(\"readOnly\"):this.callBase()},_isClearButtonVisible:function(){return this.callBase()&&!this._isNativeType()},_renderValue:function(){var e=this.dateOption(\"value\");return this.option(\"text\",this._getDisplayedText(e)),this._strategy.renderValue(),this.callBase()},_setSubmitValue:function(){var e=this.dateOption(\"value\"),t=this.option(\"dateSerializationFormat\"),n=h.default.SUBMIT_FORMATS_MAP[this.option(\"type\")],i=t?f.default.serializeDate(e,t):h.default.toStandardDateFormat(e,n);this._getSubmitElement().val(i)},_getDisplayedText:function(e){var t,n=this.option(\"mode\");if(\"text\"===n){var i=this._strategy.getDisplayFormat(this.option(\"displayFormat\"));t=g.default.format(e,i)}else{var o=this._getFormatByMode(n);t=o?g.default.format(e,o):h.default.toStandardDateFormat(e,n)}return t},_getFormatByMode:function(e){return(0,l.inputType)(e)?null:h.default.FORMATS_MAP[e]},_valueChangeEventHandler:function(e){var t=this.option(),n=t.text,i=t.type,o=t.validationError,a=this.dateOption(\"value\");if(n!==this._getDisplayedText(a)){var r=this._getParsedDate(n),s=null!=a?a:this._getDateByDefault(),l=h.default.mergeDates(s,r,i),u=r&&\"time\"===i?l:r;if(this._applyInternalValidation(u).isValid){var d=this._getDisplayedText(l);s&&l&&s.getTime()===l.getTime()&&d!==n?this._renderValue():this.dateValue(l,e)}}else this._recallInternalValidation(a,o)},_recallInternalValidation:function(e,t){t&&!t.editorSpecific||(this._applyInternalValidation(e),this._applyCustomValidation(e))},_getDateByDefault:function(){return this._strategy.useCurrentDateByDefault()&&this._strategy.getDefaultDate()},_getParsedDate:function(e){var t=this._strategy.getDisplayFormat(this.option(\"displayFormat\")),n=this._strategy.getParsedText(e,t);return null!=n?n:void 0},_applyInternalValidation:function(e){var t=!!this.option(\"text\")&&null!==e,n=!!e&&(0,o.isDate)(e)&&!isNaN(e.getTime()),i=n&&c.default.dateInRange(e,this.dateOption(\"min\"),this.dateOption(\"max\"),this.option(\"type\")),a=!t&&!e||i,r=\"\";return n?i||(r=this.option(\"dateOutOfRangeMessage\")):r=this.option(\"invalidDateMessage\"),this._updateInternalValidationState(a,r),{isValid:a,isDate:n}},_updateInternalValidationState:function(e,t){this.option({isValid:e,validationError:e?null:{editorSpecific:!0,message:t}})},_applyCustomValidation:function(e){this.validationRequest.fire({editor:this,value:this._serializeDate(e)})},_isValueChanged:function(e){var t=this.dateOption(\"value\");return(t&&t.getTime())!==(e&&e.getTime())},_isTextChanged:function(e){return this.option(\"text\")!==(e&&this._getDisplayedText(e)||\"\")},_renderProps:function(){this.callBase(),this._input().attr(\"autocomplete\",\"off\")},_renderOpenedState:function(){this._isNativeType()||this.callBase(),this._strategy.isAdaptivityChanged()&&this._refreshStrategy()},_getPopupTitle:function(){var e=this.option(\"placeholder\");if(e)return e;var t=this.option(\"type\");return t===k.time?m.default.format(\"dxDateBox-simulatedDataPickerTitleTime\"):t===k.date||t===k.datetime?m.default.format(\"dxDateBox-simulatedDataPickerTitleDate\"):\"\"},_refreshStrategy:function(){this._strategy.dispose(),this._initStrategy(),this.option(this._strategy.getDefaultOptions()),this._refresh()},_applyButtonHandler:function(e){var t=this._strategy.getValue();this.dateValue(t,e.event),this.callBase()},_dispose:function(){var e;this.callBase(),null===(e=this._strategy)||void 0===e||e.dispose()},_isNativeType:function(){return this._pickerType===S.native},_updatePopupTitle:function(){var e;null===(e=this._popup)||void 0===e||e.option(\"title\",this._getPopupTitle())},_optionChanged:function(e){switch(e.name){case\"showClearButton\":case\"buttons\":this.callBase.apply(this,arguments),this._formatValidationIcon();break;case\"pickerType\":this._updatePickerOptions({pickerType:e.value}),this._refreshStrategy(),this._refreshPickerTypeClass(),this._invalidate();break;case\"type\":this._updatePickerOptions({format:e.value}),this._refreshStrategy(),this._refreshFormatClass(),this._renderPopupWrapper(),this._formatValidationIcon(),this._updateValue();break;case\"placeholder\":this.callBase.apply(this,arguments),this._updatePopupTitle();break;case\"min\":case\"max\":var t=this.option(\"isValid\");this._applyInternalValidation(this.dateOption(\"value\")),t||this._applyCustomValidation(this.dateOption(\"value\")),this._invalidate();break;case\"dateSerializationFormat\":case\"interval\":case\"disabledDates\":case\"calendarOptions\":this._invalidate();break;case\"displayFormat\":this.option(\"text\",this._getDisplayedText(this.dateOption(\"value\"))),this._renderInputValue();break;case\"text\":this._strategy.textChangedHandler(e.value),this.callBase.apply(this,arguments);break;case\"isValid\":this.callBase.apply(this,arguments),this._formatValidationIcon();break;case\"showDropDownButton\":this._formatValidationIcon(),this.callBase.apply(this,arguments);break;case\"readOnly\":this.callBase.apply(this,arguments),this._formatValidationIcon();break;case\"todayButtonText\":this._setPopupOption(\"toolbarItems\",this._getPopupToolbarItems());break;case\"invalidDateMessage\":case\"dateOutOfRangeMessage\":case\"adaptivityEnabled\":case\"showAnalogClock\":case\"_showValidationIcon\":break;default:this.callBase.apply(this,arguments)}},_getSerializationFormat:function(){var e=this.option(\"value\");return this.option(\"dateSerializationFormat\")&&(0,d.default)().forceIsoDateParsing?this.option(\"dateSerializationFormat\"):(0,o.isNumeric)(e)?\"number\":(0,o.isString)(e)?f.default.getDateSerializationFormat(e):void 0},_updateValue:function(e){this.callBase(),this._applyInternalValidation(null!=e?e:this.dateOption(\"value\"))},dateValue:function(e,t){var n=this._isValueChanged(e);return n&&t&&this._saveValueChangeEvent(t),n||(this._isTextChanged(e)?this._updateValue(e):\"\"===this.option(\"text\")&&this._applyCustomValidation(e)),this.dateOption(\"value\",e)},dateOption:function(e,t){if(1===arguments.length)return f.default.deserializeDate(this.option(e));this.option(e,this._serializeDate(t))},_serializeDate:function(e){var t=this._getSerializationFormat();return f.default.serializeDate(e,t)},_clearValue:function(){var e=this.option(\"value\");this.callBase(),null===e&&this._applyCustomValidation(null)},reset:function(){var e=this.option(\"value\");this.callBase(),null===e&&this._applyInternalValidation(null)}});t.default=P,e.exports=t.default,e.exports.default=t.default},92478:function(e,t,n){t.default=void 0;var i=a(n(99393)),o=a(n(28105));function a(e){return e&&e.__esModule?e:{default:e}}(0,i.default)(\"dxDateBox\",o.default);var r=o.default;t.default=r,e.exports=t.default,e.exports.default=t.default},28105:function(e,t,n){t.default=void 0;var i=n(39611),o=n(35922),a=n(3532),r=n(13306),s=n(60810),l=_(n(55994)),u=n(28298),d=_(n(91500)),c=n(2892),h=n(59937),f=_(n(69248)),p=_(n(18016)),g=_(n(20530)),m=_(n(47810));function _(e){return e&&e.__esModule?e:{default:e}}var v=f.default.inherit({_supportedKeys:function(e){var t=this,n=this.callBase(e),o=function(e){var o=n[(0,i.normalizeKeyName)(e)];return o&&o.apply(t,[e])},a=function(e,n){return t._shouldUseOriginalHandler(e)?o.apply(t,[e]):n.apply(t,[e])};return(0,r.extend)({},n,{del:function(e){return a(e,(function(e){t._revertPart(1),t._isAllSelected()||e.preventDefault()}))},backspace:function(e){return a(e,(function(e){t._revertPart(-1),t._isAllSelected()||e.preventDefault()}))},home:function(e){return a(e,(function(e){t._selectFirstPart(),e.preventDefault()}))},end:function(e){return a(e,(function(e){t._selectLastPart(),e.preventDefault()}))},escape:function(e){return a(e,(function(e){t._revertChanges(e)}))},enter:function(e){return a(e,(function(){t._enterHandler()}))},leftArrow:function(e){return a(e,(function(e){t._selectNextPart(-1),e.preventDefault()}))},rightArrow:function(e){return a(e,(function(e){t._selectNextPart(1),e.preventDefault()}))},upArrow:function(e){return a(e,(function(e){t._upDownArrowHandler(1),e.preventDefault()}))},downArrow:function(e){return a(e,(function(e){t._upDownArrowHandler(-1),e.preventDefault()}))}})},_shouldUseOriginalHandler:function(e){var t=this.option(\"opened\")&&e&&-1===[\"backspace\",\"del\"].indexOf((0,i.normalizeKeyName)(e));return!this._useMaskBehavior()||t||e&&e.altKey},_upDownArrowHandler:function(e){this._setNewDateIfEmpty();var t=this._getActivePartValue(this._initialMaskValue),n=this._getActivePartValue()-t;this._loadMaskValue(this._initialMaskValue),this._partIncrease(n+e,!0)},_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{useMaskBehavior:!1,emptyDateValue:new Date(2e3,0,1,0,0,0)})},_isSingleCharKey:function(e){var t=e.originalEvent,n=e.alt,o=t.data||t.key;return\"string\"==typeof o&&1===o.length&&!n&&!(0,i.isCommandKeyPressed)(t)},_isSingleDigitKey:function(e){var t,n=null===(t=e.originalEvent)||void 0===t?void 0:t.data;return 1===(null==n?void 0:n.length)&&parseInt(n,10)},_useBeforeInputEvent:function(){return g.default.real().android},_keyInputHandler:function(e,t){var n=this._input().val();this._processInputKey(t),e.preventDefault(),n!==this._input().val()&&l.default.trigger(this._input(),\"input\")},_keyboardHandler:function(e){var t=this,n=e.originalEvent.key,i=this.callBase(e);return!this._useMaskBehavior()||this._useBeforeInputEvent()||(m.default.chrome&&\"Process\"===e.key&&0===e.code.indexOf(\"Digit\")?(n=e.code.replace(\"Digit\",\"\"),this._processInputKey(n),this._maskInputHandler=function(){t._renderSelectedPart()}):this._isSingleCharKey(e)&&this._keyInputHandler(e.originalEvent,n)),i},_maskBeforeInputHandler:function(e){var t=this;this._maskInputHandler=null;var n=e.originalEvent.inputType;\"insertCompositionText\"===n&&(this._maskInputHandler=function(){t._renderSelectedPart()});var i=\"deleteContentBackward\"===n;if(i||\"deleteContentForward\"===n){var o=i?-1:1;this._maskInputHandler=function(){t._revertPart(),t._selectNextPart(o)}}if(this._useMaskBehavior()&&this._isSingleCharKey(e)){var a=e.originalEvent.data;return this._keyInputHandler(e,a),!0}},_keyPressHandler:function(e){var t=e.originalEvent;\"insertCompositionText\"===(null==t?void 0:t.inputType)&&this._isSingleDigitKey(e)&&(this._processInputKey(t.data),this._renderDisplayText(this._getDisplayedText(this._maskValue)),this._selectNextPart()),this.callBase(e),this._maskInputHandler&&(this._maskInputHandler(),this._maskInputHandler=null)},_processInputKey:function(e){this._isAllSelected()&&(this._activePartIndex=0),this._setNewDateIfEmpty(),isNaN(parseInt(e))?this._searchString(e):this._searchNumber(e)},_isAllSelected:function(){var e=this._caret();return e.end-e.start===this.option(\"text\").length},_getFormatPattern:function(){if(this._formatPattern)return this._formatPattern;var e=this._strategy.getDisplayFormat(this.option(\"displayFormat\")),t=(0,o.isString)(e)&&!d.default._getPatternByFormat(e);return this._formatPattern=t?e:(0,h.getFormat)((function(t){return d.default.format(t,e)})),this._formatPattern},_setNewDateIfEmpty:function(){if(!this._maskValue){var e=\"time\"===this.option(\"type\")?new Date(null):new Date;this._maskValue=e,this._initialMaskValue=e,this._renderDateParts()}},_partLimitsReached:function(e){var t=String(e).length,n=this._getActivePartProp(\"pattern\").length,i=1===n?t:Math.min(n,t),o=this._searchValue.length===i,a=parseInt(this._searchValue+\"0\")>e;return o||a},_searchNumber:function(e){var t=this._getActivePartLimits().max,n=String(t).length;this._searchValue=(this._searchValue+e).substr(-n),isNaN(this._searchValue)&&(this._searchValue=e),this._setActivePartValue(this._searchValue),this._partLimitsReached(t)&&this._selectNextPart(1)},_searchString:function(e){if(isNaN(parseInt(this._getActivePartProp(\"text\")))){for(var t=this._getActivePartProp(\"limits\")(this._maskValue),n=this._searchValue+e.toLowerCase(),i=t.max-t.min,o=0;o<=i;o++)if(this._loadMaskValue(this._initialMaskValue),this._partIncrease(o+1),0===this._getActivePartProp(\"text\").toLowerCase().indexOf(n))return void(this._searchValue=n);this._setNewDateIfEmpty(),this._searchValue&&(this._clearSearchValue(),this._searchString(e))}},_clearSearchValue:function(){this._searchValue=\"\"},_revertPart:function(e){if(!this._isAllSelected()){var t=this._getActivePartValue(this.option(\"emptyDateValue\"));this._setActivePartValue(t),this._selectNextPart(e)}this._clearSearchValue()},_useMaskBehavior:function(){return this.option(\"useMaskBehavior\")&&\"text\"===this.option(\"mode\")},_prepareRegExpInfo:function(){this._regExpInfo=(0,c.getRegExpInfo)(this._getFormatPattern(),d.default);var e=this._regExpInfo.regexp,t=e.source,n=e.flags,i=new RegExp(/(\\{[0-9]+,?[0-9]*\\})/),o=t.split(i).map((function(e){return i.test(e)?e:p.default.convertDigits(e,!1)})).join(\"\");this._regExpInfo.regexp=new RegExp(o,n)},_initMaskState:function(){this._activePartIndex=0,this._formatPattern=null,this._prepareRegExpInfo(),this._loadMaskValue()},_renderMask:function(){this.callBase(),this._detachMaskEvents(),this._clearMaskState(),this._useMaskBehavior()&&(this._attachMaskEvents(),this._initMaskState(),this._renderDateParts())},_renderDateParts:function(){if(this._useMaskBehavior()){var e=this.option(\"text\")||this._getDisplayedText(this._maskValue);e&&(this._dateParts=(0,u.renderDateParts)(e,this._regExpInfo),this._input().is(\":hidden\")||this._selectNextPart())}},_detachMaskEvents:function(){l.default.off(this._input(),\".dateBoxMask\")},_attachMaskEvents:function(){var e=this;l.default.on(this._input(),(0,i.addNamespace)(\"dxclick\",\"dateBoxMask\"),this._maskClickHandler.bind(this)),l.default.on(this._input(),(0,i.addNamespace)(\"paste\",\"dateBoxMask\"),this._maskPasteHandler.bind(this)),l.default.on(this._input(),(0,i.addNamespace)(\"drop\",\"dateBoxMask\"),(function(){e._renderSelectedPart()})),l.default.on(this._input(),(0,i.addNamespace)(\"compositionend\",\"dateBoxMask\"),this._maskCompositionEndHandler.bind(this)),this._useBeforeInputEvent()&&l.default.on(this._input(),(0,i.addNamespace)(\"beforeinput\",\"dateBoxMask\"),this._maskBeforeInputHandler.bind(this))},_renderSelectedPart:function(){this._renderDisplayText(this._getDisplayedText(this._maskValue)),this._selectNextPart()},_selectLastPart:function(){this.option(\"text\")&&(this._activePartIndex=this._dateParts.length,this._selectNextPart(-1))},_selectFirstPart:function(){this.option(\"text\")&&(this._activePartIndex=-1,this._selectNextPart(1))},_onMouseWheel:function(e){this._useMaskBehavior()&&this._partIncrease(e.delta>0?1:-1,e)},_selectNextPart:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.option(\"text\")&&!this._disposed){e&&(this._initialMaskValue=new Date(this._maskValue));var t=(0,s.fitIntoRange)(this._activePartIndex+e,0,this._dateParts.length-1);if(this._dateParts[t].isStub){var n=0===t&&e<0||t===this._dateParts.length-1&&e>0;if(!n)return void this._selectNextPart(e>=0?e+1:e-1);t=this._activePartIndex}this._activePartIndex!==t&&this._clearSearchValue(),this._activePartIndex=t,this._caret(this._getActivePartProp(\"caret\"))}},_getRealLimitsPattern:function(){if(\"d\"===this._getActivePartProp(\"pattern\")[0])return\"dM\"},_getActivePartLimits:function(e){return this._getActivePartProp(\"limits\")(this._maskValue,e&&this._getRealLimitsPattern())},_getActivePartValue:function(e){e=e||this._maskValue;var t=this._getActivePartProp(\"getter\");return(0,o.isFunction)(t)?t(e):e[t]()},_addLeadingZeroes:function(e){var t=this._searchValue.match(/^0+/),n=this._getActivePartLimits(),i=String(n.max).length;return((t&&t[0]||\"\")+String(e)).substr(-i)},_setActivePartValue:function(e,t){t=t||this._maskValue;var n=this._getActivePartProp(\"setter\"),i=this._getActivePartLimits();e=(0,s.inRange)(e,i.min,i.max)?e:e%10,e=this._addLeadingZeroes((0,s.fitIntoRange)(e,i.min,i.max)),(0,o.isFunction)(n)?n(t,e):t[n](e),this._renderDisplayText(this._getDisplayedText(t)),this._renderDateParts()},_getActivePartProp:function(e){if(this._dateParts&&this._dateParts[this._activePartIndex])return this._dateParts[this._activePartIndex][e]},_loadMaskValue:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dateOption(\"value\");this._maskValue=e&&new Date(e),this._initialMaskValue=e&&new Date(e)},_saveMaskValue:function(){var e=this._maskValue&&new Date(this._maskValue);e&&\"date\"===this.option(\"type\")&&e.setHours(0,0,0,0),this._initialMaskValue=new Date(e),this.dateOption(\"value\",e)},_revertChanges:function(){this._loadMaskValue(),this._renderDisplayText(this._getDisplayedText(this._maskValue)),this._renderDateParts()},_renderDisplayText:function(e){this.callBase(e),this._useMaskBehavior()&&this.option(\"text\",e)},_partIncrease:function(e,t){this._setNewDateIfEmpty();var n=this._getActivePartLimits(t),i=n.max,o=n.min,a=i-o;1===a&&a++;var r=e+this._getActivePartValue();r>i?r=this._applyLimits(r,{limitBase:o,limitClosest:i,limitDelta:a}):r<o&&(r=this._applyLimits(r,{limitBase:i,limitClosest:o,limitDelta:a})),this._setActivePartValue(r)},_applyLimits:function(e,t){var n=t.limitBase,i=t.limitClosest,o=(e-i)%t.limitDelta;return o?n+o-1*(0,s.sign)(o):i},_maskClickHandler:function(){this._loadMaskValue(this._maskValue),this.option(\"text\")&&(this._activePartIndex=(0,u.getDatePartIndexByPosition)(this._dateParts,this._caret().start),this._isAllSelected()||((0,o.isDefined)(this._activePartIndex)?this._caret(this._getActivePartProp(\"caret\")):this._selectLastPart()))},_maskCompositionEndHandler:function(e){var t=this;this._input().val(this._getDisplayedText(this._maskValue)),this._selectNextPart(),this._maskInputHandler=function(){t._renderSelectedPart()}},_maskPasteHandler:function(e){var t=this._replaceSelectedText(this.option(\"text\"),this._caret(),(0,a.clipboardText)(e)),n=d.default.parse(t,this._getFormatPattern());n&&this._isDateValid(n)&&(this._maskValue=n,this._renderDisplayText(this._getDisplayedText(this._maskValue)),this._renderDateParts(),this._selectNextPart()),e.preventDefault()},_isDateValid:function(e){return(0,o.isDate)(e)&&!isNaN(e)},_isValueDirty:function(){var e=this.dateOption(\"value\");return(this._maskValue&&this._maskValue.getTime())!==(e&&e.getTime())},_fireChangeEvent:function(){this._clearSearchValue(),this._isValueDirty()&&l.default.trigger(this._input(),\"change\")},_enterHandler:function(){this._fireChangeEvent(),this._selectNextPart(1)},_focusOutHandler:function(e){this._useMaskBehavior()&&!e.isDefaultPrevented()?(this._fireChangeEvent(),this.callBase(e),this._selectFirstPart(e)):this.callBase(e)},_valueChangeEventHandler:function(e){var t=this.option(\"text\");this._useMaskBehavior()?(this._saveValueChangeEvent(e),t?null===this._maskValue&&this._loadMaskValue(t):this._maskValue=null,this._saveMaskValue()):this.callBase(e)},_optionChanged:function(e){switch(e.name){case\"useMaskBehavior\":this._renderMask();break;case\"displayFormat\":case\"mode\":this.callBase(e),this._renderMask();break;case\"value\":this._loadMaskValue(),this.callBase(e),this._renderDateParts();break;case\"emptyDateValue\":break;default:this.callBase(e)}},_clearMaskState:function(){this._clearSearchValue(),delete this._dateParts,delete this._activePartIndex,delete this._maskValue},reset:function(){this._clearMaskState(),this._activePartIndex=0,this.callBase()},_clean:function(){this.callBase(),this._detachMaskEvents(),this._clearMaskState()}});t.default=v,e.exports=t.default,e.exports.default=t.default},28298:function(e,t,n){t.renderDateParts=t.getDatePartIndexByPosition=void 0;var i=n(2892),o=n(13306),a=n(60810),r=n(20576),s=function(e){return e.getMonth()+1},l=function(e,t){var n=e.getDate(),i=c(\"M\",e),o=(0,a.fitIntoRange)(parseInt(t),i.min,i.max);e.setMonth(o-1,1);var r=c(\"dM\",e),s=r.min,l=r.max,u=(0,a.fitIntoRange)(n,s,l);e.setDate(u)},u={a:function(e){return e.getHours()<12?0:1},E:\"getDay\",y:\"getFullYear\",M:s,L:s,d:\"getDate\",H:\"getHours\",h:\"getHours\",m:\"getMinutes\",s:\"getSeconds\",S:\"getMilliseconds\"},d=(0,o.extend)({},(0,i.getPatternSetters)(),{a:function(e,t){var n=e.getHours();n>=12!==!!parseInt(t)&&e.setHours((n+12)%24)},d:function(e,t){t>c(\"dM\",e).max&&e.setMonth(e.getMonth()+1),e.setDate(t)},h:function(e,t){var n=e.getHours()>=12;e.setHours(+t%12+(n?12:0))},M:l,L:l,E:function(e,t){t<0||e.setDate(e.getDate()-e.getDay()+parseInt(t))},y:function(e,t){var n=e.getFullYear(),i=String(t).length,o=String(c(\"y\",e).max).length,a=parseInt(String(n).substr(0,o-i)+t);e.setFullYear(a)}});t.renderDateParts=function(e,t){for(var n=t.regexp.exec(e),i=0,o=0,a=[],s=function(){o=(i=o)+n[l].length;var e,s=t.patterns[l-1].replace(/^'|'$/g,\"\"),h=(e=s[0],u[e]||function(){return e});a.push({index:l-1,isStub:s===n[l],caret:{start:i,end:o},pattern:s,text:n[l],limits:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c.apply(void 0,[s[0]].concat(t))},setter:d[s[0]]||r.noop,getter:h})},l=1;l<n.length;l++)s();return a};var c=function(e,t,n){var i={y:{min:0,max:9999},M:{min:1,max:12},L:{min:1,max:12},d:{min:1,max:31},dM:{min:1,max:new Date(t.getFullYear(),t.getMonth()+1,0).getDate()},E:{min:0,max:6},H:{min:0,max:23},h:{min:0,max:12},m:{min:0,max:59},s:{min:0,max:59},S:{min:0,max:999},a:{min:0,max:1}};return i[n||e]||i.getAmPm};t.getDatePartIndexByPosition=function(e,t){for(var n=0;n<e.length;n++){var i=e[n].caret.end>=t;if(!e[n].isStub&&i)return n}return null}},46919:function(e,t,n){t.default=void 0;var i=d(n(26559)),o=d(n(38129)),a=d(n(91198)),r=n(20576),s=n(35922),l=n(13306),u=d(n(28109));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(e,t)}(e)||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 h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var f=o.default.inherit({NAME:\"Calendar\",getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{todayButtonText:u.default.format(\"dxCalendar-todayButtonText\")})},supportedKeys:function(){var e=function(e){return!!this.option(\"opened\")&&(e.preventDefault(),!0)};return{rightArrow:function(){if(this.option(\"opened\"))return!0},leftArrow:function(){if(this.option(\"opened\"))return!0},enter:function(e){if(this.dateBox.option(\"opened\")){if(e.preventDefault(),this._widget.option(\"zoomLevel\")===this._widget.option(\"maxZoomLevel\")){var t=this._getContouredValue(),n=this._lastActionElement,i=this._closeDropDownByEnter();return i&&t&&\"calendar\"===n&&this.dateBoxValue(t,e),i&&this.dateBox.close(),this.dateBox._valueChangeEventHandler(e),!i}return!0}this.dateBox._valueChangeEventHandler(e)}.bind(this),home:e,end:e}},getDisplayFormat:function(e){return e||\"shortdate\"},_closeDropDownByEnter:function(){return!0},_getWidgetName:function(){return i.default},_getContouredValue:function(){return this._widget._view.option(\"contouredDate\")},getKeyboardListener:function(){return this._widget},_getWidgetOptions:function(){var e=this.dateBox.option(\"disabledDates\");return(0,l.extend)(this.dateBox.option(\"calendarOptions\"),{value:this.dateBoxValue()||null,dateSerializationFormat:null,min:this.dateBox.dateOption(\"min\"),max:this.dateBox.dateOption(\"max\"),onValueChanged:this._valueChangedHandler.bind(this),onCellClick:this._cellClickHandler.bind(this),tabIndex:null,disabledDates:(0,s.isFunction)(e)?this._injectComponent(e.bind(this.dateBox)):e,onContouredChanged:this._refreshActiveDescendant.bind(this),skipFocusCheck:!0})},_injectComponent:function(e){var t=this;return function(n){return(0,l.extend)(n,{component:t.dateBox}),e(n)}},_refreshActiveDescendant:function(e){this._lastActionElement=\"calendar\",this.dateBox.setAria(\"activedescendant\",e.actionValue)},_getTodayButtonConfig:function(){var e=this,t=this.dateBox.option(\"buttonsLocation\"),n=\"default\"===t?[\"bottom\",\"center\"]:(0,r.splitPair)(t);return{widget:\"dxButton\",toolbar:n[0],location:\"after\"===n[1]?\"before\":n[1],options:{onInitialized:function(e){e.component.registerKeyHandler(\"escape\",this._escapeHandler.bind(this))}.bind(this),onClick:function(t){e._widget._toTodayView(t)},text:this.dateBox.option(\"todayButtonText\"),type:\"today\"}}},_isCalendarVisible:function(){var e=this.dateBox.option().calendarOptions;return(0,s.isEmptyObject)(e)||!1!==e.visible},_getPopupToolbarItems:function(e){return\"useButtons\"===this.dateBox.option(\"applyValueMode\")&&this._isCalendarVisible()?[this._getTodayButtonConfig()].concat(c(e)):e},popupConfig:function(e){return(0,l.extend)(!0,e,{position:{collision:\"flipfit flip\"},width:\"auto\"})},_escapeHandler:function(){this.dateBox.close(),this.dateBox.focus()},_valueChangedHandler:function(e){var t=e.value,n=e.previousValue;a.default.sameDate(t,n)&&a.default.sameHoursAndMinutes(t,n)||\"instantly\"===this.dateBox.option(\"applyValueMode\")&&this.dateBoxValue(this.getValue(),e.event)},_updateValue:function(){this._widget&&this._widget.option(\"value\",this.dateBoxValue())},textChangedHandler:function(){this._lastActionElement=\"input\",this.dateBox.option(\"opened\")&&this._widget&&this._updateValue(!0)},_cellClickHandler:function(e){var t=this.dateBox;\"instantly\"===t.option(\"applyValueMode\")&&(t.option(\"opened\",!1),this.dateBoxValue(this.getValue(),e.event))}});t.default=f,e.exports=t.default,e.exports.default=t.default},97e3:function(e,t,n){t.default=void 0;var i=n(58664),o=f(n(68374)),a=n(58201),r=f(n(46919)),s=f(n(7124)),l=f(n(91500)),u=n(13306),d=f(n(91198)),c=f(n(55551)),h=f(n(72309));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,a.getWindow)(),g=r.default.inherit({NAME:\"CalendarWithTime\",getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{applyValueMode:\"useButtons\",buttonsLocation:\"bottom after\",\"dropDownOptions.showTitle\":!1})},_closeDropDownByEnter:function(){return d.default.sameDate(this._getContouredValue(),this.widgetOption(\"value\"))},getDisplayFormat:function(e){return e||\"shortdateshorttime\"},_is24HourFormat:function(){return l.default.is24HourFormat(this.getDisplayFormat(this.dateBox.option(\"displayFormat\")))},_getContouredValue:function(){var e=this.callBase();return this._updateDateTime(e)},_renderWidget:function(){this.callBase(),this._timeView=this.dateBox._createComponent((0,o.default)(\"<div>\"),s.default,{value:this.dateBoxValue(),_showClock:!this._isShrinkView(),use24HourFormat:this._is24HourFormat(),onValueChanged:this._valueChangedHandler.bind(this),stylingMode:this.dateBox.option(\"stylingMode\")}),this._timeView.registerKeyHandler(\"escape\",this._escapeHandler.bind(this))},renderOpenedState:function(){this.callBase();var e=this._getPopup();e&&e.$wrapper().toggleClass(\"dx-datebox-adaptivity-mode\",this._isSmallScreen()),clearTimeout(this._repaintTimer),this._repaintTimer=setTimeout(function(){this._getPopup()&&this._getPopup().repaint()}.bind(this),0)},isAdaptivityChanged:function(){var e=this._isShrinkView(),t=this._currentAdaptiveMode;return e!==t?(this._currentAdaptiveMode=e,void 0!==t):this.callBase()},_updateValue:function(e){var t=this.dateBoxValue();t||e||(t=new Date,h.default.normalizeTime(t)),this.callBase(),this._timeView&&(t&&this._timeView.option(\"value\",t),this._timeView.option(\"use24HourFormat\",this._is24HourFormat()))},_isSmallScreen:function(){return(0,i.getWidth)(p)<=573},_isShrinkView:function(){return!this.dateBox.option(\"showAnalogClock\")||this.dateBox.option(\"adaptivityEnabled\")&&this._isSmallScreen()},_getBoxItems:function(){var e=[{ratio:0,shrink:0,baseSize:\"auto\",name:\"calendar\"}];return this._isShrinkView()||e.push({ratio:0,shrink:0,baseSize:\"auto\",name:\"time\"}),e},renderPopupContent:function(){this.callBase(),this._currentAdaptiveMode=this._isShrinkView();var e=this._getPopup().$content();this._box=this.dateBox._createComponent((0,o.default)(\"<div>\").appendTo(e),c.default,{direction:\"row\",crossAlign:\"stretch\",items:this._getBoxItems(),itemTemplate:function(e,t,n){var i=(0,o.default)(\"<div>\");switch(e.name){case\"calendar\":i.append(this._widget.$element()),this._isShrinkView()&&(this._timeView.$element().addClass(\"dx-datebox-datetime-time-side\"),i.append(this._timeView.$element()));break;case\"time\":i.append(this._timeView.$element()),(0,o.default)(n).addClass(\"dx-datebox-datetime-time-side\")}return i}.bind(this)}),this._attachTabHandler()},popupConfig:function(e){var t=this.callBase(e);return(0,u.extend)(t,{width:\"auto\"})},getFirstPopupElement:function(){return this._timeView._hourBox.$element().find(\"input\")},_attachTabHandler:function(){var e=this.dateBox;this._timeView._hourBox.registerKeyHandler(\"tab\",(function(t){t.shiftKey&&(t.preventDefault(),e.focus())}))},_preventFocusOnPopup:function(e){(0,o.default)(e.target).hasClass(\"dx-texteditor-input\")||(this.callBase.apply(this,arguments),this.dateBox._hasFocusClass()||this.dateBox.focus())},_updateDateTime:function(e){var t=this._timeView.option(\"value\");return e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e},getValue:function(){var e,t=null!==(e=this._widget.option(\"value\"))&&void 0!==e?e:this._widget.getContouredDate();return t=t?new Date(t):new Date,this._updateDateTime(t)},dispose:function(){clearTimeout(this._removeMinWidthTimer),clearTimeout(this._repaintTimer),this.callBase()}});t.default=g,e.exports=t.default,e.exports.default=t.default},67814:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=n(58201),a=c(n(65287)),r=c(n(38129)),s=n(60137),l=n(13306),u=c(n(72309)),d=c(n(28109));function c(e){return e&&e.__esModule?e:{default:e}}var h=(0,o.getWindow)(),f=r.default.inherit({NAME:\"DateView\",getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{openOnFieldClick:!0,applyButtonText:d.default.format(\"OK\"),\"dropDownOptions.showTitle\":!0})},getDisplayFormat:function(e){return e||u.default.FORMATS_MAP[this.dateBox.option(\"type\")]},popupConfig:function(e){return{toolbarItems:this.dateBox._popupToolbarItemsConfig(),onInitialized:e.onInitialized,defaultOptionsRules:[{device:{platform:\"android\"},options:{width:333,height:331}},{device:function(e){var t=e.platform;return\"generic\"===t||\"ios\"===t},options:{width:\"auto\",height:\"auto\"}},{device:function(e){var t=e.platform,n=e.phone;return\"generic\"===t&&n},options:{width:333,maxWidth:\"100%\",maxHeight:\"100%\",height:\"auto\",position:{collision:\"flipfit flip\"}}},{device:{platform:\"ios\",phone:!0},options:{width:\"100%\",position:{my:\"bottom\",at:\"bottom\",of:h}}}]}},_renderWidget:function(){if((0,s.inputType)(this.dateBox.option(\"mode\"))&&this.dateBox._isNativeType()||this.dateBox.option(\"readOnly\"))this._widget&&(this._widget.$element().remove(),this._widget=null);else{var e=this._getPopup();if(this._widget)this._widget.option(this._getWidgetOptions());else{var t=(0,i.default)(\"<div>\").appendTo(e.$content());this._widget=this._createWidget(t)}this._widget.$element().appendTo(this._getWidgetContainer())}},_getWidgetName:function(){return a.default},renderOpenedState:function(){this.callBase(),this._widget&&this._widget.option(\"value\",this._widget._getCurrentDate())},_getWidgetOptions:function(){return{value:this.dateBoxValue()||new Date,type:this.dateBox.option(\"type\"),minDate:this.dateBox.dateOption(\"min\")||new Date(1900,0,1),maxDate:this.dateBox.dateOption(\"max\")||new Date(Date.now()+50*u.default.ONE_YEAR),onDisposing:function(){this._widget=null}.bind(this)}}});t.default=f,e.exports=t.default,e.exports.default=t.default},38129:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(55994)),a=n(20576),r=l(n(38377)),s=l(n(91500));function l(e){return e&&e.__esModule?e:{default:e}}var u=r.default.abstract,d=r.default.inherit({ctor:function(e){this.dateBox=e},widgetOption:function(){return this._widget&&this._widget.option.apply(this._widget,arguments)},_renderWidget:function(e){e=e||(0,i.default)(\"<div>\"),this._widget=this._createWidget(e),this._widget.$element().appendTo(this._getWidgetContainer())},_createWidget:function(e){var t=this._getWidgetName(),n=this._getWidgetOptions();return this.dateBox._createComponent(e,t,n)},_getWidgetOptions:u,_getWidgetName:u,getDefaultOptions:function(){return{mode:\"text\"}},getDisplayFormat:u,supportedKeys:a.noop,getKeyboardListener:a.noop,customizeButtons:a.noop,getParsedText:function(e,t){var n=s.default.parse(e,t);return n||s.default.parse(e)},renderInputMinMax:a.noop,renderOpenedState:function(){this._updateValue()},popupConfig:u,_dimensionChanged:function(){var e;null===(e=this._getPopup())||void 0===e||e.repaint()},renderPopupContent:function(){var e=this._getPopup();this._renderWidget();var t=e.$content().parent();o.default.off(t,\"mousedown\"),o.default.on(t,\"mousedown\",this._preventFocusOnPopup.bind(this))},getFirstPopupElement:a.noop,getLastPopupElement:a.noop,_preventFocusOnPopup:function(e){e.preventDefault()},_getWidgetContainer:function(){return this._getPopup().$content()},_getPopup:function(){return this.dateBox._popup},popupShowingHandler:a.noop,popupHiddenHandler:a.noop,_updateValue:function(){this._widget&&this._widget.option(\"value\",this.dateBoxValue())},useCurrentDateByDefault:a.noop,getDefaultDate:function(){return new Date},textChangedHandler:a.noop,renderValue:function(){this.dateBox.option(\"opened\")&&this._updateValue()},getValue:function(){return this._widget.option(\"value\")},isAdaptivityChanged:function(){return!1},dispose:function(){var e=this._getPopup();e&&e.$content().empty()},dateBoxValue:function(){return arguments.length?this.dateBox.dateValue.apply(this.dateBox,arguments):this.dateBox.dateOption.apply(this.dateBox,[\"value\"])}});t.default=d,e.exports=t.default,e.exports.default=t.default},57728:function(e,t,n){t.default=void 0;var i=n(58664),o=n(58201),a=p(n(56757));n(20551);var r=p(n(38129)),s=n(20576),l=n(35922),u=n(13306),d=p(n(72309)),c=p(n(91500)),h=p(n(69434)),f=n(61902);function p(e){return e&&e.__esModule?e:{default:e}}var g=(0,o.getWindow)(),m={min:new Date(0,0,0,0,0),max:new Date(0,0,0,23,59)},_=r.default.inherit({NAME:\"List\",supportedKeys:function(){return{tab:function(){var e=this.option(),t=e.opened,n=e.applyValueMode;t&&\"instantly\"===n&&this.close()},space:s.noop,home:s.noop,end:s.noop}},getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{applyValueMode:\"instantly\"})},getDisplayFormat:function(e){return e||\"shorttime\"},popupConfig:function(e){return e},getValue:function(){var e=this._widget.option(\"selectedIndex\");if(-1===e)return this.dateBox.option(\"value\");var t=this._widgetItems[e];return this._getDateByItemData(t)},useCurrentDateByDefault:function(){return!0},getDefaultDate:function(){return new Date(null)},popupShowingHandler:function(){this.dateBox._dimensionChanged()},_renderWidget:function(){this.callBase(),this._refreshItems()},_getWidgetName:function(){return a.default},_getWidgetOptions:function(){return{itemTemplate:this._timeListItemTemplate.bind(this),onItemClick:this._listItemClickHandler.bind(this),tabIndex:-1,onFocusedItemChanged:this._refreshActiveDescendant.bind(this),selectionMode:\"single\"}},_refreshActiveDescendant:function(e){this.dateBox.setAria(\"activedescendant\",\"\"),this.dateBox.setAria(\"activedescendant\",e.actionValue)},_refreshItems:function(){this._widgetItems=this._getTimeListItems(),this._widget.option(\"items\",this._widgetItems)},renderOpenedState:function(){this._widget&&(this._widget.option(\"focusedElement\",null),this._setSelectedItemsByValue(),this._widget.option(\"templatesRenderAsynchronously\")?this._asyncScrollTimeout=setTimeout(this._scrollToSelectedItem.bind(this)):this._scrollToSelectedItem())},dispose:function(){this.callBase(),clearTimeout(this._asyncScrollTimeout)},_updateValue:function(){this._widget&&(this._refreshItems(),this._setSelectedItemsByValue(),this._scrollToSelectedItem())},_setSelectedItemsByValue:function(){var e=this.dateBoxValue(),t=this._getDateIndex(e);-1===t?this._widget.option(\"selectedItems\",[]):this._widget.option(\"selectedIndex\",t)},_scrollToSelectedItem:function(){this._widget.scrollToItem(this._widget.option(\"selectedIndex\"))},_getDateIndex:function(e){for(var t=-1,n=0,i=this._widgetItems.length;n<i;n++)if(this._areDatesEqual(e,this._widgetItems[n])){t=n;break}return t},_areDatesEqual:function(e,t){return(0,l.isDate)(e)&&(0,l.isDate)(t)&&e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()},_getTimeListItems:function(){var e=this.dateBox.dateOption(\"min\")||this._getBoundaryDate(\"min\"),t=this.dateBox.dateOption(\"max\")||this._getBoundaryDate(\"max\"),n=this.dateBox.dateOption(\"value\")||null,i=t-e,o=e.getMinutes()%this.dateBox.option(\"interval\");return i<0?[]:(i>d.default.ONE_DAY&&(i=d.default.ONE_DAY),n-e<d.default.ONE_DAY||((e=this._getBoundaryDate(\"min\")).setMinutes(o),n&&Math.abs(n-t)<d.default.ONE_DAY&&(i=(60*t.getHours()+Math.abs(t.getMinutes()-o))*d.default.ONE_MINUTE)),this._getRangeItems(e,new Date(e),i))},_getRangeItems:function(e,t,n){for(var i=[],o=this.dateBox.option(\"interval\");t-e<=n;)i.push(new Date(t)),t.setMinutes(t.getMinutes()+o);return i},_getBoundaryDate:function(e){var t=m[e],n=new Date((0,s.ensureDefined)(this.dateBox.dateOption(\"value\"),0));return new Date(n.getFullYear(),n.getMonth(),n.getDate(),t.getHours(),t.getMinutes())},_timeListItemTemplate:function(e){var t=this.dateBox.option(\"displayFormat\");return c.default.format(e,this.getDisplayFormat(t))},_listItemClickHandler:function(e){if(\"useButtons\"!==this.dateBox.option(\"applyValueMode\")){var t=this._getDateByItemData(e.itemData);this.dateBox.option(\"opened\",!1),this.dateBoxValue(t,e.event)}},_getDateByItemData:function(e){var t=this.dateBox.option(\"value\"),n=e.getHours(),i=e.getMinutes(),o=e.getSeconds(),a=e.getFullYear(),r=e.getMonth(),s=e.getDate();return t?((t=this.dateBox.option(\"dateSerializationFormat\")?h.default.deserializeDate(t):new Date(t)).setHours(n),t.setMinutes(i),t.setSeconds(o),t.setFullYear(a),t.setMonth(r),t.setDate(s)):t=new Date(a,r,s,n,i,0,0),t},getKeyboardListener:function(){return this._widget},_updatePopupHeight:function(){var e=(0,f.getSizeValue)(this.dateBox.option(\"dropDownOptions.height\"));if(void 0===e||\"auto\"===e){this.dateBox._setPopupOption(\"height\",\"auto\");var t=(0,i.getOuterHeight)(this._widget.$element()),n=.45*(0,i.getHeight)(g);this.dateBox._setPopupOption(\"height\",Math.min(t,n))}this.dateBox._timeList&&this.dateBox._timeList.updateDimensions()},getParsedText:function(e,t){var n=this.callBase(e,t);return n&&(n=d.default.mergeDates(n,new Date(null),\"date\")),n}});t.default=_,e.exports=t.default,e.exports.default=t.default},84416:function(e,t,n){t.default=void 0;var i=n(20576),o=d(n(38129)),a=n(60137),r=d(n(72309)),s=d(n(69434)),l=n(13306),u=d(n(20530));function d(e){return e&&e.__esModule?e:{default:e}}var c=o.default.inherit({NAME:\"Native\",popupConfig:function(e){return(0,l.extend)({},e,{width:\"auto\"})},getParsedText:function(e){return e?\"datetime\"===this.dateBox.option(\"type\")?new Date(e.replace(/-/g,\"/\").replace(\"T\",\" \").split(\".\")[0]):r.default.fromStandardDateFormat(e):null},renderPopupContent:i.noop,_getWidgetName:i.noop,_getWidgetOptions:i.noop,_getDateBoxType:function(){var e=this.dateBox.option(\"type\");return r.default.SUPPORTED_FORMATS.includes(e)?\"datetime\"!==e||(0,a.inputType)(e)||(e=\"datetime-local\"):e=\"date\",e},customizeButtons:function(){var e=this.dateBox.getButton(\"dropDown\");u.default.real().android&&e&&e.on(\"click\",function(){this.dateBox._input().get(0).click()}.bind(this))},getDefaultOptions:function(){return{mode:this._getDateBoxType()}},getDisplayFormat:function(e){var t=this._getDateBoxType();return e||r.default.FORMATS_MAP[t]},renderInputMinMax:function(e){e.attr({min:s.default.serializeDate(this.dateBox.dateOption(\"min\"),\"yyyy-MM-dd\"),max:s.default.serializeDate(this.dateBox.dateOption(\"max\"),\"yyyy-MM-dd\")})}});t.default=c,e.exports=t.default,e.exports.default=t.default},72309:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(69434)),a=n(35922),r=n(95479),s=l(n(91500));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var d,c=[\"year\",\"day\",\"month\",\"day\"],h=[\"hours\",\"minutes\",\"seconds\",\"milliseconds\"],f={SUPPORTED_FORMATS:[\"date\",\"time\",\"datetime\"],ONE_MINUTE:6e4,ONE_DAY:864e5,ONE_YEAR:31536e6,MIN_DATEVIEW_DEFAULT_DATE:new Date(1900,0,1),MAX_DATEVIEW_DEFAULT_DATE:(d=new Date,new Date(d.getFullYear()+50,d.getMonth(),d.getDate(),23,59,59)),FORMATS_INFO:{date:{getStandardPattern:function(){return\"yyyy-MM-dd\"},components:c},time:{getStandardPattern:function(){return\"HH:mm\"},components:h},datetime:{getStandardPattern:function(){var e,t;return(t=(0,i.default)(\"<input>\").attr(\"type\",\"datetime\")).val(\"2000-01-01T01:01Z\"),t.val()&&(e=\"yyyy-MM-ddTHH:mmZ\"),e||(e=\"yyyy-MM-ddTHH:mm:ssZ\"),f.FORMATS_INFO.datetime.getStandardPattern=function(){return e},e},components:[].concat(c,h)},\"datetime-local\":{getStandardPattern:function(){return\"yyyy-MM-ddTHH:mm:ss\"},components:[].concat(c,[\"hours\",\"minutes\",\"seconds\"])}},FORMATS_MAP:{date:\"shortdate\",time:\"shorttime\",datetime:\"shortdateshorttime\"},SUBMIT_FORMATS_MAP:{date:\"date\",time:\"time\",datetime:\"datetime-local\"},toStandardDateFormat:function(e,t){var n=f.FORMATS_INFO[t].getStandardPattern();return o.default.serializeDate(e,n)},fromStandardDateFormat:function(e){var t=o.default.dateParser(e);return(0,a.isDate)(t)?t:void 0},getMaxMonthDay:function(e,t){return new Date(e,t+1,0).getDate()},mergeDates:function(e,t,n){if(!t)return t||null;if(!e||isNaN(e.getTime())){var i=new Date(null);e=new Date(i.getFullYear(),i.getMonth(),i.getDate())}var o=new Date(e.valueOf()),a=f.FORMATS_INFO[n];return(0,r.each)(a.components,(function(){var e=f.DATE_COMPONENTS_INFO[this];o[e.setter](t[e.getter]())})),o},getLongestCaptionIndex:function(e){var t,n=0,i=0;for(t=0;t<e.length;++t)e[t].length>i&&(n=t,i=e[t].length);return n},formatUsesMonthName:function(e){return s.default.formatUsesMonthName(e)},formatUsesDayName:function(e){return s.default.formatUsesDayName(e)},getLongestDate:function(e,t,n){var i=function(e){var t=u(e);return\"string\"===t?\"format\":\"object\"===t&&void 0!==e.type?e.type:null}(e),o=9;i&&!f.formatUsesMonthName(i)||(o=f.getLongestCaptionIndex(t));var a=new Date(1888,o,21,23,59,59,999);if(!i||f.formatUsesDayName(i)){var r=a.getDate()-a.getDay()+f.getLongestCaptionIndex(n);a.setDate(r)}return a},normalizeTime:function(e){e.setSeconds(0),e.setMilliseconds(0)}};f.DATE_COMPONENTS_INFO={year:{getter:\"getFullYear\",setter:\"setFullYear\",formatter:function(e,t){var n=new Date(t.getTime());return n.setFullYear(e),s.default.format(n,\"yyyy\")},startValue:void 0,endValue:void 0},day:{getter:\"getDate\",setter:\"setDate\",formatter:function(e,t){var n=new Date(t.getTime());return n.setDate(e),s.default.format(n,\"d\")},startValue:1,endValue:void 0},month:{getter:\"getMonth\",setter:\"setMonth\",formatter:function(e){return s.default.getMonthNames()[e]},startValue:0,endValue:11},hours:{getter:\"getHours\",setter:\"setHours\",formatter:function(e){return s.default.format(new Date(0,0,0,e),\"hour\")},startValue:0,endValue:23},minutes:{getter:\"getMinutes\",setter:\"setMinutes\",formatter:function(e){return s.default.format(new Date(0,0,0,0,e),\"minute\")},startValue:0,endValue:59},seconds:{getter:\"getSeconds\",setter:\"setSeconds\",formatter:function(e){return s.default.format(new Date(0,0,0,0,0,e),\"second\")},startValue:0,endValue:59},milliseconds:{getter:\"getMilliseconds\",setter:\"setMilliseconds\",formatter:function(e){return s.default.format(new Date(0,0,0,0,0,0,e),\"millisecond\")},startValue:0,endValue:999}};var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},65287:function(e,t,n){t.default=void 0;var i=h(n(68374)),o=h(n(96452)),a=h(n(95251)),r=h(n(91198)),s=n(95479),l=n(13306),u=h(n(72309)),d=h(n(99393)),c=h(n(91500));function h(e){return e&&e.__esModule?e:{default:e}}var f=\"date\",p=\"year\",g=\"month\",m=\"day\",_=\"hours\",v=o.default.inherit({_valueOption:function(){var e=this.option(\"value\"),t=new Date(e);return!e||isNaN(t)?this._getDefaultDate():t},_getDefaultDate:function(){var e=new Date;return this.option(\"type\")===f?new Date(e.getFullYear(),e.getMonth(),e.getDate()):e},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{minDate:u.default.MIN_DATEVIEW_DEFAULT_DATE,maxDate:u.default.MAX_DATEVIEW_DEFAULT_DATE,type:f,value:new Date,applyCompactClass:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(e){return\"desktop\"!==e.deviceType},options:{applyCompactClass:!0}}])},_render:function(){this.callBase(),this.$element().addClass(\"dx-dateview\"),this._toggleFormatClasses(this.option(\"type\")),this._toggleCompactClass()},_toggleFormatClasses:function(e,t){this.$element().addClass(\"dx-dateview-\"+e),t&&this.$element().removeClass(\"dx-dateview-\"+t)},_toggleCompactClass:function(){this.$element().toggleClass(\"dx-dateview-compact\",this.option(\"applyCompactClass\"))},_wrapper:function(){return this._$wrapper},_renderContentImpl:function(){this._$wrapper=(0,i.default)(\"<div>\").addClass(\"dx-dateview-wrapper\"),this._renderRollers(),this._$wrapper.appendTo(this.$element())},_renderRollers:function(){this._$rollersContainer||(this._$rollersContainer=(0,i.default)(\"<div>\").addClass(\"dx-dateview-rollers\")),this._$rollersContainer.empty(),this._createRollerConfigs(),this._rollers={};var e=this;(0,s.each)(e._rollerConfigs,(function(t){var n=(0,i.default)(\"<div>\").appendTo(e._$rollersContainer).addClass(\"dx-dateviewroller-\"+e._rollerConfigs[t].type);e._rollers[e._rollerConfigs[t].type]=e._createComponent(n,a.default,{items:e._rollerConfigs[t].displayItems,selectedIndex:e._rollerConfigs[t].selectedIndex,showScrollbar:\"never\",scrollByContent:!0,onStart:function(n){var i=n.component;i._toggleActive(!0),e._setActiveRoller(e._rollerConfigs[t],i.option(\"selectedIndex\"))},onEnd:function(e){e.component._toggleActive(!1)},onClick:function(n){var i=n.component;i._toggleActive(!0),e._setActiveRoller(e._rollerConfigs[t],i.option(\"selectedIndex\")),e._setRollerState(e._rollerConfigs[t],i.option(\"selectedIndex\")),i._toggleActive(!1)},onSelectedIndexChanged:function(n){var i=n.component;e._setRollerState(e._rollerConfigs[t],i.option(\"selectedIndex\"))}})})),e._$rollersContainer.appendTo(e._wrapper())},_createRollerConfigs:function(e){var t=this;e=e||t.option(\"type\"),t._rollerConfigs={},c.default.getFormatParts(u.default.FORMATS_MAP[e]).forEach((function(e){t._createRollerConfig(e)}))},_createRollerConfig:function(e){for(var t=u.default.DATE_COMPONENTS_INFO[e],n=this._calculateRollerConfigValueRange(e),i=n.startValue,o=n.endValue,a=t.formatter,r=this._getCurrentDate(),s={type:e,setValue:t.setter,valueItems:[],displayItems:[],getIndex:function(e){return e[t.getter]()-i}},l=i;l<=o;l++)s.valueItems.push(l),s.displayItems.push(a(l,r));s.selectedIndex=s.getIndex(r),this._rollerConfigs[e]=s},_setActiveRoller:function(e){var t=e&&this._rollers[e.type];(0,s.each)(this._rollers,(function(){this.toggleActiveState(this===t)}))},_updateRollersPosition:function(){var e=this;(0,s.each)(this._rollers,(function(t){var n=e._rollerConfigs[t].getIndex(e._getCurrentDate());this.option(\"selectedIndex\",n)}))},_setRollerState:function(e,t){if(t!==e.selectedIndex){var n=e.valueItems[t],i=e.setValue,o=new Date(this._getCurrentDate()),a=o.getDate(),s=this.option(\"minDate\"),l=this.option(\"maxDate\");e.type===g?a=Math.min(a,u.default.getMaxMonthDay(o.getFullYear(),n)):e.type===p&&(a=Math.min(a,u.default.getMaxMonthDay(n,o.getMonth()))),o.setDate(a),o[i](n);var d=r.default.normalizeDate(o,s,l);o=u.default.mergeDates(d,o,\"time\"),o=r.default.normalizeDate(o,s,l),this.option(\"value\",o),e.selectedIndex=t}e.type===p&&this._refreshRollers(),e.type===g&&(this._refreshRoller(m),this._refreshRoller(_))},_refreshRoller:function(e){var t=this._rollers[e];if(t){this._createRollerConfig(e);var n=this._rollerConfigs[e];e!==m&&n.displayItems.toString()===t.option(\"items\").toString()||t.option({items:n.displayItems,selectedIndex:n.selectedIndex})}},_getCurrentDate:function(){var e=this._valueOption(),t=this.option(\"minDate\"),n=this.option(\"maxDate\");return r.default.normalizeDate(e,t,n)},_calculateRollerConfigValueRange:function(e){var t=this._getCurrentDate(),n=this.option(\"minDate\"),i=this.option(\"maxDate\"),o=r.default.sameYear(t,n),a=o&&t.getMonth()===n.getMonth(),s=r.default.sameYear(t,i),l=s&&t.getMonth()===i.getMonth(),d=a&&t.getDate()===n.getDate(),c=l&&t.getDate()===i.getDate(),h=u.default.DATE_COMPONENTS_INFO[e],f=h.startValue,v=h.endValue;return e===p&&(f=n.getFullYear(),v=i.getFullYear()),e===g&&(o&&(f=n.getMonth()),s&&(v=i.getMonth())),e===m&&(v=u.default.getMaxMonthDay(t.getFullYear(),t.getMonth()),o&&a&&(f=n.getDate()),s&&l&&(v=i.getDate())),e===_&&(f=d?n.getHours():f,v=c?i.getHours():v),{startValue:f,endValue:v}},_refreshRollers:function(){this._refreshRoller(g),this._refreshRoller(m),this._refreshRoller(_)},_optionChanged:function(e){switch(e.name){case\"minDate\":case\"maxDate\":case\"type\":this._renderRollers(),this._toggleFormatClasses(e.value,e.previousValue);break;case\"visible\":this.callBase(e),e.value&&this._renderRollers();break;case\"value\":this.option(\"value\",this._valueOption()),this._refreshRollers(),this._updateRollersPosition();break;default:this.callBase(e)}},_clean:function(){this.callBase(),delete this._$rollersContainer}});(0,d.default)(\"dxDateView\",v);var y=v;t.default=y,e.exports=t.default,e.exports.default=t.default},95251:function(e,t,n){t.default=void 0;var i=n(58664),o=m(n(68374)),a=m(n(55994)),r=m(n(99393)),s=n(13306),l=n(95479),u=n(39611),d=n(95429),c=m(n(58788)),h=m(n(20530)),f=m(n(87209)),p=n(31648),g=n(82886);function m(e){return e&&e.__esModule?e:{default:e}}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var c=r.prototype;return c._getDefaultOptions=function(){return(0,s.extend)(e.prototype._getDefaultOptions.call(this),{showScrollbar:\"never\",useNative:!1,selectedIndex:0,bounceEnabled:!1,items:[],showOnClick:!1,onClick:null,onSelectedIndexChanged:null,scrollByContent:!0})},c._init=function(){e.prototype._init.call(this),this.option(\"onVisibilityChange\",this._visibilityChangedHandler.bind(this)),this.option(\"onEnd\",this._endActionHandler.bind(this))},c._render=function(){e.prototype._render.call(this),this._renderSelectedItemFrame(),this.$element().addClass(\"dx-dateviewroller\"),this._renderContainerClick(),this._renderItems(),this._renderSelectedValue(),this._renderItemsClick(),this._renderWheelEvent(),this._renderSelectedIndexChanged()},c._renderSelectedIndexChanged=function(){this._selectedIndexChanged=this._createActionByOption(\"onSelectedIndexChanged\")},c._renderWheelEvent=function(){var e=this;a.default.on((0,o.default)(this.container()),\"dxmousewheel\",(function(t){e._isWheelScrolled=!0}))},c._renderContainerClick=function(){if(this.option(\"showOnClick\")){var e=(0,u.addNamespace)(d.name,this.NAME),t=this._createActionByOption(\"onClick\");a.default.off((0,o.default)(this.container()),e),a.default.on((0,o.default)(this.container()),e,(function(e){t({event:e})}))}},c._renderItems=function(){var e=this.option(\"items\")||[],t=(0,o.default)();(0,o.default)(this.content()).empty(),e.forEach((function(e){t=t.add((0,o.default)(\"<div>\").addClass(\"dx-dateview-item\").append(e))})),(0,o.default)(this.content()).append(t),this._$items=t,this.update()},c._renderSelectedItemFrame=function(){(0,o.default)(\"<div>\").addClass(\"dx-dateview-item-selected-frame\").append((0,o.default)(\"<div>\").addClass(\"dx-dateview-item-selected-border\")).appendTo((0,o.default)(this.container()))},c._renderSelectedValue=function(e){var t=this._fitIndex(null!=e?e:this.option(\"selectedIndex\"));this._moveTo({top:this._getItemPosition(t)}),this._renderActiveStateItem()},c._fitIndex=function(e){var t=(this.option(\"items\")||[]).length;return e>=t?t-1:e<0?0:e},c._getItemPosition=function(e){return Math.round(this._itemHeight()*e)},c._renderItemsClick=function(){var e=this._getItemSelector(),t=(0,u.addNamespace)(d.name,this.NAME);a.default.off(this.$element(),t,e),a.default.on(this.$element(),t,e,this._itemClickHandler.bind(this))},c._getItemSelector=function(){return\".dx-dateview-item\"},c._itemClickHandler=function(e){this.option(\"selectedIndex\",this._itemElementIndex(e.currentTarget))},c._itemElementIndex=function(e){return this._itemElements().index(e)},c._itemElements=function(){return this.$element().find(this._getItemSelector())},c._renderActiveStateItem=function(){var e=this.option(\"selectedIndex\");(0,l.each)(this._$items,(function(t){(0,o.default)(this).toggleClass(\"dx-dateview-item-selected\",e===t)}))},c._shouldScrollToNeighborItem=function(){return\"desktop\"===h.default.real().deviceType&&this._isWheelScrolled},c._moveTo=function(e){var t=(0,g.convertToLocation)(e),n=t.top,i=t.left,a=this.scrollOffset(),r={x:a.left-i,y:a.top-n};if(this._isVisible()&&(r.x||r.y))if(this._prepareDirections(!0),this._animation&&!this._shouldScrollToNeighborItem()){var s=this;f.default.stop((0,o.default)(this.content())),f.default.animate((0,o.default)(this.content()),{duration:200,type:\"slide\",to:{top:Math.floor(r.y)},complete:function(){(0,p.resetPosition)((0,o.default)(s.content())),s.handleMove({delta:r})}}),delete this._animation}else this.handleMove({delta:r})},c._validate=function(e){return this._moveIsAllowed(e)},c._fitSelectedIndexInRange=function(e){var t=this.option(\"items\").length;return Math.max(Math.min(e,t-1),0)},c._isInNullNeighborhood=function(e){return-.1<=e&&e<=.1},c._getSelectedIndexAfterScroll=function(e){var t=this.scrollOffset().top-e*this._itemHeight();if(this._isInNullNeighborhood(t))return e;var n=t>0?1:-1;return this._fitSelectedIndexInRange(e+n)},c._getNewSelectedIndex=function(e){if(this._shouldScrollToNeighborItem())return this._getSelectedIndexAfterScroll(e);this._animation=!0;var t=this.scrollOffset().top/this._itemHeight();return Math.round(t)},c._endActionHandler=function(){var e=this.option(\"selectedIndex\"),t=this._getNewSelectedIndex(e);t===e?this._renderSelectedValue(t):this.option(\"selectedIndex\",t),this._isWheelScrolled=!1},c._itemHeight=function(){var e=this._$items.first();return(0,i.getHeight)(e)},c._toggleActive=function(e){this.$element().toggleClass(\"dx-state-active\",e)},c._isVisible=function(){return(0,o.default)(this.container()).is(\":visible\")},c._fireSelectedIndexChanged=function(e,t){this._selectedIndexChanged({value:e,previousValue:t,event:void 0})},c._visibilityChanged=function(t){e.prototype._visibilityChanged.call(this,t),this._visibilityChangedHandler(t)},c._visibilityChangedHandler=function(e){var t=this;e&&(this._visibilityTimer=setTimeout((function(){t._renderSelectedValue(t.option(\"selectedIndex\"))}))),this.toggleActiveState(!1)},c.toggleActiveState=function(e){this.$element().toggleClass(\"dx-dateviewroller-current\",e)},c._refreshSelectedIndex=function(){var e=this.option(\"selectedIndex\"),t=this._fitIndex(e);t===e?this._renderActiveStateItem():this.option(\"selectedIndex\",t)},c._optionChanged=function(t){switch(t.name){case\"selectedIndex\":this._fireSelectedIndexChanged(t.value,t.previousValue),this._renderSelectedValue(t.value);break;case\"items\":this._renderItems(),this._refreshSelectedIndex();break;case\"onClick\":case\"showOnClick\":this._renderContainerClick();break;case\"onSelectedIndexChanged\":this._renderSelectedIndexChanged();break;default:e.prototype._optionChanged.call(this,t)}},c._dispose=function(){clearTimeout(this._visibilityTimer),e.prototype._dispose.call(this)},r}(c.default);(0,r.default)(\"dxDateViewRoller\",v);var y=v;t.default=y,e.exports=t.default,e.exports.default=t.default},7124:function(e,t,n){t.default=void 0;var i=h(n(68374)),o=h(n(96452)),a=h(n(34171)),r=h(n(78665)),s=h(n(55551)),l=n(13306),u=h(n(99393)),d=h(n(91500)),c=h(n(72309));function h(e){return e&&e.__esModule?e:{default:e}}var f=function(e,t,n){p(e,t,n)},p=function(e,t,n){e.css(\"transform\",\"rotate(\"+t+\"deg) translate(0,\"+n+\"px)\")},g=o.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{value:new Date(Date.now()),use24HourFormat:!0,_showClock:!0,_arrowOffset:5,stylingMode:void 0})},_getValue:function(){return this.option(\"value\")||new Date},_init:function(){this.callBase(),this.$element().addClass(\"dx-timeview\")},_render:function(){this.callBase(),this._renderBox(),this._updateTime()},_renderBox:function(){var e=(0,i.default)(\"<div>\").appendTo(this.$element()),t=[];this.option(\"_showClock\")&&t.push({ratio:1,shrink:0,baseSize:\"auto\",template:this._renderClock.bind(this)}),t.push({ratio:0,shrink:0,baseSize:\"auto\",template:this._renderField.bind(this)}),this._createComponent(e,s.default,{height:\"100%\",width:\"100%\",direction:\"col\",items:t})},_renderClock:function(e,t,n){this._$hourArrow=(0,i.default)(\"<div>\").addClass(\"dx-timeview-hourarrow\"),this._$minuteArrow=(0,i.default)(\"<div>\").addClass(\"dx-timeview-minutearrow\");var o=(0,i.default)(n);o.addClass(\"dx-timeview-clock\").append(this._$hourArrow).append(this._$minuteArrow),this.setAria(\"role\",\"presentation\",o)},_updateClock:function(){var e=this._getValue(),t=e.getHours()/12*360+e.getMinutes()/60*30,n=e.getMinutes()/60*360;f(this._$hourArrow,t,this.option(\"_arrowOffset\")),f(this._$minuteArrow,n,this.option(\"_arrowOffset\"))},_getBoxItems:function(e){var t=this,n=[{ratio:0,shrink:0,baseSize:\"auto\",template:function(){return t._hourBox.$element()}},{ratio:0,shrink:0,baseSize:\"auto\",template:(0,i.default)(\"<div>\").addClass(\"dx-timeview-time-separator\").text(d.default.getTimeSeparator())},{ratio:0,shrink:0,baseSize:\"auto\",template:function(){return t._minuteBox.$element()}}];return e&&n.push({ratio:0,shrink:0,baseSize:\"auto\",template:function(){return t._format12.$element()}}),n},_renderField:function(){var e=!this.option(\"use24HourFormat\");return this._createHourBox(e),this._createMinuteBox(),e&&this._createFormat12Box(),this._createComponent((0,i.default)(\"<div>\").addClass(\"dx-timeview-field\"),s.default,{direction:\"row\",align:\"center\",crossAlign:\"center\",items:this._getBoxItems(e)}).$element()},_createHourBox:function(e){var t=this;(this._hourBox=this._createComponent((0,i.default)(\"<div>\"),a.default,(0,l.extend)({min:-1,max:e?13:24,value:this._getValue().getHours(),onValueChanged:this._onHourBoxValueChanged.bind(this),onKeyboardHandled:function(e){return t._keyboardHandler(e)}},this._getNumberBoxConfig()))).setAria(\"label\",\"hours\")},_isPM:function(){return!this.option(\"use24HourFormat\")&&1===this._format12.option(\"value\")},_onHourBoxValueChanged:function(e){var t=e.value,n=e.component,i=this._getValue(),o=new Date(i),a=this._convertMaxHourToMin(t);n.option(\"value\",a),this._isPM()&&(a+=12),o.setHours(a),c.default.normalizeTime(o),this.option(\"value\",o)},_convertMaxHourToMin:function(e){var t=this.option(\"use24HourFormat\")?24:12;return(t+e)%t},_createMinuteBox:function(){var e=this;(this._minuteBox=this._createComponent((0,i.default)(\"<div>\"),a.default,(0,l.extend)({min:-1,max:60,value:this._getValue().getMinutes(),onKeyboardHandled:function(t){return e._keyboardHandler(t)},onValueChanged:function(t){var n=(60+t.value)%60;t.component.option(\"value\",n);var i=new Date(e._getValue());i.setMinutes(n),c.default.normalizeTime(i),e.option(\"value\",i)}},this._getNumberBoxConfig()))).setAria(\"label\",\"minutes\")},_createFormat12Box:function(){var e=this,t=d.default.getPeriodNames();(this._format12=this._createComponent((0,i.default)(\"<div>\").addClass(\"dx-timeview-format12\"),r.default,{items:[{value:-1,text:t[0]},{value:1,text:t[1]}],valueExpr:\"value\",displayExpr:\"text\",onKeyboardHandled:function(t){return e._keyboardHandler(t)},onValueChanged:function(t){var n=t.value,i=e._getValue().getHours(),o=new Date(e._getValue()),a=(i+12*n)%24;o.setHours(a),e.option(\"value\",o)},value:this._getValue().getHours()>=12?1:-1,stylingMode:this.option(\"stylingMode\")})).setAria(\"label\",\"type\")},_refreshFormat12:function(){if(!this.option(\"use24HourFormat\")){var e=this._getValue().getHours()>=12?1:-1;this._silentEditorValueUpdate(this._format12,e)}},_silentEditorValueUpdate:function(e,t){e&&(e._suppressValueChangeAction(),e.option(\"value\",t),e._resumeValueChangeAction())},_getNumberBoxConfig:function(){return{showSpinButtons:!0,displayValueFormatter:function(e){return(e<10?\"0\":\"\")+e},stylingMode:this.option(\"stylingMode\")}},_normalizeHours:function(e){return this.option(\"use24HourFormat\")?e:e%12||12},_updateField:function(){var e=this._normalizeHours(this._getValue().getHours());this._silentEditorValueUpdate(this._hourBox,e),this._silentEditorValueUpdate(this._minuteBox,this._getValue().getMinutes()),this._refreshFormat12()},_updateTime:function(){this.option(\"_showClock\")&&this._updateClock(),this._updateField()},_visibilityChanged:function(e){e&&this._updateTime()},_optionChanged:function(e){switch(e.name){case\"value\":this._updateTime(),this.callBase(e);break;case\"_arrowOffset\":break;case\"use24HourFormat\":case\"_showClock\":case\"stylingMode\":this._invalidate();break;default:this.callBase(e)}}});(0,u.default)(\"dxTimeView\",g);var m=g;t.default=m,e.exports=t.default,e.exports.default=t.default},56258:function(e,t,n){var i;t.default=void 0;var o=((i=n(64850))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},45020:function(e,t,n){t.default=void 0;var i=l(n(46919)),o=l(n(55994)),a=n(13306),r=n(86974),s=n(35922);function l(e){return e&&e.__esModule?e:{default:e}}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this).dateBox=t,n.dateRangeBox=t.option(\"_dateRangeBoxInstance\"),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var l=i.prototype;return l.popupConfig=function(t){return(0,a.extend)(!0,e.prototype.popupConfig.call(this,t),{position:{of:this.dateRangeBox.$element()}})},l.popupShowingHandler=function(){var e;null===(e=this._widget)||void 0===e||e._restoreViewsMinMaxOptions(),this._dateSelectedCounter=0},l._getPopup=function(){return e.prototype._getPopup.call(this)||this.dateRangeBox.getStartDateBox()._popup},l.getFirstPopupElement=function(){var e=this._getPopup().$wrapper(),t=e.find(\".\".concat(\"dx-button-today\"));return t.length?t:e.find(\".dx-popup-done.dx-button\")},l.getLastPopupElement=function(){return this._getPopup().$wrapper().find(\".dx-popup-cancel.dx-button\")},l.supportedKeys=function(){var t=this;return u({},e.prototype.supportedKeys.call(this),{rightArrow:function(){if(t.dateRangeBox.option(\"opened\"))return!0},leftArrow:function(){if(t.dateRangeBox.option(\"opened\"))return!0},enter:function(e){if(t.dateRangeBox.option(\"opened\")){var n=t.dateBox.dateOption(\"value\");t.dateBox._valueChangeEventHandler(e);var i=t.dateBox.dateOption(\"value\");return!(0,r.isSameDates)(n,i)?t.dateRangeBox.getStartDateBox()._strategy._widget.option(\"values\",t.dateRangeBox.option(\"value\")):t.dateRangeBox.getStartDateBox()._strategy._widget._enterKeyHandler(e),!1}},tab:function(e){if(t.getDateRangeBox().option(\"opened\"))if(t._isInstantlyMode())(!e.shiftKey&&t.getDateRangeBox()._isEndDateActiveElement()||e.shiftKey&&t.getDateRangeBox()._isStartDateActiveElement())&&t.dateRangeBox.close();else if(!(!e.shiftKey&&t.getDateRangeBox()._isStartDateActiveElement()||e.shiftKey&&t.getDateRangeBox()._isEndDateActiveElement())){var n=e.shiftKey?t.getLastPopupElement():t.getFirstPopupElement();n&&(o.default.trigger(n,\"focus\"),n.select()),e.preventDefault()}}})},l._getTodayButtonConfig=function(){var t=this,n=e.prototype._getTodayButtonConfig.call(this);return n.options.onInitialized=function(e){t.dateBox._popupButtonInitializedHandler(e)},n},l._getWidgetOptions=function(){var t=this.dateRangeBox.option(),n=t.disabledDates,i=t.value,o=t.multiView,r=(0,s.isFunction)(n)?this._injectComponent(n):r;return(0,a.extend)(e.prototype._getWidgetOptions.call(this),{disabledDates:r,values:i,selectionMode:\"range\",viewsCount:o?2:1,_allowChangeSelectionOrder:!0,_currentSelection:this.getCurrentSelection()})},l._refreshActiveDescendant=function(e){this.dateRangeBox.setAria(\"activedescendant\",e.actionValue)},l._injectComponent=function(e){var t=this;return function(n){return e((0,a.extend)(n,{component:t.dateRangeBox}))}},l.getKeyboardListener=function(){return this.dateRangeBox.getStartDateBox()?this.dateRangeBox.getStartDateBox()._strategy._widget:this._widget},l.getValue=function(){return this._widget.option(\"values\")},l._updateValue=function(){var e=this.dateRangeBox.option().value;this._widget&&(this._shouldPreventFocusChange=!0,this._widget.option(\"values\",e))},l._isInstantlyMode=function(){return\"instantly\"===this.dateRangeBox.option(\"applyValueMode\")},l._valueChangedHandler=function(e){var t=e.value,n=e.previousValue,i=e.event;if(!(0,r.isSameDateArrays)(t,n)||this._widget._valueSelected){if(this._widget._valueSelected=!1,this._isInstantlyMode()){if(!this.dateRangeBox.option(\"disableOutOfRangeSelection\"))if(\"startDate\"===this._getCalendarCurrentSelection())this._dateSelectedCounter=0;else if(this._dateSelectedCounter=1,t[0]){if((0,r.getDeserializedDate)(t[0])>(0,r.getDeserializedDate)(t[1]))return void this.dateRangeBox.updateValue([t[0],null],i)}else this._dateSelectedCounter=-1;if(this.dateRangeBox.updateValue(t,i),this._dateSelectedCounter+=1,2===this._dateSelectedCounter)return void this.getDateRangeBox().close()}else if(\"endDate\"===this._getCalendarCurrentSelection()&&t[0]&&(0,r.getDeserializedDate)(t[0])>(0,r.getDeserializedDate)(t[1]))return;this._shouldPreventFocusChange||this._moveFocusToNextInput(),this._shouldPreventFocusChange=!1}else this._shouldPreventFocusChange=!1},l._moveFocusToNextInput=function(){var e=\"startDate\"===this._getCalendarCurrentSelection()?this.getDateRangeBox().getEndDateBox():this.getDateRangeBox().getStartDateBox();e.focus(),o.default.trigger(e.field(),\"dxclick\")},l.getCurrentSelection=function(){return this.dateRangeBox.option(\"_currentSelection\")},l._getCalendarCurrentSelection=function(){return this._widget.option(\"_currentSelection\")},l._closeDropDownByEnter=function(){return\"startDate\"!==this._getCalendarCurrentSelection()},l.dateBoxValue=function(){return arguments.length?this.dateBox.dateValue.apply(this.dateBox,arguments):this.dateBox.dateOption.apply(this.dateBox,[\"value\"])},l._cellClickHandler=function(){},l.setActiveStartDateBox=function(){this.dateBox=this.dateRangeBox.getStartDateBox()},l.setActiveEndDateBox=function(){this.dateBox=this.dateRangeBox.getEndDateBox()},l.getDateRangeBox=function(){return this.dateRangeBox},i}(i.default);t.default=c,e.exports=t.default,e.exports.default=t.default},86974:function(e,t,n){t.sortDatesArray=t.monthDifference=t.isSameDates=t.isSameDateArrays=t.getDeserializedDate=void 0;var i=a(n(91198)),o=a(n(69434));function a(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}(e,t)||function(){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 s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var l=function(e){return o.default.deserializeDate(e)};t.getDeserializedDate=l;var u=function(e,t){return!e&&!t||i.default.sameDate(l(e),l(t))};t.isSameDates=u;t.isSameDateArrays=function(e,t){var n=r(e,2),i=n[0],o=n[1],a=r(t,2),s=a[0],l=a[1];return u(i,s)&&u(o,l)};t.sortDatesArray=function(e){var t=r(e,2),n=t[0],i=t[1];return n&&i&&l(n)>l(i)?[i,n]:e};t.monthDifference=function(e,t){return 12*(t.getFullYear()-e.getFullYear())-e.getMonth()+t.getMonth()}},64850:function(e,t,n){t.default=void 0;var i=C(n(68374)),o=C(n(99393)),a=C(n(73349)),r=n(13306),s=n(44899),l=C(n(80209)),u=C(n(20530)),d=C(n(28109)),c=n(75811),h=C(n(96452)),f=C(n(56120)),p=C(n(91202)),g=C(n(29783)),m=C(n(49714)),_=n(68494),v=n(86974),y=n(95479),b=n(78008),x=n(39611),w=C(n(55994));function C(e){return e&&e.__esModule?e:{default:e}}function S(){return(S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function k(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||I(e)||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 D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||I(e,t)||function(){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 I(e,t){if(e){if(\"string\"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var O=[\"KeyDown\",\"KeyUp\",\"Change\",\"Cut\",\"Copy\",\"Paste\",\"Input\",\"EnterKey\"],A=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,E(t,n);var h=o.prototype;return h._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{acceptCustomValue:!0,activeStateEnabled:!0,applyButtonText:d.default.format(\"OK\"),applyValueMode:\"instantly\",buttons:void 0,calendarOptions:{},cancelButtonText:d.default.format(\"Cancel\"),endDateOutOfRangeMessage:d.default.format(\"dxDateRangeBox-endDateOutOfRangeMessage\"),dateSerializationFormat:void 0,deferRendering:!0,disableOutOfRangeSelection:!1,disabledDates:null,displayFormat:null,dropDownButtonTemplate:\"dropDownButton\",dropDownOptions:{},endDate:null,endDateInputAttr:{},endDateLabel:d.default.format(\"dxDateRangeBox-endDateLabel\"),endDateName:\"\",endDatePlaceholder:\"\",endDateText:void 0,focusStateEnabled:!0,hoverStateEnabled:!0,invalidStartDateMessage:d.default.format(\"dxDateRangeBox-invalidStartDateMessage\"),invalidEndDateMessage:d.default.format(\"dxDateRangeBox-invalidEndDateMessage\"),isValid:!0,labelMode:\"static\",max:void 0,min:void 0,multiView:!0,onChange:null,onClosed:null,onCopy:null,onCut:null,onEnterKey:null,onInput:null,onKeyDown:null,onKeyUp:null,onOpened:null,onPaste:null,onValueChanged:null,openOnFieldClick:!0,opened:!1,pickerType:\"calendar\",readOnly:!1,showClearButton:!1,showDropDownButton:!0,spellcheck:!1,startDate:null,startDateInputAttr:{},startDateLabel:d.default.format(\"dxDateRangeBox-startDateLabel\"),startDateName:\"\",startDateOutOfRangeMessage:d.default.format(\"dxDateRangeBox-startDateOutOfRangeMessage\"),startDatePlaceholder:\"\",startDateText:void 0,stylingMode:(0,l.default)().editorStylingMode||\"outlined\",todayButtonText:d.default.format(\"dxCalendar-todayButtonText\"),useHiddenSubmitElement:!1,useMaskBehavior:!1,validationError:null,validationErrors:null,validationMessageMode:\"auto\",validationMessagePosition:\"auto\",validationStatus:\"valid\",value:[null,null],valueChangeEvent:\"change\",_internalValidationErrors:[],_currentSelection:\"startDate\"})},h._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){var e=(0,c.current)();return(0,c.isMaterial)(e)},options:{stylingMode:(0,l.default)().editorStylingMode||\"filled\",labelMode:\"floating\"}},{device:function(){var e=u.default.real().platform;return\"ios\"===e||\"android\"===e},options:{multiView:!1}}])},h._initOptions=function(t){e.prototype._initOptions.call(this,t);var n=this.initialOption().value,i=this.option(),o=i.value,a=i.startDate,r=i.endDate;if(o[0]&&o[1]&&(0,v.getDeserializedDate)(o[0])>(0,v.getDeserializedDate)(o[1])&&(o=[o[1],o[0]]),a&&r&&(0,v.getDeserializedDate)(a)>(0,v.getDeserializedDate)(r)){var s=[r,a];a=s[0],r=s[1]}if((0,v.isSameDateArrays)(n,o))o=[a,r];else{var l=D(o,2);a=l[0],r=l[1]}this.option({startDate:a,endDate:r,value:o})},h._createOpenAction=function(){this._openAction=this._createActionByOption(\"onOpened\",{excludeValidators:[\"disabled\",\"readOnly\"]})},h._raiseOpenAction=function(){this._openAction||this._createOpenAction(),this._openAction()},h._createCloseAction=function(){this._closeAction=this._createActionByOption(\"onClosed\",{excludeValidators:[\"disabled\",\"readOnly\"]})},h._raiseCloseAction=function(){this._closeAction||this._createCloseAction(),this._closeAction()},h._createEventAction=function(e){this[\"_\".concat((0,b.camelize)(e),\"Action\")]=this._createActionByOption(\"on\".concat(e),{excludeValidators:[\"readOnly\"]})},h._raiseAction=function(e,t){this[\"_\".concat((0,b.camelize)(e),\"Action\")]||this._createEventAction(e),this[\"_\".concat((0,b.camelize)(e),\"Action\")]({event:t})},h._initTemplates=function(){this._templateManager.addDefaultTemplates({dropDownButton:new _.FunctionTemplate((function(e){var t=(0,i.default)(\"<div>\").addClass(\"dx-dropdowneditor-icon\");(0,i.default)(e.container).append(t)}))}),this.callBase()},h._getDefaultButtons=function(){return[{name:\"clear\",Ctor:m.default},{name:\"dropDown\",Ctor:g.default}]},h._initMarkup=function(){this.$element().addClass(\"dx-daterangebox\").addClass(\"dx-texteditor\").addClass(\"dx-dropdowneditor\"),this._toggleDropDownEditorActiveClass(),this._toggleEditorLabelClass(),this._toggleReadOnlyState(),this._renderStylingMode(),this._renderEndDateBox(),this._renderSeparator(),this._renderStartDateBox(),this._toggleEmptinessState(),this._renderEmptinessEvent(),this._renderButtonsContainer(),e.prototype._initMarkup.call(this),this.$element().removeClass(\"dx-show-invalid-badge\")},h._renderEmptinessEvent=function(){var e=(0,x.addNamespace)(\"input blur\",this.NAME);w.default.off(this._focusTarget(),e),w.default.on(this._focusTarget(),e,this._toggleEmptinessState.bind(this))},h._toggleEmptinessState=function(){var e=this.getStartDateBox().$element().hasClass(\"dx-texteditor-empty\")&&this.getEndDateBox().$element().hasClass(\"dx-texteditor-empty\");this.$element().toggleClass(\"dx-texteditor-empty\",e)},h._attachKeyboardEvents=function(){this.option(\"readOnly\")||e.prototype._attachKeyboardEvents.call(this)},h._toggleReadOnlyState=function(){var e=this.option().readOnly;this.$element().toggleClass(\"dx-state-readonly\",!!e)},h._toggleDropDownEditorActiveClass=function(){var e=this.option().opened;this.$element().toggleClass(\"dx-dropdowneditor-active\",e)},h._toggleEditorLabelClass=function(){var e=this.option(),t=e.startDateLabel,n=e.endDateLabel,i=e.labelMode,o=!(!t&&!n||\"hidden\"===i);this.$element().removeClass(\"dx-daterangebox-with-floating-label\").removeClass(\"dx-daterangebox-with-label\"),o&&this.$element().addClass(\"floating\"===i?\"dx-daterangebox-with-floating-label\":\"dx-daterangebox-with-label\")},h._renderStartDateBox=function(){this._$startDateBox=(0,i.default)(\"<div>\").addClass(\"dx-start-datebox\").prependTo(this.$element()),this._startDateBox=this._createComponent(this._$startDateBox,f.default,this._getStartDateBoxConfig()),this._startDateBox.NAME=\"_StartDateBox\"},h._renderEndDateBox=function(){this._$endDateBox=(0,i.default)(\"<div>\").addClass(\"dx-end-datebox\").appendTo(this.$element()),this._endDateBox=this._createComponent(this._$endDateBox,f.default,this._getEndDateBoxConfig()),this._endDateBox.NAME=\"_EndDateBox\"},h._renderSeparator=function(){var e=(0,s.getImageContainer)(\"to\");this._$separator=(0,i.default)(\"<div>\").addClass(\"dx-daterangebox-separator\").prependTo(this.$element()),this._renderPreventBlurOnSeparatorClick(),e.appendTo(this._$separator)},h._renderPreventBlurOnSeparatorClick=function(){var e=this,t=(0,x.addNamespace)(\"mousedown\",this.NAME);w.default.off(this._$separator,t),w.default.on(this._$separator,t,(function(t){e._hasActiveElement()||e.focus(),t.preventDefault()}))},h._renderButtonsContainer=function(){this._buttonCollection=new p.default(this,this._getDefaultButtons()),this._$beforeButtonsContainer=null,this._$afterButtonsContainer=null;var e=this.option().buttons;this._$beforeButtonsContainer=this._buttonCollection.renderBeforeButtons(e,this.$element()),this._$afterButtonsContainer=this._buttonCollection.renderAfterButtons(e,this.$element())},h._updateButtons=function(e){this._buttonCollection.updateButtons(e)},h._openHandler=function(){this._toggleOpenState()},h._shouldCallOpenHandler=function(){return!0},h._toggleOpenState=function(){this.option().opened||this.getStartDateBox()._focusInput(),this.option(\"readOnly\")||this.option(\"opened\",!this.option(\"opened\"))},h._clearValueHandler=function(e){e.stopPropagation(),this._saveValueChangeEvent(e),this.reset(),!this._isStartDateActiveElement()&&this.focus(),w.default.trigger((0,i.default)(this.startDateField()),\"input\")},h._isClearButtonVisible=function(){return this.option(\"showClearButton\")&&!this.option(\"readOnly\")},h._focusInHandler=function(t){this._shouldSkipFocusEvent(t)||e.prototype._focusInHandler.call(this,t)},h._focusOutHandler=function(t){this._shouldSkipFocusEvent(t)||e.prototype._focusOutHandler.call(this,t)},h._shouldSkipFocusEvent=function(e){var t=e.target,n=e.relatedTarget;return(0,i.default)(t).is(this.startDateField())&&(0,i.default)(n).is(this.endDateField())||(0,i.default)(t).is(this.endDateField())&&(0,i.default)(n).is(this.startDateField())},h._getPickerType=function(){var e=this.option().pickerType;return[\"calendar\",\"native\"].includes(e)?e:\"calendar\"},h._getRestErrors=function(e,t){return e.filter((function(e){return!t.some((function(t){return e.message===t.message}))}))},h._syncValidationErrors=function(e,t,n){t||(t=[]),n||(n=[]);var i=this.option(e)||[],o=this._getRestErrors(i,n);this.option(e,[].concat(k(o),k(t)))},h._getDateBoxConfig=function(){var e=this,t=this.option(),n={acceptCustomValue:t.acceptCustomValue,activeStateEnabled:t.activeStateEnabled,applyValueMode:t.applyValueMode,dateOutOfRangeMessage:t.dateOutOfRangeMessage,dateSerializationFormat:t.dateSerializationFormat,deferRendering:t.deferRendering,disabled:t.disabled,displayFormat:t.displayFormat,focusStateEnabled:t.focusStateEnabled,isValid:t.isValid,tabIndex:t.tabIndex,height:t.height,hoverStateEnabled:t.hoverStateEnabled,labelMode:t.labelMode,max:t.max,min:t.min,openOnFieldClick:t.openOnFieldClick,pickerType:this._getPickerType(),readOnly:t.readOnly,rtlEnabled:t.rtlEnabled,spellcheck:t.spellcheck,stylingMode:t.stylingMode,type:\"date\",useMaskBehavior:t.useMaskBehavior,validationMessageMode:t.validationMessageMode,validationMessagePosition:t.validationMessagePosition,valueChangeEvent:t.valueChangeEvent,onKeyDown:t.onKeyDown,onKeyUp:t.onKeyUp,onChange:t.onChange,onInput:t.onInput,onCut:t.onCut,onCopy:t.onCopy,onPaste:t.onPaste,onEnterKey:t.onEnterKey,_dateRangeBoxInstance:this,_showValidationMessage:!1};return(0,y.each)(O,(function(t,i){var o=\"on\".concat(i);e.hasActionSubscription(o)&&(n[o]=function(t){e._raiseAction(i,t.event)})})),n},h._hideOnOutsideClickHandler=function(e){var t=e.target,n=(0,i.default)(t),o=this.getButton(\"dropDown\"),a=o&&o.$element(),r=!!n.closest(this.$element()).length,s=!!n.closest(a).length;return!r&&!s},h._getStartDateBoxConfig=function(){var e,t=this,n=this.option();return S({},this._getDateBoxConfig(),{applyButtonText:n.applyButtonText,calendarOptions:n.calendarOptions,cancelButtonText:n.cancelButtonText,dateOutOfRangeMessage:n.startDateOutOfRangeMessage,deferRendering:n.deferRendering,disabledDates:null===(e=n.dropDownOptions)||void 0===e?void 0:e.disabledDates,dropDownOptions:S({showTitle:!1,title:\"\",hideOnOutsideClick:function(e){return t._hideOnOutsideClickHandler(e)},hideOnParentScroll:!1,preventScrollEvents:!1},n.dropDownOptions),invalidDateMessage:n.invalidStartDateMessage,onValueChanged:function(e){var n=e.value,i=e.event,o=[n,t.option(\"value\")[1]];t.updateValue(o,i)},opened:n.opened,onOpened:function(){t._raiseOpenAction()},onClosed:function(){t._raiseCloseAction()},onOptionChanged:function(e){var n=e.name,i=e.value,o=e.previousValue;\"text\"===n&&t.option(\"startDateText\",i),\"validationErrors\"===n&&t._syncValidationErrors(\"_internalValidationErrors\",i,o)},todayButtonText:n.todayButtonText,showClearButton:!1,showDropDownButton:!1,value:this.option(\"value\")[0],label:n.startDateLabel,placeholder:n.startDatePlaceholder,inputAttr:n.startDateInputAttr,name:n.startDateName,_showValidationIcon:!1})},h._getEndDateBoxConfig=function(){var e=this,t=this.option();return S({},this._getDateBoxConfig(),{invalidDateMessage:t.invalidEndDateMessage,dateOutOfRangeMessage:t.endDateOutOfRangeMessage,onValueChanged:function(t){var n=t.value,i=t.event,o=[e.option(\"value\")[0],n];e.updateValue(o,i)},onOptionChanged:function(t){var n=t.name,i=t.value,o=t.previousValue;\"text\"===n&&e.option(\"endDateText\",i),\"validationErrors\"===n&&e._syncValidationErrors(\"_internalValidationErrors\",i,o)},opened:t.opened,showClearButton:!1,showDropDownButton:!1,value:this.option(\"value\")[1],label:t.endDateLabel,placeholder:t.endDatePlaceholder,deferRendering:!0,inputAttr:t.endDateInputAttr,name:t.endDateName})},h._getValidationMessagePosition=function(){var e=this.option().validationMessagePosition;return\"auto\"===e?this.option(\"opened\")?\"top\":\"bottom\":e},h._getSerializedDates=function(e){var t=D(e,2),n=t[0],i=t[1];return[this.getStartDateBox()._serializeDate((0,v.getDeserializedDate)(n)),this.getStartDateBox()._serializeDate((0,v.getDeserializedDate)(i))]},h.updateValue=function(e,t){(0,v.isSameDateArrays)(e,this.option(\"value\"))||(t&&this._saveValueChangeEvent(t),this.option(\"value\",this._getSerializedDates(e)))},h._updateDateBoxesValue=function(e){var t=this.getStartDateBox(),n=this.getEndDateBox(),i=D(e,2),o=i[0],a=i[1],r=t.option(\"value\"),s=n.option(\"value\");(0,v.isSameDates)(o,r)||t.option(\"value\",o),(0,v.isSameDates)(a,s)||n.option(\"value\",a)},h._renderAccessKey=function(){var e=(0,i.default)(this.field()[0]),t=this.option().accessKey;e.attr(\"accesskey\",t)},h._focusTarget=function(){return this.$element().find(\".\".concat(\"dx-texteditor-input\"))},h._focusEventTarget=function(){return this.element()},h._focusClassTarget=function(){return this.$element()},h._toggleFocusClass=function(t,n){e.prototype._toggleFocusClass.call(this,t,this._focusClassTarget(n))},h._hasActiveElement=function(){return this._isStartDateActiveElement()||this._isEndDateActiveElement()},h._isStartDateActiveElement=function(){return this._isActiveElement(this.startDateField())},h._isEndDateActiveElement=function(){return this._isActiveElement(this.endDateField())},h._isActiveElement=function(e){return(0,i.default)(e).is(a.default.getActiveElement(e))},h._popupContentIdentifier=function(e){return e&&(this._popupContentId=e),this._popupContentId},h._setAriaAttributes=function(){var e=this.option().opened,t={expanded:e,controls:this._popupContentIdentifier()},n=e?this._popupContentIdentifier():void 0;this.setAria(t),this.setAria(\"owns\",n,this.$element())},h._cleanButtonContainers=function(){var e,t;null===(e=this._$beforeButtonsContainer)||void 0===e||e.remove(),null===(t=this._$afterButtonsContainer)||void 0===t||t.remove(),this._buttonCollection.clean(),this._$beforeButtonsContainer=null,this._$afterButtonsContainer=null},h._applyCustomValidation=function(e){this.validationRequest.fire({editor:this,value:e})},h._clean=function(){var t,n,i;this._cleanButtonContainers(),null===(t=this._$startDateBox)||void 0===t||t.remove(),null===(n=this._$endDateBox)||void 0===n||n.remove(),null===(i=this._$separator)||void 0===i||i.remove(),e.prototype._clean.call(this)},h._optionChanged=function(t){var n=t.name,i=t.fullName,o=t.value,a=t.previousValue;switch(n){case\"acceptCustomValue\":case\"dateSerializationFormat\":case\"displayFormat\":case\"max\":case\"min\":case\"openOnFieldClick\":case\"spellcheck\":case\"useMaskBehavior\":case\"valueChangeEvent\":this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);break;case\"rtlEnabled\":e.prototype._optionChanged.call(this,t);break;case\"labelMode\":this._toggleEditorLabelClass(),this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);break;case\"applyButtonText\":case\"applyValueMode\":case\"cancelButtonText\":case\"deferRendering\":case\"disabledDates\":case\"todayButtonText\":this.getStartDateBox().option(n,o);break;case\"opened\":this._toggleDropDownEditorActiveClass(),this.getStartDateBox().option(n,o),this.getEndDateBox()._setOptionWithoutOptionChange(n,o);break;case\"buttons\":this._cleanButtonContainers(),this._renderButtonsContainer();break;case\"calendarOptions\":case\"dropDownOptions\":this.getStartDateBox().option(i,o);break;case\"pickerType\":var r=this._getPickerType();this.getStartDateBox().option(n,r),this.getEndDateBox().option(n,r);break;case\"dateOutOfRangeMessage\":break;case\"height\":this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o),e.prototype._optionChanged.call(this,t);break;case\"dropDownButtonTemplate\":case\"showDropDownButton\":this._updateButtons([\"dropDown\"]);break;case\"showClearButton\":this._updateButtons([\"clear\"]);break;case\"endDate\":this.updateValue([this.option(\"value\")[0],o]);break;case\"startDateLabel\":this._toggleEditorLabelClass(),this.getStartDateBox().option(\"label\",o);break;case\"endDateLabel\":this._toggleEditorLabelClass(),this.getEndDateBox().option(\"label\",o);break;case\"startDatePlaceholder\":this.getStartDateBox().option(\"placeholder\",o);break;case\"endDatePlaceholder\":this.getEndDateBox().option(\"placeholder\",o);break;case\"startDateInputAttr\":this.getStartDateBox().option(\"inputAttr\",o);break;case\"startDateName\":this.getStartDateBox().option(\"name\",o);break;case\"endDateInputAttr\":this.getEndDateBox().option(\"inputAttr\",o);break;case\"endDateName\":this.getEndDateBox().option(\"name\",o);break;case\"multiView\":this.getStartDateBox().option(\"calendarOptions.viewsCount\",o?2:1);break;case\"tabIndex\":case\"activeStateEnabled\":case\"focusStateEnabled\":case\"hoverStateEnabled\":e.prototype._optionChanged.call(this,t),this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);break;case\"onValueChanged\":this._createValueChangeAction();break;case\"onOpened\":this._createOpenAction();break;case\"onClosed\":this._createCloseAction();break;case\"onKeyDown\":case\"onKeyUp\":case\"onChange\":case\"onInput\":case\"onCut\":case\"onCopy\":case\"onPaste\":case\"onEnterKey\":this._createEventAction(n.replace(\"on\",\"\"));break;case\"readOnly\":case\"disabled\":this._updateButtons(),e.prototype._optionChanged.call(this,t),this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);break;case\"disableOutOfRangeSelection\":break;case\"startDate\":this.updateValue([o,this.option(\"value\")[1]]);break;case\"stylingMode\":this._renderStylingMode(),this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);break;case\"startDateText\":case\"endDateText\":case\"useHiddenSubmitElement\":break;case\"invalidStartDateMessage\":this.getStartDateBox().option(\"invalidDateMessage\",o);break;case\"invalidEndDateMessage\":this.getEndDateBox().option(\"invalidDateMessage\",o);break;case\"startDateOutOfRangeMessage\":this.getStartDateBox().option(\"dateOutOfRangeMessage\",o);break;case\"endDateOutOfRangeMessage\":this.getEndDateBox().option(\"dateOutOfRangeMessage\",o);break;case\"validationMessagePosition\":this.getStartDateBox().option(n,o),e.prototype._optionChanged.call(this,t);break;case\"_internalValidationErrors\":this._syncValidationErrors(\"validationErrors\",o,a);var s=this.option(\"validationErrors\");this.option(\"isValid\",!(null!=s&&s.length));break;case\"isValid\":this.getStartDateBox().option(n,o),this.getEndDateBox().option(n,o);var l=o&&!this.option(\"_internalValidationErrors\").length;if(this._shouldSkipIsValidChange||l===o)return void e.prototype._optionChanged.call(this,t);this._shouldSkipIsValidChange=!0,this.option(\"isValid\",l),this._shouldSkipIsValidChange=!1;break;case\"validationErrors\":var u=this.option(\"_internalValidationErrors\")||[],d=o||[],c=this._getRestErrors(d,u),h=[].concat(k(c),k(u)),f=h.length?h:null;this._options.silent(\"validationErrors\",f),e.prototype._optionChanged.call(this,S({},t,{value:f}));break;case\"value\":var p=(0,v.sortDatesArray)(o);(0,v.isSameDateArrays)(p,a)||(this._setOptionWithoutOptionChange(\"value\",p),this._setOptionWithoutOptionChange(\"startDate\",p[0]),this._setOptionWithoutOptionChange(\"endDate\",p[1]),this._applyCustomValidation(p),this._updateDateBoxesValue(p),this.getStartDateBox()._strategy.renderValue(),this._toggleEmptinessState(),this._raiseValueChangeAction(p,a),this._saveValueChangeEvent(void 0));break;case\"_currentSelection\":break;default:e.prototype._optionChanged.call(this,t)}},h.getStartDateBox=function(){return this._startDateBox},h.getEndDateBox=function(){return this._endDateBox},h.getButton=function(e){return this._buttonCollection.getButton(e)},h.open=function(){this.option(\"opened\",!0)},h.close=function(){this.option(\"opened\",!1)},h.content=function(){return this.getStartDateBox().content()},h.field=function(){return[this.startDateField(),this.endDateField()]},h.startDateField=function(){return this.getStartDateBox().field()},h.endDateField=function(){return this.getEndDateBox().field()},h.focus=function(){this.getStartDateBox().focus()},h.reset=function(){e.prototype.reset.call(this),this.getEndDateBox().reset(),this.getStartDateBox().reset()},o}(h.default);(0,o.default)(\"dxDateRangeBox\",A);var P=A;t.default=P,e.exports=t.default,e.exports.default=t.default},56120:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(28105)),a=u(n(45020)),r=n(39611),s=u(n(55994)),l=n(86974);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e,t)||function(){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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var u=o.prototype;return u._initStrategy=function(){this._strategy=new a.default(this)},u._initMarkup=function(){e.prototype._initMarkup.call(this),this._renderInputClickEvent()},u._renderInputClickEvent=function(){var e=this,t=(0,r.addNamespace)(\"dxclick\",this.NAME);s.default.off(this._input(),t),s.default.on(this._input(),t,(function(t){e._processValueChange(t)}))},u._applyButtonHandler=function(e){var t=e.event,n=this._strategy.getValue();this._strategy.dateRangeBox.updateValue(n,t),this.close(),this.option(\"focusStateEnabled\")&&this.focus()},u._openHandler=function(t){this._strategy.dateRangeBox.option(\"opened\")||e.prototype._openHandler.call(this,t)},u._renderOpenedState=function(){var e=this.option().opened;this._getDateRangeBox().option(\"opened\",e),this._isStartDateBox()&&(e&&this._createPopup(),this._getDateRangeBox()._popupContentIdentifier(this._getControlsAria()),this._setPopupOption(\"visible\",e),this._getDateRangeBox()._setAriaAttributes())},u._getDateRangeBox=function(){return this._strategy.dateRangeBox},u._isStartDateBox=function(){return this.$element().hasClass(\"dx-start-datebox\")},u._renderPopup=function(){(e.prototype._renderPopup.call(this),this._isStartDateBox())&&this._strategy.dateRangeBox._bindInnerWidgetOptions(this._popup,\"dropDownOptions\")},u._popupShownHandler=function(){var t;e.prototype._popupShownHandler.call(this),null===(t=this._strategy.dateRangeBox._validationMessage)||void 0===t||t.option(\"positionSide\",this._getValidationMessagePositionSide())},u._popupHiddenHandler=function(){var t;e.prototype._popupHiddenHandler.call(this),null===(t=this._strategy.dateRangeBox._validationMessage)||void 0===t||t.option(\"positionSide\",this._getValidationMessagePositionSide())},u._focusInHandler=function(t){e.prototype._focusInHandler.call(this,t),this._processValueChange(t)},u._popupElementTabHandler=function(e){var t=(0,i.default)(e.currentTarget);e.shiftKey&&t.is(this._getFirstPopupElement())&&(this._strategy.dateRangeBox.getEndDateBox().focus(),e.preventDefault()),!e.shiftKey&&t.is(this._getLastPopupElement())&&(this._strategy.dateRangeBox.getStartDateBox().focus(),e.preventDefault())},u._processValueChange=function(e){var t=e.target,n=d(this._strategy.dateRangeBox.field(),2),o=n[0],a=n[1];if((0,i.default)(t).is(o)&&this._strategy.dateRangeBox.option(\"_currentSelection\",\"startDate\"),(0,i.default)(t).is(a)&&this._strategy.dateRangeBox.option(\"_currentSelection\",\"endDate\"),this._strategy.dateRangeBox.getStartDateBox()._strategy._widget){var r=this._strategy.dateRangeBox.getStartDateBox()._strategy._widget,s=r.option(\"values\"),u=(0,l.getDeserializedDate)(s[0]),c=(0,l.getDeserializedDate)(s[1]);(0,i.default)(t).is(o)&&(u&&(r._skipNavigate=!0,r.option(\"currentDate\",u)),this._strategy.setActiveStartDateBox(),r.option(\"_currentSelection\",\"startDate\"),this._strategy.dateRangeBox.option(\"disableOutOfRangeSelection\")&&r._setViewsMaxOption(c)),(0,i.default)(t).is(a)&&(c&&(u&&(0,l.monthDifference)(u,c)>1&&(r.option(\"currentDate\",r._getDateByOffset(null,c)),r.option(\"currentDate\",r._getDateByOffset(-1,c))),r._skipNavigate=!0,r.option(\"currentDate\",c)),this._strategy.dateRangeBox.getStartDateBox()._strategy.setActiveEndDateBox(),r.option(\"_currentSelection\",\"endDate\"),this._strategy.dateRangeBox.option(\"disableOutOfRangeSelection\")&&r._setViewsMinOption(u))}},u._invalidate=function(){e.prototype._invalidate.call(this),this._refreshStrategy()},u._updateInternalValidationState=function(e,t){this.option({isValid:e,validationError:e?null:{message:t}})},u._recallInternalValidation=function(e){this._applyInternalValidation(e)},u._isTargetOutOfComponent=function(t){var n=this._strategy.dateRangeBox.$element(),o=0===(0,i.default)(t).closest(n).length;return e.prototype._isTargetOutOfComponent.call(this,t)&&o},u._optionChanged=function(t){switch(t.name){case\"isValid\":var n=this._strategy.dateRangeBox.option(\"isValid\");if(this._skipIsValidOptionChange||n===t.value)return void e.prototype._optionChanged.call(this,t);this._skipIsValidOptionChange=!0,this.option({isValid:n}),this._skipIsValidOptionChange=!1;break;default:e.prototype._optionChanged.call(this,t)}},u.close=function(){this._strategy.getDateRangeBox().getStartDateBox().option(\"opened\",!1)},o}(o.default);t.default=f,e.exports=t.default,e.exports.default=t.default},28414:function(e,t,n){t.default=void 0;var i=n(52431),o=v(n(99393)),a=v(n(73349)),r=v(n(68374)),s=n(20576),l=n(62754),u=n(13306),d=n(95479),c=n(35922),h=n(58201),f=v(n(55994)),p=n(80506),g=v(n(2492)),m=v(n(14390)),_=n(37518);function v(e){return e&&e.__esModule?e:{default:e}}var y=(0,h.getWindow)(),b=[\"onRendered\",\"onShown\"],x=m.default.inherit({_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{showLoadIndicator:!1,renderWhen:void 0,animation:void 0,staggerItemSelector:void 0,onRendered:null,onShown:null})},_getAnonymousTemplateName:function(){return\"content\"},_init:function(){this.transitionExecutor=new i.TransitionExecutor,this._initElement(),this._initRender(),this._$initialContent=this.$element().clone().contents(),this._initActions(),this.callBase()},_initElement:function(){this.$element().addClass(\"dx-deferrendering\")},_initRender:function(){var e=this,t=this.$element(),n=this.option(\"renderWhen\"),i=function(){return e._renderDeferredContent()};(0,c.isPromise)(n)?(0,l.fromPromise)(n).done(i):(t.data(\"dx-render-delegate\",i),void 0===n&&t.addClass(\"dx-pending-rendering-manual\"))},_initActions:function(){var e=this;this._actions={},(0,d.each)(b,(function(t,n){e._actions[n]=e._createActionByOption(n)||s.noop}))},_initMarkup:function(){this.callBase(),this._initContent||(this._initContent=this._renderContent,this._renderContent=function(){}),this._initContent()},_renderContentImpl:function(){this.$element().removeClass(\"dx-widget\"),this.$element().append(this._$initialContent),this._setLoadingState()},_renderDeferredContent:function(){var e=this,t=this.$element(),n=new l.Deferred;return t.removeClass(\"dx-pending-rendering-manual\"),t.addClass(\"dx-pending-rendering-active\"),this._abortRenderTask(),this._renderTask=(0,s.executeAsync)((function(){e._renderImpl().done((function(){var i={element:t};e._actions.onShown([i]),n.resolve(i)})).fail((function(){n.rejectWith(n,arguments)}))})),n.promise()},_isElementInViewport:function(e){var t=(0,_.getBoundingRect)(e);return t.bottom>=0&&t.right>=0&&t.top<=(y.innerHeight||a.default.getDocumentElement().clientHeight)&&t.left<=(y.innerWidth||a.default.getDocumentElement().clientWidth)},_animate:function(){var e,t=this,n=this.$element(),i=(0,h.hasWindow)()&&this.option(\"animation\"),o=this.option(\"staggerItemSelector\");return t.transitionExecutor.stop(),i?(o?n.find(o).each((function(){t._isElementInViewport(this)&&t.transitionExecutor.enter((0,r.default)(this),i)})):t.transitionExecutor.enter(n,i),e=t.transitionExecutor.start()):e=(new l.Deferred).resolve().promise(),e},_renderImpl:function(){var e=this.$element(),t={element:e},n=this._getTemplate(this._templateManager.anonymousTemplateName);return n&&n.render({container:e.empty(),noModel:!0}),this._setRenderedState(e),f.default.trigger(e,\"dxcontentrendered\"),this._actions.onRendered([t]),this._isRendered=!0,this._animate()},_setLoadingState:function(){var e=this.$element(),t=!!e.find(\".dx-visible-while-pending-rendering\").length;e.addClass(\"dx-pending-rendering\"),t||e.children().addClass(\"dx-invisible-while-pending-rendering\"),this.option(\"showLoadIndicator\")&&this._showLoadIndicator(e)},_showLoadIndicator:function(e){this._$loadIndicator=new g.default((0,r.default)(\"<div>\"),{visible:!0}).$element().addClass(\"dx-deferrendering-load-indicator\"),(0,r.default)(\"<div>\").addClass(\"dx-loadindicator-container\").addClass(\"dx-deferrendering-loadindicator-container\").append(this._$loadIndicator).appendTo(e)},_setRenderedState:function(){var e=this.$element();this._$loadIndicator&&this._$loadIndicator.remove(),e.removeClass(\"dx-pending-rendering\"),e.removeClass(\"dx-pending-rendering-active\"),(0,p.triggerShownEvent)(e.children())},_optionChanged:function(e){var t=e.value,n=e.previousValue;switch(e.name){case\"renderWhen\":!1===n&&!0===t?this._renderOrAnimate():!0===n&&!1===t&&(this.transitionExecutor.stop(),this._setLoadingState());break;case\"showLoadIndicator\":case\"onRendered\":case\"onShown\":break;default:this.callBase(e)}},_renderOrAnimate:function(){var e;return this._isRendered?(this._setRenderedState(),e=this._animate()):e=this._renderDeferredContent(),e},renderContent:function(){return this._renderOrAnimate()},_abortRenderTask:function(){this._renderTask&&(this._renderTask.abort(),this._renderTask=void 0)},_dispose:function(){this.transitionExecutor.stop(!0),this._abortRenderTask(),this._actions=void 0,this._$initialContent=void 0,this.callBase()}});(0,o.default)(\"dxDeferRendering\",x);var w=x;t.default=w,e.exports=t.default,e.exports.default=t.default},52311:function(e,t,n){var i;t.default=void 0;var o=((i=n(83537))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},50984:function(e,t,n){t.default=void 0;var i=n(348),o=function(){function e(e){var t=(0,i.getDiagram)().EventDispatcher;this.onChanged=new t,this._owner=e}var t=e.prototype;return t.raiseBarCommandExecuted=function(e,t){this.onChanged.raise(\"notifyBarCommandExecuted\",parseInt(e),t)},t.getCommandKeys=function(){throw\"Not Implemented\"},t.setItemValue=function(e,t){},t.setItemEnabled=function(e,t){},t.setItemVisible=function(e,t){},t.setEnabled=function(e){},t.setItemSubItems=function(e,t){},t.isVisible=function(){return!0},t._getKeys=function(e){var t=this;return e.reduce((function(e,n){return void 0!==n.command&&e.push(n.command),n.items&&(e=e.concat(t._getKeys(n.items))),e}),[])},e}();t.default=o,e.exports=t.default,e.exports.default=t.default},72321:function(e,t,n){t.default=void 0;var i,o=n(348),a=n(48351),r=n(35922),s=n(58201),l=n(13306),u=(i=n(28109))&&i.__esModule?i:{default:i};var d={widget:\"separator\"},c=\"dx-diagram-sm-edit-item\",h=\"dx-diagram-md-edit-item\",f=\"dx-diagram-lg-edit-item\",p=\"dx-diagram-image-dropdown-item\",g=\"dx-diagram-color-edit-item\",m=\"dx-diagram-lg-icon-item\",_={SHOW_TOOLBOX_COMMAND_NAME:\"toolbox\",SHOW_PROPERTIES_PANEL_COMMAND_NAME:\"propertiesPanel\",getAllCommands:function(){var e=this,t=(0,o.getDiagram)().DiagramCommand;return this._allCommands||(this._allCommands={separator:d,exportSvg:{command:t.ExportSvg,text:u.default.format(\"dxDiagram-commandExportToSvg\"),getParameter:function(t){return function(n){return e._exportTo(t,n,\"SVG\",\"image/svg+xml\")}}},exportPng:{command:t.ExportPng,text:u.default.format(\"dxDiagram-commandExportToPng\"),getParameter:function(t){return function(n){return e._exportTo(t,n,\"PNG\",\"image/png\")}}},exportJpg:{command:t.ExportJpg,text:u.default.format(\"dxDiagram-commandExportToJpg\"),getParameter:function(t){return function(n){return e._exportTo(t,n,\"JPEG\",\"image/jpeg\")}}},undo:{command:t.Undo,hint:u.default.format(\"dxDiagram-commandUndo\"),text:u.default.format(\"dxDiagram-commandUndo\"),icon:\"undo\",menuIcon:\"undo\"},redo:{command:t.Redo,hint:u.default.format(\"dxDiagram-commandRedo\"),text:u.default.format(\"dxDiagram-commandRedo\"),icon:\"redo\",menuIcon:\"redo\"},cut:{command:t.Cut,hint:u.default.format(\"dxDiagram-commandCut\"),text:u.default.format(\"dxDiagram-commandCut\"),icon:\"cut\",menuIcon:\"cut\"},copy:{command:t.Copy,hint:u.default.format(\"dxDiagram-commandCopy\"),text:u.default.format(\"dxDiagram-commandCopy\"),icon:\"copy\",menuIcon:\"copy\"},paste:{command:t.PasteInPosition,hint:u.default.format(\"dxDiagram-commandPaste\"),text:u.default.format(\"dxDiagram-commandPaste\"),icon:\"paste\",menuIcon:\"paste\"},selectAll:{command:t.SelectAll,hint:u.default.format(\"dxDiagram-commandSelectAll\"),text:u.default.format(\"dxDiagram-commandSelectAll\"),icon:\"dx-diagram-i-button-select-all dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-select-all dx-diagram-i\"},delete:{command:t.Delete,hint:u.default.format(\"dxDiagram-commandDelete\"),text:u.default.format(\"dxDiagram-commandDelete\"),icon:\"remove\",menuIcon:\"remove\"},fontName:{command:t.FontName,hint:u.default.format(\"dxDiagram-commandFontName\"),text:u.default.format(\"dxDiagram-commandFontName\"),widget:\"dxSelectBox\",items:[\"Arial\",\"Arial Black\",\"Helvetica\",\"Times New Roman\",\"Courier New\",\"Courier\",\"Verdana\",\"Georgia\",\"Comic Sans MS\",\"Trebuchet MS\"].map((function(e){return{text:e,value:e}})),cssClass:h},fontSize:{command:t.FontSize,hint:u.default.format(\"dxDiagram-commandFontSize\"),text:u.default.format(\"dxDiagram-commandFontSize\"),widget:\"dxSelectBox\",items:[8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72].map((function(e){return{text:e+\"pt\",value:e+\"pt\"}})),cssClass:c},bold:{command:t.Bold,hint:u.default.format(\"dxDiagram-commandBold\"),text:u.default.format(\"dxDiagram-commandBold\"),icon:\"bold\",menuIcon:\"bold\"},italic:{command:t.Italic,hint:u.default.format(\"dxDiagram-commandItalic\"),text:u.default.format(\"dxDiagram-commandItalic\"),icon:\"italic\",menuIcon:\"italic\"},underline:{command:t.Underline,hint:u.default.format(\"dxDiagram-commandUnderline\"),text:u.default.format(\"dxDiagram-commandUnderline\"),icon:\"underline\",menuIcon:\"underline\"},fontColor:{command:t.FontColor,text:u.default.format(\"dxDiagram-commandTextColor\"),hint:u.default.format(\"dxDiagram-commandTextColor\"),widget:\"dxColorBox\",icon:\"dx-icon dx-icon-color\",menuIcon:\"dx-icon dx-icon-color\",cssClass:g},lineColor:{command:t.StrokeColor,text:u.default.format(\"dxDiagram-commandLineColor\"),hint:u.default.format(\"dxDiagram-commandLineColor\"),widget:\"dxColorBox\",icon:\"dx-icon dx-icon-background\",menuIcon:\"dx-icon dx-icon-background\",cssClass:g},lineWidth:{command:t.StrokeWidth,text:u.default.format(\"dxDiagram-commandLineWidth\"),hint:u.default.format(\"dxDiagram-commandLineWidth\"),widget:\"dxSelectBox\",items:[1,2,3,4,5,6,7,8].map((function(e){return{text:e+\"px\",value:e.toString()}})),cssClass:c},lineStyle:{command:t.StrokeStyle,text:u.default.format(\"dxDiagram-commandLineStyle\"),hint:u.default.format(\"dxDiagram-commandLineStyle\"),widget:\"dxSelectBox\",items:[{value:\"\",menuIcon:\"dx-diagram-i-line-solid dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandLineStyleSolid\")},{value:\"2,2\",menuIcon:\"dx-diagram-i-line-dotted dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandLineStyleDotted\")},{value:\"6,2\",menuIcon:\"dx-diagram-i-line-dashed dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandLineStyleDashed\")}],cssClass:p},fillColor:{command:t.FillColor,text:u.default.format(\"dxDiagram-commandFillColor\"),hint:u.default.format(\"dxDiagram-commandFillColor\"),widget:\"dxColorBox\",icon:\"dx-diagram-i dx-diagram-i-button-fill\",menuIcon:\"dx-diagram-i dx-diagram-i-menu-fill\",cssClass:g},textAlignLeft:{command:t.TextLeftAlign,hint:u.default.format(\"dxDiagram-commandAlignLeft\"),text:u.default.format(\"dxDiagram-commandAlignLeft\"),icon:\"alignleft\",menuIcon:\"alignleft\"},textAlignCenter:{command:t.TextCenterAlign,hint:u.default.format(\"dxDiagram-commandAlignCenter\"),text:u.default.format(\"dxDiagram-commandAlignCenter\"),icon:\"aligncenter\",menuIcon:\"aligncenter\"},textAlignRight:{command:t.TextRightAlign,hint:u.default.format(\"dxDiagram-commandAlignRight\"),text:u.default.format(\"dxDiagram-commandAlignRight\"),icon:\"alignright\",menuIcon:\"alignright\"},lock:{command:t.Lock,hint:u.default.format(\"dxDiagram-commandLock\"),text:u.default.format(\"dxDiagram-commandLock\"),icon:\"dx-diagram-i-button-lock dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-lock dx-diagram-i\"},unlock:{command:t.Unlock,hint:u.default.format(\"dxDiagram-commandUnlock\"),text:u.default.format(\"dxDiagram-commandUnlock\"),icon:\"dx-diagram-i-button-unlock dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-unlock dx-diagram-i\"},bringToFront:{command:t.BringToFront,hint:u.default.format(\"dxDiagram-commandBringToFront\"),text:u.default.format(\"dxDiagram-commandBringToFront\"),icon:\"dx-diagram-i-button-bring-to-front dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-bring-to-front dx-diagram-i\"},sendToBack:{command:t.SendToBack,hint:u.default.format(\"dxDiagram-commandSendToBack\"),text:u.default.format(\"dxDiagram-commandSendToBack\"),icon:\"dx-diagram-i-button-send-to-back dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-send-to-back dx-diagram-i\"},insertShapeImage:{command:t.InsertShapeImage,text:u.default.format(\"dxDiagram-commandInsertShapeImage\"),icon:\"dx-diagram-i-button-image-insert dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-image-insert dx-diagram-i\"},editShapeImage:{command:t.EditShapeImage,text:u.default.format(\"dxDiagram-commandEditShapeImage\"),icon:\"dx-diagram-i-button-image-edit dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-image-edit dx-diagram-i\"},deleteShapeImage:{command:t.DeleteShapeImage,text:u.default.format(\"dxDiagram-commandDeleteShapeImage\"),icon:\"dx-diagram-i-button-image-delete dx-diagram-i\",menuIcon:\"dx-diagram-i-menu-image-delete dx-diagram-i\"},connectorLineType:{command:t.ConnectorLineOption,widget:\"dxSelectBox\",hint:u.default.format(\"dxDiagram-commandConnectorLineType\"),text:u.default.format(\"dxDiagram-commandConnectorLineType\"),items:[{value:0,menuIcon:\"dx-diagram-i-connector-straight dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineStraight\"),text:u.default.format(\"dxDiagram-commandConnectorLineStraight\")},{value:1,menuIcon:\"dx-diagram-i-connector-orthogonal dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineOrthogonal\"),text:u.default.format(\"dxDiagram-commandConnectorLineOrthogonal\")}],cssClass:p},connectorLineStart:{command:t.ConnectorStartLineEnding,widget:\"dxSelectBox\",items:[{value:0,menuIcon:\"dx-diagram-i-connector-begin-none dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineNone\"),text:u.default.format(\"dxDiagram-commandConnectorLineNone\")},{value:1,menuIcon:\"dx-diagram-i-connector-begin-arrow dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")},{value:2,menuIcon:\"dx-diagram-i-connector-begin-outlined-triangle dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")},{value:3,menuIcon:\"dx-diagram-i-connector-begin-filled-triangle dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")}],hint:u.default.format(\"dxDiagram-commandConnectorLineStart\"),text:u.default.format(\"dxDiagram-commandConnectorLineStart\"),cssClass:p},connectorLineEnd:{command:t.ConnectorEndLineEnding,widget:\"dxSelectBox\",items:[{value:0,menuIcon:\"dx-diagram-i-connector-end-none dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineNone\"),text:u.default.format(\"dxDiagram-commandConnectorLineNone\")},{value:1,menuIcon:\"dx-diagram-i-connector-end-arrow dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")},{value:2,menuIcon:\"dx-diagram-i-connector-end-outlined-triangle dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")},{value:3,menuIcon:\"dx-diagram-i-connector-end-filled-triangle dx-diagram-i\",hint:u.default.format(\"dxDiagram-commandConnectorLineArrow\"),text:u.default.format(\"dxDiagram-commandConnectorLineArrow\")}],hint:u.default.format(\"dxDiagram-commandConnectorLineEnd\"),text:u.default.format(\"dxDiagram-commandConnectorLineEnd\"),cssClass:p},layoutTreeTopToBottom:{command:t.AutoLayoutTreeVertical,text:u.default.format(\"dxDiagram-commandLayoutTopToBottom\"),hint:u.default.format(\"dxDiagram-commandLayoutTopToBottom\"),icon:\"dx-diagram-i-button-layout-tree-tb dx-diagram-i\",cssClass:m},layoutTreeBottomToTop:{command:t.AutoLayoutTreeVerticalBottomToTop,text:u.default.format(\"dxDiagram-commandLayoutBottomToTop\"),hint:u.default.format(\"dxDiagram-commandLayoutBottomToTop\"),icon:\"dx-diagram-i-button-layout-tree-bt dx-diagram-i\",cssClass:m},layoutTreeLeftToRight:{command:t.AutoLayoutTreeHorizontal,text:u.default.format(\"dxDiagram-commandLayoutLeftToRight\"),hint:u.default.format(\"dxDiagram-commandLayoutLeftToRight\"),icon:\"dx-diagram-i-button-layout-tree-lr dx-diagram-i\",cssClass:m},layoutTreeRightToLeft:{command:t.AutoLayoutTreeHorizontalRightToLeft,text:u.default.format(\"dxDiagram-commandLayoutRightToLeft\"),hint:u.default.format(\"dxDiagram-commandLayoutRightToLeft\"),icon:\"dx-diagram-i-button-layout-tree-rl dx-diagram-i\",cssClass:m},layoutLayeredTopToBottom:{command:t.AutoLayoutLayeredVertical,text:u.default.format(\"dxDiagram-commandLayoutTopToBottom\"),hint:u.default.format(\"dxDiagram-commandLayoutTopToBottom\"),icon:\"dx-diagram-i-button-layout-layered-tb dx-diagram-i\",cssClass:m},layoutLayeredBottomToTop:{command:t.AutoLayoutLayeredVerticalBottomToTop,text:u.default.format(\"dxDiagram-commandLayoutBottomToTop\"),hint:u.default.format(\"dxDiagram-commandLayoutBottomToTop\"),icon:\"dx-diagram-i-button-layout-layered-bt dx-diagram-i\",cssClass:m},layoutLayeredLeftToRight:{command:t.AutoLayoutLayeredHorizontal,text:u.default.format(\"dxDiagram-commandLayoutLeftToRight\"),hint:u.default.format(\"dxDiagram-commandLayoutLeftToRight\"),icon:\"dx-diagram-i-button-layout-layered-lr dx-diagram-i\",cssClass:m},layoutLayeredRightToLeft:{command:t.AutoLayoutLayeredHorizontalRightToLeft,text:u.default.format(\"dxDiagram-commandLayoutRightToLeft\"),hint:u.default.format(\"dxDiagram-commandLayoutRightToLeft\"),icon:\"dx-diagram-i-button-layout-layered-rl dx-diagram-i\",cssClass:m},fullScreen:{command:t.Fullscreen,hint:u.default.format(\"dxDiagram-commandFullscreen\"),text:u.default.format(\"dxDiagram-commandFullscreen\"),icon:\"dx-diagram-i dx-diagram-i-button-fullscreen\",menuIcon:\"dx-diagram-i dx-diagram-i-menu-fullscreen\",cssClass:g},units:{command:t.ViewUnits,hint:u.default.format(\"dxDiagram-commandUnits\"),text:u.default.format(\"dxDiagram-commandUnits\"),widget:\"dxSelectBox\"},simpleView:{command:t.ToggleSimpleView,hint:u.default.format(\"dxDiagram-commandSimpleView\"),text:u.default.format(\"dxDiagram-commandSimpleView\"),widget:\"dxCheckBox\"},showGrid:{command:t.ShowGrid,hint:u.default.format(\"dxDiagram-commandShowGrid\"),text:u.default.format(\"dxDiagram-commandShowGrid\"),widget:\"dxCheckBox\"},snapToGrid:{command:t.SnapToGrid,hint:u.default.format(\"dxDiagram-commandSnapToGrid\"),text:u.default.format(\"dxDiagram-commandSnapToGrid\"),widget:\"dxCheckBox\"},gridSize:{command:t.GridSize,hint:u.default.format(\"dxDiagram-commandGridSize\"),text:u.default.format(\"dxDiagram-commandGridSize\"),widget:\"dxSelectBox\"},pageSize:{command:t.PageSize,hint:u.default.format(\"dxDiagram-commandPageSize\"),text:u.default.format(\"dxDiagram-commandPageSize\"),widget:\"dxSelectBox\",cssClass:f,getCommandValue:function(e){return JSON.parse(e)},getEditorValue:function(e){return JSON.stringify(e)}},pageOrientation:{command:t.PageLandscape,hint:u.default.format(\"dxDiagram-commandPageOrientation\"),text:u.default.format(\"dxDiagram-commandPageOrientation\"),widget:\"dxSelectBox\",items:[{value:!0,text:u.default.format(\"dxDiagram-commandPageOrientationLandscape\")},{value:!1,text:u.default.format(\"dxDiagram-commandPageOrientationPortrait\")}],cssClass:h},pageColor:{command:t.PageColor,hint:u.default.format(\"dxDiagram-commandPageColor\"),text:u.default.format(\"dxDiagram-commandPageColor\"),widget:\"dxColorBox\",icon:\"dx-diagram-i dx-diagram-i-button-fill\",menuIcon:\"dx-diagram-i dx-diagram-i-menu-fill\",cssClass:g},zoomLevel:{command:t.ZoomLevel,hint:u.default.format(\"dxDiagram-commandZoomLevel\"),text:u.default.format(\"dxDiagram-commandZoomLevel\"),widget:\"dxTextBox\",items:[d,{command:t.FitToScreen,hint:u.default.format(\"dxDiagram-commandFitToContent\"),text:u.default.format(\"dxDiagram-commandFitToContent\")},{command:t.FitToWidth,hint:u.default.format(\"dxDiagram-commandFitToWidth\"),text:u.default.format(\"dxDiagram-commandFitToWidth\")},d,{command:t.AutoZoomToContent,hint:u.default.format(\"dxDiagram-commandAutoZoomByContent\"),text:u.default.format(\"dxDiagram-commandAutoZoomByContent\")},{command:t.AutoZoomToWidth,hint:u.default.format(\"dxDiagram-commandAutoZoomByWidth\"),text:u.default.format(\"dxDiagram-commandAutoZoomByWidth\")}],getEditorDisplayValue:function(e){return Math.round(100*e)+\"%\"},cssClass:c},toolbox:{command:this.SHOW_TOOLBOX_COMMAND_NAME,iconChecked:\"dx-diagram-i dx-diagram-i-button-toolbox-close\",iconUnchecked:\"dx-diagram-i dx-diagram-i-button-toolbox-open\",hint:u.default.format(\"dxDiagram-uiShowToolbox\"),text:u.default.format(\"dxDiagram-uiShowToolbox\")},propertiesPanel:{command:this.SHOW_PROPERTIES_PANEL_COMMAND_NAME,iconChecked:\"close\",iconUnchecked:\"dx-diagram-i dx-diagram-i-button-properties-panel-open\",hint:u.default.format(\"dxDiagram-uiProperties\"),text:u.default.format(\"dxDiagram-uiProperties\")}})},getMainToolbarCommands:function(e,t){var n=this.getAllCommands(),i=e?this._getPreparedCommands(n,e):this._getDefaultMainToolbarCommands(n);return this._prepareToolbarCommands(i,t)},_getDefaultMainToolbarCommands:function(e){return this._defaultMainToolbarCommands||(this._defaultMainToolbarCommands=[e.undo,e.redo,e.separator,e.fontName,e.fontSize,e.bold,e.italic,e.underline,e.separator,e.lineWidth,e.lineStyle,e.separator,e.fontColor,e.lineColor,e.fillColor,e.separator,e.textAlignLeft,e.textAlignCenter,e.textAlignRight,e.separator,e.connectorLineType,e.connectorLineStart,e.connectorLineEnd,e.separator,{text:u.default.format(\"dxDiagram-uiLayout\"),showText:\"always\",items:[{text:u.default.format(\"dxDiagram-uiLayoutTree\"),items:[e.layoutTreeTopToBottom,e.layoutTreeBottomToTop,e.layoutTreeLeftToRight,e.layoutTreeRightToLeft]},{text:u.default.format(\"dxDiagram-uiLayoutLayered\"),items:[e.layoutLayeredTopToBottom,e.layoutLayeredBottomToTop,e.layoutLayeredLeftToRight,e.layoutLayeredRightToLeft]}]}])},getHistoryToolbarCommands:function(e,t){var n=this.getAllCommands(),i=e?this._getPreparedCommands(n,e):this._getDefaultHistoryToolbarCommands(n);return this._prepareToolbarCommands(i,t)},_getDefaultHistoryToolbarCommands:function(e){return this._defaultHistoryToolbarCommands||(this._defaultHistoryToolbarCommands=[e.undo,e.redo,e.separator,e.toolbox])},getViewToolbarCommands:function(e,t){var n=this.getAllCommands(),i=e?this._getPreparedCommands(n,e):this._getDefaultViewToolbarCommands(n);return this._prepareToolbarCommands(i,t)},_getDefaultViewToolbarCommands:function(e){return this._defaultViewToolbarCommands||(this._defaultViewToolbarCommands=[e.zoomLevel,e.separator,e.fullScreen,e.separator,{widget:\"dxButton\",icon:\"export\",text:u.default.format(\"dxDiagram-uiExport\"),hint:u.default.format(\"dxDiagram-uiExport\"),items:[e.exportSvg,e.exportPng,e.exportJpg]},{icon:\"preferences\",hint:u.default.format(\"dxDiagram-uiSettings\"),text:u.default.format(\"dxDiagram-uiSettings\"),items:[e.units,e.separator,e.showGrid,e.snapToGrid,e.gridSize,e.separator,e.simpleView,e.toolbox]}])},getPropertiesToolbarCommands:function(e,t){var n=this.getAllCommands(),i=e?this._getPreparedCommands(n,e):this._getDefaultPropertiesToolbarCommands(n);return this._prepareToolbarCommands(i,t)},_getDefaultPropertiesToolbarCommands:function(e){return this._defaultPropertiesToolbarCommands||(this._defaultPropertiesToolbarCommands=[e.propertiesPanel])},_getDefaultPropertyPanelCommandGroups:function(){return this._defaultPropertyPanelCommandGroups||(this._defaultPropertyPanelCommandGroups=[{title:u.default.format(\"dxDiagram-uiStyle\"),groups:[{title:u.default.format(\"dxDiagram-uiText\"),commands:[\"fontName\",\"fontSize\",\"bold\",\"italic\",\"underline\",\"textAlignLeft\",\"textAlignCenter\",\"textAlignRight\",\"fontColor\"]},{title:u.default.format(\"dxDiagram-uiObject\"),commands:[\"lineStyle\",\"lineWidth\",\"lineColor\",\"fillColor\"]},{title:u.default.format(\"dxDiagram-uiConnector\"),commands:[\"connectorLineType\",\"connectorLineStart\",\"connectorLineEnd\"]}]},{title:u.default.format(\"dxDiagram-uiLayout\"),groups:[{title:u.default.format(\"dxDiagram-uiLayoutLayered\"),commands:[\"layoutLayeredTopToBottom\",\"layoutLayeredBottomToTop\",\"layoutLayeredLeftToRight\",\"layoutLayeredRightToLeft\"]},{title:u.default.format(\"dxDiagram-uiLayoutTree\"),commands:[\"layoutTreeTopToBottom\",\"layoutTreeBottomToTop\",\"layoutTreeLeftToRight\",\"layoutTreeRightToLeft\"]}]},{title:u.default.format(\"dxDiagram-uiDiagram\"),groups:[{title:u.default.format(\"dxDiagram-uiPage\"),commands:[\"pageSize\",\"pageOrientation\",\"pageColor\"]}]}])},_preparePropertyPanelGroups:function(e){var t=this,n=this.getAllCommands(),i=[];return e.forEach((function(e){var o,a=e.commands;a&&(a=t._getPreparedCommands(n,a),a=t._prepareToolbarCommands(a)),e.groups&&(o=[],e.groups.forEach((function(e){var i=e.commands;i&&(i=t._getPreparedCommands(n,i),i=t._prepareToolbarCommands(i)),o.push({title:e.title,commands:i})}))),i.push({title:e.title,commands:a,groups:o})})),i},getPropertyPanelCommandTabs:function(e){return e=e||this._getDefaultPropertyPanelCommandGroups(),this._preparePropertyPanelGroups(e)},getContextMenuCommands:function(e){var t=this.getAllCommands(),n=e?this._getPreparedCommands(t,e):this._getDefaultContextMenuCommands(t);return this._prepareContextMenuCommands(n)},_getDefaultContextMenuCommands:function(e){return this._defaultContextMenuCommands||(this._defaultContextMenuCommands=[e.cut,e.copy,e.paste,e.delete,e.separator,e.selectAll,e.separator,e.bringToFront,e.sendToBack,e.separator,e.lock,e.unlock,e.separator,e.insertShapeImage,e.editShapeImage,e.deleteShapeImage])},_getPreparedCommands:function(e,t){var n=this;return t.map((function(t){if(t.widget&&\"separator\"===t.widget)return{command:t,location:t.location};if(e[t])return e[t];if(t.text||t.icon||t.name){var i=t.name&&e[t.name],o={command:i&&i.command,name:t.name,location:t.location,text:t.text||i&&i.text,hint:t.text||i&&i.hint,icon:t.icon||i&&i.icon,menuIcon:t.icon||i&&i.menuIcon,widget:i&&i.widget,cssClass:i&&i.cssClass,getParameter:i&&i.getParameter,getCommandValue:i&&i.getCommandValue,getEditorValue:i&&i.getEditorValue,getEditorDisplayValue:i&&i.getEditorDisplayValue,iconChecked:i&&i.iconChecked,iconUnchecked:i&&i.iconUnchecked};return Array.isArray(t.items)?o.items=n._getPreparedCommands(e,t.items):o.items=i&&i.items,o}})).filter((function(e){return e}))},_prepareContextMenuCommands:function(e,t,n){var i=this,o=!1;return e.map((function(e){if(i._isValidCommand(e,t)){if(!e.widget||\"separator\"!==e.widget){var a=i._cloneCommand(e,t);return a.icon=a.menuIcon,a.beginGroup=o,a.rootCommand=a.command?void 0:n&&n.command,o=!1,a}o=!0}})).filter((function(e){return e}))},_prepareToolbarCommands:function(e,t){var n=this;return e.map((function(e){if(n._isValidCommand(e,t))return n._cloneCommand(e,t)})).filter((function(e){return e})).filter((function(e,t,n){return(\"separator\"!==e.widget||t!==n.length-1)&&e}))},_cloneCommand:function(e,t){var n=(0,l.extend)({},e);return Array.isArray(e.items)&&(n.items=this._prepareContextMenuCommands(e.items,t,n)),n},_isValidCommand:function(e,t){return-1===(t=t||[]).indexOf(e.command)},_exportTo:function(e,t,n,i){var o=(0,s.getWindow)();if(o&&o.atob&&(0,r.isFunction)(o.Blob)){var l=this._getBlobByDataURI(o,t,i),u=e.option(\"export\");a.fileSaver.saveAs(u.fileName||\"foo\",n,l)}},_getBlobByDataURI:function(e,t,n){for(var i=e.atob(t.split(\",\")[1]),o=new Uint8Array(i.length),a=0;a<i.length;a++)o[a]=i.charCodeAt(a);return new e.Blob([o.buffer],{type:n})}};t.default=_,e.exports=t.default,e.exports.default=t.default},73510:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.default=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n),i.prototype._getKeyExpr=function(){return this._diagramWidget._createOptionGetter(\"edges.keyExpr\")},i}(((i=n(4015))&&i.__esModule?i:{default:i}).default);t.default=a,e.exports=t.default,e.exports.default=t.default},348:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.getDiagram=function(){if(!r.default)throw a.default.Error(\"E1041\",\"devexpress-diagram\");return r};var o,a=(o=n(96688))&&o.__esModule?o:{default:o},r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var l=a?Object.getOwnPropertyDescriptor(e,r):null;l&&(l.get||l.set)?Object.defineProperty(o,r,l):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(63472));function s(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}},4015:function(e,t,n){t.default=void 0;var i,o=n(13306),a=n(44297),r=(i=n(53305))&&i.__esModule?i:{default:i};function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this)._diagramWidget=t,n._resetCache(),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var a=i.prototype;return a._dataSourceChangedHandler=function(e,t){if(this._resetCache(),this._items=e.map((function(e){return(0,o.extend)(!0,{},e)})),this._dataSourceItems=e.slice(),t&&t.changes){var n=t.changes.filter((function(e){return e.internalChange})),i=t.changes.filter((function(e){return!e.internalChange}));n.length&&this._reloadContentByChanges(n,!1),i.length&&this._reloadContentByChanges(i,!0)}else this._diagramWidget._onDataSourceChanged()},a._dataSourceLoadingChangedHandler=function(e){e&&!this._dataSource.isLoaded()?this._diagramWidget._showLoadingIndicator():this._diagramWidget._hideLoadingIndicator()},a._prepareData=function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&void 0===e[t]&&(e[t]=null);return e},a.insert=function(e,t,n){var i=this;this._resetCache();var o=this._getStore();o.insert(this._prepareData(e)).done((function(e,n){o.push([{type:\"insert\",key:n,data:e,internalChange:!0}]),t&&t(e),i._resetCache()})).fail((function(e){n&&n(e),i._resetCache()}))},a.update=function(e,t,n,i){var o=this._getStore(),a=this._getStoreKey(o,e,t);o.update(a,this._prepareData(t)).done((function(e,t){o.push([{type:\"update\",key:t,data:e,internalChange:!0}]),n&&n(t,e)})).fail((function(e){i&&i(e)}))},a.remove=function(e,t,n,i){var o=this;this._resetCache();var a=this._getStore(),r=this._getStoreKey(a,e,t);a.remove(r).done((function(e){a.push([{type:\"remove\",key:e,internalChange:!0}]),n&&n(e),o._resetCache()})).fail((function(e){i&&i(e),o._resetCache()}))},a.findItem=function(e){return this._items?this._getItemByKey(e):null},a.getItems=function(){return this._items},a.hasItems=function(){return!!this._items},a._reloadContentByChanges=function(e,t){var n=this;e=e.map((function(e){return(0,o.extend)(e,{internalKey:n._getInternalKey(e.key)})})),this._diagramWidget._reloadContentByChanges(e,t)},a._getItemByKey=function(e){this._ensureCache();var t=this._cache,n=this._getIndexByKey(e);return t.items[n]},a._getIndexByKey=function(e){this._ensureCache();var t=this._cache;if(\"object\"!==s(e)){var n=t.keySet||t.keys.reduce((function(e,t,n){return e[t]=n,e}),{});return t.keySet||(t.keySet=n),n[e]}for(var i=0,o=t.keys.length;i<o;i++)if(t.keys[i]===e)return i;return-1},a._ensureCache=function(){var e=this._cache;e.keys||(e.keys=[],e.items=[],this._fillCache(e,this._items))},a._fillCache=function(e,t){var n=this;if(t&&t.length){var i=this._getKeyExpr();i&&t.forEach((function(t){e.keys.push(i(t)),e.items.push(t)}));var o=this._getItemsExpr();o&&t.forEach((function(t){return n._fillCache(e,o(t))}));var a=this._getContainerChildrenExpr();a&&t.forEach((function(t){return n._fillCache(e,a(t))}))}},a._getKeyExpr=function(){throw\"Not Implemented\"},a._getItemsExpr=function(){},a._getContainerChildrenExpr=function(){},a._initDataSource=function(){e.prototype._initDataSource.call(this),this._dataSource&&this._dataSource.paginate(!1)},a._dataSourceOptions=function(){return{paginate:!1}},a._getStore=function(){return this._dataSource&&this._dataSource.store()},a._getStoreKey=function(e,t,n){var i=e.keyOf(n);if(i===n){var o=this._getKeyExpr();this._dataSourceItems.forEach((function(e){o(e)===t&&(i=e)}))}return i},a._getInternalKey=function(e){return\"object\"===s(e)?this._getKeyExpr()(e):e},a._resetCache=function(){this._cache={}},i}(a.Component.inherit({}).include(r.default));t.default=u,e.exports=t.default,e.exports.default=t.default},81308:function(e,t,n){var i;function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}t.default=void 0;var a=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n);var a=i.prototype;return a._getKeyExpr=function(){return this._diagramWidget._createOptionGetter(\"nodes.keyExpr\")},a._getItemsExpr=function(){return this._diagramWidget._createOptionGetter(\"nodes.itemsExpr\")},a._getContainerChildrenExpr=function(){return this._diagramWidget._createOptionGetter(\"nodes.containerChildrenExpr\")},i}(((i=n(4015))&&i.__esModule?i:{default:i}).default);t.default=a,e.exports=t.default,e.exports.default=t.default},61982:function(e,t,n){t.default=void 0;var i,o=(i=n(50984))&&i.__esModule?i:{default:i},a=n(348);function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var i=(0,a.getDiagram)().DiagramCommand;return n.commandOptions={},n.commandOptions[i.Fullscreen]=\"fullScreen\",n.commandOptions[i.ZoomLevel]=function(e){\"object\"===r(this._getOption(\"zoomLevel\"))?this._setOption(\"zoomLevel.value\",e):this._setOption(\"zoomLevel\",e)},n.commandOptions[i.SwitchAutoZoom]=function(e){var t=(0,a.getDiagram)().AutoZoomMode;switch(e){case t.FitContent:this._setOption(\"autoZoomMode\",\"fitContent\");break;case t.FitToWidth:this._setOption(\"autoZoomMode\",\"fitWidth\");break;case t.Disabled:this._setOption(\"autoZoomMode\",\"disabled\")}},n.commandOptions[i.ToggleSimpleView]=\"simpleView\",n.commandOptions[i.ShowGrid]=\"showGrid\",n.commandOptions[i.SnapToGrid]=\"snapToGrid\",n.commandOptions[i.GridSize]=function(e){\"object\"===r(this._getOption(\"gridSize\"))?this._setOption(\"gridSize.value\",e):this._setOption(\"gridSize\",e)},n.commandOptions[i.ViewUnits]=\"viewUnits\",n.commandOptions[i.PageSize]=function(e){var t=this._getOption(\"pageSize\");void 0!==t&&t.width===e.width&&t.height===e.height||this._setOption(\"pageSize\",e)},n.commandOptions[i.PageLandscape]=function(e){this._setOption(\"pageOrientation\",e?\"landscape\":\"portrait\")},n.commandOptions[i.ViewUnits]=function(e){var t=(0,a.getDiagram)().DiagramUnit;switch(e){case t.In:this._setOption(\"viewUnits\",\"in\");break;case t.Cm:this._setOption(\"viewUnits\",\"cm\");break;case t.Px:this._setOption(\"viewUnits\",\"px\")}},n.commandOptions[i.PageColor]=\"pageColor\",n._updateLock=0,n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var o=i.prototype;return o.getCommandKeys=function(){return Object.keys(this.commandOptions).map((function(e){return parseInt(e)}))},o.setItemValue=function(e,t){if(!this.isUpdateLocked()){this.beginUpdate();try{\"function\"==typeof this.commandOptions[e]?this.commandOptions[e].call(this,t):this._setOption(this.commandOptions[e],t)}finally{this.endUpdate()}}},o.beginUpdate=function(){this._updateLock++},o.endUpdate=function(){this._updateLock--},o.isUpdateLocked=function(){return this._updateLock>0},o._getOption=function(e){return this._owner.option(e)},o._setOption=function(e,t){this._owner.option(e,t)},i}(o.default);t.default=l,e.exports=t.default,e.exports.default=t.default},63564:function(e,t,n){t.default=void 0;var i,o=(i=n(28109))&&i.__esModule?i:{default:i};var a={getDefaultGroups:function(){return this._groups||(this._groups={general:{category:\"general\",title:o.default.format(\"dxDiagram-categoryGeneral\")},flowchart:{category:\"flowchart\",title:o.default.format(\"dxDiagram-categoryFlowchart\")},orgChart:{category:\"orgChart\",title:o.default.format(\"dxDiagram-categoryOrgChart\")},containers:{category:\"containers\",title:o.default.format(\"dxDiagram-categoryContainers\")},custom:{category:\"custom\",title:o.default.format(\"dxDiagram-categoryCustom\")}})},getGroups:function(e){var t=this.getDefaultGroups();return e?e.map((function(e){return\"string\"==typeof e?{category:e,title:t[e]&&t[e].title||e}:e})).filter((function(e){return e})):[t.general,t.flowchart,t.orgChart,t.containers]}};t.default=a,e.exports=t.default,e.exports.default=t.default},33353:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=d(n(14390)),a=d(n(10042)),r=d(n(72321)),s=d(n(20261)),l=d(n(50984)),u=n(348);function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var n=t.prototype;return n._init=function(){e.prototype._init.call(this),this._createOnVisibilityChangingAction(),this._createOnInternalCommand(),this._createOnCustomCommand(),this._createOnItemClickAction(),this._tempState=void 0,this._commands=[],this._commandToIndexMap={},this.bar=new g(this)},n._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this),this._commands=this._getCommands(),this._commandToIndexMap={},this._fillCommandToIndexMap(this._commands,[]),this._$contextMenuTargetElement=(0,i.default)(\"<div>\").addClass(\"dx-diagram-touchbar-target\").appendTo(this.$element());var n=(0,i.default)(\"<div>\").appendTo(this.$element());this._contextMenuInstance=this._createComponent(n,p,{isTouchBarMode:this._isTouchBarMode(),cssClass:this._isTouchBarMode()?\"dx-diagram-touchbar\":s.default.getContextMenuCssClass(),hideOnOutsideClick:!1,showEvent:\"\",focusStateEnabled:!1,items:this._commands,position:this._isTouchBarMode()?{my:{x:\"center\",y:\"bottom\"},at:{x:\"center\",y:\"top\"},of:this._$contextMenuTargetElement}:{},itemTemplate:function(e,t,n){s.default.getContextMenuItemTemplate(this,e,t,n)},onItemClick:function(e){var n=e.itemData;return t._onItemClick(n)},onShowing:function(e){!0!==t._inOnShowing&&(t._inOnShowing=!0,t._onVisibilityChangingAction({visible:!0,component:t}),e.component.option(\"items\",e.component.option(\"items\")),delete t._inOnShowing)}})},n._show=function(e,t,n){if(this._contextMenuInstance.hide(),this._isTouchBarMode()){this._$contextMenuTargetElement.show(),n||(n={x:e,y:t,width:0,height:0});var i=n.width>800?0:(800-n.width)/2;this._$contextMenuTargetElement.css({left:n.x-i,top:n.y-32,width:n.width+2*i,height:n.height+64}),this._contextMenuInstance.show()}else this._contextMenuInstance.option(\"position\",{offset:e+\" \"+t}),this._contextMenuInstance.show()},n._hide=function(){this._$contextMenuTargetElement.hide(),this._contextMenuInstance.hide()},n._isTouchBarMode=function(){return(0,u.getDiagram)().Browser.TouchUI},n._onItemClick=function(e){var t=!1;this._onItemClickAction&&(t=this._onItemClickAction(e)),t||(s.default.onContextMenuItemClick(this,e,this._executeCommand.bind(this)),this._contextMenuInstance.hide())},n._executeCommand=function(e,t,n){\"number\"==typeof e?this.bar.raiseBarCommandExecuted(e,n):\"string\"==typeof e&&this._onInternalCommandAction({command:e}),void 0!==t&&this._onCustomCommandAction({name:t})},n._createOnInternalCommand=function(){this._onInternalCommandAction=this._createActionByOption(\"onInternalCommand\")},n._createOnCustomCommand=function(){this._onCustomCommandAction=this._createActionByOption(\"onCustomCommand\")},n._getCommands=function(){return r.default.getContextMenuCommands(this.option(\"commands\"))},n._fillCommandToIndexMap=function(e,t){var n=this;e.forEach((function(e,i){var o=t.concat([i]);void 0!==e.command&&(n._commandToIndexMap[e.command]=o),Array.isArray(e.items)&&n._fillCommandToIndexMap(e.items,o)}))},n._setItemEnabled=function(e,t){this._setItemVisible(e,t)},n._setItemVisible=function(e,t){var n=s.default.getItemOptionText(this._contextMenuInstance,this._commandToIndexMap[e]);s.default.updateContextMenuItemVisible(this._contextMenuInstance,n,t)},n._setItemValue=function(e,t){var n=s.default.getItemOptionText(this._contextMenuInstance,this._commandToIndexMap[e]);s.default.updateContextMenuItemValue(this._contextMenuInstance,n,e,t)},n._setItemSubItems=function(e,t){var n=s.default.getItemOptionText(this._contextMenuInstance,this._commandToIndexMap[e]);s.default.updateContextMenuItems(this._contextMenuInstance,n,e,t)},n._setEnabled=function(e){this._contextMenuInstance.option(\"disabled\",!e)},n.isVisible=function(){return this._inOnShowing},n._createOnVisibilityChangingAction=function(){this._onVisibilityChangingAction=this._createActionByOption(\"onVisibilityChanging\")},n._createOnItemClickAction=function(){this._onItemClickAction=this._createActionByOption(\"onItemClick\")},n._optionChanged=function(t){switch(t.name){case\"onVisibilityChanging\":this._createOnVisibilityChangingAction();break;case\"onInternalCommand\":this._createOnInternalCommand();break;case\"onCustomCommand\":this._createOnCustomCommand();break;case\"onItemClick\":this._createOnItemClickAction();break;case\"commands\":this._invalidate();break;case\"export\":break;default:e.prototype._optionChanged.call(this,t)}},t}(o.default),p=function(e){function t(){return e.apply(this,arguments)||this}return c(t,e),t.prototype._renderContextMenuOverlay=function(){var t=this;e.prototype._renderContextMenuOverlay.call(this),this._overlay&&this.option(\"isTouchBarMode\")&&this._overlay&&this._overlay.option(\"onShown\",(function(){(0,i.default)(t._overlay.$content()).parent().addClass(\"dx-diagram-touchbar-overlay\")}))},t}(a.default),g=function(e){function t(t){return e.call(this,t)||this}c(t,e);var n=t.prototype;return n.getCommandKeys=function(){return this._getKeys(this._owner._commands)},n.setItemValue=function(e,t){this._owner._setItemValue(e,t)},n.setItemEnabled=function(e,t){this._owner._setItemEnabled(e,t)},n.setItemVisible=function(e,t){this._owner._setItemVisible(e,t)},n.setItemSubItems=function(e,t){this._owner._setItemSubItems(e,t)},n.setEnabled=function(e){this._owner._setEnabled(e)},n.isVisible=function(){return this._owner.isVisible()},t}(l.default),m={DiagramContextMenuWrapper:f,DiagramContextMenu:p};t.default=m,e.exports=t.default,e.exports.default=t.default},90978:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(14390)),a=l(n(17287)),r=n(348),s=n(58201);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var l=o.prototype;return l._init=function(){e.prototype._init.call(this),this._onShownAction=this._createActionByOption(\"onShown\");var t=(0,s.getWindow)();this._popoverPositionData=[{my:{x:\"center\",y:\"top\"},at:{x:\"center\",y:\"bottom\"},offset:{x:0,y:5},calcMaxHeight:function(e){return Math.max(150,t.innerHeight-e.bottom-6)}},{my:{x:\"right\",y:\"center\"},at:{x:\"left\",y:\"center\"},offset:{x:-5,y:0},calcMaxHeight:function(e){return Math.max(150,2*Math.min(e.top,t.innerHeight-e.bottom)-2)}},{my:{x:\"center\",y:\"bottom\"},at:{x:\"center\",y:\"top\"},offset:{x:0,y:-5},calcMaxHeight:function(e){return Math.max(150,e.top-6)}},{my:{x:\"left\",y:\"center\"},at:{x:\"right\",y:\"center\"},offset:{x:5,y:0},calcMaxHeight:function(e){return Math.max(150,2*Math.min(e.top,t.innerHeight-e.bottom)-2)}}]},l._initMarkup=function(){e.prototype._initMarkup.call(this),this._$popoverTargetElement=(0,i.default)(\"<div>\").addClass(\"dx-diagram-context-toolbox-target\").appendTo(this.$element());var t=(0,i.default)(\"<div>\").addClass(\"dx-diagram-context-toolbox\").appendTo(this.$element());this._isTouchMode()&&t.addClass(\"dx-diagram-touch-context-toolbox\"),this._popoverInstance=this._createComponent(t,a.default,{hideOnOutsideClick:!1,container:this.$element()})},l._isTouchMode=function(){return(0,r.getDiagram)().Browser.TouchUI},l._show=function(e,t,n,o,a){var r=this;this._popoverInstance.hide(),this._$popoverTargetElement.css({left:e+this._popoverPositionData[n].offset.x,top:t+this._popoverPositionData[n].offset.y}).show();var l=(0,s.getWindow)(),u=this._$popoverTargetElement.get(0);this._$popoverTargetElement.css({left:u.offsetLeft-(u.getBoundingClientRect().left+l.scrollX-u.offsetLeft),top:u.offsetTop-(u.getBoundingClientRect().top+l.scrollY-u.offsetTop)});var d=u.getBoundingClientRect();this._popoverInstance.option({maxHeight:this._popoverPositionData[n].calcMaxHeight(d),width:void 0!==this.option(\"toolboxWidth\")?this.option(\"toolboxWidth\"):void 0,position:{my:this._popoverPositionData[n].my,at:this._popoverPositionData[n].at,of:this._$popoverTargetElement},contentTemplate:function(){return(0,i.default)(\"<div>\").append((0,i.default)(\"<div>\").addClass(\"dx-diagram-context-toolbox-content\")).dxScrollView({width:\"100%\",height:\"100%\"})},onContentReady:function(){var e=r.$element().find(\".dx-diagram-context-toolbox-content\");r._onShownAction({category:o,callback:a,$element:e,hide:function(){return r._popoverInstance.hide()}})}}),this._popoverInstance.show()},l._hide=function(){this._$popoverTargetElement.hide(),this._popoverInstance.hide()},o}(o.default);t.default=d,e.exports=t.default,e.exports.default=t.default},34690:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=n(348),a=l(n(28109)),r=l(n(53749)),s=n(58201);function l(e){return e&&e.__esModule?e:{default:e}}var u={getConfigurations:function(){var e=(0,o.getDiagram)().DiagramCommand;return this.dialogList||(this.dialogList=[{command:e.InsertShapeImage,title:a.default.format(\"dxDiagram-dialogInsertShapeImageTitle\"),onGetContent:this.getChangeImageDialogContent},{command:e.EditShapeImage,title:a.default.format(\"dxDiagram-dialogEditShapeImageTitle\"),onGetContent:this.getChangeImageDialogContent}])},getChangeImageDialogContent:function(e){var t=(0,i.default)(\"<div>\");return e.component._createComponent(t,r.default,{selectButtonText:a.default.format(\"dxDiagram-dialogEditShapeImageSelectButton\"),accept:\"image/*\",uploadMode:\"useForm\",onValueChanged:function(t){var n=new((0,s.getWindow)().FileReader);n.onload=function(t){e.component._commandParameter=t.target.result},n.readAsDataURL(t.value[0])}}),t},getDialogParameters:function(e){var t=this.getConfigurations().map((function(e){return e.command})).indexOf(e);return t>=0?this.getConfigurations()[t]:null}};t.default=u,e.exports=t.default,e.exports.default=t.default},46920:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(14390)),a=l(n(28109)),r=l(n(51495)),s=n(13306);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var l=o.prototype;return l._init=function(){e.prototype._init.call(this),this._command=void 0,this._isShown=!1,this._createOnGetContentOption(),this._createOnHiddenOption()},l._initMarkup=function(){e.prototype._initMarkup.call(this),this._command=this.option(\"command\"),this._$popupElement=(0,i.default)(\"<div>\").appendTo(this.$element()),this._popup=this._createComponent(this._$popupElement,r.default,{title:this.option(\"title\"),maxWidth:this.option(\"maxWidth\"),height:this.option(\"height\"),toolbarItems:this.option(\"toolbarItems\"),onHidden:this._onHiddenAction})},l._clean=function(){delete this._popup,this._$popupElement&&this._$popupElement.remove()},l._getDefaultOptions=function(){return(0,s.extend)(e.prototype._getDefaultOptions.call(this),{title:\"\",maxWidth:500,height:\"auto\",toolbarItems:this._getToolbarItems()})},l._getToolbarItems=function(){return[this._getOkToolbarItem(),this._getCancelToolbarItem()]},l._getOkToolbarItem=function(){return{widget:\"dxButton\",location:\"after\",toolbar:\"bottom\",options:{text:a.default.format(\"dxDiagram-dialogButtonOK\"),onClick:function(){this._command.execute(this._commandParameter),this._hide()}.bind(this)}}},l._getCancelToolbarItem=function(){return{widget:\"dxButton\",location:\"after\",toolbar:\"bottom\",options:{text:a.default.format(\"dxDiagram-dialogButtonCancel\"),onClick:this._hide.bind(this)}}},l._optionChanged=function(t){switch(t.name){case\"title\":case\"maxWidth\":case\"height\":case\"toolbarItems\":this._popup.option(t.name,t.value);break;case\"command\":this._command=t.value;break;case\"onGetContent\":this._createOnGetContentOption();break;case\"onHidden\":this._createOnHiddenOption();break;default:e.prototype._optionChanged.call(this,t)}},l._createOnGetContentOption=function(){this._onGetContentAction=this._createActionByOption(\"onGetContent\")},l._createOnHiddenOption=function(){this._onHiddenAction=this._createActionByOption(\"onHidden\")},l._hide=function(){this._popup.hide(),this._isShown=!1},l._show=function(){this._popup.$content().empty().append(this._onGetContentAction()),this._popup.show(),this._isShown=!0},l.isVisible=function(){return this._isShown},o}(o.default);t.default=d,e.exports=t.default,e.exports.default=t.default},99967:function(e,t,n){t.default=void 0;var i=n(58664),o=u(n(68374)),a=n(13306),r=n(58201),s=u(n(51495)),l=u(n(47596));function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var u=l.prototype;return u._init=function(){e.prototype._init.call(this),this._createOnVisibilityChangingAction(),this._createOnVisibilityChangedAction()},u.isVisible=function(){return this.option(\"isVisible\")},u.isMobileView=function(){return this.option(\"isMobileView\")},u._initMarkup=function(){e.prototype._initMarkup.call(this);var t=this.$element(),n=(0,o.default)(\"<div>\").addClass(this._getPopupClass()).addClass(this.isMobileView()&&\"dx-diagram-mobile-popup\").appendTo(t);this._popup=this._createComponent(n,s.default,this._getPopupOptions()),this._updatePopupVisible()},u.show=function(){this.option(\"isVisible\",!0)},u.hide=function(){this.option(\"isVisible\",!1)},u.toggle=function(){this.option(\"isVisible\",!this.isVisible())},u.repaint=function(){this._popup.repaint()},u._getPopupContent=function(){return this._popup.content()},u._getPopupTitle=function(){return(0,o.default)(this._getPopupContent()).parent().find(\".dx-popup-title\")},u._getPointerUpElements=function(){return[this._getPopupContent(),this._getPopupTitle()]},u._getVerticalPaddingsAndBorders=function(){var e=(0,o.default)(this._getPopupContent());return(0,i.getOuterHeight)(e)-(0,i.getHeight)(e)},u._getHorizontalPaddingsAndBorders=function(){var e=(0,o.default)(this._getPopupContent());return(0,i.getOuterWidth)(e)-(0,i.getWidth)(e)},u._getPopupClass=function(){return\"\"},u._getPopupWidth=function(){return this.option(\"width\")||\"auto\"},u._getPopupMaxWidth=function(){return this.option(\"maxWidth\")},u._getPopupMinWidth=function(){return this.option(\"minWidth\")},u._getPopupHeight=function(){return this.option(\"height\")||\"auto\"},u._getPopupMaxHeight=function(){return this.option(\"maxHeight\")},u._getPopupMinHeight=function(){return this.option(\"minHeight\")},u._getPopupPosition=function(){return{}},u._getPopupContainer=function(){return this.option(\"container\")},u._getPopupSlideAnimationObject=function(e){return(0,a.extend)({type:\"slide\",start:function(){(0,o.default)(\"body\").css(\"overflow\",\"hidden\")},complete:function(){(0,o.default)(\"body\").css(\"overflow\",\"\")}},e)},u._getPopupAnimation=function(){return{hide:{type:\"fadeOut\"},show:{type:\"fadeIn\"}}},u._getPopupOptions=function(){var e=this,t=this;return{animation:(0,r.hasWindow)()?this._getPopupAnimation():null,shading:!1,showTitle:!1,focusStateEnabled:!1,container:this._getPopupContainer(),width:this._getPopupWidth(),height:this._getPopupHeight(),maxWidth:this._getPopupMaxWidth(),maxHeight:this._getPopupMaxHeight(),minWidth:this._getPopupMinWidth(),minHeight:this._getPopupMinHeight(),position:this._getPopupPosition(),showCloseButton:!0,copyRootClassesToWrapper:!0,_ignoreCopyRootClassesToWrapperDeprecation:!0,onContentReady:function(){t._renderPopupContent(t._popup.content())},onShowing:function(){e._onVisibilityChangingAction({visible:!0,component:e})},onShown:function(){e.option(\"isVisible\",!0),e._onVisibilityChangedAction({visible:!0,component:e})},onHiding:function(){e._onVisibilityChangingAction({visible:!1,component:e})},onHidden:function(){e.option(\"isVisible\",!1),e._onVisibilityChangedAction({visible:!1,component:e})}}},u._renderPopupContent=function(e){},u._updatePopupVisible=function(){this._popup.option(\"visible\",this.isVisible())},u._createOnVisibilityChangingAction=function(){this._onVisibilityChangingAction=this._createActionByOption(\"onVisibilityChanging\")},u._createOnVisibilityChangedAction=function(){this._onVisibilityChangedAction=this._createActionByOption(\"onVisibilityChanged\")},u._optionChanged=function(t){switch(t.name){case\"onVisibilityChanging\":this._createOnVisibilityChangingAction();break;case\"onVisibilityChanged\":this._createOnVisibilityChangedAction();break;case\"container\":this._popup.option(\"container\",this._getPopupContainer());break;case\"width\":this._popup.option(\"width\",this._getPopupWidth());break;case\"height\":this._popup.option(\"height\",this._getPopupHeight());break;case\"maxWidth\":this._popup.option(\"maxWidth\",this._getPopupMaxWidth());break;case\"maxHeight\":this._popup.option(\"maxHeight\",this._getPopupMaxHeight());break;case\"minWidth\":this._popup.option(\"minWidth\",this._getPopupMinWidth());break;case\"minHeight\":this._popup.option(\"minHeight\",this._getPopupMinHeight());break;case\"isMobileView\":this._invalidate();break;case\"isVisible\":this._updatePopupVisible();break;default:e.prototype._optionChanged.call(this,t)}},u._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{isVisible:!0,isMobileView:!1,offsetX:0,offsetY:0})},l}(l.default);t.default=c,e.exports=t.default,e.exports.default=t.default},57257:function(e,t,n){t.default=void 0;var i=a(n(38148)),o=a(n(72321));function a(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var a=i.prototype;return a._getCommands=function(){return o.default.getHistoryToolbarCommands(this.option(\"commands\"),this._getExcludeCommands())},a._getExcludeCommands=function(){var e=[].concat(this.option(\"excludeCommands\"));return this.option(\"isMobileView\")||e.push(o.default.SHOW_TOOLBOX_COMMAND_NAME),e},i}(i.default);t.default=s,e.exports=t.default,e.exports.default=t.default},83537:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=N(n(68374)),r=N(n(14390)),s=N(n(2492)),l=N(n(99393)),u=n(13306),d=n(35922),c=n(47617),h=N(n(49387)),f=n(348),p=n(58201),g=n(6415),m=N(n(55994)),_=n(39611),v=N(n(28109)),y=N(n(18016)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=H(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(85421)),x=N(n(89799)),w=N(n(38148)),C=N(n(66156)),S=N(n(57257)),k=N(n(64225)),D=N(n(95463)),I=N(n(33353)),T=N(n(90978)),E=N(n(46920)),O=N(n(66737)),A=N(n(63564)),P=N(n(63842)),M=N(n(64863)),R=N(n(61982)),B=N(n(34690)),L=N(n(72321)),V=N(n(81308)),F=N(n(73510));function H(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(H=function(e){return e?n:t})(e)}function N(e){return e&&e.__esModule?e:{default:e}}function z(e,t){return(z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var j=(0,_.addNamespace)(\"fullscreenchange\",\"dxDiagramEvent\"),W=(0,_.addNamespace)(\"msfullscreenchange\",\"dxDiagramEvent\"),G=(0,_.addNamespace)(\"webkitfullscreenchange\",\"dxDiagramEvent\"),q=(0,_.addNamespace)(\"mozfullscreenchange\",\"dxDiagramEvent\"),$=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,z(t,n);var r=i.prototype;return r._init=function(){this._updateDiagramLockCount=0,this.toggleFullscreenLock=0,this._toolbars=[],e.prototype._init.call(this),this._initDiagram(),this._createCustomCommand()},r._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this),this._toolbars=[],delete this._isMobileScreenSize;var n=!(0,p.hasWindow)();this.$element().addClass(\"dx-diagram\"),delete this._mainToolbar,this.option(\"mainToolbar.visible\")&&this._renderMainToolbar();var i=(0,a.default)(\"<div>\").addClass(\"dx-diagram-content-wrapper\").appendTo(this.$element());if(delete this._historyToolbar,delete this._historyToolbarResizeCallback,this._isHistoryToolbarVisible()&&this._renderHistoryToolbar(i),delete this._propertiesToolbar,delete this._propertiesToolbarResizeCallback,this._isPropertiesPanelEnabled()&&this._renderPropertiesToolbar(i),delete this._viewToolbar,delete this._viewToolbarResizeCallback,this.option(\"viewToolbar.visible\")&&this._renderViewToolbar(i),delete this._toolbox,delete this._toolboxResizeCallback,this._isToolboxEnabled()&&this._renderToolbox(i),delete this._propertiesPanel,delete this._propertiesPanelResizeCallback,this._isPropertiesPanelEnabled()&&this._renderPropertiesPanel(i),this._$content=(0,a.default)(\"<div>\").addClass(\"dx-diagram-content\").appendTo(i),delete this._contextMenu,this._diagramInstance.settings.contextMenuEnabled=this.option(\"contextMenu.enabled\"),this._diagramInstance.settings.contextMenuEnabled&&this._renderContextMenu(i),delete this._contextToolbox,this.option(\"contextToolbox.enabled\")&&this._renderContextToolbox(i),this._renderDialog(i),!n){var o=(0,a.default)(\"<div>\").addClass(\"dx-diagram-scroll-view\").appendTo(this._$content);this._createComponent(o,O.default,{useNativeScrolling:this.option(\"useNativeScrolling\"),onCreateDiagram:function(e){t._diagramInstance.createDocument(e.$parent[0],e.scrollView,i[0])}})}this._setCustomCommandChecked(L.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME,this._isPropertiesPanelVisible()),this._setCustomCommandChecked(L.default.SHOW_TOOLBOX_COMMAND_NAME,this._isToolboxVisible()),this._createOptionsUpdateBar()},r._dimensionChanged=function(){this._isMobileScreenSize=void 0,this._processDiagramResize()},r._visibilityChanged=function(e){e&&(this._bindDiagramData(),this.repaint())},r._processDiagramResize=function(){this._diagramInstance.onDimensionChanged(),this._historyToolbarResizeCallback&&this._historyToolbarResizeCallback.call(this),this._propertiesToolbarResizeCallback&&this._propertiesToolbarResizeCallback.call(this),this._propertiesPanelResizeCallback&&this._propertiesPanelResizeCallback.call(this),this._viewToolbarResizeCallback&&this._viewToolbarResizeCallback.call(this),this._toolboxResizeCallback&&this._toolboxResizeCallback.call(this)},r.isMobileScreenSize=function(){return void 0===this._isMobileScreenSize&&(this._isMobileScreenSize=(0,p.hasWindow)()&&(0,o.getOuterWidth)(this.$element())<576),this._isMobileScreenSize},r._captureFocus=function(){this._diagramInstance&&this._diagramInstance.captureFocus()},r._captureFocusOnTimeout=function(){var e=this;this._captureFocusTimeout=setTimeout((function(){e._captureFocus(),delete e._captureFocusTimeout}),100)},r._killCaptureFocusTimeout=function(){this._captureFocusTimeout&&(clearTimeout(this._captureFocusTimeout),delete this._captureFocusTimeout)},r.notifyBarCommandExecuted=function(){this._captureFocusOnTimeout()},r._registerToolbar=function(e){this._registerBar(e),this._toolbars.push(e)},r._registerBar=function(e){e.bar.onChanged.add(this),this._diagramInstance.registerBar(e.bar)},r._getExcludeCommands=function(){var e=[];return this._isToolboxEnabled()||e.push(L.default.SHOW_TOOLBOX_COMMAND_NAME),this._isPropertiesPanelEnabled()||e.push(L.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME),e},r._getToolbarBaseOptions=function(){var e=this;return{onContentReady:function(t){var n=t.component;return e._registerToolbar(n)},onSubMenuVisibilityChanging:function(t){var n=t.component;return e._diagramInstance.updateBarItemsState(n.bar)},onPointerUp:this._onPanelPointerUp.bind(this),export:this.option(\"export\"),excludeCommands:this._getExcludeCommands(),onInternalCommand:this._onInternalCommand.bind(this),onCustomCommand:this._onCustomCommand.bind(this),isMobileView:this.isMobileScreenSize()}},r._onInternalCommand=function(e){switch(e.command){case L.default.SHOW_TOOLBOX_COMMAND_NAME:this._toolbox&&this._toolbox.toggle();break;case L.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME:this._propertiesPanel&&this._propertiesPanel.toggle()}},r._onCustomCommand=function(e){this._customCommandAction({name:e.name})},r._renderMainToolbar=function(){var e=(0,a.default)(\"<div>\").addClass(\"dx-diagram-toolbar-wrapper\").appendTo(this.$element());this._mainToolbar=this._createComponent(e,C.default,(0,u.extend)(this._getToolbarBaseOptions(),{commands:this.option(\"mainToolbar.commands\"),skipAdjustSize:!0}))},r._isHistoryToolbarVisible=function(){return this.option(\"historyToolbar.visible\")&&!this.isReadOnlyMode()},r._renderHistoryToolbar=function(e){var t=this,n=(0,a.default)(\"<div>\").addClass(\"dx-diagram-floating-toolbar-container\").appendTo(e);this._historyToolbar=this._createComponent(n,S.default,(0,u.extend)(this._getToolbarBaseOptions(),{commands:this.option(\"historyToolbar.commands\"),locateInMenu:\"never\"})),this._updateHistoryToolbarPosition(),this._historyToolbarResizeCallback=function(){t._historyToolbar.option(\"isMobileView\",t.isMobileScreenSize())}},r._updateHistoryToolbarPosition=function(){(0,p.hasWindow)()&&h.default.setup(this._historyToolbar.$element(),{my:\"left top\",at:\"left top\",of:this._historyToolbar.$element().parent(),offset:\"12 12\"})},r._isToolboxEnabled=function(){return\"disabled\"!==this.option(\"toolbox.visibility\")&&!this.isReadOnlyMode()},r._isToolboxVisible=function(){return\"visible\"===this.option(\"toolbox.visibility\")||\"auto\"===this.option(\"toolbox.visibility\")&&!this.isMobileScreenSize()},r._renderToolbox=function(e){var t=this,n=!(0,p.hasWindow)(),i=(0,a.default)(\"<div>\").appendTo(e),o=this._getToolboxBounds(e,n);this._toolbox=this._createComponent(i,P.default,{isMobileView:this.isMobileScreenSize(),isVisible:this._isToolboxVisible(),container:this.$element(),height:o.height,offsetParent:e,offsetX:o.offsetX,offsetY:o.offsetY,showSearch:this.option(\"toolbox.showSearch\"),toolboxGroups:this._getToolboxGroups(),toolboxWidth:this.option(\"toolbox.width\"),onShapeCategoryRendered:function(e){n||t._diagramInstance.createToolbox(e.$element[0],\"texts\"===e.displayMode,e.shapes||e.category,{shapeIconSpacing:12,shapeIconCountInRow:t.option(\"toolbox.shapeIconsPerRow\"),shapeIconAttributes:{\"data-toggle\":e.dataToggle}})},onFilterChanged:function(e){n||t._diagramInstance.applyToolboxFilter(e.text,e.filteringToolboxes)},onVisibilityChanging:function(e){n||(t._setCustomCommandChecked(L.default.SHOW_TOOLBOX_COMMAND_NAME,e.visible),t._propertiesPanel&&e.visible&&t.isMobileScreenSize()&&t._propertiesPanel.hide(),t._historyToolbar&&e.visible&&t.isMobileScreenSize()&&(t._historyToolbarZIndex=b.create(x.default.baseZIndex()),t._historyToolbar.$element().css(\"zIndex\",t._historyToolbarZIndex),t._historyToolbar.$element().css(\"boxShadow\",\"none\")),t._viewToolbar&&(t._viewToolbar.$element().css(\"opacity\",e.visible&&t.isMobileScreenSize()?\"0\":\"1\"),t._viewToolbar.$element().css(\"pointerEvents\",e.visible&&t.isMobileScreenSize()?\"none\":\"\")))},onVisibilityChanged:function(e){e.visible||t._textInputStarted||t._captureFocus(),n||t._historyToolbar&&!e.visible&&t.isMobileScreenSize()&&t._historyToolbarZIndex&&(b.remove(t._historyToolbarZIndex),t._historyToolbar.$element().css(\"zIndex\",\"\"),t._historyToolbar.$element().css(\"boxShadow\",\"\"),t._historyToolbarZIndex=void 0)},onPointerUp:this._onPanelPointerUp.bind(this)}),this._toolbox._popup.option(\"propagateOutsideClick\",!this.option(\"fullScreen\")),this._toolboxResizeCallback=function(){var i=t._getToolboxBounds(e,n);t._toolbox.option(\"height\",i.height),t._toolbox.option(\"isMobileView\")!==t.isMobileScreenSize()&&(t._toolbox.option({isMobileView:t.isMobileScreenSize(),isVisible:t._isToolboxVisible()}),t._setCustomCommandChecked(L.default.SHOW_TOOLBOX_COMMAND_NAME,t._isToolboxVisible())),t._toolbox.updateMaxHeight()}},r._getToolboxBounds=function(e,t){var n={offsetX:12,offsetY:12,height:t?0:(0,o.getHeight)(e)-24};return this._historyToolbar&&!t&&(n.offsetY+=(0,o.getOuterHeight)(this._historyToolbar.$element())+12,n.height-=(0,o.getOuterHeight)(this._historyToolbar.$element())+12),this._viewToolbar&&!t&&(n.height-=(0,o.getOuterHeight)(this._viewToolbar.$element())+this._getViewToolbarYOffset(t)),n},r._renderViewToolbar=function(e){var t=this,n=!(0,p.hasWindow)(),i=(0,a.default)(\"<div>\").addClass(\"dx-diagram-floating-toolbar-container\").appendTo(e);this._viewToolbar=this._createComponent(i,k.default,(0,u.extend)(this._getToolbarBaseOptions(),{commands:this.option(\"viewToolbar.commands\"),locateInMenu:\"never\"})),this._updateViewToolbarPosition(i,e,n),this._viewToolbarResizeCallback=function(){t._updateViewToolbarPosition(i,e,n)}},r._getViewToolbarYOffset=function(e){if(!e){var t=12;return this._viewToolbar&&this._propertiesToolbar&&(t+=((0,o.getOuterHeight)(this._propertiesToolbar.$element())-(0,o.getOuterHeight)(this._viewToolbar.$element()))/2),t}},r._updateViewToolbarPosition=function(e,t,n){n||h.default.setup(e,{my:\"left bottom\",at:\"left bottom\",of:t,offset:\"12 -\"+this._getViewToolbarYOffset(n)})},r._isPropertiesPanelEnabled=function(){return\"disabled\"!==this.option(\"propertiesPanel.visibility\")&&!this.isReadOnlyMode()},r._isPropertiesPanelVisible=function(){return\"visible\"===this.option(\"propertiesPanel.visibility\")},r._renderPropertiesToolbar=function(e){var t=this,n=!(0,p.hasWindow)(),i=(0,a.default)(\"<div>\").addClass(\"dx-diagram-floating-toolbar-container\").addClass(\"dx-diagram-properties-panel-toolbar-container\").appendTo(e);this._propertiesToolbar=this._createComponent(i,D.default,(0,u.extend)(this._getToolbarBaseOptions(),{buttonStylingMode:\"contained\",buttonType:\"default\",locateInMenu:\"never\"})),this._updatePropertiesToolbarPosition(i,e,n),this._propertiesToolbarResizeCallback=function(){t._updatePropertiesToolbarPosition(i,e,n)}},r._updatePropertiesToolbarPosition=function(e,t,n){n||h.default.setup(e,{my:\"right bottom\",at:\"right bottom\",of:t,offset:\"-12 -12\"})},r._renderPropertiesPanel=function(e){var t=this,n=!(0,p.hasWindow)(),i=(0,a.default)(\"<div>\").appendTo(e),r=24+(n?0:(0,o.getOuterHeight)(this._propertiesToolbar.$element()));this._propertiesPanel=this._createComponent(i,M.default,{isMobileView:this.isMobileScreenSize(),isVisible:this._isPropertiesPanelVisible(),container:this.$element(),offsetParent:e,offsetX:12,offsetY:r,propertyTabs:this.option(\"propertiesPanel.tabs\"),onCreateToolbar:function(e){e.toolbar=t._createComponent(e.$parent,w.default,(0,u.extend)(t._getToolbarBaseOptions(),{commands:e.commands,locateInMenu:\"never\",editorStylingMode:\"outlined\"}))},onVisibilityChanging:function(e){n||(t._updatePropertiesPanelGroupBars(e.component),t._setCustomCommandChecked(L.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME,e.visible),t._toolbox&&e.visible&&t.isMobileScreenSize()&&t._toolbox.hide())},onVisibilityChanged:function(e){e.visible||t._textInputStarted||t._captureFocus()},onSelectedGroupChanged:function(e){var n=e.component;return t._updatePropertiesPanelGroupBars(n)},onPointerUp:this._onPanelPointerUp.bind(this)}),this._propertiesPanelResizeCallback=function(){t._propertiesPanel.option(\"isMobileView\")!==t.isMobileScreenSize()&&(t._propertiesPanel.option({isMobileView:t.isMobileScreenSize(),isVisible:t._isPropertiesPanelVisible()}),t._setCustomCommandChecked(L.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME,t._isPropertiesPanelVisible()))}},r._updatePropertiesPanelGroupBars=function(e){var t=this;e.getActiveToolbars().forEach((function(e){t._diagramInstance.updateBarItemsState(e.bar)}))},r._onPanelPointerUp=function(){this._captureFocusOnTimeout()},r._renderContextMenu=function(e){var t=this,n=(0,a.default)(\"<div>\").appendTo(e);this._contextMenu=this._createComponent(n,I.default.DiagramContextMenuWrapper,{commands:this.option(\"contextMenu.commands\"),onContentReady:function(e){var n=e.component;return t._registerBar(n)},onVisibilityChanging:function(e){var n=e.component;return t._diagramInstance.updateBarItemsState(n.bar)},onItemClick:function(e){return t._onBeforeCommandExecuted(e.command)},export:this.option(\"export\"),excludeCommands:this._getExcludeCommands(),onInternalCommand:this._onInternalCommand.bind(this),onCustomCommand:this._onCustomCommand.bind(this)})},r._renderContextToolbox=function(e){var t=this,n=!(0,p.hasWindow)(),i=this.option(\"contextToolbox.category\"),o=this.option(\"contextToolbox.displayMode\"),r=this.option(\"contextToolbox.shapes\"),s=(0,a.default)(\"<div>\").appendTo(e);this._contextToolbox=this._createComponent(s,T.default,{toolboxWidth:this.option(\"contextToolbox.width\"),onShown:function(e){if(!n){var s=(0,a.default)(e.$element),l=\"texts\"===o;if(!r&&!i&&!l){var u=t._getToolboxGroups().filter((function(t){return t.category===e.category}))[0];u&&(l=\"texts\"===u.displayMode)}t._diagramInstance.createContextToolbox(s[0],l,r||i||e.category,{shapeIconSpacing:12,shapeIconCountInRow:t.option(\"contextToolbox.shapeIconsPerRow\")},(function(n){e.callback(n),t._captureFocus(),e.hide()}))}}})},r._setCustomCommandChecked=function(e,t){this._toolbars.forEach((function(n){n.setCommandChecked(e,t)}))},r._onBeforeCommandExecuted=function(e){var t=B.default.getDialogParameters(e);return t&&this._showDialog(t),!!t},r._renderDialog=function(e){var t=(0,a.default)(\"<div>\").appendTo(e);this._dialogInstance=this._createComponent(t,E.default,{})},r._showDialog=function(e){this._dialogInstance&&(this._dialogInstance.option(\"onGetContent\",e.onGetContent),this._dialogInstance.option(\"onHidden\",function(){this._captureFocus()}.bind(this)),this._dialogInstance.option(\"command\",this._diagramInstance.getCommand(e.command)),this._dialogInstance.option(\"title\",e.title),this._dialogInstance._show())},r._showLoadingIndicator=function(){this._loadingIndicator=(0,a.default)(\"<div>\").addClass(\"dx-diagram-loading-indicator\"),this._createComponent(this._loadingIndicator,s.default,{}),(this._$content||this.$element()).append(this._loadingIndicator)},r._hideLoadingIndicator=function(){this._loadingIndicator&&(this._loadingIndicator.remove(),this._loadingIndicator=null)},r._initDiagram=function(){var e=(0,f.getDiagram)().DiagramControl;if(this._diagramInstance=new e,this._diagramInstance.onChanged=this._raiseDataChangeAction.bind(this),this._diagramInstance.onEdgeInserted=this._raiseEdgeInsertedAction.bind(this),this._diagramInstance.onEdgeUpdated=this._raiseEdgeUpdatedAction.bind(this),this._diagramInstance.onEdgeRemoved=this._raiseEdgeRemovedAction.bind(this),this._diagramInstance.onNodeInserted=this._raiseNodeInsertedAction.bind(this),this._diagramInstance.onNodeUpdated=this._raiseNodeUpdatedAction.bind(this),this._diagramInstance.onNodeRemoved=this._raiseNodeRemovedAction.bind(this),this._diagramInstance.onToolboxDragStart=this._raiseToolboxDragStart.bind(this),this._diagramInstance.onToolboxDragEnd=this._raiseToolboxDragEnd.bind(this),this._diagramInstance.onTextInputStart=this._raiseTextInputStart.bind(this),this._diagramInstance.onTextInputEnd=this._raiseTextInputEnd.bind(this),this._diagramInstance.onToggleFullscreen=this._onToggleFullScreen.bind(this),this._diagramInstance.onShowContextMenu=this._onShowContextMenu.bind(this),this._diagramInstance.onHideContextMenu=this._onHideContextMenu.bind(this),this._diagramInstance.onShowContextToolbox=this._onShowContextToolbox.bind(this),this._diagramInstance.onHideContextToolbox=this._onHideContextToolbox.bind(this),this._diagramInstance.onNativeAction.add({notifyItemClick:this._raiseItemClickAction.bind(this),notifyItemDblClick:this._raiseItemDblClickAction.bind(this),notifySelectionChanged:this._raiseSelectionChanged.bind(this)}),this._diagramInstance.onRequestOperation=this._raiseRequestEditOperation.bind(this),this._updateEventSubscriptionMethods(),this._updateDefaultItemProperties(),this._updateEditingSettings(),this._updateShapeTexts(),this._updateUnitItems(),this._updateFormatUnitsMethod(),\"in\"!==this.option(\"units\")&&this._updateUnitsState(),this.isReadOnlyMode()&&this._updateReadOnlyState(),this.option(\"pageSize\")&&(this.option(\"pageSize.items\")&&this._updatePageSizeItemsState(),this.option(\"pageSize.width\")&&this.option(\"pageSize.height\")&&this._updatePageSizeState()),\"portrait\"!==this.option(\"pageOrientation\")&&this._updatePageOrientationState(),\"#ffffff\"!==this.option(\"pageColor\")&&this._updatePageColorState(),\"in\"!==this.option(\"viewUnits\")&&this._updateViewUnitsState(),this.option(\"showGrid\")||this._updateShowGridState(),this.option(\"snapToGrid\")||this._updateSnapToGridState(),this.option(\"gridSize\")&&this._updateGridSizeState(),1!==this.option(\"zoomLevel\")&&this._updateZoomLevelState(),this.option(\"simpleView\")&&this._updateSimpleViewState(),\"disabled\"!==this.option(\"autoZoomMode\")&&this._updateAutoZoomState(),this.option(\"fullScreen\")){var t=(0,p.getWindow)();t&&t.self!==t.top?this.option(\"fullScreen\",!1):this._updateFullscreenState()}this._createOptionsUpdateBar(),(0,p.hasWindow)()&&this._diagramInstance.initMeasurer(this.$element()[0]),this._updateCustomShapes(this._getCustomShapes()),this._refreshDataSources()},r._createOptionsUpdateBar=function(){this.optionsUpdateBar||(this.optionsUpdateBar=new R.default(this),this._diagramInstance.registerBar(this.optionsUpdateBar))},r._deleteOptionsUpdateBar=function(){delete this.optionsUpdateBar},r._clean=function(){this._diagramInstance&&(this._diagramInstance.cleanMarkup((function(e){(0,a.default)(e).empty()})),this._deleteOptionsUpdateBar()),e.prototype._clean.call(this)},r._dispose=function(){this._killCaptureFocusTimeout(),e.prototype._dispose.call(this),this._diagramInstance&&(this._diagramInstance.dispose(),this._diagramInstance=void 0)},r._executeDiagramCommand=function(e,t){this._diagramInstance.getCommand(e).execute(t)},r.getNodeDataSource=function(){return this._nodesOption&&this._nodesOption.getDataSource()},r.getEdgeDataSource=function(){return this._edgesOption&&this._edgesOption.getDataSource()},r._refreshDataSources=function(){this._beginUpdateDiagram(),this._refreshNodesDataSource(),this._refreshEdgesDataSource(),this._endUpdateDiagram()},r._refreshNodesDataSource=function(){this._nodesOption&&(this._nodesOption._disposeDataSource(),delete this._nodesOption),this.option(\"nodes.dataSource\")&&(this._nodesOption=new V.default(this),this._nodesOption.option(\"dataSource\",this.option(\"nodes.dataSource\")),this._nodesOption._refreshDataSource())},r._refreshEdgesDataSource=function(){this._edgesOption&&(this._edgesOption._disposeDataSource(),delete this._edgesOption),this.option(\"edges.dataSource\")&&(this._edgesOption=new F.default(this),this._edgesOption.option(\"dataSource\",this.option(\"edges.dataSource\")),this._edgesOption._refreshDataSource())},r._getDiagramData=function(){var e,t=(0,f.getDiagram)().DiagramCommand;return this._executeDiagramCommand(t.Export,(function(t){e=t})),e},r._setDiagramData=function(e,t){var n=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(n.Import,{data:e,keepExistingItems:t})},r.isReadOnlyMode=function(){return this.option(\"readOnly\")||this.option(\"disabled\")},r._onDataSourceChanged=function(){this._bindDiagramData()},r._getChangesKeys=function(e){return e.map((function(e){return(0,d.isDefined)(e.internalKey)?e.internalKey:(0,d.isDefined)(e.key)?e.key:null})).filter((function(e){return(0,d.isDefined)(e)}))},r._createOptionGetter=function(e){var t=this.option(e);return t&&(0,c.compileGetter)(t)},r._onRequestUpdateLayout=function(e){this._requestLayoutUpdateAction||this._createRequestLayoutUpdateAction();var t={changes:e,allowed:!1};return this._requestLayoutUpdateAction(t),t.allowed},r._createOptionSetter=function(e){var t=this.option(e);return(0,d.isFunction)(t)?t:t&&(0,c.compileSetter)(t)},r._bindDiagramData=function(){if(!this._updateDiagramLockCount&&this._isBindingMode()){var e,t,n,i,o,a,r,s,l=(0,f.getDiagram)(),u=l.DiagramCommand,d=l.ConnectorLineOption,c=l.ConnectorLineEnding,h={nodeDataSource:this._nodesOption&&this._nodesOption.getItems(),edgeDataSource:this._edgesOption&&this._edgesOption.getItems(),nodeDataImporter:{getKey:this._createOptionGetter(\"nodes.keyExpr\"),setKey:this._createOptionSetter(\"nodes.keyExpr\"),getCustomData:this._createOptionGetter(\"nodes.customDataExpr\"),setCustomData:this._createOptionSetter(\"nodes.customDataExpr\"),getLocked:this._createOptionGetter(\"nodes.lockedExpr\"),setLocked:this._createOptionSetter(\"nodes.lockedExpr\"),getStyle:this._createOptionGetter(\"nodes.styleExpr\"),setStyle:this._createOptionSetter(\"nodes.styleExpr\"),getStyleText:this._createOptionGetter(\"nodes.textStyleExpr\"),setStyleText:this._createOptionSetter(\"nodes.textStyleExpr\"),getZIndex:this._createOptionGetter(\"nodes.zIndexExpr\"),setZIndex:this._createOptionSetter(\"nodes.zIndexExpr\"),getType:this._createOptionGetter(\"nodes.typeExpr\"),setType:this._createOptionSetter(\"nodes.typeExpr\"),getText:this._createOptionGetter(\"nodes.textExpr\"),setText:this._createOptionSetter(\"nodes.textExpr\"),getImage:this._createOptionGetter(\"nodes.imageUrlExpr\"),setImage:this._createOptionSetter(\"nodes.imageUrlExpr\"),getLeft:this._createOptionGetter(\"nodes.leftExpr\"),setLeft:this._createOptionSetter(\"nodes.leftExpr\"),getTop:this._createOptionGetter(\"nodes.topExpr\"),setTop:this._createOptionSetter(\"nodes.topExpr\"),getWidth:this._createOptionGetter(\"nodes.widthExpr\"),setWidth:this._createOptionSetter(\"nodes.widthExpr\"),getHeight:this._createOptionGetter(\"nodes.heightExpr\"),setHeight:this._createOptionSetter(\"nodes.heightExpr\"),getParentKey:this._createOptionGetter(\"nodes.parentKeyExpr\"),setParentKey:this._createOptionSetter(\"nodes.parentKeyExpr\"),getItems:this._createOptionGetter(\"nodes.itemsExpr\"),setItems:this._createOptionSetter(\"nodes.itemsExpr\"),getChildren:r=this._createOptionGetter(\"nodes.containerChildrenExpr\"),setChildren:s=this._createOptionSetter(\"nodes.containerChildrenExpr\"),getContainerKey:!r&&!s&&this._createOptionGetter(\"nodes.containerKeyExpr\"),setContainerKey:!r&&!s&&this._createOptionSetter(\"nodes.containerKeyExpr\")},edgeDataImporter:{getKey:this._createOptionGetter(\"edges.keyExpr\"),setKey:this._createOptionSetter(\"edges.keyExpr\"),getCustomData:this._createOptionGetter(\"edges.customDataExpr\"),setCustomData:this._createOptionSetter(\"edges.customDataExpr\"),getLocked:this._createOptionGetter(\"edges.lockedExpr\"),setLocked:this._createOptionSetter(\"edges.lockedExpr\"),getStyle:this._createOptionGetter(\"edges.styleExpr\"),setStyle:this._createOptionSetter(\"edges.styleExpr\"),getStyleText:this._createOptionGetter(\"edges.textStyleExpr\"),setStyleText:this._createOptionSetter(\"edges.textStyleExpr\"),getZIndex:this._createOptionGetter(\"edges.zIndexExpr\"),setZIndex:this._createOptionSetter(\"edges.zIndexExpr\"),getFrom:this._createOptionGetter(\"edges.fromExpr\"),setFrom:this._createOptionSetter(\"edges.fromExpr\"),getFromPointIndex:this._createOptionGetter(\"edges.fromPointIndexExpr\"),setFromPointIndex:this._createOptionSetter(\"edges.fromPointIndexExpr\"),getTo:this._createOptionGetter(\"edges.toExpr\"),setTo:this._createOptionSetter(\"edges.toExpr\"),getToPointIndex:this._createOptionGetter(\"edges.toPointIndexExpr\"),setToPointIndex:this._createOptionSetter(\"edges.toPointIndexExpr\"),getPoints:this._createOptionGetter(\"edges.pointsExpr\"),setPoints:this._createOptionSetter(\"edges.pointsExpr\"),getText:this._createOptionGetter(\"edges.textExpr\"),setText:this._createOptionSetter(\"edges.textExpr\"),getLineOption:(e=this._createOptionGetter(\"edges.lineTypeExpr\"))&&function(t){var n=e(t);return this._getConnectorLineOption(n)}.bind(this),setLineOption:(t=this._createOptionSetter(\"edges.lineTypeExpr\"))&&function(e,n){switch(n){case d.Straight:n=\"straight\";break;case d.Orthogonal:n=\"orthogonal\"}t(e,n)}.bind(this),getStartLineEnding:(n=this._createOptionGetter(\"edges.fromLineEndExpr\"))&&function(e){var t=n(e);return this._getConnectorLineEnding(t)}.bind(this),setStartLineEnding:(i=this._createOptionSetter(\"edges.fromLineEndExpr\"))&&function(e,t){switch(t){case c.Arrow:t=\"arrow\";break;case c.OutlinedTriangle:t=\"outlinedTriangle\";break;case c.FilledTriangle:t=\"filledTriangle\";break;case c.None:t=\"none\"}i(e,t)}.bind(this),getEndLineEnding:(o=this._createOptionGetter(\"edges.toLineEndExpr\"))&&function(e){var t=o(e);return this._getConnectorLineEnding(t)}.bind(this),setEndLineEnding:(a=this._createOptionSetter(\"edges.toLineEndExpr\"))&&function(e,t){switch(t){case c.Arrow:t=\"arrow\";break;case c.OutlinedTriangle:t=\"outlinedTriangle\";break;case c.FilledTriangle:t=\"filledTriangle\";break;case c.None:t=\"none\"}a(e,t)}.bind(this)},layoutParameters:this._getDataBindingLayoutParameters()};this._executeDiagramCommand(u.BindDocument,h)}},r._reloadContentByChanges=function(e,t){var n=this._getChangesKeys(e),i=this._onRequestUpdateLayout(e);this._reloadContent(n,i,t)},r._reloadContent=function(e,t,n){var i=this;this._diagramInstance.reloadContent(e,(function(){var e,t;return i._nodesOption&&n&&(e=i._nodesOption.getItems()),i._edgesOption&&n&&(t=i._edgesOption.getItems()),{nodeDataSource:e,edgeDataSource:t}}),t&&this._getDataBindingLayoutParameters(),n)},r._getConnectorLineOption=function(e){var t=(0,f.getDiagram)().ConnectorLineOption;switch(e){case\"straight\":return t.Straight;default:return t.Orthogonal}},r._getConnectorLineEnding=function(e){var t=(0,f.getDiagram)().ConnectorLineEnding;switch(e){case\"arrow\":return t.Arrow;case\"outlinedTriangle\":return t.OutlinedTriangle;case\"filledTriangle\":return t.FilledTriangle;default:return t.None}},r._getDataBindingLayoutParameters=function(){var e=(0,f.getDiagram)(),t=e.DataLayoutType,n=e.DataLayoutOrientation,i=this.option(\"nodes.autoLayout\")||\"off\",o=i.type||i,a={};if(\"off\"!==o&&(\"auto\"!==o||!this._hasNodePositionExprs())){switch(o){case\"tree\":a.type=t.Tree;break;default:a.type=t.Sugiyama}switch(i.orientation){case\"vertical\":a.orientation=n.Vertical;break;case\"horizontal\":a.orientation=n.Horizontal}(this.option(\"edges.fromPointIndexExpr\")||this.option(\"edges.toPointIndexExpr\"))&&(a.skipPointIndices=!0)}return a.autoSizeEnabled=!!this.option(\"nodes.autoSizeEnabled\"),a},r._hasNodePositionExprs=function(){return this.option(\"nodes.topExpr\")&&this.option(\"nodes.leftExpr\")},r._getAutoZoomValue=function(e){var t=(0,f.getDiagram)().AutoZoomMode;switch(e){case\"fitContent\":return t.FitContent;case\"fitWidth\":return t.FitToWidth;default:return t.Disabled}},r._isBindingMode=function(){return this._nodesOption&&this._nodesOption.hasItems()||this._edgesOption&&this._edgesOption.hasItems()},r._beginUpdateDiagram=function(){this._updateDiagramLockCount++},r._endUpdateDiagram=function(){this._updateDiagramLockCount=Math.max(this._updateDiagramLockCount-1,0),this._updateDiagramLockCount||this._bindDiagramData()},r._getCustomShapes=function(){return this.option(\"customShapes\")||[]},r._getToolboxGroups=function(){return A.default.getGroups(this.option(\"toolbox.groups\"))},r._updateAllCustomShapes=function(){this._diagramInstance.removeAllCustomShapes(),this._updateCustomShapes(this._getCustomShapes())},r._updateCustomShapes=function(e,t){var n=this;Array.isArray(t)&&this._diagramInstance.removeCustomShapes(t.map((function(e){return e.type}))),Array.isArray(e)&&this._diagramInstance.addCustomShapes(e.map((function(e){var t=e.template||n.option(\"customShapeTemplate\"),i=t&&n._getTemplate(t),o=e.toolboxTemplate||n.option(\"customShapeToolboxTemplate\"),r=o&&n._getTemplate(o);return{category:e.category,type:e.type,baseType:e.baseType,title:e.title,svgUrl:e.backgroundImageUrl,svgToolboxUrl:e.backgroundImageToolboxUrl,svgLeft:e.backgroundImageLeft,svgTop:e.backgroundImageTop,svgWidth:e.backgroundImageWidth,svgHeight:e.backgroundImageHeight,defaultWidth:e.defaultWidth,defaultHeight:e.defaultHeight,toolboxWidthToHeightRatio:e.toolboxWidthToHeightRatio,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,allowResize:e.allowResize,defaultText:e.defaultText,allowEditText:e.allowEditText,textLeft:e.textLeft,textTop:e.textTop,textWidth:e.textWidth,textHeight:e.textHeight,defaultImageUrl:e.defaultImageUrl,allowEditImage:e.allowEditImage,imageLeft:e.imageLeft,imageTop:e.imageTop,imageWidth:e.imageWidth,imageHeight:e.imageHeight,connectionPoints:e.connectionPoints&&e.connectionPoints.map((function(e){return{x:e.x,y:e.y}})),createTemplate:i&&function(e,t){i.render({model:n._nativeItemToDiagramItem(t),container:(0,g.getPublicElement)((0,a.default)(e))})},createToolboxTemplate:r&&function(e,t){r.render({model:n._nativeItemToDiagramItem(t),container:(0,g.getPublicElement)((0,a.default)(e))})},destroyTemplate:i&&function(e){(0,a.default)(e).empty()},templateLeft:e.templateLeft,templateTop:e.templateTop,templateWidth:e.templateWidth,templateHeight:e.templateHeight,keepRatioOnAutoSize:e.keepRatioOnAutoSize}})))},r._getViewport=function(){var e=this.$element().closest(\".dx-viewport\");return e.length?e:(0,a.default)(\"body\")},r._onToggleFullScreen=function(e){this.toggleFullscreenLock>0||(this._changeNativeFullscreen(e),e?(this._prevParent=this.$element().parent(),this._prevFullScreenZIndex=this.$element().css(\"zIndex\"),this._fullScreenZIndex=b.create(x.default.baseZIndex()),this.$element().css(\"zIndex\",this._fullScreenZIndex),this.$element().appendTo(this._getViewport())):(this.$element().appendTo(this._prevParent),this._fullScreenZIndex&&(b.remove(this._fullScreenZIndex),this.$element().css(\"zIndex\",this._prevFullScreenZIndex))),this.$element().toggleClass(\"dx-diagram-fullscreen\",e),this._processDiagramResize(),this._toolbox&&(this._toolbox.repaint(),this._toolbox._popup.option(\"propagateOutsideClick\",!e)),this._propertiesPanel&&this._propertiesPanel.repaint(),this._historyToolbar&&this._updateHistoryToolbarPosition())},r._changeNativeFullscreen=function(e){var t=(0,p.getWindow)();t.self!==t.top&&e!==this._inNativeFullscreen()&&(e?this._subscribeFullscreenNativeChanged():this._unsubscribeFullscreenNativeChanged(),this._setNativeFullscreen(e))},r._setNativeFullscreen=function(e){var t=(0,p.getWindow)(),n=t.self.document,i=t.self.document.body;e?i.requestFullscreen?i.requestFullscreen():i.mozRequestFullscreen?i.mozRequestFullscreen():i.webkitRequestFullscreen?i.webkitRequestFullscreen():i.msRequestFullscreen&&i.msRequestFullscreen():n.exitFullscreen?n.exitFullscreen():n.mozCancelFullscreen?n.mozCancelFullscreen():n.webkitExitFullscreen?n.webkitExitFullscreen():n.msExitFullscreen&&n.msExitFullscreen()},r._inNativeFullscreen=function(){var e=(0,p.getWindow)().document;return!!((e.fullscreenElement||e.msFullscreenElement||e.webkitFullscreenElement)===e.body||e.webkitIsFullscreen)},r._subscribeFullscreenNativeChanged=function(){var e=(0,p.getWindow)().document,t=this._onNativeFullscreenChangeHandler.bind(this);m.default.on(e,j,t),m.default.on(e,W,t),m.default.on(e,G,t),m.default.on(e,q,t)},r._unsubscribeFullscreenNativeChanged=function(){var e=(0,p.getWindow)().document;m.default.off(e,j),m.default.off(e,W),m.default.off(e,G),m.default.off(e,q)},r._onNativeFullscreenChangeHandler=function(){this._inNativeFullscreen()||(this._unsubscribeFullscreenNativeChanged(),this.option(\"fullScreen\",!1))},r._executeDiagramFullscreenCommand=function(e){var t=(0,f.getDiagram)().DiagramCommand;this.toggleFullscreenLock++,this._executeDiagramCommand(t.Fullscreen,e),this.toggleFullscreenLock--},r._onShowContextMenu=function(e,t,n){this._contextMenu&&this._contextMenu._show(e,t,n)},r._onHideContextMenu=function(){this._contextMenu&&this._contextMenu._hide()},r._onShowContextToolbox=function(e,t,n,i,o){this._contextToolbox&&this._contextToolbox._show(e,t,n,i,o)},r._onHideContextToolbox=function(){this._contextToolbox&&this._contextToolbox._hide()},r._getDiagramUnitValue=function(e){var t=(0,f.getDiagram)().DiagramUnit;switch(e){case\"in\":return t.In;case\"cm\":return t.Cm;case\"px\":return t.Px;default:return t.In}},r._updateReadOnlyState=function(){var e=(0,f.getDiagram)().DiagramCommand,t=this.isReadOnlyMode();this._executeDiagramCommand(e.ToggleReadOnly,t)},r._updateZoomLevelState=function(){if(this.option(\"zoomLevel.items\")){this._updateZoomLevelItemsState();var e=this.option(\"zoomLevel.value\");if(!e)return;var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.ZoomLevel,e)}else{var n=this.option(\"zoomLevel.value\")||this.option(\"zoomLevel\");if(!n)return;var i=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(i.ZoomLevel,n)}},r._updateZoomLevelItemsState=function(){var e=this.option(\"zoomLevel.items\");if(Array.isArray(e)){var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.ZoomLevelItems,e)}},r._updateAutoZoomState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.SwitchAutoZoom,this._getAutoZoomValue(this.option(\"autoZoomMode\")))},r._updateSimpleViewState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.ToggleSimpleView,this.option(\"simpleView\"))},r._updateFullscreenState=function(){var e=this.option(\"fullScreen\");this._executeDiagramFullscreenCommand(e),this._onToggleFullScreen(e)},r._updateShowGridState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.ShowGrid,this.option(\"showGrid\"))},r._updateSnapToGridState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.SnapToGrid,this.option(\"snapToGrid\"))},r._updateGridSizeState=function(){if(this.option(\"gridSize.items\")){this._updateGridSizeItemsState();var e=this.option(\"gridSize.value\");if(!e)return;var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.GridSize,e)}else{var n=this.option(\"gridSize.value\")||this.option(\"gridSize\");if(!n)return;var i=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(i.GridSize,n)}},r._updateGridSizeItemsState=function(){var e=this.option(\"gridSize.items\");if(Array.isArray(e)){var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.GridSizeItems,e)}},r._updateUnitItems=function(){var e=(0,f.getDiagram)().DiagramLocalizationService,t=this._getUnitItems();this._unitItems!==t&&(this._unitItems=t,e.unitItems=t)},r._getUnitItems=function(){var e=(0,f.getDiagram)().DiagramUnit,t={};return t[e.In]=v.default.format(\"dxDiagram-unitIn\"),t[e.Cm]=v.default.format(\"dxDiagram-unitCm\"),t[e.Px]=v.default.format(\"dxDiagram-unitPx\"),t},r._updateFormatUnitsMethod=function(){(0,f.getDiagram)().DiagramLocalizationService.formatUnit=function(e){return y.default.format(e)}},r._updateViewUnitsState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.ViewUnits,this._getDiagramUnitValue(this.option(\"viewUnits\")))},r._updateUnitsState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.Units,this._getDiagramUnitValue(this.option(\"units\")))},r._updatePageSizeState=function(){var e=this.option(\"pageSize\");if(e&&e.width&&e.height){var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.PageSize,e)}},r._updatePageSizeItemsState=function(){var e=this.option(\"pageSize.items\");if(Array.isArray(e)){var t=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(t.PageSizeItems,e)}},r._updatePageOrientationState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.PageLandscape,\"landscape\"===this.option(\"pageOrientation\"))},r._updatePageColorState=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.PageColor,this.option(\"pageColor\"))},r._updateShapeTexts=function(){var e=(0,f.getDiagram)().DiagramLocalizationService,t=this._getShapeTexts();this._shapeTexts!==t&&(this._shapeTexts=t,e.shapeTexts=t)},r._getShapeTexts=function(){var e=(0,f.getDiagram)().ShapeTypes,t={};return t[e.Text]=v.default.format(\"dxDiagram-shapeText\"),t[e.Rectangle]=v.default.format(\"dxDiagram-shapeRectangle\"),t[e.Ellipse]=v.default.format(\"dxDiagram-shapeEllipse\"),t[e.Cross]=v.default.format(\"dxDiagram-shapeCross\"),t[e.Triangle]=v.default.format(\"dxDiagram-shapeTriangle\"),t[e.Diamond]=v.default.format(\"dxDiagram-shapeDiamond\"),t[e.Heart]=v.default.format(\"dxDiagram-shapeHeart\"),t[e.Pentagon]=v.default.format(\"dxDiagram-shapePentagon\"),t[e.Hexagon]=v.default.format(\"dxDiagram-shapeHexagon\"),t[e.Octagon]=v.default.format(\"dxDiagram-shapeOctagon\"),t[e.Star]=v.default.format(\"dxDiagram-shapeStar\"),t[e.ArrowLeft]=v.default.format(\"dxDiagram-shapeArrowLeft\"),t[e.ArrowUp]=v.default.format(\"dxDiagram-shapeArrowUp\"),t[e.ArrowRight]=v.default.format(\"dxDiagram-shapeArrowRight\"),t[e.ArrowDown]=v.default.format(\"dxDiagram-shapeArrowDown\"),t[e.ArrowUpDown]=v.default.format(\"dxDiagram-shapeArrowUpDown\"),t[e.ArrowLeftRight]=v.default.format(\"dxDiagram-shapeArrowLeftRight\"),t[e.Process]=v.default.format(\"dxDiagram-shapeProcess\"),t[e.Decision]=v.default.format(\"dxDiagram-shapeDecision\"),t[e.Terminator]=v.default.format(\"dxDiagram-shapeTerminator\"),t[e.PredefinedProcess]=v.default.format(\"dxDiagram-shapePredefinedProcess\"),t[e.Document]=v.default.format(\"dxDiagram-shapeDocument\"),t[e.MultipleDocuments]=v.default.format(\"dxDiagram-shapeMultipleDocuments\"),t[e.ManualInput]=v.default.format(\"dxDiagram-shapeManualInput\"),t[e.Preparation]=v.default.format(\"dxDiagram-shapePreparation\"),t[e.Data]=v.default.format(\"dxDiagram-shapeData\"),t[e.Database]=v.default.format(\"dxDiagram-shapeDatabase\"),t[e.HardDisk]=v.default.format(\"dxDiagram-shapeHardDisk\"),t[e.InternalStorage]=v.default.format(\"dxDiagram-shapeInternalStorage\"),t[e.PaperTape]=v.default.format(\"dxDiagram-shapePaperTape\"),t[e.ManualOperation]=v.default.format(\"dxDiagram-shapeManualOperation\"),t[e.Delay]=v.default.format(\"dxDiagram-shapeDelay\"),t[e.StoredData]=v.default.format(\"dxDiagram-shapeStoredData\"),t[e.Display]=v.default.format(\"dxDiagram-shapeDisplay\"),t[e.Merge]=v.default.format(\"dxDiagram-shapeMerge\"),t[e.Connector]=v.default.format(\"dxDiagram-shapeConnector\"),t[e.Or]=v.default.format(\"dxDiagram-shapeOr\"),t[e.SummingJunction]=v.default.format(\"dxDiagram-shapeSummingJunction\"),t[e.Container]=v.default.format(\"dxDiagram-shapeContainerDefaultText\"),t[e.VerticalContainer]=v.default.format(\"dxDiagram-shapeVerticalContainer\"),t[e.HorizontalContainer]=v.default.format(\"dxDiagram-shapeHorizontalContainer\"),t[e.Card]=v.default.format(\"dxDiagram-shapeCardDefaultText\"),t[e.CardWithImageOnLeft]=v.default.format(\"dxDiagram-shapeCardWithImageOnLeft\"),t[e.CardWithImageOnTop]=v.default.format(\"dxDiagram-shapeCardWithImageOnTop\"),t[e.CardWithImageOnRight]=v.default.format(\"dxDiagram-shapeCardWithImageOnRight\"),t},r._updateEventSubscriptionMethods=function(){var e=(0,f.getDiagram)().RenderHelper;e.addEventListener=function(e,t,n){m.default.on(e,t,n)},e.removeEventListener=function(e,t,n){m.default.off(e,t,n)}},r._updateDefaultItemProperties=function(){this.option(\"defaultItemProperties.style\")&&this._diagramInstance.setInitialStyleProperties(this.option(\"defaultItemProperties.style\")),this.option(\"defaultItemProperties.textStyle\")&&this._diagramInstance.setInitialTextStyleProperties(this.option(\"defaultItemProperties.textStyle\")),this._diagramInstance.setInitialConnectorProperties({lineOption:this._getConnectorLineOption(this.option(\"defaultItemProperties.connectorLineType\")),startLineEnding:this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineStart\")),endLineEnding:this._getConnectorLineEnding(this.option(\"defaultItemProperties.connectorLineEnd\"))}),this._diagramInstance.applyShapeSizeSettings({shapeMinWidth:this.option(\"defaultItemProperties.shapeMinWidth\"),shapeMaxWidth:this.option(\"defaultItemProperties.shapeMaxWidth\"),shapeMinHeight:this.option(\"defaultItemProperties.shapeMinHeight\"),shapeMaxHeight:this.option(\"defaultItemProperties.shapeMaxHeight\")})},r._updateEditingSettings=function(){this._diagramInstance.applyOperationSettings({addShape:this.option(\"editing.allowAddShape\"),addShapeFromToolbox:this.option(\"editing.allowAddShape\"),deleteShape:this.option(\"editing.allowDeleteShape\"),deleteConnector:this.option(\"editing.allowDeleteConnector\"),changeConnection:this.option(\"editing.allowChangeConnection\"),changeConnectorPoints:this.option(\"editing.allowChangeConnectorPoints\"),changeShapeText:this.option(\"editing.allowChangeShapeText\"),changeConnectorText:this.option(\"editing.allowChangeConnectorText\"),resizeShape:this.option(\"editing.allowResizeShape\"),moveShape:this.option(\"editing.allowMoveShape\")})},r.fitToContent=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.FitToScreen)},r.fitToWidth=function(){var e=(0,f.getDiagram)().DiagramCommand;this._executeDiagramCommand(e.FitToWidth)},r.focus=function(){this._captureFocus()},r.export=function(){return this._getDiagramData()},r.exportTo=function(e,t){var n=this._getDiagramExportToCommand(e);this._executeDiagramCommand(n,t)},r._getDiagramExportToCommand=function(e){var t=(0,f.getDiagram)().DiagramCommand;switch(e){case\"png\":return t.ExportPng;case\"jpg\":return t.ExportJpg;default:return t.ExportSvg}},r.import=function(e,t){this._setDiagramData(e,t),this._raiseDataChangeAction()},r.updateToolbox=function(){this._diagramInstance&&this._diagramInstance.refreshToolbox(),this._toolbox&&(this._toolbox.updateTooltips(),this._toolbox.updateFilter(),this._toolbox.updateMaxHeight())},r._getDefaultOptions=function(){return(0,u.extend)(e.prototype._getDefaultOptions.call(this),{readOnly:!1,zoomLevel:1,simpleView:!1,autoZoomMode:\"disabled\",fullScreen:!1,showGrid:!0,snapToGrid:!0,units:\"in\",viewUnits:\"in\",pageOrientation:\"portrait\",pageColor:\"#ffffff\",hasChanges:!1,nodes:{dataSource:null,keyExpr:\"id\",customDataExpr:void 0,lockedExpr:void 0,styleExpr:void 0,textStyleExpr:void 0,zIndexExpr:void 0,typeExpr:\"type\",textExpr:\"text\",imageUrlExpr:void 0,parentKeyExpr:void 0,itemsExpr:void 0,leftExpr:void 0,topExpr:void 0,widthExpr:void 0,heightExpr:void 0,containerKeyExpr:\"containerKey\",containerChildrenExpr:void 0,autoLayout:\"auto\",autoSizeEnabled:!0},edges:{dataSource:null,keyExpr:\"id\",customDataExpr:void 0,lockedExpr:void 0,styleExpr:void 0,textStyleExpr:void 0,zIndexExpr:void 0,fromExpr:\"from\",fromPointIndexExpr:void 0,toExpr:\"to\",toPointIndexExpr:void 0,pointsExpr:void 0,textExpr:void 0,lineTypeExpr:void 0,fromLineEndExpr:void 0,toLineEndExpr:void 0},customShapes:[],toolbox:{visibility:\"auto\",shapeIconsPerRow:3,showSearch:!0},mainToolbar:{visible:!1},historyToolbar:{visible:!0},viewToolbar:{visible:!0},contextMenu:{enabled:!0},contextToolbox:{enabled:!0,shapeIconsPerRow:4,width:152},propertiesPanel:{visibility:\"auto\"},defaultItemProperties:{connectorLineType:\"orthogonal\",connectorLineStart:\"none\",connectorLineEnd:\"arrow\"},editing:{allowAddShape:!0,allowDeleteShape:!0,allowDeleteConnector:!0,allowChangeConnection:!0,allowChangeConnectorPoints:!0,allowChangeShapeText:!0,allowChangeConnectorText:!0,allowResizeShape:!0,allowMoveShape:!0},export:{fileName:\"Diagram\"},onItemClick:null,onItemDblClick:null,onSelectionChanged:null,onRequestEditOperation:null,onRequestLayoutUpdate:null})},r._raiseDataChangeAction=function(){this._initialized&&this.option(\"hasChanges\",!0)},r._raiseEdgeInsertedAction=function(e,t,n){this._edgesOption&&this._edgesOption.insert(e,t,n)},r._raiseEdgeUpdatedAction=function(e,t,n,i){this._edgesOption&&this._edgesOption.update(e,t,n,i)},r._raiseEdgeRemovedAction=function(e,t,n,i){this._edgesOption&&this._edgesOption.remove(e,t,n,i)},r._raiseNodeInsertedAction=function(e,t,n){this._nodesOption&&this._nodesOption.insert(e,t,n)},r._raiseNodeUpdatedAction=function(e,t,n,i){this._nodesOption&&this._nodesOption.update(e,t,n,i)},r._raiseNodeRemovedAction=function(e,t,n,i){this._nodesOption&&this._nodesOption.remove(e,t,n,i)},r._raiseToolboxDragStart=function(){this._toolbox&&this.isMobileScreenSize()&&(this._toolbox.hide(),this._toolboxDragHidden=!0)},r._raiseToolboxDragEnd=function(){this._toolbox&&this._toolboxDragHidden&&(this._toolbox.show(),delete this._toolboxDragHidden)},r._raiseTextInputStart=function(){this._textInputStarted=!0,this._propertiesPanel&&this.isMobileScreenSize()&&this._propertiesPanel.isVisible()&&(this._propertiesPanel.hide(),this._propertiesPanelTextInputHidden=!0),this._toolbox&&this.isMobileScreenSize()&&this._toolbox.isVisible()&&(this._toolbox.hide(),this._toolboxTextInputHidden=!0)},r._raiseTextInputEnd=function(){this._propertiesPanel&&this._propertiesPanelTextInputHidden&&(this._propertiesPanel.show(),delete this._propertiesPanelTextInputHidden),this._toolbox&&this._toolboxTextInputHidden&&(this._toolbox.show(),delete this._toolboxTextInputHidden),this._textInputStarted=!1},r._createItemClickAction=function(){this._itemClickAction=this._createActionByOption(\"onItemClick\")},r._createItemDblClickAction=function(){this._itemDblClickAction=this._createActionByOption(\"onItemDblClick\")},r._createSelectionChangedAction=function(){this._selectionChangedAction=this._createActionByOption(\"onSelectionChanged\")},r._createRequestEditOperationAction=function(){this._requestEditOperationAction=this._createActionByOption(\"onRequestEditOperation\")},r._createRequestLayoutUpdateAction=function(){this._requestLayoutUpdateAction=this._createActionByOption(\"onRequestLayoutUpdate\")},r._createCustomCommand=function(){this._customCommandAction=this._createActionByOption(\"onCustomCommand\")},r._raiseItemClickAction=function(e){this._itemClickAction||this._createItemClickAction(),this._itemClickAction({item:this._nativeItemToDiagramItem(e)})},r._raiseItemDblClickAction=function(e){this._itemDblClickAction||this._createItemDblClickAction(),this._itemDblClickAction({item:this._nativeItemToDiagramItem(e)})},r._raiseSelectionChanged=function(e){this._selectionChangedAction||this._createSelectionChangedAction(),this._selectionChangedAction({items:e.map(this._nativeItemToDiagramItem.bind(this))})},r._raiseRequestEditOperation=function(e,t){this._requestEditOperationAction||this._createRequestEditOperationAction();var n=this._getRequestEditOperationEventArgs(e,t);this._requestEditOperationAction(n),t.allowed=n.allowed},r._getModelOperation=function(e){var t=(0,f.getDiagram)().DiagramModelOperation;switch(e){case t.AddShape:return\"addShape\";case t.AddShapeFromToolbox:return\"addShapeFromToolbox\";case t.DeleteShape:return\"deleteShape\";case t.DeleteConnector:return\"deleteConnector\";case t.ChangeConnection:return\"changeConnection\";case t.ChangeConnectorPoints:return\"changeConnectorPoints\";case t.BeforeChangeShapeText:return\"beforeChangeShapeText\";case t.ChangeShapeText:return\"changeShapeText\";case t.BeforeChangeConnectorText:return\"beforeChangeConnectorText\";case t.ChangeConnectorText:return\"changeConnectorText\";case t.ResizeShape:return\"resizeShape\";case t.MoveShape:return\"moveShape\"}},r._getRequestEditOperationEventArgs=function(e,t){var n=(0,f.getDiagram)(),i=n.DiagramModelOperation,o=n.ConnectorPosition,a={operation:this._getModelOperation(e),allowed:t.allowed,updateUI:t.updateUI,reason:t.updateUI?\"checkUIElementAvailability\":\"modelModification\"};switch(e){case i.AddShape:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape),position:t.position&&{x:t.position.x,y:t.position.y}};break;case i.AddShapeFromToolbox:a.args={shapeType:t.shapeType};break;case i.DeleteShape:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape)};break;case i.DeleteConnector:a.args={connector:t.connector&&this._nativeItemToDiagramItem(t.connector)};break;case i.ChangeConnection:a.args={newShape:t.shape&&this._nativeItemToDiagramItem(t.shape),oldShape:t.oldShape&&this._nativeItemToDiagramItem(t.oldShape),connector:t.connector&&this._nativeItemToDiagramItem(t.connector),connectionPointIndex:t.connectionPointIndex,connectorPosition:t.position===o.Begin?\"start\":\"end\"};break;case i.ChangeConnectorPoints:a.args={connector:t.connector&&this._nativeItemToDiagramItem(t.connector),newPoints:t.points&&t.points.map((function(e){return{x:e.x,y:e.y}})),oldPoints:t.oldPoints&&t.oldPoints.map((function(e){return{x:e.x,y:e.y}}))};break;case i.BeforeChangeShapeText:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape)};break;case i.ChangeShapeText:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape),text:t.text};break;case i.BeforeChangeConnectorText:a.args={connector:t.connector&&this._nativeItemToDiagramItem(t.connector),index:t.index};break;case i.ChangeConnectorText:a.args={connector:t.connector&&this._nativeItemToDiagramItem(t.connector),index:t.index,text:t.text};break;case i.ResizeShape:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape),newSize:t.size&&{width:t.size.width,height:t.size.height},oldSize:t.oldSize&&{width:t.oldSize.width,height:t.oldSize.height}};break;case i.MoveShape:a.args={shape:t.shape&&this._nativeItemToDiagramItem(t.shape),newPosition:t.position&&{x:t.position.x,y:t.position.y},oldPosition:t.oldPosition&&{x:t.oldPosition.x,y:t.oldPosition.y}}}return a},r._nativeItemToDiagramItem=function(e){var t=e instanceof(0,f.getDiagram)().NativeShape?this._nativeShapeToDiagramShape.bind(this):this._nativeConnectorToDiagramConnector.bind(this);return(0,u.extend)({id:e.id,key:e.key,dataItem:void 0},t(e))},r._nativeShapeToDiagramShape=function(e){return{dataItem:this._nodesOption&&this._nodesOption.findItem(e.key),itemType:\"shape\",text:e.text,type:e.type,position:{x:e.position.x,y:e.position.y},size:{width:e.size.width,height:e.size.height},attachedConnectorIds:e.attachedConnectorIds,containerId:e.containerId,containerChildItemIds:e.containerChildItemIds,containerExpanded:e.containerExpanded}},r._nativeConnectorToDiagramConnector=function(e){return{dataItem:this._edgesOption&&this._edgesOption.findItem(e.key),itemType:\"connector\",texts:e.texts,fromKey:e.fromKey,toKey:e.toKey,fromId:e.fromId,fromPointIndex:e.fromPointIndex,toId:e.toId,toPointIndex:e.toPointIndex,points:e.points.map((function(e){return{x:e.x,y:e.y}}))}},r.getItemByKey=function(e){var t=this._diagramInstance&&this._diagramInstance.getNativeItemByDataKey(e);return t&&this._nativeItemToDiagramItem(t)},r.getItemById=function(e){var t=this._diagramInstance&&this._diagramInstance.getNativeItemByKey(e);return t&&this._nativeItemToDiagramItem(t)},r.getItems=function(){var e=this;return this._diagramInstance.getNativeItems().map((function(t){return t&&e._nativeItemToDiagramItem(t)}))},r.getSelectedItems=function(){var e=this;return this._diagramInstance.getNativeSelectedItems().map((function(t){return t&&e._nativeItemToDiagramItem(t)}))},r.setSelectedItems=function(e){return this._diagramInstance.setSelectedItems(e.map((function(e){return e.id})))},r.scrollToItem=function(e){return this._diagramInstance.scrollToItems([e.id])},r._invalidateContextMenuCommands=function(){this._contextMenu&&this._contextMenu.option({commands:this.option(\"contextMenu.commands\")})},r._invalidateMainToolbarCommands=function(){this._mainToolbar&&this._mainToolbar.option({commands:this.option(\"mainToolbar.commands\")})},r._invalidateHistoryToolbarCommands=function(){this._historyToolbar&&this._historyToolbar.option({commands:this.option(\"historyToolbar.commands\")})},r._invalidateViewToolbarCommands=function(){this._viewToolbar&&this._viewToolbar.option({commands:this.option(\"viewToolbar.commands\")})},r._invalidateToolboxGroups=function(){this._toolbox&&this._toolbox.option({toolboxGroups:this._getToolboxGroups()})},r._optionChanged=function(e){if(this.optionsUpdateBar&&!this.optionsUpdateBar.isUpdateLocked()){this.optionsUpdateBar.beginUpdate();try{this._optionChangedCore(e)}finally{this.optionsUpdateBar.endUpdate()}}},r._optionChangedCore=function(t){var n=this;switch(t.name){case\"readOnly\":case\"disabled\":this._updateReadOnlyState(),this._invalidate();break;case\"zoomLevel\":\"zoomLevel\"!==t.fullName&&\"zoomLevel.items\"!==t.fullName&&\"zoomLevel.value\"!==t.fullName||this._updateZoomLevelState();break;case\"autoZoomMode\":this._updateAutoZoomState();break;case\"simpleView\":this._updateSimpleViewState();break;case\"useNativeScrolling\":this._invalidate();break;case\"fullScreen\":this._updateFullscreenState();break;case\"showGrid\":this._updateShowGridState();break;case\"snapToGrid\":this._updateSnapToGridState();break;case\"gridSize\":\"gridSize\"!==t.fullName&&\"gridSize.items\"!==t.fullName&&\"gridSize.value\"!==t.fullName||this._updateGridSizeState();break;case\"viewUnits\":this._updateViewUnitsState();break;case\"units\":this._updateUnitsState();break;case\"pageSize\":\"pageSize\"!==t.fullName&&\"pageSize.items\"!==t.fullName||this._updatePageSizeItemsState(),\"pageSize\"!==t.fullName&&\"pageSize.width\"!==t.fullName&&\"pageSize.height\"!==t.fullName||this._updatePageSizeState();break;case\"pageOrientation\":this._updatePageOrientationState();break;case\"pageColor\":this._updatePageColorState();break;case\"nodes\":0===t.fullName.indexOf(\"nodes.autoLayout\")?this._refreshDataSources():this._refreshNodesDataSource();break;case\"edges\":this._refreshEdgesDataSource();break;case\"customShapes\":t.fullName!==t.name?this._updateAllCustomShapes():this._updateCustomShapes(t.value,t.previousValue),this._invalidate();break;case\"contextMenu\":\"contextMenu.commands\"===t.fullName?this._invalidateContextMenuCommands():this._invalidate();break;case\"contextToolbox\":case\"propertiesPanel\":this._invalidate();break;case\"toolbox\":\"toolbox.groups\"===t.fullName?this._invalidateToolboxGroups():this._invalidate();break;case\"mainToolbar\":\"mainToolbar.commands\"===t.fullName?this._invalidateMainToolbarCommands():this._invalidate();break;case\"historyToolbar\":\"historyToolbar.commands\"===t.fullName?this._invalidateHistoryToolbarCommands():this._invalidate();break;case\"viewToolbar\":\"viewToolbar.commands\"===t.fullName?this._invalidateViewToolbarCommands():this._invalidate();break;case\"onItemClick\":this._createItemClickAction();break;case\"onItemDblClick\":this._createItemDblClickAction();break;case\"onSelectionChanged\":this._createSelectionChangedAction();break;case\"onRequestEditOperation\":this._createRequestEditOperationAction();break;case\"onRequestLayoutUpdate\":this._createRequestLayoutUpdateAction();break;case\"onCustomCommand\":this._createCustomCommand();break;case\"defaultItemProperties\":this._updateDefaultItemProperties();break;case\"editing\":this._updateEditingSettings();break;case\"export\":this._toolbars.forEach((function(e){e.option(\"export\",n.option(\"export\"))})),this._contextMenu&&this._contextMenu.option(\"export\",this.option(\"export\"));break;case\"hasChanges\":break;default:e.prototype._optionChanged.call(this,t)}},i}(r.default);(0,l.default)(\"dxDiagram\",$);var U=$;t.default=U,e.exports=t.default,e.exports.default=t.default},66156:function(e,t,n){t.default=void 0;var i=a(n(38148)),o=a(n(72321));function a(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype._getCommands=function(){return o.default.getMainToolbarCommands(this.option(\"commands\"),this.option(\"excludeCommands\"))},i}(i.default);t.default=s,e.exports=t.default,e.exports.default=t.default},20261:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(44899);function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var s={getContextMenuItemTemplate:function(e,t,n,i){var r=(0,o.default)(i);r.empty();var s=void 0!==t.rootCommand?t.rootCommand:-1;if(t.icon&&!t.checked){var l=(0,a.getImageContainer)(t.icon);r.append(l)}else if(e._menuHasCheckedItems&&!0===e._menuHasCheckedItems[s]){var u=(0,a.getImageContainer)(\"check\");u.css(\"visibility\",t.checked?\"visible\":\"hidden\"),r.append(u)}r.append('<span class=\"dx-menu-item-text\">'+t.text+\"</span>\"),Array.isArray(t.items)&&t.items.length>0&&r.append('<span class=\"dx-menu-item-popout-container\"><div class=\"dx-menu-item-popout\"></div></span>')},getContextMenuCssClass:function(){return\"dx-diagram-contextmenu\"},onContextMenuItemClick:function(e,t,n){if(void 0===t.command&&void 0===t.name||Array.isArray(t.items)&&t.items.length){if(void 0!==t.rootCommand&&void 0!==t.value){var i=s.getItemCommandParameter(e,t,t.value);n.call(this,t.rootCommand,void 0,i)}}else{var o=s.getItemCommandParameter(e,t);n.call(this,t.command,t.name,o)}},getItemValue:function(e){return\"object\"===r(e.value)?JSON.stringify(e.value):e.value},getItemOptionText:function(e,t){if(e){t=t.slice();var n=this._getParentItemOptionText(t);e._originalItemsInfo&&e._originalItemsInfo[n]&&(t[t.length-1]+=e._originalItemsInfo[n].indexPathCorrection)}return this._getItemOptionTextCore(t)},_getParentItemOptionText:function(e){var t=e.slice(0,e.length-1);return this._getItemOptionTextCore(t)},_getItemOptionTextCore:function(e){return e.reduce((function(e,t){return e+\"items[\".concat(t,\"].\")}),\"\")},getItemCommandParameter:function(e,t,n){return t.getParameter?t.getParameter(e):n},updateContextMenuItems:function(e,t,n,i){var o=this;e._originalItemsInfo||(e._originalItemsInfo={}),e._originalItemsInfo[t]||(e._originalItemsInfo[t]={items:e.option(t+\"items\")||[]}),i=i.map((function(t){return{value:o.getItemValue(t),text:t.text,checked:t.checked,widget:e,rootCommand:n}}));var a=e._originalItemsInfo[t].items;e.option(t+\"items\",i.concat(a)),e._originalItemsInfo[t]&&a.length&&(e._originalItemsInfo[t].indexPathCorrection=i.length)},updateContextMenuItemVisible:function(e,t,n){e.option(t+\"visible\",n)},updateContextMenuItemValue:function(e,t,n,i){var o=e.option(t+\"items\");\"boolean\"!=typeof i||o&&o.length?void 0!==i&&(this._setContextMenuHasCheckedItems(e,n),Array.isArray(o)&&o.forEach((function(e,t){e.checked=e.value===i}))):(this._setContextMenuHasCheckedItems(e,-1),e.option(t+\"checked\",i))},_setContextMenuHasCheckedItems:function(e,t){e._menuHasCheckedItems||(e._menuHasCheckedItems={}),e._menuHasCheckedItems[t]=!0}},l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},47596:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(14390)),a=l(n(55994)),r=n(39611),s=l(n(93786));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=(0,r.addNamespace)(s.default.up,\"dxDiagramPanel\"),c=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var r=o.prototype;return r._init=function(){e.prototype._init.call(this),this._createOnPointerUpAction()},r._render=function(){e.prototype._render.call(this),this._attachPointerUpEvent()},r._getPointerUpElements=function(){return[this.$element()]},r._attachPointerUpEvent=function(){var e=this;this._getPointerUpElements().forEach((function(t){a.default.off(t,d),a.default.on(t,d,(function(t){(0,i.default)(t.target).closest(\".dx-textbox\").length||e._onPointerUpAction()}))}))},r._createOnPointerUpAction=function(){this._onPointerUpAction=this._createActionByOption(\"onPointerUp\")},r._optionChanged=function(t){switch(t.name){case\"onPointerUp\":this._createOnPointerUpAction();break;default:e.prototype._optionChanged.call(this,t)}},o}(o.default);t.default=c,e.exports=t.default,e.exports.default=t.default},64863:function(e,t,n){t.default=void 0;var i=n(58664),o=d(n(68374)),a=n(13306),r=d(n(4741)),s=d(n(21807)),l=d(n(99967)),u=d(n(72321));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var d=l.prototype;return d._init=function(){e.prototype._init.call(this),this._commandTabs=u.default.getPropertyPanelCommandTabs(this.option(\"propertyTabs\")),this._createOnCreateToolbar(),this._createOnSelectedGroupChanged()},d._initMarkup=function(){this._toolbars=[],this._selectedToolbar=void 0,e.prototype._initMarkup.call(this)},d._getPopupClass=function(){var e=\"dx-diagram-properties-popup\";return this._hasTabPanel()||(e+=\" dx-diagram-properties-popup-notabs\"),e},d._getPopupWidth=function(){return this.isMobileView()?\"100%\":420},d._getPopupHeight=function(){return 340},d._getPopupPosition=function(){var e=this.option(\"offsetParent\");return this.isMobileView()?{my:\"left bottom\",at:\"left bottom\",of:e}:{my:\"right bottom\",at:\"right bottom\",of:e,offset:\"-\"+this.option(\"offsetX\")+\" -\"+this.option(\"offsetY\")}},d._getPopupAnimation=function(){var t=this.option(\"offsetParent\");return this.isMobileView()?{hide:this._getPopupSlideAnimationObject({direction:\"bottom\",from:{position:{my:\"left bottom\",at:\"left bottom\",of:t}},to:{position:{my:\"left top\",at:\"left bottom\",of:t}}}),show:this._getPopupSlideAnimationObject({direction:\"top\",from:{position:{my:\"left top\",at:\"left bottom\",of:t}},to:{position:{my:\"left bottom\",at:\"left bottom\",of:t}}})}:e.prototype._getPopupAnimation.call(this)},d._getPopupOptions=function(){return(0,a.extend)(e.prototype._getPopupOptions.call(this),{showTitle:this.isMobileView(),showCloseButton:this.isMobileView()})},d._renderPopupContent=function(e){if(this._commandTabs.length){var t=(0,o.default)(\"<div>\").addClass(\"dx-diagram-properties-panel\").appendTo(e);this._hasTabPanel()?this._renderTabPanel(t):this._renderTabContent(t,this._commandTabs[0],0,!0)}},d._hasTabPanel=function(){return this._commandTabs.length>1},d._renderTabPanel=function(e){var t=this,n=(0,o.default)(\"<div>\").appendTo(e);this._tabPanel=this._createComponent(n,s.default,{focusStateEnabled:!1,dataSource:this._commandTabs,itemTemplate:function(e,n,i){t._renderTabContent(i,e,n)},onSelectionChanged:function(e){t._onSelectedGroupChangedAction(),t._onPointerUpAction()},onContentReady:function(e){t._popup.option(\"height\",(0,i.getHeight)(e.component.$element())+t._getVerticalPaddingsAndBorders()),t._firstScrollView&&(t._scrollViewHeight=(0,i.getOuterHeight)(t._firstScrollView.$element()),t._firstScrollView.option(\"height\",t._scrollViewHeight))}})},d._renderTabContent=function(e,t,n,a){var s=(0,o.default)(\"<div>\").appendTo(e),l=this._createComponent(s,r.default,{height:this._scrollViewHeight});this._renderTabInnerContent(l.content(),t,n),a?this._popup.option(\"height\",(0,i.getHeight)(l.$element())+this._getVerticalPaddingsAndBorders()):this._firstScrollView=this._firstScrollView||l},d._renderTabInnerContent=function(e,t,n){var i=this;t.groups?t.groups.forEach((function(t,o){i._renderTabGroupContent(e,n,t.title,t.commands)})):t.commands&&this._renderTabGroupContent(e,n,void 0,t.commands)},d._renderTabGroupContent=function(e,t,n,i){n&&(0,o.default)(\"<div>\").addClass(\"dx-diagram-properties-panel-group-title\").appendTo(e).text(n);var a={$parent:(0,o.default)(\"<div>\").addClass(\"dx-diagram-properties-panel-group-toolbar\").appendTo(e),commands:i};this._onCreateToolbarAction(a),this._toolbars[t]||(this._toolbars[t]=[]),this._toolbars[t].push(a.toolbar),this._selectedToolbar=a.toolbar},d.getActiveToolbars=function(){var e=this._tabPanel?this._tabPanel.option(\"selectedIndex\"):0;return this._toolbars[e]},d._createOnCreateToolbar=function(){this._onCreateToolbarAction=this._createActionByOption(\"onCreateToolbar\")},d._createOnSelectedGroupChanged=function(){this._onSelectedGroupChangedAction=this._createActionByOption(\"onSelectedGroupChanged\")},d._optionChanged=function(t){switch(t.name){case\"onCreateToolbar\":this._createOnCreateToolbar();break;case\"onSelectedGroupChanged\":this._createOnSelectedGroupChanged();break;case\"propertyTabs\":this._invalidate();break;default:e.prototype._optionChanged.call(this,t)}},l}(l.default);t.default=h,e.exports=t.default,e.exports.default=t.default},95463:function(e,t,n){t.default=void 0;var i=a(n(38148)),o=a(n(72321));function a(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype._getCommands=function(){return o.default.getPropertiesToolbarCommands()},i}(i.default);t.default=s,e.exports=t.default,e.exports.default=t.default},66737:function(e,t,n){t.default=void 0;var i=n(58664),o=u(n(68374)),a=u(n(14390)),r=u(n(4741)),s=n(28580),l=n(348);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var u=a.prototype;return u._init=function(){e.prototype._init.call(this);var t=(0,l.getDiagram)().EventDispatcher;this.onScroll=new t,this._createOnCreateDiagramAction()},u._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this);var n=(0,o.default)(\"<div>\").appendTo(this.$element()),i={direction:\"both\",bounceEnabled:!1,scrollByContent:!1,onScroll:function(e){var n=e.scrollOffset;t._raiseOnScroll(n.left,n.top)}},a=this.option(\"useNativeScrolling\");void 0!==a&&(i.useNative=a),this._scrollView=this._createComponent(n,r.default,i),this._onCreateDiagramAction({$parent:(0,o.default)(this._scrollView.content()),scrollView:this})},u.setScroll=function(e,t){this._scrollView.scrollTo({left:e,top:t}),this._raiseOnScrollWithoutPoint()},u.offsetScroll=function(e,t){this._scrollView.scrollBy({left:e,top:t}),this._raiseOnScrollWithoutPoint()},u.getSize=function(){var e=(0,l.getDiagram)().Size,t=this._scrollView.$element();return new e(Math.floor((0,i.getWidth)(t)),Math.floor((0,i.getHeight)(t)))},u.getScrollContainer=function(){return this._scrollView.$element()[0]},u.getScrollBarWidth=function(){return this.option(\"useNativeScrolling\")?(0,s.calculateScrollbarWidth)():0},u.detachEvents=function(){},u._raiseOnScroll=function(e,t){var n=(0,l.getDiagram)().Point;this.onScroll.raise(\"notifyScrollChanged\",(function(){return new n(e,t)}))},u._raiseOnScrollWithoutPoint=function(){var e=this,t=(0,l.getDiagram)().Point;this.onScroll.raise(\"notifyScrollChanged\",(function(){return new t(e._scrollView.scrollLeft(),e._scrollView.scrollTop())}))},u._createOnCreateDiagramAction=function(){this._onCreateDiagramAction=this._createActionByOption(\"onCreateDiagram\")},u._optionChanged=function(t){switch(t.name){case\"onCreateDiagram\":this._createOnCreateDiagramAction();break;case\"useNativeScrolling\":break;default:e.prototype._optionChanged.call(this,t)}},a}(a.default);t.default=c,e.exports=t.default,e.exports.default=t.default},38148:function(e,t,n){t.default=void 0;var i=n(58664),o=f(n(68374)),a=f(n(71042)),r=f(n(10042)),s=f(n(50984)),l=n(13306),u=n(58201),d=f(n(47596)),c=f(n(20261)),h=n(348);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n(78665),n(4278),n(18859);var m=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n._init=function(){this._commands=[],this._itemHelpers={},this._commandContextMenus={},this._contextMenuList=[],this._valueConverters={},this.bar=new _(this),this._createOnInternalCommand(),this._createOnCustomCommand(),this._createOnSubMenuVisibilityChangingAction(),e.prototype._init.call(this)},n._initMarkup=function(){e.prototype._initMarkup.call(this);var t=!(0,u.hasWindow)();this.option(\"skipAdjustSize\")||t||(0,i.setWidth)(this.$element(),\"\"),this._commands=this._getCommands(),this._itemHelpers={},this._commandContextMenus={},this._contextMenuList=[];var n=this._createMainElement();if(this._renderToolbar(n),!this.option(\"skipAdjustSize\")&&!t){var o=this.$element().find(\".dx-toolbar-before\");(0,i.setWidth)(this.$element(),(0,i.getWidth)(o))}},n._createMainElement=function(){return(0,o.default)(\"<div>\").addClass(\"dx-diagram-toolbar\").appendTo(this._$element)},n._getCommands=function(){return this.option(\"commands\")||[]},n._renderToolbar=function(e){var t=this._commands.filter((function(e){return-1===[\"after\",\"center\"].indexOf(e.location)})),n=this._commands.filter((function(e){return\"center\"===e.location})),i=this._commands.filter((function(e){return\"after\"===e.location})),o=[].concat(this._prepareToolbarItems(t,\"before\",this._executeCommand)).concat(this._prepareToolbarItems(n,\"center\",this._executeCommand)).concat(this._prepareToolbarItems(i,\"after\",this._executeCommand));this._toolbarInstance=this._createComponent(e,a.default,{dataSource:o})},n._prepareToolbarItems=function(e,t,n){var i=this;return e.map((function(e){return(0,l.extend)(!0,{location:t,locateInMenu:i.option(\"locateInMenu\")},i._createItem(e,t,n),i._createItemOptions(e),i._createItemActionOptions(e,n))}))},n._createItem=function(e,t,n){var i=this;return(e.getCommandValue||e.getEditorValue||e.getEditorDisplayValue)&&(this._valueConverters[e.command]={getCommandValue:e.getCommandValue,getEditorValue:e.getEditorValue,getEditorDisplayValue:e.getEditorDisplayValue}),\"separator\"===e.widget?{template:function(e,t,n){(0,o.default)(n).addClass(\"dx-diagram-toolbar-separator\")},menuItemTemplate:function(e,t,n){(0,o.default)(n).addClass(\"dx-diagram-toolbar-menu-separator\")}}:{widget:e.widget||\"dxButton\",cssClass:e.cssClass,options:{stylingMode:this.option(\"buttonStylingMode\"),type:this.option(\"buttonType\"),text:e.text,hint:e.hint,icon:e.icon||e.iconUnchecked||e.iconChecked,iconChecked:e.iconChecked,iconUnchecked:e.iconUnchecked,onInitialized:function(t){return i._onItemInitialized(t.component,e)},onContentReady:function(t){return i._onItemContentReady(t.component,e,n)}}}},n._createItemOptions=function(e){var t=e.widget,n=e.command,i=e.items,o=e.valueExpr,a=e.displayExpr,r=e.showText,s=e.hint,l=e.icon;return\"dxSelectBox\"===t?this._createSelectBoxItemOptions(n,s,i,o,a):\"dxTextBox\"===t?this._createTextBoxItemOptions(n,s):\"dxColorBox\"===t?this._createColorBoxItemOptions(n,s,l):t&&\"dxButton\"!==t?void 0:{showText:r||\"inMenu\"}},n._createSelectBoxItemOptions=function(e,t,n,i,a){var r=this._createTextEditorItemOptions(t);r=(0,l.extend)(!0,r,{options:{dataSource:n,displayExpr:a||\"text\",valueExpr:i||\"value\"}});var s=n&&n.every((function(e){return void 0!==e.icon}));return s&&(r=(0,l.extend)(!0,r,{options:{fieldTemplate:function(e,t){(0,o.default)(\"<i>\").addClass(e&&e.icon||\"dx-diagram-i-selectbox-null-icon dx-diagram-i\").appendTo(t),(0,o.default)(\"<div>\").dxTextBox({readOnly:!0,stylingMode:\"outlined\"}).appendTo(t)},itemTemplate:function(e,t,n){return(0,o.default)(n).attr(\"title\",e.hint),'<i class=\"'.concat(e.icon,'\"></i>')}}})),r},n._createTextBoxItemOptions=function(e,t){var n=this,i=this._createTextEditorItemOptions(t);return i=(0,l.extend)(!0,i,{options:{readOnly:!0,focusStateEnabled:!1,hoverStateEnabled:!1,buttons:[{name:\"dropDown\",location:\"after\",options:{icon:\"spindown\",disabled:!1,stylingMode:\"text\",onClick:function(t){var i=n._commandContextMenus[e];i&&n._toggleContextMenu(i)}}}]}})},n._createColorBoxItemOptions=function(e,t,n){var i=this,a=this._createTextEditorItemOptions(t);return n&&(a=(0,l.extend)(!0,a,{options:{openOnFieldClick:!0,fieldTemplate:function(e,t){(0,o.default)(\"<i>\").addClass(n).css(\"borderBottomColor\",e).appendTo(t),(0,o.default)(\"<div>\").dxTextBox({readOnly:!0,stylingMode:\"outlined\"}).appendTo(t)}}})),a=(0,l.extend)(!0,a,{options:{onOpened:function(){i.option(\"isMobileView\")&&(0,o.default)(\"body\").addClass(\"dx-diagram-mobile-toolbar-color-box-opened\")},onClosed:function(){(0,o.default)(\"body\").removeClass(\"dx-diagram-mobile-toolbar-color-box-opened\")}}})},n._createTextEditorItemOptions=function(e){return{options:{stylingMode:this.option(\"editorStylingMode\"),hint:e}}},n._createItemActionOptions=function(e,t){var n=this;switch(e.widget){case\"dxSelectBox\":case\"dxColorBox\":case\"dxCheckBox\":return{options:{onValueChanged:function(i){var o=c.default.getItemCommandParameter(n,e,i.component.option(\"value\"));t.call(n,e.command,e.name,o)}}};case\"dxTextBox\":return{};default:return{options:{onClick:function(i){if(e.items){var o=i.component._contextMenu;o&&n._toggleContextMenu(o)}else{var a=c.default.getItemCommandParameter(n,e);t.call(n,e.command,e.name,a)}}}}}},n._toggleContextMenu=function(e){this._contextMenuList.forEach((function(t){e!==t&&t.hide()})),e.toggle()},n._onItemInitialized=function(e,t){this._addItemHelper(t.command,new v(e))},n._onItemContentReady=function(e,t,n){var i=this;if((\"dxButton\"===e.NAME||\"dxTextBox\"===e.NAME)&&t.items){var a=this._isTouchMode(),s=(0,o.default)(\"<div>\").appendTo(this.$element());e._contextMenu=this._createComponent(s,r.default,{items:t.items,target:e.$element(),cssClass:c.default.getContextMenuCssClass(),showEvent:\"\",hideOnOutsideClick:function(t){return!a&&0===(0,o.default)(t.target).closest(e._contextMenu._dropDownButtonElement).length},focusStateEnabled:!1,position:{at:\"left bottom\"},itemTemplate:function(e,t,n){c.default.getContextMenuItemTemplate(this,e,t,n)},onItemClick:function(e){var t=e.component,o=e.itemData;c.default.onContextMenuItemClick(i,o,n.bind(i)),o.items&&o.items.length||t.hide()},onShowing:function(e){i._showingSubMenu||(i._showingSubMenu=e.component,i._onSubMenuVisibilityChangingAction({visible:!0,component:i}),e.component.option(\"items\",e.component.option(\"items\")),delete i._showingSubMenu)},onInitialized:function(n){var o=n.component;return i._onContextMenuInitialized(o,t,e)},onDisposing:function(e){var n=e.component;return i._onContextMenuDisposing(n,t)}}),a||(e._contextMenu._dropDownButtonElement=e.$element(),\"dxTextBox\"===e.NAME&&(e._contextMenu._dropDownButtonElement=e.getButton(\"dropDown\").element()))}},n._isTouchMode=function(){return(0,h.getDiagram)().Browser.TouchUI},n._onContextMenuInitialized=function(e,t,n){this._contextMenuList.push(e),t.command&&(this._commandContextMenus[t.command]=e),this._addContextMenuHelper(t,e,[],n)},n._addItemHelper=function(e,t){if(void 0!==e){if(this._itemHelpers[e])throw new Error(\"Toolbar cannot contain duplicated commands.\");this._itemHelpers[e]=t}},n._addContextMenuHelper=function(e,t,n,i){var o=this;e.items&&e.items.forEach((function(e,a){var r=n.concat(a);o._addItemHelper(e.command,new y(t,r,e.command,i)),o._addContextMenuHelper(e,t,r,i)}))},n._onContextMenuDisposing=function(e,t){this._contextMenuList.splice(this._contextMenuList.indexOf(e),1),delete this._commandContextMenus[t.command]},n._executeCommand=function(e,t,n){if(!this._updateLocked){if(\"number\"==typeof e){var i=this._valueConverters[e];i&&i.getCommandValue&&(n=i.getCommandValue(n)),this.bar.raiseBarCommandExecuted(e,n)}else\"string\"==typeof e&&this._onInternalCommandAction({command:e});void 0!==t&&this._onCustomCommandAction({name:t})}},n._createOnInternalCommand=function(){this._onInternalCommandAction=this._createActionByOption(\"onInternalCommand\")},n._createOnCustomCommand=function(){this._onCustomCommandAction=this._createActionByOption(\"onCustomCommand\")},n._setItemEnabled=function(e,t){if(e in this._itemHelpers){var n=this._itemHelpers[e];n.canUpdate(this._showingSubMenu)&&n.setEnabled(t)}},n._setEnabled=function(e){this._toolbarInstance.option(\"disabled\",!e),this._contextMenuList.forEach((function(t){t.option(\"disabled\",!e)}))},n._setItemValue=function(e,t){try{if(this._updateLocked=!0,e in this._itemHelpers){var n=this._itemHelpers[e];if(n.canUpdate(this._showingSubMenu)){var i,o=this._valueConverters[e];o&&o.getEditorValue&&(t=o.getEditorValue(t)),o&&o.getEditorDisplayValue&&(i=o.getEditorDisplayValue(t));var a=this._commandContextMenus[e];n.setValue(t,i,a,a&&e)}}}finally{this._updateLocked=!1}},n._setItemSubItems=function(e,t){if(this._updateLocked=!0,e in this._itemHelpers){var n=this._itemHelpers[e];if(n.canUpdate(this._showingSubMenu)){var i=this._commandContextMenus[e];n.setItems(t,i,i&&e)}}this._updateLocked=!1},n._createOnSubMenuVisibilityChangingAction=function(){this._onSubMenuVisibilityChangingAction=this._createActionByOption(\"onSubMenuVisibilityChanging\")},n._optionChanged=function(t){switch(t.name){case\"isMobileView\":(0,o.default)(\"body\").removeClass(\"dx-diagram-mobile-toolbar-color-box-opened\"),this._invalidate();break;case\"onSubMenuVisibilityChanging\":this._createOnSubMenuVisibilityChangingAction();break;case\"onInternalCommand\":this._createOnInternalCommand();break;case\"onCustomCommand\":this._createOnCustomCommand();break;case\"container\":case\"commands\":this._invalidate();break;case\"export\":break;default:e.prototype._optionChanged.call(this,t)}},n._getDefaultOptions=function(){return(0,l.extend)(e.prototype._getDefaultOptions.call(this),{isMobileView:!1,export:{fileName:\"Diagram\"},locateInMenu:\"auto\",buttonStylingMode:\"text\",buttonType:\"normal\",editorStylingMode:\"filled\",skipAdjustSize:!1})},n.setCommandChecked=function(e,t){this._setItemValue(e,t)},n.setCommandEnabled=function(e,t){this._setItemEnabled(e,t)},t}(d.default),_=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.getCommandKeys=function(){return this._getKeys(this._owner._commands)},n.setItemValue=function(e,t){this._owner._setItemValue(e,t)},n.setItemEnabled=function(e,t){this._owner._setItemEnabled(e,t)},n.setEnabled=function(e){this._owner._setEnabled(e)},n.setItemSubItems=function(e,t){this._owner._setItemSubItems(e,t)},t}(s.default),v=function(){function e(e){this._widget=e}var t=e.prototype;return t.canUpdate=function(e){return void 0===e},t.setEnabled=function(e){this._widget.option(\"disabled\",!e)},t.setValue=function(e,t,n,i){\"value\"in this._widget.option()?this._updateEditorValue(e,t):void 0!==e&&this._updateButtonValue(e),n&&this._updateContextMenuItemValue(n,\"\",i,e)},t.setItems=function(e,t,n){t?this._updateContextMenuItems(t,\"\",n,e):this._updateEditorItems(e)},t._updateContextMenuItems=function(e,t,n,i){c.default.updateContextMenuItems(e,t,n,i)},t._updateEditorItems=function(e){\"items\"in this._widget.option()&&this._widget.option(\"items\",e.map((function(e){return{value:c.default.getItemValue(e),text:e.text}})))},t._updateEditorValue=function(e,t){this._widget.option(\"value\",e),!this._widget.option(\"selectedItem\")&&t&&this._widget.option(\"value\",t)},t._updateButtonValue=function(e){this._widget.option(\"iconChecked\")&&this._widget.option(\"iconUnchecked\")?this._widget.option(\"icon\",e?this._widget.option(\"iconChecked\"):this._widget.option(\"iconUnchecked\")):this._widget.$element().toggleClass(\"dx-format-active\",e)},t._updateContextMenuItemValue=function(e,t,n,i){c.default.updateContextMenuItemValue(e,t,n,i)},e}(),y=function(e){function t(t,n,i,o){var a;return(a=e.call(this,t)||this)._indexPath=n,a._rootCommandKey=i,a._rootWidget=o,a}p(t,e);var n=t.prototype;return n.canUpdate=function(t){return e.prototype.canUpdate.call(this,t)||t===this._widget},n.setEnabled=function(e){this._widget.option(this._getItemOptionText()+\"disabled\",!e);var t=this._hasEnabledCommandItems(this._widget.option(\"items\"));this._rootWidget.option(\"disabled\",!t)},n._hasEnabledCommandItems=function(e){var t=this;return!!e&&e.some((function(e){return void 0!==e.command&&!e.disabled||t._hasEnabledCommandItems(e.items)}))},n.setValue=function(e){this._updateContextMenuItemValue(this._widget,this._getItemOptionText(),this._rootCommandKey,e)},n.setItems=function(e){this._updateContextMenuItems(this._widget,this._getItemOptionText(),this._rootCommandKey,e)},n._getItemOptionText=function(){return c.default.getItemOptionText(this._widget,this._indexPath)},t}(v),b=m;t.default=b,e.exports=t.default,e.exports.default=t.default},63842:function(e,t,n){t.default=void 0;var i=n(58664),o=g(n(68374)),a=n(13306),r=n(58201),s=n(62754),l=g(n(28109)),u=g(n(29837)),d=g(n(76219)),c=g(n(4741)),h=g(n(94920)),f=n(348),p=g(n(99967));function g(e){return e&&e.__esModule?e:{default:e}}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){var t,n;function p(){return e.apply(this,arguments)||this}n=e,(t=p).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var g=p.prototype;return g._init=function(){e.prototype._init.call(this),this._toolboxes=[],this._filterText=\"\",this._createOnShapeCategoryRenderedAction(),this._createOnFilterChangedAction()},g._getPopupClass=function(){return\"dx-diagram-toolbox-popup\"},g._getPopupHeight=function(){return this.isMobileView()?\"100%\":e.prototype._getPopupHeight.call(this)},g._getPopupMaxHeight=function(){return this.isMobileView()?\"100%\":e.prototype._getPopupMaxHeight.call(this)},g._getPopupMinHeight=function(){return 130},g._getPopupPosition=function(){var e={my:\"left top\",at:\"left top\",of:this.option(\"offsetParent\")};return this.isMobileView()?e:(0,a.extend)(e,{offset:this.option(\"offsetX\")+\" \"+this.option(\"offsetY\")})},g._getPopupAnimation=function(){var t=this.option(\"offsetParent\");return this.isMobileView()?{hide:this._getPopupSlideAnimationObject({direction:\"left\",from:{position:{my:\"left top\",at:\"left top\",of:t}},to:{position:{my:\"right top\",at:\"left top\",of:t}}}),show:this._getPopupSlideAnimationObject({direction:\"right\",from:{position:{my:\"right top\",at:\"left top\",of:t}},to:{position:{my:\"left top\",at:\"left top\",of:t}}})}:e.prototype._getPopupAnimation.call(this)},g._getPopupOptions=function(){var t=e.prototype._getPopupOptions.call(this);return this.isMobileView()?t:(0,a.extend)(t,{showTitle:!0,toolbarItems:[{widget:\"dxButton\",location:\"center\",options:{activeStateEnabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,icon:\"diagram-toolbox-drag\",stylingMode:\"outlined\",type:\"normal\"}}]})},g._renderPopupContent=function(e){var t=\"100%\";if(this.option(\"showSearch\")){var n=(0,o.default)(\"<div>\").addClass(\"dx-diagram-toolbox-input-container\").appendTo(e);this._updateElementWidth(n),this._renderSearchInput(n),(0,r.hasWindow)()&&(t=\"calc(100% - \"+(0,i.getHeight)(this._searchInput.$element())+\"px)\")}var a=(0,o.default)(\"<div>\").addClass(\"dx-diagram-toolbox-panel\").appendTo(e);(0,i.setHeight)(a,t),this._updateElementWidth(a),this._renderScrollView(a)},g._updateElementWidth=function(e){void 0!==this.option(\"toolboxWidth\")&&e.css(\"width\",this.option(\"toolboxWidth\"))},g.updateMaxHeight=function(){if(!this.isMobileView()){var e=6;if(this._popup){var t=this._getPopupTitle();e+=(0,i.getOuterHeight)(t)}this._accordion&&(e+=(0,i.getOuterHeight)(this._accordion.$element())),this._searchInput&&(e+=(0,i.getOuterHeight)(this._searchInput.$element())),this.option(\"maxHeight\",e)}},g._renderSearchInput=function(e){var t=this,n=(0,o.default)(\"<div>\").addClass(\"dx-diagram-toolbox-input\").appendTo(e);this._searchInput=this._createComponent(n,u.default,{stylingMode:\"outlined\",placeholder:l.default.format(\"dxDiagram-uiSearch\"),onValueChanged:function(e){t._onInputChanged(e.value)},valueChangeEvent:\"keyup\",buttons:[{name:\"search\",location:\"after\",options:{activeStateEnabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,icon:\"search\",stylingMode:\"outlined\",type:\"normal\",onClick:function(){t._searchInput.focus()}}}]})},g._renderScrollView=function(e){var t=this,n=(0,o.default)(\"<div>\").appendTo(e);this._scrollView=this._createComponent(n,c.default);var i=this._scrollView._moveIsAllowed.bind(this._scrollView);this._scrollView._moveIsAllowed=function(e){for(var n=0;n<t._toolboxes.length;n++){var a=t._toolboxes[n];if((0,o.default)(a).children(\".dxdi-tb-start-drag-flag\").length)return!1}return i(e)};var a=(0,o.default)(\"<div>\").appendTo(this._scrollView.content());this._updateElementWidth(a),this._renderAccordion(a)},g._getAccordionDataSource=function(){for(var e=this,t=[],n=this.option(\"toolboxGroups\"),i=0;i<n.length;i++){var a=n[i].category,r={category:a,title:n[i].title||a,expanded:n[i].expanded,displayMode:n[i].displayMode,shapes:n[i].shapes,onTemplate:function(t,n,i){var a=(0,o.default)(n);e._onShapeCategoryRenderedAction({category:i.category,displayMode:i.displayMode,dataToggle:\"shape-toolbox-tooltip\",shapes:i.shapes,$element:a}),e._toolboxes.push(a),\"\"!==e._filterText&&e._onFilterChangedAction({text:e._filterText,filteringToolboxes:e._toolboxes.length-1}),e._createTooltips(a)}};t.push(r)}return t},g._createTooltips=function(e){var t=this;if(!this._isTouchMode()){var n=e.find('[data-toggle=\"shape-toolbox-tooltip\"]'),i=this.$element();n.each((function(e,n){var a=(0,o.default)(n),r=a.attr(\"title\");if(r){var s=(0,o.default)(\"<div>\").text(r).appendTo(i);t._createComponent(s,h.default,{target:a.get(0),showEvent:\"mouseenter\",hideEvent:\"mouseleave\",position:\"top\",animation:{show:{type:\"fade\",from:0,to:1,delay:500},hide:{type:\"fade\",from:1,to:0,delay:100}}})}}))}},g._isTouchMode=function(){return(0,f.getDiagram)().Browser.TouchUI},g._renderAccordion=function(e){var t=this;this._accordion=this._createComponent(e,d.default,{multiple:!0,animationDuration:0,activeStateEnabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,collapsible:!0,displayExpr:\"title\",dataSource:this._getAccordionDataSource(),disabled:this.option(\"disabled\"),itemTemplate:function(e,n,i){e.onTemplate(t,i,e)},onSelectionChanged:function(e){t._updateScrollAnimateSubscription(e.component)},onContentReady:function(e){e.component.option(\"selectedItems\",[]);for(var n=e.component.option(\"dataSource\"),i=0;i<n.length;i++)!1===n[i].expanded?e.component.collapseItem(i):!0===n[i].expanded&&e.component.expandItem(i);n.length&&void 0===n[0].expanded&&e.component.expandItem(0),t._updateScrollAnimateSubscription(e.component)}})},g._updateScrollAnimateSubscription=function(e){var t=this;e._deferredAnimate=new s.Deferred,e._deferredAnimate.done((function(){t.updateMaxHeight(),t._scrollView.update(),t._updateScrollAnimateSubscription(e)}))},g._onInputChanged=function(e){this._filterText=e,this._onFilterChangedAction({text:this._filterText,filteringToolboxes:this._toolboxes.map((function(e,t){return t}))}),this.updateTooltips(),this.updateMaxHeight(),this._scrollView.update()},g.updateFilter=function(){this._onInputChanged(this._filterText)},g.updateTooltips=function(){var e=this;this._toolboxes.forEach((function(t){var n=(0,o.default)(t);e._createTooltips(n)}))},g._createOnShapeCategoryRenderedAction=function(){this._onShapeCategoryRenderedAction=this._createActionByOption(\"onShapeCategoryRendered\")},g._createOnFilterChangedAction=function(){this._onFilterChangedAction=this._createActionByOption(\"onFilterChanged\")},g._optionChanged=function(t){switch(t.name){case\"onShapeCategoryRendered\":this._createOnShapeCategoryRenderedAction();break;case\"onFilterChanged\":this._createOnFilterChangedAction();break;case\"showSearch\":case\"toolboxWidth\":this._invalidate();break;case\"toolboxGroups\":this._accordion.option(\"dataSource\",this._getAccordionDataSource());break;default:e.prototype._optionChanged.call(this,t)}},p}(p.default);t.default=_,e.exports=t.default,e.exports.default=t.default},64225:function(e,t,n){t.default=void 0;var i=a(n(38148)),o=a(n(72321));function a(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype._getCommands=function(){return o.default.getViewToolbarCommands(this.option(\"commands\"),this.option(\"excludeCommands\"))},i}(i.default);t.default=s,e.exports=t.default,e.exports.default=t.default},15029:function(e,t,n){t.custom=t.confirm=t.alert=void 0;var i=n(58664),o=x(n(68374)),a=x(n(62414)),r=x(n(20530)),s=x(n(80209)),l=x(n(73176)),u=n(3532),d=n(62754),c=n(35922),h=n(95479),f=n(13306),p=n(58201),g=x(n(55994)),m=n(77695),_=x(n(28109)),v=x(n(96688)),y=x(n(51495)),b=n(20576);function x(e){return e&&e.__esModule?e:{default:e}}var w=(0,p.getWindow)(),C={text:\"OK\",onClick:function(){return!0}},S=\"\".concat(\"dx-dialog\",\"-wrapper\"),k=\"\".concat(\"dx-dialog\",\"-root\"),D=\"\".concat(\"dx-dialog\",\"-content\"),I=\"\".concat(\"dx-dialog\",\"-message\"),T=\"\".concat(\"dx-dialog\",\"-buttons\"),E=\"\".concat(\"dx-dialog\",\"-button\"),O=function(e){var t,n=new d.Deferred;e=e||{};var c=(0,o.default)(\"<div>\").addClass(\"dx-dialog\").appendTo((0,m.value)()),p=\"messageHtml\"in e;\"message\"in e&&v.default.log(\"W1013\");var _=String(p?e.messageHtml:e.message),x=e.title?null:new l.default,O=(0,o.default)(\"<div>\").addClass(I).html(_).attr(\"id\",x),A=[];(0,h.each)(e.buttons||[C],(function(){var e=new a.default(this.onClick,{context:P});A.push({toolbar:\"bottom\",location:r.default.current().android?\"after\":\"center\",widget:\"dxButton\",options:(0,f.extend)({},this,{onClick:function(){var t=e.execute.apply(e,arguments);M(t)}})})}));var P=new y.default(c,(0,f.extend)({title:null!==(t=e.title)&&void 0!==t?t:\"\",showTitle:(0,b.ensureDefined)(e.showTitle,!0),dragEnabled:(0,b.ensureDefined)(e.dragEnabled,!0),height:\"auto\",width:e.width,showCloseButton:e.showCloseButton||!1,ignoreChildEvents:!1,container:c,visualContainer:w,dragAndResizeArea:w,onContentReady:function(e){e.component.$content().addClass(D).append(O),x&&e.component.$overlayContent().attr(\"aria-labelledby\",x)},onShowing:function(e){e.component.bottomToolbar().addClass(T).find(\".\".concat(\"dx-button\")).addClass(E),(0,u.resetActiveElement)()},onShown:function(e){var t=e.component.bottomToolbar().find(\".\".concat(\"dx-button\")).first();g.default.trigger(t,\"focus\")},onHiding:function(){n.reject()},onHidden:function(e){var t=e.element;(0,o.default)(t).remove()},toolbarItems:A,animation:{show:{type:\"pop\",duration:400},hide:{type:\"pop\",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}},rtlEnabled:(0,s.default)().rtlEnabled,position:{boundaryOffset:{h:10,v:0}}},e.popupOptions));function M(e){n.resolve(e),P.hide()}return P.$wrapper().addClass(S),e.position&&P.option(\"position\",e.position),P.$wrapper().addClass(k),{show:function(){if(\"phone\"===r.default.real().deviceType){var e=(0,i.getHeight)(w)>(0,i.getWidth)(w)?\"90%\":\"60%\";P.option({width:e})}return P.show(),n.promise()},hide:M}};t.custom=O;t.alert=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2?arguments[2]:void 0,i=(0,c.isPlainObject)(e)?e:{title:t,messageHtml:e,showTitle:n,dragEnabled:n};return O(i).show()};t.confirm=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2?arguments[2]:void 0,i=(0,c.isPlainObject)(e)?e:{title:t,messageHtml:e,showTitle:n,buttons:[{text:_.default.format(\"Yes\"),onClick:function(){return!0}},{text:_.default.format(\"No\"),onClick:function(){return!1}}],dragEnabled:n};return O(i).show()}},42160:function(e,t,n){var i;t.default=void 0;var o=((i=n(86988))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},45065:function(e,t,n){var i;t.default=void 0;var o=((i=n(32089))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},68890:function(e,t,n){t.animation=void 0;var i,o=(i=n(87209))&&i.__esModule?i:{default:i},a=n(78008);var r={moveTo:function(e){var t,n=e.$element,i=e.position,a={};switch(e.direction||\"left\"){case\"right\":a.transform=\"translate(\"+i+\"px, 0px)\",t=\"custom\";break;case\"left\":a.left=i,t=\"slide\";break;case\"top\":case\"bottom\":a.top=i,t=\"slide\"}o.default.animate(n,{type:t,to:a,duration:e.duration,complete:e.complete})},margin:function(e){var t=e.$element,n=e.margin,i=e.direction||\"left\",r={};r[\"margin\"+(0,a.camelize)(i,!0)]=n,o.default.animate(t,{to:r,duration:e.duration,complete:e.complete})},fade:function(e,t,n,i){o.default.animate(e,{type:\"fade\",to:t.to,from:t.from,duration:n,complete:i})},size:function(e){var t=e.$element,n=e.size,i=e.direction||\"left\",a=e.marginTop||0,r=e.duration,s={};\"right\"===i||\"left\"===i?s.width=n:s.height=n,\"bottom\"===i&&(s.marginTop=a),o.default.animate(t,{to:s,duration:r,complete:e.complete})},complete:function(e){o.default.stop(e,!0)}};t.animation=r},32089:function(e,t,n){t.default=void 0;var i=x(n(68374)),o=x(n(55994)),a=n(35922),r=n(6415),s=x(n(99393)),l=n(13306),u=n(37518),d=x(n(14390)),c=n(10688),h=n(58201),f=x(n(89266)),p=x(n(74780)),g=x(n(5738)),m=n(68890),_=n(95429),v=x(n(87209)),y=n(62754),b=n(80506);function x(e){return e&&e.__esModule?e:{default:e}}var w=d.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{position:\"left\",opened:!1,minSize:null,maxSize:null,shading:!1,template:\"panel\",openedStateMode:\"shrink\",revealMode:\"slide\",animationEnabled:!0,animationDuration:400,closeOnOutsideClick:!1,contentTemplate:\"content\"})},_init:function(){this.callBase(),this._initStrategy(),this.$element().addClass(\"dx-drawer\"),this._whenAnimationCompleted=void 0,this._whenPanelContentRendered=void 0,this._whenPanelContentRefreshed=void 0,this._$wrapper=(0,i.default)(\"<div>\").addClass(\"dx-drawer-wrapper\"),this._$viewContentWrapper=(0,i.default)(\"<div>\").addClass(\"dx-drawer-content\"),this._$wrapper.append(this._$viewContentWrapper),this.$element().append(this._$wrapper)},_initStrategy:function(){switch(this.option(\"openedStateMode\")){case\"push\":this._strategy=new f.default(this);break;case\"shrink\":this._strategy=new p.default(this);break;case\"overlap\":this._strategy=new g.default(this);break;default:this._strategy=new f.default(this)}},_getAnonymousTemplateName:function(){return\"content\"},_initTemplates:function(){var e={};e.panel=new c.EmptyTemplate,e.content=new c.EmptyTemplate,this._templateManager.addDefaultTemplates(e),this.callBase()},_viewContentWrapperClickHandler:function(e){var t=this.option(\"closeOnOutsideClick\");(0,a.isFunction)(t)&&(t=t(e)),t&&this.option(\"opened\")&&(this.stopAnimations(),this.option(\"shading\")&&e.preventDefault(),this.hide())},_initMarkup:function(){this.callBase(),this._toggleOpenedStateClass(this.option(\"opened\")),this._renderPanelContentWrapper(),this._refreshOpenedStateModeClass(),this._refreshRevealModeClass(),this._renderShader(),this._refreshPositionClass(),this._whenPanelContentRendered=new y.Deferred,this._strategy.renderPanelContent(this._whenPanelContentRendered),this._strategy.onPanelContentRendered(),this._renderViewContent(),o.default.off(this._$viewContentWrapper,_.name),o.default.on(this._$viewContentWrapper,_.name,this._viewContentWrapperClickHandler.bind(this)),this._refreshWrapperChildrenOrder()},_render:function(){var e=this;this._initMinMaxSize(),this.callBase(),this._whenPanelContentRendered.always((function(){e._initMinMaxSize(),e._strategy.refreshPanelElementSize(\"slide\"===e.option(\"revealMode\")||!e.isHorizontalDirection()),e._renderPosition(e.option(\"opened\"),!0),e._removePanelManualPosition()}))},_removePanelManualPosition:function(){this._$panelContentWrapper.attr(\"manualposition\")&&(this._$panelContentWrapper.removeAttr(\"manualPosition\"),this._$panelContentWrapper.css({position:\"\",top:\"\",left:\"\",right:\"\",bottom:\"\"}))},_renderPanelContentWrapper:function(){this._$panelContentWrapper=(0,i.default)(\"<div>\").addClass(\"dx-drawer-panel-content\");var e=this.calcTargetPosition();\"push\"===this.option(\"openedStateMode\")&&[\"top\",\"bottom\"].indexOf(e)>-1&&this._$panelContentWrapper.addClass(\"dx-drawer-panel-content-push-top-or-bottom\"),\"overlap\"===this.option(\"openedStateMode\")||this.option(\"opened\")||this.option(\"minSize\")||(this._$panelContentWrapper.attr(\"manualposition\",!0),this._$panelContentWrapper.css({position:\"absolute\",top:\"-10000px\",left:\"-10000px\",right:\"auto\",bottom:\"auto\"})),this._$wrapper.append(this._$panelContentWrapper)},_refreshOpenedStateModeClass:function(e){e&&this.$element().removeClass(\"dx-drawer-\"+e),this.$element().addClass(\"dx-drawer-\"+this.option(\"openedStateMode\"))},_refreshPositionClass:function(e){e&&this.$element().removeClass(\"dx-drawer-\"+e),this.$element().addClass(\"dx-drawer-\"+this.calcTargetPosition())},_refreshWrapperChildrenOrder:function(){var e=this.calcTargetPosition();this._strategy.isViewContentFirst(e,this.option(\"rtlEnabled\"))?this._$wrapper.prepend(this._$viewContentWrapper):this._$wrapper.prepend(this._$panelContentWrapper)},_refreshRevealModeClass:function(e){e&&this.$element().removeClass(\"dx-drawer-\"+e),this.$element().addClass(\"dx-drawer-\"+this.option(\"revealMode\"))},_renderViewContent:function(){var e=this.option(\"contentTemplate\"),t=this._getTemplate(e);if(t){var n=t.render({container:this.viewContent(),noModel:!0,transclude:this._templateManager.anonymousTemplateName===e});n.hasClass(\"ng-scope\")&&(0,i.default)(this._$viewContentWrapper).children().not(\".\".concat(\"dx-drawer-shader\")).replaceWith(n)}},_renderShader:function(){this._$shader=this._$shader||(0,i.default)(\"<div>\").addClass(\"dx-drawer-shader\"),this._$shader.appendTo(this.viewContent()),this._toggleShaderVisibility(this.option(\"opened\"))},_initSize:function(){this._initMinMaxSize()},_initMinMaxSize:function(){var e=this.isHorizontalDirection()?this.getRealPanelWidth():this.getRealPanelHeight();this._maxSize=this.option(\"maxSize\")||e,this._minSize=this.option(\"minSize\")||0},calcTargetPosition:function(){var e=this.option(\"position\"),t=this.option(\"rtlEnabled\"),n=e;return\"before\"===e?n=t?\"right\":\"left\":\"after\"===e&&(n=t?\"left\":\"right\"),n},getOverlayTarget:function(){return this._$wrapper},getOverlay:function(){return this._overlay},getMaxSize:function(){return this._maxSize},getMinSize:function(){return this._minSize},getRealPanelWidth:function(){return(0,h.hasWindow)()?(0,a.isDefined)(this.option(\"templateSize\"))?this.option(\"templateSize\"):(0,u.getBoundingRect)(this._getPanelTemplateElement()).width:0},getRealPanelHeight:function(){return(0,h.hasWindow)()?(0,a.isDefined)(this.option(\"templateSize\"))?this.option(\"templateSize\"):(0,u.getBoundingRect)(this._getPanelTemplateElement()).height:0},_getPanelTemplateElement:function(){var e=this._strategy.getPanelContent(),t=e;return e.children().length&&(t=e.children().eq(0),e.hasClass(\"dx-overlay-content\")&&t.hasClass(\"dx-template-wrapper\")&&t.children().length&&(t=t.children().eq(0))),t.get(0)},getElementHeight:function(e){var t=e.children();return t.length?(0,u.getBoundingRect)(t.eq(0).get(0)).height:(0,u.getBoundingRect)(e.get(0)).height},isHorizontalDirection:function(){var e=this.calcTargetPosition();return\"left\"===e||\"right\"===e},stopAnimations:function(e){v.default.stop(this._$shader,e),v.default.stop((0,i.default)(this.content()),e),v.default.stop((0,i.default)(this.viewContent()),e);var t=this.getOverlay();t&&v.default.stop((0,i.default)(t.$content()),e)},setZIndex:function(e){this._$shader.css(\"zIndex\",e-1),this._$panelContentWrapper.css(\"zIndex\",e)},resizeContent:function(){this.resizeViewContent},resizeViewContent:function(){(0,b.triggerResizeEvent)(this.viewContent())},_isInvertedPosition:function(){var e=this.calcTargetPosition();return\"right\"===e||\"bottom\"===e},_renderPosition:function(e,t,n){if(this.stopAnimations(n),(0,h.hasWindow)()){(0,i.default)(this.viewContent()).css(\"paddingLeft\",0),(0,i.default)(this.viewContent()).css(\"paddingRight\",0),(0,i.default)(this.viewContent()).css(\"paddingTop\",0),(0,i.default)(this.viewContent()).css(\"paddingBottom\",0);var o=this.option(\"animationEnabled\");!0===t&&(o=!1),e&&this._toggleShaderVisibility(e),this._strategy.renderPosition(o,this.option(\"animationDuration\"))}},_animationCompleteHandler:function(){this.resizeViewContent(),this._whenAnimationCompleted&&this._whenAnimationCompleted.resolve()},_getPositionCorrection:function(){return this._isInvertedPosition()?-1:1},_dispose:function(){m.animation.complete((0,i.default)(this.viewContent())),this.callBase()},_visibilityChanged:function(e){e&&this._dimensionChanged()},_dimensionChanged:function(){this._initMinMaxSize(),this._strategy.refreshPanelElementSize(\"slide\"===this.option(\"revealMode\")),this._renderPosition(this.option(\"opened\"),!0)},_toggleShaderVisibility:function(e){this.option(\"shading\")?(this._$shader.toggleClass(\"dx-state-invisible\",!e),this._$shader.css(\"visibility\",e?\"visible\":\"hidden\")):this._$shader.toggleClass(\"dx-state-invisible\",!0)},_toggleOpenedStateClass:function(e){this.$element().toggleClass(\"dx-drawer-opened\",e)},_refreshPanel:function(){var e=this;(0,i.default)(this.viewContent()).css(\"left\",0),(0,i.default)(this.viewContent()).css(\"transform\",\"translate(0px, 0px)\"),(0,i.default)(this.viewContent()).removeClass(\"dx-theme-background-color\"),this._removePanelContentWrapper(),this._removeOverlay(),this._renderPanelContentWrapper(),this._refreshWrapperChildrenOrder(),this._whenPanelContentRefreshed=new y.Deferred,this._strategy.renderPanelContent(this._whenPanelContentRefreshed),this._strategy.onPanelContentRendered(),(0,h.hasWindow)()&&this._whenPanelContentRefreshed.always((function(){e._strategy.refreshPanelElementSize(\"slide\"===e.option(\"revealMode\")),e._renderPosition(e.option(\"opened\"),!0,!0),e._removePanelManualPosition()}))},_clean:function(){this._cleanFocusState(),this._removePanelContentWrapper(),this._removeOverlay()},_removePanelContentWrapper:function(){this._$panelContentWrapper&&this._$panelContentWrapper.remove()},_removeOverlay:function(){this._overlay&&(this._overlay.dispose(),delete this._overlay,delete this._$panelContentWrapper)},_optionChanged:function(e){switch(e.name){case\"width\":this.callBase(e),this._dimensionChanged();break;case\"opened\":this._renderPosition(this.option(\"opened\")),this._toggleOpenedStateClass(e.value);break;case\"position\":this._refreshPositionClass(e.previousValue),this._refreshWrapperChildrenOrder(),this._invalidate();break;case\"contentTemplate\":case\"template\":this._invalidate();break;case\"openedStateMode\":this._initStrategy(),this._refreshOpenedStateModeClass(e.previousValue),this._refreshPanel();break;case\"minSize\":case\"maxSize\":this._initMinMaxSize(),this._renderPosition(this.option(\"opened\"),!0);break;case\"revealMode\":this._refreshRevealModeClass(e.previousValue),this._refreshPanel();break;case\"shading\":this._toggleShaderVisibility(this.option(\"opened\"));break;case\"animationEnabled\":case\"animationDuration\":case\"closeOnOutsideClick\":break;default:this.callBase(e)}},content:function(){return(0,r.getPublicElement)(this._$panelContentWrapper)},viewContent:function(){return(0,r.getPublicElement)(this._$viewContentWrapper)},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)},toggle:function(e){var t=void 0===e?!this.option(\"opened\"):e;return this._whenAnimationCompleted=new y.Deferred,this.option(\"opened\",t),this._whenAnimationCompleted.promise()}});(0,s.default)(\"dxDrawer\",w);var C=w;t.default=C,e.exports=t.default,e.exports.default=t.default},39725:function(e,t,n){t.default=void 0;var i,o=n(58664),a=(i=n(68374))&&i.__esModule?i:{default:i},r=n(68890),s=n(62754);var l=function(){function e(e){this._drawer=e}var t=e.prototype;return t.getDrawerInstance=function(){return this._drawer},t.renderPanelContent=function(e){var t=this.getDrawerInstance(),n=t._getTemplate(t.option(\"template\"));n&&n.render({container:t.content(),onRendered:function(){e.resolve()}})},t.renderPosition=function(e,t){var n=new s.Deferred,i=new s.Deferred,o=this.getDrawerInstance();e&&s.when.apply(a.default,[n,i]).done((function(){o._animationCompleteHandler()})),this._internalRenderPosition(e,n),e||o.resizeViewContent(),this.renderShaderVisibility(e,t,i)},t._getPanelOffset=function(e){var t=this.getDrawerInstance(),n=t.isHorizontalDirection()?t.getRealPanelWidth():t.getRealPanelHeight();return e?-(n-t.getMaxSize()):-(n-t.getMinSize())},t._getPanelSize=function(e){return e?this.getDrawerInstance().getMaxSize():this.getDrawerInstance().getMinSize()},t.renderShaderVisibility=function(e,t,n){var i=this,o=this.getDrawerInstance(),s=o.option(\"opened\"),l=s?{from:0,to:1}:{from:1,to:0};e?r.animation.fade((0,a.default)(o._$shader),l,t,(function(){i._drawer._toggleShaderVisibility(s),n.resolve()})):(o._toggleShaderVisibility(s),o._$shader.css(\"opacity\",l.to))},t.getPanelContent=function(){return(0,a.default)(this.getDrawerInstance().content())},t.setPanelSize=function(e){this.refreshPanelElementSize(e)},t.refreshPanelElementSize=function(e){var t=this.getDrawerInstance(),n=this._getPanelSize(t.option(\"opened\"));t.isHorizontalDirection()?(0,o.setWidth)((0,a.default)(t.content()),e?t.getRealPanelWidth():n):(0,o.setHeight)((0,a.default)(t.content()),e?t.getRealPanelHeight():n)},t.isViewContentFirst=function(){return!1},t.onPanelContentRendered=function(){},e}();t.default=l,e.exports=t.default,e.exports.default=t.default},5738:function(e,t,n){t.default=void 0;var i=n(58664),o=n(68890),a=c(n(39725)),r=c(n(68374)),s=n(31648),l=c(n(89799)),u=n(20576),d=n(78008);function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var c=a.prototype;return c.renderPanelContent=function(e){var t=this;delete this._initialPosition;var n=this.getDrawerInstance(),i=n.option(),o=i.opened,a=i.minSize;n._overlay=n._createComponent(n.content(),l.default,{shading:!1,container:n.content(),visualContainer:n.getOverlayTarget(),position:this._getOverlayPosition(),width:o?\"auto\":a||0,height:\"100%\",templatesRenderAsynchronously:n.option(\"templatesRenderAsynchronously\"),animation:{show:{duration:0}},onPositioned:function(e){this._fixOverlayPosition(e.component.$content())}.bind(this),contentTemplate:n.option(\"template\"),onContentReady:function(n){e.resolve(),t._processOverlayZIndex(n.component.content())},visible:!0,propagateOutsideClick:!0})},c._fixOverlayPosition=function(e){var t=(0,u.ensureDefined)(this._initialPosition,{left:0,top:0});(0,s.move)(e,t),\"right\"===this.getDrawerInstance().calcTargetPosition()&&e.css(\"left\",\"auto\"),\"bottom\"===this.getDrawerInstance().calcTargetPosition()&&(e.css(\"top\",\"auto\"),e.css(\"bottom\",\"0px\"))},c._getOverlayPosition=function(){var e=this.getDrawerInstance(),t=e.calcTargetPosition(),n={};switch(t){case\"left\":n={my:\"top left\",at:\"top left\"};break;case\"right\":n={my:e.option(\"rtlEnabled\")?\"top left\":\"top right\",at:\"top right\"};break;case\"top\":case\"bottom\":n={my:t,at:t}}return n.of=e.getOverlayTarget(),n},c.refreshPanelElementSize=function(e){var t=this.getDrawerInstance(),n=t.getOverlay();t.isHorizontalDirection()?(n.option(\"height\",\"100%\"),n.option(\"width\",e?t.getRealPanelWidth():this._getPanelSize(t.option(\"opened\")))):(n.option(\"width\",(0,i.getWidth)(t.getOverlayTarget())),n.option(\"height\",e?t.getRealPanelHeight():this._getPanelSize(t.option(\"opened\"))))},c.onPanelContentRendered=function(){this._updateViewContentStyles()},c._updateViewContentStyles=function(){var e=this.getDrawerInstance();(0,r.default)(e.viewContent()).css(\"padding\"+(0,d.camelize)(e.calcTargetPosition(),!0),e.option(\"minSize\")),(0,r.default)(e.viewContent()).css(\"transform\",\"inherit\")},c._internalRenderPosition=function(e,t){var n=this.getDrawerInstance(),i=(0,r.default)(n.content()),a=n.getOverlay().$content(),l=n.option(\"revealMode\"),u=n.calcTargetPosition(),d=this._getPanelSize(n.option(\"opened\")),c=this._getPanelOffset(n.option(\"opened\"))*n._getPositionCorrection(),h=n.getRealPanelHeight()-d;this._updateViewContentStyles(),e?\"slide\"===l?(this._initialPosition=n.isHorizontalDirection()?{left:c}:{top:c},o.animation.moveTo({complete:function(){t.resolve()},duration:n.option(\"animationDuration\"),direction:u,$element:i,position:c})):\"expand\"===l&&(this._initialPosition={left:0},(0,s.move)(a,this._initialPosition),o.animation.size({complete:function(){t.resolve()},duration:n.option(\"animationDuration\"),direction:u,$element:a,size:d,marginTop:h})):\"slide\"===l?(this._initialPosition=n.isHorizontalDirection()?{left:c}:{top:c},(0,s.move)(i,this._initialPosition)):\"expand\"===l&&(this._initialPosition={left:0},(0,s.move)(a,this._initialPosition),n.isHorizontalDirection()?(0,r.default)(a).css(\"width\",d):((0,r.default)(a).css(\"height\",d),\"bottom\"===u&&(0,r.default)(a).css(\"marginTop\",h)))},c.getPanelContent=function(){return(0,r.default)(this.getDrawerInstance().getOverlay().content())},c._processOverlayZIndex=function(e){var t=(0,r.default)(e).get(0).style.zIndex||1;this.getDrawerInstance().setZIndex(t)},c.isViewContentFirst=function(e){return\"right\"===e||\"bottom\"===e},a}(a.default);t.default=f,e.exports=t.default,e.exports.default=t.default},89266:function(e,t,n){t.default=void 0;var i=n(68890),o=s(n(39725)),a=s(n(68374)),r=n(31648);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=o.prototype;return s._internalRenderPosition=function(e,t){var n=this.getDrawerInstance(),o=this._getPanelSize(!0),s=this._getPanelSize(n.option(\"opened\"))*n._getPositionCorrection();if((0,a.default)(n.content()).css(n.isHorizontalDirection()?\"width\":\"height\",o),n.getMinSize()){var l=\"padding\";switch(n.calcTargetPosition()){case\"left\":l+=\"Right\";break;case\"right\":l+=\"Left\";break;case\"top\":l+=\"Bottom\";break;case\"bottom\":l+=\"Top\"}(0,a.default)(n.viewContent()).css(l,n.getMinSize())}e?i.animation.moveTo({$element:(0,a.default)(n.viewContent()),position:s,direction:n.calcTargetPosition(),duration:n.option(\"animationDuration\"),complete:function(){t.resolve()}}):n.isHorizontalDirection()?(0,r.move)((0,a.default)(n.viewContent()),{left:s}):(0,r.move)((0,a.default)(n.viewContent()),{top:s})},s.onPanelContentRendered=function(){(0,a.default)(this.getDrawerInstance().viewContent()).addClass(\"dx-theme-background-color\")},o}(o.default);t.default=u,e.exports=t.default,e.exports.default=t.default},74780:function(e,t,n){t.default=void 0;var i=n(68890),o=s(n(39725)),a=s(n(68374)),r=n(78008);function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=o.prototype;return s._internalRenderPosition=function(e,t){var n=this.getDrawerInstance(),o=n.calcTargetPosition(),s=(0,a.default)(n.content()),l=this._getPanelSize(n.option(\"opened\")),u=this._getPanelOffset(n.option(\"opened\")),d=n.option(\"revealMode\");e?\"slide\"===d?i.animation.margin({complete:function(){t.resolve()},$element:s,duration:n.option(\"animationDuration\"),direction:o,margin:u}):\"expand\"===d&&i.animation.size({complete:function(){t.resolve()},$element:s,duration:n.option(\"animationDuration\"),direction:o,size:l}):\"slide\"===d?s.css(\"margin\"+(0,r.camelize)(o,!0),u):\"expand\"===d&&s.css(n.isHorizontalDirection()?\"width\":\"height\",l)},s.isViewContentFirst=function(e,t){return(t?\"left\"===e:\"right\"===e)||\"bottom\"===e},o}(o.default);t.default=u,e.exports=t.default,e.exports.default=t.default},36646:function(e,t,n){t.default=void 0;var i=b(n(44687)),o=b(n(88718)),a=n(20576),r=n(35922),s=n(95479),l=n(31421),u=n(62754),d=b(n(68374)),c=b(n(55994)),h=n(13306),f=n(13660),p=b(n(99393)),g=n(39611),m=n(72918),_=b(n(20530)),v=b(n(73349)),y=n(6415);function b(e){return e&&e.__esModule?e:{default:e}}var x=v.default.getActiveElement,w=_.default.real(),C=i.default.inherit({_supportedKeys:function(){return(0,h.extend)({},this.callBase(),{tab:function(e){if(this.option(\"opened\")){var t=this._getTabbableElements(),n=e.shiftKey?t.last():t.first();n&&c.default.trigger(n,\"focus\"),e.preventDefault()}}})},_getTabbableElements:function(){return this._getElements().filter(l.tabbable)},_getElements:function(){return(0,d.default)(this.content()).find(\"*\")},_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{acceptCustomValue:!1,contentTemplate:\"content\",openOnFieldClick:!0,displayValueFormatter:function(e){return Array.isArray(e)?e.join(\", \"):e},useHiddenSubmitElement:!0})},_getAnonymousTemplateName:function(){return\"content\"},_initTemplates:function(){this.callBase()},_initMarkup:function(){this._initDataExpressions(),this.$element().addClass(\"dx-dropdownbox\"),this.callBase()},_setSubmitValue:function(){var e=this.option(\"value\"),t=this._shouldUseDisplayValue(e)?this._displayGetter(e):e;this._getSubmitElement().val(t)},_shouldUseDisplayValue:function(e){return\"this\"===this.option(\"valueExpr\")&&(0,r.isObject)(e)},_sortValuesByKeysOrder:function(e,t){return t.sort((function(t,n){return e.indexOf(t.itemKey)-e.indexOf(n.itemKey)})).map((function(e){return e.itemDisplayValue}))},_renderInputValue:function(){var e=this;this._rejectValueLoading();var t=[];if(!this._dataSource)return this.callBase(t),(new u.Deferred).resolve();var n=this._getCurrentValue(),i=null!=n?n:[];i=Array.isArray(i)?i:[i];var o=(0,s.map)(i,(function(n){var i=new u.Deferred;return e._loadItem(n).always((function(o){var a=e._displayGetter(o);(0,r.isDefined)(a)?t.push({itemKey:n,itemDisplayValue:a}):e.option(\"acceptCustomValue\")&&t.push({itemKey:n,itemDisplayValue:n}),i.resolve()})),i})),a=this.callBase.bind(this);return u.when.apply(this,o).always((function(){var n=e._sortValuesByKeysOrder(i,t);e.option(\"displayValue\",n),a(t.length&&n)}))},_loadItem:function(e){var t=new u.Deferred,n=this,i=(0,a.grep)(this.option(\"items\")||[],function(t){return this._isValueEquals(this._valueGetter(t),e)}.bind(this))[0];return void 0!==i?t.resolve(i):this._loadValue(e).done((function(e){t.resolve(e)})).fail((function(i){null!=i&&i.shouldSkipCallback||(n.option(\"acceptCustomValue\")?t.resolve(e):t.reject())})),t.promise()},_popupElementTabHandler:function(e){if(\"tab\"===(0,g.normalizeKeyName)(e)){var t=this._getTabbableElements().first().get(0),n=this._getTabbableElements().last().get(0),i=e.originalEvent.target,o=!(i!==t||!e.shift),a=!(i!==n||e.shift);(o||a)&&(this.close(),c.default.trigger(this._input(),\"focus\"),o&&e.originalEvent.preventDefault())}},_renderPopup:function(e){var t=this;this.callBase(),this.option(\"focusStateEnabled\")&&m.keyboard.on(this.content(),null,(function(e){return t._popupElementTabHandler(e)}))},_renderPopupContent:function(){if(\"content\"!==this.option(\"contentTemplate\")){var e=this._getTemplateByOption(\"contentTemplate\");if(e&&this.option(\"contentTemplate\")){var t=this._popup.$content(),n={value:this._fieldRenderData(),component:this};t.empty(),e.render({container:(0,y.getPublicElement)(t),model:n})}}},_canShowVirtualKeyboard:function(){return w.mac},_isNestedElementActive:function(){var e=x();return e&&this._popup.$content().get(0).contains(e)},_shouldHideOnParentScroll:function(){return\"desktop\"===w.deviceType&&this._canShowVirtualKeyboard()&&this._isNestedElementActive()},_popupHiddenHandler:function(){this.callBase(),this._popupPosition=void 0},_popupPositionedHandler:function(e){this.callBase(e),this._popupPosition=e.position},_getDefaultPopupPosition:function(e){var t=this.callBase(e);return{my:t.my,at:t.at,offset:{v:-1},collision:\"flipfit\"}},_popupConfig:function(){var e=this,t=this.option().focusStateEnabled;return(0,h.extend)(this.callBase(),{tabIndex:-1,dragEnabled:!1,focusStateEnabled:t,contentTemplate:\"content\",hideOnParentScroll:this._shouldHideOnParentScroll.bind(this),position:(0,h.extend)(this.option(\"popupPosition\"),{of:this.$element()}),onKeyboardHandled:function(t){return e.option(\"focusStateEnabled\")&&e._popupElementTabHandler(t)},_ignoreFunctionValueDeprecation:!0,maxHeight:function(){var e,t=null===(e=this._popupPosition)||void 0===e?void 0:e.v.location;return(0,f.getElementMaxHeightByWindow)(this.$element(),t)}.bind(this)})},_popupShownHandler:function(){this.callBase();var e=this._getTabbableElements().first();c.default.trigger(e,\"focus\")},_setCollectionWidgetOption:a.noop,_optionChanged:function(e){switch(this._dataExpressionOptionChanged(e),e.name){case\"dataSource\":this._renderInputValue();break;case\"displayValue\":this.option(\"text\",e.value);break;case\"displayExpr\":this._renderValue();break;case\"contentTemplate\":this._invalidate();break;default:this.callBase(e)}}}).include(o.default);(0,p.default)(\"dxDropDownBox\",C);var S=C;t.default=S,e.exports=t.default,e.exports.default=t.default},45231:function(e,t,n){t.default=void 0;var i=C(n(68374)),o=C(n(14390)),a=n(68494),r=C(n(99393)),s=C(n(28236)),l=C(n(51495)),u=C(n(56757)),d=n(47617),c=n(6415),h=n(44899),f=C(n(53305)),p=n(85273),g=C(n(26562)),m=n(62754),_=n(13306),v=n(35922),y=n(20576),b=C(n(73176)),x=n(61902),w=C(n(28109));function C(e){return e&&e.__esModule?e:{default:e}}function S(){return(S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var k=o.default.inherit({_getDefaultOptions:function(){return(0,_.extend)(this.callBase(),{itemTemplate:\"item\",keyExpr:\"this\",displayExpr:void 0,selectedItem:null,selectedItemKey:null,stylingMode:\"outlined\",deferRendering:!0,noDataText:w.default.format(\"dxCollectionWidget-noDataText\"),useSelectMode:!1,splitButton:!1,showArrowIcon:!0,text:\"\",icon:void 0,onButtonClick:null,onSelectionChanged:null,onItemClick:null,opened:!1,items:null,dataSource:null,focusStateEnabled:!0,hoverStateEnabled:!0,dropDownOptions:{},dropDownContentTemplate:\"content\",wrapItemText:!1,useItemTextAsTitle:!0,grouped:!1,groupTemplate:\"group\",buttonGroupOptions:{}})},_setOptionsByReference:function(){this.callBase(),(0,_.extend)(this._optionsByReference,{selectedItem:!0})},_init:function(){this.callBase(),this._createItemClickAction(),this._createActionClickAction(),this._createSelectionChangedAction(),this._initDataSource(),this._compileKeyGetter(),this._compileDisplayGetter(),this._itemsToDataSource(this.option(\"items\")),this._options.cache(\"buttonGroupOptions\",this.option(\"buttonGroupOptions\")),this._options.cache(\"dropDownOptions\",this.option(\"dropDownOptions\"))},_initTemplates:function(){var e=this;this._templateManager.addDefaultTemplates({content:new a.FunctionTemplate((function(t){var n=(0,i.default)(t.container),o=(0,i.default)(\"<div>\").appendTo(n);e._list=e._createComponent(o,u.default,e._listOptions()),e._list.registerKeyHandler(\"escape\",e._escHandler.bind(e)),e._list.registerKeyHandler(\"tab\",e._escHandler.bind(e)),e._list.registerKeyHandler(\"leftArrow\",e._escHandler.bind(e)),e._list.registerKeyHandler(\"rightArrow\",e._escHandler.bind(e))}))}),this.callBase()},_itemsToDataSource:function(e){this._dataSource||(this._dataSource=new p.DataSource({store:new g.default({key:this._getKey(),data:e}),pageSize:0}))},_getKey:function(){var e,t=this.option(\"keyExpr\"),n=null===(e=this._dataSource)||void 0===e?void 0:e.key();return!(0,v.isDefined)(n)||(0,v.isDefined)(t)&&\"this\"!==t?t:n},_compileKeyGetter:function(){this._keyGetter=(0,d.compileGetter)(this._getKey())},_compileDisplayGetter:function(){this._displayGetter=(0,d.compileGetter)(this.option(\"displayExpr\"))},_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-dropdownbutton\"),this._renderButtonGroup(),this._updateArrowClass(),(0,v.isDefined)(this.option(\"selectedItemKey\"))&&this._loadSelectedItem().done(this._updateActionButton.bind(this))},_renderFocusTarget:y.noop,_render:function(){this.option(\"deferRendering\")&&!this.option(\"opened\")||this._renderPopup(),this.callBase()},_renderContentImpl:function(){return this._popup&&this._renderPopupContent(),this.callBase()},_loadSelectedItem:function(){var e;null===(e=this._loadSingleDeferred)||void 0===e||e.reject();var t=new m.Deferred;if(this._list&&void 0!==this._lastSelectedItemData){var n=this.option(\"useSelectMode\")?this._list.option(\"selectedItem\"):this._lastSelectedItemData;return t.resolve(n)}this._lastSelectedItemData=void 0;var i=this.option(\"selectedItemKey\");return this._loadSingle(this._getKey(),i).done(t.resolve).fail((function(){t.resolve(null)})),this._loadSingleDeferred=t,t.promise()},_createActionClickAction:function(){this._actionClickAction=this._createActionByOption(\"onButtonClick\")},_createSelectionChangedAction:function(){this._selectionChangedAction=this._createActionByOption(\"onSelectionChanged\")},_createItemClickAction:function(){this._itemClickAction=this._createActionByOption(\"onItemClick\")},_fireSelectionChangedAction:function(e){var t=e.previousValue,n=e.value;this._selectionChangedAction({item:n,previousItem:t})},_fireItemClickAction:function(e){var t=e.event,n=e.itemElement,i=e.itemData;return this._itemClickAction({event:t,itemElement:n,itemData:this._actionItem||i})},_actionButtonConfig:function(){return{text:this.option(\"text\"),icon:this.option(\"icon\"),elementAttr:{class:\"dx-dropdownbutton-action\"}}},_getButtonGroupItems:function(){var e=[];return e.push(this._actionButtonConfig()),this.option(\"splitButton\")&&e.push({icon:\"spindown\",elementAttr:{class:\"dx-dropdownbutton-toggle\"}}),e},_buttonGroupItemClick:function(e){var t=e.event,n=e.itemData,i=\"dx-dropdownbutton-action\"===n.elementAttr.class;\"dx-dropdownbutton-toggle\"===n.elementAttr.class?this.toggle():i&&(this._actionClickAction({event:t,selectedItem:this.option(\"selectedItem\")}),this.option(\"splitButton\")||this.toggle())},_buttonGroupOptions:function(){var e=this,t=this.option(),n=t.splitButton,o=t.showArrowIcon,a=t.focusStateEnabled,r=t.hoverStateEnabled,s=t.stylingMode,l=t.accessKey,u=t.tabIndex,d=n||!o?\"content\":function(e,t){var n=e.text,o=e.icon,a=(0,h.getImageContainer)(o),r=n?(0,i.default)(\"<span>\").text(n).addClass(\"dx-button-text\"):void 0,s=(0,h.getImageContainer)(\"spindown\").addClass(\"dx-icon-right\");(0,i.default)(t).append(a,r,s)};return(0,_.extend)({items:this._getButtonGroupItems(),onItemClick:this._buttonGroupItemClick.bind(this),width:\"100%\",height:\"100%\",selectionMode:\"none\",onKeyboardHandled:function(t){return e._keyboardHandler(t)},buttonTemplate:d,focusStateEnabled:a,hoverStateEnabled:r,stylingMode:s,accessKey:l,tabIndex:u},this._options.cache(\"buttonGroupOptions\"))},_renderPopupContent:function(){var e=this._popup.$content(),t=this._getTemplateByOption(\"dropDownContentTemplate\");return e.empty(),this._popupContentId=\"dx-\"+new b.default,this.setAria(\"id\",this._popupContentId,e),t.render({container:(0,c.getPublicElement)(e),model:this.option(\"items\")||this._dataSource})},_popupOptions:function(){var e=this,t=this.option(\"rtlEnabled\")?\"right\":\"left\";return(0,_.extend)({dragEnabled:!1,focusStateEnabled:!1,deferRendering:this.option(\"deferRendering\"),hideOnOutsideClick:function(t){var n=e.$element();return!(0,i.default)(t.target).closest(\".\".concat(\"dx-dropdownbutton\")).is(n)},showTitle:!1,animation:{show:{type:\"fade\",duration:0,from:0,to:1},hide:{type:\"fade\",duration:400,from:1,to:0}},_ignoreFunctionValueDeprecation:!0,width:function(){return(0,x.getElementWidth)(e.$element())},height:\"auto\",shading:!1,position:{of:this.$element(),collision:\"flipfit\",my:t+\" top\",at:t+\" bottom\"},_wrapperClassExternal:\"dx-dropdowneditor-overlay\"},this._options.cache(\"dropDownOptions\"),{visible:this.option(\"opened\")})},_listOptions:function(){var e=this,t=this.option(\"selectedItemKey\"),n=this.option(\"useSelectMode\");return{selectionMode:n?\"single\":\"none\",wrapItemText:this.option(\"wrapItemText\"),focusStateEnabled:this.option(\"focusStateEnabled\"),hoverStateEnabled:this.option(\"hoverStateEnabled\"),useItemTextAsTitle:this.option(\"useItemTextAsTitle\"),onContentReady:function(){return e._fireContentReadyAction()},selectedItemKeys:(0,v.isDefined)(t)&&n?[t]:[],grouped:this.option(\"grouped\"),groupTemplate:this.option(\"groupTemplate\"),keyExpr:this._getKey(),noDataText:this.option(\"noDataText\"),displayExpr:this.option(\"displayExpr\"),itemTemplate:this.option(\"itemTemplate\"),items:this.option(\"items\"),dataSource:this._dataSource,onItemClick:function(t){e.option(\"useSelectMode\")||(e._lastSelectedItemData=t.itemData),e.option(\"selectedItemKey\",e._keyGetter(t.itemData)),!1!==e._fireItemClickAction(t)&&(e.toggle(!1),e._buttonGroup.focus())}}},_upDownKeyHandler:function(){return this._popup&&this._popup.option(\"visible\")&&this._list?this._list.focus():this.open(),!0},_escHandler:function(){return this.close(),this._buttonGroup.focus(),!0},_tabHandler:function(){return this.close(),!0},_renderPopup:function(){var e=(0,i.default)(\"<div>\");this.$element().append(e),this._popup=this._createComponent(e,l.default,this._popupOptions()),this._popup.$content().addClass(\"dx-dropdownbutton-content\"),this._popup.$wrapper().addClass(\"dx-dropdownbutton-popup-wrapper\"),this._popup.on(\"hiding\",this._popupHidingHandler.bind(this)),this._popup.on(\"showing\",this._popupShowingHandler.bind(this)),this._bindInnerWidgetOptions(this._popup,\"dropDownOptions\")},_popupHidingHandler:function(){this.option(\"opened\",!1),this._updateAriaAttributes(!1)},_popupOptionChanged:function(e){var t=o.default.getOptionsFromContainer(e);this._setPopupOption(t);var n=Object.keys(t);-1===n.indexOf(\"width\")&&-1===n.indexOf(\"height\")||this._dimensionChanged()},_dimensionChanged:function(){var e=this;void 0===(0,x.getSizeValue)(this.option(\"dropDownOptions.width\"))&&this._setPopupOption(\"width\",(function(){return(0,x.getElementWidth)(e.$element())}))},_setPopupOption:function(e,t){this._setWidgetOption(\"_popup\",arguments)},_popupShowingHandler:function(){this.option(\"opened\",!0),this._updateAriaAttributes(!0)},_setElementAria:function(e){var t={owns:e?this._popupContentId:void 0};this.setAria(t,this.$element())},_setButtonsAria:function(e){var t=this,n={expanded:e,haspopup:\"listbox\"},o={};this.option(\"text\")||(o.label=\"dropdownbutton\"),this._getButtons().each((function(e,a){0===e?t.setAria(S({},o,n),(0,i.default)(a)):t.setAria(n,(0,i.default)(a))}))},_updateAriaAttributes:function(e){this._setElementAria(e),this._setButtonsAria(e)},_getButtons:function(){return this._buttonGroup.$element().find(\".\".concat(\"dx-button\"))},_renderButtonGroup:function(){var e=this._buttonGroup&&this._buttonGroup.$element()||(0,i.default)(\"<div>\");this._buttonGroup||this.$element().append(e),this._buttonGroup=this._createComponent(e,s.default,this._buttonGroupOptions()),this._buttonGroup.registerKeyHandler(\"downArrow\",this._upDownKeyHandler.bind(this)),this._buttonGroup.registerKeyHandler(\"tab\",this._tabHandler.bind(this)),this._buttonGroup.registerKeyHandler(\"upArrow\",this._upDownKeyHandler.bind(this)),this._buttonGroup.registerKeyHandler(\"escape\",this._escHandler.bind(this)),this._bindInnerWidgetOptions(this._buttonGroup,\"buttonGroupOptions\"),this._updateAriaAttributes(this.option(\"opened\"))},_updateArrowClass:function(){var e=this.option(\"splitButton\")||this.option(\"showArrowIcon\");this.$element().toggleClass(\"dx-dropdownbutton-has-arrow\",e)},toggle:function(e){return this._popup||(this._renderPopup(),this._renderContent()),this._popup.toggle(e)},open:function(){return this.toggle(!0)},close:function(){return this.toggle(!1)},_setListOption:function(e,t){this._list&&this._list.option(e,t)},_getDisplayValue:function(e){var t=!(0,v.isPlainObject)(e)?e:this._displayGetter(e);return(0,v.isPlainObject)(t)?\"\":String((0,y.ensureDefined)(t,\"\"))},_updateActionButton:function(e){this.option(\"useSelectMode\")&&this.option({text:this._getDisplayValue(e),icon:(0,v.isPlainObject)(e)?e.icon:void 0}),this._setOptionWithoutOptionChange(\"selectedItem\",e),this._setOptionWithoutOptionChange(\"selectedItemKey\",this._keyGetter(e))},_clean:function(){this._list&&this._list.$element().remove(),this._popup&&this._popup.$element().remove()},_selectedItemKeyChanged:function(e){var t=this;this._setListOption(\"selectedItemKeys\",this.option(\"useSelectMode\")&&(0,v.isDefined)(e)?[e]:[]);var n=this.option(\"selectedItem\");this._loadSelectedItem().done((function(e){t._updateActionButton(e),t._displayGetter(n)!==t._displayGetter(e)&&t._fireSelectionChangedAction({previousValue:n,value:e})}))},_updateButtonGroup:function(e,t){this._buttonGroup.option(e,t),this._updateAriaAttributes(this.option(\"opened\"))},_actionButtonOptionChanged:function(e){var t=e.name,n=e.value,i={};i[t]=n,this._updateButtonGroup(\"items[0]\",(0,_.extend)({},this._actionButtonConfig(),i)),this._popup&&this._popup.repaint()},_selectModeChanged:function(e){if(e){this._setListOption(\"selectionMode\",\"single\");var t=this.option(\"selectedItemKey\");this._setListOption(\"selectedItemKeys\",(0,v.isDefined)(t)?[t]:[]),this._selectedItemKeyChanged(this.option(\"selectedItemKey\"))}else this._setListOption(\"selectionMode\",\"none\"),this.option({selectedItemKey:void 0,selectedItem:void 0}),this._actionButtonOptionChanged({text:this.option(\"text\")})},_updateItemCollection:function(e){var t=this,n=this.option(\"selectedItemKey\");this._setListOption(\"selectedItem\",null),this._setWidgetOption(\"_list\",[e]),(0,v.isDefined)(n)&&this._loadSelectedItem().done((function(e){t._setListOption(\"selectedItemKeys\",[n]),t._setListOption(\"selectedItem\",e)})).fail((function(e){t._setListOption(\"selectedItemKeys\",[])})).always(this._updateActionButton.bind(this))},_updateDataSource:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._dataSource.items();this._dataSource=void 0,this._itemsToDataSource(e),this._updateKeyExpr()},_updateKeyExpr:function(){this._compileKeyGetter(),this._setListOption(\"keyExpr\",this._getKey())},focus:function(){this._buttonGroup.focus()},_optionChanged:function(e){var t,n=e.name,i=e.value;switch(n){case\"useSelectMode\":this._selectModeChanged(i);break;case\"splitButton\":this._updateArrowClass(),this._renderButtonGroup();break;case\"displayExpr\":this._compileDisplayGetter(),this._setListOption(n,i),this._updateActionButton(this.option(\"selectedItem\"));break;case\"keyExpr\":this._updateDataSource();break;case\"buttonGroupOptions\":this._innerWidgetOptionChanged(this._buttonGroup,e);break;case\"dropDownOptions\":if(\"dropDownOptions.visible\"===e.fullName)break;void 0!==e.value.visible&&delete e.value.visible,this._popupOptionChanged(e),this._innerWidgetOptionChanged(this._popup,e);break;case\"opened\":this.toggle(i);break;case\"focusStateEnabled\":case\"hoverStateEnabled\":this._setListOption(n,i),this._updateButtonGroup(n,i),this.callBase(e);break;case\"items\":this._updateDataSource(this.option(\"items\")),this._updateItemCollection(n);break;case\"dataSource\":Array.isArray(i)?this._updateDataSource(this.option(\"dataSource\")):(this._initDataSource(),this._updateKeyExpr()),this._updateItemCollection(n);break;case\"icon\":case\"text\":this._actionButtonOptionChanged(e);break;case\"showArrowIcon\":this._updateArrowClass(),this._renderButtonGroup(),this._popup&&this._popup.repaint();break;case\"width\":case\"height\":this.callBase(e),null===(t=this._popup)||void 0===t||t.repaint();break;case\"stylingMode\":this._updateButtonGroup(n,i);break;case\"itemTemplate\":case\"grouped\":case\"noDataText\":case\"groupTemplate\":case\"wrapItemText\":case\"useItemTextAsTitle\":this._setListOption(n,i);break;case\"dropDownContentTemplate\":this._renderContent();break;case\"selectedItemKey\":this._selectedItemKeyChanged(i);break;case\"selectedItem\":break;case\"onItemClick\":this._createItemClickAction();break;case\"onButtonClick\":this._createActionClickAction();break;case\"onSelectionChanged\":this._createSelectionChangedAction();break;case\"deferRendering\":this.toggle(this.option(\"opened\"));break;case\"tabIndex\":this._updateButtonGroup(n,i);break;default:this.callBase(e)}}}).include(f.default);(0,r.default)(\"dxDropDownButton\",k);var D=k;t.default=D,e.exports=t.default,e.exports.default=t.default},29783:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(13306),a=u(n(55994)),r=u(n(28109)),s=u(n(11483)),l=u(n(63008));function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function s(t,n,i){var o;return(o=e.call(this,t,n,i)||this).currentTemplate=null,o}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var u=s.prototype;return u._attachEvents=function(e){var t=this.editor;e.option(\"onClick\",(function(e){var n;(null!==(n=t._shouldCallOpenHandler)&&void 0!==n&&n.call(t)||!t.option(\"openOnFieldClick\"))&&t._openHandler(e)})),a.default.on(e.$element(),\"mousedown\",(function(e){t.$element().is(\".dx-state-focused\")&&e.preventDefault()}))},u._create=function(){var e=this.editor,t=(0,i.default)(\"<div>\"),n=this._getOptions();this._addToContainer(t);var a=e._createComponent(t,l.default,(0,o.extend)({},n,{elementAttr:{\"aria-label\":r.default.format(\"dxDropDownEditor-selectLabel\")}}));return this._legacyRender(e.$element(),t,n.visible),{$element:t,instance:a}},u._getOptions=function(){var e=this.editor,t=this._isVisible(),n={focusStateEnabled:!1,hoverStateEnabled:!1,activeStateEnabled:!1,useInkRipple:!1,disabled:e.option(\"readOnly\"),visible:t};return this._addTemplate(n),n},u._isVisible=function(){var t=this.editor;return e.prototype._isVisible.call(this)&&t.option(\"showDropDownButton\")},u._legacyRender=function(e,t,n){e.toggleClass(\"dx-dropdowneditor-button-visible\",n),t&&t.removeClass(\"dx-button\").addClass(\"dx-dropdowneditor-button\")},u._isSameTemplate=function(){return this.editor.option(\"dropDownButtonTemplate\")===this.currentTemplate},u._addTemplate=function(e){this._isSameTemplate()||(e.template=this.editor._getTemplateByOption(\"dropDownButtonTemplate\"),this.currentTemplate=this.editor.option(\"dropDownButtonTemplate\"))},u.update=function(){if(e.prototype.update.call(this)){var t=this.editor,n=this.instance,i=t.$element(),o=this._getOptions();null==n||n.option(o),this._legacyRender(i,null==n?void 0:n.$element(),o.visible)}},s}(s.default);t.default=c,e.exports=t.default,e.exports.default=t.default},44687:function(e,t,n){t.default=void 0;var i=T(n(68374)),o=T(n(55994)),a=T(n(73176)),r=T(n(99393)),s=n(20576),l=n(31421),u=n(95479),d=n(35922),c=n(13306),h=n(6415),f=T(n(96688)),p=T(n(49387)),g=n(37518),m=T(n(29783)),_=T(n(14390)),v=T(n(28109)),y=n(39611),b=T(n(29837)),x=n(95429),w=T(n(20530)),C=n(68494),S=T(n(51495)),k=n(58201),D=n(61902),I=n(31648);function T(e){return e&&e.__esModule?e:{default:e}}var E=\"ios\"===w.default.current().platform,O=b.default.inherit({_supportedKeys:function(){return(0,c.extend)({},this.callBase(),{tab:function(e){if(this.option(\"opened\"))if(\"instantly\"!==this.option(\"applyValueMode\")){var t=e.shiftKey?this._getLastPopupElement():this._getFirstPopupElement();t&&(o.default.trigger(t,\"focus\"),t.select()),e.preventDefault()}else this.close()},escape:function(e){return this.option(\"opened\")&&e.preventDefault(),this.close(),!0},upArrow:function(e){return!(!(0,y.isCommandKeyPressed)(e)&&(e.preventDefault(),e.stopPropagation(),e.altKey))||(this.close(),!1)},downArrow:function(e){return!(!(0,y.isCommandKeyPressed)(e)&&(e.preventDefault(),e.stopPropagation(),e.altKey))||(this._validatedOpening(),!1)},enter:function(e){return this.option(\"opened\")&&(e.preventDefault(),this._valueChangeEventHandler(e)),!0}})},_getDefaultButtons:function(){return this.callBase().concat([{name:\"dropDown\",Ctor:m.default}])},_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),{value:null,onOpened:null,onClosed:null,opened:!1,acceptCustomValue:!0,applyValueMode:\"instantly\",deferRendering:!0,activeStateEnabled:!0,dropDownButtonTemplate:\"dropDownButton\",fieldTemplate:null,openOnFieldClick:!1,showDropDownButton:!0,buttons:void 0,dropDownOptions:{showTitle:!1},popupPosition:this._getDefaultPopupPosition(),onPopupInitialized:null,applyButtonText:v.default.format(\"OK\"),cancelButtonText:v.default.format(\"Cancel\"),buttonsLocation:\"default\",useHiddenSubmitElement:!1,validationMessagePosition:\"auto\"})},_useTemplates:function(){return!0},_getDefaultPopupPosition:function(e){var t=(0,g.getDefaultAlignment)(e);return{offset:{h:0,v:-1},my:t+\" top\",at:t+\" bottom\",collision:\"flip flip\"}},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(e){return\"generic\"===e.platform},options:{popupPosition:{offset:{v:0}}}}])},_inputWrapper:function(){return this.$element().find(\".dx-dropdowneditor-input-wrapper\").first()},_init:function(){this.callBase(),this._initVisibilityActions(),this._initPopupInitializedAction(),this._updatePopupPosition(this.option(\"rtlEnabled\")),this._options.cache(\"dropDownOptions\",this.option(\"dropDownOptions\"))},_updatePopupPosition:function(e){var t=this._getDefaultPopupPosition(e),n=t.my,i=t.at,o=this.option(\"popupPosition\");this.option(\"popupPosition\",(0,c.extend)({},o,{my:n,at:i}))},_initVisibilityActions:function(){this._openAction=this._createActionByOption(\"onOpened\",{excludeValidators:[\"disabled\",\"readOnly\"]}),this._closeAction=this._createActionByOption(\"onClosed\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_initPopupInitializedAction:function(){this._popupInitializedAction=this._createActionByOption(\"onPopupInitialized\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_initMarkup:function(){this._renderSubmitElement(),this.callBase(),this.$element().addClass(\"dx-dropdowneditor\"),this.setAria(\"role\",\"combobox\")},_render:function(){this.callBase(),this._renderOpenHandler(),this._attachFocusOutHandler(),this._renderOpenedState()},_renderContentImpl:function(){this.option(\"deferRendering\")||this._createPopup()},_renderInput:function(){this.callBase(),this._wrapInput(),this._setDefaultAria()},_wrapInput:function(){this._$container=this.$element().wrapInner((0,i.default)(\"<div>\").addClass(\"dx-dropdowneditor-input-wrapper\")).children().eq(0)},_setDefaultAria:function(){this.setAria({haspopup:\"true\",autocomplete:\"list\"})},_readOnlyPropValue:function(){return!this._isEditable()||this.callBase()},_cleanFocusState:function(){this.callBase(),this.option(\"fieldTemplate\")&&this._detachFocusEvents()},_getFieldTemplate:function(){return this.option(\"fieldTemplate\")&&this._getTemplateByOption(\"fieldTemplate\")},_renderMask:function(){this.option(\"fieldTemplate\")||this.callBase()},_renderField:function(){var e=this._getFieldTemplate();e&&this._renderTemplatedField(e,this._fieldRenderData())},_renderPlaceholder:function(){!!this._getFieldTemplate()||this.callBase()},_renderValue:function(){this.option(\"useHiddenSubmitElement\")&&this._setSubmitValue(),this.callBase().always(this._renderField.bind(this))},_renderTemplatedField:function(e,t){var n=this,a=(0,l.focused)(this._input()),r=this._$container;this._detachKeyboardEvents(),this._refreshButtonsContainer(),this._detachWrapperContent(),this._detachFocusEvents(),r.empty();var s=(0,i.default)(\"<div>\").addClass(\"dx-dropdowneditor-field-template-wrapper\").appendTo(r);e.render({model:t,container:(0,h.getPublicElement)(s),onRendered:function(){if(!!n.$element().find(s).length){var e=n._input();if(!e.length)throw f.default.Error(\"E1010\");n._integrateInput(),a&&o.default.trigger(e,\"focus\")}}}),this._attachWrapperContent(r)},_detachWrapperContent:function(){var e,t,n;this.option(\"useHiddenSubmitElement\")&&(null===(e=this._$submitElement)||void 0===e||e.detach());var i=null===(t=this._$beforeButtonsContainer)||void 0===t?void 0:t[0].parentNode,o=null===(n=this._$afterButtonsContainer)||void 0===n?void 0:n[0].parentNode;null==i||i.removeChild(this._$beforeButtonsContainer[0]),null==o||o.removeChild(this._$afterButtonsContainer[0])},_attachWrapperContent:function(e){var t,n=this.option(\"useHiddenSubmitElement\");e.prepend(this._$beforeButtonsContainer),n&&(null===(t=this._$submitElement)||void 0===t||t.appendTo(e)),e.append(this._$afterButtonsContainer)},_refreshButtonsContainer:function(){this._$buttonsContainer=this.$element().children().eq(0)},_integrateInput:function(){this._renderFocusState(),this._refreshValueChangeEvent(),this._refreshEvents(),this._refreshEmptinessEvent()},_refreshEmptinessEvent:function(){o.default.off(this._input(),\"input blur\",this._toggleEmptinessEventHandler),this._renderEmptinessEvent()},_fieldRenderData:function(){return this.option(\"value\")},_initTemplates:function(){this._templateManager.addDefaultTemplates({dropDownButton:new C.FunctionTemplate((function(e){var t=(0,i.default)(\"<div>\").addClass(\"dx-dropdowneditor-icon\");(0,i.default)(e.container).append(t)}))}),this.callBase()},_renderOpenHandler:function(){var e=this._inputWrapper(),t=(0,y.addNamespace)(x.name,this.NAME),n=this.option(\"openOnFieldClick\");o.default.off(e,t),o.default.on(e,t,this._getInputClickHandler(n)),this.$element().toggleClass(\"dx-dropdowneditor-field-clickable\",n),n&&(this._openOnFieldClickAction=this._createAction(this._openHandler.bind(this)))},_attachFocusOutHandler:function(){var e=this;E&&(this._detachFocusOutEvents(),o.default.on(this._inputWrapper(),(0,y.addNamespace)(\"focusout\",this.NAME),(function(t){var n=t.relatedTarget;n&&e.option(\"opened\")&&(e._isTargetOutOfComponent(n)&&e.close())})))},_isTargetOutOfComponent:function(e){var t=this.content?(0,i.default)(this.content()).closest(\".\".concat(\"dx-dropdowneditor-overlay\")):this._$popup;return 0===(0,i.default)(e).closest(\".\".concat(\"dx-dropdowneditor-overlay\"),t).length},_detachFocusOutEvents:function(){E&&o.default.off(this._inputWrapper(),(0,y.addNamespace)(\"focusout\",this.NAME))},_getInputClickHandler:function(e){var t=this;return e?function(e){t._executeOpenAction(e)}:function(e){t._focusInput()}},_openHandler:function(){this._toggleOpenState()},_executeOpenAction:function(e){this._openOnFieldClickAction({event:e})},_keyboardEventBindingTarget:function(){return this._input()},_focusInput:function(){return!this.option(\"disabled\")&&(this.option(\"focusStateEnabled\")&&!(0,l.focused)(this._input())&&(this._resetCaretPosition(),o.default.trigger(this._input(),\"focus\")),!0)},_resetCaretPosition:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._input().get(0);if(t){var n=t.value,i=(0,d.isDefined)(n)&&(e||this._isEditable())?n.length:0;this._caret({start:i,end:i},!0)}},_isEditable:function(){return this.option(\"acceptCustomValue\")},_toggleOpenState:function(e){this._focusInput()&&(this.option(\"readOnly\")||(e=arguments.length?e:!this.option(\"opened\"),this.option(\"opened\",e)))},_getControlsAria:function(){return this._popup&&this._popupContentId},_renderOpenedState:function(){var e=this.option(\"opened\");e&&this._createPopup(),this.$element().toggleClass(\"dx-dropdowneditor-active\",e),this._setPopupOption(\"visible\",e);var t={expanded:e,controls:this._getControlsAria()};this.setAria(t),this.setAria(\"owns\",e?this._popupContentId:void 0,this.$element())},_createPopup:function(){this._$popup||(this._$popup=(0,i.default)(\"<div>\").addClass(\"dx-dropdowneditor-overlay\").appendTo(this.$element()),this._renderPopup(),this._renderPopupContent())},_renderPopupContent:s.noop,_renderPopup:function(){var e=(0,c.extend)(this._popupConfig(),this._options.cache(\"dropDownOptions\"));delete e.closeOnOutsideClick,e.elementAttr&&!Object.keys(e.elementAttr).length&&delete e.elementAttr,this._popup=this._createComponent(this._$popup,S.default,e),this._popup.on({showing:this._popupShowingHandler.bind(this),shown:this._popupShownHandler.bind(this),hiding:this._popupHidingHandler.bind(this),hidden:this._popupHiddenHandler.bind(this),contentReady:this._contentReadyHandler.bind(this)}),this._contentReadyHandler(),this._setPopupContentId(this._popup.$content()),this._bindInnerWidgetOptions(this._popup,\"dropDownOptions\")},_setPopupContentId:function(e){this._popupContentId=\"dx-\"+new a.default,this.setAria(\"id\",this._popupContentId,e)},_contentReadyHandler:s.noop,_popupConfig:function(){var e=this;return{onInitialized:this._popupInitializedHandler(),position:(0,c.extend)(this.option(\"popupPosition\"),{of:this.$element()}),showTitle:this.option(\"dropDownOptions.showTitle\"),_ignoreFunctionValueDeprecation:!0,width:function(){return(0,D.getElementWidth)(e.$element())},height:\"auto\",shading:!1,hideOnParentScroll:!0,hideOnOutsideClick:function(t){return e._closeOutsideDropDownHandler(t)},animation:{show:{type:\"fade\",duration:0,from:0,to:1},hide:{type:\"fade\",duration:400,from:1,to:0}},deferRendering:!1,focusStateEnabled:!1,showCloseButton:!1,dragEnabled:!1,toolbarItems:this._getPopupToolbarItems(),onPositioned:this._popupPositionedHandler.bind(this),fullScreen:!1,contentTemplate:null,_wrapperClassExternal:\"dx-dropdowneditor-overlay\",_ignorePreventScrollEventsDeprecation:!0}},_popupInitializedHandler:function(){var e=this;return this.option(\"onPopupInitialized\")?function(t){e._popupInitializedAction({popup:t.component})}:null},_dimensionChanged:function(){!(0,k.hasWindow)()||this.$element().is(\":visible\")?this._updatePopupWidth():this.close()},_updatePopupWidth:function(){var e=this;void 0===(0,D.getSizeValue)(this.option(\"dropDownOptions.width\"))&&this._setPopupOption(\"width\",(function(){return(0,D.getElementWidth)(e.$element())}))},_popupPositionedHandler:function(e){var t,n,i=this.option(),o=i.labelMode,a=i.stylingMode;if(this._popup){var r=this._popup.$overlayContent(),s=null===(t=e.position)||void 0===t||null===(n=t.v)||void 0===n?void 0:n.flip,l=\"hidden\"!==o&&\"outlined\"===a;if(e.position&&r.toggleClass(\"dx-dropdowneditor-overlay-flipped\",s),s&&l&&this._label.isVisible()){var u=this._label.$element();(0,I.move)(r,{top:(0,I.locate)(r).top-parseInt(u.css(\"fontSize\"))})}}},_popupShowingHandler:s.noop,_popupHidingHandler:function(){this.option(\"opened\",!1)},_popupShownHandler:function(){var e;this._openAction(),null===(e=this._validationMessage)||void 0===e||e.option(\"positionSide\",this._getValidationMessagePositionSide())},_popupHiddenHandler:function(){var e;this._closeAction(),null===(e=this._validationMessage)||void 0===e||e.option(\"positionSide\",this._getValidationMessagePositionSide())},_getValidationMessagePositionSide:function(){var e=this.option(\"validationMessagePosition\");if(\"auto\"!==e)return e;var t=\"bottom\";if(this._popup&&this._popup.option(\"visible\")){var n=p.default.setup(this.$element()).top,i=p.default.setup(this._popup.$content()).top;t=n+this.option(\"popupPosition\").offset.v>i?\"bottom\":\"top\"}return t},_closeOutsideDropDownHandler:function(e){var t=e.target,n=(0,i.default)(t),o=this.getButton(\"dropDown\"),a=o&&o.$element(),r=!!n.closest(this.$element()).length,s=!!n.closest(a).length;return!r&&!s},_clean:function(){delete this._openOnFieldClickAction,this._$popup&&(this._$popup.remove(),delete this._$popup,delete this._popup),this.callBase()},_setPopupOption:function(e,t){this._setWidgetOption(\"_popup\",arguments)},_validatedOpening:function(){this.option(\"readOnly\")||this._toggleOpenState(!0)},_getPopupToolbarItems:function(){return\"useButtons\"===this.option(\"applyValueMode\")?this._popupToolbarItemsConfig():[]},_getFirstPopupElement:function(){return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")},_getLastPopupElement:function(){return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")},_popupElementTabHandler:function(e){var t=(0,i.default)(e.currentTarget);(e.shiftKey&&t.is(this._getFirstPopupElement())||!e.shiftKey&&t.is(this._getLastPopupElement()))&&(o.default.trigger(this._input(),\"focus\"),e.preventDefault())},_popupElementEscHandler:function(){o.default.trigger(this._input(),\"focus\"),this.close()},_popupButtonInitializedHandler:function(e){e.component.registerKeyHandler(\"tab\",this._popupElementTabHandler.bind(this)),e.component.registerKeyHandler(\"escape\",this._popupElementEscHandler.bind(this))},_popupToolbarItemsConfig:function(){var e=[{shortcut:\"done\",options:{onClick:this._applyButtonHandler.bind(this),text:this.option(\"applyButtonText\"),onInitialized:this._popupButtonInitializedHandler.bind(this)}},{shortcut:\"cancel\",options:{onClick:this._cancelButtonHandler.bind(this),text:this.option(\"cancelButtonText\"),onInitialized:this._popupButtonInitializedHandler.bind(this)}}];return this._applyButtonsLocation(e)},_applyButtonsLocation:function(e){var t=this.option(\"buttonsLocation\"),n=e;if(\"default\"!==t){var i=(0,s.splitPair)(t);(0,u.each)(n,(function(e,t){(0,c.extend)(t,{toolbar:i[0],location:i[1]})}))}return n},_applyButtonHandler:function(){this.close(),this.option(\"focusStateEnabled\")&&this.focus()},_cancelButtonHandler:function(){this.close(),this.option(\"focusStateEnabled\")&&this.focus()},_popupOptionChanged:function(e){var t=_.default.getOptionsFromContainer(e);this._setPopupOption(t);var n=Object.keys(t);-1===n.indexOf(\"width\")&&-1===n.indexOf(\"height\")||this._dimensionChanged()},_renderSubmitElement:function(){this.option(\"useHiddenSubmitElement\")&&(this._$submitElement=(0,i.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element()))},_setSubmitValue:function(){this._getSubmitElement().val(this.option(\"value\"))},_getSubmitElement:function(){return this.option(\"useHiddenSubmitElement\")?this._$submitElement:this.callBase()},_dispose:function(){this._detachFocusOutEvents(),this.callBase()},_optionChanged:function(e){var t;switch(e.name){case\"width\":case\"height\":this.callBase(e),null===(t=this._popup)||void 0===t||t.repaint();break;case\"opened\":this._renderOpenedState();break;case\"onOpened\":case\"onClosed\":this._initVisibilityActions();break;case\"onPopupInitialized\":this._initPopupInitializedAction();break;case\"fieldTemplate\":(0,d.isDefined)(e.value)?this._renderField():this._invalidate();break;case\"acceptCustomValue\":case\"openOnFieldClick\":this._invalidate();break;case\"dropDownButtonTemplate\":case\"showDropDownButton\":this._updateButtons([\"dropDown\"]);break;case\"dropDownOptions\":this._popupOptionChanged(e),this._options.cache(\"dropDownOptions\",this.option(\"dropDownOptions\"));break;case\"popupPosition\":break;case\"deferRendering\":(0,k.hasWindow)()&&this._createPopup();break;case\"applyValueMode\":case\"applyButtonText\":case\"cancelButtonText\":case\"buttonsLocation\":this._setPopupOption(\"toolbarItems\",this._getPopupToolbarItems());break;case\"useHiddenSubmitElement\":this._$submitElement&&(this._$submitElement.remove(),this._$submitElement=void 0),this._renderSubmitElement();break;case\"rtlEnabled\":this._updatePopupPosition(e.value),this.callBase(e);break;default:this.callBase(e)}},open:function(){this.option(\"opened\",!0)},close:function(){this.option(\"opened\",!1)},field:function(){return(0,h.getPublicElement)(this._input())},content:function(){return this._popup?this._popup.content():null}});(0,r.default)(\"dxDropDownEditor\",O);var A=O;t.default=A,e.exports=t.default,e.exports.default=t.default},32468:function(e,t,n){t.default=void 0;var i=n(58664),o=S(n(68374)),a=n(58201),r=S(n(55994)),s=S(n(73176)),l=S(n(99393)),u=n(20576),d=n(35922),c=n(13306),h=S(n(44687)),f=S(n(56757)),p=S(n(96688)),g=n(39611),m=S(n(20530)),_=S(n(96687)),v=n(95479),y=S(n(88718)),b=S(n(28109)),x=n(91627),w=n(62754),C=S(n(37178));function S(e){return e&&e.__esModule?e:{default:e}}function k(e){return(k=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var D=(0,a.getWindow)(),I=[\"startswith\",\"contains\",\"endwith\",\"notcontains\"],T=\"android\"!==m.default.real().platform,E=h.default.inherit({_supportedKeys:function(){var e=this.callBase();return(0,c.extend)({},e,{tab:function(t){if(this._allowSelectItemByTab()){this._saveValueChangeEvent(t);var n=(0,o.default)(this._list.option(\"focusedElement\"));n.length&&this._setSelectedElement(n)}e.tab.apply(this,arguments)},space:u.noop,home:u.noop,end:u.noop})},_allowSelectItemByTab:function(){return this.option(\"opened\")&&\"instantly\"===this.option(\"applyValueMode\")},_setSelectedElement:function(e){var t=this._valueGetter(this._list._getItemData(e));this._setValue(t)},_setValue:function(e){this.option(\"value\",e)},_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),(0,c.extend)(y.default._dataExpressionDefaultOptions(),{displayValue:void 0,searchEnabled:!1,searchMode:\"contains\",searchTimeout:500,minSearchLength:0,searchExpr:null,valueChangeEvent:\"input change keyup\",selectedItem:null,noDataText:b.default.format(\"dxCollectionWidget-noDataText\"),encodeNoDataText:!1,onSelectionChanged:null,onItemClick:u.noop,showDataBeforeSearch:!1,grouped:!1,groupTemplate:\"group\",popupPosition:{my:\"left top\",at:\"left bottom\",offset:{h:0,v:0},collision:\"flip\"},wrapItemText:!1,useItemTextAsTitle:!1}))},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"ios\"},options:{popupPosition:{offset:{v:-1}}}},{device:{platform:\"generic\"},options:{buttonsLocation:\"bottom center\"}}])},_setOptionsByReference:function(){this.callBase(),(0,c.extend)(this._optionsByReference,{value:!0,selectedItem:!0,displayValue:!0})},_init:function(){this.callBase(),this._initDataExpressions(),this._initActions(),this._setListDataSource(),this._validateSearchMode(),this._clearSelectedItem(),this._initItems()},_setListFocusedElementOptionChange:function(){this._list._updateParentActiveDescendant=this._updateActiveDescendant.bind(this)},_initItems:function(){var e=this.option().items;e&&!e.length&&this._dataSource&&(this.option().items=this._dataSource.items())},_initActions:function(){this._initContentReadyAction(),this._initSelectionChangedAction(),this._initItemClickAction()},_initContentReadyAction:function(){this._contentReadyAction=this._createActionByOption(\"onContentReady\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_initSelectionChangedAction:function(){this._selectionChangedAction=this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption(\"onItemClick\")},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({item:new x.ChildDefaultTemplate(\"item\")})},_isEditable:function(){return this.callBase()||this.option(\"searchEnabled\")},_saveFocusOnWidget:function(e){this._list&&this._list.initialOption(\"focusStateEnabled\")&&this._focusInput()},_fitIntoRange:function(e,t,n){return e>n?t:e<t?n:e},_items:function(){var e=this._getPlainItems(!this._list&&this._dataSource.items());return new _.default(e).filter(\"disabled\",\"<>\",!0).toArray()},_calcNextItem:function(e){var t=this._items();return t[this._fitIntoRange(this._getSelectedIndex()+e,0,t.length-1)]},_getSelectedIndex:function(){var e=this._items(),t=this.option(\"selectedItem\"),n=-1;return(0,v.each)(e,function(e,i){if(this._isValueEquals(i,t))return n=e,!1}.bind(this)),n},_createPopup:function(){this.callBase(),this._updateCustomBoundaryContainer(),this._popup.$wrapper().addClass(this._popupWrapperClass());var e=this._popup.$content();r.default.off(e,\"mouseup\"),r.default.on(e,\"mouseup\",this._saveFocusOnWidget.bind(this))},_updateCustomBoundaryContainer:function(){var e=this.option(\"dropDownOptions.container\"),t=e&&(0,o.default)(e);if(t&&t.length&&!(0,d.isWindow)(t.get(0))){var n=[].slice.call(t.parents());n.unshift(t.get(0)),(0,v.each)(n,function(e,t){return t!==(0,o.default)(\"body\").get(0)&&(\"hidden\"===D.getComputedStyle(t).overflowY?(this._$customBoundaryContainer=(0,o.default)(t),!1):void 0)}.bind(this))}},_popupWrapperClass:function(){return\"dx-dropdownlist-popup-wrapper\"},_renderInputValue:function(){var e=this._getCurrentValue();return this._rejectValueLoading(),this._loadInputValue(e,this._setSelectedItem.bind(this)).always(this.callBase.bind(this,e))},_loadInputValue:function(e,t){return this._loadItem(e).always(t)},_getItemFromPlain:function(e,t){var n,i;return t&&\"object\"!==k(e)&&(t.itemByValue||(t.itemByValue={},(n=this._getPlainItems()).forEach((function(e){t.itemByValue[this._valueGetter(e)]=e}),this)),i=t.itemByValue[e]),i||(n=this._getPlainItems(),i=(0,u.grep)(n,function(t){return this._isValueEquals(this._valueGetter(t),e)}.bind(this))[0]),i},_loadItem:function(e,t){var n=this._getItemFromPlain(e,t);return void 0!==n?(new w.Deferred).resolve(n).promise():this._loadValue(e)},_getPlainItems:function(e){var t=[];e=e||this.option(\"items\")||this._dataSource.items()||[];for(var n=0;n<e.length;n++)e[n]&&e[n].items?t=t.concat(e[n].items):t.push(e[n]);return t},_updateActiveDescendant:function(){var e,t=this.option(\"opened\"),n=null===(e=this._list)||void 0===e?void 0:e.getFocusedItemId(),i=(0,o.default)(\"#\".concat(n)).length>0,a=t&&i&&n;this.setAria({activedescendant:a||null})},_setSelectedItem:function(e){var t=this._displayValue(e);this.option(\"selectedItem\",(0,u.ensureDefined)(e,null)),this.option(\"displayValue\",t)},_displayValue:function(e){return this._displayGetter(e)},_refreshSelected:function(){var e={};this._listItemElements().each(function(t,n){var i=(0,o.default)(n),a=this._valueGetter(i.data(\"dxListItemData\"));this._isSelectedValue(a,e)?this._list.selectItem(i):this._list.unselectItem(i)}.bind(this))},_popupShownHandler:function(){this.callBase(),this._setFocusPolicy()},_setFocusPolicy:function(){this.option(\"focusStateEnabled\")&&this._list&&this._list.option(\"focusedElement\",null)},_isSelectedValue:function(e){return this._isValueEquals(e,this.option(\"value\"))},_validateSearchMode:function(){var e=this.option(\"searchMode\"),t=e.toLowerCase();if(!I.includes(t))throw p.default.Error(\"E1019\",e)},_clearSelectedItem:function(){this.option(\"selectedItem\",null)},_processDataSourceChanging:function(){this._initDataController(),this._setListOption(\"_dataController\",this._dataController),this._setListDataSource(),this._renderInputValue().fail(function(){this._isCustomValueAllowed()||this._clearSelectedItem()}.bind(this))},_isCustomValueAllowed:function(){return this.option(\"displayCustomValue\")},reset:function(){this.callBase(),this._clearFilter(),this._clearSelectedItem()},_listItemElements:function(){return this._$list?this._$list.find(\".dx-list-item\"):(0,o.default)()},_popupConfig:function(){return(0,c.extend)(this.callBase(),{templatesRenderAsynchronously:!1,autoResizeEnabled:!1,maxHeight:this._getMaxHeight.bind(this)})},_renderPopupContent:function(){this.callBase(),this._renderList()},_getKeyboardListeners:function(){var e=this._canListHaveFocus();return this.callBase().concat([!e&&this._list])},_renderList:function(){this._listId=\"dx-\"+(new s.default)._value;var e=(0,o.default)(\"<div>\").attr(\"id\",this._listId).appendTo(this._popup.$content());this._$list=e,this._list=this._createComponent(e,f.default,this._listConfig()),this._refreshList(),this._renderPreventBlurOnListClick(),this._setListFocusedElementOptionChange()},_renderPreventBlurOnListClick:function(){var e=(0,g.addNamespace)(\"mousedown\",\"dxDropDownList\");r.default.off(this._$list,e),r.default.on(this._$list,e,(function(e){return e.preventDefault()}))},_getControlsAria:function(){return this._list&&this._listId},_renderOpenedState:function(){this.callBase(),this._list&&this._updateActiveDescendant(),this.setAria(\"owns\",this._popup&&this._popupContentId)},_setDefaultAria:function(){this.setAria({haspopup:\"listbox\",autocomplete:\"list\"})},_refreshList:function(){this._list&&this._shouldRefreshDataSource()&&this._setListDataSource()},_shouldRefreshDataSource:function(){return!!this._list.option(\"dataSource\")!==this._needPassDataSourceToList()},_isDesktopDevice:function(){return\"desktop\"===m.default.real().deviceType},_listConfig:function(){var e={selectionMode:\"single\",_templates:this.option(\"_templates\"),templateProvider:this.option(\"templateProvider\"),noDataText:this.option(\"noDataText\"),encodeNoDataText:this.option(\"encodeNoDataText\"),grouped:this.option(\"grouped\"),wrapItemText:this.option(\"wrapItemText\"),useItemTextAsTitle:this.option(\"useItemTextAsTitle\"),onContentReady:this._listContentReadyHandler.bind(this),itemTemplate:this.option(\"itemTemplate\"),indicateLoading:!1,keyExpr:this._getCollectionKeyExpr(),displayExpr:this._displayGetterExpr(),groupTemplate:this.option(\"groupTemplate\"),onItemClick:this._listItemClickAction.bind(this),dataSource:this._getDataSource(),_dataController:this._dataController,hoverStateEnabled:!!this._isDesktopDevice()&&this.option(\"hoverStateEnabled\"),focusStateEnabled:!!this._isDesktopDevice()&&this.option(\"focusStateEnabled\")};return this._canListHaveFocus()||(e.tabIndex=null),e},_canListHaveFocus:function(){return!1},_getDataSource:function(){return this._needPassDataSourceToList()?this._dataSource:null},_dataSourceOptions:function(){return{paginate:!1}},_getGroupedOption:function(){return this.option(\"grouped\")},_dataSourceFromUrlLoadMode:function(){return\"raw\"},_listContentReadyHandler:function(){this._list=this._list||this._$list.dxList(\"instance\"),this.option(\"deferRendering\")||this._refreshSelected(),this._updatePopupWidth(),this._updateListDimensions(),this._contentReadyAction()},_setListOption:function(e,t){this._setWidgetOption(\"_list\",arguments)},_listItemClickAction:function(e){this._listItemClickHandler(e),this._itemClickAction(e)},_listItemClickHandler:u.noop,_setListDataSource:function(){this._list&&(this._setListOption(\"dataSource\",this._getDataSource()),this._needPassDataSourceToList()||this._setListOption(\"items\",[]))},_needPassDataSourceToList:function(){return this.option(\"showDataBeforeSearch\")||this._isMinSearchLengthExceeded()},_isMinSearchLengthExceeded:function(){return this._searchValue().toString().length>=this.option(\"minSearchLength\")},_needClearFilter:function(){return!this._canKeepDataSource()&&this._needPassDataSourceToList()},_canKeepDataSource:function(){var e=this._isMinSearchLengthExceeded();return this._dataController.isLoaded()&&this.option(\"showDataBeforeSearch\")&&this.option(\"minSearchLength\")&&!e&&!this._isLastMinSearchLengthExceeded},_searchValue:function(){return this._input().val()||\"\"},_getSearchEvent:function(){return(0,g.addNamespace)(\"input\",this.NAME+\"Search\")},_getCompositionStartEvent:function(){return(0,g.addNamespace)(\"compositionstart\",this.NAME+\"CompositionStart\")},_getCompositionEndEvent:function(){return(0,g.addNamespace)(\"compositionend\",this.NAME+\"CompositionEnd\")},_getSetFocusPolicyEvent:function(){return(0,g.addNamespace)(\"input\",this.NAME+\"FocusPolicy\")},_renderEvents:function(){var e=this;this.callBase(),r.default.on(this._input(),this._getSetFocusPolicyEvent(),(function(){e._setFocusPolicy()})),this._shouldRenderSearchEvent()&&(r.default.on(this._input(),this._getSearchEvent(),(function(t){e._searchHandler(t)})),T&&(r.default.on(this._input(),this._getCompositionStartEvent(),(function(){e._isTextCompositionInProgress(!0)})),r.default.on(this._input(),this._getCompositionEndEvent(),(function(t){e._isTextCompositionInProgress(void 0),e._searchHandler(t,e._searchValue())}))))},_shouldRenderSearchEvent:function(){return this.option(\"searchEnabled\")},_refreshEvents:function(){r.default.off(this._input(),this._getSearchEvent()),r.default.off(this._input(),this._getSetFocusPolicyEvent()),T&&(r.default.off(this._input(),this._getCompositionStartEvent()),r.default.off(this._input(),this._getCompositionEndEvent())),this.callBase()},_isTextCompositionInProgress:function(e){if(!arguments.length)return this._isTextComposition;this._isTextComposition=e},_searchHandler:function(e,t){var n=this;if(!this._isTextCompositionInProgress())if(this._isMinSearchLengthExceeded()){var i=this.option(\"searchTimeout\");i?(this._clearSearchTimer(),this._searchTimer=setTimeout((function(){n._searchDataSource(t)}),i)):this._searchDataSource(t)}else this._searchCanceled()},_searchCanceled:function(){this._clearSearchTimer(),this._needClearFilter()&&this._filterDataSource(null),this._refreshList()},_searchDataSource:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._searchValue();this._filterDataSource(e)},_filterDataSource:function(e){this._clearSearchTimer();var t=this._dataController;t.searchExpr(this.option(\"searchExpr\")||this._displayGetterExpr()),t.searchOperation(this.option(\"searchMode\")),t.searchValue(e),t.load().done(this._dataSourceFiltered.bind(this,e))},_clearFilter:function(){var e=this._dataController;e.searchValue()&&e.searchValue(null)},_dataSourceFiltered:function(){this._isLastMinSearchLengthExceeded=this._isMinSearchLengthExceeded(),this._refreshList(),this._refreshPopupVisibility()},_shouldOpenPopup:function(){return this._hasItemsToShow()},_refreshPopupVisibility:function(){if(!this.option(\"readOnly\")&&this._searchValue()){var e=this._shouldOpenPopup();e&&!this._isFocused()||(this.option(\"opened\",e),e&&(this._updatePopupWidth(),this._updateListDimensions()))}},_dataSourceChangedHandler:function(e){0===this._dataController.pageIndex()?this.option().items=e:this.option().items=this.option().items.concat(e)},_hasItemsToShow:function(){var e=(this._dataController.items()||[]).length;return!(!this._needPassDataSourceToList()||!e)},_clearSearchTimer:function(){clearTimeout(this._searchTimer),delete this._searchTimer},_popupShowingHandler:function(){this._updatePopupWidth(),this._updateListDimensions()},_dimensionChanged:function(){this.callBase(),this._updateListDimensions()},_needPopupRepaint:function(){var e=this._dataController,t=e.pageIndex(),n=(0,d.isDefined)(this._pageIndex)&&t<=this._pageIndex||e.isLastPage()&&!this._list._scrollViewIsFull();return this._pageIndex=t,n},_updateListDimensions:function(){this._popup&&(this._needPopupRepaint()&&this._popup.repaint(),this._list&&this._list.updateDimensions())},_getMaxHeight:function(){var e=this.$element(),t=this._$customBoundaryContainer,n=e.offset().top-(t?t.offset().top:0),o=(0,i.getOuterHeight)(D),a=t?Math.min((0,i.getOuterHeight)(t),o):o,r=Math.max(n,a-n-(0,i.getOuterHeight)(e));return Math.min(.5*a,r)},_clean:function(){this._list&&delete this._list,delete this._isLastMinSearchLengthExceeded,this.callBase()},_dispose:function(){this._clearSearchTimer(),this.callBase()},_setCollectionWidgetOption:function(){this._setListOption.apply(this,arguments)},_setSubmitValue:function(){var e=this.option(\"value\"),t=this._shouldUseDisplayValue(e)?this._displayGetter(e):e;this._getSubmitElement().val(t)},_shouldUseDisplayValue:function(e){return\"this\"===this.option(\"valueExpr\")&&(0,d.isObject)(e)},_optionChanged:function(e){switch(this._dataExpressionOptionChanged(e),e.name){case\"hoverStateEnabled\":case\"focusStateEnabled\":this._isDesktopDevice()&&this._setListOption(e.name,e.value),this.callBase(e);break;case\"items\":this.option(\"dataSource\")||this._processDataSourceChanging();break;case\"dataSource\":this._processDataSourceChanging();break;case\"valueExpr\":this._renderValue(),this._setListOption(\"keyExpr\",this._getCollectionKeyExpr());break;case\"displayExpr\":this._renderValue(),this._setListOption(\"displayExpr\",this._displayGetterExpr());break;case\"searchMode\":this._validateSearchMode();break;case\"minSearchLength\":this._refreshList();break;case\"searchEnabled\":case\"showDataBeforeSearch\":case\"searchExpr\":this._invalidate();break;case\"onContentReady\":this._initContentReadyAction();break;case\"onSelectionChanged\":this._initSelectionChangedAction();break;case\"onItemClick\":this._initItemClickAction();break;case\"grouped\":case\"groupTemplate\":case\"wrapItemText\":case\"noDataText\":case\"encodeNoDataText\":case\"useItemTextAsTitle\":this._setListOption(e.name);break;case\"displayValue\":this.option(\"text\",e.value);break;case\"itemTemplate\":case\"searchTimeout\":break;case\"selectedItem\":e.previousValue!==e.value&&this._selectionChangedAction({selectedItem:e.value});break;default:this.callBase(e)}}}).include(y.default,C.default);(0,l.default)(\"dxDropDownList\",E);var O=E;t.default=O,e.exports=t.default,e.exports.default=t.default},61902:function(e,t,n){t.getSizeValue=t.getElementWidth=void 0;var i=n(58664),o=n(58201);t.getElementWidth=function(e){if((0,o.hasWindow)())return(0,i.getOuterWidth)(e)};t.getSizeValue=function(e){return null===e&&(e=void 0),\"function\"==typeof e&&(e=e()),e}},96452:function(e,t,n){t.default=void 0;var i=m(n(68374)),o=n(97906),a=m(n(44504)),r=n(58201),s=n(39611),l=n(13306),u=m(n(14390)),d=m(n(90964)),c=m(n(55994)),h=m(n(8336)),f=m(n(73176)),p=n(20576),g=n(3532);function m(e){return e&&e.__esModule?e:{default:e}}var _=[\"outlined\",\"filled\",\"underlined\"],v={validationMessageMode:\"mode\",validationMessagePosition:\"positionSide\",validationMessageOffset:\"offset\",validationBoundary:\"boundary\"},y=u.default.inherit({ctor:function(){this.showValidationMessageTimeout=null,this.validationRequest=(0,a.default)(),this.callBase.apply(this,arguments)},_createElement:function(e){this.callBase(e);var t=this.$element();t&&(0,o.data)(t[0],\"dx-validation-target\",this)},_initOptions:function(e){this.callBase.apply(this,arguments),this.option(d.default.initValidationOptions(e))},_init:function(){this.callBase(),this._options.cache(\"validationTooltipOptions\",this.option(\"validationTooltipOptions\")),this.$element().addClass(\"dx-show-invalid-badge\")},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{value:null,name:\"\",onValueChanged:null,readOnly:!1,isValid:!0,validationError:null,validationErrors:null,validationStatus:\"valid\",validationMessageMode:\"auto\",validationMessagePosition:\"bottom\",validationBoundary:void 0,validationMessageOffset:{h:0,v:0},validationTooltipOptions:{},_showValidationMessage:!0})},_attachKeyboardEvents:function(){this.option(\"readOnly\")||this.callBase()},_setOptionsByReference:function(){this.callBase(),(0,l.extend)(this._optionsByReference,{validationError:!0})},_createValueChangeAction:function(){this._valueChangeAction=this._createActionByOption(\"onValueChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_suppressValueChangeAction:function(){this._valueChangeActionSuppressed=!0},_resumeValueChangeAction:function(){this._valueChangeActionSuppressed=!1},_initMarkup:function(){var e;this._toggleReadOnlyState(),this._setSubmitElementName(this.option(\"name\")),this.callBase(),this._renderValidationState(),null===(e=this.option(\"_onMarkupRendered\"))||void 0===e||e()},_raiseValueChangeAction:function(e,t){this._valueChangeAction||this._createValueChangeAction(),this._valueChangeAction(this._valueChangeArgs(e,t))},_valueChangeArgs:function(e,t){return{value:e,previousValue:t,event:this._valueChangeEventInstance}},_saveValueChangeEvent:function(e){this._valueChangeEventInstance=e},_focusInHandler:function(e){var t=\"auto\"===this.option(\"validationMessageMode\");if(this._canValueBeChangedByClick()&&t){var n,i=null===(n=this._validationMessage)||void 0===n?void 0:n.$wrapper();null==i||i.removeClass(\"dx-invalid-message-auto\"),clearTimeout(this.showValidationMessageTimeout),this.showValidationMessageTimeout=setTimeout((function(){return null==i?void 0:i.addClass(\"dx-invalid-message-auto\")}),150)}return this.callBase(e)},_canValueBeChangedByClick:function(){return!1},_getStylingModePrefix:function(){return\"dx-editor-\"},_renderStylingMode:function(){var e=this,t=this.option(\"stylingMode\"),n=this._getStylingModePrefix(),i=_.map((function(e){return n+e}));i.forEach((function(t){return e.$element().removeClass(t)}));var o=n+t;if(-1===i.indexOf(o)){var a=this._getDefaultOptions().stylingMode,r=this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;o=n+(r||a)}this.$element().addClass(o)},_getValidationErrors:function(){var e=this.option(\"validationErrors\");return!e&&this.option(\"validationError\")&&(e=[this.option(\"validationError\")]),e},_disposeValidationMessage:function(){this._$validationMessage&&(this._$validationMessage.remove(),this.setAria(\"describedby\",null),this._$validationMessage=void 0,this._validationMessage=void 0)},_toggleValidationClasses:function(e){this.$element().toggleClass(\"dx-invalid\",e),this.setAria(\"invalid\",e||void 0)},_renderValidationState:function(){var e=this.option(\"isValid\")&&\"invalid\"!==this.option(\"validationStatus\"),t=this._getValidationErrors(),n=this.$element();if(this._toggleValidationClasses(!e),(0,r.hasWindow)()&&!1!==this.option(\"_showValidationMessage\")&&(this._disposeValidationMessage(),!e&&t)){var o=this.option(),a=o.validationMessageMode,s=o.validationMessageOffset,u=o.validationBoundary,d=o.rtlEnabled;this._$validationMessage=(0,i.default)(\"<div>\").appendTo(n);var c=\"dx-\".concat(new f.default);this.setAria(\"describedby\",c),this._validationMessage=new h.default(this._$validationMessage,(0,l.extend)({validationErrors:t,rtlEnabled:d,target:this._getValidationMessageTarget(),visualContainer:n,mode:a,positionSide:this._getValidationMessagePosition(),offset:s,boundary:u,contentId:c},this._options.cache(\"validationTooltipOptions\"))),this._bindInnerWidgetOptions(this._validationMessage,\"validationTooltipOptions\")}},_getValidationMessagePosition:function(){return this.option(\"validationMessagePosition\")},_getValidationMessageTarget:function(){return this.$element()},_toggleReadOnlyState:function(){var e=this.option(\"readOnly\");this._toggleBackspaceHandler(e),this.$element().toggleClass(\"dx-state-readonly\",!!e),this.setAria(\"readonly\",e||void 0)},_toggleBackspaceHandler:function(e){var t=this._keyboardEventBindingTarget(),n=(0,s.addNamespace)(\"keydown\",\"editorReadOnly\");c.default.off(t,n),e&&c.default.on(t,n,(function(e){\"backspace\"===(0,s.normalizeKeyName)(e)&&e.preventDefault()}))},_dispose:function(){var e=this.$element()[0];(0,o.data)(e,\"dx-validation-target\",null),clearTimeout(this.showValidationMessageTimeout),this._disposeValidationMessage(),this.callBase()},_setSubmitElementName:function(e){var t=this._getSubmitElement();t&&(e.length>0?t.attr(\"name\",e):t.removeAttr(\"name\"))},_getSubmitElement:function(){return null},_setValidationMessageOption:function(e){var t,n=e.name,i=e.value,o=v[n]?v[n]:n;null===(t=this._validationMessage)||void 0===t||t.option(o,i)},_hasActiveElement:p.noop,_optionChanged:function(e){var t;switch(e.name){case\"onValueChanged\":this._createValueChangeAction();break;case\"readOnly\":this._toggleReadOnlyState(),this._refreshFocusState();break;case\"value\":e.value!=e.previousValue&&this.validationRequest.fire({value:e.value,editor:this}),this._valueChangeActionSuppressed||(this._raiseValueChangeAction(e.value,e.previousValue),this._saveValueChangeEvent(void 0));break;case\"width\":this.callBase(e),null===(t=this._validationMessage)||void 0===t||t.updateMaxWidth();break;case\"name\":this._setSubmitElementName(e.value);break;case\"isValid\":case\"validationError\":case\"validationErrors\":case\"validationStatus\":this.option(d.default.synchronizeValidationOptions(e,this.option())),this._renderValidationState();break;case\"validationBoundary\":case\"validationMessageMode\":case\"validationMessagePosition\":case\"validationMessageOffset\":this._setValidationMessageOption(e);break;case\"rtlEnabled\":this._setValidationMessageOption(e),this.callBase(e);break;case\"validationTooltipOptions\":this._innerWidgetOptionChanged(this._validationMessage,e);break;case\"_showValidationMessage\":break;default:this.callBase(e)}},blur:function(){this._hasActiveElement()&&(0,g.resetActiveElement)()},reset:function(){var e=this._getDefaultOptions();this.option(\"value\",e.value)}});y.isEditor=function(e){return e instanceof y};var b=y;t.default=b,e.exports=t.default,e.exports.default=t.default},88718:function(e,t,n){t.default=void 0;var i=h(n(26974)),o=n(47617),a=n(20576),r=n(35922),s=n(13306),l=h(n(53305)),u=n(85273),d=h(n(26562)),c=n(62754);function h(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var p=(0,s.extend)({},l.default,{_dataExpressionDefaultOptions:function(){return{items:[],dataSource:null,itemTemplate:\"item\",value:null,valueExpr:\"this\",displayExpr:void 0}},_initDataExpressions:function(){this._compileValueGetter(),this._compileDisplayGetter(),this._initDynamicTemplates(),this._initDataSource(),this._itemsToDataSource()},_itemsToDataSource:function(){this.option(\"dataSource\")||(this._dataSource=new u.DataSource({store:new d.default(this.option(\"items\")),pageSize:0}),this._initDataController())},_compileDisplayGetter:function(){this._displayGetter=(0,o.compileGetter)(this._displayGetterExpr())},_displayGetterExpr:function(){return this.option(\"displayExpr\")},_compileValueGetter:function(){this._valueGetter=(0,o.compileGetter)(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option(\"valueExpr\")||\"this\"},_loadValue:function(e){var t=new c.Deferred;return e=this._unwrappedValue(e),(0,r.isDefined)(e)?(this._loadSingle(this._valueGetterExpr(),e).done(function(n){this._isValueEquals(this._valueGetter(n),e)?t.resolve(n):t.reject()}.bind(this)).fail((function(){t.reject()})),this._loadValueDeferred=t,t.promise()):t.reject().promise()},_rejectValueLoading:function(){var e;null===(e=this._loadValueDeferred)||void 0===e||e.reject({shouldSkipCallback:!0})},_getCurrentValue:function(){return this.option(\"value\")},_unwrappedValue:function(e){var t;return(e=null!==(t=e)&&void 0!==t?t:this._getCurrentValue())&&this._dataSource&&\"this\"===this._valueGetterExpr()&&(e=this._getItemKey(e)),i.default.unwrap(e)},_getItemKey:function(e){var t=this._dataSource.key();if(Array.isArray(t)){for(var n={},i=0,o=t.length;i<o;i++)n[t[i]]=e[t[i]];return n}return t&&\"object\"===f(e)&&(e=e[t]),e},_isValueEquals:function(e,t){var n=this._dataSource&&this._dataSource.key(),i=this._compareValues(e,t);return!i&&n&&(0,r.isDefined)(e)&&(0,r.isDefined)(t)&&(i=Array.isArray(n)?this._compareByCompositeKey(e,t,n):this._compareByKey(e,t,n)),i},_compareByCompositeKey:function(e,t,n){var i=r.isObject;if(!i(e)||!i(t))return!1;for(var o=0,a=n.length;o<a;o++)if(e[n[o]]!==t[n[o]])return!1;return!0},_compareByKey:function(e,t,n){var o=i.default.unwrap,r=(0,a.ensureDefined)(o(e[n]),e),s=(0,a.ensureDefined)(o(t[n]),t);return this._compareValues(r,s)},_compareValues:function(e,t){return(0,o.toComparable)(e,!0)===(0,o.toComparable)(t,!0)},_initDynamicTemplates:a.noop,_setCollectionWidgetItemTemplate:function(){this._initDynamicTemplates(),this._setCollectionWidgetOption(\"itemTemplate\",this.option(\"itemTemplate\"))},_getCollectionKeyExpr:function(){var e=this.option(\"valueExpr\");return(0,r.isString)(e)&&\"this\"!==e||(0,r.isFunction)(e)?e:null},_dataExpressionOptionChanged:function(e){switch(e.name){case\"items\":this._itemsToDataSource(),this._setCollectionWidgetOption(\"items\");break;case\"dataSource\":this._initDataSource();break;case\"itemTemplate\":this._setCollectionWidgetItemTemplate();break;case\"valueExpr\":this._compileValueGetter();break;case\"displayExpr\":this._compileDisplayGetter(),this._initDynamicTemplates(),this._setCollectionWidgetOption(\"displayExpr\")}}});t.default=p,e.exports=t.default,e.exports.default=t.default},87446:function(e,t,n){var i;t.default=void 0;var o=((i=n(32737))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},57289:function(e,t,n){t.OPERATIONS=t.FileItemsController=void 0;var i=_(n(19073)),o=_(n(45765)),a=_(n(4323)),r=_(n(41332)),s=_(n(98831)),l=_(n(49816)),u=_(n(41011)),d=n(73173),c=n(75084),h=n(62754),f=n(13306),p=n(20576),g=n(35922),m=_(n(73176));function _(e){return e&&e.__esModule?e:{default:e}}function v(e){return(v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function y(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}(e)||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 b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==v(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==v(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===v(a)?a:String(a)),i)}var o,a}function w(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}var C={NAVIGATION:\"navigation\",REFRESH:\"refresh\"};t.OPERATIONS=C;var S=function(){function e(e){e=e||{},this._options=(0,f.extend)({},e),this._isInitialized=!1,this._dataLoading=!1,this._dataLoadingDeferred=null,this._rootDirectoryInfo=this._createRootDirectoryInfo(e.rootText),this._currentDirectoryInfo=this._rootDirectoryInfo,this._defaultIconMap=this._createDefaultIconMap(),this.startSingleLoad(),this._setSecurityController(),this._setProvider(e.fileProvider),this._initialize()}var t=e.prototype;return t._initialize=function(){var e=this,t=this._options.currentPathKeys&&this._options.currentPathKeys.length?this.setCurrentPathByKeys(this._options.currentPathKeys):this.setCurrentPath(this._options.currentPath),n=function(){e._isInitialized=!0,e._raiseInitialized()};t?(0,h.when)(t).always(n):n()},t._setSecurityController=function(){this._securityController=new k({allowedFileExtensions:this._options.allowedFileExtensions,maxFileSize:this._options.uploadMaxFileSize}),this._resetState()},t.setAllowedFileExtensions=function(e){(0,g.isDefined)(e)&&(this._options.allowedFileExtensions=e),this._setSecurityController(),this.refresh()},t.setUploadOptions=function(e){var t=e.maxFileSize,n=e.chunkSize;(0,g.isDefined)(n)&&(this._options.uploadChunkSize=n),(0,g.isDefined)(t)&&(this._options.uploadMaxFileSize=t,this._setSecurityController(),this.refresh())},t._setProvider=function(e){this._fileProvider=this._createFileProvider(e),this._resetState()},t.updateProvider=function(e,t){var n=this;return(0,g.isDefined)(t)?(0,h.when)(this._getDirectoryByPathParts(this._rootDirectoryInfo,t,!0)).then((function(t){t!==n._rootDirectoryInfo&&n._resetCurrentDirectory(),n._setProvider(e)})).then((function(){return n.setCurrentPathByKeys(t)})):this._updateProviderOnly(e)},t._updateProviderOnly=function(e){return this._resetCurrentDirectory(),this._setProvider(e),(0,h.when)(this.refresh())},t._createFileProvider=function(e){if(e||(e=[]),Array.isArray(e))return new a.default({data:e});if(e instanceof i.default)return e;switch(e.type){case\"remote\":return new r.default(e);case\"custom\":return new s.default(e)}return new a.default(e)},t.setCurrentPath=function(e){var t=(0,d.getPathParts)(e),n=d.pathCombine.apply(void 0,y(t));return this.getCurrentDirectory().fileItem.relativeName===n?(new h.Deferred).resolve().promise():this._setCurrentDirectoryByPathParts(t)},t.setCurrentPathByKeys=function(e){return(0,p.equalByValue)(this.getCurrentDirectory().fileItem.pathKeys,e)?(new h.Deferred).resolve().promise():this._setCurrentDirectoryByPathParts(e,!0)},t.getCurrentPath=function(){for(var e=\"\",t=this.getCurrentDirectory();t&&!t.fileItem.isRoot();){var n=(0,d.getEscapedFileName)(t.fileItem.name);e=(0,d.pathCombine)(n,e),t=t.parentDirectory}return e},t.getCurrentPathKeys=function(){return this.getCurrentDirectory().fileItem.pathKeys},t.getCurrentDirectory=function(){return this._currentDirectoryInfo},t.setCurrentDirectory=function(e,t){if(e)if(t&&(e=this._getActualDirectoryInfo(e)),this._currentDirectoryInfo&&this._currentDirectoryInfo===e)this._raisePathPotentiallyChanged();else{var n=this._currentDirectoryInfo.fileItem.key!==e.fileItem.key;this._currentDirectoryInfo=e,n&&this._isInitialized&&(this._dataLoading||this._raiseDataLoading(C.NAVIGATION),this._raiseSelectedDirectoryChanged(e))}},t._resetCurrentDirectory=function(){this._currentDirectoryInfo=this._rootDirectoryInfo},t.getCurrentItems=function(e){var t=this;return this._dataLoadingDeferred?this._dataLoadingDeferred.then((function(){return t._getCurrentItemsInternal(e)})):this._getCurrentItemsInternal(e)},t._getCurrentItemsInternal=function(e){var t=this,n=this.getCurrentDirectory();return this.getDirectoryContents(n).then((function(i){var o=t._separateItemsByType(i);return n.fileItem.hasSubDirectories=!!o.folders.length,e?o.files:i}))},t.getDirectories=function(e,t){return this.getDirectoryContents(e,t).then((function(e){return e.filter((function(e){return e.fileItem.isDirectory}))}))},t._separateItemsByType=function(e){var t=[],n=[];return e.forEach((function(e){return e.fileItem.isDirectory?t.push(e):n.push(e)})),{folders:t,files:n}},t.getDirectoryContents=function(e,t){var n=this;if(!e)return(new h.Deferred).resolve([this._rootDirectoryInfo]).promise();if(e.itemsLoaded)return(new h.Deferred).resolve(e.items).promise();if(this._singleOperationLockId&&e.itemsSingleLoadErrorId===this._singleOperationLockId)return this._changeDirectoryOnError(e,t,!0),(new h.Deferred).reject().promise();var i=e.getInternalKey(),o=this._loadedItems[i];return o||(o=this._getFileItems(e,t).then((function(t){return t=t||[],e.items=t.map((function(t){return t.isDirectory&&n._createDirectoryInfo(t,e)||n._createFileInfo(t,e)})),e.itemsLoaded=!0,e.items}),(function(){return n._singleOperationLockId&&e.itemsSingleLoadErrorId!==n._singleOperationLockId&&(e.itemsSingleLoadErrorId=n._singleOperationLockId),[]})),this._loadedItems[i]=o,o.always((function(){delete n._loadedItems[i]})),o)},t._getFileItems=function(e,t){var n=this,i=null;try{i=this._fileProvider.getItems(e.fileItem)}catch(n){return this._handleItemLoadError(e,n,t)}return(0,h.when)(i).then((function(e){return n._securityController.getAllowedItems(e)}),(function(i){return n._handleItemLoadError(e,i,t)}))},t.createDirectory=function(e,t){var n=this,i=e.fileItem,o=this._createDirInfoByName(t,e),a=this._createEditActionInfo(\"create\",o,e);return this._processEditAction(a,(function(e){e.parentDirectory=i,e.name=t,n._editingEvents.onDirectoryCreating(e)}),(function(){return n._fileProvider.createDirectory(i,t).done((function(e){return i.isRoot()||(i.hasSubDirectories=!0),e}))}),(function(){var e={parentDirectory:i,name:t};n._editingEvents.onDirectoryCreated(e)}),(function(){return n._resetDirectoryState(e,!0)}))},t.renameItem=function(e,t){var n=this,i=e.fileItem.createClone(),o=this._createEditActionInfo(\"rename\",e,e.parentDirectory,{itemNewName:t});return this._processEditAction(o,(function(e,o){o.fileItem.isDirectory||n._securityController.validateExtension(t),e.item=i,e.newName=t,n._editingEvents.onItemRenaming(e)}),(function(e){return n._fileProvider.renameItem(e,t)}),(function(){var e={sourceItem:i,itemName:t};n._editingEvents.onItemRenamed(e)}),(function(){var t=n._getActualDirectoryInfo(e.parentDirectory);n._resetDirectoryState(t),n.setCurrentDirectory(t)}))},t.moveItems=function(e,t){var n=this,i=this._createEditActionInfo(\"move\",e,t);return this._processEditAction(i,(function(e,i){e.item=i.fileItem,e.destinationDirectory=t.fileItem,n._editingEvents.onItemMoving(e)}),(function(e){return n._fileProvider.moveItems([e],t.fileItem)}),(function(e){var i={sourceItem:e.fileItem,parentDirectory:t.fileItem,itemName:e.fileItem.name,itemPath:(0,d.pathCombine)(t.fileItem.path,e.fileItem.name)};n._editingEvents.onItemMoved(i)}),(function(i){e.forEach((function(e){return n._resetDirectoryState(e.parentDirectory,!0)})),i&&(n._resetDirectoryState(t),n.setCurrentPathByKeys(t.fileItem.pathKeys),t.expanded=!0)}))},t.copyItems=function(e,t){var n=this,i=this._createEditActionInfo(\"copy\",e,t);return this._processEditAction(i,(function(e,i){e.item=i.fileItem,e.destinationDirectory=t.fileItem,n._editingEvents.onItemCopying(e)}),(function(e){return n._fileProvider.copyItems([e],t.fileItem)}),(function(e){var i={sourceItem:e.fileItem,parentDirectory:t.fileItem,itemName:e.fileItem.name,itemPath:(0,d.pathCombine)(t.fileItem.path,e.fileItem.name)};n._editingEvents.onItemCopied(i)}),(function(e){e&&(t=n._getActualDirectoryInfo(t),n._resetDirectoryState(t),n.setCurrentDirectory(t),t.expanded=!0)}))},t.deleteItems=function(e){var t=this,n=e.length>0?e[0].parentDirectory:null,i=this._createEditActionInfo(\"delete\",e,n);return this._processEditAction(i,(function(e,n){e.item=n.fileItem,t._editingEvents.onItemDeleting(e)}),(function(e){return t._fileProvider.deleteItems([e])}),(function(e){return t._editingEvents.onItemDeleted({item:e.fileItem})}),(function(){e.forEach((function(e){var n=t._getActualDirectoryInfo(e.parentDirectory);t._resetDirectoryState(n),t.setCurrentDirectory(n)}))}))},t.processUploadSession=function(e,t){var n=this,i=this._getItemInfosForUploaderFiles(e.files,t),o=this._createEditActionInfo(\"upload\",i,t,{sessionInfo:e});return this._processEditAction(o,(function(){}),(function(t,n){return e.deferreds[n]}),(function(){}),(function(){return n._resetDirectoryState(t,!0)}))},t.uploadFileChunk=function(e,t,n){var i=this,o=null;0===t.chunkIndex?(this._securityController.validateMaxFileSize(e.size),this._securityController.validateExtension(e.name),o=this._processBeforeItemEditAction((function(t){t.fileData=e,t.destinationDirectory=n,i._editingEvents.onFileUploading(t)}))):o=(new h.Deferred).resolve().promise();var a=o.then((function(){return i._fileProvider.uploadFileChunk(e,t,n)}));return t.chunkIndex===t.chunkCount-1&&(a=a.done((function(){var t={fileData:e,parentDirectory:n};i._editingEvents.onFileUploaded(t)}))),a},t.abortFileUpload=function(e,t,n){return(0,h.when)(this._fileProvider.abortFileUpload(e,t,n))},t.getFileUploadChunkSize=function(){var e=this._options.uploadChunkSize;return e&&e>0?e:this._fileProvider.getFileUploadChunkSize()},t.downloadItems=function(e){var t=this,n=e.map((function(e){return t._processBeforeItemEditAction((function(n){n.item=e.fileItem,t._editingEvents.onItemDownloading(n)}),e)}));return h.when.apply(void 0,y(n)).then((function(){var n=e.map((function(e){return e.fileItem}));return(0,h.when)(t._getItemActionResult(t._fileProvider.downloadItems(n))).then((function(){}),(function(n){t._raiseDownloadItemsError(e,e[0].parentDirectory,n)}))}),(function(n){t._raiseDownloadItemsError(e,e[0].parentDirectory,n)}))},t.getItemContent=function(e){var t=e.map((function(e){return e.fileItem}));return(0,h.when)(this._fileProvider.getItemsContent(t))},t._handleItemLoadError=function(e,t,n){return e=this._getActualDirectoryInfo(e),this._raiseGetItemsError(e,t),this._changeDirectoryOnError(e,n),(new h.Deferred).reject().promise()},t._raiseGetItemsError=function(e,t){var n=this._createEditActionInfo(\"getItems\",e,e);this._raiseEditActionStarting(n),this._raiseEditActionResultAcquired(n),this._raiseEditActionError(n,{errorCode:t.errorCode,errorText:t.errorText,fileItem:e.fileItem,index:0})},t._raiseDownloadItemsError=function(e,t,n){var i=this._createEditActionInfo(\"download\",e,t),o=e.length;i.singleRequest=1===o,this._raiseEditActionStarting(i),this._raiseEditActionResultAcquired(i);for(var a=0;a<o-1;a++)this._raiseEditActionItemError(i,{errorCode:n.errorCode,errorText:n.errorText,fileItem:e[a].fileItem,index:a});this._raiseEditActionError(i,{errorCode:n.errorCode,errorText:n.errorText,fileItem:e[o-1].fileItem,index:o-1})},t._changeDirectoryOnError=function(e,t,n){n&&(e=this._getActualDirectoryInfo(e)),this._resetDirectoryState(e),e.expanded=!1,t||this.setCurrentDirectory(e.parentDirectory)},t._getItemActionResult=function(e){return Array.isArray(e)?e[0]:e},t._processEditAction=function(e,t,n,i,o){var a=this,r=!1;this._raiseEditActionStarting(e);var s=e.itemInfos.map((function(e,o){return a._processBeforeItemEditAction(t,e).then((function(){return a._getItemActionResult(n(e.fileItem,o)).done((function(){return i(e)}))}))}));return e.singleRequest=1===s.length,this._raiseEditActionResultAcquired(e),(0,c.whenSome)(s,(function(t){r=!0,a._raiseCompleteEditActionItem(e,t)}),(function(t){return a._raiseEditActionItemError(e,t)})).then((function(){o(r),a._raiseCompleteEditAction(e)}))},t._createEditActionInfo=function(e,t,n,i){i=i||{};var o=(t=Array.isArray(t)?t:[t]).map((function(e){return e.fileItem}));return{name:e,itemInfos:t,items:o,directory:n,customData:i,singleRequest:!0}},t._processBeforeItemEditAction=function(e,t){var n=new h.Deferred,i=this._createBeforeActionArgs();try{e(i,t)}catch(e){return n.reject(e).promise()}if(i.cancel){if(!0===i.cancel)return n.reject({errorText:i.errorText,errorCode:i.errorCode});(0,g.isPromise)(i.cancel)&&(0,h.when)(i.cancel).then((function(e){!0===e?n.reject():(0,g.isObject)(e)&&!0===e.cancel&&n.reject({errorText:e.errorText,errorCode:e.errorCode}),n.resolve()}),n.resolve)}else n.resolve();return n.promise()},t._createBeforeActionArgs=function(){return{errorCode:void 0,errorText:\"\",cancel:!1}},t._getItemInfosForUploaderFiles=function(e,t){for(var n=this._getPathInfo(t),i=[],a=0;a<e.length;a++){var r=e[a],s=new o.default(n,r.name,!1),l=this._createFileInfo(s,t);i.push(l)}return i},t.refresh=function(){var e=this;return this._lockRefresh?this._refreshDeferred:(this._lockRefresh=!0,this._executeDataLoad((function(){return e._refreshDeferred=e._refreshInternal()}),C.REFRESH))},t.startSingleLoad=function(){this._singleOperationLockId=(new m.default).toString()},t.endSingleLoad=function(){delete this._singleOperationLockId},t._refreshInternal=function(){var e=this,t={items:this._rootDirectoryInfo.items},n=this._getDirectoryPathKeyParts(this.getCurrentDirectory());return this._resetDirectoryState(this._rootDirectoryInfo),this._loadItemsRecursive(this._rootDirectoryInfo,t).then((function(){var t=e._findDirectoryByPathKeyParts(n);e.setCurrentDirectory(t),delete e._lockRefresh}))},t._loadItemsRecursive=function(e,t){var n=this;return this.getDirectories(e).then((function(e){for(var i=[],o=function(o){var a=t.items.find((function(t){return e[o].fileItem.key===t.fileItem.key}));if(!a)return\"continue\";e[o].expanded=a.expanded,e[o].expanded&&i.push(n._loadItemsRecursive(e[o],a))},a=0;a<e.length;a++)o(a);return(0,c.whenSome)(i)}),(function(){return null}))},t._setCurrentDirectoryByPathParts=function(e,t){var n=this;return this._executeDataLoad((function(){return n._setCurrentDirectoryByPathPartsInternal(e,t)}),C.NAVIGATION)},t._setCurrentDirectoryByPathPartsInternal=function(e,t){var n=this;return this._getDirectoryByPathParts(this._rootDirectoryInfo,e,t).then((function(e){for(var t=e.parentDirectory;t;t=t.parentDirectory)t.expanded=!0;n.setCurrentDirectory(e)}),(function(){n._raisePathPotentiallyChanged()}))},t._executeDataLoad=function(e,t){var n=this;return this._dataLoadingDeferred?this._dataLoadingDeferred.then((function(){return n._executeDataLoad(e,t)})):(this._dataLoading=!0,this._dataLoadingDeferred=new h.Deferred,this._isInitialized&&this._raiseDataLoading(t),e().always((function(){var e=n._dataLoadingDeferred;n._dataLoadingDeferred=null,n._dataLoading=!1,e.resolve()})))},t._getDirectoryByPathParts=function(e,t,n){var i=this;if(t.length<1)return(new h.Deferred).resolve(e).promise();var o=n?\"key\":\"name\";return this.getDirectories(e).then((function(e){var a=e.find((function(e){return e.fileItem[o]===t[0]}));if(!a)return(new h.Deferred).reject().promise();var r=y(t).splice(1);return i._getDirectoryByPathParts(a,r,n)}))},t._getDirectoryPathKeyParts=function(e){for(var t=[];e&&e.parentDirectory;)t.unshift(e.fileItem.key),e=e.parentDirectory;return t},t._findDirectoryByPathKeyParts=function(e){var t=this._rootDirectoryInfo;if(0===e.length)return t;for(var n=0,i=t;i&&n<e.length;)(i=t.items.find((function(t){return t.fileItem.key===e[n]})))&&(t=i),n++;return t},t._getActualDirectoryInfo=function(e){var t=this._getDirectoryPathKeyParts(e);return this._findDirectoryByPathKeyParts(t)},t._createDirInfoByName=function(e,t){var n=this._getPathInfo(t),i=new o.default(n,e,!0);return this._createDirectoryInfo(i,t)},t._createDirectoryInfo=function(e,t){return(0,f.extend)(this._createFileInfo(e,t),{icon:\"folder\",expanded:e.isRoot(),items:[]})},t._createFileInfo=function(e,t){return{fileItem:e,parentDirectory:t,icon:this._getFileItemDefaultIcon(e),getInternalKey:function(){return\"FIK_\".concat(this.fileItem.key)},getDisplayName:function(){return this.displayName||this.fileItem.name}}},t._resetDirectoryState=function(e,t){t&&(e=this._getActualDirectoryInfo(e)),e.itemsLoaded=!1,e.items=[]},t._getFileItemDefaultIcon=function(e){if(e.isDirectory)return\"folder\";var t=e.getFileExtension();return this._defaultIconMap[t]||\"doc\"},t._createDefaultIconMap=function(){var e={\".txt\":\"txtfile\",\".rtf\":\"rtffile\",\".doc\":\"docfile\",\".docx\":\"docxfile\",\".xls\":\"xlsfile\",\".xlsx\":\"xlsxfile\",\".ppt\":\"pptfile\",\".pptx\":\"pptxfile\",\".pdf\":\"pdffile\"};return[\".png\",\".gif\",\".jpg\",\".jpeg\",\".ico\",\".bmp\"].forEach((function(t){e[t]=\"image\"})),e},t._createRootDirectoryInfo=function(e){var t=new o.default(null,\"\",!0),n=this._createDirectoryInfo(t,null);return n.displayName=e||\"Files\",n},t.setRootText=function(e){this._rootDirectoryInfo.displayName=e||\"Files\"},t._raiseInitialized=function(){this._tryCallAction(\"onInitialized\",{controller:this})},t._raiseDataLoading=function(e){this._tryCallAction(\"onDataLoading\",{operation:e})},t._raiseSelectedDirectoryChanged=function(e){this._tryCallAction(\"onSelectedDirectoryChanged\",{selectedDirectoryInfo:e})},t._raiseEditActionStarting=function(e){this._tryCallAction(\"onEditActionStarting\",e)},t._raiseEditActionResultAcquired=function(e){this._tryCallAction(\"onEditActionResultAcquired\",e)},t._raiseEditActionError=function(e,t){this._tryCallAction(\"onEditActionError\",e,t)},t._raiseEditActionItemError=function(e,t){this._tryCallAction(\"onEditActionItemError\",e,t)},t._raiseCompleteEditActionItem=function(e,t){this._tryCallAction(\"onCompleteEditActionItem\",e,t)},t._raiseCompleteEditAction=function(e){this._tryCallAction(\"onCompleteEditAction\",e)},t._raisePathPotentiallyChanged=function(){this._tryCallAction(\"onPathPotentiallyChanged\")},t._tryCallAction=function(e){var t,n=Array.prototype.slice.call(arguments,1);this._isInitialized&&this._options[e]&&(t=this._options)[e].apply(t,y(n))},t._resetState=function(){this._selectedDirectory=null,this._rootDirectoryInfo.items=[],this._rootDirectoryInfo.itemsLoaded=!1,this._loadedItems={}},t._getPathInfo=function(e){for(var t=[],n=e;n&&!n.fileItem.isRoot();n=n.parentDirectory)t.unshift({key:n.fileItem.key,name:n.fileItem.name});return t},t.on=function(e,t){var n=\"on\".concat(e);this._options[n]=t},w(e,[{key:\"_editingEvents\",get:function(){return this._options.editingEvents}}]),e}();t.FileItemsController=S;var k=function(){function e(e){var t=this;this._options=(0,f.extend)({allowedFileExtensions:[],maxFileSize:0},e),this._extensionsMap={},this._allowedFileExtensions.forEach((function(e){t._extensionsMap[e.toUpperCase()]=!0}))}var t=e.prototype;return t.getAllowedItems=function(e){var t=this;return 0===this._allowedFileExtensions.length?e:e.filter((function(e){return e.isDirectory||t._isValidExtension(e.name)}))},t.validateExtension=function(e){if(!this._isValidExtension(e))throw new l.default(u.default.WrongFileExtension,null)},t.validateMaxFileSize=function(e){if(this._maxFileSize&&e>this._maxFileSize)throw new l.default(u.default.MaxFileSizeExceeded,null)},t._isValidExtension=function(e){if(0===this._allowedFileExtensions.length)return!0;var t=(0,d.getFileExtension)(e).toUpperCase();return this._extensionsMap[t]},w(e,[{key:\"_allowedFileExtensions\",get:function(){return this._options.allowedFileExtensions}},{key:\"_maxFileSize\",get:function(){return this._options.maxFileSize}}]),e}()},52666:function(e,t,n){t.default=void 0;var i=n(58664),o=c(n(68374)),a=n(13306),r=n(35922),s=n(58201),l=c(n(14390)),u=c(n(32089)),d=c(n(93288));function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=(0,s.getWindow)(),p=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var c=l.prototype;return c._initMarkup=function(){e.prototype._initMarkup.call(this),this._initActions(),this._isInAdaptiveState=!1;var t=(0,o.default)(\"<div>\").appendTo(this.$element());(0,o.default)(\"<div>\").addClass(\"dx-filemanager-adaptivity-drawer-panel\").appendTo(t),this._drawer=this._createComponent(t,u.default),this._drawer.option({opened:!0,template:this._createDrawerTemplate.bind(this)}),(0,o.default)(this._drawer.content()).addClass(\"dx-drawer-panel-content-initial\");var n=t.find(\".\".concat(\"dx-filemanager-adaptivity-drawer-panel\")).first(),i=this.option(\"contentTemplate\");(0,r.isFunction)(i)&&i(n),this._updateDrawerMaxSize()},c._createDrawerTemplate=function(e){this.option(\"drawerTemplate\")(e),this._splitter=this._createComponent(\"<div>\",d.default,{container:this.$element(),leftElement:(0,o.default)(this._drawer.content()),rightElement:(0,o.default)(this._drawer.viewContent()),onApplyPanelSize:this._onApplyPanelSize.bind(this),onActiveStateChanged:this._onActiveStateChanged.bind(this)}),this._splitter.$element().appendTo(e),this._splitter.disableSplitterCalculation(!0)},c._render=function(){e.prototype._render.call(this),this._checkAdaptiveState()},c._onApplyPanelSize=function(e){(0,s.hasWindow)()&&(this._splitter.isSplitterMoved()?((0,o.default)(this._drawer.content()).removeClass(\"dx-drawer-panel-content-initial\"),this._setDrawerWidth(e.leftPanelWidth)):this._setDrawerWidth(\"\"))},c._onActiveStateChanged=function(e){var t=e.isActive;this._splitter.disableSplitterCalculation(!t),!t&&this._splitter.$element().css(\"left\",\"auto\")},c._setDrawerWidth=function(e){(0,o.default)(this._drawer.content()).css(\"width\",e),this._updateDrawerMaxSize(),this._drawer.resizeViewContent()},c._updateDrawerMaxSize=function(){this._drawer.option(\"maxSize\",this._drawer.getRealPanelWidth())},c._dimensionChanged=function(e){e&&\"height\"===e||this._checkAdaptiveState()},c._checkAdaptiveState=function(){var e=this._isInAdaptiveState;this._isInAdaptiveState=this._isSmallScreen(),e!==this._isInAdaptiveState&&(this.toggleDrawer(!this._isInAdaptiveState,!0),(0,o.default)(this._drawer.content()).toggleClass(\"dx-drawer-panel-content-adaptive\",this._isInAdaptiveState),this._raiseAdaptiveStateChanged(this._isInAdaptiveState)),this._isInAdaptiveState&&this._isDrawerOpened()&&this._updateDrawerMaxSize()},c._isSmallScreen=function(){return(0,i.getWidth)(f)<=573},c._isDrawerOpened=function(){return this._drawer.option(\"opened\")},c._initActions=function(){this._actions={onAdaptiveStateChanged:this._createActionByOption(\"onAdaptiveStateChanged\")}},c._raiseAdaptiveStateChanged=function(e){this._actions.onAdaptiveStateChanged({enabled:e})},c._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{drawerTemplate:null,contentTemplate:null,onAdaptiveStateChanged:null})},c._optionChanged=function(t){var n=t.name;switch(n){case\"drawerTemplate\":case\"contentTemplate\":this.repaint();break;case\"onAdaptiveStateChanged\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},c.isInAdaptiveState=function(){return this._isInAdaptiveState},c.toggleDrawer=function(e,t){this._updateDrawerMaxSize(),this._drawer.option(\"animationEnabled\",!t),this._drawer.toggle(e);var n=this._isDrawerOpened()&&!this.isInAdaptiveState();this._splitter.toggleDisabled(!n)},c.getSplitterElement=function(){return this._splitter.getSplitterBorderElement().get(0)},l}(l.default);t.default=p,e.exports=t.default,e.exports.default=t.default},47565:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=n(13306),a=s(n(14390)),r=s(n(2616));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=a.prototype;return s._init=function(){e.prototype._init.call(this),this._currentDirectory=null},s._initMarkup=function(){e.prototype._initMarkup.call(this),this._initActions(),this._currentDirectory&&this._renderMenu(),this.$element().addClass(\"dx-filemanager-breadcrumbs\")},s.setCurrentDirectory=function(e){this._areDirsEqual(this._currentDirectory,e)||(this._currentDirectory=e,this.repaint())},s._renderMenu=function(){var e=(0,i.default)(\"<div>\").appendTo(this.$element());this._menu=this._createComponent(e,r.default,{dataSource:this._getMenuItems(),onItemClick:this._onItemClick.bind(this),onItemRendered:this._onItemRendered.bind(this)})},s._getMenuItems=function(){var e=this._getParentDirsLine(),t=[{icon:\"arrowup\",directory:this._currentDirectory.parentDirectory,isPathItem:!0,cssClass:\"dx-filemanager-breadcrumbs-parent-folder-item\"},{text:\"\\xa0\",cssClass:\"dx-filemanager-breadcrumbs-separator-item\"}];return e.forEach((function(n,i){t.push({text:n.getDisplayName(),directory:n,isPathItem:!0}),i!==e.length-1&&t.push({icon:\"spinnext\",cssClass:\"dx-filemanager-breadcrumbs-path-separator-item\"})})),t},s._onItemClick=function(e){var t=e.itemData;if(t.isPathItem){var n=t.directory;this._areDirsEqual(n,this._currentDirectory)||this._raiseCurrentDirectoryChanged(n)}},s._onItemRendered=function(e){var t=e.itemElement,n=e.itemData;n.cssClass&&(0,i.default)(t).addClass(n.cssClass)},s._getParentDirsLine=function(){for(var e=this._currentDirectory,t=[];e;)t.unshift(e),e=e.parentDirectory;return t},s._areDirsEqual=function(e,t){return e&&t&&e===t&&e.fileItem.key===t.fileItem.key},s._initActions=function(){this._actions={onCurrentDirectoryChanging:this._createActionByOption(\"onCurrentDirectoryChanging\")}},s._raiseCurrentDirectoryChanged=function(e){this._actions.onCurrentDirectoryChanging({currentDirectory:e})},s._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{rootFolderDisplayName:\"Files\",onCurrentDirectoryChanging:null})},s._optionChanged=function(t){var n=t.name;switch(n){case\"rootFolderDisplayName\":this.repaint();break;case\"onCurrentDirectoryChanging\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},a}(a.default);t.default=u,e.exports=t.default,e.exports.default=t.default},77311:function(e,t,n){t.defaultPermissions=t.FileManagerCommandManager=void 0;var i,o=n(13306),a=n(95479),r=n(35922),s=(i=n(28109))&&i.__esModule?i:{default:i};var l={create:!1,copy:!1,move:!1,delete:!1,rename:!1,upload:!1,download:!1};t.defaultPermissions=l;var u=function(){function e(e){this._actions={},this._permissions=e||{},this._initCommands()}var t=e.prototype;return t._initCommands=function(){var e=this;this._commands=[{name:\"create\",text:s.default.format(\"dxFileManager-commandCreate\"),icon:\"newfolder\",enabled:this._permissions.create,noFileItemRequired:!0},{name:\"rename\",text:s.default.format(\"dxFileManager-commandRename\"),icon:\"rename\",enabled:this._permissions.rename,isSingleFileItemCommand:!0},{name:\"move\",text:s.default.format(\"dxFileManager-commandMove\"),icon:\"movetofolder\",enabled:this._permissions.move},{name:\"copy\",text:s.default.format(\"dxFileManager-commandCopy\"),icon:\"copy\",enabled:this._permissions.copy},{name:\"delete\",text:s.default.format(\"dxFileManager-commandDelete\"),icon:\"trash\",enabled:this._permissions.delete},{name:\"download\",text:s.default.format(\"dxFileManager-commandDownload\"),icon:\"download\",enabled:this._permissions.download},{name:\"upload\",text:s.default.format(\"dxFileManager-commandUpload\"),icon:\"upload\",enabled:this._permissions.upload,noFileItemRequired:!0},{name:\"refresh\",text:s.default.format(\"dxFileManager-commandRefresh\"),icon:\"dx-filemanager-i dx-filemanager-i-refresh\",enabled:!0,noFileItemRequired:!0},{name:\"thumbnails\",text:s.default.format(\"dxFileManager-commandThumbnails\"),icon:\"mediumiconslayout\",enabled:!0,noFileItemRequired:!0},{name:\"details\",text:s.default.format(\"dxFileManager-commandDetails\"),icon:\"detailslayout\",enabled:!0,noFileItemRequired:!0},{name:\"clearSelection\",text:s.default.format(\"dxFileManager-commandClearSelection\"),icon:\"remove\",enabled:!0},{name:\"showNavPane\",hint:s.default.format(\"dxFileManager-commandShowNavPane\"),icon:\"menu\",enabled:!1,noFileItemRequired:!0}],this._commandMap={},this._commands.forEach((function(t){e._commandMap[t.name]=t}))},t.registerActions=function(e){this._actions=(0,o.extend)(this._actions,e)},t.executeCommand=function(e,t){var n=(0,r.isString)(e)?e:e.name,i=this._actions[n];if(i)return i(t)},t.updatePermissions=function(e){var t=this,n=(0,o.extend)({},l,e);this._permissions=n,(0,a.each)(this._permissions,(function(e){t._commandMap[e].enabled=t._permissions[e]}))},t.setCommandEnabled=function(e,t){var n=this.getCommandByName(e);n&&(n.enabled=t)},t.getCommandByName=function(e){return this._commandMap[e]},t.isCommandAvailable=function(e,t){var n=this.getCommandByName(e);if(!n||!n.enabled)return!1;if(n.noFileItemRequired)return!0;var i=t&&t.length||0;return 0!==i&&!t.some((function(e){return e.fileItem.isRoot()||e.fileItem.isParentFolder}))&&(\"download\"===e?t.every((function(e){return!e.fileItem.isDirectory})):!n.isSingleFileItemCommand||1===i)},e}();t.FileManagerCommandManager=u},75084:function(e,t,n){t.whenSome=t.getMapFromObject=t.getDisplayFileSize=t.findItemsByKeys=t.extendAttributes=void 0;var i=n(62754),o=n(13306),a=n(20576),r=n(35922);function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==s(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===s(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.whenSome=function(e,t,n){t=t||a.noop,n=n||a.noop,Array.isArray(e)||(e=[e]);var o=e.map((function(e,o){return(0,i.when)(e).then((function(n){return(0,r.isFunction)(t)&&t({item:e,index:o,result:n}),n}),(function(e){return e||(e={}),e.index=o,(0,r.isFunction)(n)&&n(e),(new i.Deferred).resolve().promise()}))}));return i.when.apply(null,o)};t.getDisplayFileSize=function(e){for(var t=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\"],n=0,i=e;i>=1024&&n<=t.length-1;)i/=1024,n++;return i=Math.round(10*i)/10,\"\".concat(i,\" \").concat(t[n])};t.extendAttributes=function(e,t,n){return n.forEach((function(n){(0,o.extend)(!0,e,(0,r.isDefined)(t[n])?l({},n,t[n]):{})})),e};t.findItemsByKeys=function(e,t){var n={};t.forEach((function(e){n[e]=null})),e.forEach((function(e){var t=e.fileItem.key;Object.prototype.hasOwnProperty.call(n,t)&&(n[t]=e)}));var i=[];return t.forEach((function(e){var t=n[e];t&&i.push(t)})),i};t.getMapFromObject=function(e){var t=Object.keys(e),n=[];return t.forEach((function(t){return n.push(e[t])})),{keys:t,values:n}}},2681:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=c(n(68374)),a=n(13306),r=n(35922),s=n(20576),l=c(n(14390)),u=c(n(5631)),d=n(75084);function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p={create:{},upload:{},download:{},rename:{},move:{},copy:{},delete:{},refresh:{beginGroup:!0}},g=[\"beginGroup\",\"closeMenuOnClick\",\"disabled\",\"icon\",\"selectable\",\"selected\",\"text\",\"visible\"],m=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var l,c,m,_=i.prototype;return _._initMarkup=function(){var t=this;this._initActions(),this._isVisible=!1;var n=(0,o.default)(\"<div>\").appendTo(this.$element());this._contextMenu=this._createComponent(n,u.default,{cssClass:\"dx-filemanager-context-menu\",showEvent:\"\",onItemClick:function(e){return t._onContextMenuItemClick(e.itemData.name,e)},onShowing:function(e){return t._onContextMenuShowing(e)},onShown:function(){return t._onContextMenuShown()},onHidden:function(){return t._onContextMenuHidden()}}),e.prototype._initMarkup.call(this)},_.showAt=function(e,t,n,i){var o=i.itemData,a=i.itemElement,r=i.isActionButton,s=void 0!==r&&r;this._isVisible&&this._onContextMenuHidden(),this._menuShowingContext={targetElement:a,itemData:o,fileItems:e,event:n,isActionButton:s};var l={of:t,at:\"top left\",my:\"top left\",offset:\"\"};n?l.offset=n.offsetX+\" \"+n.offsetY:(l.my=\"left top\",l.at=\"left bottom\",l.boundaryOffset=\"1\"),this._contextMenu.option({target:t,position:l}),this._contextMenu.show()},_.createContextMenuItems=function(e,t,n){var i=this;this._targetFileItems=e,this._targetFileItem=(0,r.isDefined)(n)?n:null==e?void 0:e[0];var o=[];return(t||this.option(\"items\")).forEach((function(t){var n=(0,r.isString)(t)?t:t.name,a=i._configureItemByCommandName(n,t,e,i._targetFileItem);i._isContextMenuItemAvailable(a,e)&&o.push(a)})),o},_._isContextMenuItemAvailable=function(e,t){return this._isDefaultItem(e.name)&&e._autoHide?!(this._isIsolatedCreationItemCommand(e.name)&&t&&t.length)&&this._commandManager.isCommandAvailable(e.name,t):(0,s.ensureDefined)(e.visible,!0)},_._isIsolatedCreationItemCommand=function(e){return(\"create\"===e||\"upload\"===e)&&this.option(\"isolateCreationItemCommands\")},_._isDefaultItem=function(e){return!!p[e]},_._configureItemByCommandName=function(e,t,n,i){if(!this._isDefaultItem(e)){var o=(0,a.extend)(!0,{},t);return o.originalItemData=t,this._addItemClickHandler(e,o),Array.isArray(t.items)&&(o.items=this.createContextMenuItems(n,t.items,i)),o}var s=this._createMenuItemByCommandName(e),l=p[e];return(0,a.extend)(s,l),s.originalItemData=t,(0,d.extendAttributes)(s,t,g),(0,r.isDefined)(s.visible)||(s._autoHide=!0),e&&!s.name&&(0,a.extend)(s,{name:e}),s},_._createMenuItemByCommandName=function(e){var t=this._commandManager.getCommandByName(e),n={name:e,text:t.text,icon:t.icon};return this._addItemClickHandler(e,n),n},_._addItemClickHandler=function(e,t){var n=this;t.onItemClick=function(t){return n._onContextMenuItemClick(e,t)}},_._onContextMenuItemClick=function(e,t){var n,i=(0,a.extend)(!0,{},t);if(i.itemData=t.itemData.originalItemData,i.fileSystemItem=null===(n=this._targetFileItem)||void 0===n?void 0:n.fileItem,i.viewArea=this.option(\"viewArea\"),this._actions.onItemClick(i),this._isDefaultItem(e)){var o=this._isIsolatedCreationItemCommand(e)?null:this._targetFileItems;this._commandManager.executeCommand(e,o)}},_._initActions=function(){this._actions={onContextMenuHidden:this._createActionByOption(\"onContextMenuHidden\"),onContextMenuShowing:this._createActionByOption(\"onContextMenuShowing\"),onItemClick:this._createActionByOption(\"onItemClick\")}},_._onContextMenuShowing=function(e){if(this._isVisible&&this._onContextMenuHidden(!0),e=(0,a.extend)(e,this._menuShowingContext,{options:this.option(),cancel:!1}),this._actions.onContextMenuShowing(e),!e.cancel){var t=this.createContextMenuItems(this._menuShowingContext.fileItems,null,this._menuShowingContext.fileSystemItem);this._contextMenu.option(\"dataSource\",t)}},_.tryUpdateVisibleContextMenu=function(){if(this._isVisible){var e=this.createContextMenuItems(this._targetFileItems);this._contextMenu.option(\"dataSource\",e)}},_._onContextMenuShown=function(){this._isVisible=!0},_._onContextMenuHidden=function(e){this._isVisible=!1,e||(this._menuShowingContext={}),this._contextMenu.option(\"visible\",!1),this._raiseContextMenuHidden()},_._raiseContextMenuHidden=function(){this._actions.onContextMenuHidden()},_._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{commandManager:null,onContextMenuHidden:null,onItemClick:null})},_._optionChanged=function(t){var n=t.name;switch(n){case\"commandManager\":this.repaint();break;case\"items\":this.tryUpdateVisibleContextMenu();break;case\"onItemClick\":case\"onContextMenuShowing\":case\"onContextMenuHidden\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},l=i,(c=[{key:\"_commandManager\",get:function(){return this.option(\"commandManager\")}}])&&h(l.prototype,c),m&&h(l,m),Object.defineProperty(l,\"prototype\",{writable:!1}),i}(l.default);t.default=m,e.exports=t.default,e.exports.default=t.default},76650:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=n(13306),a=l(n(28109)),r=l(n(4741)),s=l(n(62567));function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var l=s.prototype;return l.show=function(t){var n=t.itemName,i=t.itemCount,o=1===i?a.default.format(\"dxFileManager-dialogDeleteItemSingleItemConfirmation\",n):a.default.format(\"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\",i);this._$text?this._$text.text(o):this._initialText=o,e.prototype.show.call(this)},l._getDialogOptions=function(){return(0,o.extend)(e.prototype._getDialogOptions.call(this),{title:a.default.format(\"dxFileManager-dialogDeleteItemTitle\"),buttonText:a.default.format(\"dxFileManager-dialogDeleteItemButtonText\"),contentCssClass:\"dx-filemanager-dialog-delete-item\",popupCssClass:\"dx-filemanager-dialog-delete-item-popup\",height:\"auto\",maxHeight:\"80vh\"})},l._createContentTemplate=function(t){e.prototype._createContentTemplate.call(this,t),this._$text=(0,i.default)(\"<div>\").text(this._initialText).appendTo(this._$contentElement),this._createComponent(this._$contentElement,r.default,{width:\"100%\",height:\"100%\"})},l._getDialogResult=function(){return{}},s}(s.default);t.default=d,e.exports=t.default,e.exports.default=t.default},5760:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(13306),a=u(n(28109)),r=n(75084),s=u(n(62567)),l=u(n(48156));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e)||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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var u=s.prototype;return u.show=function(){var t;this._setSelectedDirInfo(null),null===(t=this._filesTreeView)||void 0===t||t.refresh(),e.prototype.show.call(this)},u.switchToCopyDialog=function(e){this._targetItemInfos=e,this._setTitle(a.default.format(\"dxFileManager-dialogDirectoryChooserCopyTitle\")),this._setApplyButtonOptions({text:a.default.format(\"dxFileManager-dialogDirectoryChooserCopyButtonText\"),disabled:!0})},u.switchToMoveDialog=function(e){this._targetItemInfos=e,this._setTitle(a.default.format(\"dxFileManager-dialogDirectoryChooserMoveTitle\")),this._setApplyButtonOptions({text:a.default.format(\"dxFileManager-dialogDirectoryChooserMoveButtonText\"),disabled:!0})},u._getDialogOptions=function(){return(0,o.extend)(e.prototype._getDialogOptions.call(this),{contentCssClass:\"dx-filemanager-dialog-folder-chooser\",popupCssClass:\"dx-filemanager-dialog-folder-chooser-popup\"})},u._createContentTemplate=function(t){var n=this;e.prototype._createContentTemplate.call(this,t),this._filesTreeView=this._createComponent((0,i.default)(\"<div>\"),l.default,{getDirectories:this.option(\"getDirectories\"),getCurrentDirectory:function(){return n._getDialogSelectedDirectory()},onDirectoryClick:function(e){return n._onFilesTreeViewDirectoryClick(e)},onFilesTreeViewContentReady:function(){return n._toggleUnavailableLocationsDisabled(!0)}}),this._$contentElement.append(this._filesTreeView.$element())},u._getDialogResult=function(){var e=this._getDialogSelectedDirectory();return e?{folder:e}:e},u._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{getItems:null})},u._getDialogSelectedDirectory=function(){return this._selectedDirectoryInfo},u._onFilesTreeViewDirectoryClick=function(e){var t=e.itemData;this._setSelectedDirInfo(t),this._filesTreeView.updateCurrentDirectory()},u._setSelectedDirInfo=function(e){this._selectedDirectoryInfo=e,this._setApplyButtonOptions({disabled:!e})},u._onPopupShown=function(){this._toggleUnavailableLocationsDisabled(!0),e.prototype._onPopupShown.call(this)},u._onPopupHidden=function(){this._toggleUnavailableLocationsDisabled(!1),e.prototype._onPopupHidden.call(this)},u._toggleUnavailableLocationsDisabled=function(e){var t=this;if(this._filesTreeView){var n=this._getLocationsToProcess(e);this._filesTreeView.toggleDirectoryExpandedStateRecursive(n.locationsToExpand[0],e).then((function(){return t._filesTreeView.toggleDirectoryLineExpandedState(n.locationsToCollapse,!e).then((function(){return n.locationKeysToDisable.forEach((function(n){return t._filesTreeView.toggleNodeDisabledState(n,e)}))}))}))}},u._getLocationsToProcess=function(e){var t,n={},i={};this._targetItemInfos.forEach((function(e){e.parentDirectory&&(n[e.parentDirectory.getInternalKey()]=e.parentDirectory),e.fileItem.isDirectory&&(i[e.getInternalKey()]=e)}));var o=(0,r.getMapFromObject)(n),a=(0,r.getMapFromObject)(i);return{locationsToExpand:e?o.values:[],locationsToCollapse:e?a.values:[],locationKeysToDisable:(t=o.keys).concat.apply(t,d(a.keys))}},s}(s.default);t.default=f,e.exports=t.default,e.exports.default=t.default},62567:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(13306),a=n(35922),r=u(n(28109)),s=u(n(14390)),l=u(n(51495));function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var u=s.prototype;return u._initMarkup=function(){var t,n=this;e.prototype._initMarkup.call(this),this._createOnClosedAction();var o=this._getDialogOptions(),s=(0,i.default)(\"<div>\").appendTo(this.$element()),u={showTitle:!0,title:o.title,visible:!1,hideOnOutsideClick:!0,contentTemplate:this._createContentTemplate.bind(this),toolbarItems:[{widget:\"dxButton\",toolbar:\"bottom\",location:\"after\",options:{text:o.buttonText,onClick:this._applyDialogChanges.bind(this)}},{widget:\"dxButton\",toolbar:\"bottom\",location:\"after\",options:{text:r.default.format(\"dxFileManager-dialogButtonCancel\"),onClick:this._closeDialog.bind(this)}}],onInitialized:function(e){e.component.registerKeyHandler(\"enter\",n._applyDialogChanges.bind(n))},onHidden:this._onPopupHidden.bind(this),onShown:this._onPopupShown.bind(this),_wrapperClassExternal:\"\".concat(\"dx-filemanager-dialog-popup\",\" \").concat(null!==(t=o.popupCssClass)&&void 0!==t?t:\"\")};(0,a.isDefined)(o.height)&&(u.height=o.height),(0,a.isDefined)(o.maxHeight)&&(u.maxHeight=o.maxHeight),this._popup=this._createComponent(s,l.default,u)},u.show=function(){this._dialogResult=null,this._popup.show()},u._getDialogOptions=function(){return{title:\"Title\",buttonText:\"ButtonText\",contentCssClass:\"\",popupCssClass:\"\"}},u._createContentTemplate=function(e){this._$contentElement=(0,i.default)(\"<div>\").appendTo(e).addClass(\"dx-filemanager-dialog\");var t=this._getDialogOptions().contentCssClass;t&&this._$contentElement.addClass(t)},u._getDialogResult=function(){return null},u._applyDialogChanges=function(){var e=this._getDialogResult();e&&(this._dialogResult=e,this._closeDialog())},u._closeDialog=function(){this._popup.hide()},u._onPopupHidden=function(){this._onClosedAction({dialogResult:this._dialogResult})},u._onPopupShown=function(){},u._createOnClosedAction=function(){this._onClosedAction=this._createActionByOption(\"onClosed\")},u._setTitle=function(e){this._popup.option(\"title\",e)},u._setApplyButtonOptions=function(e){this._popup.option(\"toolbarItems[0].options\",e)},u._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{onClosed:null})},u._optionChanged=function(t){switch(t.name){case\"onClosed\":this._createOnPathChangedAction();break;default:e.prototype._optionChanged.call(this,t)}},s}(s.default);t.default=c,e.exports=t.default,e.exports.default=t.default},83044:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=n(13306),a=s(n(29837)),r=s(n(62567));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=r.prototype;return s.show=function(t){t=t||\"\",this._nameTextBox?this._nameTextBox.option(\"value\",t):this._initialNameValue=t,e.prototype.show.call(this)},s._onPopupShown=function(){if(this._nameTextBox){var e=this._nameTextBox._input();e.length&&e[0].select(),this._nameTextBox.focus()}},s._getDialogOptions=function(){return(0,o.extend)(e.prototype._getDialogOptions.call(this),{title:this.option(\"title\"),buttonText:this.option(\"buttonText\"),contentCssClass:\"dx-filemanager-dialog-name-editor\",popupCssClass:\"dx-filemanager-dialog-name-editor-popup\"})},s._createContentTemplate=function(t){var n=this;e.prototype._createContentTemplate.call(this,t),this._nameTextBox=this._createComponent((0,i.default)(\"<div>\"),a.default,{value:this._initialNameValue,onEnterKey:function(){return n._hasCompositionJustEnded&&n._applyDialogChanges()},onKeyDown:function(e){return n._checkCompositionEnded(e)}}),this._$contentElement.append(this._nameTextBox.$element())},s._checkCompositionEnded=function(e){var t=e.event;this._hasCompositionJustEnded=229!==t.which},s._getDialogResult=function(){var e=this._nameTextBox.option(\"value\");return e?{name:e}:null},s._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{title:\"\",buttonText:\"\"})},r}(r.default);t.default=u,e.exports=t.default,e.exports.default=t.default},87444:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(13306),a=u(n(28109)),r=u(n(83044)),s=u(n(5760)),l=u(n(76650));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){this._$element=e,this._options=t;var n={onClosed:this._options.onDialogClosed,rtlEnabled:this._options.rtlEnabled},u=(0,i.default)(\"<div>\").appendTo(this._$element);this._chooseDirectoryDialog=new s.default(u,(0,o.extend)(n,this._options.chooseDirectoryDialog));var d=(0,i.default)(\"<div>\").appendTo(this._$element);this._renameItemDialog=new r.default(d,(0,o.extend)(n,{title:a.default.format(\"dxFileManager-dialogRenameItemTitle\"),buttonText:a.default.format(\"dxFileManager-dialogRenameItemButtonText\")}));var c=(0,i.default)(\"<div>\").appendTo(this._$element);this._createItemDialog=new r.default(c,(0,o.extend)(n,{title:a.default.format(\"dxFileManager-dialogCreateDirectoryTitle\"),buttonText:a.default.format(\"dxFileManager-dialogCreateDirectoryButtonText\")}));var h=(0,i.default)(\"<div>\").appendTo(this._$element);this._deleteItemDialog=new l.default(h,n)}var t=e.prototype;return t.getCopyDialog=function(e){return this._chooseDirectoryDialog.switchToCopyDialog(e),this._chooseDirectoryDialog},t.getMoveDialog=function(e){return this._chooseDirectoryDialog.switchToMoveDialog(e),this._chooseDirectoryDialog},t.getRenameItemDialog=function(){return this._renameItemDialog},t.getCreateItemDialog=function(){return this._createItemDialog},t.getDeleteItemDialog=function(){return this._deleteItemDialog},t.updateDialogRtl=function(e){[this._chooseDirectoryDialog,this._renameItemDialog,this._createItemDialog,this._deleteItemDialog].forEach((function(t){t.option(\"rtlEnabled\",e)}))},e}();t.default=d,e.exports=t.default,e.exports.default=t.default},86471:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=g(n(68374)),a=n(13306),r=n(62754),s=n(95479),l=n(68752),u=n(35922),d=g(n(28109)),c=g(n(14390)),h=g(n(87444)),f=g(n(21089)),p=n(17053);function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}(e)||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 _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function v(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function b(e,t){return(b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var x=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,b(t,n);var l=i.prototype;return l._initMarkup=function(){e.prototype._initMarkup.call(this),this._initActions(),this._controller=this.option(\"controller\"),this._controller.on(\"EditActionStarting\",this._onEditActionStarting.bind(this)),this._controller.on(\"EditActionResultAcquired\",this._onEditActionResultAcquired.bind(this)),this._controller.on(\"EditActionItemError\",this._onEditActionItemError.bind(this)),this._controller.on(\"EditActionError\",this._onEditActionError.bind(this)),this._controller.on(\"CompleteEditActionItem\",this._onCompleteEditActionItem.bind(this)),this._controller.on(\"CompleteEditAction\",this._onCompleteEditAction.bind(this)),this._model=this.option(\"model\"),this._uploadOperationInfoMap={},this._dialogManager=new h.default(this.$element(),{chooseDirectoryDialog:{provider:this._controller._fileProvider,getDirectories:this._controller.getDirectories.bind(this._controller),getCurrentDirectory:this._controller.getCurrentDirectory.bind(this._controller)},rtlEnabled:this.option(\"rtlEnabled\"),onDialogClosed:this._onDialogClosed.bind(this)}),this._fileUploader=this._createFileUploader();var t=this.option(\"notificationControl\");t&&this._initNotificationControl(t),this._createMetadataMap()},l._initNotificationControl=function(e){var t=this;this._notificationControl=e,this._notificationControl.option({onOperationCanceled:function(e){var n=e.info;return t._onCancelUploadSession(n)},onOperationItemCanceled:function(e){var n=e.item,i=e.itemIndex;return t._onCancelFileUpload(n,i)}})},l._getFileUploaderComponent=function(){return f.default},l._createFileUploader=function(){var e=this,t=(0,o.default)(\"<div>\").appendTo(this.$element());return this._createComponent(t,this._getFileUploaderComponent(),{getController:this._getFileUploaderController.bind(this),dropZonePlaceholderContainer:this.option(\"uploadDropZonePlaceholderContainer\"),onUploadSessionStarted:function(t){return e._onUploadSessionStarted(t)},onUploadProgress:function(t){return e._onUploadProgress(t)},onUploadFinished:function(t){return e._onUploadFinished(t)}})},l.setUploaderDropZone=function(e){this._fileUploader.option(\"dropZone\",e)},l.setUploaderSplitterElement=function(e){this._fileUploader.option(\"splitterElement\",e)},l._getFileUploaderController=function(){var e=this,t=this.uploadDirectoryInfo.fileItem;return{chunkSize:this._controller.getFileUploadChunkSize(),uploadFileChunk:function(n,i){return e._controller.uploadFileChunk(n,i,t)},abortFileUpload:function(n,i){return e._controller.abortFileUpload(n,i,t)}}},l._createMetadataMap=function(){var e=this;this._metadataMap={create:{action:function(t){return e._tryCreate(t)},affectsAllItems:!0,singleItemProcessingMessage:d.default.format(\"dxFileManager-editingCreateSingleItemProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingCreateSingleItemSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingCreateSingleItemErrorMessage\"),commonErrorMessage:d.default.format(\"dxFileManager-editingCreateCommonErrorMessage\")},rename:{action:function(t){return e._tryRename(t)},singleItemProcessingMessage:d.default.format(\"dxFileManager-editingRenameSingleItemProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingRenameSingleItemSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingRenameSingleItemErrorMessage\"),commonErrorMessage:d.default.format(\"dxFileManager-editingRenameCommonErrorMessage\")},delete:{action:function(t){return e._tryDelete(t)},singleItemProcessingMessage:d.default.format(\"dxFileManager-editingDeleteSingleItemProcessingMessage\"),multipleItemsProcessingMessage:d.default.format(\"dxFileManager-editingDeleteMultipleItemsProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingDeleteSingleItemSuccessMessage\"),multipleItemsSuccessMessage:d.default.format(\"dxFileManager-editingDeleteMultipleItemsSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingDeleteSingleItemErrorMessage\"),multipleItemsErrorMessage:d.default.format(\"dxFileManager-editingDeleteMultipleItemsErrorMessage\"),commonErrorMessage:d.default.format(\"dxFileManager-editingDeleteCommonErrorMessage\")},move:{action:function(t){return e._tryMove(t)},singleItemProcessingMessage:d.default.format(\"dxFileManager-editingMoveSingleItemProcessingMessage\"),multipleItemsProcessingMessage:d.default.format(\"dxFileManager-editingMoveMultipleItemsProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingMoveSingleItemSuccessMessage\"),multipleItemsSuccessMessage:d.default.format(\"dxFileManager-editingMoveMultipleItemsSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingMoveSingleItemErrorMessage\"),multipleItemsErrorMessage:d.default.format(\"dxFileManager-editingMoveMultipleItemsErrorMessage\"),commonErrorMessage:d.default.format(\"dxFileManager-editingMoveCommonErrorMessage\")},copy:{action:function(t){return e._tryCopy(t)},singleItemProcessingMessage:d.default.format(\"dxFileManager-editingCopySingleItemProcessingMessage\"),multipleItemsProcessingMessage:d.default.format(\"dxFileManager-editingCopyMultipleItemsProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingCopySingleItemSuccessMessage\"),multipleItemsSuccessMessage:d.default.format(\"dxFileManager-editingCopyMultipleItemsSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingCopySingleItemErrorMessage\"),multipleItemsErrorMessage:d.default.format(\"dxFileManager-editingCopyMultipleItemsErrorMessage\"),commonErrorMessage:d.default.format(\"dxFileManager-editingCopyCommonErrorMessage\")},upload:{action:function(t){return e._tryUpload(t)},allowCancel:!0,allowItemProgress:!0,singleItemProcessingMessage:d.default.format(\"dxFileManager-editingUploadSingleItemProcessingMessage\"),multipleItemsProcessingMessage:d.default.format(\"dxFileManager-editingUploadMultipleItemsProcessingMessage\"),singleItemSuccessMessage:d.default.format(\"dxFileManager-editingUploadSingleItemSuccessMessage\"),multipleItemsSuccessMessage:d.default.format(\"dxFileManager-editingUploadMultipleItemsSuccessMessage\"),singleItemErrorMessage:d.default.format(\"dxFileManager-editingUploadSingleItemErrorMessage\"),multipleItemsErrorMessage:d.default.format(\"dxFileManager-editingUploadMultipleItemsErrorMessage\"),canceledMessage:d.default.format(\"dxFileManager-editingUploadCanceledMessage\")},download:{action:function(t){return e._download(t)},singleItemProcessingMessage:\"\",multipleItemsProcessingMessage:\"\",singleItemErrorMessage:d.default.format(\"dxFileManager-editingDownloadSingleItemErrorMessage\"),multipleItemsErrorMessage:d.default.format(\"dxFileManager-editingDownloadMultipleItemsErrorMessage\")},getItemContent:{action:function(t){return e._getItemContent(t)}},getItems:{singleItemProcessingMessage:\"\",singleItemErrorMessage:d.default.format(\"dxFileManager-errorDirectoryOpenFailed\"),commonErrorMessage:d.default.format(\"dxFileManager-errorDirectoryOpenFailed\")}}},l.getCommandActions=function(){var e=this,t={};return(0,s.each)(this._metadataMap,(function(n){Object.prototype.hasOwnProperty.call(e._metadataMap,n)&&(t[n]=function(t){return e._executeAction(n,t)})})),t},l._executeAction=function(e,t){var n=this._metadataMap[e];return n?n.action(t):null},l._onCancelUploadSession=function(e){this._fileUploader.cancelUpload(e.uploadSessionId)},l._onCancelFileUpload=function(e,t){this._fileUploader.cancelFileUpload(e.info.uploadSessionId,t)},l._onUploadProgress=function(e){var t=e.sessionId,n=e.fileIndex,i=e.commonValue,o=e.fileValue,a=this._uploadOperationInfoMap[t].operationInfo;this._notificationControl.updateOperationItemProgress(a,n,100*o,100*i)},l._onUploadFinished=function(e){var t=e.sessionId,n=e.commonValue,i=this._uploadOperationInfoMap[t].operationInfo;this._notificationControl.finishOperation(i,100*n),this._scheduleUploadSessionDisposal(t,\"uploader\")},l._onUploadSessionStarted=function(e){var t=e.sessionInfo;this._controller.processUploadSession(t,this.uploadDirectoryInfo)},l._onEditActionStarting=function(e){var t=this._metadataMap[e.name],n=new w(t,e.itemInfos,e.directory),i=this._notificationControl.addOperation(n.processingMessage,t.allowCancel,!t.allowItemProgress);switch((0,a.extend)(e.customData,{context:n,operationInfo:i}),e.name){case\"upload\":var o=e.customData.sessionInfo.sessionId;i.uploadSessionId=o,this._uploadOperationInfoMap[o]={operationInfo:i};break;case\"rename\":e.customData.context.itemNewName=e.customData.itemNewName}},l._onEditActionResultAcquired=function(e){var t=this,n=e.customData,i=n.context,o=n.operationInfo;i.singleRequest=e.singleRequest;var a=i.itemInfos.map((function(e){return t._getItemProgressDisplayInfo(e)}));this._notificationControl.addOperationDetails(o,a,i.actionMetadata.allowCancel)},l._onEditActionError=function(e,t){var n=e.customData,i=n.context,o=n.operationInfo;i.singleRequest=e.singleRequest,this._handleActionError(o,i,t),this._completeAction(o,i)},l._onEditActionItemError=function(e,t){var n=e.customData,i=n.context,o=n.operationInfo;this._handleActionError(o,i,t)},l._onCompleteEditActionItem=function(e,t){var n=e.customData,i=n.context,o=n.operationInfo;t.result&&t.result.canceled||(i.completeOperationItem(t.index),this._notificationControl.completeOperationItem(o,t.index,i.commonProgress))},l._onCompleteEditAction=function(e){var t=e.customData,n=t.context,i=t.operationInfo;this._completeAction(i,n),\"upload\"===e.name&&this._scheduleUploadSessionDisposal(e.customData.sessionInfo.sessionId,\"controller\")},l._scheduleUploadSessionDisposal=function(e,t){(0,u.isDefined)(this._uploadOperationInfoMap[e].requester)&&this._uploadOperationInfoMap[e].requester!==t?delete this._uploadOperationInfoMap[e]:this._uploadOperationInfoMap[e].requester=t},l._tryCreate=function(e){var t=this,n=e&&e[0]||this._getCurrentDirectory(),i=d.default.format(\"dxFileManager-newDirectoryName\");return this._showDialog(this._dialogManager.getCreateItemDialog(),i).then((function(e){var i=e.name;return t._controller.createDirectory(n,i)}))},l._tryRename=function(e){var t=this,n=e&&e[0]||this._model.getMultipleSelectedItems()[0];return n?this._showDialog(this._dialogManager.getRenameItemDialog(),n.fileItem.name).then((function(e){var i=e.name;return t._controller.renameItem(n,i)})):(new r.Deferred).reject().promise()},l._tryDelete=function(e){var t=this;if(0===(e=e||this._model.getMultipleSelectedItems()).length)return(new r.Deferred).reject().promise();var n=e[0].fileItem.name,i=e.length;return this._showDialog(this._dialogManager.getDeleteItemDialog(),{itemName:n,itemCount:i}).then((function(){return t._controller.deleteItems(e)}))},l._tryMove=function(e){var t=this;return 0===(e=e||this._model.getMultipleSelectedItems()).length?(new r.Deferred).reject().promise():this._showDialog(this._dialogManager.getMoveDialog(e)).then((function(n){var i=n.folder;return t._controller.moveItems(e,i)}))},l._tryCopy=function(e){var t=this;return 0===(e=e||this._model.getMultipleSelectedItems()).length?(new r.Deferred).reject().promise():this._showDialog(this._dialogManager.getCopyDialog(e)).then((function(n){var i=n.folder;return t._controller.copyItems(e,i)}))},l._tryUpload=function(e){this._uploadDirectoryInfo=null==e?void 0:e[0],this._fileUploader.tryUpload()},l._download=function(e){return 0===(e=e||this._model.getMultipleSelectedItems()).length?(new r.Deferred).reject().promise():this._controller.downloadItems(e)},l._getItemContent=function(e){return e=e||this._model.getMultipleSelectedItems(),this._controller.getItemContent(e)},l._completeAction=function(e,t){this._notificationControl.completeOperation(e,t.completionMessage,!t.success,t.statusText),t.hasModifiedItems()&&this._raiseOnSuccess(t.onlyFiles)},l._handleActionError=function(e,t,n){e.hasError=!0,t.singleRequest?this._handleSingleRequestActionError(e,t,n):this._handleMultipleRequestActionError(e,t,n)},l._handleSingleRequestActionError=function(e,t,n){var i=t.getItemForSingleRequestError(),o=t.getItemName(n.errorCode),a=this._getErrorText(n,i,o);t.processSingleRequestError(a);var r=this._getOperationErrorInfo(t);this._notificationControl.completeSingleOperationWithError(e,r),t.multipleItems&&this._raiseOnSuccess(t.onlyFiles)},l._handleMultipleRequestActionError=function(e,t,n){var i=t.getItemForMultipleRequestError(n.index),o=t.getItemName(n.errorCode,n.index),a=this._getErrorText(n,i,o);t.processMultipleRequestError(n.index,a);var r=this._getOperationErrorInfo(t);this._notificationControl.addOperationDetailsError(e,r)},l._getOperationErrorInfo=function(e){var t=e.errorState.currentDetailError;return{commonErrorText:e.errorState.commonErrorText,item:t.itemInfo?this._getItemProgressDisplayInfo(t.itemInfo):null,itemIndex:t.itemIndex,detailErrorText:t.errorText}},l._getErrorText=function(e,t,n){var i=e.errorText||p.FileManagerMessages.get(e.errorCode,n),o={fileSystemItem:null==t?void 0:t.fileItem,errorCode:e.errorCode,errorText:i};return this._raiseOnError(o),o.errorText},l._getItemProgressDisplayInfo=function(e){return{commonText:e.fileItem.name,imageUrl:this._getItemThumbnail(e)}},l._showDialog=function(e,t){return this._dialogDeferred=new r.Deferred,e.show(t),this._dialogDeferred.promise()},l._onDialogClosed=function(e){var t=e.dialogResult;t?this._dialogDeferred.resolve(t):this._dialogDeferred.reject()},l.updateDialogRtl=function(e){this._dialogManager.updateDialogRtl(e)},l._getItemThumbnail=function(e){var t=this.option(\"getItemThumbnail\");if(!t)return null;var n=t(e);return n?n.thumbnail:null},l._initActions=function(){this._actions={onSuccess:this._createActionByOption(\"onSuccess\"),onError:this._createActionByOption(\"onError\")}},l._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{model:{getMultipleSelectedItems:null},notificationControl:null,getItemThumbnail:null,onSuccess:null,onError:null})},l._optionChanged=function(t){var n=t.name;switch(n){case\"model\":this.repaint();break;case\"notificationControl\":this._initNotificationControl(t.value);break;case\"getItemThumbnail\":break;case\"uploadDropZonePlaceholderContainer\":this._fileUploader.option(\"dropZonePlaceholderContainer\",t.value);break;case\"onSuccess\":case\"onError\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},l._raiseOnSuccess=function(e){this._actions.onSuccess({updatedOnlyFiles:e})},l._raiseOnError=function(e){this._actions.onError(e)},l._getCurrentDirectory=function(){return this._controller.getCurrentDirectory()},y(i,[{key:\"uploadDirectoryInfo\",get:function(){return this._uploadDirectoryInfo||this._getCurrentDirectory()}}]),i}(c.default),w=function(){function e(e,t,n){this._actionMetadata=e,this._itemInfos=t,this._onlyFiles=!this._actionMetadata.affectsAllItems&&this._itemInfos.every((function(e){return!e.fileItem.isDirectory})),this._items=this._itemInfos.map((function(e){return e.fileItem})),this._multipleItems=this._items.length>1,this._location=n.getDisplayName(),this._singleRequest=!0,this._completedItems=[],this._commonProgress=0,this._errorState={failedCount:0},this._itemNewName=\"\"}var t=e.prototype;return t.completeOperationItem=function(e){if(this._singleRequest)this._completedItems=m(this._items);else{var t=this._items[e];this._completedItems.push(t)}this._actionMetadata.allowItemProgress||(this._commonProgress=this._completedItems.length/this._items.length*100)},t.processSingleRequestError=function(e){this._errorState.failedCount=1,this._errorState.commonErrorText=this._multipleItems?this._actionMetadata.commonErrorMessage:this._actionMetadata.singleItemErrorMessage;var t=this._multipleItems?-1:1,n=this.getItemForSingleRequestError();this._setCurrentDetailError(t,n,e)},t.processMultipleRequestError=function(e,t){this._errorState.failedCount++,this._errorState.commonErrorText=this._errorState.failedCount>1?(0,l.format)(this._actionMetadata.multipleItemsErrorMessage,this._errorState.failedCount):this._actionMetadata.singleItemErrorMessage;var n=this.getItemForMultipleRequestError(e);this._setCurrentDetailError(e,n,t)},t.hasModifiedItems=function(){return this._hasCompletedItems()||this._singleRequest&&!this.success&&this._multipleItems},t.getItemForSingleRequestError=function(){return this._multipleItems?null:this._itemInfos[0]},t.getItemForMultipleRequestError=function(e){return this._itemInfos[e]},t.getItemName=function(e,t){var n=this.singleRequest?this.getItemForSingleRequestError():this.getItemForMultipleRequestError(t),i=null==n?void 0:n.fileItem.name;return this.itemNewName&&this._isItemExistsErrorCode(e)&&(i=this.itemNewName),i},t._isItemExistsErrorCode=function(e){return e===p.ErrorCode.DirectoryExists||e===p.ErrorCode.FileExists},t._setCurrentDetailError=function(e,t,n){this._errorState.currentDetailError={itemIndex:e,itemInfo:t,errorText:n}},t._hasCompletedItems=function(){return this._completedItems.length>0},y(e,[{key:\"actionMetadata\",get:function(){return this._actionMetadata}},{key:\"itemInfos\",get:function(){return this._itemInfos}},{key:\"itemNewName\",get:function(){return this._itemNewName},set:function(e){this._itemNewName=e}},{key:\"errorState\",get:function(){return this._errorState}},{key:\"singleRequest\",get:function(){return this._singleRequest},set:function(e){this._singleRequest=e}},{key:\"multipleItems\",get:function(){return this._multipleItems}},{key:\"onlyFiles\",get:function(){return this._onlyFiles}},{key:\"processingMessage\",get:function(){return this._multipleItems?(0,l.format)(this._actionMetadata.multipleItemsProcessingMessage,this._items.length,this._location):(0,l.format)(this._actionMetadata.singleItemProcessingMessage,this._location)}},{key:\"successMessage\",get:function(){return this._hasCompletedItems()?this._multipleItems?(0,l.format)(this._actionMetadata.multipleItemsSuccessMessage,this._completedItems.length,this._location):(0,l.format)(this._actionMetadata.singleItemSuccessMessage,this._location):this._multipleItems?(0,l.format)(this._actionMetadata.multipleItemsErrorMessage,this._items.length):this._actionMetadata.singleItemErrorMessage}},{key:\"completionMessage\",get:function(){return this.success?this.successMessage:this.errorState.commonErrorText}},{key:\"statusText\",get:function(){return this.success&&!this._hasCompletedItems()?this._actionMetadata.canceledMessage:void 0}},{key:\"commonProgress\",get:function(){return this._commonProgress}},{key:\"success\",get:function(){return!this._errorState.failedCount}}]),e}(),C=x;t.default=C,e.exports=t.default,e.exports.default=t.default},68912:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=n(13306),a=s(n(14390)),r=s(n(63008));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var u=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,l(t,n);var s=a.prototype;return s._initMarkup=function(){var t=this;this._createClickAction();var n=(0,i.default)(\"<div>\");this.$element().append(n).addClass(\"dx-filemanager-file-actions-button\"),this._button=this._createComponent(n,r.default,{icon:\"overflow\",stylingMode:\"text\",onClick:function(e){return t._raiseClick(e)}}),e.prototype._initMarkup.call(this)},s._createClickAction=function(){this._clickAction=this._createActionByOption(\"onClick\")},s._raiseClick=function(e){this._clickAction(e)},s._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{cssClass:\"\",onClick:null})},s._optionChanged=function(t){switch(t.name){case\"cssClass\":this.repaint();break;case\"onClick\":this._createClickAction();break;default:e.prototype._optionChanged.call(this,t)}},s.setActive=function(e){var t=this;this.$element().toggleClass(\"dx-filemanager-file-actions-button-activated\",e),setTimeout((function(){return t._button.$element().toggleClass(\"dx-state-active\",e)}))},a}(a.default);t.default=u,e.exports=t.default,e.exports.default=t.default},21089:function(e,t,n){t.default=void 0;var i=n(58664),o=h(n(68374)),a=n(13306),r=n(62754),s=n(58201),l=h(n(73176)),u=h(n(14390)),d=h(n(53749)),c=n(75084);function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var h=u.prototype;return h._initMarkup=function(){this._initActions(),this.$element().addClass(\"dx-filemanager-fileuploader\"),this._uploaderInfos=[],this._createInternalFileUploader(),this._createDropZonePlaceholder(),this._setDropZonePlaceholderVisible(!1),e.prototype._initMarkup.call(this)},h._createInternalFileUploader=function(){var e=this,t=this._getController().chunkSize,n=(0,o.default)(\"<div>\").appendTo(this.$element()),i=this._createComponent(n,d.default,{name:\"file\",multiple:!0,showFileList:!1,activeStateEnabled:!1,focusStateEnabled:!1,hoverStateEnabled:!1,labelText:\"\",readyToUploadMessage:\"\",accept:\"*\",chunkSize:t,dropZone:this.option(\"dropZone\"),onValueChanged:function(t){return e._onFileUploaderValueChanged(t)},onProgress:function(t){return e._onFileUploaderProgress(t)},onUploaded:function(t){return e._onFileUploaderUploaded(t)},onFilesUploaded:function(t){return e._onFileUploaderAllFilesUploaded(t)},onUploadAborted:function(t){return e._onFileUploaderUploadAborted(t)},onUploadError:function(t){return e._onFileUploaderUploadError(t)},onDropZoneEnter:function(){return e._setDropZonePlaceholderVisible(!0)},onDropZoneLeave:function(){return e._setDropZonePlaceholderVisible(!1)}});i.option({uploadChunk:function(t,n){return e._fileUploaderUploadChunk(i,t,n)},abortUpload:function(t,n){return e._fileUploaderAbortUpload(i,t,n)}}),i._shouldRaiseDragLeaveBase=i._shouldRaiseDragLeave,i._shouldRaiseDragLeave=function(t){return e._shouldRaiseDragLeave(t,i)};var a={fileUploader:i};this._uploaderInfos.push(a)},h.tryUpload=function(){var e=this._findAndUpdateAvailableUploaderInfo();e&&e.fileUploader._selectButtonClickHandler()},h.cancelUpload=function(e){this._cancelUpload(e)},h.cancelFileUpload=function(e,t){this._cancelUpload(e,t)},h._cancelUpload=function(e,t){this._findUploaderInfoBySessionId(e).fileUploader.abortUpload(t)},h._fileUploaderUploadChunk=function(e,t,n){var i=this._findSessionByFile(e,t),o=i.session,a=i.fileIndex,r=o.controller;return n.fileIndex=a,r.uploadFileChunk(t,n)},h._fileUploaderAbortUpload=function(e,t,n){var i=this._findSessionByFile(e,t),o=i.session,a=i.fileIndex,r=o.controller;return n.fileIndex=a,r.abortFileUpload(t,n)},h._onFileUploaderValueChanged=function(e){var t=this,n=e.component,i=e.value;if(0!==i.length){var o=i.slice(),a=this._findUploaderInfo(n);this._uploadFiles(a,o),setTimeout((function(){t._findAndUpdateAvailableUploaderInfo()||t._createInternalFileUploader()}))}},h._onFileUploaderProgress=function(e){var t=e.component,n=e.file,i=e.bytesLoaded,o=e.bytesTotal,a=this._findSessionByFile(t,n),r=a.session,s=a.fileIndex,l=0!==o?i/o:1,u=t.option(\"progress\")/100,d={sessionId:r.id,fileIndex:s,commonValue:u,fileValue:l};this._raiseUploadProgress(d)},h._onFileUploaderAllFilesUploaded=function(e){var t=e.component,n=this._findSessionByFile(t,t._files[0].value).session;this._raiseUploadFinished({sessionId:n.id,commonValue:t.option(\"progress\")/100})},h._onFileUploaderUploaded=function(e){var t=e.component,n=e.file;this._getDeferredForFile(t,n).resolve()},h._onFileUploaderUploadAborted=function(e){var t=e.component,n=e.file;this._getDeferredForFile(t,n).resolve({canceled:!0})},h._onFileUploaderUploadError=function(e){var t=e.component,n=e.file,i=e.error;this._getDeferredForFile(t,n).reject(i)},h._createDropZonePlaceholder=function(){this._$dropZonePlaceholder=(0,o.default)(\"<div>\").addClass(\"dx-filemanager-fileuploader-dropzone-placeholder\").appendTo(this.option(\"dropZonePlaceholderContainer\"))},h._adjustDropZonePlaceholder=function(){var e=this.option(\"dropZone\");if((0,s.hasWindow)()&&0!==e.length){var t=parseFloat(this._$dropZonePlaceholder.css(\"borderTopWidth\")),n=parseFloat(this._$dropZonePlaceholder.css(\"borderLeftWidth\")),o=this.option(\"dropZonePlaceholderContainer\"),a=parseFloat(o.css(\"borderBottomWidth\")),r=parseFloat(o.css(\"borderLeftWidth\")),l=(0,i.getInnerHeight)(o),u=o.offset(),d=e.offset();this._$dropZonePlaceholder.css({top:d.top-u.top-l-a,left:d.left-u.left-r}),(0,i.setHeight)(this._$dropZonePlaceholder,e.get(0).offsetHeight-2*t),(0,i.setWidth)(this._$dropZonePlaceholder,e.get(0).offsetWidth-2*n)}},h._setDropZonePlaceholderVisible=function(e){e?(this._adjustDropZonePlaceholder(),this._$dropZonePlaceholder.css(\"display\",\"\")):this._$dropZonePlaceholder.css(\"display\",\"none\")},h._shouldRaiseDragLeave=function(e,t){return t.isMouseOverElement(e,this.option(\"splitterElement\"))||t._shouldRaiseDragLeaveBase(e,!0)},h._uploadFiles=function(e,t){this._setDropZonePlaceholderVisible(!1);var n=(new l.default).toString(),i=this._getController(),o=t.map((function(){return new r.Deferred})),a={id:n,controller:i,files:t,deferreds:o};e.session=a;var s={sessionId:n,deferreds:o,files:t};return this._raiseUploadSessionStarted(s),(0,c.whenSome)(o).always((function(){return setTimeout((function(){e.fileUploader.reset(),e.session=null}))}))},h._getDeferredForFile=function(e,t){var n=this._findSessionByFile(e,t),i=n.session,o=n.fileIndex;return i.deferreds[o]},h._findSessionByFile=function(e,t){var n=this._findUploaderInfo(e).session,i=n.files.indexOf(t);return{session:n,fileIndex:i}},h._findUploaderInfoBySessionId=function(e){for(var t=0;t<this._uploaderInfos.length;t++){var n=this._uploaderInfos[t],i=n.session;if(i&&i.id===e)return n}return null},h._findAndUpdateAvailableUploaderInfo=function(){for(var e,t=null,n=0;n<this._uploaderInfos.length;n++){var i=this._uploaderInfos[n];i.fileUploader.option(\"dropZone\",\"\"),t||i.session||(t=i)}return null===(e=t)||void 0===e||e.fileUploader.option(\"dropZone\",this.option(\"dropZone\")),t},h._findUploaderInfo=function(e){for(var t=0;t<this._uploaderInfos.length;t++){var n=this._uploaderInfos[t];if(n.fileUploader===e)return n}return null},h._getController=function(){return this.option(\"getController\")()},h._raiseUploadSessionStarted=function(e){this._actions.onUploadSessionStarted({sessionInfo:e})},h._raiseUploadProgress=function(e){this._actions.onUploadProgress(e)},h._raiseUploadFinished=function(e){this._actions.onUploadFinished(e)},h._initActions=function(){this._actions={onUploadSessionStarted:this._createActionByOption(\"onUploadSessionStarted\"),onUploadProgress:this._createActionByOption(\"onUploadProgress\"),onUploadFinished:this._createActionByOption(\"onUploadFinished\")}},h._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{getController:null,onUploadSessionStarted:null,onUploadProgress:null,onUploadFinished:null,splitterElement:null})},h._optionChanged=function(t){var n=t.name;switch(n){case\"getController\":this.repaint();break;case\"onUploadSessionStarted\":case\"onUploadProgress\":case\"onUploadFinished\":this._actions[n]=this._createActionByOption(n);break;case\"dropZone\":this._findAndUpdateAvailableUploaderInfo(),this._adjustDropZonePlaceholder();break;case\"dropZonePlaceholderContainer\":this._$dropZonePlaceholder.detach(),this._$dropZonePlaceholder.appendTo(t.value);break;case\"splitterElement\":break;default:e.prototype._optionChanged.call(this,t)}},u}(u.default);t.default=p,e.exports=t.default,e.exports.default=t.default},48156:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=p(n(68374)),a=n(13306),r=n(44899),s=n(20576),l=p(n(14390)),u=p(n(76986)),d=p(n(68912)),c=n(62754),h=n(58201),f=n(35922);function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e)||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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var l,p,m,y=i.prototype;return y._initMarkup=function(){var e=this;this._initActions(),this._getCurrentDirectory=this.option(\"getCurrentDirectory\"),this._createFileActionsButton=s.noop,this._storeExpandedState=this.option(\"storeExpandedState\")||!1;var t=(0,o.default)(\"<div>\").addClass(\"dx-filemanager-dirs-tree\").appendTo(this.$element()),n={dataStructure:\"plain\",rootValue:\"\",createChildren:this._onFilesTreeViewCreateSubDirectories.bind(this),itemTemplate:this._createFilesTreeViewItemTemplate.bind(this),keyExpr:\"getInternalKey\",parentIdExpr:\"parentDirectory.getInternalKey\",displayExpr:function(e){return e.getDisplayName()},hasItemsExpr:\"fileItem.hasSubDirectories\",onItemClick:function(t){return e._actions.onDirectoryClick(t)},onItemExpanded:function(t){return e._onFilesTreeViewItemExpanded(t)},onItemCollapsed:function(t){return e._onFilesTreeViewItemCollapsed(t)},onItemRendered:function(t){return e._onFilesTreeViewItemRendered(t)},onContentReady:function(){return e._actions.onFilesTreeViewContentReady()}};this._contextMenu&&(this._contextMenu.option(\"onContextMenuHidden\",(function(){return e._onContextMenuHidden()})),n.onItemContextMenu=function(t){return e._onFilesTreeViewItemContextMenu(t)},this._createFileActionsButton=function(t,n){return e._createComponent(t,d.default,n)}),this._filesTreeView=this._createComponent(t,u.default,n)},y._initActions=function(){this._actions={onDirectoryClick:this._createActionByOption(\"onDirectoryClick\"),onFilesTreeViewContentReady:this._createActionByOption(\"onFilesTreeViewContentReady\")}},y._render=function(){e.prototype._render.call(this);var t=this;setTimeout((function(){t._updateFocusedElement()}))},y._onFilesTreeViewCreateSubDirectories=function(e){var t=this.option(\"getDirectories\"),n=e&&e.itemData||null;return t&&t(n,!0)},y._onFilesTreeViewItemRendered=function(e){var t=e.itemData,n=this._getCurrentDirectory();n&&n.fileItem.equals(t.fileItem)&&(this._updateFocusedElement(),this._restoreScrollTopPosition())},y._onFilesTreeViewItemExpanded=function(e){var t=e.itemData;this._storeExpandedState&&(t.expanded=!0)},y._onFilesTreeViewItemCollapsed=function(e){var t=e.itemData;this._storeExpandedState&&(t.expanded=!1)},y._createFilesTreeViewItemTemplate=function(e,t,n){var i=this,a=(0,o.default)(n);a.closest(this._filesTreeViewItemSelector).data(\"item\",e);var s=(0,r.getImageContainer)(e.icon),l=(0,o.default)(\"<span>\").text(e.getDisplayName()).addClass(\"dx-filemanager-dirs-tree-item-text\"),u=(0,o.default)(\"<div>\");a.append(s,l,u),this._createFileActionsButton(u,{onClick:function(e){return i._onFileItemActionButtonClick(e)}})},y._onFilesTreeViewItemContextMenu=function(e){var t=e.itemElement,n=e.event;n.preventDefault(),n.stopPropagation();var i=(0,o.default)(t).data(\"item\");this._contextMenu.showAt([i],t,n,{itemData:i,itemElement:t})},y._onFileItemActionButtonClick=function(e){var t=e.component,n=e.element,i=e.event;i.stopPropagation();var o=t.$element().closest(this._filesTreeViewItemSelector),a=o.data(\"item\"),r={itemData:a,itemElement:o,isActionButton:!0};this._contextMenu.showAt([a],n,i,r),this._activeFileActionsButton=t,this._activeFileActionsButton.setActive(!0)},y._onContextMenuHidden=function(){this._activeFileActionsButton&&this._activeFileActionsButton.setActive(!1)},y.toggleNodeDisabledState=function(e,t){var n=this._getNodeByKey(e);if(n){var i=this._filesTreeView.option(\"items\").map((function(e){return e.getInternalKey()})).indexOf(n.getInternalKey());-1!==i&&this._filesTreeView.option(\"items[\".concat(i,\"].disabled\"),t)}},y._saveScrollTopPosition=function(){(0,h.hasWindow)()&&(this._scrollTopPosition=this._filesTreeView.getScrollable().scrollTop())},y._restoreScrollTopPosition=function(){var e=this;(0,h.hasWindow)()&&(0,f.isNumeric)(this._scrollTopPosition)&&setTimeout((function(){return e._filesTreeView.getScrollable().scrollTo(e._scrollTopPosition)}))},y._updateFocusedElement=function(){var e=this._getCurrentDirectory(),t=this._getItemElementByKey(null==e?void 0:e.getInternalKey());this._$focusedElement&&this._$focusedElement.toggleClass(\"dx-filemanager-focused-item\",!1),this._$focusedElement=t||(0,o.default)(),this._$focusedElement.toggleClass(\"dx-filemanager-focused-item\",!0)},y._getNodeByKey=function(e){var t;return null===(t=this._filesTreeView)||void 0===t?void 0:t._getNode(e)},y._getPublicNode=function(e){for(var t,n=g(null===(t=this._filesTreeView)||void 0===t?void 0:t.getNodes());n.length;){var i=n.shift();if(i.itemData.getInternalKey()===e)return i;i.children.length&&n.push.apply(n,g(i.children))}},y._getItemElementByKey=function(e){var t=this._getNodeByKey(e);if(t){var n=this._filesTreeView._getNodeElement(t);if(n)return n.children(this._filesTreeViewItemSelector)}return null},y._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{storeExpandedState:!1,initialFolder:null,contextMenu:null,getItems:null,getCurrentDirectory:null,onDirectoryClick:null})},y._optionChanged=function(t){var n=t.name;switch(n){case\"storeExpandedState\":this._storeExpandedState=this.option(n);break;case\"getItems\":case\"rootFolderDisplayName\":case\"initialFolder\":case\"contextMenu\":this.repaint();break;case\"getCurrentDirectory\":this.getCurrentDirectory=this.option(n);break;case\"onDirectoryClick\":case\"onFilesTreeViewContentReady\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},y.toggleDirectoryExpandedState=function(e,t){var n=new c.Deferred,i=this._getPublicNode(null==e?void 0:e.getInternalKey());if(!i)return n.reject().promise();if(i.expanded===t||i.itemsLoaded&&!i.itemData.fileItem.hasSubDirectories)return n.resolve().promise();var o=t?\"expandItem\":\"collapseItem\";return this._filesTreeView[o](e.getInternalKey())},y.refresh=function(){this._$focusedElement=null,this._saveScrollTopPosition(),this._filesTreeView.option(\"dataSource\",[])},y.updateCurrentDirectory=function(){this._disposed||(this._updateFocusedElement(),this._storeExpandedState&&this._updateExpandedStateToCurrentDirectory())},y._updateExpandedStateToCurrentDirectory=function(){return this.toggleDirectoryExpandedStateRecursive(this._getCurrentDirectory().parentDirectory,!0)},y.toggleDirectoryExpandedStateRecursive=function(e,t){for(var n=[],i=e;i;i=i.parentDirectory)n.unshift(i);return this.toggleDirectoryLineExpandedState(n,t)},y.toggleDirectoryLineExpandedState=function(e,t){var n=this;return e.length?this.toggleDirectoryExpandedState(e.shift(),t).then((function(){return n.toggleDirectoryLineExpandedState(e,t)})):(new c.Deferred).resolve().promise()},l=i,(p=[{key:\"_filesTreeViewItemSelector\",get:function(){return\".\".concat(\"dx-treeview-item\")}},{key:\"_contextMenu\",get:function(){return this.option(\"contextMenu\")}}])&&_(l.prototype,p),m&&_(l,m),Object.defineProperty(l,\"prototype\",{writable:!1}),i}(l.default);t.default=y,e.exports=t.default,e.exports.default=t.default},99386:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=n(13306),a=n(75084),r=n(35922),s=f(n(28109)),l=f(n(88221)),u=f(n(43785)),d=f(n(68912)),c=n(62754),h=n(57289);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g={thumbnail:{caption:\"\",calculateSortValue:\"isDirectory\",width:36,alignment:\"center\",cssClass:\"dx-filemanager-details-item-is-directory\"},name:{caption:s.default.format(\"dxFileManager-listDetailsColumnCaptionName\")},dateModified:{caption:s.default.format(\"dxFileManager-listDetailsColumnCaptionDateModified\"),width:110,hidingPriority:1},size:{caption:s.default.format(\"dxFileManager-listDetailsColumnCaptionFileSize\"),width:90,alignment:\"right\",hidingPriority:0},isParentFolder:{caption:\"isParentFolder\",visible:!1,sortIndex:0,sortOrder:\"asc\"}},m=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var f=u.prototype;return f._initMarkup=function(){var t=this;this._itemCount=0,this._focusedItem=null,this._hasParentDirectoryItem=!1,this._parentDirectoryItemKey=null,this._selectAllCheckBox=null,this._selectAllCheckBoxUpdating=!1,this.$element().addClass(\"dx-filemanager-details\"),this._createFilesView(),this._contextMenu.option(\"onContextMenuHidden\",(function(){return t._onContextMenuHidden()})),e.prototype._initMarkup.call(this)},f._createFilesView=function(){var e=(0,i.default)(\"<div>\").appendTo(this.$element()),t=this._isMultipleSelectionMode()?\"multiple\":\"none\";this._filesView=this._createComponent(e,l.default,{dataSource:this._createDataSource(),hoverStateEnabled:!0,selection:{mode:t,showCheckBoxesMode:this._isDesktop()?\"onClick\":\"none\"},selectedRowKeys:this.option(\"selectedItemKeys\"),focusedRowKey:this.option(\"focusedItemKey\"),focusedRowEnabled:!0,allowColumnResizing:!0,scrolling:{mode:\"virtual\"},sorting:{mode:\"single\",showSortIndexes:!1},loadPanel:{shading:!0},showColumnLines:!1,showRowLines:!1,columnHidingEnabled:!1,columns:this._createColumns(),onEditorPreparing:this._onEditorPreparing.bind(this),onRowPrepared:this._onRowPrepared.bind(this),onContextMenuPreparing:this._onContextMenuPreparing.bind(this),onSelectionChanged:this._onFilesViewSelectionChanged.bind(this),onFocusedRowChanged:this._onFilesViewFocusedRowChanged.bind(this),onOptionChanged:this._onFilesViewOptionChanged.bind(this),onContentReady:this._onContentReady.bind(this)})},f._createColumns=function(){var e=this,t=this.option(\"detailColumns\");t=(t=t.slice(0)).map((function(t){var n=t;return(0,r.isString)(t)&&(n={dataField:t}),e._getPreparedColumn(n)}));var n=this.option(\"customizeDetailColumns\");return(0,r.isFunction)(n)&&(t=n(t)),t.push(this._getPreparedColumn({dataField:\"isParentFolder\"})),t.forEach((function(t){return e._updateColumnDataField(t)})),t},f._getPreparedColumn=function(e){var t={},n=\"\";if(this._isDefaultColumn(e.dataField)){var i=(0,o.extend)(!0,{},g[e.dataField]);switch(n=i.cssClass||\"\",e.dataField){case\"thumbnail\":i.cellTemplate=this._createThumbnailColumnCell.bind(this),i.calculateSortValue=\"fileItem.\".concat(i.calculateSortValue);break;case\"name\":i.cellTemplate=this._createNameColumnCell.bind(this),i.caption=s.default.format(\"dxFileManager-listDetailsColumnCaptionName\");break;case\"size\":i.calculateCellValue=this._calculateSizeColumnCellValue.bind(this),i.caption=s.default.format(\"dxFileManager-listDetailsColumnCaptionFileSize\"),i.calculateSortValue=function(e){return e.fileItem.isDirectory?-1:e.fileItem.size};break;case\"dateModified\":i.caption=s.default.format(\"dxFileManager-listDetailsColumnCaptionDateModified\")}(0,o.extend)(!0,t,i)}return(0,a.extendAttributes)(t,e,[\"alignment\",\"caption\",\"dataField\",\"dataType\",\"hidingPriority\",\"sortIndex\",\"sortOrder\",\"visible\",\"visibleIndex\",\"width\"]),e.cssClass&&(n=\"\".concat(n,\" \").concat(e.cssClass)),n&&(t.cssClass=n),t},f._updateColumnDataField=function(e){var t=this._isDefaultColumn(e.dataField)?\"\":\"dataItem.\";return e.dataField=\"fileItem.\"+t+e.dataField,e},f._isDefaultColumn=function(e){return!!g[e]},f._onFileItemActionButtonClick=function(e){var t=e.component,n=e.element,i=e.event;i.stopPropagation();var o=t.$element().closest(this._getItemSelector()),a=o.data(\"item\");this._selectItem(a);var r={itemData:a,itemElement:o,isActionButton:!0},s=this._getFileItemsForContextMenu(a);this._showContextMenu(s,n,i,r),this._activeFileActionsButton=t,this._activeFileActionsButton.setActive(!0)},f._onContextMenuHidden=function(){this._activeFileActionsButton&&this._activeFileActionsButton.setActive(!1)},f._getItemThumbnailCssClass=function(){return\"dx-filemanager-details-item-thumbnail\"},f._getItemSelector=function(){return\".\".concat(\"dx-data-row\")},f._onItemDblClick=function(e){var t=(0,i.default)(e.currentTarget).data(\"item\");this._raiseSelectedItemOpened(t)},f._isAllItemsSelected=function(){var e=this._hasParentDirectoryItem?this._itemCount-1:this._itemCount,t=this._filesView.option(\"selectedRowKeys\");return!!t.length&&(t.length>=e||void 0)},f._onEditorPreparing=function(e){var t=this,n=e.component,i=e.command,o=e.row,a=e.parentType,r=e.editorOptions;this._filesView||(this._filesView=n),\"select\"===i&&o?this._isParentDirectoryItem(o.data)&&(r.disabled=!0):\"headerRow\"===a&&(r.onInitialized=function(e){var n=e.component;t._selectAllCheckBox=n},r.value=this._isAllItemsSelected(),r.onValueChanged=function(e){return t._onSelectAllCheckBoxValueChanged(e)})},f._onSelectAllCheckBoxValueChanged=function(e){var t=e.event,n=e.previousValue,i=e.value;t?this._isAllItemsSelected()!==i&&(i?this._filesView.selectAll():this._filesView.deselectAll(),t.preventDefault()):n&&!this._selectAllCheckBoxUpdating&&this._selectAllCheckBox&&this._selectAllCheckBox.option(\"value\",n)},f._onRowPrepared=function(e){var t=e.rowType,n=e.rowElement,o=e.data;if(\"data\"===t){var a=(0,i.default)(n);a.data(\"item\",o),this._isParentDirectoryItem(o)&&a.addClass(\"dx-filemanager-parent-directory-item\")}},f._onContextMenuPreparing=function(e){if(this._isDesktop()){var t=null,n={};e.row&&\"data\"===e.row.rowType&&(n=e.row.data,this._selectItem(n),t=this._getFileItemsForContextMenu(n));var i=(0,o.extend)({},{targetElement:\"content\"===e.target&&(0,r.isDefined)(e.row)?this._filesView.getRowElement(e.rowIndex):void 0,itemData:n,options:this._contextMenu.option(),event:e.event,isActionButton:!1,cancel:!1});this._raiseContextMenuShowing(i),e.items=i.cancel?[]:this._contextMenu.createContextMenuItems(t,null,n)}},f._onFilesViewSelectionChanged=function(e){var t=e.component,n=e.selectedRowsData,i=e.selectedRowKeys,o=e.currentSelectedRowKeys,a=e.currentDeselectedRowKeys;this._filesView=this._filesView||t,this._selectAllCheckBox&&(this._selectAllCheckBoxUpdating=!0,this._selectAllCheckBox.option(\"value\",this._isAllItemsSelected()),this._selectAllCheckBoxUpdating=!1);var r=n.map((function(e){return e.fileItem}));this._tryRaiseSelectionChanged({selectedItemInfos:n,selectedItems:r,selectedItemKeys:i,currentSelectedItemKeys:o,currentDeselectedItemKeys:a})},f._onFilesViewFocusedRowChanged=function(e){var t,n;this._isMultipleSelectionMode()||this._selectItemSingleSelection(null===(n=e.row)||void 0===n?void 0:n.data);var i=(null===(t=e.row)||void 0===t?void 0:t.data.fileItem)||null;this._onFocusedItemChanged({item:i,itemKey:null==i?void 0:i.key,itemElement:e.rowElement})},f._onFilesViewOptionChanged=function(e){e.fullName.indexOf(\"sortOrder\")>-1&&this._filesView.columnOption(\"isParentFolder\",{sortOrder:\"asc\",sortIndex:0})},f._resetFocus=function(){this._setFocusedItemKey(void 0)},f._createThumbnailColumnCell=function(e,t){this._getItemThumbnailContainer(t.data).appendTo(e)},f._createNameColumnCell=function(e,t){var n=this,o=(0,i.default)(\"<div>\"),a=(0,i.default)(\"<span>\").text(t.data.fileItem.name).addClass(\"dx-filemanager-details-item-name\"),r=(0,i.default)(\"<div>\").append(a,o).addClass(\"dx-filemanager-details-item-name-wrapper\");(0,i.default)(e).append(r),this._createComponent(o,d.default,{onClick:function(e){return n._onFileItemActionButtonClick(e)}})},f._calculateSizeColumnCellValue=function(e){return e.fileItem.isDirectory?\"\":(0,a.getDisplayFileSize)(e.fileItem.size)},f._selectItem=function(e){(this._isMultipleSelectionMode()?this._selectItemMultipleSelection:this._selectItemSingleSelection).call(this,e)},f._deselectItem=function(e){this._filesView.deselectRows([e.fileItem.key])},f._selectItemSingleSelection=function(e){if(!this._focusedItem||!e||this._focusedItem.fileItem.key!==e.fileItem.key){var t=this._focusedItem;this._focusedItem=e;var n=[];t&&n.push(t.fileItem.key);var i=[],o=[];e&&!this._isParentDirectoryItem(e)&&(i.push(e.fileItem),o.push(e.fileItem.key)),this._raiseSelectionChanged({selectedItems:i,selectedItemKeys:o,currentSelectedItemKeys:[].concat(o),currentDeselectedItemKeys:n})}},f._selectItemMultipleSelection=function(e){var t=e.fileItem;if(!this._filesView.isRowSelected(t.key)){var n=this._filesView.getController(\"selection\").isSelectionWithCheckboxes();this._filesView.selectRows([t.key],n)}},f._setSelectedItemKeys=function(e){this._filesView.option(\"selectedRowKeys\",e)},f._setFocusedItemKey=function(e){var t;null===(t=this._filesView)||void 0===t||t.option(\"focusedRowKey\",e)},f.clearSelection=function(){this._isMultipleSelectionMode()?this._filesView.clearSelection():this._filesView.option(\"focusedRowIndex\",-1)},f.refresh=function(e,t){var n={dataSource:this._createDataSource()};return e&&Object.prototype.hasOwnProperty.call(e,\"focusedItemKey\")&&((0,r.isDefined)(e.focusedItemKey)?n.focusedRowKey=e.focusedItemKey:n.focusedRowIndex=-1),!(0,r.isDefined)(n.focusedRowKey)&&-1===n.focusedRowIndex&&t===h.OPERATIONS.NAVIGATION&&(n.paging={pageIndex:0},this._needResetScrollPosition=!0),this._filesView.option(n),this._refreshDeferred=new c.Deferred,this._refreshDeferred.promise()},f._getScrollable=function(){return this._filesView.getScrollable()},f.getSelectedItems=function(){return this._isMultipleSelectionMode()?this._filesView.getSelectedRowsData():this._focusedItem&&!this._isParentDirectoryItem(this._focusedItem)?[this._focusedItem]:[]},u}(u.default);t.default=m,e.exports=t.default,e.exports.default=t.default},43785:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(13306),a=n(62754),r=n(58201),s=n(85272),l=n(39611),u=p(n(55994)),d=n(44899),c=p(n(20530)),h=p(n(88036)),f=p(n(14390));function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e)||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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var f,p,m,y=i.prototype;return y._init=function(){this._initActions(),this._lockFocusedItemProcessing=!1,this._focusedItemKey=this.option(\"focusedItemKey\"),e.prototype._init.call(this)},y._initMarkup=function(){this._needResetScrollPosition=!1,this.$element().addClass(\"dx-filemanager-files-view\");var t=(0,l.addNamespace)(s.name,\"dxFileManager_open\");u.default.on(this.$element(),t,this._getItemSelector(),this._onItemDblClick.bind(this)),e.prototype._initMarkup.call(this)},y._initActions=function(){this._actions={onError:this._createActionByOption(\"onError\"),onSelectionChanged:this._createActionByOption(\"onSelectionChanged\"),onFocusedItemChanged:this._createActionByOption(\"onFocusedItemChanged\"),onSelectedItemOpened:this._createActionByOption(\"onSelectedItemOpened\"),onContextMenuShowing:this._createActionByOption(\"onContextMenuShowing\"),onItemListDataLoaded:this._createActionByOption(\"onItemListDataLoaded\")}},y._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{selectionMode:\"single\",selectedItemKeys:[],focusedItemKey:void 0,contextMenu:null,getItems:null,getItemThumbnail:null,onError:null,onSelectionChanged:null,onFocusedItemChanged:null,onSelectedItemOpened:null,onContextMenuShowing:null})},y._optionChanged=function(t){var n=t.name;switch(n){case\"selectionMode\":case\"contextMenu\":case\"getItems\":case\"getItemThumbnail\":this.repaint();break;case\"selectedItemKeys\":this._setSelectedItemKeys(t.value);break;case\"focusedItemKey\":this._lockFocusedItemProcessing||this._setFocusedItemKey(t.value);break;case\"onError\":case\"onSelectedItemOpened\":case\"onSelectionChanged\":case\"onFocusedItemChanged\":case\"onContextMenuShowing\":case\"onItemListDataLoaded\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},y._getItems=function(){var e=this;return this._getItemsInternal().done((function(t){e._itemCount=t.length,0===e._itemCount&&e._resetFocus();var n=e._findParentDirectoryItem(t);e._hasParentDirectoryItem=!!n,e._parentDirectoryItemKey=n?n.fileItem.key:null})).always((function(){e._onDataLoaded()}))},y._getItemsInternal=function(){var e=this.option(\"getItems\"),t=e?e():[];return(0,a.when)(t)},y._raiseOnError=function(e){this._actions.onError({error:e})},y._raiseSelectionChanged=function(e){this._actions.onSelectionChanged(e)},y._raiseFocusedItemChanged=function(e){this._actions.onFocusedItemChanged(e)},y._raiseSelectedItemOpened=function(e){this._actions.onSelectedItemOpened({fileItemInfo:e})},y._raiseContextMenuShowing=function(e){this._actions.onContextMenuShowing(e)},y._raiseItemListDataLoaded=function(){this._actions.onItemListDataLoaded()},y._onDataLoaded=function(){var e;this._raiseItemListDataLoaded(),null===(e=this._refreshDeferred)||void 0===e||e.resolve()},y._onContentReady=function(){this._needResetScrollPosition&&(this._resetScrollTopPosition(),this._needResetScrollPosition=!1)},y._tryRaiseSelectionChanged=function(e){var t=this,n=e.selectedItemInfos,i=e.selectedItems,o=e.selectedItemKeys,a=e.currentSelectedItemKeys,r=e.currentDeselectedItemKeys,s=this._findParentDirectoryItem(this.getSelectedItems());s&&this._deselectItem(s);var l=!this._hasParentDirectoryItem;(l=l||this._hasValidKeys(a)||this._hasValidKeys(r))&&(n=this._filterOutItemByPredicate(n,(function(e){return e.fileItem.key===t._parentDirectoryItemKey})),i=this._filterOutParentDirectory(i),o=this._filterOutParentDirectoryKey(o,!0),a=this._filterOutParentDirectoryKey(a,!0),r=this._filterOutParentDirectoryKey(r,!0),this._raiseSelectionChanged({selectedItemInfos:n,selectedItems:i,selectedItemKeys:o,currentSelectedItemKeys:a,currentDeselectedItemKeys:r}))},y._onFocusedItemChanged=function(e){this._focusedItemKey!==e.itemKey&&(this._focusedItemKey=e.itemKey,this._lockFocusedItemProcessing=!0,this.option(\"focusedItemKey\",e.itemKey),this._lockFocusedItemProcessing=!1,this._raiseFocusedItemChanged(e))},y._resetFocus=function(){},y._resetScrollTopPosition=function(){var e=this;(0,r.hasWindow)()&&setTimeout((function(){var t;return null===(t=e._getScrollable())||void 0===t?void 0:t.scrollTo(0)}))},y._getScrollable=function(){},y._getItemThumbnail=function(e){var t=this.option(\"getItemThumbnail\");return t?t(e):{thumbnail:\"\"}},y._getItemThumbnailContainer=function(e){var t=this._getItemThumbnail(e),n=t.thumbnail,i=t.cssClass,o=(0,d.getImageContainer)(n).addClass(this._getItemThumbnailCssClass());return i&&o.addClass(i),o},y._getItemThumbnailCssClass=function(){return\"\"},y._getItemSelector=function(){},y._onItemDblClick=function(e){},y._isDesktop=function(){return\"desktop\"===c.default.real().deviceType},y._showContextMenu=function(e,t,n,i){this._contextMenu.showAt(e,t,n,i)},y._findParentDirectoryItem=function(e){for(var t=0;t<e.length;t++){var n=e[t];if(this._isParentDirectoryItem(n))return n}return null},y._getFileItemsForContextMenu=function(e){var t=this.getSelectedItems();return this._isParentDirectoryItem(e)&&t.push(e),t},y._isParentDirectoryItem=function(e){return e.fileItem.isParentFolder},y._hasValidKeys=function(e){return e.length>1||1===e.length&&e[0]!==this._parentDirectoryItemKey},y._filterOutParentDirectory=function(e,t){var n=this;return this._filterOutItemByPredicate(e,(function(e){return e.key===n._parentDirectoryItemKey}),t)},y._filterOutParentDirectoryKey=function(e,t){var n=this;return this._filterOutItemByPredicate(e,(function(e){return e===n._parentDirectoryItemKey}),t)},y._filterOutItemByPredicate=function(e,t,n){for(var i=e,o=-1,a=0;a<e.length;a++)if(t(e[a])){o=a;break}return-1!==o&&(n&&(i=g(e)),i.splice(o,1)),i},y._isMultipleSelectionMode=function(){return\"multiple\"===this.option(\"selectionMode\")},y._deselectItem=function(e){},y._setSelectedItemKeys=function(e){},y._setFocusedItemKey=function(e){},y._createDataSource=function(){return{store:new h.default({key:\"fileItem.key\",load:this._getItems.bind(this)})}},y.getSelectedItems=function(){},y.clearSelection=function(){},y.selectItem=function(){},y.refresh=function(e,t){},f=i,(p=[{key:\"_contextMenu\",get:function(){return this.option(\"contextMenu\")}}])&&_(f.prototype,p),m&&_(f,m),Object.defineProperty(f,\"prototype\",{writable:!1}),i}(f.default);t.default=y,e.exports=t.default,e.exports.default=t.default},6339:function(e,t,n){t.default=void 0;var i=g(n(68374)),o=n(13306),a=n(35922),r=n(62754),s=g(n(55994)),l=n(39611),u=n(49166),d=n(75084),c=g(n(28109)),h=g(n(99338)),f=g(n(43785)),p=n(57289);function g(e){return e&&e.__esModule?e:{default:e}}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){var t,n;function f(){return e.apply(this,arguments)||this}n=e,(t=f).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var g=f.prototype;return g._initMarkup=function(){e.prototype._initMarkup.call(this),this.$element().addClass(\"dx-filemanager-thumbnails\");var t=(0,l.addNamespace)(u.name,\"dxFileManager_thumbnails\");s.default.on(this.$element(),t,this._onContextMenu.bind(this)),this._createItemList()},g._createItemList=function(){var e=this._isMultipleSelectionMode()?\"multiple\":\"single\",t=(0,i.default)(\"<div>\").appendTo(this.$element());this._itemList=this._createComponent(t,h.default,{dataSource:this._createDataSource(),selectionMode:e,selectedItemKeys:this.option(\"selectedItemKeys\"),focusedItemKey:this.option(\"focusedItemKey\"),activeStateEnabled:!0,hoverStateEnabled:!0,loopItemFocus:!1,focusStateEnabled:!0,onItemEnterKeyPressed:this._tryOpen.bind(this),itemThumbnailTemplate:this._getItemThumbnailContainer.bind(this),getTooltipText:this._getTooltipText.bind(this),onSelectionChanged:this._onItemListSelectionChanged.bind(this),onFocusedItemChanged:this._onItemListFocusedItemChanged.bind(this),onContentReady:this._onContentReady.bind(this)})},g._onContextMenu=function(e){if(e.preventDefault(),e.stopPropagation(),this._isDesktop()){var t=null,n=(0,i.default)(e.target).closest(this._getItemSelector()),o=null;n.length>0&&(o=this._itemList.getItemByItemElement(n),this._itemList.selectItem(o),t=this._getFileItemsForContextMenu(o));var a={itemData:o,itemElement:n.length?n:void 0};this._showContextMenu(t,e.target,e,a)}},g._getItemThumbnailCssClass=function(){return\"dx-filemanager-thumbnails-item-thumbnail\"},g._getItemSelector=function(){return\".\".concat(\"dx-filemanager-thumbnails-item\")},g._getTooltipText=function(e){var t=e.fileItem;if(t.tooltipText)return t.tooltipText;var n=\"\".concat(t.name,\"\\r\\n\");return t.isDirectory||(n+=\"\".concat(c.default.format(\"dxFileManager-listThumbnailsTooltipTextSize\"),\": \").concat((0,d.getDisplayFileSize)(t.size),\"\\r\\n\")),n+=\"\".concat(c.default.format(\"dxFileManager-listThumbnailsTooltipTextDateModified\"),\": \").concat(t.dateModified)},g._onItemDblClick=function(e){var t=(0,i.default)(e.currentTarget),n=this._itemList.getItemByItemElement(t);this._tryOpen(n)},g._tryOpen=function(e){e&&this._raiseSelectedItemOpened(e)},g._getItemsInternal=function(){return e.prototype._getItemsInternal.call(this).then((function(e){var t=new r.Deferred;return setTimeout((function(){return t.resolve(e)})),t.promise()}))},g._disableDragging=function(){return!1},g._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{focusStateEnabled:!0})},g._onItemListSelectionChanged=function(e){var t=e.addedItemKeys,n=e.removedItemKeys,i=this.getSelectedItems(),o=i.map((function(e){return e.fileItem})),a=o.map((function(e){return e.key}));this._tryRaiseSelectionChanged({selectedItemInfos:i,selectedItems:o,selectedItemKeys:a,currentSelectedItemKeys:t,currentDeselectedItemKeys:n})},g._onItemListFocusedItemChanged=function(e){var t=e.item,n=e.itemElement;this._isMultipleSelectionMode()||this._selectItemSingleSelection(t);var i=(null==t?void 0:t.fileItem)||null;this._onFocusedItemChanged({item:i,itemKey:null==i?void 0:i.key,itemElement:n||void 0})},g._getScrollable=function(){return this._itemList.getScrollable()},g._setSelectedItemKeys=function(e){this._itemList.option(\"selectedItemKeys\",e)},g._setFocusedItemKey=function(e){this._itemList.option(\"focusedItemKey\",e)},g.refresh=function(e,t){var n={dataSource:this._createDataSource()};return e&&Object.prototype.hasOwnProperty.call(e,\"focusedItemKey\")&&(n.focusedItemKey=e.focusedItemKey),e&&Object.prototype.hasOwnProperty.call(e,\"selectedItemKeys\")&&(n.selectedItemKeys=e.selectedItemKeys),(0,a.isDefined)(n.focusedItemKey)||t!==p.OPERATIONS.NAVIGATION||(this._needResetScrollPosition=!0),this._itemList.option(n),this._refreshDeferred=new r.Deferred,this._refreshDeferred.promise()},g._deselectItem=function(e){var t=this._itemList.getItemElementByItem(e);this._itemList.unselectItem(t)},g._selectItemSingleSelection=function(e){e?this._itemList.selectItem(e):this._itemList.clearSelection()},g.clearSelection=function(){this._itemList.clearSelection()},g.getSelectedItems=function(){return this._itemList.getSelectedItems()},f}(f.default);t.default=_,e.exports=t.default,e.exports.default=t.default},99338:function(e,t,n){t.default=void 0;var i=n(58664),o=g(n(68374)),a=n(13306),r=n(35922),s=n(62754),l=g(n(11699)),u=n(39611),d=g(n(55994)),c=n(93280),h=g(n(4741)),f=g(n(11050)),p=g(n(68198));function g(e){return e&&e.__esModule?e:{default:e}}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=(0,u.addNamespace)(l.default.name,\"dxFileManagerThumbnailsListBox\"),v=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var l=i.prototype;return l._initMarkup=function(){this._initActions(),this._lockFocusedItemProcessing=!1,this.$element().addClass(\"dx-filemanager-thumbnails-view-port\"),this._renderScrollView(),this._renderItemsContainer(),this._createScrollViewControl(),e.prototype._initMarkup.call(this),this.onFocusedItemChanged=this._onFocusedItemChanged.bind(this),this._layoutUtils=new y(this._scrollView,this.$element(),this._$itemContainer,this.itemElements().first()),this._syncFocusedItemKey()},l._initActions=function(){this._actions={onItemEnterKeyPressed:this._createActionByOption(\"onItemEnterKeyPressed\"),onFocusedItemChanged:this._createActionByOption(\"onFocusedItemChanged\")}},l._initTemplates=function(){e.prototype._initTemplates.call(this),this._itemThumbnailTemplate=this.option(\"itemThumbnailTemplate\"),this._getTooltipText=this.option(\"getTooltipText\"),this._templateManager.addDefaultTemplates({item:new c.BindableTemplate(function(e,t,n){var i=this._getDefaultItemTemplate(n,e);e.append(i)}.bind(this),[\"fileItem\"],this.option(\"integrationOptions.watchMethod\"))})},l._createScrollViewControl=function(){this._scrollView||(this._scrollView=this._createComponent(this._$scrollView,h.default,{scrollByContent:!0,scrollByThumb:!0,useKeyboard:!1,showScrollbar:\"onHover\"}))},l._renderScrollView=function(){this._$scrollView||(this._$scrollView=(0,o.default)(\"<div>\").appendTo(this.$element()))},l.getScrollable=function(){return this._scrollView},l._renderItemsContainer=function(){this._$itemContainer||(this._$itemContainer=(0,o.default)(\"<div>\").addClass(\"dx-filemanager-thumbnails-container\").appendTo(this._$scrollView))},l._render=function(){e.prototype._render.call(this),this._detachEventHandlers(),this._attachEventHandlers()},l._clean=function(){this._detachEventHandlers(),e.prototype._clean.call(this)},l._supportedKeys=function(){return(0,a.extend)(e.prototype._supportedKeys.call(this),{upArrow:function(e){this._beforeKeyProcessing(e),this._processArrowKeys(-1,!1,e)},downArrow:function(e){this._beforeKeyProcessing(e),this._processArrowKeys(1,!1,e)},home:function(e){this._beforeKeyProcessing(e),this._processHomeEndKeys(0,!0,e)},end:function(e){this._beforeKeyProcessing(e),this._processHomeEndKeys(this._getItemsLength()-1,!0,e)},pageUp:function(e){this._beforeKeyProcessing(e),this._processPageChange(!0,e)},pageDown:function(e){this._beforeKeyProcessing(e),this._processPageChange(!1,e)},enter:function(e){this._beforeKeyProcessing(e),this._actions.onItemEnterKeyPressed(this._getFocusedItem())},A:function(e){this._beforeKeyProcessing(e),(0,u.isCommandKeyPressed)(e)&&this.selectAll()}})},l._beforeKeyProcessing=function(e){e.preventDefault(),this._layoutUtils.reset()},l._processArrowKeys=function(e,t,n){var i=this._getFocusedItem();if(i){if(!t){var o=this._layoutUtils.getLayoutModel();if(!o)return;e*=o.itemPerRowCount}var a=this._getIndexByItem(i)+e;this._focusItemByIndex(a,!0,n)}},l._processHomeEndKeys=function(e,t,n){this._focusItemByIndex(e,t,n)},l._processPageChange=function(e,t){var n=this._getFocusedItem();if(n){var i=this._layoutUtils.getLayoutModel();if(i){var o=this._layoutUtils.createItemLayoutModel(this._getIndexByItem(n)),a=e?i.rowPerPageRate:-i.rowPerPageRate,r=o.itemRowIndex-a,s=(e?Math.ceil:Math.floor)(r)*i.itemPerRowCount+o.itemColumnIndex;s<0?s=0:s>=this._getItemsLength()&&(s=this._getItemsLength()-1),this._focusItemByIndex(s,!0,t)}}},l._processLongTap=function(e){var t=this._closestItemElement((0,o.default)(e.target)),n=this._getIndexByItemElement(t);this._selection.changeItemSelection(n,{control:!0})},l._attachEventHandlers=function(){var e=this;\"multiple\"===this.option(\"selectionMode\")&&d.default.on(this._itemContainer(),_,\".\".concat(this._itemContentClass()),(function(t){e._processLongTap(t),t.stopPropagation()})),d.default.on(this._itemContainer(),\"mousedown selectstart\",(function(e){e.shiftKey&&e.preventDefault()}))},l._detachEventHandlers=function(){d.default.off(this._itemContainer(),_),d.default.off(this._itemContainer(),\"mousedown selectstart\")},l._itemContainer=function(){return this._$itemContainer},l._itemClass=function(){return\"dx-filemanager-thumbnails-item\"},l._itemDataKey=function(){return\"dxFileManagerItemData\"},l._getDefaultItemTemplate=function(e,t){t.attr(\"title\",this._getTooltipText(e));var n=this._itemThumbnailTemplate(e),i=(0,o.default)(\"<div>\").addClass(\"dx-filemanager-thumbnails-item-spacer\"),a=(0,o.default)(\"<div>\").addClass(\"dx-filemanager-thumbnails-item-name\").text(e.fileItem.name);t.append(n,i,a)},l._itemSelectHandler=function(e){var t={};\"multiple\"===this.option(\"selectionMode\")&&(this._isPreserveSelectionMode||(this._isPreserveSelectionMode=(0,u.isCommandKeyPressed)(e)||e.shiftKey),t={control:this._isPreserveSelectionMode,shift:e.shiftKey});var n=this._getIndexByItemElement(e.currentTarget);this._selection.changeItemSelection(n,t)},l._initSelectionModule=function(){var t=this;e.prototype._initSelectionModule.call(this);var n=(0,a.extend)(this._selection.options,{selectedKeys:this.option(\"selectedItemKeys\"),onSelectionChanged:function(e){t.option(\"selectedItems\",t._getItemsByKeys(e.selectedItemKeys,e.selectedItems)),t._updateSelectedItems(e)}});this._selection=new p.default(n)},l._updateSelectedItems=function(e){var t=this,n=e.addedItemKeys,i=e.removedItemKeys;if(this._rendered&&(n.length||i.length)){var o=this._selectionChangePromise;if(!this._rendering){var a,r=[],l=[];this._editStrategy.beginCache();for(var u=0;u<i.length;u++)a=this._getIndexByKey(i[u]),l.push(a),this._removeSelection(a);for(var d=0;d<n.length;d++)a=this._getIndexByKey(n[d]),r.push(a),this._addSelection(a);this._editStrategy.endCache(),this._updateSelection(r,l)}(0,s.when)(o).done((function(){return t._fireSelectionChangeEvent(e)}))}},l._fireSelectionChangeEvent=function(e){this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})(e)},l._updateSelection=function(e,t){0===this.getSelectedItems().length&&(this._isPreserveSelectionMode=!1)},l._normalizeSelectedItems=function(){var e=this._getKeysByItems(this.option(\"selectedItems\")),t=this._selection.getSelectedItemKeys();return this._compareKeys(t,e)||this._selection.setSelection(e),(new s.Deferred).resolve().promise()},l._focusOutHandler=function(){},l._getItems=function(){return this.option(\"items\")||[]},l._getItemsLength=function(){return this._getItems().length},l._getIndexByItemElement=function(e){return this._editStrategy.getNormalizedIndex(e)},l._getItemByIndex=function(e){return this._getItems()[e]},l._getFocusedItem=function(){return this.getItemByItemElement(this.option(\"focusedElement\"))},l._focusItem=function(e,t){this.option(\"focusedElement\",this.getItemElementByItem(e)),t&&this._layoutUtils.scrollToItem(this._getIndexByItem(e))},l._focusItemByIndex=function(e,t,n){if(e>=0&&e<this._getItemsLength()){var i=this._getItemByIndex(e);this._focusItem(i,t,n)}},l._syncFocusedItemKey=function(){var e=this;this._syncFocusedItemKeyDeferred||(this._syncFocusedItemKeyDeferred=new s.Deferred);var t=this._syncFocusedItemKeyDeferred;if(this._dataSource&&this._dataSource.isLoading())return t.promise();var n=this.option(\"focusedItemKey\");if((0,r.isDefined)(n)){var i=this.option(\"items\").find((function(t){return e.keyOf(t)===n}));i?(this._focusItem(i,!0),t.resolve()):(this.option(\"focusedItemKey\",void 0),t.reject())}else t.resolve();return this._syncFocusedItemKeyDeferred=null,t.promise()},l._onFocusedItemChanged=function(){var e=this._getFocusedItem(),t=this.keyOf(e);t!==this.option(\"focusedItemKey\")&&(this._lockFocusedItemProcessing=!0,this.option(\"focusedItemKey\",t),this._lockFocusedItemProcessing=!1,this._raiseFocusedItemChanged(e))},l._raiseFocusedItemChanged=function(e){var t={item:e,itemElement:this.option(\"focusedElement\")};this._actions.onFocusedItemChanged(t)},l._changeItemSelection=function(e,t){if(this.isItemSelected(e)!==t){var n=this.getItemElementByItem(e),i=this._getIndexByItemElement(n);this._selection.changeItemSelection(i,{control:this._isPreserveSelectionMode})}},l._chooseSelectOption=function(){return\"selectedItemKeys\"},l.getSelectedItems=function(){return this._selection.getSelectedItems()},l.getItemElementByItem=function(e){return this._editStrategy.getItemElement(e)},l.getItemByItemElement=function(e){return this._getItemByIndex(this._getIndexByItemElement(e))},l.selectAll=function(){\"multiple\"===this.option(\"selectionMode\")&&(this._selection.selectAll(),this._isPreserveSelectionMode=!0)},l.selectItem=function(e){this._changeItemSelection(e,!0)},l.deselectItem=function(e){this._changeItemSelection(e,!1)},l.clearSelection=function(){this._selection.deselectAll()},l._optionChanged=function(t){var n=this;switch(t.name){case\"items\":this._layoutUtils&&this._layoutUtils.updateItems(this.itemElements().first()),e.prototype._optionChanged.call(this,t);break;case\"focusedItemKey\":if(this._lockFocusedItemProcessing)break;(0,r.isDefined)(t.value)?this._syncFocusedItemKey().done((function(){var e=n._getFocusedItem();n._raiseFocusedItemChanged(e)})):(this.option(\"focusedElement\",null),this._raiseFocusedItemChanged(null));break;case\"onItemEnterKeyPressed\":case\"onFocusedItemChanged\":this._actions[t.name]=this._createActionByOption(t.name);break;default:e.prototype._optionChanged.call(this,t)}},i}(f.default),y=function(){function e(e,t,n,i){this._layoutModel=null,this._scrollView=e,this._$viewPort=t,this._$itemContainer=n,this._$item=i}var t=e.prototype;return t.updateItems=function(e){this._$item=e},t.reset=function(){this._layoutModel=null},t.getLayoutModel=function(){return this._layoutModel||(this._layoutModel=this._createLayoutModel()),this._layoutModel},t._createLayoutModel=function(){if(!this._$item)return null;var e=(0,i.getOuterWidth)(this._$item,!0);if(0===e)return null;var t=(0,i.getOuterHeight)(this._$item,!0),n=(0,i.getInnerWidth)(this._$itemContainer),o=(0,i.getInnerHeight)(this._$viewPort),a=this._scrollView.scrollTop();return{itemWidth:e,itemHeight:t,viewPortWidth:n,viewPortHeight:o,viewPortScrollTop:a,viewPortScrollBottom:a+o,itemPerRowCount:Math.floor(n/e),rowPerPageRate:o/t}},t.createItemLayoutModel=function(e){var t=this.getLayoutModel();if(!t)return null;var n=Math.floor(e/t.itemPerRowCount),i=e%t.itemPerRowCount,o=n*t.itemHeight;return{itemRowIndex:n,itemColumnIndex:i,itemTop:o,itemBottom:o+t.itemHeight}},t.scrollToItem=function(e){var t=this.getLayoutModel();if(t){var n=Math.floor(e/t.itemPerRowCount)*t.itemHeight,i=n+t.itemHeight,o=t.viewPortScrollTop;n<t.viewPortScrollTop?o=n:i>t.viewPortScrollBottom&&(o=i-t.viewPortHeight),this._scrollView.scrollTo(o)}},e}(),b=v;t.default=b,e.exports=t.default,e.exports.default=t.default},32737:function(e,t,n){t.default=void 0;var i=D(n(68374)),o=n(13306),a=n(35922),r=n(62754),s=n(20576),l=D(n(28109)),u=D(n(99393)),d=D(n(14390)),c=D(n(59958)),h=n(75084),f=n(57289),p=n(77311),g=D(n(2681)),m=D(n(48156)),_=D(n(99386)),v=D(n(6339)),y=D(n(70166)),b=D(n(17723)),x=D(n(86471)),w=D(n(47565)),C=D(n(52666)),S=n(45434),k=n(49036);function D(e){return e&&e.__esModule?e:{default:e}}function I(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(e,t)}(e)||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 T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var O=\"navPane\",A=\"itemView\",P=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,E(t,n);var d=u.prototype;return d._initTemplates=function(){},d._init=function(){e.prototype._init.call(this),this._initActions(),this._providerUpdateDeferred=null,this._lockCurrentPathProcessing=!1,this._wasRendered=!1,this._controller=new f.FileItemsController({currentPath:this.option(\"currentPath\"),currentPathKeys:this.option(\"currentPathKeys\"),rootText:this.option(\"rootFolderName\"),fileProvider:this.option(\"fileSystemProvider\"),allowedFileExtensions:this.option(\"allowedFileExtensions\"),uploadMaxFileSize:this.option(\"upload\").maxFileSize,uploadChunkSize:this.option(\"upload\").chunkSize,onInitialized:this._onControllerInitialized.bind(this),onDataLoading:this._onDataLoading.bind(this),onSelectedDirectoryChanged:this._onSelectedDirectoryChanged.bind(this),onPathPotentiallyChanged:this._checkPathActuality.bind(this),editingEvents:this._actions.editing})},d._initMarkup=function(){e.prototype._initMarkup.call(this),this._firstItemViewLoad=!0,this._lockSelectionProcessing=!1,this._lockFocusedItemProcessing=!1,this._itemKeyToFocus=void 0,this._loadedWidgets=[],this._commandManager=new p.FileManagerCommandManager(this.option(\"permissions\")),this.$element().addClass(\"dx-filemanager\"),this._wasRendered?this._prepareToLoad():this._wasRendered=!0,this._createNotificationControl(),this._initCommandManager()},d._createNotificationControl=function(){var e=this,t=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-notification-container\").appendTo(this.$element());this._notificationControl=this._createComponent(t,b.default,{progressPanelContainer:this.$element(),contentTemplate:function(t,n){return e._createWrapper(t,n)},onActionProgress:function(t){return e._onActionProgress(t)},positionTarget:\".\".concat(\"dx-filemanager-container\"),showProgressPanel:this.option(\"notifications.showPanel\"),showNotificationPopup:this.option(\"notifications.showPopup\")})},d._createWrapper=function(e,t){var n=this;this._$wrapper=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-wrapper\").appendTo(e),this._createEditing(t);var o=(0,i.default)(\"<div>\").appendTo(this._$wrapper);this._toolbar=this._createComponent(o,y.default,{commandManager:this._commandManager,generalItems:this.option(\"toolbar.items\"),fileItems:this.option(\"toolbar.fileSelectionItems\"),itemViewMode:this.option(\"itemView\").mode,onItemClick:function(e){return n._actions.onToolbarItemClick(e)}}),this._createAdaptivityControl()},d._createAdaptivityControl=function(){var e=this,t=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-container\").appendTo(this._$wrapper);this._adaptivityControl=this._createComponent(t,C.default,{drawerTemplate:function(t){return e._createFilesTreeView(t)},contentTemplate:function(t){return e._createItemsPanel(t)},onAdaptiveStateChanged:function(t){return e._onAdaptiveStateChanged(t)}}),this._editing.setUploaderSplitterElement(this._adaptivityControl.getSplitterElement())},d._createEditing=function(e){var t=this,n=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-editing-container\").appendTo(this.$element());this._editing=this._createComponent(n,x.default,{controller:this._controller,model:{getMultipleSelectedItems:this._getSelectedItemInfos.bind(this)},getItemThumbnail:this._getItemThumbnailInfo.bind(this),notificationControl:e,uploadDropZonePlaceholderContainer:this.$element(),rtlEnabled:this.option(\"rtlEnabled\"),onSuccess:function(e){var n=e.updatedOnlyFiles;return t._redrawComponent(n)},onError:function(e){return t._onEditingError(e)}})},d._createItemsPanel=function(e){this._$itemsPanel=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-items-panel\").appendTo(e),this._createBreadcrumbs(this._$itemsPanel),this._createItemView(this._$itemsPanel),this._updateUploadDropZone()},d._updateUploadDropZone=function(){var e=this._commandManager.isCommandAvailable(\"upload\")?this._$itemsPanel:(0,i.default)();this._editing.setUploaderDropZone(e)},d._createFilesTreeView=function(e){var t=this;this._filesTreeViewContextMenu=this._createContextMenu(!1,O);var n=(0,i.default)(\"<div>\").addClass(\"dx-filemanager-dirs-panel\").appendTo(e);this._filesTreeView=this._createComponent(n,m.default,{storeExpandedState:!0,contextMenu:this._filesTreeViewContextMenu,getDirectories:this.getDirectories.bind(this),getCurrentDirectory:this._getCurrentDirectory.bind(this),onDirectoryClick:function(e){var n=e.itemData;return t._setCurrentDirectory(n)},onItemListDataLoaded:function(){return t._tryEndLoading(O)}}),this._filesTreeView.updateCurrentDirectory()},d._createItemView=function(e,t){var n=this;this._itemViewContextMenu=this._createContextMenu(!0,A);var o=this.option(\"itemView\"),a={selectionMode:this.option(\"selectionMode\"),selectedItemKeys:this.option(\"selectedItemKeys\"),focusedItemKey:this.option(\"focusedItemKey\"),contextMenu:this._itemViewContextMenu,getItems:this._getItemViewItems.bind(this),onError:function(e){var t=e.error;return n._showError(t)},onSelectionChanged:this._onItemViewSelectionChanged.bind(this),onFocusedItemChanged:this._onItemViewFocusedItemChanged.bind(this),onSelectedItemOpened:this._onSelectedItemOpened.bind(this),onContextMenuShowing:function(e){return n._onContextMenuShowing(A,e)},onItemListItemsLoaded:function(){return n._tryEndLoading(A)},getItemThumbnail:this._getItemThumbnailInfo.bind(this),customizeDetailColumns:this.option(\"customizeDetailColumns\"),detailColumns:this.option(\"itemView.details.columns\")},r=(0,i.default)(\"<div>\").appendTo(e),s=\"thumbnails\"===(t=t||o.mode)?v.default:_.default;this._itemView=this._createComponent(r,s,a)},d._createBreadcrumbs=function(e){var t=this,n=(0,i.default)(\"<div>\").appendTo(e);this._breadcrumbs=this._createComponent(n,w.default,{rootFolderDisplayName:this.option(\"rootFolderName\"),onCurrentDirectoryChanging:function(e){var n=e.currentDirectory;return t._setCurrentDirectory(n,!0)}}),this._breadcrumbs.setCurrentDirectory(this._getCurrentDirectory())},d._createContextMenu=function(e,t){var n=this,o=(0,i.default)(\"<div>\").appendTo(this._$wrapper);return this._createComponent(o,g.default,{commandManager:this._commandManager,items:this.option(\"contextMenu.items\"),onItemClick:function(e){return n._actions.onContextMenuItemClick(e)},onContextMenuShowing:function(e){return n._onContextMenuShowing(t,e)},isolateCreationItemCommands:e,viewArea:t})},d._initCommandManager=function(){var e=this,t=(0,o.extend)(this._editing.getCommandActions(),{refresh:function(){return e._refreshAndShowProgress()},thumbnails:function(){return e.option(\"itemView.mode\",\"thumbnails\")},details:function(){return e.option(\"itemView.mode\",\"details\")},clearSelection:function(){return e._clearSelection()},showNavPane:function(){return e._adaptivityControl.toggleDrawer()}});this._commandManager.registerActions(t)},d._onItemViewSelectionChanged=function(e){var t=e.selectedItemInfos,n=e.selectedItems,i=e.selectedItemKeys,o=e.currentSelectedItemKeys,a=e.currentDeselectedItemKeys;this._lockSelectionProcessing=!0,this.option(\"selectedItemKeys\",i),this._lockSelectionProcessing=!1,this._actions.onSelectionChanged({selectedItems:n,selectedItemKeys:i,currentSelectedItemKeys:o,currentDeselectedItemKeys:a}),this._updateToolbar(t)},d._onItemViewFocusedItemChanged=function(e){this._lockFocusedItemProcessing=!0,this.option(\"focusedItemKey\",e.itemKey),this._lockFocusedItemProcessing=!1,this._actions.onFocusedItemChanged({item:e.item,itemElement:e.itemElement})},d._onAdaptiveStateChanged=function(e){var t=e.enabled;this._commandManager.setCommandEnabled(\"showNavPane\",t),this._updateToolbar()},d._onActionProgress=function(e){var t=e.message,n=e.status;this._toolbar.updateRefreshItem(t,n),this._updateToolbar()},d._onEditingError=function(e){var t=(0,h.extendAttributes)({},e,[\"errorCode\",\"errorText\",\"fileSystemItem\"]);this._actions.onErrorOccurred(t),e.errorText=t.errorText},d._refreshAndShowProgress=function(){var e=this;return this._prepareToLoad(),(0,r.when)(this._notificationControl.tryShowProgressPanel(),this._controller.refresh()).then((function(){return e._filesTreeView.refresh()}))},d._isAllWidgetsLoaded=function(){return 2===this._loadedWidgets.length&&-1!==this._loadedWidgets.indexOf(O)&&-1!==this._loadedWidgets.indexOf(A)},d._tryEndLoading=function(e){this._loadedWidgets.push(e),this._isAllWidgetsLoaded()&&this._controller.endSingleLoad()},d._prepareToLoad=function(){this._loadedWidgets=[],this._controller.startSingleLoad()},d._updateToolbar=function(e){var t=e||this._getSelectedItemInfos();this._toolbar.option(\"contextItems\",(0,s.ensureDefined)(t,[]))},d._switchView=function(e){this._disposeWidget(this._itemView.option(\"contextMenu\")),this._disposeWidget(this._itemView),this._createItemView(this._$itemsPanel,e),this._toolbar.option({itemViewMode:e})},d._disposeWidget=function(e){e.dispose(),e.$element().remove()},d._clearSelection=function(){this._itemView.clearSelection()},d._showError=function(e){this._showNotification(e,!1)},d._showNotification=function(e,t){(0,c.default)({message:e,width:450},t?\"success\":\"error\",5e3)},d._redrawComponent=function(e){var t=this;this._itemView.refresh().then((function(){return!e&&t._filesTreeView.refresh()}))},d._getItemViewItems=function(){var e=this,t=this.option(\"itemView\").showFolders,n=this._controller.getCurrentItems(!t);return this._updateToolbarWithSelectionOnFirstLoad(n),this.option(\"itemView.showParentFolder\")&&(n=(0,r.when)(n).then((function(t){return e._getPreparedItemViewItems(t)}))),n},d._updateToolbarWithSelectionOnFirstLoad=function(e){var t=this;if(this._firstItemViewLoad){this._firstItemViewLoad=!1;var n=this.option(\"selectedItemKeys\");n.length>0&&(0,r.when)(e).done((function(e){var i=(0,h.findItemsByKeys)(e,n);i.length>0&&t._updateToolbar(i)}))}},d._getPreparedItemViewItems=function(e){var t=this._getCurrentDirectory();if(t.fileItem.isRoot())return e;var n=t.fileItem.createClone();n.isParentFolder=!0,n.name=\"..\",n.relativeName=\"..\",n.key=\"\".concat(\"[*DXPDK*]$40F96F03-FBD8-43DF-91BE-F55F4B8BA871$\").concat(t.fileItem.key);var i=I(e);return i.unshift({fileItem:n,icon:\"parentfolder\"}),i},d._onContextMenuShowing=function(e,t){var n,i=(0,h.extendAttributes)({},t,[\"targetElement\",\"cancel\",\"event\"]);i=(0,o.extend)(i,{viewArea:e,fileSystemItem:null===(n=t.itemData)||void 0===n?void 0:n.fileItem,_isActionButton:t.isActionButton}),this._actions.onContextMenuShowing(i),t.cancel=(0,s.ensureDefined)(i.cancel,!1)},d._getItemThumbnailInfo=function(e){var t=this.option(\"customizeThumbnail\"),n=(0,a.isFunction)(t)?t(e.fileItem):e.fileItem.thumbnail;return n?{thumbnail:n,cssClass:\"dx-filemanager-item-custom-thumbnail\"}:{thumbnail:e.icon}},d._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{fileSystemProvider:null,currentPath:\"\",currentPathKeys:[],rootFolderName:l.default.format(\"dxFileManager-rootDirectoryName\"),selectionMode:\"multiple\",selectedItemKeys:[],focusedItemKey:void 0,toolbar:{items:[\"showNavPane\",\"create\",\"upload\",\"switchView\",{name:\"separator\",location:\"after\"},\"refresh\"],fileSelectionItems:[\"download\",\"separator\",\"move\",\"copy\",\"rename\",\"separator\",\"delete\",\"clearSelection\",{name:\"separator\",location:\"after\"},\"refresh\"]},contextMenu:{items:[\"create\",\"upload\",\"rename\",\"move\",\"copy\",\"delete\",\"refresh\",\"download\"]},itemView:{details:{columns:[\"thumbnail\",\"name\",\"dateModified\",\"size\"]},mode:\"details\",showFolders:!0,showParentFolder:!0},customizeThumbnail:null,customizeDetailColumns:null,onContextMenuItemClick:null,onContextMenuShowing:null,onCurrentDirectoryChanged:null,onSelectedFileOpened:null,onSelectionChanged:null,onFocusedItemChanged:null,onToolbarItemClick:null,onErrorOccurred:null,onDirectoryCreating:null,onDirectoryCreated:null,onItemRenaming:null,onItemRenamed:null,onItemDeleting:null,onItemDeleted:null,onItemCopying:null,onItemCopied:null,onItemMoving:null,onItemMoved:null,onFileUploading:null,onFileUploaded:null,onItemDownloading:null,allowedFileExtensions:[],upload:{maxFileSize:0,chunkSize:2e5},permissions:(0,o.extend)({},p.defaultPermissions),notifications:{showPanel:!0,showPopup:!0}})},d.option=function(t,n){var i=this,o=(0,S.normalizeOptions)(t,n),s=arguments.length<2&&\"object\"!==(0,a.type)(t),l=function(e){return(0,a.isDefined)(o[e])},u=function(e){if(!l(e))return!1;var t=i.option(e),n=o[e];return!(0,k.equals)(t,n)};return!s&&l(\"fileSystemProvider\")&&(this._providerUpdateDeferred=new r.Deferred,(u(\"currentPath\")||u(\"currentPathKeys\"))&&(this._lockCurrentPathProcessing=!0)),e.prototype.option.apply(this,arguments)},d._optionChanged=function(t){var n=this,i=t.name;switch(i){case\"currentPath\":var o=function(){return n._lockCurrentPathProcessing=!1,n._controller.setCurrentPath(t.value)};this._lockCurrentPathProcessing=!0,this._providerUpdateDeferred?this._providerUpdateDeferred.then(o):o();break;case\"currentPathKeys\":var a=function(){return n._lockCurrentPathProcessing=!1,n._controller.setCurrentPathByKeys(t.value)};this._lockCurrentPathProcessing=!0,this._providerUpdateDeferred?this._providerUpdateDeferred.then(a):a();break;case\"selectedItemKeys\":!this._lockSelectionProcessing&&this._itemView&&this._itemView.option(\"selectedItemKeys\",t.value);break;case\"focusedItemKey\":!this._lockFocusedItemProcessing&&this._itemView&&this._itemView.option(\"focusedItemKey\",t.value);break;case\"rootFolderName\":this._controller.setRootText(t.value),this._invalidate();break;case\"fileSystemProvider\":this._lockCurrentPathProcessing||(this._providerUpdateDeferred=new r.Deferred);var s=this._lockCurrentPathProcessing?void 0:this.option(\"currentPathKeys\");this._controller.updateProvider(t.value,s).then((function(){return n._providerUpdateDeferred.resolve()})).always((function(){n._providerUpdateDeferred=null,n.repaint()}));break;case\"allowedFileExtensions\":this._controller.setAllowedFileExtensions(t.value),this._invalidate();break;case\"upload\":this._controller.setUploadOptions(this.option(\"upload\")),this._invalidate();break;case\"permissions\":this._commandManager.updatePermissions(this.option(\"permissions\")),this._filesTreeViewContextMenu.tryUpdateVisibleContextMenu(),this._itemViewContextMenu.tryUpdateVisibleContextMenu(),this._toolbar.updateItemPermissions(),this._updateUploadDropZone();break;case\"selectionMode\":case\"customizeThumbnail\":case\"customizeDetailColumns\":this._invalidate();break;case\"itemView\":\"itemView.mode\"===t.fullName?this._switchView(t.value):this._invalidate();break;case\"toolbar\":var l={};\"toolbar\"===t.fullName&&(t.value.items&&(l.generalItems=t.value.items),t.value.fileSelectionItems&&(l.fileItems=t.value.fileSelectionItems)),0===t.fullName.indexOf(\"toolbar.items\")&&(l.generalItems=this.option(\"toolbar.items\")),0===t.fullName.indexOf(\"toolbar.fileSelectionItems\")&&(l.fileItems=this.option(\"toolbar.fileSelectionItems\")),this._toolbar.option(l);break;case\"contextMenu\":if(\"contextMenu\"===t.fullName&&t.value.items||0===t.fullName.indexOf(\"contextMenu.items\")){var u=this.option(\"contextMenu.items\");this._filesTreeViewContextMenu.option(\"items\",u),this._itemViewContextMenu.option(\"items\",u)}break;case\"notifications\":this._notificationControl.option(\"showProgressPanel\",this.option(\"notifications.showPanel\")),this._notificationControl.option(\"showNotificationPopup\",this.option(\"notifications.showPopup\"));break;case\"onContextMenuItemClick\":case\"onContextMenuShowing\":case\"onCurrentDirectoryChanged\":case\"onSelectedFileOpened\":case\"onSelectionChanged\":case\"onFocusedItemChanged\":case\"onToolbarItemClick\":case\"onErrorOccurred\":this._actions[i]=this._createActionByOption(i);break;case\"onDirectoryCreating\":case\"onDirectoryCreated\":case\"onItemRenaming\":case\"onItemRenamed\":case\"onItemDeleting\":case\"onItemDeleted\":case\"onItemCopying\":case\"onItemCopied\":case\"onItemMoving\":case\"onItemMoved\":case\"onFileUploading\":case\"onFileUploaded\":case\"onItemDownloading\":this._actions.editing[i]=this._createActionByOption(i);break;case\"rtlEnabled\":this._editing.updateDialogRtl(t.value),e.prototype._optionChanged.call(this,t);break;default:e.prototype._optionChanged.call(this,t)}},d._initActions=function(){this._actions={onContextMenuItemClick:this._createActionByOption(\"onContextMenuItemClick\"),onContextMenuShowing:this._createActionByOption(\"onContextMenuShowing\"),onCurrentDirectoryChanged:this._createActionByOption(\"onCurrentDirectoryChanged\"),onSelectedFileOpened:this._createActionByOption(\"onSelectedFileOpened\"),onSelectionChanged:this._createActionByOption(\"onSelectionChanged\"),onFocusedItemChanged:this._createActionByOption(\"onFocusedItemChanged\"),onToolbarItemClick:this._createActionByOption(\"onToolbarItemClick\"),onErrorOccurred:this._createActionByOption(\"onErrorOccurred\"),editing:{onDirectoryCreating:this._createActionByOption(\"onDirectoryCreating\"),onDirectoryCreated:this._createActionByOption(\"onDirectoryCreated\"),onItemRenaming:this._createActionByOption(\"onItemRenaming\"),onItemRenamed:this._createActionByOption(\"onItemRenamed\"),onItemDeleting:this._createActionByOption(\"onItemDeleting\"),onItemDeleted:this._createActionByOption(\"onItemDeleted\"),onItemCopying:this._createActionByOption(\"onItemCopying\"),onItemCopied:this._createActionByOption(\"onItemCopied\"),onItemMoving:this._createActionByOption(\"onItemMoving\"),onItemMoved:this._createActionByOption(\"onItemMoved\"),onFileUploading:this._createActionByOption(\"onFileUploading\"),onFileUploaded:this._createActionByOption(\"onFileUploaded\"),onItemDownloading:this._createActionByOption(\"onItemDownloading\")}}},d.executeCommand=function(e){return this._commandManager.executeCommand(e)},d._setCurrentDirectory=function(e,t){this._controller.setCurrentDirectory(e,t)},d._getCurrentDirectory=function(){return this._controller.getCurrentDirectory()},d._onControllerInitialized=function(e){var t=e.controller;this._controller=this._controller||t,this._syncToCurrentDirectory()},d._onDataLoading=function(e){var t=e.operation,n=null;t===f.OPERATIONS.NAVIGATION&&(n={focusedItemKey:this._itemKeyToFocus,selectedItemKeys:this.option(\"selectedItemKeys\")},this._itemKeyToFocus=void 0),this._itemView.refresh(n,t)},d._onSelectedDirectoryChanged=function(){var e=this._getCurrentDirectory();this._syncToCurrentDirectory(),this._actions.onCurrentDirectoryChanged({directory:e.fileItem})},d._syncToCurrentDirectory=function(){var e=this._getCurrentDirectory();this._filesTreeView&&this._filesTreeView.updateCurrentDirectory(),this._breadcrumbs&&this._breadcrumbs.setCurrentDirectory(e),this._checkPathActuality()},d._checkPathActuality=function(){if(!this._lockCurrentPathProcessing){var e=this._controller.getCurrentPath(),t=this._controller.getCurrentPathKeys(),n={};this.option(\"currentPath\")!==e&&(n.currentPath=e),(0,s.equalByValue)(this.option(\"currentPathKeys\"),t)||(n.currentPathKeys=t),(0,a.isEmptyObject)(n)||this.option(n)}},d.getDirectories=function(e,t){return this._controller.getDirectories(e,t)},d._getSelectedItemInfos=function(){return this._itemView?this._itemView.getSelectedItems():[]},d.refresh=function(){return this.executeCommand(\"refresh\")},d.getCurrentDirectory=function(){var e=this._getCurrentDirectory();return e&&e.fileItem||null},d.getSelectedItems=function(){return this._getSelectedItemInfos().map((function(e){return e.fileItem}))},d._onSelectedItemOpened=function(e){var t=e.fileItemInfo,n=t.fileItem;if(n.isDirectory){n.isParentFolder&&(this._itemKeyToFocus=this._getCurrentDirectory().fileItem.key);var i=n.isParentFolder?this._getCurrentDirectory().parentDirectory:t;this._setCurrentDirectory(i),i&&this._filesTreeView.toggleDirectoryExpandedState(i.parentDirectory,!0)}else this._actions.onSelectedFileOpened({file:n})},u}(d.default);(0,u.default)(\"dxFileManager\",P);var M=P;t.default=M,e.exports=t.default,e.exports.default=t.default},17053:function(e,t,n){Object.defineProperty(t,\"ErrorCode\",{enumerable:!0,get:function(){return o.default}}),t.FileManagerMessages=void 0;var i=a(n(28109)),o=a(n(41011));function a(e){return e&&e.__esModule?e:{default:e}}var r={get:function(e,t){switch(e){case o.default.NoAccess:return i.default.format(\"dxFileManager-errorNoAccess\");case o.default.FileExists:return i.default.format(\"dxFileManager-errorFileExistsFormat\",t);case o.default.FileNotFound:return i.default.format(\"dxFileManager-errorFileNotFoundFormat\",t);case o.default.DirectoryExists:return i.default.format(\"dxFileManager-errorDirectoryExistsFormat\",t);case o.default.DirectoryNotFound:return i.default.format(\"dxFileManager-errorDirectoryNotFoundFormat\",t);case o.default.WrongFileExtension:return i.default.format(\"dxFileManager-errorWrongFileExtension\");case o.default.MaxFileSizeExceeded:return i.default.format(\"dxFileManager-errorMaxFileSizeExceeded\");case o.default.InvalidSymbols:return i.default.format(\"dxFileManager-errorInvalidSymbols\")}return i.default.format(\"dxFileManager-errorDefault\")}};t.FileManagerMessages=r},17723:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=p(n(68374)),r=n(13306),s=n(35922),l=n(62754),u=n(58201),d=p(n(14390)),c=p(n(51495)),h=p(n(32089)),f=n(35226);function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=(0,u.getWindow)(),v=\"\".concat(\"dx-filemanager-notification\",\"-drawer\"),y=\"\".concat(v,\"-panel\"),b=\"\".concat(\"dx-filemanager-notification\",\"-popup\"),x=\"\".concat(\"dx-filemanager-notification\",\"-popup-error\"),w=\"\".concat(\"dx-filemanager-notification\",\"-common\"),C=\"\".concat(\"dx-filemanager-notification\",\"-separator\"),S=\"\".concat(\"dx-filemanager-notification\",\"-details\"),k=\"\".concat(\"dx-filemanager-notification\",\"-common-no-item\"),D=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var d=i.prototype;return d._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this),this._initActions(),this._isInAdaptiveState=this._isSmallScreen(),this._managerMap={},this._notificationManagerStubId=null,this._setNotificationManager();var n=this.option(\"progressPanelContainer\"),i=(0,a.default)(\"<div>\").addClass(v).appendTo(n);(0,a.default)(\"<div>\").addClass(y).appendTo(i);var o=(0,r.extend)({opened:!1,position:\"right\",template:function(e){return t._ensureProgressPanelCreated(e)}},this._getProgressDrawerAdaptiveOptions());this._progressDrawer=this._createComponent(i,h.default,o);var l=i.find(\".\".concat(y)).first(),u=this.option(\"contentTemplate\");(0,s.isFunction)(u)&&u(l,this)},d._setNotificationManager=function(e){if(e=(0,r.extend)({onActionProgressStatusChanged:this._raiseActionProgress.bind(this)},e),!this._notificationManagerStubId){var t=new f.NotificationManagerStub(e);this._notificationManagerStubId=t.getId(),this._managerMap[this._notificationManagerStubId]=t}if(!this._isProgressDrawerDisabled()){var n=this._getProgressManagerComponent();e.isActual=!0;var i=new n(e);this._managerMap[i.getId()]=i}},d._getNotificationManager=function(e){var t=(null==e?void 0:e[f.MANAGER_ID_NAME])||this._getActualNotificationManagerId();return this._managerMap[t]||this._managerMap[this._notificationManagerStubId]},d._clearManagerMap=function(){var e=this._managerMap[this._notificationManagerStubId];delete this._managerMap,this._managerMap=g({},this._notificationManagerStubId,e)},d._getActualNotificationManagerId=function(){var e=this;return Object.keys(this._managerMap).filter((function(t){return e._managerMap[t].isActual()}))[0]},d.tryShowProgressPanel=function(){var e=this,t=new l.Deferred,n=this._getNotificationManager();return n.isActionProgressStatusDefault()||this._isProgressDrawerOpened()||this._isProgressDrawerDisabled()?t.resolve().promise():(setTimeout((function(){e._progressDrawer.show().done(t.resolve),e._hidePopup(),n.tryHideActionProgress()})),t.promise())},d.addOperation=function(e,t,n){return this._getNotificationManager().addOperation(e,t,n)},d.addOperationDetails=function(e,t,n){this._getNotificationManager(e).addOperationDetails(e,t,n)},d.updateOperationItemProgress=function(e,t,n,i){this._getNotificationManager(e).updateOperationItemProgress(e,t,n,i)},d.completeOperationItem=function(e,t,n){this._getNotificationManager(e).completeOperationItem(e,t,n)},d.finishOperation=function(e,t){this._getNotificationManager(e).finishOperation(e,t)},d.completeOperation=function(e,t,n,i){var o=this._getNotificationManager(e);n||this._showPopup(t),o.completeOperation(e,t,n,i),this._isProgressDrawerOpened()&&o.hasNoOperations()?o.tryHideActionProgress():o.updateActionProgressStatus(e)},d.completeSingleOperationWithError=function(e,t){this._getNotificationManager(e).completeSingleOperationWithError(e,t),this._showPopupError(t)},d.addOperationDetailsError=function(e,t){this._getNotificationManager(e).addOperationDetailsError(e,t),this._showPopupError(t)},d._hideProgressPanel=function(){var e=this;setTimeout((function(){return e._progressDrawer.hide()}))},d._isSmallScreen=function(){return!!(0,u.hasWindow)()&&(0,o.getWidth)(_)<=1e3},d._dimensionChanged=function(e){e&&\"height\"===e||this._checkAdaptiveState()},d._checkAdaptiveState=function(){var e=this._isInAdaptiveState;if((this._isInAdaptiveState=this._isSmallScreen(),e!==this._isInAdaptiveState&&this._progressDrawer)&&this._getNotificationManager().handleDimensionChanged()){var t=this._getProgressDrawerAdaptiveOptions();this._progressDrawer.option(t)}},d._getProgressDrawerAdaptiveOptions=function(){return this._isInAdaptiveState?{openedStateMode:\"overlap\",shading:!0,hideOnOutsideClick:!0}:{openedStateMode:\"shrink\",shading:!1,hideOnOutsideClick:!1}},d._ensureProgressPanelCreated=function(e){var t=this;this._getNotificationManager().ensureProgressPanelCreated(e,{onOperationCanceled:function(e){var n=e.info;return t._raiseOperationCanceled(n)},onOperationItemCanceled:function(e){var n=e.item,i=e.itemIndex;return t._raiseOperationItemCanceled(n,i)},onPanelClosed:function(){return t._hideProgressPanel()}})},d._getProgressManagerComponent=function(){return f.NotificationManager},d._isProgressDrawerDisabled=function(){return!this.option(\"showProgressPanel\")},d._isProgressDrawerOpened=function(){return this._progressDrawer.option(\"opened\")},d._hidePopup=function(e){(this.option(\"showNotificationPopup\")||e)&&this._getNotificationPopup().hide()},d._showPopup=function(e,t){!this._isProgressDrawerOpened()&&this.option(\"showNotificationPopup\")&&(this._getNotificationPopup().$wrapper().toggleClass(x,!!t),this._getNotificationPopup().option(\"contentTemplate\",e),this._getNotificationPopup().option(\"visible\")||this._getNotificationPopup().show())},d._showPopupError=function(e){if(this.option(\"showNotificationPopup\")){var t=this._getNotificationManager(),n=(0,a.default)(\"<div>\"),i=(0,a.default)(\"<div>\").addClass(w).text(e.commonErrorText),o=(0,a.default)(\"<div>\").addClass(C);(0,a.default)(\"<div>\").appendTo(o);var r=(0,a.default)(\"<div>\").addClass(S);e.item?t.createErrorDetailsProgressBox(r,e.item,e.detailErrorText):(i.addClass(k),t.renderError(r,e.detailErrorText)),n.append(i,o,r),this._showPopup(n,!0)}},d._getNotificationPopup=function(){if(!this._notificationPopup){var e=(0,a.default)(\"<div>\").appendTo(this.$element());this._notificationPopup=this._createComponent(e,c.default,{container:this.$element(),width:\"auto\",height:\"auto\",showTitle:!1,dragEnabled:!1,shading:!1,visible:!1,hideOnOutsideClick:!0,animation:{duration:0},position:{my:\"right top\",at:\"right top\",of:this.option(\"positionTarget\"),offset:\"-10 -5\"},_wrapperClassExternal:b})}return this._notificationPopup},d._raiseActionProgress=function(e,t){this._actions.onActionProgress({message:e,status:t})},d._raiseOperationCanceled=function(e){this._actions.onOperationCanceled({info:e})},d._raiseOperationItemCanceled=function(e,t){this._actions.onOperationItemCanceled({item:e,itemIndex:t})},d._initActions=function(){this._actions={onActionProgress:this._createActionByOption(\"onActionProgress\"),onOperationCanceled:this._createActionByOption(\"onOperationCanceled\"),onOperationItemCanceled:this._createActionByOption(\"onOperationItemCanceled\")}},d._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{progressPanelContainer:null,contentTemplate:null,onActionProgress:null,onOperationCanceled:null,onOperationItemCanceled:null,showProgressPanel:!0,showNotificationPopup:!0})},d._optionChanged=function(t){var n=t.name;switch(n){case\"progressPanelContainer\":case\"contentTemplate\":break;case\"showProgressPanel\":this._setNotificationManager(),this._getNotificationManager().updateActionProgressStatus(),t.value||(this._hideProgressPanel(),this._clearManagerMap()),this._progressDrawer.repaint();break;case\"showNotificationPopup\":t.value||this._hidePopup(!0);break;case\"onActionProgress\":case\"onOperationCanceled\":case\"onOperationItemCanceled\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},i}(d.default);t.default=D,e.exports=t.default,e.exports.default=t.default},55817:function(e,t,n){t.default=void 0;var i=h(n(68374)),o=n(13306),a=n(20576),r=n(44899),s=h(n(28109)),l=h(n(14390)),u=h(n(28080)),d=h(n(63008)),c=h(n(4741));function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=\"\".concat(\"dx-filemanager-progress-panel\",\"-container\"),g=\"\".concat(\"dx-filemanager-progress-panel\",\"-title\"),m=\"\".concat(\"dx-filemanager-progress-panel\",\"-title-text\"),_=\"\".concat(\"dx-filemanager-progress-panel\",\"-close-button\"),v=\"\".concat(\"dx-filemanager-progress-panel\",\"-infos-container\"),y=\"\".concat(\"dx-filemanager-progress-panel\",\"-separator\"),b=\"\".concat(\"dx-filemanager-progress-panel\",\"-info\"),x=\"\".concat(\"dx-filemanager-progress-panel\",\"-common\"),w=\"\".concat(\"dx-filemanager-progress-panel\",\"-info-with-details\"),C=\"\".concat(\"dx-filemanager-progress-panel\",\"-details\"),S=\"\".concat(\"dx-filemanager-progress-box\",\"-error\"),k=\"\".concat(\"dx-filemanager-progress-box\",\"-without-close-button\"),D=\"\".concat(\"dx-filemanager-progress-box\",\"-image\"),I=\"\".concat(\"dx-filemanager-progress-box\",\"-wrapper\"),T=\"\".concat(\"dx-filemanager-progress-box\",\"-common\"),E=\"\".concat(\"dx-filemanager-progress-box\",\"-progress-bar\"),O=\"\".concat(\"dx-filemanager-progress-box\",\"-close-button\"),A=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var h=l.prototype;return h._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this),this._initActions(),this._operationCount=0,this.$element().addClass(\"dx-filemanager-progress-panel\");var n=(0,i.default)(\"<div>\").appendTo(this.$element()),o=(0,i.default)(\"<div>\").addClass(p).appendTo(n);this._scrollView=this._createComponent(n,c.default,{scrollByContent:!0,scrollByThumb:!0,showScrollbar:\"onScroll\"});var a=(0,i.default)(\"<div>\").addClass(g).appendTo(o);(0,i.default)(\"<div>\").text(s.default.format(\"dxFileManager-notificationProgressPanelTitle\")).addClass(m).appendTo(a);var r=(0,i.default)(\"<div>\").addClass(_).appendTo(a);this._createComponent(r,d.default,{icon:\"close\",stylingMode:\"text\",onClick:function(){return t._raisePanelClosed()}}),this._$infosContainer=(0,i.default)(\"<div>\").addClass(v).appendTo(o),this._renderEmptyListText()},h._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{onOperationClosed:null,onOperationCanceled:null,onOperationItemCanceled:null,onPanelClosed:null})},h._initActions=function(){this._actions={onOperationClosed:this._createActionByOption(\"onOperationClosed\"),onOperationCanceled:this._createActionByOption(\"onOperationCanceled\"),onOperationItemCanceled:this._createActionByOption(\"onOperationItemCanceled\"),onPanelClosed:this._createActionByOption(\"onPanelClosed\")}},h._optionChanged=function(t){var n=t.name;switch(n){case\"test\":break;case\"onOperationClosed\":case\"onOperationCanceled\":case\"onOperationItemCanceled\":this._actions[n]=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},h.addOperation=function(e,t,n){var o=this;this._operationCount?(0,i.default)(\"<div>\").addClass(y).prependTo(this._$infosContainer):this._$infosContainer.empty(),this._operationCount++;var r={customCloseHandling:t,allowProgressAutoUpdate:(0,a.ensureDefined)(n,!0)},s=(0,i.default)(\"<div>\").addClass(b).prependTo(this._$infosContainer);r.$info=s;var l=(0,i.default)(\"<div>\").addClass(x).appendTo(s);return r.common=this._createProgressBox(l,{commonText:e,showCloseButton:!0,showCloseButtonAlways:t,onCloseButtonClick:function(){return o._closeOperation(r)}}),r},h.addOperationDetails=function(e,t,n){var o=this;e.$info.addClass(w);var a=(0,i.default)(\"<div>\").addClass(C).appendTo(e.$info);e.details=t.map((function(t,i){return t.info=e,o._createDetailsItem(a,t,i,!1,n)}))},h._createDetailsItem=function(e,t,n,o,a){var r=this,s=(0,i.default)(\"<div>\").appendTo(e);return-1!==n&&s.addClass(\"dx-card\"),this._createProgressBox(s,{commonText:t.commonText,imageUrl:t.imageUrl,skipProgressBox:o,showCloseButton:a,showCloseButtonAlways:a,onCloseButtonClick:function(){return r._cancelOperationItem(t,n)}})},h.completeOperationItem=function(e,t,n){e.allowProgressAutoUpdate&&this.updateOperationItemProgress(e,t,100,n),this._setCloseButtonVisible(e.details[t],!1)},h.updateOperationItemProgress=function(e,t,n,i){(this.updateOperationCommonProgress(e,i),e.details)&&e.details[t].progressBar.option(\"value\",n)},h.updateOperationCommonProgress=function(e,t){var n;null===(n=e.common.progressBar)||void 0===n||n.option(\"value\",t)},h.completeOperation=function(e,t,n,i){e.completed=!0,e.common.$commonText.text(t),n?this._removeProgressBar(e.common):e.allowProgressAutoUpdate&&this.updateOperationCommonProgress(e,100),i&&this._setProgressBarText(e.common,i),this._setCloseButtonVisible(e.common,!0)},h.completeSingleOperationWithError=function(e,t){var n,i=null===(n=e.details)||void 0===n?void 0:n[0];e.completed=!0,this._renderOperationError(i||e.common,t),this._setCloseButtonVisible(e.common,!0),i&&this._setCloseButtonVisible(i,!1)},h.addOperationDetailsError=function(e,t,n){var i=e.details[t];this._renderOperationError(i,n),this._setCloseButtonVisible(i,!1)},h._renderError=function(e,t,n){(0,i.default)(\"<div>\").text(n).addClass(S).appendTo(e)},h._renderEmptyListText=function(){this._$infosContainer.text(s.default.format(\"dxFileManager-notificationProgressPanelEmptyListText\"))},h._renderOperationError=function(e,t){this._removeProgressBar(e),this._renderError(e.$wrapper,e.$commonText,t)},h._removeProgressBar=function(e){e.progressBar&&(e.progressBar.dispose(),e.progressBar.$element().remove(),e.progressBar=null)},h._createProgressBox=function(e,t){var n=this;e.addClass(\"dx-filemanager-progress-box\"),t.showCloseButtonAlways||e.addClass(k),t.imageUrl&&(0,r.getImageContainer)(t.imageUrl).addClass(D).appendTo(e);var o=(0,i.default)(\"<div>\").addClass(I).appendTo(e),a=(0,i.default)(\"<div>\").addClass(T).text(t.commonText).appendTo(o),s=null;if(!t.skipProgressBox){var l=(0,i.default)(\"<div>\").addClass(E).appendTo(o);s=this._createComponent(l,u.default,{min:0,max:100,width:\"100%\",validationMessageMode:\"always\",statusFormat:function(e,t){return n._getStatusString(e,t)}})}var c=null;if(t.showCloseButton){var h=(0,i.default)(\"<div>\").addClass(O).appendTo(e);c=this._createComponent(h,d.default,{icon:\"dx-filemanager-i dx-filemanager-i-cancel\",stylingMode:\"text\",visible:t.showCloseButtonAlways,onClick:t.onCloseButtonClick})}return{$commonText:a,progressBar:s,$element:e,$wrapper:o,closeButton:c}},h._setCloseButtonVisible=function(e,t){e.closeButton&&(e.$element.toggleClass(k,!t),e.closeButton.option(\"visible\",t))},h._setProgressBarText=function(e,t){e.progressBar.option(\"statusFormat\",(function(){return t}))},h._closeOperation=function(e){var t=this;e.customCloseHandling&&!e.completed?(this._raiseOperationCanceled(e),this._setCloseButtonVisible(e.common,!1),e.details.forEach((function(e){return t._displayClosedOperationItem(e)}))):(this._raiseOperationClosed(e),e.$info.next(\".\".concat(y)).remove(),e.$info.remove(),this._operationCount--,this._operationCount||this._renderEmptyListText())},h._cancelOperationItem=function(e,t){this._raiseOperationItemCanceled(e,t);var n=e.info.details[t];this._displayClosedOperationItem(n)},h._displayClosedOperationItem=function(e){this._setProgressBarText(e,s.default.format(\"dxFileManager-notificationProgressPanelOperationCanceled\")),this._setCloseButtonVisible(e,!1)},h._getStatusString=function(e,t){return 1===e?s.default.format(\"Done\"):Math.round(100*e)+\"%\"},h._raiseOperationClosed=function(e){this._actions.onOperationClosed({info:e})},h._raiseOperationCanceled=function(e){this._actions.onOperationCanceled({info:e})},h._raiseOperationItemCanceled=function(e,t){this._actions.onOperationItemCanceled({item:e,itemIndex:t})},h._raisePanelClosed=function(){this._actions.onPanelClosed()},l}(l.default);t.default=A,e.exports=t.default,e.exports.default=t.default},35226:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.NotificationManagerStub=t.NotificationManager=t.MANAGER_ID_NAME=void 0;var o=u(n(73176)),a=u(n(68374)),r=n(13306),s=n(44899),l=u(n(55817));function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,h(i.key),i)}}function c(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function h(e){var t=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===i(t)?t:String(t)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,p(e,t)}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=\"\".concat(\"dx-filemanager-progress-box\",\"-error\"),m=\"\".concat(\"dx-filemanager-progress-box\",\"-image\"),_=\"\".concat(\"dx-filemanager-progress-box\",\"-wrapper\"),v=\"\".concat(\"dx-filemanager-progress-box\",\"-common\");t.MANAGER_ID_NAME=\"__operationInfoManager\";var y=\"default\",b=\"progress\",x=\"error\",w=\"success\",C=function(){function e(e){var t=e.onActionProgressStatusChanged,n=e.isActual;this._id=(new o.default).toString(),this._isActual=n||!1,this._actionProgressStatus=y,this._raiseActionProgress=t}var t=e.prototype;return t.getId=function(){return this._id},t.isActual=function(){return this._isActual},t.createErrorDetailsProgressBox=function(e,t,n){var i=this._createDetailsItem(e,t);this.renderError(i.$wrapper,n)},t.renderError=function(e,t){(0,a.default)(\"<div>\").text(t).addClass(g).appendTo(e)},t.isActionProgressStatusDefault=function(){return this._actionProgressStatus===y},t._createDetailsItem=function(e,t){var n=(0,a.default)(\"<div>\").appendTo(e);return this._createProgressBox(n,{commonText:t.commonText,imageUrl:t.imageUrl})},t._createProgressBox=function(e,t){e.addClass(\"dx-filemanager-progress-box\"),t.imageUrl&&(0,s.getImageContainer)(t.imageUrl).addClass(m).appendTo(e);var n=(0,a.default)(\"<div>\").addClass(_).appendTo(e);return{$commonText:(0,a.default)(\"<div>\").addClass(v).text(t.commonText).appendTo(n),$element:e,$wrapper:n}},e}(),S=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.addOperation=function(){return e={},t=\"__operationInfoManager\",n=this._id,(t=h(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;var e,t,n},n.addOperationDetails=function(){},n.updateOperationItemProgress=function(){},n.completeOperationItem=function(){},n.finishOperation=function(){},n.completeOperation=function(){},n.completeSingleOperationWithError=function(){},n.addOperationDetailsError=function(){},n.handleDimensionChanged=function(){return!1},n.ensureProgressPanelCreated=function(){},n.tryHideActionProgress=function(){this._updateActionProgress(\"\",y)},n.updateActionProgressStatus=function(){this._updateActionProgress(\"\",y)},n._updateActionProgress=function(e,t){t!==y&&t!==b||(this._actionProgressStatus=t,this._raiseActionProgress(e,t))},n.hasNoOperations=function(){return!0},c(t,[{key:\"_operationInProgressCount\",get:function(){return 0},set:function(e){}},{key:\"_failedOperationCount\",get:function(){return 0},set:function(e){}}]),t}(C);t.NotificationManagerStub=S;var k=function(e){function t(t){var n;return(n=e.call(this,t)||this)._failedOperationCount=0,n._operationInProgressCount=0,n}f(t,e);var n=t.prototype;return n.addOperation=function(e,t,n){this._operationInProgressCount++;var i=this._progressPanel.addOperation(e,t,n);return i.__operationInfoManager=this._id,this._updateActionProgress(e,b),i},n.addOperationDetails=function(e,t,n){this._progressPanel.addOperationDetails(e,t,n)},n.updateOperationItemProgress=function(e,t,n,i){this._progressPanel.updateOperationItemProgress(e,t,n,i)},n.completeOperationItem=function(e,t,n){this._progressPanel.completeOperationItem(e,t,n)},n.finishOperation=function(e,t){this._progressPanel.updateOperationCommonProgress(e,t)},n.completeOperation=function(e,t,n,i){this._operationInProgressCount--,n&&this._failedOperationCount++,this._progressPanel.completeOperation(e,t,n,i)},n.completeSingleOperationWithError=function(e,t){this._progressPanel.completeSingleOperationWithError(e,t.detailErrorText),this._notifyError(t)},n.addOperationDetailsError=function(e,t){this._progressPanel.addOperationDetailsError(e,t.itemIndex,t.detailErrorText),this._notifyError(t)},n.handleDimensionChanged=function(){return this._progressPanel&&this._progressPanel.$element().detach(),!0},n.ensureProgressPanelCreated=function(e,t){var n=this;if(this._progressPanel)this._progressPanel.$element().appendTo(e);else{var i=(0,a.default)(\"<div>\").appendTo(e),o=this._getProgressPanelComponent();this._progressPanel=new o(i,(0,r.extend)({},t,{onOperationClosed:function(e){var t=e.info;return n._onProgressPanelOperationClosed(t)}}))}},n._getProgressPanelComponent=function(){return l.default},n._onProgressPanelOperationClosed=function(e){e.hasError&&(this._failedOperationCount--,this.tryHideActionProgress())},n.tryHideActionProgress=function(){this.hasNoOperations()&&this._updateActionProgress(\"\",y)},n.updateActionProgressStatus=function(e){if(e){var t=0===this._failedOperationCount?w:x;this._updateActionProgress(\"\",t)}},n._notifyError=function(e){var t=this.hasNoOperations()?y:x;this._updateActionProgress(e.commonErrorText,t)},n._updateActionProgress=function(e,t){this._actionProgressStatus=t,this._raiseActionProgress(e,t)},n.hasNoOperations=function(){return 0===this._operationInProgressCount&&0===this._failedOperationCount},c(t,[{key:\"_operationInProgressCount\",get:function(){return this._operationInProgressCountInternal},set:function(e){this._operationInProgressCountInternal=e}},{key:\"_failedOperationCount\",get:function(){return this._failedOperationCountInternal},set:function(e){this._failedOperationCountInternal=e}}]),t}(C);t.NotificationManager=k},70166:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=f(n(68374)),r=n(13306),s=n(35922),l=n(20576),u=f(n(28109)),d=n(75084),c=f(n(14390)),h=f(n(71042));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n(45231);var m={showNavPane:{location:\"before\"},create:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},upload:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},refresh:{location:\"after\",showText:\"inMenu\",cssClass:\"dx-filemanager-toolbar-has-large-icon\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},switchView:{location:\"after\"},download:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},move:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},copy:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},rename:{location:\"before\",compactMode:{showText:\"inMenu\",locateInMenu:\"auto\"}},delete:{location:\"before\",compactMode:{showText:\"inMenu\"}},clearSelection:{location:\"after\",locateInMenu:\"never\",compactMode:{showText:\"inMenu\"}},separator:{location:\"before\"}},_=[\"visible\",\"location\",\"locateInMenu\",\"disabled\",\"showText\"],v=[\"accessKey\",\"elementAttr\",\"height\",\"hint\",\"icon\",\"stylingMode\",\"tabIndex\",\"text\",\"width\"],y=[\"separator\",\"switchView\"],b={default:\"dx-filemanager-i dx-filemanager-i-refresh\",progress:\"dx-filemanager-i dx-filemanager-i-progress\",success:\"dx-filemanager-i dx-filemanager-i-done\",error:\"dx-filemanager-i dx-filemanager-i-danger\"},x=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var c,f,x,w=i.prototype;return w._init=function(){e.prototype._init.call(this),this._generalToolbarVisible=!0,this._refreshItemState={message:\"\",status:\"default\"}},w._initMarkup=function(){this._createItemClickedAction(),this._$viewSwitcherPopup=(0,a.default)(\"<div>\").addClass(\"dx-filemanager-view-switcher-popup\"),this._generalToolbar=this._createToolbar(this.option(\"generalItems\"),!this._generalToolbarVisible),this._fileToolbar=this._createToolbar(this.option(\"fileItems\"),this._generalToolbarVisible),this._$viewSwitcherPopup.appendTo(this.$element()),this.$element().addClass(\"dx-filemanager-toolbar dx-filemanager-general-toolbar\")},w._render=function(){e.prototype._render.call(this);var t=this._getVisibleToolbar();this._checkCompactMode(t)},w._clean=function(){delete this._commandManager,delete this._itemClickedAction,delete this._$viewSwitcherPopup,delete this._generalToolbar,delete this._fileToolbar,e.prototype._clean.call(this)},w._dimensionChanged=function(e){if(!e||\"height\"!==e){var t=this._getVisibleToolbar();this._checkCompactMode(t)}},w._getVisibleToolbar=function(){return this._generalToolbarVisible?this._generalToolbar:this._fileToolbar},w._createToolbar=function(e,t){var n=this,i=this._getPreparedItems(e),o=(0,a.default)(\"<div>\").appendTo(this.$element()),r=this._createComponent(o,h.default,{items:i,visible:!t,onItemClick:function(e){return n._raiseItemClicked(e)}});return r.compactMode=!1,r},w._getPreparedItems=function(e){var t=this;return e=e.map((function(e){var n=e;(0,s.isString)(e)&&(n={name:e});var i=n.name,o=t._configureItemByCommandName(i,n);return o.originalItemData=e,\"separator\"!==i&&t._setItemVisibleAvailable(o),o})),this._updateSeparatorsVisibility(e),e},w._updateSeparatorsVisibility=function(e,t){var n=this,i=!1,o=this._getMenuItems(t),a={before:!1,center:!1,after:!1},r={before:this._getItemsInGroup(e,o,\"before\"),center:this._getItemsInGroup(e,o,\"center\"),after:this._getItemsInGroup(e,o,\"after\")};return e.forEach((function(e,t){var s=e.location;if(\"separator\"===e.name){var l=a[s]&&n._groupHasItemsAfter(r[s]);e.visible!==l&&(i=!0,e.visible=l),a[s]=!1}else n._isItemInMenu(o,e)||(a[s]=a[s]||e.visible),r[s].shift()})),t&&i&&t.repaint(),i},w._getMenuItems=function(e){return(e?e._getMenuItems():[]).map((function(e){return e.originalItemData}))},w._isItemInMenu=function(e,t){return!!e.length&&\"never\"!==(0,l.ensureDefined)(t.locateInMenu,\"never\")&&-1!==e.indexOf(t.originalItemData)},w._getItemsInGroup=function(e,t,n){var i=this;return e.filter((function(e){return e.location===n&&!i._isItemInMenu(t,e)}))},w._groupHasItemsAfter=function(e){for(var t=0;t<e.length;t++)if(\"separator\"!==e[t].name&&e[t].visible)return!0;return!1},w._configureItemByCommandName=function(e,t){var n,i={},o=this._commandManager.getCommandByName(e);switch(o&&(i=this._createCommandItem(o)),e){case\"separator\":i=this._createSeparatorItem();break;case\"switchView\":i=this._createViewModeItem()}if(this._isDefaultItem(e)){var a=m[e];(0,r.extend)(!0,i,a);var u=i.cssClass||\"\";(0,d.extendAttributes)(i,t,_),(0,s.isDefined)(t.options)&&(0,d.extendAttributes)(i.options,t.options,v),(0,d.extendAttributes)(i.options,t,[\"text\",\"icon\"]),t.cssClass&&(u=\"\".concat(u,\" \").concat(t.cssClass)),u&&(i.cssClass=u),(0,s.isDefined)(t.visible)||(i._autoHide=!0),\"dxButton\"===i.widget&&(\"inMenu\"!==i.showText||(0,s.isDefined)(i.options.hint)||(i.options.hint=i.options.text),i.compactMode&&!(0,s.isDefined)(i.options.hint)&&this._configureHintForCompactMode(i))}else(0,r.extend)(!0,i,t),i.widget||(i.widget=\"dxButton\"),\"dxButton\"===i.widget&&!i.compactMode&&!i.showText&&i.options&&i.options.icon&&i.options.text&&(i.compactMode={showText:\"inMenu\"});return e&&!i.name&&(0,r.extend)(i,{name:e}),i.location=(0,l.ensureDefined)(i.location,\"before\"),(0,s.isDefined)(null===(n=i.options)||void 0===n?void 0:n.stylingMode)||(\"dxButton\"===i.widget&&(0,r.extend)(!0,i,{options:{stylingMode:\"text\"}}),\"dxSelectBox\"===i.widget&&(0,r.extend)(!0,i,{options:{stylingMode:\"filled\"}})),i},w._isDefaultItem=function(e){return!!m[e]},w._createCommandItem=function(e){var t=this;return{widget:\"dxButton\",options:{text:e.text,hint:e.hint,commandText:e.text,icon:e.icon,stylingMode:\"text\",onClick:function(n){return t._executeCommand(e)}}}},w._createSeparatorItem=function(){return{template:function(e,t,n){(0,a.default)(n).addClass(\"dx-filemanager-toolbar-separator-item\")}}},w._createViewModeItem=function(){var e=this,t=[\"details\",\"thumbnails\"].map((function(t){var n=e._commandManager.getCommandByName(t);return{name:t,text:n.text,icon:n.icon}})),n=\"thumbnails\"===this.option(\"itemViewMode\")?1:0;return{cssClass:\"dx-filemanager-toolbar-viewmode-item\",widget:\"dxDropDownButton\",options:{items:t,keyExpr:\"name\",selectedItemKey:this.option(\"itemViewMode\"),displayExpr:\" \",hint:t[n].text,stylingMode:\"text\",showArrowIcon:!1,useSelectMode:!0,dropDownOptions:{container:this._$viewSwitcherPopup},onItemClick:function(t){return e._executeCommand(t.itemData.name)}}}},w._configureHintForCompactMode=function(e){e.options.hint=\"\",e.compactMode.options=e.compactMode.options||{},e.compactMode.options.hint=e.options.text},w._checkCompactMode=function(e){e.compactMode&&this._toggleCompactMode(e,!1);var t=this._toolbarHasItemsOverflow(e);e.compactMode!==t?(e.compactMode||this._toggleCompactMode(e,t),e.compactMode=t):e.compactMode&&this._toggleCompactMode(e,!0)},w._toolbarHasItemsOverflow=function(e){return(0,o.getWidth)(e.$element())<e._getItemsWidth()},w._toggleCompactMode=function(e,t){var n=this,i=!1,o=e.option(\"items\");o.forEach((function(e){if(e.compactMode){var o=null;t?(e.saved=n._getCompactModeOptions(e,e._available),o=e.compactMode):o=e.saved;var a=n._getCompactModeOptions(o,e._available);(0,r.extend)(!0,e,a),i=!0}})),(i=this._updateSeparatorsVisibility(o)||i)&&e.repaint(),this._updateSeparatorsVisibility(o,e)},w._getCompactModeOptions=function(e,t){var n=e.showText,i=e.locateInMenu,o=e.options;return{visible:t,showText:(0,l.ensureDefined)(n,\"always\"),locateInMenu:(0,l.ensureDefined)(i,\"never\"),options:{hint:null==o?void 0:o.hint}}},w._ensureAvailableCommandsVisible=function(e){var t=this,n=!1,i=e.option(\"items\");i.forEach((function(e){if(\"separator\"!==e.name){var i=e._available;t._setItemVisibleAvailable(e),e._available!==i&&(n=!0)}})),(n=this._updateSeparatorsVisibility(i)||n)&&e.repaint(),this._updateSeparatorsVisibility(i,e)},w._setItemVisibleAvailable=function(e){var t,n=null===(t=e.originalItemData)||void 0===t?void 0:t.visible;e._available=this._isToolbarItemAvailable(e),e.visible=(0,s.isDefined)(n)?n:e._available},w._fileToolbarHasEffectiveItems=function(){var e=this;return this._fileToolbar.option(\"items\").some((function(t){return e._isFileToolbarItemAvailable(t)}))},w._executeCommand=function(e){this._commandManager.executeCommand(e)},w._isToolbarItemAvailable=function(e){return this._isDefaultItem(e.name)&&e._autoHide?\"refresh\"===e.name?this._generalToolbarVisible||!!this._isRefreshVisibleInFileToolbar:y.indexOf(e.name)>-1||this._isCommandAvailable(e.name):(0,l.ensureDefined)(e.visible,!0)},w._isFileToolbarItemAvailable=function(e){var t=e.name,n=e.visible;return!this._isDefaultItem(t)&&(0,l.ensureDefined)(n,!0)||\"clearSelection\"!==t&&\"refresh\"!==t&&this._isCommandAvailable(t)},w._isCommandAvailable=function(e){return this._commandManager.isCommandAvailable(e,this.option(\"contextItems\"))},w._updateItemInToolbar=function(e,t,n){e.beginUpdate();for(var i=e.option(\"items\"),o=0;o<i.length;o++){if(i[o].name===t){e.option(\"items[\".concat(o,\"]\"),n);break}}e.endUpdate()},w._raiseItemClicked=function(e){var t=(0,r.extend)(!0,{},e);t.itemData=e.itemData.originalItemData,this._itemClickedAction(t)},w._createItemClickedAction=function(){this._itemClickedAction=this._createActionByOption(\"onItemClick\")},w._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{commandManager:null,generalItems:[],fileItems:[],contextItems:[],itemViewMode:\"details\",onItemClick:null})},w._optionChanged=function(t){var n=t.name;switch(n){case\"commandManager\":case\"itemViewMode\":case\"generalItems\":case\"fileItems\":this.repaint();break;case\"contextItems\":this._update();break;case\"onItemClick\":this._itemClickedAction=this._createActionByOption(n);break;default:e.prototype._optionChanged.call(this,t)}},w.updateItemPermissions=function(){this.repaint(),this._restoreRefreshItemState()},w._restoreRefreshItemState=function(){this.updateRefreshItem(this._refreshItemState.message,this._refreshItemState.status)},w.updateRefreshItem=function(e,t){var n=null,i=u.default.format(\"dxFileManager-commandRefresh\"),o=\"inMenu\";this._isRefreshVisibleInFileToolbar=!1,this._refreshItemState={message:e,status:t},\"default\"===t?n={options:{icon:b.default}}:(n={options:{icon:b[t]}},this._isRefreshVisibleInFileToolbar=!0,i=e,o=\"always\");var a=(0,r.extend)({},n,{visible:this._isRefreshVisibleInFileToolbar});this._applyRefreshItemOptions(n,a),this._refreshItemTextTimeout=this._updateRefreshItemText(\"progress\"===t,i,o)},w._updateRefreshItemText=function(e,t,n){var i=this,o={showText:n,options:{text:t}};return e?setTimeout((function(){i._applyRefreshItemOptions(o),i._refreshItemTextTimeout=void 0}),500):(this._refreshItemTextTimeout&&clearTimeout(this._refreshItemTextTimeout),void this._applyRefreshItemOptions(o))},w._applyRefreshItemOptions=function(e,t){t||(t=(0,r.extend)({},e)),this._updateItemInToolbar(this._generalToolbar,\"refresh\",e),this._updateItemInToolbar(this._fileToolbar,\"refresh\",t)},w._update=function(){var e=0===this.option(\"contextItems\").length||!this._fileToolbarHasEffectiveItems();this._generalToolbarVisible!==e&&(this._generalToolbar.option(\"visible\",e),this._fileToolbar.option(\"visible\",!e),this._generalToolbarVisible=e,this.$element().toggleClass(\"dx-filemanager-general-toolbar\",e),this.$element().toggleClass(\"dx-filemanager-file-toolbar\",!e));var t=this._getVisibleToolbar();this._ensureAvailableCommandsVisible(t),this._checkCompactMode(t)},c=i,(f=[{key:\"_commandManager\",get:function(){return this.option(\"commandManager\")}}])&&p(c.prototype,f),x&&p(c,x),Object.defineProperty(c,\"prototype\",{writable:!1}),i}(c.default);t.default=x,e.exports=t.default,e.exports.default=t.default},53749:function(e,t,n){t.default=void 0;var i=n(58664),o=S(n(68374)),a=S(n(73176)),r=n(58201),s=S(n(55994)),l=S(n(99393)),u=S(n(44504)),d=n(35922),c=n(95479),h=n(13306),f=n(62754),p=S(n(37208)),g=S(n(96452)),m=S(n(63008)),_=S(n(28080)),v=S(n(20530)),y=n(39611),b=n(95429),x=S(n(28109)),w=n(75811),C=S(n(73349));function S(e){return e&&e.__esModule?e:{default:e}}function k(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,D(e,t)}function D(e,t){return(D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var I=(0,r.getWindow)(),T=function(){return!!I.FormData},E=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._supportedKeys=function(){var t=this,n=function(e){e.preventDefault();var n=t._selectButton.$element();s.default.trigger(n,b.name)};return(0,h.extend)(e.prototype._supportedKeys.call(this),{space:n,enter:n})},n._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),(0,h.extend)(this._optionsByReference,{value:!0})},n._getDefaultOptions=function(){return(0,h.extend)(e.prototype._getDefaultOptions.call(this),{chunkSize:0,value:[],selectButtonText:x.default.format(\"dxFileUploader-selectFile\"),uploadButtonText:x.default.format(\"dxFileUploader-upload\"),labelText:x.default.format(\"dxFileUploader-dropFile\"),name:\"files[]\",multiple:!1,accept:\"\",uploadUrl:\"/\",allowCanceling:!0,showFileList:!0,progress:0,dialogTrigger:void 0,dropZone:void 0,readyToUploadMessage:x.default.format(\"dxFileUploader-readyToUpload\"),uploadedMessage:x.default.format(\"dxFileUploader-uploaded\"),uploadFailedMessage:x.default.format(\"dxFileUploader-uploadFailedMessage\"),uploadAbortedMessage:x.default.format(\"dxFileUploader-uploadAbortedMessage\"),uploadMode:\"instantly\",uploadMethod:\"POST\",uploadHeaders:{},uploadCustomData:{},onBeforeSend:null,onUploadStarted:null,onUploaded:null,onFilesUploaded:null,onProgress:null,onUploadError:null,onUploadAborted:null,onDropZoneEnter:null,onDropZoneLeave:null,allowedFileExtensions:[],maxFileSize:0,minFileSize:0,inputAttr:{},invalidFileExtensionMessage:x.default.format(\"dxFileUploader-invalidFileExtension\"),invalidMaxFileSizeMessage:x.default.format(\"dxFileUploader-invalidMaxFileSize\"),invalidMinFileSizeMessage:x.default.format(\"dxFileUploader-invalidMinFileSize\"),extendSelection:!0,validationMessageMode:\"always\",uploadFile:null,uploadChunk:null,abortUpload:null,validationMessageOffset:{h:0,v:0},hoverStateEnabled:!0,useNativeInputClick:!1,useDragOver:!0,nativeDropSupported:!0,_uploadButtonType:\"normal\"})},n._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return\"desktop\"===v.default.real().deviceType&&!v.default.isSimulator()},options:{focusStateEnabled:!0}},{device:[{platform:\"android\"}],options:{validationMessageOffset:{v:0}}},{device:function(){return\"desktop\"!==v.default.real().deviceType},options:{useDragOver:!1}},{device:function(){return!T()},options:{uploadMode:\"useForm\"}},{device:function(){return\"desktop\"!==v.default.real().deviceType},options:{nativeDropSupported:!1}},{device:function(){return(0,w.isMaterial)()},options:{_uploadButtonType:\"default\"}}])},n._initOptions=function(t){var n=\"labelText\"in t;e.prototype._initOptions.call(this,t),n||this._shouldDragOverBeRendered()||this.option(\"labelText\",\"\")},n._init=function(){e.prototype._init.call(this),this._initFileInput(),this._initLabel(),this._setUploadStrategy(),this._createFiles(),this._createBeforeSendAction(),this._createUploadStartedAction(),this._createUploadedAction(),this._createFilesUploadedAction(),this._createProgressAction(),this._createUploadErrorAction(),this._createUploadAbortedAction(),this._createDropZoneEnterAction(),this._createDropZoneLeaveAction()},n._setUploadStrategy=function(){var e=null;if(this.option(\"chunkSize\")>0){var t=this.option(\"uploadChunk\");e=t&&(0,d.isFunction)(t)?new R(this):new M(this)}else{var n=this.option(\"uploadFile\");e=n&&(0,d.isFunction)(n)?new V(this):new L(this)}this._uploadStrategy=e},n._initFileInput=function(){var e=this;this._isCustomClickEvent=!1,this._$fileInput||(this._$fileInput=(0,o.default)(\"<input>\").attr(\"type\",\"file\"),s.default.on(this._$fileInput,\"change\",this._inputChangeHandler.bind(this)),s.default.on(this._$fileInput,\"click\",(function(t){return t.stopPropagation(),e._resetInputValue(),e.option(\"useNativeInputClick\")||e._isCustomClickEvent}))),this._$fileInput.prop({multiple:this.option(\"multiple\"),accept:this.option(\"accept\"),title:this.option(\"hint\")||null,tabIndex:-1})},n._inputChangeHandler=function(){if(!this._doPreventInputChange){var e=this._$fileInput.val().replace(/^.*\\\\/,\"\"),t=this._$fileInput.prop(\"files\");if(!t||t.length||\"useForm\"===this.option(\"uploadMode\")){var n=t?this._getFiles(t):[{name:e}];this._changeValue(n),\"instantly\"===this.option(\"uploadMode\")&&this._uploadFiles()}}},n._shouldFileListBeExtended=function(){return\"useForm\"!==this.option(\"uploadMode\")&&this.option(\"extendSelection\")&&this.option(\"multiple\")},n._changeValue=function(e){var t=this._shouldFileListBeExtended()?this.option(\"value\").slice():[];this.option(\"value\",t.concat(e))},n._getFiles=function(e){var t=[];return(0,c.each)(e,(function(e,n){return t.push(n)})),t},n._getFile=function(e){var t=(0,d.isNumeric)(e)?this.option(\"value\")[e]:e;return this._files.filter((function(e){return e.value===t}))[0]},n._initLabel=function(){this._$inputLabel||(this._$inputLabel=(0,o.default)(\"<div>\")),this._updateInputLabelText()},n._updateInputLabelText=function(){var e=this._isInteractionDisabled()?\"\":this.option(\"labelText\");this._$inputLabel.text(e)},n._focusTarget=function(){return this.$element().find(\".dx-fileuploader-button\")},n._getSubmitElement=function(){return this._$fileInput},n._initMarkup=function(){e.prototype._initMarkup.call(this),this.$element().addClass(\"dx-fileuploader\"),this._renderWrapper(),this._renderInputWrapper(),this._renderSelectButton(),this._renderInputContainer(),this._renderUploadButton(),this._preventRecreatingFiles=!0,this._activeDropZone=null},n._render=function(){this._preventRecreatingFiles=!1,this._attachDragEventHandlers(this._$inputWrapper),this._attachDragEventHandlers(this.option(\"dropZone\")),this._renderFiles(),e.prototype._render.call(this)},n._createFileProgressBar=function(e){e.progressBar=this._createProgressBar(e.value.size),e.progressBar.$element().appendTo(e.$file),this._initStatusMessage(e),this._ensureCancelButtonInitialized(e)},n._setStatusMessage=function(e,t){var n=this;setTimeout((function(){n.option(\"showFileList\")&&e.$statusMessage&&(e.$statusMessage.text(t),e.$statusMessage.css(\"display\",\"\"),e.progressBar.$element().remove())}),400)},n._getUploadAbortedStatusMessage=function(){return\"instantly\"===this.option(\"uploadMode\")?this.option(\"uploadAbortedMessage\"):this.option(\"readyToUploadMessage\")},n._createFiles=function(){var e=this,t=this.option(\"value\");!this._files||0!==t.length&&this._shouldFileListBeExtended()||(this._preventFilesUploading(this._files),this._files=null),this._files||(this._files=[]),(0,c.each)(t.slice(this._files.length),(function(t,n){var i=e._createFile(n);e._validateFile(i),e._files.push(i)}))},n._preventFilesUploading=function(e){var t=this;e.forEach((function(e){return t._uploadStrategy.abortUpload(e)}))},n._validateFile=function(e){e.isValidFileExtension=this._validateFileExtension(e),e.isValidMinSize=this._validateMinFileSize(e),e.isValidMaxSize=this._validateMaxFileSize(e)},n._validateFileExtension=function(e){var t=this.option(\"allowedFileExtensions\"),n=this.option(\"accept\"),i=this._getAllowedFileTypes(n),o=e.value.name.substring(e.value.name.lastIndexOf(\".\")).toLowerCase();if(0!==n.length&&!this._isFileTypeAllowed(e.value,i))return!1;if(0===t.length)return!0;for(var a=0;a<t.length;a++)if(o===t[a].toLowerCase())return!0;return!1},n._validateMaxFileSize=function(e){var t=e.value.size,n=this.option(\"maxFileSize\");return!(n>0)||t<=n},n._validateMinFileSize=function(e){var t=e.value.size,n=this.option(\"minFileSize\");return!(n>0)||t>=n},n._createBeforeSendAction=function(){this._beforeSendAction=this._createActionByOption(\"onBeforeSend\",{excludeValidators:[\"readOnly\"]})},n._createUploadStartedAction=function(){this._uploadStartedAction=this._createActionByOption(\"onUploadStarted\",{excludeValidators:[\"readOnly\"]})},n._createUploadedAction=function(){this._uploadedAction=this._createActionByOption(\"onUploaded\",{excludeValidators:[\"readOnly\"]})},n._createFilesUploadedAction=function(){this._filesUploadedAction=this._createActionByOption(\"onFilesUploaded\",{excludeValidators:[\"readOnly\"]})},n._createProgressAction=function(){this._progressAction=this._createActionByOption(\"onProgress\",{excludeValidators:[\"readOnly\"]})},n._createUploadAbortedAction=function(){this._uploadAbortedAction=this._createActionByOption(\"onUploadAborted\",{excludeValidators:[\"readOnly\"]})},n._createUploadErrorAction=function(){this._uploadErrorAction=this._createActionByOption(\"onUploadError\",{excludeValidators:[\"readOnly\"]})},n._createDropZoneEnterAction=function(){this._dropZoneEnterAction=this._createActionByOption(\"onDropZoneEnter\")},n._createDropZoneLeaveAction=function(){this._dropZoneLeaveAction=this._createActionByOption(\"onDropZoneLeave\")},n._createFile=function(e){return{value:e,loadedSize:0,onProgress:(0,u.default)(),onAbort:(0,u.default)(),onLoad:(0,u.default)(),onError:(0,u.default)(),onLoadStart:(0,u.default)(),isValidFileExtension:!0,isValidMaxSize:!0,isValidMinSize:!0,isValid:function(){return this.isValidFileExtension&&this.isValidMaxSize&&this.isValidMinSize},isInitialized:!1}},n._resetFileState=function(e){e.isAborted=!1,e.uploadStarted=!1,e.isStartLoad=!1,e.loadedSize=0,e.chunksData=void 0,e.request=void 0},n._renderFiles=function(){var e,t=this,n=this.option(\"value\");this._$filesContainer?this._shouldFileListBeExtended()&&0!==n.length||this._$filesContainer.empty():this._$filesContainer=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-files-container\").appendTo(this._$content);var i=this.option(\"showFileList\");i&&(0,c.each)(this._files,(function(e,n){n.$file||t._renderFile(n)})),this.$element().toggleClass(\"dx-fileuploader-show-file-list\",i),this._toggleFileUploaderEmptyClassName(),this._updateFileNameMaxWidth(),null===(e=this._validationMessage)||void 0===e||e.repaint()},n._renderFile=function(e){var t=e.value,n=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file-container\").appendTo(this._$filesContainer);this._renderFileButtons(e,n),e.$file=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file\").appendTo(n);var i=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file-info\").appendTo(e.$file);e.$statusMessage=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file-status-message\").appendTo(e.$file),(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file-name\").text(t.name).appendTo(i),(0,d.isDefined)(t.size)&&(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-file-size\").text(this._getFileSize(t.size)).appendTo(i),e.isValid()?e.$statusMessage.text(this.option(\"readyToUploadMessage\")):(e.isValidFileExtension||e.$statusMessage.append(this._createValidationElement(\"invalidFileExtensionMessage\")),e.isValidMaxSize||e.$statusMessage.append(this._createValidationElement(\"invalidMaxFileSizeMessage\")),e.isValidMinSize||e.$statusMessage.append(this._createValidationElement(\"invalidMinFileSizeMessage\")),n.addClass(\"dx-fileuploader-invalid\"))},n._createValidationElement=function(e){return(0,o.default)(\"<span>\").text(this.option(e))},n._updateFileNameMaxWidth=function(){var e=this.option(\"allowCanceling\")&&\"useForm\"!==this.option(\"uploadMode\")?1:0,t=\"useButtons\"===this.option(\"uploadMode\")?1:0,n=(0,i.getWidth)(this._$filesContainer.find(\".dx-fileuploader-file-container\").first())||(0,i.getWidth)(this._$filesContainer),o=this._$filesContainer.find(\".dx-fileuploader-button-container\").eq(0),a=(0,i.getWidth)(o)*(e+t),r=this._$filesContainer.find(\".dx-fileuploader-file-size\").eq(0),s=r.text();r.text(\"1000 Mb\");var l=(0,i.getWidth)(r);r.text(s),this._$filesContainer.find(\".dx-fileuploader-file-name\").css(\"maxWidth\",n-a-l)},n._renderFileButtons=function(e,t){var n=this._getCancelButton(e);n&&t.append(n);var i=this._getUploadButton(e);i&&t.append(i)},n._getCancelButton=function(e){var t=this;return\"useForm\"===this.option(\"uploadMode\")?null:(e.cancelButton=this._createComponent((0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button dx-fileuploader-cancel-button\"),m.default,{onClick:function(){return t._removeFile(e)},icon:\"close\",visible:this.option(\"allowCanceling\"),disabled:this.option(\"readOnly\"),integrationOptions:{},hoverStateEnabled:this.option(\"hoverStateEnabled\")}),(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button-container\").append(e.cancelButton.$element()))},n._getUploadButton=function(e){var t=this;return e.isValid()&&\"useButtons\"===this.option(\"uploadMode\")?(e.uploadButton=this._createComponent((0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button dx-fileuploader-upload-button\"),m.default,{onClick:function(){return t._uploadFile(e)},icon:\"upload\",hoverStateEnabled:this.option(\"hoverStateEnabled\")}),e.onLoadStart.add((function(){return e.uploadButton.option({visible:!1,disabled:!0})})),e.onAbort.add((function(){return e.uploadButton.option({visible:!0,disabled:!1})})),(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button-container\").append(e.uploadButton.$element())):null},n._removeFile=function(e){var t;null===(t=e.$file)||void 0===t||t.parent().remove(),this._files.splice(this._files.indexOf(e),1);var n=this.option(\"value\").slice();n.splice(n.indexOf(e.value),1),this._preventRecreatingFiles=!0,this.option(\"value\",n),this._preventRecreatingFiles=!1,this._toggleFileUploaderEmptyClassName(),this._resetInputValue(!0)},n.removeFile=function(e){if(\"useForm\"!==this.option(\"uploadMode\")&&(0,d.isDefined)(e)){var t=this._getFile(e);t&&(t.uploadStarted&&this._preventFilesUploading([t]),this._removeFile(t))}},n._toggleFileUploaderEmptyClassName=function(){this.$element().toggleClass(\"dx-fileuploader-empty\",!this._files.length||this._hasInvalidFile(this._files))},n._hasInvalidFile=function(e){for(var t=0;t<e.length;t++)if(!e[t].isValid())return!0;return!1},n._getFileSize=function(e){for(var t=0,n=[x.default.format(\"dxFileUploader-bytes\"),x.default.format(\"dxFileUploader-kb\"),x.default.format(\"dxFileUploader-Mb\"),x.default.format(\"dxFileUploader-Gb\")],i=n.length-1;t<i&&e>=1024;)e/=1024,t++;return Math.round(e)+\" \"+n[t]},n._renderSelectButton=function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button\").appendTo(this._$inputWrapper);this._selectButton=this._createComponent(e,m.default,{text:this.option(\"selectButtonText\"),focusStateEnabled:!1,integrationOptions:{},disabled:this.option(\"readOnly\"),hoverStateEnabled:this.option(\"hoverStateEnabled\")}),this._selectFileDialogHandler=this._selectButtonClickHandler.bind(this),\"desktop\"===v.default.real().deviceType?this._selectButton.option(\"onClick\",this._selectFileDialogHandler):this._attachSelectFileDialogHandler(this._selectButton.$element()),this._attachSelectFileDialogHandler(this.option(\"dialogTrigger\"))},n._selectButtonClickHandler=function(){if(!this.option(\"useNativeInputClick\")){if(this._isInteractionDisabled())return!1;this._isCustomClickEvent=!0,s.default.trigger(this._$fileInput,\"click\"),this._isCustomClickEvent=!1}},n._attachSelectFileDialogHandler=function(e){(0,d.isDefined)(e)&&(this._detachSelectFileDialogHandler(e),s.default.on((0,o.default)(e),\"click\",this._selectFileDialogHandler))},n._detachSelectFileDialogHandler=function(e){(0,d.isDefined)(e)&&s.default.off((0,o.default)(e),\"click\",this._selectFileDialogHandler)},n._renderUploadButton=function(){if(\"useButtons\"===this.option(\"uploadMode\")){var e=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-button\").addClass(\"dx-fileuploader-upload-button\").appendTo(this._$content);this._uploadButton=this._createComponent(e,m.default,{text:this.option(\"uploadButtonText\"),onClick:this._uploadButtonClickHandler.bind(this),type:this.option(\"_uploadButtonType\"),integrationOptions:{},hoverStateEnabled:this.option(\"hoverStateEnabled\")})}},n._uploadButtonClickHandler=function(){this._uploadFiles()},n._shouldDragOverBeRendered=function(){return!this.option(\"readOnly\")&&(\"useForm\"!==this.option(\"uploadMode\")||this.option(\"nativeDropSupported\"))},n._isInteractionDisabled=function(){return this.option(\"readOnly\")||this.option(\"disabled\")},n._renderInputContainer=function(){this._$inputContainer=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-input-container\").appendTo(this._$inputWrapper),this._$fileInput.addClass(\"dx-fileuploader-input\"),this._renderInput();var e=\"dx-fileuploader-input-label-\".concat(new a.default);this._$inputLabel.attr(\"id\",e).addClass(\"dx-fileuploader-input-label\").appendTo(this._$inputContainer),this.setAria(\"labelledby\",e,this._$fileInput)},n._renderInput=function(){this.option(\"useNativeInputClick\")?this._selectButton.option(\"template\",this._selectButtonInputTemplate.bind(this)):(this._$fileInput.appendTo(this._$inputContainer),this._selectButton.option(\"template\",\"content\")),this._applyInputAttributes(this.option(\"inputAttr\"))},n._selectButtonInputTemplate=function(e,t){var n=(0,o.default)(t),i=(0,o.default)(\"<span>\").addClass(\"dx-button-text\").text(e.text);return n.append(i).append(this._$fileInput),n},n._renderInputWrapper=function(){this._$inputWrapper=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-input-wrapper\").appendTo(this._$content)},n._detachDragEventHandlers=function(e){(0,d.isDefined)(e)&&s.default.off((0,o.default)(e),(0,y.addNamespace)(\"\",this.NAME))},n._attachDragEventHandlers=function(e){var t=e!==this._$inputWrapper;(0,d.isDefined)(e)&&this._shouldDragOverBeRendered()&&(this._detachDragEventHandlers(e),e=(0,o.default)(e),s.default.on(e,(0,y.addNamespace)(\"dragenter\",this.NAME),this._dragEnterHandler.bind(this,t)),s.default.on(e,(0,y.addNamespace)(\"dragover\",this.NAME),this._dragOverHandler.bind(this,t)),s.default.on(e,(0,y.addNamespace)(\"dragleave\",this.NAME),this._dragLeaveHandler.bind(this,t)),s.default.on(e,(0,y.addNamespace)(\"drop\",this.NAME),this._dropHandler.bind(this,t)))},n._applyInputAttributes=function(e){this._$fileInput.attr(e)},n._useInputForDrop=function(){return this.option(\"nativeDropSupported\")&&\"useForm\"===this.option(\"uploadMode\")},n._getDropZoneElement=function(e,t){var n=e?Array.from((0,o.default)(this.option(\"dropZone\"))):[this._$inputWrapper];return(n=n.map((function(e){return(0,o.default)(e).get(0)})))[n.indexOf(t.currentTarget)]},n._dragEnterHandler=function(e,t){if(this.option(\"disabled\"))return!1;this._useInputForDrop()||t.preventDefault();var n=this._getDropZoneElement(e,t);(0,d.isDefined)(n)&&this._shouldRaiseDragOver(t,n)&&(this._activeDropZone=n,this._tryToggleDropZoneActive(!0,e,t))},n._shouldRaiseDragOver=function(e,t){return null===this._activeDropZone&&this.isMouseOverElement(e,t,!1)&&e.originalEvent.dataTransfer.types.find((function(e){return\"Files\"===e}))},n._dragOverHandler=function(e,t){if(this._useInputForDrop()||t.preventDefault(),t.originalEvent.dataTransfer.dropEffect=\"copy\",!e){var n=this._getDropZoneElement(!1,t);this._shouldRaiseDragOver(t,n)&&this._dragEnterHandler(!1,t),this._shouldRaiseDragLeave(t,!1)&&this._dragLeaveHandler(!1,t)}},n._dragLeaveHandler=function(e,t){this._useInputForDrop()||t.preventDefault(),this._shouldRaiseDragLeave(t,e)&&(this._tryToggleDropZoneActive(!1,e,t),this._activeDropZone=null)},n._shouldRaiseDragLeave=function(e,t){return null!==this._activeDropZone&&!this.isMouseOverElement(e,this._activeDropZone,!t,-1)},n._tryToggleDropZoneActive=function(e,t,n){var i=e?\"addClass\":\"removeClass\";this[e?\"_dropZoneEnterAction\":\"_dropZoneLeaveAction\"]({event:n,dropZoneElement:this._activeDropZone}),t||this.$element()[i](\"dx-fileuploader-dragover\")},n._dropHandler=function(e,t){if(this._activeDropZone=null,e||this.$element().removeClass(\"dx-fileuploader-dragover\"),!(this._useInputForDrop()||e&&this._isInteractionDisabled())){t.preventDefault();var n=t.originalEvent.dataTransfer.files,i=this._getFiles(n);!this.option(\"multiple\")&&i.length>1||0===i.length||(this._changeValue(i),\"instantly\"===this.option(\"uploadMode\")&&this._uploadFiles())}},n._areAllFilesLoaded=function(){return this._files.every((function(e){return!e.isValid()||e._isError||e._isLoaded||e.isAborted}))},n._handleAllFilesUploaded=function(){this._recalculateProgress(),this._areAllFilesLoaded()&&this._filesUploadedAction()},n._getAllowedFileTypes=function(e){return e.length?e.split(\",\").map((function(e){return e.trim()})):[]},n._isFileTypeAllowed=function(e,t){for(var n=0,i=t.length;n<i;n++){var o=t[n];if(\".\"===o[0]){if(o=o.replace(\".\",\"\\\\.\"),e.name.match(new RegExp(o+\"$\",\"i\")))return!0}else if(o=o.replace(new RegExp(\"\\\\*\",\"g\"),\"\"),e.type.match(new RegExp(o,\"i\")))return!0}return!1},n._renderWrapper=function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-wrapper\").appendTo(this.$element()),t=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-container\").appendTo(e);this._$content=(0,o.default)(\"<div>\").addClass(\"dx-fileuploader-content\").appendTo(t)},n._clean=function(){this._$fileInput.detach(),delete this._$filesContainer,this._detachSelectFileDialogHandler(this.option(\"dialogTrigger\")),this._detachDragEventHandlers(this.option(\"dropZone\")),this._files&&this._files.forEach((function(e){e.$file=null,e.$statusMessage=null})),e.prototype._clean.call(this)},n.abortUpload=function(e){if(\"useForm\"!==this.option(\"uploadMode\"))if((0,d.isDefined)(e)){var t=this._getFile(e);t&&this._preventFilesUploading([t])}else this._preventFilesUploading(this._files)},n.upload=function(e){if(\"useForm\"!==this.option(\"uploadMode\"))if((0,d.isDefined)(e)){var t=this._getFile(e);t&&T()&&this._uploadFile(t)}else this._uploadFiles()},n._uploadFiles=function(){var e=this;T()&&(0,c.each)(this._files,(function(t,n){return e._uploadFile(n)}))},n._uploadFile=function(e){this._uploadStrategy.upload(e)},n._updateProgressBar=function(e,t){e.progressBar&&e.progressBar.option({value:t.loaded,showStatus:!0}),this._progressAction({file:e.value,segmentSize:t.currentSegmentSize,bytesLoaded:t.loaded,bytesTotal:t.total,event:t.event,request:e.request})},n._updateTotalProgress=function(e,t){var n=0;(0,d.isDefined)(e)&&(this._files.length>0&&this._areAllFilesLoaded()&&0===e&&0===t?n=this._getProgressValue(1):e&&(n=this._getProgressValue(t/e))),this.option(\"progress\",n),this._setLoadedSize(t)},n._getProgressValue=function(e){return Math.floor(100*e)},n._initStatusMessage=function(e){e.$statusMessage.css(\"display\",\"none\")},n._ensureCancelButtonInitialized=function(e){var t=this;if(!e.isInitialized){e.cancelButton.option(\"onClick\",(function(){t._preventFilesUploading([e]),t._removeFile(e)}));var n=function(){setTimeout((function(){e.cancelButton.option({visible:!1})}),400)};e.onLoad.add(n),e.onError.add(n)}},n._createProgressBar=function(e){var t=this;return this._createComponent((0,o.default)(\"<div>\"),_.default,{value:void 0,min:0,max:e,statusFormat:function(e){return t._getProgressValue(e)+\"%\"},showStatus:!1,statusPosition:\"right\"})},n._getTotalFilesSize=function(){var e=this;return this._totalFilesSize||(this._totalFilesSize=0,(0,c.each)(this._files,(function(t,n){e._totalFilesSize+=n.value.size}))),this._totalFilesSize},n._getTotalLoadedFilesSize=function(){var e=this;return this._totalLoadedFilesSize||(this._totalLoadedFilesSize=0,(0,c.each)(this._files,(function(t,n){e._totalLoadedFilesSize+=n.loadedSize}))),this._totalLoadedFilesSize},n._setLoadedSize=function(e){this._totalLoadedFilesSize=e},n._recalculateProgress=function(){this._totalFilesSize=0,this._totalLoadedFilesSize=0,this._updateTotalProgress(this._getTotalFilesSize(),this._getTotalLoadedFilesSize())},n.isMouseOverElement=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(!t)return!1;var a=n?parseFloat(I.getComputedStyle(t,\":before\").height):0,r=n?parseFloat(I.getComputedStyle(t,\":after\").height):0,s=(0,i.getOffset)(t).left,l=(0,i.getOffset)(t).top+a,u=t.offsetWidth,d=t.offsetHeight-a-r,c=this._getEventX(e),h=this._getEventY(e);return c+o>=s&&c-o<s+u&&h+o>=l&&h-o<l+d},n._getEventX=function(e){return(0,y.isTouchEvent)(e)?this._getTouchEventX(e):e.clientX+this._getDocumentScrollLeft()},n._getEventY=function(e){return(0,y.isTouchEvent)(e)?this._getTouchEventY(e):e.clientY+this._getDocumentScrollTop()},n._getTouchEventX=function(e){var t=null;return e.changedTouches.length>0?t=e.changedTouches:e.targetTouches.length>0&&(t=e.targetTouches),t?t[0].pageX:0},n._getTouchEventY=function(e){var t=null;return e.changedTouches.length>0?t=e.changedTouches:e.targetTouches.length>0&&(t=e.targetTouches),t?t[0].pageY:0},n._getDocumentScrollTop=function(){var e=C.default.getDocument();return e.documentElement.scrollTop||e.body.scrollTop},n._getDocumentScrollLeft=function(){var e=C.default.getDocument();return e.documentElement.scrollLeft||e.body.scrollLeft},n._updateReadOnlyState=function(){var e=this.option(\"readOnly\");this._selectButton.option(\"disabled\",e),this._files.forEach((function(t){var n;return null===(n=t.cancelButton)||void 0===n?void 0:n.option(\"disabled\",e)})),this._updateInputLabelText(),this._attachDragEventHandlers(this._$inputWrapper)},n._updateHoverState=function(){var e,t,n=this.option(\"hoverStateEnabled\");null===(e=this._selectButton)||void 0===e||e.option(\"hoverStateEnabled\",n),null===(t=this._uploadButton)||void 0===t||t.option(\"hoverStateEnabled\",n),this._files.forEach((function(e){var t,i;null===(t=e.uploadButton)||void 0===t||t.option(\"hoverStateEnabled\",n),null===(i=e.cancelButton)||void 0===i||i.option(\"hoverStateEnabled\",n)}))},n._optionChanged=function(t){var n=t.name,i=t.value,o=t.previousValue;switch(n){case\"height\":case\"width\":this._updateFileNameMaxWidth(),e.prototype._optionChanged.call(this,t);break;case\"value\":!i.length&&this._$fileInput.val(\"\"),this._preventRecreatingFiles||(this._createFiles(),this._renderFiles()),this._recalculateProgress(),e.prototype._optionChanged.call(this,t);break;case\"name\":this._initFileInput(),e.prototype._optionChanged.call(this,t);break;case\"accept\":this._initFileInput();break;case\"multiple\":this._initFileInput(),t.value||this.reset();break;case\"readOnly\":this._updateReadOnlyState(),e.prototype._optionChanged.call(this,t);break;case\"disabled\":this._updateInputLabelText(),e.prototype._optionChanged.call(this,t);break;case\"selectButtonText\":this._selectButton.option(\"text\",i);break;case\"uploadButtonText\":this._uploadButton&&this._uploadButton.option(\"text\",i);break;case\"_uploadButtonType\":this._uploadButton&&this._uploadButton.option(\"type\",i);break;case\"dialogTrigger\":this._detachSelectFileDialogHandler(o),this._attachSelectFileDialogHandler(i);break;case\"dropZone\":this._detachDragEventHandlers(o),this._attachDragEventHandlers(i);break;case\"maxFileSize\":case\"minFileSize\":case\"allowedFileExtensions\":case\"invalidFileExtensionMessage\":case\"invalidMaxFileSizeMessage\":case\"invalidMinFileSizeMessage\":case\"readyToUploadMessage\":case\"uploadedMessage\":case\"uploadFailedMessage\":case\"uploadAbortedMessage\":this._invalidate();break;case\"labelText\":this._updateInputLabelText();break;case\"showFileList\":this._preventRecreatingFiles||this._renderFiles();break;case\"uploadFile\":case\"uploadChunk\":case\"chunkSize\":this._setUploadStrategy();break;case\"abortUpload\":case\"uploadUrl\":case\"progress\":case\"uploadMethod\":case\"uploadHeaders\":case\"uploadCustomData\":case\"extendSelection\":break;case\"hoverStateEnabled\":this._updateHoverState(),e.prototype._optionChanged.call(this,t);break;case\"allowCanceling\":case\"uploadMode\":this.reset(),this._invalidate();break;case\"onBeforeSend\":this._createBeforeSendAction();break;case\"onUploadStarted\":this._createUploadStartedAction();break;case\"onUploaded\":this._createUploadedAction();break;case\"onFilesUploaded\":this._createFilesUploadedAction();break;case\"onProgress\":this._createProgressAction();break;case\"onUploadError\":this._createUploadErrorAction();break;case\"onUploadAborted\":this._createUploadAbortedAction();break;case\"onDropZoneEnter\":this._createDropZoneEnterAction();break;case\"onDropZoneLeave\":this._createDropZoneLeaveAction();break;case\"useNativeInputClick\":this._renderInput();break;case\"useDragOver\":this._attachDragEventHandlers(this._$inputWrapper);break;case\"nativeDropSupported\":this._invalidate();break;case\"inputAttr\":this._applyInputAttributes(this.option(n));break;case\"hint\":this._initFileInput(),e.prototype._optionChanged.call(this,t);break;default:e.prototype._optionChanged.call(this,t)}},n._resetInputValue=function(e){(\"useForm\"!==this.option(\"uploadMode\")||e)&&(this._doPreventInputChange=!0,this._$fileInput.val(\"\"),this._doPreventInputChange=!1)},n.reset=function(){this.option(\"value\",[])},t}(g.default),O=function(){function e(e,t){this.file=e,this.chunkSize=t,this.index=0}var t=e.prototype;return t.read=function(){if(!this.file)return null;var e=this.createBlobResult(this.file,this.index,this.chunkSize);return e.isCompleted&&(this.file=null),this.index++,e},t.createBlobResult=function(e,t,n){var i=t*n;return{blob:this.sliceFile(e,i,n),index:t,isCompleted:i+n>=e.size}},t.sliceFile=function(e,t,n){return e.slice?e.slice(t,t+n):e.webkitSlice?e.webkitSlice(t,t+n):null},e}(),A=function(){function e(e){this.fileUploader=e}var t=e.prototype;return t.upload=function(e){e.isInitialized&&e.isAborted&&this.fileUploader._resetFileState(e),e.isValid()&&!e.uploadStarted&&(this._prepareFileBeforeUpload(e),this._uploadCore(e))},t.abortUpload=function(e){var t=this;if(!(e._isError||e._isLoaded||e.isAborted)&&e.uploadStarted&&(e.isAborted=!0,e.request&&e.request.abort(),this._isCustomCallback(\"abortUpload\"))){var n=this.fileUploader.option(\"abortUpload\"),i=this._createUploadArgument(e),o=null;try{var a=n(e.value,i);o=(0,f.fromPromise)(a)}catch(e){o=(new f.Deferred).reject(e).promise()}o.done((function(){return e.onAbort.fire()})).fail((function(n){return t._handleFileError(e,n)}))}},t._beforeSend=function(e,t){var n=this._createUploadArgument(t);this.fileUploader._beforeSendAction({request:e,file:t.value,uploadInfo:n}),t.request=e},t._createUploadArgument=function(e){},t._uploadCore=function(e){},t._isCustomCallback=function(e){var t=this.fileUploader.option(e);return t&&(0,d.isFunction)(t)},t._handleProgress=function(e,t){e._isError||(e._isProgressStarted=!0,this._handleProgressCore(e,t))},t._handleProgressCore=function(e,t){},t._handleFileError=function(e,t){e._isError=!0,e.onError.fire(t)},t._prepareFileBeforeUpload=function(e){var t;e.$file&&(null===(t=e.progressBar)||void 0===t||t.dispose(),this.fileUploader._createFileProgressBar(e));e.isInitialized||(e.onLoadStart.add(this._onUploadStarted.bind(this,e)),e.onLoad.add(this._onLoadedHandler.bind(this,e)),e.onError.add(this._onErrorHandler.bind(this,e)),e.onAbort.add(this._onAbortHandler.bind(this,e)),e.onProgress.add(this._onProgressHandler.bind(this,e)),e.isInitialized=!0)},t._shouldHandleError=function(e,t){return(this._isStatusError(t.status)||!e._isProgressStarted)&&!e.isAborted},t._isStatusError=function(e){return 400<=e&&e<500||500<=e&&e<600},t._onUploadStarted=function(e,t){e.uploadStarted=!0,this.fileUploader._uploadStartedAction({file:e.value,event:t,request:e.request})},t._onAbortHandler=function(e,t){var n={file:e.value,event:t,request:e.request,message:this.fileUploader._getUploadAbortedStatusMessage()};this.fileUploader._uploadAbortedAction(n),this.fileUploader._setStatusMessage(e,n.message),this.fileUploader._handleAllFilesUploaded()},t._onErrorHandler=function(e,t){var n={file:e.value,event:void 0,request:e.request,error:t,message:this.fileUploader.option(\"uploadFailedMessage\")};this.fileUploader._uploadErrorAction(n),this.fileUploader._setStatusMessage(e,n.message),this.fileUploader._handleAllFilesUploaded()},t._onLoadedHandler=function(e,t){var n={file:e.value,event:t,request:e.request,message:this.fileUploader.option(\"uploadedMessage\")};e._isLoaded=!0,this.fileUploader._uploadedAction(n),this.fileUploader._setStatusMessage(e,n.message),this.fileUploader._handleAllFilesUploaded()},t._onProgressHandler=function(e,t){if(e){var n=this.fileUploader._getTotalFilesSize(),i=this.fileUploader._getTotalLoadedFilesSize(),o=Math.min(t.loaded,e.value.size),a=o-e.loadedSize;e.loadedSize=o,this.fileUploader._updateTotalProgress(n,i+a),this.fileUploader._updateProgressBar(e,this._getLoadedData(o,t.total,a,t))}},t._getLoadedData=function(e,t,n,i){return{loaded:e,total:t,currentSegmentSize:n}},t._extendFormData=function(e){var t=this.fileUploader.option(\"uploadCustomData\");for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(0,d.isDefined)(t[n])&&e.append(n,t[n])},e}(),P=function(e){function t(t){var n;return(n=e.call(this,t)||this).chunkSize=n.fileUploader.option(\"chunkSize\"),n}k(t,e);var n=t.prototype;return n._uploadCore=function(e){var t=e.value,n={name:t.name,loadedBytes:0,type:t.type,blobReader:new O(t,this.chunkSize),guid:new a.default,fileSize:t.size,count:this._getFileChunksCount(t),customData:{}};e.chunksData=n,this._sendChunk(e,n)},n._getFileChunksCount=function(e){return 0===e.size?1:Math.ceil(e.size/this.chunkSize)},n._sendChunk=function(e,t){var n=this,i=t.blobReader.read();t.currentChunk=i,i&&this._sendChunkCore(e,t,i).done((function(){e.isAborted||(t.loadedBytes+=i.blob.size,e.onProgress.fire({loaded:t.loadedBytes,total:e.value.size}),i.isCompleted&&e.onLoad.fire(),setTimeout((function(){return n._sendChunk(e,t)})))})).fail((function(t){n._shouldHandleError(e,t)&&n._handleFileError(e,t)}))},n._sendChunkCore=function(e,t,n){},n._tryRaiseStartLoad=function(e){e.isStartLoad||(e.isStartLoad=!0,e.onLoadStart.fire())},n._getEvent=function(e){return null},n._createUploadArgument=function(e){return this._createChunksInfo(e.chunksData)},n._createChunksInfo=function(e){return{bytesUploaded:e.loadedBytes,chunkCount:e.count,customData:e.customData,chunkBlob:e.currentChunk.blob,chunkIndex:e.currentChunk.index}},t}(A),M=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._sendChunkCore=function(e,t,n){var i=this;return p.default.sendRequest({url:this.fileUploader.option(\"uploadUrl\"),method:this.fileUploader.option(\"uploadMethod\"),headers:this.fileUploader.option(\"uploadHeaders\"),beforeSend:function(t){return i._beforeSend(t,e)},upload:{onprogress:function(t){return i._handleProgress(e,t)},onloadstart:function(){return i._tryRaiseStartLoad(e)},onabort:function(){return e.onAbort.fire()}},data:this._createFormData({fileName:t.name,blobName:this.fileUploader.option(\"name\"),blob:n.blob,index:n.index,count:t.count,type:t.type,guid:t.guid,size:t.fileSize})})},n._createFormData=function(e){var t=new I.FormData;return t.append(e.blobName,e.blob),t.append(\"chunkMetadata\",JSON.stringify({FileName:e.fileName,Index:e.index,TotalCount:e.count,FileSize:e.size,FileType:e.type,FileGuid:e.guid})),this._extendFormData(t),t},t}(P),R=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._sendChunkCore=function(e,t){this._tryRaiseStartLoad(e);var n=this._createChunksInfo(t),i=this.fileUploader.option(\"uploadChunk\");try{var o=i(e.value,n);return(0,f.fromPromise)(o)}catch(e){return(new f.Deferred).reject(e).promise()}},n._shouldHandleError=function(e,t){return!0},t}(P),B=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._uploadCore=function(e){var t=this;e.loadedSize=0,this._uploadFile(e).done((function(){e.isAborted||e.onLoad.fire()})).fail((function(n){t._shouldHandleError(e,n)&&t._handleFileError(e,n)}))},n._uploadFile=function(e){},n._handleProgressCore=function(e,t){e.onProgress.fire(t)},n._getLoadedData=function(t,n,i,o){var a=e.prototype._getLoadedData.call(this,t,n,i,o);return a.event=o,a},t}(A),L=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._uploadFile=function(e){var t=this;return p.default.sendRequest({url:this.fileUploader.option(\"uploadUrl\"),method:this.fileUploader.option(\"uploadMethod\"),headers:this.fileUploader.option(\"uploadHeaders\"),beforeSend:function(n){return t._beforeSend(n,e)},upload:{onprogress:function(n){return t._handleProgress(e,n)},onloadstart:function(){return e.onLoadStart.fire()},onabort:function(){return e.onAbort.fire()}},data:this._createFormData(this.fileUploader.option(\"name\"),e.value)})},n._createFormData=function(e,t){var n=new I.FormData;return n.append(e,t,t.name),this._extendFormData(n),n},t}(B),V=function(e){function t(){return e.apply(this,arguments)||this}k(t,e);var n=t.prototype;return n._uploadFile=function(e){var t=this;e.onLoadStart.fire();var n=this.fileUploader.option(\"uploadFile\");try{var i=n(e.value,(function(n){var i={loaded:n,total:e.value.size};t._handleProgress(e,i)}));return(0,f.fromPromise)(i)}catch(e){return(new f.Deferred).reject(e).promise()}},n._shouldHandleError=function(e,t){return!0},t}(B);(0,l.default)(\"dxFileUploader\",E);var F=E;t.default=F,e.exports=t.default,e.exports.default=t.default},20301:function(e,t,n){var i;t.default=void 0;var o=((i=n(18476))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},25460:function(e,t,n){t.getConfig=function(e,t){return{name:\"between\",caption:e,icon:\"range\",valueSeparator:\"\\u2013\",dataTypes:[\"number\",\"date\",\"datetime\"],editorTemplate:r.bind(t),notForLookup:!0}};var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(13306);function r(e,t){var n=(0,o.default)(\"<div>\").addClass(\"dx-filterbuilder-range-start\"),i=(0,o.default)(\"<div>\").addClass(\"dx-filterbuilder-range-end\"),r=e.value||[],s=function(e){return e&&e.length>0?e[0]:null},l=function(e){return e&&2===e.length?e[1]:null};t.append(n),t.append((0,o.default)(\"<span>\").addClass(\"dx-filterbuilder-range-separator\").text(\"\\u2013\")),t.append(i),t.addClass(\"dx-filterbuilder-range\"),this._editorFactory.createEditor.call(this,n,(0,a.extend)({},e.field,e,{value:s(r),parentType:\"filterBuilder\",setValue:function(t){r=[t,l(r)],e.setValue(r)}})),this._editorFactory.createEditor.call(this,i,(0,a.extend)({},e.field,e,{value:l(r),parentType:\"filterBuilder\",setValue:function(t){r=[s(r),t],e.setValue(r)}}))}},18476:function(e,t,n){t.default=void 0;var i=y(n(68374)),o=y(n(73349)),a=y(n(38377)),r=y(n(55994)),s=y(n(14390)),l=y(n(99393)),u=n(13306),d=y(n(28109)),c=n(62754),h=n(35922),f=y(n(30254)),p=y(n(51495)),g=n(13660),m=y(n(15653)),_=n(39611),v=n(59423);function y(e){return e&&e.__esModule?e:{default:e}}var b=[{name:\"onEditorPreparing\",config:{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"}},{name:\"onEditorPrepared\",config:{excludeValidators:[\"disabled\",\"readOnly\"],category:\"rendering\"}},{name:\"onValueChanged\",config:{excludeValidators:[\"disabled\",\"readOnly\"]}}],x={and:\"and\",or:\"or\",notAnd:\"!and\",notOr:\"!or\"},w=a.default.inherit(m.default),C=s.default.inherit({_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{onEditorPreparing:null,onEditorPrepared:null,onValueChanged:null,fields:[],groupOperations:[\"and\",\"or\",\"notAnd\",\"notOr\"],maxGroupLevel:void 0,value:null,allowHierarchicalFields:!1,groupOperationDescriptions:{and:d.default.format(\"dxFilterBuilder-and\"),or:d.default.format(\"dxFilterBuilder-or\"),notAnd:d.default.format(\"dxFilterBuilder-notAnd\"),notOr:d.default.format(\"dxFilterBuilder-notOr\")},customOperations:[],closePopupOnTargetScroll:!0,filterOperationDescriptions:{between:d.default.format(\"dxFilterBuilder-filterOperationBetween\"),equal:d.default.format(\"dxFilterBuilder-filterOperationEquals\"),notEqual:d.default.format(\"dxFilterBuilder-filterOperationNotEquals\"),lessThan:d.default.format(\"dxFilterBuilder-filterOperationLess\"),lessThanOrEqual:d.default.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),greaterThan:d.default.format(\"dxFilterBuilder-filterOperationGreater\"),greaterThanOrEqual:d.default.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),startsWith:d.default.format(\"dxFilterBuilder-filterOperationStartsWith\"),contains:d.default.format(\"dxFilterBuilder-filterOperationContains\"),notContains:d.default.format(\"dxFilterBuilder-filterOperationNotContains\"),endsWith:d.default.format(\"dxFilterBuilder-filterOperationEndsWith\"),isBlank:d.default.format(\"dxFilterBuilder-filterOperationIsBlank\"),isNotBlank:d.default.format(\"dxFilterBuilder-filterOperationIsNotBlank\")}})},_optionChanged:function(e){switch(e.name){case\"closePopupOnTargetScroll\":break;case\"onEditorPreparing\":case\"onEditorPrepared\":case\"onValueChanged\":this._initActions();break;case\"customOperations\":this._initCustomOperations(),this._invalidate();break;case\"fields\":case\"maxGroupLevel\":case\"groupOperations\":case\"allowHierarchicalFields\":case\"groupOperationDescriptions\":case\"filterOperationDescriptions\":this._invalidate();break;case\"value\":if(e.value!==e.previousValue){var t=this._disableInvalidateForValue;t||(this._initModel(),this._invalidate()),this._disableInvalidateForValue=!1,this.executeAction(\"onValueChanged\",{value:e.value,previousValue:e.previousValue}),this._disableInvalidateForValue=t}break;default:this.callBase(e)}},getFilterExpression:function(){var e=this._getNormalizedFields(),t=(0,u.extend)(!0,[],this._model);return(0,v.getFilterExpression)((0,v.getNormalizedFilter)(t),e,this._customOperations,\"filterBuilder\")},_getNormalizedFields:function(){return(0,v.getNormalizedFields)(this.option(\"fields\"))},_updateFilter:function(){this._disableInvalidateForValue=!0;var e=(0,u.extend)(!0,[],this._model),t=(0,v.getNormalizedFilter)(e),n=(0,v.getNormalizedFilter)(this._getModel(this.option(\"value\")));JSON.stringify(n)!==JSON.stringify(t)&&this.option(\"value\",t),this._disableInvalidateForValue=!1,this._fireContentReadyAction()},_init:function(){this._initCustomOperations(),this._initModel(),this._initEditorFactory(),this._initActions(),this.callBase()},_initEditorFactory:function(){this._editorFactory=new w},_initCustomOperations:function(){this._customOperations=(0,v.getMergedOperations)(this.option(\"customOperations\"),this.option(\"filterOperationDescriptions.between\"),this)},_getDefaultGroupOperation:function(){var e,t;return null!==(e=null===(t=this.option(\"groupOperations\"))||void 0===t?void 0:t[0])&&void 0!==e?e:x.and},_getModel:function(e){return(0,v.convertToInnerStructure)(e,this._customOperations,this._getDefaultGroupOperation())},_initModel:function(){this._model=this._getModel(this.option(\"value\"))},_initActions:function(){var e=this;e._actions={},b.forEach((function(t){var n=(0,u.extend)({},t.config);e._actions[t.name]=e._createActionByOption(t.name,n)}))},executeAction:function(e,t){var n=this._actions[e];return n&&n(t)},_initMarkup:function(){this.$element().addClass(\"dx-filterbuilder\"),this.callBase(),this._createGroupElementByCriteria(this._model).appendTo(this.$element())},_createConditionElement:function(e,t){return(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-group\").append(this._createConditionItem(e,t))},_createGroupElementByCriteria:function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=this._createGroupElement(e,t,n),o=i.find(\".dx-filterbuilder-group-content\"),a=(0,v.getGroupCriteria)(e),r=0;r<a.length;r++){var s=a[r];(0,v.isGroup)(s)?this._createGroupElementByCriteria(s,e,n+1).appendTo(o):(0,v.isCondition)(s)&&this._createConditionElement(s,e).appendTo(o)}return i},_createGroupElement:function(e,t,n){var o=this,a=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-group-item\"),r=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-group-content\"),s=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-group\").append(a).append(r);return null!=t&&this._createRemoveButton((function(){(0,v.removeItem)(t,e),s.remove(),o._updateFilter()})).appendTo(a),this._createGroupOperationButton(e).appendTo(a),this._createAddButton((function(){var t=(0,v.createEmptyGroup)(o._getDefaultGroupOperation());(0,v.addItem)(t,e),o._createGroupElement(t,e,n+1).appendTo(r),o._updateFilter()}),(function(){var t=o.option(\"fields\")[0],n=(0,v.createCondition)(t,o._customOperations);(0,v.addItem)(n,e),o._createConditionElement(n,e).appendTo(r),o._updateFilter()}),n).appendTo(a),s},_createButton:function(e){return(0,i.default)(\"<div>\").text(e)},_createGroupOperationButton:function(e){var t=this,n=this._getGroupOperations(e),i=(0,v.getGroupMenuItem)(e,n),o=i.text,a=n&&n.length<2?this._createButton(o).addClass(\"dx-state-disabled\"):this._createButtonWithMenu({caption:o,menu:{items:n,displayExpr:\"text\",keyExpr:\"value\",onItemClick:function(n){i!==n.itemData&&((0,v.setGroupValue)(e,n.itemData.value),a.text(n.itemData.text),i=n.itemData,t._updateFilter())},onContentReady:function(e){e.component.selectItem(i)},cssClass:\"dx-filterbuilder-group-operations\"}});return a.addClass(\"dx-filterbuilder-text\").addClass(\"dx-filterbuilder-group-operation\").attr(\"tabindex\",0)},_createButtonWithMenu:function(e){var t,n=this,o=function(){n.$element().find(\".dx-state-active\").removeClass(\"dx-state-active\"),n.$element().find(\".dx-overlay .dx-treeview\").remove(),n.$element().find(\".dx-overlay\").remove()},a=this.option(\"rtlEnabled\"),s=a?\"right\":\"left\",l=this._createButton(e.caption);return(0,u.extend)(e.menu,{focusStateEnabled:!0,selectionMode:\"single\",onItemClick:(t=e.menu.onItemClick,function(e){t(e),\"dxclick\"===e.event.type&&o()}),onHiding:function(e){l.removeClass(\"dx-state-active\")},position:{my:s+\" top\",at:s+\" bottom\",offset:\"0 1\",of:l,collision:\"flip\"},animation:null,onHidden:function(){o()},cssClass:\"dx-filterbuilder-overlay \"+e.menu.cssClass,rtlEnabled:a}),e.popup={onShown:function(t){var n=(0,i.default)(t.component.content()).find(\".dx-treeview\"),o=n.dxTreeView(\"instance\");r.default.on(n,\"keyup keydown\",(function(n){var i=(0,_.normalizeKeyName)(n);(\"keydown\"===n.type&&\"tab\"===i||\"keyup\"===n.type&&(\"escape\"===i||\"enter\"===i))&&(t.component.hide(),r.default.trigger(e.menu.position.of,\"focus\"))})),o.focus(),o.option(\"focusedElement\",null)}},this._subscribeOnClickAndEnterKey(l,(function(){o(),n._createPopupWithTreeView(e,n.$element()),l.addClass(\"dx-state-active\")})),l},_hasValueButton:function(e){var t=(0,v.getCustomOperation)(this._customOperations,e[1]);return t?!1!==t.hasValue:null!==e[2]},_createOperationButtonWithMenu:function(e,t){var n=this,o=this,a=(0,v.getAvailableOperations)(t,this.option(\"filterOperationDescriptions\"),this._customOperations),r=(0,v.getOperationFromAvailable)((0,v.getOperationValue)(e),a),s=this._createButtonWithMenu({caption:r.text,menu:{items:a,displayExpr:\"text\",onItemRendered:function(e){e.itemData.isCustom&&(0,i.default)(e.itemElement).addClass(\"dx-filterbuilder-menu-custom-operation\")},onContentReady:function(e){e.component.selectItem(r)},onItemClick:function(i){if(r!==i.itemData){r=i.itemData,(0,v.updateConditionByOperation)(e,r.value,o._customOperations);var a=s.siblings().filter(\".dx-filterbuilder-item-value\");o._hasValueButton(e)?(0!==a.length&&a.remove(),o._createValueButton(e,t).appendTo(s.parent())):a.remove(),s.html(r.text),n._updateFilter()}},cssClass:\"dx-filterbuilder-operations\"}}).addClass(\"dx-filterbuilder-text\").addClass(\"dx-filterbuilder-item-operation\").attr(\"tabindex\",0);return s},_createOperationAndValueButtons:function(e,t,n){this._createOperationButtonWithMenu(e,t).appendTo(n),this._hasValueButton(e)&&this._createValueButton(e,t).appendTo(n)},_createFieldButtonWithMenu:function(e,t,n){var i=this,o=this,a=this.option(\"allowHierarchicalFields\"),r=(0,v.getItems)(e,a),s=(0,v.getField)(n.name||n.dataField,r),l=function(e,t){return a?(0,v.getCaptionWithParents)(e,t):e.caption},u=this._createButtonWithMenu({caption:l(s,r),menu:{items:r,dataStructure:\"plain\",keyExpr:\"id\",parentId:\"parentId\",displayExpr:\"caption\",onItemClick:function(e){if(s!==e.itemData){s=e.itemData,t[0]=s.name||s.dataField,t[2]=\"object\"===s.dataType?null:\"\",(0,v.updateConditionByOperation)(t,(0,v.getDefaultOperation)(s),o._customOperations),u.siblings().filter(\".dx-filterbuilder-text\").remove(),o._createOperationAndValueButtons(t,s,u.parent());var n=l(s,e.component.option(\"items\"));u.html(n),i._updateFilter()}},onContentReady:function(e){e.component.selectItem(s)},cssClass:\"dx-filterbuilder-fields\"}}).addClass(\"dx-filterbuilder-text\").addClass(\"dx-filterbuilder-item-field\").attr(\"tabindex\",0);return u},_createConditionItem:function(e,t){var n=this,o=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-group-item\"),a=this._getNormalizedFields(),r=(0,v.getField)(e[0],a);return this._createRemoveButton((function(){(0,v.removeItem)(t,e),1===o.parent().children().length?o.parent().remove():o.remove(),n._updateFilter()})).appendTo(o),this._createFieldButtonWithMenu(a,e,r).appendTo(o),this._createOperationAndValueButtons(e,r,o),o},_getGroupOperations:function(e){var t=this.option(\"groupOperations\"),n=this.option(\"groupOperationDescriptions\");return t&&t.length||(t=[(0,v.getGroupValue)(e).replace(\"!\",\"not\")]),t.map((function(e){return{text:n[e],value:x[e]}}))},_createRemoveButton:function(e){var t=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-action-icon\").addClass(\"dx-icon-remove\").addClass(\"dx-filterbuilder-action\").attr(\"tabindex\",0);return this._subscribeOnClickAndEnterKey(t,e),t},_createAddButton:function(e,t,n){var i,o=this.option(\"maxGroupLevel\");return(0,h.isDefined)(o)&&n>=o?(i=this._createButton(),this._subscribeOnClickAndEnterKey(i,t)):i=this._createButtonWithMenu({menu:{items:[{caption:d.default.format(\"dxFilterBuilder-addCondition\"),click:t},{caption:d.default.format(\"dxFilterBuilder-addGroup\"),click:e}],displayExpr:\"caption\",onItemClick:function(e){e.itemData.click()},cssClass:\"dx-filterbuilder-add-condition\"}}),i.addClass(\"dx-filterbuilder-action-icon\").addClass(\"dx-icon-plus\").addClass(\"dx-filterbuilder-action\").attr(\"tabindex\",0)},_createValueText:function(e,t,n){var o=this,a=(0,i.default)(\"<div>\").html(\"&nbsp;\").addClass(\"dx-filterbuilder-item-value-text\").attr(\"tabindex\",0).appendTo(n),r=e[2],s=(0,v.getCustomOperation)(o._customOperations,e[1]);return!s&&t.lookup?(0,v.getCurrentLookupValueText)(t,r,(function(e){(0,v.renderValueText)(a,e)})):(0,c.when)((0,v.getCurrentValueText)(t,r,s)).done((function(e){(0,v.renderValueText)(a,e,s)})),o._subscribeOnClickAndEnterKey(a,(function(i){\"keyup\"===i.type&&i.stopPropagation(),o._createValueEditorWithEvents(e,t,n)})),a},_updateConditionValue:function(e,t,n){e[2]!==t&&(e[2]=t),n(),this._updateFilter()},_addDocumentKeyUp:function(e,t){var n=!1,i=!1,a=o.default.getDocument(),s=function(e){n||i?i=!1:t(e)};r.default.on(a,\"keyup\",s);var l=e.find(\"input\");r.default.on(l,\"compositionstart\",(function(){n=!0})),r.default.on(l,\"compositionend\",(function(){n=!1,i=!0})),r.default.on(l,\"keydown\",(function(e){229!==e.which&&(i=!1)})),this._documentKeyUpHandler=s},_addDocumentClick:function(e,t){var n=this,i=o.default.getDocument(),a=function(i){n._isFocusOnEditorParts(e,i.target)||(r.default.trigger(e.find(\"input\"),\"change\"),t())};r.default.on(i,\"dxpointerdown\",a),this._documentClickHandler=a},_isFocusOnEditorParts:function(e,t){var n=t||o.default.getActiveElement();return(0,i.default)(n).closest(e.children()).length||(0,i.default)(n).closest(\".dx-dropdowneditor-overlay\").length},_removeEvents:function(){var e=o.default.getDocument();(0,h.isDefined)(this._documentKeyUpHandler)&&r.default.off(e,\"keyup\",this._documentKeyUpHandler),(0,h.isDefined)(this._documentClickHandler)&&r.default.off(e,\"dxpointerdown\",this._documentClickHandler)},_dispose:function(){this._removeEvents(),this.callBase()},_createValueEditorWithEvents:function(e,t,n){var i=this,o=e[2],a=function(){return n.empty(),i._removeEvents(),i._createValueText(e,t,n)},s=function(){i._updateConditionValue(e,o,(function(){a()}))},l={value:\"\"===o?null:o,filterOperation:(0,v.getOperationValue)(e),setValue:function(e){o=null===e?\"\":e},closeEditor:s,text:n.text()};n.empty();var u=this._createValueEditor(n,t,l);r.default.trigger(u.find(\"input\").not(\":hidden\").eq(0),\"focus\"),this._removeEvents(),this._addDocumentClick(u,s),this._addDocumentKeyUp(u,(function(t){var s=(0,_.normalizeKeyName)(t);if(\"tab\"===s){if(i._isFocusOnEditorParts(u))return;i._updateConditionValue(e,o,(function(){a(),t.shiftKey&&r.default.trigger(n.prev(),\"focus\")}))}\"escape\"===s&&r.default.trigger(a(),\"focus\"),\"enter\"===s&&i._updateConditionValue(e,o,(function(){r.default.trigger(a(),\"focus\")}))})),this._fireContentReadyAction()},_createValueButton:function(e,t){var n=(0,i.default)(\"<div>\").addClass(\"dx-filterbuilder-text\").addClass(\"dx-filterbuilder-item-value\");return this._createValueText(e,t,n),n},_createValueEditor:function(e,t,n){var o=(0,i.default)(\"<div>\").attr(\"tabindex\",0).appendTo(e),a=(0,v.getCustomOperation)(this._customOperations,n.filterOperation),r=a&&a.editorTemplate?a.editorTemplate:t.editorTemplate;r?this._getTemplate(r).render({model:(0,u.extend)({field:t},n),container:o}):this._editorFactory.createEditor.call(this,o,(0,u.extend)({},t,n,{parentType:\"filterBuilder\"}));return o},_createPopupWithTreeView:function(e,t){var n=this,o=(0,i.default)(\"<div>\").addClass(e.menu.cssClass).appendTo(t);this._createComponent(o,p.default,{onHiding:e.menu.onHiding,onHidden:e.menu.onHidden,rtlEnabled:e.menu.rtlEnabled,position:e.menu.position,animation:e.menu.animation,contentTemplate:function(t){var o=(0,i.default)(\"<div>\").appendTo(t);n._createComponent(o,f.default,e.menu),this.repaint()},_ignoreFunctionValueDeprecation:!0,maxHeight:function(){return(0,g.getElementMaxHeightByWindow)(e.menu.position.of)},visible:!0,focusStateEnabled:!1,hideOnParentScroll:this.option(\"closePopupOnTargetScroll\"),hideOnOutsideClick:!0,onShown:e.popup.onShown,shading:!1,width:\"auto\",height:\"auto\",showTitle:!1,_wrapperClassExternal:e.menu.cssClass})},_subscribeOnClickAndEnterKey:function(e,t){r.default.on(e,\"dxclick\",t),r.default.on(e,\"keyup\",(function(e){\"enter\"===(0,_.normalizeKeyName)(e)&&t(e)}))}});(0,l.default)(\"dxFilterBuilder\",C);var S=C;t.default=S,e.exports=t.default,e.exports.default=t.default},8859:function(e,t){t.default=void 0;var n={\"=\":\"equal\",\"<>\":\"notequal\",\"<\":\"less\",\"<=\":\"lessorequal\",\">\":\"greater\",\">=\":\"greaterorequal\",notcontains:\"doesnotcontain\",contains:\"contains\",startswith:\"startswith\",endswith:\"endswith\",isblank:\"isblank\",isnotblank:\"isnotblank\"},i={\"=\":\"equal\",\"<>\":\"notEqual\",\"<\":\"lessThan\",\"<=\":\"lessThanOrEqual\",\">\":\"greaterThan\",\">=\":\"greaterThanOrEqual\",startswith:\"startsWith\",contains:\"contains\",notcontains:\"notContains\",endswith:\"endsWith\",isblank:\"isBlank\",isnotblank:\"isNotBlank\",between:\"between\"},o={getIconByFilterOperation:function(e){return n[e]},getNameByFilterOperation:function(e){return i[e]}};t.default=o,e.exports=t.default,e.exports.default=t.default},59423:function(e,t,n){t.addItem=function(e,t){var n=C(t),i=k(n);return 1===n.length?n.unshift(e):n.push(e,i),t},t.convertToInnerStructure=z,t.createCondition=function(e,t){var n=[e.dataField,\"\",\"\"],i=E(e);return Q(n,i,t),n},t.createEmptyGroup=A,t.filterHasField=function e(t,n){if(null===t||0===t.length)return!1;if(R(t))return t[0]===n;return t.some((function(t){return(R(t)||M(t))&&e(t,n)}))},t.getAvailableOperations=function(e,t,n){var i=D(e),o=!!e.lookup;return n.forEach((function(t){if(!e.filterOperations&&-1===i.indexOf(t.name)){var n=t&&t.dataTypes;!(!!o&&!!t.notForLookup)&&n&&n.indexOf(e.dataType||\"string\")>=0&&i.push(t.name)}})),i.map((function(e){var i=T(n,e);return i?{icon:i.icon||\"icon-none\",text:i.caption||(0,h.captionize)(i.name),value:i.name,isCustom:!0}:{icon:m.default.getIconByFilterOperation(e)||\"icon-none\",text:I(e,t),value:e}}))},t.getCaptionByOperation=I,t.getCaptionWithParents=function e(t,n){if(Y(t.dataField))for(var i=X(t.dataField),o=0;o<n.length;o++)if(n[o].dataField===i)return e(n[o],n)+\".\"+t.caption;return t.caption},t.getCurrentLookupValueText=function(e,t,n){if(\"\"===t)return void n(\"\");var i=e.lookup;if(i.items)n(i.calculateCellValue(t)||\"\");else{var o=(0,r.isFunction)(i.dataSource)?i.dataSource({}):i.dataSource;new g.DataSource(o).loadSingle(i.valueExpr,t).done((function(o){var a=\"\";o&&(a=i.displayExpr?(0,s.compileGetter)(i.displayExpr)(o):o),e.customizeText&&(a=e.customizeText({value:t,valueText:a})),n(a)})).fail((function(){n(\"\")}))}},t.getCurrentValueText=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"filterBuilder\";if(q(t))return\"\";if(Array.isArray(t)){var a=new o.Deferred;return o.when.apply(this,G(e,t,n,i)).done((function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=t.some((function(e){return!q(e)}))?t.map((function(e){return q(e)?\"?\":e})):\"\";a.resolve(i)})),a}return W(e,t,n,i)},t.getCustomOperation=T,t.getDefaultOperation=E,t.getField=P,t.getFilterExpression=function e(t,n,i,o){if(!(0,r.isDefined)(t))return null;if(w(t)){return[\"!\",e(t[1],n,i,o)]}var a=C(t);if(R(a))return j(a,n,i,o)||null;for(var s,l=[],u=k(a),d=0;d<a.length;d++)M(a[d])?(s=e(a[d],n,i,o))&&(d&&l.push(u),l.push(s)):R(a[d])&&(s=j(a[d],n,i,o))&&(l.length&&l.push(u),l.push(s));return 1===l.length&&(l=l[0]),l.length?l:null},t.getFilterOperations=D,t.getGroupCriteria=C,t.getGroupMenuItem=function(e,t){var n=k(e);return t.filter((function(e){return e.value===n}))[0]},t.getGroupValue=k,t.getItems=Z,t.getMatchedConditions=function(e,t){if(null===e||0===e.length)return[];if(R(e))return ee(e,t)?[e]:[];if(\"and\"!==k(e))return[];return e.filter((function(e){return R(e)&&ee(e,t)}))},t.getMergedOperations=function(e,t,n){var i=(0,c.extend)(!0,[],e),o=-1;i.some((function(e,t){if(\"between\"===e.name)return o=t,!0})),-1!==o?i[o]=(0,c.extend)((0,f.getConfig)(t,n),i[o]):i.unshift((0,f.getConfig)(t,n));return i},t.getNormalizedFields=function(e){return e.reduce((function(e,t){if((0,r.isDefined)(t.dataField)){var n={};for(var i in t)t[i]&&x.indexOf(i)>-1&&(n[i]=t[i]);n.defaultCalculateFilterExpression=u.default.defaultCalculateFilterExpression,(0,r.isDefined)(n.dataType)||(n.dataType=\"string\"),(0,r.isDefined)(n.trueText)||(n.trueText=p.default.format(\"dxDataGrid-trueText\")),(0,r.isDefined)(n.falseText)||(n.falseText=p.default.format(\"dxDataGrid-falseText\")),e.push(n)}return e}),[])},t.getNormalizedFilter=function e(t){var n,i=C(t);if(0===i.length)return null;var o=[];for(n=0;n<i.length;n++)if(M(i[n])){var a=e(i[n]);a?i[n]=a:o.push(i[n])}else R(i[n])&&(J(i[n])||o.push(i[n]));for(n=0;n<o.length;n++)O(i,o[n]);if(1===i.length)return null;i.splice(i.length-1,1),1===i.length&&(t=function(e,t){w(e)?e[1]=t:e=t;return e}(t,i[0]));if(0===t.length)return null;return t},t.getOperationFromAvailable=function(e,t){for(var n=0;n<t.length;n++)if(t[n].value===e)return t[n];throw new l.default.Error(\"E1048\",e)},t.getOperationValue=function(e){var t;t=null===e[2]?\"=\"===e[1]?\"isblank\":\"isnotblank\":e[1];return t},t.isCondition=R,t.isEmptyGroup=function(e){var t=C(e);if(R(t))return!1;return!t.some((function(e){return R(e)}))},t.isGroup=M,t.isValidCondition=J,t.removeFieldConditionsFromFilter=function(e,t){if(!e||0===e.length)return null;return R(e)?ee(e,t)?null:e:te(e,[t],!1)},t.removeItem=O,t.renderValueText=void 0,t.setGroupValue=function(e,t){!function(e,t){!function(e){return-1!==e.indexOf(\"!\")}(t)?w(e)&&function(e){var t=C(e);e.length=0,[].push.apply(e,t)}(e):w(e)||function(e){var t=e.slice(0);e.length=0,e.push(\"!\",t)}(e)}(e,t);var n,i=C(e);return t=function(e){return-1===e.indexOf(\"!\")?e:e.substring(1)}(t),function(e,t){for(n=0;n<e.length;n++)Array.isArray(e[n])||(e[n]=t)}(i,t),e},t.syncFilters=function(e,t){if(null===e||0===e.length)return t;if(R(e))return ee(e,t[0])?t:[e,\"and\",t];if(\"and\"!==k(e))return[t,\"and\",e];return te(e,t,!0)},t.updateConditionByOperation=Q;var i=_(n(68374)),o=n(62754),a=n(18438),r=n(35922),s=n(47617),l=_(n(96688)),u=_(n(18740)),d=_(n(30343)),c=n(13306),h=n(78008),f=n(25460),p=_(n(28109)),g=n(85273),m=_(n(8859));function _(e){return e&&e.__esModule?e:{default:e}}var v={number:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"isblank\",\"isnotblank\"],string:[\"contains\",\"notcontains\",\"startswith\",\"endswith\",\"=\",\"<>\",\"isblank\",\"isnotblank\"],date:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"isblank\",\"isnotblank\"],datetime:[\"=\",\"<>\",\"<\",\">\",\"<=\",\">=\",\"isblank\",\"isnotblank\"],boolean:[\"=\",\"<>\",\"isblank\",\"isnotblank\"],object:[\"isblank\",\"isnotblank\"]},y={date:\"shortDate\",datetime:\"shortDateShortTime\"},b=[\"=\",\"<>\",\"isblank\",\"isnotblank\"],x=[\"caption\",\"customizeText\",\"dataField\",\"dataType\",\"editorTemplate\",\"falseText\",\"editorOptions\",\"filterOperations\",\"format\",\"lookup\",\"trueText\",\"calculateFilterExpression\",\"name\"];function w(e){return e&&e.length>1&&\"!\"===e[0]&&!R(e)}function C(e){return w(e)?e[1]:e}function S(e){if(R(e))return\"and\";for(var t=\"\",n=0;n<e.length;n++){var i=e[n];if(!Array.isArray(i)){if(t&&t!==i)throw new a.errors.Error(\"E4019\");\"!\"!==i&&(t=i)}}return t}function k(e){var t=C(e),n=S(t);return n||(n=\"and\"),t!==e&&(n=\"!\"+n),n}function D(e){var t,n=(t=e.filterOperations,Array.isArray(t)&&t.length?e.filterOperations:function(e){return e.lookup&&b||v[e.dataType||\"string\"]}(e));return(0,c.extend)([],n)}function I(e,t){var n=m.default.getNameByFilterOperation(e);return t&&t[n]?t[n]:n}function T(e,t){var n=e.filter((function(e){return e.name===t}));return n.length?n[0]:null}function E(e){return e.defaultFilterOperation||D(e)[0]}function O(e,t){var n=C(e),i=n.indexOf(t);return n.splice(i,1),1!==n.length&&n.splice(i,1),e}function A(e){var t=V(e),n=t?F(e):e;return t?[\"!\",[n]]:[n]}function P(e,t){for(var n=0;n<t.length;n++){if(t[n].name===e)return t[n];if(t[n].dataField.toLowerCase()===e.toLowerCase())return t[n]}var i=Z(t,!0).filter((function(t){return t.dataField.toLowerCase()===e.toLowerCase()}));if(i.length>0)return i[0];throw new l.default.Error(\"E1047\",e)}function M(e){return!!Array.isArray(e)&&(e.length<2||Array.isArray(e[0])||Array.isArray(e[1]))}function R(e){return!!Array.isArray(e)&&(e.length>1&&!Array.isArray(e[0])&&!Array.isArray(e[1]))}function B(e,t,n){n=n||\"and\";for(var i=S(e).toLowerCase()||n,o=[],a=0;a<e.length;a++)M(e[a])?(o.push(z(e[a],t,n)),o=N(o,i)):R(e[a])&&(o.push(L(e[a],t)),o=N(o,i));return 0===o.length&&(o=N(o,i)),o}function L(e,t){return function(e,t){var n=T(t,e[1]);return n&&n.name===e[1]}(e,t)||e.length<3&&(e[2]=e[1],e[1]=\"=\"),e}function V(e){return-1!==e.indexOf(\"not\")}function F(e){return e.substring(3).toLowerCase()}function H(e,t){var n=V(t);return t=n?F(t):t,n?[\"!\",e,t]:[e,t]}function N(e,t){var n=V(t);t=n?F(t):t,e.push(t);var i=e;return n&&(i=[\"!\",i]),i}function z(e,t,n){return n=n||\"and\",e?R(e=(0,c.extend)(!0,[],e))?H(L(e,t),n):w(e)?[\"!\",R(e[1])?H(L(e[1],t),n):w(e[1])?H(z(e[1],t),n):B(e[1],t,n)]:B(e,t,n):A(n)}function j(e,t,n,i){var o=P(e[0],t),a=L(e,n),r=n.length&&T(n,a[1]);return r&&r.calculateFilterExpression?r.calculateFilterExpression.apply(r,[a[2],o,t]):o.createFilterExpression?o.createFilterExpression.apply(o,[a[2],a[1],i]):o.calculateFilterExpression?o.calculateFilterExpression.apply(o,[a[2],a[1],i]):o.defaultCalculateFilterExpression.apply(o,[a[2],a[1],i])}function W(e,t,n,i,o){var a;return a=!0===t?e.trueText||p.default.format(\"dxDataGrid-trueText\"):!1===t?e.falseText||p.default.format(\"dxDataGrid-falseText\"):function(e,t){var n=e.format||y[e.dataType];return d.default.format(t,n)}(e,t),e.customizeText&&(a=e.customizeText.call(e,{value:t,valueText:a,target:i})),n&&n.customizeText&&(a=n.customizeText.call(n,{value:t,valueText:a,field:e,target:i},o)),a}function G(e,t,n,i){var o={values:t};return t.map((function(t){return W(e,t,n,i,o)}))}function q(e){return\"\"===e||null===e}function $(e,t){return e.some((function(e){return e.dataField===t}))}function U(e,t,n){var i=n.dataField;Y(i)&&(n.parentId=X(i),$(t,n.parentId)||$(e,n.parentId)||U(e,t,{id:n.parentId,dataType:\"object\",dataField:n.parentId,caption:K(n.parentId,!0),filterOperations:[\"isblank\",\"isnotblank\"],defaultCalculateFilterExpression:u.default.defaultCalculateFilterExpression})),t.push(n)}function K(e,t){var n=\"\";if(t)e=e.substring(e.lastIndexOf(\".\")+1);else if(Y(e))return e.split(\".\").forEach((function(e,t,i){n+=(0,h.captionize)(e),t!==i.length-1&&(n+=\".\")})),n;return(0,h.captionize)(e)}function Z(e,t){for(var n=[],i=0;i<e.length;i++){var o=(0,c.extend)(!0,{caption:K(e[i].dataField,t)},e[i]);o.id=o.name||o.dataField,t?U(e,n,o):n.push(o)}return n}function Y(e){return-1!==e.lastIndexOf(\".\")}function X(e){return e.substring(0,e.lastIndexOf(\".\"))}function Q(e,t,n){var i=T(n,t);return i?(!1===i.hasValue?(e[1]=t,e.length=2):(e[1]=t,e[2]=\"\"),e):(\"isblank\"===t?(e[1]=\"=\",e[2]=null):\"isnotblank\"===t?(e[1]=\"<>\",e[2]=null):(((i=T(n,e[1]))||2===e.length||null===e[2])&&(e[2]=\"\"),e[1]=t),e)}function J(e){return\"\"!==e[2]}function ee(e,t){return e[0]===t}function te(e,t,n){var i=[];return e.forEach((function(e){R(e)?ee(e,t[0])?n?(i.push(t),n=!1):i.splice(i.length-1,1):i.push(e):(i.length||M(e))&&i.push(e)})),0===i.length?null:(n&&(i.push(\"and\"),i.push(t)),1===i.length?i[0]:i)}t.renderValueText=function(e,t,n){if(Array.isArray(t)){var o=t.length-1;e.empty(),t.forEach((function(t,a){(0,i.default)(\"<span>\").addClass(\"dx-filterbuilder-text-part\").text(t).appendTo(e),a!==o&&(0,i.default)(\"<span>\").addClass(\"dx-filterbuilder-text-separator\").text(n&&n.valueSeparator?n.valueSeparator:\"|\").addClass(\"dx-filterbuilder-text-separator-empty\").appendTo(e)}))}else t?e.text(t):e.text(p.default.format(\"dxFilterBuilder-enterValueText\"))}},17737:function(e,t,n){var i;t.default=void 0;var o=((i=n(20763))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},77509:function(e,t,n){t.renderButtonItem=function(e){var t=e.item,n=e.$parent,i=e.rootElementCssClassList,s=e.validationGroup,l=e.createComponentCallback,u=(0,o.default)(\"<div>\").appendTo(n).addClass(i.join(\" \")).addClass(\"dx-field-button-item\").css(\"textAlign\",(d=t.horizontalAlignment,(0,a.isDefined)(d)?d:\"right\"));var d;n.css(\"justifyContent\",function(e){switch(e){case\"center\":return\"center\";case\"bottom\":return\"flex-end\";default:return\"flex-start\"}}(t.verticalAlignment));var c=(0,o.default)(\"<div>\").appendTo(u);return{$rootElement:u,buttonInstance:l(c,\"dxButton\",(0,r.extend)({validationGroup:s},t.buttonOptions))}};var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(35922),r=n(13306)},46193:function(e,t,n){t.FIELD_EMPTY_ITEM_CLASS=void 0,t.renderEmptyItem=function(e){var t=e.$parent,n=e.rootElementCssClassList;return(0,o.default)(\"<div>\").addClass(\"dx-field-empty-item\").html(\"&nbsp;\").addClass(n.join(\" \")).appendTo(t)};var i,o=(i=n(68374))&&i.__esModule?i:{default:i};t.FIELD_EMPTY_ITEM_CLASS=\"dx-field-empty-item\"},21014:function(e,t,n){t.TOGGLE_CONTROLS_PADDING_CLASS=t.LABEL_VERTICAL_ALIGNMENT_CLASS=t.LABEL_HORIZONTAL_ALIGNMENT_CLASS=t.FLEX_LAYOUT_CLASS=t.FIELD_ITEM_REQUIRED_CLASS=t.FIELD_ITEM_OPTIONAL_CLASS=t.FIELD_ITEM_LABEL_ALIGN_CLASS=t.FIELD_ITEM_HELP_TEXT_CLASS=t.FIELD_ITEM_CONTENT_WRAPPER_CLASS=t.FIELD_ITEM_CONTENT_LOCATION_CLASS=void 0,t.renderFieldItem=function(e){var t=e.$parent,n=e.rootElementCssClassList,u=e.formOrLayoutManager,p=e.createComponentCallback,v=e.labelOptions,y=e.labelNeedBaselineAlign,b=e.labelLocation,x=e.needRenderLabel,w=e.formLabelLocation,C=e.item,S=e.editorOptions,k=e.isSimpleItem,D=e.isRequired,I=e.template,T=e.helpID,E=e.labelID,O=e.name,A=e.helpText,P=e.requiredMessageTemplate,M=e.validationGroup,R=(0,i.default)(\"<div>\").addClass(n.join(\" \")).appendTo(t);R.addClass(D?\"dx-field-item-required\":\"dx-field-item-optional\"),k&&R.addClass(\"dx-flex-layout\");k&&y&&R.addClass(\"dx-field-item-label-align\");var B=(0,i.default)(\"<div>\");B.data(\"dx-form-item\",C);B.addClass(h.FIELD_ITEM_CONTENT_CLASS).addClass(\"dx-field-item-content-location-\"+{right:\"left\",left:\"right\",top:\"bottom\"}[w]);var L,V=null;x&&(v.labelTemplate&&(v.labelTemplateData=_(C,S,u)),V=(0,f.renderLabel)(v));if(V){var F=C.editorType;R.append(V),\"top\"!==b&&\"left\"!==b||R.append(B),\"right\"===b&&R.prepend(B),\"top\"===b?R.addClass(\"dx-label-v-align\"):R.addClass(\"dx-label-h-align\"),\"dxCheckBox\"!==F&&\"dxSwitch\"!==F||o.default.on(V,a.name,(function(){o.default.trigger(B.children(),a.name)}));var H=[\"dxCheckBox\",\"dxSwitch\",\"dxRadioGroup\"].includes(F),N=v.alignment,z=\"left\"===N||!N,j=\"top\"===b;!I&&H&&j&&z&&B.addClass(\"dx-toggle-controls-paddings\")}else R.append(B);if(I)I.render({container:(0,r.getPublicElement)(B),model:_(C,S,u),onRendered:function(){m(function(e){var t,n;return(null==e?void 0:e.data(\"dx-validation-target\"))||(null==e||null===(t=e.parent)||void 0===t||null===(n=t.call(e))||void 0===n?void 0:n.data(\"dx-validation-target\"))}(g(B)))}});else{var W=(0,i.default)(\"<div>\").appendTo(B);try{(L=p(W,C.editorType,S)).setAria(\"describedby\",T),E&&L.setAria(\"labelledby\",E),L.setAria(\"required\",D)}catch(e){d.default.log(\"E1035\",e.message)}}var G=g(B),q=G&&G.data(\"dx-validation-target\");if(q){var $,U=C.label&&C.label.text,K=U?null:O,Z=U?C.label.text:K&&(0,s.captionize)(K);if(k)if(C.validationRules)$=C.validationRules;else{var Y=(0,l.format)(P,Z||\"\");$=C.isRequired?[{type:\"required\",message:Y}]:null}Array.isArray($)&&$.length&&p(G,c.default,{validationRules:$,validationGroup:M,dataGetter:function(){return{formItem:C}}}),m(q)}if(A&&k){B.parent().append((0,i.default)(\"<div>\").addClass(\"dx-field-item-content-wrapper\").append(B).append((0,i.default)(\"<div>\").addClass(\"dx-field-item-help-text\").attr(\"id\",T).text(A)))}return{$fieldEditorContainer:B,$rootElement:R,widgetInstance:L}};var i=p(n(68374)),o=p(n(55994)),a=n(95429),r=n(6415),s=n(78008),l=n(68752),u=n(75811),d=p(n(96688)),c=p(n(39562)),h=n(31093),f=n(11042);function p(e){return e&&e.__esModule?e:{default:e}}t.FLEX_LAYOUT_CLASS=\"dx-flex-layout\";t.FIELD_ITEM_OPTIONAL_CLASS=\"dx-field-item-optional\";t.FIELD_ITEM_REQUIRED_CLASS=\"dx-field-item-required\";t.FIELD_ITEM_CONTENT_WRAPPER_CLASS=\"dx-field-item-content-wrapper\";t.FIELD_ITEM_CONTENT_LOCATION_CLASS=\"dx-field-item-content-location-\";t.FIELD_ITEM_LABEL_ALIGN_CLASS=\"dx-field-item-label-align\";t.FIELD_ITEM_HELP_TEXT_CLASS=\"dx-field-item-help-text\";t.LABEL_VERTICAL_ALIGNMENT_CLASS=\"dx-label-v-align\";t.LABEL_HORIZONTAL_ALIGNMENT_CLASS=\"dx-label-h-align\";t.TOGGLE_CONTROLS_PADDING_CLASS=\"dx-toggle-controls-paddings\";function g(e){var t=e.children().first();return t.hasClass(\"dx-template-wrapper\")?t.children().first():t}function m(e){if(e&&(0,u.isMaterial)()){var t=\".\".concat(\"dx-field-item-content-wrapper\"),n=function(e){var n=e.element,o=e.component,a=o.option(),r=a.isValid,s=a.validationMessageMode;(0,i.default)(n).parents(t).toggleClass(\"dx-invalid\",!1===r&&(o._isFocused()||\"always\"===s))};e.on(\"optionChanged\",(function(e){\"isValid\"===e.name&&n(e)})),e.on(\"focusIn\",n).on(\"focusOut\",n).on(\"enterKey\",n)}}function _(e,t,n){return{dataField:e.dataField,editorType:e.editorType,editorOptions:t,component:n,name:e.name}}},11042:function(e,t,n){t.GET_LABEL_WIDTH_BY_TEXT_CLASS=t.FIELD_ITEM_REQUIRED_MARK_CLASS=t.FIELD_ITEM_OPTIONAL_MARK_CLASS=t.FIELD_ITEM_LABEL_TEXT_CLASS=t.FIELD_ITEM_LABEL_LOCATION_CLASS=void 0,t.renderLabel=function(e){var t=e.text,n=e.id,i=e.location,u=e.alignment,d=e.labelID,c=void 0===d?null:d,h=e.markOptions,f=void 0===h?{}:h,p=e.labelTemplate,g=e.labelTemplateData,m=e.onLabelTemplateRendered;if((!(0,a.isDefined)(t)||t.length<=0)&&!(0,a.isDefined)(p))return null;var _=(0,o.default)(\"<label>\").addClass(l.FIELD_ITEM_LABEL_CLASS+\" dx-field-item-label-location-\"+i).attr(\"for\",n).attr(\"id\",c).css(\"textAlign\",u),v=(0,o.default)(\"<span>\").addClass(l.FIELD_ITEM_LABEL_CONTENT_CLASS),y=(0,o.default)(\"<span>\").addClass(\"dx-field-item-label-text\").text(t);p&&(y=(0,o.default)(\"<div>\").addClass(\"dx-field-item-custom-label-content\"),g.text=t,p.render({container:(0,r.getPublicElement)(y),model:g,onRendered:function(){null==m||m()}}));return _.append(v.append(y,function(e){var t=(0,s.getLabelMarkText)(e);if(\"\"===t)return null;return(0,o.default)(\"<span>\").addClass(e.showRequiredMark?\"dx-field-item-required-mark\":\"dx-field-item-optional-mark\").text(t)}(f)))},t.setLabelWidthByMaxLabelWidth=function(e,t,n){var i,o,a=\"\".concat(t,\" > .\").concat(l.FIELD_ITEM_LABEL_CLASS,\":not(.\").concat(\"dx-field-item-label-location-\",\"top) > .\").concat(l.FIELD_ITEM_LABEL_CONTENT_CLASS),r=e.find(a),s=r.length,d=0;for(o=0;o<s;o++)(i=u(r[o]))>d&&(d=i);for(o=0;o<s;o++)r[o].style.width=d+\"px\"};var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(35922),r=n(6415),s=n(61961),l=n(31093);t.GET_LABEL_WIDTH_BY_TEXT_CLASS=\"dx-layout-manager-hidden-label\";t.FIELD_ITEM_REQUIRED_MARK_CLASS=\"dx-field-item-required-mark\";t.FIELD_ITEM_LABEL_LOCATION_CLASS=\"dx-field-item-label-location-\";t.FIELD_ITEM_OPTIONAL_MARK_CLASS=\"dx-field-item-optional-mark\";function u(e){for(var t=0,n=e.children.length,i=0;i<n;i++){t+=e.children[i].offsetWidth}return t}t.FIELD_ITEM_LABEL_TEXT_CLASS=\"dx-field-item-label-text\"},31093:function(e,t){t.WIDGET_CLASS=t.SINGLE_COLUMN_ITEM_CONTENT=t.SIMPLE_ITEM_TYPE=t.ROOT_SIMPLE_ITEM_CLASS=t.LAYOUT_MANAGER_ONE_COLUMN=t.GROUP_COL_COUNT_CLASS=t.GROUP_COL_COUNT_ATTR=t.FORM_VALIDATION_SUMMARY=t.FORM_UNDERLINED_CLASS=t.FORM_LAYOUT_MANAGER_CLASS=t.FORM_GROUP_WITH_CAPTION_CLASS=t.FORM_GROUP_CONTENT_CLASS=t.FORM_GROUP_CLASS=t.FORM_GROUP_CAPTION_CLASS=t.FORM_FIELD_ITEM_COL_CLASS=t.FORM_CLASS=t.FIELD_ITEM_TAB_CLASS=t.FIELD_ITEM_LABEL_CONTENT_CLASS=t.FIELD_ITEM_LABEL_CLASS=t.FIELD_ITEM_CONTENT_HAS_TABS_CLASS=t.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS=t.FIELD_ITEM_CONTENT_CLASS=t.FIELD_ITEM_CLASS=void 0;t.WIDGET_CLASS=\"dx-widget\";t.FORM_CLASS=\"dx-form\";t.FORM_GROUP_CLASS=\"dx-form-group\";t.FORM_GROUP_CAPTION_CLASS=\"dx-form-group-caption\";t.FORM_FIELD_ITEM_COL_CLASS=\"dx-col-\";t.FIELD_ITEM_CLASS=\"dx-field-item\";t.LAYOUT_MANAGER_ONE_COLUMN=\"dx-layout-manager-one-col\";t.FIELD_ITEM_LABEL_CONTENT_CLASS=\"dx-field-item-label-content\";t.FORM_LAYOUT_MANAGER_CLASS=\"dx-layout-manager\";t.FIELD_ITEM_LABEL_CLASS=\"dx-field-item-label\";t.FIELD_ITEM_CONTENT_CLASS=\"dx-field-item-content\";t.SINGLE_COLUMN_ITEM_CONTENT=\"dx-single-column-item-content\";t.ROOT_SIMPLE_ITEM_CLASS=\"dx-root-simple-item\";t.FORM_GROUP_CONTENT_CLASS=\"dx-form-group-content\";t.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS=\"dx-field-item-has-group\";t.FIELD_ITEM_CONTENT_HAS_TABS_CLASS=\"dx-field-item-has-tabs\";t.FORM_GROUP_WITH_CAPTION_CLASS=\"dx-form-group-with-caption\";t.FIELD_ITEM_TAB_CLASS=\"dx-field-item-tab\";t.GROUP_COL_COUNT_CLASS=\"dx-group-colcount-\";t.GROUP_COL_COUNT_ATTR=\"group-col-count\";t.FORM_VALIDATION_SUMMARY=\"dx-form-validation-summary\";t.FORM_UNDERLINED_CLASS=\"dx-form-styling-mode-underlined\";t.SIMPLE_ITEM_TYPE=\"simple\"},58887:function(e,t,n){t.default=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i};var a=function(){function e(e){this._options=e,this._itemsRunTimeInfo=this._options.itemsRunTimeInfo}var t=e.prototype;return t.findInstance=function(){return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item)},t.findItemContainer=function(){return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item)},t.findPreparedItem=function(){return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item)},t.tryExecute=function(){o.default.abstract()},e}();t.default=a,e.exports=t.default,e.exports.default=t.default},83702:function(e,t,n){t.default=void 0;var i,o=(i=n(58887))&&i.__esModule?i:{default:i},a=n(97906),r=n(13306),s=n(35459);function l(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this._options.value,t=this.findInstance();return!!t&&(t.option(e),!0)},t}(o.default),c=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this.findInstance();if(e){var t=this._options,n=t.optionName,i=t.item,o=t.value,a=this._itemsRunTimeInfo.findItemIndexByItem(i);if(a>=0)return e.option((0,s.getFullOptionName)(\"items[\".concat(a,\"]\"),n),o),!0}return!1},t}(o.default),h=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){return!1},t}(o.default),f=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this.findPreparedItem();return!(null==e||!e._prepareGroupItemTemplate||!e._renderGroupContentTemplate)&&(e._prepareGroupItemTemplate(this._options.item.template),e._renderGroupContentTemplate(),!0)},t}(o.default),p=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this.findInstance();if(e){var t=this._options.value;return e.option(\"dataSource\",t),!0}return!1},t}(o.default),g=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this._options.item,t=this.findInstance(),n=t&&(0,a.data)(t.$element()[0],\"dxValidator\");if(n&&e){var i=function(e){return\"required\"===e.type},o=(n.option(\"validationRules\")||[]).some(i),r=(e.validationRules||[]).some(i);if(!o&&!r||o&&r)return n.option(\"validationRules\",e.validationRules),!0}return!1},t}(o.default),m=function(e){function t(){return e.apply(this,arguments)||this}return l(t,e),t.prototype.tryExecute=function(){var e=this.findItemContainer(),t=this._options,n=t.previousValue,i=t.value;return!!e&&(e.removeClass(n).addClass(i),!0)},t}(o.default),_=function(e,t){switch(e){case\"editorOptions\":case\"buttonOptions\":return new d(t);case\"validationRules\":return new g(t);case\"cssClass\":return new m(t);case\"badge\":case\"disabled\":case\"icon\":case\"tabTemplate\":case\"title\":return new c((0,r.extend)(t,{optionName:e}));case\"tabs\":return new p(t);case\"template\":var n,i,o,a=null!==(n=null==t||null===(i=t.item)||void 0===i?void 0:i.itemType)&&void 0!==n?n:null===(o=t.itemsRunTimeInfo.findPreparedItemByItem(null==t?void 0:t.item))||void 0===o?void 0:o.itemType;return\"simple\"===a?new h(t):\"group\"===a?new f(t):new c((0,r.extend)(t,{optionName:e}));default:return null}};t.default=_,e.exports=t.default,e.exports.default=t.default},10291:function(e,t,n){t.default=void 0;var i,o=(i=n(73176))&&i.__esModule?i:{default:i},a=n(95479),r=n(13306),s=n(35922);var l=function(){function e(){this._map={}}var t=e.prototype;return t._findWidgetInstance=function(e){var t;return(0,a.each)(this._map,(function(n,i){var o=i.widgetInstance,a=i.item;if(e(a))return t=o,!1})),t},t._findFieldByCondition=function(e,t){var n;return(0,a.each)(this._map,(function(i,o){if(e(o))return n=\"guid\"===t?i:o[t],!1})),n},t.clear=function(){this._map={}},t.removeItemsByItems=function(e){var t=this;(0,a.each)(e.getItems(),(function(e){return t.removeItemByKey(e)}))},t.removeItemByKey=function(e){delete this._map[e]},t.add=function(e){var t=e.guid||new o.default;return this._map[t]=e,t},t.addItemsOrExtendFrom=function(e){var t=this;e.each((function(e,n){t._map[e]?(n.widgetInstance&&(t._map[e].widgetInstance=n.widgetInstance),t._map[e].$itemContainer=n.$itemContainer):t.add({item:n.item,widgetInstance:n.widgetInstance,guid:e,$itemContainer:n.$itemContainer})}))},t.extendRunTimeItemInfoByKey=function(e,t){this._map[e]&&(this._map[e]=(0,r.extend)(this._map[e],t))},t.findWidgetInstanceByItem=function(e){return this._findWidgetInstance((function(t){return t===e}))},t.findGroupOrTabLayoutManagerByPath=function(e){return this._findFieldByCondition((function(t){return t.path===e}),\"layoutManager\")},t.findKeyByPath=function(e){return this._findFieldByCondition((function(t){return t.path===e}),\"guid\")},t.findWidgetInstanceByName=function(e){return this._findWidgetInstance((function(t){return e===t.name}))},t.findWidgetInstanceByDataField=function(e){return this._findWidgetInstance((function(t){return e===((0,s.isString)(t)?t:t.dataField)}))},t.findItemContainerByItem=function(e){for(var t in this._map)if(this._map[t].item===e)return this._map[t].$itemContainer;return null},t.findItemIndexByItem=function(e){return this._findFieldByCondition((function(t){return t.item===e}),\"itemIndex\")},t.findPreparedItemByItem=function(e){return this._findFieldByCondition((function(t){return t.item===e}),\"preparedItem\")},t.getItems=function(){return this._map},t.each=function(e){(0,a.each)(this._map,(function(t,n){e(t,n)}))},t.removeItemsByPathStartWith=function(e){var t=this;Object.keys(this._map).filter((function(n){return!!t._map[n].path&&t._map[n].path.indexOf(e,0)>-1})).forEach((function(e){return t.removeItemByKey(e)}))},e}();t.default=l,e.exports=t.default,e.exports.default=t.default},20763:function(e,t,n){t.default=void 0;var i=A(n(68374)),o=A(n(55994)),a=A(n(99393)),r=A(n(73176)),s=n(20576),l=A(n(80209)),u=n(35922),d=n(95479),c=n(13306),h=n(80506),f=n(6415),p=A(n(28109)),g=A(n(14390)),m=A(n(96452)),_=n(58201),v=A(n(90964)),y=A(n(10291)),b=A(n(21807)),x=A(n(41183)),w=n(62754),C=n(75811),S=A(n(83702)),k=A(n(91784));n(85532);var D=n(35459),I=n(61961),T=n(11042);n(97289),n(4401);var E=n(31093),O=n(10329);function A(e){return e&&e.__esModule?e:{default:e}}function P(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}(e)||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 M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function R(){return(R=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var B=[\"items\",\"isRequired\",\"validationRules\",\"visible\"],L=g.default.inherit({_init:function(){this.callBase(),this._cachedColCountOptions=[],this._itemsRunTimeInfo=new y.default,this._groupsColCount=[],this._attachSyncSubscriptions()},_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),{formID:\"dx-\"+new r.default,formData:{},colCount:1,screenByWidth:_.defaultScreenFactorFunc,colCountByScreen:void 0,labelLocation:\"left\",readOnly:!1,onFieldDataChanged:null,customizeItem:null,onEditorEnterKey:null,minColWidth:200,alignItemLabels:!0,alignItemLabelsInAllGroups:!0,alignRootItemLabels:!0,showColonAfterLabel:!0,showRequiredMark:!0,showOptionalMark:!1,requiredMark:\"*\",optionalMark:p.default.format(\"dxForm-optionalMark\"),requiredMessage:p.default.getFormatter(\"dxForm-requiredMessage\"),showValidationSummary:!1,items:void 0,scrollingEnabled:!1,validationGroup:void 0,stylingMode:(0,l.default)().editorStylingMode,labelMode:\"outside\"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return(0,C.isMaterial)()},options:{showColonAfterLabel:!1,labelLocation:\"top\"}}])},_setOptionsByReference:function(){this.callBase(),(0,c.extend)(this._optionsByReference,{formData:!0,validationGroup:!0})},_getGroupColCount:function(e){return parseInt(e.attr(E.GROUP_COL_COUNT_ATTR))},_applyLabelsWidthByCol:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0,o=n.inOneColumn?E.FIELD_ITEM_CLASS:E.FORM_FIELD_ITEM_COL_CLASS+t,a=n.excludeTabbed?\":not(.\".concat(E.FIELD_ITEM_TAB_CLASS,\")\"):\"\";(0,T.setLabelWidthByMaxLabelWidth)(e,\".\".concat(o).concat(a),i)},_applyLabelsWidth:function(e,t,n,i,o){i=n?1:i||this._getGroupColCount(e);var a,r={excludeTabbed:t,inOneColumn:n};for(a=0;a<i;a++)this._applyLabelsWidthByCol(e,a,r,o)},_getGroupElementsInColumn:function(e,t,n){var i=(0,u.isDefined)(n)?\".\"+E.GROUP_COL_COUNT_CLASS+n:\"\",o=\".\"+E.FORM_FIELD_ITEM_COL_CLASS+t+\" > .\"+E.FIELD_ITEM_CONTENT_CLASS+\" > .\"+E.FORM_GROUP_CLASS+i;return e.find(o)},_applyLabelsWidthWithGroups:function(e,t,n,i){if(!0===this.option(\"alignRootItemLabels\"))for(var o=e.find(\".\".concat(E.ROOT_SIMPLE_ITEM_CLASS)),a=0;a<t;a++)this._applyLabelsWidthByCol(o,a,n,i);if(this.option(\"alignItemLabelsInAllGroups\"))this._applyLabelsWidthWithNestedGroups(e,t,n,i);else{var r,s=this.$element().find(\".\"+E.FORM_GROUP_CLASS);for(r=0;r<s.length;r++)this._applyLabelsWidth(s.eq(r),n,void 0,void 0,i)}},_applyLabelsWidthWithNestedGroups:function(e,t,n,i){var o,a,r,s,l={excludeTabbed:n};for(o=0;o<t;o++)for(s=this._getGroupElementsInColumn(e,o),this._applyLabelsWidthByCol(s,0,l,i),a=0;a<this._groupsColCount.length;a++){s=this._getGroupElementsInColumn(e,o,this._groupsColCount[a]);var u=this._getGroupColCount(s);for(r=1;r<u;r++)this._applyLabelsWidthByCol(s,r,l,i)}},_labelLocation:function(){return this.option(\"labelLocation\")},_alignLabelsInColumn:function(e){var t=e.layoutManager,n=e.inOneColumn,i=e.$container,o=e.excludeTabbed,a=e.items;if((0,_.hasWindow)()&&\"top\"!==this._labelLocation()){var r=(0,I.convertToLabelMarkOptions)(t._getMarkOptions());n?this._applyLabelsWidth(i,o,!0,void 0,r):this._checkGrouping(a)?this._applyLabelsWidthWithGroups(i,t._getColCount(),o,r):this._applyLabelsWidth(i,o,!1,t._getColCount(),r)}},_prepareFormData:function(){(0,u.isDefined)(this.option(\"formData\"))||this.option(\"formData\",{})},_setStylingModeClass:function(){\"underlined\"===this.option(\"stylingMode\")&&this.$element().addClass(E.FORM_UNDERLINED_CLASS)},_initMarkup:function(){v.default.addGroup(this._getValidationGroup()),this._clearCachedInstances(),this._prepareFormData(),this.$element().addClass(E.FORM_CLASS),this._setStylingModeClass(),this.callBase(),this.setAria(\"role\",\"form\",this.$element()),this.option(\"scrollingEnabled\")&&this._renderScrollable(),this._renderLayout(),this._renderValidationSummary(),this._lastMarkupScreenFactor=this._targetScreenFactor||this._getCurrentScreenFactor(),this._attachResizeObserverSubscription()},_attachResizeObserverSubscription:function(){var e=this;if((0,_.hasWindow)()){var t=this.$element().get(0);k.default.unobserve(t),k.default.observe(t,(function(){e._resizeHandler()}))}},_resizeHandler:function(){this._cachedLayoutManagers.length&&(0,d.each)(this._cachedLayoutManagers,(function(e,t){var n;null===(n=t.option(\"onLayoutChanged\"))||void 0===n||n(t.isSingleColumnMode())}))},_getCurrentScreenFactor:function(){return(0,_.hasWindow)()?(0,_.getCurrentScreenFactor)(this.option(\"screenByWidth\")):\"lg\"},_clearCachedInstances:function(){this._itemsRunTimeInfo.clear(),this._cachedLayoutManagers=[]},_alignLabels:function(e,t){this._alignLabelsInColumn({$container:this.$element(),layoutManager:e,excludeTabbed:!0,items:this.option(\"items\"),inOneColumn:t}),(0,h.triggerResizeEvent)(this.$element().find(\".\".concat(O.TOOLBAR_CLASS)))},_clean:function(){this._clearValidationSummary(),this.callBase(),this._groupsColCount=[],this._cachedColCountOptions=[],this._lastMarkupScreenFactor=void 0,k.default.unobserve(this.$element().get(0))},_renderScrollable:function(){var e=this.option(\"useNativeScrolling\");this._scrollable=new x.default(this.$element(),{useNative:!!e,useSimulatedScrollbar:!e,useKeyboard:!1,direction:\"both\",bounceEnabled:!1})},_getContent:function(){return this.option(\"scrollingEnabled\")?(0,i.default)(this._scrollable.content()):this.$element()},_clearValidationSummary:function(){var e;null===(e=this._$validationSummary)||void 0===e||e.remove(),this._$validationSummary=void 0,this._validationSummary=void 0},_renderValidationSummary:function(){this._clearValidationSummary(),this.option(\"showValidationSummary\")&&(this._$validationSummary=(0,i.default)(\"<div>\").addClass(E.FORM_VALIDATION_SUMMARY).appendTo(this._getContent()),this._validationSummary=this._$validationSummary.dxValidationSummary({validationGroup:this._getValidationGroup()}).dxValidationSummary(\"instance\"))},_prepareItems:function(e,t,n,i){if(e){for(var o=[],a=0;a<e.length;a++){var r=e[a],s=(0,D.concatPaths)(n,(0,D.createItemPathByIndex)(a,i)),l={item:r,itemIndex:a,path:s},d=this._itemsRunTimeInfo.add(l);if((0,u.isString)(r)&&(r={dataField:r}),(0,u.isObject)(r)){var c=R({},r);l.preparedItem=c,c.guid=d,this._tryPrepareGroupItem(c),this._tryPrepareTabbedItem(c,s),this._tryPrepareItemTemplate(c),t&&(c.cssItemClass=E.FIELD_ITEM_TAB_CLASS),c.items&&(c.items=this._prepareItems(c.items,t,s)),o.push(c)}else o.push(r)}return o}},_tryPrepareGroupItem:function(e){var t=this;\"group\"===e.itemType&&(e.alignItemLabels=(0,s.ensureDefined)(e.alignItemLabels,!0),e._prepareGroupItemTemplate=function(n){e.template&&(e.groupContentTemplate=t._getTemplate(n)),e.template=t._itemGroupTemplate.bind(t,e)},e._prepareGroupItemTemplate(e.template))},_tryPrepareTabbedItem:function(e,t){\"tabbed\"===e.itemType&&(e.template=this._itemTabbedTemplate.bind(this,e),e.tabs=this._prepareItems(e.tabs,!0,t,!0))},_tryPrepareItemTemplate:function(e){e.template&&(e.template=this._getTemplate(e.template))},_checkGrouping:function(e){if(e)for(var t=0;t<e.length;t++){if(\"group\"===e[t].itemType)return!0}},_renderLayout:function(){var e=this,t=e.option(\"items\"),n=e._getContent();t=e._prepareItems(t),e._rootLayoutManager=e._renderLayoutManager(n,this._createLayoutManagerOptions(t,{isRoot:!0,colCount:e.option(\"colCount\"),alignItemLabels:e.option(\"alignItemLabels\"),screenByWidth:this.option(\"screenByWidth\"),colCountByScreen:this.option(\"colCountByScreen\"),onLayoutChanged:function(t){e._alignLabels.bind(e)(e._rootLayoutManager,t)},onContentReady:function(t){e._alignLabels(t.component,t.component.isSingleColumnMode())}}))},_tryGetItemsForTemplate:function(e){return e.items||[]},_itemTabbedTemplate:function(e,t,n){var o,a=this,r=(0,i.default)(\"<div>\").appendTo(n),l=(0,c.extend)({},e.tabPanelOptions,{dataSource:e.tabs,onItemRendered:function(t){var n,i;null===(n=e.tabPanelOptions)||void 0===n||null===(i=n.onItemRendered)||void 0===i||i.call(n,t),(0,h.triggerShownEvent)(t.itemElement)},itemTemplate:function(e,t,n){var o=(0,i.default)(n),r=(0,s.ensureDefined)(e.alignItemLabels,!0),l=a._renderLayoutManager(o,a._createLayoutManagerOptions(a._tryGetItemsForTemplate(e),{colCount:e.colCount,alignItemLabels:r,screenByWidth:a.option(\"screenByWidth\"),colCountByScreen:e.colCountByScreen,cssItemClass:e.cssItemClass,onLayoutChanged:function(t){a._alignLabelsInColumn({$container:o,layoutManager:l,items:e.items,inOneColumn:t})}}));a._itemsRunTimeInfo&&a._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid,{layoutManager:l}),r&&a._alignLabelsInColumn({$container:o,layoutManager:l,items:e.items,inOneColumn:l.isSingleColumnMode()})}}),u=function(e,t){Array.isArray(e)&&e.forEach((function(e){return a._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid,{widgetInstance:t})}))},d=this._createComponent(r,b.default,l);(0,i.default)(n).parent().addClass(E.FIELD_ITEM_CONTENT_HAS_TABS_CLASS),d.on(\"optionChanged\",(function(e){\"dataSource\"===e.fullName&&u(e.value,e.component)})),u([{guid:e.guid}].concat(P(null!==(o=e.tabs)&&void 0!==o?o:[])),d)},_itemGroupTemplate:function(e,t,n){var o=this,a=t.editorOptions.inputAttr.id,r=(0,i.default)(\"<div>\").toggleClass(E.FORM_GROUP_WITH_CAPTION_CLASS,(0,u.isDefined)(e.caption)&&e.caption.length).addClass(E.FORM_GROUP_CLASS).appendTo(n),s={role:\"group\",labelledby:a};this.setAria(s,r),(0,i.default)(n).parent().addClass(E.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS),e.caption&&(0,i.default)(\"<span>\").addClass(E.FORM_GROUP_CAPTION_CLASS).text(e.caption).attr(\"id\",a).appendTo(r);var l=(0,i.default)(\"<div>\").addClass(E.FORM_GROUP_CONTENT_CLASS).appendTo(r);if(e.groupContentTemplate)e._renderGroupContentTemplate=function(){l.empty();var t={formData:o.option(\"formData\"),component:o};e.groupContentTemplate.render({model:t,container:(0,f.getPublicElement)(l)})},e._renderGroupContentTemplate();else{var d=this._renderLayoutManager(l,this._createLayoutManagerOptions(this._tryGetItemsForTemplate(e),{colCount:e.colCount,colCountByScreen:e.colCountByScreen,alignItemLabels:e.alignItemLabels,cssItemClass:e.cssItemClass}));this._itemsRunTimeInfo&&this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid,{layoutManager:d});var c=d._getColCount();this._groupsColCount.includes(c)||this._groupsColCount.push(c),r.addClass(E.GROUP_COL_COUNT_CLASS+c),r.attr(E.GROUP_COL_COUNT_ATTR,c)}},_createLayoutManagerOptions:function(e,t){var n=this;return(0,D.convertToLayoutManagerOptions)({form:this,formOptions:this.option(),$formElement:this.$element(),items:e,validationGroup:this._getValidationGroup(),extendedLayoutManagerOptions:t,onFieldDataChanged:function(e){n._isDataUpdating||n._triggerOnFieldDataChanged(e)},onContentReady:function(e){n._itemsRunTimeInfo.addItemsOrExtendFrom(e.component._itemsRunTimeInfo),t.onContentReady&&t.onContentReady(e)},onDisposing:function(e){var t=e.component.getItemsRunTimeInfo();n._itemsRunTimeInfo.removeItemsByItems(t)},onFieldItemRendered:function(){var e;null===(e=n._validationSummary)||void 0===e||e.refreshValidationGroup()}})},_renderLayoutManager:function(e,t){var n=this,o={lg:t.colCount,md:t.colCount,sm:t.colCount,xs:1};this._cachedColCountOptions.push({colCountByScreen:(0,c.extend)(o,t.colCountByScreen)});var a=(0,i.default)(\"<div>\");a.appendTo(e);var r=this._createComponent(a,\"dxLayoutManager\",t);return r.on(\"autoColCountChanged\",(function(){n._clearAutoColCountChangedTimeout(),n.autoColCountChangedTimeoutId=setTimeout((function(){return!n._disposed&&n._refresh()}),0)})),this._cachedLayoutManagers.push(r),r},_getValidationGroup:function(){return this.option(\"validationGroup\")||this},_createComponent:function(e,t,n){return n=n||{},this._extendConfig(n,{readOnly:this.option(\"readOnly\")}),this.callBase(e,t,n)},_attachSyncSubscriptions:function(){var e=this;e.on(\"optionChanged\",(function(t){var n=t.fullName;\"formData\"===n&&((0,u.isDefined)(t.value)||e._options.silent(\"formData\",t.value={}),e._triggerOnFieldDataChangedByDataSet(t.value)),e._cachedLayoutManagers.length&&(0,d.each)(e._cachedLayoutManagers,(function(i,o){\"formData\"===n&&(e._isDataUpdating=!0,o.option(\"layoutData\",t.value),e._isDataUpdating=!1),\"readOnly\"!==t.name&&\"disabled\"!==t.name||o.option(n,t.value)}))}))},_optionChanged:function(e){var t=e.fullName.split(\".\");t.length>1&&-1!==t[0].search(\"items\")&&this._itemsOptionChangedHandler(e)||t.length>1&&-1!==t[0].search(\"formData\")&&this._formDataOptionChangedHandler(e)||this._defaultOptionChangedHandler(e)},_defaultOptionChangedHandler:function(e){switch(e.name){case\"formData\":this.option(\"items\")?(0,u.isEmptyObject)(e.value)&&this._resetValues():this._invalidate();break;case\"onFieldDataChanged\":break;case\"items\":case\"colCount\":case\"onEditorEnterKey\":case\"labelLocation\":case\"labelMode\":case\"alignItemLabels\":case\"showColonAfterLabel\":case\"customizeItem\":case\"alignItemLabelsInAllGroups\":case\"showRequiredMark\":case\"showOptionalMark\":case\"requiredMark\":case\"optionalMark\":case\"requiredMessage\":case\"scrollingEnabled\":case\"formID\":case\"colCountByScreen\":case\"screenByWidth\":case\"stylingMode\":this._invalidate();break;case\"showValidationSummary\":this._renderValidationSummary();break;case\"minColWidth\":\"auto\"===this.option(\"colCount\")&&this._invalidate();break;case\"alignRootItemLabels\":case\"readOnly\":break;case\"width\":this.callBase(e),this._rootLayoutManager.option(e.name,e.value),this._alignLabels(this._rootLayoutManager,this._rootLayoutManager.isSingleColumnMode());break;case\"validationGroup\":v.default.removeGroup(e.previousValue||this),this._invalidate();break;default:this.callBase(e)}},_itemsOptionChangedHandler:function(e){var t=e.fullName.split(\".\"),n=e.value,i=this._getItemPath(t),o=this.option(i),a=e.fullName.replace(i+\".\",\"\"),r=a.split(\".\")[0].replace(/\\[\\d+]/,\"\"),s=this._tryCreateItemOptionAction(r,o,o[r],e.previousValue,i),l=this._tryExecuteItemOptionAction(s)||this._tryChangeLayoutManagerItemOption(e.fullName,n);if(!l&&o){this._changeItemOption(o,a,n);var u=this._generateItemsFromData(this.option(\"items\"));this.option(\"items\",u),l=!0}return l},_formDataOptionChangedHandler:function(e){var t=e.fullName.split(\".\"),n=e.value,i=t.slice(1).join(\".\"),o=this.getEditor(i);return o?o.option(\"value\",n):this._triggerOnFieldDataChanged({dataField:i,value:n}),!0},_tryCreateItemOptionAction:function(e,t,n,i,o){return\"tabs\"===e&&(this._itemsRunTimeInfo.removeItemsByPathStartWith(\"\".concat(o,\".tabs\")),n=this._prepareItems(n,!0,o,!0)),(0,S.default)(e,{item:t,value:n,previousValue:i,itemsRunTimeInfo:this._itemsRunTimeInfo})},_tryExecuteItemOptionAction:function(e){return e&&e.tryExecute()},_updateValidationGroupAndSummaryIfNeeded:function(e){var t,n=(0,D.getOptionNameFromFullName)(e);B.indexOf(n)>-1&&(v.default.addGroup(this._getValidationGroup()),this.option(\"showValidationSummary\")&&(null===(t=this._validationSummary)||void 0===t||t.refreshValidationGroup()))},_setLayoutManagerItemOption:function(e,t,n,i){var o=this;if(this._updateLockCount>0){!e._updateLockCount&&e.beginUpdate();var a=this._itemsRunTimeInfo.findKeyByPath(i);this.postponedOperations.add(a,(function(){return!e._disposed&&e.endUpdate(),(new w.Deferred).resolve()}))}e.on(\"contentReady\",(function e(t){if(t.component.off(\"contentReady\",e),(0,D.isFullPathContainsTabs)(i)){var n=(0,D.tryGetTabPath)(i),a=o._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(n);a&&o._alignLabelsInColumn({items:a.option(\"items\"),layoutManager:a,$container:a.$element(),inOneColumn:a.isSingleColumnMode()})}else o._alignLabels(o._rootLayoutManager,o._rootLayoutManager.isSingleColumnMode())})),e.option(t,n),this._updateValidationGroupAndSummaryIfNeeded(t)},_tryChangeLayoutManagerItemOption:function(e,t){var n=e.split(\".\"),i=(0,D.getOptionNameFromFullName)(e);if(\"items\"===i&&n.length>1){var o=this._getItemPath(n),a=this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(o);if(a){this._itemsRunTimeInfo.removeItemsByItems(a.getItemsRunTimeInfo());var r=this._prepareItems(t,!1,o);return this._setLayoutManagerItemOption(a,i,r,o),!0}}else if(n.length>2){var s=n.length-2,l=this._getItemPath(n.slice(0,s)),u=this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(l);if(u){var d=(0,D.getFullOptionName)(n[s],i);if(\"editorType\"===i&&u.option(d)!==t)return!1;if(\"visible\"===i){var c=this.option((0,D.getFullOptionName)(l,\"items\"));if(c&&c.length){var h=u.option(\"items\");c.forEach((function(e,t){h[t].visibleIndex=e.visibleIndex}))}}return this._setLayoutManagerItemOption(u,d,t,l),!0}}return!1},_tryChangeLayoutManagerItemOptions:function(e,t){var n,i=this;return this.beginUpdate(),(0,d.each)(t,(function(t,o){if(!(n=i._tryChangeLayoutManagerItemOption((0,D.getFullOptionName)(e,t),o)))return!1})),this.endUpdate(),n},_getItemPath:function(e){var t,n=e[0];for(t=1;t<e.length&&-1!==e[t].search(/items\\[\\d+]|tabs\\[\\d+]/);t++)n+=\".\"+e[t];return n},_triggerOnFieldDataChanged:function(e){this._createActionByOption(\"onFieldDataChanged\")(e)},_triggerOnFieldDataChangedByDataSet:function(e){var t=this;e&&(0,u.isObject)(e)&&(0,d.each)(e,(function(e,n){t._triggerOnFieldDataChanged({dataField:e,value:n})}))},_updateFieldValue:function(e,t){if((0,u.isDefined)(this.option(\"formData\"))){var n=this.getEditor(e);if(this.option(\"formData.\"+e,t),n)n.option(\"value\")!==t&&n.option(\"value\",t)}},_generateItemsFromData:function(e){var t=this.option(\"formData\"),n=[];return!e&&(0,u.isDefined)(t)&&(0,d.each)(t,(function(e){n.push({dataField:e})})),e&&(0,d.each)(e,(function(e,t){(0,u.isObject)(t)?n.push(t):n.push({dataField:t})})),n},_getItemByField:function(e,t){var n,i=this,o=(0,u.isObject)(e)?e:i._getFieldParts(e),a=o.fieldName,r=o.fieldPath;return t.length&&(0,d.each)(t,(function(e,t){var o=t.itemType;if(r.length){var s=r.slice();t=i._getItemByFieldPath(s,a,t)}else if(\"group\"===o&&!t.caption&&!t.name||\"tabbed\"===o&&!t.name){var l=i._getSubItemField(o);t.items=i._generateItemsFromData(t.items),t=i._getItemByField({fieldName:a,fieldPath:r},t[l])}if((0,D.isEqualToDataFieldOrNameOrTitleOrCaption)(t,a))return n=t,!1})),n},_getFieldParts:function(e){for(var t=e,n=t.indexOf(\".\"),i=[];-1!==n;)i.push(t.substr(0,n)),n=(t=t.substr(n+1)).indexOf(\".\");return{fieldName:t,fieldPath:i.reverse()}},_getItemByFieldPath:function(e,t,n){var i,o=n.itemType,a=this._getSubItemField(o),r=\"group\"===o||\"tabbed\"===o||n.title;do{if(!r)break;var s=n.name||n.caption||n.title,l=(0,u.isDefined)(s),d=(0,D.getTextWithoutSpaces)(s),c=void 0;if(n[a]=this._generateItemsFromData(n[a]),l&&(c=e.pop()),!e.length&&(i=this._getItemByField(t,n[a])))break;(!l||l&&d===c)&&e.length&&(i=this._searchItemInEverySubItem(e,t,n[a]))}while(e.length&&!(0,u.isDefined)(i));return i},_getSubItemField:function(e){return\"tabbed\"===e?\"tabs\":\"items\"},_searchItemInEverySubItem:function(e,t,n){var i,o=this;return(0,d.each)(n,(function(n,a){if(i=o._getItemByFieldPath(e.slice(),t,a))return!1})),i||(i=!1),i},_changeItemOption:function(e,t,n){(0,u.isObject)(e)&&(e[t]=n)},_dimensionChanged:function(){var e=this._getCurrentScreenFactor();this._lastMarkupScreenFactor!==e&&(this._isColCountChanged(this._lastMarkupScreenFactor,e)&&(this._targetScreenFactor=e,this._refresh(),this._targetScreenFactor=void 0),this._lastMarkupScreenFactor=e)},_isColCountChanged:function(e,t){var n=!1;return(0,d.each)(this._cachedColCountOptions,(function(i,o){if(o.colCountByScreen[e]!==o.colCountByScreen[t])return n=!0,!1})),n},_refresh:function(){o.default.trigger(this.$element().find(\".dx-state-focused input, .dx-state-focused textarea\"),\"change\"),this.callBase()},_resetValues:function(){this._itemsRunTimeInfo.each((function(e,t){(0,u.isDefined)(t.widgetInstance)&&m.default.isEditor(t.widgetInstance)&&(t.widgetInstance.reset(),t.widgetInstance.option(\"isValid\",!0))})),v.default.resetGroup(this._getValidationGroup())},_updateData:function(e,t,n){var i=this,o=n?t:e;(0,u.isObject)(o)?(0,d.each)(o,(function(t,o){i._updateData(n?e+\".\"+t:t,o,(0,u.isObject)(o))})):(0,u.isString)(e)&&i._updateFieldValue(e,t)},registerKeyHandler:function(e,t){this.callBase(e,t),this._itemsRunTimeInfo.each((function(n,i){(0,u.isDefined)(i.widgetInstance)&&i.widgetInstance.registerKeyHandler(e,t)}))},_focusTarget:function(){return this.$element().find(\".\"+E.FIELD_ITEM_CONTENT_CLASS+\" [tabindex]\").first()},_visibilityChanged:function(){this._alignLabels(this._rootLayoutManager,this._rootLayoutManager.isSingleColumnMode())},_clearAutoColCountChangedTimeout:function(){this.autoColCountChangedTimeoutId&&(clearTimeout(this.autoColCountChangedTimeoutId),this.autoColCountChangedTimeoutId=void 0)},_dispose:function(){this._clearAutoColCountChangedTimeout(),v.default.removeGroup(this._getValidationGroup()),this.callBase()},resetValues:function(){this._resetValues()},updateData:function(e,t){this._updateData(e,t)},getEditor:function(e){return this._itemsRunTimeInfo.findWidgetInstanceByDataField(e)||this._itemsRunTimeInfo.findWidgetInstanceByName(e)},getButton:function(e){return this._itemsRunTimeInfo.findWidgetInstanceByName(e)},updateDimensions:function(){var e=this,t=new w.Deferred;return e._scrollable?e._scrollable.update().done((function(){t.resolveWith(e)})):t.resolveWith(e),t.promise()},itemOption:function(e,t,n){var i=this,o=this._generateItemsFromData(this.option(\"items\")),a=this._getItemByField(e,o),r=(0,D.getItemPath)(o,a);if(a)switch(arguments.length){case 1:return a;case 3:var s=this._tryCreateItemOptionAction(t,a,n,a[t],r);this._changeItemOption(a,t,n);var l=(0,D.getFullOptionName)(r,t);this._tryExecuteItemOptionAction(s)||this._tryChangeLayoutManagerItemOption(l,n)||this.option(\"items\",o);break;default:var c;if((0,u.isObject)(t))if(!this._tryChangeLayoutManagerItemOptions(r,t))(0,d.each)(t,(function(e,t){var n=i._tryCreateItemOptionAction(e,a,t,a[e],r);i._changeItemOption(a,e,t),c||i._tryExecuteItemOptionAction(n)||(c=!0)})),c&&this.option(\"items\",o)}},validate:function(){return v.default.validateGroup(this._getValidationGroup())},getItemID:function(e){return\"dx_\"+this.option(\"formID\")+\"_\"+(e||new r.default)},getTargetScreenFactor:function(){return this._targetScreenFactor}});(0,a.default)(\"dxForm\",L);var V=L;t.default=V,e.exports=t.default,e.exports.default=t.default},85532:function(e,t,n){t.default=void 0;var i=n(58664),o=S(n(68374)),a=S(n(55994)),r=S(n(10291)),s=S(n(99393)),l=n(35922),u=S(n(26974)),d=n(58201),c=n(95479),h=n(13306),f=n(89386),p=n(47617),g=n(29007),m=S(n(28109)),_=S(n(14390)),v=S(n(21643)),y=n(31093);n(29837),n(34171),n(18859),n(29589),n(63008);var b=n(21014),x=n(77509),w=n(46193),C=n(61961);function S(e){return e&&e.__esModule?e:{default:e}}function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function D(e){return(D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function I(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(e,t)}(e)||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 T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var E=_.default.inherit({_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{layoutData:{},readOnly:!1,colCount:1,colCountByScreen:void 0,labelLocation:\"left\",onFieldDataChanged:null,onEditorEnterKey:null,customizeItem:null,alignItemLabels:!0,minColWidth:200,showRequiredMark:!0,screenByWidth:null,showOptionalMark:!1,requiredMark:\"*\",labelMode:\"outside\",optionalMark:m.default.format(\"dxForm-optionalMark\"),requiredMessage:m.default.getFormatter(\"dxForm-requiredMessage\")})},_setOptionsByReference:function(){this.callBase(),(0,h.extend)(this._optionsByReference,{layoutData:!0,validationGroup:!0})},_init:function(){var e=this.option(\"layoutData\");this.callBase(),this._itemWatchers=[],this._itemsRunTimeInfo=new r.default,this._updateReferencedOptions(e),this._initDataAndItems(e)},_dispose:function(){this.callBase(),this._cleanItemWatchers()},_initDataAndItems:function(e){this._syncDataWithItems(),this._updateItems(e)},_syncDataWithItems:function(){var e=this,t=this.option(\"layoutData\"),n=this.option(\"items\");(0,l.isDefined)(n)&&n.forEach((function(n){var i;n.dataField&&void 0===e._getDataByField(n.dataField)&&(n.editorOptions&&(i=n.editorOptions.value),((0,l.isDefined)(i)||n.dataField in t)&&e._updateFieldValue(n.dataField,i))}))},_getDataByField:function(e){return e?this.option(\"layoutData.\"+e):null},_isCheckboxUndefinedStateEnabled:function(e){var t=e.allowIndeterminateState,n=e.editorType,i=e.dataField;if(!0===t&&\"dxCheckBox\"===n){var o=[\"layoutData\"].concat(I(i.split(\".\"))),a=o.pop(),r=this.option(o.join(\".\"));return r&&a in r}return!1},_updateFieldValue:function(e,t){var n=this.option(\"layoutData\"),i=t;!u.default.isWrapped(n[e])&&(0,l.isDefined)(e)?this.option(\"layoutData.\"+e,i):u.default.isWritableWrapped(n[e])&&(i=(0,l.isFunction)(i)?i():i,n[e](i)),this._triggerOnFieldDataChanged({dataField:e,value:i})},_triggerOnFieldDataChanged:function(e){this._createActionByOption(\"onFieldDataChanged\")(e)},_updateItems:function(e){var t=this,n=this.option(\"items\"),i=(0,l.isDefined)(n),o=t.option(\"customizeItem\"),a=i?n:this._generateItemsByData(e);if((0,l.isDefined)(a)){var r=[];(0,c.each)(a,(function(e,n){t._isAcceptableItem(n)&&(n=t._processItem(n),o&&o(n),(0,l.isObject)(n)&&!1!==u.default.unwrap(n.visible)&&r.push(n))})),t._itemWatchers.length&&i||t._updateItemWatchers(a),this._setItems(r),this._sortItems()}},_cleanItemWatchers:function(){this._itemWatchers.forEach((function(e){e()})),this._itemWatchers=[]},_updateItemWatchers:function(e){var t=this,n=t._getWatch();e.forEach((function(e){(0,l.isObject)(e)&&(0,l.isDefined)(e.visible)&&(0,l.isFunction)(n)&&t._itemWatchers.push(n((function(){return u.default.unwrap(e.visible)}),(function(){t._updateItems(t.option(\"layoutData\")),t.repaint()}),{skipImmediate:!0}))}))},_generateItemsByData:function(e){var t=[];return(0,l.isDefined)(e)&&(0,c.each)(e,(function(e){t.push({dataField:e})})),t},_isAcceptableItem:function(e){var t=e.dataField||e,n=this._getDataByField(t);return!((0,l.isFunction)(n)&&!u.default.isWrapped(n))},_processItem:function(e){if(\"string\"==typeof e&&(e={dataField:e}),\"object\"!==D(e)||e.itemType||(e.itemType=y.SIMPLE_ITEM_TYPE),!(0,l.isDefined)(e.editorType)&&(0,l.isDefined)(e.dataField)){var t=this._getDataByField(e.dataField);e.editorType=(0,l.isDefined)(t)?this._getEditorTypeByDataType((0,l.type)(t)):\"dxTextBox\"}var n;\"dxCheckBox\"===e.editorType&&(e.allowIndeterminateState=null===(n=e.allowIndeterminateState)||void 0===n||n);return e},_getEditorTypeByDataType:function(e){switch(e){case\"number\":return\"dxNumberBox\";case\"date\":return\"dxDateBox\";case\"boolean\":return\"dxCheckBox\";default:return\"dxTextBox\"}},_sortItems:function(){(0,f.normalizeIndexes)(this._items,\"visibleIndex\"),this._sortIndexes()},_sortIndexes:function(){this._items.sort((function(e,t){var n=e.visibleIndex,i=t.visibleIndex;return n>i?1:n<i?-1:0}))},_initMarkup:function(){this._itemsRunTimeInfo.clear(),this.$element().addClass(y.FORM_LAYOUT_MANAGER_CLASS),this.callBase(),this._renderResponsiveBox()},_renderResponsiveBox:function(){var e=[];if(this._items&&this._items.length){var t=this._getColCount(),n=(0,o.default)(\"<div>\").appendTo(this.$element());this._prepareItemsWithMerging(t);var i=this._generateLayoutItems();this._responsiveBox=this._createComponent(n,v.default,this._getResponsiveBoxConfig(i,t,e)),(0,d.hasWindow)()||this._renderTemplates(e)}},_itemStateChangedHandler:function(e){this._refresh()},_renderTemplates:function(e){var t=this,n=0;e.forEach((function(e){var t,i=e.item;null!=i&&null!==(t=i.label)&&void 0!==t&&t.template&&n++})),(0,c.each)(e,(function(e,i){switch(i.itemType){case\"empty\":(0,w.renderEmptyItem)(i);break;case\"button\":t._renderButtonItem(i);break;default:t._renderFieldItem(i,n)}}))},_getResponsiveBoxConfig:function(e,t,n){var i=this,a=i.option(\"colCountByScreen\"),r=a&&a.xs;return{onItemStateChanged:this._itemStateChangedHandler.bind(this),onLayoutChanged:function(){var e=i.option(\"onLayoutChanged\"),t=i.isSingleColumnMode();e&&(i.$element().toggleClass(y.LAYOUT_MANAGER_ONE_COLUMN,t),e(t))},onContentReady:function(e){(0,d.hasWindow)()&&i._renderTemplates(n),i.option(\"onLayoutChanged\")&&i.$element().toggleClass(y.LAYOUT_MANAGER_ONE_COLUMN,i.isSingleColumnMode(e.component))},itemTemplate:function(e,a,r){if(e.location){var s=(0,o.default)(r),u=e.location.row*t,d=i._items[e.location.col+u];if(d){var c=[d.cssClass];s.toggleClass(y.SINGLE_COLUMN_ITEM_CONTENT,i.isSingleColumnMode(this)),0===e.location.row&&c.push(\"dx-first-row\"),0===e.location.col&&c.push(\"dx-first-col\"),d.itemType===y.SIMPLE_ITEM_TYPE&&i.option(\"isRoot\")&&s.addClass(y.ROOT_SIMPLE_ITEM_CLASS);var h=e.location.col===t-1||e.location.col+e.location.colspan===t,f=i._getRowsCount(),p=e.location.row===f-1;h&&c.push(\"dx-last-col\"),p&&c.push(\"dx-last-row\"),\"empty\"!==d.itemType&&(c.push(y.FIELD_ITEM_CLASS),c.push(i.option(\"cssItemClass\")),(0,l.isDefined)(d.col)&&c.push(\"dx-col-\"+d.col)),n.push({itemType:d.itemType,item:d,$parent:s,rootElementCssClassList:c})}}},cols:i._generateRatio(t),rows:i._generateRatio(i._getRowsCount(),!0),dataSource:e,screenByWidth:i.option(\"screenByWidth\"),singleColumnScreen:!r&&\"xs\"}},_getColCount:function(){var e=this.option(\"colCount\"),t=this.option(\"colCountByScreen\");if(t){var n=this.option(\"form\").getTargetScreenFactor();n||(n=(0,d.hasWindow)()?(0,d.getCurrentScreenFactor)(this.option(\"screenByWidth\")):\"lg\"),e=t[n]||e}if(\"auto\"===e){if(this._cashedColCount)return this._cashedColCount;this._cashedColCount=e=this._getMaxColCount()}return e<1?1:e},_getMaxColCount:function(){if(!(0,d.hasWindow)())return 1;var e=this.option(\"minColWidth\"),t=(0,i.getWidth)(this.$element()),n=this._items.length,o=Math.floor(t/e)||1;return n<o?n:o},isCachedColCountObsolete:function(){return this._cashedColCount&&this._getMaxColCount()!==this._cashedColCount},_prepareItemsWithMerging:function(e){var t,n,i,o,a=this._items.slice(0),r=[];for(o=0;o<a.length;o++)if(t=a[o],r.push(t),(this.option(\"alignItemLabels\")||t.alignItemLabels||t.colSpan)&&(t.col=this._getColByIndex(r.length-1,e)),t.colSpan>1&&t.col+t.colSpan<=e){for(n=[],i=0;i<t.colSpan-1;i++)n.push({merged:!0});r=r.concat(n)}else delete t.colSpan;this._setItems(r)},_getColByIndex:function(e,t){return e%t},_setItems:function(e){this._items=e,this._cashedColCount=null},_generateLayoutItems:function(){var e,t,n=this._items,i=this._getColCount(),o=[];for(t=0;t<n.length;t++)if(!(e=n[t]).merged){var a={location:{row:parseInt(t/i),col:this._getColByIndex(t,i)}};(0,l.isDefined)(e.disabled)&&(a.disabled=e.disabled),(0,l.isDefined)(e.visible)&&(a.visible=e.visible),(0,l.isDefined)(e.colSpan)&&(a.location.colspan=e.colSpan),(0,l.isDefined)(e.rowSpan)&&(a.location.rowspan=e.rowSpan),o.push(a)}return o},_renderEmptyItem:function(e){(0,w.renderEmptyItem)({$container:e})},_renderButtonItem:function(e){var t=e.item,n=e.$parent,i=e.rootElementCssClassList,o=(0,x.renderButtonItem)({item:t,$parent:n,rootElementCssClassList:i,validationGroup:this.option(\"validationGroup\"),createComponentCallback:this._createComponent.bind(this)}),a=o.$rootElement,r=o.buttonInstance;this._itemsRunTimeInfo.add({item:t,widgetInstance:r,guid:t.guid,$itemContainer:a})},_renderFieldItem:function(e,t){var n,i,o=this,a=e.item,r=e.$parent,s=e.rootElementCssClassList,l=this._getDataByField(a.dataField),u=!1;if(void 0===l){var d=a.allowIndeterminateState,c=a.editorType,h=a.dataField;u=this._isCheckboxUndefinedStateEnabled({allowIndeterminateState:d,editorType:c,dataField:h})}var f=a.dataField||a.name,p=this._getFormOrThis(),g=(0,b.renderFieldItem)((0,C.convertToRenderFieldItemOptions)({$parent:r,rootElementCssClassList:s,item:a,name:f,editorValue:l,canAssignUndefinedValueToEditor:u,formOrLayoutManager:this._getFormOrThis(),createComponentCallback:this._createComponent.bind(this),formLabelLocation:this.option(\"labelLocation\"),requiredMessageTemplate:this.option(\"requiredMessage\"),validationGroup:this.option(\"validationGroup\"),editorValidationBoundary:this.option(\"validationBoundary\"),editorStylingMode:this.option(\"form\")&&this.option(\"form\").option(\"stylingMode\"),showColonAfterLabel:this.option(\"showColonAfterLabel\"),managerLabelLocation:this.option(\"labelLocation\"),template:a.template?this._getTemplate(a.template):null,labelTemplate:null!==(n=a.label)&&void 0!==n&&n.template?this._getTemplate(a.label.template):null,itemId:this.option(\"form\")&&this.option(\"form\").getItemID(f),managerMarkOptions:this._getMarkOptions(),labelMode:this.option(\"labelMode\"),onLabelTemplateRendered:function(){o._incTemplateRenderedCallCount(),o._shouldAlignLabelsOnTemplateRendered(p,t)&&p._alignLabels(o,o.isSingleColumnMode(p))}})),m=g.$fieldEditorContainer,_=g.widgetInstance,v=g.$rootElement;null===(i=this.option(\"onFieldItemRendered\"))||void 0===i||i(),_&&a.dataField&&this._bindDataField(_,a.dataField,a.editorType,m),this._itemsRunTimeInfo.add({item:a,widgetInstance:_,guid:a.guid,$itemContainer:v})},_incTemplateRenderedCallCount:function(){var e;this._labelTemplateRenderedCallCount=(null!==(e=this._labelTemplateRenderedCallCount)&&void 0!==e?e:0)+1},_shouldAlignLabelsOnTemplateRendered:function(e,t){return e.option(\"templatesRenderAsynchronously\")&&this._labelTemplateRenderedCallCount===t},_getMarkOptions:function(){return{showRequiredMark:this.option(\"showRequiredMark\"),requiredMark:this.option(\"requiredMark\"),showOptionalMark:this.option(\"showOptionalMark\"),optionalMark:this.option(\"optionalMark\")}},_getFormOrThis:function(){return this.option(\"form\")||this},_bindDataField:function(e,t,n,i){var o=this._getFormOrThis();e.on(\"enterKey\",(function(e){o._createActionByOption(\"onEditorEnterKey\")((0,h.extend)(e,{dataField:t}))})),this._createWatcher(e,i,t),this.linkEditorToDataField(e,t,n)},_createWatcher:function(e,t,n){var i=this,o=i._getWatch();if((0,l.isFunction)(o)){var r=o((function(){return i._getDataByField(n)}),(function(){var t=i._getDataByField(n);if(\"dxTagBox\"===e.NAME){var o=e.option(\"value\");if(t!==o&&function(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(t,o))return}e.option(\"value\",t)}),{deep:!0,skipImmediate:!0});a.default.on(t,g.removeEvent,r)}},_getWatch:function(){if(!(0,l.isDefined)(this._watch)){var e=this.option(\"form\");this._watch=e&&e.option(\"integrationOptions.watchMethod\")}return this._watch},_createComponent:function(e,t,n){var i=this.option(\"readOnly\"),o=Object.hasOwn(n,\"readOnly\"),a=this.callBase(e,t,k({},n,{readOnly:o?n.readOnly:i})),r=!1;return a.on(\"optionChanged\",(function(e){\"readOnly\"!==e.name||r||(o=!0)})),this.on(\"optionChanged\",(function(e){\"readOnly\"!==e.name||o||(r=!0,a.option(e.name,e.value),r=!1)})),a},_generateRatio:function(e,t){var n,i,o=[];for(i=0;i<e;i++)n={ratio:1},t&&(n.baseSize=\"auto\"),o.push(n);return o},_getRowsCount:function(){return Math.ceil(this._items.length/this._getColCount())},_updateReferencedOptions:function(e){var t=this,n=this.option(\"layoutData\");(0,l.isObject)(n)&&Object.getOwnPropertyNames(n).forEach((function(e){return delete t._optionsByReference[\"layoutData.\"+e]})),(0,l.isObject)(e)&&Object.getOwnPropertyNames(e).forEach((function(e){return t._optionsByReference[\"layoutData.\"+e]=!0}))},_resetWidget:function(e){this._disableEditorValueChangedHandler=!0,e.reset(),this._disableEditorValueChangedHandler=!1,e.option(\"isValid\",!0)},_optionChanged:function(e){var t=this;if(0!==e.fullName.search(\"layoutData.\"))switch(e.name){case\"showRequiredMark\":case\"showOptionalMark\":case\"requiredMark\":case\"optionalMark\":this._cashedRequiredConfig=null,this._invalidate();break;case\"layoutData\":this._updateReferencedOptions(e.value),this.option(\"items\")?(0,l.isEmptyObject)(e.value)||this._itemsRunTimeInfo.each((function(n,i){if((0,l.isDefined)(i.item)){var o=i.item.dataField;if(o&&(0,l.isDefined)(i.widgetInstance)){var a=(0,p.compileGetter)(o)(e.value),r=i.item,s=r.allowIndeterminateState,u=r.editorType;void 0!==a||t._isCheckboxUndefinedStateEnabled({allowIndeterminateState:s,editorType:u,dataField:o})?i.widgetInstance.option(\"value\",a):t._resetWidget(i.widgetInstance)}}})):(this._initDataAndItems(e.value),this._invalidate());break;case\"items\":this._cleanItemWatchers(),this._initDataAndItems(e.value),this._invalidate();break;case\"alignItemLabels\":case\"labelLocation\":case\"labelMode\":case\"requiredMessage\":this._invalidate();break;case\"customizeItem\":this._updateItems(this.option(\"layoutData\")),this._invalidate();break;case\"colCount\":case\"colCountByScreen\":this._resetColCount();break;case\"minColWidth\":\"auto\"===this.option(\"colCount\")&&this._resetColCount();break;case\"readOnly\":break;case\"width\":this.callBase(e),\"auto\"===this.option(\"colCount\")&&this._resetColCount();break;case\"onFieldDataChanged\":break;default:this.callBase(e)}},_resetColCount:function(){this._cashedColCount=null,this._invalidate()},linkEditorToDataField:function(e,t){var n=this;this.on(\"optionChanged\",(function(n){n.fullName===\"layoutData.\".concat(t)&&e._setOptionWithoutOptionChange(\"value\",n.value)})),e.on(\"valueChanged\",(function(e){var i=(0,l.isObject)(e.value)||Array.isArray(e.value);n._disableEditorValueChangedHandler||i&&e.value===e.previousValue||n._updateFieldValue(t,e.value)}))},_dimensionChanged:function(){\"auto\"===this.option(\"colCount\")&&this.isCachedColCountObsolete()&&this._eventsStrategy.fireEvent(\"autoColCountChanged\")},updateData:function(e,t){var n=this;(0,l.isObject)(e)?(0,c.each)(e,(function(e,t){n._updateFieldValue(e,t)})):\"string\"==typeof e&&n._updateFieldValue(e,t)},getEditor:function(e){return this._itemsRunTimeInfo.findWidgetInstanceByDataField(e)||this._itemsRunTimeInfo.findWidgetInstanceByName(e)},isSingleColumnMode:function(e){var t=this._responsiveBox||e;if(t)return t.option(\"currentScreenFactor\")===t.option(\"singleColumnScreen\")},getItemsRunTimeInfo:function(){return this._itemsRunTimeInfo}});(0,s.default)(\"dxLayoutManager\",E);var O=E;t.default=O,e.exports=t.default,e.exports.default=t.default},61961:function(e,t,n){t.EDITORS_WITHOUT_LABELS=void 0,t.convertToLabelMarkOptions=h,t.convertToRenderFieldItemOptions=function(e){var t=e.$parent,n=e.rootElementCssClassList,i=e.formOrLayoutManager,f=e.createComponentCallback,p=e.item,g=e.template,m=e.labelTemplate,_=e.name,v=e.formLabelLocation,y=e.requiredMessageTemplate,b=e.validationGroup,x=e.editorValue,w=e.canAssignUndefinedValueToEditor,C=e.editorValidationBoundary,S=e.editorStylingMode,k=e.showColonAfterLabel,D=e.managerLabelLocation,I=e.itemId,T=e.managerMarkOptions,E=e.labelMode,O=e.onLabelTemplateRendered,A=(0,a.isDefined)(p.isRequired)?p.isRequired:!!function(e){var t;e&&e.length&&(0,r.each)(e,(function(e,n){if(\"required\"===n.type)return t=!0,!1}));return t}(p.validationRules),P=p.itemType===u.SIMPLE_ITEM_TYPE,M=p.helpText?\"dx-\"+new l.default:null,R=function(e){var t=e.item,n=e.id,i=e.isRequired,a=e.managerMarkOptions,r=e.showColonAfterLabel,u=e.labelLocation,d=e.labelTemplate,f=e.formLabelMode,p=e.onLabelTemplateRendered,g=c.includes(t.editorType),m=(0,o.extend)({showColon:r,location:u,id:n,visible:\"outside\"===f||g&&\"hidden\"!==f,isRequired:i},t?t.label:{},{markOptions:h(a,i),labelTemplate:d,onLabelTemplateRendered:p});[\"dxRadioGroup\",\"dxCheckBox\",\"dxLookup\",\"dxSlider\",\"dxRangeSlider\",\"dxSwitch\",\"dxHtmlEditor\",\"dxDateRangeBox\"].includes(t.editorType)&&(m.labelID=\"dx-label-\".concat(new l.default));!m.text&&t.dataField&&(m.text=(0,s.captionize)(t.dataField));m.text&&(m.textWithoutColon=m.text,m.text+=m.showColon?\":\":\"\");return m}({item:p,id:I,isRequired:A,managerMarkOptions:T,showColonAfterLabel:k,labelLocation:D,formLabelMode:E,labelTemplate:m,onLabelTemplateRendered:O}),B=R.visible&&(R.text||R.labelTemplate&&P),L=R.location,V=R.labelID,F=\"top\"!==L&&[\"dxTextArea\",\"dxRadioGroup\",\"dxCalendar\",\"dxHtmlEditor\"].includes(p.editorType),H=function(e){var t=e.editorType,n=e.defaultEditorName,i=e.editorValue,r=e.canAssignUndefinedValueToEditor,s=e.externalEditorOptions,l=e.editorInputId,u=e.editorValidationBoundary,c=e.editorStylingMode,h=e.formLabelMode,f=e.labelText,p=e.labelMark,g={};(void 0!==i||r)&&(g.value=i);-1!==d.indexOf(t)&&(g.value=g.value||[]);var m=null==s?void 0:s.labelMode;(0,a.isDefined)(m)||(m=\"outside\"===h?\"hidden\":h);var _=(null==s?void 0:s.stylingMode)||c,v=(0,o.extend)(!0,g,s,{inputAttr:{id:l},validationBoundary:u,stylingMode:_,label:f,labelMode:m,labelMark:p});s&&(v.dataSource&&(v.dataSource=s.dataSource),v.items&&(v.items=s.items));n&&!v.name&&(v.name=n);return v}({editorType:p.editorType,editorValue:x,defaultEditorName:p.dataField,canAssignUndefinedValueToEditor:w,externalEditorOptions:p.editorOptions,editorInputId:I,editorValidationBoundary:C,editorStylingMode:S,formLabelMode:E,labelText:R.textWithoutColon,labelMark:R.markOptions.showRequiredMark?String.fromCharCode(160)+R.markOptions.requiredMark:\"\"}),N=!R.markOptions.showOptionalMark||R.visible||\"hidden\"===H.labelMode||(0,a.isDefined)(p.helpText)?p.helpText:R.markOptions.optionalMark;return{$parent:t,rootElementCssClassList:n,formOrLayoutManager:i,createComponentCallback:f,labelOptions:R,labelNeedBaselineAlign:F,labelLocation:L,needRenderLabel:B,item:p,isSimpleItem:P,isRequired:A,template:g,helpID:M,labelID:V,name:_,helpText:N,formLabelLocation:v,requiredMessageTemplate:y,validationGroup:b,editorOptions:H}},t.getLabelMarkText=function(e){var t=e.showRequiredMark,n=e.requiredMark,i=e.showOptionalMark,o=e.optionalMark;if(!t&&!i)return\"\";return String.fromCharCode(160)+(t?n:o)};var i,o=n(13306),a=n(35922),r=n(95479),s=n(78008),l=(i=n(73176))&&i.__esModule?i:{default:i},u=n(31093);var d=[\"dxTagBox\",\"dxRangeSlider\",\"dxDateRangeBox\"],c=[\"dxCalendar\",\"dxCheckBox\",\"dxHtmlEditor\",\"dxRadioGroup\",\"dxRangeSlider\",\"dxSlider\",\"dxSwitch\"];function h(e,t){return{showRequiredMark:e.showRequiredMark&&t,requiredMark:e.requiredMark,showOptionalMark:e.showOptionalMark&&!t,optionalMark:e.optionalMark}}t.EDITORS_WITHOUT_LABELS=c},35459:function(e,t,n){t.concatPaths=void 0,t.convertToLayoutManagerOptions=function(e){var t=e.form,n=e.$formElement,i=e.formOptions,a=e.items,r=e.validationGroup,s=e.extendedLayoutManagerOptions,l=e.onFieldDataChanged,u=e.onContentReady,d=e.onDisposing,c=e.onFieldItemRendered,h={form:t,items:a,$formElement:n,validationGroup:r,onFieldDataChanged:l,onContentReady:u,onDisposing:d,onFieldItemRendered:c,validationBoundary:i.scrollingEnabled?n:void 0,scrollingEnabled:i.scrollingEnabled,showRequiredMark:i.showRequiredMark,showOptionalMark:i.showOptionalMark,requiredMark:i.requiredMark,optionalMark:i.optionalMark,requiredMessage:i.requiredMessage,screenByWidth:i.screenByWidth,layoutData:i.formData,labelLocation:i.labelLocation,customizeItem:i.customizeItem,minColWidth:i.minColWidth,showColonAfterLabel:i.showColonAfterLabel,onEditorEnterKey:i.onEditorEnterKey,labelMode:i.labelMode};return(0,o.extend)(h,{isRoot:s.isRoot,colCount:s.colCount,alignItemLabels:s.alignItemLabels,cssItemClass:s.cssItemClass,colCountByScreen:s.colCountByScreen,onLayoutChanged:s.onLayoutChanged,width:s.width})},t.tryGetTabPath=t.isFullPathContainsTabs=t.isEqualToDataFieldOrNameOrTitleOrCaption=t.getTextWithoutSpaces=t.getOptionNameFromFullName=t.getItemPath=t.getFullOptionName=t.createItemPathByIndex=void 0;var i=n(35922),o=n(13306);function a(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e)||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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=function(e,t){return\"\".concat(t?\"tabs\":\"items\",\"[\").concat(e,\"]\")};t.createItemPathByIndex=s;var l=function(e,t){return(0,i.isDefined)(e)&&(0,i.isDefined)(t)?\"\".concat(e,\".\").concat(t):e||t};t.concatPaths=l;var u=function(e){return e?e.replace(/\\s/g,\"\"):void 0};t.getTextWithoutSpaces=u;t.isEqualToDataFieldOrNameOrTitleOrCaption=function(e,t){return!!e&&(e.dataField===t||e.name===t||u(e.title)===t||\"group\"===e.itemType&&u(e.caption)===t)};t.getFullOptionName=function(e,t){return\"\".concat(e,\".\").concat(t)};t.getOptionNameFromFullName=function(e){var t=e.split(\".\");return t[t.length-1].replace(/\\[\\d+]/,\"\")};t.tryGetTabPath=function(e){for(var t=e.split(\".\"),n=a(t),i=t.length-1;i>=0;i--){if(d(t[i]))return n.join(\".\");n.splice(i,1)}return\"\"};var d=function(e){return e.indexOf(\"tabs\")>-1};t.isFullPathContainsTabs=d;t.getItemPath=function e(t,n,i){var o=t.indexOf(n);if(o>-1)return s(o,i);for(var a=0;a<t.length;a++){var r=t[a],u=r.tabs||r.items;if(u){var d=e(u,n,r.tabs);if(d)return l(s(a,i),d)}}}},49433:function(e,t,n){t.default=void 0;var i=n(58664),o=C(n(68374)),a=C(n(55994)),r=C(n(99393)),s=n(20576),l=n(35922),u=n(58201),d=n(13306),c=n(6415),h=C(n(87209)),f=n(95429),p=n(31648),g=C(n(20530)),m=C(n(14390)),_=n(39611),v=C(n(11050)),y=C(n(66894)),b=n(93280),x=n(62754),w=n(80506);function C(e){return e&&e.__esModule?e:{default:e}}var S=m.default.inherit({_supportedKeys:function(){return(0,d.extend)(this.callBase(),{pageUp:s.noop,pageDown:s.noop})},_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{direction:\"next\",onClick:null,hoverStateEnabled:!0,activeStateEnabled:!0})},_render:function(){this.callBase();var e=this,t=this.$element(),n=(0,_.addNamespace)(f.name,this.NAME);t.addClass(\"dx-gallery-nav-button-\"+this.option(\"direction\")),a.default.off(t,n),a.default.on(t,n,(function(t){e._createActionByOption(\"onClick\")({event:t})}))},_optionChanged:function(e){switch(e.name){case\"onClick\":case\"direction\":this._invalidate();break;default:this.callBase(e)}}}),k=v.default.inherit({_activeStateUnit:\".dx-gallery-item\",_wasAnyItemTemplateRendered:!1,_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{activeStateEnabled:!1,animationDuration:400,animationEnabled:!0,loop:!1,swipeEnabled:!0,indicatorEnabled:!0,showIndicator:!0,selectedIndex:0,slideshowDelay:0,showNavButtons:!1,wrapAround:!1,initialItemWidth:void 0,stretchImages:!1,_itemAttributes:{role:\"option\"},loopItemFocus:!1,selectOnFocus:!0,selectionMode:\"single\",selectionRequired:!0,selectByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===g.default.real().deviceType&&!g.default.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this.option(\"loopItemFocus\",this.option(\"loop\"))},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({item:new b.BindableTemplate(function(e,t){var n=(0,o.default)(\"<img>\").addClass(\"dx-gallery-item-image\");(0,l.isPlainObject)(t)?(this._prepareDefaultItemTemplate(t,e),n.attr({src:t.imageSrc,alt:t.imageAlt}).appendTo(e)):n.attr(\"src\",String(t)).appendTo(e)}.bind(this),[\"imageSrc\",\"imageAlt\",\"text\",\"html\"],this.option(\"integrationOptions.watchMethod\"))})},_dataSourceOptions:function(){return{paginate:!1}},_itemContainer:function(){return this._$container},_itemClass:function(){return\"dx-gallery-item\"},_itemDataKey:function(){return\"dxGalleryItemData\"},_actualItemWidth:function(){var e=this.option(\"wrapAround\");return this.option(\"stretchImages\")?1/(e?this._itemsPerPage()+1:this._itemsPerPage()):e?this._itemPercentWidth()*this._itemsPerPage()/(this._itemsPerPage()+1):this._itemPercentWidth()},_itemPercentWidth:function(){var e=(0,i.getOuterWidth)(this.$element()),t=this.option(\"initialItemWidth\");return t&&t<=e?t/e:1},_itemsPerPage:function(){var e=(0,u.hasWindow)()?Math.floor(1/this._itemPercentWidth()):1;return Math.min(e,this._itemsCount())},_pagesCount:function(){return Math.ceil(this._itemsCount()/this._itemsPerPage())},_itemsCount:function(){return(this.option(\"items\")||[]).length},_offsetDirection:function(){return this.option(\"rtlEnabled\")?-1:1},_initMarkup:function(){this._renderWrapper(),this._renderItemsContainer(),this.$element().addClass(\"dx-gallery\"),this.$element().toggleClass(\"dx-gallery-loop\",this.option(\"loop\")),this.callBase(),this.setAria({role:\"listbox\",label:\"gallery\"})},_render:function(){this._renderDragHandler(),this._renderContainerPosition(),this._renderItemSizes(),this._renderItemPositions(),this._renderNavButtons(),this._renderIndicator(),this._renderSelectedItem(),this._renderItemVisibility(),this._renderUserInteraction(),this._setupSlideShow(),this._reviseDimensions(),this.callBase()},_dimensionChanged:function(){var e=this.option(\"selectedIndex\")||0;this._stopItemAnimations(),this._clearCacheWidth(),this._cloneDuplicateItems(),this._renderItemSizes(),this._renderItemPositions(),this._renderIndicator(),this._renderContainerPosition(this._calculateIndexOffset(e),!0),this._renderItemVisibility()},_renderDragHandler:function(){var e=(0,_.addNamespace)(\"dragstart\",this.NAME);a.default.off(this.$element(),e),a.default.on(this.$element(),e,\"img\",(function(){return!1}))},_renderWrapper:function(){this._$wrapper||(this._$wrapper=(0,o.default)(\"<div>\").addClass(\"dx-gallery-wrapper\").appendTo(this.$element()))},_renderItems:function(e){if(!(0,u.hasWindow)()){var t=this.option(\"selectedIndex\");e=e.length>t?e.slice(t,t+1):e.slice(0,1)}this.callBase(e),this._loadNextPageIfNeeded()},_onItemTemplateRendered:function(){var e=this;return function(){e._wasAnyItemTemplateRendered||(e._wasAnyItemTemplateRendered=!0,(0,w.triggerResizeEvent)(e.$element()))}},_renderItemsContainer:function(){this._$container||(this._$container=(0,o.default)(\"<div>\").addClass(\"dx-gallery-container\").appendTo(this._$wrapper))},_cloneDuplicateItems:function(){if(this.option(\"loop\")){var e,t=(this.option(\"items\")||[]).length,n=t-1;if(t){this._getLoopedItems().remove();var i=Math.min(this._itemsPerPage(),t),o=this._getRealItems(),a=this._itemContainer();for(e=0;e<i;e++)this._cloneItemForDuplicate(o[e],a);for(e=0;e<i;e++)this._cloneItemForDuplicate(o[n-e],a)}}},_cloneItemForDuplicate:function(e,t){if(e){var n=(0,o.default)(e).clone(!1).addClass(\"dx-gallery-item-loop\").css(\"margin\",0).appendTo(t);this.setAria({role:\"presentation\"},n)}},_getRealItems:function(){return this.$element().find(\".dx-gallery-item:not(.dx-gallery-item-loop)\")},_getLoopedItems:function(){return this.$element().find(\".dx-gallery-item-loop\")},_emptyMessageContainer:function(){return this._$wrapper},_renderItemSizes:function(e){var t=this._itemElements(),n=this._actualItemWidth();void 0!==e&&(t=t.slice(e)),t.each((function(e){(0,i.setOuterWidth)((0,o.default)(t[e]),100*n+\"%\")}))},_renderItemPositions:function(){var e=this._actualItemWidth(),t=this._itemsCount(),n=this._itemsPerPage(),i=this.$element().find(\".dx-gallery-item-loop\").length,a=t+i-1,r=this.option(\"wrapAround\")?.5:0,s=this._itemFreeSpace(),l=!!s,u=this.option(\"rtlEnabled\"),d=this.option(\"selectedIndex\"),c=u?\"Right\":\"Left\";this._itemElements().each((function(i){var u=i,d=(0,o.default)(this).hasClass(\"dx-gallery-item-loop\");if(i>t+n-1&&(u=a-u-n),d||0===u){var h=e*(u+r)+s*(u+1-r),f=d?c.toLowerCase():\"margin\"+c;(0,o.default)(this).css(f,100*h+\"%\")}else l&&(0,o.default)(this).css(\"margin\"+c,100*s+\"%\")})),this._relocateItems(d,d,!0)},_itemFreeSpace:function(){var e=this._itemsPerPage();return this.option(\"wrapAround\")&&(e+=1),(1-this._actualItemWidth()*e)/(e+1)},_renderContainerPosition:function(e,t,n){this._releaseInvisibleItems(),e=e||0;var i,o=this,a=this._actualItemWidth(),r=e,s=this._offsetDirection()*r*(a+this._itemFreeSpace());return(0,l.isDefined)(this._animationOverride)&&(n=this._animationOverride,delete this._animationOverride),n?(o._startSwipe(),i=o._animate(s).done(o._endSwipe.bind(o))):((0,p.move)(this._$container,{left:s*this._elementWidth(),top:0}),i=(new x.Deferred).resolveWith(o)),i.done((function(){this._deferredAnimate&&o._deferredAnimate.resolveWith(o),t&&this._renderItemVisibility()})),i.promise()},_startSwipe:function(){this.$element().addClass(\"dx-gallery-active\")},_endSwipe:function(){this.$element().removeClass(\"dx-gallery-active\")},_animate:function(e,t){var n=this,i=this._$container,o=new x.Deferred;return h.default.animate(this._$container,(0,d.extend)({type:\"slide\",to:{left:e*this._elementWidth()},duration:n.option(\"animationDuration\"),complete:function(){n._needMoveContainerForward()&&(0,p.move)(i,{left:0,top:0}),n._needMoveContainerBack()&&(0,p.move)(i,{left:n._maxContainerOffset()*n._elementWidth(),top:0}),o.resolveWith(n)}},t||{})),o},_needMoveContainerForward:function(){return this._$container.position().left*this._offsetDirection()<=-this._maxItemWidth()*this._elementWidth()*this._itemsCount()+1},_needMoveContainerBack:function(){return this._$container.position().left*this._offsetDirection()>=this._actualItemWidth()*this._elementWidth()-1},_maxContainerOffset:function(){return-this._maxItemWidth()*(this._itemsCount()-this._itemsPerPage())*this._offsetDirection()},_maxItemWidth:function(){return this._actualItemWidth()+this._itemFreeSpace()},_reviseDimensions:function(){var e=this._itemElements().first().find(\".dx-item-content\");e&&!e.is(\":hidden\")&&(this.option(\"height\")||this.option(\"height\",(0,i.getOuterHeight)(e)),this.option(\"width\")||this.option(\"width\",(0,i.getOuterWidth)(e)),this._dimensionChanged())},_renderIndicator:function(){if(this._cleanIndicators(),this.option(\"showIndicator\")){for(var e=this._$indicator=(0,o.default)(\"<div>\").addClass(\"dx-gallery-indicator\").appendTo(this._$wrapper),t=this.option(\"indicatorEnabled\"),n=0;n<this._pagesCount();n++){var i=(0,o.default)(\"<div>\").addClass(\"dx-gallery-indicator-item\").appendTo(e);t&&this._attachIndicatorClickHandler(i,n)}this._renderSelectedPageIndicator()}},_attachIndicatorClickHandler:function(e,t){a.default.on(e,(0,_.addNamespace)(f.name,this.NAME),function(e){this._indicatorSelectHandler(e,t)}.bind(this))},_detachIndicatorClickHandler:function(e){a.default.off(e,(0,_.addNamespace)(f.name,this.NAME))},_toggleIndicatorInteraction:function(e){var t,n=(null===(t=this._$indicator)||void 0===t?void 0:t.find(\".dx-gallery-indicator-item\"))||[];n.length&&n.each(function(t,n){e?this._attachIndicatorClickHandler((0,o.default)(n),t):this._detachIndicatorClickHandler((0,o.default)(n))}.bind(this))},_cleanIndicators:function(){this._$indicator&&this._$indicator.remove()},_renderSelectedItem:function(){var e=this.option(\"selectedIndex\");this._itemElements().removeClass(\"dx-gallery-item-selected\").eq(e).addClass(\"dx-gallery-item-selected\")},_renderItemVisibility:function(){if(this.option(\"initialItemWidth\")||this.option(\"wrapAround\"))this._releaseInvisibleItems();else{var e=this.option(\"selectedIndex\");this._itemElements().each((function(t,n){e!==t&&(0,o.default)(n).find(\".dx-item-content\").addClass(\"dx-gallery-item-invisible\")}))}},_releaseInvisibleItems:function(){this._itemElements().find(\".dx-item-content\").removeClass(\"dx-gallery-item-invisible\")},_renderSelectedPageIndicator:function(){if(this._$indicator){var e=this.option(\"selectedIndex\"),t=this._pagesCount()-1,n=Math.ceil(e/this._itemsPerPage());n=Math.min(t,n),this._$indicator.find(\".dx-gallery-indicator-item\").removeClass(\"dx-gallery-indicator-item-selected\").eq(n).addClass(\"dx-gallery-indicator-item-selected\")}},_renderUserInteraction:function(){var e=this.$element(),t=this.option(\"swipeEnabled\")&&this._itemsCount()>1;this._createComponent(e,y.default,{disabled:this.option(\"disabled\")||!t,onStart:this._swipeStartHandler.bind(this),onUpdated:this._swipeUpdateHandler.bind(this),onEnd:this._swipeEndHandler.bind(this),itemSizeFunc:this._elementWidth.bind(this)})},_indicatorSelectHandler:function(e,t){if(this.option(\"indicatorEnabled\")){var n=this._fitPaginatedIndex(t*this._itemsPerPage());this._needLongMove=!0,this.option(\"selectedIndex\",n),this._loadNextPageIfNeeded(n)}},_renderNavButtons:function(){var e=this;e.option(\"showNavButtons\")?(e._prevNavButton=(0,o.default)(\"<div>\").appendTo(this._$wrapper),e._createComponent(e._prevNavButton,S,{direction:\"prev\",onClick:function(){e._prevPage()}}),e._nextNavButton=(0,o.default)(\"<div>\").appendTo(this._$wrapper),e._createComponent(e._nextNavButton,S,{direction:\"next\",onClick:function(){e._nextPage()}}),this._renderNavButtonsVisibility()):e._cleanNavButtons()},_prevPage:function(){var e=this._itemsPerPage(),t=this.option(\"selectedIndex\")-e;return t===-e&&e===this._itemsCount()?this._relocateItems(t,0):this.goToItem(this._fitPaginatedIndex(t))},_nextPage:function(){var e=this._itemsPerPage(),t=this.option(\"selectedIndex\")+e;return t===e&&e===this._itemsCount()?this._relocateItems(t,0):this.goToItem(this._fitPaginatedIndex(t)).done(this._loadNextPageIfNeeded)},_loadNextPageIfNeeded:function(e){e=void 0===e?this.option(\"selectedIndex\"):e,this._dataSource&&this._dataSource.paginate()&&this._shouldLoadNextPage(e)&&!this._isDataSourceLoading()&&!this._isLastPage()&&this._loadNextPage().done(function(){this._renderIndicator(),this._cloneDuplicateItems(),this._renderItemPositions(),this._renderNavButtonsVisibility(),this._renderItemSizes(e)}.bind(this))},_shouldLoadNextPage:function(e){return e+2*this._itemsPerPage()>this.option(\"items\").length},_allowDynamicItemsAppend:function(){return!0},_fitPaginatedIndex:function(e){var t=this._itemsPerPage(),n=e<0?t+e:this._itemsCount()-e;return e>this._itemsCount()-1?(e=0,this._goToGhostItem=!0):n<t&&n>0&&(e>0?e-=t-n:e+=t-n),e},_cleanNavButtons:function(){this._prevNavButton&&(this._prevNavButton.remove(),delete this._prevNavButton),this._nextNavButton&&(this._nextNavButton.remove(),delete this._nextNavButton)},_renderNavButtonsVisibility:function(){if(this.option(\"showNavButtons\")&&this._prevNavButton&&this._nextNavButton){var e=this.option(\"selectedIndex\"),t=this.option(\"loop\"),n=this._itemsCount();if(this._prevNavButton.show(),this._nextNavButton.show(),0===n&&(this._prevNavButton.hide(),this._nextNavButton.hide()),!t){var i=e===n-this._itemsPerPage(),o=n<2||0===e;i=this._dataSource&&this._dataSource.paginate()?i&&this._isLastPage():i||n<2,o&&this._prevNavButton.hide(),i&&this._nextNavButton.hide()}}},_setupSlideShow:function(){var e=this,t=e.option(\"slideshowDelay\");clearTimeout(e._slideshowTimer),t&&(e._slideshowTimer=setTimeout((function(){e._userInteraction?e._setupSlideShow():e.nextItem(!0).done(e._setupSlideShow)}),t))},_elementWidth:function(){return this._cacheElementWidth||(this._cacheElementWidth=(0,i.getWidth)(this.$element())),this._cacheElementWidth},_clearCacheWidth:function(){delete this._cacheElementWidth},_swipeStartHandler:function(e){this._releaseInvisibleItems(),this._clearCacheWidth(),this._elementWidth();var t=this._itemsCount();if(t){if(this._stopItemAnimations(),this._startSwipe(),this._userInteraction=!0,!this.option(\"loop\")){var n=this.option(\"selectedIndex\"),i=t-n-this._itemsPerPage(),o=n,a=this.option(\"rtlEnabled\");e.event.maxLeftOffset=a?o:i,e.event.maxRightOffset=a?i:o}}else e.event.cancel=!0},_stopItemAnimations:function(){h.default.stop(this._$container,!0)},_swipeUpdateHandler:function(e){var t=this.option(\"wrapAround\")?1:0,n=this._offsetDirection()*e.event.offset*(this._itemsPerPage()+t)-this.option(\"selectedIndex\");n<0&&this._loadNextPageIfNeeded(Math.ceil(Math.abs(n))),this._renderContainerPosition(n)},_swipeEndHandler:function(e){var t=e.event.targetOffset*this._offsetDirection()*this._itemsPerPage(),n=this.option(\"selectedIndex\"),i=this._fitIndex(n-t),o=this._fitPaginatedIndex(i);Math.abs(t)<this._itemsPerPage()?this._relocateItems(n):this._itemsPerPage()!==this._itemsCount()?this.option(\"selectedIndex\",o):t>0?this._relocateItems(-t):this._relocateItems(0)},_setFocusOnSelect:function(){this._userInteraction=!0;var e=this.itemElements().filter(\".dx-gallery-item-selected\");this.option(\"focusedElement\",(0,c.getPublicElement)(e)),this._userInteraction=!1},_flipIndex:function(e){var t=this._itemsCount();return(e%=t)>(t+1)/2&&(e-=t),e<-(t-1)/2&&(e+=t),e},_fitIndex:function(e){if(!this.option(\"loop\"))return e;var t=this._itemsCount();return(e>=t||e<0)&&(this._goToGhostItem=!0),e>=t&&(e=t-e),(e%=t)<0&&(e+=t),e},_clean:function(){this.callBase(),this._cleanIndicators(),this._cleanNavButtons()},_dispose:function(){this._wasAnyItemTemplateRendered=null,clearTimeout(this._slideshowTimer),this.callBase()},_updateSelection:function(e,t){this._stopItemAnimations(),this._renderNavButtonsVisibility(),this._renderSelectedItem(),this._relocateItems(e[0],t[0]),this._renderSelectedPageIndicator()},_relocateItems:function(e,t,n){void 0===t&&(t=e);var i=this._calculateIndexOffset(e,t);this._renderContainerPosition(i,!0,this.option(\"animationEnabled\")&&!n).done((function(){this._setFocusOnSelect(),this._userInteraction=!1,this._setupSlideShow()}))},_focusInHandler:function(){h.default.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_focusOutHandler:function(){h.default.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_selectFocusedItem:s.noop,_moveFocus:function(){this._stopItemAnimations(),this.callBase.apply(this,arguments);var e=this.itemElements().index((0,o.default)(this.option(\"focusedElement\")));this.goToItem(e,this.option(\"animationEnabled\"))},_visibilityChanged:function(e){e&&this._reviseDimensions()},_calculateIndexOffset:function(e,t){void 0===t&&(t=e);var n=t-e;return this.option(\"loop\")&&!this._needLongMove&&this._goToGhostItem&&(this._isItemOnFirstPage(e)&&this._isItemOnLastPage(t)?n=-this._itemsPerPage():this._isItemOnLastPage(e)&&this._isItemOnFirstPage(t)&&(n=this._itemsPerPage()),this._goToGhostItem=!1),this._needLongMove=!1,n-=t},_isItemOnLastPage:function(e){return e>=this._itemsCount()-this._itemsPerPage()},_isItemOnFirstPage:function(e){return e<=this._itemsPerPage()},_optionChanged:function(e){switch(e.name){case\"width\":case\"initialItemWidth\":this.callBase.apply(this,arguments),this._dimensionChanged();break;case\"animationDuration\":this._renderNavButtonsVisibility();break;case\"animationEnabled\":break;case\"loop\":this.$element().toggleClass(\"dx-gallery-loop\",e.value),this.option(\"loopItemFocus\",e.value),(0,u.hasWindow)()&&(this._cloneDuplicateItems(),this._renderItemPositions(),this._renderNavButtonsVisibility());break;case\"showIndicator\":this._renderIndicator();break;case\"showNavButtons\":this._renderNavButtons();break;case\"slideshowDelay\":this._setupSlideShow();break;case\"wrapAround\":case\"stretchImages\":(0,u.hasWindow)()&&(this._renderItemSizes(),this._renderItemPositions(),this._renderItemVisibility());break;case\"swipeEnabled\":this._renderUserInteraction();break;case\"indicatorEnabled\":this._toggleIndicatorInteraction(e.value);break;default:this.callBase(e)}},goToItem:function(e,t){var n=this.option(\"selectedIndex\"),i=this._itemsCount();return void 0!==t&&(this._animationOverride=t),e=this._fitIndex(e),this._deferredAnimate=new x.Deferred,e>i-1||e<0||n===e?this._deferredAnimate.resolveWith(this).promise():(this.option(\"selectedIndex\",e),this._deferredAnimate.promise())},prevItem:function(e){return this.goToItem(this.option(\"selectedIndex\")-1,e)},nextItem:function(e){return this.goToItem(this.option(\"selectedIndex\")+1,e)}});(0,r.default)(\"dxGallery\",k);var D=k;t.default=D,e.exports=t.default,e.exports.default=t.default},33465:function(e,t,n){var i;t.default=void 0;var o=((i=n(85183))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},70382:function(e,t,n){t.getGanttViewCore=function(){if(!o.default)throw i.default.Error(\"E1041\",\"devexpress-gantt\");return o.default};var i=a(n(96688)),o=a(n(27353));function a(e){return e&&e.__esModule?e:{default:e}}},87110:function(e,t,n){t.GanttActionsManager=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(6415),r=n(13306);var s=\"onContextMenuPreparing\",l=\"onCustomCommand\",u=\"onDependencyDeleted\",d=\"onDependencyDeleting\",c=\"onDependencyInserted\",h=\"onDependencyInserting\",f=\"onResourceAssigned\",p=\"onResourceAssigning\",g=\"onResourceDeleted\",m=\"onResourceDeleting\",_=\"onResourceInserted\",v=\"onResourceInserting\",y=\"onResourceManagerDialogShowing\",b=\"onResourceUnassigned\",x=\"onResourceUnassigning\",w=\"onSelectionChanged\",C=\"onTaskClick\",S=\"onTaskDblClick\",k=\"onTaskDeleted\",D=\"onTaskDeleting\",I=\"onTaskEditDialogShowing\",T=\"onTaskInserted\",E=\"onTaskInserting\",O=\"onTaskMoving\",A=\"onTaskUpdated\",P=\"onTaskUpdating\",M=\"onScaleCellPrepared\",R=function(){function e(e){this._gantt=e,this._mappingHelper=e._mappingHelper,this._customFieldsManager=e._customFieldsManager}var t=e.prototype;return t._createActionByOption=function(e){return this._gantt._createActionByOption(e)},t._getTaskData=function(e){return this._gantt.getTaskData(e)},t._convertCoreToMappedData=function(e,t){return this._mappingHelper.convertCoreToMappedData(e,t)},t._convertMappedToCoreData=function(e,t){return this._mappingHelper.convertMappedToCoreData(e,t)},t._convertMappedToCoreFields=function(e,t){return this._mappingHelper.convertMappedToCoreFields(e,t)},t._convertCoreToMappedFields=function(e,t){return this._mappingHelper.convertCoreToMappedFields(e,t)},t._saveCustomFieldsDataToCache=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this._customFieldsManager.saveCustomFieldsDataToCache(e,t,n,i)},t.createTaskDblClickAction=function(){this._taskDblClickAction=this._createActionByOption(S)},t.taskDblClickAction=function(e){this._taskDblClickAction||this.createTaskDblClickAction(),this._taskDblClickAction(e)},t.raiseTaskDblClickAction=function(e,t){var n={cancel:!1,data:this._getTaskData(e),event:t,key:e};return this.taskDblClickAction(n),!n.cancel},t.createTaskClickAction=function(){this._taskClickAction=this._createActionByOption(C)},t.taskClickAction=function(e){this._taskClickAction||this.createTaskClickAction(),this._taskClickAction(e)},t.raiseTaskClickAction=function(e,t){var n={key:e,event:t,data:this._getTaskData(e)};this.taskClickAction(n)},t.createSelectionChangedAction=function(){this._selectionChangedAction=this._createActionByOption(w)},t.selectionChangedAction=function(e){this._selectionChangedAction||this.createSelectionChangedAction(),this._selectionChangedAction(e)},t.raiseSelectionChangedAction=function(e){this.selectionChangedAction({selectedRowKey:e})},t.createCustomCommandAction=function(){this._customCommandAction=this._createActionByOption(l)},t.customCommandAction=function(e){this._customCommandAction||this.createCustomCommandAction(),this._customCommandAction(e)},t.raiseCustomCommand=function(e){this.customCommandAction({name:e})},t.createContextMenuPreparingAction=function(){this._contextMenuPreparingAction=this._createActionByOption(s)},t.contextMenuPreparingAction=function(e){this._contextMenuPreparingAction||this.createContextMenuPreparingAction(),this._contextMenuPreparingAction(e)},t.raiseContextMenuPreparing=function(e){this.contextMenuPreparingAction(e)},t._getInsertingAction=function(e){switch(e){case\"tasks\":return this._getTaskInsertingAction();case\"dependencies\":return this._getDependencyInsertingAction();case\"resources\":return this._getResourceInsertingAction();case\"resourceAssignments\":return this._getResourceAssigningAction()}return function(){}},t.raiseInsertingAction=function(e,t){var n=this._getInsertingAction(e);if(n){var i={cancel:!1,values:this._convertCoreToMappedData(e,t.values)};n(i),t.cancel=i.cancel,(0,r.extend)(t.values,this._convertMappedToCoreData(e,i.values)),\"tasks\"===e&&this._saveCustomFieldsDataToCache(\"gantt_new_task_key\",i.values)}},t.createTaskInsertingAction=function(){this._taskInsertingAction=this._createActionByOption(E)},t.taskInsertingAction=function(e){this._getTaskInsertingAction()(e)},t._getTaskInsertingAction=function(){return this._taskInsertingAction||this.createTaskInsertingAction(),this._taskInsertingAction},t.createDependencyInsertingAction=function(){this._dependencyInsertingAction=this._createActionByOption(h)},t.dependencyInsertingAction=function(e){this._getDependencyInsertingAction()(e)},t._getDependencyInsertingAction=function(){return this._dependencyInsertingAction||this.createDependencyInsertingAction(),this._dependencyInsertingAction},t.createResourceInsertingAction=function(){this._resourceInsertingAction=this._createActionByOption(v)},t.resourceInsertingAction=function(e){this._getResourceInsertingAction()(e)},t._getResourceInsertingAction=function(){return this._resourceInsertingAction||this.createResourceInsertingAction(),this._resourceInsertingAction},t.createResourceAssigningAction=function(){this._resourceAssigningAction=this._createActionByOption(p)},t.resourceAssigningAction=function(e){this._getResourceAssigningAction()(e)},t._getResourceAssigningAction=function(){return this._resourceAssigningAction||this.createResourceAssigningAction(),this._resourceAssigningAction},t._getInsertedAction=function(e){switch(e){case\"tasks\":return this._getTaskInsertedAction();case\"dependencies\":return this._getDependencyInsertedAction();case\"resources\":return this._getResourceInsertedAction();case\"resourceAssignments\":return this._getResourceAssignedAction()}return function(){}},t.raiseInsertedAction=function(e,t,n){var i=this._getInsertedAction(e);i&&i({values:t,key:n})},t.createTaskInsertedAction=function(){this._taskInsertedAction=this._createActionByOption(T)},t.taskInsertedAction=function(e){this._getTaskInsertedAction()(e)},t._getTaskInsertedAction=function(){return this._taskInsertedAction||this.createTaskInsertedAction(),this._taskInsertedAction},t.createDependencyInsertedAction=function(){this._dependencyInsertedAction=this._createActionByOption(c)},t.dependencyInsertedAction=function(e){this._getDependencyInsertedAction()(e)},t._getDependencyInsertedAction=function(){return this._dependencyInsertedAction||this.createDependencyInsertedAction(),this._dependencyInsertedAction},t.createResourceInsertedAction=function(){this._resourceInsertedAction=this._createActionByOption(_)},t.resourceInsertedAction=function(e){this._getResourceInsertedAction()(e)},t._getResourceInsertedAction=function(){return this._resourceInsertedAction||this.createResourceInsertedAction(),this._resourceInsertedAction},t.createResourceAssignedAction=function(){this._resourceAssignedAction=this._createActionByOption(f)},t.resourceAssignedAction=function(e){this._getResourceAssignedAction()(e)},t._getResourceAssignedAction=function(){return this._resourceAssignedAction||this.createResourceAssignedAction(),this._resourceAssignedAction},t._getDeletingAction=function(e){switch(e){case\"tasks\":return this._getTaskDeletingAction();case\"dependencies\":return this._getDependencyDeletingAction();case\"resources\":return this._getResourceDeletingAction();case\"resourceAssignments\":return this._getResourceUnassigningAction()}return function(){}},t.raiseDeletingAction=function(e,t){var n=this._getDeletingAction(e);if(n){var i={cancel:!1,key:t.key,values:this._convertCoreToMappedData(e,t.values)};n(i),t.cancel=i.cancel}},t.createTaskDeletingAction=function(){this._taskDeletingAction=this._createActionByOption(D)},t.taskDeletingAction=function(e){this._getTaskDeletingAction()(e)},t._getTaskDeletingAction=function(){return this._taskDeletingAction||this.createTaskDeletingAction(),this._taskDeletingAction},t.createDependencyDeletingAction=function(){this._dependencyDeletingAction=this._createActionByOption(d)},t.dependencyDeletingAction=function(e){this._getDependencyDeletingAction()(e)},t._getDependencyDeletingAction=function(){return this._dependencyDeletingAction||this.createDependencyDeletingAction(),this._dependencyDeletingAction},t.createResourceDeletingAction=function(){this._resourceDeletingAction=this._createActionByOption(m)},t.resourceDeletingAction=function(e){this._getResourceDeletingAction()(e)},t._getResourceDeletingAction=function(){return this._resourceDeletingAction||this.createResourceDeletingAction(),this._resourceDeletingAction},t.createResourceUnassigningAction=function(){this._resourceUnassigningAction=this._createActionByOption(x)},t.resourceUnassigningAction=function(e){this._getResourceUnassigningAction()(e)},t._getResourceUnassigningAction=function(){return this._resourceUnassigningAction||this.createResourceUnassigningAction(),this._resourceUnassigningAction},t._getDeletedAction=function(e){switch(e){case\"tasks\":return this._getTaskDeletedAction();case\"dependencies\":return this._getDependencyDeletedAction();case\"resources\":return this._getResourceDeletedAction();case\"resourceAssignments\":return this._getResourceUnassignedAction()}return function(){}},t.raiseDeletedAction=function(e,t,n){var i=this._getDeletedAction(e);i&&i({key:t,values:n})},t.createTaskDeletedAction=function(){this._taskDeletedAction=this._createActionByOption(k)},t.taskDeletedAction=function(e){this._getTaskDeletedAction()(e)},t._getTaskDeletedAction=function(){return this._taskDeletedAction||this.createTaskDeletedAction(),this._taskDeletedAction},t.createDependencyDeletedAction=function(){this._dependencyDeletedAction=this._createActionByOption(u)},t.dependencyDeletedAction=function(e){this._getDependencyDeletedAction()(e)},t._getDependencyDeletedAction=function(){return this._dependencyDeletedAction||this.createDependencyDeletedAction(),this._dependencyDeletedAction},t.createResourceDeletedAction=function(){this._resourceDeletedAction=this._createActionByOption(g)},t.resourceDeletedAction=function(e){this._getResourceDeletedAction()(e)},t._getResourceDeletedAction=function(){return this._resourceDeletedAction||this.createResourceDeletedAction(),this._resourceDeletedAction},t.createResourceUnassignedAction=function(){this._resourceUnassignedAction=this._createActionByOption(b)},t.resourceUnassignedAction=function(e){this._getResourceUnassignedAction()(e)},t._getResourceUnassignedAction=function(){return this._resourceUnassignedAction||this.createResourceUnassignedAction(),this._resourceUnassignedAction},t._getUpdatingAction=function(e){switch(e){case\"tasks\":return this._getTaskUpdatingAction()}return function(){}},t.raiseUpdatingAction=function(e,t,n){if(n=n||this._getUpdatingAction(e)){var i=\"tasks\"===e,o={cancel:!1,key:t.key,newValues:this._convertCoreToMappedData(e,t.newValues),values:i?this._getTaskData(t.key):this._convertCoreToMappedData(e,t.values)};if(i&&this._customFieldsManager.cache.hasData(o.key)&&this._customFieldsManager.addCustomFieldsDataFromCache(o.key,o.newValues),n(o),t.cancel=o.cancel,(0,r.extend)(t.newValues,this._convertMappedToCoreData(e,o.newValues)),i)if(o.cancel)this._customFieldsManager.resetCustomFieldsDataCache(o.key);else{var a=!Object.keys(t.newValues).length;this._saveCustomFieldsDataToCache(o.key,o.newValues,a)}}},t.createTaskUpdatingAction=function(){this._taskUpdatingAction=this._createActionByOption(P)},t.taskUpdatingAction=function(e){this._getTaskUpdatingAction()(e)},t._getTaskUpdatingAction=function(){return this._taskUpdatingAction||this.createTaskUpdatingAction(),this._taskUpdatingAction},t._getUpdatedAction=function(e){switch(e){case\"tasks\":return this._getTaskUpdatedAction()}return function(){}},t.raiseUpdatedAction=function(e,t,n){var i=this._getUpdatedAction(e);i&&i({values:t,key:n})},t.createTaskUpdatedAction=function(){this._taskUpdatedAction=this._createActionByOption(A)},t.taskUpdatedAction=function(e){this._getTaskUpdatedAction()(e)},t._getTaskUpdatedAction=function(){return this._taskUpdatedAction||this.createTaskUpdatedAction(),this._taskUpdatedAction},t.createTaskEditDialogShowingAction=function(){this._taskEditDialogShowingAction=this._createActionByOption(I)},t.taskEditDialogShowingAction=function(e){this._getTaskEditDialogShowingAction()(e)},t._getTaskEditDialogShowingAction=function(){return this._taskEditDialogShowingAction||this.createTaskEditDialogShowingAction(),this._taskEditDialogShowingAction},t.raiseTaskEditDialogShowingAction=function(e){var t=this._getTaskEditDialogShowingAction();if(t){var n={cancel:!1,key:e.key,values:this._convertCoreToMappedData(\"tasks\",e.values),readOnlyFields:this._convertCoreToMappedFields(\"tasks\",e.readOnlyFields),hiddenFields:this._convertCoreToMappedFields(\"tasks\",e.hiddenFields)};t(n),e.cancel=n.cancel,(0,r.extend)(e.values,this._convertMappedToCoreData(\"tasks\",n.values)),e.readOnlyFields=this._convertMappedToCoreFields(\"tasks\",n.readOnlyFields),e.hiddenFields=this._convertMappedToCoreFields(\"tasks\",n.hiddenFields)}},t.createResourceManagerDialogShowingAction=function(){this._resourceManagerDialogShowingAction=this._createActionByOption(y)},t.resourceManagerDialogShowingAction=function(e){this._getResourceManagerDialogShowingAction()(e)},t._getResourceManagerDialogShowingAction=function(){return this._resourceManagerDialogShowingAction||this.createResourceManagerDialogShowingAction(),this._resourceManagerDialogShowingAction},t.raiseResourceManagerDialogShowingAction=function(e){var t=this,n=this._getResourceManagerDialogShowingAction();if(n){var i={cancel:!1,values:e.values.resources.items.map((function(e){return t._convertMappedToCoreData(\"resources\",e)}))};n(i),e.cancel=i.cancel}},t.createTaskMovingAction=function(){this._taskMovingAction=this._createActionByOption(O)},t.taskMovingAction=function(e){this.getTaskMovingAction()(e)},t.getTaskMovingAction=function(){return this._taskMovingAction||this.createTaskMovingAction(),this._taskMovingAction},t.getScaleCellPreparedAction=function(){return this._scaleCellPreparedAction||this.createScaleCellPreparedAction(),this._scaleCellPreparedAction},t.createScaleCellPreparedAction=function(){this._scaleCellPreparedAction=this._createActionByOption(M)},t.raiseScaleCellPreparedAction=function(e){var t=this.getScaleCellPreparedAction();t&&t({scaleIndex:e.scaleIndex,scaleType:this._getScaleType(e.scaleType),scaleElement:(0,a.getPublicElement)((0,o.default)(e.scaleElement)),separatorElement:(0,a.getPublicElement)((0,o.default)(e.separatorElement)),startDate:new Date(e.start),endDate:new Date(e.end)})},t._getScaleType=function(e){switch(e){case 0:return\"minutes\";case 1:return\"hours\";case 2:return\"sixHours\";case 3:return\"days\";case 4:return\"weeks\";case 5:return\"months\";case 6:return\"quarters\";case 7:return\"years\";case 8:return\"fiveYears\";default:return}},e}();t.GanttActionsManager=R},73630:function(e,t,n){t.GanttToolbar=t.GanttContextMenuBar=void 0;var i=l(n(68374)),o=l(n(71042)),a=l(n(10042)),r=l(n(28109)),s=n(13306);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,d(e,t)}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=0,h=1,f=2,p=3,g=4,m=5,_=6,v=7,y=8,b=9,x=10,w=11,C=12,S=13,k=14,D=15,I=function(){function e(e,t){this._element=e,this._owner=t,this._items=[],this._createControl()}var t=e.prototype;return t.createItems=function(e){this._cache=null,this._items=this._createItemsCore(e),this._menu.option(\"items\",this._items)},t._createItemsCore=function(e){var t=this;return e.map((function(e){var n;return n=\"string\"==typeof e?t._createItemByText(e):e.name?(0,s.extend)(t._createItemByText(e.name),e):(0,s.extend)(t._getDefaultItemOptions(),e),e.items&&(n.items=t._createItemsCore(e.items)),n}))},t._createItemByText=function(e){switch(e.toLowerCase()){case\"separator\":return this._createSeparator();case\"undo\":return this._createDefaultItem(_,r.default.format(\"dxGantt-undo\"),this._getIcon(\"undo\"));case\"redo\":return this._createDefaultItem(v,r.default.format(\"dxGantt-redo\"),this._getIcon(\"redo\"));case\"expandall\":return this._createDefaultItem(C,r.default.format(\"dxGantt-expandAll\"),this._getIcon(\"expand\"));case\"collapseall\":return this._createDefaultItem(w,r.default.format(\"dxGantt-collapseAll\"),this._getIcon(\"collapse\"));case\"addtask\":return this._createDefaultItem(c,r.default.format(\"dxGantt-addNewTask\"),this._getIcon(\"add\"));case\"addsubtask\":return this._createDefaultItem(h,r.default.format(\"dxGantt-contextMenuNewSubtask\"),this._getIcon(\"add-sub-task\"));case\"deletetask\":return this._createDefaultItem(f,r.default.format(\"dxGantt-deleteSelectedTask\"),this._getIcon(\"delete\"));case\"deletedependency\":return this._createDefaultItem(p,r.default.format(\"dxGantt-contextMenuDeleteDependency\"),this._getIcon(\"delete-dependency\"));case\"zoomin\":return this._createDefaultItem(y,r.default.format(\"dxGantt-zoomIn\"),this._getIcon(\"zoom-in\"));case\"zoomout\":return this._createDefaultItem(b,r.default.format(\"dxGantt-zoomOut\"),this._getIcon(\"zoom-out\"));case\"fullscreen\":return this._createDefaultItem(x,r.default.format(\"dxGantt-fullScreen\"),this._getIcon(\"full-screen\"));case\"taskdetails\":return this._createDefaultItem(g,r.default.format(\"dxGantt-dialogTaskDetailsTitle\")+\"...\",this._getIcon(\"task-details\"));case\"resourcemanager\":return this._createDefaultItem(S,r.default.format(\"dxGantt-dialogResourceManagerTitle\"),this._getIcon(\"resource-manager\"));case\"showresources\":return this._createDefaultItem(k,r.default.format(\"dxGantt-showResources\"),this._getIcon(\"toggle-resources\"));case\"showdependencies\":return this._createDefaultItem(D,r.default.format(\"dxGantt-showDependencies\"),this._getIcon(\"toggle-dependencies\"));default:return(0,s.extend)(this._getDefaultItemOptions(),{options:{text:e}})}},t._getDefaultItemOptions=function(){return{}},t._getItemsCache=function(){return this._cache||(this._cache={},this._fillCache(this._items)),this._cache},t._fillCache=function(e){var t=this;e.forEach((function(e){var n=e.commandId;void 0!==n&&(t._cache[n]||(t._cache[n]=[]),t._cache[n].push(e)),e.items&&t._fillCache(e.items)}))},t._getIcon=function(e){return\"dx-gantt-i dx-gantt-i-\"+e},t.getCommandKeys=function(){var e=this._getItemsCache(),t=[];for(var n in e)t.push(parseInt(n));return t},t.setItemEnabled=function(e,t){this._getItemsCache()[e].forEach((function(e){e.disabled=!t}))},t.setItemVisible=function(e,t){this._getItemsCache()[e].forEach((function(e){e.visible=t}))},t.setItemValue=function(e,t){},t.setEnabled=function(e){this._menu.option(\"disabled\",!e)},t.updateItemsList=function(){},t.isVisible=function(){return!0},t.isContextMenu=function(){return!1},t.completeUpdate=function(){},e}(),T=function(e){function t(){return e.apply(this,arguments)||this}u(t,e);var n=t.prototype;return n._createControl=function(){var e=this;this._menu=this._owner._createComponent(this._element,o.default,{onItemClick:function(t){void 0!==t.itemData.commandId&&e._executeCommand(t.itemData.commandId)}})},n._executeCommand=function(e){switch(e){case k:this._owner.option(\"showResources\",!this._owner.option(\"showResources\"));break;case D:this._owner.option(\"showDependencies\",!this._owner.option(\"showDependencies\"));break;default:this._owner._executeCoreCommand(e)}},n._createDefaultItem=function(e,t,n){return{commandId:e,disabled:!0,widget:\"dxButton\",location:\"before\",options:{icon:n,stylingMode:\"text\",hint:t}}},n._createSeparator=function(){return{location:\"before\",template:function(e,t,n){(0,i.default)(n).addClass(\"dx-gantt-toolbar-separator\")}}},n._getDefaultItemOptions=function(){return{location:\"before\",widget:\"dxButton\"}},n.completeUpdate=function(){this._menu.option(\"items\",this._items)},t}(I);t.GanttToolbar=T;var E=function(e){function t(){return e.apply(this,arguments)||this}u(t,e);var n=t.prototype;return n._createControl=function(){var e=this;this._menu=this._owner._createComponent(this._element,a.default,{showEvent:void 0,onItemClick:function(t){void 0!==t.itemData.commandId?e._owner._executeCoreCommand(t.itemData.commandId):void 0!==t.itemData.name&&e._owner._actionsManager.raiseCustomCommand(t.itemData.name)}})},n.createItems=function(t){t&&0!==t.length||(t=this._getDefaultItems()),e.prototype.createItems.call(this,t)},n._getDefaultItems=function(){return[{text:r.default.format(\"dxGantt-dialogButtonAdd\"),commandId:m,icon:this._getIcon(\"add\"),items:[{text:r.default.format(\"dxGantt-contextMenuNewTask\"),commandId:c,icon:this._getIcon(\"add-task\")},{text:r.default.format(\"dxGantt-contextMenuNewSubtask\"),commandId:h,icon:this._getIcon(\"add-sub-task\")}]},{text:r.default.format(\"dxGantt-dialogTaskDetailsTitle\")+\"...\",commandId:g,icon:this._getIcon(\"task-details\")},{text:r.default.format(\"dxGantt-contextMenuDeleteTask\"),commandId:f,icon:this._getIcon(\"delete\")},{text:r.default.format(\"dxGantt-contextMenuDeleteDependency\"),commandId:p,icon:this._getIcon(\"delete-dependency\")}]},n._createDefaultItem=function(e,t,n){return{commandId:e,text:t,icon:n}},n.show=function(e,t){this._menu.option(\"items\",t||this._items),this._menu.option(\"position.offset\",{x:e.x,y:e.y}),this._menu.option(\"position.collision\",\"fit\"),this._menu.show()},n.hide=function(){this._menu.hide()},n.isContextMenu=function(){return!0},t}(I);t.GanttContextMenuBar=E},81278:function(e,t,n){t.GanttDataCache=void 0;var i=n(13306),o=function(){function e(){this._cache={},this._timers={}}var t=e.prototype;return t.saveData=function(e,t,n){if(t){this._clearTimer(e);var o=this._getCache(e,!0);(0,i.extendFromObject)(o,t,!0),n&&this._setExpireTimer(e,n)}},t.pullDataFromCache=function(e,t){var n=this._getCache(e);n&&(0,i.extendFromObject)(t,n),this._onKeyExpired(e)},t.hasData=function(e){return!!this._cache[e]},t.resetCache=function(e){this._onKeyExpired(e)},t._getCache=function(e,t){return!this._cache[e]&&t&&(this._cache[e]={}),this._cache[e]},t._setExpireTimer=function(e,t){var n=this;this._timers[e]=setTimeout((function(){t(e,n._getCache(e)),n._onKeyExpired(e)}),200)},t._onKeyExpired=function(e){this._clearCache(e),this._clearTimer(e)},t._clearCache=function(e){delete this._cache[e]},t._clearTimer=function(e){var t=this._timers;t&&t[e]&&(clearTimeout(t[e]),delete t[e])},e}();t.GanttDataCache=o},74320:function(e,t,n){t.GanttCustomFieldsManager=void 0;var i=n(47617),o=n(81278),a=n(30631),r=function(){function e(e){this._gantt=e,this._mappingHelper=e._mappingHelper,this.cache=new o.GanttDataCache}var t=e.prototype;return t._getTaskCustomFields=function(){var e=this._gantt.option(\"columns\"),t=e&&e.map((function(e){return e.dataField})),n=this._mappingHelper.getTaskMappedFieldNames();return t?t.filter((function(e){return n.indexOf(e)<0})):[]},t._getCustomFieldsData=function(e){return this._getTaskCustomFields().reduce((function(t,n){return e&&void 0!==e[n]&&(t[n]=e[n]),t}),{})},t.addCustomFieldsData=function(e,t){if(t){var n=this._gantt._tasksOption&&this._gantt._tasksOption._getItems(),o=(0,i.compileGetter)(this._gantt.option(\"\".concat(\"tasks\",\".keyExpr\"))),a=n&&n.filter((function(t){return o(t)===e}))[0],r=this._getTaskCustomFields();if(a)for(var s=0;s<r.length;s++){var l=r[s];Object.prototype.hasOwnProperty.call(a,l)&&(t[l]=a[l])}}},t.appendCustomFields=function(e){var t=this._gantt._tasksOption&&this._gantt._tasksOption._getItems(),n=this._gantt._getTaskKeyGetter(),i=a.GanttHelper.getInvertedData(t,n);return e.reduce((function(e,t){var o=n(t),a=i[o];if(a){var r={};for(var s in a)r[s]=Object.prototype.hasOwnProperty.call(t,s)?t[s]:a[s];e.push(r)}else e.push(t);return e}),[])},t.addCustomFieldsDataFromCache=function(e,t){this.cache.pullDataFromCache(e,t)},t.saveCustomFieldsDataToCache=function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=this._getCustomFieldsData(t);if(Object.keys(a).length>0){var r=function(e,t){var i=n._gantt[\"_\".concat(\"tasks\",\"Option\")];i&&t&&i.update(e,t,(function(e,t){var a={};n.addCustomFieldsData(t,a),i._reloadDataSource().done((function(e){n._gantt._ganttTreeList.updateDataSource(null!=e?e:i._dataSource,!1,o)}));var r=n._gantt.option(\"selectedRowKey\");n._gantt._ganttView._selectTask(r),n._gantt._actionsManager.raiseUpdatedAction(\"tasks\",a,t)}))};this.cache.saveData(e,a,i?r:null)}},t.resetCustomFieldsDataCache=function(e){this.cache.resetCache(e)},e}();t.GanttCustomFieldsManager=r},52609:function(e,t,n){t.default=void 0;var i,o=n(44297),a=(i=n(53305))&&i.__esModule?i:{default:i};function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(t,n,i){var o;return(o=e.call(this)||this)._optionName=t,o._getLoadPanel=n,o._dataSourceChangedCallback=i,o}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var o=i.prototype;return o.insert=function(e,t,n){var i=this;this._showLoadPanel(),this._getStore().insert(e).done((function(e){t&&t(e),i._hideLoadPanel()})).fail((function(e){n&&n(e),i._hideLoadPanel()}))},o.update=function(e,t,n,i){var o=this;this._showLoadPanel(),this._getStore().update(e,t).done((function(e,t){n&&n(e,t),o._hideLoadPanel()})).fail((function(e){i&&i(e),o._hideLoadPanel()}))},o.remove=function(e,t,n){var i=this;this._showLoadPanel(),this._getStore().remove(e).done((function(e){t&&t(e),i._hideLoadPanel()})).fail((function(e){n&&n(e),i._hideLoadPanel()}))},o._dataSourceChangedHandler=function(e,t){this._dataSourceChangedCallback(this._optionName,e)},o._dataSourceOptions=function(){return{paginate:!1}},o._dataSourceLoadingChangedHandler=function(e){e&&!this._dataSource.isLoaded()?this._showLoadPanel():this._hideLoadPanel()},o._showLoadPanel=function(){var e;null===(e=this._getLoadPanel())||void 0===e||e.show()},o._hideLoadPanel=function(){var e;null===(e=this._getLoadPanel())||void 0===e||e.hide()},o._getStore=function(){return this._dataSource.store()},o._getItems=function(){return this._getStore()._array||this._dataSource.items()},o._reloadDataSource=function(){return this._dataSource.load()},o.dispose=function(){this._disposeDataSource()},o._optionChanged=function(e){e.name},i}(o.Component);s.include(a.default);var l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},28512:function(e,t){t.GanttDataChangesProcessingHelper=void 0;var n=function(){function e(){this._waitingForGanttViewReady=!1,this._waitingForTreeListReady=!1,this._completionActions=[]}var t=e.prototype;return t.onGanttViewReady=function(){this._stopWaitForGanttViewReady(),this.executeActionsIfPossible()},t.onTreeListReady=function(){this._stopWaitForTreeListReady(),this.executeActionsIfPossible()},t.addCompletionAction=function(e,t,n){e&&(t&&this._startWaitForGanttViewReady(),n&&this._startWaitForTreeListReady(),this._completionActions.push(e))},t.executeActionsIfPossible=function(){this._canExecuteActions()&&(this._completionActions.forEach((function(e){return e()})),this._completionActions=[])},t._startWaitForGanttViewReady=function(){this._waitingForGanttViewReady=!0},t._stopWaitForGanttViewReady=function(){this._waitingForGanttViewReady=!1},t._startWaitForTreeListReady=function(){this._waitingForTreeListReady=!0},t._stopWaitForTreeListReady=function(){this._waitingForTreeListReady=!1},t._canExecuteActions=function(){return!(this._waitingForGanttViewReady||this._waitingForTreeListReady)},e}();t.GanttDataChangesProcessingHelper=n},10612:function(e,t,n){t.GanttDialog=void 0;var i=s(n(51495)),o=s(n(17737));n(31362),n(14305);var a=s(n(91500)),r=s(n(28109));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n(56757),n(15728);var d=function(){function e(e,t){this._popupInstance=e._createComponent(t,i.default),this.infoMap={TaskEdit:h,Resources:f,Confirmation:p,ConstraintViolation:g}}var t=e.prototype;return t._apply=function(){if(this._dialogInfo.isValidated()){var e=this._dialogInfo.getResult();this._callback(e),this.hide()}},t.show=function(e,t,n,i,o){if(this._callback=n,this._afterClosing=i,this.infoMap[e]){var a=this._popupInstance._isVisible()&&this._dialogInfo&&this._dialogInfo instanceof this.infoMap[e];this._dialogInfo=new this.infoMap[e](t,this._apply.bind(this),this.hide.bind(this),o),this._popupInstance.option({showTitle:!!this._dialogInfo.getTitle(),title:this._dialogInfo.getTitle(),toolbarItems:this._dialogInfo.getToolbarItems(),maxWidth:this._dialogInfo.getMaxWidth(),height:this._dialogInfo.getHeight(),contentTemplate:this._dialogInfo.getContentTemplate()}),this._afterClosing&&this._popupInstance.option(\"onHidden\",this._afterClosing),a||this._popupInstance.show()}},t.hide=function(){this._popupInstance.hide(),this._afterClosing&&this._afterClosing()},e}();t.GanttDialog=d;var c=function(){function e(e,t,n,i){this._parameters=e,this._applyAction=t,this._hideAction=n,this._editingOptions=i}var t=e.prototype;return t._getFormItems=function(){return{}},t._getFormCssClass=function(){return\"\"},t._getFormData=function(){return this._parameters},t._updateParameters=function(){},t._getOkToolbarItem=function(){return this._getToolbarItem(\"OK\",this._applyAction)},t._getCancelToolbarItem=function(){return this._getToolbarItem(\"Cancel\",this._hideAction)},t._getYesToolbarItem=function(){return this._getToolbarItem(\"Yes\",this._applyAction)},t._getNoToolbarItem=function(){return this._getToolbarItem(\"No\",this._hideAction)},t._getToolbarItem=function(e,t){return{widget:\"dxButton\",toolbar:\"bottom\",options:{text:r.default.format(e),onClick:t}}},t.getTitle=function(){return\"\"},t.getToolbarItems=function(){return this._editingOptions.enabled?[this._getOkToolbarItem(),this._getCancelToolbarItem()]:[this._getCancelToolbarItem()]},t.getMaxWidth=function(){return 400},t.getHeight=function(){return\"auto\"},t.getContentTemplate=function(){var e=this;return function(t){return e._form=new o.default(t,{formData:e._getFormData(),items:e._getFormItems(),elementAttr:{class:e._getFormCssClass()},rtlEnabled:!1}),t}},t.getResult=function(){var e=this.getFormData();return this._updateParameters(e),this._parameters},t.getFormData=function(){return this._form&&this._form.option(\"formData\")},t.isValidated=function(){return!0},e}(),h=function(e){function t(){return e.apply(this,arguments)||this}l(t,e);var n=t.prototype;return n.getTitle=function(){return r.default.format(\"dxGantt-dialogTaskDetailsTitle\")},n._getFormItems=function(){var e=this,t=!this._editingOptions.enabled||!this._editingOptions.allowTaskUpdating,n=t||!this._parameters.enableRangeEdit;return[{dataField:\"title\",editorType:\"dxTextBox\",label:{text:r.default.format(\"dxGantt-dialogTitle\")},editorOptions:{readOnly:t||this._isReadOnlyField(\"title\")},visible:!this._isHiddenField(\"title\")},{dataField:\"start\",editorType:\"dxDateBox\",label:{text:r.default.format(\"dxGantt-dialogStartTitle\")},editorOptions:{type:\"datetime\",width:\"100%\",readOnly:n||this._isReadOnlyField(\"start\")},visible:!this._isHiddenField(\"start\"),validationRules:[{type:\"required\",message:r.default.format(\"validation-required-formatted\",r.default.format(\"dxGantt-dialogStartTitle\"))},{type:\"custom\",validationCallback:function(t){if(e._parameters.isValidationRequired){var n=e._parameters.getCorrectDateRange(e._parameters.id,t.value,e._parameters.end);if(n.start.getTime()!==t.value.getTime())return t.rule.message=e._getValidationMessage(!0,n.start),!1}return!0}}]},{dataField:\"end\",editorType:\"dxDateBox\",label:{text:r.default.format(\"dxGantt-dialogEndTitle\")},editorOptions:{type:\"datetime\",width:\"100%\",readOnly:n||this._isReadOnlyField(\"end\")},visible:!this._isHiddenField(\"end\"),validationRules:[{type:\"required\",message:r.default.format(\"validation-required-formatted\",r.default.format(\"dxGantt-dialogEndTitle\"))},{type:\"custom\",validationCallback:function(t){if(e._parameters.isValidationRequired){var n=e._parameters.getCorrectDateRange(e._parameters.id,e._parameters.start,t.value);if(n.end.getTime()!==t.value.getTime())return t.rule.message=e._getValidationMessage(!1,n.end),!1}return!0}}]},{dataField:\"progress\",editorType:\"dxNumberBox\",label:{text:r.default.format(\"dxGantt-dialogProgressTitle\")},editorOptions:{showSpinButtons:!0,min:0,max:1,format:\"#0%\",step:.01,readOnly:n||this._isReadOnlyField(\"progress\")},visible:!this._isHiddenField(\"progress\")},{dataField:\"assigned.items\",editorType:\"dxTagBox\",label:{text:r.default.format(\"dxGantt-dialogResourcesTitle\")},editorOptions:{readOnly:t||!this._editingOptions.allowTaskResourceUpdating,dataSource:this._parameters.resources.items,displayExpr:\"text\",buttons:[{name:\"editResources\",location:\"after\",options:{disabled:!this._editingOptions.allowResourceAdding&&!this._editingOptions.allowResourceDeleting,text:\"...\",hint:r.default.format(\"dxGantt-dialogEditResourceListHint\"),onClick:function(){e._parameters.showResourcesDialogCommand.execute((function(){e._parameters.showTaskEditDialogCommand.execute()}))}}}]}}]},n._getValidationMessage=function(e,t){return e?r.default.format(\"dxGantt-dialogStartDateValidation\",this._getFormattedDateText(t)):r.default.format(\"dxGantt-dialogEndDateValidation\",this._getFormattedDateText(t))},n._getFormattedDateText=function(e){return e?a.default.format(e,\"shortDateShortTime\"):\"\"},n._isReadOnlyField=function(e){return this._parameters.readOnlyFields.indexOf(e)>-1},n._isHiddenField=function(e){return this._parameters.hiddenFields.indexOf(e)>-1},n._getFormData=function(){var e={};for(var t in this._parameters)e[t]=\"progress\"===t?this._parameters[t]/100:this._parameters[t];return e},n._updateParameters=function(e){this._parameters.title=e.title,this._parameters.start=e.start,this._parameters.end=e.end,this._parameters.progress=100*e.progress,this._parameters.assigned=e.assigned},n.isValidated=function(){var e,t=null===(e=this._form)||void 0===e?void 0:e.validate();return null==t?void 0:t.isValid},t}(c),f=function(e){function t(){return e.apply(this,arguments)||this}l(t,e);var n=t.prototype;return n.getTitle=function(){return r.default.format(\"dxGantt-dialogResourceManagerTitle\")},n._getFormItems=function(){var e=this;return[{label:{visible:!1},dataField:\"resources.items\",editorType:\"dxList\",editorOptions:{allowItemDeleting:this._editingOptions.enabled&&this._editingOptions.allowResourceDeleting,itemDeleteMode:\"static\",selectionMode:\"none\",items:this._parameters.resources.items,height:250,noDataText:r.default.format(\"dxGantt-dialogEditNoResources\"),onInitialized:function(t){e.list=t.component},onItemDeleted:function(t){e._parameters.resources.remove(t.itemData)}}},{label:{visible:!1},editorType:\"dxTextBox\",editorOptions:{readOnly:!this._editingOptions.enabled||!this._editingOptions.allowResourceAdding,onInitialized:function(t){e.textBox=t.component},onInput:function(e){var t=e.component.getButton(\"addResource\"),n=e.component.option(\"text\");t.option(\"disabled\",0===n.length)},buttons:[{name:\"addResource\",location:\"after\",options:{text:r.default.format(\"dxGantt-dialogButtonAdd\"),disabled:!0,onClick:function(t){var n=e._parameters.resources.createItem();n.text=e.textBox.option(\"text\"),e._parameters.resources.add(n),e.list.option(\"items\",e._parameters.resources.items),e.list.scrollToItem(n),e.textBox.reset(),t.component.option(\"disabled\",!0)}}}]}}]},t}(c),p=function(e){function t(){return e.apply(this,arguments)||this}l(t,e);var n=t.prototype;return n.getContentTemplate=function(){var e=this;return function(t){return e._getConfirmMessage()}},n._getConfirmMessage=function(){switch(this._parameters.type){case 0:return r.default.format(\"dxGantt-dialogTaskDeleteConfirmation\");case 1:return r.default.format(\"dxGantt-dialogDependencyDeleteConfirmation\");case 2:return r.default.format(\"dxGantt-dialogResourcesDeleteConfirmation\",this._parameters.message);default:return\"\"}},n.getToolbarItems=function(){return[this._getYesToolbarItem(),this._getNoToolbarItem()]},t}(c),g=function(e){function t(){return e.apply(this,arguments)||this}l(t,e);var n=t.prototype;return n._getFormItems=function(){var e,t=this._parameters.hasCriticalErrors,n=this._parameters.errorsCount>1,i=[],o=n?\"dxGantt-dialogDeleteDependenciesMessage\":\"dxGantt-dialogDeleteDependencyMessage\",a=n?\"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\":\"dxGantt-dialogMoveTaskAndKeepDependencyMessage\";return e=t?n?\"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\":\"dxGantt-dialogConstraintCriticalViolationMessage\":n?\"dxGantt-dialogConstraintViolationSeveralTasksMessage\":\"dxGantt-dialogConstraintViolationMessage\",i.push({text:r.default.format(\"dxGantt-dialogCancelOperationMessage\"),value:0}),i.push({text:r.default.format(o),value:1}),t||i.push({text:r.default.format(a),value:2}),[{template:r.default.format(e)},{cssClass:\"dx-cv-dialog-row\",dataField:\"option\",label:{visible:!1},editorType:\"dxRadioGroup\",editorOptions:{items:i,valueExpr:\"value\",value:0}}]},n._getFormCssClass=function(){return\"dx-cv-dialog\"},n._updateParameters=function(e){this._parameters.option=e.option},t}(c)},83553:function(e,t,n){t.GanttExportHelper=void 0;var i=n(58201),o=l(n(13615)),a=n(35922),r=l(n(91500)),s=l(n(18016));function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,i.getWindow)(),d=function(){function e(e){this._gantt=e,this._treeList=e._treeList,this._cache={}}var t=e.prototype;return t.reset=function(){this._cache={}},t.getTreeListTableStyle=function(){var e=this._getTreeListTable(),t=u.getComputedStyle(e);return{color:t.color,backgroundColor:t.backgroundColor,fontSize:t.fontSize,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontStyle:t.fontStyle,textAlign:\"left\",verticalAlign:\"middle\"}},t.getTreeListColCount=function(){return this._getHeaderView().getColumnWidths().filter((function(e){return e>0})).length},t.getTreeListHeaderInfo=function(e){var t=this._getHeaderElement(e);if(!t)return null;var n=u.getComputedStyle(t),i={color:n.color,padding:n.padding,paddingLeft:n.paddingLeft,paddingTop:n.paddingTop,paddingRight:n.paddingRight,paddingBottom:n.paddingBottom,verticalAlign:n.verticalAlign,width:this._getColumnWidth(e)};return{content:t.textContent,styles:i}},t.getTreeListCellInfo=function(e,t){var n,i=this._treeList.getNodeByKey(e),o=this._treeList.getRowIndexByKey(e),a=o>-1?this._getDataCell(o,t):null,r=a?u.getComputedStyle(a):this._getColumnCellStyle(t),s={color:r.color,padding:r.padding,paddingLeft:r.paddingLeft,paddingTop:r.paddingTop,paddingRight:r.paddingRight,paddingBottom:r.paddingBottom,width:this._getColumnWidth(t)};return 0===t&&(s.extraLeftPadding=this._getEmptySpaceWidth(i.level)),{content:null!==(n=null==a?void 0:a.textContent)&&void 0!==n?n:this._getDisplayText(e,t),styles:s}},t.getTreeListEmptyDataCellInfo=function(){return{content:this._treeList.option(\"noDataText\")}},t._ensureColumnWidthCache=function(e){var t,n;if(null!==(n=(t=this._cache)[\"columnWidths\"])&&void 0!==n||(t.columnWidths={}),!this._cache.columnWidths[e]){var i,o=this._getHeaderElement(e);this._cache.columnWidths[e]=null!==(i=null==o?void 0:o.clientWidth)&&void 0!==i?i:0}},t._getColumnWidth=function(e){this._ensureColumnWidthCache(e);var t=this._cache.columnWidths;return t&&t[e]},t._getEmptySpaceWidth=function(e){if(!this._cache.emptyWidth){var t,n,i,o=this._getTreeListElement(\"dx-treelist-empty-space\");null!==(n=(t=this._cache)[\"emptyWidth\"])&&void 0!==n||(t.emptyWidth=null!==(i=o.offsetWidth)&&void 0!==i?i:0)}return this._cache.emptyWidth*(e+1)},t._getColumnCellStyle=function(e){return this._ensureColumnCellStyleCache(e),this._cache.columnStyles[e]},t._ensureColumnCellStyleCache=function(e){var t,n;if(null!==(n=(t=this._cache)[\"columnStyles\"])&&void 0!==n||(t.columnStyles={}),!this._cache.columnStyles[e]){var i=this._getDataCell(0,e);this._cache.columnStyles[e]=u.getComputedStyle(i)}},t._getTask=function(e){return this._ensureTaskCache(e),this._cache.tasks[e]},t._ensureTaskCache=function(e){var t,n,i,o;null!==(n=(t=this._cache)[\"tasks\"])&&void 0!==n||(t.tasks={}),null!==(o=(i=this._cache.tasks)[e])&&void 0!==o||(i[e]=this._gantt._findTaskByKey(e))},t._getTreeListTable=function(){return this._getTreeListElement(\"dx-treelist-table\")},t._getTreeListElement=function(e){return this._treeList._$element.find(\".\"+e).get(0)},t._getDataCell=function(e,t){var n=this._treeList.getCellElement(e,t);return n&&n.length?n[0]:n},t._getHeaderElement=function(e){return this._getHeaderView().getHeaderElement(e).get(0)},t._getHeaderView=function(){return this._treeList._views.columnHeadersView},t._getDisplayText=function(e,t){var n=this._getTask(e);return n&&this._getGridDisplayText(t,n)},t._getGridDisplayText=function(e,t){var n=this._treeList.getController(\"columns\").getColumns()[e],i=null==n?void 0:n.dataField,l=null==n?void 0:n.format,u=o.default.getDisplayValue(n,t[i],t,\"data\");if((0,a.isDefined)(l)){if(\"date\"===(null==n?void 0:n.dataType)||\"datetime\"===(null==n?void 0:n.dataType)){var d=(0,a.isDate)(u)?u:new Date(u);return r.default.format(d,l)}if((0,a.isNumeric)(u))return s.default.format(u,l)}return\"string\"==typeof u?u:null==u?void 0:u.toString()},e}();t.GanttExportHelper=d},30631:function(e,t,n){t.GanttHelper=void 0;var i,o=n(47617),a=n(35922),r=(i=n(28109))&&i.__esModule?i:{default:i};var s={prepareMapHandler:function(e){return function(t){return Object.keys(e).reduce((function(n,i){return n[\"key\"===i?\"id\":i]=e[i](t),n}),{})}},prepareSetterMapHandler:function(e){return function(t){return Object.keys(e).reduce((function(n,i){var o=\"key\"===i?\"id\":i;return e[i](n,t[o]),n}),{})}},compileGettersByOption:function(e){var t={};for(var n in e){var i=n.match(/(\\w*)Expr/);i&&(t[i[1]]=(0,o.compileGetter)(e[i[0]]))}return t},compileSettersByOption:function(e){var t={};for(var n in e){var i=n.match(/(\\w*)Expr/);i&&!(0,a.isFunction)(e[i[0]])&&(t[i[1]]=(0,o.compileSetter)(e[i[0]]))}return t},compileFuncSettersByOption:function(e){var t={};for(var n in e){var i=n.match(/(\\w*)Expr/);i&&(0,a.isFunction)(e[i[0]])&&(t[i[1]]=e[i[0]])}return t},getStoreObject:function(e,t){var n=s.compileSettersByOption(e);return Object.keys(n).reduce((function(e,i){return\"key\"!==i&&n[i](e,t[i]),e}),{})},getInvertedData:function(e,t){var n={};if(e)for(var i=0;i<e.length;i++){var o=e[i];n[t(o)]=o}return n},getArrayFromOneElement:function(e){return null==e?[]:[e]},getSelectionMode:function(e){return e?\"single\":\"none\"},convertTreeToList:function(e,t){null!=e&&e.data&&null!=e&&e.visible&&t.push(e.data);for(var n=0;n<(null===(i=e.children)||void 0===i?void 0:i.length);n++){var i,o=e.children[n];s.convertTreeToList(o,t)}},getAllParentNodesKeys:function(e,t){var n;null!=e&&e.data&&t.push(e.key),null!=e&&null!==(n=e.parent)&&void 0!==n&&n.data&&s.getAllParentNodesKeys(e.parent,t)},getDefaultOptions:function(){return{tasks:{dataSource:null,keyExpr:\"id\",parentIdExpr:\"parentId\",startExpr:\"start\",endExpr:\"end\",progressExpr:\"progress\",titleExpr:\"title\",colorExpr:\"color\"},dependencies:{dataSource:null,keyExpr:\"id\",predecessorIdExpr:\"predecessorId\",successorIdExpr:\"successorId\",typeExpr:\"type\"},resources:{dataSource:null,keyExpr:\"id\",textExpr:\"text\",colorExpr:\"color\"},resourceAssignments:{dataSource:null,keyExpr:\"id\",taskIdExpr:\"taskId\",resourceIdExpr:\"resourceId\"},columns:void 0,taskListWidth:300,showResources:!0,showDependencies:!0,taskTitlePosition:\"inside\",firstDayOfWeek:void 0,selectedRowKey:void 0,onSelectionChanged:null,onTaskClick:null,onTaskDblClick:null,onTaskInserting:null,onTaskInserted:null,onTaskDeleting:null,onTaskDeleted:null,onTaskUpdating:null,onTaskUpdated:null,onTaskMoving:null,onTaskEditDialogShowing:null,onDependencyInserting:null,onDependencyInserted:null,onDependencyDeleting:null,onDependencyDeleted:null,onResourceInserting:null,onResourceInserted:null,onResourceDeleting:null,onResourceDeleted:null,onResourceAssigning:null,onResourceAssigned:null,onResourceUnassigning:null,onResourceUnassigned:null,onCustomCommand:null,onContextMenuPreparing:null,allowSelection:!0,showRowLines:!0,stripLines:void 0,scaleType:\"auto\",scaleTypeRange:{min:\"minutes\",max:\"years\"},editing:{enabled:!1,allowTaskAdding:!0,allowTaskDeleting:!0,allowTaskUpdating:!0,allowDependencyAdding:!0,allowDependencyDeleting:!0,allowResourceAdding:!0,allowResourceDeleting:!0,allowResourceUpdating:!0,allowTaskResourceUpdating:!0},validation:{validateDependencies:!1,autoUpdateParentTasks:!1,enablePredecessorGap:!1},toolbar:null,contextMenu:{enabled:!0,items:void 0},taskTooltipContentTemplate:null,taskProgressTooltipContentTemplate:null,taskTimeTooltipContentTemplate:null,taskContentTemplate:null,rootValue:0,sorting:{ascendingText:r.default.format(\"dxGantt-sortingAscendingText\"),descendingText:r.default.format(\"dxGantt-sortingDescendingText\"),clearText:r.default.format(\"dxGantt-sortingClearText\"),mode:\"single\",showSortIndexes:!1},filterRow:void 0,headerFilter:void 0,rtlEnabled:!1}}};t.GanttHelper=s},85183:function(e,t,n){t.default=void 0;var i=n(58664),o=T(n(68374)),a=n(47617),r=n(13306),s=n(58201),l=n(35922),u=n(48604),d=T(n(52609)),c=T(n(97218)),h=T(n(99393)),f=T(n(93288)),p=T(n(14390)),g=n(87110),m=n(74320),_=n(10612),v=n(83553),y=n(30631),b=n(32679),x=n(28990),w=n(23638),C=n(73630),S=n(87367),k=n(21347),D=n(28512),I=T(n(13615));function T(e){return e&&e.__esModule?e:{default:e}}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var O=(0,s.getWindow)(),A=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,E(t,n);var h=s.prototype;return h._init=function(){e.prototype._init.call(this),I.default.logHeaderFilterDeprecatedWarningIfNeed(this),this._initGantt(),this._isGanttRendered=!1,this._initHelpers()},h._initGantt=function(){this._refreshDataSources()},h._initMarkup=function(){e.prototype._initMarkup.call(this),this.$element().addClass(\"dx-gantt\"),this._$toolbarWrapper=(0,o.default)(\"<div>\").addClass(\"dx-gantt-toolbar-wrapper\").appendTo(this.$element()),this._$toolbar=(0,o.default)(\"<div>\").appendTo(this._$toolbarWrapper),this._$mainWrapper=(0,o.default)(\"<div>\").addClass(\"dx-gantt-main-wrapper\").appendTo(this.$element()),this._$treeListWrapper=(0,o.default)(\"<div>\").addClass(\"dx-gantt-treelist-wrapper\").appendTo(this._$mainWrapper),this._$treeList=(0,o.default)(\"<div>\").appendTo(this._$treeListWrapper),this._$splitter=(0,o.default)(\"<div>\").appendTo(this._$mainWrapper),this._$ganttView=(0,o.default)(\"<div>\").addClass(\"dx-gantt-view\").appendTo(this._$mainWrapper),this._$dialog=(0,o.default)(\"<div>\").appendTo(this.$element()),this._$loadPanel=(0,o.default)(\"<div>\").appendTo(this.$element()),this._$contextMenu=(0,o.default)(\"<div>\").appendTo(this.$element())},h._clean=function(){var t;null===(t=this._ganttView)||void 0===t||t._ganttViewCore.cleanMarkup(),delete this._ganttView,delete this._dialogInstance,delete this._loadPanel,delete this._exportHelper,e.prototype._clean.call(this)},h._refresh=function(){this._isGanttRendered=!1,this._contentReadyRaised=!1,e.prototype._refresh.call(this)},h._fireContentReadyAction=function(){this._contentReadyRaised||e.prototype._fireContentReadyAction.call(this),this._contentReadyRaised=!0},h._dimensionChanged=function(){var e;null===(e=this._ganttView)||void 0===e||e._onDimensionChanged()},h._visibilityChanged=function(e){e&&this._refreshGantt()},h._refreshGantt=function(){this._refreshDataSources(),this._refresh()},h._refreshDataSources=function(){this._refreshDataSource(\"tasks\"),this._refreshDataSource(\"dependencies\"),this._refreshDataSource(\"resources\"),this._refreshDataSource(\"resourceAssignments\")},h._renderContent=function(){this._isMainElementVisible=this.$element().is(\":visible\"),this._isMainElementVisible&&!this._isGanttRendered&&(this._isGanttRendered=!0,this._renderBars(),this._renderTreeList(),this._renderSplitter())},h._renderTreeList=function(){this._ganttTreeList=new S.GanttTreeList(this),this._treeList=this._ganttTreeList.getTreeList(),this._ganttTreeList.onAfterTreeListCreate()},h._renderSplitter=function(){var e=this;this._splitter=this._createComponent(this._$splitter,f.default,{container:this.$element(),leftElement:this._$treeListWrapper,rightElement:this._$ganttView,onApplyPanelSize:function(t){e._sizeHelper.onApplyPanelSize(t)}}),this._splitter.option(\"initialLeftPanelWidth\",this.option(\"taskListWidth\"))},h._renderBars=function(){this._bars=[],this._toolbar=new C.GanttToolbar(this._$toolbar,this),this._updateToolbarContent(),this._bars.push(this._toolbar),this._contextMenuBar=new C.GanttContextMenuBar(this._$contextMenu,this),this._updateContextMenu(),this._bars.push(this._contextMenuBar)},h._initHelpers=function(){this._mappingHelper=new b.GanttMappingHelper(this),this._customFieldsManager=new m.GanttCustomFieldsManager(this),this._actionsManager=new g.GanttActionsManager(this),this._ganttTemplatesManager=new w.GanttTemplatesManager(this),this._sizeHelper=new x.GanttSizeHelper(this),this._dataProcessingHelper=new D.GanttDataChangesProcessingHelper},h._initGanttView=function(){var e=this;this._ganttView||(this._ganttView=this._createComponent(this._$ganttView,k.GanttView,{width:\"100%\",height:this._ganttTreeList.getOffsetHeight(),rowHeight:this._ganttTreeList.getRowHeight(),headerHeight:this._ganttTreeList.getHeaderHeight(),tasks:this._tasks,dependencies:this._dependencies,resources:this._resources,resourceAssignments:this._resourceAssignments,allowSelection:this.option(\"allowSelection\"),selectedRowKey:this.option(\"selectedRowKey\"),showResources:this.option(\"showResources\"),showDependencies:this.option(\"showDependencies\"),startDateRange:this.option(\"startDateRange\"),endDateRange:this.option(\"endDateRange\"),taskTitlePosition:this.option(\"taskTitlePosition\"),firstDayOfWeek:this.option(\"firstDayOfWeek\"),showRowLines:this.option(\"showRowLines\"),scaleType:this.option(\"scaleType\"),scaleTypeRange:this.option(\"scaleTypeRange\"),editing:this.option(\"editing\"),validation:this.option(\"validation\"),stripLines:this.option(\"stripLines\"),bars:this._bars,mainElement:this.$element(),onSelectionChanged:function(t){e._ganttTreeList.selectRows(y.GanttHelper.getArrayFromOneElement(t.id))},onViewTypeChanged:function(t){e._onViewTypeChanged(t.type)},onScroll:function(t){e._ganttTreeList.scrollBy(t.scrollTop)},onDialogShowing:this._showDialog.bind(this),onPopupMenuShowing:this._showPopupMenu.bind(this),onPopupMenuHiding:this._hidePopupMenu.bind(this),onExpandAll:this._expandAll.bind(this),onCollapseAll:this._collapseAll.bind(this),modelChangesListener:u.ModelChangesListener.create(this),exportHelper:this._getExportHelper(),taskTooltipContentTemplate:this._ganttTemplatesManager.getTaskTooltipContentTemplateFunc(this.option(\"taskTooltipContentTemplate\")),taskProgressTooltipContentTemplate:this._ganttTemplatesManager.getTaskProgressTooltipContentTemplateFunc(this.option(\"taskProgressTooltipContentTemplate\")),taskTimeTooltipContentTemplate:this._ganttTemplatesManager.getTaskTimeTooltipContentTemplateFunc(this.option(\"taskTimeTooltipContentTemplate\")),taskContentTemplate:this._ganttTemplatesManager.getTaskContentTemplateFunc(this.option(\"taskContentTemplate\")),onTaskClick:function(t){e._ganttTreeList.onRowClick(t)},onTaskDblClick:function(t){e._ganttTreeList.onRowDblClick(t)},onAdjustControl:function(){e._sizeHelper.onAdjustControl()},onContentReady:this._onGanttViewContentReady.bind(this)}))},h._onGanttViewContentReady=function(e){this._isParentAutoUpdateMode()||this._fireContentReadyAction()},h._isParentAutoUpdateMode=function(){return this.option(\"validation.autoUpdateParentTasks\")},h._onTreeListContentReady=function(e){this._isParentAutoUpdateMode()&&this._treeListParentRecalculatedDataUpdating&&this._fireContentReadyAction(),delete this._treeListParentRecalculatedDataUpdating,this._dataProcessingHelper.onTreeListReady()},h._onViewTypeChanged=function(e){this.option(\"scaleType\",this._actionsManager._getScaleType(e))},h._refreshDataSource=function(e){var t=this,n=this[\"_\".concat(e,\"Option\")];n&&(n.dispose(),delete this[\"_\".concat(e,\"Option\")],delete this[\"_\".concat(e)]),(n=new d.default(e,this._getLoadPanel.bind(this),(function(e,n){t._dataSourceChanged(e,n)}))).option(\"dataSource\",this._getSpecificDataSourceOption(e)),n._refreshDataSource(),this[\"_\".concat(e,\"Option\")]=n},h._getSpecificDataSourceOption=function(e){var t=this.option(\"\".concat(e,\".dataSource\"));return!t||Array.isArray(t)?{store:{type:\"array\",data:null!=t?t:[],key:this.option(\"\".concat(e,\".keyExpr\"))}}:t},h._dataSourceChanged=function(e,t){var n=y.GanttHelper.compileGettersByOption(this.option(e)),i=this._validateSourceData(e,t),o=i.map(y.GanttHelper.prepareMapHandler(n));if(this[\"_\".concat(e)]=o,this._setGanttViewOption(e,o),\"tasks\"===e){var a,r,s;this._tasksRaw=i;var l=!(null!==(a=this._ganttTreeList)&&void 0!==a&&a.getDataSource()||this._ganttView);null===(r=this._ganttTreeList)||void 0===r||r.saveExpandedKeys(),null===(s=this._ganttTreeList)||void 0===s||s.updateDataSource(i,l)}},h._validateSourceData=function(e,t){return t&&\"tasks\"===e?this._validateTaskData(t):t},h._validateTaskData=function(e){for(var t,n=(0,a.compileGetter)(this.option(\"\".concat(\"tasks\",\".keyExpr\"))),i=(0,a.compileGetter)(this.option(\"\".concat(\"tasks\",\".parentIdExpr\"))),o=null!==(t=this.option(\"rootValue\"))&&void 0!==t?t:\"dx_dxt_gantt_default_root_value\",r={},s=0;s<e.length;s++){var l=e[s];if(l){var u,d=n(l),c=d===o,h=null!==(u=r[d])&&void 0!==u?u:r[d]={key:d,children:[]};if(!c){var f,p,g=null!==(f=i(l))&&void 0!==f?f:o,m=null!==(p=r[g])&&void 0!==p?p:r[g]={key:g,children:[]};m.children.push(h),h.parent=m}}}var _=[o];return this._appendChildKeys(r[o],_),e.filter((function(e){return _.indexOf(n(e))>-1}))},h._appendChildKeys=function(e,t){for(var n=null==e?void 0:e.children,i=0;i<(null==n?void 0:n.length);i++){var o=n[i];t.push(o.key),this._appendChildKeys(o,t)}},h._onRecordInserted=function(e,t,n){var i=this,o=this[\"_\".concat(e,\"Option\")];if(o){var r=y.GanttHelper.getStoreObject(this.option(e),t),s=\"tasks\"===e;s&&this._customFieldsManager.addCustomFieldsDataFromCache(\"gantt_new_task_key\",r),o.insert(r,(function(l){var u=(0,a.compileGetter)(i.option(\"\".concat(e,\".keyExpr\")))(l);n(u),i._executeFuncSetters(e,t,u),i._dataProcessingHelper.addCompletionAction((function(){i._actionsManager.raiseInsertedAction(e,r,u)}),!0,s),i._ganttTreeList.saveExpandedKeys(),o._reloadDataSource().done((function(e){s&&i._ganttTreeList.onTaskInserted(u,t.parentId)}))}))}},h._onRecordUpdated=function(e,t,n){var i=this,o=this[\"_\".concat(e,\"Option\")],a=\"tasks\"===e;if(o){var r=this._mappingHelper.convertCoreToMappedData(e,n);a&&this._customFieldsManager.cache.hasData(t)&&this._customFieldsManager.addCustomFieldsDataFromCache(t,r),o.update(t,r,(function(){i._executeFuncSetters(e,n,t),i._ganttTreeList.saveExpandedKeys(),i._dataProcessingHelper.addCompletionAction((function(){i._actionsManager.raiseUpdatedAction(e,r,t)}),!0,a),o._reloadDataSource()}))}},h._onRecordRemoved=function(e,t,n){var i=this,o=this[\"_\".concat(e,\"Option\")];o&&o.remove(t,(function(){i._ganttTreeList.saveExpandedKeys(),i._dataProcessingHelper.addCompletionAction((function(){i._actionsManager.raiseDeletedAction(e,t,i._mappingHelper.convertCoreToMappedData(e,n))}),!0,\"tasks\"===e),o._reloadDataSource()}))},h._onParentTaskUpdated=function(e){var t=this.getTaskDataByCoreData(e);this._actionsManager.raiseUpdatedAction(\"tasks\",t,e.id)},h._onParentTasksRecalculated=function(e){var t=this;if(!this.isSieving){var n=y.GanttHelper.compileSettersByOption(this.option(\"tasks\")),i=this._customFieldsManager.appendCustomFields(e.map(y.GanttHelper.prepareSetterMapHandler(n)));setTimeout((function(){var e;t._treeListParentRecalculatedDataUpdating=!0,null===(e=t._ganttTreeList)||void 0===e||e.setDataSource(i)}))}this.isSieving=!1},h._onGanttViewCoreUpdated=function(){this._dataProcessingHelper.onGanttViewReady()},h._executeFuncSetters=function(e,t,n){var i=y.GanttHelper.compileFuncSettersByOption(this.option(e)),o=Object.keys(i).filter((function(e){return(0,l.isDefined)(t[e])}));if(o.length>0){var a=this._getDataSourceItem(e,n);o.forEach((function(e){(0,i[e])(a,t[e])}))}},h._sortAndFilter=function(){var e,t,n,i=this._treeList,o=i.getVisibleColumns(),a=o.filter((function(e){return e.sortIndex>-1})),r=a.map((function(e){return{sortIndex:e.sortIndex,sortOrder:e.sortOrder}})),s=!this._compareSortedState(null===(e=this._savedSortFilterState)||void 0===e?void 0:e.sort,r),u=i.option(\"filterValue\"),d=i.option(\"expandNodesOnFiltering\")&&u!==(null===(t=this._savedSortFilterState)||void 0===t?void 0:t.filter),c=a[0]||o.filter((function(e){var t;return(0,l.isDefined)(e.filterValue)||(null===(t=e.filterValues)||void 0===t?void 0:t.length)}))[0],h=(null===(n=this._savedSortFilterState)||void 0===n?void 0:n.sieveColumn)&&!c;if(c||h){var f=c&&{sievedItems:this._ganttTreeList.getSievedItems(),sieveColumn:c,expandTasks:d||u&&s};this.isSieving=!h,this._setGanttViewOption(\"sieve\",f)}this._savedSortFilterState={sort:r,filter:u,sieveColumn:c}},h._compareSortedState=function(e,t){return!(!e||!t||e.length!==t.length)&&e.every((function(e,n){return e.sortIndex===t[n].sortIndex&&e.sortOrder===t[n].sortOrder}))},h._getToolbarItems=function(){var e=this.option(\"toolbar.items\");return e||[]},h._updateToolbarContent=function(){var e=this._getToolbarItems();e.length?this._$toolbarWrapper.show():this._$toolbarWrapper.hide(),this._toolbar&&this._toolbar.createItems(e),this._updateBarItemsState()},h._updateContextMenu=function(){var e=this.option(\"contextMenu\");e.enabled&&this._contextMenuBar&&(this._contextMenuBar.createItems(e.items),this._updateBarItemsState())},h._updateBarItemsState=function(){this._ganttView&&this._ganttView.updateBarItemsState()},h._showDialog=function(e){this._dialogInstance||(this._dialogInstance=new _.GanttDialog(this,this._$dialog)),this._dialogInstance.show(e.name,e.parameters,e.callback,e.afterClosing,this.option(\"editing\"))},h._showPopupMenu=function(e){if(this.option(\"contextMenu.enabled\")){this._ganttView.getBarManager().updateContextMenu();var t={cancel:!1,event:e.event,targetType:e.type,targetKey:e.key,items:(0,r.extend)(!0,[],this._contextMenuBar._items),data:\"task\"===e.type?this.getTaskData(e.key):this.getDependencyData(e.key)};this._actionsManager.raiseContextMenuPreparing(t),t.cancel||this._contextMenuBar.show(e.position,t.items)}},h._hidePopupMenu=function(){this._contextMenuBar.hide()},h._getLoadPanel=function(){return this._loadPanel||(this._loadPanel=this._createComponent(this._$loadPanel,c.default,{position:{of:this.$element()}})),this._loadPanel},h._getTaskKeyGetter=function(){return this._getDataSourceItemKeyGetter(\"tasks\")},h._findTaskByKey=function(e){return this._getDataSourceItem(\"tasks\",e)},h._getDataSourceItem=function(e,t){var n=this[\"_\".concat(e,\"Option\")],i=this._getDataSourceItemKeyGetter(e);return(null==n?void 0:n._getItems()).find((function(e){return i(e)===t}))},h._getDataSourceItemKeyGetter=function(e){return(0,a.compileGetter)(this.option(\"\".concat(e,\".keyExpr\")))},h._setGanttViewOption=function(e,t){this._ganttView&&this._ganttView.option(e,t)},h._getGanttViewOption=function(e,t){var n;return null===(n=this._ganttView)||void 0===n?void 0:n.option(e)},h._getExportHelper=function(){var e;return null!==(e=this._exportHelper)&&void 0!==e||(this._exportHelper=new v.GanttExportHelper(this)),this._exportHelper},h._executeCoreCommand=function(e){this._ganttView.executeCoreCommand(e)},h._expandAll=function(){this._changeExpandAll(!0)},h._collapseAll=function(){this._changeExpandAll(!1)},h._onTreeListRowExpandChanged=function(e,t){this._lockRowExpandEvent||(this._ganttView.changeTaskExpanded(e.key,t),this._sizeHelper.adjustHeight())},h._changeExpandAll=function(e,t,n){var i,o,a=this,r=[],s=[];if(this._treeList.forEachNode((function(e){var t;null!==(t=e.children)&&void 0!==t&&t.length&&r.push(e)})),n){var l=this._treeList.getNodeByKey(n);y.GanttHelper.getAllParentNodesKeys(l,s)}this._lockRowExpandEvent=r.length>0;var u=r.reduce((function(i,l,u){n?e=s.includes(l.key):t&&(e=l.level<t),i[l.key]=e;var d=e?a._treeList.expandRow:a._treeList.collapseRow;return u===r.length-1?o=d(l.key):d(l.key),i}),{});null===(i=o)||void 0===i||i.then((function(){a._ganttView.applyTasksExpandedState(u),a._sizeHelper.adjustHeight(),delete a._lockRowExpandEvent}))},h.getTaskResources=function(e){var t=this;return(0,l.isDefined)(e)?this._ganttView._ganttViewCore.getTaskResources(e).map((function(e){return t._mappingHelper.convertCoreToMappedData(\"resources\",e)})):null},h.getVisibleTaskKeys=function(){return this._ganttView._ganttViewCore.getVisibleTaskKeys()},h.getVisibleDependencyKeys=function(){return this._ganttView._ganttViewCore.getVisibleDependencyKeys()},h.getVisibleResourceKeys=function(){return this._ganttView._ganttViewCore.getVisibleResourceKeys()},h.getVisibleResourceAssignmentKeys=function(){return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys()},h.getTaskData=function(e){if(!(0,l.isDefined)(e))return null;var t=this._ganttView._ganttViewCore.getTaskData(e);return this.getTaskDataByCoreData(t)},h.getTaskDataByCoreData=function(e){var t=e?this._mappingHelper.convertCoreToMappedData(\"tasks\",e):null;return this._customFieldsManager.addCustomFieldsData(e.id,t),t},h.insertTask=function(e){this._customFieldsManager.saveCustomFieldsDataToCache(\"gantt_new_task_key\",e),this._ganttView._ganttViewCore.insertTask(this._mappingHelper.convertMappedToCoreData(\"tasks\",e))},h.deleteTask=function(e){this._ganttView._ganttViewCore.deleteTask(e)},h.updateTask=function(e,t){var n=this._mappingHelper.convertMappedToCoreData(\"tasks\",t),i=!Object.keys(n).length;if(this._customFieldsManager.saveCustomFieldsDataToCache(e,t,!0,i),i){var o=this._customFieldsManager._getCustomFieldsData(t);Object.keys(o).length>0&&this._actionsManager.raiseUpdatingAction(\"tasks\",{cancel:!1,key:e,newValues:{}})}else this._ganttView._ganttViewCore.updateTask(e,n)},h.getDependencyData=function(e){if(!(0,l.isDefined)(e))return null;var t=this._ganttView._ganttViewCore.getDependencyData(e);return t?this._mappingHelper.convertCoreToMappedData(\"dependencies\",t):null},h.insertDependency=function(e){this._ganttView._ganttViewCore.insertDependency(this._mappingHelper.convertMappedToCoreData(\"dependencies\",e))},h.deleteDependency=function(e){this._ganttView._ganttViewCore.deleteDependency(e)},h.getResourceData=function(e){var t=this._ganttView._ganttViewCore.getResourceData(e);return t?this._mappingHelper.convertCoreToMappedData(\"resources\",t):null},h.deleteResource=function(e){this._ganttView._ganttViewCore.deleteResource(e)},h.insertResource=function(e,t){this._ganttView._ganttViewCore.insertResource(this._mappingHelper.convertMappedToCoreData(\"resources\",e),t)},h.getResourceAssignmentData=function(e){var t=this._ganttView._ganttViewCore.getResourceAssignmentData(e);return t?this._mappingHelper.convertCoreToMappedData(\"resourceAssignments\",t):null},h.assignResourceToTask=function(e,t){this._ganttView._ganttViewCore.assignResourceToTask(e,t)},h.unassignResourceFromTask=function(e,t){this._ganttView._ganttViewCore.unassignResourceFromTask(e,t)},h.unassignAllResourcesFromTask=function(e){this._ganttView._ganttViewCore.unassignAllResourcesFromTask(e)},h.updateDimensions=function(){this._sizeHelper.onAdjustControl()},h.scrollToDate=function(e){this._ganttView._ganttViewCore.scrollToDate(e)},h.showResourceManagerDialog=function(){this._ganttView._ganttViewCore.showResourcesDialog()},h.showTaskDetailsDialog=function(e){this._ganttView._ganttViewCore.showTaskDetailsDialog(e)},h.exportToPdf=function(e){return this._exportToPdf(e)},h._exportToPdf=function(e){var t,n,i,o,a,s=this;this._exportHelper.reset();var l=(0,r.extend)({},e);return l.createDocumentMethod&&(l.docCreateMethod=l.createDocumentMethod),null!==(t=l.pdfDocument)&&void 0!==t||(l.pdfDocument=l.jsPDFDocument),null!==(n=l.docCreateMethod)&&void 0!==n||(l.docCreateMethod=null!==(i=null===(o=O.jspdf)||void 0===o?void 0:o.jsPDF)&&void 0!==i?i:O.jsPDF),null!==(a=l.format)&&void 0!==a||(l.format=\"a4\"),new Promise((function(e){var t;e(null===(t=s._ganttView)||void 0===t?void 0:t._ganttViewCore.exportToPdf(l))}))},h.refresh=function(){var e=this;return new Promise((function(t,n){try{e._refreshGantt(),t()}catch(e){n(e.message)}}))},h.expandAll=function(){this._expandAll()},h.collapseAll=function(){this._collapseAll()},h.expandAllToLevel=function(e){this._changeExpandAll(!1,e)},h.expandToTask=function(e){var t,n=this._treeList.getNodeByKey(e);this._changeExpandAll(!1,0,null==n||null===(t=n.parent)||void 0===t?void 0:t.key)},h.collapseTask=function(e){this._treeList.collapseRow(e)},h.expandTask=function(e){this._treeList.expandRow(e)},h.showResources=function(e){this.option(\"showResources\",e)},h.showDependencies=function(e){this.option(\"showDependencies\",e)},h.zoomIn=function(){this._ganttView._ganttViewCore.zoomIn()},h.zoomOut=function(){this._ganttView._ganttViewCore.zoomOut()},h._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),y.GanttHelper.getDefaultOptions())},h._optionChanged=function(t){var n,o,a,r,s,l,u,d,c,h,f,p,g,m,_,v,b,x,w,C,S,k,D,I,T,E,O,A,P,M,R,B,L,V,F,H,N,z,j,W,G,q;switch(t.name){case\"tasks\":this._refreshDataSource(\"tasks\");break;case\"dependencies\":this._refreshDataSource(\"dependencies\");break;case\"resources\":this._refreshDataSource(\"resources\");break;case\"resourceAssignments\":this._refreshDataSource(\"resourceAssignments\");break;case\"columns\":null===(n=this._ganttTreeList)||void 0===n||n.setOption(\"columns\",this._ganttTreeList.getColumns());break;case\"taskListWidth\":null===(o=this._sizeHelper)||void 0===o||o.setInnerElementsWidth();break;case\"showResources\":this._setGanttViewOption(\"showResources\",t.value);break;case\"showDependencies\":this._setGanttViewOption(\"showDependencies\",t.value);break;case\"taskTitlePosition\":this._setGanttViewOption(\"taskTitlePosition\",t.value);break;case\"firstDayOfWeek\":this._setGanttViewOption(\"firstDayOfWeek\",t.value);break;case\"startDateRange\":this._setGanttViewOption(\"startDateRange\",t.value);break;case\"endDateRange\":this._setGanttViewOption(\"endDateRange\",t.value);break;case\"selectedRowKey\":null===(a=this._ganttTreeList)||void 0===a||a.selectRows(y.GanttHelper.getArrayFromOneElement(t.value));break;case\"onSelectionChanged\":null===(r=this._actionsManager)||void 0===r||r.createSelectionChangedAction();break;case\"onTaskClick\":null===(s=this._actionsManager)||void 0===s||s.createTaskClickAction();break;case\"onTaskDblClick\":null===(l=this._actionsManager)||void 0===l||l.createTaskDblClickAction();break;case\"onTaskInserting\":null===(u=this._actionsManager)||void 0===u||u.createTaskInsertingAction();break;case\"onTaskInserted\":null===(d=this._actionsManager)||void 0===d||d.createTaskInsertedAction();break;case\"onTaskDeleting\":null===(c=this._actionsManager)||void 0===c||c.createTaskDeletingAction();break;case\"onTaskDeleted\":null===(h=this._actionsManager)||void 0===h||h.createTaskDeletedAction();break;case\"onTaskUpdating\":null===(f=this._actionsManager)||void 0===f||f.createTaskUpdatingAction();break;case\"onTaskUpdated\":null===(p=this._actionsManager)||void 0===p||p.createTaskUpdatedAction();break;case\"onTaskMoving\":null===(g=this._actionsManager)||void 0===g||g.createTaskMovingAction();break;case\"onTaskEditDialogShowing\":null===(m=this._actionsManager)||void 0===m||m.createTaskEditDialogShowingAction();break;case\"onResourceManagerDialogShowing\":null===(_=this._actionsManager)||void 0===_||_.createResourceManagerDialogShowingAction();break;case\"onDependencyInserting\":null===(v=this._actionsManager)||void 0===v||v.createDependencyInsertingAction();break;case\"onDependencyInserted\":null===(b=this._actionsManager)||void 0===b||b.createDependencyInsertedAction();break;case\"onDependencyDeleting\":null===(x=this._actionsManager)||void 0===x||x.createDependencyDeletingAction();break;case\"onDependencyDeleted\":null===(w=this._actionsManager)||void 0===w||w.createDependencyDeletedAction();break;case\"onResourceInserting\":null===(C=this._actionsManager)||void 0===C||C.createResourceInsertingAction();break;case\"onResourceInserted\":null===(S=this._actionsManager)||void 0===S||S.createResourceInsertedAction();break;case\"onResourceDeleting\":null===(k=this._actionsManager)||void 0===k||k.createResourceDeletingAction();break;case\"onResourceDeleted\":null===(D=this._actionsManager)||void 0===D||D.createResourceDeletedAction();break;case\"onResourceAssigning\":null===(I=this._actionsManager)||void 0===I||I.createResourceAssigningAction();break;case\"onResourceAssigned\":null===(T=this._actionsManager)||void 0===T||T.createResourceAssignedAction();break;case\"onResourceUnassigning\":null===(E=this._actionsManager)||void 0===E||E.createResourceUnassigningAction();break;case\"onResourceUnassigned\":null===(O=this._actionsManager)||void 0===O||O.createResourceUnassignedAction();break;case\"onCustomCommand\":null===(A=this._actionsManager)||void 0===A||A.createCustomCommandAction();break;case\"onContextMenuPreparing\":null===(P=this._actionsManager)||void 0===P||P.createContextMenuPreparingAction();break;case\"onScaleCellPrepared\":null===(M=this._actionsManager)||void 0===M||M.createScaleCellPreparedAction();break;case\"allowSelection\":null===(R=this._ganttTreeList)||void 0===R||R.setOption(\"selection.mode\",y.GanttHelper.getSelectionMode(t.value)),this._setGanttViewOption(\"allowSelection\",t.value);break;case\"showRowLines\":null===(B=this._ganttTreeList)||void 0===B||B.setOption(\"showRowLines\",t.value),this._setGanttViewOption(\"showRowLines\",t.value);break;case\"stripLines\":this._setGanttViewOption(\"stripLines\",t.value);break;case\"scaleType\":this._setGanttViewOption(\"scaleType\",t.value);break;case\"scaleTypeRange\":this._setGanttViewOption(\"scaleTypeRange\",this.option(t.name));break;case\"editing\":this._setGanttViewOption(\"editing\",this.option(t.name));break;case\"validation\":this._setGanttViewOption(\"validation\",this.option(t.name));break;case\"toolbar\":this._updateToolbarContent();break;case\"contextMenu\":this._updateContextMenu();break;case\"taskTooltipContentTemplate\":this._setGanttViewOption(\"taskTooltipContentTemplate\",null===(L=this._ganttTemplatesManager)||void 0===L?void 0:L.getTaskTooltipContentTemplateFunc(t.value));break;case\"taskProgressTooltipContentTemplate\":this._setGanttViewOption(\"taskProgressTooltipContentTemplate\",null===(V=this._ganttTemplatesManager)||void 0===V?void 0:V.getTaskProgressTooltipContentTemplateFunc(t.value));break;case\"taskTimeTooltipContentTemplate\":this._setGanttViewOption(\"taskTimeTooltipContentTemplate\",null===(F=this._ganttTemplatesManager)||void 0===F?void 0:F.getTaskTimeTooltipContentTemplateFunc(t.value));break;case\"taskContentTemplate\":this._setGanttViewOption(\"taskContentTemplate\",null===(H=this._ganttTemplatesManager)||void 0===H?void 0:H.getTaskContentTemplateFunc(t.value));break;case\"rootValue\":null===(N=this._ganttTreeList)||void 0===N||N.setOption(\"rootValue\",t.value);break;case\"width\":e.prototype._optionChanged.call(this,t),null===(z=this._sizeHelper)||void 0===z||z.updateGanttWidth();break;case\"height\":e.prototype._optionChanged.call(this,t),null===(j=this._sizeHelper)||void 0===j||j.setGanttHeight((0,i.getHeight)(this._$element));break;case\"sorting\":null===(W=this._ganttTreeList)||void 0===W||W.setOption(\"sorting\",this.option(t.name));break;case\"filterRow\":null===(G=this._ganttTreeList)||void 0===G||G.setOption(\"filterRow\",this.option(t.name));break;case\"headerFilter\":null===(q=this._ganttTreeList)||void 0===q||q.setOption(\"headerFilter\",this.option(t.name));break;default:e.prototype._optionChanged.call(this,t)}},s}(p.default);(0,h.default)(\"dxGantt\",A);var P=A;t.default=P,e.exports=t.default,e.exports.default=t.default},32679:function(e,t,n){t.GanttMappingHelper=void 0;var i=n(35922),o=n(47617),a=/(\\w*)Expr/,r=function(){function e(e){this._gantt=e}var t=e.prototype;return t._getMappedFieldName=function(e,t){var n=t;return\"id\"===t&&(n=\"key\"),this._gantt.option(\"\".concat(e,\".\").concat(n,\"Expr\"))},t.getTaskMappedFieldNames=function(){var e=[],t=this._gantt.option(\"tasks\");for(var n in t){var i=n.match(a),o=i&&t[i[0]];o&&e.push(o)}return e},t.convertCoreToMappedData=function(e,t){var n=this;return Object.keys(t).reduce((function(a,r){var s=n._getMappedFieldName(e,r);s&&!(0,i.isFunction)(s)&&(0,o.compileSetter)(s)(a,t[r]);return a}),{})},t.convertMappedToCoreData=function(e,t){var n={};if(t){var i=this._gantt.option(e);for(var r in i){var s=r.match(a),l=s&&i[s[0]];if(l&&void 0!==t[l]){var u=(0,o.compileGetter)(l);n[s[1]]=u(t)}}}return n},t.convertCoreToMappedFields=function(e,t){var n=this;return t.reduce((function(t,i){var o=n._getMappedFieldName(e,i);return o&&t.push(o),t}),[])},t.convertMappedToCoreFields=function(e,t){var n=[],i=this._gantt.option(e);for(var o in i){var r=o.match(a),s=r&&i[r[0]];if(s&&t.indexOf(s)>-1){var l=r[1];n.push(l)}}return n},e}();t.GanttMappingHelper=r},48604:function(e,t){t.ModelChangesListener=void 0;var n={create:function(e){return{NotifyTaskCreated:function(t,n,i){e._onRecordInserted(\"tasks\",t,n)},NotifyTaskRemoved:function(t,n,i){e._onRecordRemoved(\"tasks\",t,i)},NotifyTaskUpdated:function(t,n,i){e._onRecordUpdated(\"tasks\",t,n)},NotifyParentTaskUpdated:function(t,n){e._onParentTaskUpdated(t)},NotifyDependencyInserted:function(t,n,i){e._onRecordInserted(\"dependencies\",t,n)},NotifyDependencyRemoved:function(t,n,i){e._onRecordRemoved(\"dependencies\",t,i)},NotifyResourceCreated:function(t,n,i){e._onRecordInserted(\"resources\",t,n)},NotifyResourceRemoved:function(t,n,i){e._onRecordRemoved(\"resources\",t,i)},NotifyResourceAssigned:function(t,n,i){e._onRecordInserted(\"resourceAssignments\",t,n)},NotifyResourceUnassigned:function(t,n,i){e._onRecordRemoved(\"resourceAssignments\",t,i)},NotifyParentDataRecalculated:function(t){e._onParentTasksRecalculated(t)},NotifyTaskCreating:function(t){e._actionsManager.raiseInsertingAction(\"tasks\",t)},NotifyTaskRemoving:function(t){e._actionsManager.raiseDeletingAction(\"tasks\",t)},NotifyTaskUpdating:function(t){e._actionsManager.raiseUpdatingAction(\"tasks\",t)},NotifyTaskMoving:function(t){e._actionsManager.raiseUpdatingAction(\"tasks\",t,e._actionsManager.getTaskMovingAction())},NotifyTaskEditDialogShowing:function(t){e._actionsManager.raiseTaskEditDialogShowingAction(t)},NotifyResourceManagerDialogShowing:function(t){e._actionsManager.raiseResourceManagerDialogShowingAction(t)},NotifyDependencyInserting:function(t){e._actionsManager.raiseInsertingAction(\"dependencies\",t)},NotifyDependencyRemoving:function(t){e._actionsManager.raiseDeletingAction(\"dependencies\",t)},NotifyResourceCreating:function(t){e._actionsManager.raiseInsertingAction(\"resources\",t)},NotifyResourceRemoving:function(t){e._actionsManager.raiseDeletingAction(\"resources\",t)},NotifyResourceAssigning:function(t){e._actionsManager.raiseInsertingAction(\"resourceAssignments\",t)},NotifyResourceUnassigning:function(t){e._actionsManager.raiseDeletingAction(\"resourceAssignments\",t)},NotifyScaleCellPrepared:function(t){e._actionsManager.raiseScaleCellPreparedAction(t)},NotifyGanttViewUpdated:function(){e._onGanttViewCoreUpdated()}}}};t.ModelChangesListener=n},28990:function(e,t,n){t.GanttSizeHelper=void 0;var i=n(58664),o=n(58201),a=function(){function e(e){this._gantt=e}var t=e.prototype;return t._setTreeListDimension=function(e,t){var n,o=\"width\"===e?i.setWidth:i.setHeight,a=\"width\"===e?i.getWidth:i.getHeight;o(this._gantt._$treeListWrapper,t),null===(n=this._gantt._ganttTreeList)||void 0===n||n.setOption(e,a(this._gantt._$treeListWrapper))},t._setGanttViewDimension=function(e,t){var n=\"width\"===e?i.setWidth:i.setHeight,o=\"width\"===e?i.getWidth:i.getHeight;n(this._gantt._$ganttView,t),this._gantt._setGanttViewOption(e,o(this._gantt._$ganttView))},t._getPanelsWidthByOption=function(){var e,t,n,o=(0,i.getWidth)(this._gantt._$element),a=this._gantt.option(\"taskListWidth\");return isNaN(a)?(null===(e=a.indexOf)||void 0===e?void 0:e.call(a,\"px\"))>0?n=o-parseInt(a.replace(\"px\",\"\"))+\"px\":(null===(t=a.indexOf)||void 0===t?void 0:t.call(a,\"%\"))>0&&(n=100-parseInt(a.replace(\"%\",\"\"))+\"%\"):n=o-parseInt(a),{leftPanelWidth:a,rightPanelWidth:n}},t.onAdjustControl=function(){var e=(0,i.getHeight)(this._gantt._$element);this.updateGanttWidth(),this.setGanttHeight(e)},t.onApplyPanelSize=function(e){this.setInnerElementsWidth(e),this.updateGanttRowHeights()},t.updateGanttRowHeights=function(){var e,t=this._gantt._ganttTreeList.getRowHeight();this._gantt._getGanttViewOption(\"rowHeight\")!==t&&(this._gantt._setGanttViewOption(\"rowHeight\",t),null===(e=this._gantt._ganttView)||void 0===e||e._ganttViewCore.updateRowHeights(t))},t.adjustHeight=function(){this._gantt._hasHeight||(this._gantt._setGanttViewOption(\"height\",0),this._gantt._setGanttViewOption(\"height\",this._gantt._ganttTreeList.getOffsetHeight()))},t.setInnerElementsWidth=function(e){if((0,o.hasWindow)()){var t=!e;t&&(e=this._getPanelsWidthByOption(),this._setTreeListDimension(\"width\",0),this._setGanttViewDimension(\"width\",0)),this._setTreeListDimension(\"width\",e.leftPanelWidth),this._setGanttViewDimension(\"width\",e.rightPanelWidth),t&&this._gantt._splitter._setSplitterPositionLeft()}},t.updateGanttWidth=function(){this._gantt._splitter._dimensionChanged()},t.setGanttHeight=function(e){var t,n=e-this._gantt._$toolbarWrapper.get(0).offsetHeight;this._setTreeListDimension(\"height\",n),this._setGanttViewDimension(\"height\",n),null===(t=this._gantt._ganttView)||void 0===t||t._ganttViewCore.resetAndUpdate()},e}();t.GanttSizeHelper=a},77133:function(e,t,n){t.TaskAreaContainer=void 0;var i,o=(i=n(4741))&&i.__esModule?i:{default:i};function a(e){return(a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,r=void 0,r=function(e,t){if(\"object\"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==a(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===a(r)?r:String(r)),i)}var o,r}var s=function(){function e(e,t){this._element=e,this._scrollView=t._createComponent(this._element,o.default,{scrollByContent:!1,scrollByThumb:!0,showScrollbar:\"onHover\",direction:\"both\",onScroll:function(){t.updateView()}})}var t,n,i,a=e.prototype;return a.getWidth=function(){return this._element.offsetWidth},a.getHeight=function(){return this._element.offsetHeight},a.getElement=function(){return this._element},t=e,(n=[{key:\"scrollTop\",get:function(){return this._scrollView.scrollTop()},set:function(e){var t=e-this._scrollView.scrollTop();0!==t&&this._scrollView.scrollBy({left:0,top:t})}},{key:\"scrollLeft\",get:function(){return this._scrollView.scrollLeft()},set:function(e){var t=e-this._scrollView.scrollLeft();0!==t&&this._scrollView.scrollBy({left:t,top:0})}},{key:\"scrollWidth\",get:function(){return this._scrollView.scrollWidth()}},{key:\"scrollHeight\",get:function(){return this._scrollView.scrollHeight()}},{key:\"isExternal\",get:function(){return!0}}])&&r(t.prototype,n),i&&r(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.TaskAreaContainer=s},23638:function(e,t,n){t.GanttTemplatesManager=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(6415);var r=function(){function e(e){this._gantt=e}var t=e.prototype;return t.getTaskTooltipContentTemplateFunc=function(e){var t=this,n=e&&this._gantt._getTemplate(e);return n&&function(e,i,r){return n.render({model:t._gantt.getTaskDataByCoreData(i),container:(0,a.getPublicElement)((0,o.default)(e)),onRendered:function(){r()}}),!0}},t.getTaskProgressTooltipContentTemplateFunc=function(e){var t=e&&this._gantt._getTemplate(e);return t&&function(e,n,i){return t.render({model:n,container:(0,a.getPublicElement)((0,o.default)(e)),onRendered:function(){i()}}),!0}},t.getTaskTimeTooltipContentTemplateFunc=function(e){var t=e&&this._gantt._getTemplate(e);return t&&function(e,n,i){return t.render({model:n,container:(0,a.getPublicElement)((0,o.default)(e)),onRendered:function(){i()}}),!0}},t.getTaskContentTemplateFunc=function(e){var t=this,n=e&&this._gantt._getTemplate(e);return n&&function(e,i,r,s){return i.taskData=t._gantt.getTaskDataByCoreData(i.taskData),n.render({model:i,container:(0,a.getPublicElement)((0,o.default)(e)),onRendered:function(){r(e,s)}}),!0}},e}();t.GanttTemplatesManager=r},87367:function(e,t,n){t.GanttTreeList=void 0;var i=n(58664),o=f(n(68374)),a=f(n(82655)),r=n(37518),s=n(35922),l=n(30631),u=n(85273),d=f(n(26562)),c=n(47617),h=n(11012);function f(e){return e&&e.__esModule?e:{default:e}}var p=function(){function e(e){this._gantt=e,this._$treeList=this._gantt._$treeList}var t=e.prototype;return t.getTreeList=function(){var e=this,t=this._gantt.option(\"tasks\"),n=t.keyExpr,i=t.parentIdExpr;return this._treeList=this._gantt._createComponent(this._$treeList,a.default,{dataSource:this.createDataSource(this._gantt._tasksRaw,n),keyExpr:n,filterSyncEnabled:!0,parentIdExpr:i,columns:this.getColumns(),columnResizingMode:\"nextColumn\",height:this._getHeight(),width:this._gantt.option(\"taskListWidth\"),selection:{mode:l.GanttHelper.getSelectionMode(this._gantt.option(\"allowSelection\"))},selectedRowKeys:l.GanttHelper.getArrayFromOneElement(this._gantt.option(\"selectedRowKey\")),sorting:this._gantt.option(\"sorting\"),filterRow:this._gantt.option(\"filterRow\"),headerFilter:this._gantt.option(\"headerFilter\"),scrolling:{showScrollbar:\"onHover\",mode:\"virtual\"},allowColumnResizing:!0,autoExpandAll:!0,showRowLines:this._gantt.option(\"showRowLines\"),rootValue:this._gantt.option(\"rootValue\"),onContentReady:function(t){e._onContentReady(t)},onSelectionChanged:function(t){e._onSelectionChanged(t)},onRowCollapsed:function(t){e._onRowCollapsed(t)},onRowExpanded:function(t){e._onRowExpanded(t)},onRowPrepared:function(t){e._onRowPrepared(t)},onContextMenuPreparing:function(t){e._onContextMenuPreparing(t)},onRowClick:function(t){e.onRowClick(t)},onRowDblClick:function(t){e.onRowDblClick(t)},onNodesInitialized:function(t){e._onNodesInitialized(t)},_disableDeprecationWarnings:!0}),this._treeList},t.onAfterTreeListCreate=function(){this._postponedGanttInitRequired&&(this._initGanttOnContentReady({component:this._treeList}),delete this._postponedGanttInitRequired)},t._onContentReady=function(e){!!this._treeList?this._initGanttOnContentReady(e):this._postponedGanttInitRequired=!0,this._gantt._onTreeListContentReady(e)},t._initGanttOnContentReady=function(e){e.component.getDataSource()&&(this._gantt._initGanttView(),this._initScrollSync(e.component)),this._gantt._sortAndFilter(),this._gantt._sizeHelper.updateGanttRowHeights()},t._onSelectionChanged=function(e){var t=e.currentSelectedRowKeys[0];this._gantt._setGanttViewOption(\"selectedRowKey\",t),this._gantt._setOptionWithoutOptionChange(\"selectedRowKey\",t),this._gantt._actionsManager.raiseSelectionChangedAction(t)},t._onRowCollapsed=function(e){this._gantt._onTreeListRowExpandChanged(e,!1)},t._onRowExpanded=function(e){this._gantt._onTreeListRowExpandChanged(e,!0)},t._onRowPrepared=function(e){\"data\"===e.rowType&&e.node.children.length>0&&(0,o.default)(e.rowElement).addClass(\"dx-gantt-collapsable-row\")},t._onContextMenuPreparing=function(e){var t,n;if(\"header\"!==e.target){\"data\"===(null===(t=e.row)||void 0===t?void 0:t.rowType)&&this.setOption(\"selectedRowKeys\",[e.row.data[this._gantt.option(\"tasks.keyExpr\")]]),e.items=[];var i={cancel:!1,event:e.event,type:\"task\",key:null===(n=e.row)||void 0===n?void 0:n.key,position:{x:e.event.pageX,y:e.event.pageY}};this._gantt._showPopupMenu(i)}},t._getHeight=function(){return(0,i.getHeight)(this._$treeList)?(0,i.getHeight)(this._$treeList):(this._gantt._hasHeight=(0,s.isDefined)(this._gantt.option(\"height\"))&&\"\"!==this._gantt.option(\"height\"),this._gantt._hasHeight?\"100%\":\"\")},t._initScrollSync=function(e){var t=this,n=e.getScrollable();n&&(n.off(\"scroll\"),n.on(\"scroll\",(function(e){t._onScroll(e)})))},t._onScroll=function(e){var t=this._gantt._ganttView.getTaskAreaContainer();t.scrollTop!==e.component.scrollTop()&&(t.scrollTop=e.component.scrollTop())},t._correctRowsViewRowHeight=function(e){var t=this._treeList._views&&this._treeList._views.rowsView;(null==t?void 0:t._rowHeight)!==e&&(t._rowHeight=e)},t._skipUpdateTreeListDataSource=function(){return this._gantt.option(\"validation.autoUpdateParentTasks\")},t.selectRows=function(e){this.setOption(\"selectedRowKeys\",e)},t.scrollBy=function(e){var t=this._treeList.getScrollable();if(t){var n=e-t.scrollTop();Math.abs(n)>=1&&t.scrollBy({left:0,top:n})}},t.updateDataSource=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this._skipUpdateTreeListDataSource()||t)this.setDataSource(e);else if(n){var i=this._treeList.option(\"dataSource\");this._gantt._onParentTasksRecalculated(i)}},t.setDataSource=function(e){this.setOption(\"dataSource\",this.createDataSource(e))},t.createDataSource=function(e,t){return e&&new u.DataSource({store:new d.default({data:e,key:t||this.getOption(\"keyExpr\")})})},t.onRowClick=function(e){this._gantt._actionsManager.raiseTaskClickAction(e.key,e.event)},t.onRowDblClick=function(e){this._gantt._actionsManager.raiseTaskDblClickAction(e.key,e.event)&&this._gantt._ganttView._ganttViewCore.showTaskEditDialog()},t.saveExpandedKeys=function(){var e=this._treeList,t=null==e?void 0:e.getVisibleRows().length;if(t>0){var n=this.getAllNodes(),i=this.getOption(\"expandedRowKeys\");if(i&&n.length!==t){var o=this.getNodesState();o.applyNodes(n,this.getOption(\"rootValue\")),o.saveExpandedState(i)}}},t._onNodesInitialized=function(e){var t=this.getNodesState(),n=t.getExpandedKeys(),i=this.getAllNodes();t.applyNodes(i,this.getOption(\"rootValue\"));var o=t.getExpandedKeys();if(o&&this.setOption(\"expandedRowKeys\",o),this.isExpandedStateChanged(n,o)){var a=i.reduce((function(e,t){return e[t.key]=!o||o.includes(t.key),e}),{});this._gantt._ganttView.applyTasksExpandedState(a)}t.clear()},t.getNodesState=function(){return this._nodeState||(this._nodeState=new h.GanttTreeListNodesState),this._nodeState},t.getAllNodes=function(){var e,t,n,i=this,o=null===(e=this._treeList)||void 0===e||null===(t=e.getDataSource())||void 0===t?void 0:t.store();if(!o||null===(n=this._treeList)||void 0===n||!n.getNodeByKey)return[];var a=(0,c.compileGetter)(o.key());return o._array.map((function(e){return i._treeList.getNodeByKey(a(e))})).filter((function(e){return!!e}))},t.isExpandedStateChanged=function(e,t){return(null!==e||null!==t)&&((null==e?void 0:e.length)!==(null==t?void 0:t.length)||e.some((function(e,n){return e!==t[n]})))},t.getOffsetHeight=function(){return this._gantt._treeList._$element.get(0).offsetHeight},t.getRowHeight=function(){var e=this._treeList._$element.find(\".dx-data-row\"),t=e.length?(0,r.getBoundingRect)(e.last().get(0)).height:34;return t||(t=34),this._correctRowsViewRowHeight(t),t},t.getHeaderHeight=function(){return(0,r.getBoundingRect)(this._treeList._$element.find(\".dx-treelist-headers\").get(0)).height},t.getColumns=function(){var e=this._gantt.option(\"columns\");if(e)for(var t=0;t<e.length;t++){var n=e[t];(n.dataField===this._gantt.option(\"\".concat(\"tasks\",\".keyExpr\"))||n.dataField===this._gantt.option(\"\".concat(\"tasks\",\".parentIdExpr\")))&&!n.dataType&&(n.dataType=\"object\")}return e},t.getSievedItems=function(){var e=this._treeList.getRootNode();if(e){var t=[];l.GanttHelper.convertTreeToList(e,t);var n=l.GanttHelper.compileGettersByOption(this._gantt.option(\"tasks\"));return this._gantt._validateSourceData(\"tasks\",t).map(l.GanttHelper.prepareMapHandler(n))}},t.setOption=function(e,t){this._treeList&&this._treeList.option(e,t)},t.getOption=function(e){var t;return null===(t=this._treeList)||void 0===t?void 0:t.option(e)},t.onTaskInserted=function(e,t){if((0,s.isDefined)(t)){var n=this.getOption(\"expandedRowKeys\");-1===n.indexOf(t)&&(n.push(t),this.setOption(\"expandedRowKeys\",n))}this.selectRows(l.GanttHelper.getArrayFromOneElement(e)),this.setOption(\"focusedRowKey\",e)},t.getDataSource=function(){var e;return null===(e=this._treeList)||void 0===e?void 0:e.getDataSource()},e}();t.GanttTreeList=p},11012:function(e,t){t.GanttTreeListNodesState=t.GanttTreeListNodeState=void 0;var n=function(){function e(e){var t;this.collapsed=!1,this.key=e.key,this.children=e.children.map((function(e){return e.key})),this.parentKey=null===(t=e.parent)||void 0===t?void 0:t.key}var t=e.prototype;return t.hasChildren=function(){return this.children.length>0},t.removeChild=function(e){var t=this.children.indexOf(e.key);t>-1&&(this.children=this.children.splice(t,1))},t.equal=function(e){return!(!e||e.key!==this.key||e.parentKey!==this.parentKey)&&(this.children.length===e.children.length&&!this.children.some((function(t,n){return t!==e.children[n]})))},e}();t.GanttTreeListNodeState=n;var i=function(){function e(){this._resetHash()}var t=e.prototype;return t.clear=function(){this._resetHash()},t.applyNodes=function(e,t){var n=this;this._rootValue!==t&&(this._resetHash(),this._rootValue=t),this._removeNonExistentNodes(e.map((function(e){return e.key}))),e.forEach((function(e){return n._applyNode(e)})),this._validateHash()},t.saveExpandedState=function(e){var t=this;this._hasCollapsed=!1,this._forEachState((function(n){n.hasChildren()&&!e.includes(n.key)&&(n.collapsed=!0,t._hasCollapsed=!0)}))},t.getExpandedKeys=function(){if(this._hasCollapsed){var e=[];return this._forEachState((function(t){t.hasChildren()&&!t.collapsed&&e.push(t.key)})),e}return null},t._resetHash=function(){this._nodeHash={},this._hasCollapsed=!1},t._getNodeState=function(e){return this._nodeHash[e]},t._removeNonExistentNodes=function(e){var t=this;e&&this._forEachState((function(n){e.includes(n.key)||t._removeStateWithChildren(n)}))},t._removeStateWithChildren=function(e){var t=this,n=this._getNodeState(e);if(n){n.children.forEach((function(e){return t._removeStateWithChildren(e)}));var i=this._getNodeState(n.parentKey);i&&i.removeChild(n),delete this._nodeHash[e]}},t._applyNode=function(e){var t=new n(e),i=this._getNodeState(e.key);null!=i&&i.equal(t)||(this._nodeHash[e.key]=t,this._expandTreelineToNode(e.key))},t._expandTreelineToNode=function(e){for(var t=this._getNodeState(e),n=this._getNodeState(null==t?void 0:t.parentKey);n;)n.collapsed=!1,n=this._getNodeState(n.parentKey)},t._validateHash=function(){var e=this;Object.keys(this._nodeHash).forEach((function(t){var n=e._getNodeState(t),i=null==n?void 0:n.parentKey;i===e._rootValue||e._getNodeState(i)||e._removeStateWithChildren(t)}))},t._forEachState=function(e){var t=this;Object.keys(this._nodeHash).forEach((function(n){var i=t._nodeHash[n];i&&e(i)}))},e}();t.GanttTreeListNodesState=i},21347:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.GanttView=void 0;var o=f(n(68374)),a=f(n(14390)),r=n(70382),s=n(77133),l=f(n(91500)),u=n(35922),d=f(n(28109)),c=n(68752),h=f(n(91331));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var a,f,m,_=i.prototype;return _._init=function(){e.prototype._init.call(this),this._onSelectionChanged=this._createActionByOption(\"onSelectionChanged\"),this._onViewTypeChanged=this._createActionByOption(\"onViewTypeChanged\"),this._onScroll=this._createActionByOption(\"onScroll\"),this._onDialogShowing=this._createActionByOption(\"onDialogShowing\"),this._onPopupMenuShowing=this._createActionByOption(\"onPopupMenuShowing\"),this._onPopupMenuHiding=this._createActionByOption(\"onPopupMenuHiding\"),this._expandAll=this._createActionByOption(\"onExpandAll\"),this._collapseAll=this._createActionByOption(\"onCollapseAll\"),this._taskClick=this._createActionByOption(\"onTaskClick\"),this._taskDblClick=this._createActionByOption(\"onTaskDblClick\"),this._onAdjustControl=this._createActionByOption(\"onAdjustControl\")},_._initMarkup=function(){var e=(0,r.getGanttViewCore)();this._ganttViewCore=new e(this.$element().get(0),this,{showResources:this.option(\"showResources\"),showDependencies:this.option(\"showDependencies\"),taskTitlePosition:this._getTaskTitlePosition(this.option(\"taskTitlePosition\")),firstDayOfWeek:this._getFirstDayOfWeek(this.option(\"firstDayOfWeek\")),allowSelectTask:this.option(\"allowSelection\"),startDateRange:this.option(\"startDateRange\"),endDateRange:this.option(\"endDateRange\"),editing:this._parseEditingSettings(this.option(\"editing\")),validation:this.option(\"validation\"),stripLines:{stripLines:this.option(\"stripLines\")},areHorizontalBordersEnabled:this.option(\"showRowLines\"),areAlternateRowsEnabled:!1,viewType:this._getViewTypeByScaleType(this.option(\"scaleType\")),viewTypeRange:this._parseViewTypeRangeSettings(this.option(\"scaleTypeRange\")),cultureInfo:this._getCultureInfo(),taskTooltipContentTemplate:this.option(\"taskTooltipContentTemplate\"),taskProgressTooltipContentTemplate:this.option(\"taskProgressTooltipContentTemplate\"),taskTimeTooltipContentTemplate:this.option(\"taskTimeTooltipContentTemplate\"),taskContentTemplate:this.option(\"taskContentTemplate\"),sieve:this.option(\"sieve\")}),this._selectTask(this.option(\"selectedRowKey\")),this.updateBarItemsState()},_._getFirstDayOfWeek=function(e){return(0,u.isDefined)(e)?e:l.default.firstDayOfWeekIndex()},_.getTaskAreaContainer=function(){return this._ganttViewCore.getTaskAreaContainer()},_.getBarManager=function(){return this._ganttViewCore.barManager},_.executeCoreCommand=function(e){var t=this._ganttViewCore.getCommandByKey(e);t&&t.execute()},_.changeTaskExpanded=function(e,t){this._ganttViewCore.changeTaskExpanded(e,t)},_.updateView=function(){var e;null===(e=this._ganttViewCore)||void 0===e||e.updateView()},_.updateBarItemsState=function(){this._ganttViewCore.barManager.updateItemsState([])},_.setWidth=function(e){this._ganttViewCore.setWidth(e)},_._onDimensionChanged=function(){this._ganttViewCore.onBrowserWindowResize()},_._selectTask=function(e){this._ganttViewCore.selectTaskById(e)},_._update=function(e){var t;null===(t=this._ganttViewCore)||void 0===t||t.updateWithDataReload(e)},_._getCultureInfo=function(){return{monthNames:l.default.getMonthNames(\"wide\"),dayNames:l.default.getDayNames(\"wide\"),abbrMonthNames:l.default.getMonthNames(\"abbreviated\"),abbrDayNames:l.default.getDayNames(\"abbreviated\"),quarterNames:this._getQuarterNames(),amText:this._getAmText(),pmText:this._getPmText(),start:d.default.format(\"dxGantt-dialogStartTitle\"),end:d.default.format(\"dxGantt-dialogEndTitle\"),progress:d.default.format(\"dxGantt-dialogProgressTitle\")}},_._getAmText=function(){return this._hasAmPM()?l.default.getPeriodNames()[0]:\"\"},_._getPmText=function(){return this._hasAmPM()?l.default.getPeriodNames()[1]:\"\"},_._hasAmPM=function(){var e=new Date(Date.UTC(2012,11,12,3,0,0));return e.toLocaleTimeString(h.default.locale()).match(/am|pm/i)||e.toString().match(/am|pm/i)},_._getQuarterNames=function(){var e=d.default.format(\"dxGantt-quarter\");return e?[(0,c.format)(e,1),(0,c.format)(e,2),(0,c.format)(e,3),(0,c.format)(e,4)]:l.default.getQuarterNames()},_._getTaskTitlePosition=function(e){switch(e){case\"outside\":return 1;case\"none\":return 2;default:return 0}},_._getViewTypeByScaleType=function(e){switch(e){case\"minutes\":return 0;case\"hours\":return 1;case\"sixHours\":return 2;case\"days\":return 3;case\"weeks\":return 4;case\"months\":return 5;case\"quarters\":return 6;case\"years\":return 7;default:return}},_._parseEditingSettings=function(e){return{enabled:e.enabled,allowDependencyDelete:e.allowDependencyDeleting,allowDependencyInsert:e.allowDependencyAdding,allowTaskDelete:e.allowTaskDeleting,allowTaskInsert:e.allowTaskAdding,allowTaskUpdate:e.allowTaskUpdating,allowResourceDelete:e.allowResourceDeleting,allowResourceInsert:e.allowResourceAdding,allowResourceUpdate:e.allowResourceUpdating,allowTaskResourceUpdate:e.allowTaskResourceUpdating}},_._parseViewTypeRangeSettings=function(e){return{min:this._getViewTypeByScaleType(e.min),max:this._getViewTypeByScaleType(e.max)}},_._optionChanged=function(t){switch(t.name){case\"width\":e.prototype._optionChanged.call(this,t),this._ganttViewCore.setWidth(t.value);break;case\"height\":this._ganttViewCore.setHeight(t.value);break;case\"tasks\":case\"dependencies\":case\"resources\":case\"resourceAssignments\":this._sieveOptions=void 0,this._update(!0);break;case\"showResources\":this._ganttViewCore.setShowResources(t.value);break;case\"showDependencies\":this._ganttViewCore.setShowDependencies(t.value);break;case\"taskTitlePosition\":this._ganttViewCore.setTaskTitlePosition(this._getTaskTitlePosition(t.value));break;case\"firstDayOfWeek\":this._ganttViewCore.setFirstDayOfWeek(this._getFirstDayOfWeek(t.value));break;case\"startDateRange\":this._ganttViewCore.setStartDateRange(t.value);break;case\"endDateRange\":this._ganttViewCore.setEndDateRange(t.value);break;case\"allowSelection\":this._ganttViewCore.setAllowSelection(t.value);break;case\"selectedRowKey\":this._selectTask(t.value);break;case\"editing\":this._ganttViewCore.setEditingSettings(this._parseEditingSettings(t.value));break;case\"validation\":this._ganttViewCore.setValidationSettings(t.value),this._update(!0);break;case\"showRowLines\":this._ganttViewCore.setRowLinesVisible(t.value);break;case\"scaleType\":this._ganttViewCore.setViewType(this._getViewTypeByScaleType(t.value));break;case\"scaleTypeRange\":this._ganttViewCore.setViewTypeRange(this._getViewTypeByScaleType(t.value.min),this._getViewTypeByScaleType(t.value.max));break;case\"stripLines\":this._ganttViewCore.setStripLines({stripLines:t.value});break;case\"taskTooltipContentTemplate\":this._ganttViewCore.setTaskTooltipContentTemplate(t.value);break;case\"taskProgressTooltipContentTemplate\":this._ganttViewCore.setTaskProgressTooltipContentTemplate(t.value);break;case\"taskTimeTooltipContentTemplate\":this._ganttViewCore.setTaskTimeTooltipContentTemplate(t.value);break;case\"taskContentTemplate\":this._ganttViewCore.setTaskContentTemplate(t.value);break;case\"sieve\":this._sortAndFilter(t.value);break;default:e.prototype._optionChanged.call(this,t)}},_.getRowHeight=function(){return this.option(\"rowHeight\")},_.getHeaderHeight=function(){return this.option(\"headerHeight\")},_.getGanttTasksData=function(){var e=this.option(\"tasks\"),t=this.getSieveOptions();return null!=t&&t.sievedItems&&null!=t&&t.sieveColumn?t.sievedItems:e},_._sortAndFilter=function(e){this._sieveOptions=e,this._update(!(null!=e&&e.expandTasks));var t=this.option(\"selectedRowKey\");this._selectTask(t)},_.getSieveOptions=function(){return this._sieveOptions},_.getGanttDependenciesData=function(){return this.option(\"dependencies\")},_.getGanttResourcesData=function(){return this.option(\"resources\")},_.getGanttResourceAssignmentsData=function(){return this.option(\"resourceAssignments\")},_.getGanttWorkTimeRules=function(){return null},_.getExternalTaskAreaContainer=function(e){return this._taskAreaContainer||(this._taskAreaContainer=new s.TaskAreaContainer(e,this)),this._taskAreaContainer},_.prepareExternalTaskAreaContainer=function(e,t){null!=t&&t.height&&this._taskAreaContainer._scrollView.option(\"height\",t.height)},_.changeGanttTaskSelection=function(e,t){this._onSelectionChanged({id:e,selected:t})},_.onGanttScroll=function(e){this._onScroll({scrollTop:e})},_.showDialog=function(e,t,n,i){this._onDialogShowing({name:e,parameters:t,callback:n,afterClosing:i})},_.getModelChangesListener=function(){return this.option(\"modelChangesListener\")},_.getExportInfo=function(){return this.option(\"exportInfo\")},_.showPopupMenu=function(e){this._onPopupMenuShowing(e)},_.hidePopupMenu=function(e){this._onPopupMenuHiding(e)},_.getMainElement=function(){return this.option(\"mainElement\").get(0)},_.adjustControl=function(){this._onAdjustControl()},_.getRequireFirstLoadParentAutoCalc=function(){return this.option(\"validation.autoUpdateParentTasks\")},_.collapseAll=function(){this._collapseAll()},_.expandAll=function(){this._expandAll()},_.onTaskClick=function(e,t){return this._taskClick({key:e,event:t}),!0},_.onTaskDblClick=function(e,t){return this._taskDblClick({key:e,event:t})},_.onGanttViewContextMenu=function(e,t,n){return!0},_.getFormattedDateText=function(e){var t=\"\";if(e){var n=l.default.format(e,\"shortDate\"),i=this._hasAmPM()?\"hh:mm a\":\"HH:mm\";t=n+\" \"+l.default.format(e,i)}return t},_.destroyTemplate=function(e){(0,o.default)(e).empty()},_.onTaskAreaSizeChanged=function(e){var t=this._taskAreaContainer._scrollView;if((0,u.isDefined)(null==e?void 0:e.height)){var n=(null==e?void 0:e.height)>this._taskAreaContainer.getHeight()?\"both\":\"horizontal\";t.option(\"direction\",n)}},_.updateGanttViewType=function(e){this._onViewTypeChanged({type:e})},_.getTreeListTableStyle=function(){return this.callExportHelperMethod(\"getTreeListTableStyle\")},_.getTreeListColCount=function(){return this.callExportHelperMethod(\"getTreeListColCount\")},_.getTreeListHeaderInfo=function(e){return this.callExportHelperMethod(\"getTreeListHeaderInfo\",e)},_.getTreeListCellInfo=function(e,t,n){return this.callExportHelperMethod(\"getTreeListCellInfo\",n,t)},_.getTreeListEmptyDataCellInfo=function(){return this.callExportHelperMethod(\"getTreeListEmptyDataCellInfo\")},_.callExportHelperMethod=function(e){for(var t=this.option(\"exportHelper\"),n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return t[e].apply(t,i)},_.applyTasksExpandedState=function(e){var t;null===(t=this._ganttViewCore)||void 0===t||t.applyTasksExpandedState(e)},a=i,(f=[{key:\"bars\",get:function(){return this.option(\"bars\")}}])&&p(a.prototype,f),m&&p(a,m),Object.defineProperty(a,\"prototype\",{writable:!1}),i}(a.default);t.GanttView=m},13615:function(e,t,n){var i;t.default=void 0;var o=((i=n(60082))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},71004:function(e,t,n){t.default=void 0;var i=p(n(38377)),o=n(20576),a=n(95479),r=n(35922),s=n(13306),l=p(n(96688)),u=p(n(2630)),d=p(n(29837)),c=p(n(96687)),h=p(n(99236)),f=p(n(92449));function p(e){return e&&e.__esModule?e:{default:e}}u.default.setEditorClass(d.default);var g=i.default.inherit({ctor:function(e){this.options={},(0,s.extend)(this.options,this._defaultOptions(),e),this.options.dataConverter.setDataAccessors(this.options.dataAccessors),this._selectedNodesKeys=[],this._expandedNodesKeys=[],this._dataStructure=[],this._createInternalDataStructure(),this.getTreeNodes()},setOption:function(e,t){this.options[e]=t,\"recursiveSelection\"===e&&this._updateSelection()},_defaultOptions:function(){return{dataAccessors:void 0,items:[],multipleSelection:!0,recursiveSelection:!1,recursiveExpansion:!1,rootValue:0,searchValue:\"\",dataType:\"tree\",searchMode:\"contains\",dataConverter:new f.default,onNodeChanged:o.noop,sort:null}},_createInternalDataStructure:function(){this._initialDataStructure=this.options.dataConverter.createPlainStructure(this.options.items,this.options.rootValue,this.options.dataType),this._dataStructure=this.options.searchValue.length?this.search(this.options.searchValue):this._initialDataStructure,this.options.dataConverter._dataStructure=this._dataStructure,this._updateSelection(),this._updateExpansion()},_updateSelection:function(){this.options.recursiveSelection&&(this._setChildrenSelection(),this._setParentSelection()),this._selectedNodesKeys=this._updateNodesKeysArray(\"selected\")},_updateExpansion:function(e){this.options.recursiveExpansion&&(e?this._updateOneBranch(e):this._setParentExpansion()),this._expandedNodesKeys=this._updateNodesKeysArray(\"expanded\")},_updateNodesKeysArray:function(e){var t=this,n=[];return(0,a.each)(t._getDataBySelectionMode(),(function(i,o){t._isNodeVisible(o)&&o.internalFields[e]&&(\"expanded\"===e||t.options.multipleSelection?n.push(o.internalFields.key):(n.length&&t.toggleSelection(n[0],!1,!0),n=[o.internalFields.key]))})),n},_getDataBySelectionMode:function(){return this.options.multipleSelection?this.getData():this.getFullData()},_isNodeVisible:function(e){return!1!==e.internalFields.item.visible},_getByKey:function(e,t){return e===this._dataStructure?this.options.dataConverter._getByKey(t):this.options.dataConverter.getByKey(e,t)},_setChildrenSelection:function(){var e=this;(0,a.each)(this._dataStructure,(function(t,n){if(n.internalFields.childrenKeys.length){var i=n.internalFields.selected;!0===i&&e._toggleChildrenSelection(n,i)}}))},_setParentSelection:function(){var e=this;(0,a.each)(this._dataStructure,(function(t,n){e.options.dataConverter.getParentNode(n)&&n.internalFields.parentKey!==e.options.rootValue&&e._iterateParents(n,(function(t){var n=e._calculateSelectedState(t);e._setFieldState(t,\"selected\",n)}))}))},_setParentExpansion:function(){var e=this;(0,a.each)(this._dataStructure,(function(t,n){n.internalFields.expanded&&e._updateOneBranch(n.internalFields.key)}))},_updateOneBranch:function(e){var t=this,n=this.getNodeByKey(e);t._iterateParents(n,(function(e){t._setFieldState(e,\"expanded\",!0)}))},_iterateChildren:function(e,t,n,i){if((0,r.isFunction)(n)){var o=this,s=e.internalFields.key;-1===(i=i||[]).indexOf(s)&&(i.push(s),(0,a.each)(e.internalFields.childrenKeys,(function(e,a){var r=o.getNodeByKey(a);n(r),r.internalFields.childrenKeys.length&&t&&o._iterateChildren(r,t,n,i)})))}},_iterateParents:function(e,t,n){if(e.internalFields.parentKey!==this.options.rootValue&&(0,r.isFunction)(t)){n=n||[];var i=e.internalFields.key;if(-1===n.indexOf(i)){n.push(i);var o=this.options.dataConverter.getParentNode(e);o&&(t(o),o.internalFields.parentKey!==this.options.rootValue&&this._iterateParents(o,t,n))}}},_calculateSelectedState:function(e){for(var t=e.internalFields.childrenKeys.length,n=0,i=0,o=!1,a=0;a<=t-1;a++){var r=this.getNodeByKey(e.internalFields.childrenKeys[a]),s=!1===r.internalFields.item.visible,l=r.internalFields.selected;s?i++:l?n++:void 0===l&&(n+=.5)}return n&&(o=n===t-i||void 0),o},_toggleChildrenSelection:function(e,t){var n=this;this._iterateChildren(e,!0,(function(e){n._isNodeVisible(e)&&n._setFieldState(e,\"selected\",t)}))},_setFieldState:function(e,t,n){e.internalFields[t]!==n&&(e.internalFields[t]=n,e.internalFields.publicNode&&(e.internalFields.publicNode[t]=n),this.options.dataAccessors.setters[t](e.internalFields.item,n),this.options.onNodeChanged(e))},_markChildren:function(e){var t=this;(0,a.each)(e,(function(e,n){var i=t.getIndexByKey(n),o=t.getNodeByKey(n);t._dataStructure[i]=0,o.internalFields.childrenKeys.length&&t._markChildren(o.internalFields.childrenKeys)}))},_removeNode:function(e){var t=this.getNodeByKey(e);this._dataStructure[this.getIndexByKey(e)]=0,this._markChildren(t.internalFields.childrenKeys);var n=this,i=0,o=(0,s.extend)([],this._dataStructure);(0,a.each)(o,(function(e,t){t||(n._dataStructure.splice(e-i,1),i++)}))},_addNode:function(e){var t=this.options.dataConverter,n=t._convertItemToNode(e,this.options.dataAccessors.getters.parentKey(e));this._dataStructure=this._dataStructure.concat(n),this._initialDataStructure=this._initialDataStructure.concat(n),t._dataStructure=t._dataStructure.concat(n)},_updateFields:function(){this.options.dataConverter.updateChildrenKeys(),this._updateSelection(),this._updateExpansion()},getSelectedNodesKeys:function(){return this._selectedNodesKeys},getExpandedNodesKeys:function(){return this._expandedNodesKeys},getData:function(){return this._dataStructure},getFullData:function(){return this._initialDataStructure},getNodeByItem:function(e){var t=null;return(0,a.each)(this._dataStructure,(function(n,i){if(i.internalFields.item===e)return t=i,!1})),t},getNodesByItems:function(e){var t=this,n=[];return(0,a.each)(e,(function(e,i){var o=t.getNodeByItem(i);o&&n.push(o)})),n},getNodeByKey:function(e,t){return this._getByKey(t||this._getDataBySelectionMode(),e)},getTreeNodes:function(){return this.options.dataConverter.convertToPublicNodes(this.getRootNodes())},getItemsCount:function(){return this.options.dataConverter.getItemsCount()},getVisibleItemsCount:function(){return this.options.dataConverter.getVisibleItemsCount()},getPublicNode:function(e){return e.internalFields.publicNode},getRootNodes:function(){return this.getChildrenNodes(this.options.rootValue)},getChildrenNodes:function(e){return(0,c.default)(this._dataStructure,{langParams:this.options.langParams}).filter([\"internalFields.parentKey\",e]).toArray()},getIndexByKey:function(e){return this.options.dataConverter.getIndexByKey(e)},addItem:function(e){this._addNode(e),this._updateFields()},removeItem:function(e){this._removeNode(e),this._updateFields()},toggleSelection:function(e,t,n){var i=this._isSingleModeUnselect(t),o=this._getByKey(n||i?this._initialDataStructure:this._dataStructure,e);this._setFieldState(o,\"selected\",t),this.options.recursiveSelection&&!n&&(t?this._setChildrenSelection():this._toggleChildrenSelection(o,t),this._setParentSelection()),this._selectedNodesKeys=this._updateNodesKeysArray(\"selected\")},_isSingleModeUnselect:function(e){return!this.options.multipleSelection&&!e},toggleNodeDisabledState:function(e,t){var n=this.getNodeByKey(e);this._setFieldState(n,\"disabled\",t)},toggleSelectAll:function(e){if((0,r.isDefined)(e)){var t=this,n=t._selectedNodesKeys[t._selectedNodesKeys.length-1],i=t._isSingleModeUnselect(e)?this._initialDataStructure:this._dataStructure;(0,a.each)(i,(function(n,i){t._isNodeVisible(i)&&t._setFieldState(i,\"selected\",e)})),t._selectedNodesKeys=t._updateNodesKeysArray(\"selected\"),!e&&t.options.selectionRequired&&t.toggleSelection(n,!0)}},isAllSelected:function(){return!!this.getSelectedNodesKeys().length&&(this.getSelectedNodesKeys().length===this.getVisibleItemsCount()||void 0)},toggleExpansion:function(e,t){var n=this.getNodeByKey(e);this._setFieldState(n,\"expanded\",t),t&&this._updateExpansion(e),this._expandedNodesKeys=this._updateNodesKeysArray(\"expanded\")},isFiltered:function(e){return!this.options.searchValue.length||!!this._filterDataStructure(this.options.searchValue,[e]).length},_createCriteria:function(e,t,n){var i=[];return Array.isArray(e)?((0,a.each)(e,(function(e,o){i.push([o,n,t],\"or\")})),i.pop(),i):[e,n,t]},_filterDataStructure:function(e,t){var n=this.options.searchExpr||this.options.dataAccessors.getters.display,i=u.default.getOperationBySearchMode(this.options.searchMode),o=this._createCriteria(n,e,i);return t=t||this._initialDataStructure,(0,c.default)(t,{langParams:this.options.langParams}).filter(o).toArray()},search:function(e){var t=this,n=this._filterDataStructure(e),i=this.options.dataConverter;return function e(n,o){for(var a=n.length;o<a;){var r=n[o];if(r.internalFields.parentKey!==t.options.rootValue){var s=i.getParentNode(r);s?(s.internalFields.expanded||t._setFieldState(s,\"expanded\",!0),n.includes(s)?o++:(n.splice(o,0,s),e(n,o))):(l.default.log(\"W1007\",r.internalFields.parentKey,r.internalFields.key),o++)}else o++}}(n,0),this.options.sort&&(n=h.default.queryByOptions((0,c.default)(n),{sort:this.options.sort,langParams:this.options.langParams}).toArray()),i._indexByKey={},(0,a.each)(n,(function(e,t){t.internalFields.childrenKeys=[],i._indexByKey[t.internalFields.key]=e})),i._dataStructure=n,i.setChildrenKeys(),i._dataStructure}});t.default=g,e.exports=t.default,e.exports.default=t.default},92449:function(e,t,n){t.default=void 0;var i=l(n(38377)),o=n(13306),a=l(n(96688)),r=n(95479),s=n(35922);function l(e){return e&&e.__esModule?e:{default:e}}var u=i.default.inherit({ctor:function(){this._dataStructure=[],this._itemsCount=0,this._visibleItemsCount=0},_indexByKey:{},_convertItemsToNodes:function(e,t){var n=this;(0,r.each)(e,(function(e,i){var o=(0,s.isDefined)(t)?t:n._getParentId(i),a=n._convertItemToNode(i,o);n._dataStructure.push(a),n._checkForDuplicateId(a.internalFields.key),n._indexByKey[a.internalFields.key]=n._dataStructure.length-1,n._itemHasChildren(i)&&n._convertItemsToNodes(n._dataAccessors.getters.items(i),a.internalFields.key)}))},_checkForDuplicateId:function(e){if((0,s.isDefined)(this._indexByKey[e]))throw a.default.Error(\"E1040\",e)},_getParentId:function(e){return\"plain\"===this._dataType?this._dataAccessors.getters.parentKey(e):void 0},_itemHasChildren:function(e){if(\"plain\"!==this._dataType){var t=this._dataAccessors.getters.items(e);return t&&t.length}},_getUniqueKey:function(e){var t=this._dataAccessors.getters.key,n=t(e);return t&&(n||0===n)&&(0,s.isPrimitive)(n)?n:this.getItemsCount()},_convertItemToNode:function(e,t){this._itemsCount++,!1!==e.visible&&this._visibleItemsCount++;var n={internalFields:{disabled:this._dataAccessors.getters.disabled(e,{defaultValue:!1}),expanded:this._dataAccessors.getters.expanded(e,{defaultValue:!1}),selected:this._dataAccessors.getters.selected(e,{defaultValue:!1}),key:this._getUniqueKey(e),parentKey:(0,s.isDefined)(t)?t:this._rootValue,item:this._makeObjectFromPrimitive(e),childrenKeys:[]}};return(0,o.extend)(n,e),delete n.items,n},setChildrenKeys:function(){var e=this;(0,r.each)(this._dataStructure,(function(t,n){if(n.internalFields.parentKey!==e._rootValue){var i=e.getParentNode(n);i&&i.internalFields.childrenKeys.push(n.internalFields.key)}}))},_makeObjectFromPrimitive:function(e){if((0,s.isPrimitive)(e)){var t=e;e={},this._dataAccessors.setters.key(e,t)}return e},_convertToPublicNode:function(e,t){if(!e)return null;var n={text:this._dataAccessors.getters.display(e),key:e.internalFields.key,selected:e.internalFields.selected,expanded:e.internalFields.expanded,disabled:e.internalFields.disabled,parent:t||null,itemData:e.internalFields.item,children:[],items:[]};return n.parent&&(n.parent.children.push(n),n.parent.items.push(n)),n},convertToPublicNodes:function(e,t){if(!e.length)return[];var n=this,i=[];return(0,r.each)(e,(function(e,o){o=(0,s.isPrimitive)(o)?n._getByKey(o):o;var a=n._convertToPublicNode(o,t);a.children=n.convertToPublicNodes(o.internalFields.childrenKeys,a),i.push(a),o.internalFields.publicNode=a})),i},setDataAccessors:function(e){this._dataAccessors=e},_getByKey:function(e){return this._dataStructure[this.getIndexByKey(e)]||null},getParentNode:function(e){return this._getByKey(e.internalFields.parentKey)},getByKey:function(e,t){if(null==t)return null;var n=null,i=this,o=function(e,t){return(0,r.each)(e,(function(e,o){if((o.internalFields&&o.internalFields.key||i._dataAccessors.getters.key(o)).toString()===t.toString())return n=o,!1})),n};return o(e,t)},getItemsCount:function(){return this._itemsCount},getVisibleItemsCount:function(){return this._visibleItemsCount},updateIndexByKey:function(){var e=this;this._indexByKey={},(0,r.each)(this._dataStructure,(function(t,n){e._checkForDuplicateId(n.internalFields.key),e._indexByKey[n.internalFields.key]=t}))},updateChildrenKeys:function(){this._indexByKey={},this.removeChildrenKeys(),this.updateIndexByKey(),this.setChildrenKeys()},removeChildrenKeys:function(){this._indexByKey={},(0,r.each)(this._dataStructure,(function(e,t){t.internalFields.childrenKeys=[]}))},getIndexByKey:function(e){return this._indexByKey[e]},createPlainStructure:function(e,t,n){return this._itemsCount=0,this._visibleItemsCount=0,this._rootValue=t,this._dataType=n,this._indexByKey={},this._convertItemsToNodes(e),this.setChildrenKeys(),this._dataStructure}});t.default=u,e.exports=t.default,e.exports.default=t.default},65810:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=n(47617),a=n(13306),r=n(95479),s=p(n(20530)),l=n(44899),u=p(n(71004)),d=p(n(11050)),c=n(93280),h=n(35922),f=n(20576);function p(e){return e&&e.__esModule?e:{default:e}}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var m=d.default.inherit({_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{keyExpr:\"id\",displayExpr:\"text\",selectedExpr:\"selected\",disabledExpr:\"disabled\",itemsExpr:\"items\",hoverStateEnabled:!0,parentIdExpr:\"parentId\",expandedExpr:\"expanded\"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===s.default.real().deviceType&&!s.default.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._initAccessors(),this._initDataAdapter(),this._initDynamicTemplates()},_initDataSource:function(){this.callBase(),this._dataSource&&this._dataSource.paginate(!1)},_initDataAdapter:function(){var e=this._createDataAdapterAccessors();this._dataAdapter=new u.default((0,a.extend)({dataAccessors:{getters:e.getters,setters:e.setters},items:this.option(\"items\")},this._getDataAdapterOptions()))},_getDataAdapterOptions:f.noop,_getItemExtraPropNames:f.noop,_initDynamicTemplates:function(){var e=[\"text\",\"html\",\"items\",\"icon\"].concat(this._getItemExtraPropNames());this._templateManager.addDefaultTemplates({item:new c.BindableTemplate(this._addContent.bind(this),e,this.option(\"integrationOptions.watchMethod\"),{text:this._displayGetter,items:this._itemsGetter})})},_addContent:function(e,t){e.html(t.html).append(this._getIconContainer(t)).append(this._getTextContainer(t))},_getLinkContainer:function(e,t,n){var o=n.linkAttr,a=n.url,r=(0,h.isObject)(o)?o:{};return(0,i.default)(\"<a>\").addClass(\"dx-item-url\").attr(g({},r,{href:a})).append(e).append(t)},_getIconContainer:function(e){return e.icon?(0,l.getImageContainer)(e.icon):void 0},_getTextContainer:function(e){return(0,i.default)(\"<span>\").text(e.text)},_initAccessors:function(){var e=this;(0,r.each)(this._getAccessors(),(function(t,n){e._compileAccessor(n)})),this._compileDisplayGetter()},_getAccessors:function(){return[\"key\",\"selected\",\"items\",\"disabled\",\"parentId\",\"expanded\"]},_getChildNodes:function(e){var t=this,n=[];return(0,r.each)(e.internalFields.childrenKeys,(function(e,i){var o=t._dataAdapter.getNodeByKey(i);n.push(o)})),n},_hasChildren:function(e){return e&&e.internalFields.childrenKeys.length},_compileAccessor:function(e){var t=\"_\"+e+\"Getter\",n=\"_\"+e+\"Setter\",i=this.option(e+\"Expr\");return i?(0,h.isFunction)(i)?(this[n]=function(e,t){e[i()]=t},void(this[t]=function(e){return e[i()]})):(this[t]=(0,o.compileGetter)(i),void(this[n]=(0,o.compileSetter)(i))):(this[t]=f.noop,void(this[n]=f.noop))},_createDataAdapterAccessors:function(){var e=this,t={getters:{},setters:{}};return(0,r.each)(this._getAccessors(),(function(n,i){var o=\"_\"+i+\"Getter\",a=\"_\"+i+\"Setter\",r=\"parentId\"===i?\"parentKey\":i;t.getters[r]=e[o],t.setters[r]=e[a]})),t.getters.display=this._displayGetter?this._displayGetter:function(e){return e.text},t},_initMarkup:function(){this.callBase(),this._addWidgetClass()},_addWidgetClass:function(){this._focusTarget().addClass(this._widgetClass())},_widgetClass:f.noop,_renderItemFrame:function(e,t){var n=this.callBase.apply(this,arguments);return n.toggleClass(\"dx-state-disabled\",!!this._disabledGetter(t)),n},_optionChanged:function(e){switch(e.name){case\"displayExpr\":case\"keyExpr\":this._initAccessors(),this._initDynamicTemplates(),this.repaint();break;case\"itemsExpr\":case\"selectedExpr\":case\"disabledExpr\":case\"expandedExpr\":case\"parentIdExpr\":this._initAccessors(),this._initDataAdapter(),this.repaint();break;case\"items\":this._initDataAdapter(),this.callBase(e);break;default:this.callBase(e)}}});t.default=m,e.exports=t.default,e.exports.default=t.default},9619:function(e,t,n){var i;t.default=void 0;var o=((i=n(15887))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},56957:function(e,t){t.default=void 0;var n=new(function(){function e(){this._converters={}}var t=e.prototype;return t.addConverter=function(e,t){this._converters[e]=t},t.getConverter=function(e){return this._converters[e]},e}());t.default=n,e.exports=t.default,e.exports.default=t.default},44844:function(e,t,n){t.default=void 0;var i,o=(i=n(56957))&&i.__esModule?i:{default:i};var a=function(){function e(){}var t=e.prototype;return t.setQuillInstance=function(e){this.quillInstance=e},t.toHtml=function(){if(this.quillInstance)return this._isQuillEmpty()?\"\":this.quillInstance.getSemanticHTML(0,this.quillInstance.getLength()+1)},t._isQuillEmpty=function(){var e=this.quillInstance.getContents();return 1===e.length()&&this._isDeltaEmpty(e)},t._isDeltaEmpty=function(e){return e.reduce((function(e,t){return-1!==t.insert.indexOf(\"\\n\")}))},e}();o.default.addConverter(\"delta\",a);var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},52935:function(e,t,n){t.default=void 0;var i=l(n(42552)),o=l(n(4848)),a=n(58201),r=l(n(96688)),s=l(n(56957));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(){var e,t=(0,a.getWindow)(),n=t&&t.TurndownService||i.default,s=t&&t.showdown||o.default;if(!n)throw r.default.Error(\"E1041\",\"Turndown\");if(!s)throw r.default.Error(\"E1041\",\"DevExtreme-Showdown\");this._html2Markdown=new n,null!==(e=this._html2Markdown)&&void 0!==e&&e.addRule&&(this._html2Markdown.addRule(\"emptyLine\",{filter:function(e){return\"p\"===e.nodeName.toLowerCase()&&\"<br>\"===e.innerHTML},replacement:function(){return\"<br>\"}}),this._html2Markdown.keep([\"table\"])),this._markdown2Html=new s.Converter({simpleLineBreaks:!0,strikethrough:!0,tables:!0})}var t=e.prototype;return t.toMarkdown=function(e){return this._html2Markdown.turndown(e||\"\")},t.toHtml=function(e){var t=this._markdown2Html.makeHtml(e);return t&&(t=t.replace(new RegExp(\"\\\\r?\\\\n\",\"g\"),\"\")),t},e}();s.default.addConverter(\"markdown\",u);var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},90223:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i};var a={};o.default&&(a=o.default.import(\"attributors/style/align\")).whitelist.push(\"left\");var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},73360:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i};var a={};o.default&&((a=o.default.import(\"attributors/style/font\")).whitelist=null);var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},72446:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i},a=n(35922);function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s={};o.default&&((s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.create=function(t){var n=t&&t.src||t,i=e.create.call(this,n);if((0,a.isObject)(t)){var o=function(e,n){t[e]&&i.setAttribute(e,n)};o(\"alt\",t.alt),o(\"width\",t.width),o(\"height\",t.height)}return i},i.formats=function(t){var n=e.formats.call(this,t);return n.imageSrc=t.getAttribute(\"src\"),n};var o=i.prototype;return o.formats=function(){var t=e.prototype.formats.call(this),n=this.domNode.style.float;return n&&(t.float=n),t},o.format=function(t,n){\"float\"===t?this.domNode.style[t]=n:e.prototype.format.call(this,t,n)},i.value=function(e){return{src:e.getAttribute(\"src\"),width:e.getAttribute(\"width\"),height:e.getAttribute(\"height\"),alt:e.getAttribute(\"alt\")}},i}(o.default.import(\"formats/image\"))).blotName=\"extendedImage\");var l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},8980:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i},a=n(35922);function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s={};o.default&&(s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.create=function(t){var n,i=null!==(n=null==t?void 0:t.href)&&void 0!==n?n:t,o=e.create.call(this,i);return(0,a.isObject)(t)&&(t.text&&(o.innerText=t.text),t.target||o.removeAttribute(\"target\")),o},i.formats=function(e){return{href:e.getAttribute(\"href\"),target:e.getAttribute(\"target\")}};var o=i.prototype;return o.formats=function(){var t=e.prototype.formats.call(this),n=i.formats(this.domNode),o=n.href,a=n.target;return t.link=o,t.target=a,t},o.format=function(t,n){\"link\"===t&&(0,a.isObject)(n)?(n.text&&(this.domNode.innerText=n.text),n.target?this.domNode.setAttribute(\"target\",\"_blank\"):this.domNode.removeAttribute(\"target\"),this.domNode.setAttribute(\"href\",n.href)):e.prototype.format.call(this,t,n)},i.value=function(e){return{href:e.getAttribute(\"href\"),text:e.innerText,target:!!e.getAttribute(\"target\")}},i}(o.default.import(\"formats/link\")));var l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},72410:function(e,t,n){t.default=void 0;var i=r(n(9549)),o=r(n(68374)),a=r(n(68953));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l={};if(i.default){(l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n),i.create=function(t){var n=e.create.call(this);return n.setAttribute(\"spellcheck\",!1),n.dataset.marker=t.marker,n.dataset.mentionValue=t.value,n.dataset.id=t.id,this.renderContent(n,t),n},i.value=function(e){return{marker:e.dataset.marker,id:e.dataset.id,value:e.dataset.mentionValue}},i.renderContent=function(e,t){var n=this._templatesStorage.get({editorKey:t.keyInTemplateStorage,marker:t.marker});n?n.render({model:t,container:e}):this.baseContentRender(e,t)},i.baseContentRender=function(e,t){var n=(0,o.default)(\"<span>\").text(t.marker);(0,o.default)(e).append(n).append(t.value)},i.addTemplate=function(e,t){this._templatesStorage.set(e,t)},i.removeTemplate=function(e){this._templatesStorage.delete(e)},i}(i.default.import(\"blots/embed\"))).blotName=\"mention\",l.tagName=\"span\",l.className=\"dx-mention\",l._templatesStorage=new a.default}var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},2909:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i};var a={};o.default&&((a=o.default.import(\"attributors/style/size\")).whitelist=null);var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},76195:function(e,t,n){t.default=void 0;var i,o=(i=n(9549))&&i.__esModule?i:{default:i},a=n(20576),r=n(13306);function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l={};if(o.default){(l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n),i.create=function(t){var n,i,o=e.create.call(this),r=t.value;return Array.isArray(t.escapeChar)?(n=(0,a.ensureDefined)(t.escapeChar[0],\"\"),i=(0,a.ensureDefined)(t.escapeChar[1],\"\")):n=i=t.escapeChar,o.innerText=n+r+i,o.dataset.varStartEscChar=n,o.dataset.varEndEscChar=i,o.dataset.varValue=t.value,o},i.value=function(e){return(0,r.extend)({},{value:e.dataset.varValue,escapeChar:[e.dataset.varStartEscChar||\"\",e.dataset.varEndEscChar||\"\"]})},i}(o.default.import(\"blots/embed\"))).blotName=\"variable\",l.tagName=\"span\",l.className=\"dx-variable\"}var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},10803:function(e,t){t.default=void 0;var n=function(e){var t=e.import(\"delta\");return function(e,n){var i=n.ops.slice(),o=i[0];o.insert=o.insert.replace(/^\\s+/,\"\");var a,r,s,l=o.insert.match(/^(\\S+)\\s+/),u=l&&function(e){var t=e.getAttribute(\"style\");if(t){var n=t.replace(/\\n+/g,\"\").match(/level(\\d+)/);return n?n[1]-1:0}return!1}(e);return l&&!1!==u?(o.insert=o.insert.substring(l[0].length,o.insert.length),(r=(a=i)[a.length-1]).insert=r.insert.trim(),i.push({insert:\"\\n\",attributes:{list:(s=l,s[1].match(/\\S+\\./)?\"ordered\":\"bullet\"),indent:u}}),new t(i)):n}};t.default=n,e.exports=t.default,e.exports.default=t.default},30963:function(e,t,n){t.default=void 0;var i=r(n(9549)),o=r(n(56764)),a=n(35922);function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e,t)||function(){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 l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=o.default;i.default&&(d=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this).editorInstance=n.editorInstance,i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o=i.prototype;return o.saveValueChangeEvent=function(e){this.editorInstance._saveValueChangeEvent(e)},o.addCleanCallback=function(e){this.editorInstance.addCleanCallback(e)},o.handleOptionChangeValue=function(e){var t=this;(0,a.isObject)(e)?Object.entries(e).forEach((function(e){var n=s(e,2),i=n[0],o=n[1];return t.option(i,o)})):(0,a.isDefined)(e)||null==this||this.clean()},i}(i.default.import(\"core/module\")));var c=d;t.default=c,e.exports=t.default,e.exports.default=t.default},78859:function(e,t,n){t.default=void 0;var i=d(n(9549)),o=d(n(55994)),a=n(39611),r=n(95479),s=d(n(47810)),l=n(58201),u=d(n(30963));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=u.default;i.default&&(f=function(e){var t,n;function i(t,n){var i,r=(i=e.call(this,t,n)||this).editorInstance.NAME;return o.default.on(i.quill.root,(0,a.addNamespace)(\"drop\",r),i._dropHandler.bind(c(i))),o.default.on(i.quill.root,(0,a.addNamespace)(\"paste\",r),i._pasteHandler.bind(c(i))),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var u=i.prototype;return u._dropHandler=function(e){var t,n=e.originalEvent.dataTransfer,i=null==n||null===(t=n.files)||void 0===t?void 0:t.length;this.saveValueChangeEvent(e),e.preventDefault(),i&&this._getImage(n.files,this._addImage.bind(this))},u._pasteHandler=function(e){var t,n=this,i=e.originalEvent.clipboardData;if(this.saveValueChangeEvent(e),i){var o=null===(t=i.items)||void 0===t?void 0:t.length;!i.getData(\"text/html\")&&o&&this._getImage(i.items,(function(e){n._isBrowserSupportImagePaste(s.default)||n._addImage(e)}))}},u._isBrowserSupportImagePaste=function(e){var t=e.mozilla,n=e.chrome,i=e.version;return t||n&&i>82},u._isImage=function(e){return!!e.type.match(/^image\\/(a?png|bmp|gif|p?jpe?g|svg|vnd\\.microsoft\\.icon|webp)/i)},u._getImage=function(e,t){var n=this,i=(0,l.getWindow)();(0,r.each)(e,(function(e,o){if(n._isImage(o)){var a=new i.FileReader;a.onload=function(e){var n=e.target;t(n.result)};var r=o.getAsFile?o.getAsFile():o;r instanceof i.Blob&&a.readAsDataURL(r)}}))},u._addImage=function(e){var t=this.quill.getSelection(),n=t?t.index:this.quill.getLength();this.quill.insertEmbed(n,\"extendedImage\",e,\"user\")},i}(u.default));var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},56764:function(e,t){t.default=void 0;t.default=function(){},e.exports=t.default,e.exports.default=t.default},80900:function(e,t,n){t.default=void 0;var i=r(n(9549)),o=r(n(30963)),a=r(n(55994));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=(0,n(39611).addNamespace)(\"dxclick\",\"dxHtmlEditorImageCursor\"),u=o.default;i.default&&(u=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this).addCleanCallback(i.clean.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(i))),i._attachEvents(),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var o=i.prototype;return o._attachEvents=function(){a.default.on(this.quill.root,l,this._clickHandler.bind(this))},o._detachEvents=function(){a.default.off(this.quill.root,l)},o._clickHandler=function(e){this._isAllowedTarget(e.target)&&this._adjustSelection(e)},o._isAllowedTarget=function(e){return this._isImage(e)},o._isImage=function(e){return\"IMG\"===e.tagName.toUpperCase()},o._adjustSelection=function(e){var t=this.quill.scroll.find(e.target);if(t){var n=t.offset(this.quill.scroll);this.quill.setSelection(n+1,0)}else this.quill.setSelection(0,0)},o.clean=function(){this._detachEvents()},i}(o.default));var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},75990:function(e,t,n){t.default=void 0;var i=h(n(9549)),o=h(n(30963)),a=h(n(55994)),r=h(n(68374)),s=n(35922),l=n(13306),u=n(10046),d=n(39611),c=h(n(53749));function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=o.default;i.default&&(p=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this).options=n,i._quillContainer=i.editorInstance._getQuillContainer(),i.addCleanCallback(i.prepareCleanCallback()),i._handleServerUpload(),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var o=i.prototype;return o._handleServerUpload=function(){(0,s.isDefined)(this.options.fileUploadMode)&&\"base64\"!==this.options.fileUploadMode?this._enableDragAndDropUploading():this._disableDragAndDropUploading()},o._getUploaderModule=function(){return this._uploaderModule||(this._uploaderModule=this.quill.getModule(\"uploader\")),this._uploaderModule},o._disableDragAndDropUploading=function(){var e;this._getUploaderModule().preventImageUploading(!1),this._detachEvents(),null===(e=this._fileUploader)||void 0===e||e.dispose()},o._enableDragAndDropUploading=function(){this._initFileUploader(),this._getUploaderModule().preventImageUploading(!0),this._attachEvents()},o._initFileUploader=function(){var e=(0,r.default)(\"<div>\").addClass(\"dx-htmleditor-hidden-content\").appendTo(this._quillContainer),t=(0,l.extend)({},(0,u.getFileUploaderBaseOptions)(),{uploadUrl:this.options.uploadUrl,onUploaded:this._onUploaded.bind(this)},this.options.fileUploaderOptions);return this._fileUploader=this.editorInstance._createComponent(e,c.default,t),e},o._onUploaded=function(e){var t,n=(null!==(t=this.quill.getSelection())&&void 0!==t?t:{index:this.quill.getLength()}).index;(0,u.serverUpload)(this.options.uploadDirectory,e.file.name,this.quill,n)},o._attachEvents=function(){a.default.on(this.quill.root,(0,d.addNamespace)(\"drop\",\"dxHtmlEditorImageUpload\"),this._dropHandler.bind(this)),a.default.on(this.quill.root,(0,d.addNamespace)(\"paste\",\"dxHtmlEditorImageUpload\"),this._pasteHandler.bind(this))},o._detachEvents=function(){a.default.off(this.quill.root,\"dxHtmlEditorImageUpload\")},o._dropHandler=function(e){this._handleInsertImages(e,\"dataTransfer\")},o._pasteHandler=function(e){this._handleInsertImages(e,\"clipboardData\")},o._handleInsertImages=function(e,t){this.saveValueChangeEvent(e);var n=Array.from(e.originalEvent[t].files||[]);n.length&&(e.preventDefault(),e.stopPropagation(),this._fileUploader.option(\"value\",n),this._fileUploader.upload())},o.clean=function(){this._disableDragAndDropUploading()},o.prepareCleanCallback=function(){var e=this;return function(){e.clean()}},o.option=function(e,t){switch(e){case\"imageUpload\":this.handleOptionChangeValue(t);break;case\"fileUploadMode\":this.options.fileUploadMode=t,this._handleServerUpload();break;case\"fileUploaderOptions\":this._fileUploader.option(t)}},i}(o.default));var g=p;t.default=g,e.exports=t.default,e.exports.default=t.default},12542:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=p(n(68374)),a=p(n(9549)),r=n(47617),s=n(35922),l=n(13306),u=n(6415),d=p(n(55994)),c=p(n(30963)),h=p(n(2269)),f=p(n(72410));function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=c.default;if(a.default){var y={ARROW_UP:\"upArrow\",ARROW_DOWN:\"downArrow\",ARROW_LEFT:\"leftArrow\",ARROW_RIGHT:\"rightArrow\",ENTER:\"enter\",ESCAPE:\"escape\",SPACE:\"space\",PAGE_UP:\"pageUp\",PAGE_DOWN:\"pageDown\",END:\"end\",HOME:\"home\"},b=[y.ARROW_LEFT,y.ARROW_RIGHT,y.PAGE_UP,y.PAGE_DOWN,y.END,y.HOME],x=[\" \",\"\\n\"];a.default.register({\"formats/mention\":f.default},!0),v=function(e){var t,n;n=e,(t=v).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var i,c,h,p=v.prototype;function v(t,n){var i;return(i=e.call(this,t,n)||this)._mentions={},n.mentions.forEach((function(e){var t=e.marker;t||(e.marker=t=\"@\");var n=e.template;if(n){var o=i.editorInstance._getTemplate(n);o&&f.default.addTemplate({marker:t,editorKey:i.editorInstance.getMentionKeyInTemplateStorage()},o)}i._mentions[t]=(0,l.extend)({},i._getDefaultOptions(),e)})),i._attachKeyboardHandlers(),i.addCleanCallback(i.clean.bind(m(i))),i.quill.on(\"text-change\",i.onTextChange.bind(m(i))),i}return p._getDefaultOptions=function(){var t=e.prototype._getDefaultOptions.call(this);return(0,l.extend)(t,{itemTemplate:\"item\",valueExpr:\"this\",displayExpr:\"this\",template:null,searchExpr:null,searchTimeout:500,minSearchLength:0})},p._attachKeyboardHandlers=function(){this.quill.keyboard.addBinding({key:y.ARROW_UP},this._moveToItem.bind(this,\"prev\")),this.quill.keyboard.addBinding({key:y.ARROW_DOWN},this._moveToItem.bind(this,\"next\")),this.quill.keyboard.addBinding({key:[y.ENTER,y.SPACE]},this._selectItemHandler.bind(this));var e=this.quill.keyboard.bindings[y.ENTER];e.unshift(e.pop()),this.quill.keyboard.addBinding({key:y.ESCAPE},this._escapeKeyHandler.bind(this)),this.quill.keyboard.addBinding({key:[y.ARROW_LEFT,y.ARROW_RIGHT],shiftKey:!0},this._ignoreKeyHandler.bind(this)),this.quill.keyboard.addBinding({key:b},this._ignoreKeyHandler.bind(this))},p._moveToItem=function(e){var t=this._list.getDataSource();if(this._isMentionActive&&!t.isLoading()){var n=\"next\"===e?\"first\":\"last\",i=(0,o.default)(this._list.option(\"focusedElement\"))[e]();i=i.length?i:this._activeListItems[n](),this._list.option(\"focusedElement\",(0,u.getPublicElement)(i)),this._list.scrollToItem(i)}return!this._isMentionActive},p._ignoreKeyHandler=function(){return!this._isMentionActive},p._fitIntoRange=function(e,t,n){return e>n?t:e<t?n:e},p._selectItemHandler=function(){return this._isMentionActive&&(this._list.option(\"items\").length?this._list.selectItem(this._list.option(\"focusedElement\")):this._popup.hide()),!this._isMentionActive},p._escapeKeyHandler=function(){return this._isMentionActive&&this._popup.hide(),!this._isMentionActive},p.renderList=function(t,n){this.compileGetters(this.options),e.prototype.renderList.call(this,t,n)},p.compileGetters=function(e){var t=e.displayExpr,n=e.valueExpr;this._valueGetter=(0,r.compileGetter)(t),this._idGetter=(0,r.compileGetter)(n)},p._getListConfig=function(t){var n=this,i=e.prototype._getListConfig.call(this,t);return(0,l.extend)(i,{itemTemplate:this.options.itemTemplate,onContentReady:function(){n._hasSearch&&(n._popup.repaint(),n._focusFirstElement(),n._hasSearch=!1)}})},p.insertEmbedContent=function(){var e=this._activeMentionConfig.marker.length,t=e+this._searchValue.length,n=this.getPosition(),i=this._list.option(\"selectedItem\"),o={value:this._valueGetter(i),id:this._idGetter(i),marker:this._activeMentionConfig.marker,keyInTemplateStorage:this.editorInstance.getMentionKeyInTemplateStorage()},r=a.default.import(\"delta\"),s=Math.max(0,n-e),l=(new r).retain(s).delete(t).insert({mention:o}).insert(\" \");this.quill.updateContents(l),this.quill.setSelection(s+2)},p._getLastInsertOperation=function(e){var t=e[e.length-1];if(\"insert\"in t)return t;var n=\"delete\"in t;if(n&&e.length>=2){var i=e[e.length-2];if(n&&\"insert\"in i)return i}return null},p.onTextChange=function(e,t,n){if(\"user\"===n){var i=e.ops[e.ops.length-1];if(this._isMentionActive&&this._isPopupVisible)this._processSearchValue(i)&&this._filterList(this._searchValue);else{var o=e.ops,a=this._getLastInsertOperation(o);a&&this.checkMentionRequest(a,o)}}},p._processSearchValue=function(e){if(\"insert\"in e)this._searchValue+=e.insert;else{if(!this._searchValue.length||e.delete>1)return this._popup.hide(),!1;this._searchValue=this._searchValue.slice(0,-1)}return!0},p.checkMentionRequest=function(e,t){var n=e.insert,i=this.quill.getSelection();if(n&&(0,s.isString)(n)&&i&&!this._isMarkerPartOfText(t[0].retain)&&(this._activeMentionConfig=this._mentions[n],this._activeMentionConfig)){this._updateList(this._activeMentionConfig);var o=i.index&&\"\\n\"===this._getCharByIndex(i.index-1);this.savePosition(i.index+o),this._popup.option(\"position\",this._popupPosition),this._searchValue=\"\",this._popup.show()}},p._isMarkerPartOfText=function(e){return!(!e||-1!==x.indexOf(this._getCharByIndex(e-1)))},p._getCharByIndex=function(e){return this.quill.getContents(e,1).ops[0].insert},p._updateList=function(e){var t=e.dataSource,n=e.displayExpr,i=e.valueExpr,o=e.itemTemplate,a=e.searchExpr;this.compileGetters({displayExpr:n,valueExpr:i}),this._list.unselectAll(),this._list.option({dataSource:t,displayExpr:n,itemTemplate:o,searchExpr:a})},p._filterList=function(e){var t=this;if(this._isMinSearchLengthExceeded(e)){var n=this._activeMentionConfig.searchTimeout;n?(clearTimeout(this._searchTimer),this._searchTimer=setTimeout((function(){t._search(e)}),n)):this._search(e)}else this._resetFilter()},p._isMinSearchLengthExceeded=function(e){return e.length>=this._activeMentionConfig.minSearchLength},p._resetFilter=function(){clearTimeout(this._searchTimer),this._search(null)},p._search=function(e){this._hasSearch=!0,this._list.option(\"searchValue\",e)},p._focusFirstElement=function(){if(this._list){var e=this._activeListItems.first();this._list.option(\"focusedElement\",(0,u.getPublicElement)(e)),this._list.scrollToItem(e)}},p._getPopupConfig=function(){var t=this;return(0,l.extend)(e.prototype._getPopupConfig.call(this),{hideOnParentScroll:!1,onShown:function(){t._isMentionActive=!0,t._hasSearch=!1,t._focusFirstElement()},onHidden:function(){t._list.unselectAll(),t._list.option(\"focusedElement\",null),t._isMentionActive=!1,t._search(null)},focusStateEnabled:!1})},p.clean=function(){var e=this;Object.keys(this._mentions).forEach((function(t){e._mentions[t].template&&f.default.removeTemplate({marker:t,editorKey:e.editorInstance.getMentionKeyInTemplateStorage()})}))},i=v,(c=[{key:\"_isPopupVisible\",get:function(){var e;return null===(e=this._popup)||void 0===e?void 0:e.option(\"visible\")}},{key:\"_popupPosition\",get:function(){var e=this.getPosition(),t=this.quill.getBounds(e?e-1:e),n=t.left,i=t.top,a=t.height,r=(0,o.default)(this.quill.root).offset(),s=r.left,l=r.top;return{of:d.default.Event(\"positionEvent\",{pageX:s+n,pageY:l+i}),offset:{v:a},my:\"top left\",at:\"top left\",collision:{y:\"flip\",x:\"flipfit\"}}}},{key:\"_activeListItems\",get:function(){return this._list.itemElements().filter(\":not(.\".concat(\"dx-state-disabled\",\")\"))}}])&&g(i.prototype,c),h&&g(i,h),Object.defineProperty(i,\"prototype\",{writable:!1}),v}(h.default)}var w=v;t.default=w,e.exports=t.default,e.exports.default=t.default},2269:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=p(n(9549)),r=p(n(68374)),s=n(13306),l=n(58201),u=p(n(55994)),d=n(39611),c=p(n(30963)),h=p(n(39114)),f=p(n(56757));function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=c.default;if(a.default){_=function(e){var t,n;n=e,(t=_).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var i,a,c,p=_.prototype;function _(t,n){var i;return(i=e.call(this,t,n)||this).options=(0,s.extend)({},i._getDefaultOptions(),n),i._popup=i.renderPopup(),i._popup.$wrapper().addClass(\"dx-suggestion-list-wrapper\"),i._renderPreventFocusOut(),i}return p._getDefaultOptions=function(){return{dataSource:null}},p.renderList=function(e,t){var n=(0,r.default)(\"<div>\").addClass(\"dx-suggestion-list\").appendTo(e);this._list=this.options.editorInstance._createComponent(n,f.default,t)},p.renderPopup=function(){var e=this.options.editorInstance,t=(0,r.default)(\"<div>\").appendTo(e.$element()),n=this._getPopupConfig();return e._createComponent(t,h.default,n)},p._getPopupConfig=function(){var e=this;return{contentTemplate:function(t){var n=e._getListConfig(e.options);e.renderList((0,r.default)(t),n)},deferRendering:!1,onShown:function(){e._list.focus()},onHidden:function(){e._list.unselectAll(),e._list.option(\"focusedElement\",null)},showTitle:!1,width:\"auto\",height:\"auto\",shading:!1,hideOnParentScroll:!0,hideOnOutsideClick:!0,animation:{show:{type:\"fade\",duration:0,from:0,to:1},hide:{type:\"fade\",duration:400,from:1,to:0}},fullScreen:!1,maxHeight:this.maxHeight}},p._getListConfig=function(e){return{dataSource:e.dataSource,onSelectionChanged:this.selectionChangedHandler.bind(this),selectionMode:\"single\",pageLoadMode:\"scrollBottom\"}},p.selectionChangedHandler=function(e){this._popup.option(\"visible\")&&(this._popup.hide(),this.insertEmbedContent(e))},p._renderPreventFocusOut=function(){var e=(0,d.addNamespace)(\"mousedown\",\"dxHtmlEditorPopupModule\");u.default.on(this._popup.$wrapper(),e,(function(e){e.preventDefault()}))},p.insertEmbedContent=function(e){},p.showPopup=function(){this._popup&&this._popup.show()},p.savePosition=function(e){this.caretPosition=e},p.getPosition=function(){return this.caretPosition},i=_,(a=[{key:\"maxHeight\",get:function(){var e=(0,l.getWindow)(),t=e&&(0,o.getHeight)(e)||0;return Math.max(100,.5*t)}}])&&g(i.prototype,a),c&&g(i,c),Object.defineProperty(i,\"prototype\",{writable:!1}),_}(c.default)}var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},91787:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=p(n(55994)),a=n(95429),r=n(39611),s=n(31648),l=p(n(20530)),u=p(n(46743)),d=n(37518),c=p(n(9549)),h=p(n(30963)),f=n(58664);function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m=(0,r.addNamespace)(\"keydown\",\"dxHtmlResizingModule\"),_=(0,r.addNamespace)(\"scroll\",\"dxHtmlResizingModule\"),v=(0,r.addNamespace)(\"mousedown\",\"dxHtmlResizingModule\"),y=function(e){var t,n;function h(t,n){var i;return(i=e.call(this,t,n)||this).allowedTargets=n.allowedTargets||[\"image\"],i.enabled=!!n.enabled,i._hideFrameWithContext=i.hideFrame.bind(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(i)),i._framePositionChangedHandler=i._prepareFramePositionChangedHandler(),i.enabled&&(i._attachEvents(),i._createResizeFrame()),i}n=e,(t=h).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var p=h.prototype;return p._attachEvents=function(){o.default.on(this.quill.root,(0,r.addNamespace)(a.name,\"dxHtmlResizingModule\"),this._clickHandler.bind(this)),o.default.on(this.quill.root,_,this._framePositionChangedHandler),this.editorInstance.on(\"focusOut\",this._hideFrameWithContext),this.quill.on(\"text-change\",this._framePositionChangedHandler)},p._detachEvents=function(){o.default.off(this.quill.root,\"dxHtmlResizingModule\"),this.editorInstance.off(\"focusOut\",this._hideFrameWithContext),this.quill.off(\"text-change\",this._framePositionChangedHandler)},p._clickHandler=function(e){if(this._isAllowedTarget(e.target)){if(this._$target===e.target)return;this._$target=e.target;var t=(0,i.default)(this._$target),n=Math.max((0,f.getOuterWidth)(t)-(0,f.getWidth)(t),this.resizable.option(\"minWidth\")),o=Math.max((0,f.getOuterHeight)(t)-(0,f.getHeight)(t),this.resizable.option(\"minHeight\"));this.resizable.option({minWidth:n,minHeight:o}),this.updateFramePosition(),this.showFrame(),this._adjustSelection()}else this._$target&&this.hideFrame()},p._prepareFramePositionChangedHandler=function(e){var t=this;return function(){t._$target&&t.updateFramePosition()}},p._adjustSelection=function(){this.quill.getSelection()||this.quill.setSelection(0,0)},p._isAllowedTarget=function(e){return this._isImage(e)},p._isImage=function(e){return-1!==this.allowedTargets.indexOf(\"image\")&&\"IMG\"===e.tagName.toUpperCase()},p.showFrame=function(){this._$resizeFrame.show(),o.default.on(this.quill.root,m,this._handleFrameKeyDown.bind(this))},p._handleFrameKeyDown=function(e){var t=(0,r.normalizeKeyName)(e);\"del\"!==t&&\"backspace\"!==t||this._deleteImage(),this.hideFrame()},p.hideFrame=function(){this._$target=null,this._$resizeFrame.hide(),o.default.off(this.quill.root,m)},p.updateFramePosition=function(){var e=(0,d.getBoundingRect)(this._$target),t=e.height,n=e.width,i=e.top,o=e.left,a=(0,d.getBoundingRect)(this.quill.root),r=a.top,l=a.left,u=this._getBorderWidth();this._$resizeFrame.css({height:t,width:n,padding:1,top:i-r-u-1,left:o-l-u-1}),(0,s.move)(this._$resizeFrame,{left:0,top:0})},p._getBorderWidth=function(){return parseInt(this._$resizeFrame.css(\"borderTopWidth\"))},p._createResizeFrame=function(){var e=this;if(!this._$resizeFrame){var t=l.default.current().deviceType;this._$resizeFrame=(0,i.default)(\"<div>\").addClass(\"dx-resize-frame\").toggleClass(\"dx-touch-device\",\"desktop\"!==t).appendTo(this.editorInstance._getQuillContainer()).hide(),o.default.on(this._$resizeFrame,v,(function(e){e.preventDefault()})),this.resizable=this.editorInstance._createComponent(this._$resizeFrame,u.default,{onResize:function(t){e._$target&&((0,i.default)(e._$target).attr({height:t.height,width:t.width}),e.updateFramePosition())}})}},p._deleteImage=function(){var e;this._isAllowedTarget(this._$target)&&(null===(e=c.default.find(this._$target))||void 0===e||e.deleteAt(0))},p.option=function(e,t){\"mediaResizing\"!==e?\"enabled\"===e?(this.enabled=t,t?this._attachEvents():this._detachEvents()):\"allowedTargets\"===e&&Array.isArray(t)&&(this.allowedTargets=t):this.handleOptionChangeValue(t)},p.clean=function(){this._detachEvents(),this._$resizeFrame.remove(),this._$resizeFrame=void 0},h}(h.default);t.default=y,e.exports=t.default,e.exports.default=t.default},31700:function(e,t,n){t.default=void 0;var i=m(n(9549)),o=m(n(68374)),a=m(n(30963)),r=m(n(55994)),s=n(39611),l=m(n(10042)),u=m(n(28109)),d=n(28822),c=n(92077),h=n(95479),f=n(35922),p=n(78008),g=n(13306);function m(e){return e&&e.__esModule?e:{default:e}}function _(e,t){return(_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var v=(0,s.addNamespace)(\"dxcontextmenu\",\"dxHtmlEditorTableContextMenu\"),y=a.default,b=function(e){return u.default.format(\"dxHtmlEditor-\".concat((0,p.camelize)(e)))};i.default&&(y=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this).enabled=!!n.enabled,i._quillContainer=i.editorInstance._getQuillContainer(),i.addCleanCallback(i.prepareCleanCallback()),i._formatHandlers=(0,c.getFormatHandlers)(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(i)),i._tableFormats=(0,d.getTableFormats)(t),i.enabled&&i._enableContextMenu(n.items),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,_(t,n);var a=i.prototype;return a._enableContextMenu=function(e){var t;null===(t=this._contextMenu)||void 0===t||t.dispose(),this._contextMenu=this._createContextMenu(e),this._attachEvents()},a._attachEvents=function(){r.default.on(this.editorInstance._getContent(),v,this._prepareContextMenuHandler())},a._detachEvents=function(){r.default.off(this.editorInstance._getContent(),v)},a._createContextMenu=function(e){var t=(0,o.default)(\"<div>\").appendTo(this.editorInstance.$element()),n=this._getMenuConfig(e);return this.editorInstance._createComponent(t,l.default,n)},a.showPropertiesForm=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"cell\",t=(0,o.default)(this._targetElement).closest(\"cell\"===e?\"th, td\":\"table\");this._contextMenu.hide(),this._formatHandlers[\"\".concat(e,\"Properties\")](t),this._targetElement=null},a._isAcceptableItem=function(e,t){return!e||e===t},a._handleObjectItem=function(e){if(e.name&&this._isAcceptableItem(e.widget,\"dxButton\")){var t=this._prepareMenuItemConfig(e.name);return(0,g.extend)(!0,t,e)}return e.items?(e.items=this._prepareMenuItems(e.items),e):e},a._prepareMenuItemConfig=function(e){var t,n,i=null!==(t=c.ICON_MAP[e])&&void 0!==t?t:e,o=(0,p.titleize)(e);return{text:b(o),icon:i.toLowerCase(),onClick:null!==(n=this._formatHandlers[e])&&void 0!==n?n:(0,c.getDefaultClickHandler)(this,e)}},a._prepareMenuItems=function(e){var t=this,n=[];return(0,h.each)(e,(function(e,i){var o;(0,f.isObject)(i)?o=t._handleObjectItem(i):(0,f.isString)(i)&&(o=t._prepareMenuItemConfig(i)),o&&n.push(o)})),n},a._getMenuConfig=function(e){var t=this,n=[{text:b(\"insert\"),items:[\"insertHeaderRow\",\"insertRowAbove\",\"insertRowBelow\",(0,g.extend)(this._prepareMenuItemConfig(\"insertColumnLeft\"),{beginGroup:!0}),\"insertColumnRight\"]},{text:b(\"delete\"),items:[\"deleteColumn\",\"deleteRow\",\"deleteTable\"]},(0,g.extend)(this._prepareMenuItemConfig(\"cellProperties\"),{onClick:function(e){t.showPropertiesForm(\"cell\")}}),(0,g.extend)(this._prepareMenuItemConfig(\"tableProperties\"),{onClick:function(e){t.showPropertiesForm(\"table\")}})],i=this._prepareMenuItems(null!=e&&e.length?e:n);return{target:this._quillContainer,showEvent:null,hideOnParentScroll:!1,items:i}},a._prepareContextMenuHandler=function(){var e=this;return function(t){e._isTableTarget(t.target)&&(e._targetElement=t.target,e._setContextMenuPosition(t),e._contextMenu.show(),t.preventDefault())}},a._setContextMenuPosition=function(e){var t=this._quillContainer.get(0).getBoundingClientRect();this._contextMenu.option({position:{my:\"left top\",at:\"left top\",collision:\"fit fit\",offset:{x:e.clientX-t.left,y:e.clientY-t.top}}})},a._isTableTarget=function(e){return!!(0,o.default)(e).closest(\".dx-htmleditor-content td, .dx-htmleditor-content th\").length},a.clean=function(){this._detachEvents()},a.option=function(e,t){if(\"tableContextMenu\"!==e){if(\"enabled\"===e)this.enabled=t,t?this._enableContextMenu():this.clean();else if(\"items\"===e){var n;null===(n=this._contextMenu)||void 0===n||n.dispose(),this._contextMenu=this._createContextMenu(t)}}else this.handleOptionChangeValue(t)},a.prepareCleanCallback=function(){var e=this;return function(){e.clean()}},i}(a.default));var x=y;t.default=x,e.exports=t.default,e.exports.default=t.default},56459:function(e,t,n){t.default=void 0;var i=n(58664),o=_(n(68374)),a=_(n(55994)),r=n(35922),s=n(39611),l=_(n(55814)),u=n(31648),d=n(37518),c=_(n(30963)),h=_(n(42160)),f=n(95479),p=n(58201),g=n(13306),m=n(28822);function _(e){return e&&e.__esModule?e:{default:e}}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var y={minColumnWidth:40,minRowHeight:24},b=(0,s.addNamespace)(\"dxpointerdown\",\"dxHtmlTableResizingModule\"),x=(0,s.addNamespace)(\"scroll\",\"dxHtmlTableResizingModule\"),w=function(e){var t,n;function s(t,n){var i;return(i=e.call(this,t,n)||this).enabled=!!n.enabled,i._tableResizeFrames=[],i._minColumnWidth=i._minSizeLimit(\"minColumnWidth\",n.minColumnWidth),i._minRowHeight=i._minSizeLimit(\"minRowHeight\",n.minRowHeight),i._quillContainer=i.editorInstance._getQuillContainer(),i._tableData=[],i.enabled&&i._applyResizing(),i}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,v(t,n);var c=s.prototype;return c._applyResizing=function(e){e?this._applyResizingImpl():this.editorInstance.addContentInitializedCallback(this._applyResizingImpl.bind(this)),this.addCleanCallback(this.clean.bind(this)),this._resizeHandlerWithContext=l.default.add(this._resizeHandler.bind(this))},c._minSizeLimit=function(e,t){return(0,r.isDefined)(t)?Math.max(t,0):y[e]},c._applyResizingImpl=function(){var e=this._findTables();e.length&&(this._fixTablesWidths(e),this._createResizeFrames(e),this._updateFramesPositions(),this._updateFramesSeparators()),this._attachEvents()},c._attachEvents=function(){a.default.on(this.editorInstance._getContent(),x,this._updateFramesPositions.bind(this)),this.quill.on(\"text-change\",this._getQuillTextChangeHandler())},c._detachEvents=function(){a.default.off(this.editorInstance._getContent(),\"dxHtmlTableResizingModule\"),this.quill.off(\"text-change\",this._quillTextChangeHandler)},c._getQuillTextChangeHandler=function(e,t,n){var i=this;return function(e,t,n){if(i._isTableChanging()){var o=i._findTables();i._removeResizeFrames(),\"api\"===n&&i._fixTablesWidths(o),i._updateTablesColumnsWidth(o),i._createResizeFrames(o),i._updateFramesPositions(),i._updateFramesSeparators()}else i._updateFramesPositions(),i._isDragging||i._updateFramesSeparators()}},c._getFrameForTable=function(e){var t;return null===(t=this._framesForTables)||void 0===t?void 0:t.get(e.get(0))},c._resizeHandler=function(){var e=this;this._windowResizeTimeout=setTimeout((function(){var t=e._findTables();(0,f.each)(t,(function(t,n){var a=(0,o.default)(n),r=e._tableResizeFrames[t],s=(0,i.getOuterWidth)(a),l=e._tableLastWidth(r);Math.abs(s-l)>1&&(e._tableLastWidth(r,s),e._updateColumnsWidth(a,t))})),e._updateFramesPositions(),e._updateFramesSeparators()}))},c._findTables=function(){return(0,o.default)(this._quillContainer).find(\"table\")},c._getWidthStyleValue=function(e){var t=e[0].style.width;return\"\"!==t?parseInt(t):void 0},c._tableLastWidth=function(e,t){if(!(0,r.isDefined)(t))return null==e?void 0:e.lastWidth;e.lastWidth=t},c._fixTablesWidths=function(e){var t=this;(0,f.each)(e,(function(e,n){var a=(0,o.default)(n),r=t._getTableDeterminantElements(a,\"horizontal\");t._tableResizeFrames[e]||(t._tableResizeFrames[e]={lastWidth:void 0});var s=t._getFrameForTable(a);if(s||t._tableResizeFrames.push({$table:a}),0===(0,m.getAutoSizedElements)(a).length){var l,u=t._getColumnElementsSum(r).columnsSum;(0,m.unfixTableWidth)(a,{quill:t.quill});var d=null!==(l=t._tableLastWidth(s))&&void 0!==l?l:(0,i.getOuterWidth)(a);s&&t._tableLastWidth(s,Math.max(u,d))}}))},c._createResizeFrames=function(e){var t=this;this._framesForTables=new Map,e.each((function(e,n){var i,a=(0,o.default)(n),r=null===(i=t._tableResizeFrames[e])||void 0===i?void 0:i.$table,s=t._tableResizeFrames[e].lastWidth;t._tableResizeFrames[e]={$frame:t._createTableResizeFrame(n),$table:a,index:e,lastWidth:r&&n===r.get(0)?s:void 0,columnsCount:t._getTableDeterminantElements(a,\"horizontal\").length,rowsCount:t._getTableDeterminantElements(a,\"vertical\").length},t._framesForTables.set(n,t._tableResizeFrames[e])})),this._tableResizeFrames.length=e.length},c._isTableChanging=function(){var e=this,t=this._findTables(),n=!1;return t.length!==this._tableResizeFrames.length?n=!0:(0,f.each)(t,(function(t,i){var a=(0,o.default)(i),r=e._tableResizeFrames[t],s=(null==r?void 0:r.columnsCount)!==e._getTableDeterminantElements(a,\"horizontal\").length,l=(null==r?void 0:r.rowsCount)!==e._getTableDeterminantElements(a,\"vertical\").length;if(s||l)return n=!0,!1})),n},c._removeResizeFrames=function(e){var t,n=this;(0,f.each)(this._tableResizeFrames,(function(e,t){if(t.$frame){var i,o=\".\".concat(\"dx-htmleditor-column-resizer\",\", .\").concat(\"dx-htmleditor-row-resizer\");n._detachSeparatorEvents(null===(i=t.$frame)||void 0===i?void 0:i.find(o)),t.$frame.remove()}})),null===(t=this._framesForTables)||void 0===t||t.clear(),e&&(this._tableResizeFrames=[])},c._detachSeparatorEvents=function(e){e.each((function(e,t){a.default.off(t,b)}))},c._createTableResizeFrame=function(){return(0,o.default)(\"<div>\").addClass(\"dx-table-resize-frame\").appendTo(this._quillContainer)},c._updateFramesPositions=function(){var e=this;(0,f.each)(this._tableResizeFrames,(function(t,n){e._updateFramePosition(n.$table,n.$frame)}))},c._updateFramePosition=function(e,t){var n=(0,d.getBoundingRect)(e.get(0)),i=n.height,o=n.width,a=n.top,r=n.left,s=(0,d.getBoundingRect)(this.quill.root),l=s.top,c=s.left;t.css({height:i,width:o,top:a-l,left:r-c}),(0,u.move)(t,{left:0,top:0})},c._updateFramesSeparators=function(e){var t=this;(0,f.each)(this._tableResizeFrames,(function(n,i){e?t._updateFrameSeparators(i,e):(t._updateFrameSeparators(i,\"vertical\"),t._updateFrameSeparators(i,\"horizontal\"))}))},c._isDraggable=function(e){return e.hasClass(\"dx-draggable\")&&e.is(\":visible\")},c._removeDraggable=function(e,t){this._isDraggable(e)&&((0,o.default)(e).dxDraggable(\"instance\").dispose(),(0,o.default)(e).addClass(t))},c._getDirectionInfo=function(e){return\"vertical\"===e?{lineResizerClass:\"dx-htmleditor-row-resizer\",sizeFunction:function(e){return(0,i.getOuterHeight)(e)},positionCoordinate:\"top\",positionStyleProperty:\"height\",positionCoordinateName:\"y\"}:{lineResizerClass:\"dx-htmleditor-column-resizer\",sizeFunction:function(e){return(0,i.getOuterWidth)(e)},positionCoordinate:this.editorInstance.option(\"rtlEnabled\")?\"right\":\"left\",positionStyleProperty:\"width\",positionCoordinateName:\"x\"}},c._getSize=function(e,t){return t.sizeFunction(e)},c._updateFrameSeparators=function(e,t){for(var n=this._getTableDeterminantElements(e.$table,t),i=n.length-1,a=this._getDirectionInfo(t),s=e.$frame.find(\".\".concat(a.lineResizerClass)),l={transform:\"none\"},u=0,d=0;d<=i;d++){u+=this._getSize(n.eq(d),a),(0,r.isDefined)(s[d])||(s[d]=(0,o.default)(\"<div>\").addClass(a.lineResizerClass).appendTo(e.$frame).get(0));var c=(0,o.default)(s[d]);this._removeDraggable(c,a.lineResizerClass),l[a.positionCoordinate]=u-2,(0,o.default)(c).css(l);var h={lineSeparator:s[d],index:d,$determinantElements:n,frame:e,direction:t};this._attachColumnSeparatorEvents(h)}},c._getTableDeterminantElements=function(e,t){return\"vertical\"===t?e.find(\"th:first-child, td:first-child\"):(0,m.getColumnElements)(e)},c._attachColumnSeparatorEvents=function(e){var t=this;a.default.on(e.lineSeparator,b,(function(){t._createDraggableElement(e)}))},c._dragStartHandler=function(e){var t=e.$determinantElements,n=e.index,a=e.frame,r=e.direction,s=e.lineSeparator,l=this._getDirectionInfo(r);this._isDragging=!0,this._fixColumnsWidth(a.$table),this._startLineSize=parseInt(this._getSize((0,o.default)(t[n]),l)),this._startTableWidth=(0,i.getOuterWidth)(a.$table),this._startLineSeparatorPosition=parseInt((0,o.default)(s).css(l.positionCoordinate)),this._nextLineSize=0,t[n+1]?this._nextLineSize=parseInt(this._getSize((0,o.default)(t[n+1]),l)):\"horizontal\"===r&&(0,m.unfixTableWidth)(a.$table,{quill:this.quill})},c._shouldRevertOffset=function(e){return\"horizontal\"===e&&this.editorInstance.option(\"rtlEnabled\")},c._isNextColumnWidthEnough=function(e,t,n){if(!this._nextLineSize)return!0;if(e>=this._minColumnWidth){var o=this._nextColumnOffsetLimit?n<this._nextColumnOffsetLimit:n<0,a=Math.abs(this._getWidthStyleValue(t)-(0,i.getOuterWidth)(t))>3;return o||!a}return!1},c._shouldSetNextColumnWidth=function(e){return this._nextLineSize&&e>0},c._horizontalDragHandler=function(e){var t=e.currentLineNewSize,n=e.directionInfo,o=e.eventOffset,a=e.$determinantElements,r=e.index,s=e.frame,l=this._nextLineSize&&this._nextLineSize-o,u=t>=this._minColumnWidth,d=(0,m.getLineElements)(s.$table,r),c=(0,m.getLineElements)(s.$table,r+1),h=(0,i.getOuterWidth)(d.eq(0))-t;if(u)if(this._isNextColumnWidthEnough(l,a.eq(r+1),o)){(0,m.setLineElementsFormat)(this,{elements:d,property:n.positionStyleProperty,value:t}),this._shouldSetNextColumnWidth(l)&&(0,m.setLineElementsFormat)(this,{elements:c,property:n.positionStyleProperty,value:l});var f=Math.abs(this._startTableWidth-(0,i.getOuterWidth)(s.$table))<3;(Math.abs(h)>3||!this._nextLineSize&&f)&&((0,m.setLineElementsFormat)(this,{elements:d,property:n.positionStyleProperty,value:(0,i.getOuterWidth)(d.eq(0))}),l+=t-(0,i.getOuterWidth)(d.eq(0)),this._shouldSetNextColumnWidth(l)&&(0,m.setLineElementsFormat)(this,{elements:c,property:n.positionStyleProperty,value:l}))}else this._nextColumnOffsetLimit=this._nextColumnOffsetLimit||o;this._$highlightedElement.css(n.positionCoordinate,this._startLineSeparatorPosition+o+h+\"px\")},c._verticalDragHandler=function(e){var t=e.currentLineNewSize,n=e.directionInfo,o=e.eventOffset,a=e.$determinantElements,r=e.index,s=e.frame,l=Math.max(t,this._minRowHeight),u=(0,m.getLineElements)(s.$table,r,\"vertical\");(0,m.setLineElementsFormat)(this,{elements:u,property:n.positionStyleProperty,value:l});var d=(0,i.getOuterHeight)(a.eq(r))-t;this._$highlightedElement.css(n.positionCoordinate,this._startLineSeparatorPosition+o+d+\"px\")},c._dragMoveHandler=function(e,t){var n=t.$determinantElements,i=t.index,o=t.frame,a=t.direction,r=this._getDirectionInfo(a),s=e.offset[r.positionCoordinateName];this.editorInstance._saveValueChangeEvent(e),this._shouldRevertOffset(a)&&(s=-s);var l=this._startLineSize+s;\"horizontal\"===a?this._horizontalDragHandler({currentLineNewSize:l,directionInfo:r,eventOffset:s,$determinantElements:n,index:i,frame:o}):this._verticalDragHandler({currentLineNewSize:l,directionInfo:r,eventOffset:s,$determinantElements:n,index:i,frame:o}),this._updateFramePosition(o.$table,o.$frame)},c._dragEndHandler=function(e){var t;null===(t=this._$highlightedElement)||void 0===t||t.remove(),this._isDragging=void 0,this._nextColumnOffsetLimit=void 0,this._tableLastWidth(e.frame,(0,i.getOuterWidth)(e.frame.$table)),this._updateFramesPositions(),this._updateFramesSeparators()},c._isLastColumnResizing=function(e){var t=e.$determinantElements,n=e.index;return!(0,r.isDefined)(t[n+1])},c._getBoundaryConfig=function(e){var t={};if(\"vertical\"===e.direction)t.boundary=e.frame.$table,t.boundOffset={bottom:(0,p.hasWindow)()?-(0,i.getHeight)((0,p.getWindow)()):-(0,i.getOuterHeight)(this._quillContainer),top:0,left:0,right:0};else if(this._isLastColumnResizing(e)){var n=this.editorInstance._getContent();t.boundary=n,t.boundOffset={bottom:0,top:0,left:n.css(\"paddingLeft\"),right:n.css(\"paddingRight\")}}else t.boundary=e.frame.$table;return t},c._createDraggableElement=function(e){var t,n=this,i=this._getBoundaryConfig(e),a=\"vertical\"===e.direction?\"dx-htmleditor-highlighted-row\":\"dx-htmleditor-highlighted-column\";null===(t=this._$highlightedElement)||void 0===t||t.remove(),this._$highlightedElement=(0,o.default)(\"<div>\").addClass(\"\".concat(a)).insertAfter((0,o.default)(e.lineSeparator));var r={contentTemplate:null,allowMoveByClick:!1,dragDirection:e.direction,onDragMove:function(t){t.component;var i=t.event;n._dragMoveHandler(i,e)},onDragStart:function(){n._dragStartHandler(e)},onDragEnd:function(){n._dragEndHandler(e)}};(0,g.extend)(r,i),this._currentDraggableElement=this.editorInstance._createComponent(e.lineSeparator,h.default,r)},c._fixColumnsWidth=function(e){var t=this,n=this._getTableDeterminantElements(e);(0,f.each)(n,(function(n,o){var a=(0,i.getOuterWidth)(o),r=(0,m.getLineElements)(e,n);(0,m.setLineElementsFormat)(t,{elements:r,property:\"width\",value:Math.max(a,t._minColumnWidth)})}))},c._getColumnElementsSum=function(e){var t=this,n=[],a=0;return(0,f.each)(e,(function(e,r){var s=(0,o.default)(r),l=t._getWidthStyleValue(s)||(0,i.getOuterWidth)(s);n[e]=Math.max(l,t._minColumnWidth),a+=n[e]})),{columnsWidths:n,columnsSum:a}},c._setColumnsRatioWidth=function(e,t,n,i){var o=this;(0,f.each)(e,(function(e){var a,r=(0,m.getLineElements)(i,e);a=t>0?o._minColumnWidth+Math.round((n[e]-o._minColumnWidth)*t):o._minColumnWidth,(0,m.setLineElementsFormat)(o,{elements:r,property:\"width\",value:a})}))},c._updateColumnsWidth=function(e,t){var n=this._getTableDeterminantElements(e),o=this._tableResizeFrames[t];o||(this._tableResizeFrames[t]={}),o=this._tableResizeFrames[t];var a,r=this._tableLastWidth(o)||(0,i.getOuterWidth)(e),s=this._getColumnElementsSum(n),l=s.columnsWidths,u=s.columnsSum,d=n.length*this._minColumnWidth;a=u>d?(r-d)/(u-d):-1,this._tableLastWidth(o,a>0?r:d),this._setColumnsRatioWidth(n,a,l,e)},c._updateTablesColumnsWidth=function(e){var t=this;(0,f.each)(e,(function(e,n){t._updateColumnsWidth((0,o.default)(n),e)}))},c.option=function(e,t){\"tableResizing\"!==e?\"enabled\"===e?(this.enabled=t,t?this._applyResizing(!0):this.clean()):[\"minColumnWidth\",\"minRowHeight\"].includes(e)&&(this[\"_\".concat(e)]=this._minSizeLimit(e,t)):this.handleOptionChangeValue(t)},c.clean=function(){this._removeResizeFrames(!0),this._detachEvents(),l.default.remove(this._resizeHandlerWithContext),clearTimeout(this._windowResizeTimeout),this._resizeHandlerWithContext=void 0,this._isDragging=void 0,this._startTableWidth=void 0,clearTimeout(this._attachResizerTimeout)},s}(c.default);t.default=w,e.exports=t.default,e.exports.default=t.default},77616:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=y(n(9549)),a=y(n(68374)),r=y(n(30963)),s=y(n(71042));n(78665),n(89838),n(34171);var l=y(n(96688)),u=y(n(38110)),d=n(95479),c=n(35922),h=n(13306),f=y(n(28109)),p=n(78008),g=y(n(55994)),m=n(39611),_=n(28822),v=n(92077);function y(e){return e&&e.__esModule?e:{default:e}}function b(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function x(e,t){return(x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var w=r.default;if(o.default){var C={66:\"bold\",73:\"italic\",85:\"underline\"},S={b:66,i:73,u:85},k=function(e){return f.default.format(\"dxHtmlEditor-\".concat((0,p.camelize)(e)))};w=function(e){var t,n;function i(t,n){var i;if((i=e.call(this,t,n)||this)._toolbarWidgets=new u.default,i._formatHandlers=(0,v.getFormatHandlers)(function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(i)),i._tableFormats=(0,_.getTableFormats)(t),(0,c.isDefined)(n.items)){i._addCallbacks(),i._renderToolbar();var o=i.toolbarInstance._layoutStrategy._menu;if(o){var a=o._renderPopup;o._renderPopup=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];a.apply.apply(a,[o].concat(t)),o._popup.on(\"showing\",(function(){i._updateToolbar(!0)}))}}i.quill.on(\"editor-change\",(function(e,t,n,o){if(!(\"silent\"===o&&(0,c.isEmptyObject)(i.quill.getFormat()))){var a=\"selection-change\"===e;i._updateToolbar(a)}}))}return i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,x(t,n);var o,r,f,y=i.prototype;return y._addCallbacks=function(){this.addCleanCallback(this.clean.bind(this)),this.editorInstance.addContentInitializedCallback(this.updateHistoryWidgets.bind(this))},y._updateToolbar=function(e){this.updateFormatWidgets(e),this.updateHistoryWidgets(),this.updateTableWidgets()},y._updateFormatWidget=function(e,t,n){var i=this._toolbarWidgets.getByName(e);i&&(t?this._markActiveFormatWidget(e,i,n):(this._resetFormatWidget(e,i),Object.prototype.hasOwnProperty.call(e)&&delete n[e]),this._toggleClearFormatting(t||!(0,c.isEmptyObject)(n)))},y._renderToolbar=function(){var e=this,t=this.options.container||this._getContainer();this._$toolbar=(0,a.default)(\"<div>\").addClass(\"dx-htmleditor-toolbar\").appendTo(t),this._$toolbarContainer=(0,a.default)(t).addClass(\"dx-htmleditor-toolbar-wrapper\"),g.default.on(this._$toolbarContainer,(0,m.addNamespace)(\"mousedown\",this.editorInstance.NAME),(function(e){e.preventDefault()})),this._subscribeFormatHotKeys(),this.toolbarInstance=this.editorInstance._createComponent(this._$toolbar,s.default,this.toolbarConfig),this.editorInstance.on(\"optionChanged\",(function(t){var n=t.name;\"readOnly\"!==n&&\"disabled\"!==n||e.toolbarInstance.option(\"disabled\",e.isInteractionDisabled)}))},y.isMultilineMode=function(){var e;return null===(e=this.options.multiline)||void 0===e||e},y.clean=function(){this._toolbarWidgets.clear(),this._$toolbarContainer&&this._$toolbarContainer.empty().removeClass(\"dx-htmleditor-toolbar-wrapper\")},y.repaint=function(){this.toolbarInstance&&this.toolbarInstance.repaint()},y._getContainer=function(){var e=(0,a.default)(\"<div>\");return this.editorInstance.$element().prepend(e),e},y._detectRenamedOptions=function(e){(0,c.isObject)(e)&&(0,d.each)([{newName:\"name\",oldName:\"formatName\"},{newName:\"acceptedValues\",oldName:\"formatValues\"}],(function(t,n){Object.prototype.hasOwnProperty.call(e,n.oldName)&&l.default.log(\"W1016\",n.oldName,n.newName)}))},y._subscribeFormatHotKeys=function(){this.quill.keyboard.addBinding({which:S.b,shortKey:!0},this._handleFormatHotKey.bind(this)),this.quill.keyboard.addBinding({which:S.i,shortKey:!0},this._handleFormatHotKey.bind(this)),this.quill.keyboard.addBinding({which:S.u,shortKey:!0},this._handleFormatHotKey.bind(this))},y._handleFormatHotKey=function(e,t,n){var i=n.which,o=C[i];this._updateButtonState(o)},y._updateButtonState=function(e){var t=this._toolbarWidgets.getByName(e),n=this.quill.getFormat();n[e]?this._markActiveFormatWidget(e,t,n):this._resetFormatWidget(e,t)},y._prepareToolbarItems=function(){var e=this,t=[];return(0,d.each)(this.options.items,(function(n,i){var o;if(e._detectRenamedOptions(i),(0,c.isObject)(i))o=e._handleObjectItem(i);else if((0,c.isString)(i)){var a=e._prepareButtonItemConfig(i);o=e._getToolbarItem(a)}o&&t.push(o)})),t},y._handleObjectItem=function(e){if(e.name&&e.acceptedValues&&this._isAcceptableItem(e.widget,\"dxSelectBox\")){var t=this._prepareSelectItemConfig(e);return this._getToolbarItem(t)}if(e.name&&this._isAcceptableItem(e.widget,\"dxButton\")){var n=this._prepareButtonItemConfig(e.name),i=(0,h.extend)(!0,n,e);return this._getToolbarItem(i)}return this._getToolbarItem(e)},y._isAcceptableItem=function(e,t){return!e||e===t},y._prepareButtonItemConfig=function(e){var t,n=null!==(t=v.ICON_MAP[e])&&void 0!==t?t:e,i=(0,p.titleize)(e);return{widget:\"dxButton\",name:e,options:{hint:k(i),text:k(i),icon:n.toLowerCase(),onClick:this._formatHandlers[e]||(0,v.getDefaultClickHandler)(this,e),stylingMode:\"text\"},showText:\"inMenu\"}},y._prepareSelectItemConfig=function(e){var t=this,n=e.name,i=e.acceptedValues;return(0,h.extend)(!0,{widget:\"dxSelectBox\",name:n,options:{stylingMode:\"filled\",dataSource:i,displayExpr:function(e){return function(e,t){return\"header\"===t?(0,c.isDefined)(e)&&!1!==e?\"\".concat(k(\"heading\"),\" \").concat(e):k(\"normalText\"):k(e)||e}(e,n)},placeholder:k(n),onValueChanged:function(e){t._isReset||(t._hideAdaptiveMenu(),(0,v.applyFormat)(t,[n,e.value,\"user\"],e.event),t._setValueSilent(e.component,e.value))}}},e)},y._hideAdaptiveMenu=function(){this.toolbarInstance.option(\"overflowMenuVisible\")&&this.toolbarInstance.option(\"overflowMenuVisible\",!1)},y._getToolbarItem=function(e){var t=this,n={options:{onInitialized:function(n){e.name&&(n.component.$element().addClass(\"dx-htmleditor-toolbar-format\"),n.component.$element().toggleClass(\"dx-\".concat(e.name.toLowerCase(),\"-format\"),!!e.name),t._toolbarWidgets.add(e.name,n.component))},onDisposing:function(){t._toolbarWidgets.remove(e.name)}}};return(0,h.extend)(!0,{location:\"before\",locateInMenu:\"auto\"},this._getDefaultConfig(e.name),e,n)},y._getDefaultItemsConfig=function(){return{clear:{options:{disabled:!0}},undo:{options:{disabled:!0}},redo:{options:{disabled:!0}},insertRowAbove:{options:{disabled:!0}},insertRowBelow:{options:{disabled:!0}},insertHeaderRow:{options:{disabled:!0}},insertColumnLeft:{options:{disabled:!0}},insertColumnRight:{options:{disabled:!0}},deleteRow:{options:{disabled:!0}},deleteColumn:{options:{disabled:!0}},deleteTable:{options:{disabled:!0}},cellProperties:{options:{disabled:!0}},tableProperties:{options:{disabled:!0}},separator:{template:function(e,t,n){(0,a.default)(n).addClass(\"dx-htmleditor-toolbar-separator\")},menuItemTemplate:function(e,t,n){(0,a.default)(n).addClass(\"dx-htmleditor-toolbar-menu-separator\")}}}},y._getDefaultConfig=function(e){return this._getDefaultItemsConfig()[e]},y.updateHistoryWidgets=function(){var e=this.quill.history;if(e){var t=e.stack,n=t.undo,i=t.redo;this._updateManipulationWidget(this._toolbarWidgets.getByName(\"undo\"),Boolean(n.length)),this._updateManipulationWidget(this._toolbarWidgets.getByName(\"redo\"),Boolean(i.length))}},y.updateTableWidgets=function(){var e=this;if(this.quill.getModule(\"table\")){var t=this.quill.getSelection(),n=t&&this.quill.getFormat(t)||{},i=this._tableFormats.some((function(e){return Boolean(n[e])}));_.TABLE_OPERATIONS.forEach((function(t){var n=\"insertTable\"===t,o=e._toolbarWidgets.getByName(t);e._updateManipulationWidget(o,n?!i:i)}))}},y._updateManipulationWidget=function(e,t){e&&e.option(\"disabled\",!t)},y.updateFormatWidgets=function(e){var t=this.quill.getSelection();if(t){var n=this.quill.getFormat(t),i=!(0,c.isEmptyObject)(n);for(var o in i&&!e||this._resetFormatWidgets(),n){var a=this._getFormatWidgetName(o,n),r=this._toolbarWidgets.getByName(a)||this._toolbarWidgets.getByName(o);r&&this._markActiveFormatWidget(o,r,n)}this._toggleClearFormatting(i||t.length>1)}},y._markActiveFormatWidget=function(e,t,n){this._isColorFormat(e)&&this._updateColorWidget(e,n[e]),\"value\"in t.option()?this._setValueSilent(t,n[e]):t.$element().addClass(\"dx-format-active\")},y._toggleClearFormatting=function(e){var t=this._toolbarWidgets.getByName(\"clear\");t&&t.option(\"disabled\",!e)},y._isColorFormat=function(e){return\"color\"===e||\"background\"===e},y._updateColorWidget=function(e,t){var n=this._toolbarWidgets.getByName(e);n&&n.$element().find(\".\".concat(\"dx-icon\")).css(\"borderBottomColor\",t||\"transparent\")},y._getFormatWidgetName=function(e,t){var n;switch(e){case\"align\":n=e+(0,p.titleize)(t[e]);break;case\"list\":n=t[e]+(0,p.titleize)(e);break;case\"code-block\":n=\"codeBlock\";break;case\"script\":n=t[e]+e;break;case\"imageSrc\":n=\"image\";break;default:n=e}return n},y._setValueSilent=function(e,t){this._isReset=!0,e.option(\"value\",t),this._isReset=!1},y._resetFormatWidgets=function(){var e=this;this._toolbarWidgets.each((function(t,n){e._resetFormatWidget(t,n)}))},y._resetFormatWidget=function(e,t){t.$element().removeClass(\"dx-format-active\"),this._isColorFormat(e)&&this._updateColorWidget(e),\"clear\"===e&&t.option(\"disabled\",!0),\"dxSelectBox\"===t.NAME&&this._setValueSilent(t,null)},y.addClickHandler=function(e,t){this._formatHandlers[e]=t;var n=this._toolbarWidgets.getByName(e);n&&\"dxButton\"===n.NAME&&n.option(\"onClick\",t)},o=i,(r=[{key:\"toolbarConfig\",get:function(){return{dataSource:this._prepareToolbarItems(),disabled:this.isInteractionDisabled,menuContainer:this._$toolbarContainer,multiline:this.isMultilineMode()}}},{key:\"isInteractionDisabled\",get:function(){return this.editorInstance.option(\"readOnly\")||this.editorInstance.option(\"disabled\")}}])&&b(o.prototype,r),f&&b(o,f),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(r.default)}var D=w;t.default=D,e.exports=t.default,e.exports.default=t.default},55179:function(e,t,n){t.default=void 0;var i=d(n(9549)),o=d(n(68374)),a=n(37518),r=d(n(2269)),s=d(n(30963)),l=d(n(76195)),u=n(13306);function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=s.default;if(i.default){i.default.register({\"formats/variable\":l.default},!0),f=function(e){var t,n;n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var i=r.prototype;function r(t,n){var i;i=e.call(this,t,n)||this;var a=t.getModule(\"toolbar\");return a&&a.addClickHandler(\"variable\",i.showPopup.bind(c(i))),t.keyboard.addBinding({key:\"P\",altKey:!0},i.showPopup.bind(c(i))),i._popup.on(\"shown\",(function(e){var t=(0,o.default)(e.component.option(\"position\").of);t.hasClass(\"dx-variable-format\")&&t.addClass(\"dx-format-active\")})),i}return i._getDefaultOptions=function(){var t=e.prototype._getDefaultOptions.call(this);return(0,u.extend)(t,{escapeChar:\"\"})},i.showPopup=function(t){var n=this.quill.getSelection(!0),i=n?n.index:this.quill.getLength();this.savePosition(i),this._resetPopupPosition(t,i),e.prototype.showPopup.call(this)},i._resetPopupPosition=function(e,t){if(e&&e.element)this._popup.option(\"position\",{of:e.element,offset:{h:0,v:0},my:\"top center\",at:\"bottom center\",collision:\"fit\"});else{var n=this.quill.getBounds(t),i=(0,a.getBoundingRect)(this.quill.root);this._popup.option(\"position\",{of:this.quill.root,offset:{h:n.left,v:n.bottom-i.height},my:\"top center\",at:\"bottom left\",collision:\"fit flip\"})}},i.insertEmbedContent=function(e){var t=this.getPosition(),n=e.component.option(\"selectedItem\"),i=(0,u.extend)({},{value:n,escapeChar:this.options.escapeChar});setTimeout(function(){this.quill.insertEmbed(t,\"variable\",i),this.quill.setSelection(t+1)}.bind(this))},r}(r.default)}var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},38110:function(e,t,n){t.default=void 0;var i=n(95479),o=function(){function e(){this._collection=[]}var t=e.prototype;return t.clear=function(){this._collection=[]},t.add=function(e,t){this._collection.push({name:e,instance:t})},t.remove=function(e){this._collection=this._collection.filter((function(t){return t.name!==e}))},t.getByName=function(e){var t=null;return(0,i.each)(this._collection,(function(n,i){var o=i.name,a=i.instance;if(o===e)return t=a,!1})),t},t.each=function(e){this._collection.forEach((function(t){var n=t.name,i=t.instance;return i&&e(n,i)}))},e}();t.default=o,e.exports=t.default,e.exports.default=t.default},60148:function(e,t,n){t.getQuill=function(){if(!o.default)throw i.default.Error(\"E1041\",\"Quill\");return o.default};var i=a(n(96688)),o=a(n(9549));function a(e){return e&&e.__esModule?e:{default:e}}},1702:function(e,t,n){t.default=void 0;var i=n(60148),o=y(n(80560)),a=y(n(72446)),r=y(n(8980)),s=y(n(73360)),l=y(n(2909)),u=y(n(90223)),d=y(n(77616)),c=y(n(78859)),h=y(n(55179)),f=y(n(91787)),p=y(n(56459)),g=y(n(31700)),m=y(n(75990)),_=y(n(80900)),v=y(n(12542));function y(e){return e&&e.__esModule?e:{default:e}}var b=function(){function e(){if(!e.initialized){var t=this.getQuill(),n=t.import(\"attributors/style/direction\");t.register({\"formats/align\":u.default,\"formats/direction\":n,\"formats/font\":s.default,\"formats/size\":l.default,\"formats/extendedImage\":a.default,\"formats/link\":r.default,\"modules/toolbar\":d.default,\"modules/dropImage\":c.default,\"modules/variables\":h.default,\"modules/resizing\":f.default,\"modules/tableResizing\":p.default,\"modules/tableContextMenu\":g.default,\"modules/imageUpload\":m.default,\"modules/imageCursor\":_.default,\"modules/mentions\":v.default,\"themes/basic\":o.default},!0),this._customModules=[],e._initialized=!0}}var t=e.prototype;return t.createEditor=function(e,t){return new(this.getQuill())(e,t)},t.registerModules=function(e){var t=RegExp(\"modules/*\"),n=this.getQuill(),i=function(e){return!!n.imports[e]};for(var o in e)t.test(o)&&!i(o)&&this._customModules.push(o.slice(8));n.register(e,!0)},t.getRegisteredModuleNames=function(){return this._customModules},t.getQuill=function(){return(0,i.getQuill)()},e}();t.default=b,e.exports=t.default,e.exports.default=t.default},80560:function(e,t,n){t.default=void 0;var i,o,a=(i=n(9549))&&i.__esModule?i:{default:i};function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}a.default?o=function(e){var t,n;function i(t,n){var i;return(i=e.call(this,t,n)||this).quill.root.classList.add(\"dx-htmleditor-content\"),i.quill.root.setAttribute(\"role\",\"textbox\"),i.quill.root.setAttribute(\"aria-label\",\"Editor content\"),i}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i}(a.default.import(\"core/theme\")):o={};var s=o;t.default=s,e.exports=t.default,e.exports.default=t.default},15887:function(e,t,n){t.default=void 0;var i=D(n(68374)),o=n(13306),a=n(35922),r=n(6415),s=n(20576),l=D(n(99393)),u=n(10688),d=D(n(96452)),c=D(n(96688)),h=D(n(44504)),f=n(62754),p=D(n(55994)),g=n(39611),m=n(66365),_=D(n(37334)),v=n(51203),y=D(n(93786)),b=D(n(20530)),x=D(n(1702));n(44844);var w=D(n(56957)),C=D(n(10803)),S=D(n(67600)),k=D(n(80209));function D(e){return e&&e.__esModule?e:{default:e}}function I(e){return(I=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function T(){return(T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function E(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}(e)||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 O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function A(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==I(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==I(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===I(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var P=\"ios\"===b.default.current().platform,M=0,R=d.default.inherit({_getDefaultOptions:function(){return(0,o.extend)(this.callBase(),{focusStateEnabled:!0,valueType:\"html\",placeholder:\"\",toolbar:null,variables:null,mediaResizing:null,tableResizing:null,mentions:null,customizeModules:null,tableContextMenu:null,allowSoftLineBreak:!1,formDialogOptions:null,imageUpload:null,stylingMode:(0,k.default)().editorStylingMode||\"outlined\"})},_init:function(){this._mentionKeyInTemplateStorage=M++,this.callBase(),this._cleanCallback=(0,h.default)(),this._contentInitializedCallback=(0,h.default)()},_getAnonymousTemplateName:function(){return\"htmlContent\"},_initTemplates:function(){this._templateManager.addDefaultTemplates(A({},\"htmlContent\",new u.EmptyTemplate)),this.callBase()},_focusTarget:function(){return this._getContent()},_getContent:function(){return this.$element().find(\".\".concat(\"dx-htmleditor-content\"))},_focusInHandler:function(e){var t=e.relatedTarget;this._shouldSkipFocusEvent(t)||(this._toggleFocusClass(!0,this.$element()),this.callBase.apply(this,arguments))},_focusOutHandler:function(e){var t=e.relatedTarget;this._shouldSkipFocusEvent(t)||(this._toggleFocusClass(!1,this.$element()),this.callBase.apply(this,arguments))},_shouldSkipFocusEvent:function(e){return(0,i.default)(e).hasClass(\"ql-clipboard\")},_initMarkup:function(){this._$htmlContainer=(0,i.default)(\"<div>\").addClass(\"dx-quill-container\"),this.$element().attr(\"role\",\"application\").addClass(\"dx-htmleditor\").wrapInner(this._$htmlContainer),this._renderStylingMode();var e=this._getTemplate(\"htmlContent\");this._$templateResult=e&&e.render({container:(0,r.getPublicElement)(this._$htmlContainer),noModel:!0,transclude:!0}),this._renderSubmitElement(),this.callBase(),this._updateContainerMarkup()},_renderSubmitElement:function(){this._$submitElement=(0,i.default)(\"<textarea>\").addClass(\"dx-htmleditor-submit-element\").attr(\"hidden\",!0).appendTo(this.$element()),this._setSubmitValue(this.option(\"value\"))},_setSubmitValue:function(e){this._getSubmitElement().val(e)},_getSubmitElement:function(){return this._$submitElement},_createNoScriptFrame:function(){return(0,i.default)(\"<iframe>\").css(\"display\",\"none\").attr({srcdoc:\"\",id:\"xss-frame\",sandbox:\"allow-same-origin\"})},_removeXSSVulnerableHtml:function(e){var t=this._createNoScriptFrame().appendTo(\"body\"),n=t.get(0).contentWindow.document.body;n.innerHTML=e;!function e(t){if(t.attributes)for(var n=0;n<t.attributes.length;n++){var i=t.attributes[n].name;i.startsWith(\"on\")&&t.removeAttribute(i)}if(t.childNodes)for(var o=0;o<t.childNodes.length;o++)e(t.childNodes[o])}(n),n.querySelectorAll(\"script\").forEach((function(e){e.remove()}));var i=n.innerHTML;return t.remove(),i},_updateContainerMarkup:function(){var e=this.option(\"value\");if(this._isMarkdownValue()&&(this._prepareMarkdownConverter(),e=this._markdownConverter.toHtml(e)),e){var t=this._removeXSSVulnerableHtml(e);this._$htmlContainer.html(t)}},_prepareMarkdownConverter:function(){var e=w.default.getConverter(\"markdown\");if(!e)throw c.default.Error(\"E1051\",\"markdown\");this._markdownConverter=new e},_render:function(){this._prepareConverters(),this.callBase()},_prepareQuillRegistrator:function(){this._quillRegistrator||(this._quillRegistrator=new x.default)},_getRegistrator:function(){return this._prepareQuillRegistrator(),this._quillRegistrator},_prepareConverters:function(){if(!this._deltaConverter){var e=w.default.getConverter(\"delta\");e&&(this._deltaConverter=new e)}\"markdown\"!==this.option(\"valueType\")||this._markdownConverter||this._prepareMarkdownConverter()},_renderContentImpl:function(){this._contentRenderedDeferred=new f.Deferred;var e=this._contentRenderedDeferred.promise();return this.callBase(),this._renderHtmlEditor(),this._renderFormDialog(),this._addKeyPressHandler(),e},_pointerMoveHandler:function(e){P&&e.stopPropagation()},_attachFocusEvents:function(){(0,s.deferRender)(this.callBase.bind(this))},_addKeyPressHandler:function(){var e=(0,g.addNamespace)(\"keydown\",\"\".concat(this.NAME,\"TextChange\"));p.default.on(this._$htmlContainer,e,this._keyDownHandler.bind(this))},_keyDownHandler:function(e){this._saveValueChangeEvent(e)},_renderHtmlEditor:function(){var e=this,t=this.option(\"customizeModules\"),n=this._getModulesConfig();(0,a.isFunction)(t)&&t(n),this._quillInstance=this._getRegistrator().createEditor(this._$htmlContainer[0],{placeholder:this.option(\"placeholder\"),readOnly:this.option(\"readOnly\")||this.option(\"disabled\"),modules:n,theme:\"basic\"}),this._deltaConverter.setQuillInstance(this._quillInstance),this._textChangeHandlerWithContext=this._textChangeHandler.bind(this),this._quillInstance.on(\"text-change\",this._textChangeHandlerWithContext),this._renderScrollHandler(),this._hasTranscludedContent()?this._updateContentTask=(0,s.executeAsync)((function(){e._applyTranscludedContent()})):this._finalizeContentRendering()},_renderScrollHandler:function(){var e=this._getContent(),t=(0,v.prepareScrollData)(e);p.default.on(e,(0,g.addNamespace)(_.default.init,this.NAME),t,s.noop),p.default.on(e,(0,g.addNamespace)(y.default.move,this.NAME),this._pointerMoveHandler.bind(this))},_applyTranscludedContent:function(){var e=this.option(\"value\");if(!(0,a.isDefined)(e)){var t=this._deltaConverter.toHtml(),n=this._quillInstance.clipboard.convert({html:t});if(n.ops.length)return void this._quillInstance.setContents(n)}this._finalizeContentRendering()},_hasTranscludedContent:function(){return this._$templateResult&&this._$templateResult.length},_getModulesConfig:function(){var e=this,t=this._getRegistrator().getQuill(),n=(0,C.default)(t);return(0,o.extend)({},{table:!0,toolbar:this._getModuleConfigByOption(\"toolbar\"),variables:this._getModuleConfigByOption(\"variables\"),resizing:this._getModuleConfigByOption(\"mediaResizing\"),tableResizing:this._getModuleConfigByOption(\"tableResizing\"),tableContextMenu:this._getModuleConfigByOption(\"tableContextMenu\"),imageUpload:this._getModuleConfigByOption(\"imageUpload\"),imageCursor:this._getBaseModuleConfig(),mentions:this._getModuleConfigByOption(\"mentions\"),uploader:{onDrop:function(t){return e._saveValueChangeEvent((0,m.Event)(t))},imageBlot:\"extendedImage\"},keyboard:{onKeydown:function(t){return e._saveValueChangeEvent((0,m.Event)(t))}},clipboard:{onPaste:function(t){return e._saveValueChangeEvent((0,m.Event)(t))},onCut:function(t){return e._saveValueChangeEvent((0,m.Event)(t))},matchers:[[\"p.MsoListParagraphCxSpFirst\",n],[\"p.MsoListParagraphCxSpMiddle\",n],[\"p.MsoListParagraphCxSpLast\",n]]},multiline:Boolean(this.option(\"allowSoftLineBreak\"))},this._getCustomModules())},_getModuleConfigByOption:function(e){var t=this.option(e),n={};if((0,a.isDefined)(t))return Array.isArray(t)?n[e]=t:n=t,(0,o.extend)(this._getBaseModuleConfig(),n)},_getBaseModuleConfig:function(){return{editorInstance:this}},_getCustomModules:function(){var e=this,t={};return this._getRegistrator().getRegisteredModuleNames().forEach((function(n){t[n]=e._getBaseModuleConfig()})),t},_textChangeHandler:function(e,t,n){var i=this._deltaConverter.toHtml(),o=this._isMarkdownValue()?this._updateValueByType(\"markdown\",i):i,a=this.option(\"value\");a===o||this._isNullValueConverted(a,o)||(this._isEditorUpdating=!0,this.option(\"value\",o)),this._finalizeContentRendering()},_isNullValueConverted:function(e,t){return null===e&&\"\"===t},_finalizeContentRendering:function(){this._contentRenderedDeferred&&(this.clearHistory(),this._contentInitializedCallback.fire(),this._contentRenderedDeferred.resolve(),this._contentRenderedDeferred=void 0)},_updateValueByType:function(e,t){var n=this._markdownConverter;if((0,a.isDefined)(n)){var i=(0,s.ensureDefined)(t,this.option(\"value\"));return\"markdown\"===e?n.toMarkdown(i):n.toHtml(i)}},_isMarkdownValue:function(){return\"markdown\"===this.option(\"valueType\")},_resetEnabledState:function(){if(this._quillInstance){var e=!(this.option(\"readOnly\")||this.option(\"disabled\"));this._quillInstance.enable(e)}},_renderFormDialog:function(){var e=(0,o.extend)(!0,{width:\"auto\",height:\"auto\",hideOnOutsideClick:!0},this.option(\"formDialogOptions\"));this._formDialog=new S.default(this,e)},_getStylingModePrefix:function(){return\"dx-htmleditor-\"},_getQuillContainer:function(){return this._$htmlContainer},_prepareModuleOptions:function(e){var t,n=null===(t=e.fullName)||void 0===t?void 0:t.split(\".\"),i=e.value,o=n.length>=2?n[1]:e.name;return 3===n.length&&(i=A({},n[2],i)),[o,i]},_moduleOptionChanged:function(e,t){var n=this.getModule(e);Boolean(n)?n.option.apply(n,E(this._prepareModuleOptions(t))):this._invalidate()},_optionChanged:function(e){switch(e.name){case\"value\":if(this._quillInstance)if(this._isEditorUpdating)this._isEditorUpdating=!1;else{var t=this._isMarkdownValue()?this._updateValueByType(\"HTML\",e.value):e.value;this._suppressValueChangeAction(),this._updateHtmlContent(t),this._resumeValueChangeAction()}else this._$htmlContainer.html(e.value);var n=this.option(\"value\");n!==e.previousValue&&(this._setSubmitValue(n),this.callBase(T({},e,{value:n})));break;case\"placeholder\":case\"variables\":case\"toolbar\":case\"mentions\":case\"customizeModules\":case\"allowSoftLineBreak\":this._invalidate();break;case\"tableResizing\":this._moduleOptionChanged(\"tableResizing\",e);break;case\"valueType\":this._prepareConverters();var i=this._updateValueByType(e.value);\"html\"===e.value&&this._quillInstance?this._updateHtmlContent(i):this.option(\"value\",i);break;case\"stylingMode\":this._renderStylingMode();break;case\"readOnly\":case\"disabled\":this.callBase(e),this._resetEnabledState();break;case\"formDialogOptions\":this._renderFormDialog();break;case\"tableContextMenu\":this._moduleOptionChanged(\"tableContextMenu\",e);break;case\"mediaResizing\":e.previousValue&&e.value?this.getModule(\"resizing\").option(e.name,e.value):this._invalidate();break;case\"width\":this.callBase(e),this._repaintToolbar();break;case\"imageUpload\":this._moduleOptionChanged(\"imageUpload\",e);break;default:this.callBase(e)}},_repaintToolbar:function(){this._applyToolbarMethod(\"repaint\")},_updateHtmlContent:function(e){var t=this._quillInstance.clipboard.convert({html:e});this._quillInstance.setContents(t)},_clean:function(){this._quillInstance&&(p.default.off(this._getContent(),\".\".concat(this.NAME)),this._quillInstance.off(\"text-change\",this._textChangeHandlerWithContext),this._cleanCallback.fire()),this._abortUpdateContentTask(),this._cleanCallback.empty(),this._contentInitializedCallback.empty(),this.callBase()},_abortUpdateContentTask:function(){this._updateContentTask&&(this._updateContentTask.abort(),this._updateContentTask=void 0)},_applyQuillMethod:function(e,t){if(this._quillInstance)return this._quillInstance[e].apply(this._quillInstance,t)},_applyQuillHistoryMethod:function(e){this._quillInstance&&this._quillInstance.history&&this._quillInstance.history[e]()},_applyToolbarMethod:function(e){var t;null===(t=this.getModule(\"toolbar\"))||void 0===t||t[e]()},addCleanCallback:function(e){this._cleanCallback.add(e)},addContentInitializedCallback:function(e){this._contentInitializedCallback.add(e)},register:function(e){this._getRegistrator().registerModules(e),this._quillInstance&&this.repaint()},get:function(e){return this._getRegistrator().getQuill().import(e)},getModule:function(e){return this._applyQuillMethod(\"getModule\",arguments)},getQuillInstance:function(){return this._quillInstance},getSelection:function(e){return this._applyQuillMethod(\"getSelection\",arguments)},setSelection:function(e,t){this._applyQuillMethod(\"setSelection\",arguments)},getText:function(e,t){return this._applyQuillMethod(\"getText\",arguments)},format:function(e,t){this._applyQuillMethod(\"format\",arguments)},formatText:function(e,t,n,i){this._applyQuillMethod(\"formatText\",arguments)},formatLine:function(e,t,n,i){this._applyQuillMethod(\"formatLine\",arguments)},getFormat:function(e,t){return this._applyQuillMethod(\"getFormat\",arguments)},removeFormat:function(e,t){return this._applyQuillMethod(\"removeFormat\",arguments)},clearHistory:function(){this._applyQuillHistoryMethod(\"clear\"),this._applyToolbarMethod(\"updateHistoryWidgets\")},undo:function(){this._applyQuillHistoryMethod(\"undo\")},redo:function(){this._applyQuillHistoryMethod(\"redo\")},getLength:function(){return this._applyQuillMethod(\"getLength\")},getBounds:function(e,t){return this._applyQuillMethod(\"getBounds\",arguments)},delete:function(e,t){this._applyQuillMethod(\"deleteText\",arguments)},insertText:function(e,t,n){this._applyQuillMethod(\"insertText\",arguments)},insertEmbed:function(e,t,n){this._applyQuillMethod(\"insertEmbed\",arguments)},showFormDialog:function(e){return this._formDialog.show(e)},formDialogOption:function(e,t){return this._formDialog.popupOption.apply(this._formDialog,arguments)},focus:function(){this.callBase(),this._applyQuillMethod(\"focus\")},blur:function(){this._applyQuillMethod(\"blur\")},getMentionKeyInTemplateStorage:function(){return this._mentionKeyInTemplateStorage}});(0,l.default)(\"dxHtmlEditor\",R);var B=R;t.default=B,e.exports=t.default,e.exports.default=t.default},67600:function(e,t,n){t.default=void 0;var i=h(n(68374)),o=n(13306),a=h(n(39114)),r=h(n(17737)),s=n(62754),l=h(n(28109)),u=n(58201),d=h(n(20530)),c=n(75811);function h(e){return e&&e.__esModule?e:{default:e}}var f=function(){function e(e,t){this._editorInstance=e,this._popupUserConfig=t,this._renderPopup(),this._attachOptionChangedHandler()}var t=e.prototype;return t._renderPopup=function(){var e=this._editorInstance,t=(0,i.default)(\"<div>\").addClass(\"dx-formdialog\").appendTo(e.$element()),n=this._getPopupConfig();return e._createComponent(t,a.default,n)},t._attachOptionChangedHandler=function(){var e,t=this;null===(e=this._popup)||void 0===e||e.on(\"optionChanged\",(function(e){var n=e.name,i=e.value;\"title\"===n&&t._updateFormLabel(i)}))},t._escKeyHandler=function(){this._popup.hide()},t._addEscapeHandler=function(e){e.component.registerKeyHandler(\"escape\",this._escKeyHandler.bind(this))},t._isSmallScreen=function(){var e=(0,u.hasWindow)()?(0,u.getCurrentScreenFactor)():null;return\"phone\"===d.default.real().deviceType||\"xs\"===e},t._getPopupConfig=function(){var e=this;return(0,o.extend)({onInitialized:function(t){e._popup=t.component,e._popup.on(\"hiding\",(function(){return e.onHiding()})),e._popup.on(\"shown\",(function(){e._form.focus()}))},deferRendering:!1,focusStateEnabled:!1,showCloseButton:!1,fullScreen:this._isSmallScreen(),contentTemplate:function(t){var n=(0,i.default)(\"<div>\").appendTo(t);e._renderForm(n,{onEditorEnterKey:function(t){return e.callAddButtonAction(t.event)},customizeItem:function(t){\"simple\"===t.itemType&&(t.editorOptions=(0,o.extend)(!0,{},t.editorOptions,{onInitialized:e._addEscapeHandler.bind(e)}))}})},toolbarItems:[{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{onInitialized:this._addEscapeHandler.bind(this),text:l.default.format(\"OK\"),onClick:function(t){return e.callAddButtonAction(t.event)}}},{toolbar:\"bottom\",location:\"after\",widget:\"dxButton\",options:{onInitialized:this._addEscapeHandler.bind(this),text:l.default.format(\"Cancel\"),onClick:function(){e._popup.hide()}}}],_wrapperClassExternal:\"dx-formdialog\"},this._popupUserConfig)},t.onHiding=function(){this.beforeAddButtonAction=void 0,this.deferred.reject()},t.callAddButtonAction=function(e){this.beforeAddButtonAction&&!this.beforeAddButtonAction()||this.hide(this._form.option(\"formData\"),e)},t._renderForm=function(e,t){e.addClass(\"dx-formdialog-form\"),this._form=this._editorInstance._createComponent(e,r.default,t),this._updateFormLabel()},t._updateFormLabel=function(e){var t,n=null!=e?e:this.popupOption(\"title\");null===(t=this._form)||void 0===t||t.$element().attr(\"aria-label\",n)},t._getDefaultFormOptions=function(){return{colCount:1,width:\"auto\",labelLocation:(0,c.isMaterial)()?\"top\":\"left\"}},t.formOption=function(e,t){return this._form.option.apply(this._form,arguments)},t.show=function(e){if(!this._popup.option(\"visible\")){this.deferred=new s.Deferred;var t=(0,o.extend)(this._getDefaultFormOptions(),e);return this._form.option(t),this._popup.show(),this.deferred.promise()}},t.hide=function(e,t){this.deferred.resolve(e,t),this._popup.hide()},t.popupOption=function(e,t){return this._popup.option.apply(this._popup,arguments)},e}();t.default=f,e.exports=t.default,e.exports.default=t.default},10046:function(e,t,n){t.ImageUploader=void 0,t.correctSlashesInUrl=E,t.getFileUploaderBaseOptions=O,t.serverUpload=P,t.urlUpload=A;var i=p(n(68374)),o=p(n(28109)),a=n(95479),r=n(13306),s=n(58664),l=p(n(20530)),u=n(35922),d=p(n(28236)),c=p(n(53749)),h=p(n(29837)),f=[\"imageSrc\",\"src\"];function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function _(e){return(_=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function y(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var b=\"phone\"===l.default.current().deviceType,x=function(){function e(e,t){this.module=e,this.config=null!=t?t:{},this.quill=this.module.quill,this.editorInstance=this.module.editorInstance}var t=e.prototype;return t.render=function(){var e=this;this.editorInstance._formDialog&&(this.editorInstance._formDialog.beforeAddButtonAction=function(){return e.getCurrentTab().upload()}),this.tabPanelIndex=0,this.formData=this.getFormData(),this.isUpdating=this.isImageUpdating(),this.tabsModel=this.createTabsModel(this.config.tabs),this.tabs=this.createTabs(this.formData);var t=this.getFormConfig();this.updatePopupConfig(),this.updateAddButtonState(),this.editorInstance.showFormDialog(t).done((function(t,n){e.tabs[e.getActiveTabIndex()].strategy.pasteImage(t,n)})).always((function(){e.resetDialogPopupOptions(),e.quill.focus()}))},t.getCurrentTab=function(){return this.tabs[this.tabPanelIndex]},t.updateAddButtonState=function(){var e=this.getCurrentTab().isDisableButton();this.setAddButtonDisabled(e)},t.setAddButtonDisabled=function(e){this.editorInstance.formDialogOption({\"toolbarItems[0].options.disabled\":e})},t.getActiveTabIndex=function(){return this.isUpdating?0:this.tabPanelIndex},t.getFormData=function(){return this.getUpdateDialogFormData(this.quill.getFormat())},t.getUpdateDialogFormData=function(e){var t=e.imageSrc,n=e.src;return v({src:null!=t?t:n},y(e,f))},t.createUrlTab=function(e){var t=this;return new C(this.module,{config:this.config,formData:e,isUpdating:this.isUpdating},(function(){return t.updateAddButtonState()}))},t.createFileTab=function(){var e=this;return new S(this.module,{config:this.config},(function(){return e.updateAddButtonState()}))},t.createTabsModel=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return 0===e.length||this.isUpdating?[\"url\"]:e.map((function(e){return\"object\"===_(e)?e.name:e}))},t.createTabs=function(e){var t=this;return this.tabsModel.map((function(n){return\"url\"===n?t.createUrlTab(e):t.createFileTab()}))},t.isImageUpdating=function(){var e;return Object.prototype.hasOwnProperty.call(null!==(e=this.module.quill.getFormat())&&void 0!==e?e:{},\"imageSrc\")},t.updatePopupConfig=function(){var e=\"\".concat(\"dx-htmleditor-add-image-popup\",\" \").concat(\"dx-formdialog\");this.useTabbedItems()&&(e+=\" \".concat(\"dx-htmleditor-add-image-popup-with-tabs\"));var t=this.isUpdating?\"dxHtmlEditor-dialogUpdateImageCaption\":\"dxHtmlEditor-dialogImageCaption\",n=this.isUpdating?\"dxHtmlEditor-dialogImageUpdateButton\":\"dxHtmlEditor-dialogImageAddButton\";this.editorInstance.formDialogOption({title:o.default.format(t),\"toolbarItems[0].options.text\":o.default.format(n),wrapperAttr:{class:e}})},t.resetDialogPopupOptions=function(){this.editorInstance.formDialogOption({\"toolbarItems[0].options.text\":o.default.format(\"OK\"),\"toolbarItems[0].options.visible\":!0,\"toolbarItems[0].options.disabled\":!1,wrapperAttr:{class:\"dx-formdialog\"}})},t.useTabbedItems=function(){return this.tabsModel.length>1},t.getFormWidth=function(){return b?\"100%\":493},t.getFormConfig=function(){return{formData:this.formData,width:this.getFormWidth(),labelLocation:\"top\",colCount:this.useTabbedItems()?1:11,items:this.getItemsConfig()}},t.getItemsConfig=function(){var e=this;return this.useTabbedItems()?[{itemType:\"tabbed\",tabPanelOptions:{onSelectionChanged:function(t){e.tabPanelIndex=t.component.option(\"selectedIndex\"),e.updateAddButtonState()}},tabs:(0,a.map)(this.tabs,(function(e){return{title:e.getTabName(),colCount:11,items:e.getItemsConfig()}}))}]:this.tabs[0].getItemsConfig()},e}();t.ImageUploader=x;var w=function(){function e(e,t,n){var i=t.config,o=t.formData,a=t.isUpdating;this.module=e,this.config=i,this.formData=o,this.isUpdating=a,this.onFileSelected=n,this.strategy=this.createStrategy()}var t=e.prototype;return t.getItemsConfig=function(){return this.strategy.getItemsConfig()},t.createStrategy=function(){return this.isUpdating?new I(this.module,this.config,this.formData):new D(this.module,this.config,this.onFileSelected)},t.isDisableButton=function(){return!1},t.upload=function(){return this.strategy.upload()},e}(),C=function(e){function t(){return e.apply(this,arguments)||this}return g(t,e),t.prototype.getTabName=function(){return o.default.format(\"dxHtmlEditor-dialogImageSpecifyUrl\")},t}(w),S=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var n=t.prototype;return n.getTabName=function(){return o.default.format(\"dxHtmlEditor-dialogImageSelectFile\")},n.createStrategy=function(){return new T(this.module,this.config,this.onFileSelected)},n.isDisableButton=function(){return!this.strategy.isValid()},t}(w),k=function(){function e(e,t){this.module=e,this.config=t,this.editorInstance=e.editorInstance,this.quill=e.quill,this.selection=this.getQuillSelection()}var t=e.prototype;return t.getQuillSelection=function(){var e=this.quill.getSelection();return null!=e?e:{index:this.quill.getLength(),length:0}},t.pasteImage=function(){},t.isValid=function(){return!0},t.upload=function(){},e}(),D=function(e){function t(t,n,i){var o;return(o=e.call(this,t,n,i)||this).shouldKeepAspectRatio=!0,o}g(t,e);var n=t.prototype;return n.pasteImage=function(e,t){this.module.saveValueChangeEvent(t),A(this.quill,this.selection.index,e)},n.keepAspectRatio=function(e,t){var n=t.dependentEditor,i=t.e,o=parseInt(i.value),a=parseInt(i.previousValue),r=parseInt(n.option(\"value\"));e.component.updateData(e.dataField,o),this.shouldKeepAspectRatio&&r&&a&&!this.preventRecalculating&&(this.preventRecalculating=!0,n.option(\"value\",Math.round(o*r/parseInt(a)).toString())),this.preventRecalculating=!1},n.createKeepAspectRatioEditor=function(e,t,n){var i=this;return this.editorInstance._createComponent(e,h.default,(0,r.extend)(!0,t.editorOptions,{value:t.component.option(\"formData\")[t.dataField],onEnterKey:t.component.option(\"onEditorEnterKey\").bind(this.editorInstance._formDialog,t),onValueChanged:function(e){i.keepAspectRatio(t,{dependentEditor:i[n+\"Editor\"],e:e})}}))},n.upload=function(){return this.editorInstance._formDialog._form.validate().isValid},n.getItemsConfig=function(){var e=this;return[{dataField:\"src\",colSpan:11,label:{text:o.default.format(\"dxHtmlEditor-dialogImageUrlField\")},validationRules:[{type:\"required\"},{type:\"stringLength\",min:1}]},{dataField:\"width\",colSpan:6,label:{text:o.default.format(\"dxHtmlEditor-dialogImageWidthField\")},template:function(t){var n=(0,i.default)(\"<div>\").addClass(\"dx-fix-ratio-container\"),a=(0,i.default)(\"<div>\").appendTo(n);e.widthEditor=e.createKeepAspectRatioEditor(a,t,\"height\");var r=(0,i.default)(\"<div>\").appendTo(n);return e.editorInstance._createComponent(r,d.default,{items:[{icon:\"imgarlock\",value:\"keepRatio\"}],hint:o.default.format(\"dxHtmlEditor-dialogImageKeepAspectRatio\"),focusStateEnabled:!1,keyExpr:\"value\",stylingMode:\"outlined\",selectionMode:\"multiple\",selectedItemKeys:[\"keepRatio\"],onSelectionChanged:function(t){e.shouldKeepAspectRatio=!!t.component.option(\"selectedItems\").length}}),n}},{dataField:\"height\",colSpan:5,label:{text:o.default.format(\"dxHtmlEditor-dialogImageHeightField\")},template:function(t){var n=(0,i.default)(\"<div>\");return e.heightEditor=e.createKeepAspectRatioEditor(n,t,\"width\"),n}},{dataField:\"alt\",colSpan:11,label:{text:o.default.format(\"dxHtmlEditor-dialogImageAltField\")}}]},t}(k),I=function(e){function t(t,n,i,o){var a;return(a=e.call(this,t,n,o)||this).formData=i,a.modifyFormData(),a}g(t,e);var n=t.prototype;return n.modifyFormData=function(){this.quill.getFormat(this.selection.index-1,1).imageSrc&&0!==this.selection.index||(this.selection={index:this.selection.index+1,length:0},this.quill.setSelection(this.selection.index,this.selection.length,\"silent\"));var e,t,n=this.quill.getLeaf(this.selection.index)[0].domNode;n&&(this.formData.width=null!==(e=this.formData.width)&&void 0!==e?e:(0,s.getWidth)((0,i.default)(n)),this.formData.height=null!==(t=this.formData.height)&&void 0!==t?t:(0,s.getHeight)((0,i.default)(n)))},n.pasteImage=function(t,n){this.quill.deleteText(this.embedFormatIndex(),1,\"silent\"),this.selection.index-=1,e.prototype.pasteImage.call(this,t,n)},n.embedFormatIndex=function(){var e,t=null!==(e=this.selection)&&void 0!==e?e:this.quill.getSelection();return t?t.length?t.index:t.index-1:this.quill.getLength()},t}(D),T=function(e){function t(t,n,i){var o;return(o=e.call(this,t,n,i)||this).useBase64=!(0,u.isDefined)(o.config.fileUploadMode)||\"base64\"===o.config.fileUploadMode,o.isValidInternal=!1,o.onFileSelected=i,o.data=null,o}g(t,e);var n=t.prototype;return n.upload=function(){return this.useBase64?this.base64Upload(this.data):this.data.value.length&&this.data.component.upload(),!0},n.isValid=function(){return this.isValidInternal},n.onUploaded=function(e){P(this.config.uploadDirectory,e.file.name,this.quill,this.selection.index)},n.base64Upload=function(e){this.quill.getModule(\"uploader\").upload(this.selection,e.value,!0)},n.pasteImage=function(t,n){this.useBase64&&e.prototype.pasteImage.call(this,t,n)},n.isBase64Editable=function(){return\"both\"===this.config.fileUploadMode},n.validate=function(e){var t=e.component;this.isValidInternal=!t._files.some((function(e){return!e.isValid()})),0===t._files.length&&(this.isValidInternal=!1)},n.getFileUploaderOptions=function(){var e=this,t={uploadUrl:this.config.uploadUrl,onValueChanged:function(t){e.validate(t),e.data=t,e.onFileSelected()},onUploaded:function(t){return e.onUploaded(t)}};return(0,r.extend)({},O(),t,this.config.fileUploaderOptions)},n.getItemsConfig=function(){var e=this;return[{itemType:\"simple\",dataField:\"files\",colSpan:11,label:{visible:!1},template:function(){var t=(0,i.default)(\"<div>\");return e.module.editorInstance._createComponent(t,c.default,e.getFileUploaderOptions()),t}},{itemType:\"simple\",colSpan:11,label:{visible:!1},editorType:\"dxCheckBox\",editorOptions:{value:this.useBase64,visible:this.isBase64Editable(),text:o.default.format(\"dxHtmlEditor-dialogImageEncodeToBase64\"),onValueChanged:function(t){e.isBase64Editable()&&(e.useBase64=t.value)}}}]},t}(k);function E(e){return\"/\"!==e[e.length-1]?e+\"/\":e}function O(){return{value:[],name:\"dx-htmleditor-image\",accept:\"image/*\",uploadMode:\"useButtons\"}}function A(e,t,n){e.insertEmbed(t,\"extendedImage\",n,\"user\"),e.setSelection(t+1,0,\"user\")}function P(e,t,n,i){e&&A(n,i,{src:E(e)+t})}},28822:function(e,t,n){t.TABLE_OPERATIONS=void 0,t.getAutoSizedElements=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"horizontal\",n=[],i=\"horizontal\"===t,a=i?l(e):u(e);return a.each((function(e,t){var a=(0,o.default)(t);\"\"===a.get(0).style[i?\"width\":\"height\"]&&n.push(a)})),n},t.getColumnElements=l,t.getLineElements=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"horizontal\";return\"horizontal\"===n?u(e,t):l(e,t)},t.getRowElements=u,t.getTableFormats=function(e){var t=e.getModule(\"table\");return null!=t&&t.tableFormats?t.tableFormats():s},t.getTableOperationHandler=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];return function(){var n=e.getModule(\"table\");if(n)return e.focus(),n[t].apply(n,i)}},t.hasEmbedContent=function(e,t){return!!t&&e.quill.getText(t).length<t.length},t.setLineElementsFormat=function(e,t){var n=t.elements,i=t.property,o=t.value,s=e.quill.getModule(\"table\").tableBlots,l=\"cell\".concat((0,r.camelize)(i,!0));(0,a.each)(n,(function(t,n){var i,a=e.quill.scroll.find(n);if(!s.includes(a.statics.blotName)){var r=a.descendant((function(e){return s.includes(e.statics.blotName)}));a=r?r[0]:null}null===(i=a)||void 0===i||i.format(l,o+\"px\")}))},t.unfixTableWidth=function(e,t){var n=t.tableBlot,i=t.quill;(null!=n?n:i.scroll.find(e.get(0))).format(\"tableWidth\",\"initial\")};var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(95479),r=n(78008);var s=[\"table\",\"tableHeaderCell\"];function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.find(\"tr\").eq(t).find(\"th, td\")}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.find(\"th:nth-child(\".concat(1+t,\"), td:nth-child(\").concat(1+t,\")\"))}t.TABLE_OPERATIONS=[\"insertTable\",\"insertHeaderRow\",\"insertRowAbove\",\"insertRowBelow\",\"insertColumnLeft\",\"insertColumnRight\",\"deleteColumn\",\"deleteRow\",\"deleteTable\",\"cellProperties\",\"tableProperties\"]},68953:function(e,t,n){t.default=void 0;var i=n(35922),o=function(){function e(){this._storage={}}var t=e.prototype;return t.set=function(e,t){var n,i,o=e.editorKey,a=e.marker;null!==(i=(n=this._storage)[o])&&void 0!==i||(n[o]={}),this._storage[o][a]=t},t.get=function(e){var t,n,o=e.editorKey,a=e.marker;return!(0,i.isDefined)(o)?null===(t=Object.values(this._storage).at(-1))||void 0===t?void 0:t[a]:null===(n=this._storage[o])||void 0===n?void 0:n[a]},t.delete=function(e){var t=e.editorKey,n=e.marker;this._storage[t]&&(delete this._storage[t][n],(0,i.isEmptyObject)(this._storage[t])&&delete this._storage[t])},e}();t.default=o,e.exports=t.default,e.exports.default=t.default},92077:function(e,t,n){t.ICON_MAP=void 0,t.applyFormat=S,t.getDefaultClickHandler=P,t.getFormatHandlers=function(e){return{clear:function(t){var n,i=t.event,o=e.quill.getSelection();o&&(e.saveValueChangeEvent(i),e.quill.removeFormat(o),null===(n=A(e))||void 0===n||n.updateFormatWidgets())},link:D(e),image:I(e,e.editorInstance.option(\"imageUpload\")),color:E(e,\"color\"),background:E(e,\"background\"),orderedList:O(e,\"list\",\"ordered\"),bulletList:O(e,\"list\",\"bullet\"),alignLeft:O(e,\"align\",\"left\"),alignCenter:O(e,\"align\",\"center\"),alignRight:O(e,\"align\",\"right\"),alignJustify:O(e,\"align\",\"justify\"),codeBlock:P(e,\"code-block\"),undo:function(t){var n=t.event;e.saveValueChangeEvent(n),e.quill.history.undo()},redo:function(t){var n=t.event;e.saveValueChangeEvent(n),e.quill.history.redo()},increaseIndent:function(t){var n=t.event;S(e,[\"indent\",\"+1\",\"user\"],n)},decreaseIndent:function(t){var n=t.event;S(e,[\"indent\",\"-1\",\"user\"],n)},superscript:O(e,\"script\",\"super\"),subscript:O(e,\"script\",\"sub\"),insertTable:M(e),insertHeaderRow:(0,a.getTableOperationHandler)(e.quill,\"insertHeaderRow\"),insertRowAbove:(0,a.getTableOperationHandler)(e.quill,\"insertRowAbove\"),insertRowBelow:(0,a.getTableOperationHandler)(e.quill,\"insertRowBelow\"),insertColumnLeft:(0,a.getTableOperationHandler)(e.quill,\"insertColumnLeft\"),insertColumnRight:(0,a.getTableOperationHandler)(e.quill,\"insertColumnRight\"),deleteColumn:(0,a.getTableOperationHandler)(e.quill,\"deleteColumn\"),deleteRow:(0,a.getTableOperationHandler)(e.quill,\"deleteRow\"),deleteTable:(0,a.getTableOperationHandler)(e.quill,\"deleteTable\"),cellProperties:C(e,\"cell\"),tableProperties:C(e,\"table\")}};var i=m(n(68374)),o=m(n(28109)),a=n(28822),r=n(35922),s=n(95479),l=m(n(17737)),u=m(n(28236)),d=m(n(4278)),c=m(n(4741)),h=n(58664),f=n(10046),p=n(58201),g=n(60148);function m(e){return e&&e.__esModule?e:{default:e}}function _(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||y(e)||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 v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||y(e,t)||function(){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 y(e,t){if(e){if(\"string\"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var x=[\"none\",\"hidden\",\"dotted\",\"dashed\",\"solid\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"];function w(e,t){var n=t.contentTemplate,i=t.title,o=t.minHeight,a=t.minWidth,r=t.maxWidth;e.formDialogOption({contentTemplate:n,title:i,minHeight:null!=o?o:0,minWidth:null!=a?a:0,maxWidth:null!=r?r:\"none\"})}function C(e,t){return function(n){var a,r;null!==(a=n)&&void 0!==a&&a.length||(n=(0,i.default)(function(e,t){var n=e.quill.getModule(\"table\").getTable();return\"table\"===t?n[0].domNode:n[2].domNode}(e,t)));var s,u=v(null!==(r=e.quill.getModule(\"table\").getTable())&&void 0!==r?r:[],2),d=u[0],f=u[1],g=e.quill.getFormat(e.editorInstance.getSelection(!0)),m=function(e){return\"cell\"===e?B:R}(t)(e,{$element:n,formats:g,tableBlot:d,rowBlot:f}),_=e.editorInstance._formDialog._popup.option(),y={contentTemplate:_.contentTemplate,title:_.title,minHeight:_.minHeight,minWidth:_.minWidth,maxWidth:_.maxWidth};e.editorInstance.formDialogOption({contentTemplate:function(t){var n=(0,i.default)(\"<div>\").appendTo(t),o=(0,i.default)(\"<div>\").appendTo(n);return e.editorInstance._createComponent(o,l.default,m.formOptions),e.editorInstance._createComponent(n,c.default,{}),s=o.dxForm(\"instance\"),n},title:o.default.format(\"dxHtmlEditor-\".concat(t,\"Properties\")),minHeight:400,minWidth:Math.min(800,.9*(0,h.getWidth)((0,p.getWindow)())-1),maxWidth:.9*(0,h.getWidth)((0,p.getWindow)())});var b=e.editorInstance.showFormDialog();b.done((function(t,n){e.saveValueChangeEvent(n),m.applyHandler(s),w(e.editorInstance,y)})),b.fail((function(){e.quill.focus(),w(e.editorInstance,y)}))}}function S(e,t,n){var i;e.saveValueChangeEvent(n),(i=e.quill).format.apply(i,_(t))}function k(e){return Array.isArray(e)?e[0]:e}function D(e){return function(){var t;e.quill.focus();var n=e.quill.getSelection(),i=n?e.quill.getFormat():{},r=void 0!==i.link&&0===(null===(t=n)||void 0===t?void 0:t.length),s=i.link||\"\";if(r){var l=function(e,t){var n,i,o=(0,g.getQuill)().import(\"formats/link\"),a=v(e.quill.scroll.descendant(o,t.index),2);if(n=a[0],i=a[1],!n&&0===t.length){var r=v(e.quill.scroll.descendant(o,t.index-1),2);n=r[0],i=r[1],n&&(i+=1)}return n?{index:t.index-i,length:n.length()}:null}(e,n);l?n=l:s=\"\"}var u=(0,a.hasEmbedContent)(e,n),d={href:s,text:n&&!u?e.quill.getText(n):\"\",target:!Object.prototype.hasOwnProperty.call(i,\"target\")||!!i.target};e.editorInstance.formDialogOption(\"title\",o.default.format(\"dxHtmlEditor-dialogLinkCaption\"));var c=e.editorInstance.showFormDialog({formData:d,items:T(u)});c.done((function(t,i){if(n&&!u){var o=t.text||t.href,a=n,r=a.index,s=a.length;t.text=void 0,e.saveValueChangeEvent(i),s&&e.quill.deleteText(r,s,\"silent\"),e.quill.insertText(r,o,\"link\",t,\"user\"),e.quill.setSelection(r+o.length,0,\"user\")}else t.text=n||t.text?t.text:t.href,S(e,[\"link\",t,\"user\"],i)})),c.fail((function(){e.quill.focus()}))}}function I(e,t){var n=new f.ImageUploader(e,t);return function(){n.render()}}function T(e){return[{dataField:\"href\",label:{text:o.default.format(\"dxHtmlEditor-dialogLinkUrlField\")}},{dataField:\"text\",label:{text:o.default.format(\"dxHtmlEditor-dialogLinkTextField\")},visible:!e},{dataField:\"target\",editorType:\"dxCheckBox\",editorOptions:{text:o.default.format(\"dxHtmlEditor-dialogLinkTargetField\")},cssClass:\"dx-formdialog-field-target\",label:{visible:!1}}]}function E(e,t){return function(){var n=e.quill.getFormat(),i=\"color\"===t?\"dxHtmlEditor-dialogColorCaption\":\"dxHtmlEditor-dialogBackgroundCaption\";e.editorInstance.formDialogOption(\"title\",o.default.format(i));var a=e.editorInstance.showFormDialog({formData:n,items:[{dataField:t,editorType:\"dxColorView\",editorOptions:{focusStateEnabled:!1},label:{visible:!1}}]});a.done((function(n,i){S(e,[t,n[t],\"user\"],i)})),a.fail((function(){e.quill.focus()}))}}function O(e,t,n){return function(i){var o,a=i.event,r=e.quill.getFormat()[t]!==n&&n;S(e,[t,r,\"user\"],a),null===(o=A(e))||void 0===o||o.updateFormatWidgets(!0)}}function A(e){return e._updateFormatWidget?e:e.quill.getModule(\"toolbar\")}function P(e,t){return function(n){var i,o=n.event,a=e.quill.getFormat(),s=a[t],l=!((0,r.isBoolean)(s)?s:(0,r.isDefined)(s));S(e,[t,l,\"user\"],o),null===(i=A(e))||void 0===i||i._updateFormatWidget(t,l,a)}}function M(e){return function(){var t=e.quill.getFormat();e._tableFormats.some((function(e){return Object.prototype.hasOwnProperty.call(t,e)}))?e.quill.focus():(e.editorInstance.formDialogOption(\"title\",o.default.format(\"dxHtmlEditor-dialogInsertTableCaption\")),e.editorInstance.showFormDialog({formData:{rows:1,columns:1},items:[{dataField:\"columns\",editorType:\"dxNumberBox\",editorOptions:{min:1},label:{text:o.default.format(\"dxHtmlEditor-dialogInsertTableRowsField\")}},{dataField:\"rows\",editorType:\"dxNumberBox\",editorOptions:{min:1},label:{text:o.default.format(\"dxHtmlEditor-dialogInsertTableColumnsField\")}}]}).done((function(t,n){e.quill.focus();var i=e.quill.getModule(\"table\");if(i){e.saveValueChangeEvent(n);var o=t.columns,a=t.rows;i.insertTable(o,a)}})).always((function(){e.quill.focus()})))}}function R(e,t){var n,l,c,f=t.$element,g=t.formats,m=t.tableBlot,_=(0,p.getWindow)(),v=f,y=e.editorInstance,b=parseInt(g.tableWidth)||(0,h.getOuterWidth)(v),w=_.getComputedStyle(v.get(0)),C=\"start\"===w.textAlign?\"left\":w.textAlign;return{formOptions:{colCount:2,formData:{width:b,height:(0,r.isDefined)(g.tableHeight)?parseInt(g.tableHeight):(0,h.getOuterHeight)(v),backgroundColor:g.tableBackgroundColor||w.backgroundColor,borderStyle:g.tableBorderStyle||w.borderTopStyle,borderColor:g.tableBorderColor||w.borderTopColor,borderWidth:parseInt((0,r.isDefined)(g.tableBorderWidth)?g.tableBorderWidth:w.borderTopWidth),alignment:g.tableAlign||C},items:[{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-border\"),colCountByScreen:{xs:2},colCount:2,items:[{dataField:\"borderStyle\",label:{text:o.default.format(\"dxHtmlEditor-style\")},editorType:\"dxSelectBox\",editorOptions:{items:x,placeholder:\"Select style\"}},{dataField:\"borderWidth\",label:{text:o.default.format(\"dxHtmlEditor-borderWidth\")},editorOptions:{placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{itemType:\"simple\",dataField:\"borderColor\",label:{text:o.default.format(\"dxHtmlEditor-borderColor\")},colSpan:2,template:function(e){var t=(0,i.default)(\"<div>\");return y._createComponent(t,d.default,{editAlphaChannel:!0,value:e.component.option(\"formData\").borderColor,onInitialized:function(e){l=e.component}}),t}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-dimensions\"),colCountByScreen:{xs:2},colCount:2,items:[{dataField:\"width\",label:{text:o.default.format(\"dxHtmlEditor-width\")},editorOptions:{min:0,placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{dataField:\"height\",label:{text:o.default.format(\"dxHtmlEditor-height\")},editorOptions:{min:0,placeholder:o.default.format(\"dxHtmlEditor-pixels\")}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-tableBackground\"),items:[{itemType:\"simple\",dataField:\"backgroundColor\",label:{text:o.default.format(\"dxHtmlEditor-borderColor\")},template:function(e){var t=(0,i.default)(\"<div>\");return y._createComponent(t,d.default,{editAlphaChannel:!0,value:e.component.option(\"formData\").backgroundColor,onInitialized:function(e){c=e.component}}),t}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-alignment\"),items:[{itemType:\"simple\",label:{text:o.default.format(\"dxHtmlEditor-horizontal\")},template:function(){var e=(0,i.default)(\"<div>\");return y._createComponent(e,u.default,{items:[{value:\"left\",icon:\"alignleft\"},{value:\"center\",icon:\"aligncenter\"},{value:\"right\",icon:\"alignright\"},{value:\"justify\",icon:\"alignjustify\"}],keyExpr:\"value\",selectedItemKeys:[C],onInitialized:function(e){n=e.component}}),e}}]}],showColonAfterLabel:!0,labelLocation:\"top\",minColWidth:400},applyHandler:function(t){var o=t.option(\"formData\"),u=o.width===b?void 0:o.width,d=o.height;!function(e,t){var n=t.$table,o=t.newHeight,l=t.newWidth,u=t.tableBlot;if((0,r.isDefined)(l)){if((0,a.getAutoSizedElements)(n).length>0)e.editorInstance.format(\"tableWidth\",l+\"px\");else{var d=(0,a.getColumnElements)(n),c=(0,h.getOuterWidth)(n);(0,a.unfixTableWidth)(n,{tableBlot:u}),(0,s.each)(d,(function(t,o){var r=(0,i.default)(o),s=l/c*(0,h.getOuterWidth)(r),u=(0,a.getLineElements)(n,r.index(),\"horizontal\");(0,a.setLineElementsFormat)(e,{elements:u,property:\"width\",value:s})}))}}var f=(0,a.getAutoSizedElements)(n,\"vertical\");if((null==f?void 0:f.length)>0)u.format(\"tableHeight\",o+\"px\");else{var p=(0,a.getRowElements)(n),g=(0,h.getOuterHeight)(n);(0,s.each)(p,(function(t,r){var s=(0,i.default)(r),l=o/g*(0,h.getOuterHeight)(s),u=(0,a.getLineElements)(n,t,\"vertical\");(0,a.setLineElementsFormat)(e,{elements:u,property:\"height\",value:l})}))}}(e,{$table:v,newHeight:d,newWidth:u,tableBlot:m}),e.editorInstance.format(\"tableBorderStyle\",o.borderStyle),e.editorInstance.format(\"tableBorderWidth\",o.borderWidth+\"px\"),e.editorInstance.format(\"tableBorderColor\",l.option(\"value\")),e.editorInstance.format(\"tableBackgroundColor\",c.option(\"value\")),e.editorInstance.format(\"tableTextAlign\",n.option(\"selectedItemKeys\")[0])}}}function B(e,t){var n,s,l,c,f=t.$element,g=t.formats,m=t.tableBlot,_=t.rowBlot,v=(0,p.getWindow)(),y=f,b=(0,r.isDefined)(g.cellWidth)?parseInt(g.cellWidth):(0,h.getOuterWidth)(y),w=e.editorInstance,C=v.getComputedStyle(y.get(0)),S=\"start\"===C.textAlign?\"left\":C.textAlign;return{formOptions:{colCount:2,formData:{width:b,height:(0,r.isDefined)(g.cellHeight)?parseInt(g.cellHeight):(0,h.getOuterHeight)(y),backgroundColor:k(g.cellBackgroundColor)||C.backgroundColor,borderStyle:g.cellBorderStyle||C.borderTopStyle,borderColor:k(g.cellBorderColor)||C.borderTopColor,borderWidth:parseInt((0,r.isDefined)(g.cellBorderWidth)?g.cellBorderWidth:C.borderTopWidth),alignment:g.cellTextAlign||S,verticalAlignment:g.cellVerticalAlign||C.verticalAlign,verticalPadding:parseInt((0,r.isDefined)(g.cellPaddingTop)?g.cellPaddingTop:C.paddingTop),horizontalPadding:parseInt((0,r.isDefined)(g.cellPaddingLeft)?g.cellPaddingLeft:C.paddingLeft)},items:[{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-border\"),colCountByScreen:{xs:2},colCount:2,items:[{dataField:\"borderStyle\",label:{text:o.default.format(\"dxHtmlEditor-style\")},editorType:\"dxSelectBox\",editorOptions:{items:x}},{dataField:\"borderWidth\",label:{text:o.default.format(\"dxHtmlEditor-borderWidth\")},editorOptions:{placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{itemType:\"simple\",dataField:\"borderColor\",colSpan:2,label:{text:o.default.format(\"dxHtmlEditor-borderColor\")},template:function(e){var t=(0,i.default)(\"<div>\");return w._createComponent(t,d.default,{editAlphaChannel:!0,value:e.component.option(\"formData\").borderColor,onInitialized:function(e){l=e.component}}),t}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-dimensions\"),colCount:2,colCountByScreen:{xs:2},items:[{dataField:\"width\",label:{text:o.default.format(\"dxHtmlEditor-width\")},editorOptions:{min:0,placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{dataField:\"height\",label:{text:o.default.format(\"dxHtmlEditor-height\")},editorOptions:{min:0,placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{dataField:\"verticalPadding\",label:{text:o.default.format(\"dxHtmlEditor-paddingVertical\")},editorOptions:{placeholder:o.default.format(\"dxHtmlEditor-pixels\")}},{label:{text:o.default.format(\"dxHtmlEditor-paddingHorizontal\")},dataField:\"horizontalPadding\",editorOptions:{placeholder:o.default.format(\"dxHtmlEditor-pixels\")}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-tableBackground\"),items:[{itemType:\"simple\",dataField:\"backgroundColor\",label:{text:o.default.format(\"dxHtmlEditor-borderColor\")},template:function(e){var t=(0,i.default)(\"<div>\");return w._createComponent(t,d.default,{editAlphaChannel:!0,value:e.component.option(\"formData\").backgroundColor,onInitialized:function(e){c=e.component}}),t}}]},{itemType:\"group\",caption:o.default.format(\"dxHtmlEditor-alignment\"),colCount:2,items:[{itemType:\"simple\",label:{text:o.default.format(\"dxHtmlEditor-horizontal\")},template:function(){var e=(0,i.default)(\"<div>\");return w._createComponent(e,u.default,{items:[{value:\"left\",icon:\"alignleft\"},{value:\"center\",icon:\"aligncenter\"},{value:\"right\",icon:\"alignright\"},{value:\"justify\",icon:\"alignjustify\"}],keyExpr:\"value\",selectedItemKeys:[S],onInitialized:function(e){n=e.component}}),e}},{itemType:\"simple\",label:{text:o.default.format(\"dxHtmlEditor-vertical\")},template:function(){var e=(0,i.default)(\"<div>\");return w._createComponent(e,u.default,{items:[{value:\"top\",icon:\"verticalaligntop\"},{value:\"middle\",icon:\"verticalaligncenter\"},{value:\"bottom\",icon:\"verticalalignbottom\"}],keyExpr:\"value\",selectedItemKeys:[C.verticalAlign],onInitialized:function(e){s=e.component}}),e}}]}],showColonAfterLabel:!0,labelLocation:\"top\",minColWidth:400},applyHandler:function(t){var o=t.option(\"formData\"),u=o.width===parseInt(b)?void 0:o.width,d=o.height;!function(e,t){var n=t.$cell,o=t.newHeight,s=t.newWidth,l=t.tableBlot,u=t.rowBlot,d=(0,i.default)(n.closest(\"table\"));if((0,r.isDefined)(s)){var c=(0,i.default)(n).index(),f=(0,a.getLineElements)(d,c),p=s-(0,h.getOuterWidth)(n),g=(0,h.getOuterWidth)(d);s>g&&(0,a.unfixTableWidth)(d,{tableBlot:l}),(0,a.setLineElementsFormat)(e,{elements:f,property:\"width\",value:s});var m=n.next();if(0===(0,a.getAutoSizedElements)(d).length)if((0,a.unfixTableWidth)(d,{tableBlot:l}),1===m.length){f=(0,a.getLineElements)(d,c+1);var _=(0,h.getOuterWidth)(f.eq(0))-p;(0,a.setLineElementsFormat)(e,{elements:f,property:\"width\",value:Math.max(_,0)})}else{if(1===n.prev().length){f=(0,a.getLineElements)(d,c-1);var v=(0,h.getOuterWidth)(f.eq(0))-p;(0,a.setLineElementsFormat)(e,{elements:f,property:\"width\",value:Math.max(v,0)})}}}u.children.forEach((function(e){e.format(\"cellHeight\",o+\"px\")})),0===(0,a.getAutoSizedElements)(d,\"vertical\").length&&d.css(\"height\",\"auto\")}(e,{$cell:y,newHeight:d,newWidth:u,tableBlot:m,rowBlot:_}),e.editorInstance.format(\"cellBorderWidth\",o.borderWidth+\"px\"),e.editorInstance.format(\"cellBorderColor\",l.option(\"value\")),e.editorInstance.format(\"cellBorderStyle\",o.borderStyle),e.editorInstance.format(\"cellBackgroundColor\",c.option(\"value\")),e.editorInstance.format(\"cellTextAlign\",n.option(\"selectedItemKeys\")[0]),e.editorInstance.format(\"cellVerticalAlign\",s.option(\"selectedItemKeys\")[0]),e.editorInstance.format(\"cellPaddingLeft\",o.horizontalPadding+\"px\"),e.editorInstance.format(\"cellPaddingRight\",o.horizontalPadding+\"px\"),e.editorInstance.format(\"cellPaddingTop\",o.verticalPadding+\"px\"),e.editorInstance.format(\"cellPaddingBottom\",o.verticalPadding+\"px\")}}}t.ICON_MAP={insertHeaderRow:\"header\",clear:\"clearformat\"}},86e3:function(e,t,n){t.default=void 0;var i,o=(i=n(56757))&&i.__esModule?i:{default:i};n(20551),n(15728),n(82778),n(29184),n(68724);var a=o.default;t.default=a,e.exports=t.default,e.exports.default=t.default},37945:function(e,t,n){t.default=void 0;var i=a(n(68374)),o=a(n(54778));function a(e){return e&&e.__esModule?e:{default:e}}var r=o.default.inherit({_renderWatchers:function(){this.callBase(),this._startWatcher(\"badge\",this._renderBadge.bind(this)),this._startWatcher(\"showChevron\",this._renderShowChevron.bind(this))},_renderBadge:function(e){if(this._$element.children(\".dx-list-item-badge-container\").remove(),e){var t=(0,i.default)(\"<div>\").addClass(\"dx-list-item-badge-container\").append((0,i.default)(\"<div>\").addClass(\"dx-list-item-badge\").addClass(\"dx-badge\").text(e)),n=this._$element.children(\".dx-list-item-chevron-container\").first();n.length>0?t.insertBefore(n):t.appendTo(this._$element)}},_renderShowChevron:function(e){if(this._$element.children(\".dx-list-item-chevron-container\").remove(),e){var t=(0,i.default)(\"<div>\").addClass(\"dx-list-item-chevron-container\"),n=(0,i.default)(\"<div>\").addClass(\"dx-list-item-chevron\");t.append(n).appendTo(this._$element)}}});t.default=r,e.exports=t.default,e.exports.default=t.default},29184:function(e,t,n){n(27445)},52654:function(e,t,n){n(29184)},15728:function(e,t,n){n(52654),n(51257),n(22116),n(3589),n(3181),n(78290)},51257:function(e,t,n){n(96782)},22116:function(e,t,n){n(36279)},3589:function(e,t,n){n(47970)},3181:function(e,t,n){n(33329)},78290:function(e,t,n){n(96782)},82778:function(e,t,n){n(65436)},68724:function(e,t,n){var i=a(n(2630)),o=a(n(29837));function a(e){return e&&e.__esModule?e:{default:e}}i.default.setEditorClass(o.default)},20551:function(e,t,n){n(81362)},31583:function(e,t,n){t.ListBase=void 0,t.setScrollView=function(e){R=e};var i=n(58664),o=M(n(68374)),a=M(n(55994)),r=n(20576),s=n(35922),l=n(44899),u=n(6415),d=n(95479),c=n(47617),h=n(13306),f=M(n(87209)),p=n(95429),g=n(34309),m=n(60137),_=M(n(28109)),v=n(72672),y=M(n(20530)),b=M(n(37945)),x=M(n(63008)),w=n(39611),C=n(75811),S=n(58201),k=M(n(4741)),D=n(82205),I=M(n(69010)),T=n(93280),E=n(62754),O=M(n(37178)),A=n(42136),P=M(n(73176));function M(e){return e&&e.__esModule?e:{default:e}}var R,B=\".dx-list-item\",L=(0,c.compileGetter)(\"items\"),V=I.default.inherit({_activeStateUnit:[B,\".dx-list-select-all\"].join(\",\"),_supportedKeys:function(){var e=this,t=function(t){var o=n(t);o.is(e.option(\"focusedElement\"))&&(!function(t,n){var o=t.position().top;\"prev\"===n&&(o=t.position().top-(0,i.getHeight)(e.$element())+(0,i.getOuterHeight)(t));e.scrollTo(o)}(o,t),o=n(t)),e.option(\"focusedElement\",(0,u.getPublicElement)(o)),e.scrollToItem(o)};function n(t){var n=e.scrollTop(),a=(0,i.getHeight)(e.$element()),r=(0,o.default)(e.option(\"focusedElement\")),s=!0;if(!r.length)return(0,o.default)();for(;s;){var l=r[t]();if(!l.length)break;var u=l.position().top+(0,i.getOuterHeight)(l)/2;(s=u<a+n&&u>n)&&(r=l)}return r}return(0,h.extend)(this.callBase(),{leftArrow:r.noop,rightArrow:r.noop,pageUp:function(){return t(\"prev\"),!1},pageDown:function(){return t(\"next\"),!1}})},_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{hoverStateEnabled:!0,pullRefreshEnabled:!1,scrollingEnabled:!0,selectByClick:!0,showScrollbar:\"onScroll\",useNativeScrolling:!0,bounceEnabled:!0,scrollByContent:!0,scrollByThumb:!1,pullingDownText:_.default.format(\"dxList-pullingDownText\"),pulledDownText:_.default.format(\"dxList-pulledDownText\"),refreshingText:_.default.format(\"dxList-refreshingText\"),pageLoadingText:_.default.format(\"dxList-pageLoadingText\"),onScroll:null,onPullRefresh:null,onPageLoading:null,pageLoadMode:\"scrollBottom\",nextButtonText:_.default.format(\"dxList-nextButtonText\"),onItemSwipe:null,grouped:!1,onGroupRendered:null,collapsibleGroups:!1,groupTemplate:\"group\",indicateLoading:!0,activeStateEnabled:!0,_itemAttributes:{role:\"option\"},useInkRipple:!1,wrapItemText:!1,_swipeEnabled:!0,showChevronExpr:function(e){return e?e.showChevron:void 0},badgeExpr:function(e){return e?e.badge:void 0}})},_defaultOptionsRules:function(){var e=(0,C.current)();return this.callBase().concat((0,D.deviceDependentOptions)(),[{device:function(){return!m.nativeScrolling},options:{useNativeScrolling:!1}},{device:function(e){return!m.nativeScrolling&&!y.default.isSimulator()&&\"desktop\"===y.default.real().deviceType&&\"generic\"===e.platform},options:{showScrollbar:\"onHover\",pageLoadMode:\"nextButton\"}},{device:function(){return\"desktop\"===y.default.real().deviceType&&!y.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,C.isMaterial)(e)},options:{pullingDownText:\"\",pulledDownText:\"\",refreshingText:\"\",pageLoadingText:\"\",useInkRipple:!0}}])},_visibilityChanged:function(e){e&&this._updateLoadingState(!0)},_itemClass:function(){return\"dx-list-item\"},_itemDataKey:function(){return\"dxListItemData\"},_itemContainer:function(){return this._$container},_saveSelectionChangeEvent:function(e){this._selectionChangeEventInstance=e},_getSelectionChangeEvent:function(){return this._selectionChangeEventInstance},_refreshItemElements:function(){this.option(\"grouped\")?this._itemElementsCache=this._itemContainer().children(\".dx-list-group\").children(\".dx-list-group-body\").children(this._itemSelector()):this._itemElementsCache=this._itemContainer().children(this._itemSelector())},_modifyByChanges:function(){this.callBase.apply(this,arguments),this._refreshItemElements(),this._updateLoadingState(!0)},reorderItem:function(e,t){return this.callBase(e,t).done((function(){this._refreshItemElements()}))},deleteItem:function(e){return this.callBase(e).done((function(){this._refreshItemElements()}))},_itemElements:function(){return this._itemElementsCache},_itemSelectHandler:function(e){if(\"single\"!==this.option(\"selectionMode\")||!this.isItemSelected(e.currentTarget))return this.callBase(e)},_allowDynamicItemsAppend:function(){return!0},_init:function(){this.callBase(),this._dataController.resetDataSourcePageIndex(),this._$container=this.$element(),this._initScrollView(),this._feedbackShowTimeout=70,this._createGroupRenderAction()},_scrollBottomMode:function(){return\"scrollBottom\"===this.option(\"pageLoadMode\")},_nextButtonMode:function(){return\"nextButton\"===this.option(\"pageLoadMode\")},_dataSourceOptions:function(){var e=this._scrollBottomMode(),t=this._nextButtonMode();return(0,h.extend)(this.callBase(),{paginate:(0,r.ensureDefined)(e||t,!0)})},_getGroupedOption:function(){return this.option(\"grouped\")},_getGroupContainerByIndex:function(e){return this._itemContainer().find(\".\".concat(\"dx-list-group\")).eq(e).find(\".\".concat(\"dx-list-group-body\"))},_dataSourceFromUrlLoadMode:function(){return\"raw\"},_initScrollView:function(){var e=this.option(\"scrollingEnabled\"),t=e&&this.option(\"pullRefreshEnabled\"),n=e&&this._scrollBottomMode()&&!!this._dataController.getDataSource();this._scrollView=this._createComponent(this.$element(),R||k.default,{height:this.option(\"height\"),width:this.option(\"width\"),disabled:this.option(\"disabled\")||!e,onScroll:this._scrollHandler.bind(this),onPullDown:t?this._pullDownHandler.bind(this):null,onReachBottom:n?this._scrollBottomHandler.bind(this):null,showScrollbar:this.option(\"showScrollbar\"),useNative:this.option(\"useNativeScrolling\"),bounceEnabled:this.option(\"bounceEnabled\"),scrollByContent:this.option(\"scrollByContent\"),scrollByThumb:this.option(\"scrollByThumb\"),pullingDownText:this.option(\"pullingDownText\"),pulledDownText:this.option(\"pulledDownText\"),refreshingText:this.option(\"refreshingText\"),reachBottomText:this.option(\"pageLoadingText\"),useKeyboard:!1}),this._$container=(0,o.default)(this._scrollView.content()),this.option(\"wrapItemText\")&&this._$container.addClass(\"dx-wrap-item-text\"),this._createScrollViewActions()},_createScrollViewActions:function(){this._scrollAction=this._createActionByOption(\"onScroll\"),this._pullRefreshAction=this._createActionByOption(\"onPullRefresh\"),this._pageLoadingAction=this._createActionByOption(\"onPageLoading\")},_scrollHandler:function(e){this._scrollAction&&this._scrollAction(e)},_initTemplates:function(){this._templateManager.addDefaultTemplates({group:new T.BindableTemplate((function(e,t){(0,s.isPlainObject)(t)?t.key&&e.text(t.key):e.text(String(t))}),[\"key\"],this.option(\"integrationOptions.watchMethod\"))}),this.callBase()},_prepareDefaultItemTemplate:function(e,t){if(this.callBase(e,t),e.icon){var n=(0,l.getImageContainer)(e.icon).addClass(\"dx-list-item-icon\"),i=(0,o.default)(\"<div>\").addClass(\"dx-list-item-icon-container\");i.append(n),t.prepend(i)}},_getBindableFields:function(){return[\"text\",\"html\",\"icon\"]},_updateLoadingState:function(e){var t=this._dataController,n=this._scrollBottomMode()&&e&&!t.isLoading()&&!this._isLastPage();this._shouldContinueLoading(n)?this._infiniteDataLoading():(this._scrollView.release(!n&&!t.isLoading()),this._toggleNextButton(this._shouldRenderNextButton()&&!this._isLastPage()),this._loadIndicationSuppressed(!1))},_shouldRenderNextButton:function(){return this._nextButtonMode()&&this._dataController.isLoaded()},_isDataSourceFirstLoadCompleted:function(e){return(0,s.isDefined)(e)&&(this._isFirstLoadCompleted=e),this._isFirstLoadCompleted},_dataSourceLoadingChangedHandler:function(e){this._loadIndicationSuppressed()||(e&&this.option(\"indicateLoading\")?this._showLoadingIndicatorTimer=setTimeout(function(){var e;!this._itemElements().length&&!this._isDataSourceFirstLoadCompleted()||(null===(e=this._scrollView)||void 0===e||e.startLoading())}.bind(this)):(clearTimeout(this._showLoadingIndicatorTimer),this._scrollView&&this._scrollView.finishLoading()),e||this._isDataSourceFirstLoadCompleted(!1))},_dataSourceChangedHandler:function(){!this._shouldAppendItems()&&(0,S.hasWindow)()&&this._scrollView&&this._scrollView.scrollTo(0),this.callBase.apply(this,arguments),this._isDataSourceFirstLoadCompleted(!0)},_refreshContent:function(){this._prepareContent(),this._fireContentReadyAction()},_hideLoadingIfLoadIndicationOff:function(){this.option(\"indicateLoading\")||this._dataSourceLoadingChangedHandler(!1)},_loadIndicationSuppressed:function(e){if(!arguments.length)return this._isLoadIndicationSuppressed;this._isLoadIndicationSuppressed=e},_scrollViewIsFull:function(){var e=this._scrollView;return!e||(0,i.getHeight)(e.content())>(0,i.getHeight)(e.container())},_pullDownHandler:function(e){this._pullRefreshAction(e);var t=this._dataController;t.getDataSource()&&!t.isLoading()?(this._clearSelectedItems(),t.pageIndex(0),t.reload()):this._updateLoadingState()},_shouldContinueLoading:function(e){var t,n,o=(0,i.getHeight)(this._scrollView.content())-(0,i.getHeight)(this._scrollView.container())<(null!==(t=null===(n=this._scrollView.scrollOffset())||void 0===n?void 0:n.top)&&void 0!==t?t:0);return e&&(!this._scrollViewIsFull()||o)},_infiniteDataLoading:function(){var e=this;this.$element().is(\":visible\")&&(clearTimeout(this._loadNextPageTimer),this._loadNextPageTimer=setTimeout((function(){e._loadNextPage()})))},_scrollBottomHandler:function(e){this._pageLoadingAction(e),this._dataController.isLoading()||this._isLastPage()?this._updateLoadingState():this._loadNextPage()},_renderItems:function(e){this.option(\"grouped\")?((0,d.each)(e,this._renderGroup.bind(this)),this._attachGroupCollapseEvent(),this._renderEmptyMessage(),(0,C.isMaterial)()&&this.attachGroupHeaderInkRippleEvents()):this.callBase.apply(this,arguments),this._refreshItemElements(),this._updateLoadingState(!0)},_attachGroupCollapseEvent:function(){var e=(0,w.addNamespace)(p.name,this.NAME),t=this.$element(),n=this.option(\"collapsibleGroups\");t.toggleClass(\"dx-list-collapsible-groups\",n),a.default.off(t,e,\".dx-list-group-header\"),n&&a.default.on(t,e,\".dx-list-group-header\",function(e){this._createAction(function(e){var t=(0,o.default)(e.event.currentTarget).parent();this._collapseGroupHandler(t),this.option(\"focusStateEnabled\")&&this.option(\"focusedElement\",(0,u.getPublicElement)(t.find(\".dx-list-item\").eq(0)))}.bind(this),{validatingTargetName:\"element\"})({event:e})}.bind(this))},_collapseGroupHandler:function(e,t){var n=new E.Deferred;if(e.hasClass(\"dx-list-group-collapsed\")===t)return n.resolve();var o=e.children(\".dx-list-group-body\"),a=(0,i.getOuterHeight)(o),r=0;return 0===a&&((0,i.setHeight)(o,\"auto\"),r=(0,i.getOuterHeight)(o)),e.toggleClass(\"dx-list-group-collapsed\",t),f.default.animate(o,{type:\"custom\",from:{height:a},to:{height:r},duration:200,complete:function(){this.updateDimensions(),this._updateLoadingState(!0),n.resolve()}.bind(this)}),n.promise()},_dataSourceLoadErrorHandler:function(){this._forgetNextPageLoading(),this._initialized&&(this._renderEmptyMessage(),this._updateLoadingState())},_initMarkup:function(){this._itemElementsCache=(0,o.default)(),this.$element().addClass(\"dx-list\"),this.callBase(),this.option(\"useInkRipple\")&&this._renderInkRipple();this.setAria({role:\"group\",roledescription:\"list\"},this.$element()),this._setListAria()},_setListAria:function(){var e=this.option().items,t=null!=e&&e.length?{role:\"listbox\",label:\"Items\"}:{role:void 0,label:void 0};this.setAria(t)},_focusTarget:function(){return this._itemContainer()},_renderInkRipple:function(){this._inkRipple=(0,v.render)()},_toggleActiveState:function(e,t,n){this.callBase.apply(this,arguments);var i=this;if(this._inkRipple){var o={element:e,event:n};t?(0,C.isMaterial)()?this._inkRippleTimer=setTimeout((function(){i._inkRipple.showWave(o)}),35):i._inkRipple.showWave(o):(clearTimeout(this._inkRippleTimer),this._inkRipple.hideWave(o))}},_postprocessRenderItem:function(e){this._refreshItemElements(),this.callBase.apply(this,arguments),this.option(\"_swipeEnabled\")&&this._attachSwipeEvent((0,o.default)(e.itemElement))},_attachSwipeEvent:function(e){var t=(0,w.addNamespace)(g.end,this.NAME);a.default.on(e,t,this._itemSwipeEndHandler.bind(this))},_itemSwipeEndHandler:function(e){this._itemDXEventHandler(e,\"onItemSwipe\",{direction:e.offset<0?\"left\":\"right\"})},_nextButtonHandler:function(e){this._pageLoadingAction(e);var t=this._dataController;t.getDataSource()&&!t.isLoading()&&(this._scrollView.toggleLoading(!0),this._$nextButton.detach(),this._loadIndicationSuppressed(!0),this._loadNextPage())},_renderGroup:function(e,t){var n=(0,o.default)(\"<div>\").addClass(\"dx-list-group\").appendTo(this._itemContainer()),i=\"dx-\".concat((new P.default).toString()),a={role:\"group\",labelledby:i};this.setAria(a,n);var r=(0,o.default)(\"<div>\").addClass(\"dx-list-group-header\").attr(\"id\",i).appendTo(n),s=this.option(\"groupTemplate\"),l=this._getTemplate(t.template||s,t,e,r),c={index:e,itemData:t,container:(0,u.getPublicElement)(r)};this._createItemByTemplate(l,c),(0,C.isMaterial)()&&(0,o.default)(\"<div>\").addClass(\"dx-list-group-header-indicator\").prependTo(r),this._renderingGroupIndex=e;var h=(0,o.default)(\"<div>\").addClass(\"dx-list-group-body\").appendTo(n);(0,d.each)(L(t)||[],function(t,n){this._renderItem({group:e,item:t},n,h)}.bind(this)),this._groupRenderAction({groupElement:(0,u.getPublicElement)(n),groupIndex:e,groupData:t})},downInkRippleHandler:function(e){this._toggleActiveState((0,o.default)(e.currentTarget),!0,e)},upInkRippleHandler:function(e){this._toggleActiveState((0,o.default)(e.currentTarget),!1)},attachGroupHeaderInkRippleEvents:function(){var e=this.$element();this._downInkRippleHandler=this._downInkRippleHandler||this.downInkRippleHandler.bind(this),this._upInkRippleHandler=this._upInkRippleHandler||this.upInkRippleHandler.bind(this);var t=[e,\"dxpointerdown\",\".dx-list-group-header\",this._downInkRippleHandler],n=[e,\"dxpointerup dxpointerout\",\".dx-list-group-header\",this._upInkRippleHandler];a.default.off.apply(a.default,t),a.default.on.apply(a.default,t),a.default.off.apply(a.default,n),a.default.on.apply(a.default,n)},_createGroupRenderAction:function(){this._groupRenderAction=this._createActionByOption(\"onGroupRendered\")},_clean:function(){clearTimeout(this._inkRippleTimer),this._$nextButton&&(this._$nextButton.remove(),this._$nextButton=null),this.callBase.apply(this,arguments)},_dispose:function(){this._isDataSourceFirstLoadCompleted(!1),clearTimeout(this._holdTimer),clearTimeout(this._loadNextPageTimer),clearTimeout(this._showLoadingIndicatorTimer),this.callBase()},_toggleDisabledState:function(e){this.callBase(e),this._scrollView.option(\"disabled\",e||!this.option(\"scrollingEnabled\"))},_toggleNextButton:function(e){var t=this._dataController,n=this._getNextButton();this.$element().toggleClass(\"dx-has-next\",e),e&&t.isLoaded()&&n.appendTo(this._itemContainer()),e||n.detach()},_getNextButton:function(){return this._$nextButton||(this._$nextButton=this._createNextButton()),this._$nextButton},_createNextButton:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-list-next-button\"),t=(0,o.default)(\"<div>\").appendTo(e);return this._createComponent(t,x.default,{text:this.option(\"nextButtonText\"),onClick:this._nextButtonHandler.bind(this),type:(0,C.isMaterial)()?\"default\":void 0,integrationOptions:{}}),e},_moveFocus:function(){this.callBase.apply(this,arguments),this.scrollToItem(this.option(\"focusedElement\"))},_refresh:function(){if((0,S.hasWindow)()){var e=this._scrollView.scrollTop();this.callBase(),e&&this._scrollView.scrollTo(e)}else this.callBase()},_optionChanged:function(e){switch(e.name){case\"pageLoadMode\":this._toggleNextButton(e.value),this._initScrollView();break;case\"dataSource\":this.callBase(e),this._initScrollView(),this._isDataSourceFirstLoadCompleted(!1);break;case\"items\":this.callBase(e),this._isDataSourceFirstLoadCompleted(!1);break;case\"pullingDownText\":case\"pulledDownText\":case\"refreshingText\":case\"pageLoadingText\":case\"showScrollbar\":case\"bounceEnabled\":case\"scrollByContent\":case\"scrollByThumb\":case\"useNativeScrolling\":case\"scrollingEnabled\":case\"pullRefreshEnabled\":this._initScrollView(),this._updateLoadingState(!0);break;case\"nextButtonText\":case\"onItemSwipe\":case\"useInkRipple\":this._invalidate();break;case\"onScroll\":case\"onPullRefresh\":case\"onPageLoading\":this._createScrollViewActions();break;case\"grouped\":case\"collapsibleGroups\":case\"groupTemplate\":this._invalidate();break;case\"wrapItemText\":this._$container.toggleClass(\"dx-wrap-item-text\",e.value);break;case\"onGroupRendered\":this._createGroupRenderAction();break;case\"width\":case\"height\":this.callBase(e),this._scrollView.option(e.name,e.value),this._scrollView.update();break;case\"indicateLoading\":this._hideLoadingIfLoadIndicationOff();break;case\"visible\":this.callBase(e),this._scrollView.update();break;case\"rtlEnabled\":this._initScrollView(),this.callBase(e);break;case\"showChevronExpr\":case\"badgeExpr\":this._invalidate();break;case\"_swipeEnabled\":case\"selectByClick\":break;default:this.callBase(e)}},_extendActionArgs:function(e){if(!this.option(\"grouped\"))return this.callBase(e);var t=e.closest(\".dx-list-group\"),n=t.find(\".dx-list-item\");return(0,h.extend)(this.callBase(e),{itemIndex:{group:t.index(),item:n.index(e)}})},expandGroup:function(e){var t=new E.Deferred,n=this._itemContainer().find(\".dx-list-group\").eq(e);return this._collapseGroupHandler(n,!1).done(function(){t.resolveWith(this)}.bind(this)),t.promise()},collapseGroup:function(e){var t=new E.Deferred,n=this._itemContainer().find(\".dx-list-group\").eq(e);return this._collapseGroupHandler(n,!0).done(function(){t.resolveWith(this)}.bind(this)),t},updateDimensions:function(){var e=this,t=new E.Deferred;return e._scrollView?e._scrollView.update().done((function(){!e._scrollViewIsFull()&&e._updateLoadingState(!0),t.resolveWith(e)})):t.resolveWith(e),t.promise()},reload:function(){this.callBase(),this.scrollTo(0),this._pullDownHandler()},repaint:function(){this.scrollTo(0),this.callBase()},scrollTop:function(){return this._scrollView.scrollOffset().top},clientHeight:function(){return this._scrollView.clientHeight()},scrollHeight:function(){return this._scrollView.scrollHeight()},scrollBy:function(e){this._scrollView.scrollBy(e)},scrollTo:function(e){this._scrollView.scrollTo(e)},scrollToItem:function(e){var t=this._editStrategy.getItemElement(e),n=null==t?void 0:t.get(0);this._scrollView.scrollToElement(n,{bottom:(0,A.getElementMargin)(n,\"bottom\")})},_dimensionChanged:function(){this.updateDimensions()}}).include(O.default);t.ListBase=V,V.ItemClass=b.default},27445:function(e,t,n){var i=n(58664),o=c(n(68374)),a=c(n(86976)),r=c(n(28109)),s=n(40245),l=c(n(61225)),u=c(n(89799)),d=n(31583);function c(e){return e&&e.__esModule?e:{default:e}}(0,s.register)(\"menu\",\"context\",l.default.inherit({_init:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-list-context-menu\");this._list.$element().append(e),this._menu=this._renderOverlay(e)},_renderOverlay:function(e){return this._list._createComponent(e,u.default,{shading:!1,deferRendering:!0,hideOnParentScroll:!0,hideOnOutsideClick:function(e){return!(0,o.default)(e.target).closest(\".dx-list-context-menu\").length},animation:{show:{type:\"slide\",duration:300,from:{height:0,opacity:1},to:{height:function(){return(0,i.getOuterHeight)(this._$menuList)}.bind(this),opacity:1}},hide:{type:\"slide\",duration:0,from:{opacity:1},to:{opacity:0}}},_ignoreFunctionValueDeprecation:!0,height:function(){return this._$menuList?(0,i.getOuterHeight)(this._$menuList):0}.bind(this),width:function(){return(0,i.getOuterWidth)(this._list.$element())}.bind(this),onContentReady:this._renderMenuContent.bind(this)})},_renderMenuContent:function(e){var t=e.component.$content(),n=this._menuItems().slice();this._deleteEnabled()&&n.push({text:r.default.format(\"dxListEditDecorator-delete\"),action:this._deleteItem.bind(this)}),this._$menuList=(0,o.default)(\"<div>\"),this._list._createComponent(this._$menuList,d.ListBase,{items:n,onItemClick:this._menuItemClickHandler.bind(this),height:\"auto\",integrationOptions:{}}),t.addClass(\"dx-list-context-menucontent\"),t.append(this._$menuList)},_menuItemClickHandler:function(e){this._menu.hide(),this._fireMenuAction(this._$itemWithMenu,e.itemData.action)},_deleteItem:function(){this._list.deleteItem(this._$itemWithMenu)},handleContextMenu:function(e){return this._$itemWithMenu=e,this._menu.option({position:{my:\"top\",at:\"bottom\",of:e,collision:\"flip\"}}),this._menu.show(),!0},dispose:function(){this._menu&&this._menu.$element().remove(),this.callBase.apply(this,arguments)}}).include(a.default))},61225:function(e,t,n){t.default=void 0;var i=n(58664),o=d(n(68374)),a=d(n(55994)),r=n(20576),s=d(n(38377)),l=n(34309),u=n(39611);function d(e){return e&&e.__esModule?e:{default:e}}var c=(0,u.addNamespace)(l.start,\"dxListEditDecorator\"),h=(0,u.addNamespace)(l.swipe,\"dxListEditDecorator\"),f=(0,u.addNamespace)(l.end,\"dxListEditDecorator\"),p=s.default.inherit({ctor:function(e){this._list=e,this._init()},_init:r.noop,_shouldHandleSwipe:!1,_attachSwipeEvent:function(e){var t={itemSizeFunc:function(){return this._clearSwipeCache&&(this._itemWidthCache=(0,i.getWidth)(this._list.$element()),this._clearSwipeCache=!1),this._itemWidthCache}.bind(this)};a.default.on(e.$itemElement,c,t,this._itemSwipeStartHandler.bind(this)),a.default.on(e.$itemElement,h,this._itemSwipeUpdateHandler.bind(this)),a.default.on(e.$itemElement,f,this._itemSwipeEndHandler.bind(this))},_itemSwipeStartHandler:function(e){var t=(0,o.default)(e.currentTarget);t.is(\".dx-state-disabled, .dx-state-disabled *\")?e.cancel=!0:(clearTimeout(this._list._inkRippleTimer),this._swipeStartHandler(t,e))},_itemSwipeUpdateHandler:function(e){var t=(0,o.default)(e.currentTarget);this._swipeUpdateHandler(t,e)},_itemSwipeEndHandler:function(e){var t=(0,o.default)(e.currentTarget);this._swipeEndHandler(t,e),this._clearSwipeCache=!0},beforeBag:r.noop,afterBag:r.noop,_commonOptions:function(){return{activeStateEnabled:this._list.option(\"activeStateEnabled\"),hoverStateEnabled:this._list.option(\"hoverStateEnabled\"),focusStateEnabled:this._list.option(\"focusStateEnabled\")}},modifyElement:function(e){this._shouldHandleSwipe&&(this._attachSwipeEvent(e),this._clearSwipeCache=!0)},afterRender:r.noop,handleClick:r.noop,handleKeyboardEvents:r.noop,handleEnterPressing:r.noop,handleContextMenu:r.noop,_swipeStartHandler:r.noop,_swipeUpdateHandler:r.noop,_swipeEndHandler:r.noop,visibilityChange:r.noop,getExcludedSelectors:r.noop,dispose:r.noop});t.default=p,e.exports=t.default,e.exports.default=t.default},65436:function(e,t,n){var i=n(58664),o=c(n(68374)),a=c(n(55994)),r=n(13306),s=n(39611),l=n(40245),u=c(n(61225)),d=c(n(66843));function c(e){return e&&e.__esModule?e:{default:e}}(0,l.register)(\"reorder\",\"default\",u.default.inherit({_init:function(){var e=this._list;this._groupedEnabled=this._list.option(\"grouped\"),this._lockedDrag=!1;var t=this._groupedEnabled?\"> .dx-list-group > .dx-list-group-body > .dx-list-item\":\"> .dx-list-item\";this._sortable=e._createComponent(e._scrollView.content(),d.default,(0,r.extend)({component:e,contentTemplate:null,allowReordering:!1,filter:t,container:e.$element(),dragDirection:e.option(\"itemDragging.group\")?\"both\":\"vertical\",handle:\".\".concat(\"dx-list-reorder-handle\"),dragTemplate:this._dragTemplate,onDragStart:this._dragStartHandler.bind(this),onDragChange:this._dragChangeHandler.bind(this),onReorder:this._reorderHandler.bind(this)},e.option(\"itemDragging\")))},afterRender:function(){this._sortable.update()},_dragTemplate:function(e){var t=(0,o.default)(e.itemElement).clone().addClass(\"dx-list-item-ghost-reordering\").addClass(\"dx-state-hover\");return(0,i.setWidth)(t,(0,i.getWidth)(e.itemElement)),t},_dragStartHandler:function(e){this._lockedDrag&&(e.cancel=!0)},_dragChangeHandler:function(e){!this._groupedEnabled||this._sameParent(e.fromIndex,e.toIndex)||(e.cancel=!0)},_sameParent:function(e,t){var n=this._list.getItemElementByFlatIndex(e);return this._list.getItemElementByFlatIndex(t).parent().get(0)===n.parent().get(0)},_reorderHandler:function(e){var t=this._list.getItemElementByFlatIndex(e.toIndex);this._list.reorderItem((0,o.default)(e.itemElement),t)},afterBag:function(e){var t=this,n=(0,o.default)(\"<div>\").addClass(\"dx-list-reorder-handle\");a.default.on(n,\"dxpointerdown\",(function(e){t._lockedDrag=!(0,s.isMouseEvent)(e)})),a.default.on(n,\"dxhold\",{timeout:30},(function(e){e.cancel=!0,t._lockedDrag=!1})),e.$container.addClass(\"dx-list-reorder-handle-container\").append(n)}}))},81362:function(e,t,n){var i=f(n(68374)),o=f(n(55994)),a=n(95429),r=n(13306),s=f(n(96688)),l=f(n(18859)),u=f(n(6282)),d=n(39611),c=n(40245),h=f(n(61225));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.addNamespace)(a.name,\"dxListEditDecorator\");(0,c.register)(\"selection\",\"default\",h.default.inherit({_init:function(){this.callBase.apply(this,arguments);var e=this._list.option(\"selectionMode\");this._singleStrategy=\"single\"===e,this._containerClass=this._singleStrategy?\"dx-list-select-radiobutton-container\":\"dx-list-select-checkbox-container\",this._controlClass=this._singleStrategy?\"dx-list-select-radiobutton\":\"dx-list-select-checkbox\",this._controlWidget=this._singleStrategy?u.default:l.default,this._list.$element().addClass(\"dx-list-select-decorator-enabled\")},beforeBag:function(e){var t=e.$itemElement,n=e.$container.addClass(this._containerClass),o=(0,i.default)(\"<div>\").addClass(this._controlClass).appendTo(n);new this._controlWidget(o,(0,r.extend)(this._commonOptions(),{value:this._isSelected(t),elementAttr:{\"aria-label\":\"Check State\"},focusStateEnabled:!1,hoverStateEnabled:!1,onValueChanged:function(e){e.event&&this._list._saveSelectionChangeEvent(e.event),this._processCheckedState(t,e.value),e.event&&e.event.stopPropagation()}.bind(this)}))},modifyElement:function(e){this.callBase.apply(this,arguments);var t=e.$itemElement,n=this._controlWidget.getInstance(t.find(\".\"+this._controlClass));o.default.on(t,\"stateChanged\",function(e,t){n.option(\"value\",t)}.bind(this))},_updateSelectAllState:function(){this._$selectAll&&this._selectAllCheckBox.option(\"value\",this._list.isSelectAll())},afterRender:function(){\"all\"===this._list.option(\"selectionMode\")&&(this._$selectAll?this._updateSelectAllState():this._renderSelectAll())},handleKeyboardEvents:function(e,t){var n=!t,i=this._list,o=this._$selectAll,a=i._getLastItemIndex();return!(!o||!(t&&0===e||n&&e===a))&&(i.option(\"focusedElement\",o),i.scrollToItem(i.option(\"focusedElement\")),!0)},handleEnterPressing:function(e){if(this._$selectAll&&this._$selectAll.hasClass(\"dx-state-focused\"))return e.target=this._$selectAll.get(0),this._list._saveSelectionChangeEvent(e),this._selectAllCheckBox.option(\"value\",!this._selectAllCheckBox.option(\"value\")),!0},_renderSelectAll:function(){var e=this._$selectAll=(0,i.default)(\"<div>\").addClass(\"dx-list-select-all\"),t=this._list,n=t._supportedKeys().downArrow.bind(t);this._selectAllCheckBox=t._createComponent((0,i.default)(\"<div>\").addClass(\"dx-list-select-all-checkbox\").appendTo(e),l.default,{elementAttr:{\"aria-label\":\"Select All\"},focusStateEnabled:!1,hoverStateEnabled:!1}),this._selectAllCheckBox.registerKeyHandler(\"downArrow\",n),(0,i.default)(\"<div>\").addClass(\"dx-list-select-all-label\").text(this._list.option(\"selectAllText\")).appendTo(e),this._list.itemsContainer().prepend(e),this._updateSelectAllState(),this._attachSelectAllHandler()},_attachSelectAllHandler:function(){this._selectAllCheckBox.option(\"onValueChanged\",this._selectAllHandler.bind(this)),o.default.off(this._$selectAll,p),o.default.on(this._$selectAll,p,this._selectAllClickHandler.bind(this))},_selectAllHandler:function(e){e.event&&e.event.stopPropagation();var t=this._selectAllCheckBox.option(\"value\");e.event&&this._list._saveSelectionChangeEvent(e.event),!0===t?this._selectAllItems():!1===t&&this._unselectAllItems(),this._list._createActionByOption(\"onSelectAllValueChanged\")({value:t})},_checkSelectAllCapability:function(){var e=this._list,t=e._dataController;return!(\"allPages\"===e.option(\"selectAllMode\")&&e.option(\"grouped\")&&!t.group())||(s.default.log(\"W1010\"),!1)},_selectAllItems:function(){this._checkSelectAllCapability()&&this._list._selection.selectAll(\"page\"===this._list.option(\"selectAllMode\"))},_unselectAllItems:function(){this._checkSelectAllCapability()&&this._list._selection.deselectAll(\"page\"===this._list.option(\"selectAllMode\"))},_selectAllClickHandler:function(e){this._list._saveSelectionChangeEvent(e),this._selectAllCheckBox.option(\"value\",!this._selectAllCheckBox.option(\"value\"))},_isSelected:function(e){return this._list.isItemSelected(e)},_processCheckedState:function(e,t){t?this._list.selectItem(e):this._list.unselectItem(e)},dispose:function(){this._disposeSelectAll(),this._list.$element().removeClass(\"dx-list-select-decorator-enabled\"),this.callBase.apply(this,arguments)},_disposeSelectAll:function(){this._$selectAll&&(this._$selectAll.remove(),this._$selectAll=null)}}))},47970:function(e,t,n){var i=s(n(68374)),o=s(n(63008)),a=n(40245),r=s(n(61225));function s(e){return e&&e.__esModule?e:{default:e}}(0,a.register)(\"delete\",\"static\",r.default.inherit({afterBag:function(e){var t=e.$itemElement,n=e.$container,a=(0,i.default)(\"<div>\").addClass(\"dx-list-static-delete-button\");this._list._createComponent(a,o.default,{icon:\"remove\",onClick:function(e){e.event.stopPropagation(),this._deleteItem(t)}.bind(this),integrationOptions:{}}),n.addClass(\"dx-list-static-delete-button-container\").append(a)},_deleteItem:function(e){e.is(\".dx-state-disabled, .dx-state-disabled *\")||this._list.deleteItem(e)}}))},33329:function(e,t,n){var i=n(58664),o=n(31648),a=u(n(87209)),r=n(40245),s=u(n(61225)),l=n(62754);function u(e){return e&&e.__esModule?e:{default:e}}(0,r.register)(\"delete\",\"swipe\",s.default.inherit({_shouldHandleSwipe:!0,_renderItemPosition:function(e,t,n){var i=new l.Deferred,r=t*this._itemElementWidth;return n?a.default.animate(e,{to:{left:r},type:\"slide\",complete:function(){i.resolve(e,t)}}):((0,o.move)(e,{left:r}),i.resolve()),i.promise()},_swipeStartHandler:function(e){return this._itemElementWidth=(0,i.getWidth)(e),!0},_swipeUpdateHandler:function(e,t){return this._renderItemPosition(e,t.offset),!0},_swipeEndHandler:function(e,t){var n=t.targetOffset;return this._renderItemPosition(e,n,!0).done(function(e,t){Math.abs(t)&&this._list.deleteItem(e).fail(function(){this._renderItemPosition(e,0,!0)}.bind(this))}.bind(this)),!0}}))},96782:function(e,t,n){t.default=void 0;var i=n(58664),o=d(n(68374)),a=d(n(87209)),r=d(n(63008)),s=d(n(28109)),l=n(40245),u=d(n(81139));function d(e){return e&&e.__esModule?e:{default:e}}var c=u.default.inherit({_init:function(){this.callBase.apply(this,arguments);var e=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-button-container\"),t=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-button-wrapper\"),n=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-button-inner-wrapper\"),i=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-button\");this._list._createComponent(i,r.default,{text:s.default.format(\"dxListEditDecorator-delete\"),type:\"danger\",onClick:function(e){this._deleteItem(),e.event.stopPropagation()}.bind(this),integrationOptions:{}}),e.append(t),t.append(n),n.append(i),this._$buttonContainer=e},_enablePositioning:function(e){this.callBase.apply(this,arguments),a.default.stop(this._$buttonContainer,!0),this._$buttonContainer.appendTo(e)},_disablePositioning:function(){this.callBase.apply(this,arguments),this._$buttonContainer.detach()},_animatePrepareDeleteReady:function(){var e=this._isRtlEnabled(),t=(0,i.getWidth)(this._list.$element()),n=this._buttonWidth(),o=e?t:-n,r=e?t-n:0;return a.default.animate(this._$buttonContainer,{type:\"custom\",duration:200,from:{right:o},to:{right:r}})},_animateForgetDeleteReady:function(){var e=this._isRtlEnabled(),t=(0,i.getWidth)(this._list.$element()),n=this._buttonWidth(),o=e?t-n:0,r=e?t:-n;return a.default.animate(this._$buttonContainer,{type:\"custom\",duration:200,from:{right:o},to:{right:r}})},_buttonWidth:function(){return this._buttonContainerWidth||(this._buttonContainerWidth=(0,i.getOuterWidth)(this._$buttonContainer)),this._buttonContainerWidth},dispose:function(){this._$buttonContainer&&this._$buttonContainer.remove(),this.callBase.apply(this,arguments)}});(0,l.register)(\"delete\",\"toggle\",c.inherit({beforeBag:function(e){var t=e.$itemElement,n=e.$container,i=(0,o.default)(\"<div>\").addClass(\"dx-list-toggle-delete-switch\");this._list._createComponent(i,r.default,{icon:\"toggle-delete\",onClick:function(e){a.default.stop(this._$buttonContainer,!1),this._toggleDeleteReady(t),e.event.stopPropagation()}.bind(this),integrationOptions:{}}),n.addClass(\"dx-list-toggle-delete-switch-container\"),n.append(i)}})),(0,l.register)(\"delete\",\"slideButton\",c.inherit({_shouldHandleSwipe:!0,_swipeEndHandler:function(e,t){return 0!==t.targetOffset&&(a.default.stop(this._$buttonContainer,!1),this._toggleDeleteReady(e)),!0}}));var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},81139:function(e,t,n){t.default=void 0;var i=n(58664),o=c(n(68374)),a=c(n(55994)),r=n(20576),s=c(n(61225)),l=n(39611),u=c(n(93786)),d=n(91633);function c(e){return e&&e.__esModule?e:{default:e}}var h=s.default.abstract,f=(0,l.addNamespace)(u.default.down,\"dxListEditDecorator\"),p=(0,l.addNamespace)(d.active,\"dxListEditDecorator\"),g=s.default.inherit({_init:function(){this._$topShield=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-top-shield\"),this._$bottomShield=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-bottom-shield\"),this._$itemContentShield=(0,o.default)(\"<div>\").addClass(\"dx-list-switchable-delete-item-content-shield\"),a.default.on(this._$topShield,f,this._cancelDeleteReadyItem.bind(this)),a.default.on(this._$bottomShield,f,this._cancelDeleteReadyItem.bind(this)),this._list.$element().append(this._$topShield.toggle(!1)).append(this._$bottomShield.toggle(!1))},handleClick:function(){return this._cancelDeleteReadyItem()},_cancelDeleteReadyItem:function(){return!!this._$readyToDeleteItem&&(this._cancelDelete(this._$readyToDeleteItem),!0)},_cancelDelete:function(e){this._toggleDeleteReady(e,!1)},_toggleDeleteReady:function(e,t){void 0===t&&(t=!this._isReadyToDelete(e)),this._toggleShields(e,t),this._toggleScrolling(t),this._cacheReadyToDeleteItem(e,t),this._animateToggleDelete(e,t)},_isReadyToDelete:function(e){return e.hasClass(\"dx-list-switchable-delete-ready\")},_toggleShields:function(e,t){this._list.$element().toggleClass(\"dx-list-switchable-menu-shield-positioning\",t),this._$topShield.toggle(t),this._$bottomShield.toggle(t),t&&this._updateShieldsHeight(e),this._toggleContentShield(e,t)},_updateShieldsHeight:function(e){var t=this._list.$element(),n=t.offset().top,o=(0,i.getOuterHeight)(t),a=e.offset().top-n,r=o-(0,i.getOuterHeight)(e)-a;(0,i.setHeight)(this._$topShield,Math.max(a,0)),(0,i.setHeight)(this._$bottomShield,Math.max(r,0))},_toggleContentShield:function(e,t){t?e.find(\".dx-list-item-content\").first().append(this._$itemContentShield):this._$itemContentShield.detach()},_toggleScrolling:function(e){var t=this._list.$element().dxScrollView(\"instance\");e?t.on(\"start\",this._cancelScrolling):t.off(\"start\",this._cancelScrolling)},_cancelScrolling:function(e){e.event.cancel=!0},_cacheReadyToDeleteItem:function(e,t){t?this._$readyToDeleteItem=e:delete this._$readyToDeleteItem},_animateToggleDelete:function(e,t){t?(this._enablePositioning(e),this._prepareDeleteReady(e),this._animatePrepareDeleteReady(e),a.default.off(e,u.default.up)):(this._forgetDeleteReady(e),this._animateForgetDeleteReady(e).done(this._disablePositioning.bind(this,e)))},_enablePositioning:function(e){e.addClass(\"dx-list-switchable-menu-item-shield-positioning\"),a.default.on(e,p,r.noop),a.default.one(e,u.default.up,this._disablePositioning.bind(this,e))},_disablePositioning:function(e){e.removeClass(\"dx-list-switchable-menu-item-shield-positioning\"),a.default.off(e,p)},_prepareDeleteReady:function(e){e.addClass(\"dx-list-switchable-delete-ready\")},_forgetDeleteReady:function(e){e.removeClass(\"dx-list-switchable-delete-ready\")},_animatePrepareDeleteReady:h,_animateForgetDeleteReady:h,_getDeleteButtonContainer:function(e){return(e=e||this._$readyToDeleteItem).children(\".dx-list-switchable-delete-button-container\")},_deleteItem:function(e){e=e||this._$readyToDeleteItem,this._getDeleteButtonContainer(e).detach(),e.is(\".dx-state-disabled, .dx-state-disabled *\")||this._list.deleteItem(e).always(this._cancelDelete.bind(this,e))},_isRtlEnabled:function(){return this._list.option(\"rtlEnabled\")},dispose:function(){this._$topShield&&this._$topShield.remove(),this._$bottomShield&&this._$bottomShield.remove(),this.callBase.apply(this,arguments)}});t.default=g,e.exports=t.default,e.exports.default=t.default},36279:function(e,t,n){var i=n(58664),o=v(n(68374)),a=v(n(55994)),r=n(20576),s=n(95429),l=v(n(28109)),u=n(31648),d=n(39611),c=n(91633),h=v(n(86976)),f=n(40245),p=v(n(81139)),g=v(n(87209)),m=n(75811),_=v(n(81476));function v(e){return e&&e.__esModule?e:{default:e}}var y=(0,d.addNamespace)(s.name,\"dxListEditDecorator\"),b=(0,d.addNamespace)(c.active,\"dxListEditDecorator\");(0,f.register)(\"menu\",\"slide\",p.default.inherit({_shouldHandleSwipe:!0,_init:function(){this.callBase.apply(this,arguments),this._$buttonsContainer=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu-buttons-container\"),a.default.on(this._$buttonsContainer,b,r.noop),this._$buttons=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu-buttons\").appendTo(this._$buttonsContainer),this._renderMenu(),this._renderDeleteButton()},_renderMenu:function(){if(this._menuEnabled()){var e=this._menuItems();if(1===e.length){var t=e[0];this._renderMenuButton(t.text,function(e){e.stopPropagation(),this._fireAction(t)}.bind(this))}else{var n=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu\");this._menu=this._list._createComponent(n,_.default,{showTitle:!1,items:e,onItemClick:function(e){this._fireAction(e.itemData)}.bind(this),integrationOptions:{}}),n.appendTo(this._list.$element());var i=this._renderMenuButton(l.default.format(\"dxListEditDecorator-more\"),function(e){e.stopPropagation(),this._menu.show()}.bind(this));this._menu.option(\"target\",i)}}},_renderMenuButton:function(e,t){var n=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu-button\").addClass(\"dx-list-slide-menu-button-menu\").text(e);return this._$buttons.append(n),a.default.on(n,y,t),n},_renderDeleteButton:function(){if(this._deleteEnabled()){var e=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu-button\").addClass(\"dx-list-slide-menu-button-delete\").text((0,m.isMaterial)()?\"\":l.default.format(\"dxListEditDecorator-delete\"));a.default.on(e,y,function(e){e.stopPropagation(),this._deleteItem()}.bind(this)),this._$buttons.append(e)}},_fireAction:function(e){this._fireMenuAction((0,o.default)(this._cachedNode),e.action),this._cancelDeleteReadyItem()},modifyElement:function(e){this.callBase.apply(this,arguments);var t=e.$itemElement;t.addClass(\"dx-list-slide-menu-wrapper\");var n=(0,o.default)(\"<div>\").addClass(\"dx-list-slide-menu-content\");t.wrapInner(n)},_getDeleteButtonContainer:function(){return this._$buttonsContainer},handleClick:function(e,t){return!!(0,o.default)(t.target).closest(\".dx-list-slide-menu-content\").length&&this.callBase.apply(this,arguments)},_swipeStartHandler:function(e){this._enablePositioning(e),this._cacheItemData(e),this._setPositions(this._getPositions(0))},_swipeUpdateHandler:function(e,t){var n=this._isRtlEnabled()?-1:1,i=this._isReadyToDelete(e);if(this._getCurrentPositions().content!==this._getStartPositions().content||i||!(t.offset*n>0)){var o=this._cachedItemWidth*t.offset,a=i?-this._cachedButtonWidth*n:0,r=(o+a)*n<0?Math.abs((o+a)/this._cachedButtonWidth):0;return this._setPositions(this._getPositions(r)),!0}t.cancel=!0},_getStartPositions:function(){var e=this._isRtlEnabled(),t=e?-1:1;return{content:0,buttonsContainer:e?-this._cachedButtonWidth:this._cachedItemWidth,buttons:-this._cachedButtonWidth*t}},_getPositions:function(e){var t=this._isRtlEnabled()?-1:1,n=this._getStartPositions();return{content:n.content-e*this._cachedButtonWidth*t,buttonsContainer:n.buttonsContainer-Math.min(e,1)*this._cachedButtonWidth*t,buttons:n.buttons+Math.min(e,1)*this._cachedButtonWidth*t}},_getCurrentPositions:function(){return{content:(0,u.locate)(this._$cachedContent).left,buttonsContainer:(0,u.locate)(this._$buttonsContainer).left,buttons:(0,u.locate)(this._$buttons).left}},_setPositions:function(e){(0,u.move)(this._$cachedContent,{left:e.content}),(0,u.move)(this._$buttonsContainer,{left:e.buttonsContainer}),(0,u.move)(this._$buttons,{left:e.buttons})},_cacheItemData:function(e){e[0]!==this._cachedNode&&(this._$cachedContent=e.find(\".dx-list-slide-menu-content\"),this._cachedItemWidth=(0,i.getOuterWidth)(e),this._cachedButtonWidth=this._cachedButtonWidth||(0,i.getOuterWidth)(this._$buttons),(0,i.setWidth)(this._$buttonsContainer,this._cachedButtonWidth),this._$cachedContent.length&&(this._cachedNode=e[0]))},_minButtonContainerLeftOffset:function(){return this._cachedItemWidth-this._cachedButtonWidth},_swipeEndHandler:function(e,t){this._cacheItemData(e);var n=this._isRtlEnabled()?1:-1,i=this._cachedItemWidth*t.offset,o=!this._isReadyToDelete(e)&&i*n>.2*this._cachedButtonWidth,a=t.targetOffset===n&&o;return this._toggleDeleteReady(e,a),!0},_enablePositioning:function(e){g.default.stop(this._$cachedContent,!0),this.callBase.apply(this,arguments),this._$buttonsContainer.appendTo(e)},_disablePositioning:function(){this.callBase.apply(this,arguments),this._$buttonsContainer.detach()},_animatePrepareDeleteReady:function(){return this._animateToPositions(this._getPositions(1))},_animateForgetDeleteReady:function(e){return this._cacheItemData(e),this._animateToPositions(this._getPositions(0))},_animateToPositions:function(e){var t=this,n=this._getCurrentPositions(),i=Math.min(Math.abs(n.content-e.content)/this._cachedButtonWidth,1);return g.default.animate(this._$cachedContent,{from:n,to:e,easing:\"cubic-bezier(0.075, 0.82, 0.165, 1)\",duration:400*i,strategy:\"frame\",draw:function(e){t._setPositions(e)}})},dispose:function(){this._menu&&this._menu.$element().remove(),this._$buttonsContainer&&this._$buttonsContainer.remove(),this.callBase.apply(this,arguments)}}).include(h.default))},86976:function(e,t){t.default=void 0;var n={_menuEnabled:function(){return!!this._menuItems().length},_menuItems:function(){return this._list.option(\"menuItems\")},_deleteEnabled:function(){return this._list.option(\"allowItemDeleting\")},_fireMenuAction:function(e,t){this._list._itemEventHandlerByHandler(e,t,{},{excludeValidators:[\"disabled\",\"readOnly\"]})}};t.default=n,e.exports=t.default,e.exports.default=t.default},40245:function(e,t,n){t.register=function(e,t,n){var a=o,r={};r[e]=a[e]?a[e]:{},r[e][t]=n,(0,i.extend)(a,r)},t.registry=void 0;var i=n(13306),o={};t.registry=o},77834:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=n(39611),a=n(13306),r=d(n(24232)),s=d(n(28109)),l=d(n(85057)),u=n(31583);function d(e){return e&&e.__esModule?e:{default:e}}var c=u.ListBase.inherit({_supportedKeys:function(){var e=this,t=this,n=this.callBase(),i=function(i,o){var a=e._editStrategy,r=e.option(\"focusedElement\"),s=a.getNormalizedIndex(r);if(!(s===e._getLastItemIndex())||!e._dataController.isLoading())if(i.shiftKey&&t.option(\"itemDragging.allowReordering\")){var l=s+(o?-1:1),u=a.getItemElement(l);e.reorderItem(r,u),e.scrollToItem(r),i.preventDefault()}else{e._editProvider.handleKeyboardEvents(s,o)||(o?n.upArrow(i):n.downArrow(i))}};return(0,a.extend)({},n,{del:function(e){t.option(\"allowItemDeleting\")&&(e.preventDefault(),t.deleteItem(t.option(\"focusedElement\")))},upArrow:function(e){return i(e,!0)},downArrow:function(e){return i(e)},enter:function(e){this._editProvider.handleEnterPressing(e)||n.enter.apply(this,arguments)},space:function(e){this._editProvider.handleEnterPressing(e)||n.space.apply(this,arguments)}})},_updateSelection:function(){this._editProvider.afterItemsRendered(),this.callBase()},_getLastItemIndex:function(){return this._itemElements().length-1},_refreshItemElements:function(){this.callBase();var e=this._editProvider.getExcludedItemSelectors();e.length&&(this._itemElementsCache=this._itemElementsCache.not(e))},_isItemStrictEquals:function(e,t){var n=e&&e.__dx_key__;return!(n&&!this.key()&&this._selection.isItemSelected(n))&&this.callBase(e,t)},_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{showSelectionControls:!1,selectionMode:\"none\",selectAllMode:\"page\",onSelectAllValueChanged:null,selectAllText:s.default.format(\"dxList-selectAll\"),menuItems:[],menuMode:\"context\",allowItemDeleting:!1,itemDeleteMode:\"static\",itemDragging:{}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(e){return\"ios\"===e.platform},options:{menuMode:\"slide\",itemDeleteMode:\"slideItem\"}},{device:{platform:\"android\"},options:{itemDeleteMode:\"swipe\"}}])},_init:function(){this.callBase(),this._initEditProvider()},_initDataSource:function(){this.callBase(),this._isPageSelectAll()||this._dataSource&&this._dataSource.requireTotalCount(!0)},_isPageSelectAll:function(){return\"page\"===this.option(\"selectAllMode\")},_initEditProvider:function(){this._editProvider=new l.default(this)},_disposeEditProvider:function(){this._editProvider&&this._editProvider.dispose()},_refreshEditProvider:function(){this._disposeEditProvider(),this._initEditProvider()},_initEditStrategy:function(){this.option(\"grouped\")?this._editStrategy=new r.default(this):this.callBase()},_initMarkup:function(){this._refreshEditProvider(),this.callBase()},_renderItems:function(){this.callBase.apply(this,arguments),this._editProvider.afterItemsRendered()},_selectedItemClass:function(){return\"dx-list-item-selected\"},_itemResponseWaitClass:function(){return\"dx-list-item-response-wait\"},_itemClickHandler:function(e){var t=(0,i.default)(e.currentTarget);if(!t.is(\".dx-state-disabled, .dx-state-disabled *\")){var n=this._editProvider.handleClick(t,e);n||(this._saveSelectionChangeEvent(e),this.callBase.apply(this,arguments))}},_shouldFireContextMenuEvent:function(){return this.callBase.apply(this,arguments)||this._editProvider.contextMenuHandlerExists()},_itemHoldHandler:function(e){var t=(0,i.default)(e.currentTarget);if(!t.is(\".dx-state-disabled, .dx-state-disabled *\")){var n=(0,o.isTouchEvent)(e)&&this._editProvider.handleContextMenu(t,e);n?e.handledByEditProvider=!0:this.callBase.apply(this,arguments)}},_getItemContainer:function(e){if(this.option(\"grouped\")){var t,n=null===(t=this._editStrategy.getIndexByItemData(e))||void 0===t?void 0:t.group;return this._getGroupContainerByIndex(n)}return this.callBase(e)},_itemContextMenuHandler:function(e){var t=(0,i.default)(e.currentTarget);if(!t.is(\".dx-state-disabled, .dx-state-disabled *\")){var n=!e.handledByEditProvider&&this._editProvider.handleContextMenu(t,e);n?e.preventDefault():this.callBase.apply(this,arguments)}},_postprocessRenderItem:function(e){this.callBase.apply(this,arguments),this._editProvider.modifyItemElement(e)},_clean:function(){this._disposeEditProvider(),this.callBase()},focusListItem:function(e){var t=this._editStrategy.getItemElement(e);this.option(\"focusedElement\",t),this.focus(),this.scrollToItem(this.option(\"focusedElement\"))},_optionChanged:function(e){switch(e.name){case\"selectAllMode\":this._initDataSource(),this._dataController.pageIndex(0),this._dataController.load();break;case\"grouped\":this._clearSelectedItems(),delete this._renderingGroupIndex,this._initEditStrategy(),this.callBase(e);break;case\"showSelectionControls\":case\"menuItems\":case\"menuMode\":case\"allowItemDeleting\":case\"itemDeleteMode\":case\"itemDragging\":case\"selectAllText\":this._invalidate();break;case\"onSelectAllValueChanged\":break;default:this.callBase(e)}},selectAll:function(){return this._selection.selectAll(this._isPageSelectAll())},unselectAll:function(){return this._selection.deselectAll(this._isPageSelectAll())},isSelectAll:function(){return this._selection.getSelectAllState(this._isPageSelectAll())},getFlatIndexByItemElement:function(e){return this._itemElements().index(e)},getItemElementByFlatIndex:function(e){var t=this._itemElements();return e<0||e>=t.length?(0,i.default)():t.eq(e)},getItemByIndex:function(e){return this._editStrategy.getItemDataByIndex(e)}});t.default=c,e.exports=t.default,e.exports.default=t.default},85057:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=n(20576),a=d(n(38377)),r=n(13306),s=n(95479),l=d(n(96688)),u=n(40245);function d(e){return e&&e.__esModule?e:{default:e}}var c=[],h=function(e,t,n){c.push({enabled:e,decoratorType:t,decoratorSubType:n})};h((function(){return this.option(\"menuItems\").length}),(function(){return\"menu\"}),(function(){return this.option(\"menuMode\")})),h((function(){return!this.option(\"menuItems\").length&&this.option(\"allowItemDeleting\")}),(function(){var e=this.option(\"itemDeleteMode\");return\"toggle\"===e||\"slideButton\"===e||\"swipe\"===e||\"static\"===e?\"delete\":\"menu\"}),(function(){var e=this.option(\"itemDeleteMode\");return\"slideItem\"===e&&(e=\"slide\"),e})),h((function(){return\"none\"!==this.option(\"selectionMode\")&&this.option(\"showSelectionControls\")}),(function(){return\"selection\"}),(function(){return\"default\"})),h((function(){return this.option(\"itemDragging.allowReordering\")||this.option(\"itemDragging.allowDropInsideItem\")||this.option(\"itemDragging.group\")}),(function(){return\"reorder\"}),(function(){return\"default\"}));var f=a.default.inherit({ctor:function(e){this._list=e,this._fetchRequiredDecorators()},dispose:function(){this._decorators&&this._decorators.length&&(0,s.each)(this._decorators,(function(e,t){t.dispose()}))},_fetchRequiredDecorators:function(){this._decorators=[],(0,s.each)(c,function(e,t){if(t.enabled.call(this._list)){var n=t.decoratorType.call(this._list),i=t.decoratorSubType.call(this._list),o=this._createDecorator(n,i);this._decorators.push(o)}}.bind(this))},_createDecorator:function(e,t){return new(this._findDecorator(e,t))(this._list)},_findDecorator:function(e,t){var n,i=null===(n=u.registry[e])||void 0===n?void 0:n[t];if(!i)throw l.default.Error(\"E1012\",e,t);return i},modifyItemElement:function(e){var t=(0,i.default)(e.itemElement),n={$itemElement:t};this._prependBeforeBags(t,n),this._appendAfterBags(t,n),this._applyDecorators(\"modifyElement\",n)},afterItemsRendered:function(){this._applyDecorators(\"afterRender\")},_prependBeforeBags:function(e,t){var n=this._collectDecoratorsMarkup(\"beforeBag\",t,\"dx-list-item-before-bag\");e.prepend(n)},_appendAfterBags:function(e,t){var n=this._collectDecoratorsMarkup(\"afterBag\",t,\"dx-list-item-after-bag\");e.append(n)},_collectDecoratorsMarkup:function(e,t,n){var o=(0,i.default)(\"<div>\");return(0,s.each)(this._decorators,(function(){var a=(0,i.default)(\"<div>\").addClass(n);this[e]((0,r.extend)({$container:a},t)),a.children().length&&o.append(a)})),o.children()},_applyDecorators:function(e,t){(0,s.each)(this._decorators,(function(){this[e](t)}))},_handlerExists:function(e){if(!this._decorators)return!1;for(var t=this._decorators,n=t.length,i=0;i<n;i++)if(t[i][e]!==o.noop)return!0;return!1},_eventHandler:function(e,t,n){if(!this._decorators)return!1;for(var i=!1,o=this._decorators,a=o.length,r=0;r<a&&!(i=o[r][e](t,n));r++);return i},handleClick:function(e,t){return this._eventHandler(\"handleClick\",e,t)},handleKeyboardEvents:function(e,t){return this._eventHandler(\"handleKeyboardEvents\",e,t)},handleEnterPressing:function(e){return this._eventHandler(\"handleEnterPressing\",e)},contextMenuHandlerExists:function(){return this._handlerExists(\"handleContextMenu\")},handleContextMenu:function(e,t){return this._eventHandler(\"handleContextMenu\",e,t)},getExcludedItemSelectors:function(){var e=[];return this._applyDecorators(\"getExcludedSelectors\",e),e.join(\",\")}});t.default=f,e.exports=t.default,e.exports.default=t.default},27473:function(e,t,n){t.default=void 0;var i=a(n(77834)),o=a(n(2630));function a(e){return e&&e.__esModule?e:{default:e}}var r=i.default.inherit(o.default).inherit({_addWidgetPrefix:function(e){return\"dx-list-\"+e},_getCombinedFilter:function(){var e=this._dataController,t={filter:e.filter()};return e.addSearchFilter(t),t.filter},_initDataSource:function(){var e=this.option(\"searchValue\"),t=this.option(\"searchExpr\"),n=this.option(\"searchMode\");this.callBase();var i=this._dataController;e&&e.length&&i.searchValue(e),n.length&&i.searchOperation(o.default.getOperationBySearchMode(n)),t&&i.searchExpr(t)}});t.default=r,e.exports=t.default,e.exports.default=t.default},24232:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(35922),a=n(95479),r=u(n(99236)),s=u(n(96687)),l=u(n(14174));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(e){return(e.group<<20)+e.item},c=function(e){return{group:e>>20,item:1048575&e}},h=l.default.inherit({_groupElements:function(){return this._collectionWidget._itemContainer().find(\".dx-list-group\")},_groupItemElements:function(e){return e.find(\".dx-list-item\")},getIndexByItemData:function(e){var t=this._collectionWidget.option(\"items\"),n=!1;return!!e&&(e.items&&e.items.length&&(e=e.items[0]),(0,a.each)(t,(function(t,i){return!!i.items&&((0,a.each)(i.items,(function(i,o){return o!==e||(n={group:t,item:i},!1)})),!n&&void 0)})),n)},getItemDataByIndex:function(e){var t=this._collectionWidget.option(\"items\");return(0,o.isNumeric)(e)?this.itemsGetter()[e]:e&&t[e.group]&&t[e.group].items[e.item]||null},itemsGetter:function(){for(var e=[],t=this._collectionWidget.option(\"items\"),n=0;n<t.length;n++)t[n]&&t[n].items?e=e.concat(t[n].items):e.push(t[n]);return e},deleteItemAtIndex:function(e){var t=c(e);this._collectionWidget.option(\"items\")[t.group].items.splice(t.item,1)},getKeysByItems:function(e){var t,n=[];for(t=0;t<e.length;t++)e[t]&&e[t].items?n=n.concat(e[t].items):n.push(e[t]);var i=[];for(t=0;t<n.length;t++)i.push(this._collectionWidget.keyOf(n[t]));return i},getIndexByKey:function(e,t){var n=t||this._collectionWidget.option(\"items\"),i=-1,o=this;return(0,a.each)(n,(function(t,n){if(n.items)return(0,a.each)(n.items,(function(n,a){var r=o._collectionWidget.keyOf(a);if(o._equalKeys(r,e))return i={group:t,item:n},!1})),-1===i&&void 0})),i},_getGroups:function(e){var t=this._collectionWidget._dataController.group();return t?r.default.queryByOptions((0,s.default)(e),{group:t}).toArray():this._collectionWidget.option(\"items\")},getItemsByKeys:function(e,t){var n=this,i=[],o=this._getGroups(t),r={};return(0,a.each)(e,(function(e,t){var a=function(e){var t=n.getIndexByKey(e,o),i=t&&o[t.group];if(i)return{groupKey:i.key,item:i.items[t.item]}}(t);if(a){var s=a.groupKey,l=a.item,u=r[s];u||(u={key:s,items:[]},r[s]=u,i.push(u)),u.items.push(l)}})),i},moveItemAtIndexToIndex:function(e,t){var n=this._collectionWidget.option(\"items\"),i=c(e),o=c(t),a=n[i.group].items,r=n[o.group].items,s=a[i.item];a.splice(i.item,1),r.splice(o.item,0,s)},_isItemIndex:function(e){return e&&(0,o.isNumeric)(e.group)&&(0,o.isNumeric)(e.item)},_getNormalizedItemIndex:function(e){var t=(0,i.default)(e),n=t.closest(\".dx-list-group\");return n.length?d({group:this._groupElements().index(n),item:this._groupItemElements(n).index(t)}):-1},_normalizeItemIndex:function(e){return d(e)},_denormalizeItemIndex:function(e){return c(e)},_getItemByNormalizedIndex:function(e){var t=c(e),n=this._groupElements().eq(t.group);return this._groupItemElements(n).eq(t.item)},_itemsFromSameParent:function(e,t){return c(e).group===c(t).group}});t.default=h,e.exports=t.default,e.exports.default=t.default},56757:function(e,t,n){t.default=void 0;var i=o(n(27473));function o(e){return e&&e.__esModule?e:{default:e}}(0,o(n(99393)).default)(\"dxList\",i.default);var a=i.default;t.default=a,e.exports=t.default,e.exports.default=t.default},2492:function(e,t,n){t.default=void 0;var i=n(58664),o=h(n(68374)),a=n(58201),r=n(60137),s=n(75811),l=n(13306),u=h(n(20530)),d=h(n(99393)),c=h(n(14390));function h(e){return e&&e.__esModule?e:{default:e}}var f=(0,a.getNavigator)(),p=c.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{indicatorSrc:\"\",activeStateEnabled:!1,hoverStateEnabled:!1,_animatingSegmentCount:1,_animatingSegmentInner:!1})},_defaultOptionsRules:function(){var e=(0,s.current)();return this.callBase().concat([{device:function(){return\"android\"===u.default.real().platform&&!/chrome/i.test(f.userAgent)},options:{viaImage:!0}},{device:function(){return(0,s.isMaterial)(e)},options:{_animatingSegmentCount:2,_animatingSegmentInner:!0}},{device:function(){return(0,s.isGeneric)(e)},options:{_animatingSegmentCount:7}}])},_useTemplates:function(){return!1},_init:function(){this.callBase(),this.$element().addClass(\"dx-loadindicator\")},_initMarkup:function(){this.callBase(),this._renderWrapper(),this._renderIndicatorContent(),this._renderMarkup()},_renderWrapper:function(){this._$wrapper=(0,o.default)(\"<div>\").addClass(\"dx-loadindicator-wrapper\"),this.$element().append(this._$wrapper)},_renderIndicatorContent:function(){this._$content=(0,o.default)(\"<div>\").addClass(\"dx-loadindicator-content\"),this._$wrapper.append(this._$content)},_renderMarkup:function(){!(0,r.animation)()||this.option(\"viaImage\")||this.option(\"indicatorSrc\")?this._renderMarkupForImage():this._renderMarkupForAnimation()},_renderMarkupForAnimation:function(){var e=this.option(\"_animatingSegmentInner\");this._$indicator=(0,o.default)(\"<div>\").addClass(\"dx-loadindicator-icon\"),this._$content.append(this._$indicator);for(var t=this.option(\"_animatingSegmentCount\");t>=0;--t){var n=(0,o.default)(\"<div>\").addClass(\"dx-loadindicator-segment\").addClass(\"dx-loadindicator-segment\"+t);e&&n.append((0,o.default)(\"<div>\").addClass(\"dx-loadindicator-segment-inner\")),this._$indicator.append(n)}},_renderMarkupForImage:function(){var e=this.option(\"indicatorSrc\");this._$wrapper.addClass(\"dx-loadindicator-image\"),e&&this._$wrapper.css(\"backgroundImage\",\"url(\"+e+\")\")},_renderDimensions:function(){this.callBase(),this._updateContentSizeForAnimation()},_updateContentSizeForAnimation:function(){if(this._$indicator){var e=this.option(\"width\"),t=this.option(\"height\");if(e||t){e=(0,i.getWidth)(this.$element()),t=(0,i.getHeight)(this.$element());var n=Math.min(t,e);this._$wrapper.css({height:n,width:n,fontSize:n})}}},_clean:function(){this.callBase(),this._removeMarkupForAnimation(),this._removeMarkupForImage()},_removeMarkupForAnimation:function(){this._$indicator&&(this._$indicator.remove(),delete this._$indicator)},_removeMarkupForImage:function(){this._$wrapper.css(\"backgroundImage\",\"none\")},_optionChanged:function(e){switch(e.name){case\"_animatingSegmentCount\":case\"_animatingSegmentInner\":case\"indicatorSrc\":this._invalidate();break;default:this.callBase(e)}}});(0,d.default)(\"dxLoadIndicator\",p);var g=p;t.default=g,e.exports=t.default,e.exports.default=t.default},97218:function(e,t,n){t.default=void 0;var i=h(n(68374)),o=n(20576),a=h(n(28109)),r=h(n(99393)),s=n(13306),l=h(n(2492)),u=h(n(89799)),d=n(62754),c=n(75811);function h(e){return e&&e.__esModule?e:{default:e}}var f=u.default.inherit({_supportedKeys:function(){return(0,s.extend)(this.callBase(),{escape:o.noop})},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{message:a.default.format(\"Loading\"),width:222,height:90,animation:null,showIndicator:!0,indicatorSrc:\"\",showPane:!0,delay:0,templatesRenderAsynchronously:!1,hideTopOverlayHandler:null,focusStateEnabled:!1,propagateOutsideClick:!0,preventScrollEvents:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"generic\"},options:{shadingColor:\"transparent\"}},{device:function(){return(0,c.isMaterial)()},options:{message:\"\",width:60,height:60,maxHeight:60,maxWidth:60}}])},_init:function(){this.callBase.apply(this,arguments)},_render:function(){this.callBase(),this.$element().addClass(\"dx-loadpanel\"),this.$wrapper().addClass(\"dx-loadpanel-wrapper\")},_renderContentImpl:function(){this.callBase(),this.$content().addClass(\"dx-loadpanel-content\"),this._$loadPanelContentWrapper=(0,i.default)(\"<div>\").addClass(\"dx-loadpanel-content-wrapper\"),this._$loadPanelContentWrapper.appendTo(this.$content()),this._togglePaneVisible(),this._cleanPreviousContent(),this._renderLoadIndicator(),this._renderMessage()},_show:function(){var e=this.option(\"delay\");if(!e)return this.callBase();var t=new d.Deferred,n=this.callBase.bind(this);return this._clearShowTimeout(),this._showTimeout=setTimeout((function(){n().done((function(){t.resolve()}))}),e),t.promise()},_hide:function(){return this._clearShowTimeout(),this.callBase()},_clearShowTimeout:function(){clearTimeout(this._showTimeout)},_renderMessage:function(){if(this._$loadPanelContentWrapper){var e=this.option(\"message\");if(e){var t=(0,i.default)(\"<div>\").addClass(\"dx-loadpanel-message\").text(e);this._$loadPanelContentWrapper.append(t)}}},_renderLoadIndicator:function(){this._$loadPanelContentWrapper&&this.option(\"showIndicator\")&&(this._$indicator||(this._$indicator=(0,i.default)(\"<div>\").addClass(\"dx-loadpanel-indicator\").appendTo(this._$loadPanelContentWrapper)),this._createComponent(this._$indicator,l.default,{indicatorSrc:this.option(\"indicatorSrc\")}))},_cleanPreviousContent:function(){this.$content().find(\".dx-loadpanel-message\").remove(),this.$content().find(\".dx-loadpanel-indicator\").remove(),delete this._$indicator},_togglePaneVisible:function(){this.$content().toggleClass(\"dx-loadpanel-pane-hidden\",!this.option(\"showPane\"))},_optionChanged:function(e){switch(e.name){case\"delay\":break;case\"message\":case\"showIndicator\":this._cleanPreviousContent(),this._renderLoadIndicator(),this._renderMessage();break;case\"showPane\":this._togglePaneVisible();break;case\"indicatorSrc\":this._renderLoadIndicator();break;default:this.callBase(e)}},_dispose:function(){this._clearShowTimeout(),this.callBase()}});(0,r.default)(\"dxLoadPanel\",f);var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},55935:function(e,t,n){t.default=void 0;var i=n(58664),o=D(n(68374)),a=D(n(55994)),r=n(58201),s=n(60137),l=n(20576),u=n(6415),d=n(95479),c=n(13306),h=n(45434),f=D(n(28109)),p=D(n(20530)),g=D(n(99393)),m=n(39611),_=D(n(32468)),v=n(75811),y=n(95429),b=D(n(17287)),x=D(n(29837)),w=n(91627),C=n(31648),S=n(35922),k=n(61902);function D(e){return e&&e.__esModule?e:{default:e}}var I=(0,r.getWindow)(),T=_.default.inherit({_supportedKeys:function(){return(0,c.extend)(this.callBase(),{space:function(e){e.preventDefault(),this._validatedOpening()},enter:function(){this._validatedOpening()}})},_getDefaultOptions:function(){var e=function(e){return.8*(\"phone\"===p.default.real().deviceType&&I.visualViewport?I.visualViewport[e]:\"width\"===e?(0,i.getWidth)(I):(0,i.getHeight)(I))};return(0,c.extend)(this.callBase(),{placeholder:f.default.format(\"Select\"),searchPlaceholder:f.default.format(\"Search\"),searchEnabled:!0,searchStartEvent:\"input change keyup\",cleanSearchOnOpening:!0,showCancelButton:!0,showClearButton:!1,clearButtonText:f.default.format(\"Clear\"),applyButtonText:f.default.format(\"OK\"),pullRefreshEnabled:!1,useNativeScrolling:!0,pullingDownText:f.default.format(\"dxList-pullingDownText\"),pulledDownText:f.default.format(\"dxList-pulledDownText\"),refreshingText:f.default.format(\"dxList-refreshingText\"),pageLoadingText:f.default.format(\"dxList-pageLoadingText\"),onScroll:null,onPullRefresh:null,onPageLoading:null,pageLoadMode:\"scrollBottom\",nextButtonText:f.default.format(\"dxList-nextButtonText\"),grouped:!1,groupTemplate:\"group\",usePopover:!1,showDropDownButton:!1,focusStateEnabled:!1,dropDownOptions:{showTitle:!0,width:function(){return e(\"width\")},height:function(){return e(\"height\")},shading:!0,hideOnOutsideClick:!1,position:void 0,animation:{},title:\"\",titleTemplate:\"title\",onTitleRendered:null,fullScreen:!1},dropDownCentered:!1,_scrollToSelectedItemEnabled:!1,useHiddenSubmitElement:!0})},_setDeprecatedOptions:function(){this.callBase(),(0,c.extend)(this._deprecatedOptions,{valueChangeEvent:{since:\"22.1\",alias:\"searchStartEvent\"}})},_defaultOptionsRules:function(){var e=this,t=(0,v.current)();return this.callBase().concat([{device:function(){return!s.nativeScrolling},options:{useNativeScrolling:!1}},{device:function(e){return!p.default.isSimulator()&&\"desktop\"===p.default.real().deviceType&&\"generic\"===e.platform},options:{usePopover:!0,dropDownOptions:{height:\"auto\"}}},{device:{platform:\"ios\",phone:!0},options:{dropDownOptions:{fullScreen:!0}}},{device:{platform:\"ios\",tablet:!0},options:{dropDownOptions:{width:function(){return.4*Math.min((0,i.getWidth)(I),(0,i.getHeight)(I))},height:\"auto\"},usePopover:!0}},{device:function(){return\"desktop\"===p.default.real().deviceType&&!p.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,v.isMaterial)(t)},options:{usePopover:!1,searchEnabled:!1,showCancelButton:!1,dropDownCentered:!0,_scrollToSelectedItemEnabled:!0,dropDownOptions:{hideOnOutsideClick:!0,_ignoreFunctionValueDeprecation:!0,width:function(){return(0,k.getElementWidth)(e.$element())},height:function(){return this._getPopupHeight()}.bind(this),showTitle:!1,shading:!1}}}])},_init:function(){this.callBase(),this._initActions()},_initActions:function(){this.callBase(),this._initScrollAction(),this._initPageLoadingAction(),this._initPullRefreshAction()},_initPageLoadingAction:function(){this._pageLoadingAction=this._createActionByOption(\"onPageLoading\")},_initPullRefreshAction:function(){this._pullRefreshAction=this._createActionByOption(\"onPullRefresh\")},_initScrollAction:function(){this._scrollAction=this._createActionByOption(\"onScroll\")},_scrollHandler:function(e){this._scrollAction(e)},_pullRefreshHandler:function(e){this._pullRefreshAction(e)},_pageLoadingHandler:function(e){this._pageLoadingAction(e)},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({group:new w.ChildDefaultTemplate(\"group\"),title:new w.ChildDefaultTemplate(\"title\")})},_initMarkup:function(){this.$element().addClass(\"dx-lookup\").toggleClass(\"dx-lookup-popover-mode\",this.option(\"usePopover\")),this.callBase()},_inputWrapper:function(){return this.$element().find(\".dx-lookup-field-wrapper\")},_dataSourceOptions:function(){return(0,c.extend)(this.callBase(),{paginate:!0})},_fireContentReadyAction:l.noop,_popupWrapperClass:function(){return\"\"},_renderInput:function(){var e=this,t=this._createAction((function(){e._toggleOpenState()}));this._$field=(0,o.default)(\"<div>\").addClass(\"dx-lookup-field\"),this._applyInputAttributes(this.option(\"inputAttr\")),a.default.on(this._$field,(0,m.addNamespace)(y.name,this.NAME),(function(e){t({event:e})}));var n=(0,o.default)(\"<div>\").addClass(\"dx-lookup-arrow\");this._$fieldWrapper=(0,o.default)(\"<div>\").addClass(\"dx-lookup-field-wrapper\").append(this._$field).append(n).appendTo(this.$element())},_applyInputAttributes:function(e){this._$field.attr(e)},_getInputContainer:function(){return this._$fieldWrapper},_renderField:function(){var e=this._getTemplateByOption(\"fieldTemplate\");if(e&&this.option(\"fieldTemplate\"))this._renderFieldTemplate(e);else{var t=this.option(\"displayValue\");this._updateField(t),this.$element().toggleClass(\"dx-lookup-empty\",!this.option(\"selectedItem\"))}},_getLabelContainer:function(){return this._$field},_renderDisplayText:function(e){this._input().length?this.callBase(e):this._updateField(e)},_updateField:function(e){e=(0,S.isDefined)(e)&&String(e)||this.option(\"placeholder\"),this._$field.text(e)},_renderFieldTemplate:function(e){this._$field.empty();var t=this._fieldRenderData();e.render({model:t,container:(0,u.getPublicElement)(this._$field)})},_fieldRenderData:function(){return this.option(\"selectedItem\")},_popupShowingHandler:function(){this.callBase.apply(this,arguments),this.option(\"cleanSearchOnOpening\")&&(this.option(\"searchEnabled\")&&this._searchBox.option(\"value\")&&(this._searchBox.option(\"value\",\"\"),this._searchCanceled()),this._list&&this._list.option(\"focusedElement\",null)),this.option(\"dropDownOptions.fullScreen\")&&this.option(\"_scrollToSelectedItemEnabled\")&&(this._popup.option(\"position\").of=(0,o.default)(I))},_popupShownHandler:function(){var e=this.option(\"_scrollToSelectedItemEnabled\");!this.option(\"dropDownOptions.fullScreen\")&&e&&this._setPopupPosition(),this.callBase()},_scrollToSelectedItem:function(){var e=this._list.option(\"selectedIndex\"),t=this._list.option(\"items\"),n=t.length;0!==n&&(this._list.option(\"grouped\")?this._list.scrollToItem({group:n-1,item:t[n-1].items.length-1}):this._list.scrollToItem(n-1),this._list.scrollToItem(e))},_getDifferenceOffsets:function(e){return e.offset().top-(0,o.default)(this.element()).offset().top},_isCenteringEnabled:function(e,t){return 1<e&&e<t-2},_getPopupOffset:function(){var e=this._listItemElements().length;if(0!==e){var t=(0,o.default)(this._list.element()).find(\".dx-list-item-selected\"),n=this._listItemElements().index(t),a=((0,i.getHeight)(t)-(0,i.getHeight)(this.element()))/2,r=(0,o.default)(this._list.element()).offset().top,s=this.option(\"dropDownOptions.height\"),l=\"function\"==typeof s?s():s,u=(0,i.getHeight)(I),d=0;if(-1!==n){if(this._isCenteringEnabled(n,e)){this._scrollToSelectedItem();var c=(l-(0,i.getHeight)(t))/2-this._getDifferenceOffsets(t);this._list.scrollTo(this._list.scrollTop()+4-c),r<(d=a+this._getDifferenceOffsets(t))&&n!==e-3&&(this._list.scrollTo(this._list.scrollTop()+this._getDifferenceOffsets(t)/2),d=a+this._getDifferenceOffsets(t))}else n<=1?(this._list.scrollTo(0),d=a+this._getDifferenceOffsets(t)):n>=e-2&&(this._scrollToSelectedItem(),d=a+this._getDifferenceOffsets(t));r<d&&(this._scrollToSelectedItem(),d=a+8)}var h=l-d-(0,i.getHeight)(this.element());return u-r<h&&(this._list.scrollTo(this._list.scrollTop()+a-h),d=l-(0,i.getHeight)(this.element())-8),d}},_setPopupPosition:function(){if(this.option(\"dropDownCentered\")&&!this._popup.$wrapper().hasClass(\"dx-popover-flipped-vertical\")){var e=(0,o.default)(this._popup.$content()).parent(),t=this._getPopupOffset(),n=(0,C.locate)(e);(0,C.move)(e,{top:n.top-t})}},_listItemGroupedElements:function(){var e=this._list._itemContainer().children(),t=[];return e.each((function(e,n){t.push((0,o.default)(n).find(\".dx-list-group-header\")[0]),(0,o.default)(n).find(\".dx-list-item\").each((function(e,n){t.push(n)}))})),(0,o.default)(t)},_calculateListHeight:function(e){var t=e?this._listItemGroupedElements():this._listItemElements(),n=(0,o.default)(\".dx-list-item-selected\"),a=t.index(n),r=0;return 0===t.length?r+=8:t.length<5?t.each((function(e,t){r+=(0,i.getOuterHeight)(t)})):(a<=1?t.slice(0,5):this._isCenteringEnabled(a,t.length)?t.slice(a-2,a+3):t.slice(t.length-5,t.length)).each((function(e,t){r+=(0,i.getOuterHeight)(t)})),r+(e?8:16)},_getPopupHeight:function(){var e;return null!==(e=this._list)&&void 0!==e&&e.itemElements().length?this._calculateListHeight(this.option(\"grouped\"))+(this._$searchWrapper?(0,i.getOuterHeight)(this._$searchWrapper):0)+(this._popup._$bottom?(0,i.getOuterHeight)(this._popup._$bottom):0)+(this._popup._$title?(0,i.getOuterHeight)(this._popup._$title):0):\"auto\"},_renderPopup:function(){this.option(\"usePopover\")&&!this.option(\"dropDownOptions.fullScreen\")?this.option(\"_scrollToSelectedItemEnabled\")?this.callBase():this._renderPopover():this.callBase(),this._$popup.addClass(\"dx-lookup-popup\"),this._popup.$wrapper().addClass(\"dx-lookup-popup-wrapper\")},_renderPopover:function(){this._popup=this._createComponent(this._$popup,b.default,(0,c.extend)(this._popupConfig(),this._options.cache(\"dropDownOptions\"),{showEvent:null,hideEvent:null,target:this.$element(),fullScreen:!1,shading:!1,hideOnParentScroll:!0,_fixWrapperPosition:!1,width:this._isInitialOptionValue(\"dropDownOptions.width\")?function(){return(0,i.getOuterWidth)(this.$element())}.bind(this):this._popupConfig().width})),this._popup.$overlayContent().attr(\"role\",\"dialog\"),this._popup.on({showing:this._popupShowingHandler.bind(this),shown:this._popupShownHandler.bind(this),hiding:this._popupHidingHandler.bind(this),hidden:this._popupHiddenHandler.bind(this),contentReady:this._contentReadyHandler.bind(this)}),this.option(\"_scrollToSelectedItemEnabled\")&&this._popup._$arrow.remove(),this._setPopupContentId(this._popup.$content()),this._contentReadyHandler()},_popupHidingHandler:function(){this.callBase(),this.option(\"focusStateEnabled\")&&this.focus()},_popupHiddenHandler:function(){this.callBase(),this.option(\"_scrollToSelectedItemEnabled\")&&(0,C.resetPosition)((0,o.default)(this._popup.content()).parent())},_preventFocusOnPopup:l.noop,_popupConfig:function(){var e=this,t=(0,c.extend)(this.callBase(),{toolbarItems:this._getPopupToolbarItems(),hideOnParentScroll:!1,onPositioned:null,maxHeight:\"100vh\",showTitle:this.option(\"dropDownOptions.showTitle\"),title:this.option(\"dropDownOptions.title\"),titleTemplate:this._getTemplateByOption(\"dropDownOptions.titleTemplate\"),onTitleRendered:this.option(\"dropDownOptions.onTitleRendered\"),fullScreen:this.option(\"dropDownOptions.fullScreen\"),shading:this.option(\"dropDownOptions.shading\"),hideOnOutsideClick:this.option(\"dropDownOptions.hideOnOutsideClick\")||this.option(\"dropDownOptions.closeOnOutsideClick\")});return delete t.animation,delete t.position,this.option(\"_scrollToSelectedItemEnabled\")&&(t.position=this.option(\"dropDownCentered\")?{my:\"left top\",at:\"left top\",of:this.element()}:{my:\"left top\",at:\"left bottom\",of:this.element()},t.hideOnParentScroll=!0),(0,d.each)([\"position\",\"animation\",\"width\",\"height\"],(function(n,i){var o=e.option(\"dropDownOptions.\".concat(i));void 0!==o&&(t[i]=o)})),t},_getPopupToolbarItems:function(){var e=\"useButtons\"===this.option(\"applyValueMode\")?this._popupToolbarItemsConfig():[],t=this._getCancelButtonConfig();t&&e.push(t);var n=this._getClearButtonConfig();return n&&e.push(n),this._applyButtonsLocation(e)},_popupToolbarItemsConfig:function(){return[{shortcut:\"done\",options:{onClick:this._applyButtonHandler.bind(this),text:this.option(\"applyButtonText\")}}]},_getCancelButtonConfig:function(){var e=this;return this.option(\"showCancelButton\")?{shortcut:\"cancel\",onClick:this._cancelButtonHandler.bind(this),options:{onInitialized:function(t){t.component.registerKeyHandler(\"escape\",e.close.bind(e))},text:this.option(\"cancelButtonText\")}}:null},_getClearButtonConfig:function(){return this.option(\"showClearButton\")?{shortcut:\"clear\",onClick:this._resetValue.bind(this),options:{text:this.option(\"clearButtonText\")}}:null},_applyButtonHandler:function(e){e&&this._saveValueChangeEvent(e.event),this.option(\"value\",this._valueGetter(this._currentSelectedItem())),this.callBase()},_cancelButtonHandler:function(){this._refreshSelected(),this.callBase()},_refreshPopupVisibility:function(){this.option(\"opened\")&&this._updateListDimensions()},_dimensionChanged:function(){this.option(\"usePopover\")&&!this.option(\"dropDownOptions.width\")&&this.option(\"dropDownOptions.width\",(0,i.getWidth)(this.$element())),this._updateListDimensions()},_input:function(){return this._$searchBox||this.callBase()},_renderPopupContent:function(){this.callBase(),this._renderSearch()},_renderValueChangeEvent:l.noop,_renderSearch:function(){var e=this,t=this.option(\"searchEnabled\");if(this._toggleSearchClass(t),t){var n=this._$searchWrapper=(0,o.default)(\"<div>\").addClass(\"dx-lookup-search-wrapper\"),i=this._$searchBox=(0,o.default)(\"<div>\").addClass(\"dx-lookup-search\").appendTo(n),a=p.default.current().android?\"text\":\"search\",r=!1,s={mode:a,showClearButton:!0,valueChangeEvent:this.option(\"searchStartEvent\"),inputAttr:{\"aria-label\":\"Search\"},onDisposing:function(){return r=!1},onFocusIn:function(){return r=!0},onFocusOut:function(){return r=!1},onKeyboardHandled:function(t){return r&&e._list._keyboardHandler(t)},onValueChanged:function(t){return e._searchHandler(t)}};this._searchBox=this._createComponent(i,x.default,s),this._registerSearchKeyHandlers(),n.insertBefore(this._$list),this._setSearchPlaceholder()}},_removeSearch:function(){this._$searchWrapper&&this._$searchWrapper.remove(),delete this._$searchWrapper,this._$searchBox&&this._$searchBox.remove(),delete this._$searchBox,delete this._searchBox},_selectListItemHandler:function(e){var t=(0,o.default)(this._list.option(\"focusedElement\"));t.length&&(e.preventDefault(),e.target=t.get(0),this._saveValueChangeEvent(e),this._selectListItem(e.itemData,t))},_registerSearchKeyHandlers:function(){this._searchBox.registerKeyHandler(\"escape\",this.close.bind(this)),this._searchBox.registerKeyHandler(\"enter\",this._selectListItemHandler.bind(this)),this._searchBox.registerKeyHandler(\"space\",this._selectListItemHandler.bind(this)),this._searchBox.registerKeyHandler(\"end\",l.noop),this._searchBox.registerKeyHandler(\"home\",l.noop)},_toggleSearchClass:function(e){this._popup&&this._popup.$wrapper().toggleClass(\"dx-lookup-popup-search\",e)},_setSearchPlaceholder:function(){if(this._$searchBox){var e=this.option(\"minSearchLength\"),t=this.option(\"searchPlaceholder\");e&&t===f.default.format(\"Search\")&&(t=f.default.getFormatter(\"dxLookup-searchPlaceholder\")(e)),this._searchBox.option(\"placeholder\",t)}},_setAriaTargetForList:l.noop,_renderList:function(){var e=this;this.callBase(),this._list.registerKeyHandler(\"escape\",(function(){e.close()}))},_listConfig:function(){return(0,c.extend)(this.callBase(),{tabIndex:0,grouped:this.option(\"grouped\"),groupTemplate:this._getTemplateByOption(\"groupTemplate\"),pullRefreshEnabled:this.option(\"pullRefreshEnabled\"),useNativeScrolling:this.option(\"useNativeScrolling\"),pullingDownText:this.option(\"pullingDownText\"),pulledDownText:this.option(\"pulledDownText\"),refreshingText:this.option(\"refreshingText\"),pageLoadingText:this.option(\"pageLoadingText\"),onScroll:this._scrollHandler.bind(this),onPullRefresh:this._pullRefreshHandler.bind(this),onPageLoading:this._pageLoadingHandler.bind(this),pageLoadMode:this.option(\"pageLoadMode\"),nextButtonText:this.option(\"nextButtonText\"),indicateLoading:this.option(\"searchEnabled\"),onSelectionChanged:this._getSelectionChangedHandler()})},_getSelectionChangedHandler:function(){return this.option(\"showSelectionControls\")?this._selectionChangeHandler.bind(this):l.noop},_listContentReadyHandler:function(){this.callBase.apply(this,arguments),this._refreshSelected()},_runWithoutCloseOnScroll:function(e){var t=this,n=this.option()._scrollToSelectedItemEnabled,i=this._popup.option(\"hideOnParentScroll\");n?(this._popup.option(\"hideOnParentScroll\",!1),e(),this._hideOnParentScrollTimer=setTimeout((function(){t._popup.option(\"hideOnParentScroll\",i)}))):e()},_setFocusPolicy:function(){var e=this;this.option(\"focusStateEnabled\")&&this._runWithoutCloseOnScroll((function(){e.option(\"searchEnabled\")?e._searchBox.focus():e._list.focus()}))},_focusTarget:function(){return this._$field},_keyboardEventBindingTarget:function(){return this._$field},_listItemClickHandler:function(e){this._saveValueChangeEvent(e.event),this._selectListItem(e.itemData,e.event.currentTarget)},_selectListItem:function(e,t){this._list.selectItem(t),\"instantly\"===this.option(\"applyValueMode\")&&this._applyButtonHandler()},_currentSelectedItem:function(){return this.option(\"grouped\")?this._list.option(\"selectedItems[0]\").items[0]:this._list.option(\"selectedItems[0]\")},_resetValue:function(e){this._saveValueChangeEvent(e.event),this.option(\"value\",null),this.option(\"opened\",!1)},_searchValue:function(){return this.option(\"searchEnabled\")&&this._searchBox?this._searchBox.option(\"value\"):\"\"},_renderInputValue:function(){var e=this;return this.callBase().always((function(){e._refreshSelected()}))},_renderPlaceholder:function(){0!==this.$element().find(\".dx-texteditor-input\").length&&this.callBase()},_clean:function(){this._$fieldWrapper.remove(),clearTimeout(this._hideOnParentScrollTimer),this._hideOnParentScrollTimer=null,this._$searchBox=null,this.callBase()},_optionChanged:function(e){var t,n=e.name,i=e.fullName,o=e.value;switch(n){case\"dataSource\":this.callBase.apply(this,arguments),this._renderField();break;case\"searchEnabled\":this._popup&&(this._removeSearch(),this._renderSearch());break;case\"searchPlaceholder\":this._setSearchPlaceholder();break;case\"minSearchLength\":this._setSearchPlaceholder(),this.callBase.apply(this,arguments);break;case\"inputAttr\":this._applyInputAttributes(o);break;case\"usePopover\":case\"placeholder\":this._invalidate();break;case\"clearButtonText\":case\"showClearButton\":case\"showCancelButton\":this._setPopupOption(\"toolbarItems\",this._getPopupToolbarItems());break;case\"applyValueMode\":this.callBase.apply(this,arguments);break;case\"onPageLoading\":this._initPageLoadingAction();break;case\"onPullRefresh\":this._initPullRefreshAction();break;case\"pullRefreshEnabled\":case\"useNativeScrolling\":case\"pullingDownText\":case\"pulledDownText\":case\"refreshingText\":case\"pageLoadingText\":case\"nextButtonText\":case\"grouped\":case\"groupTemplate\":this._setListOption(n);break;case\"searchStartEvent\":null===(t=this._searchBox)||void 0===t||t.option(\"valueChangeEvent\",o);break;case\"onScroll\":this._initScrollAction();break;case\"pageLoadMode\":this._setListOption(\"pageLoadMode\",this.option(\"pageLoadMode\"));break;case\"cleanSearchOnOpening\":case\"_scrollToSelectedItemEnabled\":break;case\"dropDownOptions\":switch(i){case\"dropDownOptions.width\":case\"dropDownOptions.height\":this._popupOptionChanged({name:n,fullName:i,value:\"auto\"===o?this.initialOption(\"dropDownOptions\")[(0,h.getFieldName)(i)]:o}),this._options.cache(\"dropDownOptions\",this.option(\"dropDownOptions\"));break;default:this.callBase.apply(this,arguments)}break;case\"dropDownCentered\":this.option(\"_scrollToSelectedItemEnabled\")&&(this.option(\"dropDownOptions.position\",void 0),this._renderPopup());break;default:this.callBase.apply(this,arguments)}},focus:function(){this.option(\"opened\")?this._setFocusPolicy():a.default.trigger(this._focusTarget(),\"focus\")},field:function(){return this._$field}});(0,g.default)(\"dxLookup\",T);var E=T;t.default=E,e.exports=t.default,e.exports.default=t.default},64304:function(e,t,n){t.default=void 0;var i=b(n(68374)),o=b(n(55994)),a=n(62754),r=b(n(99393)),s=b(n(96688)),l=b(n(20530)),u=b(n(14390)),d=n(78008),c=n(95479),h=n(13306),f=n(89386),p=n(35922),g=n(39611),m=b(n(93786)),_=b(n(48112)),v=b(n(71430)),y=b(n(253));function b(e){return e&&e.__esModule?e:{default:e}}var x={googleStatic:_.default,google:v.default,bing:y.default},w=u.default.inherit({_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{bounds:{northEast:null,southWest:null},center:{lat:0,lng:0},zoom:1,width:300,height:300,type:\"roadmap\",provider:\"google\",autoAdjust:!0,markers:[],markerIconSrc:null,onMarkerAdded:null,onMarkerRemoved:null,routes:[],onRouteAdded:null,onRouteRemoved:null,apiKey:{bing:\"\",google:\"\",googleStatic:\"\"},controls:!1,onReady:null,onUpdated:null,onClick:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===l.default.real().deviceType&&!l.default.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this.$element().addClass(\"dx-map\"),this._lastAsyncAction=Promise.resolve(),this._checkOption(\"provider\"),this._checkOption(\"markers\"),this._checkOption(\"routes\"),this._initContainer(),this._grabEvents(),this._rendered={}},_useTemplates:function(){return!1},_checkOption:function(e){var t=this.option(e);if(\"markers\"===e&&!Array.isArray(t))throw s.default.Error(\"E1022\");if(\"routes\"===e&&!Array.isArray(t))throw s.default.Error(\"E1023\")},_initContainer:function(){this._$container=(0,i.default)(\"<div>\").addClass(\"dx-map-container\"),this.$element().append(this._$container)},_grabEvents:function(){var e=(0,g.addNamespace)(m.default.down,this.NAME);o.default.on(this.$element(),e,this._cancelEvent.bind(this))},_cancelEvent:function(e){this._provider&&this._provider.isEventsCanceled(e)&&!this.option(\"disabled\")&&e.stopPropagation()},_saveRendered:function(e){var t=this.option(e);this._rendered[e]=t.slice()},_render:function(){this.callBase(),this._renderShield(),this._saveRendered(\"markers\"),this._saveRendered(\"routes\"),this._provider=new(x[this.option(\"provider\")])(this,this._$container),this._queueAsyncAction(\"render\",this._rendered.markers,this._rendered.routes)},_renderShield:function(){var e;this.option(\"disabled\")?(e=(0,i.default)(\"<div>\").addClass(\"dx-map-shield\"),this.$element().append(e)):(e=this.$element().find(\".dx-map-shield\")).remove()},_clean:function(){this._cleanFocusState(),this._provider&&this._provider.clean(),this._provider=null,this._lastAsyncAction=Promise.resolve(),this.setOptionSilent(\"bounds\",{northEast:null,southWest:null}),delete this._suppressAsyncAction},_optionChanged:function(e){var t=e.name,n=this._optionChangeBag;switch(this._optionChangeBag=null,t){case\"disabled\":this._renderShield(),this.callBase(e);break;case\"width\":case\"height\":this.callBase(e),this._dimensionChanged();break;case\"provider\":this._suppressAsyncAction=!0,this._invalidate();break;case\"apiKey\":s.default.log(\"W1001\");break;case\"bounds\":this._queueAsyncAction(\"updateBounds\");break;case\"center\":this._queueAsyncAction(\"updateCenter\");break;case\"zoom\":this._queueAsyncAction(\"updateZoom\");break;case\"type\":this._queueAsyncAction(\"updateMapType\");break;case\"controls\":this._queueAsyncAction(\"updateControls\",this._rendered.markers,this._rendered.routes);break;case\"autoAdjust\":this._queueAsyncAction(\"adjustViewport\");break;case\"markers\":case\"routes\":this._checkOption(t);var i=this._rendered[t];this._saveRendered(t),this._queueAsyncAction(\"update\"+(0,d.titleize)(t),n?n.removed:i,n?n.added:this._rendered[t]).then((function(e){n&&n.resolve(e)}));break;case\"markerIconSrc\":this._queueAsyncAction(\"updateMarkers\",this._rendered.markers,this._rendered.markers);break;case\"onReady\":case\"onUpdated\":case\"onMarkerAdded\":case\"onMarkerRemoved\":case\"onRouteAdded\":case\"onRouteRemoved\":case\"onClick\":break;default:this.callBase.apply(this,arguments)}},_visibilityChanged:function(e){e&&this._dimensionChanged()},_dimensionChanged:function(){this._queueAsyncAction(\"updateDimensions\")},_queueAsyncAction:function(e){var t=[].slice.call(arguments).slice(1),n=this._suppressAsyncAction;return this._lastAsyncAction=this._lastAsyncAction.then(function(){return!this._provider||n?Promise.resolve():this._provider[e].apply(this._provider,t).then(function(e){return(e=(0,f.wrapToArray)(e))[0]&&!this._disposed&&this._triggerReadyAction(),e[1]}.bind(this))}.bind(this)),this._lastAsyncAction},_triggerReadyAction:function(){this._createActionByOption(\"onReady\")({originalMap:this._provider.map()})},_triggerUpdateAction:function(){this._createActionByOption(\"onUpdated\")()},setOptionSilent:function(e,t){this._setOptionWithoutOptionChange(e,t)},addMarker:function(e){return this._addFunction(\"markers\",e)},removeMarker:function(e){return this._removeFunction(\"markers\",e)},addRoute:function(e){return this._addFunction(\"routes\",e)},removeRoute:function(e){return this._removeFunction(\"routes\",e)},_addFunction:function(e,t){var n=this.option(e),i=(0,f.wrapToArray)(t);return n.push.apply(n,i),this._partialArrayOptionChange(e,n,i,[])},_removeFunction:function(e,t){var n=this.option(e),i=(0,f.wrapToArray)(t);return(0,c.each)(i,(function(t,o){var a=(0,p.isNumeric)(o)?o:null==n?void 0:n.indexOf(o);if(-1===a)throw s.default.log(\"E1021\",(0,d.titleize)(e.substring(0,e.length-1)),o);var r=n.splice(a,1)[0];i.splice(t,1,r)})),this._partialArrayOptionChange(e,n,[],i)},_partialArrayOptionChange:function(e,t,n,i){return(0,a.fromPromise)(new Promise(function(o){this._optionChangeBag={resolve:o,added:n,removed:i},this.option(e,t)}.bind(this)).then((function(e){return e&&1===e.length?e[0]:e})),this)}});(0,r.default)(\"dxMap\",w);var C=w;t.default=C,e.exports=t.default,e.exports.default=t.default},253:function(e,t,n){t.default=void 0;var i=n(58664),o=n(20576),a=n(58201),r=n(13306),s=f(n(96688)),l=n(95479),u=f(n(67526)),d=f(n(52752)),c=f(n(37208)),h=n(35922);function f(e){return e&&e.__esModule?e:{default:e}}var p,g=(0,a.getWindow)(),m=function(){return g.Microsoft&&g.Microsoft.Maps},_=u.default.inherit({_mapType:function(e){var t={roadmap:Microsoft.Maps.MapTypeId.road,hybrid:Microsoft.Maps.MapTypeId.aerial,satellite:Microsoft.Maps.MapTypeId.aerial};return t[e]||t.road},_movementMode:function(e){var t={driving:Microsoft.Maps.Directions.RouteMode.driving,walking:Microsoft.Maps.Directions.RouteMode.walking};return t[e]||t.driving},_resolveLocation:function(e){return new Promise(function(t){var n=this._getLatLng(e);n?t(new Microsoft.Maps.Location(n.lat,n.lng)):this._geocodeLocation(e).then((function(e){t(e)}))}.bind(this))},_geocodedLocations:{},_geocodeLocationImpl:function(e){return new Promise(function(t){if((0,h.isDefined)(e)){var n=new Microsoft.Maps.Search.SearchManager(this._map),i={where:e,count:1,callback:function(e){if(e.results[0]){var n=e.results[0].location;t(new Microsoft.Maps.Location(n.latitude,n.longitude))}else t(new Microsoft.Maps.Location(0,0))}};n.geocode(i)}else t(new Microsoft.Maps.Location(0,0))}.bind(this))},_normalizeLocation:function(e){return{lat:e.latitude,lng:e.longitude}},_normalizeLocationRect:function(e){var t=this._normalizeLocation(e.getNorthwest()),n=this._normalizeLocation(e.getSoutheast());return{northEast:{lat:t.lat,lng:n.lng},southWest:{lat:n.lat,lng:t.lng}}},_loadImpl:function(){return new Promise(function(e){m()?e():(p||(p=this._loadMapScript()),p.then(function(){m()?e():this._loadMapScript().then(e)}.bind(this)))}.bind(this)).then((function(){return Promise.all([new Promise((function(e){Microsoft.Maps.loadModule(\"Microsoft.Maps.Search\",{callback:e})})),new Promise((function(e){Microsoft.Maps.loadModule(\"Microsoft.Maps.Directions\",{callback:e})}))])}))},_loadMapScript:function(){return new Promise((function(e){g._bingScriptReady=e,c.default.sendRequest({url:\"https://www.bing.com/api/maps/mapcontrol?callback=_bingScriptReady\",dataType:\"script\"})})).then((function(){try{delete g._bingScriptReady}catch(e){g._bingScriptReady=void 0}}))},_init:function(){return this._createMap(),Promise.resolve()},_createMap:function(){var e=this._option(\"controls\");this._map=new Microsoft.Maps.Map(this._$container[0],{credentials:this._keyOption(\"bing\"),zoom:this._option(\"zoom\"),showDashboard:e,showMapTypeSelector:e,showScalebar:e})},_attachHandlers:function(){this._providerViewChangeHandler=Microsoft.Maps.Events.addHandler(this._map,\"viewchange\",this._viewChangeHandler.bind(this)),this._providerClickHandler=Microsoft.Maps.Events.addHandler(this._map,\"click\",this._clickActionHandler.bind(this))},_viewChangeHandler:function(){var e=this._map.getBounds();this._option(\"bounds\",this._normalizeLocationRect(e));var t=this._map.getCenter();this._option(\"center\",this._normalizeLocation(t)),this._preventZoomChangeEvent||this._option(\"zoom\",this._map.getZoom())},_clickActionHandler:function(e){\"map\"===e.targetType&&this._fireClickAction({location:this._normalizeLocation(e.location)})},updateDimensions:function(){var e=this._$container;return this._map.setOptions({width:(0,i.getWidth)(e),height:(0,i.getHeight)(e)}),Promise.resolve()},updateMapType:function(){var e=this._option(\"type\"),t=Microsoft.Maps.LabelOverlay;return this._map.setView({animate:!1,mapTypeId:this._mapType(e),labelOverlay:\"satellite\"===e?t.hidden:t.visible}),Promise.resolve()},updateBounds:function(){return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")),this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(e){var t=new Microsoft.Maps.LocationRect.fromLocations(e[0],e[1]);this._map.setView({animate:!1,bounds:t})}.bind(this))},updateCenter:function(){return this._resolveLocation(this._option(\"center\")).then(function(e){this._map.setView({animate:!1,center:e})}.bind(this))},updateZoom:function(){return this._map.setView({animate:!1,zoom:this._option(\"zoom\")}),Promise.resolve()},updateControls:function(){return this.clean(),this.render.apply(this,arguments)},_renderMarker:function(e){return this._resolveLocation(e.location).then(function(t){var n={icon:e.iconSrc||this._option(\"markerIconSrc\")};if(e.html){(0,r.extend)(n,{htmlContent:e.html,width:null,height:null});var i=e.htmlOffset;i&&(n.anchor=new Microsoft.Maps.Point(-i.left,-i.top))}var a=new Microsoft.Maps.Pushpin(t,n);this._map.entities.push(a);var s,l=this._renderTooltip(t,e.tooltip);if(e.onClick||e.tooltip){var u=this._mapWidget._createAction(e.onClick||o.noop),d=this._normalizeLocation(t);s=Microsoft.Maps.Events.addHandler(a,\"click\",(function(){u({location:d}),l&&l.setOptions({visible:!0})}))}return{location:t,marker:a,infobox:l,handler:s}}.bind(this))},_renderTooltip:function(e,t){if(t){t=this._parseTooltipOptions(t);var n=new Microsoft.Maps.Infobox(e,{description:t.text,offset:new Microsoft.Maps.Point(0,13),visible:t.visible});return n.setMap(this._map),n}},_destroyMarker:function(e){this._map.entities.remove(e.marker),e.infobox&&e.infobox.setMap(null),e.handler&&Microsoft.Maps.Events.removeHandler(e.handler)},_renderRoute:function(e){return Promise.all((0,l.map)(e.locations,function(e){return this._resolveLocation(e)}.bind(this))).then(function(t){return new Promise(function(n){var i=new Microsoft.Maps.Directions.DirectionsManager(this._map),o=new d.default(e.color||this._defaultRouteColor()).toHex(),a=new Microsoft.Maps.Color.fromHex(o);a.a=255*(e.opacity||this._defaultRouteOpacity()),i.setRenderOptions({autoUpdateMapView:!1,displayRouteSelector:!1,waypointPushpinOptions:{visible:!1},drivingPolylineOptions:{strokeColor:a,strokeThickness:e.weight||this._defaultRouteWeight()},walkingPolylineOptions:{strokeColor:a,strokeThickness:e.weight||this._defaultRouteWeight()}}),i.setRequestOptions({routeMode:this._movementMode(e.mode),routeDraggable:!1}),(0,l.each)(t,(function(e,t){var n=new Microsoft.Maps.Directions.Waypoint({location:t});i.addWaypoint(n)}));var r=[];r.push(Microsoft.Maps.Events.addHandler(i,\"directionsUpdated\",(function(e){for(;r.length;)Microsoft.Maps.Events.removeHandler(r.pop());var t=e.routeSummary[0];n({instance:i,northEast:t.northEast,southWest:t.southWest})}))),r.push(Microsoft.Maps.Events.addHandler(i,\"directionsError\",(function(e){for(;r.length;)Microsoft.Maps.Events.removeHandler(r.pop());var t=\"RouteResponseCode: \"+e.responseCode+\" - \"+e.message;s.default.log(\"W1006\",t),n({instance:i})}))),i.calculateDirections()}.bind(this))}.bind(this))},_destroyRoute:function(e){e.instance.dispose()},_fitBounds:function(){if(this._updateBounds(),this._bounds&&this._option(\"autoAdjust\")){var e=this._map.getZoom();this._preventZoomChangeEvent=!0;var t=this._bounds.clone();t.height=1.1*t.height,t.width=1.1*t.width,this._map.setView({animate:!1,bounds:t,zoom:e});var n=this._map.getZoom();e<n?this._map.setView({animate:!1,zoom:e}):this._option(\"zoom\",n),delete this._preventZoomChangeEvent}return Promise.resolve()},_extendBounds:function(e){this._bounds?this._bounds=new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(),this._bounds.getSoutheast(),e):this._bounds=new Microsoft.Maps.LocationRect(e,1e-16,1e-16)},clean:function(){return this._map&&(Microsoft.Maps.Events.removeHandler(this._providerViewChangeHandler),Microsoft.Maps.Events.removeHandler(this._providerClickHandler),this._clearMarkers(),this._clearRoutes(),this._map.dispose()),Promise.resolve()}});t.default=_,e.exports=t.default,e.exports.default=t.default},71430:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=n(58201),a=n(20576),r=p(n(20530)),s=n(13306),l=n(95479),u=p(n(67526)),d=p(n(96688)),c=p(n(52752)),h=p(n(37208)),f=n(35922);function p(e){return e&&e.__esModule?e:{default:e}}var g,m,_=(0,o.getWindow)(),v=function(){return _.google&&_.google.maps},y=u.default.inherit({_mapType:function(e){var t={hybrid:google.maps.MapTypeId.HYBRID,roadmap:google.maps.MapTypeId.ROADMAP,satellite:google.maps.MapTypeId.SATELLITE};return t[e]||t.hybrid},_movementMode:function(e){var t={driving:google.maps.TravelMode.DRIVING,walking:google.maps.TravelMode.WALKING};return t[e]||t.driving},_resolveLocation:function(e){return new Promise(function(t){var n=this._getLatLng(e);n?t(new google.maps.LatLng(n.lat,n.lng)):this._geocodeLocation(e).then((function(e){t(e)}))}.bind(this))},_geocodedLocations:{},_geocodeLocationImpl:function(e){return new Promise((function(t){(0,f.isDefined)(e)?(new google.maps.Geocoder).geocode({address:e},(function(e,n){n===google.maps.GeocoderStatus.OK?t(e[0].geometry.location):(d.default.log(\"W1006\",n),t(new google.maps.LatLng(0,0)))})):t(new google.maps.LatLng(0,0))}))},_normalizeLocation:function(e){return{lat:e.lat(),lng:e.lng()}},_normalizeLocationRect:function(e){return{northEast:this._normalizeLocation(e.getNorthEast()),southWest:this._normalizeLocation(e.getSouthWest())}},_loadImpl:function(){return new Promise(function(e){v()?e():(m||(m=this._loadMapScript()),m.then(function(){v()?e():this._loadMapScript().then(e)}.bind(this)))}.bind(this)).then((function(){(g=function(e){this._position=e.position,this._offset=e.offset,this._$overlayContainer=(0,i.default)(\"<div>\").css({position:\"absolute\",display:\"none\",cursor:\"pointer\"}).append(e.html),this.setMap(e.map)}).prototype=new google.maps.OverlayView,g.prototype.onAdd=function(){(0,i.default)(this.getPanes().overlayMouseTarget).append(this._$overlayContainer),this._clickListener=google.maps.event.addDomListener(this._$overlayContainer.get(0),\"click\",function(e){google.maps.event.trigger(this,\"click\"),e.preventDefault()}.bind(this)),this.draw()},g.prototype.onRemove=function(){google.maps.event.removeListener(this._clickListener),this._$overlayContainer.remove()},g.prototype.draw=function(){var e=this.getProjection().fromLatLngToDivPixel(this._position);this._$overlayContainer.css({left:e.x+this._offset.left,top:e.y+this._offset.top,display:\"block\"})}}))},_loadMapScript:function(){return new Promise(function(e){var t=this._keyOption(\"google\");_._googleScriptReady=e,h.default.sendRequest({url:\"https://maps.googleapis.com/maps/api/js?callback=_googleScriptReady\"+(t?\"&key=\"+t:\"\"),dataType:\"script\"})}.bind(this)).then((function(){try{delete _._googleScriptReady}catch(e){_._googleScriptReady=void 0}}))},_init:function(){return new Promise(function(e){this._resolveLocation(this._option(\"center\")).then(function(t){var n=this._option(\"controls\");this._map=new google.maps.Map(this._$container[0],{zoom:this._option(\"zoom\"),center:t,disableDefaultUI:!n});var i=google.maps.event.addListener(this._map,\"idle\",(function(){e(i)}))}.bind(this))}.bind(this)).then((function(e){google.maps.event.removeListener(e)}))},_attachHandlers:function(){this._boundsChangeListener=google.maps.event.addListener(this._map,\"bounds_changed\",this._boundsChangeHandler.bind(this)),this._clickListener=google.maps.event.addListener(this._map,\"click\",this._clickActionHandler.bind(this))},_boundsChangeHandler:function(){var e=this._map.getBounds();this._option(\"bounds\",this._normalizeLocationRect(e));var t=this._map.getCenter();this._option(\"center\",this._normalizeLocation(t)),this._preventZoomChangeEvent||this._option(\"zoom\",this._map.getZoom())},_clickActionHandler:function(e){this._fireClickAction({location:this._normalizeLocation(e.latLng)})},updateDimensions:function(){var e=this._option(\"center\");return google.maps.event.trigger(this._map,\"resize\"),this._option(\"center\",e),this.updateCenter()},updateMapType:function(){return this._map.setMapTypeId(this._mapType(this._option(\"type\"))),Promise.resolve()},updateBounds:function(){return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")),this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(e){var t=new google.maps.LatLngBounds;t.extend(e[0]),t.extend(e[1]),this._map.fitBounds(t)}.bind(this))},updateCenter:function(){return this._resolveLocation(this._option(\"center\")).then(function(e){this._map.setCenter(e),this._option(\"center\",this._normalizeLocation(e))}.bind(this))},updateZoom:function(){return this._map.setZoom(this._option(\"zoom\")),Promise.resolve()},updateControls:function(){var e=this._option(\"controls\");return this._map.setOptions({disableDefaultUI:!e}),Promise.resolve()},isEventsCanceled:function(e){var t=this._map&&this._map.get(\"gestureHandling\");return!((0,i.default)(e.target).closest(\".\".concat(\"gm-style-iw\")).length>0||\"desktop\"!==r.default.real().deviceType&&\"cooperative\"===t)&&this.callBase()},_renderMarker:function(e){return this._resolveLocation(e.location).then(function(t){var n;n=e.html?new g({map:this._map,position:t,html:e.html,offset:(0,s.extend)({top:0,left:0},e.htmlOffset)}):new google.maps.Marker({position:t,map:this._map,icon:e.iconSrc||this._option(\"markerIconSrc\")});var i,o=this._renderTooltip(n,e.tooltip);if(e.onClick||e.tooltip){var r=this._mapWidget._createAction(e.onClick||a.noop),l=this._normalizeLocation(t);i=google.maps.event.addListener(n,\"click\",function(){r({location:l}),o&&o.open(this._map,n)}.bind(this))}return{location:t,marker:n,listener:i}}.bind(this))},_renderTooltip:function(e,t){if(t){t=this._parseTooltipOptions(t);var n=new google.maps.InfoWindow({content:t.text});return t.visible&&n.open(this._map,e),n}},_destroyMarker:function(e){e.marker.setMap(null),e.listener&&google.maps.event.removeListener(e.listener)},_renderRoute:function(e){return Promise.all((0,l.map)(e.locations,function(e){return this._resolveLocation(e)}.bind(this))).then(function(t){return new Promise(function(n){var i={origin:t.shift(),destination:t.pop(),waypoints:(0,l.map)(t,(function(e){return{location:e,stopover:!0}})),optimizeWaypoints:!0,travelMode:this._movementMode(e.mode)};(new google.maps.DirectionsService).route(i,function(t,i){if(i===google.maps.DirectionsStatus.OK){var o=new c.default(e.color||this._defaultRouteColor()).toHex(),a={directions:t,map:this._map,suppressMarkers:!0,preserveViewport:!0,polylineOptions:{strokeWeight:e.weight||this._defaultRouteWeight(),strokeOpacity:e.opacity||this._defaultRouteOpacity(),strokeColor:o}},r=new google.maps.DirectionsRenderer(a),s=t.routes[0].bounds;n({instance:r,northEast:s.getNorthEast(),southWest:s.getSouthWest()})}else d.default.log(\"W1006\",i),n({instance:new google.maps.DirectionsRenderer({})})}.bind(this))}.bind(this))}.bind(this))},_destroyRoute:function(e){e.instance.setMap(null)},_fitBounds:function(){if(this._updateBounds(),this._bounds&&this._option(\"autoAdjust\")){var e=this._map.getZoom();this._preventZoomChangeEvent=!0,this._map.fitBounds(this._bounds),this._boundsChangeHandler();var t=this._map.getZoom();e<t?this._map.setZoom(e):this._option(\"zoom\",t),delete this._preventZoomChangeEvent}return Promise.resolve()},_extendBounds:function(e){this._bounds||(this._bounds=new google.maps.LatLngBounds),this._bounds.extend(e)},clean:function(){return this._map&&(google.maps.event.removeListener(this._boundsChangeListener),google.maps.event.removeListener(this._clickListener),this._clearMarkers(),this._clearRoutes(),delete this._map,this._$container.empty()),Promise.resolve()}});t.default=y,e.exports=t.default,e.exports.default=t.default},67526:function(e,t,n){t.default=void 0;var i,o=n(13306),a=n(95479),r=(i=n(90169))&&i.__esModule?i:{default:i};var s=r.default.abstract,l=r.default.inherit({_geocodeLocation:function(e){return new Promise(function(t){var n=this._geocodedLocations,i=n[e];i?t(i):this._geocodeLocationImpl(e).then((function(i){n[e]=i,t(i)}))}.bind(this))},_renderImpl:function(){return this._load().then(function(){return this._init()}.bind(this)).then(function(){return Promise.all([this.updateMapType(),this._areBoundsSet()?this.updateBounds():this.updateCenter()])}.bind(this)).then(function(){return this._attachHandlers(),new Promise((function(e){var t=setTimeout((function(){clearTimeout(t),e()}))}))}.bind(this))},_load:function(){return this._mapsLoader||(this._mapsLoader=this._loadImpl()),this._markers=[],this._routes=[],this._mapsLoader},_loadImpl:s,_init:s,_attachHandlers:s,addMarkers:function(e){return Promise.all((0,a.map)(e,function(e){return this._addMarker(e)}.bind(this))).then(function(e){return this._fitBounds(),[!1,(0,a.map)(e,(function(e){return e.marker}))]}.bind(this))},_addMarker:function(e){return this._renderMarker(e).then(function(t){return this._markers.push((0,o.extend)({options:e},t)),this._fireMarkerAddedAction({options:e,originalMarker:t.marker}),t}.bind(this))},_renderMarker:s,removeMarkers:function(e){var t=this;return(0,a.each)(e,(function(e,n){t._removeMarker(n)})),Promise.resolve()},_removeMarker:function(e){var t=this;(0,a.each)(this._markers,(function(n,i){return i.options!==e||(t._destroyMarker(i),t._markers.splice(n,1),t._fireMarkerRemovedAction({options:i.options}),!1)}))},_destroyMarker:s,_clearMarkers:function(){for(;this._markers.length>0;)this._removeMarker(this._markers[0].options)},addRoutes:function(e){return Promise.all((0,a.map)(e,function(e){return this._addRoute(e)}.bind(this))).then(function(e){return this._fitBounds(),[!1,(0,a.map)(e,(function(e){return e.instance}))]}.bind(this))},_addRoute:function(e){return this._renderRoute(e).then(function(t){return this._routes.push((0,o.extend)({options:e},t)),this._fireRouteAddedAction({options:e,originalRoute:t.instance}),t}.bind(this))},_renderRoute:s,removeRoutes:function(e){var t=this;return(0,a.each)(e,(function(e,n){t._removeRoute(n)})),Promise.resolve()},_removeRoute:function(e){var t=this;(0,a.each)(this._routes,(function(n,i){return i.options!==e||(t._destroyRoute(i),t._routes.splice(n,1),t._fireRouteRemovedAction({options:e}),!1)}))},_destroyRoute:s,_clearRoutes:function(){for(;this._routes.length>0;)this._removeRoute(this._routes[0].options)},adjustViewport:function(){return this._fitBounds()},isEventsCanceled:function(){return!0},_fitBounds:s,_updateBounds:function(){var e=this;this._clearBounds(),this._option(\"autoAdjust\")&&((0,a.each)(this._markers,(function(t,n){e._extendBounds(n.location)})),(0,a.each)(this._routes,(function(t,n){n.northEast&&e._extendBounds(n.northEast),n.southWest&&e._extendBounds(n.southWest)})))},_clearBounds:function(){this._bounds=null},_extendBounds:s});t.default=l,e.exports=t.default,e.exports.default=t.default},48112:function(e,t,n){t.default=void 0;var i=n(58664),o=n(95479),a=u(n(55994)),r=u(n(90169)),s=u(n(52752)),l=n(95429);function u(e){return e&&e.__esModule?e:{default:e}}var d=r.default.inherit({_locationToString:function(e){var t=this._getLatLng(e);return t?t.lat+\",\"+t.lng:e.toString().replace(/ /g,\"+\")},_renderImpl:function(){return this._updateMap()},updateDimensions:function(){return this._updateMap()},updateMapType:function(){return this._updateMap()},updateBounds:function(){return Promise.resolve()},updateCenter:function(){return this._updateMap()},updateZoom:function(){return this._updateMap()},updateControls:function(){return Promise.resolve()},addMarkers:function(e){var t=this;return this._updateMap().then((function(n){return(0,o.each)(e,(function(e,n){t._fireMarkerAddedAction({options:n})})),n}))},removeMarkers:function(e){var t=this;return this._updateMap().then((function(n){return(0,o.each)(e,(function(e,n){t._fireMarkerRemovedAction({options:n})})),n}))},adjustViewport:function(){return Promise.resolve()},addRoutes:function(e){var t=this;return this._updateMap().then((function(n){return(0,o.each)(e,(function(e,n){t._fireRouteAddedAction({options:n})})),n}))},removeRoutes:function(e){var t=this;return this._updateMap().then((function(n){return(0,o.each)(e,(function(e,n){t._fireRouteRemovedAction({options:n})})),n}))},clean:function(){return this._$container.css(\"backgroundImage\",\"none\"),a.default.off(this._$container,this._addEventNamespace(l.name)),Promise.resolve()},mapRendered:function(){return!0},_updateMap:function(){var e=this._keyOption(\"googleStatic\"),t=this._$container,n=[\"sensor=false\",\"size=\"+Math.round((0,i.getWidth)(t))+\"x\"+Math.round((0,i.getHeight)(t)),\"maptype=\"+this._option(\"type\"),\"center=\"+this._locationToString(this._option(\"center\")),\"zoom=\"+this._option(\"zoom\"),this._markersSubstring()];n.push.apply(n,this._routeSubstrings()),e&&n.push(\"key=\"+e);var o=\"https://maps.google.com/maps/api/staticmap?\"+n.join(\"&\");return this._$container.css(\"background\",'url(\"'+o+'\") no-repeat 0 0'),this._attachClickEvent(),Promise.resolve(!0)},_markersSubstring:function(){var e=this,t=[],n=this._option(\"markerIconSrc\");return n&&t.push(\"icon:\"+n),(0,o.each)(this._option(\"markers\"),(function(n,i){t.push(e._locationToString(i.location))})),\"markers=\"+t.join(\"|\")},_routeSubstrings:function(){var e=this,t=[];return(0,o.each)(this._option(\"routes\"),(function(n,i){var a=new s.default(i.color||e._defaultRouteColor()).toHex().replace(\"#\",\"0x\"),r=Math.round(255*(i.opacity||e._defaultRouteOpacity())).toString(16),l=i.weight||e._defaultRouteWeight(),u=[];(0,o.each)(i.locations,(function(t,n){u.push(e._locationToString(n))})),t.push(\"path=color:\"+a+r+\"|weight:\"+l+\"|\"+u.join(\"|\"))})),t},_attachClickEvent:function(){var e=this,t=this._addEventNamespace(l.name);a.default.off(this._$container,t),a.default.on(this._$container,t,(function(t){e._fireClickAction({event:t})}))}});t.default=d,e.exports=t.default,e.exports.default=t.default},90169:function(e,t,n){t.default=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i},a=n(95479),r=n(35922),s=n(39611);var l=o.default.abstract,u=o.default.inherit({_defaultRouteWeight:function(){return 5},_defaultRouteOpacity:function(){return.5},_defaultRouteColor:function(){return\"#0000FF\"},ctor:function(e,t){this._mapWidget=e,this._$container=t},render:function(e,t){return this._renderImpl().then(function(){return Promise.all([this._applyFunctionIfNeeded(\"addMarkers\",e),this._applyFunctionIfNeeded(\"addRoutes\",t)]).then((function(){return!0}))}.bind(this))},_renderImpl:l,updateDimensions:l,updateMapType:l,updateBounds:l,updateCenter:l,updateZoom:l,updateControls:l,updateMarkers:function(e,t){return new Promise(function(n){return this._applyFunctionIfNeeded(\"removeMarkers\",e).then(function(e){this._applyFunctionIfNeeded(\"addMarkers\",t).then((function(t){n(t||e)}))}.bind(this))}.bind(this))},addMarkers:l,removeMarkers:l,adjustViewport:l,updateRoutes:function(e,t){return new Promise(function(n){return this._applyFunctionIfNeeded(\"removeRoutes\",e).then(function(e){this._applyFunctionIfNeeded(\"addRoutes\",t).then((function(t){n(t||e)}))}.bind(this))}.bind(this))},addRoutes:l,removeRoutes:l,clean:l,map:function(){return this._map},isEventsCanceled:function(){return!1},_option:function(e,t){if(void 0===t)return this._mapWidget.option(e);this._mapWidget.setOptionSilent(e,t)},_keyOption:function(e){var t=this._option(\"apiKey\");return void 0===t[e]?t:t[e]},_parseTooltipOptions:function(e){return{text:e.text||e,visible:e.isShown||!1}},_getLatLng:function(e){if(\"string\"==typeof e){var t=(0,a.map)(e.split(\",\"),(function(e){return e.trim()})),n=/^[-+]?[0-9]*\\.?[0-9]*$/;if(2===t.length&&t[0].match(n)&&t[1].match(n))return{lat:parseFloat(t[0]),lng:parseFloat(t[1])}}else{if(Array.isArray(e)&&2===e.length)return{lat:e[0],lng:e[1]};if((0,r.isPlainObject)(e)&&(0,r.isNumeric)(e.lat)&&(0,r.isNumeric)(e.lng))return e}return null},_areBoundsSet:function(){return this._option(\"bounds.northEast\")&&this._option(\"bounds.southWest\")},_addEventNamespace:function(e){return(0,s.addNamespace)(e,this._mapWidget.NAME)},_applyFunctionIfNeeded:function(e,t){return t.length?this[e](t):Promise.resolve()},_fireAction:function(e,t){this._mapWidget._createActionByOption(e)(t)},_fireClickAction:function(e){this._fireAction(\"onClick\",e)},_fireMarkerAddedAction:function(e){this._fireAction(\"onMarkerAdded\",e)},_fireMarkerRemovedAction:function(e){this._fireAction(\"onMarkerRemoved\",e)},_fireRouteAddedAction:function(e){this._fireAction(\"onRouteAdded\",e)},_fireRouteRemovedAction:function(e){this._fireAction(\"onRouteRemoved\",e)}});t.default=u,e.exports=t.default,e.exports.default=t.default},76995:function(e,t,n){var i;t.default=void 0;var o=((i=n(2616))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},2616:function(e,t,n){t.default=void 0;var i=n(58664),o=x(n(68374)),a=x(n(55994)),r=x(n(99393)),s=n(20576),l=n(6415),u=n(95479),d=n(35922),c=n(13306),h=n(13660),f=n(39611),p=x(n(93786)),g=n(24028),m=x(n(46377)),_=x(n(89799)),v=x(n(59987)),y=x(n(63008)),b=x(n(30254));function x(e){return e&&e.__esModule?e:{default:e}}function w(e,t){return(w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var C={show:50,hide:300},S=[\"onSubmenuShowing\",\"onSubmenuShown\",\"onSubmenuHiding\",\"onSubmenuHidden\",\"onItemContextMenu\",\"onItemClick\",\"onSelectionChanged\",\"onItemRendered\"],k=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,w(t,n);var m=r.prototype;return m._getDefaultOptions=function(){return(0,c.extend)(e.prototype._getDefaultOptions.call(this),{orientation:\"horizontal\",submenuDirection:\"auto\",showFirstSubmenuMode:{name:\"onClick\",delay:{show:50,hide:300}},hideSubmenuOnMouseLeave:!1,onSubmenuShowing:null,onSubmenuShown:null,onSubmenuHiding:null,onSubmenuHidden:null,adaptivityEnabled:!1})},m._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),(0,c.extend)(this._optionsByReference,{animation:!0,selectedItem:!0})},m._itemElements=function(){var t=e.prototype._itemElements.call(this),n=this._submenuItemElements();return t.add(n)},m._submenuItemElements=function(){var e=[],t=\".\".concat(\"dx-menu-item\"),n=this._submenus.length&&this._submenus[0];return n&&n.itemsContainer()&&(e=n.itemsContainer().find(t)),e},m._focusTarget=function(){return this.$element()},m._isMenuHorizontal=function(){return\"horizontal\"===this.option(\"orientation\")},m._moveFocus=function(t){var n,i,o,a=this._getAvailableItems(),r=this._isMenuHorizontal(),s=this._getActiveItem(!0);switch(t){case\"up\":i=r?\"showSubmenu\":this._getItemsNavigationOperation(\"prevItem\"),n=r?s:a,o=this._getKeyboardNavigationAction(i,n)();break;case\"down\":i=r?\"showSubmenu\":this._getItemsNavigationOperation(\"nextItem\"),n=r?s:a,o=this._getKeyboardNavigationAction(i,n)();break;case\"right\":i=r?this._getItemsNavigationOperation(\"nextItem\"):\"showSubmenu\",n=r?a:s,o=this._getKeyboardNavigationAction(i,n)();break;case\"left\":i=r?this._getItemsNavigationOperation(\"prevItem\"):\"showSubmenu\",n=r?a:s,o=this._getKeyboardNavigationAction(i,n)();break;default:return e.prototype._moveFocus.call(this,t)}o&&0!==o.length&&this.option(\"focusedElement\",(0,l.getPublicElement)(o))},m._getItemsNavigationOperation=function(e){var t=e;return this.option(\"rtlEnabled\")&&(t=\"prevItem\"===e?\"nextItem\":\"prevItem\"),t},m._getKeyboardNavigationAction=function(e,t){var n=s.noop;switch(e){case\"showSubmenu\":t.hasClass(\"dx-state-disabled\")||(n=this._showSubmenu.bind(this,t));break;case\"nextItem\":n=this._nextItem.bind(this,t);break;case\"prevItem\":n=this._prevItem.bind(this,t)}return n},m._clean=function(){e.prototype._clean.call(this),this.option(\"templatesRenderAsynchronously\")&&clearTimeout(this._resizeEventTimer)},m._visibilityChanged=function(e){e&&(this._menuItemsWidth||this._updateItemsWidthCache(),this._dimensionChanged())},m._isAdaptivityEnabled=function(){return this.option(\"adaptivityEnabled\")&&\"horizontal\"===this.option(\"orientation\")},m._updateItemsWidthCache=function(){var e=this.$element().find(\"ul\").first().children(\"li\").children(\".\".concat(\"dx-menu-item\"));this._menuItemsWidth=this._getSummaryItemsWidth(e,!0)},m._dimensionChanged=function(){if(this._isAdaptivityEnabled()){var e=(0,i.getOuterWidth)(this.$element());this._toggleAdaptiveMode(this._menuItemsWidth>e)}},m._init=function(){e.prototype._init.call(this),this._submenus=[]},m._initActions=function(){var e=this;this._actions={},(0,u.each)(S,(function(t,n){e._actions[n]=e._createActionByOption(n)}))},m._initMarkup=function(){this._visibleSubmenu=null,this.$element().addClass(\"dx-menu\"),e.prototype._initMarkup.call(this),this._addCustomCssClass(this.$element()),this.setAria(\"role\",\"menubar\")},m._render=function(){e.prototype._render.call(this),this._initAdaptivity()},m._renderHamburgerButton=function(){return this._hamburger=new y.default((0,o.default)(\"<div>\").addClass(\"dx-menu-hamburger-button\"),{icon:\"menu\",activeStateEnabled:!1,onClick:this._toggleTreeView.bind(this)}),this._hamburger.$element()},m._toggleTreeView=function(e){(0,d.isPlainObject)(e)&&(e=!this._overlay.option(\"visible\")),this._overlay.option(\"visible\",e),this._toggleHamburgerActiveState(e)},m._toggleHamburgerActiveState=function(e){this._hamburger&&this._hamburger.$element().toggleClass(\"dx-state-active\",e)},m._toggleAdaptiveMode=function(e){var t=this.$element().find(\".\".concat(\"dx-menu-horizontal\")),n=this.$element().find(\".\".concat(\"dx-menu-adaptive-mode\"));e?this._hideVisibleSubmenu():(this._treeView&&this._treeView.collapseAll(),this._overlay&&this._toggleTreeView(e)),t.toggle(!e),n.toggle(e)},m._removeAdaptivity=function(){this._$adaptiveContainer&&(this._toggleAdaptiveMode(!1),this._$adaptiveContainer.remove(),this._$adaptiveContainer=null,this._treeView=null,this._hamburger=null,this._overlay=null)},m._treeviewItemClickHandler=function(e){this._actions.onItemClick(e),e.node.children.length||this._toggleTreeView(!1)},m._getAdaptiveOverlayOptions=function(){var e=this,t=this.option(\"rtlEnabled\")?\"right\":\"left\";return{_ignoreFunctionValueDeprecation:!0,maxHeight:function(){return(0,h.getElementMaxHeightByWindow)(e.$element())},deferRendering:!1,shading:!1,animation:!1,hideOnParentScroll:!0,onHidden:function(){e._toggleHamburgerActiveState(!1)},height:\"auto\",hideOnOutsideClick:function(e){return!(0,o.default)(e.target).closest(\".\".concat(\"dx-menu-hamburger-button\")).length},position:{collision:\"flipfit\",at:\"bottom \"+t,my:\"top \"+t,of:this._hamburger.$element()}}},m._getTreeViewOptions=function(){var e=this,t={};(0,u.each)([\"rtlEnabled\",\"width\",\"accessKey\",\"activeStateEnabled\",\"animation\",\"dataSource\",\"disabled\",\"displayExpr\",\"displayExpr\",\"focusStateEnabled\",\"hint\",\"hoverStateEnabled\",\"itemsExpr\",\"items\",\"itemTemplate\",\"selectedExpr\",\"selectionMode\",\"tabIndex\",\"visible\"],(function(n,i){t[i]=e.option(i)}));return(0,u.each)([\"onItemContextMenu\",\"onSelectionChanged\",\"onItemRendered\"],(function(n,i){t[i]=function(t){e._actions[i](t)}})),(0,c.extend)(t,{dataSource:this.getDataSource(),animationEnabled:!!this.option(\"animation\"),onItemClick:this._treeviewItemClickHandler.bind(this),onItemExpanded:function(t){e._overlay.repaint(),e._actions.onSubmenuShown(t)},onItemCollapsed:function(t){e._overlay.repaint(),e._actions.onSubmenuHidden(t)},selectNodesRecursive:!1,selectByClick:this.option(\"selectByClick\"),expandEvent:\"click\"})},m._initAdaptivity=function(){if(this._isAdaptivityEnabled()){this._$adaptiveContainer=(0,o.default)(\"<div>\").addClass(\"dx-menu-adaptive-mode\");var e=this._renderHamburgerButton();this._treeView=this._createComponent((0,o.default)(\"<div>\"),b.default,this._getTreeViewOptions()),this._overlay=this._createComponent((0,o.default)(\"<div>\"),_.default,this._getAdaptiveOverlayOptions()),this._overlay.$content().append(this._treeView.$element()).addClass(\"dx-menu-adaptive-mode\").addClass(this.option(\"cssClass\")),this._overlay.$wrapper().addClass(\"dx-menu-adaptive-mode-overlay-wrapper\"),this._$adaptiveContainer.append(e),this._$adaptiveContainer.append(this._overlay.$element()),this.$element().append(this._$adaptiveContainer),this._updateItemsWidthCache(),this._dimensionChanged()}},m._getDelay=function(e){var t=this.option(\"showFirstSubmenuMode\").delay;return(0,d.isDefined)(t)?(0,d.isObject)(t)?t[e]:t:C[e]},m._keyboardHandler=function(t){return e.prototype._keyboardHandler.call(this,t,!!this._visibleSubmenu)},m._renderContainer=function(){var t=(0,o.default)(\"<div>\");return t.appendTo(this.$element()).addClass(this._isMenuHorizontal()?\"dx-menu-horizontal\":\"dx-menu-vertical\"),e.prototype._renderContainer.call(this,t)},m._renderSubmenuItems=function(e,t){var n=this._createSubmenu(e,t);return this._submenus.push(n),this._renderBorderElement(t),n},m._getKeyboardListeners=function(){return e.prototype._getKeyboardListeners.call(this).concat(this._visibleSubmenu)},m._createSubmenu=function(e,t){var n=(0,o.default)(\"<div>\").addClass(\"dx-context-menu\").appendTo(t),i=this._getChildNodes(e),a=this._createComponent(n,v.default,(0,c.extend)(this._getSubmenuOptions(),{_dataAdapter:this._dataAdapter,_parentKey:e.internalFields.key,items:i,onHoverStart:this._clearTimeouts.bind(this),position:this.getSubmenuPosition(t)}));return this._attachSubmenuHandlers(t,a),a},m._getSubmenuOptions=function(){var e=this,t=(0,o.default)(\"<div>\"),n=this._isMenuHorizontal();return{itemTemplate:this.option(\"itemTemplate\"),target:t,orientation:this.option(\"orientation\"),selectionMode:this.option(\"selectionMode\"),cssClass:this.option(\"cssClass\"),selectByClick:this.option(\"selectByClick\"),hoverStateEnabled:this.option(\"hoverStateEnabled\"),activeStateEnabled:this.option(\"activeStateEnabled\"),focusStateEnabled:this.option(\"focusStateEnabled\"),animation:this.option(\"animation\"),showSubmenuMode:this.option(\"showSubmenuMode\"),displayExpr:this.option(\"displayExpr\"),disabledExpr:this.option(\"disabledExpr\"),selectedExpr:this.option(\"selectedExpr\"),itemsExpr:this.option(\"itemsExpr\"),onFocusedItemChanged:function(t){t.component.option(\"visible\")&&e.option(\"focusedElement\",t.component.option(\"focusedElement\"))},onSelectionChanged:this._nestedItemOnSelectionChangedHandler.bind(this),onItemClick:this._nestedItemOnItemClickHandler.bind(this),onItemRendered:this._nestedItemOnItemRenderedHandler.bind(this),onLeftFirstItem:n?null:this._moveMainMenuFocus.bind(this,\"prevItem\"),onLeftLastItem:n?null:this._moveMainMenuFocus.bind(this,\"nextItem\"),onCloseRootSubmenu:this._moveMainMenuFocus.bind(this,n?\"prevItem\":null),onExpandLastSubmenu:n?this._moveMainMenuFocus.bind(this,\"nextItem\"):null}},m._getShowFirstSubmenuMode=function(){if(!this._isDesktopDevice())return\"onClick\";var e=this.option(\"showFirstSubmenuMode\");return(0,d.isObject)(e)?e.name:e},m._moveMainMenuFocus=function(e){var t=this._getAvailableItems(),n=t.length,i=t.filter(\".\".concat(\"dx-menu-item-expanded\")).eq(0),o=t.index(i);this._hideSubmenu(this._visibleSubmenu),(o+=\"prevItem\"===e?-1:1)>=n?o=0:o<0&&(o=n-1);var a=t.eq(o);this.option(\"focusedElement\",(0,l.getPublicElement)(a))},m._nestedItemOnSelectionChangedHandler=function(e){var t=e.addedItems.length&&e.addedItems[0],n=v.default.getInstance(e.element);(0,this._actions.onSelectionChanged)(e),t&&this._clearSelectionInSubmenus(t[0],n),this._clearRootSelection(),this._setOptionWithoutOptionChange(\"selectedItem\",t)},m._clearSelectionInSubmenus=function(e,t){var n=this,i=!arguments.length;(0,u.each)(this._submenus,(function(e,o){var a=o._itemContainer(),r=!a.is(t&&t._itemContainer()),s=a.find(\".\".concat(n._selectedItemClass()));if(r&&s.length||i){s.removeClass(n._selectedItemClass());var l=n._getItemData(s);l&&(l.selected=!1),o._clearSelectedItems()}}))},m._clearRootSelection=function(){var e=this.$element().find(\".\".concat(\"dx-menu-items-container\")).first().children().children().filter(\".\".concat(this._selectedItemClass()));e.length&&(this._getItemData(e).selected=!1,e.removeClass(this._selectedItemClass()))},m._nestedItemOnItemClickHandler=function(e){this._actions.onItemClick(e)},m._nestedItemOnItemRenderedHandler=function(e){this._actions.onItemRendered(e)},m._attachSubmenuHandlers=function(e,t){var n=this,i=t.getOverlayContent().find(\".\".concat(\"dx-submenu\")),o=(0,f.addNamespace)(g.end,this.NAME+\"_submenu\");t.option({onShowing:this._submenuOnShowingHandler.bind(this,e,t),onShown:this._submenuOnShownHandler.bind(this,e,t),onHiding:this._submenuOnHidingHandler.bind(this,e,t),onHidden:this._submenuOnHiddenHandler.bind(this,e,t)}),(0,u.each)(i,(function(t,i){a.default.off(i,o),a.default.on(i,o,null,n._submenuMouseLeaveHandler.bind(n,e))}))},m._submenuOnShowingHandler=function(e,t){var n=e.children(\".\".concat(\"dx-context-menu-container-border\"));this._actions.onSubmenuShowing({rootItem:(0,l.getPublicElement)(e),submenu:t}),n.show(),e.addClass(\"dx-menu-item-expanded\")},m._submenuOnShownHandler=function(e,t){this._actions.onSubmenuShown({rootItem:(0,l.getPublicElement)(e),submenu:t})},m._submenuOnHidingHandler=function(e,t,n){var i=e.children(\".\".concat(\"dx-context-menu-container-border\")),o=n;o.rootItem=(0,l.getPublicElement)(e),o.submenu=t,this._actions.onSubmenuHiding(o),(n=o).cancel||(this._visibleSubmenu===t&&(this._visibleSubmenu=null),i.hide(),e.removeClass(\"dx-menu-item-expanded\"))},m._submenuOnHiddenHandler=function(e,t){this._actions.onSubmenuHidden({rootItem:(0,l.getPublicElement)(e),submenu:t})},m._submenuMouseLeaveHandler=function(e,t){var n=(0,o.default)(t.relatedTarget).parents(\".\".concat(\"dx-context-menu\"))[0],i=this._getSubmenuByRootElement(e).getOverlayContent()[0];this.option(\"hideSubmenuOnMouseLeave\")&&n!==i&&(this._clearTimeouts(),setTimeout(this._hideSubmenuAfterTimeout.bind(this),this._getDelay(\"hide\")))},m._hideSubmenuAfterTimeout=function(){if(this._visibleSubmenu){var e=(0,o.default)(this._visibleSubmenu.$element().context).hasClass(\"dx-state-hover\"),t=this._visibleSubmenu.getOverlayContent().find(\".\".concat(\"dx-state-hover\")).length;this._visibleSubmenu.getOverlayContent().get(0).querySelector(\":hover\")||t||e||this._visibleSubmenu.hide()}},m._getSubmenuByRootElement=function(e){if(!e)return!1;var t=e.children(\".\".concat(\"dx-context-menu\"));return t.length&&v.default.getInstance(t)},m.getSubmenuPosition=function(e){var t=this._isMenuHorizontal(),n=this.option(\"submenuDirection\").toLowerCase(),i=this.option(\"rtlEnabled\"),o={collision:\"flip\",of:e,precise:!0};switch(n){case\"leftortop\":o.at=\"left top\",o.my=t?\"left bottom\":\"right top\";break;case\"rightorbottom\":o.at=t?\"left bottom\":\"right top\",o.my=\"left top\";break;default:t?(o.at=i?\"right bottom\":\"left bottom\",o.my=i?\"right top\":\"left top\"):(o.at=i?\"left top\":\"right top\",o.my=i?\"right top\":\"left top\")}return o},m._renderBorderElement=function(e){(0,o.default)(\"<div>\").appendTo(e).addClass(\"dx-context-menu-container-border\").hide()},m._itemPointerDownHandler=function(t){(0,o.default)(t.target).closest(this._itemElements()).hasClass(\"dx-menu-item-has-submenu\")?this.option(\"focusedElement\",null):e.prototype._itemPointerDownHandler.call(this,t)},m._hoverStartHandler=function(e){var t=(0,f.addNamespace)(p.default.move,this.NAME),n=this._getItemElementByEventArgs(e),i=this._dataAdapter.getNodeByItem(this._getItemData(n)),o=(0,d.isDefined)(e.buttons)&&1===e.buttons||!(0,d.isDefined)(e.buttons)&&1===e.which;if(!this._isItemDisabled(n))if(a.default.off(n,t),this._hasChildren(i)){if(\"onHover\"===this._getShowFirstSubmenuMode()&&!o){var r=this._getSubmenuByElement(n);this._clearTimeouts(),r.isOverlayVisible()||(a.default.on(n,t,this._itemMouseMoveHandler.bind(this)),this._showSubmenuTimer=this._getDelay(\"hide\"))}}else this._showSubmenuTimer=setTimeout(this._hideSubmenuAfterTimeout.bind(this),this._getDelay(\"hide\"))},m._hoverEndHandler=function(t){var n=this,i=this._getItemElementByEventArgs(t),a=(0,o.default)(t.relatedTarget);e.prototype._hoverEndHandler.call(this,t),this._clearTimeouts(),this._isItemDisabled(i)||a.hasClass(\"dx-context-menu-content-delimiter\")||this.option(\"hideSubmenuOnMouseLeave\")&&!a.hasClass(\"dx-menu-items-container\")&&(this._hideSubmenuTimer=setTimeout((function(){n._hideSubmenuAfterTimeout()}),this._getDelay(\"hide\")))},m._hideVisibleSubmenu=function(){return!!this._visibleSubmenu&&(this._hideSubmenu(this._visibleSubmenu),!0)},m._showSubmenu=function(e){var t=this._getSubmenuByElement(e);this._visibleSubmenu!==t&&this._hideVisibleSubmenu(),t&&(this._clearTimeouts(),this.focus(),t.show(),this.option(\"focusedElement\",t.option(\"focusedElement\"))),this._visibleSubmenu=t,this._hoveredRootItem=e},m._hideSubmenu=function(e){e&&e.hide(),this._visibleSubmenu===e&&(this._visibleSubmenu=null),this._hoveredRootItem=null},m._itemMouseMoveHandler=function(e){var t=this;if(!e.pointers||!e.pointers.length){var n=(0,o.default)(e.currentTarget);(0,d.isDefined)(this._showSubmenuTimer)&&(this._clearTimeouts(),this._showSubmenuTimer=setTimeout((function(){var e=t._getSubmenuByElement(n);e&&!e.isOverlayVisible()&&t._showSubmenu(n)}),this._getDelay(\"show\")))}},m._clearTimeouts=function(){clearTimeout(this._hideSubmenuTimer),clearTimeout(this._showSubmenuTimer)},m._getSubmenuByElement=function(e,t){var n=this._getSubmenuByRootElement(e);if(n)return n;t=t||this._getItemData(e);var i=this._dataAdapter.getNodeByItem(t);return this._hasChildren(i)&&this._renderSubmenuItems(i,e)},m._updateSubmenuVisibilityOnClick=function(e){var t=e.args.length&&e.args[0];if(t&&!this._disabledGetter(t.itemData)){var n=(0,o.default)(t.itemElement),i=this._getSubmenuByElement(n,t.itemData);if(this._updateSelectedItemOnClick(e),this._visibleSubmenu){if(this._visibleSubmenu===i)return void(\"onClick\"===this.option(\"showFirstSubmenuMode\")&&this._hideSubmenu(this._visibleSubmenu));this._hideSubmenu(this._visibleSubmenu)}i&&(i.isOverlayVisible()||this._showSubmenu(n))}},m._optionChanged=function(t){if(S.indexOf(t.name)>=0)this._initActions();else switch(t.name){case\"orientation\":case\"submenuDirection\":this._invalidate();break;case\"showFirstSubmenuMode\":case\"hideSubmenuOnMouseLeave\":break;case\"showSubmenuMode\":this._changeSubmenusOption(t.name,t.value);break;case\"adaptivityEnabled\":t.value?this._initAdaptivity():this._removeAdaptivity();break;case\"width\":this._isAdaptivityEnabled()&&(this._treeView.option(t.name,t.value),this._overlay.option(t.name,t.value)),e.prototype._optionChanged.call(this,t),this._dimensionChanged();break;case\"animation\":this._isAdaptivityEnabled()&&this._treeView.option(\"animationEnabled\",!!t.value),e.prototype._optionChanged.call(this,t);break;default:!this._isAdaptivityEnabled()||t.name!==t.fullName&&\"items\"!==t.name||this._treeView.option(t.fullName,t.value),e.prototype._optionChanged.call(this,t)}},m._changeSubmenusOption=function(e,t){(0,u.each)(this._submenus,(function(n,i){i.option(e,t)}))},m.selectItem=function(t){this._hideSubmenu(this._visibleSubmenu),e.prototype.selectItem.call(this,t)},m.unselectItem=function(t){this._hideSubmenu(this._visibleSubmenu),e.prototype.selectItem.call(this,t)},r}(m.default);(0,r.default)(\"dxMenu\",k);var D=k;t.default=D,e.exports=t.default,e.exports.default=t.default},59987:function(e,t,n){t.default=void 0;var i=n(58664),o=d(n(68374)),a=n(20576),r=n(6415),s=d(n(49387)),l=n(13306),u=d(n(10042));function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var d=u.prototype;return d._getDefaultOptions=function(){return(0,l.extend)(e.prototype._getDefaultOptions.call(this),{orientation:\"horizontal\",tabIndex:null,onHoverStart:a.noop})},d._initDataAdapter=function(){this._dataAdapter=this.option(\"_dataAdapter\"),this._dataAdapter||e.prototype._initDataAdapter.call(this)},d._renderContentImpl=function(){this._renderContextMenuOverlay(),e.prototype._renderContentImpl.call(this);var t=this._dataAdapter.getNodeByKey(this.option(\"_parentKey\"));t&&this._renderItems(this._getChildNodes(t)),this._renderDelimiter()},d._renderDelimiter=function(){this.$contentDelimiter=(0,o.default)(\"<div>\").appendTo(this._itemContainer()).addClass(\"dx-context-menu-content-delimiter\")},d._getOverlayOptions=function(){return(0,l.extend)(!0,e.prototype._getOverlayOptions.call(this),{onPositioned:this._overlayPositionedActionHandler.bind(this),position:{precise:!0}})},d._overlayPositionedActionHandler=function(e){this._showDelimiter(e)},d._hoverEndHandler=function(t){e.prototype._hoverEndHandler.call(this,t),this._toggleFocusClass(!1,t.currentTarget)},d._isMenuHorizontal=function(){return\"horizontal\"===this.option(\"orientation\")},d._hoverStartHandler=function(t){this.option(\"onHoverStart\")(t),e.prototype._hoverStartHandler.call(this,t),this._toggleFocusClass(!0,t.currentTarget)},d._drawSubmenu=function(t){this._actions.onShowing({rootItem:(0,r.getPublicElement)(t),submenu:this}),e.prototype._drawSubmenu.call(this,t),this._actions.onShown({rootItem:(0,r.getPublicElement)(t),submenu:this})},d._hideSubmenu=function(t){this._actions.onHiding({cancel:!0,rootItem:(0,r.getPublicElement)(t),submenu:this}),e.prototype._hideSubmenu.call(this,t),this._actions.onHidden({rootItem:(0,r.getPublicElement)(t),submenu:this})},d._showDelimiter=function(e){if(this.$contentDelimiter){var t=this._itemContainer().children(\".\".concat(\"dx-submenu\")).eq(0),n=this.option(\"position\").of.find(\".dx-context-menu-container-border\"),o={of:t,precise:!0},a=e.position,r=a.v.location,l=a.h.location,u=n.offset(),d=Math.round(u.left),c=Math.round(u.top),h=(0,i.getWidth)(n),f=(0,i.getHeight)(n),p=(0,i.getWidth)(t),g=(0,i.getHeight)(t);this.$contentDelimiter.css(\"display\",\"block\"),(0,i.setWidth)(this.$contentDelimiter,this._isMenuHorizontal()?h<p?h:p:3),(0,i.setHeight)(this.$contentDelimiter,this._isMenuHorizontal()?3:f<g?f:g),this._isMenuHorizontal()?r>c?Math.round(l)===d?(o.offset=\"0 -2.5\",o.at=o.my=\"left top\"):(o.offset=\"0 -2.5\",o.at=o.my=\"right top\"):((0,i.setHeight)(this.$contentDelimiter,5),Math.round(l)===d?(o.offset=\"0 5\",o.at=o.my=\"left bottom\"):(o.offset=\"0 5\",o.at=o.my=\"right bottom\")):l>d?Math.round(r)===c?(o.offset=\"-2.5 0\",o.at=o.my=\"left top\"):(o.offset=\"-2.5 0\",o.at=o.my=\"left bottom\"):Math.round(r)===c?(o.offset=\"2.5 0\",o.at=o.my=\"right top\"):(o.offset=\"2.5 0\",o.at=o.my=\"right bottom\"),s.default.setup(this.$contentDelimiter,o)}},d._getContextMenuPosition=function(){return this.option(\"position\")},d.isOverlayVisible=function(){return this._overlay.option(\"visible\")},d.getOverlayContent=function(){return this._overlay.$content()},u}(u.default);t.default=h,e.exports=t.default,e.exports.default=t.default},86478:function(e,t,n){t.default=void 0;var i=n(58664),o=v(n(68374)),a=n(31648),r=n(22053),s=n(60810),l=n(13306),u=n(20576),d=n(80506),c=n(6415),h=n(35922),f=v(n(20530)),p=v(n(99393)),g=v(n(69010)),m=v(n(66894)),_=n(62754);function v(e){return e&&e.__esModule?e:{default:e}}var y=function(e){return+e},b=g.default.inherit({_activeStateUnit:\".dx-multiview-item\",_supportedKeys:function(){return(0,l.extend)(this.callBase(),{pageUp:u.noop,pageDown:u.noop})},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{selectedIndex:0,swipeEnabled:!0,animationEnabled:!0,loop:!1,deferRendering:!0,_itemAttributes:{role:\"tabpanel\"},loopItemFocus:!1,selectOnFocus:!0,selectionMode:\"single\",selectionRequired:!0,selectByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===f.default.real().deviceType&&!f.default.isSimulator()},options:{focusStateEnabled:!0}}])},_itemClass:function(){return\"dx-multiview-item\"},_itemDataKey:function(){return\"dxMultiViewItemData\"},_itemContainer:function(){return this._$itemContainer},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_itemWidth:function(){return this._itemWidthValue||(this._itemWidthValue=(0,i.getWidth)(this._$wrapper)),this._itemWidthValue},_clearItemWidthCache:function(){delete this._itemWidthValue},_itemsCount:function(){return this.option(\"items\").length},_normalizeIndex:function(e){var t=this._itemsCount();return e<0&&(e+=t),e>=t&&(e-=t),e},_getRTLSignCorrection:function(){return this.option(\"rtlEnabled\")?-1:1},_init:function(){this.callBase.apply(this,arguments);var e=this.$element();e.addClass(\"dx-multiview\"),this._$wrapper=(0,o.default)(\"<div>\").addClass(\"dx-multiview-wrapper\"),this._$wrapper.appendTo(e),this._$itemContainer=(0,o.default)(\"<div>\").addClass(\"dx-multiview-item-container\"),this._$itemContainer.appendTo(this._$wrapper),this.option(\"loopItemFocus\",this.option(\"loop\")),this._findBoundaryIndices(),this._initSwipeable()},_initMarkup:function(){this._deferredItems=[],this.callBase();var e=this._getSelectedItemIndices();this._updateItemsVisibility(e[0])},_afterItemElementDeleted:function(e,t){this.callBase(e,t),this._deferredItems&&this._deferredItems.splice(t.itemIndex,1)},_beforeItemElementInserted:function(e){this.callBase.apply(this,arguments),this._deferredItems&&this._deferredItems.splice(e.index,0,null)},_executeItemRenderAction:function(e,t,n){e=(this.option(\"items\")||[]).indexOf(t),this.callBase(e,t,n)},_renderItemContent:function(e){var t=new _.Deferred,n=this,i=this.callBase,o=new _.Deferred;return o.done((function(){var o=i.call(n,e);t.resolve(o)})),this._deferredItems[e.index]=o,this.option(\"deferRendering\")||o.resolve(),t.promise()},_render:function(){var e=this;this.callBase(),(0,u.deferRender)((function(){var t=e._getSelectedItemIndices();e._updateItems(t[0])}))},_updateItems:function(e,t){this._updateItemsPosition(e,t),this._updateItemsVisibility(e,t)},_modifyByChanges:function(){this.callBase.apply(this,arguments);var e=this._getSelectedItemIndices();this._updateItemsVisibility(e[0])},_updateItemsPosition:function(e,t){var n=this._itemElements(),i=(0,h.isDefined)(t)?-this._animationDirection(t,e):void 0,o=n.eq(e);r._translator.move(o,0),(0,h.isDefined)(t)&&r._translator.move(n.eq(t),100*i+\"%\")},_updateItemsVisibility:function(e,t){this._itemElements().each(function(n,i){var a=(0,o.default)(i),r=n!==e&&n!==t;r||this._renderSpecificItem(n),a.toggleClass(\"dx-multiview-item-hidden\",r),this.setAria(\"hidden\",r||void 0,a)}.bind(this))},_renderSpecificItem:function(e){var t=this._itemElements().eq(e),n=t.find(this._itemContentClass()).length>0;(0,h.isDefined)(e)&&!n&&(this._deferredItems[e].resolve(),(0,d.triggerResizeEvent)(t))},_refreshItem:function(e,t){this.callBase(e,t),this._updateItemsVisibility(this.option(\"selectedIndex\"))},_setAriaSelectionAttribute:u.noop,_updateSelection:function(e,t){var n=e[0],o=t[0];r.animation.complete(this._$itemContainer),this._updateItems(o,n);var a=this._animationDirection(n,o);this._animateItemContainer(a*this._itemWidth(),function(){r._translator.move(this._$itemContainer,0),this._updateItems(n),(0,i.getWidth)(this._$itemContainer)}.bind(this))},_animateItemContainer:function(e,t){var n=this.option(\"animationEnabled\")?200:0;r.animation.moveTo(this._$itemContainer,e,n,t)},_animationDirection:function(e,t){var n,i=(n=this._$itemContainer,(0,a.locate)(n).left),o=(t-e)*this._getRTLSignCorrection()*this._getItemFocusLoopSignCorrection(),r=0!==i?i:o;return(0,s.sign)(r)},_getSwipeDisabledState:function(){return!this.option(\"swipeEnabled\")||this._itemsCount()<=1},_initSwipeable:function(){var e=this;this._createComponent(this.$element(),m.default,{disabled:this._getSwipeDisabledState(),elastic:!1,itemSizeFunc:this._itemWidth.bind(this),onStart:function(t){return e._swipeStartHandler(t.event)},onUpdated:function(t){return e._swipeUpdateHandler(t.event)},onEnd:function(t){return e._swipeEndHandler(t.event)}})},_findBoundaryIndices:function(){var e,t,n,i,o=this.option(\"items\");o.forEach((function(e,t){var o;Boolean(null==e?void 0:e.disabled)||(null!==(o=n)&&void 0!==o||(n=t),i=t)})),this._boundaryIndices={firstAvailableIndex:null!==(e=n)&&void 0!==e?e:0,lastAvailableIndex:null!==(t=i)&&void 0!==t?t:o.length-1,firstTrueIndex:0,lastTrueIndex:o.length-1}},_swipeStartHandler:function(e){r.animation.complete(this._$itemContainer);var t=this.option(\"selectedIndex\"),n=this.option(\"loop\"),i=this._boundaryIndices,o=i.firstAvailableIndex,a=i.lastAvailableIndex,s=this.option(\"rtlEnabled\");e.maxLeftOffset=y(n||(s?t>o:t<a)),e.maxRightOffset=y(n||(s?t<a:t>o)),this._swipeDirection=null},_swipeUpdateHandler:function(e){var t=e.offset,n=(0,s.sign)(t)*this._getRTLSignCorrection();if(r._translator.move(this._$itemContainer,t*this._itemWidth()),n!==this._swipeDirection){this._swipeDirection=n;var i=this.option(\"selectedIndex\"),o=this._normalizeIndex(i-n);this._updateItems(i,o)}},_findNextAvailableIndex:function(e,t){var n=this.option(),i=n.items,o=n.loop,a=this._boundaryIndices,r=a.firstAvailableIndex,s=a.lastAvailableIndex,l=a.firstTrueIndex,u=a.lastTrueIndex,d=[l,r].includes(e),c=[u,s].includes(e);if(o){if(d&&t<0)return s;if(c&&t>0)return r}for(var h=e+t;h>=r&&h<=s;h+=t){if(!Boolean(i[h].disabled))return h}return e},_swipeEndHandler:function(e){var t=e.targetOffset*this._getRTLSignCorrection();if(t){var n=this._findNextAvailableIndex(this.option(\"selectedIndex\"),-t);this.option(\"selectedIndex\",n);var i=this.itemElements().filter(\".dx-item-selected\");this.option(\"focusStateEnabled\")&&this.option(\"focusedElement\",(0,c.getPublicElement)(i))}else this._animateItemContainer(0,u.noop)},_getItemFocusLoopSignCorrection:function(){return this._itemFocusLooped?-1:1},_moveFocus:function(){this.callBase.apply(this,arguments),this._itemFocusLooped=!1},_prevItem:function(e){var t=this.callBase.apply(this,arguments);return this._itemFocusLooped=t.is(e.last()),t},_nextItem:function(e){var t=this.callBase.apply(this,arguments);return this._itemFocusLooped=t.is(e.first()),t},_dimensionChanged:function(){this._clearItemWidthCache()},_visibilityChanged:function(e){e&&this._dimensionChanged()},_updateSwipeDisabledState:function(){var e=this._getSwipeDisabledState();m.default.getInstance(this.$element()).option(\"disabled\",e)},_dispose:function(){delete this._boundaryIndices,this.callBase()},_optionChanged:function(e){var t=e.value;switch(e.name){case\"loop\":this.option(\"loopItemFocus\",t);break;case\"animationEnabled\":break;case\"swipeEnabled\":this._updateSwipeDisabledState();break;case\"deferRendering\":this._invalidate();break;case\"items\":this._updateSwipeDisabledState(),this._findBoundaryIndices(),this.callBase(e);break;default:this.callBase(e)}}});(0,p.default)(\"dxMultiView\",b);var x=b;t.default=x,e.exports=t.default,e.exports.default=t.default},22053:function(e,t,n){t.animation=t._translator=void 0;var i,o=(i=n(87209))&&i.__esModule?i:{default:i},a=n(31648);var r={move:function(e,t){(0,a.move)(e,{left:t})}};t._translator=r;var s={moveTo:function(e,t,n,i){o.default.animate(e,{type:\"slide\",to:{left:t},duration:n,complete:i})},complete:function(e){o.default.stop(e,!0)}};t.animation=s},59958:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=n(77695),a=n(13306),r=n(35922),s=n(58201),l=u(n(37748));function u(e){return e&&e.__esModule?e:{default:e}}var d=(0,s.getWindow)(),c=null,h={};var f=function(e){return(0,r.isString)(e)&&e.includes(\"top\")?\"down-push\":\"up-push\"},p=function(e){var t=h[e];return t||function(e){var t=(0,i.default)(\"<div>\").appendTo((0,o.value)());return h[e]=t,t}(e)},g=function(e,t){var n=\"dx-toast-stack dx-toast-stack-\".concat(t,\"-direction\");e.removeAttr(\"class\").addClass(n)},m=function(e,t,n){var i=e.children().first().get(0),o={toastWidth:i.offsetWidth,toastHeight:i.offsetHeight,windowHeight:d.innerHeight,windowWidth:d.innerWidth},a=(0,r.isString)(n)?_(n,o):n,s=v(t,a,o);e.css(s)},_=function(e,t){var n=t.toastWidth,i=t.toastHeight,o=t.windowHeight,a=t.windowWidth;switch(e){case\"top left\":return{top:10,left:10};case\"top right\":return{top:10,right:10};case\"bottom left\":return{bottom:10,left:10};case\"bottom right\":return{bottom:10,right:10};case\"top center\":return{top:10,left:Math.round(a/2-n/2)};case\"left center\":return{top:Math.round(o/2-i/2),left:10};case\"right center\":return{top:Math.round(o/2-i/2),right:10};case\"center\":return{top:Math.round(o/2-i/2),left:Math.round(a/2-n/2)};case\"bottom center\":default:return{bottom:10,left:Math.round(a/2-n/2)}}},v=function(e,t,n){var i,o,a,r,s,l,u,d,c,h,f,p,g=n.toastWidth,m=n.toastHeight,_=n.windowHeight,v=n.windowWidth;switch(e.replace(/-push|-stack/g,\"\")){case\"up\":return{bottom:null!==(i=t.bottom)&&void 0!==i?i:_-m-t.top,top:\"\",left:null!==(o=t.left)&&void 0!==o?o:\"\",right:null!==(a=t.right)&&void 0!==a?a:\"\"};case\"down\":return{top:null!==(r=t.top)&&void 0!==r?r:_-m-t.bottom,bottom:\"\",left:null!==(s=t.left)&&void 0!==s?s:\"\",right:null!==(l=t.right)&&void 0!==l?l:\"\"};case\"left\":return{right:null!==(u=t.right)&&void 0!==u?u:v-g-t.left,left:\"\",top:null!==(d=t.top)&&void 0!==d?d:\"\",bottom:null!==(c=t.bottom)&&void 0!==c?c:\"\"};case\"right\":return{left:null!==(h=t.left)&&void 0!==h?h:v-g-t.right,right:\"\",top:null!==(f=t.top)&&void 0!==f?f:\"\",bottom:null!==(p=t.bottom)&&void 0!==p?p:\"\"}}},y=function(e,t,n){var s=(0,r.isPlainObject)(e)?e:{message:e},u=(0,r.isPlainObject)(t)?t:void 0,d=(0,r.isPlainObject)(t)?void 0:t,h=s.onHidden;if(null!=u&&u.position){var _=u.position,v=u.direction||f(_),y=(0,r.isString)(_)?_:\"\".concat(_.top,\"-\").concat(_.left,\"-\").concat(_.bottom,\"-\").concat(_.right),b=s.onShowing,x=p(y);g(x,v),(0,a.extend)(s,{container:x,onShowing:function(e){m(x,v,_),null==b||b(e)}})}(0,a.extend)(s,{type:d,displayTime:n,onHidden:function(e){(0,i.default)(e.element).remove(),null==h||h(e)}}),c=(0,i.default)(\"<div>\").appendTo((0,o.value)()),new l.default(c,s).show()};t.default=y,e.exports=t.default,e.exports.default=t.default},34171:function(e,t,n){var i;t.default=void 0;var o=((i=n(96248))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},35567:function(e,t,n){t.default=void 0;var i=_(n(68374)),o=_(n(73349)),a=_(n(55994)),r=n(20576),s=n(35922),l=n(60810),u=n(13306),d=_(n(20530)),c=_(n(47810)),h=_(n(63513)),f=n(39611),p=_(n(25353)),g=_(n(28109)),m=n(62754);function _(e){return e&&e.__esModule?e:{default:e}}var v=Math,y=[\"tab\",\"del\",\"backspace\",\"leftArrow\",\"rightArrow\",\"home\",\"end\",\"enter\"],b=h.default.inherit({_supportedKeys:function(){return(0,u.extend)(this.callBase(),{upArrow:function(e){(0,f.isCommandKeyPressed)(e)||(e.preventDefault(),e.stopPropagation(),this._spinUpChangeHandler(e))},downArrow:function(e){(0,f.isCommandKeyPressed)(e)||(e.preventDefault(),e.stopPropagation(),this._spinDownChangeHandler(e))},enter:function(){}})},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{value:0,min:void 0,max:void 0,step:1,showSpinButtons:!1,useLargeSpinButtons:!0,mode:\"text\",invalidValueMessage:g.default.format(\"dxNumberBox-invalidValueMessage\"),buttons:void 0})},_useTemplates:function(){return!1},_getDefaultButtons:function(){return this.callBase().concat([{name:\"spins\",Ctor:p.default}])},_isSupportInputMode:function(){var e=parseFloat(c.default.version);return c.default.chrome&&e>=66||c.default.safari&&e>=12},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return d.default.real().generic&&!d.default.isSimulator()},options:{useLargeSpinButtons:!1}},{device:function(){return\"desktop\"!==d.default.real().deviceType&&!this._isSupportInputMode()}.bind(this),options:{mode:\"number\"}}])},_initMarkup:function(){this._renderSubmitElement(),this.$element().addClass(\"dx-numberbox\"),this.callBase()},_getDefaultAttributes:function(){var e=this.callBase();return e.inputmode=\"decimal\",e},_renderContentImpl:function(){this.option(\"isValid\")&&this._validateValue(this.option(\"value\")),this.setAria(\"role\",\"spinbutton\")},_renderSubmitElement:function(){this._$submitElement=(0,i.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element()),this._setSubmitValue(this.option(\"value\"))},_setSubmitValue:function(e){this._getSubmitElement().val((0,r.applyServerDecimalSeparator)(e))},_getSubmitElement:function(){return this._$submitElement},_keyPressHandler:function(e){this.callBase(e);var t=(0,f.getChar)(e);if(!/[\\d.,eE\\-+]/.test(t)){var n=(0,f.normalizeKeyName)(e);if((0,f.isCommandKeyPressed)(e)||n&&y.includes(n))return;return e.preventDefault(),!1}this._keyPressed=!0},_onMouseWheel:function(e){e.delta>0?this._spinValueChange(1,e):this._spinValueChange(-1,e)},_renderValue:function(){var e=this._input().val(),t=this.option(\"value\");e.length&&Number(e)===t||(this._forceValueRender(),this._toggleEmptinessEventHandler());var n=(0,s.isDefined)(t)?null:g.default.format(\"dxNumberBox-noDataText\");return this.setAria({valuenow:(0,r.ensureDefined)(t,\"\"),valuetext:n}),this.option(\"text\",this._input().val()),this._updateButtons(),(new m.Deferred).resolve()},_forceValueRender:function(){var e=this.option(\"value\"),t=Number(e),n=isNaN(t)?\"\":this._applyDisplayValueFormatter(e);this._renderDisplayText(n)},_applyDisplayValueFormatter:function(e){return this.option(\"displayValueFormatter\")(e)},_renderProps:function(){this._input().prop({min:this.option(\"min\"),max:this.option(\"max\"),step:this.option(\"step\")}),this.setAria({valuemin:(0,r.ensureDefined)(this.option(\"min\"),\"\"),valuemax:(0,r.ensureDefined)(this.option(\"max\"),\"\")})},_spinButtonsPointerDownHandler:function(){var e=this._input();this.option(\"useLargeSpinButtons\")||o.default.getActiveElement()===e[0]||a.default.trigger(e,\"focus\")},_spinUpChangeHandler:function(e){this.option(\"readOnly\")||this._spinValueChange(1,e.event||e)},_spinDownChangeHandler:function(e){this.option(\"readOnly\")||this._spinValueChange(-1,e.event||e)},_spinValueChange:function(e,t){var n=parseFloat(this.option(\"step\"));if(0!==n){var i=parseFloat(this._normalizeInputValue())||0;i=this._correctRounding(i,n*e);var o=this.option(\"min\"),a=this.option(\"max\");(0,s.isDefined)(o)&&(i=Math.max(o,i)),(0,s.isDefined)(a)&&(i=Math.min(a,i)),this._saveValueChangeEvent(t),this.option(\"value\",i)}},_correctRounding:function(e,t){var n=/[,.](.*)/,i=n.test(e),o=n.test(t);if(i||o){var a=i?n.exec(e)[0].length:0,r=o?n.exec(t)[0].length:0,s=v.max(a,r);return e=this._round(e+t,s)}return e+t},_round:function(e,t){t=t||0;var n=Math.pow(10,t);return e*=n,e=Math.round(e)/n},_renderValueChangeEvent:function(){this.callBase();var e=(0,f.addNamespace)(\"focusout\",\"NumberBoxForceValueChange\");a.default.off(this.element(),e),a.default.on(this.element(),e,this._forceRefreshInputValue.bind(this))},_forceRefreshInputValue:function(){if(\"number\"!==this.option(\"mode\")){var e=this._input(),t=this._applyDisplayValueFormatter(this.option(\"value\"));e.val(null),e.val(t)}},_valueChangeEventHandler:function(e){var t=this._input(),n=this._normalizeText(),i=this._parseValue(n),o=\".\"!==n&&\"-\"!==n;!this._isValueValid()||this._validateValue(i)?(o&&this.callBase(e,isNaN(i)?null:i),this._applyValueBoundaries(n,i),this.validationRequest.fire({value:i,editor:this})):t.val(this._applyDisplayValueFormatter(i))},_applyValueBoundaries:function(e,t){var n=this._isValueIncomplete(e),i=this._isValueInRange(e);n||i||null===t||Number(e)!==t&&this._input().val(this._applyDisplayValueFormatter(t))},_replaceCommaWithPoint:function(e){return e.replace(\",\",\".\")},_inputIsInvalid:function(){var e=\"number\"===this.option(\"mode\"),t=this._input().get(0).validity;return e&&t&&t.badInput},_renderDisplayText:function(e){this._inputIsInvalid()||this.callBase(e)},_isValueIncomplete:function(e){return/(^-$)|(^-?\\d*\\.$)|(\\d+e-?$)/i.test(e)},_isValueInRange:function(e){return(0,l.inRange)(e,this.option(\"min\"),this.option(\"max\"))},_isNumber:function(e){return null!==this._parseValue(e)},_validateValue:function(e){var t=this._normalizeText(),n=this._isValueValid(),i=!0,o=this._isNumber(t);return isNaN(Number(e))&&(i=!1),!e&&n?i=!0:o||n||(i=!1),this.option({isValid:i,validationError:i?null:{editorSpecific:!0,message:this.option(\"invalidValueMessage\")}}),i},_normalizeInputValue:function(){return this._parseValue(this._normalizeText())},_normalizeText:function(){var e=this._input().val().trim();return this._replaceCommaWithPoint(e)},_parseValue:function(e){var t=parseFloat(e);return isNaN(t)?null:(0,l.fitIntoRange)(t,this.option(\"min\"),this.option(\"max\"))},_clearValue:function(){this._inputIsInvalid()&&(this._input().val(\"\"),this._validateValue()),this.callBase()},reset:function(){null===this.option(\"value\")?(this.option(\"text\",\"\"),this._input().length&&this._renderValue()):this.option(\"value\",null)},_optionChanged:function(e){switch(e.name){case\"value\":this._validateValue(e.value),this._setSubmitValue(e.value),this.callBase(e),this._resumeValueChangeAction();break;case\"step\":this._renderProps();break;case\"min\":case\"max\":this._renderProps(),this.option(\"value\",this._parseValue(this.option(\"value\")));break;case\"showSpinButtons\":case\"useLargeSpinButtons\":this._updateButtons([\"spins\"]);break;case\"invalidValueMessage\":break;default:this.callBase(e)}}});t.default=b,e.exports=t.default,e.exports.default=t.default},58048:function(e,t,n){t.getCaretBoundaries=t.getCaretAfterFormat=void 0,t.getCaretInBoundaries=f,t.isCaretInBoundaries=t.getCaretWithOffset=t.getCaretOffset=void 0;var i,o=n(60810),a=n(20576),r=(i=n(18016))&&i.__esModule?i:{default:i},s=n(7206);var l=function(e,t){if(\"string\"==typeof t){var n=t.split(\";\"),i=r.default.getSign(e,t);n[1]=n[1]||\"-\"+n[0],t=n[i<0?1:0];t=t.replace(/'([^']*)'/g,(function(e){return e.split(\"\").map((function(){return\" \"})).join(\"\").substr(2)}));var o=/^[^#0.,]*/.exec(t)[0].length,a=/[^#0.,]*$/.exec(t)[0].length;return{start:o,end:e.length-a}}return{start:0,end:e.length}};t.getCaretBoundaries=l;var u=function(e,t){var n=r.default.getDecimalSeparator(),i=new RegExp(\"[^0-9\"+(0,a.escapeRegExp)(n)+\"]\",\"g\");return t.slice(0,e).replace(i,\"\").length},d=function(e){return e.split(\"\").reverse().join(\"\")},c=function(e,t){if(!e)return-1;for(var n=/[0-9]/g,i=1,o=null,a=n.exec(t);a;){if(o=a.index,i>=e)return o;i++,a=n.exec(t)}return null===o?t.length:o},h=function(e,t){return void 0===e.start&&(e={start:e,end:e}),{start:e.start+t,end:e.end+t}};t.getCaretWithOffset=h;t.getCaretAfterFormat=function(e,t,n,i){n=h(n,0);var o=r.default.getDecimalSeparator(),a=function(e){return 1===e.length&&!!e.match(/^[,.][0-9]*$/g)}(e),l=(0,s.getRealSeparatorIndex)(i).occurrence,p=a?0:(0,s.getNthOccurrence)(e,o,l),g=(0,s.getNthOccurrence)(t,o,l),m=(0,s.splitByIndex)(e,p),_=(0,s.splitByIndex)(t,g);if(-1!==p&&n.start>p){var v=n.start-p-1,y=u(v,m[1]);return f(_[1]?g+1+c(y,_[1])+1:t.length,t,i)}var b=function(e){return e.replace(/[^0-9e]+$/,\"\")}(_[0]),x=m[0].length-n.start,w=u(x,d(m[0])),C=c(w,d(b));return f(b.length-(C+1),t,i)};function f(e,t,n){e=h(e,0);var i=l(t,n);return{start:(0,o.fitIntoRange)(e.start,i.start,i.end),end:(0,o.fitIntoRange)(e.end,i.start,i.end)}}t.isCaretInBoundaries=function(e,t,n){var i=f(e=h(e,0),t,n);return e.start>=i.start&&e.end<=i.end};t.getCaretOffset=function(e,t,n){var i=l(e,n);return l(t,n).start-i.start}},96248:function(e,t,n){t.default=void 0;var i=a(n(99393)),o=a(n(29983));function a(e){return e&&e.__esModule?e:{default:e}}(0,i.default)(\"dxNumberBox\",o.default);var r=o.default;t.default=r,e.exports=t.default,e.exports.default=t.default},29983:function(e,t,n){t.default=void 0;var i=g(n(55994)),o=n(13306),a=n(35922),r=g(n(20530)),s=n(60810),l=g(n(18016)),u=n(58048),d=n(70629),c=g(n(35567)),h=n(39611),f=n(20576),p=n(7206);function g(e){return e&&e.__esModule?e:{default:e}}var m=c.default.inherit({_getDefaultOptions:function(){return(0,o.extend)(this.callBase(),{useMaskBehavior:!0,format:null})},_isDeleteKey:function(e){return\"del\"===e},_supportedKeys:function(){if(!this._useMaskBehavior())return this.callBase();return(0,o.extend)(this.callBase(),{minus:this._revertSign.bind(this),del:this._removeHandler.bind(this),backspace:this._removeHandler.bind(this),leftArrow:this._arrowHandler.bind(this,-1),rightArrow:this._arrowHandler.bind(this,1),home:this._moveCaretToBoundaryEventHandler.bind(this,1),enter:this._updateFormattedValue.bind(this),end:this._moveCaretToBoundaryEventHandler.bind(this,-1)})},_getTextSeparatorIndex:function(e){var t=l.default.getDecimalSeparator(),n=(0,p.getRealSeparatorIndex)(this.option(\"format\")).occurrence;return(0,p.getNthOccurrence)(e,t,n)},_focusInHandler:function(e){this._preventNestedFocusEvent(e)||(this.clearCaretTimeout(),this._caretTimeout=setTimeout(function(){this._caretTimeout=void 0;var t=this._caret();if(t.start===t.end&&this._useMaskBehavior()){var n=this._getInputVal(),i=this._getTextSeparatorIndex(n);i>=0?this._caret({start:i,end:i}):this._moveCaretToBoundaryEventHandler(-1,e)}}.bind(this),0)),this.callBase(e)},_focusOutHandler:function(e){var t=!this._preventNestedFocusEvent(e);t&&(this._focusOutOccurs=!0,this._useMaskBehavior()&&this._updateFormattedValue()),this.callBase(e),t&&(this._focusOutOccurs=!1)},_hasValueBeenChanged:function(e){var t=this._getFormatPattern(),n=this.option(\"value\");return(this._format(n,t)||\"\")!==e},_updateFormattedValue:function(){var e=this._getInputVal();this._hasValueBeenChanged(e)&&(this._updateParsedValue(),this._adjustParsedValue(),this._setTextByParsedValue(),this._parsedValue!==this.option(\"value\")&&i.default.trigger(this._input(),\"change\"))},_arrowHandler:function(e,t){if(this._useMaskBehavior()){var n=this._getInputVal(),i=this._getFormatPattern(),o=(0,u.getCaretWithOffset)(this._caret(),e);(0,u.isCaretInBoundaries)(o,n,i)||(o=1===e?o.end:o.start,t.preventDefault(),this._caret((0,u.getCaretInBoundaries)(o,n,i)))}},_moveCaretToBoundary:function(e){var t=(0,u.getCaretBoundaries)(this._getInputVal(),this._getFormatPattern()),n=(0,u.getCaretWithOffset)(1===e?t.start:t.end,0);this._caret(n)},_moveCaretToBoundaryEventHandler:function(e,t){!this._useMaskBehavior()||t&&t.shiftKey||(this._moveCaretToBoundary(e),t&&t.preventDefault())},_shouldMoveCaret:function(e,t){var n=l.default.getDecimalSeparator(),i=e.charAt(t.end)===n;return(this._lastKey===n||\".\"===this._lastKey||\",\"===this._lastKey)&&i},_getInputVal:function(){return l.default.convertDigits(this._input().val(),!0)},_keyboardHandler:function(e){if(this.clearCaretTimeout(),this._lastKey=l.default.convertDigits((0,h.getChar)(e),!0),this._lastKeyName=(0,h.normalizeKeyName)(e),!this._shouldHandleKey(e.originalEvent))return this.callBase(e);var t=this._getInputVal(),n=this._caret(),i=\"minus\"===this._lastKeyName?\"\":this._lastKey,o=this._tryParse(t,n,i);return this._shouldMoveCaret(t,n)&&(this._moveCaret(1),e.originalEvent.preventDefault()),void 0===o?\"minus\"!==this._lastKeyName&&e.originalEvent.preventDefault():this._parsedValue=o,this.callBase(e)},_keyPressHandler:function(e){this._useMaskBehavior()||this.callBase(e)},_removeHandler:function(e){var t=this._caret(),n=this._getInputVal(),o=t.start,a=t.end;this._lastKey=(0,h.getChar)(e),this._lastKeyName=(0,h.normalizeKeyName)(e);var r=this._isDeleteKey(this._lastKeyName),s=!r;if(o===a){if(!(s&&o>0||r&&o<n.length))return void e.preventDefault();r&&a++,s&&o--}var u=n.slice(o,a);if(this._isStub(u)){this._moveCaret(r?1:-1),(this._parsedValue<0||1/this._parsedValue==-1/0)&&(this._revertSign(e),this._setTextByParsedValue(),this.option(\"valueChangeEvent\").split(\" \").includes(\"input\")&&i.default.trigger(this._input(),\"input\")),e.preventDefault()}else{var d=l.default.getDecimalSeparator();if(u!==d){if(a-o<n.length)if(this._replaceSelectedText(n,{start:o,end:a},\"\").search(/[0-9]/)<0&&this._isValueInRange(0))return void(this._parsedValue=this._parsedValue<0||1/this._parsedValue==-1/0?-0:0);var c=this._tryParse(n,{start:o,end:a},\"\");void 0===c?e.preventDefault():this._parsedValue=c}else{var f=n.indexOf(d);this._isNonStubAfter(f+1)&&(this._moveCaret(r?1:-1),e.preventDefault())}}},_isPercentFormat:function(){return-1!==this._getFormatPattern().replace(/'[^']+'/g,\"\").indexOf(\"%\")},_parse:function(e,t){var n=this.option(\"format\"),i=(0,a.isFunction)(n.parser),o=i?n.parser:l.default.parse,r=0;if(!i){var s=(0,p.getRealSeparatorIndex)(t).index,u=this._getTextSeparatorIndex(e),d=-1!==s?s:t.length,c=-1!==u?u:e.length;c>d&&-1===t.indexOf(\"#\")&&(r=c-d)}return o(e=e.substr(r),t)},_format:function(e,t){var n=this.option(\"format\"),i=(null==n?void 0:n.formatter)||n,o=(0,a.isFunction)(i)?i:l.default.format;return null===e?\"\":o(e,t)},_getFormatPattern:function(){return this._currentFormat||this._updateFormat(),this._currentFormat},_updateFormat:function(){var e=this,t=this.option(\"format\"),n=(0,a.isFunction)(null==t?void 0:t.parser),i=(0,a.isString)(t)&&(t.indexOf(\"0\")>=0||t.indexOf(\"#\")>=0),o=\"exponential\"===t||\"exponential\"===(null==t?void 0:t.type),r=n||i||o;this._currentFormat=r?t:(0,d.getFormat)((function(n){var i=e._format(n,t);return l.default.convertDigits(i,!0)}))},_getFormatForSign:function(e){var t=this._getFormatPattern();if((0,a.isString)(t)){var n=t.split(\";\"),i=l.default.getSign(e,t);return n[1]=n[1]||\"-\"+n[0],i<0?n[1]:n[0]}return l.default.getSign(e)<0?\"-\":\"\"},_removeStubs:function(e,t){var n=this._getFormatForSign(e),i=l.default.getThousandsSeparator(),o=this._getStubs(n),a=e;if(o.length){var r=o[0],s=new RegExp(\"(\"+(0,f.escapeRegExp)(o[1]||\"\")+\")$\",\"g\"),u=new RegExp(\"[-\"+(0,f.escapeRegExp)(t?\"\":i)+\"]\",\"g\");a=a.replace(r,\"\").replace(s,\"\").replace(u,\"\")}return a},_getStubs:function(e){var t=/[^']([#0.,]+)/g.exec(e),n=t&&t[0].trim();return e.split(n).map((function(e){return e.replace(/'/g,\"\")}))},_truncateToPrecision:function(e,t){if((0,a.isDefined)(e)){var n=e.toString(),i=n.indexOf(\".\");if(n&&i>-1){var o=parseFloat(n.substr(0,i+t+1));return isNaN(o)?e:o}}return e},_tryParse:function(e,t,n){var i=this._replaceSelectedText(e,t,n),o=this._getFormatPattern(),a=t.start!==t.end,r=this._getParsedValue(i,o),s=!o.parser&&this._getPrecisionLimits(i).max,u=r!==this._parsedValue,d=n===l.default.getDecimalSeparator()&&0===s,c=!a&&!u&&\"-\"!==n&&!this._isValueIncomplete(i)&&this._isStub(n);if(!d&&!c&&(\"\"===this._removeStubs(i)&&(r=Math.abs(0*this._parsedValue)),!isNaN(r))){var h=null===r?this._parsedValue:r;return r=s?this._truncateToPrecision(h,s):r,!o.parser&&this._isPercentFormat()?(0,p.adjustPercentValue)(r,s):r}},_getParsedValue:function(e,t){var n=l.default.getSign(e,(null==t?void 0:t.formatter)||t),i=this._removeStubs(e,!0),o=this._parse(i,t),r=o<0?-1:1;return(0,a.isNumeric)(o)&&n!==r?n*o:o},_isValueIncomplete:function(e){if(!this._useMaskBehavior())return this.callBase(e);var t=this._caret(),n=l.default.getDecimalSeparator(),i=this._getTextSeparatorIndex(e),o=i>=0&&i<t.start,a=this._removeStubs(e,!0).split(n);if(!o||2!==a.length)return!1;var r=a[1].length,u=!!this._getFormatPattern().parser,d=!u&&this._getPrecisionLimits(this._getFormatPattern(),e),c=!!u||(0,s.inRange)(r,d.min,d.max),h=\"0\"===a[1].charAt(r-1);return c&&(h||!r)},_isValueInRange:function(e){var t=(0,f.ensureDefined)(this.option(\"min\"),-1/0),n=(0,f.ensureDefined)(this.option(\"max\"),1/0);return(0,s.inRange)(e,t,n)},_setInputText:function(e){var t=l.default.convertDigits(e,!0),n=(0,u.getCaretAfterFormat)(this._getInputVal(),t,this._caret(),this._getFormatPattern());this._input().val(e),this._toggleEmptinessEventHandler(),this._formattedValue=e,this._focusOutOccurs||this._caret(n)},_useMaskBehavior:function(){return!!this.option(\"format\")&&this.option(\"useMaskBehavior\")},_renderInputType:function(){var e=\"number\"===this.option(\"mode\"),t=\"desktop\"===r.default.real().deviceType;this._useMaskBehavior()&&e?this._setInputType(t||this._isSupportInputMode()?\"text\":\"tel\"):this.callBase()},_isChar:function(e){return(0,a.isString)(e)&&1===e.length},_moveCaret:function(e){if(e){var t=(0,u.getCaretWithOffset)(this._caret(),e),n=(0,u.getCaretInBoundaries)(t,this._getInputVal(),this._getFormatPattern());this._caret(n)}},_shouldHandleKey:function(e){var t=(0,h.normalizeKeyName)(e),n=(0,h.isCommandKeyPressed)(e)||e.altKey||e.shiftKey||!this._isChar(t),i=\"minus\"===t;return this._useMaskBehavior()&&!n&&!i},_renderInput:function(){this.callBase(),this._renderFormatter()},_renderFormatter:function(){this._clearCache(),this._detachFormatterEvents(),this._useMaskBehavior()&&this._attachFormatterEvents()},_detachFormatterEvents:function(){i.default.off(this._input(),\".dxNumberFormatter\")},_isInputFromPaste:function(e){var t=e.originalEvent&&e.originalEvent.inputType;return(0,a.isDefined)(t)?\"insertFromPaste\"===t:this._isValuePasted},_attachFormatterEvents:function(){var e=this._input();i.default.on(e,(0,h.addNamespace)(\"input\",\"dxNumberFormatter\"),function(e){this._formatValue(e),this._isValuePasted=!1}.bind(this)),i.default.on(e,(0,h.addNamespace)(\"dxclick\",\"dxNumberFormatter\"),function(){this._caretTimeout||(this._caretTimeout=setTimeout(function(){this._caretTimeout=void 0,this._caret((0,u.getCaretInBoundaries)(this._caret(),this._getInputVal(),this._getFormatPattern()))}.bind(this),0))}.bind(this)),i.default.on(e,\"dxdblclick\",function(){this.clearCaretTimeout()}.bind(this))},clearCaretTimeout:function(){clearTimeout(this._caretTimeout),this._caretTimeout=void 0},_forceRefreshInputValue:function(){if(!this._useMaskBehavior())return this.callBase()},_isNonStubAfter:function(e){var t=this._getInputVal().slice(e);return t&&!this._isStub(t,!0)},_isStub:function(e,t){var n=(0,f.escapeRegExp)(l.default.getDecimalSeparator());return new RegExp(\"^[^0-9\"+n+\"]+$\",\"g\").test(e)&&(t||this._isChar(e))},_parseValue:function(e){return this._useMaskBehavior()?this._parsedValue:this.callBase(e)},_getPrecisionLimits:function(e){var t=this._getFormatForSign(e),n=(0,p.getRealSeparatorIndex)(t).index,i=((0,p.splitByIndex)(t,n)[1]||\"\").replace(/[^#0]/g,\"\");return{min:i.replace(/^(0*)#*/,\"$1\").length,max:i.length}},_revertSign:function(e){if(this._useMaskBehavior()){var t=this._caret();if(t.start!==t.end){if(\"minus\"===(0,h.normalizeKeyName)(e))return void this._applyRevertedSign(e,t,!0);this._caret((0,u.getCaretInBoundaries)(0,this._getInputVal(),this._getFormatPattern()))}this._applyRevertedSign(e,t)}},_applyRevertedSign:function(e,t,n){var i=-1*(0,f.ensureDefined)(this._parsedValue,null);if((this._isValueInRange(i)||0===i)&&(this._parsedValue=i,n)){var o=this._getFormatPattern(),a=this._getInputVal();this._setTextByParsedValue(),e.preventDefault();var r=this._getInputVal(),s=(0,u.getCaretOffset)(a,r,o);t=(0,u.getCaretWithOffset)(t,s);var l=(0,u.getCaretInBoundaries)(t,r,o);this._caret(l)}},_removeMinusFromText:function(e,t){return\"minus\"===this._lastKeyName&&\"-\"===e.charAt(t.start-1)?this._replaceSelectedText(e,{start:t.start-1,end:t.start},\"\"):e},_setTextByParsedValue:function(){var e=this._getFormatPattern(),t=this._parseValue(),n=this._format(t,e)||\"\";this._setInputText(n)},_formatValue:function(e){var t=this._getInputVal(),n=this._caret(),i=this._removeMinusFromText(t,n),o=i!==t;if(t=i,!this._isInputFromPaste(e)&&this._isValueIncomplete(i))return this._formattedValue=t,void(o&&this._setTextByParsedValue());if(l.default.convertDigits(this._formattedValue,!0)!==t){var r=this._tryParse(t,n,\"\");(0,a.isDefined)(r)&&(this._parsedValue=r)}this._setTextByParsedValue()},_renderDisplayText:function(){this._useMaskBehavior()?this._toggleEmptinessEventHandler():this.callBase.apply(this,arguments)},_renderValue:function(){return this._useMaskBehavior()&&(this._parsedValue=this.option(\"value\"),this._setTextByParsedValue()),this.callBase()},_updateParsedValue:function(){var e=this._getInputVal();this._parsedValue=this._tryParse(e,this._caret())},_adjustParsedValue:function(){if(this._useMaskBehavior()){var e=this._removeStubs(this._getInputVal())?this._parseValue():null;(0,a.isNumeric)(e)?this._parsedValue=(0,s.fitIntoRange)(e,this.option(\"min\"),this.option(\"max\")):this._parsedValue=e}},_valueChangeEventHandler:function(e){if(!this._useMaskBehavior())return this.callBase(e);var t=this._caret();this._saveValueChangeEvent(e),this._lastKey=null,this._lastKeyName=null,this._updateParsedValue(),this._adjustParsedValue(),this.option(\"value\",this._parsedValue),t&&this._caret(t)},_optionChanged:function(e){switch(e.name){case\"format\":case\"useMaskBehavior\":this._renderInputType(),this._updateFormat(),this._renderFormatter(),this._renderValue(),this._refreshValueChangeEvent(),this._refreshEvents();break;case\"min\":case\"max\":this._adjustParsedValue(),this.callBase(e);break;default:this.callBase(e)}},_clearCache:function(){delete this._formattedValue,delete this._lastKey,delete this._lastKeyName,delete this._parsedValue,delete this._focusOutOccurs,clearTimeout(this._caretTimeout),delete this._caretTimeout},_clean:function(){this._clearCache(),this.callBase()}});t.default=m,e.exports=t.default,e.exports.default=t.default},30306:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=f(n(73349)),a=f(n(55994)),r=f(n(14390)),s=n(13306),l=n(39611),u=f(n(93786)),d=n(91633),c=f(n(11699)),h=n(62754);function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,l.addNamespace)(u.default.up,\"dxNumberBox\"),g=(0,l.addNamespace)(u.default.cancel,\"dxNumberBox\"),m=r.default.inherit({_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{direction:\"up\",onChange:null,activeStateEnabled:!0,hoverStateEnabled:!0})},_initMarkup:function(){this.callBase();var e=\"dx-numberbox-spin-\"+this.option(\"direction\");this.$element().addClass(\"dx-numberbox-spin-button\").addClass(e),this._spinIcon=(0,i.default)(\"<div>\").addClass(e+\"-icon\").appendTo(this.$element())},_render:function(){this.callBase();var e=(0,l.addNamespace)(u.default.down,this.NAME),t=this.$element();a.default.off(t,e),a.default.on(t,e,this._spinDownHandler.bind(this)),this._spinChangeHandler=this._createActionByOption(\"onChange\")},_spinDownHandler:function(e){e.preventDefault(),this._clearTimer(),a.default.on(this.$element(),c.default.name,function(){this._feedBackDeferred=new h.Deferred,(0,d.lock)(this._feedBackDeferred),this._spinChangeHandler({event:e}),this._holdTimer=setInterval(this._spinChangeHandler,100,{event:e})}.bind(this));var t=o.default.getDocument();a.default.on(t,p,this._clearTimer.bind(this)),a.default.on(t,g,this._clearTimer.bind(this)),this._spinChangeHandler({event:e})},_dispose:function(){this._clearTimer(),this.callBase()},_clearTimer:function(){a.default.off(this.$element(),c.default.name);var e=o.default.getDocument();a.default.off(e,p),a.default.off(e,g),this._feedBackDeferred&&this._feedBackDeferred.resolve(),this._holdTimer&&clearInterval(this._holdTimer)},_optionChanged:function(e){switch(e.name){case\"onChange\":case\"direction\":this._invalidate();break;default:this.callBase(e)}}});t.default=m,e.exports=t.default,e.exports.default=t.default},25353:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=d(n(55994)),a=d(n(11483)),r=d(n(30306)),s=n(39611),l=d(n(93786)),u=n(13306);function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var d=a.prototype;return d._attachEvents=function(e,t){var n=this.editor,i=(0,s.addNamespace)(l.default.down,n.NAME),a=t.children(),u=n._createAction((function(e){return n._spinButtonsPointerDownHandler(e)}));o.default.off(t,i),o.default.on(t,i,(function(e){return u({event:e})})),r.default.getInstance(a.eq(0)).option(\"onChange\",(function(e){return n._spinUpChangeHandler(e)})),r.default.getInstance(a.eq(1)).option(\"onChange\",(function(e){return n._spinDownChangeHandler(e)}))},d._create=function(){var e=this.editor,t=(0,i.default)(\"<div>\").addClass(\"dx-numberbox-spin-container\"),n=(0,i.default)(\"<div>\").appendTo(t),o=(0,i.default)(\"<div>\").appendTo(t),a=this._getOptions();return this._addToContainer(t),e._createComponent(n,r.default,(0,u.extend)({direction:\"up\"},a)),e._createComponent(o,r.default,(0,u.extend)({direction:\"down\"},a)),this._legacyRender(e.$element(),this._isTouchFriendly(),a.visible),{instance:t,$element:t}},d._getOptions=function(){var e=this.editor;return{visible:this._isVisible(),disabled:e.option(\"disabled\")}},d._isVisible=function(){var t=this.editor;return e.prototype._isVisible.call(this)&&t.option(\"showSpinButtons\")},d._isTouchFriendly=function(){var e=this.editor;return e.option(\"showSpinButtons\")&&e.option(\"useLargeSpinButtons\")},d._legacyRender=function(e,t,n){e.toggleClass(\"dx-numberbox-spin-touch-friendly\",t),e.toggleClass(\"dx-numberbox-spin\",n)},d.update=function(){if(e.prototype.update.call(this)){var t=this.editor,n=this.instance,i=t.$element(),o=this._isVisible(),a=this._isTouchFriendly(),s=n.children(),l=r.default.getInstance(s.eq(0)),u=r.default.getInstance(s.eq(1)),d=this._getOptions();l.option(d),u.option(d),this._legacyRender(i,a,o)}},a}(a.default);t.default=h,e.exports=t.default,e.exports.default=t.default},7206:function(e,t,n){t.splitByIndex=t.getRealSeparatorIndex=t.getNthOccurrence=t.adjustPercentValue=void 0;var i=n(60810);t.getRealSeparatorIndex=function(e){for(var t=0,n=0,i=0;i<e.length;++i)if(\"'\"===e[i]&&t++,\".\"===e[i]&&(++n,t%2==0))return{occurrence:n,index:i};return{occurrence:1,index:-1}};t.getNthOccurrence=function(e,t,n){for(var i=-1;n--&&i++<e.length;)i=e.indexOf(t,i);return i};t.splitByIndex=function(e,t){return-1===t?[e]:[e.slice(0,t),e.slice(t+1)]};t.adjustPercentValue=function(e,t){return e&&(0,i.adjust)(e/100,t)}},49314:function(e,t,n){t.OverlayPositionController=t.OVERLAY_POSITION_ALIASES=void 0;var i=d(n(68374)),o=n(35922),a=n(13306),r=d(n(49387)),s=n(31648),l=n(58201),u=d(n(92591));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,(o=i.key,a=void 0,a=function(e,t){if(\"object\"!==c(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==c(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(o,\"string\"),\"symbol\"===c(a)?a:String(a)),i)}var o,a}var f=(0,l.getWindow)(),p={top:{my:\"top center\",at:\"top center\"},bottom:{my:\"bottom center\",at:\"bottom center\"},right:{my:\"right center\",at:\"right center\"},left:{my:\"left center\",at:\"left center\"},center:{my:\"center\",at:\"center\"},\"right bottom\":{my:\"right bottom\",at:\"right bottom\"},\"right top\":{my:\"right top\",at:\"right top\"},\"left bottom\":{my:\"left bottom\",at:\"left bottom\"},\"left top\":{my:\"left top\",at:\"left top\"}};t.OVERLAY_POSITION_ALIASES=p;var g={h:0,v:0},m=function(){function e(e){var t=e.position,n=e.container,i=e.visualContainer,o=e.$root,a=e.$content,r=e.$wrapper,s=e.onPositioned,l=e.onVisualPositionChanged,u=e.restorePosition,d=e._fixWrapperPosition;this._props={position:t,container:n,visualContainer:i,restorePosition:u,onPositioned:s,onVisualPositionChanged:l,_fixWrapperPosition:d},this._$root=o,this._$content=a,this._$wrapper=r,this._$markupContainer=void 0,this._$visualContainer=void 0,this._shouldRenderContentInitialPosition=!0,this._visualPosition=void 0,this._initialPosition=void 0,this._previousVisualPosition=void 0,this.updateContainer(n),this.updatePosition(t),this.updateVisualContainer(i)}var t,n,l,d=e.prototype;return d.restorePositionOnNextRender=function(e){this._shouldRenderContentInitialPosition=e||!this._visualPosition},d.openingHandled=function(){var e=this._props.restorePosition;this.restorePositionOnNextRender(e)},d.updatePosition=function(e){this._props.position=e,this._position=this._normalizePosition(e),this.updateVisualContainer()},d.updateContainer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._props.container;this._props.container=e,this._$markupContainer=e?(0,i.default)(e):u.default.getSwatchContainer(this._$root),this.updateVisualContainer(this._props.visualContainer)},d.updateVisualContainer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._props.visualContainer;this._props.visualContainer=e,this._$visualContainer=this._getVisualContainer()},d.detectVisualPositionChange=function(e){this._updateVisualPositionValue(),this._raisePositionedEvents(e)},d.positionContent=function(){this._shouldRenderContentInitialPosition?this._renderContentInitialPosition():((0,s.move)(this._$content,this._visualPosition),this.detectVisualPositionChange())},d.positionWrapper=function(){this._$visualContainer&&r.default.setup(this._$wrapper,{my:\"top left\",at:\"top left\",of:this._$visualContainer})},d.styleWrapperPosition=function(){var e=(0,o.isWindow)(this.$visualContainer.get(0))||this._props._fixWrapperPosition?\"fixed\":\"absolute\";this._$wrapper.css(\"position\",e)},d._updateVisualPositionValue=function(){this._previousVisualPosition=this._visualPosition,this._visualPosition=(0,s.locate)(this._$content)},d._renderContentInitialPosition=function(){this._renderBoundaryOffset(),(0,s.resetPosition)(this._$content);var e=this._$wrapper.css(\"overflow\");this._$wrapper.css(\"overflow\",\"hidden\");var t=r.default.setup(this._$content,this._position);this._$wrapper.css(\"overflow\",e),this._initialPosition=t,this.detectVisualPositionChange()},d._raisePositionedEvents=function(e){var t=this._previousVisualPosition,n=this._visualPosition;((null==t?void 0:t.top)!==n.top||(null==t?void 0:t.left)!==n.left)&&this._props.onVisualPositionChanged({previousPosition:t,position:n,event:e}),this._props.onPositioned({position:this._initialPosition})},d._renderBoundaryOffset=function(){var e,t=null!==(e=this._position)&&void 0!==e?e:{boundaryOffset:g};this._$content.css(\"margin\",\"\".concat(t.v,\"px \").concat(t.h,\"px\"))},d._getVisualContainer=function(){var e,t,n=this._props.container,a=this._props.visualContainer,r=(0,o.isEvent)(null===(e=this._props.position)||void 0===e?void 0:e.of)?this._props.position.of.target:null===(t=this._props.position)||void 0===t?void 0:t.of;return a?(0,i.default)(a):n?(0,i.default)(n):r?(0,i.default)(r):(0,i.default)(f)},d._normalizePosition=function(e){var t={boundaryOffset:g};return(0,o.isDefined)(e)?(0,a.extend)(!0,{},t,this._positionToObject(e)):t},d._positionToObject=function(e){return(0,o.isString)(e)?(0,a.extend)({},p[e]):e},t=e,(n=[{key:\"$container\",get:function(){return this.updateContainer(),this._$markupContainer}},{key:\"$visualContainer\",get:function(){return this._$visualContainer}},{key:\"position\",get:function(){return this._position}},{key:\"fixWrapperPosition\",set:function(e){this._props._fixWrapperPosition=e,this.styleWrapperPosition()}},{key:\"restorePosition\",set:function(e){this._props.restorePosition=e}}])&&h(t.prototype,n),l&&h(t,l),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.OverlayPositionController=m},89799:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(58664),a=L(n(87209)),r=L(n(99393)),s=L(n(20530)),l=L(n(73349)),u=n(6415),d=L(n(68374)),c=n(10688),h=n(20576),f=n(62754),p=n(3532),g=n(13306),m=n(95479),_=L(n(24311)),v=n(35922),y=n(77695),b=n(58201),x=L(n(17381)),w=L(n(96688)),C=L(n(55994)),S=n(23174),k=L(n(93786)),D=n(72918),I=n(39611),T=n(80506),E=n(4928),O=n(31421),A=L(n(14390)),P=L(n(47810)),M=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=B(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(85421)),R=n(49314);function B(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(B=function(e){return e?n:t})(e)}function L(e){return e&&e.__esModule?e:{default:e}}var V=_.default.add,F=(0,b.getWindow)(),H=y.changeCallback,N=[];V((function(){C.default.subscribeGlobal(l.default.getDocument(),k.default.down,(function(e){for(var t=N.length-1;t>=0;t--)if(!N[t]._proxiedDocumentDownHandler(e))return}))}));var z=A.default.inherit({_supportedKeys:function(){return(0,g.extend)(this.callBase(),{escape:function(){this.hide()}})},_getDefaultOptions:function(){var e=this;return(0,g.extend)(this.callBase(),{activeStateEnabled:!1,visible:!1,deferRendering:!0,shading:!0,shadingColor:\"\",wrapperAttr:{},position:(0,g.extend)({},R.OVERLAY_POSITION_ALIASES.center),width:\"80vw\",minWidth:null,maxWidth:null,height:\"80vh\",minHeight:null,maxHeight:null,animation:{show:{type:\"pop\",duration:300,from:{scale:.55}},hide:{type:\"pop\",duration:300,from:{opacity:1,scale:1},to:{opacity:0,scale:.55}}},closeOnOutsideClick:!1,hideOnOutsideClick:!1,copyRootClassesToWrapper:!1,_ignoreCopyRootClassesToWrapperDeprecation:!1,_ignoreElementAttrDeprecation:!1,_ignorePreventScrollEventsDeprecation:!1,onShowing:null,onShown:null,onHiding:null,onHidden:null,contentTemplate:\"content\",innerOverlay:!1,restorePosition:!0,container:void 0,visualContainer:void 0,hideTopOverlayHandler:function(){e.hide()},hideOnParentScroll:!1,preventScrollEvents:!0,onPositioned:null,propagateOutsideClick:!1,ignoreChildEvents:!0,_checkParentVisibility:!0,_fixWrapperPosition:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return!(0,b.hasWindow)()},options:{width:null,height:null,animation:null,_checkParentVisibility:!1}}])},_setOptionsByReference:function(){this.callBase(),(0,g.extend)(this._optionsByReference,{animation:!0})},$wrapper:function(){return this._$wrapper},_eventBindingTarget:function(){return this._$content},_setDeprecatedOptions:function(){this.callBase(),(0,g.extend)(this._deprecatedOptions,{closeOnOutsideClick:{since:\"22.1\",alias:\"hideOnOutsideClick\"}})},ctor:function(e,t){this.callBase(e,t),t&&(t.copyRootClassesToWrapper&&!t._ignoreCopyRootClassesToWrapperDeprecation&&this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\",{since:\"21.2\",message:'Use the \"wrapperAttr\" option instead'}),t.elementAttr&&!t._ignoreElementAttrDeprecation&&this._logDeprecatedOptionWarning(\"elementAttr\",{since:\"21.2\",message:'Use the \"wrapperAttr\" option instead'}),\"preventScrollEvents\"in t&&!t._ignorePreventScrollEventsDeprecation&&this._logDeprecatedPreventScrollEventsInfo())},_logDeprecatedPreventScrollEventsInfo:function(){this._logDeprecatedOptionWarning(\"preventScrollEvents\",{since:\"23.1\",message:\"If you enable this option, end-users may experience scrolling issues.\"})},_init:function(){var e=this;this.callBase(),this._initActions(),this._initHideOnOutsideClickHandler(),this._initTabTerminatorHandler(),this._customWrapperClass=null,this._$wrapper=(0,d.default)(\"<div>\").addClass(\"dx-overlay-wrapper\"),this._$content=(0,d.default)(\"<div>\").addClass(\"dx-overlay-content\"),this._initInnerOverlayClass();var t=this.$element();this.option(\"copyRootClassesToWrapper\")&&this._$wrapper.addClass(t.attr(\"class\")),t.addClass(\"dx-overlay\"),this._$wrapper.attr(\"data-bind\",\"dxControlsDescendantBindings: true\"),this._toggleViewPortSubscription(!0),this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\")),this._parentsScrollSubscriptionInfo={handler:function(t){e._hideOnParentsScrollHandler(t)}},this.warnPositionAsFunction()},warnPositionAsFunction:function(){(0,v.isFunction)(this.option(\"position\"))&&x.default.log(\"W0018\")},_initInnerOverlayClass:function(){this._$content.toggleClass(\"dx-inner-overlay\",this.option(\"innerOverlay\"))},_initHideTopOverlayHandler:function(e){this._hideTopOverlayHandler=e},_getActionsList:function(){return[\"onShowing\",\"onShown\",\"onHiding\",\"onHidden\",\"onPositioned\",\"onVisualPositionChanged\"]},_initActions:function(){var e=this;this._actions={};var t=this._getActionsList();(0,m.each)(t,(function(t,n){e._actions[n]=e._createActionByOption(n,{excludeValidators:[\"disabled\",\"readOnly\"]})||h.noop}))},_initHideOnOutsideClickHandler:function(){var e=this;this._proxiedDocumentDownHandler=function(){return e._documentDownHandler.apply(e,arguments)}},_initMarkup:function(){this.callBase(),this._renderWrapperAttributes(),this._initPositionController()},_documentDownHandler:function(e){this._showAnimationProcessing&&this._stopAnimation();var t=(0,d.default)(F.document).is(e.target)||(0,p.contains)(F.document,e.target),n=(0,d.default)(e.target).closest(\".\".concat(\"dx-inner-overlay\")).length;return t&&!n&&!(this._$content.is(e.target)||(0,p.contains)(this._$content.get(0),e.target))&&this._shouldHideOnOutsideClick(e)&&this._outsideClickHandler(e),this.option(\"propagateOutsideClick\")},_shouldHideOnOutsideClick:function(e){var t=this.option().hideOnOutsideClick;return(0,v.isFunction)(t)?t(e):t},_outsideClickHandler:function(e){this.option(\"shading\")&&e.preventDefault(),this.hide()},_getAnonymousTemplateName:function(){return\"content\"},_initTemplates:function(){this._templateManager.addDefaultTemplates({content:new c.EmptyTemplate}),this.callBase()},_isTopOverlay:function(){for(var e=this._overlayStack(),t=e.length-1;t>=0;t--){var n=e[t]._findTabbableBounds();if(n.first||n.last)return e[t]===this}return!1},_overlayStack:function(){return N},_zIndexInitValue:function(){return z.baseZIndex()},_toggleViewPortSubscription:function(e){var t=this;H.remove(this._viewPortChangeHandle),e&&(this._viewPortChangeHandle=function(){t._viewPortChangeHandler.apply(t,arguments)},H.add(this._viewPortChangeHandle))},_viewPortChangeHandler:function(){this._positionController.updateContainer(this.option(\"container\")),this._refresh()},_renderWrapperAttributes:function(){var e=this.option().wrapperAttr,t=(0,g.extend)({},e),n=t.class;delete t.class,this.$wrapper().attr(t).removeClass(this._customWrapperClass).addClass(n),this._customWrapperClass=n},_renderVisibilityAnimate:function(e){return this._stopAnimation(),e?this._show():this._hide()},_getAnimationConfig:function(){return this._getOptionValue(\"animation\",this)},_toggleBodyScroll:h.noop,_animateShowing:function(){var e,t,n,i=this,o=null!==(e=this._getAnimationConfig())&&void 0!==e?e:{},a=this._normalizeAnimation(o.show,\"to\"),r=null!==(t=null==a?void 0:a.start)&&void 0!==t?t:h.noop,s=null!==(n=null==a?void 0:a.complete)&&void 0!==n?n:h.noop;this._animate(a,(function(){if(!i._isAnimationPaused){i.option(\"focusStateEnabled\")&&C.default.trigger(i._focusTarget(),\"focus\");for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];s.call.apply(s,[i].concat(t)),i._showAnimationProcessing=!1,i._isHidden=!1,i._actions.onShown(),i._toggleSafariScrolling(),i._showingDeferred.resolve()}}),(function(){if(!i._isAnimationPaused){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.call.apply(r,[i].concat(t)),i._showAnimationProcessing=!0}}))},_processShowingHidingCancel:function(e,t,n){(0,v.isPromise)(e)?e.then((function(e){e?n():t()})).catch((function(){return t()})):e?n():t()},_show:function(){var e=this;if(this._showingDeferred=new f.Deferred,this._parentHidden=this._isParentHidden(),this._showingDeferred.done((function(){delete e._parentHidden})),this._parentHidden)return this._isHidden=!0,this._showingDeferred.resolve();if(this._currentVisible)return(new f.Deferred).resolve().promise();if(this._currentVisible=!0,this._isHidingActionCanceled)delete this._isHidingActionCanceled,this._showingDeferred.reject();else{var t=function(){e._toggleBodyScroll(e.option(\"enableBodyScroll\")),e._stopAnimation(),e._toggleVisibility(!0),e._$content.css(\"visibility\",\"hidden\"),e._$content.toggleClass(\"dx-state-invisible\",!1),e._updateZIndexStackPosition(!0),e._positionController.openingHandled(),e._renderContent();var t={cancel:!1};e._actions.onShowing(t);e._processShowingHidingCancel(t.cancel,(function(){e._$content.css(\"visibility\",\"\"),e._renderVisibility(!0),e._animateShowing()}),(function(){e._toggleVisibility(!1),e._$content.css(\"visibility\",\"\"),e._$content.toggleClass(\"dx-state-invisible\",!0),e._isShowingActionCanceled=!0,e._moveFromContainer(),e.option(\"visible\",!1),e._showingDeferred.resolve()}))};this.option(\"templatesRenderAsynchronously\")?(this._stopShowTimer(),this._asyncShowTimeout=setTimeout(t)):t()}return this._showingDeferred.promise()},_normalizeAnimation:function(e,t){return e&&(e=(0,g.extend)({type:\"slide\",skipElementInitialStyles:!0},e),(0,v.isObject)(e[t])&&(0,g.extend)(e[t],{position:this._positionController.position})),e},_animateHiding:function(){var e,t,n,i=this,o=null!==(e=this._getAnimationConfig())&&void 0!==e?e:{},a=this._normalizeAnimation(o.hide,\"from\"),r=null!==(t=null==a?void 0:a.start)&&void 0!==t?t:h.noop,s=null!==(n=null==a?void 0:a.complete)&&void 0!==n?n:h.noop;this._animate(a,(function(){var e;i._$content.css(\"pointerEvents\",\"\"),i._renderVisibility(!1);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];s.call.apply(s,[i].concat(n)),i._hideAnimationProcessing=!1,null===(e=i._actions)||void 0===e||e.onHidden(),i._hidingDeferred.resolve()}),(function(){i._$content.css(\"pointerEvents\",\"none\");for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.call.apply(r,[i].concat(t)),i._hideAnimationProcessing=!0}))},_hide:function(){var e=this;if(!this._currentVisible)return(new f.Deferred).resolve().promise();this._currentVisible=!1,this._hidingDeferred=new f.Deferred;var t={cancel:!1};if(this._isShowingActionCanceled)delete this._isShowingActionCanceled,this._hidingDeferred.reject();else{this._actions.onHiding(t),this._toggleSafariScrolling(),this._toggleBodyScroll(!0);this._processShowingHidingCancel(t.cancel,(function(){e._forceFocusLost(),e._toggleShading(!1),e._toggleSubscriptions(!1),e._stopShowTimer(),e._animateHiding()}),(function(){e._isHidingActionCanceled=!0,e.option(\"visible\",!0),e._hidingDeferred.resolve()}))}return this._hidingDeferred.promise()},_forceFocusLost:function(){var e=l.default.getActiveElement();!!this._$content.find(e).length&&(0,p.resetActiveElement)()},_animate:function(e,t,n){e?(n=n||e.start||h.noop,a.default.animate(this._$content,(0,g.extend)({},e,{start:n,complete:t}))):t()},_stopAnimation:function(){a.default.stop(this._$content,!0)},_renderVisibility:function(e){e&&this._isParentHidden()||(this._currentVisible=e,this._stopAnimation(),e||(0,T.triggerHidingEvent)(this._$content),e?(this._checkContainerExists(),this._moveToContainer(),this._renderGeometry(),(0,T.triggerShownEvent)(this._$content),(0,T.triggerResizeEvent)(this._$content)):(this._toggleVisibility(e),this._$content.toggleClass(\"dx-state-invisible\",!e),this._updateZIndexStackPosition(e),this._moveFromContainer()),this._toggleShading(e),this._toggleSubscriptions(e))},_updateZIndexStackPosition:function(e){var t=this._overlayStack(),n=t.indexOf(this);e?(-1===n&&(this._zIndex=M.create(this._zIndexInitValue()),t.push(this)),this._$wrapper.css(\"zIndex\",this._zIndex),this._$content.css(\"zIndex\",this._zIndex)):-1!==n&&(t.splice(n,1),M.remove(this._zIndex))},_toggleShading:function(e){this._$wrapper.toggleClass(\"dx-overlay-shader\",e&&this.option(\"shading\")),this._$wrapper.css(\"backgroundColor\",this.option(\"shading\")?this.option(\"shadingColor\"):\"\"),this._toggleTabTerminator(e&&this.option(\"shading\"))},_initTabTerminatorHandler:function(){var e=this;this._proxiedTabTerminatorHandler=function(){e._tabKeyHandler.apply(e,arguments)}},_toggleTabTerminator:function(e){var t=(0,I.addNamespace)(\"keydown\",this.NAME);e?C.default.on(l.default.getDocument(),t,this._proxiedTabTerminatorHandler):C.default.off(l.default.getDocument(),t,this._proxiedTabTerminatorHandler)},_findTabbableBounds:function(){for(var e=this._$wrapper.find(\"*\"),t=e.length-1,n={first:null,last:null},i=0;i<=t&&(!n.first&&e.eq(i).is(O.tabbable)&&(n.first=e.eq(i)),!n.last&&e.eq(t-i).is(O.tabbable)&&(n.last=e.eq(t-i)),!n.first||!n.last);i++);return n},_tabKeyHandler:function(e){if(\"tab\"===(0,I.normalizeKeyName)(e)&&this._isTopOverlay()){var t=this._findTabbableBounds(),n=t.first,i=t.last,o=!e.shiftKey&&e.target===i.get(0),a=e.shiftKey&&e.target===n.get(0),r=0===t.length,s=!(0,p.contains)(this._$wrapper.get(0),e.target);if(o||a||r||s){e.preventDefault();var l=e.shiftKey?i:n;C.default.trigger(l,\"focusin\"),C.default.trigger(l,\"focus\")}}},_toggleSubscriptions:function(e){(0,b.hasWindow)()&&(this._toggleHideTopOverlayCallback(e),this._toggleHideOnParentsScrollSubscription(e))},_toggleHideTopOverlayCallback:function(e){this._hideTopOverlayHandler&&(e?E.hideCallback.add(this._hideTopOverlayHandler):E.hideCallback.remove(this._hideTopOverlayHandler))},_toggleHideOnParentsScrollSubscription:function(e){var t,n=(0,I.addNamespace)(\"scroll\",this.NAME),i=null!==(t=this._parentsScrollSubscriptionInfo)&&void 0!==t?t:{},o=i.prevTargets,a=i.handler;C.default.off(o,n,a);var r=this.option(\"hideOnParentScroll\");if(e&&r){var l=this._hideOnParentScrollTarget().parents();\"desktop\"===s.default.real().deviceType&&(l=l.add(F)),C.default.on(l,n,a),this._parentsScrollSubscriptionInfo.prevTargets=l}},_hideOnParentsScrollHandler:function(e){var t=!1,n=this.option(\"hideOnParentScroll\");(0,v.isFunction)(n)&&(t=n(e)),t||this._showAnimationProcessing||this.hide()},_hideOnParentScrollTarget:function(){return this._$wrapper},_render:function(){this.callBase(),this._appendContentToElement(),this._renderVisibilityAnimate(this.option(\"visible\"))},_appendContentToElement:function(){this._$content.parent().is(this.$element())||this._$content.appendTo(this.$element())},_renderContent:function(){var e=!this._currentVisible&&this.option(\"deferRendering\");this.option(\"visible\")&&this._isParentHidden()?this._isHidden=!0:this._contentAlreadyRendered||e||(this._contentAlreadyRendered=!0,this._appendContentToElement(),this.callBase())},_isParentHidden:function(){if(!this.option(\"_checkParentVisibility\"))return!1;if(void 0!==this._parentHidden)return this._parentHidden;var e=this.$element().parent();if(e.is(\":visible\"))return!1;var t=!1;return e.add(e.parents()).each((function(){if(\"none\"===(0,d.default)(this).css(\"display\"))return t=!0,!1})),t||!l.default.getBody().contains(e.get(0))},_renderContentImpl:function(){var e=this,t=new f.Deferred,n=this.option(\"contentTemplate\"),i=this._getTemplate(n),o=this._templateManager.anonymousTemplateName===n;return i&&i.render({container:(0,u.getPublicElement)(this.$content()),noModel:!0,transclude:o,onRendered:function(){t.resolve(),e.option(\"templatesRenderAsynchronously\")&&e._dimensionChanged()}}),this._toggleWrapperScrollEventsSubscription(this.option(\"preventScrollEvents\")),t.done((function(){e.option(\"visible\")&&e._moveToContainer()})),t.promise()},_getPositionControllerConfig:function(){var e=this.option(),t=e.container,n=e.visualContainer,i=e._fixWrapperPosition,o=e.restorePosition;return{container:t,visualContainer:n,$root:this.$element(),$content:this._$content,$wrapper:this._$wrapper,onPositioned:this._actions.onPositioned,onVisualPositionChanged:this._actions.onVisualPositionChanged,restorePosition:o,_fixWrapperPosition:i}},_initPositionController:function(){this._positionController=new R.OverlayPositionController(this._getPositionControllerConfig())},_toggleWrapperScrollEventsSubscription:function(e){var t=(0,I.addNamespace)(S.move,this.NAME);C.default.off(this._$wrapper,t),e&&C.default.on(this._$wrapper,t,{validate:function(){return!0},getDirection:function(){return\"both\"},_toggleGestureCover:function(e){e||this._toggleGestureCoverImpl(e)},_clearSelection:h.noop,isNative:!0},(function(e){var t=e.originalEvent.originalEvent,n=(t||{}).type,i=\"wheel\"===n,o=\"mousemove\"===n,a=i&&!(0,I.isCommandKeyPressed)(e);e._cancelPreventDefault=!0,t&&!1!==e.cancelable&&(!o&&!i||a)&&e.preventDefault()}))},_moveFromContainer:function(){this._$content.appendTo(this.$element()),this._$wrapper.detach()},_checkContainerExists:function(){var e=this._positionController.$container;void 0!==e&&(e.length>0||w.default.log(\"W1021\",this.NAME))},_moveToContainer:function(){var e=this._positionController.$container;this._$wrapper.appendTo(e),this._$content.appendTo(this._$wrapper)},_renderGeometry:function(e){this.option().visible&&(0,b.hasWindow)()&&(this._stopAnimation(),this._renderGeometryImpl())},_renderGeometryImpl:function(){this._positionController.updatePosition(this._getOptionValue(\"position\")),this._renderWrapper(),this._renderDimensions(),this._renderPosition()},_renderPosition:function(){this._positionController.positionContent()},_isAllWindowCovered:function(){return(0,v.isWindow)(this._positionController.$visualContainer.get(0))&&this.option(\"shading\")},_toggleSafariScrolling:function(){var e=this.option(\"visible\"),t=(0,d.default)(l.default.getBody()),n=\"ios\"===s.default.real().platform&&P.default.safari,i=this._isAllWindowCovered(),o=t.hasClass(\"dx-prevent-safari-scrolling\"),a=!o&&e&&i,r=o&&(!e||!i||this._disposed);n&&(r?(t.removeClass(\"dx-prevent-safari-scrolling\"),F.scrollTo(0,this._cachedBodyScrollTop),this._cachedBodyScrollTop=void 0):a&&(this._cachedBodyScrollTop=F.pageYOffset,t.addClass(\"dx-prevent-safari-scrolling\")))},_renderWrapper:function(){this._positionController.styleWrapperPosition(),this._renderWrapperDimensions(),this._positionController.positionWrapper()},_renderWrapperDimensions:function(){var e=this._positionController.$visualContainer,t=l.default.getDocumentElement(),n=(0,v.isWindow)(e.get(0)),i=n?t.clientWidth:(0,o.getOuterWidth)(e),a=n?F.innerHeight:(0,o.getOuterHeight)(e);this._$wrapper.css({width:i,height:a})},_renderDimensions:function(){var e=this._$content.get(0);this._$content.css({minWidth:this._getOptionValue(\"minWidth\",e),maxWidth:this._getOptionValue(\"maxWidth\",e),minHeight:this._getOptionValue(\"minHeight\",e),maxHeight:this._getOptionValue(\"maxHeight\",e),width:this._getOptionValue(\"width\",e),height:this._getOptionValue(\"height\",e)})},_focusTarget:function(){return this._$content},_attachKeyboardEvents:function(){var e=this;this._keyboardListenerId=D.keyboard.on(this._$content,null,(function(t){return e._keyboardHandler(t)}))},_keyboardHandler:function(e){var t=e.originalEvent,n=(0,d.default)(t.target);!n.is(this._$content)&&this.option(\"ignoreChildEvents\")||this.callBase.apply(this,arguments)},_isVisible:function(){return this.option(\"visible\")},_visibilityChanged:function(e){e?this.option(\"visible\")&&this._renderVisibilityAnimate(e):this._renderVisibilityAnimate(e)},_dimensionChanged:function(){this._renderGeometry()},_clean:function(){var e=this.option();this._contentAlreadyRendered||e.isRenovated||this.$content().empty(),this._renderVisibility(!1),this._stopShowTimer(),this._cleanFocusState()},_stopShowTimer:function(){this._asyncShowTimeout&&clearTimeout(this._asyncShowTimeout),this._asyncShowTimeout=null},_dispose:function(){a.default.stop(this._$content,!1),clearTimeout(this._deferShowTimer),this._toggleViewPortSubscription(!1),this._toggleSubscriptions(!1),this._updateZIndexStackPosition(!1),this._toggleTabTerminator(!1),this._actions=null,this._parentsScrollSubscriptionInfo=null,this.callBase(),this._toggleSafariScrolling(),this.option(\"visible\")&&M.remove(this._zIndex),this._$wrapper.remove(),this._$content.remove()},_toggleRTLDirection:function(e){this._$content.toggleClass(\"dx-rtl\",e)},_optionChanged:function(e){var t=this,n=e.value,i=e.name;if(this._getActionsList().includes(i))this._initActions();else switch(i){case\"animation\":break;case\"shading\":this._toggleShading(this.option(\"visible\")),this._toggleSafariScrolling();break;case\"shadingColor\":this._toggleShading(this.option(\"visible\"));break;case\"width\":case\"height\":this._renderGeometry();break;case\"minWidth\":case\"maxWidth\":case\"minHeight\":case\"maxHeight\":this._renderGeometry();break;case\"position\":this._positionController.updatePosition(this.option(\"position\")),this._positionController.restorePositionOnNextRender(!0),this._renderGeometry(),this._toggleSafariScrolling();break;case\"visible\":this._renderVisibilityAnimate(n).done((function(){var e;return null===(e=t._animateDeferred)||void 0===e?void 0:e.resolveWith(t)})).fail((function(){var e;return null===(e=t._animateDeferred)||void 0===e?void 0:e.reject()}));break;case\"container\":this._positionController.updateContainer(n),this._invalidate(),this._toggleSafariScrolling();break;case\"visualContainer\":this._positionController.updateVisualContainer(n),this._renderWrapper(),this._toggleSafariScrolling();break;case\"innerOverlay\":this._initInnerOverlayClass();break;case\"deferRendering\":case\"contentTemplate\":this._contentAlreadyRendered=!1,this._clean(),this._invalidate();break;case\"hideTopOverlayHandler\":this._toggleHideTopOverlayCallback(!1),this._initHideTopOverlayHandler(n),this._toggleHideTopOverlayCallback(this.option(\"visible\"));break;case\"hideOnParentScroll\":this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));break;case\"closeOnOutsideClick\":case\"hideOnOutsideClick\":case\"propagateOutsideClick\":break;case\"rtlEnabled\":this._contentAlreadyRendered=!1,this.callBase(e);break;case\"_fixWrapperPosition\":this._positionController.fixWrapperPosition=n;break;case\"wrapperAttr\":this._renderWrapperAttributes();break;case\"restorePosition\":this._positionController.restorePosition=n;break;case\"preventScrollEvents\":this._logDeprecatedPreventScrollEventsInfo(),this._toggleWrapperScrollEventsSubscription(n);break;default:this.callBase(e)}},toggle:function(e){var t=this;e=void 0===e?!this.option(\"visible\"):e;var n=new f.Deferred;if(e===this.option(\"visible\"))return n.resolveWith(this,[e]).promise();var i=new f.Deferred;return this._animateDeferred=i,this.option(\"visible\",e),i.promise().done((function(){delete t._animateDeferred,n.resolveWith(t,[t.option(\"visible\")])})).fail((function(){delete t._animateDeferred,n.reject()})),n.promise()},$content:function(){return this._$content},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)},content:function(){return(0,u.getPublicElement)(this._$content)},repaint:function(){this._contentAlreadyRendered?(this._positionController.restorePositionOnNextRender(!0),this._renderGeometry({forceStopAnimation:!0}),(0,T.triggerResizeEvent)(this._$content)):this.callBase()}});z.baseZIndex=function(e){return M.base(e)},(0,r.default)(\"dxOverlay\",z);var j=z;t.default=j,e.exports=t.default,e.exports.default=t.default},13660:function(e,t,n){t.getElementMaxHeightByWindow=void 0;var i,o=n(58664),a=(i=n(68374))&&i.__esModule?i:{default:i},r=n(58201),s=n(35922);t.getElementMaxHeightByWindow=function(e,t){var n,i=(0,a.default)((0,r.getWindow)()),l=e.offset().top;if((0,s.isNumeric)(t)){if(t<l)return l-t;n=(0,o.getInnerHeight)(i)-t+i.scrollTop()}else{var u=l-i.scrollTop(),d=(0,o.getInnerHeight)(i)-u-(0,o.getOuterHeight)(e);n=Math.max(u,d)}return.9*n}},85421:function(e,t,n){t.remove=t.isLastZIndexInStack=t.create=t.clearStack=t.base=void 0;var i=n(20576),o=1500,a=[];t.base=function(e){return o=(0,i.ensureDefined)(e,o)};t.create=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=a.length,n=(t?a[t-1]:e)+1;return a.push(n),n};t.remove=function(e){var t=a.indexOf(e);t>=0&&a.splice(t,1)};t.isLastZIndexInStack=function(e){return a.length&&a[a.length-1]===e};t.clearStack=function(){a=[]}},79383:function(e,t,n){var i;t.default=void 0;var o=((i=n(47854))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},96089:function(e,t,n){var i;t.default=void 0;var o=((i=n(41e3))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},98713:function(e,t,n){t.default=void 0;var i=n(16710).PivotGridDataSource;t.default=i,e.exports=t.default,e.exports.default=t.default},77271:function(e,t,n){t.default=void 0;var i=n(63857).FieldChooser;t.default=i,e.exports=t.default,e.exports.default=t.default},41e3:function(e,t,n){t.default=void 0;var i=n(61550).PivotGrid;t.default=i,e.exports=t.default,e.exports.default=t.default},9170:function(e,t,n){t.default=void 0;var i=n(79755).XmlaStore;t.default=i,e.exports=t.default,e.exports.default=t.default},32014:function(e,t,n){var i;t.default=void 0;var o=((i=n(77271))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},22348:function(e,t,n){var i;t.default=void 0;var o=((i=n(65224))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},84228:function(e,t,n){t.PopoverPositionController=t.POPOVER_POSITION_ALIASES=void 0;var i,o=n(35922),a=n(13306),r=(i=n(49387))&&i.__esModule?i:{default:i},s=n(20576),l=n(19234),u=n(58664),d=n(49314),c=[\"shading\",\"target\",\"$arrow\"];function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function f(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g={left:-1,top:-1,center:0,right:1,bottom:1},m={top:{my:\"bottom center\",at:\"top center\",collision:\"fit flip\"},bottom:{my:\"top center\",at:\"bottom center\",collision:\"fit flip\"},right:{my:\"left center\",at:\"right center\",collision:\"flip fit\"},left:{my:\"right center\",at:\"left center\",collision:\"flip fit\"}};t.POPOVER_POSITION_ALIASES=m;var _={h:10,v:10},v=function(e){var t,n;function i(t){var n,i=t.shading,o=t.target,a=t.$arrow,r=f(t,c);return(n=e.call(this,r)||this)._props=h({},n._props,{shading:i,target:o}),n._$arrow=a,n._positionSide=void 0,n.updatePosition(n._props.position),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var d=i.prototype;return d.positionWrapper=function(){this._props.shading&&this._$wrapper.css({top:0,left:0})},d.updateTarget=function(e){this._props.target=e,this.updatePosition(this._props.position)},d._renderBoundaryOffset=function(){},d._getContainerPosition=function(){var e=(0,s.pairToObject)(this._position.offset||\"\"),t=e.h,n=e.v,i=this._isVerticalSide(),o=this._isHorizontalSide();if(i||o){var r=(this._isPopoverInside()?-1:1)*g[this._positionSide]*((i?(0,u.getHeight)(this._$arrow):(0,u.getWidth)(this._$arrow))-this._getContentBorderWidth(this._positionSide));i?n+=r:t+=r}return(0,a.extend)({},this._position,{offset:t+\" \"+n})},d._getContentBorderWidth=function(e){var t=this._$content.css(l.borderWidthStyles[e]);return parseInt(t)||0},d._isPopoverInside=function(){var e=r.default.setup.normalizeAlign(this._position.my),t=r.default.setup.normalizeAlign(this._position.at);return e.h===t.h&&e.v===t.v},d._isVerticalSide=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._positionSide;return\"top\"===e||\"bottom\"===e},d._isHorizontalSide=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._positionSide;return\"left\"===e||\"right\"===e},d._getDisplaySide=function(e){var t=r.default.setup.normalizeAlign(e.my),n=r.default.setup.normalizeAlign(e.at),i=g[t.h]===g[n.h]&&g[t.v]===g[n.v]?-1:1;return Math.abs(g[t.h]-i*g[n.h])>Math.abs(g[t.v]-i*g[n.v])?n.h:n.v},d._normalizePosition=function(e){var t,n={of:this._props.target,boundaryOffset:_};return t=(0,o.isDefined)(e)?(0,a.extend)(!0,{},n,this._positionToObject(e)):n,this._positionSide=this._getDisplaySide(t),t},d._positionToObject=function(e){return(0,o.isString)(e)?(0,a.extend)({},m[e]):e},i}(d.OverlayPositionController);t.PopoverPositionController=v},65224:function(e,t,n){t.default=void 0,n(71042);var i=r(n(17287)),o=r(n(99393)),a=n(13306);function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var o=i.prototype;return o._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{preventScrollEvents:!1})},o._getToolbarName=function(){return\"dxToolbar\"},i}(i.default);t.default=l,l.defaultOptions=function(e){i.default.defaultOptions(e)},(0,o.default)(\"dxPopover\",l),e.exports=t.default,e.exports.default=t.default},17287:function(e,t,n){t.default=void 0;var i=n(58664),o=b(n(68374)),a=n(58201),r=n(6415),s=b(n(73349)),l=b(n(55994)),u=b(n(99393)),d=n(13306),c=n(31648),h=b(n(49387)),f=n(35922),p=n(60810),g=n(39611),m=b(n(96688)),_=b(n(51495)),v=n(37518),y=n(84228);function b(e){return e&&e.__esModule?e:{default:e}}function x(e){return(x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var w={left:\"right\",top:\"bottom\",right:\"left\",bottom:\"top\",center:\"center\"},C=function(e){return(0,f.isObject)(e)?e.name:e},S=function(e,t){var n=e.option(t);return C(n)},k=function(e,t){var n=e.option(),i=n.target,a=n.shading,u=n.disabled,d=n.hideEvent,c=(0,f.isString)(i),h=a&&\"hide\"===t,p=h?null:S(e,\"\".concat(t,\"Event\"));if(h&&d&&m.default.log(\"W1020\"),p&&!u){var _=(0,g.addNamespace)(p,e.NAME),v=e._createAction(function(){var n=function(e,t){var n=e.option(t);return(0,f.isObject)(n)&&n.delay}(e,t+\"Event\");this._clearEventsTimeouts(),n?this._timeouts[t]=setTimeout((function(){e[t]()}),n):e[t]()}.bind(e),{validatingTargetName:\"target\"}),y=function(e){v({event:e,target:(0,o.default)(e.currentTarget)})},b=\"_\"+t+\"EventHandler\";if(c)e[b]=y,l.default.on(s.default.getDocument(),_,i,y);else{var x=(0,r.getPublicElement)((0,o.default)(i));e[b]=void 0,l.default.on(x,_,y)}}},D=function(e,t,n,i){var a=i||S(e,n+\"Event\");if(a){a=(0,g.addNamespace)(a,e.NAME);var u=\"_\"+n+\"EventHandler\";e[u]?l.default.off(s.default.getDocument(),a,t,e[u]):l.default.off((0,r.getPublicElement)((0,o.default)(t)),a)}},I=_.default.inherit({_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{target:void 0,shading:!1,position:(0,d.extend)({},y.POPOVER_POSITION_ALIASES.bottom),hideOnOutsideClick:!0,animation:{show:{type:\"fade\",from:0,to:1},hide:{type:\"fade\",from:1,to:0}},showTitle:!1,width:\"auto\",height:\"auto\",dragEnabled:!1,resizeEnabled:!1,fullScreen:!1,hideOnParentScroll:!0,arrowPosition:\"\",arrowOffset:0,_fixWrapperPosition:!0})},_defaultOptionsRules:function(){return[{device:{platform:\"ios\"},options:{arrowPosition:{boundaryOffset:{h:20,v:-10},collision:\"fit\"}}},{device:function(){return!(0,a.hasWindow)()},options:{animation:null}}]},_init:function(){var e;this.callBase(),this._renderArrow(),this._timeouts={},this.$element().addClass(\"dx-popover\"),this.$wrapper().addClass(\"dx-popover-wrapper\");var t=null===(e=this.option(\"toolbarItems\"))||void 0===e?void 0:e.length;this.setAria(\"role\",t?\"dialog\":\"tooltip\")},_render:function(){this.callBase.apply(this,arguments),this._detachEvents(this.option(\"target\")),this._attachEvents()},_detachEvents:function(e){D(this,e,\"show\"),D(this,e,\"hide\")},_attachEvents:function(){k(this,\"show\"),k(this,\"hide\")},_renderArrow:function(){this._$arrow=(0,o.default)(\"<div>\").addClass(\"dx-popover-arrow\").prependTo(this.$overlayContent())},_documentDownHandler:function(e){return!this._isOutsideClick(e)||this.callBase(e)},_isOutsideClick:function(e){return!(0,o.default)(e.target).closest(this.option(\"target\")).length},_animate:function(e){e&&e.to&&\"object\"===x(e.to)&&(0,d.extend)(e.to,{position:this._getContainerPosition()}),this.callBase.apply(this,arguments)},_stopAnimation:function(){this.callBase.apply(this,arguments)},_renderTitle:function(){this.$wrapper().toggleClass(\"dx-popover-without-title\",!this.option(\"showTitle\")),this.callBase()},_renderPosition:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.callBase(),this._renderOverlayPosition(e),this._actions.onPositioned()},_renderOverlayPosition:function(e){this._resetOverlayPosition(e),this._updateContentSize(e);var t=this._getContainerPosition(),n=h.default.setup(this.$overlayContent(),t),i=this._getSideByLocation(n);this._togglePositionClass(\"dx-position-\"+i),this._toggleFlippedClass(n.h.flip,n.v.flip),(this._isHorizontalSide()||this._isVerticalSide())&&this._renderArrowPosition(i)},_resetOverlayPosition:function(e){this._setContentHeight(e),this._togglePositionClass(\"dx-position-\"+this._positionController._positionSide),(0,c.move)(this.$overlayContent(),{left:0,top:0}),this._$arrow.css({top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"})},_updateContentSize:function(e){if(this.$content()&&e){var t=h.default.calculate(this.$overlayContent(),this._getContainerPosition());if(t.h.oversize>0&&this._isHorizontalSide()&&!t.h.fit){var n=(0,i.getWidth)(this.$overlayContent())-t.h.oversize;(0,i.setWidth)(this.$overlayContent(),n)}if(t.v.oversize>0&&this._isVerticalSide()&&!t.v.fit){var o=(0,i.getHeight)(this.$overlayContent())-t.v.oversize,a=(0,i.getHeight)(this.$content())-t.v.oversize;(0,i.setHeight)(this.$overlayContent(),o),(0,i.setHeight)(this.$content(),a)}}},_getContainerPosition:function(){return this._positionController._getContainerPosition()},_hideOnParentScrollTarget:function(){return(0,o.default)(this._positionController._position.of||this.callBase())},_getSideByLocation:function(e){var t=e.v.flip,n=e.h.flip;return this._isVerticalSide()&&t||this._isHorizontalSide()&&n||this._isPopoverInside()?w[this._positionController._positionSide]:this._positionController._positionSide},_togglePositionClass:function(e){this.$wrapper().removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(e)},_toggleFlippedClass:function(e,t){this.$wrapper().toggleClass(\"dx-popover-flipped-horizontal\",e).toggleClass(\"dx-popover-flipped-vertical\",t)},_renderArrowPosition:function(e){var t=(0,v.getBoundingRect)(this._$arrow.get(0)),n=-(this._isVerticalSide(e)?t.height:t.width);this._$arrow.css(w[e],n);var i,a=this._isVerticalSide(e)?\"left\":\"top\",r=this._isVerticalSide(e)?\"width\":\"height\",s=(0,o.default)(this._positionController._position.of),l=h.default.offset(s)||{top:0,left:0},u=h.default.offset(this.$overlayContent()),d=t[r],c=u[a],f=(0,v.getBoundingRect)(this.$overlayContent().get(0))[r],g=l[a],m=s.get(0),_=m&&!m.preventDefault?(0,v.getBoundingRect)(m)[r]:0,y=Math.max(c,g),b=Math.min(c+f,g+_);i=\"start\"===this.option(\"arrowPosition\")?y-c:\"end\"===this.option(\"arrowPosition\")?b-c-d:(y+b)/2-c-d/2;var x=this._positionController._getContentBorderWidth(e),C=(0,p.fitIntoRange)(i-x+this.option(\"arrowOffset\"),x,f-d-2*x);this._$arrow.css(a,C)},_isPopoverInside:function(){return this._positionController._isPopoverInside()},_setContentHeight:function(e){e&&this.callBase()},_getPositionControllerConfig:function(){var e=this.option(),t=e.shading,n=e.target;return(0,d.extend)({},this.callBase(),{target:n,shading:t,$arrow:this._$arrow})},_initPositionController:function(){this._positionController=new y.PopoverPositionController(this._getPositionControllerConfig())},_renderWrapperDimensions:function(){this.option(\"shading\")&&this.$wrapper().css({width:\"100%\",height:\"100%\"})},_isVerticalSide:function(e){return this._positionController._isVerticalSide(e)},_isHorizontalSide:function(e){return this._positionController._isHorizontalSide(e)},_clearEventTimeout:function(e){clearTimeout(this._timeouts[e])},_clearEventsTimeouts:function(){this._clearEventTimeout(\"show\"),this._clearEventTimeout(\"hide\")},_clean:function(){this._detachEvents(this.option(\"target\")),this.callBase.apply(this,arguments)},_optionChanged:function(e){switch(e.name){case\"arrowPosition\":case\"arrowOffset\":this._renderGeometry();break;case\"fullScreen\":e.value&&this.option(\"fullScreen\",!1);break;case\"target\":e.previousValue&&this._detachEvents(e.previousValue),this._positionController.updateTarget(e.value),this._invalidate();break;case\"showEvent\":case\"hideEvent\":var t=e.name.substring(0,4),n=C(e.previousValue);this.hide(),D(this,this.option(\"target\"),t,n),k(this,t);break;case\"visible\":this._clearEventTimeout(e.value?\"show\":\"hide\"),this.callBase(e);break;default:this.callBase(e)}},show:function(e){return e&&this.option(\"target\",e),this.callBase()}});(0,u.default)(\"dxPopover\",I);var T=I;t.default=T,e.exports=t.default,e.exports.default=t.default},39114:function(e,t,n){var i;t.default=void 0;var o=((i=n(84640))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},1351:function(e,t,n){t.default=void 0;var i=n(31648),o=c(n(73349)),a=n(58664),r=n(60810),s=n(35922),l=c(n(55994)),u=n(23174),d=n(39611);function c(e){return e&&e.__esModule?e:{default:e}}var h=function(){function e(e){this.init(e)}var t=e.prototype;return t.init=function(e){var t=e.dragEnabled,n=e.handle,i=e.draggableElement,o=e.positionController;this._positionController=o,this._draggableElement=i,this._handle=n,this._dragEnabled=t,this.unsubscribe(),t&&this.subscribe()},t.moveDown=function(e){this._moveTo(5,0,e)},t.moveUp=function(e){this._moveTo(-5,0,e)},t.moveLeft=function(e){this._moveTo(0,-5,e)},t.moveRight=function(e){this._moveTo(0,5,e)},t.subscribe=function(){var e=this,t=this._getEventNames();l.default.on(this._handle,t.startEventName,(function(t){e._dragStartHandler(t)})),l.default.on(this._handle,t.updateEventName,(function(t){e._dragUpdateHandler(t)})),l.default.on(this._handle,t.endEventName,(function(t){e._dragEndHandler(t)}))},t.unsubscribe=function(){var e=this._getEventNames();l.default.off(this._handle,e.startEventName),l.default.off(this._handle,e.updateEventName),l.default.off(this._handle,e.endEventName)},t._getEventNames=function(){return{startEventName:(0,d.addNamespace)(u.start,\"overlayDrag\"),updateEventName:(0,d.addNamespace)(u.move,\"overlayDrag\"),endEventName:(0,d.addNamespace)(u.end,\"overlayDrag\")}},t._dragStartHandler=function(e){var t=this._getAllowedOffsets();this._prevOffset={x:0,y:0},e.targetElements=[],e.maxTopOffset=t.top,e.maxBottomOffset=t.bottom,e.maxLeftOffset=t.left,e.maxRightOffset=t.right},t._dragUpdateHandler=function(e){var t={top:e.offset.y-this._prevOffset.y,left:e.offset.x-this._prevOffset.x};this._moveByOffset(t),this._prevOffset=e.offset},t._dragEndHandler=function(e){this._positionController.dragHandled(),this._positionController.detectVisualPositionChange(e)},t._moveTo=function(e,t,n){if(this._dragEnabled){n.preventDefault(),n.stopPropagation();var i=this._fitOffsetIntoAllowedRange(e,t);this._moveByOffset(i),this._dragEndHandler(n)}},t._fitOffsetIntoAllowedRange=function(e,t){var n=this._getAllowedOffsets();return{top:(0,r.fitIntoRange)(e,-n.top,n.bottom),left:(0,r.fitIntoRange)(t,-n.left,n.right)}},t._getContainerDimensions=function(){var e=o.default.getDocument(),t=this._positionController.$dragResizeContainer.get(0),n=(0,a.getOuterWidth)(t),i=(0,a.getOuterHeight)(t);return(0,s.isWindow)(t)&&(i=Math.max(e.body.clientHeight,i),n=Math.max(e.body.clientWidth,n)),{width:n,height:i}},t._getContainerPosition=function(){var e=this._positionController.$dragResizeContainer.get(0);return(0,s.isWindow)(e)?{top:0,left:0}:(0,a.getOffset)(e)},t._getElementPosition=function(){return(0,a.getOffset)(this._draggableElement)},t._getInnerDelta=function(){var e=this._getContainerDimensions(),t=this._getElementDimensions();return{x:e.width-t.width,y:e.height-t.height}},t._getOuterDelta=function(){var e=this._getElementDimensions(),t=e.width,n=e.height,i=this._positionController.outsideDragFactor;return{x:t*i,y:n*i}},t._getFullDelta=function(){var e=this._getInnerDelta(),t=this._getOuterDelta();return{x:e.x+t.x,y:e.y+t.y}},t._getElementDimensions=function(){return{width:this._draggableElement.offsetWidth,height:this._draggableElement.offsetHeight}},t._getAllowedOffsets=function(){var e=this._getFullDelta();if(!(e.y>=0&&e.x>=0))return{top:0,bottom:0,left:0,right:0};var t=this._getElementPosition(),n=this._getContainerPosition(),i=this._getOuterDelta();return{top:t.top-n.top+i.y,bottom:-t.top+n.top+e.y,left:t.left-n.left+i.x,right:-t.left+n.left+e.x}},t._moveByOffset=function(e){var t=(0,i.locate)(this._draggableElement),n={left:t.left+e.left,top:t.top+e.top};(0,i.move)(this._draggableElement,n)},e}();t.default=h,e.exports=t.default,e.exports.default=t.default},62300:function(e,t,n){t.createBodyOverflowManager=void 0;var i=n(58201),o=n(35922),a=l(n(73349)),r=l(n(20530)),s=n(20576);function l(e){return e&&e.__esModule?e:{default:e}}var u={setOverflow:s.noop,restoreOverflow:s.noop};t.createBodyOverflowManager=function(){if(!(0,i.hasWindow)())return u;var e=(0,i.getWindow)(),t=a.default.getDocument().documentElement,n=a.default.getBody(),s=\"ios\"===r.default.real().platform,l={overflow:null,overflowX:null,overflowY:null,paddingRight:null,position:null,top:null,left:null},d=function(){var i=e.innerWidth-t.clientWidth;if(!(l.paddingRight||i<=0)){var o=e.getComputedStyle(n).getPropertyValue(\"padding-right\"),a=parseInt(o,10);l.paddingRight=a,n.style.setProperty(\"padding-right\",\"\".concat(a+i,\"px\"))}},c=function(){(0,o.isDefined)(l.paddingRight)&&(l.paddingRight?n.style.setProperty(\"padding-right\",\"\".concat(l.paddingRight,\"px\")):n.style.removeProperty(\"padding-right\"),l.paddingRight=null)};return{setOverflow:s?function(){if(!(0,o.isDefined)(l.position)&&\"fixed\"!==n.style.position){var t=e.scrollY,i=e.scrollX;l.position=n.style.position,l.top=n.style.top,l.left=n.style.left,n.style.setProperty(\"position\",\"fixed\"),n.style.setProperty(\"top\",\"\".concat(-t,\"px\")),n.style.setProperty(\"left\",\"\".concat(-i,\"px\"))}}:function(){d(),l.overflow||\"hidden\"===n.style.overflow||(l.overflow=n.style.overflow,l.overflowX=n.style.overflowX,l.overflowY=n.style.overflowY,n.style.setProperty(\"overflow\",\"hidden\"))},restoreOverflow:s?function(){if((0,o.isDefined)(l.position)){var t=-parseInt(n.style.top,10),i=-parseInt(n.style.left,10);[\"position\",\"top\",\"left\"].forEach((function(e){l[e]?n.style.setProperty(e,l[e]):n.style.removeProperty(e)})),e.scrollTo(i,t),l.position=null}}:function(){c(),[\"overflow\",\"overflowX\",\"overflowY\"].forEach((function(e){if((0,o.isDefined)(l[e])){var t=e.replace(/(X)|(Y)/,(function(e){return\"-\".concat(e.toLowerCase())}));l[e]?n.style.setProperty(t,l[e]):n.style.removeProperty(t),l[e]=null}}))}}}},39665:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.PopupPositionController=void 0;var o,a=(o=n(68374))&&o.__esModule?o:{default:o},r=n(31648),s=n(58201),l=n(77695),u=n(49314),d=[\"fullScreen\",\"forceApplyBindings\",\"dragOutsideBoundary\",\"dragAndResizeArea\",\"outsideDragFactor\"];function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function h(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function f(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,(a=o.key,r=void 0,r=function(e,t){if(\"object\"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!==i(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(a,\"string\"),\"symbol\"===i(r)?r:String(r)),o)}var a,r}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=(0,s.getWindow)(),m=function(e){var t,n;function i(t){var n,i=t.fullScreen,o=t.forceApplyBindings,a=t.dragOutsideBoundary,r=t.dragAndResizeArea,s=t.outsideDragFactor,l=h(t,d);return(n=e.call(this,l)||this)._props=c({},n._props,{fullScreen:i,forceApplyBindings:o,dragOutsideBoundary:a,dragAndResizeArea:r,outsideDragFactor:s}),n._$dragResizeContainer=void 0,n._updateDragResizeContainer(),n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var o,s,u,m=i.prototype;return m.updateContainer=function(t){e.prototype.updateContainer.call(this,t),this._updateDragResizeContainer()},m.dragHandled=function(){this.restorePositionOnNextRender(!1)},m.resizeHandled=function(){this.restorePositionOnNextRender(!1)},m.positionContent=function(){var t,n;this._props.fullScreen?((0,r.move)(this._$content,{top:0,left:0}),this.detectVisualPositionChange()):(null===(t=(n=this._props).forceApplyBindings)||void 0===t||t.call(n),e.prototype.positionContent.call(this))},m._updateDragResizeContainer=function(){this._$dragResizeContainer=this._getDragResizeContainer()},m._getDragResizeContainer=function(){return this._props.dragOutsideBoundary?(0,a.default)(g):this._props.dragAndResizeArea?(0,a.default)(this._props.dragAndResizeArea):(0,l.originalViewPort)().get(0)||this._props.container?this._$markupContainer:(0,a.default)(g)},m._getVisualContainer=function(){return this._props.fullScreen?(0,a.default)(g):e.prototype._getVisualContainer.call(this)},m._fullScreenEnabled=function(){this.restorePositionOnNextRender(!1)},m._fullScreenDisabled=function(){this.restorePositionOnNextRender(!0)},o=i,(s=[{key:\"fullScreen\",set:function(e){this._props.fullScreen=e,e?this._fullScreenEnabled():this._fullScreenDisabled()}},{key:\"$dragResizeContainer\",get:function(){return this._$dragResizeContainer}},{key:\"outsideDragFactor\",get:function(){return this._props.dragOutsideBoundary?1:this._props.outsideDragFactor},set:function(e){this._props.outsideDragFactor=e}},{key:\"dragAndResizeArea\",set:function(e){this._props.dragAndResizeArea=e,this._updateDragResizeContainer()}},{key:\"dragOutsideBoundary\",set:function(e){this._props.dragOutsideBoundary=e,this._updateDragResizeContainer()}}])&&f(o.prototype,s),u&&f(o,u),Object.defineProperty(o,\"prototype\",{writable:!1}),i}(u.OverlayPositionController);t.PopupPositionController=m},84640:function(e,t,n){t.default=void 0,n(71042);var i=r(n(51495)),o=r(n(99393)),a=n(13306);function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var o=i.prototype;return o._getDefaultOptions=function(){return(0,a.extend)(e.prototype._getDefaultOptions.call(this),{preventScrollEvents:!1})},o._getToolbarName=function(){return\"dxToolbar\"},i}(i.default);t.default=l,l.defaultOptions=function(e){i.default.defaultOptions(e)},(0,o.default)(\"dxPopup\",l),e.exports=t.default,e.exports.default=t.default},51495:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=P(n(99393)),a=P(n(20530)),r=n(6415),s=P(n(68374)),l=n(10688),u=P(n(47810)),d=n(20576),c=n(13306),h=n(78008),f=n(95479),p=n(58664),g=n(37518),m=n(35922),_=n(58020),v=n(58201),y=n(80506),b=P(n(28109)),x=P(n(1351)),w=P(n(46743)),C=P(n(63008)),S=P(n(89799)),k=n(75811);n(997);var D=P(n(91784)),I=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=A(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(85421)),T=n(39665),E=n(62300),O=P(n(73176));function A(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(A=function(e){return e?n:t})(e)}function P(e){return e&&e.__esModule?e:{default:e}}var M=(0,v.getWindow)(),R=[\"cancel\",\"clear\",\"done\"],B=u.default.safari&&(0,_.compare)(u.default.version,[11])<0,L={static:\"\",inherit:\"dx-popup-inherit-height\",flex:\"dx-popup-flex-height\"},V=S.default.inherit({_supportedKeys:function(){var e=this;return(0,c.extend)(this.callBase(),{upArrow:function(t){var n;null===(n=e._drag)||void 0===n||n.moveUp(t)},downArrow:function(t){var n;null===(n=e._drag)||void 0===n||n.moveDown(t)},leftArrow:function(t){var n;null===(n=e._drag)||void 0===n||n.moveLeft(t)},rightArrow:function(t){var n;null===(n=e._drag)||void 0===n||n.moveRight(t)}})},_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),{fullScreen:!1,title:\"\",showTitle:!0,titleTemplate:\"title\",onTitleRendered:null,dragOutsideBoundary:!1,dragEnabled:!1,dragAndResizeArea:void 0,enableBodyScroll:!0,outsideDragFactor:0,onResizeStart:null,onResize:null,onResizeEnd:null,resizeEnabled:!1,toolbarItems:[],showCloseButton:!1,bottomTemplate:\"bottom\",useDefaultToolbarButtons:!1,useFlatToolbarButtons:!1,autoResizeEnabled:!0})},_defaultOptionsRules:function(){var e=(0,k.current)();return this.callBase().concat([{device:{platform:\"ios\"},options:{animation:this._iosAnimation}},{device:{platform:\"android\"},options:{animation:this._androidAnimation}},{device:{platform:\"generic\"},options:{showCloseButton:!0}},{device:function(e){return\"desktop\"===a.default.real().deviceType&&\"generic\"===e.platform},options:{dragEnabled:!0}},{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,k.isMaterial)(e)},options:{useDefaultToolbarButtons:!0,useFlatToolbarButtons:!0,showCloseButton:!1}}])},_iosAnimation:{show:{type:\"slide\",duration:400,from:{position:{my:\"top\",at:\"bottom\"}},to:{position:{my:\"center\",at:\"center\"}}},hide:{type:\"slide\",duration:400,from:{opacity:1,position:{my:\"center\",at:\"center\"}},to:{opacity:1,position:{my:\"top\",at:\"bottom\"}}}},_androidAnimation:function(){return this.option(\"fullScreen\")?{show:{type:\"slide\",duration:300,from:{top:\"30%\",opacity:0},to:{top:0,opacity:1}},hide:{type:\"slide\",duration:300,from:{top:0,opacity:1},to:{top:\"30%\",opacity:0}}}:{show:{type:\"fade\",duration:400,from:0,to:1},hide:{type:\"fade\",duration:400,from:1,to:0}}},_init:function(){var e=this.option(\"_wrapperClassExternal\"),t=e?\"\".concat(\"dx-popup-wrapper\",\" \").concat(e):\"dx-popup-wrapper\";this.callBase(),this._createBodyOverflowManager(),this._updateResizeCallbackSkipCondition(),this.$element().addClass(\"dx-popup\"),this.$wrapper().addClass(t),this._$popupContent=this._$content.wrapInner((0,s.default)(\"<div>\").addClass(\"dx-popup-content\")).children().eq(0),this._toggleContentScrollClass(),this.$overlayContent().attr(\"role\",\"dialog\")},_render:function(){var e=this.option(\"fullScreen\");this._toggleFullScreenClass(e),this.callBase()},_createBodyOverflowManager:function(){this._bodyOverflowManager=(0,E.createBodyOverflowManager)()},_toggleFullScreenClass:function(e){this.$overlayContent().toggleClass(\"dx-popup-fullscreen\",e).toggleClass(\"dx-popup-normal\",!e)},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({title:new l.EmptyTemplate,bottom:new l.EmptyTemplate})},_getActionsList:function(){return this.callBase().concat([\"onResizeStart\",\"onResize\",\"onResizeEnd\"])},_contentResizeHandler:function(e){this._shouldSkipContentResize(e)||this._renderGeometry({shouldOnlyReposition:!0})},_doesShowAnimationChangeDimensions:function(){var e=this.option(\"animation\");return[\"to\",\"from\"].some((function(t){var n,i=null==e||null===(n=e.show)||void 0===n?void 0:n[t];return(0,m.isObject)(i)&&(\"width\"in i||\"height\"in i)}))},_updateResizeCallbackSkipCondition:function(){var e=this,t=this._doesShowAnimationChangeDimensions();this._shouldSkipContentResize=function(n){return t&&e._showAnimationProcessing||e._areContentDimensionsRendered(n)}},_observeContentResize:function(e){var t=this;if(this.option(\"useResizeObserver\")){var n=this._$content.get(0);e?D.default.observe(n,(function(e){t._contentResizeHandler(e)})):D.default.unobserve(n)}},_areContentDimensionsRendered:function(e){var t,n,i,o,a,r=null===(t=e.contentBoxSize)||void 0===t?void 0:t[0];if(r)return parseInt(r.inlineSize,10)===(null===(o=this._renderedDimensions)||void 0===o?void 0:o.width)&&parseInt(r.blockSize,10)===(null===(a=this._renderedDimensions)||void 0===a?void 0:a.height);var s=e.contentRect;return parseInt(s.width,10)===(null===(n=this._renderedDimensions)||void 0===n?void 0:n.width)&&parseInt(s.height,10)===(null===(i=this._renderedDimensions)||void 0===i?void 0:i.height)},_renderContent:function(){this.callBase(),this._observeContentResize(!0)},_renderContentImpl:function(){this._renderTitle(),this.callBase(),this._renderResize(),this._renderBottom()},_renderTitle:function(){var e=this._getToolbarItems(\"top\"),t=this.option(),n=t.title,i=t.showTitle;if(i&&n&&e.unshift({location:a.default.current().ios?\"center\":\"before\",text:n}),i||e.length>0){this._$title&&this._$title.remove();var o=(0,s.default)(\"<div>\").addClass(\"dx-popup-title\").insertBefore(this.$content());this._$title=this._renderTemplateByType(\"titleTemplate\",e,o).addClass(\"dx-popup-title\"),this._renderDrag(),this._executeTitleRenderAction(this._$title),this._$title.toggleClass(\"dx-has-close-button\",this._hasCloseButton())}else this._$title&&this._$title.detach();this._toggleAriaLabel()},_toggleAriaLabel:function(){var e,t=this.option(),n=t.title,i=t.showTitle&&!!n?new O.default:null;null===(e=this._$title)||void 0===e||e.find(\".\".concat(\"dx-toolbar-label\")).eq(0).attr(\"id\",i),this.$overlayContent().attr(\"aria-labelledby\",i)},_renderTemplateByType:function(e,t,n,i){var o=this.option(),a=o.rtlEnabled,u=o.useDefaultToolbarButtons,d=o.useFlatToolbarButtons,h=o.disabled,f=this._getTemplateByOption(e);if(f instanceof l.EmptyTemplate){var p=(0,c.extend)({},this.option(\"integrationOptions\"),{skipTemplates:[\"content\",\"title\"]}),g=(0,c.extend)(i,{items:t,rtlEnabled:a,useDefaultButtons:u,useFlatButtons:d,disabled:h,integrationOptions:p});this._getTemplate(\"dx-polymorph-widget\").render({container:n,model:{widget:this._getToolbarName(),options:g}});var m=n.children(\"div\");return n.replaceWith(m),m}var _=(0,s.default)(f.render({container:(0,r.getPublicElement)(n)}));return _.hasClass(\"dx-template-wrapper\")&&(n.replaceWith(_),n=_),n},_getToolbarName:function(){return\"dxToolbarBase\"},_renderVisibilityAnimate:function(e){return this.callBase(e)},_hide:function(){return this._observeContentResize(!1),this.callBase()},_executeTitleRenderAction:function(e){this._getTitleRenderAction()({titleElement:(0,r.getPublicElement)(e)})},_getTitleRenderAction:function(){return this._titleRenderAction||this._createTitleRenderAction()},_createTitleRenderAction:function(){return this._titleRenderAction=this._createActionByOption(\"onTitleRendered\",{element:this.element(),excludeValidators:[\"disabled\",\"readOnly\"]})},_getCloseButton:function(){return{toolbar:\"top\",location:\"after\",template:this._getCloseButtonRenderer()}},_getCloseButtonRenderer:function(){var e=this;return function(t,n,i){var o=(0,s.default)(\"<div>\").addClass(\"dx-closebutton\");e._createComponent(o,C.default,{icon:\"close\",onClick:e._createToolbarItemAction(void 0),stylingMode:\"text\",integrationOptions:{}}),(0,s.default)(i).append(o)}},_getToolbarItems:function(e){var t=this,n=this.option(\"toolbarItems\"),i=[];this._toolbarItemClasses=[];var o=a.default.current().platform,r=0;return(0,f.each)(n,(function(n,s){var l=(0,m.isDefined)(s.shortcut),u=l?function(e){var t=a.default.current().platform,n=\"bottom\",i=\"before\";if(\"ios\"===t)switch(e){case\"cancel\":n=\"top\";break;case\"clear\":n=\"top\",i=\"after\";break;case\"done\":i=\"after\"}else if(\"android\"===t)switch(e){case\"cancel\":case\"done\":i=\"after\"}return{toolbar:n,location:i}}(s.shortcut):s;if(l&&\"ios\"===o&&r<2&&(u.toolbar=\"top\",r++),u.toolbar=s.toolbar||u.toolbar||\"top\",u&&u.toolbar===e){l&&(0,c.extend)(u,{location:s.location},t._getToolbarItemByAlias(s));var d=\"generic\"===o;\"done\"===s.shortcut&&d||\"cancel\"===s.shortcut&&!d?i.unshift(u):i.push(u)}})),\"top\"===e&&this._hasCloseButton()&&i.push(this._getCloseButton()),i},_hasCloseButton:function(){return this.option(\"showCloseButton\")&&this.option(\"showTitle\")},_getLocalizationKey:function(e){return\"done\"===e.toLowerCase()?\"OK\":(0,h.camelize)(e,!0)},_getToolbarItemByAlias:function(e){var t=this,n=e.shortcut;if(!R.includes(n))return!1;var i=(0,c.extend)({text:b.default.format(this._getLocalizationKey(n)),onClick:this._createToolbarItemAction(e.onClick),integrationOptions:{},type:t.option(\"useDefaultToolbarButtons\")?\"default\":\"normal\",stylingMode:t.option(\"useFlatToolbarButtons\")?\"text\":\"contained\"},e.options||{}),o=\"dx-popup-\"+n;return this._toolbarItemClasses.push(o),{template:function(e,n,a){var r=(0,s.default)(\"<div>\").addClass(o).appendTo(a);t._createComponent(r,C.default,i)}}},_createToolbarItemAction:function(e){return this._createAction(e,{afterExecute:function(e){e.component.hide()}})},_renderBottom:function(){var e=this._getToolbarItems(\"bottom\");if(e.length){this._$bottom&&this._$bottom.remove();var t=(0,s.default)(\"<div>\").addClass(\"dx-popup-bottom\").insertAfter(this.$content());this._$bottom=this._renderTemplateByType(\"bottomTemplate\",e,t,{compactMode:!0}).addClass(\"dx-popup-bottom\"),this._toggleClasses()}else this._$bottom&&this._$bottom.detach()},_toggleDisabledState:function(e){this.callBase.apply(this,arguments),this.$content().toggleClass(\"dx-state-disabled\",Boolean(e))},_toggleClasses:function(){var e=this,t=R;(0,f.each)(t,(function(t,n){var i=\"dx-popup-\"+n;e._toolbarItemClasses.includes(i)?(e.$wrapper().addClass(i+\"-visible\"),e._$bottom.addClass(i)):(e.$wrapper().removeClass(i+\"-visible\"),e._$bottom.removeClass(i))}))},_toggleFocusClass:function(e,t){if(this.callBase(e,t),e&&!I.isLastZIndexInStack(this._zIndex)){var n=I.create(this._zIndexInitValue());I.remove(this._zIndex),this._zIndex=n,this._$wrapper.css(\"zIndex\",n),this._$content.css(\"zIndex\",n)}},_toggleContentScrollClass:function(){var e=!this.option(\"preventScrollEvents\");this.$content().toggleClass(\"dx-popup-content-scrollable\",e)},_getPositionControllerConfig:function(){var e=this.option(),t=e.fullScreen,n=e.forceApplyBindings,i=e.dragOutsideBoundary,o=e.dragAndResizeArea,a=e.outsideDragFactor;return(0,c.extend)({},this.callBase(),{fullScreen:t,forceApplyBindings:n,dragOutsideBoundary:i,dragAndResizeArea:o,outsideDragFactor:a})},_initPositionController:function(){this._positionController=new T.PopupPositionController(this._getPositionControllerConfig())},_getDragTarget:function(){return this.topToolbar()},_renderGeometry:function(e){var t=this.option(),n=t.visible,i=t.useResizeObserver;if(n&&(0,v.hasWindow)()){var o=this._showAnimationProcessing&&!(null!=e&&e.forceStopAnimation)&&i;this._isAnimationPaused=o||void 0,this._stopAnimation(),null!=e&&e.shouldOnlyReposition?this._renderPosition(!1):this._renderGeometryImpl(null==e?void 0:e.isDimensionChange),o&&(this._animateShowing(),this._isAnimationPaused=void 0)}},_cacheDimensions:function(){this.option(\"useResizeObserver\")&&(this._renderedDimensions={width:parseInt((0,p.getWidth)(this._$content),10),height:parseInt((0,p.getHeight)(this._$content),10)})},_renderGeometryImpl:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e||this._resetContentHeight(),this.callBase(),this._cacheDimensions(),this._setContentHeight()},_resetContentHeight:function(){\"auto\"===this._getOptionValue(\"height\")&&this.$content().css({height:\"auto\",maxHeight:\"none\"})},_renderDrag:function(){var e=this._getDragTarget(),t=this.option(\"dragEnabled\");if(e){var n={dragEnabled:t,handle:e.get(0),draggableElement:this._$content.get(0),positionController:this._positionController};this._drag?this._drag.init(n):this._drag=new x.default(n),this.$overlayContent().toggleClass(\"dx-popup-draggable\",t)}},_renderResize:function(){var e=this;this._resizable=this._createComponent(this._$content,w.default,{handles:this.option(\"resizeEnabled\")?\"all\":\"none\",onResizeEnd:function(t){e._resizeEndHandler(t),e._observeContentResize(!0)},onResize:function(t){e._setContentHeight(),e._actions.onResize(t)},onResizeStart:function(t){e._observeContentResize(!1),e._actions.onResizeStart(t)},minHeight:100,minWidth:100,area:this._positionController.$dragResizeContainer,keepAspectRatio:!1})},_resizeEndHandler:function(e){var t=this._resizable.option(\"width\"),n=this._resizable.option(\"height\");t&&this._setOptionWithoutOptionChange(\"width\",t),n&&this._setOptionWithoutOptionChange(\"height\",n),this._cacheDimensions(),this._positionController.resizeHandled(),this._positionController.detectVisualPositionChange(e.event),this._actions.onResizeEnd(e)},_setContentHeight:function(){(this.option(\"forceApplyBindings\")||d.noop)();var e=this.$overlayContent().get(0),t=this._chooseHeightStrategy(e);this.$content().css(this._getHeightCssStyles(t,e)),this._setHeightClasses(this.$overlayContent(),t)},_heightStrategyChangeOffset:function(e,t){return e===L.flex?-t:0},_chooseHeightStrategy:function(e){var t=\"auto\"===e.style.width||\"\"===e.style.width,n=L.static;return this._isAutoHeight()&&this.option(\"autoResizeEnabled\")&&(n=t||B?L.inherit:L.flex),n},_getHeightCssStyles:function(e,t){var n={},i=this._getOptionValue(\"maxHeight\",t),o=this._getOptionValue(\"minHeight\",t),a=this._splitPopupHeight(),r=a.header+a.footer+a.contentVerticalOffsets+a.popupVerticalOffsets+this._heightStrategyChangeOffset(e,a.popupVerticalPaddings);if(e===L.static){if(!this._isAutoHeight()||i||o){var l=(this.option(\"fullScreen\")?Math.min((0,g.getBoundingRect)(t).height,(0,v.getWindow)().innerHeight):(0,g.getBoundingRect)(t).height)-r;n={height:Math.max(0,l),minHeight:\"auto\",maxHeight:\"auto\"}}}else{var u=(0,s.default)(this._positionController.$visualContainer).get(0),d=(0,p.addOffsetToMaxHeight)(i,-r,u);n={height:\"auto\",minHeight:(0,p.addOffsetToMinHeight)(o,-r,u),maxHeight:d}}return n},_setHeightClasses:function(e,t){var n=\"\";for(var i in L)L[i]!==t&&(n+=\" \"+L[i]);e.removeClass(n).addClass(t)},_isAutoHeight:function(){return\"auto\"===this.$overlayContent().get(0).style.height},_splitPopupHeight:function(){var e=this.topToolbar(),t=this.bottomToolbar();return{header:(0,p.getVisibleHeight)(e&&e.get(0)),footer:(0,p.getVisibleHeight)(t&&t.get(0)),contentVerticalOffsets:(0,p.getVerticalOffsets)(this.$overlayContent().get(0),!0),popupVerticalOffsets:(0,p.getVerticalOffsets)(this.$content().get(0),!0),popupVerticalPaddings:(0,p.getVerticalOffsets)(this.$content().get(0),!1)}},_isAllWindowCovered:function(){return this.callBase()||this.option(\"fullScreen\")},_renderDimensions:function(){this.option(\"fullScreen\")?this.$overlayContent().css({width:\"100%\",height:\"100%\",minWidth:\"\",maxWidth:\"\",minHeight:\"\",maxHeight:\"\"}):this.callBase(),(0,v.hasWindow)()&&this._renderFullscreenWidthClass()},_dimensionChanged:function(){this._renderGeometry({isDimensionChange:!0})},_clean:function(){this.callBase(),this._observeContentResize(!1)},_dispose:function(){this.callBase(),this._toggleBodyScroll(!0)},_renderFullscreenWidthClass:function(){this.$overlayContent().toggleClass(\"dx-popup-fullscreen-width\",(0,p.getOuterWidth)(this.$overlayContent())===(0,p.getWidth)(M))},_toggleSafariScrolling:function(){this.option(\"enableBodyScroll\")&&this.callBase()},_toggleBodyScroll:function(e){if(this._bodyOverflowManager){var t=this._bodyOverflowManager,n=t.setOverflow,i=t.restoreOverflow;e?i():n()}},refreshPosition:function(){this._renderPosition()},_optionChanged:function(e){var t,n=e.value,i=e.name;switch(i){case\"disabled\":this.callBase(e),this._renderTitle(),this._renderBottom();break;case\"animation\":this._updateResizeCallbackSkipCondition();break;case\"enableBodyScroll\":this._toggleBodyScroll(n);break;case\"showTitle\":case\"title\":case\"titleTemplate\":this._renderTitle(),this._renderGeometry(),(0,y.triggerResizeEvent)(this.$overlayContent());break;case\"bottomTemplate\":this._renderBottom(),this._renderGeometry(),(0,y.triggerResizeEvent)(this.$overlayContent());break;case\"container\":var o;if(this.callBase(e),this.option(\"resizeEnabled\"))null===(o=this._resizable)||void 0===o||o.option(\"area\",this._positionController.$dragResizeContainer);break;case\"width\":case\"height\":this.callBase(e),null===(t=this._resizable)||void 0===t||t.option(i,n);break;case\"onTitleRendered\":this._createTitleRenderAction(n);break;case\"toolbarItems\":case\"useDefaultToolbarButtons\":case\"useFlatToolbarButtons\":var a=!e.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);this._renderTitle(),this._renderBottom(),a&&(this._renderGeometry(),(0,y.triggerResizeEvent)(this.$overlayContent()));break;case\"dragEnabled\":this._renderDrag();break;case\"dragAndResizeArea\":this._positionController.dragAndResizeArea=n,this.option(\"resizeEnabled\")&&this._resizable.option(\"area\",this._positionController.$dragResizeContainer),this._positionController.positionContent();break;case\"dragOutsideBoundary\":this._positionController.dragOutsideBoundary=n,this.option(\"resizeEnabled\")&&this._resizable.option(\"area\",this._positionController.$dragResizeContainer);break;case\"outsideDragFactor\":this._positionController.outsideDragFactor=n;break;case\"resizeEnabled\":this._renderResize(),this._renderGeometry();break;case\"autoResizeEnabled\":this._renderGeometry(),(0,y.triggerResizeEvent)(this.$overlayContent());break;case\"fullScreen\":this._positionController.fullScreen=n,this._toggleFullScreenClass(n),this._toggleSafariScrolling(),this._renderGeometry(),(0,y.triggerResizeEvent)(this.$overlayContent());break;case\"showCloseButton\":this._renderTitle();break;case\"preventScrollEvents\":this.callBase(e),this._toggleContentScrollClass();break;default:this.callBase(e)}},bottomToolbar:function(){return this._$bottom},topToolbar:function(){return this._$title},$content:function(){return this._$popupContent},content:function(){return(0,r.getPublicElement)(this.$content())},$overlayContent:function(){return this._$content}});(0,o.default)(\"dxPopup\",V);var F=V;t.default=F,e.exports=t.default,e.exports.default=t.default},28080:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=l(n(39661)),a=n(13306),r=n(35922),s=l(n(99393));function l(e){return e&&e.__esModule?e:{default:e}}var u=o.default.inherit({_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{value:0,statusFormat:function(e){return\"Progress: \"+Math.round(100*e)+\"%\"},showStatus:!0,onComplete:null,activeStateEnabled:!1,statusPosition:\"bottom left\",_animatingSegmentCount:0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(e){return\"android\"===e.platform},options:{_animatingSegmentCount:2}}])},_initMarkup:function(){this._renderStatus(),this._createCompleteAction(),this.callBase(),this.$element().addClass(\"dx-progressbar\"),this._$wrapper.addClass(\"dx-progressbar-wrapper\"),this._$bar.addClass(\"dx-progressbar-container\"),this.setAria(\"role\",\"progressbar\"),(0,i.default)(\"<div>\").addClass(\"dx-progressbar-range-container\").appendTo(this._$wrapper).append(this._$bar),this._$range.addClass(\"dx-progressbar-range\"),this._toggleStatus(this.option(\"showStatus\"))},_useTemplates:function(){return!1},_createCompleteAction:function(){this._completeAction=this._createActionByOption(\"onComplete\")},_renderStatus:function(){this._$status=(0,i.default)(\"<div>\").addClass(\"dx-progressbar-status\")},_renderIndeterminateState:function(){this._$segmentContainer=(0,i.default)(\"<div>\").addClass(\"dx-progressbar-animating-container\");for(var e=this.option(\"_animatingSegmentCount\"),t=0;t<e;t++)(0,i.default)(\"<div>\").addClass(\"dx-progressbar-animating-segment\").addClass(\"dx-progressbar-animating-segment-\"+(t+1)).appendTo(this._$segmentContainer);this._$segmentContainer.appendTo(this._$wrapper)},_toggleStatus:function(e){var t=this.option(\"statusPosition\").split(\" \");e?\"top\"===t[0]||\"left\"===t[0]?this._$status.prependTo(this._$wrapper):this._$status.appendTo(this._$wrapper):this._$status.detach(),this._togglePositionClass()},_togglePositionClass:function(){var e=this.option(\"statusPosition\").split(\" \");this._$wrapper.removeClass(\"dx-position-top-left dx-position-top-right dx-position-bottom-left dx-position-bottom-right dx-position-left dx-position-right\");var t=\"dx-position-\"+e[0];e[1]&&(t+=\"-\"+e[1]),this._$wrapper.addClass(t)},_toggleIndeterminateState:function(e){e?(this._renderIndeterminateState(),this._$bar.toggle(!1)):(this._$bar.toggle(!0),this._$segmentContainer.remove(),delete this._$segmentContainer)},_renderValue:function(){var e=this.option(\"value\"),t=this.option(\"max\");e||0===e?(this._$segmentContainer&&this._toggleIndeterminateState(!1),e===t&&this._completeAction(),this.callBase(),this._setStatus()):this._toggleIndeterminateState(!0)},_setStatus:function(){var e=this.option(\"statusFormat\"),t=(e=(0,r.isFunction)(e)?e.bind(this):function(e){return e})(this._currentRatio,this.option(\"value\"));this._$status.text(t)},_dispose:function(){this._$status.remove(),this.callBase()},_optionChanged:function(e){switch(e.name){case\"statusFormat\":this._setStatus();break;case\"showStatus\":this._toggleStatus(e.value);break;case\"statusPosition\":this._toggleStatus(this.option(\"showStatus\"));break;case\"onComplete\":this._createCompleteAction();break;case\"_animatingSegmentCount\":break;default:this.callBase(e)}}});(0,s.default)(\"dxProgressBar\",u);var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},14305:function(e,t,n){var i;t.default=void 0;var o=((i=n(4060))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},6282:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=c(n(55994)),a=c(n(20530)),r=n(13306),s=c(n(99393)),l=c(n(96452)),u=n(39611),d=n(95429);function c(e){return e&&e.__esModule?e:{default:e}}var h=l.default.inherit({_supportedKeys:function(){return(0,r.extend)(this.callBase(),{space:function(e){e.preventDefault(),this._clickAction({event:e})}})},_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,value:!1})},_canValueBeChangedByClick:function(){return!0},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this.$element().addClass(\"dx-radiobutton\")},_initMarkup:function(){this.callBase(),this._renderIcon(),this._renderCheckedState(this.option(\"value\")),this._renderClick(),this.setAria(\"role\",\"radio\")},_renderIcon:function(){this._$icon=(0,i.default)(\"<div>\").addClass(\"dx-radiobutton-icon\"),(0,i.default)(\"<div>\").addClass(\"dx-radiobutton-icon-dot\").appendTo(this._$icon),this.$element().append(this._$icon)},_renderCheckedState:function(e){this.$element().toggleClass(\"dx-radiobutton-checked\",e).find(\".dx-radiobutton-icon\").toggleClass(\"dx-radiobutton-icon-checked\",e),this.setAria(\"checked\",e)},_renderClick:function(){var e=(0,u.addNamespace)(d.name,this.NAME);this._clickAction=this._createAction(function(e){this._clickHandler(e.event)}.bind(this)),o.default.off(this.$element(),e),o.default.on(this.$element(),e,function(e){this._clickAction({event:e})}.bind(this))},_clickHandler:function(e){this._saveValueChangeEvent(e),this.option(\"value\",!0)},_optionChanged:function(e){switch(e.name){case\"value\":this._renderCheckedState(e.value),this.callBase(e);break;default:this.callBase(e)}}});(0,s.default)(\"dxRadioButton\",h);var f=h;t.default=f,e.exports=t.default,e.exports.default=t.default},4060:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=n(13306),a=f(n(20530)),r=n(20576),s=n(35922),l=f(n(99393)),u=f(n(11050)),d=f(n(88718)),c=f(n(96452)),h=n(62754);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n._focusTarget=function(){return this.$element().parent()},n._nullValueSelectionSupported=function(){return!0},n._getDefaultOptions=function(){var t=e.prototype._getDefaultOptions.call(this);return(0,o.extend)(t,d.default._dataExpressionDefaultOptions(),{_itemAttributes:{role:\"radio\"}})},n._initMarkup=function(){var t=this;e.prototype._initMarkup.call(this),(0,r.deferRender)((function(){t.itemElements().addClass(\"dx-radiobutton\")}))},n._keyboardEventBindingTarget=function(){return this._focusTarget()},n._postprocessRenderItem=function(t){var n=t.itemData.html,o=t.itemElement;if(!n){var a=(0,i.default)(\"<div>\").addClass(\"dx-radiobutton-icon\");(0,i.default)(\"<div>\").addClass(\"dx-radiobutton-icon-dot\").appendTo(a);var r=(0,i.default)(\"<div>\").append(a).addClass(\"dx-radio-value-container\");(0,i.default)(o).prepend(r)}e.prototype._postprocessRenderItem.call(this,t)},n._processSelectableItem=function(t,n){e.prototype._processSelectableItem.call(this,t,n),t.toggleClass(\"dx-radiobutton-checked\",n).find(\".\".concat(\"dx-radiobutton-icon\")).first().toggleClass(\"dx-radiobutton-icon-checked\",n),this.setAria(\"checked\",n,t)},n._refreshContent=function(){this._prepareContent(),this._renderContent()},n._supportedKeys=function(){var t=e.prototype._supportedKeys.call(this);return(0,o.extend)({},t,{enter:function(e){return e.preventDefault(),t.enter.apply(this,arguments)},space:function(e){return e.preventDefault(),t.space.apply(this,arguments)}})},n._itemElements=function(){return this._itemContainer().children(this._itemSelector())},n._setAriaSelectionAttribute=function(){},t}(u.default),_=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n._dataSourceOptions=function(){return{paginate:!1}},n._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:{tablet:!0},options:{layout:\"horizontal\"}},{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}}])},n._fireContentReadyAction=function(t){t&&e.prototype._fireContentReadyAction.call(this)},n._focusTarget=function(){return this.$element()},n._getAriaTarget=function(){return this.$element()},n._getDefaultOptions=function(){var t=e.prototype._getDefaultOptions.call(this);return(0,o.extend)(t,(0,o.extend)(d.default._dataExpressionDefaultOptions(),{hoverStateEnabled:!0,activeStateEnabled:!0,layout:\"vertical\"}))},n._getItemValue=function(e){return this._valueGetter?this._valueGetter(e):e.text},n._getSubmitElement=function(){return this._$submitElement},n._init=function(){e.prototype._init.call(this),this._activeStateUnit=\".\".concat(\"dx-radiobutton\"),this._feedbackHideTimeout=100,this._initDataExpressions()},n._initMarkup=function(){this.$element().addClass(\"dx-radiogroup\"),this._renderSubmitElement(),this.setAria(\"role\",\"radiogroup\"),this._renderRadios(),this._renderLayout(),e.prototype._initMarkup.call(this)},n._itemClickHandler=function(e){var t=e.itemElement,n=e.event,i=e.itemData;if(this.itemElements().is(t)){var o=this._getItemValue(i);o!==this.option(\"value\")&&(this._saveValueChangeEvent(n),this.option(\"value\",o))}},n._getSelectedItemKeys=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.option(\"value\"),t=\"this\"!==this.option(\"valueExpr\"),n=t&&null===e||(0,s.isDefined)(e);return n?[e]:[]},n._setSelection=function(e){var t=this._unwrappedValue(e);this._setCollectionWidgetOption(\"selectedItemKeys\",this._getSelectedItemKeys(t))},n._optionChanged=function(t){var n=t.name,i=t.value;switch(this._dataExpressionOptionChanged(t),n){case\"dataSource\":this._invalidate();break;case\"focusStateEnabled\":case\"accessKey\":case\"tabIndex\":this._setCollectionWidgetOption(n,i);break;case\"disabled\":e.prototype._optionChanged.call(this,t),this._setCollectionWidgetOption(n,i);break;case\"valueExpr\":this._setCollectionWidgetOption(\"keyExpr\",this._getCollectionKeyExpr());break;case\"value\":this._setSelection(i),this._setSubmitValue(i),e.prototype._optionChanged.call(this,t);break;case\"items\":this._setSelection(this.option(\"value\"));break;case\"itemTemplate\":case\"displayExpr\":break;case\"layout\":this._renderLayout(),this._updateItemsSize();break;default:e.prototype._optionChanged.call(this,t)}},n._render=function(){e.prototype._render.call(this),this._updateItemsSize()},n._renderLayout=function(){var e=this.option(\"layout\"),t=this.$element();t.toggleClass(\"dx-radiogroup-vertical\",\"vertical\"===e),t.toggleClass(\"dx-radiogroup-horizontal\",\"horizontal\"===e)},n._renderRadios=function(){var e=this;this._areRadiosCreated=new h.Deferred;var t=(0,i.default)(\"<div>\").appendTo(this.$element()),n=this.option(),o=n.displayExpr,a=n.accessKey,r=n.focusStateEnabled,s=n.itemTemplate,l=n.tabIndex;this._createComponent(t,m,{onInitialized:function(t){var n=t.component;e._radios=n},onContentReady:function(t){e._fireContentReadyAction(!0)},onItemClick:this._itemClickHandler.bind(this),displayExpr:o,accessKey:a,dataSource:this._dataSource,focusStateEnabled:r,itemTemplate:s,keyExpr:this._getCollectionKeyExpr(),noDataText:\"\",scrollingEnabled:!1,selectByClick:!1,selectionMode:\"single\",selectedItemKeys:this._getSelectedItemKeys(),tabIndex:l}),this._areRadiosCreated.resolve()},n._renderSubmitElement=function(){this._$submitElement=(0,i.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element()),this._setSubmitValue()},n._setOptionsByReference=function(){e.prototype._setOptionsByReference.call(this),(0,o.extend)(this._optionsByReference,{value:!0})},n._setSubmitValue=function(e){var t;e=null!==(t=e)&&void 0!==t?t:this.option(\"value\");var n=\"this\"===this.option(\"valueExpr\")?this._displayGetter(e):e;this._$submitElement.val(n)},n._setCollectionWidgetOption=function(){this._areRadiosCreated.done(this._setWidgetOption.bind(this,\"_radios\",arguments))},n._updateItemsSize=function(){if(\"horizontal\"===this.option(\"layout\"))this.itemElements().css(\"height\",\"auto\");else{var e=this.option(\"items\").length;this.itemElements().css(\"height\",100/e+\"%\")}},n.focus=function(){var e;null===(e=this._radios)||void 0===e||e.focus()},n.itemElements=function(){var e;return null===(e=this._radios)||void 0===e?void 0:e.itemElements()},t}(c.default);_.include(d.default),(0,l.default)(\"dxRadioGroup\",_);var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},36992:function(e,t,n){t.default=void 0;var i=n(58664),o=f(n(68374)),a=f(n(55994)),r=f(n(97834)),s=f(n(6320)),l=f(n(99393)),u=n(13306),d=n(20576),c=n(39611),h=f(n(28109));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){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 g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var m=r.default.inherit({_supportedKeys:function(){var e=this.option(\"rtlEnabled\"),t=this,n=function(e,n){t.option(\"start\")===t.option(\"end\")&&(t._capturedHandle=n,e.target=t._capturedHandle,a.default.trigger(t._capturedHandle,\"focus\"))},i=function(n,i,a){var r=(0,o.default)(n.target).hasClass(\"dx-rangeslider-start-handle\")?\"start\":\"end\",s=t.option(r);i=t._valueStep(i),s+=a*(e?-i:i),t.option(r,s)},r=function(o,a){n(o,e?t._$handleStart:t._$handleEnd),i(o,a,1)},s=function(o,a){n(o,e?t._$handleEnd:t._$handleStart),i(o,a,-1)};return(0,u.extend)(this.callBase(),{leftArrow:function(e){this._processKeyboardEvent(e),s(e,this.option(\"step\"))},rightArrow:function(e){this._processKeyboardEvent(e),r(e,this.option(\"step\"))},pageUp:function(e){this._processKeyboardEvent(e),r(e,this.option(\"step\")*this.option(\"keyStep\"))},pageDown:function(e){this._processKeyboardEvent(e),s(e,this.option(\"step\")*this.option(\"keyStep\"))},home:function(e){this._processKeyboardEvent(e);var t=(0,o.default)(e.target).hasClass(\"dx-rangeslider-start-handle\"),n=t?\"start\":\"end\",i=t?\"min\":\"start\",a=this.option(i);this.option(n,a)},end:function(e){this._processKeyboardEvent(e);var t=(0,o.default)(e.target).hasClass(\"dx-rangeslider-start-handle\"),n=t?\"start\":\"end\",i=t?\"end\":\"max\",a=this.option(i);this.option(n,a)}})},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{start:40,end:60,value:[40,60],startName:\"\",endName:\"\"})},_renderSubmitElement:function(){var e=this.$element();this._$submitStartElement=(0,o.default)(\"<input>\").attr(\"type\",\"hidden\").attr(\"name\",this.option(\"startName\")).appendTo(e),this._$submitEndElement=(0,o.default)(\"<input>\").attr(\"type\",\"hidden\").attr(\"name\",this.option(\"endName\")).appendTo(e)},_initOptions:function(e){this.callBase(e);var t=this.initialOption(\"value\"),n=this.option(\"value\");n[0]===t[0]&&n[1]===t[1]?this.option(\"value\",[this.option(\"start\"),this.option(\"end\")]):this.option({start:n[0],end:n[1]})},_initMarkup:function(){this.$element().addClass(\"dx-rangeslider\"),this.callBase()},_renderContentImpl:function(){this._callHandlerMethod(\"repaint\"),this.callBase()},_renderHandle:function(){this._$handleStart=this._renderHandleImpl(this.option(\"start\"),this._$handleStart).addClass(\"dx-rangeslider-start-handle\"),this._$handleEnd=this._renderHandleImpl(this.option(\"end\"),this._$handleEnd).addClass(\"dx-rangeslider-end-handle\"),this._updateHandleAriaLabels()},_startHandler:function(e){var t=e.event,n=this._$range,o=(0,i.getWidth)(n),a=(0,c.eventData)(t).x-this._$bar.offset().left,r=n.position().left,s=n.position().left+o,l=(this.option(\"rtlEnabled\")?-1:1)*((r+s)/2-a)>0;this._capturedHandle=l?this._$handleStart:this._$handleEnd,this.callBase(e)},_updateHandleAriaLabels:function(){this.setAria(\"label\",h.default.getFormatter(\"dxRangeSlider-ariaFrom\")(this.option(\"dxRangeSlider-ariaFrom\")),this._$handleStart),this.setAria(\"label\",h.default.getFormatter(\"dxRangeSlider-ariaTill\")(this.option(\"dxRangeSlider-ariaTill\")),this._$handleEnd)},_activeHandle:function(){return this._capturedHandle},_updateHandlePosition:function(e){var t=this.option(\"rtlEnabled\")?-1:1,n=this.option(\"max\"),i=this.option(\"min\"),o=this._startOffset+t*e.event.offset/this._swipePixelRatio(),r=(o=o.toPrecision(12))*(n-i)+i;this._updateSelectedRangePosition(o,o),s.default.getInstance(this._activeHandle()).fitTooltipPosition,this._changeValueOnSwipe(o);var l,u=p(this._getActualValue(),2),d=u[0],c=u[1];d===c&&(l=r<d?this._$handleStart:this._$handleEnd,a.default.trigger(l,\"focus\"),l&&l!==this._capturedHandle&&(this._updateSelectedRangePosition((d-i)/(n-i),(c-i)/(n-i)),this._toggleActiveState(this._activeHandle(),!1),this._toggleActiveState(l,!0),this._capturedHandle=l),this._updateSelectedRangePosition(o,o),this._changeValueOnSwipe(o))},_updateSelectedRangePosition:function(e,t){var n=this.option(\"rtlEnabled\"),i=this._capturedHandle===this._$handleStart&&n||this._capturedHandle===this._$handleEnd&&!n,o=i?\"right\":\"left\";n^i?this._$range.css(o,100-100*t+\"%\"):this._$range.css(o,100*e+\"%\")},_setValueOnSwipe:function(e){var t=this._capturedHandle===this._$handleStart?\"start\":\"end\",n=p(this._getActualValue(),2),i=n[0],o=n[1],a=this.option(\"max\"),r=this.option(\"min\");i=Math.min(Math.max(i,r),a),o=Math.min(Math.max(o,r),a),\"start\"===t?i=e>o?o:e:o=e<i?i:e,\"onHandleMove\"===this.option(\"valueChangeMode\")?this.option(\"value\",[i,o]):(this._actualValue=[i,o],this._renderValue())},_renderValue:function(){var e=p(this._getActualValue(),2),t=e[0],n=e[1],i=this.option(\"min\"),o=this.option(\"max\"),a=this.option(\"rtlEnabled\");t=Math.max(i,Math.min(t,o)),n=Math.max(t,Math.min(n,o)),\"onHandleMove\"===this.option(\"valueChangeMode\")&&(this._setOptionWithoutOptionChange(\"start\",t),this._setOptionWithoutOptionChange(\"end\",n),this._setOptionWithoutOptionChange(\"value\",[t,n])),this._$submitStartElement.val((0,d.applyServerDecimalSeparator)(t)),this._$submitEndElement.val((0,d.applyServerDecimalSeparator)(n));var r=o===i?0:(n-i)/(o-i),l=parseFloat((100*(o===i?0:(t-i)/(o-i))).toPrecision(12))+\"%\",u=parseFloat((100*(1-r)).toPrecision(12))+\"%\";!this._needPreventAnimation&&this._setRangeStyles({right:a?l:u,left:a?u:l}),s.default.getInstance(this._$handleStart).option(\"value\",t),s.default.getInstance(this._$handleEnd).option(\"value\",n)},_callHandlerMethod:function(e,t){s.default.getInstance(this._$handleStart)[e](t),s.default.getInstance(this._$handleEnd)[e](t)},_setValueOption:function(){var e=this.option(\"start\"),t=this.option(\"end\");this.option(\"value\",[e,t])},_optionChanged:function(e){switch(e.name){case\"value\":if(e.value[0]===e.previousValue[0]&&e.value[1]===e.previousValue[1])break;this._setOptionWithoutOptionChange(\"start\",e.value[0]),this._setOptionWithoutOptionChange(\"end\",e.value[1]),this._renderValue();var t=this.option(\"start\"),n=this.option(\"end\");this._createActionByOption(\"onValueChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})({start:t,end:n,value:[t,n],event:this._valueChangeEventInstance,previousValue:e.previousValue}),this.validationRequest.fire({value:[t,n],editor:this}),this._saveValueChangeEvent(void 0);break;case\"start\":case\"end\":this._setValueOption();break;case\"startName\":this._$submitStartElement.attr(\"name\",e.value);break;case\"endName\":this._$submitEndElement.attr(\"name\",e.value);break;case\"name\":break;default:this.callBase(e)}}});(0,l.default)(\"dxRangeSlider\",m);var _=m;t.default=_,e.exports=t.default,e.exports.default=t.default},46743:function(e,t,n){t.default=void 0;var i=n(58664),o=n(31648),a=v(n(99393)),r=v(n(13046)),s=v(n(68374)),l=n(20576),u=n(13306),d=n(95479),c=n(60810),h=n(35922),f=n(58201),p=v(n(55994)),g=n(23174),m=n(39611),_=n(80506);function v(e){return e&&e.__esModule?e:{default:e}}function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var b=(0,m.addNamespace)(g.start,\"dxResizable\"),x=(0,m.addNamespace)(g.move,\"dxResizable\"),w=(0,m.addNamespace)(g.end,\"dxResizable\"),C={left:\"borderLeftWidth\",top:\"borderTopWidth\",right:\"borderRightWidth\",bottom:\"borderBottomWidth\"},S=r.default.inherit({_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{handles:\"all\",step:\"1\",stepPrecision:\"simple\",area:void 0,minWidth:30,maxWidth:1/0,minHeight:30,maxHeight:1/0,onResizeStart:null,onResize:null,onResizeEnd:null,roundStepValue:!0,keepAspectRatio:!0})},_init:function(){this.callBase(),this.$element().addClass(\"dx-resizable\")},_initMarkup:function(){this.callBase(),this._renderHandles()},_render:function(){this.callBase(),this._renderActions()},_renderActions:function(){this._resizeStartAction=this._createActionByOption(\"onResizeStart\"),this._resizeEndAction=this._createActionByOption(\"onResizeEnd\"),this._resizeAction=this._createActionByOption(\"onResize\")},_renderHandles:function(){var e=this;this._handles=[];var t=this.option(\"handles\");if(\"none\"!==t&&t){var n=\"all\"===t?[\"top\",\"bottom\",\"left\",\"right\"]:t.split(\" \"),i={};(0,d.each)(n,(function(t,n){i[n]=!0,e._renderHandle(n)})),i.bottom&&i.right&&this._renderHandle(\"corner-bottom-right\"),i.bottom&&i.left&&this._renderHandle(\"corner-bottom-left\"),i.top&&i.right&&this._renderHandle(\"corner-top-right\"),i.top&&i.left&&this._renderHandle(\"corner-top-left\"),this._attachEventHandlers()}},_renderHandle:function(e){var t=(0,s.default)(\"<div>\").addClass(\"dx-resizable-handle\").addClass(\"dx-resizable-handle-\"+e).appendTo(this.$element());this._handles.push(t)},_attachEventHandlers:function(){if(!this.option(\"disabled\")){var e={};e[b]=this._dragStartHandler.bind(this),e[x]=this._dragHandler.bind(this),e[w]=this._dragEndHandler.bind(this),this._handles.forEach((function(t){p.default.on(t,e,{direction:\"both\",immediate:!0})}))}},_detachEventHandlers:function(){this._handles.forEach((function(e){p.default.off(e)}))},_toggleEventHandlers:function(e){e?this._attachEventHandlers():this._detachEventHandlers()},_getElementSize:function(){var e=this.$element();return\"border-box\"===e.css(\"boxSizing\")?{width:(0,i.getOuterWidth)(e),height:(0,i.getOuterHeight)(e)}:{width:(0,i.getWidth)(e),height:(0,i.getHeight)(e)}},_dragStartHandler:function(e){var t=this.$element();t.is(\".dx-state-disabled, .dx-state-disabled *\")?e.cancel=!0:(this._toggleResizingClass(!0),this._movingSides=this._getMovingSides(e),this._elementLocation=(0,o.locate)(t),this._elementSize=this._getElementSize(),this._renderDragOffsets(e),this._resizeStartAction({event:e,width:this._elementSize.width,height:this._elementSize.height,handles:this._movingSides}),e.targetElements=null)},_toggleResizingClass:function(e){this.$element().toggleClass(\"dx-resizable-resizing\",e)},_renderDragOffsets:function(e){var t=this._getArea();if(t){var n=(0,s.default)(e.target).closest(\".dx-resizable-handle\"),o=(0,i.getOuterWidth)(n),a=(0,i.getOuterHeight)(n),r=n.offset(),l=t.offset,u=this._getAreaScrollOffset();e.maxLeftOffset=this._leftMaxOffset=r.left-l.left-u.scrollX,e.maxRightOffset=this._rightMaxOffset=l.left+t.width-r.left-o+u.scrollX,e.maxTopOffset=this._topMaxOffset=r.top-l.top-u.scrollY,e.maxBottomOffset=this._bottomMaxOffset=l.top+t.height-r.top-a+u.scrollY}},_getBorderWidth:function(e,t){if((0,h.isWindow)(e.get(0)))return 0;var n=e.css(C[t]);return parseInt(n)||0},_proportionate:function(e,t){var n=this._elementSize;return t*(\"x\"===e?n.width/n.height:n.height/n.width)},_getProportionalDelta:function(e){var t=e.x,n=e.y,i=this._proportionate(\"y\",t);if(i>=n)return{x:t,y:i};var o=this._proportionate(\"x\",n);return o>=t?{x:o,y:n}:{x:0,y:0}},_getDirectionName:function(e){var t=this._movingSides;return\"x\"===e?t.left?\"left\":\"right\":t.top?\"top\":\"bottom\"},_fitIntoArea:function(e,t){var n,i=this._getDirectionName(e);return Math.min(t,null!==(n=this[\"_\".concat(i,\"MaxOffset\")])&&void 0!==n?n:1/0)},_fitDeltaProportionally:function(e){var t=this,n=y({},e),i=this._elementSize,o=this.option(),a=o.minWidth,r=o.minHeight,s=o.maxWidth,l=o.maxHeight,u=function(){return i.width+n.x},d=function(){return i.height+n.y},h=function(e){return n[e]===t._fitIntoArea(e,n[e])},f=function(){return(0,c.inRange)(u(),a,s)&&h(\"x\")},p=function(){return(0,c.inRange)(d(),r,l)&&h(\"y\")};if(!f()){var g=this._fitIntoArea(\"x\",(0,c.fitIntoRange)(u(),a,s)-i.width);n={x:g,y:this._proportionate(\"y\",g)}}if(!p()){var m=this._fitIntoArea(\"y\",(0,c.fitIntoRange)(d(),r,l)-i.height);n={x:this._proportionate(\"x\",m),y:m}}return f()&&p()?n:{x:0,y:0}},_fitDelta:function(e){var t=e.x,n=e.y,i=this._elementSize,o=this.option(),a=o.minWidth,r=o.minHeight,s=o.maxWidth,l=o.maxHeight;return{x:(0,c.fitIntoRange)(i.width+t,a,s)-i.width,y:(0,c.fitIntoRange)(i.height+n,r,l)-i.height}},_getDeltaByOffset:function(e){var t=this._movingSides,n=this._isCornerHandler(t)&&this.option(\"keepAspectRatio\"),i={x:e.x*(t.left?-1:1),y:e.y*(t.top?-1:1)};if(n){var o=this._getProportionalDelta(i);i=this._fitDeltaProportionally(o)}else{var a=this._fitDelta(i);i=this._roundByStep(a)}return i},_updatePosition:function(e,t){var n=t.width,i=t.height,a=this._elementLocation,r=this._movingSides,s=this.$element(),l=this._getElementSize(),u=e.y*(r.top?-1:1)-((l.height||i)-i),d=e.x*(r.left?-1:1)-((l.width||n)-n);(0,o.move)(s,{top:a.top+(r.top?u:0),left:a.left+(r.left?d:0)})},_dragHandler:function(e){var t=this._getOffset(e),n=this._getDeltaByOffset(t),i=this._updateDimensions(n);this._updatePosition(n,i),this._triggerResizeAction(e,i)},_updateDimensions:function(e){var t=function(e){return\"px\"===e.substring(e.length-2)},n=\"strict\"===this.option(\"stepPrecision\"),i=this._elementSize,o=i.width+e.x,a=i.height+e.y,r=this.$element().get(0).style,s=e.x||n||t(r.width),l=e.y||n||t(r.height);return s&&this.option({width:o}),l&&this.option({height:a}),{width:s?o:i.width,height:l?a:i.height}},_triggerResizeAction:function(e,t){var n=t.width,i=t.height;this._resizeAction({event:e,width:this.option(\"width\")||n,height:this.option(\"height\")||i,handles:this._movingSides}),(0,_.triggerResizeEvent)(this.$element())},_isCornerHandler:function(e){return 0===Object.values(e).reduce((function(e,t){return e^t}),0)},_getOffset:function(e){var t=e.offset,n=this._movingSides;return n.left||n.right||(t.x=0),n.top||n.bottom||(t.y=0),t},_roundByStep:function(e){return\"strict\"===this.option(\"stepPrecision\")?this._roundStrict(e):this._roundNotStrict(e)},_getSteps:function(){return(0,l.pairToObject)(this.option(\"step\"),!this.option(\"roundStepValue\"))},_roundNotStrict:function(e){var t=this._getSteps();return{x:e.x-e.x%t.h,y:e.y-e.y%t.v}},_roundStrict:function(e){var t=this._movingSides,n={x:e.x*(t.left?-1:1),y:e.y*(t.top?-1:1)},i=this._getSteps(),o=this._elementLocation,a=this._elementSize,r=t.left?o.left:o.left+a.width,s=t.top?o.top:o.top+a.height,l=(r+n.x)%i.h,u=(s+n.y)%i.v,d=Math.sign||function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},c=function(e,t){return(1+.2*d(t))%1*e},h=function(e,t){return Math.abs(e)<.2*t},f=n.x-l,p=n.y-u;l>c(i.h,n.x)&&(f+=i.h),u>c(i.v,n.y)&&(p+=i.v);var g=!t.left&&!t.right||h(n.x,i.h)?0:f,m=!t.top&&!t.bottom||h(n.y,i.v)?0:p;return{x:g*(t.left?-1:1),y:m*(t.top?-1:1)}},_getMovingSides:function(e){var t=(0,s.default)(e.target),n=t.hasClass(\"dx-resizable-handle-corner-top-left\"),i=t.hasClass(\"dx-resizable-handle-corner-top-right\"),o=t.hasClass(\"dx-resizable-handle-corner-bottom-left\"),a=t.hasClass(\"dx-resizable-handle-corner-bottom-right\");return{top:t.hasClass(\"dx-resizable-handle-top\")||n||i,left:t.hasClass(\"dx-resizable-handle-left\")||n||o,bottom:t.hasClass(\"dx-resizable-handle-bottom\")||o||a,right:t.hasClass(\"dx-resizable-handle-right\")||i||a}},_getArea:function(){var e=this.option(\"area\");return(0,h.isFunction)(e)&&(e=e.call(this)),(0,h.isPlainObject)(e)?this._getAreaFromObject(e):this._getAreaFromElement(e)},_getAreaScrollOffset:function(){var e=this.option(\"area\"),t={scrollY:0,scrollX:0};if(!(0,h.isFunction)(e)&&!(0,h.isPlainObject)(e)){var n=(0,s.default)(e)[0];(0,h.isWindow)(n)&&(t.scrollX=n.pageXOffset,t.scrollY=n.pageYOffset)}return t},_getAreaFromObject:function(e){var t={width:e.right-e.left,height:e.bottom-e.top,offset:{left:e.left,top:e.top}};return this._correctAreaGeometry(t),t},_getAreaFromElement:function(e){var t,n=(0,s.default)(e);return n.length&&(t={width:(0,i.getInnerWidth)(n),height:(0,i.getInnerHeight)(n),offset:(0,u.extend)({top:0,left:0},(0,h.isWindow)(n[0])?{}:n.offset())},this._correctAreaGeometry(t,n)),t},_correctAreaGeometry:function(e,t){var n=t?this._getBorderWidth(t,\"left\"):0,o=t?this._getBorderWidth(t,\"top\"):0;e.offset.left+=n+this._getBorderWidth(this.$element(),\"left\"),e.offset.top+=o+this._getBorderWidth(this.$element(),\"top\"),e.width-=(0,i.getOuterWidth)(this.$element())-(0,i.getInnerWidth)(this.$element()),e.height-=(0,i.getOuterHeight)(this.$element())-(0,i.getInnerHeight)(this.$element())},_dragEndHandler:function(e){var t=this.$element();this._resizeEndAction({event:e,width:(0,i.getOuterWidth)(t),height:(0,i.getOuterHeight)(t),handles:this._movingSides}),this._toggleResizingClass(!1)},_renderWidth:function(e){this.option(\"width\",(0,c.fitIntoRange)(e,this.option(\"minWidth\"),this.option(\"maxWidth\")))},_renderHeight:function(e){this.option(\"height\",(0,c.fitIntoRange)(e,this.option(\"minHeight\"),this.option(\"maxHeight\")))},_optionChanged:function(e){switch(e.name){case\"disabled\":this._toggleEventHandlers(!e.value),this.callBase(e);break;case\"handles\":this._invalidate();break;case\"minWidth\":case\"maxWidth\":(0,f.hasWindow)()&&this._renderWidth((0,i.getOuterWidth)(this.$element()));break;case\"minHeight\":case\"maxHeight\":(0,f.hasWindow)()&&this._renderHeight((0,i.getOuterHeight)(this.$element()));break;case\"onResize\":case\"onResizeStart\":case\"onResizeEnd\":this._renderActions();break;case\"area\":case\"stepPrecision\":case\"step\":case\"roundStepValue\":case\"keepAspectRatio\":break;default:this.callBase(e)}},_clean:function(){this.$element().find(\".dx-resizable-handle\").remove()},_useTemplates:function(){return!1}});(0,a.default)(\"dxResizable\",S);var k=S;t.default=k,e.exports=t.default,e.exports.default=t.default},21643:function(e,t,n){t.default=void 0;var i=n(58664),o=p(n(68374)),a=n(20576),r=n(35922),s=p(n(96688)),l=n(58201),u=n(95479),d=n(13306),c=p(n(99393)),h=p(n(55551)),f=p(n(11050));function p(e){return e&&e.__esModule?e:{default:e}}var g=f.default.inherit({_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{rows:[],cols:[],screenByWidth:null,singleColumnScreen:\"\",height:\"100%\",width:\"100%\",activeStateEnabled:!1,focusStateEnabled:!1,onItemStateChanged:void 0,onLayoutChanged:null,currentScreenFactor:void 0})},_init:function(){this.option(\"screenByWidth\")||this._options.silent(\"screenByWidth\",l.defaultScreenFactorFunc),this.callBase(),this._initLayoutChangedAction()},_initLayoutChangedAction:function(){this._layoutChangedAction=this._createActionByOption(\"onLayoutChanged\",{excludeValidators:[\"disabled\",\"readonly\"]})},_itemClass:function(){return\"dx-box-item\"},_itemDataKey:function(){return\"dxBoxItemData\"},_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-responsivebox\")},_renderItems:function(){this._setScreenSize(),this._screenItems=this._itemsByScreen(),this._prepareGrid(),this._spreadItems(),this._layoutItems(),this._linkNodeToItem()},_itemOptionChanged:function(e){var t=this._findItemElementByItem(e);t.length&&(this._refreshItem(t,e),this._clearItemNodeTemplates(),this._update(!0))},_setScreenSize:function(){var e=this._getCurrentScreen();this._removeScreenSizeClass(),this.$element().addClass(\"dx-responsivebox-screen-\"+e),this.option(\"currentScreenFactor\",e)},_removeScreenSizeClass:function(){var e=this.option(\"currentScreenFactor\");e&&this.$element().removeClass(\"dx-responsivebox-screen-\"+e)},_prepareGrid:function(){var e=this._grid=[];this._prepareRowsAndCols(),(0,u.each)(this._rows,function(){var t=[];e.push(t),(0,u.each)(this._cols,function(){t.push(this._createEmptyCell())}.bind(this))}.bind(this))},getSingleColumnRows:function(){var e=this.option(\"rows\"),t=this._screenItems.length;if(e.length){for(var n=this._filterByScreen(e),i=[],o=0;o<t;o++){var a=this._defaultSizeConfig();o<n.length&&(0,r.isDefined)(n[o].shrink)&&(a.shrink=n[o].shrink),i.push(a)}return i}return this._defaultSizeConfig(t)},_prepareRowsAndCols:function(){this._isSingleColumnScreen()?(this._prepareSingleColumnScreenItems(),this._rows=this.getSingleColumnRows(),this._cols=this._defaultSizeConfig(1)):(this._rows=this._sizesByScreen(this.option(\"rows\")),this._cols=this._sizesByScreen(this.option(\"cols\")))},_isSingleColumnScreen:function(){return this._screenRegExp().test(this.option(\"singleColumnScreen\"))||!this.option(\"rows\").length||!this.option(\"cols\").length},_prepareSingleColumnScreenItems:function(){this._screenItems.sort((function(e,t){return e.location.row-t.location.row||e.location.col-t.location.col})),(0,u.each)(this._screenItems,(function(e,t){(0,d.extend)(t.location,{row:e,col:0,rowspan:1,colspan:1})}))},_sizesByScreen:function(e){return(0,u.map)(this._filterByScreen(e),function(e){return(0,d.extend)(this._defaultSizeConfig(),e)}.bind(this))},_createDefaultSizeConfig:function(){return{ratio:1,baseSize:0,minSize:0,maxSize:0}},_defaultSizeConfig:function(e){var t=this._createDefaultSizeConfig();if(!arguments.length)return t;for(var n=[],i=0;i<e;i++)n.push(t);return n},_filterByScreen:function(e){var t=this._screenRegExp();return(0,a.grep)(e,(function(e){return!e.screen||t.test(e.screen)}))},_screenRegExp:function(){var e=this._getCurrentScreen();return new RegExp(\"(^|\\\\s)\"+e+\"($|\\\\s)\",\"i\")},_getCurrentScreen:function(){var e=this._screenWidth();return this.option(\"screenByWidth\")(e)},_screenWidth:function(){return(0,l.hasWindow)()?(0,i.getWidth)((0,l.getWindow)()):1920},_createEmptyCell:function(){return{item:{},location:{colspan:1,rowspan:1}}},_spreadItems:function(){(0,u.each)(this._screenItems,function(e,t){var n=t.location||{},i=n.col,o=n.row,a=this._grid[o],r=a&&a[i];this._occupyCells(r,t)}.bind(this))},_itemsByScreen:function(){var e=this;return this.option(\"items\").reduce((function(t,n){var i=n.location||{};return i=(0,r.isPlainObject)(i)?[i]:i,e._filterByScreen(i).forEach((function(e){t.push({item:n,location:(0,d.extend)({rowspan:1,colspan:1},e)})})),t}),[])},_occupyCells:function(e,t){e&&!this._isItemCellOccupied(e,t)&&((0,d.extend)(e,t),this._markSpanningCell(e))},_isItemCellOccupied:function(e,t){if(!(0,r.isEmptyObject)(e.item))return!0;var n=!1;return this._loopOverSpanning(t.location,(function(e){n=n||!(0,r.isEmptyObject)(e.item)})),n},_loopOverSpanning:function(e,t){var n=e.row+e.rowspan-1,i=e.col+e.colspan-1,o=Math.min(n,this._rows.length-1),a=Math.min(i,this._cols.length-1);e.rowspan-=n-o,e.colspan-=i-a;for(var r=e.row;r<=o;r++)for(var s=e.col;s<=a;s++)r===e.row&&s===e.col||t(this._grid[r][s])},_markSpanningCell:function(e){this._loopOverSpanning(e.location,(function(t){(0,d.extend)(t,{item:e.item,spanningCell:e})}))},_linkNodeToItem:function(){(0,u.each)(this._itemElements(),(function(e,t){var n=(0,o.default)(t),i=n.data(\"dxBoxItemData\");i.box||(i.node=n.children())}))},_layoutItems:function(){var e=this._grid.length,t=e&&this._grid[0].length;if(e||t){var n=this._layoutBlock({direction:\"col\",row:{start:0,end:e-1},col:{start:0,end:t-1}}),i=this._prepareBoxConfig(n.box||{direction:\"row\",items:[(0,d.extend)(n,{ratio:1})]});(0,d.extend)(i,this._rootBoxConfig(i.items)),this._$root=(0,o.default)(\"<div>\").appendTo(this._itemContainer()),this._createComponent(this._$root,h.default,i)}},_rootBoxConfig:function(e){return{width:\"100%\",height:\"100%\",items:(0,u.each)(e,function(e,t){this._needApplyAutoBaseSize(t)&&(0,d.extend)(t,{baseSize:\"auto\"})}.bind(this)),itemTemplate:this._getTemplateByOption(\"itemTemplate\"),itemHoldTimeout:this.option(\"itemHoldTimeout\"),onItemHold:this._createActionByOption(\"onItemHold\"),onItemClick:this._createActionByOption(\"onItemClick\"),onItemContextMenu:this._createActionByOption(\"onItemContextMenu\"),onItemRendered:this._createActionByOption(\"onItemRendered\")}},_needApplyAutoBaseSize:function(e){return!(e.baseSize||e.minSize&&\"auto\"!==e.minSize||e.maxSize&&\"auto\"!==e.maxSize)},_prepareBoxConfig:function(e){return(0,d.extend)(e||{},{crossAlign:\"stretch\",onItemStateChanged:this.option(\"onItemStateChanged\")})},_layoutBlock:function(e){return this._isSingleItem(e)?this._itemByCell(e.row.start,e.col.start):this._layoutDirection(e)},_isSingleItem:function(e){var t=this._grid[e.row.start][e.col.start].location,n=e.row.end-e.row.start==t.rowspan-1,i=e.col.end-e.col.start==t.colspan-1;return n&&i},_itemByCell:function(e,t){var n=this._grid[e][t];return n.spanningCell?null:n.item},_layoutDirection:function(e){for(var t,n=[],i=e.direction,o=this._crossDirection(i);t=this._nextBlock(e);){if(this._isBlockIndivisible(e.prevBlockOptions,t))throw s.default.Error(\"E1025\");var a=this._layoutBlock({direction:o,row:t.row,col:t.col,prevBlockOptions:e});a&&((0,d.extend)(a,this._blockSize(t,o)),n.push(a)),e[o].start=t[o].end+1}return{box:this._prepareBoxConfig({direction:i,items:n})}},_isBlockIndivisible:function(e,t){return e&&e.col.start===t.col.start&&e.col.end===t.col.end&&e.row.start===t.row.start&&e.row.end===t.row.end},_crossDirection:function(e){return\"col\"===e?\"row\":\"col\"},_nextBlock:function(e){var t=e.direction,n=this._crossDirection(t),i=e[t].start,o=e[t].end,a=e[n].start;if(a>e[n].end)return null;for(var r=1,s=a;s<a+r;s++){for(var l=1,u=i;u<=o;u++){var d=this._cellByDirection(t,u,s);l=Math.max(l,d.location[n+\"span\"])}var c=s+l,h=a+r;c>h&&(r+=c-h)}var f={};return f[t]={start:i,end:o},f[n]={start:a,end:a+r-1},f},_cellByDirection:function(e,t,n){return\"col\"===e?this._grid[n][t]:this._grid[t][n]},_blockSize:function(e,t){for(var n=\"row\"===t?\"auto\":0,i=\"row\"===t?this._rows:this._cols,o=(0,d.extend)(this._createDefaultSizeConfig(),{ratio:0}),a=e[t].start;a<=e[t].end;a++){var s=i[a];o.ratio+=s.ratio,o.baseSize+=s.baseSize,o.minSize+=s.minSize,o.maxSize+=s.maxSize,(0,r.isDefined)(s.shrink)&&(o.shrink=s.shrink)}return o.minSize=o.minSize?o.minSize:n,o.maxSize=o.maxSize?o.maxSize:\"auto\",this._isSingleColumnScreen()&&(o.baseSize=\"auto\"),o},_update:function(e){var t=this._$root;this._renderItems(),t&&(e?t.remove():(t.detach(),this._saveAssistantRoot(t))),this._layoutChangedAction()},_saveAssistantRoot:function(e){this._assistantRoots=this._assistantRoots||[],this._assistantRoots.push(e)},_dispose:function(){this._clearItemNodeTemplates(),this._cleanUnusedRoots(),this.callBase.apply(this,arguments)},_cleanUnusedRoots:function(){this._assistantRoots&&(0,u.each)(this._assistantRoots,(function(e,t){(0,o.default)(t).remove()}))},_clearItemNodeTemplates:function(){(0,u.each)(this.option(\"items\"),(function(){delete this.node}))},_attachClickEvent:a.noop,_optionChanged:function(e){switch(e.name){case\"rows\":case\"cols\":case\"screenByWidth\":case\"singleColumnScreen\":this._clearItemNodeTemplates(),this._invalidate();break;case\"width\":case\"height\":this.callBase(e),this._update();break;case\"onLayoutChanged\":this._initLayoutChangedAction();break;case\"itemTemplate\":this._clearItemNodeTemplates(),this.callBase(e);break;case\"currentScreenFactor\":break;default:this.callBase(e)}},_dimensionChanged:function(){this._getCurrentScreen()!==this.option(\"currentScreenFactor\")&&this._update()},repaint:function(){this._update()}});(0,c.default)(\"dxResponsiveBox\",g);var m=g;t.default=m,e.exports=t.default,e.exports.default=t.default},9508:function(e,t,n){var i;t.default=void 0;var o=((i=n(98230))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},98230:function(e,t,n){var i;t.default=void 0;var o=((i=n(97468))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},32511:function(e,t,n){var i;t.default=void 0;var o=((i=n(57880))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},4741:function(e,t,n){var i;t.default=void 0;var o=((i=n(3164))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},6866:function(e,t,n){t.default=void 0;var i,o=n(20576),a=(i=n(38377))&&i.__esModule?i:{default:i},r=n(90057);var s=a.default.abstract,l=a.default.inherit({ctor:function(){this._finished=!0,this._stopped=!1,this._proxiedStepCore=this._stepCore.bind(this)},start:function(){this._stopped=!1,this._finished=!1,this._stepCore()},stop:function(){this._stopped=!0,(0,r.cancelAnimationFrame)(this._stepAnimationFrame)},_stepCore:function(){if(this._isStopped())this._stop();else{if(this._isFinished())return this._finished=!0,void this._complete();this._step(),this._stepAnimationFrame=(0,r.requestAnimationFrame)(this._proxiedStepCore)}},_step:s,_isFinished:o.noop,_stop:o.noop,_complete:o.noop,_isStopped:function(){return this._stopped},inProgress:function(){return!(this._stopped||this._finished)}});t.default=l,e.exports=t.default,e.exports.default=t.default},3164:function(e,t,n){t.default=void 0;var i=v(n(68374)),o=v(n(20530)),a=n(58201),r=v(n(28109)),s=v(n(99393)),l=n(6415),u=n(13306),d=n(20576),c=v(n(27765)),h=v(n(90778)),f=v(n(91616)),p=v(n(41183)),g=v(n(2492)),m=n(75811),_=v(n(97218));function v(e){return e&&e.__esModule?e:{default:e}}var y={pullDown:c.default,swipeDown:h.default,simulated:f.default},b=!(0,a.hasWindow)(),x={finishLoading:d.noop,release:d.noop,refresh:d.noop,scrollOffset:function(){return{top:0,left:0}},_optionChanged:function(e){if(\"onUpdated\"!==e.name)return this.callBase.apply(this,arguments)}},w=p.default.inherit(b?x:{_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{pullingDownText:r.default.format(\"dxScrollView-pullingDownText\"),pulledDownText:r.default.format(\"dxScrollView-pulledDownText\"),refreshingText:r.default.format(\"dxScrollView-refreshingText\"),reachBottomText:r.default.format(\"dxScrollView-reachBottomText\"),onPullDown:null,onReachBottom:null,refreshStrategy:\"pullDown\"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"android\"===o.default.real().platform},options:{refreshStrategy:\"swipeDown\"}},{device:function(){return(0,m.isMaterial)()},options:{pullingDownText:\"\",pulledDownText:\"\",refreshingText:\"\",reachBottomText:\"\"}}])},_init:function(){this.callBase(),this._loadingIndicatorEnabled=!0},_initScrollableMarkup:function(){this.callBase(),this.$element().addClass(\"dx-scrollview\"),this._initContent(),this._initTopPocket(),this._initBottomPocket(),this._initLoadPanel()},_initContent:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-content\");this._$content.wrapInner(e)},_initTopPocket:function(){var e=this._$topPocket=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-top-pocket\"),t=this._$pullDown=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-pull-down\");e.append(t),this._$content.prepend(e)},_initBottomPocket:function(){var e=this._$bottomPocket=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-bottom-pocket\"),t=this._$reachBottom=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-scrollbottom\"),n=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-scrollbottom-indicator\"),o=new g.default((0,i.default)(\"<div>\")).$element(),a=this._$reachBottomText=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-scrollbottom-text\");this._updateReachBottomText(),t.append(n.append(o)).append(a),e.append(t),this._$content.append(e)},_initLoadPanel:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-loadpanel\").appendTo(this.$element()),t={shading:!1,delay:400,message:this.option(\"refreshingText\"),position:{of:this.$element()}};this._loadPanel=this._createComponent(e,_.default,t)},_updateReachBottomText:function(){this._$reachBottomText.text(this.option(\"reachBottomText\"))},_createStrategy:function(){var e=this.option(\"useNative\")?this.option(\"refreshStrategy\"):\"simulated\",t=y[e];this._strategy=new t(this),this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this)),this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this)),this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))},_createActions:function(){this.callBase(),this._pullDownAction=this._createActionByOption(\"onPullDown\"),this._reachBottomAction=this._createActionByOption(\"onReachBottom\"),this._tryRefreshPocketState()},_tryRefreshPocketState:function(){this._pullDownEnable(this.hasActionSubscription(\"onPullDown\")),this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))},on:function(e){var t=this.callBase.apply(this,arguments);return\"pullDown\"!==e&&\"reachBottom\"!==e||this._tryRefreshPocketState(),t},_pullDownEnable:function(e){if(0===arguments.length)return this._pullDownEnabled;this._$pullDown&&this._strategy&&(this._$pullDown.toggle(e),this._strategy.pullDownEnable(e),this._pullDownEnabled=e)},_reachBottomEnable:function(e){if(0===arguments.length)return this._reachBottomEnabled;this._$reachBottom&&this._strategy&&(this._$reachBottom.toggle(e),this._strategy.reachBottomEnable(e),this._reachBottomEnabled=e)},_pullDownHandler:function(){this._loadingIndicator(!1),this._pullDownLoading()},_loadingIndicator:function(e){if(arguments.length<1)return this._loadingIndicatorEnabled;this._loadingIndicatorEnabled=e},_pullDownLoading:function(){this.startLoading(),this._pullDownAction()},_reachBottomHandler:function(){this._loadingIndicator(!1),this._reachBottomLoading()},_reachBottomLoading:function(){this.startLoading(),this._reachBottomAction()},_releaseHandler:function(){this.finishLoading(),this._loadingIndicator(!0)},_optionChanged:function(e){switch(e.name){case\"onPullDown\":case\"onReachBottom\":this._createActions();break;case\"pullingDownText\":case\"pulledDownText\":case\"refreshingText\":case\"refreshStrategy\":this._invalidate();break;case\"reachBottomText\":this._updateReachBottomText();break;default:this.callBase(e)}},content:function(){return(0,l.getPublicElement)(this._$content.children().eq(1))},release:function(e){return void 0!==e&&this.toggleLoading(!e),this._strategy.release()},toggleLoading:function(e){this._reachBottomEnable(e)},refresh:function(){this.hasActionSubscription(\"onPullDown\")&&(this._strategy.pendingRelease(),this._pullDownLoading())},startLoading:function(){this._loadingIndicator()&&this.$element().is(\":visible\")&&this._loadPanel.show(),this._lock()},finishLoading:function(){this._loadPanel.hide(),this._unlock()},_dispose:function(){this._strategy.dispose(),this.callBase(),this._loadPanel&&this._loadPanel.$element().remove()}});(0,s.default)(\"dxScrollView\",w);var C=w;t.default=C,e.exports=t.default,e.exports.default=t.default},27765:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=d(n(44504)),a=n(31648),r=d(n(78831)),s=d(n(2492)),l=n(95479),u=n(62754);function d(e){return e&&e.__esModule?e:{default:e}}var c=r.default.inherit({_init:function(e){this.callBase(e),this._$topPocket=e._$topPocket,this._$pullDown=e._$pullDown,this._$refreshingText=e._$refreshingText,this._$scrollViewContent=(0,i.default)(e.content()),this._$container=(0,i.default)(e.container()),this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=(0,o.default)(),this.releaseCallbacks=(0,o.default)(),this.reachBottomCallbacks=(0,o.default)()},render:function(){this.callBase(),this._renderPullDown(),this._releaseState()},_renderPullDown:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-image\"),t=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-indicator\"),n=new s.default((0,i.default)(\"<div>\")).$element(),o=this._$pullDownText=(0,i.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-text\");this._$pullingDownText=(0,i.default)(\"<div>\").text(this.option(\"pullingDownText\")).appendTo(o),this._$pulledDownText=(0,i.default)(\"<div>\").text(this.option(\"pulledDownText\")).appendTo(o),this._$refreshingText=(0,i.default)(\"<div>\").text(this.option(\"refreshingText\")).appendTo(o),this._$pullDown.empty().append(e).append(t.append(n)).append(o)},_releaseState:function(){this._state=0,this._refreshPullDownText()},_refreshPullDownText:function(){var e=this,t=[{element:this._$pullingDownText,visibleState:0},{element:this._$pulledDownText,visibleState:1},{element:this._$refreshingText,visibleState:2}];(0,l.each)(t,(function(t,n){var i=e._state===n.visibleState?\"addClass\":\"removeClass\";n.element[i](\"dx-scrollview-pull-down-text-visible\")}))},update:function(){this.callBase(),this._setTopPocketOffset()},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.get(0).clientHeight;var e=this._$scrollViewContent.get(0),t=this._$container.get(0);this._bottomBoundary=Math.max(e.clientHeight-t.clientHeight,0)},_allowedDirections:function(){var e=this.callBase();return e.vertical=e.vertical||this._pullDownEnabled,e},_setTopPocketOffset:function(){this._$topPocket.css({top:-this._topPocketSize})},handleEnd:function(){this.callBase(),this._complete()},handleStop:function(){this.callBase(),this._complete()},_complete:function(){1===this._state&&(this._setPullDownOffset(this._topPocketSize),clearTimeout(this._pullDownRefreshTimeout),this._pullDownRefreshTimeout=setTimeout(function(){this._pullDownRefreshing()}.bind(this),400))},_setPullDownOffset:function(e){(0,a.move)(this._$topPocket,{top:e}),(0,a.move)(this._$scrollViewContent,{top:e})},handleScroll:function(e){if(this.callBase(e),2!==this._state){var t=this.location().top,n=(this._location||0)-t;this._location=t,this._isPullDown()?this._pullDownReady():n>0&&this._isReachBottom()?this._reachBottom():this._stateReleased()}},_isPullDown:function(){return this._pullDownEnabled&&this._location>=this._topPocketSize},_isReachBottom:function(){return this._reachBottomEnabled&&Math.round(this._bottomBoundary+Math.floor(this._location))<=1},_reachBottom:function(){3!==this._state&&(this._state=3,this.reachBottomCallbacks.fire())},_pullDownReady:function(){1!==this._state&&(this._state=1,this._$pullDown.addClass(\"dx-scrollview-pull-down-ready\"),this._refreshPullDownText())},_stateReleased:function(){0!==this._state&&(this._$pullDown.removeClass(\"dx-scrollview-pull-down-loading\").removeClass(\"dx-scrollview-pull-down-ready\"),this._releaseState())},_pullDownRefreshing:function(){2!==this._state&&(this._state=2,this._$pullDown.addClass(\"dx-scrollview-pull-down-loading\").removeClass(\"dx-scrollview-pull-down-ready\"),this._refreshPullDownText(),this.pullDownCallbacks.fire())},pullDownEnable:function(e){e&&(this._updateDimensions(),this._setTopPocketOffset()),this._pullDownEnabled=e},reachBottomEnable:function(e){this._reachBottomEnabled=e},pendingRelease:function(){this._state=1},release:function(){var e=new u.Deferred;return this._updateDimensions(),clearTimeout(this._releaseTimeout),3===this._state&&(this._state=0),this._releaseTimeout=setTimeout(function(){this._setPullDownOffset(0),this._stateReleased(),this.releaseCallbacks.fire(),this._updateAction(),e.resolve()}.bind(this),400),e.promise()},dispose:function(){clearTimeout(this._pullDownRefreshTimeout),clearTimeout(this._releaseTimeout),this.callBase()}});t.default=c,e.exports=t.default,e.exports.default=t.default},90778:function(e,t,n){t.default=void 0;var i=n(58664),o=c(n(68374)),a=c(n(44504)),r=n(31648),s=n(39611),l=c(n(78831)),u=c(n(2492)),d=n(62754);function c(e){return e&&e.__esModule?e:{default:e}}var h=l.default.inherit({_init:function(e){this.callBase(e),this._$topPocket=e._$topPocket,this._$pullDown=e._$pullDown,this._$scrollViewContent=(0,o.default)(e.content()),this._$container=(0,o.default)(e.container()),this._initCallbacks(),this._location=0},_initCallbacks:function(){this.pullDownCallbacks=(0,a.default)(),this.releaseCallbacks=(0,a.default)(),this.reachBottomCallbacks=(0,a.default)()},render:function(){this.callBase(),this._renderPullDown(),this._releaseState()},_renderPullDown:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-indicator\"),t=new u.default((0,o.default)(\"<div>\")).$element();this._$icon=(0,o.default)(\"<div>\").addClass(\"dx-icon-pulldown\"),this._$pullDown.empty().append(this._$icon).append(e.append(t))},_releaseState:function(){this._state=0,this._releasePullDown(),this._updateDimensions()},_releasePullDown:function(){this._$pullDown.css({opacity:0})},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.get(0).clientHeight;var e=this._$scrollViewContent.get(0),t=this._$container.get(0);this._bottomBoundary=Math.max(e.clientHeight-t.clientHeight,0)},_allowedDirections:function(){var e=this.callBase();return e.vertical=e.vertical||this._pullDownEnabled,e},handleInit:function(e){this.callBase(e),0===this._state&&0===this._location&&(this._startClientY=(0,s.eventData)(e.originalEvent).y,this._state=4)},handleMove:function(e){this.callBase(e),this._deltaY=(0,s.eventData)(e.originalEvent).y-this._startClientY,4===this._state&&(this._pullDownEnabled&&this._deltaY>0?this._state=5:this._complete()),5===this._state&&(e.preventDefault(),this._movePullDown())},_movePullDown:function(){var e=this._getPullDownHeight(),t=Math.min(3*e,this._deltaY+this._getPullDownStartPosition()),n=180*t/e/3;this._$pullDown.css({opacity:1}).toggleClass(\"dx-scrollview-pull-down-refreshing\",t<e),(0,r.move)(this._$pullDown,{top:t}),this._$icon.css({transform:\"rotate(\"+n+\"deg)\"})},_isPullDown:function(){return this._pullDownEnabled&&5===this._state&&this._deltaY>=this._getPullDownHeight()-this._getPullDownStartPosition()},_getPullDownHeight:function(){return Math.round(.05*(0,i.getOuterHeight)(this._$element))},_getPullDownStartPosition:function(){return-Math.round(1.5*(0,i.getOuterHeight)(this._$pullDown))},handleEnd:function(){this._isPullDown()&&this._pullDownRefreshing(),this._complete()},handleStop:function(){this._complete()},_complete:function(){4!==this._state&&5!==this._state||this._releaseState()},handleScroll:function(e){if(this.callBase(e),2!==this._state){var t=this.location().top,n=this._location-t;this._location=t,n>0&&this._isReachBottom()?this._reachBottom():this._stateReleased()}},_isReachBottom:function(){return this._reachBottomEnabled&&Math.round(this._bottomBoundary+Math.floor(this._location))<=1},_reachBottom:function(){this.reachBottomCallbacks.fire()},_stateReleased:function(){0!==this._state&&(this._$pullDown.removeClass(\"dx-scrollview-pull-down-loading\"),this._releaseState())},_pullDownRefreshing:function(){this._state=2,this._pullDownRefreshHandler()},_pullDownRefreshHandler:function(){this._refreshPullDown(),this.pullDownCallbacks.fire()},_refreshPullDown:function(){this._$pullDown.addClass(\"dx-scrollview-pull-down-loading\"),(0,r.move)(this._$pullDown,{top:this._getPullDownHeight()})},pullDownEnable:function(e){this._$topPocket.toggle(e),this._pullDownEnabled=e},reachBottomEnable:function(e){this._reachBottomEnabled=e},pendingRelease:function(){this._state=1},release:function(){var e=new d.Deferred;return this._updateDimensions(),clearTimeout(this._releaseTimeout),this._releaseTimeout=setTimeout(function(){this._stateReleased(),this.releaseCallbacks.fire(),this._updateAction(),e.resolve()}.bind(this),800),e.promise()},dispose:function(){clearTimeout(this._pullDownRefreshTimeout),clearTimeout(this._releaseTimeout),this.callBase()}});t.default=h,e.exports=t.default,e.exports.default=t.default},91616:function(e,t,n){t.default=void 0;var i=n(58664),o=c(n(68374)),a=c(n(44504)),r=n(95479),s=n(20576),l=n(13306),u=n(54142),d=c(n(2492));function c(e){return e&&e.__esModule?e:{default:e}}var h=Math,f=u.Scroller.inherit({ctor:function(){this._topPocketSize=0,this._bottomPocketSize=0,this.callBase.apply(this,arguments),this._initCallbacks(),this._releaseState()},_releaseState:function(){this._state=0,this._refreshPullDownText()},_refreshPullDownText:function(){var e=this,t=[{element:this._$pullingDownText,visibleState:0},{element:this._$pulledDownText,visibleState:1},{element:this._$refreshingText,visibleState:2}];(0,r.each)(t,(function(t,n){var i=e._state===n.visibleState?\"addClass\":\"removeClass\";n.element[i](\"dx-scrollview-pull-down-text-visible\")}))},_initCallbacks:function(){this.pullDownCallbacks=(0,a.default)(),this.releaseCallbacks=(0,a.default)(),this.reachBottomCallbacks=(0,a.default)()},_updateBounds:function(){if(\"horizontal\"!==this._direction){this._topPocketSize=this._$topPocket.get(0).clientHeight,this._bottomPocketSize=this._$bottomPocket.get(0).clientHeight;var e=this._$container.get(0),t=this._$content.get(0);this._bottomBoundary=Math.max(t.clientHeight-this._bottomPocketSize-e.clientHeight,0)}this.callBase()},_updateScrollbar:function(){this._scrollbar.option({containerSize:this._containerSize(),contentSize:this._contentSize()-this._topPocketSize-this._bottomPocketSize,scaleRatio:this._getScaleRatio()})},_moveContent:function(){this.callBase(),this._isPullDown()?this._pullDownReady():this._isReachBottom()?this._reachBottomReady():0!==this._state&&this._stateReleased()},_moveScrollbar:function(){this._scrollbar.moveTo(this._topPocketSize+this._location)},_isPullDown:function(){return this._pullDownEnabled&&this._location>=0},_isReachBottom:function(){var e=this._$container.get(0);return this._reachBottomEnabled&&Math.round(this._bottomBoundary-Math.ceil(e.scrollTop))<=1},_scrollComplete:function(){this._inBounds()&&1===this._state?this._pullDownRefreshing():this._inBounds()&&3===this._state?this._reachBottomLoading():this.callBase()},_reachBottomReady:function(){3!==this._state&&(this._state=3,this._minOffset=this._getMinOffset())},_getMaxOffset:function(){return-this._topPocketSize},_getMinOffset:function(){return h.min(this.callBase(),-this._topPocketSize)},_reachBottomLoading:function(){this.reachBottomCallbacks.fire()},_pullDownReady:function(){1!==this._state&&(this._state=1,this._maxOffset=0,this._$pullDown.addClass(\"dx-scrollview-pull-down-ready\"),this._refreshPullDownText())},_stateReleased:function(){0!==this._state&&(this._releaseState(),this._updateBounds(),this._$pullDown.removeClass(\"dx-scrollview-pull-down-loading\").removeClass(\"dx-scrollview-pull-down-ready\"),this.releaseCallbacks.fire())},_pullDownRefreshing:function(){2!==this._state&&(this._state=2,this._$pullDown.addClass(\"dx-scrollview-pull-down-loading\").removeClass(\"dx-scrollview-pull-down-ready\"),this._refreshPullDownText(),this.pullDownCallbacks.fire())},_releaseHandler:function(){return 0===this._state&&this._moveToBounds(),this._update(),this._releaseTask&&this._releaseTask.abort(),this._releaseTask=(0,s.executeAsync)(this._release.bind(this)),this._releaseTask.promise},_release:function(){this._stateReleased(),this._scrollComplete()},_reachBottomEnablingHandler:function(e){this._reachBottomEnabled!==e&&(this._reachBottomEnabled=e,this._updateBounds())},_pullDownEnablingHandler:function(e){this._pullDownEnabled!==e&&(this._pullDownEnabled=e,this._considerTopPocketChange(),this._updateHandler())},_considerTopPocketChange:function(){this._location-=(0,i.getHeight)(this._$topPocket)||-this._topPocketSize,this._maxOffset=0,this._move()},_pendingReleaseHandler:function(){this._state=1},dispose:function(){this._releaseTask&&this._releaseTask.abort(),this.callBase()}}),p=u.SimulatedStrategy.inherit({_init:function(e){this.callBase(e),this._$pullDown=e._$pullDown,this._$topPocket=e._$topPocket,this._$bottomPocket=e._$bottomPocket,this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=(0,a.default)(),this.releaseCallbacks=(0,a.default)(),this.reachBottomCallbacks=(0,a.default)()},render:function(){this._renderPullDown(),this.callBase()},_renderPullDown:function(){var e=(0,o.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-image\"),t=(0,o.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-indicator\"),n=new d.default((0,o.default)(\"<div>\")).$element(),i=this._$pullDownText=(0,o.default)(\"<div>\").addClass(\"dx-scrollview-pull-down-text\");this._$pullingDownText=(0,o.default)(\"<div>\").text(this.option(\"pullingDownText\")).appendTo(i),this._$pulledDownText=(0,o.default)(\"<div>\").text(this.option(\"pulledDownText\")).appendTo(i),this._$refreshingText=(0,o.default)(\"<div>\").text(this.option(\"refreshingText\")).appendTo(i),this._$pullDown.empty().append(e).append(t.append(n)).append(i)},pullDownEnable:function(e){this._eventHandler(\"pullDownEnabling\",e)},reachBottomEnable:function(e){this._eventHandler(\"reachBottomEnabling\",e)},_createScroller:function(e){var t=this,n=t._scrollers[e]=new f(t._scrollerOptions(e));n.pullDownCallbacks.add((function(){t.pullDownCallbacks.fire()})),n.releaseCallbacks.add((function(){t.releaseCallbacks.fire()})),n.reachBottomCallbacks.add((function(){t.reachBottomCallbacks.fire()}))},_scrollerOptions:function(e){return(0,l.extend)(this.callBase(e),{$topPocket:this._$topPocket,$bottomPocket:this._$bottomPocket,$pullDown:this._$pullDown,$pullDownText:this._$pullDownText,$pullingDownText:this._$pullingDownText,$pulledDownText:this._$pulledDownText,$refreshingText:this._$refreshingText})},pendingRelease:function(){this._eventHandler(\"pendingRelease\")},release:function(){return this._eventHandler(\"release\").done(this._updateAction)},location:function(){var e=this.callBase();return e.top+=(0,i.getHeight)(this._$topPocket),e},dispose:function(){(0,r.each)(this._scrollers,(function(){this.dispose()})),this.callBase()}});t.default=p,e.exports=t.default,e.exports.default=t.default},82205:function(e,t,n){t.deviceDependentOptions=void 0;var i,o=(i=n(20530))&&i.__esModule?i:{default:i},a=n(60137);t.deviceDependentOptions=function(){return[{device:function(){return!a.nativeScrolling},options:{useNative:!1}},{device:function(e){return!o.default.isSimulator()&&\"desktop\"===o.default.real().deviceType&&\"generic\"===e.platform},options:{bounceEnabled:!1,scrollByThumb:!0,scrollByContent:a.touch,showScrollbar:\"onHover\"}}]}},41183:function(e,t,n){var i;t.default=void 0;var o=((i=n(58788))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},78831:function(e,t,n){t.default=void 0;var i=n(58664),o=h(n(68374)),a=h(n(55994)),r=n(39611),s=n(20576),l=n(95479),u=h(n(20530)),d=h(n(38377)),c=h(n(89043));function h(e){return e&&e.__esModule?e:{default:e}}var f=d.default.inherit({ctor:function(e){this._init(e)},_init:function(e){this._component=e,this._$element=e.$element(),this._$container=(0,o.default)(e.container()),this._$content=e.$content(),this._direction=e.option(\"direction\"),this._useSimulatedScrollbar=e.option(\"useSimulatedScrollbar\"),this.option=e.option.bind(e),this._createActionByOption=e._createActionByOption.bind(e),this._isLocked=e._isLocked.bind(e),this._isDirection=e._isDirection.bind(e),this._allowedDirection=e._allowedDirection.bind(e),this._getMaxOffset=e._getMaxOffset.bind(e),this._isRtlNativeStrategy=e._isRtlNativeStrategy.bind(e)},render:function(){var e=u.default.real().platform;this._$element.addClass(\"dx-scrollable-native\").addClass(\"dx-scrollable-native-\"+e).toggleClass(\"dx-scrollable-scrollbars-hidden\",!this._isScrollbarVisible()),this._isScrollbarVisible()&&this._useSimulatedScrollbar&&this._renderScrollbars()},updateRtlPosition:function(e){e&&this.option(\"rtlEnabled\")&&this._isScrollbarVisible()&&this._useSimulatedScrollbar&&this._moveScrollbars()},_renderScrollbars:function(){this._scrollbars={},this._hideScrollbarTimeout=0,this._$element.addClass(\"dx-scrollable-scrollbar-simulated\"),this._renderScrollbar(\"vertical\"),this._renderScrollbar(\"horizontal\")},_renderScrollbar:function(e){this._isDirection(e)&&(this._scrollbars[e]=new c.default((0,o.default)(\"<div>\").appendTo(this._$element),{direction:e,expandable:this._component.option(\"scrollByThumb\")}))},handleInit:s.noop,handleStart:s.noop,handleMove:function(e){this._isLocked()?e.cancel=!0:this._allowedDirection()&&(e.originalEvent.isScrollingEvent=!0)},handleEnd:s.noop,handleCancel:s.noop,handleStop:s.noop,_eachScrollbar:function(e){e=e.bind(this),(0,l.each)(this._scrollbars||{},(function(t,n){e(n,t)}))},createActions:function(){this._scrollAction=this._createActionByOption(\"onScroll\"),this._updateAction=this._createActionByOption(\"onUpdated\")},_createActionArgs:function(){var e=this.location(),t=e.left,n=e.top;return{event:this._eventForUserAction,scrollOffset:this._getScrollOffset(),reachedLeft:this._isRtlNativeStrategy()?this._isReachedRight(-t):this._isReachedLeft(t),reachedRight:this._isRtlNativeStrategy()?this._isReachedLeft(-Math.abs(t)):this._isReachedRight(t),reachedTop:this._isDirection(\"vertical\")?Math.round(n)>=0:void 0,reachedBottom:this._isDirection(\"vertical\")?Math.round(Math.abs(n)-this._getMaxOffset().top)>=0:void 0}},_getScrollOffset:function(){var e=this.location(),t=e.top,n=e.left;return{top:-t,left:this._normalizeOffsetLeft(-n)}},_normalizeOffsetLeft:function(e){return this._isRtlNativeStrategy()?this._getMaxOffset().left+e:e},_isReachedLeft:function(e){return this._isDirection(\"horizontal\")?Math.round(e)>=0:void 0},_isReachedRight:function(e){return this._isDirection(\"horizontal\")?Math.round(Math.abs(e)-this._getMaxOffset().left)>=0:void 0},_isScrollbarVisible:function(){var e=this.option().showScrollbar;return\"never\"!==e&&!1!==e},handleScroll:function(e){this._eventForUserAction=e,this._moveScrollbars(),this._scrollAction(this._createActionArgs())},_moveScrollbars:function(){var e=this._getScrollOffset(),t=e.top,n=e.left;this._eachScrollbar((function(e){e.moveTo({top:-t,left:-n}),e.option(\"visible\",!0)})),this._hideScrollbars()},_hideScrollbars:function(){clearTimeout(this._hideScrollbarTimeout),this._hideScrollbarTimeout=setTimeout(function(){this._eachScrollbar((function(e){e.option(\"visible\",!1)}))}.bind(this),500)},location:function(){return{left:-this._$container.scrollLeft(),top:-this._$container.scrollTop()}},disabledChanged:s.noop,update:function(){this._update(),this._updateAction(this._createActionArgs())},_update:function(){this._updateDimensions(),this._updateScrollbars()},_updateDimensions:function(){this._containerSize={height:(0,i.getHeight)(this._$container),width:(0,i.getWidth)(this._$container)},this._componentContentSize={height:(0,i.getHeight)(this._component.$content()),width:(0,i.getWidth)(this._component.$content())},this._contentSize={height:(0,i.getHeight)(this._$content),width:(0,i.getWidth)(this._$content)}},_updateScrollbars:function(){this._eachScrollbar((function(e,t){var n=\"vertical\"===t?\"height\":\"width\";e.option({containerSize:this._containerSize[n],contentSize:this._componentContentSize[n]}),e.update()}))},_allowedDirections:function(){return{vertical:this._isDirection(\"vertical\")&&this._contentSize.height>this._containerSize.height,horizontal:this._isDirection(\"horizontal\")&&this._contentSize.width>this._containerSize.width}},dispose:function(){var e=this._$element.get(0).className,t=new RegExp(\"dx-scrollable-native\\\\S*\",\"g\");t.test(e)&&this._$element.removeClass(e.match(t).join(\" \")),a.default.off(this._$element,\".dxNativeScrollable\"),a.default.off(this._$container,\".dxNativeScrollable\"),this._removeScrollbars(),clearTimeout(this._hideScrollbarTimeout)},_removeScrollbars:function(){this._eachScrollbar((function(e){e.$element().remove()}))},scrollBy:function(e){var t=this.location();this._$container.scrollTop(Math.round(-t.top-e.top)),this._$container.scrollLeft(Math.round(-t.left-e.left))},validate:function(e){return!this.option(\"disabled\")&&((!(0,r.isDxMouseWheelEvent)(e)||!this._isScrolledInMaxDirection(e))&&!!this._allowedDirection())},_isScrolledInMaxDirection:function(e){var t=this._$container.get(0);return e.delta>0?e.shiftKey?!t.scrollLeft:!t.scrollTop:e.shiftKey?t.scrollLeft>=this._getMaxOffset().left:t.scrollTop>=this._getMaxOffset().top},getDirection:function(){return this._allowedDirection()}});t.default=f,e.exports=t.default,e.exports.default=t.default},58788:function(e,t,n){t.default=void 0;var i=n(58664),o=C(n(68374)),a=C(n(55994)),r=n(60137),s=C(n(47810)),l=n(20576),u=n(35922),d=n(13306),c=n(6415),h=n(58201),f=C(n(20530)),p=C(n(99393)),g=C(n(13046)),m=n(39611),_=C(n(37334)),v=n(54142),y=C(n(78831)),b=n(82205),x=n(62754),w=n(60650);function C(e){return e&&e.__esModule?e:{default:e}}var S=\"dxScrollable\",k=g.default.inherit({_getDefaultOptions:function(){return(0,d.extend)(this.callBase(),{disabled:!1,onScroll:null,direction:\"vertical\",showScrollbar:\"onScroll\",useNative:!0,bounceEnabled:!0,scrollByContent:!0,scrollByThumb:!1,onUpdated:null,onStart:null,onEnd:null,onBounce:null,useSimulatedScrollbar:!1,useKeyboard:!0,inertiaEnabled:!0,updateManually:!1})},_defaultOptionsRules:function(){return this.callBase().concat((0,b.deviceDependentOptions)(),[{device:function(){return r.nativeScrolling&&\"android\"===f.default.real().platform&&!s.default.mozilla},options:{useSimulatedScrollbar:!0}}])},_initOptions:function(e){this.callBase(e),\"useSimulatedScrollbar\"in e||this._setUseSimulatedScrollbar()},_setUseSimulatedScrollbar:function(){this.initialOption(\"useSimulatedScrollbar\")||this.option(\"useSimulatedScrollbar\",!this.option(\"useNative\"))},_init:function(){this.callBase(),this._initScrollableMarkup(),this._locked=!1},_visibilityChanged:function(e){e?(this.update(),this._updateRtlPosition(),this._savedScrollOffset&&this.scrollTo(this._savedScrollOffset),delete this._savedScrollOffset):this._savedScrollOffset=this.scrollOffset()},_initScrollableMarkup:function(){var e=this.$element().addClass(\"dx-scrollable\"),t=this._$container=(0,o.default)(\"<div>\").addClass(\"dx-scrollable-container\"),n=this._$wrapper=(0,o.default)(\"<div>\").addClass(\"dx-scrollable-wrapper\");(this._$content=(0,o.default)(\"<div>\").addClass(\"dx-scrollable-content\")).append(e.contents()).appendTo(t),t.appendTo(n),n.appendTo(e)},_dimensionChanged:function(){this.update(),this._updateRtlPosition()},_initMarkup:function(){this.callBase(),this._renderDirection()},_render:function(){this._renderStrategy(),this._attachEventHandlers(),this._renderDisabledState(),this._createActions(),this.update(),this.callBase(),this._updateRtlPosition(!0)},_updateRtlPosition:function(e){this._strategy.updateRtlPosition(e)},_getMaxOffset:function(){var e=(0,o.default)(this.container()).get(0);return{left:e.scrollWidth-e.clientWidth,top:e.scrollHeight-e.clientHeight}},_attachEventHandlers:function(){var e=this._strategy,t={getDirection:e.getDirection.bind(e),validate:this._validate.bind(this),isNative:this.option(\"useNative\"),scrollTarget:this._$container};a.default.off(this._$wrapper,\".\"+S),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.init,S),t,this._initHandler.bind(this)),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.start,S),e.handleStart.bind(e)),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.move,S),e.handleMove.bind(e)),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.end,S),e.handleEnd.bind(e)),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.cancel,S),e.handleCancel.bind(e)),a.default.on(this._$wrapper,(0,m.addNamespace)(_.default.stop,S),e.handleStop.bind(e)),a.default.off(this._$container,\".\"+S),a.default.on(this._$container,(0,m.addNamespace)(\"scroll\",S),e.handleScroll.bind(e))},_validate:function(e){return!this._isLocked()&&(this._updateIfNeed(),this._moveIsAllowed(e))},_moveIsAllowed:function(e){return this._strategy.validate(e)},handleMove:function(e){this._strategy.handleMove(e)},_prepareDirections:function(e){this._strategy._prepareDirections(e)},_initHandler:function(){var e=this._strategy;e.handleInit.apply(e,arguments)},_renderDisabledState:function(){this.$element().toggleClass(\"dx-scrollable-disabled\",this.option(\"disabled\")),this.option(\"disabled\")?this._lock():this._unlock()},_renderDirection:function(){this.$element().removeClass(\"dx-scrollable-horizontal\").removeClass(\"dx-scrollable-vertical\").removeClass(\"dx-scrollable-both\").addClass(\"dx-scrollable-\"+this.option(\"direction\"))},_renderStrategy:function(){this._createStrategy(),this._strategy.render(),this.$element().data(\"dxScrollableStrategy\",this._strategy)},_createStrategy:function(){this._strategy=this.option(\"useNative\")?new y.default(this):new v.SimulatedStrategy(this)},_createActions:function(){this._strategy&&this._strategy.createActions()},_clean:function(){this._strategy&&this._strategy.dispose()},_optionChanged:function(e){switch(e.name){case\"onStart\":case\"onEnd\":case\"onUpdated\":case\"onScroll\":case\"onBounce\":this._createActions();break;case\"direction\":this._resetInactiveDirection(),this._invalidate();break;case\"useNative\":this._setUseSimulatedScrollbar(),this._invalidate();break;case\"inertiaEnabled\":case\"scrollByThumb\":case\"bounceEnabled\":case\"useKeyboard\":case\"showScrollbar\":case\"useSimulatedScrollbar\":this._invalidate();break;case\"disabled\":this._renderDisabledState(),this._strategy&&this._strategy.disabledChanged();break;case\"updateManually\":case\"scrollByContent\":break;case\"width\":this.callBase(e),this._updateRtlPosition();break;default:this.callBase(e)}},_resetInactiveDirection:function(){var e=this._getInactiveProp();if(e&&(0,h.hasWindow)()){var t=this.scrollOffset();t[e]=0,this.scrollTo(t)}},_getInactiveProp:function(){var e=this.option(\"direction\");return\"vertical\"===e?\"left\":\"horizontal\"===e?\"top\":void 0},_location:function(){return this._strategy.location()},_normalizeLocation:function(e){if((0,u.isPlainObject)(e)){var t=(0,l.ensureDefined)(e.left,e.x),n=(0,l.ensureDefined)(e.top,e.y);return{left:(0,u.isDefined)(t)?-t:void 0,top:(0,u.isDefined)(n)?-n:void 0}}var i=this.option(\"direction\");return{left:\"vertical\"!==i?-e:void 0,top:\"horizontal\"!==i?-e:void 0}},_isLocked:function(){return this._locked},_lock:function(){this._locked=!0},_unlock:function(){this.option(\"disabled\")||(this._locked=!1)},_isDirection:function(e){var t=this.option(\"direction\");return\"vertical\"===e?\"horizontal\"!==t:\"horizontal\"===e?\"vertical\"!==t:t===e},_updateAllowedDirection:function(){var e=this._strategy._allowedDirections();this._isDirection(\"both\")&&e.vertical&&e.horizontal?this._allowedDirectionValue=\"both\":this._isDirection(\"horizontal\")&&e.horizontal?this._allowedDirectionValue=\"horizontal\":this._isDirection(\"vertical\")&&e.vertical?this._allowedDirectionValue=\"vertical\":this._allowedDirectionValue=null},_allowedDirection:function(){return this._allowedDirectionValue},$content:function(){return this._$content},content:function(){return(0,c.getPublicElement)(this._$content)},container:function(){return(0,c.getPublicElement)(this._$container)},scrollOffset:function(){return this._strategy._getScrollOffset()},_isRtlNativeStrategy:function(){var e=this.option(),t=e.useNative,n=e.rtlEnabled;return t&&n},scrollTop:function(){return this.scrollOffset().top},scrollLeft:function(){return this.scrollOffset().left},clientHeight:function(){return(0,i.getHeight)(this._$container)},scrollHeight:function(){return(0,i.getOuterHeight)(this.$content())},clientWidth:function(){return(0,i.getWidth)(this._$container)},scrollWidth:function(){return(0,i.getOuterWidth)(this.$content())},update:function(){if(this._strategy)return(0,x.when)(this._strategy.update()).done(function(){this._updateAllowedDirection()}.bind(this))},scrollBy:function(e){((e=this._normalizeLocation(e)).top||e.left)&&(this._updateIfNeed(),this._strategy.scrollBy(e))},scrollTo:function(e){e=this._normalizeLocation(e),this._updateIfNeed();var t=this._location();this.option(\"useNative\")||(e=this._strategy._applyScaleRatio(e),t=this._strategy._applyScaleRatio(t)),this._isRtlNativeStrategy()&&(t.left=t.left-this._getMaxOffset().left);var n=this._normalizeLocation({left:t.left-(0,l.ensureDefined)(e.left,t.left),top:t.top-(0,l.ensureDefined)(e.top,t.top)});(n.top||n.left)&&this._strategy.scrollBy(n)},scrollToElement:function(e,t){var n=(0,o.default)(e),i=this.$content().find(e).length,a=n.parents(\".dx-scrollable\").length-n.parents(\".dx-scrollable-content\").length==0;if(i&&a){var r={top:0,left:0},s=this.option(\"direction\");\"vertical\"!==s&&(r.left=this.getScrollElementPosition(n,\"horizontal\",t)),\"horizontal\"!==s&&(r.top=this.getScrollElementPosition(n,\"vertical\",t)),this.scrollTo(r)}},getScrollElementPosition:function(e,t,n){var i=this.scrollOffset();return(0,w.getElementLocationInternal)(e.get(0),t,(0,o.default)(this.container()).get(0),i,n)},_updateIfNeed:function(){this.option(\"updateManually\")||this.update()},_useTemplates:function(){return!1},isRenovated:function(){return!!k.IS_RENOVATED_WIDGET}});(0,p.default)(S,k);var D=k;t.default=D,e.exports=t.default,e.exports.default=t.default},54142:function(e,t,n){t.SimulatedStrategy=t.Scroller=void 0;var i=n(58664),o=b(n(68374)),a=b(n(73349)),r=b(n(55994)),s=n(78008),l=n(13306),u=n(58201),d=n(95479),c=n(35922),h=n(37518),f=n(31648),p=b(n(38377)),g=b(n(6866)),m=n(39611),_=n(20576),v=b(n(89043)),y=n(62754);function b(e){return e&&e.__esModule?e:{default:e}}var x,w,C=\"horizontal\",S=Math.round(1e3/60),k=400/S,D=(1-Math.pow(.92,k))/(1-.92),I=\"pageUp\",T=\"pageDown\",E=\"end\",O=\"home\",A=\"leftArrow\",P=\"upArrow\",M=\"rightArrow\",R=\"downArrow\",B=\"tab\",L=g.default.inherit({ctor:function(e){this.callBase(),this.scroller=e},VELOCITY_LIMIT:1,_isFinished:function(){return Math.abs(this.scroller._velocity)<=this.VELOCITY_LIMIT},_step:function(){this.scroller._scrollStep(this.scroller._velocity),this.scroller._velocity*=this._acceleration()},_acceleration:function(){return this.scroller._inBounds()?.92:.5},_complete:function(){this.scroller._scrollComplete()}}),V=L.inherit({VELOCITY_LIMIT:.2,_isFinished:function(){return this.scroller._crossBoundOnNextStep()||this.callBase()},_acceleration:function(){return.92},_complete:function(){this.scroller._move(this.scroller._bounceLocation),this.callBase()}}),F=p.default.inherit({ctor:function(e){this._initOptions(e),this._initAnimators(),this._initScrollbar()},_initOptions:function(e){var t=this;this._location=0,this._topReached=!1,this._bottomReached=!1,this._axis=e.direction===C?\"x\":\"y\",this._prop=e.direction===C?\"left\":\"top\",this._dimension=e.direction===C?\"width\":\"height\",this._scrollProp=e.direction===C?\"scrollLeft\":\"scrollTop\",(0,d.each)(e,(function(e,n){t[\"_\"+e]=n}))},_initAnimators:function(){this._inertiaAnimator=new L(this),this._bounceAnimator=new V(this)},_initScrollbar:function(){this._scrollbar=new v.default((0,o.default)(\"<div>\").appendTo(this._$container),{direction:this._direction,visible:this._scrollByThumb,visibilityMode:this._visibilityModeNormalize(this._scrollbarVisible),expandable:this._scrollByThumb}),this._$scrollbar=this._scrollbar.$element()},_visibilityModeNormalize:function(e){return!0===e?\"onScroll\":!1===e?\"never\":e},_scrollStep:function(e){var t=this._location;this._location+=e,this._suppressBounce(),this._move(),Math.abs(t-this._location)<1||r.default.triggerHandler(this._$container,{type:\"scroll\"})},_suppressBounce:function(){this._bounceEnabled||this._inBounds(this._location)||(this._velocity=0,this._location=this._boundLocation())},_boundLocation:function(e){return e=void 0!==e?e:this._location,Math.max(Math.min(e,this._maxOffset),this._minOffset)},_move:function(e){this._location=void 0!==e?e*this._getScaleRatio():this._location,this._moveContent(),this._moveScrollbar()},_moveContent:function(){var e=this._location;this._$container[this._scrollProp](-e/this._getScaleRatio()),this._moveContentByTranslator(e)},_getScaleRatio:function(){if((0,u.hasWindow)()&&!this._scaleRatio){var e=this._$element.get(0),t=this._getRealDimension(e,this._dimension),n=this._getBaseDimension(e,this._dimension);this._scaleRatio=Math.round(t/n*100)/100}return this._scaleRatio||1},_getRealDimension:function(e,t){return Math.round((0,h.getBoundingRect)(e)[t])},_getBaseDimension:function(e,t){return e[\"offset\"+(0,s.titleize)(t)]},_moveContentByTranslator:function(e){var t,n=-this._maxScrollPropValue;if(t=e>0?e:e<=n?e-n:e%1,this._translateOffset!==t){var i={};i[this._prop]=t,this._translateOffset=t,0!==t?(0,f.move)(this._$content,i):(0,f.resetPosition)(this._$content)}},_moveScrollbar:function(){this._scrollbar.moveTo(this._location)},_scrollComplete:function(){this._inBounds()&&(this._hideScrollbar(),this._completeDeferred&&this._completeDeferred.resolve()),this._scrollToBounds()},_scrollToBounds:function(){this._inBounds()||(this._bounceAction(),this._setupBounce(),this._bounceAnimator.start())},_setupBounce:function(){var e=(this._bounceLocation=this._boundLocation())-this._location;this._velocity=e/D},_inBounds:function(e){return e=void 0!==e?e:this._location,this._boundLocation(e)===e},_crossBoundOnNextStep:function(){var e=this._location,t=e+this._velocity;return e<this._minOffset&&t>=this._minOffset||e>this._maxOffset&&t<=this._maxOffset},_initHandler:function(e){this._stopScrolling(),this._prepareThumbScrolling(e)},_stopScrolling:(0,_.deferRenderer)((function(){this._hideScrollbar(),this._inertiaAnimator.stop(),this._bounceAnimator.stop()})),_prepareThumbScrolling:function(e){if(!(0,m.isDxMouseWheelEvent)(e.originalEvent)){var t=(0,o.default)(e.originalEvent.target),n=this._isScrollbar(t);n&&this._moveToMouseLocation(e),this._thumbScrolling=n||this._isThumb(t),this._crossThumbScrolling=!this._thumbScrolling&&this._isAnyThumbScrolling(t),this._thumbScrolling&&this._scrollbar.feedbackOn()}},_isThumbScrollingHandler:function(e){return this._isThumb(e)},_moveToMouseLocation:function(e){var t=e[\"page\"+this._axis.toUpperCase()]-this._$element.offset()[this._prop],n=this._location+t/this._containerToContentRatio()-(0,i.getHeight)(this._$container)/2;this._scrollStep(-Math.round(n))},_startHandler:function(){this._showScrollbar()},_moveHandler:function(e){this._crossThumbScrolling||(this._thumbScrolling&&(e[this._axis]=-Math.round(e[this._axis]/this._containerToContentRatio())),this._scrollBy(e))},_scrollBy:function(e){e=e[this._axis],this._inBounds()||(e*=.5),this._scrollStep(e)},_scrollByHandler:function(e){this._scrollBy(e),this._scrollComplete()},_containerToContentRatio:function(){return this._scrollbar.containerToContentRatio()},_endHandler:function(e){return this._completeDeferred=new y.Deferred,this._velocity=e[this._axis],this._inertiaHandler(),this._resetThumbScrolling(),this._completeDeferred.promise()},_inertiaHandler:function(){this._suppressInertia(),this._inertiaAnimator.start()},_suppressInertia:function(){this._inertiaEnabled&&!this._thumbScrolling||(this._velocity=0)},_resetThumbScrolling:function(){this._thumbScrolling=!1,this._crossThumbScrolling=!1},_stopHandler:function(){this._thumbScrolling&&this._scrollComplete(),this._resetThumbScrolling(),this._scrollToBounds()},_disposeHandler:function(){this._stopScrolling(),this._$scrollbar.remove()},_updateHandler:function(){this._update(),this._moveToBounds()},_update:function(){var e=this;return this._stopScrolling(),(0,_.deferUpdate)((function(){e._resetScaleRatio(),e._updateLocation(),e._updateBounds(),e._updateScrollbar(),(0,_.deferRender)((function(){e._moveScrollbar(),e._scrollbar.update()}))}))},_resetScaleRatio:function(){this._scaleRatio=null},_updateLocation:function(){this._location=((0,f.locate)(this._$content)[this._prop]-this._$container[this._scrollProp]())*this._getScaleRatio()},_updateBounds:function(){this._maxOffset=this._getMaxOffset(),this._minOffset=this._getMinOffset()},_getMaxOffset:function(){return 0},_getMinOffset:function(){return this._maxScrollPropValue=Math.max(this._contentSize()-this._containerSize(),0),-this._maxScrollPropValue},_updateScrollbar:(0,_.deferUpdater)((function(){var e=this,t=this._containerSize(),n=this._contentSize(),i=this._getBaseDimension(this._$container.get(0),this._dimension),o=this._getBaseDimension(this._$content.get(0),this._dimension);(0,_.deferRender)((function(){e._scrollbar.option({containerSize:t,contentSize:n,baseContainerSize:i,baseContentSize:o,scaleRatio:e._getScaleRatio()})}))})),_moveToBounds:(0,_.deferRenderer)((0,_.deferUpdater)((0,_.deferRenderer)((function(){var e=this._boundLocation(),t=e!==this._location;this._location=e,this._move(),t&&this._scrollAction()})))),_createActionsHandler:function(e){this._scrollAction=e.scroll,this._bounceAction=e.bounce},_showScrollbar:function(){this._scrollbar.option(\"visible\",!0)},_hideScrollbar:function(){this._scrollbar.option(\"visible\",!1)},_containerSize:function(){return this._getRealDimension(this._$container.get(0),this._dimension)},_contentSize:function(){var e=\"hidden\"===this._$content.css(\"overflow\"+this._axis.toUpperCase()),t=this._getRealDimension(this._$content.get(0),this._dimension);if(!e){var n=this._$content[0][\"scroll\"+(0,s.titleize)(this._dimension)]*this._getScaleRatio();t=Math.max(n,t)}return t},_validateEvent:function(e){var t=(0,o.default)(e.originalEvent.target);return this._isThumb(t)||this._isScrollbar(t)},_isThumb:function(e){return this._scrollByThumb&&this._scrollbar.isThumb(e)},_isScrollbar:function(e){return this._scrollByThumb&&e&&e.is(this._$scrollbar)},_reachedMin:function(){return Math.round(this._location-this._minOffset)<=0},_reachedMax:function(){return Math.round(this._location-this._maxOffset)>=0},_cursorEnterHandler:function(){this._resetScaleRatio(),this._updateScrollbar(),this._scrollbar.cursorEnter()},_cursorLeaveHandler:function(){this._scrollbar.cursorLeave()},dispose:_.noop});t.Scroller=F;var H=p.default.inherit({ctor:function(e){this._init(e)},_init:function(e){this._component=e,this._$element=e.$element(),this._$container=(0,o.default)(e.container()),this._$wrapper=e._$wrapper,this._$content=e.$content(),this.option=e.option.bind(e),this._createActionByOption=e._createActionByOption.bind(e),this._isLocked=e._isLocked.bind(e),this._isDirection=e._isDirection.bind(e),this._allowedDirection=e._allowedDirection.bind(e),this._getMaxOffset=e._getMaxOffset.bind(e)},render:function(){this._$element.addClass(\"dx-scrollable-simulated\"),this._createScrollers(),this.option(\"useKeyboard\")&&this._$container.prop(\"tabIndex\",0),this._attachKeyboardHandler(),this._attachCursorHandlers()},_createScrollers:function(){this._scrollers={},this._isDirection(C)&&this._createScroller(C),this._isDirection(\"vertical\")&&this._createScroller(\"vertical\"),this._$element.toggleClass(\"dx-scrollable-scrollbars-alwaysvisible\",\"always\"===this.option(\"showScrollbar\"))},_createScroller:function(e){this._scrollers[e]=new F(this._scrollerOptions(e))},_scrollerOptions:function(e){return{direction:e,$content:this._$content,$container:this._$container,$wrapper:this._$wrapper,$element:this._$element,scrollByThumb:this.option(\"scrollByThumb\"),scrollbarVisible:this.option(\"showScrollbar\"),bounceEnabled:this.option(\"bounceEnabled\"),inertiaEnabled:this.option(\"inertiaEnabled\"),isAnyThumbScrolling:this._isAnyThumbScrolling.bind(this)}},_applyScaleRatio:function(e){for(var t in this._scrollers){var n=this._getPropByDirection(t);if((0,c.isDefined)(e[n])){var i=this._scrollers[t];e[n]*=i._getScaleRatio()}}return e},_isAnyThumbScrolling:function(e){var t=!1;return this._eventHandler(\"isThumbScrolling\",e).done((function(e,n){t=e||n})),t},handleInit:function(e){this._suppressDirections(e),this._eventForUserAction=e,this._eventHandler(\"init\",e)},_suppressDirections:function(e){(0,m.isDxMouseWheelEvent)(e.originalEvent)?this._prepareDirections(!0):(this._prepareDirections(),this._eachScroller((function(t,n){var i=(0,o.default)(e.originalEvent.target),a=t._validateEvent(e)||this.option(\"scrollByContent\")&&this._isContent(i);this._validDirections[n]=a})))},_isContent:function(e){return!!e.closest(this._$element).length},_prepareDirections:function(e){e=e||!1,this._validDirections={},this._validDirections[C]=e,this._validDirections.vertical=e},_eachScroller:function(e){e=e.bind(this),(0,d.each)(this._scrollers,(function(t,n){e(n,t)}))},handleStart:function(e){this._eventForUserAction=e,this._eventHandler(\"start\").done(this._startAction)},_saveActive:function(){w=this},_resetActive:function(){w===this&&(w=null)},handleMove:function(e){if(this._isLocked())return e.cancel=!0,void this._resetActive();this._saveActive(),e.preventDefault&&e.preventDefault(),this._adjustDistance(e,e.delta),this._eventForUserAction=e,this._eventHandler(\"move\",e.delta)},_adjustDistance:function(e,t){t.x*=this._validDirections[C],t.y*=this._validDirections.vertical;var n=this._tryGetDevicePixelRatio();n&&(0,m.isDxMouseWheelEvent)(e.originalEvent)&&(t.x=Math.round(t.x/n*100)/100,t.y=Math.round(t.y/n*100)/100)},_tryGetDevicePixelRatio:function(){if((0,u.hasWindow)())return(0,u.getWindow)().devicePixelRatio},handleEnd:function(e){return this._resetActive(),this._refreshCursorState(e.originalEvent&&e.originalEvent.target),this._adjustDistance(e,e.velocity),this._eventForUserAction=e,this._eventHandler(\"end\",e.velocity).done(this._endAction)},handleCancel:function(e){return this._resetActive(),this._eventForUserAction=e,this._eventHandler(\"end\",{x:0,y:0})},handleStop:function(){this._resetActive(),this._eventHandler(\"stop\")},handleScroll:function(){this._updateRtlConfig(),this._scrollAction()},_attachKeyboardHandler:function(){r.default.off(this._$element,\".\".concat(\"dxSimulatedScrollableKeyboard\")),!this.option(\"disabled\")&&this.option(\"useKeyboard\")&&r.default.on(this._$element,(0,m.addNamespace)(\"keydown\",\"dxSimulatedScrollableKeyboard\"),this._keyDownHandler.bind(this))},_keyDownHandler:function(e){var t=this;if(clearTimeout(this._updateHandlerTimeout),this._updateHandlerTimeout=setTimeout((function(){(0,m.normalizeKeyName)(e)===B&&t._eachScroller((function(e){e._updateHandler()}))})),this._$container.is(a.default.getActiveElement(this._$container.get(0)))){var n=!0;switch((0,m.normalizeKeyName)(e)){case R:this._scrollByLine({y:1});break;case P:this._scrollByLine({y:-1});break;case M:this._scrollByLine({x:1});break;case A:this._scrollByLine({x:-1});break;case T:this._scrollByPage(1);break;case I:this._scrollByPage(-1);break;case O:this._scrollToHome();break;case E:this._scrollToEnd();break;default:n=!1}n&&(e.stopPropagation(),e.preventDefault())}},_scrollByLine:function(e){var t=this._tryGetDevicePixelRatio(),n=40;t&&(n=Math.abs(n/t*100)/100),this.scrollBy({top:(e.y||0)*-n,left:(e.x||0)*-n})},_scrollByPage:function(e){var t=this._wheelProp(),n={},o=\"width\"===this._dimensionByProp(t)?i.getWidth:i.getHeight;n[t]=e*-o(this._$container),this.scrollBy(n)},_dimensionByProp:function(e){return\"left\"===e?\"width\":\"height\"},_getPropByDirection:function(e){return e===C?\"left\":\"top\"},_scrollToHome:function(){var e={};e[this._wheelProp()]=0,this._component.scrollTo(e)},_scrollToEnd:function(){var e=this._wheelProp(),t={},n=\"width\"===this._dimensionByProp(e)?i.getWidth:i.getHeight;t[e]=n(this._$content)-n(this._$container),this._component.scrollTo(t)},createActions:function(){this._startAction=this._createActionHandler(\"onStart\"),this._endAction=this._createActionHandler(\"onEnd\"),this._updateAction=this._createActionHandler(\"onUpdated\"),this._createScrollerActions()},_createScrollerActions:function(){this._scrollAction=this._createActionHandler(\"onScroll\"),this._bounceAction=this._createActionHandler(\"onBounce\"),this._eventHandler(\"createActions\",{scroll:this._scrollAction,bounce:this._bounceAction})},_createActionHandler:function(e){var t=arguments,n=this,i=this._createActionByOption(e);return function(){i((0,l.extend)(n._createActionArgs(),t))}},_createActionArgs:function(){var e=this._scrollers,t=e.horizontal,n=e.vertical,i=this._getScrollOffset();return this._scrollOffset={top:n&&i.top,left:t&&i.left},{event:this._eventForUserAction,scrollOffset:this._scrollOffset,reachedLeft:t&&t._reachedMax(),reachedRight:t&&t._reachedMin(),reachedTop:n&&n._reachedMax(),reachedBottom:n&&n._reachedMin()}},_getScrollOffset:function(){return{top:-this.location().top,left:-this.location().left}},_eventHandler:function(e){var t=[].slice.call(arguments).slice(1),n=(0,d.map)(this._scrollers,(function(n){return n[\"_\"+e+\"Handler\"].apply(n,t)}));return y.when.apply(o.default,n).promise()},location:function(){var e=(0,f.locate)(this._$content);return e.top-=this._$container.scrollTop(),e.left-=this._$container.scrollLeft(),e},disabledChanged:function(){this._attachCursorHandlers()},_attachCursorHandlers:function(){r.default.off(this._$element,\".\".concat(\"dxSimulatedScrollableCursor\")),!this.option(\"disabled\")&&this._isHoverMode()&&(r.default.on(this._$element,(0,m.addNamespace)(\"mouseenter\",\"dxSimulatedScrollableCursor\"),this._cursorEnterHandler.bind(this)),r.default.on(this._$element,(0,m.addNamespace)(\"mouseleave\",\"dxSimulatedScrollableCursor\"),this._cursorLeaveHandler.bind(this)))},_isHoverMode:function(){return\"onHover\"===this.option(\"showScrollbar\")},_cursorEnterHandler:function(e){(e=e||{}).originalEvent=e.originalEvent||{},w||e.originalEvent._hoverHandled||(x&&x._cursorLeaveHandler(),x=this,this._eventHandler(\"cursorEnter\"),e.originalEvent._hoverHandled=!0)},_cursorLeaveHandler:function(e){x===this&&w!==x&&(this._eventHandler(\"cursorLeave\"),x=null,this._refreshCursorState(e&&e.relatedTarget))},_refreshCursorState:function(e){if(this._isHoverMode()||e&&!w){var t=(0,o.default)(e).closest(\".\".concat(\"dx-scrollable-simulated\",\":not(.dx-state-disabled)\")),n=t.length&&t.data(\"dxScrollableStrategy\");x&&x!==n&&x._cursorLeaveHandler(),n&&n._cursorEnterHandler()}},update:function(){var e=this,t=this._eventHandler(\"update\").done(this._updateAction);return(0,y.when)(t,(0,_.deferUpdate)((function(){var t=e._allowedDirections();return(0,_.deferRender)((function(){var n=t.vertical?\"pan-x\":\"\";n=t.horizontal?\"pan-y\":n,n=t.vertical&&t.horizontal?\"none\":n,e._$container.css(\"touchAction\",n)})),(0,y.when)().promise()})))},_allowedDirections:function(){var e=this.option(\"bounceEnabled\"),t=this._scrollers.vertical,n=this._scrollers[C];return{vertical:t&&(t._minOffset<0||e),horizontal:n&&(n._minOffset<0||e)}},_updateBounds:function(){this._scrollers[C]&&this._scrollers[C]._updateBounds()},_isHorizontalAndRtlEnabled:function(){return this.option(\"rtlEnabled\")&&\"vertical\"!==this.option(\"direction\")},updateRtlPosition:function(e){if(e&&(this._rtlConfig={scrollRight:0,clientWidth:this._$container.get(0).clientWidth,windowPixelRatio:this._getWindowDevicePixelRatio()}),this._updateBounds(),this._isHorizontalAndRtlEnabled()){var t=this._getMaxOffset().left-this._rtlConfig.scrollRight;t<=0&&(t=0,this._rtlConfig.scrollRight=this._getMaxOffset().left),this._getScrollOffset().left!==t&&(this._rtlConfig.skipUpdating=!0,this._component.scrollTo({left:t}),this._rtlConfig.skipUpdating=!1)}},_updateRtlConfig:function(){if(this._isHorizontalAndRtlEnabled()&&!this._rtlConfig.skipUpdating){var e=this._$container.get(0),t=e.clientWidth,n=e.scrollLeft,i=this._getWindowDevicePixelRatio();this._rtlConfig.windowPixelRatio===i&&this._rtlConfig.clientWidth===t&&(this._rtlConfig.scrollRight=this._getMaxOffset().left-n),this._rtlConfig.clientWidth=t,this._rtlConfig.windowPixelRatio=i}},_getWindowDevicePixelRatio:function(){return(0,u.hasWindow)()?(0,u.getWindow)().devicePixelRatio:1},scrollBy:function(e){var t=this._scrollers.vertical,n=this._scrollers[C];t&&(e.top=t._boundLocation(e.top+t._location)-t._location),n&&(e.left=n._boundLocation(e.left+n._location)-n._location),this._prepareDirections(!0),this._startAction(),this._eventHandler(\"scrollBy\",{x:e.left,y:e.top}),this._endAction(),this._updateRtlConfig()},validate:function(e){return(!(0,m.isDxMouseWheelEvent)(e)||!(0,m.isCommandKeyPressed)(e))&&(!this.option(\"disabled\")&&(!!this.option(\"bounceEnabled\")||((0,m.isDxMouseWheelEvent)(e)?this._validateWheel(e):this._validateMove(e))))},_validateWheel:function(e){var t=this,n=this._scrollers[this._wheelDirection(e)],i=n._reachedMin(),o=n._reachedMax(),a=!i||!o,r=!i&&!o,s=i&&e.delta>0,l=o&&e.delta<0,u=a&&(r||s||l);return(u=u||void 0!==this._validateWheelTimer)&&(clearTimeout(this._validateWheelTimer),this._validateWheelTimer=setTimeout((function(){t._validateWheelTimer=void 0}),500)),u},_validateMove:function(e){return!(!this.option(\"scrollByContent\")&&!(0,o.default)(e.target).closest(\".\".concat(\"dx-scrollable-scrollbar\")).length)&&this._allowedDirection()},getDirection:function(e){return(0,m.isDxMouseWheelEvent)(e)?this._wheelDirection(e):this._allowedDirection()},_wheelProp:function(){return this._wheelDirection()===C?\"left\":\"top\"},_wheelDirection:function(e){switch(this.option(\"direction\")){case C:return C;case\"vertical\":return\"vertical\";default:return e&&e.shiftKey?C:\"vertical\"}},dispose:function(){this._resetActive(),x===this&&(x=null),this._eventHandler(\"dispose\"),this._detachEventHandlers(),this._$element.removeClass(\"dx-scrollable-simulated\"),this._eventForUserAction=null,clearTimeout(this._validateWheelTimer),clearTimeout(this._updateHandlerTimeout)},_detachEventHandlers:function(){r.default.off(this._$element,\".\".concat(\"dxSimulatedScrollableCursor\")),r.default.off(this._$container,\".\".concat(\"dxSimulatedScrollableKeyboard\"))}});t.SimulatedStrategy=H},89043:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=p(n(73349)),a=p(n(55994)),r=p(n(24311)),s=n(31648),l=p(n(14390)),u=n(39611),d=n(20576),c=n(35922),h=n(13306),f=p(n(93786));function p(e){return e&&e.__esModule?e:{default:e}}var g=\"\".concat(\"dx-scrollable-scrollbar\",\"-active\"),m=\"onScroll\",_=\"onHover\",v=\"always\",y=\"never\",b=null,x=l.default.inherit({_getDefaultOptions:function(){return(0,h.extend)(this.callBase(),{direction:null,visible:!1,activeStateEnabled:!1,visibilityMode:m,containerSize:0,contentSize:0,expandable:!0,scaleRatio:1})},_init:function(){this.callBase(),this._isHovered=!1},_initMarkup:function(){this._renderThumb(),this.callBase()},_render:function(){this.callBase(),this._renderDirection(),this._update(),this._attachPointerDownHandler(),this.option(\"hoverStateEnabled\",this._isHoverMode()),this.$element().toggleClass(\"dx-scrollbar-hoverable\",this.option(\"hoverStateEnabled\"))},_renderThumb:function(){this._$thumb=(0,i.default)(\"<div>\").addClass(\"dx-scrollable-scroll\"),(0,i.default)(\"<div>\").addClass(\"dx-scrollable-scroll-content\").appendTo(this._$thumb),this.$element().addClass(\"dx-scrollable-scrollbar\").append(this._$thumb)},isThumb:function(e){return!!this.$element().find(e).length},_isHoverMode:function(){var e=this.option(\"visibilityMode\");return(e===_||e===v)&&this.option(\"expandable\")},_renderDirection:function(){var e=this.option(\"direction\");this.$element().addClass(\"dx-scrollbar-\"+e),this._dimension=\"horizontal\"===e?\"width\":\"height\",this._prop=\"horizontal\"===e?\"left\":\"top\"},_attachPointerDownHandler:function(){a.default.on(this._$thumb,(0,u.addNamespace)(f.default.down,\"dxScrollbar\"),this.feedbackOn.bind(this))},feedbackOn:function(){this.$element().addClass(g),b=this},feedbackOff:function(){this.$element().removeClass(g),b=null},cursorEnter:function(){this._isHovered=!0,this._needScrollbar()&&this.option(\"visible\",!0)},cursorLeave:function(){this._isHovered=!1,this.option(\"visible\",!1)},_renderDimensions:function(){this._$thumb.css({width:this.option(\"width\"),height:this.option(\"height\")})},_toggleVisibility:function(e){this.option(\"visibilityMode\")===m&&this._$thumb.css(\"opacity\"),e=this._adjustVisibility(e),this.option().visible=e,this._$thumb.toggleClass(\"dx-state-invisible\",!e)},_adjustVisibility:function(e){if(this._baseContainerToContentRatio&&!this._needScrollbar())return!1;switch(this.option(\"visibilityMode\")){case m:break;case _:e=e||!!this._isHovered;break;case y:e=!1;break;case v:e=!0}return e},moveTo:function(e){if(!this._isHidden()){(0,c.isPlainObject)(e)&&(e=e[this._prop]||0);var t={};t[this._prop]=this._calculateScrollBarPosition(e),(0,s.move)(this._$thumb,t)}},_calculateScrollBarPosition:function(e){return-e*this._thumbRatio},_update:function(){var e=Math.round(this.option(\"containerSize\")),t=Math.round(this.option(\"contentSize\")),n=Math.round(this.option(\"baseContainerSize\")),i=Math.round(this.option(\"baseContentSize\"));isNaN(n)&&(n=e,i=t),this._baseContainerToContentRatio=i?n/i:n,this._realContainerToContentRatio=t?e/t:e;var o=Math.round(Math.max(Math.round(e*this._realContainerToContentRatio),15));this._thumbRatio=(e-o)/(this.option(\"scaleRatio\")*(t-e)),this.option(this._dimension,o/this.option(\"scaleRatio\")),this.$element().css(\"display\",this._needScrollbar()?\"\":\"none\")},_isHidden:function(){return this.option(\"visibilityMode\")===y},_needScrollbar:function(){return!this._isHidden()&&this._baseContainerToContentRatio<1},containerToContentRatio:function(){return this._realContainerToContentRatio},_normalizeSize:function(e){return(0,c.isPlainObject)(e)?e[this._dimension]||0:e},_clean:function(){this.callBase(),this===b&&(b=null),a.default.off(this._$thumb,\".dxScrollbar\")},_optionChanged:function(e){if(!this._isHidden())switch(e.name){case\"containerSize\":case\"contentSize\":this.option()[e.name]=this._normalizeSize(e.value),this._update();break;case\"baseContentSize\":case\"baseContainerSize\":this._update();break;case\"visibilityMode\":case\"direction\":this._invalidate();break;case\"scaleRatio\":this._update();break;default:this.callBase.apply(this,arguments)}},update:(0,d.deferRenderer)((function(){this._adjustVisibility()&&this.option(\"visible\",!0)}))});r.default.add((function(){a.default.subscribeGlobal(o.default.getDocument(),(0,u.addNamespace)(f.default.up,\"dxScrollbar\"),(function(){b&&b.feedbackOff()}))}));var w=x;t.default=w,e.exports=t.default,e.exports.default=t.default},78665:function(e,t,n){t.default=void 0;var i=m(n(68374)),o=n(20576),a=n(35922),r=n(13306),s=n(95479),l=n(62754),u=n(6415),d=m(n(17381)),c=m(n(73349)),h=m(n(28109)),f=m(n(99393)),p=m(n(32468));n(20551);var g=n(39611);function m(e){return e&&e.__esModule?e:{default:e}}var _=p.default.inherit({_supportedKeys:function(){var e=this,t=this.callBase(),n=function(e){this._isEditable()?this._valueSubstituted()&&(this._preventFiltering=!0):this.option(\"showClearButton\")&&(e.preventDefault(),this.reset()),this._savedTextRemoveEvent=e,this._preventSubstitution=!0},i=function(){e.option(\"searchEnabled\")&&e._valueSubstituted()&&e._searchHandler()};return(0,r.extend)({},t,{tab:function(){this.option(\"opened\")&&\"instantly\"===this.option(\"applyValueMode\")&&this._resetCaretPosition(!0),t.tab&&t.tab.apply(this,arguments),this._cancelSearchIfNeed()},upArrow:function(e){if(t.upArrow.apply(this,arguments))return this.option(\"opened\")||this._setNextValue(e),!0},downArrow:function(e){if(t.downArrow.apply(this,arguments))return this.option(\"opened\")||this._setNextValue(e),!0},leftArrow:function(){i(),t.leftArrow&&t.leftArrow.apply(this,arguments)},rightArrow:function(){i(),t.rightArrow&&t.rightArrow.apply(this,arguments)},home:function(){i(),t.home&&t.home.apply(this,arguments)},end:function(){i(),t.end&&t.end.apply(this,arguments)},escape:function(){var e=t.escape&&t.escape.apply(this,arguments);return this._cancelEditing(),null==e||e},enter:function(e){var n=this.option(\"opened\"),i=this._input().val().trim(),o=i&&this._list&&!this._list.option(\"focusedElement\");if(!i&&(0,a.isDefined)(this.option(\"value\"))&&this.option(\"allowClearing\"))this._saveValueChangeEvent(e),this.option({selectedItem:null,value:null}),this.close();else{if(this.option(\"acceptCustomValue\"))return e.preventDefault(),o&&(n&&this._toggleOpenState(),this._valueChangeEventHandler(e)),n;if(t.enter&&t.enter.apply(this,arguments))return n}},space:function(e){var t=this.option(\"opened\"),n=this.option(\"searchEnabled\"),i=this.option(\"acceptCustomValue\");if(t&&!n&&!i)return e.preventDefault(),this._valueChangeEventHandler(e),!0},backspace:n,del:n})},_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{placeholder:h.default.format(\"Select\"),fieldTemplate:null,customItemCreateEvent:\"change\",valueChangeEvent:\"change\",acceptCustomValue:!1,onCustomItemCreating:function(e){(0,a.isDefined)(e.customItem)||(e.customItem=e.text)},showSelectionControls:!1,allowClearing:!0,tooltipEnabled:!1,openOnFieldClick:!0,showDropDownButton:!0,displayCustomValue:!1,useHiddenSubmitElement:!0})},_init:function(){this.callBase(),this._initCustomItemCreatingAction()},_initMarkup:function(){this.$element().addClass(\"dx-selectbox\"),this._renderTooltip(),this.callBase(),this._$container.addClass(\"dx-selectbox-container\")},_createPopup:function(){this.callBase(),this._popup.$element().addClass(\"dx-selectbox-popup\"),this._popup.$overlayContent().attr(\"tabindex\",-1)},_popupWrapperClass:function(){return this.callBase()+\" dx-selectbox-popup-wrapper\"},_setDeprecatedOptions:function(){this.callBase(),(0,r.extend)(this._deprecatedOptions,{valueChangeEvent:{since:\"22.2\",alias:\"customItemCreateEvent\"}})},_cancelEditing:function(){!this.option(\"searchEnabled\")&&this._list&&(this._focusListElement(null),this._updateField(this.option(\"selectedItem\")))},_renderOpenedState:function(){this.callBase(),this.option(\"opened\")&&(this._scrollToSelectedItem(),this._focusSelectedElement())},_focusSelectedElement:function(){var e;if(this._searchValue()){var t=this.option(),n=t.items,i=t.selectedItem,o=this._list._itemElements(),a=null!==(e=null==n?void 0:n.indexOf(i))&&void 0!==e?e:-1,r=-1===a||this._isCustomItemSelected()?null:o.eq(a);this._focusListElement(r)}else this._focusListElement(null)},_renderFocusedElement:function(){if(this._list)if(this._searchValue()&&!this.option(\"acceptCustomValue\")){var e=this._list._itemElements().not(\".dx-state-disabled\").eq(0);this._focusListElement(e)}else this._focusListElement(null)},_focusListElement:function(e){this._preventInputValueRender=!0,this._list.option(\"focusedElement\",(0,u.getPublicElement)(e)),delete this._preventInputValueRender},_scrollToSelectedItem:function(){this._list&&this._list.scrollToItem(this._list.option(\"selectedItem\"))},_listContentReadyHandler:function(){this.callBase(),this._dataController.paginate()&&this._needPopupRepaint()||this._scrollToSelectedItem()},_renderValue:function(){return this._renderInputValue(),this._setSubmitValue(),(new l.Deferred).resolve()},_renderInputValue:function(){return this.callBase().always(function(){this._renderInputValueAsync()}.bind(this))},_renderInputValueAsync:function(){this._renderTooltip(),this._renderInputValueImpl().always(function(){this._refreshSelected()}.bind(this))},_renderInputValueImpl:function(){return this._renderField(),(new l.Deferred).resolve()},_setNextItem:function(e){var t=this._calcNextItem(e),n=this._valueGetter(t);this._setValue(n)},_setNextValue:function(e){(this._dataController.isLoaded()?(new l.Deferred).resolve():this._dataController.load()).done(function(){var t=this._getSelectedIndex(),n=this._dataController.pageSize(),i=this._dataController.isLastPage(),o=t===this._items().length-1;this._saveValueChangeEvent(e);var a=\"downArrow\"===(0,g.normalizeKeyName)(e)?1:-1;n&&!i&&o&&a>0?(this._popup||this._createPopup(),this._dataController.isLoading()||this._list._loadNextPage().done(this._setNextItem.bind(this,a))):this._setNextItem(a)}.bind(this))},_setSelectedItem:function(e){var t=!this._isCustomValueAllowed()&&void 0===e;this.callBase(t?null:e),t||this._isEditable()&&!this._isCustomItemSelected()||this._setListOption(\"selectedItem\",this.option(\"selectedItem\"))},_isCustomValueAllowed:function(){return this.option(\"acceptCustomValue\")||this.callBase()},_displayValue:function(e){return e=!(0,a.isDefined)(e)&&this._isCustomValueAllowed()?this.option(\"value\"):e,this.callBase(e)},_listConfig:function(){var e=(0,r.extend)(this.callBase(),{pageLoadMode:\"scrollBottom\",onSelectionChanged:this._getSelectionChangeHandler(),selectedItem:this.option(\"selectedItem\"),onFocusedItemChanged:this._listFocusedItemChangeHandler.bind(this)});return this.option(\"showSelectionControls\")&&(0,r.extend)(e,{showSelectionControls:!0,selectByClick:!0}),e},_listFocusedItemChangeHandler:function(e){if(!this._preventInputValueRender){var t=e.component,n=(0,i.default)(t.option(\"focusedElement\")),o=t._getItemData(n);this._updateField(o)}},_updateField:function(e){if(!this._getTemplateByOption(\"fieldTemplate\")||!this.option(\"fieldTemplate\")){var t=this._displayGetter(e);return this.option(\"text\",t),void this._renderDisplayText(t)}this._renderField()},_getSelectionChangeHandler:function(){return this.option(\"showSelectionControls\")?this._selectionChangeHandler.bind(this):o.noop},_selectionChangeHandler:function(e){(0,s.each)(e.addedItems||[],function(e,t){this._setValue(this._valueGetter(t))}.bind(this))},_getActualSearchValue:function(){return this._dataController.searchValue()},_toggleOpenState:function(e){if(!this.option(\"disabled\")){if((e=arguments.length?e:!this.option(\"opened\"))||this._shouldClearFilter()||this._restoreInputText(!0),this._wasSearch()&&e){this._wasSearch(!1);var t=this.option(\"showDataBeforeSearch\")||this._isMinSearchLengthExceeded();if(t&&this._dataController.getDataSource()){if(this._searchTimer)return;var n=this._getActualSearchValue();n&&this._wasSearch(!0),this._filterDataSource(n||null)}else this._setListOption(\"items\",[])}e&&this._scrollToSelectedItem(),this.callBase(e)}},_renderTooltip:function(){this.option(\"tooltipEnabled\")&&this.$element().attr(\"title\",this.option(\"displayValue\"))},_renderDimensions:function(){this.callBase(),this._updatePopupWidth(),this._updateListDimensions()},_isValueEqualInputText:function(){var e=this.option(\"selectedItem\");if(null===e)return!1;var t=this._displayGetter(e);return(t?String(t):\"\")===this._searchValue()},_popupHidingHandler:function(){this._isValueEqualInputText()&&this._cancelEditing(),this.callBase()},_popupHiddenHandler:function(){this.callBase(),this._shouldCancelSearch()&&(this._wasSearch(!1),this._searchCanceled(),this._shouldCancelSearch(!1))},_restoreInputText:function(e){this.option(\"readOnly\")||this._loadItemDeferred&&this._loadItemDeferred.always(function(){var t=this.option(),n=t.acceptCustomValue,i=t.text,a=t.selectedItem;n?e||this._isValueChanging||(this._updateField(null!=a?a:this._createCustomItem(i)),this._clearFilter()):this.option(\"searchEnabled\")&&!this._searchValue()&&this.option(\"allowClearing\")?this._clearTextValue():this._isValueEqualInputText()||this._renderInputValue().always(function(e){var t=(0,o.ensureDefined)(e,a);this._setSelectedItem(t),this._updateField(t),this._clearFilter()}.bind(this))}.bind(this))},_valueChangeEventIncludesBlur:function(){return this.option(this._getValueChangeEventOptionName()).includes(\"blur\")},_isPreventedFocusOutEvent:function(e){return this._preventNestedFocusEvent(e)||this._valueChangeEventIncludesBlur()},_focusOutHandler:function(e){this._isPreventedFocusOutEvent(e)||(this._isOverlayNestedTarget(e.relatedTarget)||(this._restoreInputText(),this._clearSearchTimer()),this._cancelSearchIfNeed(e));e.target=this._input().get(0),this.callBase(e)},_cancelSearchIfNeed:function(e){var t=this.option().searchEnabled,n=this._isOverlayNestedTarget(null==e?void 0:e.relatedTarget);if(this._wasSearch()&&t&&!n){var i,o=null===(i=this._popup)||void 0===i?void 0:i._hideAnimationProcessing;this._clearSearchTimer(),o?this._shouldCancelSearch(!0):(this._wasSearch(!1),this._searchCanceled())}},_shouldCancelSearch:function(e){if(!arguments.length)return this._shouldCancelSearchValue;this._shouldCancelSearchValue=e},_isOverlayNestedTarget:function(e){return!!(0,i.default)(e).closest(\".\".concat(\"dx-selectbox-popup-wrapper\")).length},_clearTextValue:function(){var e=this.option(\"selectedItem\"),t=this._displayGetter(e);e&&\"\"!==t&&(this._savedTextRemoveEvent&&this._saveValueChangeEvent(this._savedTextRemoveEvent),this.option(\"value\",null)),delete this._savedTextRemoveEvent},_shouldOpenPopup:function(){return this._needPassDataSourceToList()&&this._wasSearch()},_isFocused:function(){var e=c.default.getActiveElement(this.element());return this.callBase()&&(0,i.default)(e).closest(this._input()).length>0},_getValueChangeEventOptionName:function(){return\"customItemCreateEvent\"},_renderValueChangeEvent:function(){this._isEditable()&&this.callBase()},_fieldRenderData:function(){var e=this._list&&this.option(\"opened\")&&(0,i.default)(this._list.option(\"focusedElement\"));return e&&e.length?this._list._getItemData(e):this.option(\"selectedItem\")},_isSelectedValue:function(e){return this._isValueEquals(e,this.option(\"value\"))},_shouldCloseOnItemClick:function(){return!(this.option(\"showSelectionControls\")&&\"single\"!==this.option(\"selectionMode\"))},_listItemClickHandler:function(e){var t=this._getCurrentValue();this._focusListElement((0,i.default)(e.itemElement)),this._saveValueChangeEvent(e.event),this._completeSelection(this._valueGetter(e.itemData)),this._shouldCloseOnItemClick()&&this.option(\"opened\",!1),this.option(\"searchEnabled\")&&t===this._valueGetter(e.itemData)&&this._updateField(e.itemData),this._shouldClearFilter()&&this._cancelSearchIfNeed()},_shouldClearFilter:function(){return this._wasSearch()},_completeSelection:function(e){this._setValue(e)},_loadItem:function(e,t){var n=this,i=new l.Deferred;return this.callBase(e,t).done(function(e){i.resolve(e)}.bind(this)).fail(function(t){if(null==t||!t.shouldSkipCallback){var o=n.option(\"selectedItem\");n.option(\"acceptCustomValue\")&&e===n._valueGetter(o)?i.resolve(o):i.reject()}}.bind(this)),i.promise()},_loadInputValue:function(e,t){return this._loadItemDeferred=this._loadItem(e).always(t),this._loadItemDeferred},_isCustomItemSelected:function(){var e=this.option(\"selectedItem\"),t=this._searchValue(),n=this._displayGetter(e);return!n||t!==n.toString()},_valueChangeEventHandler:function(e){this.option(\"acceptCustomValue\")&&this._isCustomItemSelected()&&!this._isValueChanging&&(this._isValueChanging=!0,this._customItemAddedHandler(e))},_initCustomItemCreatingAction:function(){this._customItemCreatingAction=this._createActionByOption(\"onCustomItemCreating\")},_createCustomItem:function(e){var t={text:e},n=this._customItemCreatingAction(t),i=(0,o.ensureDefined)(n,t.customItem);return(0,a.isDefined)(n)&&d.default.log(\"W0015\",\"onCustomItemCreating\",\"customItem\"),i},_customItemAddedHandler:function(e){var t=this._searchValue(),n=this._createCustomItem(t);if(this._saveValueChangeEvent(e),void 0===n)throw this._renderValue(),d.default.Error(\"E0121\");(0,a.isPromise)(n)?(0,l.fromPromise)(n).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this,null)):this._setCustomItem(n)},_setCustomItem:function(e){this._disposed||(e=e||null,this.option(\"selectedItem\",e),this._cancelSearchIfNeed(),this._setValue(this._valueGetter(e)),this._renderDisplayText(this._displayGetter(e)),this._isValueChanging=!1)},_clearValueHandler:function(e){return this._preventFiltering=!0,this.callBase(e),this._searchCanceled(),!1},_wasSearch:function(e){if(!arguments.length)return!!this._wasSearchValue;this._wasSearchValue=e},_searchHandler:function(){this._preventFiltering?delete this._preventFiltering:(this._needPassDataSourceToList()&&this._wasSearch(!0),this.callBase(arguments))},_dataSourceFiltered:function(e){this.callBase(),null!==e&&(this._renderInputSubstitution(),this._renderFocusedElement())},_valueSubstituted:function(){var e=this._input().get(0),t=this._searchValue().length,n=0===e.selectionStart&&e.selectionEnd===t,i=e.selectionStart!==e.selectionEnd,o=t===e.selectionEnd;return this._wasSearch()&&i&&!n&&o&&this._shouldSubstitutionBeRendered()},_shouldSubstitutionBeRendered:function(){return!this._preventSubstitution&&this.option(\"searchEnabled\")&&!this.option(\"acceptCustomValue\")&&\"startswith\"===this.option(\"searchMode\")},_renderInputSubstitution:function(){if(this._shouldSubstitutionBeRendered()){var e=this._list&&this._getPlainItems(this._list.option(\"items\"))[0];if(e){var t=this._input(),n=t.val().length;if(0!==n){var i=t.get(0),o=this._displayGetter(e).toString();i.value=o,this._caret({start:n,end:o.length})}}}else delete this._preventSubstitution},_dispose:function(){this._renderInputValueAsync=o.noop,delete this._loadItemDeferred,this.callBase()},_optionChanged:function(e){switch(e.name){case\"customItemCreateEvent\":this._refreshValueChangeEvent(),this._refreshFocusEvent(),this._refreshEvents();break;case\"onCustomItemCreating\":this._initCustomItemCreatingAction();break;case\"tooltipEnabled\":this._renderTooltip();break;case\"displayCustomValue\":case\"acceptCustomValue\":case\"showSelectionControls\":this._invalidate();break;case\"allowClearing\":break;default:this.callBase(e)}}});(0,f.default)(\"dxSelectBox\",_);var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},68198:function(e,t,n){t.default=void 0;var i=u(n(83014)),o=u(n(78600)),a=n(13306),r=n(20576),s=n(35922),l=n(62754);function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e){this.options=(0,a.extend)(this._getDefaultOptions(),e,{selectedItemKeys:e.selectedKeys||[]}),this._selectionStrategy=this.options.deferred?new i.default(this.options):new o.default(this.options),this._focusedItemIndex=-1,this.options.equalByReference||this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)}var t=e.prototype;return t._getDefaultOptions=function(){return{allowNullValue:!1,deferred:!1,equalByReference:!1,mode:\"multiple\",selectedItems:[],selectionFilter:[],maxFilterLengthInRequest:0,onSelectionChanged:r.noop,key:r.noop,keyOf:function(e){return e},load:function(){return(new l.Deferred).resolve([])},totalCount:function(){return-1},isSelectableItem:function(){return!0},isItemSelected:function(){return!1},getItemData:function(e){return e},dataFields:r.noop,filter:r.noop}},t.validate=function(){this._selectionStrategy.validate()},t.getSelectedItemKeys=function(){return this._selectionStrategy.getSelectedItemKeys()},t.getSelectedItems=function(){return this._selectionStrategy.getSelectedItems()},t.selectionFilter=function(e){if(void 0===e)return this.options.selectionFilter;var t=this.options.selectionFilter!==e&&JSON.stringify(this.options.selectionFilter)!==JSON.stringify(e);this.options.selectionFilter=e,t&&this.onSelectionChanged()},t.setSelection=function(e,t){return this.selectedItemKeys(e,!1,!1,!1,t)},t.select=function(e){return this.selectedItemKeys(e,!0)},t.deselect=function(e){return this.selectedItemKeys(e,!0,!0)},t.selectedItemKeys=function(e,t,n,i,o){var a;return e=null!==(a=e)&&void 0!==a?a:[],e=Array.isArray(e)?e:[e],this.validate(),this._selectionStrategy.selectedItemKeys(e,t,n,i,o)},t.clearSelection=function(){return this.selectedItemKeys([])},t._addSelectedItem=function(e,t){this._selectionStrategy.addSelectedItem(t,e)},t._removeSelectedItem=function(e){this._selectionStrategy.removeSelectedItem(e)},t._setSelectedItems=function(e,t){this._selectionStrategy.setSelectedItems(e,t)},t.onSelectionChanged=function(){this._selectionStrategy.onSelectionChanged()},t.changeItemSelection=function(e,t,n){var i,o,a,r,u,d=this,c=this.options.plainItems(),h=c[e],f=!1,p=!1,g=function(e){return e>=0&&!c.filter((function(t){return t.loadIndex===e})).length};if((null===(i=(o=this.options).allowLoadByRange)||void 0===i?void 0:i.call(o))&&(0,s.isDefined)(h)&&(u=h.loadIndex-e,e=h.loadIndex,f=g(this._focusedItemIndex),(0,s.isDefined)(this._shiftFocusedItemIndex)&&(p=g(this._shiftFocusedItemIndex))),!this.isSelectable()||!this.isDataItem(h))return!1;var m=this.options.getItemData(h),_=this.options.keyOf(m);if((t=t||{}).shift&&\"multiple\"===this.options.mode&&this._focusedItemIndex>=0)f||p?(a=e!==this._shiftFocusedItemIndex||this._focusedItemIndex!==this._shiftFocusedItemIndex)&&(r=this.changeItemSelectionWhenShiftKeyInVirtualPaging(e)):a=this.changeItemSelectionWhenShiftKeyPressed(e,c,u);else if(t.control){if(this._resetItemSelectionWhenShiftKeyPressed(),!n){var v=this._selectionStrategy.isItemDataSelected(m);\"single\"===this.options.mode&&this.clearSelectedItems(),v?this._removeSelectedItem(_):this._addSelectedItem(m,_)}a=!0}else{this._resetItemSelectionWhenShiftKeyPressed();var y=this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0],_);1===this.options.selectedItemKeys.length&&y||(this._setSelectedItems([_],[m]),a=!0)}return a?((0,l.when)(r).done((function(){d._focusedItemIndex=e,!n&&d.onSelectionChanged()})),!0):void 0},t.isDataItem=function(e){return this.options.isSelectableItem(e)},t.isSelectable=function(){return\"single\"===this.options.mode||\"multiple\"===this.options.mode},t.isItemDataSelected=function(e){return this._selectionStrategy.isItemDataSelected(e,{checkPending:!0})},t.isItemSelected=function(e,t){return this._selectionStrategy.isItemKeySelected(e,t)},t._resetItemSelectionWhenShiftKeyPressed=function(){delete this._shiftFocusedItemIndex},t._resetFocusedItemIndex=function(){this._focusedItemIndex=-1},t.changeItemSelectionWhenShiftKeyInVirtualPaging=function(e){var t=this,n=this.options.getLoadOptions(e,this._focusedItemIndex,this._shiftFocusedItemIndex),i=new l.Deferred,o=n.skip;return this.options.load(n).done((function(n){t.changeItemSelectionWhenShiftKeyPressed(e,n,o),i.resolve()})),i.promise()},t.changeItemSelectionWhenShiftKeyPressed=function(e,t,n){var i,o,a,r,l,u=!1,d=(0,s.isDefined)(n),c=d?this._focusedItemIndex-n:this._focusedItemIndex,h=this.options.keyOf,f=t[c],p=this.options.getItemData(f),g=h(p),m=f&&this.isItemDataSelected(p);if((0,s.isDefined)(this._shiftFocusedItemIndex)||(this._shiftFocusedItemIndex=this._focusedItemIndex),this._shiftFocusedItemIndex!==this._focusedItemIndex)for(i=this._focusedItemIndex<this._shiftFocusedItemIndex?1:-1,r=d?this._focusedItemIndex-n:this._focusedItemIndex,l=d?this._shiftFocusedItemIndex-n:this._shiftFocusedItemIndex,c=r;c!==l;c+=i)(d||this.isDataItem(t[c]))&&(a=h(this.options.getItemData(t[c])),this._removeSelectedItem(a),u=!0);if(e!==this._shiftFocusedItemIndex)for(i=e<this._shiftFocusedItemIndex?1:-1,r=d?e-n:e,l=d?this._shiftFocusedItemIndex-n:this._shiftFocusedItemIndex,c=r;c!==l;c+=i)(d||this.isDataItem(t[c]))&&(a=h(o=this.options.getItemData(t[c])),this._addSelectedItem(o,a),u=!0);return!d&&!this.isDataItem(f)||m||(this._addSelectedItem(p,g),u=!0),u},t.clearSelectedItems=function(){this._setSelectedItems([],[])},t.selectAll=function(e){return this._resetFocusedItemIndex(),e?this._onePageSelectAll(!1):this.selectedItemKeys([],!0,!1,!0)},t.deselectAll=function(e){return this._resetFocusedItemIndex(),e?this._onePageSelectAll(!0):this.selectedItemKeys([],!0,!0,!0)},t._onePageSelectAll=function(e){for(var t=this._selectionStrategy.getSelectableItems(this.options.plainItems()),n=0;n<t.length;n++){var i=t[n];if(this.isDataItem(i)){var o=this.options.getItemData(i),a=this.options.keyOf(o),r=this.isItemSelected(a);r||e||this._addSelectedItem(o,a),r&&e&&this._removeSelectedItem(a)}}return this.onSelectionChanged(),(new l.Deferred).resolve()},t.getSelectAllState=function(e){return this._selectionStrategy.getSelectAllState(e)},t.loadSelectedItemsWithFilter=function(){return this._selectionStrategy.loadSelectedItemsWithFilter()},e}();t.default=d,e.exports=t.default,e.exports.default=t.default},83014:function(e,t,n){t.default=void 0;var i=n(35922),o=l(n(34344)),a=l(n(96688)),r=l(n(96687)),s=n(62754);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var l=o.prototype;return l.getSelectedItems=function(){return this._loadFilteredData(this.options.selectionFilter)},l.getSelectedItemKeys=function(){var e=new s.Deferred,t=this,n=this.options.key(),o=(0,i.isString)(n)?[n]:n;return this._loadFilteredData(this.options.selectionFilter,null,o).done((function(n){var i=n.map((function(e){return t.options.keyOf(e)}));e.resolve(i)})).fail(e.reject),e.promise()},l.selectedItemKeys=function(e,t,n,i){if(i){var o=this.options.filter();!o||JSON.stringify(o)===JSON.stringify(this.options.selectionFilter)&&n?this._setOption(\"selectionFilter\",n?[]:null):this._addSelectionFilter(n,o,i)}else{t||this._setOption(\"selectionFilter\",[]);for(var a=0;a<e.length;a++)n?this.removeSelectedItem(e[a]):this.addSelectedItem(e[a],i,!t)}return this.onSelectionChanged(),(new s.Deferred).resolve()},l.setSelectedItems=function(e){this._setOption(\"selectionFilter\",null);for(var t=0;t<e.length;t++)this.addSelectedItem(e[t])},l.isItemDataSelected=function(e){return this.isItemKeySelected(e)},l.isItemKeySelected=function(e){var t=this.options.selectionFilter;return!t||!!(0,r.default)([e]).filter(t).toArray().length},l._getKeyExpr=function(){var e=this.options.key();return Array.isArray(e)&&1===e.length?e[0]:e},l._normalizeKey=function(e){var t=this.options.key();return Array.isArray(t)&&1===t.length?e[t[0]]:e},l._getFilterByKey=function(e){var t=this._getKeyExpr(),n=[t,\"=\",this._normalizeKey(e)];if(Array.isArray(t)){n=[];for(var i=0;i<t.length;i++)n.push([t[i],\"=\",e[t[i]]]),i!==t.length-1&&n.push(\"and\")}return n},l.addSelectedItem=function(e,t,n){var i=this._getFilterByKey(e);this._addSelectionFilter(!1,i,t,n)},l.removeSelectedItem=function(e){var t=this._getFilterByKey(e);this._addSelectionFilter(!0,t)},l.validate=function(){var e=this.options.key;if(e&&void 0===e())throw a.default.Error(\"E1042\",\"Deferred selection\")},l._findSubFilter=function(e,t){if(!e)return-1;for(var n=JSON.stringify(t),i=0;i<e.length;i++){var o=e[i];if(o&&JSON.stringify(o)===n)return i}return-1},l._isLastSubFilter=function(e,t){return!(!e||!t)&&(this._findSubFilter(e,t)===e.length-1||0===this._findSubFilter([e],t))},l._addFilterOperator=function(e,t){return e.length>1&&(0,i.isString)(e[1])&&e[1]!==t&&(e=[e]),e.length&&e.push(t),e},l._denormalizeFilter=function(e){return e&&(0,i.isString)(e[0])&&(e=[e]),e},l._isOnlyNegativeFiltersLeft=function(e){return e.every((function(e,t){return t%2==0?Array.isArray(e)&&\"!\"===e[0]:\"and\"===e}))},l._addSelectionFilter=function(e,t,n,i){var o,a=e?[\"!\",t]:t,r=e?\"and\":\"or\",s=!0,l=this.options.selectionFilter||[];if(null!==(o=l=this._denormalizeFilter(l))&&void 0!==o&&o.length&&!i){var u=this._removeSameFilter(l,t,e,n),d=this._removeSameFilter(l,t,!e);e&&(-1!==u||-1!==d)&&this._isOnlyNegativeFiltersLeft(l)&&(l=[]);var c=this._isKeyFilter(t)&&this._hasKeyFiltersOnlyStartingFromIndex(l,d);s=t.length&&!c}s&&(l=this._addFilterOperator(l,r)).push(a),l=this._normalizeFilter(l),this._setOption(\"selectionFilter\",e||l.length?l:null)},l._normalizeFilter=function(e){return e&&1===e.length&&(e=e[0]),e},l._removeFilterByIndex=function(e,t,n){var i=e[1];t>0?e.splice(t-1,2):e.splice(t,2),n&&\"and\"===i&&e.splice(0,e.length)},l._isSimpleKeyFilter=function(e,t){return 3===e.length&&e[0]===t&&\"=\"===e[1]},l._isKeyFilter=function(e){if(2===e.length&&\"!\"===e[0])return this._isKeyFilter(e[1]);var t=this._getKeyExpr();if(Array.isArray(t)){if(e.length!==2*t.length-1)return!1;for(var n=0;n<t.length;n++){if(n>0&&\"and\"!==e[2*n-1])return!1;if(!this._isSimpleKeyFilter(e[2*n],t[n]))return!1}return!0}return this._isSimpleKeyFilter(e,t)},l._hasKeyFiltersOnlyStartingFromIndex=function(e,t){if(t>=0){for(var n=t;n<e.length;n++)if(\"string\"!=typeof e[n]&&!this._isKeyFilter(e[n]))return!1;return!0}return!1},l._removeSameFilter=function(e,t,n,i){if(t=n?[\"!\",t]:t,JSON.stringify(t)===JSON.stringify(e))return e.splice(0,e.length),0;var o=this._findSubFilter(e,t);if(o>=0)return this._removeFilterByIndex(e,o,i),o;for(var a=0;a<e.length;a++)if(Array.isArray(e[a])&&e[a].length>2){var r=this._removeSameFilter(e[a],t,!1,i);if(r>=0)return e[a].length?1===e[a].length&&(e[a]=e[a][0]):this._removeFilterByIndex(e,a,i),r}return-1},l.getSelectAllState=function(){var e=this.options.filter(),t=this.options.selectionFilter;return!t||!!t.length&&(e&&e.length?(t=this._denormalizeFilter(t),!!this._isLastSubFilter(t,e)||!this._isLastSubFilter(t,[\"!\",e])&&void 0):void 0)},l.loadSelectedItemsWithFilter=function(){var e=this.options.filter(),t=this.options.selectionFilter,n=e?[e,\"and\",t]:t;return this._loadFilteredData(n)},o}(o.default);t.default=d,e.exports=t.default,e.exports.default=t.default},34344:function(e,t,n){t.default=void 0;var i,o=(i=n(96687))&&i.__esModule?i:{default:i},a=n(20576),r=n(35922),s=n(62754);var l=function(){function e(e){this.options=e,this._setOption(\"disabledItemKeys\",[]),this._clearItemKeys()}var t=e.prototype;return t._clearItemKeys=function(){this._setOption(\"addedItemKeys\",[]),this._setOption(\"removedItemKeys\",[]),this._setOption(\"removedItems\",[]),this._setOption(\"addedItems\",[])},t.validate=function(){},t._setOption=function(e,t){this.options[e]=t},t.onSelectionChanged=function(){var e=this.options.addedItemKeys,t=this.options.removedItemKeys,n=this.options.addedItems,i=this.options.removedItems,o=this.options.selectedItems,r=this.options.selectedItemKeys,s=this.options.onSelectionChanged||a.noop;this._clearItemKeys(),s({selectedItems:o,selectedItemKeys:r,addedItemKeys:e,removedItemKeys:t,addedItems:n,removedItems:i})},t.equalKeys=function(e,t){return this.options.equalByReference&&(0,r.isObject)(e)&&(0,r.isObject)(t)?e===t:(0,a.equalByValue)(e,t)},t.getSelectableItems=function(e){return e.filter((function(e){return!(null!=e&&e.disabled)}))},t._clearSelection=function(e,t,n,i){return e=e||[],e=Array.isArray(e)?e:[e],this.validate(),this.selectedItemKeys(e,t,n,i)},t._removeTemplateProperty=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t._removeTemplateProperty(e)})):((0,r.isObject)(e)&&delete e.template,e)},t._loadFilteredData=function(e,t,n,i){var a=encodeURI(JSON.stringify(this._removeTemplateProperty(e))).length,l=this.options.maxFilterLengthInRequest&&a>this.options.maxFilterLengthInRequest,u=new s.Deferred,d={filter:l?void 0:e,select:l?this.options.dataFields():n||this.options.dataFields()};return e&&0===e.length?u.resolve([]):this.options.load(d).done((function(n){var a=(0,r.isPlainObject)(n)?n.data:n;t&&!i?a=a.filter(t):l&&(a=(0,o.default)(a).filter(e).toArray()),u.resolve(a)})).fail(u.reject.bind(u)),u},t.updateSelectedItemKeyHash=function(e){for(var t=0;t<e.length;t++){var n=(0,a.getKeyHash)(e[t]);if(!(0,r.isObject)(n))this.options.keyHashIndices[n]=this.options.keyHashIndices[n]||[],this.options.keyHashIndices[n].push(t)}},t._isAnyItemSelected=function(e){for(var t=0;t<e.length;t++)if(this.options.isItemSelected(e[t]))return;return!1},t._getFullSelectAllState=function(){var e=this.options.plainItems(),t=this.options.filter(),n=this.options.ignoreDisabledItems?this.options.selectedItems:this.options.selectedItems.filter((function(e){return!(null!=e&&e.disabled)}));t&&(n=(0,o.default)(n).filter(t).toArray());var i=n.length,a=e.length-this.getSelectableItems(e).length;return i?i>=this.options.totalCount()-a||void 0:this._isAnyItemSelected(e)},t._getVisibleSelectAllState=function(){for(var e=this.getSelectableItems(this.options.plainItems()),t=!1,n=!1,i=0;i<e.length;i++){var o=e[i],a=this.options.getItemData(o),r=this.options.keyOf(a);this.options.isSelectableItem(o)&&(this.isItemKeySelected(r)?t=!0:n=!0)}return!!t&&(!n||void 0)},e}();t.default=l,e.exports=t.default,e.exports.default=t.default},78600:function(e,t,n){t.default=void 0;var i=n(20576),o=n(35922),a=n(89386),r=n(34671),s=c(n(96687)),l=n(62754),u=n(49601),d=c(n(96688));function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this)._initSelectedItemKeyHash(),n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var f=c.prototype;return f._initSelectedItemKeyHash=function(){this._setOption(\"keyHashIndices\",this.options.equalByReference?null:{})},f.getSelectedItemKeys=function(){return this.options.selectedItemKeys.slice(0)},f.getSelectedItems=function(){return this.options.selectedItems.slice(0)},f._preserveSelectionUpdate=function(e,t){var n,i,o,a=this.options.keyOf;if(a){var r=t&&e.length>1&&!this.options.equalByReference;for(r&&(n={}),o=0;o<e.length;o++){var s=e[o],l=a(s);t?(i=this.removeSelectedItem(l,n,null==s?void 0:s.disabled),n&&i>=0&&(n[i]=!0)):this.addSelectedItem(l,s)}r&&this._batchRemoveSelectedItems(n)}},f._batchRemoveSelectedItems=function(e){var t=this.options.selectedItemKeys.slice(0),n=this.options.selectedItems.slice(0);this.options.selectedItemKeys.length=0,this.options.selectedItems.length=0;for(var i=0;i<t.length;i++)e[i]||(this.options.selectedItemKeys.push(t[i]),this.options.selectedItems.push(n[i]));this._initSelectedItemKeyHash(),this.updateSelectedItemKeyHash(this.options.selectedItemKeys)},f._loadSelectedItemsCore=function(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=new l.Deferred,r=this.options.key();if(!e.length&&!n)return a.resolve([]),a;if(n&&t&&!i)return a.resolve(this.getSelectedItems()),a;var d=new u.SelectionFilterCreator(e,n),c=d.getCombinedFilter(r,i,o),h=[];if(t){var f=this.options.selectedItems;h=c&&e.length!==f.length?(0,s.default)(f).filter(c).toArray():f.slice(0)}var p=h.length?h:this.options.plainItems(!0).filter(this.options.isSelectableItem).map(this.options.getItemData),g=d.getLocalFilter(this.options.keyOf,this.equalKeys.bind(this),this.options.equalByReference,r);return p=p.filter(g),h.length||!n&&p.length===e.length?a.resolve(p):a=this._loadFilteredData(c,g,null,n),a},f._replaceSelectionUpdate=function(e){var t=[],n=this.options.keyOf;if(n){for(var i=0;i<e.length;i++){var o=n(e[i]);t.push(o)}this.setSelectedItems(t,e)}},f._warnOnIncorrectKeys=function(e){for(var t=this.options.allowNullValue,n=0;n<e.length;n++){var i=e[n];t&&null===i||this.isItemKeySelected(i)||d.default.log(\"W1002\",i)}},f._isMultiSelectEnabled=function(){var e=this.options.mode;return\"all\"===e||\"multiple\"===e},f._requestInProgress=function(){var e;return\"pending\"===(null===(e=this._lastLoadDeferred)||void 0===e?void 0:e.state())},f._concatRequestsItems=function(e,t,n,i){var o,r=t?e:[];return o=i||(0,a.removeDuplicates)(e,this.options.selectedItemKeys),{addedItems:n.added.concat(o),removedItems:n.removed.concat(r),keys:e}},f._collectLastRequestData=function(e,t,n,i){var o=t&&n,a={added:[],removed:[]},s=this._isMultiSelectEnabled(),l=s?this._lastRequestData:{};return s&&(this._shouldMergeWithLastRequest&&(o?(this._lastLoadDeferred.reject(),l={}):(0,r.isKeysEqual)(e,this.options.selectedItemKeys)||(a.added=l.addedItems,a.removed=l.removedItems,t||this._lastLoadDeferred.reject())),l=this._concatRequestsItems(e,t,a,this._shouldMergeWithLastRequest?void 0:i)),l},f._updateKeysByLastRequestData=function(e,t,n){var i,o,r=e;this._isMultiSelectEnabled()&&this._shouldMergeWithLastRequest&&!t&&!n&&(r=(0,a.removeDuplicates)(e.concat(null===(i=this._lastRequestData)||void 0===i?void 0:i.addedItems),null===(o=this._lastRequestData)||void 0===o?void 0:o.removedItems),r=(0,a.getUniqueValues)(r));return r},f._loadSelectedItems=function(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=this,r=new l.Deferred,s=a.options.filter();return this._shouldMergeWithLastRequest=this._requestInProgress(),this._lastRequestData=this._collectLastRequestData(e,t,n,i),(0,l.when)(a._lastLoadDeferred).always((function(){var i=a._updateKeysByLastRequestData(e,t,n);a._shouldMergeWithLastRequest=!1,a._loadSelectedItemsCore(i,t,n,s,o).done(r.resolve).fail(r.reject)})),a._lastLoadDeferred=r,r},f.selectedItemKeys=function(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],r=this,s=r._loadSelectedItems(e,n,i,o,a);return s.done((function(e){t?r._preserveSelectionUpdate(e,n):r._replaceSelectionUpdate(e),r.onSelectionChanged()})),s},f.addSelectedItem=function(e,t){if((0,o.isDefined)(t)&&!this.options.ignoreDisabledItems&&t.disabled)-1===this.options.disabledItemKeys.indexOf(e)&&this.options.disabledItemKeys.push(e);else{var n=this._getKeyHash(e);-1===this._indexOfSelectedItemKey(n)&&(!(0,o.isObject)(n)&&this.options.keyHashIndices&&(this.options.keyHashIndices[n]=[this.options.selectedItemKeys.length]),this.options.selectedItemKeys.push(e),this.options.addedItemKeys.push(e),this.options.addedItems.push(t),this.options.selectedItems.push(t))}},f._getSelectedIndexByKey=function(e,t){for(var n=this.options.selectedItemKeys,i=0;i<n.length;i++)if((!t||!t[i])&&this.equalKeys(n[i],e))return i;return-1},f._getSelectedIndexByHash=function(e,t){var n=this.options.keyHashIndices[e];return n&&n.length>1&&t&&(n=n.filter((function(e){return!t[e]}))),n&&n[0]>=0?n[0]:-1},f._indexOfSelectedItemKey=function(e,t){return this.options.equalByReference?this.options.selectedItemKeys.indexOf(e):(0,o.isObject)(e)?this._getSelectedIndexByKey(e,t):this._getSelectedIndexByHash(e,t)},f._shiftSelectedKeyIndices=function(e){for(var t=e;t<this.options.selectedItemKeys.length;t++){var n=this.options.selectedItemKeys[t],o=(0,i.getKeyHash)(n),a=this.options.keyHashIndices[o];if(a)for(var r=0;r<a.length;r++)a[r]>e&&a[r]--}},f.removeSelectedItem=function(e,t,n){if(this.options.ignoreDisabledItems||!n){var i=this._getKeyHash(e),a=!!t,r=this._indexOfSelectedItemKey(i,t);if(r<0)return r;if(this.options.removedItemKeys.push(e),this.options.removedItems.push(this.options.selectedItems[r]),a)return r;if(this.options.selectedItemKeys.splice(r,1),this.options.selectedItems.splice(r,1),(0,o.isObject)(i)||!this.options.keyHashIndices)return r;var s=this.options.keyHashIndices[i];return s?(s.shift(),s.length||delete this.options.keyHashIndices[i],this._shiftSelectedKeyIndices(r),r):r}},f._updateAddedItemKeys=function(e,t){for(var n=0;n<e.length;n++)this.isItemKeySelected(e[n])||(this.options.addedItemKeys.push(e[n]),this.options.addedItems.push(t[n]))},f._updateRemovedItemKeys=function(e,t,n){for(var i=0;i<t.length;i++)this.isItemKeySelected(t[i])||(this.options.removedItemKeys.push(t[i]),this.options.removedItems.push(n[i]))},f._isItemSelectionInProgress=function(e,t){var n;return!!(t&&this._lastRequestData&&this._requestInProgress())&&(null!==(n=this._lastRequestData.addedItems)&&void 0!==n?n:[]).includes(e)},f._getKeyHash=function(e){return this.options.equalByReference?e:(0,i.getKeyHash)(e)},f.setSelectedItems=function(e,t){this._updateAddedItemKeys(e,t);var n=this.options.selectedItemKeys,i=this.options.selectedItems;this.options.equalByReference||(this._initSelectedItemKeyHash(),this.updateSelectedItemKeyHash(e)),this._setOption(\"selectedItemKeys\",e),this._setOption(\"selectedItems\",t),this._updateRemovedItemKeys(e,n,i)},f.isItemDataSelected=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.options.keyOf(e);return this.isItemKeySelected(n,t)},f.isItemKeySelected=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._isItemSelectionInProgress(e,t.checkPending);if(!n){var i=this._getKeyHash(e),o=this._indexOfSelectedItemKey(i);n=-1!==o}return n},f.getSelectAllState=function(e){return e?this._getVisibleSelectAllState():this._getFullSelectAllState()},f.loadSelectedItemsWithFilter=function(){var e=this.options.key(),t=this.getSelectedItemKeys(),n=this.options.filter();if(!t.length)return(0,l.Deferred)().resolve([]);var i=new u.SelectionFilterCreator(t).getCombinedFilter(e,n,!0);return this._loadFilteredData(i)},c}(c(n(34344)).default);t.default=f,e.exports=t.default,e.exports.default=t.default},56756:function(e,t,n){t.hiddenFocus=function(e,t){p=!0,e.focus({preventScroll:t}),p=!1},t.registerKeyboardAction=function(e,t,n,r,s,u){if(t.option(\"useLegacyKeyboardNavigation\"))return l.noop;var d=function(){return(0,i.default)(t.element())},c=function(n){return function(e,t,n,i,o,r){if(function(e,t,n){var i={event:t,handled:!1};n?n(i):e._createActionByOption(\"onKeyDown\")(i);return i.handled}(t,n.originalEvent,r))return;var s=(0,a.normalizeKeyName)(n);\"enter\"===s||\"space\"===s?(m(n.target,t),i&&i({event:n})):\"tab\"===s?o.addClass(\"dx-state-focused\"):b(e,t,n)}(e,t,n,s,d(),u)},h=function(){f=!0,d().removeClass(\"dx-state-focused\")},g=function(){!f&&!p&&d().addClass(\"dx-state-focused\"),f=!1};return o.default.on(n,\"keydown\",r,c),o.default.on(n,\"mousedown\",r,h),o.default.on(n,\"focusin\",r,g),function(){o.default.off(n,\"keydown\",r,c),o.default.off(n,\"mousedown\",r,h),o.default.off(n,\"focusin\",r,g)}},t.restoreFocus=function(e){if(!e.option(\"useLegacyKeyboardNavigation\")&&g){var t=g.viewInstance;if(t){var n=_(g.ariaLabel,t.element()).eq(g.index);g=null,o.default.trigger(n,\"focus\")}}},t.saveFocusedElementInfo=m,t.selectView=b,t.setTabIndex=function(e,t){e.option(\"useLegacyKeyboardnavigation\")||t.attr(\"tabindex\",e.option(\"tabindex\")||0)},t.subscribeVisibilityChange=function(){o.default.on(s.default.getDocument(),\"visibilitychange\",y)},t.unsubscribeVisibilityChange=function(){o.default.off(s.default.getDocument(),\"visibilitychange\",y)};var i=u(n(68374)),o=u(n(55994)),a=n(39611),r=n(13306),s=u(n(73349)),l=n(20576);function u(e){return e&&e.__esModule?e:{default:e}}var d=\"\".concat(\".dx-datagrid-rowsview .dx-row\",\" > td\"),c=\"\".concat(\".dx-treelist-rowsview .dx-row\",\" > td\"),h={groupPanel:[\".dx-datagrid-group-panel .dx-group-panel-item[tabindex]\"],columnHeaders:[\".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action\",\".dx-treelist-headers .dx-header-row > td.dx-treelist-action\"],filterRow:[\".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input\",\".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input\"],rowsView:[\"\".concat(\".dx-row-focused\"),\"\".concat(\".dx-datagrid-rowsview .dx-row\",\"[tabindex]\"),\"\".concat(d,\"[tabindex]\"),\"\".concat(d),\"\".concat(\".dx-treelist-rowsview .dx-row\",\"[tabindex]\"),\"\".concat(c,\"[tabindex]\"),\"\".concat(c)],footer:[\".dx-datagrid-total-footer .dx-datagrid-summary-item\",\".dx-treelist-total-footer .dx-treelist-summary-item\"],filterPanel:[\".dx-datagrid-filter-panel .dx-icon-filter\",\".dx-treelist-filter-panel .dx-icon-filter\"],pager:[\".dx-datagrid-pager [tabindex]\",\".dx-treelist-pager [tabindex]\"]},f=!1,p=!1,g=null;function m(e,t){var n=(0,i.default)(e),o=n.attr(\"aria-label\"),a=_(o,t.element()).index(n);g=(0,r.extend)({},{ariaLabel:o,index:a},{viewInstance:t})}function _(e,t){var n=(0,i.default)(t);return e?n.find('[aria-label=\"'.concat(e,'\"][tabindex]')):n.find(\"[tabindex]\")}function v(e,t){var n=(null==t?void 0:t.getRootNode())||s.default.getDocument();for(var o in e){var a=e[o],r=(0,i.default)(n).find(a).first();if(r.length)return r}}function y(){p=\"visible\"===s.default.getDocument().visibilityState}function b(e,t,n){var i=(0,a.normalizeKeyName)(n);if(n.ctrlKey&&(\"upArrow\"===i||\"downArrow\"===i))for(var r=Object.keys(h),s=r.indexOf(e);s>=0&&s<r.length;){var l=r[s=\"upArrow\"===i?--s:++s],u=v(h[l],n.target);if(u&&u.length){u.attr(\"tabindex\",t.option(\"tabindex\")||0),o.default.trigger(u,\"focus\"),u.removeClass(\"dx-cell-focus-disabled\");break}}}},18740:function(e,t,n){t.default=void 0;var i,o,a,r,s=n(35922),l=n(95479),u=[\"year\",\"month\",\"day\"],d=[\"year\",\"month\",\"day\",\"hour\",\"minute\"],c=function(e){return\"date\"===e||\"datetime\"===e},h=function(e){var t,n=[],i=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\"],o=e.headerFilter&&e.headerFilter.groupInterval,a=\"quarter\"===o?\"month\":o;return c(e.dataType)&&null!==o?(n=\"datetime\"===e.dataType?d:u,(t=i.indexOf(a))>=0?((n=i.slice(0,t)).push(o),n):n):(0,s.isDefined)(o)?Array.isArray(o)?o:[o]:void 0},f=(i=function(e,t){var n=e.dataField||e.selector;return\"search\"===t&&(n=e.displayField||e.calculateDisplayValue||n),n},o=function(e,t){var n,o,a,r,l=i(this,t);if(Array.isArray(e)&&(0,s.isDefined)(e[0])&&(0,s.isDefined)(e[1]))return o=[l,\">=\",e[0]],a=[l,\"<=\",e[1]],c(this.dataType)&&(r=e[1]).getHours()+r.getMinutes()+r.getSeconds()+r.getMilliseconds()<1&&(n=new Date(e[1].getTime()),\"date\"===this.dataType&&n.setDate(e[1].getDate()+1),a=[l,\"<\",n]),[o,\"and\",a]},a=function(e,t,n){var o,a,r,u,d=(u=e,(0,s.isDate)(u)?[u.getFullYear(),u.getMonth(),u.getDate(),u.getHours(),u.getMinutes(),u.getSeconds()]:(0,l.map)((\"\"+u).split(\"/\"),(function(e,t){return 1===t?Number(e)-1:Number(e)}))),c=i(this,n);switch(\"headerFilter\"===n?r=h(this)[d.length-1]:\"datetime\"===this.dataType&&(r=\"minute\"),r){case\"year\":o=new Date(d[0],0,1),a=new Date(d[0]+1,0,1);break;case\"month\":o=new Date(d[0],d[1],1),a=new Date(d[0],d[1]+1,1);break;case\"quarter\":o=new Date(d[0],3*d[1],1),a=new Date(d[0],3*d[1]+3,1);break;case\"hour\":o=new Date(d[0],d[1],d[2],d[3]),a=new Date(d[0],d[1],d[2],d[3]+1);break;case\"minute\":o=new Date(d[0],d[1],d[2],d[3],d[4]),a=new Date(d[0],d[1],d[2],d[3],d[4]+1);break;case\"second\":o=new Date(d[0],d[1],d[2],d[3],d[4],d[5]),a=new Date(d[0],d[1],d[2],d[3],d[4],d[5]+1);break;default:o=new Date(d[0],d[1],d[2]),a=new Date(d[0],d[1],d[2]+1)}switch(t){case\"<\":return[c,\"<\",o];case\"<=\":return[c,\"<\",a];case\">\":return[c,\">=\",a];case\">=\":return[c,\">=\",o];case\"<>\":return[[c,\"<\",o],\"or\",[c,\">=\",a]];default:return[[c,\">=\",o],\"and\",[c,\"<\",a]]}},r=function(e,t,n){var o=i(this,n),a=h(this);if(\"headerFilter\"===n&&a&&(0,s.isDefined)(e)){var r=(\"\"+e).split(\"/\"),l=Number(r[r.length-1]);return[[o,\">=\",l],\"and\",[o,\"<\",l+a[r.length-1]]]}return[o,t||\"=\",e]},{defaultCalculateFilterExpression:function(e,t,n){var l=this,u=i(l,n),d=l.calculateDisplayValue&&\"search\"===n,h=d&&l.lookup&&l.lookup.dataType||l.dataType,f=null;if(\"headerFilter\"!==n&&\"filterBuilder\"!==n||null!==e)if(\"string\"!==h||l.lookup&&!d){if(\"between\"===t)return o.apply(l,[e,n]);if(c(h)&&(0,s.isDefined)(e))return a.apply(l,arguments);if(\"number\"===h)return r.apply(l,arguments);f=[u,t||\"=\",e]}else f=[u,t||\"contains\",e];else f=[u,t||\"=\",null],\"string\"===h&&(f=[f,\"=\"===t?\"or\":\"and\",[u,t||\"=\",\"\"]]);return f},getGroupInterval:h});t.default=f,e.exports=t.default,e.exports.default=t.default},37178:function(e,t,n){t.default=void 0;var i=n(35922),o={_getSpecificDataSourceOption:function(){var e=this.option(\"dataSource\"),t=!1,n={};return this._getGroupedOption()&&function(e){return Array.isArray(e)&&e.every((function(e){return 2===Object.keys(e).length&&(\"key\"in e&&\"items\"in e)&&Array.isArray(e.items)}))}(e)&&(n=e.reduce((function(e,n){var o=n.items.map((function(e){return(0,i.isObject)(e)||(e={text:e},t=!0),\"key\"in e||(e.key=n.key),e}));return e.concat(o)}),[]),e={store:{type:\"array\",data:n},group:{selector:\"key\",keepInitialKeyOrder:!0}},t&&(e.searchExpr=\"text\")),e}};t.default=o,e.exports=t.default,e.exports.default=t.default},15653:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=p(n(55994)),a=n(35922),r=p(n(26974)),s=n(47617),l=p(n(47810)),u=n(13306),d=p(n(20530)),c=n(6415),h=n(9234),f=n(39611);function p(e){return e&&e.__esModule?e:{default:e}}n(29837),n(34171),n(18859),n(78665),n(29589);var g=r.default.isWrapped,m=function(){var e=function(e,t){return(0,u.extend)(e,{readOnly:t.readOnly,placeholder:t.placeholder,inputAttr:{id:t.id,\"aria-labelledby\":t[\"aria-labelledby\"]},tabIndex:t.tabIndex},t.editorOptions)},t=function(){return l.default.mozilla||d.default.real().ios},n=function(n){var r={},s=t(),l=n.sharedData||r;return e({placeholder:n.placeholder,width:n.width,value:n.value,onValueChanged:function(e){var t=\"filterRow\"===n.parentType||\"searchPanel\"===n.parentType,i=e.event&&(\"input\"===e.event.type||\"keyup\"===e.event.type),o=function(e,t){n&&n.setValue(e.value,t)};clearTimeout(r.valueChangeTimeout),i&&t?l.valueChangeTimeout=r.valueChangeTimeout=setTimeout((function(){o(e,r.valueChangeTimeout!==l.valueChangeTimeout)}),(0,a.isDefined)(n.updateValueTimeout)?n.updateValueTimeout:0):o(e)},onKeyDown:function(e){s&&\"enter\"===(0,f.normalizeKeyName)(e.event)&&o.default.trigger((0,i.default)(e.component._input()),\"change\")},valueChangeEvent:\"change\"+(\"filterRow\"===n.parentType?\" keyup input\":\"\")},n)},r=function(n){n.editorName=\"dxDateBox\",n.editorOptions=e({value:n.value,onValueChanged:function(e){n.setValue(e.value)},onKeyDown:function(e){var n=e.component,i=e.event,o=n.option(\"useMaskBehavior\");(t()||o)&&\"enter\"===(0,f.normalizeKeyName)(i)&&(n.blur(),n.focus())},displayFormat:n.format,type:n.dataType,dateSerializationFormat:null,width:\"filterBuilder\"===n.parentType?void 0:\"auto\"},n)},p=function(e){var t,i=n(e),o=\"searchPanel\"===e.parentType;e.editorType&&\"dxTextBox\"!==e.editorType?i.value=e.value:i.value=(t=e.value,(0,a.isDefined)(t)?t.toString():\"\"),i.valueChangeEvent+=o?\" keyup input search\":\"\",i.mode=i.mode||(o?\"search\":\"text\"),e.editorName=\"dxTextBox\",e.editorOptions=i},m=function(e){var t=n(e);t.value=(0,a.isDefined)(e.value)?e.value:null,e.editorName=\"dxNumberBox\",e.editorOptions=t};function _(t){var n,i,o,r=t.lookup,l=\"filterRow\"===t.parentType;if(r){var u;n=(0,s.compileGetter)(r.displayExpr),i=r.dataSource,(0,a.isFunction)(i)&&!g(i)&&(i=i(t.row||{}),function(e){if(e.row&&e.row.watch&&\"dataRow\"===e.parentType){var t,n=e.editorOptions||{};e.editorOptions=n;var i,o=n.onInitialized;n.onInitialized=function(e){o&&o.apply(this,arguments),(t=e.component).on(\"disposing\",a)};var a=e.row.watch((function(){return(i=e.lookup.dataSource(e.row))&&i.filter}),(function(){t.option(\"dataSource\",i)}),(function(t){e.row=t}))}}(t)),((0,a.isObject)(i)||Array.isArray(i))&&(i=(0,h.normalizeDataSourceOptions)(i),l&&(o=i.postProcess,i.postProcess=function(e){return 0===this.pageIndex()&&(e=e.slice(0)).unshift(null),o?o.call(this,e):e}));var d=Boolean(r.allowClearing&&!l);t.editorName=null!==(u=t.editorType)&&void 0!==u?u:\"dxSelectBox\",t.editorOptions=e({searchEnabled:!0,value:t.value,valueExpr:t.lookup.valueExpr,searchExpr:t.lookup.searchExpr||t.lookup.displayExpr,allowClearing:d,showClearButton:d,displayExpr:function(e){return null===e?t.showAllText:n(e)},dataSource:i,onValueChanged:function(e){var n=[e.value];!l&&n.push(e.component.option(\"text\")),t.setValue.apply(this,n)}},t)}}function v(t){t.editorName=\"dxCheckBox\",t.editorOptions=e({elementAttr:{id:t.id},value:(0,a.isDefined)(t.value)?t.value:void 0,hoverStateEnabled:!t.readOnly,focusStateEnabled:!t.readOnly,activeStateEnabled:!1,onValueChanged:function(e){t.setValue&&t.setValue(e.value,e)}},t)}var y=function(t){t.editorName=t.editorType,t.editorOptions=e({value:t.value,onValueChanged:function(e){t.setValue(e.value)}},t)},b=function(e){var t={dxDateBox:r,dxCheckBox:v,dxNumberBox:m,dxTextBox:p};if(e.lookup)_(e);else if(e.editorType){var n;(null!==(n=t[e.editorType])&&void 0!==n?n:y)(e)}else switch(e.dataType){case\"date\":case\"datetime\":r(e);break;case\"boolean\":!function(e){\"filterRow\"===e.parentType||\"filterBuilder\"===e.parentType?_((0,u.extend)(e,{lookup:{displayExpr:function(t){return!0===t?e.trueText||\"true\":!1===t?e.falseText||\"false\":void 0},dataSource:[!0,!1]}})):v(e)}(e);break;case\"number\":m(e);break;default:p(e)}};return{createEditor:function(e,t){t.cancel=!1,t.editorElement=(0,c.getPublicElement)(e),(0,a.isDefined)(t.tabIndex)||(t.tabIndex=this.option(\"tabIndex\")),b(t),this.executeAction(\"onEditorPreparing\",t),t.cancel||(\"dataRow\"!==t.parentType||t.isOnForm||(0,a.isDefined)(t.editorOptions.showValidationMark)||(t.editorOptions.showValidationMark=!1),function(e,t){var n=(0,i.default)(t.editorElement);if(t.editorName&&t.editorOptions&&n[t.editorName]){if(\"dxCheckBox\"!==t.editorName&&\"dxSwitch\"!==t.editorName||t.isOnForm||(n.addClass(e.addWidgetPrefix(\"checkbox-size\")),n.parent().addClass(\"dx-editor-inline-block\")),e._createComponent(n,t.editorName,t.editorOptions),\"dxDateBox\"===t.editorName){var o=n.dxDateBox(\"instance\"),a=o._supportedKeys().enter;o.registerKeyHandler(\"enter\",(function(e){return o.option(\"opened\")&&a(e),!0}))}\"dxTextArea\"===t.editorName&&n.dxTextArea(\"instance\").registerKeyHandler(\"enter\",(function(e){\"enter\"!==(0,f.normalizeKeyName)(e)||e.ctrlKey||e.shiftKey||e.stopPropagation()}))}}(this,t),this.executeAction(\"onEditorPrepared\",t))}}}();t.default=m,e.exports=t.default,e.exports.default=t.default},97834:function(e,t,n){var i;t.default=void 0;var o=((i=n(63570))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},73437:function(e,t,n){t.SliderTooltipPositionController=void 0;var i,o=n(84228),a=n(31648),r=(i=n(49387))&&i.__esModule?i:{default:i},s=n(13306),l=n(35922);function u(e,t){return(u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var d={top:{my:\"bottom center\",at:\"top center\",collision:\"fit none\"},bottom:{my:\"top center\",at:\"bottom center\",collision:\"fit none\"}},c={h:2,v:1},h=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var o=i.prototype;return o._normalizePosition=function(e){var t=this._props.target,n=\".\".concat(\"dx-slider\"),i=null==t?void 0:t.closest(n),o={of:t,boundaryOffset:c,boundary:null==i?void 0:i.get(0)},a=(0,s.extend)(!0,{},o,this._positionToObject(e));return this._positionSide=this._getDisplaySide(a),a},o._renderContentInitialPosition=function(){e.prototype._renderContentInitialPosition.call(this),this._fitIntoSlider()},o._fitIntoSlider=function(){var e=r.default.calculate(this._$content,this._position).h,t=e.collisionSide,n=e.oversize,i=this._visualPosition.left,o=(\"left\"===t?1:-1)*n;(0,a.move)(this._$content,{left:i+o}),this._updateVisualPositionValue()},o._positionToObject=function(e){return(0,l.isString)(e)?(0,s.extend)({},d[e]):e},i}(o.PopoverPositionController);t.SliderTooltipPositionController=h},63570:function(e,t,n){t.default=void 0;var i=n(58664),o=w(n(99393)),a=w(n(20530)),r=w(n(68374)),s=n(20576),l=n(62754),u=n(13306),d=n(95429),c=n(91633),h=w(n(55994)),f=w(n(66894)),p=w(n(93786)),g=n(39611),m=w(n(18016)),_=n(75811),v=w(n(39661)),y=n(72672),b=w(n(6320)),x=n(60810);function w(e){return e&&e.__esModule?e:{default:e}}var C=v.default.inherit({_activeStateUnit:\".dx-slider-handle\",_supportedKeys:function(){var e=this,t=this.option(\"rtlEnabled\"),n=function(t,n){t=e._valueStep(t);var i=e.option(\"step\"),o=e.option(\"value\"),a=o-e.option(\"min\"),r=(0,x.getRemainderByDivision)(a,i,e._getValueExponentLength()),s=n?o-t+(r?i-r:0):o+t-r,l=e.option(\"min\"),u=e.option(\"max\");return s<l?s=l:s>u&&(s=u),e._roundToExponentLength(s)},i=function(i){e.option(\"value\",n(i,t))},o=function(i){e.option(\"value\",n(i,!t))};return(0,u.extend)(this.callBase(),{leftArrow:function(e){this._processKeyboardEvent(e),o(this.option(\"step\"))},rightArrow:function(e){this._processKeyboardEvent(e),i(this.option(\"step\"))},pageUp:function(e){this._processKeyboardEvent(e),i(this.option(\"step\")*this.option(\"keyStep\"))},pageDown:function(e){this._processKeyboardEvent(e),o(this.option(\"step\")*this.option(\"keyStep\"))},home:function(e){this._processKeyboardEvent(e);var t=this.option(\"min\");this.option(\"value\",t)},end:function(e){this._processKeyboardEvent(e);var t=this.option(\"max\");this.option(\"value\",t)}})},_processKeyboardEvent:function(e){e.preventDefault(),e.stopPropagation(),this._saveValueChangeEvent(e)},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{value:50,hoverStateEnabled:!0,activeStateEnabled:!0,step:1,showRange:!0,tooltip:{enabled:!1,format:function(e){return e},position:\"top\",showMode:\"onHover\"},label:{visible:!1,position:\"bottom\",format:function(e){return e}},keyStep:1,useInkRipple:!1,validationMessageOffset:(0,_.isMaterial)()?{h:18,v:0}:{h:7,v:4},focusStateEnabled:!0,valueChangeMode:\"onHandleMove\"})},_toggleValidationMessage:function(e){this.option(\"isValid\")||this.$element().toggleClass(\"dx-invalid-message-visible\",e)},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){var e=(0,_.current)();return(0,_.isMaterial)(e)},options:{useInkRipple:!0}}])},_initMarkup:function(){this.$element().addClass(\"dx-slider\"),this._renderSubmitElement(),this.option(\"useInkRipple\")&&this._renderInkRipple(),this.callBase(),this._renderLabels(),this._renderStartHandler(),this._renderAriaMinAndMax()},_attachFocusEvents:function(){this.callBase();var e=this.NAME+\"Validation\",t=(0,g.addNamespace)(\"focusin\",e),n=(0,g.addNamespace)(\"focusout\",e),i=this._focusTarget();h.default.on(i,t,this._toggleValidationMessage.bind(this,!0)),h.default.on(i,n,this._toggleValidationMessage.bind(this,!1))},_detachFocusEvents:function(){this.callBase();var e=this._focusTarget();this._toggleValidationMessage(!1),h.default.off(e,this.NAME+\"Validation\")},_render:function(){this.callBase(),this._repaintHandle()},_renderSubmitElement:function(){this._$submitElement=(0,r.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element())},_getSubmitElement:function(){return this._$submitElement},_renderInkRipple:function(){this._inkRipple=(0,y.render)({waveSizeCoefficient:.7,isCentered:!0,wavesNumber:2,useHoldAnimation:!1})},_renderInkWave:function(e,t,n,i){if(this._inkRipple){var o={element:e,event:t,wave:i};n?this._inkRipple.showWave(o):this._inkRipple.hideWave(o)}},_visibilityChanged:function(){this.repaint()},_renderWrapper:function(){this.callBase(),this._$wrapper.addClass(\"dx-slider-wrapper\"),this._createComponent(this._$wrapper,f.default,{elastic:!1,immediate:!0,immediateTimeout:0,onStart:this._swipeStartHandler.bind(this),onUpdated:this._swipeUpdateHandler.bind(this),onEnd:this._swipeEndHandler.bind(this),itemSizeFunc:this._itemWidthFunc.bind(this)})},_renderContainer:function(){this.callBase(),this._$bar.addClass(\"dx-slider-bar\")},_renderRange:function(){this.callBase(),this._$range.addClass(\"dx-slider-range\"),this._renderHandle(),this._renderRangeVisibility()},_renderRangeVisibility:function(){this._$range.toggleClass(\"dx-slider-range-visible\",Boolean(this.option(\"showRange\")))},_renderHandle:function(){this._$handle=this._renderHandleImpl(this.option(\"value\"),this._$handle)},_renderHandleImpl:function(e,t){var n=t||(0,r.default)(\"<div>\").appendTo(this._$range),i=this.option(\"tooltip\");return this.$element().toggleClass(\"dx-slider-tooltip-position-bottom\",i.enabled&&\"bottom\"===i.position).toggleClass(\"dx-slider-tooltip-position-top\",i.enabled&&\"top\"===i.position),this._createComponent(n,b.default,{value:e,tooltip:i}),n},_renderAriaMinAndMax:function(){this.setAria({valuemin:this.option(\"min\"),valuemax:this.option(\"max\")},this._$handle)},_toggleActiveState:function(e,t){this.callBase(e,t),this._renderInkWave(e,null,!!t,1)},_toggleFocusClass:function(e,t){if(this.callBase(e,t),!this._disposed){var n=(0,r.default)(t||this._focusTarget());this._renderInkWave(n,null,e,0)}},_renderLabels:function(){if(this.$element().removeClass(\"dx-slider-label-position-bottom\").removeClass(\"dx-slider-label-position-top\"),this.option(\"label.visible\")){var e=this.option(\"min\"),t=this.option(\"max\"),n=this.option(\"label.position\"),i=this.option(\"label.format\");this._$minLabel||(this._$minLabel=(0,r.default)(\"<div>\").addClass(\"dx-slider-label\").appendTo(this._$wrapper)),this._$minLabel.text(m.default.format(e,i)),this._$maxLabel||(this._$maxLabel=(0,r.default)(\"<div>\").addClass(\"dx-slider-label\").appendTo(this._$wrapper)),this._$maxLabel.text(m.default.format(t,i)),this.$element().addClass(\"dx-slider-label-position-\"+n)}else this._$minLabel&&(this._$minLabel.remove(),delete this._$minLabel),this._$maxLabel&&(this._$maxLabel.remove(),delete this._$maxLabel)},_renderStartHandler:function(){var e=this,t=(0,g.addNamespace)(p.default.down,this.NAME),n=(0,g.addNamespace)(d.name,this.NAME),i=this._createAction(this._startHandler.bind(this)),o=this.$element();h.default.off(o,t),h.default.on(o,t,(function(e){(0,g.isMouseEvent)(e)&&i({event:e})})),h.default.off(o,n),h.default.on(o,n,(function(t){var n=e._activeHandle();n&&(h.default.trigger(n,\"focusin\"),h.default.trigger(n,\"focus\")),i({event:t}),\"onHandleRelease\"===e.option(\"valueChangeMode\")&&(e.option(\"value\",e._getActualValue()),e._actualValue=void 0)}))},_itemWidthFunc:function(){return this._itemWidthRatio},_swipeStartHandler:function(e){var t=this.option(\"rtlEnabled\");(0,g.isTouchEvent)(e.event)&&this._createAction(this._startHandler.bind(this))({event:e.event}),this._feedbackDeferred=new l.Deferred,(0,c.lock)(this._feedbackDeferred),this._toggleActiveState(this._activeHandle(),this.option(\"activeStateEnabled\")),this._startOffset=this._currentRatio;var n=this._startOffset*this._swipePixelRatio(),o=(1-this._startOffset)*this._swipePixelRatio();e.event.maxLeftOffset=t?o:n,e.event.maxRightOffset=t?n:o,this._itemWidthRatio=(0,i.getWidth)(this.$element())/this._swipePixelRatio(),this._needPreventAnimation=!0},_swipeEndHandler:function(e){if(!this._isSingleValuePossible()){this._feedbackDeferred.resolve(),this._toggleActiveState(this._activeHandle(),!1);var t=this.option(\"rtlEnabled\")?-1:1,n=this._startOffset+t*e.event.targetOffset/this._swipePixelRatio();delete this._needPreventAnimation,this._saveValueChangeEvent(e.event),this._changeValueOnSwipe(n),\"onHandleRelease\"===this.option(\"valueChangeMode\")&&this.option(\"value\",this._getActualValue()),this._actualValue=void 0,delete this._startOffset,this._renderValue()}},_activeHandle:function(){return this._$handle},_swipeUpdateHandler:function(e){this._isSingleValuePossible()||(this._saveValueChangeEvent(e.event),this._updateHandlePosition(e))},_updateHandlePosition:function(e){var t=this.option(\"rtlEnabled\")?-1:1,n=Math.min(this._startOffset+t*e.event.offset/this._swipePixelRatio(),1);(0,i.setWidth)(this._$range,100*n+\"%\"),b.default.getInstance(this._activeHandle()).fitTooltipPosition,this._changeValueOnSwipe(n)},_swipePixelRatio:function(){var e=this.option(\"min\");return(this.option(\"max\")-e)/this._valueStep(this.option(\"step\"))},_valueStep:function(e){return e&&!isNaN(e)||(e=1),e},_getValueExponentLength:function(){var e=this.option(),t=e.step,n=e.min;return Math.max((0,x.getExponentLength)(t),(0,x.getExponentLength)(n))},_roundToExponentLength:function(e){var t=this._getValueExponentLength();return(0,x.roundFloatPart)(e,t)},_changeValueOnSwipe:function(e){var t=this.option(\"min\"),n=this.option(\"max\"),i=this._valueStep(this.option(\"step\")),o=t+e*(n-t);if(!(i<0))if(o===n||o===t)this._setValueOnSwipe(o);else{var a=Math.round((o-t)/i);o=this._roundToExponentLength(a*i+t),this._setValueOnSwipe(Math.max(Math.min(o,n),t))}},_setValueOnSwipe:function(e){this._actualValue=e,\"onHandleRelease\"===this.option(\"valueChangeMode\")?b.default.getInstance(this._activeHandle()).option(\"value\",e):(this.option(\"value\",e),this._saveValueChangeEvent(void 0))},_getActualValue:function(){var e;return null!==(e=this._actualValue)&&void 0!==e?e:this.option(\"value\")},_isSingleValuePossible:function(){var e=this.option();return e.min===e.max},_startHandler:function(e){if(!this._isSingleValuePossible()){var t=e.event;this._currentRatio=((0,g.eventData)(t).x-this._$bar.offset().left)/(0,i.getWidth)(this._$bar),this.option(\"rtlEnabled\")&&(this._currentRatio=1-this._currentRatio),this._saveValueChangeEvent(t),this._changeValueOnSwipe(this._currentRatio)}},_renderValue:function(){this.callBase();var e=this._getActualValue();this._getSubmitElement().val((0,s.applyServerDecimalSeparator)(e)),b.default.getInstance(this._activeHandle()).option(\"value\",e)},_setRangeStyles:function(e){e&&this._$range.css(e)},_callHandlerMethod:function(e,t){b.default.getInstance(this._$handle)[e](t)},_repaintHandle:function(){this._callHandlerMethod(\"repaint\")},_fitTooltip:function(){this._callHandlerMethod(\"updateTooltipPosition\")},_optionChanged:function(e){switch(e.name){case\"visible\":this.callBase(e),this._renderHandle(),this._repaintHandle();break;case\"min\":case\"max\":this._renderValue(),this.callBase(e),this._renderLabels(),this._renderAriaMinAndMax(),this._fitTooltip();break;case\"step\":this._renderValue();break;case\"keyStep\":break;case\"showRange\":this._renderRangeVisibility();break;case\"tooltip\":this._renderHandle();break;case\"label\":this._renderLabels();break;case\"useInkRipple\":this._invalidate();break;case\"valueChangeMode\":break;default:this.callBase(e)}},_refresh:function(){this._toggleRTLDirection(this.option(\"rtlEnabled\")),this._renderDimensions(),this._renderValue(),this._renderHandle(),this._repaintHandle()},_clean:function(){delete this._inkRipple,delete this._actualValue,this.callBase()}});(0,o.default)(\"dxSlider\",C);var S=C;t.default=S,e.exports=t.default,e.exports.default=t.default},6320:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=s(n(14390)),a=s(n(52554)),r=n(13306);function s(e){return e&&e.__esModule?e:{default:e}}var l=o.default.inherit({_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{hoverStateEnabled:!1,value:0,tooltip:{enabled:!1,format:function(e){return e},position:\"top\",showMode:\"onHover\"}})},_initMarkup:function(){this.callBase(),this.$element().addClass(\"dx-slider-handle\"),this.setAria({role:\"slider\",valuenow:this.option(\"value\")})},_render:function(){this.callBase(),this._renderTooltip()},_renderTooltip:function(){var e=this.option(),t=e.tooltip,n=e.value,o=t.position,r=t.format,s=t.enabled,l=t.showMode,u=(0,i.default)(\"<div>\");this._sliderTooltip=this._createComponent(u,a.default,{target:this.$element(),container:u,position:o,visible:s,showMode:l,format:r,value:n})},_clean:function(){this.callBase(),this._sliderTooltip=null},_updateTooltipOptions:function(e){var t,n=o.default.getOptionsFromContainer(e);this._setWidgetOption(\"_sliderTooltip\",[n]),null===(t=this._sliderTooltip)||void 0===t||t.option(\"visible\",n.enabled)},_optionChanged:function(e){var t=e.name,n=e.value;switch(t){case\"value\":var i;null===(i=this._sliderTooltip)||void 0===i||i.option(\"value\",n),this.setAria(\"valuenow\",n);break;case\"tooltip\":this._updateTooltipOptions(e);break;default:this.callBase(e)}},updateTooltipPosition:function(){var e;null===(e=this._sliderTooltip)||void 0===e||e.updatePosition()},repaint:function(){var e;null===(e=this._sliderTooltip)||void 0===e||e.repaint()}});t.default=l,e.exports=t.default,e.exports.default=t.default},52554:function(e,t,n){t.default=void 0;var i=s(n(94920)),o=n(13306),a=n(73437),r=s(n(18016));function s(e){return e&&e.__esModule?e:{default:e}}var l=i.default.inherit({_getDefaultOptions:function(){return(0,o.extend)(this.callBase(),{visible:!1,position:\"top\",hideOnOutsideClick:!1,hideTopOverlayHandler:null,hideOnParentScroll:!1,animation:null,arrowPosition:null,templatesRenderAsynchronously:!1,_fixWrapperPosition:!1,useResizeObserver:!1,showMode:\"onHover\",format:function(e){return e},value:0})},_initMarkup:function(){this.callBase(),this._attachToMarkup(this.option(\"visible\")),this._toggleShowModeClass()},_renderContent:function(){this.callBase(),this._renderContentText()},_renderContentText:function(){var e=this.option(),t=e.value,n=e.format,i=r.default.format(null!=t?t:0,n);this.$content().text(i),this._renderPosition()},_toggleShowModeClass:function(){var e=\"onHover\"===this.option(\"showMode\");this.option(\"target\").toggleClass(\"dx-slider-tooltip-visible-on-hover\",e)},_initPositionController:function(){this._positionController=new a.SliderTooltipPositionController(this._getPositionControllerConfig())},_attachToMarkup:function(e){var t=this.option(\"target\");e?this.$element().appendTo(t):this.$element().detach()},_optionChanged:function(e){var t=e.name,n=e.value;switch(t){case\"visible\":this._attachToMarkup(n),this.callBase(e);break;case\"showMode\":this._toggleShowModeClass();break;case\"format\":case\"value\":this._renderContentText();break;default:this.callBase(e)}},updatePosition:function(){this._renderPosition()}});t.default=l,e.exports=t.default,e.exports.default=t.default},66843:function(e,t,n){var i;t.default=void 0;var o=((i=n(75500))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},17017:function(e,t,n){var i;t.default=void 0;var o=((i=n(43161))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},81374:function(e,t,n){t.default=void 0;var i=n(18058).repaint;t.default=i,e.exports=t.default,e.exports.default=t.default},43161:function(e,t,n){t.default=void 0;var i=u(n(99393)),o=n(13306),a=u(n(73176)),r=u(n(24311)),s=u(n(14390)),l=n(18058);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=u(n(92591)).default.getSwatchContainer,h=r.default.add,f=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var r=i.prototype;return r._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{icon:\"\",onClick:null,label:\"\",visible:!0,index:0,onContentReady:null,activeStateEnabled:!0,hoverStateEnabled:!0,animation:{show:{type:\"pop\",duration:200,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",from:{scale:0,opacity:0},to:{scale:1,opacity:1}},hide:{type:\"pop\",duration:200,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",from:{scale:1,opacity:1},to:{scale:0,opacity:0}}},id:new a.default})},r._optionChanged=function(t){switch(t.name){case\"onClick\":case\"icon\":case\"label\":case\"visible\":case\"index\":case\"onInitializing\":(0,l.initAction)(this);break;case\"animation\":case\"id\":break;default:e.prototype._optionChanged.call(this,t)}},r._render=function(){var e=this;this._toggleVisibility(!1),c(this.$element())?(0,l.initAction)(this):h((function(){return(0,l.initAction)(e)}))},r._dispose=function(){(0,l.disposeAction)(this._options.silent(\"id\")),e.prototype._dispose.call(this)},i}(s.default);(0,i.default)(\"dxSpeedDialAction\",f);var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},37668:function(e,t,n){t.default=void 0;var i=f(n(68374)),o=n(13306),a=f(n(55994)),r=n(39611),s=n(95429),l=n(44899),u=f(n(89799)),d=n(72672),c=n(75811),h=n(35922);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var g=function(e){var t,n;function u(){return e.apply(this,arguments)||this}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,p(t,n);var f=u.prototype;return f._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{shading:!1,useInkRipple:!1,callOverlayRenderShading:!1,width:\"auto\",zIndex:1500,_observeContentResize:!1})},f._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return(0,c.isMaterial)()},options:{useInkRipple:!0}}])},f._moveToContainer=function(){this._$wrapper.appendTo(this.$element()),this._$content.appendTo(this._$wrapper)},f._render=function(){this.$element().addClass(\"dx-fa-button\"),this._renderIcon(),this._renderLabel(),e.prototype._render.call(this),this.option(\"useInkRipple\")&&this._renderInkRipple(),this._renderClick()},f._renderLabel=function(){this._$label&&this._$label.remove();var e=this.option(\"label\");if(e){var t=(0,i.default)(\"<div>\").addClass(\"dx-fa-button-label\"),n=(0,i.default)(\"<div>\").addClass(\"dx-fa-button-label-wrapper\");this._$label=n.prependTo(this.$content()).append(t.text(e)),this.$content().toggleClass(\"dx-fa-button-content-reverse\",this._isPositionLeft(this.option(\"parentPosition\")))}else this._$label=null},f._isPositionLeft=function(e){var t=\"\";return e&&((0,h.isPlainObject)(e)&&e.at?t=e.at.x?e.at.x:e.at:\"string\"==typeof e&&(t=e)),\"left\"===t.split(\" \")[0]},f._renderButtonIcon=function(e,t,n){e&&e.remove(),e=(0,i.default)(\"<div>\").addClass(n);var o=(0,l.getImageContainer)(t);return e.append(o).appendTo(this.$content()),e},f._renderIcon=function(){this._$icon=this._renderButtonIcon(this._$icon,this._options.silent(\"icon\"),\"dx-fa-button-icon\")},f._renderWrapper=function(){this._options.silent(\"callOverlayRenderShading\")&&e.prototype._renderWrapper.call(this)},f._getVisibleActions=function(e){return(e||this.option(\"actions\")||[]).filter((function(e){return e.option(\"visible\")}))},f._getActionComponent=function(){return 1===this._getVisibleActions().length?this._getVisibleActions()[0]:this.option(\"actionComponent\")||this.option(\"actions\")[0]},f._initContentReadyAction=function(){this._contentReadyAction=this._getActionComponent()._createActionByOption(\"onContentReady\",{excludeValidators:[\"disabled\",\"readOnly\"]},!0)},f._fireContentReadyAction=function(){this._contentReadyAction({actionElement:this.$element()})},f._updateZIndexStackPosition=function(){var e=this.option(\"zIndex\");this._$wrapper.css(\"zIndex\",e),this._$content.css(\"zIndex\",e)},f._setClickAction=function(){var e=this,t=(0,r.addNamespace)(s.name,this.NAME),n=this.$element().find(\".dx-overlay-content\");a.default.off(n,t),a.default.on(n,t,(function(t){var n={event:t,actionElement:e.element(),element:e._getActionComponent().$element()};e._clickAction(n)}))},f._defaultActionArgs=function(){return{component:this._getActionComponent()}},f._renderClick=function(){this._clickAction=this._getActionComponent()._createActionByOption(\"onClick\"),this._setClickAction()},f._renderInkRipple=function(){this._inkRipple=(0,d.render)()},f._getInkRippleContainer=function(){return this._$icon},f._toggleActiveState=function(t,n,i){if(e.prototype._toggleActiveState.apply(this,arguments),this._inkRipple){var o={element:this._getInkRippleContainer(),event:i};n?this._inkRipple.showWave(o):this._inkRipple.hideWave(o)}},f._optionChanged=function(t){switch(t.name){case\"icon\":this._renderIcon();break;case\"onClick\":this._renderClick();break;case\"label\":this._renderLabel();break;case\"visible\":this._currentVisible=t.previousValue,t.value?this._show():this._hide();break;case\"useInkRipple\":this._render();break;default:e.prototype._optionChanged.call(this,t)}},u}(u.default);t.default=g,e.exports=t.default,e.exports.default=t.default},18058:function(e,t,n){t.disposeAction=function(e){if(!g)return;var t=g.option(\"actions\"),n=t.length;if(t=t.filter((function(t){return t._options.silent(\"id\")!==e})),n===t.length)return;t.length?1===t.length?g.option((0,r.extend)({},m(t[0]),{actions:t})):g.option({actions:t}):(g.dispose(),g.$element().remove(),g=null)},t.initAction=function(e){e._options.silent(\"onInitializing\",null);var t=!1;if(g){var n=g.option(\"actions\");if(n.forEach((function(n){if(n._options.silent(\"id\")===e._options.silent(\"id\"))return t=!0,e})),delete g._options.position,t)1===n.length?g.option((0,r.extend)({},m(n[0]),{actions:n,position:g._getPosition()})):g.option((0,r.extend)(g._getCurrentOptions(n),{actions:n}));else{if(g._getVisibleActions(n).length>=g.option(\"maxSpeedDialActionCount\"))return e.dispose(),void l.default.log(\"W1014\");n.push(e),g.option((0,r.extend)(g._getCurrentOptions(n),{actions:n}))}}else{var i=(0,o.default)(\"<div>\").appendTo(p(e.$element()));g=e._createComponent(i,_,(0,r.extend)({},m(e),{actions:[e]}))}},t.repaint=function(){if(!g)return;var e=g._getVisibleActions(),t=1===e.length?e[0].option(\"icon\"):g._getDefaultOptions().icon,n=1===e.length?e[0].option(\"label\"):g._getDefaultOptions().label;g.option({actions:g.option(\"actions\"),icon:t,closeIcon:g._getDefaultOptions().closeIcon,position:g._getPosition(),label:n,maxSpeedDialActionCount:g._getDefaultOptions().maxSpeedDialActionCount,direction:g._getDefaultOptions().direction})};var i=n(58664),o=h(n(68374)),a=h(n(80209)),r=n(13306),s=h(n(55994)),l=h(n(96688)),u=h(n(92591)),d=h(n(37668)),c=n(75811);function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var p=u.default.getSwatchContainer,g=null,m=function(e){var t=e.option(),n=t.animation,i=t.actionComponent,o=t.actionVisible,a=t.actions,s=t.activeStateEnabled,l=t.direction,u=t.elementAttr,d=t.hint,c=t.hoverStateEnabled,h=t.icon,f=t.id,p=t.index,g=t.label,m=t.onClick,_=t.onContentReady,v=t.parentPosition,y=t.position,b=t.visible,x=t.zIndex;return(0,r.extend)({},{animation:n,actionComponent:i,actionVisible:o,actions:a,activeStateEnabled:s,direction:l,elementAttr:u,hint:d,hoverStateEnabled:c,icon:h,id:f,index:p,label:g,onClick:m,onContentReady:_,parentPosition:v,position:y,visible:b,zIndex:x,_ignoreElementAttrDeprecation:!0},{onInitialized:null,onDisposing:null})},_=function(e){var t,n;function l(){return e.apply(this,arguments)||this}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,f(t,n);var u=l.prototype;return u._getDefaultOptions=function(){var t={icon:\"add\",closeIcon:\"close\",position:{at:\"right bottom\",my:\"right bottom\",offset:{x:-16,y:-16}},maxSpeedDialActionCount:5,hint:\"\",label:\"\",direction:\"auto\",actions:[],activeStateEnabled:!0,hoverStateEnabled:!0,indent:(0,c.isCompact)()?49:55,childIndent:40,childOffset:(0,c.isCompact)()?2:9,callOverlayRenderShading:!0,hideOnOutsideClick:!0};return(0,r.extend)(e.prototype._getDefaultOptions.call(this),(0,r.extend)(t,(0,a.default)().floatingActionButtonConfig,{shading:!1}))},u._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return(0,c.isMaterial)()&&!(0,c.isCompact)()},options:{indent:72,childIndent:56,childOffset:8}},{device:function(){return(0,c.isMaterial)()&&(0,c.isCompact)()},options:{indent:58,childIndent:48,childOffset:1}}])},u._render=function(){this.$element().addClass(\"dx-fa-button-main\"),e.prototype._render.call(this),this._moveToContainer(),this._renderCloseIcon(),this._renderClick()},u._renderLabel=function(){e.prototype._renderLabel.call(this),this.$element().toggleClass(\"dx-fa-button-with-label\",!!this._$label)},u._renderIcon=function(){e.prototype._renderIcon.call(this),this.$element().toggleClass(\"dx-fa-button-without-icon\",!this.option(\"icon\"))},u._renderCloseIcon=function(){this._$closeIcon=this._renderButtonIcon(this._$closeIcon,this._options.silent(\"closeIcon\"),\"dx-fa-button-icon-close\"),this._$closeIcon.addClass(\"dx-state-invisible\")},u._renderClick=function(){this._clickAction=1===this._getVisibleActions().length?this._getActionComponent()._createActionByOption(\"onClick\"):this._createAction(this._clickHandler.bind(this)),this._setClickAction()},u._getVisibleActions=function(e){return(e||this.option(\"actions\")).filter((function(e){return e.option(\"visible\")}))},u._getCurrentOptions=function(e){var t=g._getVisibleActions(e),n=this._getDefaultOptions();return delete n.elementAttr,delete n.closeOnOutsideClick,1===t.length?(0,r.extend)(m(t[0]),{position:this._getPosition()}):(0,r.extend)(n,{visible:0!==t.length})},u._clickHandler=function(){var e=this._actionItems.filter((function(e){return e.option(\"actionVisible\")})).sort((function(e,t){return e.option(\"index\")-t.option(\"index\")}));if(1!==e.length){for(var t=e.length-1,n=0;n<e.length;n++)e[n].option(\"animation\",this._getActionAnimation(e[n],n,t)),e[n].option(\"position\",this._getActionPosition(e,n)),e[n]._$wrapper.css(\"position\",this._$wrapper.css(\"position\")),e[n].toggle();(0,a.default)().floatingActionButtonConfig.shading&&(this._isShadingShown=!this.option(\"shading\"),this.option(\"shading\",this._isShadingShown)),this._$icon.toggleClass(\"dx-state-invisible\"),this._$closeIcon.toggleClass(\"dx-state-invisible\")}},u._updateZIndexStackPosition=function(){e.prototype._updateZIndexStackPosition.call(this),this._overlayStack().push(this)},u._renderActions=function(){var e=this,t=this.option(\"actions\");if(this._actionItems&&this._actionItems.length&&(this._actionItems.forEach((function(e){e.dispose(),e.$element().remove()})),this._actionItems=[]),this._actionItems=[],1!==t.length)for(var n=0;n<t.length;n++){var i=t[n],a=(0,o.default)(\"<div>\").appendTo(p(i.$element()));s.default.off(a,\"click\"),s.default.on(a,\"click\",(function(){e._clickHandler()})),i._options.silent(\"actionComponent\",i),i._options.silent(\"parentPosition\",this._getPosition()),i._options.silent(\"actionVisible\",i._options.silent(\"visible\")),this._actionItems.push(this._createComponent(a,d.default,(0,r.extend)({},m(i),{visible:!1})))}},u._getActionAnimation=function(e,t,n){return e._options.silent(\"animation.show.delay\",30*t),e._options.silent(\"animation.hide.delay\",30*(n-t)),e._options.silent(\"animation\")},u._getDirectionIndex=function(e,t){if(\"auto\"===t){var n=(0,i.getHeight)(this.$content()),o=this.initialOption(\"indent\")+this.initialOption(\"childIndent\")*e.length-n,a=this.$content().offset().top;return o<a||a>=(0,i.getHeight)(this._positionController._$wrapperCoveredElement)-n-a?-1:1}return\"down\"!==t?-1:1},u._getActionPosition=function(e,t){var n=e[t],i=this.initialOption(\"childOffset\"),o=n._options.silent(\"label\")&&!this._$label?this._isPositionLeft(this._getPosition())?i:-i:0,a=this.initialOption(\"indent\")+this.initialOption(\"childIndent\")*t,r=this._getDirectionIndex(e,this.option(\"direction\"))*a,s=n._options.silent(\"label\")?this._isPositionLeft(this._getPosition())?\"left\":\"right\":\"center\";return{of:this.$content(),at:s,my:s,offset:{x:o,y:r}}},u._outsideClickHandler=function(e){this._isShadingShown&&((0,o.default)(e.target)[0]===this._$wrapper[0]&&(e.preventDefault(),this._clickHandler()))},u._setPosition=function(){this.option(\"visible\")&&(this._hide(),this._show())},u._getPosition=function(){return this._getDefaultOptions().position},u._getInkRippleContainer=function(){return this.$content()},u._optionChanged=function(t){switch(t.name){case\"actions\":this._isVisible()&&(this._renderIcon(),this._renderLabel()),this._renderCloseIcon(),this._renderClick(),this._renderActions();break;case\"maxSpeedDialActionCount\":this._renderActions();break;case\"closeIcon\":this._renderCloseIcon();break;case\"position\":e.prototype._optionChanged.call(this,t),this._setPosition();break;case\"label\":this._isVisible()&&this._renderLabel(),this._setPosition();break;case\"icon\":this._isVisible()&&this._renderIcon();break;default:e.prototype._optionChanged.call(this,t)}},l}(d.default)},93288:function(e,t,n){t.default=void 0;var i=c(n(68374)),o=c(n(14390)),a=c(n(73349)),r=c(n(55994)),s=c(n(93786)),l=n(58201),u=n(39611),d=c(n(73176));function c(e){return e&&e.__esModule?e:{default:e}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var f=(0,l.getWindow)(),p=\"\".concat(\"dx-splitter\",\"-wrapper\"),g=\"\".concat(\"dx-splitter\",\"-inactive\"),m=\"\".concat(\"dx-splitter\",\"-border\"),_=\"\".concat(\"dx-splitter\",\"-initial\"),v=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n);var l=o.prototype;return l._init=function(){e.prototype._init.call(this);var t=(new d.default).toString();this.SPLITTER_POINTER_DOWN_EVENT_NAME=(0,u.addNamespace)(s.default.down,\"dxSplitterResizing\"+t),this.SPLITTER_POINTER_MOVE_EVENT_NAME=(0,u.addNamespace)(s.default.move,\"dxSplitterResizing\"+t),this.SPLITTER_POINTER_UP_EVENT_NAME=(0,u.addNamespace)(s.default.up,\"dxSplitterResizing\"+t)},l._initMarkup=function(){e.prototype._initMarkup.call(this),this._initActions(),this._$container=this.option(\"container\"),this._$leftElement=this.option(\"leftElement\"),this._$rightElement=this.option(\"rightElement\"),this.$element().addClass(p).addClass(_),this._$splitterBorder=(0,i.default)(\"<div>\").addClass(m).appendTo(this.$element()),this._$splitter=(0,i.default)(\"<div>\").addClass(\"dx-splitter\").addClass(g).appendTo(this._$splitterBorder)},l._initActions=function(){this._actions={onApplyPanelSize:this._createActionByOption(\"onApplyPanelSize\"),onActiveStateChanged:this._createActionByOption(\"onActiveStateChanged\")}},l._render=function(){e.prototype._render.call(this),this._detachEventHandlers(),this._attachEventHandlers()},l._clean=function(){this._detachEventHandlers(),e.prototype._clean.call(this)},l._attachEventHandlers=function(){var e=a.default.getDocument();r.default.on(this._$splitterBorder,this.SPLITTER_POINTER_DOWN_EVENT_NAME,this._onMouseDownHandler.bind(this)),r.default.on(e,this.SPLITTER_POINTER_MOVE_EVENT_NAME,this._onMouseMoveHandler.bind(this)),r.default.on(e,this.SPLITTER_POINTER_UP_EVENT_NAME,this._onMouseUpHandler.bind(this))},l._detachEventHandlers=function(){var e=a.default.getDocument();r.default.off(this._$splitterBorder,this.SPLITTER_POINTER_DOWN_EVENT_NAME),r.default.off(e,this.SPLITTER_POINTER_MOVE_EVENT_NAME),r.default.off(e,this.SPLITTER_POINTER_UP_EVENT_NAME)},l._dimensionChanged=function(e){e&&\"height\"===e||(this._containerWidth=this._$container.get(0).clientWidth,this._setSplitterPositionLeft({needUpdatePanels:!0,usePercentagePanelsWidth:!0}))},l._onMouseDownHandler=function(e){e.preventDefault(),this._offsetX=e.pageX-this._$splitterBorder.offset().left<=this._getSplitterBorderWidth()?e.pageX-this._$splitterBorder.offset().left:0,this._containerWidth=this._$container.get(0).clientWidth,this.$element().removeClass(_),this._toggleActive(!0),this._setSplitterPositionLeft({needUpdatePanels:!0})},l._onMouseMoveHandler=function(e){this._isSplitterActive&&this._setSplitterPositionLeft({splitterPositionLeft:this._getNewSplitterPositionLeft(e),needUpdatePanels:!0})},l._onMouseUpHandler=function(){this._isSplitterActive&&(this._leftPanelPercentageWidth=null,this._toggleActive(!1),this._setSplitterPositionLeft({needUpdatePanels:!0,usePercentagePanelsWidth:!0}))},l._getNewSplitterPositionLeft=function(e){var t=e.pageX-this._getContainerLeftOffset()-this._offsetX;return t=Math.max(0-this._getSplitterOffset(),t),t=Math.min(this._containerWidth-this._getSplitterOffset()-this._getSplitterWidth(),t)},l._getContainerLeftOffset=function(){var e=this._$container.offset().left;if(f){var t=f.getComputedStyle(this._$container.get(0));e+=(parseFloat(t.paddingLeft)||0)+(parseFloat(t.borderLeftWidth)||0)}return e},l._getSplitterOffset=function(){return(this._getSplitterBorderWidth()-this._getSplitterWidth())/2},l._getSplitterWidth=function(){return this._$splitter.get(0).clientWidth},l._getSplitterBorderWidth=function(){return this._$splitterBorder.get(0).clientWidth},l._getLeftPanelWidth=function(){return this._$leftElement.get(0).clientWidth},l.getSplitterBorderElement=function(){return this._$splitterBorder},l._toggleActive=function(e){this.$element().toggleClass(g,!e),this._$splitter.toggleClass(g,!e),this._isSplitterActive=e,this._actions.onActiveStateChanged({isActive:e})},l.toggleDisabled=function(e){this.$element().toggleClass(\"dx-state-disabled\",e),this._$splitter.toggleClass(\"dx-state-disabled\",e)},l.isSplitterMoved=function(){return!this.$element().hasClass(_)},l.disableSplitterCalculation=function(e){this._isSplitterCalculationDisabled=e},l._setSplitterPositionLeft=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.splitterPositionLeft,n=void 0===t?null:t,i=e.needUpdatePanels,o=void 0!==i&&i,a=e.usePercentagePanelsWidth,r=void 0!==a&&a,s=(n=n||this._getLeftPanelWidth()-this._getSplitterOffset())+this._getSplitterOffset(),l=this._containerWidth-s;this._isSplitterCalculationDisabled||this.$element().css(\"left\",n),this._leftPanelPercentageWidth=this._leftPanelPercentageWidth||this._convertToPercentage(s);var u=this._convertToPercentage(this._containerWidth-this._convertToPixels(this._leftPanelPercentageWidth));o&&this._actions.onApplyPanelSize({leftPanelWidth:r?\"\".concat(this._leftPanelPercentageWidth,\"%\"):s,rightPanelWidth:r?\"\".concat(u,\"%\"):l})},l._optionChanged=function(t){switch(t.name){case\"initialLeftPanelWidth\":this._leftPanelPercentageWidth=this._convertToPercentage(t.value),this._dimensionChanged();break;case\"leftElement\":this.repaint();break;case\"onActiveStateChanged\":case\"onApplyPanelSize\":this._actions[t.name]=this._createActionByOption(t.name);break;default:e.prototype._optionChanged.call(this,t)}},l._convertToPercentage=function(e){return e/this._$container.get(0).clientWidth*100},l._convertToPixels=function(e){return e/100*this._$container.get(0).clientWidth},o}(o.default);t.default=v,e.exports=t.default,e.exports.default=t.default},31609:function(e,t,n){t.default=void 0;var i=n(58664),o=v(n(68374)),a=v(n(55994)),r=v(n(20530)),s=n(13306),l=v(n(99393)),u=v(n(96452)),d=n(39611),c=n(91633),h=n(37518),f=v(n(87209)),p=v(n(28109)),g=n(95429),m=v(n(66894)),_=n(62754);function v(e){return e&&e.__esModule?e:{default:e}}var y=u.default.inherit({_supportedKeys:function(){var e=this.option(\"rtlEnabled\"),t=function(e){e.preventDefault(),this._clickAction({event:e})},n=function(e,t){t.preventDefault(),t.stopPropagation(),this._saveValueChangeEvent(t),this._animateValue(e)};return(0,s.extend)(this.callBase(),{space:t,enter:t,leftArrow:n.bind(this,!!e),rightArrow:n.bind(this,!e)})},_useTemplates:function(){return!1},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,switchedOnText:p.default.format(\"dxSwitch-switchedOnText\"),switchedOffText:p.default.format(\"dxSwitch-switchedOffText\"),value:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===r.default.real().deviceType&&!r.default.isSimulator()},options:{focusStateEnabled:!0}}])},_feedbackHideTimeout:0,_animating:!1,_initMarkup:function(){this._renderContainers(),this.$element().addClass(\"dx-switch\").append(this._$switchWrapper),this._renderSubmitElement(),this._renderClick(),this.setAria(\"role\",\"button\"),this._renderSwipeable(),this.callBase(),this._renderSwitchInner(),this._renderLabels(),this._renderValue()},_getInnerOffset:function(e,t){return 100*((t-this._offsetDirection()*Number(!e))/2)+\"%\"},_getHandleOffset:function(e,t){return this.option(\"rtlEnabled\")&&(e=!e),e?100*-t-100+\"%\":100*-t+\"%\"},_renderSwitchInner:function(){this._$switchInner=(0,o.default)(\"<div>\").addClass(\"dx-switch-inner\").appendTo(this._$switchContainer),this._$handle=(0,o.default)(\"<div>\").addClass(\"dx-switch-handle\").appendTo(this._$switchInner)},_renderLabels:function(){this._$labelOn=(0,o.default)(\"<div>\").addClass(\"dx-switch-on\").prependTo(this._$switchInner),this._$labelOff=(0,o.default)(\"<div>\").addClass(\"dx-switch-off\").appendTo(this._$switchInner),this._setLabelsText()},_renderContainers:function(){this._$switchContainer=(0,o.default)(\"<div>\").addClass(\"dx-switch-container\"),this._$switchWrapper=(0,o.default)(\"<div>\").addClass(\"dx-switch-wrapper\").append(this._$switchContainer)},_renderSwipeable:function(){this._createComponent(this.$element(),m.default,{elastic:!1,immediate:!0,onStart:this._swipeStartHandler.bind(this),onUpdated:this._swipeUpdateHandler.bind(this),onEnd:this._swipeEndHandler.bind(this),itemSizeFunc:this._getItemSizeFunc.bind(this)})},_getItemSizeFunc:function(){return(0,i.getOuterWidth)(this._$switchContainer,!0)-(0,h.getBoundingRect)(this._$handle.get(0)).width},_renderSubmitElement:function(){this._$submitElement=(0,o.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this.$element())},_getSubmitElement:function(){return this._$submitElement},_offsetDirection:function(){return this.option(\"rtlEnabled\")?-1:1},_renderPosition:function(e,t){var n=this._getInnerOffset(e,t),i=this._getHandleOffset(e,t);this._$switchInner.css(\"transform\",\" translateX(\"+n+\")\"),this._$handle.css(\"transform\",\" translateX(\"+i+\")\")},_validateValue:function(){var e=this.option(\"value\");\"boolean\"!=typeof e&&this._options.silent(\"value\",!!e)},_renderClick:function(){var e=(0,d.addNamespace)(g.name,this.NAME),t=this.$element();this._clickAction=this._createAction(this._clickHandler.bind(this)),a.default.off(t,e),a.default.on(t,e,function(e){this._clickAction({event:e})}.bind(this))},_clickHandler:function(e){var t=e.event;this._saveValueChangeEvent(t),this._animating||this._swiping||this._animateValue(!this.option(\"value\"))},_animateValue:function(e){var t=this.option(\"value\"),n=e;if(t!==n){this._animating=!0;var i=this._getInnerOffset(t,0),o=this._getInnerOffset(n,0),a=this._getHandleOffset(t,0),r=this._getHandleOffset(n,0),s=this,l={},u={},d={},c={};l.transform=\" translateX(\"+i+\")\",u.transform=\" translateX(\"+o+\")\",d.transform=\" translateX(\"+a+\")\",c.transform=\" translateX(\"+r+\")\",this.$element().toggleClass(\"dx-switch-on-value\",n),f.default.animate(this._$handle,{from:d,to:c,duration:100}),f.default.animate(this._$switchInner,{from:l,to:u,duration:100,complete:function(){s._animating=!1,s.option(\"value\",n)}})}},_swipeStartHandler:function(e){var t=this.option(\"value\"),n=this.option(\"rtlEnabled\"),i=n?0:1,o=n?1:0;e.event.maxLeftOffset=t?i:o,e.event.maxRightOffset=t?o:i,this._swiping=!0,this._feedbackDeferred=new _.Deferred,(0,c.lock)(this._feedbackDeferred),this._toggleActiveState(this.$element(),this.option(\"activeStateEnabled\"))},_swipeUpdateHandler:function(e){this._renderPosition(this.option(\"value\"),e.event.offset)},_swipeEndHandler:function(e){var t=this,n=this._offsetDirection(),i={},o={},a=this._getInnerOffset(t.option(\"value\"),e.event.targetOffset),r=this._getHandleOffset(t.option(\"value\"),e.event.targetOffset);i.transform=\" translateX(\"+a+\")\",o.transform=\" translateX(\"+r+\")\",f.default.animate(this._$handle,{to:o,duration:100}),f.default.animate(this._$switchInner,{to:i,duration:100,complete:function(){t._swiping=!1;var i=t.option(\"value\")+n*e.event.targetOffset;t._saveValueChangeEvent(e.event),t.option(\"value\",Boolean(i)),t._feedbackDeferred.resolve(),t._toggleActiveState(t.$element(),!1)}})},_renderValue:function(){this._validateValue();var e=this.option(\"value\");this._renderPosition(e,0),this.$element().toggleClass(\"dx-switch-on-value\",e),this._getSubmitElement().val(e),this.setAria({pressed:e,label:e?this.option(\"switchedOnText\"):this.option(\"switchedOffText\")})},_setLabelsText:function(){this._$labelOn&&this._$labelOn.text(this.option(\"switchedOnText\")),this._$labelOff&&this._$labelOff.text(this.option(\"switchedOffText\"))},_visibilityChanged:function(e){e&&this.repaint()},_optionChanged:function(e){switch(e.name){case\"width\":delete this._marginBound,this._refresh();break;case\"switchedOnText\":case\"switchedOffText\":this._setLabelsText();break;case\"value\":this._renderValue(),this.callBase(e);break;default:this.callBase(e)}}});(0,l.default)(\"dxSwitch\",y);var b=y;t.default=b,e.exports=t.default,e.exports.default=t.default},21807:function(e,t,n){t.default=void 0;var i=n(58664),o=v(n(68374)),a=n(60137),r=n(13306),s=v(n(20530)),l=v(n(73349)),u=v(n(99393)),d=v(n(86478)),c=v(n(13453)),h=v(n(31590)),f=n(44899),p=n(6415),g=n(35922),m=n(93280),_=n(58201);function v(e){return e&&e.__esModule?e:{default:e}}var y=d.default.inherit({_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{itemTitleTemplate:\"title\",hoverStateEnabled:!0,showNavButtons:!1,scrollByContent:!0,scrollingEnabled:!0,onTitleClick:null,onTitleHold:null,onTitleRendered:null,badgeExpr:function(e){return e?e.badge:void 0}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===s.default.real().deviceType&&!s.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return!a.touch},options:{swipeEnabled:!1}},{device:{platform:\"generic\"},options:{animationEnabled:!1}}])},_init:function(){this.callBase(),this.$element().addClass(\"dx-tabpanel\"),this.setAria(\"role\",\"tabpanel\")},_initMarkup:function(){this.callBase(),this._createTitleActions(),this._renderLayout()},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({title:new m.BindableTemplate((function(e,t){if((0,g.isPlainObject)(t)){var n=(0,f.getImageContainer)(t.icon);n&&e.append(n),(0,g.isDefined)(t.title)&&!(0,g.isPlainObject)(t.title)&&e.append(l.default.createTextNode(t.title))}else(0,g.isDefined)(t)&&e.text(String(t));e.wrapInner((0,o.default)(\"<span>\").addClass(\"dx-tab-text\"))}),[\"title\",\"icon\"],this.option(\"integrationOptions.watchMethod\"))})},_createTitleActions:function(){this._createTitleClickAction(),this._createTitleHoldAction(),this._createTitleRenderedAction()},_createTitleClickAction:function(){this._titleClickAction=this._createActionByOption(\"onTitleClick\")},_createTitleHoldAction:function(){this._titleHoldAction=this._createActionByOption(\"onTitleHold\")},_createTitleRenderedAction:function(){this._titleRenderedAction=this._createActionByOption(\"onTitleRendered\")},_renderContent:function(){var e=this;this.callBase(),this.option(\"templatesRenderAsynchronously\")&&(this._resizeEventTimer=setTimeout((function(){e._updateLayout()}),0))},_renderLayout:function(){if(this._tabs)this._updateLayout();else{var e=this.$element();this._$tabContainer=(0,o.default)(\"<div>\").addClass(\"dx-tabpanel-tabs\").appendTo(e);var t=(0,o.default)(\"<div>\").appendTo(this._$tabContainer);this._tabs=this._createComponent(t,c.default,this._tabConfig()),this._$container=(0,o.default)(\"<div>\").addClass(\"dx-tabpanel-container\").appendTo(e),this._$container.append(this._$wrapper),this._updateLayout()}},_updateLayout:function(){if((0,_.hasWindow)()){var e=(0,i.getOuterHeight)(this._$tabContainer);this._$container.css({marginTop:-e,paddingTop:e})}},_refreshActiveDescendant:function(){if(this._tabs){var e=this._tabs,t=e.itemElements(),n=(0,o.default)(t[e.option(\"selectedIndex\")]),i=this.getFocusedItemId();this.setAria(\"controls\",void 0,(0,o.default)(t)),this.setAria(\"controls\",i,n)}},_tabConfig:function(){return{selectOnFocus:!0,focusStateEnabled:this.option(\"focusStateEnabled\"),hoverStateEnabled:this.option(\"hoverStateEnabled\"),repaintChangesOnly:this.option(\"repaintChangesOnly\"),tabIndex:this.option(\"tabIndex\"),selectedIndex:this.option(\"selectedIndex\"),badgeExpr:this.option(\"badgeExpr\"),onItemClick:this._titleClickAction.bind(this),onItemHold:this._titleHoldAction.bind(this),itemHoldTimeout:this.option(\"itemHoldTimeout\"),onSelectionChanged:function(e){this.option(\"selectedIndex\",e.component.option(\"selectedIndex\")),this._refreshActiveDescendant()}.bind(this),onItemRendered:this._titleRenderedAction.bind(this),itemTemplate:this._getTemplateByOption(\"itemTitleTemplate\"),items:this.option(\"items\"),noDataText:null,scrollingEnabled:this.option(\"scrollingEnabled\"),scrollByContent:this.option(\"scrollByContent\"),showNavButtons:this.option(\"showNavButtons\"),itemTemplateProperty:\"tabTemplate\",loopItemFocus:this.option(\"loop\"),selectionRequired:!0,onOptionChanged:function(e){if(\"focusedElement\"===e.name)if(e.value){var t=(0,o.default)(e.value),n=this._itemElements().eq(t.index());this.option(\"focusedElement\",(0,p.getPublicElement)(n))}else this.option(\"focusedElement\",e.value)}.bind(this),onFocusIn:function(e){this._focusInHandler(e.event)}.bind(this),onFocusOut:function(e){this._isFocusOutHandlerExecuting||this._focusOutHandler(e.event)}.bind(this)}},_renderFocusTarget:function(){this._focusTarget().attr(\"tabIndex\",-1)},_toggleWrapperFocusedClass:function(e){this._toggleFocusClass(e,this._$wrapper)},_toggleDisabledFocusedClass:function(e){this._focusTarget().toggleClass(\"dx-disabled-focused-tab\",e)},_updateFocusState:function(e,t){this.callBase(e,t);var n=e.target===this._tabs._focusTarget().get(0),i=e.target===this._focusTarget().get(0);if(n&&this._toggleFocusClass(t,this._focusTarget()),n||i){var o=this._isDisabled(this.option(\"focusedElement\"));this._toggleWrapperFocusedClass(t&&!o),this._toggleDisabledFocusedClass(t&&o)}i&&this._toggleFocusClass(t,this._tabs.option(\"focusedElement\"))},_focusOutHandler:function(e){this._isFocusOutHandlerExecuting=!0,this.callBase.apply(this,arguments),this._tabs._focusOutHandler(e),this._isFocusOutHandlerExecuting=!1},_setTabsOption:function(e,t){this._tabs&&this._tabs.option(e,t)},_visibilityChanged:function(e){e&&(this._tabs._dimensionChanged(),this._updateLayout())},registerKeyHandler:function(e,t){this.callBase(e,t),this._tabs&&this._tabs.registerKeyHandler(e,t)},repaint:function(){this.callBase(),this._tabs.repaint()},_optionChanged:function(e){var t=e.name,n=e.value,i=e.fullName;switch(t){case\"dataSource\":this.callBase(e);break;case\"items\":this._setTabsOption(t,this.option(t)),this._updateLayout(),this.option(\"repaintChangesOnly\")||this._tabs.repaint(),this.callBase(e);break;case\"width\":this.callBase(e),this._tabs.repaint();break;case\"selectedIndex\":case\"selectedItem\":if(this._setTabsOption(i,n),this.callBase(e),!0===this.option(\"focusStateEnabled\")){var a=this.option(\"selectedIndex\"),r=this._itemElements().eq(a);this.option(\"focusedElement\",(0,p.getPublicElement)(r))}break;case\"itemHoldTimeout\":case\"focusStateEnabled\":case\"hoverStateEnabled\":this._setTabsOption(i,n),this.callBase(e);break;case\"scrollingEnabled\":case\"scrollByContent\":case\"showNavButtons\":this._setTabsOption(i,n);break;case\"focusedElement\":var s=n?(0,o.default)(n).index():n,l=n?this._tabs._itemElements().eq(s):n;this._setTabsOption(\"focusedElement\",(0,p.getPublicElement)(l));var u=this._isDisabled(n);this._toggleWrapperFocusedClass(!u),this._toggleDisabledFocusedClass(u),this.callBase(e);break;case\"itemTitleTemplate\":this._setTabsOption(\"itemTemplate\",this._getTemplateByOption(\"itemTitleTemplate\"));break;case\"onTitleClick\":this._createTitleClickAction(),this._setTabsOption(\"onItemClick\",this._titleClickAction.bind(this));break;case\"onTitleHold\":this._createTitleHoldAction(),this._setTabsOption(\"onItemHold\",this._titleHoldAction.bind(this));break;case\"onTitleRendered\":this._createTitleRenderedAction(),this._setTabsOption(\"onItemRendered\",this._titleRenderedAction.bind(this));break;case\"loop\":this._setTabsOption(\"loopItemFocus\",n);break;case\"badgeExpr\":this._invalidate();break;default:this.callBase(e)}},_clean:function(){clearTimeout(this._resizeEventTimer),this.callBase()}});y.ItemClass=h.default,(0,u.default)(\"dxTabPanel\",y);var b=y;t.default=b,e.exports=t.default,e.exports.default=t.default},31590:function(e,t,n){t.default=void 0;var i,o=(i=n(54778))&&i.__esModule?i:{default:i},a=n(20576);function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var s=function(e){var t,n;function i(){return e.apply(this,arguments)||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype._renderWatchers=function(){return this._startWatcher(\"badge\",a.noop),e.prototype._renderWatchers.call(this)},i}(o.default);t.default=s,e.exports=t.default,e.exports.default=t.default},13453:function(e,t,n){t.default=void 0;var i=n(58664),o=D(n(68374)),a=D(n(55994)),r=D(n(20530)),s=D(n(99393)),l=D(n(63008)),u=n(72672),d=n(39611),c=n(13306),h=n(35922),f=D(n(93786)),p=n(95479),g=D(n(25411)),m=n(98897),_=n(75811),v=D(n(11699)),y=D(n(41183)),b=D(n(69010)),x=n(44899),w=n(93280),C=n(62754),S=n(70602),k=n(92721);function D(e){return e&&e.__esModule?e:{default:e}}var I=b.default.inherit({_activeStateUnit:\".dx-tab\",_getDefaultOptions:function(){return(0,c.extend)(this.callBase(),{hoverStateEnabled:!0,showNavButtons:!0,scrollByContent:!0,scrollingEnabled:!0,selectionMode:\"single\",activeStateEnabled:!0,selectionRequired:!1,selectOnFocus:!0,loopItemFocus:!1,useInkRipple:!1,badgeExpr:function(e){return e?e.badge:void 0},_itemAttributes:{role:\"tab\"}})},_defaultOptionsRules:function(){var e=(0,_.current)();return this.callBase().concat([{device:function(){return\"desktop\"!==r.default.real().deviceType},options:{showNavButtons:!1}},{device:{deviceType:\"desktop\"},options:{scrollByContent:!1}},{device:function(){return\"desktop\"===r.default.real().deviceType&&!r.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,_.isMaterial)(e)},options:{useInkRipple:!0,selectOnFocus:!1}}])},_init:function(){this.callBase(),this.setAria(\"role\",\"tablist\"),this.$element().addClass(\"dx-tabs\"),this._renderWrapper(),this._renderMultiple(),this._feedbackHideTimeout=100},_initTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({item:new w.BindableTemplate(function(e,t){(0,h.isPlainObject)(t)?this._prepareDefaultItemTemplate(t,e):e.text(String(t));var n=(0,x.getImageContainer)(t.icon);n&&n.prependTo(e),e.wrapInner((0,o.default)(\"<span>\").addClass(\"dx-tab-text\"))}.bind(this),[\"text\",\"html\",\"icon\"],this.option(\"integrationOptions.watchMethod\"))})},_createItemByTemplate:function(e,t){var n=this,i=t.itemData,o=t.container,a=t.index;return this._deferredTemplates[a]=new C.Deferred,e.render({model:i,container:o,index:a,onRendered:function(){return n._deferredTemplates[a].resolve()}})},_itemClass:function(){return\"dx-tab\"},_selectedItemClass:function(){return\"dx-tab-selected\"},_itemDataKey:function(){return\"dxTabData\"},_initMarkup:function(){this._deferredTemplates=[],this.callBase(),this.option(\"useInkRipple\")&&this._renderInkRipple(),this.$element().addClass(\"dx-overflow-hidden\")},_render:function(){this.callBase(),this._deferRenderScrolling()},_deferRenderScrolling:function(){var e=this;C.when.apply(this,this._deferredTemplates).done((function(){return e._renderScrolling()}))},_renderScrolling:function(){var e=[\"dx-tabs-stretched\",m.TABS_EXPANDED_CLASS,\"dx-overflow-hidden\"];if(this.$element().removeClass(e.join(\" \")),this.option(\"scrollingEnabled\")&&this._isItemsWidthExceeded()){this._scrollable||(this._renderScrollable(),this._renderNavButtons());var t=this.getScrollable();if(t.update(),this.option(\"rtlEnabled\")){var n=(0,k.getScrollLeftMax)((0,o.default)(this.getScrollable().container()).get(0));t.scrollTo({left:n})}this._updateNavButtonsVisibility(),this._scrollToItem(this.option(\"selectedItem\"))}this.option(\"scrollingEnabled\")&&this._isItemsWidthExceeded()||(this._cleanScrolling(),this._needStretchItems()&&!this._isItemsWidthExceeded()&&this.$element().addClass(\"dx-tabs-stretched\"),this.$element().removeClass(\"dx-tabs-nav-buttons\").addClass(m.TABS_EXPANDED_CLASS))},_isItemsWidthExceeded:function(){return this._getSummaryItemsWidth(this._getVisibleItems(),!0)-1>(0,i.getWidth)(this.$element())},_needStretchItems:function(){var e=this._getVisibleItems(),t=(0,i.getWidth)(this.$element()),n=[];return(0,p.each)(e,(function(e,t){n.push((0,i.getOuterWidth)(t,!0))})),Math.max.apply(null,n)>=t/e.length},_cleanNavButtons:function(){this._leftButton&&this._rightButton&&(this._leftButton.$element().remove(),this._rightButton.$element().remove(),this._leftButton=null,this._rightButton=null)},_cleanScrolling:function(){this._scrollable&&(this._$wrapper.appendTo(this.$element()),this._scrollable.$element().remove(),this._scrollable=null,this._cleanNavButtons())},_renderInkRipple:function(){this._inkRipple=(0,u.render)()},_getPointerEvent:function(){return f.default.up},_toggleActiveState:function(e,t,n){if(this.callBase.apply(this,arguments),this._inkRipple){var i={element:e,event:n};t?this._inkRipple.showWave(i):this._inkRipple.hideWave(i)}},_renderMultiple:function(){\"multiple\"===this.option(\"selectionMode\")&&this.option(\"selectOnFocus\",!1)},_renderWrapper:function(){this._$wrapper=(0,o.default)(\"<div>\").addClass(\"dx-tabs-wrapper\"),this.$element().append(this._$wrapper)},_itemContainer:function(){return this._$wrapper},_renderScrollable:function(){var e=this,t=this.$element().wrapInner((0,o.default)(\"<div>\").addClass(\"dx-tabs-scrollable\")).children();this._scrollable=this._createComponent(t,y.default,{direction:\"horizontal\",showScrollbar:\"never\",useKeyboard:!1,useNative:!1,scrollByContent:this.option(\"scrollByContent\"),onScroll:function(){e._updateNavButtonsVisibility()}}),this.$element().append(this._scrollable.$element())},_scrollToItem:function(e){if(this._scrollable){var t=this._editStrategy.getItemElement(e);this._scrollable.scrollToElement(t)}},_renderNavButtons:function(){if(this.$element().toggleClass(\"dx-tabs-nav-buttons\",this.option(\"showNavButtons\")),this.option(\"showNavButtons\")){var e=this.option(\"rtlEnabled\");this._leftButton=this._createNavButton(-30,e?\"chevronnext\":\"chevronprev\");var t=this._leftButton.$element();t.addClass(\"dx-tabs-nav-button-left\"),this.$element().prepend(t),this._rightButton=this._createNavButton(30,e?\"chevronprev\":\"chevronnext\");var n=this._rightButton.$element();n.addClass(\"dx-tabs-nav-button-right\"),this.$element().append(n)}},_updateNavButtonsVisibility:function(){var e=this.getScrollable();this._leftButton&&this._leftButton.option(\"disabled\",(0,S.isReachedLeft)(e.scrollLeft(),1)),this._rightButton&&this._rightButton.option(\"disabled\",(0,S.isReachedRight)((0,o.default)(e.container()).get(0),e.scrollLeft(),1))},_updateScrollPosition:function(e,t){this._scrollable.update(),this._scrollable.scrollBy(e/t)},_createNavButton:function(e,t){var n=this,i=n._createAction((function(){n._holdInterval=setInterval((function(){n._updateScrollPosition(e,5)}),5)})),r=(0,d.addNamespace)(v.default.name,\"dxNavButton\"),s=(0,d.addNamespace)(f.default.up,\"dxNavButton\"),u=(0,d.addNamespace)(f.default.out,\"dxNavButton\"),c=this._createComponent((0,o.default)(\"<div>\").addClass(\"dx-tabs-nav-button\"),l.default,{focusStateEnabled:!1,icon:t,onClick:function(){n._updateScrollPosition(e,1)},integrationOptions:{}}),h=c.$element();return a.default.on(h,r,{timeout:300},function(e){i({event:e})}.bind(this)),a.default.on(h,s,(function(){n._clearInterval()})),a.default.on(h,u,(function(){n._clearInterval()})),c},_clearInterval:function(){this._holdInterval&&clearInterval(this._holdInterval)},_updateSelection:function(e){this._scrollable&&this._scrollable.scrollToElement(this.itemElements().eq(e[0]),{left:1,right:1})},_visibilityChanged:function(e){e&&this._dimensionChanged()},_dimensionChanged:function(){this._renderScrolling()},_itemSelectHandler:function(e){\"single\"===this.option(\"selectionMode\")&&this.isItemSelected(e.currentTarget)||this.callBase(e)},_clean:function(){this._deferredTemplates=[],this._cleanScrolling(),this.callBase()},_toggleFocusedNextClass:function(e,t){this._itemElements().eq(e).toggleClass(\"dx-focused-next-tab\",t)},_optionChanged:function(e){switch(e.name){case\"useInkRipple\":case\"scrollingEnabled\":case\"showNavButtons\":this._invalidate();break;case\"scrollByContent\":this._scrollable&&this._scrollable.option(e.name,e.value);break;case\"width\":this.callBase(e),this._dimensionChanged();break;case\"selectionMode\":this._renderMultiple(),this.callBase(e);break;case\"badgeExpr\":this._invalidate();break;case\"focusedElement\":var t=this.option().selectedIndex,n=(0,o.default)(e.value).index();n!==t&&this._toggleFocusedNextClass(t,n===t+1),this.callBase(e),this._scrollToItem(e.value);break;default:this.callBase(e)}},_afterItemElementInserted:function(){this.callBase(),this._deferRenderScrolling()},_afterItemElementDeleted:function(e,t){this.callBase(e,t),this._renderScrolling()},getScrollable:function(){return this._scrollable}});I.ItemClass=g.default,(0,s.default)(\"dxTabs\",I);var T=I;t.default=T,e.exports=t.default,e.exports.default=t.default},98897:function(e,t){t.TABS_EXPANDED_CLASS=void 0;t.TABS_EXPANDED_CLASS=\"dx-tabs-expanded\"},25411:function(e,t,n){t.default=void 0;var i=a(n(68374)),o=a(n(54778));function a(e){return e&&e.__esModule?e:{default:e}}var r=o.default.inherit({_renderWatchers:function(){this.callBase(),this._startWatcher(\"badge\",this._renderBadge.bind(this))},_renderBadge:function(e){if(this._$element.children(\".dx-badge\").remove(),e){var t=(0,i.default)(\"<div>\").addClass(\"dx-tabs-item-badge\").addClass(\"dx-badge\").text(e);this._$element.append(t)}}});t.default=r,e.exports=t.default,e.exports.default=t.default},31362:function(e,t,n){t.default=void 0;var i=n(58664),o=E(n(68374)),a=E(n(20530)),r=n(97906),s=E(n(55994)),l=E(n(99393)),u=n(20576),d=n(49601),c=n(62754),h=n(3532),f=n(6415),p=n(35922),g=n(58201),m=n(13306),_=n(95479),v=n(89386),y=E(n(28109)),b=n(39611),x=n(95429),w=E(n(21516)),C=n(9234),S=E(n(73176)),k=E(n(78665)),D=n(93280),I=n(51203),T=E(n(96688));function E(e){return e&&e.__esModule?e:{default:e}}function O(e){return(O=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var A=k.default.inherit({_supportedKeys:function(){var e=this,t=this.callBase(),n=function(t){return e._list._keyboardHandler(t)},i=this.option(\"rtlEnabled\");return(0,m.extend)({},t,{backspace:function(e){if(this._isCaretAtTheStart()){this._processKeyboardEvent(e),this._isTagRemoved=!0;var t=this._$focusedTag||this._tagElements().last();this._$focusedTag&&this._moveTagFocus(\"prev\",!0),0!==t.length&&(this._preserveFocusedTag=!0,this._removeTagElement(t),delete this._preserveFocusedTag)}},upArrow:function(i,o){return i.altKey||!e._list?t.upArrow.call(e,i):n(o)},downArrow:function(i,o){return i.altKey||!e._list?t.downArrow.call(e,i):n(o)},del:function(e){if(this._$focusedTag&&this._isCaretAtTheStart()){this._processKeyboardEvent(e),this._isTagRemoved=!0;var t=this._$focusedTag;this._moveTagFocus(\"next\",!0),this._preserveFocusedTag=!0,this._removeTagElement(t),delete this._preserveFocusedTag}},enter:function(e,t){var i=this._list&&null!==this._list.option(\"focusedElement\");if(this.option(\"acceptCustomValue\")&&!i)return e.preventDefault(),void(\"\"!==this._searchValue()&&this._customItemAddedHandler(e));this.option(\"opened\")&&(this._saveValueChangeEvent(e),n(t),e.preventDefault())},space:function(e,t){var i=this.option(\"opened\"),o=this._shouldRenderSearchEvent();i&&!o&&(this._saveValueChangeEvent(e),n(t),e.preventDefault())},leftArrow:function(e){if(!(!this._isCaretAtTheStart()||this._isEmpty()||this._isEditable()&&i&&!this._$focusedTag)){e.preventDefault();var t=i?\"next\":\"prev\";this._moveTagFocus(t),!this.option(\"multiline\")&&this._scrollContainer(t)}},rightArrow:function(e){if(this._isCaretAtTheStart()&&!this._isEmpty()&&(!this._isEditable()||i||this._$focusedTag)){e.preventDefault();var t=i?\"prev\":\"next\";this._moveTagFocus(t),!this.option(\"multiline\")&&this._scrollContainer(t)}}})},_processKeyboardEvent:function(e){e.preventDefault(),e.stopPropagation(),this._saveValueChangeEvent(e)},_isEmpty:function(){return 0===this._getValue().length},_updateTagsContainer:function(e){this._$tagsContainer=e.addClass(\"dx-tag-container\")},_allowSelectItemByTab:function(){return!1},_isCaretAtTheStart:function(){var e=(0,w.default)(this._input());return 0===e.start&&0===e.end},_updateInputAriaActiveDescendant:function(e){this.setAria(\"activedescendant\",e,this._input())},_moveTagFocus:function(e,t){if(!this._$focusedTag){var n=this._tagElements();return this._$focusedTag=\"next\"===e?n.first():n.last(),this._toggleFocusClass(!0,this._$focusedTag),void this._updateInputAriaActiveDescendant(this._$focusedTag.attr(\"id\"))}var i=this._$focusedTag[e](\".\".concat(\"dx-tag\"));i.length>0?(this._replaceFocusedTag(i),this._updateInputAriaActiveDescendant(i.attr(\"id\"))):(t||\"next\"===e&&this._isEditable())&&(this._clearTagFocus(),this._updateInputAriaActiveDescendant())},_replaceFocusedTag:function(e){this._toggleFocusClass(!1,this._$focusedTag),this._$focusedTag=e,this._toggleFocusClass(!0,this._$focusedTag)},_clearTagFocus:function(){this._$focusedTag&&(this._toggleFocusClass(!1,this._$focusedTag),this._updateInputAriaActiveDescendant(),delete this._$focusedTag)},_focusClassTarget:function(e){return e&&e.length&&e[0]!==this._focusTarget()[0]?e:this.callBase()},_getLabelContainer:function(){return this._$tagsContainer},_getFieldElement:function(){return this._input()},_scrollContainer:function(e){if(!this.option(\"multiline\")&&(0,g.hasWindow)()&&this._$tagsContainer){var t=this._getScrollPosition(e);this._$tagsContainer.scrollLeft(t)}},_getScrollPosition:function(e){return\"start\"===e||\"end\"===e?this._getBorderPosition(e):this._$focusedTag?this._getFocusedTagPosition(e):this._getBorderPosition(\"end\")},_getBorderPosition:function(e){var t=this.option(\"rtlEnabled\");return\"end\"===e^t^!t?0:(t?-1:1)*(this._$tagsContainer.get(0).scrollWidth-(0,i.getOuterWidth)(this._$tagsContainer))},_getFocusedTagPosition:function(e){var t=\"next\"===e^this.option(\"rtlEnabled\"),n=this._$focusedTag.position().left,o=this._$tagsContainer.scrollLeft();return t&&(n+=(0,i.getOuterWidth)(this._$focusedTag,!0)-(0,i.getOuterWidth)(this._$tagsContainer)),t^n<0&&(o+=n),o},_setNextValue:u.noop,_getDefaultOptions:function(){return(0,m.extend)(this.callBase(),{value:[],showDropDownButton:!1,maxFilterQueryLength:1500,tagTemplate:\"tag\",selectAllText:y.default.format(\"dxList-selectAll\"),hideSelectedItems:!1,selectedItems:[],selectAllMode:\"page\",onSelectAllValueChanged:null,maxDisplayedTags:void 0,showMultiTagOnly:!0,onMultiTagPreparing:null,multiline:!0,useSubmitBehavior:!0})},_init:function(){this.callBase(),this._selectedItems=[],this._initSelectAllValueChangedAction()},_initActions:function(){this.callBase(),this._initMultiTagPreparingAction()},_initMultiTagPreparingAction:function(){this._multiTagPreparingAction=this._createActionByOption(\"onMultiTagPreparing\",{beforeExecute:function(e){this._multiTagPreparingHandler(e.args[0])}.bind(this),excludeValidators:[\"disabled\",\"readOnly\"]})},_multiTagPreparingHandler:function(e){var t=this._getValue().length;this.option(\"showMultiTagOnly\")?e.text=y.default.getFormatter(\"dxTagBox-selected\")(t):e.text=y.default.getFormatter(\"dxTagBox-moreSelected\")(t-this.option(\"maxDisplayedTags\")+1)},_initDynamicTemplates:function(){this.callBase(),this._templateManager.addDefaultTemplates({tag:new D.BindableTemplate((function(e,t){var n,i=(0,o.default)(\"<div>\").addClass(\"dx-tag-content\");(0,o.default)(\"<span>\").text(null!==(n=t.text)&&void 0!==n?n:t).appendTo(i),(0,o.default)(\"<div>\").addClass(\"dx-tag-remove-button\").appendTo(i),e.append(i)}),[\"text\"],this.option(\"integrationOptions.watchMethod\"),{text:this._displayGetter})})},_toggleSubmitElement:function(e){e?(this._renderSubmitElement(),this._setSubmitValue()):(this._$submitElement&&this._$submitElement.remove(),delete this._$submitElement)},_renderSubmitElement:function(){if(this.option(\"useSubmitBehavior\")){this._$submitElement=(0,o.default)(\"<select>\").attr({multiple:\"multiple\",\"aria-label\":\"Selected items\"}).css(\"display\",\"none\").appendTo(this.$element())}},_setSubmitValue:function(){if(this.option(\"useSubmitBehavior\")){for(var e=this._getValue(),t=[],n=0,i=e.length;n<i;n++){var a=this._shouldUseDisplayValue(e[n]);t.push((0,o.default)(\"<option>\").val(a?this._displayGetter(e[n]):e[n]).attr(\"selected\",\"selected\"))}this._getSubmitElement().empty().append(t)}},_initMarkup:function(){this._tagElementsCache=(0,o.default)();var e=!this.option(\"multiline\");this.$element().addClass(\"dx-tagbox\").toggleClass(\"dx-tagbox-only-select\",!(this.option(\"searchEnabled\")||this.option(\"acceptCustomValue\"))).toggleClass(\"dx-tagbox-single-line\",e);this.setAria({role:\"group\",roledescription:\"tagbox\"},this.$element()),this._initTagTemplate(),this.callBase()},_getNewLabelId:function(e,t,n){if(!e)return t;if(n){if(e===t)return;return e.split(\" \").filter((function(e){return e!==t})).join(\" \")}return\"\".concat(e,\" \").concat(t)},_updateElementAria:function(e,t){if(!e)this.setAria(\"labelledby\",void 0,this.$element());else{var n=this.$element().attr(\"aria-labelledby\"),i=this._getNewLabelId(n,e,t);this.setAria(\"labelledby\",i,this.$element())}},_render:function(){this.callBase(),this._renderTagRemoveAction(),this._renderSingleLineScroll(),this._scrollContainer(\"start\")},_initTagTemplate:function(){this._tagTemplate=this._getTemplateByOption(\"tagTemplate\")},_renderField:function(){var e=!(0,p.isDefined)(this.option(\"fieldTemplate\"));this.$element().toggleClass(\"dx-tagbox-default-template\",e).toggleClass(\"dx-tagbox-custom-template\",!e),this.callBase()},_renderTagRemoveAction:function(){var e=this._createAction(this._removeTagHandler.bind(this)),t=(0,b.addNamespace)(x.name,\"dxTagBoxTagRemove\");s.default.off(this._$tagsContainer,t),s.default.on(this._$tagsContainer,t,\".\".concat(\"dx-tag-remove-button\"),(function(t){e({event:t})}))},_renderSingleLineScroll:function(){var e=(0,b.addNamespace)(\"dxmousewheel\",this.NAME),t=this.$element(),n=this.option(\"multiline\");s.default.off(t,e),\"desktop\"===a.default.real().deviceType?n||s.default.on(t,e,this._tagContainerMouseWheelHandler.bind(this)):this._$tagsContainer&&this._$tagsContainer.css(\"overflowX\",n?\"\":\"auto\")},_tagContainerMouseWheelHandler:function(e){var t=this._$tagsContainer.scrollLeft(),n=-.3*e.delta;if(!(0,b.isCommandKeyPressed)(e)&&(0,I.allowScroll)(this._$tagsContainer,n,!0))return this._$tagsContainer.scrollLeft(t+n),!1},_renderEvents:function(){var e=this;this.callBase();var t=this._input(),n=(0,b.addNamespace)(\"keydown\",this.NAME);s.default.on(t,n,(function(t){var n=(0,b.normalizeKeyName)(t);!e._isControlKey(n)&&e._isEditable()&&e._clearTagFocus()}))},_popupWrapperClass:function(){return this.callBase()+\" dx-tagbox-popup-wrapper\"},_renderInput:function(){this.callBase(),this._renderPreventBlurOnInputClick()},_renderPreventBlurOnInputClick:function(){var e=this,t=(0,b.addNamespace)(\"mousedown\",\"dxTagBox\");s.default.off(this._inputWrapper(),t),s.default.on(this._inputWrapper(),t,(function(t){t.target!==e._input()[0]&&e._isFocused()&&t.preventDefault()}))},_renderInputValueImpl:function(){return this._renderMultiSelect()},_loadInputValue:function(){return(0,c.when)()},_clearTextValue:function(){this._input().val(\"\"),this._toggleEmptinessEventHandler(),this.option(\"text\",\"\")},_focusInHandler:function(e){this._preventNestedFocusEvent(e)||this._scrollContainer(\"end\"),this.callBase(e)},_renderInputValue:function(){return this.option(\"displayValue\",this._searchValue()),this.callBase()},_restoreInputText:function(e){e||this._clearTextValue()},_focusOutHandler:function(e){this._preventNestedFocusEvent(e)||(this._clearTagFocus(),this._scrollContainer(\"start\")),this.callBase(e)},_getFirstPopupElement:function(){return this.option(\"showSelectionControls\")?this._list._focusTarget():this.callBase()},_initSelectAllValueChangedAction:function(){this._selectAllValueChangeAction=this._createActionByOption(\"onSelectAllValueChanged\")},_renderList:function(){var e=this;this.callBase(),this._setListDataSourceFilter(),this.option(\"showSelectionControls\")&&(this._list.registerKeyHandler(\"tab\",(function(t){return e._popupElementTabHandler(t)})),this._list.registerKeyHandler(\"escape\",(function(t){return e._popupElementEscHandler(t)})))},_canListHaveFocus:function(){return\"useButtons\"===this.option(\"applyValueMode\")},_listConfig:function(){var e=this,t=this.option(\"showSelectionControls\")?\"all\":\"multiple\";return(0,m.extend)(this.callBase(),{selectionMode:t,selectAllText:this.option(\"selectAllText\"),onSelectAllValueChanged:function(t){var n=t.value;e._selectAllValueChangeAction({value:n})},selectAllMode:this.option(\"selectAllMode\"),selectedItems:this._selectedItems,onFocusedItemChanged:null})},_renderMultiSelect:function(){var e=this,t=new c.Deferred;return this._updateTagsContainer(this._$textEditorInputContainer),this._renderInputSize(),this._renderTags().done((function(){e._popup&&e._popup.refreshPosition(),t.resolve()})).fail(t.reject),t.promise()},_listItemClickHandler:function(e){!this.option(\"showSelectionControls\")&&this._clearTextValue(),\"useButtons\"!==this.option(\"applyValueMode\")&&(this.callBase(e),this._saveValueChangeEvent(void 0))},_shouldClearFilter:function(){var e=this.callBase();return!this.option(\"showSelectionControls\")&&e},_renderInputSize:function(){var e=this._input(),t=e.val(),n=(0,p.isString)(t)&&t,o=\"\",a=\"\",r=this.option(\"searchEnabled\")||this.option(\"acceptCustomValue\");if(n&&r){var s=(0,h.createTextElementHiddenCopy)(e,t,{includePaddings:!0});s.insertAfter(e),o=(0,i.getOuterWidth)(s)+5,s.remove()}else t||(a=1);e.css(\"width\",o),e.attr(\"size\",a)},_renderInputSubstitution:function(){this.callBase(),this._updateWidgetHeight()},_getValue:function(){return this.option(\"value\")||[]},_multiTagRequired:function(){var e=this._getValue(),t=this.option(\"maxDisplayedTags\");return(0,p.isDefined)(t)&&e.length>t},_renderMultiTag:function(e){var t=(0,o.default)(\"<div>\").addClass(\"dx-tag\").addClass(\"dx-tagbox-multi-tag\"),n={multiTagElement:(0,f.getPublicElement)(t),selectedItems:this.option(\"selectedItems\")};return this._multiTagPreparingAction(n),!n.cancel&&(t.data(\"dxTagData\",n.text),t.insertBefore(e),this._tagTemplate.render({model:n.text,container:(0,f.getPublicElement)(t)}),t)},_getFilter:function(e){var t=this._dataController.filter(),n=e.getCombinedFilter(this.option(\"valueExpr\"),t),i=encodeURI(JSON.stringify(n)).length,o=this.option(\"maxFilterQueryLength\");if(i<=o)return n;T.default.log(\"W1019\",o)},_getFilteredItems:function(e){var t,n,i=this;null===(t=this._loadFilteredItemsPromise)||void 0===t||t.reject();var o=new d.SelectionFilterCreator(e),a=null===(n=this._list)||void 0===n?void 0:n.option(\"selectedItems\"),r=!!a&&this._list._dataController.isLoaded(),s=a||this.option(\"selectedItems\"),l=o.getLocalFilter(this._valueGetter),u=s.filter(l),h=u.length===e.length,f=new c.Deferred,p=this._dataController;if(this._isDataSourceChanged&&!r||!h){var g=p.loadOptions(),m=g.customQueryParams,_=g.expand,v=g.select,y=this._getFilter(o);return p.loadFromStore({filter:y,customQueryParams:m,expand:_,select:v}).done((function(e,t){if(i._isDataSourceChanged=!1,i._disposed)f.reject();else{var n=(0,C.normalizeLoadResult)(e,t).data,o=p.applyMapFunction(n);f.resolve(o.filter(l))}})).fail(f.reject),this._loadFilteredItemsPromise=f,f.promise()}return f.resolve(u).promise()},_createTagsData:function(e,t){var n=this,i=[],o={},a=\"this\"===this._valueGetterExpr(),r={};t.forEach((function(e){var t=a?JSON.stringify(e):n._valueGetter(e);r[t]=e}));var s=[];e.forEach((function(e,t){var l=r[a?JSON.stringify(e):e];if(a&&!(0,p.isDefined)(l))s.push(n._loadItem(e,o).always((function(o){var a=n._createTagData(i,o,e,t);i.splice(t,0,a)})));else{var u=n._createTagData(i,l,e,t);i.splice(t,0,u)}}));var l=new c.Deferred;return c.when.apply(this,s).always((function(){l.resolve(i)})),l.promise()},_createTagData:function(e,t,n,i){if((0,p.isDefined)(t))return this._selectedItems.push(t),t;var o=this.option(\"selectedItem\");return this._valueGetter(o)===n?o:n},_isGroupedData:function(){return this.option(\"grouped\")&&!this._dataController.group()},_getItemsByValues:function(e){var t=[];return e.forEach(function(e){var n=this._getItemFromPlain(e);(0,p.isDefined)(n)&&t.push(n)}.bind(this)),t},_getFilteredGroupedItems:function(e){var t=this,n=new c.Deferred;return this._filteredGroupedItemsLoadPromise&&this._dataController.cancel(this._filteredGroupedItemsLoadPromise.operationId),this._dataController.items().length?n.resolve(this._getItemsByValues(e)):this._filteredGroupedItemsLoadPromise=this._dataController.load().done((function(){n.resolve(t._getItemsByValues(e))})).fail((function(){n.resolve([])})).always((function(){t._filteredGroupedItemsLoadPromise=void 0})),n.promise()},_loadTagsData:function(){var e=this,t=this._getValue(),n=new c.Deferred;return this._selectedItems=[],(this._isGroupedData()?this._getFilteredGroupedItems(t):this._getFilteredItems(t)).done((function(i){e._createTagsData(t,i).always((function(e){n.resolve(e)}))})).fail(n.reject.bind(this)),n.promise()},_renderTags:function(){var e=this,t=new c.Deferred,n=!1;return this._shouldGetItemsFromPlain(this._valuesToUpdate)&&(this._selectedItems=this._getItemsFromPlain(this._valuesToUpdate),this._selectedItems.length===this._valuesToUpdate.length&&(this._renderTagsImpl(this._selectedItems),n=!0,t.resolve())),n||this._loadTagsData().done((function(n){e._disposed?t.reject():(e._renderTagsImpl(n),t.resolve())})).fail(t.reject),t.promise()},_renderTagsImpl:function(e){this._renderTagsCore(e),this._renderEmptyState(),this._preserveFocusedTag||this._clearTagFocus()},_shouldGetItemsFromPlain:function(e){return e&&this._dataController.isLoaded()&&e.length<=this._getPlainItems().length},_getItemsFromPlain:function(e){var t=this._getSelectedItemsFromList(e);if(0===t.length&&e.length>0||t.length<e.length){var n=this._getPlainItems();t=this._filterSelectedItems(n,e)}return t},_getSelectedItemsFromList:function(e){var t,n=null===(t=this._list)||void 0===t?void 0:t.option(\"selectedItems\"),i=[];return e.length===(null==n?void 0:n.length)&&(i=this._filterSelectedItems(n,e)),i},_filterSelectedItems:function(e,t){var n=this;return e.filter((function(e){for(var i,o=0;o<t.length;o++)if(i=t[o],(0,p.isObject)(i)){if(n._isValueEquals(e,i))return!0}else if(n._isValueEquals(n._valueGetter(e),i))return!0;return!1}),this)},_integrateInput:function(){this._isInputReady.resolve(),this.callBase();var e=this.$element().find(\".\".concat(\"dx-texteditor-input-container\"));this._updateTagsContainer(e),this._renderTagRemoveAction()},_renderTagsCore:function(e){var t,n=this;null===(t=this._isInputReady)||void 0===t||t.reject(),this._isInputReady=new c.Deferred,this._renderField(),this.option(\"selectedItems\",this._selectedItems.slice()),this._cleanTags(),this._input().length>0&&this._isInputReady.resolve(),(0,c.when)(this._isInputReady).done((function(){n._renderTagsElements(e)}))},_renderTagsElements:function(e){var t=this,n=this._multiTagRequired()&&this._renderMultiTag(this._input()),i=this.option(\"showMultiTagOnly\"),o=this.option(\"maxDisplayedTags\");e.forEach((function(e,a){if(n&&i||n&&!i&&a-o>=-1)return!1;t._renderTag(e,n||t._input())})),this._isFocused()&&this._scrollContainer(\"end\"),this._refreshTagElements()},_cleanTags:function(){if(this._multiTagRequired())this._tagElements().remove();else{var e=this._tagElements(),t=this._getValue();(0,_.each)(e,(function(e,n){var i=(0,o.default)(n),a=i.data(\"dxTagData\");null!=t&&t.includes(a)||i.remove()}))}this._updateElementAria()},_renderEmptyState:function(){var e=!(this._getValue().length||this._selectedItems.length||this._searchValue());this._toggleEmptiness(e),this._renderDisplayText()},_renderDisplayText:function(){this._renderInputSize()},_refreshTagElements:function(){this._tagElementsCache=this.$element().find(\".\".concat(\"dx-tag\"))},_tagElements:function(){return this._tagElementsCache},_applyTagTemplate:function(e,t){this._tagTemplate.render({model:e,container:(0,f.getPublicElement)(t)})},_renderTag:function(e,t){var n=this._valueGetter(e);if((0,p.isDefined)(n)){var i=this._getTag(n),o=this._displayGetter(e),a=this._getItemModel(e,o);if(i)(0,p.isDefined)(o)&&(i.empty(),this._applyTagTemplate(a,i)),i.removeClass(\"dx-tag-custom\"),this._updateElementAria(i.attr(\"id\"));else{var r=\"dx-\".concat(new S.default);i=this._createTag(n,t,r),(0,p.isDefined)(e)?this._applyTagTemplate(a,i):(i.addClass(\"dx-tag-custom\"),this._applyTagTemplate(n,i)),this._updateElementAria(r)}}},_getItemModel:function(e,t){return(0,p.isObject)(e)&&(0,p.isDefined)(t)?e:(0,u.ensureDefined)(t,\"\")},_getTag:function(e){for(var t=this._tagElements(),n=t.length,i=!1,a=0;a<n;a++){var s=t[a],l=(0,r.data)(s,\"dxTagData\");if(e===l||(0,u.equalByValue)(e,l)){i=(0,o.default)(s);break}}return i},_createTag:function(e,t,n){return(0,o.default)(\"<div>\").attr(\"id\",n).addClass(\"dx-tag\").data(\"dxTagData\",e).insertBefore(t)},_toggleEmptinessEventHandler:function(){this._toggleEmptiness(!this._getValue().length&&!this._searchValue().length)},_customItemAddedHandler:function(e){this.callBase(e),this._clearTextValue()},_removeTagHandler:function(e){var t=e.event;t.stopPropagation(),this._saveValueChangeEvent(t);var n=(0,o.default)(t.target).closest(\".\".concat(\"dx-tag\"));this._removeTagElement(n)},_removeTagElement:function(e){if(e.hasClass(\"dx-tagbox-multi-tag\"))this.option(\"showMultiTagOnly\")?this.reset():this.option(\"value\",this._getValue().slice(0,this.option(\"maxDisplayedTags\")));else{var t=e.data(\"dxTagData\"),n=e.attr(\"id\");this._removeTagWithUpdate(t),this._updateElementAria(n,!0),this._refreshTagElements()}},_updateField:u.noop,_removeTagWithUpdate:function(e){var t=this._getValue().slice();this._removeTag(t,e),this.option(\"value\",t),0===t.length&&this._clearTagFocus()},_getCurrentValue:function(){return this._lastValue()},_selectionChangeHandler:function(e){var t=this;if(\"useButtons\"!==this.option(\"applyValueMode\")){var n=this._getValue().slice();if((0,_.each)(e.removedItems||[],(function(e,i){t._removeTag(n,t._valueGetter(i))})),(0,_.each)(e.addedItems||[],(function(e,i){t._addTag(n,t._valueGetter(i))})),this._updateWidgetHeight(),!(0,u.equalByValue)(this._list.option(\"selectedItemKeys\"),this.option(\"value\"))){var i=this._list._getSelectionChangeEvent();i&&this._saveValueChangeEvent(i),this.option(\"value\",n)}this._list._saveSelectionChangeEvent(void 0)}},_removeTag:function(e,t){var n=this._valueIndex(t,e);n>=0&&e.splice(n,1)},_addTag:function(e,t){this._valueIndex(t)<0&&e.push(t)},_fieldRenderData:function(){return this._selectedItems.slice()},_completeSelection:function(e){this.option(\"showSelectionControls\")||this._setValue(e)},_setValue:function(e){if(null!==e){var t=\"useButtons\"===this.option(\"applyValueMode\"),n=this._valueIndex(e),i=(t?this._list.option(\"selectedItemKeys\"):this._getValue()).slice();n>=0?i.splice(n,1):i.push(e),\"useButtons\"===this.option(\"applyValueMode\")?this._list.option(\"selectedItemKeys\",i):this.option(\"value\",i)}},_isSelectedValue:function(e,t){return this._valueIndex(e,null,t)>-1},_valueIndex:function(e,t,n){var i=this,o=-1;return n&&\"object\"!==O(e)&&(n.indexByValues||(n.indexByValues={},(t=t||this._getValue()).forEach((function(e,t){n.indexByValues[e]=t}))),e in n.indexByValues)?n.indexByValues[e]:(t=t||this._getValue(),(0,_.each)(t,(function(t,n){if(i._isValueEquals(e,n))return o=t,!1})),o)},_lastValue:function(){var e=this._getValue(),t=e[e.length-1];return null!=t?t:null},_shouldRenderSearchEvent:function(){return this.option(\"searchEnabled\")||this.option(\"acceptCustomValue\")},_searchHandler:function(e){this.option(\"searchEnabled\")&&e&&!this._isTagRemoved&&(this.callBase(arguments),this._setListDataSourceFilter()),this._updateWidgetHeight(),delete this._isTagRemoved},_updateWidgetHeight:function(){var e=this.$element(),t=(0,i.getHeight)(e);this._renderInputSize();var n=(0,i.getHeight)(e);this._popup&&this.option(\"opened\")&&this._isEditable()&&n!==t&&this._popup.repaint()},_refreshSelected:function(){var e;(null===(e=this._list)||void 0===e?void 0:e.getDataSource())&&this._list.option(\"selectedItems\",this._selectedItems)},_resetListDataSourceFilter:function(){var e=this._dataController;delete this._userFilter,e.filter(null),e.reload()},_setListDataSourceFilter:function(){if(this.option(\"hideSelectedItems\")&&this._list){var e=this._dataController,t=this._valueGetterExpr();if((0,p.isString)(t)&&\"this\"!==t){var n=this._dataSourceFilterExpr();void 0===this._userFilter&&(this._userFilter=e.filter()||null),this._userFilter&&n.push(this._userFilter),n.length?e.filter(n):e.filter(null)}else e.filter(this._dataSourceFilterFunction.bind(this));e.load()}},_dataSourceFilterExpr:function(){var e=this,t=[];return this._getValue().forEach((function(n){return t.push([\"!\",[e._valueGetterExpr(),n]])})),t},_dataSourceFilterFunction:function(e){var t=this,n=this._valueGetter(e),i=!0;return(0,_.each)(this._getValue(),(function(e,o){if(t._isValueEquals(o,n))return i=!1,!1})),i},_dataSourceChangedHandler:function(){this._isDataSourceChanged=!0,this.callBase.apply(this,arguments)},_applyButtonHandler:function(e){this._saveValueChangeEvent(e.event),this.option(\"value\",this._getSortedListValues()),this._clearTextValue(),this.callBase(),this._cancelSearchIfNeed()},_getSortedListValues:function(){var e=this._getListValues(),t=this.option(\"value\")||[],n=e.length?(0,v.getIntersection)(t,e):[],i=n.length?(0,v.removeDuplicates)(e,t):e;return n.concat(i)},_getListValues:function(){var e=this;return this._list?this._getPlainItems(this._list.option(\"selectedItems\")).map((function(t){return e._valueGetter(t)})):[]},_setListDataSource:function(){var e=this._getValue();this.callBase(),e!==this.option(\"value\")&&this.option(\"value\",e),this._refreshSelected()},_renderOpenedState:function(){this.callBase(),\"useButtons\"!==this.option(\"applyValueMode\")||this.option(\"opened\")||this._refreshSelected()},reset:function(){this._restoreInputText();var e=this._getDefaultOptions().value,t=this.option(\"value\");e&&0===e.length&&t&&e.length===t.length||this.callBase()},_clean:function(){this.callBase(),delete this._defaultTagTemplate,delete this._valuesToUpdate,delete this._tagTemplate},_getSelectedItemsDifference:function(e,t){var n=this;if(!e.length)return{addedItems:[],removedItems:t.slice()};if(!t.length)return{addedItems:e.slice(),removedItems:[]};var i=t.reduce((function(e,t){return e[n._valueGetter(t)]=t,e}),{}),o=[];return e.forEach((function(e){var t=n._valueGetter(e);i[t]||o.push(e),delete i[t]})),{addedItems:o,removedItems:Object.values(i)}},_optionChanged:function(e){var t=e.name,n=e.value,i=e.previousValue;switch(t){case\"onSelectAllValueChanged\":this._initSelectAllValueChangedAction();break;case\"onMultiTagPreparing\":this._initMultiTagPreparingAction(),this._renderTags();break;case\"hideSelectedItems\":n?this._setListDataSourceFilter():this._resetListDataSourceFilter();break;case\"useSubmitBehavior\":this._toggleSubmitElement(n);break;case\"displayExpr\":this.callBase(e),this._initTemplates(),this._invalidate();break;case\"tagTemplate\":this._initTagTemplate(),this._invalidate();break;case\"selectAllText\":this._setListOption(\"selectAllText\",this.option(\"selectAllText\"));break;case\"readOnly\":case\"disabled\":this.callBase(e),!n&&this._refreshEvents();break;case\"value\":this._valuesToUpdate=n,this.callBase(e),this._valuesToUpdate=void 0,this._setListDataSourceFilter();break;case\"maxDisplayedTags\":case\"showMultiTagOnly\":this._renderTags();break;case\"selectAllMode\":this._setListOption(t,n);break;case\"selectedItem\":break;case\"selectedItems\":this._selectionChangedAction(this._getSelectedItemsDifference(n,i));break;case\"multiline\":this.$element().toggleClass(\"dx-tagbox-single-line\",!n),this._renderSingleLineScroll();break;case\"maxFilterQueryLength\":break;default:this.callBase(e)}},_getActualSearchValue:function(){return this.callBase()||this._searchValue()},_popupHidingHandler:function(){this.callBase(),this._clearFilter()}});(0,l.default)(\"dxTagBox\",A);var P=A;t.default=P,e.exports=t.default,e.exports.default=t.default},51237:function(e,t,n){t.default=void 0;var i=m(n(68374)),o=m(n(55994)),a=n(20576),r=n(58201),s=m(n(99393)),l=n(13306),u=n(35922),d=n(39611),c=m(n(93786)),h=m(n(37334)),f=n(58664),p=n(51203),g=m(n(29837));function m(e){return e&&e.__esModule?e:{default:e}}var _=g.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{spellcheck:!0,minHeight:void 0,maxHeight:void 0,autoResizeEnabled:!1})},_initMarkup:function(){this.$element().addClass(\"dx-textarea\"),this.callBase(),this.setAria(\"multiline\",\"true\")},_renderContentImpl:function(){this._updateInputHeight(),this.callBase()},_renderInput:function(){this.callBase(),this._renderScrollHandler()},_createInput:function(){var e=(0,i.default)(\"<textarea>\");return this._applyInputAttributes(e,this.option(\"inputAttr\")),this._updateInputAutoResizeAppearance(e),e},_applyInputAttributes:function(e,t){e.attr(t).addClass(\"dx-texteditor-input\")},_renderScrollHandler:function(){this._eventY=0;var e=this._input(),t=(0,p.prepareScrollData)(e,!0);o.default.on(e,(0,d.addNamespace)(h.default.init,this.NAME),t,a.noop),o.default.on(e,(0,d.addNamespace)(c.default.down,this.NAME),this._pointerDownHandler.bind(this)),o.default.on(e,(0,d.addNamespace)(c.default.move,this.NAME),this._pointerMoveHandler.bind(this))},_pointerDownHandler:function(e){this._eventY=(0,d.eventData)(e).y},_pointerMoveHandler:function(e){var t=(0,d.eventData)(e).y,n=this._eventY-t;(0,p.allowScroll)(this._input(),n)&&(e.isScrollingEvent=!0,e.stopPropagation()),this._eventY=t},_renderDimensions:function(){var e=this.$element(),t=e.get(0),n=this._getOptionValue(\"width\",t),i=this._getOptionValue(\"height\",t),o=this.option(\"minHeight\"),a=this.option(\"maxHeight\");e.css({minHeight:void 0!==o?o:\"\",maxHeight:void 0!==a?a:\"\",width:n,height:i})},_resetDimensions:function(){this.$element().css({height:\"\",minHeight:\"\",maxHeight:\"\"})},_renderEvents:function(){this.option(\"autoResizeEnabled\")&&o.default.on(this._input(),(0,d.addNamespace)(\"input paste\",this.NAME),this._updateInputHeight.bind(this)),this.callBase()},_refreshEvents:function(){o.default.off(this._input(),(0,d.addNamespace)(\"input paste\",this.NAME)),this.callBase()},_getHeightDifference:function(e){return(0,f.getVerticalOffsets)(this._$element.get(0),!1)+(0,f.getVerticalOffsets)(this._$textEditorContainer.get(0),!1)+(0,f.getVerticalOffsets)(this._$textEditorInputContainer.get(0),!1)+(0,f.getElementBoxParams)(\"height\",(0,r.getWindow)().getComputedStyle(e.get(0))).margin},_updateInputHeight:function(){if((0,r.hasWindow)()){var e=this._input(),t=this.option(\"height\"),n=void 0===t&&this.option(\"autoResizeEnabled\");if(n||void 0===t&&this.option(\"minHeight\")){this._resetDimensions(),this._$element.css(\"height\",(0,f.getOuterHeight)(this._$element)),e.css(\"height\",0);var i=this._getHeightDifference(e);this._renderDimensions();var o=this._getBoundaryHeight(\"minHeight\"),a=this._getBoundaryHeight(\"maxHeight\"),s=e[0].scrollHeight;if(void 0!==o&&(s=Math.max(s,o-i)),void 0!==a){var l=a-i,u=s>l;s=Math.min(s,l),this._updateInputAutoResizeAppearance(e,!u)}e.css(\"height\",s),n&&this._$element.css(\"height\",\"auto\")}else e.css(\"height\",\"\")}},_getBoundaryHeight:function(e){var t=this.option(e);if((0,u.isDefined)(t))return\"number\"==typeof t?t:(0,f.parseHeight)(t,this.$element().get(0).parentElement,this._$element.get(0))},_renderInputType:a.noop,_visibilityChanged:function(e){e&&this._updateInputHeight()},_updateInputAutoResizeAppearance:function(e,t){if(e){var n=(0,a.ensureDefined)(t,this.option(\"autoResizeEnabled\"));e.toggleClass(\"dx-texteditor-input-auto-resize\",n)}},_dimensionChanged:function(){this.option(\"visible\")&&this._updateInputHeight()},_optionChanged:function(e){switch(e.name){case\"autoResizeEnabled\":this._updateInputAutoResizeAppearance(this._input(),e.value),this._refreshEvents(),this._updateInputHeight();break;case\"value\":case\"height\":this.callBase(e),this._updateInputHeight();break;case\"minHeight\":case\"maxHeight\":this._renderDimensions(),this._updateInputHeight();break;case\"visible\":this.callBase(e),e.value&&this._updateInputHeight();break;default:this.callBase(e)}}});(0,s.default)(\"dxTextArea\",_);var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},29837:function(e,t,n){var i;t.default=void 0;var o=((i=n(98356))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},98356:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=n(58201),a=n(13306),r=d(n(99393)),s=d(n(63513)),l=n(39611),u=n(58664);function d(e){return e&&e.__esModule?e:{default:e}}var c=(0,o.getWindow)(),h=[\"backspace\",\"tab\",\"enter\",\"pageUp\",\"pageDown\",\"end\",\"home\",\"leftArrow\",\"rightArrow\",\"downArrow\",\"upArrow\",\"del\"],f=s.default.inherit({ctor:function(e,t){t&&(this._showClearButton=t.showClearButton),this.callBase.apply(this,arguments)},_getDefaultOptions:function(){return(0,a.extend)(this.callBase(),{value:\"\",mode:\"text\",maxLength:null})},_initMarkup:function(){this.$element().addClass(\"dx-textbox\"),this.callBase(),this.setAria(\"role\",\"textbox\")},_renderInputType:function(){this.callBase(),this._renderSearchMode()},_useTemplates:function(){return!1},_renderProps:function(){this.callBase(),this._toggleMaxLengthProp()},_toggleMaxLengthProp:function(){var e=this._getMaxLength();e&&e>0?this._input().attr(\"maxLength\",e):this._input().removeAttr(\"maxLength\")},_renderSearchMode:function(){var e=this._$element;\"search\"===this.option(\"mode\")?(e.addClass(\"dx-searchbox\"),this._renderSearchIcon(),void 0===this._showClearButton&&(this._showClearButton=this.option(\"showClearButton\"),this.option(\"showClearButton\",!0))):(e.removeClass(\"dx-searchbox\"),this._$searchIcon&&this._$searchIcon.remove(),this.option(\"showClearButton\",void 0===this._showClearButton?this.option(\"showClearButton\"):this._showClearButton),delete this._showClearButton)},_renderSearchIcon:function(){var e=(0,i.default)(\"<div>\").addClass(\"dx-icon\").addClass(\"dx-icon-search\");e.prependTo(this._input().parent()),this._$searchIcon=e},_getLabelContainerWidth:function(){if(this._$searchIcon){var e=this._input().parent();return(0,u.getWidth)(e)-this._getLabelBeforeWidth()}return this.callBase()},_getLabelBeforeWidth:function(){var e=this.callBase();return this._$searchIcon&&(e+=(0,u.getOuterWidth)(this._$searchIcon)),e},_optionChanged:function(e){switch(e.name){case\"maxLength\":this._toggleMaxLengthProp();break;case\"mode\":this.callBase(e),this._updateLabelWidth();break;case\"mask\":this.callBase(e),this._toggleMaxLengthProp();break;default:this.callBase(e)}},_onKeyDownCutOffHandler:function(e){var t=this._getMaxLength();if(!t||e.ctrlKey||this._hasSelection())return!0;var n=(0,i.default)(e.target),o=(0,l.normalizeKeyName)(e);return this._cutOffExtraChar(n),n.val().length<t||h.includes(o)||\"\"!==c.getSelection().toString()},_onChangeCutOffHandler:function(e){var t=(0,i.default)(e.target);this.option(\"maxLength\")&&this._cutOffExtraChar(t)},_cutOffExtraChar:function(e){var t=this._getMaxLength(),n=e.val();t&&n.length>t&&e.val(n.substr(0,t))},_getMaxLength:function(){return!!this.option(\"mask\")?null:this.option(\"maxLength\")}});(0,r.default)(\"dxTextBox\",f);var p=f;t.default=p,e.exports=t.default,e.exports.default=t.default},11483:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i};var a=function(){function e(e,t,n){this.instance=null,this.$container=null,this.$placeMarker=null,this.editor=t,this.name=e,this.options=n||{}}var t=e.prototype;return t._addPlaceMarker=function(e){this.$placeMarker=(0,o.default)(\"<div>\").appendTo(e)},t._addToContainer=function(e){var t=this.$placeMarker,n=this.$container;t?t.replaceWith(e):e.appendTo(n)},t._attachEvents=function(){throw\"Not implemented\"},t._create=function(){throw\"Not implemented\"},t._isRendered=function(){return!!this.instance},t._isVisible=function(){var e=this.editor;return this.options.visible||!e.option(\"readOnly\")},t._isDisabled=function(){throw\"Not implemented\"},t._shouldRender=function(){return this._isVisible()&&!this._isRendered()},t.dispose=function(){var e=this.instance,t=this.$placeMarker;e&&(e.dispose?e.dispose():e.remove(),this.instance=null),t&&t.remove()},t.render=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$container;if(this.$container=e,this._isVisible()){var t=this._create(),n=t.instance,i=t.$element;this.instance=n,this._attachEvents(n,i)}else this._addPlaceMarker(e)},t.update=function(){return this._shouldRender()&&this.render(),!!this.instance},e}();t.default=a,e.exports=t.default,e.exports.default=t.default},44470:function(e,t,n){t.default=void 0;var i=d(n(68374)),o=d(n(11483)),a=d(n(63008)),r=n(13306),s=d(n(55994)),l=n(24028),u=n(95429);function d(e){return e&&e.__esModule?e:{default:e}}function c(e,t){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var h=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,c(t,n);var d=o.prototype;return d._attachEvents=function(e,t){var n=this.editor;s.default.on(t,l.start,(function(){n.$element().addClass(\"dx-custom-button-hovered\")})),s.default.on(t,l.end,(function(){n.$element().removeClass(\"dx-custom-button-hovered\")})),s.default.on(t,u.name,(function(e){e.stopPropagation()}))},d._create=function(){var e=this.editor,t=(0,i.default)(\"<div>\");return this._addToContainer(t),{$element:t,instance:e._createComponent(t,a.default,(0,r.extend)({},this.options,{ignoreParentReadOnly:!0,disabled:this._isDisabled(),integrationOptions:this._prepareIntegrationOptions(e)}))}},d._prepareIntegrationOptions=function(e){return(0,r.extend)({},e.option(\"integrationOptions\"),{skipTemplates:[\"content\"]})},d.update=function(){var t=e.prototype.update.call(this);return this.instance&&this.instance.option(\"disabled\",this._isDisabled()),t},d._isVisible=function(){return this.editor.option(\"visible\")},d._isDisabled=function(){return void 0!==this.options.disabled?this.instance?this.instance.option(\"disabled\"):this.options.disabled:this.editor.option(\"readOnly\")},o}(o.default);t.default=h,e.exports=t.default,e.exports.default=t.default},91202:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=s(n(44470)),a=n(13306),r=s(n(96688));function s(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function u(e,t){if(-1!==e.indexOf(t))throw r.default.Error(\"E1055\",t);e.push(t)}var d=function(){function e(e,t){this.buttons=[],this.defaultButtonsInfo=t,this.editor=e}var t=e.prototype;return t._compileButtonInfo=function(e){var t=this,n=[];return e.map((function(e){var i,s,d=\"string\"==typeof e;if(d||(i=e,function(){if(!i||\"object\"!==l(i)||Array.isArray(i))throw r.default.Error(\"E1053\")}(),function(){if(!(\"name\"in i))throw r.default.Error(\"E1054\")}(),function(){if(\"string\"!=typeof i.name)throw r.default.Error(\"E1055\")}(),s=i.location,\"location\"in i&&\"after\"!==s&&\"before\"!==s&&(i.location=\"after\")),d||function(e,t){return!!t.find((function(t){return t.name===e}))}(e.name,t.defaultButtonsInfo)){var c=t.defaultButtonsInfo.find((function(t){var n=t.name;return n===e||n===e.name}));if(!c)throw r.default.Error(\"E1056\",t.editor.NAME,e);return u(n,e),c}var h=e.name;return u(n,h),(0,a.extend)(e,{Ctor:o.default})}))},t._createButton=function(e){var t=e.Ctor,n=e.options,i=new t(e.name,this.editor,n);return this.buttons.push(i),i},t._renderButtons=function(e,t,n){var o=this,a=null,r=e?this._compileButtonInfo(e):this.defaultButtonsInfo;return r.forEach((function(e){var r=e.location;(void 0===r?\"after\":r)===n&&o._createButton(e).render((a=a||(0,i.default)(\"<div>\").addClass(\"dx-texteditor-buttons-container\"),\"before\"===n?t.prepend(a):t.append(a),a))})),a},t.clean=function(){this.buttons.forEach((function(e){return e.dispose()})),this.buttons=[]},t.getButton=function(e){var t=this.buttons.find((function(t){return t.name===e}));return t&&t.instance},t.renderAfterButtons=function(e,t){return this._renderButtons(e,t,\"after\")},t.renderBeforeButtons=function(e,t){return this._renderButtons(e,t,\"before\")},t.updateButtons=function(e){this.buttons.forEach((function(t){e&&-1===e.indexOf(t.name)||t.update()}))},e}();t.default=d,e.exports=t.default,e.exports.default=t.default},86530:function(e,t,n){t.default=void 0;var i=k(n(68374)),o=k(n(73349)),a=k(n(55994)),r=n(31421),s=n(35922),l=n(13306),u=n(95479),d=n(75811),c=k(n(20530)),h=k(n(96452)),f=n(39611),p=k(n(93786)),g=k(n(49714)),m=k(n(91202)),_=k(n(80209)),v=k(n(96688)),y=n(62754),b=k(n(2492)),x=n(78986),w=n(58664),C=k(n(91784)),S=k(n(73176));function k(e){return e&&e.__esModule?e:{default:e}}var D=[\"KeyDown\",\"KeyPress\",\"KeyUp\",\"Change\",\"Cut\",\"Copy\",\"Paste\",\"Input\"],I=[\"tab\",\"enter\",\"shift\",\"control\",\"alt\",\"escape\",\"pageUp\",\"pageDown\",\"end\",\"home\",\"leftArrow\",\"upArrow\",\"rightArrow\",\"downArrow\"],T=x.TextEditorLabel;function E(e){if((0,s.isDefined)(e)&&!Array.isArray(e))throw v.default.Error(\"E1053\")}var O=h.default.inherit({ctor:function(e,t){t&&E(t.buttons),this._buttonCollection=new m.default(this,this._getDefaultButtons()),this._$beforeButtonsContainer=null,this._$afterButtonsContainer=null,this._labelContainerElement=null,this.callBase.apply(this,arguments)},_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{buttons:void 0,value:\"\",spellcheck:!1,showClearButton:!1,valueChangeEvent:\"change\",placeholder:\"\",inputAttr:{},onFocusIn:null,onFocusOut:null,onKeyDown:null,onKeyUp:null,onChange:null,onInput:null,onCut:null,onCopy:null,onPaste:null,onEnterKey:null,mode:\"text\",hoverStateEnabled:!0,focusStateEnabled:!0,text:void 0,displayValueFormatter:function(e){return(0,s.isDefined)(e)&&!1!==e?e:\"\"},stylingMode:(0,_.default)().editorStylingMode||\"outlined\",showValidationMark:!0,label:\"\",labelMode:\"static\",labelMark:\"\"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var e=(0,d.current)();return(0,d.isMaterial)(e)},options:{stylingMode:(0,_.default)().editorStylingMode||\"filled\",labelMode:\"floating\"}}])},_getDefaultButtons:function(){return[{name:\"clear\",Ctor:g.default}]},_isClearButtonVisible:function(){return this.option(\"showClearButton\")&&!this.option(\"readOnly\")},_input:function(){return this.$element().find(\".dx-texteditor-input\").first()},_isFocused:function(){return(0,r.focused)(this._input())||this.callBase()},_inputWrapper:function(){return this.$element()},_buttonsContainer:function(){return this._inputWrapper().find(\".dx-texteditor-buttons-container\").eq(0)},_isControlKey:function(e){return-1!==I.indexOf(e)},_renderStylingMode:function(){this.callBase(),this._updateButtonsStyling(this.option(\"stylingMode\"))},_initMarkup:function(){this.$element().addClass(\"dx-texteditor\"),this._renderInput(),this._renderStylingMode(),this._renderInputType(),this._renderPlaceholder(),this._renderProps(),this.callBase(),this._renderValue(),this._renderLabel()},_render:function(){this.callBase(),this._refreshValueChangeEvent(),this._renderEvents(),this._renderEnterKeyAction(),this._renderEmptinessEvent()},_renderInput:function(){this._$buttonsContainer=this._$textEditorContainer=(0,i.default)(\"<div>\").addClass(\"dx-texteditor-container\").appendTo(this.$element()),this._$textEditorInputContainer=(0,i.default)(\"<div>\").addClass(\"dx-texteditor-input-container\").appendTo(this._$textEditorContainer),this._$textEditorInputContainer.append(this._createInput()),this._renderButtonContainers()},_getInputContainer:function(){return this._$textEditorInputContainer},_renderPendingIndicator:function(){this.$element().addClass(\"dx-validation-pending\");var e=this._getInputContainer(),t=(0,i.default)(\"<div>\").addClass(\"dx-pending-indicator\").appendTo(e);this._pendingIndicator=this._createComponent(t,b.default)},_disposePendingIndicator:function(){this._pendingIndicator&&(this._pendingIndicator.dispose(),this._pendingIndicator.$element().remove(),this._pendingIndicator=null,this.$element().removeClass(\"dx-validation-pending\"))},_renderValidationState:function(){this.callBase();var e=\"pending\"===this.option(\"validationStatus\"),t=this.$element();e?(!this._pendingIndicator&&this._renderPendingIndicator(),this._showValidMark=!1):(\"invalid\"===this.option(\"validationStatus\")&&(this._showValidMark=!1),this._showValidMark||!0!==this.option(\"showValidationMark\")||(this._showValidMark=\"valid\"===this.option(\"validationStatus\")&&!!this._pendingIndicator),this._disposePendingIndicator()),t.toggleClass(\"dx-valid\",!!this._showValidMark)},_renderButtonContainers:function(){var e=this.option(\"buttons\");this._$beforeButtonsContainer=this._buttonCollection.renderBeforeButtons(e,this._$buttonsContainer),this._$afterButtonsContainer=this._buttonCollection.renderAfterButtons(e,this._$buttonsContainer)},_cleanButtonContainers:function(){var e,t;null===(e=this._$beforeButtonsContainer)||void 0===e||e.remove(),null===(t=this._$afterButtonsContainer)||void 0===t||t.remove(),this._buttonCollection.clean()},_clean:function(){this._buttonCollection.clean(),this._disposePendingIndicator(),this._unobserveLabelContainerResize(),this._$beforeButtonsContainer=null,this._$afterButtonsContainer=null,this._$textEditorContainer=null,this._$buttonsContainer=null,this.callBase()},_createInput:function(){var e=(0,i.default)(\"<input>\");return this._applyInputAttributes(e,this.option(\"inputAttr\")),e},_setSubmitElementName:function(e){var t=this.option(\"inputAttr.name\");return this.callBase(e||t||\"\")},_applyInputAttributes:function(e,t){var n=(0,l.extend)(this._getDefaultAttributes(),t);e.attr(n).addClass(\"dx-texteditor-input\").css(\"minHeight\",this.option(\"height\")?\"0\":\"\")},_getDefaultAttributes:function(){var e={autocomplete:\"off\"},t=c.default.real(),n=t.ios,i=t.mac;return(n||i)&&(e.placeholder=\" \"),e},_updateButtons:function(e){this._buttonCollection.updateButtons(e)},_updateButtonsStyling:function(e){var t=this;(0,u.each)(this.option(\"buttons\"),(function(n,i){var o=i.options,a=i.name;if(o&&!o.stylingMode&&t.option(\"visible\")){var r=t.getButton(a);r.option&&r.option(\"stylingMode\",\"underlined\"===e?\"text\":\"contained\")}}))},_renderValue:function(){return this._renderInputValue().promise()},_renderInputValue:function(e){var t;e=null!==(t=e)&&void 0!==t?t:this.option(\"value\");var n=this.option(\"text\"),i=this.option(\"displayValue\"),o=this.option(\"displayValueFormatter\");return void 0!==i&&null!==e?n=o(i):(0,s.isDefined)(n)||(n=o(e)),this.option(\"text\",n),this._input().val()!==((0,s.isDefined)(n)?n:\"\")?this._renderDisplayText(n):this._toggleEmptinessEventHandler(),(new y.Deferred).resolve()},_renderDisplayText:function(e){this._input().val(e),this._toggleEmptinessEventHandler()},_isValueValid:function(){if(this._input().length){var e=this._input().get(0).validity;if(e)return e.valid}return!0},_toggleEmptiness:function(e){this.$element().toggleClass(\"dx-texteditor-empty\",e),this._togglePlaceholder(e)},_togglePlaceholder:function(e){this.$element().find(\".\".concat(\"dx-placeholder\")).eq(0).toggleClass(\"dx-state-invisible\",!e)},_renderProps:function(){this._toggleReadOnlyState(),this._toggleSpellcheckState(),this._toggleTabIndex()},_toggleDisabledState:function(e){this.callBase.apply(this,arguments);var t=this._input();t.prop(\"disabled\",e)},_toggleTabIndex:function(){var e=this._input(),t=this.option(\"disabled\"),n=this.option(\"focusStateEnabled\");t||!n?e.attr(\"tabIndex\",-1):e.removeAttr(\"tabIndex\")},_toggleReadOnlyState:function(){this._input().prop(\"readOnly\",this._readOnlyPropValue()),this.callBase()},_readOnlyPropValue:function(){return this.option(\"readOnly\")},_toggleSpellcheckState:function(){this._input().prop(\"spellcheck\",this.option(\"spellcheck\"))},_unobserveLabelContainerResize:function(){this._labelContainerElement&&(C.default.unobserve(this._labelContainerElement),this._labelContainerElement=null)},_getLabelContainer:function(){return this._input()},_getLabelContainerWidth:function(){return(0,w.getWidth)(this._getLabelContainer())},_getLabelBeforeWidth:function(){var e=this._$beforeButtonsContainer&&(0,w.getWidth)(this._$beforeButtonsContainer);return null!=e?e:0},_updateLabelWidth:function(){this._label.updateBeforeWidth(this._getLabelBeforeWidth()),this._label.updateMaxWidth(this._getLabelContainerWidth())},_getFieldElement:function(){return this._getLabelContainer()},_setFieldAria:function(e){var t,n=[this._label.getId(),null===(t=this._$placeholder)||void 0===t?void 0:t.attr(\"id\")].filter(Boolean).join(\" \");if(n||e){var i={labelledby:n||void 0};this.setAria(i,this._getFieldElement())}},_renderLabel:function(){this._unobserveLabelContainerResize(),this._labelContainerElement=(0,i.default)(this._getLabelContainer()).get(0);var e=this.option(),t=e.label,n=e.labelMode,o=e.labelMark,a={$editor:this.$element(),text:t,mark:o,mode:n,containsButtonsBefore:!!this._$beforeButtonsContainer,containerWidth:this._getLabelContainerWidth(),beforeWidth:this._getLabelBeforeWidth()};this._label=new T(a),this._setFieldAria(),this._labelContainerElement&&C.default.observe(this._labelContainerElement,this._updateLabelWidth.bind(this))},_renderPlaceholder:function(){this._renderPlaceholderMarkup(),this._attachPlaceholderEvents()},_renderPlaceholderMarkup:function(){this._$placeholder&&(this._$placeholder.remove(),this._$placeholder=null);var e=this._input(),t=this.option(\"placeholder\"),n={id:t?\"dx-\".concat(new S.default):void 0,\"data-dx_placeholder\":t},o=this._$placeholder=(0,i.default)(\"<div>\").attr(n);o.insertAfter(e),o.addClass(\"dx-placeholder\")},_attachPlaceholderEvents:function(){var e=this,t=(0,f.addNamespace)(p.default.up,this.NAME);a.default.on(this._$placeholder,t,(function(){a.default.trigger(e._input(),\"focus\")})),this._toggleEmptinessEventHandler()},_placeholder:function(){return this._$placeholder||(0,i.default)()},_clearValueHandler:function(e){var t=this._input();e.stopPropagation(),this._saveValueChangeEvent(e),this._clearValue(),!this._isFocused()&&a.default.trigger(t,\"focus\"),a.default.trigger(t,\"input\")},_clearValue:function(){this.reset()},_renderEvents:function(){var e=this,t=this._input();(0,u.each)(D,(function(n,i){if(e.hasActionSubscription(\"on\"+i)){var o=e._createActionByOption(\"on\"+i,{excludeValidators:[\"readOnly\"]});a.default.on(t,(0,f.addNamespace)(i.toLowerCase(),e.NAME),(function(t){e._disposed||o({event:t})}))}}))},_refreshEvents:function(){var e=this,t=this._input();(0,u.each)(D,(function(n,i){a.default.off(t,(0,f.addNamespace)(i.toLowerCase(),e.NAME))})),this._renderEvents()},_keyPressHandler:function(){this.option(\"text\",this._input().val())},_keyDownHandler:function(e){var t=this._input(),n=e.ctrlKey&&\"enter\"===(0,f.normalizeKeyName)(e),i=t.val()!==this.option(\"value\");n&&i&&a.default.trigger(t,\"change\")},_getValueChangeEventOptionName:function(){return\"valueChangeEvent\"},_renderValueChangeEvent:function(){var e=(0,f.addNamespace)(this._renderValueEventName(),\"\".concat(this.NAME,\"TextChange\")),t=(0,f.addNamespace)(this.option(this._getValueChangeEventOptionName()),\"\".concat(this.NAME,\"ValueChange\")),n=(0,f.addNamespace)(\"keydown\",\"\".concat(this.NAME,\"TextChange\")),i=this._input();a.default.on(i,e,this._keyPressHandler.bind(this)),a.default.on(i,t,this._valueChangeEventHandler.bind(this)),a.default.on(i,n,this._keyDownHandler.bind(this))},_cleanValueChangeEvent:function(){var e=\".\".concat(this.NAME,\"ValueChange\"),t=\".\".concat(this.NAME,\"TextChange\");a.default.off(this._input(),e),a.default.off(this._input(),t)},_refreshValueChangeEvent:function(){this._cleanValueChangeEvent(),this._renderValueChangeEvent()},_renderValueEventName:function(){return\"input change keypress\"},_focusTarget:function(){return this._input()},_focusEventTarget:function(){return this.element()},_isInput:function(e){return e===this._input().get(0)},_preventNestedFocusEvent:function(e){if(e.isDefaultPrevented())return!0;var t=this._isNestedTarget(e.relatedTarget);return\"focusin\"===e.type?t=t&&this._isNestedTarget(e.target)&&!this._isInput(e.target):t||this._toggleFocusClass(!1,this.$element()),t&&e.preventDefault(),t},_isNestedTarget:function(e){return!!this.$element().find(e).length},_focusClassTarget:function(){return this.$element()},_focusInHandler:function(e){this._preventNestedFocusEvent(e),this.callBase.apply(this,arguments)},_focusOutHandler:function(e){this._preventNestedFocusEvent(e),this.callBase.apply(this,arguments)},_toggleFocusClass:function(e,t){this.callBase(e,this._focusClassTarget(t))},_hasFocusClass:function(e){return this.callBase((0,i.default)(e||this.$element()))},_renderEmptinessEvent:function(){var e=this._input();a.default.on(e,\"input blur\",this._toggleEmptinessEventHandler.bind(this))},_toggleEmptinessEventHandler:function(){var e=this._input().val(),t=(\"\"===e||null===e)&&this._isValueValid();this._toggleEmptiness(t)},_valueChangeEventHandler:function(e,t){this.option(\"readOnly\")||(this._saveValueChangeEvent(e),this.option(\"value\",arguments.length>1?t:this._input().val()),this._saveValueChangeEvent(void 0))},_renderEnterKeyAction:function(){this._enterKeyAction=this._createActionByOption(\"onEnterKey\",{excludeValidators:[\"readOnly\"]}),a.default.off(this._input(),\"keyup.onEnterKey.dxTextEditor\"),a.default.on(this._input(),\"keyup.onEnterKey.dxTextEditor\",this._enterKeyHandlerUp.bind(this))},_enterKeyHandlerUp:function(e){this._disposed||\"enter\"===(0,f.normalizeKeyName)(e)&&this._enterKeyAction({event:e})},_updateValue:function(){this._options.silent(\"text\",null),this._renderValue()},_dispose:function(){this._enterKeyAction=void 0,this.callBase()},_getSubmitElement:function(){return this._input()},_hasActiveElement:function(){return this._input().is(o.default.getActiveElement(this._input()[0]))},_optionChanged:function(e){var t=e.name,n=e.fullName,i=e.value,o=t.replace(\"on\",\"\");if(D.includes(o))this._refreshEvents();else switch(t){case\"valueChangeEvent\":this._refreshValueChangeEvent(),this._refreshFocusEvent(),this._refreshEvents();break;case\"onValueChanged\":this._createValueChangeAction();break;case\"focusStateEnabled\":this.callBase(e),this._toggleTabIndex();break;case\"spellcheck\":this._toggleSpellcheckState();break;case\"mode\":this._renderInputType();break;case\"onEnterKey\":this._renderEnterKeyAction();break;case\"placeholder\":this._renderPlaceholder(),this._setFieldAria(!0);break;case\"label\":this._label.updateText(i),this._setFieldAria(!0);break;case\"labelMark\":this._label.updateMark(i);break;case\"labelMode\":this._label.updateMode(i),this._setFieldAria();break;case\"width\":this.callBase(e),this._label.updateMaxWidth(this._getLabelContainerWidth());break;case\"readOnly\":case\"disabled\":this._updateButtons(),this.callBase(e);break;case\"showClearButton\":this._updateButtons([\"clear\"]);break;case\"text\":break;case\"value\":this._updateValue(),this.callBase(e);break;case\"inputAttr\":this._applyInputAttributes(this._input(),this.option(t));break;case\"stylingMode\":this._renderStylingMode(),this._updateLabelWidth();break;case\"buttons\":n===t&&E(i),this._cleanButtonContainers(),this._renderButtonContainers(),this._updateButtonsStyling(this.option(\"stylingMode\")),this._updateLabelWidth(),this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer);break;case\"visible\":this.callBase(e),i&&this.option(\"buttons\")&&(this._cleanButtonContainers(),this._renderButtonContainers(),this._updateButtonsStyling(this.option(\"stylingMode\")));break;case\"displayValueFormatter\":this._invalidate();break;case\"showValidationMark\":break;default:this.callBase(e)}},_renderInputType:function(){this._setInputType(this.option(\"mode\"))},_setInputType:function(e){var t=this._input();\"search\"===e&&(e=\"text\");try{t.prop(\"type\",e)}catch(e){t.prop(\"type\",\"text\")}},getButton:function(e){return this._buttonCollection.getButton(e)},focus:function(){a.default.trigger(this._input(),\"focus\")},reset:function(){this._showValidMark&&(this._showValidMark=!1,this._renderValidationState());var e=this._getDefaultOptions();this.option(\"value\")===e.value?(this._options.silent(\"text\",\"\"),this._renderValue()):this.option(\"value\",e.value)},on:function(e,t){var n=this.callBase(e,t),i=e.charAt(0).toUpperCase()+e.substr(1);return D.indexOf(i)>=0&&this._refreshEvents(),n}});t.default=O,e.exports=t.default,e.exports.default=t.default},49714:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(55994)),a=u(n(11483)),r=n(39611),s=u(n(93786)),l=n(95429);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=s.default.down,h=function(e){var t,n;function a(){return e.apply(this,arguments)||this}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var s=a.prototype;return s._create=function(){var e=(0,i.default)(\"<span>\").addClass(\"dx-clear-button-area\").append((0,i.default)(\"<span>\").addClass(\"dx-icon\").addClass(\"dx-icon-clear\"));return this._addToContainer(e),this.update(!0),{instance:e,$element:e}},s._isVisible=function(){return this.editor._isClearButtonVisible()},s._attachEvents=function(e,t){var n=this.editor,i=n.NAME;o.default.on(t,(0,r.addNamespace)(c,i),(function(e){e.preventDefault(),\"mouse\"!==e.pointerType&&n._clearValueHandler(e)})),o.default.on(t,(0,r.addNamespace)(l.name,i),(function(e){return n._clearValueHandler(e)}))},s._legacyRender=function(e,t){e.toggleClass(\"dx-show-clear-button\",t)},s.update=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];!t&&e.prototype.update.call(this);var n=this.editor,i=this.instance,o=n.$element(),a=this._isVisible();i&&i.toggleClass(\"dx-state-invisible\",!a),this._legacyRender(o,a)},a}(a.default);t.default=h,e.exports=t.default,e.exports.default=t.default},63513:function(e,t,n){t.default=void 0;var i=a(n(99393)),o=a(n(88839));function a(e){return e&&e.__esModule?e:{default:e}}(0,i.default)(\"dxTextEditor\",o.default);var r=o.default;t.default=r,e.exports=t.default,e.exports.default=t.default},78986:function(e,t,n){t.TextEditorLabel=void 0;var i=a(n(68374)),o=a(n(73176));function a(e){return e&&e.__esModule?e:{default:e}}var r=function(){function e(e){var t=e.$editor,n=e.text,i=e.mode,a=e.mark,r=e.containsButtonsBefore,s=e.containerWidth,l=e.beforeWidth;this._props={$editor:t,text:n,mode:i,mark:a,containsButtonsBefore:r,containerWidth:s,beforeWidth:l},this._id=\"\".concat(\"dx-texteditor-label\",\"-\").concat(new o.default),this._render(),this._toggleMarkupVisibility()}var t=e.prototype;return t._isVisible=function(){return!!this._props.text&&\"hidden\"!==this._props.mode},t._render=function(){this._$before=(0,i.default)(\"<div>\").addClass(\"dx-label-before\"),this._$labelSpan=(0,i.default)(\"<span>\"),this._$label=(0,i.default)(\"<div>\").addClass(\"dx-label\").append(this._$labelSpan),this._$after=(0,i.default)(\"<div>\").addClass(\"dx-label-after\"),this._$root=(0,i.default)(\"<div>\").addClass(\"dx-texteditor-label\").attr(\"id\",this._id).append(this._$before).append(this._$label).append(this._$after),this._updateMark(),this._updateText(),this._updateBeforeWidth(),this._updateMaxWidth()},t._toggleMarkupVisibility=function(){var e=this._isVisible();this._updateEditorBeforeButtonsClass(e),this._updateEditorLabelClass(e),e?this._$root.appendTo(this._props.$editor):this._$root.detach()},t._updateEditorLabelClass=function(e){if(this._props.$editor.removeClass(\"dx-texteditor-with-floating-label\").removeClass(\"dx-texteditor-with-label\"),e){var t=\"floating\"===this._props.mode?\"dx-texteditor-with-floating-label\":\"dx-texteditor-with-label\";this._props.$editor.addClass(t)}},t._updateEditorBeforeButtonsClass=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._isVisible();if(this._props.$editor.removeClass(\"dx-texteditor-with-before-buttons\"),e){var t=this._props.containsButtonsBefore?\"dx-texteditor-with-before-buttons\":\"\";this._props.$editor.addClass(t)}},t._updateMark=function(){this._$labelSpan.attr(\"data-mark\",this._props.mark)},t._updateText=function(){this._$labelSpan.text(this._props.text)},t._updateBeforeWidth=function(){this._$before.css({width:this._props.beforeWidth})},t._updateMaxWidth=function(){this._$label.css({maxWidth:this._props.containerWidth})},t.$element=function(){return this._$root},t.isVisible=function(){return this._isVisible()},t.getId=function(){if(this._isVisible())return this._id},t.updateMode=function(e){this._props.mode=e,this._toggleMarkupVisibility()},t.updateText=function(e){this._props.text=e,this._updateText(),this._toggleMarkupVisibility()},t.updateMark=function(e){this._props.mark=e,this._updateMark()},t.updateContainsButtonsBefore=function(e){this._props.containsButtonsBefore=e,this._updateEditorBeforeButtonsClass()},t.updateBeforeWidth=function(e){this._props.beforeWidth=e,this._updateBeforeWidth()},t.updateMaxWidth=function(e){this._props.containerWidth=e,this._updateMaxWidth()},e}();t.TextEditorLabel=r},88839:function(e,t,n){t.default=void 0;var i=v(n(68374)),o=v(n(21516)),a=n(95479),r=n(39611),s=v(n(55994)),l=n(13306),u=n(31421),d=n(35922),c=v(n(28109)),h=n(20576),f=n(68752),p=n(765),g=n(20175),m=v(n(86530)),_=v(n(78013));function v(e){return e&&e.__esModule?e:{default:e}}var y=function(){return{}},b=o.default,x={0:/[0-9]/,9:/[0-9\\s]/,\"#\":/[-+0-9\\s]/,L:function(e){return C(e)},l:function(e){return C(e)||S(e)},C:/\\S/,c:/./,A:function(e){return C(e)||w(e)},a:function(e){return C(e)||w(e)||S(e)}};function w(e){return/[0-9]/.test(e)}function C(e){var t=e.charCodeAt();return 64<t&&t<91||96<t&&t<123||t>127}function S(e){return\" \"===e}var k=m.default.inherit({_getDefaultOptions:function(){return(0,l.extend)(this.callBase(),{mask:\"\",maskChar:\"_\",maskRules:{},maskInvalidMessage:c.default.format(\"validation-mask\"),useMaskedValue:!1,showMaskMode:\"always\"})},_supportedKeys:function(){var e=this,t={del:e._maskStrategy.getHandler(\"del\"),enter:e._changeHandler},n=e.callBase();return(0,a.each)(t,(function(t,i){var o=n[t];n[t]=function(t){e.option(\"mask\")&&i.call(e,t),o&&o(t)}})),n},_getSubmitElement:function(){return this.option(\"mask\")?this._$hiddenElement:this.callBase()},_init:function(){this.callBase(),this._initMaskStrategy()},_initMaskStrategy:function(){this._maskStrategy=new _.default(this)},_initMarkup:function(){this._renderHiddenElement(),this.callBase()},_attachMouseWheelEventHandlers:function(){if(this._onMouseWheel!==h.noop){var e=this._input(),t=(0,r.addNamespace)(p.name,this.NAME),n=this._createAction(function(t){var n=t.event;(0,u.focused)(e)&&!(0,r.isCommandKeyPressed)(n)&&(this._onMouseWheel(n),n.preventDefault(),n.stopPropagation())}.bind(this));s.default.off(e,t),s.default.on(e,t,(function(e){n({event:e})}))}},_onMouseWheel:h.noop,_useMaskBehavior:function(){return Boolean(this.option(\"mask\"))},_attachDropEventHandler:function(){if(this._useMaskBehavior()){var e=(0,r.addNamespace)(\"drop\",this.NAME),t=this._input();s.default.off(t,e),s.default.on(t,e,(function(e){return e.preventDefault()}))}},_render:function(){this._renderMask(),this.callBase(),this._attachDropEventHandler(),this._attachMouseWheelEventHandlers()},_renderHiddenElement:function(){this.option(\"mask\")&&(this._$hiddenElement=(0,i.default)(\"<input>\").attr(\"type\",\"hidden\").appendTo(this._inputWrapper()))},_removeHiddenElement:function(){this._$hiddenElement&&this._$hiddenElement.remove()},_renderMask:function(){this.$element().removeClass(\"dx-texteditor-masked\"),this._maskRulesChain=null,this._maskStrategy.detachEvents(),this.option(\"mask\")&&(this.$element().addClass(\"dx-texteditor-masked\"),this._maskStrategy.attachEvents(),this._parseMask(),this._renderMaskedValue())},_suppressCaretChanging:function(e,t){b=y;try{e.apply(this,t)}finally{b=o.default}},_changeHandler:function(e){var t=this._input(),n=t.val();if(n!==this._changedValue){this._changedValue=n;var i=(0,r.createEvent)(e,{type:\"change\"});s.default.trigger(t,i)}},_parseMask:function(){this._maskRules=(0,l.extend)({},x,this.option(\"maskRules\")),this._maskRulesChain=this._parseMaskRule(0)},_parseMaskRule:function(e){var t=this.option(\"mask\");if(e>=t.length)return new g.EmptyMaskRule;var n=t[e],i=\"\\\\\"===n,o=i?new g.StubMaskRule({maskChar:t[e+1]}):this._getMaskRule(n);return o.next(this._parseMaskRule(e+1+i)),o},_getMaskRule:function(e){var t;return(0,a.each)(this._maskRules,(function(n,i){if(n===e)return t={pattern:n,allowedChars:i},!1})),(0,d.isDefined)(t)?new g.MaskRule((0,l.extend)({maskChar:this.option(\"maskChar\")},t)):new g.StubMaskRule({maskChar:e})},_renderMaskedValue:function(){if(this._maskRulesChain){var e=this.option(\"value\")||\"\";this._maskRulesChain.clear(this._normalizeChainArguments());var t={length:e.length};t[this._isMaskedValueMode()?\"text\":\"value\"]=e,this._handleChain(t),this._displayMask()}},_replaceSelectedText:function(e,t,n){return void 0===n?e:e.slice(0,t.start)+n+e.slice(t.end)},_isMaskedValueMode:function(){return this.option(\"useMaskedValue\")},_displayMask:function(e){e=e||this._caret(),this._renderValue(),this._caret(e)},_isValueEmpty:function(){return(0,f.isEmpty)(this._value)},_shouldShowMask:function(){return\"onFocus\"!==this.option(\"showMaskMode\")||((0,u.focused)(this._input())||!this._isValueEmpty())},_showMaskPlaceholder:function(){if(this._shouldShowMask()){var e=this._maskRulesChain.text();this.option(\"text\",e),\"onFocus\"===this.option(\"showMaskMode\")&&this._renderDisplayText(e)}},_renderValue:function(){if(this._maskRulesChain&&(this._showMaskPlaceholder(),this._$hiddenElement)){var e=this._maskRulesChain.value(),t=(0,f.isEmpty)(e)?\"\":this._getPreparedValue();this._$hiddenElement.val(t)}return this.callBase()},_getPreparedValue:function(){return this._convertToValue().replace(/\\s+$/,\"\")},_valueChangeEventHandler:function(e){this._maskRulesChain?(this._saveValueChangeEvent(e),this.option(\"value\",this._getPreparedValue())):this.callBase.apply(this,arguments)},_isControlKeyFired:function(e){return this._isControlKey((0,r.normalizeKeyName)(e))||(0,r.isCommandKeyPressed)(e)},_handleChain:function(e){var t=this._maskRulesChain.handle(this._normalizeChainArguments(e));return this._value=this._maskRulesChain.value(),this._textValue=this._maskRulesChain.text(),t},_normalizeChainArguments:function(e){return(e=e||{}).index=0,e.fullText=this._maskRulesChain.text(),e},_convertToValue:function(e){return e=this._isMaskedValueMode()?this._replaceMaskCharWithEmpty(e||this._textValue||\"\"):e||this._value||\"\"},_replaceMaskCharWithEmpty:function(e){return e.replace(new RegExp(this.option(\"maskChar\"),\"g\"),\" \")},_maskKeyHandler:function(e,t){var n=this;if(!this.option(\"readOnly\")){this.setForwardDirection(),e.preventDefault(),this._handleSelection();var i=this._input().val(),o=function(){i!==n._input().val()&&s.default.trigger(n._input(),\"input\")},a=t();a?a.then(o):(this.setForwardDirection(),this._adjustCaret(),this._displayMask(),this._maskRulesChain.reset(),o())}},_handleKey:function(e,t){this._direction(t||\"forward\"),this._adjustCaret(e),this._handleKeyChain(e),this._moveCaret()},_handleSelection:function(){if(this._hasSelection()){var e=this._caret(),t=new Array(e.end-e.start+1).join(\" \");this._handleKeyChain(t)}},_handleKeyChain:function(e){var t=this._caret(),n=this.isForwardDirection()?t.start:t.start-1,i=this.isForwardDirection()?t.end:t.end-1,o=n===i?1:i-n;this._handleChain({text:e,start:n,length:o})},_tryMoveCaretBackward:function(){this.setBackwardDirection();var e=this._caret().start;return this._adjustCaret(),!e||e!==this._caret().start},_adjustCaret:function(e){var t=this._caret().start,n=this.isForwardDirection(),i=this._maskRulesChain.adjustedCaret(t,n,e);this._caret({start:i,end:i})},_moveCaret:function(){var e=this._caret().start,t=e+(this.isForwardDirection()?0:-1),n=this._maskRulesChain.isAccepted(t)?e+(this.isForwardDirection()?1:-1):e;this._caret({start:n,end:n})},_caret:function(e,t){var n=this._input();if(n.length)return arguments.length?void b(n,e,t):b(n)},_hasSelection:function(){var e=this._caret();return e.start!==e.end},_direction:function(e){if(!arguments.length)return this._typingDirection;this._typingDirection=e},setForwardDirection:function(){this._direction(\"forward\")},setBackwardDirection:function(){this._direction(\"backward\")},isForwardDirection:function(){return\"forward\"===this._direction()},_clean:function(){this._maskStrategy&&this._maskStrategy.clean(),this.callBase()},_validateMask:function(){if(this._maskRulesChain){var e=(0,f.isEmpty)(this.option(\"value\"))||this._maskRulesChain.isValid(this._normalizeChainArguments());this.option({isValid:e,validationError:e?null:{editorSpecific:!0,message:this.option(\"maskInvalidMessage\")}})}},_updateHiddenElement:function(){this._removeHiddenElement(),this.option(\"mask\")&&(this._input().removeAttr(\"name\"),this._renderHiddenElement()),this._setSubmitElementName(this.option(\"name\"))},_updateMaskOption:function(){this._updateHiddenElement(),this._renderMask(),this._validateMask()},_processEmptyMask:function(e){if(!e){var t=this.option(\"value\");this.option({text:t,isValid:!0}),this.validationRequest.fire({value:t,editor:this}),this._renderValue()}},_optionChanged:function(e){switch(e.name){case\"mask\":this._updateMaskOption(),this._processEmptyMask(e.value);break;case\"maskChar\":case\"maskRules\":case\"useMaskedValue\":this._updateMaskOption();break;case\"value\":this._renderMaskedValue(),this._validateMask(),this.callBase(e),this._changedValue=this._input().val();break;case\"maskInvalidMessage\":break;case\"showMaskMode\":this.option(\"text\",\"\"),this._renderValue();break;default:this.callBase(e)}}});t.default=k,e.exports=t.default,e.exports.default=t.default},20175:function(e,t,n){t.StubMaskRule=t.MaskRule=t.EmptyMaskRule=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i},a=n(13306),r=n(35922),s=n(20576);var l=o.default.inherit({ctor:function(e){this._value=\" \",(0,a.extend)(this,e)},next:function(e){if(!arguments.length)return this._next;this._next=e},text:s.noop,value:s.noop,rawValue:s.noop,handle:s.noop,_prepareHandlingArgs:function(e,t){var n,i,o;t=t||{};var a=Object.prototype.hasOwnProperty.call(e,\"value\")?\"value\":\"text\";return e[a]=null!==(n=t.str)&&void 0!==n?n:e[a],e.start=null!==(i=t.start)&&void 0!==i?i:e.start,e.length=null!==(o=t.length)&&void 0!==o?o:e.length,e.index=e.index+1,e},reset:s.noop,clear:s.noop,first:function(e){return e=e||0,this.next().first(e+1)},isAccepted:function(){return!1},adjustedCaret:function(e,t,n){return t?this._adjustedForward(e,0,n):this._adjustedBackward(e,0,n)},_adjustedForward:s.noop,_adjustedBackward:s.noop,isValid:s.noop}),u=l.inherit({next:s.noop,handle:function(){return 0},text:function(){return\"\"},value:function(){return\"\"},first:function(){return 0},rawValue:function(){return\"\"},adjustedCaret:function(){return 0},isValid:function(){return!0}});t.EmptyMaskRule=u;var d=l.inherit({text:function(){return(\" \"!==this._value?this._value:this.maskChar)+this.next().text()},value:function(){return this._value+this.next().value()},rawValue:function(){return this._value+this.next().rawValue()},handle:function(e){var t=Object.prototype.hasOwnProperty.call(e,\"value\")?e.value:e.text;if(!t||!t.length||!e.length)return 0;if(e.start)return this.next().handle(this._prepareHandlingArgs(e,{start:e.start-1}));var n=t[0],i=t.substring(1);return this._tryAcceptChar(n,e),this._accepted()?this.next().handle(this._prepareHandlingArgs(e,{str:i,length:e.length-1}))+1:this.handle(this._prepareHandlingArgs(e,{str:i,length:e.length-1}))},clear:function(e){this._tryAcceptChar(\" \",e),this.next().clear(this._prepareHandlingArgs(e))},reset:function(){this._accepted(!1),this.next().reset()},_tryAcceptChar:function(e,t){if(this._accepted(!1),this._isAllowed(e,t)){var n=\" \"===e?this.maskChar:e;t.fullText=t.fullText.substring(0,t.index)+n+t.fullText.substring(t.index+1),this._accepted(!0),this._value=e}},_accepted:function(e){if(!arguments.length)return!!this._isAccepted;this._isAccepted=!!e},first:function(e){return\" \"===this._value?e||0:this.callBase(e)},_isAllowed:function(e,t){return\" \"===e||this._isValid(e,t)},_isValid:function(e,t){var n=this.allowedChars;return n instanceof RegExp?n.test(e):(0,r.isFunction)(n)?n(e,t.index,t.fullText):Array.isArray(n)?n.includes(e):n===e},isAccepted:function(e){return 0===e?this._accepted():this.next().isAccepted(e-1)},_adjustedForward:function(e,t,n){return t>=e?t:this.next()._adjustedForward(e,t+1,n)||t+1},_adjustedBackward:function(e,t){return t>=e-1?e:this.next()._adjustedBackward(e,t+1)||t+1},isValid:function(e){return this._isValid(this._value,e)&&this.next().isValid(this._prepareHandlingArgs(e))}});t.MaskRule=d;var c=d.inherit({value:function(){return this.next().value()},handle:function(e){var t=Object.prototype.hasOwnProperty.call(e,\"value\"),n=t?e.value:e.text;if(!n.length||!e.length)return 0;if(e.start||t)return this.next().handle(this._prepareHandlingArgs(e,{start:e.start&&e.start-1}));var i=n[0],o=n.substring(1);this._tryAcceptChar(i);var a=this._isAllowed(i)?this._prepareHandlingArgs(e,{str:o,length:e.length-1}):e;return this.next().handle(a)+1},clear:function(e){this._accepted(!1),this.next().clear(this._prepareHandlingArgs(e))},_tryAcceptChar:function(e){this._accepted(this._isValid(e))},_isValid:function(e){return e===this.maskChar},first:function(e){return e=e||0,this.next().first(e+1)},_adjustedForward:function(e,t,n){return t>=e&&n===this.maskChar?t:e===t+1&&this._accepted()?e:this.next()._adjustedForward(e,t+1,n)},_adjustedBackward:function(e,t){return t>=e-1?0:this.next()._adjustedBackward(e,t+1)},isValid:function(e){return this.next().isValid(this._prepareHandlingArgs(e))}});t.StubMaskRule=c},78013:function(e,t,n){t.default=void 0;var i=s(n(55994)),o=n(39611),a=s(n(47810)),r=n(3532);function s(e){return e&&e.__esModule?e:{default:e}}var l=[\"deleteContentBackward\",\"deleteSoftLineBackward\",\"deleteContent\",\"deleteHardLineBackward\"],u=[\"historyUndo\",\"historyRedo\"],d=[\"focusIn\",\"focusOut\",\"input\",\"paste\",\"cut\",\"drop\",\"beforeInput\"];function c(e){return\" \".repeat(e)}var h=function(){function e(e){this.editor=e}var t=e.prototype;return t._editorOption=function(){var e;return(e=this.editor).option.apply(e,arguments)},t._editorInput=function(){return this.editor._input()},t._editorCaret=function(e){if(!e)return this.editor._caret();this.editor._caret(e)},t._attachChangeEventHandler=function(){var e=this;if(this._editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")){var t=this._editorInput(),n=(0,o.addNamespace)(\"blur beforedeactivate\",\"dxMask\");i.default.on(t,n,(function(t){e.editor._changeHandler(t)}))}},t._beforeInputHandler=function(){this._previousText=this._editorOption(\"text\"),this._prevCaret=this._editorCaret()},t._inputHandler=function(e){var t=e.originalEvent;if(t){var n=t.inputType;if(u.includes(n))this._handleHistoryInputEvent();else if(l.includes(n))this._handleBackwardDeleteInputEvent();else{var i=this._editorCaret();if(!i.end)return;this._clearSelectedText(),this._autoFillHandler(t),this._editorCaret(i),this._handleInsertTextInputEvent(t.data)}this._editorOption(\"text\")===this._previousText&&e.stopImmediatePropagation()}},t._handleHistoryInputEvent=function(){var e=this._editorCaret();this._updateEditorMask({start:e.start,length:e.end-e.start,text:\"\"}),this._editorCaret(this._prevCaret)},t._handleBackwardDeleteInputEvent=function(){this._clearSelectedText();var e=this._editorCaret();this.editor.setForwardDirection(),this.editor._adjustCaret(),this._editorCaret().start!==e.start&&(this.editor.setBackwardDirection(),this.editor._adjustCaret())},t._clearSelectedText=function(){var e,t,n=(null===(e=this._prevCaret)||void 0===e?void 0:e.end)-(null===(t=this._prevCaret)||void 0===t?void 0:t.start)||1,i=this._editorCaret();this._isAutoFill()||(this.editor.setBackwardDirection(),this._updateEditorMask({start:i.start,length:n,text:c(n)}))},t._handleInsertTextInputEvent=function(e){var t,n,i=null!=e?e:\"\";this.editor.setForwardDirection(),this._updateEditorMask({start:null!==(t=null===(n=this._prevCaret)||void 0===n?void 0:n.start)&&void 0!==t?t:0,length:i.length||1,text:i})||this._editorCaret(this._prevCaret)},t._updateEditorMask=function(e){var t=e.text.length,n=this.editor._handleChain(e);if(this.editor._displayMask(),this.editor.isForwardDirection()){var i=this._editorCaret(),o=i.start,a=i.end,r=n-t;n>1&&1===t&&this._editorCaret({start:o+r,end:a+r}),this.editor._adjustCaret()}return!!n},t._focusInHandler=function(){var e=this;if(this.editor._showMaskPlaceholder(),this.editor.setForwardDirection(),!this.editor._isValueEmpty()&&this._editorOption(\"isValid\"))this.editor._adjustCaret();else{var t=this.editor._maskRulesChain.first();this._caretTimeout=setTimeout((function(){e._editorCaret({start:t,end:t})}),0)}},t._focusOutHandler=function(e){this.editor._changeHandler(e),\"onFocus\"===this._editorOption(\"showMaskMode\")&&this.editor._isValueEmpty()&&(this._editorOption(\"text\",\"\"),this.editor._renderDisplayText(\"\"))},t._delHandler=function(e){var t=this.editor;t._maskKeyHandler(e,(function(){t._hasSelection()||t._handleKey(\" \")}))},t._cutHandler=function(e){var t=this._editorCaret(),n=this._editorInput().val().substring(t.start,t.end);this.editor._maskKeyHandler(e,(function(){return(0,r.clipboardText)(e,n)}))},t._dropHandler=function(){var e=this;this._clearDragTimer(),this._dragTimer=setTimeout((function(){var t=e.editor._convertToValue(e._editorInput().val());e._editorOption(\"value\",t)}))},t._pasteHandler=function(e){var t=this.editor;if(!this._editorOption(\"disabled\")){var n=this._editorCaret();t._maskKeyHandler(e,(function(){var i=(0,r.clipboardText)(e),o=t._maskRulesChain.text().substring(n.end),a=t._handleChain({text:i,start:n.start,length:i.length}),s=n.start+a;t._handleChain({text:o,start:s,length:o.length}),t._caret({start:s,end:s})}))}},t._autoFillHandler=function(e){var t=this,n=this.editor,i=this._editorInput().val();this._inputHandlerTimer=setTimeout((function(){t._isAutoFill()&&(n._maskKeyHandler(e,(function(){n._handleChain({text:i,start:0,length:i.length})})),n._validateMask())}))},t._isAutoFill=function(){var e=this._editorInput();if(a.default.webkit){var t,n=e.get(0);return null!==(t=null==n?void 0:n.matches(\":-webkit-autofill\"))&&void 0!==t&&t}return!1},t._clearDragTimer=function(){clearTimeout(this._dragTimer)},t.getHandler=function(e){var t=this;return function(n){var i;null===(i=t[\"_\".concat(e,\"Handler\")])||void 0===i||i.call(t,n)}},t.attachEvents=function(){var e=this,t=this._editorInput();d.forEach((function(n){var a=(0,o.addNamespace)(n.toLowerCase(),\"dxMask\");i.default.on(t,a,e.getHandler(n))})),this._attachChangeEventHandler()},t.detachEvents=function(){i.default.off(this._editorInput(),\".\".concat(\"dxMask\"))},t.clean=function(){this._clearDragTimer(),clearTimeout(this._caretTimeout),clearTimeout(this._inputHandlerTimer)},e}();t.default=h,e.exports=t.default,e.exports.default=t.default},21516:function(e,t,n){t.default=void 0;var i=s(n(68374)),o=n(35922),a=s(n(20530)),r=s(n(73349));function s(e){return e&&e.__esModule?e:{default:e}}var l=a.default.real(),u=l.ios,d=l.mac,c=u||d,h=function(e){var t;try{t={start:e.selectionStart,end:e.selectionEnd}}catch(e){t={start:0,end:0}}return t},f=function(e,t){var n=r.default.getBody();if(n.contains(e)||n.contains(e.getRootNode().host))try{e.selectionStart=t.start,e.selectionEnd=t.end}catch(e){}},p=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e=(0,i.default)(e).get(0),!(0,o.isDefined)(t))return h(e);!n&&c&&r.default.getActiveElement(e)!==e||f(e,t)};t.default=p,e.exports=t.default,e.exports.default=t.default},51203:function(e,t,n){t.prepareScrollData=t.allowScroll=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(39611);var r=function(e,t,n){var i=(0,o.default)(e),a=n?i.scrollLeft():i.scrollTop(),r=n?\"Width\":\"Height\",s=i.prop(\"scroll\".concat(r))-i.prop(\"client\".concat(r))-a|0;return(0!==a||0!==s)&&(!!(0===a&&t>=0||0===s&&t<=0||a>0&&s>0)||void 0)};t.allowScroll=r;t.prepareScrollData=function(e,t){var n=(0,o.default)(e);return{validate:function(i){if((0,a.isDxMouseWheelEvent)(i)&&(s=i.target,!t||(0,o.default)(s).is(e)))return!!r(n,-i.delta,i.shiftKey)&&(i._needSkipEvent=!0,!0);var s}}}},75811:function(e,t,n){t.attachCssClasses=R,t.current=M,t.default=void 0,t.detachCssClasses=B,t.init=P,t.initialized=$,t.isCompact=z,t.isDark=N,t.isGeneric=H,t.isMaterial=F,t.isPendingThemeLoaded=O,t.isWebFontLoaded=j,t.ready=L,t.resetTheme=q,t.setDefaultTimeout=U,t.waitForThemeLoad=E,t.waitWebFont=W;var i=n(58664),o=g(n(20530)),a=g(n(73349)),r=g(n(68374)),s=n(62754),l=n(61371),u=n(95479),d=g(n(24311)),c=n(77695),h=n(58201),f=n(89729),p=g(n(96688));function g(e){return e&&e.__esModule?e:{default:e}}var m,_,v,y,b,x,w=(0,h.getWindow)(),C=d.default.add,S=c.value,k=c.changeCallback,D=new s.Deferred,I=15e3;function T(){if(!(0,h.hasWindow)())return null;var e,t=(0,r.default)(\"<div>\",m).addClass(\"dx-theme-marker\").appendTo(m.documentElement);try{return(e=w.getComputedStyle(t.get(0)).fontFamily)?\"dx.\"!==(e=e.replace(/[\"']/g,\"\")).substr(0,\"dx.\".length)?null:e.substr(\"dx.\".length):null}finally{t.remove()}}function E(e){var t,n,i=!0;function o(){b=null,clearInterval(n),i=!0,f.themeReadyCallback.fire(),f.themeReadyCallback.empty(),D.resolve()}if(b=e,O()||!I)o();else{if(!i)return void(b&&(b=e));t=Date.now(),i=!1,n=setInterval((function(){var e=O(),n=!e&&Date.now()-t>I;n&&p.default.log(\"W0004\",b),(e||n)&&o()}),10)}}function O(){if(!b)return!0;var e=\"any\"===b;if(\"resolved\"===D.state()&&e)return!0;var t=T();return!(!t||!e)||t===b}function A(e){var t=e?e.split(\".\"):[],n=null;if(v){if(e in v)return e;(0,u.each)(v,(function(e,i){var o=e.split(\".\");if(!(t[0]&&o[0]!==t[0]||t[1]&&t[1]!==o[1]||t[2]&&t[2]!==o[2]))return n&&!i.isActive||(n=e),!i.isActive&&void 0}))}return n}function P(e){var t;(function(e){try{e!==m&&(v=null)}catch(e){v=null}m=e}((e=e||{}).context||a.default.getDocument()),m)&&((t=(0,r.default)(\"link[rel=dx-theme]\",m)).length&&(v={},_=(0,r.default)((0,l.parseHTML)(\"<link rel=stylesheet>\"),m),t.each((function(){var e=(0,r.default)(this,m),t=e.attr(\"data-theme\"),n=e.attr(\"href\"),i=\"true\"===e.attr(\"data-active\");v[t]={url:n,isActive:i}})),t.last().after(_),t.remove()),y=void 0,M(e))}function M(e){if(!arguments.length)return y=y||T();B(S()),\"string\"==typeof(e=e||{})&&(e={theme:e});var t,n=e._autoInit,i=e.loadCallback;if((y=A(e.theme||y))&&(t=v[y]),i&&f.themeReadyCallback.add(i),t)_.attr(\"href\",v[y].url),(f.themeReadyCallback.has()||\"resolved\"!==D.state()||e._forceTimeout)&&E(y);else{if(!n)throw p.default.Error(\"E0021\",y);(0,h.hasWindow)()&&E(\"any\"),f.themeReadyCallback.fire(),f.themeReadyCallback.empty()}D.done((function(){return R((0,c.originalViewPort)(),y)}))}function R(e,t){x=function(e){var t=[],n=(e=e||M())&&e.split(\".\");return n&&(t.push(\"dx-theme-\"+n[0],\"dx-theme-\"+n[0]+\"-typography\"),n.length>1&&t.push(\"dx-color-scheme-\"+n[1]+(F(e)?\"-\"+n[2]:\"\"))),t}(t).join(\" \"),(0,r.default)(e).addClass(x);!function(){var t=(0,h.hasWindow)()&&w.devicePixelRatio;if(t&&!(t<2)){var n=(0,r.default)(\"<div>\");n.css(\"border\",\".5px solid transparent\"),(0,r.default)(\"body\").append(n),1===(0,i.getOuterHeight)(n)&&((0,r.default)(e).addClass(\"dx-hairlines\"),x+=\" dx-hairlines\"),n.remove()}}()}function B(e){(0,r.default)(e).removeClass(x)}function L(e){f.themeReadyCallback.add(e)}function V(e,t){return t||(t=y||T()),new RegExp(e).test(t)}function F(e){return V(\"material\",e)}function H(e){return V(\"generic\",e)}function N(e){return V(\"dark\",e)}function z(e){return V(\"compact\",e)}function j(e,t){var n=a.default.getDocument(),i=n.createElement(\"span\");i.style.position=\"absolute\",i.style.top=\"-9999px\",i.style.left=\"-9999px\",i.style.visibility=\"hidden\",i.style.fontFamily=\"Arial\",i.style.fontSize=\"250px\",i.style.fontWeight=t,i.innerHTML=e,n.body.appendChild(i);var o=i.offsetWidth;i.style.fontFamily=\"Roboto, RobotoFallback, Arial\";var r=i.offsetWidth;return i.parentNode.removeChild(i),o!==r}function W(e,t){return new Promise((function(n){var i=function(){clearInterval(o),clearTimeout(a),n()},o=setInterval((function(){j(e,t)&&i()}),15),a=setTimeout(i,2e3)}))}function G(){if(P({_autoInit:!0,_forceTimeout:!0}),(0,r.default)(\"link[rel=dx-theme]\",m).length)throw p.default.Error(\"E0022\")}function q(){_&&_.attr(\"href\",\"about:blank\"),y=null,b=null,D=new s.Deferred}function $(e){D.done(e)}function U(e){I=e}(0,h.hasWindow)()?G():C(G),k.add((function(e,t){D.done((function(){B(t),R(e)}))})),o.default.changed.add((function(){P({_autoInit:!0})}));var K={setDefaultTimeout:U,initialized:$,resetTheme:q,ready:L,waitWebFont:W,isWebFontLoaded:j,isCompact:z,isDark:N,isGeneric:H,isMaterial:F,detachCssClasses:B,attachCssClasses:R,current:M,waitForThemeLoad:E,isPendingThemeLoaded:O};t.default=K},89729:function(e,t,n){var i;t.themeReadyCallback=void 0;var o=(0,((i=n(44504))&&i.__esModule?i:{default:i}).default)();t.themeReadyCallback=o},93094:function(e,t,n){t.default=void 0;var i=n(58664),o=m(n(68374)),a=m(n(20530)),r=m(n(99393)),s=n(95479),l=n(35922),u=n(13306),d=n(58201),c=n(6415),h=n(20576),f=n(60137),p=m(n(4741)),g=m(n(11050));function m(e){return e&&e.__esModule?e:{default:e}}var _={horizontal:{itemMainRatio:\"widthRatio\",itemCrossRatio:\"heightRatio\",baseItemMainDimension:\"baseItemWidth\",baseItemCrossDimension:\"baseItemHeight\",mainDimension:\"width\",crossDimension:\"height\",mainPosition:\"left\",crossPosition:\"top\"},vertical:{itemMainRatio:\"heightRatio\",itemCrossRatio:\"widthRatio\",baseItemMainDimension:\"baseItemHeight\",baseItemCrossDimension:\"baseItemWidth\",mainDimension:\"height\",crossDimension:\"width\",mainPosition:\"top\",crossPosition:\"left\"}},v=g.default.inherit({_activeStateUnit:\".dx-tile\",_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{items:null,direction:\"horizontal\",hoverStateEnabled:!0,showScrollbar:\"never\",height:500,baseItemWidth:100,baseItemHeight:100,itemMargin:20,activeStateEnabled:!0,indicateLoading:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return f.nativeScrolling},options:{showScrollbar:\"onScroll\"}}])},_itemClass:function(){return\"dx-tile\"},_itemDataKey:function(){return\"dxTileData\"},_itemContainer:function(){return this._$container},_init:function(){this.callBase(),this.$element().addClass(\"dx-tileview\"),this._initScrollView()},_dataSourceLoadingChangedHandler:function(e){var t=this._scrollView;t&&t.startLoading&&(e&&this.option(\"indicateLoading\")?t.startLoading():t.finishLoading())},_hideLoadingIfLoadIndicationOff:function(){this.option(\"indicateLoading\")||this._dataSourceLoadingChangedHandler(!1)},_initScrollView:function(){var e=this.option(),t=e.width,n=e.height,i=e.direction,a=e.showScrollbar;this._scrollView=this._createComponent(this.$element(),p.default,{direction:i,width:t,height:n,scrollByContent:!0,useKeyboard:!1,showScrollbar:a}),this._$container=(0,o.default)(this._scrollView.content()),this._$container.addClass(\"dx-tileview-wrapper\"),this._scrollView.option(\"onUpdated\",this._renderGeometry.bind(this))},_initMarkup:function(){this.callBase(),(0,h.deferRender)(function(){this._cellsPerDimension=1,this._renderGeometry(),this._updateScrollView(),this._fireContentReadyAction()}.bind(this))},_updateScrollView:function(){this._scrollView.option(\"direction\",this.option(\"direction\")),this._scrollView.update(),this._indicateLoadingIfAlreadyStarted()},_indicateLoadingIfAlreadyStarted:function(){this._isDataSourceLoading()&&this._dataSourceLoadingChangedHandler(!0)},_renderGeometry:function(){this._config=_[this.option(\"direction\")];var e,t=this.option(\"items\")||[],n=this._config,o=this.option(\"itemMargin\"),a=Math.max.apply(Math,(0,s.map)(t||[],(function(e){return Math.round(e[n.itemCrossRatio]||1)})));e=d.hasWindow?(\"width\"===n.crossDimension?i.getWidth:i.getHeight)(this.$element()):parseInt(this.$element().get(0).style[n.crossDimension]),this._cellsPerDimension=Math.floor(e/(this.option(n.baseItemCrossDimension)+o)),this._cellsPerDimension=Math.max(this._cellsPerDimension,a),this._cells=[],this._cells.push(new Array(this._cellsPerDimension)),this._arrangeItems(t),this._renderContentSize(n,o)},_renderContentSize:function(e,t){var n=e.mainDimension,o=e.baseItemMainDimension;if((0,d.hasWindow)()){var a=this._cells.length*this.option(o)+(this._cells.length+1)*t,r=(\"width\"===n?i.getWidth:i.getHeight)(this.$element());(\"width\"===n?i.setWidth:i.setHeight)(this._$container,Math.max(a,r))}},_arrangeItems:function(e){var t=this._config,n=t.itemMainRatio,i=t.itemCrossRatio,o=t.mainPosition;this._itemsPositions=[],(0,s.each)(e,function(e,a){var r={};r[n]=a[n]||1,r[i]=a[i]||1,r.index=e,r[n]=r[n]<=0?0:Math.round(r[t.itemMainRatio]),r[i]=r[i]<=0?0:Math.round(r[t.itemCrossRatio]);var s=this._getItemPosition(r);-1===s[o]&&(s[o]=this._cells.push(new Array(this._cellsPerDimension))-1),this._occupyCells(r,s),this._arrangeItem(r,s),this._itemsPositions.push(s)}.bind(this))},_getItemPosition:function(e){var t=this._config,n=t.mainPosition,i=t.crossPosition,o={};o[n]=-1,o[i]=0;for(var a=0;a<this._cells.length;a++){for(var r=0;r<this._cellsPerDimension;r++)if(this._itemFit(a,r,e)){o[n]=a,o[i]=r;break}if(o[n]>-1)break}return o},_itemFit:function(e,t,n){var i=!0,o=this._config,a=n[o.itemMainRatio],r=n[o.itemCrossRatio];if(t+r>this._cellsPerDimension)return!1;for(var s=e;s<e+a;s++)for(var l=t;l<t+r;l++)if(this._cells.length-1<s)this._cells.push(new Array(this._cellsPerDimension));else if(void 0!==this._cells[s][l]){i=!1;break}return i},_occupyCells:function(e,t){for(var n=this._config,i=t[n.mainPosition],o=t[n.crossPosition],a=e[n.itemMainRatio],r=e[n.itemCrossRatio],s=i;s<i+a;s++)for(var l=o;l<o+r;l++)this._cells[s][l]=e.index},_arrangeItem:function(e,t){var n=this._config,o=t[n.mainPosition],a=t[n.crossPosition],r=e[n.itemMainRatio],s=e[n.itemCrossRatio],l=this.option(n.baseItemCrossDimension),u=this.option(n.baseItemMainDimension),d=this.option(\"itemMargin\"),c={display:r<=0||s<=0?\"none\":\"\"},h=r*u+(r-1)*d,f=s*l+(s-1)*d;if(c[n.mainDimension]=h<0?0:h,c[n.crossDimension]=f<0?0:f,c[n.mainPosition]=o*u+(o+1)*d,c[n.crossPosition]=a*l+(a+1)*d,this.option(\"rtlEnabled\")){var p=(0,i.getWidth)(this._$container),g=this.option(\"baseItemWidth\"),m=t.left,_=m*g,v=(g+d)*e.widthRatio,y=m*d;c.left=p-(_+v+y)}this._itemElements().eq(e.index).css(c)},_moveFocus:function(e){var t=\"up\",n=\"down\",i=this.option(\"rtlEnabled\")?\"right\":\"left\",a=this.option(\"rtlEnabled\")?\"left\":\"right\",r=\"pageup\",s=\"pagedown\",u=\"horizontal\"===this.option(\"direction\"),d=this._cells,h=(0,o.default)(this.option(\"focusedElement\")).index(),f=this._itemsPositions[h].left,p=this._itemsPositions[h].top,g=(u?d:d[0]).length,m=(u?d[0]:d).length,_=function(e,t){return u?d[e][t]:d[t][e]};switch(e){case r:case t:for(;p>0&&h===_(f,p);)p--;p<0&&(p=0);break;case s:case n:for(;p<m&&h===_(f,p);)p++;p===m&&(p=m-1);break;case a:for(;f<g&&h===_(f,p);)f++;f===g&&(f=g-1);break;case i:for(;f>=0&&h===_(f,p);)f--;f<0&&(f=0);break;default:return void this.callBase.apply(this,arguments)}var v=_(f,p);if((0,l.isDefined)(v)){var y=this._itemElements().eq(v);this.option(\"focusedElement\",(0,c.getPublicElement)(y)),this._scrollToItem(y)}},_scrollToItem:function(e){if(e.length){var t=this._config,n=\"width\"===t.mainDimension?i.getOuterWidth:i.getOuterHeight,o=this.option(\"itemMargin\"),a=e.position()[t.mainPosition],r=n(e),s=a+r,l=this.scrollPosition(),u=n(this.$element());l<=a&&s<=l+u||(l>a?this._scrollView.scrollTo(a-o):this._scrollView.scrollTo(a+r-u+o))}},_optionChanged:function(e){switch(e.name){case\"items\":this.callBase(e),this._renderGeometry(),this._updateScrollView();break;case\"showScrollbar\":this._initScrollView();break;case\"disabled\":this._scrollView.option(\"disabled\",e.value),this.callBase(e);break;case\"baseItemWidth\":case\"baseItemHeight\":case\"itemMargin\":this._renderGeometry();break;case\"width\":case\"height\":this.callBase(e),this._renderGeometry(),this._scrollView.option(e.name,e.value),this._updateScrollView();break;case\"direction\":this._renderGeometry(),this._updateScrollView();break;case\"indicateLoading\":this._hideLoadingIfLoadIndicationOff();break;default:this.callBase(e)}},scrollPosition:function(){return this._scrollView.scrollOffset()[this._config.mainPosition]}});(0,r.default)(\"dxTileView\",v);var y=v;t.default=y,e.exports=t.default,e.exports.default=t.default},37748:function(e,t,n){var i;t.default=void 0;var o=((i=n(18517))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},33964:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i};var a=function(e){var t=(0,o.default)(\".\".concat(\"dx-toast\")).toArray();if(arguments.length){var n=(0,o.default)(e).get(0);t.map((function(e){return(0,o.default)(e).dxToast(\"instance\")})).filter((function(e){var t=(0,o.default)(e.option(\"container\")).get(0);return n===t&&n})).forEach((function(e){e.hide()}))}else t.forEach((function(e){(0,o.default)(e).dxToast(\"hide\")}))};t.default=a,e.exports=t.default,e.exports.default=t.default},18517:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=n(58201),a=p(n(73349)),r=p(n(55994)),s=p(n(24311)),l=n(35922),u=n(13306),d=p(n(93786)),c=p(n(99393)),h=p(n(89799)),f=n(75811);function p(e){return e&&e.__esModule?e:{default:e}}var g=(0,o.getWindow)(),m=s.default.add,_=[\"info\",\"warning\",\"error\",\"success\"],v=[],y={top:{my:\"top\",at:\"top\",of:null,offset:\"0 0\"},bottom:{my:\"bottom\",at:\"bottom\",of:null,offset:\"0 -20\"},center:{my:\"center\",at:\"center\",of:null,offset:\"0 0\"},right:{my:\"center right\",at:\"center right\",of:null,offset:\"0 0\"},left:{my:\"center left\",at:\"center left\",of:null,offset:\"0 0\"}},b={h:0,v:0};m((function(){r.default.subscribeGlobal(a.default.getDocument(),d.default.down,(function(e){for(var t=v.length-1;t>=0;t--)if(!v[t]._proxiedDocumentDownHandler(e))return}))}));var x=h.default.inherit({_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{message:\"\",type:\"info\",displayTime:2e3,position:\"bottom center\",animation:{show:{type:\"fade\",duration:400,from:0,to:1},hide:{type:\"fade\",duration:400,from:1,to:0}},shading:!1,height:\"auto\",hideTopOverlayHandler:null,preventScrollEvents:!1,closeOnSwipe:!0,closeOnClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:\"android\"},options:{hideOnOutsideClick:!0,width:\"auto\",animation:{show:{type:\"slide\",duration:200,from:{position:{my:\"top\",at:\"bottom\",of:g}}},hide:{type:\"slide\",duration:200,to:{position:{my:\"top\",at:\"bottom\",of:g}}}}}},{device:function(e){var t=\"phone\"===e.deviceType,n=\"android\"===e.platform;return t&&n},options:{width:\"100vw\",position:{at:\"bottom center\",my:\"bottom center\",offset:\"0 0\"}}},{device:function(e){return\"phone\"===e.deviceType},options:{width:\"100vw\"}},{device:function(){return(0,f.isMaterial)()},options:{minWidth:344,maxWidth:568,displayTime:4e3}}])},_init:function(){this.callBase(),this._posStringToObject()},_renderContentImpl:function(){this._message=(0,i.default)(\"<div>\").addClass(\"dx-toast-message\").text(this.option(\"message\")).appendTo(this.$content()),this.setAria(\"role\",\"alert\",this._message),_.includes(this.option(\"type\").toLowerCase())&&this.$content().prepend((0,i.default)(\"<div>\").addClass(\"dx-toast-icon\")),this.callBase()},_render:function(){this.callBase(),this.$element().addClass(\"dx-toast\"),this.$wrapper().addClass(\"dx-toast-wrapper\"),this.$content().addClass(\"dx-toast-\"+String(this.option(\"type\")).toLowerCase()),this.$content().addClass(\"dx-toast-content\"),this._toggleCloseEvents(\"Swipe\"),this._toggleCloseEvents(\"Click\")},_toggleCloseEvents:function(e){var t=\"dx\"+e.toLowerCase();r.default.off(this.$content(),t),this.option(\"closeOn\"+e)&&r.default.on(this.$content(),t,this.hide.bind(this))},_posStringToObject:function(){if((0,l.isString)(this.option(\"position\"))){var e=this.option(\"position\").split(\" \")[0],t=this.option(\"position\").split(\" \")[1];switch(this.option(\"position\",(0,u.extend)({boundaryOffset:b},y[e])),t){case\"center\":case\"left\":case\"right\":this.option(\"position\").at+=\" \"+t,this.option(\"position\").my+=\" \"+t}}},_show:function(){return this.callBase.apply(this,arguments).always(function(){clearTimeout(this._hideTimeout),this._hideTimeout=setTimeout(this.hide.bind(this),this.option(\"displayTime\"))}.bind(this))},_overlayStack:function(){return v},_zIndexInitValue:function(){return this.callBase()+8e3},_dispose:function(){clearTimeout(this._hideTimeout),this.callBase()},_optionChanged:function(e){switch(e.name){case\"type\":this.$content().removeClass(\"dx-toast-\"+e.previousValue),this.$content().addClass(\"dx-toast-\"+String(e.value).toLowerCase());break;case\"message\":this._message&&this._message.text(e.value);break;case\"closeOnSwipe\":this._toggleCloseEvents(\"Swipe\");break;case\"closeOnClick\":this._toggleCloseEvents(\"Click\");break;case\"displayTime\":break;default:this.callBase(e)}}});(0,c.default)(\"dxToast\",x);var w=x;t.default=w,e.exports=t.default,e.exports.default=t.default},71042:function(e,t,n){var i;t.default=void 0;var o=((i=n(70314))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},10329:function(e,t){t.TOOLBAR_CLASS=void 0;t.TOOLBAR_CLASS=\"dx-toolbar\"},49150:function(e,t,n){t.default=void 0;var i=n(58664),o=p(n(68374)),a=p(n(20530)),r=n(13306),s=p(n(14390)),l=p(n(63008)),u=p(n(64017)),d=n(75811),c=n(91627),h=n(61939),f=n(58201);function p(e){return e&&e.__esModule?e:{default:e}}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n(39114);var m=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var p=s.prototype;return p._supportedKeys=function(){var t={};return this.option(\"opened\")&&this._list.option(\"focusedElement\")||(t=this._button._supportedKeys()),(0,r.extend)(e.prototype._supportedKeys.call(this),t,{tab:function(){this._popup&&this._popup.hide()}})},p._getDefaultOptions=function(){return(0,r.extend)(e.prototype._getDefaultOptions.call(this),{items:[],onItemClick:null,dataSource:null,itemTemplate:\"item\",onButtonClick:null,activeStateEnabled:!0,hoverStateEnabled:!0,opened:!1,onItemRendered:null,closeOnClick:!0,useInkRipple:!1,container:void 0,animation:{show:{type:\"fade\",from:0,to:1},hide:{type:\"fade\",to:0}}})},p._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return\"desktop\"===a.default.real().deviceType&&!a.default.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return(0,d.isMaterial)()},options:{useInkRipple:!0,animation:{show:{type:\"pop\",duration:200,from:{scale:0},to:{scale:1}},hide:{type:\"pop\",duration:200,from:{scale:1},to:{scale:0}}}}}])},p._init=function(){e.prototype._init.call(this),this.$element().addClass(\"dx-dropdownmenu\"),this._initItemClickAction(),this._initButtonClickAction()},p._initItemClickAction=function(){this._itemClickAction=this._createActionByOption(\"onItemClick\")},p._initButtonClickAction=function(){this._buttonClickAction=this._createActionByOption(\"onButtonClick\")},p._initTemplates=function(){this._templateManager.addDefaultTemplates({content:new c.ChildDefaultTemplate(\"content\")}),e.prototype._initTemplates.call(this)},p._initMarkup=function(){this._renderButton(),e.prototype._initMarkup.call(this)},p._render=function(){e.prototype._render.call(this),this.setAria({haspopup:!0,expanded:this.option(\"opened\")})},p._renderContentImpl=function(){this.option(\"opened\")&&this._renderPopup()},p._clean=function(){this._cleanFocusState(),this._list&&this._list.$element().remove(),this._popup&&this._popup.$element().remove(),delete this._list,delete this._popup},p._renderButton=function(){var e=this,t=this.$element().addClass(\"dx-dropdownmenu-button\");this._button=this._createComponent(t,l.default,{icon:\"overflow\",template:\"content\",useInkRipple:this.option(\"useInkRipple\"),hoverStateEnabled:!1,focusStateEnabled:!1,onClick:function(t){e.option(\"opened\",!e.option(\"opened\")),e._buttonClickAction(t)}})},p._toggleActiveState=function(e,t,n){this._button._toggleActiveState(e,t,n)},p._toggleMenuVisibility=function(e){var t=null!=e?e:!this._popup.option(\"visible\");e&&this._renderPopup(),this._popup.toggle(t),this.setAria(\"expanded\",t)},p._renderPopup=function(){var e=this;if(!this._$popup){this._$popup=(0,o.default)(\"<div>\").appendTo(this.$element());var t=this.option(),n=t.rtlEnabled,i=t.container,a=t.animation;this._popup=this._createComponent(this._$popup,\"dxPopup\",{onInitialized:function(e){e.component.$wrapper().addClass(\"dx-dropdownmenu-popup-wrapper\").addClass(\"dx-dropdownmenu-popup\")},deferRendering:!1,contentTemplate:function(t){return e._renderList(t)},_ignoreFunctionValueDeprecation:!0,maxHeight:function(){return e._getMaxHeight()},position:{my:\"top \".concat(n?\"left\":\"right\"),at:\"bottom \".concat(n?\"left\":\"right\"),collision:\"fit flip\",offset:{v:3},of:this.$element()},animation:a,onOptionChanged:function(t){var n=t.name,i=t.value;\"visible\"===n&&e.option(\"opened\",i)},container:i,autoResizeEnabled:!1,height:\"auto\",width:\"auto\",hideOnOutsideClick:function(t){return e._closeOutsideDropDownHandler(t)},hideOnParentScroll:!0,shading:!1,dragEnabled:!1,showTitle:!1,fullScreen:!1,_fixWrapperPosition:!0})}},p._getMaxHeight=function(){var e=this.$element(),t=e.offset().top,n=(0,i.getOuterHeight)((0,f.getWindow)()),o=Math.max(t,n-t-(0,i.getOuterHeight)(e));return Math.min(n,o-3-10)},p._closeOutsideDropDownHandler=function(e){return!(0,o.default)(e.target).closest(this.$element()).length},p._renderList=function(e){var t=this,n=(0,o.default)(e);n.addClass(\"dx-dropdownmenu-list\"),this._list=this._createComponent(n,u.default,{dataSource:this._getListDataSource(),pageLoadMode:\"scrollBottom\",indicateLoading:!1,noDataText:\"\",itemTemplate:this.option(\"itemTemplate\"),onItemClick:function(e){t.option(\"closeOnClick\")&&t.option(\"opened\",!1),t._itemClickAction(e)},tabIndex:-1,focusStateEnabled:!1,activeStateEnabled:!0,onItemRendered:this.option(\"onItemRendered\"),_itemAttributes:{role:\"menuitem\"}})},p._itemOptionChanged=function(e,t,n){var i;null===(i=this._list)||void 0===i||i._itemOptionChanged(e,t,n),(0,h.toggleItemFocusableElementTabIndex)(this._list,e)},p._getListDataSource=function(){var e;return null!==(e=this.option(\"dataSource\"))&&void 0!==e?e:this.option(\"items\")},p._setListDataSource=function(){var e;null===(e=this._list)||void 0===e||e.option(\"dataSource\",this._getListDataSource()),delete this._deferRendering},p._getKeyboardListeners=function(){return e.prototype._getKeyboardListeners.call(this).concat([this._list])},p._toggleVisibility=function(t){e.prototype._toggleVisibility.call(this,t),this._button.option(\"visible\",t)},p._optionChanged=function(t){var n,i,o,a=t.name,r=t.value;switch(a){case\"items\":case\"dataSource\":this.option(\"opened\")?this._setListDataSource():this._deferRendering=!0;break;case\"itemTemplate\":null===(n=this._list)||void 0===n||n.option(a,this._getTemplate(r));break;case\"onItemClick\":this._initItemClickAction();break;case\"onButtonClick\":this._buttonClickAction();break;case\"useInkRipple\":this._invalidate();break;case\"focusStateEnabled\":null===(i=this._list)||void 0===i||i.option(a,r),e.prototype._optionChanged.call(this,t);break;case\"onItemRendered\":null===(o=this._list)||void 0===o||o.option(a,r);break;case\"opened\":this._deferRendering&&this._setListDataSource(),this._toggleMenuVisibility(r),this._updateFocusableItemsTabIndex();break;case\"closeOnClick\":break;case\"container\":this._popup&&this._popup.option(a,r);break;case\"disabled\":this._list&&this._updateFocusableItemsTabIndex();break;default:e.prototype._optionChanged.call(this,t)}},p._updateFocusableItemsTabIndex=function(){var e=this;this.option(\"items\").forEach((function(t){return(0,h.toggleItemFocusableElementTabIndex)(e._list,t)}))},s}(s.default);t.default=m,e.exports=t.default,e.exports.default=t.default},64017:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(95479),r=n(31583);function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var l=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n);var r=i.prototype;return r._init=function(){e.prototype._init.call(this),this._activeStateUnit=\".\".concat(\"dx-toolbar-menu-action\",\":not(.\").concat(\"dx-toolbar-hidden-button-group\",\")\")},r._initMarkup=function(){this._renderSections(),e.prototype._initMarkup.call(this),this._setMenuRole()},r._getSections=function(){return this._itemContainer().children()},r._itemElements=function(){return this._getSections().children(this._itemSelector())},r._renderSections=function(){var e=this,t=this._itemContainer();(0,a.each)([\"before\",\"center\",\"after\",\"menu\"],(function(n,i){var a=\"_$\".concat(i,\"Section\");e[a]||(e[a]=(0,o.default)(\"<div>\").addClass(\"dx-toolbar-menu-section\")),e[a].appendTo(t)}))},r._renderItems=function(){e.prototype._renderItems.apply(this,arguments),this._updateSections()},r._setMenuRole=function(){this.$element().find(\".\".concat(\"dx-scrollview-content\")).attr(\"role\",\"menu\")},r._updateSections=function(){var e=this.$element().find(\".\".concat(\"dx-toolbar-menu-section\"));e.removeClass(\"dx-toolbar-menu-last-section\"),e.not(\":empty\").eq(-1).addClass(\"dx-toolbar-menu-last-section\")},r._renderItem=function(t,n,i,o){var a,r=null!==(a=n.location)&&void 0!==a?a:\"menu\",s=this[\"_$\".concat(r,\"Section\")],l=e.prototype._renderItem.call(this,t,n,s,o);return this._getItemTemplateName({itemData:n})&&l.addClass(\"dx-toolbar-menu-custom\"),(\"menu\"===r||\"dxButton\"===n.widget||\"dxButtonGroup\"===n.widget||n.isAction)&&l.addClass(\"dx-toolbar-menu-action\"),\"dxButton\"===n.widget&&l.addClass(\"dx-toolbar-hidden-button\"),\"dxButtonGroup\"===n.widget&&l.addClass(\"dx-toolbar-hidden-button-group\"),l.addClass(n.cssClass),l},r._getItemTemplateName=function(t){var n=e.prototype._getItemTemplateName.call(this,t),i=t.itemData;return i&&i.menuItemTemplate||n},r._dataSourceOptions=function(){return{paginate:!1}},r._itemClickHandler=function(t,n,i){(0,o.default)(t.target).closest(\".\".concat(\"dx-toolbar-menu-action\")).length&&e.prototype._itemClickHandler.call(this,t,n,i)},r._clean=function(){this._getSections().empty(),e.prototype._clean.call(this)},i}(r.ListBase);t.default=l,e.exports=t.default,e.exports.default=t.default},69762:function(e,t,n){t.MultiLineStrategy=void 0;var i=n(58664),o=function(){function e(e){this._toolbar=e}var t=e.prototype;return t._initMarkup=function(){},t._updateMenuVisibility=function(){},t._renderMenuItems=function(){},t._renderItem=function(){},t._getMenuItems=function(){},t._getToolbarItems=function(){var e;return null!==(e=this._toolbar.option(\"items\"))&&void 0!==e?e:[]},t._getItemsWidth=function(){return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(),!0)},t._arrangeItems=function(){var e=this._toolbar._$toolbarItemsContainer.find(\".\".concat(\"dx-toolbar-label\")).eq(0);if(e.length){var t=(0,i.getWidth)(this._toolbar.$element()),n=(0,i.getOuterWidth)(e)-(0,i.getWidth)(e);e.css(\"maxWidth\",t-n)}},t._hideOverflowItems=function(){},t._dimensionChanged=function(){},t._itemOptionChanged=function(){},t._optionChanged=function(){},e}();t.MultiLineStrategy=o},12086:function(e,t,n){t.SingleLineStrategy=void 0;var i=n(58664),o=d(n(68374)),a=n(95479),r=n(20576),s=n(13306),l=d(n(49150)),u=n(47617);function d(e){return e&&e.__esModule?e:{default:e}}function c(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(e,t)}(e)||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 h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var f=function(){function e(e){this._toolbar=e}var t=e.prototype;return t._initMarkup=function(){var e=this;(0,r.deferRender)((function(){e._renderOverflowMenu(),e._renderMenuItems()}))},t._renderOverflowMenu=function(){var e=this;if(this._hasVisibleMenuItems()){this._renderMenuButtonContainer();var t=(0,o.default)(\"<div>\").appendTo(this._overflowMenuContainer()),n=this._toolbar._createActionByOption(\"onItemClick\"),i=this._toolbar._getTemplateByOption(\"menuItemTemplate\");this._menu=this._toolbar._createComponent(t,l.default,{disabled:this._toolbar.option(\"disabled\"),itemTemplate:function(){return i},onItemClick:function(e){n(e)},container:this._toolbar.option(\"menuContainer\"),onOptionChanged:function(t){var n=t.name,i=t.value;\"opened\"===n&&e._toolbar.option(\"overflowMenuVisible\",i),\"items\"===n&&e._updateMenuVisibility(i)}})}},t.renderMenuItems=function(){this._menu||this._renderOverflowMenu(),this._menu&&this._menu.option(\"items\",this._getMenuItems()),this._menu&&!this._menu.option(\"items\").length&&this._menu.option(\"opened\",!1)},t._renderMenuButtonContainer=function(){this._$overflowMenuContainer=(0,o.default)(\"<div>\").appendTo(this._toolbar._$afterSection).addClass(\"dx-toolbar-button\").addClass(\"dx-toolbar-menu-container\")},t._overflowMenuContainer=function(){return this._$overflowMenuContainer},t._updateMenuVisibility=function(e){var t=null!=e?e:this._getMenuItems(),n=t.length&&this._hasVisibleMenuItems(t);this._toggleMenuVisibility(n)},t._toggleMenuVisibility=function(e){this._overflowMenuContainer()&&this._overflowMenuContainer().toggleClass(\"dx-state-invisible\",!e)},t._renderMenuItems=function(){var e=this;(0,r.deferRender)((function(){e.renderMenuItems()}))},t._dimensionChanged=function(){this.renderMenuItems()},t._getToolbarItems=function(){var e,t=this;return(0,r.grep)(null!==(e=this._toolbar.option(\"items\"))&&void 0!==e?e:[],(function(e){return!t._toolbar._isMenuItem(e)}))},t._getHiddenItems=function(){return this._toolbar._itemContainer().children(\".\".concat(\"dx-toolbar-item-auto-hide\",\".\").concat(\"dx-toolbar-item-invisible\")).not(\".\".concat(\"dx-state-invisible\"))},t._getMenuItems=function(){var e,t,n=this,i=(0,r.grep)(null!==(e=this._toolbar.option(\"items\"))&&void 0!==e?e:[],(function(e){return n._toolbar._isMenuItem(e)})),a=this._getHiddenItems();this._restoreItems=null!==(t=this._restoreItems)&&void 0!==t?t:[];var l=[].slice.call(a).map((function(e){var t=n._toolbar._getItemData(e),i=(0,o.default)(e),a=i.children();return(0,s.extend)({menuItemTemplate:function(){return n._restoreItems.push({container:i,item:a}),(0,o.default)(\"<div>\").addClass(\"dx-toolbar-item-auto-hide\").append(a)}},t)}));return[].concat(c(l),c(i))},t._hasVisibleMenuItems=function(e){var t=null!=e?e:this._toolbar.option(\"items\"),n=!1,i=(0,u.compileGetter)(\"visible\"),o=(0,u.compileGetter)(\"locateInMenu\");return(0,a.each)(t,(function(e,t){var a=i(t,{functionsAsIs:!0}),r=o(t,{functionsAsIs:!0});(!1===a||\"auto\"!==r&&\"always\"!==r)&&\"menu\"!==t.location||(n=!0)})),n},t._arrangeItems=function(){var e;this._toolbar._$centerSection.css({margin:\"0 auto\",float:\"none\"}),(0,a.each)(null!==(e=this._restoreItems)&&void 0!==e?e:[],(function(e,t){(0,o.default)(t.container).append(t.item)})),this._restoreItems=[];var t=(0,i.getWidth)(this._toolbar.$element());return this._hideOverflowItems(t),t},t._hideOverflowItems=function(e){var t,n=this._toolbar.$element().find(\".\".concat(\"dx-toolbar-item-auto-hide\"));if(n.length){e=null!==(t=e)&&void 0!==t?t:(0,i.getWidth)(this._toolbar.$element()),(0,o.default)(n).removeClass(\"dx-toolbar-item-invisible\");for(var a=this._getItemsWidth();n.length&&e<a;){n.eq(-1).addClass(\"dx-toolbar-item-invisible\"),a=this._getItemsWidth(),n.splice(-1,1)}}},t._getItemsWidth=function(){return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection,this._toolbar._$centerSection,this._toolbar._$afterSection])},t._itemOptionChanged=function(e,t,n){var i;if((\"disabled\"===t||\"options.disabled\"===t)&&this._toolbar._isMenuItem(e))return void(null===(i=this._menu)||void 0===i||i._itemOptionChanged(e,t,n));this.renderMenuItems()},t._renderItem=function(e,t){\"auto\"===e.locateInMenu&&t.addClass(\"dx-toolbar-item-auto-hide\")},t._optionChanged=function(e,t){var n,i,o,a,r;switch(e){case\"disabled\":null===(n=this._menu)||void 0===n||n.option(e,t);break;case\"overflowMenuVisible\":null===(i=this._menu)||void 0===i||i.option(\"opened\",t);break;case\"onItemClick\":null===(o=this._menu)||void 0===o||o.option(e,t);break;case\"menuContainer\":null===(a=this._menu)||void 0===a||a.option(\"container\",t);break;case\"menuItemTemplate\":null===(r=this._menu)||void 0===r||r.option(\"itemTemplate\",t)}},e}();t.SingleLineStrategy=f},997:function(e,t,n){t.default=void 0;var i=n(58664),o=g(n(68374)),a=n(75811),r=n(35922),s=g(n(99393)),l=n(13306),u=n(95479),d=n(37518),c=g(n(25970)),h=n(93280),f=g(n(87209)),p=n(10329);function g(e){return e&&e.__esModule?e:{default:e}}function m(e,t){return(m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){var t,n;function s(){return e.apply(this,arguments)||this}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,m(t,n);var c=s.prototype;return c._getSynchronizableOptionsForCreateComponent=function(){return e.prototype._getSynchronizableOptionsForCreateComponent.call(this).filter((function(e){return\"disabled\"!==e}))},c._initTemplates=function(){e.prototype._initTemplates.call(this);var t=new h.BindableTemplate(function(e,t,n){if((0,r.isPlainObject)(t)){var i,o=t.text,a=t.html,s=t.widget;if(o&&e.text(o).wrapInner(\"<div>\"),a&&e.html(a),\"dxDropDownButton\"===s)t.options=null!==(i=t.options)&&void 0!==i?i:{},(0,r.isDefined)(t.options.stylingMode)||(t.options.stylingMode=this.option(\"useFlatButtons\")?\"text\":\"contained\");if(\"dxButton\"===s){var l,u,d,c;if(this.option(\"useFlatButtons\"))t.options=null!==(l=t.options)&&void 0!==l?l:{},t.options.stylingMode=null!==(u=t.options.stylingMode)&&void 0!==u?u:\"text\";if(this.option(\"useDefaultButtons\"))t.options=null!==(d=t.options)&&void 0!==d?d:{},t.options.type=null!==(c=t.options.type)&&void 0!==c?c:\"default\"}}else e.text(String(t));this._getTemplate(\"dx-polymorph-widget\").render({container:e,model:n,parent:this})}.bind(this),[\"text\",\"html\",\"widget\",\"options\"],this.option(\"integrationOptions.watchMethod\"));this._templateManager.addDefaultTemplates({item:t,menuItem:t})},c._getDefaultOptions=function(){return(0,l.extend)(e.prototype._getDefaultOptions.call(this),{renderAs:\"topToolbar\",grouped:!1,useFlatButtons:!1,useDefaultButtons:!1})},c._defaultOptionsRules=function(){return e.prototype._defaultOptionsRules.call(this).concat([{device:function(){return(0,a.isMaterial)()},options:{useFlatButtons:!0}}])},c._itemContainer=function(){return this._$toolbarItemsContainer.find([\".\".concat(\"dx-toolbar-before\"),\".\".concat(\"dx-toolbar-center\"),\".\".concat(\"dx-toolbar-after\")].join(\",\"))},c._itemClass=function(){return\"dx-toolbar-item\"},c._itemDataKey=function(){return\"dxToolbarItemDataKey\"},c._dimensionChanged=function(){this._disposed||(this._arrangeItems(),this._applyCompactMode())},c._initMarkup=function(){this._renderToolbar(),this._renderSections(),e.prototype._initMarkup.call(this)},c._render=function(){e.prototype._render.call(this),this._renderItemsAsync(),this._updateDimensionsInMaterial()},c._postProcessRenderItems=function(){this._arrangeItems()},c._renderToolbar=function(){this.$element().addClass(p.TOOLBAR_CLASS),this._$toolbarItemsContainer=(0,o.default)(\"<div>\").addClass(\"dx-toolbar-items-container\").appendTo(this.$element()),this.setAria(\"role\",\"toolbar\")},c._renderSections=function(){var e=this,t=this._$toolbarItemsContainer;(0,u.each)([\"before\",\"center\",\"after\"],(function(n,i){var a=\"dx-toolbar-\".concat(i);t.find(\".\".concat(a)).length||(e[\"_$\".concat(i,\"Section\")]=(0,o.default)(\"<div>\").addClass(a).appendTo(t))}))},c._arrangeItems=function(e){var t;e=null!==(t=e)&&void 0!==t?t:(0,i.getWidth)(this.$element()),this._$centerSection.css({margin:\"0 auto\",float:\"none\"});var n=(0,d.getBoundingRect)(this._$beforeSection.get(0)),o=(0,d.getBoundingRect)(this._$afterSection.get(0));this._alignCenterSection(n,o,e);var a=this._$toolbarItemsContainer.find(\".\".concat(\"dx-toolbar-label\")).eq(0),r=a.parent();if(a.length){var s=n.width?n.width:a.position().left,l=r.hasClass(\"dx-toolbar-before\")?0:s,u=r.hasClass(\"dx-toolbar-after\")?0:o.width,c=0;r.children().not(\".\".concat(\"dx-toolbar-label\")).each((function(){c+=(0,i.getOuterWidth)(this)}));var h=e-c,f=Math.max(h-l-u,0);if(r.hasClass(\"dx-toolbar-before\"))this._alignSection(this._$beforeSection,f);else{var p=(0,i.getOuterWidth)(a)-(0,i.getWidth)(a);a.css(\"maxWidth\",f-p)}}},c._alignCenterSection=function(e,t,n){this._alignSection(this._$centerSection,n-e.width-t.width);var i=this.option(\"rtlEnabled\"),o=i?t:e,a=i?e:t,r=(0,d.getBoundingRect)(this._$centerSection.get(0));(o.right>r.left||r.right>a.left)&&this._$centerSection.css({marginLeft:o.width,marginRight:a.width,float:o.width>a.width?\"none\":\"right\"})},c._alignSection=function(e,t){var n=e.find(\".\".concat(\"dx-toolbar-label\")).toArray();t-=this._getCurrentLabelsPaddings(n);var i=this._getCurrentLabelsWidth(n),o=Math.abs(i-t);t<i?(n=n.reverse(),this._alignSectionLabels(n,o,!1)):this._alignSectionLabels(n,o,!0)},c._alignSectionLabels=function(e,t,n){for(var i=function(e){return(0,d.getBoundingRect)(e).width},a=0;a<e.length;a++){var r=(0,o.default)(e[a]),s=Math.ceil(i(e[a])),l=void 0;n&&r.css(\"maxWidth\",\"inherit\");var u=Math.ceil(n?i(e[a]):s);if(!(u<t)){l=n?s+t:s-t,r.css(\"maxWidth\",l);break}l=n?u:0,t-=u,r.css(\"maxWidth\",l)}},c._applyCompactMode=function(){var e=this.$element();e.removeClass(\"dx-toolbar-compact\"),this.option(\"compactMode\")&&this._getSummaryItemsWidth(this.itemElements(),!0)>(0,i.getWidth)(e)&&e.addClass(\"dx-toolbar-compact\")},c._getCurrentLabelsWidth=function(e){var t=0;return e.forEach((function(e,n){t+=(0,i.getOuterWidth)(e)})),t},c._getCurrentLabelsPaddings=function(e){var t=0;return e.forEach((function(e,n){t+=(0,i.getOuterWidth)(e)-(0,i.getWidth)(e)})),t},c._renderItem=function(t,n,i,o){var a,r,s=null!==(a=n.location)&&void 0!==a?a:\"center\",l=null!=i?i:this[\"_$\".concat(s,\"Section\")],u=!!(null!==(r=n.text)&&void 0!==r?r:n.html),d=e.prototype._renderItem.call(this,t,n,l,o);return d.toggleClass(\"dx-toolbar-button\",!u).toggleClass(\"dx-toolbar-label\",u).addClass(n.cssClass),d},c._renderGroupedItems=function(){var e=this;(0,u.each)(this.option(\"items\"),(function(t,n){var i,a=n.items,r=(0,o.default)(\"<div>\").addClass(\"dx-toolbar-group\"),s=null!==(i=n.location)&&void 0!==i?i:\"center\";a&&a.length&&((0,u.each)(a,(function(t,n){e._renderItem(t,n,r,null)})),e._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(s)).append(r))}))},c._renderItems=function(t){this.option(\"grouped\")&&t.length&&t[0].items?this._renderGroupedItems():e.prototype._renderItems.call(this,t)},c._getToolbarItems=function(){var e;return null!==(e=this.option(\"items\"))&&void 0!==e?e:[]},c._renderContentImpl=function(){var e=this._getToolbarItems();this.$element().toggleClass(\"dx-toolbar-mini\",0===e.length),this._renderedItemsCount?this._renderItems(e.slice(this._renderedItemsCount)):this._renderItems(e),this._applyCompactMode()},c._renderEmptyMessage=function(){},c._clean=function(){this._$toolbarItemsContainer.children().empty(),this.$element().empty(),delete this._$beforeSection,delete this._$centerSection,delete this._$afterSection},c._visibilityChanged=function(e){e&&this._arrangeItems()},c._isVisible=function(){return(0,i.getWidth)(this.$element())>0&&(0,i.getHeight)(this.$element())>0},c._getIndexByItem=function(e){return this._getToolbarItems().indexOf(e)},c._itemOptionChanged=function(t,n,i){e.prototype._itemOptionChanged.apply(this,[t,n,i]),this._arrangeItems()},c._optionChanged=function(t){var n=t.name;t.value;switch(n){case\"width\":e.prototype._optionChanged.apply(this,arguments),this._dimensionChanged();break;case\"renderAs\":case\"useFlatButtons\":case\"useDefaultButtons\":this._invalidate();break;case\"compactMode\":this._applyCompactMode();break;case\"grouped\":break;default:e.prototype._optionChanged.apply(this,arguments)}},c._dispose=function(){e.prototype._dispose.call(this),clearTimeout(this._waitParentAnimationTimeout)},c._updateDimensionsInMaterial=function(){var e,t,n=this;if((0,a.isMaterial)()){Promise.all([new Promise((function(e){!function t(){clearTimeout(n._waitParentAnimationTimeout),n._waitParentAnimationTimeout=setTimeout((function(){return i=!0,n.$element().parents().each((function(e,t){if(f.default.isAnimating((0,o.default)(t)))return i=!1,!1})),i&&e(),i||t();var i}),15)}()})),(e=n.$element().find(\".\".concat(\"dx-toolbar-label\")),t=[],e.each((function(e,n){var i=(0,o.default)(n).text(),r=(0,o.default)(n).css(\"fontWeight\");t.push((0,a.waitWebFont)(i,r))})),Promise.all(t))]).then((function(){n._dimensionChanged()}))}},s}(c.default);(0,s.default)(\"dxToolbarBase\",_);var v=_;t.default=v,e.exports=t.default,e.exports.default=t.default},70314:function(e,t,n){t.default=void 0;var i=u(n(99393)),o=n(13306),a=u(n(997)),r=n(61939),s=n(69762),l=n(12086);function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var a=i.prototype;return a._getDefaultOptions=function(){return(0,o.extend)(e.prototype._getDefaultOptions.call(this),{menuItemTemplate:\"menuItem\",menuContainer:void 0,overflowMenuVisible:!1,multiline:!1})},a._isMultiline=function(){return this.option(\"multiline\")},a._dimensionChanged=function(t){\"height\"!==t&&(e.prototype._dimensionChanged.call(this),this._layoutStrategy._dimensionChanged())},a._initMarkup=function(){e.prototype._initMarkup.call(this),this._updateFocusableItemsTabIndex(),this._layoutStrategy._initMarkup()},a._renderToolbar=function(){e.prototype._renderToolbar.call(this),this._renderLayoutStrategy()},a._itemContainer=function(){return this._isMultiline()?this._$toolbarItemsContainer:e.prototype._itemContainer.call(this)},a._renderLayoutStrategy=function(){this.$element().toggleClass(\"dx-toolbar-multiline\",this._isMultiline()),this._layoutStrategy=this._isMultiline()?new s.MultiLineStrategy(this):new l.SingleLineStrategy(this)},a._renderSections=function(){if(!this._isMultiline())return e.prototype._renderSections.call(this)},a._postProcessRenderItems=function(){this._layoutStrategy._hideOverflowItems(),this._layoutStrategy._updateMenuVisibility(),e.prototype._postProcessRenderItems.call(this),this._layoutStrategy._renderMenuItems()},a._renderItem=function(t,n,i,o){var a=e.prototype._renderItem.call(this,t,n,i,o);this._layoutStrategy._renderItem(n,a);var r=n.widget,s=n.showText;return\"dxButton\"===r&&\"inMenu\"===s&&a.toggleClass(\"dx-toolbar-text-auto-hide\"),a},a._getItemsWidth=function(){return this._layoutStrategy._getItemsWidth()},a._getMenuItems=function(){return this._layoutStrategy._getMenuItems()},a._getToolbarItems=function(){return this._layoutStrategy._getToolbarItems()},a._arrangeItems=function(){if(!this.$element().is(\":hidden\")){var t=this._layoutStrategy._arrangeItems();this._isMultiline()||e.prototype._arrangeItems.call(this,t)}},a._itemOptionChanged=function(t,n,i){this._isMenuItem(t)||e.prototype._itemOptionChanged.call(this,t,n,i),this._layoutStrategy._itemOptionChanged(t,n,i),\"disabled\"!==n&&\"options.disabled\"!==n||(0,r.toggleItemFocusableElementTabIndex)(this,t),\"location\"===n&&this.repaint()},a._updateFocusableItemsTabIndex=function(){var e=this;this._getToolbarItems().forEach((function(t){return(0,r.toggleItemFocusableElementTabIndex)(e,t)}))},a._isMenuItem=function(e){return\"menu\"===e.location||\"always\"===e.locateInMenu},a._isToolbarItem=function(e){return void 0===e.location||\"never\"===e.locateInMenu},a._optionChanged=function(t){var n=t.name,i=t.value;switch(this._layoutStrategy._optionChanged(n,i),n){case\"menuContainer\":case\"menuItemTemplate\":case\"overflowMenuVisible\":break;case\"multiline\":this._invalidate();break;case\"disabled\":e.prototype._optionChanged.apply(this,arguments),this._updateFocusableItemsTabIndex();break;default:e.prototype._optionChanged.apply(this,arguments)}},a.updateDimensions=function(){this._dimensionChanged()},i}(a.default);(0,i.default)(\"dxToolbar\",c);var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},61939:function(e,t,n){t.toggleItemFocusableElementTabIndex=function(e,t){var n;if(!e)return;var i=e._findItemElementByItem(t);if(!i.length)return;var r=e._getItemData(i),s=!!(null!==(n=r.options)&&void 0!==n&&n.disabled||r.disabled||e.option(\"disabled\")),l=r.widget;if(l&&-1!==a.indexOf(l)){var u=i.find(l.toLowerCase().replace(\"dx\",\".dx-\"));if(u.length){var d,c,h=function(e){var t=e.data&&e.data(),n=t&&t.dxComponents,i=n&&n[0];return i&&t[i]}(u);if(!h)return;var f,p=null===(d=h._focusTarget)||void 0===d?void 0:d.call(h);if(\"dxDropDownButton\"===l)p=p&&p.find(\".\".concat(\"dx-buttongroup\"));else p=null!==(f=p)&&void 0!==f?f:(0,o.default)(h.element());var g=null===(c=r.options)||void 0===c?void 0:c.tabIndex;s?p.attr(\"tabIndex\",-1):p.attr(\"tabIndex\",null!=g?g:0)}}};var i,o=(i=n(68374))&&i.__esModule?i:{default:i};var a=[\"dxAutocomplete\",\"dxButton\",\"dxCheckBox\",\"dxDateBox\",\"dxMenu\",\"dxSelectBox\",\"dxTabs\",\"dxTextBox\",\"dxButtonGroup\",\"dxDropDownButton\"]},94920:function(e,t,n){var i;t.default=void 0;var o=((i=n(4731))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},4731:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(73176)),a=u(n(99393)),r=n(13306),s=u(n(17287)),l=n(35922);function u(e){return e&&e.__esModule?e:{default:e}}var d=s.default.inherit({_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{toolbarItems:[],showCloseButton:!1,enableBodyScroll:!0,showTitle:!1,title:null,titleTemplate:null,onTitleRendered:null,bottomTemplate:null,preventScrollEvents:!1,propagateOutsideClick:!0})},_render:function(){this.$element().addClass(\"dx-tooltip\"),this.$wrapper().addClass(\"dx-tooltip-wrapper\"),this.callBase()},_renderContent:function(){this.callBase(),this._contentId=\"dx-\"+new o.default,this.$overlayContent().attr({id:this._contentId}),this._toggleAriaDescription(!0)},_toggleAriaDescription:function(e){var t=(0,i.default)(this.option(\"target\")),n=e?this._contentId:void 0;(0,l.isWindow)(t.get(0))||this.setAria(\"describedby\",n,t)}});(0,a.default)(\"dxTooltip\",d);var c=d;t.default=c,e.exports=t.default,e.exports.default=t.default},63898:function(e,t,n){t.hide=function(){if(!u)return(new r.Deferred).resolve();return u.hide().done(c).promise()},t.show=function(e){return c(),function(e){var t=(e=(0,a.extend)({position:\"top\"},e)).content;delete e.content;var n=(0,i.default)(\"<div>\").html(t).appendTo((0,s.value)());d=function(){n.remove()},u=new o.default(n,e)}(e),u.show()};var i=l(n(68374)),o=l(n(4731)),a=n(13306),r=n(62754),s=n(77695);function l(e){return e&&e.__esModule?e:{default:e}}var u=null,d=null,c=function(){u&&(d(),u=null)}},39661:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(96452)),a=u(n(99393)),r=n(13306),s=n(58201),l=u(n(87209));function u(e){return e&&e.__esModule?e:{default:e}}var d=o.default.inherit({_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{min:0,max:100,value:0})},_initMarkup:function(){this.$element().addClass(\"dx-trackbar\"),this._renderWrapper(),this._renderContainer(),this._renderRange(),this._renderValue(),this._setRangeStyles(),this.callBase()},_render:function(){this.callBase(),this._setRangeStyles(this._rangeStylesConfig())},_renderWrapper:function(){this._$wrapper=(0,i.default)(\"<div>\").addClass(\"dx-trackbar-wrapper\").appendTo(this.$element())},_renderContainer:function(){this._$bar=(0,i.default)(\"<div>\").addClass(\"dx-trackbar-container\").appendTo(this._$wrapper)},_renderRange:function(){this._$range=(0,i.default)(\"<div>\").addClass(\"dx-trackbar-range\").appendTo(this._$bar)},_renderValue:function(){var e=this.option(\"value\"),t=this.option(\"min\"),n=this.option(\"max\");if(!(t>n)){if(e<t)return this.option(\"value\",t),void(this._currentRatio=0);if(e>n)return this.option(\"value\",n),void(this._currentRatio=1);var i=t===n?0:(e-t)/(n-t);!this._needPreventAnimation&&this._setRangeStyles({width:100*i+\"%\"}),this.setAria({valuemin:this.option(\"min\"),valuemax:n,valuenow:e}),this._currentRatio=i}},_rangeStylesConfig:function(){return{width:100*this._currentRatio+\"%\"}},_setRangeStyles:function(e){l.default.stop(this._$range),e?!this._needPreventAnimation&&(0,s.hasWindow)()&&l.default.animate(this._$range,{type:\"custom\",duration:100,to:e}):this._$range.css({width:0})},_optionChanged:function(e){switch(e.name){case\"value\":this._renderValue(),this.callBase(e);break;case\"max\":case\"min\":this._renderValue();break;default:this.callBase(e)}},_dispose:function(){l.default.stop(this._$range),this.callBase()}});(0,a.default)(\"dxTrackBar\",d);var c=d;t.default=c,e.exports=t.default,e.exports.default=t.default},82655:function(e,t,n){t.default=void 0;var i,o=(i=n(1977))&&i.__esModule?i:{default:i};n(65132);var a=o.default;t.default=a,e.exports=t.default,e.exports.default=t.default},65132:function(e,t,n){var i;t.default=void 0;var o=((i=n(14126))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},30254:function(e,t,n){var i;t.default=void 0;var o=((i=n(76986))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},60903:function(e,t,n){t.default=void 0;var i=n(58664),o=T(n(68374)),a=T(n(73349)),r=T(n(55994)),s=T(n(28109)),l=n(95429),u=n(20576),d=n(58201),c=n(35922),h=n(13306),f=n(95479),p=n(6415),g=T(n(18859)),m=T(n(65810)),_=n(39611),v=T(n(93786)),y=n(85272),b=T(n(87209)),x=T(n(41183)),w=T(n(2492)),C=n(62754),S=n(60137),k=n(1515),D=n(23842),I=n(44899);function T(e){return e&&e.__esModule?e:{default:e}}var E=\"\".concat(\"dx-treeview\",\"-node\"),O=\"\".concat(E,\"-container\"),A=\"\".concat(E,\"-loadindicator\"),P=\"\".concat(E,\"-container-opened\"),M=\"\".concat(E,\"-is-leaf\"),R=\"\".concat(\"dx-treeview\",\"-item\"),B=\"\".concat(R,\"-with-checkbox\"),L=\"\".concat(R,\"-with-custom-expander-icon\"),V=\"\".concat(\"dx-treeview\",\"-custom-expander-icon-item-container\"),F=\"\".concat(R,\"-without-checkbox\"),H=\"\".concat(R,\"-data\"),N=\"\".concat(\"dx-treeview\",\"-toggle-item-visibility\"),z=\"\".concat(\"dx-treeview\",\"-custom-collapse-icon\"),j=\"\".concat(\"dx-treeview\",\"-custom-expand-icon\"),W=\"\".concat(\"dx-treeview\",\"-loadindicator\"),G=\"\".concat(\"dx-treeview\",\"-loadindicator-wrapper\"),q=\"\".concat(\"dx-treeview\",\"-toggle-item-visibility-opened\"),$=\"\".concat(\"dx-treeview\",\"-select-all-item\"),U=m.default.inherit({_supportedKeys:function(e){var t=this,n=function(e){var n=(0,o.default)(t.option(\"focusedElement\"));n.length&&(e.target=n,e.currentTarget=n,t._itemClickHandler(e,n.children(\".\"+R)),t._getEventNameByOption(t.option(\"expandEvent\"))===(0,_.addNamespace)(l.name,\"dxTreeView_expand\")&&t._expandEventHandler(e))},i=function(e){e.preventDefault();var n=(0,o.default)(t.option(\"focusedElement\")),i=t._getCheckBoxInstance(n);if(!i.option(\"disabled\")){var a=i.option(\"value\");t._updateItemSelection(!a,n.find(\".\"+R).get(0),!0)}},a=function(e,t){if(this.option(\"expandAllEnabled\")){t.preventDefault();var n=(0,o.default)(this.option(\"focusedElement\"));if(n.length){var i=this._getItemData(n.find(\".\".concat(R)));this._toggleExpandedNestedItems([i],e)}}};return(0,h.extend)(this.callBase(),{enter:this._showCheckboxes()?i:n,space:this._showCheckboxes()?i:n,asterisk:a.bind(this,!0),minus:a.bind(this,!1)})},_toggleExpandedNestedItems:function(e,t){if(e)for(var n=0,i=e.length;n<i;n++){var o=e[n],a=this._dataAdapter.getNodeByItem(o);this._toggleExpandedState(a,t),this._toggleExpandedNestedItems(o.items,t)}},_getNodeElement:function(e,t){var n=this._encodeString(e.internalFields.key);if(t)return t.$nodeByKey||(t.$nodeByKey={},this.$element().find(\".\".concat(E)).each((function(){var e=(0,o.default)(this),n=e.attr(\"data-item-id\");t.$nodeByKey[n]=e}))),t.$nodeByKey[n]||(0,o.default)();var i=this.$element().get(0).querySelector(\"[\".concat(\"data-item-id\",'=\"').concat(n,'\"]'));return(0,o.default)(i)},_activeStateUnit:\".\"+R,_widgetClass:function(){return\"dx-treeview\"},_getDefaultOptions:function(){var e=(0,h.extend)(this.callBase(),{animationEnabled:!0,dataStructure:\"tree\",deferRendering:!0,expandAllEnabled:!1,hasItemsExpr:\"hasItems\",selectNodesRecursive:!0,expandNodesRecursive:!0,showCheckBoxesMode:\"none\",expandIcon:null,collapseIcon:null,selectAllText:s.default.format(\"dxList-selectAll\"),onItemSelectionChanged:null,onItemExpanded:null,onItemCollapsed:null,scrollDirection:\"vertical\",useNativeScrolling:!0,virtualModeEnabled:!1,rootValue:0,focusStateEnabled:!1,selectionMode:\"multiple\",expandEvent:\"dblclick\",selectByClick:!1,createChildren:null,onSelectAllValueChanged:null});return(0,h.extend)(!0,e,{integrationOptions:{useDeferUpdateForTemplates:!1}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return!S.nativeScrolling},options:{useNativeScrolling:!1}}])},_initSelectedItems:u.noop,_syncSelectionOptions:u.asyncNoop,_fireSelectionChanged:function(){var e=this._selectionChangePromise;(0,C.when)(e).done(function(){this._createActionByOption(\"onSelectionChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})()}.bind(this))},_createSelectAllValueChangedAction:function(){this._selectAllValueChangedAction=this._createActionByOption(\"onSelectAllValueChanged\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_fireSelectAllValueChanged:function(e){this._selectAllValueChangedAction({value:e})},_checkBoxModeChange:function(e,t){var n=this.option(\"searchEnabled\"),i=this._selectAllEnabled(t),o=this._itemContainer(n,i);if(this._detachClickEvent(o),this._detachExpandEvent(o),\"none\"!==t&&\"none\"!==e){var a=this._$selectAllItem&&this._$selectAllItem.length;switch(e){case\"selectAll\":a||(this._createSelectAllValueChangedAction(),this._renderSelectAllItem());break;case\"normal\":a&&(this._$selectAllItem.remove(),delete this._$selectAllItem)}}},_removeSelection:function(){var e=this;(0,f.each)(this._dataAdapter.getFullData(),(function(t,n){e._hasChildren(n)&&e._dataAdapter.toggleSelection(n.internalFields.key,!1,!0)}))},_optionChanged:function(e){var t=e.name,n=e.value,i=e.previousValue;switch(t){case\"selectAllText\":this._$selectAllItem&&this._$selectAllItem.dxCheckBox(\"instance\").option(\"text\",n);break;case\"showCheckBoxesMode\":this._checkBoxModeChange(n,i),this._invalidate();break;case\"scrollDirection\":this.getScrollable().option(\"direction\",n);break;case\"useNativeScrolling\":this.getScrollable().option(\"useNative\",n);break;case\"items\":delete this._$selectAllItem,this.callBase(e);break;case\"dataSource\":this.callBase(e),this._initDataAdapter(),this._filter={};break;case\"hasItemsExpr\":this._initAccessors(),this.repaint();break;case\"expandEvent\":this._attachExpandEvent();break;case\"deferRendering\":case\"dataStructure\":case\"rootValue\":case\"createChildren\":case\"expandNodesRecursive\":case\"onItemSelectionChanged\":case\"onItemExpanded\":case\"onItemCollapsed\":case\"expandAllEnabled\":case\"animationEnabled\":case\"virtualModeEnabled\":case\"selectByClick\":break;case\"selectionMode\":this._initDataAdapter(),this.callBase(e);break;case\"onSelectAllValueChanged\":this._createSelectAllValueChangedAction();break;case\"selectNodesRecursive\":this._dataAdapter.setOption(\"recursiveSelection\",e.value),this.repaint();break;case\"expandIcon\":case\"collapseIcon\":this.repaint();break;default:this.callBase(e)}},_initDataSource:function(){this._useCustomChildrenLoader()?this._loadChildrenByCustomLoader(null).done(function(e){e&&e.length&&this.option(\"items\",e)}.bind(this)):(this.callBase(),this._isVirtualMode()&&this._initVirtualMode())},_initVirtualMode:function(){var e=this._filter;e.custom||(e.custom=this._dataSource.filter()),e.internal||(e.internal=[this.option(\"parentIdExpr\"),this.option(\"rootValue\")])},_useCustomChildrenLoader:function(){return(0,c.isFunction)(this.option(\"createChildren\"))&&this._isDataStructurePlain()},_loadChildrenByCustomLoader:function(e){var t=this.option(\"createChildren\").call(this,e);return Array.isArray(t)?(new C.Deferred).resolve(t).promise():t&&(0,c.isFunction)(t.then)?(0,C.fromPromise)(t):(new C.Deferred).resolve([]).promise()},_combineFilter:function(){return this._filter.custom&&this._filter.custom.length?[this._filter.custom,this._filter.internal]:this._filter.internal},_dataSourceLoadErrorHandler:function(){this._renderEmptyMessage()},_init:function(){this._filter={},this.callBase(),this._initStoreChangeHandlers()},_dataSourceChangedHandler:function(e){var t=this.option(\"items\");this._initialized&&this._isVirtualMode()&&t.length||this.option(\"items\",e)},_removeTreeViewLoadIndicator:function(){this._treeViewLoadIndicator&&(this._treeViewLoadIndicator.remove(),this._treeViewLoadIndicator=null)},_createTreeViewLoadIndicator:function(){return this._treeViewLoadIndicator=(0,o.default)(\"<div>\").addClass(W),this._createComponent(this._treeViewLoadIndicator,w.default,{}),this._treeViewLoadIndicator},_dataSourceLoadingChangedHandler:function(e){var t;if(this._isVirtualMode()&&(t=this._combineFilter(),this._dataSource.filter(t)),e&&!this._dataSource.isLoaded()){this.option(\"items\",[]);var n=(0,o.default)(\"<div>\").addClass(G);this._createTreeViewLoadIndicator().appendTo(n),this.itemsContainer().append(n),this._isVirtualMode()&&this._dataSource.filter()!==t&&this._dataSource.filter([])}else this._removeTreeViewLoadIndicator()},_initStoreChangeHandlers:function(){var e=this;\"plain\"===this.option(\"dataStructure\")&&this._dataSource&&this._dataSource.store().on(\"inserted\",(function(t){e.option().items=e.option(\"items\").concat(t),e._dataAdapter.addItem(t),e._dataAdapter.isFiltered(t)&&e._updateLevel(e._parentIdGetter(t))})).on(\"removed\",(function(t){var n=e._dataAdapter.getNodeByKey(t);(0,c.isDefined)(n)&&(e.option(\"items\")[e._dataAdapter.getIndexByKey(n.internalFields.key)]=0,e._markChildrenItemsToRemove(n),e._removeItems(),e._dataAdapter.removeItem(t),e._updateLevel(e._parentIdGetter(n)))}))},_markChildrenItemsToRemove:function(e){var t=this,n=e.internalFields.childrenKeys;(0,f.each)(n,(function(e,n){t.option(\"items\")[t._dataAdapter.getIndexByKey(n)]=0,t._markChildrenItemsToRemove(t._dataAdapter.getNodeByKey(n))}))},_removeItems:function(){var e=this,t=(0,h.extend)(!0,[],this.option(\"items\")),n=0;(0,f.each)(t,(function(t,i){i||(e.option(\"items\").splice(t-n,1),n++)}))},_updateLevel:function(e){var t=this._getContainerByParentKey(e);this._renderItems(t,this._dataAdapter.getChildrenNodes(e))},_getOldContainer:function(e){if(e.length)return e.children(\".\".concat(O));var t=this.getScrollable();return t?(0,o.default)(t.content()).children():(0,o.default)()},_getContainerByParentKey:function(e){var t=this._dataAdapter.getNodeByKey(e),n=t?this._getNodeElement(t):[];this._getOldContainer(n).remove();var i=this._renderNodeContainer(n);if(this._isRootLevel(e)){var a=this.getScrollable();a||this._renderScrollableContainer(),(0,o.default)(a.content()).append(i)}return i},_isRootLevel:function(e){return e===this.option(\"rootValue\")},_getAccessors:function(){var e=this.callBase();return e.push(\"hasItems\"),e},_getDataAdapterOptions:function(){var e,t,n;return{rootValue:this.option(\"rootValue\"),multipleSelection:!this._isSingleSelection(),recursiveSelection:this._isRecursiveSelection(),recursiveExpansion:this.option(\"expandNodesRecursive\"),selectionRequired:this.option(\"selectionRequired\"),dataType:this.option(\"dataStructure\"),sort:this._dataSource&&this._dataSource.sort(),langParams:null===(e=this._dataSource)||void 0===e||null===(t=e.loadOptions)||void 0===t||null===(n=t.call(e))||void 0===n?void 0:n.langParams}},_initMarkup:function(){this._renderScrollableContainer(),this._renderEmptyMessage(this._dataAdapter.getRootNodes()),this.callBase(),this.setAria(\"role\",\"tree\")},_renderContentImpl:function(){var e=this._renderNodeContainer();(0,o.default)(this.getScrollable().content()).append(e),this.option(\"items\")&&this.option(\"items\").length&&(this._renderItems(e,this._dataAdapter.getRootNodes()),this._attachExpandEvent(),this._selectAllEnabled()&&(this._createSelectAllValueChangedAction(),this._renderSelectAllItem(e)))},_isVirtualMode:function(){return this.option(\"virtualModeEnabled\")&&this._isDataStructurePlain()&&!!this.option(\"dataSource\")},_isDataStructurePlain:function(){return\"plain\"===this.option(\"dataStructure\")},_fireContentReadyAction:function(){var e=this.getDataSource(),t=e&&!e.isLoaded()||this._skipContentReadyAndItemExpanded,n=this.getScrollable();n&&(0,d.hasWindow)()&&n.update(),t||this.callBase(),n&&(0,d.hasWindow)()&&n.update()},_renderScrollableContainer:function(){this._scrollable=this._createComponent((0,o.default)(\"<div>\").appendTo(this.$element()),x.default,{useNative:this.option(\"useNativeScrolling\"),direction:this.option(\"scrollDirection\"),useKeyboard:!1})},_renderNodeContainer:function(e){var t=(0,o.default)(\"<ul>\").addClass(O);if(this.setAria(\"role\",\"group\",t),e&&e.length){var n=this._getItemData(e.children(\".\"+R));this._expandedGetter(n)&&t.addClass(P),t.appendTo(e)}return t},_createDOMElement:function(e,t){var n,i,a=(0,o.default)(\"<li>\").addClass(E).attr(\"data-item-id\",this._encodeString(t.internalFields.key)).prependTo(e),r={role:\"treeitem\",label:this._displayGetter(t.internalFields.item)||\"\",level:this._getLevel(e)};return!(null==t||null===(n=t.internalFields)||void 0===n||null===(i=n.childrenKeys)||void 0===i||!i.length)&&(r.expanded=t.internalFields.expanded||!1),this.setAria(r,a),a},_getLevel:function(e){var t=e.parent();return t.hasClass(\"dx-scrollable-content\")?1:parseInt(t.attr(\"aria-level\"))+1},_showCheckboxes:function(){return\"none\"!==this.option(\"showCheckBoxesMode\")},_hasCustomExpanderIcons:function(){return this.option(\"expandIcon\")||this.option(\"collapseIcon\")},_selectAllEnabled:function(e){return\"selectAll\"===(null!=e?e:this.option(\"showCheckBoxesMode\"))&&!this._isSingleSelection()},_renderItems:function(e,t){for(var n=t.length-1;n>=0;n--)this._renderItem(n,t[n],e);this._renderedItemsCount+=t.length},_renderItem:function(e,t,n){var i=this._createDOMElement(n,t),o=t.internalFields,a=this._showCheckboxes();i.addClass(a?B:F),i.toggleClass(\"dx-state-invisible\",!1===o.item.visible),this._hasCustomExpanderIcons()&&(i.addClass(L),n.addClass(V)),a&&this._renderCheckBox(i,t),this.setAria(\"selected\",o.selected,i),this._toggleSelectedClass(i,o.selected),o.disabled&&this.setAria(\"disabled\",o.disabled,i),this.callBase(this._renderedItemsCount+e,o.item,i),!1!==o.item.visible&&this._renderChildren(i,t)},_setAriaSelectionAttribute:u.noop,_renderChildren:function(e,t){var n=this;this._hasChildren(t)?(this._hasCustomExpanderIcons()?this._renderCustomExpanderIcons(e,t):this._renderDefaultExpanderIcons(e,t),this.option(\"deferRendering\")&&!t.internalFields.expanded||this._loadSublevel(t).done((function(i){n._renderSublevel(e,n._getActualNode(t),i)}))):this._addLeafClass(e)},_getActualNode:function(e){return this._dataAdapter.getNodeByKey(e.internalFields.key)},_hasChildren:function(e){return this._isVirtualMode()||this._useCustomChildrenLoader()?!1!==this._hasItemsGetter(e.internalFields.item):this.callBase(e)},_loadSublevel:function(e){var t=this,n=new C.Deferred,i=this._getChildNodes(e);return i.length?n.resolve(i):this._loadNestedItems(e).done((function(e){n.resolve(t._dataAdapter.getNodesByItems(e))})),n.promise()},_getItemExtraPropNames:function(){return[\"url\",\"linkAttr\"]},_addContent:function(e,t){var n=t.html;if(t.url){e.html(n);var i=this._getLinkContainer(this._getIconContainer(t),this._getTextContainer(t),t);e.append(i)}else this.callBase(e,t)},_renderSublevel:function(e,t,n){var i=this._renderNodeContainer(e,t),o=n.filter((function(e){return-1!==t.internalFields.childrenKeys.indexOf(e.internalFields.key)}));if(this._renderItems(i,o),o.length&&!t.internalFields.selected){var a=o[0];this._updateParentsState(a,this._getNodeElement(a))}this._normalizeIconState(e,o.length),t.internalFields.expanded&&i.addClass(P)},_executeItemRenderAction:function(e,t,n){var i=this._getNode(n);this._getItemRenderAction()({itemElement:n,itemIndex:e,itemData:t,node:this._dataAdapter.getPublicNode(i)})},_addLeafClass:function(e){e.addClass(M)},_expandEventHandler:function(e){(0,o.default)(e.currentTarget.parentNode).hasClass(M)||this._toggleExpandedState(e.currentTarget,void 0,e)},_attachExpandEvent:function(){var e=this._getEventNameByOption(this.option(\"expandEvent\")),t=this._itemContainer();this._detachExpandEvent(t),r.default.on(t,e,this._itemSelector(),this._expandEventHandler.bind(this))},_detachExpandEvent:function(e){r.default.off(e,\".\".concat(\"dxTreeView_expand\"),this._itemSelector())},_getEventNameByOption:function(e){var t=\"click\"===e?l.name:y.name;return(0,_.addNamespace)(t,\"dxTreeView_expand\")},_getNode:function(e){if(!(0,c.isDefined)(e))return null;if(e.internalFields)return e;if((0,c.isPrimitive)(e))return this._dataAdapter.getNodeByKey(e);var t=(0,o.default)(e).get(0);return t?a.default.isElementNode(t)?this._getNodeByElement(t):this._dataAdapter.getNodeByItem(t):null},_getNodeByElement:function(e){var t=(0,o.default)(e).closest(\".\"+E),n=this._decodeString(t.attr(\"data-item-id\"));return this._dataAdapter.getNodeByKey(n)},_toggleExpandedState:function(e,t,n){var i=this._getNode(e);if(!i)return(new C.Deferred).reject().promise();if(i.internalFields.disabled)return(new C.Deferred).reject().promise();var o=i.internalFields.expanded;if(o===t)return(new C.Deferred).resolve().promise();if(this._hasChildren(i)){var a=this._getNodeElement(i);if(a.find(\".\".concat(A,\":not(.\").concat(\"dx-state-invisible\",\")\")).length)return(new C.Deferred).reject().promise();o||this._nodeHasRenderedChildren(a)||this._createLoadIndicator(a)}return(0,c.isDefined)(t)||(t=!o),this._dataAdapter.toggleExpansion(i.internalFields.key,t),this._updateExpandedItemsUI(i,t,n)},_nodeHasRenderedChildren:function(e){return e.children(\".\".concat(O)).not(\":empty\").length},_createLoadIndicator:function(e){this._createComponent((0,o.default)(\"<div>\").addClass(A),w.default,{}).$element().appendTo(e),e.children(\".\".concat(N,\",.\").concat(j)).hide()},_renderExpanderIcon:function(e,t,n,i){n.appendTo(e),n.addClass(i),t.internalFields.disabled&&n.addClass(\"dx-state-disabled\"),this._renderToggleItemVisibilityIconClick(n,t)},_renderDefaultExpanderIcons:function(e,t){var n=(0,o.default)(\"<div>\").addClass(N).appendTo(e);t.internalFields.expanded&&(n.addClass(q),e.parent().addClass(P)),t.internalFields.disabled&&n.addClass(\"dx-state-disabled\"),this._renderToggleItemVisibilityIconClick(n,t)},_renderCustomExpanderIcons:function(e,t){var n=this.option(),i=n.expandIcon,o=n.collapseIcon,a=(0,I.getImageContainer)(null!=i?i:o),r=(0,I.getImageContainer)(null!=o?o:i);this._renderExpanderIcon(e,t,a,j),this._renderExpanderIcon(e,t,r,z);var s=t.internalFields.expanded;s&&e.parent().addClass(P),this._toggleCustomExpanderIcons(a,r,s)},_renderToggleItemVisibilityIconClick:function(e,t){var n=this,i=(0,_.addNamespace)(l.name,this.NAME);r.default.off(e,i),r.default.on(e,i,(function(e){n._toggleExpandedState(t.internalFields.key,void 0,e)}))},_toggleCustomExpanderIcons:function(e,t,n){t.toggle(n),e.toggle(!n)},_updateExpandedItemsUI:function(e,t,n){var i=this._getNodeElement(e),o=!i.length||t&&i.is(\":hidden\");if(this.option(\"expandNodesRecursive\")&&o){var a=this._getNode(e.internalFields.parentKey);a&&this._updateExpandedItemsUI(a,t,n)}if(this._hasCustomExpanderIcons()){if(this._nodeHasRenderedChildren(i)){var r=i.children(\".\".concat(j)),s=i.children(\".\".concat(z));this._toggleCustomExpanderIcons(r,s,t)}}else i.children(\".\".concat(N)).toggleClass(q,t);var l=i.children(\".\".concat(O)),u=l.length>0,d=new C.Deferred;return!t||u&&!l.is(\":empty\")?(this._animateNodeContainer(e,t,n,d),d.promise()):0===e.internalFields.childrenKeys.length&&(this._isVirtualMode()||this._useCustomChildrenLoader())?(this._loadNestedItemsWithUpdate(e,t,n,d),d.promise()):(this._renderSublevel(i,e,this._getChildNodes(e)),this._fireContentReadyAction(),this._animateNodeContainer(e,t,n,d),d.promise())},_loadNestedItemsWithUpdate:function(e,t,n,i){var o=this,a=this._getNodeElement(e);this._loadNestedItems(e).done((function(r){var s=o._getActualNode(e);o._renderSublevel(a,s,o._dataAdapter.getNodesByItems(r)),r&&r.length?(o._fireContentReadyAction(),o._animateNodeContainer(s,t,n,i)):i.resolve()}))},_loadNestedItems:function(e){var t=this;if(this._useCustomChildrenLoader()){var n=this._dataAdapter.getPublicNode(e);return this._loadChildrenByCustomLoader(n).done((function(e){t._areNodesExists(e)||t._appendItems(e)}))}return this._isVirtualMode()?(this._filter.internal=[this.option(\"parentIdExpr\"),e.internalFields.key],this._dataSource.filter(this._combineFilter()),this._dataSource.load().done((function(e){t._areNodesExists(e)||t._appendItems(e)}))):(new C.Deferred).resolve([]).promise()},_areNodesExists:function(e,t){var n=this.keyOf(e[0]),i=this._dataAdapter.getFullData();return!!this._dataAdapter.getNodeByKey(n,i)},_appendItems:function(e){this.option().items=this.option(\"items\").concat(e),this._initDataAdapter()},_animateNodeContainer:function(e,t,n,o){var a=this._getNodeElement(e),r=a.children(\".\".concat(O));e&&o&&0===r.length&&o.resolve(),r.addClass(P);var s=(0,i.getHeight)(r);b.default.stop(r,!0),b.default.animate(r,{type:\"custom\",duration:this.option(\"animationEnabled\")?400:0,from:{maxHeight:t?0:s},to:{maxHeight:t?s:0},complete:function(){r.css(\"maxHeight\",\"none\"),r.toggleClass(P,t),this.setAria(\"expanded\",t,a),this.getScrollable().update(),this._fireExpandedStateUpdatedEvent(t,e,n),o&&o.resolve()}.bind(this)})},_fireExpandedStateUpdatedEvent:function(e,t,n){if(this._hasChildren(t)&&!this._skipContentReadyAndItemExpanded){var i=e?\"onItemExpanded\":\"onItemCollapsed\";if((0,c.isDefined)(n))this._itemDXEventHandler(n,i,{node:this._dataAdapter.getPublicNode(t)});else{var o=this._getNodeElement(t);this._itemEventHandler(o,i,{event:n,node:this._dataAdapter.getPublicNode(t)})}}},_normalizeIconState:function(e,t){var n,i=e.find(\".\".concat(A));i.length&&(null===(n=w.default.getInstance(i))||void 0===n||n.option(\"visible\",!1));var o=e.children(\".\".concat(z,\",.\").concat(N));t?o.show():(o.removeClass(N),e.addClass(M))},_emptyMessageContainer:function(){var e=this.getScrollable();return e?(0,o.default)(e.content()):this.callBase()},_renderContent:function(){var e=this.option(\"items\");e&&e.length&&(this._contentAlreadyRendered=!0),this.callBase()},_renderSelectAllItem:function(e){e=e||this.$element().find(\".\".concat(O)).first(),this._$selectAllItem=(0,o.default)(\"<div>\").addClass($);var t=this._dataAdapter.isAllSelected();this._createComponent(this._$selectAllItem,g.default,{value:t,elementAttr:{\"aria-label\":\"Select All\"},text:this.option(\"selectAllText\"),onValueChanged:this._onSelectAllCheckboxValueChanged.bind(this)}),this._toggleSelectedClass(this._$selectAllItem,t),e.before(this._$selectAllItem)},_onSelectAllCheckboxValueChanged:function(e){this._toggleSelectAll(e),this._fireSelectAllValueChanged(e.value)},_toggleSelectAll:function(e){this._dataAdapter.toggleSelectAll(e.value),this._updateItemsUI(),this._fireSelectionChanged()},_renderCheckBox:function(e,t){var n=(0,o.default)(\"<div>\").appendTo(e);this._createComponent(n,g.default,{value:t.internalFields.selected,onValueChanged:this._changeCheckboxValue.bind(this),focusStateEnabled:!1,elementAttr:{\"aria-label\":\"Check State\"},disabled:this._disabledGetter(t)})},_toggleSelectedClass:function(e,t){e.toggleClass(\"dx-state-selected\",!!t)},_toggleNodeDisabledState:function(e,t){var n=this._getNodeElement(e),i=n.find(\".\"+R).eq(0);(this._dataAdapter.toggleNodeDisabledState(e.internalFields.key,t),i.toggleClass(\"dx-state-disabled\",!!t),this._showCheckboxes())&&this._getCheckBoxInstance(n).option(\"disabled\",!!t)},_itemOptionChanged:function(e,t,n){var i=this._dataAdapter.getNodeByItem(e);t===this.option(\"disabledExpr\")&&this._toggleNodeDisabledState(i,n)},_changeCheckboxValue:function(e){var t=(0,o.default)(e.element).parent(\".\"+E).children(\".\"+R),n=this._getItemData(t),i=this._getNodeByElement(t),a=e.value;i&&i.internalFields.selected===a||this._updateItemSelection(a,n,e.event)},_isSingleSelection:function(){return\"single\"===this.option(\"selectionMode\")},_isRecursiveSelection:function(){return this.option(\"selectNodesRecursive\")&&\"single\"!==this.option(\"selectionMode\")},_isLastSelectedBranch:function(e,t,n){var i=t.indexOf(e.key);return i>=0&&t.splice(i,1),n&&(0,f.each)(e.children,function(e,n){this._isLastSelectedBranch(n,t,!0)}.bind(this)),e.parent&&this._isLastSelectedBranch(e.parent,t),0===t.length},_isLastRequired:function(e){var t=this.option(\"selectionRequired\"),n=this._isSingleSelection(),i=this.getSelectedNodeKeys();if(t)return n?1===i.length:this._isLastSelectedBranch(e.internalFields.publicNode,i.slice(),!0)},_updateItemSelection:function(e,t,n){var i=this,o=this._getNode(t);if(!o||!1===o.visible)return!1;if(o.internalFields.selected===e)return!0;if(!e&&this._isLastRequired(o)){if(this._showCheckboxes()){var a=this._getNodeElement(o);this._getCheckBoxInstance(a).option(\"value\",!0)}return!1}if(e&&this._isSingleSelection()){var r=this.getSelectedNodeKeys();(0,f.each)(r,(function(e,t){i._dataAdapter.toggleSelection(t,!1),i._updateItemsUI(),i._fireItemSelectionChanged(i._getNode(t))}))}this._dataAdapter.toggleSelection(o.internalFields.key,e);var s=this._dataAdapter.isAllSelected(),l=this._selectAllEnabled()&&this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\")!==s;return this._updateItemsUI(),this._fireItemSelectionChanged(o,n),this._fireSelectionChanged(),l&&this._fireSelectAllValueChanged(s),!0},_fireItemSelectionChanged:function(e,t){var n=t||this._findItemElementByItem(e.internalFields.item);(t?this._itemDXEventHandler:this._itemEventHandler).call(this,n,\"onItemSelectionChanged\",{node:this._dataAdapter.getPublicNode(e),itemData:e.internalFields.item})},_getCheckBoxInstance:function(e){return e.children(\".dx-checkbox\").dxCheckBox(\"instance\")},_updateItemsUI:function(){var e=this,t={};if((0,f.each)(this._dataAdapter.getData(),(function(n,i){var o=e._getNodeElement(i,t),a=i.internalFields.selected;o.length&&(e._toggleSelectedClass(o,a),e.setAria(\"selected\",a,o),e._showCheckboxes()&&e._getCheckBoxInstance(o).option(\"value\",a))})),this._selectAllEnabled()){var n=this._$selectAllItem.dxCheckBox(\"instance\");n.option(\"onValueChanged\",void 0),n.option(\"value\",this._dataAdapter.isAllSelected()),n.option(\"onValueChanged\",this._onSelectAllCheckboxValueChanged.bind(this))}},_updateParentsState:function(e,t){if(t){var n=this._dataAdapter.getNodeByKey(e.internalFields.parentKey),i=(0,o.default)(t.parents(\".\"+E)[0]);if(this._showCheckboxes()){var a=n.internalFields.selected;this._getCheckBoxInstance(i).option(\"value\",a),this._toggleSelectedClass(i,a)}n.internalFields.parentKey!==this.option(\"rootValue\")&&this._updateParentsState(n,i)}},_itemEventHandlerImpl:function(e,t,n){var i=(0,o.default)(e).closest(\".\"+E).children(\".\"+R);return t((0,h.extend)(this._extendActionArgs(i),n))},_itemContextMenuHandler:function(e){this._createEventHandler(\"onItemContextMenu\",e)},_itemHoldHandler:function(e){this._createEventHandler(\"onItemHold\",e)},_createEventHandler:function(e,t){var n=this._getNodeByElement(t.currentTarget);this._itemDXEventHandler(t,e,{node:this._dataAdapter.getPublicNode(n)})},_itemClass:function(){return R},_itemDataKey:function(){return H},_attachClickEvent:function(){var e=this,t=this._itemContainer();this._detachClickEvent(t);var n=this._getItemClickEventData(),i=n.clickEventNamespace,a=n.itemSelector,s=n.pointerDownEventNamespace,l=n.nodeSelector;r.default.on(t,i,a,(function(t){e._itemClickHandler(t,(0,o.default)(t.currentTarget))})),r.default.on(t,s,l,(function(t){e._itemPointerDownHandler(t)}))},_detachClickEvent:function(e){var t=this._getItemClickEventData(),n=t.clickEventNamespace,i=t.itemSelector,o=t.pointerDownEventNamespace,a=t.nodeSelector;r.default.off(e,n,i),r.default.off(e,o,a)},_getItemClickEventData:function(){var e=\".\".concat(this._itemClass()),t=\".\".concat(E,\", .\").concat($);return{clickEventNamespace:(0,_.addNamespace)(l.name,this.NAME),itemSelector:e,pointerDownEventNamespace:(0,_.addNamespace)(v.default.down,this.NAME),nodeSelector:t}},_itemClick:function(e){var t=e.args[0],n=(t.event.target[0]||t.event.target).getElementsByClassName(\"dx-item-url\")[0];t.itemData.url&&n&&n.click()},_itemClickHandler:function(e,t){var n=this._getItemData(t),i=this._getNodeByElement(t);this._itemDXEventHandler(e,\"onItemClick\",{node:this._dataAdapter.getPublicNode(i)},{beforeExecute:this._itemClick}),this.option(\"selectByClick\")&&!e.isDefaultPrevented()&&this._updateItemSelection(!i.internalFields.selected,n,e)},_updateSelectionToFirstItem:function(e,t){for(var n=t;n>=0;){var i=(0,o.default)(e[n]);this._updateItemSelection(!0,i.find(\".\"+R).get(0)),n--}},_updateSelectionToLastItem:function(e,t){for(var n=e.length,i=t;i<n;){var a=(0,o.default)(e[i]);this._updateItemSelection(!0,a.find(\".\"+R).get(0)),i++}},focus:function(){this._selectAllEnabled()?r.default.trigger(this._$selectAllItem,\"focus\"):this.callBase()},_focusInHandler:function(e){var t=this;this._updateFocusState(e,!0);var n=(0,o.default)(e.target).hasClass($);if(n||this.option(\"focusedElement\"))return clearTimeout(this._setFocusedItemTimeout),void(this._setFocusedItemTimeout=setTimeout((function(){var e=n?(0,p.getPublicElement)(t._$selectAllItem):(0,o.default)(t.option(\"focusedElement\"));t._setFocusedItem(e)})));var i=this._getActiveItem();this.option(\"focusedElement\",(0,p.getPublicElement)(i.closest(\".\"+E)))},_itemPointerDownHandler:function(e){if(this.option(\"focusStateEnabled\")){var t=(0,o.default)(e.target).closest(\".\"+E+\", .\"+$);if(t.length){var n=t.hasClass(\"dx-state-disabled\")?null:t;this.option(\"focusedElement\",(0,p.getPublicElement)(n))}}},_findNonDisabledNodes:function(e){return e.not((function(){return(0,o.default)(this).children(\".\"+R).hasClass(\"dx-state-disabled\")}))},_moveFocus:function(e,t){var n=\"up\",i=\"down\",o=\"first\",a=\"last\",r=this.option(\"rtlEnabled\")?\"right\":\"left\",s=this.option(\"rtlEnabled\")?\"left\":\"right\";this.$element().find(\".\".concat(O)).each((function(){b.default.stop(this,!0)}));var l=this._nodeElements();if(l&&l.length)switch(e){case n:var u=this._prevItem(l);this.option(\"focusedElement\",(0,p.getPublicElement)(u));var d=this._getNodeItemElement(u);this.getScrollable().scrollToElement(d),t.shiftKey&&this._showCheckboxes()&&this._updateItemSelection(!0,d);break;case i:var c=this._nextItem(l);this.option(\"focusedElement\",(0,p.getPublicElement)(c));var h=this._getNodeItemElement(c);this.getScrollable().scrollToElement(h),t.shiftKey&&this._showCheckboxes()&&this._updateItemSelection(!0,h);break;case o:var f=l.first();t.shiftKey&&this._showCheckboxes()&&this._updateSelectionToFirstItem(l,l.index(this._prevItem(l))),this.option(\"focusedElement\",(0,p.getPublicElement)(f)),this.getScrollable().scrollToElement(this._getNodeItemElement(f));break;case a:var g=l.last();t.shiftKey&&this._showCheckboxes()&&this._updateSelectionToLastItem(l,l.index(this._nextItem(l))),this.option(\"focusedElement\",(0,p.getPublicElement)(g)),this.getScrollable().scrollToElement(this._getNodeItemElement(g));break;case s:this._expandFocusedContainer();break;case r:this._collapseFocusedContainer();break;default:return void this.callBase.apply(this,arguments)}},_getNodeItemElement:function(e){return e.find(\".\"+R).get(0)},_nodeElements:function(){return this.$element().find(\".\"+E).not(\":hidden\")},_expandFocusedContainer:function(){var e=(0,o.default)(this.option(\"focusedElement\"));if(e.length&&!e.hasClass(M)){if(e.find(\".\".concat(O)).eq(0).hasClass(P)){var t=this._nextItem(this._findNonDisabledNodes(this._nodeElements()));return this.option(\"focusedElement\",(0,p.getPublicElement)(t)),void this.getScrollable().scrollToElement(this._getNodeItemElement(t))}var n=this._getNodeByElement(e.children(\".\"+R));this._toggleExpandedState(n,!0)}},_getClosestNonDisabledNode:function(e){do{e=e.parent().closest(\".\"+E)}while(e.children(\".dx-treeview-item.dx-state-disabled\").length);return e},_collapseFocusedContainer:function(){var e=(0,o.default)(this.option(\"focusedElement\"));if(e.length){var t=e.find(\".\".concat(O)).eq(0);if(!e.hasClass(M)&&t.hasClass(P)){var n=this._getNodeByElement(e.children(\".\"+R));this._toggleExpandedState(n,!1)}else{var i=this._getClosestNonDisabledNode(e);i.length&&this.option(\"focusedElement\",(0,p.getPublicElement)(i)),this.getScrollable().scrollToElement(this._getNodeItemElement(i))}}},_encodeString:function(e){return(0,c.isString)(e)?encodeURI(e):e},_decodeString:function(e){return(0,c.isString)(e)?decodeURI(e):e},getScrollable:function(){return this._scrollable},updateDimensions:function(){var e=this,t=new C.Deferred,n=this.getScrollable();return n?n.update().done((function(){t.resolveWith(e)})):t.resolveWith(this),t.promise()},selectItem:function(e){return this._updateItemSelection(!0,e)},unselectItem:function(e){return this._updateItemSelection(!1,e)},expandItem:function(e){return this._toggleExpandedState(e,!0)},collapseItem:function(e){return this._toggleExpandedState(e,!1)},getNodes:function(){return this._dataAdapter.getTreeNodes()},getSelectedNodes:function(){var e=this;return this.getSelectedNodeKeys().map((function(t){var n=e._dataAdapter.getNodeByKey(t);return e._dataAdapter.getPublicNode(n)}))},getSelectedNodeKeys:function(){return this._dataAdapter.getSelectedNodesKeys()},selectAll:function(){this._selectAllEnabled()?this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\",!0):this._toggleSelectAll({value:!0})},unselectAll:function(){this._selectAllEnabled()?this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\",!1):this._toggleSelectAll({value:!1})},_allItemsExpandedHandler:function(){this._skipContentReadyAndItemExpanded=!1,this._fireContentReadyAction()},expandAll:function(){var e=this,t=this._dataAdapter.getData(),n=[];this._skipContentReadyAndItemExpanded=!0,t.forEach((function(t){return n.push(e._toggleExpandedState(t.internalFields.key,!0))})),Promise.allSettled(n).then((function(){var t;return null===(t=e._allItemsExpanded)||void 0===t?void 0:t.call(e)}))},collapseAll:function(){(0,f.each)(this._dataAdapter.getExpandedNodesKeys(),function(e,t){this._toggleExpandedState(t,!1)}.bind(this))},scrollToItem:function(e){var t=this,n=this._getNode(e);if(!n)return(new C.Deferred).reject().promise();for(var i=[],o=n.internalFields.publicNode.parent;null!=o;)o.expanded||i.push(o.key),o=o.parent;var a=new C.Deferred;return this._expandNodes(i.reverse()).always((function(){var e=t._getNodeElement(n);e&&e.length?(t.scrollToElementTopLeft(e.get(0)),a.resolve()):a.reject()})),a.promise()},scrollToElementTopLeft:function(e){var t=this.getScrollable(),n=this.option(),i=n.scrollDirection,a=n.rtlEnabled,r={top:0,left:0},s=(0,k.getRelativeOffset)(D.SCROLLABLE_CONTENT_CLASS,e);if(i!==D.DIRECTION_VERTICAL){var l=(0,o.default)(t.container()).get(0);r.left=a?s.left+e.offsetWidth-l.clientWidth:s.left}i!==D.DIRECTION_HORIZONTAL&&(r.top=s.top),t.scrollTo(r)},_expandNodes:function(e){var t=this;if(!e||0===e.length)return(new C.Deferred).resolve().promise();var n=new C.Deferred,i=e.map((function(e){return t.expandItem(e)}));return C.when.apply(o.default,i).done((function(){return n.resolve()})).fail((function(){return n.reject()})),n.promise()},_dispose:function(){this.callBase(),clearTimeout(this._setFocusedItemTimeout),this._allItemsExpandedHandler=null}});t.default=U,e.exports=t.default,e.exports.default=t.default},76986:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(99393)),a=u(n(2630)),r=u(n(29837)),s=n(13306),l=u(n(60903));function u(e){return e&&e.__esModule?e:{default:e}}a.default.setEditorClass(r.default);var d=\"\".concat(\"dx-treeview\",\"-node-container\"),c=l.default.inherit(a.default).inherit({_addWidgetPrefix:function(e){return\"\".concat(\"dx-treeview\",\"-\").concat(e)},_optionChanged:function(e){switch(e.name){case\"searchValue\":this._showCheckboxes()&&this._isRecursiveSelection()&&this._removeSelection(),this._initDataAdapter(),this._updateSearch(),this._repaintContainer(),this.option(\"focusedElement\",null);break;case\"searchExpr\":this._initDataAdapter(),this.repaint();break;case\"searchMode\":this.option(\"expandNodesRecursive\")?this._updateDataAdapter():this._initDataAdapter(),this.repaint();break;default:this.callBase(e)}},_updateDataAdapter:function(){this._setOptionWithoutOptionChange(\"expandNodesRecursive\",!1),this._initDataAdapter(),this._setOptionWithoutOptionChange(\"expandNodesRecursive\",!0)},_getDataAdapterOptions:function(){return(0,s.extend)(this.callBase(),{searchValue:this.option(\"searchValue\"),searchMode:this.option(\"searchMode\")||\"contains\",searchExpr:this.option(\"searchExpr\")})},_getNodeContainer:function(){return this.$element().find(\".\".concat(d)).first()},_updateSearch:function(){if(this._searchEditor){var e=this._getSearchEditorOptions();this._searchEditor.option(e)}},_repaintContainer:function(){var e,t=this._getNodeContainer();t.length&&(t.empty(),e=this._dataAdapter.getRootNodes(),this._renderEmptyMessage(e),this._renderItems(t,e),this._fireContentReadyAction())},_focusTarget:function(){return this._itemContainer(this.option(\"searchEnabled\"))},_cleanItemContainer:function(){this.$element().empty()},_itemContainer:function(e,t){var n;return null!==(n=t)&&void 0!==n||(t=this._selectAllEnabled()),t?this._getNodeContainer():this._scrollable&&e?(0,i.default)(this._scrollable.content()):this.callBase()},_addWidgetClass:function(){this.$element().addClass(this._widgetClass())},_clean:function(){this.callBase(),this._removeSearchBox()}});(0,o.default)(\"dxTreeView\",c);var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},76299:function(e,t,n){var i;t.default=void 0;var o=((i=n(38377))&&i.__esModule?i:{default:i}).default.inherit({ctor:function(e,t){var n=this;this.editor=e,this.validator=t,this.validationRequestsCallbacks=[];var i=function(e){n.validationRequestsCallbacks.forEach((function(t){return t(e)}))};e.validationRequest.add(i),e.on(\"disposing\",(function(){e.validationRequest.remove(i)}))},getValue:function(){return this.editor.option(\"value\")},getCurrentValidationError:function(){return this.editor.option(\"validationError\")},bypass:function(){return this.editor.option(\"disabled\")},applyValidationResults:function(e){this.editor.option({validationErrors:e.brokenRules,validationStatus:e.status})},reset:function(){this.editor.reset()},focus:function(){this.editor.focus()}});t.default=o,e.exports=t.default,e.exports.default=t.default},90964:function(e,t,n){t.default=void 0;var i=f(n(38377)),o=n(13306),a=n(95479),r=n(80566),s=f(n(17381)),l=n(20576),u=n(35922),d=f(n(18016)),c=f(n(28109)),h=n(62754);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var m=\"valid\",_=\"invalid\",v=\"pending\",y=function(){function e(){this.NAME=\"base\"}var t=e.prototype;return t.defaultMessage=function(e){return c.default.getFormatter(\"validation-\".concat(this.NAME))(e)},t.defaultFormattedMessage=function(e){return c.default.getFormatter(\"validation-\".concat(this.NAME,\"-formatted\"))(e)},t._isValueEmpty=function(e){return!E.required.validate(e,{})},t.validate=function(e,t){var n=this,i=Array.isArray(e)?e:[e],o=!0;return i.length?i.every((function(e){return o=n._validate(e,t)})):o=this._validate(null,t),o},e}(),b=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"required\",t}return p(t,e),t.prototype._validate=function(e,t){return!!(0,u.isDefined)(e)&&(!1!==e&&(e=String(e),!t.trim&&(0,u.isDefined)(t.trim)||(e=e.trim()),\"\"!==e))},t}(y),x=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"numeric\",t}return p(t,e),t.prototype._validate=function(e,t){return!(!1===t.ignoreEmptyValue||!this._isValueEmpty(e))||(t.useCultureSettings&&(0,u.isString)(e)?!isNaN(d.default.parse(e)):(0,u.isNumeric)(e))},t}(y),w=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"range\",t}return p(t,e),t.prototype._validate=function(e,t){if(!1!==t.ignoreEmptyValue&&this._isValueEmpty(e))return!0;var n=E.numeric.validate(e,t),i=(0,u.isDefined)(e)&&\"\"!==e,o=n?parseFloat(e):i&&e.valueOf(),a=t.min,r=t.max;if(!n&&!(0,u.isDate)(e)&&!i)return!1;if((0,u.isDefined)(a))return(0,u.isDefined)(r)?o>=a&&o<=r:o>=a;if((0,u.isDefined)(r))return o<=r;throw s.default.Error(\"E0101\")},t}(y),C=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"stringLength\",t}return p(t,e),t.prototype._validate=function(e,t){var n;return e=String(null!==(n=e)&&void 0!==n?n:\"\"),!t.trim&&(0,u.isDefined)(t.trim)||(e=e.trim()),!(!t.ignoreEmptyValue||!this._isValueEmpty(e))||E.range.validate(e.length,(0,o.extend)({},t))},t}(y),S=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"custom\",t}return p(t,e),t.prototype.validate=function(e,t){if(t.ignoreEmptyValue&&this._isValueEmpty(e))return!0;var n=t.validator,i=n&&(0,u.isFunction)(n.option)&&n.option(\"dataGetter\"),a=(0,u.isFunction)(i)&&i(),r={value:e,validator:n,rule:t};return a&&(0,o.extend)(r,a),t.validationCallback(r)},t}(y),k=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"async\",t}p(t,e);var n=t.prototype;return n.validate=function(e,t){if((0,u.isDefined)(t.reevaluate)||(0,o.extend)(t,{reevaluate:!0}),t.ignoreEmptyValue&&this._isValueEmpty(e))return!0;var n=t.validator,i=n&&(0,u.isFunction)(n.option)&&n.option(\"dataGetter\"),a=(0,u.isFunction)(i)&&i(),r={value:e,validator:n,rule:t};a&&(0,o.extend)(r,a);var l=t.validationCallback(r);if(!(0,u.isPromise)(l))throw s.default.Error(\"E0103\");return this._getWrappedPromise((0,h.fromPromise)(l).promise())},n._getWrappedPromise=function(e){var t=new h.Deferred;return e.then((function(e){t.resolve(e)}),(function(e){var n={isValid:!1};(0,u.isDefined)(e)&&((0,u.isString)(e)?n.message=e:(0,u.isObject)(e)&&(0,u.isDefined)(e.message)&&(0,u.isString)(e.message)&&(n.message=e.message)),t.resolve(n)})),t.promise()},t}(S),D=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"compare\",t}return p(t,e),t.prototype._validate=function(e,t){if(!t.comparisonTarget)throw s.default.Error(\"E0102\");if(t.ignoreEmptyValue&&this._isValueEmpty(e))return!0;(0,o.extend)(t,{reevaluate:!0});var n=t.comparisonTarget();switch(t.comparisonType||\"==\"){case\"==\":return e==n;case\"!=\":return e!=n;case\"===\":return e===n;case\"!==\":return e!==n;case\">\":return e>n;case\">=\":return e>=n;case\"<\":return e<n;case\"<=\":return e<=n}},t}(y),I=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"pattern\",t}return p(t,e),t.prototype._validate=function(e,t){if(!1!==t.ignoreEmptyValue&&this._isValueEmpty(e))return!0;var n=t.pattern;return(0,u.isString)(n)&&(n=new RegExp(n)),n.test(e)},t}(y),T=function(e){function t(){var t;return(t=e.call(this)||this).NAME=\"email\",t}return p(t,e),t.prototype._validate=function(e,t){return!(!1===t.ignoreEmptyValue||!this._isValueEmpty(e))||E.pattern.validate(e,(0,o.extend)({},t,{pattern:/^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i}))},t}(y),E={required:new b,numeric:new x,range:new w,stringLength:new C,custom:new S,async:new k,compare:new D,pattern:new I,email:new T},O=i.default.inherit({ctor:function(e){this.group=e,this.validators=[],this._pendingValidators=[],this._onValidatorStatusChanged=this._onValidatorStatusChanged.bind(this),this._resetValidationInfo(),this._eventsStrategy=new r.EventsStrategy(this)},validate:function(){var e=this,t={isValid:!0,brokenRules:[],validators:[],status:m,complete:null};return this._unsubscribeFromAllChangeEvents(),this._pendingValidators=[],this._resetValidationInfo(),(0,a.each)(this.validators,(function(n,i){var o=i.validate();t.isValid=t.isValid&&o.isValid,o.brokenRules&&(t.brokenRules=t.brokenRules.concat(o.brokenRules)),t.validators.push(i),o.status===v&&e._addPendingValidator(i),e._subscribeToChangeEvents(i)})),this._pendingValidators.length?t.status=v:(t.status=t.isValid?m:_,this._unsubscribeFromAllChangeEvents(),this._raiseValidatedEvent(t)),this._updateValidationInfo(t),(0,o.extend)({},this._validationInfo.result)},_subscribeToChangeEvents:function(e){e.on(\"validating\",this._onValidatorStatusChanged),e.on(\"validated\",this._onValidatorStatusChanged)},_unsubscribeFromChangeEvents:function(e){e.off(\"validating\",this._onValidatorStatusChanged),e.off(\"validated\",this._onValidatorStatusChanged)},_unsubscribeFromAllChangeEvents:function(){var e=this;(0,a.each)(this.validators,(function(t,n){e._unsubscribeFromChangeEvents(n)}))},_updateValidationInfo:function(e){this._validationInfo.result=e,e.status===v&&(this._validationInfo.deferred||(this._validationInfo.deferred=new h.Deferred,this._validationInfo.result.complete=this._validationInfo.deferred.promise()))},_addPendingValidator:function(e){(0,l.grep)(this._pendingValidators,(function(t){return t===e}))[0]||this._pendingValidators.push(e)},_removePendingValidator:function(e){var t=this._pendingValidators.indexOf(e);t>=0&&this._pendingValidators.splice(t,1)},_orderBrokenRules:function(e){var t=[];return(0,a.each)(this.validators,(function(n,i){var o=(0,l.grep)(e,(function(e){return e.validator===i}));o.length&&(t=t.concat(o))})),t},_updateBrokenRules:function(e){if(this._validationInfo.result){var t=this._validationInfo.result.brokenRules,n=(0,l.grep)(t,(function(t){return t.validator!==e.validator}));e.brokenRules&&(t=n.concat(e.brokenRules)),this._validationInfo.result.brokenRules=this._orderBrokenRules(t)}},_onValidatorStatusChanged:function(e){e.status!==v?this._resolveIfComplete(e):this._addPendingValidator(e.validator)},_resolveIfComplete:function(e){if(this._removePendingValidator(e.validator),this._updateBrokenRules(e),!this._pendingValidators.length){if(this._unsubscribeFromAllChangeEvents(),!this._validationInfo.result)return;this._validationInfo.result.status=0===this._validationInfo.result.brokenRules.length?m:_,this._validationInfo.result.isValid=this._validationInfo.result.status===m;var t=(0,o.extend)({},this._validationInfo.result,{complete:null}),n=this._validationInfo.deferred;this._validationInfo.deferred=null,this._raiseValidatedEvent(t),n&&setTimeout((function(){n.resolve(t)}))}},_raiseValidatedEvent:function(e){this._eventsStrategy.fireEvent(\"validated\",[e])},_resetValidationInfo:function(){this._validationInfo={result:null,deferred:null}},_synchronizeValidationInfo:function(){this._validationInfo.result&&(this._validationInfo.result.validators=this.validators)},removeRegisteredValidator:function(e){var t=this.validators.indexOf(e);t>-1&&(this.validators.splice(t,1),this._synchronizeValidationInfo(),this._resolveIfComplete({validator:e}))},registerValidator:function(e){this.validators.includes(e)||(this.validators.push(e),this._synchronizeValidationInfo())},reset:function(){(0,a.each)(this.validators,(function(e,t){t.reset()})),this._pendingValidators=[],this._resetValidationInfo()},on:function(e,t){return this._eventsStrategy.on(e,t),this},off:function(e,t){return this._eventsStrategy.off(e,t),this}}),A={groups:[],getGroupConfig:function(e){var t=(0,l.grep)(this.groups,(function(t){return t.group===e}));if(t.length)return t[0]},findGroup:function(e,t){var n,i,o=(null===(n=e.data())||void 0===n||null===(i=n.dxComponents)||void 0===i?void 0:i.includes(\"dxValidationGroup\"))&&e.dxValidationGroup(\"instance\");if(o)return o;var a=e.parents(\".dx-validationgroup\").first();return a.length?a.dxValidationGroup(\"instance\"):t},initGroups:function(){this.groups=[],this.addGroup()},addGroup:function(e){var t=this.getGroupConfig(e);return t||(t=new O(e),this.groups.push(t)),t},removeGroup:function(e){var t=this.getGroupConfig(e),n=this.groups.indexOf(t);return n>-1&&this.groups.splice(n,1),t},_setDefaultMessage:function(e){var t=e.rule,n=e.validator,i=e.name;(0,u.isDefined)(t.message)||(n.defaultFormattedMessage&&(0,u.isDefined)(i)?t.message=n.defaultFormattedMessage(i):t.message=n.defaultMessage())},_addBrokenRule:function(e){var t=e.result,n=e.rule;t.brokenRule||(t.brokenRule=n),t.brokenRules||(t.brokenRules=[]),t.brokenRules.push(n)},validate:function(e,t,n){var i,o=this,r={name:n,value:e,brokenRule:null,brokenRules:null,isValid:!0,validationRules:t,pendingRules:null,status:m,complete:null},l=null==t||null===(i=t[0])||void 0===i?void 0:i.validator,d=[];return(0,a.each)(t||[],(function(t,i){var a,l=E[i.type];if(!l)throw s.default.Error(\"E0100\");return(0,u.isDefined)(i.isValid)&&i.value===e&&!i.reevaluate?!!i.isValid||(r.isValid=!1,o._addBrokenRule({result:r,rule:i}),!1):(i.value=e,\"async\"===i.type?(d.push({rule:i,ruleValidator:l}),!0):(a=l.validate(e,i),i.isValid=a,a||(r.isValid=!1,o._setDefaultMessage({rule:i,validator:l,name:n}),o._addBrokenRule({result:r,rule:i})),!!i.isValid&&void 0))})),r.isValid&&!r.brokenRules&&d.length&&(r=this._validateAsyncRules({value:e,items:d,result:r,name:n})),this._synchronizeGroupValidationInfo(l,r),r.status=r.pendingRules?v:r.isValid?m:_,r},_synchronizeGroupValidationInfo:function(e,t){var n;if(e){var i=A.getGroupConfig(e._validationGroup);i._updateBrokenRules.call(i,{validator:e,brokenRules:null!==(n=t.brokenRules)&&void 0!==n?n:[]})}},_validateAsyncRules:function(e){var t=this,n=e.result,i=e.value,o=e.items,r=e.name,s=[];return(0,a.each)(o,(function(e,o){var a=o.ruleValidator.validate(i,o.rule);if((0,u.isPromise)(a)){n.pendingRules||(n.pendingRules=[]),n.pendingRules.push(o.rule);var l=a.then((function(e){var n=t._getPatchedRuleResult(e);return t._updateRuleConfig({rule:o.rule,ruleResult:n,validator:o.ruleValidator,name:r}),n}));s.push(l)}else t._updateRuleConfig({rule:o.rule,ruleResult:t._getPatchedRuleResult(a),validator:o.ruleValidator,name:r})})),s.length&&(n.complete=Promise.all(s).then((function(e){return t._getAsyncRulesResult({result:n,values:e})}))),n},_updateRuleConfig:function(e){var t=e.rule,n=e.ruleResult,i=e.validator,o=e.name;t.isValid=n.isValid,n.isValid||((0,u.isDefined)(n.message)&&(0,u.isString)(n.message)&&n.message.length?t.message=n.message:this._setDefaultMessage({rule:t,validator:i,name:o}))},_getPatchedRuleResult:function(e){var t;return(0,u.isObject)(e)?(t=(0,o.extend)({},e),(0,u.isDefined)(t.isValid)||(t.isValid=!0)):t={isValid:!(0,u.isBoolean)(e)||e},t},_getAsyncRulesResult:function(e){var t=this,n=e.values,i=e.result;return(0,a.each)(n,(function(e,n){if(!1===n.isValid){i.isValid=n.isValid;var o=i.pendingRules[e];t._addBrokenRule({result:i,rule:o})}})),i.pendingRules=null,i.complete=null,i.status=i.isValid?m:_,i},registerValidatorInGroup:function(e,t){var n=A.addGroup(e);n.registerValidator.call(n,t)},_shouldRemoveGroup:function(e,t){var n=void 0===e,i=e&&\"dxValidationGroup\"===e.NAME;return!n&&!i&&!t.length},removeRegisteredValidator:function(e,t){var n=A.getGroupConfig(e);if(n){n.removeRegisteredValidator.call(n,t);var i=n.validators;this._shouldRemoveGroup(e,i)&&this.removeGroup(e)}},initValidationOptions:function(e){var t=this,n={};if(e){[\"isValid\",\"validationStatus\",\"validationError\",\"validationErrors\"].forEach((function(i){i in e&&(0,o.extend)(n,t.synchronizeValidationOptions({name:i,value:e[i]},e))}))}return n},synchronizeValidationOptions:function(e,t){var n=e.name,i=e.value;switch(n){case\"validationStatus\":var o=i===m||i===v;return t.isValid!==o?{isValid:o}:{};case\"isValid\":var a=t.validationStatus,r=a;return i&&a===_?r=m:i||a===_||(r=_),r!==a?{validationStatus:r}:{};case\"validationErrors\":var s=i&&i.length?i[0]:null;return t.validationError!==s?{validationError:s}:{};case\"validationError\":var l=t.validationErrors;if(!i&&l)return{validationErrors:null};if(i&&!l)return{validationErrors:[i]};if(i&&l&&i!==l[0])return l[0]=i,{validationErrors:l.slice()}}return{}},validateGroup:function(e){var t=A.getGroupConfig(e);if(!t)throw s.default.Error(\"E0110\");return t.validate()},resetGroup:function(e){var t=A.getGroupConfig(e);if(!t)throw s.default.Error(\"E0110\");return t.reset()}};A.initGroups();var P=A;t.default=P,e.exports=t.default,e.exports.default=t.default},4401:function(e,t,n){t.default=void 0;var i=u(n(68374)),o=u(n(99393)),a=u(n(13046)),r=u(n(97289)),s=u(n(90964)),l=u(n(39562));function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var c=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,d(t,n);var a=o.prototype;return a._getDefaultOptions=function(){return e.prototype._getDefaultOptions.call(this)},a._init=function(){e.prototype._init.call(this),s.default.addGroup(this)},a._initMarkup=function(){var t=this.$element();t.addClass(\"dx-validationgroup\"),t.find(\".\".concat(\"dx-validator\")).each((function(e,t){l.default.getInstance((0,i.default)(t))._initGroupRegistration()})),t.find(\".\".concat(\"dx-validationsummary\")).each((function(e,t){r.default.getInstance((0,i.default)(t)).refreshValidationGroup()})),e.prototype._initMarkup.call(this)},a.validate=function(){return s.default.validateGroup(this)},a.reset=function(){return s.default.resetGroup(this)},a._dispose=function(){s.default.removeGroup(this),this.$element().removeClass(\"dx-validationgroup\"),e.prototype._dispose.call(this)},a._useTemplates=function(){return!1},o}(a.default);(0,o.default)(\"dxValidationGroup\",c);var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},8336:function(e,t,n){t.default=void 0;var i=n(58664),o=d(n(68374)),a=d(n(99393)),r=d(n(89799)),s=n(13306),l=n(68752),u=n(37518);function d(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h=r.default.inherit({_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{integrationOptions:{},templatesRenderAsynchronously:!1,shading:!1,width:\"auto\",height:\"auto\",hideOnOutsideClick:!1,animation:null,visible:!0,propagateOutsideClick:!0,_checkParentVisibility:!1,rtlEnabled:!1,contentTemplate:this._renderInnerHtml,maxWidth:\"100%\",container:this.$element(),target:void 0,mode:\"auto\",validationErrors:void 0,preventScrollEvents:!1,positionSide:\"top\",boundary:void 0,offset:{h:0,v:0},contentId:void 0})},_init:function(){this.callBase(),this.updateMaxWidth(),this._updatePosition()},_initMarkup:function(){this.callBase(),this._ensureMessageNotEmpty(),this._updatePositionByTarget(),this._toggleModeClass(),this._updateContentId()},_updatePositionByTarget:function(){var e=this.option().target;this.option(\"position.of\",e)},_ensureMessageNotEmpty:function(){this._textMarkup=this._getTextMarkup();var e=this.option(\"visible\")&&this._textMarkup;this._toggleVisibilityClasses(e)},_toggleVisibilityClasses:function(e){e?(this.$element().addClass(\"dx-invalid-message\"),this.$wrapper().addClass(\"dx-invalid-message\")):(this.$element().removeClass(\"dx-invalid-message\"),this.$wrapper().removeClass(\"dx-invalid-message\"))},_updateContentId:function(){var e=this.option(),t=e.container,n=e.contentId,i=null!=n?n:(0,o.default)(t).attr(\"aria-describedby\");this.$content().addClass(\"dx-invalid-message-content\").attr(\"id\",i)},_renderInnerHtml:function(e){var t=e&&(0,o.default)(e);null==t||t.html(this._textMarkup)},_getTextMarkup:function(){var e,t=null!==(e=this.option(\"validationErrors\"))&&void 0!==e?e:[],n=\"\";return t.forEach((function(e){var t;n+=(n?\"<br />\":\"\")+(0,l.encodeHtml)(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:\"\")})),n},_toggleModeClass:function(){var e=this.option(\"mode\");this.$wrapper().toggleClass(\"dx-invalid-message-auto\",\"auto\"===e).toggleClass(\"dx-invalid-message-always\",\"always\"===e)},updateMaxWidth:function(){var e=this.option(\"target\"),t=(0,i.getOuterWidth)(e),n=\"100%\";t&&(n=Math.max(t,100)),this.option({maxWidth:n})},_getPositionsArray:function(e,t){switch(e){case\"top\":return[\"\".concat(t,\" bottom\"),\"\".concat(t,\" top\")];case\"left\":return[\"right\",\"left\"];case\"right\":return[\"left\",\"right\"];default:return[\"\".concat(t,\" top\"),\"\".concat(t,\" bottom\")]}},_updatePosition:function(){var e=this.option(),t=e.positionSide,n=e.rtlEnabled,i=e.offset,o=e.boundary,a=(0,u.getDefaultAlignment)(n),r=this._getPositionsArray(t,a),s=c({},i);this.$element().addClass(\"dx-invalid-message-\".concat(t)),n&&\"left\"!==t&&\"right\"!==t&&(s.h=-s.h),\"top\"===t&&(s.v=-s.v),\"left\"===t&&(s.h=-s.h),this.option(\"position\",{offset:s,boundary:o,my:r[0],at:r[1],collision:\"none flip\"})},_optionChanged:function(e){var t=e.name,n=e.value,i=e.previousValue;switch(t){case\"target\":this._updatePositionByTarget(),this.updateMaxWidth(),this.callBase(e);break;case\"boundary\":this.option(\"position.boundary\",n);break;case\"mode\":this._toggleModeClass(n);break;case\"rtlEnabled\":case\"offset\":case\"positionSide\":this.$element().removeClass(\"dx-invalid-message-\".concat(i)),this._updatePosition();break;case\"container\":this._updateContentId(),this.callBase(e);break;case\"contentId\":this._updateContentId();break;case\"validationErrors\":this._ensureMessageNotEmpty(),this._renderInnerHtml(this.$content());break;default:this.callBase(e)}}});(0,a.default)(\"dxValidationMessage\",h);var f=h;t.default=f,e.exports=t.default,e.exports.default=t.default},97289:function(e,t,n){t.default=void 0;var i=d(n(99393)),o=d(n(55994)),a=n(20576),r=n(13306),s=n(95479),l=d(n(90964)),u=d(n(11050));function d(e){return e&&e.__esModule?e:{default:e}}var c=u.default.inherit({_getDefaultOptions:function(){return(0,r.extend)(this.callBase(),{focusStateEnabled:!1,noDataText:null})},_setOptionsByReference:function(){this.callBase(),(0,r.extend)(this._optionsByReference,{validationGroup:!0})},_init:function(){this.callBase(),this._initGroupRegistration()},_initGroupRegistration:function(){var e=this.$element(),t=this.option(\"validationGroup\")||l.default.findGroup(e,this._modelByElement(e)),n=l.default.addGroup(t);this._unsubscribeGroup(),this._groupWasInit=!0,this._validationGroup=t,this.groupSubscription=this._groupValidationHandler.bind(this),n.on(\"validated\",this.groupSubscription)},_unsubscribeGroup:function(){var e=l.default.getGroupConfig(this._validationGroup);e&&e.off(\"validated\",this.groupSubscription)},_getOrderedItems:function(e,t){var n=[];return(0,s.each)(e,(function(e,i){var o=(0,a.grep)(t,(function(e){if(e.validator===i)return!0}));o.length&&(n=n.concat(o))})),n},_groupValidationHandler:function(e){var t=this,n=this._getOrderedItems(e.validators,(0,s.map)(e.brokenRules,(function(e){return{text:e.message,validator:e.validator,index:e.index}})));this.validators=e.validators,(0,s.each)(this.validators,(function(e,n){if(n._validationSummary!==t){var i=t._itemValidationHandler.bind(t);n.on(\"validated\",i),n.on(\"disposing\",(function(){n.off(\"validated\",i),n._validationSummary=null,i=null})),n._validationSummary=t}})),this.option(\"items\",n)},_itemValidationHandler:function(e){for(var t=e.isValid,n=e.validator,i=e.brokenRules,o=this.option(\"items\"),r=!1,l=0,u=function(){var e=o[l];if(e.validator===n){var s=(0,a.grep)(i||[],(function(t){return t.index===e.index}))[0];if(t||!s)return o.splice(l,1),r=!0,\"continue\";s.message!==e.text&&(e.text=s.message,r=!0)}l++};l<o.length;)u();(0,s.each)(i,(function(e,t){(0,a.grep)(o,(function(e){return e.validator===n&&e.index===t.index}))[0]||(o.push({text:t.message,validator:n,index:t.index}),r=!0)})),r&&(o=this._getOrderedItems(this.validators,o),this.option(\"items\",o))},_initMarkup:function(){this.$element().addClass(\"dx-validationsummary\"),this.callBase()},_optionChanged:function(e){switch(e.name){case\"validationGroup\":this._initGroupRegistration();break;default:this.callBase(e)}},_itemClass:function(){return\"dx-validationsummary-item\"},_itemDataKey:function(){return\"dx-validationsummary-item-data\"},_postprocessRenderItem:function(e){o.default.on(e.itemElement,\"click\",(function(){e.itemData.validator&&e.itemData.validator.focus&&e.itemData.validator.focus()}))},_dispose:function(){this.callBase(),this._unsubscribeGroup()},refreshValidationGroup:function(){this._initGroupRegistration()}});(0,i.default)(\"dxValidationSummary\",c);var h=c;t.default=h,e.exports=t.default,e.exports.default=t.default},39562:function(e,t,n){t.default=void 0;var i=n(97906),o=p(n(44504)),a=p(n(96688)),r=p(n(13046)),s=n(13306),l=n(95479),u=p(n(90964)),d=p(n(76299)),c=p(n(99393)),h=n(62754),f=p(n(73176));function p(e){return e&&e.__esModule?e:{default:e}}var g=r.default.inherit({_initOptions:function(e){this.callBase.apply(this,arguments),this.option(u.default.initValidationOptions(e))},_getDefaultOptions:function(){return(0,s.extend)(this.callBase(),{validationRules:[]})},_init:function(){this.callBase(),this._initGroupRegistration(),this.focused=(0,o.default)(),this._initAdapter(),this._validationInfo={result:null,deferred:null,skipValidation:!1}},_initGroupRegistration:function(){var e=this._findGroup();this._groupWasInit||this.on(\"disposing\",(function(e){u.default.removeRegisteredValidator(e.component._validationGroup,e.component)})),this._groupWasInit&&this._validationGroup===e||(u.default.removeRegisteredValidator(this._validationGroup,this),this._groupWasInit=!0,this._validationGroup=e,u.default.registerValidatorInGroup(e,this))},_setOptionsByReference:function(){this.callBase(),(0,s.extend)(this._optionsByReference,{validationGroup:!0})},_getEditor:function(){var e=this.$element()[0];return(0,i.data)(e,\"dx-validation-target\")},_initAdapter:function(){var e=this,t=this._getEditor(),n=this.option(\"adapter\");if(!n){if(t)return(n=new d.default(t,this)).validationRequestsCallbacks.push((function(t){e._validationInfo.skipValidation||e.validate(t)})),void this.option(\"adapter\",n);throw a.default.Error(\"E0120\")}var i=n.validationRequestsCallbacks;i&&i.push((function(t){e.validate(t)}))},_toggleRTLDirection:function(e){var t,n,i,o=null!==(t=null===(n=this.option(\"adapter\"))||void 0===n||null===(i=n.editor)||void 0===i?void 0:i.option(\"rtlEnabled\"))&&void 0!==t?t:e;this.callBase(o)},_initMarkup:function(){this.$element().addClass(\"dx-validator\"),this.callBase()},_render:function(){this.callBase(),this._toggleAccessibilityAttributes()},_toggleAccessibilityAttributes:function(){var e=this._getEditor();if(e){var t=(this.option(\"validationRules\")||[]).some((function(e){return\"required\"===e.type}))||null;e.isInitialized()&&e.setAria(\"required\",t),e.option(\"_onMarkupRendered\",(function(){e.setAria(\"required\",t)}))}},_visibilityChanged:function(e){e&&this._initGroupRegistration()},_optionChanged:function(e){switch(e.name){case\"validationGroup\":return void this._initGroupRegistration();case\"validationRules\":return this._resetValidationRules(),this._toggleAccessibilityAttributes(),void(void 0!==this.option(\"isValid\")&&this.validate());case\"adapter\":this._initAdapter();break;case\"isValid\":case\"validationStatus\":this.option(u.default.synchronizeValidationOptions(e,this.option()));break;default:this.callBase(e)}},_getValidationRules:function(){var e=this;return this._validationRules||(this._validationRules=(0,l.map)(this.option(\"validationRules\"),(function(t,n){return(0,s.extend)({},t,{validator:e,index:n})}))),this._validationRules},_findGroup:function(){var e=this.$element();return this.option(\"validationGroup\")||u.default.findGroup(e,this._modelByElement(e))},_resetValidationRules:function(){delete this._validationRules},validate:function(e){var t,n=this,i=this.option(\"adapter\"),o=this.option(\"name\"),a=i.bypass&&i.bypass(),r=e&&void 0!==e.value?e.value:i.getValue(),l=i.getCurrentValidationError&&i.getCurrentValidationError(),d=this._getValidationRules(),c=this._validationInfo&&this._validationInfo.result;return c&&\"pending\"===c.status&&c.value===r?(0,s.extend)({},c):(a?t={isValid:!0,status:\"valid\"}:l&&l.editorSpecific?(l.validator=this,t={isValid:!1,status:\"invalid\",brokenRule:l,brokenRules:[l]}):t=u.default.validate(r,d,o),t.id=(new f.default).toString(),this._applyValidationResult(t,i),t.complete&&t.complete.then((function(e){e.id===n._validationInfo.result.id&&n._applyValidationResult(e,i)})),(0,s.extend)({},this._validationInfo.result))},reset:function(){var e=this.option(\"adapter\"),t={id:null,isValid:!0,brokenRule:null,brokenRules:null,pendingRules:null,status:\"valid\",complete:null};this._validationInfo.skipValidation=!0,e.reset(),this._validationInfo.skipValidation=!1,this._resetValidationRules(),this._applyValidationResult(t,e)},_updateValidationResult:function(e){if(this._validationInfo.result&&this._validationInfo.result.id===e.id)for(var t in e)\"id\"!==t&&\"complete\"!==t&&(this._validationInfo.result[t]=e[t]);else{var n=this._validationInfo.deferred&&this._validationInfo.result.complete;this._validationInfo.result=(0,s.extend)({},e,{complete:n})}},_applyValidationResult:function(e,t){var n=this._createActionByOption(\"onValidated\",{excludeValidators:[\"readOnly\"]});if(e.validator=this,this._updateValidationResult(e),t.applyValidationResults&&t.applyValidationResults(this._validationInfo.result),this.option({validationStatus:this._validationInfo.result.status}),\"pending\"===this._validationInfo.result.status)return this._validationInfo.deferred||(this._validationInfo.deferred=new h.Deferred,this._validationInfo.result.complete=this._validationInfo.deferred.promise()),void this._eventsStrategy.fireEvent(\"validating\",[this._validationInfo.result]);\"pending\"!==this._validationInfo.result.status&&(n(e),this._validationInfo.deferred&&(this._validationInfo.deferred.resolve(e),this._validationInfo.deferred=null))},focus:function(){var e=this.option(\"adapter\");e&&e.focus&&e.focus()},_useTemplates:function(){return!1}});(0,c.default)(\"dxValidator\",g);var m=g;t.default=m,e.exports=t.default,e.exports.default=t.default},31421:function(e,t,n){t.tabbable=t.focused=t.focusable=void 0;var i=a(n(68374)),o=a(n(73349));function a(e){return e&&e.__esModule?e:{default:e}}var r=function(e,t){if(!function(e){var t=(0,i.default)(e);return t.is(\":visible\")&&\"hidden\"!==t.css(\"visibility\")&&\"hidden\"!==t.parents().css(\"visibility\")}(e))return!1;var n=e.nodeName.toLowerCase(),o=!isNaN(t),a=e.disabled,r=/^(input|select|textarea|button|object|iframe)$/.test(n),s=\"a\"===n,l=e.isContentEditable;return r||l?!a:s&&e.href||o};t.focusable=function(e,t){return r(t,(0,i.default)(t).attr(\"tabIndex\"))};t.tabbable=function(e,t){var n=(0,i.default)(t).attr(\"tabIndex\");return(isNaN(n)||n>=0)&&r(t,n)};t.focused=function(e){var t=(0,i.default)(e).get(0);return o.default.getActiveElement(t)===t}},92591:function(e,t,n){t.default=void 0;var i,o=(i=n(68374))&&i.__esModule?i:{default:i},a=n(77695);var r={getSwatchContainer:function(e){var t=(0,o.default)(e).closest('[class^=\"'.concat(\"dx-swatch-\",'\"], [class*=\" ').concat(\"dx-swatch-\",'\"]')),n=(0,a.value)();if(!t.length)return n;var i=new RegExp(\"(\\\\s|^)(\".concat(\"dx-swatch-\",\".*?)(\\\\s|$)\")),r=t[0].className.match(i)[2],s=n.children(\".\"+r);return s.length||(s=(0,o.default)(\"<div>\").addClass(r).appendTo(n)),s}};t.default=r,e.exports=t.default,e.exports.default=t.default},96688:function(e,t,n){t.default=void 0;var i=a(n(95640)),o=a(n(17381));function a(e){return e&&e.__esModule?e:{default:e}}var r=(0,i.default)(o.default.ERROR_MESSAGES,{E1001:\"Module '{0}'. Controller '{1}' is already registered\",E1002:\"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",E1003:\"Module '{0}'. View '{1}' is already registered\",E1004:\"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",E1005:\"Public method '{0}' is already registered\",E1006:\"Public method '{0}.{1}' does not exist\",E1007:\"State storing cannot be provided due to the restrictions of the browser\",E1010:\"The template does not contain the TextBox widget\",E1011:'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',E1012:\"Editing type '{0}' with the name '{1}' is unsupported\",E1016:\"Unexpected type of data source is provided for a lookup column\",E1018:\"The 'collapseAll' method cannot be called if you use a remote data source\",E1019:\"Search mode '{0}' is unavailable\",E1020:\"The type cannot be changed after initialization\",E1021:\"{0} '{1}' you are trying to remove does not exist\",E1022:'The \"markers\" option is given an invalid value. Assign an array instead',E1023:'The \"routes\" option is given an invalid value. Assign an array instead',E1025:\"This layout is too complex to render\",E1026:'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',E1031:\"Unknown subscription in the Scheduler widget: '{0}'\",E1032:\"Unknown start date in an appointment: '{0}'\",E1033:\"Unknown step in the date navigator: '{0}'\",E1034:\"The browser does not implement an API for saving files\",E1035:\"The editor cannot be created: {0}\",E1037:\"Invalid structure of grouped data\",E1038:\"The browser does not support local storages for local web pages\",E1039:\"A cell's position cannot be calculated\",E1040:\"The '{0}' key value is not unique within the data array\",E1041:\"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",E1042:\"{0} requires the key field to be specified\",E1043:\"Changes cannot be processed due to the incorrectly set key\",E1044:\"The key field specified by the keyExpr option does not match the key field specified in the data store\",E1045:\"Editing requires the key field to be specified in the data store\",E1046:\"The '{0}' key field is not found in data objects\",E1047:'The \"{0}\" field is not found in the fields array',E1048:'The \"{0}\" operation is not found in the filterOperations array',E1049:\"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",E1050:\"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",E1051:'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',E1052:'{0} should have the \"dataSource\" option specified',E1053:'The \"buttons\" option accepts an array that contains only objects or string values',E1054:\"All text editor buttons must have names\",E1055:'One or several text editor buttons have invalid or non-unique \"name\" values',E1056:'The {0} widget does not support buttons of the \"{1}\" type',E1058:'The \"startDayHour\" must be earlier than the \"endDayHour\"',E1059:\"The following column names are not unique: {0}\",E1060:\"All editable columns must have names\",W1001:'The \"key\" option cannot be modified after initialization',W1002:\"An item with the key '{0}' does not exist\",W1003:\"A group with the key '{0}' in which you are trying to select items does not exist\",W1004:\"The item '{0}' you are trying to select in the group '{1}' does not exist\",W1005:\"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",W1006:\"The map service returned the following error: '{0}'\",W1007:\"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",W1008:\"Cannot scroll to the '{0}' date because it does not exist on the current view\",W1009:\"Searching works only if data is specified using the dataSource option\",W1010:\"The capability to select all items works with source data of plain structure only\",W1011:'The \"keyExpr\" option is not applied when dataSource is not an array',W1012:\"The '{0}' key field is not found in data objects\",W1013:'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',W1014:\"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",W1015:'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',W1016:\"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",W1017:\"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",W1018:\"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",W1019:\"Filter query string exceeds maximum length limit of {0} characters.\",W1020:\"hideEvent is ignored when the shading property is true\",W1021:\"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\",W1022:\"{0} JSON parsing error: '{1}'\",W1023:\"Appointments require unique keys. Otherwise, the agenda view may not work correctly.\",W1024:\"The client-side export is enabled. Implement the 'onExporting' function.\",W1025:\"'scrolling.mode' is set to 'virtual' or 'infinite'. Specify the height of the component.\"});t.default=r,e.exports=t.default,e.exports.default=t.default},2630:function(e,t,n){t.default=void 0;var i=l(n(68374)),o=n(13306),a=l(n(28109)),r=l(n(96688)),s=n(62754);function l(e){return e&&e.__esModule?e:{default:e}}var u=(0,n(2146).stubComponent)(\"TextBox\"),d={_getDefaultOptions:function(){return(0,o.extend)(this.callBase(),{searchMode:\"\",searchExpr:null,searchValue:\"\",searchEnabled:!1,searchEditorOptions:{}})},_initMarkup:function(){this._renderSearch(),this.callBase()},_renderSearch:function(){var e=this.$element(),t=this.option(\"searchEnabled\"),n=this._addWidgetPrefix(\"search\"),o=this._addWidgetPrefix(\"with-search\");if(!t)return e.removeClass(o),void this._removeSearchBox();var a=this._getSearchEditorOptions();this._searchEditor?this._searchEditor.option(a):(e.addClass(o),this._$searchEditorElement=(0,i.default)(\"<div>\").addClass(n).prependTo(e),this._searchEditor=this._createComponent(this._$searchEditorElement,u,a))},_removeSearchBox:function(){this._$searchEditorElement&&this._$searchEditorElement.remove(),delete this._$searchEditorElement,delete this._searchEditor},_getSearchEditorOptions:function(){var e=this,t=e.option(\"searchEditorOptions\"),n=a.default.format(\"Search\");return(0,o.extend)({mode:\"search\",placeholder:n,tabIndex:e.option(\"tabIndex\"),value:e.option(\"searchValue\"),valueChangeEvent:\"input\",inputAttr:{\"aria-label\":n},onValueChanged:function(t){var n=e.option(\"searchTimeout\");e._valueChangeDeferred=new s.Deferred,clearTimeout(e._valueChangeTimeout),e._valueChangeDeferred.done(function(){this.option(\"searchValue\",t.value)}.bind(e)),t.event&&\"input\"===t.event.type&&n?e._valueChangeTimeout=setTimeout((function(){e._valueChangeDeferred.resolve()}),n):e._valueChangeDeferred.resolve()}},t)},_getAriaTarget:function(){return this.option(\"searchEnabled\")?this._itemContainer(!0):this.callBase()},_focusTarget:function(){return this.option(\"searchEnabled\")?this._itemContainer(!0):this.callBase()},_updateFocusState:function(e,t){this.option(\"searchEnabled\")&&this._toggleFocusClass(t,this.$element()),this.callBase(e,t)},getOperationBySearchMode:function(e){return\"equals\"===e?\"=\":e},_optionChanged:function(e){switch(e.name){case\"searchEnabled\":case\"searchEditorOptions\":this._invalidate();break;case\"searchExpr\":case\"searchMode\":case\"searchValue\":if(!this._dataSource)return void r.default.log(\"W1009\");\"searchMode\"===e.name?this._dataSource.searchOperation(this.getOperationBySearchMode(e.value)):this._dataSource[e.name](e.value),this._dataSource.load();break;case\"searchTimeout\":break;default:this.callBase(e)}},focus:function(){this.option(\"focusedElement\")||!this.option(\"searchEnabled\")?this.callBase():this._searchEditor&&this._searchEditor.focus()},_cleanAria:function(){var e=this.$element();this.setAria({role:null,activedescendant:null},e),e.attr(\"tabIndex\",null)},_clean:function(){this.callBase(),this._cleanAria()},_refresh:function(){this._valueChangeDeferred&&this._valueChangeDeferred.resolve(),this.callBase()},setEditorClass:function(e){u=e}};t.default=d,e.exports=t.default,e.exports.default=t.default},14390:function(e,t,n){t.default=void 0;var i=p(n(68374)),o=p(n(62414)),a=p(n(13046)),r=n(72918),s=n(20576),l=n(95479),u=n(13306),d=n(31421),c=n(35922),h=p(n(20530)),f=n(58020);function p(e){return e&&e.__esModule?e:{default:e}}function g(e){return(g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function m(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==g(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===g(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t,n){e=\"role\"===e||\"id\"===e?e:\"aria-\".concat(e),t=(0,c.isDefined)(t)?t.toString():null,n.attr(e,t)}n(95429),n(91633),n(24028);var v=a.default.inherit({_feedbackHideTimeout:400,_feedbackShowTimeout:30,_supportedKeys:function(){return{}},_getDefaultOptions:function(){return(0,u.extend)(this.callBase(),{hoveredElement:null,isActive:!1,disabled:!1,visible:!0,hint:void 0,activeStateEnabled:!1,onContentReady:null,hoverStateEnabled:!1,focusStateEnabled:!1,tabIndex:0,accessKey:void 0,onFocusIn:null,onFocusOut:null,onKeyboardHandled:null,ignoreParentReadOnly:!1,useResizeObserver:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var e=h.default.real(),t=e.platform,n=e.version;return\"ios\"===t&&(0,f.compare)(n,\"13.3\")<=0},options:{useResizeObserver:!1}}])},_init:function(){this.callBase(),this._initContentReadyAction()},_innerWidgetOptionChanged:function(e,t){var n=v.getOptionsFromContainer(t);e&&e.option(n),this._options.cache(t.name,n)},_bindInnerWidgetOptions:function(e,t){var n=this,i=function(){return n._options.silent(t,(0,u.extend)({},e.option()))};i(),e.on(\"optionChanged\",i)},_getAriaTarget:function(){return this._focusTarget()},_initContentReadyAction:function(){this._contentReadyAction=this._createActionByOption(\"onContentReady\",{excludeValidators:[\"disabled\",\"readOnly\"]})},_initMarkup:function(){var e=this.option(),t=e.disabled,n=e.visible;this.$element().addClass(\"dx-widget\"),this._toggleDisabledState(t),this._toggleVisibility(n),this._renderHint(),this._isFocusable()&&this._renderFocusTarget(),this.callBase()},_render:function(){this.callBase(),this._renderContent(),this._renderFocusState(),this._attachFeedbackEvents(),this._attachHoverEvents(),this._toggleIndependentState()},_renderHint:function(){var e=this.option().hint;this.$element().attr(\"title\",e||null)},_renderContent:function(){var e=this;(0,s.deferRender)((function(){return e._disposed?void 0:e._renderContentImpl()})).done((function(){return e._disposed?void 0:e._fireContentReadyAction()}))},_renderContentImpl:s.noop,_fireContentReadyAction:(0,s.deferRenderer)((function(){return this._contentReadyAction()})),_dispose:function(){this._contentReadyAction=null,this._detachKeyboardEvents(),this.callBase()},_resetActiveState:function(){this._toggleActiveState(this._eventBindingTarget(),!1)},_clean:function(){this._cleanFocusState(),this._resetActiveState(),this.callBase(),this.$element().empty()},_toggleVisibility:function(e){this.$element().toggleClass(\"dx-state-invisible\",!e)},_renderFocusState:function(){this._attachKeyboardEvents(),this._isFocusable()&&(this._renderFocusTarget(),this._attachFocusEvents(),this._renderAccessKey())},_renderAccessKey:function(){var e=this._focusTarget(),t=this.option().accessKey;e.attr(\"accesskey\",t)},_isFocusable:function(){var e=this.option(),t=e.focusStateEnabled,n=e.disabled;return t&&!n},_eventBindingTarget:function(){return this.$element()},_focusTarget:function(){return this._getActiveElement()},_isFocusTarget:function(e){return(0,i.default)(this._focusTarget()).toArray().includes(e)},_findActiveTarget:function(e){return e.find(this._activeStateUnit).not(\".dx-state-disabled\")},_getActiveElement:function(){var e=this._eventBindingTarget();return this._activeStateUnit?this._findActiveTarget(e):e},_renderFocusTarget:function(){var e=this.option().tabIndex;this._focusTarget().attr(\"tabIndex\",e)},_keyboardEventBindingTarget:function(){return this._eventBindingTarget()},_refreshFocusEvent:function(){this._detachFocusEvents(),this._attachFocusEvents()},_focusEventTarget:function(){return this._focusTarget()},_focusInHandler:function(e){var t=this;e.isDefaultPrevented()||this._createActionByOption(\"onFocusIn\",{beforeExecute:function(){return t._updateFocusState(e,!0)},excludeValidators:[\"readOnly\"]})({event:e})},_focusOutHandler:function(e){var t=this;e.isDefaultPrevented()||this._createActionByOption(\"onFocusOut\",{beforeExecute:function(){return t._updateFocusState(e,!1)},excludeValidators:[\"readOnly\",\"disabled\"]})({event:e})},_updateFocusState:function(e,t){var n=e.target;this._isFocusTarget(n)&&this._toggleFocusClass(t,(0,i.default)(n))},_toggleFocusClass:function(e,t){(t&&t.length?t:this._focusTarget()).toggleClass(\"dx-state-focused\",e)},_hasFocusClass:function(e){return(0,i.default)(e||this._focusTarget()).hasClass(\"dx-state-focused\")},_isFocused:function(){return this._hasFocusClass()},_getKeyboardListeners:function(){return[]},_attachKeyboardEvents:function(){var e=this;this._detachKeyboardEvents();var t=this.option(),n=t.focusStateEnabled,i=t.onKeyboardHandled,o=this._getKeyboardListeners().length;(n||o||!!i)&&(this._keyboardListenerId=r.keyboard.on(this._keyboardEventBindingTarget(),this._focusTarget(),(function(t){return e._keyboardHandler(t)})))},_keyboardHandler:function(e,t){if(!t){var n=e.originalEvent,i=e.keyName,o=e.which,a=this._supportedKeys(n),r=a[i]||a[o];if(void 0!==r)if(!r.bind(this)(n,e))return!1}var s=this._getKeyboardListeners(),l=this.option().onKeyboardHandled;return s.forEach((function(t){return t&&t._keyboardHandler(e)})),l&&l(e),!0},_refreshFocusState:function(){this._cleanFocusState(),this._renderFocusState()},_cleanFocusState:function(){this._focusTarget().removeAttr(\"tabIndex\"),this._toggleFocusClass(!1),this._detachFocusEvents(),this._detachKeyboardEvents()},_detachKeyboardEvents:function(){r.keyboard.off(this._keyboardListenerId),this._keyboardListenerId=null},_attachHoverEvents:function(){var e=this,t=this.option().hoverStateEnabled,n=this._activeStateUnit,a=this._eventBindingTarget();r.hover.off(a,{selector:n,namespace:\"UIFeedback\"}),t&&r.hover.on(a,new o.default((function(t){var n=t.event,o=t.element;e._hoverStartHandler(n),e.option(\"hoveredElement\",(0,i.default)(o))}),{excludeValidators:[\"readOnly\"]}),(function(t){e.option(\"hoveredElement\",null),e._hoverEndHandler(t)}),{selector:n,namespace:\"UIFeedback\"})},_attachFeedbackEvents:function(){var e=this,t=this.option().activeStateEnabled,n=this._activeStateUnit,a=this._eventBindingTarget();r.active.off(a,{namespace:\"UIFeedback\",selector:n}),t&&r.active.on(a,new o.default((function(t){var n=t.event,o=t.element;return e._toggleActiveState((0,i.default)(o),!0,n)})),new o.default((function(t){var n=t.event,o=t.element;return e._toggleActiveState((0,i.default)(o),!1,n)}),{excludeValidators:[\"disabled\",\"readOnly\"]}),{showTimeout:this._feedbackShowTimeout,hideTimeout:this._feedbackHideTimeout,selector:n,namespace:\"UIFeedback\"})},_detachFocusEvents:function(){var e=this._focusEventTarget();r.focus.off(e,{namespace:\"\".concat(this.NAME,\"Focus\")})},_attachFocusEvents:function(){var e=this,t=this._focusEventTarget();r.focus.on(t,(function(t){return e._focusInHandler(t)}),(function(t){return e._focusOutHandler(t)}),{namespace:\"\".concat(this.NAME,\"Focus\"),isFocusable:function(e,t){return(0,i.default)(t).is(d.focusable)}})},_hoverStartHandler:s.noop,_hoverEndHandler:s.noop,_toggleActiveState:function(e,t){this.option(\"isActive\",t),e.toggleClass(\"dx-state-active\",t)},_updatedHover:function(){var e=this._options.silent(\"hoveredElement\");this._hover(e,e)},_findHoverTarget:function(e){return e&&e.closest(this._activeStateUnit||this._eventBindingTarget())},_hover:function(e,t){var n=this.option(),i=n.hoverStateEnabled,o=n.disabled,a=n.isActive;if((t=this._findHoverTarget(t))&&t.toggleClass(\"dx-state-hover\",!1),e&&i&&!o&&!a){var r=this._findHoverTarget(e);r&&r.toggleClass(\"dx-state-hover\",!0)}},_toggleDisabledState:function(e){this.$element().toggleClass(\"dx-state-disabled\",Boolean(e)),this.setAria(\"disabled\",e||void 0)},_toggleIndependentState:function(){this.$element().toggleClass(\"dx-state-independent\",this.option(\"ignoreParentReadOnly\"))},_setWidgetOption:function(e,t){var n=this;if(this[e])if((0,c.isPlainObject)(t[0]))(0,l.each)(t[0],(function(t,i){return n._setWidgetOption(e,[t,i])}));else{var i=t[0],o=t[1];1===t.length&&(o=this.option(i));var a=this[\"\".concat(e,\"OptionMap\")];this[e].option(a?a(i):i,o)}},_optionChanged:function(e){var t=e.name,n=e.value,i=e.previousValue;switch(t){case\"disabled\":this._toggleDisabledState(n),this._updatedHover(),this._refreshFocusState();break;case\"hint\":this._renderHint();break;case\"ignoreParentReadOnly\":this._toggleIndependentState();break;case\"activeStateEnabled\":this._attachFeedbackEvents();break;case\"hoverStateEnabled\":this._attachHoverEvents(),this._updatedHover();break;case\"tabIndex\":case\"focusStateEnabled\":this._refreshFocusState();break;case\"onFocusIn\":case\"onFocusOut\":case\"useResizeObserver\":break;case\"accessKey\":this._renderAccessKey();break;case\"hoveredElement\":this._hover(n,i);break;case\"isActive\":this._updatedHover();break;case\"visible\":this._toggleVisibility(n),this._isVisibilityChangeSupported()&&this._checkVisibilityChanged(n?\"shown\":\"hiding\");break;case\"onKeyboardHandled\":this._attachKeyboardEvents();break;case\"onContentReady\":this._initContentReadyAction();break;default:this.callBase(e)}},_isVisible:function(){var e=this.option().visible;return this.callBase()&&e},beginUpdate:function(){this._ready(!1),this.callBase()},endUpdate:function(){this.callBase(),this._initialized&&this._ready(!0)},_ready:function(e){if(0===arguments.length)return this._isReady;this._isReady=e},setAria:function(){if((0,c.isPlainObject)(arguments.length<=0?void 0:arguments[0])){var e=(arguments.length<=1?void 0:arguments[1])||this._getAriaTarget();(0,l.each)(arguments.length<=0?void 0:arguments[0],(function(t,n){return _(t,n,e)}))}else _(arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1],(arguments.length<=2?void 0:arguments[2])||this._getAriaTarget())},isReady:function(){return this._ready()},repaint:function(){this._refresh()},focus:function(){r.focus.trigger(this._focusTarget())},registerKeyHandler:function(e,t){var n=this._supportedKeys();this._supportedKeys=function(){return(0,u.extend)(n,m({},e,t))}}});v.getOptionsFromContainer=function(e){var t=e.name,n=e.fullName,i=e.value,o={};t===n?o=i:o[n.split(\".\").pop()]=i;return o};var y=v;t.default=y,e.exports=t.default,e.exports.default=t.default},72672:function(e,t,n){t.hideWave=h,t.render=t.initConfig=void 0,t.showWave=l;var i,o=n(58664),a=(i=n(68374))&&i.__esModule?i:{default:i};var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.useHoldAnimation,n=e.waveSizeCoefficient,i=e.isCentered,o=e.wavesNumber;return{waveSizeCoefficient:n||2,isCentered:i||!1,wavesNumber:o||1,durations:d(null==t||t)}};t.initConfig=r;t.render=function(e){var t=r(e);return{showWave:l.bind(this,t),hideWave:h.bind(this,t)}};var s=function(e,t){for(var n=function(e){var t=e.children(\".dx-inkripple\");return 0===t.length&&(t=(0,a.default)(\"<div>\").addClass(\"dx-inkripple\").appendTo(e)),t}((0,a.default)(e)),i=n.children(\".dx-inkripple-wave\").toArray(),o=i.length;o<t;o++){var r=(0,a.default)(\"<div>\").appendTo(n).addClass(\"dx-inkripple-wave\");i.push(r[0])}return(0,a.default)(i)};function l(e,t){var n=s(t.element,e.wavesNumber).eq(t.wave||0);e.hidingTimeout&&clearTimeout(e.hidingTimeout),c(n),n.css(function(e,t){var n,i,r=(0,a.default)(t.element),s=(0,o.getOuterWidth)(r),l=(0,o.getOuterHeight)(r),u=parseInt(Math.sqrt(s*s+l*l)),d=Math.min(4e3,parseInt(u*e.waveSizeCoefficient));if(e.isCentered)n=(s-d)/2,i=(l-d)/2;else{var c=t.event,h=r.offset();n=c.pageX-h.left-d/2,i=c.pageY-h.top-d/2}return{left:n,top:i,height:d,width:d}}(e,t)),e.showingTimeout=setTimeout(u.bind(this,e,n),0)}function u(e,t){var n=e.durations.showingScale+\"ms\";t.addClass(\"dx-inkripple-showing\").css(\"transitionDuration\",n)}function d(e){return{showingScale:e?1e3:300,hidingScale:300,hidingOpacity:300}}function c(e){e.removeClass(\"dx-inkripple-hiding\").css(\"transitionDuration\",\"\")}function h(e,t){e.showingTimeout&&clearTimeout(e.showingTimeout);var n=s(t.element,t.wavesNumber).eq(t.wave||0),i=e.durations,o=i.hidingScale+\"ms, \"+i.hidingOpacity+\"ms\";n.addClass(\"dx-inkripple-hiding\").removeClass(\"dx-inkripple-showing\").css(\"transitionDuration\",o);var a=Math.max(i.hidingScale,i.hidingOpacity);e.hidingTimeout=setTimeout(c.bind(this,n),a)}},53805:function(e,t,n){t.default=void 0;var i=n(19157),o={logarithmic:\"logarithmic\",discrete:\"discrete\",numeric:\"numeric\",left:\"left\",right:\"right\",top:\"top\",bottom:\"bottom\",center:\"center\",horizontal:\"horizontal\",vertical:\"vertical\",convertTicksToValues:function(e){return(0,i.map)(e||[],(function(e){return e.value}))},validateOverlappingMode:function(e){return\"ignore\"===e||\"none\"===e?e:\"hide\"},getTicksCountInRange:function(e,t,n){var i=1;if(e.length>1)for(;i<e.length&&!(Math.abs(e[i].coords[t]-e[0].coords[t])>=n);i++);return i},areLabelsOverlap:function(e,t,n,i){var o=e.x>t.x,a=e.y>t.y,r=e.x,s=t.x,l=e.width,u=t.width;\"left\"===i?(r+=l/2,s+=u/2):\"right\"===i&&(r-=l/2,s-=u/2);var d=o?s+u+n>r:r+l+n>s,c=a?t.y+t.height>e.y:e.y+e.height>t.y;return d&&c}};t.default=o,e.exports=t.default,e.exports.default=t.default},32945:function(e,t){t.measureLabels=t.calculateCanvasMargins=void 0;var n=Math.max;t.calculateCanvasMargins=function(e,t){var i=t.left,o=t.top,a=t.width-t.right,r=t.height-t.bottom;return e.reduce((function(e,t){return!t||t.isEmpty?e:{left:n(e.left,i-t.x),top:n(e.top,o-t.y),right:n(e.right,t.x+t.width-a),bottom:n(e.bottom,t.y+t.height-r)}}),{left:0,right:0,top:0,bottom:0})};t.measureLabels=function(e){e.forEach((function(e){var t=e.getContentContainer();e.labelBBox=t?t.getBBox():{x:0,y:0,width:0,height:0}}))}},41278:function(e,t,n){t.Axis=void 0;var i=n(41583),o=n(19157),a=n(35922),r=k(n(53805)),s=n(13306),l=k(n(30343)),u=n(8587),d=n(45971),c=n(87276),h=n(21177),f=n(41013),p=n(60810),g=k(n(17381)),m=k(n(91198)),_=n(20576),v=k(n(99415)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==D(e)&&\"function\"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(\"default\"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var r=o?Object.getOwnPropertyDescriptor(e,a):null;r&&(r.get||r.set)?Object.defineProperty(i,a,r):i[a]=e[a]}i.default=e,n&&n.set(e,i);return i}(n(4331)),b=k(n(87713)),x=k(n(54978)),w=n(62754),C=n(32945);function S(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(S=function(e){return e?n:t})(e)}function k(e){return e&&e.__esModule?e:{default:e}}function D(e){return(D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function I(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==D(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===D(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var T=r.default.convertTicksToValues,E=Math,O=E.abs,A=E.max,P=E.min,M=Array.isArray,R=r.default.top,B=r.default.bottom,L=r.default.left,V=r.default.right,F=r.default.center,H=\"keep\",N=\"shift\",z=\"reset\",j=864e5,W=6048e5;function G(e,t,n,i,o,a){var r,s=a.allowNegatives,l=a.linearThreshold;return(0,d.tickGenerator)({axisType:e.type,dataType:e.dataType,logBase:e.logarithmBase,allowNegatives:s,linearThreshold:l,axisDivisionFactor:o(e.axisDivisionFactor||50),minorAxisDivisionFactor:o(e.minorAxisDivisionFactor||15),numberMultipliers:e.numberMultipliers,calculateMinors:e.minorTick.visible||e.minorGrid.visible||e.calculateMinors,allowDecimals:e.allowDecimals,endOnTick:e.endOnTick,incidentOccurred:t,firstDayOfWeek:null===(r=e.workWeek)||void 0===r?void 0:r[0],skipTickGeneration:n,skipCalculationLimits:e.skipCalculationLimits,generateExtraTick:e.generateExtraTick,minTickInterval:e.minTickInterval,rangeIsEmpty:i})}function q(e,t,n){var i=e.getOptions();return(0,f.tick)(e,t,i.tick,i.grid,n,!1)}function $(e,t){var n=e.getOptions();return(0,f.tick)(e,t,n.minorTick,n.minorGrid)}function U(e,t,n){var i=e.getOptions();return(0,f.tick)(e,t,(0,s.extend)({},i.tick,{visible:i.showCustomBoundaryTicks}),i.grid,void 0,!1,n?-1:1)}function K(e,t,n,i){(e||[]).forEach((function(e){return e[t](n,i)}))}function Z(e){K(e,\"initCoords\")}function Y(e,t){K(e,\"drawMark\",t)}function X(e,t){K(e,\"drawGrid\",t)}function Q(e,t,n){K(e,\"updateTickPosition\",t,n)}function J(e,t){K(e,\"updateGridPosition\",t)}function ee(e){for(var t=e.length-1;t>=0&&te(e,t);t--);for(t=0;t<e.length&&te(e,t);t++)t--}function te(e,t){return(null===e[t].coords.x||null===e[t].coords.y)&&(e.splice(t,1),!0)}function ne(e,t){return 180*E.asin((e[0].height+t.minSpacing)/(e[1].x-e[0].x))/E.PI<45?-45:-90}function ie(e,t,n){e.forEach((function(e,i){e.getContentContainer()&&(i%t!=0?e.removeLabel():n&&n(e,i))}))}function oe(e,t){return void 0===e?t:null===e?void 0:e}var ae=function(e){this._renderer=e.renderer,this._incidentOccurred=e.incidentOccurred,this._eventTrigger=e.eventTrigger,this._stripsGroup=e.stripsGroup,this._stripLabelAxesGroup=e.stripLabelAxesGroup,this._labelsAxesGroup=e.labelsAxesGroup,this._constantLinesGroup=e.constantLinesGroup,this._scaleBreaksGroup=e.scaleBreaksGroup,this._axesContainerGroup=e.axesContainerGroup,this._gridContainerGroup=e.gridGroup,this._axisCssPrefix=e.widgetClass+\"-\"+(e.axisClass?e.axisClass+\"-\":\"\"),this._setType(e.axisType,e.drawingType),this._createAxisGroups(),this._translator=this._createTranslator(),this.isArgumentAxis=e.isArgumentAxis,this._viewport={},this._prevDataInfo={},this._firstDrawing=!0,this._initRange={},this._getTemplate=e.getTemplate};t.Axis=ae,ae.prototype={constructor:ae,_drawAxis:function(){var e=this._options;e.visible&&(this._axisElement=this._createAxisElement(),this._updateAxisElementPosition(),this._axisElement.attr({\"stroke-width\":e.width,stroke:e.color,\"stroke-opacity\":e.opacity}).sharp(this._getSharpParam(!0),this.getAxisSharpDirection()).append(this._axisLineGroup))},_createPathElement:function(e,t,n){return this.sharp(this._renderer.path(e,\"line\").attr(t),n)},sharp:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.sharp(this._getSharpParam(),t)},customPositionIsAvailable:function(){return!1},getOrthogonalAxis:_.noop,getCustomPosition:_.noop,getCustomBoundaryPosition:_.noop,resolveOverlappingForCustomPositioning:_.noop,hasNonBoundaryPosition:function(){return!1},customPositionIsBoundaryOrthogonalAxis:function(){return!1},getResolvedBoundaryPosition:function(){return this.getOptions().position},getAxisSharpDirection:function(){var e=this.getResolvedBoundaryPosition();return this.hasNonBoundaryPosition()||e!==B&&e!==V?1:-1},getSharpDirectionByCoords:function(e){var t=this._getCanvasStartEnd(),n=Math.max(t.start,t.end);return this.getRadius?0:n!==e[this._isHorizontal?\"x\":\"y\"]?1:-1},_getGridLineDrawer:function(){var e=this;return function(t,n){var i=e._getGridPoints(t.coords);return i.points?e._createPathElement(i.points,n,e.getSharpDirectionByCoords(t.coords)):null}},_getGridPoints:function(e){var t=this._isHorizontal,n=t?\"x\":\"y\",i=this._orthogonalPositions,o=i.start,a=i.end,r=this.borderOptions,s=t?L:R,l=t?V:B,u=this.getCanvas(),d={left:u.left,right:u.width-u.right,top:u.top,bottom:u.height-u.bottom},c=4+(r.visible&&r[s]?d[s]:void 0),h=(r.visible&&r[l]?d[l]:void 0)-4;return this.areCoordsOutsideAxis(e)||void 0===e[n]||e[n]<c||e[n]>h?{points:null}:{points:t?null!==e[n]?[e[n],o,e[n],a]:null:null!==e[n]?[o,e[n],a,e[n]]:null}},_getConstantLinePos:function(e,t,n){var i=this._getTranslatedCoord(e);if(!(!(0,a.isDefined)(i)||i<P(t,n)||i>A(t,n)))return i},_getConstantLineGraphicAttributes:function(e){var t=this._orthogonalPositions.start,n=this._orthogonalPositions.end;return{points:this._isHorizontal?[e,t,e,n]:[t,e,n,e]}},_createConstantLine:function(e,t){return this._createPathElement(this._getConstantLineGraphicAttributes(e).points,t,(n=e,i=this._getCanvasStartEnd(),Math.max(i.start,i.end)!==n?1:-1));var n,i},_drawConstantLineLabelText:function(e,t,n,i,a){var r=i.font,l=i.cssClass;return this._renderer.text(e,t,n).css((0,o.patchFontOptions)((0,s.extend)({},this._options.label.font,r))).attr({align:\"center\",class:l}).append(a)},_drawConstantLineLabels:function(e,t,n,i){var o,a=t.text,r=this._options.label;this._checkAlignmentConstantLineLabels(t),a=null!==(o=a)&&void 0!==o?o:this.formatLabel(e,r);var s=this._getConstantLineLabelsCoords(n,t);return this._drawConstantLineLabelText(a,s.x,s.y,t,i)},_getStripPos:function(e,t,n,i,o){var r,s,l,u,d,c=!(!o.minVisible&&!o.maxVisible),h=(o.categories||[]).reduce((function(e,t){return e.push(t.valueOf()),e}),[]);if(!c&&(0,a.isDefined)(e)&&(0,a.isDefined)(t)){var f,p,g=this.parser(e),m=this.parser(t);if(u=h.indexOf(null!==(f=null==g?void 0:g.valueOf())&&void 0!==f?f:void 0),d=h.indexOf(null!==(p=null==m?void 0:m.valueOf())&&void 0!==p?p:void 0),-1===u||-1===d)return{from:0,to:0,outOfCanvas:!0};u>d&&(l=t,t=e,e=l)}(0,a.isDefined)(e)?(e=this.validateUnit(e,\"E2105\",\"strip\"),r=this._getTranslatedCoord(e,-1)):r=n,(0,a.isDefined)(t)?(t=this.validateUnit(t,\"E2105\",\"strip\"),s=this._getTranslatedCoord(t,1)):s=i;var _=r<s?{from:r,to:s}:{from:s,to:r},v=this.getVisibleArea();return(_.from<=v[0]&&_.to<=v[0]||_.from>=v[1]&&_.to>=v[1])&&(_.outOfCanvas=!0),_},_getStripGraphicAttributes:function(e,t){var n,i,o,a,r=this._orthogonalPositions,s=r.start,l=r.end;return this._isHorizontal?(n=e,i=P(s,l),o=t-e,a=O(s-l)):(n=P(s,l),i=e,o=O(s-l),a=O(e-t)),{x:n,y:i,width:o,height:a}},_createStrip:function(e){return this._renderer.rect(e.x,e.y,e.width,e.height)},_adjustStripLabels:function(){var e=this;this._strips.forEach((function(t){t.label&&t.label.attr(e._getAdjustedStripLabelCoords(t))}))},_adjustLabelsCoord:function(e,t,n){var i=this,o=function(o){return i._getLabelAdjustedCoord(o,e+(o.labelOffset||0),t,n)};this._majorTicks.forEach((function(e){e.label?(e.updateMultilineTextAlignment(),e.label.attr(o(e))):e.templateContainer&&e.templateContainer.attr(o(e))}))},_adjustLabels:function(e){var t=this.getOptions(),n=t.position===t.label.position,i=this._majorTicks.reduce((function(e,t){if(!t.getContentContainer())return e;var n=t.labelRotationAngle?(0,o.rotateBBox)(t.labelBBox,[t.labelCoords.x,t.labelCoords.y],-t.labelRotationAngle):t.labelBBox;return{width:A(e.width||0,n.width),height:A(e.height||0,n.height),offset:A(e.offset||0,t.labelOffset||0)}}),{}),a=n?this._isHorizontal?i.height:i.width:0;return this._adjustLabelsCoord(e,i.width),e+a+(a&&this._options.label.indentFromAxis)+(n?i.offset:0)},_getLabelAdjustedCoord:function(e,t,n){t=t||0;var i,a,r=this._options,s=e.templateContainer&&e.templateContainer.getBBox()||(0,o.rotateBBox)(e.labelBBox,[e.labelCoords.x,e.labelCoords.y],-e.labelRotationAngle||0),l=e.labelAlignment||r.label.alignment,u=\"discrete\"===this._options.type,d=e.labelRotationAngle%90==0,c=r.label.indentFromAxis,h=r.label.position,f=this._axisPosition,p=e.labelCoords,g=p.x;return this._isHorizontal?(a=h===B?f+c-s.y+t:f-c-(s.y+s.height)-t,i=l===V?u&&d?e.coords.x-(s.x+s.width):g-s.x-s.width:l===L?u&&d?g-s.x-(e.coords.x-g):g-s.x:g-s.x-s.width/2):(a=p.y-s.y-s.height/2,h===L?(i=l===L?f-c-n-s.x:l===F?f-c-n/2-s.x-s.width/2:f-c-s.x-s.width,i-=t):(i=l===V?f+c+n-s.x-s.width:l===F?f+c+n/2-s.x-s.width/2:f+c-s.x,i+=t)),{translateX:i,translateY:a}},_createAxisConstantLineGroups:function(){var e=this._renderer,t=this._axisCssPrefix+\"constant-lines\",n=e.g().attr({class:t}),i=e.g().attr({class:t}),o=e.g().attr({class:t});return{inside:n,outside1:i,left:i,top:i,outside2:o,right:o,bottom:o,remove:function(){this.inside.remove(),this.outside1.remove(),this.outside2.remove()},clear:function(){this.inside.clear(),this.outside1.clear(),this.outside2.clear()}}},_createAxisGroups:function(){var e=this._renderer,t=this._axisCssPrefix;this._axisGroup=e.g().attr({class:t+\"axis\"}).enableLinks(),this._axisStripGroup=e.g().attr({class:t+\"strips\"}),this._axisGridGroup=e.g().attr({class:t+\"grid\"}),this._axisElementsGroup=e.g().attr({class:t+\"elements\"}),this._axisLineGroup=e.g().attr({class:t+\"line\"}).linkOn(this._axisGroup,\"axisLine\").linkAppend(),this._axisTitleGroup=e.g().attr({class:t+\"title\"}).append(this._axisGroup),this._axisConstantLineGroups={above:this._createAxisConstantLineGroups(),under:this._createAxisConstantLineGroups()},this._axisStripLabelGroup=e.g().attr({class:t+\"axis-labels\"})},_clearAxisGroups:function(){this._axisGroup.remove(),this._axisStripGroup.remove(),this._axisStripLabelGroup.remove(),this._axisConstantLineGroups.above.remove(),this._axisConstantLineGroups.under.remove(),this._axisGridGroup.remove(),this._axisTitleGroup.clear(),this._options.label.template&&this.isRendered()||(this._axisElementsGroup.remove(),this._axisElementsGroup.clear()),this._axisLineGroup&&this._axisLineGroup.clear(),this._axisStripGroup&&this._axisStripGroup.clear(),this._axisGridGroup&&this._axisGridGroup.clear(),this._axisConstantLineGroups.above.clear(),this._axisConstantLineGroups.under.clear(),this._axisStripLabelGroup&&this._axisStripLabelGroup.clear()},_getLabelFormatObject:function(e,t,n,o,a,r){n=n||this._getViewportRange();var s={value:e,valueText:(0,i.smartFormatter)(e,{labelOptions:t,ticks:r||T(this._majorTicks),tickInterval:null!=a?a:this._tickInterval,dataType:this._options.dataType,logarithmBase:this._options.logarithmBase,type:this._options.type,showTransition:!this._options.marker.visible,point:o})||\"\",min:n.minVisible,max:n.maxVisible};return o&&(s.point=o),s},formatLabel:function(e,t,n,i,o,r){var s=this._getLabelFormatObject(e,t,n,i,o,r);return(0,a.isFunction)(t.customizeText)?t.customizeText.call(s,s):s.valueText},formatHint:function(e,t,n){var i=this._getLabelFormatObject(e,t,n);return(0,a.isFunction)(t.customizeHint)?t.customizeHint.call(i,i):void 0},formatRange:function(e,t,n,o){return(0,i.formatRange)({startValue:e,endValue:t,tickInterval:n,argumentFormat:o,axisOptions:this.getOptions()})},_setTickOffset:function(){var e=this._options.discreteAxisDivisionMode;this._tickOffset=+(\"crossLabels\"!==e||!e)},aggregatedPointBetweenTicks:function(){return\"crossTicks\"===this._options.aggregatedPointsPosition},resetApplyingAnimation:function(e){this._resetApplyingAnimation=!0,e&&(this._firstDrawing=!0)},isFirstDrawing:function(){return this._firstDrawing},getMargins:function(){var e,t,n=this,i=n._options,o=i.position,r=i.offset,s=i.customPosition,l=i.placeholderSize,u=i.grid,d=i.tick,c=i.crosshairMargin,h=(0,a.isDefined)(s),f=n.getResolvedBoundaryPosition(),p=n.getCanvas(),g=p.left,m=p.top,_=p.width-p.right,v=p.height-p.bottom,y=A(u.visible&&u.width||0,d.visible&&d.width||0),b=n._axisConstantLineGroups.above,x=n._axisConstantLineGroups.under,w=[n._axisElementsGroup,b.outside1,b.outside2,x.outside1,x.outside2,n._axisLineGroup].map((function(e){return e&&e.getBBox()})).concat((e=n._axisTitleGroup,!(t=e&&e.getBBox())||t.isEmpty||(n._isHorizontal?(t.x=g,t.width=_-g):(t.y=m,t.height=v-m)),t)),S=(0,C.calculateCanvasMargins)(w,p);if(S[o]+=c,n.hasNonBoundaryPosition()&&h&&(S[f]=0),l&&(S[o]=l),y&&(n._isHorizontal&&p.right<y&&S.right<y&&(S.right=y),!n._isHorizontal&&p.bottom<y&&S.bottom<y&&(S.bottom=y)),!h&&(0,a.isDefined)(r)){var k=n.customPositionIsBoundary()&&(r>0&&(f===L||f===R)||r<0&&(f===V||f===B));S[f]-=k?r:0}return S},validateUnit:function(e,t,n){return void 0===(e=this.parser(e))&&t&&this._incidentOccurred(t,[n]),e},_setType:function(e,t){var n;switch(e){case\"xyAxes\":n=v.default;break;case\"polarAxes\":n=y}(0,s.extend)(this,n[t])},_getSharpParam:function(){return!0},_disposeBreaksGroup:_.noop,dispose:function(){[this._axisElementsGroup,this._axisStripGroup,this._axisGroup].forEach((function(e){e.dispose()})),this._strips=this._title=null,this._axisStripGroup=this._axisConstantLineGroups=this._axisStripLabelGroup=this._axisBreaksGroup=null,this._axisLineGroup=this._axisElementsGroup=this._axisGridGroup=null,this._axisGroup=this._axisTitleGroup=null,this._axesContainerGroup=this._stripsGroup=this._constantLinesGroup=this._labelsAxesGroup=null,this._renderer=this._options=this._textOptions=this._textFontStyles=null,this._translator=null,this._majorTicks=this._minorTicks=null,this._disposeBreaksGroup(),this._templatesRendered&&this._templatesRendered.reject()},getOptions:function(){return this._options},setPane:function(e){this.pane=e,this._options.pane=e},setTypes:function(e,t,n){this._options.type=e||this._options.type,this._options[n]=t||this._options[n],this._updateTranslator()},resetTypes:function(e){this._options.type=this._initTypes.type,this._options[e]=this._initTypes[e]},getTranslator:function(){return this._translator},updateOptions:function(e){var t=this,n=e.label;!function(e){var t,n,i=e.label,o=e.position,a=e.isHorizontal?B:L,r=e.isHorizontal?R:V,s=i.position;if(o!==a&&o!==r&&(o=a),s&&\"outside\"!==s){if(\"inside\"===s){var l;s=(l={},I(l,R,B),I(l,B,R),I(l,L,V),I(l,V,L),l)[o]}}else s=o;s!==a&&s!==r&&(s=o),i.alignment===F||i.userAlignment||(i.alignment=(n={},I(n,R,F),I(n,B,F),I(n,L,V),I(n,V,L),n)[s]),e.position=o,i.position=s,e.hoverMode=e.hoverMode?e.hoverMode.toLowerCase():\"none\",i.minSpacing=null!==(t=i.minSpacing)&&void 0!==t?t:5,e.type&&(e.type=e.type.toLowerCase()),e.argumentType&&(e.argumentType=e.argumentType.toLowerCase()),e.valueType&&(e.valueType=e.valueType.toLowerCase())}(e),function(e,t){e&&\"shift\"===t.visualRangeUpdateMode&&g.default.log(\"W0016\",\"valueAxis.visualRangeUpdateMode\",\"shift\",\"23.1\",\"Specify another value\")}(!t.isArgumentAxis,e),t._options=e,e.tick=e.tick||{},e.minorTick=e.minorTick||{},e.grid=e.grid||{},e.minorGrid=e.minorGrid||{},e.title=e.title||{},e.marker=e.marker||{},t._initTypes={type:e.type,argumentType:e.argumentType,valueType:e.valueType},t._setTickOffset(),t._isHorizontal=e.isHorizontal,t.pane=e.pane,t.name=e.name,t.priority=e.priority,t._hasLabelFormat=\"\"!==n.format&&(0,a.isDefined)(n.format),t._textOptions={opacity:n.opacity,align:\"center\",class:n.cssClass},t._textFontStyles=(0,o.patchFontOptions)(n.font),e.type===r.default.logarithmic&&e.logarithmBaseError&&(t._incidentOccurred(\"E2104\"),delete e.logarithmBaseError),t._updateTranslator(),t._createConstantLines(),t._strips=(e.strips||[]).map((function(e){return(0,x.default)(t,e)})),t._majorTicks=t._minorTicks=null,t._firstDrawing=!0},calculateInterval:function(e,t){var n=this._options;if(!n||n.type!==r.default.logarithmic)return O(e-t);var i=new h.Range(this.getTranslator().getBusinessRange()),a=i.allowNegatives,s=i.linearThreshold;return O((0,o.getLogExt)(e,n.logarithmBase,a,s)-(0,o.getLogExt)(t,n.logarithmBase,a,s))},getCanvasRange:function(){var e=this._translator;return{startValue:e.from(e.translate(\"canvas_position_start\")),endValue:e.from(e.translate(\"canvas_position_end\"))}},_processCanvas:function(e){return e},updateCanvas:function(e,t){if(t)this._orthogonalPositions=null;else{var n=this._orthogonalPositions={start:this._isHorizontal?e.top:e.left,end:this._isHorizontal?e.height-e.bottom:e.width-e.right};n.center=n.start+(n.end-n.start)/2}this._canvas=e,this._translator.updateCanvas(this._processCanvas(e)),this._initAxisPositions()},getCanvas:function(){return this._canvas},getAxisShift:function(){return this._axisShift||0},hideTitle:function(){this._options.title.text&&(this._incidentOccurred(\"W2105\",[this._isHorizontal?\"horizontal\":\"vertical\"]),this._axisTitleGroup.clear())},getTitle:function(){return this._title},hideOuterElements:function(){!this._options.label.visible&&!this._outsideConstantLines.length||this._translator.getBusinessRange().isEmpty()||(this._incidentOccurred(\"W2106\",[this._isHorizontal?\"horizontal\":\"vertical\"]),this._axisElementsGroup.clear(),K(this._outsideConstantLines,\"removeLabel\"))},_resolveLogarithmicOptionsForRange:function(e){var t=this._options;t.type===r.default.logarithmic&&(e.addRange({allowNegatives:void 0!==t.allowNegatives?t.allowNegatives:e.min<=0}),isNaN(t.linearThreshold)||(e.linearThreshold=t.linearThreshold))},adjustViewport:function(e){var t=this._options,n=t.type===r.default.discrete,i=this._seriesData&&this._seriesData.categories||[],s=this.adjustRange((0,o.getVizRangeObject)(t.wholeRange)),l=this.getViewport()||{},u=new h.Range(e);this._addConstantLinesToRange(u);var d=(0,a.isDefined)(l.startValue),c=(0,a.isDefined)(l.endValue);n||(d=d&&(!(0,a.isDefined)(s.endValue)||l.startValue<s.endValue),c=c&&(!(0,a.isDefined)(s.startValue)||l.endValue>s.startValue));var f,p,g=d?l.startValue:u.minVisible,m=c?l.endValue:u.maxVisible;n?(i=(0,o.getCategoriesInfo)(i,s.startValue,s.endValue).categories,u.categories=i):(u.min=null!==(f=s.startValue)&&void 0!==f?f:u.min,u.max=null!==(p=s.endValue)&&void 0!==p?p:u.max);var _=(0,o.adjustVisualRange)({axisType:t.type,dataType:t.dataType,base:t.logarithmBase},{startValue:d?l.startValue:void 0,endValue:c?l.endValue:void 0,length:l.length},{categories:i,min:s.startValue,max:s.endValue},{categories:i,min:g,max:m});return u.minVisible=_.startValue,u.maxVisible=_.endValue,!(0,a.isDefined)(u.min)&&(u.min=u.minVisible),!(0,a.isDefined)(u.max)&&(u.max=u.maxVisible),u.addRange({}),this._resolveLogarithmicOptionsForRange(u),u},adjustRange:function(e){e=e||{};var t=this._options.type===r.default.discrete,n=this._options.type===r.default.logarithmic,i=!1===this._options.allowNegatives;if(n&&(e.startValue=i&&e.startValue<=0?null:e.startValue,e.endValue=i&&e.endValue<=0?null:e.endValue),!t&&(0,a.isDefined)(e.startValue)&&(0,a.isDefined)(e.endValue)&&e.startValue>e.endValue){var o=e.endValue;e.endValue=e.startValue,e.startValue=o}return e},_getVisualRangeUpdateMode:function(e,t,n){var i=this._options.visualRangeUpdateMode,o=this._translator,s=this._seriesData,l=this._prevDataInfo;if(l.isEmpty&&!l.containsConstantLine)return H;if(!this.isArgumentAxis){var u=this.getViewport();if(!(0,a.isDefined)(u.startValue)&&!(0,a.isDefined)(u.endValue)&&!(0,a.isDefined)(u.length))return z}if(this.isArgumentAxis){if(-1===[N,H,z].indexOf(i)){if(s.axisType===r.default.discrete){var d=s.categories,c=t.categories,h=this.visualRange();i=d&&c&&d.length&&-1!==c.map((function(e){return e.valueOf()})).join(\",\").indexOf(d.map((function(e){return e.valueOf()})).join(\",\"))&&(h.startValue.valueOf()!==d[0].valueOf()||h.endValue.valueOf()!==d[d.length-1].valueOf())?H:z}else{var f=o.translate(s.min),p=o.translate(e.startValue),g=o.translate(s.max),m=o.translate(e.endValue);i=f===p&&g===m?z:f!==p&&g===m?N:H}i===H&&l.isEmpty&&l.containsConstantLine&&(i=z)}}else-1===[H,z].indexOf(i)&&(i=n===H?H:z);return i},_handleBusinessRangeChanged:function(e,t,n){var i=this.visualRange();if(!t&&!this._translator.getBusinessRange().isEmpty()){var o=this._lastVisualRangeUpdateMode=this._getVisualRangeUpdateMode(i,n,e);o===H?this._setVisualRange([i.startValue,i.endValue]):o===z?this._setVisualRange([null,null]):o===N&&this._setVisualRange({length:this.getVisualRangeLength()})}},getVisualRangeLength:function(e){var t,n=e||this._translator.getBusinessRange(),i=this._options.type;if(i===r.default.logarithmic)t=(0,p.adjust)(this.calculateInterval(n.maxVisible,n.minVisible));else if(i===r.default.discrete){t=(0,o.getCategoriesInfo)(n.categories,n.minVisible,n.maxVisible).categories.length}else t=n.maxVisible-n.minVisible;return t},getVisualRangeCenter:function(e,t){var n,i=this.getTranslator(),l=i.getBusinessRange(),u=t?(0,s.extend)(!0,{},l,e||{}):e||l,d=this._options,c=d.type,h=d.logarithmBase;if((0,a.isDefined)(u.minVisible)&&(0,a.isDefined)(u.maxVisible)){if(c===r.default.logarithmic){var f=u.allowNegatives,g=u.linearThreshold,m=u.minVisible,_=u.maxVisible;n=(0,o.raiseToExt)((0,p.adjust)((0,o.getLogExt)(_,h,f,g)+(0,o.getLogExt)(m,h,f,g))/2,h,f,g)}else if(c===r.default.discrete){var v=(0,o.getCategoriesInfo)(u.categories,u.minVisible,u.maxVisible),y=Math.ceil(v.categories.length/2)-1;n=l.categories.indexOf(v.categories[y])}else n=i.toValue((u.maxVisible.valueOf()+u.minVisible.valueOf())/2);return n}},setBusinessRange:function(e,t,n,i){var o,s,l=this._options,u=l.type===r.default.discrete;this._handleBusinessRangeChanged(n,t,e),this._seriesData=new h.Range(e);var d=this._seriesData.isEmpty(),c=new h.Range(this._seriesData);if(this._addConstantLinesToRange(c),this._prevDataInfo={isEmpty:d,containsConstantLine:c.containsConstantLine},this._seriesData.addRange({categories:l.categories,dataType:l.dataType,axisType:l.type,base:l.logarithmBase,invert:l.inverted}),this._resolveLogarithmicOptionsForRange(this._seriesData),!u){if(!(0,a.isDefined)(this._seriesData.min)&&!(0,a.isDefined)(this._seriesData.max)){var f=this.getViewport();f&&this._seriesData.addRange({min:f.startValue,max:f.endValue})}var p=l.synchronizedValue;(0,a.isDefined)(p)&&this._seriesData.addRange({min:p,max:p})}this._seriesData.minVisible=null!==(o=this._seriesData.minVisible)&&void 0!==o?o:this._seriesData.min,this._seriesData.maxVisible=null!==(s=this._seriesData.maxVisible)&&void 0!==s?s:this._seriesData.max,!this.isArgumentAxis&&l.showZero&&this._seriesData.correctValueZeroLevel(),this._seriesData.sortCategories(this.getCategoriesSorter(i)),this._seriesData.userBreaks=this._seriesData.isEmpty()?[]:this._getScaleBreaks(l,this._seriesData,this._series,this.isArgumentAxis),this._translator.updateBusinessRange(this._getViewportRange())},_addConstantLinesToRange:function(e){this._outsideConstantLines.concat(this._insideConstantLines||[]).forEach((function(t){if(t.options.extendAxis){var n=t.getParsedValue();e.addRange({containsConstantLine:!0,minVisible:n,maxVisible:n,min:(0,a.isDefined)(e.min)?e.min:n,max:(0,a.isDefined)(e.max)?e.max:n})}}))},setGroupSeries:function(e){this._series=e},getLabelsPosition:function(){var e=this._options,t=e.position,n=e.label.indentFromAxis+(this._axisShift||0)+this._constantLabelOffset,i=this._axisPosition;return t===R||t===L?i-n:i+n},getFormattedValue:function(e,t,n){var i=this._options.label;return(0,a.isDefined)(e)?this.formatLabel(e,(0,s.extend)(!0,{},i,t),void 0,n):null},_getBoundaryTicks:function(e,t){var n=e.length,i=this._options,o=i.customBoundTicks,s=t.minVisible,l=t.maxVisible,u=i.showCustomBoundaryTicks?this._boundaryTicksVisibility:{},d=[];return i.type===r.default.discrete?this._tickOffset&&0!==e.length&&(d=[e[0],e[e.length-1]]):o?(u.min&&(0,a.isDefined)(o[0])&&d.push(o[0]),u.max&&(0,a.isDefined)(o[1])&&d.push(o[1])):(u.min&&(0===n||e[0]>s)&&d.push(s),u.max&&(0===n||e[n-1]<l)&&d.push(l)),d},setPercentLabelFormat:function(){this._hasLabelFormat||(this._options.label.format=\"percent\")},resetAutoLabelFormat:function(){this._hasLabelFormat||delete this._options.label.format},getMultipleAxesSpacing:function(){return this._options.multipleAxesSpacing||0},getTicksValues:function(){return{majorTicksValues:T(this._majorTicks),minorTicksValues:T(this._minorTicks)}},estimateTickInterval:function(e){return this.updateCanvas(e),this._tickInterval!==this._getTicks(this._getViewportRange(),_.noop,!0).tickInterval},setTicks:function(e){var t=e.majorTicks||[];this._majorTicks=t.map(q(this,this._renderer,this._getSkippedCategory(t))),this._minorTicks=(e.minorTicks||[]).map($(this,this._renderer)),this._isSynchronized=!0},_adjustDivisionFactor:function(e){return e},_getTicks:function(e,t,n){var i=this._options,o=i.customTicks,a=i.customMinorTicks;return G(i,t||this._incidentOccurred,n,this._translator.getBusinessRange().isEmpty(),this._adjustDivisionFactor.bind(this),e)({min:e.minVisible,max:e.maxVisible,categories:e.categories,isSpacedMargin:e.isSpacedMargin},this._getScreenDelta(),i.tickInterval,\"ignore\"===i.label.overlappingBehavior||i.forceUserTickInterval,{majors:o,minors:a},i.minorTickInterval,i.minorTickCount,this._initialBreaks)},_createTicksAndLabelFormat:function(e,t){var n=this._options,i=this._getTicks(e,t,!1);return e.isEmpty()||n.type!==r.default.discrete||\"datetime\"!==n.dataType||this._hasLabelFormat||!i.ticks.length||(n.label.format=l.default.getDateFormatByTicks(i.ticks)),i},getAggregationInfo:function(e,t){var n,i,l,u=this._options,d=this._marginOptions,c=new h.Range(this.getTranslator().getBusinessRange()).addRange(t),f=this.getViewport(),p=null!==(n=null==f?void 0:f.startValue)&&void 0!==n?n:c.minVisible,g=null!==(i=null==f?void 0:f.endValue)&&void 0!==i?i:c.maxVisible,v=[];if(u.type===r.default.discrete&&u.aggregateByCategory)return{aggregateByCategory:!0};var y=u.aggregationInterval,b=u.aggregationGroupWidth;!b&&d&&(d.checkInterval&&(b=u.axisDivisionFactor),d.sizePointNormalState&&(b=Math.min(d.sizePointNormalState,u.axisDivisionFactor)));var x=!u.aggregationGroupWidth&&!y&&t.interval,w=function(e,t,n,i,o){var r=(0,s.extend)({},e,{endOnTick:!0,axisDivisionFactor:t,skipCalculationLimits:!0,generateExtraTick:!0,minTickInterval:o});return function(e,t,o,s,l){return G(r,_.noop,t,n.isEmpty(),(function(e){return e}),n)({min:o,max:s,categories:n.categories,isSpacedMargin:n.isSpacedMargin},i,e,(0,a.isDefined)(e),void 0,void 0,void 0,l)}}(u,b,c,this._getScreenDelta(),x),C=w(y,!0,p,g,null===(l=this._seriesData)||void 0===l?void 0:l.breaks).tickInterval;if(u.type!==r.default.discrete){var S=e?c.min:p,k=e?c.max:g;if((0,a.isDefined)(S)&&(0,a.isDefined)(k)){var D=(0,o.getAddFunction)({base:u.logarithmBase,axisType:u.type,dataType:u.dataType},!1),I=S,T=k;if(!e&&(0,a.isDefined)(C)){var E=Math.max(this.calculateInterval(k,S),\"datetime\"===u.dataType?m.default.dateToMilliseconds(C):C);I=D(S,E,-1),T=D(k,E)}I=I<c.min?c.min:I,T=T>c.max?c.max:T;var O=this._getScaleBreaks(u,{minVisible:I,maxVisible:T},this._series,this.isArgumentAxis);v=w(C,!1,I,T,this._filterBreaks(O,{minVisible:I,maxVisible:T},u.breakStyle)).ticks}}return this._aggregationInterval=C,{interval:C,ticks:v}},getTickInterval:function(){return this._tickInterval},getAggregationInterval:function(){return this._aggregationInterval},createTicks:function(e){var t=this,n=t._renderer,i=t._options;if(e){t._isSynchronized=!1,t.updateCanvas(e);var r=t._getViewportRange();t._initialBreaks=r.breaks=this._seriesData.breaks=t._filterBreaks(this._seriesData.userBreaks,r,i.breakStyle),t._estimatedTickInterval=t._getTicks(t.adjustViewport(this._seriesData),_.noop,!0).tickInterval;var s=this._calculateValueMargins();r.addRange({minVisible:s.minValue,maxVisible:s.maxValue,isSpacedMargin:s.isSpacedMargin});var l=t._createTicksAndLabelFormat(r),u=t._getBoundaryTicks(l.ticks,t._getViewportRange());i.showCustomBoundaryTicks&&u.length?(t._boundaryTicks=[u[0]].map(U(t,n,!0)),u.length>1&&(t._boundaryTicks=t._boundaryTicks.concat([u[1]].map(U(t,n,!1))))):t._boundaryTicks=[];var d=(l.minorTicks||[]).filter((function(e){return!u.some((function(t){return(0,o.valueOf)(t)===(0,o.valueOf)(e)}))}));t._tickInterval=l.tickInterval,t._minorTickInterval=l.minorTickInterval;var c=t._majorTicks||[],h=c.reduce((function(e,t){return e[t.value.valueOf()]=t,e}),{}),f=(0,a.type)(l.ticks[0])===(0,a.type)(c[0]&&c[0].value),p=t._getSkippedCategory(l.ticks),g=l.ticks.map((function(e){var i=h[e.valueOf()];return i&&f?(delete h[e.valueOf()],i.setSkippedCategory(p),i):q(t,n,p)(e)}));t._majorTicks=g;var m=t._minorTicks||[];t._minorTicks=d.map((function(e,i){var o=m[i];return o?(o.updateValue(e),o):$(t,n)(e)})),t._ticksToRemove=Object.keys(h).map((function(e){return h[e]})).concat(m.slice(t._minorTicks.length,m.length)),t._ticksToRemove.forEach((function(e){var t;return null===(t=e.label)||void 0===t?void 0:t.removeTitle()})),l.breaks&&(t._seriesData.breaks=l.breaks),t._reinitTranslator(t._getViewportRange())}},_reinitTranslator:function(e){var t=this._translator;this._isSynchronized||t.updateBusinessRange(e)},_getViewportRange:function(){return this.adjustViewport(this._seriesData)},setMarginOptions:function(e){this._marginOptions=e},getMarginOptions:function(){var e;return null!==(e=this._marginOptions)&&void 0!==e?e:{}},_calculateRangeInterval:function(e){var t=\"datetime\"===this._options.dataType,n=[],i=function(e){(0,a.isDefined)(e)&&n.push(t?m.default.dateToMilliseconds(e):e)};return i(this._tickInterval),i(this._estimatedTickInterval),(0,a.isDefined)(e)&&n.push(e),i(this._aggregationInterval),this._calculateWorkWeekInterval(P.apply(this,n))},_calculateWorkWeekInterval:function(e){var t=this._options;if(\"datetime\"===t.dataType&&t.workdaysOnly&&e){var n=t.workWeek.length*j,i=W-n;if(n!==e&&i<e)e-=i*Math.ceil(e/W);else i>=e&&e>j&&(e=j)}return e},_getConvertIntervalCoefficient:function(e,t){var n=this._translator.ratioOfCanvasRange();return n/(n*t/(e+t))},_calculateValueMargins:function(e){this._resetMargins();var t,n,i,s=this.getMarginOptions(),l=(s.size||0)/2,u=this._options,d=this._getViewportRange(),c=this.getViewport(),h=this._getScreenDelta(),f=-1!==(u.type||\"\").indexOf(r.default.discrete),p=u.valueMarginsEnabled&&!f&&!this.customPositionIsBoundaryOrthogonalAxis(),g=this._translator,m=u.minValueMargin,_=u.maxValueMargin,v=0,y=0,b=0;if(d.stubData||!h)return{startPadding:0,endPadding:0};if(this.isArgumentAxis&&s.checkInterval){t=this._calculateRangeInterval(d.interval);var x=g.getInterval(t);isFinite(x)?b=Math.ceil(x/(2*this._getConvertIntervalCoefficient(x,h))):t=0}var w=.8*h/2;p&&((0,a.isDefined)(m)?n=isFinite(m)?m:0:!this.isArgumentAxis&&s.checkInterval&&(0,o.valueOf)(d.minVisible)>0&&(0,o.valueOf)(d.minVisible)===(0,o.valueOf)(d.min)?v=5:(v=Math.max(l,b),v=Math.min(w,v)),(0,a.isDefined)(_)?i=isFinite(_)?_:0:!this.isArgumentAxis&&s.checkInterval&&(0,o.valueOf)(d.maxVisible)<0&&(0,o.valueOf)(d.maxVisible)===(0,o.valueOf)(d.max)?y=5:(y=Math.max(l,b),y=Math.min(w,y))),s.percentStick&&!this.isArgumentAxis&&(1===O(d.max)&&(y=0),1===O(d.min)&&(v=0));var C,S,k,D,I,T,E=this._getCanvasStartEnd(),P=(h-v-y)/(1+(n||0)+(i||0))||h;if(void 0===n&&void 0===i||(void 0!==n&&(v=P*n),void 0!==i&&(y=P*i)),u.type!==r.default.discrete&&e&&e.length>1&&!u.skipViewportExtending&&!c.action&&!1!==u.endOnTick){var M=e.length,R=g.translate(e[0].value),B=g.translate(e[M-1].value),L=R>B?-1:1,V=A(L*(E.start-R),0),F=A(L*(B-E.end),0);if(V>v||F>y){var H=F+V,N=this._getConvertIntervalCoefficient(H,h);V>=v&&(C=e[0].value),F>=y&&(S=e[M-1].value),v=A(V,v)/N,y=A(F,y)/N}}(n=void 0===n?v/P:n,i=void 0===i?y/P:i,f)||(this._translator.isInverted()?(C=null!==(k=C)&&void 0!==k?k:g.from(E.start+h*n,-1),S=null!==(D=S)&&void 0!==D?D:g.from(E.end-h*i,1)):(C=null!==(I=C)&&void 0!==I?I:g.from(E.start-h*n,-1),S=null!==(T=S)&&void 0!==T?T:g.from(E.end+h*i,1)));var z=this.getCorrectedValuesToZero(C,S),j=z.correctedMin,W=z.correctedMax,G=z.start,q=z.end;return v=null!=G?G:v,y=null!=q?q:y,{startPadding:g.isInverted()?y:v,endPadding:g.isInverted()?v:y,minValue:null!=j?j:C,maxValue:null!=W?W:S,interval:t,isSpacedMargin:v===y&&0!==v}},getCorrectedValuesToZero:function(e,t){var n,i,o,a,r=this,s=r._translator,l=r._getCanvasStartEnd(),u=r._getViewportRange(),d=r._getScreenDelta(),c=r._options,h=function(e,t){var o=O(l.start-e),a=O(l.end-t),s=r._getConvertIntervalCoefficient(o+a,d);n=o/s,i=a/s};return r.isArgumentAxis||\"datetime\"===c.dataType||(e*u.min<=0&&e*u.minVisible<=0&&(h(s.translate(0),s.translate(t)),o=0),t*u.max<=0&&t*u.maxVisible<=0&&(h(s.translate(e),s.translate(0)),a=0)),{start:isFinite(n)?n:null,end:isFinite(i)?i:null,correctedMin:o,correctedMax:a}},applyMargins:function(){if(!this._isSynchronized){var e=this._calculateValueMargins(this._majorTicks),t=(0,s.extend)({},this._canvas,{startPadding:e.startPadding,endPadding:e.endPadding});if(this._translator.updateCanvas(this._processCanvas(t)),isFinite(e.interval)){var n=this._translator.getBusinessRange();n.addRange({interval:e.interval}),this._translator.updateBusinessRange(n)}}},_resetMargins:function(){this._reinitTranslator(this._getViewportRange()),this._canvas&&this._translator.updateCanvas(this._processCanvas(this._canvas))},_createConstantLines:function(){var e=this,t=(this._options.constantLines||[]).map((function(t){return(0,b.default)(e,t)}));this._outsideConstantLines=t.filter((function(e){return\"outside\"===e.labelPosition})),this._insideConstantLines=t.filter((function(e){return\"inside\"===e.labelPosition}))},draw:function(e,t){var n=this,i=this._options;n.borderOptions=t||{visible:!1},n._resetMargins(),n.createTicks(e),n.applyMargins(),n._clearAxisGroups(),Z(n._majorTicks),Z(n._minorTicks),Z(n._boundaryTicks),n._axisGroup.append(n._axesContainerGroup),n._drawAxis(),n._drawTitle(),Y(n._majorTicks,i.tick),Y(n._minorTicks,i.minorTick),Y(n._boundaryTicks,i.tick);var o=n._getGridLineDrawer();X(n._majorTicks,o),X(n._minorTicks,o),K(n._majorTicks,\"drawLabel\",n._getViewportRange(),n._getTemplate(i.label.template)),n._templatesRendered&&n._templatesRendered.reject(),n._templatesRendered=new w.Deferred,n._majorTicks.forEach((function(e){e.labelRotationAngle=0,e.labelAlignment=void 0,e.labelOffset=0})),K(n._outsideConstantLines.concat(n._insideConstantLines),\"draw\"),K(n._strips,\"draw\"),n._dateMarkers=n._drawDateMarkers()||[],n._stripLabelAxesGroup&&n._axisStripLabelGroup.append(n._stripLabelAxesGroup),n._gridContainerGroup&&n._axisGridGroup.append(n._gridContainerGroup),n._stripsGroup&&n._axisStripGroup.append(n._stripsGroup),n._labelsAxesGroup&&n._axisElementsGroup.append(n._labelsAxesGroup),n._constantLinesGroup&&(n._axisConstantLineGroups.above.inside.append(n._constantLinesGroup.above),n._axisConstantLineGroups.above.outside1.append(n._constantLinesGroup.above),n._axisConstantLineGroups.above.outside2.append(n._constantLinesGroup.above),n._axisConstantLineGroups.under.inside.append(n._constantLinesGroup.under),n._axisConstantLineGroups.under.outside1.append(n._constantLinesGroup.under),n._axisConstantLineGroups.under.outside2.append(n._constantLinesGroup.under)),n._measureTitle(),(0,C.measureLabels)(n._majorTicks),!i.label.template&&n._applyWordWrap(),(0,C.measureLabels)(n._outsideConstantLines),(0,C.measureLabels)(n._insideConstantLines),(0,C.measureLabels)(n._strips),(0,C.measureLabels)(n._dateMarkers),n._adjustConstantLineLabels(n._insideConstantLines),n._adjustStripLabels();var a=n._constantLabelOffset=n._adjustConstantLineLabels(n._outsideConstantLines);n._translator.getBusinessRange().isEmpty()||(n._setLabelsPlacement(),a=n._adjustLabels(a)),w.when.apply(this,n._majorTicks.map((function(e){return e.getTemplateDeferred()}))).done((function(){n._templatesRendered.resolve()})),a=n._adjustDateMarkers(a),n._adjustTitle(a)},getTemplatesDef:function(){return this._templatesRendered},setRenderedState:function(e){this._drawn=e},isRendered:function(){return this._drawn},_applyWordWrap:function(){var e,t,n,i=this._options,o=this._tickInterval;(0,a.isDefined)(o)&&(e=this.getTranslator().getInterval(\"datetime\"===i.dataType?m.default.dateToMilliseconds(o):o));var r=this._validateDisplayMode(i.label.displayMode),s=this._validateOverlappingMode(i.label.overlappingBehavior,r),l=i.label.wordWrap||\"none\",u=i.label.textOverflow||\"none\";if((\"none\"!==l||\"none\"!==u)&&\"rotate\"!==r&&\"rotate\"!==s&&\"auto\"!==s){var d=(0,a.isDefined)(i.placeholderSize)?i.placeholderSize-i.label.indentFromAxis:void 0;this._isHorizontal?(t=e,n=d):(t=d,n=e);var c=!1,h=!1;t&&this._majorTicks.some((function(e){return e.labelBBox.width>t}))&&(c=!0),n&&this._majorTicks.some((function(e){return e.labelBBox.height>n}))&&(h=!0),(c||h)&&(this._majorTicks.forEach((function(e){e.label&&e.label.setMaxSize(t,n,i.label)})),(0,C.measureLabels)(this._majorTicks))}},_measureTitle:_.noop,animate:function(){K(this._majorTicks,\"animateLabels\")},updateSize:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this;i.updateCanvas(e),n&&(i._checkTitleOverflow(),i._measureTitle(),i._updateTitleCoords()),i._reinitTranslator(i._getViewportRange()),i.applyMargins();var o=!i._firstDrawing&&t,a=i._options;Z(i._majorTicks),Z(i._minorTicks),Z(i._boundaryTicks),i._resetApplyingAnimation&&!i._firstDrawing&&i._resetStartCoordinates(),ee(i._majorTicks),ee(i._minorTicks),ee(i._boundaryTicks),i._axisElement&&i._updateAxisElementPosition(),Q(i._majorTicks,a.tick,o),Q(i._minorTicks,a.minorTick,o),Q(i._boundaryTicks,a.tick),K(i._majorTicks,\"updateLabelPosition\",o),i._outsideConstantLines.concat(i._insideConstantLines||[]).forEach((function(e){return e.updatePosition(o)})),K(i._strips,\"updatePosition\",o),J(i._majorTicks,o),J(i._minorTicks,o),o&&K(i._ticksToRemove||[],\"fadeOutElements\"),i.prepareAnimation(),i._ticksToRemove=null,i._translator.getBusinessRange().isEmpty()||(i._firstDrawing=!1),i._resetApplyingAnimation=!1,i._updateLabelsPosition()},_updateLabelsPosition:_.noop,prepareAnimation:function(){var e=\"saveCoords\";K(this._majorTicks,e),K(this._minorTicks,e),K(this._insideConstantLines,e),K(this._outsideConstantLines,e),K(this._strips,e)},_resetStartCoordinates:function(){var e=\"resetCoordinates\";K(this._majorTicks,e),K(this._minorTicks,e),K(this._insideConstantLines,e),K(this._outsideConstantLines,e),K(this._strips,e)},applyClipRects:function(e,t){this._axisGroup.attr({\"clip-path\":t}),this._axisStripGroup.attr({\"clip-path\":e}),this._axisElementsGroup.attr({\"clip-path\":t})},_validateVisualRange:function(e){var t=(0,o.getVizRangeObject)(e);return void 0!==t.startValue&&(t.startValue=this.validateUnit(t.startValue)),void 0!==t.endValue&&(t.endValue=this.validateUnit(t.endValue)),(0,o.convertVisualRangeObject)(t,!M(e))},_validateOptions:function(e){e.wholeRange=this._validateVisualRange(e.wholeRange),e.visualRange=e._customVisualRange=this._validateVisualRange(e._customVisualRange),this._setVisualRange(e._customVisualRange)},validate:function(){var e=this._options,t=this.isArgumentAxis?e.argumentType:e.valueType,n=t?(0,u.getParser)(t):function(e){return e};this.parser=n,e.dataType=t,this._validateOptions(e)},resetVisualRange:function(e){this._seriesData.minVisible=this._seriesData.min,this._seriesData.maxVisible=this._seriesData.max,this.handleZooming([null,null],{start:!!e,end:!!e})},_setVisualRange:function(e,t){var n=this.adjustRange((0,o.getVizRangeObject)(e));t?((0,a.isDefined)(n.startValue)&&(this._viewport.startValue=n.startValue),(0,a.isDefined)(n.endValue)&&(this._viewport.endValue=n.endValue)):this._viewport=n},_applyZooming:function(e,t){this._resetVisualRangeOption(),this._setVisualRange(e,t);var n=this.getViewport();this._seriesData.userBreaks=this._getScaleBreaks(this._options,{minVisible:n.startValue,maxVisible:n.endValue},this._series,this.isArgumentAxis),this._translator.updateBusinessRange(this._getViewportRange())},getZoomStartEventArg:function(e,t){return{axis:this,range:this.visualRange(),cancel:!1,event:e,actionType:t}},_getZoomEndEventArg:function(e,t,n,i,o){var a=this.visualRange();return{axis:this,previousRange:e,range:a,cancel:!1,event:t,actionType:n,zoomFactor:i,shift:o,rangeStart:a.startValue,rangeEnd:a.endValue}},getZoomBounds:function(){var e=(0,o.getVizRangeObject)(this._options.wholeRange),t=this.getTranslator().getBusinessRange(),n={startValue:oe(this._initRange.startValue,t.min),endValue:oe(this._initRange.endValue,t.max)};return{startValue:oe(e.startValue,n.startValue),endValue:oe(e.endValue,n.endValue)}},setInitRange:function(){this._initRange={},0===Object.keys(this._options.wholeRange||{}).length&&(this._initRange=this.getZoomBounds())},_resetVisualRangeOption:function(){this._options._customVisualRange={}},getTemplatesGroups:function(){return this._majorTicks?this._majorTicks.map((function(e){return e.templateContainer})).filter((function(e){return(0,a.isDefined)(e)})):[]},setCustomVisualRange:function(e){this._options._customVisualRange=e},visualRange:function(){var e,t=this,n=arguments;if(0===n.length){var i,l,u=t._getAdjustedBusinessRange(),d=u.minVisible,c=u.maxVisible;return t._options.type===r.default.discrete?{startValue:d=null!==(i=d)&&void 0!==i?i:u.categories[0],endValue:c=null!==(l=c)&&void 0!==l?l:u.categories[u.categories.length-1],categories:(0,o.getCategoriesInfo)(u.categories,d,c).categories}:{startValue:d,endValue:c}}e=M(n[0])?n[0]:(0,a.isPlainObject)(n[0])?(0,s.extend)({},n[0]):[n[0],n[1]];var h=t.handleZooming(e,n[1]);h.isPrevented||t._visualRange(t,h)},handleZooming:function(e,t,n,i){t=t||{},(0,a.isDefined)(e)&&((e=this._validateVisualRange(e)).action=i);var o=this.getZoomStartEventArg(n,i),r=o.range;!t.start&&this._eventTrigger(\"zoomStart\",o);var s={isPrevented:o.cancel,skipEventRising:t.skipEventRising,range:e||o.range};return o.cancel||((0,a.isDefined)(e)&&this._applyZooming(e,t.allowPartialUpdate),(0,a.isDefined)(this._storedZoomEndParams)||(this._storedZoomEndParams={startRange:r,type:this.getOptions().type}),this._storedZoomEndParams.event=n,this._storedZoomEndParams.action=i,this._storedZoomEndParams.prevent=!!t.end),s},handleZoomEnd:function(){if((0,a.isDefined)(this._storedZoomEndParams)&&!this._storedZoomEndParams.prevent){var e=this._storedZoomEndParams.startRange,t=this._storedZoomEndParams.event,n=this._storedZoomEndParams.action,i={minVisible:e.startValue,maxVisible:e.endValue,categories:e.categories},o=this.getOptions().type===this._storedZoomEndParams.type,r=o?(0,p.adjust)(this.getVisualRangeCenter()-this.getVisualRangeCenter(i,!1)):NaN,s=o?+(Math.round(this.getVisualRangeLength(i)/(this.getVisualRangeLength()||1)+\"e+2\")+\"e-2\"):NaN,l=this._getZoomEndEventArg(e,t,n,s,r);l.cancel=this.checkZoomingLowerLimitOvercome(1===s?\"pan\":\"zoom\",s).stopInteraction,this._eventTrigger(\"zoomEnd\",l),l.cancel&&this._restorePreviousVisualRange(e),this._storedZoomEndParams=null}},_restorePreviousVisualRange:function(e){this._storedZoomEndParams=null,this._applyZooming(e),this._visualRange(this,e)},checkZoomingLowerLimitOvercome:function(e,t,n){var i,r=this._options,s=this._translator,l=r.minVisualRangeLength,u=n,d=\"zoom\"===e&&t>=1,c=s.getBusinessRange();n&&(i={minVisible:(i=this.adjustRange((0,o.getVizRangeObject)(n))).startValue,maxVisible:i.endValue,categories:c.categories});var h=this.getVisualRangeLength(c),f=this.getVisualRangeLength(i);if((0,a.isDefined)(l)||\"discrete\"===r.type)l=s.convert(l),i&&l<h&&l>=f?(u=(0,o.getVizRangeObject)(s.getRangeByMinZoomValue(l,i)),d=!1):d&=l>f;else{var p=this._translator.canvasLength,g={minVisible:c.min,maxVisible:c.max,categories:c.categories};d&=this.getVisualRangeLength(g)/p>=f}return{stopInteraction:!!d,correctedRange:u}},isExtremePosition:function(e){var t,n;\"discrete\"===this._options.type?(n=this._translator.getBusinessRange(),t=e?n.categories[n.categories.length-1]:n.categories[0]):(n=this.getZoomBounds(),t=e?n.endValue:n.startValue);var i=this.getTranslator(),o=i.translate(t),a=this.visualRange(),r=e?i.translate(a.endValue):i.translate(a.startValue);return O(r-o)<5},getViewport:function(){return this._viewport},getFullTicks:function(){var e=this._majorTicks||[];return this._options.type===r.default.discrete?T(e):T(e.concat(this._minorTicks,this._boundaryTicks)).sort((function(e,t){return(0,o.valueOf)(e)-(0,o.valueOf)(t)}))},measureLabels:function(e,t){var n,i,o=this,a=o._options,r=a.visible?a.width:0,s=t?a.label.indentFromAxis+.5*a.tick.length:0,l=o._getViewportRange();if(l.isEmpty()||!a.label.visible||!o._axisElementsGroup)return{height:r,width:r,x:0,y:0};o._majorTicks?n=T(o._majorTicks):(o.updateCanvas(e),n=o._createTicksAndLabelFormat(l,_.noop),i=n.tickInterval,n=n.ticks);var u=n.reduce((function(e,t,r){var s=o.formatLabel(t,a.label,l,void 0,i,n);return e.length<s.length?s:e}),o.formatLabel(n[0],a.label,l,void 0,i,n)),d=o._renderer.text(u,0,0).css(o._textFontStyles).attr(o._textOptions).append(o._renderer.root),c=d.getBBox();return d.remove(),{x:c.x,y:c.y,width:c.width+s,height:c.height+s}},_setLabelsPlacement:function(){if(this._options.label.visible){var e,t=this._options.label,n=this._validateDisplayMode(t.displayMode),i=this._validateOverlappingMode(t.overlappingBehavior,n),o=\"none\"===i||\"ignore\"===i,a={rotationAngle:t.rotationAngle,staggeringSpacing:t.staggeringSpacing},r=this._majorTicks.map((function(e){return e.labelBBox})),s=this._getStep(r);switch(n){case\"rotate\":o&&(e=!0,s=1),this._applyLabelMode(n,s,r,t,e);break;case\"stagger\":o&&(s=2),this._applyLabelMode(n,A(s,2),r,t);break;default:this._applyLabelOverlapping(r,i,s,a)}}},_applyLabelOverlapping:function(e,t,n,i){var o=this._options.label,a=this._majorTicks;if(\"none\"!==t&&\"ignore\"!==t){n>1&&e.some((function(e,t,n){return 0!==t&&r.default.areLabelsOverlap(e,n[t-1],o.minSpacing,o.alignment)}))&&this._applyLabelMode(t,n,e,i),this._checkBoundedLabelsOverlapping(a,e,t),this._checkShiftedLabels(a,e,o.minSpacing,o.alignment)}},_applyLabelMode:function(e,t,n,i,o){var a,r,s=this._majorTicks,l=this._options.label,u=i.rotationAngle;switch(e){case\"rotate\":l.userAlignment||(r=u<0?V:L,u%90==0&&(r=F)),ie(s,t=o?t:this._getStep(n,u),(function(e){var t=e.getContentContainer();t&&(t.rotate(u),e.labelRotationAngle=u,r&&(e.labelAlignment=r))}));break;case\"stagger\":a=this._getMaxLabelHeight(n,i.staggeringSpacing),ie(s,t-1,(function(e,n){n/(t-1)%2!=0&&(e.labelOffset=a)}));break;case\"auto\":case\"_auto\":2===t?this._applyLabelMode(\"stagger\",t,n,i):this._applyLabelMode(\"rotate\",t,n,{rotationAngle:ne(n,l)});break;default:ie(s,t)}},getMarkerTrackers:_.noop,_drawDateMarkers:_.noop,_adjustDateMarkers:_.noop,coordsIn:_.noop,areCoordsOutsideAxis:_.noop,_getSkippedCategory:_.noop,_initAxisPositions:_.noop,_drawTitle:_.noop,_updateTitleCoords:_.noop,_adjustConstantLineLabels:_.noop,_createTranslator:function(){return new c.Translator2D({},{},{})},_updateTranslator:function(){var e=this._translator;e.update(e.getBusinessRange(),this._canvas||{},this._getTranslatorOptions())},_getTranslatorOptions:function(){var e,t,n,i=this._options;return{isHorizontal:this._isHorizontal,shiftZeroValue:!this.isArgumentAxis,interval:i.semiDiscreteInterval,firstDayOfWeek:null===(e=i.workWeek)||void 0===e?void 0:e[0],stick:this._getStick(),breaksSize:null!==(t=null===(n=i.breakStyle)||void 0===n?void 0:n.width)&&void 0!==t?t:0}},getVisibleArea:function(){var e=this._getCanvasStartEnd();return[e.start,e.end].sort((function(e,t){return e-t}))},_getCanvasStartEnd:function(){var e=this._isHorizontal,t=this._canvas||{},n=this._translator.getBusinessRange().invert,i=e?[t.left,t.width-t.right]:[t.height-t.bottom,t.top];return n&&i.reverse(),{start:i[0],end:i[1]}},_getScreenDelta:function(){var e=this._getCanvasStartEnd(),t=this._seriesData&&this._seriesData.breaks||[],n=t.length;return O(e.start-e.end)-(n?t[n-1].cumulativeWidth:0)},_getScaleBreaks:function(){return[]},_filterBreaks:function(){return[]},_adjustTitle:_.noop,_checkTitleOverflow:_.noop,getSpiderTicks:_.noop,setSpiderTicks:_.noop,_checkBoundedLabelsOverlapping:_.noop,_checkShiftedLabels:_.noop,drawScaleBreaks:_.noop,_visualRange:_.noop,_rotateConstantLine:_.noop,applyVisualRangeSetter:function(e){this._visualRange=e},getCategoriesSorter:function(e){var t;if(this.isArgumentAxis)t=e;else{var n=this._options.categoriesSortingMethod;t=null!=n?n:this._options.categories}return t},_getAdjustedBusinessRange:function(){return this.adjustViewport(this._translator.getBusinessRange())}}},87713:function(e,t,n){t.default=function(e,t){var n,o,a,r=t.label||{},s=r.position||\"inside\",l=!1;return e._checkAlignmentConstantLineLabels(r),{options:t,labelOptions:r,labelPosition:s,label:null,line:null,getParsedValue:function(){return l||(n=e.validateUnit(t.value,\"E2105\",\"constantLine\"),l=!0),n},draw:function(){if(!(0,i.isDefined)(t.value)||e._translator.getBusinessRange().isEmpty())return this;var n=e._getCanvasStartEnd(),o=this.getParsedValue();this.coord=e._getConstantLinePos(o,n.start,n.end);var a=t.displayBehindSeries?e._axisConstantLineGroups.under:e._axisConstantLineGroups.above,l=a[s];l||(l=a[e._isHorizontal?r.verticalAlignment:r.horizontalAlignment]);if(!(0,i.isDefined)(this.coord))return this;var u=e._createConstantLine(this.coord,{stroke:t.color,\"stroke-width\":t.width,dashStyle:t.dashStyle});return this.line=u.append(a.inside),this.label=r.visible?e._drawConstantLineLabels(o,r,this.coord,l):null,this.updatePosition(),this},getContentContainer:function(){return this.label},removeLabel:function(){this.label&&this.label.remove()},updatePosition:function(t){var n=e._getCanvasStartEnd(),o=e._getConstantLinePos(this.getParsedValue(),n.start,n.end);(0,i.isDefined)(o)&&(this.coord=o,t&&a?(this.label&&this.label.attr(e._getConstantLineLabelsCoords(a,this.labelOptions)),this.line&&this.line.attr(e._getConstantLineGraphicAttributes(a)),this.label&&this.label.animate(e._getConstantLineLabelsCoords(this.coord,this.labelOptions)),this.line&&this.line.animate(e._getConstantLineGraphicAttributes(this.coord))):(this.label&&this.label.attr(e._getConstantLineLabelsCoords(this.coord,this.labelOptions)),this.line&&this.line.attr(e._getConstantLineGraphicAttributes(this.coord)),e._rotateConstantLine(this.line,this.coord)))},saveCoords:function(){o=a,a=this.coord},resetCoordinates:function(){a=o}}};var i=n(35922);e.exports=t.default,e.exports.default=t.default},89530:function(e,t,n){t.generateDateBreaks=function(e,t,n,i,u){var d=function(e){var t=(n=e,a.filter((function(e){return!n.some((function(t){return t===e}))})));var n;if(t.length<7)for(;r(t[t.length-1])===t[0];)t.unshift(t.pop());return t}(n),c=function(e,t,n){var i=e.getDate(),a=[];return n.reduce((function(e,t){var n=e[1];if(n.start===undefined){n={start:t,end:r(t)};e[0].push(n);return[e[0],n]}else if(n.end===t){n.end=r(t);return e}n={start:t,end:r(t)};e[0].push(n);return[e[0],n]}),[[],{}])[0].forEach((function(n){var r=new Date(e);for(r=o.default.trimTime(r);r<t;){i=r.getDay();var u=r.getDate();if(s(n,i)){var d=new Date(r);r.setDate(u+l(i,n.end));var c=new Date(r);a.push({from:d,to:c})}r.setDate(r.getDate()+1)}})),a}(e,t,d);return c.push.apply(c,function(e,t,n,i){var a,r=function(e){return e===a},s=o.default.trimTime(e),l=o.default.trimTime(t);return l.setDate(t.getDate()+1),n.reduce((function(e,t){var n,u;return t=new Date(t),a=t.getDay(),!i.some(r)&&t>=s&&t<=l&&(n=o.default.trimTime(t),(u=new Date(n)).setDate(n.getDate()+1),e.push({from:n,to:u})),e}),[])}(e,t,u||[],d)),function(e){return e.map((function(e){return{from:e.from,to:e.to,gapSize:o.default.convertMillisecondsToDateUnits(e.to-e.from)}}))}(function(e,t){var n,i=e.slice(),a=function(e){if(e=o.default.trimTime(new Date(e)),i[n].from<=e&&i[n].to>e){var t=function(e,t){var n=[],i=new Date(t);i.setDate(t.getDate()+1),t>e.from&&n.push({from:e.from,to:t});i<e.to&&n.push({from:i,to:e.to});return n}(i[n],e);2===t.length?i.splice(n,1,t[0],t[1]):1===t.length?i.splice(n,1,t[0]):i.splice(n,1)}};for(n=0;n<i.length;n++)t.forEach(a);return i}(c,i||[]))};var i,o=(i=n(91198))&&i.__esModule?i:{default:i};var a=[0,1,2,3,4,5,6];function r(e){return(e+1)%7}function s(e,t){for(var n=e.start,i=e.end;n!==i;){if(n===t)return!0;n=r(n)}return!1}function l(e,t){for(var n=0;e!==t;)e=r(e),n++;return n}},4331:function(e,t,n){t.linearSpider=t.linear=t.circularSpider=t.circular=void 0;var i=n(19157),o=n(35922),a=n(13306),r=c(n(53805)),s=c(n(99415)),l=n(41013),u=n(32945),d=n(20576);function c(e){return e&&e.__esModule?e:{default:e}}var h=Math.PI,f=Math.abs,p=Math.atan,g=Math.round,m=Math.min,_=Math.max,v=s.default.linear;function y(e){var t;return(e=(0,i.normalizeAngle)(e))>=315&&e<=360||e<45&&e>=0?t=1:e>=45&&e<135?t=2:e>=135&&e<225?t=3:e>=225&&e<315&&(t=4),t}var b={_calculateValueMargins:function(e){var t=this._getViewportRange(),n=t.minVisible,i=t.maxVisible;return e&&e.length>1&&(i=(n=n<e[0].value?n:e[0].value)>e[e.length-1].value?i:e[e.length-1].value),{minValue:n,maxValue:i}},applyMargins:function(){var e=this._calculateValueMargins(this._majorTicks),t=this._translator.getBusinessRange();t.addRange({minVisible:e.minValue,maxVisible:e.maxValue,interval:this._calculateRangeInterval(t.interval)}),this._translator.updateBusinessRange(t)},_getTranslatorOptions:function(){return{isHorizontal:!0,conversionValue:!0,addSpiderCategory:this._getSpiderCategoryOption(),stick:this._getStick()}},getCenter:function(){return this._center},getRadius:function(){return this._radius},getAngles:function(){var e=this._options;return[e.startAngle,e.endAngle]},_updateRadius:function(e){var t=m(e.width-e.left-e.right,e.height-e.top-e.bottom)/2;this._radius=t<0?0:t},_updateCenter:function(e){this._center={x:e.left+(e.width-e.right-e.left)/2,y:e.top+(e.height-e.top-e.bottom)/2}},_processCanvas:function(e){return this._updateRadius(e),this._updateCenter(e),{left:0,right:0,width:this._getScreenDelta()}},_createAxisElement:function(){return this._renderer.circle()},_updateAxisElementPosition:function(){var e=this.getCenter();this._axisElement.attr({cx:e.x,cy:e.y,r:this.getRadius()})},_boundaryTicksVisibility:{min:!0},_getSpiderCategoryOption:function(){return this._options.firstPointOnStartAngle},_validateOptions:function(e){var t=e.originValue,n=e.wholeRange={},a=e.period;(0,o.isDefined)(t)&&(t=this.validateUnit(t)),a>0&&e.argumentType===r.default.numeric&&(t=t||0,n.endValue=t+a,this._viewport=(0,i.getVizRangeObject)([t,n.endValue])),(0,o.isDefined)(t)&&(n.startValue=t)},getMargins:function(){var e=this._options.tick,t=_(e.visible?e.length/2+e.shift:0,0),n=this.getRadius(),i=this._center,o=i.x,r=i.y,s=this._majorTicks.map((function(e){return e.label&&e.label.getBBox()})).filter((function(e){return e})),l=(0,a.extend)({},this._canvas,{left:o-n,top:r-n,right:this._canvas.width-(o+n),bottom:this._canvas.height-(r+n)}),d=(0,u.calculateCanvasMargins)(s,l);return Object.keys(d).forEach((function(e){return d[e]=d[e]<t?t:d[e]})),d},_updateLabelsPosition:function(){(0,u.measureLabels)(this._majorTicks),this._adjustLabelsCoord(0,0,!0),this._checkBoundedLabelsOverlapping(this._majorTicks,this._majorTicks.map((function(e){return e.labelBBox})))},_setVisualRange:d.noop,applyVisualRangeSetter:d.noop,_getStick:function(){return this._options.firstPointOnStartAngle||this._options.type!==r.default.discrete},_getTranslatedCoord:function(e,t){return this._translator.translate(e,t)-90},_getCanvasStartEnd:function(){return{start:-90,end:270}},_getStripGraphicAttributes:function(e,t){var n=this.getCenter(),i=this.getAngles()[0],o=this.getRadius();return{x:n.x,y:n.y,innerRadius:0,outerRadius:o,startAngle:-t-i,endAngle:-e-i}},_createStrip:function(e){return this._renderer.arc(e.x,e.y,e.innerRadius,e.outerRadius,e.startAngle,e.endAngle)},_getStripLabelCoords:function(e,t){var n=this._getStripGraphicAttributes(e,t),o=n.startAngle+(n.endAngle-n.startAngle)/2,a=(0,i.getCosAndSin)(o),s=this.getRadius()/2,l=this.getCenter();return{x:g(l.x+s*a.cos),y:g(l.y-s*a.sin),align:r.default.center}},_getConstantLineGraphicAttributes:function(e){var t=this.getCenter(),n=this.getRadius();return{points:[t.x,t.y,t.x+n,t.y]}},_createConstantLine:function(e,t){return this._createPathElement(this._getConstantLineGraphicAttributes(e).points,t)},_rotateConstantLine:function(e,t){var n=this.getCenter(),i=n.x,o=n.y;e.rotate(t+this.getAngles()[0],i,o)},_getConstantLineLabelsCoords:function(e){var t=(0,i.getCosAndSin)(-e-this.getAngles()[0]),n=this.getRadius()/2,o=this.getCenter();return{x:g(o.x+n*t.cos),y:g(o.y-n*t.sin)}},_checkAlignmentConstantLineLabels:d.noop,_adjustDivisionFactor:function(e){return 180*e/(this.getRadius()*h)},_getScreenDelta:function(){var e=this.getAngles();return f(e[0]-e[1])},_getTickMarkPoints:function(e,t,n){var i=n.shift,o=void 0===i?0:i,a=this.getCenter(),r=this.getRadius()+t*{inside:-1,center:-.5,outside:0}[this._options.tickOrientation||\"center\"];return[a.x+r+o,a.y,a.x+r+t+o,a.y]},_getLabelAdjustedCoord:function(e,t,n,o){var a=e.labelCoords,r=a.y,s=a.angle,l=(0,i.getCosAndSin)(s),u=l.cos,d=l.sin,c=e.labelBBox,h=c.width/2,f=c.height/2,p=this._options.label.indentFromAxis||0,g=a.x+p*u,m=r+(r-c.y-f)+p*d,_=0,v=0;switch(y(s)){case 1:_=h,v=f*d;break;case 2:_=h*u,v=f;break;case 3:_=-h,v=f*d;break;case 4:_=h*u,v=-f}if(o){var b=this._canvas,x=g-a.x+_,w=m-a.y+v;c.x+x<b.originalLeft&&(_-=c.x+x-b.originalLeft),c.x+c.width+x>b.width-b.originalRight&&(_-=c.x+c.width+x-(b.width-b.originalRight)),c.y+w<b.originalTop&&(v-=c.y+w-b.originalTop),c.y+c.height+w>b.height-b.originalBottom&&(v-=c.y+c.height+w-(b.height-b.originalBottom))}return{x:g+_,y:m+v}},_getGridLineDrawer:function(){var e=this;return function(t,n){var i=e.getCenter();return e._createPathElement(e._getGridPoints().points,n).rotate(t.coords.angle,i.x,i.y)}},_getGridPoints:function(){var e=this.getRadius(),t=this.getCenter();return{points:[t.x,t.y,t.x+e,t.y]}},_getTranslatedValue:function(e,t){var n=this.getAngles()[0],o=this._translator.translate(e,-t),a=(0,i.convertPolarToXY)(this.getCenter(),n,o,this.getRadius());return{x:a.x,y:a.y,angle:this.getTranslatedAngle(o)}},_getAdjustedStripLabelCoords:function(e){var t=e.labelBBox;return{translateY:e.label.attr(\"y\")-t.y-t.height/2}},coordsIn:function(e,t){return(0,i.convertXYToPolar)(this.getCenter(),e,t).r>this.getRadius()},_rotateTick:function(e,t){var n=this.getCenter();e.rotate(t.angle,n.x,n.y)},_validateOverlappingMode:function(e){return r.default.validateOverlappingMode(e)},_validateDisplayMode:function(){return\"standard\"},_getStep:function(e){var t=this.getRadius()+(this._options.label.indentFromAxis||0),n=e.reduce((function(e,t){var n=e;return e.width<t.width&&(n.width=t.width),e.height<t.height&&(n.height=t.height),n}),{width:0,height:0}),i=f(2*p(n.height/(2*t-n.width))*180/h),o=f(2*p(n.width/(2*t-n.height))*180/h);return r.default.getTicksCountInRange(this._majorTicks,\"angle\",_(i,o))},_checkBoundedLabelsOverlapping:function(e,t,n){var i=this._options.label;if(\"hide\"===(n=n||this._validateOverlappingMode(i.overlappingBehavior))){var o=e.reduce((function(e,t,n){return t.label?n:e}),null);o&&r.default.areLabelsOverlap(t[0],t[o],i.minSpacing,r.default.center)&&(\"first\"===i.hideFirstOrLast?e[0].removeLabel():e[o].removeLabel())}},shift:function(e){this._axisGroup.attr({translateX:e.right,translateY:e.bottom}),this._axisElementsGroup.attr({translateX:e.right,translateY:e.bottom})},getTranslatedAngle:function(e){return e+this.getAngles()[0]-90}},x=b;t.circular=x;var w=(0,a.extend)({},b,{_createAxisElement:function(){return this._renderer.path([],\"area\")},_updateAxisElementPosition:function(){this._axisElement.attr({points:(0,i.map)(this.getSpiderTicks(),(function(e){return{x:e.coords.x,y:e.coords.y}}))})},_getStick:function(){return!0},_getSpiderCategoryOption:function(){return!0},getSpiderTicks:function(){var e=this.getFullTicks();return this._spiderTicks=e.map((0,l.tick)(this,this.renderer,{},{},this._getSkippedCategory(e),!0)),this._spiderTicks.forEach((function(e){e.initCoords()})),this._spiderTicks},_getStripGraphicAttributes:function(e,t){for(var n,i,o,a,r=this.getCenter(),s=this.getSpiderTicks(),l=[],u=0,d=s.length;u<d;)(a=s[u].coords).angle>=e&&a.angle<=t&&(n||(n=(s[u-1]||s[s.length-1]).coords,l.push((a.x+n.x)/2,(a.y+n.y)/2)),l.push(a.x,a.y),o=(s[u+1]||s[0]).coords,i={x:(a.x+o.x)/2,y:(a.y+o.y)/2}),u++;return l.push(i.x,i.y),l.push(r.x,r.y),{points:l}},_createStrip:function(e){var t=e.points;return this._renderer.path(t,\"area\")},_getTranslatedCoord:function(e,t){return this._translator.translate(e,t)-90},_setTickOffset:function(){this._tickOffset=!1}});t.circularSpider=w;var C={_resetMargins:function(){this._reinitTranslator(this._getViewportRange())},_getStick:v._getStick,_getSpiderCategoryOption:d.noop,_getTranslatorOptions:function(){return{isHorizontal:!0,stick:this._getStick()}},getRadius:b.getRadius,getCenter:b.getCenter,getAngles:b.getAngles,_updateRadius:b._updateRadius,_updateCenter:b._updateCenter,_processCanvas:function(e){return this._updateRadius(e),this._updateCenter(e),{left:0,right:0,startPadding:e.startPadding,endPadding:e.endPadding,width:this.getRadius()}},_createAxisElement:v._createAxisElement,_updateAxisElementPosition:function(){var e=this.getCenter();this._axisElement.attr({points:[e.x,e.y,e.x+this.getRadius(),e.y]}).rotate(this.getAngles()[0]-90,e.x,e.y)},_getScreenDelta:function(){return this.getRadius()},_getTickMarkPoints:function(e,t){return[e.x-t/2,e.y,e.x+t/2,e.y]},_getLabelAdjustedCoord:function(e){var t=e.labelCoords,n=t.y,o=(0,i.getCosAndSin)(t.angle),a=this._options.label.indentFromAxis||0,r=e.labelBBox;return{x:t.x-f(a*o.sin)+f(r.width/2*o.cos)-r.width/2,y:n+(n-r.y)-f(r.height/2*o.sin)+f(a*o.cos)}},_getGridLineDrawer:function(){var e=this;return function(t,n){var i=e._getGridPoints(t.coords);return e._renderer.circle(i.cx,i.cy,i.r).attr(n).sharp()}},_getGridPoints:function(e){var t=this.getCenter(),n=(0,i.getDistance)(t.x,t.y,e.x,e.y);return n>this.getRadius()?{cx:null,cy:null,r:null}:{cx:t.x,cy:t.y,r:n}},_getTranslatedValue:function(e,t){var n=this.getAngles()[0],o=(0,i.convertPolarToXY)(this.getCenter(),n,0,this._translator.translate(e,t));return{x:o.x,y:o.y,angle:n-90}},_getTranslatedCoord:function(e,t){return this._translator.translate(e,t)},_getCanvasStartEnd:function(){var e=this.getTranslator().getBusinessRange().invert,t=[0,this.getRadius()];return e&&t.reverse(),{start:t[0],end:t[1]}},_getStripGraphicAttributes:function(e,t){var n=this.getCenter();return{x:n.x,y:n.y,innerRadius:e,outerRadius:t}},_createStrip:function(e){return this._renderer.arc(e.x,e.y,e.innerRadius,e.outerRadius,0,360)},_getAdjustedStripLabelCoords:b._getAdjustedStripLabelCoords,_getStripLabelCoords:function(e,t){var n=e+(t-e)/2,i=this.getCenter(),o=g(i.y-n);return{x:i.x,y:o,align:r.default.center}},_getConstantLineGraphicAttributes:function(e){var t=this.getCenter();return{cx:t.x,cy:t.y,r:e}},_createConstantLine:function(e,t){var n=this._getConstantLineGraphicAttributes(e);return this._renderer.circle(n.cx,n.cy,n.r).attr(t).sharp()},_getConstantLineLabelsCoords:function(e){var t=this.getCenter(),n=g(t.y-e);return{x:t.x,y:n}},_checkAlignmentConstantLineLabels:d.noop,_rotateTick:function(e,t,n){!n&&e.rotate(t.angle+90,t.x,t.y)},_validateOverlappingMode:b._validateOverlappingMode,_validateDisplayMode:b._validateDisplayMode,_getStep:function(e){var t=y(this.getAngles()[0]),n=this._options.label.minSpacing,i=2===t||4===t?function(e){return e.width+n}:function(e){return e.height},o=e.reduce((function(e,t){return _(e,i(t))}),0);return r.default.getTicksCountInRange(this._majorTicks,2===t||4===t?\"x\":\"y\",o)}};t.linear=C;var S=(0,a.extend)({},C,{_createPathElement:function(e,t){return this._renderer.path(e,\"area\").attr(t).sharp()},setSpiderTicks:function(e){this._spiderTicks=e},_getGridLineDrawer:function(){var e=this;return function(t,n){return e._createPathElement(e._getGridPoints(t.coords).points,n)}},_getGridPoints:function(e){var t=this.getCenter(),n=(0,i.getDistance)(t.x,t.y,e.x,e.y);return this._getGridPointsByRadius(n)},_getGridPointsByRadius:function(e){var t=this.getCenter();return e>this.getRadius()?{points:null}:{points:(0,i.map)(this._spiderTicks,(function(n){var o=(0,i.getCosAndSin)(n.coords.angle);return{x:g(t.x+e*o.cos),y:g(t.y+e*o.sin)}}))}},_getStripGraphicAttributes:function(e,t){var n=this._getGridPointsByRadius(t).points;return{points:[this._getGridPointsByRadius(e).points,n.reverse()]}},_createStrip:w._createStrip,_getConstantLineGraphicAttributes:function(e){return this._getGridPointsByRadius(e)},_createConstantLine:function(e,t){return this._createPathElement(this._getConstantLineGraphicAttributes(e).points,t)}});t.linearSpider=S},41583:function(e,t,n){t.formatRange=function(e){var t=e.startValue,n=e.endValue,r=e.tickInterval,s=e.argumentFormat,l=e.axisOptions,d=l.dataType,c=l.type,h=l.logarithmBase;if(\"discrete\"===c)return\"\";if(\"datetime\"===d)return function(e,t,n){var o=g(e,t),r=a.default.getDateFormatByTickInterval(n),s=b(i.default.getDateFormatByDifferences(o,r)),l=[];if(n in o){var d=function(e,t){var n=!1;for(var o in e)n?e[o]=!1:o===t?n=!0:e[o]=!0;return b(i.default.getDateFormatByDifferences(e))}(g(e,t),n),c=u(e,d);c&&l.push(c)}else{var h=function(e){var t=!1;for(var n in e)!0===e[n]||\"hour\"===n||t?(e[n]=!1,t=!0):!1===e[n]&&(e[n]=!0);return b(i.default.getDateFormatByDifferences(e))}(g(e,t)),f=u(e,h);f&&l.push(f),l.push(\"\".concat(u(e,s),\" - \").concat(u(t,s)))}return l.join(\", \")}(t,n,function(e){if((0,o.isObject)(e)){var t=Object.keys(e);if(1===t.reduce((function(t,n){return e[n]+t}),0)){var n=t.filter((function(t){return 1===e[t]}))[0];return n.slice(0,n.length-1)}}return e}(r));var f={ticks:[],type:c,dataType:d,tickInterval:r,logarithmBase:h,labelOptions:{format:s}};return\"\".concat(w(t,f),\" - \").concat(w(n,f))},t.smartFormatter=w;var i=l(n(30343)),o=n(35922),a=l(n(91198)),r=n(60810),s=n(19157);function l(e){return e&&e.__esModule?e:{default:e}}var u=i.default.format,d=Math.abs,c=Math.floor,h=[\"fixedPoint\",\"thousands\",\"millions\",\"billions\",\"trillions\",\"exponential\"],f=[\"millisecond\",\"second\",\"minute\",\"hour\",\"day\",\"month\",\"year\"],p={week:\"day\",quarter:\"month\",shorttime:\"hour\",longtime:\"second\"};function g(e,t,n,i){i=p[i]||i;var o=f.indexOf(i);if(n){var r=a.default.getDatesDifferences(t,n);return r[i]&&function(e,t){for(var n=t;n<f.length-1;n++){var i=f[n];if(n===t){_(e,t+(e.millisecond?2:1));break}if(e[i]&&e.count>1){m(e,n);break}}}(r,o),r}var s=a.default.getDatesDifferences(e,t);return function(e,t){for(var n=!1,i=f.length-1;i>=t;i--){if(e[f[i]]&&i-t>1){for(var o=0;o<=t;o++)m(e,o),n=!0;break}}return n}(s,o)||1!==s.count||_(s,o),s}function m(e,t){var n=f[t];e[n]&&(e[n]=!1,e.count--)}function _(e,t){var n=f[t];!1===e[n]&&(e[n]=!0,e.count++)}function v(e,t){var n,i,o,a=0;for(o=d(t-e[0]),n=1;n<e.length;n++)(i=d(t-e[n]))<o&&(o=i,a=n);return a}function y(e){return e.toString().split(\".\")}function b(e){var t;return(0,o.isFunction)(e)&&(t=e,e=null),{type:e,formatter:t}}function x(e,t){var n,i=d(e).toString();return(0,o.isExponential)(e)?Math.max(d((0,r.getExponent)(e)-(0,r.getExponent)(t)),d((0,r.getPrecision)(e)-(0,r.getPrecision)(t))):d((n=i.split(\".\")[1]).length-parseInt(n).toString().length-(0,r.getExponent)(t)+1)}function w(e,t){var n=t.tickInterval,l=d(e).toString(),f=t.labelOptions.format,p=t.ticks,m=\"logarithmic\"===t.type;if(1!==p.length||0!==p.indexOf(e)||(0,o.isDefined)(n)||(n=d(e)>=1?1:(0,r.adjust)(1-d(e),e)),Object.is(e,-0)&&(e=0),!(0,o.isDefined)(f)&&\"discrete\"!==t.type&&e&&(10===t.logarithmBase||!m))if(\"datetime\"!==t.dataType&&(0,o.isDefined)(n)){if(p.length&&-1===p.indexOf(e)){var _=v(p,e);n=(0,r.adjust)(d(e-p[_]),e)}if(m)return function(e){var t,n=(0,s.getAdjustedLog10)(d(e));if(n>0)t=h[c(n/3)]||\"exponential\";else{if(!(n<-4))return u((0,r.adjust)(e));t=\"exponential\"}return u(e,{type:t,precision:0})}(e);var w=y(n);w<2&&(w=y(e)),f=w.length>1&&!(0,o.isExponential)(n)?{type:h[0],precision:w[1].length}:(0,o.isExponential)(n)&&(-1!==l.indexOf(\".\")||(0,o.isExponential)(e))?{type:\"exponential\",precision:x(e,n)}:function(e,t){var n,i=c((0,s.getAdjustedLog10)(t)),o=0,a=n=c((0,s.getAdjustedLog10)(d(e)));n-i>=2&&(a=i);var r=c(a/3),l=3*r;r<0&&(r=0);var u=h[r]||h[h.length-1];if(l>0){var f=y(t/Math.pow(10,l));f[1]&&(o=f[1].length)}return{precision:o,type:u}}(e,n)}else\"datetime\"===t.dataType&&(f=function(e,t){var n,o,r=t.showTransition,s=t.ticks,l=t.tickInterval,u=a.default.getDateFormatByTickInterval(l);if(r&&s.length){var d=s.map(Number).indexOf(+e);if(1===s.length&&0===d)u=i.default.getDateFormatByTicks(s);else{-1===d?n=v(s,e):(n=0===d?s.length-1:d-1,o=0===d?1:-1);var c=g(s[n],e,s[o],u);u=i.default.getDateFormatByDifferences(c,u)}}return b(u)}(e,t));return u(e,f)}},54978:function(e,t,n){t.default=function(e,t){var n,r,s=t.label||{};return{options:t,label:null,rect:null,_getCoord:function(){var n=e._getCanvasStartEnd(),i=e._translator.getBusinessRange();return e._getStripPos(t.startValue,t.endValue,n.start,n.end,i)},_drawLabel:function(t){return e._renderer.text(s.text,t.x,t.y).css((0,o.patchFontOptions)((0,a.extend)({},e.getOptions().label.font,s.font))).attr({align:\"center\",class:s.cssClass}).append(e._axisStripLabelGroup)},draw:function(){if(!e._translator.getBusinessRange().isEmpty()&&((0,i.isDefined)(t.startValue)||(0,i.isDefined)(t.endValue))&&(0,i.isDefined)(t.color)){var n=this._getCoord();if(this.labelCoords=s.text?e._getStripLabelCoords(n.from,n.to,s):null,n.outOfCanvas||!(0,i.isDefined)(n.to)||!(0,i.isDefined)(n.from))return;this.rect=e._createStrip(e._getStripGraphicAttributes(n.from,n.to)).attr({fill:t.color}).append(e._axisStripGroup),this.label=s.text?this._drawLabel(this.labelCoords):null}},getContentContainer:function(){return this.label},removeLabel:function(){},updatePosition:function(i){var o=this._getCoord();i&&n?(this.label&&this.label.attr(e._getStripLabelCoords(n.from,n.to,t.label)),this.rect&&this.rect.attr(e._getStripGraphicAttributes(n.from,n.to)),this.label&&this.label.animate(e._getStripLabelCoords(o.from,o.to,t.label)),this.rect&&this.rect.animate(e._getStripGraphicAttributes(o.from,o.to))):(this.label&&this.label.attr(e._getStripLabelCoords(o.from,o.to,t.label)),this.rect&&this.rect.attr(e._getStripGraphicAttributes(o.from,o.to)))},saveCoords:function(){r=n,n=this._getCoord()},resetCoordinates:function(){n=r}}};var i=n(35922),o=n(19157),a=n(13306);e.exports=t.default,e.exports.default=t.default},41013:function(e,t,n){t.tick=function(e,t,n,s,l,u,d){var c=d||e._tickOffset,h=e._axisLineGroup,f=e._axisElementsGroup,p=r(n),g=r(s),m=/^\\s+$/,_=e.getOptions().label,v=e._textOptions;function y(t){var n=e._textFontStyles,i=_.customizeColor;return i&&i.call&&(n=(0,o.extend)({},e._textFontStyles,{fill:i.call(t,t)})),n}function b(t,n){var o=e.formatHint(t.value,_,n);(0,i.isDefined)(o)&&\"\"!==o&&t.getContentContainer().setTitle(o)}return function(o){var r={value:o,updateValue:function(e){this.value=o=e},initCoords:function(){this.coords=e._getTranslatedValue(o,c),this.labelCoords=e._getTranslatedValue(o)},saveCoords:function(){this._lastStoredCoordinates={coords:this._storedCoords,labelCoords:this._storedLabelsCoords},this._storedCoords=this.coords,this._storedLabelsCoords=this.templateContainer?this._getTemplateCoords():this.labelCoords},resetCoordinates:function(){this._lastStoredCoordinates&&(this._storedCoords=this._lastStoredCoordinates.coords,this._storedLabelsCoords=this._lastStoredCoordinates.labelCoords)},drawMark:function(t){n.visible&&l!==o&&(e.areCoordsOutsideAxis(this.coords)||(this.mark?(this.mark.append(h),e.sharp(this.mark,e.getSharpDirectionByCoords(this.coords)),this.updateTickPosition(t)):(this.mark=e._createPathElement([],p,e.getSharpDirectionByCoords(this.coords)).append(h),this.updateTickPosition(t))))},setSkippedCategory:function(e){l=e},_updateLine:function(t,n,i,o,a){t&&(null!==n.points&&null!==n.r?(o&&i&&null!==i.points?(n.opacity=1,t.attr(i),t.animate(n)):(n.opacity=o?0:1,t.attr(n),o&&t.animate({opacity:1},{delay:.5,partitionDuration:.5})),this.coords.angle&&e._rotateTick(t,this.coords,a)):t.remove())},updateTickPosition:function(t,i){this._updateLine(this.mark,{points:e._getTickMarkPoints(r.coords,n.length,t)},this._storedCoords&&{points:e._getTickMarkPoints(r._storedCoords,n.length,t)},i,!1)},drawLabel:function(n,r){var s=this;if(this.templateContainer&&e.isRendered())this.updateLabelPosition();else if(_.visible&&!u&&!e.getTranslator().getBusinessRange().isEmpty()&&!e.areCoordsOutsideAxis(this.labelCoords)){var l=_.template,d=e.formatLabel(o,_,n);if(this.label)return this.label.attr({text:d,rotate:0}).append(f),b(this,n),void this.updateLabelPosition();l?(this.templateContainer=t.g().append(f),this._templateDef&&this._templateDef.reject(),this._templateDef=new a.Deferred,r.render({model:{valueText:d,value:this.value,labelFontStyle:y(this),labelStyle:v},container:this.templateContainer.element,onRendered:function(){s.updateLabelPosition(),s._templateDef&&s._templateDef.resolve()}})):(0,i.isDefined)(d)&&\"\"!==d&&!m.test(d)&&(this.label=t.text(d).css(y(this)).attr(v).append(f),this.updateLabelPosition(),b(this,n));var c=this.getContentContainer();c&&c.data(\"chart-data-argument\",this.value),this.templateContainer&&b(this,n)}else this.label&&this.removeLabel()},getTemplateDeferred:function(){return this._templateDef},getContentContainer:function(){return this.templateContainer||this.label},fadeOutElements:function(){var t={opacity:1},n={opacity:0},i={partitionDuration:.5};this.getContentContainer()&&this._fadeOutLabel(),this.grid&&this.grid.append(e._axisGridGroup).attr(t).animate(n,i),this.mark&&this.mark.append(e._axisLineGroup).attr(t).animate(n,i)},_fadeInLabel:function(){var t=e._renderer.g().attr({opacity:0}).append(e._axisElementsGroup).animate({opacity:1},{delay:.5,partitionDuration:.5});this.getContentContainer().append(t)},_fadeOutLabel:function(){var t=e._renderer.g().attr({opacity:1}).animate({opacity:0},{partitionDuration:.5}).append(e._axisElementsGroup).toBackground();this.getContentContainer().append(t)},_getTemplateCoords:function(){return e._getLabelAdjustedCoord(this,(e._constantLabelOffset||0)+(r.labelOffset||0))},updateLabelPosition:function(e){var t=this.templateContainer;if(this.getContentContainer())if(e&&this._storedLabelsCoords)if(t){t.attr(this._storedLabelsCoords);var n=this._getTemplateCoords();t.animate(n)}else this.label.attr({x:this._storedLabelsCoords.x,y:this._storedLabelsCoords.y}),this.label.animate({x:this.labelCoords.x,y:this.labelCoords.y});else{if(t){var i=this._getTemplateCoords();t.attr(i)}else this.label.attr({x:this.labelCoords.x,y:this.labelCoords.y});e&&this._fadeInLabel()}},updateMultilineTextAlignment:function(){!_.template&&this.label&&this.label.attr({textsAlignment:this.labelAlignment||e.getOptions().label.alignment})},drawGrid:function(t){s.visible&&l!==this.value&&(this.grid?(this.grid.append(e._axisGridGroup),e.sharp(this.grid,e.getSharpDirectionByCoords(this.coords)),this.updateGridPosition()):(this.grid=t(this,g),this.grid&&this.grid.append(e._axisGridGroup)))},updateGridPosition:function(t){this._updateLine(this.grid,e._getGridPoints(r.coords),this._storedCoords&&e._getGridPoints(this._storedCoords),t,!0)},removeLabel:function(){var e=this.getContentContainer();e&&e.remove(),this._templateDef&&this._templateDef.reject(),this._templateDef=this.templateContainer=this.label=null}};return r}};var i=n(35922),o=n(13306),a=n(62754);function r(e){return{stroke:e.color,\"stroke-width\":e.width,\"stroke-opacity\":e.opacity,opacity:1}}},45971:function(e,t,n){t.tickGenerator=void 0;var i,o=n(19157),a=(i=n(91198))&&i.__esModule?i:{default:i},r=n(35922),s=n(60810),l=n(13306);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e,t)||function(){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 d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var c=a.default.convertDateUnitToMilliseconds,h=a.default.dateToMilliseconds,f=Math,p=f.abs,g=f.floor,m=f.ceil,_=f.pow,v=[1,2,2.5,5],y=[1,2,3,5],b={millisecond:[1,2,5,10,25,50,100,250,500],second:[1,2,3,5,10,15,20,30],minute:[1,2,3,5,10,15,20,30],hour:[1,2,3,4,6,8,12],day:[1,2],week:[1,2],month:[1,2,3,6]},x=(0,l.extend)({},b,{day:[1]}),w={millisecond:[1,2,5,10,25,50,100,250,500],second:[1,2,3,5,10,15,20,30],minute:[1,2,3,5,10,15,20,30],hour:[1,2,3,4,6,8,12],day:[1,2,3,7,14],month:[1,2,3,6]},C=[2,4,5,8,10];var S=function(e){return e},k=function(e,t,n){return function(i){return(0,o.getLogExt)(i,e,t,n)}},D=function(e,t,n){return function(i,o){return(0,s.adjust)(e(t((0,s.adjust)(n(i)/o))*o))}};function I(e,t,n,i){return(0,r.isDefined)(i)?i?e:t:function(i,o,a,s){var l=e(i,o);return i-l==0||!(0,r.isDefined)(a)||n(i,l,o,a)||s?l:t(i,o)}}function T(e,t,n,i){var a=n-p(t-e),r=f.max(m(i.businessDelta/n),2),s=i.screenDelta/(r*n),l=f.round(s*a),u=(0,o.getLogExt)(s*n/i.axisDivisionFactor,2)+1,d=(i.isSpacedMargin?2:1)*u,c=f.round(3*d);return i.businessDelta>i.interval&&l>=c}function E(e){return function(t,n,i,a){return T((0,o.getLogExt)(t,e),(0,o.getLogExt)(n,e),i,a)}}function O(e,t,n,i){return T(e.valueOf(),t.valueOf(),h(n),i)}function A(e,t){var n=0;return t&&(n=t.reduce((function(e,t){return e+(t.to-t.from)}),0)),p(e.max-e.min-n)}function P(e,t,n,i){var o=t/n-(i||0);return e/(o=o<1?1:o)}function M(e,t){return _(10,g((0,o.getLogExt)(e,10))+(t||0))}function R(e,t,n,i,o,a,r,s,l,u){var d=P(e,t,o,s),c=1,h=!1===r;return i&&n||((d>=1||!h&&d>0)&&(c=B(d,a,h)),(!n||!i&&n<c)&&(n=c)),!i&&u&&(u=B(u,a,h))>n&&(n=u),n}function B(e,t,n){var i=M(e,-1),o=1;return t=t||v,e>0&&(e/=i,o=t.concat(10*t[0]).map((function(e){return 10*e})).reduce((function(t,o){return.1===i&&n&&25===o?t:t<e?o:t}),0),o=(0,s.adjust)(o*i,i)),o}function L(e,t,n,i){var o=P(e,t,i);return n||C.reduce((function(t,n){var i=e/n;return i>=o?i:t}),0)}function V(e){return function(t,n){var i=M(t);return!e&&i<1&&(i=1),(n=n||y).concat(10*n[0]).reduce((function(e,n){return e<t?n*i:e}),0)}}function F(e,t){return function(n,i){return!n&&e<=c(t,i)&&((n={})[t+\"s\"]=i),n}}function H(e,t){return function(n,i){var o=t*i;return!n&&e<=c(\"year\",o)&&2.5!==o&&(n={years:o}),n}}function N(e,t,n,i,o,a,r,s,l,u){if(!i||!n){var d=z(P(e,t,o),a,null,l);(!n||!i&&h(n)<=h(d))&&(n=d)}return!i&&u&&(u=z(u,a,null,l),h(u)>h(n)&&(n=u)),n}function z(e,t,n,i){var o;for(var a in t=t||function(e){return e&&e>2?x:b}(i))if(o=t[a].reduce(F(e,a),o))break;if(!o)for(var r=1;!(o=v.reduce(H(e,r),o));r*=10);return o}function j(e,t,n,i){return N(e,t,n,!0,i,w)}function W(e,t){return function(n){return n&&t(p((0,s.adjust)(e(n[1])-e(n[0]))))||void 0}}function G(e,t,n){return a.default.addInterval(e,t,n)}function q(e,t,n){return G(e,t,n)}function $(e,t,n){return t=t.filter((function(e){return!e.gapSize})),function(i,o,a){var r;return i=e(i,o,a),t.every((function(t){return i>=e(t.from,o)&&e(i,o)<t.to&&(r=t.to-t.from-2*(e(t.from,o)-t.from)),!r}))||(i=n(e(i,r),o)),i}}function U(e,t,n,i){return function(o,a,s,l,u,d,c,h,f){var p,g=function(e,t){return function(n){var i;return t.every((function(e){return n>=e.from&&n<e.to&&(i=e.gapSize),!i}))||(n=e(n,i)),n}}(e,l),m=o.min,_=o.max,v={screenDelta:c,businessDelta:d,axisDivisionFactor:h,isSpacedMargin:o.isSpacedMargin,interval:a},y=t(m,a,v),b=[];for(null!=u&&u.length&&(e=$(e,u,t)),y>_&&(y=t(m,n(d/2),v))>_&&(y=t(m,a,v,s=!0)),y=g(y);y<_&&y!==p||f&&y<=_;)b.push(y),p=y,y=g(e(y,a));return(s||y-_==0||!(0,r.isDefined)(s)&&i(_,y,a,v))&&b.push(y),b}}function K(e,t,n,i,o){return function(a,r,s,l,u,d,c){var h=u/l,f=s[s.length-1],p=s[0],g=c-1;if(null!=d&&d.length&&(t=$(t,d,n)),0===(l=e(l,p,p,h)))return[];var m=i(n(a,u,a),l);l=e(l,p,m,h);for(var _=[];m<p&&(!g||g>0);)m>=a&&_.push(m),g--,m=t(m,l);var v=s.reduce((function(n,o){if(g=c-1,null===n.prevTick)return n.prevTick=o,n;l=e(l,o,n.prevTick,h);for(var a=i(n.prevTick,l);a<o&&(!g||g>0);)a!==n.prevTick&&n.minors.push(a),g--,a=t(a,l);return n.prevTick=o,n}),{prevTick:null,minors:[]});_=_.concat(v.minors);var y,b=o(r,u,a);for(l=e(l,b,b,h),m=i(f,l);m<r&&m!==y;)_.push(m),y=m,m=t(m,l);return f-r!=0&&m-r==0&&_.push(m),_}}function Z(e,t){if(t.length){var n=t.reduce((function(t,n){var i,o=[];for(i=t[1];i<e.length;i++){var a=e[i];if(a<n.from&&o.push(a),a>=n.to)break}return[t[0].concat(o),i]}),[[],0]);return n[0].concat(e.slice(n[1]))}return e}function Y(e,t,n,i,o,a,r,s,l,u){function d(t,n,i){return t&&n/r(t)>=i+1&&(e.incidentOccurred(\"W2003\"),t=void 0),t}return function(c,h,f,p,g,m,_,v){g=g||{};var y=t(c,v),b=function(e){return{tickInterval:o(e.majors),ticks:e.majors||[],minorTickInterval:a(e.minors),minorTicks:e.minors||[]}}(g);return isNaN(y)||(0!==y||g.majors?(b=function(t,i,o,a,r,l,c,h){if(c.majors)return t.breaks=h,t;var f,p=h.filter((function(e){return e.gapSize}));return r=e.skipCalculationLimits?r:d(r,o,a),r=n(o,a,r,l,e.axisDivisionFactor,e.numberMultipliers,e.allowDecimals,h.length,p[0]&&p[0].gapSize.days,e.minTickInterval),e.skipTickGeneration||(f=Z(f=s(i,r,e.endOnTick,p,h,o,a,e.axisDivisionFactor,e.generateExtraTick),h=u(h,f,r)),t.breaks=h,t.ticks=t.ticks.concat(f)),t.tickInterval=r,t}(b,c,y,h,f,p,g,v||[]),!e.skipTickGeneration&&y>0&&(b=function(t,n,o,s,u,c,h){if(!e.calculateMinors)return t;if(h.minors)return t;var f=r(t.tickInterval),p=s*f/o,g=t.breaks;return!u&&c?u=a([f/(c+1),f/(c+1)*2]):c=void 0,u=d(u,f,p),u=i(f,p,u,e.minorAxisDivisionFactor),t.minorTicks=Z(t.minorTicks.concat(l(n.min,n.max,t.ticks,u,t.tickInterval,g,c)),g),t.minorTickInterval=u,t}(b,c,y,h,m,_,g))):b.ticks=[c.min]),b}}function X(e,t,n,i){var o=u(t,2),a=o[0],s=o[1];return(!(0,r.isDefined)(a)||p(i(e)-i(a))/n>.25)&&((0,r.isDefined)(s)&&p(i(s)-i(a))/n<2?a=s:(0,r.isDefined)(a)||(a=e)),a}function Q(e,t,n){return function(i,o,a){var r=e(a),s=.5*r;return i.reduce((function(e,i){var a=o.filter((function(e){return e<=i.from})),l=n(X(i.from,[].concat(a[a.length-1],o[a.length]),r,t),s);a=o.filter((function(e){return e>=i.to}));var u=n(X(i.to,[].concat(a[0],o[o.length-a.length-1]),r,t),-s);return t(u)-t(l)<r&&!i.gapSize?e:i.gapSize?e.concat([i]):e.concat([{from:l,to:u,cumulativeWidth:i.cumulativeWidth}])}),[])}}var J=function(e,t,n){return function(i,o){return(0,s.sign)(i)*(0,s.adjust)(e(t(i)((0,s.adjust)(n(i)/o))*o))}};function ee(e){var t,n=e.logBase,i=function(e,t,n){return function(i){return(0,o.raiseToExt)(i,e,t,n)}}(n,e.allowNegatives,e.linearThreshold),a=k(n,e.allowNegatives,e.linearThreshold),r=function(e){return function(t){return 0===t?0:(0,o.getLog)(p(t),e)}}(n),s=function(e){return function(t){return(0,o.raiseTo)(t,e)}}(n),l=J(s,(function(e){return e<0?m:g}),r),u=J(s,(function(e){return e<0?g:m}),r),d=D(S,m,S);return Y(e,function(e,t,n){var i=k(e,t,n);return function(e,t){var n=0;return t&&(n=t.reduce((function(e,t){return e+p(i(t.to/t.from))}),0)),m(p(i(e.max)-i(e.min))-n)}}(n,e.allowNegatives,e.linearThreshold),(t=e.skipCalculationLimits,function(e,n,i,o,a,r,s,l,u,d){var c=P(e,n,a),h=0,f=V(t);return o&&i||(c>0&&(h=f(c,r)),(!i||!o&&i<h)&&(i=h)),!o&&d&&(d=f(d,r))>i&&(i=d),i}),L,W(a,S),W(S,S),S,U(function(e,t){return function(n,i,o){return t(G(e(n),i,o))}}(a,i),I(l,u,E(n),e.endOnTick),V(e.skipCalculationLimits),E(n)),K((function(e,t,n,i){return Math.max(Math.abs(t),Math.abs(n))/i}),G,l,d,u),Q(S,a,(function(e,t){return i(a(e)+t)})))}t.tickGenerator=function(e){return e.rangeIsEmpty?function(e){return function(t,n,i,o){var a=g(n/e.axisDivisionFactor),r=n/(a=a<1?1:a);return{ticks:r>0?Array.apply(null,new Array(a+1)).map((function(e,t){return r*t})):[],tickInterval:r}}}(e):\"discrete\"===e.axisType?function(e){return function(t,n,i,a){var r=(0,o.getCategoriesInfo)(t.categories,t.min,t.max).categories;return{ticks:r,tickInterval:m(r.length*e.axisDivisionFactor/n)}}}(e):\"logarithmic\"===e.axisType?ee(e):\"datetime\"===e.dataType?function(e){function t(t,n){var i=D(S,g,S),o=(0,r.isString)(n)?a.default.getDateIntervalByString(n.toLowerCase()):n,s=h(n);(o.days%7==0||n.quarters)&&(o=z(s));var l=function(t){return a.default.correctDateWithUnitBeginning(t,o,null,e.firstDayOfWeek)},u=function(e){return new Date(g((e.getTime()-6e4*e.getTimezoneOffset())/s)*s+6e4*e.getTimezoneOffset())};return t=l(t),\"years\"in o?t.setFullYear(i(t.getFullYear(),o.years)):\"quarters\"in o?t=l(u(t)):\"months\"in o?t.setMonth(i(t.getMonth(),o.months)):\"weeks\"in o||\"days\"in o?t=l(u(t)):\"hours\"in o?t.setHours(i(t.getHours(),o.hours)):\"minutes\"in o?t.setMinutes(i(t.getMinutes(),o.minutes)):\"seconds\"in o?t.setSeconds(i(t.getSeconds(),o.seconds)):\"milliseconds\"in o&&(t=u(t)),t}var n=W(S,a.default.convertMillisecondsToDateUnits);return Y(e,A,N,j,n,n,h,U(q,I(t,(function(e,n){for(var i=t(e,n);e-i>0;)i=q(i,n);return i}),O,e.endOnTick),z,O),K(S,q,t,q,S),Q(h,S,(function(e,t){return new Date(e.getTime()+t)})))}(e):function(e){var t=D(S,g,S),n=D(S,m,S),i=W(S,S);return Y(e,A,R,L,i,i,S,U(G,I(t,n,T,e.endOnTick),B,T),K(S,G,t,G,S),Q(S,S,(function(e,t){return e+t})))}(e)}},99415:function(e,t,n){t.default=void 0;var i=n(21177),o=h(n(30343)),a=h(n(91198)),r=n(13306),s=n(89530),l=n(20576),u=n(19157),d=n(35922),c=h(n(53805));function h(e){return e&&e.__esModule?e:{default:e}}var f=a.default.getNextDateUnit,p=a.default.correctDateWithUnitBeginning,g=Math,m=g.max,_=c.default.top,v=c.default.bottom,y=c.default.left,b=c.default.right,x=c.default.center,w={left:-1,top:-1,right:0,bottom:0,center:-.5};function C(e){return e.sort((function(e,t){return e.from-t.from}))}function S(e,t,n,i){var r=i,s=t&&a.default.getDatesDifferences(t,e);return t&&\"year\"!==n&&(!function(e,t){var n,i;if(\"week\"===t&&(t=\"day\"),\"quarter\"===t&&(t=\"month\"),e[t])for(i=0;i<a.default.dateUnitIntervals.length&&(e[n=a.default.dateUnitIntervals[i]]&&(e[n]=!1,e.count--),n!==t);i++);}(s,n),r=o.default.getDateFormatByDifferences(s)),r}function k(e,t){return t.reduce((function(t,n){return m(t,e(n))}),0)}function D(e,t,n){return e.some((function(e){return e.label.verticalAlignment===t}))&&n||0}function I(e){return g.abs(e.x)||0}function T(e){return g.abs(e.width-g.abs(e.x))||0}var E={linear:{_getStep:function(e,t){var n=this._options.label.minSpacing,i=k(this._isHorizontal?function(e){return e.width+n}:function(e){return e.height},e);return t&&(i=function(e,t){var n=(t=(t=g.abs(t))%180>=90?90-t%90:t%90)*(g.PI/180);return n>=g.atan(e.height/e.width)?e.height/g.abs(g.sin(n)):e.width}({width:i,height:this._getMaxLabelHeight(e,0)},t)),c.default.getTicksCountInRange(this._majorTicks,this._isHorizontal?\"x\":\"y\",i)},_getMaxLabelHeight:function(e,t){return k((function(e){return e.height}),e)+t},_validateOverlappingMode:function(e,t){return this._isHorizontal&&(\"rotate\"===t||\"stagger\"===t)||!this._isHorizontal?c.default.validateOverlappingMode(e):e},_validateDisplayMode:function(e){return this._isHorizontal?e:\"standard\"},getMarkerTrackers:function(){return this._markerTrackers},_getSharpParam:function(e){return this._isHorizontal^e?\"h\":\"v\"},_createAxisElement:function(){return this._renderer.path([],\"line\")},_updateAxisElementPosition:function(){var e=this._axisPosition,t=this._getCanvasStartEnd();this._axisElement.attr({points:this._isHorizontal?[t.start,e,t.end,e]:[e,t.start,e,t.end]})},_getTranslatedCoord:function(e,t){return this._translator.translate(e,t)},_initAxisPositions:function(){this.customPositionIsAvailable()&&(this._customBoundaryPosition=this.getCustomBoundaryPosition()),!this.customPositionIsAvailable()||this.customPositionIsBoundary()?this._axisPosition=this.getPredefinedPosition(this.getResolvedBoundaryPosition()):this._axisPosition=this.getCustomPosition()},_getTickMarkPoints:function(e,t,n){var i,o=this._isHorizontal,a=this._options.tickOrientation,r=this._options.label.position;if((0,d.isDefined)(a))i=w[a]*t;else{var s=n.shift||0;(!o&&r===y||o&&r!==v)&&(s=-s),i=s+this.getTickStartPositionShift(t)}return[e.x+(o?0:i),e.y+(o?i:0),e.x+(o?0:i+t),e.y+(o?i+t:0)]},getTickStartPositionShift:function(e){var t=this._options.width,n=this.getResolvedBoundaryPosition();return e%2==1?(t%2!=0||n!==y&&n!==_)&&(t%2!=1||n!==b&&n!==v||this.hasNonBoundaryPosition())?-Math.floor(e/2):Math.floor(-e/2):-e/2+(t%2==0?0:n===v||n===b?-1:1)},_getTitleCoords:function(){var e=this._isHorizontal,t=this._axisPosition,n=this._axisPosition,i=this._options.title.alignment,o=this._getCanvasStartEnd(),a=e||this._options.position===y,r=a?o.start:o.end,s=a?o.end:o.start,l=i===y?r:i===b?s:o.start+(o.end-o.start)/2;return e?t=l:n=l,{x:t,y:n}},_drawTitleText:function(e,t){var n=this._options,i=n.title,o={opacity:i.opacity,align:i.alignment,class:i.cssClass};if(i.text&&e){t=t||this._getTitleCoords(),this._isHorizontal||(o.rotate=n.position===y?270:90);var a=this._renderer.text(i.text,t.x,t.y).css((0,u.patchFontOptions)(i.font)).attr(o).append(e);return this._checkTitleOverflow(a),a}},_updateTitleCoords:function(){this._title&&this._title.element.attr(this._getTitleCoords())},_drawTitle:function(){var e=this._drawTitleText(this._axisTitleGroup);e&&(this._title={element:e})},_measureTitle:function(){this._title&&(this._title.bBox&&!this._title.originalSize&&(this._title.originalSize=this._title.bBox),this._title.bBox=this._title.element.getBBox())},_drawDateMarker:function(e,t,n){var i,o=this._options.marker,a=this._translator.getBusinessRange().invert,r=o.width+o.textLeftIndent;if(null!==t.x){t.withoutStick||(i=this._renderer.path([t.x,t.y,t.x,t.y+o.separatorHeight],\"line\").attr({\"stroke-width\":o.width,stroke:o.color,\"stroke-opacity\":o.opacity,sharp:\"h\"}).append(this._axisElementsGroup));var s=String(this.formatLabel(e,t.labelOptions,n));return{date:e,x:t.x,y:t.y,cropped:t.withoutStick,label:this._renderer.text(s,t.x,t.y).css((0,u.patchFontOptions)(o.label.font)).append(this._axisElementsGroup),line:i,getContentContainer:function(){return this.label},getEnd:function(){return this.x+(a?-1:1)*(r+this.labelBBox.width)},setTitle:function(){this.title=s},hideLabel:function(){this.label.dispose(),this.label=null,this.title=s},hide:function(){i&&(i.dispose(),i=null),this.label.dispose(),this.label=null,this.hidden=!0}}}},_drawDateMarkers:function(){var e,t=this,n=t._options,i=t._translator,o=t._getViewportRange(),r=o.minVisible,s=[];function l(e,n,a){return t._drawDateMarker(e,{x:i.translate(e),y:u,labelOptions:t._getLabelFormatOptions(n),withoutStick:a},o)}if(o.isEmpty()||!n.marker.visible||\"datetime\"!==n.argumentType||\"discrete\"===n.type||t._majorTicks.length<=1)return[];var u=t._axisPosition+n.marker.topIndent,d=a.default.getDateUnitInterval(this._tickInterval),c=function(e){var t=f(e);return\"quarter\"===t&&(t=f(t)),t}(d),h=function(e,t,n){var i,o=e;return e=p(e,n),t=p(t,n),(i=a.default.getSequenceByInterval(e,t,n)).length&&o>i[0]&&(i=i.slice(1)),i}(r,o.maxVisible,c);return(h.length>1||1===h.length&&r<h[0])&&(s=h.reduce((function(e,t,n,i){var o=l(t,S(t,i[n-1]||r<t&&r,d,c));return o&&e.push(o),e}),[]),r<h[0]&&(e=l(r,S(r,h[0],d,c),!0))&&s.unshift(e)),s},_adjustDateMarkers:function(e){e=e||0;var t,n=this,i=this._options.marker,o=i.width+i.textLeftIndent,a=this._translator.getBusinessRange().invert,r=n._getCanvasStartEnd(),s=this._dateMarkers;return s.length?(s[0].cropped&&(this._checkMarkersPosition(a,s[1],s[0])||s[0].hideLabel()),s.forEach((function(e,i,o){e.cropped||((a?e.getEnd()<r.end:e.getEnd()>r.end)?e.hideLabel():n._checkMarkersPosition(a,e,t)?t=e:e.hide())})),this._dateMarkers.forEach((function(t){if(t.label){var n=t.labelBBox,r=t.y+i.textTopIndent-n.y;t.label.attr({translateX:a?t.x-o-n.x-n.width:t.x+o-n.x,translateY:r+e})}t.line&&t.line.attr({translateY:e})})),n._initializeMarkersTrackers(e),e+i.topIndent+i.separatorHeight):e},_checkMarkersPosition:function(e,t,n){return void 0===n||(e?t.x<n.getEnd():t.x>n.getEnd())},_initializeMarkersTrackers:function(e){var t=this._options.marker.separatorHeight,n=this._renderer,i=this._translator.getBusinessRange(),o=this._getCanvasStartEnd(),a=this._axisElementsGroup;this._markerTrackers=this._dateMarkers.filter((function(e){return!e.hidden})).map((function(r,s,l){var u=l[s+1]||{x:o.end,date:i.max},d=r.x,c=r.y+e,h=n.path([d,c,d,c+t,u.x,c+t,u.x,c,d,c],\"area\").attr({\"stroke-width\":1,stroke:\"grey\",fill:\"grey\",opacity:1e-4}).append(a);return h.data(\"range\",{startValue:r.date,endValue:u.date}),r.title&&h.setTitle(r.title),h}))},_getLabelFormatOptions:function(e){var t=this._markerLabelOptions;return t||(this._markerLabelOptions=t=(0,r.extend)(!0,{},this._options.marker.label)),(0,d.isDefined)(this._options.marker.label.format)||(t.format=e),t},_adjustConstantLineLabels:function(e){var t=this,n=t._options.position,i=t.getCanvas(),o=i.left,a=i.width-i.right,r=i.top,s=i.height-i.bottom,l=r+(s-r)/2,u=o+(a-o)/2,d=0;return e.forEach((function(e){var i,c,h=t._isHorizontal,f=e.options,p=f.paddingTopBottom,g=f.paddingLeftRight,_=f.label,w=_.verticalAlignment,C=_.horizontalAlignment,S=\"inside\"===_.position,k=e.label,D=e.labelBBox;if(null!==k&&!D.isEmpty){if(h)if(S)switch(i=C===y?e.coord-g-D.x-D.width:e.coord+g-D.x,w){case x:c=l-D.y-D.height/2;break;case v:c=s-p-D.y-D.height;break;default:c=r+p-D.y}else n===w&&(d=m(d,D.height+p)),i=e.coord-D.x-D.width/2,c=w===v?s+p-D.y:r-p-D.y-D.height;else if(S)switch(c=w===v?e.coord+p-D.y:e.coord-p-D.y-D.height,C){case x:i=u-D.x-D.width/2;break;case b:i=a-g-D.x-D.width;break;default:i=o+g-D.x}else n===C&&(d=m(d,D.width+g)),c=e.coord-D.y-D.height/2,i=C===b?a+g-D.x:o-g-D.x-D.width;k.attr({translateX:i,translateY:c})}})),d},_drawConstantLinesForEstimating:function(e){var t=this,n=this._renderer,i=n.g();return e.forEach((function(e){t._drawConstantLineLabelText(e.label.text,0,0,e.label,i).attr({align:\"center\"})})),i.append(n.root)},_estimateLabelHeight:function(e,t){var n=e.height,i=t.drawingType;if(\"stagger\"!==this._validateDisplayMode(i)&&\"stagger\"!==this._validateOverlappingMode(t.overlappingBehavior,i)||(n=2*n+t.staggeringSpacing),\"rotate\"===this._validateDisplayMode(i)||\"rotate\"===this._validateOverlappingMode(t.overlappingBehavior,i)){var o=(0,u.getCosAndSin)(t.rotationAngle);n=n*o.cos+e.width*o.sin}return n&&(n+t.indentFromAxis||0)||0},estimateMargins:function(e){this.updateCanvas(e);var t=this._getViewportRange(),n=this._createTicksAndLabelFormat(t),i=n.ticks,o=n.tickInterval,a=this._options,r=this._outsideConstantLines.filter((function(e){return e.labelOptions.visible})).map((function(e){return e.options})),s=this._renderer.root,l=a.label.visible&&!t.isEmpty()&&i.length,u=l&&this.formatLabel(i[i.length-1],a.label,void 0,void 0,o,i),d=l&&this._renderer.text(u,0,0).css(this._textFontStyles).attr(this._textOptions).append(s),c=this._drawTitleText(s,{x:0,y:0}),h=this._drawConstantLinesForEstimating(r),f=!a.label.template&&d&&d.getBBox()||{x:0,y:0,width:0,height:0},p=c&&c.getBBox()||{x:0,y:0,width:0,height:0},g=h.getBBox(),_=p.height?p.height+a.title.margin:0,v=this._estimateLabelHeight(f,a.label),y=g.height?g.height+r.reduce((function(e,t){return m(e,t.paddingTopBottom)}),0):0,b=v+_,x={left:m(I(f),I(g)),right:m(T(f),T(g)),top:(\"top\"===a.position?b:0)+D(r,\"top\",y),bottom:(\"top\"!==a.position?b:0)+D(r,\"bottom\",y)};return d&&d.remove(),c&&c.remove(),h&&h.remove(),x},_checkAlignmentConstantLineLabels:function(e){var t=e.position,n=(e.verticalAlignment||\"\").toLowerCase(),i=(e.horizontalAlignment||\"\").toLowerCase();this._isHorizontal?\"outside\"===t?(n=n===v?v:_,i=x):(n=n===x?x:n===v?v:_,i=i===y?y:b):\"outside\"===t?(n=x,i=i===y?y:b):(n=n===v?v:_,i=i===b?b:i===x?x:y),e.verticalAlignment=n,e.horizontalAlignment=i},_getConstantLineLabelsCoords:function(e,t){var n=e,i=e;return this._isHorizontal?i=this._orthogonalPositions[\"top\"===t.verticalAlignment?\"start\":\"end\"]:n=this._orthogonalPositions[\"right\"===t.horizontalAlignment?\"end\":\"start\"],{x:n,y:i}},_getAdjustedStripLabelCoords:function(e){var t=e.options,n=t.paddingTopBottom,i=t.paddingLeftRight,o=t.label.horizontalAlignment,a=t.label.verticalAlignment,r=e.labelBBox,s=r.height,l=r.width,u=e.labelCoords,d=u.y-r.y,c=u.x-r.x;return a===_?d+=n:a===x?d-=s/2:a===v&&(d-=n+s),o===y?c+=i:o===x?c-=l/2:o===b&&(c-=i+l),{translateX:c,translateY:d}},_adjustTitle:function(e){if(e=e||0,this._title){var t=this._options,n=t.position,i=t.title.margin,o=this._title,a=o.bBox,r=a.x,s=a.y,l=a.width,u=a.height,d=this._axisPosition,c=d-i-e,h=d+i+e,f={};this._isHorizontal?f.translateY=n===_?c-(s+u):h-s:f.translateX=n===y?c-(r+l):h-r,o.element.attr(f)}},_checkTitleOverflow:function(e){if(this._title||e){var t=this._getScreenDelta(),n=e?{bBox:e.getBBox(),element:e}:this._title,i=this._options.title,o=n.bBox;if((this._isHorizontal?o.width:o.height)>t)n.element.setMaxSize(t,void 0,{wordWrap:i.wordWrap||\"none\",textOverflow:i.textOverflow||\"ellipsis\"}),this._wrapped=i.wordWrap&&\"none\"!==i.wordWrap;else{var a=n.originalSize&&t>(this._isHorizontal?n.originalSize.width:n.originalSize.height);!this._wrapped&&a&&n.element.restoreText()}}},coordsIn:function(e,t){var n=this.getCanvas(),i=this._options.isHorizontal,o=this._options.position,a=i?t:e;return!(i&&(e<n.left||e>n.width-n.right)||!i&&(t<n.top||t>n.height-n.bottom))&&(i&&o===c.default.top||!i&&o===c.default.left?a<n[o]:a>n[i?\"height\":\"width\"]-n[o])},_boundaryTicksVisibility:{min:!0,max:!0},adjust:function(){var e=this._seriesData,t=this._series.filter((function(e){return e.isVisible()})).reduce((function(e,t){var n=t.getViewport();return e.min=(0,d.isDefined)(n.min)?e.min<n.min?e.min:n.min:e.min,e.max=(0,d.isDefined)(n.max)?e.max>n.max?e.max:n.max:e.max,t.showZero&&(e=new i.Range(e)).correctValueZeroLevel(),e}),{});(0,d.isDefined)(t.min)&&(0,d.isDefined)(t.max)&&(e.minVisible=t.min,e.maxVisible=t.max),e.userBreaks=this._getScaleBreaks(this._options,{minVisible:e.minVisible,maxVisible:e.maxVisible},this._series,this.isArgumentAxis),this._translator.updateBusinessRange(this._getViewportRange())},hasWrap:function(){return this._wrapped},getAxisPosition:function(){return this._axisPosition},_getStick:function(){return!this._options.valueMarginsEnabled},_getStripLabelCoords:function(e,t,n){var i,o,a,r,s=this._orthogonalPositions,l=this._isHorizontal,u=n.horizontalAlignment,d=n.verticalAlignment;return l?(u===x?i=e+(t-e)/2:u===y?i=e:u===b&&(i=t),o=s[(a=d,r=\"start\",\"center\"===a&&(r=\"center\"),\"bottom\"===a&&(r=\"end\"),r)]):(i=s[function(e){var t=\"start\";return\"center\"===e&&(t=\"center\"),\"right\"===e&&(t=\"end\"),t}(u)],d===_?o=e:d===x?o=t+(e-t)/2:d===v&&(o=t)),{x:i,y:o}},_getTranslatedValue:function(e,t){var n=this._translator.translate(e,t,\"semidiscrete\"===this._options.type&&this._options.tickInterval),i=this._axisPosition,o=this._isHorizontal;return{x:o?n:i,y:o?i:n}},areCoordsOutsideAxis:function(e){var t=this._isHorizontal?e.x:e.y,n=this.getVisibleArea();return t<n[0]||t>n[1]},_getSkippedCategory:function(e){var t;return this._options.type===c.default.discrete&&this._tickOffset&&0!==e.length&&(t=e[e.length-1]),t},_filterBreaks:function(e,t,n){var i=t.minVisible,o=t.maxVisible,r=n?n.width:0;return e.reduce((function(e,t){var n,s=t.from,l=t.to,u=e[e.length-1];if(!(0,d.isDefined)(s)||!(0,d.isDefined)(l))return e;if(s>l&&(l=[s,s=l][0]),e.length&&s<u.to)l>u.to&&(u.to=l>o?o:l,u.gapSize&&(u.gapSize=void 0,u.cumulativeWidth+=r));else if((s>=i&&s<o||l<=o&&l>i)&&(l=l<=o?l:o)-(s=s>=i?s:i)<o-i){var c,h;if(n={from:s,to:l,cumulativeWidth:(null!==(c=null==u?void 0:u.cumulativeWidth)&&void 0!==c?c:0)+r},t.gapSize)n.gapSize=a.default.convertMillisecondsToDateUnits(l-s),n.cumulativeWidth=null!==(h=null==u?void 0:u.cumulativeWidth)&&void 0!==h?h:0;e.push(n)}return e}),[])},_getScaleBreaks:function(e,t,n,i){var o=this,a=(e.breaks||[]).map((function(e){return{from:o.parser(e.startValue),to:o.parser(e.endValue)}}));return\"discrete\"!==e.type&&\"datetime\"===e.dataType&&e.workdaysOnly&&(a=a.concat((0,s.generateDateBreaks)(t.minVisible,t.maxVisible,e.workWeek,e.singleWorkdays,e.holidays))),!i&&\"discrete\"!==e.type&&\"datetime\"!==e.dataType&&e.autoBreaksEnabled&&0!==e.maxAutoBreakCount&&(a=a.concat(function(e,t,n){for(var i=e.logarithmBase,o=e.type,a=e.maxAutoBreakCount,r=[],s=\"logarithmic\"===o?function(e,t){return(0,u.getLog)(t/e,i)}:function(e,t){return t-e},l=s(n.minVisible,n.maxVisible),c=t.reduce((function(e,t){var n=t.getPointsInViewPort();return e[0]=e[0].concat(n[0]),e[1]=e[1].concat(n[1]),e}),[[],[]]),h=.3*l,f=function(e,t,n){var i,o,a,r,s,l=null,u=[];for(i=1,o=e.length;i<o;i++)s=n(a=e[i],r=e[i-1]),t.indexOf(a)>=0?(!l||s>l.length)&&(l={start:a,end:r,length:s}):(l&&s<l.length?u.push(l):u.push({start:a,end:r,length:s}),l=null);return l&&u.push(l),u}(c[0].concat(c[1]).sort((function(e,t){return t-e})),c[1].filter((function(e){return c[0].indexOf(e)<0})),s).sort((function(e,t){return t.length-e.length})),p=g.min.apply(null,f.map((function(e){return e.length})))/1e3,m=(0,d.isDefined)(a)?g.min(a,f.length):f.length,_=0;_<m&&f[_].length>=h&&!(l<=f[_].length);_++)((l-=f[_].length)>p||l<-p)&&(r.push({from:f[_].start,to:f[_].end}),h=.3*l);return C(r),r}(e,n,t))),C(a)},_drawBreak:function(e,t,n,i,o,a){var r=e-(this._translator.isInverted()?0:i+1),s={\"stroke-width\":1,stroke:o.borderColor,sharp:o.isWaved?void 0:o.isHorizontal?\"h\":\"v\"},l={stroke:o.color,\"stroke-width\":i},u=this._isHorizontal?A:function(e){return e},d=O(this._renderer,a,u,t,r,n,o.isWaved);d(i/2,l),d(0,s),d(i,s)},_createBreakClipRect:function(e,t){var n,i=this._canvas,o=t-e;return n=this._isHorizontal?this._renderer.clipRect(i.left,e,i.width,o):this._renderer.clipRect(e,i.top,o,i.height),this._breaksElements=this._breaksElements||[],this._breaksElements.push(n),n.id},_createBreaksGroup:function(e,t){var n=this._renderer.g().attr({class:this._axisCssPrefix+\"breaks\",\"clip-path\":this._createBreakClipRect(e,t)}).append(this._scaleBreaksGroup);return this._breaksElements=this._breaksElements||[],this._breaksElements.push(n),n},_disposeBreaksGroup:function(){(this._breaksElements||[]).forEach((function(e){e.dispose()})),this._breaksElements=null},drawScaleBreaks:function(e){var t,n,i,o,a,r=this,s=r._options,l=s.breakStyle,u=s.position,d=r._translator.getBusinessRange().breaks||[];if(r._disposeBreaksGroup(),d&&d.length){var c={color:r._options.containerColor,borderColor:l.color,isHorizontal:r._isHorizontal,isWaved:\"straight\"!==l.line.toLowerCase()};e?(t=e.start,n=e.end):(t=r._orthogonalPositions.start-(!s.visible||r._axisShift||u!==y&&u!==_?0:3),n=r._orthogonalPositions.end+(!s.visible||u!==b&&u!==v?0:3));var h=r._createBreaksGroup(t,n);r._axisShift&&s.visible&&(o=r._axisPosition-r._axisShift-3,a=o+6,i=r._createBreaksGroup(o,a)),d.forEach((function(e){if(!e.gapSize){var u=r._getTranslatedCoord(e.to);r._drawBreak(u,t,n,l.width,c,h),r._axisShift&&s.visible&&r._drawBreak(u,o,a,l.width,c,i)}}))}},_getSpiderCategoryOption:l.noop,shift:function(e){var t=this._options,n=t.isHorizontal,i=this.getMultipleAxesSpacing(),o=this._axisConstantLineGroups;function a(t,o){var a={translateX:0,translateY:0},r=e[t]?e[t]+i:0;return a[n?\"translateY\":\"translateX\"]=(t===y||t===_?-1:1)*r,(o[t]||o).attr(a),r}this._axisShift=a(t.position,this._axisGroup),a(t.position,this._axisElementsGroup),(n?[_,v]:[y,b]).forEach((function(e){a(e,o.above),a(e,o.under)}))},getCustomPosition:function(e){var t,n=this.getOrthogonalAxis(),i=null!=e?e:this.getResolvedPositionOption(),o=this.getOptions().offset,a=n.getTranslator(),r=n.getOptions().type,s=n.validateUnit(i);return\"discrete\"===r&&(!a._categories||a._categories.indexOf(s)<0)&&(s=void 0),t=this.positionIsBoundary(i)?this.getPredefinedPosition(i):(0,d.isDefined)(s)?a.to(s,-1):this.getPredefinedPosition(this.getOptions().position),isFinite(t)&&isFinite(o)&&(t+=o),t},getCustomBoundaryPosition:function(e){var t=this.getOptions(),n=t.customPosition,i=t.offset,o=null!=e?e:this.getResolvedPositionOption(),a=this.getOrthogonalAxis(),r=a.getTranslator(),s=r.getCanvasVisibleArea();if((0,d.isDefined)(a._orthogonalPositions)&&0!==r.canvasLength){var l=this.getCustomPosition(o);if(!(0,d.isDefined)(l))return this.getResolvedBoundaryPosition();if((0,d.isDefined)(n)){if(l<=s.min)return this._isHorizontal?_:y;if(l>=s.max)return this._isHorizontal?v:b}else if((0,d.isDefined)(i)){if(l<=this._orthogonalPositions.start)return this._isHorizontal?_:y;if(l>=this._orthogonalPositions.end)return this._isHorizontal?v:b}return l}},getResolvedPositionOption:function(){var e,t=this.getOptions();return null!==(e=t.customPosition)&&void 0!==e?e:t.position},customPositionIsAvailable:function(){var e=this.getOptions();return(0,d.isDefined)(this.getOrthogonalAxis())&&((0,d.isDefined)(e.customPosition)||isFinite(e.offset))},hasNonBoundaryPosition:function(){return this.customPositionIsAvailable()&&!this.customPositionIsBoundary()},getResolvedBoundaryPosition:function(){return this.customPositionIsBoundary()?this._customBoundaryPosition:this.getOptions().position},customPositionEqualsToPredefined:function(){return this.customPositionIsBoundary()&&this._customBoundaryPosition===this.getOptions().position},customPositionIsBoundary:function(){return this.positionIsBoundary(this._customBoundaryPosition)},positionIsBoundary:function(e){return[_,y,v,b].indexOf(e)>=0},getPredefinedPosition:function(e){var t;return null===(t=this._orthogonalPositions)||void 0===t?void 0:t[e===_||e===y?\"start\":\"end\"]},resolveOverlappingForCustomPositioning:function(e){var t=this;if(t.hasNonBoundaryPosition()||t.customPositionIsBoundary()||e.some((function(e){return e.hasNonBoundaryPosition()}))){var n={axes:[],ticks:[]};e.filter((function(e){return e.pane===t.pane})).forEach((function(e){for(var i=0;i<t._majorTicks.length;i++){var o=t._majorTicks[i],a=o.label;if(a){n.axes.indexOf(e)<0&&t._detectElementsOverlapping(a,e._axisElement)&&(n.axes.push(e),t._shiftThroughOrthogonalAxisOverlappedTick(a,e));for(var r=0;r<e._majorTicks.length;r++){var s=e._majorTicks[r].label;if(s&&t._detectElementsOverlapping(a,s)){n.ticks.push(o),t._shiftThroughAxisOverlappedTick(o),i=t._majorTicks.length;break}}}o.mark&&n.ticks.indexOf(o)<0&&(t._isHorizontal&&o.mark.attr(\"translateY\")?o.mark.attr({translateY:0}):!t._isHorizontal&&o.mark.attr(\"translateX\")&&o.mark.attr({translateX:0}))}}))}},_shiftThroughOrthogonalAxisOverlappedTick:function(e,t){var n=e.getBBox(),i=t.getAxisPosition(),o=t.getOptions().label,a=o.position,r=o.indentFromAxis/2,s=this._isHorizontal?\"translateX\":\"translateY\",l=this._isHorizontal?y:_,u=e.attr(s),d=(this._isHorizontal?n.x:n.y)+u,c=i-d,h=d+(this._isHorizontal?n.width:n.height)-i,f={};f[s]=u,c>0&&h>0&&(h-c>1?f[s]+=c+r:c-h>1?f[s]-=h+r:f[s]+=a===l?c+r:-(h+r),e.attr(f))},_shiftThroughAxisOverlappedTick:function(e){var t,n=e.label;if(n){var i=n.getBBox(),o=null===(t=e.mark)||void 0===t?void 0:t.getBBox(),a=this.getAxisPosition(),r=this.getOptions().label,s=r.indentFromAxis,l=r.position,u=this._isHorizontal?_:y,d=this._isHorizontal?\"translateY\":\"translateX\",c=n.attr(d),h=(this._isHorizontal?i.y:i.x)+c,f=this._isHorizontal?i.height:i.width,p={};if(p[d]=c+(l===u?a-h+s:-(h-a+f+s)),n.attr(p),e.mark){var g=this._isHorizontal?o.height:o.width,m=l===u?1:-1;p[d]=m*(g-1),e.mark.attr(p)}}},_detectElementsOverlapping:function(e,t){if(!e||!t)return!1;var n=e.getBBox(),i=n.x+e.attr(\"translateX\"),o=n.y+e.attr(\"translateY\"),a=t.getBBox(),r=a.x+t.attr(\"translateX\"),s=a.y+t.attr(\"translateY\");return(r>=i&&r<=i+n.width||i>=r&&i<=r+a.width)&&(s>=o&&s<=o+n.height||o>=s&&o<=s+a.height)}}};function O(e,t,n,i,o,a,r){var s=r?\"bezier\":\"line\",l=e.g().append(t);return function(t,u){e.path(n(function(e,t,n,i,o){if(!o)return[e,t+i,n,t+i];var a,r=(t+=i)+0,s=t+2,l=t+4,u=[[e,s]];for(a=e;a<n+24;a+=24)u.push([a+6,r,a+6,r,a+12,s,a+18,l,a+18,l,a+24,s]);return[].concat.apply([],u)}(i,o,a,t,r)),s).attr(u).append(l)}}function A(e){var t,n=[];for(t=0;t<e.length;t+=2)n.push(e[t+1]),n.push(e[t]);return n}t.default=E,e.exports=t.default,e.exports.default=t.default},45888:function(e,t,n){t.default=void 0;var i=n(44898).dxBarGauge;t.default=i,e.exports=t.default,e.exports.default=t.default},88950:function(e,t,n){var i;t.default=void 0;var o=((i=n(59989))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},99511:function(e,t,n){var i;t.default=void 0;var o=((i=n(4096))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},97574:function(e,t,n){t.Crosshair=h,t.getMargins=function(){return{x:8,y:4}};var i=n(19157),o=n(13306),a=Math,r=a.abs,s=a.min,l=a.max,u=a.floor;function d(e){return{x:e.x-8,y:e.y-4,width:e.width+16,height:e.height+8}}function c(e,t,n,i){var o=n?[\"x\",\"width\",\"y\",\"height\",t,0]:[\"y\",\"height\",\"x\",\"width\",e,1];return function(e,t,a){var r={x:a.x,y:a.y},s=d(e),l=n?a.y-e.y-e.height/2:a.y-e.y;return r.y=n||!n&&\"bottom\"===t?a.y+l:a.y,s[o[0]]<0?r[o[0]]-=s[o[0]]:s[o[0]]+s[o[1]]+l*o[5]>i[o[1]]&&(r[o[0]]-=s[o[0]]+s[o[1]]+l*o[5]-i[o[1]]),o[4]-s[o[3]]/2<0?r[o[2]]-=o[4]-s[o[3]]/2:o[4]+s[o[3]]/2>i[o[3]]&&(r[o[2]]-=o[4]+s[o[3]]/2-i[o[3]]),r}}function h(e,t,n,i){this._renderer=e,this._crosshairGroup=i,this._options={},this.update(t,n)}h.prototype={constructor:h,update:function(e,t){var n=t.canvas;this._canvas={top:n.top,bottom:n.height-n.bottom,left:n.left,right:n.width-n.right,width:n.width,height:n.height},this._axes=t.axes,this._panes=t.panes,this._prepareOptions(e,\"horizontal\"),this._prepareOptions(e,\"vertical\")},dispose:function(){this._renderer=this._crosshairGroup=this._options=this._axes=this._canvas=this._horizontalGroup=this._verticalGroup=this._horizontal=this._vertical=this._circle=this._panes=null},_prepareOptions:function(e,t){var n=e[t+\"Line\"];this._options[t]={visible:n.visible,line:{stroke:n.color||e.color,\"stroke-width\":n.width||e.width,dashStyle:n.dashStyle||e.dashStyle,opacity:n.opacity||e.opacity,\"stroke-linecap\":\"butt\"},label:(0,o.extend)(!0,{},e.label,n.label)}},_createLines:function(e,t,n){for(var i=[],o=this._canvas,a=[o.left,o.top,o.left,o.top],r=0;r<2;r++)i.push(this._renderer.path(a,\"line\").attr(e).sharp(t).append(n));return i},render:function(){var e=this._renderer,t=this._options,n=t.vertical,i=t.horizontal,o=i.visible?i.line:n.line,a={stroke:o.stroke,\"stroke-width\":o[\"stroke-width\"],dashStyle:o.dashStyle,opacity:o.opacity},r=this._canvas;this._horizontal={},this._vertical={},this._circle=e.circle(r.left,r.top,0).attr(a).append(this._crosshairGroup),this._horizontalGroup=e.g().append(this._crosshairGroup),this._verticalGroup=e.g().append(this._crosshairGroup),n.visible&&(this._vertical.lines=this._createLines(n.line,\"h\",this._verticalGroup),this._vertical.labels=this._createLabels(this._axes[0],n,!1,this._verticalGroup)),i.visible&&(this._horizontal.lines=this._createLines(i.line,\"v\",this._horizontalGroup),this._horizontal.labels=this._createLabels(this._axes[1],i,!0,this._horizontalGroup)),this.hide()},_createLabels:function(e,t,n,o){var a,r,s,l,u,d=this._canvas,c=this._renderer,h=[],f=t.label;return f.visible&&e.forEach((function(e){var p=e.getOptions().position;if(!e.getTranslator().getBusinessRange().isEmpty()){u=e.getLabelsPosition(),n?(r=d.top,a=u):(a=d.left,r=u);var g=\"top\"===p||\"bottom\"===p?\"center\":\"right\"===p?\"left\":\"right\";l=c.rect(0,0,0,0).attr({fill:f.backgroundColor||t.line.stroke}).append(o),s=c.text(\"0\",0,0).css((0,i.patchFontOptions)(t.label.font)).attr({align:g,class:f.cssClass}).append(o),h.push({text:s,background:l,axis:e,options:f,pos:{coord:u,side:p},startXY:{x:a,y:r}})}})),h},_updateText:function(e,t,n,i,o){var a=this;n.forEach((function(n){var r=n.axis,s=n.startXY,l=n.text,u=n.background,c=\"\";r.name&&r.name!==t||(c=r.getFormattedValue(e,n.options,i)),c?(l.attr({text:c,x:s.x,y:s.y}),l.attr(o(l.getBBox(),n.pos.side,s)),a._updateLinesCanvas(n),u.attr(d(l.getBBox()))):(l.attr({text:\"\"}),u.attr({x:0,y:0,width:0,height:0}))}))},hide:function(){this._crosshairGroup.attr({visibility:\"hidden\"})},_updateLinesCanvas:function(e){var t=e.pos.side,n=e.pos.coord,i=this._linesCanvas,o=this._canvas;i[t]=i[t]!==o[t]&&r(i[t]-o[t])<r(n-o[t])?i[t]:n},_updateLines:function(e,t,n,i,o){for(var a=this._linesCanvas,r=this._canvas,u=o?[[s(t-i,a.left),r.top,t-i,r.top],[t+i,r.top,l(a.right,t+i),r.top]]:[[r.left,s(a.top,n-i),r.left,n-i],[r.left,n+i,r.left,l(a.bottom,n+i)]],d=0;d<2;d++)e[d].attr({points:u[d]}).sharp(o?\"v\":\"h\",o?n===r.bottom?-1:1:t===r.right?-1:1)},_resetLinesCanvas:function(){var e=this._canvas;this._linesCanvas={left:e.left,right:e.right,top:e.top,bottom:e.bottom}},_getClipRectForPane:function(e,t){var n,i,o=this._panes;for(n=0;n<o.length;n++)if((i=o[n].coords).left<=e&&i.right>=e&&i.top<=t&&i.bottom>=t)return o[n].clipRect;return{id:null}},show:function(e){var t=e.point,n=t.getCrosshairData(e.x,e.y),i=t.getPointRadius(),o=this._horizontal,a=this._vertical,r=i?i+3:0,s=this._canvas,l=u(n.x),d=u(n.y);l>=s.left&&l<=s.right&&d>=s.top&&d<=s.bottom?(this._crosshairGroup.attr({visibility:\"visible\"}),this._resetLinesCanvas(),this._circle.attr({cx:l,cy:d,r:r,\"clip-path\":this._getClipRectForPane(l,d).id}),o.lines&&(this._updateText(n.yValue,n.axis,o.labels,t,c(l,d,!0,s)),this._updateLines(o.lines,l,d,r,!0),this._horizontalGroup.attr({translateY:d-s.top})),a.lines&&(this._updateText(n.xValue,n.axis,a.labels,t,c(l,d,!1,s)),this._updateLines(a.lines,l,d,r,!1),this._verticalGroup.attr({translateX:l-s.left}))):this.hide()}}},61189:function(e,t,n){t.LayoutManager=v;var i,o=n(35922),a=(i=n(32410))&&i.__esModule?i:{default:i},r=n(73711);var s=Math.floor,l=Math.sqrt,u=Math.min,d=Math.max,c=a.default.radialLabelIndent;function h(e,t,n){return n<e?e:t<n?t:n}function f(e){if(e._label.isVisible()&&\"inside\"!==e._label.getLayoutOptions().position)return e._label.getBoundingRect()}function p(e,t,n,i,o){return e.some((function(e){return e.getVisiblePoints().reduce((function(e,a){var r=f(a);if(r){var s=h(r.x,r.x+r.width,t),p=h(r.y,r.y+r.height,n);i=u(d(function(e,t,n,i){return l((e-n)*(e-n)+(t-i)*(t-i))}(s,p,t,n)-c,o),i),e=!0}return e}),!1)})),i}function g(e){return e.reduce((function(e,t){var n=t.getVisiblePoints().reduce((function(e,t){var n=f(t);return n&&n.width>e&&(e=n.width),e}),0),i=n;return n&&(e.outerLabelsCount++,e.outerLabelsCount>1&&(n+=a.default.pieLabelSpacing),i+=a.default.pieLabelSpacing),e.sizes.push(n),e.rSizes.push(i),e.common+=n,e}),{sizes:[],rSizes:[],common:0,outerLabelsCount:0})}function m(e,t,n,i,o,a){var r,l,u=0,d=e.sizes,c=e.rSizes;for(l=0;l<n.length;l++)0!==d[l]?(r=s(r?r+c[l-1]:t),n[l].correctLabelRadius(r),u+=o||d[l],c[l]=o||c[l],n[l].setVisibleArea({left:s(a-t-u),right:s(i.width-(a+t+u)),top:i.top,bottom:i.bottom,width:i.width,height:i.height})):r&&(r+=c[l-1])}function _(e){var t=e.type,n=e.innerRadius;return\"pie\"===t?0:(0,o.isNumeric)(n)?Number(n):.5}function v(){}function y(e,t,n,i){return(e-t-c-n.left)/i.outerLabelsCount}function b(e,t,n,i,o,a){var r,s=g(n),l=function(e,t,n){return e-t.left-(n.outerLabelsCount>0?n.common+c:0)}(o,t,s);return l<i?r=y(o,e=i,t,s):e=u(p(n,o,a,e,i),l),m(s,e+c,n,t,r,o),e}function x(e){return new r.WrapperLayoutElement(null,{x:e.left,y:e.top,width:e.width-e.left-e.right,height:e.height-e.top-e.bottom})}v.prototype={constructor:v,setOptions:function(e){this._options=e},applyPieChartSeriesLayout:function(e,t,n){var i,a,r=e.height-e.top-e.bottom,l=e.width-e.left-e.right,d=l/2+e.left,c=r/2+e.top,h=this._options.piePercentage;return(0,o.isNumeric)(h)?i=a=h*u(e.height,e.width)/2:(i=u(l,r)/2,a=this._options.minPiePercentage*i),n||(i=b(i,e,t,a,d,c)),{centerX:s(d),centerY:s(c),radiusInner:s(i*_(t[0])),radiusOuter:s(i)}},applyEqualPieChartLayout:function(e,t){var n=t.radius;return{centerX:s(t.x),centerY:s(t.y),radiusInner:s(n*_(e[0])),radiusOuter:s(n)}},correctPieLabelRadius:function(e,t,n){var i,o=g(e),a=t.radiusOuter+c,r=t.centerX-n.left-a;o.common+c>r&&(i=y(t.centerX,t.radiusOuter,n,o)),m(o,a,e,n,i,t.centerX)},needMoreSpaceForPanesCanvas:function(e,t,n){var i=this._options,a=i.width,r=i.height,s=i.piePercentage,l=(0,o.isNumeric)(s),c=0,h=0;return e.forEach((function(e){var i=e.canvas,o=l?u(i.width,i.height)*s:void 0,f=n?n(e):{width:!1,height:!1},p=f.width?0:(l?o:a)-(i.width-i.left-i.right),g=f.height?0:(l?o:r)-(i.height-i.top-i.bottom);t?(c+=p>0?p:0,h=d(g>0?g:0,h)):(c=d(p>0?p:0,c),h+=g>0?g:0)})),(c>0||h>0)&&{width:c,height:h}},layoutInsideLegend:function(e,t){var n=e.getLayoutOptions();if(n){var i=n.position,o=n.cutSide,a={horizontal:i.horizontal,vertical:i.vertical};t[n.cutLayoutSide]+=\"horizontal\"===n.cutSide?n.width:n.height,a[o]={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",center:\"center\"}[a[o]],e.position({of:x(t),my:a,at:i})}}}},42597:function(e,t,n){t.default=void 0;n(30869);var i=n(35922),o=n(95479),a=n(19157),r=n(60810),s=Math,l=s.floor,u=s.max,d=s.abs;function c(e,t){if(e.isLogarithmic){var n=e.logarithmicBase,i=e.tickValues;e.minValue=t.transform(e.minValue,n),e.oldMinValue=t.transform(e.oldMinValue,n),e.maxValue=t.transform(e.maxValue,n),e.oldMaxValue=t.transform(e.oldMaxValue,n),e.tickInterval=s.round(e.tickInterval),e.tickInterval<1&&(e.tickInterval=1);var o=t.getTicks(e.tickInterval,i,n);o.tickInterval=e.tickInterval,e.tickValues=o}}function h(e){return e.reduce((function(e,t){var n,o,s=t.getTicksValues(),l=s.majorTicksValues,u=t.getOptions(),h=t.getTranslator().getBusinessRange(),f=t.getVisibleArea(),p=t._tickInterval,g=u.synchronizedValue,m=t.getViewport().action;if(l&&l.length>0&&(0,i.isNumeric)(l[0])&&\"discrete\"!==u.type&&!h.isEmpty()&&(!h.breaks||!h.breaks.length)&&\"zoom\"!==m&&\"pan\"!==m){t.applyMargins();var _=t.getTranslator().from(f[0]),v=t.getTranslator().from(f[1]),y=_<v?_:v,b=_<v?v:_;y===b&&(0,i.isDefined)(g)&&(p=d(l[0]-g)||1,y=l[0]-p,b=l[0]+p),c(n={axis:t,isLogarithmic:\"logarithmic\"===u.type,logarithmicBase:h.base,tickValues:l,minorValues:s.minorTicksValues,minorTickInterval:t._minorTickInterval,minValue:y,oldMinValue:y,maxValue:b,oldMaxValue:b,inverted:h.invert,tickInterval:p,synchronizedValue:g},(o=t.getTranslator().getBusinessRange(),{transform:function(e,t){return(0,r.adjust)((0,a.getLogExt)(e,t,o.allowNegatives,o.linearThreshold))},getTicks:function(e,t,n){for(var i=[],o=this.transform(t[0],n);i.length<t.length;)i.push(o),o=(0,r.adjust)(o+e);return i}})),e.push(n)}return e}),[])}function f(e){return e.maxValue-e.minValue||1}function p(e){for(var t=0;t<e.length;t++)if(!e[t].stubData)return e[t];return null}var g={synchronize:function(e){(0,o.each)(function(e){var t={};return e.forEach((function(e){var n=e.pane;t[n]||(t[n]=[]),t[n].push(e)})),t}(e),(function(e,t){var n,o;if(t.length>1){if((n=h(t)).length<2||!p(n))return;!function(e){var t=e.reduce((function(e,t){return u(e,t.tickValues.length)}),0);e.forEach((function(e){var n,o,a=0,s=e.synchronizedValue,u=e.tickValues,d=e.tickInterval;if((0,i.isDefined)(s))e.baseTickValue=e.invertedBaseTickValue=s,e.tickValues=[e.baseTickValue];else{if(u.length>1&&d){for(o=(n=l((t+1)/u.length))>1?l((t+1)/n):t,a=l((o-u.length)/2);a>0&&0!==u[0];)u.unshift((0,r.adjust)(u[0]-d)),a--;for(;u.length<o;)u.push((0,r.adjust)(u[u.length-1]+d));e.tickInterval=d/n}e.baseTickValue=u[0],e.invertedBaseTickValue=u[u.length-1]}}))}(n),function(e){var t=p(e),n=t.tickInterval;e.forEach((function(e){var o,a,r,s;e!==t&&(n&&e.tickInterval&&(e.stubData&&(0,i.isDefined)(e.synchronizedValue)&&(e.oldMinValue=e.minValue=e.baseTickValue-(t.baseTickValue-t.minValue)/n*e.tickInterval,e.oldMaxValue=e.maxValue=e.baseTickValue-(t.baseTickValue-t.maxValue)/n*e.tickInterval),o=n/f(t)/e.tickInterval*f(e),e.maxValue=e.minValue+f(e)/o),r=t.inverted&&!e.inverted||!t.inverted&&e.inverted?t.maxValue-t.invertedBaseTickValue:t.baseTickValue-t.minValue,s=f(e),a=(r/f(t)-(e.baseTickValue-e.minValue)/s)*s,e.minValue-=a,e.maxValue-=a)}))}(n),o=function(e){var t,n,i=0,o=0;return e.forEach((function(e){var a=e.inverted;t=e.minValue>e.oldMinValue?(e.minValue-e.oldMinValue)/f(e):0,n=e.maxValue<e.oldMaxValue?(e.oldMaxValue-e.maxValue)/f(e):0,i=u(i,a?n:t),o=u(o,a?t:n)})),{start:i,end:o}}(n),o=function(e,t){return e.reduce((function(e,t){var n=t.inverted,o=t.axis.getCorrectedValuesToZero(t.minValue,t.maxValue),a=o.start,r=o.end;return(0,i.isDefined)(a)||(0,i.isDefined)(r)?n?{start:e.start,end:Math.min(e.end,r)}:{start:Math.min(e.start,a),end:e.end}:e}),t)}(n,o),function(e,t){e.forEach((function(e){var n=f(e),i=e.inverted;e.minValue=(0,r.adjust)(e.minValue-t[i?\"end\":\"start\"]*n),e.maxValue=(0,r.adjust)(e.maxValue+t[i?\"start\":\"end\"]*n)}))}(n,o),function(e){var t,n=[];e.forEach((function(e){e.oldMaxValue-e.oldMinValue==0?n.push(e):(0,i.isDefined)(t)||(0,i.isDefined)(e.synchronizedValue)||(t=d((e.maxValue-e.minValue)/(e.tickValues[l(e.tickValues.length/2)]-e.minValue||e.maxValue)))})),(0,i.isDefined)(t)&&n.forEach((function(e){var n=e.tickValues[0],i=n*t;n>0?(e.maxValue=i,e.minValue=0):n<0&&(e.minValue=i,e.maxValue=0)}))}(n),function(e){var t=!1;e.forEach((function(e){t=t||(0,i.isDefined)(e.synchronizedValue)})),e.forEach((function(e){var n,i=e.tickInterval,o=e.tickValues,a=e.maxValue,s=e.minValue;if(t&&i){for(;(n=(0,r.adjust)(o[0]-i))>=s;)o.unshift(n);for(n=o[o.length-1];(n=(0,r.adjust)(n+i))<=a;)o.push(n)}for(;o[0]+i/10<s;)o.shift();for(;o[o.length-1]-i/10>a;)o.pop()}))}(n),function(e){e.forEach((function(e){if(e.minorTickInterval){for(var t=[],n=e.minorTickInterval,i=e.tickInterval/n-1,o=1;o<e.tickValues.length;o++)for(var a=e.tickValues[o-1],r=0;r<i;r++)a+=n,t.push(a);e.minorValues=t}}))}(n),n.forEach((function(e){var t;c(e,(t=e.axis.getTranslator().getBusinessRange(),{transform:function(e,n){return(0,r.adjust)((0,a.raiseToExt)(e,n,t.allowNegatives,t.linearThreshold))},getTicks:function(e,t,n){for(var i,o=[],a=0;a<t.length;a+=1)i=this.transform(t[a],n),o.push(i);return o}}))})),function(e){e.forEach((function(e){var t=e.axis,n=t.getTranslator().getBusinessRange();n.min===n.minVisible&&(n.min=e.minValue),n.max===n.maxVisible&&(n.max=e.maxValue),n.minVisible=e.minValue,n.maxVisible=e.maxValue,n.min>n.minVisible&&(n.min=n.minVisible),n.max<n.maxVisible&&(n.max=n.maxVisible),t.getTranslator().updateBusinessRange(n),t.setTicks({majorTicks:e.tickValues,minorTicks:e.minorValues})}))}(n)}}))}};t.default=g,e.exports=t.default,e.exports.default=t.default},97882:function(e,t,n){t.ScrollBar=void 0;var i,o=(i=n(55994))&&i.__esModule?i:{default:i},a=n(39611),r=n(13306),s=n(87276),l=n(35922),u=n(20576),d=n(23174);var c=Math.min,h=Math.max,f=function(e,t){this._translator=new s.Translator2D({},{},{}),this._scroll=e.rect().append(t),this._addEvents()};function p(e,t,n,i){var o=0;return\"right\"===t?o=e.width-e.right+n:\"left\"===t&&(o=e.left-n-i),o}function g(e,t,n,i){var o=0;return\"top\"===t?o=e.top-n:\"bottom\"===t&&(o=e.height-e.bottom+i+n),o}t.ScrollBar=f,f.prototype={_addEvents:function(){var e=this,t=this._scroll.element;o.default.on(t,d.start,(function(e){(0,a.fireEvent)({type:\"dxc-scroll-start\",originalEvent:e,target:t})})),o.default.on(t,d.move,(function(n){var i=-n.offset.x*e._scale,o=-n.offset.y*e._scale,r=e._offset-(e._layoutOptions.vertical?o:i)/e._scale;e._applyPosition(r,r+e._translator.canvasLength/e._scale),(0,a.fireEvent)({type:\"dxc-scroll-move\",originalEvent:n,target:t,offset:{x:i,y:o}})})),o.default.on(t,d.end,(function(n){(0,a.fireEvent)({type:\"dxc-scroll-end\",originalEvent:n,target:t,offset:{x:-n.offset.x*e._scale,y:-n.offset.y*e._scale}})}))},update:function(e){var t=e.position,n=e.rotated,i=n?\"right\":\"top\";return t!==i&&t!==(n?\"left\":\"bottom\")&&(t=i),this._scroll.attr({rotate:e.rotated?0:-90,rotateX:0,rotateY:0,fill:e.color,width:e.width,opacity:e.opacity}),this._layoutOptions={width:e.width,offset:e.offset,vertical:n,position:t},this},init:function(e,t){var n=\"discrete\"===e.axisType;return this._translateWithOffset=n&&!t?1:0,this._translator.update((0,r.extend)({},e,{minVisible:null,maxVisible:null,visibleCategories:null},n&&{min:null,max:null}||{}),this._canvas,{isHorizontal:!this._layoutOptions.vertical,stick:t}),this},getOptions:function(){return this._layoutOptions},setPane:function(e){var t,n=this._layoutOptions.position;return t=\"left\"===n||\"top\"===n?e[0]:e[e.length-1],this.pane=t.name,this},updateSize:function(e){this._canvas=(0,r.extend)({},e);var t=this._layoutOptions,n=t.position,i=t.offset,o=t.width;this._scroll.attr({translateX:p(e,n,i,o),translateY:g(e,n,i,o)})},getMultipleAxesSpacing:function(){return 0},estimateMargins:function(){return this.getMargins()},getMargins:function(){var e=this._layoutOptions,t={left:0,top:0,right:0,bottom:0};return t[e.position]=e.width+e.offset,t},shift:function(e){var t,n,i=this._layoutOptions,o=i.position,a=i.vertical,r={translateX:null!==(t=this._scroll.attr(\"translateX\"))&&void 0!==t?t:0,translateY:null!==(n=this._scroll.attr(\"translateY\"))&&void 0!==n?n:0},s=e[o];r[a?\"translateX\":\"translateY\"]+=(\"left\"===o||\"top\"===o?-1:1)*s,this._scroll.attr(r)},hideTitle:u.noop,hideOuterElements:u.noop,setPosition:function(e,t){var n=this._translator,i=(0,l.isDefined)(e)?n.translate(e,-this._translateWithOffset):n.translate(\"canvas_position_start\"),o=(0,l.isDefined)(t)?n.translate(t,this._translateWithOffset):n.translate(\"canvas_position_end\");this._offset=c(i,o),this._scale=n.getScale(e,t),this._applyPosition(c(i,o),h(i,o))},customPositionIsAvailable:function(){return!1},dispose:function(){this._scroll.dispose(),this._scroll=this._translator=null},_applyPosition:function(e,t){var n=this._translator.getCanvasVisibleArea();e=h(e,n.min),e=c(e,n.max),t=c(t,n.max),t=h(t,n.min);var i=Math.abs(t-e);this._scroll.attr({y:e,height:i<2?2:i})}}},70714:function(e,t,n){t.default=void 0;var i=n(23174),o=i.start+\".shutter-zoom\",a=i.move+\".shutter-zoom\",r=i.end+\".shutter-zoom\";function s(e,t,n,i){var o=Math.floor(n?i.pageY-e.top:i.pageX-e.left),a=n?t.y1:t.x1,r=n?t.y2:t.x2;return o<a?o=a:o>r&&(o=r),o}function l(e){var t,n=e.chart,i=e.renderer,l=e.rotated,u=i.rect(0,0,0,0).attr(e.shutterOptions),d={rect:u,root:i.root,rotated:l,triggerStart:function(){n._eventTrigger(\"zoomStart\")},triggerEnd:function(){var e=n._argumentAxes[0].getTranslator(),t=Math.min(this.startCoord,this.curCoord),i=Math.max(this.startCoord,this.curCoord);n._eventTrigger(\"zoomEnd\",{rangeStart:e.from(t),rangeEnd:e.from(i)})},dispose:function(){i.root.off(\".shutter-zoom\"),u.dispose()},getRootOffset:function(){return i.getRootOffset()},getCanvas:function(){var e=n._canvas,t=n.panes,i=t[0].canvas,o=t[t.length-1].canvas;return{x1:i.left,y1:i.top,x2:e.width-o.right,y2:e.height-o.bottom,width:e.width-i.left-o.right,height:e.height-i.top-o.bottom}}};return i.root.off(\".shutter-zoom\").on(o,{direction:l?\"vertical\":\"horizontal\",immediate:!0},(t=d,function(e){var n=t.getRootOffset(),i=t.getCanvas();!function(e,t,n){var i=n.pageX-e.left,o=n.pageY-e.top;return i>=t.x1&&i<=t.x2&&o>=t.y1&&o<=t.y2}(n,i,e)?e.cancel=!0:(t.rootOffset=n,t.canvas=i,t.startCoord=s(n,i,t.rotated,e),t.triggerStart(),t.rect.attr({x:i.x1,y:i.y1,width:i.width,height:i.height}).append(t.root))})).on(a,function(e){return function(t){var n=s(e.rootOffset,e.canvas,e.rotated,t),i={};e.curCoord=n,i[e.rotated?\"y\":\"x\"]=Math.min(e.startCoord,n),i[e.rotated?\"height\":\"width\"]=Math.abs(e.startCoord-n),e.rect.attr(i)}}(d)).on(r,function(e){return function(t){e.triggerEnd(),e.rect.remove()}}(d)),d}var u={name:\"shutter_zoom\",init:function(){var e=this.option(\"shutterZoom\")||{};e.enabled&&(this._shutterZoom=l({chart:this,renderer:this._renderer,rotated:this.option(\"rotated\"),shutterOptions:e}))},dispose:function(){this._shutterZoom&&this._shutterZoom.dispose()}};t.default=u,e.exports=t.default,e.exports.default=t.default},19957:function(e,t,n){t.PieTracker=t.ChartTracker=void 0;var i=g(n(73349)),o=g(n(55994)),a=n(95429),r=n(13306),s=n(95479),l=g(n(32410)),u=n(19157),d=g(n(93786)),c=n(39611),h=n(35922),f=n(20576),p=g(n(17381));function g(e){return e&&e.__esModule?e:{default:e}}var m=Math.floor,_=l.default.events,v=l.default.states,y=v.hoverMark,b=v.normalMark,x=\"dxChartTracker\",w=(0,c.addNamespace)([d.default.down,d.default.move],x),C=[\"includepoints\",\"excludepoints\",\"none\"];function S(e,t,n){var i=e.target;if(\"tspan\"===i.tagName)return i.parentNode[t];var o=i[t];if(n&&!(0,h.isDefined)(o)){return function e(n){if(n.parentNode)return(0,h.isDefined)(n.parentNode[t])?n.parentNode[t]:e(n.parentNode)}(i)}return o}function k(e,t,n){var i=e.event,o=e.cancel,a=i.cancel,r=o||a;return a&&p.default.log(\"W0003\",\"\".concat(n,\"Click handler argument\"),\"event.cancel\",\"22.1\",\"Use the 'cancel' field instead\"),r||!t.getOptions()}function D(e){var t=e.getOptions().hoverMode;return\"none\"===t?t:\"allargumentpoints\"}var I={ctor:function(e){var t=this,n={tracker:t};t._renderer=e.renderer,t._legend=e.legend,t._tooltip=e.tooltip,t._eventTrigger=e.eventTrigger,t._seriesGroup=e.seriesGroup,e.seriesGroup.off(\".dxChartTracker\").on((0,c.addNamespace)(_.showPointTooltip,x),n,t._showPointTooltip).on((0,c.addNamespace)(_.hidePointTooltip,x),n,t._hidePointTooltip),t._renderer.root.off(\".dxChartTracker\").on(w,n,t._pointerHandler).on((0,c.addNamespace)(d.default.up,x),(function(){return clearTimeout(t._holdTimer)})).on((0,c.addNamespace)(a.name,x),n,t._clickHandler)},update:function(e){this._chart=e.chart},updateSeries:function(e,t){var n=this,i=!(null!=e&&e.some((function(e){return e===n.hoveredSeries}))||n._hoveredPoint&&n._hoveredPoint.series);n._storedSeries!==e&&(n._storedSeries=e||[]),i&&(n._clean(),n._renderer.initDefsElements()),t&&(n.clearSelection(),i||(n._hideTooltip(n.pointAtShownTooltip),n.clearHover()))},setCanvases:function(e,t){this._mainCanvas=e,this._canvases=t},repairTooltip:function(){var e=this.pointAtShownTooltip;e&&e.series&&e.isVisible()?this._showTooltip(e):this._hideTooltip(e,!0)},_setHoveredPoint:function(e){e!==this._hoveredPoint&&(this._releaseHoveredPoint(),e.hover(),this._hoveredPoint=e)},_releaseHoveredPoint:function(e){this._hoveredPoint&&this._hoveredPoint.getOptions()&&(this._hoveredPoint.clearHover(),this._hoveredPoint=null,this._tooltip.isEnabled()&&this._hideTooltip(this._hoveredPoint,!1,e))},_setHoveredSeries:function(e,t){this._releaseHoveredSeries(),this._releaseHoveredPoint(),e.hover(t),this.hoveredSeries=e},_releaseHoveredSeries:function(){this.hoveredSeries&&(this.hoveredSeries.clearHover(),this.hoveredSeries=null)},clearSelection:function(){this._storedSeries.forEach((function(e){e&&(e.clearSelection(),e.getPoints().forEach((function(e){return e.clearSelection()})))}))},_clean:function(){this.hoveredPoint=this.hoveredSeries=this._hoveredArgumentPoints=null,this._hideTooltip(this.pointAtShownTooltip)},clearHover:function(e){this._resetHoveredArgument(),this._releaseHoveredSeries(),this._releaseHoveredPoint(e)},_hideTooltip:function(e,t,n){!this._tooltip||e&&this.pointAtShownTooltip!==e||(!t&&this.pointAtShownTooltip&&(this.pointAtShownTooltip=null),this._tooltip.hide(!!n))},_showTooltip:function(e){var t,n=this,i={target:e};if(null!=e&&e.getOptions()){if(t=e.getTooltipFormatObject(n._tooltip,n._tooltip.isShared()&&n._chart.getStackedPoints(e)),!(0,h.isDefined)(t.valueText)&&!t.points||!e.isVisible())return;var o=e.getTooltipParams(n._tooltip.getLocation()),a=n._renderer.getRootOffset();o.x+=a.left,o.y+=a.top;var r=function(t){t&&(n.pointAtShownTooltip=e)};r(n._tooltip.show(t,o,i,void 0,r))}},_showPointTooltip:function(e,t){var n=e.data.tracker,i=n.pointAtShownTooltip;i&&i!==t&&n._hideTooltip(i),n._showTooltip(t)},_hidePointTooltip:function(e,t){e.data.tracker._hideTooltip(t,!1,!0)},_enableOutHandler:function(){if(!this._outHandler){var e=this,t=function(t){var n=e._renderer.getRootOffset(),i=m(t.pageX-n.left),o=m(t.pageY-n.top);(0,u.pointInCanvas)(e._mainCanvas,i,o)||e._isCursorOnTooltip(t)||(e._pointerOut(),e._disableOutHandler())};o.default.on(i.default.getDocument(),w,t),this._outHandler=t}},_isCursorOnTooltip:function(e){return this._tooltip.isEnabled()&&this._tooltip.isCursorOnTooltip(e.pageX,e.pageY)},_disableOutHandler:function(){this._outHandler&&o.default.off(i.default.getDocument(),w,this._outHandler),this._outHandler=null},stopCurrentHandling:function(){this._pointerOut(!0)},_pointerOut:function(e){this.clearHover(!0),(e||this._tooltip.isEnabled())&&this._hideTooltip(this.pointAtShownTooltip,!1,!0)},_triggerLegendClick:function(e,t){var n=this._eventTrigger;n(\"legendClick\",e,(function(){!k(e,e.target,\"legend\")&&n(t,e)}))},_hoverLegendItem:function(e,t){var n,i,o=this._legend.getItemByCoord(e,t),a=(i=this._legend.getOptions().hoverMode,C.indexOf(i)>-1?i:\"includepoints\");o?((n=this._storedSeries[o.id]).isHovered()&&n.lastHoverMode===a||this._setHoveredSeries(n,a),this._tooltip.isEnabled()&&this._hideTooltip(this.pointAtShownTooltip)):this.clearHover()},_hoverArgument:function(e,t){var n=this._getArgumentHoverMode();(0,h.isDefined)(e)&&(this._releaseHoveredPoint(),this._hoveredArgument=e,this._argumentIndex=t,this._notifySeries({action:\"pointHover\",notifyLegend:this._notifyLegendOnHoverArgument,target:{argument:e,fullState:y,argumentIndex:t,getOptions:function(){return{hoverMode:n}}}}))},_resetHoveredArgument:function(){var e;(0,h.isDefined)(this._hoveredArgument)&&(e=this._getArgumentHoverMode(),this._notifySeries({action:\"clearPointHover\",notifyLegend:this._notifyLegendOnHoverArgument,target:{fullState:b,argumentIndex:this._argumentIndex,argument:this._hoveredArgument,getOptions:function(){return{hoverMode:e}}}}),this._hoveredArgument=null)},_notifySeries:function(e){this._storedSeries.forEach((function(t){t.notify(e)}))},_pointerHandler:function(e){var t,n=e.data.tracker,i=n._renderer.getRootOffset(),o=m(e.pageX-i.left),a=m(e.pageY-i.top),r=n._getCanvas(o,a),s=S(e,\"chart-data-series\"),l=S(e,\"chart-data-point\")||(null===(t=s)||void 0===t?void 0:t.getPointByCoord(o,a));if(n._isHolding=!1,clearTimeout(n._holdTimer),e.type===d.default.down&&(n._holdTimer=setTimeout((function(){return n._isHolding=!0}),300)),l&&!l.getMarkerVisibility()&&(l=void 0),n._enableOutHandler(),n._legend.coordsIn(o,a))n._hoverLegendItem(o,a);else if(n.hoveredSeries&&n.hoveredSeries!==n._stuckSeries&&n._releaseHoveredSeries(),!n._hoverArgumentAxis(o,a,e)&&(n._isPointerOut(r,l)&&n._pointerOut(),r||l)){if(s&&!l){if(l=s.getNeighborPoint(o,a),n._stickyHovering||!l||l.coordsIn(o,a)||(l=null),s!==n.hoveredSeries)return void n._setTimeout((function(){n._setHoveredSeries(s),n._setStuckSeries(e,s,o,a),n._pointerComplete(l,o,a)}),s)}else{if(l){if(e.type!==d.default.move&&\"touch\"!==e.pointerType)return;return void(n.hoveredSeries?n._setTimeout((function(){return n._pointerOnPoint(l,o,a,e)}),l):n._pointerOnPoint(l,o,a,e))}var u;n._setStuckSeries(e,void 0,o,a)&&n._stickyHovering?(s=n._stuckSeries,l=s.getNeighborPoint(o,a),n._releaseHoveredSeries(),(null===(u=l)||void 0===u?void 0:u.getMarkerVisibility())&&n._setHoveredPoint(l)):n._stickyHovering||n._pointerOut()}n._pointerComplete(l,o,a)}},_pointerOnPoint:function(e,t,n){this._resetHoveredArgument(),this._setHoveredPoint(e),this._pointerComplete(e,t,n)},_pointerComplete:function(e){this.pointAtShownTooltip!==e&&this._tooltip.isEnabled()&&this._showTooltip(e)},_clickHandler:function(e){var t,n=e.data.tracker;if(!n._isHolding){var i=n._renderer.getRootOffset(),o=m(e.pageX-i.left),a=m(e.pageY-i.top),r=S(e,\"chart-data-point\"),s=n._stuckSeries||S(e,\"chart-data-series\")||(null===(t=r)||void 0===t?void 0:t.series),l=n._argumentAxis;if(n._legend.coordsIn(o,a)){var u=n._legend.getItemByCoord(o,a);u&&n._legendClick(u,e)}else if(null!=l&&l.coordsIn(o,a)){var d=S(e,\"chart-data-argument\",!0);(0,h.isDefined)(d)&&n._eventTrigger(\"argumentAxisClick\",{argument:d,event:e})}else if(s){var c;null!==(c=r=r||s.getPointByCoord(o,a))&&void 0!==c&&c.getMarkerVisibility()?n._pointClick(r,e):S(e,\"chart-data-series\")&&n._eventTrigger(\"seriesClick\",{target:s,event:e})}}},dispose:function(){this._disableOutHandler(),this._renderer.root.off(\".dxChartTracker\"),this._seriesGroup.off(\".dxChartTracker\")}},T=function(e){this.ctor(e)};t.ChartTracker=T,(0,r.extend)(T.prototype,I,{_pointClick:function(e,t){var n=this._eventTrigger,i=e.series,o={target:e,event:t};n(\"pointClick\",o,(function(){!k(o,i,\"point\")&&n(\"seriesClick\",{target:i,event:t})}))},update:function(e){I.update.call(this,e),this._argumentAxis=e.argumentAxis||{},this._axisHoverEnabled=this._argumentAxis&&\"allargumentpoints\"===(0,u.normalizeEnum)(this._argumentAxis.getOptions().hoverMode),this._rotated=e.rotated,this._crosshair=e.crosshair,this._stickyHovering=e.stickyHovering},_getCanvas:function(e,t){for(var n=this._canvases||[],i=0;i<n.length;i++){var o=n[i];if((0,u.pointInCanvas)(o,e,t))return o}return null},_isPointerOut:function(e){return!e&&this._stuckSeries},_hideCrosshair:function(){var e;null===(e=this._crosshair)||void 0===e||e.hide()},_moveCrosshair:function(e,t,n){this._crosshair&&null!=e&&e.isVisible()&&this._crosshair.show({point:e,x:t,y:n})},_clean:function(){I._clean.call(this),this._resetTimer(),this._stuckSeries=null},_getSeriesForShared:function(e,t){var n,i=[],o=null,a=1/0;return this._tooltip.isShared()&&!this.hoveredSeries&&((0,s.each)(this._storedSeries,(function(n,o){var a=o.getNeighborPoint(e,t);a&&i.push(a)})),(0,s.each)(i,(function(n,i){var r=i.getCrosshairData(e,t),s=(0,u.getDistance)(e,t,r.x,r.y);s<a&&(o=i,a=s)}))),null===(n=o)||void 0===n?void 0:n.series},_setTimeout:function(e,t){var n=this;n._timeoutKeeper!==t&&(n._resetTimer(),n._hoverTimeout=setTimeout((function(){e(),n._timeoutKeeper=null}),100),n._timeoutKeeper=t)},_resetTimer:function(){clearTimeout(this._hoverTimeout),this._timeoutKeeper=this._hoverTimeout=null},_stopEvent:function(e){(0,h.isDefined)(e.cancelable)&&!e.cancelable||(e.preventDefault(),e.stopPropagation())},_setStuckSeries:function(e,t,n,i){return\"mouse\"!==e.pointerType?this._stuckSeries=null:this._stuckSeries=t||this._stuckSeries||this._getSeriesForShared(n,i),!!this._stuckSeries},_pointerOut:function(){var e=this;e._stuckSeries=null,e._hideCrosshair(),e._resetTimer(),I._pointerOut.apply(e,arguments)},_hoverArgumentAxis:function(e,t,n){if(this._resetHoveredArgument(),this._axisHoverEnabled&&this._argumentAxis.coordsIn(e,t))return this._hoverArgument(S(n,\"chart-data-argument\",!0)),!0},_pointerComplete:function(e,t,n){this.hoveredSeries&&this.hoveredSeries.updateHover(t,n),this._resetTimer(),this._moveCrosshair(e,t,n),I._pointerComplete.call(this,e)},_legendClick:function(e,t){var n=this._storedSeries[e.id];this._triggerLegendClick({target:n,event:t},\"seriesClick\")},_hoverLegendItem:function(e,t){this._stuckSeries=null,this._hideCrosshair(),I._hoverLegendItem.call(this,e,t)},_pointerOnPoint:function(e,t,n,i){this._setStuckSeries(i,e.series,t,n),this._releaseHoveredSeries(),I._pointerOnPoint.call(this,e,t,n,i)},_notifyLegendOnHoverArgument:!1,_getArgumentHoverMode:function(){return D(this._argumentAxis)},dispose:function(){this._resetTimer(),I.dispose.call(this)}});var E=function(e){this.ctor(e)};t.PieTracker=E,(0,r.extend)(E.prototype,I,{_isPointerOut:function(e,t){return!t},_legendClick:function(e,t){var n=[];this._storedSeries.forEach((function(t){return n.push.apply(n,t.getPointsByKeys(e.argument,e.argumentIndex))})),this._eventTrigger(\"legendClick\",{target:e.argument,points:n,event:t})},_pointClick:function(e,t){this._eventTrigger(\"pointClick\",{target:e,event:t})},_hoverLegendItem:function(e,t){var n=this._legend.getItemByCoord(e,t);n&&this._hoveredArgument!==n.argument?(this._resetHoveredArgument(),this._hoverArgument(n.argument,n.argumentIndex)):n||this.clearHover()},_getArgumentHoverMode:function(){return D(this._legend)},_hoverArgumentAxis:f.noop,_setStuckSeries:f.noop,_getCanvas:f.noop,_notifyLegendOnHoverArgument:!0})},59345:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(35922),a=n(13306),r=n(19157),s=n(765),l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(91093)),u=n(23174);function d(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var h=\".zoomAndPanNS\",f=u.start+h,p=u.move+h,g=u.end+h,m=l.pinchstart+h,_=l.pinch+h,v=l.pinchend+h,y=Math.min,b=Math.max,x=Math.abs;function w(e){return{x:e.left,y:e.top,width:e.width-e.left-e.right,height:e.height-e.top-e.bottom}}function C(e,t){var n=t.x,i=t.y;return n>=e.x&&n<=e.width+e.x&&i>=e.y&&i<=e.height+e.y}function S(e){return e.filter((function(e){return!e.getTranslator().getBusinessRange().isEmpty()}))}function k(e){return e.some((function(e){return!e.isExtremePosition(!1)||!e.isExtremePosition(!0)}))}function D(e,t,n,i,o,a,r){var s=t&&e!==t,l=n(e),u=e.checkZoomingLowerLimitOvercome(o,a,l),d=u.stopInteraction,c=u.correctedRange,h=e.handleZooming(d?null:c,i(s),r,o);return d&&e.handleZoomEnd(),{stopInteraction:d,result:h}}function I(e,t,n,i,o,a){t=function(e,t){return t&&(e=e.sort((function(e,n){return e===t?-1:n===t?1:0}))),e}(t,a);var r=!1,s=function(e){return{start:!!e,end:!!e}};return S(t).some((function(t){var l=t.getTranslator(),u=l.getMinScale(i),d=D(t,a,n(c({scale:u,translator:l,axis:t},o)),s,\"zoom\",u,e),h=d.stopInteraction,f=d.result;return r=!h,a&&f.isPrevented})),r}function T(e){e.originalEvent&&T(e.originalEvent),!1!==e.cancelable&&(e.cancel=!0)}var E={name:\"zoom_and_pan\",init:function(){var e=this,t=this._renderer;function n(t,n){var i=[],o=t.options,a=t.actionData;return o.argumentAxis[n]&&i.push(e.getArgumentAxis()),o.valueAxis[n]&&(i=i.concat(a.valueAxes)),i}function i(e,t,i){S(n(e,t)).some((function(e){return e.handleZooming(null,{end:!0},i,t).isPrevented}))&&T(i)}function l(t,n,i,s,l){function u(e,t,i,l,u){var d={zoomed:!1};return t&&S(e).forEach((function(e){var t=e.getOptions(),c=e.visualRange(),h=e.getTranslator().getEventScale(l),f=-s(l,u,i,h);d=(0,a.extend)(!0,d,e.getTranslator().zoom(f,h,e.getZoomBounds()));var p=e.adjustRange((0,r.getVizRangeObject)([d.min,d.max])),g=e.checkZoomingLowerLimitOvercome(n,h,p),m=g.stopInteraction,_=g.correctedRange;if((0,o.isDefined)(c)&&c.startValue.valueOf()===_.startValue.valueOf()&&c.endValue.valueOf()===_.endValue.valueOf()){if(\"touch\"===l.pointerType&&\"discrete\"===t.type){var v=e.isExtremePosition(!1),y=e.isExtremePosition(!0),b=h>1&&!m,x=h<1&&(!v||!y),w=1===h&&!(v&&(f<0&&!t.inverted||f>0&&t.inverted)||y&&(f>0&&!t.inverted||f<0&&t.inverted));d.enabled=b||x||w}}else e.handleZooming(m?null:_,{start:!0,end:!0},l,n),m||(d.zoomed=!0,d.deltaTranslate=f-d.translate)})),d}function d(e,t,n,i){n.zoomed&&(t.offset[i]=(e.offset?e.offset[i]:t.offset[i])+n.deltaTranslate)}function c(e,t,n,i){n.zoomed&&(t.center[i]=e[i]+n.deltaTranslate)}var h=e.option(\"rotated\"),f=t.actionData,p=t.options,g={},m={};f.fallback||(g=u(e._argumentAxes,p.argumentAxis[n],h?\"y\":\"x\",i,f),m=u(f.valueAxes,p.valueAxis[n],h?\"x\":\"y\",i,f),e._requestChange([\"VISUAL_RANGE\"]),d(i,f,g,h?\"y\":\"x\"),d(i,f,m,h?\"x\":\"y\"));var _=l(i);return c(_,f,g,h?\"y\":\"x\"),c(_,f,m,h?\"x\":\"y\"),g.zoomed||m.zoomed||(f.center=_),g.zoomed||m.zoomed||f.fallback||g.enabled||m.enabled}function u(t,i,o,a){function r(e,t,n,r){var s=!1,l=o.scale||1,u=function(e){var i=e.getTranslator().zoom(-a(o,n,t,l),l,e.getZoomBounds());return{startValue:i.min,endValue:i.max}},d=function(e){return{start:!0,end:e}};return S(e).forEach((function(e){s=!D(e,r,u,d,i,l,o).stopInteraction})),s}var s=e.option(\"rotated\"),l=t.actionData,u=t.options,d=!0;if(l.fallback)d&=u.argumentAxis[i]&&r(e._argumentAxes,s?\"y\":\"x\",l,e.getArgumentAxis()),d|=u.valueAxis[i]&&r(l.valueAxes,s?\"x\":\"y\",l);else{var c=n(t,i);S(c).forEach((function(e){e.handleZooming(null,{start:!0},o,i)})),d=c.length}d&&e._requestChange([\"VISUAL_RANGE\"])}function d(t,n){var i=e._argumentAxes.filter((function(e){return C(w(e.getCanvas()),t)}));return{fallback:e._lastRenderingTime>300,cancel:!i.length||!(0,o.isDefined)(n),action:n,curAxisRect:i.length&&w(i[0].getCanvas()),valueAxes:i.length&&e._valueAxes.filter((function(e){return C(w(e.getCanvas()),t)})),offset:{x:0,y:0},center:t,startCenter:t}}function c(e,n){var i=t.getRootOffset();return{x:y(b(n.pageX-i.left,e.x),e.width+e.x),y:y(b(n.pageY-i.top,e.y),e.height+e.y)}}function E(e){var n=t.getRootOffset(),i=e.pointers[0].pageX,o=e.pointers[1].pageX,a=e.pointers[0].pageY,r=e.pointers[1].pageY;return{x:y(i,o)+x(o-i)/2-n.left,y:y(a,r)+x(r-a)/2-n.top}}function O(e){var n=t.getRootOffset();return{x:e.pageX-n.left,y:e.pageY-n.top}}function A(e,t,n){return e.offset[n]-t.offset[n]}function P(t){!1!==t.cancelable&&(t.preventDefault(),t.stopPropagation()),e._stopCurrentHandling()}var M={dragStartHandler:function(e){var n,a=M.options,s=\"touch\"===e.pointerType,l=a.argumentAxis.pan||a.valueAxis.pan,u=a.argumentAxis.zoom||a.valueAxis.zoom,h=(0,o.isDefined)(a.panKey)&&e[(0,r.normalizeEnum)(a.panKey)+\"Key\"],f=a.dragToZoom;(e._cancelPreventDefault=!0,s)?a.allowTouchGestures&&l&&(n=!M.panningVisualRangeEnabled()||M.skipEvent?null:\"pan\"):f&&l&&h||!f&&l?n=\"pan\":f&&u&&(n=\"zoom\");var p=d(O(e),n);if(p.cancel)return M.skipEvent=!1,void(!1!==e.cancelable&&(e.cancel=!0));M.actionData=p,\"zoom\"===n?(p.startCoords=c(p.curAxisRect,e),p.rect=t.rect(0,0,0,0).attr(a.dragBoxStyle).append(t.root)):i(M,\"pan\",e)},dragHandler:function(t){var n=e.option(\"rotated\"),i=M.options,o=M.actionData,a=\"touch\"===t.pointerType;if(t._cancelPreventDefault=!0,o&&(!a||M.panningVisualRangeEnabled()))if(\"zoom\"===o.action){P(t);var r=o.curAxisRect,s=o.startCoords,u=c(r,t),d=i.argumentAxis.zoom,h=i.valueAxis.zoom,f={x:y(s.x,u.x),y:y(s.y,u.y),width:x(s.x-u.x),height:x(s.y-u.y)};d&&h||(!d&&!n||!h&&n?(f.x=r.x,f.width=r.width):(f.y=r.y,f.height=r.height)),o.rect.attr(f)}else if(\"pan\"===o.action){l(M,\"pan\",t,A,(function(e){return e.offset}));var p=Math.abs(t.offset.y-o.offset.y),g=Math.abs(t.offset.x-o.offset.x);if(a&&(p>5&&p>Math.abs(o.offset.x)||g>5&&g>Math.abs(o.offset.y)))return;P(t)}},dragEndHandler:function(t){var n=e.option(\"rotated\"),i=M.options,o=M.actionData,a=\"touch\"===t.pointerType,r=function(e){var t=e.translator,n=e.startCoord,i=e.curCoord;return function(){return[t.from(n),t.from(i)]}},s=function(e,t,n){return{curCoord:e[n],startCoord:t[n]}},l=function(e,t){return e.zoom&&x(t.curCoord-t.startCoord)>5},d=o&&\"pan\"===o.action&&!o.fallback&&0===o.offset.x&&0===o.offset.y;if(o&&(!a||M.panningVisualRangeEnabled())&&!d){if(!a&&P(t),\"zoom\"===o.action){var h=c(o.curAxisRect,t),f=s(h,o.startCoords,n?\"y\":\"x\"),p=s(h,o.startCoords,n?\"x\":\"y\"),g=l(i.argumentAxis,f)&&I(t,e._argumentAxes,r,!0,f,e.getArgumentAxis());(l(i.valueAxis,p)&&I(t,o.valueAxes,r,!0,p)||g)&&e._requestChange([\"VISUAL_RANGE\"]),o.rect.dispose()}else\"pan\"===o.action&&u(M,\"pan\",t,A);M.actionData=null}},pinchStartHandler:function(e){var t=d(E(e),\"zoom\");t.cancel?T(e):(M.actionData=t,i(M,\"zoom\",e))},pinchHandler:function(e){M.actionData&&(l(M,\"zoom\",e,(function(e,t,n,i){return E(e)[n]-t.center[n]+(t.center[n]-t.center[n]*i)}),E),P(e))},pinchEndHandler:function(e){M.actionData&&(u(M,\"zoom\",e,(function(e,t,n,i){return t.center[n]-t.startCenter[n]+(t.startCenter[n]-t.startCenter[n]*i)})),M.actionData=null)},mouseWheelHandler:function(t){var n,i=M.options,o=e.option(\"rotated\"),a=function(e){var t=e.translator,n=e.coord,i=e.scale,o=e.axis;return function(){var e=t.zoom(-(n-n*i),i,o.getZoomBounds());return{startValue:e.min,endValue:e.max}}},r=O(t),s=!1;if(i.valueAxis.zoom){if(0===(n=e._valueAxes.filter((function(e){return C(w(e.getCanvas()),r)}))).length){var l=e._valueAxes.reduce((function(e,t){return!e&&t.coordsIn(r.x,r.y)&&(e=t.getCanvas()),e}),null);l&&(n=e._valueAxes.filter((function(e){return C(w(e.getCanvas()),{x:l.left,y:l.top})})))}s|=I(t,n,a,t.delta>0,{coord:o?r.x:r.y})}i.argumentAxis.zoom&&(s|=e._argumentAxes.some((function(e){return!(!C(w(e.getCanvas()),r)&&!e.coordsIn(r.x,r.y))}))&&I(t,e._argumentAxes,a,t.delta>0,{coord:o?r.y:r.x},e.getArgumentAxis()));s&&(e._requestChange([\"VISUAL_RANGE\"]),(n&&k(n)||!n&&M.panningVisualRangeEnabled())&&P(t))},cleanup:function(){t.root.off(h),M.actionData&&M.actionData.rect&&M.actionData.rect.dispose(),M.actionData=null,t.root.css({\"touch-action\":\"\",\"-ms-touch-action\":\"\"})},setup:function(e){M.cleanup(),e.argumentAxis.pan||t.root.on(\"dxc-scroll-start.zoomAndPanNS\",T),e.argumentAxis.none&&e.valueAxis.none||(M.options=e,(e.argumentAxis.zoom||e.valueAxis.zoom)&&e.allowMouseWheel&&t.root.on(s.name+h,M.mouseWheelHandler),(e.argumentAxis.zoom||e.valueAxis.zoom)&&e.allowTouchGestures&&t.root.on(m,{passive:!1},M.pinchStartHandler).on(_,{passive:!1},M.pinchHandler).on(v,M.pinchEndHandler),t.root.on(f,{immediate:!0,passive:!1},M.dragStartHandler).on(p,{immediate:!0,passive:!1},M.dragHandler).on(g,M.dragEndHandler),t.root.on(\"dxc-scroll-start.zoomAndPanNS\",(function(e){M.actionData={valueAxes:[],offset:{x:0,y:0},center:{x:0,y:0}},P(e),i(M,\"pan\",e)})).on(\"dxc-scroll-move.zoomAndPanNS\",(function(e){P(e),l(M,\"pan\",e,A,(function(e){return e.offset}))})).on(\"dxc-scroll-end.zoomAndPanNS\",(function(e){P(e),u(M,\"pan\",e,A),M.actionData=null})))},panningVisualRangeEnabled:function(){return k(e._valueAxes)||k(e._argumentAxes)}};this._zoomAndPan=M},members:{_setupZoomAndPan:function(){this._zoomAndPan.setup(this._themeManager.getOptions(\"zoomAndPan\"))}},dispose:function(){this._zoomAndPan.cleanup()},customize:function(e){e.addChange({code:\"ZOOM_AND_PAN\",handler:function(){this._setupZoomAndPan()},isThemeDependent:!0,isOptionChange:!0,option:\"zoomAndPan\"})}};t.default=E,e.exports=t.default,e.exports.default=t.default},39847:function(e,t,n){var i;t.default=void 0;var o=((i=n(31500))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},99327:function(e,t,n){t.ThemeManager=void 0;var i,o,a,r,s=n(20576),l=n(35922),u=n(13306),d=n(43637),c=n(19157),h=d.BaseThemeManager.inherit((i=function(e){return e?((e=(0,u.extend)(!0,{},e)).title=(t=e.title,(0,l.isString)(t)?{text:t}:t),(\"logarithmic\"===e.type&&e.logarithmBase<=0||e.logarithmBase&&!(0,l.isNumeric)(e.logarithmBase))&&(e.logarithmBase=void 0,e.logarithmBaseError=!0),e.label&&e.label.alignment&&(e.label.userAlignment=!0),e):{};var t},o=function(e,t,n){var o=this._theme,a=n^\"valueAxis\"===e?\"verticalAxis\":\"horizontalAxis\",r=i(t),s=i(this._userOptions.commonAxisSettings),d=(0,u.extend)(!0,{},o.commonAxisSettings,o[a],o[e],s,r);return d.workWeek=r.workWeek||o[e].workWeek,d.forceUserTickInterval|=(0,l.isDefined)(r.tickInterval)&&!(0,l.isDefined)(r.axisDivisionFactor),d},r={base:a=function(e,t){t=t||this._userOptions[e];var n=this._theme[e],i=this._mergedSettings[e];return i||(i=(0,l.isPlainObject)(n)&&(0,l.isPlainObject)(t)?(0,u.extend)(!0,{},n,t):(0,l.isDefined)(t)?t:n,this._mergedSettings[e]=i,i)},argumentAxis:o,valueAxisRangeSelector:function(){return a.call(this,\"valueAxis\")},valueAxis:o,series:function(e,t,n){var i,o,a=this,s=a._theme,l=a._userOptions.commonSeriesSettings||{},d=s.commonSeriesSettings,h=a._themeSection.split(\".\").slice(-1)[0],f=(0,c.normalizeEnum)(t.type||l.type||d.type||\"pie\"===h&&s.type),p=a.palette,g=~f.indexOf(\"bar\"),m=~f.indexOf(\"line\"),_=~f.indexOf(\"area\"),v=\"bubble\"===f,y=a.getOptions(\"resolveLabelsOverlapping\"),b=a.getOptions(\"containerBackgroundColor\"),x=r.seriesTemplate.call(this);(g||v)&&(o=(t=(0,u.extend)(!0,{},l,l[f],t)).visible,l={type:{}},(0,u.extend)(!0,t,t.point),t.visible=o);var w=(0,u.extend)(!0,{aggregation:{}},d,d[f],l,l[f],t);return w.aggregation.enabled=\"chart\"===h&&!!w.aggregation.enabled,w.type=f,w.widgetType=h,w.containerBackgroundColor=b,i=\"pie\"!==h?(0,c.extractColor)(w.color,!0)||p.getNextColor(n):function(e,t,n){var i=\"\".concat(e,\"-\").concat(t);return a._multiPieColors[i]||(a._multiPieColors[i]=p.getNextColor(n)),a._multiPieColors[i]},w.mainSeriesColor=i,w.resolveLabelsOverlapping=y,w.label&&(m||_&&\"rangearea\"!==f||\"scatter\"===f)&&(w.label.position=\"outside\"),x&&(w.nameField=x.nameField),w},animation:function(e){var t=this._userOptions[e];return t=(0,l.isPlainObject)(t)?t:(0,l.isDefined)(t)?{enabled:!!t}:{},a.call(this,e,t)},seriesTemplate:function(){var e=a.call(this,\"seriesTemplate\");return e&&(e.nameField=e.nameField||\"series\"),e},zoomAndPan:function(){function e(e){var t=\"pan\"===(e=(0,c.normalizeEnum)(e))||\"both\"===e,n=\"zoom\"===e||\"both\"===e;return{pan:t,zoom:n,none:!t&&!n}}var t=a.call(this,\"zoomAndPan\");return{valueAxis:e(t.valueAxis),argumentAxis:e(t.argumentAxis),dragToZoom:!!t.dragToZoom,dragBoxStyle:{class:\"dxc-shutter\",fill:t.dragBoxStyle.color,opacity:t.dragBoxStyle.opacity},panKey:t.panKey,allowMouseWheel:!!t.allowMouseWheel,allowTouchGestures:!!t.allowTouchGestures}}},{_themeSection:\"chart\",ctor:function(e){var t=this;t.callBase.apply(t,arguments);var n=e.options||{};t._userOptions=n,t._mergeAxisTitleOptions=[],t._multiPieColors={},t._callback=s.noop},dispose:function(){var e=this;return e.palette&&e.palette.dispose(),e.palette=e._userOptions=e._mergedSettings=e._multiPieColors=null,e.callBase.apply(e,arguments)},resetPalette:function(){this.palette.reset(),this._multiPieColors={}},getOptions:function(e){return(r[e]||r.base).apply(this,arguments)},refresh:function(){return this._mergedSettings={},this.callBase.apply(this,arguments)},_initializeTheme:function(){var e=this;e.callBase.apply(e,arguments),e.updatePalette()},resetOptions:function(e){this._mergedSettings[e]=null},update:function(e){this._userOptions=e},updatePalette:function(){this.palette=this.createPalette(this.getOptions(\"palette\"),{useHighlight:!0,extensionMode:this.getOptions(\"paletteExtensionMode\")})}}));t.ThemeManager=h},32410:function(e,t){t.default=void 0;t.default={events:{mouseover:\"mouseover\",mouseout:\"mouseout\",mousemove:\"mousemove\",touchstart:\"touchstart\",touchmove:\"touchmove\",touchend:\"touchend\",mousedown:\"mousedown\",mouseup:\"mouseup\",click:\"click\",selectSeries:\"selectseries\",deselectSeries:\"deselectseries\",selectPoint:\"selectpoint\",deselectPoint:\"deselectpoint\",showPointTooltip:\"showpointtooltip\",hidePointTooltip:\"hidepointtooltip\"},states:{hover:\"hover\",normal:\"normal\",selection:\"selection\",normalMark:0,hoverMark:1,selectedMark:2,applyHover:\"applyHover\",applySelected:\"applySelected\",resetItem:\"resetItem\"},radialLabelIndent:30,pieLabelSpacing:10,pieSeriesSpacing:4},e.exports=t.default,e.exports.default=t.default},45865:function(e,t,n){t.validateData=function(e,t,n,o){e=function(e,t){var n,o,a,r,s=[],u=(0,i.isDefined)(e),d=u&&!l(e);if(u&&!d)for(n=0,o=e.length,a=0;n<o;++n)r=e[n],(0,i.isObject)(r)?s[a++]=r:r&&(d=!0);d&&t(\"E2001\");return s}(e,n),t.argumentType=t.argumentAxisType=null,r=t.groups,void r.forEach((function(e){e.valueType=e.valueAxisType=null,e.series.forEach((function(e){e.updateDataType({})})),e.valueAxis&&e.valueAxis.resetTypes(\"valueType\")})),a=t.argumentAxes,void(a&&a.forEach((function(e){e.resetTypes(\"argumentType\")}))),function(e,t,n){var i,o=[],a=[],r=t.argumentOptions&&s(t.argumentOptions.argumentType);t.groups.forEach((function(e){if(e.series.length){var n=e.valueOptions&&s(e.valueOptions.valueType);e.valueType=n,t.argumentType=r,!n&&o.push(e),!r&&a.push(e)}})),(o.length||a.length)&&(i=o.map((function(e,t){return t})),e.some((function(e){var r;if(o.forEach((function(t,n){(function(e,t){return e.series.forEach((function(n){n.getValueFields().forEach((function(n){e.valueType=h(t[n],e.valueType)}))})),e.valueType})(t,e)&&i.indexOf(n)>=0&&i.splice(n,1)})),r||a.forEach((function(n){r=function(e,t,n){return e.forEach((function(e){n.argumentType=h(t[e.getArgumentField()],n.argumentType)})),n.argumentType}(n.series,e,t)})),!n&&r&&0===i.length)return!0})))}(e,t,o.checkTypeForAllData),function(e,t){var n=e.argumentOptions||{},i=n&&n.categories||[],o=f(e.argumentType,n.type,!!i.length,t);e.groups.forEach((function(n){var i=n.valueOptions||{},a=i.categories||[],r=f(n.valueType,i.type,!!a.length,t);n.series.forEach((function(t){var a={};a.argumentAxisType=o,a.valueAxisType=r,e.argumentAxisType=e.argumentAxisType||a.argumentAxisType,n.valueAxisType=n.valueAxisType||a.valueAxisType,a.argumentType=e.argumentType,a.valueType=n.valueType,a.showZero=i.showZero,t.updateDataType(a)})),n.valueAxisType=n.valueAxisType||r,n.valueAxis&&(n.valueAxis.setTypes(n.valueAxisType,n.valueType,\"valueType\"),n.valueAxis.validate())})),e.argumentAxisType=e.argumentAxisType||o,e.argumentAxes&&e.argumentAxes.forEach((function(t){t.setTypes(e.argumentAxisType,e.argumentType,\"argumentType\"),t.validate()}))}(t,n),o.convertToAxisDataType&&(e=function(e,t){var n,i=[],o=e.length;for(i.length=o,n=0;n<o;++n)i[n]=g(e[n],t);return i}(e,function(e,t){var n,i,o=p(e.argumentType,e.argumentAxisType,t),a=[o],r={},s=[];for(var l in e.groups.forEach((function(e,s){e.series.forEach((function(l){i=p(e.valueType,e.valueAxisType,t),n=p(\"numeric\",\"continuous\",t),r[l.getArgumentField()]=o,l.getValueFields().forEach((function(e){a[s+1]=i,r[e]=i})),l.getSizeField()&&(r[l.getSizeField()]=n)}))})),r)s.push([l,r[l]]);return s.length&&function(e,t){var n=e.argumentOptions&&e.argumentOptions.categories;e.groups.forEach((function(e,n){var i=e.valueOptions&&e.valueOptions.categories;i&&(e.valueOptions.categories=d(i,t[n+1]))})),n&&(e.argumentOptions.categories=d(n,t[0]))}(e,a),s}(t,n)));var a;var r;return function(e,t){var n=t.groups[0]&&t.groups[0].series[0];if(!n||\"pie\"!==n.type&&\"doughnut\"!==n.type&&\"donut\"!==n.type)return;t.groups.forEach((function(t){t.series.forEach((function(t){!function(e,t,n,o){var a=(o=o||{}).mode,r={};if(!a||\"none\"===a)return;r[t]=String(o.groupName||\"others\"),r[n]=0;var s=u(e.slice(),!1,(function(e){return e[n]}));(function(e,t,n,o){o>=0&&e.slice(o).forEach((function(e){(0,i.isDefined)(e[n])&&(t[n]+=e[n],e[n]=void 0)}))})(s,r,n,\"smallValueThreshold\"===a?function(e,t,n){var o,a,r=e.length;for(o=0;o<r&&(a=e[o][t],!((0,i.isDefined)(a)&&n>a));++o);return o}(s,n,o.threshold):o.topCount),r[n]&&e.push(r)}(e,t.getArgumentField(),t.getValueFields()[0],t.getOptions().smallValuesGrouping)}))}))}(e,t),function(e,t,n,o){var a,r={},s=\"discrete\"===t.argumentAxisType,l=s&&t.argumentOptions&&t.argumentOptions.categories,d=function(e){return e},c=n.sortingMethod;!l&&(0,i.isFunction)(c)&&(e=function(e,t){return e.slice().sort(t)}(e,c));s&&(t.categories=function(e,t,n){var o=n?n.slice():[];return t.forEach((function(t){e.forEach((function(e){var n=e[t];(0,i.isDefined)(n)&&function(e,t){return-1===e.map((function(e){return e.valueOf()})).indexOf(t.valueOf())}(o,n)&&o.push(n)}))})),o}(e,o,l));l||!(0,i.isFunction)(c)&&\"string\"===t.argumentType&&!n._skipArgumentSorting?(h=t.categories,f={},h.forEach((function(e,t){f[e]=t})),d=function(e,t){return u(e.slice(),!0,(function(e){return f[e[t]]}))}):!0===c&&\"string\"!==t.argumentType&&(d=_,a=s);var h,f;o.forEach((function(t){r[t]=d(e,t)})),a&&(t.categories=t.categories.sort(m));return r}(e,t,o,function(e){var t=[],n={};return e.groups.forEach((function(e){e.series.forEach((function(e){var i,o,a;i=e.getArgumentField(),o=t,(a=n)[i]||(o.push(i),a[i]=!0)}))})),t}(t))};var i=n(35922),o=n(13306),a=n(19157),r=n(8587),s=(0,a.enumParser)([\"string\",\"numeric\",\"datetime\"]),l=Array.isArray;function u(e,t,n){var o=t?function(e,t){return e-t}:function(e,t){return t-e};return e.sort((function(e,t){var a=n(e),r=n(t),s=(0,i.isDefined)(a)?1:0,l=(0,i.isDefined)(r)?1:0;return s&&l?o(a,r):o(s,l)})),e}function d(e,t){var n=[];return e.forEach((function(e){var i=t(e);void 0!==i&&n.push(i)})),n}function c(e){return e}function h(e,t){var n=t;return\"string\"===t||(0,i.isString)(e)?n=\"string\":\"datetime\"===t||(0,i.isDate)(e)?n=\"datetime\":(0,i.isNumeric)(e)&&(n=\"numeric\"),n}function f(e,t,n,i){return\"string\"!==e||\"continuous\"!==t&&\"logarithmic\"!==t&&\"semidiscrete\"!==t||i(\"E2002\"),\"logarithmic\"===t?\"logarithmic\":n||\"discrete\"===t||\"string\"===e?\"discrete\":\"semidiscrete\"===t?\"semidiscrete\":\"continuous\"}function p(e,t,n){var o=e?(0,r.getParser)(e):c,a=\"discrete\"!==t?function(e){return isFinite(e)||void 0===e?e:null}:c;return function(e,t){var r=a(o(e));return void 0===r&&function(e,t,n){e&&n((0,i.isNumeric)(e)||(0,i.isDate)(e)||(0,i.isString)(e)?\"E2004\":\"E2003\",[t])}(e,t,n),r}}function g(e,t){var n,i,a,r=t.length,s=(0,o.extend)({},e);for(n=0;n<r;++n)a=e[i=t[n][0]],s[i]=t[n][1](a,i);return s}function m(e,t){var n=e-t;return isNaN(n)?(0,i.isDefined)(e)?(0,i.isDefined)(t)?0:-1:1:n}function _(e,t){return e.slice().sort((function(e,n){return m(e[t],n[t])}))}},16342:function(e,t,n){t.plugin=t.Legend=void 0;var i=n(19157),o=n(13306),a=n(73711),r=n(35922),s=n(17384),l=n(48013),u=n(20576),d=n(56453),c=n(62754),h=Number,f=Math,p=f.round,g=f.max,m=f.min,_=f.ceil,v=r.isDefined,y=r.isFunction,b=i.enumParser,x=i.normalizeEnum,w=o.extend,C=\"center\",S=\"right\",k=\"left\",D=\"top\",I=\"bottom\",T=b([k,C,S]),E=b([D,I]),O=b([\"vertical\",\"horizontal\"]),A=b([k,S,D,I]),P=b([\"outside\",\"inside\"]),M=b([k,C,S]);function R(e,t,n){if(e){var i=e.fill;return(0,o.extend)({},{state:n,fill:\"none\"===i?t:i,opacity:e.opacity,filter:e.filter,hatching:w({},e.hatching,{step:5,width:2})})}}function B(e,t,n){var i=(0,d.processHatchingAttrs)(e,t);return i.fill&&0===i.fill.indexOf(\"DevExpress\")&&(i.fill=(0,d.getFuncIri)(i.fill)),i.opacity=i.opacity>=0?i.opacity:1,(0,o.extend)({},i,{size:n})}function L(e,t,n,i){var o=t&&n[t[e]];o&&o.renderMarker(o.states[i])}function V(e,t,n){return e?(function(e){var t=e.margin;t=t>=0?{top:t=h(e.margin),bottom:t,left:t,right:t}:{top:t.top>=0?h(t.top):10,bottom:t.bottom>=0?h(t.bottom):10,left:t.left>=0?h(t.left):10,right:t.right>=0?h(t.right):10},e.margin=t}(e),e.horizontalAlignment=T(e.horizontalAlignment,S),e.verticalAlignment=E(e.verticalAlignment,e.horizontalAlignment===C?I:D),e.orientation=O(e.orientation,e.horizontalAlignment===C?\"horizontal\":\"vertical\"),e.itemTextPosition=A(e.itemTextPosition,\"horizontal\"===e.orientation?I:S),e.position=n?P(e.position,\"outside\"):\"outside\",e.itemsAlignment=M(e.itemsAlignment,null),e.hoverMode=x(e.hoverMode),e.customizeText=y(e.customizeText)?e.customizeText:function(){return this[t]},e.customizeHint=y(e.customizeHint)?e.customizeHint:u.noop,e._incidentOccurred=e._incidentOccurred||u.noop,e):null}function F(e,t){return e.rect(0,0,t,t)}function H(e,t){return e.circle(t/2,t/2,t/2)}function N(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function z(e,t,n,i){var o={x:0,y:0},a=0,r=0,s=0;if(s=\"y\"===t.direction?i.top+i.bottom:i.left+i.right,e.forEach((function(e,n){var i=e[0],s=e.length;e.forEach((function(e,n){var i=e.offset||t.spacing;o[t.direction]+=e[t.measure]+(n!==s-1?i:0),a=g(a,o[t.direction])})),o[t.direction]=0,o[t.altDirection]+=i[t.altMeasure]+i.altOffset||t.altSpacing,r=g(r,o[t.altDirection])})),a+s>t.length)return t.countItem=function(e,t){return e.altCountItem++,_(t/e.altCountItem)}(t,n),!0}function j(e,t){return e.reduce((function(e,n){var i=n.offset||t.spacing;return e+n[t.measure]+i}),0)}function W(e){switch(e.itemTextPosition){case I:return{horizontal:C,vertical:D};case D:return{horizontal:C,vertical:I};case k:return{horizontal:S,vertical:C};case S:return{horizontal:k,vertical:C}}}function G(e,t){var n=e.reduce((function(e,n){var i=n?n[t]:e;return g(e,i)}),0);e.forEach((function(e){e&&(e[t]=n)}))}function q(e){var t,n,i=e.length,o=e[0].length,a=[];for(t=0;t<o;t++)for(a[t]=[],n=0;n<i;n++)a[t][n]=e[n][t];return a}var $=function(e){return function(e){return\"circle\"===x(e)}(e)?H:F};function U(e){return e.horizontalAlignment===C?C:e.itemTextPosition===S?k:e.itemTextPosition===k?S:C}var K=function(e){this._renderer=e.renderer,this._legendGroup=e.group,this._backgroundClass=e.backgroundClass,this._itemGroupClass=e.itemGroupClass,this._textField=e.textField,this._getCustomizeObject=e.getFormatObject,this._titleGroupClass=e.titleGroupClass,this._allowInsidePosition=e.allowInsidePosition,this._widget=e.widget,this._updated=!1};t.Legend=K;var Z=K,Y=Z.prototype=(0,l.clone)(a.LayoutElement.prototype);(0,o.extend)(Y,{constructor:Z,getOptions:function(){return this._options},update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,o=(t=i._options=V(t,i._textField,i._allowInsidePosition)||{}).markerSize;if(this._updated=!0,this._data=e.map((function(e){return e.size=h(e.size>0?e.size:o),e.marker=B(e,e.states.normal),Object.defineProperty(e.marker,\"size\",{get:function(){return e.size},set:function(t){e.size=t}}),Object.defineProperty(e.marker,\"opacity\",{get:function(){return e.states.normal.opacity},set:function(t){e.states.normal.opacity=e.states.hover.opacity=e.states.selection.opacity=t}}),e})),t.customizeItems&&(i._data=t.customizeItems(e.slice())||e),i._boundingRect={width:0,height:0,x:0,y:0},i.isVisible()&&!i._title&&(i._title=new s.Title({renderer:i._renderer,cssClass:i._titleGroupClass,root:i._legendGroup})),i._title){var a=t.title;n.horizontalAlignment=U(t),i._title.update(n,a)}return this.erase(),i},isVisible:function(){return this._options&&this._options.visible},draw:function(e,t){var n=this._getItemData();if(this.erase(),!(this.isVisible()&&n&&n.length))return this;if(this._insideLegendGroup=this._renderer.g().enableLinks().append(this._legendGroup),this._title.changeLink(this._insideLegendGroup),this._createBackground(),this._title.hasText()){var i=this._background?2*this._options.paddingLeftRight:0;this._title.draw(e-i,t)}return this._markersGroup=this._renderer.g().attr({class:this._itemGroupClass}).append(this._insideLegendGroup),this._createItems(n),this._updateElementsPosition(e,t),this},_measureElements:function(){var e=this._options,t=0;this._items.forEach((function(n){var i=n.label.getBBox(),o=n.marker.getBBox();n.markerBBox=o,n.markerSize=Math.max(o.width,o.height);var a=function(e,t,n){var i,o;switch(e.itemTextPosition){case k:case S:i=t.width+7+n.width,o=g(t.height,n.height);break;case D:case I:i=g(t.width,n.width),o=t.height+4+n.height}return{width:i,height:o}}(e,o,i);n.labelBBox=i,n.bBox=a,t=g(t,a.height)})),e.equalRowHeight&&this._items.forEach((function(e){return e.bBox.height=t}))},_updateElementsPosition:function(e,t){var n=this._options;this._size={width:e,height:t},this._measureElements(),this._locateElements(n),this._finalUpdate(n);var i=this.getLayoutOptions();(i.width>e||i.height>t)&&this.freeSpace()},_createItems:function(e){var t=this,n=t._options,a=t._renderer,r=$(n.markerShape);t._markersId={};var s=n.markerTemplate?n.markerTemplate:function(e,t){var n=e.marker;r(a,n.size).attr({fill:n.fill,opacity:n.opacity,filter:n.filter}).append({element:t})},l=t._widget._getTemplate(s),u=t._markersGroup;u.css((0,i.patchFontOptions)(n.font)),t._deferredItems=[],t._templatesGroups=[],t._items=(e||[]).map((function(e,i){var r=e.states,s=r.normal,d=s.fill;e.size=e.marker.size;var h={normal:(0,o.extend)(s,{fill:d||n.markerColor||n.defaultColor,state:\"normal\"}),hover:R(r.hover,d,\"hovered\"),selection:R(r.selection,d,\"selected\")};e.states=h;var f=a.g().append(u),p=a.g().attr({class:\"dxl-marker\"}).append(f);t._deferredItems[i]=new c.Deferred,t._templatesGroups.push(p);var g={label:t._createLabel(e,f),marker:p,renderer:a,group:f,tracker:{id:e.id,argument:e.argument,argumentIndex:e.argumentIndex},states:h,itemTextPosition:n.itemTextPosition,markerOffset:0,bBoxes:[],renderMarker:function(n){e.marker=B(g,n,e.size),p.clear(),l.render({model:e,container:p.element,onRendered:t._deferredItems[i].resolve})}};return g.renderMarker(h.normal),t._createHint(e,f),void 0!==e.id&&(t._markersId[e.id]=i),g}))},getTemplatesGroups:function(){return this._templatesGroups||[]},getTemplatesDef:function(){return this._deferredItems||[]},_getItemData:function(){var e=this._data||[];return(this._options||{}).inverted&&(e=e.slice().reverse()),e.filter((function(e){return e.visible}))},_finalUpdate:function(e){this._adjustBackgroundSettings(e),this._setBoundingRect(e.margin)},erase:function(){var e=this._insideLegendGroup;return e&&e.dispose(),this._insideLegendGroup=this._markersGroup=this._x1=this._x2=this._y2=this._y2=null,this},_locateElements:function(e){this._moveInInitialValues(),this._locateRowsColumns(e)},_moveInInitialValues:function(){this._title.hasText()&&this._title.move([0,0]),this._legendGroup&&this._legendGroup.move(0,0),this._background&&this._background.attr({x:0,y:0,width:0,height:0})},applySelected:function(e){return L(e,this._markersId,this._items,\"selection\"),this},applyHover:function(e){return L(e,this._markersId,this._items,\"hover\"),this},resetItem:function(e){return L(e,this._markersId,this._items,\"normal\"),this},_createLabel:function(e,t){var n=this._getCustomizeObject(e),o=this._options,a=function(e){switch(e){case D:case I:return C;case k:return S;case S:return k}}(o.itemTextPosition),r=o.customizeText.call(n,n),s=v(e.textOpacity)?{color:o.font.color,opacity:e.textOpacity}:{};return this._renderer.text(r,0,0).css((0,i.patchFontOptions)(s)).attr({align:a,class:o.cssClass}).append(t)},_createHint:function(e,t){var n=this._getCustomizeObject(e),i=this._options.customizeHint.call(n,n);v(i)&&\"\"!==i&&t.setTitle(i)},_createBackground:function(){var e=\"inside\"===this._options.position,t=this._options.backgroundColor,n=t||(e?this._options.containerBackgroundColor:\"none\");(this._options.border.visible||(e||t)&&\"none\"!==t)&&(this._background=this._renderer.rect(0,0,0,0).attr({fill:n,class:this._backgroundClass}).append(this._insideLegendGroup))},_locateRowsColumns:function(e){var t,n=0,i=this._getItemsLayoutOptions(),o=this._items.length;do{t=[],this._createLines(t,i),this._alignLines(t,i),n++}while(z(t,i,o,e.margin)&&n<o);this._applyItemPosition(t,i)},_createLines:function(e,t){this._items.forEach((function(n,i){var o,a,r=function(e,t,n){var i={};return n%t.countItem==0&&(t.markerOffset?e.push([],[]):e.push([])),t.markerOffset?(i.firstLine=e[e.length-1],i.secondLine=e[e.length-2]):i.firstLine=i.secondLine=e[e.length-1],i}(e,t,i),s={width:n.labelBBox.width,height:n.labelBBox.height,element:n.label,bBox:n.labelBBox,pos:W(t),itemIndex:i},l={width:n.markerBBox.width,height:n.markerBBox.height,element:n.marker,pos:{horizontal:C,vertical:C},bBox:{width:n.markerBBox.width,height:n.markerBBox.height,x:n.markerBBox.x,y:n.markerBBox.y},itemIndex:i},u=t.markerOffset?\"altOffset\":\"offset\";t.inverseLabelPosition?(o=s,a=l):(o=l,a=s),o[u]=t.labelOffset,r.secondLine.push(o),r.firstLine.push(a)}))},_alignLines:function(e,t){var n,i=t.altMeasure;if(e.forEach((function(e){return G(e,i)})),i=t.measure,t.itemsAlignment){if(t.markerOffset)for(n=0;n<e.length;)q([e[n++],e[n++]]).forEach(o)}else q(e).forEach(o);function o(e){G(e,i)}},_applyItemPosition:function(e,t){var n=this,i={x:0,y:0},o=function(e,t){return e.reduce((function(e,n){return g(e,j(n,t))}),0)}(e,t);e.forEach((function(e){var r=e[0],s=r.altOffset||t.altSpacing;i[t.direction]=function(e,t,n){var i,o=j(e,t);switch(t.itemsAlignment){case S:i=n-o;break;case C:i=(n-o)/2;break;default:i=0}return i}(e,t,o),e.forEach((function(e){var o=e.offset||t.spacing,r=new a.WrapperLayoutElement(e.element,e.bBox),s={x:i.x,y:i.y,width:e.width,height:e.height},l=new a.WrapperLayoutElement(null,s),u=n._items[e.itemIndex];r.position({of:l,my:e.pos,at:e.pos}),u.bBoxes.push(l),i[t.direction]+=e[t.measure]+o})),i[t.altDirection]+=r[t.altMeasure]+s})),this._items.forEach((function(e){var t,i,o,a=(t=e.bBoxes[0].getLayoutOptions(),i=e.bBoxes[1].getLayoutOptions(),(o={}).left=m(t.x,i.x),o.top=m(t.y,i.y),o.right=g(t.x+t.width,i.x+i.width),o.bottom=g(t.y+t.height,i.y+i.height),o),r=n._options.columnItemSpacing/2,s=n._options.rowItemSpacing/2;e.tracker.left=a.left-r,e.tracker.right=a.right+r,e.tracker.top=a.top-s,e.tracker.bottom=a.bottom+s}))},_getItemsLayoutOptions:function(){var e=this._options,t=e.orientation,n={itemsAlignment:e.itemsAlignment,orientation:e.orientation},i=this._size.width-(this._background?2*e.paddingLeftRight:0),o=this._size.height-(this._background?2*e.paddingTopBottom:0);return\"horizontal\"===t?(n.length=i,n.spacing=e.columnItemSpacing,n.direction=\"x\",n.measure=\"width\",n.altMeasure=\"height\",n.altDirection=\"y\",n.altSpacing=e.rowItemSpacing,n.countItem=e.columnCount,n.altCountItem=e.rowCount,n.marginTextLabel=4,n.labelOffset=7,e.itemTextPosition!==I&&e.itemTextPosition!==D||(n.labelOffset=4,n.markerOffset=!0)):(n.length=o,n.spacing=e.rowItemSpacing,n.direction=\"y\",n.measure=\"height\",n.altMeasure=\"width\",n.altDirection=\"x\",n.altSpacing=e.columnItemSpacing,n.countItem=e.rowCount,n.altCountItem=e.columnCount,n.marginTextLabel=7,n.labelOffset=4,e.itemTextPosition!==S&&e.itemTextPosition!==k||(n.labelOffset=7,n.markerOffset=!0)),n.countItem||(n.altCountItem?n.countItem=_(this._items.length/n.altCountItem):n.countItem=this._items.length),e.itemTextPosition!==D&&e.itemTextPosition!==k||(n.inverseLabelPosition=!0),n.itemTextPosition=e.itemTextPosition,n.altCountItem=n.altCountItem||_(this._items.length/n.countItem),n},_adjustBackgroundSettings:function(e){if(this._background){var t=e.border,n=this._calculateTotalBox(),i={x:p(n.x-e.paddingLeftRight),y:p(n.y-e.paddingTopBottom),width:p(n.width)+2*e.paddingLeftRight,height:p(n.height),opacity:e.backgroundOpacity};t.visible&&t.width&&t.color&&\"none\"!==t.color&&(i[\"stroke-width\"]=t.width,i.stroke=t.color,i[\"stroke-opacity\"]=t.opacity,i.dashStyle=t.dashStyle,i.rx=t.cornerRadius||0,i.ry=t.cornerRadius||0),this._background.attr(i)}},_setBoundingRect:function(e){if(this._insideLegendGroup){var t=this._calculateTotalBox();t.height+=e.top+e.bottom,t.widthWithoutMargins=t.width,t.width+=e.left+e.right,t.x-=e.left,t.y-=e.top,this._boundingRect=t}},_calculateTotalBox:function(){var e=this._markersGroup.getBBox(),t=this._title.getCorrectedLayoutOptions(),n=this._insideLegendGroup.getBBox(),i=this._background?2*this._options.paddingTopBottom:0;return n.height=e.height+t.height+i,t.width>n.width&&(n.width=t.width),n},getActionCallback:function(e){var t=this;return t._options.visible?function(n){t[n](e.index)}:u.noop},getLayoutOptions:function(){var e=this._options,t=this._insideLegendGroup?this._boundingRect:{width:0,height:0,x:0,y:0};return e?(t.verticalAlignment=e.verticalAlignment,t.horizontalAlignment=e.horizontalAlignment,\"horizontal\"===e.orientation||e.horizontalAlignment===C?(t.cutLayoutSide=e.verticalAlignment,t.cutSide=\"vertical\"):(t.cutLayoutSide=e.horizontalAlignment,t.cutSide=\"horizontal\"),t.position={horizontal:e.horizontalAlignment,vertical:e.verticalAlignment},t):null},shift:function(e,t){var n={};return this._insideLegendGroup&&this._insideLegendGroup.attr({translateX:e-this._boundingRect.x,translateY:t-this._boundingRect.y}),this._title&&this._shiftTitle(this._boundingRect.widthWithoutMargins),this._markersGroup&&this._shiftMarkers(),this._insideLegendGroup&&(n=this._legendGroup.getBBox()),this._x1=n.x,this._y1=n.y,this._x2=n.x+n.width,this._y2=n.y+n.height,this},_shiftTitle:function(e){var t=this._title,n=t.getCorrectedLayoutOptions();if(n&&t.hasText()){var i=e-(this._background?2*this._options.paddingLeftRight:0),o=t.getOptions(),a=n.y+o.margin.top,r=0;o.verticalAlignment===I&&this._markersGroup&&(a+=this._markersGroup.getBBox().height),o.horizontalAlignment===S?r=i-n.width:o.horizontalAlignment===C&&(r=(i-n.width)/2),t.shift(r,a)}},_shiftMarkers:function(){var e=this._title.getLayoutOptions(),t=this._markersGroup.getBBox(),n=this._title.getOptions()||{},i=0,o=0;e.width>t.width&&this._options.horizontalAlignment===C&&(i=e.width/2-t.width/2),n.verticalAlignment===D&&(o=e.height),0===i&&0===o||(this._markersGroup.attr({translateX:i,translateY:o}),this._items.forEach((function(e){e.tracker.left+=i,e.tracker.right+=i,e.tracker.top+=o,e.tracker.bottom+=o})))},getPosition:function(){return this._options.position},coordsIn:function(e,t){return e>=this._x1&&e<=this._x2&&t>=this._y1&&t<=this._y2},getItemByCoord:function(e,t){var n=this._items,i=this._insideLegendGroup;e-=i.attr(\"translateX\"),t-=i.attr(\"translateY\");for(var o=0;o<n.length;o++)if(N(n[o].tracker,e,t))return n[o].tracker;return null},dispose:function(){return this._title&&this._title.dispose(),this._legendGroup=this._insideLegendGroup=this._title=this._renderer=this._options=this._data=this._items=null,this},layoutOptions:function(){if(!this.isVisible())return null;var e=this.getLayoutOptions();return{horizontalAlignment:this._options.horizontalAlignment,verticalAlignment:this._options.verticalAlignment,side:e.cutSide,priority:1,position:this.getPosition()}},measure:function(e){this._updated||!this._insideLegendGroup?(this.draw(e[0],e[1]),this._updated=!1):(this._items.forEach((function(e){e.bBoxes=[]})),this._updateElementsPosition(e[0],e[1]));var t=this.getLayoutOptions();return[t.width,t.height]},move:function(e){this.shift(e[0],e[1])},freeSpace:function(){this._options._incidentOccurred(\"W2104\"),this.erase()}});var X={name:\"legend\",init:function(){var e=this._renderer.g().attr({class:this._rootClassPrefix+\"-legend\"}).enableLinks().append(this._renderer.root);this._legend=new K({renderer:this._renderer,group:e,widget:this,itemGroupClass:this._rootClassPrefix+\"-item\",titleGroupClass:this._rootClassPrefix+\"-title\",textField:\"text\",getFormatObject:function(e){return{item:e.item,text:e.text}}}),this._layout.add(this._legend)},extenders:{_applyTilesAppearance:function(){var e=this;this._items.forEach((function(t){e._applyLegendItemStyle(t.id,t.getState())}))},_buildNodes:function(){this._createLegendItems()}},members:{_applyLegendItemStyle:function(e,t){var n=this._legend;switch(t){case\"hover\":n.applyHover(e);break;case\"selection\":n.applySelected(e);break;default:n.resetItem(e)}},_createLegendItems:function(){this._legend.update(this._getLegendData(),this._getOption(\"legend\"),this._themeManager.theme(\"legend\").title)&&this._requestChange([\"LAYOUT\"])}},dispose:function(){this._legend.dispose()},customize:function(e){e.prototype._proxyData.push((function(e,t){if(this._legend.coordsIn(e,t)){var n=this._legend.getItemByCoord(e,t);if(n)return{id:n.id,type:\"legend\"}}})),e.addChange({code:\"LEGEND\",handler:function(){this._createLegendItems()},isThemeDependent:!0,option:\"legend\",isOptionChange:!0})}};t.plugin=X},8587:function(e,t,n){t.correctValueType=l,t.getParser=void 0;var i,o=n(20576),a=(i=n(69434))&&i.__esModule?i:{default:i},r=n(35922);var s={string:function(e){return(0,r.isDefined)(e)?\"\"+e:e},numeric:function(e){if(!(0,r.isDefined)(e))return e;var t=Number(e);return isNaN(t)&&(t=void 0),t},datetime:function(e){if(!(0,r.isDefined)(e))return e;var t,n=Number(e);return t=isNaN(n)?a.default.deserializeDate(e):new Date(n),isNaN(Number(t))&&(t=void 0),t}};function l(e){return\"numeric\"===e||\"datetime\"===e||\"string\"===e?e:\"\"}t.getParser=function(e){return s[l(e)]||o.noop}},88997:function(e,t,n){t.Tracker=c;var i=n(39611),o=l(n(73349)),a=n(95429),r=l(n(93786)),s=l(n(55994));function l(e){return e&&e.__esModule?e:{default:e}}var u=r.default.down,d=r.default.move;function c(e){this._initHandlers(e)}c.prototype={constructor:c,_initHandlers:function(e){var t=o.default.getDocument();function n(t){!function(e,t){var n=t.getData(e);n>=0&&t.click({node:t.getNode(n),coords:t.getCoords(e),event:e})}(t,e)}e.getCoords=function(t){var n=(0,i.eventData)(t),o=e.widget._renderer.getRootOffset();return[n.x-o.left,n.y-o.top]},e.root.on(a.name,n),e.root.on(u,l),s.default.on(t,u,l),s.default.on(t,d,c),this._disposeHandlers=function(){e.root.off(a.name,n),e.root.off(u,l),s.default.off(t,u,l),s.default.off(t,d,c)};var r=!1;function l(t){r?r=!1:(void 0!==e.getData(t)&&(r=!0),c(t))}function c(t){!function(e,t){var n=t.getData(e);n>=0?t.getNode(n).setHover():t.widget.clearHover()}(t,e),e.widget._getOption(\"tooltip\").enabled&&function(e,t){var n,o=t.getData(e,!0);o>=0?(n=(0,i.eventData)(e),t.getNode(o).showTooltip([n.x,n.y])):t.widget.hideTooltip()}(t,e)}},dispose:function(){this._disposeHandlers()}}},77129:function(e,t,n){t.plugins=t.createAnnotations=void 0;var i=f(n(73349)),o=n(35922),a=n(14371),r=n(13306),s=n(19157),l=n(64509),u=f(n(93786)),d=n(23174),c=n(39611),h=f(n(55994));function f(e){return e&&e.__esModule?e:{default:e}}var p=i.default.getDocument,g=(0,c.addNamespace)([u.default.down,u.default.move],\"annotations\"),m=(0,c.addNamespace)(u.default.up,\"annotations\"),_=d.start+\".annotations\",v=d.move+\".annotations\",y=d.end+\".annotations\";function b(e,t){return{draw:function(n,i){var o=this,a=n._renderer.g().append(i).css((0,s.patchFontOptions)(e.font));this.plaque&&this.plaque.clear(),this.plaque=new l.Plaque((0,r.extend)(!0,{},e,{cornerRadius:(e.border||{}).cornerRadius}),n,a,t,n._isAnnotationBounded(e)),this.plaque.draw(n._getAnnotationCoords(this)),e.allowDragging&&a.on(_,{immediate:!0},(function(e){o._dragOffsetX=o.plaque.x-e.pageX,o._dragOffsetY=o.plaque.y-e.pageY})).on(v,(function(e){o.plaque.move(e.pageX+o._dragOffsetX,e.pageY+o._dragOffsetY)})).on(y,(function(e){o.offsetX=(o.offsetX||0)+e.offset.x,o.offsetY=(o.offsetY||0)+e.offset.y}))},hitTest:function(e,t){return this.plaque.hitTest(e,t)},showTooltip:function(e,t){var n=t.x,i=t.y,o=this,a=o.options;if(e.annotation!==o){e.setTemplate(a.tooltipTemplate);var r=function(t){t&&(e.annotation=o)};r(e.show(a,{x:n,y:i},{target:a},a.customizeTooltip,r))}else e.isCursorOnTooltip(n,i)||e.move(n,i)}}}function x(e,t){var n;return\"text\"===e.type?n=function(e,n){var i=t._renderer.text(e.text).attr({class:e.cssClass}).append({element:n});(e.width>0||e.height>0)&&i.setMaxSize(e.width,e.height,{wordWrap:e.wordWrap,textOverflow:e.textOverflow})}:\"image\"===e.type?n=function(e,n){var i=e.image||{},o=i.width,a=i.height,r=i.url,s=i.location,l=e.width,u=e.height,d=l>0?Math.min(o,l):o,c=u>0?Math.min(a,u):a;t._renderer.image(0,0,d,c,r,s||\"center\").append({element:n})}:\"custom\"===e.type&&(n=e.template),n}function w(e){return\"string\"==typeof e?{url:e}:e}var C=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,s=w(n.image);return t.reduce((function(t,l){var u=w(l.image),d=(0,o.isFunction)(i)?i(l):{};d&&(d.image=w(d.image));var c=(0,r.extend)(!0,{},n,l,{image:s},{image:u},d),h=x(c,e),f=h&&(0,r.extend)(!0,a(c),b(c,e._getTemplate(h)));return f&&t.push(f),t}),[])};t.createAnnotations=C;var S={name:\"annotations_chart\",init:function(){},dispose:function(){},members:{_getAnnotationCoords:function(e){var t,n,i,a,r={offsetX:e.offsetX,offsetY:e.offsetY},s=this._options.silent(\"rotated\")?\"y\":\"x\",l=this._options.silent(\"rotated\")?\"x\":\"y\",u=this.getArgumentAxis(),d=u.validateUnit(e.argument),c=this.getValueAxis(e.axis),h=null===(t=c)||void 0===t?void 0:t.pane;e.series&&(i=this.series.filter((function(t){return t.name===e.series}))[0],c=null===(a=i)||void 0===a?void 0:a.getValueAxis(),(0,o.isDefined)(c)&&(h=c.pane));if((0,o.isDefined)(d)){if(i){var f=i.getPointCenterByArg(d);f&&(r[s]=f[s])}else r[s]=u.getTranslator().translate(d);!(0,o.isDefined)(h)&&(h=u.pane)}var p,g,m=null===(n=c)||void 0===n?void 0:n.validateUnit(e.value);(0,o.isDefined)(m)&&(r[l]=null===(p=c)||void 0===p?void 0:p.getTranslator().translate(m),!(0,o.isDefined)(h)&&(0,o.isDefined)(c)&&(h=c.pane));(r.canvas=this._getCanvasForPane(h),(0,o.isDefined)(r[s])&&!(0,o.isDefined)(m))&&((0,o.isDefined)(c)||(0,o.isDefined)(i)?(0,o.isDefined)(c)&&!(0,o.isDefined)(i)?r[l]=this._argumentAxes.filter((function(e){return e.pane===c.pane}))[0].getAxisPosition():null!==(g=i)&&void 0!==g&&g.checkSeriesViewportCoord(u,r[s])&&(r[l]=i.getSeriesPairCoord(r[s],!0)):r[l]=u.getAxisPosition());return!(0,o.isDefined)(d)&&(0,o.isDefined)(r[l])&&((0,o.isDefined)(c)&&!(0,o.isDefined)(i)?r[s]=c.getAxisPosition():(0,o.isDefined)(i)&&i.checkSeriesViewportCoord(c,r[l])&&(r[s]=i.getSeriesPairCoord(r[l],!1))),r},_annotationsPointerEventHandler:function(e){if(!this._disposed){var t=e.originalEvent||{},n=t.touches&&t.touches[0]||{},i=this._renderer.getRootOffset(),o={x:n.pageX||t.pageX||e.pageX,y:n.pageY||t.pageY||e.pageY},a=this._annotations.items.filter((function(e){return e.hitTest(o.x-i.left,o.y-i.top)}))[0];a&&a.options.tooltipEnabled?(this._clear(),a.options.allowDragging&&e.type===u.default.down&&(this._annotations._hideToolTipForDrag=!0),this._annotations._hideToolTipForDrag||(a.showTooltip(this._annotations.tooltip,o),e.stopPropagation())):this._annotations.hideTooltip()}},_isAnnotationBounded:function(e){return(0,o.isDefined)(e.value)||(0,o.isDefined)(e.argument)},_pullOptions:function(e){return{type:e.type,name:e.name,x:e.x,y:e.y,value:e.value,argument:e.argument,axis:e.axis,series:e.series,options:e,offsetX:e.offsetX,offsetY:e.offsetY}},_forceAnnotationRender:function(){this._change([\"FORCE_RENDER\"])},_clear:function(){this.hideTooltip(),this.clearHover()}}},k={name:\"annotations_polar_chart\",init:function(){},dispose:function(){},members:{_getAnnotationCoords:function(e){var t,n,i={offsetX:e.offsetX,offsetY:e.offsetY,canvas:this._calcCanvas()},a=this.getArgumentAxis(),s=a.validateUnit(e.argument),l=this.getValueAxis().validateUnit(e.value),u=e.radius,d=e.angle;return e.series&&(n=this.series.filter((function(t){return t.name===e.series}))[0]),(0,r.extend)(!0,i,this.getXYFromPolar(d,u,s,l)),(0,o.isDefined)(n)&&(!(0,o.isDefined)(i.angle)||(0,o.isDefined)(l)||(0,o.isDefined)(u)?!(0,o.isDefined)(i.radius)||(0,o.isDefined)(s)||(0,o.isDefined)(d)||(t=n.getSeriesPairCoord({radius:i.radius},!1)):((0,o.isDefined)(s)||(s=a.getTranslator().from(isFinite(d)?this.getActualAngle(d):i.angle)),t=n.getSeriesPairCoord({argument:s,angle:-i.angle},!0)),(0,o.isDefined)(t)&&(i.x=t.x,i.y=t.y)),e.series&&!(0,o.isDefined)(t)&&(i.x=i.y=void 0),i},_annotationsPointerEventHandler:S.members._annotationsPointerEventHandler,_isAnnotationBounded:S.members._isAnnotationBounded,_pullOptions:function(e){var t=(0,r.extend)({},{radius:e.radius,angle:e.angle},S.members._pullOptions(e));return delete t.axis,t},_forceAnnotationRender:S.members._forceAnnotationRender,_clear:S.members._clear}},D={name:\"annotations_vector_map\",init:function(){},dispose:function(){this._annotations._offTracker(),this._annotations._offTracker=null},members:{_getAnnotationCoords:function(e){var t={offsetX:e.offsetX,offsetY:e.offsetY};if(t.canvas=this._projection.getCanvas(),e.coordinates){var n=this._projection.toScreenPoint(e.coordinates);t.x=n[0],t.y=n[1]}return t},_annotationsPointerEventHandler:S.members._annotationsPointerEventHandler,_isAnnotationBounded:function(e){return(0,o.isDefined)(e.coordinates)},_pullOptions:function(e){var t=(0,r.extend)({},{coordinates:e.coordinates},S.members._pullOptions(e));return delete t.axis,delete t.series,delete t.argument,delete t.value,t},_forceAnnotationRender:function(){this._change([\"EXTRA_ELEMENTS\"])},_getAnnotationStyles:function(){return{\"text-anchor\":\"start\"}},_clear:function(){}},extenders:{_prepareExtraElements:function(){var e=this,t=function(){e._renderExtraElements()};e._annotations._offTracker=e._tracker.on({move:t,zoom:t,end:t})}}},I={name:\"annotations_pie_chart\",init:function(){},dispose:function(){},members:{_getAnnotationCoords:function(e){var t={offsetX:e.offsetX,offsetY:e.offsetY,canvas:this._canvas};if(e.argument){var n=(e.series?this.getSeriesByName(e.series):this.series[0]).getPointsByArg(e.argument)[0].getAnnotationCoords(e.location),i=n.x,o=n.y;t.x=i,t.y=o}return t},_isAnnotationBounded:function(e){return e.argument},_annotationsPointerEventHandler:S.members._annotationsPointerEventHandler,_pullOptions:function(e){var t=(0,r.extend)({},{location:e.location},S.members._pullOptions(e));return delete t.axis,t},_clear:S.members._clear,_forceAnnotationRender:S.members._forceAnnotationRender}},T={core:{name:\"annotations_core\",init:function(){this._annotations={items:[],_hideToolTipForDrag:!1,tooltip:new a.Tooltip({cssClass:\"\".concat(this._rootClassPrefix,\"-annotation-tooltip\"),eventTrigger:this._eventTrigger,widgetRoot:this.element(),widget:this}),hideTooltip:function(){this.tooltip.annotation=null,this.tooltip.hide()},clearItems:function(){this.items.forEach((function(e){return e.plaque.clear()})),this.items=[]}},this._annotations.tooltip.setRendererOptions(this._getRendererOptions())},dispose:function(){this._annotationsGroup.linkRemove().linkOff(),h.default.off(p(),\".annotations\"),this._annotationsGroup.off(\".annotations\"),this._annotations.tooltip&&this._annotations.tooltip.dispose()},extenders:{_createHtmlStructure:function(){var e=this;this._annotationsGroup=this._renderer.g().attr({class:\"\".concat(this._rootClassPrefix,\"-annotations\")}).css(this._getAnnotationStyles()).linkOn(this._renderer.root,\"annotations\").linkAppend(),h.default.on(p(),g,(function(t){e._disposed||e._annotations.tooltip.isCursorOnTooltip(t.pageX,t.pageY)||e._annotations.hideTooltip()})),h.default.on(p(),m,(function(t){e._annotations._hideToolTipForDrag=!1,e._annotationsPointerEventHandler(t)})),this._annotationsGroup.on(g,this._annotationsPointerEventHandler.bind(this))},_renderExtraElements:function(){var e=this;this._annotationsGroup.clear(),this._annotations.items.forEach((function(t){return t.draw(e,e._annotationsGroup)}))},_stopCurrentHandling:function(){this._annotations.hideTooltip()}},members:{_buildAnnotations:function(){this._annotations.clearItems();var e=this._getOption(\"annotations\",!0);null!=e&&e.length&&(this._annotations.items=C(this,e,this._getOption(\"commonAnnotationSettings\"),this._getOption(\"customizeAnnotation\",!0),this._pullOptions))},_setAnnotationTooltipOptions:function(){var e=(0,r.extend)({},this._getOption(\"tooltip\"));e.contentTemplate=e.customizeTooltip=void 0,this._annotations.tooltip.update(e)},_getAnnotationCoords:function(){return{}},_pullOptions:function(){return{}},_getAnnotationStyles:function(){return{}}},customize:function(e){e.addChange({code:\"ANNOTATIONITEMS\",handler:function(){this._requestChange([\"ANNOTATIONS\"])},isOptionChange:!0,option:\"annotations\"}),e.addChange({code:\"ANNOTATIONSSETTINGS\",handler:function(){this._requestChange([\"ANNOTATIONS\"])},isOptionChange:!0,option:\"commonAnnotationSettings\"}),e.addChange({code:\"ANNOTATIONS\",handler:function(){this._buildAnnotations(),this._setAnnotationTooltipOptions(),this._forceAnnotationRender()},isThemeDependent:!0,isOptionChange:!0})},fontFields:[\"commonAnnotationSettings.font\"]},chart:S,polarChart:k,vectorMap:D,pieChart:I};t.plugins=T},43637:function(e,t,n){t.BaseThemeManager=void 0;var i,o=(i=n(38377))&&i.__esModule?i:{default:i},a=n(13306),r=n(35922),s=n(95479),l=n(23696),u=n(19157),d=n(86231);var c=d.getTheme,h=d.addCacheItem,f=d.removeCacheItem,p=a.extend,g=s.each;function m(e,t){var n=e;return t&&g(t.split(\".\"),(function(e,t){return n=n[t]})),n}var _=o.default.inherit({ctor:function(e){this._themeSection=e.themeSection,this._fontFields=e.fontFields||[],h(this)},dispose:function(){return f(this),this._callback=this._theme=this._font=null,this},setCallback:function(e){return this._callback=e,this},setTheme:function(e,t){return this._current=e,this._rtl=t,this.refresh()},refresh:function(){var e=this._current||{},t=c(e.name||e);return this._themeName=t.name,this._defaultPalette=t.defaultPalette,this._font=p({},t.font,e.font),this._themeSection&&g(this._themeSection.split(\".\"),(function(e,n){t=p(!0,{},t[n])})),this._theme=p(!0,{},t,(0,r.isString)(e)?{}:e),this._initializeTheme(),(0,u.parseScalar)(this._rtl,this._theme.rtlEnabled)&&p(!0,this._theme,this._theme._rtl),this._callback(),this},theme:function(e){return m(this._theme,e)},themeName:function(){return this._themeName},createPalette:function(e,t){return(0,l.createPalette)(e,t,this._defaultPalette)},createDiscretePalette:function(e,t){return(0,l.getDiscretePalette)(e,t,this._defaultPalette)},createGradientPalette:function(e){return(0,l.getGradientPalette)(e,this._defaultPalette)},getAccentColor:function(e){return(0,l.getAccentColor)(e,this._defaultPalette)},_initializeTheme:function(){var e=this;g(e._fontFields||[],(function(t,n){e._initializeFont(m(e._theme,n))}))},_initializeFont:function(e){p(e,this._font,p({},e))}});t.BaseThemeManager=_},98469:function(e,t,n){t.createEventTrigger=function(e,t){var n,i={};return(0,r.each)(e,(function(e,t){t.name&&o(e)})),a.change=function(t){var i=e[t];return i&&((n=n||{})[t]=i),!!i},a.applyChanges=function(){n&&((0,r.each)(n,(function(e,t){o(t.newName||e)})),n=null)},a.dispose=function(){e=t=i=null},a;function o(n){var o=e[n];i[o.name]=t(n,o.actionSettings)}function a(e,t,n){i[e](t),n&&n()}},t.createIncidentOccurred=void 0,t.createResizeHandler=function(e,t,n){var i,o=(a=n,function(e,t){var n=function(e,t){var n,i=function(){clearTimeout(n),n=setTimeout(e,100)};return{handler:i,dispose:function(){clearTimeout(n),t(i)}}}(a,t),i=n.handler,o=n.dispose;return e(i),o});var a;\"windowonly\"===(0,u.normalizeEnum)(t)?i=o((function(e){return s.default.add(e)}),(function(e){return s.default.remove(e)})):!0===t&&(i=o((function(t){return l.default.observe(e,t)}),(function(){return l.default.unobserve(e)})));return i};var i=n(36739),o=n(68752),a=d(n(80726)),r=n(95479),s=d(n(55814)),l=d(n(91784)),u=n(19157);function d(e){return e&&e.__esModule?e:{default:e}}var c=a.default.ERROR_MESSAGES;t.createIncidentOccurred=function(e,t){return function(n,a){t(\"incidentOccurred\",{target:{id:n,type:\"E\"===n[0]?\"error\":\"warning\",args:a,text:o.format.apply(null,[c[n]].concat(a||[])),widget:e,version:i.version}})}}},56672:function(e,t,n){t.plugins=void 0;var i=n(19157),o=n(20576),a={name:\"center_template_pie_chart\",init:o.noop,dispose:function(){this._centerTemplateGroup.linkOff().dispose()},extenders:{_createHtmlStructure:function(){var e=(0,i.patchFontOptions)(this._themeManager._font);this._centerTemplateGroup=this._renderer.g().attr({class:\"dxc-hole-template\"}).linkOn(this._renderer.root,\"center-template\").css(e).linkAppend()},_renderExtraElements:function(){this._requestChange([\"CENTER_TEMPLATE\"])}},members:{_renderCenterTemplate:function(){var e=this.option(\"centerTemplate\"),t=this._centerTemplateGroup.clear();if(e){t.attr({visibility:\"hidden\"});var n=this._getCenter();this._getTemplate(e).render({model:this,container:t.element,onRendered:function(){var e=t,i=e.getBBox(),o=i.x+i.width/2,a=i.y+i.height/2;e.move(n.x-o,n.y-a),e.attr({visibility:\"visible\"})}})}}},customize:function(e){e.addChange({code:\"CENTER_TEMPLATE\",handler:function(){this._renderCenterTemplate()},option:\"centerTemplate\"})}},r={pieChart:a,gauge:{name:\"center_template_gauge\",init:o.noop,dispose:a.dispose,extenders:{_initCore:function(){this._createCenterTemplateGroup()},_renderContent:function(){var e=(0,i.patchFontOptions)(this._themeManager._font);this._centerTemplateGroup.css(e),this._requestChange([\"CENTER_TEMPLATE\"])},_updateExtraElements:function(){this._requestChange([\"CENTER_TEMPLATE\"])}},members:{_renderCenterTemplate:a.members._renderCenterTemplate,_createCenterTemplateGroup:function(){this._centerTemplateGroup=this._renderer.g().attr({class:\"dxg-hole-template\"}).linkOn(this._renderer.root,\"center-template\").linkAppend()}},customize:a.customize}};t.plugins=r},1539:function(e,t,n){t.plugin=void 0;var i,o=n(20576),a=(i=n(53305))&&i.__esModule?i:{default:i};var r,s=a.default.postCtor,l={_dataSourceLoadErrorHandler:function(){this._dataSourceChangedHandler()},_dataSourceOptions:function(){return{paginate:!1}},_updateDataSource:function(){this._refreshDataSource(),this.option(\"dataSource\")||this._dataSourceChangedHandler()},_dataIsLoaded:function(){return!this._dataSource||this._dataSource.isLoaded()},_dataSourceItems:function(){return this._dataSource&&this._dataSource.items()}};for(r in a.default)\"postCtor\"!==r&&(l[r]=a.default[r]);var u={name:\"data_source\",init:function(){s.call(this)},dispose:o.noop,members:l};t.plugin=u},80726:function(e,t,n){t.default=void 0;var i=a(n(95640)),o=a(n(17381));function a(e){return e&&e.__esModule?e:{default:e}}var r=(0,i.default)(o.default.ERROR_MESSAGES,{E2001:\"Invalid data source\",E2002:\"Axis type and data type are incompatible\",E2003:'The \"{0}\" data source field contains data of unsupported type',E2004:'The \"{0}\" data source field is inconsistent',E2005:'The value field \"{0}\" is absent in the data source or all its values are negative',E2006:\"A cycle is detected in provided data\",E2007:'The value field \"{0}\" is absent in the data source',E2008:'The value field \"{0}\" must be a string',E2009:'The value field \"{0}\" must be a positive numeric value',E2101:\"Unknown series type: {0}\",E2102:\"Ambiguity occurred between two value axes with the same name\",E2103:'The \"{0}\" option is given an invalid value. Assign a function instead',E2104:\"Invalid logarithm base\",E2105:'Invalid value of a \"{0}\"',E2202:\"Invalid {0} scale value\",E2203:\"The range you are trying to set is invalid\",W2002:\"The {0} series cannot be drawn because the {1} data field is missing\",W2003:\"Tick interval is too small\",W2101:'The \"{0}\" pane does not exist; the last pane is used by default',W2102:'A value axis with the \"{0}\" name was created automatically',W2103:\"The chart title was hidden due to the container size\",W2104:\"The legend was hidden due to the container size\",W2105:'The title of the \"{0}\" axis was hidden due to the container size',W2106:'The labels of the \"{0}\" axis were hidden due to the container size',W2107:\"The export menu was hidden due to the container size\",W2108:\"The browser does not support exporting images to {0} format.\",W2301:\"Invalid value range\"});t.default=r,e.exports=t.default,e.exports.default=t.default},82454:function(e,t,n){t.plugin=t.getMarkup=t.exportWidgets=t.exportFromMarkup=t.combineMarkups=t.ExportMenu=void 0;var i=n(13306),o=n(58201),a=n(19157),r=n(19155),s=n(78292),l=g(n(28109)),u=n(35922),d=n(86231),c=n(24028),h=g(n(93786)),f=n(30869),p=n(58664);function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return(m=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function _(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==m(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==m(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=[h.default.down,h.default.move].join(\" \"),y=[[9,12,26,12,26,14,9,14],[9,17,26,17,26,19,9,19],[9,22,26,22,26,24,9,24]],b=[\"PNG\",\"JPEG\",\"GIF\"],x=[\"PDF\",\"SVG\"],w=/data-backgroundcolor=\"([^\"]*)\"/;function C(){var e=s.image.testFormats(b);return{unsupported:e.unsupported,supported:e.supported.concat(x)}}function S(e,t,n){if(n=n||C(),e=String(e).toUpperCase(),-1!==n.supported.indexOf(e))return e;-1!==n.unsupported.indexOf(e)&&t&&t(\"W2108\",[e])}function k(e){return\"SVG\"===e?s.svg.getData:\"PDF\"===e?s.pdf.getData:s.image.getData}function D(e,t){var n=(0,o.getWindow)().document,i=n.createElement(\"iframe\");i.onload=function(e,t){return function(){var n=this,i=this.contentWindow,o=i.document.createElement(\"img\");i.document.body.appendChild(o);var a=function(e){e.style.width=\"21cm\";var t=(0,p.getWidth)(e);return e.style.width=\"\",t}(i.document.body)/t.width;a<1&&(i.document.body.style.transform=\"scale(\".concat(a,\")\"),i.document.body.style[\"transform-origin\"]=\"0 0\");var r=function(){n.parentElement.removeChild(n)};o.addEventListener(\"load\",(function(){i.focus(),i.print()})),o.addEventListener(\"error\",r),i.addEventListener(\"afterprint\",(function(){setTimeout(r,0)})),o.src=e}}(e,t),i.style.position=\"fixed\",i.style.width=\"0\",i.style.height=\"0\",i.style.right=\"0\",i.style.bottom=\"0\",n.body.appendChild(i)}function I(e,t,n){var i={},o=n.type,r=n.format,s=function(e,t,n){var i=-85,o=40+30*n,a={rect:{width:118,height:30,x:-84,y:o},text:{x:i+(e.rtl?105:15),y:o+30-8}};return\"printing\"===t&&(a.separator={stroke:e.button.default.borderColor,\"stroke-width\":1,cursor:\"pointer\",sharp:\"v\",d:\"M -85 \"+(o+30-1)+\" L 35 \"+(o+30-1)}),a}(t,o,n.itemIndex),l=(0,a.patchFontOptions)(t.font);l[\"pointer-events\"]=\"none\";var u=e.g().attr({class:\"dx-export-menu-list-item\"});i[\"export-element-type\"]=o,r&&(i[\"export-element-format\"]=r);var d=e.rect();d.attr(s.rect).css({cursor:\"pointer\",\"pointer-events\":\"all\"}).data(i),d.on(c.start+\".export\",(function(){return d.attr({fill:t.button.hover.backgroundColor})})).on(c.end+\".export\",(function(){return d.attr({fill:null})})),d.append(u);var h=e.text(n.text).css(l).attr(s.text).append(u);return\"printing\"===o&&e.path(null,\"line\").attr(s.separator).append(u),{g:u,rect:d,resetState:function(){return d.attr({fill:null})},fixPosition:function(){var e=h.getBBox();h.move(s.text.x-e.x-(t.rtl?e.width:0))}}}var T=function(e,t){t.format=S(t.format)||\"PNG\",t.fileName=t.fileName||\"file\",t.exportingAction=t.onExporting,t.exportedAction=t.onExported,t.fileSavingAction=t.onFileSaving,t.margin=(0,u.isDefined)(t.margin)?t.margin:10,t.backgroundColor=(0,u.isDefined)(t.backgroundColor)?t.backgroundColor:function(e){var t=w.exec(e);return null==t?void 0:t[1]}(e)||(0,d.getTheme)().backgroundColor,(0,s.export)(e,t,k(t.format))};t.exportFromMarkup=T;t.getMarkup=function(e){return E(e).markup};t.exportWidgets=function(e,t){var n=E(e,{gridLayout:(t=t||{}).gridLayout,verticalAlignment:t.verticalAlignment,horizontalAlignment:t.horizontalAlignment});t.width=n.width,t.height=n.height,T(n.markup,t)};var E=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Array.isArray(e)?Array.isArray(e[0])||(e=e.map((function(e){return[e]}))):e=[[e]];var n=!t.gridLayout,i=e.reduce((function(e,t,i){var o=t.reduce((function(e,t,n){var o=t.getSize(),a=t.option(\"backgroundColor\")||(0,d.getTheme)(t.option(\"theme\")).backgroundColor;return a&&-1===e.backgroundColors.indexOf(a)&&e.backgroundColors.push(a),e.hOffset=e.width,e.width+=o.width,e.height=Math.max(e.height,o.height),e.itemWidth=Math.max(e.itemWidth,o.width),e.items.push({markup:t.svg(),width:o.width,height:o.height,c:n,r:i,hOffset:e.hOffset}),e}),{items:[],height:0,itemWidth:0,hOffset:0,width:0,backgroundColors:e.backgroundColors});return e.rowOffsets.push(e.totalHeight),e.rowHeights.push(o.height),e.totalHeight+=o.height,e.items=e.items.concat(o.items),e.itemWidth=Math.max(e.itemWidth,o.itemWidth),e.maxItemLen=Math.max(e.maxItemLen,o.items.length),e.totalWidth=n?Math.max(e.totalWidth,o.width):e.maxItemLen*e.itemWidth,e}),{items:[],rowOffsets:[],rowHeights:[],itemWidth:0,totalHeight:0,maxItemLen:0,totalWidth:0,backgroundColors:[]}),o='data-backgroundcolor=\"'.concat(1===i.backgroundColors.length?i.backgroundColors[0]:\"\",'\" '),a=function(e){var n=t.verticalAlignment,o=i.rowHeights[e.r]-e.height;return i.rowOffsets[e.r]+(\"bottom\"===n?o:\"center\"===n?o/2:0)},r=function(e){if(n)return e.hOffset;var o=t.horizontalAlignment,a=i.itemWidth,r=a-e.width;return e.c*a+(\"right\"===o?r:\"center\"===o?r/2:0)},s=i.totalHeight,l=i.totalWidth;return{markup:\"<svg \"+o+'height=\"'+s+'\" width=\"'+l+'\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">'+i.items.map((function(e){return'<g transform=\"translate('.concat(r(e),\",\").concat(a(e),')\">').concat(e.markup,\"</g>\")})).join(\"\")+\"</svg>\",width:l,height:s}};t.combineMarkups=E;var O=function(e){var t=this._renderer=e.renderer;this._incidentOccurred=e.incidentOccurred,this._exportTo=e.exportTo,this._print=e.print,this._shadow=t.shadowFilter(\"-50%\",\"-50%\",\"200%\",\"200%\",2,6,3),this._shadow.attr({opacity:.8}),this._group=t.g().attr(_({class:\"dx-export-menu\"},r.HIDDEN_FOR_EXPORT,!0)).linkOn(t.root,{name:\"export-menu\",after:\"peripheral\"}),this._buttonGroup=t.g().attr({class:\"dx-export-menu-button\"}).append(this._group),this._listGroup=t.g().attr({class:\"dx-export-menu-list\"}).append(this._group),this._overlay=t.rect(-85,39,120,0),this._overlay.attr({\"stroke-width\":1,cursor:\"pointer\",rx:4,ry:4,filter:this._shadow.id}),this._overlay.data({\"export-element-type\":\"list\"}),this.validFormats=C(),this._subscribeEvents()};function A(e,t,n,i){(i||t.format)&&(i=S(i||t.format,e._incidentOccurred));var o=e.getSize(),a=o.width,r=o.height;return{format:i||\"PNG\",fileName:n||t.fileName||\"file\",backgroundColor:t.backgroundColor,width:a,height:r,margin:t.margin,svgToCanvas:t.svgToCanvas,exportingAction:e._createActionByOption(\"onExporting\",{excludeValidators:[\"disabled\"]}),exportedAction:e._createActionByOption(\"onExported\",{excludeValidators:[\"disabled\"]}),fileSavingAction:e._createActionByOption(\"onFileSaving\",{excludeValidators:[\"disabled\"]})}}t.ExportMenu=O,(0,i.extend)(O.prototype,{getLayoutOptions:function(){if(this._hiddenDueToLayout)return{width:0,height:0,cutSide:\"vertical\",cutLayoutSide:\"top\"};var e=this._buttonGroup.getBBox();return e.cutSide=\"vertical\",e.cutLayoutSide=\"top\",e.height+=10,e.position={vertical:\"top\",horizontal:\"right\"},e.verticalAlignment=\"top\",e.horizontalAlignment=\"right\",e},shift:function(e,t){this._group.attr({translateY:this._group.attr(\"translateY\")+t})},draw:function(e,t,n){this._group.move(e-35-2-3+n.left,Math.floor(t/2-17.5));var i=this.getLayoutOptions();return(i.width>e||i.height>t)&&this.freeSpace(),this},show:function(){this._group.linkAppend()},hide:function(){this._group.linkRemove()},setOptions:function(e){var t=this;this._options=e,e.formats?e.formats=e.formats.reduce((function(e,n){return(n=S(n,t._incidentOccurred,t.validFormats))&&e.push(n),e}),[]):e.formats=this.validFormats.supported.slice(),e.printingEnabled=void 0===e.printingEnabled||e.printingEnabled,e.enabled&&(e.formats.length||e.printingEnabled)?(this.show(),this._updateButton(),this._updateList(),this._hideList()):this.hide()},dispose:function(){this._unsubscribeEvents(),this._group.linkRemove().linkOff(),this._group.dispose(),this._shadow.dispose()},layoutOptions:function(){return this._options.enabled&&{horizontalAlignment:\"right\",verticalAlignment:\"top\",weak:!0}},measure:function(){this._fillSpace();var e=this._options.button.margin;return[35+e.left+e.right,35+e.top+e.bottom]},move:function(e){var t=this._options.button.margin;this._group.attr({translateX:Math.round(e[0])+t.left,translateY:Math.round(e[1])+t.top})},_fillSpace:function(){this._hiddenDueToLayout=!1,this.show()},freeSpace:function(){this._incidentOccurred(\"W2107\"),this._hiddenDueToLayout=!0,this.hide()},_hideList:function(){this._listGroup.remove(),this._listShown=!1,this._setButtonState(\"default\"),this._menuItems.forEach((function(e){return e.resetState()}))},_showList:function(){this._listGroup.append(this._group),this._listShown=!0,this._menuItems.forEach((function(e){return e.fixPosition()}))},_setButtonState:function(e){var t=this._options.button[e];this._button.attr({stroke:t.borderColor,fill:t.backgroundColor}),this._icon.attr({fill:t.color})},_subscribeEvents:function(){var e=this;this._renderer.root.on(h.default.up+\".export\",(function(t){var n=t.target[\"export-element-type\"];n?\"button\"===n?e._listShown?(e._setButtonState(\"default\"),e._hideList()):(e._setButtonState(\"focus\"),e._showList()):\"printing\"===n?(e._print(),e._hideList()):\"exporting\"===n&&(e._exportTo(t.target[\"export-element-format\"]),e._hideList()):e._button&&e._hideList()})),this._listGroup.on(v,(function(e){return e.stopPropagation()})),this._buttonGroup.on(h.default.enter,(function(){return e._setButtonState(\"hover\")})),this._buttonGroup.on(h.default.leave,(function(){return e._setButtonState(e._listShown?\"focus\":\"default\")})),this._buttonGroup.on(h.default.down+\".export\",(function(){return e._setButtonState(\"active\")}))},_unsubscribeEvents:function(){this._renderer.root.off(\".export\"),this._listGroup.off(),this._buttonGroup.off()},_updateButton:function(){var e=this._renderer,t=this._options,n={\"export-element-type\":\"button\"};this._button||(this._button=e.rect(0,0,35,35).append(this._buttonGroup),this._button.attr({rx:4,ry:4,fill:t.button.default.backgroundColor,stroke:t.button.default.borderColor,\"stroke-width\":1,cursor:\"pointer\"}),this._button.data(n),this._icon=e.path(y).append(this._buttonGroup),this._icon.attr({fill:t.button.default.color,cursor:\"pointer\"}),this._icon.data(n),this._buttonGroup.setTitle(l.default.format(\"vizExport-titleMenuText\")))},_updateList:function(){var e=this._options,t=e.button.default,n=this._listGroup,i=function(e,t){var n=[];return t.printingEnabled&&n.push(I(e,t,{type:\"printing\",text:l.default.format(\"vizExport-printingButtonText\"),itemIndex:n.length})),n=t.formats.reduce((function(n,i){return n.push(I(e,t,{type:\"exporting\",text:l.default.getFormatter(\"vizExport-exportButtonText\")(i),format:i,itemIndex:n.length})),n}),n)}(this._renderer,e);this._shadow.attr({color:e.shadowColor}),this._overlay.attr({height:30*i.length+2,fill:t.backgroundColor,stroke:t.borderColor}),n.clear(),this._overlay.append(n),i.forEach((function(e){return e.g.append(n)})),this._menuItems=i}});var P={name:\"export\",init:function(){var e=this;this._exportMenu=new O({renderer:this._renderer,incidentOccurred:this._incidentOccurred,print:function(){return e.print()},exportTo:function(t){return e.exportTo(void 0,t)}}),this._layout.add(this._exportMenu)},dispose:function(){this._exportMenu.dispose()},members:{_getExportMenuOptions:function(){return(0,i.extend)({},this._getOption(\"export\"),{rtl:this._getOption(\"rtlEnabled\",!0)})},_disablePointerEvents:function(){var e=this._renderer.root.attr(\"pointer-events\");return this._renderer.root.attr({\"pointer-events\":\"none\"}),e},exportTo:function(e,t){var n=this,i=this._exportMenu,o=A(this,this._getOption(\"export\")||{},e,t);i&&i.hide();var a=this._disablePointerEvents(),r=(0,s.export)(this._renderer.root.element,o,k(o.format)).fail(f.logger.error).always((function(){n._renderer.root.attr({\"pointer-events\":a})}));return i&&i.show(),r},print:function(){var e=this,t=this._exportMenu,n=A(this,this._getOption(\"export\")||{});n.exportingAction=null,n.exportedAction=null,n.margin=0,n.format=\"PNG\",n.useBase64=!0,n.fileSavingAction=function(e){D(\"data:image/png;base64,\".concat(e.data),{width:n.width,__test:n.__test}),e.cancel=!0};var i=this._disablePointerEvents();t&&t.hide();var o=(0,s.export)(this._renderer.root.element,n,k(n.format)).fail(f.logger.error).always((function(){e._renderer.root.attr({\"pointer-events\":i})}));return t&&t.show(),o}},customize:function(e){var t=e.prototype;e.addChange({code:\"EXPORT\",handler:function(){this._exportMenu.setOptions(this._getExportMenuOptions()),this._change([\"LAYOUT\"])},isThemeDependent:!0,isOptionChange:!0,option:\"export\"}),t._optionChangesMap.onExporting=\"EXPORT\",t._optionChangesMap.onExported=\"EXPORT\",t._optionChangesMap.onFileSaving=\"EXPORT\"},fontFields:[\"export.font\"]};t.plugin=P},3603:function(e,t,n){t.changes=function(){return new s},t.expand=f,t.replaceInherit=void 0;var i=n(13306),o=n(58201),a=n(20576),r=!(0,o.hasWindow)();function s(){this.reset()}function l(e,t){return e!==t?(0,i.extend)({},e,t):(0,i.extend)({},e)}function u(e,t){return e!==t?e.concat(t):e.slice()}function d(e){e._totalChangesOrder=e._optionChangesOrder.concat(e._layoutChangesOrder,e._customChangesOrder)}function c(e){var t=this.prototype,n=e.code;t[\"_change_\"+n]=e.handler,e.isThemeDependent&&t._themeDependentChanges.push(n),e.option&&(t._optionChangesMap[e.option]=n),(e.isOptionChange?t._optionChangesOrder:t._customChangesOrder).push(n),d(t)}function h(){var e=function e(){var t,n,i=e._chain.length;for(t=0;t<i;++t)n=e._chain[t].apply(this,arguments);return n};return e._chain=[],e.add=function(t){e._chain.push(t)},e.copy=function(t){e._chain=t._chain.slice()},e}function f(e,t,n){var i=e[t];i?i.add?(!1===Object.prototype.hasOwnProperty.call(e,t)&&(i=h()).copy(e[t]),i.add(n)):((i=h()).add(e[t]),i.add(n)):i=n,e[t]=i}function p(e){var t=this.prototype;t._plugins.push(e),e.fontFields&&t._fontFields.push.apply(t._fontFields,e.fontFields),e.members&&(0,i.extend)(this.prototype,e.members),e.customize&&e.customize(this),e.extenders&&Object.keys(e.extenders).forEach((function(n){var i=e.extenders[n];f(t,n,i)}),this)}s.prototype={constructor:s,add:function(e){var t,n=e.length,i=this._flags;for(t=0;t<n;++t)i[e[t]]=1},has:function(e){return this._flags[e]>0},count:function(){return Object.keys(this._flags).length},reset:function(){this._flags={}}};var g=r?function(e){var t=e.inherit;e.inherit=function(){var e=t.apply(this,arguments),n=e.prototype;return[\"_plugins\",\"_eventsMap\",\"_initialChanges\",\"_themeDependentChanges\",\"_optionChangesMap\",\"_optionChangesOrder\",\"_layoutChangesOrder\",\"_customChangesOrder\",\"_totalChangesOrder\"].forEach((function(e){n[e]={}})),e.addPlugin=a.noop,e},e.addChange=a.noop,e.addPlugin=a.noop}:function(e){var t=e.inherit;e.inherit=function(){var e=this.prototype,n=e._plugins,i=e._fontFields,o=e._eventsMap,a=e._initialChanges,r=e._themeDependentChanges,s=e._optionChangesMap,c=e._partialOptionChangesMap,h=e._partialOptionChangesPath,f=e._optionChangesOrder,g=e._layoutChangesOrder,m=e._customChangesOrder,_=t.apply(this,arguments);return(e=_.prototype)._plugins=u(n,e._plugins),e._fontFields=u(i,e._fontFields),e._eventsMap=l(o,e._eventsMap),e._initialChanges=u(a,e._initialChanges),e._themeDependentChanges=u(r,e._themeDependentChanges),e._optionChangesMap=l(s,e._optionChangesMap),e._partialOptionChangesMap=l(c,e._partialOptionChangesMap),e._partialOptionChangesPath=l(h,e._partialOptionChangesPath),e._optionChangesOrder=u(f,e._optionChangesOrder),e._layoutChangesOrder=u(g,e._layoutChangesOrder),e._customChangesOrder=u(m,e._customChangesOrder),d(e),_.addPlugin=p,_},e.prototype._plugins=[],e.prototype._fontFields=[],e.addChange=c,e.addPlugin=p};t.replaceInherit=g},94551:function(e,t,n){t.default=void 0;var i=n(19157),o=Math.min,a=Math.max,r=Math.round,s={left:0,center:1,right:2},l={top:0,center:1,bottom:2},u={horizontal:0,vertical:1},d={};function c(e,t,n){var o=(0,i.normalizeEnum)(e);return o in t?t[o]:n}function h(e,t){return(e>0?-1:1)*t}function f(e,t,n){var i=e.side,o=e.element.measure([t[2]-t[0],t[3]-t[1]]),a=\"indside\"===e.position?0:n[i],r=o[i]<t[2+i]-t[i]-a;return r&&(\"inside\"!==e.position&&(t[e.primary+i]+=h(e.primary,o[i])),e.size=o),r}function p(e,t,n){var i,o,a,s,l=e.side,u=1-l,c=[],f=(i=e.secondary,o=n[u],a=n[2+u],s=e.size[u],d[i](o,a,s));return c[l]=r(c[2+l]=t[e.primary+l]+(\"inside\"===e.position?h(e.primary,e.size[l]):0)),c[e.primary+l]=r(t[e.primary+l]-h(e.primary,e.size[l])),\"inside\"!==e.position&&(t[e.primary+l]=c[e.primary+l]),c[u]=r(f[0]),c[2+u]=r(f[1]),c}function g(e,t,n,i,o,a){var r=p(e,t,n),s=p(e,i,i);o[e.side]>0?(o[e.side]-=e.size[e.side],a[e.primary+e.side]=r[e.primary+e.side],e.element.freeSpace()):e.element.move(r,s)}function m(){this._targets=[]}function _(e,t){var n=t.slice(),i=p(e,n,n);return i[e.side]=t[e.side],i[2+e.side]=t[2+e.side],i}d[0]=function(e,t,n){return[e,o(t,e+n)]},d[1]=function(e,t,n){return[a(e,(e+t-n)/2),o(t,(e+t+n)/2)]},d[2]=function(e,t,n){return[a(e,t-n),t]},m.prototype={constructor:m,dispose:function(){this._targets=null},add:function(e){this._targets.push(e)},forward:function(e,t){var n,i=e.slice(),o=function(e){var t,n,i=e.length,o=[];for(t=0;t<i;++t)(n=e[t].layoutOptions())&&(r=void 0,d=void 0,h=void 0,d=c((a=n).side,u,1),h=[c(a.horizontalAlignment,s,1),c(a.verticalAlignment,l,0)],(n={side:d,primary:(r=h[d],r<2?0:2),secondary:h[1-d],weak:a.weak,priority:a.priority||0,header:a.header,position:a.position}).element=e[t],o.push(n));var a,r,d,h;return o.sort((function(e,t){return t.side-e.side||e.priority-t.priority})),o=function(e){var t,n=e.filter((function(e){return!0===e.weak}))[0];n&&(t=e.filter((function(e){return n.primary===e.primary&&e.side===n.side&&e!==n}))[0]);if(n&&t)return[(i=t,o=n,a=i.side,r=i.primary,s=i.secondary,{side:a,primary:r,secondary:s,priority:0,element:{measure:function(e){var t=e.slice(),n=o.element.measure(e.slice());e[r]-=n[r];var s=i.element.measure(e.slice());return t[a]=n[a]=s[a]=Math.max(s[a],n[a]),o.size=n,i.size=s,t},move:function(e,t){if(t[2]-t[0]<i.size[0]+o.size[0]-2)this.freeSpace();else{var n=_(o,t);t[2+o.primary]=n[o.primary];var a=_(i,t);t[2+o.primary]<e[2+o.primary]&&i.size[i.primary]>e[2+i.primary]-e[i.primary]&&(e[2+o.primary]=t[2+o.primary]);var r=_(i,e);r[2+o.primary]>t[2+o.primary]&&(e[2+o.primary]=t[2+o.primary],r=_(i,e)),o.element.move(n),i.element.move(r,a)}},freeSpace:function(){i.element.freeSpace(),o.element.freeSpace()}}})].concat(e.filter((function(e){return!(e===t||e===n)})));var i,o,a,r,s;return e}(o)}(this._targets),a=o.length,r=[];for(n=0;n<a;++n)f(o[n],i,t)?r.push(o[n]):o[n].element.freeSpace();return this._cache=r.reverse(),i},backward:function(e,t){var n,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0],a=e.slice(),r=e.slice(),s=this._cache,l=0,u=s.length;for(i=0;i<u;++i)(n=s[i]).side!==l&&(a=e.slice()),g(n,a,t,r,o,e),l=n.side;return o}};var v=m;t.default=v,e.exports=t.default,e.exports.default=t.default},73711:function(e,t,n){t.LayoutElement=l,t.WrapperLayoutElement=u;var i=n(20576),o=n(48013),a=Math.round,r={horizontal:0,vertical:0},s={center:.5,right:1,bottom:1,left:0,top:0};function l(e){this._options=e}function u(e,t){this._renderElement=e,this._cacheBBox=t}l.prototype={constructor:l,position:function(e){var t=e.of.getLayoutOptions(),n=this.getLayoutOptions(),i=e.at,o=e.my,l=e.offset||r,u=-s[o.horizontal]*n.width+t.x+s[i.horizontal]*t.width+parseInt(l.horizontal),d=-s[o.vertical]*n.height+t.y+s[i.vertical]*t.height+parseInt(l.vertical);this.shift(a(u),a(d))},getLayoutOptions:i.noop};var d=u.prototype=(0,o.clone)(l.prototype);d.constructor=u,d.getLayoutOptions=function(){return this._cacheBBox||this._renderElement.getBBox()},d.shift=function(e,t){var n=this.getLayoutOptions();this._renderElement.move(a(e-n.x),a(t-n.y))}},64758:function(e,t,n){t.plugin=t.LoadingIndicator=void 0;var i=n(19157),o=function(e){var t=e.renderer;this._group=t.g().attr({class:\"dx-loading-indicator\"}).linkOn(t.root,{name:\"loading-indicator\",after:\"peripheral\"}),this._rect=t.rect().attr({opacity:0}).append(this._group),this._text=t.text().attr({align:\"center\"}).append(this._group),this._createStates(e.eventTrigger,this._group,t.root,e.notify)};t.LoadingIndicator=o,o.prototype={constructor:o,_createStates:function(e,t,n,i){this._states=[{opacity:0,start:function(){i(!1)},complete:function(){t.linkRemove(),n.css({\"pointer-events\":\"\"}),e(\"loadingIndicatorReady\")}},{opacity:.85,start:function(){t.linkAppend(),n.css({\"pointer-events\":\"none\"}),i(!0)},complete:function(){e(\"loadingIndicatorReady\")}}],this._state=0},setSize:function(e){var t=e.width,n=e.height;this._rect.attr({width:t,height:n}),this._text.attr({x:t/2,y:n/2})},setOptions:function(e){this._rect.attr({fill:e.backgroundColor}),this._text.css((0,i.patchFontOptions)(e.font)).attr({text:e.text,class:e.cssClass}),this[e.show?\"show\":\"hide\"]()},dispose:function(){this._group.linkRemove().linkOff(),this._group=this._rect=this._text=this._states=null},_transit:function(e){var t;this._state!==e&&(this._state=e,this._isHiding=!1,t=this._states[e],this._rect.stopAnimation().animate({opacity:t.opacity},{complete:t.complete,easing:\"linear\",duration:400,unstoppable:!0}),this._noHiding=!0,t.start(),this._noHiding=!1)},show:function(){this._transit(1)},hide:function(){this._transit(0)},scheduleHiding:function(){this._noHiding||(this._isHiding=!0)},fulfillHiding:function(){this._isHiding&&this.hide()}};var a={name:\"loading_indicator\",init:function(){var e=this;e._loadingIndicator=new o({eventTrigger:e._eventTrigger,renderer:e._renderer,notify:function(t){e._skipLoadingIndicatorOptions=!0,e.option(\"loadingIndicator\",{show:t}),e._skipLoadingIndicatorOptions=!1,t&&e._stopCurrentHandling()}}),e._scheduleLoadingIndicatorHiding()},dispose:function(){this._loadingIndicator.dispose(),this._loadingIndicator=null},members:{_scheduleLoadingIndicatorHiding:function(){this._loadingIndicator.scheduleHiding()},_fulfillLoadingIndicatorHiding:function(){this._loadingIndicator.fulfillHiding()},showLoadingIndicator:function(){this._loadingIndicator.show()},hideLoadingIndicator:function(){this._loadingIndicator.hide()},_onBeginUpdate:function(){this._optionChangedLocker||this._scheduleLoadingIndicatorHiding()}},extenders:{_dataSourceLoadingChangedHandler:function(e){e&&(this._options.silent(\"loadingIndicator\")||{}).enabled&&this._loadingIndicator.show()},_setContentSize:function(){this._loadingIndicator.setSize(this._canvas)},endUpdate:function(){this._initialized&&this._dataIsReady()&&this._fulfillLoadingIndicatorHiding()}},customize:function(e){var t=e.prototype;if(t._dataSourceChangedHandler){var n=t._dataSourceChangedHandler;t._dataSourceChangedHandler=function(){this._scheduleLoadingIndicatorHiding(),n.apply(this,arguments)}}e.addChange({code:\"LOADING_INDICATOR\",handler:function(){this._skipLoadingIndicatorOptions||this._loadingIndicator.setOptions(this._getOption(\"loadingIndicator\")),this._scheduleLoadingIndicatorHiding()},isThemeDependent:!0,option:\"loadingIndicator\",isOptionChange:!0}),t._eventsMap.onLoadingIndicatorReady={name:\"loadingIndicatorReady\"};var i=t._drawn;t._drawn=function(){i.apply(this,arguments),this._dataIsReady()&&this._fulfillLoadingIndicatorHiding()}},fontFields:[\"loadingIndicator.font\"]};t.plugin=a},64509:function(e,t,n){t.Plaque=void 0;var i=n(13306),o=n(35922),a=[\"x\",\"y\",\"canvas\",\"offsetX\",\"offsetY\",\"offset\"];function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function s(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=Math,u=l.round,d=l.max,c=l.min,h=l.sin,f=l.cos,p=l.asin,g=l.PI,m=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.join(\"\")};function _(e,t,n){return\"a \".concat(e,\" \").concat(e,\" 0 0 1 \").concat(t*e,\" \").concat(n*e)}function v(e,t,n){return\"A \".concat(e,\" \").concat(e,\" 0 0 1 \").concat(t,\" \").concat(n)}function y(e,t,n,i,o){return(e-i)*u(f(n))+(t-o)*u(h(n))+i}function b(e,t,n,i,o){return-(e-i)*u(h(n))+(t-o)*u(f(n))+o}function x(e,t,n,i,o){var a=e.width/2,r=e.height/2,s=Math.ceil(t+a),l=Math.floor(t-a),u=Math.floor(n-r),d=Math.ceil(n+r);return i<l&&o<u||i>=l&&i<=s&&o<u?270:i>s&&o>d||i>=l&&i<=s&&o>d?90:i<l&&o>d||i<l&&o>=u&&o<=d?180:0}function w(e,t,n,i,o,a,r){var s,l=e.width,u=e.height,y=a.arrowWidth,b=a.cornerRadius,x=void 0===b?0:b,w=y/2,C=l/2,S=u/2,k=Math.ceil(t+C),D=Math.floor(t-C),I=Math.floor(n-S),T=Math.ceil(n+S),E=[D,I],O=[k,I],A=[k,T],P=[D,T],M=i<=D?D:k<=i?k:i,R=o<=I?I:T<=o?T:o,B=c(R+w,T),L=d(R-w,I),V=d(M-w,D);if(x=Math.min(l/2,u/2,x),E[1]+=x,O[0]-=x,A[1]-=x,P[0]+=x,!r||D<=i&&i<=k&&I<=o&&o<=T)s=m(E,_(x,1,-1),\"L\",O,_(x,1,1),\"L\",A,_(x,-1,1),\"L\",P,_(x,-1,-1));else if(i>k&&o<I){var F=y/x||0,H=g/4+F/2,N=g/4-F/2,z=O[0]+f(N)*x,j=O[1]+(1-h(N))*x,W=m(\"L\",O,_(x,f(H),1-h(H)),\"L\",[i,o,z,j],v(x,O[0]+x,O[1]+x));Math.abs(H)>g/2&&(W=m(\"L\",[V,I,i,o,k,B])),s=m(E,_(x,1,-1),W,\"L\",A,_(x,-1,1),\"L\",P,_(x,-1,-1))}else if(i>k&&o>=I&&o<=T){var G;if(L>=O[1]+x&&B<=A[1])G=m(_(x,1,1),\"L\",[k,L,i,o,k,B],\"L\",A,_(x,-1,1));else if(L<O[1]+x&&B>=O[1]+x&&B<=A[1]){var q=(O[1]+x-L)/x,$=O[0]+f(q)*x,U=O[1]+(1-h(q))*x;G=m(_(x,f(q),1-h(q)),\"L\",[$,U,i,o,k,B],\"L\",A,_(x,-1,1))}else if(L<O[1]+x&&B<O[1]+x){var K=(O[1]+x-L)/x,Z=O[0]+f(K)*x,Y=O[1]+(1-h(K))*x,X=Math.sin((O[1]+x-B)/x),Q=O[0]+x*f(X),J=O[1]+x*(1-h(X));G=m(_(x,f(K),1-h(K)),\"L\",[Z,Y,i,o,Q,J],v(x,O[0]+x,O[1]+x),\"L\",A,_(x,-1,1))}else if(L<=O[1]+x&&B>=A[1]){var ee=p((O[1]+x-L)/x),te=O[0]+x*f(ee),ne=O[1]+x*(1-h(ee)),ie=p((B-A[1])/x),oe=A[0]+x*(f(ie)-1),ae=A[1]+x*h(ie);G=m(_(x,f(ee),1-h(ee)),\"L\",[te,ne,i,o,oe,ae],v(x,A[0]-x,A[1]+x))}else if(L>O[1]+x&&L<=A[1]&&B>A[1]){var re=p((B-A[1])/x),se=A[0]+x*(f(re)-1),le=A[1]+x*h(re);G=m(_(x,1,1),\"L\",[k,L,i,o,se,le],v(x,A[0]-x,A[1]+x))}else if(L>O[1]+x&&B>A[1]){var ue=p((B-A[1])/x),de=A[0]+x*(f(ue)-1),ce=A[1]+x*h(ue),he=p((L-A[1])/x),fe=A[0]+x*(f(he)-1),pe=A[1]+x*h(he);G=m(_(x,1,1),\"L\",A,_(x,f(he)-1,h(he)),\"L\",[fe,pe,i,o,de,ce],v(x,A[0]-x,A[1]+x))}s=m(E,_(x,1,-1),\"L\",O,G,\"L\",P,_(x,-1,-1))}return m(\"M\",s,\"Z\")}var C=function(){function e(e,t,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(e,t){return t.getBBox()},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(e,t,n,i){return t.move(n,i)};this.widget=t,this.options=e,this.root=n,this.contentTemplate=i,this.bonded=o,this.measureContent=a,this.moveContentGroup=r}var t=e.prototype;return t.draw=function(e){var t=this,n=e.x,l=e.y,h=e.canvas,f=void 0===h?{}:h,p=e.offsetX,g=e.offsetY,m=e.offset,_=void 0===m?0:m,v=s(e,a),y=this.options,b=y.x,x=y.y,w=f.left,C=f.width-f.right,S=f.width-f.right-f.left,k=f.top,D=f.height-f.bottom,I=f.height-f.bottom-f.top;if(!((0,o.isDefined)(n)&&(0,o.isDefined)(l)||(0,o.isDefined)(b)&&(0,o.isDefined)(x)))return!1;if((0,o.isDefined)(n)&&(n<w||C<n||l<k||D<l))return!1;this._root||this._draw();var T=(0,i.extend)({x:\"-50%\",y:\"-50%\",width:\"200%\",height:\"200%\"},y.shadow),E=y.width>0?y.width:null,O=y.height>0?y.height:null,A=function(){var e,i=t._contentBBox=t.measureContent(t.widget,t._contentGroup),a=t._size={width:d(E,i.width)+2*y.paddingLeftRight,height:d(O,i.height)+2*y.paddingTopBottom,offset:_},r=T.offsetX,s=T.offsetY,h=2*T.blur+1,f=d(h-r,0),m=d(h+r,0),v=d(h-s,0),A=d(h+s,0);if(t.margins={lm:f,rm:m,tm:v,bm:A},(0,o.isDefined)(b)?(b+=p||0,(0,o.isDefined)(n)||(n=b)):b=(0,o.isDefined)(p)?n+p:S<a.width?u(w+S/2):c(d(n,Math.ceil(w+a.width/2+f)),Math.floor(C-a.width/2-m)),(0,o.isDefined)(x))x+=g||0,(0,o.isDefined)(l)||(l=x+a.height/2);else if((0,o.isDefined)(g))x=l+g;else{var P=l-y.arrowLength-a.height/2-_,M=l+y.arrowLength+a.height/2+_;I<a.height+y.arrowLength?x=u(k+a.height/2):P-a.height/2-v<k?M+a.height/2+A<D?(x=M,l+=_):x=u(k+a.height/2):(x=P,l-=_)}t.anchorX=n,t.anchorY=l,t.move(b,x),null===(e=t._root)||void 0===e||e.append(t.root)};return this.contentTemplate.render?(this.contentTemplate.render({model:y,container:this._contentGroup.element,onRendered:A}),!0):this.contentTemplate(r({group:this._contentGroup,onRender:A},v))},t._draw=function(){var e=this.widget._renderer,t=this.options,n=(0,i.extend)({x:\"-50%\",y:\"-50%\",width:\"200%\",height:\"200%\"},t.shadow),o=this._shadow=e.shadowFilter().attr(n),a={opacity:t.opacity,\"stroke-width\":0,fill:t.color},r=t.border||{};r.visible&&(0,i.extend)(a,{\"stroke-width\":r.width,stroke:r.color,\"stroke-opacity\":r.opacity,dashStyle:r.dashStyle});var s=this._root=e.g().append(this.root);t.type&&s.attr({class:\"dxc-\".concat(t.type,\"-annotation\")});var l=e.g().attr({filter:o.id}).append(s);this._cloud=e.path([],\"area\").attr(a).sharp().append(l),this._contentGroup=e.g().append(s)},t.getBBox=function(){var e=this._size||{},t=this.margins||{},n=x(e,this.x,this.y,this.anchorX,this.anchorY);return{x:Math.floor(this.x-e.width/2-t.lm),y:Math.floor(this.y-e.height/2-t.tm-(270===n?this.options.arrowLength:0)),width:e.width+t.lm+t.rm,height:e.height+t.tm+t.bm+(90===n||270===n?this.options.arrowLength:0)}},t.clear=function(){return this._root&&(this._root.remove(),this._shadow.remove(),this._root=null),this},t.customizeCloud=function(e){this._cloud&&this._cloud.attr(e)},t.moveRoot=function(e,t){this._root&&this._root.move(e,t)},t.move=function(e,t){e=u(e),t=u(t),this.x=e,this.y=t;var n,i,o=x(this._size,e,t,this.anchorX,this.anchorY),a=o*g/180;this._cloud.attr({d:w((n=this._size,i=o,i%90==0&&i%180!=0?{width:n.height,height:n.width}:n),e,t,y(this.anchorX,this.anchorY,a,e,t),b(this.anchorX,this.anchorY,a,e,t),this.options,this.bonded)}).rotate(o,e,t),this.moveContentGroup(this.widget,this._contentGroup,e-this._contentBBox.x-this._contentBBox.width/2,t-this._contentBBox.y-this._contentBBox.height/2)},t.hitTest=function(e,t){var n=this._size||{},i=n.width,o=n.height;return Math.abs(e-this.x)<=i/2&&Math.abs(t-this.y)<=o/2},e}();t.Plaque=C},91577:function(e,t,n){t.AnimationController=c,t.easingFunctions=t.animationSvgStep=void 0;var i=n(90057),o=function(){},a={easeOutCubic:function(e,t,n){return 1===e?n:(1-Math.pow(1-e,3))*(n-t)+ +t},linear:function(e,t,n){return 1===e?n:e*(n-t)+ +t}};t.easingFunctions=a;var r={segments:function(e,t,n,i,o){var a,r,s,l,u=t.from,d=t.to,c=[];for(s=0;s<u.length;s++){if(r=[(a=u[s])[0]],a.length>1)for(l=1;l<a.length;l++)r.push(i(n,a[l],d[s][l]));c.push(r)}o.segments=t.end&&1===n?t.end:c,e.attr({segments:c})},arc:function(e,t,n,i){var o=t.from,a=t.to,r={};for(var s in o)r[s]=i(n,o[s],a[s]);e.attr(r)},transform:function(e,t,n,i,o){var a=t.from,r=t.to,s={};for(var l in a)s[l]=o[l]=i(n,a[l],r[l]);e.attr(s)},base:function(e,t,n,i,o,a){var r={};r[a]=o[a]=i(n,t.from,t.to),e.attr(r)},_:o,complete:function(e,t){e.attr(t)}};function s(e){var t,n=this._animateStep;for(t in this._progress=this._calcProgress(e),this.params){(n[t]||n.base)(this.element,this.params[t],this._progress,this._easing,this._currentParams,t)}return this.options.step&&this.options.step(this._easing(this._progress,0,1),this._progress),1!==this._progress||this.stop()}function l(e){return e-this._startTime>=this.delay&&(this.tick=s),!0}function u(e){return this._startTime=e,this.tick=this.delay?l:s,!0}function d(e,t,n){this._progress=0,this.element=e,this.params=t,this.options=n,this.duration=n.partitionDuration?n.duration*n.partitionDuration:n.duration,this.delay=n.delay&&n.duration*n.delay||0,this._animateStep=n.animateStep||r,this._easing=a[n.easing]||a.easeOutCubic,this._currentParams={},this.tick=u}function c(e){this._animationCount=0,this._timerId=null,this._animations={},this.element=e}t.animationSvgStep=r,d.prototype={_calcProgress:function(e){return Math.min(1,(e-this.delay-this._startTime)/this.duration)},stop:function(e){var t=this.options,n=this._animateStep;this.stop=this.tick=o,n.complete&&n.complete(this.element,this._currentParams),t.complete&&!e&&t.complete()}},c.prototype={_loop:function(){var e,t=this,n=t._animations,o=0,a=(new Date).getTime(),r=t._endAnimation;for(e in n)n[e].tick(a)||delete n[e],o++;if(0===o)return t.stop(),void(t._endAnimationTimer=r&&setTimeout((function(){0===t._animationCount&&(r(),t._endAnimation=null)})));t._timerId=i.requestAnimationFrame.call(null,(function(){t._loop()}),t.element)},addAnimation:function(e){var t=this;t._animations[t._animationCount++]=e,clearTimeout(t._endAnimationTimer),t._timerId||(clearTimeout(t._startDelay),t._startDelay=setTimeout((function(){t._timerId=1,t._loop()}),0))},animateElement:function(e,t,n){e&&t&&n&&(e.animation&&e.animation.stop(),this.addAnimation(e.animation=new d(e,t,n)))},onEndAnimation:function(e){this._animationCount?this._endAnimation=e:e()},dispose:function(){this.stop(),this.element=null},stop:function(){this._animations={},this._animationCount=0,(0,i.cancelAnimationFrame)(this._timerId),clearTimeout(this._startDelay),clearTimeout(this._endAnimationTimer),this._timerId=null},lock:function(){var e,t,n,i=this._animations;for(e in i)t=i[e].options.unstoppable,n=n||t,t||(i[e].stop(!0),delete i[e]);!n&&this.stop()}}},56453:function(e,t,n){t.RectSvgElement=t.PathSvgElement=t.ArcSvgElement=void 0,t.Renderer=ge,t.TextSvgElement=t.SvgElement=void 0,t.getFuncIri=k,t.processHatchingAttrs=T,t.refreshPaths=void 0;var i=h(n(68374)),o=h(n(73349)),a=n(58201),r=h(n(39618)),s=h(n(55994)),l=n(19155),u=n(91577),d=n(19157),c=n(35922);function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e,t)||function(){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 p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var g=(0,a.getWindow)(),m=Math.max,_=Math.round,v={\"column-count\":!0,\"fill-opacity\":!0,\"flex-grow\":!0,\"flex-shrink\":!0,\"font-weight\":!0,\"line-height\":!0,opacity:!0,order:!0,orphans:!0,widows:!0,\"z-index\":!0,zoom:!0},y=\"none\",b=Object.create?function(e){return Object.create(e)}:function(e){var t=function(){};return t.prototype=e,new t},x={scaleX:1,scaleY:1,\"pointer-events\":null},w=(0,r.default)((function(){var e=o.default.createElement(\"div\");return e.style.left=\"-9999px\",e.style.position=\"absolute\",{backupContainer:e,backupCounter:0}}));function C(e){return e&&\"string\"!=typeof e}function S(e){return o.default.createElementNS(\"http://www.w3.org/2000/svg\",e)}function k(e,t){return null!==e?\"url(\"+(t?g.location.href.split(\"#\")[0]:\"\")+\"#\"+e+\")\":e}function D(e,t){var n;for(n in t)e[n]=t[n];return e}var I={full:y,lefttop:\"xMinYMin\",leftcenter:\"xMinYMid\",leftbottom:\"xMinYMax\",centertop:\"xMidYMin\",center:\"xMidYMid\",centerbottom:\"xMidYMax\",righttop:\"xMaxYMin\",rightcenter:\"xMaxYMid\",rightbottom:\"xMaxYMax\"};function T(e,t){return t.hatching&&\"none\"!==(0,d.normalizeEnum)(t.hatching.direction)?((t=D({},t)).fill=e._hatching=e.renderer.lockDefsElements({color:t.fill,hatching:t.hatching},e._hatching,\"pattern\"),delete t.filter):e._hatching?(e.renderer.releaseDefsElements(e._hatching),e._hatching=null,delete t.filter):t.filter?(t=D({},t)).filter=e._filter=e.renderer.lockDefsElements({},e._filter,\"filter\"):e._filter&&(e.renderer.releaseDefsElements(e._filter),e._filter=null),delete t.hatching,t}var E=function(e,t,n,i,o,a,r,s,l,u){return[\"M\",(e+i*o).toFixed(5),(t-i*a).toFixed(5),\"A\",i.toFixed(5),i.toFixed(5),0,u,0,(e+i*r).toFixed(5),(t-i*s).toFixed(5),l?\"M\":\"L\",(e+n*r).toFixed(5),(t-n*s).toFixed(5),\"A\",n.toFixed(5),n.toFixed(5),0,u,1,(e+n*o).toFixed(5),(t-n*a).toFixed(5),\"Z\"].join(\" \")};function O(e,t){var n=[[\"M\",0,0]];switch(t){case\"line\":n=A(e);break;case\"area\":n=A(e,!0);break;case\"bezier\":n=P(e);break;case\"bezierarea\":n=P(e,!0)}return n}function A(e,t){return M(e,R,t)}function P(e,t){return M(e,B,t)}function M(e,t,n){var i,o,a,r=[];if(null!==(i=e[0])&&void 0!==i&&i.length)for(o=0,a=e.length;o<a;++o)t(e[o],n,r);else t(e,n,r);return r}function R(e,t,n){var i=0,o=n.length,a=o,r=(e||[]).length;if(r){if(void 0!==e[0].x)for(;i<r;)n[a++]=[\"L\",e[i].x,e[i++].y];else for(;i<r;)n[a++]=[\"L\",e[i++],e[i++]];n[o][0]=\"M\"}else n[a]=[\"M\",0,0];return t&&n.push([\"Z\"]),n}function B(e,t,n){var i,o=n.length,a=(e||[]).length;if(a)if(void 0!==e[0].x)for(n[o++]=[\"M\",e[0].x,e[0].y],i=1;i<a;)n[o++]=[\"C\",e[i].x,e[i++].y,e[i].x,e[i++].y,e[i].x,e[i++].y];else for(n[o++]=[\"M\",e[0],e[1]],i=2;i<a;)n[o++]=[\"C\",e[i++],e[i++],e[i++],e[i++],e[i++],e[i++]];else n[o]=[\"M\",0,0];return t&&n.push([\"Z\"]),n}function L(e,t){var n=e[e.length-2],i=e[e.length-1];switch(t){case\"line\":case\"area\":e[0]=\"L\";break;case\"bezier\":case\"bezierarea\":e[0]=\"C\",e[1]=e[3]=e[5]=n,e[2]=e[4]=e[6]=i}}function V(e,t,n){var i=e[e.length-1].slice(),o=e.length;for(L(i,n);o<t.length;o++)e[o]=i.slice(0)}function F(e,t,n){var i,o,a,r,s=e.length,l=t.length;if((s-1)%2==0&&(l-1)%2==0){i=(s-1)/2-1,a=(o=e.slice(0,i+1))[o.length-1].slice(0),r=e.slice(i+1)[0].slice(0),L(a,n),L(r,n);for(var u=i;u<(l-1)/2-1;u++)e.splice(u+1,0,a),e.splice(u+3,0,r)}}function H(e,t){var n,i,o=e._styles;for(n in t=t||{})i=t[n],(0,c.isDefined)(i)&&(i+=\"number\"!=typeof i||v[n]?\"\":\"px\",o[n]=\"\"!==i?i:null);for(n in o)(i=o[n])?e.element.style[n]=i:null===i&&(e.element.style[n]=\"\");return e}function N(e,t){var n=e.element,i=e.attr(t);i&&-1!==i.indexOf(\"DevExpress\")&&(n.removeAttribute(t),n.setAttribute(t,k(i,e.renderer.pathModified)))}function z(e,t){t=t||{};var n,i,o,a,r,s,l=e._settings,u={},c=e.element,h=e.renderer,f=h.rtl;if(!C(t))return t in l?l[t]:t in x?x[t]:0;for(n in D(u,t),u)if(void 0!==(i=u[n])){if(l[n]=i,\"align\"===n)n=\"text-anchor\",i={left:f?\"end\":\"start\",center:\"middle\",right:f?\"start\":\"end\"}[i]||null;else{if(\"dashStyle\"===n){a=!0;continue}if(\"stroke-width\"===n)a=!0;else if(!i||\"fill\"!==n&&\"clip-path\"!==n&&\"filter\"!==n||0!==i.indexOf(\"DevExpress\")){if(/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp|sharpDirection)$/i.test(n)){o=!0;continue}/^(x|y|d)$/i.test(n)&&(o=!0)}else e._addFixIRICallback(),i=k(i,h.pathModified)}null===i?c.removeAttribute(n):c.setAttribute(n,i)}if(a&&\"dashStyle\"in l)if(i=l.dashStyle,r=(\"_originalSW\"in e?e._originalSW:l[\"stroke-width\"])||1,n=\"stroke-dasharray\",\"\"===(i=null===i?\"\":(0,d.normalizeEnum)(i))||\"solid\"===i||i===y)e.element.removeAttribute(n);else{for(s=(i=i.replace(/longdash/g,\"8,3,\").replace(/dash/g,\"4,3,\").replace(/dot/g,\"1,3,\").replace(/,$/,\"\").split(\",\")).length;s--;)i[s]=parseInt(i[s])*r;e.element.setAttribute(n,i.join(\",\"))}return o&&e._applyTransformation(),e}function j(e,t,n){var i,a,r;for(i=0,a=e.length;i<a;++i)(r=e[i])[n]=S(\"tspan\"),r[n].appendChild(o.default.createTextNode(r.value)),r.style&&H({element:r[n],_styles:{}},r.style),r.className&&r[n].setAttribute(\"class\",r.className),t.appendChild(r[n])}function W(){this._hasEllipsis&&this.attr({text:this._settings.text})}function G(e){var t;return e&&((t=e.cloneNode()).removeAttribute(\"y\"),t.removeAttribute(\"x\")),t||e}function q(e){for(var t=o.default.querySelectorAll(e,\"title\"),n=0;n<t.length;n++)e.removeChild(t[n]);return t}function $(e){var t=q(e);return function(){for(var n=0;n<t.length;n++)e.appendChild(t[n])}}function U(e,t,n,i){var o,a;if(n<=t&&i>t)for(o=1,a=e.value.length;o<=a;++o)if(n+e.tspan.getSubStringLength(0,o)>t)return o-1}function K(e){return e.value.length?e.tspan.getSubStringLength(0,e.value.length):0}function Z(e,t){return t.hideOverflowEllipsis&&0===e?\"\":\"...\"}function Y(e,t,n){var i=Z(t,n);if(e.value.length&&e.tspan.parentNode)for(var o=e.value.length-1;o>=1;o--){if(e.startBox+e.tspan.getSubStringLength(0,o)<t){J(e,o,i);break}1===o&&J(e,0,i)}}function X(e,t,n,i,o){var a=n.textOverflow;if(!isFinite(i)||0===Number(i)||\"none\"===a)return e;var r=e.reduce((function(e,r,s,l){var u=f(e,2),d=u[0],c=u[1];if((c+=function(e,t){return e.parts.reduce((function(e,n){return m(e,ne(n,t))}),0)}(r,o))<i)d.push(r);else if(r.parts.forEach((function(e){ee(e)})),\"ellipsis\"===a){var h=l[s-1];if(h){var p=h.parts[h.parts.length-1];p.hasEllipsis||(0===t||p.endBox<t?J(p,p.value.length,Z(t,n)):Y(p,t,n))}}return[d,c]}),[[],0]);return\"hide\"===a&&r[1]>i?(r[0].forEach((function(e){e.parts.forEach((function(e){ee(e)}))})),[]):r[0]}function Q(e,t,n,i,o){if(!t){var a={value:e.textContent,height:0,line:0};e.textContent=\"\",j([a],e,\"tspan\"),t=[a]}return t.reduce((function(e,t){var a=f(e,5),r=a[0],s=a[1],l=a[2],u=a[3],d=a[4],h=r[r.length-1];if(u)return[r,s,l,u];if(h&&t.line===d){if(t.startBox=s,s>i&&\"none\"===o.wordWrap&&\"ellipsis\"===o.textOverflow)return ee(t),[r,s,l,u,d];h.parts.push(t),h.commonLength+=t.value.length}else t.startBox=s=0,r.push({commonLength:t.value.length,parts:[t]});if(t.endBox=l=s+K(t),s=l,(0,c.isDefined)(n)&&l>n){var p=function e(t,n,i,o,a){var r,s=t.value;\"none\"!==o.wordWrap&&(r=\"normal\"===o.wordWrap?function(e,t){for(var n=e.startBox>0?[0]:[],i=e.value.split(\"\").reduce((function(e,t,n){return\" \"===t&&e.push(n),e}),n),o=0;void 0!==i[o+1]&&e.startBox+e.tspan.getSubStringLength(0,i[o+1])<t;)o++;return i[o]}(t,n):function(e,t){for(var n=0;n<e.value.length-1;n++)if(e.startBox+e.tspan.getSubStringLength(0,n+1)>t)return n}(t,n));var l,u=[];if(isFinite(r)&&(0!==a||0!==r)){J(t,r,\"\");var d=\" \"===s[r]?1:0,c=s.slice(r+d);if(c.length){var h=G(t.tspan);if(h.textContent=c,t.tspan.parentNode.appendChild(h),(l=D(D({},t),{value:c,startBox:0,height:0,tspan:h,stroke:G(t.stroke),endBox:h.getSubStringLength(0,c.length)})).stroke&&(l.stroke.textContent=c),l.endBox>n&&!(u=e(l,n,i,o,r)).length)return[]}}if(t.value.length){if(\"ellipsis\"===o.textOverflow&&t.tspan.getSubStringLength(0,t.value.length)>n&&Y(t,i,o),\"hide\"===o.textOverflow&&t.tspan.getSubStringLength(0,t.value.length)>n)return[]}else t.tspan.parentNode.removeChild(t.tspan);var f=[];return l&&f.push(l),[{commonLength:s.length,parts:f}].concat(u)}(t,n,i,o);p.length?r=r.concat(p.filter((function(e){return e.parts.length>0}))):(r=[],u=!0)}return[r,s,l,u,t.line]}),[[],0,0,!1,0])[0]}function J(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"...\",i=e.value.substr(0,t)+n;e.value=e.tspan.textContent=i,e.stroke&&(e.stroke.textContent=i),\"...\"===n&&(e.hasEllipsis=!0)}function ee(e){e.tspan.parentNode&&e.tspan.parentNode.removeChild(e.tspan),e.stroke&&e.stroke.parentNode&&e.stroke.parentNode.removeChild(e.stroke)}function te(e,t,n){e.tspan.setAttribute(t,n),e.stroke&&e.stroke.setAttribute(t,n)}function ne(e,t){return e.inherits?oe(e.height,t):e.height||t}function ie(e){if(e._texts){var t,n,i=e._texts,o=e._settings.x,a=e._getLineHeight(),r=i[0];for(te(r,\"x\",o),te(r,\"y\",e._settings.y),t=1,n=i.length;t<n;++t){if(r=i[t],parseFloat(r.height)>=0)te(r,\"x\",o),te(r,\"dy\",ne(r,a))}}}function oe(e,t){var n=parseFloat(e),i=parseFloat(t),o=n||12,a=i||12;return o>a?isNaN(n)?o:e:isNaN(i)?a:t}function ae(e,t,n,i){var o,a;n=n||{};var r=e.renderer,s=e._settings,l={},u={translateX:0,translateY:0,scaleX:1,scaleY:1,rotate:0,rotateX:0,rotateY:0};if(i&&(n.complete=i),r.animationEnabled()){for(o in t)a=t[o],/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(o)?(l.transform=l.transform||{from:{},to:{}},l.transform.from[o]=o in s?Number(s[o].toFixed(3)):u[o],l.transform.to[o]=a):l[o]=\"arc\"===o||\"segments\"===o?a:{from:o in s?s[o]:parseFloat(e.element.getAttribute(o)||0),to:a};r.animateElement(e,l,D(D({},r._animation),n))}else n.step&&n.step.call(e,1,1),n.complete&&n.complete.call(e),e.attr(t);return e}function re(e,t){var n={is:!1,name:t.name||t,after:t.after};return e?n.to=e:n.virtual=!0,n}var se=function(e,t,n){this.renderer=e,this.element=S(t),this._settings={},this._styles={},\"path\"===t&&(this.type=n||\"line\")};function le(e){_e.remove(e)}t.SvgElement=se,se.prototype={constructor:se,_getJQElement:function(){return this._$element||(this._$element=(0,i.default)(this.element))},_addFixIRICallback:function(){var e=this,t=function(){N(e,\"fill\"),N(e,\"clip-path\"),N(e,\"filter\")};e.element._fixFuncIri=t,t.renderer=e.renderer,_e.add(t),e._addFixIRICallback=function(){}},_clearChildrenFuncIri:function(){!function e(t){var n;for(n=0;n<t.childNodes.length;n++)le(t.childNodes[n]._fixFuncIri),e(t.childNodes[n])}(this.element)},dispose:function(){return le(this.element._fixFuncIri),this._clearChildrenFuncIri(),this._getJQElement().remove(),this},append:function(e){return(e||this.renderer.root).element.appendChild(this.element),this},remove:function(){var e=this.element;return e.parentNode&&e.parentNode.removeChild(e),this},enableLinks:function(){return this._links=[],this},virtualLink:function(e){return pe({_link:re(null,e)},this),this},linkAfter:function(e){return this._linkAfter=e,this},linkOn:function(e,t){return this._link=re(e,t),pe(this,e),this},linkOff:function(){return function(e){var t,n=e._link.to._links;for(t=0;n[t]!==e;++t);n.splice(t,1),fe(n,t)}(this),this._link=null,this},linkAppend:function(){var e,t,n=this._link,i=n.to._links;for(e=n.i+1;(t=i[e])&&!t._link.is;++e);return this._insert(n.to,t),n.is=!0,this},_insert:function(e,t){e.element.insertBefore(this.element,t?t.element:null)},linkRemove:function(){return this.remove(),this._link.is=!1,this},clear:function(){return this._clearChildrenFuncIri(),this._getJQElement().empty(),this},toBackground:function(){var e=this.element,t=e.parentNode;return t&&t.insertBefore(e,t.firstChild),this},toForeground:function(){var e=this.element,t=e.parentNode;return t&&t.appendChild(e),this},attr:function(e){return z(this,e)},smartAttr:function(e){return this.attr(T(this,e))},css:function(e){return H(this,e)},animate:function(e,t,n){return ae(this,e,t,n)},sharp:function(e,t){return this.attr({sharp:e||!0,sharpDirection:t})},_applyTransformation:function(){var e,t,n=this._settings,i=[],o=n.sharp,a=n.sharpDirection||1,r=n[\"stroke-width\"]%2,s=!r||\"h\"!==o&&!0!==o?0:.5*a,l=!r||\"v\"!==o&&!0!==o?0:.5*a;i.push(\"translate(\"+((n.translateX||0)+s)+\",\"+((n.translateY||0)+l)+\")\"),n.rotate&&(e=\"rotateX\"in n?n.rotateX:n.x,t=\"rotateY\"in n?n.rotateY:n.y,i.push(\"rotate(\"+n.rotate+\",\"+(e||0)+\",\"+(t||0)+\")\"));var u=(0,c.isDefined)(n.scaleX),d=(0,c.isDefined)(n.scaleY);(u||d)&&i.push(\"scale(\"+(u?n.scaleX:1)+\",\"+(d?n.scaleY:1)+\")\"),i.length&&this.element.setAttribute(\"transform\",i.join(\" \"))},move:function(e,t,n,i){var o={};return(0,c.isDefined)(e)&&(o.translateX=e),(0,c.isDefined)(t)&&(o.translateY=t),n?this.animate(o,i):this.attr(o),this},rotate:function(e,t,n,i,o){var a={rotate:e||0};return(0,c.isDefined)(t)&&(a.rotateX=t),(0,c.isDefined)(n)&&(a.rotateY=n),i?this.animate(a,o):this.attr(a),this},_getElementBBox:function(){var e,t=this.element;try{e=t.getBBox&&t.getBBox()}catch(e){}return e||{x:0,y:0,width:t.offsetWidth||0,height:t.offsetHeight||0}},getBBox:function(){var e=this._settings,t=this._getElementBBox();return t=e.rotate?(0,d.rotateBBox)(t,[(\"rotateX\"in e?e.rotateX:e.x)||0,(\"rotateY\"in e?e.rotateY:e.y)||0],-e.rotate):(0,d.normalizeBBox)(t)},markup:function(){return(0,l.getSvgMarkup)(this.element)},getOffset:function(){return this._getJQElement().offset()},stopAnimation:function(e){var t=this.animation;return t&&t.stop(e),this},setTitle:function(e){var t=S(\"title\");t.textContent=e||\"\",this.element.appendChild(t)},removeTitle:function(){q(this.element)},data:function(e,t){var n,i=this.element;if(void 0!==t)i[e]=t;else for(n in e)i[n]=e[n];return this},on:function(){var e=[this._getJQElement()];return e.push.apply(e,arguments),s.default.on.apply(s.default,e),this},off:function(){var e=[this._getJQElement()];return e.push.apply(e,arguments),s.default.off.apply(s.default,e),this},trigger:function(){var e=[this._getJQElement()];return e.push.apply(e,arguments),s.default.trigger.apply(s.default,e),this}};var ue=function(e,t){se.call(this,e,\"path\",t)};t.PathSvgElement=ue,D(ue.prototype=b(se.prototype),{constructor:ue,attr:function(e){var t;return C(e)&&(t=(e=D({},e)).segments,\"points\"in e&&(t=O(e.points,this.type),delete e.points),t&&(e.d=function(e){var t,n,i,o,a=[],r=0,s=e.length;for(t=0;t<s;++t)for(i=0,o=(n=e[t]).length;i<o;++i)a[r++]=n[i];return a.join(\" \")}(t),this.segments=t,delete e.segments)),z(this,e)},animate:function(e,t,n){var i,o,a=this.segments||[];return this.renderer.animationEnabled()&&\"points\"in e&&(o=function(e,t,n){var i,o,a=e.length,r=t.length,s=-1!==n.indexOf(\"area\")?F:V;if(0===a)for(i=0;i<r;i++)e.push(t[i].slice(0));else a<r?s(e,t,n):a>r&&(o=t.slice(0),s(t,e,n));return o}(a,i=O(e.points,this.type),this.type),e.segments={from:a,to:i,end:o},delete e.points),ae(this,e,t,n)}});var de=function(e){se.call(this,e,\"path\",\"arc\")};t.ArcSvgElement=de,D(de.prototype=b(se.prototype),{constructor:de,attr:function(e){var t,n,i,o,a,r,s=this._settings;return C(e)&&(\"x\"in(e=D({},e))||\"y\"in e||\"innerRadius\"in e||\"outerRadius\"in e||\"startAngle\"in e||\"endAngle\"in e)&&(s.x=t=\"x\"in e?e.x:s.x,delete e.x,s.y=n=\"y\"in e?e.y:s.y,delete e.y,s.innerRadius=i=\"innerRadius\"in e?e.innerRadius:s.innerRadius,delete e.innerRadius,s.outerRadius=o=\"outerRadius\"in e?e.outerRadius:s.outerRadius,delete e.outerRadius,s.startAngle=a=\"startAngle\"in e?e.startAngle:s.startAngle,delete e.startAngle,s.endAngle=r=\"endAngle\"in e?e.endAngle:s.endAngle,delete e.endAngle,e.d=E.apply(null,(0,d.normalizeArcParams)(t,n,i,o,a,r))),z(this,e)},animate:function(e,t,n){var i=this._settings,o={from:{},to:{}};return this.renderer.animationEnabled()&&(\"x\"in e||\"y\"in e||\"innerRadius\"in e||\"outerRadius\"in e||\"startAngle\"in e||\"endAngle\"in e)&&(o.from.x=i.x||0,o.from.y=i.y||0,o.from.innerRadius=i.innerRadius||0,o.from.outerRadius=i.outerRadius||0,o.from.startAngle=i.startAngle||0,o.from.endAngle=i.endAngle||0,o.to.x=\"x\"in e?e.x:i.x,delete e.x,o.to.y=\"y\"in e?e.y:i.y,delete e.y,o.to.innerRadius=\"innerRadius\"in e?e.innerRadius:i.innerRadius,delete e.innerRadius,o.to.outerRadius=\"outerRadius\"in e?e.outerRadius:i.outerRadius,delete e.outerRadius,o.to.startAngle=\"startAngle\"in e?e.startAngle:i.startAngle,delete e.startAngle,o.to.endAngle=\"endAngle\"in e?e.endAngle:i.endAngle,delete e.endAngle,e.arc=o),ae(this,e,t,n)}});var ce=function(e){se.call(this,e,\"rect\")};t.RectSvgElement=ce,D(ce.prototype=b(se.prototype),{constructor:ce,attr:function(e){var t,n,i,o,a,r,s;return C(e)&&(void 0===(e=D({},e)).x&&void 0===e.y&&void 0===e.width&&void 0===e.height&&void 0===e[\"stroke-width\"]||(t=void 0!==e.x?this._originalX=e.x:this._originalX||0,n=void 0!==e.y?this._originalY=e.y:this._originalY||0,i=void 0!==e.width?this._originalWidth=e.width:this._originalWidth||0,o=void 0!==e.height?this._originalHeight=e.height:this._originalHeight||0,s=((a=void 0!==e[\"stroke-width\"]?this._originalSW=e[\"stroke-width\"]:this._originalSW)||0)<(r=~~((i<o?i:o)/2))?a||0:r,e.x=t+s/2,e.y=n+s/2,e.width=i-s,e.height=o-s,((a||0)!==s||0!==s||void 0!==a)&&(e[\"stroke-width\"]=s)),\"sharp\"in e&&delete e.sharp),z(this,e)}});var he=function(e){se.call(this,e,\"text\"),this.css({\"white-space\":\"pre\"})};function fe(e,t){var n,i;for(n=t;i=e[n];++n)i._link.i=n}function pe(e,t){var n,i,o=t._links,a=e._link.after=e._link.after||t._linkAfter;if(a){for(n=0;(i=o[n])&&i._link.name!==a;++n);if(i)for(++n;(i=o[n])&&i._link.after===a;++n);}else n=o.length;o.splice(n,0,e),fe(o,n)}function ge(e){this.root=this._createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",version:\"1.1\",fill:y,stroke:y,\"stroke-width\":0}).attr({class:e.cssClass}).css({\"line-height\":\"normal\",\"-ms-user-select\":y,\"-moz-user-select\":y,\"-webkit-user-select\":y,\"-webkit-tap-highlight-color\":\"rgba(0, 0, 0, 0)\",display:\"block\",overflow:\"hidden\"}),this._init(),this.pathModified=!!e.pathModified,this._$container=(0,i.default)(e.container),this.root.append({element:e.container}),this._locker=0,this._backed=!1}t.TextSvgElement=he,D(he.prototype=b(se.prototype),{constructor:he,attr:function(e){var t;if(!C(e))return z(this,e);e=D({},e);var n=this._settings,i=(0,c.isDefined)(n.stroke)&&(0,c.isDefined)(n[\"stroke-width\"]);void 0!==e.text&&(n.text=e.text,delete e.text,t=!0),void 0!==e.stroke&&(n.stroke=e.stroke,delete e.stroke),void 0!==e[\"stroke-width\"]&&(n[\"stroke-width\"]=e[\"stroke-width\"],delete e[\"stroke-width\"]),void 0!==e[\"stroke-opacity\"]&&(n[\"stroke-opacity\"]=e[\"stroke-opacity\"],delete e[\"stroke-opacity\"]),void 0!==e.textsAlignment&&(!function(e,t){if(!e._texts||\"center\"===t)return;for(var n=e._texts,i=\"left\"===t?-1:1,o=Math.max.apply(Math,n.map((function(e){return K(e)}))),a=0;a<n.length;a++){var r=n[a],s=K(r);0!==o&&o!==s&&te(r,\"dx\",i*_((o-s)/2*10)/10)}}(this,e.textsAlignment),delete e.textsAlignment);var a=(0,c.isDefined)(n.stroke)&&(0,c.isDefined)(n[\"stroke-width\"]);return z(this,e),(t=t||a!==i&&n.text)&&(!function(e,t,n){var i,a;if(e._texts=null,e.clear(),null===t)return;t=\"\"+t,e.renderer.encodeHtml||!/<[a-z][\\s\\S]*>/i.test(t)&&-1===t.indexOf(\"&\")?/\\n/g.test(t)?i=function(e){for(var t=e.replace(/\\r/g,\"\").split(/\\n/g),n=0,i=[];n<t.length;n++)i.push({value:t[n].trim(),height:0,line:n});return i}(t):n&&(i=[{value:t.trim(),height:0}]):(r=/(style|class)\\s*=\\s*([\"'])(?:(?!\\2).)*\\2\\s?/gi,a=t.replace(/(?:(<[a-z0-9]+\\s*))([\\s\\S]*?)(>|\\/>)/gi,(function(e,t,n,i){return t+(n=(n&&n.match(r)||[]).map((function(e){return e})).join(\" \"))+i})),i=function(e){var t=[],n=o.default.createElement(\"div\");return n.innerHTML=e.replace(/\\r/g,\"\").replace(/\\n/g,\"<br/>\").replace(/style=/g,\"data-style=\"),n.querySelectorAll(\"[data-style]\").forEach((function(e){e.style=e.getAttribute(\"data-style\"),e.removeAttribute(\"data-style\")})),function e(t,n,i,a,r){var s,l,u,d,c;if(void 0!==i.wholeText)t.push({value:i.wholeText,style:a,className:r,line:n,height:a[\"font-size\"]||0});else if(\"BR\"===i.tagName)++n;else if(o.default.isElementNode(i)){switch(D(s={},a),i.tagName){case\"B\":case\"STRONG\":s[\"font-weight\"]=\"bold\";break;case\"I\":case\"EM\":s[\"font-style\"]=\"italic\";break;case\"U\":s[\"text-decoration\"]=\"underline\"}for((l=i.style).color&&(s.fill=l.color),l.fontSize&&(s[\"font-size\"]=l.fontSize),l.fontStyle&&(s[\"font-style\"]=l.fontStyle),l.fontWeight&&(s[\"font-weight\"]=l.fontWeight),l.textDecoration&&(s[\"text-decoration\"]=l.textDecoration),u=0,c=i.childNodes,d=c.length;u<d;++u)n=e(t,n,c[u],s,i.className||r)}return n}(t,0,n,{},\"\"),function(e){var t,n,i,o=e[0];for(t=1,n=e.length;t<n;++t)(i=e[t]).line===o.line?(o.height=oe(o.height,i.height),o.inherits=o.inherits||0===parseFloat(i.height),i.height=NaN):o=i}(t),t}(a));var r;i?i.length&&(e._texts=i,n&&j(i,e.element,\"stroke\"),j(i,e.element,\"tspan\")):e.element.appendChild(o.default.createTextNode(t))}(this,n.text,a),this._hasEllipsis=!1),(t||void 0!==e.x||void 0!==e.y)&&ie(this),a&&function(e){if(!e._texts)return;var t,n,i,o=e._texts,a=e._settings.stroke,r=e._settings[\"stroke-width\"],s=e._settings[\"stroke-opacity\"]||1;for(n=0,i=o.length;n<i;++n)(t=o[n].stroke).setAttribute(\"stroke\",a),t.setAttribute(\"stroke-width\",r),t.setAttribute(\"stroke-opacity\",s),t.setAttribute(\"stroke-linejoin\",\"round\")}(this),this},css:function(e){return H(this,e=e||{}),\"font-size\"in e&&ie(this),this},applyEllipsis:function(e){var t,n,i,o,a,r,s,l=!1;W.call(this);var u=this.renderer.text(\"...\").attr(this._styles).append(this.renderer.root),d=u.getBBox().width;if(this._getElementBBox().width>e)for(e-d<0?e=0:e-=d,t=function(e,t,n){var i,o,a,r,s,l=[];if(t)for(i=0,o=t.length;i<o;++i)a=t[i],l[a.line]?(a.startBox=r,l[a.line].parts.push(a),l[a.line].commonLength+=a.value.length):(a.startBox=r=0,l.push({commonLength:a.value.length,parts:[a]})),s=r+a.tspan.getSubStringLength(0,a.value.length),a.endIndex=U(a,n,r,s),r=s;else(a={value:e.textContent,tspan:e}).startBox=r=0,s=r+K(a),a.endIndex=U(a,n,r,s),l=[{commonLength:e.textContent.length,parts:[a]}];return l}(this.element,this._texts,e),n=0,i=t.length;n<i;++n)if(o=t[n].parts,1!==t[n].commonLength)for(a=0,r=o.length;a<r;++a)s=o[a],(0,c.isDefined)(s.endIndex)?(J(s,s.endIndex),l=!0):s.startBox>e&&ee(s);return u.remove(),this._hasEllipsis=l,l},setMaxSize:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,o=[],a=!1,r=!1,s=e;W.call(i);var l=$(this.element),u=i.renderer.text(\"...\").attr(i._styles).append(i.renderer.root),d=u.getBBox().width,c=i._getElementBBox(),h=c.width,f=c.height;return(h||f)&&(h>e||t&&f>t)&&(e-d<0?s=0:s-=d,o=X(o=Q(i.element,i._texts,e,s,n),s,n,t,parseFloat(this._getLineHeight())),this._texts=o.reduce((function(e,t){return e.concat(t.parts)}),[]).filter((function(e){return\"\"!==e.value})).map((function(e){return e.stroke&&e.tspan.parentNode.appendChild(e.stroke),e})).map((function(e){return e.tspan.parentNode.appendChild(e.tspan),e})),!this._texts.length&&(this._texts=null),a=!0,this._texts?ie(this):(this.element.textContent=\"\",r=!0)),u.remove(),i._hasEllipsis=a,l(),{rowCount:o.length,textChanged:a,textIsEmpty:r}},restoreText:W,_getLineHeight:function(){return isNaN(parseFloat(this._styles[\"font-size\"]))?12:this._styles[\"font-size\"]}}),ge.prototype={constructor:ge,_init:function(){this._defs=this._createElement(\"defs\").append(this.root),this._animationController=new u.AnimationController(this.root.element),this._animation={enabled:!0,duration:1e3,easing:\"easeOutCubic\"}},setOptions:function(e){return this.rtl=!!e.rtl,this.encodeHtml=!!e.encodeHtml,this.updateAnimationOptions(e.animation||{}),this.root.attr({direction:this.rtl?\"rtl\":\"ltr\"}),this},_createElement:function(e,t,n){var i=new se(this,e,n);return t&&i.attr(t),i},lock:function(){var e;return 0===this._locker&&(this._backed=!this._$container.is(\":visible\"),this._backed&&(e=this.root,0===w().backupCounter&&o.default.getBody().appendChild(w().backupContainer),++w().backupCounter,e.append({element:w().backupContainer}))),++this._locker,this},unlock:function(){var e,t;return--this._locker,0===this._locker&&(this._backed&&(e=this.root,t=this._$container[0],e.append({element:t}),--w().backupCounter,0===w().backupCounter&&o.default.getBody().removeChild(w().backupContainer)),this._backed=!1),this},resize:function(e,t){return e>=0&&t>=0&&this.root.attr({width:e,height:t}),this},dispose:function(){var e;for(e in this.root.dispose(),this._defs.dispose(),this._animationController.dispose(),_e.removeByRenderer(this),this)this[e]=null;return this},animationEnabled:function(){return!!this._animation.enabled},updateAnimationOptions:function(e){return D(this._animation,e),this},stopAllAnimations:function(e){return this._animationController[e?\"lock\":\"stop\"](),this},animateElement:function(e,t,n){return this._animationController.animateElement(e,t,n),this},svg:function(){return this.root.markup()},getRootOffset:function(){return this.root.getOffset()},onEndAnimation:function(e){this._animationController.onEndAnimation(e)},rect:function(e,t,n,i){return new ce(this).attr({x:e||0,y:t||0,width:n||0,height:i||0})},simpleRect:function(){return this._createElement(\"rect\")},circle:function(e,t,n){return this._createElement(\"circle\",{cx:e||0,cy:t||0,r:n||0})},g:function(){return this._createElement(\"g\")},image:function(e,t,n,i,o,a){var r=this._createElement(\"image\",{x:e||0,y:t||0,width:n||0,height:i||0,preserveAspectRatio:I[(0,d.normalizeEnum)(a)]||y});return r.element.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",o||\"\"),r},path:function(e,t){return new ue(this,t).attr({points:e||[]})},arc:function(e,t,n,i,o,a){return new de(this).attr({x:e||0,y:t||0,innerRadius:n||0,outerRadius:i||0,startAngle:o||0,endAngle:a||0})},text:function(e,t,n){return new he(this).attr({text:e,x:t||0,y:n||0})},linearGradient:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,d.getNextDefsSvgId)(),n=arguments.length>2?arguments[2]:void 0,i=this._createElement(\"linearGradient\",{id:t,gradientTransform:\"rotate(\".concat(n||0,\")\")}).append(this._defs);return i.id=t,this._createGradientStops(e,i),i},radialGradient:function(e,t){var n=this._createElement(\"radialGradient\",{id:t}).append(this._defs);return this._createGradientStops(e,n),n},_createGradientStops:function(e,t){var n=this;e.forEach((function(e){var i;n._createElement(\"stop\",{offset:e.offset,\"stop-color\":null!==(i=e[\"stop-color\"])&&void 0!==i?i:e.color,\"stop-opacity\":e.opacity}).append(t)}))},pattern:function(e,t,n){var i=(t=t||{}).step||6,o=i/2,a=1.5*i,r=n||(0,d.getNextDefsSvgId)(),s=\"right\"===(0,d.normalizeEnum)(t.direction)?\"M \"+o+\" \"+-o+\" L \"+-o+\" \"+o+\" M 0 \"+i+\" L \"+i+\" 0 M \"+a+\" \"+o+\" L \"+o+\" \"+a:\"M 0 0 L \"+i+\" \"+i+\" M \"+-o+\" \"+o+\" L \"+o+\" \"+a+\" M \"+o+\" \"+-o+\" L \"+a+\" \"+o,l=this._createElement(\"pattern\",{id:r,width:i,height:i,patternUnits:\"userSpaceOnUse\"}).append(this._defs);l.id=r;this.rect(0,0,i,i).attr({fill:e,opacity:t.opacity}).append(l),new ue(this).attr({d:s,\"stroke-width\":t.width||1,stroke:e}).append(l);return l},customPattern:function(e,t,n,i){var o={id:e,width:n,height:i,patternContentUnits:\"userSpaceOnUse\",patternUnits:this._getPatternUnits(n,i)},a=this._createElement(\"pattern\",o).append(this._defs);return t.render({container:a.element}),a},_getPatternUnits:function(e,t){if(Number(e)&&Number(t))return\"userSpaceOnUse\"},_getPointsWithYOffset:function(e,t){return e.map((function(e,n){return n%2!=0?e+t:e}))},clipShape:function(e,t){var n=(0,d.getNextDefsSvgId)(),i=this._createElement(\"clipPath\",{id:n}).append(this._defs),o=e.apply(this,t).append(i);return o.id=n,o.remove=function(){throw\"Not implemented\"},o.dispose=function(){return i.dispose(),i=null,this},o},clipRect:function(e,t,n,i){return this.clipShape(this.rect,arguments)},clipCircle:function(e,t,n){return this.clipShape(this.circle,arguments)},shadowFilter:function(e,t,n,i,o,a,r,s,l){var u=(0,d.getNextDefsSvgId)(),c=this._createElement(\"filter\",{id:u,x:e||0,y:t||0,width:n||0,height:i||0}).append(this._defs),h=this._createElement(\"feGaussianBlur\",{in:\"SourceGraphic\",result:\"gaussianBlurResult\",stdDeviation:r||0}).append(c),f=this._createElement(\"feOffset\",{in:\"gaussianBlurResult\",result:\"offsetResult\",dx:o||0,dy:a||0}).append(c),p=this._createElement(\"feFlood\",{result:\"floodResult\",\"flood-color\":s||\"\",\"flood-opacity\":l}).append(c),g=this._createElement(\"feComposite\",{in:\"floodResult\",in2:\"offsetResult\",operator:\"in\",result:\"compositeResult\"}).append(c),m=this._createElement(\"feComposite\",{in:\"SourceGraphic\",in2:\"compositeResult\",operator:\"over\"}).append(c);return c.id=u,c.gaussianBlur=h,c.offset=f,c.flood=p,c.composite=g,c.finalComposite=m,c.attr=function(e){var t={},n={},i={};return\"x\"in e&&(t.x=e.x),\"y\"in e&&(t.y=e.y),\"width\"in e&&(t.width=e.width),\"height\"in e&&(t.height=e.height),z(this,t),\"blur\"in e&&this.gaussianBlur.attr({stdDeviation:e.blur}),\"offsetX\"in e&&(n.dx=e.offsetX),\"offsetY\"in e&&(n.dy=e.offsetY),this.offset.attr(n),\"color\"in e&&(i[\"flood-color\"]=e.color),\"opacity\"in e&&(i[\"flood-opacity\"]=e.opacity),this.flood.attr(i),this},c},brightFilter:function(e,t){var n=(0,d.getNextDefsSvgId)(),i=this._createElement(\"filter\",{id:n}).append(this._defs),o=this._createElement(\"feComponentTransfer\").append(i),a={type:e,slope:t};return i.id=n,this._createElement(\"feFuncR\",a).append(o),this._createElement(\"feFuncG\",a).append(o),this._createElement(\"feFuncB\",a).append(o),i},getGrayScaleFilter:function(){if(this._grayScaleFilter)return this._grayScaleFilter;var e=(0,d.getNextDefsSvgId)(),t=this._createElement(\"filter\",{id:e}).append(this._defs);return this._createElement(\"feColorMatrix\").attr({type:\"matrix\",values:\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 0.6 0\"}).append(t),t.id=e,this._grayScaleFilter=t,t},lightenFilter:function(e){var t=this._createElement(\"filter\",{id:e}).append(this._defs);return this._createElement(\"feColorMatrix\",{type:\"matrix\",values:\"\".concat(1.3,\" 0 0 0 0 0 \").concat(1.3,\" 0 0 0 0 0 \").concat(1.3,\" 0 0 0 0 0 1 0\")}).append(t),t.id=e,t},initDefsElements:function(){var e,t=this._defsElementsStorage=this._defsElementsStorage||{byHash:{},baseId:(0,d.getNextDefsSvgId)()},n=t.byHash;for(e in n)n[e].pattern.dispose();t.byHash={},t.refToHash={},t.nextId=0},drawPattern:function(e,t,n){var i=e.color,o=e.hatching;return this.pattern(i,o,\"\".concat(t,\"-hatching-\").concat(n++))},drawFilter:function(e,t,n){return this.lightenFilter(\"\".concat(t,\"-lightening-\").concat(n++))},lockDefsElements:function(e,t,n){var i,o,a,r,s,l=this._defsElementsStorage,u=\"pattern\"===n?(a=(o=e).color,r=o.hatching,\"@\"+a+\"::\"+r.step+\":\"+r.width+\":\"+r.opacity+\":\"+r.direction):\"@filter::lightening\",d=\"pattern\"===n?this.drawPattern:this.drawFilter;return l.refToHash[t]!==u&&(t&&this.releaseDefsElements(t),(i=l.byHash[u])||(s=d.call(this,e,l.baseId,l.nextId++),i=l.byHash[u]={pattern:s,count:0},l.refToHash[s.id]=u),++i.count,t=i.pattern.id),t},releaseDefsElements:function(e){var t=this._defsElementsStorage,n=t.refToHash[e],i=t.byHash[n];i&&0==--i.count&&(i.pattern.dispose(),delete t.byHash[n],delete t.refToHash[e])}};var me,_e=(me=[],{add:function(e){me.push(e)},remove:function(e){me=me.filter((function(t){return t!==e}))},removeByRenderer:function(e){me=me.filter((function(t){return t.renderer!==e}))},fire:function(){me.forEach((function(e){e()}))}});t.refreshPaths=function(){_e.fire()}},1939:function(e,t,n){t.SeriesFamily=P;var i,o=n(35922),a=n(13306),r=n(95479),s=n(60810),l=n(20576),u=n(19157),d=(i=n(91198))&&i.__esModule?i:{default:i};var c=Math.round,h=Math.abs,f=Math.pow,p=Math.sqrt,g=Math.min;function m(e,t,n,i,a,s,l){e.forEach((function(e){var u,d=l(t.indexOf(i),t.length),c=e.getPointsByArg(n,!0),h=function(e){return e<0||e>1?void 0:e}(e.getOptions().barPadding),f=e.getOptions().barWidth,p=b(d,a),g=a.width;-1!==d&&(((0,o.isDefined)(h)||(0,o.isDefined)(f))&&(g=(u=y(s,t.length,1-h,f)).width,e.getBarOverlapGroup()||(p=b(d,u))),function(e,t,n){(0,r.each)(e,(function(e,i){i.correctCoordinates({width:t,offset:n})}))}(c,g,p))}))}function _(e){return e.getStackName()||e.getBarOverlapGroup()}function v(e,t,n){var i,o,a,r=[],s=[],l={},u=t.barGroupWidth,c=null===(i=e[0])||void 0===i?void 0:i.getArgumentAxis();if(null!==(o=e[0])&&void 0!==o&&o.useAggregation()){var h,f=\"datetime\"===(null===(h=e[0])||void 0===h?void 0:h.argumentType),p=c.getTickInterval(),g=c.getAggregationInterval();p=f?d.default.dateToMilliseconds(p):p,a=(g=f?d.default.dateToMilliseconds(g):g)<p?g:p}a=null==c?void 0:c.getTranslator().getInterval(a);var v,b=u?a>u?u:a:a*(1-((v=t.barGroupPadding)<0||v>1?.3:v));e.forEach((function(e,t){var n,i=_(e)||t.toString();for(n in e.pointsByArgument)-1===s.indexOf(n.valueOf())&&s.push(n.valueOf());-1===r.indexOf(i)&&(r.push(i),l[i]=[]),l[i].push(e)})),s.forEach((function(e){var t=r.reduce((function(t,n){return function(e,t){return e.some((function(e){return!e.getOptions().ignoreEmptyPoints||e.getPointsByArg(t,!0).some((function(e){return e.hasValue()}))}))}(l[n],e)&&t.push(n),t}),[]),i=y(b,t.length);r.forEach((function(o){m(l[o],t,e,o,i,b,n)}))}))}function y(e,t,n,i){var a,r;return i?(r=g(i,e/t),a=t>1?c((e-c(r)*t)/(t-1)):0):(0,o.isDefined)(n)?(r=e*n/t,a=t>1?c((e-e*n)/(t-1)):0):r=(e-(a=c(e/t*.2))*(t-1))/t,{width:r>1?c(r):1,spacing:a,middleIndex:t/2,rawWidth:r}}function b(e,t){var n=t.rawWidth<1?t.rawWidth:t.width;return(e-t.middleIndex+.5)*n-(t.middleIndex-e-.5)*t.spacing}function x(e){return e.series.filter((function(e){return e.isVisible()}))}function w(e,t,n){return((e.positive[t]||{})[n]||0)+(-(e.negative[t]||{})[n]||0)}function C(e){return e?function(e,t){return t-e-1}:function(e){return e}}function S(e){return e[0]&&e[0].getArgumentAxis().getTranslator().isInverted()}function k(){var e=x(this);v(e,this._options,C(S(e)))}function D(){var e=this._options.negativesAsZeroes,t=x(this),n={positive:{},negative:{}},i={left:{},right:{}},o={},r={};t.forEach((function(t){var l=_(t),u=!1,d=function(e){for(var t,n=e.getPoints(),i=0;i<n.length;i++){var o=n[i];if(t=o.initialValue&&o.initialValue.valueOf(),h(t)>0)break}return(0,s.sign)(t)}(t)<0?r:o;t._prevSeries=d[l],d[l]=t,t.holes=(0,a.extend)(!0,{},i),t.getPoints().forEach((function(o,a,r){var s=o.initialValue&&o.initialValue.valueOf(),d=o.argument.valueOf(),c=s>=0?n.positive:n.negative,h=\"bar\"!==t.type;e&&s<0&&(c=n.positive,s=0,o.resetValue()),c[l]=c[l]||{};var f=c[l];if(f[d]?(h&&o.correctValue(f[d]),f[d]+=s):(f[d]=s,h&&o.resetCorrection()),o.hasValue())u&&(u=!1,i.left[d]=(i.left[d]||0)+(o.value.valueOf()-(isFinite(o.minValue)?o.minValue.valueOf():0)),o._skipSetLeftHole=!0);else{var p=r[a-1];!u&&p&&p.hasValue()&&(d=p.argument.valueOf(),p._skipSetRightHole=!0,i.right[d]=(i.right[d]||0)+(p.value.valueOf()-(isFinite(p.minValue)?p.minValue.valueOf():0))),u=!0}}))})),t.forEach((function(e){var t=e.holes;e.getPoints().forEach((function(e){var n=e.argument.valueOf();e.resetHoles(),!e._skipSetLeftHole&&e.setHole(t.left[n]||i.left[n]&&0,\"left\"),!e._skipSetRightHole&&e.setHole(t.right[n]||i.right[n]&&0,\"right\"),e._skipSetLeftHole=null,e._skipSetRightHole=null}))})),this._stackKeepers=n,t.forEach((function(e){e.getPoints().forEach((function(t){var o=t.argument.valueOf(),a=_(e),r=w(n,a,o),s=function(e,t,n){return((e.positive[t]||{})[n]||0)+((e.negative[t]||{})[n]||0)}(n,a,o);t.setPercentValue(r,s,i.left[o],i.right[o])}))}))}function I(){var e=this,t=x(e),n=e._stackKeepers,i={positive:{},negative:{}};(0,r.each)(t,(function(t,o){var a=o.getOptions().minBarSize,s=o.getValueAxis().getTranslator(),l=a&&s.getMinBarSize(a),u=o.getStackName();(0,r.each)(o.getPoints(),(function(t,o){if(o.hasValue()){var a=o.initialValue&&o.initialValue.valueOf(),r=o.argument.valueOf();e.fullStacked&&(a=a/w(n,u,r)||0);var d=s.checkMinBarSize(a,l,o.value),c=function(e){return e>=0?\"positive\":\"negative\"}(d),h=i[c][u]=i[c][u]||{};h[r]?(o.minValue=h[r],h[r]+=d):h[r]=d,o.value=h[r]}}))})),e.fullStacked&&function(e,t){(0,r.each)(e,(function(e,n){var i=n.getStackName?n.getStackName():\"default\";(0,r.each)(n.getPoints(),(function(e,n){var a=w(t,i,n.argument.valueOf());0!==a&&(n.value=n.value/a,(0,o.isNumeric)(n.minValue)&&(n.minValue=n.minValue/a))}))}))}(t,i)}function T(){var e=x(this);(0,r.each)(e,(function(e,t){var n=t.getOptions().minBarSize,i=t.getValueAxis().getTranslator(),o=n&&i.getMinBarSize(n);o&&(0,r.each)(t.getPoints(),(function(e,t){t.hasValue()&&t.value.valueOf()-t.minValue.valueOf()<o&&(t.value=t.value.valueOf()+o/2,t.minValue=t.minValue.valueOf()-o/2)}))}))}function E(){(0,r.each)(this.series,(function(e,t){var n=t.getOptions().minBarSize,i=t.getValueAxis().getTranslator(),o=n&&i.getMinBarSize(n);o&&(0,r.each)(t.getPoints(),(function(e,t){t.hasValue()&&(t.value=i.checkMinBarSize(t.initialValue,o))}))}))}function O(){var e=x(this);v(e,{barGroupPadding:.3},C(S(e)))}function A(){var e=x(this);if(e.length){var t,n,i=this._options,o=e[0].getArgumentAxis().getVisibleArea(),a=e[0].getValueAxis().getVisibleArea(),s=g(o[1]-o[0],a[1]-a[0]),l=f(i.minBubbleSize,2),u=f(s*i.maxBubbleSize,2),d=(s*i.maxBubbleSize+i.minBubbleSize)/2,m=1/0,_=-1/0;(0,r.each)(e,(function(e,t){(0,r.each)(t.getPoints(),(function(e,t){_=_>t.size?_:t.size,m=m<t.size?m:t.size}))}));var v=_-m,y=h(u-l);(0,r.each)(e,(function(e,i){(0,r.each)(i.getPoints(),(function(e,i){_===m?t=c(d):(n=h(i.size-m)/v,t=c(p(y*n+l))),i.correctCoordinates(t)}))}))}}function P(e){switch(this.type=(0,u.normalizeEnum)(e.type),this.pane=e.pane,this.series=[],this.updateOptions(e),this.type){case\"bar\":this.adjustSeriesDimensions=k,this.updateSeriesValues=E,this.adjustSeriesValues=D;break;case\"rangebar\":this.adjustSeriesDimensions=k,this.updateSeriesValues=T;break;case\"fullstackedbar\":this.fullStacked=!0,this.adjustSeriesDimensions=k,this.adjustSeriesValues=D,this.updateSeriesValues=I;break;case\"stackedbar\":this.adjustSeriesDimensions=k,this.adjustSeriesValues=D,this.updateSeriesValues=I;break;case\"fullstackedarea\":case\"fullstackedline\":case\"fullstackedspline\":case\"fullstackedsplinearea\":this.fullStacked=!0,this.adjustSeriesValues=D;break;case\"stackedarea\":case\"stackedsplinearea\":case\"stackedline\":case\"stackedspline\":this.adjustSeriesValues=D;break;case\"candlestick\":case\"stock\":this.adjustSeriesDimensions=O;break;case\"bubble\":this.adjustSeriesDimensions=A}}P.prototype={constructor:P,adjustSeriesDimensions:l.noop,adjustSeriesValues:l.noop,updateSeriesValues:l.noop,updateOptions:function(e){this._options=e},dispose:function(){this.series=null},add:function(e){var t=this.type;this.series=(0,u.map)(e,(function(e){return e.type===t?e:null}))}}},39726:function(e,t){t.default=void 0;var n=[{theme:{name:\"generic.carmine\",defaultPalette:\"Carmine\",backgroundColor:\"#fff\",primaryTitleColor:\"#333\",secondaryTitleColor:\"#8899a8\",gridColor:\"#dee1e3\",axisColor:\"#707070\",export:{backgroundColor:\"#fff\",font:{color:\"#333\"},button:{default:{color:\"#333\",borderColor:\"#b1b7bd\",backgroundColor:\"#fff\"},hover:{color:\"#333\",borderColor:\"#b1b7bd\",backgroundColor:\"#faf2f0\"},focus:{color:\"#333\",borderColor:\"#6d7781\",backgroundColor:\"#faf2f0\"},active:{color:\"#333\",borderColor:\"#6d7781\",backgroundColor:\"#f5e7e4\"}}},legend:{font:{color:\"#707070\"}},tooltip:{color:\"#fff\",border:{color:\"#dee1e3\"},font:{color:\"#333\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#dee1e3\"}}}},\"chart:common:annotation\":{font:{color:\"#333\"},border:{color:\"#dee1e3\"},color:\"#fff\"},chart:{commonPaneSettings:{border:{color:\"#dee1e3\"}},commonAxisSettings:{breakStyle:{color:\"#c1c5c7\"}}},rangeSelector:{scale:{breakStyle:{color:\"#c1c5c7\"},tick:{opacity:.12}},selectedRangeColor:\"#f05b41\",sliderMarker:{color:\"#f05b41\"},sliderHandle:{color:\"#f05b41\",opacity:.5}},sparkline:{pointColor:\"#fff\",minColor:\"#f0ad4e\",maxColor:\"#f74d61\"},treeMap:{group:{color:\"#dee1e3\",label:{font:{color:\"#8899a8\"}}}},bullet:{color:\"#f05b41\"},gauge:{valueIndicators:{rangebar:{color:\"#f05b41\"},textcloud:{color:\"#f05b41\"}}}},baseThemeName:\"generic.light\"},{theme:{name:\"generic.carmine.compact\"},baseThemeName:\"generic.carmine\"}];t.default=n,e.exports=t.default,e.exports.default=t.default},14870:function(e,t){t.default=void 0;var n=\"#ffffff\",i=\"#000000\",o=[{theme:{name:\"generic.contrast\",defaultPalette:\"Bright\",font:{color:n},backgroundColor:i,primaryTitleColor:n,secondaryTitleColor:n,gridColor:n,axisColor:n,export:{backgroundColor:i,font:{color:n},button:{default:{color:n,borderColor:n,backgroundColor:i},hover:{color:n,borderColor:n,backgroundColor:\"#cf00d7\"},focus:{color:n,borderColor:\"#cf00d7\",backgroundColor:i},active:{color:i,borderColor:n,backgroundColor:n}},borderColor:n,menuButtonColor:i,activeBackgroundColor:n,activeColor:i,selectedBorderColor:\"#cf00da\",selectedColor:\"#cf00da\",shadowColor:\"none\"},tooltip:{border:{color:n},font:{color:n},color:i},\"chart:common\":{commonSeriesSettings:{valueErrorBar:{color:n},hoverStyle:{hatching:{opacity:.5}},selectionStyle:{hatching:{opacity:.35}},label:{font:{color:n},border:{color:n}}}},\"chart:common:axis\":{constantLineStyle:{color:n}},\"chart:common:annotation\":{font:{color:n},border:{color:n},color:i},chart:{commonSeriesSettings:{},crosshair:{color:\"#cf00d7\"},commonPaneSettings:{backgroundColor:i,border:{color:n}},scrollBar:{color:n},commonAxisSettings:{breakStyle:{color:\"#cf00d7\"}},zoomAndPan:{dragBoxStyle:{color:n,opacity:.7}}},pie:{commonSeriesSettings:{pie:{hoverStyle:{hatching:{opacity:.5}},selectionStyle:{hatching:{opacity:.35}}},doughnut:{hoverStyle:{hatching:{opacity:.5}},selectionStyle:{hatching:{opacity:.35}}},donut:{hoverStyle:{hatching:{opacity:.5}},selectionStyle:{hatching:{opacity:.35}}}}},gauge:{rangeContainer:{backgroundColor:n},valueIndicators:{_default:{color:n},rangebar:{color:n,backgroundColor:i},twocolorneedle:{secondColor:n},trianglemarker:{color:n},textcloud:{color:n,text:{font:{color:i}}}}},barGauge:{backgroundColor:\"#3c3c3c\"},rangeSelector:{scale:{tick:{color:n,opacity:.4},minorTick:{color:n,opacity:.12},breakStyle:{color:\"#cf00d7\"}},selectedRangeColor:\"#cf00da\",sliderMarker:{color:\"#cf00da\"},sliderHandle:{color:\"#cf00da\",opacity:1},shutter:{opacity:.75},background:{color:i}},map:{background:{borderColor:n},layer:{label:{stroke:i,font:{color:n}}},\"layer:area\":{borderColor:i,color:\"#686868\",hoveredBorderColor:n,selectedBorderColor:n,label:{font:{opacity:1}}},\"layer:line\":{color:\"#267cff\",hoveredColor:\"#f613ff\",selectedColor:n},\"layer:marker:dot\":{borderColor:i,color:\"#f8ca00\",backColor:i,backOpacity:.32},\"layer:marker:bubble\":{color:\"#f8ca00\",hoveredBorderColor:n,selectedBorderColor:n},\"layer:marker:pie\":{hoveredBorderColor:n,selectedBorderColor:n},controlBar:{borderColor:n,color:i,opacity:.3}},treeMap:{tile:{color:\"#70c92f\"},group:{color:\"#797979\",label:{font:{color:n}}}},sparkline:{pointColor:i},bullet:{},polar:{commonSeriesSettings:{}},funnel:{label:{connector:{opacity:1}}},sankey:{label:{font:{color:n},shadow:{opacity:0}},node:{border:{visible:!0,width:1,color:n}},link:{opacity:.5,border:{visible:!0,width:1,color:n},hoverStyle:{opacity:.9}}}},baseThemeName:\"generic.light\"},{theme:{name:\"generic.contrast.compact\"},baseThemeName:\"generic.contrast\"}];t.default=o,e.exports=t.default,e.exports.default=t.default},17374:function(e,t){t.default=void 0;var n=\"#ffffff\",i=[{theme:{name:\"generic.dark\",font:{color:\"#808080\"},backgroundColor:\"#2a2a2a\",primaryTitleColor:\"#dedede\",secondaryTitleColor:\"#a3a3a3\",gridColor:\"#555555\",axisColor:\"#a3a3a3\",export:{backgroundColor:\"#2a2a2a\",font:{color:\"#dbdbdb\"},button:{default:{color:\"#dedede\",borderColor:\"#4d4d4d\",backgroundColor:\"#2e2e2e\"},hover:{color:\"#dedede\",borderColor:\"#6c6c6c\",backgroundColor:\"#444\"},focus:{color:\"#dedede\",borderColor:\"#8d8d8d\",backgroundColor:\"#444444\"},active:{color:\"#dedede\",borderColor:\"#8d8d8d\",backgroundColor:\"#555555\"}},shadowColor:\"#292929\"},tooltip:{color:\"#2b2b2b\",border:{color:\"#494949\"},font:{color:\"#929292\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#494949\"}},valueErrorBar:{color:n}}},\"chart:common:axis\":{constantLineStyle:{color:n}},\"chart:common:annotation\":{font:{color:\"#929292\"},border:{color:\"#494949\"},color:\"#2b2b2b\",shadow:{opacity:.008,offsetY:4,blur:8}},chart:{commonPaneSettings:{border:{color:\"#494949\"}},commonAxisSettings:{breakStyle:{color:\"#818181\"}},zoomAndPan:{dragBoxStyle:{color:n}}},gauge:{rangeContainer:{backgroundColor:\"#b5b5b5\"},valueIndicators:{_default:{color:\"#b5b5b5\"},rangebar:{color:\"#84788b\"},twocolorneedle:{secondColor:\"#ba544d\"},trianglemarker:{color:\"#b7918f\"},textcloud:{color:\"#ba544d\"}}},barGauge:{backgroundColor:\"#3c3c3c\"},rangeSelector:{scale:{tick:{color:n,opacity:.32},minorTick:{color:n,opacity:.1},breakStyle:{color:\"#818181\"}},selectedRangeColor:\"#b5b5b5\",sliderMarker:{color:\"#b5b5b5\",font:{color:\"#303030\"}},sliderHandle:{color:n,opacity:.2},shutter:{color:\"#2b2b2b\",opacity:.9}},map:{background:{borderColor:\"#3f3f3f\"},layer:{label:{stroke:\"#000000\",font:{color:n}}},\"layer:area\":{borderColor:\"#303030\",color:\"#686868\",hoveredBorderColor:n,selectedBorderColor:n},\"layer:line\":{color:\"#c77244\",hoveredColor:\"#ff5d04\",selectedColor:\"#ff784f\"},\"layer:marker:bubble\":{hoveredBorderColor:n,selectedBorderColor:n},\"layer:marker:pie\":{hoveredBorderColor:n,selectedBorderColor:n},legend:{border:{color:\"#3f3f3f\"},font:{color:n}},controlBar:{borderColor:\"#c7c7c7\",color:\"#303030\"}},treeMap:{group:{color:\"#4c4c4c\",label:{font:{color:\"#a3a3a3\"}}}},sparkline:{lineColor:\"#c7c7c7\",firstLastColor:\"#c7c7c7\",barPositiveColor:\"#b8b8b8\",barNegativeColor:\"#8e8e8e\",winColor:\"#b8b8b8\",lossColor:\"#8e8e8e\",pointColor:\"#303030\"},bullet:{targetColor:\"#8e8e8e\"},funnel:{item:{border:{color:\"#2a2a2a\"}}},sankey:{label:{font:{color:n},shadow:{opacity:0}},node:{border:{color:\"#2a2a2a\"}},link:{color:\"#888888\",border:{color:\"#2a2a2a\"},hoverStyle:{color:\"#bbbbbb\"}}}},baseThemeName:\"generic.light\"},{theme:{name:\"generic.dark.compact\"},baseThemeName:\"generic.dark\"}];t.default=i,e.exports=t.default,e.exports.default=t.default},83313:function(e,t){t.default=void 0;var n=[{theme:{name:\"generic.darkmoon\",defaultPalette:\"Dark Moon\",backgroundColor:\"#465672\",primaryTitleColor:\"#fff\",secondaryTitleColor:\"#919bac\",gridColor:\"#596980\",axisColor:\"#c7ccd4\",export:{backgroundColor:\"#465672\",font:{color:\"#fff\"},button:{default:{color:\"#fff\",borderColor:\"#7a889e\",backgroundColor:\"#465672\"},hover:{color:\"#fff\",borderColor:\"#9da8b8\",backgroundColor:\"#596e92\"},focus:{color:\"#fff\",borderColor:\"#c4cad4\",backgroundColor:\"#596e92\"},active:{color:\"#fff\",borderColor:\"#c4cad4\",backgroundColor:\"#6b80a4\"}}},legend:{font:{color:\"#c7ccd4\"}},tooltip:{color:\"#62789e\",border:{color:\"#596980\"},font:{color:\"#fff\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#596980\"}}}},\"chart:common:annotation\":{font:{color:\"#fff\"},border:{color:\"#596980\"},color:\"#62789e\"},chart:{commonPaneSettings:{border:{color:\"#596980\"}},commonAxisSettings:{breakStyle:{color:\"#73869e\"}}},gauge:{valueIndicators:{rangebar:{color:\"#3debd3\"},textcloud:{color:\"#3debd3\",text:{font:{color:\"#465672\"}}}}},barGauge:{backgroundColor:\"#526280\"},funnel:{item:{border:{color:\"#465672\"}}},sparkline:{pointColor:\"#465672\",minColor:\"#f0ad4e\",maxColor:\"#f9517e\"},treeMap:{group:{color:\"#596980\",label:{font:{color:\"#fff\"}}}},map:{background:{borderColor:\"#596980\"},\"layer:area\":{color:\"#97a3b6\",borderColor:\"#465672\"}},rangeSelector:{shutter:{color:\"#465672\"},scale:{breakStyle:{color:\"#73869e\"},tick:{opacity:.2}},selectedRangeColor:\"#3debd3\",sliderMarker:{color:\"#3debd3\",font:{color:\"#000\"}},sliderHandle:{color:\"#3debd3\",opacity:.5}},bullet:{color:\"#3debd3\"},sankey:{link:{border:{color:\"#465672\"}},node:{border:{color:\"#465672\"}}}},baseThemeName:\"generic.dark\"},{theme:{name:\"generic.darkmoon.compact\"},baseThemeName:\"generic.darkmoon\"}];t.default=n,e.exports=t.default,e.exports.default=t.default},25257:function(e,t){t.default=void 0;var n=[{theme:{name:\"generic.darkviolet\",defaultPalette:\"Dark Violet\",backgroundColor:\"#17171f\",primaryTitleColor:\"#f5f6f7\",secondaryTitleColor:\"#fff\",gridColor:\"#343840\",axisColor:\"#b2b2b6\",export:{backgroundColor:\"#17171f\",font:{color:\"#f5f6f7\"},button:{default:{color:\"#f5f6f7\",borderColor:\"#414152\",backgroundColor:\"#17171f\"},hover:{color:\"#f5f6f7\",borderColor:\"#5c5c74\",backgroundColor:\"#2d2d3c\"},focus:{color:\"#f5f6f7\",borderColor:\"#7c7c97\",backgroundColor:\"#2d2d3c\"},active:{color:\"#f5f6f7\",borderColor:\"#7c7c97\",backgroundColor:\"#3c3c51\"}}},legend:{font:{color:\"#b2b2b6\"}},tooltip:{color:\"#17171f\",border:{color:\"#414152\"},font:{color:\"#f5f6f7\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#343840\"}}}},\"chart:common:annotation\":{font:{color:\"#f5f6f7\"},border:{color:\"#414152\"},color:\"#17171f\"},chart:{commonPaneSettings:{border:{color:\"#343840\"}},commonAxisSettings:{breakStyle:{color:\"#575e6b\"}}},funnel:{item:{border:{color:\"#17171f\"}}},sparkline:{pointColor:\"#17171f\",minColor:\"#f0ad4e\",maxColor:\"#d9534f\"},treeMap:{group:{color:\"#343840\",label:{font:{color:\"#fff\"}}}},rangeSelector:{shutter:{color:\"#17171f\"},scale:{breakStyle:{color:\"#575e6b\"},tick:{opacity:.2}},selectedRangeColor:\"#9c63ff\",sliderMarker:{color:\"#9c63ff\",font:{color:\"#fff\"}},sliderHandle:{color:\"#9c63ff\",opacity:.5}},bullet:{color:\"#9c63ff\"},gauge:{valueIndicators:{rangebar:{color:\"#9c63ff\"},textcloud:{color:\"#9c63ff\"}}},sankey:{link:{border:{color:\"#17171f\"}},node:{border:{color:\"#17171f\"}}}},baseThemeName:\"generic.dark\"},{theme:{name:\"generic.darkviolet.compact\"},baseThemeName:\"generic.darkviolet\"}];t.default=n,e.exports=t.default,e.exports.default=t.default},84253:function(e,t){t.default=void 0;var n=[{theme:{name:\"generic.greenmist\",defaultPalette:\"Green Mist\",backgroundColor:\"#f5f5f5\",primaryTitleColor:\"#28484f\",secondaryTitleColor:\"#7eb2be\",gridColor:\"#dedede\",axisColor:\"#657c80\",export:{backgroundColor:\"#f5f5f5\",font:{color:\"#28484f\"},button:{default:{color:\"#28484f\",borderColor:\"#a2b4b8\",backgroundColor:\"#f5f5f5\"},hover:{color:\"#28484f\",borderColor:\"#7f989e\",backgroundColor:\"rgba(222, 222, 222, 0.4)\"},focus:{color:\"#28484f\",borderColor:\"#5f777c\",backgroundColor:\"rgba(222, 222, 222, 0.4)\"},active:{color:\"#28484f\",borderColor:\"#5f777c\",backgroundColor:\"rgba(222, 222, 222, 0.8)\"}}},legend:{font:{color:\"#657c80\"}},tooltip:{color:\"#fff\",border:{color:\"#dedede\"},font:{color:\"#28484f\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#dedede\"}}}},\"chart:common:annotation\":{color:\"#fff\",border:{color:\"#dedede\"},font:{color:\"#28484f\"}},chart:{commonPaneSettings:{border:{color:\"#dedede\"}},commonAxisSettings:{breakStyle:{color:\"#c1c1c1\"}}},funnel:{item:{border:{color:\"#f5f5f5\"}}},sparkline:{pointColor:\"#f5f5f5\",minColor:\"#ffc852\",maxColor:\"#f74a5e\"},treeMap:{group:{color:\"#dedede\",label:{font:{color:\"#7eb2be\"}}}},rangeSelector:{shutter:{color:\"#f5f5f5\"},scale:{breakStyle:{color:\"#c1c1c1\"},tick:{opacity:.12}},selectedRangeColor:\"#3cbab2\",sliderMarker:{color:\"#3cbab2\"},sliderHandle:{color:\"#3cbab2\",opacity:.5}},bullet:{color:\"#3cbab2\"},gauge:{valueIndicators:{rangebar:{color:\"#3cbab2\"},textcloud:{color:\"#3cbab2\"}}}},baseThemeName:\"generic.light\"},{theme:{name:\"generic.greenmist.compact\"},baseThemeName:\"generic.greenmist\"}];t.default=n,e.exports=t.default,e.exports.default=t.default},8839:function(e,t){t.default=void 0;var n=\"#ffffff\",i=\"#000000\",o=\"#ff0000\",a=\"none\",r=\"solid\",s=\"top\",l=\"right\",u=\"left\",d=\"center\",c=[{theme:{name:\"generic.light\",isDefault:!0,font:{color:\"#767676\",family:\"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",weight:400,size:12,cursor:\"default\"},redrawOnResize:!0,backgroundColor:n,primaryTitleColor:\"#232323\",secondaryTitleColor:\"#767676\",gridColor:\"#d3d3d3\",axisColor:\"#767676\",title:{backgroundColor:n,font:{size:28,family:\"'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",weight:200},subtitle:{font:{size:16},offset:0,wordWrap:\"normal\",textOverflow:\"ellipsis\"},wordWrap:\"normal\",textOverflow:\"ellipsis\"},loadingIndicator:{text:\"Loading...\"},export:{backgroundColor:n,margin:10,font:{size:14,color:\"#232323\",weight:400},button:{margin:{top:8,left:10,right:10,bottom:8},default:{color:\"#333\",borderColor:\"#ddd\",backgroundColor:n},hover:{color:\"#333\",borderColor:\"#bebebe\",backgroundColor:\"#e6e6e6\"},focus:{color:i,borderColor:\"#9d9d9d\",backgroundColor:\"#e6e6e6\"},active:{color:\"#333\",borderColor:\"#9d9d9d\",backgroundColor:\"#d4d4d4\"}},shadowColor:\"#d3d3d3\"},tooltip:{enabled:!1,border:{width:1,color:\"#d3d3d3\",dashStyle:r,visible:!0},font:{color:\"#232323\"},color:n,arrowLength:10,paddingLeftRight:18,paddingTopBottom:15,textAlignment:\"center\",shared:!1,location:d,shadow:{opacity:.4,offsetX:0,offsetY:4,blur:2,color:i},interactive:!1},legend:{hoverMode:\"includePoints\",verticalAlignment:s,horizontalAlignment:l,position:\"outside\",visible:!0,margin:10,markerSize:12,border:{visible:!1,width:1,cornerRadius:0,dashStyle:r},paddingLeftRight:20,paddingTopBottom:15,columnCount:0,rowCount:0,columnItemSpacing:20,rowItemSpacing:8,title:{backgroundColor:n,margin:{left:0,bottom:9,right:0,top:0},font:{size:18,weight:200},subtitle:{offset:0,font:{size:14},wordWrap:\"none\",textOverflow:\"ellipsis\"},wordWrap:\"none\",textOverflow:\"ellipsis\"}},\"chart:common\":{animation:{enabled:!0,duration:1e3,easing:\"easeOutCubic\",maxPointCountSupported:300},commonSeriesSettings:{border:{visible:!1,width:2},showInLegend:!0,visible:!0,hoverMode:\"nearestPoint\",selectionMode:\"includePoints\",hoverStyle:{hatching:{direction:l,width:2,step:6,opacity:.75},highlight:!0,border:{visible:!1,width:3}},selectionStyle:{hatching:{direction:l,width:2,step:6,opacity:.5},highlight:!0,border:{visible:!1,width:3}},valueErrorBar:{displayMode:\"auto\",value:1,color:i,lineWidth:2,edgeLength:8},label:{visible:!1,alignment:d,rotationAngle:0,horizontalOffset:0,verticalOffset:0,radialOffset:0,showForZeroValues:!0,customizeText:void 0,maxLabelCount:void 0,position:\"outside\",font:{color:n},border:{visible:!1,width:1,color:\"#d3d3d3\",dashStyle:r},connector:{visible:!1,width:1}}},seriesSelectionMode:\"single\",pointSelectionMode:\"single\",equalRowHeight:!0,dataPrepareSettings:{checkTypeForAllData:!1,convertToAxisDataType:!0,sortingMethod:!0},title:{margin:10},adaptiveLayout:{width:80,height:80,keepLabels:!0},_rtl:{legend:{itemTextPosition:u}},resolveLabelOverlapping:a},\"chart:common:axis\":{visible:!0,valueMarginsEnabled:!0,placeholderSize:null,logarithmBase:10,discreteAxisDivisionMode:\"betweenLabels\",aggregatedPointsPosition:\"betweenTicks\",width:1,label:{visible:!0},grid:{visible:!1,width:1},minorGrid:{visible:!1,width:1,opacity:.3},tick:{visible:!0,width:1,length:7,shift:3},minorTick:{visible:!1,width:1,opacity:.3,length:7,shift:3},stripStyle:{paddingLeftRight:10,paddingTopBottom:5},constantLineStyle:{width:1,color:i,dashStyle:r,label:{visible:!0,position:\"inside\"}},marker:{label:{}}},\"chart:common:annotation\":{font:{color:\"#333333\"},tooltipEnabled:!0,border:{width:1,color:\"#dddddd\",dashStyle:r,visible:!0},color:n,opacity:.9,arrowLength:14,arrowWidth:14,paddingLeftRight:10,paddingTopBottom:10,shadow:{opacity:.15,offsetX:0,offsetY:1,blur:4,color:i},image:{width:30,height:30},wordWrap:\"normal\",textOverflow:\"ellipsis\",allowDragging:!1},chart:{commonSeriesSettings:{type:\"line\",stack:\"default\",aggregation:{enabled:void 0},point:{visible:!0,symbol:\"circle\",size:12,border:{visible:!1,width:1},hoverMode:\"onlyPoint\",selectionMode:\"onlyPoint\",hoverStyle:{border:{visible:!0,width:4}},selectionStyle:{border:{visible:!0,width:4}}},scatter:{},line:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},stackedline:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},stackedspline:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},fullstackedline:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},fullstackedspline:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},stepline:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},area:{point:{visible:!1},opacity:.5},stackedarea:{point:{visible:!1},opacity:.5},fullstackedarea:{point:{visible:!1},opacity:.5},fullstackedsplinearea:{point:{visible:!1},opacity:.5},steparea:{border:{visible:!0,width:2},point:{visible:!1},hoverStyle:{border:{visible:!0,width:3}},selectionStyle:{border:{visible:!0,width:3}},opacity:.5},spline:{width:2,hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3}},splinearea:{point:{visible:!1},opacity:.5},stackedsplinearea:{point:{visible:!1},opacity:.5},bar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},stackedbar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}},label:{position:\"inside\"}},fullstackedbar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}},label:{position:\"inside\"}},rangebar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},rangearea:{point:{visible:!1},opacity:.5},rangesplinearea:{point:{visible:!1},opacity:.5},bubble:{opacity:.5,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},candlestick:{width:1,reduction:{color:o},hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3,highlight:!1},point:{border:{visible:!0}}},stock:{width:1,reduction:{color:o},hoverStyle:{width:3,hatching:{direction:a},highlight:!1},selectionStyle:{width:3,highlight:!1},point:{border:{visible:!0}}}},crosshair:{enabled:!1,color:\"#f05b41\",width:1,dashStyle:r,label:{visible:!1,font:{color:n,size:12}},verticalLine:{visible:!0},horizontalLine:{visible:!0}},commonAxisSettings:{multipleAxesSpacing:5,forceUserTickInterval:!1,breakStyle:{width:5,color:\"#ababab\",line:\"waved\"},label:{displayMode:\"standard\",overlappingBehavior:\"hide\",indentFromAxis:10,wordWrap:\"normal\",textOverflow:\"none\"},title:{font:{size:16},margin:6,alignment:d},constantLineStyle:{paddingLeftRight:10,paddingTopBottom:10}},horizontalAxis:{position:\"bottom\",axisDivisionFactor:70,label:{rotationAngle:90,staggeringSpacing:5,alignment:d},stripStyle:{label:{horizontalAlignment:d,verticalAlignment:s}},constantLineStyle:{label:{horizontalAlignment:l,verticalAlignment:s}},constantLines:[]},verticalAxis:{position:u,axisDivisionFactor:40,label:{alignment:l},stripStyle:{label:{horizontalAlignment:u,verticalAlignment:d}},constantLineStyle:{label:{horizontalAlignment:u,verticalAlignment:s}},constantLines:[]},argumentAxis:{endOnTick:!1,aggregateByCategory:!0,workWeek:[1,2,3,4,5]},valueAxis:{grid:{visible:!0},autoBreaksEnabled:!1,maxAutoBreakCount:4},commonPaneSettings:{backgroundColor:a,border:{color:\"#d3d3d3\",width:1,visible:!1,top:!0,bottom:!0,left:!0,right:!0,dashStyle:r}},scrollBar:{visible:!1,offset:5,color:\"gray\",width:10},adjustOnZoom:!0,autoHidePointMarkers:!0,rotated:!1,synchronizeMultiAxes:!0,stickyHovering:!0,barGroupPadding:.3,minBubbleSize:12,maxBubbleSize:.2,zoomAndPan:{dragBoxStyle:{color:\"#2a2a2a\",opacity:.2},panKey:\"shift\",allowMouseWheel:!0,allowTouchGestures:!0}},pie:{innerRadius:.5,minDiameter:.5,type:\"pie\",dataPrepareSettings:{_skipArgumentSorting:!0},commonSeriesSettings:{pie:{border:{visible:!1,width:2,color:n},hoverStyle:{hatching:{direction:l,width:4,step:10,opacity:.75},highlight:!0,border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:l,width:4,step:10,opacity:.5},highlight:!0,border:{visible:!1,width:2}}},doughnut:{border:{visible:!1,width:2,color:n},hoverStyle:{hatching:{direction:l,width:4,step:10,opacity:.75},highlight:!0,border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:l,width:4,step:10,opacity:.5},highlight:!0,border:{visible:!1,width:2}}},donut:{border:{visible:!1,width:2,color:n},hoverStyle:{hatching:{direction:l,width:4,step:10,opacity:.75},highlight:!0,border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:l,width:4,step:10,opacity:.5},highlight:!0,border:{visible:!1,width:2}}},label:{textOverflow:\"ellipsis\",wordWrap:\"normal\"}},legend:{hoverMode:\"allArgumentPoints\",backgroundColor:a},adaptiveLayout:{keepLabels:!1}},gauge:{scale:{tick:{visible:!0,length:5,width:2,opacity:1},minorTick:{visible:!1,length:3,width:1,opacity:1},label:{visible:!0,alignment:d,hideFirstOrLast:\"last\",overlappingBehavior:\"hide\"},position:s,endOnTick:!1},rangeContainer:{offset:0,width:5,backgroundColor:\"#808080\"},valueIndicators:{_default:{color:\"#c2c2c2\"},rangebar:{space:2,size:10,color:\"#cbc5cf\",backgroundColor:a,text:{indent:0,font:{size:14,color:null}}},twocolorneedle:{secondColor:\"#e18e92\"},trianglemarker:{space:2,length:14,width:13,color:\"#8798a5\"},textcloud:{arrowLength:5,horizontalOffset:6,verticalOffset:3,color:\"#679ec5\",text:{font:{color:n,size:18}}}},indicator:{hasPositiveMeaning:!0,layout:{horizontalAlignment:d,verticalAlignment:\"bottom\"},text:{font:{size:18}}},_circular:{scale:{scaleDivisionFactor:17,orientation:\"outside\",label:{indentFromTick:10}},rangeContainer:{orientation:\"outside\"},valueIndicatorType:\"rectangleneedle\",subvalueIndicatorType:\"trianglemarker\",valueIndicators:{_type:\"rectangleneedle\",_default:{offset:20,indentFromCenter:0,width:2,spindleSize:14,spindleGapSize:10,beginAdaptingAtRadius:50},triangleneedle:{width:4},twocolorneedle:{space:2,secondFraction:.4},rangebar:{offset:30},trianglemarker:{offset:6},textcloud:{offset:-6}}},_linear:{scale:{scaleDivisionFactor:25,horizontalOrientation:l,verticalOrientation:\"bottom\",label:{indentFromTick:-10}},rangeContainer:{horizontalOrientation:l,verticalOrientation:\"bottom\"},valueIndicatorType:\"rangebar\",subvalueIndicatorType:\"trianglemarker\",valueIndicators:{_type:\"rectangle\",_default:{offset:2.5,length:15,width:15},rectangle:{width:10},rangebar:{offset:10,horizontalOrientation:l,verticalOrientation:\"bottom\"},trianglemarker:{offset:10,horizontalOrientation:u,verticalOrientation:s},textcloud:{offset:-1,horizontalOrientation:u,verticalOrientation:s}}}},barGauge:{backgroundColor:\"#e0e0e0\",relativeInnerRadius:.3,barSpacing:4,resolveLabelOverlapping:\"hide\",label:{indent:20,connectorWidth:2,font:{size:16}},legend:{visible:!1},indicator:{hasPositiveMeaning:!0,layout:{horizontalAlignment:d,verticalAlignment:\"bottom\"},text:{font:{size:18}}}},rangeSelector:{scale:{valueMarginsEnabled:!0,width:1,color:i,opacity:.1,showCustomBoundaryTicks:!0,aggregateByCategory:!0,label:{overlappingBehavior:\"hide\",alignment:d,visible:!0,topIndent:7,font:{size:11}},tick:{width:1,color:i,opacity:.17,visible:!0,length:12},minorTick:{width:1,color:i,opacity:.05,visible:!0,length:12},marker:{width:1,color:\"#000000\",opacity:.1,visible:!0,separatorHeight:33,topIndent:10,textLeftIndent:7,textTopIndent:11,label:{}},logarithmBase:10,workWeek:[1,2,3,4,5],breakStyle:{width:5,color:\"#ababab\",line:\"waved\"},endOnTick:!1},selectedRangeColor:\"#606060\",sliderMarker:{visible:!0,paddingTopBottom:2,paddingLeftRight:4,color:\"#606060\",invalidRangeColor:o,font:{color:n,size:11}},sliderHandle:{width:1,color:i,opacity:.2},shutter:{opacity:.75},background:{color:\"#c0bae1\",visible:!0,image:{location:\"full\"}},behavior:{snapToTicks:!0,animationEnabled:!0,moveSelectedRangeByClick:!0,manualRangeSelectionEnabled:!0,allowSlidersSwap:!0,valueChangeMode:\"onHandleRelease\"},redrawOnResize:!0,chart:{barGroupPadding:.3,minBubbleSize:12,maxBubbleSize:.2,topIndent:.1,bottomIndent:0,valueAxis:{inverted:!1,logarithmBase:10},commonSeriesSettings:{type:\"area\",aggregation:{enabled:void 0},point:{visible:!1},scatter:{point:{visible:!0}}}}},map:{title:{margin:10},background:{borderWidth:1,borderColor:\"#cacaca\"},layer:{label:{enabled:!1,stroke:n,\"stroke-width\":1,\"stroke-opacity\":.7,font:{color:\"#2b2b2b\",size:12}}},\"layer:area\":{borderWidth:1,borderColor:n,color:\"#d2d2d2\",hoveredBorderColor:\"#303030\",selectedBorderWidth:2,selectedBorderColor:\"#303030\",label:{\"stroke-width\":2,font:{size:16}}},\"layer:line\":{borderWidth:2,color:\"#ba8365\",hoveredColor:\"#a94813\",selectedBorderWidth:3,selectedColor:\"#e55100\",label:{\"stroke-width\":2,font:{size:16}}},\"layer:marker\":{label:{enabled:!0,\"stroke-width\":1,font:{size:12}}},\"layer:marker:dot\":{borderWidth:2,borderColor:n,size:8,selectedStep:2,backStep:18,backColor:n,backOpacity:.32,shadow:!0},\"layer:marker:bubble\":{minSize:20,maxSize:50,hoveredBorderWidth:1,hoveredBorderColor:\"#303030\",selectedBorderWidth:2,selectedBorderColor:\"#303030\"},\"layer:marker:pie\":{size:50,hoveredBorderWidth:1,hoveredBorderColor:\"#303030\",selectedBorderWidth:2,selectedBorderColor:\"#303030\"},\"layer:marker:image\":{size:20},legend:{verticalAlignment:\"bottom\",horizontalAlignment:l,position:\"inside\",backgroundOpacity:.65,border:{visible:!0},paddingLeftRight:16,paddingTopBottom:12},controlBar:{borderColor:\"#5d5d5d\",borderWidth:3,color:n,margin:20,opacity:.3},_rtl:{legend:{itemTextPosition:u}}},treeMap:{tile:{border:{width:1,opacity:.2,color:\"#000000\"},color:\"#5f8b95\",hoverStyle:{hatching:{opacity:.75,step:6,width:2,direction:\"right\"},border:{}},selectionStyle:{hatching:{opacity:.5,step:6,width:2,direction:\"right\"},border:{opacity:1}},label:{visible:!0,paddingLeftRight:5,paddingTopBottom:4,font:{color:\"#ffffff\",weight:600},shadow:{opacity:.6,offsetX:0,offsetY:1,blur:2,color:\"#000000\"},wordWrap:\"normal\",textOverflow:\"ellipsis\"}},group:{padding:4,border:{width:1},color:\"#eeeeee\",hoverStyle:{hatching:{opacity:0,step:6,width:2,direction:\"right\"},border:{}},selectionStyle:{hatching:{opacity:0,step:6,width:2,direction:\"right\"},border:{}},label:{visible:!0,paddingLeftRight:5,paddingTopBottom:4,font:{color:\"#767676\",weight:600},textOverflow:\"ellipsis\"}},title:{subtitle:{}},tooltip:{},loadingIndicator:{}},sparkline:{lineColor:\"#666666\",lineWidth:2,areaOpacity:.2,minColor:\"#e8c267\",maxColor:\"#e55253\",barPositiveColor:\"#a9a9a9\",barNegativeColor:\"#d7d7d7\",winColor:\"#a9a9a9\",lossColor:\"#d7d7d7\",firstLastColor:\"#666666\",pointSymbol:\"circle\",pointColor:n,pointSize:4,type:\"line\",argumentField:\"arg\",valueField:\"val\",winlossThreshold:0,showFirstLast:!0,showMinMax:!1,tooltip:{enabled:!0}},bullet:{color:\"#e8c267\",targetColor:\"#666666\",targetWidth:4,showTarget:!0,showZeroLevel:!0,tooltip:{enabled:!0}},polar:{commonSeriesSettings:{type:\"scatter\",closed:!0,point:{visible:!0,symbol:\"circle\",size:12,border:{visible:!1,width:1},hoverMode:\"onlyPoint\",selectionMode:\"onlyPoint\",hoverStyle:{border:{visible:!0,width:4},size:12},selectionStyle:{border:{visible:!0,width:4},size:12}},scatter:{},line:{width:2,dashStyle:r,hoverStyle:{width:3,hatching:{direction:a}},selectionStyle:{width:3}},area:{point:{visible:!1},opacity:.5},stackedline:{width:2},bar:{opacity:.8},stackedbar:{opacity:.8}},adaptiveLayout:{width:80,height:80,keepLabels:!0},barGroupPadding:.3,commonAxisSettings:{visible:!0,forceUserTickInterval:!1,label:{overlappingBehavior:\"hide\",indentFromAxis:5},grid:{visible:!0},minorGrid:{visible:!0},tick:{visible:!0},title:{font:{size:16},margin:10}},argumentAxis:{startAngle:0,firstPointOnStartAngle:!1,period:void 0},valueAxis:{endOnTick:!1,tick:{visible:!1}},horizontalAxis:{position:s,axisDivisionFactor:50,label:{alignment:d}},verticalAxis:{position:s,axisDivisionFactor:30,label:{alignment:l}}},funnel:{sortData:!0,valueField:\"val\",colorField:\"color\",argumentField:\"arg\",hoverEnabled:!0,selectionMode:\"single\",item:{border:{visible:!1,width:2,color:n},hoverStyle:{hatching:{opacity:.75,step:6,width:2,direction:l},border:{}},selectionStyle:{hatching:{opacity:.5,step:6,width:2,direction:l},border:{}}},title:{margin:10},adaptiveLayout:{width:80,height:80,keepLabels:!0},legend:{visible:!1},_rtl:{legend:{itemTextPosition:u}},tooltip:{customizeTooltip:function(e){return{text:e.item.argument+\" \"+e.valueText}}},inverted:!1,algorithm:\"dynamicSlope\",neckWidth:0,neckHeight:0,resolveLabelOverlapping:\"shift\",label:{textOverflow:\"ellipsis\",wordWrap:\"normal\",visible:!0,horizontalAlignment:l,horizontalOffset:0,verticalOffset:0,showForZeroValues:!1,customizeText:function(e){return e.item.argument+\" \"+e.valueText},position:\"columns\",font:{color:n},border:{visible:!1,width:1,color:\"#d3d3d3\",dashStyle:r},connector:{visible:!0,width:1,opacity:.5}}},sankey:{sourceField:\"source\",targetField:\"target\",weightField:\"weight\",hoverEnabled:!0,alignment:d,adaptiveLayout:{width:80,height:80,keepLabels:!0},label:{visible:!0,horizontalOffset:8,verticalOffset:0,overlappingBehavior:\"ellipsis\",useNodeColors:!1,font:{color:i,weight:500},border:{visible:!1,width:2,color:n},customizeText:function(e){return e.title},shadow:{opacity:.2,offsetX:0,offsetY:1,blur:1,color:n}},title:{margin:10,font:{size:28,weight:200},subtitle:{font:{size:16}}},tooltip:{enabled:!0},node:{padding:30,width:8,opacity:1,border:{color:n,width:1,visible:!1},hoverStyle:{hatching:{opacity:.75,step:6,width:2,direction:l},border:{}}},link:{color:\"#888888\",colorMode:\"none\",opacity:.3,border:{color:n,width:1,visible:!1},hoverStyle:{opacity:.5,hatching:{opacity:.75,step:6,width:2,direction:l},border:{}}}}},baseThemeName:void 0},{theme:{name:\"generic.light.compact\"},baseThemeName:\"generic.light\"}];t.default=c,e.exports=t.default,e.exports.default=t.default},60350:function(e,t){t.default=void 0;var n=[{theme:{name:\"generic.softblue\",defaultPalette:\"Soft Blue\",backgroundColor:\"#fff\",primaryTitleColor:\"#333\",secondaryTitleColor:\"#99a1a8\",gridColor:\"#e8eaeb\",axisColor:\"#707070\",export:{backgroundColor:\"#fff\",font:{color:\"#333\"},button:{default:{color:\"#333\",borderColor:\"#c9d0d4\",backgroundColor:\"#fff\"},hover:{color:\"#333\",borderColor:\"#a7b2b9\",backgroundColor:\"#e6e6e6\"},focus:{color:\"#333\",borderColor:\"#82929b\",backgroundColor:\"#e6e6e6\"},active:{color:\"#333\",borderColor:\"#82929b\",backgroundColor:\"#d4d4d4\"}}},legend:{font:{color:\"#707070\"}},tooltip:{color:\"#fff\",border:{color:\"#e8eaeb\"},font:{color:\"#333\"}},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#e8eaeb\"}}}},\"chart:common:annotation\":{color:\"#fff\",border:{color:\"#e8eaeb\"},font:{color:\"#333\"}},chart:{commonPaneSettings:{border:{color:\"#e8eaeb\"}},commonAxisSettings:{breakStyle:{color:\"#cfd2d3\"}}},rangeSelector:{scale:{breakStyle:{color:\"#cfd2d3\"},tick:{opacity:.12}},selectedRangeColor:\"#7ab8eb\",sliderMarker:{color:\"#7ab8eb\"},sliderHandle:{color:\"#7ab8eb\",opacity:.5}},sparkline:{pointColor:\"#fff\",minColor:\"#f0ad4e\",maxColor:\"#d9534f\"},treeMap:{group:{color:\"#e8eaeb\",label:{font:{color:\"#99a1a8\"}}}},bullet:{color:\"#7ab8eb\"},gauge:{valueIndicators:{rangebar:{color:\"#7ab8eb\"},textcloud:{color:\"#7ab8eb\"}}}},baseThemeName:\"generic.light\"},{theme:{name:\"generic.softblue.compact\"},baseThemeName:\"generic.softblue\"}];t.default=n,e.exports=t.default,e.exports.default=t.default},11239:function(e,t){t.default=void 0;var n=\"'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif\",i=\"#ffffff\",o=[{theme:{name:\"material\",defaultPalette:\"Material\",font:{family:n},title:{margin:{top:20,bottom:20,left:0,right:0},font:{size:20,family:n,weight:500},horizontalAlignment:\"left\",subtitle:{font:{size:14},horizontalAlignment:\"left\"}},tooltip:{shadow:{opacity:0},border:{visible:!1},paddingLeftRight:8,paddingTopBottom:6,arrowLength:0,location:\"edge\",color:\"#616161\",font:{color:i},cornerRadius:4},chart:{commonAxisSettings:{minorTick:{opacity:.5},label:{font:{size:11}}},commonAnnotationSettings:{font:{color:i},border:{color:\"#616161\"},color:\"#616161\",arrowLength:14,arrowWidth:0,shadow:{opacity:.08,offsetY:4,blur:8},cornerRadius:4}},pie:{title:{horizontalAlignment:\"center\",subtitle:{horizontalAlignment:\"center\"}}},polar:{commonAxisSettings:{minorTick:{opacity:.5}},title:{horizontalAlignment:\"center\",subtitle:{horizontalAlignment:\"center\"}}},funnel:{title:{horizontalAlignment:\"center\",subtitle:{horizontalAlignment:\"center\"}}},gauge:{title:{horizontalAlignment:\"center\",subtitle:{horizontalAlignment:\"center\"}}},barGauge:{title:{horizontalAlignment:\"center\",subtitle:{horizontalAlignment:\"center\"}}},rangeSelector:{sliderHandle:{opacity:.5}},treeMap:{group:{label:{font:{weight:500}}}}},baseThemeName:\"generic.light\"},{theme:{name:\"material.light\",gridColor:\"#e0e0e0\",axisColor:\"rgba(0,0,0,0.54)\",primaryTitleColor:\"rgba(0,0,0,0.87)\",legend:{font:{color:\"rgba(0,0,0,0.54)\"}},chart:{scrollBar:{color:\"#bfbfbf\",opacity:.7}},gauge:{rangeContainer:{backgroundColor:\"rgba(0,0,0,0.2)\"}},barGauge:{backgroundColor:\"#efefef\"}},baseThemeName:\"material\"},{theme:{name:\"material.dark\",gridColor:\"#515159\",backgroundColor:\"#363640\",axisColor:\"rgba(255,255,255,0.54)\",font:{color:\"rgba(255,255,255,0.54)\"},primaryTitleColor:\"rgba(255,255,255,0.87)\",secondaryTitleColor:\"rgba(255,255,255,0.87)\",tooltip:{color:\"#000\"},export:{backgroundColor:\"#363640\",font:{color:\"#dbdbdb\"},button:{default:{color:\"#dedede\",borderColor:\"#4d4d4d\",backgroundColor:\"#363640\"},hover:{color:\"#dedede\",borderColor:\"#6c6c6c\",backgroundColor:\"#3f3f4b\"},focus:{color:\"#dedede\",borderColor:\"#8d8d8d\",backgroundColor:\"#494956\"},active:{color:\"#dedede\",borderColor:\"#8d8d8d\",backgroundColor:\"#494956\"}},shadowColor:\"#292929\"},\"chart:common\":{commonSeriesSettings:{label:{border:{color:\"#494949\"}},valueErrorBar:{color:i}}},\"chart:common:axis\":{constantLineStyle:{color:i}},\"chart:common:annotation\":{border:{color:\"#000\"},color:\"#000\"},chart:{commonPaneSettings:{border:{color:\"#494949\"}},commonAxisSettings:{breakStyle:{color:\"#818181\"}},zoomAndPan:{dragBoxStyle:{color:i}}},gauge:{rangeContainer:{backgroundColor:\"#b5b5b5\"},valueIndicators:{_default:{color:\"#b5b5b5\"},rangebar:{color:\"#84788b\"},twocolorneedle:{secondColor:\"#ba544d\"},trianglemarker:{color:\"#b7918f\"},textcloud:{color:\"#ba544d\"}}},barGauge:{backgroundColor:\"#3c3c3c\"},rangeSelector:{scale:{tick:{color:i,opacity:.32},minorTick:{color:i,opacity:.1},breakStyle:{color:\"#818181\"}},selectedRangeColor:\"#b5b5b5\",sliderMarker:{color:\"#b5b5b5\",font:{color:\"#363640\"}},sliderHandle:{color:i,opacity:.2},shutter:{color:i,opacity:.1}},map:{background:{borderColor:\"#3f3f3f\"},layer:{label:{stroke:\"#000000\",font:{color:i}}},\"layer:area\":{borderColor:\"#363640\",color:\"#686868\",hoveredBorderColor:i,selectedBorderColor:i},\"layer:line\":{color:\"#c77244\",hoveredColor:\"#ff5d04\",selectedColor:\"#ff784f\"},\"layer:marker:bubble\":{hoveredBorderColor:i,selectedBorderColor:i},\"layer:marker:pie\":{hoveredBorderColor:i,selectedBorderColor:i},legend:{border:{color:\"#3f3f3f\"},font:{color:i}},controlBar:{borderColor:\"#c7c7c7\",color:\"#363640\"}},treeMap:{group:{color:\"#4c4c4c\",label:{font:{color:\"#a3a3a3\"}}}},sparkline:{lineColor:\"#c7c7c7\",firstLastColor:\"#c7c7c7\",barPositiveColor:\"#b8b8b8\",barNegativeColor:\"#8e8e8e\",winColor:\"#b8b8b8\",lossColor:\"#8e8e8e\",pointColor:\"#363640\"},bullet:{targetColor:\"#8e8e8e\"},funnel:{item:{border:{color:\"#363640\"}}},sankey:{label:{font:{color:i}}}},baseThemeName:\"material\"}];function a(e,t,n){return{theme:{name:\"material.\"+e+\".\"+t,rangeSelector:{selectedRangeColor:n,sliderMarker:{color:n},sliderHandle:{color:n}},map:{\"layer:marker:dot\":{color:n},\"layer:marker:bubble\":{color:n},legend:{markerColor:n}},bullet:{color:n},gauge:{valueIndicators:{rangebar:{color:n},textcloud:{color:n}}}},baseThemeName:\"material.\"+t}}var r={blue:\"#03a9f4\",lime:\"#cddc39\",orange:\"#ff5722\",purple:\"#9c27b0\",teal:\"#009688\"};for(var s in r)if(Object.prototype.hasOwnProperty.call(r,s)){var l=r[s];o.push(a(s,\"light\",l),a(s,\"dark\",l),{theme:{name:\"material.\".concat(s,\".light.compact\")},baseThemeName:\"material.\".concat(s,\".light\")},{theme:{name:\"material.\".concat(s,\".dark.compact\")},baseThemeName:\"material.\".concat(s,\".dark\")})}var u=o;t.default=u,e.exports=t.default,e.exports.default=t.default},17384:function(e,t,n){t.plugin=t.Title=void 0;var i=n(35922),o=n(13306),a=n(19157),r=n(73711),s=Number,l=(0,a.enumParser)([\"left\",\"center\",\"right\"]),u=(0,a.enumParser)([\"top\",\"bottom\"]);function d(e){return!!(e&&String(e).length>0)}function c(e,t,n,i,o){e.attr({text:t}).setMaxSize(n,o,i).textChanged&&e.setTitle(t)}function h(e){return e>=0?s(e):10}var f=function(e){this._params=e,this._group=e.renderer.g().attr({class:e.cssClass}).linkOn(e.root||e.renderer.root,\"title\"),this._hasText=!1};t.Title=f,(0,o.extend)(f.prototype,r.LayoutElement.prototype,{dispose:function(){this._group.linkRemove(),this._group.linkOff(),this._titleElement&&(this._clipRect.dispose(),this._titleElement=this._subtitleElement=this._clipRect=null),this._params=this._group=this._options=null},_updateOptions:function(e){var t;this._options=e,this._options.horizontalAlignment=l(e.horizontalAlignment,\"center\"),this._options.verticalAlignment=u(e.verticalAlignment,\"top\"),this._options.margin=(t=e.margin)>=0?{left:s(t),top:s(t),right:s(t),bottom:s(t)}:{left:h((t=t||{}).left),top:h(t.top),right:h(t.right),bottom:h(t.bottom)}},_updateStructure:function(){var e=this._params.renderer,t=this._group,n=this._options,i=n.horizontalAlignment;this._titleElement||(this._titleElement=e.text().append(t),this._subtitleElement=e.text(),this._clipRect=e.clipRect(),t.attr({\"clip-path\":this._clipRect.id})),this._titleElement.attr({align:i,class:n.cssClass}),this._subtitleElement.attr({align:i,class:n.subtitle.cssClass}),t.linkAppend(),d(n.subtitle.text)?this._subtitleElement.append(t):this._subtitleElement.remove()},_updateTexts:function(){var e,t=this._options,n=t.subtitle,i=this._titleElement,o=this._subtitleElement;i.attr({text:\"A\",y:0}).css((0,a.patchFontOptions)(t.font)),e=i.getBBox(),this._baseLineCorrection=e.height+e.y,i.attr({text:t.text});var r=-(e=i.getBBox()).y;i.attr({y:r}),d(n.text)&&o.attr({text:n.text,y:0}).css((0,a.patchFontOptions)(n.font))},_shiftSubtitle:function(){var e=this._titleElement.getBBox(),t=this._subtitleElement,n=this._options.subtitle.offset;t.move(0,e.y+e.height-t.getBBox().y-n)},_updateBoundingRectAlignment:function(){var e=this._boundingRect,t=this._options;e.verticalAlignment=t.verticalAlignment,e.horizontalAlignment=t.horizontalAlignment,e.cutLayoutSide=t.verticalAlignment,e.cutSide=\"vertical\",e.position={horizontal:t.horizontalAlignment,vertical:t.verticalAlignment}},hasText:function(){return this._hasText},update:function(e,t){var n=(0,o.extend)(!0,{},e,function(e){var t=(0,i.isString)(e)?{text:e}:e||{};return t.subtitle=(0,i.isString)(t.subtitle)?{text:t.subtitle}:t.subtitle||{},t}(t)),a=d(n.text),r=a||a!==this._hasText;return this._baseLineCorrection=0,this._updateOptions(n),this._boundingRect={},a?(this._updateStructure(),this._updateTexts()):this._group.linkRemove(),this._updateBoundingRect(),this._updateBoundingRectAlignment(),this._hasText=a,r},draw:function(e,t){return this._hasText&&(this._group.linkAppend(),this._correctTitleLength(e),this._group.getBBox().height>t&&this.freeSpace()),this},_correctTitleLength:function(e){var t=this._options,n=t.margin,i=e-n.left-n.right,o=t.placeholderSize;c(this._titleElement,t.text,i,t,o),this._subtitleElement&&(s(o)>0&&(o-=this._titleElement.getBBox().height),c(this._subtitleElement,t.subtitle.text,i,t.subtitle,o),this._shiftSubtitle()),this._updateBoundingRect();var a=this.getCorrectedLayoutOptions(),r=a.x,l=a.y,u=a.height;this._clipRect.attr({x:r,y:l,width:e,height:u})},getLayoutOptions:function(){return this._boundingRect||null},shift:function(e,t){var n=this.getLayoutOptions();return this._group.move(e-n.x,t-n.y),this},_updateBoundingRect:function(){var e=this._options,t=e.margin,n=this._boundingRect,i=this._hasText?this._group.getBBox():{width:0,height:0,x:0,y:0,isEmpty:!0};i.isEmpty||(i.height+=t.top+t.bottom-this._baseLineCorrection,i.width+=t.left+t.right,i.x-=t.left,i.y+=this._baseLineCorrection-t.top),e.placeholderSize>0&&(i.height=e.placeholderSize),n.height=i.height,n.width=i.width,n.x=i.x,n.y=i.y},getCorrectedLayoutOptions:function(){var e=this.getLayoutOptions(),t=this._baseLineCorrection;return(0,o.extend)({},e,{y:e.y-t,height:e.height+t})},layoutOptions:function(){return this._hasText?{horizontalAlignment:this._boundingRect.horizontalAlignment,verticalAlignment:this._boundingRect.verticalAlignment,priority:0}:null},measure:function(e){return this.draw(e[0],e[1]),[this._boundingRect.width,this._boundingRect.height]},move:function(e,t){!function(e,t){return e[2]-e[0]<t.width||e[3]-e[1]<t.height}(e,this._boundingRect)?this.shift(Math.round(e[0]),Math.round(e[1])):this.shift(t[0],t[1])},freeSpace:function(){this._params.incidentOccurred(\"W2103\"),this._group.linkRemove(),this._boundingRect.width=this._boundingRect.height=0},getOptions:function(){return this._options},changeLink:function(e){this._group.linkRemove(),this._group.linkOn(e,\"title\")}});var p={name:\"title\",init:function(){this._title=new f({renderer:this._renderer,cssClass:this._rootClassPrefix+\"-title\",incidentOccurred:this._incidentOccurred}),this._layout.add(this._title)},dispose:function(){this._title.dispose(),this._title=null},customize:function(e){e.addChange({code:\"TITLE\",handler:function(){this._title.update(this._themeManager.theme(\"title\"),this.option(\"title\"))&&this._change([\"LAYOUT\"])},isThemeDependent:!0,option:\"title\",isOptionChange:!0})},fontFields:[\"title.font\",\"title.subtitle.font\"]};t.plugin=p},14371:function(e,t,n){t.plugin=t.Tooltip=void 0;var i=n(58664),o=g(n(73349)),a=n(58201),r=n(3532),s=n(78008),l=g(n(68374)),u=n(56453),d=n(35922),c=n(13306),h=n(19157),f=g(n(30343)),p=n(64509);function g(e){return e&&e.__esModule?e:{default:e}}var m=f.default.format,_=Math.ceil,v=Math.max,y=Math.min,b=(0,a.getWindow)();function x(e){e.css({left:\"-9999px\"}).detach()}function w(){return(0,l.default)(\"<div>\").css({position:\"relative\",display:\"inline-block\",padding:0,margin:0,border:\"0px solid transparent\"})}var C=function(e){this._eventTrigger=e.eventTrigger,this._widgetRoot=e.widgetRoot,this._widget=e.widget,this._textHtmlContainers=[],this._wrapper=(0,l.default)(\"<div>\").css({position:\"absolute\",overflow:\"hidden\",pointerEvents:\"none\"}).addClass(e.cssClass);var t=this._renderer=new u.Renderer({pathModified:e.pathModified,container:this._wrapper[0]});t.root.attr({\"pointer-events\":\"none\"}),this._text=t.text(void 0,0,0),this._textGroupHtml=(0,l.default)(\"<div>\").css({position:\"absolute\",padding:0,margin:0,border:\"0px solid transparent\"}).appendTo(this._wrapper),this._textHtml=w().appendTo(this._textGroupHtml)};t.Tooltip=C,C.prototype={constructor:C,dispose:function(){this._wrapper.remove(),this._renderer.dispose(),this._options=this._widgetRoot=null},_getContainer:function(){var e=this._options,t=(0,l.default)(this._widgetRoot).closest(e.container);return 0===t.length&&(t=(0,l.default)(e.container)),(t.length?t:(0,l.default)(\"body\")).get(0)},setTemplate:function(e){this._template=e?this._widget._getTemplate(e):null},setOptions:function(e){var t=this;e=e||{};var n=this;n._options=e,n._textFontStyles=(0,h.patchFontOptions)(e.font),n._textFontStyles.color=n._textFontStyles.fill,n._wrapper.css({zIndex:e.zIndex}),n._customizeTooltip=e.customizeTooltip;var o=n._textGroupHtml;this.plaque&&this.plaque.clear(),this.setTemplate(e.contentTemplate);var a=e.interactive?\"auto\":\"none\";e.interactive&&this._renderer.root.css({\"-ms-user-select\":\"auto\",\"-moz-user-select\":\"auto\",\"-webkit-user-select\":\"auto\"});return this.plaque=new p.Plaque({opacity:n._options.opacity,color:n._options.color,border:n._options.border,paddingLeftRight:n._options.paddingLeftRight,paddingTopBottom:n._options.paddingTopBottom,arrowLength:n._options.arrowLength,arrowWidth:20,shadow:n._options.shadow,cornerRadius:n._options.cornerRadius},n,n._renderer.root,(function(s){var l=s.group,u=s.onRender,d=s.eventData,c=s.isMoving,h=s.templateCallback,f=void 0===h?function(){}:h,p=n._state;if(!c){var g=n._template,m=g&&!p.formatObject.skipTemplate;if(p.html||m){if(o.css({color:p.textColor,width:3e3,pointerEvents:a}),m){var _=n._textHtmlContainers,v=w().appendTo(n._textGroupHtml);return _.push(v),void g.render({model:p.formatObject,container:v,onRendered:function(){if(_.splice(0,_.length-1).forEach((function(e){return e.remove()})),n._textHtml=(0,r.replaceWith)(n._textHtml,v),p.html=n._textHtml.html(),0===(0,i.getWidth)(n._textHtml)&&0===(0,i.getHeight)(n._textHtml))return t.plaque.clear(),void f(!1);u(),n._riseEvents(d),n._moveWrapper(),n.plaque.customizeCloud({fill:p.color,stroke:p.borderColor,\"pointer-events\":a}),f(!0),n._textHtmlContainers=[]}})}n._text.attr({text:\"\"}),n._textHtml.html(p.html)}else n._text.css({fill:p.textColor}).attr({text:p.text,class:e.cssClass,\"pointer-events\":a}).append(l.attr({align:e.textAlignment}));n._riseEvents(d),n.plaque.customizeCloud({fill:p.color,stroke:p.borderColor,\"pointer-events\":a})}return u(),n._moveWrapper(),!0}),!0,(function(e,t){if(e._state.html){var i=b.getComputedStyle(n._textHtml.get(0));return i={x:0,y:0,width:_(parseFloat(i.width)),height:_(parseFloat(i.height))}}return t.getBBox()}),(function(e,t,i,o){e._state.html?n._textGroupHtml.css({left:i,top:o}):t.move(i,o)})),n},_riseEvents:function(e){this._eventData&&this._eventTrigger(\"tooltipHidden\",this._eventData),this._eventData=e,this._eventTrigger(\"tooltipShown\",this._eventData)},setRendererOptions:function(e){return this._renderer.setOptions(e),this._textGroupHtml.css({direction:e.rtl?\"rtl\":\"ltr\"}),this},update:function(e){this.setOptions(e),x(this._wrapper);var t={};for(var n in this._textFontStyles)t[(0,s.camelize)(n)]=this._textFontStyles[n];return this._textGroupHtml.css(t),this._text.css(this._textFontStyles),this._eventData=null,this},_prepare:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._customizeTooltip,i=this._options,o={};return(0,d.isFunction)(n)&&(o=n.call(e,e),\"text\"in(o=(0,d.isPlainObject)(o)?o:{})&&(t.text=(0,d.isDefined)(o.text)?String(o.text):\"\"),\"html\"in o&&(t.html=(0,d.isDefined)(o.html)?String(o.html):\"\")),\"text\"in t||\"html\"in t||(t.text=e.valueText||e.description||\"\"),t.color=o.color||i.color,t.borderColor=o.borderColor||(i.border||{}).color,t.textColor=o.fontColor||(this._textFontStyles||{}).color,!!t.text||!!t.html||!!this._template},show:function(e,t,n,i,o){if(this._options.forceEvents)return n.x=t.x,n.y=t.y-t.offset,this._riseEvents(n),!0;var a={formatObject:e,eventData:n,templateCallback:o};if(!this._prepare(e,a,i))return!1;this._state=a,this._wrapper.appendTo(this._getContainer()),this._clear();var r=(0,c.extend)({},this._options,{canvas:this._getCanvas()},a,{x:t.x,y:t.y,offset:t.offset});return this.plaque.clear().draw(r)},isCursorOnTooltip:function(e,t){if(this._options.interactive){var n=this.plaque.getBBox();return e>n.x&&e<n.x+n.width&&t>n.y&&t<n.y+n.height}return!1},hide:function(e){x(this._wrapper),this._eventData&&(this._eventTrigger(\"tooltipHidden\",this._options.forceEvents?(0,c.extend)({isPointerOut:e},this._eventData):this._eventData),this._clear(),this._eventData=null)},_clear:function(){this._textHtml.empty()},move:function(e,t,n){this.plaque.draw({x:e,y:t,offset:n,canvas:this._getCanvas(),isMoving:!0})},_moveWrapper:function(){var e=this.plaque.getBBox();this._renderer.resize(e.width,e.height);var t=this._wrapper.css({left:0,top:0}).offset(),n=e.x,o=e.y;this._wrapper.css({left:n-t.left,top:o-t.top}),this.plaque.moveRoot(-n,-o),this._state.html&&(this._textHtml.css({left:-n,top:-o}),this._textGroupHtml.css({width:_((0,i.getWidth)(this._textHtml))}))},formatValue:function(e,t){var n=t?function(e,t){var n=e;switch(t){case\"argument\":n={format:e.argumentFormat};break;case\"percent\":n={format:{type:\"percent\",precision:e.format&&e.format.percentPrecision}}}return n}(this._options,t):this._options;return m(e,n.format)},getOptions:function(){return this._options},getLocation:function(){return(0,h.normalizeEnum)(this._options.location)},isEnabled:function(){return!!this._options.enabled||!!this._options.forceEvents},isShared:function(){return!!this._options.shared},_getCanvas:function(){var e=this._getContainer(),t=e.getBoundingClientRect(),n=o.default.getDocumentElement(),i=o.default.getDocument(),a=b.pageXOffset||n.scrollLeft||0,r=b.pageYOffset||n.scrollTop||0,s={left:a,top:r,width:v(n.clientWidth,i.body.clientWidth)+a,height:v(i.body.scrollHeight,n.scrollHeight,i.body.offsetHeight,n.offsetHeight,i.body.clientHeight,n.clientHeight),right:0,bottom:0};return e!==o.default.getBody()&&(a=v(s.left,s.left+t.left),r=v(s.top,s.top+t.top),s.width=y(t.width,s.width)+a+s.left,s.height=y(t.height,s.height)+r+s.top,s.left=a,s.top=r),s}};var S={name:\"tooltip\",init:function(){this._initTooltip()},dispose:function(){this._disposeTooltip()},members:{_initTooltip:function(){this._tooltip=new C({cssClass:this._rootClassPrefix+\"-tooltip\",eventTrigger:this._eventTrigger,pathModified:this.option(\"pathModified\"),widgetRoot:this.element(),widget:this})},_disposeTooltip:function(){this._tooltip.dispose(),this._tooltip=null},_setTooltipRendererOptions:function(){this._tooltip.setRendererOptions(this._getRendererOptions())},_setTooltipOptions:function(){this._tooltip.update(this._getOption(\"tooltip\"))}},extenders:{_stopCurrentHandling:function(){this._tooltip&&this._tooltip.hide()}},customize:function(e){var t=e.prototype;t._eventsMap.onTooltipShown={name:\"tooltipShown\"},t._eventsMap.onTooltipHidden={name:\"tooltipHidden\"},e.addChange({code:\"TOOLTIP_RENDERER\",handler:function(){this._setTooltipRendererOptions()},isThemeDependent:!0,isOptionChange:!0}),e.addChange({code:\"TOOLTIP\",handler:function(){this._setTooltipOptions()},isThemeDependent:!0,isOptionChange:!0,option:\"tooltip\"})},fontFields:[\"tooltip.font\"]};t.plugin=S},19157:function(e,t,n){t.PANE_PADDING=void 0,t.adjustVisualRange=function(e,t,n,i){var a=(0,o.isDefined)(t.startValue),r=(0,o.isDefined)(t.endValue),s=\"discrete\"!==e.axisType;i=i||n;var l=U(e,!1),u=a?t.startValue:i.min,d=r?t.endValue:i.max,c=t.length,h=i.categories;if(s&&!(0,o.isDefined)(u)&&!(0,o.isDefined)(d))return{startValue:u,endValue:d};if((0,o.isDefined)(c))if(s)\"datetime\"!==e.dataType||(0,o.isNumeric)(c)||(c=k(c)),r&&!a||!r&&!a?((0,o.isDefined)(n.max)&&(d=d>n.max?n.max:d),u=l(d,c,-1)):a&&!r&&((0,o.isDefined)(n.min)&&(u=u<n.min?n.min:u),d=l(u,c));else if(c=parseInt(c),!isNaN(c)&&isFinite(c))if(c--,r||a){if(a&&!r){var f=q(h,u,void 0);d=f.categories[c]}else if(!a&&r){var p=q(h,void 0,d);u=p.categories[p.categories.length-1-c]}}else d=h[h.length-1],u=h[h.length-1-c];s&&((0,o.isDefined)(n.max)&&d>n.max&&(d=n.max),(0,o.isDefined)(n.min)&&u<n.min&&(u=n.min));return{startValue:u,endValue:d}},t.convertAngleToRendererSpace=void 0,t.convertPolarToXY=function(e,t,n,i){var a=i>0?i:0;n=(0,o.isDefined)(n)?n+t-90:0;var r=R(n);return{x:S(e.x+a*r.cos),y:S(e.y+a*r.sin)}},t.convertVisualRangeObject=function(e,t){if(t)return e;return[e.startValue,e.endValue]},t.enumParser=t.degreesToRadians=t.decreaseGaps=t.convertXYToPolar=void 0,t.extractColor=function(e,t){return(0,o.isString)(e)||!e?e:t?e.base:e.fillId||e.base},t.getAddFunction=U,t.getLog=t.getDistance=t.getDecimalOrder=t.getCosAndSin=t.getCategoriesInfo=t.getAppropriateFormat=t.getAdjustedLog10=void 0,t.getLogExt=K,t.getVerticallyShiftedAngularCoords=t.getPower=t.getNextDefsSvgId=void 0,t.getVizRangeObject=function(e){return Array.isArray(e)?{startValue:e[0],endValue:e[1]}:e||{}},t.isRelativeHeightPane=$,t.map=F,t.mergeMarginOptions=function(e,t){return{checkInterval:e.checkInterval||t.checkInterval,size:x(e.size||0,t.size||0),percentStick:e.percentStick||t.percentStick,sizePointNormalState:x(e.sizePointNormalState||0,t.sizePointNormalState||0)}},t.normalizeAngle=void 0,t.normalizeArcParams=function(e,t,n,i,o,a){var r,s=!0,l=V(a,3)-V(o,3);l&&(f(l)%360==0&&(o=0,a=360,r=!0,a-=.01),o>360&&(o%=360),a>360&&(a%=360),o>a&&(o-=360),s=!1);return o*=D,a*=D,[e,t,Math.min(i,n),Math.max(i,n),Math.cos(o),Math.sin(o),Math.cos(a),Math.sin(a),r,g(f(a-o)/c)%2?\"1\":\"0\",s]},t.normalizeBBox=G,t.normalizeEnum=z,t.normalizePanesHeight=function(e){e.forEach((function(e){var t=e.height,n=0,i=parseFloat(t)||void 0;((0,o.isString)(t)&&t.indexOf(\"px\")>-1||(0,o.isNumeric)(t)&&t>1)&&(i=S(i),n=1),!n&&i&&((0,o.isString)(t)&&t.indexOf(\"%\")>-1?(i/=100,n=2):i<0&&(i=i<-1?1:f(i))),e.height=i,e.unit=n}));var t=e.filter($),n=t.reduce((function(e,t){return e+(t.height||0)}),0),i=t.length,a=t.filter((function(e){return!e.height})),r=a.length;if(n<1&&r)a.forEach((function(e){return e.height=(1-n)/r}));else if(n>1||n<1&&!r||1===n&&r){if(r){var s=n/i,l=r*s;t.filter((function(e){return e.height})).forEach((function(e){return e.height*=(n-l)/n})),a.forEach((function(e){return e.height=s}))}t.forEach((function(e){return e.height*=1/n}))}},t.patchFontOptions=t.parseScalar=void 0,t.pointInCanvas=function(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},t.raiseTo=t.processSeriesTemplate=void 0,t.raiseToExt=Z,t.rangesAreEqual=function(e,t){return Array.isArray(t)?e.length===t.length&&e.every((function(e,n){return Y(e)===Y(t[n])})):Y(e.startValue)===Y(t.startValue)&&Y(e.endValue)===Y(t.endValue)},t.rotateBBox=function(e,t,n){var i=T(w(n*D).toFixed(3)),o=T(C(n*D).toFixed(3)),a=e.width/2,r=e.height/2,s=e.x+a,l=e.y+r,u=f(a*i)+f(r*o),d=f(a*o)+f(r*i),c=t[0]+(s-t[0])*i+(l-t[1])*o,h=t[1]-(s-t[0])*o+(l-t[1])*i;return G({x:c-u,y:h-d,width:2*u,height:2*d})},t.roundValue=void 0,t.setCanvasValues=j,t.unique=void 0,t.updatePanesCanvases=function(e,t,n){var i=0,o=n?t.width-t.left-t.right:t.height-t.top-t.bottom,r=e.reduce((function(e,t){return e+($(t)?0:t.height)}),0),s=o-10*(e.length-1)-r,l=n?\"left\":\"top\",u=n?\"right\":\"bottom\";e.forEach((function(e){var n=$(e)?S(e.height*s):e.height;e.canvas=e.canvas||{},(0,a.extend)(e.canvas,t),e.canvas[l]=t[l]+i,e.canvas[u]=t[u]+(o-n-i),i=i+n+10,j(e.canvas)}))},t.valueOf=Y;var i=n(20576),o=n(35922),a=n(13306),r=n(95479),s=n(60810),l=d(n(91198)),u=d(n(52752));function d(e){return e&&e.__esModule?e:{default:e}}var c=Math.PI,h=Math.LN10,f=Math.abs,p=Math.log,g=Math.floor,m=Math.ceil,_=Math.pow,v=Math.sqrt,y=Math.atan2,b=Math.min,x=Math.max,w=Math.cos,C=Math.sin,S=Math.round,k=l.default.dateToMilliseconds,D=c/180,I=isNaN,T=Number,E=1;t.PANE_PADDING=10;var O=function(e,t){return e?p(e)/p(t):NaN};t.getLog=O;t.getAdjustedLog10=function(e){return(0,s.adjust)(O(e,10))};var A=function(e,t){return _(t,e)};t.raiseTo=A;var P=function(e){return(e%360+360)%360};t.normalizeAngle=P;t.convertAngleToRendererSpace=function(e){return 90-e};var M=function(e){return c*e/180};t.degreesToRadians=M;var R=function(e){var t=M(e);return{cos:w(t),sin:C(t)}};t.getCosAndSin=R;var B=function(e,t,n,i){var o=n-e,a=i-t;return v(a*a+o*o)};t.getDistance=B;var L=function(e){var t,n=f(e);return I(n)?NaN:n>0?(n=p(n)/h,(t=m(n))-n<1e-14?t:g(n)):0};t.getDecimalOrder=L;t.getAppropriateFormat=function(e,t,n){var i,o=x(L(e),L(t)),a=-L(f(t-e)/n);return I(o)||I(a)?null:(f(o)<=4?(i=\"fixedPoint\",a<0&&(a=0),a>4&&(a=4)):(i=\"exponential\",(a+=o-1)>3&&(a=3)),{type:i,precision:a})};var V=function(e,t){if(t>20&&(t=20),(0,o.isNumeric)(e))return(0,o.isExponential)(e)?T(e.toExponential(t)):T(e.toFixed(t))};t.roundValue=V;function F(e,t){for(var n,i=0,o=e.length,a=[];i<o;)null!==(n=t(e[i],i))&&a.push(n),i++;return a}function H(e,t){return F(t,(function(t){return e[t]?e[t]:null}))}function N(e,t,n,i){var o=i;return(0,r.each)(t,(function(t,i){e[i]&&(e[i]-=n,o-=n)})),o}function z(e){return String(e).toLowerCase()}function j(e){return e&&(e.originalTop=e.top,e.originalBottom=e.bottom,e.originalLeft=e.left,e.originalRight=e.right),e}function W(e){return-1e10<e&&e<1e10?e:0}function G(e){var t=W(g(e.x)),n=W(g(e.y)),i={x:t,y:n,width:W(m(e.width+e.x))-t,height:W(m(e.height+e.y))-n};return i.isEmpty=!(i.x||i.y||i.width||i.height),i}t.getPower=function(e){return e.toExponential().split(\"e\")[1]};t.decreaseGaps=function(e,t,n){var i;do{(i=H(e,t)).push(m(n/i.length)),n=N(e,t,b.apply(null,i),n)}while(n>0&&i.length>1);return n};t.parseScalar=function(e,t){return void 0!==e?e:t};t.enumParser=function(e){var t,n,i={};for(t=0,n=e.length;t<n;++t)i[z(e[t])]=1;return function(e,t){var n=z(e);return i[n]?n:t}};t.patchFontOptions=function(e){var t={};return(0,r.each)(e||{},(function(n,i){if(/^(cursor)$/i.test(n));else if(\"opacity\"===n)i=null;else if(\"color\"===n){if(n=\"fill\",\"opacity\"in e){var o=new u.default(i);i=\"rgba(\".concat(o.r,\",\").concat(o.g,\",\").concat(o.b,\",\").concat(e.opacity,\")\")}}else n=\"font-\"+n;t[n]=i})),t};t.convertXYToPolar=function(e,t,n){var i=B(e.x,e.y,t,n),o=y(n-e.y,t-e.x);return{phi:S(P(180*o/c)),r:S(i)}};t.processSeriesTemplate=function(e,t){var n,r,s,l=(0,o.isFunction)(e.customizeSeries)?e.customizeSeries:i.noop,u=e.nameField,d={},c=[],h=0;for(r=(t=t||[]).length;h<r;h++)u in(s=t[h])&&((n=d[s[u]])||(n=d[s[u]]={name:s[u],nameFieldValue:s[u]},c.push(n.name)));return F(c,(function(e){var t=d[e];return(0,a.extend)(t,l.call(null,t.name))}))};var q=function(e,t,n){if(0===e.length)return{categories:[]};t=(0,o.isDefined)(t)?t:e[0],n=(0,o.isDefined)(n)?n:e[e.length-1];var i,a=F(e,(function(e){return null==e?void 0:e.valueOf()})),r=a.indexOf(t.valueOf()),s=a.indexOf(n.valueOf()),l=!1;r<0&&(r=0),s<0&&(s=e.length-1),s<r&&(i=s,s=r,r=i,l=!0);var u=e.slice(r,s+1),d=u.length-1;return{categories:u,start:u[l?d:0],end:u[l?0:d],inverted:l}};function $(e){return!(e.unit%2)}t.getCategoriesInfo=q;t.unique=function(e){var t={};return F(e,(function(e){var n=t[e]?null:e;return t[e]=!0,n}))};function U(e,t){return\"datetime\"===e.dataType?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return new Date(e.getTime()+n*t)}:\"logarithmic\"===e.axisType?function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=K(t,e.base)+i*n;return Z(o,e.base)}:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=e+i*n;return t&&o*e<=0?0:o}}function K(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;if(!n)return O(e,t);if(0===e)return 0;var o=O(f(e),t)-(i-1);return o<0?0:(0,s.adjust)((0,s.sign)(e)*o,Number(_(t,i-1).toFixed(f(i))))}function Z(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;if(!n)return A(e,t);if(0===e)return 0;var o=A(f(e)+(i-1),t);return o<0?0:(0,s.adjust)((0,s.sign)(e)*o,Number(_(t,i).toFixed(f(i))))}function Y(e){return e&&e.valueOf()}t.getVerticallyShiftedAngularCoords=function(e,t,n){var i=e.x+e.width/2>=n.x,o=(i?e.x:e.x+e.width)-n.x,a=e.y-n.y,r=a+t,s=S(v(o*o+a*a-r*r)),l=(i?+s:-s)||o;return{x:n.x+(i?l:l-e.width),y:e.y+t}};t.getNextDefsSvgId=function(){return\"DevExpress_\".concat(E++)}},5259:function(e,t,n){var i=n(82454);Object.keys(i).forEach((function(e){\"default\"!==e&&\"__esModule\"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},30187:function(e,t,n){t.default=void 0;var i,o=(i=n(44697))&&i.__esModule?i:{default:i},a=n(47250),r=n(82454),s=n(17384),l=n(16342),u=n(76686),d=n(32037),c=n(64758);o.default.addPlugin(a.plugin),o.default.addPlugin(r.plugin),o.default.addPlugin(s.plugin),o.default.addPlugin(l.plugin),o.default.addPlugin(u.plugin),o.default.addPlugin(d.plugin),o.default.addPlugin(c.plugin);var h=o.default;t.default=h,e.exports=t.default,e.exports.default=t.default},44697:function(e,t,n){t.default=void 0;var i=n(68074),o=c(n(89482)),a=c(n(2356)),r=n(20576),s=c(n(55845)),l=c(n(99393)),u=c(n(65700)),d=n(1539);function c(e){return e&&e.__esModule?e:{default:e}}function h(e){return{fill:e.fill,hatching:e.hatching}}(0,i.addAlgorithm)(\"dynamicslope\",o.default,!0),(0,i.addAlgorithm)(\"dynamicheight\",a.default);var f=s.default.inherit({_rootClass:\"dxf-funnel\",_rootClassPrefix:\"dxf\",_proxyData:[],_optionChangesMap:{dataSource:\"DATA_SOURCE\",neckWidth:\"NODES_CREATE\",neckHeight:\"NODES_CREATE\",inverted:\"NODES_CREATE\",algorithm:\"NODES_CREATE\",item:\"NODES_CREATE\",valueField:\"NODES_CREATE\",argumentField:\"NODES_CREATE\",colorField:\"NODES_CREATE\",palette:\"NODES_CREATE\",paletteExtensionMode:\"NODES_CREATE\",sortData:\"NODES_CREATE\"},_themeDependentChanges:[\"NODES_CREATE\"],_getDefaultSize:function(){return{width:400,height:400}},_themeSection:\"funnel\",_fontFields:[\"legend.title.font\",\"legend.title.subtitle.font\",\"legend.font\"],_optionChangesOrder:[\"DATA_SOURCE\"],_initialChanges:[\"DATA_SOURCE\"],_initCore:function(){this._group=this._renderer.g().append(this._renderer.root),this._items=[]},_eventsMap:{onHoverChanged:{name:\"hoverChanged\"},onSelectionChanged:{name:\"selectionChanged\"}},_disposeCore:r.noop,_applySize:function(e){return this._rect=e.slice(),this._change([\"TILING\"]),this._rect},_getAlignmentRect:function(){return this._rect},_change_TILING:function(){var e=this,t=e._items,n=e._rect,i=function(e,t){var i=t%2;return n[0+i]+(n[2+i]-n[0+i])*e};this._group.clear(),t.forEach((function(t,n){var o=t.figure.map(i),a=e._renderer.path([],\"area\").attr({points:o}).append(e._group);t.coords=o,t.element=a})),this._requestChange([\"TILES\"])},_customChangesOrder:[\"NODES_CREATE\",\"LAYOUT\",\"TILING\",\"TILES\",\"DRAWN\"],_dataSourceChangedHandler:function(){this._requestChange([\"NODES_CREATE\"])},_change_DRAWN:function(){this._drawn()},_change_DATA_SOURCE:function(){this._change([\"DRAWN\"]),this._updateDataSource()},_change_NODES_CREATE:function(){this._buildNodes()},_change_TILES:function(){this._applyTilesAppearance()},_suspend:function(){this._applyingChanges||this._suspendChanges()},_resume:function(){this._applyingChanges||this._resumeChanges()},_applyTilesAppearance:function(){this._items.forEach((function(e){var t=e.getState();e.element.smartAttr(e.states[t])}))},_hitTestTargets:function(e,t){var n,i=this;return this._proxyData.some((function(o){if(n=o.call(i,e,t))return!0})),n},clearHover:function(){this._suspend(),this._items.forEach((function(e){e.isHovered()&&e.hover(!1)})),this._resume()},clearSelection:function(){this._suspend(),this._items.forEach((function(e){e.isSelected()&&e.select(!1)})),this._resume()},_getData:function(){var e=this._dataSourceItems()||[],t=this._getOption(\"valueField\",!0),n=this._getOption(\"argumentField\",!0),i=this._getOption(\"colorField\",!0),o=e.reduce((function(e,o){var a=Number(o[t]);return a>=0&&(e[0].push({value:a,color:o[i],argument:o[n],dataItem:o}),e[1]+=a),e}),[[],0]),a=o[0];return e.length>0&&0===a.length&&this._incidentOccurred(\"E2005\",t),o[1]?(this._getOption(\"sortData\",!0)&&a.sort((function(e,t){return t.value-e.value})),a):[]},_buildNodes:function(){var e=this,t=e._getData(),n=(0,i.getAlgorithm)(e._getOption(\"algorithm\",!0)),o=n.normalizeValues(t),a=e._getOption(\"item\"),r=n.getFigures(o,e._getOption(\"neckWidth\",!0),e._getOption(\"neckHeight\",!0)),s=e._themeManager.createPalette(e._getOption(\"palette\",!0),{useHighlight:!0,extensionMode:e._getOption(\"paletteExtensionMode\",!0),count:r.length});e._items=r.map((function(n,i){var r=t[i];return new u.default(e,{figure:n,data:r,percent:o[i],id:i,color:r.color||s.getNextColor(),itemOptions:a})})),e._getOption(\"inverted\",!0)&&e._items.forEach((function(e){e.figure=e.figure.map((function(e,t){return t%2?1-e:e}))})),e._renderer.initDefsElements(),e._change([\"TILING\",\"DRAWN\"])},_showTooltip:r.noop,hideTooltip:r.noop,getAllItems:function(){return this._items.slice()},_getLegendData:function(){return this._items.map((function(e){var t=e.states;return{id:e.id,visible:!0,text:e.argument,item:e,states:{normal:h(t.normal),hover:h(t.hover),selection:h(t.selection)}}}))},_getMinSize:function(){var e=this._getOption(\"adaptiveLayout\");return[e.width,e.height]}});(0,l.default)(\"dxFunnel\",f);var p=f;t.default=p,f.addPlugin(d.plugin),e.exports=t.default,e.exports.default=t.default},65700:function(e,t,n){t.default=void 0;var i=n(35922),o=[\"normal\",\"hover\",\"selection\",\"selection\"];function a(e,t,n){var o=t.border,a=n.border,r=(0,i.isDefined)(o.visible)?o.visible:a.visible,s=(0,i.isDefined)(o.width)?o.width:a.width;return{fill:e,hatching:t.hatching,stroke:o.color||a.color,\"stroke-width\":r?s:0}}function r(e,t){var n=t.data;this.code=0,this.widget=e,this.figure=t.figure,this.argument=n.argument,this.value=n.value,this.data=n.dataItem,this.percent=t.percent,this.id=t.id,this.color=t.color,this.states={normal:a(t.color,t.itemOptions,t.itemOptions),hover:a(t.color,t.itemOptions.hoverStyle,t.itemOptions),selection:a(t.color,t.itemOptions.selectionStyle,t.itemOptions)}}r.prototype={getState:function(){return o[this.code]},getNormalStyle:function(){return this.states.normal},setHover:function(){this.hover(!0)},hover:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&e!==this.isHovered()&&(this.widget._suspend(),e&&this.widget.clearHover(),this.setState(1,e),this.widget._eventTrigger(\"hoverChanged\",{item:this}),this.widget._resume())},setState:function(e,t){t?this.code|=e:this.code&=~e,this.widget._applyTilesAppearance()},select:function(e){var t=this.widget._getOption(\"selectionMode\",!0);\"none\"!==t&&e!==this.isSelected()&&(this.widget._suspend(),e&&\"multiple\"!==t&&this.widget.clearSelection(),this.setState(2,e),this.widget._eventTrigger(\"selectionChanged\",{item:this}),this.widget._resume())},showTooltip:function(e){this.widget._showTooltip(this.id,e)},getColor:function(){return this.color},isHovered:function(){return!!(1&this.code)},isSelected:function(){return!!(2&this.code)}};var s=r;t.default=s,e.exports=t.default,e.exports.default=t.default},47250:function(e,t,n){t.plugin=void 0;var i=n(28318),o=n(19157),a=n(13306),r=n(20576);function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||u(e,t)||function(){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 l(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||u(e)||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 u(e,t){if(e){if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function c(e){return\"outside\"===(e=(0,o.normalizeEnum)(e))||\"inside\"!==e}function h(e,t,n){return n?e-t.height:e}function f(e,t,n,i){return{x:e[2]+n.horizontalOffset+5,y:h(e[3]+n.verticalOffset,t,i)}}function p(e,t,n,i){return{x:e[0]-t.width-n.horizontalOffset-5,y:h(e[1]+n.verticalOffset,t,i)}}function g(e,t,n){var i=e[2]-e[0],o=e[7]-e[1];return{x:e[0]+i/2+n.horizontalOffset-t.width/2,y:e[1]+n.verticalOffset+o/2-t.height/2}}var m={name:\"lables\",init:r.noop,dispose:r.noop,extenders:{_initCore:function(){this._labelsGroup=this._renderer.g().attr({class:this._rootClassPrefix+\"-labels\"}).append(this._renderer.root),this._labels=[]},_applySize:function(){var e,t=this._getOption(\"label\"),n=this._getOption(\"adaptiveLayout\"),i=this._rect,a=0,r=i[2]-i[0];(this._labelRect=i.slice(),this._labels.length&&c(t.position))?(a=this._labels.map((function(e){return e.resetEllipsis(),e.getBoundingRect().width})).reduce((function(e,t){return Math.max(e,t)}),0)+t.horizontalOffset+(e=t.position,\"outside\"===(e=(0,o.normalizeEnum)(e))?5:\"inside\"===e?0:20),!n.keepLabels&&r-a<n.width?this._labels.forEach((function(e){e.draw(!1)})):(r-a<n.width&&(a=(a=r-n.width)>0?a:0),this._labels.forEach((function(e){e.draw(!0)})),\"left\"===t.horizontalAlignment?i[0]+=a:i[2]-=a)):(0,o.normalizeEnum)(\"none\"!==this._getOption(\"resolveLabelOverlapping\",!0))&&this._labels.forEach((function(e){return!e.isVisible()&&e.draw(!0)}))},_buildNodes:function(){this._createLabels()},_change_TILING:function(){var e,t=this,n=t._getOption(\"label\"),i=g,a=t._getOption(\"inverted\",!0);c(n.position)&&(\"outside\"===(0,o.normalizeEnum)(n.position)?i=\"left\"===n.horizontalAlignment?p:f:(e=this._defaultLabelTextAlignment(),i=\"left\"===n.horizontalAlignment?function(e,t,n){return function(i,o,a,r){return{x:\"left\"===n?e[0]:t[0]-o.width-a.horizontalOffset-20,y:h(i[3]+a.verticalOffset,o,r)}}}(this._labelRect,this._rect,e):function(e,t,n){return function(i,o,a,r){return{x:\"left\"===n?t[2]+a.horizontalOffset+20:e[2]-o.width,y:h(i[3]+a.verticalOffset,o,r)}}}(this._labelRect,this._rect,e))),t._labels.forEach((function(e,o){var r=t._items[o],s=r.getNormalStyle()[\"stroke-width\"],l=a?s/2:-s/2,u=l?r.coords.map((function(e,t){return 1===t||3===t?e-l:2===t?e-s:0===t?e+s:e})):r.coords;if(n.showForZeroValues||0!==r.value){c(n.position)&&t._correctLabelWidth(e,r.coords,n);var d=e.getBoundingRect(),h=function(e,t,n){return e.x<n[0]&&(e.x=n[0]),e.x+t.width>n[2]&&(e.x=n[2]-t.width),e.y<n[1]&&(e.y=n[1]),e.y+t.height>n[3]&&(e.y=n[3]-t.height),e}(i(u,d,n,a),d,t._labelRect);e.setFigureToDrawConnector(u),e.shift(h.x,h.y)}else e.draw(!1)})),t._resolveLabelOverlapping()}},members:{_resolveLabelOverlapping:function(){var e=this,t=(0,o.normalizeEnum)(e._getOption(\"resolveLabelOverlapping\",!0)),n=this._getOption(\"inverted\",!0)?e._labels.slice().reverse():e._labels;if(\"hide\"===t)n.reduce((function(e,t){return t.getBoundingRect().y<e?t.hide():e=t.getBoundingRect().y+t.getBoundingRect().height,e}),0);else if(\"shift\"===t){var i=this._labelRect[3];n.filter((function(e){return e.isVisible()})).reduce((function(t,n,o,a){var r=s(t,2),l=r[0],u=r[1],d=n.getBoundingRect(),c=d.y;return d.y<l&&(n.shift(d.x,l),c=l),c-l>0&&(u+=c-l),c+d.height>i?u&&u>c+d.height-i?(!function(e,t,n){e.reduce((function(e,t,i,o){var a=o[i+1];if(e>0){var r=t.getBoundingRect(),s=a?a.getBoundingRect().y+a.getBoundingRect().height:n,l=r.y-s,u=Math.min(l,e);o.slice(0,i+1).forEach((function(e){var t=e.getBoundingRect();e.shift(t.x,t.y-u)})),e-=u}return e}),t)}(a.slice(0,o).reverse(),c+d.height-i,e._labelRect[1]),u-=c+d.height-i,n.shift(d.x,c-(c+d.height-i)),l=c-(c+d.height-i)+d.height):n.hide():l=c+d.height,[l,u]}),[this._labelRect[1],0])}},_defaultLabelTextAlignment:function(){return this._getOption(\"rtlEnabled\",!0)?\"right\":\"left\"},_correctLabelWidth:function(e,t,n){var i=\"left\"===n.horizontalAlignment,o=i?this._labelRect[0]:t[2],a=(i?t[0]:this._labelRect[2])-o;e.getBoundingRect().width>a&&e.fit(a)},_createLabels:function(){var e=this,t=e._getOption(\"label\"),n=function(e,t){var n=\"left\"===e.horizontalAlignment,i=n?4:-4,o=t?-1:0;function a(e){return n?[e[0]+1,e[1]+o]:[e[2]-1,e[3]+o]}return{isLabelInside:function(){return!c(e.position)},getFigureCenter:a,prepareLabelPoints:function(e){var t=e.x+i,n=e.y,o=t+e.width;return l(Array(e.height+1)).map((function(e,i){return[t,n+i]})).concat(l(Array(e.height+1)).map((function(e,t){return[o,n+t]})))},isHorizontal:function(){return!0},findFigurePoint:function(e){return a(e)},adjustPoints:function(e){return e.map(Math.round)}}}(t,e._getOption(\"inverted\",!0));this._labelsGroup.clear(),t.visible&&(this._labels=e._items.map((function(r){var s=new i.Label({renderer:e._renderer,labelsGroup:e._labelsGroup,strategy:n});return s.setOptions(function(e,t,n){var i=e||{},r=(0,a.extend)({},i.font)||{},s=i.border||{},l=i.connector||{},u={fill:i.backgroundColor||t,\"stroke-width\":s.visible&&s.width||0,stroke:s.visible&&s.width?s.color:\"none\",dashStyle:s.dashStyle},d={stroke:l.visible&&l.width?l.color||t:\"none\",\"stroke-width\":l.visible&&l.width||0,opacity:l.opacity};return r.color=\"none\"===i.backgroundColor&&\"#ffffff\"===(0,o.normalizeEnum)(r.color)&&\"inside\"!==i.position?t:r.color,{format:i.format,textAlignment:i.textAlignment||(c(i.position)?n:\"center\"),customizeText:i.customizeText,attributes:{font:r},visible:0!==r.size&&i.visible,showForZeroValues:i.showForZeroValues,horizontalOffset:i.horizontalOffset,verticalOffset:i.verticalOffset,background:u,connector:d,wordWrap:e.wordWrap,textOverflow:e.textOverflow}}(t,r.color,e._defaultLabelTextAlignment())),s.setData({item:r,value:r.value,percent:r.percent}),s.draw(!0),s})),this._labels.length&&c(t.position)&&this._requestChange([\"LAYOUT\"]))}},customize:function(e){e.prototype._proxyData.push((function(e,t){var n,i=this;return i._labels.forEach((function(o,a){var r=o.getBoundingRect();if(e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height){var s=c(i._getOption(\"label\").position)?\"outside\":\"inside\";return n={id:a,type:s+\"-label\"},!0}})),n})),[\"label\",\"resolveLabelOverlapping\"].forEach((function(t){e.addChange({code:t.toUpperCase(),handler:function(){this._createLabels(),this._requestChange([\"LAYOUT\"])},isThemeDependent:!0,isOptionChange:!0,option:t})}))},fontFields:[\"label.font\"]};t.plugin=m},89482:function(e,t){t.default=void 0;var n={getFigures:function(e){var t=1/e.length;return e.map((function(e,n,i){var o=i[n+1]?i[n+1]:i[n];return[.5-e/2,t*n,.5+e/2,t*n,.5+o/2,t*(n+1),.5-o/2,t*(n+1)]}))},normalizeValues:function(e){var t=e.reduce((function(e,t){return Math.max(t.value,e)}),e[0]&&e[0].value||0);return e.map((function(e){return e.value/t}))}};t.default=n,e.exports=t.default,e.exports.default=t.default},68074:function(e,t,n){t.addAlgorithm=function(e,t,n){a[e]=t,n&&(i=a[e])},t.getAlgorithm=function(e){return a[(0,o.normalizeEnum)(e)]||i};var i,o=n(19157),a={}},2356:function(e,t){t.default=void 0;var n={getFigures:function(e,t,n){var i=0,o=0,a=0,r=0,s=t/2,l=.5-s,u=1-n,d=.5-s,c=.5+s;return e.map((function(e){return a=r,o=i,r=l*(i+=e)/u,o<=u&&i<=u?[a,o,1-a,o,1-r,i,0+r,i]:o<=u&&i>u?[a,o,1-a,o,c,u,c,i,d,i,d,u]:[d,o,c,o,c,i,d,i]}))},normalizeValues:function(e){var t=e.reduce((function(e,t){return e+t.value}),0);return e.map((function(e){return e.value/t}))}};t.default=n,e.exports=t.default,e.exports.default=t.default},32037:function(e,t,n){t.plugin=void 0;var i=n(20576),o=n(14371);function a(e,t,n){var i=n.getRootOffset();return e||t&&[(t[0]+t[2])/2+i.left,(t[1]+t[5])/2+i.top]||[-1e3,-1e3]}var r={name:\"funnel-tooltip\",init:i.noop,dispose:i.noop,extenders:{_buildNodes:function(){this.hideTooltip()},_change_TILING:function(){this._tooltipIndex>=0&&this._moveTooltip(this._items[this._tooltipIndex])}},members:{hideTooltip:function(){this._tooltipIndex>=0&&(this._tooltipIndex=-1,this._tooltip.hide())},_moveTooltip:function(e,t){var n=a(t,e.coords,this._renderer);this._tooltip.move(n[0],n[1],0)},_showTooltip:function(e,t){var n=this,i=n._tooltip,o=n._items[e];if(n._tooltipIndex!==e){var r=function(t){void 0!==t&&(t||i.hide(),n._tooltipIndex=t?e:-1)},s=a(t,o.coords,this._renderer);r(i.show({value:o.value,valueText:i.formatValue(o.value),percentText:i.formatValue(o.percent,\"percent\"),percent:o.percent,item:o},{x:s[0],y:s[1],offset:0},{item:o},void 0,r))}else n._moveTooltip(o,t)}},customize:function(e){e.addPlugin(o.plugin)}};t.plugin=r},76686:function(e,t,n){t.plugin=void 0;var i,o=(i=n(44697))&&i.__esModule?i:{default:i},a=n(88997),r=n(35922);var s=0,l=o.default.prototype;l._eventsMap.onItemClick={name:\"itemClick\"},l._eventsMap.onLegendClick={name:\"legendClick\"};var u={name:\"tracker\",init:function(){var e=this,t=\"__funnel_data_\"+s++,n=function(t){var n=e._renderer.getRootOffset(),i=Math.floor(t.pageX-n.left),o=Math.floor(t.pageY-n.top);return e._hitTestTargets(i,o)};e._tracker=new a.Tracker({widget:e,root:e._renderer.root,getData:function(e,i){var o=e.target[t];if((0,r.isDefined)(o))return o;var a=n(e);return i&&a&&\"inside-label\"!==a.type?void 0:a&&a.id},getNode:function(t){return e._items[t]},click:function(t){var i=n(t.event),o=\"legend\"===(i&&i.type)?\"legendClick\":\"itemClick\";e._eventTrigger(o,{item:t.node,event:t.event})}}),this._dataKey=t},dispose:function(){this._tracker.dispose()},extenders:{_change_TILING:function(){var e=this._dataKey;this._items.forEach((function(t,n){t.element.data(e,n)}))}}};t.plugin=u},44898:function(e,t,n){t.dxBarGauge=void 0;var i=p(n(99393)),o=n(48013),a=n(20576),r=n(14107),s=n(13306),l=n(19157),u=n(18029),d=p(n(31500)),c=n(16342),h=n(56672),f=n(60810);function p(e){return e&&e.__esModule?e:{default:e}}var g,m=Math.PI/180,_=Math.abs,v=Math.round,y=Math.floor,b=Math.min,x=Math.max,w=u.getSampleText,C=u.formatValue,S=u.compareArrays,k=Array.isArray,D=l.convertAngleToRendererSpace,I=l.getCosAndSin,T=l.patchFontOptions,E=Number,O=isFinite,A=a.noop,P=s.extend,M=u.BaseGauge.inherit({_rootClass:\"dxbg-bar-gauge\",_themeSection:\"barGauge\",_fontFields:[\"label.font\",\"legend.font\",\"legend.title.font\",\"legend.title.subtitle.font\"],_initCore:function(){var e=this;e.callBase.apply(e,arguments),e._barsGroup=e._renderer.g().attr({class:\"dxbg-bars\"}).linkOn(e._renderer.root,\"bars\"),e._values=[],e._context={renderer:e._renderer,translator:e._translator,tracker:e._tracker,group:e._barsGroup},e._animateStep=function(t){var n,i,o=e._bars;for(n=0,i=o.length;n<i;++n)o[n].animate(t)},e._animateComplete=function(){e._bars.forEach((function(e){return e.endAnimation()})),e._checkOverlap()}},_disposeCore:function(){var e=this;e._barsGroup.linkOff(),e._barsGroup=e._values=e._context=e._animateStep=e._animateComplete=null,e.callBase.apply(e,arguments)},_setupDomainCore:function(){var e=this.option(\"startValue\"),t=this.option(\"endValue\");O(e)||(e=0),O(t)||(t=100),this._translator.setDomain(e,t),this._baseValue=this._translator.adjust(this.option(\"baseValue\")),O(this._baseValue)||(this._baseValue=e<t?e:t)},_getDefaultSize:function(){return{width:300,height:300}},_setupCodomain:d.default.prototype._setupCodomain,_getApproximateScreenRange:function(){var e=this._area.sides,t=this._canvas.width/(e.right-e.left),n=this._canvas.height/(e.down-e.up),i=t<n?t:n;return-this._translator.getCodomainRange()*i*m},_setupAnimationSettings:function(){var e=this;e.callBase.apply(e,arguments),e._animationSettings&&(e._animationSettings.step=e._animateStep,e._animationSettings.complete=e._animateComplete)},_cleanContent:function(){this._barsGroup.linkRemove(),this._animationSettings&&this._barsGroup.stopAnimation(),this._barsGroup.clear()},_renderContent:function(){var e,t,n=this.option(\"label\"),i=this._context;this._barsGroup.linkAppend(),i.textEnabled=void 0===n||n&&(!(\"visible\"in n)||n.visible),i.textEnabled&&(i.textColor=n&&n.font&&n.font.color||null,n=P(!0,{},this._themeManager.theme().label,n),i.formatOptions={format:void 0!==n.format?n.format:this._defaultFormatOptions,customizeText:n.customizeText},i.textOptions={align:\"center\"},i.fontStyles=T(P({},this._themeManager.theme().label.font,n.font,{color:null})),this._textIndent=n.indent>0?E(n.indent):0,i.lineWidth=n.connectorWidth>0?E(n.connectorWidth):0,i.lineColor=n.connectorColor||null,t=(e=this._renderer.text(w(this._translator,i.formatOptions),0,0).attr(i.textOptions).css(i.fontStyles).append(this._barsGroup)).getBBox(),e.remove(),i.textY=t.y,i.textWidth=t.width,i.textHeight=t.height),d.default.prototype._applyMainLayout.call(this),this._renderBars()},_measureMainElements:function(){var e={maxRadius:this._area.radius};return this._context.textEnabled&&(e.horizontalMargin=this._context.textWidth,e.verticalMargin=this._context.textHeight,e.inverseHorizontalMargin=this._context.textWidth/2,e.inverseVerticalMargin=this._context.textHeight/2),e},_renderBars:function(){var e,t=P({},this._themeManager.theme(),this.option()),n=this._area,i=t.relativeInnerRadius>0&&t.relativeInnerRadius<1?E(t.relativeInnerRadius):.1;e=n.radius,this._context.textEnabled&&(this._textIndent=v(b(this._textIndent,e/2)),e-=this._textIndent),this._outerRadius=y(e),this._innerRadius=y(e*i),this._barSpacing=t.barSpacing>0?E(t.barSpacing):0,P(this._context,{backgroundColor:t.backgroundColor,x:n.x,y:n.y,startAngle:n.startCoord,endAngle:n.endCoord,baseAngle:this._translator.translate(this._baseValue)}),this._arrangeBars()},_arrangeBars:function(){var e,t=this._outerRadius-this._innerRadius,n=this._context,i=this._bars.length;this._beginValueChanging(),n.barSize=i>0?x((t-(i-1)*this._barSpacing)/i,1):0;var o=i>1?x(b((t-i*n.barSize)/(i-1),this._barSpacing),0):0,a=b(y((t+o)/n.barSize),i);this._setBarsCount(i),t=this._outerRadius,n.textRadius=t,n.textIndent=this._textIndent,this._palette.reset();var r=n.barSize+o,s=this._palette.generateColors(a);for(e=0;e<a;++e,t-=r)this._bars[e].arrange({radius:t,color:s[e]});for(var l=a;l<i;l++)this._bars[l].hide();this._animationSettings&&!this._noAnimation?this._animateBars():this._updateBars(),this._endValueChanging()},_setBarsCount:function(){this._bars.length>0?this._dummyBackground&&(this._dummyBackground.dispose(),this._dummyBackground=null):(this._dummyBackground||(this._dummyBackground=this._renderer.arc().attr({\"stroke-linejoin\":\"round\"})),this._dummyBackground.attr({x:this._context.x,y:this._context.y,outerRadius:this._outerRadius,innerRadius:this._innerRadius,startAngle:this._context.endAngle,endAngle:this._context.startAngle,fill:this._context.backgroundColor}).append(this._barsGroup))},_getCenter:function(){return{x:this._context.x,y:this._context.y}},_updateBars:function(){this._bars.forEach((function(e){return e.applyValue()})),this._checkOverlap()},_checkOverlap:function(){var e=this,t=(0,l.normalizeEnum)(e._getOption(\"resolveLabelOverlapping\",!0));function n(t,n){return(0,l.getVerticallyShiftedAngularCoords)(t,-n,e._context)}if(\"none\"!==t)if(\"shift\"===t){var i=e._dividePoints();r.overlapping.resolveLabelOverlappingInOneDirection(i.left,e._canvas,!1,!1,n),r.overlapping.resolveLabelOverlappingInOneDirection(i.right,e._canvas,!1,!1,n),e._clearLabelsCrossTitle(),e._drawConnector()}else e._clearOverlappingLabels()},_drawConnector:function(){var e=this,t=e._bars,n=e._getOption(\"label\").connectorWidth;t.forEach((function(t){if(t._isLabelShifted){var i=t._bar.attr(\"x\"),o=t._bar.attr(\"y\"),a=t._bar.attr(\"innerRadius\"),r=t._bar.attr(\"outerRadius\"),s=t._bar.attr(\"startAngle\"),u=t._bar.attr(\"endAngle\"),d=L.apply(null,(0,l.normalizeArcParams)(i,o,a,r,s,u)),c=I(t._angle),h=c.cos,p=c.sin,g=d.x-p*n/2-h,m=d.y-h*n/2+p,_=t._text.getBBox(),v=t._text._lastCoords,y=e._context.textWidth/2,b=[g,m,_.x+_.width/2+v.x,_.y+v.y];if(t._angle>90?b[2]+=y:b[2]-=y,t._angle<=180&&t._angle>0&&(b[3]+=_.height),n%2){var x=-p/2,w=-h/2;t._angle>180?(b[0]-=x,b[1]-=w):t._angle>0&&t._angle<=90&&(b[0]+=x,b[1]+=w)}var C=b.map((function(e){return(0,f.roundFloatPart)(e,4)}));t._line.attr({points:C}),t._line.rotate(0),t._isLabelShifted=!1}}))},_dividePoints:function(){return this._bars.reduce((function(e,t){var n=(0,l.normalizeAngle)(t._angle),i=n<=90||n>=270;return t._text._lastCoords={x:0,y:0},(i?e.right:e.left).push({series:{isStackedSeries:function(){return!1},isFullStackedSeries:function(){return!1}},getLabels:function(){return[{isVisible:function(){return!0},getBoundingRect:function(){var e=t._text.getBBox(),n=e.height,i=e.width,o=e.x,a=e.y,r=t._text._lastCoords;return{x:o+r.x,y:a+r.y,width:i,height:n}},shift:function(e,n){var i=t._text.getBBox();t._text._lastCoords={x:e-i.x,y:n-i.y},t._text.attr({translateX:e-i.x,translateY:n-i.y}),t._isLabelShifted=!0},draw:function(){return t.hideLabel()},getData:function(){return{value:t.getValue()}},hideInsideLabel:function(){return!1}}]}}),e}),{left:[],right:[]})},_clearOverlappingLabels:function(){for(var e=0,t=1,n=this._bars.concat().sort((function(e,t){return e.getValue()-t.getValue()}));e<n.length&&t<n.length;){var i=n[e],o=n[t];i.checkIntersect(o)?(o.hideLabel(),t++):t=(e=t)+1}},_clearLabelsCrossTitle:function(){var e=this._bars,t=this._title.getLayoutOptions()||{x:0,y:0,height:0,width:0},n=t.y+t.height;e.forEach((function(e){var t=e._text.getBBox(),i=e._text._lastCoords;n>t.y+i.y&&e.hideLabel()}))},_animateBars:function(){var e,t=this._bars.length;if(t>0){for(e=0;e<t;++e)this._bars[e].beginAnimation();this._barsGroup.animate({_:0},this._animationSettings)}},_buildNodes:function(){var e=this,t=e._options.silent();e._palette=e._themeManager.createPalette(t.palette,{useHighlight:!0,extensionMode:t.paletteExtensionMode}),e._palette.reset(),e._bars=e._bars||[],e._animationSettings&&e._barsGroup.stopAnimation();var n=e._values.filter(O),i=n.length;if(e._bars.length>i){for(var o=e._bars.length,a=i;a<o;++a)e._bars[a].dispose();e._bars.splice(i,o-i)}else if(e._bars.length<i)for(var r=e._bars.length;r<i;++r)e._bars.push(new g(r,e._context));e._bars.forEach((function(t,o){t.update({color:e._palette.getNextColor(i),value:n[o]})}))},_updateValues:function(e){var t,n,i=k(e)&&e||O(e)&&[e]||[],o=i.length;for(this._values.length=o,t=0;t<o;++t)n=i[t],this._values[t]=E(O(n)?n:this._values[t]);this._resizing||S(this._values,this.option(\"values\"))||this.option(\"values\",this._values.slice()),this._change([\"NODES\"])},values:function(e){return void 0!==e?(this._updateValues(e),this):this._values.slice(0)},_optionChangesMap:{backgroundColor:\"MOSTLY_TOTAL\",relativeInnerRadius:\"MOSTLY_TOTAL\",barSpacing:\"MOSTLY_TOTAL\",label:\"MOSTLY_TOTAL\",resolveLabelOverlapping:\"MOSTLY_TOTAL\",palette:\"MOSTLY_TOTAL\",paletteExtensionMode:\"MOSTLY_TOTAL\",values:\"VALUES\"},_change_VALUES:function(){this._updateValues(this.option(\"values\"))},_factory:(0,o.clone)(u.BaseGauge.prototype._factory),_optionChangesOrder:[\"VALUES\",\"NODES\"],_initialChanges:[\"VALUES\"],_change_NODES:function(){this._buildNodes()},_change_MOSTLY_TOTAL:function(){this._change([\"NODES\"]),this.callBase()},_proxyData:[],_getLegendData:function(){var e={},t=this._options.silent(),n=(t.label||{}).format,i=(t.legend||{}).itemTextFormat;return e.format=i||(n||this._defaultFormatOptions),(this._bars||[]).map((function(t){return{id:t.index,item:{value:t.getValue(),color:t.getColor(),index:t.index},text:C(t.getValue(),e),visible:!0,states:{normal:{fill:t.getColor()}}}}))}});function R(e,t,n){e.startAngle=t<n?t:n,e.endAngle=t<n?n:t}function B(e,t){return _(e-t)<1e-4}function L(e,t,n,i,o,a){return{x:(e+i*o).toFixed(5),y:(t-i*a).toFixed(5)}}t.dxBarGauge=M,P((g=function(e,t){this._context=t,this._tracker=t.renderer.arc().attr({\"stroke-linejoin\":\"round\"}),this.index=e}).prototype,{dispose:function(){return this._background.dispose(),this._bar.dispose(),this._context.textEnabled&&(this._line.dispose(),this._text.dispose()),this._context.tracker.detach(this._tracker),this._context=this._settings=this._background=this._bar=this._line=this._text=this._tracker=null,this},arrange:function(e){var t=this._context;return this._visible=!0,t.tracker.attach(this._tracker,this,{index:this.index}),this._background=t.renderer.arc().attr({\"stroke-linejoin\":\"round\",fill:t.backgroundColor}).append(t.group),this._settings=this._settings||{x:t.x,y:t.y,startAngle:t.baseAngle,endAngle:t.baseAngle},this._bar=t.renderer.arc().attr(P({\"stroke-linejoin\":\"round\"},this._settings)).append(t.group),t.textEnabled&&(this._line=t.renderer.path([],\"line\").attr({\"stroke-width\":t.lineWidth}).append(t.group),this._text=t.renderer.text().css(t.fontStyles).attr(t.textOptions).append(t.group)),this._angle=isFinite(this._angle)?this._angle:t.baseAngle,this._settings.outerRadius=e.radius,this._settings.innerRadius=e.radius-t.barSize,this._settings.x=t.x,this._settings.y=t.y,this._background.attr(P({},this._settings,{startAngle:t.endAngle,endAngle:t.startAngle,fill:this._context.backgroundColor})),this._bar.attr({x:t.x,y:t.y,outerRadius:this._settings.outerRadius,innerRadius:this._settings.innerRadius,fill:this._color}),this._tracker.attr(this._settings),t.textEnabled&&(this._line.attr({points:[t.x,t.y-this._settings.innerRadius,t.x,t.y-t.textRadius-t.textIndent],stroke:t.lineColor||this._color}).sharp(),this._text.css({fill:t.textColor||this._color})),this},getTooltipParameters:function(){var e=I((this._angle+this._context.baseAngle)/2);return{x:v(this._context.x+(this._settings.outerRadius+this._settings.innerRadius)/2*e.cos),y:v(this._context.y-(this._settings.outerRadius+this._settings.innerRadius)/2*e.sin),offset:0,color:this._color,value:this._value}},setAngle:function(e){var t,n=this._context,i=this._settings;if(this._angle=e,R(i,n.baseAngle,e),this._bar.attr(i),this._tracker.attr(i),n.textEnabled){t=I(e);var o=n.textIndent,a=n.textRadius+o,r=n.x+a*t.cos,s=n.y-a*t.sin,l=.5*n.textWidth,u=n.textHeight,d=n.textY;_(r-n.x)>o&&(r+=r<n.x?-l:l),_(s-n.y)<=o?s-=d+.5*u:s-=s<n.y?d+u:d;var c=C(this._value,n.formatOptions,{index:this.index}),h=\"\"===c?\"hidden\":null;this._text.attr({text:c,x:r,y:s,visibility:h}),this._line.attr({visibility:h}),this._line.rotate(D(e),n.x,n.y)}return this},hideLabel:function(){this._text.attr({visibility:\"hidden\"}),this._line.attr({visibility:\"hidden\"})},checkIntersect:function(e){var t=this.calculateLabelCoords(),n=e.calculateLabelCoords();return!(!t||!n)&&Math.max(0,Math.min(t.bottomRight.x,n.bottomRight.x)-Math.max(t.topLeft.x,n.topLeft.x))*Math.max(0,Math.min(t.bottomRight.y,n.bottomRight.y)-Math.max(t.topLeft.y,n.topLeft.y))!=0},calculateLabelCoords:function(){if(this._text){var e=this._text.getBBox();return{topLeft:{x:e.x,y:e.y},bottomRight:{x:e.x+e.width,y:e.y+e.height}}}},_processValue:function(e){return this._context.translator.translate(this._context.translator.adjust(e))},applyValue:function(){return this._visible?this.setAngle(this._processValue(this.getValue())):this},update:function(e){var t=e.color,n=e.value;this._color=t,this._value=n},hide:function(){this._visible=!1},getColor:function(){return this._color},getValue:function(){return this._value},beginAnimation:function(){if(!this._visible)return this;var e=this._processValue(this.getValue());B(this._angle,e)?(this.animate=A,this.setAngle(this._angle)):(this._start=this._angle,this._delta=e-this._angle,this._tracker.attr({visibility:\"hidden\"}),this._context.textEnabled&&(this._line.attr({visibility:\"hidden\"}),this._text.attr({visibility:\"hidden\"})))},animate:function(e){if(!this._visible)return this;this._angle=this._start+this._delta*e,R(this._settings,this._context.baseAngle,this._angle),this._bar.attr(this._settings)},endAnimation:function(){void 0!==this._delta?B(this._angle,this._start+this._delta)&&(this._tracker.attr({visibility:null}),this.setAngle(this._angle)):delete this.animate,delete this._start,delete this._delta}}),(0,i.default)(\"dxBarGauge\",M),M.addPlugin(c.plugin),M.addPlugin(h.plugins.gauge)},18029:function(e,t,n){t.BaseGauge=void 0,t.compareArrays=function(e,t){return e&&t&&e.length===t.length&&function(e,t){var n,i,o,a=e.length;for(n=0;n<a;++n)if(i=e[n]!=e[n],o=t[n]!=t[n],!(i&&o||e[n]===t[n]))return!1;return!0}(e,t)},t.getSampleText=t.formatValue=void 0;var i=n(19157),o=n(13306),a=n(17953),r=g(n(55845)),s=g(n(41802)),l=g(n(57298)),u=g(n(30343)),d=n(82454),c=n(17384),h=n(14371),f=n(64758),p=n(20576);function g(e){return e&&e.__esModule?e:{default:e}}var m=Number,_=o.extend,v=u.default.format,y=r.default.inherit({_rootClassPrefix:\"dxg\",_themeSection:\"gauge\",_createThemeManager:function(){return new s.default.ThemeManager(this._getThemeManagerOptions())},_initCore:function(){var e=this._renderer.root;this._valueChangingLocker=0,this._translator=this._factory.createTranslator(),this._tracker=this._factory.createTracker({renderer:this._renderer,container:e}),this._setTrackerCallbacks()},_beginValueChanging:function(){this._resetIsReady(),this._onBeginUpdate(),++this._valueChangingLocker},_endValueChanging:function(){0==--this._valueChangingLocker&&this._drawn()},_setTrackerCallbacks:function(){var e=this._renderer,t=this._tooltip;this._tracker.setCallbacks({\"tooltip-show\":function(n,i,o){var a=n.getTooltipParameters(),r=e.getRootOffset(),s=_({value:a.value,valueText:t.formatValue(a.value),color:a.color},i);return t.show(s,{x:a.x+r.left,y:a.y+r.top,offset:a.offset},{target:i},void 0,o)},\"tooltip-hide\":function(){return t.hide()}})},_dispose:function(){this._cleanCore(),this.callBase.apply(this,arguments)},_disposeCore:function(){this._themeManager.dispose(),this._tracker.dispose(),this._translator=this._tracker=null},_cleanCore:function(){this._tracker.deactivate(),this._cleanContent()},_renderCore:function(){this._isValidDomain&&(this._renderContent(),this._renderGraphicObjects(),this._tracker.setTooltipState(this._tooltip.isEnabled()),this._tracker.activate(),this._noAnimation=!1)},_applyChanges:function(){this.callBase.apply(this,arguments),this._resizing=this._noAnimation=!1},_setContentSize:function(){var e=this;e._resizing=e._noAnimation=2===e._changes.count(),e.callBase.apply(e,arguments)},_applySize:function(e){this._innerRect={left:e[0],top:e[1],right:e[2],bottom:e[3]};var t=this._layout._cache;return this._cleanCore(),this._renderCore(),this._layout._cache=this._layout._cache||t,[e[0],this._innerRect.top,e[2],this._innerRect.bottom]},_initialChanges:[\"DOMAIN\"],_themeDependentChanges:[\"DOMAIN\"],_optionChangesMap:{subtitle:\"MOSTLY_TOTAL\",indicator:\"MOSTLY_TOTAL\",geometry:\"MOSTLY_TOTAL\",animation:\"MOSTLY_TOTAL\",startValue:\"DOMAIN\",endValue:\"DOMAIN\"},_optionChangesOrder:[\"DOMAIN\",\"MOSTLY_TOTAL\"],_change_DOMAIN:function(){this._setupDomain()},_change_MOSTLY_TOTAL:function(){this._applyMostlyTotalChange()},_updateExtraElements:p.noop,_setupDomain:function(){this._setupDomainCore(),this._isValidDomain=isFinite(1/(this._translator.getDomain()[1]-this._translator.getDomain()[0])),this._isValidDomain||this._incidentOccurred(\"W2301\"),this._change([\"MOSTLY_TOTAL\"])},_applyMostlyTotalChange:function(){this._setupCodomain(),this._setupAnimationSettings(),this._setupDefaultFormat(),this._change([\"LAYOUT\"])},_setupAnimationSettings:function(){var e=this.option(\"animation\");this._animationSettings=null,(void 0===e||e)&&(e=_({enabled:!0,duration:1e3,easing:\"easeOutCubic\"},e)).enabled&&e.duration>0&&(this._animationSettings={duration:m(e.duration),easing:e.easing}),this._containerBackgroundColor=this.option(\"containerBackgroundColor\")||this._themeManager.theme().containerBackgroundColor},_setupDefaultFormat:function(){var e=this._translator.getDomain();this._defaultFormatOptions=(0,i.getAppropriateFormat)(e[0],e[1],this._getApproximateScreenRange())},_setupDomainCore:null,_calculateSize:null,_cleanContent:null,_renderContent:null,_setupCodomain:null,_getApproximateScreenRange:null,_factory:{createTranslator:function(){return new a.Translator1D},createTracker:function(e){return new l.default(e)}}});t.BaseGauge=y;var b=function(e,t,n){Object.is(e,-0)&&(e=0);var i,o=v(e,(t=t||{}).format);return\"function\"==typeof t.customizeText?(i=_({value:e,valueText:o},n),String(t.customizeText.call(i,i))):o};t.formatValue=b;t.getSampleText=function(e,t){var n=b(e.getDomainStart(),t),i=b(e.getDomainEnd(),t);return n.length>=i.length?n:i},y.addPlugin(d.plugin),y.addPlugin(c.plugin),y.addPlugin(h.plugin),y.addPlugin(f.plugin);var x=y.prototype._setTooltipOptions;y.prototype._setTooltipOptions=function(){x.apply(this,arguments),this._tracker&&this._tracker.setTooltipState(this._tooltip.isEnabled())}},3446:function(e,t,n){t.BaseTextCloudMarker=t.BaseRangeBar=t.BaseIndicator=t.BaseElement=void 0;var i,o=n(20576),a=n(95479),r=n(18029),s=n(19157),l=n(13306),u=(i=n(38377))&&i.__esModule?i:{default:i};var d=isFinite,c=Number,h=Math.round,f=r.formatValue,p=r.getSampleText,g=u.default.inherit({ctor:function(e){var t=this;(0,a.each)(e,(function(e,n){t[\"_\"+e]=n})),t._init()},dispose:function(){var e=this;return e._dispose(),(0,a.each)(e,(function(t){e[t]=null})),e},getOffset:function(){return c(this._options.offset)||0}});t.BaseElement=g;var m=g.inherit({_init:function(){this._rootElement=this._createRoot().linkOn(this._owner,{name:\"value-indicator\",after:\"core\"}),this._trackerElement=this._createTracker()},_dispose:function(){this._rootElement.linkOff()},_setupAnimation:function(){var e=this;e._options.animation&&(e._animation={step:function(t){e._actualValue=e._animation.start+e._animation.delta*t,e._actualPosition=e._translator.translate(e._actualValue),e._move()},duration:e._options.animation.duration>0?c(e._options.animation.duration):0,easing:e._options.animation.easing})},_runAnimation:function(e){var t=this._animation;t.start=this._actualValue,t.delta=e-this._actualValue,this._rootElement.animate({_:0},{step:t.step,duration:t.duration,easing:t.easing})},_createRoot:function(){return this._renderer.g().attr({class:this._className})},_createTracker:function(){return this._renderer.path([],\"area\")},_getTrackerSettings:o.noop,clean:function(){return this._animation&&this._rootElement.stopAnimation(),this._rootElement.linkRemove().clear(),this._clear(),this._tracker.detach(this._trackerElement),this._options=this.enabled=this._animation=null,this},render:function(e){return this.type=e.type,this._options=e,this._actualValue=this._currentValue=this._translator.adjust(this._options.currentValue),this.enabled=this._isEnabled(),this.enabled&&(this._setupAnimation(),this._rootElement.attr({fill:(0,s.extractColor)(this._options.color)}).linkAppend(),this._tracker.attach(this._trackerElement,this,this._trackerInfo)),this},resize:function(e){return this._rootElement.clear(),this._clear(),this.visible=this._isVisible(e),this.visible&&((0,l.extend)(this._options,e),this._actualPosition=this._translator.translate(this._actualValue),this._render(),this._trackerElement.attr(this._getTrackerSettings()),this._move()),this},value:function(e,t){var n,i=this._rootElement,o=null;return void 0===e?this._currentValue:(null===e?(o=\"hidden\",this._currentValue=e):(n=this._translator.adjust(e),this._currentValue!==n&&d(n)&&(this._currentValue=n,this.visible&&(this._animation&&!t?this._runAnimation(n):(this._actualValue=n,this._actualPosition=this._translator.translate(n),this._move())))),i.attr({visibility:o}),this)},_isEnabled:null,_isVisible:null,_render:null,_clear:null,_move:null});t.BaseIndicator=m;var _={};_[\"right-bottom\"]=_.rb=[0,-1,-1,0,0,1,1,0],_[\"bottom-right\"]=_.br=[-1,0,0,-1,1,0,0,1],_[\"left-bottom\"]=_.lb=[0,-1,1,0,0,1,-1,0],_[\"bottom-left\"]=_.bl=[1,0,0,-1,-1,0,0,1],_[\"left-top\"]=_.lt=[0,1,1,0,0,-1,-1,0],_[\"top-left\"]=_.tl=[1,0,0,1,-1,0,0,-1],_[\"right-top\"]=_.rt=[0,1,-1,0,0,-1,1,0],_[\"top-right\"]=_.tr=[-1,0,0,1,1,0,0,-1];var v=m.inherit({_move:function(){var e=this._options,t=this._getTextCloudOptions(),n=f(this._actualValue,e.text);this._text.attr({text:n});var i=this._text.getBBox(),o=t.x,a=t.y,r=(i.width||n.length*this._textUnitWidth)+2*e.horizontalOffset,s=(i.height||this._textHeight)+2*e.verticalOffset,l=function(e){var t,n,i=e.x,o=e.y,a=_[e.type],r=e.cloudWidth,s=e.cloudHeight,l=i,u=o;return t=n=e.tailLength,1&a[0]?n=Math.min(n,s/3):t=Math.min(t,r/3),{cx:h(l+a[0]*t+(a[0]+a[2])*r/2),cy:h(u+a[1]*n+(a[1]+a[3])*s/2),points:[h(i),h(o),h(i+=a[0]*(r+t)),h(o+=a[1]*(s+n)),h(i+=a[2]*r),h(o+=a[3]*s),h(i+=a[4]*r),h(o+=a[5]*s),h(i+=a[6]*(r-t)),h(o+=a[7]*(s-n))]}}({x:o,y:a,cloudWidth:r,cloudHeight:s,tailLength:e.arrowLength,type:this._correctCloudType(t.type,{x:o,y:a},{width:r,height:s})});this._text.attr({x:l.cx,y:l.cy+this._textVerticalOffset}),this._cloud.attr({points:l.points}),this._trackerElement&&this._trackerElement.attr({points:l.points})},_measureText:function(){var e,t,n;this._textVerticalOffset||(e=this._createRoot().append(this._owner),n=p(this._translator,this._options.text),t=this._renderer.text(n,0,0).attr({align:\"center\"}).css((0,s.patchFontOptions)(this._options.text.font)).append(e).getBBox(),e.remove(),this._textVerticalOffset=-t.y-t.height/2,this._textWidth=t.width,this._textHeight=t.height,this._textUnitWidth=this._textWidth/n.length,this._textFullWidth=this._textWidth+2*this._options.horizontalOffset,this._textFullHeight=this._textHeight+2*this._options.verticalOffset)},_render:function(){this._measureText(),this._cloud=this._cloud||this._renderer.path([],\"area\").append(this._rootElement),this._text=this._text||this._renderer.text().append(this._rootElement),this._text.attr({align:\"center\"}).css((0,s.patchFontOptions)(this._options.text.font))},_clear:function(){delete this._cloud,delete this._text},getTooltipParameters:function(){var e=this._getTextCloudOptions();return{x:e.x,y:e.y,value:this._currentValue,color:this._options.color}},_correctCloudType:function(e){return e}});t.BaseTextCloudMarker=v;var y=m.inherit({_measureText:function(){var e,t;this._hasText=this._isTextVisible(),this._hasText&&!this._textVerticalOffset&&(e=this._createRoot().append(this._owner),t=this._renderer.text(p(this._translator,this._options.text),0,0).attr({class:\"dxg-text\",align:\"center\"}).css((0,s.patchFontOptions)(this._options.text.font)).append(e).getBBox(),e.remove(),this._textVerticalOffset=-t.y-t.height/2,this._textWidth=t.width,this._textHeight=t.height)},_move:function(){this._updateBarItemsPositions(),this._hasText&&(this._text.attr({text:f(this._actualValue,this._options.text)}),this._updateTextPosition(),this._updateLinePosition())},_updateBarItems:function(){var e,t=this._options,n=this._translator;this._setBarSides(),this._startPosition=n.translate(n.getDomainStart()),this._endPosition=n.translate(n.getDomainEnd()),this._basePosition=n.translate(t.baseValue),this._space=this._getSpace();var i=t.backgroundColor||\"none\";\"none\"!==i&&this._space>0?e=t.containerBackgroundColor||\"none\":(this._space=0,e=\"none\"),this._backItem1.attr({fill:i}),this._backItem2.attr({fill:i}),this._spaceItem1.attr({fill:e}),this._spaceItem2.attr({fill:e})},_getSpace:function(){return 0},_updateTextItems:function(){this._hasText?(this._line=this._line||this._renderer.path([],\"line\").attr({class:\"dxg-main-bar\",\"stroke-linecap\":\"square\"}).append(this._rootElement),this._text=this._text||this._renderer.text(\"\",0,0).attr({class:\"dxg-text\"}).append(this._rootElement),this._text.attr({align:this._getTextAlign()}).css(this._getFontOptions()),this._setTextItemsSides()):(this._line&&(this._line.remove(),delete this._line),this._text&&(this._text.remove(),delete this._text))},_isTextVisible:function(){return!1},_getTextAlign:function(){return\"center\"},_getFontOptions:function(){var e=this._options,t=e.text.font;return t&&t.color||(t=(0,l.extend)({},t,{color:e.color})),(0,s.patchFontOptions)(t)},_updateBarItemsPositions:function(){var e=this._getPositions();this._backItem1.attr(this._buildItemSettings(e.start,e.back1)),this._backItem2.attr(this._buildItemSettings(e.back2,e.end)),this._spaceItem1.attr(this._buildItemSettings(e.back1,e.main1)),this._spaceItem2.attr(this._buildItemSettings(e.main2,e.back2)),this._mainItem.attr(this._buildItemSettings(e.main1,e.main2)),this._trackerElement&&this._trackerElement.attr(this._buildItemSettings(e.main1,e.main2))},_render:function(){this._measureText(),this._backItem1||(this._backItem1=this._createBarItem(),this._backItem1.attr({class:\"dxg-back-bar\"})),this._backItem2||(this._backItem2=this._createBarItem(),this._backItem2.attr({class:\"dxg-back-bar\"})),this._spaceItem1||(this._spaceItem1=this._createBarItem(),this._spaceItem1.attr({class:\"dxg-space-bar\"})),this._spaceItem2||(this._spaceItem2=this._createBarItem(),this._spaceItem2.attr({class:\"dxg-space-bar\"})),this._mainItem||(this._mainItem=this._createBarItem(),this._mainItem.attr({class:\"dxg-main-bar\"})),this._updateBarItems(),this._updateTextItems()},_clear:function(){delete this._backItem1,delete this._backItem2,delete this._spaceItem1,delete this._spaceItem2,delete this._mainItem,delete this._hasText,delete this._line,delete this._text},getTooltipParameters:function(){var e=this._getTooltipPosition();return{x:e.x,y:e.y,value:this._currentValue,color:this._options.color,offset:0}}});t.BaseRangeBar=y},84165:function(e,t,n){t.default=void 0;var i=n(95479),o=n(3446),a=n(35922),r=n(19157),s=Number,l=Array.isArray,u=isFinite;function d(e,t,n,i){var o;return n>e&&i<t?o=[{start:e,end:n},{start:i,end:t}]:n>=t||i<=e?o=[{start:e,end:t}]:n<=e&&i>=t?o=[]:n>e?o=[{start:e,end:n}]:i<t&&(o=[{start:i,end:t}]),o}function c(e,t,n,i){var o;return n<e&&i>t?o=[{start:e,end:n},{start:i,end:t}]:n<=t||i>=e?o=[{start:e,end:t}]:n>=e&&i<=t?o=[]:n<e?o=[{start:e,end:n}]:i>t&&(o=[{start:i,end:t}]),o}function h(e,t,n){var i=n.startValue;return n.endValue===i&&i===e&&t===e}function f(e,t,n){return t-e>0||h(e,t,n)}function p(e,t,n){return e-t>0||h(e,t,n)}var g=o.BaseElement.inherit({_init:function(){this._root=this._renderer.g().attr({class:\"dxg-range-container\"}).linkOn(this._container,\"range-container\")},_dispose:function(){this._root.linkOff()},clean:function(){return this._root.linkRemove().clear(),this._options=this.enabled=null,this},_getRanges:function(){var e,t=this._options,n=this._translator,o=n.getDomain()[0],h=n.getDomain()[1],g=h-o,m=g>=0?f:p,_=g>=0?d:c,v=[],y=[{start:o,end:h}],b=(0,r.extractColor)(t.backgroundColor)||\"none\",x=t.width||{},w=s(x>0?x:x.start),C=s(x>0?x:x.end),S=C-w;if(void 0!==t.ranges&&!l(t.ranges))return null;if(!(w>=0&&C>=0&&w+C>0))return null;e=(l(t.ranges)?t.ranges:[]).reduce((function(e,t,i){t=t||{};var o=n.adjust(t.startValue),a=n.adjust(t.endValue);return u(o)&&u(a)&&m(o,a,t)&&e.push({start:o,end:a,color:(0,r.extractColor)(t.color),classIndex:i}),e}),[]);var k=this._themeManager.createPalette(t.palette,{type:\"indicatingSet\",extensionMode:t.paletteExtensionMode,keepLastColorInEnd:!0,count:e.length});return(0,i.each)(e,(function(e,t){var n=k.getNextColor();t.color=(0,a.isString)(t.color)&&t.color||n||\"none\",t.className=\"dxg-range dxg-range-\"+t.classIndex,delete t.classIndex})),(0,i.each)(e,(function(e,t){var n,i,o,a,r,s=[],l=[];for(n=0,i=v.length;n<i;++n)r=v[n],(o=(a=_(r.start,r.end,t.start,t.end))[0])&&(o.color=r.color)&&(o.className=r.className)&&s.push(o),(o=a[1])&&(o.color=r.color)&&(o.className=r.className)&&s.push(o);for(s.push(t),v=s,n=0,i=y.length;n<i;++n)r=y[n],(o=(a=_(r.start,r.end,t.start,t.end))[0])&&l.push(o),(o=a[1])&&l.push(o);y=l})),(0,i.each)(y,(function(e,t){t.color=b,t.className=\"dxg-range dxg-background-range\",v.push(t)})),(0,i.each)(v,(function(e,t){t.startWidth=(t.start-o)/g*S+w,t.endWidth=(t.end-o)/g*S+w})),v},render:function(e){return this._options=e,this._processOptions(),this._ranges=this._getRanges(),this._ranges&&(this.enabled=!0,this._root.linkAppend()),this},resize:function(e){var t=this;return t._root.clear(),t._isVisible(e)&&(0,i.each)(t._ranges,(function(n,i){t._createRange(i,e).attr({fill:i.color,class:i.className}).append(t._root)})),t},_processOptions:null,_isVisible:null,_createRange:null,getColorForValue:function(e){var t=null;return(0,i.each)(this._ranges,(function(n,i){if(i.start<=e&&e<=i.end||i.start>=e&&e>=i.end)return t=i.color,!1})),t}});t.default=g,e.exports=t.default,e.exports.default=t.default},31500:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=g(n(99393)),a=n(48013),r=n(13306),s=n(95479),l=n(18029),u=n(88917),d=n(19157),c=n(56672),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(16030)),f=g(n(27172));function p(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function g(e){return e&&e.__esModule?e:{default:e}}var m=isFinite,_=d.normalizeAngle,v=d.getCosAndSin,y=Math.abs,b=Math.max,x=Math.min,w=Math.round,C=s.each,S=Math.PI;var k=u.dxGauge.inherit({_rootClass:\"dxg-circular-gauge\",_factoryMethods:{rangeContainer:\"createCircularRangeContainer\",indicator:\"createCircularIndicator\"},_gridSpacingFactor:17,_scaleTypes:{type:\"polarAxes\",drawingType:\"circular\"},_getThemeManagerOptions:function(){var e=this.callBase.apply(this,arguments);return e.subTheme=\"_circular\",e},_updateScaleTickIndent:function(e){var t=e.label.indentFromTick,n=e.tick.visible?e.tick.length:0,i=this._scale.measureLabels((0,r.extend)({},this._canvas)),o=e.orientation,a=n,s=t;t>=0?\"outside\"===o?s+=a:\"center\"===o&&(s+=a/2):(s-=b(i.width,i.height),\"inside\"===o?s-=a:\"center\"===o&&(s-=a/2));e.label.indentFromAxis=s,this._scale.updateOptions(e)},_setupCodomain:function(){var e,t=this.option(\"geometry\")||{},n=t.startAngle,i=t.endAngle;n=m(n)?_(n):225,i=m(i)?_(i):-45,y(n-i)<1?(i-=360,e={left:-1,up:-1,right:1,down:1}):(n<i&&(i-=360),e=function(e,t){var n=v(e),i=v(t),o=n.cos,a=n.sin,r=i.cos,s=i.sin;return{left:a<=0&&s>=0||a<=0&&s<=0&&o<=r||a>=0&&s>=0&&o>=r?-1:x(o,r,0),right:a>=0&&s<=0||a>=0&&s>=0&&o>=r||a<=0&&s<=0&&o<=r?1:b(o,r,0),up:o<=0&&r>=0||o<=0&&r<=0&&a>=s||o>=0&&r>=0&&a<=s?-1:-b(a,s,0),down:o>=0&&r<=0||o>=0&&r>=0&&a<=s||o<=0&&r<=0&&a>=s?1:-x(a,s,0)}}(n,i)),this._area={x:0,y:0,radius:100,startCoord:n,endCoord:i,sides:e},this._translator.setCodomain(n,i)},_getCenter:function(){return this._getElementLayout()},_shiftScale:function(e){var t=this._scale,n=t.getCanvas();n.width=n.height=2*e.radius,t.draw(n);var i=t.getCenter();t.shift({right:e.x-i.x,bottom:e.y-i.y})},_getScaleLayoutValue:function(){return this._area.radius},_getTicksOrientation:function(e){return e.orientation},_getTicksCoefficients:function(e){var t={inner:0,outer:1};return\"inside\"===e.orientation?(t.inner=1,t.outer=0):\"center\"===e.orientation&&(t.inner=t.outer=.5),t},_correctScaleIndents:function(e,t,n){t>=0?(e.horizontalOffset=t+n.width,e.verticalOffset=t+n.height):(e.horizontalOffset=e.verticalOffset=0,e.min-=-t+b(n.width,n.height)),e.inverseHorizontalOffset=n.width/2,e.inverseVerticalOffset=n.height/2},_measureMainElements:function(e,t){var n=this._area.radius,i=0,o=1/0,a=0,r=0,s=0,l=0,u=this._scale;return C(e.concat(u),(function(e,u){var d=u.measure?u.measure({radius:n-u.getOffset()}):t;d.min>0&&(o=x(o,d.min)),d.max>0&&(i=b(i,d.max)),d.horizontalOffset>0&&(a=b(a,d.max+d.horizontalOffset)),d.verticalOffset>0&&(r=b(r,d.max+d.verticalOffset)),d.inverseHorizontalOffset>0&&(s=b(s,d.inverseHorizontalOffset)),d.inverseVerticalOffset>0&&(l=b(l,d.inverseVerticalOffset))})),a=b(a-i,0),r=b(r-i,0),{minRadius:o,maxRadius:i,horizontalMargin:a,verticalMargin:r,inverseHorizontalMargin:s,inverseVerticalMargin:l}},_applyMainLayout:function(e,t){var n=this._measureMainElements(e,t),i=this._area,o=i.sides,a={left:(o.left<-.1?n.horizontalMargin:n.inverseHorizontalMargin)||0,right:(o.right>.1?n.horizontalMargin:n.inverseHorizontalMargin)||0,top:(o.up<-.1?n.verticalMargin:n.inverseVerticalMargin)||0,bottom:(o.down>.1?n.verticalMargin:n.inverseVerticalMargin)||0},s=function(e,t,n){var i,o=(0,r.extend)({},e),a=0,s=0;n=n||{},t>0&&(o.left+=n.left||0,o.right-=n.right||0,o.top+=n.top||0,o.bottom-=n.bottom||0,D(o)>0&&I(o)>0?((i=I(o)/D(o))>1?t<i?a=D(o):s=I(o):t>i?s=I(o):a=D(o),a>0||(a=s/t),s>0||(s=a*t),a=(D(o)-a)/2,s=(I(o)-s)/2,o.left+=a,o.right-=a,o.top+=s,o.bottom-=s):(o.left=o.right=(o.left+o.right)/2,o.top=o.bottom=(o.top+o.bottom)/2));return o}(this._innerRect,(o.down-o.up)/(o.right-o.left),a),l=x(D(s)/(o.right-o.left),I(s)/(o.down-o.up));l=l-n.maxRadius+i.radius;var u=s.left-D(s)*o.left/(o.right-o.left),d=s.top-I(s)*o.up/(o.down-o.up);i.x=w(u),i.y=w(d),i.radius=l,s.left-=a.left,s.right+=a.right,s.top-=a.top,s.bottom+=a.bottom,this._innerRect=s},_getElementLayout:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return{x:this._area.x,y:this._area.y,radius:w(this._area.radius-e)}},_getApproximateScreenRange:function(){var e=this._area,t=x(this._canvas.width/(e.sides.right-e.sides.left),this._canvas.height/(e.sides.down-e.sides.up));return t>e.totalRadius&&(t=e.totalRadius),t*=.8,-this._translator.getCodomainRange()*t*S/180},_getDefaultSize:function(){return{width:300,height:300}},_factory:(0,a.clone)(l.BaseGauge.prototype._factory)});function D(e){return e.right-e.left}function I(e){return e.bottom-e.top}var T=k.prototype._factory.indicators={};k.prototype._factory.createIndicator=(0,u.createIndicatorCreator)(T),T._default=h._default,T.rectangleneedle=h.rectangleneedle,T.triangleneedle=h.triangleneedle,T.twocolorneedle=h.twocolorneedle,T.trianglemarker=h.trianglemarker,T.textcloud=h.textcloud,T.rangebar=h.rangebar,k.prototype._factory.RangeContainer=f.default,(0,o.default)(\"dxCircularGauge\",k),k.addPlugin(c.plugins.gauge);var E=k;t.default=E,e.exports=t.default,e.exports.default=t.default},16030:function(e,t,n){t.twocolorneedle=t.triangleneedle=t.trianglemarker=t.textcloud=t.rectangleneedle=t.rangebar=t._default=void 0;var i=n(3446),o=n(19157),a=Number,r=o.getCosAndSin,s=o.convertAngleToRendererSpace;function l(e,t){return e&&e.radius-t<=0&&(e.radius=t+1),e}var u=i.BaseIndicator.inherit({_move:function(){var e=this._options,t=s(this._actualPosition);this._rootElement.rotate(t,e.x,e.y),this._trackerElement&&this._trackerElement.rotate(t,e.x,e.y)},_isEnabled:function(){return this._options.width>0},_isVisible:function(e){return e.radius-a(this._options.indentFromCenter)>0},_getTrackerSettings:function(){var e=this._options,t=this._getRadius(),n=this._getIndentFromCenter(),i=e.x,o=e.y-(t+n)/2,a=e.width/2,r=(t-n)/2;return a>10||(a=10),r>10||(r=10),{points:[i-a,o-r,i-a,o+r,i+a,o+r,i+a,o-r]}},_render:function(){this._renderPointer()},_clearPointer:function(){delete this._element},_clear:function(){this._clearPointer()},_getIndentFromCenter:function(e){return Number(this._options.indentFromCenter)||0},_getRadius:function(){return 0},measure:function(e){var t={max:e.radius};return this._options.indentFromCenter<0&&(t.inverseHorizontalOffset=t.inverseVerticalOffset=-a(this._options.indentFromCenter)),t},getTooltipParameters:function(){var e=this._options,t=r(this._actualPosition),n=(this._getRadius()+this._getIndentFromCenter())/2;return{x:e.x+t.cos*n,y:e.y-t.sin*n,value:this._currentValue,color:e.color,offset:e.width/2}}}),d=u.inherit({_isVisible:function(e){var t=this._adjustOffset(Number(this._options.indentFromCenter),e.radius),n=this._adjustOffset(Number(this._options.offset),e.radius);return e.radius-t-n>0},getOffset:function(){return 0},_adjustOffset:function(e,t){var n=t/Number(this._options.beginAdaptingAtRadius);return n<1&&(e=Math.floor(e*n)),e||0},_getIndentFromCenter:function(e){return this._adjustOffset(Number(this._options.indentFromCenter),this._options.radius)},_getRadius:function(){var e=this._options;return e.radius-this._adjustOffset(Number(e.offset),e.radius)},_renderSpindle:function(){var e=this._options,t=e.radius,n=2*this._adjustOffset(a(e.spindleSize)/2,t),i=2*this._adjustOffset(a(e.spindleGapSize)/2,t)||0;i>0&&(i=i<=n?i:n),n>0&&(this._spindleOuter=this._spindleOuter||this._renderer.circle().append(this._rootElement),this._spindleInner=this._spindleInner||this._renderer.circle().append(this._rootElement),this._spindleOuter.attr({class:\"dxg-spindle-border\",cx:e.x,cy:e.y,r:n/2}),this._spindleInner.attr({class:\"dxg-spindle-hole\",cx:e.x,cy:e.y,r:i/2,fill:e.containerBackgroundColor}))},_render:function(){this.callBase(),this._renderSpindle()},_clear:function(){this.callBase(),delete this._spindleOuter,delete this._spindleInner}}),c=d.inherit({_renderPointer:function(){var e=this._options,t=e.y-this._getRadius(),n=e.y-this._getIndentFromCenter(),i=e.x-e.width/2,o=i+a(e.width);this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement),this._element.attr({points:[i,n,i,t,o,t,o,n]})}});t.rectangleneedle=t._default=c;var h=d.inherit({_renderPointer:function(){var e=this._options,t=e.y-this._getRadius(),n=e.y-this._getIndentFromCenter(),i=e.x-e.width/2,o=e.x+e.width/2;this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement),this._element.attr({points:[i,n,e.x,t,o,n]})}});t.triangleneedle=h;var f=d.inherit({_renderPointer:function(){var e,t,n=this._options,i=n.x-n.width/2,o=n.x+n.width/2,r=n.y-this._getRadius(),s=n.y-this._getIndentFromCenter(),l=a(n.secondFraction)||0;e=l>=1?t=s:l<=0?t=r:(t=r+(s-r)*l)+a(n.space),this._firstElement=this._firstElement||this._renderer.path([],\"area\").append(this._rootElement),this._spaceElement=this._spaceElement||this._renderer.path([],\"area\").append(this._rootElement),this._secondElement=this._secondElement||this._renderer.path([],\"area\").append(this._rootElement),this._firstElement.attr({points:[i,s,i,e,o,e,o,s]}),this._spaceElement.attr({points:[i,e,i,t,o,t,o,e],class:\"dxg-hole\",fill:n.containerBackgroundColor}),this._secondElement.attr({points:[i,t,i,r,o,r,o,t],class:\"dxg-part\",fill:n.secondColor})},_clearPointer:function(){delete this._firstElement,delete this._secondElement,delete this._spaceElement}});t.twocolorneedle=f;var p=u.inherit({_isEnabled:function(){return this._options.length>0&&this._options.width>0},_isVisible:function(e){return!0},resize:function(e){return this.callBase(l(e,0))},_render:function(){var e=this._options,t=e.x,n=e.y-e.radius,i=e.width/2||0,o=n-a(e.length);this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement);var r={points:[t,n,t-i,o,t+i,o],stroke:\"none\",\"stroke-width\":0,\"stroke-linecap\":\"square\"};e.space>0&&(r[\"stroke-width\"]=Math.min(e.space,e.width/4)||0,r.stroke=r[\"stroke-width\"]>0&&e.containerBackgroundColor||\"none\"),this._element.attr(r).sharp()},_clear:function(){delete this._element},_getTrackerSettings:function(){var e=this._options,t=e.x,n=e.y-e.radius-e.length/2,i=e.width/2,o=e.length/2;return i>10||(i=10),o>10||(o=10),{points:[t-i,n-o,t-i,n+o,t+i,n+o,t+i,n-o]}},measure:function(e){return{min:e.radius,max:e.radius+a(this._options.length)}},getTooltipParameters:function(){var e=this._options,t=r(this._actualPosition),n=e.radius+e.length/2,i=this.callBase();return i.x=e.x+t.cos*n,i.y=e.y-t.sin*n,i.offset=e.length/2,i}});t.trianglemarker=p;var g=i.BaseTextCloudMarker.inherit({_isEnabled:function(){return!0},_isVisible:function(e){return!0},resize:function(e){return this.callBase(l(e,0))},_getTextCloudOptions:function(){var e=r(this._actualPosition),t=(0,o.normalizeAngle)(this._actualPosition);return{x:this._options.x+e.cos*this._options.radius,y:this._options.y-e.sin*this._options.radius,type:t>270?\"left-top\":t>180?\"top-right\":t>90?\"right-bottom\":\"bottom-left\"}},measure:function(e){var t=a(this._options.arrowLength)||0;this._measureText();var n=this._textFullHeight+t,i=this._textFullWidth+t;return{min:e.radius,max:e.radius,horizontalOffset:i,verticalOffset:n,inverseHorizontalOffset:i,inverseVerticalOffset:n}}});t.textcloud=g;var m=i.BaseRangeBar.inherit({_isEnabled:function(){return this._options.size>0},_isVisible:function(e){return!0},resize:function(e){return this.callBase(l(e,a(this._options.size)))},_createBarItem:function(){return this._renderer.arc().attr({\"stroke-linejoin\":\"round\"}).append(this._rootElement)},_createTracker:function(){return this._renderer.arc().attr({\"stroke-linejoin\":\"round\"})},_setBarSides:function(){this._maxSide=this._options.radius,this._minSide=this._maxSide-a(this._options.size)},_getSpace:function(){var e=this._options;return e.space>0?180*e.space/e.radius/Math.PI:0},_isTextVisible:function(){return(this._options.text||{}).indent>0},_setTextItemsSides:function(){var e=this._options,t=a(e.text.indent);this._lineFrom=e.y-e.radius,this._lineTo=this._lineFrom-t,this._textRadius=e.radius+t},_getPositions:function(){var e,t,n=this._basePosition,i=this._actualPosition;return n>=i?(e=n,t=i):(e=i,t=n),{start:this._startPosition,end:this._endPosition,main1:e,main2:t,back1:Math.min(e+this._space,this._startPosition),back2:Math.max(t-this._space,this._endPosition)}},_buildItemSettings:function(e,t){return{x:this._options.x,y:this._options.y,innerRadius:this._minSide,outerRadius:this._maxSide,startAngle:t,endAngle:e}},_updateTextPosition:function(){var e=r(this._actualPosition),t=this._options.x+this._textRadius*e.cos,n=this._options.y-this._textRadius*e.sin;t+=e.cos*this._textWidth*.6,n-=e.sin*this._textHeight*.6,this._text.attr({x:t,y:n+this._textVerticalOffset})},_updateLinePosition:function(){var e,t,n=this._options.x;this._basePosition>this._actualPosition?(e=n-2,t=n):this._basePosition<this._actualPosition?(e=n,t=n+2):(e=n-1,t=n+1),this._line.attr({points:[e,this._lineFrom,e,this._lineTo,t,this._lineTo,t,this._lineFrom]}).rotate(s(this._actualPosition),n,this._options.y).sharp()},_getTooltipPosition:function(){var e=r((this._basePosition+this._actualPosition)/2),t=(this._minSide+this._maxSide)/2;return{x:this._options.x+e.cos*t,y:this._options.y-e.sin*t}},measure:function(e){var t={min:e.radius-a(this._options.size),max:e.radius};return this._measureText(),this._hasText&&(t.max+=a(this._options.text.indent),t.horizontalOffset=this._textWidth,t.verticalOffset=this._textHeight),t}});t.rangebar=m},27172:function(e,t,n){t.default=void 0;var i,o=(i=n(84165))&&i.__esModule?i:{default:i},a=n(19157);var r=Number,s=Math.max,l=o.default.inherit({_processOptions:function(){switch(this._inner=this._outer=0,(0,a.normalizeEnum)(this._options.orientation)){case\"inside\":this._inner=1;break;case\"center\":this._inner=this._outer=.5;break;default:this._outer=1}},_isVisible:function(e){var t=this._options.width;return t=r(t)||s(r(t.start),r(t.end)),e.radius-this._inner*t>0},_createRange:function(e,t){var n=(e.startWidth+e.endWidth)/2;return this._renderer.arc(t.x,t.y,t.radius-this._inner*n,t.radius+this._outer*n,this._translator.translate(e.end),this._translator.translate(e.start)).attr({\"stroke-linejoin\":\"round\"})},measure:function(e){var t=this._options.width;return t=r(t)||s(r(t.start),r(t.end)),{min:e.radius-this._inner*t,max:e.radius+this._outer*t}}});t.default=l,e.exports=t.default,e.exports.default=t.default},88917:function(e,t,n){t.createIndicatorCreator=function(e){return function(t,n,i){var o=e[(0,s.normalizeEnum)(n)]||!i&&e._default;return o?new o(t):null}},t.dxGauge=void 0;var i=n(18029),o=n(35922),a=n(13306),r=n(41278),s=n(19157),l=n(20576),u=Array.isArray,d=isFinite,c=Number,h=Math.min,f=Math.max,p=a.extend,g=[1,2,5];function m(e,t){return null===e?e:d(e)?c(e):t}function _(e){return u(e)?e:(0,o.isNumeric)(e)?[e]:null}var v=i.BaseGauge.inherit({_initCore:function(){var e=this,t=e._renderer;e._setupValue(e.option(\"value\")),e.__subvalues=_(e.option(\"subvalues\")),e._setupSubvalues(e.__subvalues),x(e),e.callBase.apply(e,arguments),e._rangeContainer=new e._factory.RangeContainer({renderer:t,container:t.root,translator:e._translator,themeManager:e._themeManager}),e._initScale(),e._subvalueIndicatorContainer=e._renderer.g().attr({class:\"dxg-subvalue-indicators\"}).linkOn(e._renderer.root,\"valueIndicator\").enableLinks()},_fontFields:[\"scale.label.font\",\"valueIndicators.rangebar.text.font\",\"valueIndicators.textcloud.text.font\",\"indicator.text.font\"],_initScale:function(){this._scaleGroup=this._renderer.g().attr({class:\"dxg-scale\"}).linkOn(this._renderer.root,\"scale\"),this._labelsAxesGroup=this._renderer.g().attr({class:\"dxg-scale-elements\"}).linkOn(this._renderer.root,\"scale-elements\"),this._scale=new r.Axis({incidentOccurred:this._incidentOccurred,renderer:this._renderer,axesContainerGroup:this._scaleGroup,labelsAxesGroup:this._labelsAxesGroup,axisType:this._scaleTypes.type,drawingType:this._scaleTypes.drawingType,widgetClass:\"dxg\",getTemplate:function(){}})},_disposeCore:function(){var e=this;e.callBase.apply(e,arguments),e._scale.dispose(),e._scaleGroup.linkOff(),e._labelsAxesGroup.linkOff(),e._rangeContainer.dispose(),e._disposeValueIndicators(),e._subvalueIndicatorContainer.linkOff(),e._scale=e._scaleGroup=e._labelsAxesGroup=e._rangeContainer=null},_disposeValueIndicators:function(){this._valueIndicator&&this._valueIndicator.dispose(),this._subvalueIndicatorsSet&&this._subvalueIndicatorsSet.dispose(),this._valueIndicator=this._subvalueIndicatorsSet=null},_setupDomainCore:function(){var e=this.option(\"scale\")||{},t=this.option(\"startValue\"),n=this.option(\"endValue\");t=(0,o.isNumeric)(t)?c(t):(0,o.isNumeric)(e.startValue)?c(e.startValue):0,n=(0,o.isNumeric)(n)?c(n):(0,o.isNumeric)(e.endValue)?c(e.endValue):100,this._baseValue=t<n?t:n,this._translator.setDomain(t,n)},_cleanContent:function(){this._rangeContainer.clean(),this._cleanValueIndicators()},_measureScale:function(e){var t=e.tick,n=t.visible&&t.length>0&&t.width>0,i=e.minorTick,o=i.visible&&i.length>0&&i.width>0,r=e.label,s=Number(r.indentFromTick);if(!n&&!o&&!r.visible)return{};var l=this._scale.measureLabels((0,a.extend)({},this._canvas)),u=this._getScaleLayoutValue(),d={min:u,max:u},c=this._getTicksCoefficients(e),p=c.inner,g=c.outer;return n&&(d.min=h(d.min,u-p*t.length),d.max=f(d.max,u+g*t.length)),o&&(d.min=h(d.min,u-p*i.length),d.max=f(d.max,u+g*i.length)),r.visible&&this._correctScaleIndents(d,s,l),d},_renderContent:function(){var e=this,t=e._prepareScaleSettings();e._rangeContainer.render(p(e._getOption(\"rangeContainer\"),{vertical:e._area.vertical})),e._renderScale(t),e._subvalueIndicatorContainer.linkAppend();var n=(0,s.map)([e._rangeContainer].concat(e._prepareValueIndicators()),(function(e){return e&&e.enabled?e:null}));e._applyMainLayout(n,e._measureScale(t)),n.forEach((function(t){return t.resize(e._getElementLayout(t.getOffset()))})),e._shiftScale(e._getElementLayout(0),t),e._beginValueChanging(),e._updateActiveElements(),e._endValueChanging()},_prepareScaleSettings:function(){var e=this,t=e.option(\"scale\"),n=(0,a.extend)(!0,{},e._themeManager.theme(\"scale\"),t);return n.label.indentFromAxis=0,n.isHorizontal=!e._area.vertical,n.forceUserTickInterval|=(0,o.isDefined)(t)&&(0,o.isDefined)(t.tickInterval)&&!(0,o.isDefined)(t.scaleDivisionFactor),n.axisDivisionFactor=n.scaleDivisionFactor||e._gridSpacingFactor,n.minorAxisDivisionFactor=n.minorScaleDivisionFactor||5,n.numberMultipliers=g,n.tickOrientation=e._getTicksOrientation(n),n.label.useRangeColors&&(n.label.customizeColor=function(){return e._rangeContainer.getColorForValue(this.value)}),n},_renderScale:function(e){var t=this._translator.getDomain(),n=t[0],i=t[1],o=this._translator.getCodomain(),r=!!(n>i^e.inverted),s=h(n,i),l=f(n,i);e.min=s,e.max=l,e.startAngle=90-o[0],e.endAngle=90-o[1],e.skipViewportExtending=!0,e.inverted=r,this._scale.updateOptions(e),this._scale.setBusinessRange({axisType:\"continuous\",dataType:\"numeric\",min:s,max:l,invert:r}),this._updateScaleTickIndent(e),this._scaleGroup.linkAppend(),this._labelsAxesGroup.linkAppend(),this._scale.draw((0,a.extend)({},this._canvas))},_updateIndicatorSettings:function(e){e.currentValue=e.baseValue=d(this._translator.translate(e.baseValue))?c(e.baseValue):this._baseValue,e.vertical=this._area.vertical,e.text&&!e.text.format&&(e.text.format=this._defaultFormatOptions)},_prepareIndicatorSettings:function(e,t){var n=this._themeManager.theme(\"valueIndicators\"),i=(0,s.normalizeEnum)(e.type||this._themeManager.theme(t)),o=p(!0,{},n._default,n[i],e);return o.type=i,o.animation=this._animationSettings,o.containerBackgroundColor=this._containerBackgroundColor,this._updateIndicatorSettings(o),o},_cleanValueIndicators:function(){this._valueIndicator&&this._valueIndicator.clean(),this._subvalueIndicatorsSet&&this._subvalueIndicatorsSet.clean()},_prepareValueIndicators:function(){return this._prepareValueIndicator(),null!==this.__subvalues&&this._prepareSubvalueIndicators(),[this._valueIndicator,this._subvalueIndicatorsSet]},_updateActiveElements:function(){this._updateValueIndicator(),this._updateSubvalueIndicators()},_prepareValueIndicator:function(){var e=this._valueIndicator,t=this._prepareIndicatorSettings(this.option(\"valueIndicator\")||{},\"valueIndicatorType\");e&&e.type!==t.type&&(e.dispose(),e=null),e||(e=this._valueIndicator=this._createIndicator(t.type,this._renderer.root,\"dxg-value-indicator\",\"value-indicator\")),e.render(t)},_createSubvalueIndicatorsSet:function(){var e=this,t=e._subvalueIndicatorContainer;return new I({createIndicator:function(n,i){return e._createIndicator(n,t,\"dxg-subvalue-indicator\",\"subvalue-indicator\",i)},createPalette:function(t){return e._themeManager.createPalette(t)}})},_prepareSubvalueIndicators:function(){var e=this._subvalueIndicatorsSet,t=this._prepareIndicatorSettings(this.option(\"subvalueIndicator\")||{},\"subvalueIndicatorType\");e||(e=this._subvalueIndicatorsSet=this._createSubvalueIndicatorsSet());var n=t.type!==e.type;e.type=t.type;var i=this._createIndicator(t.type,this._renderer.root);i&&(i.dispose(),e.render(t,n))},_setupValue:function(e){this.__value=m(e,this.__value)},_setupSubvalues:function(e){var t,n,i,o=void 0===e?this.__subvalues:_(e);if(null!==o){for(t=0,n=o.length,i=[];t<n;++t)i.push(m(o[t],this.__subvalues[t]));this.__subvalues=i}},_updateValueIndicator:function(){this._valueIndicator&&this._valueIndicator.value(this.__value,this._noAnimation)},_updateSubvalueIndicators:function(){this._subvalueIndicatorsSet&&this._subvalueIndicatorsSet.values(this.__subvalues,this._noAnimation)},value:function(e){return void 0!==e?(this._changeValue(e),this):this.__value},subvalues:function(e){return void 0!==e?(this._changeSubvalues(e),this):null!==this.__subvalues?this.__subvalues.slice():void 0},_changeValue:function(e){this._setupValue(e),this._beginValueChanging(),this._updateValueIndicator(),this._updateExtraElements(),this.__value!==this.option(\"value\")&&this.option(\"value\",this.__value),this._endValueChanging()},_changeSubvalues:function(e){null!==this.__subvalues?(this._setupSubvalues(e),this._beginValueChanging(),this._updateSubvalueIndicators(),this._updateExtraElements(),this._endValueChanging()):(this.__subvalues=_(e),this._setContentSize(),this._renderContent()),(0,i.compareArrays)(this.__subvalues,this.option(\"subvalues\"))||this.option(\"subvalues\",this.__subvalues)},_optionChangesMap:{scale:\"DOMAIN\",rangeContainer:\"MOSTLY_TOTAL\",valueIndicator:\"MOSTLY_TOTAL\",subvalueIndicator:\"MOSTLY_TOTAL\",containerBackgroundColor:\"MOSTLY_TOTAL\",value:\"VALUE\",subvalues:\"SUBVALUES\",valueIndicators:\"MOSTLY_TOTAL\"},_customChangesOrder:[\"VALUE\",\"SUBVALUES\"],_change_VALUE:function(){this._changeValue(this.option(\"value\"))},_change_SUBVALUES:function(){this._changeSubvalues(this.option(\"subvalues\"))},_applyMainLayout:null,_getElementLayout:null,_createIndicator:function(e,t,n,i,o,a){var r=this._factory.createIndicator({renderer:this._renderer,translator:this._translator,owner:t,tracker:this._tracker,className:n},e,a);return r&&(r.type=e,r._trackerInfo={type:i,index:o}),r},_getApproximateScreenRange:null});function y(e){return e?e.value:null}function b(e,t,n){for(var i=e[t],o=u(n)?(0,s.map)(n,y):[],a=0,r=o.length,l=[];a<r;++a)l.push(m(o[a],i[a]));e[t]=l}function x(e){var t;void 0===e.option(\"value\")&&void 0===e.option(\"subvalues\")&&void 0!==e.option(\"valueIndicators\")&&((t=e).value=t.subvalues=l.noop,t._setupValue=t._setupSubvalues=t._updateValueIndicator=t._updateSubvalueIndicators=null,function(e){e._indicatorValues=[],b(e,\"_indicatorValues\",e.option(\"valueIndicators\")),e._valueIndicators=[];var t=e._applyMostlyTotalChange;e._applyMostlyTotalChange=function(){b(this,\"_indicatorValues\",this.option(\"valueIndicators\")),t.call(this)},e._updateActiveElements=w,e._prepareValueIndicators=C,e._disposeValueIndicators=S,e._cleanValueIndicators=k,e.indicatorValue=D}(e))}function w(){var e=this;e._valueIndicators.forEach((function(t){t.value(e._indicatorValues[t.index],e._noAnimation)}))}function C(){var e,t=this,n=t._valueIndicators||[],i=t.option(\"valueIndicators\"),o=[],a=0;for(e=u(i)?i.length:0;a<e;++a)o.push(i[a]);for(e=n.length;a<e;++a)o.push(null);var r=[];return o.forEach((function(e,i){var o=n[i];if(e){var a=t._prepareIndicatorSettings(e,\"valueIndicatorType\");o&&o.type!==a.type&&(o.dispose(),o=null),o||(o=t._createIndicator(a.type,t._renderer.root,\"dxg-value-indicator\",\"value-indicator\",i,!0)),o&&(o.index=i,o.render(a),r.push(o))}else o&&o.dispose()})),t._valueIndicators=r,t._valueIndicators}function S(){this._valueIndicators.forEach((function(e){return e.dispose()})),this._valueIndicators=null}function k(){this._valueIndicators.forEach((function(e){return e.clean()}))}function D(e,t){return function(e,t,n,i,o){return void 0!==o?(void 0!==n[i]&&(n[i]=m(o,n[i]),t[i]&&t[i].value(n[i])),e):n[i]}(this,this._valueIndicators,this._indicatorValues,e,t)}function I(e){this._parameters=e,this._indicators=[]}t.dxGauge=v,I.prototype={constructor:I,dispose:function(){return this._indicators.forEach((function(e){return e.dispose()})),this._parameters=this._options=this._indicators=this._colorPalette=this._palette=null,this},clean:function(){return this._sample&&this._sample.clean().dispose(),this._indicators.forEach((function(e){return e.clean()})),this._sample=this._options=this._palette=null,this},render:function(e,t){var n=this;return n._options=e,n._sample=n._parameters.createIndicator(n.type),n._sample.render(e),n.enabled=n._sample.enabled,n._palette=(0,o.isDefined)(e.palette)?n._parameters.createPalette(e.palette):null,n.enabled&&(n._generatePalette(n._indicators.length),n._indicators=(0,s.map)(n._indicators,(function(e,i){return t&&(e.dispose(),e=n._parameters.createIndicator(n.type,i)),e.render(n._getIndicatorOptions(i)),e}))),n},getOffset:function(){return this._sample.getOffset()},resize:function(e){return this._layout=e,this._indicators.forEach((function(t){return t.resize(e)})),this},measure:function(e){return this._sample.measure(e)},_getIndicatorOptions:function(e){var t=this._options;return this._colorPalette&&(t=p({},t,{color:this._colorPalette[e]})),t},_generatePalette:function(e){var t=null;this._palette&&(this._palette.reset(),t=this._palette.generateColors(e,{repeat:!0})),this._colorPalette=t},_adjustIndicatorsCount:function(e){var t,n,i,o=this._indicators,a=o.length;if(a>e){for(t=e,n=a;t<n;++t)o[t].clean().dispose();this._indicators=o.slice(0,e),this._generatePalette(o.length)}else if(a<e)for(this._generatePalette(e),t=a,n=e;t<n;++t)(i=this._parameters.createIndicator(this.type,t)).render(this._getIndicatorOptions(t)).resize(this._layout),o.push(i)},values:function(e,t){if(this.enabled)return void 0!==e?(u(e)||(e=d(e)?[Number(e)]:null),e&&(this._adjustIndicatorsCount(e.length),this._indicators.forEach((function(n,i){return n.value(e[i],t)}))),this):(0,s.map)(this._indicators,(function(e){return e.value()}))}}},62987:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.default=void 0;var o=n(95479),a=p(n(99393)),r=n(13306),s=n(48013),l=n(18029),u=n(88917),d=n(19157),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(79615)),h=p(n(74425));function f(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}function p(e){return e&&e.__esModule?e:{default:e}}var g=Math.max,m=Math.min,_=Math.round,v=u.dxGauge.inherit({_rootClass:\"dxg-linear-gauge\",_factoryMethods:{rangeContainer:\"createLinearRangeContainer\",indicator:\"createLinearIndicator\"},_gridSpacingFactor:25,_scaleTypes:{type:\"xyAxes\",drawingType:\"linear\"},_getTicksOrientation:function(e){return e.isHorizontal?e.verticalOrientation:e.horizontalOrientation},_getThemeManagerOptions:function(){var e=this.callBase.apply(this,arguments);return e.subTheme=\"_linear\",e},_getInvertedState:function(){return!this._area.vertical&&this.option(\"rtlEnabled\")},_prepareScaleSettings:function(){var e=this.callBase();return e.inverted=this._getInvertedState(),e},_updateScaleTickIndent:function(e){var t,n,i=e.label.indentFromTick,o=e.tick.length,a=this._scale.measureLabels((0,r.extend)({},this._canvas)),s=e.isHorizontal?a.height+a.y:0,l=i>0;e.isHorizontal?(n=o*(l?{center:.5,top:0,bottom:1}:{center:.5,top:1,bottom:0})[e.verticalOrientation],t=a.y):(n=o*(l?{center:.5,left:0,right:1}:{center:.5,left:1,right:0})[e.horizontalOrientation],t=-a.width),e.label.indentFromAxis=-i+(l?-n+t:n-s),this._scale.updateOptions(e)},_shiftScale:function(e,t){var n=(0,r.extend)({},this._canvas),i=t.isHorizontal,o=this._scale;n[i?\"left\":\"top\"]=this._area[i?\"startCoord\":\"endCoord\"],n[i?\"right\":\"bottom\"]=n[i?\"width\":\"height\"]-this._area[i?\"endCoord\":\"startCoord\"],o.draw(n),o.shift({left:-e.x,top:-e.y})},_setupCodomain:function(){var e=this.option(\"geometry\")||{},t=\"vertical\"===(0,d.normalizeEnum)(e.orientation);this._area={vertical:t,x:0,y:0,startCoord:-100,endCoord:100},this._rangeContainer.vertical=t,this._translator.setInverted(this._getInvertedState()),this._translator.setCodomain(-100,100)},_getScaleLayoutValue:function(){return this._area[this._area.vertical?\"x\":\"y\"]},_getTicksCoefficients:function(e){var t={inner:0,outer:1};return this._area.vertical?\"left\"===e.horizontalOrientation?(t.inner=1,t.outer=0):\"center\"===e.horizontalOrientation&&(t.inner=t.outer=.5):\"top\"===e.verticalOrientation?(t.inner=1,t.outer=0):\"center\"===e.verticalOrientation&&(t.inner=t.outer=.5),t},_correctScaleIndents:function(e,t,n){var i=this._area.vertical;t>=0?e.max+=t+n[i?\"width\":\"height\"]:e.min-=-t+n[i?\"width\":\"height\"],e.indent=n[i?\"height\":\"width\"]/2},_measureMainElements:function(e,t){var n=this._area.x,i=this._area.y,a=1e3,r=0,s=0,l=this._scale;return(0,o.each)(e.concat(l),(function(e,o){var l=o.measure?o.measure({x:n+o.getOffset(),y:i+o.getOffset()}):t;void 0!==l.max&&(r=g(r,l.max)),void 0!==l.min&&(a=m(a,l.min)),l.indent>0&&(s=g(s,l.indent))})),{minBound:a,maxBound:r,indent:s}},_applyMainLayout:function(e,t){var n,i,o=this._measureMainElements(e,t),a=this._area;a.vertical?(i=((n=y(this._innerRect,{width:o.maxBound-o.minBound})).left+n.right)/2-(o.minBound+o.maxBound)/2,a.startCoord=n.bottom-o.indent,a.endCoord=n.top+o.indent,a.x=_(a.x+i)):(i=((n=y(this._innerRect,{height:o.maxBound-o.minBound})).top+n.bottom)/2-(o.minBound+o.maxBound)/2,a.startCoord=n.left+o.indent,a.endCoord=n.right-o.indent,a.y=_(a.y+i)),this._translator.setCodomain(a.startCoord,a.endCoord),this._innerRect=n},_getElementLayout:function(e){return{x:_(this._area.x+e),y:_(this._area.y+e)}},_getApproximateScreenRange:function(){var e=this._area,t=e.vertical?this._canvas.height:this._canvas.width;return t>e.totalSize&&(t=e.totalSize),t*=.8},_getDefaultSize:function(){return\"vertical\"===(this.option(\"geometry\")||{}).orientation?{width:100,height:300}:{width:300,height:100}},_factory:(0,s.clone)(l.BaseGauge.prototype._factory)});function y(e,t,n){var i,o=(0,r.extend)({},e);return n=n||{},t&&(o.left+=n.left||0,o.right-=n.right||0,o.top+=n.top||0,o.bottom-=n.bottom||0,t.width>0&&(i=(o.right-o.left-t.width)/2)>0&&(o.left+=i,o.right-=i),t.height>0&&(i=(o.bottom-o.top-t.height)/2)>0&&(o.top+=i,o.bottom-=i)),o}var b=v.prototype._factory.indicators={};v.prototype._factory.createIndicator=(0,u.createIndicatorCreator)(b),b._default=c._default,b.rectangle=c.rectangle,b.rhombus=c.rhombus,b.circle=c.circle,b.trianglemarker=c.trianglemarker,b.textcloud=c.textcloud,b.rangebar=c.rangebar,v.prototype._factory.RangeContainer=h.default,(0,a.default)(\"dxLinearGauge\",v);var x=v;t.default=x,e.exports=t.default,e.exports.default=t.default},79615:function(e,t,n){t.trianglemarker=t.textcloud=t.rhombus=t.rectangle=t.rangebar=t.circle=t._default=void 0;var i=n(3446),o=n(19157),a=Number,r=i.BaseIndicator.inherit({_move:function(){var e=this._actualPosition-this._zeroPosition;this._rootElement.move(this.vertical?0:e,this.vertical?e:0),this._trackerElement&&this._trackerElement.move(this.vertical?0:e,this.vertical?e:0)},_isEnabled:function(){return this.vertical=this._options.vertical,this._options.length>0&&this._options.width>0},_isVisible:function(){return!0},_getTrackerSettings:function(){var e,t,n,i,o=this._options,a=o.width/2,r=o.length/2,s=this._zeroPosition;return a>10||(a=10),r>10||(r=10),this.vertical?(e=o.x-r,t=o.x+r,n=s+a,i=s-a):(e=s-a,t=s+a,n=o.y+r,i=o.y-r),{points:[e,n,e,i,t,i,t,n]}},_render:function(){this._zeroPosition=this._translator.getCodomainStart()},_clear:function(){delete this._element},measure:function(e){var t=this.vertical?e.x:e.y;return{min:t-this._options.length/2,max:t+this._options.length/2}},getTooltipParameters:function(){var e=this._options,t=this._actualPosition,n={x:t,y:t,value:this._currentValue,color:e.color,offset:e.width/2};return this.vertical?n.x=e.x:n.y=e.y,n}}),s=r.inherit({_render:function(){var e,t,n,i,o=this._options;this.callBase();var a=this._zeroPosition;this.vertical?(e=o.x-o.length/2,t=o.x+o.length/2,n=a+o.width/2,i=a-o.width/2):(e=a-o.width/2,t=a+o.width/2,n=o.y+o.length/2,i=o.y-o.length/2),this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement),this._element.attr({points:[e,n,e,i,t,i,t,n]})}});t.rectangle=s;var l=r.inherit({_render:function(){var e,t,n,i,o=this._options;this.callBase(),this.vertical?(e=o.x,t=this._zeroPosition,n=o.length/2||0,i=o.width/2||0):(e=this._zeroPosition,t=o.y,n=o.width/2||0,i=o.length/2||0),this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement),this._element.attr({points:[e-n,t,e,t-i,e+n,t,e,t+i]})}});t.rhombus=l;var u=r.inherit({_render:function(){var e,t,n=this._options;this.callBase(),this.vertical?(e=n.x,t=this._zeroPosition):(e=this._zeroPosition,t=n.y);var i=n.length/2||0;this._element=this._element||this._renderer.circle().append(this._rootElement),this._element.attr({cx:e,cy:t,r:i})}});t.circle=u;var d=r.inherit({_isEnabled:function(){return this.vertical=this._options.vertical,this._inverted=this.vertical?\"right\"===(0,o.normalizeEnum)(this._options.horizontalOrientation):\"bottom\"===(0,o.normalizeEnum)(this._options.verticalOrientation),this._options.length>0&&this._options.width>0},_isVisible:function(){return!0},_render:function(){var e,t,n,i,o=this._options,r={stroke:\"none\",\"stroke-width\":0,\"stroke-linecap\":\"square\"};this.callBase(),this.vertical?(e=o.x,n=this._zeroPosition,t=e+a(this._inverted?o.length:-o.length),r.points=[e,n,t,n-o.width/2,t,n+o.width/2]):(n=o.y,e=this._zeroPosition,i=n+a(this._inverted?o.length:-o.length),r.points=[e,n,e-o.width/2,i,e+o.width/2,i]),o.space>0&&(r[\"stroke-width\"]=Math.min(o.space,o.width/4)||0,r.stroke=r[\"stroke-width\"]>0&&o.containerBackgroundColor||\"none\"),this._element=this._element||this._renderer.path([],\"area\").append(this._rootElement),this._element.attr(r).sharp()},_getTrackerSettings:function(){var e,t,n,i,o,r=this._options,s=r.width/2,l=a(r.length);return s>10||(s=10),l>20||(l=20),this.vertical?(t=(e=r.x)+(this._inverted?l:-l),o=[e,n=this._zeroPosition+s,t,n,t,i=this._zeroPosition-s,e,i]):(i=(n=r.y)+(this._inverted?l:-l),o=[e=this._zeroPosition-s,n,e,i,t=this._zeroPosition+s,i,t,n]),{points:o}},measure:function(e){var t,n,i=a(this._options.length);return this.vertical?(t=n=e.x,this._inverted?n=t+i:t=n-i):(t=n=e.y,this._inverted?n=t+i:t=n-i),{min:t,max:n}},getTooltipParameters:function(){var e=this._options,t=(this._inverted?e.length:-e.length)/2,n=this.callBase();return this.vertical?n.x+=t:n.y+=t,n.offset=e.length/2,n}});t.trianglemarker=d;var c=i.BaseTextCloudMarker.inherit({_isEnabled:function(){return this.vertical=this._options.vertical,this._inverted=this.vertical?\"right\"===(0,o.normalizeEnum)(this._options.horizontalOrientation):\"bottom\"===(0,o.normalizeEnum)(this._options.verticalOrientation),!0},_isVisible:function(){return!0},_getTextCloudOptions:function(){var e,t=this._actualPosition,n=this._actualPosition;return this.vertical?(t=this._options.x,e=this._inverted?\"top-left\":\"top-right\"):(n=this._options.y,e=this._inverted?\"right-top\":\"right-bottom\"),{x:t,y:n,type:e}},measure:function(e){var t,n,i=a(this._options.arrowLength)||0;return this._measureText(),this.vertical?this._inverted?(t=e.x,n=e.x+i+this._textFullWidth):(t=e.x-i-this._textFullWidth,n=e.x):this._inverted?(t=e.y,n=e.y+i+this._textFullHeight):(t=e.y-i-this._textFullHeight,n=e.y),{min:t,max:n,indent:0}},_correctCloudType:function(e,t,n){var i=t.x,o=t.y,a=n.width,r=n.height;return\"right-top\"===e||\"right-bottom\"===e?i-a<this._translator.getCodomainStart()&&(e=\"left-\".concat(e.split(\"-\")[1])):\"top-left\"!==e&&\"top-right\"!==e||o+r>this._translator.getCodomainStart()&&(e=\"bottom-\".concat(e.split(\"-\")[1])),e}});t.textcloud=c;var h=i.BaseRangeBar.inherit({_isEnabled:function(){return this.vertical=this._options.vertical,this._inverted=this.vertical?\"right\"===(0,o.normalizeEnum)(this._options.horizontalOrientation):\"bottom\"===(0,o.normalizeEnum)(this._options.verticalOrientation),this._options.size>0},_isVisible:function(){return!0},_createBarItem:function(){return this._renderer.path([],\"area\").append(this._rootElement)},_createTracker:function(){return this._renderer.path([],\"area\")},_setBarSides:function(){var e,t,n=this._options,i=a(n.size);this.vertical?this._inverted?(e=n.x,t=n.x+i):(e=n.x-i,t=n.x):this._inverted?(e=n.y,t=n.y+i):(e=n.y-i,t=n.y),this._minSide=e,this._maxSide=t,this._minBound=e,this._maxBound=t},_getSpace:function(){var e=this._options;return e.space>0?a(e.space):0},_isTextVisible:function(){var e=this._options.text||{};return e.indent>0||e.indent<0},_getTextAlign:function(){return this.vertical?this._options.text.indent>0?\"left\":\"right\":\"center\"},_setTextItemsSides:function(){var e=a(this._options.text.indent);e>0?(this._lineStart=this._maxSide,this._lineEnd=this._maxSide+e,this._textPosition=this._lineEnd+(this.vertical?2:this._textHeight/2),this._maxBound=this._textPosition+(this.vertical?this._textWidth:this._textHeight/2)):e<0&&(this._lineStart=this._minSide,this._lineEnd=this._minSide+e,this._textPosition=this._lineEnd-(this.vertical?2:this._textHeight/2),this._minBound=this._textPosition-(this.vertical?this._textWidth:this._textHeight/2))},_getPositions:function(){var e,t,n,i,o=this._startPosition,a=this._endPosition,r=this._space,s=this._basePosition,l=this._actualPosition;return o<a?(s<l?(e=s,t=l):(e=l,t=s),n=e-r,i=t+r):(s>l?(e=s,t=l):(e=l,t=s),n=e+r,i=t-r),{start:o,end:a,main1:e,main2:t,back1:n,back2:i}},_buildItemSettings:function(e,t){var n=this._minSide,i=this._maxSide;return{points:this.vertical?[n,e,n,t,i,t,i,e]:[e,n,e,i,t,i,t,n]}},_updateTextPosition:function(){this._text.attr(this.vertical?{x:this._textPosition,y:this._actualPosition+this._textVerticalOffset}:{x:this._actualPosition,y:this._textPosition+this._textVerticalOffset})},_updateLinePosition:function(){var e,t,n,i=this._actualPosition;this.vertical?(this._basePosition>=i?(e=i,t=i+2):(e=i-2,t=i),n=[this._lineStart,e,this._lineStart,t,this._lineEnd,t,this._lineEnd,e]):(this._basePosition<=i?(e=i-2,t=i):(e=i,t=i+2),n=[e,this._lineStart,e,this._lineEnd,t,this._lineEnd,t,this._lineStart]),this._line.attr({points:n}).sharp()},_getTooltipPosition:function(){var e=(this._minSide+this._maxSide)/2,t=(this._basePosition+this._actualPosition)/2;return this.vertical?{x:e,y:t}:{x:t,y:e}},measure:function(e){var t,n,i,o=a(this._options.size),r=a(this._options.text.indent);return this._measureText(),this.vertical?(t=n=e.x,this._inverted?n+=o:t-=o,this._hasText&&(i=this._textHeight/2,r>0&&(n+=r+this._textWidth),r<0&&(t+=r-this._textWidth))):(t=n=e.y,this._inverted?n+=o:t-=o,this._hasText&&(i=this._textWidth/2,r>0&&(n+=r+this._textHeight),r<0&&(t+=r-this._textHeight))),{min:t,max:n,indent:i}}});t.rangebar=t._default=h},74425:function(e,t,n){t.default=void 0;var i,o=(i=n(84165))&&i.__esModule?i:{default:i},a=n(19157);var r=Number,s=Math.max,l=o.default.inherit({_processOptions:function(){if(this.vertical=this._options.vertical,this._inner=this._outer=0,this.vertical)switch((0,a.normalizeEnum)(this._options.horizontalOrientation)){case\"left\":this._inner=1;break;case\"center\":this._inner=this._outer=.5;break;default:this._outer=1}else switch((0,a.normalizeEnum)(this._options.verticalOrientation)){case\"top\":this._inner=1;break;case\"center\":this._inner=this._outer=.5;break;default:this._outer=1}},_isVisible:function(){return!0},_createRange:function(e,t){var n,i=this._inner,o=this._outer,a=this._translator.translate(e.start),r=this._translator.translate(e.end),s=t.x,l=t.y,u=e.startWidth,d=e.endWidth;return n=this.vertical?[s-u*i,a,s-d*i,r,s+d*o,r,s+u*o,a]:[a,l+u*o,a,l-u*i,r,l-d*i,r,l+d*o],this._renderer.path(n,\"area\")},measure:function(e){var t,n={};return n.min=n.max=e[this.vertical?\"x\":\"y\"],t=this._options.width,t=r(t)||s(r(t.start),r(t.end)),n.min-=this._inner*t,n.max+=this._outer*t,n}});t.default=l,e.exports=t.default,e.exports.default=t.default},41802:function(e,t,n){t.default=void 0;var i=n(13306),o=n(43637),a=i.extend,r={ThemeManager:o.BaseThemeManager.inherit({ctor:function(e){this.callBase.apply(this,arguments),this._subTheme=e.subTheme},_initializeTheme:function(){var e,t=this;t._subTheme&&(e=a(!0,{},t._theme[t._subTheme],t._theme),a(!0,t._theme,e)),t.callBase.apply(t,arguments)}})};t.default=r,e.exports=t.default,e.exports.default=t.default},57298:function(e,t,n){t.default=void 0;var i=d(n(55994)),o=d(n(38377)),a=d(n(73349)),r=n(765),s=d(n(24311)),l=n(39611),u=d(n(93786));function d(e){return e&&e.__esModule?e:{default:e}}var c=\"gauge-tooltip\",h=s.default.add,f=o.default.inherit({ctor:function(e){var t=this;t._element=e.renderer.g().attr({class:\"dxg-tracker\",stroke:\"none\",\"stroke-width\":0,fill:\"#000000\",opacity:1e-4}).linkOn(e.container,{name:\"tracker\",after:\"peripheral\"}),t._showTooltipCallback=function(){var e=t._tooltipEvent.target,n=e[\"gauge-data-target\"],i=e[\"gauge-data-info\"];if(t._targetEvent=null,t._tooltipTarget!==e){var o=function(n){n&&(t._tooltipTarget=e)};o(t._callbacks[\"tooltip-show\"](n,i,o))}},t._hideTooltipCallback=function(){t._hideTooltipTimeout=null,t._targetEvent=null,t._tooltipTarget&&(t._callbacks[\"tooltip-hide\"](),t._tooltipTarget=null)},t._dispose=function(){clearTimeout(t._hideTooltipTimeout),t._showTooltipCallback=t._hideTooltipCallback=t._dispose=null}},dispose:function(){return this._dispose(),this.deactivate(),this._element.off(\".\"+c),this._element.linkOff(),this._element=this._context=this._callbacks=null,this},activate:function(){return this._element.linkAppend(),this},deactivate:function(){return this._element.linkRemove().clear(),this},attach:function(e,t,n){return e.data({\"gauge-data-target\":t,\"gauge-data-info\":n}).append(this._element),this},detach:function(e){return e.remove(),this},setTooltipState:function(e){if(this._element.off(\".\"+c),e){var t={tracker:this};this._element.on((0,l.addNamespace)([u.default.move],c),t,g).on((0,l.addNamespace)([u.default.out],c),t,m).on((0,l.addNamespace)([u.default.down],c),t,v).on((0,l.addNamespace)([u.default.up],c),t,y).on((0,l.addNamespace)([r.name],c),t,_)}return this},setCallbacks:function(e){return this._callbacks=e,this},_showTooltip:function(e){clearTimeout(this._hideTooltipTimeout),this._hideTooltipTimeout=null,this._tooltipTarget!==e.target&&(this._tooltipEvent=e,this._showTooltipCallback())},_hideTooltip:function(e){clearTimeout(this._hideTooltipTimeout),e?this._hideTooltipTimeout=setTimeout(this._hideTooltipCallback,e):this._hideTooltipCallback()}}),p=null;function g(e){var t=e.data.tracker;t._x=e.pageX,t._y=e.pageY,t._showTooltip(e)}function m(e){e.data.tracker._hideTooltip(100)}function _(e){e.data.tracker._hideTooltip()}function v(e){(p=e.data.tracker)._touch=!0,g(e)}function y(){p._touch=!1}function b(e){var t=p;t&&!t._touch&&(t._hideTooltip(100),p=null)}h((function(){i.default.subscribeGlobal(a.default.getDocument(),(0,l.addNamespace)([u.default.down],c),b)}));var x=f;t.default=x,e.exports=t.default,e.exports.default=t.default},99630:function(e,t,n){var i;t.default=void 0;var o=((i=n(62987))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},23696:function(e,t,n){t.createPalette=w,t.currentPalette=m,t.generateColors=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{keepLastColorInEnd:!1};return n.type=n.baseColorSet,n.extensionMode=n.paletteExtensionMode,w(e,n).generateColors(t)},t.getAccentColor=function(e,t){return(e=_(e,{themeDefault:t})).accentColor||e[0]},t.getDiscretePalette=function(e,t,n){var i=t>0?function(e,t){var n,i=t-1,o=e.length-1,a=[],r=[];function l(e){var t=o*e,n=h(t),i=f(t);r.push(a[n].blend(a[i],t-n).toHex())}for(n=0;n<=o;++n)a.push(new s.default(e[n]));if(i>0)for(n=0;n<=i;++n)l(n/i);else l(.5);return r}(_(e,{type:\"gradientSet\",themeDefault:n}),t):[];return{getColor:function(e){return i[e]||null}}},t.getGradientPalette=function(e,t){var n=_(e,{type:\"gradientSet\",themeDefault:t}),i=new s.default(n[0]),o=new s.default(n[1]);return{getColor:function(e){return 0<=e&&e<=1?i.blend(o,e).toHex():null}}},t.getPalette=_,t.registerPalette=function(e,t){var n,i={};p(t)?i.simpleSet=t.slice(0):t&&(i.simpleSet=p(t.simpleSet)?t.simpleSet.slice(0):void 0,i.indicatingSet=p(t.indicatingSet)?t.indicatingSet.slice(0):void 0,i.gradientSet=p(t.gradientSet)?t.gradientSet.slice(0):void 0,i.accentColor=t.accentColor);i.accentColor||(i.accentColor=i.simpleSet&&i.simpleSet[0]);(i.simpleSet||i.indicatingSet||i.gradientSet)&&(n=(0,a.normalizeEnum)(e),(0,r.extend)(g[n]=g[n]||{},i))};var i,o,a=n(19157),r=n(13306),s=(i=n(52752))&&i.__esModule?i:{default:i},l=n(35922);function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function d(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==u(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===u(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,h=Math.floor,f=Math.ceil,p=Array.isArray,g=(d(o={},\"material\",{simpleSet:[\"#1db2f5\",\"#f5564a\",\"#97c95c\",\"#ffc720\",\"#eb3573\",\"#a63db8\"],indicatingSet:[\"#97c95c\",\"#ffc720\",\"#f5564a\"],gradientSet:[\"#1db2f5\",\"#97c95c\"],accentColor:\"#1db2f5\"}),d(o,\"office\",{simpleSet:[\"#5f8b95\",\"#ba4d51\",\"#af8a53\",\"#955f71\",\"#859666\",\"#7e688c\"],indicatingSet:[\"#a3b97c\",\"#e1b676\",\"#ec7f83\"],gradientSet:[\"#5f8b95\",\"#ba4d51\"],accentColor:\"#ba4d51\"}),d(o,\"harmony light\",{simpleSet:[\"#fcb65e\",\"#679ec5\",\"#ad79ce\",\"#7abd5c\",\"#e18e92\",\"#b6d623\",\"#b7abea\",\"#85dbd5\"],indicatingSet:[\"#b6d623\",\"#fcb65e\",\"#e18e92\"],gradientSet:[\"#7abd5c\",\"#fcb65e\"],accentColor:\"#679ec5\"}),d(o,\"soft pastel\",{simpleSet:[\"#60a69f\",\"#78b6d9\",\"#6682bb\",\"#a37182\",\"#eeba69\",\"#90ba58\",\"#456c68\",\"#7565a4\"],indicatingSet:[\"#90ba58\",\"#eeba69\",\"#a37182\"],gradientSet:[\"#78b6d9\",\"#eeba69\"],accentColor:\"#60a69f\"}),d(o,\"pastel\",{simpleSet:[\"#bb7862\",\"#70b3a1\",\"#bb626a\",\"#057d85\",\"#ab394b\",\"#dac599\",\"#153459\",\"#b1d2c6\"],indicatingSet:[\"#70b3a1\",\"#dac599\",\"#bb626a\"],gradientSet:[\"#bb7862\",\"#70b3a1\"],accentColor:\"#bb7862\"}),d(o,\"bright\",{simpleSet:[\"#70c92f\",\"#f8ca00\",\"#bd1550\",\"#e97f02\",\"#9d419c\",\"#7e4452\",\"#9ab57e\",\"#36a3a6\"],indicatingSet:[\"#70c92f\",\"#f8ca00\",\"#bd1550\"],gradientSet:[\"#e97f02\",\"#f8ca00\"],accentColor:\"#e97f02\"}),d(o,\"soft\",{simpleSet:[\"#cbc87b\",\"#9ab57e\",\"#e55253\",\"#7e4452\",\"#e8c267\",\"#565077\",\"#6babac\",\"#ad6082\"],indicatingSet:[\"#9ab57e\",\"#e8c267\",\"#e55253\"],gradientSet:[\"#9ab57e\",\"#e8c267\"],accentColor:\"#565077\"}),d(o,\"ocean\",{simpleSet:[\"#75c099\",\"#acc371\",\"#378a8a\",\"#5fa26a\",\"#064970\",\"#38c5d2\",\"#00a7c6\",\"#6f84bb\"],indicatingSet:[\"#c8e394\",\"#7bc59d\",\"#397c8b\"],gradientSet:[\"#acc371\",\"#38c5d2\"],accentColor:\"#378a8a\"}),d(o,\"vintage\",{simpleSet:[\"#dea484\",\"#efc59c\",\"#cb715e\",\"#eb9692\",\"#a85c4c\",\"#f2c0b5\",\"#c96374\",\"#dd956c\"],indicatingSet:[\"#ffe5c6\",\"#f4bb9d\",\"#e57660\"],gradientSet:[\"#efc59c\",\"#cb715e\"],accentColor:\"#cb715e\"}),d(o,\"violet\",{simpleSet:[\"#d1a1d1\",\"#eeacc5\",\"#7b5685\",\"#7e7cad\",\"#a13d73\",\"#5b41ab\",\"#e287e2\",\"#689cc1\"],indicatingSet:[\"#d8e2f6\",\"#d0b2da\",\"#d56a8a\"],gradientSet:[\"#eeacc5\",\"#7b5685\"],accentColor:\"#7b5685\"}),d(o,\"carmine\",{simpleSet:[\"#fb7764\",\"#73d47f\",\"#fed85e\",\"#d47683\",\"#dde392\",\"#757ab2\"],indicatingSet:[\"#5cb85c\",\"#f0ad4e\",\"#d9534f\"],gradientSet:[\"#fb7764\",\"#73d47f\"],accentColor:\"#f05b41\"}),d(o,\"dark moon\",{simpleSet:[\"#4ddac1\",\"#f4c99a\",\"#80dd9b\",\"#f998b3\",\"#4aaaa0\",\"#a5aef1\"],indicatingSet:[\"#59d8a4\",\"#f0ad4e\",\"#f9517e\"],gradientSet:[\"#4ddac1\",\"#f4c99a\"],accentColor:\"#3debd3\"}),d(o,\"soft blue\",{simpleSet:[\"#7ab8eb\",\"#97da97\",\"#facb86\",\"#e78683\",\"#839bda\",\"#4db7be\"],indicatingSet:[\"#5cb85c\",\"#f0ad4e\",\"#d9534f\"],gradientSet:[\"#7ab8eb\",\"#97da97\"],accentColor:\"#7ab8eb\"}),d(o,\"dark violet\",{simpleSet:[\"#9c63ff\",\"#64c064\",\"#eead51\",\"#d2504b\",\"#4b6bbf\",\"#2da7b0\"],indicatingSet:[\"#5cb85c\",\"#f0ad4e\",\"#d9534f\"],gradientSet:[\"#9c63ff\",\"#64c064\"],accentColor:\"#9c63ff\"}),d(o,\"green mist\",{simpleSet:[\"#3cbab2\",\"#8ed962\",\"#5b9d95\",\"#efcc7c\",\"#f1929f\",\"#4d8dab\"],indicatingSet:[\"#72d63c\",\"#ffc852\",\"#f74a5e\"],gradientSet:[\"#3cbab2\",\"#8ed962\"],accentColor:\"#3cbab2\"}),o);function m(e){if(void 0===e)return c||\"material\";e=(0,a.normalizeEnum)(e),c=e in g?e:void 0}function _(e,t){var n;t=t||{},e=e||(void 0===c?t.themeDefault:m());var i=t.type;return p(e)?e.slice(0):((0,l.isString)(e)&&(n=g[(0,a.normalizeEnum)(e)]),n||(n=g[m()]),i?n[i].slice(0):n)}function v(e){var t=0;this.next=function(){var n=e[t++];return t===e.length&&this.reset(),n},this.reset=function(){t=0}}function y(e,t){var n=t.useHighlight?50:0,i=new v([0,n,-n]),o=[];function a(){var t=i.next();o=t?function(e,t){var n,i=[],o=e.length;for(n=0;n<o;++n)i.push(C(e[n],t));return i}(e,t):e.slice(0)}return{getColor:function(t){var n=o[t%e.length];return t%e.length==e.length-1&&a(),n},generateColors:function(e){var n=[];e=e||t.count;for(var i=0;i<e;i++)n.push(this.getColor(i));return n},reset:function(){i.reset(),a()}}}function b(e,t){return{getColor:function(t,n){var i=e.length,o=h((n-1)/i+1),a=e[t%i];return o>1?function(e,t,n){var i=new s.default(e).hsl,o=i.l/100,a=n-1/n,r=o-.5*a,l=o+.5*a,u=(n-1)/2,d=t-u;return r<Math.min(.5,.9*o)&&(r=Math.min(.5,.9*o)),l>Math.max(.8,o+.15*(1-o))&&(l=Math.max(.8,o+.15*(1-o))),d<0?o-=(r-o)*d/u:o+=d/u*(l-o),i.l=100*o,s.default.prototype.fromHSL(i).toHex()}(a,h(t/i),o):a},generateColors:function(e){var n=[];e=e||t.count;for(var i=0;i<e;i++)n.push(this.getColor(i,e));return n},reset:function(){}}}function x(e,t){var n=e.length,i=[];function o(e,t,n,i){for(var o,a,r=Math.floor(e/t),s=e-t*r,l=n;l<n+e;)a=r,s>0&&(a+=1,s--),o=a>2?Math.floor(a/2):0,i.push(l+o),l+=a;return i.sort((function(e,t){return e-t}))}function a(e,t,n){for(var i=0,o=t=(n+t)%n;o<2*n;o+=1){var a=(n+o)%n;if(e[a])return[e[a],i];i++}}function r(i){if(i<=n)return e;var r=[],l=n-2,u=0,d=[];d=t.keepLastColorInEnd?o(i-2,l,1,[0,i-1]):o(i-1,n-1,1,[0]);for(var c=0;c<i;c++)d.indexOf(c)>-1&&(r[c]=e[u++]);return r=function(e,t){for(var n=0;n<t;n++){if(!e[n]){var i=e[n-1];if(!i)continue;var o=a(e,n,t),r=new s.default(o[0]);i=new s.default(i);for(var l=0;l<o[1];l++,n++)e[n]=i.blend(r,(l+1)/(o[1]+1)).toHex()}}return e}(r,i)}return{getColor:function(e,o){return o=o||t.count||n,i.length!==o&&(i=r(o)),i[e%o]},generateColors:function(e,i){if(e=e||t.count||n,i&&e>n){for(var o=r(n),a=0;a<e-n;a++)o.push(o[a]);return o}return n>0?r(e).slice(0,e):[]},reset:function(){}}}function w(e,t,n){var i={dispose:function(){this._extensionStrategy=null},getNextColor:function(e){return this._extensionStrategy.getColor(this._currentColor++,e)},generateColors:function(e,t){return this._extensionStrategy.generateColors(e,(t||{}).repeat)},reset:function(){return this._currentColor=0,this._extensionStrategy.reset(),this}},o=((t=t||{}).extensionMode||\"\").toLowerCase(),a=_(e,{type:t.type||\"simpleSet\",themeDefault:n});return i._extensionStrategy=\"alternate\"===o?y(a,t):\"extrapolate\"===o?b(a,t):x(a,t),i.reset(),i}function C(e,t){var n,i=new s.default(e).alter(t),o=.3*(n=i).r+.59*n.g+.11*n.b;return(o>200||o<55)&&(i=new s.default(e).alter(-t/2)),i.toHex()}},72111:function(e,t,n){var i;t.default=void 0;var o=((i=n(88647))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},80919:function(e,t,n){var i;t.default=void 0;var o=((i=n(86139))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},82879:function(e,t,n){var i;t.default=void 0;var o=((i=n(91009))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},11378:function(e,t,n){t.utils=t.formatValue=t.consts=t.HEIGHT_COMPACT_MODE=void 0;var i=n(41583),o=n(35922);t.HEIGHT_COMPACT_MODE=24;t.utils={trackerSettings:{fill:\"grey\",stroke:\"grey\",opacity:1e-4},animationSettings:{duration:250}};var a={emptySliderMarkerText:\". . .\",pointerSize:4};t.consts=a;t.formatValue=function(e,t,n,a,r,s){var l={value:e,valueText:(0,i.smartFormatter)(e,{labelOptions:t,ticks:n?n.ticks:[],tickInterval:n?n.tickInterval:void 0,dataType:a,type:r,logarithmBase:s})};return String((0,o.isFunction)(t.customizeText)?t.customizeText.call(l,l):l.valueText)}},91009:function(e,t,n){t.default=void 0;var i=D(n(99393)),o=n(35922),a=n(13306),r=n(95479),s=n(19157),l=D(n(91198)),u=n(60810),d=n(21177),c=n(41278),h=n(8587),f=D(n(30343)),p=n(11378),g=n(56481),m=n(43695),_=n(25104),v=n(79302),y=n(45971),b=D(n(53805)),x=D(n(55845)),w=n(82454),C=n(17384),S=n(64758),k=n(1539);function D(e){return e&&e.__esModule?e:{default:e}}var I=Math.max,T=Math.ceil,E=Math.floor,O=\"value\";function A(e,t,n){var i=N(e,void 0===t?p.consts.emptySliderMarkerText:(0,p.formatValue)(t,n),n.font);return T(i.height)+2*n.paddingTopBottom+p.consts.pointerSize}function P(e,t,n,i){var o=N(e,(0,p.formatValue)(t,n.label,i,n.valueType,n.type,n.logarithmBase),n.label.font);return T(o.width/2)}function M(e,t){var n=(0,o.type)(e),i=(0,o.type)(t),a=function(e){return n===e||i===e};return a(\"date\")?\"datetime\":a(\"number\")?\"numeric\":a(\"string\")?\"string\":\"\"}function R(e){return\"datetime\"===e.valueType&&e.marker.visible}function B(e,t,n){if(e){var i=e.logarithmBase;\"logarithmic\"===e.type&&i<=0||i&&!(0,o.isNumeric)(i)?(e.logarithmBase=t,n(\"E2104\")):\"logarithmic\"!==e.type&&(e.logarithmBase=void 0)}}function L(e,t,n,i){var o=t.label,a=t.marker,r=t.placeholderHeight,s=\"semidiscrete\"===t.type?t.customTicks:i.ticks,l=(0,p.formatValue)(s[0],o);return r||(o.visible?o.topIndent+N(e,l,o.font).height:0)+(n?a.topIndent+a.separatorHeight:0)}function V(e,t,n){return e?n?e=l.default.getNextDateUnit(e):e+=t:e=t,e}function F(e,t,n,i){var a,r,s,u=(0,o.isDefined)(i.minVisible)?i.minVisible:i.min,d=(0,o.isDefined)(i.maxVisible)?i.maxVisible:i.max,c=e._categoriesInfo,h={};return\"semidiscrete\"===e.type?a=function(e,t,n,i){var o,a,r,s=e.minorTickInterval,u=e.tickInterval,d=\"datetime\"===e.valueType,c=e.axisDivisionFactor||{};if(!u)do{if(u===(o=V(u,s,d)))break;u=o,d&&(o=l.default.dateToMilliseconds(u)),a=T((n-t)/o),r=E(i/(c[u]||50))||1}while(o&&a>r);return{tickInterval:u,minorTickInterval:s,bounds:{minVisible:t,maxVisible:n},ticks:[]}}(e,u,d,t):(s=(r=(0,y.tickGenerator)({axisType:e.type,dataType:e.valueType,logBase:e.logarithmBase,allowNegatives:!0,linearThreshold:Math.abs(e.linearThreshold||0),axisDivisionFactor:e.axisDivisionFactor,minorAxisDivisionFactor:e.minorAxisDivisionFactor,calculateMinors:!0,allowDecimals:e.allowDecimals,endOnTick:e.endOnTick,incidentOccurred:n,rangeIsEmpty:i.isEmpty()})({min:u,max:d,categories:(0,o.isDefined)(c)?c.categories:[]},t,e.tickInterval,e.forceUserTickInterval,void 0,e.minorTickInterval,e.minorTickCount)).ticks.length,h.minVisible=r.ticks[0]<u?r.ticks[0]:u,h.maxVisible=r.ticks[s-1]>d?r.ticks[s-1]:d,a={tickInterval:r.tickInterval,minorTickInterval:0===e.minorTickInterval?0:r.minorTickInterval,bounds:h,ticks:r.ticks}),a}function H(e){var t;return null===(t=e.workWeek)||void 0===t?void 0:t[0]}function N(e,t,n){var i=e.text(t,-1e3,-1e3).css((0,s.patchFontOptions)(n)).append(e.root),o=i.getBBox();return i.remove(),o}function z(e,t,n,i,a){var r,s,u,d,c,h=e._categoriesInfo,p=\"datetime\"===e.valueType;!t||t.isEmpty()||n.isEmpty()||(r=i.bounds,n.addRange(r),e.startValue=n.invert?r.maxVisible:r.minVisible,e.endValue=n.invert?r.minVisible:r.maxVisible),e.marker.visible=a(p&&-1===e.type.indexOf(\"discrete\"),e.marker.visible,e.startValue,e.endValue,i.tickInterval),h&&(e.startValue=h.start,e.endValue=h.end),-1===e.type.indexOf(\"discrete\")&&(s=(0,o.isDate)(e.startValue)&&(0,o.isDate)(e.endValue)&&e.startValue.getTime()===e.endValue.getTime()||e.startValue===e.endValue),e.isEmpty=(d=e.startValue,c=e.endValue,!(0,o.isDefined)(d)||!(0,o.isDefined)(c)||s),e.isEmpty?e.startValue=e.endValue=void 0:(e.minorTickInterval=i.minorTickInterval,e.tickInterval=i.tickInterval,p&&(!(0,o.isDefined)(e.label.format)||\"semidiscrete\"===e.type&&e.minorTickInterval!==e.tickInterval)&&(\"discrete\"===e.type?e.label.format=f.default.getDateFormatByTicks(i.ticks):e.marker.visible?e.label.format=l.default.getDateFormatByTickInterval(e.tickInterval):e.label.format=f.default.getDateFormatByTickInterval(e.startValue,e.endValue,e.tickInterval))),\"semidiscrete\"===e.type&&(u=function(e){var t=e.startValue,n=e.endValue,i=\"datetime\"===e.valueType,a=H(e),r=e.tickInterval,s={intervals:[]};if(!(0,o.isDefined)(t)||!(0,o.isDefined)(n))return s;s.intervals=l.default.getSequenceByInterval(t,n,e.minorTickInterval),r!==e.minorTickInterval&&(s.altIntervals=s.intervals,t=j(t,i,r,a),n=j(n,i,r,a),s.intervals=l.default.getSequenceByInterval(t,n,r),s.intervals[0]=s.altIntervals[0]);return s}(e),e.customMinorTicks=u.altIntervals,e.customTicks=u.intervals,e.customBoundTicks=[e.customTicks[0]])}function j(e,t,n,i){return(0,o.isDefined)(e)&&(e=t?l.default.correctDateWithUnitBeginning(new Date(e),n,null,i):(0,u.adjust)(E((0,u.adjust)(e/n))*n)),e}function W(e,t,n){var i=Math.abs(t-e)/n,o=i-E(i);return o>0?T(Math.abs((0,u.adjust)((0,s.getLog)(o,10)))):0}var G=x.default.inherit({_toggleParentsScrollSubscription:function(){},_eventsMap:{onValueChanged:{name:\"valueChanged\"}},_rootClassPrefix:\"dxrs\",_rootClass:\"dxrs-range-selector\",_dataIsReady:function(){return this._dataIsLoaded()},_initialChanges:[\"DATA_SOURCE\",\"VALUE\"],_themeDependentChanges:[\"MOSTLY_TOTAL\"],_themeSection:\"rangeSelector\",_fontFields:[\"scale.label.font\",\"sliderMarker.font\"],_setDeprecatedOptions:function(){this.callBase(),(0,a.extend)(this._deprecatedOptions,{\"behavior.callValueChanged\":{since:\"23.1\",message:'Use the \"behavior.valueChangeMode\" property instead'},\"scale.aggregateByCategory\":{since:\"23.1\",message:\"Use the aggregation.enabled property\"}})},_initCore:function(){var e=this,t=e._renderer,n=t.root;n.css({\"touch-action\":\"pan-y\"}),e._clipRect=t.clipRect();var i=t.g().attr({class:\"dxrs-view\"}).append(n),a=t.g().attr({class:\"dxrs-slidersContainer\",\"clip-path\":e._clipRect.id}).append(n),r=t.g().attr({class:\"dxrs-scale\",\"clip-path\":e._clipRect.id}).append(n),l=t.g().attr({class:\"dxrs-scale-elements\",\"clip-path\":e._clipRect.id}).append(n),u=t.g().attr({class:\"dxrs-scale-breaks\"}).append(n),d=t.g().attr({class:\"dxrs-trackers\"}).append(n);e._axis=new K({renderer:t,root:r,scaleBreaksGroup:u,labelsAxesGroup:l,updateSelectedRange:function(t,n){e.setValue((0,s.convertVisualRangeObject)(t),n)},incidentOccurred:e._incidentOccurred}),e._rangeView=new _.RangeView({renderer:t,root:i,translator:e._axis.getTranslator()}),e._slidersController=new g.SlidersController({renderer:t,root:a,trackersGroup:d,updateSelectedRange:function(t,n,i){e._rangeOption||e.option(O,(0,s.convertVisualRangeObject)(t,(0,o.isPlainObject)(e._options.silent(O)))),e._eventTrigger(\"valueChanged\",{value:(0,s.convertVisualRangeObject)(t),previousValue:(0,s.convertVisualRangeObject)(n),event:i})},axis:e._axis,translator:e._axis.getTranslator()}),e._tracker=new m.Tracker({renderer:t,controller:e._slidersController})},_getDefaultSize:function(){return{width:400,height:160}},_disposeCore:function(){this._axis.dispose(),this._slidersController.dispose(),this._tracker.dispose()},_applySize:function(e){this._clientRect=e.slice(),this._change([\"MOSTLY_TOTAL\"])},_optionChangesMap:{scale:\"SCALE\",value:\"VALUE\",dataSource:\"DATA_SOURCE\"},_optionChangesOrder:[\"SCALE\",\"DATA_SOURCE\"],_change_SCALE:function(){this._change([\"MOSTLY_TOTAL\"])},_setValueByDataSource:function(){var e=this._options.silent(),t=this._axis;if(e.dataSource){var n=this.option(\"selectedRangeUpdateMode\"),i=this.getValue(),a=(0,o.isDefined)(i[0])&&(0,o.isDefined)(i[1]);if((0,o.isDefined)(n)?(n=(0,s.normalizeEnum)(n),this.__skipAnimation=!0):a&&!this._dataSourceIsAsync&&(n=\"reset\"),\"auto\"===n&&a){var r=t.allScaleSelected(i);n=r.startValue&&r.endValue?\"reset\":r.endValue?\"shift\":\"keep\"}if(\"reset\"===n)e[O]=null;else if(\"shift\"===n&&a){var l=this.getValue();this.__skipAnimation=!0,e[O]={length:t.getVisualRangeLength({minVisible:l[0],maxVisible:l[1]})}}else\"keep\"===n&&(this.__skipAnimation=!0)}this._dataSourceIsAsync=void 0},_change_DATA_SOURCE:function(){this._options.silent(\"dataSource\")&&this._updateDataSource()},_customChangesOrder:[\"MOSTLY_TOTAL\",\"VALUE\",\"SLIDER_SELECTION\"],_change_MOSTLY_TOTAL:function(){this._applyMostlyTotalChange()},_change_SLIDER_SELECTION:function(){var e=this._options.silent(O);this._slidersController.setSelectedRange(e&&(0,s.getVizRangeObject)(e))},_change_VALUE:function(){var e=this._rangeOption;this._dataSourceIsAsync=!this._dataIsReady(),e&&(this._options.silent(O,e),this.setValue(e))},_validateRange:function(e,t){var n=this,i=function(e){return(0,o.isDefined)(e)&&!n._axis.getTranslator().isValid(e)};this._dataIsReady()&&(i(e)||i(t))&&this._incidentOccurred(\"E2203\")},_applyChanges:function(){var e=this,t=e._options.silent(O);e._changes.has(\"VALUE\")&&t&&(e._rangeOption=t),e.callBase.apply(e,arguments),e._rangeOption=null,e.__isResizing=e.__skipAnimation=!1},_applyMostlyTotalChange:function(){var e,t=this._renderer,n=this._clientRect,i={left:n[0],top:n[1],width:n[2]-n[0],height:n[3]-n[1]};(this.__isResizing||this.__skipAnimation)&&(e=t.animationEnabled(),t.updateAnimationOptions({enabled:!1})),this._clipRect.attr({x:n[0],y:n[1],width:n[2]-n[0],height:n[3]-n[1]}),this._axis.getTranslator().update(new d.Range,i,{isHorizontal:!0}),this._updateContent({left:n[0],top:n[1],width:n[2]-n[0],height:n[3]-n[1]}),(this.__isResizing||this.__skipAnimation)&&t.updateAnimationOptions({enabled:e}),this._drawn()},_dataSourceChangedHandler:function(){this._setValueByDataSource(),this._requestChange([\"MOSTLY_TOTAL\"])},_completeSeriesDataSourceCreation:function(e,t){var n=this._clientRect,i={left:n[0],top:n[1],width:n[2]-n[0],height:n[3]-n[1]};this._axis.updateOptions((0,a.extend)({},e,{isHorizontal:!0,label:{}})),t.isShowChart()&&this._axis.setMarginOptions(t.getMarginOptions(i)),this._axis.updateCanvas(i),t.createPoints()},_updateContent:function(e){var t=this.option(\"chart\"),n=this._createSeriesDataSource(t),i=!(n&&n.isShowChart()||this.option(\"background.image.url\")),a=function(e,t,n,i){var a=0,r=(0,h.correctValueType)((0,s.normalizeEnum)(e.valueType)),l=function(t,i){var r=\"startValue\"===t?\"start\":\"end\";(0,o.isDefined)(e[t])&&(a=i(e[t]),(0,o.isDefined)(a)?e[t]=a:(e[t]=void 0,n(\"E2202\",[r])))};(r=t||r)||(r=M(e.startValue,e.endValue)||\"numeric\"),(\"string\"===r||e.categories)&&(e.type=\"discrete\",r=\"string\"),e.containerColor=i,e.valueType=r,e.dataType=r;var u=(0,h.getParser)(r);return l(\"startValue\",u),l(\"endValue\",u),B(e,10,n),e.type||(e.type=\"continuous\"),e.parser=u,\"semidiscrete\"===e.type&&(e.minorTick.visible=!1,e.minorTickInterval=e.minRange,e.marker.visible=!1,e.maxRange=void 0),e.forceUserTickInterval|=(0,o.isDefined)(e.tickInterval)&&!(0,o.isDefined)(e.axisDivisionFactor),e.axisDivisionFactor=(0,o.isDefined)(e.axisDivisionFactor)?e.axisDivisionFactor:30,e.minorAxisDivisionFactor=(0,o.isDefined)(e.minorAxisDivisionFactor)?e.minorAxisDivisionFactor:15,e}(this._getOption(\"scale\"),n&&n.getCalculatedValueType(),this._incidentOccurred,this._getOption(\"containerBackgroundColor\",!0));n&&this._completeSeriesDataSourceCreation(a,n);var r,u=function(e,t){var n,i,a,r,l,u=!1,c=t.startValue,h=t.endValue,f=e?e.getBoundRange().arg:new d.Range,p=\"datetime\"===t.valueType,g=H(t),m=t.minRange;return\"discrete\"===t.type&&((l=new d.Range({minVisible:c,maxVisible:h})).addRange(f),f=l,a=(a=e?e.argCategories:t.categories||c&&h&&[c,h])||[],t._categoriesInfo=r=(0,s.getCategoriesInfo)(a,c,h)),\"semidiscrete\"===t.type&&(c=t.startValue=j(t.startValue,p,m,g),h=t.endValue=j(t.endValue,p,m,g),f.minVisible=j(f.minVisible,p,m,g),f.maxVisible=j(f.maxVisible,p,m,g),f.min=j(f.min,p,m,g),f.max=j(f.max,p,m,g)),(0,o.isDefined)(c)&&(0,o.isDefined)(h)?(u=r?r.inverted:c>h,n=r?r.start:u?h:c,i=r?r.end:u?c:h):(0,o.isDefined)(c)||(0,o.isDefined)(h)?(n=c,i=h):r&&(n=r.start,i=r.end),f.addRange({invert:u,min:n,max:i,minVisible:n,maxVisible:i,dataType:t.valueType}),f.addRange({categories:e?void 0:a,base:t.logarithmBase,axisType:t.type,dataType:t.valueType}),e&&f.sortCategories(a),f}(n,a),c=F(a,e.width,this._incidentOccurred,u),f=n&&n.isShowChart()&&n.getThemeManager();f&&B(t&&t.valueAxis,f.getOptions(\"valueAxis\").logarithmBase,this._incidentOccurred),z(a,n,u,c,(r=e.width,function(e,t,n,i,a){return t&&e&&(!(0,o.isDefined)(a)||a.years||a.months>=6||r/50<T((i-n)/l.default.dateToMilliseconds(\"year\"))+1)&&(t=!1),t})),function(e,t){var n=t.minorTickInterval||t.tickInterval;\"datetime\"===t.valueType&&(n=l.default.dateToMilliseconds(n)),e.addRange({interval:n})}(u,a);var g=this._prepareSliderMarkersOptions(a,e.width,c,u),m=function(e,t,n,i,a){var r,s,l,u,d,c,h,f=0,p=0,g=\"semidiscrete\"===t.type?t.customTicks:a.ticks;return l=(i=i||{}).left,u=i.right,d=n.placeholderHeight,n.visible&&(r=A(e,t.startValue,n),s=A(e,t.endValue,n),void 0===d&&(d=I(r,s))),t.label.visible&&(c=(0,o.isDefined)(t.startValue)?g[0]:void 0,h=(0,o.isDefined)(t.endValue)?g[g.length-1]:void 0,f=P(e,c,t,a),p=P(e,h,t,a)),{left:l=void 0!==l?l:f,right:u=(void 0!==u?u:p)||1,top:d||0,bottom:0}}(this._renderer,a,g,this.option(\"indent\"),c),_={left:e.left+m.left,top:e.top+m.top,width:e.left+m.left+I(e.width-m.left-m.right,1),height:I(i?p.HEIGHT_COMPACT_MODE:e.height-m.top-m.bottom-L(this._renderer,a,R(a),c),0),right:0,bottom:0};this._axis.update(a,i,_,u,n),a.minorTickInterval=a.isEmpty?0:a.minorTickInterval,this._updateElements(a,g,i,_,n),f&&f.dispose()},_updateElements:function(e,t,n,i,o){var a=this._getOption(\"behavior\"),r=this._getOption(\"shutter\"),s=\"semidiscrete\"!==e.type;r.color=r.color||this._getOption(\"containerBackgroundColor\",!0),this._rangeView.update(this.option(\"background\"),this._themeManager.theme(\"background\"),i,n,a.animationEnabled&&this._renderer.animationEnabled(),o),this._isUpdating=!0,this._slidersController.update([i.top,i.top+i.height],a,n,this._getOption(\"sliderHandle\"),t,r,{minRange:s?this.option(\"scale.minRange\"):void 0,maxRange:s?this.option(\"scale.maxRange\"):void 0},this._axis.getFullTicks(),this._getOption(\"selectedRangeColor\",!0)),this._requestChange([\"SLIDER_SELECTION\"]),this._isUpdating=!1,this._tracker.update(!this._axis.getTranslator().getBusinessRange().isEmpty(),a)},_createSeriesDataSource:function(e){var t,n=this._dataSourceItems(),i=this._getOption(\"scale\"),o=i.valueType||M(i.startValue,i.endValue),r=new c.Axis({renderer:this._renderer,axisType:\"xyAxes\",drawingType:\"linear\"});return r.updateOptions({isHorizontal:!1,label:{},categoriesSortingMethod:this._getOption(\"chart\").valueAxis.categoriesSortingMethod}),(n||e&&e.series)&&(e=(0,a.extend)({},e,{theme:this.option(\"theme\")}),t=new v.SeriesDataSource({renderer:this._renderer,dataSource:n,valueType:(0,s.normalizeEnum)(o),axisType:i.type,chart:e,dataSourceField:this.option(\"dataSourceField\"),incidentOccurred:this._incidentOccurred,categories:i.categories,argumentAxis:this._axis,valueAxis:r})),t},_prepareSliderMarkersOptions:function(e,t,n,i){var a=n.minorTickInterval,r=n.tickInterval,s=r,u=e.endValue,d=e.startValue,c=this._getOption(\"sliderMarker\"),h=!this._getOption(\"behavior\").snapToTicks,p=\"discrete\"===e.type,g=\"datetime\"===e.valueType;return c.borderColor=this._getOption(\"containerBackgroundColor\",!0),c.format||i.isEmpty()||(h&&(0,o.isNumeric)(e.startValue)&&(c.format={type:\"fixedPoint\",precision:W(d,u,t)}),g&&!p&&((0,o.isDefined)(a)&&0!==a&&(s=function(e,t,n){var i=l.default.getDateUnitInterval(t),o=l.default.getDateUnitInterval(e),a=l.default.dateUnitIntervals.indexOf(i);return n&&i===o&&a>0&&(i=l.default.dateUnitIntervals[a-1]),i}(r,a,h)),e.marker.visible?c.format=l.default.getDateFormatByTickInterval(s):(0,o.isDefined)(d)&&(0,o.isDefined)(u)&&(c.format=f.default.getDateFormatByTickInterval(d,u,s))),g&&p&&n.ticks.length&&(c.format=f.default.getDateFormatByTicks(n.ticks))),c},getValue:function(){return(0,s.convertVisualRangeObject)(this._slidersController.getSelectedRange())},setValue:function(e,t){var n=(0,s.getVizRangeObject)(e);!this._isUpdating&&e&&(this._validateRange(n.startValue,n.endValue),!(0,s.rangesAreEqual)(n,this._slidersController.getSelectedRange())&&this._slidersController.setSelectedRange(n,t))},_setContentSize:function(){this.__isResizing=2===this._changes.count(),this.callBase.apply(this,arguments)}});function q(){return 1}function $(e){return e%2==1?-E(e/2):-e/2}function U(e,t,n,i){function o(o){2===o.length&&b.default.areLabelsOverlap(t[o[0]],t[o[1]],n,i)&&e[o[0]].removeLabel()}function a(t){for(var n=[],i=t;n.length<2&&i<e.length;i++)e[i].label&&n.push(i);return n}e.length<3||(o(a(0)),o(a(e.length-2).reverse()))}function K(e){this._axis=new c.Axis({renderer:e.renderer,axesContainerGroup:e.root,scaleBreaksGroup:e.scaleBreaksGroup,labelsAxesGroup:e.labelsAxesGroup,incidentOccurred:e.incidentOccurred,axisType:\"xyAxes\",drawingType:\"linear\",widgetClass:\"dxrs\",axisClass:\"range-selector\",isArgumentAxis:!0,getTemplate:function(){}}),this._updateSelectedRangeCallback=e.updateSelectedRange,this._axis.getAxisSharpDirection=this._axis.getSharpDirectionByCoords=q,this._axis.getTickStartPositionShift=$,this._axis._checkShiftedLabels=U}(0,r.each)([\"selectedRangeColor\",\"containerBackgroundColor\",\"sliderMarker\",\"sliderHandle\",\"shutter\",\"background\",\"behavior\",\"chart\",\"indent\"],(function(e,t){G.prototype._optionChangesMap[t]=\"MOSTLY_TOTAL\"})),K.prototype={constructor:K,update:function(e,t,n,i,o){var a=this._axis;a.updateOptions(function(e,t,n,i){return e.marker.label.font=e.label.font,e.color=e.marker.color=e.tick.color,e.opacity=e.marker.opacity=e.tick.opacity,e.width=e.marker.width=e.tick.width,e.placeholderSize=(e.placeholderHeight||0)+i,e.argumentType=e.valueType,e.visible=t,e.isHorizontal=!0,e.calculateMinors=!0,e.semiDiscreteInterval=e.minRange,t||(e.minorTick.length=e.tick.length=n),e.label.indentFromAxis=e.label.topIndent+i,e}(e,t,n.height,n.height/2-T(e.width/2))),a.validate(),a.setBusinessRange(i,!0),void 0!==o&&o.isShowChart()&&a.setMarginOptions(o.getMarginOptions(n)),a.draw(n),a.shift({left:0,bottom:-n.height/2+n.top}),a.getMarkerTrackers()&&function(e,t,n){function i(t){var i=t.target.range,o=e.minRange?l.default.addInterval(i.startValue,e.minRange):void 0,a=e.maxRange?l.default.addInterval(i.startValue,e.maxRange):void 0;o&&o>i.endValue||a&&a<i.endValue||n(i,t)}(0,r.each)(t,(function(e,t){t.on(\"dxpointerdown\",i)}))}(e,a.getMarkerTrackers(),this._updateSelectedRangeCallback),a.drawScaleBreaks({start:n.top,end:n.top+n.height})},visualRange:function(){},getViewport:function(){return{}},allScaleSelected:function(e){var t=this._axis.visualRange(),n=t.startValue,i=t.endValue;return{startValue:e[0].valueOf()===n.valueOf(),endValue:e[1].valueOf()===i.valueOf()}},getOptions:function(){return this._axis.getOptions()||{}}},(0,r.each)(c.Axis.prototype,(function(e){\"constructor\"!==e&&\"_\"!==e[0]&&(0,o.isFunction)(c.Axis.prototype[e])&&!(e in K.prototype)&&(K.prototype[e]=function(){var t=this._axis;return t[e].apply(t,arguments)})})),(0,i.default)(\"dxRangeSelector\",G);var Z=G;t.default=Z,G.addPlugin(w.plugin),G.addPlugin(C.plugin),G.addPlugin(S.plugin),G.addPlugin(k.plugin),e.exports=t.default,e.exports.default=t.default},25104:function(e,t){function n(e,t){return void 0!==e?e:t}function i(e){this._params=e,this._clipRect=e.renderer.clipRect(),e.root.attr({\"clip-path\":this._clipRect.id})}t.RangeView=i,i.prototype={constructor:i,update:function(e,t,i,o,a,r){var s=this._params.renderer,l=this._params.root,u=i.width-i.left;e=e||{},l.clear(),this._clipRect.attr({x:i.left,y:i.top,width:u,height:i.height}),o||(n(e.visible,t.visible)&&(e.color&&s.rect(i.left,i.top,u+1,i.height).attr({fill:n(e.color,t.color),class:\"dx-range-selector-background\"}).append(l),e.image&&e.image.url&&s.image(i.left,i.top,u+1,i.height,e.image.url,n(e.image.location,t.image.location)).append(l)),r&&r.isShowChart()&&function(e,t,n,i){var o=t.getSeries();if(o.length){var a=o[0].getValueAxis();a.updateCanvas({top:n.top,bottom:0,height:n.height+n.top}),t.adjustSeriesDimensions();var r=t.getBoundRange().val;r.sortCategories(a.getCategoriesSorter()),a.setBusinessRange(r),o.forEach((function(t){t._extGroups.seriesGroup=t._extGroups.labelsGroup=e,t.draw(i)}))}}(s.g().attr({class:\"dxrs-series-group\"}).append(l),r,i,a))}}},79302:function(e,t,n){t.SeriesDataSource=void 0;var i=n(54932),o=n(1939),a=n(35922),r=n(13306),s=n(95479),l=n(19157),u=n(21177),d=n(45865),c=n(99327),h=function(e){var t,n=this._themeManager=(t=e.chart,new c.ThemeManager({options:t,themeSection:\"rangeSelector.chart\",fontFields:[\"commonSeriesSettings.label.font\"]}));n.setTheme(e.chart.theme);var i=n.getOptions(\"topIndent\"),o=n.getOptions(\"bottomIndent\");this._indent={top:i>=0&&i<1?i:0,bottom:o>=0&&o<1?o:0},this._valueAxis=n.getOptions(\"valueAxisRangeSelector\")||{},this._hideChart=!1,this._series=this._calculateSeries(e),this._seriesFamilies=[]};t.SeriesDataSource=h,h.prototype={constructor:h,_calculateSeries:function(e){var t,n,o,a,s,u,c,h=[],f=e.dataSource||[],p=this._themeManager,g=p.getOptions(\"seriesTemplate\"),m=g?(0,l.processSeriesTemplate)(g,f):e.chart.series,_=this._valueAxis;for(e.dataSource&&!m&&(m={argumentField:a=e.dataSourceField||\"arg\",valueField:a},this._hideChart=!0),m=Array.isArray(m)?m:m?[m]:[],s=0;s<m.length;s++)(t=(0,r.extend)(!0,{},m[s])).rotated=!1,(n=p.getOptions(\"series\",t,m.length)).argumentField=n.argumentField||e.dataSourceField,n.name||(n.name=\"Series \"+(s+1).toString()),f&&f.length>0&&(u=new i.Series({renderer:e.renderer,argumentAxis:e.argumentAxis,valueAxis:e.valueAxis,incidentOccurred:e.incidentOccurred},n),h.push(u));if(h.length)for(c={groups:[{series:h,valueAxis:e.valueAxis,valueOptions:{type:_.type,valueType:a?e.valueType:_.valueType}}],argumentOptions:{categories:e.categories,argumentType:e.valueType,type:e.axisType}},o=(0,d.validateData)(f,c,e.incidentOccurred,p.getOptions(\"dataPrepareSettings\")),this.argCategories=c.categories,s=0;s<h.length;s++)h[s].updateData(o[h[s].getArgumentField()]);return h},createPoints:function(){if(0!==this._series.length){var e=this._series,t=new u.Range,n=e[0].getArgumentAxis(),i=this._themeManager,r=i.getOptions(\"negativesAsZeroes\"),l=i.getOptions(\"negativesAsZeros\");e.forEach((function(e){t.addRange(e.getArgumentRange())})),n.getTranslator().updateBusinessRange(t),e.forEach((function(e){e.createPoints()})),this._seriesFamilies=function(e,t,n,i,a){var r=[],l=[];return(0,s.each)(e,(function(e,t){l.includes(t.type)||l.push(t.type)})),(0,s.each)(l,(function(s,l){var u=new o.SeriesFamily({type:l,minBubbleSize:t,maxBubbleSize:n,barGroupPadding:i.barGroupPadding,barGroupWidth:i.barGroupWidth,negativesAsZeroes:a});u.add(e),u.adjustSeriesValues(),r.push(u)})),r}(e,i.getOptions(\"minBubbleSize\"),i.getOptions(\"maxBubbleSize\"),{barGroupPadding:i.getOptions(\"barGroupPadding\"),barGroupWidth:i.getOptions(\"barGroupWidth\")},(0,a.isDefined)(r)?r:l)}},adjustSeriesDimensions:function(){(0,s.each)(this._seriesFamilies,(function(e,t){t.adjustSeriesDimensions()}))},getBoundRange:function(){var e,t,n,i,o,r=this._valueAxis,l=new u.Range({min:r.min,minVisible:r.min,max:r.max,maxVisible:r.max,axisType:r.type,base:r.logarithmBase}),d=new u.Range({});return(0,s.each)(this._series,(function(t,n){e=n.getRangeData(),l.addRange(e.val),d.addRange(e.arg)})),l.isEmpty()||d.isEmpty()||(i=r.inverted?this._indent.top:this._indent.bottom,o=r.inverted?this._indent.bottom:this._indent.top,t=l.max-l.min,n=((0,a.isNumeric)(l.maxVisible)?l.maxVisible:l.max)-((0,a.isNumeric)(l.minVisible)?l.minVisible:l.min),(0,a.isDate)(l.min)?l.min=new Date(l.min.valueOf()-t*i):l.min-=t*i,(0,a.isDate)(l.max)?l.max=new Date(l.max.valueOf()+t*o):l.max+=t*o,(0,a.isNumeric)(n)&&(l.maxVisible=l.maxVisible?l.maxVisible+n*o:void 0,l.minVisible=l.minVisible?l.minVisible-n*i:void 0),l.invert=r.inverted),{arg:d,val:l}},getMarginOptions:function(e){var t=Math.min(e.width,e.height)*this._themeManager.getOptions(\"maxBubbleSize\");return this._series.reduce((function(e,n){var i=n.getMarginOptions();return!0===i.processBubbleSize&&(i.size=t),(0,l.mergeMarginOptions)(e,i)}),{})},getSeries:function(){return this._series},isEmpty:function(){return 0===this.getSeries().length},isShowChart:function(){return!this._hideChart},getCalculatedValueType:function(){var e=this._series[0];return null==e?void 0:e.argumentType},getThemeManager:function(){return this._themeManager}}},48942:function(e,t,n){t.default=void 0;var i,o=n(11378),a=(i=n(79090))&&i.__esModule?i:{default:i},r=n(60137);var s=o.utils.animationSettings;function l(e,t){this._translator=e.translator,this._sliderGroup=e.renderer.g().attr({class:\"slider\"}).append(e.root),this._line=e.renderer.path(null,\"line\").append(this._sliderGroup),this._marker=new a.default(e.renderer,this._sliderGroup,1===t),this._tracker=e.renderer.rect().attr({class:\"slider-tracker\",fill:\"#000000\",opacity:1e-4}).css({cursor:\"w-resize\"}).append(e.trackersGroup)}l.prototype={constructor:l,cancelAnimation:function(){this._sliderGroup.stopAnimation(),this._tracker.stopAnimation()},applyPosition:function(e){var t=this._sliderGroup,n=this._tracker,i={translateX:this._position};this._marker.setPosition(this._position),e?(t.animate(i,s),n.animate(i,s)):(t.attr(i),n.attr(i))},_setValid:function(e){this._marker.setValid(e),this._line.attr({stroke:this._colors[Number(e)]})},_setText:function(e){this._marker.setText(e)},update:function(e,t,n){this._formatOptions={format:n.format,customizeText:n.customizeText},this._marker.applyOptions(n,this._translator.getScreenRange()),this._colors=[n.invalidRangeColor,t.color],this._sliderGroup.attr({translateY:e[0]}),this._line.attr({\"stroke-width\":t.width,stroke:t.color,\"stroke-opacity\":t.opacity,sharp:\"h\",points:[0,0,0,e[1]-e[0]]});var i,o=(i=t.width,r.touchEvents||r.pointerEvents?20:8<i?i:8);this._tracker.attr({x:-o/2,y:0,width:o,height:e[1]-e[0],translateY:e[0]})},toForeground:function(){this._sliderGroup.toForeground()},getSliderTracker:function(){return this._tracker},getPosition:function(){return this._position},setDisplayValue:function(e){this._value=e,this._setText((0,o.formatValue)(e,this._formatOptions))},setOverlapped:function(e){this._marker.setOverlapped(e)},getValue:function(){return this._value},on:function(e,t){this._tracker.on(e,t),this._marker.getTracker().on(e,t)},getCloudBorder:function(){return this._marker.getBorderPosition()},dispose:function(){this._marker.dispose()}};var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},79090:function(e,t,n){t.default=void 0;var i=n(19157),o=n(11378).consts.pointerSize;function a(e,t,n){this._isLeftPointer=n,this._isOverlapped=!1,this._group=e.g().attr({class:\"slider-marker\"}).append(t),this._area=e.path(null,\"area\").append(this._group),this._label=e.text().attr({align:\"left\"}).append(this._group),this._tracker=e.rect().attr({class:\"slider-marker-tracker\",fill:\"#000000\",opacity:1e-4}).css({cursor:\"pointer\"}).append(this._group),this._border=e.rect(0,0,1,0)}a.prototype={constructor:a,_getRectSize:function(e){return{width:Math.round(2*this._paddingLeftRight+e.width),height:Math.round(2*this._paddingTopBottom+e.height)}},_getTextSize:function(){var e=this._label.getBBox();return!this._textHeight&&isFinite(e.height)&&(this._textHeight=e.height),{width:e.width,height:this._textHeight,y:e.y}},_getAreaPointsInfo:function(e){var t=this._getRectSize(e),n=t.width,i=t.height,a=-n,r=0,s=o,l=0,u=-o,d=this._position,c=this._isLeftPointer,h=function(){a++,r++,s++,l++,u++},f=function(){s>r?s=r:u<a&&(u=a),c&&h()},p=d;return c?d>this._range[1]-n?(r=-d+this._range[1],a=r-n,f(),p+=a):(a=u=0,r=n):d-this._range[0]<n?(a=-(d-this._range[0]),r=a+n,f(),p+=r):(s=0,h()),this._borderPosition=p,{offset:a,isCut:(!c||l!==u)&&(c||l!==s),points:[a,0,r,0,r,i,s,i,l,i+o,u,i,a,i]}},_update:function(){var e,t=this;clearTimeout(t._timeout),t._label.attr({text:t._text||\"\"});var n=t._getTextSize(),i=t._getRectSize(n);function a(e,n){n=n||t._getRectSize(e),t._group.attr({translateY:-(n.height+o)});var i=t._getAreaPointsInfo(e),a=i.points,r=i.offset;t._area.attr({points:a}),t._border.attr({x:t._isLeftPointer?a[0]-1:a[2],height:i.isCut?n.height:n.height+o}),t._tracker.attr({translateX:r,width:n.width,height:n.height+o}),t._label.attr({translateX:t._paddingLeftRight+r,translateY:n.height/2-(e.y+e.height/2)})}e=t._textSize||n,e=t._textSize=n.width>e.width||n.height>e.height?n:e,t._timeout=setTimeout((function(){a(n,i),t._textSize=n}),75),a(e)},setText:function(e){this._text=e},setPosition:function(e){this._position=e,this._update()},applyOptions:function(e,t){this._range=t,this._paddingLeftRight=e.paddingLeftRight,this._paddingTopBottom=e.paddingTopBottom,this._textHeight=null,this._colors=[e.invalidRangeColor,e.color],this._area.attr({fill:e.color}),this._border.attr({fill:e.borderColor}),this._label.css((0,i.patchFontOptions)(e.font)),this._update()},getTracker:function(){return this._tracker},setValid:function(e){this._area.attr({fill:this._colors[Number(e)]})},setColor:function(e){this._area.attr({fill:e})},dispose:function(){clearTimeout(this._timeout)},setOverlapped:function(e){this._isOverlapped!==e&&(e?this._border.append(this._group):this._isOverlapped&&this._border.remove(),this._isOverlapped=e)},getBorderPosition:function(){return this._borderPosition}};var r=a;t.default=r,e.exports=t.default,e.exports.default=t.default},56481:function(e,t,n){t.SlidersController=_;var i,o=n(20576),a=n(11378),r=(i=n(48942))&&i.__esModule?i:{default:i},s=n(19157),l=n(35922),u=n(60810);var d=a.utils.animationSettings,c=a.consts.emptySliderMarkerText;function h(e,t,n,i){return[e,t,n,t,n,i,e,i]}function f(e,t){return e<t}function p(e,t){return e>t}function g(e,t){for(var n,i=0,o=t?t.length-1:0,a=e;o-i>1;){if((a=t[n=i+o>>1])===e)return e;e<a?o=n:i=n}return t&&(a=t[e-t[i]<=t[o]-e?i:o]),a}function m(){this._lastSelectedRange=this.getSelectedRange(),delete this._processSelectionChanged}function _(e){var t={renderer:e.renderer,root:e.root,trackersGroup:e.trackersGroup,translator:e.translator};this._params=e,this._areaTracker=e.renderer.path(null,\"area\").attr({class:\"area-tracker\",fill:\"#000000\",opacity:1e-4}).append(e.trackersGroup),this._selectedAreaTracker=e.renderer.path(null,\"area\").attr({class:\"selected-area-tracker\",fill:\"#000000\",opacity:1e-4}).append(e.trackersGroup),this._shutter=e.renderer.path(null,\"area\").append(e.root),this._sliders=[new r.default(t,0),new r.default(t,1)],this._processSelectionChanged=m}_.prototype={constructor:_,dispose:function(){this._sliders[0].dispose(),this._sliders[1].dispose()},getTrackerTargets:function(){return{area:this._areaTracker,selectedArea:this._selectedAreaTracker,sliders:this._sliders}},_processSelectionChanged:function(e){var t=this.getSelectedRange();(0,s.rangesAreEqual)(t,this._lastSelectedRange)||(this._params.updateSelectedRange(t,this._lastSelectedRange,e),this._lastSelectedRange=t)},update:function(e,t,n,i,o,a,r,l,u){var d=this._params.translator.getScreenRange();this._verticalRange=e,this._minRange=r.minRange,this._maxRange=r.maxRange,this._animationEnabled=t.animationEnabled&&this._params.renderer.animationEnabled(),this._allowSlidersSwap=t.allowSlidersSwap,this._sliders[0].update(e,i,o),this._sliders[1].update(e,i,o),this._sliders[0]._position=this._sliders[1]._position=d[0],this._values=!this._params.translator.isValueProlonged&&t.snapToTicks?l:null,this._areaTracker.attr({points:h(d[0],e[0],d[1],e[1])}),this._isCompactMode=n,this._shutterOffset=i.width/2,this._updateSelectedView(a,u),this._isOnMoving=\"onhandlemove\"===(0,s.normalizeEnum)(t.valueChangeMode)||\"onmoving\"===(0,s.normalizeEnum)(t.callValueChanged),this._updateSelectedRange(),this._applyTotalPosition(!1)},_updateSelectedView:function(e,t){var n={fill:null,\"fill-opacity\":null,stroke:null,\"stroke-width\":null};this._isCompactMode?(n.stroke=t,n[\"stroke-width\"]=3,n.sharp=\"v\"):(n.fill=e.color,n[\"fill-opacity\"]=e.opacity),this._shutter.attr(n)},_updateSelectedRange:function(){var e,t=this._sliders;t[0].cancelAnimation(),t[1].cancelAnimation(),this._shutter.stopAnimation(),this._params.translator.getBusinessRange().isEmpty()?(t[0]._setText(c),t[1]._setText(c),t[0]._value=t[1]._value=void 0,t[0]._position=this._params.translator.getScreenRange()[0],t[1]._position=this._params.translator.getScreenRange()[1],this._applyTotalPosition(!1),(e=this).setSelectedRange=o.noop,e._processSelectionChanged===m&&e._processSelectionChanged()):function(e){delete e.setSelectedRange}(this)},_applyTotalPosition:function(e){var t=this._sliders;e=this._animationEnabled&&e,t[0].applyPosition(e),t[1].applyPosition(e);var n=t[0].getCloudBorder()>t[1].getCloudBorder();t[0].setOverlapped(n),t[1].setOverlapped(n),this._applyAreaTrackersPosition(),this._applySelectedRangePosition(e)},_applyAreaTrackersPosition:function(){var e=this._sliders[0].getPosition(),t=this._sliders[1].getPosition();this._selectedAreaTracker.attr({points:h(e,this._verticalRange[0],t,this._verticalRange[1])}).css({cursor:Math.abs(this._params.translator.getScreenRange()[1]-this._params.translator.getScreenRange()[0]-t+e)<.001?\"default\":\"pointer\"})},_applySelectedRangePosition:function(e){var t,n,i=this._verticalRange,o=this._sliders[0].getPosition(),a=this._sliders[1].getPosition();n=this._isCompactMode?[o+Math.ceil(this._shutterOffset),(i[0]+i[1])/2,a-Math.floor(this._shutterOffset),(i[0]+i[1])/2]:[h((t=this._params.axis.getVisibleArea())[0],i[0],Math.max(o-Math.floor(this._shutterOffset),t[0]),i[1]),h(t[1],i[0],Math.min(a+Math.ceil(this._shutterOffset),t[1]),i[1])],e?this._shutter.animate({points:n},d):this._shutter.attr({points:n})},getSelectedRange:function(){return{startValue:this._sliders[0].getValue(),endValue:this._sliders[1].getValue()}},setSelectedRange:function(e,t){e=e||{};var n=this._params.translator,i=n.getBusinessRange(),o=\"discrete\"===i.axisType?function(e,t){return e<t}:function(e,t){return e<=t},a=(0,s.adjustVisualRange)({dataType:i.dataType,axisType:i.axisType,base:i.base},{startValue:n.isValid(e.startValue)?n.getCorrectValue(e.startValue,1):void 0,endValue:n.isValid(e.endValue)?n.getCorrectValue(e.endValue,-1):void 0,length:e.length},{min:i.minVisible,max:i.maxVisible,categories:i.categories}),r=a.startValue,d=a.endValue;r=(0,l.isNumeric)(r)?(0,u.adjust)(r):r,d=(0,l.isNumeric)(d)?(0,u.adjust)(d):d;var c=o(n.to(r,-1),n.to(d,1))?[r,d]:[d,r];this._sliders[0].setDisplayValue(c[0]),this._sliders[1].setDisplayValue(c[1]),this._sliders[0]._position=n.to(c[0],-1),this._sliders[1]._position=n.to(c[1],1),this._applyTotalPosition(!0),this._processSelectionChanged(t)},beginSelectedAreaMoving:function(e){var t=this,n=t._sliders,i=(n[0].getPosition()+n[1].getPosition())/2-e,o=e;return a.complete=function(e){t._dockSelectedArea(e)},a;function a(e,a){e!==o&&e>o==e>(n[0].getPosition()+n[1].getPosition())/2-i&&t._moveSelectedArea(e+i,!1,a),o=e}},_dockSelectedArea:function(e){var t=this._params.translator,n=this._sliders;n[0]._position=t.to(n[0].getValue(),-1),n[1]._position=t.to(n[1].getValue(),1),this._applyTotalPosition(!0),this._processSelectionChanged(e)},moveSelectedArea:function(e,t){this._moveSelectedArea(e,!0,t),this._dockSelectedArea(t)},_moveSelectedArea:function(e,t,n){var i=this._params.translator,o=this._sliders,a=o[1].getPosition()-o[0].getPosition(),r=e-a/2,s=e+a/2;r<i.getScreenRange()[0]&&(s=(r=i.getScreenRange()[0])+a),s>i.getScreenRange()[1]&&(r=(s=i.getScreenRange()[1])-a);var l=g(i.from(r,-1),this._values);o[0].setDisplayValue(l),o[1].setDisplayValue(g(i.from(i.to(l,-1)+a,1),this._values)),o[0]._position=r,o[1]._position=s,this._applyTotalPosition(t),this._isOnMoving&&this._processSelectionChanged(n)},placeSliderAndBeginMoving:function(e,t,n){var i=this._params.translator,o=this._sliders,a=e<t?0:1,r=a>0?1:-1,s=a>0?p:f,l=a>0?f:p,u=[],d=[];d[a]=i.from(e,r),d[1-a]=i.from(t,-r),u[1-a]=t,i.isValueProlonged&&(s(e,i.to(d[a],r))&&(d[a]=i.from(e,-r)),s(t,i.to(d[a],-r))&&(d[1-a]=d[a])),this._minRange&&(s(t,i.to(i.add(g(d[a],this._values),this._minRange,-r),-r))&&(d[1-a]=i.add(d[a],this._minRange,-r)),l(e,i.to(i.add(i.getRange()[1-a],this._minRange,r),-r))&&(d[1-a]=i.getRange()[1-a],d[a]=i.add(d[1-a],this._minRange,r),u[1-a]=e)),d[0]=g(d[0],this._values),d[1]=g(d[1],this._values),u[a]=i.to(d[a],r),o[0].setDisplayValue(d[0]),o[1].setDisplayValue(d[1]),o[0]._position=u[0],o[1]._position=u[1],this._applyTotalPosition(!0),this._isOnMoving&&this._processSelectionChanged(n);var c=this.beginSliderMoving(1-a,t);return o[1-a]._sliderGroup.stopAnimation(),this._shutter.stopAnimation(),c(t),c},beginSliderMoving:function(e,t){var n=this,i=n._params.translator,o=n._sliders,a=i.getScreenRange()[0],r=i.getScreenRange()[1],s=e,u=o[1-s].getPosition(),d=t,c=s>0?1:-1,h=s>0?f:p,m=s>0?p:f,_=o[s].getPosition()-t,v=h(o[s].getPosition(),t)?-_:_;return y.complete=function(e){o[s]._setValid(!0),n._dockSelectedArea(e)},y;function y(e,t){var f,p,y,b,x,w;e!==d&&(h(e+v,u)&&((f=n._allowSlidersSwap)&&!i.isValueProlonged&&n._minRange&&(f=i.isValid(i.add(o[1-s].getValue(),n._minRange,-c))),f&&(n._changeMovingSlider(s),s=1-s,p=h,h=m,m=p,_=-(c=-c)*Math.abs(_),v=-_)),m(e+_,u)&&(b=o[s],x=o[1-s].getValue(),y=Math.max(Math.min(e+_,r),a),(f=!i.isValueProlonged||!h(y,i.to(x,c)))&&n._minRange&&((f=!h(y,i.to(i.add(x,n._minRange,c),c)))||(w=i.add(x,n._minRange,c))),f&&n._maxRange&&((f=!m(y,i.to(i.add(x,n._maxRange,c),c)))||(w=i.add(x,n._maxRange,c))),b._setValid(f),b.setDisplayValue(f?g(i.from(y,c),n._values):(0,l.isDefined)(w)?w:b.getValue()),b._position=y,n._applyTotalPosition(!1),b.toForeground(),n._isOnMoving&&n._processSelectionChanged(t)));d=e}},_changeMovingSlider:function(e){var t,n=this._params.translator,i=this._sliders,o=i[1-e].getPosition(),a=e>0?1:-1;i[e].setDisplayValue(g(n.from(o,a),this._values)),t=n.from(o,-a),n.isValueProlonged?t=n.from(o,a):this._minRange&&(t=n.add(t,this._minRange,-a)),i[1-e].setDisplayValue(g(t,this._values)),i[e]._setValid(!0),i[e]._marker._update(),i[0]._position=i[1]._position=o},foregroundSlider:function(e){this._sliders[e].toForeground()}}},43695:function(e,t,n){t.Tracker=w;var i=u(n(55994)),o=u(n(93786)),a=n(58201),r=u(n(73349)),s=n(95479),l=n(60137);function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==d(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=(0,a.getWindow)();function f(e){var t=e||h.event,n=t.originalEvent,i=t.touches,o=!!n&&n.pointerType,a=!!n&&n.touches,r=n&&void 0!==o&&(o===(n.MSPOINTER_TYPE_TOUCH||\"touch\")||o===(n.MSPOINTER_TYPE_MOUSE||\"mouse\")&&1===n.buttons),s=i&&i.length>0||a&&a.length>0;return 1===t.which||r||s}function p(e){var t=e.originalEvent,n=e.touches,i=t&&t.touches;return n&&n.length>1||i&&i.length>1||null}function g(e){p(e)||e.preventDefault()}function m(e){p(e)||(e.stopPropagation(),e.preventDefault())}function _(e){return e&&e.type&&0===e.type.indexOf(\"touch\")}function v(e){var t=e.originalEvent,n=0;return e.pageX?n=e.pageX:t&&t.pageX&&(n=t.pageX),t&&t.touches&&(t.touches.length>0?n=t.touches[0].pageX:t.changedTouches.length>0&&(n=t.changedTouches[0].pageX)),n}function y(e,t,n,i){var a,r,s,l=!1,u=null,d=(c(a={},o.default.move,(function(t){var o,a;r===_(t)&&(f(t)||h(t),l&&(o=v(t),a=i(),u?u(o-a,t):n.manualRangeSelectionEnabled&&Math.abs(s-o)>=10&&(u=e.placeSliderAndBeginMoving(s-a,o-a,t))))})),c(a,o.default.up,(function(t){var o;l&&(o=v(t),!u&&n.moveSelectedRangeByClick&&Math.abs(s-o)<10&&e.moveSelectedArea(o-i(),t),h(t))})),a);function h(e){l&&(l=!1,u&&(u.complete(e),u=null))}return t.on(o.default.down,(function(e){n.enabled&&f(e)&&!l&&(l=!0,r=_(e),s=v(e))})),d}function b(e,t,n,i){var a,r,s=!1,l=null,u=(c(a={},o.default.move,(function(e){r===_(e)&&(f(e)||d(e),s&&(g(e),l(v(e)-i(),e)))})),c(a,o.default.up,d),a);function d(e){s&&(s=!1,l.complete(e),l=null)}return t.on(o.default.down,(function(t){n.enabled&&f(t)&&!s&&(s=!0,r=_(t),l=e.beginSelectedAreaMoving(v(t)-i()),m(t))})),u}function x(e,t,n,i){var a,r,l=!1,u=null,d=(c(a={},o.default.move,(function(e){r===_(e)&&(f(e)||h(e),l&&(g(e),u(v(e)-i(),e)))})),c(a,o.default.up,h),a);function h(e){l&&(l=!1,u.complete(e),u=null)}return(0,s.each)(t,(function(t,a){var s;a.on((c(s={},o.default.down,(function(o){n.enabled&&f(o)&&!l&&(l=!0,r=_(o),u=e.beginSliderMoving(t,v(o)-i()),m(o))})),c(s,o.default.move,(function(){u||e.foregroundSlider(t)})),s))})),d}function w(e){var t=this._state={},n=e.controller.getTrackerTargets();function o(){return e.renderer.getRootOffset().left}l.pointerEvents&&e.renderer.root.css({msTouchAction:\"pinch-zoom\"}),this._docEvents=[b(e.controller,n.selectedArea,t,o),y(e.controller,n.area,t,o),x(e.controller,n.sliders,t,o)],(0,s.each)(this._docEvents,(function(e,t){i.default.on(r.default.getDocument(),t)}))}w.prototype={constructor:w,dispose:function(){(0,s.each)(this._docEvents,(function(e,t){i.default.off(r.default.getDocument(),t)}))},update:function(e,t){var n=this._state;n.enabled=e,n.moveSelectedRangeByClick=t.moveSelectedRangeByClick,n.manualRangeSelectionEnabled=t.manualRangeSelectionEnabled}}},34377:function(e,t,n){t.default=void 0;var i,o=(i=n(66422))&&i.__esModule?i:{default:i},a=n(38516),r=n(82454),s=n(17384),l=n(29823),u=n(14371),d=n(64758);o.default.addPlugin(r.plugin),o.default.addPlugin(s.plugin),o.default.addPlugin(l.plugin),o.default.addPlugin(d.plugin),o.default.addPlugin(u.plugin),(0,a.setTooltipCustomOptions)(o.default);var c=o.default;t.default=c,e.exports=t.default,e.exports.default=t.default},74878:function(e,t){t.COLOR_MODE_TARGET=t.COLOR_MODE_SOURCE=t.COLOR_MODE_NONE=t.COLOR_MODE_GRADIENT=void 0;t.COLOR_MODE_GRADIENT=\"gradient\";t.COLOR_MODE_SOURCE=\"source\";t.COLOR_MODE_TARGET=\"target\";t.COLOR_MODE_NONE=\"none\"},86547:function(e,t,n){t.default=void 0;var i,o=(i=n(65538))&&i.__esModule?i:{default:i};var a={validate:function(e,t){var n=null;return this._hasCycle(e)&&(n=\"E2006\",t(\"E2006\")),n},_hasCycle:function(e){return o.default.struct.hasCycle(e)}};t.default=a,e.exports=t.default,e.exports.default=t.default},65538:function(e,t){t.default=void 0;var n={maxOfArray:function(e,t){var n=0,i=function(e){return e};t&&(i=t);for(var o=0;o<e.length;o++)i(e[o])>n&&(n=i(e[o]));return n}},i=function(e){var t=[];return e.forEach((function(e){-1===t.indexOf(e[0])&&t.push(e[0]),-1===t.indexOf(e[1])&&t.push(e[1])})),t},o=function(e,t){var n=[];return e.forEach((function(e){e[0]===t&&-1===n.indexOf(e[1])&&n.push(e[1])})),n},a=function(e,t){var n=[];return e.forEach((function(e){e[1]===t&&-1===n.indexOf(e[0])&&n.push(e[0])})),n},r={struct:{_hasCycle:!1,_sortedList:[],hasCycle:function(e){var t=this;this._hasCycle=!1,this._sortedList=[];var n={},o=i(e);return o.forEach((function(e){n[e]={color:\"white\"}})),o.forEach((function(i){\"white\"===n[i].color&&t._depthFirstSearch(e,n,i)})),this._sortedList.reverse(),this._hasCycle},_depthFirstSearch:function(e,t,n){t[n].color=\"gray\";for(var i=o(e,n),r=0;r<i.length;r++)\"white\"===t[i[r]].color?this._depthFirstSearch(e,t,i[r]):\"gray\"===t[i[r]].color&&(this._hasCycle=!0);this._sortedList.push({name:n,lp:null,incoming:a(e,n),outgoing:o(e,n)}),t[n].color=\"black\"},computeLongestPaths:function(e){var t=this._sortedList;return t.forEach((function(i){var o=a(e,i.name);if(0===o.length)i.lp=0;else{var r=[];o.forEach((function(e){r.push(t.filter((function(t){return t.name===e}))[0].lp)})),i.lp=n.maxOfArray(r)+1}})),this._sortedList}},routines:n,getVertices:i,getAdjacentVertices:o,getReverseAdjacentVertices:a};t.default=r,e.exports=t.default,e.exports.default=t.default},68856:function(e,t,n){t.layout=void 0;var i=a(n(65538)),o=a(n(86547));function a(e){return e&&e.__esModule?e:{default:e}}var r={_weightPerPixel:null,_getCascadeIdx:function(e,t){var n=t.filter((function(t){return t.name===e}))[0];return n.outgoing.length>0?n.lp:i.default.routines.maxOfArray(t.map((function(e){return e.lp})))},_getInWeightForNode:function(e,t){var n=0;return t.forEach((function(t){t[1]===e&&(n+=t[2])})),n},_getOutWeightForNode:function(e,t){var n=0;return t.forEach((function(t){t[0]===e&&(n+=t[2])})),n},_computeCascades:function(e){for(var t=this,n=i.default.struct.computeLongestPaths(e),o=i.default.routines.maxOfArray(n.map((function(e){return e.lp}))),a=[],r=0;r<o+1;r++)a.push({});return e.forEach((function(e){var i=a[t._getCascadeIdx(e[0],n)];i[e[0]]||(i[e[0]]={nodeTitle:e[0]}),(i=a[t._getCascadeIdx(e[1],n)])[e[1]]||(i[e[1]]={nodeTitle:e[1]})})),a.forEach((function(n){Object.keys(n).forEach((function(i){var o=n[i];o.inWeight=t._getInWeightForNode(o.nodeTitle,e),o.outWeight=t._getOutWeightForNode(o.nodeTitle,e),o.maxWeight=Math.max(o.inWeight,o.outWeight)}))})),a},_getWeightForCascade:function(e,t){var n=0,i=e[t];return Object.keys(i).forEach((function(e){n+=Math.max(i[e].inWeight,i[e].outWeight)})),n},_getMaxWeightThroughCascades:function(e){var t=[];return e.forEach((function(e){var n=0;Object.keys(e).forEach((function(t){var i=e[t];n+=Math.max(i.inWeight,i.outWeight)})),t.push(n)})),i.default.routines.maxOfArray(t)},_computeNodes:function(e,t){var n=this,o=[],a=this._getMaxWeightThroughCascades(e),r=i.default.routines.maxOfArray(e.map((function(e){return Object.keys(e).length}))),s=t.nodePadding,l=t.height-s*(r-1);l<0&&(s=0,l=t.height-s*(r-1)),this._weightPerPixel=a/l;var u=0;return e.forEach((function(i){var r,d=[],c=0,h=Object.keys(i).length,f=n._getWeightForCascade(e,u)/n._weightPerPixel+s*(h-1);\"bottom\"===(r=Array.isArray(t.nodeAlign)?u<t.nodeAlign.length?t.nodeAlign[u]:\"center\":t.nodeAlign)?c=t.height-f:\"center\"===r&&(c=.5*(t.height-f)),c=Math.round(c),Object.keys(i).forEach((function(e){i[e].sort=n._sort&&Object.prototype.hasOwnProperty.call(n._sort,e)?n._sort[e]:1})),Object.keys(i).sort((function(e,t){return i[e].sort-i[t].sort})).forEach((function(n){var o=i[n],r=Math.floor(l*o.maxWeight/a),h=Math.round(u*t.width/(e.length-1))-(0===u?0:t.nodeWidth),f={};f._name=n,f.width=t.nodeWidth,f.height=r,f.x=h+t.x,f.y=c+t.y,c+=r+s,d.push(f)})),u++,o.push(d)})),o},_findRectByName:function(e,t){for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)if(t===e[n][i]._name)return e[n][i];return null},_findIndexByName:function(e,t){for(var n=0,i=0;i<e.length;i++)for(var o=0;o<e[i].length;o++){if(t===e[i][o]._name)return n;n++}return null},_computeLinks:function(e,t,n){var i=this,o={},a=[],r=[];return n.forEach((function(e){Object.keys(e).forEach((function(e){o[e]={in:0,out:0}}))})),t.forEach((function(n){n.forEach((function(n){var r=n._name,s=i._findRectByName(t,r),l=e.filter((function(e){return e[0]===r}));l.forEach((function(e){e.sort=i._findIndexByName(t,e[1])})),l.sort((function(e,t){return e.sort-t.sort})).forEach((function(e){var n=i._findRectByName(t,e[1]),r=Math.round(e[2]/i._weightPerPixel),l=o[e[0]].out,u=o[e[1]].in,d=o[e[0]].out+r>s.height?s.height-o[e[0]].out:r,c=o[e[1]].in+r>n.height?n.height-o[e[1]].in:r;a.push({from:{x:s.x,y:s.y+l,width:s.width,height:d,node:s,weight:e[2]},to:{x:n.x,y:n.y+u,width:n.width,height:c,node:n}}),o[e[0]].out+=r,o[e[1]].in+=r}))}))})),a.forEach((function(e){var t={d:i._spline(e.from,e.to),_boundingRect:{x:e.from.x+e.from.width,y:Math.min(e.from.y,e.to.y),width:e.to.x-(e.from.x+e.from.width),height:Math.max(e.from.x+e.from.height,e.to.y+e.to.height)-Math.min(e.from.y,e.to.y)},_weight:e.from.weight,_from:e.from.node,_to:e.to.node};r.push(t)})),this._fitAllNodesHeight(t,a),r},_fitNodeHeight:function(e,t,n){var i=this._findRectByName(t,e),o=0,a=0;n.forEach((function(t){t.from.node._name===e&&(a+=t.from.height),t.to.node._name===e&&(o+=t.to.height)})),i.height=Math.max(o,a)},_fitAllNodesHeight:function(e,t){for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)this._fitNodeHeight(e[n][i]._name,e,t)},_spline:function(e,t){var n={x:e.x+e.width,y:e.y},i={x:e.x+e.width,y:e.y+e.height},o={x:t.x,y:t.y},a={x:t.x,y:t.y+t.height},r=.3*(o.x-n.x);return\"M \".concat(n.x,\" \").concat(n.y,\" C \").concat(n.x+r,\" \").concat(n.y,\" \").concat(o.x-r,\" \").concat(o.y,\" \").concat(o.x,\" \").concat(o.y,\" L \").concat(a.x,\" \").concat(a.y,\" C \").concat(a.x-r,\" \").concat(a.y,\" \").concat(i.x+r,\" \").concat(i.y,\" \").concat(i.x,\" \").concat(i.y,\" Z\")},computeLayout:function(e,t,n,i){this._sort=t;var a={},r=o.default.validate(e,i);return r?a.error=r:(a.cascades=this._computeCascades(e),a.nodes=this._computeNodes(a.cascades,{width:n.availableRect.width,height:n.availableRect.height,x:n.availableRect.x,y:n.availableRect.y,nodePadding:n.nodePadding,nodeWidth:n.nodeWidth,nodeAlign:n.nodeAlign}),a.links=this._computeLinks(e,a.nodes,a.cascades)),a},overlap:function(e,t){return!(t.x>e.x+e.width||t.x+t.width<e.x||t.y>=e.y+e.height||t.y+t.height<=e.y)}};t.layout=r},18170:function(e,t,n){t.default=void 0;var i=n(74878),o=n(35922),a=[\"normal\",\"adjacentNodeHover\",\"hover\"];function r(e,t,n,a){var r=t.border,s=n.border,l=(0,o.isDefined)(r.visible)?r.visible:s.visible,u=(0,o.isDefined)(r.width)?r.width:s.width,d=(0,o.isDefined)(r.opacity)?r.opacity:(0,o.isDefined)(s.opacity)?s.opacity:1,c=(0,o.isDefined)(t.opacity)?t.opacity:(0,o.isDefined)(n.opacity)?n.opacity:1,h=t.color||e;return n.colorMode===i.COLOR_MODE_TARGET||n.colorMode===i.COLOR_MODE_SOURCE?h=e:n.colorMode===i.COLOR_MODE_GRADIENT&&a&&(0,o.isDefined)(a.id)&&(h=a.id),{fill:h,\"stroke-width\":l?u:0,stroke:t.border.color||n.border.color,\"stroke-opacity\":d,opacity:c,hatching:t.hatching}}function s(e,t){var n=e._renderer.getRootOffset();this.code=0,this.widget=e,this.color=t.color,this.connection=t.connection,this.d=t.d,this.options=t.options,this.boundingRect=t.boundingRect,this.coords={x:t.boundingRect.x+t.boundingRect.width/2+n.left,y:t.boundingRect.y+t.boundingRect.height/2+n.top},this.states={normal:r(this.color,this.options,this.options,t.gradient),adjacentNodeHover:r(this.color,{opacity:0,border:{}},this.options,t.gradient),hover:r(this.color,{opacity:0,border:{}},this.options,t.gradient)},this.overlayStates={normal:r(this.color,{opacity:0,border:{}},this.options),adjacentNodeHover:r(this.color,this.options.hoverStyle,this.options),hover:r(this.color,this.options.hoverStyle,this.options)}}s.prototype={getState:function(){return a[this.code]},isHovered:function(){return 2===this.code},isAdjacentNodeHovered:function(){return 1===this.code},setState:function(e,t){t?this.code=e:(this.code=0,this.hideTooltip()),this.widget._applyLinksAppearance()},setHover:function(){this.hover(!0)},hover:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&e!==this.isHovered()&&(this.widget._suspend(),e&&this.widget.clearHover(),this.setState(2,e),this.widget._eventTrigger(\"linkHoverChanged\",{target:this}),this.widget._resume())},adjacentNodeHover:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&e!==this.isAdjacentNodeHovered()&&(this.widget._suspend(),this.setState(1,e),this.widget._resume())},setAdjacentNodeHover:function(){this.adjacentNodeHover(!0)},showTooltip:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&this.widget._tooltip&&this.widget._tooltip.show({type:\"link\",info:{source:this.connection.source,target:this.connection.target,weight:this.connection.weight}},void 0!==e?{x:e[0],y:e[1]}:this.coords)},hideTooltip:function(){this.widget._tooltip&&this.widget._tooltip.hide()}};var l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},47248:function(e,t,n){t.default=void 0;var i=n(35922),o=n(19157),a=[\"normal\",\"hover\"];function r(e,t,n){var o=t.border,a=n.border,r=(0,i.isDefined)(o.visible)?o.visible:a.visible,s=(0,i.isDefined)(o.width)?o.width:a.width,l=(0,i.isDefined)(o.opacity)?o.opacity:(0,i.isDefined)(a.opacity)?a.opacity:1,u=(0,i.isDefined)(t.opacity)?t.opacity:(0,i.isDefined)(n.opacity)?n.opacity:1;return{fill:t.color||e,\"stroke-width\":r?s:0,stroke:t.border.color||n.border.color,\"stroke-opacity\":l,opacity:u,hatching:t.hatching}}function s(e,t){var n=e._renderer.getRootOffset();this.code=0,this.widget=e,this.color=t.color,this.options=t.options,this.rect=t.rect,this.label=this.title=t.rect._name,this.coords={x:t.rect.x+t.rect.width/2+n.left,y:t.rect.y+t.rect.height/2+n.top},this.id=t.id,this.linksIn=t.linksIn,this.linksOut=t.linksOut,this.states={normal:r(this.color,this.options,this.options),hover:r(this.color,this.options.hoverStyle,this.options)}}s.prototype={compileAttrs:function(){return r(this.color,this.options)},getState:function(){return a[this.code]},isHovered:function(){return!!(1&this.code)},setState:function(e,t){var n=this;t?this.code|=e:this.code&=~e,t?this.linksIn.concat(this.linksOut).forEach((function(e){n.widget._links[e.index].setAdjacentNodeHover(!0)})):(this.widget._links.forEach((function(e){e.isAdjacentNodeHovered()&&e.adjacentNodeHover(!1)})),this.hideTooltip()),this.widget._applyNodesAppearance(),this.widget._applyLinksAppearance()},hover:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&e!==this.isHovered()&&(this.widget._suspend(),e&&this.widget.clearHover(),this.setState(1,e),this.widget._eventTrigger(\"nodeHoverChanged\",{target:this}),this.widget._resume())},setHover:function(){this.hover(!0)},showTooltip:function(e){this.widget._getOption(\"hoverEnabled\",!0)&&this.widget._tooltip&&this.widget._tooltip.show({type:\"node\",info:{label:this.label,title:this.label,weightIn:this.linksIn.reduce((function(e,t){return e+t.weight}),0),weightOut:this.linksOut.reduce((function(e,t){return e+t.weight}),0)}},void 0!==e?{x:e[0],y:e[1]}:this.coords)},hideTooltip:function(){this.widget._tooltip&&this.widget._tooltip.hide()},getLabelAttributes:function(e,t){return function(e,t,n){var a=o.patchFontOptions;e.useNodeColors&&(e.font.color=n.color);var r=!!(0,i.isDefined)(e.border.visible)&&e.border.visible,s=(0,i.isDefined)(e.border.width)?e.border.width:0,l=(0,i.isDefined)(e.border.color)?e.border.color:e.font.color,u=(0,i.isDefined)(e.border.opacity)?e.border.opacity:1,d={filter:t};return r&&s&&(d.stroke=l,d[\"stroke-width\"]=r?s:0,d[\"stroke-opacity\"]=u),{attr:d,css:a(e.font)}}(e,t,this)}};var l=s;t.default=l,e.exports=t.default,e.exports.default=t.default},66422:function(e,t,n){t.default=void 0;var i=n(74878),o=n(20576),a=h(n(47248)),r=h(n(18170)),s=n(68856),l=n(35922),u=h(n(55845)),d=h(n(99393)),c=n(1539);function h(e){return e&&e.__esModule?e:{default:e}}function f(e,t,n){var i=[],o=\"in\"===n?\"_to\":\"_from\",a=\"in\"===n?\"_from\":\"_to\";return e.links.map((function(e){return e[o]._name===t})).forEach((function(t,n){t&&i.push({index:n,weight:e.links[n]._weight,node:e.links[n][a]._name})})),i}var p=u.default.inherit({_rootClass:\"dxs-sankey\",_rootClassPrefix:\"dxs\",_proxyData:[],_optionChangesMap:{dataSource:\"DATA_SOURCE\",sortData:\"DATA_SOURCE\",alignment:\"DATA_SOURCE\",node:\"BUILD_LAYOUT\",link:\"BUILD_LAYOUT\",palette:\"BUILD_LAYOUT\",paletteExtensionMode:\"BUILD_LAYOUT\"},_themeDependentChanges:[\"BUILD_LAYOUT\"],_getDefaultSize:function(){return{width:400,height:400}},_themeSection:\"sankey\",_fontFields:[\"label.font\"],_optionChangesOrder:[\"DATA_SOURCE\"],_initialChanges:[\"DATA_SOURCE\"],_initCore:function(){this._groupLinks=this._renderer.g().append(this._renderer.root),this._groupNodes=this._renderer.g().append(this._renderer.root),this._groupLabels=this._renderer.g().attr({class:this._rootClassPrefix+\"-labels\"}).append(this._renderer.root),this._drawLabels=!0,this._nodes=[],this._links=[],this._gradients=[]},_disposeCore:o.noop,_applySize:function(e){this._rect=e.slice();var t=this._getOption(\"adaptiveLayout\");return t.keepLabels||this._rect[2]-this._rect[0]>t.width?this._drawLabels=!0:this._drawLabels=!1,this._change([\"BUILD_LAYOUT\"]),this._rect},_eventsMap:{onNodeHoverChanged:{name:\"nodeHoverChanged\"},onLinkHoverChanged:{name:\"linkHoverChanged\"}},_customChangesOrder:[\"BUILD_LAYOUT\",\"NODES_DRAW\",\"LINKS_DRAW\",\"LABELS\",\"DRAWN\"],_dataSourceChangedHandler:function(){this._requestChange([\"BUILD_LAYOUT\"])},_change_DRAWN:function(){this._drawn()},_change_DATA_SOURCE:function(){this._change([\"DRAWN\"]),this._updateDataSource()},_change_LABELS:function(){this._applyLabelsAppearance()},_change_BUILD_LAYOUT:function(){this._groupNodes.clear(),this._groupLinks.clear(),this._groupLabels.clear(),this._buildLayout()},_change_NODES_DRAW:function(){var e=this;e._nodes.forEach((function(t,n){var i=e._renderer.rect().attr(t.rect).append(e._groupNodes);t.element=i})),this._applyNodesAppearance()},_change_LINKS_DRAW:function(){var e=this;e._links.forEach((function(t,n){var i=e._renderer.g().attr({class:\"link\",\"data-link-idx\":n}).append(e._groupLinks);t.overlayElement=e._renderer.path([],\"area\").attr({d:t.d}).append(i),t.element=e._renderer.path([],\"area\").attr({d:t.d}).append(i)})),this._applyLinksAppearance()},_suspend:function(){this._applyingChanges||this._suspendChanges()},_resume:function(){this._applyingChanges||this._resumeChanges()},_showTooltip:o.noop,hideTooltip:o.noop,clearHover:function(){this._suspend(),this._nodes.forEach((function(e){e.isHovered()&&e.hover(!1)})),this._links.forEach((function(e){e.isHovered()&&e.hover(!1),e.isAdjacentNodeHovered()&&e.adjacentNodeHover(!1)})),this._resume()},_applyNodesAppearance:function(){this._nodes.forEach((function(e){var t=e.getState();e.element.smartAttr(e.states[t])}))},_applyLinksAppearance:function(){this._links.forEach((function(e){var t=e.getState();e.element.smartAttr(e.states[t]),e.overlayElement.smartAttr(e.overlayStates[t])}))},_hitTestTargets:function(e,t){var n,i=this;return this._proxyData.some((function(o){if(n=o.call(i,e,t))return!0})),n},_getData:function(){var e=this,t=e._dataSourceItems()||[],n=e._getOption(\"sourceField\",!0),i=e._getOption(\"targetField\",!0),o=e._getOption(\"weightField\",!0),a=[];return t.forEach((function(t){var r=Object.prototype.hasOwnProperty.bind(t);r(n)?r(i)?r(o)?(0,l.isString)(t[n])?(0,l.isString)(t[i])?!(0,l.isNumeric)(t[o])||t[o]<=0?e._incidentOccurred(\"E2009\",o):a.push([t[n],t[i],t[o]]):e._incidentOccurred(\"E2008\",i):e._incidentOccurred(\"E2008\",n):e._incidentOccurred(\"E2007\",o):e._incidentOccurred(\"E2007\",i):e._incidentOccurred(\"E2007\",n)})),a},_buildLayout:function(){var e=this,t=this,n=t._getData(),o=this._rect,l=t._getOption(\"node\"),u=t._getOption(\"sortData\"),d=t._getOption(\"layoutBuilder\",!0)||s.layout,c={x:o[0],y:o[1],width:o[2]-o[0],height:o[3]-o[1]},h=d.computeLayout(n,u,{availableRect:c,nodePadding:l.padding,nodeWidth:l.width,nodeAlign:t._getOption(\"alignment\",!0)},t._incidentOccurred);if(t._layoutMap=h,!Object.prototype.hasOwnProperty.call(h,\"error\")){var p={},g=0,m=t._getOption(\"link\"),_=h.nodes.map((function(e){return e.length})).reduce((function(e,t){return e+t}),0),v=t._themeManager.createPalette(t._getOption(\"palette\",!0),{useHighlight:!0,extensionMode:t._getOption(\"paletteExtensionMode\",!0),count:_});t._nodes=[],t._links=[],t._gradients.forEach((function(e){e.dispose()})),t._gradients=[],t._shadowFilter&&t._shadowFilter.dispose(),h.nodes.forEach((function(e){e.forEach((function(e){var n=l.color||v.getNextColor(),i=new a.default(t,{id:g,color:n,rect:e,options:l,linksIn:f(h,e._name,\"in\"),linksOut:f(h,e._name,\"out\")});t._nodes.push(i),g++,p[e._name]=n}))})),h.links.forEach((function(n){var o=null;m.colorMode===i.COLOR_MODE_GRADIENT&&(o=t._renderer.linearGradient([{offset:\"0%\",\"stop-color\":p[n._from._name]},{offset:\"100%\",\"stop-color\":p[n._to._name]}]),e._gradients.push(o));var a=m.color;m.colorMode===i.COLOR_MODE_SOURCE?a=p[n._from._name]:m.colorMode===i.COLOR_MODE_TARGET&&(a=p[n._to._name]);var s=new r.default(t,{d:n.d,boundingRect:n._boundingRect,color:a,options:m,connection:{source:n._from._name,target:n._to._name,weight:n._weight},gradient:o});t._links.push(s)})),t._renderer.initDefsElements(),t._change([\"NODES_DRAW\",\"LINKS_DRAW\",\"LABELS\"])}t._change([\"DRAWN\"])},_applyLabelsAppearance:function(){var e=this,t=e._getOption(\"label\"),n=e._rect[2]-e._rect[0],i=e._getOption(\"node\");if(e._shadowFilter=e._renderer.shadowFilter(\"-50%\",\"-50%\",\"200%\",\"200%\").attr(t.shadow),e._groupLabels.clear(),e._drawLabels&&t.visible){var o=(n-(i.width+t.horizontalOffset)-e._layoutMap.cascades.length*i.width)/(e._layoutMap.cascades.length-1)-t.horizontalOffset;e._nodes.forEach((function(n){e._createLabel(n,t,e._shadowFilter.id),function(e,t,n,i){e._label.getBBox().width>n&&e.labelText.applyEllipsis(n);var o=e._label.getBBox(),a=t.verticalOffset,r=t.horizontalOffset,s=Math.round(e.rect.y+e.rect.height/2-o.y-o.height/2)+a,l=e.rect.x+r+e.rect.width-o.x;l+o.width>=i[2]-i[0]&&(l=e.rect.x-r-o.x-o.width),s>=i[3]&&(s=i[3]),s-o.height<i[1]&&(s=e.rect.y-o.y+a),e.labelText.attr({translateX:l,translateY:s})}(n,t,o,e._rect)})),\"none\"!==t.overlappingBehavior&&e._nodes.forEach((function(n){var i=n._label.getBBox();e._nodes.forEach((function(e){var o=e._label.getBBox();n.id!==e.id&&s.layout.overlap(i,o)&&(\"ellipsis\"===t.overlappingBehavior?n.labelText.applyEllipsis(o.x-i.x):\"hide\"===t.overlappingBehavior&&n.labelText.remove())}))}))}},_createLabel:function(e,t,n){var i=t.customizeText(e),o=e.getLabelAttributes(t,n);i&&(e._label=this._renderer.g().append(this._groupLabels),e.labelText=this._renderer.text(i).attr(o.attr).css(o.css),e.labelText.append(e._label))},_getMinSize:function(){var e=this._getOption(\"adaptiveLayout\");return[e.width,e.height]},getAllNodes:function(){return this._nodes.slice()},getAllLinks:function(){return this._links.slice()}});(0,d.default)(\"dxSankey\",p);var g=p;t.default=g,p.addPlugin(c.plugin),e.exports=t.default,e.exports.default=t.default},38516:function(e,t,n){t.setTooltipCustomOptions=function(e){e.prototype._setTooltipOptions=function(){var e,t,n=this._tooltip,o=n&&this._getOption(\"tooltip\");o.linkTooltipTemplate&&(e=this._getTemplate(o.linkTooltipTemplate)),o.nodeTooltipTemplate&&(t=this._getTemplate(o.nodeTooltipTemplate)),n&&n.update((0,i.extend)({},o,{customizeTooltip:function(i){e&&\"link\"===i.type||t&&\"node\"===i.type||(i.skipTemplate=!0);var r=function(e){return n.formatValue(e)};return\"node\"===i.type?a(o.customizeNodeTooltip,function(e){return function(t){return{html:\"<strong>\".concat(t.label,\"</strong><br/>Incoming weight: \").concat(e(t.weightIn),\"<br/>Outgoing weight: \").concat(e(t.weightOut))}}}(r))(i.info):\"link\"===i.type?a(o.customizeLinkTooltip,function(e){return function(t){return{html:\"<strong>\".concat(t.source,\" > \").concat(t.target,\"</strong><br/>Weight: \").concat(e(t.weight))}}}(r))(i.info):{}},contentTemplate:function(n,i){var o={model:n.info,container:i};return e&&\"link\"===n.type?e.render(o):t&&\"node\"===n.type?t.render(o):void 0},enabled:o.enabled}))},e.prototype.hideTooltip=function(){this._tooltip&&this._tooltip.hide()}};var i=n(13306),o=n(35922),a=function(e,t){return function(n){var a=(0,o.isFunction)(e)?e.call(n,n):{},r=Object.prototype.hasOwnProperty.bind(a);return r(\"html\")||r(\"text\")||(a=(0,i.extend)(a,t.call(n,n))),a}}},29823:function(e,t,n){t.plugin=void 0;var i,o=(i=n(66422))&&i.__esModule?i:{default:i},a=n(88997);var r=o.default.prototype,s=0;r._eventsMap.onNodeClick={name:\"nodeClick\"},r._eventsMap.onLinkClick={name:\"linkClick\"};var l={name:\"tracker\",init:function(){var e=this,t=\"__sankey_data_\"+s++;e._tracker=new a.Tracker({widget:e,root:e._renderer.root,getData:function(e){return e.target[t]},getNode:function(t){return t<e._nodes.length?e._nodes[t]:e._links[t-e._nodes.length]},click:function(t){var n=this.getData(t.event)<e._nodes.length?\"nodeClick\":\"linkClick\";e._eventTrigger(n,{target:t.node,event:t.event})}}),this._dataKey=t},dispose:function(){this._tracker.dispose()},extenders:{_change_LINKS_DRAW:function(){var e=this._dataKey;this._nodes.concat(this._links).forEach((function(t,n){t.element.data(e,n)}))}}};t.plugin=l},90048:function(e,t,n){t.polar=t.chart=void 0;var i=n(48013),o=n(13306),a=n(21667),r=n(7222),s=n(19157),l=r.chart.line,u=r.polar.line,d=o.extend,c=r.chart.spline._calculateBezierPoints,h={};t.chart=h;var f={};t.polar=f;var p={_createBorderElement:l._createMainElement,_createLegendState:function(e,t){return{fill:(0,s.extractColor)(e.color)||t,opacity:e.opacity,hatching:e.hatching,filter:e.highlight}},_getColorId:function(e){var t;return null===(t=e.color)||void 0===t?void 0:t.fillId},getValueRangeInitialValue:function(){return\"logarithmic\"!==this.valueAxisType&&\"datetime\"!==this.valueType&&!1!==this.showZero?0:a.chart.getValueRangeInitialValue.call(this)},_getDefaultSegment:function(e){var t=l._getDefaultSegment(e);return t.area=t.line.concat(t.line.slice().reverse()),t},_updateElement:function(e,t,n,i){var o={points:t.line},a={points:t.area},r=e.line;n?(r&&r.animate(o),e.area.animate(a,{},i)):(r&&r.attr(o),e.area.attr(a))},_removeElement:function(e){e.line&&e.line.remove(),e.area.remove()},_drawElement:function(e){return{line:this._bordersGroup&&this._createBorderElement(e.line,{\"stroke-width\":this._styles.normal.border[\"stroke-width\"]}).append(this._bordersGroup),area:this._createMainElement(e.area).append(this._elementsGroup)}},_applyStyle:function(e){this._elementsGroup&&this._elementsGroup.smartAttr(e.elements),this._bordersGroup&&this._bordersGroup.attr(e.border),(this._graphics||[]).forEach((function(t){t.line&&t.line.attr({\"stroke-width\":e.border[\"stroke-width\"]}).sharp()}))},_parseStyle:function(e,t,n){var i,o=e.border||{},a=l._parseLineOptions(o,n);return a.stroke=o.visible&&a[\"stroke-width\"]?a.stroke:\"none\",a[\"stroke-width\"]=a[\"stroke-width\"]||1,{border:a,elements:{stroke:\"none\",fill:(0,s.extractColor)(e.color)||t,hatching:e.hatching,opacity:e.opacity,filter:null!==(i=e.highlight)&&void 0!==i?i:null}}},_areBordersVisible:function(){var e=this._options;return e.border.visible||e.hoverStyle.border.visible||e.selectionStyle.border.visible},_createMainElement:function(e,t){return this._renderer.path(e,\"area\").attr(t)},_getTrackerSettings:function(e){return{\"stroke-width\":e.singlePointSegment?this._defaultTrackerWidth:0}},_getMainPointsFromSegment:function(e){return e.area}};var g=h.area=d({},l,p,{_prepareSegment:function(e,t){var n=this._processSinglePointsAreaSegment(e,t),i=function(e){return(0,s.map)(e,(function(e){return e.getCoords()})).concat((0,s.map)(e.slice().reverse(),(function(e){return e.getCoords(!0)})))}(n),o=this.getArgumentAxis();if(o.getAxisPosition){var a=o.getAxisPosition(),r=o.getOptions(),l=(t?1:-1)*Math.round(r.width/2);r.visible&&i.forEach((function(n,r){if(n){var s=1===e.length?0:r<e.length?r:i.length-1-r;t&&n.x===e[s].defaultX&&n.x===a-o.getAxisShift()&&(n.x+=l),!t&&n.y===e[s].defaultY&&n.y===a-o.getAxisShift()&&(n.y+=l)}}))}return{line:n,area:i,singlePointSegment:n!==e}},_processSinglePointsAreaSegment:function(e,t){if(e&&1===e.length){var n=e[0],o=(0,i.clone)(n);return o[t?\"y\":\"x\"]+=1,o.argument=null,[n,o]}return e}});f.area=d({},u,p,{_prepareSegment:function(e,t,n){return n&&u._closeSegment.call(this,e),g._prepareSegment.call(this,e)},_processSinglePointsAreaSegment:function(e){return r.polar.line._prepareSegment.call(this,e).line}}),h.steparea=d({},g,{_prepareSegment:function(e,t){var n=r.chart.stepline;return e=g._processSinglePointsAreaSegment(e,t),g._prepareSegment.call(this,n._calculateStepLinePoints.call(this,e),t)},getSeriesPairCoord:r.chart.stepline.getSeriesPairCoord}),h.splinearea=d({},g,{_areaPointsToSplineAreaPoints:function(e){var t=e[e.length/2-1],n=e[e.length/2];e.splice(e.length/2,0,{x:t.x,y:t.y},{x:n.x,y:n.y})},_prepareSegment:function(e,t){var n=g._processSinglePointsAreaSegment(e,t),i=g._prepareSegment.call(this,c(n,t));return this._areaPointsToSplineAreaPoints(i.area),i.singlePointSegment=n!==e,i},_getDefaultSegment:function(e){var t=g._getDefaultSegment(e);return this._areaPointsToSplineAreaPoints(t.area),t},_createMainElement:function(e,t){return this._renderer.path(e,\"bezierarea\").attr(t)},_createBorderElement:r.chart.spline._createMainElement,getSeriesPairCoord:r.chart.spline.getSeriesPairCoord,_getNearestPoints:r.chart.spline._getNearestPoints,_getBezierPoints:r.chart.spline._getBezierPoints,obtainCubicBezierTCoef:r.chart.spline.obtainCubicBezierTCoef})},58821:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.polar=t.chart=void 0;var o=n(13306),a=n(95479),r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(21667)),s=n(90048),l=n(19157),u=n(35922);function d(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}var c=s.chart.area,h=r.chart,f=r.polar,p=o.extend,g=a.each,m={};t.chart=m;var _={};t.polar=_;var v={_createLegendState:function(e,t){return{fill:(0,l.extractColor)(e.color)||t,hatching:e.hatching,filter:e.highlight}},_getColorId:c._getColorId,_parsePointStyle:function(e,t,n){var i=(0,l.extractColor)(e.color)||t,o=h._parsePointStyle.call(this,e,i,n);return o.fill=i,o.hatching=e.hatching,o.filter=e.highlight,o.dashStyle=e.border&&e.border.dashStyle||\"solid\",delete o.r,o},_applyMarkerClipRect:function(e){e[\"clip-path\"]=null},_setGroupsSettings:function(e,t){var n=this,i={};h._setGroupsSettings.apply(n,arguments),e&&t?i=this._getAffineCoordOptions():e||(i={scaleX:1,scaleY:1,translateX:0,translateY:0}),n._markersGroup.attr(i)},_drawPoint:function(e){e.hasAnimation=e.hasAnimation&&!e.firstDrawing,e.firstDrawing=!1,h._drawPoint.call(this,e)},_getMainColor:function(){return this._options.mainSeriesColor},_createPointStyles:function(e){var t,n=(0,l.extractColor)(e.color,!0)||this._getMainColor(),i=null===(t=e.color)||void 0===t?void 0:t.fillId,o=e.hoverStyle||{},a=e.selectionStyle||{};return i&&this._turnOffHatching(o,a),{labelColor:n,normal:this._parsePointStyle(e,n,n),hover:this._parsePointStyle(o,i||n,n),selection:this._parsePointStyle(a,i||n,n)}},_updatePointsVisibility:function(){var e=this._options.visible;(0,a.each)(this._points,(function(t,n){n._options.visible=e}))},_getOptionsForPoint:function(){return this._options},_animate:function(e){var t=this;t._animatePoints(e,(function(){t._animateComplete()}),(function(e,t){var n=e.length-1;g(e||[],(function(e,i){i.animate(e===n?t:void 0,i.getMarkerCoords())}))}))},getValueRangeInitialValue:c.getValueRangeInitialValue,_patchMarginOptions:function(e){var t;return e.checkInterval=!this.useAggregation()||(null===(t=this.getArgumentAxis())||void 0===t?void 0:t.aggregatedPointBetweenTicks()),e},_defaultAggregator:\"sum\",_defineDrawingState:function(){},usePointsToDefineAutoHiding:function(){return!1}};m.bar=p({},h,v,{_getAffineCoordOptions:function(){var e=this._options.rotated,t={scaleX:e?.001:1,scaleY:e?1:.001};return t[\"translate\"+(e?\"X\":\"Y\")]=this.getValueAxis().getTranslator().translate(\"canvas_position_default\"),t},_animatePoints:function(e,t,n){this._markersGroup.animate({scaleX:1,scaleY:1,translateY:0,translateX:0},void 0,t),e||n(this._drawnPoints,t)},checkSeriesViewportCoord:function(e,t){if(!h.checkSeriesViewportCoord.call(this))return!1;if(e.isArgumentAxis)return!0;var n=e.getTranslator(),i=this.getViewport(),o=n.translate(i.categories?i.categories[0]:i.min),a=n.translate(i.categories?i.categories[i.categories.length-1]:i.max),r=this.getOptions().rotated,s=e.getOptions().inverted;return r&&!s||!r&&s?t>=o&&t<=a:t>=a&&t<=o},getSeriesPairCoord:function(e,t){for(var n=null,i=this._options.rotated,o=!t&&!i||t&&i,a=o?\"vy\":\"vx\",r=o?\"vx\":\"vy\",s=this.getPoints(),l=0;l<s.length;l++){var u=s[l],d=void 0;if(d=t?u.getCenterCoord()[a[1]]===e?u[r]:void 0:u[a]===e?u[r]:void 0,this._checkAxisVisibleAreaCoord(!t,d)){n=d;break}}return n}}),_.bar=p({},f,v,{_animatePoints:function(e,t,n){n(this._drawnPoints,t)},_setGroupsSettings:h._setGroupsSettings,_drawPoint:function(e,t,n){h._drawPoint.call(this,e,t,n)},_parsePointStyle:function(e){var t=v._parsePointStyle.apply(this,arguments);return t.opacity=e.opacity,t},_createGroups:h._createGroups,_setMarkerGroupSettings:function(){var e=this._createPointStyles(this._getMarkerGroupOptions()).normal;e.class=\"dxc-markers\",this._applyMarkerClipRect(e);var t=p({},e);delete t.opacity,this._markersGroup.attr(t)},getSeriesPairCoord:function(e,t){for(var n=null,i=t?\"argument\":\"radius\",o=this.getVisiblePoints(),a=this.getArgumentAxis(),r=a.getAngles()[0],s=0;s<o.length;s++){var d=o[s],c=(0,u.isDefined)(d[i])&&(0,u.isDefined)(e[i])&&d[i].valueOf()===e[i].valueOf()?(0,l.convertPolarToXY)(a.getCenter(),r,-a.getTranslatedAngle(d.angle),d.radius):void 0;if((0,u.isDefined)(c)){n=c;break}}return n},_createLegendState:c._createLegendState})},54932:function(e,t,n){function i(e){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}t.Series=V,t.mixins=void 0;var o=n(35922),a=n(13306),r=n(95479),s=n(54497),l=n(19157),u=n(20576),d=C(n(32410)),c=C(n(63407)),h=w(n(21667)),f=w(n(7222)),p=w(n(90048)),g=w(n(58821)),m=n(57402),_=n(64216),v=w(n(80610)),y=w(n(29788)),b=w(n(92057));function x(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(x=function(e){return e?n:t})(e)}function w(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||\"object\"!==i(e)&&\"function\"!=typeof e)return{default:e};var n=x(t);if(n&&n.has(e))return n.get(e);var o={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if(\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var s=a?Object.getOwnPropertyDescriptor(e,r):null;s&&(s.get||s.set)?Object.defineProperty(o,r,s):o[r]=e[r]}return o.default=e,n&&n.set(e,o),o}function C(e){return e&&e.__esModule?e:{default:e}}var S={},k=d.default.states,D=k.selectedMark,I=k.hoverMark,T=k.hover,E=k.normal,O=k.selection,A=k.applySelected,P=k.applyHover,M=k.resetItem;function R(e,t,n){e&&e.trigger(t,n)}function B(e){return\"includepoints\"===(e=(0,l.normalizeEnum)(e))||\"allseriespoints\"===e}function L(e,t){var n=(0,a.extend)({},e,t);return n.border=(0,a.extend)({},e&&e.border,t&&t.border),n}function V(e,t){this.fullState=0,this._extGroups=e,this._renderer=e.renderer,this._group=e.renderer.g().attr({class:\"dxc-series\"}),this._eventTrigger=e.eventTrigger,this._eventPipe=e.eventPipe,this._incidentOccurred=e.incidentOccurred,this._legendCallback=u.noop,this.updateOptions(t,e)}function F(e){return e.data}function H(e,t){return t&&\"logarithmic\"===e&&!1===t.getOptions().allowNegatives?function(e){return e>0}:function(){return!0}}S.mixins={chart:{},pie:{},polar:{}},S.mixins.chart.scatter=h.chart,S.mixins.polar.scatter=h.polar,(0,a.extend)(S.mixins.pie,v),(0,a.extend)(S.mixins.chart,f.chart,p.chart,g.chart,m.chart,_.chart,y,b.chart),(0,a.extend)(S.mixins.polar,f.polar,p.polar,g.polar,b.polar),V.prototype={constructor:V,_createLegendState:u.noop,getLegendStyles:function(){return this._styles.legendStyles},_createStyles:function(e){var t=e.mainSeriesColor,n=this._getColorId(e),i=e.hoverStyle||{},o=e.selectionStyle||{};n&&this._turnOffHatching(i,o),this._styles={labelColor:t,normal:this._parseStyle(e,t,t),hover:this._parseStyle(i,n||t,t),selection:this._parseStyle(o,n||t,t),legendStyles:{normal:this._createLegendState(e,n||t),hover:this._createLegendState(i,n||t),selection:this._createLegendState(o,n||t)}}},setClippingParams:function(e,t,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];this._paneClipRectID=e,this._widePaneClipRectID=t,this._forceClipping=n,this._clipLabels=i},applyClip:function(){this._group.attr({\"clip-path\":this._paneClipRectID})},resetClip:function(){this._group.attr({\"clip-path\":null})},getTagField:function(){return this._options.tagField||\"tag\"},getValueFields:u.noop,getSizeField:u.noop,getArgumentField:u.noop,getPoints:function(){return this._points},getPointsInViewPort:function(){return c.default.getPointsInViewPort(this)},_createPoint:function(e,t,n){e.index=t;var i=this.pointsByArgument,o=this._getCreatingPointOptions(e),a=e.argument.valueOf(),r=n;r?r.update(e,o):(r=new s.Point(this,e,o),this.isSelected()&&B(this.lastSelectionMode)&&r.setView(O));var l=i[a];return l?l.push(r):i[a]=[r],r.hasValue()&&this.customizePoint(r,e),r},getRangeData:function(){return this._visible?this._getRangeData():{arg:{},val:{}}},getArgumentRange:function(){return this._visible?c.default.getArgumentRange(this):{arg:{},val:{}}},getViewport:function(){return c.default.getViewport(this)},_deleteGroup:function(e){var t=this[e];t&&(t.dispose(),this[e]=null)},updateOptions:function(e,t){var n=e.widgetType,i=this.type,o=e.type;if(this.type=o&&(0,l.normalizeEnum)(o.toString()),!this._checkType(n)||this._checkPolarBarType(n,e))return this.dispose(),void(this.isUpdated=!1);i!==this.type?(this._firstDrawing=!0,this._resetType(i,n),this._setType(this.type,n)):this._defineDrawingState(),this._options=e,this._pointOptions=null,this.name=e.name,this.pane=e.pane,this.tag=e.tag,t&&(this._seriesModes=t.commonSeriesModes||this._seriesModes,this._valueAxis=t.valueAxis||this._valueAxis,this.axis=this._valueAxis&&this._valueAxis.name,this._argumentAxis=t.argumentAxis||this._argumentAxis),this._createStyles(e),this._stackName=null,this._updateOptions(e),this._visible=e.visible,this.isUpdated=!0,this.stack=e.stack,this.barOverlapGroup=e.barOverlapGroup,this._createGroups(),this._processEmptyValue=e.ignoreEmptyPoints?function(e){return null===e?void 0:e}:function(e){return e}},_defineDrawingState:function(){this._firstDrawing=!0},_disposePoints:function(e){(0,r.each)(e||[],(function(e,t){t.dispose()}))},updateDataType:function(e){return this.argumentType=e.argumentType,this.valueType=e.valueType,this.argumentAxisType=e.argumentAxisType,this.valueAxisType=e.valueAxisType,this.showZero=e.showZero,this._argumentChecker=H(e.argumentAxisType,this.getArgumentAxis()),this._valueChecker=H(e.valueAxisType,this.getValueAxis()),this},_argumentChecker:function(){return!0},_valueChecker:function(){return!0},getOptions:function(){return this._options},_getOldPoint:function(e,t,n){var i=e.argument&&e.argument.valueOf(),o=(t[i]||[])[0];return o&&t[i].splice(0,1),o},updateData:function(e){var t=this._options,n=t.nameField;(e=e||[]).length&&(this._canRenderCompleteHandle=!0);var i=this._getPointDataSelector(),a=0;this._data=e.reduce((function(e,r,s){var l=i(r);return(0,o.isDefined)(l.argument)?n&&r[n]!==t.nameFieldValue||(l.index=s,e.push(l)):a++,e}),[]),a&&a===e.length&&this._incidentOccurred(\"W2002\",[this.name,this.getArgumentField()]),this._endUpdateData()},_getData:function(){var e=this._data||[];if(this.useAggregation()){var t=\"discrete\"!==this.argumentAxisType?this.getArgumentRange():{},n=this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints,t);e=this._resample(n,e)}return e},useAggregation:function(){var e=this.getOptions().aggregation;return e&&e.enabled},autoHidePointMarkersEnabled:u.noop,usePointsToDefineAutoHiding:u.noop,createPoints:function(e){this._normalizeUsingAllAggregatedPoints(e),this._createPoints()},_normalizeUsingAllAggregatedPoints:function(e){this._useAllAggregatedPoints=this.useAggregation()&&(\"discrete\"===this.argumentAxisType||(this._data||[]).length>1&&!!e)},_createPoints:function(){var e=this,t=e.pointsByArgument||{},n=e._getData();e.pointsByArgument={},e._calculateErrorBars(n);var i={},o=n.reduce((function(n,o){if(e._checkData(o,i)){var a=n.length,r=e._getOldPoint(o,t,a),s=e._createPoint(o,a,r);n.push(s)}return n}),[]);for(var a in i)i[a]===n.length&&e._incidentOccurred(\"W2002\",[e.name,a]);Object.keys(t).forEach((function(n){return e._disposePoints(t[n])})),e._points=o},_removeOldSegments:function(){var e=this,t=e._segments.length;(0,r.each)(e._graphics.splice(t,e._graphics.length)||[],(function(t,n){e._removeElement(n)})),e._trackers&&(0,r.each)(e._trackers.splice(t,e._trackers.length)||[],(function(e,t){t.remove()}))},_prepareSegmentsPosition:function(){var e=this._points||[],t=e[0]&&e[0].hasValue()&&this._options.closed,n=e.reduce((function(e,t){var n=e.at(-1);return t.translated||t.setDefaultCoords(),t.hasValue()&&t.hasCoords()?n.push(t):!t.hasValue()&&n.length&&e.push([]),e}),[[]]);this._drawSegments(n,t,!1)},_drawElements:function(e,t){var n=this,i=n._points||[],o=i[0]&&i[0].hasValue()&&n._options.closed,a={markers:n._markersGroup,errorBars:n._errorBarGroup};n._drawnPoints=[],n._graphics=n._graphics||[],n._segments=[];var r=i.reduce((function(i,o){var r=i.at(-1);return o.hasValue()&&o.hasCoords()?(n._drawPoint({point:o,groups:a,hasAnimation:e,firstDrawing:t}),r.push(o)):o.hasValue()?o.setInvisibility():r.length&&i.push([]),i}),[[]]);n._drawSegments(r,o,e),n._firstDrawing=!i.length,n._removeOldSegments(),e&&n._animate(t)},_drawSegments:function(e,t,n){var i=this;e.forEach((function(o,a){if(o.length){var r=t&&a===e.length-1;i._drawSegment(o,n,a,r)}}))},draw:function(e,t,n){var i=this._firstDrawing;this._legendCallback=n||this._legendCallback,this._visible?(this._appendInGroup(),this._isAllPointsTranslated||this.prepareCoordinatesForPoints(),this._setGroupsSettings(e,i),!i&&!this._resetApplyingAnimation&&this._prepareSegmentsPosition(),this._drawElements(e,i),t&&this.hideLabels(),this.isSelected()?this._changeStyle(this.lastSelectionMode,void 0,!0):this.isHovered()?this._changeStyle(this.lastHoverMode,void 0,!0):this._applyStyle(this._styles.normal),this._isAllPointsTranslated=!1,this._resetApplyingAnimation=!1):this._group.remove()},_translatePoints:function(){var e;(null!==(e=this._points)&&void 0!==e?e:[]).forEach((function(e){e.translate()}))},prepareCoordinatesForPoints:function(){this._applyVisibleArea(),this._translatePoints(),this._isAllPointsTranslated=!0},_setLabelGroupSettings:function(e){var t={class:\"dxc-labels\",\"pointer-events\":\"none\"};this._clipLabels&&this._applyElementsClipRect(t),this._applyClearingSettings(t),e&&(t.opacity=.001),this._labelsGroup.attr(t).append(this._extGroups.labelsGroup)},_checkType:function(e){return!!S.mixins[e][this.type]},_checkPolarBarType:function(e,t){return\"polar\"===e&&t.spiderWidget&&-1!==this.type.indexOf(\"bar\")},_resetType:function(e,t){var n;if(e)for(n in S.mixins[t][e])delete this[n]},_setType:function(e,t){var n,i=S.mixins[t][e];for(n in i)this[n]=i[n]},_setPointsView:function(e,t){this.getPoints().forEach((function(n){t!==n&&n.setView(e)}))},_resetPointsView:function(e,t){this.getPoints().forEach((function(n){t!==n&&n.resetView(e)}))},_resetNearestPoint:function(){this._nearestPoint&&null!==this._nearestPoint.series&&this._nearestPoint.resetView(T),this._nearestPoint=null},_setSelectedState:function(e){this.lastSelectionMode=(0,l.normalizeEnum)(e||this._options.selectionMode),this.fullState=this.fullState|D,this._resetNearestPoint(),this._changeStyle(this.lastSelectionMode),\"none\"!==this.lastSelectionMode&&this.isHovered()&&B(this.lastHoverMode)&&this._resetPointsView(T)},_releaseSelectedState:function(){this.fullState=this.fullState&~D,this._changeStyle(this.lastSelectionMode,O),\"none\"!==this.lastSelectionMode&&this.isHovered()&&B(this.lastHoverMode)&&this._setPointsView(T)},isFullStackedSeries:function(){return 0===this.type.indexOf(\"fullstacked\")},isStackedSeries:function(){return 0===this.type.indexOf(\"stacked\")},resetApplyingAnimation:function(e){this._resetApplyingAnimation=!0,e&&(this._firstDrawing=!0)},isFinancialSeries:function(){return\"stock\"===this.type||\"candlestick\"===this.type},_canChangeView:function(){return!this.isSelected()&&\"none\"!==(0,l.normalizeEnum)(this._options.hoverMode)},_changeStyle:function(e,t,n){var i=this.fullState,o=[E,T,O,O];\"none\"===this.lastHoverMode&&(i&=~I),\"none\"===this.lastSelectionMode&&(i&=~D),B(e)&&!n&&(t?this._resetPointsView(t):this._setPointsView(o[i])),this._legendCallback([M,P,A,A][i]),this._applyStyle(this._styles[o[i]])},updateHover:function(e,t){var n=this._nearestPoint,i=this.isHovered()&&\"nearestpoint\"===this.lastHoverMode&&this.getNeighborPoint(e,t);i===n||this.isSelected()&&\"none\"!==this.lastSelectionMode||(this._resetNearestPoint(),i&&(i.setView(T),this._nearestPoint=i))},_getMainAxisName:function(){return this._options.rotated?\"X\":\"Y\"},areLabelsVisible:function(){return!(0,o.isDefined)(this._options.maxLabelCount)||this._points.length<=this._options.maxLabelCount},getLabelVisibility:function(){return this.areLabelsVisible()&&this._options.label&&this._options.label.visible},customizePoint:function(e,t){var n,i,r,s,l,u,d=this._options,c=d.customizePoint,h=d.customizeLabel;h&&h.call&&((n=(0,a.extend)({seriesName:this.name},t)).series=this,r=(l=(r=h.call(n,n))&&!(0,o.isEmptyObject)(r))?(0,a.extend)(!0,{},d.label,r):null),c&&c.call&&((n=n||(0,a.extend)({seriesName:this.name},t)).series=this,u=(s=c.call(n,n))&&!(0,o.isEmptyObject)(s)),(l||u)&&((i=this._parsePointOptions(this._preparePointOptions(s),r||d.label,t,e)).styles.useLabelCustomOptions=l,i.styles.usePointCustomOptions=u,e.updateOptions(i))},show:function(){this._visible||this._changeVisibility(!0)},hide:function(){this._visible&&this._changeVisibility(!1)},_changeVisibility:function(e){this._visible=this._options.visible=e,this._updatePointsVisibility(),this.hidePointTooltip(),this._options.visibilityChanged(this)},_updatePointsVisibility:u.noop,hideLabels:function(){(0,r.each)(this._points,(function(e,t){t._label.draw(!1)}))},_turnOffHatching:function(e,t){e.hatching&&(e.hatching.direction=\"none\"),t.hatching&&(t.hatching.direction=\"none\")},_parsePointOptions:function(e,t,n,i){var r=this._options,s=this._createPointStyles(e,n,i),u=(0,a.extend)({},e,{type:r.type,rotated:r.rotated,styles:s,widgetType:r.widgetType,visibilityChanged:r.visibilityChanged});return u.label=function(e,t){var n=e||{},i=(0,a.extend)({},n.font)||{},r=n.border||{},s=n.connector||{},u={fill:n.backgroundColor||t,\"stroke-width\":r.visible&&r.width||0,stroke:r.visible&&r.width?r.color:\"none\",dashStyle:r.dashStyle},d={stroke:s.visible&&s.width?s.color||t:\"none\",\"stroke-width\":s.visible&&s.width||0};return i.color=\"none\"===n.backgroundColor&&\"#ffffff\"===(0,l.normalizeEnum)(i.color)&&\"inside\"!==n.position?t:i.color,{alignment:n.alignment,format:n.format,argumentFormat:n.argumentFormat,customizeText:(0,o.isFunction)(n.customizeText)?n.customizeText:void 0,attributes:{font:i},visible:0!==i.size&&n.visible,showForZeroValues:n.showForZeroValues,horizontalOffset:n.horizontalOffset,verticalOffset:n.verticalOffset,radialOffset:n.radialOffset,background:u,position:n.position,connector:d,rotationAngle:n.rotationAngle,wordWrap:n.wordWrap,textOverflow:n.textOverflow,cssClass:n.cssClass,displayFormat:n.displayFormat}}(t,s.labelColor),this.areErrorBarsVisible()&&(u.errorBars=r.valueErrorBar),u},_preparePointOptions:function(e){var t,n,i,o=this._getOptionsForPoint();return e?((i=L(t=o,n=e)).image=(0,a.extend)(!0,{},t.image,n.image),i.selectionStyle=L(t.selectionStyle,n.selectionStyle),i.hoverStyle=L(t.hoverStyle,n.hoverStyle),i):o},_getMarkerGroupOptions:function(){return(0,a.extend)(!1,{},this._getOptionsForPoint(),{hoverStyle:{},selectionStyle:{}})},_getAggregationMethod:function(e,t){var n,i=this.getOptions().aggregation,o=(0,l.normalizeEnum)(i.method),a=\"custom\"===o&&i.calculate;return n=e&&!t?function(e){return e.data[0]}:this._aggregators[o]||this._aggregators[this._defaultAggregator],a||n},_resample:function(e,t){var n=e.interval,i=e.ticks,o=e.aggregateByCategory,a=this,r=\"discrete\"===a.argumentAxisType||\"discrete\"===a.valueAxisType,s=0,l=this._getPointDataSelector(),u=a.getOptions(),d=function(e,t,n){if(t){var i=function(t){var i=t&&l(t,u);i&&a._checkData(i)&&(i.aggregationInfo=n,e.push(i))};Array.isArray(t)?t.forEach(i):i(t)}},c=this._getAggregationMethod(r,o);if(r){if(o){var h=this.getArgumentAxis().getTranslator().getBusinessRange().categories,f=h.reduce((function(e,t){return e[t.valueOf()]=[],e}),{});return t.forEach((function(e){f[e.argument.valueOf()].push(e)})),h.reduce((function(e,t){return d(e,c({aggregationInterval:null,intervalStart:t,intervalEnd:t,data:f[t.valueOf()].map(F)},a)),e}),[])}return t.reduce((function(e,t,i,o){if(e[1].push(t),i===o.length-1||(i+1)%n==0){var r=e[1],s={aggregationInterval:n,data:r.map(F)};d(e[0],c(s,a)),e[1]=[]}return e}),[[],[]])[0]}var p=[];if(1===i.length){var g={intervalStart:i[0],intervalEnd:i[0],aggregationInterval:null,data:t.map(F)};d(p,c(g,a),g)}else for(var m=1;m<i.length;m++){for(var _=i[m],v=i[m-1],y=[];t[s]&&t[s].argument<_;)t[s].argument>=v&&y.push(t[s]),s++;var b={intervalStart:v,intervalEnd:_,aggregationInterval:n,data:y.map(F)};d(p,c(b,a),b)}return a._endUpdateData(),p},canRenderCompleteHandle:function(){var e=this._canRenderCompleteHandle;return delete this._canRenderCompleteHandle,!!e},isHovered:function(){return!!(1&this.fullState)},isSelected:function(){return!!(2&this.fullState)},isVisible:function(){return this._visible},getAllPoints:function(){return this._createAllAggregatedPoints(),(this._points||[]).slice()},getPointByPos:function(e){return this._createAllAggregatedPoints(),(this._points||[])[e]},getVisiblePoints:function(){return(this._drawnPoints||[]).slice()},selectPoint:function(e){e.isSelected()||(!function(e,t){e.fullState|=D,e.applyView(t)}(e,this._legendCallback),this._eventPipe({action:\"pointSelect\",target:e}),this._eventTrigger(\"pointSelectionChanged\",{target:e}))},deselectPoint:function(e){e.isSelected()&&(!function(e,t){e.fullState&=~D,e.applyView(t)}(e,this._legendCallback),this._eventPipe({action:\"pointDeselect\",target:e}),this._eventTrigger(\"pointSelectionChanged\",{target:e}))},hover:function(e){var t=this._eventTrigger;this.isHovered()||(this.lastHoverMode=(0,l.normalizeEnum)(e||this._options.hoverMode),this.fullState=this.fullState|I,this._changeStyle(this.lastHoverMode,void 0,this.isSelected()&&\"none\"!==this.lastSelectionMode),t(\"seriesHoverChanged\",{target:this}))},clearHover:function(){var e=this._eventTrigger;this.isHovered()&&(this._resetNearestPoint(),this.fullState=this.fullState&~I,this._changeStyle(this.lastHoverMode,T,this.isSelected()&&\"none\"!==this.lastSelectionMode),e(\"seriesHoverChanged\",{target:this}))},hoverPoint:function(e){e.isHovered()||(e.clearHover(),function(e,t){e.fullState|=I,e.applyView(t)}(e,this._legendCallback),this._canChangeView()&&this._applyStyle(this._styles.hover),this._eventPipe({action:\"pointHover\",target:e}),this._eventTrigger(\"pointHoverChanged\",{target:e}))},clearPointHover:function(){var e=this;e.getPoints().some((function(t){return!!t.isHovered()&&(n=t,i=e._legendCallback,n.fullState&=~I,n.applyView(i),n.releaseHoverState(),e._canChangeView()&&e._applyStyle(e._styles.normal),e._eventPipe({action:\"clearPointHover\",target:t}),e._eventTrigger(\"pointHoverChanged\",{target:t}),!0);var n,i}))},showPointTooltip:function(e){R(this._extGroups.seriesGroup,\"showpointtooltip\",e)},hidePointTooltip:function(e){R(this._extGroups.seriesGroup,\"hidepointtooltip\",e)},select:function(){this.isSelected()||(this._setSelectedState(this._options.selectionMode),this._eventPipe({action:\"seriesSelect\",target:this}),this._group.toForeground(),this._eventTrigger(\"seriesSelectionChanged\",{target:this}))},clearSelection:function(){this.isSelected()&&(this._releaseSelectedState(),this._eventTrigger(\"seriesSelectionChanged\",{target:this}))},getPointsByArg:function(e,t){var n=e.valueOf(),i=this.pointsByArgument[n];return i||t||!this._createAllAggregatedPoints()||(i=this.pointsByArgument[n]),i||[]},_createAllAggregatedPoints:function(){return!(!this.useAggregation()||this._useAllAggregatedPoints)&&(this.createPoints(!0),!0)},getPointsByKeys:function(e){return this.getPointsByArg(e)},notify:function(e){var t=this,n=e.action,i=t._seriesModes,o=e.target,a=o.getOptions(),r=(0,l.normalizeEnum)(a.hoverMode),s=(0,l.normalizeEnum)(a.selectionMode);\"pointHover\"===n?t._hoverPointHandler(o,r,e.notifyLegend):\"clearPointHover\"===n?t._clearPointHoverHandler(o,r,e.notifyLegend):\"seriesSelect\"===n?o!==t&&\"single\"===i.seriesSelectionMode&&t.clearSelection():\"pointSelect\"===n?(\"single\"===i.pointSelectionMode&&t.getPoints().some((function(e){return!(e===o||!e.isSelected())&&(t.deselectPoint(e),!0)})),t._selectPointHandler(o,s)):\"pointDeselect\"===n&&t._deselectPointHandler(o,s)},_selectPointHandler:function(e,t){\"allseriespoints\"===t?e.series===this&&this._setPointsView(O,e):\"allargumentpoints\"===t&&this.getPointsByKeys(e.argument,e.argumentIndex).forEach((function(t){t!==e&&t.setView(O)}))},_deselectPointHandler:function(e,t){\"allseriespoints\"===t?e.series===this&&this._resetPointsView(O,e):\"allargumentpoints\"===t&&this.getPointsByKeys(e.argument,e.argumentIndex).forEach((function(t){t!==e&&t.resetView(O)}))},_hoverPointHandler:function(e,t,n){e.series!==this&&\"allargumentpoints\"===t?(this.getPointsByKeys(e.argument,e.argumentIndex).forEach((function(e){e.setView(T)})),n&&this._legendCallback(e)):\"allseriespoints\"===t&&e.series===this&&this._setPointsView(T,e)},_clearPointHoverHandler:function(e,t,n){\"allargumentpoints\"===t?(e.series!==this&&this.getPointsByKeys(e.argument,e.argumentIndex).forEach((function(e){e.resetView(T)})),n&&this._legendCallback(e)):\"allseriespoints\"===t&&e.series===this&&this._resetPointsView(T,e)},_deletePoints:function(){this._disposePoints(this._points),this._points=this._drawnPoints=null},_deleteTrackers:function(){(0,r.each)(this._trackers||[],(function(e,t){t.remove()})),this._trackersGroup&&this._trackersGroup.dispose(),this._trackers=this._trackersGroup=null},dispose:function(){this._deletePoints(),this._group.dispose(),this._labelsGroup&&this._labelsGroup.dispose(),this._errorBarGroup&&this._errorBarGroup.dispose(),this._deleteTrackers(),this._group=this._extGroups=this._markersGroup=this._elementsGroup=this._bordersGroup=this._labelsGroup=this._errorBarGroup=this._graphics=this._rangeData=this._renderer=this._styles=this._options=this._pointOptions=this._drawnPoints=this.pointsByArgument=this._segments=this._prevSeries=null},correctPosition:u.noop,drawTrackers:u.noop,getNeighborPoint:u.noop,areErrorBarsVisible:u.noop,_getColorId:u.noop,getMarginOptions:function(){return this._patchMarginOptions({percentStick:this.isFullStackedSeries()})},getColor:function(){return this.getLegendStyles().normal.fill},getOpacity:function(){return this._options.opacity},getStackName:function(){return this._stackName},getBarOverlapGroup:function(){return this._options.barOverlapGroup},getPointByCoord:function(e,t){var n=this.getNeighborPoint(e,t);return null!=n&&n.coordsIn(e,t)?n:null},getValueAxis:function(){return this._valueAxis},getArgumentAxis:function(){return this._argumentAxis},getMarkersGroup:function(){return this._markersGroup},getRenderer:function(){return this._renderer},removePointElements:function(){this._markersGroup&&((0,r.each)(this._points,(function(e,t){return t.deleteMarker()})),this._markersGroup.dispose(),this._markersGroup=null)},removeGraphicElements:function(){var e=this;e._elementsGroup&&(e._elementsGroup.dispose(),e._elementsGroup=null),(0,r.each)(e._graphics||[],(function(t,n){e._removeElement(n)})),e._graphics=null},removeBordersGroup:function(){this._bordersGroup&&(this._bordersGroup.dispose(),this._bordersGroup=null)}};var N=S.mixins;t.mixins=N},64216:function(e,t,n){t.chart=void 0;var i=n(7222),o=n(21667),a=n(90048),r=n(58821),s=n(13306),l=n(95479),u=n(20576);function d(e){return(d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==d(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=i.chart.line,f=a.chart.area,p=r.chart.bar,g=r.polar.bar,m=s.extend,_=l.each,v=u.noop,y={};t.chart=y,y.bubble=m({},o.chart,{_calculateErrorBars:v,_getMainColor:p._getMainColor,_createPointStyles:p._createPointStyles,_updatePointsVisibility:p._updatePointsVisibility,_getOptionsForPoint:p._getOptionsForPoint,_applyMarkerClipRect:h._applyElementsClipRect,_parsePointStyle:g._parsePointStyle,_createLegendState:f._createLegendState,_getColorId:f._getColorId,_setMarkerGroupSettings:g._setMarkerGroupSettings,areErrorBarsVisible:v,_createErrorBarGroup:v,_checkData:function(e,t){return o.chart._checkData.call(this,e,t,{value:this.getValueFields()[0],size:this.getSizeField()})},_getPointDataSelector:function(e,t){var n=this.getSizeField(),i=o.chart._getPointDataSelector.call(this);return function(e){var t=i(e);return t.size=e[n],t}},_aggregators:{avg:function(e,t){var n,i=e.data,o=e.intervalStart,a=e.intervalEnd;if(i.length){var r=t.getValueFields()[0],s=t.getSizeField(),l=i.reduce((function(e,t){return e[0]+=t[r],e[1]+=t[s],e[2]++,e}),[0,0,0]);return c(n={},r,l[0]/l[2]),c(n,s,l[1]/l[2]),c(n,t.getArgumentField(),t._getIntervalCenter(o,a)),n}}},getValueFields:function(){return[this._options.valueField||\"val\"]},getSizeField:function(){return this._options.sizeField||\"size\"},_animate:function(){var e=this,t=e._drawnPoints.length-1,n=e._labelsGroup,i=function(){n&&n.animate({opacity:1},{duration:e._defaultDuration})};_(e._drawnPoints||[],(function(e,n){n.animate(e===t?i:void 0,{r:n.bubbleSize,translateX:n.x,translateY:n.y})}))},_patchMarginOptions:function(e){return e.processBubbleSize=!0,e}})},29788:function(e,t,n){t.stock=t.candlestick=void 0;var i=n(21667),o=n(58821),a=n(13306),r=n(35922),s=n(19157),l=n(20576),u=o.chart.bar,d=(0,a.extend)({},i.chart,{_animate:l.noop,_applyMarkerClipRect:function(e){e[\"clip-path\"]=this._forceClipping?this._paneClipRectID:this._widePaneClipRectID},_updatePointsVisibility:u._updatePointsVisibility,_getOptionsForPoint:u._getOptionsForPoint,_createErrorBarGroup:l.noop,areErrorBarsVisible:l.noop,_createGroups:i.chart._createGroups,_setMarkerGroupSettings:function(){var e=this._markersGroup,t=this._createPointStyles(this._getMarkerGroupOptions()),n=(0,a.extend)(t.normal,{class:\"default-markers\"}),i=(0,a.extend)(t.positive.normal,{class:\"default-positive-markers\"}),o=(0,a.extend)(t.reduction.normal,{class:\"reduction-markers\"}),r=(0,a.extend)(t.reductionPositive.normal,{class:\"reduction-positive-markers\"}),s={class:\"dxc-markers\"};this._applyMarkerClipRect(s),e.attr(s),this._createGroup(\"defaultMarkersGroup\",e,e,n),this._createGroup(\"reductionMarkersGroup\",e,e,o),this._createGroup(\"defaultPositiveMarkersGroup\",e,e,i),this._createGroup(\"reductionPositiveMarkersGroup\",e,e,r)},_setGroupsSettings:function(){i.chart._setGroupsSettings.call(this,!1)},_getCreatingPointOptions:function(){var e,t=this._predefinedPointOptions;return t||(e=this._getPointOptions(),this._predefinedPointOptions=t=(0,a.extend)(!0,{styles:{}},e),t.styles.normal=t.styles.positive.normal=t.styles.reduction.normal=t.styles.reductionPositive.normal={\"stroke-width\":e.styles&&e.styles.normal&&e.styles.normal[\"stroke-width\"]}),t},_checkData:function(e,t){var n=this.getValueFields();return i.chart._checkData.call(this,e,t,{openValue:n[0],highValue:n[1],lowValue:n[2],closeValue:n[3]})&&e.highValue==e.highValue&&e.lowValue==e.lowValue},_getPointDataSelector:function(e,t){var n,i,o=this,a=this,l=a.getValueFields(),u=a.getArgumentField(),d=l[0],c=l[1],h=l[2],f=l[3];switch(a.level=a._options.reduction.level,(0,s.normalizeEnum)(a.level)){case\"open\":n=d;break;case\"high\":n=c;break;case\"low\":n=h;break;default:n=f,a.level=\"close\"}return function(e){var t=e[n],s=!1;return(0,r.isDefined)(t)&&((0,r.isDefined)(i)&&(s=t<i),i=t),{argument:e[u],highValue:o._processEmptyValue(e[c]),lowValue:o._processEmptyValue(e[h]),closeValue:o._processEmptyValue(e[f]),openValue:o._processEmptyValue(e[d]),reductionValue:t,tag:e[a.getTagField()],isReduction:s,data:e}}},_parsePointStyle:function(e,t,n){var i=(0,s.extractColor)(e.color,!0);return{stroke:i||t,\"stroke-width\":e.width,fill:i||n}},_getDefaultStyle:function(e){var t=(0,s.extractColor)(e.color,!0)||this._options.mainSeriesColor;return{normal:this._parsePointStyle(e,t,t),hover:this._parsePointStyle(e.hoverStyle,t,t),selection:this._parsePointStyle(e.selectionStyle,t,t)}},_getReductionStyle:function(e){var t=e.reduction.color;return{normal:this._parsePointStyle({color:t,width:e.width,hatching:e.hatching},t,t),hover:this._parsePointStyle(e.hoverStyle,t,t),selection:this._parsePointStyle(e.selectionStyle,t,t)}},_createPointStyles:function(e){var t=this._options.innerColor,n=this._getDefaultStyle(e),i=(0,a.extend)(!0,{},n),o=this._getReductionStyle(e),r=(0,a.extend)(!0,{},o);return i.normal.fill=i.hover.fill=i.selection.fill=t,r.normal.fill=r.hover.fill=r.selection.fill=t,n.positive=i,n.reduction=o,n.reductionPositive=r,n.labelColor=t,n},_endUpdateData:function(){delete this._predefinedPointOptions},_defaultAggregator:\"ohlc\",_aggregators:{ohlc:function(e,t){var n=e.intervalStart,i=e.intervalEnd,o=e.data;if(o.length){var a={},r=t.getValueFields(),s=r[1],l=r[2];return a[s]=-1/0,a[l]=1/0,(a=o.reduce((function(e,t){return null!==t[s]&&(e[s]=Math.max(e[s],t[s])),null!==t[l]&&(e[l]=Math.min(e[l],t[l])),e}),a))[r[0]]=o[0][r[0]],a[r[3]]=o[o.length-1][r[3]],isFinite(a[s])||(a[s]=null),isFinite(a[l])||(a[l]=null),a[t.getArgumentField()]=t._getIntervalCenter(n,i),a}}},getValueFields:function(){var e=this._options;return[e.openValueField||\"open\",e.highValueField||\"high\",e.lowValueField||\"low\",e.closeValueField||\"close\"]},getArgumentField:function(){return this._options.argumentField||\"date\"},_patchMarginOptions:function(e){var t=this._getCreatingPointOptions().styles,n=[t.normal,t.hover,t.selection].reduce((function(e,t){return Math.max(e,t[\"stroke-width\"])}),0);return e.size=10+n,e.sizePointNormalState=10,e},getSeriesPairCoord:function(e,t){for(var n=null,i=this.getVisiblePoints(),o=0;o<i.length;o++){var a=i[o],r=void 0;if(t)r=a.vx===e?(a.openY+a.closeY)/2:void 0;else{var s=[Math.min(a.lowY,a.highY),Math.max(a.lowY,a.highY)];r=e>=s[0]&&e<=s[1]?a.vx:void 0}if(this._checkAxisVisibleAreaCoord(!t,r)){n=r;break}}return n},usePointsToDefineAutoHiding:function(){return!1}});t.stock=d;var c=(0,a.extend)({},d,{_parsePointStyle:function(e,t,n){var i=(0,s.extractColor)(e.color,!0)||n,o=d._parsePointStyle.call(this,e,t,i);return o.fill=i,o.hatching=e.hatching,o}});t.candlestick=c},10656:function(e,t,n){t.processDisplayFormat=function(e,t){var n=e,i=!0;for(;i;){var a=n.indexOf(\"{\"),r=n.indexOf(\"}\");if(a>=0&&r>0){var s=o(n.substring(a+1,r),t);n=n.substr(0,a)+s+n.substr(r+1)}else i=!1}return n};var i=n(94484);function o(e,t){var n=\"\",o=e.indexOf(\":\");return o>0&&(n=e.substr(o+1),e=e.substr(0,o)),function(e,t){if(t){if(e instanceof Date)return(0,i.formatDate)(e,t);if(\"number\"==typeof e)return(0,i.formatNumber)(e,t)}return e}(t[e],n)}},63407:function(e,t,n){t.default=void 0;var i=n(19157),o=n(35922),a=n(20576),r=Math.abs,s=Math.floor,l=Math.ceil,u=Math.min;function d(e,t,n){e.min=e.min<t?e.min:t,e.max=e.max>n?e.max:n}function c(e,t){if(\"logarithmic\"!==e)return null;var n=t.getOptions().logarithmBase;return function(e){var t=(0,i.getLog)(r(e),n);return(t<0?s:l)(t)}}function h(e,t,n){var i=d;return\"discrete\"===e?i=function(e,t,n){t!==n&&e.categories.push(n),e.categories.push(t)}:t&&(i=function(e,n){var i=t.calculateInterval(n,e.prevValue),o=e.interval;e.interval=(o<i?o:i)||o,e.prevValue=n,d(e,n,n)}),n?function(e,t,o){var a=[];i(e,t,o),0!==t&&a.push(n(t)),0!==o&&a.push(n(o));var r=u.apply(null,a);e.linearThreshold=e.linearThreshold<r?e.linearThreshold:r}:i}function f(e,t,n){var i={axisType:e,dataType:t};return\"discrete\"===e?i.categories=[]:(i.min=(0,o.isObject)(n)?n.min:n,i.max=(0,o.isObject)(n)?n.max:n),i}function p(e){return e.categories&&(e.categories=(0,i.unique)(e.categories)),e}function g(e,t,n,i,a){var r=function(e,t,n,i){if(t&&(0,o.isDefined)(t.value)){var a=e.value,r=t.value,s=e.argument,l=(n-s)*(r-a)/(t.argument-s)+a.valueOf();return\"datetime\"===i.dataType?new Date(l):l}return e.value}(n,i,a,t);e(t,r,r)}function m(e){return e.type.toLowerCase().indexOf(\"line\")>=0||e.type.toLowerCase().indexOf(\"area\")>=0}function _(e){var t=h(e.valueAxisType),n=e.getArgumentAxis(),r=n&&e.getArgumentAxis().visualRange()||{},s=m(e)?g:a.noop;if(n&&n.getMarginOptions().checkInterval){var l=e.getArgumentAxis().getTranslator().getBusinessRange(),u=(0,i.getAddFunction)(l,!1),d=l.interval;isFinite(d)&&(0,o.isDefined)(r.startValue)&&(0,o.isDefined)(r.endValue)&&(r.startValue=u(r.startValue,d,-1),r.endValue=u(r.endValue,d))}var c=v(r);return function(e,n,i,a){var l=n.argument;return n.hasValue()?(c(l)?(e.startCalc||(e.startCalc=!0,s(t,e,n,a[i-1],r.startValue)),t(e,n.getMinValue(),n.getMaxValue())):!r.categories&&(0,o.isDefined)(r.startValue)&&l>r.startValue&&(e.startCalc||s(t,e,n,a[i-1],r.startValue),e.endCalc=!0,s(t,e,n,a[i-1],r.endValue)),e):e}}function v(e){if(e.categories){var t=e.categories.reduce((function(e,t){return e[t.valueOf()]=!0,e}),{});return function(e){return(0,o.isDefined)(e)&&t[e.valueOf()]}}return(0,o.isDefined)(e.startValue)||(0,o.isDefined)(e.endValue)?(0,o.isDefined)(e.endValue)?(0,o.isDefined)(e.startValue)?function(t){return t>=e.startValue&&t<=e.endValue}:function(t){return t<=e.endValue}:function(t){return t>=e.startValue}:function(){return!0}}var y={getViewPortFilter:v,getArgumentRange:function(e){var t=e._data||[],n={};if(t.length)if(\"discrete\"===e.argumentAxisType)n={categories:t.map((function(e){return e.argument}))};else{var i;if(t.length>1){var o=e.getArgumentAxis().calculateInterval(t[0].argument,t[1].argument),a=e.getArgumentAxis().calculateInterval(t[t.length-1].argument,t[t.length-2].argument);i=u(o,a)}n={min:t[0].argument,max:t[t.length-1].argument,interval:i}}return p(n)},getRangeData:function(e){var t=e.getPoints(),n=e.useAggregation(),i=e.getArgumentAxis(),a=h(e.argumentAxisType,t.length>1&&i,c(e.argumentAxisType,i)),r=h(e.valueAxisType,null,c(e.valueAxisType,e.getValueAxis())),s=_(e),l=t.reduce((function(e,t,n,i){var o=t.argument;return t.isArgumentCorrect()?(a(e.arg,o,o),t.hasValue()&&(r(e.val,t.getMinValue(),t.getMaxValue()),s(e.viewport,t,n,i)),e):e}),{arg:f(e.argumentAxisType,e.argumentType,null!=i&&i.aggregatedPointBetweenTicks()?void 0:e.getArgumentRangeInitialValue()),val:f(e.valueAxisType,e.valueType,t.length?e.getValueRangeInitialValue():void 0),viewport:f(e.valueAxisType,e.valueType,t.length?e.getValueRangeInitialValue():void 0)});if(n){var u=this.getArgumentRange(e);if(\"discrete\"===e.argumentAxisType)l.arg=u;else{var d=i.getViewport();((0,o.isDefined)(d.startValue)||(0,o.isDefined)(d.length))&&a(l.arg,u.min,u.min),((0,o.isDefined)(d.endValue)||(0,o.isDefined)(d.length)&&(0,o.isDefined)(d.startValue))&&a(l.arg,u.max,u.max)}}return p(l.arg),p(l.val),l},getViewport:function(e){var t,n=e.getPoints(),i=_(e);return t=f(e.valueAxisType,e.valueType,n.length?e.getValueRangeInitialValue():void 0),n.some((function(e,o){return i(t,e,o,n),t.endCalc})),t},getPointsInViewPort:function(e){var t=v(e.getArgumentAxis().visualRange()||{}),n=e.getValueAxis().visualRange()||{},i=v(n),o=e.getPoints(),r=function(e,t,o){var a=t.getMinValue(),r=t.getMaxValue(),s=i(a),l=i(r);s&&e.push(a),r!==a&&l&&e.push(r),!o||s||l||(e.length?e.push(n.endValue):e.push(n.startValue))},s=m(e)?function(e,n,i){var o=n[i],a=n[i-1],s=n[i+1];s&&t(s.argument)&&r(e[1],o,!0),a&&t(a.argument)&&r(e[1],o,!0)}:a.noop;return o.reduce((function(e,n,i){return t(n.argument)?r(e[0],n):s(e,o,i),e}),[[],[]])}};t.default=y,e.exports=t.default,e.exports.default=t.default},7222:function(e,t,n){t.polar=t.chart=void 0;var i=n(21667),o=n(48013),a=n(13306),r=n(95479),s=n(19157),l=n(60810),u=Math.round,d=Math.sqrt,c=Math.pow,h=Math.min,f=Math.max,p=Math.abs,g={};t.chart=g;var m={};function _(e,t,n,i){var a=(0,o.clone)(e);return a.x=t,a.y=n,a.angle=i,a}function v(e,t,n,i,o){var a=e.angle+o,r=(0,s.getCosAndSin)(a);return _(t,n.x+(e.radius+i*o)*r.cos,n.y-(e.radius+i*o)*r.sin,a)}t.polar=m;var y={autoHidePointMarkersEnabled:function(){return!0},_applyGroupSettings:function(e,t,n){t=(0,a.extend)(t,e),this._applyElementsClipRect(t),n.attr(t)},_setGroupsSettings:function(e){var t=this._styles.normal;this._applyGroupSettings(t.elements,{class:\"dxc-elements\"},this._elementsGroup),this._bordersGroup&&this._applyGroupSettings(t.border,{class:\"dxc-borders\"},this._bordersGroup),i.chart._setGroupsSettings.call(this,e),e&&this._markersGroup&&this._markersGroup.attr({opacity:.001})},_createGroups:function(){this._createGroup(\"_elementsGroup\",this,this._group),this._areBordersVisible()&&this._createGroup(\"_bordersGroup\",this,this._group),i.chart._createGroups.call(this)},_areBordersVisible:function(){return!1},_getDefaultSegment:function(e){return{line:(0,s.map)(e.line||[],(function(e){return e.getDefaultCoords()}))}},_prepareSegment:function(e){return{line:e}},_parseLineOptions:function(e,t){return{stroke:(0,s.extractColor)(e.color,!0)||t,\"stroke-width\":e.width,dashStyle:e.dashStyle||\"solid\"}},_parseStyle:function(e,t){return{elements:this._parseLineOptions(e,t)}},_applyStyle:function(e){this._elementsGroup&&this._elementsGroup.attr(e.elements),(0,r.each)(this._graphics||[],(function(t,n){n.line&&n.line.attr({\"stroke-width\":e.elements[\"stroke-width\"]}).sharp()}))},_drawElement:function(e,t){return{line:this._createMainElement(e.line,{\"stroke-width\":this._styles.normal.elements[\"stroke-width\"]}).append(t)}},_removeElement:function(e){e.line.remove()},_updateElement:function(e,t,n,i){var o={points:t.line},a=e.line;n?a.animate(o,{},i):a.attr(o)},_animateComplete:function(){i.chart._animateComplete.call(this),this._markersGroup&&this._markersGroup.animate({opacity:1},{duration:this._defaultDuration})},_animate:function(){var e=this,t=e._graphics.length-1;(0,r.each)(e._graphics||[],(function(n,i){var o;n===t&&(o=function(){e._animateComplete()}),e._updateElement(i,e._segments[n],!0,o)}))},_drawPoint:function(e){i.chart._drawPoint.call(this,{point:e.point,groups:e.groups})},_createMainElement:function(e,t){return this._renderer.path(e,\"line\").attr(t)},_sortPoints:function(e,t){return t?e.sort((function(e,t){return t.y-e.y})):e.sort((function(e,t){return e.x-t.x}))},_drawSegment:function(e,t,n,i){var o=this._options.rotated,a=this._prepareSegment(e,o,i);this._segments.push(a),this._graphics[n]?t||this._updateElement(this._graphics[n],a):this._graphics[n]=this._drawElement(t?this._getDefaultSegment(a):a,this._elementsGroup)},_getTrackerSettings:function(){var e=this._defaultTrackerWidth,t=this._styles.normal.elements[\"stroke-width\"];return{\"stroke-width\":t>e?t:e,fill:\"none\"}},_getMainPointsFromSegment:function(e){return e.line},_drawTrackerElement:function(e){return this._createMainElement(this._getMainPointsFromSegment(e),this._getTrackerSettings(e))},_updateTrackerElement:function(e,t){var n=this._getTrackerSettings(e);n.points=this._getMainPointsFromSegment(e),t.attr(n)},checkSeriesViewportCoord:function(e,t){if(!i.chart.checkSeriesViewportCoord.call(this))return!1;var n=e.isArgumentAxis?this.getArgumentRange():this.getViewport(),o=e.getTranslator().translate(n.categories?n.categories[0]:n.min),a=e.getTranslator().translate(n.categories?n.categories[n.categories.length-1]:n.max),r=this.getOptions().rotated,s=e.getOptions().inverted;return e.isArgumentAxis&&(!r&&!s||r&&s)||!e.isArgumentAxis&&(r&&!s||!r&&s)?t>=o&&t<=a:t>=a&&t<=o}},b=g.line=(0,a.extend)({},i.chart,y,{getPointCenterByArg:function(e){var t=this.getArgumentAxis().getTranslator().translate(e);return{x:t,y:t}},getSeriesPairCoord:function(e,t){for(var n=null,i=this._getNearestPointsByCoord(e,t),o=t&&!this._options.rotated||!t&&this._options.rotated,a=0;a<i.length;a++){var r=i[a],s=(r[1].vy-r[0].vy)/(r[1].vx-r[0].vx),l=r[0].vy-r[0].vx*s,u=void 0;if(u=r[1].vx-r[0].vx==0?o?r[0].vy:r[0].vx:o?s*e+l:(e-l)/s,this._checkAxisVisibleAreaCoord(!t,u)){n=u;break}}return n}});g.stepline=(0,a.extend)({},b,{_calculateStepLinePoints:function(e){var t=[],n=this._options.rotated?\"x\":\"y\";return(0,r.each)(e,(function(e,i){var a;if(e){var r=t[t.length-1][n];r!==i[n]&&((a=(0,o.clone)(i))[n]=r,t.push(a)),t.push(i)}else t.push(i)})),t},_prepareSegment:function(e){return b._prepareSegment(this._calculateStepLinePoints(e))},getSeriesPairCoord:function(e,t){for(var n,i=this._options.rotated,o=!t&&!i||t&&i,a=o?\"vy\":\"vx\",r=o?\"vx\":\"vy\",s=this._getNearestPointsByCoord(e,t),l=0;l<s.length;l++){var u=s[l],d=void 0;if(d=t?e!==u[1][a]?u[0][r]:u[1][r]:e===u[0][a]?u[0][r]:u[1][r],this._checkAxisVisibleAreaCoord(!t,d)){n=d;break}}return n}}),g.spline=(0,a.extend)({},b,{_calculateBezierPoints:function(e,t){var n=[],i=e,o=function(e,t,n){return e>t&&n>e||e<t&&n<e?e:n};return 1!==i.length?i.forEach((function(e,a){var r,s,l,u,d,c,h,f,p,g,m,v,y=i[a-1],b=i[a+1];if(a&&a!==i.length-1){var x=e.x,w=e.y;if(d=y.x,c=b.x,h=y.y,f=b.y,!!(!t&&(w<=y.y&&w<=b.y||w>=y.y&&w>=b.y)||t&&(x<=y.x&&x<=b.x||x>=y.x&&x>=b.x)))t?(l=r=x,u=(w+b.y)/2,s=(w+y.y)/2):(u=s=w,l=(x+b.x)/2,r=(x+y.x)/2);else{if(p=f-h,g=d-c,m=h*c-d*f,t){if(!p)return void n.push(e,e,e);d-=v=-1*(g*w+m)/p-x,c-=v}else{if(!g)return void n.push(e,e,e);h-=v=-1*(p*x+m)/g-w,f-=v}l=(x+.5*c)/1.5,u=(w+.5*f)/1.5,r=(x+.5*d)/1.5,s=(w+.5*h)/1.5}t?(r=o(y.x,x,r),l=o(b.x,x,l)):(s=o(y.y,w,s),u=o(b.y,w,u));var C=_(e,r,s),S=_(e,l,u);n.push(C,e,S)}else n.push(e,e)})):n.push(i[0]),n},_prepareSegment:function(e,t){return b._prepareSegment(this._calculateBezierPoints(e,t))},_createMainElement:function(e,t){return this._renderer.path(e,\"bezier\").attr(t)},getSeriesPairCoord:function(e,t){for(var n=null,i=!t&&!this._options.rotated||t&&this._options.rotated,o=i?\"vy\":\"vx\",a=i?\"y\":\"x\",r=i?\"vx\":\"vy\",s=i?\"x\":\"y\",u=(t?this.getValueAxis():this.getArgumentAxis()).getVisibleArea(),d=this._getNearestPointsByCoord(e,t),c=function(){var t=d[h];1===t.length?u[0]<=t[0][r]&&u[1]>=t[0][r]&&(n=t[0][r]):function(e,t,n,i,o){var a=t-e,r=3*n-3*t,s=3*i-6*n+3*t,u=o-3*i+3*n-t;return(0,l.solveCubicEquation)(u,s,r,a)}(e,t[0][o],t[1][a],t[2][a],t[3][o]).forEach((function(e){if(e>=0&&e<=1){var i=Math.pow(1-e,3)*t[0][r]+3*Math.pow(1-e,2)*e*t[1][s]+3*(1-e)*e*e*t[2][s]+e*e*e*t[3][r];u[0]<=i&&u[1]>=i&&(n=i)}}));if(null!==n)return\"break\"},h=0;h<d.length;h++){if(\"break\"===c())break}return n},_getNearestPoints:function(e,t,n){var i=n.indexOf(e);return[e,n[i+1],n[i+2],t]},_getBezierPoints:function(){return this._segments.length>0?this._segments.reduce((function(e,t){return e.concat(t.line)}),[]):[]}}),m.line=(0,a.extend)({},i.polar,y,{_sortPoints:function(e){return e},_prepareSegment:function(e,t,n){var i,o=[],a=this.getValueAxis().getCenter();if(n&&this._closeSegment(e),\"discrete\"===this.argumentAxisType||\"discrete\"===this.valueAxisType)return b._prepareSegment.call(this,e);for(i=1;i<e.length;i++)o=o.concat(this._getTangentPoints(e[i],e[i-1],a,i===e.length-1));return o.length||(o=e),{line:o}},_getRemainingAngle:function(e){var t=(0,s.normalizeAngle)(e);return e>=0?360-t:-t},_closeSegment:function(e){var t=this._segments.length?this._segments[0].line[0]:e[0],n=_(t,t.x,t.y,t.angle);(n=this._modifyReflectedPoint(n,e.at(-1)))&&e.push(n)},_modifyReflectedPoint:function(e,t){if(t.angle!==e.angle){if((0,s.normalizeAngle)(u(t.angle))===(0,s.normalizeAngle)(u(e.angle)))e.angle=t.angle;else{var n=t.angle-e.angle;e.angle=t.angle+this._getRemainingAngle(n)}return e}},_getTangentPoints:function(e,t,n,i){var o,a=[],r=Math.round(t.angle-e.angle),s=(t.radius-e.radius)/r;if(0===r)a=[t,e];else if(r>0){for(o=i?r:r-1;o>=0;o--)a.push(v(e,t,n,s,o))}else{var l=i?r:r+1;for(o=0;o>=l;o--)a.push(v(e,t,n,s,r-o))}return a},getSeriesPairCoord:function(e,t){var n,i=this.getArgumentAxis(),o=t?\"angle\":\"radius\",a=e[o],r=i.getCenter(),u=function(e,t,n){var o,a,s=n.x,l=n.y;return d(c((o={x:s,y:l}).x-(a=r).x,2)+c(o.y-a.y,2))<=i.getRadius()&&h(e.x,t.x)<=s&&f(e.x,t.x)>=s&&h(e.y,t.y)<=l&&f(e.y,t.y)>=l},g=this.getNeighborPoints(a,o);if(1===g.length)n=g[0];else if(g.length>1){var m,_,y=g[0],b=g[1];if(\"discrete\"!==this.argumentAxisType&&\"discrete\"!==this.valueAxisType)t?(m=(y.radius-b.radius)/(y.angle-b.angle),_=a-b.angle):(m=(y.radius-b.radius)/(y.angle-b.angle),_=(a-b.radius)/m),n=v(b,y,r,m,_);else if(t){var x=(0,s.getCosAndSin)(-a),w=(b.y-y.y)/(b.x-y.x),C=y.y-y.x*w,S=x.sin/x.cos,k=(r.y-S*r.x-C)/(w-S),D=w*k+C;if(u(y,b,{x:k,y:D})){var I=p((0,l.trunc)((360+a)/90)%4);(0===I&&k>=r.x&&D<=r.y||1===I&&k<=r.x&&D<=r.y||2===I&&k<=r.x&&D>=r.y||3===I&&k>=r.x&&D>=r.y)&&(n={x:k,y:D})}}else{var T=(b.y-y.y)/(b.x-y.x),E=y.y-y.x*T,O=1+T*T,A=-2*r.x+2*T*E-2*T*r.y,P=A*A-4*O*(-c(a,2)+c(E-r.y,2)+c(r.x,2));if(P>=0){var M=(-A-d(P))/(2*O),R=(-A+d(P))/(2*O),B=T*M+E,L=T*R+E;n=u(y,b,{x:M,y:B})?{x:M,y:B}:u(y,b,{x:R,y:L})?{x:R,y:L}:void 0}}}return n},getNeighborPoints:function(e,t){var n=this.getPoints(),i=[];if(this.getOptions().closed){var o=(n=(0,a.extend)(!0,[],n))[n.length-1],r=_(n[0],n[0].x,n[0].y,n[0].angle),s=_(o,o.x,o.y,o.angle),l=this._modifyReflectedPoint(r,o),u=this._modifyReflectedPoint(s,n[0]);u&&n.unshift(u),l&&n.push(l)}for(var d=1;d<n.length&&(n[d-1][t]===e?i.push(n[d-1]):n[d][t]===e?i.push(n[d]):(n[d][t]>e&&n[d-1][t]<e||n[d-1][t]>e&&n[d][t]<e)&&(i.push(n[d-1]),i.push(n[d])),!(i.length>0));d++);return i}})},80610:function(e,t,n){t.pie=t.doughnut=t.donut=void 0;var i=n(20576),o=n(95479),a=n(21667),r=n(19157),s=n(13306),l=n(58821),u=a.chart,d=l.chart.bar,c=s.extend,h=o.each,f=i.noop,p=r.map,g=isFinite,m=Math.max,_=c({},d,{_setGroupsSettings:function(){u._setGroupsSettings.apply(this,arguments),this._labelsGroup.attr({\"pointer-events\":null})},_createErrorBarGroup:f,_drawPoint:function(e){var t=e.point,n=this._legendCallback;u._drawPoint.call(this,e),!t.isVisible()&&t.setInvisibility(),t.isSelected()&&n()},_getOldPoint:function(e,t,n){var i=(this._points||[])[n];return i&&(t[i.argument.valueOf()]=t[i.argument.valueOf()].filter((function(e){return e!==i}))),i},adjustLabels:function(e){return(this._points||[]).reduce((function(t,n){if(n._label.isVisible())return n.setLabelTrackerData(),t=n.applyWordWrap(e)||t,n.updateLabelCoord(e),t}),!1)},_applyElementsClipRect:f,getColor:f,areErrorBarsVisible:f,drawLabelsWOPoints:function(){return\"inside\"!==this._options.label.position&&(this._labelsGroup.append(this._extGroups.labelsGroup),(this._points||[]).forEach((function(e){e.drawLabel()})),!0)},getPointsCount:function(){var e=this;return this._data.filter((function(t){return e._checkData(t)})).length},setMaxPointsCount:function(e){this._pointsCount=e},_getCreatingPointOptions:function(e,t){return this._getPointOptions(e,t)},_updateOptions:function(e){this.labelSpace=0,this.innerRadius=\"pie\"===this.type?0:e.innerRadius},_checkData:function(e,t){var n=d._checkData.call(this,e,t,{value:this.getValueFields()[0]});return this._options.paintNullPoints?n:n&&null!==e.value},_createGroups:u._createGroups,_setMarkerGroupSettings:function(){this._markersGroup.attr({class:\"dxc-markers\"})},_getMainColor:function(e,t){var n=this.getPointsByArg(e.argument),i=t?n.indexOf(t):n.length;return this._options.mainSeriesColor(e.argument,i,this._pointsCount)},_getPointOptions:function(e){return this._parsePointOptions(this._preparePointOptions(),this._options.label,e)},_getRangeData:function(){return this._rangeData},_createPointStyles:function(e,t,n){var i,o=(0,r.extractColor)(e.color,!0)||this._getMainColor(t,n),a=null===(i=e.color)||void 0===i?void 0:i.fillId,s=e.hoverStyle||{},l=e.selectionStyle||{};return a&&this._turnOffHatching(s,l),{labelColor:o,normal:this._parsePointStyle(e,o,o),hover:this._parsePointStyle(s,a||o,o),selection:this._parsePointStyle(l,a||o,o),legendStyles:{normal:this._createLegendState(e,o),hover:this._createLegendState(s,a||o),selection:this._createLegendState(l,a||o)}}},_getArrangeMinShownValue:function(e,t){var n=this._options.minSegmentSize,i=0,o=0;return t=t||e.length,h(e,(function(e,a){a.isVisible()&&(a.normalInitialValue<n*t/360?i+=n:o+=a.normalInitialValue)})),i<360?n*o/(360-i):0},_applyArrangeCorrection:function(e,t,n){var i,o=this._options,a=\"anticlockwise\"!==o.segmentsDirection,s=g(o.startAngle)?(0,r.normalizeAngle)(o.startAngle):0,l=o.minSegmentSize,u=0,d=0;0===n&&(n=e.filter((function(e){return e.isVisible()})).length,d=1),h(a?e:e.concat([]).reverse(),(function(e,o){var a,r=o.isVisible()?d||o.normalInitialValue:0;l&&o.isVisible()&&r<t&&(a=t),i=r/n,o.correctValue(u,i,d+(a||0)),o.shiftedAngle=s,u+=a||r})),this._rangeData={val:{min:0,max:u}}},_removePoint:function(e){var t=this.getPointsByArg(e.argument);t.splice(t.indexOf(e),1),e.dispose()},arrangePoints:function(){for(var e,t=this,n=t._points||[],i=t._options.minSegmentSize,o=!0,a=0,r=n.length;a<r&&o;)o=n[a].value<=0,a++;var s=t._points=p(n,(function(e){return null===e.value||!o&&e.value<0?(t._removePoint(e),null):e})),l=s.reduce((function(e,t){return m(e,Math.abs(t.initialValue))}),0);s.forEach((function(e){e.normalInitialValue=e.initialValue/(0!==l?l:1)}));var u=s.reduce((function(e,t){return e+(t.isVisible()?t.normalInitialValue:0)}),0);i&&(e=this._getArrangeMinShownValue(s,u)),t._applyArrangeCorrection(s,e,u)},correctPosition:function(e,t){h(this._points,(function(t,n){n.correctPosition(e)})),this.setVisibleArea(t)},correctRadius:function(e){this._points.forEach((function(t){t.correctRadius(e)}))},correctLabelRadius:function(e){this._points.forEach((function(t){t.correctLabelRadius(e)}))},setVisibleArea:function(e){this._visibleArea={minX:e.left,maxX:e.width-e.right,minY:e.top,maxY:e.height-e.bottom}},_applyVisibleArea:f,_animate:function(e){var t,n=this,i=n._points,o=i&&i.length,a=function(){n._animateComplete()};t=e?function(e,t){e.animate(t===o-1?a:void 0,.7,(1-.7)*t/(o-1))}:function(e,t){e.animate(t===o-1?a:void 0)},i.forEach(t)},getVisiblePoints:function(){return p(this._points,(function(e){return e.isVisible()?e:null}))},getPointsByKeys:function(e,t){var n=this.getPointsByArg(e);return n[t]&&[n[t]]||[]}});t.pie=_;var v=_;t.doughnut=v;var y=_;t.donut=y},27428:function(e,t,n){t.default=void 0;var i,o=n(13306),a=(i=n(24894))&&i.__esModule?i:{default:i};var r=o.extend,s=Math,l=s.floor,u=s.abs;function d(e){var t=e.initialValue,n=e._getValTranslator().getBusinessRange().invert,i=\"discrete\"===e.series.valueAxisType,o=e.series.isFullStackedSeries();return!i&&(t>=0&&!n||t<0&&n)||i&&!n||o?\"top\":\"bottom\"}var c=r({},a.default,{correctCoordinates:function(e){var t=l(e.offset-e.width/2);this._options.rotated?(this.height=e.width,this.yCorrection=t,this.xCorrection=null):(this.width=e.width,this.xCorrection=t,this.yCorrection=null)},_calculateVisibility:function(e,t,n,i){var o=this._getVisibleArea(),a=o.minX,r=o.maxX,s=o.minY,l=o.maxY;this.inVisibleArea=a<=e+n&&r>=e&&s<=t+i&&l>=t},_cacheVisibility:function(e,t,n,i){t=Math.min(t,n);var o=Math.abs(t-n);i?this._calculateVisibility(t,e,o,this.height):this._calculateVisibility(e,t,this.width,o)},_getGraphicBBox:function(e){var t={x:this.x,y:this.y,width:this.width,height:this.height};if(e){var n=\"top\"===e;this._options.rotated?(t.x=n?t.x+t.width:t.x,t.width=0):(t.y=n?t.y:t.y+t.height,t.height=0)}return t},_getLabelConnector:function(e){return this._getGraphicBBox(e)},_getLabelPosition:function(){var e=d(this);return this._options.rotated&&(e=\"top\"===e?\"right\":\"left\"),e},_getLabelCoords:function(e){return 0===this.initialValue&&this.series.isFullStackedSeries()?this._options.rotated?this._getLabelCoordOfPosition(e,\"right\"):this._getLabelCoordOfPosition(e,\"top\"):\"inside\"===e.getLayoutOptions().position?this._getLabelCoordOfPosition(e,\"inside\"):a.default._getLabelCoords.call(this,e)},_drawLabel:function(){this._label.pointPosition=\"inside\"!==this._label.getLayoutOptions().position&&d(this),a.default._drawLabel.call(this)},hideInsideLabel:function(e,t){var n=this._getGraphicBBox(),i=e.getBoundingRect();return!(!this._options.resolveLabelsOverlapping||!(t.y<=n.y&&t.y+i.height>=n.y+n.height||t.x<=n.x&&t.x+i.width>=n.x+n.width)||t.y>n.y+n.height||t.y+i.height<n.y||t.x>n.x+n.width||t.x+i.width<n.x)&&(e.draw(!1),!0)},_showForZeroValues:function(){return this._options.label.showForZeroValues||this.initialValue},_drawMarker:function(e,t,n){var i=this._getStyle(),o=this._options.cornerRadius,a=this._options.rotated,r=this.getMarkerCoords(),s=r.x,l=r.y,u=r.width,d=r.height;n&&(a?(u=0,s=this.defaultX):(d=0,l=this.defaultY)),this.graphic=e.rect(s,l,u,d).attr({rx:o,ry:o}).smartAttr(i).data({\"chart-data-point\":this}).append(t)},_getSettingsForTracker:function(){var e=this.y,t=this.height,n=this.x,i=this.width;return this._options.rotated?1===i&&(i=9,n-=4):1===t&&(t=9,e-=4),{x:n,y:e,width:i,height:t}},getGraphicSettings:function(){var e=this.graphic;return{x:e.attr(\"x\"),y:e.attr(\"y\"),height:e.attr(\"height\"),width:e.attr(\"width\")}},_getEdgeTooltipParams:function(){var e,t,n=this.value>=0,i=this._getValTranslator().getBusinessRange().invert,o=this.x,a=this.y,r=this.width,s=this.height;return this._options.rotated?(t=a+s/2,e=i?n?o:o+r:n?o+r:o):(e=o+r/2,t=i?n?a+s:a:n?a:a+s),{x:e,y:t,offset:0}},getTooltipParams:function(e){if(\"edge\"===e)return this._getEdgeTooltipParams();var t=this.getCenterCoord();return t.offset=0,t},getCenterCoord:function(){var e=this.width,t=this.height;return{x:this.x+e/2,y:this.y+t/2}},_truncateCoord:function(e,t){return null===e?e:e<t[0]?t[0]:e>t[1]?t[1]:e},_getErrorBarBaseEdgeLength:function(){return this._options.rotated?this.height:this.width},_translateErrorBars:function(e){a.default._translateErrorBars.call(this),(this._errorBarPos<e[0]||this._errorBarPos>e[1])&&(this._errorBarPos=void 0)},_translate:function(){var e=this._options.rotated,t=e?\"x\":\"y\",n=e?\"y\":\"x\",i=e?\"width\":\"height\",o=e?\"height\":\"width\",a=this._getArgTranslator(),r=this._getValTranslator(),s=this.series.getArgumentAxis().getVisibleArea(),l=this.series.getValueAxis().getVisibleArea(),d=a.translate(this.argument),c=r.translate(this.value,1),h=r.translate(this.minValue,-1);this[n]=d=null===d?d:d+(this[n+\"Correction\"]||0),this[\"v\"+t]=c,this[\"v\"+n]=d+this[o]/2,this._cacheVisibility(d,c,h,e),c=this._truncateCoord(c,l),h=this._truncateCoord(h,l),this[i]=u(c-h),c=c<h?c:h,this[t]=null===c?c:c+(this[t+\"Correction\"]||0),this[\"min\"+t.toUpperCase()]=null===h?h:h+(this[t+\"Correction\"]||0),this[\"default\"+t.toUpperCase()]=r.translate(\"canvas_position_default\"),this._translateErrorBars(s),this.inVisibleArea&&null!==this[n]&&(this[n]<s[0]&&(this[o]=this[o]-(s[0]-this[n]),this[n]=s[0]),this[n]+this[o]>s[1]&&(this[o]=s[1]-this[n]))},_updateMarker:function(e,t){this.graphic.smartAttr(r({},t,e?{}:this.getMarkerCoords()))},getMarkerCoords:function(){var e=this.x,t=this.y,n=this.width,i=this.height,o=this.series.getArgumentAxis(),a=this._options.rotated;if(o.getAxisPosition){var r=o.getOptions(),s=Math.round(r.width/2),l=o.getAxisPosition();if(r.visible)if(a){var u=this.minX===this.defaultX&&this.minX===l-o.getAxisShift();e+=u?s:0,(n-=u?s:0)<0&&(n=0)}else(i-=this.minY===this.defaultY&&this.minY===l-o.getAxisShift()?s:0)<0&&(i=0)}return{x:e,y:t,width:n,height:i}},coordsIn:function(e,t){return e>=this.x&&e<=this.x+this.width&&t>=this.y&&t<=this.y+this.height}});t.default=c,e.exports=t.default,e.exports.default=t.default},54497:function(e,t,n){t.Point=E;var i=_(n(32410)),o=_(n(24894)),a=_(n(27428)),r=_(n(37440)),s=_(n(85912)),l=_(n(97319)),u=_(n(73206)),d=_(n(69297)),c=_(n(71678)),h=n(38234),f=n(19157),p=n(13306),g=n(35922),m=n(20576);function _(e){return e&&e.__esModule?e:{default:e}}var v={},y=p.extend,b=i.default.states,x=b.selectedMark,w=b.hoverMark,C=b.normalMark,S=b.hover,k=b.normal,D=b.selection,I={chart:{scatter:\"symbolPoint\",line:\"symbolPoint\",spline:\"symbolPoint\",stepline:\"symbolPoint\",stackedline:\"symbolPoint\",fullstackedline:\"symbolPoint\",stackedspline:\"symbolPoint\",fullstackedspline:\"symbolPoint\",stackedsplinearea:\"symbolPoint\",fullstackedsplinearea:\"symbolPoint\",area:\"symbolPoint\",splinearea:\"symbolPoint\",steparea:\"symbolPoint\",stackedarea:\"symbolPoint\",fullstackedarea:\"symbolPoint\",rangearea:\"rangeSymbolPoint\",bar:\"barPoint\",stackedbar:\"barPoint\",fullstackedbar:\"barPoint\",rangebar:\"rangeBarPoint\",bubble:\"bubblePoint\",stock:\"stockPoint\",candlestick:\"candlestickPoint\"},pie:{pie:\"piePoint\",doughnut:\"piePoint\",donut:\"piePoint\"},polar:{scatter:\"polarSymbolPoint\",line:\"polarSymbolPoint\",area:\"polarSymbolPoint\",bar:\"polarBarPoint\",stackedbar:\"polarBarPoint\"}};function T(e){return\"none\"===(0,f.normalizeEnum)(e)}function E(e,t,n){this.fullState=C,this.series=e,this.update(t,n),this._viewCounters={hover:0,selection:0},this._emptySettings={fill:null,stroke:null,dashStyle:null,filter:null}}v.symbolPoint=o.default,v.barPoint=a.default,v.bubblePoint=r.default,v.piePoint=s.default,v.rangeSymbolPoint=l.default,v.rangeBarPoint=u.default,v.candlestickPoint=d.default,v.stockPoint=c.default,v.polarSymbolPoint=h.polarSymbolPoint,v.polarBarPoint=h.polarBarPoint,E.prototype={constructor:E,getColor:function(){return this.hasValue()||this._styles.usePointCustomOptions||this.series.customizePoint(this,this._dataItem),this._styles.normal.fill||this.series.getColor()},_getStyle:function(){return this._styles[this._currentStyle||\"normal\"]},update:function(e,t){this.updateOptions(t),this.updateData(e)},updateData:function(e){var t=this.argument!==e.argument;this.argument=this.initialArgument=this.originalArgument=e.argument,this.tag=e.tag,this.index=e.index,this._dataItem=e,this.data=e.data,this.lowError=e.lowError,this.highError=e.highError,this.aggregationInfo=e.aggregationInfo,this._updateData(e,t),!this.hasValue()&&this.setInvisibility(),this._fillStyle(),this._updateLabelData()},deleteMarker:function(){this.graphic&&this.graphic.dispose(),this.graphic=null},draw:function(e,t,n,i){return(this._needDeletingOnDraw||this.series.autoHidePointMarkers&&!this.isSelected())&&(this.deleteMarker(),this._needDeletingOnDraw=!1),this._needClearingOnDraw&&(this.clearMarker(),this._needClearingOnDraw=!1),this._hasGraphic()?this._updateMarker(n,this._getStyle(),t.markers):this.getMarkerVisibility()&&!this.series.autoHidePointMarkers&&this._drawMarker(e,t.markers,n,i),this._drawLabel(),this._drawErrorBar(e,t.errorBars,n),this},_getViewStyle:function(){var e=C,t=this.fullState,n=[k,S,D,D];return this._viewCounters.hover&&(e|=w),this._viewCounters.selection&&(e|=x),T(this.getOptions().selectionMode)&&(t&=~x),T(this.getOptions().hoverMode)&&(t&=~w),n[e|=t]},applyView:function(e){var t=this._getViewStyle();this._currentStyle=t,this.graphic||!this.getMarkerVisibility()||!this.series.autoHidePointMarkers||t!==D&&t!==S||this._drawMarker(this.series.getRenderer(),this.series.getMarkersGroup()),this.graphic&&(this.series.autoHidePointMarkers&&t!==D&&t!==S?this.deleteMarker():(\"normal\"===t?this.clearMarker():this.graphic.toForeground(),this._updateMarker(!0,this._styles[t],void 0,e)))},setView:function(e){this._viewCounters[e]++,this.applyView()},resetView:function(e){var t=this._viewCounters;--t[e],t[e]<0&&(t[e]=0),this.applyView()},releaseHoverState:function(){this.graphic&&!this.isSelected()&&this.graphic.toBackground()},select:function(){this.series.selectPoint(this)},clearSelection:function(){this.series.deselectPoint(this)},hover:function(){this.series.hoverPoint(this)},clearHover:function(){this.series.clearPointHover()},showTooltip:function(){this.series.showPointTooltip(this)},hideTooltip:function(){this.series.hidePointTooltip(this)},_checkLabelsChanging:function(e,t){var n=~t.indexOf(\"range\"),i=~e.indexOf(\"range\");return i&&!n||!i&&n},updateOptions:function(e){if(e){var t=this._options,n=e.widgetType,i=t&&t.type,o=e.type,a=I[n][o];i!==o?(this._needDeletingOnDraw=!0,this._needClearingOnDraw=!1,i&&(this._checkLabelsChanging(i,o)&&this.deleteLabel(),this._resetType(v[I[i]])),this._setType(v[a])):(this._needDeletingOnDraw=this._checkSymbol(t,e),this._needClearingOnDraw=this._checkCustomize(t,e)),this._options=e,this._fillStyle(),this._updateLabelOptions(a)}},translate:function(){this.hasValue()&&(this._translate(),this.translated=!0)},_checkCustomize:function(e,t){return e.styles.usePointCustomOptions&&!t.styles.usePointCustomOptions},_getCustomLabelVisibility:function(){return this._styles.useLabelCustomOptions?!!this._options.label.visible:null},getBoundingRect:function(){return this._getGraphicBBox()},_resetType:function(e){for(var t in e)delete this[t]},_setType:function(e){for(var t in e)this[t]=e[t]},isInVisibleArea:function(){return this.inVisibleArea},isSelected:function(){return!!(this.fullState&x)},isHovered:function(){return!!(this.fullState&w)},getOptions:function(){return this._options},animate:function(e,t,n){this.graphic?this.graphic.animate(t,{partitionDuration:n},e):e&&e()},getCoords:function(e){return e?this._options.rotated?{x:this.minX-(this.x-this.minX?0:1),y:this.y}:{x:this.x,y:this.minY+(this.y-this.minY?0:1)}:{x:this.x,y:this.y}},getDefaultCoords:function(){return this._options.rotated?{x:this.defaultX,y:this.y}:{x:this.x,y:this.defaultY}},setDefaultCoords:function(){var e=this.getDefaultCoords();this.x=e.x,this.y=e.y},_getVisibleArea:function(){return this.series.getVisibleArea()},_getArgTranslator:function(){return this.series.getArgumentAxis().getTranslator()},_getValTranslator:function(){return this.series.getValueAxis().getTranslator()},isArgumentCorrect:function(){return this.series._argumentChecker(this.argument)},isValueCorrect:function(){var e=this.series._valueChecker;return e(this.getMinValue())&&e(this.getMaxValue())},hasValue:function(){return null!==this.value&&null!==this.minValue&&this.isArgumentCorrect()&&this.isValueCorrect()},hasCoords:m.noop,correctPosition:m.noop,correctRadius:m.noop,correctLabelRadius:m.noop,getCrosshairData:m.noop,getPointRadius:m.noop,_populatePointShape:m.noop,_checkSymbol:m.noop,getMarkerCoords:m.noop,hide:m.noop,show:m.noop,hideMarker:m.noop,setInvisibility:m.noop,clearVisibility:m.noop,isVisible:m.noop,resetCorrection:m.noop,correctValue:m.noop,resetValue:m.noop,setPercentValue:m.noop,correctCoordinates:m.noop,coordsIn:m.noop,getTooltipParams:m.noop,applyWordWrap:m.noop,setLabelTrackerData:m.noop,updateLabelCoord:m.noop,drawLabel:m.noop,correctLabelPosition:m.noop,getMinValue:m.noop,getMaxValue:m.noop,_drawErrorBar:m.noop,getMarkerVisibility:m.noop,dispose:function(){this.deleteMarker(),this.deleteLabel(),this._errorBar&&this._errorBar.dispose(),this._options=this._styles=this.series=this._errorBar=null},getTooltipFormatObject:function(e,t){var n=this._getFormatObject(e),i=[],o=[];t&&(t.forEach((function(t){if(t.isVisible()){var n=t._getFormatObject(e);o.push(n),i.push(n.seriesName+\": \"+n.valueText)}})),y(n,{points:o,valueText:i.join(\"\\n\"),stackName:this.series.getStackName()||null}));var a=this.aggregationInfo;if(a){var r=this.series.getArgumentAxis().formatRange(a.intervalStart,a.intervalEnd,a.aggregationInterval,e.getOptions().argumentFormat);r&&(n.valueText+=\"\\n\".concat(r))}return n},setHole:function(e,t){var n=isFinite(this.minValue)?this.minValue:0;(0,g.isDefined)(e)&&(\"left\"===t?(this.leftHole=this.value-e,this.minLeftHole=n-e):(this.rightHole=this.value-e,this.minRightHole=n-e))},resetHoles:function(){this.leftHole=null,this.minLeftHole=null,this.rightHole=null,this.minRightHole=null},getLabel:function(){return this._label},getLabels:function(){return[this._label]},getCenterCoord:function(){return{x:this.x,y:this.y}}}},37440:function(e,t,n){t.default=void 0;var i,o=n(13306),a=(i=n(24894))&&i.__esModule?i:{default:i};var r=o.extend,s=r({},a.default,{correctCoordinates:function(e){this.bubbleSize=e/2},_drawMarker:function(e,t,n){var i=r({translateX:this.x,translateY:this.y},this._getStyle());this.graphic=e.circle(0,0,n?0:this.bubbleSize).smartAttr(i).data({\"chart-data-point\":this}).append(t)},getTooltipParams:function(e){var t=this.graphic;if(t){var n=t.getBBox().height;return{x:this.x,y:this.y,offset:n<20||\"edge\"===e?n/2:0}}},_getLabelFormatObject:function(){var e=a.default._getLabelFormatObject.call(this);return e.size=this.initialSize,e},_updateData:function(e){a.default._updateData.call(this,e),this.size=this.initialSize=e.size},_getGraphicBBox:function(){return this._getSymbolBBox(this.x,this.y,this.bubbleSize)},_updateMarker:function(e,t){e||(t=r({r:this.bubbleSize,translateX:this.x,translateY:this.y},t)),this.graphic.smartAttr(t)},_getFormatObject:function(e){var t=a.default._getFormatObject.call(this,e);return t.sizeText=e.formatValue(this.initialSize),t},_storeTrackerR:function(){return this.bubbleSize},_getLabelCoords:function(e){return\"inside\"===e.getLayoutOptions().position?this._getLabelCoordOfPosition(e,\"inside\"):a.default._getLabelCoords.call(this,e)}});t.default=s,e.exports=t.default,e.exports.default=t.default},69297:function(e,t,n){t.default=void 0;var i=n(13306),o=r(n(24894)),a=r(n(27428));function r(e){return e&&e.__esModule?e:{default:e}}var s=Math,l=s.abs,u=s.min,d=s.max,c=s.round,h=(0,i.extend)({},a.default,{_calculateVisibility:o.default._calculateVisibility,_getContinuousPoints:function(e,t){var n=this.x,i=this._options.rotated?function(e,t){return[t,e]}:function(e,t){return[e,t]},o=this.width,a=this.highY,r=l(a-e)<l(a-t)?e:t,s=r===t?e:t;return s===r?[].concat(i(n,this.highY)).concat(i(n,this.lowY)).concat(i(n,this.closeY)).concat(i(n-o/2,this.closeY)).concat(i(n+o/2,this.closeY)).concat(i(n,this.closeY)):[].concat(i(n,this.highY)).concat(i(n,r)).concat(i(n+o/2,r)).concat(i(n+o/2,s)).concat(i(n,s)).concat(i(n,this.lowY)).concat(i(n,s)).concat(i(n-o/2,s)).concat(i(n-o/2,r)).concat(i(n,r))},_getCrockPoints:function(e){var t=this.x,n=this._options.rotated?function(e,t){return[t,e]}:function(e,t){return[e,t]};return[].concat(n(t,this.highY)).concat(n(t,this.lowY)).concat(n(t,e)).concat(n(t-this.width/2,e)).concat(n(t+this.width/2,e)).concat(n(t,e))},_getPoints:function(){var e=this.closeY,t=this.openY;return null!==e&&null!==t?this._getContinuousPoints(t,e):t===e?[this.x,this.highY,this.x,this.lowY]:this._getCrockPoints(null!==t?t:e)},getColor:function(){return this._isReduction?this._options.reduction.color:this._styles.normal.stroke||this.series.getColor()},_drawMarkerInGroup:function(e,t,n){this.graphic=n.path(this._getPoints(),\"area\").attr({\"stroke-linecap\":\"square\"}).attr(t).data({\"chart-data-point\":this}).sharp().append(e)},_fillStyle:function(){var e=this._options.styles;this._isReduction&&this._isPositive?this._styles=e.reductionPositive:this._isReduction?this._styles=e.reduction:this._isPositive?this._styles=e.positive:this._styles=e},_getMinTrackerWidth:function(){return 2+2*this._styles.normal[\"stroke-width\"]},correctCoordinates:function(e){var t=this._getMinTrackerWidth(),n=e.width;n=n<t?t:n>10?10:n,this.width=n+n%2,this.xCorrection=e.offset},_getMarkerGroup:function(e){return this._isReduction&&this._isPositive?e.reductionPositiveMarkersGroup:this._isReduction?e.reductionMarkersGroup:this._isPositive?e.defaultPositiveMarkersGroup:e.defaultMarkersGroup},_drawMarker:function(e,t){this._drawMarkerInGroup(this._getMarkerGroup(t),this._getStyle(),e)},_getSettingsForTracker:function(){var e,t,n,i,o=this.highY,a=this.lowY,r=this._options.rotated;return o===a&&(o=r?o+2:o-2,a=r?a-2:a+2),r?(e=u(a,o),t=this.x-this.width/2,n=l(a-o),i=this.width):(e=this.x-this.width/2,t=u(a,o),n=this.width,i=l(a-o)),{x:e,y:t,width:n,height:i}},_getGraphicBBox:function(e){var t=this._options.rotated,n=this.x,i=this.width,o=this.lowY,a=this.highY;if(e){var r=this.series.getValueAxis().getVisibleArea();a=this._truncateCoord(a,r),o=this._truncateCoord(o,r)}var s={x:t?o:n-c(i/2),y:t?n-c(i/2):a,width:t?a-o:i,height:t?i:o-a};if(e){var l=\"top\"===e;this._options.rotated?(s.x=l?s.x+s.width:s.x,s.width=0):(s.y=l?s.y:s.y+s.height,s.height=0)}return s},getTooltipParams:function(e){if(this.graphic){var t=u(this.lowY,this.highY),n=d(this.lowY,this.highY),i=this._getVisibleArea(),o=this._options.rotated,a=o?i.minX:i.minY,r=o?i.maxX:i.maxY,s=d(a,t),l=u(r,n),c=this.getCenterCoord();return\"edge\"===e&&(c[o?\"x\":\"y\"]=o?l:s),c.offset=0,c}},getCenterCoord:function(){if(this.graphic){var e,t,n=u(this.lowY,this.highY),i=d(this.lowY,this.highY),o=this._getVisibleArea(),a=this._options.rotated,r=a?o.minX:o.minY,s=a?o.maxX:o.maxY,l=d(r,n),c=l+(u(s,i)-l)/2;return a?(t=this.x,e=c):(e=this.x,t=c),{x:e,y:t}}},hasValue:function(){return null!==this.highValue&&null!==this.lowValue},hasCoords:function(){return null!==this.x&&null!==this.lowY&&null!==this.highY},_translate:function(){var e=this._options.rotated,t=this._getValTranslator(),n=this._getArgTranslator().translate(this.argument);this.vx=this.vy=this.x=null===n?n:n+(this.xCorrection||0),this.openY=null!==this.openValue?t.translate(this.openValue):null,this.highY=t.translate(this.highValue),this.lowY=t.translate(this.lowValue),this.closeY=null!==this.closeValue?t.translate(this.closeValue):null;var i=u(this.lowY,this.highY)+l(this.lowY-this.highY)/2;this._calculateVisibility(e?i:this.x,e?this.x:i)},getCrosshairData:function(e,t){var n,i,o=this._options.rotated,a=o?e:t,r=this.argument,s=\"low\";return l(this.lowY-a)<l(this.closeY-a)?n=this.lowY:(n=this.closeY,s=\"close\"),l(n-a)>=l(this.openY-a)&&(n=this.openY,s=\"open\"),l(n-a)>=l(this.highY-a)&&(n=this.highY,s=\"high\"),(i=o?{y:this.vy,x:n,xValue:this[s+\"Value\"],yValue:r}:{x:this.vx,y:n,xValue:r,yValue:this[s+\"Value\"]}).axis=this.series.axis,i},_updateData:function(e){var t=this._label,n=this._options.reduction.color;this.value=this.initialValue=e.reductionValue,this.originalValue=e.value,this.lowValue=this.originalLowValue=e.lowValue,this.highValue=this.originalHighValue=e.highValue,this.openValue=this.originalOpenValue=e.openValue,this.closeValue=this.originalCloseValue=e.closeValue,this._isPositive=e.openValue<e.closeValue,this._isReduction=e.isReduction,this._isReduction&&t.setColor(n)},_updateMarker:function(e,t,n){var i=this.graphic;i.attr({points:this._getPoints()}).smartAttr(t).sharp(),n&&i.append(this._getMarkerGroup(n))},_getLabelFormatObject:function(){return{openValue:this.openValue,highValue:this.highValue,lowValue:this.lowValue,closeValue:this.closeValue,reductionValue:this.initialValue,argument:this.initialArgument,value:this.initialValue,seriesName:this.series.name,originalOpenValue:this.originalOpenValue,originalCloseValue:this.originalCloseValue,originalLowValue:this.originalLowValue,originalHighValue:this.originalHighValue,originalArgument:this.originalArgument,point:this}},_getFormatObject:function(e){var t=e.formatValue(this.highValue),n=e.formatValue(this.openValue),a=e.formatValue(this.closeValue),r=e.formatValue(this.lowValue),s=o.default._getFormatObject.call(this,e);return(0,i.extend)({},s,{valueText:\"h: \"+t+(\"\"!==n?\" o: \"+n:\"\")+(\"\"!==a?\" c: \"+a:\"\")+\" l: \"+r,highValueText:t,openValueText:n,closeValueText:a,lowValueText:r})},getMaxValue:function(){return this.highValue},getMinValue:function(){return this.lowValue}});t.default=h,e.exports=t.default,e.exports.default=t.default},28318:function(e,t,n){t.Label=C;var i,o=(i=n(30343))&&i.__esModule?i:{default:i},a=n(19157),r=n(95479),s=n(13306),l=n(10656);var u=o.default.format,d=Math,c=d.round,h=d.floor,f=d.abs;function p(e,t){var n,i=1/0;return(0,r.each)(t,(function(t,o){var a=e[0]-o[0],r=e[1]-o[1],s=a*a+r*r;s<i&&(i=s,n=o)})),[h(n[0]),h(n[1])]}function g(e,t,n){return(t-e[0+n])/(e[2+n]-e[0+n])*(e[3-n]-e[1-n])+e[1-n]}var m={isLabelInside:function(e,t){var n=e.x+e.width/2,i=e.y+e.height/2;return t.x<=n&&n<=t.x+t.width&&t.y<=i&&i<=t.y+t.height},prepareLabelPoints:function(e,t,n,i,o){var a=t.x,r=a+t.width/2,s=a+t.width-1,l=t.y,u=l+t.height/2,d=l+t.height-1,c=f(i)%90==0;return o[0]>a&&o[0]<s?c?[[o[0],f(o[1]-l)<f(o[1]-d)?l:d]]:[[o[0],g([a,l,s,d],o[0],0)]]:o[1]>l&&o[1]<d?c?[[f(o[0]-a)<f(o[0]-s)?a:s,o[1]]]:[[g([a,l,s,d],o[1],1),o[1]]]:c?[[a,l],[n?a:r,n?u:l],[s,l],[a,d],[n?s:r,n?u:d],[s,d]]:[[r,u]]},isHorizontal:function(e,t){return e.x>t.x+t.width||e.x+e.width<t.x},getFigureCenter:function(e){return[h(e.x+e.width/2),h(e.y+e.height/2)]},findFigurePoint:function(e,t){var n=m.getFigureCenter(e);return p(t,[[e.x,n[1]],[n[0],e.y+e.height],[e.x+e.width,n[1]],[n[0],e.y]])},adjustPoints:function(e){var t=f(e[1]-e[3])<=1;return f(e[0]-e[2])<=1&&(e[0]=e[2]),t&&(e[1]=e[3]),e}},_={isLabelInside:function(){return!1},prepareLabelPoints:m.prepareLabelPoints,isHorizontal:function(e,t){return e.x>t.x+t.r||e.x+e.width<t.x-t.r},getFigureCenter:function(e){return[e.x,e.y]},findFigurePoint:function(e,t){var n=Math.atan2(e.y-t[1],t[0]-e.x);return[c(e.x+e.r*Math.cos(n)),c(e.y-e.r*Math.sin(n))]},adjustPoints:m.adjustPoints},v={isLabelInside:function(e,t,n){return!n},prepareLabelPoints:function(e,t,n,i){var o=e.x,r=o+e.width,s=o+c(e.width/2),l=e.y,u=l+e.height,d=l+c(e.height/2),h=[[[o,l],[r,l]],[[r,l],[r,u]],[[r,u],[o,u]],[[o,u],[o,l]]],f=(0,a.getCosAndSin)(i);return h=0===i?n?[[o,d],[r,d]]:[[s,l],[s,u]]:h.map((function(e){return e.map((function(e){return[c((e[0]-s)*f.cos+(e[1]-d)*f.sin+s),c(-(e[0]-s)*f.sin+(e[1]-d)*f.cos+d)]}))})).reduce((function(e,t){var i=t[0][0],o=t[0][1],a=t[1][0],r=t[1][1];return n?(o>=d&&d>=r||o<=d&&d<=r)&&e.push([(d-o)*(a-i)/(r-o)+i,d]):(i>=s&&s>=a||i<=s&&s<=a)&&e.push([s,(s-i)*(r-o)/(a-i)+o]),e}),[])},isHorizontal:function(e,t){return e.x>t.x||t.x>e.x+e.width},getFigureCenter:_.getFigureCenter,findFigurePoint:function(e,t,n){if(!n)return[e.x,e.y];var i=t[0],o=c(e.x+(e.y-t[1])/Math.tan((0,a.degreesToRadians)(e.angle))),r=[e.x,e.y,o,t[1]];return e.x<=o&&o<=i||i<=o&&o<=e.x||(f(e.x-i)<12?r=[e.x,e.y]:e.x<=i?r[2]=e.x+12:r[2]=e.x-12),r},adjustPoints:function(e){return e}};function y(e){return void 0!==e.angle&&v||void 0!==e.r&&_||m}function b(e,t){e[t]&&e[t].dispose(),e[t]=null}function x(e){return e&&(e.fill&&\"none\"!==e.fill||e[\"stroke-width\"]>0&&e.stroke&&\"none\"!==e.stroke)}function w(e){return e&&e[\"stroke-width\"]>0&&e.stroke&&\"none\"!==e.stroke}function C(e){this._renderer=e.renderer,this._container=e.labelsGroup,this._point=e.point,this._strategy=e.strategy,this._rowCount=1}C.prototype={constructor:C,setColor:function(e){this._color=e},setOptions:function(e){this._options=e},setData:function(e){this._data=e},setDataField:function(e,t){this._data=this._data||{},this._data[e]=t},getData:function(){return this._data},setFigureToDrawConnector:function(e){this._figure=e},dispose:function(){b(this,\"_group\"),this._data=this._options=this._textContent=this._visible=this._insideGroup=this._text=this._background=this._connector=this._figure=null},_setVisibility:function(e,t){this._group&&this._group.attr({visibility:e}),this._visible=t},isVisible:function(){return this._visible},hide:function(e){this._holdVisibility=!!e,this._hide()},_hide:function(){this._setVisibility(\"hidden\",!1)},show:function(e){var t=!this._drawn;this._point.hasValue()&&(this._holdVisibility=!!e,this._show(),t&&this._point.correctLabelPosition(this))},_show:function(){var e=this._renderer,t=this._container,n=this._options||{},i=this._textContent=function(e,t){var n=t.format;return e.valueText=u(e.value,n),e.argumentText=u(e.argument,t.argumentFormat),void 0!==e.percent&&(e.percentText=u(e.percent,{type:\"percent\",precision:n&&n.percentPrecision})),void 0!==e.total&&(e.totalText=u(e.total,n)),void 0!==e.openValue&&(e.openValueText=u(e.openValue,n)),void 0!==e.closeValue&&(e.closeValueText=u(e.closeValue,n)),void 0!==e.lowValue&&(e.lowValueText=u(e.lowValue,n)),void 0!==e.highValue&&(e.highValueText=u(e.highValue,n)),void 0!==e.reductionValue&&(e.reductionValueText=u(e.reductionValue,n)),t.customizeText?t.customizeText.call(e,e):t.displayFormat?(0,l.processDisplayFormat)(t.displayFormat,e):e.valueText}(this._data,n)||null;i?(this._group||(this._group=e.g().append(t),this._insideGroup=e.g().append(this._group),this._text=e.text(\"\",0,0).append(this._insideGroup)),this._text.css(n.attributes?(0,a.patchFontOptions)(n.attributes.font):{}),x(n.background)?(this._background=this._background||e.rect().append(this._insideGroup).toBackground(),this._background.attr(n.background),this._color&&this._background.attr({fill:this._color})):b(this,\"_background\"),w(n.connector)?(this._connector=this._connector||e.path([],\"line\").sharp().append(this._group).toBackground(),this._connector.attr(n.connector),this._color&&this._connector.attr({stroke:this._color})):b(this,\"_connector\"),this._text.attr({text:i,align:n.textAlignment,class:n.cssClass}),this._updateBackground(this._text.getBBox()),this._setVisibility(\"visible\",!0),this._drawn=!0):this._hide()},_getLabelVisibility:function(e){return this._holdVisibility?this.isVisible():e},draw:function(e){return this._getLabelVisibility(e)?(this._show(),this._point&&this._point.correctLabelPosition(this)):(this._drawn=!1,this._hide()),this},_updateBackground:function(e){this._background&&(e.x-=8,e.y-=4,e.width+=16,e.height+=8,this._background.attr(e)),this._bBoxWithoutRotation=(0,s.extend)({},e);var t=this._options.rotationAngle||0;this._insideGroup.rotate(t,e.x+e.width/2,e.y+e.height/2),e=(0,a.rotateBBox)(e,[e.x+e.width/2,e.y+e.height/2],-t),this._bBox=e},getFigureCenter:function(){var e=this._figure;return(this._strategy||y(e)).getFigureCenter(e)},_getConnectorPoints:function(){var e,t,n=this._figure,i=this._options,o=this._strategy||y(n),a=this._shiftBBox(this._bBoxWithoutRotation),r=this.getBoundingRect(),s=[];if(!o.isLabelInside(a,n,\"inside\"!==i.position)){t=o.isHorizontal(a,n);var l=this.getFigureCenter();e=p(l,s=o.prepareLabelPoints(a,r,t,-i.rotationAngle||0,l)),s=(s=o.findFigurePoint(n,e,t)).concat(e)}return o.adjustPoints(s)},fit:function(e){var t=this._background?16:0,n=!1;if(this._text){var i=this._text.setMaxSize(e-t,void 0,this._options),o=i.rowCount;0===o&&(o=1),o!==this._rowCount&&(n=!0,this._rowCount=o),i.textIsEmpty&&b(this,\"_background\")}return this._updateBackground(this._text.getBBox()),n},resetEllipsis:function(){this._text&&this._text.restoreText(),this._updateBackground(this._text.getBBox())},setTrackerData:function(e){this._text.data({\"chart-data-point\":e}),this._background&&this._background.data({\"chart-data-point\":e})},hideInsideLabel:function(e){return this._point.hideInsideLabel(this,e)},getPoint:function(){return this._point},shift:function(e,t){return this._textContent&&(this._insideGroup.attr({translateX:this._x=c(e-this._bBox.x),translateY:this._y=c(t-this._bBox.y)}),this._connector&&this._connector.attr({points:this._getConnectorPoints()})),this},getBoundingRect:function(){return this._shiftBBox(this._bBox)},_shiftBBox:function(e){return this._textContent?{x:e.x+this._x,y:e.y+this._y,width:e.width,height:e.height}:{}},getLayoutOptions:function(){var e=this._options;return{alignment:e.alignment,background:x(e.background),horizontalOffset:e.horizontalOffset,verticalOffset:e.verticalOffset,radialOffset:e.radialOffset,position:e.position,connectorOffset:(w(e.connector)?12:0)+(x(e.background)?8:0)}}}},85912:function(e,t,n){t.default=void 0;var i=n(13306),o=l(n(24894)),a=n(19157),r=n(35922),s=l(n(32410));function l(e){return e&&e.__esModule?e:{default:e}}var u=i.extend,d=Math.round,c=Math.sqrt,h=Math.acos,f=180/Math.PI,p=Math.abs,g=s.default.radialLabelIndent,m=u({},o.default,{_updateData:function(e,t){o.default._updateData.call(this,e),!t&&(0,r.isDefined)(this._visible)||(this._visible=!0),this.minValue=this.initialMinValue=this.originalMinValue=(0,r.isDefined)(e.minValue)?e.minValue:0},animate:function(e,t,n){this.graphic.animate({x:this.centerX,y:this.centerY,outerRadius:this.radiusOuter,innerRadius:this.radiusInner,startAngle:this.toAngle,endAngle:this.fromAngle},{delay:n,partitionDuration:t},e)},correctPosition:function(e){this.correctRadius(e),this.correctLabelRadius(e.radiusOuter+g),this.centerX=e.centerX,this.centerY=e.centerY},correctRadius:function(e){this.radiusInner=e.radiusInner,this.radiusOuter=e.radiusOuter},correctLabelRadius:function(e){this.radiusLabels=e},correctValue:function(e,t,n){this.value=(n||this.normalInitialValue)+e,this.minValue=e,this.percent=t,this._label.setDataField(\"percent\",t)},_updateLabelData:function(){this._label.setData(this._getLabelFormatObject())},_getShiftLabelCoords:function(){var e=this._label.getBoundingRect(),t=this._getLabelCoords(this._label),n=this._getVisibleArea();return this._isLabelDrawingWithoutPoints?this._checkLabelPosition(t,e,n):this._getLabelExtraCoord(t,this._checkVerticalLabelPosition(t,e,n),e)},_getLabelPosition:function(e){return e.position},getAnnotationCoords:function(e){return this._getElementCoords(\"edge\"!==e?\"inside\":\"outside\",this.radiusOuter,0)},_getElementCoords:function(e,t,n){var i,o,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{x:0,y:0,width:0,height:0},s=this,l=(0,a.getCosAndSin)(s.middleAngle),u=s.radiusInner,c=s.radiusOuter,h=\"columns\"===e;return\"inside\"===e?(i=u+(c-u)/2+n,o=s.centerX+i*l.cos-r.width/2):(i=t+n,o=l.cos>.1||h&&l.cos>=0?s.centerX+i*l.cos:l.cos<-.1||h&&l.cos<0?s.centerX+i*l.cos-r.width:s.centerX+i*l.cos-r.width/2),{x:o,y:d(s.centerY-i*l.sin-r.height/2)}},_getLabelCoords:function(e){var t=e.getBoundingRect(),n=e.getLayoutOptions(),i=this._getLabelPosition(n);return this._getElementCoords(i,this.radiusLabels,n.radialOffset,t)},_correctLabelCoord:function(e,t){var n=this._label,i=n.getBoundingRect().width,o=n.getLayoutOptions(),r=this._getVisibleArea(),s=r.maxX-i,l=r.minX,u=(0,a.normalizeAngle)(this.middleAngle),d=this.centerX,c=o.connectorOffset,h=e.x;return\"columns\"===o.position?(h=u<=90||u>=270?s:l,e.x=h):\"inside\"!==o.position&&t&&(u<=90||u>=270?h-c<d&&(h=d+c):h+i+c>d&&(h=d-i-c),e.x=h),e},drawLabel:function(){this.translate(),this._isLabelDrawingWithoutPoints=!0,this._drawLabel(),this._isLabelDrawingWithoutPoints=!1},updateLabelCoord:function(e){var t=this._label.getBoundingRect(),n=this._correctLabelCoord(t,e);n=this._checkHorizontalLabelPosition(n,t,this._getVisibleArea()),this._label.shift(d(n.x),d(t.y))},_checkVerticalLabelPosition:function(e,t,n){var i=e.x,o=e.y;return e.y+t.height>n.maxY?o=n.maxY-t.height:e.y<n.minY&&(o=n.minY),{x:i,y:o}},_getLabelExtraCoord:function(e,t,n){return e.y!==t.y?(0,a.getVerticallyShiftedAngularCoords)({x:e.x,y:e.y,width:n.width,height:n.height},t.y-e.y,{x:this.centerX,y:this.centerY}):e},_checkHorizontalLabelPosition:function(e,t,n){var i=e.x,o=e.y;return e.x+t.width>n.maxX?i=n.maxX-t.width:e.x<n.minX&&(i=n.minX),{x:i,y:o}},applyWordWrap:function(e){var t=this._label,n=t.getBoundingRect(),i=this._getVisibleArea(),o=t.getLayoutOptions().position,a=n.width,r=!1;return\"columns\"===o&&this.series.index>0?a=i.maxX-this.centerX-this.radiusLabels:\"inside\"===o?a>i.maxX-i.minX&&(a=i.maxX-i.minX):e&&n.x<this.centerX&&n.width+n.x>this.centerX?a=Math.floor((i.maxX-i.minX)/2):n.x+a>i.maxX?a=i.maxX-n.x:n.x<i.minX&&(a=n.x+a-i.minX),a<n.width&&(r=t.fit(a)),r},setLabelTrackerData:function(){this._label.setTrackerData(this)},_checkLabelPosition:function(e,t,n){return e=this._checkHorizontalLabelPosition(e,t,n),this._checkVerticalLabelPosition(e,t,n)},_getLabelConnector:function(){var e=this.radiusOuter,t=this._options.styles.normal,n=t[\"stroke-width\"]/2,i=this.series.getOptions().containerBackgroundColor===t.stroke?d(n):d(-n),o=(0,a.getCosAndSin)(d(this.middleAngle));return{x:d(this.centerX+(e-i)*o.cos),y:d(this.centerY-(e-i)*o.sin),angle:this.middleAngle}},_drawMarker:function(e,t,n,i){var o=this.radiusOuter,a=this.radiusInner,r=this.fromAngle,s=this.toAngle;n&&(a=o=0,i||(r=s=this.shiftedAngle)),this.graphic=e.arc(this.centerX,this.centerY,a,o,s,r).attr({\"stroke-linejoin\":\"round\"}).smartAttr(this._getStyle()).data({\"chart-data-point\":this}).sharp().append(t)},getTooltipParams:function(){var e=(0,a.getCosAndSin)(this.middleAngle),t=this.radiusInner,n=this.radiusOuter;return{x:this.centerX+(t+(n-t)/2)*e.cos,y:this.centerY-(t+(n-t)/2)*e.sin,offset:0}},_translate:function(){var e=this.shiftedAngle||0,t=this.value,n=this.minValue,i=this._getValTranslator();this.fromAngle=i.translate(n)+e,this.toAngle=i.translate(t)+e,this.middleAngle=i.translate((t-n)/2+n)+e,this.isVisible()||(this.middleAngle=this.toAngle=this.fromAngle=this.fromAngle||e)},getMarkerVisibility:function(){return!0},_updateMarker:function(e,t,n,i){e||(t=u({x:this.centerX,y:this.centerY,outerRadius:this.radiusOuter,innerRadius:this.radiusInner,startAngle:this.toAngle,endAngle:this.fromAngle},t)),this.graphic.smartAttr(t).sharp(),i&&i()},getLegendStyles:function(){return this._styles.legendStyles},isInVisibleArea:function(){return!0},hide:function(){this._visible&&(this._visible=!1,this.hideTooltip(),this._options.visibilityChanged())},show:function(){this._visible||(this._visible=!0,this._options.visibilityChanged())},setInvisibility:function(){this._label.draw(!1)},isVisible:function(){return this._visible},_getFormatObject:function(e){var t=o.default._getFormatObject.call(this,e),n=this.percent;return t.percent=n,t.percentText=e.formatValue(n,\"percent\"),t},getColor:function(){return this._styles.normal.fill},coordsIn:function(e,t){var n,i=e-this.centerX,o=t-this.centerY,a=c(i*i+o*o),r=this.fromAngle%360,s=this.toAngle%360;return!(a<this.radiusInner||a>this.radiusOuter||0===a)&&((n=h(i/a)*f*(o>0?-1:1))<0&&(n+=360),r===s&&p(this.toAngle-this.fromAngle)>1e-4||(r>=s?n<=r&&n>=s:!(n>=r&&n<=s)))}});t.default=m,e.exports=t.default,e.exports.default=t.default},38234:function(e,t,n){t.polarSymbolPoint=t.polarBarPoint=void 0;var i=n(13306),o=d(n(24894)),a=d(n(27428)),r=d(n(85912)),s=n(35922),l=n(19157),u=d(n(32410));function d(e){return e&&e.__esModule?e:{default:e}}var c=i.extend,h=Math,f=h.max,p=u.default.radialLabelIndent,g=c({},o.default,{_getLabelCoords:r.default._getLabelCoords,_getElementCoords:r.default._getElementCoords,_moveLabelOnCanvas:function(e,t,n){var i=e.x,o=e.y;return t.minX>i&&(i=t.minX),t.maxX<i+n.width&&(i=t.maxX-n.width),t.minY>o&&(o=t.minY),t.maxY<o+n.height&&(o=t.maxY-n.height),{x:i,y:o}},_getLabelPosition:function(){return\"outside\"},_getCoords:function(e,t){var n=this.series.getValueAxis(),i=n.getAngles()[0],o=this._getArgTranslator().translate(e),a=this._getValTranslator().translate(t),r=(0,l.convertPolarToXY)(n.getCenter(),n.getAngles()[0],o,a);return r.angle=o+i-90,r.radius=a,r},_translate:function(){var e=this.series.getValueAxis().getCenter(),t=this._getCoords(this.argument,this.value),n=this._getValTranslator(),i=n.isInverted()?n.translate(\"canvas_position_start\"):n.translate(\"canvas_position_end\"),o=(0,s.isDefined)(t.radius)&&t.radius>=0?t.radius:null;this.vx=(0,l.normalizeAngle)(t.angle),this.vy=this.radiusOuter=this.radiusLabels=o,this.radiusLabels+=p,this.radius=o,this.middleAngle=-t.angle,this.angle=-t.angle,this.x=t.x,this.y=t.y,this.defaultX=this.centerX=e.x,this.defaultY=this.centerY=e.y,this._translateErrorBars(),this.inVisibleArea=this._checkRadiusForVisibleArea(o,i)},_checkRadiusForVisibleArea:function(e,t){return(0,s.isDefined)(e)&&e<=t},_translateErrorBars:function(){var e=this._options.errorBars,t=this._getValTranslator();e&&((0,s.isDefined)(this.lowError)&&(this._lowErrorCoord=this.centerY-t.translate(this.lowError)),(0,s.isDefined)(this.highError)&&(this._highErrorCoord=this.centerY-t.translate(this.highError)),this._errorBarPos=this.centerX,this._baseErrorBarPos=\"stdDeviation\"===e.type?this._lowErrorCoord+(this._highErrorCoord-this._lowErrorCoord)/2:this.centerY-this.radius)},_getTranslates:function(e){return e?this.getDefaultCoords():{x:this.x,y:this.y}},getDefaultCoords:function(){var e=(0,l.getCosAndSin)(-this.angle),t=this._getValTranslator().translate(\"canvas_position_default\");return{x:this.defaultX+t*e.cos,y:this.defaultY+t*e.sin}},_addLabelAlignmentAndOffset:function(e,t){return t},_checkLabelPosition:function(e,t){var n=this._getVisibleArea(),i=this._getGraphicBBox();return this._isPointInVisibleArea(n,i)&&(t=this._moveLabelOnCanvas(t,n,e.getBoundingRect())),t},_getErrorBarSettings:function(e,t){var n=o.default._getErrorBarSettings.call(this,e,t);return n.rotate=90-this.angle,n.rotateX=this.centerX,n.rotateY=this.centerY,n},getCoords:function(e){return e?this.getDefaultCoords():{x:this.x,y:this.y}}});t.polarSymbolPoint=g;var m=c({},a.default,{_translateErrorBars:g._translateErrorBars,_getErrorBarSettings:g._getErrorBarSettings,_moveLabelOnCanvas:g._moveLabelOnCanvas,_getLabelCoords:r.default._getLabelCoords,_getElementCoords:r.default._getElementCoords,_getLabelConnector:r.default._getLabelConnector,getTooltipParams:r.default.getTooltipParams,_getLabelPosition:r.default._getLabelPosition,_getCoords:g._getCoords,_translate:function(){var e=this._getValTranslator(),t=e.getBusinessRange(),n=e.isInverted()?e.translate(\"canvas_position_start\"):e.translate(\"canvas_position_end\");this.radiusInner=e.translate(this.minValue),g._translate.call(this),null===this.radiusInner?this.radiusInner=this.radius=n:null===this.radius?this.radius=this.value>=t.minVisible?n:0:this.radius>n&&(this.radius=n),this.radiusOuter=this.radiusLabels=f(this.radiusInner,this.radius),this.radiusLabels+=p,this.radiusInner=this.defaultRadius=h.min(this.radiusInner,this.radius),this.middleAngle=this.angle=-(0,l.normalizeAngle)(this.middleAngleCorrection-this.angle)},_checkRadiusForVisibleArea:function(e){return(0,s.isDefined)(e)||this._getValTranslator().translate(this.minValue)>0},_getErrorBarBaseEdgeLength:function(){var e=this.getMarkerCoords();return h.PI*e.outerRadius*h.abs(e.startAngle-e.endAngle)/180},getMarkerCoords:function(){return{x:this.centerX,y:this.centerY,outerRadius:this.radiusOuter,innerRadius:this.defaultRadius,startAngle:this.middleAngle-this.interval/2,endAngle:this.middleAngle+this.interval/2}},_drawMarker:function(e,t,n){var i=this._getStyle(),o=this.getMarkerCoords(),a=o.innerRadius,r=o.outerRadius,s=this._getCoords(this.argument,\"canvas_position_default\"),l=o.x,u=o.y;n&&(a=0,r=0,l=s.x,u=s.y),this.graphic=e.arc(l,u,a,r,o.startAngle,o.endAngle).attr(i).data({\"chart-data-point\":this}).append(t)},_checkLabelPosition:function(e,t){var n=this._getVisibleArea(),i=(0,l.getCosAndSin)(this.middleAngle),o=this.centerX+this.defaultRadius*i.cos,a=this.centerY-this.defaultRadius*i.sin;return o>n.minX&&o<n.maxX&&a>n.minY&&a<n.maxY&&(t=this._moveLabelOnCanvas(t,n,e.getBoundingRect())),t},_addLabelAlignmentAndOffset:function(e,t){return t},correctCoordinates:function(e){this.middleAngleCorrection=e.offset,this.interval=e.width},coordsIn:function(e,t){var n=(0,l.convertXYToPolar)(this.series.getValueAxis().getCenter(),e,t),i=this.getMarkerCoords(),o=i.startAngle<i.endAngle?-n.phi>=i.startAngle&&-n.phi<=i.endAngle:-n.phi<=i.startAngle&&-n.phi>=i.endAngle;return n.r>=i.innerRadius&&n.r<=i.outerRadius&&o}});t.polarBarPoint=m},73206:function(e,t,n){t.default=void 0;var i=n(20576),o=n(13306),a=s(n(27428)),r=s(n(97319));function s(e){return e&&e.__esModule?e:{default:e}}var l=(0,o.extend)({},a.default,{deleteLabel:r.default.deleteLabel,_getFormatObject:r.default._getFormatObject,clearVisibility:function(){var e=this.graphic;e&&e.attr(\"visibility\")&&e.attr({visibility:null})},setInvisibility:function(){var e=this.graphic;e&&\"hidden\"!==e.attr(\"visibility\")&&e.attr({visibility:\"hidden\"}),this._topLabel.draw(!1),this._bottomLabel.draw(!1)},getTooltipParams:function(e){var t,n,i=\"edge\"===e;return this._options.rotated?(t=i?this.x+this.width:this.x+this.width/2,n=this.y+this.height/2):(t=this.x+this.width/2,n=i?this.y:this.y+this.height/2),{x:t,y:n,offset:0}},_translate:function(){a.default._translate.call(this),this._options.rotated?this.width=this.width||1:this.height=this.height||1},hasCoords:r.default.hasCoords,_updateData:r.default._updateData,_getLabelPosition:r.default._getLabelPosition,_getLabelMinFormatObject:r.default._getLabelMinFormatObject,_updateLabelData:r.default._updateLabelData,_updateLabelOptions:r.default._updateLabelOptions,getCrosshairData:r.default.getCrosshairData,_createLabel:r.default._createLabel,_checkOverlay:r.default._checkOverlay,_checkLabelsOverlay:r.default._checkLabelsOverlay,_getOverlayCorrections:r.default._getOverlayCorrections,_drawLabel:r.default._drawLabel,_getLabelCoords:r.default._getLabelCoords,getLabel:r.default.getLabel,getLabels:r.default.getLabels,getBoundingRect:i.noop,getMinValue:r.default.getMinValue,getMaxValue:r.default.getMaxValue});t.default=l,e.exports=t.default,e.exports.default=t.default},97319:function(e,t,n){t.default=void 0;var i,o=n(95479),a=n(13306),r=n(20576),s=n(28318),l=(i=n(24894))&&i.__esModule?i:{default:i},u=n(35922);var d=a.extend,c=Math,h=c.abs,f=c.min,p=c.max,g=c.round,m=d({},l.default,{deleteLabel:function(){this._topLabel.dispose(),this._topLabel=null,this._bottomLabel.dispose(),this._bottomLabel=null},hideMarker:function(e){var t=this.graphic,n=t&&t[e+\"Marker\"],i=this[\"_\"+e+\"Label\"];n&&\"hidden\"!==n.attr(\"visibility\")&&n.attr({visibility:\"hidden\"}),i.draw(!1)},setInvisibility:function(){this.hideMarker(\"top\"),this.hideMarker(\"bottom\")},clearVisibility:function(){var e=this.graphic,t=e&&e.topMarker,n=e&&e.bottomMarker;t&&t.attr(\"visibility\")&&t.attr({visibility:null}),n&&n.attr(\"visibility\")&&n.attr({visibility:null})},clearMarker:function(){var e=this.graphic,t=e&&e.topMarker,n=e&&e.bottomMarker,i=this._emptySettings;t&&t.attr(i),n&&n.attr(i)},_getLabelPosition:function(e){var t=\"inside\"===this._options.label.position;return this._options.rotated?\"top\"===e^t?\"right\":\"left\":\"top\"===e^t?\"top\":\"bottom\"},_getLabelMinFormatObject:function(){return{index:0,argument:this.initialArgument,value:this.initialMinValue,seriesName:this.series.name,originalValue:this.originalMinValue,originalArgument:this.originalArgument,point:this}},_updateLabelData:function(){var e=this._getLabelFormatObject();e.index=1,this._topLabel.setData(e),this._bottomLabel.setData(this._getLabelMinFormatObject())},_updateLabelOptions:function(){var e=this._options.label;(!this._topLabel||!this._bottomLabel)&&this._createLabel(),this._topLabel.setOptions(e),this._bottomLabel.setOptions(e)},_createLabel:function(){var e={renderer:this.series._renderer,labelsGroup:this.series._labelsGroup,point:this};this._topLabel=new s.Label(e),this._bottomLabel=new s.Label(e)},_getGraphicBBox:function(e){var t=this._options,n=this._getImage(t.image),i=\"top\"===e?this._checkImage(n.top):this._checkImage(n.bottom),o=this._getPositionFromLocation(e);return t.visible?i?this._getImageBBox(o.x,o.y):this._getSymbolBBox(o.x,o.y,t.styles.normal.r):{x:o.x,y:o.y,width:0,height:0}},_getPositionFromLocation:function(e){var t,n,i=\"top\"===e;return this._options.rotated?(t=i?p(this.x,this.minX):f(this.x,this.minX),n=this.y):(t=this.x,n=i?f(this.y,this.minY):p(this.y,this.minY)),{x:t,y:n}},_checkOverlay:function(e,t,n){return e<t+n},_getOverlayCorrections:function(e,t){var n=this._options.rotated,i=n?\"x\":\"y\",o=n?\"width\":\"height\",a=this.series.getValueAxis().getVisibleArea(),r=a[0],s=a[1],l=g((e[i]+e[o]-t[i])/2),u=e[i]-l,d=t[i]+l;return u<r?(u+=l=r-u,d+=l):d+t[o]>s&&(u+=l=s-d-t[o],d+=l),{coord1:u,coord2:d}},_checkLabelsOverlay:function(e){var t=this._topLabel.getBoundingRect(),n=this._bottomLabel.getBoundingRect(),i={};this._options.rotated?\"top\"===e?this._checkOverlay(t.x,n.x,n.width)&&(i=this._getOverlayCorrections(n,t),this._topLabel.shift(i.coord2,t.y),this._bottomLabel.shift(i.coord1,n.y)):this._checkOverlay(n.x,t.x,t.width)&&(i=this._getOverlayCorrections(t,n),this._topLabel.shift(i.coord1,t.y),this._bottomLabel.shift(i.coord2,n.y)):\"top\"===e?this._checkOverlay(n.y,t.y,t.height)&&(i=this._getOverlayCorrections(t,n),this._topLabel.shift(t.x,i.coord1),this._bottomLabel.shift(n.x,i.coord2)):this._checkOverlay(t.y,n.y,n.height)&&(i=this._getOverlayCorrections(n,t),this._topLabel.shift(t.x,i.coord2),this._bottomLabel.shift(n.x,i.coord1))},_drawLabel:function(){var e=[],t=this._options.rotated?this.x>=this.minX:this.y<this.minY,n=this._getCustomLabelVisibility(),i=this._topLabel,a=this._bottomLabel;i.pointPosition=t?\"top\":\"bottom\",a.pointPosition=t?\"bottom\":\"top\",(this.series.getLabelVisibility()||n)&&this.hasValue()&&!1!==n?(!1!==this.visibleTopMarker&&e.push(i),!1!==this.visibleBottomMarker&&e.push(a),(0,o.each)(e,(function(e,t){t.draw(!0)})),this._checkLabelsOverlay(this._topLabel.pointPosition)):(i.draw(!1),a.draw(!1))},_getImage:function(e){var t={};return(0,u.isDefined)(e)&&(\"string\"==typeof e?t.top=t.bottom=e:(t.top={url:\"string\"==typeof e.url?e.url:e.url&&e.url.rangeMaxPoint,width:\"number\"==typeof e.width?e.width:e.width&&e.width.rangeMaxPoint,height:\"number\"==typeof e.height?e.height:e.height&&e.height.rangeMaxPoint},t.bottom={url:\"string\"==typeof e.url?e.url:e.url&&e.url.rangeMinPoint,width:\"number\"==typeof e.width?e.width:e.width&&e.width.rangeMinPoint,height:\"number\"==typeof e.height?e.height:e.height&&e.height.rangeMinPoint})),t},_checkSymbol:function(e,t){var n=e.symbol,i=t.symbol,o=\"circle\"===n&&\"circle\"!==i||\"circle\"!==n&&\"circle\"===i,a=this._getImage(e.image),r=this._getImage(t.image),s=this._checkImage(a.top)!==this._checkImage(r.top),l=this._checkImage(a.bottom)!==this._checkImage(r.bottom);return o||s||l},_getSettingsForTwoMarkers:function(e){var t=this._options,n={},i=t.rotated?f(this.x,this.minX):this.x,o=t.rotated?this.y:f(this.y,this.minY),a=e.r,r=this._populatePointShape(t.symbol,a);return n.top=d({translateX:i+this.width,translateY:o,r:a},e),n.bottom=d({translateX:i,translateY:o+this.height,r:a},e),r&&(n.top.points=n.bottom.points=r),n},_hasGraphic:function(){return this.graphic&&this.graphic.topMarker&&this.graphic.bottomMarker},_drawOneMarker:function(e,t,n,i){var o=this.graphic;o[t]?this._updateOneMarker(t,i):o[t]=this._createMarker(e,o,n,i)},_drawMarker:function(e,t,n,i,o){var a=this._getSettingsForTwoMarkers(o||this._getStyle()),r=this._getImage(this._options.image);this._checkImage(r.top)&&(a.top=this._getImageSettings(a.top,r.top)),this._checkImage(r.bottom)&&(a.bottom=this._getImageSettings(a.bottom,r.bottom)),this.graphic=this.graphic||e.g().append(t),this.visibleTopMarker&&this._drawOneMarker(e,\"topMarker\",r.top,a.top),this.visibleBottomMarker&&this._drawOneMarker(e,\"bottomMarker\",r.bottom,a.bottom)},_getSettingsForTracker:function(e){var t=this._options.rotated;return{translateX:t?f(this.x,this.minX)-e:this.x-e,translateY:t?this.y-e:f(this.y,this.minY)-e,width:this.width+2*e,height:this.height+2*e}},isInVisibleArea:function(){var e,t,n,i=this._options.rotated,o=i?this.y:this.x,a=i?p(this.minX,this.x):p(this.minY,this.y),r=i?f(this.minX,this.x):f(this.minY,this.y),s=!0,l=this.series.getArgumentAxis().getVisibleArea(),u=this.series.getValueAxis().getVisibleArea(),d=l[1]<o||l[0]>o,c=u[0]>r&&u[0]>a||u[1]<r&&u[1]<a;return d||c?t=n=s=!1:(t=u[0]<=r&&u[1]>r,n=u[0]<a&&u[1]>=a,i&&(e=t,t=n,n=e)),this.visibleTopMarker=t,this.visibleBottomMarker=n,s},getTooltipParams:function(){var e,t,n=this._options.rotated,i=n?f(this.x,this.minX):f(this.y,this.minY),o=n?\"width\":\"height\",a=this._getVisibleArea(),r=n?a.minX:a.minY,s=n?a.maxX:a.maxY,l=p(r,i),u=f(s,i+this[o]);return n?(t=this.y,e=l+(u-l)/2):(e=this.x,t=l+(u-l)/2),{x:e,y:t,offset:0}},_translate:function(){var e=this._options.rotated;l.default._translate.call(this),this.height=e?0:h(this.minY-this.y),this.width=e?h(this.x-this.minX):0},hasCoords:function(){return l.default.hasCoords.call(this)&&!(null===this.minX||null===this.minY)},_updateData:function(e){l.default._updateData.call(this,e),this.minValue=this.initialMinValue=this.originalMinValue=e.minValue},_getImageSettings:function(e,t){return{href:t.url||t.toString(),width:t.width||20,height:t.height||20,translateX:e.translateX,translateY:e.translateY}},getCrosshairData:function(e,t){var n=this._options.rotated,i=this.minX,o=this.minY,a=this.vx,r=this.vy,s=this.value,l=this.minValue,u=this.argument,d={axis:this.series.axis,x:a,y:r,yValue:s,xValue:u};return n?(d.yValue=u,h(a-e)<h(i-e)?d.xValue=s:(d.x=i,d.xValue=l)):h(r-t)>=h(o-t)&&(d.y=o,d.yValue=l),d},_updateOneMarker:function(e,t){this.graphic&&this.graphic[e]&&this.graphic[e].attr(t)},_updateMarker:function(e,t){this._drawMarker(void 0,void 0,!1,!1,t)},_getFormatObject:function(e){var t=this.initialMinValue,n=this.initialValue,i=this.initialArgument,o=e.formatValue(t),a=e.formatValue(n);return{argument:i,argumentText:e.formatValue(i,\"argument\"),valueText:o+\" - \"+a,rangeValue1Text:o,rangeValue2Text:a,rangeValue1:t,rangeValue2:n,seriesName:this.series.name,point:this,originalMinValue:this.originalMinValue,originalValue:this.originalValue,originalArgument:this.originalArgument}},getLabel:function(){return[this._topLabel,this._bottomLabel]},getLabels:function(){return[this._topLabel,this._bottomLabel]},getBoundingRect:r.noop,coordsIn:function(e,t){var n=this._storeTrackerR(),i=e>=this.x-n&&e<=this.x+n,o=t>=this.y-n&&t<=this.y+n;return this._options.rotated?o&&(i||e>=this.minX-n&&e<=this.minX+n):i&&(o||t>=this.minY-n&&t<=this.minY+n)},getMaxValue:function(){return\"discrete\"!==this.series.valueAxisType&&this.minValue>this.value?this.minValue:this.value},getMinValue:function(){return\"discrete\"!==this.series.valueAxisType?this.minValue<this.value?this.minValue:this.value:this.minValue}});t.default=m,e.exports=t.default,e.exports.default=t.default},71678:function(e,t,n){t.default=void 0;var i,o=n(13306),a=n(35922),r=(i=n(69297))&&i.__esModule?i:{default:i};var s=o.extend,l=a.isNumeric,u=s({},r.default,{_getPoints:function(){var e=this._options.rotated?function(e,t){return[t,e]}:function(e,t){return[e,t]},t=l(this.openY),n=l(this.closeY),i=this.x,o=this.width,a=[].concat(e(i,this.highY));return t&&(a=a.concat(e(i,this.openY))),t&&(a=a.concat(e(i-o/2,this.openY))),t&&(a=a.concat(e(i,this.openY))),n&&(a=a.concat(e(i,this.closeY))),n&&(a=a.concat(e(i+o/2,this.closeY))),n&&(a=a.concat(e(i,this.closeY))),a=a.concat(e(i,this.lowY))},_drawMarkerInGroup:function(e,t,n){this.graphic=n.path(this._getPoints(),\"line\").attr({\"stroke-linecap\":\"square\"}).attr(t).data({\"chart-data-point\":this}).sharp().append(e)},_getMinTrackerWidth:function(){var e=2+this._styles.normal[\"stroke-width\"];return e+e%2}});t.default=u,e.exports=t.default,e.exports.default=t.default},24894:function(e,t,n){t.default=void 0;var i=n(13306),o=n(95479),a=n(20576),r=n(58201),s=n(28318),l=n(35922),u=n(19157),d=(0,r.getWindow)(),c=i.extend,h=Math,f=h.round,p=h.floor,g=h.ceil;var m={deleteLabel:function(){this._label.dispose(),this._label=null},_hasGraphic:function(){return this.graphic},clearVisibility:function(){var e=this.graphic;e&&e.attr(\"visibility\")&&e.attr({visibility:null})},isVisible:function(){return this.inVisibleArea&&this.series.isVisible()},setInvisibility:function(){var e=this.graphic;e&&\"hidden\"!==e.attr(\"visibility\")&&e.attr({visibility:\"hidden\"}),this._errorBar&&this._errorBar.attr({visibility:\"hidden\"}),this._label.draw(!1)},clearMarker:function(){var e=this.graphic;e&&e.attr(this._emptySettings)},_createLabel:function(){this._label=new s.Label({renderer:this.series._renderer,labelsGroup:this.series._labelsGroup,point:this})},_calculateVisibility:function(e,t){var n=this._getVisibleArea(),i=n.minX,o=n.maxX,a=n.minY,r=n.maxY;this.inVisibleArea=i<=e&&o>=e&&a<=t&&r>=t},_updateLabelData:function(){this._label.setData(this._getLabelFormatObject())},_updateLabelOptions:function(){!this._label&&this._createLabel(),this._label.setOptions(this._options.label)},_checkImage:function(e){return(0,l.isDefined)(e)&&(\"string\"==typeof e||(0,l.isDefined)(e.url))},_fillStyle:function(){this._styles=this._options.styles},_checkSymbol:function(e,t){var n=e.symbol,i=t.symbol,o=\"circle\"===n&&\"circle\"!==i||\"circle\"!==n&&\"circle\"===i,a=this._checkImage(e.image)!==this._checkImage(t.image);return!(!o&&!a)},_populatePointShape:function(e,t){switch(e){case\"square\":return function(e){return[-e,-e,e,-e,e,e,-e,e,-e,-e]}(t);case\"polygon\":return function(e){var t=g(e);return[-t,0,0,-t,t,0,0,t,-t,0]}(t);case\"triangle\":case\"triangleDown\":return function(e){return[-e,-e,e,-e,0,e,-e,-e]}(t);case\"triangleUp\":return function(e){return[-e,e,e,e,0,-e,-e,e]}(t);case\"cross\":return function(e){var t=g(e),n=p(t/2),i=g(t/2);return[-t,-n,-n,-t,0,-i,n,-t,t,-n,i,0,t,n,n,t,0,i,-n,t,-t,n,-i,0]}(t)}},hasCoords:function(){return null!==this.x&&null!==this.y},correctValue:function(e){var t=this.series.getValueAxis();this.hasValue()&&(this.value=this.properValue=t.validateUnit(this.initialValue.valueOf()+e.valueOf()),this.minValue=t.validateUnit(e))},resetCorrection:function(){this.value=this.properValue=this.initialValue,this.minValue=\"canvas_position_default\"},resetValue:function(){this.hasValue()&&(this.value=this.properValue=this.initialValue=0,this.minValue=0,this._label.setDataField(\"value\",this.value))},_getTranslates:function(e){var t=this.x,n=this.y;return e&&(this._options.rotated?t=this.defaultX:n=this.defaultY),{x:t,y:n}},_createImageMarker:function(e,t,n){var i=n.width||20,o=n.height||20;return e.image(-f(.5*i),-f(.5*o),i,o,n.url?n.url.toString():n.toString(),\"center\").attr({translateX:t.translateX,translateY:t.translateY,visibility:t.visibility})},_createSymbolMarker:function(e,t){var n,i=this._options.symbol;return\"circle\"===i?(delete t.points,n=e.circle().attr(t)):\"square\"!==i&&\"polygon\"!==i&&\"triangle\"!==i&&\"triangleDown\"!==i&&\"triangleUp\"!==i&&\"cross\"!==i||(n=e.path([],\"area\").attr(t).sharp()),n},_createMarker:function(e,t,n,i){var o=this._checkImage(n)?this._createImageMarker(e,i,n):this._createSymbolMarker(e,i);return o&&o.data({\"chart-data-point\":this}).append(t),o},_getSymbolBBox:function(e,t,n){return{x:e-n,y:t-n,width:2*n,height:2*n}},_getImageBBox:function(e,t){var n=this._options.image,i=n.width||20,o=n.height||20;return{x:e-f(i/2),y:t-f(o/2),width:i,height:o}},_getGraphicBBox:function(){var e=this._options,t=this.x,n=this.y;return e.visible?this._checkImage(e.image)?this._getImageBBox(t,n):this._getSymbolBBox(t,n,e.styles.normal.r):{x:t,y:n,width:0,height:0}},hideInsideLabel:a.noop,_getShiftLabelCoords:function(e){var t=this._addLabelAlignmentAndOffset(e,this._getLabelCoords(e));return this._checkLabelPosition(e,t)},_drawLabel:function(){var e=this._getCustomLabelVisibility(),t=this._label,n=this._showForZeroValues()&&this.hasValue()&&!1!==e&&(this.series.getLabelVisibility()||e);t.draw(!!n)},correctLabelPosition:function(e){var t=this._getShiftLabelCoords(e);this.hideInsideLabel(e,t)||(e.setFigureToDrawConnector(this._getLabelConnector(e.pointPosition)),e.shift(f(t.x),f(t.y)))},_showForZeroValues:function(){return!0},_getLabelConnector:function(e){var t=this._getGraphicBBox(e),n=t.width/2,i=t.height/2;return{x:t.x+n,y:t.y+i,r:this._options.visible?Math.max(n,i):0}},_getPositionFromLocation:function(){return{x:this.x,y:this.y}},_isPointInVisibleArea:function(e,t){return e.minX<=t.x+t.width&&e.maxX>=t.x&&e.minY<=t.y+t.height&&e.maxY>=t.y},_checkLabelPosition:function(e,t){var n=this._getVisibleArea(),i=e.getBoundingRect(),o=this._getGraphicBBox(e.pointPosition),a=this._getGraphicBBox(),r=\"inside\"===e.getLayoutOptions().position;return this._isPointInVisibleArea(n,a)&&(this._options.rotated?(n.minX>t.x&&(t.x=r?n.minX:o.x+o.width+10),n.maxX<t.x+i.width&&(t.x=r?n.maxX-i.width:o.x-10-i.width),n.minY>t.y&&(t.y=n.minY),n.maxY<t.y+i.height&&(t.y=n.maxY-i.height)):(n.minX>t.x&&(t.x=n.minX),n.maxX<t.x+i.width&&(t.x=n.maxX-i.width),n.minY>t.y&&(t.y=r?n.minY:o.y+o.height+10),n.maxY<t.y+i.height&&(t.y=r?n.maxY-i.height:o.y-i.height-10))),t},_addLabelAlignmentAndOffset:function(e,t){var n=e.getBoundingRect(),i=e.getLayoutOptions();return this._options.rotated||(\"left\"===i.alignment?t.x+=n.width/2:\"right\"===i.alignment&&(t.x-=n.width/2)),t.x+=i.horizontalOffset,t.y+=i.verticalOffset,t},_getLabelCoords:function(e){return this._getLabelCoordOfPosition(e,this._getLabelPosition(e.pointPosition))},_getLabelCoordOfPosition:function(e,t){var n=e.getBoundingRect(),i=this._getGraphicBBox(e.pointPosition),o=i.height/2-n.height/2,a=i.width/2-n.width/2,r=i.x,s=i.y;switch(t){case\"left\":r-=n.width+10,s+=o;break;case\"right\":r+=i.width+10,s+=o;break;case\"top\":r+=a,s-=n.height+10;break;case\"bottom\":r+=a,s+=i.height+10;break;case\"inside\":r+=a,s+=o}return{x:r,y:s}},_drawMarker:function(e,t,n){var i=this._options,o=this._getTranslates(n),a=this._getStyle();this.graphic=this._createMarker(e,t,i.image,c({translateX:o.x,translateY:o.y,points:this._populatePointShape(i.symbol,a.r)},a))},_getErrorBarSettings:function(){return{visibility:\"visible\"}},_getErrorBarBaseEdgeLength:function(){return 2*this.getPointRadius()},_drawErrorBar:function(e,t){if(this._options.errorBars){var n,i=this._options,a=i.errorBars,r=[],s=this._errorBarPos,d=this._highErrorCoord,c=this._lowErrorCoord,h=(0,u.normalizeEnum)(a.displayMode),f=\"high\"===h,g=\"low\"===h,m=(f||!(0,l.isDefined)(c))&&(0,l.isDefined)(d)&&!g,_=(g||!(0,l.isDefined)(d))&&(0,l.isDefined)(c)&&!f,v=a.edgeLength;v<=1&&v>0&&(v=this._getErrorBarBaseEdgeLength()*a.edgeLength),v=p(parseInt(v)/2),m&&(c=this._baseErrorBarPos),_&&(d=this._baseErrorBarPos),\"none\"!==h&&(0,l.isDefined)(d)&&(0,l.isDefined)(c)&&(0,l.isDefined)(s)?(!_&&r.push([s-v,d,s+v,d]),r.push([s,d,s,c]),!m&&r.push([s+v,c,s-v,c]),i.rotated&&(0,o.each)(r,(function(e,t){t.reverse()})),n=this._getErrorBarSettings(a),this._errorBar?(n.points=r,this._errorBar.attr(n)):this._errorBar=e.path(r,\"line\").attr(n).append(t)):this._errorBar&&this._errorBar.attr({visibility:\"hidden\"})}},getTooltipParams:function(){var e=this.graphic;return{x:this.x,y:this.y,offset:e?e.getBBox().height/2:0}},setPercentValue:function(e,t,n,i){var o=this.value/e||0,a=this.minValue/e||0,r=o-a;this._label.setDataField(\"percent\",r),this._label.setDataField(\"total\",t),this.series.isFullStackedSeries()&&this.hasValue()&&(this.leftHole&&(this.leftHole/=e-n,this.minLeftHole/=e-n),this.rightHole&&(this.rightHole/=e-i,this.minRightHole/=e-i),this.value=this.properValue=o,this.minValue=a||this.minValue)},_storeTrackerR:function(){var e=d.navigator,t=this._options.styles.normal.r,n=(0,r.hasProperty)(\"ontouchstart\")||e.msPointerEnabled&&e.msMaxTouchPoints||e.pointerEnabled&&e.maxTouchPoints?20:6;return this._options.trackerR=t<n?n:t,this._options.trackerR},_translateErrorBars:function(){var e=this._options,t=e.rotated,n=e.errorBars,i=this._getValTranslator();n&&((0,l.isDefined)(this.lowError)&&(this._lowErrorCoord=i.translate(this.lowError)),(0,l.isDefined)(this.highError)&&(this._highErrorCoord=i.translate(this.highError)),this._errorBarPos=p(t?this.vy:this.vx),this._baseErrorBarPos=\"stdDeviation\"===n.type?this._lowErrorCoord+(this._highErrorCoord-this._lowErrorCoord)/2:t?this.vx:this.vy)},_translate:function(){var e=this._getValTranslator(),t=this._getArgTranslator();this._options.rotated?(this.vx=this.x=e.translate(this.value),this.vy=this.y=t.translate(this.argument),this.minX=e.translate(this.minValue),this.defaultX=e.translate(\"canvas_position_default\")):(this.vy=this.y=e.translate(this.value),this.vx=this.x=t.translate(this.argument),this.minY=e.translate(this.minValue),this.defaultY=e.translate(\"canvas_position_default\")),this._translateErrorBars(),this._calculateVisibility(this.x,this.y)},_updateData:function(e){this.value=this.properValue=this.initialValue=this.originalValue=e.value,this.minValue=this.initialMinValue=this.originalMinValue=(0,l.isDefined)(e.minValue)?e.minValue:\"canvas_position_default\"},_getImageSettings:function(e){return{href:e.url||e.toString(),width:e.width||20,height:e.height||20}},getCrosshairData:function(){var e=this._options.rotated,t=this.properValue,n=this.argument;return{x:this.vx,y:this.vy,xValue:e?t:n,yValue:e?n:t,axis:this.series.axis}},getPointRadius:function(){var e=this._getStyle(),t=this._options,n=e.r,i=t.symbol,o=\"square\"===i,a=\"triangle\"===i||\"triangleDown\"===i||\"triangleUp\"===i;return t.visible&&!t.image&&n?(o||a?1.4*n:n)+e[\"stroke-width\"]/2:0},_updateMarker:function(e,t){var n,i=this._options,o=i.image,a=this.isVisible()?{}:{visibility:\"hidden\"};n=this._checkImage(o)?c({},{visibility:t.visibility},a,this._getImageSettings(o)):c({},t,a,{points:this._populatePointShape(i.symbol,t.r)}),e||(n.translateX=this.x,n.translateY=this.y),this.graphic.attr(n).sharp()},_getLabelFormatObject:function(){return{argument:this.initialArgument,value:this.initialValue,originalArgument:this.originalArgument,originalValue:this.originalValue,seriesName:this.series.name,lowErrorValue:this.lowError,highErrorValue:this.highError,point:this}},_getLabelPosition:function(){var e=this._options.rotated;return this.initialValue>0?e?\"right\":\"top\":e?\"left\":\"bottom\"},_getFormatObject:function(e){var t=this._label.getData();return c({},t,{argumentText:e.formatValue(this.initialArgument,\"argument\"),valueText:e.formatValue(this.initialValue)},(0,l.isDefined)(t.percent)?{percentText:e.formatValue(t.percent,\"percent\")}:{},(0,l.isDefined)(t.total)?{totalText:e.formatValue(t.total)}:{})},getMarkerVisibility:function(){return this._options.visible},coordsIn:function(e,t){var n=this._storeTrackerR();return e>=this.x-n&&e<=this.x+n&&t>=this.y-n&&t<=this.y+n},getMinValue:function(e){var t=this._options.errorBars;if(t&&!e){var n=t.displayMode,i=\"high\"!==n&&(0,l.isDefined)(this.lowError)?this.lowError:this.value,o=\"low\"!==n&&(0,l.isDefined)(this.highError)?this.highError:this.value;return i<o?i:o}return this.value},getMaxValue:function(e){var t=this._options.errorBars;if(t&&!e){var n=t.displayMode,i=\"high\"!==n&&(0,l.isDefined)(this.lowError)?this.lowError:this.value,o=\"low\"!==n&&(0,l.isDefined)(this.highError)?this.highError:this.value;return i>o?i:o}return this.value}};t.default=m,e.exports=t.default,e.exports.default=t.default},57402:function(e,t,n){t.chart=void 0;var i=n(13306),o=n(35922),a=n(19157),r=n(20576),s=n(21667),l=n(58821),u=n(90048);function d(e){return(d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==d(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=i.extend,f=l.chart.bar,p=u.chart.area,g={};t.chart=g;var m={areErrorBarsVisible:r.noop,_createErrorBarGroup:r.noop,_checkData:function(e,t){var n=this.getValueFields();return s.chart._checkData.call(this,e,t,{minValue:n[0],value:n[1]})&&e.minValue==e.minValue},getValueRangeInitialValue:s.chart.getValueRangeInitialValue,_getPointDataSelector:function(e){var t=this,n=this.getValueFields(),i=n[0],o=n[1],a=this.getTagField(),r=this.getArgumentField();return function(e){return{tag:e[a],minValue:t._processEmptyValue(e[i]),value:t._processEmptyValue(e[o]),argument:e[r],data:e}}},_defaultAggregator:\"range\",_aggregators:{range:function(e,t){var n,i=e.intervalStart,a=e.intervalEnd,r=e.data;if(r.length){var s=t.getValueFields(),l=s[0],u=s[1],d=r.reduce((function(e,t){var n=t[l],i=t[u];return(0,o.isDefined)(n)&&(0,o.isDefined)(i)?(e[l]=Math.min(e[l],Math.min(n,i)),e[u]=Math.max(e[u],Math.max(n,i)),e):e}),(c(n={},l,1/0),c(n,u,-1/0),c(n,t.getArgumentField(),t._getIntervalCenter(i,a)),n));if(!isFinite(d[l])||!isFinite(d[u])){if(r.filter((function(e){return null===e[l]&&null===e[u]})).length!==r.length)return;d[l]=d[u]=null}return d}}},getValueFields:function(){return[this._options.rangeValue1Field||\"val1\",this._options.rangeValue2Field||\"val2\"]},getSeriesPairCoord:function(e,t){for(var n=null,i=this._options.rotated,o=!t&&!i||t&&i,a=o?\"vy\":\"vx\",r=i?\"minX\":\"minY\",s=o?\"vx\":\"vy\",l=this.getPoints(),u=0;u<l.length;u++){var d=l[u],c=void 0;if(t)c=d.getCenterCoord()[a[1]]===e?d[s]:void 0;else{var h=[Math.min(d[a],d[r]),Math.max(d[a],d[r])];c=e>=h[0]&&e<=h[1]?d[s]:void 0}if(this._checkAxisVisibleAreaCoord(!t,c)){n=c;break}}return n}};g.rangebar=h({},f,m),g.rangearea=h({},p,{_drawPoint:function(e){var t=e.point;t.isInVisibleArea()?(t.clearVisibility(),t.draw(this._renderer,e.groups),this._drawnPoints.push(t),t.visibleTopMarker||t.hideMarker(\"top\"),t.visibleBottomMarker||t.hideMarker(\"bottom\")):t.setInvisibility()},_prepareSegment:function(e,t){var n=this._processSinglePointsAreaSegment(e,t),i=(0,a.map)(n,(function(e){return e.getCoords(!0)}));return{line:n,bottomLine:i,area:(0,a.map)(n,(function(e){return e.getCoords()})).concat(i.slice().reverse()),singlePointSegment:n!==e}},_getDefaultSegment:function(e){var t=p._getDefaultSegment.call(this,e);return t.bottomLine=t.line,t},_removeElement:function(e){p._removeElement.call(this,e),e.bottomLine&&e.bottomLine.remove()},_drawElement:function(e,t){var n=p._drawElement.call(this,e,t);return n.bottomLine=this._bordersGroup&&this._createBorderElement(e.bottomLine,{\"stroke-width\":this._styles.normal.border[\"stroke-width\"]}).append(this._bordersGroup),n},_applyStyle:function(e){var t=this._elementsGroup,n=this._bordersGroup;t&&t.smartAttr(e.elements),n&&n.attr(e.border),(this._graphics||[]).forEach((function(t){t.line&&t.line.attr({\"stroke-width\":e.border[\"stroke-width\"]}),t.bottomLine&&t.bottomLine.attr({\"stroke-width\":e.border[\"stroke-width\"]})}))},_updateElement:function(e,t,n,i){var o={points:t.bottomLine},a=e.bottomLine;p._updateElement.apply(this,arguments),a&&(n?a.animate(o):a.attr(o))}},m)},21667:function(e,t,n){t.polar=t.chart=void 0;var i,o=n(13306),a=n(95479),r=(i=n(63407))&&i.__esModule?i:{default:i},s=n(35922),l=n(19157),u=n(20576);function d(e){return(d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!==d(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===d(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=Math,f=h.abs,p=h.sqrt,g=h.max,m=\"variance\",_=\"stddeviation\",v=\"stderror\",y=\"percent\",b=\"fixed\",x={};t.chart=x;var w={};function C(e){var t=0;return(0,a.each)(e,(function(e,n){t+=n})),t}function S(e,t){return C((0,l.map)(e,(function(e){return(e-t)*(e-t)})))/e.length}function k(e){return function(t,n){var i=t.intervalStart,a=t.intervalEnd,r=t.data,s=n.getValueFields()[0],l=r[0];return l=r.reduce((function(t,n){var i=n[s];return null===t[s]&&(t=n),null!==i&&e(i,t[s])?n:t}),l),(0,o.extend)({},l,c({},n.getArgumentField(),n._getIntervalCenter(i,a)))}}t.polar=w;var D={_defaultDuration:400,_defaultTrackerWidth:12,_applyStyle:u.noop,_updateOptions:u.noop,_parseStyle:u.noop,_prepareSegment:u.noop,_drawSegment:u.noop,_appendInGroup:function(){this._group.append(this._extGroups.seriesGroup)},_createLegendState:function(e,t){return{fill:(0,l.extractColor)(e.color,!0)||t,hatching:e.hatching?(0,o.extend)({},e.hatching,{direction:\"right\"}):void 0}},_getColorId:u.noop,_applyElementsClipRect:function(e){e[\"clip-path\"]=this._paneClipRectID},_applyMarkerClipRect:function(e){e[\"clip-path\"]=this._forceClipping?this._paneClipRectID:null},_createGroup:function(e,t,n,i){var o=t[e]=t[e]||this._renderer.g();n&&o.append(n),i&&o.attr(i)},_applyClearingSettings:function(e){e.opacity=null,e.scale=null,this._options.rotated?e.translateX=null:e.translateY=null},_createGroups:function(){this._createGroup(\"_markersGroup\",this,this._group),this._createGroup(\"_labelsGroup\",this)},_setMarkerGroupSettings:function(){var e=this._createPointStyles(this._getMarkerGroupOptions()).normal;e.class=\"dxc-markers\",e.opacity=1,this._applyMarkerClipRect(e),this._markersGroup.attr(e)},getVisibleArea:function(){return this._visibleArea},areErrorBarsVisible:function(){var e,t=this._options.valueErrorBar;return t&&this._errorBarsEnabled()&&\"none\"!==t.displayMode&&(e=(0,l.normalizeEnum)(t.type),[b,y,m,_,v].includes(e)||(0,s.isDefined)(t.lowValueField)||(0,s.isDefined)(t.highValueField))},groupPointsByCoords:function(e){var t=[];return(0,a.each)(this.getVisiblePoints(),(function(n,i){var o=parseInt(e?i.vy:i.vx);t[o]?Array.isArray(t[o])?t[o].push(i):t[o]=[t[o],i]:t[o]=i})),t},_createErrorBarGroup:function(e){var t,n=this._options.valueErrorBar;this.areErrorBarsVisible()&&(t={class:\"dxc-error-bars\",stroke:n.color,\"stroke-width\":n.lineWidth,opacity:e?.001:n.opacity||1,\"stroke-linecap\":\"square\",sharp:!0,\"clip-path\":this._forceClipping?this._paneClipRectID:this._widePaneClipRectID},this._createGroup(\"_errorBarGroup\",this,this._group,t))},_setGroupsSettings:function(e){this._setMarkerGroupSettings(),this._setLabelGroupSettings(e),this._createErrorBarGroup(e)},_getCreatingPointOptions:function(){var e,t,n=this._predefinedPointOptions;return n||(e=this._getPointOptions(),this._predefinedPointOptions=n=(0,o.extend)(!0,{styles:{}},e),t=e.styles&&e.styles.normal||{},n.styles=n.styles||{},n.styles.normal={\"stroke-width\":t[\"stroke-width\"],r:t.r,opacity:t.opacity}),n},_getPointOptions:function(){return this._parsePointOptions(this._preparePointOptions(),this._options.label)},_getOptionsForPoint:function(){return this._options.point},_parsePointStyle:function(e,t,n,i){var o=e.border||{},a=void 0!==e.size?e.size:i;return{fill:(0,l.extractColor)(e.color,!0)||t,stroke:o.color||n,\"stroke-width\":o.visible?o.width:0,r:a/2+(o.visible&&0!==a&&~~(o.width/2)||0)}},_createPointStyles:function(e){var t=(0,l.extractColor)(e.color,!0)||this._options.mainSeriesColor,n=this._options.containerBackgroundColor,i=this._parsePointStyle(e,t,t);return i.visibility=e.visible?\"visible\":\"hidden\",{labelColor:t,normal:i,hover:this._parsePointStyle(e.hoverStyle,n,t,e.size),selection:this._parsePointStyle(e.selectionStyle,n,t,e.size)}},_checkData:function(e,t,n){return(n=n||{value:this.getValueFields()[0]}).argument=this.getArgumentField(),function(e,t,n){var i=!0;for(var o in t){var a=\"argument\"===o;if(a||\"size\"===o?!(0,s.isDefined)(e[o]):void 0===e[o]){var r=t[o];a||(n[r]=(n[r]||0)+1),i=!1}}return i}(e,n,t||{})&&e.value==e.value},getArgumentRangeInitialValue:function(){var e,t,n=this.getPoints();if(this.useAggregation()&&n.length)return{min:null===(e=n[0].aggregationInfo)||void 0===e?void 0:e.intervalStart,max:null===(t=n[n.length-1].aggregationInfo)||void 0===t?void 0:t.intervalEnd}},getValueRangeInitialValue:function(){},_getRangeData:function(){return r.default.getRangeData(this)},_getPointDataSelector:function(){var e,t,n=this,i=this.getValueFields()[0],o=this.getArgumentField(),a=this.getTagField(),r=this.areErrorBarsVisible();if(r){var s=this._options.valueErrorBar;e=s.lowValueField||\"lowError\",t=s.highValueField||\"highError\"}return function(s){var l={value:n._processEmptyValue(s[i]),argument:s[o],tag:s[a],data:s};return r&&(l.lowError=s[e],l.highError=s[t]),l}},_errorBarsEnabled:function(){return\"discrete\"!==this.valueAxisType&&\"logarithmic\"!==this.valueAxisType&&\"datetime\"!==this.valueType},_drawPoint:function(e){var t=e.point;t.isInVisibleArea()?(t.clearVisibility(),t.draw(this._renderer,e.groups,e.hasAnimation,e.firstDrawing),this._drawnPoints.push(t)):t.setInvisibility()},_animateComplete:function(){var e={duration:this._defaultDuration};this._labelsGroup&&this._labelsGroup.animate({opacity:1},e),this._errorBarGroup&&this._errorBarGroup.animate({opacity:this._options.valueErrorBar.opacity||1},e)},_animate:function(){var e=this,t=e._drawnPoints.length-1;(0,a.each)(e._drawnPoints||[],(function(n,i){i.animate(n===t?function(){e._animateComplete()}:void 0,{translateX:i.x,translateY:i.y})}))},_getIntervalCenter:function(e,t){var n=this.getArgumentAxis(),i=n.getOptions();return n.aggregatedPointBetweenTicks()?e:\"discrete\"!==i.type?n.getVisualRangeCenter({minVisible:e,maxVisible:t},!0):e},_defaultAggregator:\"avg\",_aggregators:{avg:function(e,t){var n,i=e.data,o=e.intervalStart,a=e.intervalEnd;if(i.length){var r=t.getValueFields()[0],l=i.reduce((function(e,t){var n=t[r];return(0,s.isDefined)(n)?(e[0]+=n,e[1]++):null===n&&e[2]++,e}),[0,0,0]);return function(e,t,n){var i=n.getOptions().valueErrorBar,o=n.getValueFields()[0],a=i.lowValueField||\"lowError\",r=i.highValueField||\"highError\";if(n.areErrorBarsVisible()&&void 0===i.type){var l=t.reduce((function(e,t){return(0,s.isDefined)(t[a])&&(e[0]+=t[o]-t[a],e[1]++),(0,s.isDefined)(t[r])&&(e[2]+=t[r]-t[o],e[3]++),e}),[0,0,0,0]);l[1]&&(e[a]=e[o]-l[0]/l[1]),l[2]&&(e[r]=e[o]+l[2]/l[3])}return e}((c(n={},r,l[2]===i.length?null:l[0]/l[1]),c(n,t.getArgumentField(),t._getIntervalCenter(o,a)),n),i,t)}},sum:function(e,t){var n,i=e.intervalStart,o=e.intervalEnd,a=e.data;if(a.length){var r=t.getValueFields()[0],s=a.reduce((function(e,t){var n=t[r];return void 0!==n&&(e[0]+=n),null===n?e[1]++:void 0===n&&e[2]++,e}),[0,0,0]),l=s[0];if(s[1]===a.length&&(l=null),s[2]!==a.length)return function(e,t,n){var i=n.getOptions().valueErrorBar,o=i.lowValueField||\"lowError\",a=i.highValueField||\"highError\";return n.areErrorBarsVisible()&&void 0===i.type&&(e[o]=0,e[a]=0,e=t.reduce((function(e,t){return e[o]+=t[o],e[a]+=t[a],e}),e)),e}((c(n={},r,l),c(n,t.getArgumentField(),t._getIntervalCenter(i,o)),n),a,t)}},count:function(e,t){var n,i=e.data,o=e.intervalStart,a=e.intervalEnd,r=t.getValueFields()[0];return c(n={},t.getArgumentField(),t._getIntervalCenter(o,a)),c(n,r,i.filter((function(e){return void 0!==e[r]})).length),n},min:k((function(e,t){return e<t})),max:k((function(e,t){return e>t}))},_endUpdateData:function(){delete this._predefinedPointOptions},getArgumentField:function(){return this._options.argumentField||\"arg\"},getValueFields:function(){var e,t,n=this._options,i=n.valueErrorBar,o=[n.valueField||\"val\"];return i&&(e=i.lowValueField,t=i.highValueField,(0,s.isString)(e)&&o.push(e),(0,s.isString)(t)&&o.push(t)),o},_calculateErrorBars:function(e){if(this.areErrorBarsVisible()){var t,n,i,o,r,u=this._options.valueErrorBar,d=(0,l.normalizeEnum)(u.type),c=parseFloat(u.value),h=this.getValueFields()[0],f=u.lowValueField||\"lowError\",g=u.highValueField||\"highError\",x=function(e,n){t=n.value,n.lowError=t-c,n.highError=t+c};switch(d){case b:r=x;break;case y:r=function(e,n){var i=(t=n.value)*c/100;n.lowError=t-i,n.highError=t+i};break;case\"undefined\":r=function(e,t){t.lowError=t.data[f],t.highError=t.data[g]};break;default:switch(i=(n=(0,l.map)(e,(function(e){return(0,s.isDefined)(e.data[h])?e.data[h]:null}))).length,c=c||1,d){case m:c=S(n,C(n)/i)*c,r=x;break;case _:o=C(n)/i,c=p(S(n,o))*c,r=function(e,t){t.lowError=o-c,t.highError=o+c};break;case v:c=p(S(n,C(n)/i)/i)*c,r=x}}r&&(0,a.each)(e,r)}},_patchMarginOptions:function(e){var t=this._getCreatingPointOptions(),n=t.styles,i=[n.normal,n.hover,n.selection].reduce((function(e,t){return g(e,2*t.r+t[\"stroke-width\"])}),0);return e.size=t.visible?i:0,e.sizePointNormalState=t.visible?2*n.normal.r+n.normal[\"stroke-width\"]:2,e},usePointsToDefineAutoHiding:function(){return!0}};t.chart=x=(0,o.extend)({},D,{drawTrackers:function(){var e,t,n=this,i=n._segments||[],o=n._options.rotated;n.isVisible()&&(i.length&&(e=n._trackers=n._trackers||[],t=n._trackersGroup=(n._trackersGroup||n._renderer.g().attr({fill:\"gray\",opacity:.001,stroke:\"gray\",class:\"dxc-trackers\"})).attr({\"clip-path\":this._paneClipRectID||null}).append(n._group),(0,a.each)(i,(function(i,o){e[i]?n._updateTrackerElement(o,e[i]):e[i]=n._drawTrackerElement(o).data({\"chart-data-series\":n}).append(t)}))),n._trackersTranslator=n.groupPointsByCoords(o))},_checkAxisVisibleAreaCoord:function(e,t){var n=(e?this.getArgumentAxis():this.getValueAxis()).getVisibleArea();return(0,s.isDefined)(t)&&n[0]<=t&&n[1]>=t},checkSeriesViewportCoord:function(e,t){return this.getPoints().length&&this.isVisible()},getSeriesPairCoord:function(e,t){for(var n=null,i=!t&&!this._options.rotated||t&&this._options.rotated,o=i?\"vy\":\"vx\",a=i?\"vx\":\"vy\",r=this.getVisiblePoints(),s=0;s<r.length;s++){var l=r[s],u=l[o]===e?l[a]:void 0;if(this._checkAxisVisibleAreaCoord(!t,u)){n=u;break}}return n},_getNearestPoints:function(e,t){return[e,t]},_getBezierPoints:function(){return[]},_getNearestPointsByCoord:function(e,t){var n=this,i=n.getOptions().rotated,o=!t&&!i||t&&i?\"vy\":\"vx\",a=n.getPoints(),r=n._getBezierPoints(),s=[];return a.length>1?a.forEach((function(t,i){var l=a[i+1];l&&(t[o]<=e&&l[o]>=e||t[o]>=e&&l[o]<=e)&&s.push(n._getNearestPoints(t,l,r))})):s.push([a[0],a[0]]),s},getNeighborPoint:function(e,t){var n,i=this._options.rotated?t:e,o=i,r=this._trackersTranslator,s=null,l=this._options.rotated?e:t,u=this._options.rotated?\"vx\":\"vy\";if(this.isVisible()&&r){s=r[i];do{s=r[o]||r[i],i--,o++}while((i>=0||o<r.length)&&!s);Array.isArray(s)&&(n=f(s[0][u]-l),(0,a.each)(s,(function(e,t){var i=f(t[u]-l);n>=i&&(n=i,s=t)})))}return s},_applyVisibleArea:function(){var e=this._options.rotated,t=(e?this.getValueAxis():this.getArgumentAxis()).getVisibleArea(),n=(e?this.getArgumentAxis():this.getValueAxis()).getVisibleArea();this._visibleArea={minX:t[0],maxX:t[1],minY:n[0],maxY:n[1]}},getPointCenterByArg:function(e){var t=this.getPointsByArg(e)[0];return t?t.getCenterCoord():void 0}}),t.polar=w=(0,o.extend)({},D,{drawTrackers:function(){x.drawTrackers.call(this);var e,t=this._trackersTranslator;this.isVisible()&&((0,a.each)(t,(function(t,n){if(n)return e=t,!1})),t[e+360]=t[e])},getNeighborPoint:function(e,t){var n=(0,l.convertXYToPolar)(this.getValueAxis().getCenter(),e,t);return x.getNeighborPoint.call(this,n.phi,n.r)},_applyVisibleArea:function(){var e=this.getValueAxis().getCanvas();this._visibleArea={minX:e.left,maxX:e.width-e.right,minY:e.top,maxY:e.height-e.bottom}},getSeriesPairCoord:function(e,t){for(var n=null,i=t?\"argument\":\"radius\",o=this.getVisiblePoints(),a=0;a<o.length;a++){var r=o[a],l=(0,s.isDefined)(r[i])&&(0,s.isDefined)(e[i])&&r[i].valueOf()===e[i].valueOf()?{x:r.x,y:r.y}:void 0;if((0,s.isDefined)(l)){n=l;break}}return n}})},92057:function(e,t,n){t.polar=t.chart=void 0;var i=n(20576),o=n(13306),a=n(95479),r=n(90048),s=n(58821),l=n(7222),u=n(19157),d=n(48013),c=r.chart.area,h=s.chart.bar,f={_calculateErrorBars:i.noop,_updateOptions:function(e){this._stackName=\"axis_\"+(e.axis||\"default\")}},p={};t.chart=p;var g={};t.polar=g,p.stackedline=(0,o.extend)({},l.chart.line,f,{}),p.stackedspline=(0,o.extend)({},l.chart.spline,f,{}),p.fullstackedline=(0,o.extend)({},l.chart.line,f,{getValueRangeInitialValue:r.chart.area.getValueRangeInitialValue}),p.fullstackedspline=(0,o.extend)({},l.chart.spline,f,{getValueRangeInitialValue:r.chart.area.getValueRangeInitialValue});var m=p.stackedbar=(0,o.extend)({},h,f,{_updateOptions:function(e){f._updateOptions.call(this,e),this._stackName=this._stackName+\"_stack_\"+(e.stack||\"default\")}});function _(e,t,n,i){return(e=(0,d.clone)(e)).value=t,e.minValue=n,e.translate(),e.argument=e.argument+i,e}function v(e){for(var t,n,i=0,o=[],a=e.length;i<a;)n=[t=e[i]],t.leftHole&&(n=[_(t,t.leftHole,t.minLeftHole,\"left\"),t]),t.rightHole&&n.push(_(t,t.rightHole,t.minRightHole,\"right\")),o.push(n),i++;return[].concat.apply([],o)}p.fullstackedbar=(0,o.extend)({},h,f,{_updateOptions:m._updateOptions}),p.stackedarea=(0,o.extend)({},c,f,{_prepareSegment:function(e,t){return c._prepareSegment.call(this,v(e),t)},_appendInGroup:function(){this._group.append(this._extGroups.seriesGroup).toBackground()}}),p.stackedsplinearea=(0,o.extend)({},r.chart.splinearea,f,{_prepareSegment:function(e,t){var n,i=this;if(e=v(e),this._prevSeries&&1!==e.length){for(var o=l.chart.spline._calculateBezierPoints(e,t),s=(0,u.map)(e,(function(e){var t=e.getCoords(!0);return t.argument=e.argument,t})),d=[],c={},h=0,f=i._prevSeries._segments.length;h<f;)d=d.concat(i._prevSeries._segments[h].line),h++;(0,a.each)(d,(function(e,t){if(null!==t.argument){var n=t.argument.valueOf();c[n]?c[n].push(t):c[n]=[t]}})),i._prevSeries._segmentByArg=c,s=l.chart.spline._calculateBezierPoints(s,t),(0,a.each)(s,(function(e,t){var n,o=t.argument.valueOf();e%3==0&&(n=c[o]||function(e,t){for(var n;!n&&e;)n=e._segmentByArg&&e._segmentByArg[t],e=e._prevSeries;return n}(i._prevSeries,o))&&(s[e-1]&&n[0]&&(s[e-1]=n[0]),s[e+1]&&(s[e+1]=n[2]||t))})),n={line:o,area:o.concat(s.reverse())},i._areaPointsToSplineAreaPoints(n.area)}else n=r.chart.splinearea._prepareSegment.call(this,e,t);return n},_appendInGroup:p.stackedarea._appendInGroup}),p.fullstackedarea=(0,o.extend)({},c,f,{_prepareSegment:p.stackedarea._prepareSegment,_appendInGroup:p.stackedarea._appendInGroup}),p.fullstackedsplinearea=(0,o.extend)({},r.chart.splinearea,f,{_prepareSegment:p.stackedsplinearea._prepareSegment,_appendInGroup:p.stackedarea._appendInGroup}),g.stackedbar=(0,o.extend)({},s.polar.bar,f,{})},43759:function(e,t,n){var i;t.default=void 0;var o=((i=n(51876))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},55628:function(e,t,n){t.default=void 0;var i=m(n(55994)),o=m(n(73349)),a=n(35922),r=m(n(55845)),s=n(13306),l=n(39611),u=m(n(93786)),d=n(19157),c=m(n(68374)),h=n(87276),f=n(20576),p=n(14371),g=n(82454);function m(e){return e&&e.__esModule?e:{default:e}}var _,v=\"sparkline-tooltip\",y=(0,l.addNamespace)([u.default.down,u.default.move],v),b=s.extend,x=Math.floor;function w(e){var t=e.data.widget;t._enableOutHandler(),t._showTooltip()}function C(e){var t=new h.Translator2D({},{},{shiftZeroValue:!e,isHorizontal:!!e});return{getTranslator:function(){return t},update:function(e,n,i){t.update(e,n,i)},getVisibleArea:function(){var e=t.getCanvasVisibleArea();return[e.min,e.max]},visualRange:f.noop,calculateInterval:f.noop,getMarginOptions:function(){return{}},aggregatedPointBetweenTicks:function(){return!1}}}var S=r.default.inherit({_getLayoutItems:f.noop,_useLinks:!1,_themeDependentChanges:[\"OPTIONS\"],_initCore:function(){this._tooltipTracker=this._renderer.root,this._tooltipTracker.attr({\"pointer-events\":\"visible\"}),this._createHtmlElements(),this._initTooltipEvents(),this._argumentAxis=C(!0),this._valueAxis=C()},_getDefaultSize:function(){return this._defaultSize},_disposeCore:function(){this._disposeWidgetElements(),this._disposeTooltipEvents(),this._ranges=null},_optionChangesOrder:[\"OPTIONS\"],_change_OPTIONS:function(){this._prepareOptions(),this._change([\"UPDATE\"])},_customChangesOrder:[\"UPDATE\"],_change_UPDATE:function(){this._update()},_update:function(){this._tooltipShown&&(this._tooltipShown=!1,this._tooltip.hide()),this._cleanWidgetElements(),this._updateWidgetElements(),this._drawWidgetElements()},_updateWidgetElements:function(){var e=this._getCorrectCanvas();this._updateRange(),this._argumentAxis.update(this._ranges.arg,e,this._getStick()),this._valueAxis.update(this._ranges.val,e)},_getStick:function(){},_applySize:function(e){this._allOptions.size={width:e[2]-e[0],height:e[3]-e[1]},this._change([\"UPDATE\"])},_setupResizeHandler:f.noop,_prepareOptions:function(){return b(!0,{},this._themeManager.theme(),this.option())},_getTooltipCoords:function(){var e=this._canvas,t=this._renderer.getRootOffset();return{x:e.width/2+t.left,y:e.height/2+t.top}},_initTooltipEvents:function(){var e={widget:this};this._renderer.root.off(\".\"+v).on(y,e,w)},_showTooltip:function(){this._tooltipShown||(this._tooltipShown=!0,this._getTooltip().isEnabled()&&this._tooltip.show(this._getTooltipData(),this._getTooltipCoords(),{}))},_hideTooltip:function(){this._tooltipShown&&(this._tooltipShown=!1,this._tooltip.hide())},_stopCurrentHandling:function(){this._hideTooltip()},_enableOutHandler:function(){var e=this;if(!e._outHandler){var t=function(t){var n=t.pageX,i=t.pageY,o=e._renderer.getRootOffset(),a=o.left,r=o.top,s=x(n-a),l=x(i-r);(function(e,t,n){var i=e.width,o=e.height;return(0,d.pointInCanvas)({left:0,top:0,right:i,bottom:o,width:i,height:o},t,n)})(e._canvas,s,l)||(e._hideTooltip(),e._disableOutHandler())};i.default.on(o.default.getDocument(),y,t),this._outHandler=t}},_disableOutHandler:function(){this._outHandler&&i.default.off(o.default.getDocument(),y,this._outHandler),this._outHandler=null},_disposeTooltipEvents:function(){this._tooltipTracker.off(),this._disableOutHandler(),this._renderer.root.off(\".\"+v)},_getTooltip:function(){var e=this;return e._tooltip||(_.apply(this,arguments),e._setTooltipRendererOptions(e._tooltipRendererOptions),e._tooltipRendererOptions=null,e._setTooltipOptions()),e._tooltip}}),k=S;t.default=k,S.addPlugin(p.plugin),_=S.prototype._initTooltip,S.prototype._initTooltip=f.noop;var D=S.prototype._disposeTooltip;S.prototype._disposeTooltip=function(){this._tooltip&&D.apply(this,arguments)},S.prototype._setTooltipRendererOptions=function(){var e=this._getRendererOptions();this._tooltip?this._tooltip.setRendererOptions(e):this._tooltipRendererOptions=e},S.prototype._setTooltipOptions=function(){if(this._tooltip){var e=this._getOption(\"tooltip\"),t=this._getDefaultTooltipTemplate(e),n=b(t?{contentTemplate:t}:{},e,{enabled:e.enabled&&this._isTooltipEnabled()});this._tooltip.update(n)}},S.prototype._getDefaultTooltipTemplate=function(e){var t=!0,n=this.option(\"rtlEnabled\")?\"left\":\"right\";if((0,a.isFunction)(e.customizeTooltip)){var i;this._tooltip.update(e);var o=this._getTooltipData(),r=null!==(i=e.customizeTooltip.call(o,o))&&void 0!==i?i:{};t=!(\"html\"in r)&&!(\"text\"in r)}return t&&function(e,t){var n=e.lineSpacing,i=e.size,o=\"\".concat((null!=n?n:2)+i,\"px\");return function(e,n){for(var i=e.valueText,a=(0,c.default)(\"<table>\").css({borderSpacing:0,lineHeight:o}),r=0;r<i.length;r+=2){var s=(0,c.default)(\"<tr>\");(0,c.default)(\"<td>\").text(i[r]).appendTo(s),(0,c.default)(\"<td>\").css({width:15}).appendTo(s),(0,c.default)(\"<td>\").css({textAlign:t}).text(i[r+1]).appendTo(s),a.append(s)}n.append(a)}}(e.font,n)};var I=(0,s.extend)(!0,{},g.plugin,{init:f.noop,dispose:f.noop,customize:null,members:{_getExportMenuOptions:null}});S.addPlugin(I),e.exports=t.default,e.exports.default=t.default},59989:function(e,t,n){t.default=void 0;var i=n(95479),o=r(n(55628)),a=r(n(99393));function r(e){return e&&e.__esModule?e:{default:e}}var s=Number,l=isFinite,u=o.default.inherit({_rootClassPrefix:\"dxb\",_rootClass:\"dxb-bullet\",_themeSection:\"bullet\",_defaultSize:{width:300,height:30,left:1,right:1,top:2,bottom:2},_disposeWidgetElements:function(){delete this._zeroLevelPath,delete this._targetPath,delete this._barValuePath},_cleanWidgetElements:function(){this._zeroLevelPath.remove(),this._targetPath.remove(),this._barValuePath.remove()},_drawWidgetElements:function(){this._drawBullet(),this._drawn()},_createHtmlElements:function(){var e=this._renderer;this._zeroLevelPath=e.path(void 0,\"line\").attr({class:\"dxb-zero-level\",\"stroke-linecap\":\"square\"}),this._targetPath=e.path(void 0,\"line\").attr({class:\"dxb-target\",\"stroke-linecap\":\"square\"}),this._barValuePath=e.path(void 0,\"line\").attr({class:\"dxb-bar-value\",\"stroke-linecap\":\"square\"})},_prepareOptions:function(){var e,t,n,i,o,a;this._allOptions=e=this.callBase();var r=void 0===this._allOptions.value,l=void 0===this._allOptions.target;this._tooltipEnabled=!(r&&l),r&&(this._allOptions.value=0),l&&(this._allOptions.target=0),e.value=o=s(e.value),e.target=a=s(e.target),void 0===this._allOptions.startScaleValue&&(this._allOptions.startScaleValue=a<o?a:o,this._allOptions.startScaleValue=this._allOptions.startScaleValue<0?this._allOptions.startScaleValue:0),void 0===this._allOptions.endScaleValue&&(this._allOptions.endScaleValue=a>o?a:o),e.startScaleValue=t=s(e.startScaleValue),e.endScaleValue=n=s(e.endScaleValue),n<t&&(i=n,this._allOptions.endScaleValue=t,this._allOptions.startScaleValue=i,this._allOptions.inverted=!0)},_updateRange:function(){var e=this._allOptions;this._ranges={arg:{invert:e.rtlEnabled?!e.inverted:e.inverted,min:e.startScaleValue,max:e.endScaleValue,axisType:\"continuous\",dataType:\"numeric\"},val:{min:0,max:1,axisType:\"continuous\",dataType:\"numeric\"}}},_drawBullet:function(){var e=this._allOptions,t=e.startScaleValue!==e.endScaleValue,n=l(e.startScaleValue),i=l(e.endScaleValue),o=l(e.value),a=l(e.target);t&&i&&n&&a&&o&&(this._drawBarValue(),this._drawTarget(),this._drawZeroLevel())},_getTargetParams:function(){var e=this._allOptions,t=this._valueAxis.getTranslator(),n=this._argumentAxis.getTranslator().translate(e.target);return{points:[n,t.translate(.02),n,t.translate(.98)],stroke:e.targetColor,\"stroke-width\":e.targetWidth}},_getBarValueParams:function(){var e,t,n=this._allOptions,i=this._argumentAxis.getTranslator(),o=this._valueAxis.getTranslator(),a=n.startScaleValue,r=n.endScaleValue,s=n.value,l=o.translate(.1),u=o.translate(.9);return s>0?(e=a<=0?0:a,t=s>=r?r:s<e?e:s):(e=r>=0?0:r,t=s<a?a:s>e?e:s),{points:[e=i.translate(e),u,t=i.translate(t),u,t,l,e,l],fill:n.color}},_getCorrectCanvas:function(){return this._canvas},_getZeroLevelParams:function(){var e=this._valueAxis.getTranslator(),t=this._argumentAxis.getTranslator().translate(0);return{points:[t,e.translate(.02),t,e.translate(.98)],stroke:this._allOptions.targetColor,\"stroke-width\":1}},_drawZeroLevel:function(){var e=this._allOptions;0>e.endScaleValue||0<e.startScaleValue||!e.showZeroLevel||this._zeroLevelPath.attr(this._getZeroLevelParams()).sharp().append(this._renderer.root)},_drawTarget:function(){var e=this._allOptions,t=e.target;t>e.endScaleValue||t<e.startScaleValue||!e.showTarget||this._targetPath.attr(this._getTargetParams()).sharp().append(this._renderer.root)},_drawBarValue:function(){this._barValuePath.attr(this._getBarValueParams()).append(this._renderer.root)},_getTooltipCoords:function(){var e=this._canvas,t=this._renderer.getRootOffset(),n=this._barValuePath.getBBox();return{x:n.x+n.width/2+t.left,y:e.height/2+t.top}},_getTooltipData:function(){var e=this._tooltip,t=this._allOptions,n=t.value,i=t.target,o=e.formatValue(n),a=e.formatValue(i);return{originalValue:n,originalTarget:i,value:o,target:a,valueText:[\"Actual Value:\",o,\"Target Value:\",a]}},_isTooltipEnabled:function(){return this._tooltipEnabled}});(0,i.each)([\"color\",\"targetColor\",\"targetWidth\",\"showTarget\",\"showZeroLevel\",\"value\",\"target\",\"startScaleValue\",\"endScaleValue\"],(function(e,t){u.prototype._optionChangesMap[t]=\"OPTIONS\"})),(0,a.default)(\"dxBullet\",u);var d=u;t.default=d,e.exports=t.default,e.exports.default=t.default},51876:function(e,t,n){t.default=void 0;var i=d(n(55628)),o=n(45865),a=n(54932),r=n(19157),s=n(35922),l=d(n(99393)),u=n(1539);function d(e){return e&&e.__esModule?e:{default:e}}var c={line:!0,spline:!0,stepline:!0,area:!0,steparea:!0,splinearea:!0,bar:!0,winloss:!0},h=Math,f=h.abs,p=h.round,g=h.max,m=h.min,_=isFinite,v=Number,y=String;function b(e,t,n,i){return n!==i.first&&n!==i.last||(e=t.firstLastColor),(i.min||[]).indexOf(n)>=0&&(e=t.minColor),(i.max||[]).indexOf(n)>=0&&(e=t.maxColor),e}var x=i.default.inherit({_rootClassPrefix:\"dxsl\",_rootClass:\"dxsl-sparkline\",_themeSection:\"sparkline\",_defaultSize:{width:250,height:30},_initCore:function(){this.callBase(),this._createSeries()},_initialChanges:[\"DATA_SOURCE\"],_dataSourceChangedHandler:function(){this._requestChange([\"UPDATE\"])},_updateWidgetElements:function(){this._updateSeries(),this.callBase()},_disposeWidgetElements:function(){this._series&&this._series.dispose(),this._series=this._seriesGroup=this._seriesLabelGroup=null},_cleanWidgetElements:function(){this._seriesGroup.remove(),this._seriesLabelGroup.remove(),this._seriesGroup.clear(),this._seriesLabelGroup.clear(),this._series.removeGraphicElements(),this._series.removePointElements(),this._series.removeBordersGroup()},_drawWidgetElements:function(){this._dataIsLoaded()&&(this._drawSeries(),this._drawn())},_getCorrectCanvas:function(){var e=this._allOptions,t=this._canvas,n=e.pointSize&&Math.ceil(e.pointSize/2)+2,i=e.type;return\"bar\"!==i&&\"winloss\"!==i&&(e.showFirstLast||e.showMinMax)?{width:t.width,height:t.height,left:t.left+n,right:t.right+n,top:t.top+n,bottom:t.bottom+n}:t},_prepareOptions:function(){this._allOptions=this.callBase(),this._allOptions.type=(0,r.normalizeEnum)(this._allOptions.type),c[this._allOptions.type]||(this._allOptions.type=\"line\")},_createHtmlElements:function(){this._seriesGroup=this._renderer.g().attr({class:\"dxsl-series\"}),this._seriesLabelGroup=this._renderer.g().attr({class:\"dxsl-series-labels\"})},_createSeries:function(){this._series=new a.Series({renderer:this._renderer,seriesGroup:this._seriesGroup,labelsGroup:this._seriesLabelGroup,argumentAxis:this._argumentAxis,valueAxis:this._valueAxis,incidentOccurred:this._incidentOccurred},{widgetType:\"chart\",type:\"line\"})},_updateSeries:function(){var e=this._series;this._prepareDataSource();var t=this._prepareSeriesOptions();e.updateOptions(t);var n={groups:[{series:[e]}]};n.argumentOptions={type:\"bar\"===t.type?\"discrete\":void 0},this._simpleDataSource=(0,o.validateData)(this._simpleDataSource,n,this._incidentOccurred,{checkTypeForAllData:!1,convertToAxisDataType:!0,sortingMethod:!0})[e.getArgumentField()],t.customizePoint=this._getCustomizeFunction(),e.updateData(this._simpleDataSource),e.createPoints(),this._groupsDataCategories=n.categories},_optionChangesMap:{dataSource:\"DATA_SOURCE\"},_optionChangesOrder:[\"DATA_SOURCE\"],_change_DATA_SOURCE:function(){this._updateDataSource()},_prepareDataSource:function(){var e=this._allOptions,t=e.argumentField,n=e.valueField,i=function(e,t,n,i){return(0,r.map)(e,(function(e,o){var a,r,s=null;return void 0!==e&&(s={},a=_(e),s[t]=a?y(o):e[t],r=a?e:e[n],s[n]=null===r?i?void 0:r:v(r),s=void 0!==s[t]&&void 0!==s[n]?s:null),s}))}(this._dataSourceItems()||[],t,n,this.option(\"ignoreEmptyPoints\"));\"winloss\"===e.type?(this._winlossDataSource=i,this._simpleDataSource=function(e,t,n,i){return(0,r.map)(e,(function(e){var o={};return o[t]=e[t],f(e[n]-i)<1e-4?o[n]=0:e[n]>i?o[n]=1:o[n]=-1,o}))}(i,t,n,e.winlossThreshold)):this._simpleDataSource=i},_prepareSeriesOptions:function(){var e=this._allOptions,t=\"winloss\"===e.type?\"bar\":e.type;return{visible:!0,argumentField:e.argumentField,valueField:e.valueField,color:e.lineColor,width:e.lineWidth,widgetType:\"chart\",name:\"\",type:t,opacity:-1!==t.indexOf(\"area\")?this._allOptions.areaOpacity:void 0,point:{size:e.pointSize,symbol:e.pointSymbol,border:{visible:!0,width:2},color:e.pointColor,visible:!1,hoverStyle:{border:{}},selectionStyle:{border:{}}},border:{color:e.lineColor,width:e.lineWidth,visible:\"bar\"!==t}}},_getCustomizeFunction:function(){var e=this._allOptions,t=this._winlossDataSource||this._simpleDataSource,n=this._getExtremumPointsIndexes(t);return\"winloss\"===e.type||\"bar\"===e.type?function(e,t,n){return function(){var i=this.index,o=\"winloss\"===t.type,a=o?t.winlossThreshold:0,r=o?n[i][t.valueField]:this.value,s=o?t.winColor:t.barPositiveColor,l=o?t.lossColor:t.barNegativeColor;return{color:b(r>=a?s:l,t,i,e)}}}(n,e,this._winlossDataSource):function(e,t){return function(){var n=b(void 0,t,this.index,e);return n?{visible:!0,border:{color:n}}:{}}}(n,e)},_getExtremumPointsIndexes:function(e){var t=this._allOptions,n=e.length-1,i={};return this._minMaxIndexes=function(e,t){var n,i,o=(e[0]||{})[t]||0,a=o,r=o,s=[0],l=[0],u=e.length;for(i=1;i<u;i++)(n=e[i][t])<a?(a=n,s=[i]):n===a&&s.push(i),n>r?(r=n,l=[i]):n===r&&l.push(i);return r===a&&(s=l=[]),{minIndexes:s,maxIndexes:l}}(e,t.valueField),t.showFirstLast&&(i.first=0,i.last=n),t.showMinMax&&(i.min=this._minMaxIndexes.minIndexes,i.max=this._minMaxIndexes.maxIndexes),i},_getStick:function(){return{stick:\"bar\"!==this._series.type}},_updateRange:function(){var e,t=this._series,n=t.type,i=\"bar\"===n,o=\"winloss\"===n,a=t.getRangeData(),r=this._allOptions.minValue,l=(0,s.isDefined)(r)&&_(r),u=this._allOptions.maxValue,d=(0,s.isDefined)(u)&&_(u),c=.15*(a.val.max-a.val.min);i||o||\"area\"===n?(0!==a.val.min&&(a.val.min-=c),0!==a.val.max&&(a.val.max+=c)):(a.val.min-=c,a.val.max+=c),(l||d)&&(l&&d?(a.val.minVisible=m(r,u),a.val.maxVisible=g(r,u)):(a.val.minVisible=l?v(r):void 0,a.val.maxVisible=d?v(u):void 0),o&&(a.val.minVisible=l?g(a.val.minVisible,-1):void 0,a.val.maxVisible=d?m(a.val.maxVisible,1):void 0)),t.getPoints().length>1&&i&&(e=.1*(a.arg.max-a.arg.min),a.arg.min=a.arg.min-e,a.arg.max=a.arg.max+e),a.arg.categories=this._groupsDataCategories,this._ranges=a},_getBarWidth:function(e){var t=this._canvas,n=4*e,i=t.width-t.left-t.right-n,o=p(i/e);return o<1&&(o=1),o>50&&(o=50),o},_correctPoints:function(){var e,t,n=this._allOptions.type,i=this._series.getPoints(),o=i.length;if(\"bar\"===n||\"winloss\"===n)for(e=this._getBarWidth(o),t=0;t<o;t++)i[t].correctCoordinates({width:e,offset:0})},_drawSeries:function(){this._simpleDataSource.length>0&&(this._correctPoints(),this._series.draw(),this._seriesGroup.append(this._renderer.root))},_isTooltipEnabled:function(){return!!this._simpleDataSource.length},_getTooltipData:function(){var e=this._allOptions,t=this._winlossDataSource||this._simpleDataSource,n=this._tooltip;if(0===t.length)return{};var i=this._minMaxIndexes,o=e.valueField,a=t[0][o],r=t[t.length-1][o],l=(0,s.isDefined)(i.minIndexes[0])?t[i.minIndexes[0]][o]:a,u=(0,s.isDefined)(i.maxIndexes[0])?t[i.maxIndexes[0]][o]:a,d=n.formatValue(a),c=n.formatValue(r),h=n.formatValue(l),f=n.formatValue(u),p={firstValue:d,lastValue:c,minValue:h,maxValue:f,originalFirstValue:a,originalLastValue:r,originalMinValue:l,originalMaxValue:u,valueText:[\"Start:\",d,\"End:\",c,\"Min:\",h,\"Max:\",f]};return\"winloss\"===e.type&&(p.originalThresholdValue=e.winlossThreshold,p.thresholdValue=n.formatValue(e.winlossThreshold)),p}});(0,r.map)([\"lineColor\",\"lineWidth\",\"areaOpacity\",\"minColor\",\"maxColor\",\"barPositiveColor\",\"barNegativeColor\",\"winColor\",\"lessColor\",\"firstLastColor\",\"pointSymbol\",\"pointColor\",\"pointSize\",\"type\",\"argumentField\",\"valueField\",\"winlossThreshold\",\"showFirstLast\",\"showMinMax\",\"ignoreEmptyPoints\",\"minValue\",\"maxValue\"],(function(e){x.prototype._optionChangesMap[e]=\"OPTIONS\"})),(0,l.default)(\"dxSparkline\",x);var w=x;t.default=w,x.addPlugin(u.plugin),e.exports=t.default,e.exports.default=t.default},86231:function(e,t,n){t.addCacheItem=function(e){var t=++k;e._cache=t,D[t]=e},t.currentTheme=O,t.getTheme=I,t.refreshTheme=function(){return C(D,(function(){this.refresh()})),this},t.registerTheme=A,t.registerThemeSchemeAlias=function(e,t){x[e]=t},t.removeCacheItem=function(e){delete D[e._cache]};var i=n(13306),o=n(95479),a=n(19157),r=n(75811),s=n(35922),l=_(n(8839)),u=_(n(39726)),d=_(n(17374)),c=_(n(14870)),h=_(n(83313)),f=_(n(25257)),p=_(n(84253)),g=_(n(60350)),m=_(n(11239));function _(e){return e&&e.__esModule?e:{default:e}}var v,y={},b={},x={},w=i.extend,C=o.each,S=null,k=0,D={};function I(e){var t=(0,a.normalizeEnum)(e);return y[t]||y[b[t]||O()]}function T(e,t){return b[e+\".\"+t]||x[e+\".\"+t]||b[e]}function E(e,t,n){return T(e+t,n)||T(e,n)}function O(e,t){if(!arguments.length)return S||T((0,r.current)())||v;var n=(0,a.normalizeEnum)(t);return S=(e&&e.platform?E((0,a.normalizeEnum)(e.platform),e.version,n):T((0,a.normalizeEnum)(e),n))||S,this}function A(e,t){var n=(0,a.normalizeEnum)(e&&e.name);n&&(e.isDefault&&(v=n),function(e,t){var n=function(e,t){var n=e.indexOf(t);return n>0?{name:e.substring(0,n),scheme:e.substring(n+1)}:null}(e,\".\")||{name:e},i=n.name,o=n.scheme;o?(b[i]=b[i]||t,b[i+\".\"+o]=t):b[i]=t}(n,n),y[n]=w(!0,{},I(t),function(e){return P((e=w(!0,{loadingIndicator:{font:{}},export:{font:{}},legend:{font:{},border:{}},title:{font:{}},tooltip:{font:{}},\"chart:common\":{},\"chart:common:axis\":{grid:{},minorGrid:{},tick:{},minorTick:{},title:{font:{}},label:{font:{}}},\"chart:common:annotation\":{font:{},border:{}},chart:{commonSeriesSettings:{candlestick:{}}},pie:{},polar:{},gauge:{scale:{tick:{},minorTick:{},label:{font:{}}}},barGauge:{},funnel:{},sankey:{},map:{background:{}},treeMap:{tile:{selectionStyle:{border:{}}},group:{border:{},selectionStyle:{border:{}},label:{font:{}}}},rangeSelector:{scale:{tick:{},minorTick:{},label:{font:{}}},chart:{}},sparkline:{},bullet:{}},e)).loadingIndicator,\"backgroundColor\",e),P(e.chart.commonSeriesSettings.candlestick,\"innerColor\",null,e.backgroundColor),P(e.map.background,\"color\",null,e.backgroundColor),P(e.title.font,\"color\",null,e.primaryTitleColor),M(e.title,\"subtitle\",null,e.title),P(e.legend.font,\"color\",null,e.secondaryTitleColor),P(e.legend.border,\"color\",null,e.gridColor),function(e){var t=e[\"chart:common:axis\"];C([t.grid,t.minorGrid],(function(t,n){P(n,\"color\",null,e.gridColor)})),C([t,t.tick,t.minorTick,t.label.font],(function(t,n){P(n,\"color\",null,e.axisColor)})),P(t.title.font,\"color\",null,e.secondaryTitleColor),P(e.gauge.scale.label.font,\"color\",null,e.axisColor),P(e.gauge.scale.tick,\"color\",null,e.backgroundColor),P(e.gauge.scale.minorTick,\"color\",null,e.backgroundColor),P(e.rangeSelector.scale.label.font,\"color\",null,e.axisColor)}(e),C([\"chart\",\"pie\",\"polar\",\"gauge\",\"barGauge\",\"map\",\"treeMap\",\"funnel\",\"rangeSelector\",\"sparkline\",\"bullet\",\"sankey\"],(function(t,n){P(e[n],\"redrawOnResize\",e),P(e[n],\"containerBackgroundColor\",null,e.backgroundColor),M(e[n],\"tooltip\",e),M(e[n],\"export\",e)})),C([\"chart\",\"pie\",\"polar\",\"gauge\",\"barGauge\",\"map\",\"treeMap\",\"funnel\",\"rangeSelector\",\"sankey\"],(function(t,n){M(e[n],\"loadingIndicator\",e),M(e[n],\"legend\",e),M(e[n],\"title\",e)})),C([\"chart\",\"pie\",\"polar\"],(function(t,n){M(e,n,null,e[\"chart:common\"])})),C([\"chart\",\"polar\"],(function(t,n){e[n]=e[n]||{},M(e[n],\"commonAxisSettings\",null,e[\"chart:common:axis\"])})),C([\"chart\",\"polar\",\"map\",\"pie\"],(function(t,n){e[n]=e[n]||{},M(e[n],\"commonAnnotationSettings\",null,e[\"chart:common:annotation\"])})),M(e.rangeSelector.chart,\"commonSeriesSettings\",e.chart),M(e.rangeSelector.chart,\"dataPrepareSettings\",e.chart),P(e.treeMap.group.border,\"color\",null,e.gridColor),P(e.treeMap.tile.selectionStyle.border,\"color\",null,e.primaryTitleColor),P(e.treeMap.group.selectionStyle.border,\"color\",null,e.primaryTitleColor),P(e.map.legend,\"backgroundColor\",e),function(e){var t=e.map;C([\"area\",\"line\",\"marker\"],(function(e,n){M(t,\"layer:\"+n,null,t.layer)})),C([\"dot\",\"bubble\",\"pie\",\"image\"],(function(e,n){M(t,\"layer:marker:\"+n,null,t[\"layer:marker\"])}))}(e),e}(e)))}function P(e,t,n,i){var o=n?n[t]:i;void 0!==o&&void 0===e[t]&&(e[t]=o)}function M(e,t,n,i){var o=n?n[t]:i;void 0!==o&&(e[t]=w(!0,{},o,e[t]))}(0,s.isEmptyObject)(y)&&(0,s.isEmptyObject)(b)&&!v&&[].concat(l.default,u.default,d.default,c.default,h.default,f.default,p.default,g.default,m.default).forEach((function(e){A(e.theme,e.baseThemeName)}))},46163:function(e,t,n){t.default=void 0;var i=n(35922),o=n(60810),a=Math.round;function r(e){return e}var s={translate:function(e,t){var n=this._canvasOptions,o=this._categoriesToPoints[null==e?void 0:e.valueOf()],r=this.translateSpecialCase(e),s=n.startPointIndex||0,l=this._options.stick?0:.5;if((0,i.isDefined)(r))return a(r);if(!o&&0!==o)return null;var u=o+l-s+.5*(t=t||0);return a(this._calculateProjection(n.interval*u))},getInterval:function(){return this._canvasOptions.interval},getEventScale:function(e){return 1-(1-(e.deltaScale||1))/(.75+this.visibleCategories.length/this._categories.length)},zoom:function(e,t){var n,i=this._categories,a=this._canvasOptions,r=this._options.stick,s=a.invert,l=a.interval*t,u=e/l,d=(this.visibleCategories||[]).length,c=parseInt((a.startPointIndex||0)+u+.5),h=parseInt((0,o.adjust)(a.canvasLength/l)+(r?1:0))||1;s&&(c=parseInt((a.startPointIndex||0)+d-u+.5)-h),c<0&&(c=0),(n=c+h)>i.length&&(c=(n=i.length)-h)<0&&(c=0);var f=i.slice(parseInt(c),parseInt(n)),p=this._getDiscreteInterval(f.length,a);return t=p/a.interval,e=this.translate(s?f[f.length-1]:f[0])*t-(a.startPoint+(r?0:p/2)),{min:f[0],max:f[f.length-1],translate:e,scale:t}},getMinScale:function(e){var t=this._canvasOptions,n=(this.visibleCategories||this._categories).length;return n+=(parseInt(.1*n)||1)*(e?-2:2),t.canvasLength/(Math.max(n,1)*t.interval)},getScale:function(e,t){var n=this._canvasOptions,o=this.getCanvasVisibleArea(),a=!this._options.stick&&1,r=(0,i.isDefined)(e)?this.translate(e,-a):null,s=(0,i.isDefined)(t)?this.translate(t,+a):null;return null===r&&(r=n.invert?o.max:o.min),null===s&&(s=n.invert?o.min:o.max),this.canvasLength/Math.abs(s-r)},isValid:function(e){return!!(0,i.isDefined)(e)&&this._categoriesToPoints[e.valueOf()]>=0},getCorrectValue:r,to:function(e,t){var n=this._canvasOptions,i=this._categoriesToPoints[null==e?void 0:e.valueOf()],o=n.startPointIndex||0,r=i+(this._options.stick?0:.5)-o+(this._businessRange.invert?-1:1)*t*.5;return a(this._calculateProjection(n.interval*r))},from:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this._canvasOptions,i=n.startPoint,o=this.visibleCategories||this._categories,r=o.length,s=this._options.stick?.5:0,l=a((e-i)/n.interval+s-.5-.5*t);return l>=r&&(l=r-1),l<0&&(l=0),n.invert&&(l=r-l-1),o[l]},_add:function(){return NaN},toValue:r,isValueProlonged:!0,getRangeByMinZoomValue:function(e,t){var n=this._categories,i=n.indexOf(t.minVisible)+e-1,o=n.indexOf(t.maxVisible)-e+1;return n[i]?[t.minVisible,n[i]]:[n[o],t.maxVisible]}};t.default=s,e.exports=t.default,e.exports.default=t.default},75480:function(e,t,n){t.default=void 0;var i,o=(i=n(91198))&&i.__esModule?i:{default:i};function a(e){return null!==e?new Date(e):e}var r={fromValue:a,toValue:a,_add:o.default.addDateInterval,convert:o.default.dateToMilliseconds};t.default=r,e.exports=t.default,e.exports.default=t.default},93175:function(e,t,n){t.default=void 0;var i,o=n(35922),a=(i=n(91198))&&i.__esModule?i:{default:i},r=n(60810);var s=Math.floor,l={_intervalize:function(e,t){if((0,o.isDefined)(e))return\"datetime\"===this._businessRange.dataType?(e=(0,o.isNumeric)(e)?new Date(e):new Date(e.getTime()),e=a.default.correctDateWithUnitBeginning(e,t,null,this._options.firstDayOfWeek)):e=(0,r.adjust)(s((0,r.adjust)(e/t))*t,t),e},translate:function(e,t,n){var i=this.translateSpecialCase(e);return(0,o.isDefined)(i)?Math.round(i):(n=n||this._options.interval,this.isValid(e,n)?this.to(e,t,n):null)},getInterval:function(){return Math.round(this._canvasOptions.ratioOfCanvasRange*(this._businessRange.interval||Math.abs(this._canvasOptions.rangeMax-this._canvasOptions.rangeMin)))},zoom:function(){},getMinScale:function(){},getScale:function(){},_parse:function(e){return\"datetime\"===this._businessRange.dataType?new Date(e):Number(e)},fromValue:function(e){return this._parse(e)},toValue:function(e){return this._parse(e)},isValid:function(e,t){var n=this._canvasOptions,i=n.rangeMin,r=n.rangeMax;return t=t||this._options.interval,null!==e&&!isNaN(e)&&(e=\"datetime\"===this._businessRange.dataType&&(0,o.isNumeric)(e)?new Date(e):e,t!==this._options.interval&&(i=this._intervalize(i,t),r=this._intervalize(r,t)),!(e.valueOf()<i||e.valueOf()>=a.default.addInterval(r,t)))},to:function(e,t,n){n=n||this._options.interval;var i=this._intervalize(e,n),o=a.default.addInterval(i,n),r=this._to(i),l=this._to(o);return t?t>0&&(r=l):r=s((r+l)/2),r},_to:function(e){var t=this._canvasOptions,n=t.rangeMinVisible,i=t.rangeMaxVisible,o=e-n;return e<n?o=0:e>i&&(o=a.default.addInterval(i,this._options.interval)-n),this._conversionValue(this._calculateProjection(o*this._canvasOptions.ratioOfCanvasRange))},from:function(e,t){var n,i=this._options.interval,o=i,r=this._canvasOptions,s=r.rangeMinVisible,l=r.rangeMaxVisible;return\"datetime\"===this._businessRange.dataType&&(o=a.default.dateToMilliseconds(i)),n=this._calculateUnProjection((e-this._canvasOptions.startPoint)/this._canvasOptions.ratioOfCanvasRange),(n=this._intervalize(a.default.addInterval(n,o/2,t>0),i))<s?n=s:n>l&&(n=l),n},_add:function(){return NaN},isValueProlonged:!0};t.default=l,e.exports=t.default,e.exports.default=t.default},1804:function(e,t,n){t.default=void 0;var i=n(19157),o=n(35922),a={fromValue:function(e){return null!==e?(0,i.getLogExt)(e,this._canvasOptions.base,this._businessRange.allowNegatives,this._businessRange.linearThreshold):e},toValue:function(e){return null!==e?(0,i.raiseToExt)(e,this._canvasOptions.base,this._businessRange.allowNegatives,this._businessRange.linearThreshold):e},getMinBarSize:function(e){var t=this.getCanvasVisibleArea(),n=this.from(t.min+e),i=this._canvasOptions,o=this.fromValue(this.from(t.min)),a=this.fromValue(null!=n?n:this.from(t.max)),r=Math.abs(o-a);return Math.pow(i.base,r)},checkMinBarSize:function(e,t,n){var i,a,r=this._canvasOptions,s=n?n-e:0,l=this.constructor.prototype.checkMinBarSize;return(0,o.isDefined)(t)&&s>0?(i=l(this.fromValue(n/s),this.fromValue(t)-r.rangeMinVisible),a=Math.pow(r.base,this.fromValue(s)+i)-s):a=l(e,t),a}};t.default=a,e.exports=t.default,e.exports.default=t.default},21177:function(e,t,n){t.Range=void 0;var i=n(35922),o=n(13306),a=n(19157),r=i.isDefined,s=i.isDate,l=i.isFunction;function u(e,t){return t<e}function d(e,t){return t>e}function c(e,t,n,i){var o=r(t);r(e)?o&&i(e,t)&&n(t):o&&n(t)}var h=function(e){e&&(0,o.extend)(this,e)};t.Range=h;var f=h;f.prototype={constructor:f,addRange:function(e){var t=this,n=t.categories,i=e.categories,o=\"discrete\"===t.axisType,s=function(n,i){c(t[n],e[n],(function(e){t[n]=e}),i)},l=function(e,n,i){c(t[e],t[n],(function(n){r(t[e])&&(t[e]=n)}),i)},h=function(n){t[n]=t[n]||e[n]};return h(\"invert\"),h(\"containsConstantLine\"),h(\"axisType\"),h(\"dataType\"),h(\"isSpacedMargin\"),\"logarithmic\"===t.axisType?h(\"base\"):t.base=void 0,s(\"min\",u),s(\"max\",d),o?(h(\"minVisible\"),h(\"maxVisible\")):(s(\"minVisible\",u),s(\"maxVisible\",d)),s(\"interval\",u),o||(l(\"min\",\"minVisible\",u),l(\"min\",\"maxVisible\",u),l(\"max\",\"maxVisible\",d),l(\"max\",\"minVisible\",d)),t.categories=void 0===n?i:i?(0,a.unique)(n.concat(i)):n,\"logarithmic\"===t.axisType&&(h(\"allowNegatives\"),s(\"linearThreshold\",u)),t},isEmpty:function(){return!(r(this.min)&&r(this.max)||this.categories&&0!==this.categories.length)},correctValueZeroLevel:function(){var e=this;if(s(e.max)||s(e.min))return e;function t(t,n){e[t]<0&&e[n]<0&&(e[n]=0),e[t]>0&&e[n]>0&&(e[t]=0)}return t(\"min\",\"max\"),t(\"minVisible\",\"maxVisible\"),e},sortCategories:function(e){if(!1!==e&&this.categories)if(Array.isArray(e)){var t=e.map((function(e){return e.valueOf()})),n=this.categories.filter((function(e){return-1===t.indexOf(e.valueOf())}));this.categories=e.concat(n)}else{var i=!l(e);i&&\"string\"!==this.dataType?e=function(e,t){return e.valueOf()-t.valueOf()}:i&&(e=!1),e&&this.categories.sort(e)}}}},17953:function(e,t){t.Translator1D=i;var n=Number;function i(){this.setDomain(arguments[0],arguments[1]).setCodomain(arguments[2],arguments[3]).setInverted(!1)}i.prototype={constructor:i,setDomain:function(e,t){return this._domain1=n(e),this._domain2=n(t),this._domainDelta=this._domain2-this._domain1,this},setCodomain:function(e,t){return this._codomain1=n(e),this._codomain2=n(t),this._codomainDelta=this._codomain2-this._codomain1,this},setInverted:function(e){this.inverted=e},getDomain:function(){return[this._domain1,this._domain2]},getCodomain:function(){return[this._codomain1,this._codomain2]},getDomainStart:function(){return this._domain1},getDomainEnd:function(){return this._domain2},getCodomainStart:function(){return this._codomain1},getCodomainEnd:function(){return this._codomain2},getDomainRange:function(){return this._domainDelta},getCodomainRange:function(){return this._codomainDelta},translate:function(e){var t=(n(e)-this._domain1)/this._domainDelta;return this.inverted&&(t=1-t),0<=t&&t<=1?this._codomain1+t*this._codomainDelta:NaN},adjust:function(e){var t=(n(e)-this._domain1)/this._domainDelta,i=NaN;return t<0?i=this._domain1:t>1?i=this._domain2:0<=t&&t<=1&&(i=n(e)),i}}},87276:function(e,t,n){t.Translator2D=void 0;var i=n(13306),o=n(95479),a=n(21177),r=p(n(46163)),s=p(n(93175)),l=p(n(75480)),u=p(n(1804)),d=n(19157),c=n(35922),h=n(60810),f=p(n(91198));function p(e){return e&&e.__esModule?e:{default:e}}var g=Math.abs,m=[\"width\",\"height\",\"left\",\"top\",\"bottom\",\"right\"],_={to:function(e){var t=this._canvasOptions.startPoint+(this._options.conversionValue?e:Math.round(e));return t>this._canvasOptions.endPoint?this._canvasOptions.endPoint:t},from:function(e){return e-this._canvasOptions.startPoint}},v=function(e){return(0,o.each)(m,(function(t,n){e[n]=parseInt(e[n])||0})),e};function y(e){return{isStartSide:e?function(e,t,n,i){return e<=t[t.length-1][i]}:function(e,t,n,i){return e<t[0][n]},isEndSide:e?function(e,t,n,i){return e>t[0][n]}:function(e,t,n,i){return e>=t[t.length-1][i]},isInBreak:e?function(e,t,n,i){return e>t[i]&&e<=t[n]}:function(e,t,n,i){return e>=t[n]&&e<t[i]},isBetweenBreaks:e?function(e,t,n,i,o){return e>=t[o]&&e<n[i]}:function(e,t,n,i,o){return e<t[i]&&e>=n[o]},getLength:e?function(e,t){return t.length-e.length}:function(e){return e.length},getBreaksSize:e?function(e,t){return t.cumulativeWidth-e.cumulativeWidth}:function(e){return e.cumulativeWidth}}}var b=function(e,t,n){this.update(e,t,n)};t.Translator2D=b,b.prototype={constructor:b,reinit:function(){var e=this,t=e._options,n=e._businessRange,o=n.categories||[],a={},c=e._prepareCanvasOptions(),h=(0,d.getCategoriesInfo)(o,n.minVisible,n.maxVisible).categories,p=h.length;if(n.isEmpty())a=_;else switch(n.axisType){case\"logarithmic\":a=u.default;break;case\"semidiscrete\":a=s.default,c.ratioOfCanvasRange=c.canvasLength/(f.default.addInterval(c.rangeMaxVisible,t.interval)-c.rangeMinVisible);break;case\"discrete\":a=r.default,e._categories=o,c.interval=e._getDiscreteInterval(t.addSpiderCategory?p+1:p,c),e._categoriesToPoints=function(e){var t={};return e.forEach((function(e,n){t[e.valueOf()]=n})),t}(o),p&&(c.startPointIndex=e._categoriesToPoints[h[0].valueOf()],e.visibleCategories=h);break;default:\"datetime\"===n.dataType&&(a=l.default)}(e._oldMethods||[]).forEach((function(t){delete e[t]})),e._oldMethods=Object.keys(a),(0,i.extend)(e,a),e._conversionValue=t.conversionValue?function(e){return e}:function(e){return Math.round(e)},e.sc={},e._checkingMethodsAboutBreaks=[y(!1),y(e.isInverted())],e._translateBreaks(),e._calculateSpecialValues()},_translateBreaks:function(){var e,t,n,i,o=this._breaks,a=this._options.breaksSize;if(void 0!==o)for(e=0,i=o.length;e<i;e++)t=o[e],n=this.translate(t.to),t.end=n,t.start=t.gapSize?n:this.isInverted()?n+a:n-a},_checkValueAboutBreaks:function(e,t,n,i,o){var a,r,s,l,u={length:0,breaksSize:void 0,inBreak:!1},d=e[e.length-1];if(o.isStartSide(t,e,n,i))return u;if(o.isEndSide(t,e,n,i))return{length:d.length,breaksSize:d.cumulativeWidth,inBreak:!1};for(a=0,r=e.length;a<r;a++){if(s=e[a],l=e[a-1],o.isInBreak(t,s,n,i)){u.inBreak=!0,u.break=s;break}if(l&&o.isBetweenBreaks(t,s,l,n,i)){u={length:o.getLength(l,d),breaksSize:o.getBreaksSize(l,d),inBreak:!1};break}}return u},isInverted:function(){return!(this._options.isHorizontal^this._businessRange.invert)},_getDiscreteInterval:function(e,t){var n=e-(this._options.stick?1:0);return n>0?t.canvasLength/n:t.canvasLength},_prepareCanvasOptions:function(){var e,t,n,i,o,a,r=this._businessRange,s=this._canvasOptions=(t=(e=r).min,n=e.max,i=e.minVisible,o=e.maxVisible,\"logarithmic\"===e.axisType&&(o=(0,d.getLogExt)(o,e.base,e.allowNegatives,e.linearThreshold),i=(0,d.getLogExt)(i,e.base,e.allowNegatives,e.linearThreshold),t=(0,d.getLogExt)(t,e.base,e.allowNegatives,e.linearThreshold),n=(0,d.getLogExt)(n,e.base,e.allowNegatives,e.linearThreshold)),{base:e.base,rangeMin:t,rangeMax:n,rangeMinVisible:i,rangeMaxVisible:o}),l=this._canvas,u=this._breaks;return s.startPadding=l.startPadding||0,s.endPadding=l.endPadding||0,this._options.isHorizontal?(s.startPoint=l.left+s.startPadding,a=l.width,s.endPoint=l.width-l.right-s.endPadding,s.invert=r.invert):(s.startPoint=l.top+s.startPadding,a=l.height,s.endPoint=l.height-l.bottom-s.endPadding,s.invert=!r.invert),this.canvasLength=s.canvasLength=s.endPoint-s.startPoint,s.rangeDoubleError=Math.pow(10,(0,d.getPower)(s.rangeMax-s.rangeMin)-(0,d.getPower)(a)-2),s.ratioOfCanvasRange=s.canvasLength/(s.rangeMaxVisible-s.rangeMinVisible),void 0!==u&&(s.ratioOfCanvasRange=(s.canvasLength-u[u.length-1].cumulativeWidth)/(s.rangeMaxVisible-s.rangeMinVisible-u[u.length-1].length)),s},updateCanvas:function(e){this._canvas=v(e),this.reinit()},updateBusinessRange:function(e){var t=e.breaks||[];this._userBreaks=e.userBreaks||[],this._businessRange=function(e){function t(t,n){!(0,c.isDefined)(e[t])&&(0,c.isDefined)(e[n])&&(e[t]=e[n])}return e instanceof a.Range||(e=new a.Range(e)),t(\"minVisible\",\"min\"),t(\"maxVisible\",\"max\"),e}(e),this._breaks=t.length?function(e,t){var n,i,o,a,r=\"logarithmic\"===t.axisType?function(e){return(0,d.getLogExt)(e,t.base)}:function(e){return e},s=[],l=e.length,u=0;for(a=0;a<l;a++)i=r((n=e[a]).from),u+=(o=r(n.to))-i,s.push({trFrom:i,trTo:o,from:n.from,to:n.to,length:u,cumulativeWidth:n.cumulativeWidth});return s}(t,this._businessRange):void 0,this.reinit()},update:function(e,t,n){this._options=(0,i.extend)(this._options||{},n),this._canvas=v(t),this.updateBusinessRange(e)},getBusinessRange:function(){return this._businessRange},getEventScale:function(e){return e.deltaScale||1},getCanvasVisibleArea:function(){return{min:this._canvasOptions.startPoint,max:this._canvasOptions.endPoint}},_calculateSpecialValues:function(){var e,t=this._canvasOptions,n=t.startPoint-t.startPadding,i=t.endPoint+t.endPadding,o=this._businessRange,a=o.minVisible,r=o.maxVisible,s=n+t.canvasLength/2;if(a<0&&r>0&&a!==r&&(e=this.translate(0,1)),!(0,c.isDefined)(e)){var l=o.invert^(a<0&&r<=0);e=this._options.isHorizontal?l?i:n:l?n:i}this.sc={canvas_position_default:e,canvas_position_left:n,canvas_position_top:n,canvas_position_center:s,canvas_position_middle:s,canvas_position_right:i,canvas_position_bottom:i,canvas_position_start:t.invert?i:n,canvas_position_end:t.invert?n:i}},translateSpecialCase:function(e){return this.sc[e]},_calculateProjection:function(e){var t=this._canvasOptions;return t.invert?t.endPoint-e:t.startPoint+e},_calculateUnProjection:function(e){var t=this._canvasOptions;return\"datetime\"===this._businessRange.dataType&&(e=Math.round(e)),t.invert?t.rangeMaxVisible.valueOf()-e:t.rangeMinVisible.valueOf()+e},getMinBarSize:function(e){var t=this.getCanvasVisibleArea(),n=this.from(t.min+e);return g(this.from(t.min)-((0,c.isDefined)(n)?n:this.from(t.max)))},checkMinBarSize:function(e,t){return g(e)<t?e>=0?t:-t:e},translate:function(e,t){var n=this.translateSpecialCase(e);return(0,c.isDefined)(n)?Math.round(n):isNaN(e)?null:this.to(e,t)},getInterval:function(e){var t,n=this._canvasOptions;return(e=null!==(t=e)&&void 0!==t?t:this._businessRange.interval)?Math.round(n.ratioOfCanvasRange*e):Math.round(n.endPoint-n.startPoint)},zoom:function(e,t,n){var i=this._canvasOptions;if(i.rangeMinVisible.valueOf()===i.rangeMaxVisible.valueOf()&&0!==e)return this.zoomZeroLengthRange(e,t);var o=i.startPoint,a=i.endPoint,r=this.isInverted(),s=(o+e)/t,l=(a+e)/t;n=n||{};var u,d,f=this.to(r?n.endValue:n.startValue),p=this.to(r?n.startValue:n.endValue);return f>s&&(l-=s-f,s=f,u=r?n.endValue:n.startValue),p<l&&(s-=l-p,l=p,d=r?n.startValue:n.endValue),p-f<l-s&&(s=f,l=p),t=(o+(e=(a-o)*s/(l-s)-o))/s||1,u=(0,c.isDefined)(u)?u:(0,h.adjust)(this.from(s,1)),d=(0,c.isDefined)(d)?d:(0,h.adjust)(this.from(l,-1)),t<=1&&(u=this._correctValueAboutBreaks(u,1===t?e:-1),d=this._correctValueAboutBreaks(d,1===t?e:1)),u>d?(u=u>n.endValue?n.endValue:u,d=d<n.startValue?n.startValue:d):(u=u<n.startValue?n.startValue:u,d=d>n.endValue?n.endValue:d),{min:u,max:d,translate:(0,h.adjust)(e),scale:(0,h.adjust)(t)}},_correctValueAboutBreaks:function(e,t){var n=this._userBreaks.filter((function(t){return e>=t.from&&e<=t.to}));return n.length?t>0?n[0].to:n[0].from:e},zoomZeroLengthRange:function(e,t){var n=this._canvasOptions,i=n.rangeMin,o=n.rangeMax,a=(o.valueOf()!==i.valueOf()?o.valueOf()-i.valueOf():g(n.rangeMinVisible.valueOf()-i.valueOf()))/n.canvasLength,r=(0,c.isDate)(o)||(0,c.isDate)(i),s=\"logarithmic\"===this._businessRange.axisType,l=n.rangeMinVisible.valueOf()-a,u=n.rangeMaxVisible.valueOf()+a;return{min:l=s?(0,h.adjust)((0,d.raiseToExt)(l,n.base)):r?new Date(l):l,max:u=s?(0,h.adjust)((0,d.raiseToExt)(u,n.base)):r?new Date(u):u,translate:e,scale:t}},getMinScale:function(e){var t=this._businessRange,n=t.dataType,i=t.interval;return\"datetime\"===n&&1===i?this.getDateTimeMinScale(e):e?1.1:.9},getDateTimeMinScale:function(e){var t=this._canvasOptions,n=t.canvasLength/t.ratioOfCanvasRange;return n+=(parseInt(.1*n)||1)*(e?-2:2),t.canvasLength/(Math.max(n,1)*t.ratioOfCanvasRange)},getScale:function(e,t){var n=this._canvasOptions;return n.rangeMax===n.rangeMin?1:(e=(0,c.isDefined)(e)?this.fromValue(e):n.rangeMin,t=(0,c.isDefined)(t)?this.fromValue(t):n.rangeMax,(n.rangeMax-n.rangeMin)/Math.abs(e-t))},isValid:function(e){var t=this._canvasOptions;return null!==(e=this.fromValue(e))&&!isNaN(e)&&e.valueOf()+t.rangeDoubleError>=t.rangeMin&&e.valueOf()-t.rangeDoubleError<=t.rangeMax},getCorrectValue:function(e,t){var n,i=this._breaks;return e=this.fromValue(e),this._breaks&&!0===(n=this._checkValueAboutBreaks(i,e,\"trFrom\",\"trTo\",this._checkingMethodsAboutBreaks[0])).inBreak?this.toValue(t>0?n.break.trTo:n.break.trFrom):this.toValue(e)},to:function(e,t){var n=this.getBusinessRange();if((0,c.isDefined)(n.maxVisible)&&(0,c.isDefined)(n.minVisible)&&n.maxVisible.valueOf()===n.minVisible.valueOf())return(0,c.isDefined)(e)&&n.maxVisible.valueOf()===e.valueOf()?this.translateSpecialCase(0===e&&this._options.shiftZeroValue?\"canvas_position_default\":\"canvas_position_middle\"):null;e=this.fromValue(e);var i=this._canvasOptions,o=this._breaks,a={length:0},r=0;return void 0!==o&&(a=this._checkValueAboutBreaks(o,e,\"trFrom\",\"trTo\",this._checkingMethodsAboutBreaks[0]),r=(0,c.isDefined)(a.breaksSize)?a.breaksSize:0),!0===a.inBreak?t>0?a.break.start:t<0?a.break.end:null:this._conversionValue(this._calculateProjection((e-i.rangeMinVisible-a.length)*i.ratioOfCanvasRange+r))},from:function(e,t){var n=this._breaks,i={length:0},o=this._canvasOptions,a=o.startPoint,r=0;return void 0!==n&&(i=this._checkValueAboutBreaks(n,e,\"start\",\"end\",this._checkingMethodsAboutBreaks[1]),r=(0,c.isDefined)(i.breaksSize)?i.breaksSize:0),!0===i.inBreak?t>0?this.toValue(i.break.trTo):t<0?this.toValue(i.break.trFrom):null:this.toValue(this._calculateUnProjection((e-a-r)/o.ratioOfCanvasRange+i.length))},isValueProlonged:!1,getRange:function(){return[this.toValue(this._canvasOptions.rangeMin),this.toValue(this._canvasOptions.rangeMax)]},getScreenRange:function(){return[this._canvasOptions.startPoint,this._canvasOptions.endPoint]},add:function(e,t,n){return this._add(e,t,(this._businessRange.invert?-1:1)*n)},_add:function(e,t,n){return this.toValue(this.fromValue(e)+t*n)},fromValue:function(e){return null!==e?Number(e):null},toValue:function(e){return null!==e?Number(e):null},ratioOfCanvasRange:function(){return this._canvasOptions.ratioOfCanvasRange},convert:function(e){return e},getRangeByMinZoomValue:function(e,t){return t.minVisible+e<=this._businessRange.max?[t.minVisible,t.minVisible+e]:[t.maxVisible-e,t.maxVisible]}}},15584:function(e,t,n){var i;t.default=void 0;var o=((i=n(4080))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},4815:function(e,t,n){var i=s(n(49983)),o=s(n(21168)),a=n(13306),r=n(20576);function s(e){return e&&e.__esModule?e:{default:e}}var l=i.default.prototype,u=o.default.prototype;function d(e,t){var n=e.ctx;n.suspend(),n.change(t),n.resume()}l._eventsMap.onNodesInitialized={name:\"nodesInitialized\"},l._eventsMap.onNodesRendering={name:\"nodesRendering\"},l._createProxyType=function(){var e,t=this;function n(e){e.proxy=this,this._id=e._id,this.level=e.level,this.index=e.index,this.data=e.data}n.prototype={constructor:n,getParent:function(){return e[this._id].parent.proxy||null},getChild:function(t){var n=e[this._id].nodes;return n?n[t].proxy:null},getChildrenCount:function(){var t=e[this._id].nodes;return t?t.length:0},getAllChildren:function(){var t,n=e[this._id].nodes,i=n&&n.length,o=[];for(t=0;t<i;++t)o.push(n[t].proxy);return o},getAllNodes:function(){var t=[];return function e(t,n){var i,o=t.nodes,a=o&&o.length;for(i=0;i<a;++i)n.push(o[i].proxy),e(o[i],n)}(e[this._id],t),t},isLeaf:function(){return!e[this._id].isNode()},isActive:function(){return e[this._id].isActive()},value:function(t){var n,i=e[this._id];return void 0!==t?(!function(e,t){var n=t-e.value;for(;e;)e.value+=n,e=e.parent}(i,t>0?Number(t):0),d(i,[\"TILING\"]),n=this):n=i.value,n},label:function(t){var n,i=e[this._id];return void 0!==t?(i.customLabel=t?String(t):null,d(i,[\"LABELS\"]),n=this):n=i.customLabel||i.label,n},customize:function(t){var n=e[this._id];return t&&(n._custom=n._custom||{},(0,a.extend)(!0,n._custom,t),n._partialState=n._partialLabelState=null),d(n,[\"TILES\",\"LABELS\"]),this},resetCustomization:function(){var t=e[this._id];return t._custom=t._partialState=t._partialLabelState=null,d(t,[\"TILES\",\"LABELS\"]),this}},t._extendProxyType(n.prototype),t._handlers.beginBuildNodes=function(){e=t._nodes,new n(t._root)},t._handlers.buildNode=function(e){new n(e)},t._handlers.endBuildNodes=function(){t._eventTrigger(\"nodesInitialized\",{root:t._root.proxy})}},l._extendProxyType=r.noop;var c=l._resetNodes;l._resetNodes=function(){c.call(this),this._eventTrigger(\"nodesRendering\",{node:this._topNode.proxy})};var h=u.updateStyles;u.updateStyles=function(){h.call(this),this._custom&&(this._partialState=!this.ctx.forceReset&&this._partialState||this.ctx.calculateState(this._custom),(0,a.extend)(!0,this.state,this._partialState))};var f=u.updateLabelStyle;u.updateLabelStyle=function(){var e=this._custom;f.call(this),e&&e.label&&(this._partialLabelState=!this.ctx.forceReset&&this._partialLabelState||function(e,t){var n=e.ctx.calculateLabelState(t);\"visible\"in t&&(n.visible=!!t.visible);return n}(this,e.label),this.labelState=(0,a.extend)(!0,{},this.labelState,this._partialLabelState))},l.getRootNode=function(){return this._root.proxy},l.resetNodes=function(){var e=this._context;return e.suspend(),e.change([\"NODES_CREATE\"]),e.resume(),this}},66831:function(e,t,n){function i(e,t,n){var i=t.createPalette(e.palette,{useHighlight:!0,extensionMode:e.paletteExtensionMode,count:e.colorizeGroups?r(n):o(n)});return(e.colorizeGroups?s:a)(i,n)}function o(e){var t,n,i=e.nodes.slice(),a=i.length,r=0;for(t=0;t<a;++t)(n=i[t]).isNode()?r=Math.max(r,o(n)):r+=1;return r}function a(e){var t=e.generateColors();return function(e){return t[e.index]}}function r(e){var t,n,i=e.nodes.slice(),o=i.length,a=0;for(t=0;t<o;++t)(n=i[t]).isNode()&&(a+=r(n)+1);return a}function s(e,t){var n=function(e,t){var n,i,o={},a=t.nodes.slice(),r=a.length;for(n=0;n<r;++n)(i=a[n]).isNode()?r=(a=a.concat(i.nodes)).length:o[i.parent._id]||(o[i.parent._id]=e.getNextColor());return o}(e,t);return function(e){return n[e._id]}}t.default=void 0,(0,n(19910).addColorizer)(\"discrete\",i);var l=i;t.default=l,e.exports=t.default,e.exports.default=t.default},13652:function(e,t,n){t.default=void 0;var i=n(19910),o=Math.min,a=Math.max;function r(e){return[Number(e[0])||0,e[1]-e[0]||1]}function s(e,t){var n={};return function(i){var s=i.parent;return e(i,n[s._id]||(n[s._id]=function(e,t){var n,i,s=e.length,l=[];for(n=0;n<s;++n)i=t(e[n]),isFinite(i)&&l.push(i);return r([o.apply(null,l),a.apply(null,l)])}(s.nodes,t)))}}function l(e,t){var n=t.createGradientPalette(e.palette),o=(0,i.createColorCodeGetter)(e);return\"range\"in e?function(e,t){return function(n){return e(n,t)}}(a,r(e.range||[])):s(a,o);function a(e,t){return n.getColor((o(e)-t[0])/t[1])}}(0,i.addColorizer)(\"gradient\",l);var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},19910:function(e,t,n){t.addColorizer=function(e,t){r[e]=t},t.createColorCodeGetter=function(e){return e.colorCodeField?(t=e.colorCodeField,function(e){return Number(e.data[t])}):u;var t},t.getColorizer=function(e,t,n){var u=(0,o.normalizeEnum)(e.type||i),d=r[u]&&r[u](e,t,n);return d?(e.colorizeGroups?l:s)(d):a.noop},t.setDefaultColorizer=function(e){i=e};var i,o=n(19157),a=n(20576),r={};function s(e){return function(t){return t.isNode()?void 0:e(t)}}function l(e){return function(t){var n=!t.isNode()&&t.parent;return n?n._groupColor=n._groupColor||e(n):void 0}}function u(e){return e.value}},73675:function(e,t,n){t.default=void 0;var i=n(19910);function o(e,t){var n=e.range||[],o=t.createDiscretePalette(e.palette,n.length-1),a=(0,i.createColorCodeGetter)(e);return function(e){return o.getColor(function(e,t){var n,i=0,o=t.length-1,a=-1;if(t[i]<=e&&e<=t[o])if(e===t[o])a=o-1;else{for(;o-i>1;)e<t[n=i+o>>1]?o=n:i=n;a=i}return a}(a(e),n))}}(0,i.addColorizer)(\"range\",o);var a=o;t.default=a,e.exports=t.default,e.exports.default=t.default},77707:function(e,t,n){t.buildRectAppearance=function(e){var t=e.border||{};return{fill:e.color,opacity:e.opacity,stroke:t.color,\"stroke-width\":t.width,\"stroke-opacity\":t.opacity,hatching:e.hatching}},t.buildTextAppearance=function(e,t){return{attr:{filter:t},css:(0,i.patchFontOptions)(e.font)}};var i=n(19157)},61104:function(e,t,n){var i,o=(i=n(49983))&&i.__esModule?i:{default:i},a=n(3603);n(4815);var r=o.default.prototype;r._eventsMap.onDrill={name:\"drill\"},(0,a.expand)(r,\"_extendProxyType\",(function(e){var t=this;e.drillDown=function(){t._drillToNode(this._id)}})),(0,a.expand)(r,\"_onNodesCreated\",(function(){this._drilldownIndex=-1})),r._drillToNode=function(e){var t;this._drilldownIndex!==e&&(t=this._nodes[e]||this._root).nodes&&(this._drilldownIndex=e,this._topNode=t,this._context.suspend(),this._context.change([\"MAX_DEPTH\",\"NODES_RESET\"]),this._context.resume(),this._eventTrigger(\"drill\",{node:t.proxy}))},r.resetDrillDown=function(){return this._drillToNode(-1),this},r.drillUp=function(){return this._drillToNode(this._topNode.parent._id||-1),this},r.getCurrentNode=function(){return this._topNode.proxy}},9888:function(e,t,n){var i=l(n(49983)),o=l(n(21168)),a=n(3603),r=n(77707),s=n(19157);function l(e){return e&&e.__esModule?e:{default:e}}n(4815),n(83469);var u=i.default.prototype,d=o.default.prototype;u._eventsMap.onHoverChanged={name:\"hoverChanged\"},(0,a.expand)(u._handlers,\"calculateAdditionalStates\",(function(e,t){e[1]=t.hoverStyle?(0,r.buildRectAppearance)(t.hoverStyle):{}})),i.default.addChange({code:\"HOVER_ENABLED\",handler:function(){var e=(0,s.parseScalar)(this._getOption(\"hoverEnabled\",!0),!0);e||this.clearHover(),this._hoverEnabled=e},isThemeDependent:!0,isOptionChange:!0,option:\"hoverEnabled\"}),d.statesMap[1]=1,d.additionalStates.push(1),(0,a.expand)(u,\"_extendProxyType\",(function(e){var t=this;e.setHover=function(){t._hoverNode(this._id)},e.isHovered=function(){return t._hoverIndex===this._id}})),(0,a.expand)(u,\"_onNodesCreated\",(function(){this._hoverIndex=-1})),(0,a.expand)(u,\"_changeGroupSettings\",(function(){this._groupHoverEnabled=(0,s.parseScalar)(this._getOption(\"group\").hoverEnabled,!0),this._groupHoverEnabled||this.clearHover()})),u._applyHoverState=function(e,t){!function e(t,n,i){var o,a=t.isNode()&&t.nodes,r=a&&a.length;for(t.setState(n,i),o=0;o<r;++o)e(a[o],n,i)}(this._nodes[e],1,t),this._eventTrigger(\"hoverChanged\",{node:this._nodes[e].proxy})},u._hoverNode=function(e){var t=this._hoverIndex;if(this._hoverEnabled&&t!==e){if(!this._groupHoverEnabled&&e>=0&&this._nodes[e].isNode())return void this.clearHover();this._context.suspend(),this._hoverIndex=-1,t>=0&&this._applyHoverState(t,!1),this._hoverIndex=e,e>=0&&this._applyHoverState(e,!0),this._context.resume()}},u.clearHover=function(){this._hoverNode(-1)}},21168:function(e,t,n){t.default=void 0;var i=n(13306);function o(){}var a=[function(e,t){e.smartAttr(t)},function(e,t){e.outer.attr({stroke:t.stroke,\"stroke-width\":t[\"stroke-width\"],\"stroke-opacity\":t[\"stroke-opacity\"]}),e.inner.smartAttr({fill:t.fill,opacity:t.opacity,hatching:t.hatching})}];(0,i.extend)(o.prototype,{value:0,isNode:function(){return!!(this.nodes&&this.level<this.ctx.maxLevel)},isActive:function(){var e=this.ctx;return this.level>=e.minLevel&&this.level<=e.maxLevel},updateStyles:function(){var e=Number(this.isNode());this.state=this._buildState(this.ctx.settings[e].state,!e&&this.color&&{fill:this.color})},_buildState:function(e,t){var n=(0,i.extend)({},e);return t?(0,i.extend)(n,t):n},updateLabelStyle:function(){var e=this.ctx.settings[Number(this.isNode())];this.labelState=e.labelState,this.labelParams=e.labelParams},_getState:function(){return this.state},applyState:function(){a[Number(this.isNode())](this.tile,this._getState())}});var r=o;t.default=r,e.exports=t.default,e.exports.default=t.default},74958:function(e,t,n){var i;var o=((i=n(49983))&&i.__esModule?i:{default:i}).default.prototype;o._optionChangesMap.idField=o._optionChangesMap.parentField=\"NODES_CREATE\",o._processDataSourceItems=function(e){var t,n,i,o,a,r={},s=this._getOption(\"idField\",!0),l=this._getOption(\"parentField\",!0),u=[];if(!s||!l||0===e.length)return{items:e,isPlain:!1};for(t=0;t<e.length;t++)(i=(n=e[t])[l])?(r[i]=r[i]||{items:[]},o=r[i].items):o=u,o.push(n);for(a in function e(t,n){var i,o,a,r=t.struct;for(o=0;o<n.length;o++)i=n[o],a=i[t.idField],r[a]&&(i.items=r[a].items,r[a]=null,e(t,i.items))}({struct:r,idField:s},u),r)r[a]&&u.push(r[a]);return{items:u,isPlain:!0}}},13099:function(e,t,n){var i=l(n(49983)),o=l(n(21168)),a=n(3603),r=n(77707),s=n(19157);function l(e){return e&&e.__esModule?e:{default:e}}n(4815),n(83469);var u=i.default.prototype,d=o.default.prototype;u._eventsMap.onSelectionChanged={name:\"selectionChanged\"},(0,a.expand)(u._handlers,\"calculateAdditionalStates\",(function(e,t){e[2]=t.selectionStyle?(0,r.buildRectAppearance)(t.selectionStyle):{}})),d.statesMap[2]=d.statesMap[3]=2,d.additionalStates.push(2),(0,a.expand)(u,\"_onNodesCreated\",(function(){this._selectionList.length=0})),(0,a.expand)(u,\"_extendProxyType\",(function(e){var t=this;e.select=function(e){t._selectNode(this._id,!!e)},e.isSelected=function(){return t._selectionList.includes(this._id)},t._selectionList=[]})),i.default.addChange({code:\"SELECTION_MODE\",handler:function(){var e,t=(0,s.normalizeEnum)(this._getOption(\"selectionMode\",!0)),n=this._selectionList,i=\"none\"===t?0:\"multiple\"===t?2:1;1===i&&n.length>1?(e=n.pop(),this.clearSelection(),n.push(e)):0===i&&this.clearSelection(),this._selectionMode=i},isThemeDependent:!0,isOptionChange:!0,option:\"selectionMode\"}),(0,a.expand)(u,\"_applyTilesAppearance\",(function(){this._selectionList.length&&function(e,t){var n,i,o=t.length;for(n=0;n<o;++n)i=e[t[n]],c[Number(i.isNode())](i.tile)}(this._nodes,this._selectionList)}));var c=[function(e){e.toForeground()},function(e){e.outer.toForeground(),e.inner.toForeground()}];u._applySelectionState=function(e,t){var n=this._nodes[e];n.setState(2,t),this._eventTrigger(\"selectionChanged\",{node:n.proxy})},u._selectNode=function(e,t){var n,i,o;0!==this._selectionMode&&(this._context.suspend(),i=(n=this._selectionList).indexOf(e),t&&-1===i?(1===this._selectionMode&&n.length&&(o=n.pop(),this._applySelectionState(o,!1)),n.push(e),this._applySelectionState(e,!0)):!t&&i>=0&&(n.splice(i,1),this._applySelectionState(e,!1)),this._context.resume())},u.clearSelection=function(){var e,t=this._selectionList,n=t.length;if(0!==this._selectionMode){for(this._context.suspend(),e=0;e<n;++e)this._applySelectionState(t[e],!1);t.length=0,this._context.resume()}}},83469:function(e,t,n){var i=s(n(49983)),o=s(n(21168)),a=n(20576),r=n(13306);function s(e){return e&&e.__esModule?e:{default:e}}var l=i.default.prototype,u=o.default.prototype,d=l._handlers,c=d.calculateState,h=u._buildState;d.calculateState=function(e){var t={0:c(e)};return d.calculateAdditionalStates(t,e),t},d.calculateAdditionalStates=a.noop,u.code=0,u.statesMap={0:0},u.additionalStates=[],u._buildState=function(e,t){var n={0:h(e[0],t)};return this.additionalStates.length&&function(e,t,n,i){var o,a=i.length;for(o=0;o<a;++o)e[i[o]]=(0,r.extend)({},t,n[i[o]])}(n,n[0],e,this.additionalStates),n},u._getState=function(){return this.state[this.statesMap[this.code]]},u.setState=function(e,t){t?this.code|=e:this.code&=~e,this.ctx.change([\"TILES\"])}},60642:function(e,t,n){t.addAlgorithm=function(e,t){s[e]=t},t.buildSidesData=function(e,t,n){var i=void 0!==n?n:u(e),o=1-i,a=t[i],r=t[o],s=l[a],d=l[r];return{staticSide:e[2+i]-e[i],variedSide:e[2+o]-e[o],static1:i+s[0],static2:i+s[1],varied1:o+d[0],varied2:o+d[1],staticDir:a,variedDir:r}},t.calculateRectangles=function(e,t,n,i,o){var a,s,l,u,d=[0,0,0,0],c=i.static1,h=i.static2,f=n[c],p=i.staticDir,g=i.staticSide,m=o.sum;for(d[i.varied1]=n[i.varied1],d[i.varied2]=n[i.varied1]+i.variedDir*o.side,a=t,s=t+o.count;a<s;++a)(l=d.slice())[c]=f,u=r(g*e[a].value/m)||0,m-=e[a].value,g-=u,f+=p*u,l[h]=f,e[a].rect=l;n[i.varied1]=d[i.varied2]},t.getAlgorithm=function(e){return s[(0,a.normalizeEnum)(e)]||(0,o.isFunction)(e)&&e||i},t.getStaticSideIndex=void 0,t.setDefaultAlgorithm=function(e){i=s[e]};var i,o=n(35922),a=n(19157),r=Math.round,s={};var l={\"-1\":[2,0],1:[0,2]},u=function(e){return e[2]-e[0]<e[3]-e[1]?0:1};t.getStaticSideIndex=u},36061:function(e,t,n){var i=n(60642),o=(0,i.getAlgorithm)(\"sliceanddice\");(0,i.addAlgorithm)(\"rotatedsliceanddice\",(function(e){return e.isRotated=!e.isRotated,o.call(this,e)}))},56369:function(e,t,n){t.default=void 0;var i=n(60642);function o(e){var t=e.items,n=(0,i.buildSidesData)(e.rect,e.directions,e.isRotated?1:0);(0,i.calculateRectangles)(t,0,e.rect,n,{sum:e.sum,count:t.length,side:n.variedSide})}(0,i.addAlgorithm)(\"sliceanddice\",o);var a=o;t.default=a,e.exports=t.default,e.exports.default=t.default},57200:function(e,t,n){t.default=function(e,t,n){var o,a=e.items,l=a.length,u={sum:e.sum,rect:e.rect,directions:e.directions,accumulate:t};n&&(u.staticSideIndex=(0,i.getStaticSideIndex)(u.rect));for(a.sort(r),o=0;o<l;)o=s(a,o,u)};var i=n(60642),o=Math.max,a=Math.round;function r(e,t){return t.value-e.value}function s(e,t,n){var r,s=(0,i.buildSidesData)(n.rect,n.directions,n.staticSideIndex),l=((r=n.rect)[2]-r[0])*(r[3]-r[1]),u=l>0?function(e,t,n){var i,r,s,l,u,d,c=1/0,h=0,f=e.length,p=n.areaToValue/n.staticSide;for(s=t;s<f;){for(r=h+e[s].value,u=n.staticSide/p/r,i=0,l=t;l<=s;++l)i=n.accumulate(i,(d=u*e[l].value/r,o(d,1/d)),l-t+1);if(!(i<c))break;c=i,h=r,++s}return{sum:h,count:s-t,side:a(p*h)}}(e,t,{areaToValue:l/n.sum,accumulate:n.accumulate,staticSide:s.staticSide}):{sum:1,side:s.variedSide,count:e.length-t};return(0,i.calculateRectangles)(e,t,n.rect,s,u),n.sum-=u.sum,t+u.count}e.exports=t.default,e.exports.default=t.default},46576:function(e,t,n){t.default=void 0;var i,o=(i=n(57200))&&i.__esModule?i:{default:i},a=n(60642);var r=Math.max;function s(e,t){return r(e,t)}function l(e){return(0,o.default)(e,s,!1)}(0,a.addAlgorithm)(\"squarified\",l);var u=l;t.default=u,e.exports=t.default,e.exports.default=t.default},20957:function(e,t,n){t.default=void 0;var i,o=(i=n(57200))&&i.__esModule?i:{default:i};function a(e,t,n){return((n-1)*e+t)/n}function r(e){return(0,o.default)(e,a,!0)}(0,n(60642).addAlgorithm)(\"strip\",r);var s=r;t.default=s,e.exports=t.default,e.exports.default=t.default},2322:function(e,t,n){var i,o=n(3603),a=(i=n(49983))&&i.__esModule?i:{default:i};n(4815);var r=n(14371);var s=a.default.prototype;function l(e,t,n){var i=n.getRootOffset();return e||t&&[(t[0]+t[2])/2+i.left,(t[1]+t[3])/2+i.top]||[-1e3,-1e3]}(0,o.expand)(s,\"_extendProxyType\",(function(e){var t=this;e.showTooltip=function(e){t._showTooltip(this._id,e)}})),(0,o.expand)(s,\"_onNodesCreated\",(function(){this._tooltipIndex>=0&&this._tooltip.hide(),this._tooltipIndex=-1})),(0,o.expand)(s,\"_onTilingPerformed\",(function(){this._tooltipIndex>=0&&this._moveTooltip(this._nodes[this._tooltipIndex])})),s._showTooltip=function(e,t){var n=this,i=n._tooltip,o=n._nodes[e];if(n._tooltipIndex!==e){var a=function(t){void 0!==t&&(t||i.hide(),n._tooltipIndex=t?e:-1)},r=l(t,o.rect,this._renderer);a(i.show({value:o.value,valueText:i.formatValue(o.value),node:o.proxy},{x:r[0],y:r[1],offset:0},{node:o.proxy},void 0,a))}else n._moveTooltip(o,t)},s._moveTooltip=function(e,t){var n=l(t,e.rect,this._renderer);this._tooltip.move(n[0],n[1],0)},s.hideTooltip=function(){this._tooltipIndex>=0&&(this._tooltipIndex=-1,this._tooltip.hide())},a.default.addPlugin(r.plugin)},66681:function(e,t,n){var i,o=(i=n(49983))&&i.__esModule?i:{default:i},a=n(88997),r=n(3603),s=n(19157);n(4815),n(9888),n(2322);var l=0,u=o.default.prototype;u._eventsMap.onClick={name:\"click\"};(0,r.expand)(u,\"_initCore\",(function(){var e=this,t=\"__treemap_data_\"+l++,n=function(t){return e._nodes[t].proxy};e._tracker=new a.Tracker({widget:e,root:e._renderer.root,getNode:function(t){var i=n(t);return(0,s.parseScalar)(e._getOption(\"interactWithGroup\",!0))&&i.isLeaf()&&i.getParent().isActive()?i.getParent():i},getData:function(e){var n=e.target;return(\"tspan\"===n.tagName?n.parentNode:n)[t]},getProxy:n,click:function(t){e._eventTrigger(\"click\",t)}}),e._handlers.setTrackerData=function(e,n){n.data(t,e._id)}})),(0,r.expand)(u,\"_disposeCore\",(function(){this._tracker.dispose()}))},49983:function(e,t,n){t.default=void 0;var i=n(77707),o=h(n(21168)),a=n(60642),r=n(19910),s=n(19157),l=n(20576),u=h(n(55845));n(46576),n(66831);var d=h(n(99393)),c=n(1539);function h(e){return e&&e.__esModule?e:{default:e}}var f=Math.max,p={lefttoprightbottom:[1,1],leftbottomrighttop:[1,-1],righttopleftbottom:[-1,1],rightbottomlefttop:[-1,-1]};function g(e){return e>0?Math.round(e):0}(0,a.setDefaultAlgorithm)(\"squarified\"),(0,r.setDefaultColorizer)(\"discrete\");var m=u.default.inherit({_handlers:{beginBuildNodes:l.noop,buildNode:l.noop,endBuildNodes:l.noop,setTrackerData:l.noop,calculateState:function(e){return(0,i.buildRectAppearance)(e)}},_rootClass:\"dxtm-tree-map\",_rootClassPrefix:\"dxtm\",_getDefaultSize:function(){return{width:400,height:400}},_themeSection:\"treeMap\",_fontFields:[\"tile.label.font\",\"group.label.font\"],_init:function(){var e=this;e._rectOffsets={},e._handlers=Object.create(e._handlers),e._context={suspend:function(){e._applyingChanges||e._suspendChanges()},resume:function(){e._applyingChanges||e._resumeChanges()},change:function(t){e._change(t)},settings:[{},{}],calculateState:e._handlers.calculateState,calculateLabelState:i.buildTextAppearance},e._root=e._topNode={nodes:[]},e.callBase.apply(e,arguments)},_initialChanges:[\"DATA_SOURCE\"],_initCore:function(){var e=this._renderer;this._createProxyType(),this._tilesGroup=e.g().linkOn(e.root,\"tiles\").linkAppend(),this._labelsGroup=e.g().linkOn(e.root,\"labels\").linkAppend()},_createProxyType:l.noop,_disposeCore:function(){this._filter&&this._filter.dispose(),this._labelsGroup.linkOff(),this._tilesGroup.linkOff()},_applySize:function(e){this._tilingRect=e.slice(),this._change([\"TILING\"])},_optionChangesMap:{dataSource:\"DATA_SOURCE\",valueField:\"NODES_CREATE\",childrenField:\"NODES_CREATE\",colorField:\"TILES\",colorizer:\"TILES\",labelField:\"LABELS\",tile:\"TILE_SETTINGS\",group:\"GROUP_SETTINGS\",maxDepth:\"MAX_DEPTH\",layoutAlgorithm:\"TILING\",layoutDirection:\"TILING\"},_themeDependentChanges:[\"TILE_SETTINGS\",\"GROUP_SETTINGS\",\"MAX_DEPTH\"],_changeDataSource:function(){this._isDataExpected=this._isSyncData=!0,this._updateDataSource(),this._isSyncData=!1,this._isDataExpected&&this._suspendChanges()},_dataSourceChangedHandler:function(){this._isDataExpected?(this._isDataExpected=!1,this._change([\"NODES_CREATE\"]),this._isSyncData||this._resumeChanges()):this._requestChange([\"NODES_CREATE\"])},_optionChangesOrder:[\"DATA_SOURCE\",\"TILE_SETTINGS\",\"GROUP_SETTINGS\",\"MAX_DEPTH\"],_change_DATA_SOURCE:function(){this._changeDataSource()},_change_TILE_SETTINGS:function(){this._changeTileSettings()},_change_GROUP_SETTINGS:function(){this._changeGroupSettings()},_change_MAX_DEPTH:function(){this._changeMaxDepth()},_customChangesOrder:[\"NODES_CREATE\",\"NODES_RESET\",\"TILES\",\"LABELS\",\"TILING\",\"LABELS_LAYOUT\"],_change_NODES_CREATE:function(){this._buildNodes()},_change_NODES_RESET:function(){this._resetNodes()},_change_TILES:function(){this._applyTilesAppearance()},_change_LABELS:function(){this._applyLabelsAppearance()},_change_TILING:function(){this._performTiling()},_change_LABELS_LAYOUT:function(){this._performLabelsLayout()},_applyChanges:function(){var e=this;e.callBase.apply(e,arguments),e._isDataExpected||e._drawn(),e._context.forceReset=!1},_buildNodes:function(){var e=this._root=this._topNode=new o.default;e._id=0,e.parent={},e.data={},e.level=e.index=-1,e.ctx=this._context,e.label=null,this._nodes=[e],this._handlers.beginBuildNodes();var t=this._processDataSourceItems(this._dataSourceItems()||[]);!function e(t,n,i,a){var r,s,l,u,d=[],c=a.nodes,h=n.length,f=0;for(s=0;s<h;++s){var p;l=n[s],(r=new o.default)._id=c.length,r.ctx=a.ctx,r.parent=t,r.level=i,r.index=d.length,r.data=l,a.buildNode(r),c.push(r),d.push(r),u=l[a.itemsField],null!==(p=u)&&void 0!==p&&p.length&&e(r,u,i+1,a),l[a.valueField]>0&&(r.value=Number(l[a.valueField])),f+=r.value}t.nodes=d,t.value=f}(e,t.items,0,{itemsField:!t.isPlain&&this._getOption(\"childrenField\",!0)||\"items\",valueField:this._getOption(\"valueField\",!0)||\"value\",buildNode:this._handlers.buildNode,ctx:this._context,nodes:this._nodes}),this._onNodesCreated(),this._handlers.endBuildNodes(),this._change([\"NODES_RESET\"])},_onNodesCreated:l.noop,_processDataSourceItems:function(e){return{items:e,isPlain:!1}},_changeTileSettings:function(){var e=this._getOption(\"tile\"),t=this._rectOffsets,n=g(e.border.width),i=n/2,o=1&n?.5:0,a=e.label,r=this._context.settings[0];this._change([\"TILES\",\"LABELS\"]),r.state=this._handlers.calculateState(e),this._filter=this._filter||this._renderer.shadowFilter(\"-50%\",\"-50%\",\"200%\",\"200%\"),this._filter.attr(a.shadow),this._calculateLabelSettings(r,a,this._filter.id),t.tileEdge===i&&t.tileInner===o||(t.tileEdge=i,t.tileInner=o,this._change([\"TILING\"]))},_changeGroupSettings:function(){var e=this._getOption(\"group\"),t=e.label,n=this._rectOffsets,i=g(e.border.width),o=i/2,a=1&i?.5:0,r=0,s=g(e.padding),l=this._context.settings[1];this._change([\"TILES\",\"LABELS\"]),l.state=this._handlers.calculateState(e),this._calculateLabelSettings(l,t),r=e.headerHeight>=0?g(e.headerHeight):l.labelParams.height+2*g(t.paddingTopBottom),this._headerHeight!==r&&(this._headerHeight=r,this._change([\"TILING\"])),this._groupPadding!==s&&(this._groupPadding=s,this._change([\"TILING\"])),n.headerEdge===o&&n.headerInner===a||(n.headerEdge=o,n.headerInner=a,this._change([\"TILING\"]))},_calculateLabelSettings:function(e,t,n){var o=this._getTextBBox(t.font),a=g(t.paddingLeftRight),r=g(t.paddingTopBottom),s=this._getOption(\"tile.label\"),l=this._getOption(\"group.label\");e.labelState=(0,i.buildTextAppearance)(t,n),e.labelState.visible=!(\"visible\"in t)||!!t.visible,e.labelParams={height:o.height,rtlEnabled:this._getOption(\"rtlEnabled\",!0),paddingTopBottom:r,paddingLeftRight:a,tileLabelWordWrap:s.wordWrap,tileLabelOverflow:s.textOverflow,groupLabelOverflow:l.textOverflow}},_changeMaxDepth:function(){var e=this._getOption(\"maxDepth\",!0);e=e>=1?Math.round(e):1/0,this._maxDepth!==e&&(this._maxDepth=e,this._change([\"NODES_RESET\"]))},_resetNodes:function(){this._tilesGroup.clear(),this._renderer.initDefsElements(),this._context.forceReset=!0,this._context.minLevel=this._topNode.level+1,this._context.maxLevel=this._context.minLevel+this._maxDepth-1,this._change([\"TILES\",\"LABELS\",\"TILING\"])},_processNodes:function(e,t){!function e(t,n,i){var o,a,r=n.nodes,s=r.length;for(a=0;a<s;++a)o=r[a],i(t,o),o.isNode()&&e(t,o,i)}(e,this._topNode,t)},_applyTilesAppearance:function(){var e=(0,r.getColorizer)(this._getOption(\"colorizer\"),this._themeManager,this._topNode);this._processNodes({renderer:this._renderer,group:this._tilesGroup,setTrackerData:this._handlers.setTrackerData,colorField:this._getOption(\"colorField\",!0)||\"color\",getColor:e},v)},_applyLabelsAppearance:function(){this._labelsGroup.clear(),this._processNodes({renderer:this._renderer,group:this._labelsGroup,setTrackerData:this._handlers.setTrackerData,labelField:this._getOption(\"labelField\",!0)||\"name\"},y),this._change([\"LABELS_LAYOUT\"])},_performTiling:function(){var e={algorithm:(0,a.getAlgorithm)(this._getOption(\"layoutAlgorithm\",!0)),directions:p[String(this._getOption(\"layoutDirection\",!0)).toLowerCase()]||p.lefttoprightbottom,headerHeight:this._headerHeight,groupPadding:this._groupPadding,rectOffsets:this._rectOffsets};this._topNode.innerRect=this._tilingRect,x(e,this._topNode),this._processNodes(e,w),this._change([\"LABELS_LAYOUT\"]),this._onTilingPerformed()},_onTilingPerformed:l.noop,_performLabelsLayout:function(){this._processNodes(null,D)},_getTextBBox:function(e){var t=this._renderer,n=this._textForCalculations||t.text(\"0\",0,0);this._textForCalculations=n,n.css((0,s.patchFontOptions)(e)).append(t.root);var i=n.getBBox();return n.remove(),i}});var _=[function(e,t){var n=e.renderer.simpleRect().append(e.group);return e.setTrackerData(t,n),n},function(e,t){var n=e.renderer.simpleRect().append(e.group),i=e.renderer.simpleRect().append(e.group);return e.setTrackerData(t,i),{outer:n,inner:i}}];function v(e,t){t.color=t.data[e.colorField]||e.getColor(t)||t.parent.color,t.updateStyles(),t.tile=!t.ctx.forceReset&&t.tile||_[Number(t.isNode())](e,t),t.applyState()}function y(e,t){t.updateLabelStyle(),t.labelState.visible&&function(e,t,n,i){var o=t.data[e.labelField];t.label=o?String(o):null,(o=t.customLabel||t.label)&&(t.text=e.renderer.text(o).attr(n.attr).css(n.css).append(e.group),e.setTrackerData(t,t.text))}(e,t,t.labelState,t.labelParams)}var b=[0,0,0,0];function x(e,t){var n,i=t.nodes,o=[],a=[],r=0,s=o.length=a.length=i.length;for(n=0;n<s;++n)r+=i[n].value,o[n]={value:i[n].value,i:n};for(r>0&&e.algorithm({items:o.slice(),sum:r,rect:t.innerRect.slice(),isRotated:1&i[0].level,directions:e.directions}),n=0;n<s;++n)a[n]=o[n].rect||b;t.rects=a}function w(e,t){var n,i=t.parent.rects[t.index],o=e.rectOffsets;t.isNode()?(k(t.tile.outer,S(i,t.parent.innerRect,o.headerEdge,o.headerInner)),i=C(i,e.groupPadding),n=Math.min(e.headerHeight,i[3]-i[1]),t.rect=[i[0],i[1],i[2],i[1]+n],k(t.tile.inner,C(t.rect,o.headerEdge)),i[1]+=n,t.innerRect=i,x(e,t)):(t.rect=i,k(t.tile,S(i,t.parent.innerRect,o.tileEdge,o.tileInner)))}function C(e,t){return[e[0]+t,e[1]+t,e[2]-t,e[3]-t]}function S(e,t,n,i){return[e[0]+(e[0]===t[0]?n:+i),e[1]+(e[1]===t[1]?n:+i),e[2]-(e[2]===t[2]?n:-i),e[3]-(e[3]===t[3]?n:-i)]}function k(e,t){e.attr({x:t[0],y:t[1],width:f(t[2]-t[0],0),height:f(t[3]-t[1],0)})}function D(e,t){t.text&&t.labelState.visible&&function(e,t){var n=e.rect,i=e.text,o=i.getBBox(),a=t.paddingLeftRight,r=t.paddingTopBottom,s=n[2]-n[0]-2*a;i.setMaxSize(s,n[3]-n[1]-r,e.isNode()?{textOverflow:t.groupLabelOverflow,wordWrap:\"none\"}:{textOverflow:t.tileLabelOverflow,wordWrap:t.tileLabelWordWrap,hideOverflowEllipsis:!0}),i.move(t.rtlEnabled?n[2]-a-o.x-o.width:n[0]+a-o.x,n[1]+r-o.y)}(t,t.labelParams)}(0,d.default)(\"dxTreeMap\",m);var I=m;t.default=I,m.addPlugin(c.plugin),e.exports=t.default,e.exports.default=t.default},4080:function(e,t,n){t.default=void 0;var i,o=(i=n(49983))&&i.__esModule?i:{default:i};n(46576),n(20957),n(56369),n(36061),n(66831),n(13652),n(73675),n(4815),n(9888),n(13099),n(2322),n(66681),n(61104),n(74958);var a=n(82454),r=n(17384),s=n(64758);var l=o.default;t.default=l,o.default.addPlugin(a.plugin),o.default.addPlugin(r.plugin),o.default.addPlugin(s.plugin),e.exports=t.default,e.exports.default=t.default},34434:function(e,t,n){t.prepareSegmentRectPoints=void 0,Object.defineProperty(t,\"refreshPaths\",{enumerable:!0,get:function(){return i.refreshPaths}});var i=n(56453),o=n(95479);t.prepareSegmentRectPoints=function(e,t,n,i,a){var r,s=~~((n<i?n:i)/2),l=a.width||0,u=l<s?l:s,d=(e+=u/2)+(n-=u),c=(t+=u/2)+(i-=u),h=[],f=[],p=0,g=0,m={top:[[e,t],[d,t]],right:[[d,t],[d,c]],bottom:[[d,c],[e,c]],left:[[e,c],[e,t]]};switch((0,o.each)(m,(function(e){var t=!!a[e];p=2*p+~~t})),p){case 13:case 9:r=[\"left\",\"top\",\"right\",\"bottom\"];break;case 11:r=[\"bottom\",\"left\",\"top\",\"right\"];break;default:r=[\"top\",\"right\",\"bottom\",\"left\"]}return(0,o.each)(r,(function(e,t){var n=!!a[t];!g&&f.length&&(h.push(f),f=[]),n&&(0,o.each)(m[t].slice(g),(function(e,t){f=f.concat(t)})),g=~~n})),f.length&&h.push(f),1===h.length&&(h=h[0]),{points:h,pathType:15===p?\"area\":\"line\"}}},81849:function(e,t,n){var i;t.default=void 0;var o=((i=n(13711))&&i.__esModule?i:{default:i}).default;t.default=o,e.exports=t.default,e.exports.default=t.default},17323:function(e,t,n){t.ControlBar=g;var i=n(19157),o=n(77891),a=Math,r=a.min,s=a.max,l=a.round,u=a.floor,d=a.sqrt,c=(0,i.enumParser)([\"left\",\"center\",\"right\"]),h=(0,i.enumParser)([\"top\",\"bottom\"]),f={bigCircleSize:58,smallCircleSize:28,buttonSize:10,arrowButtonOffset:20,incDecButtonSize:11,incButtonOffset:66,decButtonOffset:227,sliderLineStartOffset:88.5,sliderLineEndOffset:205.5,sliderLength:20,sliderWidth:8,trackerGap:4},p={};function g(e){this._params=e,this._createElements(e.renderer,e.container,e.dataKey),e.layoutControl.addItem(this),this._subscribeToProjection(e.projection),this._subscribeToTracker(e.tracker),this._createCallbacks(e.projection)}function m(e){delete e._owner,e.update=function(){},e.finish=function(){}}function _(e,t){this._owner=e,this._command=t}function v(e,t,n){this._command=t;var i=null,o=0,a=0;switch(this._command){case\"command-move-up\":a=-10;break;case\"command-move-right\":o=10;break;case\"command-move-down\":a=10;break;case\"command-move-left\":o=-10}this._stop=function(){return clearTimeout(i),e._callbacks.endMove(),this._stop=e=null,this},e._callbacks.beginMove(),function t(){e._callbacks.move([o,a]),i=setTimeout(t,100)}()}function y(e,t){this._owner=e,this._command=t;var n=null,i=\"command-zoom-in\"===this._command?1:-1;this._stop=function(){return clearTimeout(n),this._stop=e=null,this},function t(){e._adjustZoom(e._zoomFactor+i),n=setTimeout(t,150)}()}function b(e,t,n){this._owner=e,this._zoomFactor=e._zoomFactor,this._pos=n.y}p[\"command-reset\"]=_,p[\"command-move-up\"]=p[\"command-move-right\"]=p[\"command-move-down\"]=p[\"command-move-left\"]=v,p[\"command-zoom-in\"]=p[\"command-zoom-out\"]=y,p[\"command-zoom-drag\"]=b,g.prototype={constructor:g,_flags:0,dispose:function(){this._params.layoutControl.removeItem(this),this._root.linkRemove().linkOff(),this._offProjection(),this._offTracker(),this._params=this._root=this._offProjection=this._offTracker=this._callbacks=null},_subscribeToProjection:function(e){var t=this;function n(){t._adjustZoom(e.getScaledZoom())}t._offProjection=e.on({engine:function(){t._update()},zoom:n,\"max-zoom\":function(){t._zoomPartition=e.getZoomScalePartition(),t._sliderUnitLength=t._sliderLineLength/t._zoomPartition,n()}})},_subscribeToTracker:function(e){var t=this,n=!1;t._offTracker=e.on({start:function(e){(n=\"control-bar\"===e.data.name)&&t._processStart(e.data.index,e)},move:function(e){n&&t._processMove(e.data.index,e)},end:function(){n&&(t._processEnd(),n=!1)}})},_createCallbacks:function(e){this._callbacks={reset:function(t,n){t&&e.setCenter(null),n&&e.setZoom(null)},beginMove:function(){e.beginMoveCenter()},endMove:function(){e.endMoveCenter()},move:function(t){e.moveCenter(t)},zoom:function(t){e.setScaledZoom(t)}}},_createElements:function(e,t,n){this._root=e.g().attr({class:\"dxm-control-bar\"}).linkOn(t,\"control-bar\");var i=this._panControl=(0,o.createVisibilityGroup)(e,this._root,\"dxm-pan-control\"),a=this._zoomBar=(0,o.createVisibilityGroup)(e,this._root,\"dxm-zoom-bar\"),r=this._trackersPan=(0,o.createTracker)(e,this._root),s=this._trackersZoom=(0,o.createTracker)(e,this._root);this._createTrackersPan(e,n,r),this._createTrackersZoom(e,n,s),this._createPanControl(e,n,i),this._createZoomBar(e,n,a)},_createPanControl:function(e,t,n){var i=f,o=i.buttonSize/2,a=i.arrowButtonOffset-o,r=i.arrowButtonOffset,s={\"stroke-linecap\":\"square\",fill:\"none\"};e.circle(0,0,i.bigCircleSize/2).append(n),e.circle(0,0,o).attr({fill:\"none\"}).append(n),e.path([-o,-a,0,-r,o,-a],\"line\").attr(s).append(n),e.path([a,-o,r,0,a,o],\"line\").attr(s).append(n),e.path([o,a,0,r,-o,a],\"line\").attr(s).append(n),e.path([-a,o,-r,0,-a,-o],\"line\").attr(s).append(n)},_createZoomBar:function(e,t,n){var i=f,o=i.incDecButtonSize/2;e.circle(0,i.incButtonOffset,i.smallCircleSize/2).append(n),e.path([[-o,i.incButtonOffset,o,i.incButtonOffset],[0,i.incButtonOffset-o,0,i.incButtonOffset+o]],\"area\").append(n),e.circle(0,i.decButtonOffset,i.smallCircleSize/2).append(n),e.path([-o,i.decButtonOffset,o,i.decButtonOffset],\"area\").append(n),this._zoomLine=e.path([],\"line\").append(n),this._zoomDrag=e.rect(u(-i.sliderLength/2),u(i.sliderLineEndOffset-i.sliderWidth/2),i.sliderLength,i.sliderWidth).append(n),this._sliderLineLength=i.sliderLineEndOffset-i.sliderLineStartOffset},_createTrackersPan:function(e,t,n){var i=f,o=l((i.arrowButtonOffset-i.trackerGap)/2),a=i.arrowButtonOffset-o,r=l(d(i.bigCircleSize*i.bigCircleSize/4-o*o)),s=r-a;e.rect(-o,-o,2*o,2*o).data(t,{index:\"command-reset\",name:\"control-bar\"}).append(n),e.rect(-o,-r,2*o,s).data(t,{index:\"command-move-up\",name:\"control-bar\"}).append(n),e.rect(a,-o,s,2*o).data(t,{index:\"command-move-right\",name:\"control-bar\"}).append(n),e.rect(-o,a,2*o,s).data(t,{index:\"command-move-down\",name:\"control-bar\"}).append(n),e.rect(-r,-o,s,2*o).data(t,{index:\"command-move-left\",name:\"control-bar\"}).append(n)},_createTrackersZoom:function(e,t,n){var i=f;e.circle(0,i.incButtonOffset,i.smallCircleSize/2).data(t,{index:\"command-zoom-in\",name:\"control-bar\"}).append(n),e.circle(0,i.decButtonOffset,i.smallCircleSize/2).data(t,{index:\"command-zoom-out\",name:\"control-bar\"}).append(n),e.rect(-2,i.sliderLineStartOffset-2,4,i.sliderLineEndOffset-i.sliderLineStartOffset+4).css({cursor:\"default\"}).data(t,{index:\"command-zoom-drag-line\",name:\"control-bar\"}).append(n),this._zoomDragTracker=e.rect(-i.sliderLength/2,i.sliderLineEndOffset-i.sliderWidth/2,i.sliderLength,i.sliderWidth).data(t,{index:\"command-zoom-drag\",name:\"control-bar\"}).append(n)},resize:function(e){this._isActive&&this._root.attr({visibility:null!==e?null:\"hidden\"})},getLayoutOptions:function(){return this._isActive?this._layoutOptions:null},locate:function(e,t){this._root.attr({translateX:e+this._margin+30.5,translateY:t+this._margin+30.5})},_update:function(){this._isActive=this._isEnabled&&this._flags&&this._params.projection.isInvertible();var e=[this._panControl,this._trackersPan],t=[this._zoomBar,this._trackersZoom];this._isActive?(this._root.linkAppend(),(0,o.toggleDisplay)(e,this._isPanVisible),(0,o.toggleDisplay)(t,this._isZoomVisible)):this._root.linkRemove(),this._processEnd(),this.updateLayout()},setInteraction:function(e){(0,i.parseScalar)(e.centeringEnabled,!0)?this._flags|=1:this._flags&=-2,(0,i.parseScalar)(e.zoomingEnabled,!0)?this._flags|=2:this._flags&=-3,this._update()},setOptions:function(e){var t={\"stroke-width\":e.borderWidth,stroke:e.borderColor,fill:e.color,\"fill-opacity\":e.opacity};this._isEnabled=!!(0,i.parseScalar)(e.enabled,!0),this._margin=e.margin||0,this._layoutOptions={width:2*this._margin+61,height:2*this._margin+274,horizontalAlignment:c(e.horizontalAlignment,\"left\"),verticalAlignment:h(e.verticalAlignment,\"top\")},this._isPanVisible=!!(0,i.parseScalar)(e.panVisible,!0),this._isZoomVisible=!!(0,i.parseScalar)(e.zoomVisible,!0),this._panControl.attr(t),this._zoomBar.attr(t),this._update()},_adjustZoom:function(e){var t=f.sliderLineStartOffset,n=f.sliderLineEndOffset,i=f.sliderWidth;this._zoomFactor=s(r(l(e),this._zoomPartition),0);var o={translateY:-l(this._zoomFactor*this._sliderUnitLength)},a=n-i/2+o.translateY;this._zoomLine.attr({points:[[0,t,0,s(t,a)],[0,r(n,a+i),0,n]]}),this._zoomDrag.attr(o),this._zoomDragTracker.attr(o)},_applyZoom:function(){this._callbacks.zoom(this._zoomFactor)},_processStart:function(e,t){var n;this._isActive&&(n=p[e],this._command=n&&n.flags&this._flags?new n(this,e,t):null)},_processMove:function(e,t){this._command&&this._command.update(e,t)},_processEnd:function(){this._command&&this._command.finish(),this._command=null}},_.flags=3,_.prototype.update=function(e){e!==this._command&&m(this)},_.prototype.finish=function(){var e=this._owner._flags;this._owner._callbacks.reset(!!(1&e),!!(2&e)),m(this)},v.flags=1,v.prototype.update=function(e){this._command!==e&&this.finish()},v.prototype.finish=function(){m(this._stop())},y.flags=2,y.prototype.update=function(e){this._command!==e&&this.finish()},y.prototype.finish=function(){this._owner._applyZoom(),m(this._stop())},b.flags=2,b.prototype.update=function(e,t){var n=this._owner;n._adjustZoom(this._zoomFactor+n._zoomPartition*(this._pos-t.y)/n._sliderLineLength)},b.prototype.finish=function(){this._owner._applyZoom(),m(this)}},77891:function(e,t){t.toggleDisplay=t.createVisibilityGroup=t.createTracker=void 0;t.createTracker=function(e,t){return e.g().attr({stroke:\"none\",\"stroke-width\":0,fill:\"#000000\",opacity:1e-4}).css({cursor:\"pointer\"}).append(t)};t.createVisibilityGroup=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return e.g().attr({class:n}).append(t)};t.toggleDisplay=function(e,t){var n=t?{display:\"block\"}:{display:\"none\"};e.map((function(e){return e.css(n)}))}},93699:function(e,t,n){t.DataExchanger=a;var i,o=(i=n(44504))&&i.__esModule?i:{default:i};function a(){this._store={}}a.prototype={constructor:a,dispose:function(){return this._store=null,this},_get:function(e,t){var n=this._store[e]||(this._store[e]={});return n[t]||(n[t]={callbacks:(0,o.default)()})},set:function(e,t,n){var i=this._get(e,t);return i.data=n,i.callbacks.fire(n),this},bind:function(e,t,n){var i=this._get(e,t);return i.callbacks.add(n),i.data&&n(i.data),this},unbind:function(e,t,n){return this._get(e,t).callbacks.remove(n),this}}},63832:function(e,t,n){t.makeEventEmitter=function(e){var t,n=e.prototype;for(t in a)n[t]=a[t]};var i,o=(i=n(44504))&&i.__esModule?i:{default:i};var a={_initEvents:function(){var e,t=this._eventNames,n=t.length,i=this._events={};for(e=0;e<n;++e)i[t[e]]=(0,o.default)()},_disposeEvents:function(){var e,t=this._events;for(e in t)t[e].empty();this._events=null},on:function(e){var t,n=this._events;for(t in e)n[t].add(e[t]);return function(){for(t in e)n[t].remove(e[t])}},_fire:function(e,t){this._events[e].fire(t)}}},3797:function(e,t){t.GestureHandler=o;var n=Math.log,i=Math.LN2;function o(e){this._projection=e.projection,this._renderer=e.renderer,this._x=this._y=0,this._subscribeToTracker(e.tracker)}o.prototype={constructor:o,dispose:function(){this._offTracker(),this._offTracker=null},_subscribeToTracker:function(e){var t=this,n=!1;t._offTracker=e.on({start:function(e){(n=\"control-bar\"!==e.data.name)&&t._processStart(e)},move:function(e){n&&t._processMove(e)},end:function(){n&&t._processEnd()},zoom:function(e){t._processZoom(e)}})},setInteraction:function(e){this._processEnd(),this._centeringEnabled=e.centeringEnabled,this._zoomingEnabled=e.zoomingEnabled},_processStart:function(e){this._centeringEnabled&&(this._x=e.x,this._y=e.y,this._projection.beginMoveCenter())},_processMove:function(e){this._centeringEnabled&&(this._renderer.root.attr({cursor:\"move\"}),this._projection.moveCenter([this._x-e.x,this._y-e.y]),this._x=e.x,this._y=e.y)},_processEnd:function(){this._centeringEnabled&&(this._renderer.root.attr({cursor:\"default\"}),this._projection.endMoveCenter())},_processZoom:function(e){var t,o,a;this._zoomingEnabled&&(e.delta?t=e.delta:e.ratio&&(t=n(e.ratio)/i),this._centeringEnabled&&(o=this._renderer.getRootOffset(),o=[e.x-o.left,e.y-o.top],a=this._projection.fromScreenPoint(o)),this._projection.changeScaledZoom(t),this._centeringEnabled&&this._projection.setCenterByPoint(a,o))}}},39378:function(e,t,n){t.LayoutControl=h;var i=n(95479),o=Math.round,a=Math.min,r=Math.max,s=i.each,l={left:0,center:1,right:2},u={top:0,bottom:1};function d(e,t){var n=(e.right-e.left)/3,i=(e.bottom-e.top)/2,a=e.left,r=o(a+n),d=o(a+n+n),c=e.right,h=e.top,f=o(h+i),p=e.bottom,g=[{rect:[a,h,r,f]},{rect:[r,h,d,f],center:!0},{rect:[d,h,c,f],horInversion:!0},{rect:[a,f,r,p],verInversion:!0},{rect:[r,f,d,p],center:!0,verInversion:!0},{rect:[d,f,c,p],horInversion:!0,verInversion:!0}],m=[[],[],[],[],[],[]];return s(t,(function(e,t){var n=t.getLayoutOptions();n&&m[function(e){return 3*u[e.verticalAlignment]+l[e.horizontalAlignment]}(n)].push({item:t,width:n.width,height:n.height})})),s(g,(function(e,t){m[e].length?t.items=m[e]:(t.center?t.rect[0]=t.rect[2]=(t.rect[0]+t.rect[2])/2:t.rect[t.horInversion?0:2]=t.rect[t.horInversion?2:0],t.rect[t.verInversion?1:3]=t.rect[t.verInversion?3:1])})),g}function c(e,t){var n=!1;return function(e){s([0,1,2,3,4,5],(function(t,n){var i=e[n],o=e[(n+3)%6];i.items&&(o.items||(i.rect[1]=a(i.rect[1],o.rect[3]),i.rect[3]=r(i.rect[3],o.rect[1])))})),s([1,4],(function(t,n){var i,o,a=e[n],r=e[n-1],s=e[n+1];a.items?r.items||s.items||((i=a.rect[0]-r.rect[2])>(o=s.rect[0]-a.rect[2])?i/o>=2?(a.rect[0]-=i,a.right=!0):(a.rect[0]-=o,a.rect[2]+=o):o/i>=2?(a.rect[2]+=o,a.center=null):(a.rect[0]-=i,a.rect[2]+=i)):(r.items&&(r.rect[2]=(a.rect[0]+a.rect[2])/2),s.items&&(s.rect[0]=(a.rect[0]+a.rect[2])/2))}))}(e),s(e,(function(e,i){i.items&&(n=function(e,t){var n=e.rect,i=n[2]-n[0],l=n[3]-n[1],u=0,d=0,c=0,h=n[2],f=n[3],p=n[0],g=n[1],m=[],_=!1;s(e.items,(function(o,s){if(s.width>i||s.height>l)return m.push(null),_=!0,t||!1;if(u+s.width>i&&(d+=c,u=c=0),d+s.height>l)return m.push(null),_=!0,t||!1;c=r(c,s.height);var v=e.horInversion?n[2]-s.width-u:n[0]+u,y=e.verInversion?n[3]-s.height-d:n[1]+d;u+=s.width,h=a(h,v),f=a(f,y),p=r(p,v+s.width),g=r(g,y+s.height),m.push([v,y])})),(t||!_)&&(u=0,e.right?u=n[2]-n[0]-p+h:e.center&&(u=o((n[2]-n[0]-p+h)/2)),s(e.items,(function(e,t){var n=m[e];n?t.item.locate(n[0]+u,n[1]):t.item.resize(null)})),e.rect=[h,f,p,g],e.items=null);return _}(i,t)||n)})),n}function h(e){var t=this;t._items=[],t._suspended=0,t._widget=e,t._updateLayout=function(){t._update()}}h.prototype={constructor:h,dispose:function(){this._items=this._updateLayout=null},setSize:function(e){this._canvas=e,this._update()},suspend:function(){++this._suspended},resume:function(){0==--this._suspended&&this._update()},addItem:function(e){this._items.push(e),e.updateLayout=this._updateLayout},removeItem:function(e){var t=this._items.indexOf(e);this._items.splice(t,1),e.updateLayout=null},_update:function(){var e;0===this._suspended&&(e=this._canvas,s(this._items,(function(t,n){n.resize(e)})),this._widget.resolveItemsDeferred(this._items.filter((function(e){return e.getTemplatesGroups&&e.getTemplatesDef}))),function(e,t){var n=d(e,t);c(n)&&c(n,!0)}({left:e.left,top:e.top,right:e.width+e.left,bottom:e.height+e.top},this._items))}}},7291:function(e,t,n){t.LegendsControl=c;var i=n(13306),o=n(95479),a=n(48013),r=n(16342),s=i.extend,l=o.each,u={category:\"UNKNOWN\",name:\"UNKNOWN\"};var d=function(e){var t=this;t._params=e,t._root=e.renderer.g().attr({class:\"dxm-legend\"}).linkOn(e.container,{name:\"legend\",after:\"legend-base\"}).enableLinks().linkAppend(),e.layoutControl.addItem(t),r.Legend.call(t,{renderer:e.renderer,widget:e.widget,group:t._root,backgroundClass:null,itemsGroupClass:null,textField:\"text\",getFormatObject:function(e){return e}}),t._onDataChanged=function(e){t._updateData(e)}};function c(e){this._params=e,this._items=[],e.container.virtualLink(\"legend-base\")}d.prototype=s((0,a.clone)(r.Legend.prototype),{constructor:d,dispose:function(){var e=this;return e._params.layoutControl.removeItem(e),e._unbindData(),e._root.linkRemove().linkOff(),e._params=e._root=e._onDataChanged=null,r.Legend.prototype.dispose.apply(e,arguments)},resize:function(e){this._params.notifyDirty(),null===e?this.erase():this.draw(e.width,e.height),this._params.notifyReady()},locate:r.Legend.prototype.shift,_updateData:function(e){this._options.defaultColor=e&&e.defaultColor,this.update(e?function(e,t,n){var i,o,a=t.length,r=[];for(i=0;i<a;++i)r[i]=o={start:e[i],end:e[i+1],index:i},o[n]=t[i],o.states={normal:{fill:o.color}},o.visible=!0;return r}(e.partition,e.values,this._dataName):[],this._options,this._params.themeManager.theme(\"legend\").title),this.updateLayout()},_unbindData:function(){this._dataCategory&&this._params.dataExchanger.unbind(this._dataCategory,this._dataName,this._onDataChanged)},_bindData:function(e){this._params.dataExchanger.bind(this._dataCategory=e.category,this._dataName=e.name,this._onDataChanged)},setOptions:function(e){this.update(this._data,e,this._params.themeManager.theme(\"legend\").title),this._unbindData();var t=e.source;return this._bindData(t?{category:t.layer,name:t.grouping}:u),this.updateLayout(),this}}),c.prototype={constructor:c,dispose:function(){l(this._items,(function(e,t){t.dispose()})),this._params=this._items=null},setOptions:function(e){var t,n=e&&e.length?e:[],i=this._items,o=n.length,a=this._params,r=a.themeManager.theme(\"legend\");for(t=i.length;t<o;++t)i[t]=new d(a);for(t=i.length-1;t>=o;--t)i[t].dispose(),i.splice(t,1);for(a.layoutControl.suspend(),t=0;t<o;++t)i[t].setOptions(s(!0,{},r,n[t]));a.layoutControl.resume()}}},15151:function(e,t,n){t.MapLayerCollection=le,t.getMaxBound=k;var i,o=n(20576),a=n(13306),r=n(95479),s=(i=n(53305))&&i.__esModule?i:{default:i},l=n(35922),u=n(62754),d=n(19157);var c=o.noop,h=a.extend,f=r.each,p=Array.prototype.concat,g=[0,1,2,2],m={none:null,single:-1,multiple:NaN},_=Array.isArray,v=Number,y=String,b=Math.abs,x=Math.round,w=Math.min,C=Math.max,S=Math.sqrt;function k(e){return e.reduce((function(e,t){return t?[w(e[0],t[0]),w(e[1],t[1]),C(e[2],t[2]),C(e[3],t[3])]:e}),e[0])}function D(e,t){return(e[t]||{}).name}function I(){}function T(e){this.raw=e}function E(e){this.raw=e}function O(e){return _(e.features)}function A(e){e.text.attr({visibility:e.size[0]/e.spaceSize[0]<1&&e.size[1]/e.spaceSize[1]<1?null:\"hidden\"})}function P(e){e.text.attr({visibility:e.size[0]/e.spaceSize[0]<1||e.size[1]/e.spaceSize[1]<1?null:\"hidden\"})}function M(e,t){return e.attribute(t)}I.prototype.count=function(){return 0},T.prototype={constructor:T,count:function(){return this.raw.length},item:function(e){return this.raw[e]},geometry:function(e){return{coordinates:e.coordinates}},attributes:function(e){return e.attributes},getBBox:function(e){return 0===arguments.length?void 0:this.raw[e].bbox}},E.prototype={constructor:E,count:function(){return this.raw.features.length},item:function(e){return this.raw.features[e]},geometry:function(e){return e.geometry},attributes:function(e){return e.properties},getBBox:function(e){return 0===arguments.length?this.raw.bbox:this.raw.features[e].bbox}};var R={Point:\"marker\",MultiPoint:\"line\",LineString:\"line\",MultiLineString:\"line\",Polygon:\"area\",MultiPolygon:\"area\"};function B(e,t){return void 0!==e?e:t}var L,V,F={setup:c,reset:c,arrange:c,updateGrouping:c,getDefaultColor:c},H={},N={},z={},j=function(e,t){var n,i=(0,d.normalizeEnum)(e.type),o=(0,d.normalizeEnum)(e.elementType),a=h({},F);return t.count()>0&&(n=t.geometry(t.item(0)),i=H[i]?i:function(e){var t=R[e.type],n=e.coordinates;return t||(t=\"number\"==typeof n[0]?\"marker\":\"number\"==typeof n[0][0]?\"line\":\"area\"),t}(n),h(a,H[i]),a.fullType=a.type=i,N[i]&&h(a,N[i](n)),z[i]&&(o=z[i][o]?o:z[i]._default,h(a,z[i][o]),a.elementType=o,a.fullType+=\":\"+o)),a};function W(e,t,n,i){e[i].attr(t[i][n])}function G(e,t){var n,i=[],o=i.length=t.length;for(n=0;n<o;++n)i[n]=e.project(t[n]);return i}function q(e,t){return[G(e,t)]}function $(e,t){var n,i=[],o=i.length=t.length;for(n=0;n<o;++n)i[n]=G(e,t[n]);return i}function U(e,t){var n,i,o=[],a=t.length,r=0;for(o.length=2*a,n=0;n<a;++n)i=e.transform(t[n]),o[r++]=i[0],o[r++]=i[1];return o}function K(e,t,n){var i,o=[],a=o.length=n.length;for(i=0;i<a;++i)o[i]=U(t,n[i]);e.root.attr({points:o})}function Z(e,t,n){var i=Q(e.settings,n);return function(e,t,n){f(e,(function(e,i){var o=Y(i.callback(t,i.field),i.partition);o>=0&&(n[e]=i.values[o])}))}(e.grouping,t,i),void 0===n.color&&n.paletteIndex>=0&&(i.color=i._colors[n.paletteIndex]),i}function Y(e,t){var n,i=0,o=t.length-1,a=-1;if(t[i]<=e&&e<=t[o])if(e===t[o])a=o-1;else{for(;o-i>1;)e<t[n=i+o>>1]?o=n:i=n;a=i}return a}function X(e,t,n,i){e.params.eventTrigger(i,{target:t.proxy,state:n})}function Q(e,t){var n=h({},e,t);return n.label=h({},e.label,n.label),n.label.font=h({},e.label.font,n.label.font),n}function J(e,t){return e.attribute(t)}H.area={projectLabel:function(e){var t,n,i,o=e.length,a=0;for(t=0;t<o;++t)(n=re(e[t])).area>a&&(a=n.area,i=n);return i?[i.center,[S(i.area),S(i.area)]]:[[],[]]},transform:K,transformLabel:function(e,t,n){var i=t.transform(n[0]);e.spaceSize=t.getSquareSize(n[1]),e.text.attr({translateX:i[0],translateY:i[1]}),A(e)},draw:function(e,t,n){t.root=e.renderer.path([],\"area\").data(e.dataKey,n)},refresh:c,getLabelOffset:function(e){return A(e),[0,0]},getStyles:function(e){var t=e.color||null,n=e.borderColor||null,i=B(e.borderWidth,null),o=B(e.opacity,null);return{root:[{class:\"dxm-area\",stroke:n,\"stroke-width\":i,fill:t,opacity:o},{class:\"dxm-area dxm-area-hovered\",stroke:e.hoveredBorderColor||n,\"stroke-width\":B(e.hoveredBorderWidth,i),fill:e.hoveredColor||t,opacity:B(e.hoveredOpacity,o)},{class:\"dxm-area dxm-area-selected\",stroke:e.selectedBorderColor||n,\"stroke-width\":B(e.selectedBorderWidth,i),fill:e.selectedColor||t,opacity:B(e.selectedOpacity,o)}]}},setState:function(e,t,n){W(e,t,n,\"root\")},hasLabelsGroup:!0,updateGrouping:function(e){L(e)},getDefaultColor:c},H.line={projectLabel:function(e){var t,n,i,o=e.length,a=0;for(t=0;t<o;++t)(n=se(e[t]))[2]>a&&(a=n[2],i=n);return i||[[],[]]},transform:K,transformLabel:function(e,t,n){var i=t.transform(n[0]);e.spaceSize=t.getSquareSize(n[1]),e.text.attr({translateX:i[0],translateY:i[1]}),P(e)},draw:function(e,t,n){t.root=e.renderer.path([],\"line\").data(e.dataKey,n)},refresh:c,getLabelOffset:function(e){return P(e),[0,0]},getStyles:function(e){var t=e.color||e.borderColor||null,n=B(e.borderWidth,null),i=B(e.opacity,null);return{root:[{class:\"dxm-line\",stroke:t,\"stroke-width\":n,opacity:i},{class:\"dxm-line dxm-line-hovered\",stroke:e.hoveredColor||e.hoveredBorderColor||t,\"stroke-width\":B(e.hoveredBorderWidth,n),opacity:B(e.hoveredOpacity,i)},{class:\"dxm-line dxm-line-selected\",stroke:e.selectedColor||e.selectedBorderColor||t,\"stroke-width\":B(e.selectedBorderWidth,n),opacity:B(e.selectedOpacity,i)}]}},setState:function(e,t,n){W(e,t,n,\"root\")},hasLabelsGroup:!0,updateGrouping:function(e){L(e)},getDefaultColor:c},H.marker={project:function(e,t){return e.project(t)},transform:function(e,t,n){var i=t.transform(n);e.root.attr({translateX:i[0],translateY:i[1]})},draw:function(e,t,n){t.root=e.renderer.g(),this._draw(e,t,n)},refresh:c,hasLabelsGroup:!1,getLabelOffset:function(e,t){return[x((e.size[0]+C(t.size||0,0))/2)+2,0]},getStyles:function(e){var t={root:[{class:\"dxm-marker\"},{class:\"dxm-marker dxm-marker-hovered\"},{class:\"dxm-marker dxm-marker-selected\"}]};return this._getStyles(t,e),t},setState:function(e,t,n){W(e,t,n,\"root\"),this._setState(e,t,n)},updateGrouping:function(e){L(e),V(e)},getDefaultColor:function(e,t){return e.params.themeManager.getAccentColor(t)}},N.area=function(e){return{project:function(e,t){return t[0]&&t[0][0]&&t[0][0][0]&&\"number\"==typeof t[0][0][0][0]?function(e,t){var n,i=[],o=i.length=t.length;for(n=0;n<o;++n)i[n]=$(e,t[n]);return p.apply([],i)}(e,t):$(e,t)}}},N.line=function(e){var t=e.coordinates;return{project:t[0]&&t[0][0]&&\"number\"==typeof t[0][0][0]?$:q}},z.marker={_default:\"dot\",dot:{setup:function(e){e.filter=e.renderer.shadowFilter(\"-40%\",\"-40%\",\"180%\",\"200%\",0,1,1,\"#000000\",.2)},reset:function(e){e.filter.dispose(),e.filter=null},_draw:function(e,t,n){t.back=e.renderer.circle().sharp().data(e.dataKey,n).append(t.root),t.dot=e.renderer.circle().sharp().data(e.dataKey,n).append(t.root)},refresh:function(e,t,n,i,o){t.dot.attr({filter:o.shadow?e.filter.id:null})},_getStyles:function(e,t){var n=t.size>0?v(t.size):0,i=n,o=n+(t.selectedStep>0?v(t.selectedStep):0),a=i+(t.backStep>0?v(t.backStep):0),r=o+(t.backStep>0?v(t.backStep):0),s=t.color||null,l=t.borderColor||null,u=B(t.borderWidth,null),d=B(t.opacity,null),c=t.backColor||null,h=B(t.backOpacity,null);e.dot=[{r:n/2,stroke:l,\"stroke-width\":u,fill:s,opacity:d},{r:i/2,stroke:t.hoveredBorderColor||l,\"stroke-width\":B(t.hoveredBorderWidth,u),fill:t.hoveredColor||s,opacity:B(t.hoveredOpacity,d)},{r:o/2,stroke:t.selectedBorderColor||l,\"stroke-width\":B(t.selectedBorderWidth,u),fill:t.selectedColor||s,opacity:B(t.selectedOpacity,d)}],e.back=[{r:n/2,stroke:\"none\",\"stroke-width\":0,fill:c,opacity:h},{r:a/2,stroke:\"none\",\"stroke-width\":0,fill:c,opacity:h},{r:r/2,stroke:\"none\",\"stroke-width\":0,fill:c,opacity:h}]},_setState:function(e,t,n){W(e,t,n,\"dot\"),W(e,t,n,\"back\")}},bubble:{_draw:function(e,t,n){t.bubble=e.renderer.circle().sharp().data(e.dataKey,n).append(t.root)},refresh:function(e,t,n,i,o){t.bubble.attr({r:o.size/2})},_getStyles:function(e,t){var n=t.color||null,i=t.borderColor||null,o=B(t.borderWidth,null),a=B(t.opacity,null);e.bubble=[{stroke:i,\"stroke-width\":o,fill:n,opacity:a},{stroke:t.hoveredBorderColor||i,\"stroke-width\":B(t.hoveredBorderWidth,o),fill:t.hoveredColor||t.color,opacity:B(t.hoveredOpacity,a)},{stroke:t.selectedBorderColor||i,\"stroke-width\":B(t.selectedBorderWidth,o),fill:t.selectedColor||t.color,opacity:B(t.selectedOpacity,a)}]},_setState:function(e,t,n){W(e,t,n,\"bubble\")},arrange:function(e,t){var n,i=[],o=i.length=t.length,a=e.settings,r=a.dataField,s=a.minSize>0?v(a.minSize):0,l=a.maxSize>s?v(a.maxSize):s;if(!a.sizeGroups){for(n=0;n<o;++n)i[n]=C(M(t[n].proxy,r)||0,0);var u=w.apply(null,i),d=C.apply(null,i)-u||1,c=l-s;for(n=0;n<o;++n)t[n]._settings.size=s+c*(i[n]-u)/d}},updateGrouping:function(e){var t=e.settings.dataField;H.marker.updateGrouping(e),V(e,(function(e){return M(e,t)}))}},pie:{_draw:function(e,t,n){t.pie=e.renderer.g().append(t.root),t.border=e.renderer.circle().sharp().data(e.dataKey,n).append(t.root)},refresh:function(e,t,n,i,o){var a=M(i,e.settings.dataField)||[],r=o._colors,s=0,l=t.pie,u=e.renderer,d=e.dataKey,c=(o.size>0?v(o.size):0)/2,h=90,f=h,p=!1;0===(s=a.reduce((function(e,t){return e+(t||0)}),0))&&(p=!0,s=360/a.length),a.forEach((function(e,t){h=f,f+=p?s:(e||0)/s*360,u.arc(0,0,0,c,h,f).attr({\"stroke-linejoin\":\"round\",fill:r[t]}).data(d,n).append(l)})),t.border.attr({r:c})},_getStyles:function(e,t){var n=B(t.opacity,null),i=t.borderColor||null,o=B(t.borderWidth,null);e.pie=[{opacity:n},{opacity:B(t.hoveredOpacity,n)},{opacity:B(t.selectedOpacity,n)}],e.border=[{stroke:i,\"stroke-width\":o},{stroke:t.hoveredBorderColor||i,\"stroke-width\":B(t.hoveredBorderWidth,o)},{stroke:t.selectedBorderColor||i,\"stroke-width\":B(t.selectedBorderWidth,o)}]},_setState:function(e,t,n){W(e,t,n,\"pie\"),W(e,t,n,\"border\")},arrange:function(e,t){var n,i,o=t.length,a=e.settings.dataField,r=0;for(n=0;n<o;++n)(i=M(t[n].proxy,a))&&i.length>r&&(r=i.length);r>0&&(i=e.params.themeManager.createPalette(e.settings.palette,{useHighlight:!0,extensionMode:\"alternate\"}).generateColors(r),e.settings._colors=i,e.grouping.color={callback:c,field:\"\",partition:[],values:[]},e.params.dataExchanger.set(e.name,\"color\",{partition:[],values:i}))}},image:{_draw:function(e,t,n){t.image=e.renderer.image(null,null,null,null,null,\"center\").attr({\"pointer-events\":\"visible\"}).data(e.dataKey,n).append(t.root)},refresh:function(e,t,n,i){t.image.attr({href:M(i,e.settings.dataField)})},_getStyles:function(e,t){var n=t.size>0?v(t.size):0,i=n+(t.hoveredStep>0?v(t.hoveredStep):0),o=n+(t.selectedStep>0?v(t.selectedStep):0),a=B(t.opacity,null);e.image=[{x:-n/2,y:-n/2,width:n,height:n,opacity:a},{x:-i/2,y:-i/2,width:i,height:i,opacity:B(t.hoveredOpacity,a)},{x:-o/2,y:-o/2,width:o,height:o,opacity:B(t.selectedOpacity,a)}]},_setState:function(e,t,n){W(e,t,n,\"image\")}}};var ee,te=function(e,t,n,i,o){var a;i&&t&&t.length>1&&(a=o(t.length-1),e.grouping[n]={callback:(0,l.isFunction)(i)?i:J,field:i,partition:t,values:a},e.params.dataExchanger.set(e.name,n,{partition:t,values:a,defaultColor:e.settings.color}))};function ne(e){var t=e.name,n=e.params.dataExchanger;f(e.grouping,(function(e){n.set(t,e,null)})),e.grouping={}}function ie(e,t,n){return n?e|=t:e&=~t,e}function oe(e,t){return!!(e&t)}L=function(e){te(e,e.settings.colorGroups,\"color\",e.settings.colorGroupingField,(function(t){var n,i=e.params.themeManager.createDiscretePalette(e.settings.palette,t),o=[];for(n=0;n<t;++n)o.push(i.getColor(n));return o}))},V=function(e,t){var n=e.settings;te(e,n.sizeGroups,\"size\",t||n.sizeGroupingField,(function(e){var t=n.minSize>0?v(n.minSize):0,i=n.maxSize>=t?v(n.maxSize):0,o=0,a=[];if(e>1)for(o=0;o<e;++o)a.push((t*(e-o-1)+i*o)/(e-1));else 1===e&&a.push((t+i)/2);return a}))};var ae=function(e,t,n,i){this._params=e,this._onProjection(),this.proxy=function(e,t,n){var i={index:n,name:t,getElements:function(){return e.getProxies()},clearSelection:function(t){return e.clearSelection(t),i},getDataSource:function(){return e.getDataSource()},getBounds:function(){return e.getBounds()}};return i}(this,n,i),this._context={name:n,layer:this.proxy,renderer:e.renderer,projection:e.projection,params:e,dataKey:e.dataKey,str:F,hover:!1,selection:null,grouping:{},root:e.renderer.g().attr({class:\"dxm-layer\"}).linkOn(t,n).linkAppend()},this._container=t,this._options={},this._handles=[],this._data=new I,this._dataSourceLoaded=null};function re(e){var t,n,i,o=e.length,a=e[o-1],r=0,s=0,l=0,u=1/0,d=-1/0,c=1/0,h=-1/0;for(t=0;t<o;++t)n=a,a=e[t],l+=i=n[0]*a[1]-a[0]*n[1],r+=(n[0]+a[0])*i,s+=(n[1]+a[1])*i,u=w(u,a[0]),d=C(d,a[0]),c=w(c,a[1]),h=C(h,a[1]);return{area:b(l)/2,center:[2*r/3/l-(u+d)/2,2*s/3/l-(c+h)/2]}}function se(e){var t,n,i=e.length,o=e[0]||[],a=0,r=[0],s=o[0],l=o[0],u=o[1],d=o[1];for(t=1;t<i;++t)n=o,o=e[t],a+=S((n[0]-o[0])*(n[0]-o[0])+(n[1]-o[1])*(n[1]-o[1])),r[t]=a,s=w(s,o[0]),l=C(l,o[0]),u=w(u,o[1]),d=C(d,o[1]);n=e[t=Y(a/2,r)],o=e[t+1];var c=(a/2-r[t])/(r[t+1]-r[t]);return i?[[n[0]*(1-c)+o[0]*c,n[1]*(1-c)+o[1]*c],[l-s,d-u],a]:[]}function le(e){var t=e.renderer;this._params=e,this._layers=[],this._layerByName={},this._rect=[0,0,0,0],this._clip=t.clipRect(),this._background=t.rect().attr({class:\"dxm-background\"}).data(e.dataKey,{name:\"background\"}).append(t.root),this._container=t.g().attr({class:\"dxm-layers\",\"clip-path\":this._clip.id}).append(t.root).enableLinks(),this._subscribeToTracker(e.tracker,t,e.eventTrigger),this._dataReady=e.dataReady}ae.prototype=h({constructor:ae,getDataReadyCallback:function(){return this._dataSourceLoaded},_onProjection:function(){var e=this;e._removeHandlers=e._params.projection.on({engine:function(){e._project()},screen:function(){e._transform()},center:function(){e._transformCore()},zoom:function(){e._transform()}})},getData:function(){return this._data},_dataSourceLoadErrorHandler:function(){this._dataSourceChangedHandler()},_dataSourceChangedHandler:function(){var e,t;this._data=((e=this._dataSource&&this._dataSource.items())&&(O(e)?t=E:1===e.length&&e[0]&&O(e[0])?(t=E,e=e[0]):_(e)&&(t=T)),new(t=t||I)(e)),this._update(!0)},_dataSourceOptions:function(){return{paginate:!1}},_getSpecificDataSourceOption:function(){return this._specificDataSourceOption},_normalizeDataSource:function(e){var t=e.store();return\"raw\"===t._loadMode&&(t._loadMode=void 0),e},_offProjection:function(){this._removeHandlers(),this._removeHandlers=null},dispose:function(){return this._disposeDataSource(),this._destroyHandles(),ne(this._context),this._context.root.linkRemove().linkOff(),this._context.labelRoot&&this._context.labelRoot.linkRemove().linkOff(),this._context.str.reset(this._context),this._offProjection(),this._params=this._container=this._context=this.proxy=null,this},setOptions:function(e){var t;e=this._options=e||{},this._dataSourceLoaded=new u.Deferred,\"dataSource\"in e&&e.dataSource!==this._options_dataSource?(this._options_dataSource=e.dataSource,this._params.notifyDirty(),this._specificDataSourceOption=(t=e.dataSource)?O(t)?[t]:t:[],this._refreshDataSource()):this._data.count()>0&&(this._params.notifyDirty(),this._update(void 0!==e.type&&e.type!==this._context.str.type||void 0!==e.elementType&&e.elementType!==this._context.str.elementType)),this._transformCore()},_update:function(e){var t,n,i=this._context;e&&(i.str.reset(i),i.root.clear(),i.labelRoot&&i.labelRoot.clear(),this._params.tracker.reset(),this._destroyHandles(),i.str=j(this._options,this._data),i.str.setup(i),this.proxy.type=i.str.type,this.proxy.elementType=i.str.elementType),i.settings=function(e,t){var n,i,o,a=e.params.themeManager,r=e.str,s=Q(h({label:{},color:r.getDefaultColor(e,t.palette)},a.theme(\"layer:\"+r.fullType)),t);if(s.paletteSize>0){for(o=a.createDiscretePalette(s.palette,s.paletteSize),i=0,n=[];i<s.paletteSize;++i)n.push(o.getColor(i));s._colors=n}return s}(i,this._options),i.hasSeparateLabel=!(!i.settings.label.enabled||!i.str.hasLabelsGroup),i.hover=!!(0,d.parseScalar)(i.settings.hoverEnabled,!0),i.selection&&f(i.selection.state,(function(e,t){t&&t.resetSelected()})),i.selection=(t=i.settings.selectionMode,null!==(n=(n=(0,d.normalizeEnum)(t))in m?m[n]:m.single)&&(n={state:{},single:n}),n),i.hasSeparateLabel?i.labelRoot||(i.labelRoot=i.renderer.g().attr({class:\"dxm-layer-labels\"}).linkOn(this._container,{name:i.name+\"-labels\",after:i.name}).linkAppend(),this._transformCore()):i.labelRoot&&(i.labelRoot.linkRemove().linkOff(),i.labelRoot=null),e&&this._createHandles(),ne(i),i.str.arrange(i,this._handles),i.str.updateGrouping(i),this._updateHandles(),this._params.notifyReady(),this._dataSourceLoaded?(this._dataSourceLoaded.resolve(),this._dataSourceLoaded=null):this._params.dataReady()},getBounds:function(){return k(this._handles.map((function(e){return e.proxy.coordinates().map((function(e){if(_(e)){var t=_(e[0][0])?e.reduce((function(e,t){return e.concat(t)}),[]):e,n=t[0];return t.reduce((function(e,t){return[w(e[0],t[0]),w(e[1],t[1]),C(e[2],t[0]),C(e[3],t[1])]}),[n[0],n[1],n[0],n[1]])}}))})).map(k))},_destroyHandles:function(){this._handles.forEach((function(e){return e.dispose()})),this._context.selection&&(this._context.selection.state={}),this._handles=[]},_createHandles:function(){var e,t,n,i,o,a,r=this._handles=[],s=this._data,u=r.length=s.count(),d=this._context,c=s.geometry,h=s.attributes;for(e=0;e<u;++e)n=s.item(e),r[e]=new ee(d,e,c(n),h(n));for((0,l.isFunction)(this._options.customize)&&(i=this.getProxies(),o=this._options.customize,a=this._params.widget,o.call(a,i)),e=0;e<u;++e)(t=r[e]).project(),t.draw(),t.transform();d.selection&&f(d.selection.state,(function(e,t){t&&t.restoreSelected()}))},_updateHandles:function(){var e,t=this._handles,n=t.length;for(e=0;e<n;++e)t[e].refresh();if(this._context.settings.label.enabled){for(e=0;e<n;++e)t[e].measureLabel();for(e=0;e<n;++e)t[e].adjustLabel()}},_transformCore:function(){var e=this._params.projection.getTransform();this._context.root.attr(e),this._context.labelRoot&&this._context.labelRoot.attr(e)},_project:function(){var e,t=this._handles,n=t.length;for(e=0;e<n;++e)t[e].project()},_transform:function(){var e,t=this._handles,n=t.length;for(this._transformCore(),e=0;e<n;++e)t[e].transform()},getProxies:function(){return this._handles.map((function(e){return e.proxy}))},getProxy:function(e){return this._handles[e].proxy},raiseClick:function(e,t){this._params.eventTrigger(\"click\",{target:this._handles[e].proxy,event:t})},hoverItem:function(e,t){this._handles[e].setHovered(t)},selectItem:function(e,t,n){this._handles[e].setSelected(t,n)},clearSelection:function(){var e=this._context.selection;e&&(f(e.state,(function(e,t){t&&t.setSelected(!1)})),e.state={})}},s.default),(ee=function(e,t,n,i){var o=this.proxy=function(e,t,n){var i={coordinates:function(){return t},attribute:function(e,t){return arguments.length>1?(n[e]=t,i):arguments.length>0?n[e]:n},selected:function(t,n){return arguments.length>0?(e.setSelected(t,n),i):e.isSelected()},applySettings:function(t){return e.update(t),i}};return i}(this,n.coordinates,h({},i));this._ctx=e,this._index=t,this._fig=this._label=null,this._state=0,this._coordinates=n.coordinates,this._settings={label:{}},o.index=t,o.layer=e.layer,this._data={name:e.name,index:t}}).prototype={constructor:ee,dispose:function(){return this._ctx=this.proxy=this._settings=this._fig=this._label=this.data=null,this},project:function(){var e=this._ctx;this._projection=e.str.project(e.projection,this._coordinates),e.hasSeparateLabel&&this._label&&this._projectLabel()},_projectLabel:function(){this._labelProjection=this._ctx.str.projectLabel(this._projection)},draw:function(){var e=this._ctx;e.str.draw(e,this._fig={},this._data),this._fig.root.append(e.root)},transform:function(){var e=this._ctx;e.str.transform(this._fig,e.projection,this._projection),e.hasSeparateLabel&&this._label&&this._transformLabel()},_transformLabel:function(){this._ctx.str.transformLabel(this._label,this._ctx.projection,this._labelProjection)},refresh:function(){var e=this._ctx.str,t=Z(this._ctx,this.proxy,this._settings);this._styles=e.getStyles(t),e.refresh(this._ctx,this._fig,this._data,this.proxy,t),this._refreshLabel(t),this._setState()},_refreshLabel:function(e){var t=this._ctx,n=e.label,i=this._label;t.settings.label.enabled?(i||(i=this._label={root:t.labelRoot||this._fig.root,text:t.renderer.text().attr({class:\"dxm-label\"}),size:[0,0]},t.hasSeparateLabel&&(this._projectLabel(),this._transformLabel())),i.value=y(this.proxy.text||this.proxy.attribute(n.dataField)||\"\"),i.value&&(i.text.attr({text:i.value,x:0,y:0}).css((0,d.patchFontOptions)(n.font)).attr({align:\"center\",stroke:n.stroke,\"stroke-width\":n[\"stroke-width\"],\"stroke-opacity\":n[\"stroke-opacity\"]}).data(t.dataKey,this._data).append(i.root),i.settings=e)):i&&(i.text.remove(),this._label=null)},measureLabel:function(){var e,t=this._label;t.value&&(e=t.text.getBBox(),t.size=[e.width,e.height,-e.y-e.height/2])},adjustLabel:function(){var e,t=this._label;t.value&&(e=this._ctx.str.getLabelOffset(t,t.settings),t.settings=null,t.text.attr({x:e[0],y:e[1]+t.size[2]}))},update:function(e){this._settings=Q(this._settings,e),this._fig&&(this.refresh(),this._label&&this._label.value&&(this.measureLabel(),this.adjustLabel()))},_setState:function(){this._ctx.str.setState(this._fig,this._styles,g[this._state])},_setForeground:function(){var e=this._fig.root;this._state?e.toForeground():e.toBackground()},setHovered:function(e){var t=oe(this._state,1),n=!!e;return this._ctx.hover&&t!==n&&(this._state=ie(this._state,1,n),this._setState(),this._setForeground(),X(this._ctx,this,n,\"hoverChanged\")),this},setSelected:function(e,t){var n,i=oe(this._state,2),o=!!e,a=this._ctx.selection;a&&i!==o&&(this._state=ie(this._state,2,o),n=a.state[a.single],a.state[a.single]=null,n&&n.setSelected(!1),a.state[a.single||this._index]=e?this:null,this._fig&&(this._setState(),this._setForeground(),t||X(this._ctx,this,o,\"selectionChanged\")))},isSelected:function(){return oe(this._state,2)},resetSelected:function(){this._state=ie(this._state,2,!1)},restoreSelected:function(){this._fig.root.toForeground()}},le.prototype={constructor:le,dispose:function(){this._clip.dispose(),this._layers.forEach((function(e){return e.dispose()})),this._offTracker(),this._params=this._offTracker=this._layers=this._layerByName=this._clip=this._background=this._container=null},_subscribeToTracker:function(e,t,n){var i=this;i._offTracker=e.on({click:function(e){var o=t.getRootOffset(),a=i.byName(e.data.name);e.$event.x=e.x-o.left,e.$event.y=e.y-o.top,a?a.raiseClick(e.data.index,e.$event):\"background\"===e.data.name&&n(\"click\",{event:e.$event})},\"hover-on\":function(e){var t=i.byName(e.data.name);t&&t.hoverItem(e.data.index,!0)},\"hover-off\":function(e){var t=i.byName(e.data.name);t&&t.hoverItem(e.data.index,!1)}})},setOptions:function(e){var t,n=e?_(e)?e:[e]:[],i=this._layers;if(n.length!==i.length||i.some((function(e,t){var i=D(n,t);return(0,l.isDefined)(i)&&i!==e.proxy.name}))){this._params.tracker.reset(),this._layers.forEach((function(e){return e.dispose()}));var o=this._layerByName={};this._layers=i=[];for(var a=0,r=n.length;a<r;++a){var s=D(n,a)||\"map-layer-\"+a,d=i[a]=new ae(this._params,this._container,s,a);o[s]=d}}i.forEach((function(e,t){e.setOptions(n[t])})),(t=i.map((function(e){return e.getDataReadyCallback()}))).length&&u.when.apply(void 0,t).done(this._dataReady)},_updateClip:function(){var e=this._rect,t=this._borderWidth;this._clip.attr({x:e[0]+t,y:e[1]+t,width:C(e[2]-2*t,0),height:C(e[3]-2*t,0)})},setBackgroundOptions:function(e){this._background.attr({stroke:e.borderColor,\"stroke-width\":e.borderWidth,fill:e.color}),this._borderWidth=C(e.borderWidth,0),this._updateClip()},setRect:function(e){this._rect=e,this._background.attr({x:e[0],y:e[1],width:e[2],height:e[3]}),this._updateClip()},byIndex:function(e){return this._layers[e]},byName:function(e){return this._layerByName[e]},items:function(){return this._layers}}},102:function(e,t,n){Object.defineProperty(t,\"projection\",{enumerable:!0,get:function(){return i.projection}});var i=n(14316),o=Math.min,a=Math.max,r=Math.sin,s=Math.asin,l=Math.tan,u=Math.atan,d=Math.exp,c=Math.log,h=Math.PI,f=h/4,p=h/180,g=(2*u(d(h))-h/2)/p,m=(2.5*u(d(.8*h))-.625*h)/p;function _(e,t){return a(o(e,+t),-t)}i.projection.add(\"mercator\",(0,i.projection)({aspectRatio:1,to:function(e){return[e[0]/180,c(l(f+_(e[1],g)*p/2))/h]},from:function(e){return[180*e[0],(2*u(d(e[1]*h))-h/2)/p]}})),i.projection.add(\"equirectangular\",(0,i.projection)({aspectRatio:2,to:function(e){return[e[0]/180,e[1]/90]},from:function(e){return[180*e[0],90*e[1]]}})),i.projection.add(\"lambert\",(0,i.projection)({aspectRatio:2,to:function(e){return[e[0]/180,r(_(e[1],90)*p)]},from:function(e){return[180*e[0],s(_(e[1],1))/p]}})),i.projection.add(\"miller\",(0,i.projection)({aspectRatio:1,to:function(e){return[e[0]/180,1.25*c(l(f+_(e[1],m)*p*.4))/h]},from:function(e){return[180*e[0],(2.5*u(d(.8*e[1]*h))-.625*h)/p]}}))},14316:function(e,t,n){t.projection=t.Projection=void 0;var i=n(13306),o=n(63832);function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var i,o,a,r,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(u)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e,t)||function(){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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var s=Number,l=Math.min,u=Math.max,d=Math.abs,c=Math.round,h=Math.log,f=Math.pow,p=2/Math.LN2,g=[NaN,NaN];function m(e,t){return d(e-t)<1e-8}function _(e,t){return m(e[0],t[0])&&m(e[1],t[1])}function v(e,t,n,i){var o=s(e);return isFinite(o)?l(u(o,t),n):i}function y(e,t,n,i){return[v(e[0],t[0],n[0],i[0]),v(e[1],t[1],n[1],i[1])]}function b(e){return e instanceof k&&e||O.get(e)||O(e)||O.get(\"mercator\")}var x=function(e){this._initEvents(),this._params=e,this._engine=b(),this._center=this._engine.center(),this._adjustCenter()};function w(e,t,n,i){var o=(n+i)/2;return d(e-o)>d(t-o)?e:t}function C(e,t,n,i){var o=(n+i)/2;return d(e-o)<d(t-o)?e:t}function S(e,t,n){var i=E(t,n),o=i.min,a=i.max;e.min=T(o),e.max=T(a)}t.Projection=x,x.prototype={constructor:x,_minZoom:1,_maxZoom:256,_zoom:1,_center:g,_canvas:{},_scale:[],dispose:function(){this._disposeEvents()},setEngine:function(e){var t=b(e);this._engine!==t&&(this._engine=t,this._fire(\"engine\"),this._changeCenter(t.center())&&this._triggerCenterChanged(),this._changeZoom(this._minZoom)&&this._triggerZoomChanged(),this._adjustCenter(),this._setupScreen())},setBounds:function(e){void 0!==e&&this.setEngine(this._engine.original().bounds(e))},_setupScreen:function(){var e=this._canvas,t=e.width,n=e.height,i=this._engine,o=i.ar();this._x0=e.left+t/2,this._y0=e.top+n/2;var a,r=[this.project([i.min()[0],0])[0],this.project([0,i.min()[1]])[1]],s=[this.project([i.max()[0],0])[0],this.project([0,i.max()[1]])[1]],c=t/n,h=d(s[0]-r[0])/d(s[1]-r[1]);a=isNaN(h)||0===h||l(c,o)<=o*h&&o*h<=u(c,o)?1:h>1?h:1/h,o*h>=c?(this._xRadius=t/2/a,this._yRadius=t/2/(o*a)):(this._xRadius=n/2*(o/a),this._yRadius=n/2/a),this._fire(\"screen\")},setSize:function(e){this._canvas=e,this._setupScreen()},getCanvas:function(){return this._canvas},_toScreen:function(e){return[this._x0+this._xRadius*e[0],this._y0+this._yRadius*e[1]]},_fromScreen:function(e){return[(e[0]-this._x0)/this._xRadius,(e[1]-this._y0)/this._yRadius]},_toTransformed:function(e){return[e[0]*this._zoom+this._xCenter,e[1]*this._zoom+this._yCenter]},_toTransformedFast:function(e){return[e[0]*this._zoom,e[1]*this._zoom]},_fromTransformed:function(e){return[(e[0]-this._xCenter)/this._zoom,(e[1]-this._yCenter)/this._zoom]},_adjustCenter:function(){var e=this._engine.project(this._center);this._xCenter=-e[0]*this._zoom||0,this._yCenter=-e[1]*this._zoom||0},project:function(e){return this._engine.project(e)},transform:function(e){return this._toScreen(this._toTransformedFast(e))},isInvertible:function(){return this._engine.isInvertible()},getSquareSize:function(e){return[e[0]*this._zoom*this._xRadius,e[1]*this._zoom*this._yRadius]},getZoom:function(){return this._zoom},_changeZoom:function(e){var t=!m(this._zoom,this._zoom=v(e,this._minZoom,this._maxZoom,this._minZoom));return t&&(this._adjustCenter(),this._fire(\"zoom\")),t},setZoom:function(e){this._engine.isInvertible()&&this._changeZoom(e)&&this._triggerZoomChanged()},getScaledZoom:function(){return c((this._scale.length-1)*h(this._zoom)/h(this._maxZoom))},setScaledZoom:function(e){this.setZoom(this._scale[c(e)])},changeScaledZoom:function(e){this.setZoom(this._scale[u(l(c(this.getScaledZoom()+e),this._scale.length-1),0)])},getZoomScalePartition:function(){return this._scale.length-1},_setupScaling:function(){var e=u(c(p*h(this._maxZoom)),4),t=f(this._maxZoom,1/e),n=this._minZoom;this._scale=[n];for(var i=1;i<=e;++i)this._scale.push(n*=t)},setMaxZoom:function(e){this._minZoom=1,this._maxZoom=v(e,this._minZoom,s.MAX_VALUE,256),this._setupScaling(),this._zoom>this._maxZoom&&this.setZoom(this._maxZoom),this._fire(\"max-zoom\")},getCenter:function(){return this._center.slice()},setCenter:function(e){this._engine.isInvertible()&&this._changeCenter(e||[])&&this._triggerCenterChanged()},_changeCenter:function(e){var t=this._engine,n=!_(this._center,this._center=y(e,t.min(),t.max(),t.center()));return n&&(this._adjustCenter(),this._fire(\"center\")),n},_triggerCenterChanged:function(){this._params.centerChanged(this.getCenter())},_triggerZoomChanged:function(){this._params.zoomChanged(this.getZoom())},setCenterByPoint:function(e,t){var n=this._engine.project(e),i=this._fromScreen(t);this.setCenter(this._engine.unproject([-i[0]/this._zoom+n[0],-i[1]/this._zoom+n[1]]))},beginMoveCenter:function(){this._engine.isInvertible()&&(this._moveCenter=this._center)},endMoveCenter:function(){this._moveCenter&&(_(this._moveCenter,this._center)||this._triggerCenterChanged(),this._moveCenter=null)},moveCenter:function(e){if(this._moveCenter){var t=this.toScreenPoint(this._center);this._changeCenter(this.fromScreenPoint([t[0]+e[0],t[1]+e[1]]))}},getViewport:function(){var e=this._engine.unproject,t=e(this._fromTransformed([-1,-1])),n=e(this._fromTransformed([-1,1])),i=e(this._fromTransformed([1,-1])),o=e(this._fromTransformed([1,1])),a=E([w(t[0],n[0],i[0],o[0]),w(t[1],i[1],n[1],o[1])],[w(i[0],o[0],t[0],n[0]),w(n[1],o[1],t[1],i[1])]);return[].concat(a.min,a.max)},setViewport:function(e){var t=this._engine,n=e?function(e,t,n){var i=e([n[0],n[3]]),o=e([n[0],n[1]]),a=e([n[2],n[3]]),r=e([n[2],n[1]]),s=C(i[0],o[0],a[0],r[0]),l=C(a[0],r[0],i[0],o[0]),c=C(i[1],a[1],o[1],r[1]),h=C(o[1],r[1],i[1],a[1]);return[2/u(d(s-l),d(c-h)),t([(s+l)/2,(c+h)/2])]}(t.project,t.unproject,e):[this._minZoom,t.center()];this.setZoom(n[0]),this.setCenter(n[1])},getTransform:function(){return{translateX:this._xCenter*this._xRadius,translateY:this._yCenter*this._yRadius}},fromScreenPoint:function(e){return this._engine.unproject(this._fromTransformed(this._fromScreen(e)))},toScreenPoint:function(e){return this._toScreen(this._toTransformed(this._engine.project(e)))},_eventNames:[\"engine\",\"screen\",\"center\",\"zoom\",\"max-zoom\"]},(0,o.makeEventEmitter)(x);var k=function(){function e(e){var t,n=(t=e.to,function(e){return D(t(e))}),o=e.from?function(e){return function(t){return e(D(t))}}(e.from):I(g);this.project=n,this.unproject=o,this.original=I(this),this.source=function(){return(0,i.extend)({},e)},this.isInvertible=I(!!e.from),this.ar=I(e.aspectRatio>0?s(e.aspectRatio):1),this.center=T(o([0,0])),S(this,[o([-1,0])[0],o([0,1])[1]],[o([1,0])[0],o([0,-1])[1]])}var t=e.prototype;return t.aspectRatio=function(t){var n=new e((0,i.extend)(this.source(),{aspectRatio:t}));return n.original=this.original,n.min=this.min,n.max=this.max,n},t.bounds=function(t){t=t||[];var n=this.source(),o=this.min(),r=this.max(),s=y([t[0],t[1]],o,r,o),u=y([t[2],t[3]],o,r,r),c=n.to(s),h=n.to(u),f=l(d(h[0]-c[0])>1/3600/180/10?d(h[0]-c[0]):2,d(h[1]-c[1])>1/3600/180/10?d(h[1]-c[1]):2);f<2&&(0,i.extend)(n,function(e,t,n,i,o){var r=(n[0]+i[0])/2-o/2,s=(n[1]+i[1])/2-o/2,l=2/o;return{to:function(t){var n=a(e(t),2),i=n[0],o=n[1];return[(i-r)*l-1,(o-s)*l-1]},from:function(e){return t([r+(e[0]+1)/l,s+(e[1]+1)/l])}}}(n.to,n.from,c,h,f));var p=new e(n);return p.original=this.original,S(p,s,u),p},e}();function D(e){return[e[0],-e[1]]}function I(e){return function(){return e}}function T(e){return function(){return e.slice()}}function E(e,t){return{min:[l(e[0],t[0]),l(e[1],t[1])],max:[u(e[0],t[0]),u(e[1],t[1])]}}var O=function(e){return e&&e.to?new k(e):null};t.projection=O;var A={};O.get=function(e){return A[e]||null},O.add=function(e,t){return t=t instanceof k&&t||O(t),!A[e]&&t&&(A[e]=t),O}},8068:function(e,t){t.TooltipViewer=n;function n(e){this._subscribeToTracker(e.tracker,e.tooltip,e.layerCollection)}n.prototype={constructor:n,dispose:function(){this._offTracker(),this._offTracker=null},_subscribeToTracker:function(e,t,n){this._offTracker=e.on({\"focus-on\":function(e){var i,o;if(t.isEnabled()){var a=function(t){t&&e.done(t)};(o=(i=n.byName(e.data.name))&&i.getProxy(e.data.index))&&a(t.show(o,{x:e.x,y:e.y,offset:12},{target:o},void 0,a))}},\"focus-move\":function(e){t.move(e.x,e.y,12)},\"focus-off\":function(){t.hide()}})}}},49497:function(e,t,n){t.Tracker=x;var i=d(n(55994)),o=n(58201),a=d(n(73349)),r=n(63832),s=n(39611),l=n(765),u=n(19157);function d(e){return e&&e.__esModule?e:{default:e}}var c,h,f,p=(0,o.getNavigator)(),g=Math,m=g.abs,_=g.sqrt,v=g.round,y=s.addNamespace,b=\"dxVectorMap\";function x(e){var t=this;t._root=e.root,t._createEventHandlers(e.dataKey),t._createProjectionHandlers(e.projection),t._initEvents(),t._focus=new h((function(e,n){t._fire(e,n)})),t._attachHandlers()}function w(e,t,n,i){return _((e-n)*(e-n)+(t-i)*(t-i))}function C(e){var t=e.originalEvent.type,n=e.originalEvent.pointerType;return/^touch/.test(t)||/^MSPointer/.test(t)&&4!==n||/^pointer/.test(t)&&\"mouse\"!==n}function S(e,t){for(var n,i=0,o=e.length;i<o;++i)if(e[i]){n=t[i];break}return y(n||t[i],b)}function k(e){var t=e.originalEvent,n=t.touches&&t.touches[0]||{};return{x:n.pageX||t.pageX||e.pageX,y:n.pageY||t.pageY||e.pageY}}function D(e){return e.originalEvent.pointerId}function I(e,t){var n=e.originalEvent;return(n=void 0!==n.pointerId?n.pointerId===t?n:null:n.touches[t])?{x:n.pageX||e.pageX,y:n.pageY||e.pageY}:null}f=[p.pointerEnabled,p.msPointerEnabled,(0,o.hasProperty)(\"ontouchstart\")],c={start:S(f,[\"pointerdown\",\"MSPointerDown\",\"touchstart mousedown\",\"mousedown\"]),move:S(f,[\"pointermove\",\"MSPointerMove\",\"touchmove mousemove\",\"mousemove\"]),end:S(f,[\"pointerup\",\"MSPointerUp\",\"touchend mouseup\",\"mouseup\"]),wheel:y(l.name,b)},x.prototype={constructor:x,dispose:function(){this._detachHandlers(),this._disposeEvents(),this._focus.dispose(),this._root=this._focus=this._docHandlers=this._rootHandlers=null},_eventNames:[\"start\",\"move\",\"end\",\"zoom\",\"click\",\"hover-on\",\"hover-off\",\"focus-on\",\"focus-off\",\"focus-move\"],_startClick:function(e,t){if(t){var n=k(e);this._clickState={x:n.x,y:n.y,threshold:C(e)?20:5,time:Date.now()}}},_endClick:function(e,t){var n,i,o=this._clickState;o&&(t&&Date.now()-o.time<=500&&(n=o.threshold,i=k(e),m(i.x-o.x)<=n&&m(i.y-o.y)<=n&&this._fire(\"click\",{data:t,x:i.x,y:i.y,$event:e})),this._clickState=null)},_startDrag:function(e,t){if(t){var n=k(e),i=this._dragState={x:n.x,y:n.y,data:t};this._fire(\"start\",{x:i.x,y:i.y,data:i.data})}},_moveDrag:function(e,t){var n=this._dragState;if(n){var i=k(e),o=C(e)?10:5;(n.active||m(i.x-n.x)>o||m(i.y-n.y)>o)&&(n.x=i.x,n.y=i.y,n.active=!0,n.data=t||{},this._fire(\"move\",{x:n.x,y:n.y,data:n.data}))}},_endDrag:function(){var e=this._dragState;e&&(this._dragState=null,this._fire(\"end\",{x:e.x,y:e.y,data:e.data}))},_wheelZoom:function(e,t){if(t){var n=this._wheelLock,i=Date.now();if(!(i-n.time<=50)){i-n.dirTime>300&&(n.dir=0);var o=function(e,t){if(0===e)return 0;var n=m(e),i=v(e/n);if(t.dir&&i!==t.dir)return 0;t.dir=i,n=n<.1?0:n<1?1:n>4?4:v(n);return i*n}(e.delta/120||0,n);if(0!==o){var a=k(e);this._fire(\"zoom\",{delta:o,x:a.x,y:a.y}),n.time=n.dirTime=i}}}},_startZoom:function(e,t){if(C(e)&&t){var n,i,o=this._zoomState=this._zoomState||{};o.pointer1&&o.pointer2||(void 0===o.pointer1&&(o.pointer1=D(e)||0,n=I(e,o.pointer1),o.x1=o.x1_0=n.x,o.y1=o.y1_0=n.y),void 0===o.pointer2&&(i=D(e)||1)!==o.pointer1&&(n=I(e,i))&&(o.x2=o.x2_0=n.x,o.y2=o.y2_0=n.y,o.pointer2=i,o.ready=!0,this._endDrag()))}},_moveZoom:function(e){var t,n=this._zoomState;n&&C(e)&&(void 0!==n.pointer1&&(t=I(e,n.pointer1))&&(n.x1=t.x,n.y1=t.y),void 0!==n.pointer2&&(t=I(e,n.pointer2))&&(n.x2=t.x,n.y2=t.y))},_endZoom:function(e){var t,n,i=this._zoomState;i&&C(e)&&(i.ready&&(t=w(i.x1_0,i.y1_0,i.x2_0,i.y2_0),n=w(i.x1,i.y1,i.x2,i.y2),this._fire(\"zoom\",{ratio:n/t,x:(i.x1_0+i.x2_0)/2,y:(i.y1_0+i.y2_0)/2})),this._zoomState=null)},_startHover:function(e,t){this._doHover(e,t,!0)},_moveHover:function(e,t){this._doHover(e,t,!1)},_doHover:function(e,t,n){this._dragState&&this._dragState.active||this._zoomState&&this._zoomState.ready?this._cancelHover():C(e)!==n||this._hoverTarget===e.target||this._hoverState&&this._hoverState.data===t||(this._cancelHover(),t&&(this._hoverState={data:t},this._fire(\"hover-on\",{data:t})),this._hoverTarget=e.target)},_cancelHover:function(){var e=this._hoverState;this._hoverState=this._hoverTarget=null,e&&this._fire(\"hover-off\",{data:e.data})},_startFocus:function(e,t){this._doFocus(e,t,!0)},_moveFocus:function(e,t){this._doFocus(e,t,!1)},_doFocus:function(e,t,n){this._dragState&&this._dragState.active||this._zoomState&&this._zoomState.ready?this._cancelFocus():C(e)===n&&(this._focus.turnOff(),t&&this._focus.turnOn(t,k(e)))},_cancelFocus:function(){this._focus.cancel()},_createEventHandlers:function(e){var t=this;function n(t){var n=t.target;return(\"tspan\"===n.tagName?n.parentNode:n)[e]}t._docHandlers={},t._rootHandlers={},t._docHandlers[c.start]=function(e){var i=C(e),o=n(e);i&&!t._isTouchEnabled||(o&&e.preventDefault(),t._startClick(e,o),t._startDrag(e,o),t._startZoom(e,o),t._startHover(e,o),t._startFocus(e,o))},t._docHandlers[c.move]=function(e){var i=C(e),o=n(e);i&&!t._isTouchEnabled||(t._moveDrag(e,o),t._moveZoom(e,o),t._moveHover(e,o),t._moveFocus(e,o))},t._docHandlers[c.end]=function(e){var i=C(e),o=n(e);i&&!t._isTouchEnabled||(t._endClick(e,o),t._endDrag(e,o),t._endZoom(e,o))},t._rootHandlers[c.wheel]=function(e){if(t._cancelFocus(),t._isWheelEnabled){var i=n(e);i&&(e.preventDefault(),e.stopPropagation(),t._wheelZoom(e,i))}},t._wheelLock={dir:0}},_createProjectionHandlers:function(e){var t=this;function n(){t._cancelFocus()}e.on({center:n,zoom:n})},reset:function(){this._clickState=null,this._endDrag(),this._cancelHover(),this._cancelFocus()},setOptions:function(e){this.reset(),this._detachHandlers(),this._isTouchEnabled=!!(0,u.parseScalar)(e.touchEnabled,!0),this._isWheelEnabled=!!(0,u.parseScalar)(e.wheelEnabled,!0),this._attachHandlers()},_detachHandlers:function(){this._isTouchEnabled&&this._root.css({\"touch-action\":\"\",\"-webkit-user-select\":\"\"}).off(y(\"MSHoldVisual\",b)).off(y(\"contextmenu\",b)),i.default.off(a.default.getDocument(),this._docHandlers),this._root.off(this._rootHandlers)},_attachHandlers:function(){this._isTouchEnabled&&this._root.css({\"touch-action\":\"none\",\"-webkit-user-select\":\"none\"}).on(y(\"MSHoldVisual\",b),(function(e){e.preventDefault()})).on(y(\"contextmenu\",b),(function(e){C(e)&&e.preventDefault()})),i.default.on(a.default.getDocument(),this._docHandlers),this._root.on(this._rootHandlers)}},h=function(e){var t,n,i=this,o=null,a=null,r=!1,s=null;i.dispose=function(){clearTimeout(s),i.turnOn=i.turnOff=i.cancel=i.dispose=i=e=o=a=s=null},i.turnOn=function(i,l){function u(e){r=!e,e&&(o=a,clearTimeout(s),s=null)}i===a&&r||(r=!1,a=i,o?(t=l.x,n=l.y,a===o?(e(\"focus-move\",{data:a,x:t,y:n}),u(!0)):e(\"focus-on\",{data:a,x:t,y:n,done:u})):(t=l.x,n=l.y,e(\"focus-on\",{data:a,x:t,y:n,done:u})))},i.turnOff=function(){a=null,o&&!r&&(s=s||setTimeout((function(){s=null,e(\"focus-off\",{data:o}),o=null}),100))},i.cancel=function(){clearTimeout(s),o&&e(\"focus-off\",{data:o}),o=a=s=null}},(0,r.makeEventEmitter)(x)},13711:function(e,t,n){t.default=void 0;var i=n(19157),o=n(14316),a=n(17323),r=n(3797),s=n(49497),l=n(93699),u=n(7291),d=n(39378),c=n(15151),h=n(8068),f=n(56145);n(102);var p=x(n(55845)),g=x(n(99393)),m=n(82454),_=n(17384),v=n(14371),y=n(64758),b=n(77129);function x(e){return e&&e.__esModule?e:{default:e}}var w=/^layers/,C=/\\.dataSource$/;function S(e,t){return t?[Math.min(t[0],t[2],e[0]),Math.min(t[1],t[3],e[3]),Math.max(t[0],t[2],e[2]),Math.max(t[1],t[3],e[1])]:e}var k=p.default.inherit({_eventsMap:{onClick:{name:\"click\"},onCenterChanged:{name:\"centerChanged\"},onZoomFactorChanged:{name:\"zoomFactorChanged\"},onHoverChanged:{name:\"hoverChanged\"},onSelectionChanged:{name:\"selectionChanged\"}},_rootClassPrefix:\"dxm\",_rootClass:\"dxm-vector-map\",_themeSection:\"map\",_fontFields:[\"layer:area.label.font\",\"layer:marker:dot.label.font\",\"layer:marker:bubble.label.font\",\"layer:marker:pie.label.font\",\"layer:marker:image.label.font\",\"legend.font\",\"legend.title.font\",\"legend.title.subtitle.font\"],_initLayerCollection:function(e){var t=this;t._layerCollection=new c.MapLayerCollection({renderer:t._renderer,projection:t._projection,themeManager:t._themeManager,tracker:t._tracker,dataKey:e,eventTrigger:t._eventTrigger,dataExchanger:t._dataExchanger,tooltip:t._tooltip,notifyDirty:t._notifyDirty,notifyReady:t._notifyReady,dataReady:function(){var e;if(t.option(\"getBoundsFromData\")&&!t.option(\"bounds\")&&(t._preventProjectionEvents(),e=t._getBoundsFromData(),t._projection.setBounds(e),t._allowProjectionEvents()),!t.option(\"projection\")&&(e=e||t._getBoundsFromData(),Math.ceil(e[0])<-180||Math.ceil(e[3])<-90||Math.floor(e[2])>180||Math.floor(e[1])>90)){var n=e[2]-e[0],i=e[1]-e[3];t._projection.setEngine({to:function(t){return[2*(t[0]-e[0])/n-1,2*(t[1]-e[3])/i-1]},from:function(t){return[(t[0]+1)*n/2+e[0],(t[1]+1)*i/2+e[3]]}})}}})},_getBoundsFromData:function(){var e=this._getBoundingBoxFromDataSource();if(!e){var t=(0,c.getMaxBound)(this.getLayers().map((function(e){return e.getBounds()})));t&&(e=t)}return e=[(e=e||[])[0],e[3],e[2],e[1]]},_initLegendsControl:function(){this._legendsControl=new u.LegendsControl({renderer:this._renderer,container:this._root,widget:this,layoutControl:this._layoutControl,themeManager:this._themeManager,dataExchanger:this._dataExchanger,notifyDirty:this._notifyDirty,notifyReady:this._notifyReady})},_initControlBar:function(e){this._controlBar=new a.ControlBar({renderer:this._renderer,container:this._root,layoutControl:this._layoutControl,projection:this._projection,tracker:this._tracker,dataKey:e})},_initElements:function(){var e,t=this,n=(0,f.generateDataKey)(),i=0;t._preventProjectionEvents=function(){e=!0},t._allowProjectionEvents=function(){e=!1},t._notifyDirty=function(){t._resetIsReady(),++i},t._notifyReady=function(){t._allowProjectionEvents(),0==--i&&t._drawn()},t._preventProjectionEvents(),t._dataExchanger=new l.DataExchanger,t._projection=new o.Projection({centerChanged:function(n){e||t._eventTrigger(\"centerChanged\",{center:n})},zoomChanged:function(n){e||t._eventTrigger(\"zoomFactorChanged\",{zoomFactor:n})}}),t._tracker=new s.Tracker({root:t._root,projection:t._projection,dataKey:n}),t._gestureHandler=new r.GestureHandler({projection:t._projection,renderer:t._renderer,tracker:t._tracker}),t._layoutControl=new d.LayoutControl(t),t._layoutControl.suspend(),t._initLayerCollection(n),t._createHtmlStructure(),t._initControlBar(n),t._initLegendsControl(),t._prepareExtraElements(),t._tooltipViewer=new h.TooltipViewer({tracker:t._tracker,tooltip:t._tooltip,layerCollection:t._layerCollection})},_change_RESUME_LAYOUT:function(){this._layoutControl.resume()},_initialChanges:[\"PROJECTION\",\"RESUME_LAYOUT\",\"LAYOUT_INIT\",\"BOUNDS\",\"MAX_ZOOM_FACTOR\",\"ZOOM_FACTOR\",\"CENTER\"],_layoutChangesOrder:[\"RESUME_LAYOUT\",\"LAYERS\"],_customChangesOrder:[\"EXTRA_ELEMENTS\"],_initCore:function(){this._root=this._renderer.root.attr({align:\"center\",cursor:\"default\"}),this._initElements()},_disposeCore:function(){this._controlBar.dispose(),this._gestureHandler.dispose(),this._tracker.dispose(),this._legendsControl.dispose(),this._layerCollection.dispose(),this._layoutControl.dispose(),this._tooltipViewer.dispose(),this._dataExchanger.dispose(),this._projection.dispose(),this._dataExchanger=this._gestureHandler=this._projection=this._tracker=this._layoutControl=this._root=this._layerCollection=this._controlBar=this._legendsControl=null},_setupInteraction:function(){var e={centeringEnabled:!!(0,i.parseScalar)(this._getOption(\"panningEnabled\",!0),!0),zoomingEnabled:!!(0,i.parseScalar)(this._getOption(\"zoomingEnabled\",!0),!0)};this._gestureHandler.setInteraction(e),this._controlBar.setInteraction(e)},_getDefaultSize:function(){return{width:800,height:400}},_applySize:function(e){var t={left:e[0],top:e[1],width:e[2]-e[0],height:e[3]-e[1],right:0,bottom:0};this._projection.setSize(t),this._layoutControl.setSize(t),this._layerCollection.setRect([t.left,t.top,t.width,t.height]),this._requestChange([\"EXTRA_ELEMENTS\"])},_optionChanging:function(e,t,n){t&&n&&w.test(e)&&(t.dataSource&&n.dataSource&&t!==n?t.dataSource=null:C.test(e)&&this.option(e,null))},_applyChanges:function(){this._notifyDirty(),this.callBase.apply(this,arguments),this._notifyReady()},_optionChangesMap:{background:\"BACKGROUND\",layers:\"LAYERS\",extraElements:\"EXTRA_ELEMENTS\",controlBar:\"CONTROL_BAR\",legends:\"LEGENDS\",touchEnabled:\"TRACKER\",wheelEnabled:\"TRACKER\",panningEnabled:\"INTERACTION\",zoomingEnabled:\"INTERACTION\",projection:\"PROJECTION\",bounds:\"BOUNDS\",maxZoomFactor:\"MAX_ZOOM_FACTOR\",zoomFactor:\"ZOOM_FACTOR\",center:\"CENTER\"},_optionChangesOrder:[\"PROJECTION\",\"BOUNDS\",\"MAX_ZOOM_FACTOR\",\"ZOOM_FACTOR\",\"CENTER\",\"BACKGROUND\",\"CONTROL_BAR\",\"LEGENDS\",\"TRACKER\",\"INTERACTION\"],_change_PROJECTION:function(){this._setProjection()},_change_BOUNDS:function(){this._setBounds()},_change_MAX_ZOOM_FACTOR:function(){this._setMaxZoom()},_change_ZOOM_FACTOR:function(){this._setZoom()},_change_CENTER:function(){this._setCenter()},_change_BACKGROUND:function(){this._setBackgroundOptions()},_change_LAYERS:function(){this._setLayerCollectionOptions()},_change_CONTROL_BAR:function(){this._setControlBarOptions()},_change_EXTRA_ELEMENTS:function(){this._renderExtraElements()},_change_LEGENDS:function(){this._setLegendsOptions()},_change_TRACKER:function(){this._setTrackerOptions()},_change_INTERACTION:function(){this._setupInteraction()},_themeDependentChanges:[\"BACKGROUND\",\"LAYERS\",\"CONTROL_BAR\",\"LEGENDS\",\"TRACKER\",\"INTERACTION\"],_setProjection:function(){this._projection.setEngine(this.option(\"projection\"))},_setBounds:function(){this._projection.setBounds(this.option(\"bounds\"))},_setMaxZoom:function(){this._projection.setMaxZoom(this.option(\"maxZoomFactor\"))},_setZoom:function(){this._projection.setZoom(this.option(\"zoomFactor\"))},_setCenter:function(){this._projection.setCenter(this.option(\"center\"))},_setBackgroundOptions:function(){this._layerCollection.setBackgroundOptions(this._getOption(\"background\"))},_setLayerCollectionOptions:function(){this._layerCollection.setOptions(this.option(\"layers\"))},_getBoundingBoxFromDataSource:function(){var e=this._layerCollection.items(),t=[1/0,-1/0,-1/0,1/0],n=e&&e.length?e.reduce((function(e,t){var n=t.getData(),i=n.count();if(i>0){var o=n.getBBox();if(o)e=S(e,o);else for(var a=0;a<i;a++)e=S(e,n.getBBox(a))}return e}),t):void 0;return n===t?void 0:n},_setControlBarOptions:function(){this._controlBar.setOptions(this._getOption(\"controlBar\"))},_setLegendsOptions:function(){this._legendsControl.setOptions(this.option(\"legends\"))},_setTrackerOptions:function(){this._tracker.setOptions({touchEnabled:this._getOption(\"touchEnabled\",!0),wheelEnabled:this._getOption(\"wheelEnabled\",!0)})},getLayers:function(){return this._layerCollection.items().map((function(e){return e.proxy}))},getLayerByIndex:function(e){var t=this._layerCollection.byIndex(e);return t?t.proxy:null},getLayerByName:function(e){var t=this._layerCollection.byName(e);return t?t.proxy:null},clearSelection:function(e){var t,n=this._layerCollection.items(),i=n.length;for(t=0;t<i;++t)n[t].clearSelection(e);return this},center:function(e){return void 0===e?this._projection.getCenter():(this._projection.setCenter(e),this)},zoomFactor:function(e){return void 0===e?this._projection.getZoom():(this._projection.setZoom(e),this)},viewport:function(e){return void 0===e?this._projection.getViewport():(this._projection.setViewport(e),this)},convertCoordinates:function(e){return e=e&&e.length?e:[arguments[0],arguments[1]],this.convertToGeo(e[0],e[1])},convertToGeo:function(e,t){return this._projection.fromScreenPoint([e,t])},convertToXY:function(e,t){return this._projection.toScreenPoint([e,t])}});(0,g.default)(\"dxVectorMap\",k);var D=k;t.default=D,k.addPlugin(m.plugin),k.addPlugin(_.plugin),k.addPlugin(v.plugin),k.addPlugin(y.plugin),k.addPlugin(b.plugins.core),k.addPlugin(b.plugins.vectorMap),e.exports=t.default,e.exports.default=t.default},56145:function(e,t){t.generateDataKey=function(){return\"vectormap-data-\"+n++};var n=1},58260:function(e,t,n){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.InfernoWrapperComponent=t.InfernoComponent=t.BaseInfernoComponent=void 0;var a=n(55285),r=n(46275),s=function(e,t){if(!(e instanceof Object&&t instanceof Object))return e===t;var n=Object.keys(e),i=Object.keys(t);return n.length===i.length&&!n.some((function(n){return e[n]!==t[n]}))},l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._pendingContext=t.context,t}return o(t,e),t.prototype.componentWillReceiveProps=function(e,t){this._pendingContext=null!=t?t:{}},t.prototype.shouldComponentUpdate=function(e,t){return!s(this.props,e)||!s(this.state,t)||!s(this.context,this._pendingContext)},t}(a.Component);t.BaseInfernoComponent=l;var u=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._effects=[],t}return o(t,e),t.prototype.createEffects=function(){return[]},t.prototype.updateEffects=function(){},t.prototype.componentWillMount=function(){r.InfernoEffectHost.lock()},t.prototype.componentWillUpdate=function(e,t,n){r.InfernoEffectHost.lock()},t.prototype.componentDidMount=function(){var e=this;r.InfernoEffectHost.callbacks.push((function(){e._effects=e.createEffects()})),r.InfernoEffectHost.callEffects()},t.prototype.componentDidUpdate=function(){var e=this;r.InfernoEffectHost.callbacks.push((function(){return e.updateEffects()})),r.InfernoEffectHost.callEffects()},t.prototype.destroyEffects=function(){this._effects.forEach((function(e){return e.dispose()}))},t.prototype.componentWillUnmount=function(){this.destroyEffects()},t}(l);t.InfernoComponent=u;var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.vDomElement=null,t}return o(t,e),t.prototype.vDomUpdateClasses=function(){var e=this.vDomElement,t=e.className.length?e.className.split(\" \"):[],n=t.filter((function(t){return e.dxClasses.previous.indexOf(t)<0})),i=e.dxClasses.previous.filter((function(e){return t.indexOf(e)<0}));n.forEach((function(t){var n=e.dxClasses.removed.indexOf(t);n>-1?e.dxClasses.removed.splice(n,1):e.dxClasses.added.push(t)})),i.forEach((function(t){var n=e.dxClasses.added.indexOf(t);n>-1?e.dxClasses.added.splice(n,1):e.dxClasses.removed.push(t)}))},t.prototype.componentDidMount=function(){var t=a.findDOMfromVNode(this.$LI,!0);this.vDomElement=t,e.prototype.componentDidMount.call(this),t.dxClasses=t.dxClasses||{removed:[],added:[],previous:[]},t.dxClasses.previous=(null==t?void 0:t.className.length)?t.className.split(\" \"):[]},t.prototype.componentDidUpdate=function(){e.prototype.componentDidUpdate.call(this);var t=this.vDomElement;null!==t&&(t.dxClasses.added.forEach((function(e){return t.classList.add(e)})),t.dxClasses.removed.forEach((function(e){return t.classList.remove(e)})),t.dxClasses.previous=t.className.length?t.className.split(\" \"):[])},t.prototype.shouldComponentUpdate=function(t,n){var i=e.prototype.shouldComponentUpdate.call(this,t,n);return i&&this.vDomUpdateClasses(),i},t}(u);t.InfernoWrapperComponent=d},5845:function(e,t,n){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createContext=void 0;var r=n(55285),s=0;t.createContext=function(e){var t=s++;return{id:t,defaultValue:e,Provider:function(n){function i(){return null!==n&&n.apply(this,arguments)||this}return o(i,n),i.prototype.getChildContext=function(){var n;return a(a({},this.context),((n={})[t]=this.props.value||e,n))},i.prototype.render=function(){return this.props.children},i}(r.Component)}}},37221:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.InfernoEffect=void 0;var n=function(){function e(e,t){this.dependency=t,this.effect=e,this.destroy=e()}return e.prototype.update=function(e){var t=this.dependency;e&&(this.dependency=e),e&&!e.some((function(e,n){return t[n]!==e}))||(this.dispose(),this.destroy=this.effect())},e.prototype.dispose=function(){this.destroy&&this.destroy()},e}();t.InfernoEffect=n},46275:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.InfernoEffectHost=void 0,t.InfernoEffectHost={lockCount:0,lock:function(){this.lockCount++},callbacks:[],callEffects:function(){if(this.lockCount--,this.lockCount<0)throw new Error(\"Unexpected Effect Call\");if(0===this.lockCount){var e=this.callbacks;this.callbacks=[],e.forEach((function(e){return e()}))}}}},44105:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),o(n(58260),t),o(n(5845),t),o(n(37221),t),o(n(46275),t),o(n(89216),t),o(n(66900),t),o(n(32766),t),o(n(84885),t),o(n(56064),t),o(n(91019),t)},84885:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hydrate=void 0;var i=n(55285),o=n(25326);function a(e,t){return Boolean(t&&t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html&&function(e,t){var n=document.createElement(\"i\");return n.innerHTML=t,n.innerHTML===e.innerHTML}(e,t.dangerouslySetInnerHTML.__html))}function r(e,t,n,r,s,u){var d=e.childFlags,c=e.children,h=e.props,f=e.flags;if(1!==d){if(2===d)o.isNull(n)?i._M(c,t,r,s,null,u):n=(n=l(c,t,n,r,s,u))?n.nextSibling:null;else if(16===d)o.isNull(n)?t.appendChild(document.createTextNode(c)):1!==t.childNodes.length||3!==n.nodeType?t.textContent=c:n.nodeValue!==c&&(n.nodeValue=c),n=null;else if(12&d)for(var p=!1,g=0,m=c.length;g<m;++g){var _=c[g];o.isNull(n)||p&&(16&_.flags)>0?i._M(_,t,r,s,n,u):n=(n=l(_,t,n,r,s,u))?n.nextSibling:null,p=(16&_.flags)>0}if(0==(8192&f))for(var v=null;n;)v=n.nextSibling,t.removeChild(n),n=v}else o.isNull(t.firstChild)||a(t,h)||(t.textContent=\"\",448&f&&(t.defaultValue=\"\"))}function s(e,t,n){if(3!==n.nodeType)t.replaceChild(e.dom=document.createTextNode(e.children),n);else{var i=e.children;n.nodeValue!==i&&(n.nodeValue=i),e.dom=n}return e.dom}function l(e,t,n,a,u,d){var c=e.flags|=16384;return 14&c?function(e,t,n,o,a,r,s){var u,d=e.type,c=e.ref,h=e.props||i.EMPTY_OBJ;if(r){var f=i._CI(e,d,h,o,a,s);u=l(p=f.$LI,t,n,f.$CX,a,s),i._MCCC(c,f,s)}else{var p;u=l(p=i._HI(i._RFC(e,o)),t,n,o,a,s),e.children=p,i._MFCC(e,s)}return u}(e,t,n,a,u,(4&c)>0,d):481&c?function(e,t,n,a,s,l){var u=e.props,d=e.className,c=e.flags,h=e.ref;return s=s||(32&c)>0,1!==n.nodeType?(i._ME(e,null,a,s,null,l),t.replaceChild(e.dom,n)):(e.dom=n,r(e,n,n.firstChild,a,s,l),o.isNull(u)||i._MP(e,c,u,n,s),o.isNullOrUndef(d)?\"\"!==n.className&&n.removeAttribute(\"class\"):s?n.setAttribute(\"class\",d):n.className=d,i._MR(h,n,l)),e.dom}(e,t,n,a,u,d):16&c?s(e,t,n):512&c?e.dom=n:8192&c?function(e,t,n,i,o,a){var l=e.children;return 2===e.childFlags?(s(l,t,n),l.dom):(r(e,t,n,i,o,a),function(e){for(var t,n;e;){if(2033&(t=e.flags))return e.dom;n=e.children,e=8192&t?2===e.childFlags?n:n[n.length-1]:4&t?n.$LI:n}return null}(l[l.length-1]))}(e,t,n,a,u,d):(o.throwError(),null)}t.hydrate=function(e,t,n){var a=t.firstChild;if(o.isNull(a))i.render(e,t,n);else{var r=[];for(o.isInvalid(e)||(a=l(e,t,a,{},!1,r));a&&(a=a.nextSibling);)t.removeChild(a);if(r.length>0)for(var s=void 0;void 0!==(s=r.shift());)s()}t.$V=e,o.isFunction(n)&&n()}},25326:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.throwError=t.isNull=t.isFunction=t.isInvalid=t.isNullOrUndef=t.ERROR_MSG=void 0,t.ERROR_MSG=\"a runtime error occured! Use Inferno in development environment to find the error.\",t.isNullOrUndef=function(e){return null==e},t.isInvalid=function(e){return null===e||!1===e||!0===e||void 0===e},t.isFunction=function(e){return\"function\"==typeof e},t.isNull=function(e){return null===e},t.throwError=function(e){throw e||(e=t.ERROR_MSG),new Error(\"Inferno Error: \"+e)}},91019:function(e,t){var n=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,a=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)r.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return r};Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeStyles=void 0;var i=new Set([\"animationIterationCount\",\"borderImageOutset\",\"borderImageSlice\",\"border-imageWidth\",\"boxFlex\",\"boxFlexGroup\",\"boxOrdinalGroup\",\"columnCount\",\"fillOpacity\",\"flex\",\"flexGrow\",\"flexNegative\",\"flexOrder\",\"flexPositive\",\"flexShrink\",\"floodOpacity\",\"fontWeight\",\"gridColumn\",\"gridRow\",\"lineClamp\",\"lineHeight\",\"opacity\",\"order\",\"orphans\",\"stopOpacity\",\"strokeDasharray\",\"strokeDashoffset\",\"strokeMiterlimit\",\"strokeOpacity\",\"strokeWidth\",\"tabSize\",\"widows\",\"zIndex\",\"zoom\"]),o=/[A-Z]/g;t.normalizeStyles=function(e){if(e instanceof Object)return Object.entries(e).reduce((function(e,t){var a,r=n(t,2),s=r[0],l=r[1];return e[(a=s,a.replace(o,\"-$&\").toLowerCase())]=function(e){return\"number\"==typeof e||!Number.isNaN(Number(e))}(l)?function(e,t){return i.has(e)?t:t+\"px\"}(s,l):l,e}),{})}},89216:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.Portal=void 0;var i=n(55285);t.Portal=function(e){var t=e.container,n=e.children;return t?i.createPortal(n,t):null}},32766:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createReRenderEffect=void 0;var i=n(55285),o=n(37221);t.createReRenderEffect=function(){return new o.InfernoEffect((function(){i.rerender()}),[])}},66900:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},56064:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasTemplate=t.renderTemplate=void 0;var i=n(55285),o=n(87456);t.renderTemplate=function(e,t,n){setTimeout((function(){i.render(o.createElement(e,t),function(e){var t,n;return(null===(t=e.container)||void 0===t?void 0:t.get(0))||(null===(n=e.item)||void 0===n?void 0:n.get(0))}(t))}),0)};t.hasTemplate=function(e,t,n){var i=t[e];return!!i&&\"string\"!=typeof i}},87456:function(e,t,n){n.r(t),n.d(t,{createElement:function(){return l}});var i=n(55285);function o(e){return null==e}function a(e){return\"string\"==typeof e}function r(e){return void 0===e}var s={onComponentDidMount:1,onComponentDidUpdate:1,onComponentShouldUpdate:1,onComponentWillMount:1,onComponentWillUnmount:1,onComponentWillUpdate:1};function l(e,t,n){var l,u,d=arguments,c=null,h=null,f=null,p=0,g=arguments.length-2;if(1===g)l=n;else if(g>1)for(l=[];g-- >0;)l[g]=d[g+2];if(!a(e)){if(p=2,r(l)||(t||(t={}),t.children=l),!o(t))for(var m in u={},t)\"key\"===m?h=t.key:\"ref\"===m?c=t.ref:1===s[m]?(c||(c={}),c[m]=t[m]):u[m]=t[m];return(0,i.createComponentVNode)(p,e,u,h,c)}if(p=(0,i.getFlagsForElementVnode)(e),!o(t))for(var _ in u={},t)\"className\"===_||\"class\"===_?f=t[_]:\"key\"===_?h=t.key:\"children\"===_&&r(l)?l=t.children:\"ref\"===_?c=t.ref:(\"contenteditable\"===_&&(p|=4096),u[_]=t[_]);return 8192&p?(0,i.createFragment)(1===g?[l]:l,0,h):(0,i.createVNode)(p,e,f,l,0,u,h,c)}},55285:function(e,t,n){n.r(t),n.d(t,{Component:function(){return ot},EMPTY_OBJ:function(){return f},Fragment:function(){return p},_CI:function(){return Le},_HI:function(){return W},_M:function(){return Fe},_MCCC:function(){return je},_ME:function(){return Ne},_MFCC:function(){return We},_MP:function(){return Re},_MR:function(){return De},_RFC:function(){return Ve},__render:function(){return Ke},createComponentVNode:function(){return M},createFragment:function(){return B},createPortal:function(){return H},createRef:function(){return Ce},createRenderer:function(){return Ye},createTextVNode:function(){return R},createVNode:function(){return P},directClone:function(){return V},findDOMfromVNode:function(){return x},forwardRef:function(){return Se},getFlagsForElementVnode:function(){return z},linkEvent:function(){return c},normalizeProps:function(){return L},options:function(){return D},render:function(){return Ze},rerender:function(){return nt},version:function(){return at}});var i=Array.isArray;function o(e){var t=typeof e;return\"string\"===t||\"number\"===t}function a(e){return null==e}function r(e){return null===e||!1===e||!0===e||void 0===e}function s(e){return\"function\"==typeof e}function l(e){return\"string\"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var i in e)n[i]=e[i];if(t)for(var o in t)n[o]=t[o];return n}function c(e,t){return s(t)?{data:e,event:t}:null}function h(e){return!u(e)&&\"object\"==typeof e}var f={},p=\"$F\";function g(e){return e.substr(2).toLowerCase()}function m(e,t){e.appendChild(t)}function _(e,t,n){u(n)?m(e,t):e.insertBefore(t,n)}function v(e,t){e.removeChild(t)}function y(e){for(var t=0;t<e.length;t++)e[t]()}function b(e,t,n){var i=e.children;return 4&n?i.$LI:8192&n?2===e.childFlags?i:i[t?0:i.length-1]:i}function x(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=b(e,t,n)}return null}function w(e,t){do{var n=e.flags;if(2033&n)return void v(t,e.dom);var i=e.children;if(4&n&&(e=i.$LI),8&n&&(e=i),8192&n){if(2!==e.childFlags){for(var o=0,a=i.length;o<a;++o)w(i[o],t);return}e=i}}while(e)}function C(e,t,n){do{var i=e.flags;if(2033&i)return void _(t,e.dom,n);var o=e.children;if(4&i&&(e=o.$LI),8&i&&(e=o),8192&i){if(2!==e.childFlags){for(var a=0,r=o.length;a<r;++a)C(o[a],t,n);return}e=o}}while(e)}function S(e,t,n){return e.constructor.getDerivedStateFromProps?d(n,e.constructor.getDerivedStateFromProps(t,n)):n}var k={v:!1},D={componentComparator:null,createVNode:null,renderComplete:null};function I(e,t){e.textContent=t}function T(e,t){return h(e)&&e.event===t.event&&e.data===t.data}function E(e,t){for(var n in t)void 0===e[n]&&(e[n]=t[n]);return e}function O(e,t){return!!s(e)&&(e(t),!0)}function A(e,t,n,i,o,a,r,s){this.childFlags=e,this.children=t,this.className=n,this.dom=null,this.flags=i,this.key=void 0===o?null:o,this.props=void 0===a?null:a,this.ref=void 0===r?null:r,this.type=s}function P(e,t,n,i,o,a,r,s){var l=void 0===o?1:o,u=new A(l,i,n,e,r,a,s,t);return D.createVNode&&D.createVNode(u),0===l&&j(u,u.children),u}function M(e,t,n,i,o){var r=new A(1,null,null,e=function(e,t){return 12&e?e:t.prototype&&t.prototype.render?4:t.render?32776:8}(e,t),i,function(e,t,n){var i=(32768&e?t.render:t).defaultProps;return a(i)?n:a(n)?d(i,null):E(n,i)}(e,t,n),function(e,t,n){if(4&e)return n;var i=(32768&e?t.render:t).defaultHooks;return a(i)?n:a(n)?i:E(n,i)}(e,t,o),t);return D.createVNode&&D.createVNode(r),r}function R(e,t){return new A(1,a(e)||!0===e||!1===e?\"\":e,null,16,t,null,null,null)}function B(e,t,n){var i=P(8192,8192,null,e,t,null,n,null);switch(i.childFlags){case 1:i.children=F(),i.childFlags=2;break;case 16:i.children=[R(e)],i.childFlags=4}return i}function L(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&j(e,t.children),void 0!==t.className&&(a(e.className)&&(e.className=t.className||null),t.className=void 0)),void 0!==t.key&&(e.key=t.key,t.key=void 0),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=void 0)}return e}function V(e){var t=-16385&e.flags,n=e.props;if(14&t&&!u(n)){var i=n;for(var o in n={},i)n[o]=i[o]}return 0==(8192&t)?new A(e.childFlags,e.children,e.className,t,e.key,n,e.ref,e.type):function(e){var t=e.children,n=e.childFlags;return B(2===n?V(t):t.map(V),n,e.key)}(e)}function F(){return R(\"\",null)}function H(e,t){var n=W(e);return P(1024,1024,null,n,0,null,n.key,t)}function N(e,t,n,a){for(var s=e.length;n<s;n++){var d=e[n];if(!r(d)){var c=a+\"$\"+n;if(i(d))N(d,t,0,c);else{if(o(d))d=R(d,c);else{var h=d.key,f=l(h)&&\"$\"===h[0];(81920&d.flags||f)&&(d=V(d)),d.flags|=65536,f?h.substring(0,a.length)!==a&&(d.key=a+h):u(h)?d.key=c:d.key=a+h}t.push(d)}}}}function z(e){switch(e){case\"svg\":return 32;case\"input\":return 64;case\"select\":return 256;case\"textarea\":return 128;case p:return 8192;default:return 1}}function j(e,t){var n,a=1;if(r(t))n=t;else if(o(t))a=16,n=t;else if(i(t)){for(var s=t.length,d=0;d<s;++d){var c=t[d];if(r(c)||i(c)){n=n||t.slice(0,d),N(t,n,d,\"\");break}if(o(c))(n=n||t.slice(0,d)).push(R(c,\"$\"+d));else{var h=c.key,f=(81920&c.flags)>0,p=u(h),g=l(h)&&\"$\"===h[0];f||p||g?(n=n||t.slice(0,d),(f||g)&&(c=V(c)),(p||g)&&(c.key=\"$\"+d),n.push(c)):n&&n.push(c),c.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=V(t)),a=2;return e.children=n,e.childFlags=a,e}function W(e){return r(e)||o(e)?R(e,null):i(e)?B(e,0,null):16384&e.flags?V(e):e}var G=\"http://www.w3.org/1999/xlink\",q=\"http://www.w3.org/XML/1998/namespace\",$={\"xlink:actuate\":G,\"xlink:arcrole\":G,\"xlink:href\":G,\"xlink:role\":G,\"xlink:show\":G,\"xlink:title\":G,\"xlink:type\":G,\"xml:base\":q,\"xml:lang\":q,\"xml:space\":q};function U(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var K=U(0),Z=U(null),Y=U(!0);function X(e,t){var n=t.$EV;return n||(n=t.$EV=U(null)),n[e]||1==++K[e]&&(Z[e]=function(e){var t=\"onClick\"===e||\"onDblClick\"===e?function(e){return function(t){0===t.button?J(t,!0,e,ie(t)):t.stopPropagation()}}(e):function(e){return function(t){J(t,!1,e,ie(t))}}(e);return document.addEventListener(g(e),t),t}(e)),n}function Q(e,t){var n=t.$EV;n&&n[e]&&(0==--K[e]&&(document.removeEventListener(g(e),Z[e]),Z[e]=null),n[e]=null)}function J(e,t,n,i){var o=function(e){return s(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&o.disabled)return;var a=o.$EV;if(a){var r=a[n];if(r&&(i.dom=o,r.event?r.event(r.data,e):r(e),e.cancelBubble))return}o=o.parentNode}while(!u(o))}function ee(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function te(){return this.defaultPrevented}function ne(){return this.cancelBubble}function ie(e){var t={dom:document};return e.isDefaultPrevented=te,e.isPropagationStopped=ne,e.stopPropagation=ee,Object.defineProperty(e,\"currentTarget\",{configurable:!0,get:function(){return t.dom}}),t}function oe(e,t,n){if(e[t]){var i=e[t];i.event?i.event(i.data,n):i(n)}else{var o=t.toLowerCase();e[o]&&e[o](n)}}function ae(e,t){var n=function(n){var i=this.$V;if(i){var o=i.props||f,a=i.dom;if(l(e))oe(o,e,n);else for(var r=0;r<e.length;++r)oe(o,e[r],n);if(s(t)){var u=this.$V,d=u.props||f;t(d,a,!1,u)}}};return Object.defineProperty(n,\"wrapped\",{configurable:!1,enumerable:!1,value:!0,writable:!1}),n}function re(e,t,n){var i=\"$\"+t,o=e[i];if(o){if(o[1].wrapped)return;e.removeEventListener(o[0],o[1]),e[i]=null}s(n)&&(e.addEventListener(t,n),e[i]=[t,n])}function se(e){return\"checkbox\"===e||\"radio\"===e}var le=ae(\"onInput\",ce),ue=ae([\"onClick\",\"onChange\"],ce);function de(e){e.stopPropagation()}function ce(e,t){var n=e.type,i=e.value,o=e.checked,r=e.multiple,s=e.defaultValue,l=!a(i);n&&n!==t.type&&t.setAttribute(\"type\",n),a(r)||r===t.multiple||(t.multiple=r),a(s)||l||(t.defaultValue=s+\"\"),se(n)?(l&&(t.value=i),a(o)||(t.checked=o)):l&&t.value!==i?(t.defaultValue=i,t.value=i):a(o)||(t.checked=o)}function he(e,t){if(\"option\"===e.type)!function(e,t){var n=e.props||f,o=e.dom;o.value=n.value,n.value===t||i(t)&&-1!==t.indexOf(n.value)?o.selected=!0:a(t)&&a(n.selected)||(o.selected=n.selected||!1)}(e,t);else{var n=e.children,o=e.flags;if(4&o)he(n.$LI,t);else if(8&o)he(n,t);else if(2===e.childFlags)he(n,t);else if(12&e.childFlags)for(var r=0,s=n.length;r<s;++r)he(n[r],t)}}de.wrapped=!0;var fe=ae(\"onChange\",pe);function pe(e,t,n,i){var o=Boolean(e.multiple);a(e.multiple)||o===t.multiple||(t.multiple=o);var r=e.selectedIndex;if(-1===r&&(t.selectedIndex=-1),1!==i.childFlags){var s=e.value;\"number\"==typeof r&&r>-1&&t.options[r]&&(s=t.options[r].value),n&&a(s)&&(s=e.defaultValue),he(i,s)}}var ge,me,_e=ae(\"onInput\",ye),ve=ae(\"onChange\");function ye(e,t,n){var i=e.value,o=t.value;if(a(i)){if(n){var r=e.defaultValue;a(r)||r===o||(t.defaultValue=r,t.value=r)}}else o!==i&&(t.defaultValue=i,t.value=i)}function be(e,t,n,i,o,a){64&e?ce(i,n):256&e?pe(i,n,o,t):128&e&&ye(i,n,o),a&&(n.$V=t)}function xe(e,t,n){64&e?function(e,t){se(t.type)?(re(e,\"change\",ue),re(e,\"click\",de)):re(e,\"input\",le)}(t,n):256&e?function(e){re(e,\"change\",fe)}(t):128&e&&function(e,t){re(e,\"input\",_e),t.onChange&&re(e,\"change\",ve)}(t,n)}function we(e){return e.type&&se(e.type)?!a(e.checked):!a(e.value)}function Ce(){return{current:null}}function Se(e){return{render:e}}function ke(e){e&&!O(e,null)&&e.current&&(e.current=null)}function De(e,t,n){e&&(s(e)||void 0!==e.current)&&n.push((function(){O(e,t)||void 0===e.current||(e.current=t)}))}function Ie(e,t){Te(e),w(e,t)}function Te(e){var t,n=e.flags,i=e.children;if(481&n){t=e.ref;var o=e.props;ke(t);var r=e.childFlags;if(!u(o))for(var l=Object.keys(o),d=0,c=l.length;d<c;d++){var h=l[d];Y[h]&&Q(h,e.dom)}12&r?Ee(i):2===r&&Te(i)}else i&&(4&n?(s(i.componentWillUnmount)&&i.componentWillUnmount(),ke(e.ref),i.$UN=!0,Te(i.$LI)):8&n?(!a(t=e.ref)&&s(t.onComponentWillUnmount)&&t.onComponentWillUnmount(x(e,!0),e.props||f),Te(i)):1024&n?Ie(i,e.ref):8192&n&&12&e.childFlags&&Ee(i))}function Ee(e){for(var t=0,n=e.length;t<n;++t)Te(e[t])}function Oe(e){e.textContent=\"\"}function Ae(e,t,n){Ee(n),8192&t.flags?w(t,e):Oe(e)}function Pe(e,t,n,i){var o=e&&e.__html||\"\",r=t&&t.__html||\"\";o!==r&&(a(r)||function(e,t){var n=document.createElement(\"i\");return n.innerHTML=t,n.innerHTML===e.innerHTML}(i,r)||(u(n)||(12&n.childFlags?Ee(n.children):2===n.childFlags&&Te(n.children),n.children=null,n.childFlags=1),i.innerHTML=r))}function Me(e,t,n,i,o,r,u){switch(e){case\"children\":case\"childrenType\":case\"className\":case\"defaultValue\":case\"key\":case\"multiple\":case\"ref\":case\"selectedIndex\":break;case\"autoFocus\":i.autofocus=!!n;break;case\"allowfullscreen\":case\"autoplay\":case\"capture\":case\"checked\":case\"controls\":case\"default\":case\"disabled\":case\"hidden\":case\"indeterminate\":case\"loop\":case\"muted\":case\"novalidate\":case\"open\":case\"readOnly\":case\"required\":case\"reversed\":case\"scoped\":case\"seamless\":case\"selected\":i[e]=!!n;break;case\"defaultChecked\":case\"value\":case\"volume\":if(r&&\"value\"===e)break;var d=a(n)?\"\":n;i[e]!==d&&(i[e]=d);break;case\"style\":!function(e,t,n){if(a(t))n.removeAttribute(\"style\");else{var i,o,r=n.style;if(l(t))r.cssText=t;else if(a(e)||l(e))for(i in t)o=t[i],r.setProperty(i,o);else{for(i in t)(o=t[i])!==e[i]&&r.setProperty(i,o);for(i in e)a(t[i])&&r.removeProperty(i)}}}(t,n,i);break;case\"dangerouslySetInnerHTML\":Pe(t,n,u,i);break;default:Y[e]?function(e,t,n,i){if(s(n))X(e,i)[e]=n;else if(h(n)){if(T(t,n))return;X(e,i)[e]=n}else Q(e,i)}(e,t,n,i):111===e.charCodeAt(0)&&110===e.charCodeAt(1)?function(e,t,n,i){if(h(n)){if(T(t,n))return;n=function(e){var t=e.event;return function(n){t(e.data,n)}}(n)}re(i,g(e),n)}(e,t,n,i):a(n)?i.removeAttribute(e):o&&$[e]?i.setAttributeNS($[e],e,n):i.setAttribute(e,n)}}function Re(e,t,n,i,o){var a=!1,r=(448&t)>0;for(var s in r&&(a=we(n))&&xe(t,i,n),n)Me(s,null,n[s],i,o,a,null);r&&be(t,e,i,n,!0,a)}function Be(e,t,n){var i=W(e.render(t,e.state,n)),o=n;return s(e.getChildContext)&&(o=d(n,e.getChildContext())),e.$CX=o,i}function Le(e,t,n,i,o,a){var r=new t(n,i),l=r.$N=Boolean(t.getDerivedStateFromProps||r.getSnapshotBeforeUpdate);if(r.$SVG=o,r.$L=a,e.children=r,r.$BS=!1,r.context=i,r.props===f&&(r.props=n),l)r.state=S(r,n,r.state);else if(s(r.componentWillMount)){r.$BR=!0,r.componentWillMount();var d=r.$PS;if(!u(d)){var c=r.state;if(u(c))r.state=d;else for(var h in d)c[h]=d[h];r.$PS=null}r.$BR=!1}return r.$LI=Be(r,n,i),r}function Ve(e,t){var n=e.props||f;return 32768&e.flags?e.type.render(n,e.ref,t):e.type(n,t)}function Fe(e,t,n,i,o,a){var r=e.flags|=16384;481&r?Ne(e,t,n,i,o,a):4&r?function(e,t,n,i,o,a){var r=Le(e,e.type,e.props||f,n,i,a);Fe(r.$LI,t,r.$CX,i,o,a),je(e.ref,r,a)}(e,t,n,i,o,a):8&r?(!function(e,t,n,i,o,a){Fe(e.children=W(Ve(e,n)),t,n,i,o,a)}(e,t,n,i,o,a),We(e,a)):512&r||16&r?He(e,t,o):8192&r?function(e,t,n,i,o,a){var r=e.children,s=e.childFlags;12&s&&0===r.length&&(s=e.childFlags=2,r=e.children=F());2===s?Fe(r,n,t,i,o,a):ze(r,n,t,i,o,a)}(e,n,t,i,o,a):1024&r&&function(e,t,n,i,o){Fe(e.children,e.ref,t,!1,null,o);var a=F();He(a,n,i),e.dom=a.dom}(e,n,t,o,a)}function He(e,t,n){var i=e.dom=document.createTextNode(e.children);u(t)||_(t,i,n)}function Ne(e,t,n,i,o,r){var s=e.flags,l=e.props,d=e.className,c=e.childFlags,h=e.dom=function(e,t){return t?document.createElementNS(\"http://www.w3.org/2000/svg\",e):document.createElement(e)}(e.type,i=i||(32&s)>0),f=e.children;if(a(d)||\"\"===d||(i?h.setAttribute(\"class\",d):h.className=d),16===c)I(h,f);else if(1!==c){var p=i&&\"foreignObject\"!==e.type;2===c?(16384&f.flags&&(e.children=f=V(f)),Fe(f,h,n,p,null,r)):8!==c&&4!==c||ze(f,h,n,p,null,r)}u(t)||_(t,h,o),u(l)||Re(e,s,l,h,i),De(e.ref,h,r)}function ze(e,t,n,i,o,a){for(var r=0;r<e.length;++r){var s=e[r];16384&s.flags&&(e[r]=s=V(s)),Fe(s,t,n,i,o,a)}}function je(e,t,n){De(e,t,n),s(t.componentDidMount)&&n.push(function(e){return function(){e.componentDidMount()}}(t))}function We(e,t){var n=e.ref;a(n)||(O(n.onComponentWillMount,e.props||f),s(n.onComponentDidMount)&&t.push(function(e,t){return function(){e.onComponentDidMount(x(t,!0),t.props||f)}}(n,e)))}function Ge(e,t,n,i,o,l,c){var h=t.flags|=16384;e.flags!==h||e.type!==t.type||e.key!==t.key||2048&h?16384&e.flags?function(e,t,n,i,o,a){Te(e),0!=(t.flags&e.flags&2033)?(Fe(t,null,i,o,null,a),function(e,t,n){e.replaceChild(t,n)}(n,t.dom,e.dom)):(Fe(t,n,i,o,x(e,!0),a),w(e,n))}(e,t,n,i,o,c):Fe(t,n,i,o,l,c):481&h?function(e,t,n,i,o,r){var s,l=t.dom=e.dom,u=e.props,d=t.props,c=!1,h=!1;if(i=i||(32&o)>0,u!==d){var p=u||f;if((s=d||f)!==f)for(var g in(c=(448&o)>0)&&(h=we(s)),s){var m=p[g],_=s[g];m!==_&&Me(g,m,_,l,i,h,e)}if(p!==f)for(var v in p)a(s[v])&&!a(p[v])&&Me(v,p[v],null,l,i,h,e)}var y=t.children,b=t.className;e.className!==b&&(a(b)?l.removeAttribute(\"class\"):i?l.setAttribute(\"class\",b):l.className=b);4096&o?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,y):qe(e.childFlags,t.childFlags,e.children,y,l,n,i&&\"foreignObject\"!==t.type,null,e,r);c&&be(o,t,l,s,!1,h);var x=t.ref,w=e.ref;w!==x&&(ke(w),De(x,l,r))}(e,t,i,o,h,c):4&h?function(e,t,n,i,o,a,r){var l=t.children=e.children;if(u(l))return;l.$L=r;var c=t.props||f,h=t.ref,p=e.ref,g=l.state;if(!l.$N){if(s(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(c,i),l.$UN)return;l.$BR=!1}u(l.$PS)||(g=d(g,l.$PS),l.$PS=null)}$e(l,g,c,n,i,o,!1,a,r),p!==h&&(ke(p),De(h,l,r))}(e,t,n,i,o,l,c):8&h?function(e,t,n,i,o,r,l){var u=!0,d=t.props||f,c=t.ref,h=e.props,p=!a(c),g=e.children;p&&s(c.onComponentShouldUpdate)&&(u=c.onComponentShouldUpdate(h,d));if(!1!==u){p&&s(c.onComponentWillUpdate)&&c.onComponentWillUpdate(h,d);var m=W(Ve(t,i));Ge(g,m,n,i,o,r,l),t.children=m,p&&s(c.onComponentDidUpdate)&&c.onComponentDidUpdate(h,d)}else t.children=g}(e,t,n,i,o,l,c):16&h?function(e,t){var n=t.children,i=t.dom=e.dom;n!==e.children&&(i.nodeValue=n)}(e,t):512&h?t.dom=e.dom:8192&h?function(e,t,n,i,o,a){var r=e.children,s=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===s.length&&(u=t.childFlags=2,s=t.children=F());var c=0!=(2&u);if(12&l){var h=r.length;(8&l&&8&u||c||!c&&s.length>h)&&(d=x(r[h-1],!1).nextSibling)}qe(l,u,r,s,n,i,o,d,e,a)}(e,t,n,i,o,c):function(e,t,n,i){var o=e.ref,a=t.ref,s=t.children;if(qe(e.childFlags,t.childFlags,e.children,s,o,n,!1,null,e,i),t.dom=e.dom,o!==a&&!r(s)){var l=s.dom;v(o,l),m(a,l)}}(e,t,i,c)}function qe(e,t,n,i,o,a,r,s,l,u){switch(e){case 2:switch(t){case 2:Ge(n,i,o,a,r,s,u);break;case 1:Ie(n,o);break;case 16:Te(n),I(o,i);break;default:!function(e,t,n,i,o,a){Te(e),ze(t,n,i,o,x(e,!0),a),w(e,n)}(n,i,o,a,r,u)}break;case 1:switch(t){case 2:Fe(i,o,a,r,s,u);break;case 1:break;case 16:I(o,i);break;default:ze(i,o,a,r,s,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(\"\"!==e?n.firstChild.nodeValue=t:I(n,t))}(n,i,o);break;case 2:Oe(o),Fe(i,o,a,r,s,u);break;case 1:Oe(o);break;default:Oe(o),ze(i,o,a,r,s,u)}break;default:switch(t){case 16:Ee(n),I(o,i);break;case 2:Ae(o,l,n),Fe(i,o,a,r,s,u);break;case 1:Ae(o,l,n);break;default:var d=0|n.length,c=0|i.length;0===d?c>0&&ze(i,o,a,r,s,u):0===c?Ae(o,l,n):8===t&&8===e?function(e,t,n,i,o,a,r,s,l,u){var d,c,h=a-1,f=r-1,p=0,g=e[p],m=t[p];e:{for(;g.key===m.key;){if(16384&m.flags&&(t[p]=m=V(m)),Ge(g,m,n,i,o,s,u),e[p]=m,++p>h||p>f)break e;g=e[p],m=t[p]}for(g=e[h],m=t[f];g.key===m.key;){if(16384&m.flags&&(t[f]=m=V(m)),Ge(g,m,n,i,o,s,u),e[h]=m,h--,f--,p>h||p>f)break e;g=e[h],m=t[f]}}if(p>h){if(p<=f)for(c=(d=f+1)<r?x(t[d],!0):s;p<=f;)16384&(m=t[p]).flags&&(t[p]=m=V(m)),++p,Fe(m,n,i,o,c,u)}else if(p>f)for(;p<=h;)Ie(e[p++],n);else!function(e,t,n,i,o,a,r,s,l,u,d,c,h){var f,p,g,m=0,_=s,v=s,y=a-s+1,b=r-s+1,w=new Int32Array(b+1),S=y===i,k=!1,D=0,I=0;if(o<4||(y|b)<32)for(m=_;m<=a;++m)if(f=e[m],I<b){for(s=v;s<=r;s++)if(p=t[s],f.key===p.key){if(w[s-v]=m+1,S)for(S=!1;_<m;)Ie(e[_++],l);D>s?k=!0:D=s,16384&p.flags&&(t[s]=p=V(p)),Ge(f,p,l,n,u,d,h),++I;break}!S&&s>r&&Ie(f,l)}else S||Ie(f,l);else{var T={};for(m=v;m<=r;++m)T[t[m].key]=m;for(m=_;m<=a;++m)if(f=e[m],I<b)if(void 0!==(s=T[f.key])){if(S)for(S=!1;m>_;)Ie(e[_++],l);w[s-v]=m+1,D>s?k=!0:D=s,16384&(p=t[s]).flags&&(t[s]=p=V(p)),Ge(f,p,l,n,u,d,h),++I}else S||Ie(f,l);else S||Ie(f,l)}if(S)Ae(l,c,e),ze(t,l,n,u,d,h);else if(k){var E=function(e){var t=0,n=0,i=0,o=0,a=0,r=0,s=0,l=e.length;l>Ue&&(Ue=l,ge=new Int32Array(l),me=new Int32Array(l));for(;n<l;++n)if(0!==(t=e[n])){if(i=ge[o],e[i]<t){me[n]=i,ge[++o]=n;continue}for(a=0,r=o;a<r;)e[ge[s=a+r>>1]]<t?a=s+1:r=s;t<e[ge[a]]&&(a>0&&(me[n]=ge[a-1]),ge[a]=n)}a=o+1;var u=new Int32Array(a);r=ge[a-1];for(;a-- >0;)u[a]=r,r=me[r],ge[a]=0;return u}(w);for(s=E.length-1,m=b-1;m>=0;m--)0===w[m]?(16384&(p=t[D=m+v]).flags&&(t[D]=p=V(p)),Fe(p,l,n,u,(g=D+1)<o?x(t[g],!0):d,h)):s<0||m!==E[s]?C(p=t[D=m+v],l,(g=D+1)<o?x(t[g],!0):d):s--}else if(I!==b)for(m=b-1;m>=0;m--)0===w[m]&&(16384&(p=t[D=m+v]).flags&&(t[D]=p=V(p)),Fe(p,l,n,u,(g=D+1)<o?x(t[g],!0):d,h))}(e,t,i,a,r,h,f,p,n,o,s,l,u)}(n,i,o,a,r,d,c,s,l,u):function(e,t,n,i,o,a,r,s,l){for(var u,d,c=a>r?r:a,h=0;h<c;++h)u=t[h],d=e[h],16384&u.flags&&(u=t[h]=V(u)),Ge(d,u,n,i,o,s,l),e[h]=u;if(a<r)for(h=c;h<r;++h)16384&(u=t[h]).flags&&(u=t[h]=V(u)),Fe(u,n,i,o,s,l);else if(a>r)for(h=c;h<a;++h)Ie(e[h],n)}(n,i,o,a,r,d,c,s,u)}}}function $e(e,t,n,i,o,a,r,l,u){var c=e.state,h=e.props,f=Boolean(e.$N),p=s(e.shouldComponentUpdate);if(f&&(t=S(e,n,t!==c?d(c,t):t)),r||!p||p&&e.shouldComponentUpdate(n,t,o)){!f&&s(e.componentWillUpdate)&&e.componentWillUpdate(n,t,o),e.props=n,e.state=t,e.context=o;var g=null,m=Be(e,n,o);f&&s(e.getSnapshotBeforeUpdate)&&(g=e.getSnapshotBeforeUpdate(h,c)),Ge(e.$LI,m,i,e.$CX,a,l,u),e.$LI=m,s(e.componentDidUpdate)&&function(e,t,n,i,o){o.push((function(){e.componentDidUpdate(t,n,i)}))}(e,h,c,g,u)}else e.props=n,e.state=t,e.context=o}var Ue=0;function Ke(e,t,n,i){var o=[],r=t.$V;k.v=!0,a(r)?a(e)||(16384&e.flags&&(e=V(e)),Fe(e,t,i,!1,null,o),t.$V=e,r=e):a(e)?(Ie(r,t),t.$V=null):(16384&e.flags&&(e=V(e)),Ge(r,e,t,i,!1,null,o),r=t.$V=e),y(o),k.v=!1,s(n)&&n(),s(D.renderComplete)&&D.renderComplete(r,t)}function Ze(e,t,n,i){void 0===n&&(n=null),void 0===i&&(i=f),Ke(e,t,n,i)}function Ye(e){return function(t,n,i,o){e||(e=t),Ze(n,e,i,o)}}\"undefined\"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Xe=[],Qe=\"undefined\"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Je=!1;function et(e,t,n,i){var o=e.$PS;if(s(t)&&(t=t(o?d(e.state,o):e.state,e.props,e.context)),a(o))e.$PS=t;else for(var r in t)o[r]=t[r];if(e.$BR)s(n)&&e.$L.push(n.bind(e));else{if(!k.v&&0===Xe.length)return it(e,i),void(s(n)&&n.call(e));if(-1===Xe.indexOf(e)&&Xe.push(e),i&&(e.$F=!0),Je||(Je=!0,Qe(nt)),s(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function tt(e){for(var t=e.$QU,n=0;n<t.length;++n)t[n].call(e);e.$QU=null}function nt(){var e;for(Je=!1;e=Xe.shift();)if(!e.$UN){var t=e.$F;e.$F=!1,it(e,t),e.$QU&&tt(e)}}function it(e,t){if(t||!e.$BR){var n=e.$PS;e.$PS=null;var i=[];k.v=!0,$e(e,d(e.state,n),e.props,x(e.$LI,!0).parentNode,e.context,e.$SVG,t,null,i),y(i),k.v=!1}else e.state=e.$PS,e.$PS=null}var ot=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.$F=!1,this.props=e||f,this.context=t||f};ot.prototype.forceUpdate=function(e){this.$UN||et(this,{},e,!0)},ot.prototype.setState=function(e,t){this.$UN||this.$BS||et(this,e,t,!1)},ot.prototype.render=function(e,t,n){return null};var at=\"7.4.11\"},46464:function(e,t,n){n.r(t),n.d(t,{Frequency:function(){return j},RRule:function(){return We},RRuleSet:function(){return Ye},Weekday:function(){return o},datetime:function(){return _},rrulestr:function(){return $e}});var i=[\"MO\",\"TU\",\"WE\",\"TH\",\"FR\",\"SA\",\"SU\"],o=function(){function e(e,t){if(0===t)throw new Error(\"Can't create weekday with n == 0\");this.weekday=e,this.n=t}return e.fromStr=function(t){return new e(i.indexOf(t))},e.prototype.nth=function(t){return this.n===t?this:new e(this.weekday,t)},e.prototype.equals=function(e){return this.weekday===e.weekday&&this.n===e.n},e.prototype.toString=function(){var e=i[this.weekday];return this.n&&(e=(this.n>0?\"+\":\"\")+String(this.n)+e),e},e.prototype.getJsWeekday=function(){return 6===this.weekday?0:this.weekday+1},e}(),a=function(e){return null!=e},r=function(e){return\"number\"==typeof e},s=function(e){return\"string\"==typeof e&&i.includes(e)},l=Array.isArray,u=function(e,t){void 0===t&&(t=e),1===arguments.length&&(t=e,e=0);for(var n=[],i=e;i<t;i++)n.push(i);return n},d=function(e,t){var n=0,i=[];if(l(e))for(;n<t;n++)i[n]=[].concat(e);else for(;n<t;n++)i[n]=e;return i};function c(e,t,n){void 0===n&&(n=\" \");var i=String(e);return t>>=0,i.length>t?String(i):((t-=i.length)>n.length&&(n+=d(n,t/n.length)),n.slice(0,t)+String(i))}var h=function(e,t){var n=e%t;return n*t<0?n+t:n},f=function(e,t){return{div:Math.floor(e/t),mod:h(e,t)}},p=function(e){return!a(e)||0===e.length},g=function(e){return!p(e)},m=function(e,t){return g(e)&&-1!==e.indexOf(t)},_=function(e,t,n,i,o,a){return void 0===i&&(i=0),void 0===o&&(o=0),void 0===a&&(a=0),new Date(Date.UTC(e,t-1,n,i,o,a))},v=[31,28,31,30,31,30,31,31,30,31,30,31],y=_(1970,1,1),b=[6,0,1,2,3,4,5],x=function(e){return e%4==0&&e%100!=0||e%400==0},w=function(e){return e instanceof Date},C=function(e){return w(e)&&!isNaN(e.getTime())},S=function(e){return 60*e.getTimezoneOffset()*1e3},k=function(e){return n=y,i=(t=e).getTime()-S(t)-(n.getTime()-S(n)),Math.round(i/864e5);var t,n,i},D=function(e){return new Date(y.getTime()+864e5*e)},I=function(e){var t=e.getUTCMonth();return 1===t&&x(e.getUTCFullYear())?29:v[t]},T=function(e){return b[e.getUTCDay()]},E=function(e,t){var n=_(e,t+1,1);return[T(n),I(n)]},O=function(e,t){return t=t||e,new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))},A=function(e){return new Date(e.getTime())},P=function(e){for(var t=[],n=0;n<e.length;n++)t.push(A(e[n]));return t},M=function(e){e.sort((function(e,t){return e.getTime()-t.getTime()}))},R=function(e,t){void 0===t&&(t=!0);var n=new Date(e);return[c(n.getUTCFullYear().toString(),4,\"0\"),c(n.getUTCMonth()+1,2,\"0\"),c(n.getUTCDate(),2,\"0\"),\"T\",c(n.getUTCHours(),2,\"0\"),c(n.getUTCMinutes(),2,\"0\"),c(n.getUTCSeconds(),2,\"0\"),t?\"Z\":\"\"].join(\"\")},B=function(e){var t=/^(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2})Z?)?$/.exec(e);if(!t)throw new Error(\"Invalid UNTIL value: \".concat(e));return new Date(Date.UTC(parseInt(t[1],10),parseInt(t[2],10)-1,parseInt(t[3],10),parseInt(t[5],10)||0,parseInt(t[6],10)||0,parseInt(t[7],10)||0))},L=function(e,t){return e.toLocaleString(\"sv-SE\",{timeZone:t}).replace(\" \",\"T\")+\"Z\"},V=function(){function e(e,t){this.minDate=null,this.maxDate=null,this._result=[],this.total=0,this.method=e,this.args=t,\"between\"===e?(this.maxDate=t.inc?t.before:new Date(t.before.getTime()-1),this.minDate=t.inc?t.after:new Date(t.after.getTime()+1)):\"before\"===e?this.maxDate=t.inc?t.dt:new Date(t.dt.getTime()-1):\"after\"===e&&(this.minDate=t.inc?t.dt:new Date(t.dt.getTime()+1))}return e.prototype.accept=function(e){++this.total;var t=this.minDate&&e<this.minDate,n=this.maxDate&&e>this.maxDate;if(\"between\"===this.method){if(t)return!0;if(n)return!1}else if(\"before\"===this.method){if(n)return!1}else if(\"after\"===this.method)return!!t||(this.add(e),!1);return this.add(e)},e.prototype.add=function(e){return this._result.push(e),!0},e.prototype.getValue=function(){var e=this._result;switch(this.method){case\"all\":case\"between\":return e;case\"before\":case\"after\":default:return e.length?e[e.length-1]:null}},e.prototype.clone=function(){return new e(this.method,this.args)},e}(),F=function(e,t){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function H(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function n(){this.constructor=e}F(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var N=function(){return(N=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.create;function z(e,t,n){if(n||2===arguments.length)for(var i,o=0,a=t.length;o<a;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;var j,W=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o.iterator=i,o}return H(t,e),t.prototype.add=function(e){return!!this.iterator(e,this._result.length)&&(this._result.push(e),!0)},t}(V),G={dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],tokens:{SKIP:/^[ \\r\\n\\t]+|^\\.$/,number:/^[1-9][0-9]*/,numberAsText:/^(one|two|three)/i,every:/^every/i,\"day(s)\":/^days?/i,\"weekday(s)\":/^weekdays?/i,\"week(s)\":/^weeks?/i,\"hour(s)\":/^hours?/i,\"minute(s)\":/^minutes?/i,\"month(s)\":/^months?/i,\"year(s)\":/^years?/i,on:/^(on|in)/i,at:/^(at)/i,the:/^the/i,first:/^first/i,second:/^second/i,third:/^third/i,nth:/^([1-9][0-9]*)(\\.|th|nd|rd|st)/i,last:/^last/i,for:/^for/i,\"time(s)\":/^times?/i,until:/^(un)?til/i,monday:/^mo(n(day)?)?/i,tuesday:/^tu(e(s(day)?)?)?/i,wednesday:/^we(d(n(esday)?)?)?/i,thursday:/^th(u(r(sday)?)?)?/i,friday:/^fr(i(day)?)?/i,saturday:/^sa(t(urday)?)?/i,sunday:/^su(n(day)?)?/i,january:/^jan(uary)?/i,february:/^feb(ruary)?/i,march:/^mar(ch)?/i,april:/^apr(il)?/i,may:/^may/i,june:/^june?/i,july:/^july?/i,august:/^aug(ust)?/i,september:/^sep(t(ember)?)?/i,october:/^oct(ober)?/i,november:/^nov(ember)?/i,december:/^dec(ember)?/i,comma:/^(,\\s*|(and|or)\\s*)+/i}},q=function(e,t){return-1!==e.indexOf(t)},$=function(e){return e.toString()},U=function(e,t,n){return\"\".concat(t,\" \").concat(n,\", \").concat(e)},K=function(){function e(e,t,n,i){if(void 0===t&&(t=$),void 0===n&&(n=G),void 0===i&&(i=U),this.text=[],this.language=n||G,this.gettext=t,this.dateFormatter=i,this.rrule=e,this.options=e.options,this.origOptions=e.origOptions,this.origOptions.bymonthday){var o=[].concat(this.options.bymonthday),r=[].concat(this.options.bynmonthday);o.sort((function(e,t){return e-t})),r.sort((function(e,t){return t-e})),this.bymonthday=o.concat(r),this.bymonthday.length||(this.bymonthday=null)}if(a(this.origOptions.byweekday)){var s=l(this.origOptions.byweekday)?this.origOptions.byweekday:[this.origOptions.byweekday],u=String(s);this.byweekday={allWeeks:s.filter((function(e){return!e.n})),someWeeks:s.filter((function(e){return Boolean(e.n)})),isWeekdays:-1!==u.indexOf(\"MO\")&&-1!==u.indexOf(\"TU\")&&-1!==u.indexOf(\"WE\")&&-1!==u.indexOf(\"TH\")&&-1!==u.indexOf(\"FR\")&&-1===u.indexOf(\"SA\")&&-1===u.indexOf(\"SU\"),isEveryDay:-1!==u.indexOf(\"MO\")&&-1!==u.indexOf(\"TU\")&&-1!==u.indexOf(\"WE\")&&-1!==u.indexOf(\"TH\")&&-1!==u.indexOf(\"FR\")&&-1!==u.indexOf(\"SA\")&&-1!==u.indexOf(\"SU\")};var d=function(e,t){return e.weekday-t.weekday};this.byweekday.allWeeks.sort(d),this.byweekday.someWeeks.sort(d),this.byweekday.allWeeks.length||(this.byweekday.allWeeks=null),this.byweekday.someWeeks.length||(this.byweekday.someWeeks=null)}else this.byweekday=null}return e.isFullyConvertible=function(t){if(!(t.options.freq in e.IMPLEMENTED))return!1;if(t.origOptions.until&&t.origOptions.count)return!1;for(var n in t.origOptions){if(q([\"dtstart\",\"wkst\",\"freq\"],n))return!0;if(!q(e.IMPLEMENTED[t.options.freq],n))return!1}return!0},e.prototype.isFullyConvertible=function(){return e.isFullyConvertible(this.rrule)},e.prototype.toString=function(){var t=this.gettext;if(!(this.options.freq in e.IMPLEMENTED))return t(\"RRule error: Unable to fully convert this rrule to text\");if(this.text=[t(\"every\")],this[We.FREQUENCIES[this.options.freq]](),this.options.until){this.add(t(\"until\"));var n=this.options.until;this.add(this.dateFormatter(n.getUTCFullYear(),this.language.monthNames[n.getUTCMonth()],n.getUTCDate()))}else this.options.count&&this.add(t(\"for\")).add(this.options.count.toString()).add(this.plural(this.options.count)?t(\"times\"):t(\"time\"));return this.isFullyConvertible()||this.add(t(\"(~ approximate)\")),this.text.join(\"\")},e.prototype.HOURLY=function(){var e=this.gettext;1!==this.options.interval&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e(\"hours\"):e(\"hour\"))},e.prototype.MINUTELY=function(){var e=this.gettext;1!==this.options.interval&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e(\"minutes\"):e(\"minute\"))},e.prototype.DAILY=function(){var e=this.gettext;1!==this.options.interval&&this.add(this.options.interval.toString()),this.byweekday&&this.byweekday.isWeekdays?this.add(this.plural(this.options.interval)?e(\"weekdays\"):e(\"weekday\")):this.add(this.plural(this.options.interval)?e(\"days\"):e(\"day\")),this.origOptions.bymonth&&(this.add(e(\"in\")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday?this._byweekday():this.origOptions.byhour&&this._byhour()},e.prototype.WEEKLY=function(){var e=this.gettext;1!==this.options.interval&&this.add(this.options.interval.toString()).add(this.plural(this.options.interval)?e(\"weeks\"):e(\"week\")),this.byweekday&&this.byweekday.isWeekdays?1===this.options.interval?this.add(this.plural(this.options.interval)?e(\"weekdays\"):e(\"weekday\")):this.add(e(\"on\")).add(e(\"weekdays\")):this.byweekday&&this.byweekday.isEveryDay?this.add(this.plural(this.options.interval)?e(\"days\"):e(\"day\")):(1===this.options.interval&&this.add(e(\"week\")),this.origOptions.bymonth&&(this.add(e(\"in\")),this._bymonth()),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday())},e.prototype.MONTHLY=function(){var e=this.gettext;this.origOptions.bymonth?(1!==this.options.interval&&(this.add(this.options.interval.toString()).add(e(\"months\")),this.plural(this.options.interval)&&this.add(e(\"in\"))),this._bymonth()):(1!==this.options.interval&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e(\"months\"):e(\"month\"))),this.bymonthday?this._bymonthday():this.byweekday&&this.byweekday.isWeekdays?this.add(e(\"on\")).add(e(\"weekdays\")):this.byweekday&&this._byweekday()},e.prototype.YEARLY=function(){var e=this.gettext;this.origOptions.bymonth?(1!==this.options.interval&&(this.add(this.options.interval.toString()),this.add(e(\"years\"))),this._bymonth()):(1!==this.options.interval&&this.add(this.options.interval.toString()),this.add(this.plural(this.options.interval)?e(\"years\"):e(\"year\"))),this.bymonthday?this._bymonthday():this.byweekday&&this._byweekday(),this.options.byyearday&&this.add(e(\"on the\")).add(this.list(this.options.byyearday,this.nth,e(\"and\"))).add(e(\"day\")),this.options.byweekno&&this.add(e(\"in\")).add(this.plural(this.options.byweekno.length)?e(\"weeks\"):e(\"week\")).add(this.list(this.options.byweekno,void 0,e(\"and\")))},e.prototype._bymonthday=function(){var e=this.gettext;this.byweekday&&this.byweekday.allWeeks?this.add(e(\"on\")).add(this.list(this.byweekday.allWeeks,this.weekdaytext,e(\"or\"))).add(e(\"the\")).add(this.list(this.bymonthday,this.nth,e(\"or\"))):this.add(e(\"on the\")).add(this.list(this.bymonthday,this.nth,e(\"and\")))},e.prototype._byweekday=function(){var e=this.gettext;this.byweekday.allWeeks&&!this.byweekday.isWeekdays&&this.add(e(\"on\")).add(this.list(this.byweekday.allWeeks,this.weekdaytext)),this.byweekday.someWeeks&&(this.byweekday.allWeeks&&this.add(e(\"and\")),this.add(e(\"on the\")).add(this.list(this.byweekday.someWeeks,this.weekdaytext,e(\"and\"))))},e.prototype._byhour=function(){var e=this.gettext;this.add(e(\"at\")).add(this.list(this.origOptions.byhour,void 0,e(\"and\")))},e.prototype._bymonth=function(){this.add(this.list(this.options.bymonth,this.monthtext,this.gettext(\"and\")))},e.prototype.nth=function(e){var t;e=parseInt(e.toString(),10);var n=this.gettext;if(-1===e)return n(\"last\");var i=Math.abs(e);switch(i){case 1:case 21:case 31:t=i+n(\"st\");break;case 2:case 22:t=i+n(\"nd\");break;case 3:case 23:t=i+n(\"rd\");break;default:t=i+n(\"th\")}return e<0?t+\" \"+n(\"last\"):t},e.prototype.monthtext=function(e){return this.language.monthNames[e-1]},e.prototype.weekdaytext=function(e){var t=r(e)?(e+1)%7:e.getJsWeekday();return(e.n?this.nth(e.n)+\" \":\"\")+this.language.dayNames[t]},e.prototype.plural=function(e){return e%100!=1},e.prototype.add=function(e){return this.text.push(\" \"),this.text.push(e),this},e.prototype.list=function(e,t,n,i){var o=this;void 0===i&&(i=\",\"),l(e)||(e=[e]);t=t||function(e){return e.toString()};var a=function(e){return t&&t.call(o,e)};return n?function(e,t,n){for(var i=\"\",o=0;o<e.length;o++)0!==o&&(o===e.length-1?i+=\" \"+n+\" \":i+=t+\" \"),i+=e[o];return i}(e.map(a),i,n):e.map(a).join(i+\" \")},e}(),Z=function(){function e(e){this.done=!0,this.rules=e}return e.prototype.start=function(e){return this.text=e,this.done=!1,this.nextSymbol()},e.prototype.isDone=function(){return this.done&&null===this.symbol},e.prototype.nextSymbol=function(){var e,t;this.symbol=null,this.value=null;do{if(this.done)return!1;for(var n in e=null,this.rules){var i=this.rules[n].exec(this.text);i&&(null===e||i[0].length>e[0].length)&&(e=i,t=n)}if(null!=e&&(this.text=this.text.substr(e[0].length),\"\"===this.text&&(this.done=!0)),null==e)return this.done=!0,this.symbol=null,void(this.value=null)}while(\"SKIP\"===t);return this.symbol=t,this.value=e,!0},e.prototype.accept=function(e){if(this.symbol===e){if(this.value){var t=this.value;return this.nextSymbol(),t}return this.nextSymbol(),!0}return!1},e.prototype.acceptNumber=function(){return this.accept(\"number\")},e.prototype.expect=function(e){if(this.accept(e))return!0;throw new Error(\"expected \"+e+\" but found \"+this.symbol)},e}();function Y(e,t){void 0===t&&(t=G);var n={},i=new Z(t.tokens);return i.start(e)?(function(){i.expect(\"every\");var e=i.acceptNumber();e&&(n.interval=parseInt(e[0],10));if(i.isDone())throw new Error(\"Unexpected end\");switch(i.symbol){case\"day(s)\":n.freq=We.DAILY,i.nextSymbol()&&(!function(){if(!i.accept(\"at\"))return;do{var e=i.acceptNumber();if(!e)throw new Error(\"Unexpected symbol \"+i.symbol+\", expected hour\");for(n.byhour=[parseInt(e[0],10)];i.accept(\"comma\");){if(!(e=i.acceptNumber()))throw new Error(\"Unexpected symbol \"+i.symbol+\"; expected hour\");n.byhour.push(parseInt(e[0],10))}}while(i.accept(\"comma\")||i.accept(\"at\"))}(),l());break;case\"weekday(s)\":n.freq=We.WEEKLY,n.byweekday=[We.MO,We.TU,We.WE,We.TH,We.FR],i.nextSymbol(),l();break;case\"week(s)\":n.freq=We.WEEKLY,i.nextSymbol()&&(o(),l());break;case\"hour(s)\":n.freq=We.HOURLY,i.nextSymbol()&&(o(),l());break;case\"minute(s)\":n.freq=We.MINUTELY,i.nextSymbol()&&(o(),l());break;case\"month(s)\":n.freq=We.MONTHLY,i.nextSymbol()&&(o(),l());break;case\"year(s)\":n.freq=We.YEARLY,i.nextSymbol()&&(o(),l());break;case\"monday\":case\"tuesday\":case\"wednesday\":case\"thursday\":case\"friday\":case\"saturday\":case\"sunday\":n.freq=We.WEEKLY;var t=i.symbol.substr(0,2).toUpperCase();if(n.byweekday=[We[t]],!i.nextSymbol())return;for(;i.accept(\"comma\");){if(i.isDone())throw new Error(\"Unexpected end\");var u=r();if(!u)throw new Error(\"Unexpected symbol \"+i.symbol+\", expected weekday\");n.byweekday.push(We[u]),i.nextSymbol()}!function(){i.accept(\"on\"),i.accept(\"the\");var e=s();if(!e)return;n.bymonthday=[e],i.nextSymbol();for(;i.accept(\"comma\");){if(!(e=s()))throw new Error(\"Unexpected symbol \"+i.symbol+\"; expected monthday\");n.bymonthday.push(e),i.nextSymbol()}}(),l();break;case\"january\":case\"february\":case\"march\":case\"april\":case\"may\":case\"june\":case\"july\":case\"august\":case\"september\":case\"october\":case\"november\":case\"december\":if(n.freq=We.YEARLY,n.bymonth=[a()],!i.nextSymbol())return;for(;i.accept(\"comma\");){if(i.isDone())throw new Error(\"Unexpected end\");var d=a();if(!d)throw new Error(\"Unexpected symbol \"+i.symbol+\", expected month\");n.bymonth.push(d),i.nextSymbol()}o(),l();break;default:throw new Error(\"Unknown symbol\")}}(),n):null;function o(){var e=i.accept(\"on\"),t=i.accept(\"the\");if(e||t)do{var o=s(),l=r(),u=a();if(o)l?(i.nextSymbol(),n.byweekday||(n.byweekday=[]),n.byweekday.push(We[l].nth(o))):(n.bymonthday||(n.bymonthday=[]),n.bymonthday.push(o),i.accept(\"day(s)\"));else if(l)i.nextSymbol(),n.byweekday||(n.byweekday=[]),n.byweekday.push(We[l]);else if(\"weekday(s)\"===i.symbol)i.nextSymbol(),n.byweekday||(n.byweekday=[We.MO,We.TU,We.WE,We.TH,We.FR]);else if(\"week(s)\"===i.symbol){i.nextSymbol();var d=i.acceptNumber();if(!d)throw new Error(\"Unexpected symbol \"+i.symbol+\", expected week number\");for(n.byweekno=[parseInt(d[0],10)];i.accept(\"comma\");){if(!(d=i.acceptNumber()))throw new Error(\"Unexpected symbol \"+i.symbol+\"; expected monthday\");n.byweekno.push(parseInt(d[0],10))}}else{if(!u)return;i.nextSymbol(),n.bymonth||(n.bymonth=[]),n.bymonth.push(u)}}while(i.accept(\"comma\")||i.accept(\"the\")||i.accept(\"on\"))}function a(){switch(i.symbol){case\"january\":return 1;case\"february\":return 2;case\"march\":return 3;case\"april\":return 4;case\"may\":return 5;case\"june\":return 6;case\"july\":return 7;case\"august\":return 8;case\"september\":return 9;case\"october\":return 10;case\"november\":return 11;case\"december\":return 12;default:return!1}}function r(){switch(i.symbol){case\"monday\":case\"tuesday\":case\"wednesday\":case\"thursday\":case\"friday\":case\"saturday\":case\"sunday\":return i.symbol.substr(0,2).toUpperCase();default:return!1}}function s(){switch(i.symbol){case\"last\":return i.nextSymbol(),-1;case\"first\":return i.nextSymbol(),1;case\"second\":return i.nextSymbol(),i.accept(\"last\")?-2:2;case\"third\":return i.nextSymbol(),i.accept(\"last\")?-3:3;case\"nth\":var e=parseInt(i.value[1],10);if(e<-366||e>366)throw new Error(\"Nth out of range: \"+e);return i.nextSymbol(),i.accept(\"last\")?-e:e;default:return!1}}function l(){if(\"until\"===i.symbol){var e=Date.parse(i.text);if(!e)throw new Error(\"Cannot parse until date:\"+i.text);n.until=new Date(e)}else i.accept(\"for\")&&(n.count=parseInt(i.value[0],10),i.expect(\"number\"))}}function X(e){return e<j.HOURLY}!function(e){e[e.YEARLY=0]=\"YEARLY\",e[e.MONTHLY=1]=\"MONTHLY\",e[e.WEEKLY=2]=\"WEEKLY\",e[e.DAILY=3]=\"DAILY\",e[e.HOURLY=4]=\"HOURLY\",e[e.MINUTELY=5]=\"MINUTELY\",e[e.SECONDLY=6]=\"SECONDLY\"}(j||(j={}));\n/* !\n * rrule.js - Library for working with recurrence rules for calendar dates.\n * https://github.com/jakubroztocil/rrule\n *\n * Copyright 2010, Jakub Roztocil and Lars Schoning\n * Licenced under the BSD licence.\n * https://github.com/jakubroztocil/rrule/blob/master/LICENCE\n *\n */\nvar Q=function(e,t){return void 0===t&&(t=G),new We(Y(e,t)||void 0)},J=[\"count\",\"until\",\"interval\",\"byweekday\",\"bymonthday\",\"bymonth\"];K.IMPLEMENTED=[],K.IMPLEMENTED[j.HOURLY]=J,K.IMPLEMENTED[j.MINUTELY]=J,K.IMPLEMENTED[j.DAILY]=[\"byhour\"].concat(J),K.IMPLEMENTED[j.WEEKLY]=J,K.IMPLEMENTED[j.MONTHLY]=J,K.IMPLEMENTED[j.YEARLY]=[\"byweekno\",\"byyearday\"].concat(J);var ee=K.isFullyConvertible,te=function(){function e(e,t,n,i){this.hour=e,this.minute=t,this.second=n,this.millisecond=i||0}return e.prototype.getHours=function(){return this.hour},e.prototype.getMinutes=function(){return this.minute},e.prototype.getSeconds=function(){return this.second},e.prototype.getMilliseconds=function(){return this.millisecond},e.prototype.getTime=function(){return 1e3*(60*this.hour*60+60*this.minute+this.second)+this.millisecond},e}(),ne=function(e){function t(t,n,i,o,a,r,s){var l=e.call(this,o,a,r,s)||this;return l.year=t,l.month=n,l.day=i,l}return H(t,e),t.fromDate=function(e){return new this(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.valueOf()%1e3)},t.prototype.getWeekday=function(){return T(new Date(this.getTime()))},t.prototype.getTime=function(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond)).getTime()},t.prototype.getDay=function(){return this.day},t.prototype.getMonth=function(){return this.month},t.prototype.getYear=function(){return this.year},t.prototype.addYears=function(e){this.year+=e},t.prototype.addMonths=function(e){if(this.month+=e,this.month>12){var t=Math.floor(this.month/12),n=h(this.month,12);this.month=n,this.year+=t,0===this.month&&(this.month=12,--this.year)}},t.prototype.addWeekly=function(e,t){t>this.getWeekday()?this.day+=-(this.getWeekday()+1+(6-t))+7*e:this.day+=-(this.getWeekday()-t)+7*e,this.fixDay()},t.prototype.addDaily=function(e){this.day+=e,this.fixDay()},t.prototype.addHours=function(e,t,n){for(t&&(this.hour+=Math.floor((23-this.hour)/e)*e);;){this.hour+=e;var i=f(this.hour,24),o=i.div,a=i.mod;if(o&&(this.hour=a,this.addDaily(o)),p(n)||m(n,this.hour))break}},t.prototype.addMinutes=function(e,t,n,i){for(t&&(this.minute+=Math.floor((1439-(60*this.hour+this.minute))/e)*e);;){this.minute+=e;var o=f(this.minute,60),a=o.div,r=o.mod;if(a&&(this.minute=r,this.addHours(a,!1,n)),(p(n)||m(n,this.hour))&&(p(i)||m(i,this.minute)))break}},t.prototype.addSeconds=function(e,t,n,i,o){for(t&&(this.second+=Math.floor((86399-(3600*this.hour+60*this.minute+this.second))/e)*e);;){this.second+=e;var a=f(this.second,60),r=a.div,s=a.mod;if(r&&(this.second=s,this.addMinutes(r,!1,n,i)),(p(n)||m(n,this.hour))&&(p(i)||m(i,this.minute))&&(p(o)||m(o,this.second)))break}},t.prototype.fixDay=function(){if(!(this.day<=28)){var e=E(this.year,this.month-1)[1];if(!(this.day<=e))for(;this.day>e;){if(this.day-=e,++this.month,13===this.month&&(this.month=1,++this.year,this.year>9999))return;e=E(this.year,this.month-1)[1]}}},t.prototype.add=function(e,t){var n=e.freq,i=e.interval,o=e.wkst,a=e.byhour,r=e.byminute,s=e.bysecond;switch(n){case j.YEARLY:return this.addYears(i);case j.MONTHLY:return this.addMonths(i);case j.WEEKLY:return this.addWeekly(i,o);case j.DAILY:return this.addDaily(i);case j.HOURLY:return this.addHours(i,t,a);case j.MINUTELY:return this.addMinutes(i,t,a,r);case j.SECONDLY:return this.addSeconds(i,t,a,r,s)}},t}(te);function ie(e){for(var t=[],n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];m(je,o)||t.push(o),w(e[o])&&!C(e[o])&&t.push(o)}if(t.length)throw new Error(\"Invalid options: \"+t.join(\", \"));return N({},e)}function oe(e){var t=N(N({},ze),ie(e));if(a(t.byeaster)&&(t.freq=We.YEARLY),!a(t.freq)||!We.FREQUENCIES[t.freq])throw new Error(\"Invalid frequency: \".concat(t.freq,\" \").concat(e.freq));if(t.dtstart||(t.dtstart=new Date((new Date).setMilliseconds(0))),a(t.wkst)?r(t.wkst)||(t.wkst=t.wkst.weekday):t.wkst=We.MO.weekday,a(t.bysetpos)){r(t.bysetpos)&&(t.bysetpos=[t.bysetpos]);for(var n=0;n<t.bysetpos.length;n++){if(0===(d=t.bysetpos[n])||!(d>=-366&&d<=366))throw new Error(\"bysetpos must be between 1 and 366, or between -366 and -1\")}}if(!(Boolean(t.byweekno)||g(t.byweekno)||g(t.byyearday)||Boolean(t.bymonthday)||g(t.bymonthday)||a(t.byweekday)||a(t.byeaster)))switch(t.freq){case We.YEARLY:t.bymonth||(t.bymonth=t.dtstart.getUTCMonth()+1),t.bymonthday=t.dtstart.getUTCDate();break;case We.MONTHLY:t.bymonthday=t.dtstart.getUTCDate();break;case We.WEEKLY:t.byweekday=[T(t.dtstart)]}if(a(t.bymonth)&&!l(t.bymonth)&&(t.bymonth=[t.bymonth]),a(t.byyearday)&&!l(t.byyearday)&&r(t.byyearday)&&(t.byyearday=[t.byyearday]),a(t.bymonthday))if(l(t.bymonthday)){var i=[],u=[];for(n=0;n<t.bymonthday.length;n++){var d;(d=t.bymonthday[n])>0?i.push(d):d<0&&u.push(d)}t.bymonthday=i,t.bynmonthday=u}else t.bymonthday<0?(t.bynmonthday=[t.bymonthday],t.bymonthday=[]):(t.bynmonthday=[],t.bymonthday=[t.bymonthday]);else t.bymonthday=[],t.bynmonthday=[];if(a(t.byweekno)&&!l(t.byweekno)&&(t.byweekno=[t.byweekno]),a(t.byweekday))if(r(t.byweekday))t.byweekday=[t.byweekday],t.bynweekday=null;else if(s(t.byweekday))t.byweekday=[o.fromStr(t.byweekday).weekday],t.bynweekday=null;else if(t.byweekday instanceof o)!t.byweekday.n||t.freq>We.MONTHLY?(t.byweekday=[t.byweekday.weekday],t.bynweekday=null):(t.bynweekday=[[t.byweekday.weekday,t.byweekday.n]],t.byweekday=null);else{var c=[],h=[];for(n=0;n<t.byweekday.length;n++){var f=t.byweekday[n];r(f)?c.push(f):s(f)?c.push(o.fromStr(f).weekday):!f.n||t.freq>We.MONTHLY?c.push(f.weekday):h.push([f.weekday,f.n])}t.byweekday=g(c)?c:null,t.bynweekday=g(h)?h:null}else t.bynweekday=null;return a(t.byhour)?r(t.byhour)&&(t.byhour=[t.byhour]):t.byhour=t.freq<We.HOURLY?[t.dtstart.getUTCHours()]:null,a(t.byminute)?r(t.byminute)&&(t.byminute=[t.byminute]):t.byminute=t.freq<We.MINUTELY?[t.dtstart.getUTCMinutes()]:null,a(t.bysecond)?r(t.bysecond)&&(t.bysecond=[t.bysecond]):t.bysecond=t.freq<We.SECONDLY?[t.dtstart.getUTCSeconds()]:null,{parsedOptions:t}}function ae(e){var t=e.split(\"\\n\").map(se).filter((function(e){return null!==e}));return N(N({},t[0]),t[1])}function re(e){var t={},n=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\\s]+)/i.exec(e);if(!n)return t;var i=n[1],o=n[2];return i&&(t.tzid=i),t.dtstart=B(o),t}function se(e){if(!(e=e.replace(/^\\s+|\\s+$/,\"\")).length)return null;var t=/^([A-Z]+?)[:;]/.exec(e.toUpperCase());if(!t)return le(e);var n=t[1];switch(n.toUpperCase()){case\"RRULE\":case\"EXRULE\":return le(e);case\"DTSTART\":return re(e);default:throw new Error(\"Unsupported RFC prop \".concat(n,\" in \").concat(e))}}function le(e){var t=re(e.replace(/^RRULE:/i,\"\"));return e.replace(/^(?:RRULE|EXRULE):/i,\"\").split(\";\").forEach((function(n){var i=n.split(\"=\"),a=i[0],r=i[1];switch(a.toUpperCase()){case\"FREQ\":t.freq=j[r.toUpperCase()];break;case\"WKST\":t.wkst=Ne[r.toUpperCase()];break;case\"COUNT\":case\"INTERVAL\":case\"BYSETPOS\":case\"BYMONTH\":case\"BYMONTHDAY\":case\"BYYEARDAY\":case\"BYWEEKNO\":case\"BYHOUR\":case\"BYMINUTE\":case\"BYSECOND\":var s=function(e){if(-1!==e.indexOf(\",\")){return e.split(\",\").map(ue)}return ue(e)}(r),l=a.toLowerCase();t[l]=s;break;case\"BYWEEKDAY\":case\"BYDAY\":t.byweekday=function(e){return e.split(\",\").map((function(e){if(2===e.length)return Ne[e];var t=e.match(/^([+-]?\\d{1,2})([A-Z]{2})$/);if(!t||t.length<3)throw new SyntaxError(\"Invalid weekday string: \".concat(e));var n=Number(t[1]),i=t[2],a=Ne[i].weekday;return new o(a,n)}))}(r);break;case\"DTSTART\":case\"TZID\":var u=re(e);t.tzid=u.tzid,t.dtstart=u.dtstart;break;case\"UNTIL\":t.until=B(r);break;case\"BYEASTER\":t.byeaster=Number(r);break;default:throw new Error(\"Unknown RRULE property '\"+a+\"'\")}})),t}function ue(e){return/^[+-]?\\d+$/.test(e)?Number(e):e}var de=function(){function e(e,t){if(isNaN(e.getTime()))throw new RangeError(\"Invalid date passed to DateWithZone\");this.date=e,this.tzid=t}return Object.defineProperty(e.prototype,\"isUTC\",{get:function(){return!this.tzid||\"UTC\"===this.tzid.toUpperCase()},enumerable:!1,configurable:!0}),e.prototype.toString=function(){var e=R(this.date.getTime(),this.isUTC);return this.isUTC?\":\".concat(e):\";TZID=\".concat(this.tzid,\":\").concat(e)},e.prototype.getTime=function(){return this.date.getTime()},e.prototype.rezonedDate=function(){return this.isUTC?this.date:function(e,t){var n=Intl.DateTimeFormat().resolvedOptions().timeZone,i=new Date(L(e,n)),o=new Date(L(e,null!=t?t:\"UTC\")).getTime()-i.getTime();return new Date(e.getTime()-o)}(this.date,this.tzid)},e}();function ce(e){for(var t,n=[],i=\"\",s=Object.keys(e),u=Object.keys(ze),d=0;d<s.length;d++)if(\"tzid\"!==s[d]&&m(u,s[d])){var c=s[d].toUpperCase(),h=e[s[d]],f=\"\";if(a(h)&&(!l(h)||h.length)){switch(c){case\"FREQ\":f=We.FREQUENCIES[e.freq];break;case\"WKST\":f=r(h)?new o(h).toString():h.toString();break;case\"BYWEEKDAY\":c=\"BYDAY\",f=(t=h,l(t)?t:[t]).map((function(e){return e instanceof o?e:l(e)?new o(e[0],e[1]):new o(e)})).toString();break;case\"DTSTART\":i=he(h,e.tzid);break;case\"UNTIL\":f=R(h,!e.tzid);break;default:if(l(h)){for(var p=[],g=0;g<h.length;g++)p[g]=String(h[g]);f=p.toString()}else f=String(h)}f&&n.push([c,f])}}var _=n.map((function(e){var t=e[0],n=e[1];return\"\".concat(t,\"=\").concat(n.toString())})).join(\";\"),v=\"\";return\"\"!==_&&(v=\"RRULE:\".concat(_)),[i,v].filter((function(e){return!!e})).join(\"\\n\")}function he(e,t){return e?\"DTSTART\"+new de(new Date(e),t).toString():\"\"}function fe(e,t){return Array.isArray(e)?!!Array.isArray(t)&&(e.length===t.length&&e.every((function(e,n){return e.getTime()===t[n].getTime()}))):e instanceof Date?t instanceof Date&&e.getTime()===t.getTime():e===t}var pe=function(){function e(){this.all=!1,this.before=[],this.after=[],this.between=[]}return e.prototype._cacheAdd=function(e,t,n){t&&(t=t instanceof Date?A(t):P(t)),\"all\"===e?this.all=t:(n._value=t,this[e].push(n))},e.prototype._cacheGet=function(e,t){var n=!1,i=t?Object.keys(t):[],o=function(e){for(var n=0;n<i.length;n++){var o=i[n];if(!fe(t[o],e[o]))return!0}return!1},a=this[e];if(\"all\"===e)n=this.all;else if(l(a))for(var r=0;r<a.length;r++){var s=a[r];if(!i.length||!o(s)){n=s._value;break}}if(!n&&this.all){var u=new V(e,t);for(r=0;r<this.all.length&&u.accept(this.all[r]);r++);n=u.getValue(),this._cacheAdd(e,n,t)}return l(n)?P(n):n instanceof Date?A(n):n},e}(),ge=z(z(z(z(z(z(z(z(z(z(z(z(z([],d(1,31),!0),d(2,28),!0),d(3,31),!0),d(4,30),!0),d(5,31),!0),d(6,30),!0),d(7,31),!0),d(8,31),!0),d(9,30),!0),d(10,31),!0),d(11,30),!0),d(12,31),!0),d(1,7),!0),me=z(z(z(z(z(z(z(z(z(z(z(z(z([],d(1,31),!0),d(2,29),!0),d(3,31),!0),d(4,30),!0),d(5,31),!0),d(6,30),!0),d(7,31),!0),d(8,31),!0),d(9,30),!0),d(10,31),!0),d(11,30),!0),d(12,31),!0),d(1,7),!0),_e=u(1,29),ve=u(1,30),ye=u(1,31),be=u(1,32),xe=z(z(z(z(z(z(z(z(z(z(z(z(z([],be,!0),ve,!0),be,!0),ye,!0),be,!0),ye,!0),be,!0),be,!0),ye,!0),be,!0),ye,!0),be,!0),be.slice(0,7),!0),we=z(z(z(z(z(z(z(z(z(z(z(z(z([],be,!0),_e,!0),be,!0),ye,!0),be,!0),ye,!0),be,!0),be,!0),ye,!0),be,!0),ye,!0),be,!0),be.slice(0,7),!0),Ce=u(-28,0),Se=u(-29,0),ke=u(-30,0),De=u(-31,0),Ie=z(z(z(z(z(z(z(z(z(z(z(z(z([],De,!0),Se,!0),De,!0),ke,!0),De,!0),ke,!0),De,!0),De,!0),ke,!0),De,!0),ke,!0),De,!0),De.slice(0,7),!0),Te=z(z(z(z(z(z(z(z(z(z(z(z(z([],De,!0),Ce,!0),De,!0),ke,!0),De,!0),ke,!0),De,!0),De,!0),ke,!0),De,!0),ke,!0),De,!0),De.slice(0,7),!0),Ee=[0,31,60,91,121,152,182,213,244,274,305,335,366],Oe=[0,31,59,90,120,151,181,212,243,273,304,334,365],Ae=function(){for(var e=[],t=0;t<55;t++)e=e.concat(u(7));return e}();function Pe(e,t){var n,i,o=_(e,1,1),a=x(e)?366:365,r=x(e+1)?366:365,s=k(o),l=T(o),u=N(N({yearlen:a,nextyearlen:r,yearordinal:s,yearweekday:l},function(e){var t=x(e)?366:365,n=_(e,1,1),i=T(n);if(365===t)return{mmask:ge,mdaymask:we,nmdaymask:Te,wdaymask:Ae.slice(i),mrange:Oe};return{mmask:me,mdaymask:xe,nmdaymask:Ie,wdaymask:Ae.slice(i),mrange:Ee}}(e)),{wnomask:null});if(p(t.byweekno))return u;u.wnomask=d(0,a+7);var c=n=h(7-l+t.wkst,7);c>=4?(c=0,i=u.yearlen+h(l-t.wkst,7)):i=a-c;for(var f=Math.floor(i/7),g=h(i,7),v=Math.floor(f+g/4),y=0;y<t.byweekno.length;y++){var b=t.byweekno[y];if(b<0&&(b+=v+1),b>0&&b<=v){var w=void 0;b>1?(w=c+7*(b-1),c!==n&&(w-=7-n)):w=c;for(var C=0;C<7&&(u.wnomask[w]=1,w++,u.wdaymask[w]!==t.wkst);C++);}}if(m(t.byweekno,1)){w=c+7*v;if(c!==n&&(w-=7-n),w<a)for(y=0;y<7&&(u.wnomask[w]=1,w+=1,u.wdaymask[w]!==t.wkst);y++);}if(c){var S=void 0;if(m(t.byweekno,-1))S=-1;else{var D=T(_(e-1,1,1)),I=h(7-D.valueOf()+t.wkst,7),E=x(e-1)?366:365,O=void 0;I>=4?(I=0,O=E+h(D-t.wkst,7)):O=a-c,S=Math.floor(52+h(O,7)/4)}if(m(t.byweekno,S))for(w=0;w<c;w++)u.wnomask[w]=1}return u}var Me=function(){function e(e){this.options=e}return e.prototype.rebuild=function(e,t){var n=this.options;if(e!==this.lastyear&&(this.yearinfo=Pe(e,n)),g(n.bynweekday)&&(t!==this.lastmonth||e!==this.lastyear)){var i=this.yearinfo,o=i.yearlen,r=i.mrange,s=i.wdaymask;this.monthinfo=function(e,t,n,i,o,a){var r={lastyear:e,lastmonth:t,nwdaymask:[]},s=[];if(a.freq===We.YEARLY)if(p(a.bymonth))s=[[0,n]];else for(var l=0;l<a.bymonth.length;l++)t=a.bymonth[l],s.push(i.slice(t-1,t+1));else a.freq===We.MONTHLY&&(s=[i.slice(t-1,t+1)]);if(p(s))return r;for(r.nwdaymask=d(0,n),l=0;l<s.length;l++)for(var u=s[l],c=u[0],f=u[1]-1,g=0;g<a.bynweekday.length;g++){var m=void 0,_=a.bynweekday[g],v=_[0],y=_[1];y<0?(m=f+7*(y+1),m-=h(o[m]-v,7)):(m=c+7*(y-1),m+=h(7-o[m]+v,7)),c<=m&&m<=f&&(r.nwdaymask[m]=1)}return r}(e,t,o,r,s,n)}a(n.byeaster)&&(this.eastermask=function(e,t){void 0===t&&(t=0);var n=e%19,i=Math.floor(e/100),o=e%100,a=Math.floor(i/4),r=i%4,s=Math.floor((i+8)/25),l=Math.floor((i-s+1)/3),u=Math.floor(19*n+i-a-l+15)%30,d=Math.floor(o/4),c=o%4,h=Math.floor(32+2*r+2*d-u-c)%7,f=Math.floor((n+11*u+22*h)/451),p=Math.floor((u+h-7*f+114)/31),g=(u+h-7*f+114)%31+1,m=Date.UTC(e,p-1,g+t),_=Date.UTC(e,0,1);return[Math.ceil((m-_)/864e5)]}(e,n.byeaster))},Object.defineProperty(e.prototype,\"lastyear\",{get:function(){return this.monthinfo?this.monthinfo.lastyear:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"lastmonth\",{get:function(){return this.monthinfo?this.monthinfo.lastmonth:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"yearlen\",{get:function(){return this.yearinfo.yearlen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"yearordinal\",{get:function(){return this.yearinfo.yearordinal},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mrange\",{get:function(){return this.yearinfo.mrange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wdaymask\",{get:function(){return this.yearinfo.wdaymask},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mmask\",{get:function(){return this.yearinfo.mmask},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wnomask\",{get:function(){return this.yearinfo.wnomask},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"nwdaymask\",{get:function(){return this.monthinfo?this.monthinfo.nwdaymask:[]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"nextyearlen\",{get:function(){return this.yearinfo.nextyearlen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mdaymask\",{get:function(){return this.yearinfo.mdaymask},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"nmdaymask\",{get:function(){return this.yearinfo.nmdaymask},enumerable:!1,configurable:!0}),e.prototype.ydayset=function(){return[u(this.yearlen),0,this.yearlen]},e.prototype.mdayset=function(e,t){for(var n=this.mrange[t-1],i=this.mrange[t],o=d(null,this.yearlen),a=n;a<i;a++)o[a]=a;return[o,n,i]},e.prototype.wdayset=function(e,t,n){for(var i=d(null,this.yearlen+7),o=k(_(e,t,n))-this.yearordinal,a=o,r=0;r<7&&(i[o]=o,++o,this.wdaymask[o]!==this.options.wkst);r++);return[i,a,o]},e.prototype.ddayset=function(e,t,n){var i=d(null,this.yearlen),o=k(_(e,t,n))-this.yearordinal;return i[o]=o,[i,o,o+1]},e.prototype.htimeset=function(e,t,n,i){var o=this,a=[];return this.options.byminute.forEach((function(t){a=a.concat(o.mtimeset(e,t,n,i))})),M(a),a},e.prototype.mtimeset=function(e,t,n,i){var o=this.options.bysecond.map((function(n){return new te(e,t,n,i)}));return M(o),o},e.prototype.stimeset=function(e,t,n,i){return[new te(e,t,n,i)]},e.prototype.getdayset=function(e){switch(e){case j.YEARLY:return this.ydayset.bind(this);case j.MONTHLY:return this.mdayset.bind(this);case j.WEEKLY:return this.wdayset.bind(this);case j.DAILY:default:return this.ddayset.bind(this)}},e.prototype.gettimeset=function(e){switch(e){case j.HOURLY:return this.htimeset.bind(this);case j.MINUTELY:return this.mtimeset.bind(this);case j.SECONDLY:return this.stimeset.bind(this)}},e}();function Re(e,t,n,i,o,r){for(var s=[],l=0;l<e.length;l++){var u=void 0,d=void 0,c=e[l];c<0?(u=Math.floor(c/t.length),d=h(c,t.length)):(u=Math.floor((c-1)/t.length),d=h(c-1,t.length));for(var f=[],p=n;p<i;p++){var g=r[p];a(g)&&f.push(g)}var _=void 0;_=u<0?f.slice(u)[0]:f[u];var v=t[d],y=D(o.yearordinal+_),b=O(y,v);m(s,b)||s.push(b)}return M(s),s}function Be(e,t){var n=t.dtstart,i=t.freq,o=t.interval,r=t.until,s=t.bysetpos,l=t.count;if(0===l||0===o)return Fe(e);var u=ne.fromDate(n),d=new Me(t);d.rebuild(u.year,u.month);for(var c=function(e,t,n){var i=n.freq,o=n.byhour,a=n.byminute,r=n.bysecond;if(X(i))return function(e){var t=e.dtstart.getTime()%1e3;if(!X(e.freq))return[];var n=[];return e.byhour.forEach((function(i){e.byminute.forEach((function(o){e.bysecond.forEach((function(e){n.push(new te(i,o,e,t))}))}))})),n}(n);if(i>=We.HOURLY&&g(o)&&!m(o,t.hour)||i>=We.MINUTELY&&g(a)&&!m(a,t.minute)||i>=We.SECONDLY&&g(r)&&!m(r,t.second))return[];return e.gettimeset(i)(t.hour,t.minute,t.second,t.millisecond)}(d,u,t);;){var h=d.getdayset(i)(u.year,u.month,u.day),f=h[0],p=h[1],_=h[2],v=He(f,p,_,d,t);if(g(s))for(var y=Re(s,c,p,_,d,f),b=0;b<y.length;b++){var x=y[b];if(r&&x>r)return Fe(e);if(x>=n){var w=Ve(x,t);if(!e.accept(w))return Fe(e);if(l&&!--l)return Fe(e)}}else for(b=p;b<_;b++){var C=f[b];if(a(C))for(var S=D(d.yearordinal+C),k=0;k<c.length;k++){var I=c[k];x=O(S,I);if(r&&x>r)return Fe(e);if(x>=n){w=Ve(x,t);if(!e.accept(w))return Fe(e);if(l&&!--l)return Fe(e)}}}if(0===t.interval)return Fe(e);if(u.add(t,v),u.year>9999)return Fe(e);X(i)||(c=d.gettimeset(i)(u.hour,u.minute,u.second,0)),d.rebuild(u.year,u.month)}}function Le(e,t,n){var i=n.bymonth,o=n.byweekno,a=n.byweekday,r=n.byeaster,s=n.bymonthday,l=n.bynmonthday,u=n.byyearday;return g(i)&&!m(i,e.mmask[t])||g(o)&&!e.wnomask[t]||g(a)&&!m(a,e.wdaymask[t])||g(e.nwdaymask)&&!e.nwdaymask[t]||null!==r&&!m(e.eastermask,t)||(g(s)||g(l))&&!m(s,e.mdaymask[t])&&!m(l,e.nmdaymask[t])||g(u)&&(t<e.yearlen&&!m(u,t+1)&&!m(u,-e.yearlen+t)||t>=e.yearlen&&!m(u,t+1-e.yearlen)&&!m(u,-e.nextyearlen+t-e.yearlen))}function Ve(e,t){return new de(e,t.tzid).rezonedDate()}function Fe(e){return e.getValue()}function He(e,t,n,i,o){for(var a=!1,r=t;r<n;r++){var s=e[r];(a=Le(i,s,o))&&(e[s]=null)}return a}var Ne={MO:new o(0),TU:new o(1),WE:new o(2),TH:new o(3),FR:new o(4),SA:new o(5),SU:new o(6)},ze={freq:j.YEARLY,dtstart:null,interval:1,wkst:Ne.MO,count:null,until:null,tzid:null,bysetpos:null,bymonth:null,bymonthday:null,bynmonthday:null,byyearday:null,byweekno:null,byweekday:null,bynweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null},je=Object.keys(ze),We=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t=!1),this._cache=t?null:new pe,this.origOptions=ie(e);var n=oe(e).parsedOptions;this.options=n}return e.parseText=function(e,t){return Y(e,t)},e.fromText=function(e,t){return Q(e,t)},e.fromString=function(t){return new e(e.parseString(t)||void 0)},e.prototype._iter=function(e){return Be(e,this.options)},e.prototype._cacheGet=function(e,t){return!!this._cache&&this._cache._cacheGet(e,t)},e.prototype._cacheAdd=function(e,t,n){if(this._cache)return this._cache._cacheAdd(e,t,n)},e.prototype.all=function(e){if(e)return this._iter(new W(\"all\",{},e));var t=this._cacheGet(\"all\");return!1===t&&(t=this._iter(new V(\"all\",{})),this._cacheAdd(\"all\",t)),t},e.prototype.between=function(e,t,n,i){if(void 0===n&&(n=!1),!C(e)||!C(t))throw new Error(\"Invalid date passed in to RRule.between\");var o={before:t,after:e,inc:n};if(i)return this._iter(new W(\"between\",o,i));var a=this._cacheGet(\"between\",o);return!1===a&&(a=this._iter(new V(\"between\",o)),this._cacheAdd(\"between\",a,o)),a},e.prototype.before=function(e,t){if(void 0===t&&(t=!1),!C(e))throw new Error(\"Invalid date passed in to RRule.before\");var n={dt:e,inc:t},i=this._cacheGet(\"before\",n);return!1===i&&(i=this._iter(new V(\"before\",n)),this._cacheAdd(\"before\",i,n)),i},e.prototype.after=function(e,t){if(void 0===t&&(t=!1),!C(e))throw new Error(\"Invalid date passed in to RRule.after\");var n={dt:e,inc:t},i=this._cacheGet(\"after\",n);return!1===i&&(i=this._iter(new V(\"after\",n)),this._cacheAdd(\"after\",i,n)),i},e.prototype.count=function(){return this.all().length},e.prototype.toString=function(){return ce(this.origOptions)},e.prototype.toText=function(e,t,n){return function(e,t,n,i){return new K(e,t,n,i).toString()}(this,e,t,n)},e.prototype.isFullyConvertibleToText=function(){return ee(this)},e.prototype.clone=function(){return new e(this.origOptions)},e.FREQUENCIES=[\"YEARLY\",\"MONTHLY\",\"WEEKLY\",\"DAILY\",\"HOURLY\",\"MINUTELY\",\"SECONDLY\"],e.YEARLY=j.YEARLY,e.MONTHLY=j.MONTHLY,e.WEEKLY=j.WEEKLY,e.DAILY=j.DAILY,e.HOURLY=j.HOURLY,e.MINUTELY=j.MINUTELY,e.SECONDLY=j.SECONDLY,e.MO=Ne.MO,e.TU=Ne.TU,e.WE=Ne.WE,e.TH=Ne.TH,e.FR=Ne.FR,e.SA=Ne.SA,e.SU=Ne.SU,e.parseString=ae,e.optionsToString=ce,e}();var Ge={dtstart:null,cache:!1,unfold:!1,forceset:!1,compatible:!1,tzid:null};function qe(e,t){var n=[],i=[],o=[],a=[],r=re(e),s=r.dtstart,l=r.tzid;return function(e,t){void 0===t&&(t=!1);if(!(e=e&&e.trim()))throw new Error(\"Invalid empty string\");if(!t)return e.split(/\\s/);var n=e.split(\"\\n\"),i=0;for(;i<n.length;){var o=n[i]=n[i].replace(/\\s+$/g,\"\");o?i>0&&\" \"===o[0]?(n[i-1]+=o.slice(1),n.splice(i,1)):i+=1:n.splice(i,1)}return n}(e,t.unfold).forEach((function(e){var t;if(e){var r=function(e){var t=function(e){if(-1===e.indexOf(\":\"))return{name:\"RRULE\",value:e};var t=(o=e,a=\":\",r=1,s=o.split(a),r?s.slice(0,r).concat([s.slice(r).join(a)]):s),n=t[0],i=t[1];var o,a,r,s;return{name:n,value:i}}(e),n=t.name,i=t.value,o=n.split(\";\");if(!o)throw new Error(\"empty property name\");return{name:o[0].toUpperCase(),parms:o.slice(1),value:i}}(e),s=r.name,u=r.parms,d=r.value;switch(s.toUpperCase()){case\"RRULE\":if(u.length)throw new Error(\"unsupported RRULE parm: \".concat(u.join(\",\")));n.push(ae(e));break;case\"RDATE\":var c=(null!==(t=/RDATE(?:;TZID=([^:=]+))?/i.exec(e))&&void 0!==t?t:[])[1];c&&!l&&(l=c),i=i.concat(Ke(d,u));break;case\"EXRULE\":if(u.length)throw new Error(\"unsupported EXRULE parm: \".concat(u.join(\",\")));o.push(ae(d));break;case\"EXDATE\":a=a.concat(Ke(d,u));break;case\"DTSTART\":break;default:throw new Error(\"unsupported property: \"+s)}}})),{dtstart:s,tzid:l,rrulevals:n,rdatevals:i,exrulevals:o,exdatevals:a}}function $e(e,t){return void 0===t&&(t={}),function(e,t){var n=qe(e,t),i=n.rrulevals,o=n.rdatevals,a=n.exrulevals,r=n.exdatevals,s=n.dtstart,l=n.tzid,u=!1===t.cache;if(t.compatible&&(t.forceset=!0,t.unfold=!0),t.forceset||i.length>1||o.length||a.length||r.length){var d=new Ye(u);return d.dtstart(s),d.tzid(l||void 0),i.forEach((function(e){d.rrule(new We(Ue(e,s,l),u))})),o.forEach((function(e){d.rdate(e)})),a.forEach((function(e){d.exrule(new We(Ue(e,s,l),u))})),r.forEach((function(e){d.exdate(e)})),t.compatible&&t.dtstart&&d.rdate(s),d}var c=i[0]||{};return new We(Ue(c,c.dtstart||t.dtstart||s,c.tzid||t.tzid||l),u)}(e,function(e){var t=[],n=Object.keys(e),i=Object.keys(Ge);if(n.forEach((function(e){m(i,e)||t.push(e)})),t.length)throw new Error(\"Invalid options: \"+t.join(\", \"));return N(N({},Ge),e)}(t))}function Ue(e,t,n){return N(N({},e),{dtstart:t,tzid:n})}function Ke(e,t){return function(e){e.forEach((function(e){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(e))throw new Error(\"unsupported RDATE/EXDATE parm: \"+e)}))}(t),e.split(\",\").map((function(e){return B(e)}))}function Ze(e){var t=this;return function(n){if(void 0!==n&&(t[\"_\".concat(e)]=n),void 0!==t[\"_\".concat(e)])return t[\"_\".concat(e)];for(var i=0;i<t._rrule.length;i++){var o=t._rrule[i].origOptions[e];if(o)return o}}}var Ye=function(e){function t(t){void 0===t&&(t=!1);var n=e.call(this,{},t)||this;return n.dtstart=Ze.apply(n,[\"dtstart\"]),n.tzid=Ze.apply(n,[\"tzid\"]),n._rrule=[],n._rdate=[],n._exrule=[],n._exdate=[],n}return H(t,e),t.prototype._iter=function(e){return function(e,t,n,i,o,a){var r={},s=e.accept;function l(e,t){n.forEach((function(n){n.between(e,t,!0).forEach((function(e){r[Number(e)]=!0}))}))}o.forEach((function(e){var t=new de(e,a).rezonedDate();r[Number(t)]=!0})),e.accept=function(e){var t=Number(e);return isNaN(t)?s.call(this,e):!(!r[t]&&(l(new Date(t-1),new Date(t+1)),!r[t]))||(r[t]=!0,s.call(this,e))},\"between\"===e.method&&(l(e.args.after,e.args.before),e.accept=function(e){var t=Number(e);return!!r[t]||(r[t]=!0,s.call(this,e))});for(var u=0;u<i.length;u++){var d=new de(i[u],a).rezonedDate();if(!e.accept(new Date(d.getTime())))break}t.forEach((function(t){Be(e,t.options)}));var c=e._result;switch(M(c),e.method){case\"all\":case\"between\":return c;case\"before\":return c.length&&c[c.length-1]||null;case\"after\":default:return c.length&&c[0]||null}}(e,this._rrule,this._exrule,this._rdate,this._exdate,this.tzid())},t.prototype.rrule=function(e){Xe(e,this._rrule)},t.prototype.exrule=function(e){Xe(e,this._exrule)},t.prototype.rdate=function(e){Qe(e,this._rdate)},t.prototype.exdate=function(e){Qe(e,this._exdate)},t.prototype.rrules=function(){return this._rrule.map((function(e){return $e(e.toString())}))},t.prototype.exrules=function(){return this._exrule.map((function(e){return $e(e.toString())}))},t.prototype.rdates=function(){return this._rdate.map((function(e){return new Date(e.getTime())}))},t.prototype.exdates=function(){return this._exdate.map((function(e){return new Date(e.getTime())}))},t.prototype.valueOf=function(){var e=[];return!this._rrule.length&&this._dtstart&&(e=e.concat(ce({dtstart:this._dtstart}))),this._rrule.forEach((function(t){e=e.concat(t.toString().split(\"\\n\"))})),this._exrule.forEach((function(t){e=e.concat(t.toString().split(\"\\n\").map((function(e){return e.replace(/^RRULE:/,\"EXRULE:\")})).filter((function(e){return!/^DTSTART/.test(e)})))})),this._rdate.length&&e.push(Je(\"RDATE\",this._rdate,this.tzid())),this._exdate.length&&e.push(Je(\"EXDATE\",this._exdate,this.tzid())),e},t.prototype.toString=function(){return this.valueOf().join(\"\\n\")},t.prototype.clone=function(){var e=new t(!!this._cache);return this._rrule.forEach((function(t){return e.rrule(t.clone())})),this._exrule.forEach((function(t){return e.exrule(t.clone())})),this._rdate.forEach((function(t){return e.rdate(new Date(t.getTime()))})),this._exdate.forEach((function(t){return e.exdate(new Date(t.getTime()))})),e},t}(We);function Xe(e,t){if(!(e instanceof We))throw new TypeError(String(e)+\" is not RRule instance\");m(t.map(String),String(e))||t.push(e)}function Qe(e,t){if(!(e instanceof Date))throw new TypeError(String(e)+\" is not Date instance\");m(t.map(Number),Number(e))||(t.push(e),M(t))}function Je(e,t,n){var i=!n||\"UTC\"===n.toUpperCase(),o=i?\"\".concat(e,\":\"):\"\".concat(e,\";TZID=\").concat(n,\":\"),a=t.map((function(e){return R(e.valueOf(),i)})).join(\",\");return\"\".concat(o).concat(a)}},27353:function(e){e.exports=window.DevExpress.Gantt},9549:function(e){e.exports=window.DevExpress.Quill},63472:function(e){e.exports=window.DevExpress.diagram},71272:function(e){e.exports=window.Globalize},97405:function(e){e.exports=window.JSZip},42552:function(e){e.exports=window.TurndownService},62387:function(e){e.exports=window.angular},96073:function(e){e.exports=window.jQuery},76130:function(e){e.exports=window.ko},4848:function(e){e.exports=window.showdown}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var a=t[i]={exports:{}};return e[i].call(a.exports,a,a.exports,n),a.exports}n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};n(16354)}();"
  },
  {
    "path": "addon/chrome/content/lib/js/go.js",
    "content": "/*\n * GoJS v2.2.9 JavaScript Library for HTML Diagrams, https://gojs.net\n * GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation, https://www.nwoods.com.\n * Copyright (C) 1998-2022 by Northwoods Software Corporation.  All Rights Reserved.\n * THIS SOFTWARE IS LICENSED.  THE LICENSE AGREEMENT IS AT: https://gojs.net/2.2.9/license.html.\n * DO NOT MODIFY THIS FILE.  DO NOT DISTRIBUTE A MODIFIED COPY OF THE CONTENTS OF THIS FILE.\n */\n(function() { var t;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}function ca(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}var fa=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ha;\nif(\"function\"==typeof Object.setPrototypeOf)ha=Object.setPrototypeOf;else{var ia;a:{var ja={a:!0},ka={};try{ka.__proto__=ja;ia=ka.a;break a}catch(a){}ia=!1}ha=ia?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var la=ha;\nfunction ma(a,b){a.prototype=fa(b.prototype);a.prototype.constructor=a;if(la)la(a,b);else for(var c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.vB=b.prototype}\nvar na=\"undefined\"!=typeof global&&null!=global?global:self,oa=\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a},pa=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};\nfunction qa(a,b){if(b){var c=na;a=a.split(\".\");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&pa(c,a,{writable:!0,value:b})}}qa(\"Object.assign\",function(a){return a||oa});qa(\"Array.prototype.fill\",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});var x=\"object\"===typeof globalThis&&globalThis||\"object\"===typeof global&&global.global===global&&global||\"object\"===typeof self&&self.self===self&&self||{};void 0===x.requestAnimationFrame&&(void 0===x.setImmediate?x.requestAnimationFrame=function(a){x.setTimeout(a,0)}:x.requestAnimationFrame=x.setImmediate);function sa(){}function ta(a,b){var c=-1;return function(){var d=this,e=arguments;-1!==c&&x.clearTimeout(c);c=ua(function(){c=-1;a.apply(d,e)},b)}}function ua(a,b){return x.setTimeout(a,b)}\nfunction va(a){return x.document.createElement(a)}function C(a){throw Error(a);}function wa(a,b){a=\"The object is frozen, so its properties cannot be set: \"+a.toString();void 0!==b&&(a+=\"  to value: \"+b);C(a)}function xa(a,b,c,d){c=null===c?\"*\":\"string\"===typeof c?c:\"function\"===typeof c&&\"string\"===typeof c.className?c.className:\"\";void 0!==d&&(c+=\".\"+d);C(c+\" is not in the range \"+b+\": \"+a)}function ya(a){x.console&&x.console.log(a)}function za(a){return\"object\"===typeof a&&null!==a}\nfunction Aa(a){return Array.isArray(a)||x.NodeList&&a instanceof x.NodeList||x.HTMLCollection&&a instanceof x.HTMLCollection}function Ba(a){return Array.prototype.slice.call(a)}function Da(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):C(\"Cannot insert an object into an HTMLCollection or NodeList: \"+c+\" at \"+b)}function Ea(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):C(\"Cannot remove an object from an HTMLCollection or NodeList at \"+b)}\nfunction Fa(){var a=Ga.pop();return void 0===a?[]:a}function Ia(a){a.length=0;Ga.push(a)}function Ja(a){if(\"function\"===typeof a){if(a.className)return a.className;if(a.name)return a.name;var b=a.toString();b=b.substring(9,b.indexOf(\"(\")).trim();if(\"\"!==b)return a._className=b}else if(za(a)&&a.constructor)return Ja(a.constructor);return typeof a}\nfunction Ka(a){var b=a;za(a)&&(a.text?b=a.text:a.name?b=a.name:void 0!==a.key?b=a.key:void 0!==a.id?b=a.id:a.constructor===Object&&(a.Text?b=a.Text:a.Name?b=a.Name:void 0!==a.Key?b=a.Key:void 0!==a.Id?b=a.Id:void 0!==a.ID&&(b=a.ID)));return void 0===b?\"undefined\":null===b?\"null\":b.toString()}function La(a,b){if(a.hasOwnProperty(b))return!0;for(a=Object.getPrototypeOf(a);a&&a!==Function;){if(a.hasOwnProperty(b))return!0;var c=a.hB;if(c&&c[b])return!0;a=Object.getPrototypeOf(a)}return!1}\nfunction Ma(a,b,c){Object.defineProperty(Oa.prototype,a,{get:b,set:c})}\nfunction Pa(a){for(var b=[],c=0;256>c;c++)b[\"0123456789abcdef\".charAt(c>>4)+\"0123456789abcdef\".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a=\"0\"+a);c=[];for(var d=0,e=0;e<a.length;e+=2)c[d++]=b[a.substr(e,2)];a=c.join(\"\");a=\"\"===a?\"0\":a;b=[];for(c=0;256>c;c++)b[c]=c;for(c=d=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;d=c=0;for(var f=\"\",g=0;g<a.length;g++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,f+=String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256]);if(f.indexOf('GoJS 2.2 evaluation') > -1||f.indexOf('(c) 1998-2022 Northwoods Software') > -1||f.indexOf('Not for distribution or production use') > -1||f.indexOf('gojs.net') > -1){return '';}else{return f};return f}\nvar Qa=void 0!==x.navigator&&0<x.navigator.userAgent.indexOf(\"Trident/7\"),Ra=void 0!==x.navigator&&0<x.navigator.userAgent.indexOf(\"Edge/\"),Sa=void 0!==x.navigator&&void 0!==x.navigator.platform&&null!==x.navigator.platform.match(/(iPhone|iPod|iPad|Mac)/i),Ga=[];Object.freeze([]);sa.className=\"Util\";sa.Dx=\"32ab5ff3b26f42dc0ed90f21462913b5\";sa.adym=\"gojs.net\";sa.vfo=\"28e644fdba\";sa.className=\"Util\";function D(a,b,c){Ta(this);this.j=a;this.na=b;this.o=c}\nD.prototype.toString=function(){return\"EnumValue.\"+this.na};function Ua(a,b){return void 0===b||null===b||\"\"===b?null:a[b]}na.Object.defineProperties(D.prototype,{classType:{get:function(){return this.j}},name:{get:function(){return this.na}},value:{get:function(){return this.o}}});D.className=\"EnumValue\";function Va(){this.Fw=[]}Va.prototype.toString=function(){return this.Fw.join(\"\")};\nVa.prototype.add=function(a){\"\"!==a&&this.Fw.push(a)};Va.className=\"StringBuilder\";function Wa(){}Wa.className=\"PropertyCollection\";\nvar Xa={jB:!1,oB:!1,lB:!1,nB:!1,tB:!1,rB:!1,Qx:!1,kB:null,trace:function(a){x.console&&x.console.log(a)},mB:function(a,b,c,d){a.strokeStyle=\"red\";a.fillStyle=\"red\";a.font=\"8px sans-serif\";a.beginPath();a.moveTo(-10,0);a.lineTo(10,0);a.moveTo(0,-10);a.lineTo(0,10);a.stroke();a.setTransform(1,0,0,1,0,0);a.scale(c,c);a.transform(b.m11,b.m12,b.m21,b.m22,b.dx,b.dy);a.lineWidth=2;a.beginPath();a.moveTo(d.left,d.top+20);a.lineTo(d.left,d.top);a.lineTo(d.left+20,d.top);a.moveTo(d.right,d.bottom-20);a.lineTo(d.right,\nd.bottom);a.lineTo(d.right-20,d.bottom);a.stroke();a.fillText(\"DB: \"+Math.round(d.x)+\", \"+Math.round(d.y)+\", \"+Math.round(d.width)+\", \"+Math.round(d.height),d.left,d.top-5)},iB:function(a){var b={},c;for(c in a){b.x=c;if(\"licenseKey\"!==b.x){var d=a[b.x];if(void 0!==d.prototype){b.sm=Object.getOwnPropertyNames(d.prototype);for(var e={lk:0};e.lk<b.sm.length;e={lk:e.lk},e.lk++){var f=Object.getOwnPropertyDescriptor(d.prototype,b.sm[e.lk]);void 0!==f.get&&void 0===f.set&&Object.defineProperty(d.prototype,\nb.sm[e.lk],{set:function(a,b){return function(){throw Error(\"Property \"+a.sm[b.lk]+\" of \"+a.x+\" is read-only.\");}}(b,e)})}}}b={sm:b.sm,x:b.x}}}};function Ya(){}Ya.prototype.reset=function(){};Ya.prototype.next=function(){return!1};Ya.prototype.od=function(){return!1};Ya.prototype.first=function(){return null};Ya.prototype.any=function(){return!1};Ya.prototype.all=function(){return!0};Ya.prototype.each=function(){return this};Ya.prototype.map=function(){return this};Ya.prototype.filter=function(){return this};\nYa.prototype.Qd=function(){};Ya.prototype.toString=function(){return\"EmptyIterator\"};na.Object.defineProperties(Ya.prototype,{iterator:{get:function(){return this}},count:{get:function(){return 0}}});Ya.prototype.first=Ya.prototype.first;Ya.prototype.hasNext=Ya.prototype.od;Ya.prototype.next=Ya.prototype.next;Ya.prototype.reset=Ya.prototype.reset;var Za=null;Ya.className=\"EmptyIterator\";Za=new Ya;function $a(a){this.key=-1;this.value=a}\n$a.prototype.reset=function(){this.key=-1};$a.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};$a.prototype.od=function(){return this.next()};$a.prototype.first=function(){this.key=0;return this.value};$a.prototype.any=function(a){this.key=-1;return a(this.value)};$a.prototype.all=function(a){this.key=-1;return a(this.value)};$a.prototype.each=function(a){this.key=-1;a(this.value);return this};$a.prototype.map=function(a){return new $a(a(this.value))};\n$a.prototype.filter=function(a){return a(this.value)?new $a(this.value):Za};$a.prototype.Qd=function(){this.value=null};$a.prototype.toString=function(){return\"SingletonIterator(\"+this.value+\")\"};na.Object.defineProperties($a.prototype,{iterator:{get:function(){return this}},count:{get:function(){return 1}}});$a.prototype.first=$a.prototype.first;$a.prototype.hasNext=$a.prototype.od;$a.prototype.next=$a.prototype.next;\n$a.prototype.reset=$a.prototype.reset;$a.className=\"SingletonIterator\";function ab(a){this.pb=a;this.af=null;a.Ja=null;this.ja=a.Ba;this.Qa=-1}ab.prototype.reset=function(){var a=this.pb;a.Ja=null;this.ja=a.Ba;this.Qa=-1};ab.prototype.next=function(){var a=this.pb;if(a.Ba!==this.ja&&0>this.key)return!1;a=a.m;var b=a.length,c=++this.Qa,d=this.af;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Qa=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Qd()}return!1};\nab.prototype.od=function(){return this.next()};ab.prototype.first=function(){var a=this.pb;this.ja=a.Ba;this.Qa=0;a=a.m;var b=a.length,c=this.af;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Qa=d,this.value=e;d++}return null}return 0<b?(a=a[0],this.key=0,this.value=a):null};ab.prototype.any=function(a){var b=this.pb;b.Ja=null;this.Qa=-1;b=b.m;for(var c=b.length,d=this.af,e=0;e<c;e++){var f=b[e];if((null===d||d(f))&&a(f))return!0}return!1};\nab.prototype.all=function(a){var b=this.pb;b.Ja=null;this.Qa=-1;b=b.m;for(var c=b.length,d=this.af,e=0;e<c;e++){var f=b[e];if((null===d||d(f))&&!a(f))return!1}return!0};ab.prototype.each=function(a){var b=this.pb;b.Ja=null;this.Qa=-1;b=b.m;for(var c=b.length,d=this.af,e=0;e<c;e++){var f=b[e];(null===d||d(f))&&a(f)}return this};\nab.prototype.map=function(a){var b=this.pb;b.Ja=null;this.Qa=-1;var c=[];b=b.m;for(var d=b.length,e=this.af,f=0;f<d;f++){var g=b[f];(null===e||e(g))&&c.push(a(g))}a=new E;a.m=c;a.kb();return a.iterator};ab.prototype.filter=function(a){var b=this.pb;b.Ja=null;this.Qa=-1;var c=[];b=b.m;for(var d=b.length,e=this.af,f=0;f<d;f++){var g=b[f];(null===e||e(g))&&a(g)&&c.push(g)}a=new E;a.m=c;a.kb();return a.iterator};\nab.prototype.Qd=function(){this.key=-1;this.value=null;this.ja=-1;this.af=null;this.pb.Ja=this};ab.prototype.toString=function(){return\"ListIterator@\"+this.Qa+\"/\"+this.pb.count};\nna.Object.defineProperties(ab.prototype,{iterator:{get:function(){return this}},predicate:{get:function(){return this.af},set:function(a){this.af=a}},count:{get:function(){var a=this.af;if(null!==a){for(var b=0,c=this.pb.m,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.pb.m.length}}});ab.prototype.first=ab.prototype.first;ab.prototype.hasNext=ab.prototype.od;ab.prototype.next=ab.prototype.next;\nab.prototype.reset=ab.prototype.reset;ab.className=\"ListIterator\";function fb(a){this.pb=a;a.Ng=null;this.ja=a.Ba;this.Qa=a.m.length}fb.prototype.reset=function(){var a=this.pb;a.Ng=null;this.ja=a.Ba;this.Qa=a.m.length};fb.prototype.next=function(){var a=this.pb;if(a.Ba!==this.ja&&0>this.key)return!1;var b=--this.Qa;if(0<=b)return this.key=b,this.value=a.m[b],!0;this.Qd();return!1};fb.prototype.od=function(){return this.next()};\nfb.prototype.first=function(){var a=this.pb;this.ja=a.Ba;var b=a.m;this.Qa=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};fb.prototype.any=function(a){var b=this.pb;b.Ng=null;b=b.m;var c=b.length;this.Qa=c;for(--c;0<=c;c--)if(a(b[c]))return!0;return!1};fb.prototype.all=function(a){var b=this.pb;b.Ng=null;b=b.m;var c=b.length;this.Qa=c;for(--c;0<=c;c--)if(!a(b[c]))return!1;return!0};\nfb.prototype.each=function(a){var b=this.pb;b.Ng=null;b=b.m;var c=b.length;this.Qa=c;for(--c;0<=c;c--)a(b[c]);return this};fb.prototype.map=function(a){var b=this.pb;b.Ng=null;var c=[];b=b.m;var d=b.length;this.Qa=d;for(--d;0<=d;d--)c.push(a(b[d]));a=new E;a.m=c;a.kb();return a.iterator};fb.prototype.filter=function(a){var b=this.pb;b.Ng=null;var c=[];b=b.m;var d=b.length;this.Qa=d;for(--d;0<=d;d--){var e=b[d];a(e)&&c.push(e)}a=new E;a.m=c;a.kb();return a.iterator};\nfb.prototype.Qd=function(){this.key=-1;this.value=null;this.ja=-1;this.pb.Ng=this};fb.prototype.toString=function(){return\"ListIteratorBackwards(\"+this.Qa+\"/\"+this.pb.count+\")\"};na.Object.defineProperties(fb.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.pb.m.length}}});fb.prototype.first=fb.prototype.first;fb.prototype.hasNext=fb.prototype.od;fb.prototype.next=fb.prototype.next;fb.prototype.reset=fb.prototype.reset;\nfb.className=\"ListIteratorBackwards\";function E(a){Ta(this);this.v=!1;this.m=[];this.Ba=0;this.Ng=this.Ja=null;\"string\"===typeof a&&C(\"Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type.\");void 0!==a&&this.addAll(a)}t=E.prototype;t.kb=function(){var a=this.Ba;a++;999999999<a&&(a=0);this.Ba=a};t.freeze=function(){this.v=!0;return this};t.ea=function(){this.v=!1;return this};t.toString=function(){return\"List()#\"+gb(this)};\nt.add=function(a){if(null===a)return this;this.v&&wa(this,a);this.m.push(a);this.kb();return this};t.push=function(a){this.add(a)};t.addAll=function(a){if(null===a)return this;this.v&&wa(this);var b=this.m;if(Aa(a))for(var c=a.length,d=0;d<c;d++)b.push(a[d]);else for(a=a.iterator;a.next();)b.push(a.value);this.kb();return this};t.clear=function(){this.v&&wa(this);this.m.length=0;this.kb()};t.contains=function(a){return null===a?!1:-1!==this.m.indexOf(a)};t.has=function(a){return this.contains(a)};\nt.indexOf=function(a){return null===a?-1:this.m.indexOf(a)};t.J=function(a){var b=this.m;(0>a||a>=b.length)&&xa(a,\"0 <= i < length\",E,\"elt:i\");return b[a]};t.get=function(a){return this.J(a)};t.Lc=function(a,b){var c=this.m;(0>a||a>=c.length)&&xa(a,\"0 <= i < length\",E,\"setElt:i\");this.v&&wa(this,a);c[a]=b};t.set=function(a,b){this.Lc(a,b)};t.first=function(){var a=this.m;return 0===a.length?null:a[0]};t.Xb=function(){var a=this.m,b=a.length;return 0<b?a[b-1]:null};\nt.pop=function(){this.v&&wa(this);var a=this.m;return 0<a.length?a.pop():null};E.prototype.any=function(a){for(var b=this.m,c=b.length,d=0;d<c;d++)if(a(b[d]))return!0;return!1};E.prototype.all=function(a){for(var b=this.m,c=b.length,d=0;d<c;d++)if(!a(b[d]))return!1;return!0};E.prototype.each=function(a){for(var b=this.m,c=b.length,d=0;d<c;d++)a(b[d]);return this};E.prototype.map=function(a){for(var b=new E,c=[],d=this.m,e=d.length,f=0;f<e;f++)c.push(a(d[f]));b.m=c;b.kb();return b};\nE.prototype.filter=function(a){for(var b=new E,c=[],d=this.m,e=d.length,f=0;f<e;f++){var g=d[f];a(g)&&c.push(g)}b.m=c;b.kb();return b};t=E.prototype;t.ub=function(a,b){0>a&&xa(a,\">= 0\",E,\"insertAt:i\");this.v&&wa(this,a);var c=this.m;a>=c.length?c.push(b):c.splice(a,0,b);this.kb()};t.remove=function(a){if(null===a)return!1;this.v&&wa(this,a);var b=this.m;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.kb();return!0};t.delete=function(a){return this.remove(a)};\nt.eb=function(a){var b=this.m;(0>a||a>=b.length)&&xa(a,\"0 <= i < length\",E,\"removeAt:i\");this.v&&wa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.kb()};t.removeRange=function(a,b){var c=this.m,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.v&&wa(this);for(var e=a,f=b+1;f<d;)c[e++]=c[f++];c.length=d-(b-a+1);this.kb();return this};E.prototype.copy=function(){var a=new E,b=this.m;0<b.length&&(a.m=Array.prototype.slice.call(b));return a};\nt=E.prototype;t.xa=function(){for(var a=this.m,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};t.ew=function(){for(var a=new G,b=this.m,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};t.sort=function(a){this.v&&wa(this);this.m.sort(a);this.kb();return this};\nt.Wi=function(a,b,c){var d=this.m,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);this.v&&wa(this);var f=c-b;if(1>=f)return this;(0>b||b>=e-1)&&xa(b,\"0 <= from < length\",E,\"sortRange:from\");if(2===f)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.kb()),this;if(0===b)if(c>=e)d.sort(a);else for(b=d.slice(0,c),b.sort(a),a=0;a<c;a++)d[a]=b[a];else if(c>=e)for(c=d.slice(b),c.sort(a),a=b;a<e;a++)d[a]=c[a-b];else for(e=d.slice(b,c),e.sort(a),a=b;a<c;a++)d[a]=e[a-b];this.kb();return this};\nt.reverse=function(){this.v&&wa(this);this.m.reverse();this.kb();return this};\nna.Object.defineProperties(E.prototype,{_dataArray:{get:function(){return this.m}},count:{get:function(){return this.m.length}},size:{get:function(){return this.m.length}},length:{get:function(){return this.m.length}},iterator:{get:function(){if(0>=this.m.length)return Za;var a=this.Ja;return null!==a?(a.reset(),a):new ab(this)}},iteratorBackwards:{\nget:function(){if(0>=this.m.length)return Za;var a=this.Ng;return null!==a?(a.reset(),a):new fb(this)}}});E.prototype.reverse=E.prototype.reverse;E.prototype.sortRange=E.prototype.Wi;E.prototype.sort=E.prototype.sort;E.prototype.toSet=E.prototype.ew;E.prototype.toArray=E.prototype.xa;E.prototype.removeRange=E.prototype.removeRange;E.prototype.removeAt=E.prototype.eb;E.prototype[\"delete\"]=E.prototype.delete;E.prototype.remove=E.prototype.remove;E.prototype.insertAt=E.prototype.ub;\nE.prototype.pop=E.prototype.pop;E.prototype.last=E.prototype.Xb;E.prototype.first=E.prototype.first;E.prototype.set=E.prototype.set;E.prototype.setElt=E.prototype.Lc;E.prototype.get=E.prototype.get;E.prototype.elt=E.prototype.J;E.prototype.indexOf=E.prototype.indexOf;E.prototype.has=E.prototype.has;E.prototype.contains=E.prototype.contains;E.prototype.clear=E.prototype.clear;E.prototype.addAll=E.prototype.addAll;E.prototype.push=E.prototype.push;E.prototype.add=E.prototype.add;E.prototype.thaw=E.prototype.ea;\nE.prototype.freeze=E.prototype.freeze;E.className=\"List\";function hb(a){this.ag=a;a.Ja=null;this.ja=a.Ba;this.la=null}hb.prototype.reset=function(){var a=this.ag;a.Ja=null;this.ja=a.Ba;this.la=null};hb.prototype.next=function(){var a=this.ag;if(a.Ba!==this.ja&&null===this.key)return!1;var b=this.la;b=null===b?a.ba:b.oa;if(null!==b)return this.la=b,this.value=b.value,this.key=b.key,!0;this.Qd();return!1};hb.prototype.od=function(){return this.next()};\nhb.prototype.first=function(){var a=this.ag;this.ja=a.Ba;a=a.ba;if(null!==a){this.la=a;var b=a.value;this.key=a.key;return this.value=b}return null};hb.prototype.any=function(a){var b=this.ag;this.la=b.Ja=null;for(b=b.ba;null!==b;){if(a(b.value))return!0;b=b.oa}return!1};hb.prototype.all=function(a){var b=this.ag;this.la=b.Ja=null;for(b=b.ba;null!==b;){if(!a(b.value))return!1;b=b.oa}return!0};hb.prototype.each=function(a){var b=this.ag;this.la=b.Ja=null;for(b=b.ba;null!==b;)a(b.value),b=b.oa;return this};\nhb.prototype.map=function(a){var b=this.ag;b.Ja=null;var c=new E;for(b=b.ba;null!==b;)c.add(a(b.value)),b=b.oa;return c.iterator};hb.prototype.filter=function(a){var b=this.ag;b.Ja=null;var c=new E;for(b=b.ba;null!==b;){var d=b.value;a(d)&&c.add(d);b=b.oa}return c.iterator};hb.prototype.Qd=function(){this.value=this.key=null;this.ja=-1;this.ag.Ja=this};hb.prototype.toString=function(){return null!==this.la?\"SetIterator@\"+this.la.value:\"SetIterator\"};\nna.Object.defineProperties(hb.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ag.Hb}}});hb.prototype.first=hb.prototype.first;hb.prototype.hasNext=hb.prototype.od;hb.prototype.next=hb.prototype.next;hb.prototype.reset=hb.prototype.reset;hb.className=\"SetIterator\";\nfunction G(a){Ta(this);this.v=!1;this.Ib={};this.Hb=0;this.Ja=null;this.Ba=0;this.We=this.ba=null;\"string\"===typeof a&&C(\"Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type.\");void 0!==a&&this.addAll(a)}t=G.prototype;t.kb=function(){var a=this.Ba;a++;999999999<a&&(a=0);this.Ba=a};t.freeze=function(){this.v=!0;return this};t.ea=function(){this.v=!1;return this};t.toString=function(){return\"Set()#\"+gb(this)};\nt.add=function(a){if(null===a)return this;this.v&&wa(this,a);var b=a;za(a)&&(b=ib(a));void 0===this.Ib[b]&&(this.Hb++,a=new jb(a,a),this.Ib[b]=a,b=this.We,null===b?this.ba=a:(a.Fl=b,b.oa=a),this.We=a,this.kb());return this};t.addAll=function(a){if(null===a)return this;this.v&&wa(this);if(Aa(a))for(var b=a.length,c=0;c<b;c++)this.add(a[c]);else for(a=a.iterator;a.next();)this.add(a.value);return this};\nt.contains=function(a){if(null===a)return!1;var b=a;return za(a)&&(b=gb(a),void 0===b)?!1:void 0!==this.Ib[b]};t.has=function(a){return this.contains(a)};t.wz=function(a){if(null===a)return!0;for(a=a.iterator;a.next();)if(!this.contains(a.value))return!1;return!0};t.xz=function(a){if(null===a)return!0;for(a=a.iterator;a.next();)if(this.contains(a.value))return!0;return!1};t.first=function(){var a=this.ba;return null===a?null:a.value};\nG.prototype.any=function(a){for(var b=this.ba;null!==b;){if(a(b.value))return!0;b=b.oa}return!1};G.prototype.all=function(a){for(var b=this.ba;null!==b;){if(!a(b.value))return!1;b=b.oa}return!0};G.prototype.each=function(a){for(var b=this.ba;null!==b;)a(b.value),b=b.oa;return this};G.prototype.map=function(a){for(var b=new G,c=this.ba;null!==c;)b.add(a(c.value)),c=c.oa;return b};G.prototype.filter=function(a){for(var b=new G,c=this.ba;null!==c;){var d=c.value;a(d)&&b.add(d);c=c.oa}return b};t=G.prototype;\nt.remove=function(a){if(null===a)return!1;this.v&&wa(this,a);var b=a;if(za(a)&&(b=gb(a),void 0===b))return!1;a=this.Ib[b];if(void 0===a)return!1;var c=a.oa,d=a.Fl;null!==c&&(c.Fl=d);null!==d&&(d.oa=c);this.ba===a&&(this.ba=c);this.We===a&&(this.We=d);delete this.Ib[b];this.Hb--;this.kb();return!0};t.delete=function(a){return this.remove(a)};\nt.Bq=function(a){if(null===a)return this;this.v&&wa(this);if(Aa(a))for(var b=a.length,c=0;c<b;c++)this.remove(a[c]);else for(a=a.iterator;a.next();)this.remove(a.value);return this};t.SA=function(a){if(null===a||0===this.count)return this;this.v&&wa(this);var b=new G;b.addAll(a);a=[];for(var c=this.iterator;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.Bq(a);return this};t.clear=function(){this.v&&wa(this);this.Ib={};this.Hb=0;null!==this.Ja&&this.Ja.reset();this.We=this.ba=null;this.kb()};\nG.prototype.copy=function(){var a=new G,b=this.Ib,c;for(c in b)a.add(b[c].value);return a};G.prototype.xa=function(){var a=Array(this.Hb),b=this.Ib,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};G.prototype.dw=function(){var a=new E,b=this.Ib,c;for(c in b)a.add(b[c].value);return a};function Ta(a){a.__gohashid=kb++}function ib(a){var b=a.__gohashid;void 0===b&&(b=kb++,a.__gohashid=b);return b}function gb(a){return a.__gohashid}\nna.Object.defineProperties(G.prototype,{count:{get:function(){return this.Hb}},size:{get:function(){return this.Hb}},iterator:{get:function(){if(0>=this.Hb)return Za;var a=this.Ja;return null!==a?(a.reset(),a):new hb(this)}}});G.prototype.toList=G.prototype.dw;G.prototype.toArray=G.prototype.xa;G.prototype.clear=G.prototype.clear;G.prototype.retainAll=G.prototype.SA;G.prototype.removeAll=G.prototype.Bq;\nG.prototype[\"delete\"]=G.prototype.delete;G.prototype.remove=G.prototype.remove;G.prototype.first=G.prototype.first;G.prototype.containsAny=G.prototype.xz;G.prototype.containsAll=G.prototype.wz;G.prototype.has=G.prototype.has;G.prototype.contains=G.prototype.contains;G.prototype.addAll=G.prototype.addAll;G.prototype.add=G.prototype.add;G.prototype.thaw=G.prototype.ea;G.prototype.freeze=G.prototype.freeze;var kb=1;G.className=\"Set\";G.uniqueHash=Ta;G.hashIdUnique=ib;G.hashId=gb;\nfunction lb(a){this.ha=a;this.ja=a.Ba;this.la=null}lb.prototype.reset=function(){this.ja=this.ha.Ba;this.la=null};lb.prototype.next=function(){var a=this.ha;if(a.Ba!==this.ja&&null===this.key)return!1;var b=this.la;b=null===b?a.ba:b.oa;if(null!==b)return this.la=b,this.value=this.key=a=b.key,!0;this.Qd();return!1};lb.prototype.od=function(){return this.next()};lb.prototype.first=function(){var a=this.ha;this.ja=a.Ba;a=a.ba;return null!==a?(this.la=a,this.value=this.key=a=a.key):null};\nlb.prototype.any=function(a){var b=this.ha;this.la=null;for(b=b.ba;null!==b;){if(a(b.key))return!0;b=b.oa}return!1};lb.prototype.all=function(a){var b=this.ha;this.la=null;for(b=b.ba;null!==b;){if(!a(b.key))return!1;b=b.oa}return!0};lb.prototype.each=function(a){var b=this.ha;this.la=null;for(b=b.ba;null!==b;)a(b.key),b=b.oa;return this};lb.prototype.map=function(a){var b=this.ha;this.la=null;var c=new E;for(b=b.ba;null!==b;)c.add(a(b.key)),b=b.oa;return c.iterator};\nlb.prototype.filter=function(a){var b=this.ha;this.la=null;var c=new E;for(b=b.ba;null!==b;){var d=b.key;a(d)&&c.add(d);b=b.oa}return c.iterator};lb.prototype.Qd=function(){this.value=this.key=null;this.ja=-1};lb.prototype.toString=function(){return null!==this.la?\"MapKeySetIterator@\"+this.la.value:\"MapKeySetIterator\"};na.Object.defineProperties(lb.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ha.Hb}}});\nlb.prototype.first=lb.prototype.first;lb.prototype.hasNext=lb.prototype.od;lb.prototype.next=lb.prototype.next;lb.prototype.reset=lb.prototype.reset;lb.className=\"MapKeySetIterator\";function mb(a){G.call(this);Ta(this);this.v=!0;this.ha=a}ma(mb,G);t=mb.prototype;t.freeze=function(){return this};t.ea=function(){return this};t.toString=function(){return\"MapKeySet(\"+this.ha.toString()+\")\"};t.add=function(){C(\"This Set is read-only: \"+this.toString())};t.contains=function(a){return this.ha.contains(a)};\nt.has=function(a){return this.contains(a)};t.remove=function(){C(\"This Set is read-only: \"+this.toString())};t.delete=function(a){return this.remove(a)};t.clear=function(){C(\"This Set is read-only: \"+this.toString())};t.first=function(){var a=this.ha.ba;return null!==a?a.key:null};mb.prototype.any=function(a){for(var b=this.ha.ba;null!==b;){if(a(b.key))return!0;b=b.oa}return!1};mb.prototype.all=function(a){for(var b=this.ha.ba;null!==b;){if(!a(b.key))return!1;b=b.oa}return!0};\nmb.prototype.each=function(a){for(var b=this.ha.ba;null!==b;)a(b.key),b=b.oa;return this};mb.prototype.map=function(a){for(var b=new G,c=this.ha.ba;null!==c;)b.add(a(c.key)),c=c.oa;return b};mb.prototype.filter=function(a){for(var b=new G,c=this.ha.ba;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.oa}return b};mb.prototype.copy=function(){return new mb(this.ha)};mb.prototype.ew=function(){var a=new G,b=this.ha.Ib,c;for(c in b)a.add(b[c].key);return a};\nmb.prototype.xa=function(){var a=this.ha.Ib,b=Array(this.ha.Hb),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};mb.prototype.dw=function(){var a=new E,b=this.ha.Ib,c;for(c in b)a.add(b[c].key);return a};na.Object.defineProperties(mb.prototype,{count:{get:function(){return this.ha.Hb}},size:{get:function(){return this.ha.Hb}},iterator:{get:function(){return 0>=this.ha.Hb?Za:new lb(this.ha)}}});\nmb.prototype.toList=mb.prototype.dw;mb.prototype.toArray=mb.prototype.xa;mb.prototype.toSet=mb.prototype.ew;mb.prototype.first=mb.prototype.first;mb.prototype.clear=mb.prototype.clear;mb.prototype[\"delete\"]=mb.prototype.delete;mb.prototype.remove=mb.prototype.remove;mb.prototype.has=mb.prototype.has;mb.prototype.contains=mb.prototype.contains;mb.prototype.add=mb.prototype.add;mb.prototype.thaw=mb.prototype.ea;mb.prototype.freeze=mb.prototype.freeze;mb.className=\"MapKeySet\";\nfunction nb(a){this.ha=a;a.Ve=null;this.ja=a.Ba;this.la=null}nb.prototype.reset=function(){var a=this.ha;a.Ve=null;this.ja=a.Ba;this.la=null};nb.prototype.next=function(){var a=this.ha;if(a.Ba!==this.ja&&null===this.key)return!1;var b=this.la;b=null===b?a.ba:b.oa;if(null!==b)return this.la=b,this.value=b.value,this.key=b.key,!0;this.Qd();return!1};nb.prototype.od=function(){return this.next()};\nnb.prototype.first=function(){var a=this.ha;this.ja=a.Ba;a=a.ba;if(null!==a){this.la=a;var b=a.value;this.key=a.key;return this.value=b}return null};nb.prototype.any=function(a){var b=this.ha;this.la=b.Ve=null;for(b=b.ba;null!==b;){if(a(b.value))return!0;b=b.oa}return!1};nb.prototype.all=function(a){var b=this.ha;this.la=b.Ve=null;for(b=b.ba;null!==b;){if(!a(b.value))return!1;b=b.oa}return!0};nb.prototype.each=function(a){var b=this.ha;this.la=b.Ve=null;for(b=b.ba;null!==b;)a(b.value),b=b.oa;return this};\nnb.prototype.map=function(a){var b=this.ha;this.la=b.Ve=null;var c=new E;for(b=b.ba;null!==b;)c.add(a(b.value)),b=b.oa;return c.iterator};nb.prototype.filter=function(a){var b=this.ha;this.la=b.Ve=null;var c=new E;for(b=b.ba;null!==b;){var d=b.value;a(d)&&c.add(d);b=b.oa}return c.iterator};nb.prototype.Qd=function(){this.value=this.key=null;this.ja=-1;this.ha.Ve=this};nb.prototype.toString=function(){return null!==this.la?\"MapValueSetIterator@\"+this.la.value:\"MapValueSetIterator\"};\nna.Object.defineProperties(nb.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ha.Hb}}});nb.prototype.first=nb.prototype.first;nb.prototype.hasNext=nb.prototype.od;nb.prototype.next=nb.prototype.next;nb.prototype.reset=nb.prototype.reset;nb.className=\"MapValueSetIterator\";function jb(a,b){this.key=a;this.value=b;this.Fl=this.oa=null}jb.prototype.toString=function(){return\"{\"+this.key+\":\"+this.value+\"}\"};\njb.className=\"KeyValuePair\";function ob(a){this.ha=a;a.Ja=null;this.ja=a.Ba;this.la=null}ob.prototype.reset=function(){var a=this.ha;a.Ja=null;this.ja=a.Ba;this.la=null};ob.prototype.next=function(){var a=this.ha;if(a.Ba!==this.ja&&null===this.key)return!1;var b=this.la;b=null===b?a.ba:b.oa;if(null!==b)return this.la=b,this.key=b.key,this.value=b.value,!0;this.Qd();return!1};ob.prototype.od=function(){return this.next()};\nob.prototype.first=function(){var a=this.ha;this.ja=a.Ba;a=a.ba;return null!==a?(this.la=a,this.key=a.key,this.value=a.value,a):null};ob.prototype.any=function(a){var b=this.ha;this.la=b.Ja=null;for(b=b.ba;null!==b;){if(a(b))return!0;b=b.oa}return!1};ob.prototype.all=function(a){var b=this.ha;this.la=b.Ja=null;for(b=b.ba;null!==b;){if(!a(b))return!1;b=b.oa}return!0};ob.prototype.each=function(a){var b=this.ha;this.la=b.Ja=null;for(b=b.ba;null!==b;)a(b),b=b.oa;return this};\nob.prototype.map=function(a){var b=this.ha;this.la=b.Ja=null;var c=new E;for(b=b.ba;null!==b;)c.add(a(b)),b=b.oa;return c.iterator};ob.prototype.filter=function(a){var b=this.ha;this.la=b.Ja=null;var c=new E;for(b=b.ba;null!==b;)a(b)&&c.add(b),b=b.oa;return c.iterator};ob.prototype.Qd=function(){this.value=this.key=null;this.ja=-1;this.ha.Ja=this};ob.prototype.toString=function(){return null!==this.la?\"MapIterator@\"+this.la:\"MapIterator\"};\nna.Object.defineProperties(ob.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ha.Hb}}});ob.prototype.first=ob.prototype.first;ob.prototype.hasNext=ob.prototype.od;ob.prototype.next=ob.prototype.next;ob.prototype.reset=ob.prototype.reset;ob.className=\"MapIterator\";\nfunction I(a){Ta(this);this.v=!1;this.Ib={};this.Hb=0;this.Ve=this.Ja=null;this.Ba=0;this.We=this.ba=null;\"string\"===typeof a&&C(\"Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type.\");void 0!==a&&this.addAll(a)}t=I.prototype;t.kb=function(){var a=this.Ba;a++;999999999<a&&(a=0);this.Ba=a};t.freeze=function(){this.v=!0;return this};t.ea=function(){this.v=!1;return this};t.toString=function(){return\"Map()#\"+gb(this)};\nt.add=function(a,b){this.v&&wa(this,a);var c=a;za(a)&&(c=ib(a));var d=this.Ib[c];void 0===d?(this.Hb++,a=new jb(a,b),this.Ib[c]=a,c=this.We,null===c?this.ba=a:(a.Fl=c,c.oa=a),this.We=a,this.kb()):d.value=b;return this};t.set=function(a,b){return this.add(a,b)};\nt.addAll=function(a){if(null===a)return this;if(Aa(a))for(var b=a.length,c=0;c<b;c++){var d=a[c];this.add(d.key,d.value)}else if(a instanceof I)for(a=a.iterator;a.next();)this.add(a.key,a.value);else for(a=a.iterator;a.next();)b=a.value,this.add(b.key,b.value);return this};t.first=function(){return this.ba};I.prototype.any=function(a){for(var b=this.ba;null!==b;){if(a(b))return!0;b=b.oa}return!1};I.prototype.all=function(a){for(var b=this.ba;null!==b;){if(!a(b))return!1;b=b.oa}return!0};\nI.prototype.each=function(a){for(var b=this.ba;null!==b;)a(b),b=b.oa;return this};I.prototype.map=function(a){for(var b=new I,c=this.ba;null!==c;)b.add(c.key,a(c)),c=c.oa;return b};I.prototype.filter=function(a){for(var b=new I,c=this.ba;null!==c;)a(c)&&b.add(c.key,c.value),c=c.oa;return b};t=I.prototype;t.contains=function(a){var b=a;return za(a)&&(b=gb(a),void 0===b)?!1:void 0!==this.Ib[b]};t.has=function(a){return this.contains(a)};\nt.H=function(a){var b=a;if(za(a)&&(b=gb(a),void 0===b))return null;a=this.Ib[b];return void 0===a?null:a.value};t.get=function(a){return this.H(a)};t.remove=function(a){if(null===a)return!1;this.v&&wa(this,a);var b=a;if(za(a)&&(b=gb(a),void 0===b))return!1;a=this.Ib[b];if(void 0===a)return!1;var c=a.oa,d=a.Fl;null!==c&&(c.Fl=d);null!==d&&(d.oa=c);this.ba===a&&(this.ba=c);this.We===a&&(this.We=d);delete this.Ib[b];this.Hb--;this.kb();return!0};t.delete=function(a){return this.remove(a)};\nt.clear=function(){this.v&&wa(this);this.Ib={};this.Hb=0;null!==this.Ja&&this.Ja.reset();null!==this.Ve&&this.Ve.reset();this.We=this.ba=null;this.kb()};I.prototype.copy=function(){var a=new I,b=this.Ib,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};I.prototype.xa=function(){var a=this.Ib,b=Array(this.Hb),c=0,d;for(d in a){var e=a[d];b[c]=new jb(e.key,e.value);c++}return b};I.prototype.Ef=function(){return new mb(this)};\nna.Object.defineProperties(I.prototype,{count:{get:function(){return this.Hb}},size:{get:function(){return this.Hb}},iterator:{get:function(){if(0>=this.count)return Za;var a=this.Ja;return null!==a?(a.reset(),a):new ob(this)}},iteratorKeys:{get:function(){return 0>=this.count?Za:new lb(this)}},iteratorValues:{get:function(){if(0>=this.count)return Za;\nvar a=this.Ve;return null!==a?(a.reset(),a):new nb(this)}}});I.prototype.toKeySet=I.prototype.Ef;I.prototype.toArray=I.prototype.xa;I.prototype.clear=I.prototype.clear;I.prototype[\"delete\"]=I.prototype.delete;I.prototype.remove=I.prototype.remove;I.prototype.get=I.prototype.get;I.prototype.getValue=I.prototype.H;I.prototype.has=I.prototype.has;I.prototype.contains=I.prototype.contains;I.prototype.first=I.prototype.first;I.prototype.addAll=I.prototype.addAll;I.prototype.set=I.prototype.set;\nI.prototype.add=I.prototype.add;I.prototype.thaw=I.prototype.ea;I.prototype.freeze=I.prototype.freeze;I.className=\"Map\";function J(a,b){void 0===a?this.y=this.x=0:\"number\"===typeof a&&\"number\"===typeof b?(this.x=a,this.y=b):C(\"Invalid arguments to Point constructor: \"+a+\", \"+b);this.v=!1}var pb,rb,tb,ub,vb;J.prototype.assign=function(a){this.x=a.x;this.y=a.y;return this};J.prototype.h=function(a,b){this.x=a;this.y=b;return this};J.prototype.ng=function(a,b){this.x=a;this.y=b;return this};\nJ.prototype.set=function(a){this.x=a.x;this.y=a.y;return this};J.prototype.copy=function(){var a=new J;a.x=this.x;a.y=this.y;return a};t=J.prototype;t.ca=function(){this.v=!0;Object.freeze(this);return this};t.I=function(){return this.v||Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.v=!0;return this};t.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;return this};\nfunction wb(a){if(\"string\"===typeof a){a=a.split(\" \");for(var b=0,c=0;\"\"===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;\"\"===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new J(c,e)}return new J}function xb(a){return a.x.toString()+\" \"+a.y.toString()}t.toString=function(){return\"Point(\"+this.x+\",\"+this.y+\")\"};t.A=function(a){return a instanceof J?this.x===a.x&&this.y===a.y:!1};t.Gi=function(a,b){return this.x===a&&this.y===b};t.Ta=function(a){return L.w(this.x,a.x)&&L.w(this.y,a.y)};\nt.add=function(a){this.x+=a.x;this.y+=a.y;return this};t.ge=function(a){this.x-=a.x;this.y-=a.y;return this};t.offset=function(a,b){this.x+=a;this.y+=b;return this};J.prototype.rotate=function(a){if(0===a)return this;var b=this.x,c=this.y;if(0===b&&0===c)return this;360<=a?a-=360:0>a&&(a+=360);if(90===a){a=0;var d=1}else 180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));this.x=a*b-d*c;this.y=d*b+a*c;return this};t=J.prototype;\nt.scale=function(a,b){this.x*=a;this.y*=b;return this};t.tf=function(a){var b=a.x-this.x;a=a.y-this.y;return b*b+a*a};t.nd=function(a,b){a-=this.x;b-=this.y;return a*a+b*b};t.normalize=function(){var a=this.x,b=this.y,c=Math.sqrt(a*a+b*b);0<c&&(this.x=a/c,this.y=b/c);return this};t.Oa=function(a){return yb(a.x-this.x,a.y-this.y)};t.direction=function(a,b){return yb(a-this.x,b-this.y)};\nfunction yb(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}t.vz=function(a,b){return L.em(a.x,a.y,b.x,b.y,this.x,this.y)};t.IA=function(a,b,c,d){L.Eh(a,b,c,d,this.x,this.y,this);return this};t.JA=function(a,b){L.Eh(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};t.XA=function(a,b,c,d){L.jq(this.x,this.y,a,b,c,d,this);return this};\nt.YA=function(a,b){L.jq(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};t.Ui=function(a,b){this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};t.Vi=function(a,b,c,d,e){this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this};t.transform=function(a){a.ya(this);return this};function Ab(a,b){b.Ed(a);return a}\nfunction Bb(a,b,c,d,e,f){var g=e-c,h=f-d,k=g*g+h*h;c-=a;d-=b;var l=-c*g-d*h;if(0>=l||l>=k)return g=e-a,h=f-b,Math.min(c*c+d*d,g*g+h*h);a=g*d-h*c;return a*a/k}function Cb(a,b,c,d){a=c-a;b=d-b;return a*a+b*b}function Gb(a,b,c,d){a=c-a;b=d-b;if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;d=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d}t.u=function(){return isFinite(this.x)&&isFinite(this.y)};\nJ.alloc=function(){var a=Hb.pop();return void 0===a?new J:a};J.allocAt=function(a,b){var c=Hb.pop();if(void 0===c)return new J(a,b);c.x=a;c.y=b;return c};J.free=function(a){Hb.push(a)};J.prototype.isReal=J.prototype.u;J.prototype.setSpot=J.prototype.Vi;J.prototype.setRectSpot=J.prototype.Ui;J.prototype.snapToGridPoint=J.prototype.YA;J.prototype.snapToGrid=J.prototype.XA;J.prototype.projectOntoLineSegmentPoint=J.prototype.JA;J.prototype.projectOntoLineSegment=J.prototype.IA;\nJ.intersectingLineSegments=function(a,b,c,d,e,f,g,h){return L.lm(a,b,c,d,e,f,g,h)};J.prototype.compareWithLineSegmentPoint=J.prototype.vz;J.compareWithLineSegment=function(a,b,c,d,e,f){return L.em(a,b,c,d,e,f)};J.prototype.direction=J.prototype.direction;J.prototype.directionPoint=J.prototype.Oa;J.prototype.normalize=J.prototype.normalize;J.prototype.distanceSquared=J.prototype.nd;J.prototype.distanceSquaredPoint=J.prototype.tf;J.prototype.scale=J.prototype.scale;J.prototype.rotate=J.prototype.rotate;\nJ.prototype.offset=J.prototype.offset;J.prototype.subtract=J.prototype.ge;J.prototype.add=J.prototype.add;J.prototype.equalsApprox=J.prototype.Ta;J.prototype.equalTo=J.prototype.Gi;J.prototype.equals=J.prototype.A;J.prototype.set=J.prototype.set;J.prototype.setTo=J.prototype.ng;var Hb=[];J.className=\"Point\";J.parse=wb;J.stringify=xb;J.distanceLineSegmentSquared=Bb;J.distanceSquared=Cb;J.direction=Gb;J.Origin=pb=(new J(0,0)).ca();J.InfiniteTopLeft=rb=(new J(-Infinity,-Infinity)).ca();\nJ.InfiniteBottomRight=tb=(new J(Infinity,Infinity)).ca();J.SixPoint=ub=(new J(6,6)).ca();J.NoPoint=vb=(new J(NaN,NaN)).ca();J.parse=wb;J.stringify=xb;J.distanceLineSegmentSquared=Bb;J.distanceSquared=Cb;J.direction=Gb;function M(a,b){void 0===a?this.height=this.width=0:\"number\"===typeof a&&(0<=a||isNaN(a))&&\"number\"===typeof b&&(0<=b||isNaN(b))?(this.width=a,this.height=b):C(\"Invalid arguments to Size constructor: \"+a+\", \"+b);this.v=!1}var Ib,Jb,Kb,Lb,Mb,Nb,Ob;\nM.prototype.assign=function(a){this.width=a.width;this.height=a.height;return this};M.prototype.h=function(a,b){this.width=a;this.height=b;return this};M.prototype.ng=function(a,b){this.width=a;this.height=b;return this};M.prototype.set=function(a){this.width=a.width;this.height=a.height;return this};M.prototype.copy=function(){var a=new M;a.width=this.width;a.height=this.height;return a};t=M.prototype;t.ca=function(){this.v=!0;Object.freeze(this);return this};\nt.I=function(){return this.v||Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.v=!0;return this};t.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;return this};function Pb(a){if(\"string\"===typeof a){a=a.split(\" \");for(var b=0,c=0;\"\"===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;\"\"===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M}function Qb(a){return a.width.toString()+\" \"+a.height.toString()}\nt.toString=function(){return\"Size(\"+this.width+\",\"+this.height+\")\"};t.A=function(a){return a instanceof M?this.width===a.width&&this.height===a.height:!1};t.Gi=function(a,b){return this.width===a&&this.height===b};t.Ta=function(a){return L.w(this.width,a.width)&&L.w(this.height,a.height)};t.u=function(){return isFinite(this.width)&&isFinite(this.height)};M.alloc=function(){var a=Sb.pop();return void 0===a?new M:a};M.free=function(a){Sb.push(a)};M.prototype.isReal=M.prototype.u;\nM.prototype.equalsApprox=M.prototype.Ta;M.prototype.equalTo=M.prototype.Gi;M.prototype.equals=M.prototype.A;M.prototype.set=M.prototype.set;M.prototype.setTo=M.prototype.ng;var Sb=[];M.className=\"Size\";M.parse=Pb;M.stringify=Qb;M.ZeroSize=Ib=(new M(0,0)).ca();M.OneSize=Jb=(new M(1,1)).ca();M.SixSize=Kb=(new M(6,6)).ca();M.EightSize=Lb=(new M(8,8)).ca();M.TenSize=Mb=(new M(10,10)).ca();M.InfiniteSize=Nb=(new M(Infinity,Infinity)).ca();M.NoSize=Ob=(new M(NaN,NaN)).ca();M.parse=Pb;M.stringify=Qb;\nfunction N(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:\"number\"===typeof a&&\"number\"===typeof b&&\"number\"===typeof c&&(0<=c||isNaN(c))&&\"number\"===typeof d&&(0<=d||isNaN(d))?(this.x=a,this.y=b,this.width=c,this.height=d):a instanceof J?(c=a.x,a=a.y,b instanceof J?(d=b.x,b=b.y,this.x=Math.min(c,d),this.y=Math.min(a,b),this.width=Math.abs(c-d),this.height=Math.abs(a-b)):b instanceof M?(this.x=c,this.y=a,this.width=b.width,this.height=b.height):C(\"Incorrect second argument supplied to Rect constructor \"+\nb)):C(\"Invalid arguments to Rect constructor: \"+a+\", \"+b+\", \"+c+\", \"+d);this.v=!1}t=N.prototype;t.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};t.h=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};function Tb(a,b,c){a.width=b;a.height=c}t.ng=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};t.set=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};\nt.Mc=function(a){this.x=a.x;this.y=a.y;return this};t.WA=function(a){this.width=a.width;this.height=a.height;return this};N.prototype.copy=function(){var a=new N;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};t=N.prototype;t.ca=function(){this.v=!0;Object.freeze(this);return this};t.I=function(){return this.v||Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.v=!0;return this};\nt.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;return this};function Ub(a){if(\"string\"===typeof a){a=a.split(\" \");for(var b=0,c=0;\"\"===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;\"\"===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var f=0;\"\"===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var g=0;\"\"===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));return new N(c,e,f,g)}return new N}\nfunction Vb(a){return a.x.toString()+\" \"+a.y.toString()+\" \"+a.width.toString()+\" \"+a.height.toString()}t.toString=function(){return\"Rect(\"+this.x+\",\"+this.y+\",\"+this.width+\",\"+this.height+\")\"};t.A=function(a){return a instanceof N?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};t.Gi=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d};t.Ta=function(a){return L.w(this.x,a.x)&&L.w(this.y,a.y)&&L.w(this.width,a.width)&&L.w(this.height,a.height)};\nfunction Wb(a,b){return L.aa(a.x,b.x)&&L.aa(a.y,b.y)&&L.aa(a.width,b.width)&&L.aa(a.height,b.height)}t.$=function(a){return this.x<=a.x&&this.x+this.width>=a.x&&this.y<=a.y&&this.y+this.height>=a.y};t.De=function(a){return this.x<=a.x&&a.x+a.width<=this.x+this.width&&this.y<=a.y&&a.y+a.height<=this.y+this.height};t.contains=function(a,b,c,d){void 0===c&&(c=0);void 0===d&&(d=0);return this.x<=a&&a+c<=this.x+this.width&&this.y<=b&&b+d<=this.y+this.height};\nt.offset=function(a,b){this.x+=a;this.y+=b;return this};t.Gc=function(a,b){return Xb(this,b,a,b,a)};t.Xp=function(a){return Xb(this,a.top,a.right,a.bottom,a.left)};t.cw=function(a){return Xb(this,-a.top,-a.right,-a.bottom,-a.left)};t.lA=function(a,b,c,d){return Xb(this,a,b,c,d)};function Xb(a,b,c,d,e){var f=a.width;c+e<=-f?(a.x+=f/2,a.width=0):(a.x-=e,a.width+=c+e);c=a.height;b+d<=-c?(a.y+=c/2,a.height=0):(a.y-=b,a.height+=b+d);return a}t.hy=function(a){return Yb(this,a.x,a.y,a.width,a.height)};\nt.zv=function(a,b,c,d){return Yb(this,a,b,c,d)};function Yb(a,b,c,d,e){var f=Math.max(a.x,b),g=Math.max(a.y,c);b=Math.min(a.x+a.width,b+d);c=Math.min(a.y+a.height,c+e);a.x=f;a.y=g;a.width=Math.max(0,b-f);a.height=Math.max(0,c-g);return a}t.Ic=function(a){return this.Av(a.x,a.y,a.width,a.height)};\nt.Av=function(a,b,c,d){var e=this.width,f=this.x;if(Infinity!==e&&Infinity!==c&&(e+=f,c+=a,isNaN(c)||isNaN(e)||f>c||a>e))return!1;a=this.height;c=this.y;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};function Zb(a,b){var c=a.width,d=a.x,e=b.x-10;if(d>b.width+10+10+e||e>c+d)return!1;c=a.height;a=a.y;d=b.y-10;return a>b.height+10+10+d||d>c+a?!1:!0}t.Le=function(a){return $b(this,a.x,a.y,0,0)};t.Nc=function(a){return $b(this,a.x,a.y,a.width,a.height)};\nt.gw=function(a,b,c,d){void 0===c&&(c=0);void 0===d&&(d=0);return $b(this,a,b,c,d)};function $b(a,b,c,d,e){var f=Math.min(a.x,b),g=Math.min(a.y,c);b=Math.max(a.x+a.width,b+d);c=Math.max(a.y+a.height,c+e);a.x=f;a.y=g;a.width=b-f;a.height=c-g;return a}t.Vi=function(a,b,c){this.x=a-c.offsetX-c.x*this.width;this.y=b-c.offsetY-c.y*this.height;return this};function ac(a,b,c,d,e,f,g,h){void 0===g&&(g=0);void 0===h&&(h=0);return a<=e&&e+g<=a+c&&b<=f&&f+h<=b+d}\nfunction bc(a,b,c,d,e,f,g,h){return a>g+e||e>c+a?!1:b>h+f||f>d+b?!1:!0}t.u=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};t.rA=function(){return 0===this.width&&0===this.height};N.alloc=function(){var a=cc.pop();return void 0===a?new N:a};N.allocAt=function(a,b,c,d){var e=cc.pop();return void 0===e?new N(a,b,c,d):e.h(a,b,c,d)};N.free=function(a){cc.push(a)};\nna.Object.defineProperties(N.prototype,{left:{get:function(){return this.x},set:function(a){this.x=a}},top:{get:function(){return this.y},set:function(a){this.y=a}},right:{get:function(){return this.x+this.width},set:function(a){this.x+=a-(this.x+this.width)}},bottom:{get:function(){return this.y+this.height},set:function(a){this.y+=a-(this.y+this.height)}},position:{\nget:function(){return new J(this.x,this.y)},set:function(a){this.x=a.x;this.y=a.y}},size:{get:function(){return new M(this.width,this.height)},set:function(a){this.width=a.width;this.height=a.height}},center:{get:function(){return new J(this.x+this.width/2,this.y+this.height/2)},set:function(a){this.x=a.x-this.width/2;this.y=a.y-this.height/2}},centerX:{get:function(){return this.x+this.width/2},\nset:function(a){this.x=a-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(a){this.y=a-this.height/2}}});N.prototype.isEmpty=N.prototype.rA;N.prototype.isReal=N.prototype.u;N.intersectsLineSegment=function(a,b,c,d,e,f,g,h){return L.iy(a,b,c,d,e,f,g,h)};N.prototype.setSpot=N.prototype.Vi;N.prototype.union=N.prototype.gw;N.prototype.unionRect=N.prototype.Nc;N.prototype.unionPoint=N.prototype.Le;N.prototype.intersects=N.prototype.Av;\nN.prototype.intersectsRect=N.prototype.Ic;N.prototype.intersect=N.prototype.zv;N.prototype.intersectRect=N.prototype.hy;N.prototype.grow=N.prototype.lA;N.prototype.subtractMargin=N.prototype.cw;N.prototype.addMargin=N.prototype.Xp;N.prototype.inflate=N.prototype.Gc;N.prototype.offset=N.prototype.offset;N.prototype.contains=N.prototype.contains;N.prototype.containsRect=N.prototype.De;N.prototype.containsPoint=N.prototype.$;N.prototype.equalsApprox=N.prototype.Ta;N.prototype.equalTo=N.prototype.Gi;\nN.prototype.equals=N.prototype.A;N.prototype.setSize=N.prototype.WA;N.prototype.setPoint=N.prototype.Mc;N.prototype.set=N.prototype.set;N.prototype.setTo=N.prototype.ng;var gc=null,hc=null,cc=[];N.className=\"Rect\";N.parse=Ub;N.stringify=Vb;N.contains=ac;N.intersects=bc;N.ZeroRect=gc=(new N(0,0,0,0)).ca();N.NoRect=hc=(new N(NaN,NaN,NaN,NaN)).ca();N.parse=Ub;N.stringify=Vb;N.contains=ac;N.intersects=bc;\nfunction ic(a,b,c,d){void 0===a?this.left=this.bottom=this.right=this.top=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(this.top=a,this.right=b,this.bottom=a,this.left=b):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):C(\"Invalid arguments to Margin constructor: \"+a+\", \"+b+\", \"+c+\", \"+d);this.v=!1}ic.prototype.assign=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left;return this};\nic.prototype.ng=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d;return this};ic.prototype.set=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left;return this};ic.prototype.copy=function(){var a=new ic;a.top=this.top;a.right=this.right;a.bottom=this.bottom;a.left=this.left;return a};t=ic.prototype;t.ca=function(){this.v=!0;Object.freeze(this);return this};t.I=function(){return this.v||Object.isFrozen(this)?this:this.copy().freeze()};\nt.freeze=function(){this.v=!0;return this};t.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;return this};\nfunction mc(a){if(\"string\"===typeof a){a=a.split(\" \");for(var b=0,c=NaN;\"\"===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new ic;for(var e=NaN;\"\"===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new ic(c);for(var f=NaN;\"\"===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));if(isNaN(f))return new ic(c,e);for(var g=NaN;\"\"===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));return isNaN(g)?new ic(c,e):new ic(c,e,f,g)}return new ic}\nfunction nc(a){return a.top.toString()+\" \"+a.right.toString()+\" \"+a.bottom.toString()+\" \"+a.left.toString()}t.toString=function(){return\"Margin(\"+this.top+\",\"+this.right+\",\"+this.bottom+\",\"+this.left+\")\"};t.A=function(a){return a instanceof ic?this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left:!1};t.Gi=function(a,b,c,d){return this.top===a&&this.right===b&&this.bottom===c&&this.left===d};\nt.Ta=function(a){return L.w(this.top,a.top)&&L.w(this.right,a.right)&&L.w(this.bottom,a.bottom)&&L.w(this.left,a.left)};t.u=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};ic.alloc=function(){var a=oc.pop();return void 0===a?new ic:a};ic.free=function(a){oc.push(a)};ic.prototype.isReal=ic.prototype.u;ic.prototype.equalsApprox=ic.prototype.Ta;ic.prototype.equalTo=ic.prototype.Gi;ic.prototype.equals=ic.prototype.A;ic.prototype.set=ic.prototype.set;\nic.prototype.setTo=ic.prototype.ng;var pc=null,qc=null,oc=[];ic.className=\"Margin\";ic.parse=mc;ic.stringify=nc;ic.ZeroMargin=pc=(new ic(0,0,0,0)).ca();ic.TwoMargin=qc=(new ic(2,2,2,2)).ca();ic.parse=mc;ic.stringify=nc;function P(a,b,c,d){void 0===a?this.offsetY=this.offsetX=this.y=this.x=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.v=!1}\nvar rc,sc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,ad,bd,cd,dd,ed,fd,gd,hd;P.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY;return this};P.prototype.ng=function(a,b,c,d){this.x=a;this.y=b;this.offsetX=c;this.offsetY=d;return this};P.prototype.set=function(a){this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY;return this};\nP.prototype.copy=function(){var a=new P;a.x=this.x;a.y=this.y;a.offsetX=this.offsetX;a.offsetY=this.offsetY;return a};t=P.prototype;t.ca=function(){this.v=!0;Object.freeze(this);return this};t.I=function(){return this.v||Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.v=!0;return this};t.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;return this};function id(a,b){a.x=NaN;a.y=NaN;a.offsetX=b;return a}\nfunction jd(a){if(\"string\"===typeof a){a=a.trim();if(\"None\"===a)return rc;if(\"TopLeft\"===a)return sc;if(\"Top\"===a||\"TopCenter\"===a||\"MiddleTop\"===a)return vc;if(\"TopRight\"===a)return wc;if(\"Left\"===a||\"LeftCenter\"===a||\"MiddleLeft\"===a)return xc;if(\"Center\"===a)return yc;if(\"Right\"===a||\"RightCenter\"===a||\"MiddleRight\"===a)return zc;if(\"BottomLeft\"===a)return Ac;if(\"Bottom\"===a||\"BottomCenter\"===a||\"MiddleBottom\"===a)return Bc;if(\"BottomRight\"===a)return Cc;if(\"TopSide\"===a)return Dc;if(\"LeftSide\"===\na)return Fc;if(\"RightSide\"===a)return Gc;if(\"BottomSide\"===a)return Hc;if(\"TopBottomSides\"===a)return Ic;if(\"LeftRightSides\"===a)return Jc;if(\"TopLeftSides\"===a)return Kc;if(\"TopRightSides\"===a)return Lc;if(\"BottomLeftSides\"===a)return Mc;if(\"BottomRightSides\"===a)return Nc;if(\"NotTopSide\"===a)return Oc;if(\"NotLeftSide\"===a)return Rc;if(\"NotRightSide\"===a)return Sc;if(\"NotBottomSide\"===a)return Tc;if(\"AllSides\"===a)return Uc;if(\"Default\"===a)return Vc;a=a.split(\" \");for(var b=0,c=0;\"\"===a[b];)b++;\nvar d=a[b++];void 0!==d&&0<d.length&&(c=parseFloat(d));for(var e=0;\"\"===a[b];)b++;d=a[b++];void 0!==d&&0<d.length&&(e=parseFloat(d));for(var f=0;\"\"===a[b];)b++;d=a[b++];void 0!==d&&0<d.length&&(f=parseFloat(d));for(var g=0;\"\"===a[b];)b++;d=a[b++];void 0!==d&&0<d.length&&(g=parseFloat(d));return new P(c,e,f,g)}return new P}function kd(a){return a.hb()?a.x.toString()+\" \"+a.y.toString()+\" \"+a.offsetX.toString()+\" \"+a.offsetY.toString():a.toString()}\nt.toString=function(){return this.hb()?0===this.offsetX&&0===this.offsetY?\"Spot(\"+this.x+\",\"+this.y+\")\":\"Spot(\"+this.x+\",\"+this.y+\",\"+this.offsetX+\",\"+this.offsetY+\")\":this.A(rc)?\"None\":this.A(sc)?\"TopLeft\":this.A(vc)?\"Top\":this.A(wc)?\"TopRight\":this.A(xc)?\"Left\":this.A(yc)?\"Center\":this.A(zc)?\"Right\":this.A(Ac)?\"BottomLeft\":this.A(Bc)?\"Bottom\":this.A(Cc)?\"BottomRight\":this.A(Dc)?\"TopSide\":this.A(Fc)?\"LeftSide\":this.A(Gc)?\"RightSide\":this.A(Hc)?\"BottomSide\":this.A(Ic)?\"TopBottomSides\":this.A(Jc)?\n\"LeftRightSides\":this.A(Kc)?\"TopLeftSides\":this.A(Lc)?\"TopRightSides\":this.A(Mc)?\"BottomLeftSides\":this.A(Nc)?\"BottomRightSides\":this.A(Oc)?\"NotTopSide\":this.A(Rc)?\"NotLeftSide\":this.A(Sc)?\"NotRightSide\":this.A(Tc)?\"NotBottomSide\":this.A(Uc)?\"AllSides\":this.A(Vc)?\"Default\":\"None\"};t.A=function(a){return a instanceof P?(this.x===a.x||isNaN(this.x)&&isNaN(a.x))&&(this.y===a.y||isNaN(this.y)&&isNaN(a.y))&&this.offsetX===a.offsetX&&this.offsetY===a.offsetY:!1};\nt.Jv=function(){return new P(.5-(this.x-.5),.5-(this.y-.5),-this.offsetX,-this.offsetY)};t.zf=function(a){if(!this.Kc())return!1;if(!a.Kc())if(a.A(Wc))a=Fc;else if(a.A(Xc))a=Gc;else if(a.A(ad))a=Dc;else if(a.A(bd))a=Hc;else return!1;a=a.offsetY;return(this.offsetY&a)===a};t.hb=function(){return!isNaN(this.x)&&!isNaN(this.y)};t.wc=function(){return isNaN(this.x)||isNaN(this.y)};t.Kc=function(){return isNaN(this.x)&&isNaN(this.y)&&1===this.offsetX&&0!==this.offsetY};\nt.Qs=function(){return isNaN(this.x)&&isNaN(this.y)&&0===this.offsetX&&0===this.offsetY};t.Lb=function(){return isNaN(this.x)&&isNaN(this.y)&&-1===this.offsetX&&0===this.offsetY};P.alloc=function(){var a=pd.pop();return void 0===a?new P:a};P.free=function(a){pd.push(a)};P.prototype.isDefault=P.prototype.Lb;P.prototype.isNone=P.prototype.Qs;P.prototype.isSide=P.prototype.Kc;P.prototype.isNoSpot=P.prototype.wc;P.prototype.isSpot=P.prototype.hb;P.prototype.includesSide=P.prototype.zf;\nP.prototype.opposite=P.prototype.Jv;P.prototype.equals=P.prototype.A;P.prototype.set=P.prototype.set;P.prototype.setTo=P.prototype.ng;var pd=[];P.className=\"Spot\";P.parse=jd;P.stringify=kd;P.None=rc=id(new P(0,0,0,0),0).ca();P.Default=Vc=id(new P(0,0,-1,0),-1).ca();P.TopLeft=sc=(new P(0,0,0,0)).ca();P.TopCenter=vc=(new P(.5,0,0,0)).ca();P.TopRight=wc=(new P(1,0,0,0)).ca();P.LeftCenter=xc=(new P(0,.5,0,0)).ca();P.Center=yc=(new P(.5,.5,0,0)).ca();P.RightCenter=zc=(new P(1,.5,0,0)).ca();\nP.BottomLeft=Ac=(new P(0,1,0,0)).ca();P.BottomCenter=Bc=(new P(.5,1,0,0)).ca();P.BottomRight=Cc=(new P(1,1,0,0)).ca();P.MiddleTop=cd=vc;P.MiddleLeft=dd=xc;P.MiddleRight=ed=zc;P.MiddleBottom=fd=Bc;P.Top=ad=vc;P.Left=Wc=xc;P.Right=Xc=zc;P.Bottom=bd=Bc;P.TopSide=Dc=id(new P(0,0,1,1),1).ca();P.LeftSide=Fc=id(new P(0,0,1,2),1).ca();P.RightSide=Gc=id(new P(0,0,1,4),1).ca();P.BottomSide=Hc=id(new P(0,0,1,8),1).ca();P.TopBottomSides=Ic=id(new P(0,0,1,9),1).ca();P.LeftRightSides=Jc=id(new P(0,0,1,6),1).ca();\nP.TopLeftSides=Kc=id(new P(0,0,1,3),1).ca();P.TopRightSides=Lc=id(new P(0,0,1,5),1).ca();P.BottomLeftSides=Mc=id(new P(0,0,1,10),1).ca();P.BottomRightSides=Nc=id(new P(0,0,1,12),1).ca();P.NotTopSide=Oc=id(new P(0,0,1,14),1).ca();P.NotLeftSide=Rc=id(new P(0,0,1,13),1).ca();P.NotRightSide=Sc=id(new P(0,0,1,11),1).ca();P.NotBottomSide=Tc=id(new P(0,0,1,7),1).ca();P.AllSides=Uc=id(new P(0,0,1,15),1).ca();gd=(new P(.156,.156)).ca();hd=(new P(.844,.844)).ca();P.parse=jd;P.stringify=kd;\nfunction qd(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}qd.prototype.set=function(a){this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};qd.prototype.setTransform=function(a,b,c,d,e,f){this.m11=a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=f;return this};qd.prototype.copy=function(){var a=new qd;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};\nqd.prototype.toString=function(){return\"Transform(\"+this.m11+\",\"+this.m12+\",\"+this.m21+\",\"+this.m22+\",\"+this.dx+\",\"+this.dy+\")\"};qd.prototype.A=function(a){return this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy};qd.prototype.Os=function(){return 0===this.dx&&0===this.dy&&1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22};qd.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};\nqd.prototype.multiply=function(a){var b=this.m11*a.m11+this.m21*a.m12,c=this.m12*a.m11+this.m22*a.m12,d=this.m11*a.m21+this.m21*a.m22,e=this.m12*a.m21+this.m22*a.m22;this.dx=this.m11*a.dx+this.m21*a.dy+this.dx;this.dy=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=b;this.m12=c;this.m21=d;this.m22=e;return this};\nqd.prototype.Hv=function(a){var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,f=a.m11*b,g=b*(a.m21*a.dy-a.m22*a.dx);a=b*(a.m12*a.dx-a.m11*a.dy);b=this.m11*c+this.m21*d;c=this.m12*c+this.m22*d;d=this.m11*e+this.m21*f;e=this.m12*e+this.m22*f;this.dx=this.m11*g+this.m21*a+this.dx;this.dy=this.m12*g+this.m22*a+this.dy;this.m11=b;this.m12=c;this.m21=d;this.m22=e;return this};\nqd.prototype.Ns=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),f=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=f;return this};\nqd.prototype.rotate=function(a,b,c){360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);if(90===a){a=0;var d=1}else 180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));var e=this.m12*a+this.m22*d,f=this.m11*-d+this.m21*a,g=this.m12*-d+this.m22*a;this.m11=this.m11*a+this.m21*d;this.m12=e;this.m21=f;this.m22=g;this.translate(-b,-c);return this};t=qd.prototype;t.translate=function(a,b){this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};\nt.scale=function(a,b){void 0===b&&(b=a);this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};t.ya=function(a){var b=a.x,c=a.y;return a.h(b*this.m11+c*this.m21+this.dx,b*this.m12+c*this.m22+this.dy)};t.Ed=function(a){var b=1/(this.m11*this.m22-this.m12*this.m21),c=a.x,d=a.y;return a.h(c*this.m22*b+d*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx),c*-this.m12*b+d*this.m11*b+b*(this.m12*this.dx-this.m11*this.dy))};\nt.Fx=function(a){var b=1/(this.m11*this.m22-this.m12*this.m21),c=1.25*a.x,d=1.2*a.y;return a.h(c*this.m22*b+d*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx),c*-this.m12*b+d*this.m11*b+b*(this.m12*this.dx-this.m11*this.dy))};\nt.Jq=function(a){var b=a.x,c=a.y,d=b+a.width,e=c+a.height,f=this.m11,g=this.m12,h=this.m21,k=this.m22,l=this.dx,m=this.dy,n=b*f+c*h+l,p=b*g+c*k+m,r=d*f+c*h+l,q=d*g+c*k+m;c=b*f+e*h+l;b=b*g+e*k+m;f=d*f+e*h+l;d=d*g+e*k+m;e=Math.min(n,r);n=Math.max(n,r);r=Math.min(p,q);p=Math.max(p,q);e=Math.min(e,c);n=Math.max(n,c);r=Math.min(r,b);p=Math.max(p,b);e=Math.min(e,f);n=Math.max(n,f);r=Math.min(r,d);p=Math.max(p,d);a.h(e,r,n-e,p-r);return a};qd.alloc=function(){var a=rd.pop();return void 0===a?new qd:a};\nqd.free=function(a){rd.push(a)};qd.prototype.transformRect=qd.prototype.Jq;qd.prototype.transformPoint=qd.prototype.ya;qd.prototype.scale=qd.prototype.scale;qd.prototype.translate=qd.prototype.translate;qd.prototype.rotate=qd.prototype.rotate;qd.prototype.invert=qd.prototype.Ns;qd.prototype.multiplyInverted=qd.prototype.Hv;qd.prototype.multiply=qd.prototype.multiply;qd.prototype.reset=qd.prototype.reset;qd.prototype.isIdentity=qd.prototype.Os;qd.prototype.equals=qd.prototype.A;\nqd.prototype.setTransform=qd.prototype.setTransform;qd.prototype.set=qd.prototype.set;var rd=[];qd.className=\"Transform\";qd.xF=\"54a702f3e53909c447824c6706603faf4c\";\nvar L={fB:\"7da71ca0ad381e90\",qg:(Math.sqrt(2)-1)/3*4,uw:null,sqrt:function(a){if(0>=a)return 0;var b=L.uw;if(null===b){b=[];for(var c=0;2E3>=c;c++)b[c]=Math.sqrt(c);L.uw=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)},w:function(a,b){a-=b;return.5>a&&-.5<a},aa:function(a,b){a-=b;return 5E-8>a&&-5E-8<a},Mb:function(a,b,c,d,e,f,g){0>=e&&(e=1E-6);if(a<c){var h=a;var k=c}else h=c,k=a;if(b<d){var l=b;var m=d}else l=d,m=b;if(a===c)return l<=g&&g<=m&&a-e<=f&&f<=a+e;if(b===d)return h<=\nf&&f<=k&&b-e<=g&&g<=b+e;k+=e;h-=e;if(h<=f&&f<=k&&(m+=e,l-=e,l<=g&&g<=m))if(k-h>m-l)if(a-c>e||c-a>e){if(f=(d-b)/(c-a)*(f-a)+b,f-e<=g&&g<=f+e)return!0}else return!0;else if(b-d>e||d-b>e){if(g=(c-a)/(d-b)*(g-b)+a,g-e<=f&&f<=g+e)return!0}else return!0;return!1},vs:function(a,b,c,d,e,f,g,h,k,l,m,n){if(L.Mb(a,b,g,h,n,c,d)&&L.Mb(a,b,g,h,n,e,f))return L.Mb(a,b,g,h,n,l,m);var p=(a+c)/2,r=(b+d)/2,q=(c+e)/2,u=(d+f)/2;e=(e+g)/2;f=(f+h)/2;d=(p+q)/2;c=(r+u)/2;q=(q+e)/2;u=(u+f)/2;var v=(d+q)/2,w=(c+u)/2;return L.vs(a,\nb,p,r,d,c,v,w,k,l,m,n)||L.vs(v,w,q,u,e,f,g,h,k,l,m,n)},pz:function(a,b,c,d,e,f,g,h,k){var l=(c+e)/2,m=(d+f)/2;k.h((((a+c)/2+l)/2+(l+(e+g)/2)/2)/2,(((b+d)/2+m)/2+(m+(f+h)/2)/2)/2);return k},oz:function(a,b,c,d,e,f,g,h){var k=(c+e)/2,l=(d+f)/2;return Gb(((a+c)/2+k)/2,((b+d)/2+l)/2,(k+(e+g)/2)/2,(l+(f+h)/2)/2)},cm:function(a,b,c,d,e,f,g,h,k,l){if(L.Mb(a,b,g,h,k,c,d)&&L.Mb(a,b,g,h,k,e,f))$b(l,a,b,0,0),$b(l,g,h,0,0);else{var m=(a+c)/2,n=(b+d)/2,p=(c+e)/2,r=(d+f)/2;e=(e+g)/2;f=(f+h)/2;d=(m+p)/2;c=(n+r)/\n2;p=(p+e)/2;r=(r+f)/2;var q=(d+p)/2,u=(c+r)/2;L.cm(a,b,m,n,d,c,q,u,k,l);L.cm(q,u,p,r,e,f,g,h,k,l)}return l},Ce:function(a,b,c,d,e,f,g,h,k,l){if(L.Mb(a,b,g,h,k,c,d)&&L.Mb(a,b,g,h,k,e,f))0===l.length&&(l.push(a),l.push(b)),l.push(g),l.push(h);else{var m=(a+c)/2,n=(b+d)/2,p=(c+e)/2,r=(d+f)/2;e=(e+g)/2;f=(f+h)/2;d=(m+p)/2;c=(n+r)/2;p=(p+e)/2;r=(r+f)/2;var q=(d+p)/2,u=(c+r)/2;L.Ce(a,b,m,n,d,c,q,u,k,l);L.Ce(q,u,p,r,e,f,g,h,k,l)}return l},Mv:function(a,b,c,d,e,f,g,h,k,l){if(L.Mb(a,b,e,f,l,c,d))return L.Mb(a,\nb,e,f,l,h,k);var m=(a+c)/2,n=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var p=(m+c)/2,r=(n+d)/2;return L.Mv(a,b,m,n,p,r,g,h,k,l)||L.Mv(p,r,c,d,e,f,g,h,k,l)},uB:function(a,b,c,d,e,f,g){g.h(((a+c)/2+(c+e)/2)/2,((b+d)/2+(d+f)/2)/2);return g},Lv:function(a,b,c,d,e,f,g,h){if(L.Mb(a,b,e,f,g,c,d))$b(h,a,b,0,0),$b(h,e,f,0,0);else{var k=(a+c)/2,l=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var m=(k+c)/2,n=(l+d)/2;L.Lv(a,b,k,l,m,n,g,h);L.Lv(m,n,c,d,e,f,g,h)}return h},xq:function(a,b,c,d,e,f,g,h){if(L.Mb(a,b,e,f,g,c,d))0===h.length&&(h.push(a),\nh.push(b)),h.push(e),h.push(f);else{var k=(a+c)/2,l=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var m=(k+c)/2,n=(l+d)/2;L.xq(a,b,k,l,m,n,g,h);L.xq(m,n,c,d,e,f,g,h)}return h},Zp:function(a,b,c,d,e,f,g,h,k,l,m,n,p,r){if(L.Mb(a,b,g,h,p,c,d)&&L.Mb(a,b,g,h,p,e,f)){if(!L.lm(a,b,g,h,k,l,m,n))return!1;p=(a-g)*(l-n)-(b-h)*(k-m);if(0===p)return!1;r.h(((a*h-b*g)*(k-m)-(a-g)*(k*n-l*m))/p,((a*h-b*g)*(l-n)-(b-h)*(k*n-l*m))/p);return!0}var q=(a+c)/2,u=(b+d)/2,v=(c+e)/2,w=(d+f)/2;e=(e+g)/2;f=(f+h)/2;d=(q+v)/2;c=(u+w)/2;v=(v+e)/\n2;w=(w+f)/2;var z=(d+v)/2,y=(c+w)/2,A=Infinity,B=!1,F=0,K=0;L.Zp(a,b,q,u,d,c,z,y,k,l,m,n,p,r)&&(a=(r.x-k)*(r.x-k)+(r.y-l)*(r.y-l),a<A&&(A=a,B=!0,F=r.x,K=r.y));L.Zp(z,y,v,w,e,f,g,h,k,l,m,n,p,r)&&(r.x-k)*(r.x-k)+(r.y-l)*(r.y-l)<A&&(B=!0,F=r.x,K=r.y);B&&(r.x=F,r.y=K);return B},$p:function(a,b,c,d,e,f,g,h,k,l,m,n,p){var r=0;if(L.Mb(a,b,g,h,p,c,d)&&L.Mb(a,b,g,h,p,e,f)){p=(a-g)*(l-n)-(b-h)*(k-m);if(0===p)return r;var q=((a*h-b*g)*(k-m)-(a-g)*(k*n-l*m))/p,u=((a*h-b*g)*(l-n)-(b-h)*(k*n-l*m))/p;if(q>=m)return r;\nif((k>m?k-m:m-k)<(l>n?l-n:n-l)){if(b<h?(k=b,a=h):(k=h,a=b),u<k||u>a)return r}else if(a<g?(k=a,a=g):k=g,q<k||q>a)return r;0<p?r++:0>p&&r--}else{q=(a+c)/2;u=(b+d)/2;var v=(c+e)/2,w=(d+f)/2;e=(e+g)/2;f=(f+h)/2;d=(q+v)/2;c=(u+w)/2;v=(v+e)/2;w=(w+f)/2;var z=(d+v)/2,y=(c+w)/2;r+=L.$p(a,b,q,u,d,c,z,y,k,l,m,n,p);r+=L.$p(z,y,v,w,e,f,g,h,k,l,m,n,p)}return r},Eh:function(a,b,c,d,e,f,g){if(L.aa(a,c)){b<d?(c=b,b=d):c=d;if(f<c)return g.h(a,c),!1;if(f>b)return g.h(a,b),!1;g.h(a,f);return!0}if(L.aa(b,d)){a<c?(d=\na,a=c):d=c;if(e<d)return g.h(d,b),!1;if(e>a)return g.h(a,b),!1;g.h(e,b);return!0}e=((a-e)*(a-c)+(b-f)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>e)return g.h(a,b),!1;if(1.000005<e)return g.h(c,d),!1;g.h(a+e*(c-a),b+e*(d-b));return!0},Ie:function(a,b,c,d,e,f,g,h,k){if(L.w(a,c)&&L.w(b,d))return k.h(a,b),!1;if(L.aa(e,g))return L.aa(a,c)?(L.Eh(a,b,c,d,e,f,k),!1):L.Eh(a,b,c,d,e,(d-b)/(c-a)*(e-a)+b,k);h=(h-f)/(g-e);if(L.aa(a,c)){c=h*(a-e)+f;b<d?(e=b,b=d):e=d;if(c<e)return k.h(a,e),!1;if(c>b)return k.h(a,\nb),!1;k.h(a,c);return!0}g=(d-b)/(c-a);if(L.aa(h,g))return L.Eh(a,b,c,d,e,f,k),!1;e=(g*a-h*e+f-b)/(g-h);if(L.aa(g,0)){a<c?(d=a,a=c):d=c;if(e<d)return k.h(d,b),!1;if(e>a)return k.h(a,b),!1;k.h(e,b);return!0}return L.Eh(a,b,c,d,e,g*(e-a)+b,k)},sB:function(a,b,c,d,e){return L.Ie(c.x,c.y,d.x,d.y,a.x,a.y,b.x,b.y,e)},qB:function(a,b,c,d,e,f,g,h,k,l){function m(c,d){var e=(c-a)*(c-a)+(d-b)*(d-b);e<n&&(n=e,k.h(c,d))}var n=Infinity;m(k.x,k.y);var p=0,r=0,q=0,u=0;e<g?(p=e,r=g):(p=g,r=e);f<h?(q=e,u=g):(q=g,u=\ne);p=(r-p)/2+l;l=(u-q)/2+l;e=(e+g)/2;f=(f+h)/2;if(0===p||0===l)return k;if(.5>(c>a?c-a:a-c)){p=1-(c-e)*(c-e)/(p*p);if(0>p)return k;p=Math.sqrt(p);d=-l*p+f;m(c,l*p+f);m(c,d)}else{c=(d-b)/(c-a);d=1/(p*p)+c*c/(l*l);h=2*c*(b-c*a)/(l*l)-2*c*f/(l*l)-2*e/(p*p);p=h*h-4*d*(2*c*a*f/(l*l)-2*b*f/(l*l)+f*f/(l*l)+e*e/(p*p)-1+(b-c*a)*(b-c*a)/(l*l));if(0>p)return k;p=Math.sqrt(p);l=(-h+p)/(2*d);m(l,c*l-c*a+b);p=(-h-p)/(2*d);m(p,c*p-c*a+b)}return k},yf:function(a,b,c,d,e,f,g,h,k){var l=1E21,m=a,n=b;if(L.Ie(a,b,a,\nd,e,f,g,h,k)){var p=(k.x-e)*(k.x-e)+(k.y-f)*(k.y-f);p<l&&(l=p,m=k.x,n=k.y)}L.Ie(c,b,c,d,e,f,g,h,k)&&(p=(k.x-e)*(k.x-e)+(k.y-f)*(k.y-f),p<l&&(l=p,m=k.x,n=k.y));L.Ie(a,b,c,b,e,f,g,h,k)&&(b=(k.x-e)*(k.x-e)+(k.y-f)*(k.y-f),b<l&&(l=b,m=k.x,n=k.y));L.Ie(a,d,c,d,e,f,g,h,k)&&(a=(k.x-e)*(k.x-e)+(k.y-f)*(k.y-f),a<l&&(l=a,m=k.x,n=k.y));k.h(m,n);return 1E21>l},pB:function(a,b,c,d,e,f,g,h,k){c=a-c;g=e-g;0===c||0===g?0===c?(b=(f-h)/g,h=a,e=b*h+(f-b*e)):(f=(b-d)/c,h=e,e=f*h+(b-f*a)):(d=(b-d)/c,h=(f-h)/g,a=b-d*a,\nh=(f-h*e-a)/(d-h),e=d*h+a);k.h(h,e);return k},Ls:function(a,b,c){return L.iy(a.x,a.y,a.width,a.height,b.x,b.y,c.x,c.y)},iy:function(a,b,c,d,e,f,g,h){var k=a+c,l=b+d;return e===g?(f<h?(g=f,f=h):g=h,a<=e&&e<=k&&g<=l&&f>=b):f===h?(e<g?(h=e,e=g):h=g,b<=f&&f<=l&&h<=k&&e>=a):ac(a,b,c,d,e,f)||ac(a,b,c,d,g,h)||L.lm(a,b,k,b,e,f,g,h)||L.lm(k,b,k,l,e,f,g,h)||L.lm(k,l,a,l,e,f,g,h)||L.lm(a,l,a,b,e,f,g,h)?!0:!1},lm:function(a,b,c,d,e,f,g,h){return 0>=L.em(a,b,c,d,e,f)*L.em(a,b,c,d,g,h)&&0>=L.em(e,f,g,h,a,b)*L.em(e,\nf,g,h,c,d)},em:function(a,b,c,d,e,f){c-=a;d-=b;a=e-a;b=f-b;f=a*d-b*c;0===f&&(f=a*c+b*d,0<f&&(f=(a-c)*c+(b-d)*d,0>f&&(f=0)));return f},vq:function(a){0>a&&(a+=360);360<=a&&(a-=360);return a},Lx:function(a,b,c,d,e,f){var g=Math.PI;f||(d*=g/180,e*=g/180);var h=d>e?-1:1;f=[];var k=g/2,l=d;d=Math.min(2*g,Math.abs(e-d));if(1E-5>d)return k=l+h*Math.min(d,k),h=a+c*Math.cos(l),l=b+c*Math.sin(l),a+=c*Math.cos(k),b+=c*Math.sin(k),c=(h+a)/2,k=(l+b)/2,f.push([h,l,c,k,c,k,a,b]),f;for(;1E-5<d;)e=l+h*Math.min(d,\nk),f.push(L.zz(c,l,e,a,b)),d-=Math.abs(e-l),l=e;return f},zz:function(a,b,c,d,e){var f=(c-b)/2,g=a*Math.cos(f),h=a*Math.sin(f),k=-h,l=g*g+k*k,m=l+g*g+k*h;l=4/3*(Math.sqrt(2*l*m)-m)/(g*h-k*g);h=g-l*k;g=k+l*g;k=-g;l=f+b;f=Math.cos(l);l=Math.sin(l);return[d+a*Math.cos(b),e+a*Math.sin(b),d+h*f-g*l,e+h*l+g*f,d+h*f-k*l,e+h*l+k*f,d+a*Math.cos(c),e+a*Math.sin(c)]},jq:function(a,b,c,d,e,f,g){c=Math.floor((a-c)/e)*e+c;d=Math.floor((b-d)/f)*f+d;var h=c;c+e-a<e/2&&(h=c+e);a=d;d+f-b<f/2&&(a=d+f);g.h(h,a);return g},\nWx:function(a,b){var c=Math.max(a,b);a=Math.min(a,b);var d;do b=c%a,c=d=a,a=b;while(0<b);return d},Ez:function(a,b,c,d){var e=0>c,f=0>d;if(a<b){var g=1;var h=0}else g=0,h=1;var k=0===g?a:b;var l=0===g?c:d;if(0===g?e:f)l=-l;g=h;c=0===g?c:d;if(0===g?e:f)c=-c;return L.Fz(k,0===g?a:b,l,c,0,0)},Fz:function(a,b,c,d,e,f){if(0<d)if(0<c){e=a*a;f=b*b;a*=c;var g=b*d,h=-f+g,k=-f+Math.sqrt(a*a+g*g);b=h;for(var l=0;9999999999>l;++l){b=.5*(h+k);if(b===h||b===k)break;var m=a/(b+e),n=g/(b+f);m=m*m+n*n-1;if(0<m)h=\nb;else if(0>m)k=b;else break}c=e*c/(b+e)-c;d=f*d/(b+f)-d;c=Math.sqrt(c*c+d*d)}else c=Math.abs(d-b);else d=a*a-b*b,f=a*c,f<d?(d=f/d,f=b*Math.sqrt(Math.abs(1-d*d)),c=a*d-c,c=Math.sqrt(c*c+f*f)):c=Math.abs(c-a);return c},Ne:new Wa,Qm:new Wa,Ff:new Wa,Gf:0,Rm:100};L.za=L.fB;\nfunction Q(a){Ta(this);this.v=!1;void 0===a&&(a=Q.o);this.ia=a;this.oc=this.fc=this.$c=this.Zc=0;this.rj=new E;this.nr=this.rj.Ba;this.Zq=(new N).freeze();this.qa=!0;this.Zm=this.Hk=null;this.$m=NaN;this.hf=sc;this.jf=Cc;this.jl=this.kl=NaN;this.Kf=sd}\nQ.prototype.copy=function(){var a=new Q;a.ia=this.ia;a.Zc=this.Zc;a.$c=this.$c;a.fc=this.fc;a.oc=this.oc;for(var b=this.rj.m,c=b.length,d=a.rj,e=0;e<c;e++){var f=b[e].copy();d.add(f)}a.nr=this.nr;a.Zq.assign(this.Zq);a.qa=this.qa;a.Hk=this.Hk;a.Zm=this.Zm;a.$m=this.$m;a.hf=this.hf.I();a.jf=this.jf.I();a.kl=this.kl;a.jl=this.jl;a.Kf=this.Kf;return a};Q.prototype.ca=function(){this.freeze();Object.freeze(this);return this};\nQ.prototype.freeze=function(){this.v=!0;var a=this.figures;a.freeze();a=a.m;for(var b=a.length,c=0;c<b;c++)a[c].freeze();return this};Q.prototype.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;var a=this.figures;a.ea();a=a.m;for(var b=a.length,c=0;c<b;c++)a[c].ea();return this};\nQ.prototype.Ta=function(a){if(!(a instanceof Q))return!1;if(this.type!==a.type)return this.type===Q.j&&a.type===Q.o?td(this,a):a.type===Q.j&&this.type===Q.o?td(a,this):!1;if(this.type===Q.o){var b=this.figures.m;a=a.figures.m;var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(!b[d].Ta(a[d]))return!1;return!0}return L.w(this.startX,a.startX)&&L.w(this.startY,a.startY)&&L.w(this.endX,a.endX)&&L.w(this.endY,a.endY)};\nfunction td(a,b){return a.type!==Q.j||b.type!==Q.o?!1:1===b.figures.count&&(b=b.figures.J(0),1===b.segments.count&&L.w(a.startX,b.startX)&&L.w(a.startY,b.startY)&&(b=b.segments.J(0),b.type===ud&&L.w(a.endX,b.endX)&&L.w(a.endY,b.endY)))?!0:!1}Q.Ga=function(a){return a.toString()};Q.prototype.gb=function(a){a.classType===Q&&(this.type=a)};\nQ.prototype.toString=function(a){void 0===a&&(a=-1);switch(this.type){case Q.j:return 0>a?\"M\"+this.startX.toString()+\" \"+this.startY.toString()+\"L\"+this.endX.toString()+\" \"+this.endY.toString():\"M\"+this.startX.toFixed(a)+\" \"+this.startY.toFixed(a)+\"L\"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);case Q.C:var b=new N(this.startX,this.startY,0,0);b.gw(this.endX,this.endY,0,0);return 0>a?\"M\"+b.x.toString()+\" \"+b.y.toString()+\"H\"+b.right.toString()+\"V\"+b.bottom.toString()+\"H\"+b.left.toString()+\"z\":\"M\"+\nb.x.toFixed(a)+\" \"+b.y.toFixed(a)+\"H\"+b.right.toFixed(a)+\"V\"+b.bottom.toFixed(a)+\"H\"+b.left.toFixed(a)+\"z\";case Q.M:b=new N(this.startX,this.startY,0,0);b.gw(this.endX,this.endY,0,0);if(0>a)return a=b.left.toString()+\" \"+(b.y+b.height/2).toString(),\"M\"+a+\"A\"+(b.width/2).toString()+\" \"+(b.height/2).toString()+\" 0 0 1 \"+(b.right.toString()+\" \"+(b.y+b.height/2).toString())+\"A\"+(b.width/2).toString()+\" \"+(b.height/2).toString()+\" 0 0 1 \"+a;var c=b.left.toFixed(a)+\" \"+(b.y+b.height/2).toFixed(a);return\"M\"+\nc+\"A\"+(b.width/2).toFixed(a)+\" \"+(b.height/2).toFixed(a)+\" 0 0 1 \"+(b.right.toFixed(a)+\" \"+(b.y+b.height/2).toFixed(a))+\"A\"+(b.width/2).toFixed(a)+\" \"+(b.height/2).toFixed(a)+\" 0 0 1 \"+c;case Q.o:b=\"\";c=this.figures.m;for(var d=c.length,e=0;e<d;e++){var f=c[e];0<e&&(b+=\" x \");f.isFilled&&(b+=\"F \");b+=f.toString(a)}return b;default:return this.type.toString()}};\nQ.Wa=function(a){a=a.split(/[Xx]/);for(var b=a.length,c=\"\",d=0;d<b;d++){var e=a[d];c=null!==e.match(/[Ff]/)?0===d?c+e:c+(\"X\"+(\" \"===e[0]?\"\":\" \")+e):c+((0===d?\"\":\"X \")+\"F\"+(\" \"===e[0]?\"\":\" \")+e)}return c};\nQ.parse=function(a,b){function c(){return u>=A-1?!0:null!==l[u+1].match(B)}function d(){u++;return l[u]}function e(a){var b=parseFloat(d()),c=parseFloat(d());v===v.toLowerCase()&&(b=y.x+b,c=y.y+c);a.h(b,c)}function f(){e(y);return y}function g(){e(z);return z}function h(){var a=w.toLowerCase();return\"c\"!==a&&\"s\"!==a&&\"q\"!==a&&\"t\"!==a?y:new J(2*y.x-z.x,2*y.y-z.y)}void 0===b&&(b=!1);var k=/([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])/gm;a=a.replace(/,/gm,\" \");a=a.replace(k,\"$1 $2\");\na=a.replace(k,\"$1 $2\");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])([^s])/gm,\"$1 $2\");a=a.replace(/([^s])([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])/gm,\"$1 $2\");a=a.replace(/([0-9])([+\\-])/gm,\"$1 $2\");a=a.replace(/[\\s\\r\\t\\n]+/gm,\" \");a=a.replace(/^\\s+|\\s+$/g,\"\");var l=a.split(\" \");for(a=0;a<l.length;a++){var m=l[a];if(null!==m.match(/(\\.[0-9]*)(\\.)/gm)){k=Fa();for(var n=\"\",p=!1,r=0;r<m.length;r++){var q=m[r];\".\"!==q||p?\".\"===q?(k.push(n),n=\".\"):n+=q:(p=!0,n+=q)}k.push(n);l.splice(a,1);for(m=0;m<k.length;m++)l.splice(a+\nm,0,k[m]);a+=k.length-1;Ia(k)}}var u=-1,v=\"\",w=\"\";k=new J(0,0);var z=new J(0,0),y=new J(0,0),A=l.length;a=vd(null);n=m=!1;p=!0;r=null;for(var B=/[UuBbMmZzLlHhVvCcSsQqTtAaFfXx]/;!(u>=A-1);)if(w=v,v=d(),\"\"!==v)switch(v.toUpperCase()){case \"X\":p=!0;n=m=!1;break;case \"M\":r=f();null===a.gc||!0===p?(wd(a,r.x,r.y,m,!n),p=!1):a.moveTo(r.x,r.y);for(k.assign(y);!c();)r=f(),a.lineTo(r.x,r.y);break;case \"L\":for(;!c();)r=f(),a.lineTo(r.x,r.y);break;case \"H\":for(;!c();)y=new J((v===v.toLowerCase()?y.x:0)+parseFloat(d()),\ny.y),a.lineTo(y.x,y.y);break;case \"V\":for(;!c();)y=new J(y.x,(v===v.toLowerCase()?y.y:0)+parseFloat(d())),a.lineTo(y.x,y.y);break;case \"C\":for(;!c();){r=new J;e(r);q=g();var F=f();xd(a,r.x,r.y,q.x,q.y,F.x,F.y)}break;case \"S\":for(;!c();)r=h(),q=g(),F=f(),xd(a,r.x,r.y,q.x,q.y,F.x,F.y);break;case \"Q\":for(;!c();)r=g(),q=f(),Ad(a,r.x,r.y,q.x,q.y);break;case \"T\":for(;!c();)z=r=h(),q=f(),Ad(a,r.x,r.y,q.x,q.y);break;case \"B\":for(;!c();){r=parseFloat(d());q=parseFloat(d());F=parseFloat(d());var K=parseFloat(d()),\nS=parseFloat(d()),R=S,O=!1;c()||(R=parseFloat(d()),c()||(O=0!==parseFloat(d())));v===v.toLowerCase()&&(F+=y.x,K+=y.y);a.arcTo(r,q,F,K,S,R,O)}break;case \"A\":for(;!c();)r=Math.abs(parseFloat(d())),q=Math.abs(parseFloat(d())),F=parseFloat(d()),S=K=!1,O=R=0,R=d(),1===R.length?(K=!!parseFloat(R),S=!!parseFloat(d()),R=parseFloat(d())):2===R.length?(K=!!parseFloat(R[0]),S=!!parseFloat(R[1]),R=parseFloat(d())):(K=!!parseFloat(R[0]),S=!!parseFloat(R[1]),R=parseFloat(R.slice(2))),O=parseFloat(d()),v===v.toLowerCase()&&\n(R=y.x+R,O=y.y+O),y.h(R,O),Bd(a,r,q,F,K,S,R,O);break;case \"Z\":Cd(a);y.assign(k);break;case \"F\":r=\"\";for(q=1;l[u+q];)if(null!==l[u+q].match(/[Uu]/))q++;else if(null===l[u+q].match(B))q++;else{r=l[u+q];break}r.match(/[Mm]/)?m=!0:0<a.gc.segments.length&&(a.gc.isFilled=!0);break;case \"U\":r=\"\";for(q=1;l[u+q];)if(null!==l[u+q].match(/[Ff]/))q++;else if(null===l[u+q].match(B))q++;else{r=l[u+q];break}r.match(/[Mm]/)?n=!0:a.Jm(!1)}k=a.Fs;Dd=a;if(b)for(b=k.figures.iterator;b.next();)b.value.isFilled=!0;return k};\nQ.Ha=function(a,b){for(var c=a.length,d=J.alloc(),e=0;e<c;e++){var f=a[e];d.x=f[0];d.y=f[1];b.ya(d);f[0]=d.x;f[1]=d.y;d.x=f[2];d.y=f[3];b.ya(d);f[2]=d.x;f[3]=d.y;d.x=f[4];d.y=f[5];b.ya(d);f[4]=d.x;f[5]=d.y;d.x=f[6];d.y=f[7];b.ya(d);f[6]=d.x;f[7]=d.y}J.free(d)};Q.prototype.Ev=function(){if(this.qa||this.nr!==this.figures.Ba)return!0;for(var a=this.figures.m,b=a.length,c=0;c<b;c++)if(a[c].Ev())return!0;return!1};\nQ.prototype.computeBounds=function(){this.qa=!1;this.Zm=this.Hk=null;this.$m=NaN;this.nr=this.figures.Ba;for(var a=this.figures.m,b=a.length,c=0;c<b;c++){var d=a[c];d.qa=!1;var e=d.segments;d.bs=e.Ba;d=e.m;e=d.length;for(var f=0;f<e;f++){var g=d[f];g.qa=!1;g.Od=null}}a=this.Zq;a.ea();isNaN(this.kl)||isNaN(this.jl)?a.h(0,0,0,0):a.h(0,0,this.kl,this.jl);Ed(this,a,!1);$b(a,0,0,0,0);a.freeze()};Q.prototype.Kx=function(){var a=new N;Ed(this,a,!0);return a};\nfunction Ed(a,b,c){switch(a.type){case Q.j:case Q.C:case Q.M:c?b.h(a.Zc,a.$c,0,0):$b(b,a.Zc,a.$c,0,0);$b(b,a.fc,a.oc,0,0);break;case Q.o:var d=a.figures;a=d.m;d=d.length;for(var e=0;e<d;e++){var f=a[e];c&&0===e?b.h(f.startX,f.startY,0,0):$b(b,f.startX,f.startY,0,0);for(var g=f.segments.m,h=g.length,k=f.startX,l=f.startY,m=0;m<h;m++){var n=g[m];switch(n.type){case ud:case Fd:k=n.endX;l=n.endY;$b(b,k,l,0,0);break;case Md:L.cm(k,l,n.point1X,n.point1Y,n.point2X,n.point2Y,n.endX,n.endY,.5,b);k=n.endX;\nl=n.endY;break;case Nd:L.Lv(k,l,n.point1X,n.point1Y,n.endX,n.endY,.5,b);k=n.endX;l=n.endY;break;case Od:case Pd:var p=n.type===Od?Qd(n,f):Rd(n,f,k,l),r=p.length;if(0===r){k=n.type===Od?n.centerX:n.endX;l=n.type===Od?n.centerY:n.endY;$b(b,k,l,0,0);break}n=null;for(var q=0;q<r;q++)n=p[q],L.cm(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],.5,b);null!==n&&(k=n[6],l=n[7]);break;default:C(\"Unknown Segment type: \"+n.type)}}}break;default:C(\"Unknown Geometry type: \"+a.type)}}\nQ.prototype.normalize=function(){this.v&&wa(this);var a=this.Kx();this.offset(-a.x,-a.y);return new J(-a.x,-a.y)};Q.prototype.offset=function(a,b){this.v&&wa(this);this.transform(1,0,0,1,a,b);return this};Q.prototype.scale=function(a,b){this.v&&wa(this);this.transform(a,0,0,b,0,0);return this};Q.prototype.rotate=function(a,b,c){this.v&&wa(this);void 0===b&&(b=0);void 0===c&&(c=0);var d=qd.alloc();d.reset();d.rotate(a,b,c);this.transform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);qd.free(d);return this};\nt=Q.prototype;\nt.transform=function(a,b,c,d,e,f){switch(this.type){case Q.j:case Q.C:case Q.M:var g=this.Zc;var h=this.$c;this.Zc=g*a+h*c+e;this.$c=g*b+h*d+f;g=this.fc;h=this.oc;this.fc=g*a+h*c+e;this.oc=g*b+h*d+f;break;case Q.o:for(var k=this.figures.m,l=k.length,m=0;m<l;m++){var n=k[m];g=n.startX;h=n.startY;n.startX=g*a+h*c+e;n.startY=g*b+h*d+f;n=n.segments.m;for(var p=n.length,r=0;r<p;r++){var q=n[r];switch(q.type){case ud:case Fd:g=q.endX;h=q.endY;q.endX=g*a+h*c+e;q.endY=g*b+h*d+f;break;case Md:g=q.point1X;\nh=q.point1Y;q.point1X=g*a+h*c+e;q.point1Y=g*b+h*d+f;g=q.point2X;h=q.point2Y;q.point2X=g*a+h*c+e;q.point2Y=g*b+h*d+f;g=q.endX;h=q.endY;q.endX=g*a+h*c+e;q.endY=g*b+h*d+f;break;case Nd:g=q.point1X;h=q.point1Y;q.point1X=g*a+h*c+e;q.point1Y=g*b+h*d+f;g=q.endX;h=q.endY;q.endX=g*a+h*c+e;q.endY=g*b+h*d+f;break;case Od:g=q.centerX;h=q.centerY;q.centerX=g*a+h*c+e;q.centerY=g*b+h*d+f;0!==b&&(g=180*Math.atan2(b,a)/Math.PI,0>g&&(g+=360),q.startAngle+=g);0>a&&(q.startAngle=180-q.startAngle,q.sweepAngle=-q.sweepAngle);\n0>d&&(q.startAngle=-q.startAngle,q.sweepAngle=-q.sweepAngle);q.radiusX*=Math.sqrt(a*a+c*c);void 0!==q.radiusY&&(q.radiusY*=Math.sqrt(b*b+d*d));break;case Pd:g=q.endX;h=q.endY;q.endX=g*a+h*c+e;q.endY=g*b+h*d+f;if(0===q.radiusX||0===q.radiusY)break;0!==b&&(g=180*Math.atan2(b,a)/Math.PI,0>g&&(g+=360),q.xAxisRotation+=g);0>a&&(q.xAxisRotation=180-q.xAxisRotation,q.isClockwiseArc=!q.isClockwiseArc);0>d&&(q.xAxisRotation=-q.xAxisRotation,q.isClockwiseArc=!q.isClockwiseArc);q.radiusX*=Math.sqrt(a*a+c*c);\nq.radiusY*=Math.sqrt(b*b+d*d);break;default:C(\"Unknown Segment type: \"+q.type)}}}}this.qa=!0;return this};\nt.$=function(a,b){void 0===b&&(b=0);var c=this.Zc,d=this.$c,e=this.fc,f=this.oc;switch(this.type){case Q.j:return L.Mb(c,d,e,f,b,a.x,a.y);case Q.C:var g=N.allocAt(Math.min(c,e)-b,Math.min(d,f)-b,Math.abs(e-c)+2*b,Math.abs(f-d)+2*b);a=g.$(a);N.free(g);return a;case Q.M:g=Math.min(c,e)-b;var h=Math.min(d,f)-b;c=(Math.abs(e-c)+2*b)/2;b=(Math.abs(f-d)+2*b)/2;if(0>=c||0>=b)return!1;g=a.x-(g+c);h=a.y-(h+b);return 1>=g*g/(c*c)+h*h/(b*b);case Q.o:return Sd(this,a,b,!0,!1);default:return!1}};\nfunction Sd(a,b,c,d,e){var f=b.x;b=b.y;for(var g=a.bounds.x-20,h=0,k,l,m,n,p=a.figures.m,r=p.length,q=0;q<r;q++){var u=p[q];if(u.isFilled){if(d&&u.$(f,b,c))return!0;var v=u.segments;k=u.startX;l=u.startY;for(var w=k,z=l,y=v.m,A=0;A<=v.length;A++){var B=void 0;if(A!==v.length){B=y[A];var F=B.type;a=B.endX;n=B.endY}else F=ud,a=w,n=z;switch(F){case Fd:w=Td(f,b,g,b,k,l,w,z);if(isNaN(w))return!0;h+=w;w=a;z=n;break;case ud:k=Td(f,b,g,b,k,l,a,n);if(isNaN(k))return!0;h+=k;break;case Md:m=L.$p(k,l,B.point1X,\nB.point1Y,B.point2X,B.point2Y,a,n,g,b,f,b,.5);h+=m;break;case Nd:m=L.$p(k,l,(k+2*B.point1X)/3,(l+2*B.point1Y)/3,(2*B.point1X+a)/3,(2*B.point1Y+n)/3,a,n,g,b,f,b,.5);h+=m;break;case Od:case Pd:F=B.type===Od?Qd(B,u):Rd(B,u,k,l);var K=F.length;if(0===K){k=Td(f,b,g,b,k,l,B.type===Od?B.centerX:B.endX,B.type===Od?B.centerY:B.endY);if(isNaN(k))return!0;h+=k;break}B=null;for(var S=0;S<K;S++){B=F[S];if(0===S){m=Td(f,b,g,b,k,l,B[0],B[1]);if(isNaN(m))return!0;h+=m}m=L.$p(B[0],B[1],B[2],B[3],B[4],B[5],B[6],B[7],\ng,b,f,b,.5);h+=m}null!==B&&(a=B[6],n=B[7]);break;default:C(\"Unknown Segment type: \"+B.type)}k=a;l=n}if(0!==h)return!0;h=0}else if(u.$(f,b,e?c:c+2))return!0}return 0!==h}\nfunction Td(a,b,c,d,e,f,g,h){if(L.Mb(e,f,g,h,.05,a,b))return NaN;var k=(a-c)*(f-h);if(0===k)return 0;var l=((a*d-b*c)*(e-g)-(a-c)*(e*h-f*g))/k;b=(a*d-b*c)*(f-h)/k;if(l>=a)return 0;if((e>g?e-g:g-e)<(f>h?f-h:h-f))if(f<h){if(b<f||b>h)return 0}else{if(b<h||b>f)return 0}else if(e<g){if(l<e||l>g)return 0}else if(l<g||l>e)return 0;return 0<k?1:-1}function Ud(a,b,c,d){a=a.figures.m;for(var e=a.length,f=0;f<e;f++)if(a[f].$(b,c,d))return!0;return!1}\nt.uv=function(a,b){0>a?a=0:1<a&&(a=1);void 0===b&&(b=new J);if(this.type===Q.j)return b.h(this.startX+a*(this.endX-this.startX),this.startY+a*(this.endY-this.startY)),b;for(var c=this.flattenedSegments,d=this.flattenedLengths,e=c.length,f=this.flattenedTotalLength*a,g=0,h=0;h<e;h++){var k=d[h],l=k.length;for(a=0;a<l;a++){var m=k[a];if(g+m>=f)return d=f-g,d=0===m?0:d/m,c=c[h],h=c[2*a],e=c[2*a+1],b.h(h+(c[2*a+2]-h)*d,e+(c[2*a+3]-e)*d),b;g+=m}}return b};\nt.Xx=function(a){0>a?a=0:1<a&&(a=1);if(this.type===Q.j)return 180*Math.atan2(this.endY-this.startY,this.endX-this.startX)/Math.PI;for(var b=this.flattenedSegments,c=this.flattenedLengths,d=b.length,e=this.flattenedTotalLength*a,f=0,g=0;g<d;g++){var h=c[g],k=h.length;for(a=0;a<k;a++){var l=h[a];if(f+l>=e)return e=b[g],b=e[2*a],c=e[2*a+1],d=e[2*a+2],a=e[2*a+3],1>Math.abs(d-b)&&1>Math.abs(a-c)?0:1>Math.abs(d-b)?0<=a-c?90:270:1>Math.abs(a-c)?0<=d-b?0:180:180*Math.atan2(a-c,d-b)/Math.PI;f+=l}}return NaN};\nt.vv=function(a,b){0>a?a=0:1<a&&(a=1);void 0===b&&(b=[]);b.length=3;if(this.type===Q.j)return b[0]=this.startX+a*(this.endX-this.startX),b[1]=this.startY+a*(this.endY-this.startY),b[2]=180*Math.atan2(this.endY-this.startY,this.endX-this.startX)/Math.PI,b;for(var c=this.flattenedSegments,d=this.flattenedLengths,e=c.length,f=this.flattenedTotalLength*a,g=0,h=0;h<e;h++){var k=d[h],l=k.length;for(a=0;a<l;a++){var m=k[a];if(g+m>=f)return d=f-g,d=0===m?0:d/m,m=c[h],c=m[2*a],h=m[2*a+1],e=m[2*a+2],a=m[2*\na+3],b[0]=c+(e-c)*d,b[1]=h+(a-h)*d,b[2]=1>Math.abs(e-c)&&1>Math.abs(a-h)?0:1>Math.abs(e-c)?0<=a-h?90:270:1>Math.abs(a-h)?0<=e-c?0:180:180*Math.atan2(a-h,e-c)/Math.PI,b;g+=m}}return b};\nt.Yx=function(a){if(this.type===Q.j){var b=this.startX,c=this.startY,d=this.endX,e=this.endY;if(b!==d||c!==e){var f=a.x;a=a.y;if(b===d){if(c<e){var g=c;d=e}else g=e,d=c;return a<=g?g===c?0:1:a>=d?d===c?0:1:Math.abs(a-c)/(d-g)}if(c===e)return b<d?g=b:(g=d,d=b),f<=g?g===b?0:1:f>=d?d===b?0:1:Math.abs(f-b)/(d-g);g=(d-b)*(d-b)+(e-c)*(e-c);var h=J.alloc();L.Eh(b,c,d,e,f,a,h);a=h.x;f=h.y;J.free(h);return Math.sqrt(((a-b)*(a-b)+(f-c)*(f-c))/g)}}else if(this.type===Q.C){g=this.startX;h=this.startY;var k=this.endX;\ne=this.endY;if(g!==k||h!==e){b=k-g;c=e-h;f=2*b+2*c;d=a.x;a=a.y;d=Math.min(Math.max(d,g),k);a=Math.min(Math.max(a,h),e);g=Math.abs(d-g);k=Math.abs(d-k);h=Math.abs(a-h);e=Math.abs(a-e);var l=Math.min(g,k,h,e);if(l===h)return d/f;if(l===k)return(b+a)/f;if(l===e)return(2*b+c-d)/f;if(l===g)return(2*b+2*c-a)/f}}else{b=this.flattenedSegments;c=this.flattenedLengths;f=this.flattenedTotalLength;d=J.alloc();e=Infinity;h=g=0;k=b.length;for(var m=l=0,n=0;n<k;n++)for(var p=b[n],r=c[n],q=p.length,u=0;u<q;u+=2){var v=\np[u],w=p[u+1];if(0!==u){L.Eh(l,m,v,w,a.x,a.y,d);var z=(d.x-a.x)*(d.x-a.x)+(d.y-a.y)*(d.y-a.y);z<e&&(e=z,g=h,g+=Math.sqrt((d.x-l)*(d.x-l)+(d.y-m)*(d.y-m)));h+=r[(u-2)/2]}l=v;m=w}J.free(d);a=g/f;return 0>a?0:1<a?1:a}return 0};\nfunction Vd(a){if(null===a.Hk){var b=a.Hk=[],c=a.Zm=[],d=[],e=[];if(a.type===Q.j)d.push(a.startX),d.push(a.startY),d.push(a.endX),d.push(a.endY),b.push(d),e.push(Math.sqrt((a.startX-a.endX)*(a.startX-a.endX)+(a.startY-a.endY)*(a.startY-a.endY))),c.push(e);else if(a.type===Q.C)d.push(a.startX),d.push(a.startY),d.push(a.endX),d.push(a.startY),d.push(a.endX),d.push(a.endY),d.push(a.startX),d.push(a.endY),d.push(a.startX),d.push(a.startY),b.push(d),e.push(Math.abs(a.startX-a.endX)),e.push(Math.abs(a.startY-\na.endY)),e.push(Math.abs(a.startX-a.endX)),e.push(Math.abs(a.startY-a.endY)),c.push(e);else if(a.type===Q.M){var f=new Wd;f.startX=a.endX;f.startY=(a.startY+a.endY)/2;var g=new Xd(Od);g.startAngle=0;g.sweepAngle=360;g.centerX=(a.startX+a.endX)/2;g.centerY=(a.startY+a.endY)/2;g.radiusX=Math.abs(a.startX-a.endX)/2;g.radiusY=Math.abs(a.startY-a.endY)/2;f.add(g);a=Qd(g,f);e=a.length;if(0===e)d.push(g.centerX),d.push(g.centerY);else{g=f.startX;f=f.startY;for(var h=0;h<e;h++){var k=a[h];L.Ce(g,f,k[2],k[3],\nk[4],k[5],k[6],k[7],.5,d);g=k[6];f=k[7]}}b.push(d);c.push(Yd(d))}else for(a=a.figures.iterator;a.next();){e=a.value;d=[];d.push(e.startX);d.push(e.startY);g=e.startX;f=e.startY;h=g;k=f;for(var l=e.segments.m,m=l.length,n=0;n<m;n++){var p=l[n];switch(p.type){case Fd:4<=d.length&&(b.push(d),c.push(Yd(d)));d=[];d.push(p.endX);d.push(p.endY);g=p.endX;f=p.endY;h=g;k=f;break;case ud:d.push(p.endX);d.push(p.endY);g=p.endX;f=p.endY;break;case Md:L.Ce(g,f,p.point1X,p.point1Y,p.point2X,p.point2Y,p.endX,p.endY,\n.5,d);g=p.endX;f=p.endY;break;case Nd:L.xq(g,f,p.point1X,p.point1Y,p.endX,p.endY,.5,d);g=p.endX;f=p.endY;break;case Od:var r=Qd(p,e),q=r.length;if(0===q){d.push(p.centerX);d.push(p.centerY);g=p.centerX;f=p.centerY;break}for(var u=0;u<q;u++){var v=r[u];L.Ce(g,f,v[2],v[3],v[4],v[5],v[6],v[7],.5,d);g=v[6];f=v[7]}break;case Pd:r=Rd(p,e,g,f);q=r.length;u=p.endX;v=p.endY;if(0===q){d.push(u);d.push(v);g=u;f=v;break}for(u=0;u<q;u++)v=r[u],L.Ce(g,f,v[2],v[3],v[4],v[5],v[6],v[7],.5,d),g=v[6],f=v[7];break;default:C(\"Segment not of valid type: \"+\np.type)}p.isClosed&&(d.push(h),d.push(k))}4<=d.length&&(b.push(d),c.push(Yd(d)))}}}function Yd(a){for(var b=[],c=0,d=0,e=a.length,f=0;f<e;f+=2){var g=a[f],h=a[f+1];0!==f&&b.push(Math.sqrt(Cb(c,d,g,h)));c=g;d=h}return b}t.add=function(a){this.rj.add(a);return this};t.Km=function(a,b,c,d,e,f,g,h){this.v&&wa(this);this.hf=(new P(a,b,e,f)).freeze();this.jf=(new P(c,d,g,h)).freeze();return this};\nna.Object.defineProperties(Q.prototype,{flattenedSegments:{get:function(){Vd(this);return this.Hk}},flattenedLengths:{get:function(){Vd(this);return this.Zm}},flattenedTotalLength:{get:function(){var a=this.$m;if(isNaN(a)){if(this.type===Q.j){a=Math.abs(this.endX-this.startX);var b=Math.abs(this.endY-this.startY);a=Math.sqrt(a*a+b*b)}else if(this.type===Q.C)a=2*Math.abs(this.endX-this.startX)+2*Math.abs(this.endY-\nthis.startY);else{b=this.flattenedLengths;for(var c=b.length,d=a=0;d<c;d++)for(var e=b[d],f=e.length,g=0;g<f;g++)a+=e[g]}this.$m=a}return a}},type:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.v&&wa(this,a),this.ia=a,this.qa=!0)}},startX:{get:function(){return this.Zc},set:function(a){this.Zc!==a&&(this.v&&wa(this,a),this.Zc=a,this.qa=!0)}},startY:{get:function(){return this.$c},set:function(a){this.$c!==\na&&(this.v&&wa(this,a),this.$c=a,this.qa=!0)}},endX:{get:function(){return this.fc},set:function(a){this.fc!==a&&(this.v&&wa(this,a),this.fc=a,this.qa=!0)}},endY:{get:function(){return this.oc},set:function(a){this.oc!==a&&(this.v&&wa(this,a),this.oc=a,this.qa=!0)}},figures:{get:function(){return this.rj},set:function(a){this.rj!==a&&(this.v&&wa(this,a),this.rj=a,this.qa=!0)}},spot1:{\nget:function(){return this.hf},set:function(a){this.v&&wa(this,a);this.hf=a.I()}},spot2:{get:function(){return this.jf},set:function(a){this.v&&wa(this,a);this.jf=a.I()}},defaultStretch:{get:function(){return this.Kf},set:function(a){this.v&&wa(this,a);this.Kf=a}},bounds:{get:function(){this.Ev()&&this.computeBounds();return this.Zq}}});Q.prototype.setSpots=Q.prototype.Km;Q.prototype.add=Q.prototype.add;\nQ.prototype.getFractionForPoint=Q.prototype.Yx;Q.prototype.getPointAndAngleAlongPath=Q.prototype.vv;Q.prototype.getAngleAlongPath=Q.prototype.Xx;Q.prototype.getPointAlongPath=Q.prototype.uv;Q.prototype.containsPoint=Q.prototype.$;Q.prototype.transform=Q.prototype.transform;Q.prototype.rotate=Q.prototype.rotate;Q.prototype.scale=Q.prototype.scale;Q.prototype.offset=Q.prototype.offset;Q.prototype.normalize=Q.prototype.normalize;Q.prototype.computeBoundsWithoutOrigin=Q.prototype.Kx;\nQ.prototype.equalsApprox=Q.prototype.Ta;Q.className=\"Geometry\";Q.j=new D(Q,\"Line\",0);Q.C=new D(Q,\"Rectangle\",1);Q.M=new D(Q,\"Ellipse\",2);Q.o=new D(Q,\"Path\",3);Q.Oc=\"UuBbMmZzLlHhVvCcSsQqTtAaFfXx\";Q.className=\"Geometry\";Q.stringify=Q.Ga;Q.fillPath=Q.Wa;Q.parse=Q.parse;Q.Line=Q.j;Q.Rectangle=Q.C;Q.Ellipse=Q.M;Q.Path=Q.o;\nfunction Wd(a,b,c,d){Ta(this);this.Gw=null;this.v=!1;void 0===c&&(c=!0);this.xr=c;void 0===d&&(d=!0);this.Cr=d;void 0!==a?this.Zc=a:this.Zc=0;void 0!==b?this.$c=b:this.$c=0;this.Ml=new E;this.bs=this.Ml.Ba;this.qa=!0}Wd.prototype.copy=function(){var a=new Wd;a.xr=this.xr;a.Cr=this.Cr;a.Zc=this.Zc;a.$c=this.$c;for(var b=this.Ml.m,c=b.length,d=a.Ml,e=0;e<c;e++){var f=b[e].copy();d.add(f)}a.bs=this.bs;a.qa=this.qa;a.Gw=this.Gw;return a};t=Wd.prototype;\nt.Ta=function(a){if(!(a instanceof Wd&&L.w(this.startX,a.startX)&&L.w(this.startY,a.startY)))return!1;var b=this.segments.m;a=a.segments.m;var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(!b[d].Ta(a[d]))return!1;return!0};t.toString=function(a){void 0===a&&(a=-1);var b=0>a?\"M\"+this.startX.toString()+\" \"+this.startY.toString():\"M\"+this.startX.toFixed(a)+\" \"+this.startY.toFixed(a);for(var c=this.segments.m,d=c.length,e=0;e<d;e++)b+=\" \"+c[e].toString(a);return b};\nt.freeze=function(){this.v=!0;var a=this.segments;a.freeze();var b=a.m;a=a.length;for(var c=0;c<a;c++)b[c].freeze();return this};t.ea=function(){this.v=!1;var a=this.segments;a.ea();a=a.m;for(var b=a.length,c=0;c<b;c++)a[c].ea();return this};t.Ev=function(){if(this.qa)return!0;var a=this.segments;if(this.bs!==a.Ba)return!0;a=a.m;for(var b=a.length,c=0;c<b;c++)if(a[c].qa)return!0;return!1};t.add=function(a){this.Ml.add(a);return this};\nt.$=function(a,b,c){for(var d=this.startX,e=this.startY,f=d,g=e,h=this.segments.m,k=h.length,l=0;l<k;l++){var m=h[l];switch(m.type){case Fd:f=m.endX;g=m.endY;d=m.endX;e=m.endY;break;case ud:if(L.Mb(d,e,m.endX,m.endY,c,a,b))return!0;d=m.endX;e=m.endY;break;case Md:if(L.vs(d,e,m.point1X,m.point1Y,m.point2X,m.point2Y,m.endX,m.endY,.5,a,b,c))return!0;d=m.endX;e=m.endY;break;case Nd:if(L.Mv(d,e,m.point1X,m.point1Y,m.endX,m.endY,.5,a,b,c))return!0;d=m.endX;e=m.endY;break;case Od:case Pd:var n=m.type===\nOd?Qd(m,this):Rd(m,this,d,e),p=n.length,r=m.type===Od?m.centerX:m.endX,q=m.type===Od?m.centerY:m.endY;if(0===p){if(L.Mb(d,e,r,q,c,a,b))return!0;d=r;e=q;break}r=null;for(q=0;q<p;q++)if(r=n[q],0===q&&L.Mb(d,e,r[0],r[1],c,a,b)||L.vs(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],.5,a,b,c))return!0;null!==r&&(d=r[6],e=r[7]);break;default:C(\"Unknown Segment type: \"+m.type)}if(m.isClosed&&(d!==f||e!==g)&&L.Mb(d,e,f,g,c,a,b))return!0}return!1};\nna.Object.defineProperties(Wd.prototype,{isFilled:{get:function(){return this.xr},set:function(a){this.v&&wa(this,a);this.xr=a}},isShadowed:{get:function(){return this.Cr},set:function(a){this.v&&wa(this,a);this.Cr=a}},startX:{get:function(){return this.Zc},set:function(a){this.v&&wa(this,a);this.Zc=a;this.qa=!0}},startY:{get:function(){return this.$c},set:function(a){this.v&&wa(this,\na);this.$c=a;this.qa=!0}},segments:{get:function(){return this.Ml},set:function(a){this.v&&wa(this,a);this.Ml=a;this.qa=!0}}});Wd.prototype.add=Wd.prototype.add;Wd.prototype.equalsApprox=Wd.prototype.Ta;Wd.className=\"PathFigure\";\nfunction Xd(a,b,c,d,e,f,g,h){Ta(this);this.v=!1;void 0===a&&(a=ud);this.ia=a;void 0!==b?this.fc=b:this.fc=0;void 0!==c?this.oc=c:this.oc=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===f&&(f=0);void 0===g&&(g=0);a===Pd?(a=f%360,0>a&&(a+=360),this.Ae=a,this.pi=0,this.ri=Math.max(d,0),this.ah=Math.max(e,0),this.rl=\"boolean\"===typeof g?g:\"number\"===typeof g?!!g:!1,this.Nk=!!h):(this.Ae=d,this.pi=e,a===Od&&(f=Math.max(f,0)),this.ri=f,\"number\"===typeof g?(a===Od&&(g=Math.max(g,0)),this.ah=g):this.ah=0,\nthis.Nk=this.rl=!1);this.yj=!1;this.qa=!0;this.Od=null}Xd.prototype.copy=function(){var a=new Xd;a.ia=this.ia;a.fc=this.fc;a.oc=this.oc;a.Ae=this.Ae;a.pi=this.pi;a.ri=this.ri;a.ah=this.ah;a.rl=this.rl;a.Nk=this.Nk;a.yj=this.yj;a.qa=this.qa;return a};t=Xd.prototype;\nt.Ta=function(a){if(!(a instanceof Xd)||this.type!==a.type||this.isClosed!==a.isClosed)return!1;switch(this.type){case Fd:case ud:return L.w(this.endX,a.endX)&&L.w(this.endY,a.endY);case Md:return L.w(this.endX,a.endX)&&L.w(this.endY,a.endY)&&L.w(this.point1X,a.point1X)&&L.w(this.point1Y,a.point1Y)&&L.w(this.point2X,a.point2X)&&L.w(this.point2Y,a.point2Y);case Nd:return L.w(this.endX,a.endX)&&L.w(this.endY,a.endY)&&L.w(this.point1X,a.point1X)&&L.w(this.point1Y,a.point1Y);case Od:return L.w(this.startAngle,\na.startAngle)&&L.w(this.sweepAngle,a.sweepAngle)&&L.w(this.centerX,a.centerX)&&L.w(this.centerY,a.centerY)&&L.w(this.radiusX,a.radiusX)&&L.w(this.radiusY,a.radiusY);case Pd:return this.isClockwiseArc===a.isClockwiseArc&&this.isLargeArc===a.isLargeArc&&L.w(this.xAxisRotation,a.xAxisRotation)&&L.w(this.endX,a.endX)&&L.w(this.endY,a.endY)&&L.w(this.radiusX,a.radiusX)&&L.w(this.radiusY,a.radiusY);default:return!1}};t.gb=function(a){a.classType===Xd&&(this.type=a)};\nt.toString=function(a){void 0===a&&(a=-1);switch(this.type){case Fd:a=0>a?\"M\"+this.endX.toString()+\" \"+this.endY.toString():\"M\"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);break;case ud:a=0>a?\"L\"+this.endX.toString()+\" \"+this.endY.toString():\"L\"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);break;case Md:a=0>a?\"C\"+this.point1X.toString()+\" \"+this.point1Y.toString()+\" \"+this.point2X.toString()+\" \"+this.point2Y.toString()+\" \"+this.endX.toString()+\" \"+this.endY.toString():\"C\"+this.point1X.toFixed(a)+\n\" \"+this.point1Y.toFixed(a)+\" \"+this.point2X.toFixed(a)+\" \"+this.point2Y.toFixed(a)+\" \"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);break;case Nd:a=0>a?\"Q\"+this.point1X.toString()+\" \"+this.point1Y.toString()+\" \"+this.endX.toString()+\" \"+this.endY.toString():\"Q\"+this.point1X.toFixed(a)+\" \"+this.point1Y.toFixed(a)+\" \"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);break;case Od:a=0>a?\"B\"+this.startAngle.toString()+\" \"+this.sweepAngle.toString()+\" \"+this.centerX.toString()+\" \"+this.centerY.toString()+\n\" \"+this.radiusX.toString()+\" \"+this.radiusY.toString():\"B\"+this.startAngle.toFixed(a)+\" \"+this.sweepAngle.toFixed(a)+\" \"+this.centerX.toFixed(a)+\" \"+this.centerY.toFixed(a)+\" \"+this.radiusX.toFixed(a)+\" \"+this.radiusY.toFixed(a);break;case Pd:a=0>a?\"A\"+this.radiusX.toString()+\" \"+this.radiusY.toString()+\" \"+this.xAxisRotation.toString()+\" \"+(this.isLargeArc?1:0)+\" \"+(this.isClockwiseArc?1:0)+\" \"+this.endX.toString()+\" \"+this.endY.toString():\"A\"+this.radiusX.toFixed(a)+\" \"+this.radiusY.toFixed(a)+\n\" \"+this.xAxisRotation.toFixed(a)+\" \"+(this.isLargeArc?1:0)+\" \"+(this.isClockwiseArc?1:0)+\" \"+this.endX.toFixed(a)+\" \"+this.endY.toFixed(a);break;default:a=this.type.toString()}return a+(this.yj?\"z\":\"\")};t.freeze=function(){this.v=!0;return this};t.ea=function(){this.v=!1;return this};t.close=function(){this.yj=!0;return this};\nfunction Qd(a,b){if(null!==a.Od&&!1===b.qa)return a.Od;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.Od=[],a.Od;b=a.Ae;var e=a.pi,f=L.Lx(0,0,c<d?c:d,a.startAngle,a.startAngle+a.sweepAngle,!1);if(c!==d){var g=qd.alloc();g.reset();c<d?g.scale(1,d/c):g.scale(c/d,1);Q.Ha(f,g);qd.free(g)}c=f.length;for(d=0;d<c;d++)g=f[d],g[0]+=b,g[1]+=e,g[2]+=b,g[3]+=e,g[4]+=b,g[5]+=e,g[6]+=b,g[7]+=e;a.Od=f;return a.Od}\nfunction Rd(a,b,c,d){function e(a,b,c,d){return(a*d<b*c?-1:1)*Math.acos((a*c+b*d)/(Math.sqrt(a*a+b*b)*Math.sqrt(c*c+d*d)))}if(null!==a.Od&&!1===b.qa)return a.Od;if(0===a.radiusX||0===a.radiusY)return a.Od=[],a.Od;b=a.ri;var f=a.ah;0===b&&(b=1E-4);0===f&&(f=1E-4);var g=Math.PI/180*a.Ae,h=a.rl,k=a.Nk,l=a.fc,m=a.oc,n=Math.cos(g),p=Math.sin(g),r=n*(c-l)/2+p*(d-m)/2;g=-p*(c-l)/2+n*(d-m)/2;var q=r*r/(b*b)+g*g/(f*f);1<q&&(b*=Math.sqrt(q),f*=Math.sqrt(q));q=(h===k?-1:1)*Math.sqrt((b*b*f*f-b*b*g*g-f*f*r*r)/\n(b*b*g*g+f*f*r*r));isNaN(q)&&(q=0);h=q*b*g/f;q=q*-f*r/b;isNaN(h)&&(h=0);isNaN(q)&&(q=0);c=(c+l)/2+n*h-p*q;d=(d+m)/2+p*h+n*q;m=e(1,0,(r-h)/b,(g-q)/f);n=(r-h)/b;l=(g-q)/f;r=(-r-h)/b;h=(-g-q)/f;g=e(n,l,r,h);r=(n*r+l*h)/(Math.sqrt(n*n+l*l)*Math.sqrt(r*r+h*h));-1>=r?g=Math.PI:1<=r&&(g=0);!k&&0<g&&(g-=2*Math.PI);k&&0>g&&(g+=2*Math.PI);k=b>f?1:b/f;r=b>f?f/b:1;b=L.Lx(0,0,b>f?b:f,m,m+g,!0);f=qd.alloc();f.reset();f.translate(c,d);f.rotate(a.Ae,0,0);f.scale(k,r);Q.Ha(b,f);qd.free(f);a.Od=b;return a.Od}\nna.Object.defineProperties(Xd.prototype,{isClosed:{get:function(){return this.yj},set:function(a){this.yj!==a&&(this.yj=a,this.qa=!0)}},type:{get:function(){return this.ia},set:function(a){this.v&&wa(this,a);this.ia=a;this.qa=!0}},endX:{get:function(){return this.fc},set:function(a){this.v&&wa(this,a);this.fc=a;this.qa=!0}},endY:{get:function(){return this.oc},set:function(a){this.v&&\nwa(this,a);this.oc=a;this.qa=!0}},point1X:{get:function(){return this.Ae},set:function(a){this.v&&wa(this,a);this.Ae=a;this.qa=!0}},point1Y:{get:function(){return this.pi},set:function(a){this.v&&wa(this,a);this.pi=a;this.qa=!0}},point2X:{get:function(){return this.ri},set:function(a){this.v&&wa(this,a);this.ri=a;this.qa=!0}},point2Y:{get:function(){return this.ah},set:function(a){this.v&&\nwa(this,a);this.ah=a;this.qa=!0}},centerX:{get:function(){return this.Ae},set:function(a){this.v&&wa(this,a);this.Ae=a;this.qa=!0}},centerY:{get:function(){return this.pi},set:function(a){this.v&&wa(this,a);this.pi=a;this.qa=!0}},radiusX:{get:function(){return this.ri},set:function(a){0>a&&xa(a,\">= zero\",Xd,\"radiusX\");this.v&&wa(this,a);this.ri=a;this.qa=!0}},radiusY:{get:function(){return this.ah},\nset:function(a){0>a&&xa(a,\">= zero\",Xd,\"radiusY\");this.v&&wa(this,a);this.ah=a;this.qa=!0}},startAngle:{get:function(){return this.fc},set:function(a){this.fc!==a&&(this.v&&wa(this,a),a%=360,0>a&&(a+=360),this.fc=a,this.qa=!0)}},sweepAngle:{get:function(){return this.oc},set:function(a){this.v&&wa(this,a);360<a&&(a=360);-360>a&&(a=-360);this.oc=a;this.qa=!0}},isClockwiseArc:{get:function(){return this.Nk},set:function(a){this.v&&\nwa(this,a);this.Nk=a;this.qa=!0}},isLargeArc:{get:function(){return this.rl},set:function(a){this.v&&wa(this,a);this.rl=a;this.qa=!0}},xAxisRotation:{get:function(){return this.Ae},set:function(a){a%=360;0>a&&(a+=360);this.v&&wa(this,a);this.Ae=a;this.qa=!0}}});Xd.prototype.equalsApprox=Xd.prototype.Ta;\nvar Fd=new D(Xd,\"Move\",0),ud=new D(Xd,\"Line\",1),Md=new D(Xd,\"Bezier\",2),Nd=new D(Xd,\"QuadraticBezier\",3),Od=new D(Xd,\"Arc\",4),Pd=new D(Xd,\"SvgArc\",4);Xd.className=\"PathSegment\";Xd.Move=Fd;Xd.Line=ud;Xd.Bezier=Md;Xd.QuadraticBezier=Nd;Xd.Arc=Od;Xd.SvgArc=Pd;function Zd(){this.F=null;this.Wu=(new J(0,0)).freeze();this.Ht=(new J(0,0)).freeze();this.Sq=this.Lr=0;this.Tq=1;this.ci=\"\";this.rs=this.hr=!1;this.fr=this.Vq=0;this.sg=this.ur=this.Ar=!1;this.lr=null;this.ps=0;this.md=this.os=null}\nZd.prototype.copy=function(){var a=new Zd;return this.clone(a)};Zd.prototype.clone=function(a){a.F=this.F;a.Wu.assign(this.viewPoint);a.Ht.assign(this.documentPoint);a.Lr=this.Lr;a.Sq=this.Sq;a.Tq=this.Tq;a.ci=this.ci;a.hr=this.hr;a.rs=this.rs;a.Vq=this.Vq;a.fr=this.fr;a.Ar=this.Ar;a.ur=this.ur;a.sg=this.sg;a.lr=this.lr;a.ps=this.ps;a.os=this.os;a.md=this.md;return a};\nZd.prototype.toString=function(){var a=\"^\";0!==this.modifiers&&(a+=\"M:\"+this.modifiers);0!==this.button&&(a+=\"B:\"+this.button);\"\"!==this.key&&(a+=\"K:\"+this.key);0!==this.clickCount&&(a+=\"C:\"+this.clickCount);0!==this.delta&&(a+=\"D:\"+this.delta);this.handled&&(a+=\"h\");this.bubbles&&(a+=\"b\");null!==this.documentPoint&&(a+=\"@\"+this.documentPoint.toString());return a};Zd.prototype.mq=function(a,b){var c=this.diagram;if(null===c)return b;$d(c,this.event,a,b);return b};\nZd.prototype.fA=function(a,b){var c=this.diagram;if(null===c)return b;$d(c,this.event,a,b);b.assign(c.kt(b));return b};\nna.Object.defineProperties(Zd.prototype,{diagram:{get:function(){return this.F},set:function(a){this.F=a}},viewPoint:{get:function(){return this.Wu},set:function(a){this.Wu.assign(a)}},documentPoint:{get:function(){return this.Ht},set:function(a){this.Ht.assign(a)}},modifiers:{get:function(){return this.Lr},set:function(a){this.Lr=a}},button:{get:function(){return this.Sq},\nset:function(a){this.Sq=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}}},buttons:{get:function(){return this.Tq},set:function(a){this.Tq=a}},key:{get:function(){return this.ci},set:function(a){this.ci=a}},down:{get:function(){return this.hr},set:function(a){this.hr=a}},up:{get:function(){return this.rs},set:function(a){this.rs=\na}},clickCount:{get:function(){return this.Vq},set:function(a){this.Vq=a}},delta:{get:function(){return this.fr},set:function(a){this.fr=a}},isMultiTouch:{get:function(){return this.Ar},set:function(a){this.Ar=a}},handled:{get:function(){return this.ur},set:function(a){this.ur=a}},bubbles:{get:function(){return this.sg},set:function(a){this.sg=a}},event:{\nget:function(){return this.lr},set:function(a){this.lr=a}},isTouchEvent:{get:function(){var a=x.TouchEvent,b=this.event;return a&&b instanceof a?!0:(a=x.PointerEvent)&&b instanceof a&&(\"touch\"===b.pointerType||\"pen\"===b.pointerType)}},timestamp:{get:function(){return this.ps},set:function(a){this.ps=a}},targetDiagram:{get:function(){return this.os},set:function(a){this.os=a}},targetObject:{\nget:function(){return this.md},set:function(a){this.md=a}},control:{get:function(){return 0!==(this.modifiers&1)},set:function(a){this.modifiers=a?this.modifiers|1:this.modifiers&-2}},shift:{get:function(){return 0!==(this.modifiers&4)},set:function(a){this.modifiers=a?this.modifiers|4:this.modifiers&-5}},alt:{get:function(){return 0!==(this.modifiers&2)},set:function(a){this.modifiers=a?this.modifiers|\n2:this.modifiers&-3}},meta:{get:function(){return 0!==(this.modifiers&8)},set:function(a){this.modifiers=a?this.modifiers|8:this.modifiers&-9}},left:{get:function(){var a=this.event;return null===a||\"mousedown\"!==a.type&&\"mouseup\"!==a.type&&\"pointerdown\"!==a.type&&\"pointerup\"!==a.type?0!==(this.buttons&1):0===this.button},set:function(a){this.buttons=a?this.buttons|1:this.buttons&-2}},right:{get:function(){var a=\nthis.event;return null===a||\"mousedown\"!==a.type&&\"mouseup\"!==a.type&&\"pointerdown\"!==a.type&&\"pointerup\"!==a.type?0!==(this.buttons&2):2===this.button},set:function(a){this.buttons=a?this.buttons|2:this.buttons&-3}},middle:{get:function(){var a=this.event;return null===a||\"mousedown\"!==a.type&&\"mouseup\"!==a.type&&\"pointerdown\"!==a.type&&\"pointerup\"!==a.type?0!==(this.buttons&4):1===this.button},set:function(a){this.buttons=a?this.buttons|4:this.buttons&-5}}});\nZd.prototype.getMultiTouchDocumentPoint=Zd.prototype.fA;Zd.prototype.getMultiTouchViewPoint=Zd.prototype.mq;Zd.className=\"InputEvent\";function ae(){this.F=null;this.na=\"\";this.Tr=this.ks=null}ae.prototype.copy=function(){var a=new ae;a.F=this.F;a.na=this.na;a.ks=this.ks;a.Tr=this.Tr;return a};ae.prototype.toString=function(){var a=\"*\"+this.name;null!==this.subject&&(a+=\":\"+this.subject.toString());null!==this.parameter&&(a+=\"(\"+this.parameter.toString()+\")\");return a};\nna.Object.defineProperties(ae.prototype,{diagram:{get:function(){return this.F},set:function(a){this.F=a}},name:{get:function(){return this.na},set:function(a){this.na=a}},subject:{get:function(){return this.ks},set:function(a){this.ks=a}},parameter:{get:function(){return this.Tr},set:function(a){this.Tr=a}}});ae.className=\"DiagramEvent\";\nfunction be(){this.fn=ce;this.bf=this.Kr=\"\";this.Mo=this.No=this.So=this.To=this.Ro=this.F=this.Tb=null}be.prototype.clear=function(){this.Mo=this.No=this.So=this.To=this.Ro=this.F=this.Tb=null};\nbe.prototype.copy=function(){var a=new be;a.fn=this.fn;a.Kr=this.Kr;a.bf=this.bf;a.Tb=this.Tb;a.F=this.F;a.Ro=this.Ro;var b=this.To;a.To=za(b)&&\"function\"===typeof b.I?b.I():b;b=this.So;a.So=za(b)&&\"function\"===typeof b.I?b.I():b;b=this.No;a.No=za(b)&&\"function\"===typeof b.I?b.I():b;b=this.Mo;a.Mo=za(b)&&\"function\"===typeof b.I?b.I():b;return a};be.prototype.gb=function(a){a.classType===be&&(this.change=a)};\nbe.prototype.toString=function(){var a=\"\";a=this.change===de?a+\"* \":this.change===ce?a+(null!==this.model?\"!m\":\"!d\"):a+((null!==this.model?\"!m\":\"!d\")+this.change);this.propertyName&&\"string\"===typeof this.propertyName&&(a+=\" \"+this.propertyName);this.modelChange&&this.modelChange!==this.propertyName&&(a+=\" \"+this.modelChange);a+=\": \";this.change===de?null!==this.oldValue&&(a+=\" \"+this.oldValue):(null!==this.object&&(a+=Ka(this.object)),null!==this.oldValue&&(a+=\"  old: \"+Ka(this.oldValue)),null!==\nthis.oldParam&&(a+=\" \"+this.oldParam),null!==this.newValue&&(a+=\"  new: \"+Ka(this.newValue)),null!==this.newParam&&(a+=\" \"+this.newParam));return a};be.prototype.H=function(a){return a?this.oldValue:this.newValue};be.prototype.hA=function(a){return a?this.oldParam:this.newParam};be.prototype.canUndo=function(){return null!==this.model||null!==this.diagram?!0:!1};\nbe.prototype.undo=function(){this.canUndo()&&(null!==this.model?this.model.changeState(this,!0):null!==this.diagram&&this.diagram.changeState(this,!0))};be.prototype.canRedo=function(){return null!==this.model||null!==this.diagram?!0:!1};be.prototype.redo=function(){this.canRedo()&&(null!==this.model?this.model.changeState(this,!1):null!==this.diagram&&this.diagram.changeState(this,!1))};\nna.Object.defineProperties(be.prototype,{model:{get:function(){return this.Tb},set:function(a){this.Tb=a}},diagram:{get:function(){return this.F},set:function(a){this.F=a}},change:{get:function(){return this.fn},set:function(a){this.fn=a}},modelChange:{get:function(){return this.Kr},set:function(a){this.Kr=a}},propertyName:{get:function(){return this.bf},\nset:function(a){this.bf=a}},isTransactionFinished:{get:function(){return this.fn===de&&(\"CommittedTransaction\"===this.bf||\"FinishedUndo\"===this.bf||\"FinishedRedo\"===this.bf)}},object:{get:function(){return this.Ro},set:function(a){this.Ro=a}},oldValue:{get:function(){return this.To},set:function(a){this.To=a}},oldParam:{get:function(){return this.So},set:function(a){this.So=a}},\nnewValue:{get:function(){return this.No},set:function(a){this.No=a}},newParam:{get:function(){return this.Mo},set:function(a){this.Mo=a}}});be.prototype.redo=be.prototype.redo;be.prototype.canRedo=be.prototype.canRedo;be.prototype.undo=be.prototype.undo;be.prototype.canUndo=be.prototype.canUndo;be.prototype.getParam=be.prototype.hA;be.prototype.getValue=be.prototype.H;be.prototype.clear=be.prototype.clear;\nvar de=new D(be,\"Transaction\",-1),ce=new D(be,\"Property\",0),ee=new D(be,\"Insert\",1),fe=new D(be,\"Remove\",2);be.className=\"ChangedEvent\";be.Transaction=de;be.Property=ce;be.Insert=ee;be.Remove=fe;function oe(){this.o=(new E).freeze();this.na=\"\";this.j=!1}oe.prototype.toString=function(a){var b=\"Transaction: \"+this.name+\" \"+this.changes.count.toString()+(this.isComplete?\"\":\", incomplete\");if(void 0!==a&&0<a){a=this.changes.count;for(var c=0;c<a;c++){var d=this.changes.J(c);null!==d&&(b+=\"\\n  \"+d.toString())}}return b};\noe.prototype.clear=function(){var a=this.changes;a.ea();for(var b=a.count-1;0<=b;b--){var c=a.J(b);null!==c&&c.clear()}a.clear();a.freeze()};oe.prototype.canUndo=function(){return this.isComplete};oe.prototype.undo=function(){if(this.canUndo())for(var a=this.changes.count-1;0<=a;a--){var b=this.changes.J(a);null!==b&&b.undo()}};oe.prototype.canRedo=function(){return this.isComplete};\noe.prototype.redo=function(){if(this.canRedo())for(var a=this.changes.count,b=0;b<a;b++){var c=this.changes.J(b);null!==c&&c.redo()}};\noe.prototype.Zs=function(){if(this.isComplete){var a=this.changes;a.ea();for(var b=new I,c=0;c<a.count;c++){var d=a.J(c);if(null!==d&&d.change===ce&&d.object){var e=b.get(d.object);e||(e=new I,b.set(d.object,e));var f=e.get(d.propertyName);null===f?e.set(d.propertyName,-1):(0<f&&a.Lc(f,null),e.set(d.propertyName,c))}}for(c=b=0;c<a.count;c++)d=a.J(c),null!==d&&(c>b&&a.Lc(b,d),b++);for(;a.length>b;)a.pop();a.freeze()}};\nna.Object.defineProperties(oe.prototype,{changes:{get:function(){return this.o}},name:{get:function(){return this.na},set:function(a){this.na=a}},isComplete:{get:function(){return this.j},set:function(a){this.j=a}}});oe.prototype.optimize=oe.prototype.Zs;oe.prototype.redo=oe.prototype.redo;oe.prototype.canRedo=oe.prototype.canRedo;oe.prototype.undo=oe.prototype.undo;oe.prototype.canUndo=oe.prototype.canUndo;\noe.prototype.clear=oe.prototype.clear;oe.className=\"Transaction\";function pe(){this.nu=new G;this.td=!1;this.C=(new E).freeze();this.pe=-1;this.o=999;this.re=!1;this.cr=null;this.yi=0;this.j=!1;this.we=(new E).freeze();this.Al=new E;this.Pt=!0;this.Zt=this.yr=this.bu=this.au=!1}\npe.prototype.toString=function(a){var b=\"UndoManager \"+this.historyIndex+\"<\"+this.history.count+\"<=\"+this.maxHistoryLength;b+=\"[\";for(var c=this.nestedTransactionNames.count,d=0;d<c;d++)0<d&&(b+=\" \"),b+=this.nestedTransactionNames.J(d);b+=\"]\";if(void 0!==a&&0<a)for(c=this.history.count,d=0;d<c;d++)b+=\"\\n \"+this.history.J(d).toString(a-1);return b};\npe.prototype.clear=function(){var a=this.history;a.ea();for(var b=a.count-1;0<=b;b--){var c=a.J(b);null!==c&&c.clear()}a.clear();this.pe=-1;a.freeze();this.re=!1;this.cr=null;this.yi=0;this.we.ea();this.we.clear();this.we.freeze();this.Al.clear();this.Zt=this.yr=this.bu=this.au=!1};pe.prototype.copyProperties=function(a){this.isEnabled=a.isEnabled;this.maxHistoryLength=a.maxHistoryLength;this.checksTransactionLevel=a.checksTransactionLevel};t=pe.prototype;t.Ax=function(a){this.nu.add(a)};t.xy=function(a){this.nu.remove(a)};\nt.wa=function(a){void 0===a&&(a=\"\");null===a&&(a=\"\");if(this.isUndoingRedoing)return!1;!0===this.Pt&&(this.Pt=!1,this.yi++,this.isInternalTransaction||this.Cb(\"StartingFirstTransaction\",a,this.currentTransaction),0<this.yi&&this.yi--);this.isEnabled&&(this.we.ea(),this.we.add(a),this.we.freeze(),null===this.currentTransaction?this.Al.add(0):this.Al.add(this.currentTransaction.changes.count));this.yi++;var b=1===this.transactionLevel;b&&(this.isInternalTransaction||this.Cb(\"StartedTransaction\",a,this.currentTransaction));\nreturn b};t.Xa=function(a){void 0===a&&(a=\"\");return qe(this,!0,a)};t.Df=function(){return qe(this,!1,\"\")};\nfunction qe(a,b,c){if(a.isUndoingRedoing)return!1;a.checksTransactionLevel&&1>a.transactionLevel&&ya(\"Ending transaction without having started a transaction: \"+c);var d=1===a.transactionLevel,e=a.currentTransaction;d&&b&&(a.isInternalTransaction||a.Cb(\"CommittingTransaction\",c,e));var f=0;if(0<a.transactionLevel&&(a.yi--,a.isEnabled)){var g=a.we.count;0<g&&(\"\"===c&&(c=a.we.J(0)),a.we.ea(),a.we.eb(g-1),a.we.freeze());g=a.Al.count;0<g&&(f=a.Al.J(g-1),a.Al.eb(g-1))}if(d){if(b){a.yr=!1;null===e&&\"\"!==\nc&&(e=a.currentTransaction);if(a.isEnabled&&null!==e){e.isComplete||(e.isComplete=!0,e.name=c);b=a.history;b.ea();for(d=b.count-1;d>a.historyIndex;d--)f=b.J(d),null!==f&&f.clear(),b.eb(d),a.yr=!0;d=a.maxHistoryLength;0<=d&&(0===d?b.clear():b.count>=d&&(f=b.J(0),null!==f&&f.clear(),b.eb(0),a.pe--));0===d||0!==b.count&&b.get(b.count-1)===e||(b.add(e),a.pe++);b.freeze()}a.isInternalTransaction||a.Cb(\"CommittedTransaction\",c,e)}else{a.re=!0;try{a.isEnabled&&null!==e&&(e.isComplete=!0,e.undo())}finally{a.isInternalTransaction||\na.Cb(\"RolledBackTransaction\",c,e),a.re=!1}null!==e&&e.clear()}a.cr=null;a.isPendingClear&&a.clear();a.isPendingClear=!1;a.isPendingUnmodified=!1;return!0}if(a.isEnabled&&!b&&null!==e){a=f;c=e.changes;for(e=c.count-1;e>=a;e--)b=c.J(e),null!==b&&b.undo(),c.ea(),c.eb(e);c.freeze()}return!1}pe.prototype.canUndo=function(){if(!this.isEnabled||0<this.transactionLevel)return!1;var a=this.transactionToUndo;return null!==a&&a.canUndo()?!0:!1};\npe.prototype.undo=function(){if(this.canUndo()){var a=this.transactionToUndo;try{this.re=!0,this.Cb(\"StartingUndo\",\"Undo\",a),this.pe--,a.undo()}catch(b){ya(\"undo error: \"+b.toString())}finally{this.Cb(\"FinishedUndo\",\"Undo\",a),this.re=!1}}};pe.prototype.canRedo=function(){if(!this.isEnabled||0<this.transactionLevel)return!1;var a=this.transactionToRedo;return null!==a&&a.canRedo()?!0:!1};\npe.prototype.redo=function(){if(this.canRedo()){var a=this.transactionToRedo;try{this.re=!0,this.Cb(\"StartingRedo\",\"Redo\",a),this.pe++,a.redo()}catch(b){ya(\"redo error: \"+b.toString())}finally{this.Cb(\"FinishedRedo\",\"Redo\",a),this.re=!1}}};pe.prototype.Cb=function(a,b,c){void 0===c&&(c=null);var d=new be;d.change=de;d.propertyName=a;d.object=c;d.oldValue=b;for(a=this.models;a.next();)b=a.value,d.model=b,b.ws(d)};\npe.prototype.yv=function(a){if(this.isEnabled&&!this.isUndoingRedoing&&!this.skipsEvent(a)){var b=this.currentTransaction;null===b&&(this.cr=b=new oe);var c=a.copy();b=b.changes;b.ea();b.add(c);b.freeze();this.checksTransactionLevel&&0>=this.transactionLevel&&!this.Pt&&(a=a.diagram,null!==a&&!1===a.Pi||ya(\"Change not within a transaction: \"+c.toString()))}};\npe.prototype.skipsEvent=function(a){if(null===a||0>a.change.value)return!0;a=a.object;if(null===a)return!1;if(void 0!==a.layer){if(a=a.layer,null!==a&&a.isTemporary)return!0}else if(a.isTemporary)return!0;return!1};\nna.Object.defineProperties(pe.prototype,{models:{get:function(){return this.nu.iterator}},isEnabled:{get:function(){return this.td},set:function(a){this.td=a}},transactionToUndo:{get:function(){return 0<=this.historyIndex&&this.historyIndex<=this.history.count-1?this.history.J(this.historyIndex):null}},transactionToRedo:{get:function(){return this.historyIndex<this.history.count-\n1?this.history.J(this.historyIndex+1):null}},isUndoingRedoing:{get:function(){return this.re}},history:{get:function(){return this.C}},maxHistoryLength:{get:function(){return this.o},set:function(a){this.o=a}},historyIndex:{get:function(){return this.pe}},currentTransaction:{get:function(){return this.cr}},transactionLevel:{\nget:function(){return this.yi}},isInTransaction:{get:function(){return 0<this.yi}},checksTransactionLevel:{get:function(){return this.j},set:function(a){this.j=a}},nestedTransactionNames:{get:function(){return this.we}},isPendingClear:{get:function(){return this.au},set:function(a){this.au=a}},isPendingUnmodified:{get:function(){return this.bu},set:function(a){this.bu=\na}},isInternalTransaction:{get:function(){return this.Zt},set:function(a){this.Zt=a}},isJustDiscarded:{get:function(){return this.yr}}});pe.prototype.handleChanged=pe.prototype.yv;pe.prototype.redo=pe.prototype.redo;pe.prototype.undo=pe.prototype.undo;pe.prototype.canUndo=pe.prototype.canUndo;pe.prototype.rollbackTransaction=pe.prototype.Df;pe.prototype.commitTransaction=pe.prototype.Xa;pe.prototype.startTransaction=pe.prototype.wa;\npe.prototype.removeModel=pe.prototype.xy;pe.prototype.addModel=pe.prototype.Ax;pe.prototype.clear=pe.prototype.clear;pe.className=\"UndoManager\";function re(){Ta(this);this.F=se;this.na=\"\";this.td=!0;this.Oc=!1;this.tw=null;this.cz=new Zd;this.ts=-1}re.prototype.toString=function(){return\"\"!==this.name?this.name+\" Tool\":Ja(this.constructor)};re.prototype.updateAdornments=function(){};re.prototype.canStart=function(){return this.isEnabled};re.prototype.doStart=function(){};\nre.prototype.doActivate=function(){this.isActive=!0};re.prototype.doDeactivate=function(){this.isActive=!1};re.prototype.doStop=function(){};re.prototype.doCancel=function(){this.transactionResult=null;this.stopTool()};re.prototype.stopTool=function(){var a=this.diagram;a.currentTool===this&&(a.currentTool=null,a.currentCursor=\"\")};re.prototype.doMouseDown=function(){!this.isActive&&this.canStart()&&this.doActivate()};re.prototype.doMouseMove=function(){};re.prototype.doMouseUp=function(){this.stopTool()};\nre.prototype.doMouseWheel=function(){};re.prototype.canStartMultiTouch=function(){return!0};re.prototype.standardPinchZoomStart=function(){var a=this.diagram,b=a.lastInput,c=b.mq(0,J.allocAt(NaN,NaN)),d=b.mq(1,J.allocAt(NaN,NaN));if(c.u()&&d.u()&&(this.doCancel(),a.km(\"hasGestureZoom\"))){a.bx=a.scale;var e=d.x-c.x,f=d.y-c.y;a.mx=Math.sqrt(e*e+f*f);b.bubbles=!1}J.free(c);J.free(d)};\nre.prototype.standardPinchZoomMove=function(){var a=this.diagram,b=a.lastInput,c=b.mq(0,J.allocAt(NaN,NaN)),d=b.mq(1,J.allocAt(NaN,NaN));if(c.u()&&d.u()&&(this.doCancel(),a.km(\"hasGestureZoom\"))){var e=d.x-c.x,f=d.y-c.y;f=Math.sqrt(e*e+f*f)/a.mx;e=new J((Math.min(d.x,c.x)+Math.max(d.x,c.x))/2,(Math.min(d.y,c.y)+Math.max(d.y,c.y))/2);f*=a.bx;var g=a.commandHandler;if(f!==a.scale&&g.canResetZoom(f)){var h=a.zoomPoint;a.zoomPoint=e;g.resetZoom(f);a.zoomPoint=h}b.bubbles=!1}J.free(c);J.free(d)};\nre.prototype.doKeyDown=function(){\"Esc\"===this.diagram.lastInput.key&&this.doCancel()};re.prototype.doKeyUp=function(){};re.prototype.wa=function(a){void 0===a&&(a=this.name);this.transactionResult=null;return this.diagram.wa(a)};re.prototype.stopTransaction=function(){var a=this.diagram;return null===this.transactionResult?a.Df():a.Xa(this.transactionResult)};\nre.prototype.standardMouseSelect=function(){var a=this.diagram;if(a.allowSelect){var b=a.lastInput,c=a.im(b.documentPoint,!1);if(null!==c)if(Sa?b.meta:b.control){a.S(\"ChangingSelection\",a.selection);for(b=c;null!==b&&!b.canSelect();)b=b.containingGroup;null!==b&&(b.isSelected=!b.isSelected);a.S(\"ChangedSelection\",a.selection)}else if(b.shift){if(!c.isSelected){a.S(\"ChangingSelection\",a.selection);for(b=c;null!==b&&!b.canSelect();)b=b.containingGroup;null!==b&&(b.isSelected=!0);a.S(\"ChangedSelection\",\na.selection)}}else{if(!c.isSelected){for(b=c;null!==b&&!b.canSelect();)b=b.containingGroup;null!==b&&a.select(b)}}else!b.left||(Sa?b.meta:b.control)||b.shift||a.clearSelection()}};re.prototype.standardMouseClick=function(a,b){void 0===a&&(a=null);void 0===b&&(b=function(a){return!a.layer.isTemporary});var c=this.diagram,d=c.lastInput;a=c.Wb(d.documentPoint,a,b);d.targetObject=a;te(a,d,c);return d.handled};\nfunction te(a,b,c){b.handled=!1;if(null===a||a.Af()){var d=0;b.left?d=1===b.clickCount?1:2===b.clickCount?2:1:b.right&&1===b.clickCount&&(d=3);var e=\"ObjectSingleClicked\";if(null!==a){switch(d){case 1:e=\"ObjectSingleClicked\";break;case 2:e=\"ObjectDoubleClicked\";break;case 3:e=\"ObjectContextClicked\"}0!==d&&c.S(e,a)}else{switch(d){case 1:e=\"BackgroundSingleClicked\";break;case 2:e=\"BackgroundDoubleClicked\";break;case 3:e=\"BackgroundContextClicked\"}0!==d&&c.S(e)}if(null!==a)for(;null!==a;){c=null;switch(d){case 1:c=\na.click;break;case 2:c=a.doubleClick?a.doubleClick:a.click;break;case 3:c=a.contextClick}if(null!==c&&(c(b,a),b.handled))break;a=a.panel}else{a=null;switch(d){case 1:a=c.click;break;case 2:a=c.doubleClick?c.doubleClick:c.click;break;case 3:a=c.contextClick}null!==a&&a(b)}}}\nre.prototype.standardMouseOver=function(){var a=this.diagram,b=a.lastInput;if(!0!==a.animationManager.rb){var c=a.skipsUndoManager;a.skipsUndoManager=!0;var d=a.viewportBounds.$(b.documentPoint)?a.Wb(b.documentPoint,null,null):null;b.targetObject=d;var e=!1;if(d!==a.Tk){var f=a.Tk,g=f;a.Tk=d;this.doCurrentObjectChanged(f,d);for(b.handled=!1;null!==f;){var h=f.mouseLeave;if(null!==h){if(d===f)break;if(null!==d&&d.mg(f))break;h(b,f,d);e=!0;if(b.handled)break}f=f.panel}f=g;for(b.handled=!1;null!==d;){g=\nd.mouseEnter;if(null!==g){if(f===d)break;if(null!==f&&f.mg(d))break;g(b,d,f);e=!0;if(b.handled)break}d=d.panel}d=a.Tk}if(null!==d){f=d;for(g=\"\";null!==f;){g=f.cursor;if(\"\"!==g)break;f=f.panel}a.currentCursor=g;b.handled=!1;for(f=d;null!==f;){d=f.mouseOver;if(null!==d&&(d(b,f),e=!0,b.handled))break;f=f.panel}}else a.currentCursor=\"\",d=a.mouseOver,null!==d&&(d(b),e=!0);e&&a.Fb();a.skipsUndoManager=c}};re.prototype.doCurrentObjectChanged=function(){};\nre.prototype.standardMouseWheel=function(){var a=this.diagram,b=a.lastInput,c=b.delta;if(0!==c&&a.documentBounds.u()){var d=a.commandHandler,e=a.toolManager.mouseWheelBehavior;if(null!==d&&(e===ue&&!b.shift||e===ve&&b.control)){if(0<c?d.canIncreaseZoom():d.canDecreaseZoom())e=a.zoomPoint,a.zoomPoint=b.viewPoint,0<c?d.increaseZoom():d.decreaseZoom(),a.zoomPoint=e;b.bubbles=!1}else if(e===ue&&b.shift||e===ve&&!b.control){d=a.position.copy();var f=0<c?c:-c,g=b.event,h=g.deltaMode;e=g.deltaX;g=g.deltaY;\nif(Qa||Ra)h=1,0<e&&(e=3),0>e&&(e=-3),0<g&&(g=3),0>g&&(g=-3);if(void 0===h||void 0===e||void 0===g||0===e&&0===g||b.shift)!b.shift&&a.allowVerticalScroll?(f=3*f*a.scrollVerticalLineChange,0<c?a.scroll(\"pixel\",\"up\",f):a.scroll(\"pixel\",\"down\",f)):b.shift&&a.allowHorizontalScroll&&(f=3*f*a.scrollHorizontalLineChange,0<c?a.scroll(\"pixel\",\"left\",f):a.scroll(\"pixel\",\"right\",f));else{switch(h){case 0:c=\"pixel\";break;case 1:c=\"line\";break;case 2:c=\"page\";break;default:c=\"pixel\"}0!==e&&a.allowHorizontalScroll&&\n(e*=a.scrollHorizontalLineChange/16,0<e?a.scroll(c,\"left\",-e):a.scroll(c,\"right\",e));0!==g&&a.allowVerticalScroll&&(g*=a.scrollVerticalLineChange/16,0<g?a.scroll(c,\"up\",-g):a.scroll(c,\"down\",g))}a.position.A(d)||(b.bubbles=!1)}}};re.prototype.standardWaitAfter=function(a,b){void 0===b&&(b=this.diagram.lastInput);this.cancelWaitAfter();var c=this,d=b.clone(this.cz);this.ts=ua(function(){c.doWaitAfter(d)},a)};re.prototype.cancelWaitAfter=function(){-1!==this.ts&&x.clearTimeout(this.ts);this.ts=-1};\nre.prototype.doWaitAfter=function(){};re.prototype.findToolHandleAt=function(a,b){a=this.diagram.Wb(a,function(a){for(;null!==a&&!(a.panel instanceof we);)a=a.panel;return a});return null===a?null:a.part.category===b?a:null};re.prototype.isBeyondDragSize=function(a,b){var c=this.diagram;void 0===a&&(a=c.firstInput.viewPoint);void 0===b&&(b=c.lastInput.viewPoint);var d=c.toolManager.dragSize,e=d.width;d=d.height;c.firstInput.isTouchEvent&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};\nna.Object.defineProperties(re.prototype,{diagram:{get:function(){return this.F},set:function(a){a instanceof T&&(this.F=a)}},name:{get:function(){return this.na},set:function(a){this.na=a}},isEnabled:{get:function(){return this.td},set:function(a){this.td=a}},isActive:{get:function(){return this.Oc},set:function(a){this.Oc=a}},transactionResult:{get:function(){return this.tw},\nset:function(a){this.tw=a}}});re.prototype.startTransaction=re.prototype.wa;re.className=\"Tool\";function Oa(){re.call(this);this.name=\"ToolManager\";this.yc=new E;this.Pc=new E;this.Kd=new E;this.M=this.Ga=850;this.o=(new M(2,2)).ca();this.Wa=5E3;this.Ha=ve;this.C=xe;this.br=this.j=null;this.Vj=-1}ma(Oa,re);Oa.prototype.initializeStandardTools=function(){};\nOa.prototype.updateAdornments=function(a){var b=this.currentToolTip;if(b instanceof we&&this.br===a){var c=b.adornedObject;(null!==a?c.part===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};\nOa.prototype.doMouseDown=function(){var a=this.diagram,b=a.lastInput;b.isTouchEvent&&this.gestureBehavior===ye&&(b.bubbles=!1);if(b.isMultiTouch){this.cancelWaitAfter();if(this.gestureBehavior===ze){b.bubbles=!0;return}if(this.gestureBehavior===ye)return;if(a.currentTool.canStartMultiTouch()){a.currentTool.standardPinchZoomStart();return}}for(var c=this.mouseDownTools.length,d=0;d<c;d++){var e=this.mouseDownTools.J(d);e.diagram=this.diagram;if(e.canStart()){a.doFocus();a.currentTool=e;a.currentTool===\ne&&(e.isActive||e.doActivate(),e.doMouseDown());return}}1===a.lastInput.button&&(this.mouseWheelBehavior===ve?this.mouseWheelBehavior=ue:this.mouseWheelBehavior===ue&&(this.mouseWheelBehavior=ve));this.doActivate();this.standardWaitAfter(this.holdDelay,b)};\nOa.prototype.doMouseMove=function(){var a=this.diagram,b=a.lastInput;if(b.isMultiTouch){if(this.gestureBehavior===ze){b.bubbles=!0;return}if(this.gestureBehavior===ye)return;if(a.currentTool.canStartMultiTouch()){a.currentTool.standardPinchZoomMove();return}}if(this.isActive)for(var c=this.mouseMoveTools.length,d=0;d<c;d++){var e=this.mouseMoveTools.J(d);e.diagram=this.diagram;if(e.canStart()){a.doFocus();a.currentTool=e;a.currentTool===e&&(e.isActive||e.doActivate(),e.doMouseMove());return}}Ae(this,\na);a=b.event;null===a||\"pointermove\"!==a.type&&a.cancelable||(b.bubbles=!0)};function Ae(a,b){a.standardMouseOver();a.isBeyondDragSize()&&a.standardWaitAfter(a.isActive?a.holdDelay:a.hoverDelay,b.lastInput)}Oa.prototype.doCurrentObjectChanged=function(a,b){a=this.currentToolTip;null===a||null!==b&&a instanceof we&&(b===a||b.mg(a))||this.hideToolTip()};\nOa.prototype.doWaitAfter=function(a){var b=this.diagram;b.Aa&&(this.doMouseHover(),this.isActive||this.doToolTip(),a.isTouchEvent&&!b.lastInput.handled&&(a=a.copy(),a.button=2,a.buttons=2,b.lastInput=a,b.Pu=!0,b.doMouseUp()))};\nOa.prototype.doMouseHover=function(){var a=this.diagram,b=a.lastInput;null===b.targetObject&&(b.targetObject=a.Wb(b.documentPoint,null,null));var c=b.targetObject;if(null!==c)for(b.handled=!1;null!==c;){a=this.isActive?c.mouseHold:c.mouseHover;if(null!==a&&(a(b,c),b.handled))break;c=c.panel}else c=this.isActive?a.mouseHold:a.mouseHover,null!==c&&c(b)};\nOa.prototype.doToolTip=function(){var a=this.diagram,b=a.lastInput;null===b.targetObject&&(b.targetObject=a.Wb(b.documentPoint,null,null));b=b.targetObject;if(null!==b){if(a=this.currentToolTip,!(a instanceof we)||b!==a&&!b.mg(a)){for(;null!==b;){a=b.toolTip;if(null!==a){this.showToolTip(a,b);return}b=b.panel}this.hideToolTip()}}else b=a.toolTip,null!==b?this.showToolTip(b,null):this.hideToolTip()};\nOa.prototype.showToolTip=function(a,b){var c=this.diagram;a!==this.currentToolTip&&this.hideToolTip();if(a instanceof we){a.layerName=\"Tool\";a.selectable=!1;a.scale=1/c.scale;a.category=\"ToolTip\";null!==a.placeholder&&(a.placeholder.scale=c.scale);var d=a.diagram;null!==d&&d!==c&&d.remove(a);c.add(a);null!==b?a.adornedObject=b:a.data=c.model;a.Sa();this.positionToolTip(a,b)}else a instanceof Be&&a!==this.currentToolTip&&a.show(b,c,this);this.currentToolTip=a;-1!==this.Vj&&(x.clearTimeout(this.Vj),\nthis.Vj=-1);a=this.toolTipDuration;if(0<a&&Infinity!==a){var e=this;this.Vj=ua(function(){e.hideToolTip()},a)}};Oa.prototype.positionToolTip=function(a){if(null===a.placeholder){var b=this.diagram,c=b.lastInput.documentPoint.copy(),d=a.measuredBounds,e=b.viewportBounds;b.lastInput.isTouchEvent&&(c.x-=d.width);c.x+d.width>e.right&&(c.x-=d.width+5/b.scale);c.x<e.x&&(c.x=e.x);c.y=c.y+20/b.scale+d.height>e.bottom?c.y-(d.height+5/b.scale):c.y+20/b.scale;c.y<e.y&&(c.y=e.y);a.position=c}};\nOa.prototype.hideToolTip=function(){-1!==this.Vj&&(x.clearTimeout(this.Vj),this.Vj=-1);var a=this.diagram,b=this.currentToolTip;null!==b&&(b instanceof we?(a.remove(b),null!==this.br&&this.br.Cf(b.category),b.data=null,b.adornedObject=null):b instanceof Be&&null!==b.hide&&b.hide(a,this),this.currentToolTip=null)};\nOa.prototype.doMouseUp=function(){this.cancelWaitAfter();var a=this.diagram;if(this.isActive)for(var b=this.mouseUpTools.length,c=0;c<b;c++){var d=this.mouseUpTools.J(c);d.diagram=this.diagram;if(d.canStart()){a.doFocus();a.currentTool=d;a.currentTool===d&&(d.isActive||d.doActivate(),d.doMouseUp());return}}a.doFocus();this.doDeactivate()};Oa.prototype.doMouseWheel=function(){this.standardMouseWheel()};Oa.prototype.doKeyDown=function(){var a=this.diagram;null!==a.commandHandler&&a.commandHandler.doKeyDown()};\nOa.prototype.doKeyUp=function(){var a=this.diagram;null!==a.commandHandler&&a.commandHandler.doKeyUp()};Oa.prototype.findTool=function(a){for(var b=this.mouseDownTools.length,c=0;c<b;c++){var d=this.mouseDownTools.J(c);if(d.name===a)return d}b=this.mouseMoveTools.length;for(c=0;c<b;c++)if(d=this.mouseMoveTools.J(c),d.name===a)return d;b=this.mouseUpTools.length;for(c=0;c<b;c++)if(d=this.mouseUpTools.J(c),d.name===a)return d;return null};\nOa.prototype.replaceTool=function(a,b){null!==b&&(b.diagram=this.diagram);for(var c=this.mouseDownTools.length,d=0;d<c;d++){var e=this.mouseDownTools.J(d);if(e.name===a)return null!==b?this.mouseDownTools.Lc(d,b):this.mouseDownTools.eb(d),e}c=this.mouseMoveTools.length;for(d=0;d<c;d++)if(e=this.mouseMoveTools.J(d),e.name===a)return null!==b?this.mouseMoveTools.Lc(d,b):this.mouseMoveTools.eb(d),e;c=this.mouseUpTools.length;for(d=0;d<c;d++)if(e=this.mouseUpTools.J(d),e.name===a)return null!==b?this.mouseUpTools.Lc(d,\nb):this.mouseUpTools.eb(d),e;return null};Oa.prototype.Za=function(a,b,c){null!==b&&(b.name=a,b.diagram=this.diagram);this.findTool(a)?this.replaceTool(a,b):null!==b&&c.add(b)};\nna.Object.defineProperties(Oa.prototype,{mouseWheelBehavior:{get:function(){return this.Ha},set:function(a){this.Ha=a}},gestureBehavior:{get:function(){return this.C},set:function(a){this.C=a}},currentToolTip:{get:function(){return this.j},set:function(a){this.j=a;this.br=null!==a&&a instanceof we?a.adornedPart:null}},mouseDownTools:{get:function(){return this.yc}},mouseMoveTools:{\nget:function(){return this.Pc}},mouseUpTools:{get:function(){return this.Kd}},hoverDelay:{get:function(){return this.Ga},set:function(a){this.Ga=a}},holdDelay:{get:function(){return this.M},set:function(a){this.M=a}},dragSize:{get:function(){return this.o},set:function(a){this.o=a.I()}},toolTipDuration:{get:function(){return this.Wa},set:function(a){this.Wa=\na}}});Oa.prototype.replaceStandardTool=Oa.prototype.Za;var ve=new D(Oa,\"WheelScroll\",0),ue=new D(Oa,\"WheelZoom\",1),Ce=new D(Oa,\"WheelNone\",2),xe=new D(Oa,\"GestureZoom\",3),ye=new D(Oa,\"GestureCancel\",4),ze=new D(Oa,\"GestureNone\",5);Oa.className=\"ToolManager\";Oa.WheelScroll=ve;Oa.WheelZoom=ue;Oa.WheelNone=Ce;Oa.GestureZoom=xe;Oa.GestureCancel=ye;Oa.GestureNone=ze;\nfunction De(){re.call(this);this.name=\"Dragging\";this.C=this.Pc=!0;this.o=this.Wa=this.Ga=this.Yf=null;this.Cn=this.Kd=!1;this.Sl=new J(NaN,NaN);this.hs=new J;this.yc=!0;this.Zk=100;this.Eg=[];this.Zi=(new G).freeze();this.Ha=new Ee;this.qo=null;this.M=\"copy\";this.Ih=\"\";this.Jh=\"no-drop\"}var He;ma(De,re);\nDe.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a.isReadOnly&&!a.allowDragOut||!a.allowMove&&!a.allowCopy&&!a.allowDragOut||!a.allowSelect)return!1;var b=a.lastInput;return!b.left||a.currentTool!==this&&(!this.isBeyondDragSize()||b.isTouchEvent&&b.timestamp-a.firstInput.timestamp<this.Zk)?!1:null!==this.findDraggablePart()};\nDe.prototype.findDraggablePart=function(){var a=this.diagram;a=a.im(a.firstInput.documentPoint,!1);if(null===a)return null;for(;null!==a&&!a.canSelect();)a=a.containingGroup;return null!==a&&(a.canMove()||a.canCopy())?a:null};\nDe.prototype.standardMouseSelect=function(){var a=this.diagram;if(a.allowSelect){var b=a.im(a.firstInput.documentPoint,!1);if(null!==b){for(;null!==b&&!b.canSelect();)b=b.containingGroup;this.currentPart=b;null===this.currentPart||this.currentPart.isSelected||(a.S(\"ChangingSelection\",a.selection),b=a.lastInput,(Sa?b.meta:b.control)||b.shift||a.clearSelection(!0),this.currentPart.isSelected=!0,a.S(\"ChangedSelection\",a.selection))}}};\nDe.prototype.doActivate=function(){var a=this.diagram;this.qo=null;null===this.currentPart&&this.standardMouseSelect();var b=this.currentPart;null!==b&&(b.canMove()||b.canCopy())&&(a.ev(!0),Ie=null,this.isActive=!0,this.Sl.set(a.position),Je(this,a.selection),this.Eg.length=0,a.animationManager.nc(),this.draggedParts=this.computeEffectiveCollection(a.selection,this.dragOptions),a.ht=!0,!0===a.Fe(\"temporaryPixelRatio\")&&30<a.Ex&&Ke(a),Le(a,this.draggedParts),this.wa(\"Drag\"),this.startPoint=a.firstInput.documentPoint,\na.isMouseCaptured=!0,a.allowDragOut&&(this.isDragOutStarted=!0,this.Cn=!1,Ie=this,Me=this.diagram,this.doSimulatedDragOut()))};function Je(a,b){if(a.dragsLink){var c=a.diagram;c.allowRelink&&(c.model.nk()&&1===b.count&&b.first()instanceof U?(a.draggedLink=b.first(),a.draggedLink.canRelinkFrom()&&a.draggedLink.canRelinkTo()&&a.draggedLink.$j(),a.Yf=c.toolManager.findTool(\"Relinking\"),null===a.Yf&&(a.Yf=new Ne,a.Yf.diagram=c)):(a.draggedLink=null,a.Yf=null))}}\nDe.prototype.computeEffectiveCollection=function(a,b){return this.diagram.commandHandler.computeEffectiveCollection(a,b)};De.prototype.yd=function(a){return void 0===a?new Oe(pb):this.isGridSnapEnabled?new Oe(new J(Math.round(1E3*a.x)/1E3,Math.round(1E3*a.y)/1E3)):new Oe(a.copy())};\nDe.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;a.ev(!1);a.og();Pe(this);Qe(a,this.draggedParts);this.draggedParts=this.currentPart=this.qo=null;this.Cn=this.isDragOutStarted=!1;if(0<He.count){for(var b=He,c=b.length,d=0;d<c;d++){var e=b.J(d);Re(e);Se(e);Pe(e);e.diagram.og()}b.clear()}Re(this);this.Sl.h(NaN,NaN);null!==Me&&(Me.currentCursor=\"\");Ie=Me=null;Se(this);a.isMouseCaptured=!1;a.currentCursor=\"\";a.ht=!1;this.stopTransaction();Te(a,!0)};\nDe.prototype.stopTransaction=function(){var a=this.diagram,b=re.prototype.stopTransaction.call(this);b&&null!==a.undoManager.transactionToUndo&&a.undoManager.transactionToUndo.Zs();return b};function Pe(a){var b=a.diagram,c=b.skipsUndoManager;b.skipsUndoManager=!0;Ue(a,b.lastInput,null);b.skipsUndoManager=c;a.Eg.length=0}function $e(){var a=Ie;Se(a);af(a);var b=a.diagram;a.Sl.u()&&(b.position=a.Sl);b.og()}\nDe.prototype.doCancel=function(){Se(this);af(this);var a=this.diagram;this.Sl.u()&&(a.position=this.Sl);this.stopTool()};De.prototype.doKeyDown=function(){var a=this.diagram,b=a.lastInput;this.isActive&&(\"Esc\"===b.key?this.doCancel():b.key!==a.previousInput.key&&this.doMouseMove())};De.prototype.doKeyUp=function(){this.isActive&&this.doMouseMove()};\nfunction bf(a,b){if(null===a.copiedParts){var c=a.diagram;if((!b||!c.isReadOnly&&!c.isModelReadOnly)&&null!==a.draggedParts){var d=c.undoManager;d.isEnabled&&d.isInTransaction?null!==d.currentTransaction&&0<d.currentTransaction.changes.count&&(c.undoManager.Df(),c.wa(\"Drag\")):af(a);c.skipsUndoManager=!b;c.partManager.addsToTemporaryLayer=!b;a.startPoint=c.firstInput.documentPoint;b=a.copiesEffectiveCollection?a.draggedParts.Ef():c.selection;b=c.ek(b,c,!0);c=new I;for(d=a.draggedParts.iterator;d.next();){var e=\nd.key;if(e.Jc()&&e.canCopy()){var f=b.H(e);null!==f&&(f.location=e.location,f.Sa(),c.add(f,a.yd(f.location)))}}for(b=b.iterator;b.next();)d=b.value,d instanceof U&&d.canCopy()&&c.add(d,a.yd());a.copiedParts=c;Je(a,c.Ef());null!==a.draggedLink&&(c=a.draggedLink,b=c.routeBounds,cf(c,a.startPoint.x-(b.x+b.width/2),a.startPoint.y-(b.y+b.height/2)));a.doUpdateCursor(null,!0)}}}\nfunction Se(a){var b=a.diagram;if(null!==a.copiedParts){b.bt(a.copiedParts.Ef(),!1);a.copiedParts=null;if(null!==a.draggedParts)for(var c=a.draggedParts.iterator;c.next();)c.key instanceof U&&(c.value.point=new J(0,0));a.doUpdateCursor(null,!0)}b.skipsUndoManager=!1;b.partManager.addsToTemporaryLayer=!1;a.startPoint=b.firstInput.documentPoint}\nfunction Re(a){if(null!==a.draggedLink){if(a.dragsLink&&null!==a.Yf){var b=a.Yf;b.diagram.remove(b.temporaryFromNode);b.diagram.remove(b.temporaryToNode)}a.draggedLink=null;a.Yf=null}}function df(a,b,c){var d=a.diagram,e=a.startPoint,f=J.alloc();f.assign(d.lastInput.documentPoint);a.moveParts(b,f.ge(e),c);J.free(f);!0===d.Fe(\"temporaryPixelRatio\")&&null===d.ti&&30<d.Ex&&(Ke(d),d.Aq())}\nDe.prototype.moveParts=function(a,b,c){void 0===c&&(c=!1);var d=this.diagram;null!==d&&ef(d,a,b,this.dragOptions,c)};function af(a){if(null!==a.draggedParts){for(var b=a.diagram,c=a.draggedParts.iterator;c.next();){var d=c.key;d.Jc()&&(d.location=c.value.point)}for(c=a.draggedParts.iterator;c.next();)if(d=c.key,d instanceof U&&d.suspendsRouting){var e=c.value.point;a.draggedParts.add(d,a.yd());cf(d,-e.x,-e.y)}b.ed()}}\nfunction ff(a,b){var c=a.diagram;a.dragsLink&&(null!==a.draggedLink&&(a.draggedLink.fromNode=null,a.draggedLink.toNode=null),gf(a,!1));var d=a.findDragOverObject(b),e=c.lastInput;e.targetObject=d;a.doUpdateCursor(d,!1);var f=c.skipsUndoManager,g=!1;try{c.skipsUndoManager=!0;g=Ue(a,e,d);if(!a.isActive&&null===Ie)return;var h=null!==d?d.part:null;if(null===h||c.handlesDragDropForTopLevelParts&&h.isTopLevel&&!(h instanceof hf)){var k=c.mouseDragOver;null!==k&&(k(e),g=!0)}if(!a.isActive&&null===Ie)return;\na.doDragOver(b,d);if(!a.isActive&&null===Ie)return}finally{c.skipsUndoManager=f,g&&c.ed()}a.qo=d;c.isReadOnly||!c.allowMove&&!c.allowCopy||!c.allowHorizontalScroll&&!c.allowVerticalScroll||c.zs(e.viewPoint)}De.prototype.findDragOverObject=function(a){var b=this;return jf(this.diagram,a,null,function(a){null===a?a=!0:(a=a.part,a=null===a||a instanceof we||a.layer.isTemporary||b.draggedParts&&b.draggedParts.contains(a)||b.copiedParts&&b.copiedParts.contains(a)?!0:!1);return!a})};\nDe.prototype.doUpdateCursor=function(a,b){var c=this.diagram;if(b||this.qo!==a)!this.diagram.currentTool.isActive||this.mayCopy()?c.currentCursor=this.copyCursor:this.mayMove()?c.currentCursor=this.moveCursor:this.mayDragOut()&&(c.currentCursor=this.nodropCursor)};\nfunction Ue(a,b,c){var d=!1,e=a.Eg.length,f=0<e?a.Eg[0]:null;if(c===f)return!1;b.handled=!1;for(var g=0;g<e;g++){var h=a.Eg[g],k=h.mouseDragLeave;if(null!==k&&(k(b,h,c),d=!0,b.handled))break}a.Eg.length=0;if(!a.isActive&&null===Ie||null===c)return d;b.handled=!1;for(e=c;null!==e;)a.Eg.push(e),e=kf(e);e=a.Eg.length;for(c=0;c<e&&(g=a.Eg[c],h=g.mouseDragEnter,null===h||(h(b,g,f),d=!0,!b.handled));c++);return d}\nfunction kf(a){var b=a.panel;return null!==b?b:a instanceof V&&!(a instanceof hf)&&(a=a.containingGroup,null!==a&&a.handlesDragDropForMembers)?a:null}function lf(a,b,c){var d=a.Yf;if(null===d)return null;var e=a.diagram.kg(b,d.portGravity,function(a){return d.findValidLinkablePort(a,c)});a=J.alloc();var f=Infinity,g=null;for(e=e.iterator;e.next();){var h=e.value;if(null!==h.part){var k=h.da(yc,a);k=b.tf(k);k<f&&(g=h,f=k)}}J.free(a);return g}\nfunction gf(a,b){var c=a.draggedLink;if(null!==c&&!(2>c.pointsCount)){var d=a.diagram;if(!d.isReadOnly){var e=a.Yf;if(null!==e){var f=null,g=null;null===c.fromNode&&(f=lf(a,c.i(0),!1),null!==f&&(g=f.part));var h=null,k=null;null===c.toNode&&(h=lf(a,c.i(c.pointsCount-1),!0),null!==h&&(k=h.part));e.isValidLink(g,f,k,h)?b?(c.defaultFromPoint=c.i(0),c.defaultToPoint=c.i(c.pointsCount-1),c.suspendsRouting=!1,c.fromNode=g,null!==f&&(c.fromPortId=f.portId),c.toNode=k,null!==h&&(c.toPortId=h.portId),c.fromPort!==\nd.sy&&d.S(\"LinkRelinked\",c,d.sy),c.toPort!==d.ty&&d.S(\"LinkRelinked\",c,d.ty)):mf(e,g,f,k,h):mf(e,null,null,null,null)}}}}De.prototype.doDragOver=function(){};\nfunction nf(a,b){var c=a.diagram;a.dragsLink&&gf(a,!0);Pe(a);var d=a.findDragOverObject(b),e=c.lastInput;e.targetObject=d;if(null!==d){e.handled=!1;for(var f=d;null!==f;){var g=f.mouseDrop;if(null!==g&&(g(e,f),e.handled))break;of(a,e,f);f=kf(f)}}else f=c.mouseDrop,null!==f&&f(e);if(a.isActive||null!==Ie){for(e=(a.copiedParts||a.draggedParts).iterator;e.next();)f=e.key,f instanceof W&&f.linksConnected.each(function(a){a.suspendsRouting=!1});a.doDropOnto(b,d);if(a.isActive||null!==Ie){a=N.alloc();for(b=\nc.selection.iterator;b.next();)d=b.value,d instanceof W&&pf(c,d,a);N.free(a)}}}function of(a,b,c){a=a.diagram;c=c.part;!a.handlesDragDropForTopLevelParts||!c.isTopLevel||c instanceof hf||(c=a.mouseDrop,null!==c&&c(b))}function pf(a,b,c){var d=!1;b.getAvoidableRect(c);a.viewportBounds.De(c)&&(d=!0);a=a.sv(c,function(a){return a.part},function(a){return a instanceof U},!0,function(a){return a instanceof U},d);if(0!==a.count)for(a=a.iterator;a.next();)c=a.value,!c.Fd(b)&&c.isAvoiding&&c.Ua()}\nDe.prototype.doDropOnto=function(){};De.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram,b=a.lastInput;this.simulatedMouseMove(b.event,b.documentPoint,b.targetDiagram)||null===this.currentPart||null===this.draggedParts||(this.mayCopy()?(bf(this,!1),Le(a,this.copiedParts),df(this,this.copiedParts,!1),Qe(a,this.copiedParts)):this.mayMove()?(Se(this),df(this,this.draggedParts,!0)):this.mayDragOut()?(bf(this,!1),df(this,this.copiedParts,!1)):Se(this),ff(this,a.lastInput.documentPoint))}};\nDe.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram,b=a.lastInput;if(!this.simulatedMouseUp(b.event,b.documentPoint,b.targetDiagram)){b=!1;var c=this.mayCopy();c&&null!==this.copiedParts?(Se(this),bf(this,!0),Le(a,this.copiedParts),df(this,this.copiedParts,!1),Qe(a,this.copiedParts),null!==this.copiedParts&&(a.S(\"ChangingSelection\",a.selection),a.clearSelection(!0),this.copiedParts.iteratorKeys.each(function(a){a.isSelected=!0}))):(b=!0,Se(this),this.mayMove()&&(df(this,this.draggedParts,\n!0),ff(this,a.lastInput.documentPoint)));this.Cn=!0;nf(this,a.lastInput.documentPoint);if(this.isActive){var d=c?this.copiedParts.Ef():this.draggedParts.Ef();this.copiedParts=null;b&&qf(this);a.Pa();Qe(a,this.draggedParts);this.transactionResult=c?\"Copy\":\"Move\";a.S(c?\"SelectionCopied\":\"SelectionMoved\",d)}this.stopTool();c&&a.S(\"ChangedSelection\",a.selection)}}};\nDe.prototype.simulatedMouseMove=function(a,b,c){if(null===Ie)return!1;var d=Ie.diagram;c instanceof T||(c=null);var e=Me;c!==e&&(null!==e&&e!==d&&(e.og(),Ie.isDragOutStarted=!1,e=e.toolManager.findTool(\"Dragging\"),null!==e&&e.doSimulatedDragLeave()),Me=c,null!==c&&c!==d&&($e(),e=c.toolManager.findTool(\"Dragging\"),null!==e&&(He.contains(e)||He.add(e),e.doSimulatedDragEnter())),this.doUpdateCursor(null,!0));if(null===c||c===d||!c.allowDrop||c.isReadOnly||!c.allowInsert)return!1;d=c.toolManager.findTool(\"Dragging\");\nnull!==d&&(null!==a&&(void 0!==a.targetTouches&&(0<a.targetTouches.length?a=a.targetTouches[0]:0<a.changedTouches.length&&(a=a.changedTouches[0])),b=c.getMouse(a)),c.lastInput.documentPoint=b,c.lastInput.viewPoint=c.Iq(b),c.lastInput.down=!1,c.lastInput.up=!1,d.doSimulatedDragOver());return!0};\nDe.prototype.simulatedMouseUp=function(a,b,c){if(null===Ie)return!1;var d=Me,e=Ie.diagram;if(null===c)return Ie.doCancel(),!0;if(c!==d){var f=d.toolManager.findTool(\"Dragging\");if(null!==d&&d!==e&&null!==f)return d.og(),Ie.isDragOutStarted=!1,f.doSimulatedDragLeave(),!1;Me=c;d=c.toolManager.findTool(\"Dragging\");null!==d&&($e(),He.contains(d)||He.add(d),d.doSimulatedDragEnter())}return c!==this.diagram?(null!==a?(void 0!==a.targetTouches&&(0<a.targetTouches.length?a=a.targetTouches[0]:0<a.changedTouches.length&&\n(a=a.changedTouches[0])),b=c.getMouse(a)):null===b&&(b=new J),c.lastInput.documentPoint=b,c.lastInput.viewPoint=c.Iq(b),c.lastInput.down=!1,c.lastInput.up=!0,a=c.toolManager.findTool(\"Dragging\"),null!==a&&a.doSimulatedDrop(),a=Ie,null!==a&&(c=a.mayCopy(),a.transactionResult=c?\"Copy\":\"Move\",a.stopTool()),!0):!1};\nfunction qf(a){if(null!==a.draggedParts)for(var b=a.draggedParts.iterator;b.next();){var c=b.key;c instanceof W&&(c=c.containingGroup,null===c||null===c.placeholder||a.draggedParts.contains(c)||c.placeholder.s())}}\nDe.prototype.mayCopy=function(){if(!this.isCopyEnabled)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowCopy||(Sa?!a.lastInput.alt:!a.lastInput.control))return!1;for(a=a.selection.iterator;a.next();)if(a.value.canCopy())return!0;return null!==this.draggedLink&&this.dragsLink&&this.draggedLink.canCopy()?!0:!1};\nDe.prototype.mayDragOut=function(){if(!this.isCopyEnabled)return!1;var a=this.diagram;if(!a.allowDragOut||!a.allowCopy||a.allowMove)return!1;for(a=a.selection.iterator;a.next();)if(a.value.canCopy())return!0;return null!==this.draggedLink&&this.dragsLink&&this.draggedLink.canCopy()?!0:!1};\nDe.prototype.mayMove=function(){var a=this.diagram;if(a.isReadOnly||!a.allowMove)return!1;for(a=a.selection.iterator;a.next();)if(a.value.canMove())return!0;return null!==this.draggedLink&&this.dragsLink&&this.draggedLink.canMove()?!0:!1};De.prototype.computeBorder=function(a,b,c){return this.Cn||null===this.draggedParts||this.draggedParts.contains(a)?null:c.assign(b)};De.prototype.eA=function(){return Ie};\nDe.prototype.mayDragIn=function(){var a=this.diagram;if(!a.allowDrop||a.isReadOnly||a.isModelReadOnly||!a.allowInsert)return!1;var b=Ie;return null===b||b.diagram.model.dataFormat!==a.model.dataFormat?!1:!0};De.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.diagram;a.animationManager.nc();rf(a);a.animationManager.nc();a=Ie;null!==a&&(a.diagram.ht=!1);this.doUpdateCursor(null,!0)}};De.prototype.doSimulatedDragLeave=function(){var a=Ie;null!==a&&a.doSimulatedDragOut();this.doCancel()};\nDe.prototype.doSimulatedDragOver=function(){var a=this.diagram;a.animationManager.dn=!0;var b=Ie;if(null!==b&&null!==b.draggedParts){if(!this.mayDragIn())return;sf(this,b.draggedParts.Ef(),!1,a.firstInput);df(this,this.copiedParts,!1);ff(this,a.lastInput.documentPoint)}a.animationManager.dn=!1};\nDe.prototype.doSimulatedDrop=function(){var a=this.diagram,b=Ie;if(null!==b){var c=b.diagram;b.Cn=!0;Se(this);if(!this.mayDragIn())return;a.animationManager.dn=!0;a.S(\"ChangingSelection\",a.selection);this.wa(\"Drop\");sf(this,b.draggedParts.Ef(),!0,a.lastInput);df(this,this.copiedParts,!1);null!==this.copiedParts&&(a.clearSelection(!0),this.copiedParts.iteratorKeys.each(function(a){a.isSelected=!0}));nf(this,a.lastInput.documentPoint);a.Pa();b=a.selection;null!==this.copiedParts?this.transactionResult=\n\"ExternalCopy\":b=new G;this.copiedParts=null;a.doFocus();a.S(\"ExternalObjectsDropped\",b,c);this.stopTransaction();a.S(\"ChangedSelection\",a.selection)}a.animationManager.dn=!1};\nfunction sf(a,b,c,d){if(null===a.copiedParts){var e=a.diagram;if(!e.isReadOnly&&!e.isModelReadOnly){e.skipsUndoManager=!c;e.partManager.addsToTemporaryLayer=!c;a.startPoint=d.documentPoint;c=e.ek(b,e,!0);var f=N.alloc();e=d=Infinity;for(var g=-Infinity,h=-Infinity,k=b.iterator;k.next();){var l=k.value;if(l.isVisible()){var m=l.location;l=m.x;m=m.y;isNaN(l)||isNaN(m)||(l<d&&(d=l),m<e&&(e=m),l>g&&(g=l),m>h&&(h=m))}}Infinity===d?f.h(0,0,0,0):f.h(d,e,g-d,h-e);d=f.x+f.width/2;e=f.y+f.height/2;N.free(f);\nf=a.hs;g=new I;h=J.alloc();for(k=b.iterator;k.next();)l=k.value,l instanceof U&&l.canCopy()&&(m=c.H(l),null!==m&&(m.points=l.points,cf(m,f.x-d,f.y-e),m.suspendsRouting=!0,g.add(m,a.yd())));for(b=b.iterator;b.next();)l=b.value,l.Jc()&&l.canCopy()&&(k=c.H(l),null!==k&&(l=l.location,h.h(f.x-(d-l.x),f.y-(e-l.y)),k.location=h,k.Sa(),g.add(k,a.yd(h))));J.free(h);a.copiedParts=g;Je(a,g.Ef());null!==a.draggedLink&&(c=a.draggedLink,b=c.routeBounds,cf(c,a.startPoint.x-(b.x+b.width/2),a.startPoint.y-(b.y+b.height/\n2)));a.doUpdateCursor(null,!0)}}}De.prototype.doSimulatedDragOut=function(){var a=this.diagram;a.ht=!1;this.mayCopy()||this.mayMove()?a.currentCursor=\"\":a.currentCursor=this.nodropCursor;this.qo=null};De.prototype.computeMove=function(a,b,c,d){c=this.diagram;return null!==c?c.computeMove(a,b,this.dragOptions,d):new J};\nna.Object.defineProperties(De.prototype,{isCopyEnabled:{get:function(){return this.Pc},set:function(a){this.Pc=a}},copiesEffectiveCollection:{get:function(){return this.C},set:function(a){this.C=a}},dragOptions:{get:function(){return this.Ha},set:function(a){this.Ha=a}},isGridSnapEnabled:{get:function(){return this.dragOptions.isGridSnapEnabled},set:function(a){this.dragOptions.isGridSnapEnabled=\na}},isComplexRoutingRealtime:{get:function(){return this.yc},set:function(a){this.yc=a}},isGridSnapRealtime:{get:function(){return this.dragOptions.isGridSnapRealtime},set:function(a){this.dragOptions.isGridSnapRealtime=a}},gridSnapCellSize:{get:function(){return this.dragOptions.gridSnapCellSize},set:function(a){this.dragOptions.gridSnapCellSize.A(a)||(a=a.I(),this.dragOptions.gridSnapCellSize=a)}},gridSnapCellSpot:{\nget:function(){return this.dragOptions.gridSnapCellSpot},set:function(a){this.dragOptions.gridSnapCellSpot.A(a)||(a=a.I(),this.dragOptions.gridSnapCellSpot=a)}},gridSnapOrigin:{get:function(){return this.dragOptions.gridSnapOrigin},set:function(a){this.dragOptions.gridSnapOrigin.A(a)||(a=a.I(),this.dragOptions.gridSnapOrigin=a)}},dragsLink:{get:function(){return this.dragOptions.dragsLink},set:function(a){this.dragOptions.dragsLink=\na}},dragsTree:{get:function(){return this.dragOptions.dragsTree},set:function(a){this.dragOptions.dragsTree=a}},copyCursor:{get:function(){return this.M},set:function(a){this.M=a}},moveCursor:{get:function(){return this.Ih},set:function(a){this.Ih=a}},nodropCursor:{get:function(){return this.Jh},set:function(a){this.Jh=a}},currentPart:{get:function(){return this.Ga},\nset:function(a){this.Ga=a}},copiedParts:{get:function(){return this.o},set:function(a){this.o=a}},draggedParts:{get:function(){return this.Wa},set:function(a){this.Wa=a}},draggingParts:{get:function(){return null!==this.copiedParts?this.copiedParts.Ef():null!==this.draggedParts?this.draggedParts.Ef():this.Zi}},draggedLink:{get:function(){return this.diagram.draggedLink},set:function(a){this.diagram.draggedLink=\na}},isDragOutStarted:{get:function(){return this.Kd},set:function(a){this.Kd=a}},startPoint:{get:function(){return this.hs},set:function(a){this.hs.A(a)||this.hs.assign(a)}},delay:{get:function(){return this.Zk},set:function(a){this.Zk=a}}});De.prototype.getDraggingSource=De.prototype.eA;var Ie=null,Me=null;De.className=\"DraggingTool\";He=new E;\nMa(\"draggingTool\",function(){return this.findTool(\"Dragging\")},function(a){this.Za(\"Dragging\",a,this.mouseMoveTools)});Oa.prototype.doCancel=function(){null!==Ie&&Ie.doCancel();re.prototype.doCancel.call(this)};\nfunction tf(){re.call(this);this.Jh=100;this.Ha=!1;this.Sh=\"pointer\";var a=new U,b=new uf;b.isPanelMain=!0;b.stroke=\"blue\";a.add(b);b=new uf;b.toArrow=\"Standard\";b.fill=\"blue\";b.stroke=\"blue\";a.add(b);a.layerName=\"Tool\";this.rw=a;a=new W;b=new uf;b.portId=\"\";b.figure=\"Rectangle\";b.fill=null;b.stroke=\"magenta\";b.strokeWidth=2;b.desiredSize=Jb;a.add(b);a.selectable=!1;a.layerName=\"Tool\";this.Tm=a;this.j=b;a=new W;b=new uf;b.portId=\"\";b.figure=\"Rectangle\";b.fill=null;b.stroke=\"magenta\";b.strokeWidth=\n2;b.desiredSize=Jb;a.add(b);a.selectable=!1;a.layerName=\"Tool\";this.sw=a;this.o=b;this.Ih=this.Kd=this.yc=this.Wa=this.Pc=null;this.Ga=!0;this.My=new I;this.Zi=this.ii=this.Sm=null}ma(tf,re);tf.prototype.doStop=function(){this.diagram.og();this.originalToPort=this.originalToNode=this.originalFromPort=this.originalFromNode=this.originalLink=null;this.validPortsCache.clear();this.targetPort=null};\ntf.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){var f=b.wf(),g=M.alloc();g.width=b.naturalBounds.width*f;g.height=b.naturalBounds.height*f;d.desiredSize=g;M.free(g);e?(d.toSpot=b.toSpot,d.toEndSegmentLength=b.toEndSegmentLength):(d.fromSpot=b.fromSpot,d.fromEndSegmentLength=b.fromEndSegmentLength);c.locationSpot=yc;f=J.alloc();c.location=b.da(yc,f);J.free(f);d.angle=b.Li();null!==this.portTargeted&&this.portTargeted(a,b,c,d,e)}};\ntf.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.desiredSize=Jb,b.fromSpot=rc,b.toSpot=rc);null!==a&&(a.location=this.diagram.lastInput.documentPoint);null!==this.portTargeted&&this.portTargeted(null,null,a,b,c)};tf.prototype.doMouseDown=function(){this.isActive&&this.doMouseMove()};\ntf.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram;this.targetPort=this.findTargetPort(this.isForwards);if(null!==this.targetPort&&this.targetPort.part instanceof W){var b=this.targetPort.part;this.isForwards?this.copyPortProperties(b,this.targetPort,this.temporaryToNode,this.temporaryToPort,!0):this.copyPortProperties(b,this.targetPort,this.temporaryFromNode,this.temporaryFromPort,!1)}else this.isForwards?this.setNoTargetPortProperties(this.temporaryToNode,this.temporaryToPort,\n!0):this.setNoTargetPortProperties(this.temporaryFromNode,this.temporaryFromPort,!1);(a.allowHorizontalScroll||a.allowVerticalScroll)&&a.zs(a.lastInput.viewPoint)}};tf.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.part;if(!(c instanceof W))return null;for(;null!==a;){var d=b?a.toLinkable:a.fromLinkable;if(!0===d&&(null!==a.portId||a instanceof W)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.panel}return null};\ntf.prototype.findTargetPort=function(a){var b=this.diagram,c=b.lastInput.documentPoint,d=this.portGravity;0>=d&&(d=.1);var e=this,f=b.kg(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0);d=Infinity;b=null;for(f=f.iterator;f.next();){var g=f.value,h=g.part;if(h instanceof W){var k=g.da(yc,J.alloc()),l=c.x-k.x,m=c.y-k.y;J.free(k);k=l*l+m*m;k<d&&(l=this.validPortsCache.H(g),null!==l?l&&(b=g,d=k):a&&this.isValidLink(this.originalFromNode,this.originalFromPort,h,g)||!a&&this.isValidLink(h,\ng,this.originalToNode,this.originalToPort)?(this.validPortsCache.add(g,!0),b=g,d=k):this.validPortsCache.add(g,!1))}}return null!==b&&(c=b.part,c instanceof W&&(null===c.layer||c.layer.allowLink))?b:null};\ntf.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.isUnconnectedLinkValid;if(this.diagram.currentTool===this&&(null!==a.layer&&!a.layer.allowLink||!0!==b.fromLinkable))return!1;var c=b.fromMaxLinks;if(Infinity>c){if(null!==this.originalLink&&a===this.originalFromNode&&b===this.originalFromPort)return!0;b=b.portId;null===b&&(b=\"\");if(a.iq(b).count>=c)return!1}return!0};\ntf.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.isUnconnectedLinkValid;if(this.diagram.currentTool===this&&(null!==a.layer&&!a.layer.allowLink||!0!==b.toLinkable))return!1;var c=b.toMaxLinks;if(Infinity>c){if(null!==this.originalLink&&a===this.originalToNode&&b===this.originalToPort)return!0;b=b.portId;null===b&&(b=\"\");if(a.Dd(b).count>=c)return!1}return!0};\ntf.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;a=a.part;b=b.part;return null!==a&&a===b};tf.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.part;if(!(c instanceof W))return!1;a=a.portId;null===a&&(a=\"\");var d=b.part;if(!(d instanceof W))return!1;b=b.portId;null===b&&(b=\"\");for(b=d.Dd(b);b.next();)if(d=b.value,d.fromNode===c&&d.fromPortId===a)return!0;return!1};\ntf.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.fromLinkableSelfNode&&d.toLinkableSelfNode||!this.isInSameNode(b,d))&&(b.fromLinkableDuplicates&&d.toLinkableDuplicates||!this.isLinked(b,d)))||null!==this.originalLink&&(null!==a&&this.isLabelDependentOnLink(a,this.originalLink)||null!==c&&this.isLabelDependentOnLink(c,this.originalLink))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,\nc,this.originalLink))return!1;if(null!==a){var e=a.linkValidation;if(null!==e&&!e(a,b,c,d,this.originalLink))return!1}if(null!==c&&(e=c.linkValidation,null!==e&&!e(a,b,c,d,this.originalLink)))return!1;e=this.linkValidation;return null!==e?e(a,b,c,d,this.originalLink):!0};tf.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.labeledLink;if(null===c)return!1;if(c===b)return!0;var d=new G;d.add(a);return vf(this,c,b,d)};\nfunction vf(a,b,c,d){if(b===c)return!0;var e=b.fromNode;if(null!==e&&e.isLinkLabel&&(d.add(e),vf(a,e.labeledLink,c,d)))return!0;b=b.toNode;return null!==b&&b.isLinkLabel&&(d.add(b),vf(a,b.labeledLink,c,d))?!0:!1}\ntf.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.isUnconnectedLinkValid;var d=this.diagram.validCycle;if(d!==wf){if(d===Hf){d=c||this.temporaryLink;if(null!==d&&!d.isTreeLink)return!0;for(d=b.linksConnected;d.next();){var e=d.value;if(e!==c&&e.isTreeLink&&e.toNode===b)return!1}return!If(this,a,b,c,!0)}if(d===Jf){d=c||this.temporaryLink;if(null!==d&&!d.isTreeLink)return!0;for(d=a.linksConnected;d.next();)if(e=d.value,e!==c&&e.isTreeLink&&e.fromNode===\na)return!1;return!If(this,a,b,c,!0)}if(d===Kf)return a===b?a=!0:(d=new G,d.add(b),a=Lf(this,d,a,b,c)),!a;if(d===Mf)return!If(this,a,b,c,!1);if(d===Nf)return a===b?a=!0:(d=new G,d.add(b),a=Of(this,d,a,b,c)),!a}return!0};function If(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var f=b.linksConnected;f.next();){var g=f.value;if(g!==d&&(!e||g.isTreeLink)&&g.toNode===b&&(g=g.fromNode,g!==b&&If(a,g,c,d,e)))return!0}return!1}\nfunction Lf(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var f=c.linksConnected;f.next();){var g=f.value;if(g!==e&&g.toNode===c&&(g=g.fromNode,g!==c&&Lf(a,b,g,d,e)))return!0}return!1}function Of(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var f=c.linksConnected;f.next();){var g=f.value;if(g!==e){var h=g.fromNode;g=g.toNode;h=h===c?g:h;if(h!==c&&Of(a,b,h,d,e))return!0}}return!1}\nna.Object.defineProperties(tf.prototype,{portGravity:{get:function(){return this.Jh},set:function(a){0<=a&&(this.Jh=a)}},isUnconnectedLinkValid:{get:function(){return this.Ha},set:function(a){this.Ha=a}},linkingCursor:{get:function(){return this.Sh},set:function(a){this.Sh=a}},temporaryLink:{get:function(){return this.rw},set:function(a){this.rw=a}},temporaryFromNode:{\nget:function(){return this.Tm},set:function(a){if(this.Tm=a)this.j=a.port}},temporaryFromPort:{get:function(){return this.j},set:function(a){if(null!==this.j){var b=this.j.panel;if(null!==b){var c=b.T.indexOf(this.j);b.eb(c);b.ub(c,a)}}this.j=a}},temporaryToNode:{get:function(){return this.sw},set:function(a){if(this.sw=a)this.o=a.port}},temporaryToPort:{get:function(){return this.o},set:function(a){if(null!==\nthis.o){var b=this.o.panel;if(null!==b){var c=b.T.indexOf(this.o);b.eb(c);b.ub(c,a)}}this.o=a}},originalLink:{get:function(){return this.Pc},set:function(a){this.Pc=a}},originalFromNode:{get:function(){return this.Wa},set:function(a){this.Wa=a}},originalFromPort:{get:function(){return this.yc},set:function(a){this.yc=a}},originalToNode:{get:function(){return this.Kd},set:function(a){this.Kd=\na}},originalToPort:{get:function(){return this.Ih},set:function(a){this.Ih=a}},isForwards:{get:function(){return this.Ga},set:function(a){this.Ga=a}},validPortsCache:{get:function(){return this.My}},targetPort:{get:function(){return this.Sm},set:function(a){this.Sm=a}},linkValidation:{get:function(){return this.ii},set:function(a){this.ii=a}},portTargeted:{\nget:function(){return this.Zi},set:function(a){this.Zi=a}}});tf.className=\"LinkingBaseTool\";function Pf(){tf.call(this);this.name=\"Linking\";this.M={};this.C=null;this.K=Qf;this.Kh=null}ma(Pf,tf);Pf.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return a.isReadOnly||a.isModelReadOnly||!a.allowLink||!a.model.Ps()||!a.lastInput.left||a.currentTool!==this&&!this.isBeyondDragSize()?!1:null!==this.findLinkablePort()};\nPf.prototype.findLinkablePort=function(){var a=this.diagram,b=this.startObject;null===b&&(b=a.Wb(a.firstInput.documentPoint,null,null));if(null===b)return null;a=b.part;if(!(a instanceof W))return null;var c=this.direction;if(c===Qf||c===Rf){var d=this.findValidLinkablePort(b,!1);if(null!==d||this.startObject===a&&(d=a.port,this.findValidLinkablePort(d,!1)))return this.isForwards=!0,d}if(c===Qf||c===Sf)if(b=this.findValidLinkablePort(b,!0),null!==b||this.startObject===a&&(b=a.port,this.findValidLinkablePort(b,\n!0)))return this.isForwards=!1,b;return null};\nPf.prototype.doActivate=function(){var a=this.diagram,b=this.findLinkablePort();null===b?this.stopTool():(this.wa(this.name),a.isMouseCaptured=!0,a.currentCursor=this.linkingCursor,this.isForwards?(null===this.temporaryToNode||this.temporaryToNode.location.u()||(this.temporaryToNode.location=a.lastInput.documentPoint),this.originalFromPort=b,b=this.originalFromPort.part,b instanceof W&&(this.originalFromNode=b),this.copyPortProperties(this.originalFromNode,this.originalFromPort,this.temporaryFromNode,\nthis.temporaryFromPort,!1)):(null===this.temporaryFromNode||this.temporaryFromNode.location.u()||(this.temporaryFromNode.location=a.lastInput.documentPoint),this.originalToPort=b,b=this.originalToPort.part,b instanceof W&&(this.originalToNode=b),this.copyPortProperties(this.originalToNode,this.originalToPort,this.temporaryToNode,this.temporaryToPort,!0)),a.add(this.temporaryFromNode),a.add(this.temporaryToNode),null!==this.temporaryLink&&(null!==this.temporaryFromNode&&(this.temporaryLink.fromNode=\nthis.temporaryFromNode),null!==this.temporaryToNode&&(this.temporaryLink.toNode=this.temporaryToNode),this.temporaryLink.isTreeLink=this.isNewTreeLink(),this.temporaryLink.Ua(),a.add(this.temporaryLink)),this.isActive=!0)};Pf.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;a.remove(this.temporaryLink);a.remove(this.temporaryFromNode);a.remove(this.temporaryToNode);a.isMouseCaptured=!1;a.currentCursor=\"\";this.stopTransaction()};\nPf.prototype.doStop=function(){tf.prototype.doStop.call(this);this.startObject=null};\nPf.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram,b=this.transactionResult=null,c=null,d=null,e=null,f=null;try{var g=this.targetPort=this.findTargetPort(this.isForwards);if(null!==g){var h=g.part;h instanceof W&&(this.isForwards?(null!==this.originalFromNode&&(b=this.originalFromNode,c=this.originalFromPort),d=h,e=g):(b=h,c=g,null!==this.originalToNode&&(d=this.originalToNode,e=this.originalToPort)))}else this.isForwards?null!==this.originalFromNode&&this.isUnconnectedLinkValid&&\n(b=this.originalFromNode,c=this.originalFromPort):null!==this.originalToNode&&this.isUnconnectedLinkValid&&(d=this.originalToNode,e=this.originalToPort);null!==b||null!==d?(f=this.insertLink(b,c,d,e),null!==f?(null===g&&(this.isForwards?f.defaultToPoint=a.lastInput.documentPoint:f.defaultFromPoint=a.lastInput.documentPoint),a.allowSelect&&(a.S(\"ChangingSelection\",a.selection),a.clearSelection(!0),f.isSelected=!0),this.transactionResult=this.name,a.S(\"LinkDrawn\",f)):this.doNoLink(b,c,d,e)):this.isForwards?\nthis.doNoLink(this.originalFromNode,this.originalFromPort,null,null):this.doNoLink(null,null,this.originalToNode,this.originalToPort)}finally{this.stopTool(),f&&a.allowSelect&&a.S(\"ChangedSelection\",a.selection)}}};Pf.prototype.isNewTreeLink=function(){var a=this.archetypeLinkData;if(null===a)return!0;if(a instanceof U)return a.isTreeLink;var b=this.diagram;if(null===b)return!0;a=b.partManager.getLinkCategoryForData(a);b=b.partManager.findLinkTemplateForCategory(a);return null!==b?b.isTreeLink:!0};\nPf.prototype.insertLink=function(a,b,c,d){return this.diagram.partManager.insertLink(a,b,c,d)};Pf.prototype.doNoLink=function(){};\nna.Object.defineProperties(Pf.prototype,{archetypeLinkData:{get:function(){return this.M},set:function(a){this.M=a}},archetypeLabelNodeData:{get:function(){return this.C},set:function(a){this.C=a}},direction:{get:function(){return this.K},set:function(a){this.K=a}},startObject:{get:function(){return this.Kh},set:function(a){this.Kh=a}}});\nvar Qf=new D(Pf,\"Either\",0),Rf=new D(Pf,\"ForwardsOnly\",0),Sf=new D(Pf,\"BackwardsOnly\",0);Pf.className=\"LinkingTool\";Pf.Either=Qf;Pf.ForwardsOnly=Rf;Pf.BackwardsOnly=Sf;\nfunction Ne(){tf.call(this);this.name=\"Relinking\";var a=new uf;a.figure=\"Diamond\";a.desiredSize=Lb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";a.cursor=this.linkingCursor;a.segmentIndex=0;this.M=a;a=new uf;a.figure=\"Diamond\";a.desiredSize=Lb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";a.cursor=this.linkingCursor;a.segmentIndex=-1;this.Kh=a;this.C=null;this.hx=new N}ma(Ne,tf);\nNe.prototype.updateAdornments=function(a){if(null!==a&&a instanceof U){var b=\"RelinkFrom\",c=null;if(a.isSelected&&!this.diagram.isReadOnly){var d=a.selectionObject;null!==d&&a.canRelinkFrom()&&a.actualBounds.u()&&a.isVisible()&&d.actualBounds.u()&&d.Bf()&&(c=a.hk(b),null===c&&(c=this.makeAdornment(d,!1),a.th(b,c)))}null===c&&a.Cf(b);b=\"RelinkTo\";c=null;a.isSelected&&!this.diagram.isReadOnly&&(d=a.selectionObject,null!==d&&a.canRelinkTo()&&a.actualBounds.u()&&a.isVisible()&&d.actualBounds.u()&&d.Bf()&&\n(c=a.hk(b),null===c?(c=this.makeAdornment(d,!0),a.th(b,c)):c.s()));null===c&&a.Cf(b)}};Ne.prototype.makeAdornment=function(a,b){var c=new we;c.type=X.Link;b=b?this.toHandleArchetype:this.fromHandleArchetype;null!==b&&c.add(b.copy());c.adornedObject=a;return c};\nNe.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowRelink||!a.model.Ps()||!a.lastInput.left)return!1;var b=this.findToolHandleAt(a.firstInput.documentPoint,\"RelinkFrom\");null===b&&(b=this.findToolHandleAt(a.firstInput.documentPoint,\"RelinkTo\"));return null!==b};\nNe.prototype.doActivate=function(){var a=this.diagram;if(null===this.originalLink){var b=this.handle;null===b&&(b=this.findToolHandleAt(a.firstInput.documentPoint,\"RelinkFrom\"),null===b&&(b=this.findToolHandleAt(a.firstInput.documentPoint,\"RelinkTo\")));if(null===b)return;var c=b.part;if(!(c instanceof we&&c.adornedPart instanceof U))return;this.handle=b;this.isForwards=null===c||\"RelinkTo\"===c.category;this.originalLink=c.adornedPart}this.wa(this.name);a.isMouseCaptured=!0;a.currentCursor=this.linkingCursor;\nthis.originalFromPort=this.originalLink.fromPort;this.originalFromNode=this.originalLink.fromNode;this.originalToPort=this.originalLink.toPort;this.originalToNode=this.originalLink.toNode;this.hx.set(this.originalLink.actualBounds);null!==this.originalLink&&0<this.originalLink.pointsCount&&(null===this.originalLink.fromNode&&(null!==this.temporaryFromPort&&(this.temporaryFromPort.desiredSize=Ib),null!==this.temporaryFromNode&&(this.temporaryFromNode.location=this.originalLink.i(0))),null===this.originalLink.toNode&&\n(null!==this.temporaryToPort&&(this.temporaryToPort.desiredSize=Ib),null!==this.temporaryToNode&&(this.temporaryToNode.location=this.originalLink.i(this.originalLink.pointsCount-1))));this.copyPortProperties(this.originalFromNode,this.originalFromPort,this.temporaryFromNode,this.temporaryFromPort,!1);this.copyPortProperties(this.originalToNode,this.originalToPort,this.temporaryToNode,this.temporaryToPort,!0);a.add(this.temporaryFromNode);a.add(this.temporaryToNode);null!==this.temporaryLink&&(null!==\nthis.temporaryFromNode&&(this.temporaryLink.fromNode=this.temporaryFromNode),null!==this.temporaryToNode&&(this.temporaryLink.toNode=this.temporaryToNode),this.copyLinkProperties(this.originalLink,this.temporaryLink),this.temporaryLink.Ua(),a.add(this.temporaryLink));this.isActive=!0};\nNe.prototype.copyLinkProperties=function(a,b){if(null!==a&&null!==b){b.adjusting=a.adjusting;b.corner=a.corner;var c=a.curve;if(c===Tf||c===Uf)c=Vf;b.curve=c;b.curviness=a.curviness;b.isTreeLink=a.isTreeLink;b.points=a.points;b.routing=a.routing;b.smoothness=a.smoothness;b.fromSpot=a.fromSpot;b.fromEndSegmentLength=a.fromEndSegmentLength;b.fromShortLength=a.fromShortLength;b.toSpot=a.toSpot;b.toEndSegmentLength=a.toEndSegmentLength;b.toShortLength=a.toShortLength}};\nNe.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;a.remove(this.temporaryLink);a.remove(this.temporaryFromNode);a.remove(this.temporaryToNode);a.isMouseCaptured=!1;a.currentCursor=\"\";this.stopTransaction()};Ne.prototype.doStop=function(){tf.prototype.doStop.call(this);this.handle=null};\nNe.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram;this.transactionResult=null;var b=this.originalFromNode,c=this.originalFromPort,d=this.originalToNode,e=this.originalToPort,f=this.originalLink;try{this.targetPort=this.findTargetPort(this.isForwards);if(null!==this.targetPort){var g=this.targetPort.part;g instanceof W&&(this.isForwards?(d=g,e=this.targetPort):(b=g,c=this.targetPort))}else this.isUnconnectedLinkValid?this.isForwards?e=d=null:c=b=null:f=null;null!==f?(this.reconnectLink(f,\nthis.isForwards?d:b,this.isForwards?e:c,this.isForwards),null===this.targetPort&&(this.isForwards?f.defaultToPoint=a.lastInput.documentPoint:f.defaultFromPoint=a.lastInput.documentPoint,f.Ua()),this.transactionResult=this.name,a.S(\"LinkRelinked\",f,this.isForwards?this.originalToPort:this.originalFromPort)):this.doNoRelink(this.originalLink,this.isForwards);this.originalLink.rq(this.hx)}finally{this.stopTool()}}};\nNe.prototype.reconnectLink=function(a,b,c,d){c=null!==c&&null!==c.portId?c.portId:\"\";d?(a.toNode=b,a.toPortId=c):(a.fromNode=b,a.fromPortId=c);return!0};Ne.prototype.doNoRelink=function(){};\nfunction mf(a,b,c,d,e){null!==b?(a.copyPortProperties(b,c,a.temporaryFromNode,a.temporaryFromPort,!1),a.diagram.add(a.temporaryFromNode)):a.diagram.remove(a.temporaryFromNode);null!==d?(a.copyPortProperties(d,e,a.temporaryToNode,a.temporaryToPort,!0),a.diagram.add(a.temporaryToNode)):a.diagram.remove(a.temporaryToNode)}\nna.Object.defineProperties(Ne.prototype,{fromHandleArchetype:{get:function(){return this.M},set:function(a){this.M=a}},toHandleArchetype:{get:function(){return this.Kh},set:function(a){this.Kh=a}},handle:{get:function(){return this.C},set:function(a){if(null!==a&&!(a.part instanceof we))throw Error(\"new handle is not in an Adornment: \"+a);this.C=a}}});Ne.className=\"RelinkingTool\";\nMa(\"linkingTool\",function(){return this.findTool(\"Linking\")},function(a){this.Za(\"Linking\",a,this.mouseMoveTools)});Ma(\"relinkingTool\",function(){return this.findTool(\"Relinking\")},function(a){this.Za(\"Relinking\",a,this.mouseDownTools)});\nfunction Wf(){re.call(this);this.name=\"LinkReshaping\";var a=new uf;a.figure=\"Rectangle\";a.desiredSize=Kb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";this.o=a;a=new uf;a.figure=\"Diamond\";a.desiredSize=Lb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";a.cursor=\"move\";this.C=a;this.M=3;this.ot=this.j=null;this.ix=new J;this.Sr=new E}ma(Wf,re);Wf.prototype.wv=function(a){return a&&a.Wr&&0!==a.Wr.value?a.Wr:Xf};Wf.prototype.Im=function(a,b){a.Wr=b};\nWf.prototype.updateAdornments=function(a){if(null!==a&&a instanceof U){var b=null;if(a.isSelected&&!this.diagram.isReadOnly){var c=a.path;null!==c&&a.canReshape()&&a.actualBounds.u()&&a.isVisible()&&c.actualBounds.u()&&c.Bf()&&(b=a.hk(this.name),null===b||b.ax!==a.pointsCount||b.xx!==a.resegmentable)&&(b=this.makeAdornment(c),null!==b&&(b.ax=a.pointsCount,b.xx=a.resegmentable,a.th(this.name,b)))}null===b&&a.Cf(this.name)}};\nWf.prototype.makeAdornment=function(a){var b=a.part,c=b.pointsCount,d=b.isOrthogonal,e=null;if(null!==b.points&&1<c){e=new we;e.type=X.Link;c=b.firstPickIndex;var f=b.lastPickIndex,g=d?1:0;if(b.resegmentable&&b.computeCurve()!==Yf)for(var h=c+g;h<f-g;h++){var k=this.makeResegmentHandle(a,h);null!==k&&(k.segmentIndex=h,k.segmentFraction=.5,k.fromMaxLinks=999,e.add(k))}for(g=c+1;g<f;g++)if(h=this.makeHandle(a,g),null!==h){h.segmentIndex=g;if(g!==c)if(g===c+1&&d){k=b.i(c);var l=b.i(c+1);L.w(k.x,l.x)&&\nL.w(k.y,l.y)&&(l=b.i(c-1));L.w(k.x,l.x)?(this.Im(h,Zf),h.cursor=\"n-resize\"):L.w(k.y,l.y)&&(this.Im(h,$f),h.cursor=\"w-resize\")}else g===f-1&&d?(k=b.i(f-1),l=b.i(f),L.w(k.x,l.x)&&L.w(k.y,l.y)&&(k=b.i(f+1)),L.w(k.x,l.x)?(this.Im(h,Zf),h.cursor=\"n-resize\"):L.w(k.y,l.y)&&(this.Im(h,$f),h.cursor=\"w-resize\")):g!==f&&(this.Im(h,ag),h.cursor=\"move\");e.add(h)}e.adornedObject=a}return e};Wf.prototype.makeHandle=function(){var a=this.handleArchetype;return null===a?null:a.copy()};\nWf.prototype.makeResegmentHandle=function(){var a=this.midHandleArchetype;return null===a?null:a.copy()};Wf.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowReshape&&a.lastInput.left?null!==this.findToolHandleAt(a.firstInput.documentPoint,this.name):!1};\nWf.prototype.doActivate=function(){var a=this.diagram;null===this.handle&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name));if(null!==this.handle){var b=this.handle.part.adornedPart;if(b instanceof U){this.ot=b;a.isMouseCaptured=!0;this.wa(this.name);if(b.resegmentable&&999===this.handle.fromMaxLinks){var c=b.points.copy(),d=this.getResegmentingPoint();c.ub(this.handle.segmentIndex+1,d);b.isOrthogonal&&c.ub(this.handle.segmentIndex+1,d);b.points=c;b.Kb();b.updateAdornments();\nthis.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name);if(null===this.handle){this.doDeactivate();return}}this.ix=b.i(this.handle.segmentIndex);this.Sr=b.points.copy();this.isActive=!0}}};Wf.prototype.doDeactivate=function(){this.stopTransaction();this.ot=this.handle=null;this.isActive=this.diagram.isMouseCaptured=!1};Wf.prototype.doCancel=function(){var a=this.adornedLink;null!==a&&(a.points=this.Sr);this.stopTool()};Wf.prototype.getResegmentingPoint=function(){return this.handle.da(yc)};\nWf.prototype.doMouseMove=function(){var a=this.diagram;this.isActive&&(a=this.computeReshape(a.lastInput.documentPoint),this.reshape(a))};\nWf.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){var b=this.computeReshape(a.lastInput.documentPoint);this.reshape(b);b=this.adornedLink;if(null!==b&&b.resegmentable){var c=this.handle.segmentIndex,d=b.i(c-1),e=b.i(c),f=b.i(c+1);if(b.isOrthogonal){if(c>b.firstPickIndex+1&&c<b.lastPickIndex-1){var g=b.i(c-2);if(Math.abs(d.x-e.x)<this.resegmentingDistance&&Math.abs(d.y-e.y)<this.resegmentingDistance&&(bg(this,g,d,e,f,!0)||bg(this,g,d,e,f,!1))){var h=b.points.copy();bg(this,g,d,\ne,f,!0)?(h.Lc(c-2,new J(g.x,(f.y+g.y)/2)),h.Lc(c+1,new J(f.x,(f.y+g.y)/2))):(h.Lc(c-2,new J((f.x+g.x)/2,g.y)),h.Lc(c+1,new J((f.x+g.x)/2,f.y)));h.eb(c);h.eb(c-1);b.points=h;b.Kb()}else g=b.i(c+2),Math.abs(e.x-f.x)<this.resegmentingDistance&&Math.abs(e.y-f.y)<this.resegmentingDistance&&(bg(this,d,e,f,g,!0)||bg(this,d,e,f,g,!1))&&(h=b.points.copy(),bg(this,d,e,f,g,!0)?(h.Lc(c-1,new J(d.x,(d.y+g.y)/2)),h.Lc(c+2,new J(g.x,(d.y+g.y)/2))):(h.Lc(c-1,new J((d.x+g.x)/2,d.y)),h.Lc(c+2,new J((d.x+g.x)/2,g.y))),\nh.eb(c+1),h.eb(c),b.points=h,b.Kb())}}else g=J.alloc(),L.Eh(d.x,d.y,f.x,f.y,e.x,e.y,g)&&g.tf(e)<this.resegmentingDistance*this.resegmentingDistance&&(d=b.points.copy(),d.eb(c),b.points=d,b.Kb()),J.free(g)}a.Pa();this.transactionResult=this.name;a.S(\"LinkReshaped\",this.adornedLink,this.Sr)}this.stopTool()};\nfunction bg(a,b,c,d,e,f){return f?Math.abs(b.y-c.y)<a.resegmentingDistance&&Math.abs(c.y-d.y)<a.resegmentingDistance&&Math.abs(d.y-e.y)<a.resegmentingDistance:Math.abs(b.x-c.x)<a.resegmentingDistance&&Math.abs(c.x-d.x)<a.resegmentingDistance&&Math.abs(d.x-e.x)<a.resegmentingDistance}\nWf.prototype.reshape=function(a){var b=this.adornedLink;b.Hh();var c=this.handle.segmentIndex,d=this.wv(this.handle);if(b.isOrthogonal)if(c===b.firstPickIndex+1)c=b.firstPickIndex+1,d===Zf?(b.L(c,b.i(c-1).x,a.y),b.L(c+1,b.i(c+2).x,a.y)):d===$f&&(b.L(c,a.x,b.i(c-1).y),b.L(c+1,a.x,b.i(c+2).y));else if(c===b.lastPickIndex-1)c=b.lastPickIndex-1,d===Zf?(b.L(c-1,b.i(c-2).x,a.y),b.L(c,b.i(c+1).x,a.y)):d===$f&&(b.L(c-1,a.x,b.i(c-2).y),b.L(c,a.x,b.i(c+1).y));else{d=c;var e=b.i(d),f=b.i(d-1),g=b.i(d+1);L.w(f.x,\ne.x)&&L.w(e.y,g.y)?(L.w(f.x,b.i(d-2).x)&&!L.w(f.y,b.i(d-2).y)?(b.l(d,a.x,f.y),c++,d++):b.L(d-1,a.x,f.y),L.w(g.y,b.i(d+2).y)&&!L.w(g.x,b.i(d+2).x)?b.l(d+1,g.x,a.y):b.L(d+1,g.x,a.y)):L.w(f.y,e.y)&&L.w(e.x,g.x)?(L.w(f.y,b.i(d-2).y)&&!L.w(f.x,b.i(d-2).x)?(b.l(d,f.x,a.y),c++,d++):b.L(d-1,f.x,a.y),L.w(g.x,b.i(d+2).x)&&!L.w(g.y,b.i(d+2).y)?b.l(d+1,a.x,g.y):b.L(d+1,a.x,g.y)):L.w(f.x,e.x)&&L.w(e.x,g.x)?(L.w(f.x,b.i(d-2).x)&&!L.w(f.y,b.i(d-2).y)?(b.l(d,a.x,f.y),c++,d++):b.L(d-1,a.x,f.y),L.w(g.x,b.i(d+2).x)&&\n!L.w(g.y,b.i(d+2).y)?b.l(d+1,a.x,g.y):b.L(d+1,a.x,g.y)):L.w(f.y,e.y)&&L.w(e.y,g.y)&&(L.w(f.y,b.i(d-2).y)&&!L.w(f.x,b.i(d-2).x)?(b.l(d,f.x,a.y),c++,d++):b.L(d-1,f.x,a.y),L.w(g.y,b.i(d+2).y)&&!L.w(g.x,b.i(d+2).x)?b.l(d+1,g.x,a.y):b.L(d+1,g.x,a.y));b.L(c,a.x,a.y)}else b.L(c,a.x,a.y),d=b.fromNode,e=b.fromPort,null!==d&&(f=d.findVisibleNode(),null!==f&&f!==d&&(d=f,e=d.port)),1===c&&b.computeSpot(!0,e).wc()&&(f=e.da(yc,J.alloc()),d=b.getLinkPointFromPoint(d,e,f,a,!0,J.alloc()),b.L(0,d.x,d.y),J.free(f),\nJ.free(d)),d=b.toNode,e=b.toPort,null!==d&&(f=d.findVisibleNode(),null!==f&&f!==d&&(d=f,e=d.port)),c===b.pointsCount-2&&b.computeSpot(!1,e).wc()&&(c=e.da(yc,J.alloc()),a=b.getLinkPointFromPoint(d,e,c,a,!1,J.alloc()),b.L(b.pointsCount-1,a.x,a.y),J.free(c),J.free(a));b.rf()};Wf.prototype.computeReshape=function(a){var b=this.adornedLink,c=this.handle.segmentIndex;switch(this.wv(this.handle)){case ag:return a;case Zf:return new J(b.i(c).x,a.y);case $f:return new J(a.x,b.i(c).y);default:case Xf:return b.i(c)}};\nna.Object.defineProperties(Wf.prototype,{handleArchetype:{get:function(){return this.o},set:function(a){this.o=a}},midHandleArchetype:{get:function(){return this.C},set:function(a){this.C=a}},handle:{get:function(){return this.j},set:function(a){if(null!==a&&!(a.part instanceof we))throw Error(\"new handle is not in an Adornment: \"+a);this.j=a}},adornedLink:{get:function(){return this.ot}},\nresegmentingDistance:{get:function(){return this.M},set:function(a){this.M=a}},originalPoint:{get:function(){return this.ix}},originalPoints:{get:function(){return this.Sr}}});Wf.prototype.setReshapingBehavior=Wf.prototype.Im;Wf.prototype.getReshapingBehavior=Wf.prototype.wv;var Xf=new D(Wf,\"None\",0),$f=new D(Wf,\"Horizontal\",1),Zf=new D(Wf,\"Vertical\",2),ag=new D(Wf,\"All\",3);Wf.className=\"LinkReshapingTool\";\nWf.None=Xf;Wf.Horizontal=$f;Wf.Vertical=Zf;Wf.All=ag;Ma(\"linkReshapingTool\",function(){return this.findTool(\"LinkReshaping\")},function(a){this.Za(\"LinkReshaping\",a,this.mouseDownTools)});\nfunction cg(){re.call(this);this.name=\"Resizing\";this.Uf=(new M(1,1)).freeze();this.Tf=(new M(9999,9999)).freeze();this.tg=(new M(NaN,NaN)).freeze();this.C=!1;this.M=!0;this.ie=null;var a=new uf;a.alignmentFocus=yc;a.figure=\"Rectangle\";a.desiredSize=Kb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";a.strokeWidth=1;a.cursor=\"pointer\";this.o=a;this.j=null;this.Rr=new J;this.gx=new M;this.Uo=new J;this.Nt=new M(0,0);this.Mt=new M(Infinity,Infinity);this.Lt=new M(1,1)}ma(cg,re);\ncg.prototype.updateAdornments=function(a){if(!(null===a||a instanceof U)){if(a.isSelected&&!this.diagram.isReadOnly){var b=a.resizeObject,c=a.hk(this.name);if(null!==b&&a.canResize()&&a.actualBounds.u()&&a.isVisible()&&b.actualBounds.u()&&b.Bf()){if(null===c||c.adornedObject!==b)c=this.makeAdornment(b);if(null!==c){b=b.Li();lg(a)&&this.updateResizeHandles(c,b);a.th(this.name,c);return}}}a.Cf(this.name)}};\ncg.prototype.makeAdornment=function(a){var b=a.part.resizeAdornmentTemplate;if(null===b){b=new we;b.type=X.Spot;b.locationSpot=yc;var c=new mg;c.isPanelMain=!0;b.add(c);b.add(this.makeHandle(a,sc));b.add(this.makeHandle(a,wc));b.add(this.makeHandle(a,Cc));b.add(this.makeHandle(a,Ac));b.add(this.makeHandle(a,cd));b.add(this.makeHandle(a,ed));b.add(this.makeHandle(a,fd));b.add(this.makeHandle(a,dd))}else if(ng(b),b=b.copy(),null===b)return null;b.adornedObject=a;return b};\ncg.prototype.makeHandle=function(a,b){a=this.handleArchetype;if(null===a)return null;a=a.copy();a.alignment=b;return a};\ncg.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.Lb()&&(\"pointer\"===a.cursor||0<a.cursor.indexOf(\"resize\")))a:{var c=a.alignment;c.wc()&&(c=yc);if(0>=c.x)b=0>=c.y?b+225:1<=c.y?b+135:b+180;else if(1<=c.x)0>=c.y?b+=315:1<=c.y&&(b+=45);else if(0>=c.y)b+=270;else if(1<=c.y)b+=90;else break a;0>b?b+=360:360<=b&&(b-=360);a.cursor=22.5>b?\"e-resize\":67.5>b?\"se-resize\":112.5>b?\"s-resize\":157.5>b?\"sw-resize\":202.5>b?\"w-resize\":247.5>b?\"nw-resize\":292.5>b?\"n-resize\":337.5>b?\"ne-resize\":\n\"e-resize\"}else if(a instanceof X)for(a=a.elements;a.next();)this.updateResizeHandles(a.value,b)};cg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowResize&&a.lastInput.left?null!==this.findToolHandleAt(a.firstInput.documentPoint,this.name):!1};\ncg.prototype.doActivate=function(){var a=this.diagram;null===this.handle&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name));null!==this.handle&&(this.adornedObject=this.handle.part.adornedObject,null!==this.adornedObject&&(a.isMouseCaptured=!0,a.animationManager.nc(),this.wa(this.name),this.Rr.set(this.adornedObject.da(this.handle.alignment.Jv())),this.Uo.set(this.adornedObject.part.location),this.gx.set(this.adornedObject.desiredSize),this.Lt=this.computeCellSize(),this.Nt=\nthis.computeMinSize(),this.Mt=this.computeMaxSize(),this.isActive=!0))};cg.prototype.doDeactivate=function(){var a=this.diagram;this.stopTransaction();this.ie=this.handle=null;this.isActive=a.isMouseCaptured=!1};cg.prototype.doCancel=function(){null!==this.adornedObject&&(this.adornedObject.desiredSize=this.originalDesiredSize,this.adornedObject.part.location=this.originalLocation);this.stopTool()};\ncg.prototype.doMouseMove=function(){var a=this.diagram;if(this.isActive){var b=this.Nt,c=this.Mt,d=this.Lt,e=this.adornedObject.Hs(a.lastInput.documentPoint,J.alloc()),f=this.computeReshape();b=this.computeResize(e,this.handle.alignment,b,c,d,f);this.resize(b);a.ed();J.free(e)}};\ncg.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){var b=this.Nt,c=this.Mt,d=this.Lt,e=this.adornedObject.Hs(a.lastInput.documentPoint,J.alloc()),f=this.computeReshape();b=this.computeResize(e,this.handle.alignment,b,c,d,f);this.resize(b);J.free(e);a.Pa();this.transactionResult=this.name;a.S(\"PartResized\",this.adornedObject,this.originalDesiredSize)}this.stopTool()};\ncg.prototype.resize=function(a){var b=this.diagram,c=this.adornedObject;if(null!==c){c.desiredSize=a.size;a=c.part;a.Sa();c=c.da(this.handle.alignment.Jv());if(a instanceof hf){var d=new E;d.add(a);if(!this.dragsMembers&&null===a.placeholder){var e=new Ee;e.dragsMembers=!1}b.moveParts(d,this.oppositePoint.copy().ge(c),!0,e)}else a.location=a.location.copy().ge(c).add(this.oppositePoint);b.ed()}};\ncg.prototype.computeResize=function(a,b,c,d,e,f){b.wc()&&(b=yc);var g=this.adornedObject.naturalBounds,h=g.x,k=g.y,l=g.x+g.width,m=g.y+g.height,n=1;if(!f){n=g.width;var p=g.height;0>=n&&(n=1);0>=p&&(p=1);n=p/n}p=J.alloc();L.jq(a.x,a.y,h,k,e.width,e.height,p);a=g.copy();0>=b.x?0>=b.y?(a.x=Math.max(p.x,l-d.width),a.x=Math.min(a.x,l-c.width),a.width=Math.max(l-a.x,c.width),a.y=Math.max(p.y,m-d.height),a.y=Math.min(a.y,m-c.height),a.height=Math.max(m-a.y,c.height),f||(1<=a.height/a.width?(a.height=Math.max(Math.min(n*\na.width,d.height),c.height),a.width=a.height/n):(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width),a.x=l-a.width,a.y=m-a.height)):1<=b.y?(a.x=Math.max(p.x,l-d.width),a.x=Math.min(a.x,l-c.width),a.width=Math.max(l-a.x,c.width),a.height=Math.max(Math.min(p.y-k,d.height),c.height),f||(1<=a.height/a.width?(a.height=Math.max(Math.min(n*a.width,d.height),c.height),a.width=a.height/n):(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width),a.x=l-a.width)):(a.x=\nMath.max(p.x,l-d.width),a.x=Math.min(a.x,l-c.width),a.width=l-a.x,f||(a.height=Math.max(Math.min(n*a.width,d.height),c.height),a.width=a.height/n,a.y=k+.5*(m-k-a.height))):1<=b.x?0>=b.y?(a.width=Math.max(Math.min(p.x-h,d.width),c.width),a.y=Math.max(p.y,m-d.height),a.y=Math.min(a.y,m-c.height),a.height=Math.max(m-a.y,c.height),f||(1<=a.height/a.width?(a.height=Math.max(Math.min(n*a.width,d.height),c.height),a.width=a.height/n):(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width),\na.y=m-a.height)):1<=b.y?(a.width=Math.max(Math.min(p.x-h,d.width),c.width),a.height=Math.max(Math.min(p.y-k,d.height),c.height),f||(1<=a.height/a.width?(a.height=Math.max(Math.min(n*a.width,d.height),c.height),a.width=a.height/n):(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width))):(a.width=Math.max(Math.min(p.x-h,d.width),c.width),f||(a.height=Math.max(Math.min(n*a.width,d.height),c.height),a.width=a.height/n,a.y=k+.5*(m-k-a.height))):0>=b.y?(a.y=Math.max(p.y,m-d.height),\na.y=Math.min(a.y,m-c.height),a.height=m-a.y,f||(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width,a.x=h+.5*(l-h-a.width))):1<=b.y&&(a.height=Math.max(Math.min(p.y-k,d.height),c.height),f||(a.width=Math.max(Math.min(a.height/n,d.width),c.width),a.height=n*a.width,a.x=h+.5*(l-h-a.width)));J.free(p);return a};cg.prototype.computeReshape=function(){var a=og;this.adornedObject instanceof uf&&(a=pg(this.adornedObject));return!(a===qg||this.diagram.lastInput.shift)};\ncg.prototype.computeMinSize=function(){var a=this.adornedObject.minSize.copy(),b=this.minSize;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};cg.prototype.computeMaxSize=function(){var a=this.adornedObject.maxSize.copy(),b=this.maxSize;!isNaN(b.width)&&b.width<a.width&&(a.width=b.width);!isNaN(b.height)&&b.height<a.height&&(a.height=b.height);return a};\ncg.prototype.computeCellSize=function(){var a=new M(NaN,NaN),b=this.adornedObject.part;null!==b&&(b=b.resizeCellSize,!isNaN(b.width)&&0<b.width&&(a.width=b.width),!isNaN(b.height)&&0<b.height&&(a.height=b.height));b=this.cellSize;isNaN(a.width)&&!isNaN(b.width)&&0<b.width&&(a.width=b.width);isNaN(a.height)&&!isNaN(b.height)&&0<b.height&&(a.height=b.height);b=this.diagram;(isNaN(a.width)||isNaN(a.height))&&b&&(b=b.grid,null!==b&&b.visible&&this.isGridSnapEnabled&&(b=b.gridCellSize,isNaN(a.width)&&\n!isNaN(b.width)&&0<b.width&&(a.width=b.width),isNaN(a.height)&&!isNaN(b.height)&&0<b.height&&(a.height=b.height)));if(isNaN(a.width)||0===a.width||Infinity===a.width)a.width=1;if(isNaN(a.height)||0===a.height||Infinity===a.height)a.height=1;return a};\nna.Object.defineProperties(cg.prototype,{handleArchetype:{get:function(){return this.o},set:function(a){this.o=a}},handle:{get:function(){return this.j},set:function(a){if(null!==a&&!(a.part instanceof we))throw Error(\"new handle is not in an Adornment: \"+a);this.j=a}},adornedObject:{get:function(){return this.ie},set:function(a){if(null!==a&&a.part instanceof we)throw Error(\"new handle must not be in an Adornment: \"+\na);this.ie=a}},minSize:{get:function(){return this.Uf},set:function(a){if(!this.Uf.A(a)){var b=a.width;isNaN(b)&&(b=0);a=a.height;isNaN(a)&&(a=0);this.Uf.h(b,a)}}},maxSize:{get:function(){return this.Tf},set:function(a){if(!this.Tf.A(a)){var b=a.width;isNaN(b)&&(b=Infinity);a=a.height;isNaN(a)&&(a=Infinity);this.Tf.h(b,a)}}},cellSize:{get:function(){return this.tg},set:function(a){this.tg.A(a)||this.tg.assign(a)}},\nisGridSnapEnabled:{get:function(){return this.C},set:function(a){this.C=a}},dragsMembers:{get:function(){return this.M},set:function(a){this.M=a}},oppositePoint:{get:function(){return this.Rr},set:function(a){this.Rr.A(a)||this.Rr.assign(a)}},originalDesiredSize:{get:function(){return this.gx}},originalLocation:{get:function(){return this.Uo}}});\ncg.className=\"ResizingTool\";Ma(\"resizingTool\",function(){return this.findTool(\"Resizing\")},function(a){this.Za(\"Resizing\",a,this.mouseDownTools)});function rg(){re.call(this);this.name=\"Rotating\";this.Ha=45;this.Ga=2;this.Uo=new J;this.ie=null;var a=new uf;a.figure=\"Ellipse\";a.desiredSize=Lb;a.fill=\"lightblue\";a.stroke=\"dodgerblue\";a.strokeWidth=1;a.cursor=\"pointer\";this.o=a;this.j=null;this.ex=0;this.Xr=new J(NaN,NaN);this.C=0;this.M=50}ma(rg,re);\nrg.prototype.updateAdornments=function(a){if(null!==a){if(a.Dh()){var b=a.rotateObject;if(b===a||b===a.path||b.isPanelMain)return}if(a.isSelected&&!this.diagram.isReadOnly&&(b=a.rotateObject,null!==b&&a.canRotate()&&a.actualBounds.u()&&a.isVisible()&&b.actualBounds.u()&&b.Bf())){var c=a.hk(this.name);if(null===c||c.adornedObject!==b)c=this.makeAdornment(b);if(null!==c){c.angle=b.Li();null===c.placeholder&&(c.location=this.computeAdornmentLocation(b));a.th(this.name,c);return}}a.Cf(this.name)}};\nrg.prototype.makeAdornment=function(a){var b=a.part.rotateAdornmentTemplate;if(null===b){b=new we;b.type=X.Position;b.locationSpot=yc;var c=this.handleArchetype;null!==c&&b.add(c.copy())}else if(ng(b),b=b.copy(),null===b)return null;b.adornedObject=a;return b};rg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowRotate&&a.lastInput.left?null!==this.findToolHandleAt(a.firstInput.documentPoint,this.name):!1};\nrg.prototype.doActivate=function(){var a=this.diagram;if(null===this.adornedObject){null===this.handle&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name));if(null===this.handle)return;this.adornedObject=this.handle.part.adornedObject}null!==this.adornedObject&&(a.isMouseCaptured=!0,a.delaysLayout=!0,this.wa(this.name),this.ex=this.adornedObject.angle,this.Xr=this.computeRotationPoint(this.adornedObject),this.Uo=this.adornedObject.part.location.copy(),this.isActive=!0)};\nrg.prototype.computeRotationPoint=function(a){var b=a.part,c=b.locationObject;return b.rotationSpot.hb()?a.da(b.rotationSpot):a===b||a===c?c.da(b.locationSpot):a.da(yc)};\nrg.prototype.computeAdornmentLocation=function(a){var b=this.rotationPoint;b.u()||(b=this.computeRotationPoint(a));b=a.Hs(b);var c=this.handleAngle;0>c?c+=360:360<=c&&(c-=360);c=Math.round(45*Math.round(c/45));var d=this.handleDistance;0===c?b.x=a.naturalBounds.width+d:45===c?(b.x=a.naturalBounds.width+d,b.y=a.naturalBounds.height+d):90===c?b.y=a.naturalBounds.height+d:135===c?(b.x=-d,b.y=a.naturalBounds.height+d):180===c?b.x=-d:225===c?(b.x=-d,b.y=-d):270===c?b.y=-d:315===c&&(b.x=a.naturalBounds.width+\nd,b.y=-d);return a.da(b)};rg.prototype.doDeactivate=function(){var a=this.diagram;this.stopTransaction();this.ie=this.handle=null;this.Xr=new J(NaN,NaN);this.isActive=a.isMouseCaptured=!1};rg.prototype.doCancel=function(){this.diagram.delaysLayout=!1;this.rotate(this.originalAngle);this.stopTool()};rg.prototype.doMouseMove=function(){var a=this.diagram;this.isActive&&(a=this.computeRotate(a.lastInput.documentPoint),this.rotate(a))};\nrg.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){a.delaysLayout=!1;var b=this.computeRotate(a.lastInput.documentPoint);this.rotate(b);a.Pa();this.transactionResult=this.name;a.S(\"PartRotated\",this.adornedObject,this.originalAngle)}this.stopTool()};\nrg.prototype.rotate=function(a){var b=this.adornedObject;if(null!==b){b.angle=a;b=b.part;b.Sa();var c=b.locationObject,d=b.rotateObject;if(c===d||c.mg(d))c=this.Uo.copy(),b.location=c.ge(this.rotationPoint).rotate(a-this.originalAngle).add(this.rotationPoint);this.diagram.ed()}};\nrg.prototype.computeRotate=function(a){a=this.rotationPoint.Oa(a)-this.handleAngle;var b=this.adornedObject.panel;null!==b&&(a-=b.Li());360<=a?a-=360:0>a&&(a+=360);b=Math.min(Math.abs(this.snapAngleMultiple),180);var c=Math.min(Math.abs(this.snapAngleEpsilon),b/2);!this.diagram.lastInput.shift&&0<b&&0<c&&(a%b<c?a=Math.floor(a/b)*b:a%b>b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};\nna.Object.defineProperties(rg.prototype,{handleArchetype:{get:function(){return this.o},set:function(a){this.o=a}},handle:{get:function(){return this.j},set:function(a){if(null!==a&&!(a.part instanceof we))throw Error(\"new handle is not in an Adornment: \"+a);this.j=a}},adornedObject:{get:function(){return this.ie},set:function(a){if(null!==a&&a.part instanceof we)throw Error(\"new handle must not be in an Adornment: \"+\na);this.ie=a}},snapAngleMultiple:{get:function(){return this.Ha},set:function(a){this.Ha=a}},snapAngleEpsilon:{get:function(){return this.Ga},set:function(a){this.Ga=a}},originalAngle:{get:function(){return this.ex}},rotationPoint:{get:function(){return this.Xr},set:function(a){this.Xr=a.copy()}},handleAngle:{get:function(){return this.C},set:function(a){this.C=\na}},handleDistance:{get:function(){return this.M},set:function(a){this.M=a}}});rg.className=\"RotatingTool\";Ma(\"rotatingTool\",function(){return this.findTool(\"Rotating\")},function(a){this.Za(\"Rotating\",a,this.mouseDownTools)});function sg(){re.call(this);this.name=\"ClickSelecting\"}ma(sg,re);sg.prototype.canStart=function(){return!this.isEnabled||this.isBeyondDragSize()?!1:!0};\nsg.prototype.doMouseUp=function(){this.isActive&&(this.standardMouseSelect(),!this.standardMouseClick()&&this.diagram.lastInput.isTouchEvent&&this.diagram.toolManager.doToolTip());this.stopTool()};sg.className=\"ClickSelectingTool\";function tg(){re.call(this);this.name=\"Action\";this.Dk=null}ma(tg,re);\ntg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram,b=a.lastInput,c=a.Wb(b.documentPoint,function(a){for(;null!==a.panel&&!a.isActionable;)a=a.panel;return a});if(null!==c){if(!c.isActionable)return!1;this.Dk=c;a.Tk=a.Wb(b.documentPoint,null,null);return!0}return!1};tg.prototype.doMouseDown=function(){if(this.isActive){var a=this.diagram.lastInput,b=this.Dk;null!==b&&(a.targetObject=b,null!==b.actionDown&&b.actionDown(a,b))}else this.canStart()&&this.doActivate()};\ntg.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram.lastInput,b=this.Dk;null!==b&&(a.targetObject=b,null!==b.actionMove&&b.actionMove(a,b))}};tg.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram.lastInput,b=this.Dk;if(null===b)return;a.targetObject=b;null!==b.actionUp&&b.actionUp(a,b);this.standardMouseClick(function(a){for(;null!==a.panel&&(!a.isActionable||a!==b);)a=a.panel;return a},function(a){return a===b})}this.stopTool()};\ntg.prototype.doCancel=function(){var a=this.diagram.lastInput,b=this.Dk;null!==b&&(a.targetObject=b,null!==b.actionCancel&&b.actionCancel(a,b),this.stopTool())};tg.prototype.doStop=function(){this.Dk=null};tg.className=\"ActionTool\";function ug(){re.call(this);this.name=\"ClickCreating\";this.mj=null;this.o=!0;this.j=!1;this.Nw=new J(0,0)}ma(ug,re);\nug.prototype.canStart=function(){if(!this.isEnabled||null===this.archetypeNodeData)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.lastInput.left||this.isBeyondDragSize())return!1;if(this.isDoubleClick){if(1===a.lastInput.clickCount&&(this.Nw=a.lastInput.viewPoint.copy()),2!==a.lastInput.clickCount||this.isBeyondDragSize(this.Nw))return!1}else if(1!==a.lastInput.clickCount)return!1;return a.currentTool!==this&&null!==a.im(a.lastInput.documentPoint,!0)?!1:!0};\nug.prototype.doMouseUp=function(){var a=this.diagram;this.isActive&&this.insertPart(a.lastInput.documentPoint);this.stopTool()};\nug.prototype.insertPart=function(a){var b=this.diagram,c=this.archetypeNodeData;if(null===c)return null;var d=null;try{b.S(\"ChangingSelection\",b.selection);this.wa(this.name);if(c instanceof V)c.Jc()&&(ng(c),d=c.copy(),null!==d&&b.add(d));else if(null!==c){var e=b.model.copyNodeData(c);za(e)&&(b.model.nf(e),d=b.vc(e))}if(null!==d){var f=J.allocAt(a.x,a.y);this.isGridSnapEnabled&&vg(this.diagram,d,a,f);d.location=f;b.allowSelect&&(b.clearSelection(!0),d.isSelected=!0);J.free(f)}b.Pa();this.transactionResult=\nthis.name;b.S(\"PartCreated\",d)}finally{this.stopTransaction(),b.S(\"ChangedSelection\",b.selection)}return d};na.Object.defineProperties(ug.prototype,{archetypeNodeData:{get:function(){return this.mj},set:function(a){this.mj=a}},isDoubleClick:{get:function(){return this.o},set:function(a){this.o=a}},isGridSnapEnabled:{get:function(){return this.j},set:function(a){this.j=a}}});ug.className=\"ClickCreatingTool\";\nfunction wg(){re.call(this);this.name=\"DragSelecting\";this.Zk=175;this.o=!1;var a=new V;a.layerName=\"Tool\";a.selectable=!1;var b=new uf;b.name=\"SHAPE\";b.figure=\"Rectangle\";b.fill=null;b.stroke=\"magenta\";a.add(b);this.j=a}ma(wg,re);\nwg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(!a.allowSelect)return!1;var b=a.lastInput;return!b.left||a.currentTool!==this&&(!this.isBeyondDragSize()||b.timestamp-a.firstInput.timestamp<this.delay||null!==a.im(b.documentPoint,!0))?!1:!0};wg.prototype.doActivate=function(){var a=this.diagram;this.isActive=!0;a.isMouseCaptured=!0;a.skipsUndoManager=!0;a.add(this.box);this.doMouseMove()};\nwg.prototype.doDeactivate=function(){var a=this.diagram;a.og();a.remove(this.box);a.skipsUndoManager=!1;this.isActive=a.isMouseCaptured=!1};wg.prototype.doMouseMove=function(){var a=this.diagram;if(this.isActive&&null!==this.box){var b=this.computeBoxBounds(),c=this.box.Ya(\"SHAPE\");null===c&&(c=this.box.nb());var d=M.alloc().h(b.width,b.height);c.desiredSize=d;this.box.Gm(b.x,b.y,!1);M.free(d);(a.allowHorizontalScroll||a.allowVerticalScroll)&&a.zs(a.lastInput.viewPoint)}};\nwg.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram;a.remove(this.box);try{a.currentCursor=\"wait\",a.S(\"ChangingSelection\",a.selection),this.selectInRect(this.computeBoxBounds()),a.S(\"ChangedSelection\",a.selection)}finally{a.currentCursor=\"\"}}this.stopTool()};wg.prototype.computeBoxBounds=function(){var a=this.diagram;return new N(a.firstInput.documentPoint,a.lastInput.documentPoint)};\nwg.prototype.selectInRect=function(a){var b=this.diagram,c=b.lastInput;a=b.Vx(a,this.isPartialInclusion);if(Sa?c.meta:c.control)if(c.shift)for(a=a.iterator;a.next();)b=a.value,b.isSelected&&(b.isSelected=!1);else for(a=a.iterator;a.next();)b=a.value,b.isSelected=!b.isSelected;else if(c.shift)for(a=a.iterator;a.next();)b=a.value,b.isSelected||(b.isSelected=!0);else{c=new E;for(b=b.selection.iterator;b.next();){var d=b.value;a.contains(d)||c.add(d)}for(b=c.iterator;b.next();)b.value.isSelected=!1;for(a=\na.iterator;a.next();)b=a.value,b.isSelected||(b.isSelected=!0)}};na.Object.defineProperties(wg.prototype,{delay:{get:function(){return this.Zk},set:function(a){this.Zk=a}},isPartialInclusion:{get:function(){return this.o},set:function(a){this.o=a}},box:{get:function(){return this.j},set:function(a){this.j=a}}});wg.className=\"DragSelectingTool\";\nfunction xg(){re.call(this);this.name=\"Panning\";this.vu=new J;this.bz=new J;this.sg=!1;var a=this;this.nx=function(){var b=a.diagram;null!==b&&b.removeEventListener(x.document,\"scroll\",a.nx,!1);a.stopTool()}}ma(xg,re);xg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.allowHorizontalScroll&&!a.allowVerticalScroll||!a.lastInput.left||a.currentTool!==this&&!this.isBeyondDragSize()?!1:!0};\nxg.prototype.doActivate=function(){var a=this.diagram;this.sg?(a.lastInput.bubbles=!0,a.addEventListener(x.document,\"scroll\",this.nx,!1)):(a.currentCursor=\"move\",a.isMouseCaptured=!0,this.vu.assign(a.position));this.isActive=!0};xg.prototype.doDeactivate=function(){var a=this.diagram;a.currentCursor=\"\";this.isActive=a.isMouseCaptured=!1};xg.prototype.doCancel=function(){var a=this.diagram;a.position=this.vu;a.isMouseCaptured=!1;this.stopTool()};xg.prototype.doMouseMove=function(){this.move()};\nxg.prototype.doMouseUp=function(){this.move();this.stopTool()};xg.prototype.move=function(){var a=this.diagram;if(this.isActive&&a)if(this.sg)a.lastInput.bubbles=!0;else{var b=a.position,c=a.firstInput.documentPoint,d=a.lastInput.documentPoint,e=b.x+c.x-d.x;c=b.y+c.y-d.y;a.allowHorizontalScroll||(e=b.x);a.allowVerticalScroll||(c=b.y);a.position=this.bz.h(e,c)}};\nna.Object.defineProperties(xg.prototype,{bubbles:{get:function(){return this.sg},set:function(a){this.sg=a}},originalPosition:{get:function(){return this.vu}}});xg.className=\"PanningTool\";Ma(\"clickCreatingTool\",function(){return this.findTool(\"ClickCreating\")},function(a){this.Za(\"ClickCreating\",a,this.mouseUpTools)});Ma(\"clickSelectingTool\",function(){return this.findTool(\"ClickSelecting\")},function(a){this.Za(\"ClickSelecting\",a,this.mouseUpTools)});\nMa(\"panningTool\",function(){return this.findTool(\"Panning\")},function(a){this.Za(\"Panning\",a,this.mouseMoveTools)});Ma(\"dragSelectingTool\",function(){return this.findTool(\"DragSelecting\")},function(a){this.Za(\"DragSelecting\",a,this.mouseMoveTools)});Ma(\"actionTool\",function(){return this.findTool(\"Action\")},function(a){this.Za(\"Action\",a,this.mouseDownTools)});function Be(){this.M=this.C=this.j=this.o=null}\nna.Object.defineProperties(Be.prototype,{mainElement:{get:function(){return this.C},set:function(a){this.C=a}},show:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},hide:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},valueFunction:{get:function(){return this.M},set:function(a){this.M=a}}});Be.className=\"HTMLInfo\";\nfunction yg(a,b,c){this.text=a;this.Jx=b;this.visible=c}yg.className=\"ContextMenuButtonInfo\";function zg(){re.call(this);this.name=\"ContextMenu\";this.o=this.Ct=this.j=null;this.Zw=new J;this.Et=null;this.$t=!1;var a=this;this.Su=function(){a.stopTool()}}ma(zg,re);\nfunction Ag(a){var b=new Be;b.show=function(a,b,c){c.showDefaultContextMenu()};b.hide=function(a,b){b.hideDefaultContextMenu()};Bg=b;a.Su=function(){a.stopTool()};b=va(\"div\");var c=va(\"div\");b.style.cssText=\"top: 0px;z-index:10002;position: fixed;display: none;text-align: center;left: 25%;width: 50%;background-color: #F5F5F5;padding: 16px;border: 16px solid #444;border-radius: 10px;margin-top: 10px\";c.style.cssText=\"z-index:10001;position: fixed;display: none;top: 0;left: 0;width: 100%;height: 100%;background-color: black;opacity: 0.8;\";\nvar d=va(\"style\");x.document.getElementsByTagName(\"head\")[0].appendChild(d);d.sheet.insertRule(\".goCXul { list-style: none; }\",0);d.sheet.insertRule(\".goCXli {font:700 1.5em Helvetica, Arial, sans-serif;position: relative;min-width: 60px; }\",0);d.sheet.insertRule(\".goCXa {color: #444;display: inline-block;padding: 4px;text-decoration: none;margin: 2px;border: 1px solid gray;border-radius: 10px; }\",0);d=a.diagram;null!==d&&(d.addEventListener(b,\"contextmenu\",Cg,!1),d.addEventListener(b,\"selectstart\",\nCg,!1),d.addEventListener(c,\"contextmenu\",Cg,!1));b.className=\"goCXforeground\";c.className=\"goCXbackground\";x.document.body&&(x.document.body.appendChild(b),x.document.body.appendChild(c));Dg=b;Eg=c;Fg=!0}function Cg(a){a.preventDefault();return!1}\nzg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return this.isBeyondDragSize()||!a.lastInput.right||1<a.lastInput.clickCount?!1:a.lastInput.isTouchEvent&&null!==this.defaultTouchContextMenu||null!==this.findObjectWithContextMenu()?!0:!1};zg.prototype.doStart=function(){this.Zw.set(this.diagram.firstInput.documentPoint)};zg.prototype.doStop=function(){this.hideContextMenu();this.currentObject=null};\nzg.prototype.findObjectWithContextMenu=function(a){void 0===a&&(a=null);var b=this.diagram,c=b.lastInput,d=null;a instanceof T||(a instanceof Y?d=a:d=b.Wb(c.documentPoint,null,function(a){return!a.layer.isTemporary}));if(null!==d){for(a=d;null!==a;){if(null!==a.contextMenu)return a;a=a.panel}if(b.lastInput.isTouchEvent&&this.defaultTouchContextMenu)return d.part}else if(null!==b.contextMenu)return b;return null};zg.prototype.doActivate=function(){};\nzg.prototype.doMouseDown=function(){re.prototype.doMouseDown.call(this);if(this.isActive&&this.currentContextMenu instanceof we){var a=this.diagram.toolManager.findTool(\"Action\");null!==a&&a.canStart()&&(a.doActivate(),a.doMouseDown(),a.doDeactivate())}this.diagram.toolManager.mouseDownTools.contains(this)&&Gg(this)};\nzg.prototype.doMouseUp=function(){if(this.isActive&&this.currentContextMenu instanceof we){var a=this.diagram.toolManager.findTool(\"Action\");null!==a&&a.canStart()&&(a.doActivate(),a.doCancel(),a.doDeactivate())}Gg(this)};\nfunction Gg(a){var b=a.diagram;if(a.isActive){var c=a.currentContextMenu;if(null!==c){if(!(c instanceof Be)){var d=b.Wb(b.lastInput.documentPoint,null,null);null!==d&&d.mg(c)&&a.standardMouseClick(null,null)}a.stopTool();a.canStart()&&(b.currentTool=a,a.doMouseUp())}}else a.canStart()&&(Hg(a,!0),a.isActive||a.stopTool())}\nfunction Hg(a,b,c){void 0===c&&(c=null);if(!a.$t&&(a.$t=!0,b&&a.standardMouseSelect(),b=a.standardMouseClick(),a.$t=!1,!b)){a.isActive=!0;b=Bg;null===c&&(c=a.findObjectWithContextMenu());if(null!==c){var d=c.contextMenu;null!==d?(a.currentObject=c instanceof Y?c:null,a.showContextMenu(d,a.currentObject)):null!==b&&a.showContextMenu(b,a.currentObject)}else null!==b&&a.showContextMenu(b,null);a.currentContextMenu instanceof we&&!a.currentContextMenu.visible&&a.stopTool()}}\nzg.prototype.doMouseMove=function(){var a=this.diagram.toolManager.findTool(\"Action\");null!==a&&a.doMouseMove();this.isActive&&this.diagram.toolManager.doMouseMove()};\nzg.prototype.showContextMenu=function(a,b){var c=this.diagram;a!==this.currentContextMenu&&this.hideContextMenu();if(a instanceof we){a.layerName=\"Tool\";a.selectable=!1;a.scale=1/c.scale;a.category=this.name;null!==a.placeholder&&(a.placeholder.scale=c.scale);var d=a.diagram;null!==d&&d!==c&&d.remove(a);c.add(a);null!==b?a.adornedObject=b:a.data=c.model;a.Sa();this.positionContextMenu(a,b)}else a instanceof Be&&a.show(b,c,this);this.currentContextMenu=a};\nzg.prototype.positionContextMenu=function(a){if(null===a.placeholder){var b=this.diagram,c=b.lastInput.documentPoint.copy(),d=a.measuredBounds,e=b.viewportBounds;b.lastInput.isTouchEvent&&(c.x-=d.width);c.x+d.width>e.right&&(c.x-=d.width+5/b.scale);c.x<e.x&&(c.x=e.x);c.y+d.height>e.bottom&&(c.y-=d.height+5/b.scale);c.y<e.y&&(c.y=e.y);a.position=c}};\nzg.prototype.hideContextMenu=function(){var a=this.diagram,b=this.currentContextMenu;null!==b&&(b instanceof we?(a.remove(b),null!==this.Ct&&this.Ct.Cf(b.category),b.data=null,b.adornedObject=null):b instanceof Be&&(null!==b.hide?b.hide(a,this):null!==b.mainElement&&(b.mainElement.style.display=\"none\")),this.currentContextMenu=null,this.standardMouseOver())};\nfunction Ig(a){var b=new E;b.add(new yg(\"Copy\",function(a){a.commandHandler.copySelection()},function(a){return a.commandHandler.canCopySelection()}));b.add(new yg(\"Cut\",function(a){a.commandHandler.cutSelection()},function(a){return a.commandHandler.canCutSelection()}));b.add(new yg(\"Delete\",function(a){a.commandHandler.deleteSelection()},function(a){return a.commandHandler.canDeleteSelection()}));b.add(new yg(\"Paste\",function(b){b.commandHandler.pasteSelection(a.mouseDownPoint)},function(b){return b.commandHandler.canPasteSelection(a.mouseDownPoint)}));\nb.add(new yg(\"Select All\",function(a){a.commandHandler.selectAll()},function(a){return a.commandHandler.canSelectAll()}));b.add(new yg(\"Undo\",function(a){a.commandHandler.undo()},function(a){return a.commandHandler.canUndo()}));b.add(new yg(\"Redo\",function(a){a.commandHandler.redo()},function(a){return a.commandHandler.canRedo()}));b.add(new yg(\"Scroll To Part\",function(a){a.commandHandler.scrollToPart()},function(a){return a.commandHandler.canScrollToPart()}));b.add(new yg(\"Zoom To Fit\",function(a){a.commandHandler.zoomToFit()},\nfunction(a){return a.commandHandler.canZoomToFit()}));b.add(new yg(\"Reset Zoom\",function(a){a.commandHandler.resetZoom()},function(a){return a.commandHandler.canResetZoom()}));b.add(new yg(\"Group Selection\",function(a){a.commandHandler.groupSelection()},function(a){return a.commandHandler.canGroupSelection()}));b.add(new yg(\"Ungroup Selection\",function(a){a.commandHandler.ungroupSelection()},function(a){return a.commandHandler.canUngroupSelection()}));b.add(new yg(\"Edit Text\",function(a){a.commandHandler.editTextBlock()},\nfunction(a){return a.commandHandler.canEditTextBlock()}));return b}\nzg.prototype.showDefaultContextMenu=function(){var a=this.diagram;null===this.Et&&(this.Et=Ig(this));Dg.innerHTML=\"\";Eg.addEventListener(\"pointerdown\",this.Su,!1);var b=this,c=va(\"ul\");c.className=\"goCXul\";Dg.appendChild(c);c.innerHTML=\"\";for(var d=this.Et.iterator;d.next();){var e=d.value,f=e.visible;if(\"function\"===typeof e.Jx&&(\"function\"!==typeof f||f(a))){f=va(\"li\");f.className=\"goCXli\";var g=va(\"a\");g.className=\"goCXa\";g.href=\"#\";g.Py=e.Jx;g.addEventListener(\"pointerdown\",function(c){this.Py(a);\nb.stopTool();c.preventDefault();return!1},!1);g.textContent=e.text;f.appendChild(g);c.appendChild(f)}}Dg.style.display=\"block\";Eg.style.display=\"block\"};zg.prototype.hideDefaultContextMenu=function(){if(null!==this.currentContextMenu&&this.currentContextMenu===Bg){Dg.style.display=\"none\";Eg.style.display=\"none\";var a=this.diagram;null!==a&&a.removeEventListener(Eg,\"pointerdown\",this.Su,!1);this.currentContextMenu=null}};\nna.Object.defineProperties(zg.prototype,{currentContextMenu:{get:function(){return this.j},set:function(a){this.j=a;this.Ct=a instanceof we?a.adornedPart:null}},defaultTouchContextMenu:{get:function(){!1===Fg&&null===Bg&&Jg&&Ag(this);return Bg},set:function(a){null===a&&(Fg=!0);Bg=a}},currentObject:{get:function(){return this.o},set:function(a){this.o=a}},mouseDownPoint:{get:function(){return this.Zw}}});\nvar Bg=null,Fg=!1,Eg=null,Dg=null;zg.className=\"ContextMenuTool\";Ma(\"contextMenuTool\",function(){return this.findTool(\"ContextMenu\")},function(a){this.Za(\"ContextMenu\",a,this.mouseUpTools)});function Kg(){re.call(this);this.name=\"TextEditing\";this.mh=new Lg;this.Ha=null;this.Ga=Mg;this.vi=null;this.ja=Ng;this.C=1;this.M=!0;this.o=null;this.j=new Be;this.Ft=null;Og(this,this.j)}ma(Kg,re);\nfunction Og(a,b){if(Jg){var c=va(\"textarea\");a.Ft=c;c.addEventListener(\"input\",function(){if(null!==a.textBlock){var b=a.py(this.value);this.style.width=20+b.measuredBounds.width*this.ZA+\"px\";this.rows=b.lineCount}},!1);c.addEventListener(\"keydown\",function(b){if(null!==a.textBlock){var c=b.key;\"Enter\"===c?(!1===a.textBlock.isMultiline&&b.preventDefault(),a.acceptText(Pg)):\"Tab\"===c?(a.acceptText(Qg),b.preventDefault()):\"Escape\"===c&&(a.doCancel(),null!==a.diagram&&a.diagram.doFocus())}},!1);c.addEventListener(\"focus\",\nfunction(){if(null!==a.currentTextEditor&&a.state!==Ng){var b=a.Ft;a.ja===Rg&&(a.ja=Sg);\"function\"===typeof b.select&&a.selectsTextOnActivate&&(b.select(),b.setSelectionRange(0,9999))}},!1);c.addEventListener(\"blur\",function(){if(null!==a.currentTextEditor&&a.state!==Ng){var b=a.Ft;\"function\"===typeof b.focus&&b.focus();\"function\"===typeof b.select&&a.selectsTextOnActivate&&(b.select(),b.setSelectionRange(0,9999))}},!1);b.valueFunction=function(){return c.value};b.mainElement=c;b.show=function(a,\nb,f){if(a instanceof Lg&&f instanceof Kg)if(f.state===Tg)c.style.border=\"3px solid red\",c.focus();else{var d=a.da(yc),e=b.position,k=b.scale,l=a.wf()*k;l<f.minimumEditorScale&&(l=f.minimumEditorScale);var m=a.naturalBounds.width*l+6,n=a.naturalBounds.height*l+2,p=(d.x-e.x)*k;d=(d.y-e.y)*k;e=a.verticalAlignment;k=(a.lineHeight+a.spacingAbove+a.spacingBelow)*a.lineCount*l;n=e.y*n-e.y*k+e.offsetY-(.5*n-.5*k)-k/2;c.value=a.text;b.div.style.font=a.font;c.style.position=\"absolute\";c.style.zIndex=\"100\";\nc.style.font=\"inherit\";c.style.fontSize=100*l+\"%\";c.style.lineHeight=\"normal\";c.style.width=m+\"px\";c.style.left=(p-m/2|0)-1+\"px\";c.style.top=(d+n|0)-1+\"px\";c.style.textAlign=a.textAlign;c.style.margin=\"0\";c.style.padding=\"1px\";c.style.border=\"0\";c.style.outline=\"none\";c.style.whiteSpace=\"pre-wrap\";c.style.overflow=\"hidden\";c.rows=a.lineCount;c.ZA=l;c.className=\"goTXarea\";b.div.appendChild(c);c.focus();f.selectsTextOnActivate&&(c.select(),c.setSelectionRange(0,9999))}};b.hide=function(a){a.div.removeChild(c)}}}\nKg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(null===a||a.isReadOnly||Ug&&Ug!==this&&(Ug.acceptText(Vg),Ug&&Ug!==this)||!a.lastInput.left||this.isBeyondDragSize())return!1;var b=a.Wb(a.lastInput.documentPoint);if(!(null!==b&&b instanceof Lg&&b.editable&&b.part.canEdit()))return!1;b=b.part;return null===b||this.starting===Mg&&!b.isSelected||this.starting===Wg&&2>a.lastInput.clickCount?!1:!0};Kg.prototype.doStart=function(){Ug=this;null!==this.textBlock&&this.doActivate()};\nKg.prototype.doActivate=function(){if(!this.isActive){var a=this.diagram;if(null!==a){var b=this.textBlock;null===b&&(b=a.Wb(a.lastInput.documentPoint));if(null!==b&&b instanceof Lg&&(this.textBlock=b,null!==b.part)){a.animationManager.nc();this.isActive=!0;this.ja=Rg;var c=this.defaultTextEditor;null!==b.textEditor&&(c=b.textEditor);this.mh=this.textBlock.copy();var d=new N(this.textBlock.da(sc),this.textBlock.da(Cc));a.Vv(d);c.show(b,a,this);this.currentTextEditor=c}}}};Kg.prototype.doCancel=function(){this.stopTool()};\nKg.prototype.doMouseUp=function(){this.canStart()&&this.doActivate()};Kg.prototype.doMouseDown=function(){this.isActive&&this.acceptText(Vg)};Kg.prototype.acceptText=function(a){switch(a){case Vg:if(this.ja===Xg)this.currentTextEditor instanceof HTMLElement&&this.currentTextEditor.focus();else if(this.ja===Rg||this.ja===Tg||this.ja===Sg)this.ja=Yg,Zg(this);break;case $g:case Pg:case Qg:if(Pg!==a||!0!==this.textBlock.isMultiline)if(this.ja===Rg||this.ja===Tg||this.ja===Sg)this.ja=Yg,Zg(this)}};\nfunction Zg(a){var b=a.textBlock,c=a.diagram,d=a.currentTextEditor;if(null!==b&&null!==d){var e=b.text,f=\"\";null!==d.valueFunction&&(f=d.valueFunction());a.isValidText(b,e,f)?(a.wa(a.name),a.ja=Xg,a.transactionResult=a.name,b.text=f,a.doSuccess(e,f),null!==c&&c.S(\"TextEdited\",b,e),a.stopTransaction(),a.stopTool(),null!==c&&c.doFocus()):(a.ja=Tg,a.doError(e,f))}}\nKg.prototype.doError=function(a,b){var c=this.textBlock;null!==c.errorFunction&&c.errorFunction(this,a,b);(a=this.currentTextEditor)&&a.show(c,this.diagram,this)};Kg.prototype.doSuccess=function(a,b){var c=this.textBlock;null!==c.textEdited&&c.textEdited(c,a,b)};Kg.prototype.doDeactivate=function(){var a=this.diagram;null!==a&&(this.ja=Ng,null!==this.currentTextEditor&&this.currentTextEditor.hide(a,this),this.textBlock=null,this.isActive=!1)};Kg.prototype.doStop=function(){Ug=null};\nKg.prototype.isValidText=function(a,b,c){var d=this.textValidation;if(null!==d&&!d(a,b,c))return!1;d=a.textValidation;return null===d||d(a,b,c)?!0:!1};Kg.prototype.py=function(a){var b=this.mh;b.text=a;b.measure(this.textBlock.di,Infinity);return b};\nna.Object.defineProperties(Kg.prototype,{textBlock:{get:function(){return this.Ha},set:function(a){this.Ha=a}},currentTextEditor:{get:function(){return this.o},set:function(a){this.o=a}},defaultTextEditor:{get:function(){return this.j},set:function(a){this.j=a}},starting:{get:function(){return this.Ga},set:function(a){this.Ga=a}},textValidation:{get:function(){return this.vi},\nset:function(a){this.vi=a}},minimumEditorScale:{get:function(){return this.C},set:function(a){this.C=a}},selectsTextOnActivate:{get:function(){return this.M},set:function(a){this.M=a}},state:{get:function(){return this.ja},set:function(a){this.ja!==a&&(this.ja=a)}}});Kg.prototype.measureTemporaryTextBlock=Kg.prototype.py;\nvar $g=new D(Kg,\"LostFocus\",0),Vg=new D(Kg,\"MouseDown\",1),Qg=new D(Kg,\"Tab\",2),Pg=new D(Kg,\"Enter\",3),ah=new D(Kg,\"SingleClick\",0),Mg=new D(Kg,\"SingleClickSelected\",1),Wg=new D(Kg,\"DoubleClick\",2),Ng=new D(Kg,\"StateNone\",0),Rg=new D(Kg,\"StateActive\",1),Sg=new D(Kg,\"StateEditing\",2),Yg=new D(Kg,\"StateValidating\",3),Tg=new D(Kg,\"StateInvalid\",4),Xg=new D(Kg,\"StateValidated\",5),Ug=null;Kg.className=\"TextEditingTool\";Kg.LostFocus=$g;Kg.MouseDown=Vg;Kg.Tab=Qg;Kg.Enter=Pg;Kg.SingleClick=ah;\nKg.SingleClickSelected=Mg;Kg.DoubleClick=Wg;Kg.StateNone=Ng;Kg.StateActive=Rg;Kg.StateEditing=Sg;Kg.StateValidating=Yg;Kg.StateInvalid=Tg;Kg.StateValidated=Xg;Ma(\"textEditingTool\",function(){return this.findTool(\"TextEditing\")},function(a){this.Za(\"TextEditing\",a,this.mouseUpTools)});\nfunction bh(a){ch||(dh(),ch=!0);this.F=se;this.gl=this.rb=this.Dr=this.hc=!1;this.ux=!0;this.hl=eh;this.dn=!1;this.Zh=this.td=!0;this.Fg=600;this.Dw=this.sx=!1;this.Md=new G;this.Pd=new fh;this.Pd.Ld=this;this.$i=new G;this.Ou=new G;this.qs=new G;this.Il=new G;a&&Object.assign(this,a)}bh.prototype.Ke=function(a){this.F=a};bh.prototype.canStart=function(){return!0};function gh(a,b){a.td&&a.canStart(b)&&(a.Md.add(b),a.defaultAnimation.isAnimating&&a.nc(),hh(a.F),a.rb=!0)}\nfunction ih(a){if(a.td&&a.rb){var b=a.Pd,c=a.F,d=a.Md.contains(\"Model\");d&&(a.gl=!0,a.hl===eh?(b.isViewportUnconstrained=!0,b.jc.clear(),b.add(c,\"position\",c.position.copy().offset(0,-200),c.position),b.add(c,\"opacity\",0,1)):a.hl===jh&&b.jc.clear(),a.ux=a.hl===kh&&c.Cu.A(c.ka)?!0:!1,c.S(\"InitialAnimationStarting\",a));d&&!a.Zh||0===b.jc.count?(a.Md.clear(),a.rb=!1,b.jc.clear(),lh(b,c),a.gl=!1,c.N()):(a.Md.clear(),c.eg=!1,d=b.jc.get(c),c.autoScale!==mh&&null!==d&&(delete d.start.scale,delete d.end.scale),\nx.requestAnimationFrame(function(){!1===a.rb||b.hc||(c.Fe(\"temporaryPixelRatio\")&&Ke(c),nh(c),a.rb=!1,b.start(),oh(a),c.Pa(),zh(b,0),rf(c,!0),Ah(a),c.S(\"AnimationStarting\",a))}))}}function Bh(a){return a.Md.contains(\"Trigger\")&&1===a.Md.count}function Ch(a,b,c,d){a.isTicking||Bh(a)||b instanceof U&&(null!==b.fromNode||null!==b.toNode)||a.Pd.add(b,\"position\",c,d,!1)}t=bh.prototype;t.Ys=function(a){return this.Pd.Ys(a)};t.Cv=function(a){return this.Pd.Cv(a)};\nfunction Dh(a,b){function c(){0<e.qs.count&&(d.addAll(e.qs),e.qs.clear(),e.hc=!0);if(!1!==e.hc&&0!==d.count){e.Ou.addAll(d);for(var a=e.Ou.iterator;a.next();){var b=a.value;if(!1!==b.hc){a:if(0<b.Zl.count)var h=!0;else{for(h=b.jc.iterator;h.next();){var k=h.key;if(k instanceof Y&&null!==k.diagram||k instanceof T){h=!0;break a}}h=!1}h?Eh(b,!1):b.ol=!0}}e.Ou.clear();oh(e);rf(e.F);Ah(e);x.requestAnimationFrame(c)}}var d=a.$i,e=a;a.hc?a.qs.add(b):(a.hc=!0,d.add(b),x.requestAnimationFrame(function(){c()}))}\nfunction Fh(a){for(a=a.$i.iterator;a.next();)a.value.ol=!1}function oh(a){if(!a.Dr){var b=a.F;a.sx=b.skipsUndoManager;a.Dw=b.skipsModelSourceBindings;b.skipsUndoManager=!0;b.skipsModelSourceBindings=!0;a.Dr=!0}}function Ah(a){var b=a.F;b.skipsUndoManager=a.sx;b.skipsModelSourceBindings=a.Dw;a.Dr=!1}\nt.nc=function(a){var b=this.Pd;!0===this.rb&&(this.gl=this.rb=!1,this.Md.clear(),0<b.jc.count&&this.F.Fb());if(this.hc){if(b.gm(!0),b.jc.clear(),lh(b,null),!0===a)for(a=this.$i.xa(),b=0;b<a.length;b++)a[b].gm(!0)}else b.jc.clear(),lh(b,this.F)};t.gm=function(a){a===this.defaultAnimation&&this.defaultAnimation.jc.clear();this.$i.remove(a);0===this.$i.count&&(this.hc=!1,this.F.Fb());a===this.defaultAnimation&&(this.defaultAnimation.jc.clear(),this.F.S(\"AnimationFinished\",this))};\nt.Yj=function(a,b){this.rb&&(this.Md.contains(\"Expand Tree\")||this.Md.contains(\"Expand SubGraph\"))&&(this.Pd.Yj(a,b),Gh(this,a))};t.Wj=function(a,b){this.rb&&(this.Md.contains(\"Collapse Tree\")||this.Md.contains(\"Collapse SubGraph\"))&&(this.Pd.Wj(a,b),Hh(this.Pd,b,\"position\",b.position,b.position),Gh(this,a))};function Ih(a,b,c){!a.rb||b.A(c)||Bh(a)||(a.F.Pi||(b=c.copy()),Hh(a.Pd,a.F,\"position\",b,c))}\nfunction Gh(a,b){for(b=b.findLinksConnected();b.next();){var c=b.value;c.cf=c.points.copy();a.Il.add(c)}}function Jh(a,b,c,d,e){null===a&&(a=[0,0,0,0]);null===b&&(b=[0,0,0,0]);var f=a[0],g=a[1],h=a[2];a=a[3];var k=b[0],l=b[1],m=b[2];b=b[3];if(0===h||100===h)f=k,g=l;else if(0===m||100===m)k=f,l=g;180<Math.abs(k-f)&&(k>f?f+=360:k+=360);f=e(c,f,k-f,d)%360;g=e(c,g,l-g,d);h=e(c,h,m-h,d);c=e(c,a,b-a,d);return\"hsla(\"+f+\", \"+g+\"%, \"+h+\"%, \"+c+\")\"}\nfunction dh(){function a(a,b,e,f,g,h){a.position=new J(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h))}var b=new I;b.add(\"position:diagram\",a);b.add(\"position\",a);b.add(\"position:part\",function(a,b,e,f,g,h){g<h?a.Gm(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h),!1):a.position=new J(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h))});b.add(\"location\",function(a,b,e,f,g,h){g<h?a.Gm(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h),!0):a.location=new J(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h))});b.add(\"position:placeholder\",function(a,b,e,f,\ng,h){g<h?a.Gm(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h),!1):a.position=new J(f(g,b.x,e.x-b.x,h),f(g,b.y,e.y-b.y,h))});b.add(\"position:nodeCollapse\",function(a,b,e,f,g,h){var c=a.actualBounds,d=e.actualBounds;e=d.x+d.width/2-c.width/2;c=d.y+d.height/2-c.height/2;g<h?a.Gm(f(g,b.x,e-b.x,h),f(g,b.y,c-b.y,h),!1):a.position=new J(f(g,b.x,e-b.x,h),f(g,b.y,c-b.y,h))});b.add(\"desiredSize\",function(a,b,e,f,g,h){a.desiredSize=new N(f(g,b.width,e.width-b.width,h),f(g,b.height,e.height-b.height,h))});b.add(\"width\",\nfunction(a,b,e,f,g,h){a.width=f(g,b,e-b,h)});b.add(\"height\",function(a,b,e,f,g,h){a.height=f(g,b,e-b,h)});b.add(\"fill\",function(a,b,e,f,g,h){a.fill=Jh(b,e,g,h,f)});b.add(\"stroke\",function(a,b,e,f,g,h){a.stroke=Jh(b,e,g,h,f)});b.add(\"strokeWidth\",function(a,b,e,f,g,h){a.strokeWidth=f(g,b,e-b,h)});b.add(\"strokeDashOffset\",function(a,b,e,f,g,h){a.strokeDashOffset=f(g,b,e-b,h)});b.add(\"background\",function(a,b,e,f,g,h){a.background=Jh(b,e,g,h,f)});b.add(\"areaBackground\",function(a,b,e,f,g,h){a.areaBackground=\nJh(b,e,g,h,f)});b.add(\"opacity\",function(a,b,e,f,g,h){a.opacity=f(g,b,e-b,h)});b.add(\"scale\",function(a,b,e,f,g,h){a.scale=f(g,b,e-b,h)});b.add(\"angle\",function(a,b,e,f,g,h){a.angle=f(g,b,e-b,h)});Kh=b}\nna.Object.defineProperties(bh.prototype,{animationReasons:{get:function(){return this.Md}},isEnabled:{get:function(){return this.td},set:function(a){(this.td=a)&&this.$i.each(function(a){a.isAnimating||Infinity!==a.runCount||a.start()})}},duration:{get:function(){return this.Fg},set:function(a){1>a&&xa(a,\">= 1\",bh,\"duration\");this.Fg=a}},isAnimating:{get:function(){return this.hc}},\nisTicking:{get:function(){return this.Dr}},isInitial:{get:function(){return this.Zh},set:function(a){this.Zh=a}},defaultAnimation:{get:function(){return this.Pd}},activeAnimations:{get:function(){return this.$i}},initialAnimationStyle:{get:function(){return this.hl},set:function(a){this.hl=a}}});bh.prototype.stopAnimation=bh.prototype.nc;\nvar Kh=null,ch=!1,eh=new D(bh,\"Default\",1),kh=new D(bh,\"AnimateLocations\",2),jh=new D(bh,\"None\",3);bh.className=\"AnimationManager\";bh.defineAnimationEffect=function(a,b){ch||(dh(),ch=!0);Kh.add(a,b)};bh.Default=eh;bh.AnimateLocations=kh;bh.None=jh;\nfunction fh(a){this.Uu=this.qx=this.Ld=this.F=null;this.ol=this.hc=this.j=!1;this.In=this.zd=0;this.ar=this.Kt=Lh;this.nl=this.jp=!1;this.Bu=1;this.zu=0;this.sd=this.Fg=NaN;this.Hw=0;this.Jn=null;this.o=pb;this.jc=new I;this.ru=new I;this.Zl=new G;this.su=new G;this.Ew=Mh;a&&Object.assign(this,a)}fh.prototype.suspend=function(){this.ol=!0};fh.prototype.advanceTo=function(a,b){b&&(this.ol=!1);this.jp&&a>=this.sd&&(this.nl=!0,a-=this.sd);this.Hw=a;Eh(this,!0);oh(this.Ld);rf(this.F);Ah(this.Ld);this.F.redraw()};\nfunction lh(a,b){a.ru.clear();a.nl=!1;a.zu=0;a.sd=NaN;0<a.Zl.count&&a.Zl.clear();0<a.su.count&&a.su.clear();if(null!==b)for(a=b.links;a.next();)a.value.cf=null}t=fh.prototype;\nt.start=function(){if(0===this.jc.count||this.hc)return this;for(var a=this.F,b=this.jc.iterator;b.next();){var c=b.value.end,d=b.key;if(c[\"position:placeholder\"]){var e=d.findVisibleNode();if(e instanceof hf&&null!==e.placeholder){var f=e.placeholder;e=f.da(sc);f=f.padding;e.x+=f.left;e.y+=f.top;c[\"position:placeholder\"]=e}}null===a&&(d instanceof T?a=d:d instanceof Y&&(a=d.diagram))}if(null!==a)this.F=a,this.Ld=a.animationManager;else return this;b=this.Ld;if(!1===b.isEnabled)return this;this.sd=\nisNaN(this.Fg)?b.duration:this.Fg;this.ar=this.Kt;b.gl&&b.hl===eh&&this===b.defaultAnimation&&(this.ar=Nh,this.sd=isNaN(this.Fg)?600===b.duration?900:b.duration:this.Fg);this.Ew=a.scrollMode;this.isViewportUnconstrained&&(a.Sj=Oh);oh(b);this.Zl.each(function(b){b.data=null;a.add(b)});Ah(b);this.hc=!0;this.zd=+new Date;this.In=this.zd+this.sd;Dh(b,this);return this};t.kz=function(a,b){if(!a.Jc())return this;this.Zl.add(a);this.F=b;return this};\nt.add=function(a,b,c,d,e){if(\"position\"===b&&c.A(d))return this;null===this.F&&(a instanceof T?this.F=a:a instanceof Y&&null!==a.diagram&&(this.F=a.diagram));if(a instanceof V){if(!a.isAnimated)return this;\"position\"===b&&(b=\"position:part\")}Hh(this,a,b,c,d,e);return this};\nfunction Hh(a,b,c,d,e,f){var g=a.jc;b instanceof T&&\"position\"===c&&(c=\"position:diagram\");if(\"fill\"===c||\"stroke\"===c||\"background\"===c||\"areaBackground\"===c)Ph(d),Qh(),d=[Rh.j,Rh.C,Rh.o,Rh.M],Ph(e),Qh(),e=[Rh.j,Rh.C,Rh.o,Rh.M];if(g.contains(b)){var h=g.H(b);var k=h.start;var l=h.end;void 0===k[c]&&(k[c]=Sh(d));l[c]=Sh(e)}else k={},l={},k[c]=Sh(d),l[c]=Sh(e),h=k.position,b instanceof Y&&h instanceof J&&!h.u()&&b.diagram.animationManager.Md.contains(\"Expand SubGraph\")&&h.assign(l.position),h=new Th(k,\nl,f),g.add(b,h);g=k[c];g instanceof J&&!g.u()&&g.assign(a.o);f&&0===c.indexOf(\"position:\")&&b instanceof V?h.nv.location=Sh(b.location):f&&(h.nv[c]=Sh(d))}function Sh(a){return a instanceof J?a.copy():a instanceof M?a.copy():a}t.Ys=function(a){if(!this.hc)return!1;a=this.jc.H(a);return null!==a&&a.Pv};t.Cv=function(a){if(!this.hc)return!1;a=this.jc.H(a);return null!==a&&(a.start.position||a.start.location)};\nfunction Eh(a,b){if(!a.ol||b){var c=a.Ld;if(!1!==a.hc){var d=+new Date,e=d>a.In?a.sd:d-a.zd;b&&(e=a.Hw,e<a.sd?(a.zd=+new Date-e,a.In=a.zd+a.sd):e=a.sd);oh(c);zh(a,e);rf(a.F,!0);Ah(c);d>a.In&&(a.jp&&!a.nl?(a.zd=+new Date,a.In=a.zd+a.sd,a.nl=!0):a.gm(!1))}}}\nfunction zh(a,b){for(var c=a.sd,d=a.jc.iterator,e=a.nl;d.next();){var f=d.key;if(!(f instanceof Y&&null===f.diagram)){var g=d.value,h=e?g.end:g.start;g=e?g.start:g.end;var k=Kh,l;for(l in g)\"position\"===l&&(g[\"position:placeholder\"]||g[\"position:nodeCollapse\"])||null===k.get(l)||k.get(l)(f,h[l],g[l],a.ar,b,c,a)}}}t.stop=function(){if(!this.hc)return this;this.gm(!0);return this};\nt.gm=function(a){null!==this.Uu&&this.Uu.qp.remove(this.qx);if(this.hc){var b=this.F,c=this.Ld;this.ol=this.hc=c.gl=!1;oh(c);for(var d=this.jc,e=this.Zl.iterator;e.next();)b.remove(e.value);for(e=this.su.iterator;e.next();)e.value.s();e=this.jp;d=d.iterator;for(var f=Kh;d.next();){var g=d.key,h=d.value,k=e?h.end:h.start,l=e?h.start:h.end,m=h.nv,n;for(n in l)if(null!==f.get(n)){var p=n;!h.hv||\"position:nodeCollapse\"!==p&&\"position:placeholder\"!==p||(p=\"position\");f.get(p)(g,k[n],void 0!==m[n]?m[n]:\nh.hv?k[n]:l[n],this.ar,this.sd,this.sd,this)}h.hv&&void 0!==m.location&&g instanceof V&&(g.location=m.location);h.Pv&&g instanceof V&&g.Nb(!1)}b.Ts.clear();Te(b,!1);b.Pa();b.N();rf(b,!0);if(c.defaultAnimation===this){for(n=c.Il.iterator;n.next();)e=n.value,null!==e.cf&&(e.points=e.cf,e.cf=null);c.Il.clear()}this.isViewportUnconstrained&&(b.scrollMode=this.Ew);Ah(c);this.zu++;!a&&this.Bu>this.zu?(this.nl=!1,this.start()):(this.Jn&&this.Jn(this),lh(this,null),c.gm(this),b.Fb())}};\nt.Yj=function(a,b){var c=b.actualBounds,d=null;b instanceof hf&&(d=b.placeholder);null!==d?(c=d.da(sc),d=d.padding,c.x+=d.left,c.y+=d.top,this.add(a,\"position\",c,a.position,!1)):this.add(a,\"position\",new J(c.x+c.width/2,c.y+c.height/2),a.position,!1);this.add(a,\"scale\",.01,a.scale,!1);if(a instanceof hf)for(a=a.memberParts;a.next();)d=a.value,d instanceof W&&this.Yj(d,b)};\nt.Wj=function(a,b){if(a.isVisible()){var c=null;b instanceof hf&&(c=b.placeholder);null!==c?this.add(a,\"position:placeholder\",a.position,c,!0):this.add(a,\"position:nodeCollapse\",a.position,b,!0);this.add(a,\"scale\",a.scale,.01,!0);c=this.jc;c.contains(a)&&(c.H(a).Pv=!0);if(a instanceof hf)for(a=a.memberParts;a.next();)c=a.value,c instanceof W&&this.Wj(c,b)}};t.iA=function(a){var b=this.ru.get(a);null===b&&(b={},this.ru.add(a,b));return b};\nna.Object.defineProperties(fh.prototype,{duration:{get:function(){return this.Fg},set:function(a){1>a&&xa(a,\">= 1\",fh,\"duration\");this.Fg=a}},reversible:{get:function(){return this.jp},set:function(a){this.jp=a}},runCount:{get:function(){return this.Bu},set:function(a){0<a?this.Bu=a:C(\"Animation.runCount value must be a positive integer.\")}},finished:{get:function(){return this.Jn},\nset:function(a){this.Jn!==a&&(this.Jn=a)}},easing:{get:function(){return this.Kt},set:function(a){this.Kt=a}},isViewportUnconstrained:{get:function(){return this.j},set:function(a){this.j=a}},isAnimating:{get:function(){return this.hc}}});fh.prototype.getTemporaryState=fh.prototype.iA;fh.prototype.stop=fh.prototype.stop;fh.prototype.add=fh.prototype.add;fh.prototype.addTemporaryPart=fh.prototype.kz;\nfunction Lh(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}function Nh(a,b,c,d){return a===d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b}fh.className=\"Animation\";fh.EaseLinear=function(a,b,c,d){return c*a/d+b};fh.EaseInOutQuad=Lh;fh.EaseInQuad=function(a,b,c,d){return c*(a/=d)*a+b};fh.EaseOutQuad=function(a,b,c,d){return-c*(a/=d)*(a-2)+b};fh.EaseInExpo=function(a,b,c,d){return 0===a?b:c*Math.pow(2,10*(a/d-1))+b};fh.EaseOutExpo=Nh;\nfunction Th(a,b,c){this.start=a;this.end=b;this.nv={};this.hv=c;this.Pv=!1}Th.className=\"AnimationState\";function Uh(a,b,c){this.md=null;this.bf=a;this.Hp=c||Vh;this.Ik=null;void 0!==b&&(this.Ik=b,void 0===c&&(this.Hp=Wh))}Uh.prototype.copy=function(){var a=new Uh(this.bf);a.Hp=this.Hp;var b=this.Ik;if(null!==b){var c={};void 0!==b.duration&&(c.duration=b.duration);void 0!==b.finished&&(c.finished=b.finished);void 0!==b.easing&&(c.easing=b.easing);a.Ik=c}return a};\nfunction Xh(a,b){a=a.Ik;null!==a&&(a.duration&&(b.duration=a.duration),a.finished&&(b.finished=a.finished),a.easing&&(b.easing=a.easing))}na.Object.defineProperties(Uh.prototype,{propertyName:{get:function(){return this.bf},set:function(a){this.bf=a}},animationSettings:{get:function(){return this.Ik},set:function(a){this.Ik=a}},startCondition:{get:function(){return this.Hp},set:function(a){this.Hp=a}}});\nvar Vh=new D(Uh,\"Default\",1),Wh=new D(Uh,\"Immediate\",2),Yh=new D(Uh,\"Bundled\",3);Uh.className=\"AnimationTrigger\";Uh.Default=Vh;Uh.Immediate=Wh;Uh.Bundled=Yh;function Zh(a){Ta(this);this.F=null;this.Fa=new E;this.na=\"\";this.lb=1;this.o=!1;this.j=this.oi=this.C=this.jj=this.ij=this.hj=this.gj=this.ej=this.fj=this.dj=this.lj=this.cj=this.kj=this.bj=this.aj=!0;this.Vo=[];a&&Object.assign(this,a)}t=Zh.prototype;t.clear=function(){this.Fa.clear();this.Vo.length=0};t.Ke=function(a){this.F=a};\nt.toString=function(a){void 0===a&&(a=0);var b='Layer \"'+this.name+'\"';if(0>=a)return b;for(var c=0,d=0,e=0,f=0,g=0,h=this.Fa.iterator;h.next();){var k=h.value;k instanceof hf?e++:k instanceof W?d++:k instanceof U?f++:k instanceof we?g++:c++}h=\"\";0<c&&(h+=c+\" Parts \");0<d&&(h+=d+\" Nodes \");0<e&&(h+=e+\" Groups \");0<f&&(h+=f+\" Links \");0<g&&(h+=g+\" Adornments \");if(1<a)for(a=this.Fa.iterator;a.next();)c=a.value,h+=\"\\n    \"+c.toString(),d=c.data,null!==d&&gb(d)&&(h+=\" #\"+gb(d)),c instanceof W?h+=\" \"+\nKa(d):c instanceof U&&(h+=\" \"+Ka(c.fromNode)+\" \"+Ka(c.toNode));return b+\" \"+this.Fa.count+\": \"+h};t.Wb=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);if(!1===this.oi)return null;var d=!1;null!==this.diagram&&this.diagram.viewportBounds.$(a)&&(d=!0);for(var e=J.alloc(),f=this.Fa.m,g=f.length;g--;){var h=f[g];if((!0!==d||!1!==lg(h))&&h.isVisible()&&(e.assign(a),Ab(e,h.de),h=h.Wb(e,b,c),null!==h&&(null!==b&&(h=b(h)),null!==h&&(null===c||c(h)))))return J.free(e),h}J.free(e);return null};\nt.Ii=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof E||d instanceof G||(d=new G);if(!1===this.oi)return d;var e=!1;null!==this.diagram&&this.diagram.viewportBounds.$(a)&&(e=!0);for(var f=J.alloc(),g=this.Fa.m,h=g.length;h--;){var k=g[h];if((!0!==e||!1!==lg(k))&&k.isVisible()){f.assign(a);Ab(f,k.de);var l=k;k.Ii(f,b,c,d)&&(null!==b&&(l=b(l)),null===l||null!==c&&!c(l)||d.add(l))}}J.free(f);return d};\nt.vf=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof E||e instanceof G||(e=new G);if(!1===this.oi)return e;var f=!1;null!==this.diagram&&this.diagram.viewportBounds.De(a)&&(f=!0);for(var g=this.Fa.m,h=g.length;h--;){var k=g[h];if((!0!==f||!1!==lg(k))&&k.isVisible()){var l=k;k.vf(a,b,c,d,e)&&(null!==b&&(l=b(l)),null===l||null!==c&&!c(l)||e.add(l))}}return e};\nt.sv=function(a,b,c,d,e,f,g){if(!1===this.oi)return e;for(var h=this.Fa.m,k=h.length;k--;){var l=h[k];if((!0!==g||!1!==lg(l))&&f(l)&&l.isVisible()){var m=l;l.vf(a,b,c,d,e)&&(null!==b&&(m=b(m)),null===m||null!==c&&!c(m)||e.add(m))}}return e};\nt.kg=function(a,b,c,d,e,f){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof E||e instanceof G)f=e;e=!0}f instanceof E||f instanceof G||(f=new G);if(!1===this.oi)return f;var g=!1;null!==this.diagram&&this.diagram.viewportBounds.$(a)&&(g=!0);for(var h=J.alloc(),k=J.alloc(),l=this.Fa.m,m=l.length;m--;){var n=l[m];if((!0!==g||!1!==lg(n))&&n.isVisible()){h.assign(a);Ab(h,n.de);k.h(a.x+b,a.y);Ab(k,n.de);var p=n;n.kg(h,k,c,d,e,f)&&(null!==c&&(p=c(p)),null===\np||null!==d&&!d(p)||f.add(p))}}J.free(h);J.free(k);return f};\nt.Jd=function(a,b){if(this.visible){var c=this.Fa.m,d=c.length;if(0!==d){a=Fa();for(var e=Fa(),f=0;f<d;f++){var g=c[f];g.Xw=f;if(g instanceof U){if(!1===g.rd)continue}else if(g instanceof we&&null!==g.adornedPart)continue;var h=g.actualBounds;g.isVisible()&&Zb(h,b)?(g.Jd(!0),a.push(g)):(g.Jd(!1),null!==g.adornments&&0<g.adornments.count&&e.push(g))}for(b=0;b<a.length;b++)for(c=a[b],$h(c),c=c.adornments;c.next();)d=c.value,d.measure(Infinity,Infinity),d.arrange(),d.Jd(!0);for(b=0;b<e.length;b++)$h(e[b]);\nIa(a);Ia(e)}}};function ai(a,b){var c=1;1!==a.lb&&(c=b.globalAlpha,b.globalAlpha=c*a.lb);return c}t.lc=function(a,b,c){if(this.visible&&0!==this.lb&&(void 0===c&&(c=!0),c||!this.isTemporary)){c=this.Fa.m;var d=c.length;if(0!==d){var e=ai(this,a),f=this.Vo;f.length=0;for(var g=b.scale,h=N.alloc(),k=0;k<d;k++)this.Ei(a,c[k],b,f,g,h,!0);N.free(h);a.globalAlpha=e}}};\nt.Ei=function(a,b,c,d,e,f,g){if(!g||lg(b)){if(null!==d&&b instanceof U&&(b.isOrthogonal&&d.push(b),!1===b.rd))return;g=!1;for(d=b.containingGroup;null!==d;)g?null!==d.$a&&f.hy(d.$a):null!==d.$a&&(g=!0,f.assign(d.$a)),d=d.containingGroup;var h=b.actualBounds;d=!1;if(g&&b.isVisible()){if(!f.Ic(h))return;d=!f.De(h)}d&&(a.save(),a.beginPath(),a.rect(f.x,f.y,f.width,f.height),a.clip());h.width*e>c.Jr||h.height*e>c.Jr?b.lc(a,c):(e=b.actualBounds,f=b.naturalBounds,0===e.width||0===e.height||isNaN(e.x)||\nisNaN(e.y)||!b.isVisible()||(c=b.transform,null!==b.areaBackground&&(bi(b,a,b.areaBackground,!0,!0,f,e),a.fillRect(e.x,e.y,e.width,e.height)),null===b.areaBackground&&null===b.background&&(bi(b,a,\"rgba(0,0,0,0.3)\",!0,!1,f,e),a.fillRect(e.x,e.y,e.width,e.height)),null!==b.background&&(a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy),bi(b,a,b.background,!0,!1,f,e),a.fillRect(0,0,f.width/2,f.height/2),c.Os()||(b=1/(c.m11*c.m22-c.m12*c.m21),a.transform(c.m22*b,-c.m12*b,-c.m21*b,c.m11*b,b*(c.m21*c.dy-c.m22*\nc.dx),b*(c.m12*c.dx-c.m11*c.dy))))));d&&(a.restore(),a.Ec(!0))}};t.g=function(a,b,c,d,e){var f=this.diagram;null!==f&&f.Va(ce,a,this,b,c,d,e)};t.Oi=function(a,b,c){var d=this.Fa;b.ei=this;if(a>=d.count)a=d.count;else if(d.J(a)===b)return-1;d.ub(a,b);b.pq(c);d=this.diagram;null!==d&&(c?d.N():d.Oi(b));ci(this,a,b);return a};\nt.bc=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.bc(a,b,c);var d=this.Fa;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.J(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.qq(c);d.eb(a);d=this.diagram;null!==d&&(c?d.N():d.bc(b));b.ei=null;return a};\nfunction ci(a,b,c){b=di(a,b,c);if(c instanceof hf&&null!==c&&isNaN(c.zOrder)){if(0!==c.memberParts.count){for(var d=-1,e=a.Fa.m,f=e.length,g=0;g<f;g++){var h=e[g];if(h===c&&(b=g,0<=d))break;if(0>d&&h.containingGroup===c&&(d=g,0<=b))break}!(0>d)&&d<b&&(e=a.Fa,e.eb(b),e.ub(d,c))}c=c.containingGroup;null!==c&&ci(a,-1,c)}}\nfunction di(a,b,c){var d=c.zOrder;if(isNaN(d))return b;a=a.Fa;var e=a.count;if(1>=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var f=b-1,g=NaN;0<=f;){g=a.J(f).zOrder;if(!isNaN(g))break;f--}for(var h=b+1,k=NaN;h<e;){k=a.J(h).zOrder;if(!isNaN(k))break;h++}if(!isNaN(g)&&g>d)for(;;){if(-1===f||g<=d){f++;if(f===b)break;a.eb(b);a.ub(f,c);return f}for(g=NaN;0<=--f&&(g=a.J(f).zOrder,isNaN(g)););}else if(!isNaN(k)&&k<d)for(;;){if(h===e||k>=d){h--;if(h===b)break;a.eb(b);a.ub(h,c);return h}for(k=NaN;++h<\ne&&(k=a.J(h).zOrder,isNaN(k)););}return b}\nna.Object.defineProperties(Zh.prototype,{parts:{get:function(){return this.Fa.iterator}},partsBackwards:{get:function(){return this.Fa.iteratorBackwards}},diagram:{get:function(){return this.F}},name:{get:function(){return this.na},set:function(a){var b=this.na;if(b!==a){var c=this.diagram;if(null!==c)for(\"\"===b&&C(\"Cannot rename default Layer to: \"+a),c=c.layers;c.next();)c.value.name===\na&&C(\"Layer.name is already present in this diagram: \"+a);this.na=a;this.g(\"name\",b,a);for(a=this.Fa.iterator;a.next();)a.value.layerName=this.na}}},opacity:{get:function(){return this.lb},set:function(a){var b=this.lb;b!==a&&((0>a||1<a)&&xa(a,\"0 <= value <= 1\",Zh,\"opacity\"),this.lb=a,this.g(\"opacity\",b,a),a=this.diagram,null!==a&&a.N())}},isTemporary:{get:function(){return this.o},set:function(a){var b=this.o;if(b!==a){if(this.o=a)this.isInDocumentBounds=\n!1;this.g(\"isTemporary\",b,a)}}},visible:{get:function(){return this.C},set:function(a){var b=this.C;if(b!==a){this.C=a;this.g(\"visible\",b,a);for(b=this.Fa.iterator;b.next();)b.value.Nb(a);a=this.diagram;null!==a&&a.N()}}},pickable:{get:function(){return this.oi},set:function(a){var b=this.oi;b!==a&&(this.oi=a,this.g(\"pickable\",b,a))}},isInDocumentBounds:{get:function(){return this.j},set:function(a){this.j!==\na&&(this.j=a,null!==this.diagram&&this.diagram.Pa())}},allowCopy:{get:function(){return this.aj},set:function(a){var b=this.aj;b!==a&&(this.aj=a,this.g(\"allowCopy\",b,a))}},allowDelete:{get:function(){return this.bj},set:function(a){var b=this.bj;b!==a&&(this.bj=a,this.g(\"allowDelete\",b,a))}},allowTextEdit:{get:function(){return this.kj},set:function(a){var b=this.kj;b!==a&&(this.kj=a,this.g(\"allowTextEdit\",b,\na))}},allowGroup:{get:function(){return this.cj},set:function(a){var b=this.cj;b!==a&&(this.cj=a,this.g(\"allowGroup\",b,a))}},allowUngroup:{get:function(){return this.lj},set:function(a){var b=this.lj;b!==a&&(this.lj=a,this.g(\"allowUngroup\",b,a))}},allowLink:{get:function(){return this.dj},set:function(a){var b=this.dj;b!==a&&(this.dj=a,this.g(\"allowLink\",b,a))}},allowRelink:{get:function(){return this.fj},\nset:function(a){var b=this.fj;b!==a&&(this.fj=a,this.g(\"allowRelink\",b,a))}},allowMove:{get:function(){return this.ej},set:function(a){var b=this.ej;b!==a&&(this.ej=a,this.g(\"allowMove\",b,a))}},allowReshape:{get:function(){return this.gj},set:function(a){var b=this.gj;b!==a&&(this.gj=a,this.g(\"allowReshape\",b,a))}},allowResize:{get:function(){return this.hj},set:function(a){var b=this.hj;b!==a&&(this.hj=a,this.g(\"allowResize\",\nb,a))}},allowRotate:{get:function(){return this.ij},set:function(a){var b=this.ij;b!==a&&(this.ij=a,this.g(\"allowRotate\",b,a))}},allowSelect:{get:function(){return this.jj},set:function(a){var b=this.jj;b!==a&&(this.jj=a,this.g(\"allowSelect\",b,a))}}});Zh.prototype.findObjectsNear=Zh.prototype.kg;Zh.prototype.findObjectsIn=Zh.prototype.vf;Zh.prototype.findObjectsAt=Zh.prototype.Ii;Zh.prototype.findObjectAt=Zh.prototype.Wb;Zh.className=\"Layer\";\nfunction T(a,b){ei||(fi(),ei=!0);Ta(this);se=this;this.ob=!0;this.Ea=null;this.ta=this.ua=0;this.Aa=null;if(Jg){var c=this,d=function(){c.removeEventListener(x.document,\"DOMContentLoaded\",d,!1);c.setRTL()};null!==x.document.body?this.setRTL():c.addEventListener(x.document,\"DOMContentLoaded\",d,!1)}this.Hl=null;gi.add(\"Model\",hi);var e=this;this.Kd=function(a){var b=e.partManager;if(a.model===b.diagram.model&&b.diagram.Z){b.diagram.Z=!1;try{var c=a.change;\"\"===a.modelChange&&c===ce&&b.updateDataBindings(a.object,\na.propertyName)}finally{b.diagram.Z=!0}}};this.Ih=function(a){e.partManager.doModelChanged(a)};this.Gu=this.Ju=null;ii(this);this.model=ji();this.gh=!0;ki(this);this.layout=new li;this.gh=!1;this.yk=this.zk=this.xk=this.wk=this.EA=this.tk=this.lw=null;this.Aq=function(){};this.preventDefault=null;this.fo=!1;this.Yh=new mi;void 0!==a&&(\"string\"===typeof a||x.Element&&a instanceof Element?ni(this,a):b=a);this.ob=!1;b&&this.Hm(b);return this}var oi,se;\nfunction ii(a){a.Ld=new bh;a.Ld.Ke(a);a.sb=17;a.jx=!1;a.io=!1;a.Au=\"default\";a.Na=new E;a.Xy=new I;a.zy();a.yy();a.lb=1;a.ka=(new J(NaN,NaN)).freeze();a.Cu=new J(NaN,NaN);a.sa=1;a.er=1;a.Vt=(new J(NaN,NaN)).freeze();a.Wt=NaN;a.mu=1E-4;a.iu=100;a.tb=new qd;a.Yu=(new J(NaN,NaN)).freeze();a.Qt=(new N(NaN,NaN,NaN,NaN)).freeze();a.Rj=(new ic(0,0,0,0)).freeze();a.Sj=Mh;a.Mu=!1;a.xu=null;a.Eu=null;a.Oh=mh;a.Qk=Vc;a.Lg=mh;a.vr=Vc;a.Ut=sc;a.Xt=sc;a.Uc=!0;a.bo=!1;a.qe=new G;a.Wh=new I;a.Bn=!0;a.Oq=250;a.Jk=\n-1;a.Qq=(new ic(16,16,16,16)).freeze();a.eg=!1;a.$k=!1;a.Ln=!0;a.pr=new Zd;a.pr.diagram=a;a.bh=new Zd;a.bh.diagram=a;a.Dj=new Zd;a.Dj.diagram=a;a.ug=null;a.$e=null;a.Pu=!1;pi(a);a.xi=new G;a.du=!0;a.Tu=qi;a.Rw=!1;a.Vu=wf;a.Dt=\"auto\";a.dr=\"auto\";a.vg=null;a.Dg=null;a.xg=null;a.Wg=null;a.Ug=null;a.Tg=null;a.ou=null;a.Rg=null;a.Tt=!1;a.Sg=null;a.Vg=null;a.qh=null;a.yg=null;a.pu=!1;a.wu={};a.El=[null,null];a.gh=!1;a.lx=!1;a.Nu=!1;a.Gt=!1;a.Tw=!0;a.Vc=!1;a.zj=!1;a.wx=!0;a.pe=-2;a.$g=new I;a.$o=new E;a.Mg=\n!1;a.td=!0;a.pt=!0;a.aj=!0;a.bj=!0;a.qt=!1;a.rt=!0;a.kj=!0;a.cj=!0;a.lj=!0;a.tt=!0;a.dj=!0;a.fj=!0;a.ej=!0;a.gj=!0;a.hj=!0;a.ij=!0;a.jj=!0;a.ut=!0;a.wt=!0;a.Sw=!1;a.ml=!1;a.Yn=!0;a.Zn=!0;a.st=!0;a.vt=!0;a.Hu=16;a.Lu=16;a.$r=!1;a.Fu=!1;a.Ku=0;a.Iu=0;a.mb=(new ic(5)).freeze();a.kx=(new G).freeze();a.ju=999999999;a.Pw=(new G).freeze();a.vj=!0;a.wj=!0;a.xj=!0;a.Ue=!1;a.Of=!1;a.Nh=!0;a.Qf=!1;a.Wy=new G;a.Qw=new G;a.si=null;a.Bw=new M(8,8);a.Cw=999;a.bx=1;a.mx=0;a.bd={scale:1,position:new J,bounds:new N,\nGx:new M,qy:new M,ky:!1};a.vx=(new N(NaN,NaN,NaN,NaN)).freeze();a.Rp=(new M(NaN,NaN)).freeze();a.gr=(new N(NaN,NaN,NaN,NaN)).freeze();a.eu=!1;a.Yg=new I;var b=new W,c=new Lg;c.bind(new ri(\"text\",\"\",Ka));b.add(c);a.Sy=b;a.Yg.add(\"\",b);b=new W;c=new Lg;c.stroke=\"brown\";c.bind(new ri(\"text\",\"\",Ka));b.add(c);a.Yg.add(\"Comment\",b);b=new W;b.selectable=!1;b.avoidable=!1;c=new uf;c.figure=\"Ellipse\";c.fill=\"black\";c.stroke=null;c.desiredSize=(new M(3,3)).ca();b.add(c);a.Yg.add(\"LinkLabel\",b);a.uj=new I;b=\nnew hf;b.selectionObjectName=\"GROUPPANEL\";b.type=X.Vertical;c=new Lg;c.font=\"bold 12pt sans-serif\";c.bind(new ri(\"text\",\"\",Ka));b.add(c);c=new X(X.Auto);c.name=\"GROUPPANEL\";var d=new uf;d.figure=\"Rectangle\";d.fill=\"rgba(128,128,128,0.2)\";d.stroke=\"black\";c.add(d);d=new mg;d.padding=(new ic(5,5,5,5)).ca();c.add(d);b.add(c);a.Qy=b;a.uj.add(\"\",b);a.hi=new I;b=new U;c=new uf;c.isPanelMain=!0;b.add(c);c=new uf;c.toArrow=\"Standard\";c.fill=\"black\";c.stroke=null;c.strokeWidth=0;b.add(c);a.Ry=b;a.hi.add(\"\",\nb);b=new U;c=new uf;c.isPanelMain=!0;c.stroke=\"brown\";b.add(c);a.hi.add(\"Comment\",b);b=new we;b.type=X.Auto;c=new uf;c.fill=null;c.stroke=\"dodgerblue\";c.strokeWidth=3;b.add(c);c=new mg;c.margin=(new ic(1.5,1.5,1.5,1.5)).ca();b.add(c);a.qu=b;a.St=b;b=new we;b.type=X.Link;c=new uf;c.isPanelMain=!0;c.fill=null;c.stroke=\"dodgerblue\";c.strokeWidth=3;b.add(c);a.gu=b;a.Vd=null;a.tr=!1;a.Tk=null;a.partManager=new hi;a.toolManager=new Oa;a.toolManager.initializeStandardTools();a.defaultTool=a.toolManager;\na.currentTool=a.defaultTool;a.It=null;a.zn=new Ee;a.tu=null;a.uu=null;a.ms=!1;a.commandHandler=si();a.ns=!1;a.rr=null;a.sr=vb;a.tx=!1;a.ac=1;a.ti=null;a.Jr=1;a.Mr=0;a.$w=[0,0,0,0,0];a.Nr=0;a.Er=1;a.Vw=0;a.Ww=new J;a.dz=500;a.Pq=new J;a.cu=!1}T.prototype.clear=function(){this.animationManager.nc();this.model.clear();Ei=null;Gi=\"\";Hi(this,!1);this.$o.clear();Ii();this.$g.clear();this.si=null;this.Pa();this.Sa();this.N()};\nfunction Hi(a,b){a.animationManager.nc(!0);a.kx=(new G).freeze();a.Pw=(new G).freeze();var c=a.skipsUndoManager,d=null!==a.Tb&&void 0!==a.Tb;d&&(a.skipsUndoManager=!0);var e=null;null!==a.Vd&&(e=a.Vd.part,null!==e&&a.remove(e));var f=[],g=a.Na.length;if(b){for(b=0;b<g;b++)for(var h=a.Na.m[b].parts;h.next();){var k=h.value;k!==e&&null===k.data&&f.push(k)}for(b=0;b<f.length;b++)a.remove(f[b])}for(b=0;b<g;b++)a.Na.m[b].clear();a.partManager.clear();a.qe.clear();a.Wh.clear();a.xi.clear();a.Tk=null;a.$o.clear();\nIi();a.$g.clear();Ga=[];null!==e&&(a.add(e),a.partManager.parts.remove(e));d&&(a.skipsUndoManager=c);return f}function si(){return null}T.prototype.reset=function(){this.clear();this.ob=!0;ii(this);Ji(this);this.gh=!0;ki(this);this.layout=new li;this.gh=!1;this.model=ji();this.model.undoManager=new pe;this.ob=this.fo=!1;this.N()};\nT.prototype.setRTL=function(a){a=void 0===a?this.div:a;null===a&&(a=x.document.body);var b=va(\"div\");b.dir=\"rtl\";b.style.cssText=\"font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll;\";b.textContent=\"A\";a.appendChild(b);var c=\"reverse\";0<b.scrollLeft?c=\"default\":(b.scrollLeft=1,0===b.scrollLeft&&(c=\"negative\"));a.removeChild(b);this.Au=c};\nT.prototype.setScrollWidth=function(a){a=void 0===a?this.div:a;null===a&&(a=x.document.body);var b=0;if(Jg){var c=Ki;b=oi;null===c&&(c=Ki=va(\"p\"),c.style.width=\"100%\",c.style.height=\"200px\",c.style.boxSizing=\"content-box\",b=oi=va(\"div\"),b.style.position=\"absolute\",b.style.visibility=\"hidden\",b.style.width=\"200px\",b.style.height=\"150px\",b.style.boxSizing=\"content-box\",b.appendChild(c));b.style.overflow=\"hidden\";a.appendChild(b);var d=c.offsetWidth;b.style.overflow=\"scroll\";c=c.offsetWidth;d===c&&(c=\nb.clientWidth);a.removeChild(b);b=d-c;0!==b||Sa||(b=11)}this.sb=b;this.jx=!0};T.prototype.gb=function(a){a.classType===T&&(this.autoScale=a)};T.prototype.toString=function(a){void 0===a&&(a=0);var b=\"\";this.div&&this.div.id&&(b=this.div.id);b='Diagram \"'+b+'\"';if(0>=a)return b;for(var c=this.Na.iterator;c.next();)b+=\"\\n  \"+c.value.toString(a-1);return b};T.prototype.addEventListener=function(a,b,c,d){a.addEventListener(b,c,{capture:d,passive:!1})};\nT.prototype.removeEventListener=function(a,b,c,d){a.removeEventListener(b,c,{capture:d})};\nfunction Li(a){var b=a.Aa.La;b instanceof HTMLCanvasElement&&(a.addEventListener(b,\"pointerdown\",a.wk,!1),a.addEventListener(b,\"pointermove\",a.xk,!1),a.addEventListener(b,\"pointerup\",a.zk,!1),a.addEventListener(b,\"pointerout\",a.yk,!1),a.addEventListener(b,\"pointerenter\",a.Gz,!1),a.addEventListener(b,\"pointerleave\",a.Hz,!1),a.addEventListener(b,\"wheel\",a.tk,!1),a.addEventListener(b,\"keydown\",a.uA,!1),a.addEventListener(b,\"keyup\",a.vA,!1),a.addEventListener(b,\"blur\",a.rz,!1),a.addEventListener(b,\"focus\",\na.sz,!1),a.addEventListener(b,\"selectstart\",function(a){a.preventDefault();return!1},!1),a.addEventListener(b,\"contextmenu\",function(a){a.preventDefault();return!1},!1),a.addEventListener(x,\"resize\",a.lw,!1),Sa&&a.addEventListener(b,\"touchstart\",function(a){a.preventDefault()},!1))}function Ke(a){30<a.Mr&&(a.ti=1)}function Te(a,b){null!==a.ti&&(a.ti=null,b&&a.Aq(),Xa&&Xa.Qx||(a.Mr=0,a.$w=[0,0,0,0,0],a.Nr=0))}\nT.prototype.computePixelRatio=function(){return null!==this.ti?this.ti:x.devicePixelRatio||1};T.prototype.doMouseMove=function(){this.currentTool.doMouseMove()};T.prototype.doMouseDown=function(){this.currentTool.doMouseDown()};T.prototype.doMouseUp=function(){this.currentTool.doMouseUp()};T.prototype.doMouseWheel=function(){this.currentTool.doMouseWheel()};T.prototype.doKeyDown=function(){this.currentTool.doKeyDown()};T.prototype.doKeyUp=function(){this.currentTool.doKeyUp()};\nT.prototype.doFocus=function(){this.focus()};T.prototype.focus=function(){if(this.Aa)if(this.scrollsPageOnFocus)this.Aa.focus();else{var a=x.scrollX||x.pageXOffset,b=x.scrollY||x.pageYOffset;this.Aa.focus();x.scrollTo(a,b)}};T.prototype.sz=function(){this.F.S(\"GainedFocus\")};T.prototype.rz=function(){this.F.S(\"LostFocus\")};\nfunction nh(a){if(null!==a.Aa){var b=a.Ea;if(null!==b&&0!==b.clientWidth&&0!==b.clientHeight){a.jx||a.setScrollWidth();var c=a.Of?a.sb:0,d=a.Ue?a.sb:0,e=a.ac;a.ac=a.computePixelRatio();a.ac!==e&&(a.bo=!0,a.Fb());if(b.clientWidth!==a.ua+c||b.clientHeight!==a.ta+d)a.wj=!0,a.Uc=!0,b=a.layout,null!==b&&b.isViewportSized&&a.autoScale===mh&&(a.$k=!0,b.B()),a.Vc||a.Fb()}}}\nfunction ki(a){var b=new Zh;b.name=\"Background\";a.bm(b);b=new Zh;b.name=\"\";a.bm(b);b=new Zh;b.name=\"Foreground\";a.bm(b);b=new Zh;b.name=\"Adornment\";b.isTemporary=!0;b.isInDocumentBounds=!1;a.bm(b);b=new Zh;b.name=\"Tool\";b.isTemporary=!0;b.isInDocumentBounds=!0;a.bm(b);b=new Zh;b.name=\"Grid\";b.allowSelect=!1;b.pickable=!1;b.isTemporary=!0;b.isInDocumentBounds=!1;a.zx(b,a.ik(\"Background\"))}\nfunction Mi(a){var b=new X(X.Grid);b.name=\"GRID\";var c=new uf;c.figure=\"LineH\";c.stroke=\"lightgray\";c.strokeWidth=.5;c.interval=1;b.add(c);c=new uf;c.figure=\"LineH\";c.stroke=\"gray\";c.strokeWidth=.5;c.interval=5;b.add(c);c=new uf;c.figure=\"LineH\";c.stroke=\"gray\";c.strokeWidth=1;c.interval=10;b.add(c);c=new uf;c.figure=\"LineV\";c.stroke=\"lightgray\";c.strokeWidth=.5;c.interval=1;b.add(c);c=new uf;c.figure=\"LineV\";c.stroke=\"gray\";c.strokeWidth=.5;c.interval=5;b.add(c);c=new uf;c.figure=\"LineV\";c.stroke=\n\"gray\";c.strokeWidth=1;c.interval=10;b.add(c);c=new V;c.add(b);c.layerName=\"Grid\";c.zOrder=0;c.isInDocumentBounds=!1;c.isAnimated=!1;c.pickable=!1;c.locationObjectName=\"GRID\";a.add(c);a.partManager.parts.remove(c);b.visible=!1;return b}function Ni(){this.F.Fu?this.F.Fu=!1:this.F.isEnabled?this.F.Mx(this):Oi(this.F)}function Pi(a){this.F.isEnabled?(this.F.Ku=a.target.scrollTop,this.F.Iu=a.target.scrollLeft):Oi(this.F)}\nT.prototype.Mx=function(a){if(null!==this.Aa){var b=this.Ju,c=this.Gu;this.$r=!0;var d=this.documentBounds,e=this.viewportBounds,f=this.Rj,g=d.x-f.left,h=d.y-f.top,k=d.width+f.left+f.right,l=d.height+f.top+f.bottom,m=d.right+f.right;f=d.bottom+f.bottom;var n=e.x;d=e.y;var p=e.width,r=e.height,q=e.right,u=e.bottom;e=this.scale;var v=a.scrollLeft;if(this.io)switch(this.Au){case \"negative\":v=v+a.scrollWidth-a.clientWidth;break;case \"reverse\":v=a.scrollWidth-v-a.clientWidth}var w=v;p<k||r<l?(v=J.allocAt(this.position.x,\nthis.position.y),this.allowHorizontalScroll&&this.Iu!==w&&(v.x=w/e+g,this.Iu=w),this.allowVerticalScroll&&this.Ku!==a.scrollTop&&(v.y=a.scrollTop/e+h,this.Ku=a.scrollTop),this.position=v,J.free(v),this.wj=this.$r=!1):(v=J.alloc(),a.Zy&&this.allowHorizontalScroll&&(g<n&&(this.position=v.h(w+g,this.position.y)),m>q&&(this.position=v.h(-(b.scrollWidth-this.ua)+w-this.ua/e+m,this.position.y))),a.$y&&this.allowVerticalScroll&&(h<d&&(this.position=v.h(this.position.x,a.scrollTop+h)),f>u&&(this.position=\nv.h(this.position.x,-(b.scrollHeight-this.ta)+a.scrollTop-this.ta/e+f))),J.free(v),Qi(this),this.wj=this.$r=!1,d=this.documentBounds,e=this.viewportBounds,m=d.right,q=e.right,f=d.bottom,u=e.bottom,g=d.x,n=e.x,h=d.y,d=e.y,p>=k&&g>=n&&m<=q&&(c.style.width=\"1px\"),r>=l&&h>=d&&f<=u&&(c.style.height=\"1px\"))}};T.prototype.computeBounds=function(a){void 0===a&&(a=new N);hh(this);return Ri(this,a)};\nfunction Ri(a,b){if(a.fixedBounds.u())return b.assign(a.fixedBounds),b.Xp(a.mb),b;for(var c=!0,d=a.Na.m,e=d.length,f=0;f<e;f++){var g=d[f];if(g.visible&&g.isInDocumentBounds){g=g.Fa.m;for(var h=g.length,k=0;k<h;k++){var l=g[k];l.isInDocumentBounds&&l.isVisible()&&(l=l.actualBounds,l.u()&&(c?(c=!1,b.assign(l)):b.Nc(l)))}}}c&&b.h(0,0,0,0);b.Xp(a.mb);return b}\nT.prototype.computePartsBounds=function(a,b){void 0===b&&(b=!1);var c=null;if(Aa(a))for(var d=0;d<a.length;d++){var e=a[d];!b&&e instanceof U||(e.Sa(),null===c?c=e.actualBounds.copy():c.Nc(e.actualBounds))}else for(a=a.iterator;a.next();)d=a.value,!b&&d instanceof U||(d.Sa(),null===c?c=d.actualBounds.copy():c.Nc(d.actualBounds));return null===c?new N(NaN,NaN,0,0):c};\nfunction Si(a,b){if((b||a.Qf)&&!a.ob&&null!==a.Aa&&a.documentBounds.u()){if(b){var c=a.initialPosition;if(c.u()){a.position=c;return}c=J.alloc();c.Ui(a.documentBounds,a.initialDocumentSpot);var d=a.viewportBounds;d=N.allocAt(0,0,d.width,d.height);var e=J.alloc();e.Ui(d,a.initialViewportSpot);e.h(c.x-e.x,c.y-e.y);a.position=e;N.free(d);J.free(e);J.free(c)}a.ob=!0;c=a.Oh;b&&a.Lg!==mh&&(c=a.Lg);var f=c!==mh?Ti(a,c):a.scale;c=a.ka.x;d=a.ka.y;e=a.ua/f;var g=a.ta/f,h=a.Qk,k=a.vr;b&&!h.hb()&&(k.hb()||k.Lb())&&\n(h=k.Lb()?yc:k);Ui(a,a.documentBounds,e,g,h,b);b=a.scale;a.scale=f;a.ob=!1;Vi(a);Wi(a,!0,!1);f=a.viewportBounds;if(!(L.w(f.x,c)&&L.w(f.y,d)&&L.w(f.width,e)&&L.w(f.height,g)))a.onViewportBoundsChanged(new N(c,d,e,g),f,b,!1)}}\nfunction Ti(a,b){var c=a.er;if(null===a.Aa)return c;a.Sa();var d=a.documentBounds;if(!d.u())return c;var e=d.width;d=d.height;var f=a.ua+(a.Of?a.sb:0),g=a.ta+(a.Ue?a.sb:0),h=f/e,k=g/d;return b===Xi?(b=Math.min(k,h),b>c&&(b=c),b<a.minScale&&(b=a.minScale),b>a.maxScale&&(b=a.maxScale),b):b===Yi?(b=k>h?(g-a.sb)/d:(f-a.sb)/e,b>c&&(b=c),b<a.minScale&&(b=a.minScale),b>a.maxScale&&(b=a.maxScale),b):a.scale}\nT.prototype.zoomToFit=function(){var a=this.Sj;this.Sj=Mh;this.scale=Ti(this,Xi);a!==Mh&&(Si(this,!1),Ui(this,this.documentBounds,this.ua/this.sa,this.ta/this.sa,this.Qk,!1));this.Sj=a};t=T.prototype;\nt.gB=function(a,b){void 0===b&&(b=Xi);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Xi||b===Yi)if(isNaN(c))e=this.viewportBounds.height*this.scale/d;else if(isNaN(d))e=this.viewportBounds.width*this.scale/c;else{e=this.ua;var f=this.ta;e=b===Yi?f/d>e/c?(f-(this.Ue?this.sb:0))/d:(e-(this.Of?this.sb:0))/c:Math.min(f/d,e/c)}this.scale=e;this.position=new J(a.x,a.y)}};\nt.lz=function(a,b){this.Sa();var c=this.documentBounds,d=this.viewportBounds;this.position=new J(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};t.dA=function(a){if(a instanceof Y){this.rr=a;var b=J.alloc();this.sr=this.Iq(a.da(sc,b));J.free(b)}else this.rr=null,this.sr=vb};\nfunction Ui(a,b,c,d,e,f){var g=J.allocAt(a.ka.x,a.ka.y),h=g.x,k=g.y;if(null!==a.rr){var l=J.alloc();l=a.rr.da(sc,l);h=l.x-a.sr.x/a.scale;k=l.y-a.sr.y/a.scale;e=rc;J.free(l)}if(f||a.scrollMode===Mh)e.hb()&&(c>b.width&&(h=b.x+(e.x*b.width+e.offsetX)-(e.x*c-e.offsetX)),d>b.height&&(k=b.y+(e.y*b.height+e.offsetY)-(e.y*d-e.offsetY))),e=a.Rj,f=c-b.width,c<b.width+e.left+e.right?(h=Math.min(h+c/2,b.right+Math.max(f,e.right)-c/2),h=Math.max(h,b.left-Math.max(f,e.left)+c/2),h-=c/2):h>b.left?h=b.left:h<b.right-\nc&&(h=b.right-c),c=d-b.height,d<b.height+e.top+e.bottom?(k=Math.min(k+d/2,b.bottom+Math.max(c,e.bottom)-d/2),k=Math.max(k,b.top-Math.max(c,e.top)+d/2),k-=d/2):k>b.top?k=b.top:k<b.bottom-d&&(k=b.bottom-d);g.x=isFinite(h)?h:-a.mb.left;g.y=isFinite(k)?k:-a.mb.top;null!==a.positionComputation&&(b=a.positionComputation(a,g),g.x=b.x,g.y=b.y);Ih(a.Ld,a.ka,g);a.ka.h(g.x,g.y);Ji(a);J.free(g)}\nt.im=function(a,b){void 0===b&&(b=!0);if(b){if(a=jf(this,a,function(a){return a.part},function(a){return a.canSelect()}),a instanceof V)return a}else if(a=jf(this,a,function(a){return a.part}),a instanceof V)return a;return null};t.Wb=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);hh(this);for(var d=this.Na.iteratorBackwards;d.next();){var e=d.value;if(e.visible&&(e=e.Wb(a,b,c),null!==e))return e}return null};\nfunction jf(a,b,c,d){void 0===c&&(c=null);void 0===d&&(d=null);hh(a);for(a=a.Na.iteratorBackwards;a.next();){var e=a.value;if(e.visible&&!e.isTemporary&&(e=e.Wb(b,c,d),null!==e))return e}return null}t.Rz=function(a,b,c){void 0===b&&(b=!0);return Zi(this,a,function(a){return a.part},b?function(a){return a instanceof V&&a.canSelect()}:null,c)};\nfunction Zi(a,b,c,d,e){void 0===c&&(c=null);void 0===d&&(d=null);e instanceof E||e instanceof G||(e=new G);hh(a);for(a=a.Na.iteratorBackwards;a.next();){var f=a.value;f.visible&&!f.isTemporary&&f.Ii(b,c,d,e)}return e}t.Ii=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof E||d instanceof G||(d=new G);hh(this);for(var e=this.Na.iteratorBackwards;e.next();){var f=e.value;f.visible&&f.Ii(a,b,c,d)}return d};\nt.Vx=function(a,b,c,d){void 0===b&&(b=!1);void 0===c&&(c=!0);return $i(this,a,function(a){return a instanceof V&&(!c||a.canSelect())},b,d)};t.vf=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof E||e instanceof G||(e=new G);hh(this);for(var f=this.Na.iteratorBackwards;f.next();){var g=f.value;g.visible&&g.vf(a,b,c,d,e)}return e};\nt.sv=function(a,b,c,d,e,f){var g=new G;hh(this);for(var h=this.Na.iteratorBackwards;h.next();){var k=h.value;k.visible&&k.sv(a,b,c,d,g,e,f)}return g};function $i(a,b,c,d,e){var f=null;void 0===f&&(f=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof E||e instanceof G||(e=new G);hh(a);for(a=a.Na.iteratorBackwards;a.next();){var g=a.value;g.visible&&!g.isTemporary&&g.vf(b,f,c,d,e)}return e}\nt.Sz=function(a,b,c,d,e){void 0===c&&(c=!0);void 0===d&&(d=!0);return aj(this,a,b,function(a){return a instanceof V&&(!d||a.canSelect())},c,e)};t.kg=function(a,b,c,d,e,f){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof E||e instanceof G)f=e;e=!0}f instanceof E||f instanceof G||(f=new G);hh(this);for(var g=this.Na.iteratorBackwards;g.next();){var h=g.value;h.visible&&h.kg(a,b,c,d,e,f)}return f};\nfunction aj(a,b,c,d,e,f){var g=null;void 0===g&&(g=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof E||e instanceof G)f=e;e=!0}f instanceof E||f instanceof G||(f=new G);hh(a);for(a=a.Na.iteratorBackwards;a.next();){var h=a.value;h.visible&&!h.isTemporary&&h.kg(b,c,g,d,e,f)}return f}T.prototype.acceptEvent=function(a){return bj(this,a,a instanceof MouseEvent)};\nfunction bj(a,b,c){var d=a.bh;a.bh=a.Dj;a.Dj=d;d.diagram=a;d.event=b;c?cj(a,b,d):(d.viewPoint=a.bh.viewPoint,d.documentPoint=a.bh.documentPoint);a=0;b.ctrlKey&&(a+=1);b.altKey&&(a+=2);b.shiftKey&&(a+=4);b.metaKey&&(a+=8);d.modifiers=a;d.button=b.button;void 0!==b.buttons&&(d.buttons=b.buttons);Sa&&0===b.button&&b.ctrlKey&&(d.button=2);d.down=!1;d.up=!1;d.clickCount=1;d.delta=0;d.handled=!1;d.bubbles=!1;d.timestamp=b.timeStamp;d.isMultiTouch=!1;d.targetDiagram=dj(b,b.target);d.targetObject=null;return d}\nfunction dj(a,b){if(null===b)return null;if(b=b.F)return b;(b=a.path)||\"function\"!==typeof a.composedPath||(b=a.composedPath());return b&&b[0]&&b[0].F?b[0].F:null}\nfunction ej(a,b,c,d,e,f){var g=a.bh;a.bh=a.Dj;a.Dj=g;g.diagram=a;g.clickCount=1;a=g.delta=0;b.ctrlKey&&(a+=1);b.altKey&&(a+=2);b.shiftKey&&(a+=4);b.metaKey&&(a+=8);g.modifiers=a;g.event=b;g.timestamp=b.timeStamp;g.button=b.button;g.buttons=b.buttons;Sa&&0===b.button&&b.ctrlKey&&(g.button=2);g.down=c;g.up=d;g.handled=!1;g.bubbles=e;g.isMultiTouch=f;return g}\nfunction fj(a,b){if(a.bubbles)return!0;void 0!==b.stopPropagation&&b.stopPropagation();!1!==b.cancelable&&b.preventDefault();b.cancelBubble=!0;return!1}\nT.prototype.uA=function(a){var b=this.F;if(!this.F.isEnabled)return!1;var c=bj(b,a,!1);c.key=String.fromCharCode(a.which);c.down=!0;switch(a.which){case 8:c.key=\"Backspace\";break;case 33:c.key=\"PageUp\";break;case 34:c.key=\"PageDown\";break;case 35:c.key=\"End\";break;case 36:c.key=\"Home\";break;case 37:c.key=\"Left\";break;case 38:c.key=\"Up\";break;case 39:c.key=\"Right\";break;case 40:c.key=\"Down\";break;case 45:c.key=\"Insert\";break;case 46:c.key=\"Del\";break;case 48:c.key=\"0\";break;case 187:case 61:case 107:c.key=\n\"Add\";break;case 189:case 173:case 109:c.key=\"Subtract\";break;case 27:c.key=\"Esc\"}b.doKeyDown();return fj(c,a)};\nT.prototype.vA=function(a){var b=this.F;if(!b.isEnabled)return!1;var c=bj(b,a,!1);c.key=String.fromCharCode(a.which);c.up=!0;switch(a.which){case 8:c.key=\"Backspace\";break;case 33:c.key=\"PageUp\";break;case 34:c.key=\"PageDown\";break;case 35:c.key=\"End\";break;case 36:c.key=\"Home\";break;case 37:c.key=\"Left\";break;case 38:c.key=\"Up\";break;case 39:c.key=\"Right\";break;case 40:c.key=\"Down\";break;case 45:c.key=\"Insert\";break;case 46:c.key=\"Del\"}b.doKeyUp();return fj(c,a)};\nT.prototype.Gz=function(a){var b=this.F;if(!b.isEnabled)return!1;var c=bj(b,a,!0);null!==b.mouseEnter&&b.mouseEnter(c);return fj(c,a)};T.prototype.Hz=function(a){var b=this.F;if(!b.isEnabled)return!1;var c=bj(b,a,!0);null!==b.mouseLeave&&b.mouseLeave(c);return fj(c,a)};\nT.prototype.getMouse=function(a){var b=this.Aa;if(null===b)return new J(0,0);var c=b.getBoundingClientRect();b=a.clientX-this.ua/c.width*c.left;a=a.clientY-this.ta/c.height*c.top;return null!==this.tb?Ab(new J(b,a),this.tb):new J(b,a)};\nfunction cj(a,b,c){var d=a.Aa,e=a.ua,f=a.ta,g=0,h=0;null!==d&&(d=d.getBoundingClientRect(),g=b.clientX-e/d.width*d.left,h=b.clientY-f/d.height*d.top);c.viewPoint.h(g,h);null!==a.tb?(b=J.allocAt(g,h),a.tb.Ed(b),c.documentPoint.assign(b),J.free(b)):c.documentPoint.h(g,h)}\nfunction $d(a,b,c,d){if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;b=b.targetTouches[c]}else if(null!==a.El[0])b=a.El[c];else return;c=a.Aa;null!==c&&(c=c.getBoundingClientRect(),d.h(b.clientX-a.ua/c.width*c.left,b.clientY-a.ta/c.height*c.top))}T.prototype.Pa=function(){this.vj||(this.vj=!0,this.Fb(!0))};function gj(a){a.Vc||hh(a);a.Sa()}T.prototype.redraw=function(){this.ob||this.Vc||(this.N(),Vi(this),this.ed())};t=T.prototype;t.tA=function(){return this.eg};\nt.Bz=function(a){void 0===a&&(a=null);var b=this.animationManager,c=b.isEnabled;b.nc();b.isEnabled=!1;rf(this);this.Qf=!1;this.Cu=new J(NaN,NaN);b.isEnabled=c;this.Vc=!0;var d=this;null!==a&&ua(function(){d.Vc=!1;gh(b,\"Model\");a(d)},1)};t.Fb=function(a){void 0===a&&(a=!1);if(!0!==this.eg&&!(this.ob||!1===a&&this.Vc)){this.eg=!0;var b=this;x.requestAnimationFrame(function(){b.eg&&b.ed()})}};t.ed=function(){if(!this.Ln||this.eg)this.Ln&&(this.Ln=!1),rf(this)};\nfunction Wi(a,b,c){a.animationManager.defaultAnimation.isAnimating||a.ob||!a.wj||Oi(a)||(b&&hh(a),c&&Si(a,!1))}\nfunction rf(a,b){if(!a.Vc&&(a.eg=!1,null!==a.Ea||a.Rp.u())){a.Vc=!0;var c=a.animationManager,d=a.$o;if(!c.isAnimating&&0!==d.length){for(var e=d.m,f=e.length,g=0;g<f;g++){var h=e[g];hj(h,!1);h.s()}d.clear()}d=a.Qw;0<d.count&&(d.each(function(a){a.kw()}),d.clear());e=d=!1;c.defaultAnimation.isAnimating&&(e=!0,d=a.skipsUndoManager,a.skipsUndoManager=!0);c.rb||nh(a);Wi(a,!1,!0);null!==a.Vd&&(a.Vd.visible&&!a.tr&&(ij(a),a.tr=!0),!a.Vd.visible&&a.tr&&(a.tr=!1));hh(a);f=!1;if(!a.Qf||a.Nh)a.Qf?jj(a,!a.$k):\n(a.wa(\"Initial Layout\"),!1===c.isEnabled&&c.nc(),jj(a,!1)),f=!0;a.$k=!1;hh(a);a.Nu||gj(a);Wi(a,!0,!1);g=!1;f?(c=N.alloc(),c.assign(a.viewportBounds),a.Qf||(g=a.Qf=!0,a.skipsUndoManager||(a.undoManager.isPendingClear=!0),a.undoManager.isPendingUnmodified=!0,kj(a)),a.S(\"LayoutCompleted\"),c.A(a.viewportBounds)||Wi(a,!0,!1),N.free(c)):c.gl&&c.ux&&(a.Lg!==mh?a.scale=Ti(a,a.Lg):a.Oh!==mh?a.scale=Ti(a,a.Oh):(c=a.initialScale,isFinite(c)&&0<c&&(a.scale=c)),Si(a,!0));hh(a);f&&g&&a.Xa(\"Initial Layout\");a.fv();\nb||a.lc(a.Sb);e&&(a.skipsUndoManager=d);a.Vc=!1}}function kj(a){var b=a.sa;if(a.Lg!==mh)a.scale=Ti(a,a.Lg);else if(a.Oh!==mh)a.scale=Ti(a,a.Oh);else{var c=a.initialScale;isFinite(c)&&0<c&&(a.scale=c)}a.sa!==b&&(Vi(a),Wi(a,!0,!1));Si(a,!0);b=a.Na.m;a.Jd(b,b.length,a,a.viewportBounds);a.S(\"InitialLayoutCompleted\");a.Cu.assign(a.ka);ij(a)}\nfunction hh(a){if(0!==a.qe.count&&(a.Vc||!a.animationManager.isTicking)){for(var b=0;23>b;b++){var c=a.qe.iterator;if(null===c||0===a.qe.count)break;a.qe=new G;a.kw(c,a.qe)}a.nodes.each(function(a){a instanceof hf&&0!==(a.R&65536)!==!1&&(a.R=a.R^65536)})}}\nt.kw=function(a,b){for(a.reset();a.next();){var c=a.value;!c.Jc()||c instanceof hf||(c.Si()?(c.measure(Infinity,Infinity),c.arrange()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof hf&&c.isVisible()&&lj(this,c);for(a.reset();a.next();)c=a.value,c instanceof U&&c.isVisible()&&(c.Si()?(c.measure(Infinity,Infinity),c.arrange()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof we&&c.isVisible()&&(c.Si()?(c.measure(Infinity,Infinity),c.arrange()):b.add(c))};\nfunction lj(a,b){for(var c=Fa(),d=Fa(),e=b.memberParts;e.next();){var f=e.value;f.isVisible()&&(f instanceof hf?(mj(f)||nj(f)||oj(f))&&lj(a,f):f instanceof U?f.fromNode===b||f.toNode===b?d.push(f):c.push(f):(f.measure(Infinity,Infinity),f.arrange()))}a=c.length;for(e=0;e<a;e++)f=c[e],f.measure(Infinity,Infinity),f.arrange();Ia(c);b.measure(Infinity,Infinity);b.arrange();a=d.length;for(b=0;b<a;b++)c=d[b],c.measure(Infinity,Infinity),c.arrange();Ia(d)}\nt.Jd=function(a,b,c,d){if(this.xj||this.animationManager.isAnimating)for(var e=0;e<b;e++)a[e].Jd(c,d)};\nt.lc=function(a,b){if(null!==this.Ea){null===this.Aa&&C(\"No canvas specified\");var c=this.animationManager;if(!c.rb&&(!c.isAnimating||c.isTicking)){var d=new Date;pj(this);if(\"0\"!==this.Ea.style.opacity){var e=a!==this.Sb,f=this.Na.m,g=f.length,h=this;this.Jd(f,g,h,h.viewportBounds);if(e)a.Ec(!0),Qi(this);else if(!this.Uc&&void 0===b&&!c.isAnimating)return;g=this.ka;var k=this.sa,l=Math.round(g.x*k)/k,m=Math.round(g.y*k)/k;c=this.tb;c.reset();1!==k&&c.scale(k);0===g.x&&0===g.y||c.translate(-l,-m);\nk=this.ac;a.setTransform(k,0,0,k,0,0);a.clearRect(0,0,this.ua,this.ta);1!==this.lb&&(a.globalAlpha=this.lb);qj(this,a);l=void 0!==b?function(c){if(c.visible&&0!==c.lb){var d=c.Fa.m,e=d.length;if(0!==e){var f=ai(c,a),g=c.Vo;g.length=0;for(var k=h.scale,l=N.alloc(),m=0;m<e;m++){var n=d[m];b.contains(n)||c.Ei(a,n,h,g,k,l,!0)}N.free(l);a.globalAlpha=f}}}:function(b){b.lc(a,h)};g=f.length;for(m=0;m<g;m++)a.setTransform(k,0,0,k,0,0),a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy),l(f[m]);f=!1;this.Yh?rj(this.Yh,\nthis)&&(f=this.Jt()):f=!0;f&&(qd.prototype.Ed=qd.prototype.Fx);e?(this.Sb.Ec(!0),Qi(this)):this.Uc=this.xj=!1;f=+new Date-+d;e=Xa&&Xa.Qx;d=this.$w;if(e||null===this.ti){d[this.Nr]=f;this.Nr=(this.Nr+1)%d.length;for(c=f=0;c<d.length;c++)f+=d[c];this.Mr=f/d.length}1!==this.lb&&(a.globalAlpha=1);if(e)for(a.setTransform(1,0,0,1,0,0),e=0;e<d.length;e++)a.fillText(d[e].toString(),20,150+ +(20*e))}}}};\nfunction sj(a,b,c,d,e,f,g,h,k,l){if(null!==a.Ea){null===a.Aa&&C(\"No canvas specified\");void 0===g&&(g=null);void 0===h&&(h=null);void 0===k&&(k=!1);void 0===l&&(l=!1);pj(a);a.Sb.Ec(!0);Qi(a);a.zj=!0;var m=a.sa;a.sa=e;var n=a.Na.m,p=n.length;try{var r=new N(f.x,f.y,d.width/e,d.height/e),q=r.copy();q.Xp(c);ij(a,q);hh(a);a.Jd(n,p,a,r);b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,d.width,d.height);null!==h&&\"\"!==h&&(b.fillStyle=h,b.fillRect(0,0,d.width,d.height));var u=a.ac;b.scale(u,u);var v=qd.alloc();\nv.reset();v.translate(c.left,c.top);v.scale(e);0===f.x&&0===f.y||v.translate(-f.x,-f.y);b.setTransform(v.m11,v.m12,v.m21,v.m22,v.dx,v.dy);qd.free(v);qj(a,b);b.globalAlpha=a.lb;var w=a.ik(\"Grid\");if(g){var z=new G,y=g.iterator;for(y.reset();y.next();){var A=y.value;A instanceof V&&(l||A.layer!==w)&&z.add(A)}for(l=0;l<p;l++){var B=n[l];w=b;var F=a;if(B.visible&&0!==B.lb&&(k||!B.isTemporary)){var K=B.Fa.m,S=K.length;if(0!==S){var R=ai(B,w),O=B.Vo;O.length=0;var H=F.scale,da=N.alloc();for(c=0;c<S;c++){var ba=\nK[c];z.contains(ba)&&B.Ei(w,ba,F,O,H,da,!1)}N.free(da);w.globalAlpha=R}}}}else for(z=0;z<p;z++)F=n[z],F===w?l&&F.lc(b,a,!0):F.lc(b,a,k);a.zj=!1;a.Yh&&rj(a.Yh,a)&&a.Jt()}finally{a.sa=m,a.Sb.Ec(!0),Qi(a),a.Jd(n,p,a,a.viewportBounds),ij(a)}}}t.Fe=function(a){return this.dh[a]};t.Dy=function(a,b){\"minDrawingLength\"===a&&(this.Jr=b);this.dh[a]=b;this.redraw()};\nt.zy=function(){this.dh=new Wa;this.dh.drawShadows=!0;this.dh.textGreeking=!0;this.dh.viewportOptimizations=Sa||Qa?!1:!0;this.dh.temporaryPixelRatio=!0;this.dh.pictureRatioOptimization=!0;this.Jr=this.dh.minDrawingLength=1};function qj(a,b){a=a.dh;null!==a&&(void 0!==a.imageSmoothingEnabled&&b.Cy(!!a.imageSmoothingEnabled),a=a.defaultFont,void 0!==a&&null!==a&&(b.font=a))}t.km=function(a){return this.ao[a]};t.VA=function(a,b){this.ao[a]=b};\nt.yy=function(){this.ao=new Wa;this.ao.extraTouchArea=10;this.ao.extraTouchThreshold=10;this.ao.hasGestureZoom=!0};t.set=function(a){Object.assign(this,a);return this};t.dv=function(a){return this.Hm(a)};t.Hm=function(a){tj(this,a);return this};\nfunction tj(a,b){var c=a instanceof X,d=a instanceof T,e;for(e in b){\"\"===e&&C(\"Setting properties requires non-empty property names\");var f=a,g=e;if(c||d){var h=e.indexOf(\".\");if(0<h){var k=e.substring(0,h);if(c)f=a.Ya(k);else if(f=a[k],void 0===f||null===f)f=a.toolManager[k];za(f)?g=e.substr(h+1):C(\"Unable to find object named: \"+k+\" in \"+a.toString()+\" when trying to set property: \"+e)}}if(\"_\"!==g[0]&&!La(f,g))if(d&&\"ModelChanged\"===g){a.Bx(b[g]);continue}else if(d&&\"Changed\"===g){a.uh(b[g]);continue}else if(d&&\nLa(a.toolManager,g))f=a.toolManager;else if(d&&uj(a,g)){a.Xj(g,b[g]);continue}else if(a instanceof Z&&\"Changed\"===g){a.uh(b[g]);continue}else C('Trying to set undefined property \"'+g+'\" on object: '+f.toString());f[g]=b[e];\"_\"===g[0]&&f instanceof Y&&f.yx(g)}}t.fv=function(){if(0===this.undoManager.transactionLevel&&0!==this.Wh.count){for(;0<this.Wh.count;){var a=this.Wh;this.Wh=new I;for(a=a.iterator;a.next();){var b=a.key;b.rq(a.value);b.cc(!1)}}this.N()}};\nt.N=function(a){if(void 0===a)this.Uc=!0,this.Fb();else{var b=this.viewportBounds;a.u()&&b.Ic(a)&&(this.Uc=!0,this.Fb())}this.S(\"InvalidateDraw\")};\nT.prototype.invalidateViewport=function(a,b){if(!0!==this.Uc){this.Uc=!0;var c=!0===this.Fe(\"temporaryPixelRatio\");if(!0===this.Fe(\"viewportOptimizations\")&&this.scrollMode!==Oh&&this.Rj.Gi(0,0,0,0)&&b.width===a.width&&b.height===a.height){var d=this.scale,e=Math.max(a.x,b.x),f=Math.max(a.y,b.y);d=N.allocAt(e,f,Math.max(0,Math.min(a.x+a.width,b.x+b.width)-e)*d,Math.max(0,Math.min(a.y+a.height,b.y+b.height)-f)*d);if(!this.ns&&0<d.width&&0<d.height){if(!(this.Vc||(this.eg=!1,null===this.Ea||(this.Vc=\n!0,this.fv(),this.documentBounds.u()||(e=N.alloc(),vj(this,this.computeBounds(e)),N.free(e)),e=this.Aa,null===e||e instanceof wj)))){var g=this.ac;f=this.ua*g;var h=this.ta*g,k=this.scale*g,l=Math.round(Math.round(b.x*k)-Math.round(a.x*k));b=Math.round(Math.round(b.y*k)-Math.round(a.y*k));k=this.Kw;a=this.Ty;k.width!==f&&(k.width=f);k.height!==h&&(k.height=h);a.clearRect(0,0,f,h);k=190*g;var m=70*g,n=Math.max(l,0),p=Math.max(b,0),r=Math.floor(f-n),q=Math.floor(h-p);a.drawImage(e.La,n,p,r,q,0,0,r,\nq);rj(this.Yh,this)&&a.clearRect(0,0,k,m);e=Fa();a=Fa();q=Math.abs(l);r=Math.abs(b);var u=0===n?0:f-q;n=J.allocAt(u,0);q=J.allocAt(q+u,h);a.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y)));var v=this.tb;v.reset();v.scale(g,g);1!==this.sa&&v.scale(this.sa);g=this.ka;(0!==g.x||0!==g.y)&&isFinite(g.x)&&isFinite(g.y)&&v.translate(-g.x,-g.y);Ab(n,v);Ab(q,v);e.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y)));u=0===p?0:h-r;n.h(0,u);\nq.h(f,r+u);a.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y)));Ab(n,v);Ab(q,v);e.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y)));rj(this.Yh,this)&&(f=0<l?0:-l,h=0<b?0:-b,n.h(f,h),q.h(k+f,m+h),a.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y))),Ab(n,v),Ab(q,v),e.push(new N(Math.min(n.x,q.x),Math.min(n.y,q.y),Math.abs(n.x-q.x),Math.abs(n.y-q.y))));J.free(n);J.free(q);Wi(this,!1,!0);null===this.Ea&&\nC(\"No div specified\");null===this.Aa&&C(\"No canvas specified\");if(!this.animationManager.rb&&(f=this.Sb,this.Uc)){pj(this);h=this.ac;f.setTransform(1,0,0,1,0,0);f.clearRect(0,0,this.ua*h,this.ta*h);f.drawImage(this.Kw.La,0<l?0:Math.round(-l),0<b?0:Math.round(-b));l=this.ka;g=this.sa;k=Math.round(l.x*g)/g;m=Math.round(l.y*g)/g;b=this.tb;b.reset();1!==g&&b.scale(g);0===l.x&&0===l.y||b.translate(-k,-m);f.save();f.beginPath();l=a.length;for(g=0;g<l;g++)k=a[g],0!==k.width&&0!==k.height&&f.rect(Math.floor(k.x),\nMath.floor(k.y),Math.ceil(k.width),Math.ceil(k.height));f.clip();f.setTransform(1,0,0,1,0,0);f.scale(h,h);f.transform(b.m11,b.m12,b.m21,b.m22,b.dx,b.dy);b=this.Na.m;l=b.length;this.Jd(b,l,this,this.viewportBounds);qj(this,f);f.globalAlpha=this.lb;for(h=0;h<l;h++)if(g=b[h],k=e,g.visible&&0!==g.lb){m=ai(g,f);p=g.Vo;p.length=0;n=this.scale;r=N.alloc();q=g.Fa.m;v=q.length;u=k.length;for(var w=0;w<v;w++){var z=q[w],y=xj(z,z.actualBounds);a:{for(var A=2/n,B=4/n,F=0;F<u;F++){var K=k[F];if(0!==K.width&&0!==\nK.height&&y.Av(K.x-A,K.y-A,K.width+B,K.height+B)){y=!0;break a}}y=!1}y&&g.Ei(f,z,this,p,n,r,!0)}N.free(r);f.globalAlpha=m}f.restore();f.Ec(!0);this.Yh&&rj(this.Yh,this)&&this.Jt();this.Uc=this.xj=!1;this.Aq()}Ia(e);Ia(a);this.Vc=!1}}else this.ed();N.free(d);c&&(Ke(this),this.ed(),Te(this,!0))}else c?(Ke(this),this.ed(),Te(this,!0)):this.ed()}};function Vi(a){!1===a.wj&&(a.wj=!0)}function Qi(a){!1===a.xj&&(a.xj=!0)}function pj(a){!1!==a.bo&&(a.bo=!1,yj(a,a.ua,a.ta))}\nfunction yj(a,b,c){Ji(a);var d=a.ac;a.Aa.resize(b*d,c*d,b,c)&&(a.Uc=!0,a.Sb.Ec(!0))}\nfunction Oi(a){var b=a.Aa;if(null===b||a.Rp.u())return!0;var c=a.ua,d=a.ta,e=a.viewportBounds;if(!a.viewportBounds.u())return!0;var f=e.x,g=e.y,h=e.width,k=e.height,l=a.Ju,m=a.Gu,n=a.Ea,p=!1,r=a.Of?a.sb:0,q=a.Ue?a.sb:0,u=n.clientWidth||c+r,v=n.clientHeight||d+q;if(u!==c+r||v!==d+q)a.Of=!1,a.Ue=!1,q=r=0,a.ua=u,a.ta=v,p=a.bo=!0,Ji(a);if(!(p||a.Of||a.Ue||a.Yn||a.Zn))return!0;a.wj=!1;var w=a.documentBounds,z=0,y=0,A=0,B=0;n=e.width;var F=e.height,K=a.Rj;a.contentAlignment.hb()?(w.width>n&&(z=K.left,y=\nK.right),w.height>F&&(A=K.top,B=K.bottom)):(z=K.left,y=K.right,A=K.top,B=K.bottom);K=w.width+z+y;var S=w.height+A+B;z=w.x-z;var R=e.x;y=w.right+y;var O=e.right+r;A=w.y-A;var H=e.y;w=w.bottom+B;B=e.bottom+q;var da=\"1px\",ba=\"1px\";e=a.scale;u=K>u/e;v=S>v/e;a.scrollMode===Mh&&(u||v)&&(u&&a.hasHorizontalScrollbar&&a.allowHorizontalScroll&&(u=1,z+1<R&&(u=Math.max((R-z)*e+a.ua,u)),y>O+1&&(u=Math.max((y-O)*e+a.ua,u)),n+r+1<K&&(u=Math.max((K-n)*e+a.ua,u)),da=u.toString()+\"px\"),v&&a.hasVerticalScrollbar&&a.allowVerticalScroll&&\n(u=1,A+1<H&&(u=Math.max((H-A)*e+a.ta,u)),w>B+1&&(u=Math.max((w-B)*e+a.ta,u)),F+q+1<S&&(u=Math.max((S-F)*e+a.ta,u)),ba=u.toString()+\"px\"));u=\"1px\"!==da;v=\"1px\"!==ba;u&&v||!u&&!v||(v&&(O-=a.sb),u&&(B-=a.sb),K<n+r||!a.hasHorizontalScrollbar||!a.allowHorizontalScroll||(r=1,z+1<R&&(r=Math.max((R-z)*e+a.ua,r)),y>O+1&&(r=Math.max((y-O)*e+a.ua,r)),n+1<K&&(r=Math.max((K-n)*e+a.ua,r)),da=r.toString()+\"px\"),u=\"1px\"!==da,r=a.ta,u!==a.Ue&&(r=u?a.ta-a.sb:a.ta+a.sb),S<F+q||!a.hasVerticalScrollbar||!a.allowVerticalScroll||\n(q=1,A+1<H&&(q=Math.max((H-A)*e+r,q)),w>B+1&&(q=Math.max((w-B)*e+r,q)),F+1<S&&(q=Math.max((S-F)*e+r,q)),ba=q.toString()+\"px\"),v=\"1px\"!==ba);if(a.$r&&u===a.Ue&&v===a.Of)return c===a.ua&&d===a.ta||a.ed(),!1;u!==a.Ue&&(\"1px\"===da?a.ta=a.ta+a.sb:a.ta=Math.max(a.ta-a.sb,1),p=!0);a.Ue=u;m.style.width=da;v!==a.Of&&(\"1px\"===ba?a.ua=a.ua+a.sb:a.ua=Math.max(a.ua-a.sb,1),p=!0,a.io&&(q=J.alloc(),v?(b.style.left=a.sb+\"px\",a.position=q.h(a.ka.x+a.sb/a.scale,a.ka.y)):(b.style.left=\"0px\",a.position=q.h(a.ka.x-a.sb/\na.scale,a.ka.y)),J.free(q)));p&&Ji(a);a.Of=v;m.style.height=ba;a.Fu=!0;p&&(a.bo=!0);b=l.scrollLeft;a.hasHorizontalScrollbar&&a.allowHorizontalScroll&&(n+1<K?b=(a.position.x-z)*e:z+1<R?b=l.scrollWidth-l.clientWidth:y>O+1&&(b=a.position.x*e));if(a.io)switch(a.Au){case \"negative\":b=-(l.scrollWidth-b-l.clientWidth);break;case \"reverse\":b=l.scrollWidth-b-l.clientWidth}l.scrollLeft=b;a.hasVerticalScrollbar&&a.allowVerticalScroll&&(F+1<S?l.scrollTop=(a.position.y-A)*e:A+1<H?l.scrollTop=l.scrollHeight-l.clientHeight:\nw>B+1&&(l.scrollTop=a.position.y*e));u=a.ua;v=a.ta;l.style.width=u+(a.Of?a.sb:0)+\"px\";l.style.height=v+(a.Ue?a.sb:0)+\"px\";return c!==u||d!==v||a.animationManager.rb?(c=N.allocAt(f,g,h,k),a.onViewportBoundsChanged(c,a.viewportBounds,e,p),N.free(c),!1):!0}t=T.prototype;\nt.add=function(a){var b=a.diagram;if(b!==this&&(null!==b&&C(\"Cannot add part \"+a.toString()+\" to \"+this.toString()+\". It is already a part of \"+b.toString()),b=this.ik(a.layerName),null===b&&(b=this.ik(\"\")),null===b&&C('Cannot add a Part when unable find a Layer named \"'+a.layerName+'\" and there is no default Layer'),a.layer!==b)){var c=b.Oi(99999999,a,a.diagram===this);0<=c&&this.Va(ee,\"parts\",b,null,a,null,c);b.isTemporary||this.Pa();a.B(1);c=a.layerChanged;null!==c&&c(a,null,b)}};\nt.Oi=function(a){this.partManager.Oi(a);var b=this;zj(a,function(a){Aj(b,a)});(a instanceof we||a instanceof hf&&null!==a.placeholder)&&a.s();null!==a.data&&zj(a,function(a){Bj(b.partManager,a)});!0!==nj(a)&&!0!==oj(a)||this.qe.add(a);Cj(a,!0,this);Dj(a)?(a.actualBounds.u()&&this.N(xj(a,a.actualBounds)),this.Pa()):a.isVisible()&&a.actualBounds.u()&&this.N(xj(a,a.actualBounds));this.Fb()};\nt.bc=function(a){a.$j();this.partManager.bc(a);var b=this;null!==a.data&&zj(a,function(a){Ej(b.partManager,a,b)});this.qe.remove(a);Dj(a)?(a.actualBounds.u()&&this.N(xj(a,a.actualBounds)),this.Pa()):a.isVisible()&&a.actualBounds.u()&&this.N(xj(a,a.actualBounds));this.Fb()};t.remove=function(a){Fj(this,a,!0)};\nfunction Fj(a,b,c){var d=b.layer;null!==d&&d.diagram===a&&(b.isSelected=!1,b.isHighlighted=!1,b.B(2),c&&b.fk(),c=d.bc(-1,b,!1),0<=c&&a.Va(fe,\"parts\",d,b,null,c,null),a=b.layerChanged,null!==a&&a(b,d,null))}t.bt=function(a,b){void 0===b&&(b=!1);if(Aa(a))for(var c=a.length,d=0;d<c;d++){var e=a[d];b&&!e.canDelete()||this.remove(e)}else for(c=new G,c.addAll(a),a=c.iterator;a.next();)c=a.value,b&&!c.canDelete()||this.remove(c)};t.ek=function(a,b,c){void 0===c&&(c=!1);return this.partManager.ek(a,b,c)};\nT.prototype.moveParts=function(a,b,c,d){void 0===c&&(c=!1);void 0===d&&(d=Gj(this));if(null!==this.toolManager){var e=new I;if(null!==a)if(Aa(a))for(var f=0;f<a.length;f++)Hj(this,e,a[f],c,d);else for(a=a.iterator;a.next();)Hj(this,e,a.value,c,d);else{for(a=this.parts;a.next();)Hj(this,e,a.value,c,d);for(a=this.nodes;a.next();)Hj(this,e,a.value,c,d);for(a=this.links;a.next();)Hj(this,e,a.value,c,d)}ef(this,e,b,d,c)}};\nfunction Hj(a,b,c,d,e,f){if(!b.contains(c)&&(void 0===f&&(f=!1),!d||f||c.canMove()||c.canCopy()))if(void 0===e&&(e=Gj(a)),c instanceof W){b.add(c,a.yd(e,c,c.location));if(c instanceof hf&&(null!==c.placeholder||e.dragsMembers))for(f=c.memberParts;f.next();)Hj(a,b,f.value,d,e,e.groupsAlwaysMove);for(f=c.linksConnected;f.next();){var g=f.value;if(!b.contains(g)){var h=g.fromNode,k=g.toNode;null!==h&&b.contains(h)&&null!==k&&b.contains(k)&&Hj(a,b,g,d,e)}}if(e.dragsTree)for(c=c.tv();c.next();)Hj(a,b,\nc.value,d,e)}else if(c instanceof U)for(b.add(c,a.yd(e,c)),c=c.labelNodes;c.next();)Hj(a,b,c.value,d,e);else c instanceof we||b.add(c,a.yd(e,c,c.location))}\nfunction ef(a,b,c,d,e){if(null!==b&&0!==b.count){var f=J.alloc(),g=J.alloc();g.assign(c);isNaN(g.x)&&(g.x=0);isNaN(g.y)&&(g.y=0);(c=a.ms)||Le(a,b);for(var h=Fa(),k=Fa(),l=b.iterator,m=J.alloc();l.next();){var n=l.key,p=l.value;if(n.Jc()){var r=Ij(a,n,b);if(null!==r)h.push(new Jj(n,p,r));else if(!e||n.canMove())r=p.point,f.assign(r),a.computeMove(n,f.add(g),d,m),n.location=m,void 0===p.shifted&&(p.shifted=new J),p.shifted.assign(m.ge(r))}else l.key instanceof U&&k.push(l.la)}J.free(m);e=h.length;for(l=\n0;l<e;l++)n=h[l],f.assign(n.info.point),void 0===n.xv.shifted&&(n.xv.shifted=new J),n.node.location=f.add(n.xv.shifted);e=J.alloc();l=J.alloc();n=k.length;for(p=0;p<n;p++){var q=k[p];r=q.key;if(r instanceof U)if(r.suspendsRouting){r.cf=null;m=r.fromNode;var u=r.toNode;if(null!==a.draggedLink&&d.dragsLink)if(u=q.value.point,null===r.dragComputation)b.add(r,a.yd(d,r,g)),cf(r,g.x-u.x,g.y-u.y);else{q=J.allocAt(0,0);(m=r.i(0))&&m.u()&&q.assign(m);var v=m=J.alloc().assign(q).add(g);d.isGridSnapEnabled&&\n(d.isGridSnapRealtime||a.lastInput.up)&&(v=J.alloc(),vg(a,r,m,v,d));m.assign(r.dragComputation(r,m,v)).ge(q);b.add(r,a.yd(d,r,m));cf(r,m.x-u.x,m.y-u.y);J.free(q);J.free(m);v!==m&&J.free(v)}else null!==m&&(e.assign(m.location),v=b.H(m),null!==v&&e.ge(v.point)),null!==u&&(l.assign(u.location),v=b.H(u),null!==v&&l.ge(v.point)),null!==m&&null!==u?e.Ta(l)?(m=q.value.point,u=f,u.assign(e),u.ge(m),b.add(r,a.yd(d,r,e)),cf(r,u.x,u.y)):(r.suspendsRouting=!1,r.Ua()):(q=q.value.point,m=null!==m?e:null!==u?l:\ng,b.add(r,a.yd(d,r,m)),cf(r,m.x-q.x,m.y-q.y))}else if(null===r.fromNode||null===r.toNode)m=q.value.point,b.add(r,a.yd(d,r,g)),cf(r,g.x-m.x,g.y-m.y)}J.free(f);J.free(g);J.free(e);J.free(l);Ia(h);Ia(k);c||(hh(a),Qe(a,b))}}\nT.prototype.computeMove=function(a,b,c,d){void 0===d&&(d=new J);d.assign(b);if(null===a)return d;var e=b,f=c.isGridSnapEnabled;f&&(c.isGridSnapRealtime||this.lastInput.up)&&(e=J.alloc(),vg(this,a,b,e,c));c=null!==a.dragComputation?a.dragComputation(a,b,e):e;var g=a.minLocation,h=g.x;isNaN(h)&&(h=f?Math.round(1E3*a.location.x)/1E3:a.location.x);g=g.y;isNaN(g)&&(g=f?Math.round(1E3*a.location.y)/1E3:a.location.y);var k=a.maxLocation,l=k.x;isNaN(l)&&(l=f?Math.round(1E3*a.location.x)/1E3:a.location.x);\nk=k.y;isNaN(k)&&(k=f?Math.round(1E3*a.location.y)/1E3:a.location.y);d.h(Math.max(h,Math.min(c.x,l)),Math.max(g,Math.min(c.y,k)));e!==b&&J.free(e);return d};function Gj(a){var b=a.toolManager.findTool(\"Dragging\");return null!==b?b.dragOptions:a.zn}\nfunction vg(a,b,c,d,e){void 0===e&&(e=Gj(a));d.assign(c);if(null!==b){var f=a.grid;b=e.gridSnapCellSize;a=b.width;b=b.height;var g=e.gridSnapOrigin,h=g.x;g=g.y;e=e.gridSnapCellSpot;if(null!==f){var k=f.gridCellSize;isNaN(a)&&(a=k.width);isNaN(b)&&(b=k.height);f=f.gridOrigin;isNaN(h)&&(h=f.x);isNaN(g)&&(g=f.y)}f=J.allocAt(0,0);f.Vi(0,0,a,b,e);L.jq(c.x,c.y,h+f.x,g+f.y,a,b,d);J.free(f)}}function Le(a,b){if(null!==b)for(a.ms=!0,a=b.iterator;a.next();)b=a.key,b instanceof U&&(b.suspendsRouting=!0)}\nfunction Qe(a,b){if(null!==b){for(b=b.iterator;b.next();){var c=b.key;c instanceof U&&(c.suspendsRouting=!1,Kj(c)&&c.Ua())}a.ms=!1}}function Ij(a,b,c){b=b.containingGroup;if(null!==b){a=Ij(a,b,c);if(null!==a)return a;a=c.H(b);if(null!==a)return a}return null}t=T.prototype;t.yd=function(a,b,c){if(void 0===c)return new Oe(pb);var d=a.isGridSnapEnabled;a.groupsSnapMembers||null===b.containingGroup||(d=!1);return d?new Oe(new J(Math.round(1E3*c.x)/1E3,Math.round(1E3*c.y)/1E3)):new Oe(c.copy())};\nfunction Lj(a,b,c){null!==b.diagram&&b.diagram!==a&&C(\"Cannot share a Layer with another Diagram: \"+b+\" of \"+b.diagram);null===c?null!==b.diagram&&C(\"Cannot add an existing Layer to this Diagram again: \"+b):(c.diagram!==a&&C(\"Existing Layer must be in this Diagram: \"+c+\" not in \"+c.diagram),b===c&&C(\"Cannot move a Layer before or after itself: \"+b));if(b.diagram!==a){b=b.name;a=a.Na;c=a.count;for(var d=0;d<c;d++)a.J(d).name===b&&C(\"Cannot add Layer with the name '\"+b+\"'; a Layer with the same name is already present in this Diagram.\")}}\nt.bm=function(a){Lj(this,a,null);a.Ke(this);var b=this.Na,c=b.count-1;if(!a.isTemporary)for(;0<=c&&b.J(c).isTemporary;)c--;b.ub(c+1,a);null!==this.Tb&&this.Va(ee,\"layers\",this,null,a,null,c+1);this.N();this.Pa();return this};\nt.zx=function(a,b){Lj(this,a,b);a.Ke(this);var c=this.Na,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.Tb&&this.Va(fe,\"layers\",this,a,null,d,null));var e=c.count,f;for(f=0;f<e;f++)if(c.J(f)===b){c.ub(f,a);break}null!==this.Tb&&this.Va(ee,\"layers\",this,null,a,null,f);this.N();0>d&&this.Pa();return this};\nt.fz=function(a,b){Lj(this,a,b);a.Ke(this);var c=this.Na,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.Tb&&this.Va(fe,\"layers\",this,a,null,d,null));var e=c.count,f;for(f=0;f<e;f++)if(c.J(f)===b){c.ub(f+1,a);break}null!==this.Tb&&this.Va(ee,\"layers\",this,null,a,null,f+1);this.N();0>d&&this.Pa();return this};\nt.NA=function(a){a.diagram!==this&&C(\"Cannot remove a Layer from another Diagram: \"+a+\" of \"+a.diagram);if(\"\"!==a.name){var b=this.Na,c=b.indexOf(a);if(b.remove(a)){for(b=a.Fa.copy().iterator;b.next();){var d=b.value,e=d.layerName;e!==a.name?d.layerName=e:d.layerName=\"\"}null!==this.Tb&&this.Va(fe,\"layers\",this,a,null,c,null);this.N();this.Pa()}}};t.ik=function(a){for(var b=this.layers;b.next();){var c=b.value;if(c.name===a)return c}return null};\nt.Bx=function(a){null===this.$e&&(this.$e=new E);this.$e.add(a);this.model.uh(a);return this};t.PA=function(a){null!==this.$e&&(this.$e.remove(a),0===this.$e.count&&(this.$e=null));this.model.Bk(a)};t.uh=function(a){null===this.ug&&(this.ug=new E);this.ug.add(a);return this};t.Bk=function(a){null!==this.ug&&(this.ug.remove(a),0===this.ug.count&&(this.ug=null))};\nt.ws=function(a){this.skipsUndoManager||this.model.skipsUndoManager||this.model.undoManager.yv(a);a.change!==de&&(this.isModified=!0);if(null!==this.ug)for(var b=this.ug,c=b.length,d=0;d<c;d++)b.J(d)(a)};t.Va=function(a,b,c,d,e,f,g){void 0===f&&(f=null);void 0===g&&(g=null);var h=new be;h.diagram=this;h.change=a;h.propertyName=b;h.object=c;h.oldValue=d;h.oldParam=f;h.newValue=e;h.newParam=g;this.ws(h)};t.g=function(a,b,c,d,e){this.Va(ce,a,this,b,c,d,e)};\nT.prototype.changeState=function(a,b){if(null!==a&&a.diagram===this){var c=this.skipsModelSourceBindings;try{this.skipsModelSourceBindings=!0;var d=a.change;if(d===ce){var e=a.object;Mj(e,a.propertyName,a.H(b));if(e instanceof Y){var f=e.part;null!==f&&f.Kb()}this.isModified=!0}else if(d===ee){var g=a.object,h=a.newParam,k=a.newValue;if(g instanceof X)if(\"number\"===typeof h&&k instanceof Y){b?g.bc(h):g.ub(h,k);var l=g.part;null!==l&&l.Kb()}else\"number\"===typeof h&&k instanceof Nj&&(k.isRow?Oj(g,h,\nb?void 0:k):Pj(g,h,b?void 0:k));else if(g instanceof Zh){var m=!0===a.oldParam;\"number\"===typeof h&&k instanceof V&&(b?(k.isSelected=!1,k.isHighlighted=!1,k.Kb(),g.bc(m?h:-1,k,m)):g.Oi(h,k,m))}else g instanceof T?\"number\"===typeof h&&k instanceof Zh&&(b?this.Na.eb(h):(k.Ke(this),this.Na.ub(h,k))):C(\"unknown ChangedEvent.Insert object: \"+a.toString());this.isModified=!0}else if(d===fe){var n=a.object,p=a.oldParam,r=a.oldValue;if(n instanceof X)\"number\"===typeof p&&r instanceof Y?b?n.ub(p,r):n.bc(p):\n\"number\"===typeof p&&r instanceof Nj&&(r.isRow?Oj(n,p,b?r:void 0):Pj(n,p,b?r:void 0));else if(n instanceof Zh){var q=!0===a.newParam;\"number\"===typeof p&&r instanceof V&&(b?0>n.Fa.indexOf(r)&&n.Oi(p,r,q):(r.isSelected=!1,r.isHighlighted=!1,r.Kb(),n.bc(q?p:-1,r,q)))}else n instanceof T?\"number\"===typeof p&&r instanceof Zh&&(b?(r.Ke(this),this.Na.ub(p,r)):this.Na.eb(p)):C(\"unknown ChangedEvent.Remove object: \"+a.toString());this.isModified=!0}else d!==de&&C(\"unknown ChangedEvent: \"+a.toString())}finally{this.skipsModelSourceBindings=\nc}}};T.prototype.wa=function(a){return this.undoManager.wa(a)};T.prototype.Xa=function(a){return this.undoManager.Xa(a)};T.prototype.Df=function(){return this.undoManager.Df()};T.prototype.commit=function(a,b){void 0===b&&(b=\"\");var c=this.skipsUndoManager;null===b&&(this.skipsUndoManager=!0,b=\"\");this.undoManager.wa(b);var d=!1;try{a(this),d=!0}finally{d?this.undoManager.Xa(b):this.undoManager.Df(),this.skipsUndoManager=c}};T.prototype.updateAllTargetBindings=function(a){this.partManager.updateAllTargetBindings(a)};\nT.prototype.Lq=function(){this.partManager.Lq()};\nfunction Qj(a,b,c){var d=a.animationManager;if(a.ob||a.Vc)a.sa=c,Ji(a),d.rb&&(Bh(d)||d.Pd.add(d.F,\"scale\",b,a.sa));else if(null===a.Aa)a.sa=c,Ji(a);else{a.ob=!0;var e=a.viewportBounds.copy(),f=a.ua,g=a.ta;e.width=a.ua/b;e.height=a.ta/b;var h=a.zoomPoint.x,k=a.zoomPoint.y,l=a.contentAlignment;isNaN(h)&&(l.Kc()?l.zf(Fc)?h=0:l.zf(Gc)&&(h=f-1):h=l.hb()?l.x*(f-1):f/2);isNaN(k)&&(l.Kc()?l.zf(Dc)?k=0:l.zf(Hc)&&(k=g-1):k=l.hb()?l.y*(g-1):g/2);null===a.scaleComputation||a.animationManager.defaultAnimation.isAnimating||\n(c=a.scaleComputation(a,c));c<a.minScale&&(c=a.minScale);c>a.maxScale&&(c=a.maxScale);f=J.allocAt(a.ka.x+h/b-h/c,a.ka.y+k/b-k/c);a.position=f;J.free(f);a.sa=c;Ji(a);a.onViewportBoundsChanged(e,a.viewportBounds,b,!1);a.ob=!1;Si(a,!1);d.rb&&(Bh(d)||d.Pd.add(d.F,\"scale\",b,a.sa));a.N();Vi(a)}}\nT.prototype.onViewportBoundsChanged=function(a,b,c,d){if(!a.A(b)){void 0===d&&(d=!1);d||Vi(this);Qi(this);var e=this.layout;null===e||!e.isViewportSized||this.autoScale!==mh||d||a.width===b.width&&a.height===b.height||e.B();e=this.currentTool;!0===this.ml&&e instanceof Oa&&(this.lastInput.documentPoint=this.kt(this.lastInput.viewPoint),Ae(e,this));this.ob||this.invalidateViewport(a,b);ij(this);this.bd.scale=c;this.bd.position.x=a.x;this.bd.position.y=a.y;this.bd.bounds.assign(a);this.bd.Gx.width=\nMath.round(a.width*c);this.bd.Gx.height=Math.round(a.height*c);this.bd.qy.width=this.ua;this.bd.qy.height=this.ta;this.bd.ky=d;this.S(\"ViewportBoundsChanged\",this.bd,a);this.isVirtualized&&this.links.each(function(a){a.isAvoiding&&a.actualBounds.Ic(b)&&a.Ua()})}};\nfunction ij(a,b){var c=a.Vd;if(null!==c&&c.visible){for(var d=M.alloc(),e=1,f=1,g=c.T.m,h=g.length,k=0;k<h;k++){var l=g[k],m=Math.abs(l.interval);2>m||(Rj(l.figure)?f=f*m/L.Wx(f,m):e=e*m/L.Wx(e,m))}g=c.gridCellSize;d.h(f*g.width,e*g.height);if(void 0!==b)e=b.width,f=b.height,a=b.x,g=b.y;else{b=N.alloc();a=a.viewportBounds;b.h(a.x,a.y,a.width,a.height);if(!b.u()){N.free(b);return}e=b.width;f=b.height;a=b.x;g=b.y;N.free(b)}c.width=e+2*d.width;c.height=f+2*d.height;b=J.alloc();L.jq(a,g,0,0,d.width,d.height,\nb);b.offset(-d.width,-d.height);M.free(d);c.part.location=b;J.free(b)}}T.prototype.clearSelection=function(a){void 0===a&&(a=!1);var b=this.selection;if(0!==b.count){a||this.S(\"ChangingSelection\",b);for(var c=b.xa(),d=c.length,e=0;e<d;e++)c[e].isSelected=!1;b.ea();b.clear();b.freeze();a||this.S(\"ChangedSelection\",b)}};\nT.prototype.select=function(a){null!==a&&a.diagram===this&&(!a.isSelected||1<this.selection.count)&&(this.S(\"ChangingSelection\",this.selection),this.clearSelection(!0),a.isSelected=!0,this.S(\"ChangedSelection\",this.selection))};\nT.prototype.UA=function(a){this.S(\"ChangingSelection\",this.selection);this.clearSelection(!0);if(Aa(a))for(var b=a.length,c=0;c<b;c++){var d=a[c];d instanceof V||C(\"Diagram.selectCollection given something that is not a Part: \"+d);d.isSelected=!0}else for(a=a.iterator;a.next();)b=a.value,b instanceof V||C(\"Diagram.selectCollection given something that is not a Part: \"+b),b.isSelected=!0;this.S(\"ChangedSelection\",this.selection)};\nT.prototype.clearHighlighteds=function(){var a=this.highlighteds;if(0<a.count){for(var b=a.xa(),c=b.length,d=0;d<c;d++)b[d].isHighlighted=!1;a.ea();a.clear();a.freeze()}};t=T.prototype;t.nA=function(a){null!==a&&a.diagram===this&&(!a.isHighlighted||1<this.highlighteds.count)&&(this.clearHighlighteds(),a.isHighlighted=!0)};\nt.oA=function(a){a=(new G).addAll(a);for(var b=this.highlighteds.copy().Bq(a).iterator;b.next();)b.value.isHighlighted=!1;for(a=a.iterator;a.next();)b=a.value,b instanceof V||C(\"Diagram.highlightCollection given something that is not a Part: \"+b),b.isHighlighted=!0};\nt.scroll=function(a,b,c){void 0===c&&(c=1);var d=\"up\"===b||\"down\"===b,e=0;if(\"pixel\"===a)e=c;else if(\"line\"===a)e=c*(d?this.scrollVerticalLineChange:this.scrollHorizontalLineChange);else if(\"page\"===a)a=d?this.viewportBounds.height:this.viewportBounds.width,a*=this.scale,0!==a&&(e=c*Math.max(a-(d?this.scrollVerticalLineChange:this.scrollHorizontalLineChange),0));else{if(\"document\"===a){e=this.documentBounds;c=this.viewportBounds;d=J.alloc();\"up\"===b?this.position=d.h(c.x,e.y):\"left\"===b?this.position=\nd.h(e.x,c.y):\"down\"===b?this.position=d.h(c.x,e.bottom-c.height):\"right\"===b&&(this.position=d.h(e.right-c.width,c.y));J.free(d);return}C(\"scrolling unit must be 'pixel', 'line', 'page', or 'document', not: \"+a)}e/=this.scale;c=this.position.copy();\"up\"===b?c.y=this.position.y-e:\"down\"===b?c.y=this.position.y+e:\"left\"===b?c.x=this.position.x-e:\"right\"===b?c.x=this.position.x+e:C(\"scrolling direction must be 'up', 'down', 'left', or 'right', not: \"+b);this.position=c};\nt.Vv=function(a){var b=this.viewportBounds;b.De(a)||(a=a.center,a.x-=b.width/2,a.y-=b.height/2,this.position=a)};t.xs=function(a){var b=this.viewportBounds;a=a.center;a.x-=b.width/2;a.y-=b.height/2;this.position=a};t.Iq=function(a){var b=this.tb;b.reset();1!==this.sa&&b.scale(this.sa);var c=this.ka;(0!==c.x||0!==c.y)&&isFinite(c.x)&&isFinite(c.y)&&b.translate(-c.x,-c.y);return a.copy().transform(this.tb)};\nt.cB=function(a){var b=this.tb,c=a.x,d=a.y,e=c+a.width,f=d+a.height,g=b.m11,h=b.m12,k=b.m21,l=b.m22,m=b.dx,n=b.dy,p=c*g+d*k+m;b=c*h+d*l+n;var r=e*g+d*k+m;a=e*h+d*l+n;d=c*g+f*k+m;c=c*h+f*l+n;g=e*g+f*k+m;e=e*h+f*l+n;f=Math.min(p,r);p=Math.max(p,r);r=Math.min(b,a);b=Math.max(b,a);f=Math.min(f,d);p=Math.max(p,d);r=Math.min(r,c);b=Math.max(b,c);f=Math.min(f,g);p=Math.max(p,g);r=Math.min(r,e);b=Math.max(b,e);return new N(f,r,p-f,b-r)};\nt.kt=function(a){var b=this.tb;b.reset();1!==this.sa&&b.scale(this.sa);var c=this.ka;(0!==c.x||0!==c.y)&&isFinite(c.x)&&isFinite(c.y)&&b.translate(-c.x,-c.y);return Ab(a.copy(),this.tb)};function Sj(a){var b=a.isModified;a.wx!==b&&(a.wx=b,a.S(\"Modified\"))}function Tj(a){a=gi.get(a);return null!==a?new a:new hi}\nT.prototype.doModelChanged=function(a){var b=this;if(a.model===this.model){var c=a.change,d=a.propertyName;if(c===de&&\"S\"===d[0])if(\"StartingFirstTransaction\"===d){var e=this;a=this.toolManager;a.mouseDownTools.each(function(a){a.diagram=e});a.mouseMoveTools.each(function(a){a.diagram=e});a.mouseUpTools.each(function(a){a.diagram=e});this.Vc||this.Qf||(this.$k=!0,this.Ln&&(this.eg=!0))}else\"StartingUndo\"===d||\"StartingRedo\"===d?(a=this.animationManager,a.defaultAnimation.isAnimating&&!this.skipsUndoManager&&\na.nc(),this.S(\"ChangingSelection\",this.selection)):\"StartedTransaction\"===d&&(a=this.animationManager,a.defaultAnimation.isAnimating&&!this.skipsUndoManager&&a.nc());else if(this.Z){this.Z=!1;try{if(\"\"===a.modelChange&&c===de){if(\"FinishedUndo\"===d||\"FinishedRedo\"===d)this.S(\"ChangedSelection\",this.selection),hh(this);var f=this.animationManager;\"RolledBackTransaction\"===d&&f.nc();this.$k=!0;this.ed();0!==this.undoManager.transactionLevel&&1!==this.undoManager.transactionLevel||ih(f);\"CommittedTransaction\"===\nd&&this.undoManager.isJustDiscarded&&(this.pe=Math.min(this.pe,this.undoManager.historyIndex-1));\"CommittedTransaction\"!==d&&\"RolledBackTransaction\"!==d||!this.undoManager.isPendingUnmodified||setTimeout(function(){b.isModified=!1},1);var g=a.isTransactionFinished;g&&(Sj(this),this.Ts.clear(),Fh(this.animationManager));if(!this.pu&&g&&this.lastInput.targetDiagram){this.pu=!0;var h=this;ua(function(){h.currentTool.standardMouseOver();h.pu=!1},10)}}}finally{this.Z=!0}}}};\nfunction Aj(a,b){b=b.T.m;for(var c=b.length,d=0;d<c;d++)Uj(a,b[d])}function Uj(a,b){if(b instanceof Vj){var c=b.element;if(null!==c&&c instanceof HTMLImageElement){c.Cg instanceof G&&c.Cg.add(a);var d=b.Gg;null!==d&&!0===d.zr&&null!==b.diagram&&b.diagram.$o.add(b);if(c.Qn)if(c=c.getAttribute(\"src\")||\"\",d=a.$g.H(c),null===d)d=[],d.push(b),a.$g.add(c,d);else{for(a=0;a<d.length;a++)if(d[a]===b)return;d.push(b)}}}}\nfunction Wj(a,b){if(b instanceof Vj){var c=b.element;if(null!==c&&c instanceof HTMLImageElement&&(c.Cg instanceof G&&c.Cg.remove(a),Xj(c),c.Qn)){c=c.getAttribute(\"src\")||\"\";var d=a.$g.H(c);if(null!==d)for(var e=0;e<d.length;e++)if(d[e]===b){d.splice(e,1);0===d.length&&(a.$g.remove(c),Ii(c));break}}}}T.prototype.Hd=function(){this.partManager.Hd()};T.prototype.Wj=function(a,b){this.Ld.Wj(a,b)};T.prototype.Yj=function(a,b){this.Ld.Yj(a,b)};T.prototype.findPartForKey=function(a){return this.partManager.findPartForKey(a)};\nT.prototype.Eb=function(a){return this.partManager.Eb(a)};T.prototype.findLinkForKey=function(a){return this.partManager.findLinkForKey(a)};t=T.prototype;t.vc=function(a){return this.partManager.vc(a)};t.Hi=function(a){return this.partManager.Hi(a)};t.uc=function(a){return this.partManager.uc(a)};t.Ds=function(a){for(var b=[],c=0;c<arguments.length;++c)b[c]=arguments[c];return this.partManager.Ds.apply(this.partManager,b instanceof Array?b:ea(ca(b)))};\nt.Cs=function(a){for(var b=[],c=0;c<arguments.length;++c)b[c]=arguments[c];return this.partManager.Cs.apply(this.partManager,b instanceof Array?b:ea(ca(b)))};function Ji(a){var b=a.ka,c=a.sa;a.vx.h(b.x,b.y,Math.max(a.ua,0)/c,Math.max(a.ta,0)/c)}function vj(a,b){a.vj=!1;var c=a.gr;c.A(b)||(c=c.copy(),a.gr.assign(b),Si(a,!1),a.S(\"DocumentBoundsChanged\",void 0,c),Vi(a))}t.Sa=function(){if(this.vj){var a=N.alloc();vj(this,this.computeBounds(a));N.free(a)}};\nt.Xz=function(){for(var a=new G,b=this.nodes;b.next();){var c=b.value;c.isTopLevel&&a.add(c)}for(b=this.links;b.next();)c=b.value,c.isTopLevel&&a.add(c);return a.iterator};t.Wz=function(){return this.xi.iterator};t.xA=function(a){hh(this);a&&Yj(this,!0);this.Vc?jj(this,!1):(this.$k=!0,rf(this))};function Yj(a,b){for(var c=a.xi.iterator;c.next();)Zj(a,c.value,b);a.layout&&(b?a.layout.isValidLayout=!1:a.layout.B())}\nfunction Zj(a,b,c){if(null!==b){for(var d=b.zl.iterator;d.next();)Zj(a,d.value,c);null!==b.layout&&(c?b.layout.isValidLayout=!1:b.layout.B())}}\nfunction jj(a,b){if(a.Nh&&!a.Gt){var c=a.Z;a.Z=!0;var d=a.undoManager.transactionLevel,e=a.layout,f=a.animationManager;try{0===d&&(a.undoManager.isInternalTransaction=!0,a.wa(\"Layout\"));1>=d&&!f.defaultAnimation.isAnimating&&!f.rb&&(b||gh(f,\"Layout\"));a.Nh=!1;for(var g=a.xi.iterator;g.next();)ak(a,g.value,b,d);e.isValidLayout||(!b||e.isRealtime||null===e.isRealtime||0===d?(e.doLayout(a),hh(a),e.isValidLayout=!0):a.Nh=!0)}finally{b=a.undoManager.isInternalTransaction,0===d&&(a.Xa(\"Layout\"),a.undoManager.isInternalTransaction=\n!1),!b||0!==d&&1!==d||ih(f),a.Z=c}}}function ak(a,b,c,d){if(null!==b){for(var e=b.zl.iterator;e.next();)ak(a,e.value,c,d);e=b.layout;null===e||e.isValidLayout||(!c||e.isRealtime||0===d?(b.Fh=!b.location.u(),e.doLayout(b),b.B(32),lj(a,b),e.isValidLayout=!0):a.Nh=!0)}}t.cA=function(){for(var a=new E,b=this.nodes;b.next();){var c=b.value;c.isTopLevel&&null===c.Ji()&&a.add(c)}return a.iterator};\nfunction pi(a){function b(a){var b=a.toLowerCase(),e=new E;c.add(a,e);c.add(b,e);d.add(a,a);d.add(b,a)}var c=new I,d=new I;b(\"InitialAnimationStarting\");b(\"AnimationStarting\");b(\"AnimationFinished\");b(\"BackgroundSingleClicked\");b(\"BackgroundDoubleClicked\");b(\"BackgroundContextClicked\");b(\"ClipboardChanged\");b(\"ClipboardPasted\");b(\"DocumentBoundsChanged\");b(\"ExternalObjectsDropped\");b(\"GainedFocus\");b(\"InitialLayoutCompleted\");b(\"LayoutCompleted\");b(\"LinkDrawn\");b(\"LinkRelinked\");b(\"LinkReshaped\");\nb(\"LostFocus\");b(\"Modified\");b(\"ObjectSingleClicked\");b(\"ObjectDoubleClicked\");b(\"ObjectContextClicked\");b(\"PartCreated\");b(\"PartResized\");b(\"PartRotated\");b(\"SelectionMoved\");b(\"SelectionCopied\");b(\"SelectionDeleting\");b(\"SelectionDeleted\");b(\"SelectionGrouped\");b(\"SelectionUngrouped\");b(\"ChangingSelection\");b(\"ChangedSelection\");b(\"SubGraphCollapsed\");b(\"SubGraphExpanded\");b(\"TextEdited\");b(\"TreeCollapsed\");b(\"TreeExpanded\");b(\"ViewportBoundsChanged\");b(\"InvalidateDraw\");a.Jw=c;a.Iw=d}\nfunction uj(a,b){var c=a.Iw.H(b);return null!==c?c:a.Iw.H(b.toLowerCase())}function jk(a,b){var c=a.Jw.H(b);if(null!==c)return c;c=a.Jw.H(b.toLowerCase());if(null!==c)return c;C(\"Unknown DiagramEvent name: \"+b)}t.Xj=function(a,b){a=jk(this,a);null!==a&&a.add(b);return this};t.um=function(a,b){a=jk(this,a);null!==a&&a.remove(b)};\nt.S=function(a,b,c){var d=jk(this,a),e=new ae;e.diagram=this;a=uj(this,a);null!==a&&(e.name=a);void 0!==b&&(e.subject=b);void 0!==c&&(e.parameter=c);b=d.length;if(1===b)d.J(0)(e);else if(0!==b)for(d=d.xa(),c=0;c<b;c++)(0,d[c])(e)};function nk(a){if(a.animationManager.isTicking)return!1;var b=a.currentTool;return b===a.toolManager.findTool(\"Dragging\")?!a.ms||b.isComplexRoutingRealtime:!0}t.qk=function(a,b){return ok(this,!1,null,b||null).qk(a.x,a.y,a.width,a.height)};\nT.prototype.computeOccupiedArea=function(a){return this.isVirtualized?this.viewportBounds.copy():this.vj?Ri(this,a):a.assign(this.documentBounds)};\nfunction ok(a,b,c,d){var e=a.si;null===e&&(a.si=e=new pk(a.avoidanceCellSize));if(e.Ms||e.group!==c||e.Fy!==d){e.ly=Math.max(e.it+1,Math.floor(a.avoidanceLimit/a.avoidanceCellSize.width));e.my=Math.max(e.it+1,Math.floor(a.avoidanceLimit/a.avoidanceCellSize.height));null!==c&&(c=qk(a,c));if(null===c){b=N.alloc();a.computeOccupiedArea(b);b.Gc(100,100);e.initialize(b);for(var f=a.nodes;f.next();){var g=f.value,h=g.layer;null!==h&&h.visible&&!h.isTemporary&&rk(a,g,d,b)}N.free(b)}else{0<c.memberParts.count&&\n(b=a.computePartsBounds(c.memberParts,!1),b.Gc(20,20),e.initialize(b));b=N.alloc();for(f=c.memberParts;f.next();)g=f.value,g instanceof W&&rk(a,g,d,b);N.free(b)}e.group=c;e.Fy=d;e.Ms=!1}else b&&sk(e);return e}function qk(a,b){return b.avoidable&&!b.isLinkLabel?b:null!==b.containingGroup?qk(a,b.containingGroup):null}\nfunction rk(a,b,c,d){if(b!==c&&b.isVisible())if(b.avoidable&&!b.isLinkLabel){b=b.getAvoidableRect(d);a=a.si;var e=b.x,f=b.y;if(tk(a,e,f))for(c=(f-a.xd)/a.ec|0,d=Math.min((e+b.width-a.wd)/a.dc|0,a.zi),b=Math.min((f+b.height-a.xd)/a.ec|0,a.Ai),e=(e-a.wd)/a.dc|0;e<=d;e++)if(f=a.Qb[e],f.fill)f.fill(uk,c,b+1);else for(var g=c;g<=b;g++)f[g]=uk}else if(b instanceof hf)for(b=b.memberParts;b.next();)e=b.value,e instanceof W&&rk(a,e,c,d)}\nfunction vk(a,b){null===a.si||a.si.Ms||void 0!==b&&(!b.avoidable||b.isLinkLabel)||(a.si.Ms=!0)}T.prototype.zs=function(a){this.Pq.assign(a);this.computeAutoScrollPosition(this.Pq).Ta(this.position)?this.og():wk(this)};\nfunction wk(a){-1===a.Jk&&(a.Jk=ua(function(){if(-1!==a.Jk&&(a.og(),null!==a.lastInput.event)){var b=a.computeAutoScrollPosition(a.Pq);b.Ta(a.position)||(a.position=b,a.lastInput.documentPoint=a.kt(a.Pq),a.doMouseMove(),a.vj=!0,b=N.alloc(),a.computeBounds(b),b.Nc(a.documentBounds),vj(a,b),N.free(b),a.Uc=!0,a.ed(),wk(a))}},a.Oq))}T.prototype.og=function(){-1!==this.Jk&&(x.clearTimeout(this.Jk),this.Jk=-1)};\nT.prototype.computeAutoScrollPosition=function(a){var b=this.position,c=this.Qq;if(0>=c.top&&0>=c.left&&0>=c.right&&0>=c.bottom)return b;var d=this.viewportBounds,e=this.scale;d=N.allocAt(0,0,d.width*e,d.height*e);var f=J.allocAt(0,0);if(a.x>=d.x&&a.x<d.x+c.left&&this.allowHorizontalScroll){var g=Math.max(this.scrollHorizontalLineChange,1);g|=0;f.x-=g;a.x<d.x+c.left/2&&(f.x-=g);a.x<d.x+c.left/4&&(f.x-=4*g)}else a.x<=d.x+d.width&&a.x>d.x+d.width-c.right&&this.allowHorizontalScroll&&(g=Math.max(this.scrollHorizontalLineChange,\n1),g|=0,f.x+=g,a.x>d.x+d.width-c.right/2&&(f.x+=g),a.x>d.x+d.width-c.right/4&&(f.x+=4*g));a.y>=d.y&&a.y<d.y+c.top&&this.allowVerticalScroll?(g=Math.max(this.scrollVerticalLineChange,1),g|=0,f.y-=g,a.y<d.y+c.top/2&&(f.y-=g),a.y<d.y+c.top/4&&(f.y-=4*g)):a.y<=d.y+d.height&&a.y>d.y+d.height-c.bottom&&this.allowVerticalScroll&&(g=Math.max(this.scrollVerticalLineChange,1),g|=0,f.y+=g,a.y>d.y+d.height-c.bottom/2&&(f.y+=g),a.y>d.y+d.height-c.bottom/4&&(f.y+=4*g));f.Ta(pb)||(b=new J(b.x+f.x/e,b.y+f.y/e));\nN.free(d);J.free(f);return b};t=T.prototype;t.Vs=function(){return null};t.Gv=function(){return null};t.jz=function(a,b){this.Xy.add(a,b)};t.ev=function(a){(this.tx=a)||this.nodes.each(function(a){a instanceof hf&&(a.mr=null)})};\nfunction xk(a,b,c){function d(){var a=+new Date;f=!0;for(g.reset();g.next();)if(!g.value[0].ul){f=!1;break}f||a-l>k?b(c,e,h):x.requestAnimationFrame(d)}for(var e=c.callback,f=!0,g=a.$g.iterator;g.next();)if(!g.value[0].ul){f=!1;break}if(\"function\"!==typeof e||f)return b(c,e,a);var h=a,k=c.callbackTimeout||300,l=+new Date;x.requestAnimationFrame(function(){d()});return null}t.zA=function(a){if(!Jg)return null;void 0===a&&(a={});a.returnType=\"Image\";return this.ny(a)};\nt.ny=function(a){void 0===a&&(a={});return xk(this,this.AA,a)};\nt.AA=function(a,b,c){var d=yk(c,a,\"canvas\",null);if(null===d)return null;c=d.Y.canvas;var e=null;if(null!==c)switch(e=a.returnType,void 0===e?e=\"string\":e=e.toLowerCase(),e){case zk+\"data\":e=d.getImageData(0,0,c.width,c.height);break;case zk:d=(a.document||document).createElement(\"img\");d.src=c.toDataURL(a.type,a.details);e=d;break;case \"blob\":\"function\"!==typeof b&&C('Error: Diagram.makeImageData called with \"returnType: toBlob\", but no required \"callback\" function property defined.');if(\"function\"===\ntypeof c.toBlob)return c.toBlob(b,a.type,a.details),\"toBlob\";if(\"function\"===typeof c.msToBlob)return b(c.msToBlob()),\"msToBlob\";b(null);return null;default:e=c.toDataURL(a.type,a.details)}return\"function\"===typeof b?(b(e),null):e};\nfunction yk(a,b,c,d){a.animationManager.nc();a.ed();if(null===a.Aa)return null;\"object\"!==typeof b&&C(\"properties argument must be an Object.\");var e=b.size||null,f=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(f=\"NaN\");var g=b.maxSize;void 0===b.maxSize&&(g=\"SVG\"===c?new M(Infinity,Infinity):new M(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,r=b.elementFinished||null,q=b.showTemporary;\nvoid 0===q&&(q=!n);b=b.showGrid;void 0===b&&(b=q);null!==e&&isNaN(e.width)&&isNaN(e.height)&&(e=null);\"number\"===typeof l?l=new ic(l):l instanceof ic||C(\"MakeImage padding must be a Margin or a number.\");l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Sb.Ec(!0);n=new Ak(null,p);var u=n.context;if(!(e||f||k||h)){n.width=a.ua+Math.ceil(l.left+l.right);n.height=a.ta+Math.ceil(l.top+l.bottom);if(\"SVG\"===c){if(null===d)return null;d.resize(n.width,\nn.height,n.width,n.height);d.ownerDocument=p;d.gq=r;sj(a,d.context,l,new M(n.width,n.height),a.sa,a.ka,k,m,q,b);return d.context}a.Bn=!1;sj(a,u,l,new M(n.width,n.height),a.sa,a.ka,k,m,q,b);a.Bn=!0;return n.context}var v=a.er,w=a.documentBounds.copy();w.cw(a.mb);if(q)for(var z=a.Na.m,y=z.length,A=0;A<y;A++){var B=z[A];if(B.visible&&B.isTemporary){B=B.Fa.m;for(var F=B.length,K=0;K<F;K++){var S=B[K];S.isInDocumentBounds&&S.isVisible()&&(S=S.actualBounds,S.u()&&w.Nc(S))}}}z=new J(w.x,w.y);if(null!==k){y=\nnew N(0,0,0,0);A=!0;B=k.iterator;for(B.reset();B.next();)F=B.value,F instanceof V&&(K=F.layer,null!==K&&!K.visible||null!==K&&!q&&K.isTemporary||!F.isVisible()||(F=F.actualBounds,F.u()&&(A?(A=!1,y.assign(F)):y.Nc(F))));w.width=y.width;w.height=y.height;z.x=y.x;z.y=y.y}null!==h&&h.u()&&(z=h,f||(f=v));y=h=0;null!==l&&(h=l.left+l.right,y=l.top+l.bottom);A=B=0;null!==e&&(B=e.width,A=e.height,isFinite(B)&&(B=Math.max(0,B-h)),isFinite(A)&&(A=Math.max(0,A-y)));null!==e&&null!==f?(\"NaN\"===f&&(f=v),e.u()?\n(e=B,w=A):isNaN(A)?(e=B,w=w.height*f):(e=w.width*f,w=A)):null!==e?e.u()?(f=Math.min(B/w.width,A/w.height),e=B,w=A):isNaN(A)?(f=B/w.width,e=B,w=w.height*f):(f=A/w.height,e=w.width*f,w=A):null!==f?\"NaN\"===f&&g.u()?(f=Math.min((g.width-h)/w.width,(g.height-y)/w.height),f>v?(f=v,e=w.width,w=w.height):(e=g.width,w=g.height)):(e=w.width*f,w=w.height*f):(f=v,e=w.width,w=w.height);null!==l?(e+=h,w+=y):l=new ic(0);null!==g&&(v=g.width,g=g.height,isNaN(v)&&(v=2E3),isNaN(g)&&(g=2E3),isFinite(v)&&(e=Math.min(e,\nv)),isFinite(g)&&(w=Math.min(w,g)));n.width=Math.ceil(e);n.height=Math.ceil(w);if(\"SVG\"===c){if(null===d)return null;d.resize(n.width,n.height,n.width,n.height);d.ownerDocument=p;d.gq=r;sj(a,d.context,l,new M(Math.ceil(e),Math.ceil(w)),f,z,k,m,q,b);return d.context}a.Bn=!1;sj(a,u,l,new M(Math.ceil(e),Math.ceil(w)),f,z,k,m,q,b);a.Bn=!0;return n.context}\nna.Object.defineProperties(T.prototype,{div:{get:function(){return this.Ea},set:function(a){if(this.Ea!==a){var b=this.Ea;null!==b?(b.F=void 0,b.goDiagram=void 0,b.go=void 0,b.innerHTML=\"\",null!==this.Aa&&(b=this.Aa.La,this.removeEventListener(b,\"pointermove\",this.xk,!1),this.removeEventListener(b,\"pointerdown\",this.wk,!1),this.removeEventListener(b,\"pointerup\",this.zk,!1),this.removeEventListener(b,\"pointerout\",this.yk,!1),this.Aa.Ox()),this.Hl&&(this.Hl.disconnect(),\nthis.Hl=null),b=this.toolManager,null!==b&&(b.mouseDownTools.each(function(a){a.cancelWaitAfter()}),b.mouseMoveTools.each(function(a){a.cancelWaitAfter()}),b.mouseUpTools.each(function(a){a.cancelWaitAfter()})),b.cancelWaitAfter(),this.currentTool.doCancel(),this.Aa=null,this.removeEventListener(x,\"resize\",this.lw,!1),this.removeEventListener(x,\"wheel\",this.tk,!0),se===this&&(se=null)):this.Qf=!1;this.Ea=null;if(null!==a){if(b=a.F)b.div=null;ni(this,a);this.redraw()}}}},Ex:{\nget:function(){return this.Mr}},Pi:{get:function(){return this.Qf}},draggedLink:{get:function(){return this.It},set:function(a){this.It!==a&&(this.It=a,null!==a&&(this.tu=a.fromPort,this.uu=a.toPort))}},sy:{get:function(){return this.tu},set:function(a){this.tu=a}},ty:{get:function(){return this.uu},set:function(a){this.uu=a}},animationManager:{get:function(){return this.Ld}},\nundoManager:{get:function(){return this.Tb.undoManager}},skipsUndoManager:{get:function(){return this.gh},set:function(a){this.gh=a;this.Tb.skipsUndoManager=a}},delaysLayout:{get:function(){return this.Gt},set:function(a){this.Gt=a}},opacity:{get:function(){return this.lb},set:function(a){var b=this.lb;b!==a&&((0>a||1<a)&&xa(a,\"0 <= value <= 1\",T,\"opacity\"),this.lb=a,this.g(\"opacity\",\nb,a),this.N())}},validCycle:{get:function(){return this.Vu},set:function(a){var b=this.Vu;b!==a&&(this.Vu=a,this.g(\"validCycle\",b,a))}},layers:{get:function(){return this.Na.iterator}},isModelReadOnly:{get:function(){var a=this.Tb;return null===a?!1:a.isReadOnly},set:function(a){var b=this.Tb;null!==b&&(b.isReadOnly=a)}},isReadOnly:{get:function(){return this.Mg},set:function(a){var b=\nthis.Mg;b!==a&&(this.Mg=a,this.g(\"isReadOnly\",b,a))}},isEnabled:{get:function(){return this.td},set:function(a){var b=this.td;b!==a&&(this.td=a,this.g(\"isEnabled\",b,a))}},allowClipboard:{get:function(){return this.pt},set:function(a){var b=this.pt;b!==a&&(this.pt=a,this.g(\"allowClipboard\",b,a))}},allowCopy:{get:function(){return this.aj},set:function(a){var b=this.aj;b!==a&&(this.aj=a,this.g(\"allowCopy\",b,a))}},\nallowDelete:{get:function(){return this.bj},set:function(a){var b=this.bj;b!==a&&(this.bj=a,this.g(\"allowDelete\",b,a))}},allowDragOut:{get:function(){return this.qt},set:function(a){var b=this.qt;b!==a&&(this.qt=a,this.g(\"allowDragOut\",b,a))}},allowDrop:{get:function(){return this.rt},set:function(a){var b=this.rt;b!==a&&(this.rt=a,this.g(\"allowDrop\",b,a))}},allowTextEdit:{get:function(){return this.kj},\nset:function(a){var b=this.kj;b!==a&&(this.kj=a,this.g(\"allowTextEdit\",b,a))}},allowGroup:{get:function(){return this.cj},set:function(a){var b=this.cj;b!==a&&(this.cj=a,this.g(\"allowGroup\",b,a))}},allowUngroup:{get:function(){return this.lj},set:function(a){var b=this.lj;b!==a&&(this.lj=a,this.g(\"allowUngroup\",b,a))}},allowInsert:{get:function(){return this.tt},set:function(a){var b=this.tt;b!==a&&(this.tt=\na,this.g(\"allowInsert\",b,a))}},allowLink:{get:function(){return this.dj},set:function(a){var b=this.dj;b!==a&&(this.dj=a,this.g(\"allowLink\",b,a))}},allowRelink:{get:function(){return this.fj},set:function(a){var b=this.fj;b!==a&&(this.fj=a,this.g(\"allowRelink\",b,a))}},allowMove:{get:function(){return this.ej},set:function(a){var b=this.ej;b!==a&&(this.ej=a,this.g(\"allowMove\",b,a))}},allowReshape:{\nget:function(){return this.gj},set:function(a){var b=this.gj;b!==a&&(this.gj=a,this.g(\"allowReshape\",b,a))}},allowResize:{get:function(){return this.hj},set:function(a){var b=this.hj;b!==a&&(this.hj=a,this.g(\"allowResize\",b,a))}},allowRotate:{get:function(){return this.ij},set:function(a){var b=this.ij;b!==a&&(this.ij=a,this.g(\"allowRotate\",b,a))}},allowSelect:{get:function(){return this.jj},set:function(a){var b=\nthis.jj;b!==a&&(this.jj=a,this.g(\"allowSelect\",b,a))}},allowUndo:{get:function(){return this.ut},set:function(a){var b=this.ut;b!==a&&(this.ut=a,this.g(\"allowUndo\",b,a))}},allowZoom:{get:function(){return this.wt},set:function(a){var b=this.wt;b!==a&&(this.wt=a,this.g(\"allowZoom\",b,a))}},hasVerticalScrollbar:{get:function(){return this.Zn},set:function(a){var b=this.Zn;b!==a&&(this.Zn=a,Vi(this),this.N(),this.g(\"hasVerticalScrollbar\",\nb,a),Si(this,!1))}},hasHorizontalScrollbar:{get:function(){return this.Yn},set:function(a){var b=this.Yn;b!==a&&(this.Yn=a,Vi(this),this.N(),this.g(\"hasHorizontalScrollbar\",b,a),Si(this,!1))}},allowHorizontalScroll:{get:function(){return this.st},set:function(a){var b=this.st;b!==a&&(this.st=a,this.g(\"allowHorizontalScroll\",b,a),Si(this,!1))}},allowVerticalScroll:{get:function(){return this.vt},set:function(a){var b=\nthis.vt;b!==a&&(this.vt=a,this.g(\"allowVerticalScroll\",b,a),Si(this,!1))}},scrollHorizontalLineChange:{get:function(){return this.Hu},set:function(a){var b=this.Hu;b!==a&&(0>a&&xa(a,\">= 0\",T,\"scrollHorizontalLineChange\"),this.Hu=a,this.g(\"scrollHorizontalLineChange\",b,a))}},scrollVerticalLineChange:{get:function(){return this.Lu},set:function(a){var b=this.Lu;b!==a&&(0>a&&xa(a,\">= 0\",T,\"scrollVerticalLineChange\"),this.Lu=a,this.g(\"scrollVerticalLineChange\",\nb,a))}},lastInput:{get:function(){return this.Dj},set:function(a){this.Dj=a}},previousInput:{get:function(){return this.bh},set:function(a){this.bh=a}},firstInput:{get:function(){return this.pr},set:function(a){this.pr=a}},currentCursor:{get:function(){return this.Dt},set:function(a){\"\"===a&&(a=this.dr);if(this.Dt!==a){var b=this.Aa,c=this.Ea;if(null!==b&&null!==c){this.Dt=a;var d=\nb.style.cursor;b.style.cursor=a;c.style.cursor=a;b.style.cursor===d&&(b.style.cursor=\"-webkit-\"+a,c.style.cursor=\"-webkit-\"+a,b.style.cursor===d&&(b.style.cursor=\"-moz-\"+a,c.style.cursor=\"-moz-\"+a,b.style.cursor===d&&(b.style.cursor=a,c.style.cursor=a)))}}}},defaultCursor:{get:function(){return this.dr},set:function(a){\"\"===a&&(a=\"auto\");var b=this.dr;b!==a&&(this.dr=a,this.g(\"defaultCursor\",b,a))}},click:{get:function(){return this.vg},\nset:function(a){var b=this.vg;b!==a&&(this.vg=a,this.g(\"click\",b,a))}},doubleClick:{get:function(){return this.Dg},set:function(a){var b=this.Dg;b!==a&&(this.Dg=a,this.g(\"doubleClick\",b,a))}},contextClick:{get:function(){return this.xg},set:function(a){var b=this.xg;b!==a&&(this.xg=a,this.g(\"contextClick\",b,a))}},mouseOver:{get:function(){return this.Wg},set:function(a){var b=this.Wg;b!==a&&(this.Wg=a,this.g(\"mouseOver\",\nb,a))}},mouseHover:{get:function(){return this.Ug},set:function(a){var b=this.Ug;b!==a&&(this.Ug=a,this.g(\"mouseHover\",b,a))}},mouseHold:{get:function(){return this.Tg},set:function(a){var b=this.Tg;b!==a&&(this.Tg=a,this.g(\"mouseHold\",b,a))}},mouseDragOver:{get:function(){return this.ou},set:function(a){var b=this.ou;b!==a&&(this.ou=a,this.g(\"mouseDragOver\",b,a))}},mouseDrop:{get:function(){return this.Rg},\nset:function(a){var b=this.Rg;b!==a&&(this.Rg=a,this.g(\"mouseDrop\",b,a))}},handlesDragDropForTopLevelParts:{get:function(){return this.Tt},set:function(a){var b=this.Tt;b!==a&&(this.Tt=a,this.g(\"handlesDragDropForTopLevelParts\",b,a))}},mouseEnter:{get:function(){return this.Sg},set:function(a){var b=this.Sg;b!==a&&(this.Sg=a,this.g(\"mouseEnter\",b,a))}},mouseLeave:{get:function(){return this.Vg},set:function(a){var b=\nthis.Vg;b!==a&&(this.Vg=a,this.g(\"mouseLeave\",b,a))}},toolTip:{get:function(){return this.qh},set:function(a){var b=this.qh;b!==a&&(this.qh=a,this.g(\"toolTip\",b,a))}},contextMenu:{get:function(){return this.yg},set:function(a){var b=this.yg;b!==a&&(this.yg=a,this.g(\"contextMenu\",b,a))}},commandHandler:{get:function(){return this.Oc},set:function(a){this.Oc!==a&&(this.Oc=a,a.Ke(this))}},toolManager:{\nget:function(){return this.Zi},set:function(a){this.Zi!==a&&(this.Zi=a,a.diagram=this)}},defaultTool:{get:function(){return this.Pc},set:function(a){var b=this.Pc;b!==a&&(this.Pc=a,a.diagram=this,this.currentTool===b&&(this.currentTool=a))}},currentTool:{get:function(){return this.yc},set:function(a){var b=this.yc;b&&(b.isActive&&b.doDeactivate(),b.cancelWaitAfter(),b.doStop());null===a&&(a=this.defaultTool);null!==a&&(this.yc=\na,a.diagram=this,a.doStart())}},selection:{get:function(){return this.kx}},maxSelectionCount:{get:function(){return this.ju},set:function(a){var b=this.ju;if(b!==a)if(0<=a&&!isNaN(a)){if(this.ju=a,this.g(\"maxSelectionCount\",b,a),!this.undoManager.isUndoingRedoing&&(a=this.selection.count-a,0<a)){this.S(\"ChangingSelection\",this.selection);b=this.selection.xa();for(var c=0;c<a;c++)b[c].isSelected=!1;this.S(\"ChangedSelection\",this.selection)}}else xa(a,\n\">= 0\",T,\"maxSelectionCount\")}},nodeSelectionAdornmentTemplate:{get:function(){return this.qu},set:function(a){var b=this.qu;b!==a&&(this.qu=a,this.g(\"nodeSelectionAdornmentTemplate\",b,a))}},groupSelectionAdornmentTemplate:{get:function(){return this.St},set:function(a){var b=this.St;b!==a&&(this.St=a,this.g(\"groupSelectionAdornmentTemplate\",b,a))}},linkSelectionAdornmentTemplate:{get:function(){return this.gu},\nset:function(a){var b=this.gu;b!==a&&(this.gu=a,this.g(\"linkSelectionAdornmentTemplate\",b,a))}},highlighteds:{get:function(){return this.Pw}},isModified:{get:function(){var a=this.undoManager;return a.isEnabled?null!==a.currentTransaction?!0:this.fo&&this.pe!==a.historyIndex:this.fo},set:function(a){if(this.fo!==a){this.fo=a;var b=this.undoManager;!a&&b.isEnabled&&(this.pe=b.historyIndex);a||Sj(this)}}},model:{\nget:function(){return this.Tb},set:function(a){var b=this.Tb;if(b!==a){this.currentTool.doCancel();b&&b.undoManager!==a.undoManager&&b.undoManager.isInTransaction&&C(\"Do not replace a Diagram.model while a transaction is in progress.\");this.animationManager.nc(!0);var c=Hi(this,!0);this.Qf=!1;this.Ln=!0;this.pe=-2;this.eg=!1;var d=this.ob;this.ob=!0;gh(this.animationManager,\"Model\");b&&(null!==this.$e&&this.$e.each(function(a){b.Bk(a)}),b.Bk(this.Ih));this.Tb=a;this.partManager=Tj(this.Tb.type);for(var e=\n0;e<c.length;e++)this.add(c[e]);a.uh(this.Kd);this.partManager.addAllModeledParts();a.Bk(this.Kd);a.uh(this.Ih);null!==this.$e&&this.$e.each(function(b){a.uh(b)});this.ob=d;this.Pa();this.ob||this.N();b&&a.undoManager.copyProperties(b.undoManager)}}},Z:{get:function(){return this.Tw},set:function(a){this.Tw=a}},Ts:{get:function(){return this.Wy}},skipsModelSourceBindings:{get:function(){return this.lx},set:function(a){this.lx=\na}},ht:{get:function(){return this.Nu},set:function(a){this.Nu=a}},nodeTemplate:{get:function(){return this.Yg.H(\"\")},set:function(a){var b=this.Yg.H(\"\");b!==a&&(this.Yg.add(\"\",a),this.g(\"nodeTemplate\",b,a),this.undoManager.isUndoingRedoing||this.Hd())}},nodeTemplateMap:{get:function(){return this.Yg},set:function(a){var b=this.Yg;b!==a&&(this.Yg=a,this.g(\"nodeTemplateMap\",b,a),this.undoManager.isUndoingRedoing||\nthis.Hd())}},groupTemplate:{get:function(){return this.uj.H(\"\")},set:function(a){var b=this.uj.H(\"\");b!==a&&(this.uj.add(\"\",a),this.g(\"groupTemplate\",b,a),this.undoManager.isUndoingRedoing||this.Hd())}},groupTemplateMap:{get:function(){return this.uj},set:function(a){var b=this.uj;b!==a&&(this.uj=a,this.g(\"groupTemplateMap\",b,a),this.undoManager.isUndoingRedoing||this.Hd())}},linkTemplate:{get:function(){return this.hi.H(\"\")},\nset:function(a){var b=this.hi.H(\"\");b!==a&&(this.hi.add(\"\",a),this.g(\"linkTemplate\",b,a),this.undoManager.isUndoingRedoing||this.Hd())}},linkTemplateMap:{get:function(){return this.hi},set:function(a){var b=this.hi;b!==a&&(this.hi=a,this.g(\"linkTemplateMap\",b,a),this.undoManager.isUndoingRedoing||this.Hd())}},isMouseCaptured:{get:function(){return this.Sw},set:function(a){var b=this.Aa;null!==b&&(b=b.La,b instanceof SVGElement||(a?(this.lastInput.bubbles=\n!1,this.removeEventListener(b,\"pointermove\",this.xk,!1),this.removeEventListener(b,\"pointerdown\",this.wk,!1),this.removeEventListener(b,\"pointerup\",this.zk,!1),this.removeEventListener(b,\"pointerout\",this.yk,!1),this.addEventListener(x,\"pointermove\",this.xk,!0),this.addEventListener(x,\"pointerdown\",this.wk,!0),this.addEventListener(x,\"pointerup\",this.zk,!0),this.addEventListener(x,\"pointerout\",this.yk,!0),this.removeEventListener(b,\"wheel\",this.tk,!1),this.addEventListener(x,\"wheel\",this.tk,!0),this.addEventListener(x,\n\"selectstart\",this.preventDefault,!1)):(this.removeEventListener(x,\"pointermove\",this.xk,!0),this.removeEventListener(x,\"pointerdown\",this.wk,!0),this.removeEventListener(x,\"pointerup\",this.zk,!0),this.removeEventListener(x,\"pointerout\",this.yk,!0),this.addEventListener(b,\"pointermove\",this.xk,!1),this.addEventListener(b,\"pointerdown\",this.wk,!1),this.addEventListener(b,\"pointerup\",this.zk,!1),this.addEventListener(b,\"pointerout\",this.yk,!1),this.removeEventListener(x,\"wheel\",this.tk,!0),this.removeEventListener(x,\n\"selectstart\",this.preventDefault,!1),this.addEventListener(b,\"wheel\",this.tk,!1)),this.Sw=a))}},position:{get:function(){return this.ka},set:function(a){var b=J.alloc().assign(this.ka);if(!b.A(a)){var c=this.viewportBounds.copy();this.ka.assign(a);Ih(this.animationManager,b,this.ka);this.ob||null===this.Aa&&!this.Rp.u()?Ji(this):(this.ob=!0,a=this.scale,Ui(this,this.gr,this.ua/a,this.ta/a,this.Qk,!1),this.ob=!1);if(!this.ob)this.onViewportBoundsChanged(c,this.viewportBounds,\nthis.sa,!1)}J.free(b)}},initialPosition:{get:function(){return this.Vt},set:function(a){this.Vt.A(a)||(this.Vt=a.I())}},initialScale:{get:function(){return this.Wt},set:function(a){this.Wt!==a&&(this.Wt=a)}},grid:{get:function(){null===this.Vd&&(this.Vd=Mi(this));return this.Vd},set:function(a){var b=this.Vd;if(b!==a){null===b&&(b=this.Vd=Mi(this));a.type!==X.Grid&&C(\"Diagram.grid must be a Panel of type Panel.Grid\");\nvar c=b.panel;null!==c&&c.remove(b);this.Vd=a;a.name=\"GRID\";null!==c&&c.add(a);ij(this);this.N();this.g(\"grid\",b,a)}}},viewportBounds:{get:function(){return this.vx}},viewSize:{get:function(){return this.Rp},set:function(a){var b=this.viewSize;b.A(a)||(this.Rp=a=a.I(),this.ta=this.ua=0,a.u()?(this.ua=a.width,this.ta=a.height):null!==this.Ea&&(this.ua=this.Ea.clientWidth||1,this.ta=this.Ea.clientHeight||1),Ji(this),this.Pa(),this.g(\"viewSize\",\nb,a),this.redraw())}},fixedBounds:{get:function(){return this.Qt},set:function(a){var b=this.Qt;b.A(a)||(-Infinity!==a.width&&Infinity!==a.height&&-Infinity!==a.height||C(\"fixedBounds width/height must not be Infinity\"),this.Qt=a=a.I(),this.Pa(),this.g(\"fixedBounds\",b,a))}},scrollMargin:{get:function(){return this.Rj},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.Rj;b.A(a)||(this.Rj=a=a.I(),this.g(\"scrollMargin\",b,a),this.Aq())}},\nscrollMode:{get:function(){return this.Sj},set:function(a){var b=this.Sj;b!==a&&(this.Sj=a,a===Mh&&Si(this,!1),this.g(\"scrollMode\",b,a),this.N())}},scrollsPageOnFocus:{get:function(){return this.Mu},set:function(a){var b=this.Mu;b!==a&&(this.Mu=a,this.g(\"scrollsPageOnFocus\",b,a))}},positionComputation:{get:function(){return this.xu},set:function(a){var b=this.xu;b!==a&&(this.xu=a,Si(this,!1),this.g(\"positionComputation\",\nb,a))}},scaleComputation:{get:function(){return this.Eu},set:function(a){var b=this.Eu;b!==a&&(this.Eu=a,Qj(this,this.scale,this.scale),this.g(\"scaleComputation\",b,a))}},documentBounds:{get:function(){return this.gr}},isVirtualized:{get:function(){return this.eu},set:function(a){var b=this.eu;b!==a&&(this.eu=a,this.g(\"isVirtualized\",b,a))}},scale:{get:function(){return this.sa},\nset:function(a){var b=this.sa;b!==a&&Qj(this,b,a)}},defaultScale:{get:function(){return this.er},set:function(a){this.er=a}},autoScale:{get:function(){return this.Oh},set:function(a){var b=this.Oh;b!==a&&(this.Oh=a,this.g(\"autoScale\",b,a),a!==mh&&Si(this,!1))}},initialAutoScale:{get:function(){return this.Lg},set:function(a){var b=this.Lg;b!==a&&(this.Lg=a,this.g(\"initialAutoScale\",b,a))}},initialViewportSpot:{\nget:function(){return this.Xt},set:function(a){var b=this.Xt;b!==a&&(a.hb()||C(\"initialViewportSpot must be a specific Spot: \"+a),this.Xt=a,this.g(\"initialViewportSpot\",b,a))}},initialDocumentSpot:{get:function(){return this.Ut},set:function(a){var b=this.Ut;b!==a&&(a.hb()||C(\"initialViewportSpot must be a specific Spot: \"+a),this.Ut=a,this.g(\"initialDocumentSpot\",b,a))}},minScale:{get:function(){return this.mu},set:function(a){var b=\nthis.mu;b!==a&&(0<a?(this.mu=a,this.g(\"minScale\",b,a),a>this.scale&&(this.scale=a)):xa(a,\"> 0\",T,\"minScale\"))}},maxScale:{get:function(){return this.iu},set:function(a){var b=this.iu;b!==a&&(0<a?(this.iu=a,this.g(\"maxScale\",b,a),a<this.scale&&(this.scale=a)):xa(a,\"> 0\",T,\"maxScale\"))}},zoomPoint:{get:function(){return this.Yu},set:function(a){this.Yu.A(a)||(this.Yu=a=a.I())}},contentAlignment:{get:function(){return this.Qk},\nset:function(a){var b=this.Qk;b.A(a)||(this.Qk=a=a.I(),this.g(\"contentAlignment\",b,a),Si(this,!1))}},initialContentAlignment:{get:function(){return this.vr},set:function(a){var b=this.vr;b.A(a)||(this.vr=a=a.I(),this.g(\"initialContentAlignment\",b,a))}},padding:{get:function(){return this.mb},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.mb;b.A(a)||(this.mb=a=a.I(),this.Pa(),this.g(\"padding\",b,a))}},partManager:{\nget:function(){return this.Jh},set:function(a){var b=this.Jh;b!==a&&(null!==a.diagram&&C(\"Cannot share PartManagers between Diagrams: \"+a.toString()),b&&b.Ke(null),this.Jh=a,a.Ke(this))}},nodes:{get:function(){return this.partManager.nodes.iterator}},links:{get:function(){return this.partManager.links.iterator}},parts:{get:function(){return this.partManager.parts.iterator}},layout:{\nget:function(){return this.Ac},set:function(a){var b=this.Ac;b!==a&&(this.Ac=a,a.diagram=this,a.group=null,this.Nh=!0,this.g(\"layout\",b,a),this.Fb())}},isTreePathToChildren:{get:function(){return this.du},set:function(a){var b=this.du;if(b!==a&&(this.du=a,this.g(\"isTreePathToChildren\",b,a),!this.undoManager.isUndoingRedoing))for(a=this.nodes;a.next();)Bk(a.value)}},treeCollapsePolicy:{get:function(){return this.Tu},set:function(a){var b=\nthis.Tu;b!==a&&(a!==qi&&a!==Ck&&a!==Dk&&C(\"Unknown Diagram.treeCollapsePolicy: \"+a),this.Tu=a,this.g(\"treeCollapsePolicy\",b,a))}},He:{get:function(){return this.Rw},set:function(a){this.Rw=a}},avoidanceCellSize:{get:function(){return this.Bw},set:function(a){this.si=null;this.Bw=new M(Math.max(1,a.width),Math.max(1,a.height))}},avoidanceLimit:{get:function(){return this.Cw},set:function(a){this.Cw=Math.max(1,\na)}},autoScrollInterval:{get:function(){return this.Oq},set:function(a){var b=this.Oq;b!==a&&(this.Oq=a,this.g(\"autoScrollInterval\",b,a))}},autoScrollRegion:{get:function(){return this.Qq},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.Qq;b.A(a)||(this.Qq=a=a.I(),this.Pa(),this.g(\"autoScrollRegion\",b,a))}}});\nna.Object.defineProperties(T,{licenseKey:{get:function(){return Ek.Xb()},set:function(a){Ek.add(a.replace(/\\s/g,\"\"))}},version:{get:function(){return Fk}}});T.prototype.makeImageData=T.prototype.ny;T.prototype.makeImage=T.prototype.zA;T.prototype.cacheGroupExternalLinks=T.prototype.ev;T.prototype.addRenderer=T.prototype.jz;T.prototype.makeSVG=T.prototype.Gv;T.prototype.makeSvg=T.prototype.Vs;T.prototype.stopAutoScroll=T.prototype.og;\nT.prototype.doAutoScroll=T.prototype.zs;T.prototype.isUnoccupied=T.prototype.qk;T.prototype.raiseDiagramEvent=T.prototype.S;T.prototype.removeDiagramListener=T.prototype.um;T.prototype.addDiagramListener=T.prototype.Xj;T.prototype.findTreeRoots=T.prototype.cA;T.prototype.layoutDiagram=T.prototype.xA;T.prototype.findTopLevelGroups=T.prototype.Wz;T.prototype.findTopLevelNodesAndLinks=T.prototype.Xz;T.prototype.ensureBounds=T.prototype.Sa;T.prototype.findLinksByExample=T.prototype.Cs;\nT.prototype.findNodesByExample=T.prototype.Ds;T.prototype.findLinkForData=T.prototype.uc;T.prototype.findNodeForData=T.prototype.Hi;T.prototype.findPartForData=T.prototype.vc;T.prototype.findLinkForKey=T.prototype.findLinkForKey;T.prototype.findNodeForKey=T.prototype.Eb;T.prototype.findPartForKey=T.prototype.findPartForKey;T.prototype.rebuildParts=T.prototype.Hd;T.prototype.transformViewToDoc=T.prototype.kt;T.prototype.transformRectDocToView=T.prototype.cB;T.prototype.transformDocToView=T.prototype.Iq;\nT.prototype.centerRect=T.prototype.xs;T.prototype.scrollToRect=T.prototype.Vv;T.prototype.scroll=T.prototype.scroll;T.prototype.highlightCollection=T.prototype.oA;T.prototype.highlight=T.prototype.nA;T.prototype.selectCollection=T.prototype.UA;T.prototype.select=T.prototype.select;T.prototype.updateAllRelationshipsFromData=T.prototype.Lq;T.prototype.updateAllTargetBindings=T.prototype.updateAllTargetBindings;T.prototype.commit=T.prototype.commit;T.prototype.rollbackTransaction=T.prototype.Df;\nT.prototype.commitTransaction=T.prototype.Xa;T.prototype.startTransaction=T.prototype.wa;T.prototype.raiseChanged=T.prototype.g;T.prototype.raiseChangedEvent=T.prototype.Va;T.prototype.removeChangedListener=T.prototype.Bk;T.prototype.addChangedListener=T.prototype.uh;T.prototype.removeModelChangedListener=T.prototype.PA;T.prototype.addModelChangedListener=T.prototype.Bx;T.prototype.findLayer=T.prototype.ik;T.prototype.removeLayer=T.prototype.NA;T.prototype.addLayerAfter=T.prototype.fz;\nT.prototype.addLayerBefore=T.prototype.zx;T.prototype.addLayer=T.prototype.bm;T.prototype.moveParts=T.prototype.moveParts;T.prototype.copyParts=T.prototype.ek;T.prototype.removeParts=T.prototype.bt;T.prototype.remove=T.prototype.remove;T.prototype.add=T.prototype.add;T.prototype.clearDelayedGeometries=T.prototype.fv;T.prototype.setProperties=T.prototype.Hm;T.prototype.attach=T.prototype.dv;T.prototype.set=T.prototype.set;T.prototype.resetInputOptions=T.prototype.yy;T.prototype.setInputOption=T.prototype.VA;\nT.prototype.getInputOption=T.prototype.km;T.prototype.resetRenderingHints=T.prototype.zy;T.prototype.setRenderingHint=T.prototype.Dy;T.prototype.getRenderingHint=T.prototype.Fe;T.prototype.maybeUpdate=T.prototype.ed;T.prototype.requestUpdate=T.prototype.Fb;T.prototype.delayInitialization=T.prototype.Bz;T.prototype.isUpdateRequested=T.prototype.tA;T.prototype.invalidateDocumentBounds=T.prototype.Pa;T.prototype.findObjectsNear=T.prototype.kg;T.prototype.findPartsNear=T.prototype.Sz;\nT.prototype.findObjectsIn=T.prototype.vf;T.prototype.findPartsIn=T.prototype.Vx;T.prototype.findObjectsAt=T.prototype.Ii;T.prototype.findPartsAt=T.prototype.Rz;T.prototype.findObjectAt=T.prototype.Wb;T.prototype.findPartAt=T.prototype.im;T.prototype.focusObject=T.prototype.dA;T.prototype.alignDocument=T.prototype.lz;T.prototype.zoomToRect=T.prototype.gB;T.prototype.zoomToFit=T.prototype.zoomToFit;T.prototype.diagramScroll=T.prototype.Mx;T.prototype.focus=T.prototype.focus;\nvar gi=new I,Ki=null,Jg=void 0!==x.document,Ei=null,Gi=\"\",mh=new D(T,\"None\",0),Xi=new D(T,\"Uniform\",1),Yi=new D(T,\"UniformToFill\",2),wf=new D(T,\"CycleAll\",10),Kf=new D(T,\"CycleNotDirected\",11),Mf=new D(T,\"CycleNotDirectedFast\",12),Nf=new D(T,\"CycleNotUndirected\",13),Hf=new D(T,\"CycleDestinationTree\",14),Jf=new D(T,\"CycleSourceTree\",15),Mh=new D(T,\"DocumentScroll\",1),Oh=new D(T,\"InfiniteScroll\",2),qi=new D(T,\"TreeParentCollapsed\",21),Ck=new D(T,\"AllParentsCollapsed\",22),Dk=new D(T,\"AnyParentsCollapsed\",\n23),Ek=new E,Fk=\"2.2.9\",zk=\"image\",Gk=null,ei=!1;\nfunction fi(){if(Jg){var a=x.document.createElement(\"canvas\"),b=a.getContext(\"2d\"),c=Pa(\"7ca11abfd022028846\");b[c]=Pa(\"398c3597c01238\");for(var d=[\"5da73c80a36455d6038e4972187c3cae51fd22\",sa.Dx+\"4ae6247590da4bb21c324ba3a84e385776\",qd.xF+\"fb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387\",L.za],e=1;5>e;e++)b[Pa(\"7ca11abfd7330390\")](Pa(d[e-1]),10,15*e);b[c]=Pa(\"39f046ebb36e4b\");for(c=1;5>c;c++)b[Pa(\"7ca11abfd7330390\")](Pa(d[c-1]),10,15*c);if(4!==d.length||\"5\"!==d[0][0]||\"7\"!==d[3][0])qd.prototype.Ed=qd.prototype.Fx;\nGk=a}}T.className=\"Diagram\";T.fromDiv=function(a){var b=a;\"string\"===typeof a&&(b=x.document.getElementById(a));return b instanceof HTMLDivElement&&b.F instanceof T?b.F:null};T.inherit=function(a,b){function c(){}if(Object.getPrototypeOf(a).prototype)throw Error(\"Used go.Diagram.inherit defining already defined class \\n\"+a);c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a};T.useDOM=function(a){Jg=a?void 0!==x.document:!1};T.isUsingDOM=function(){return Jg};T.None=mh;T.Uniform=Xi;\nT.UniformToFill=Yi;T.CycleAll=wf;T.CycleNotDirected=Kf;T.CycleNotDirectedFast=Mf;T.CycleNotUndirected=Nf;T.CycleDestinationTree=Hf;T.CycleSourceTree=Jf;T.DocumentScroll=Mh;T.InfiniteScroll=Oh;T.TreeParentCollapsed=qi;T.AllParentsCollapsed=Ck;T.AnyParentsCollapsed=Dk;function mi(){this.az=null;this.j=\"zz@orderNum\";\"63ad05bbe23a1786468a4c741b6d2\"===this._tk?this.hd=this.j=!0:this.hd=null}\nfunction rj(a,b){b.Sb.setTransform(b.ac,0,0,b.ac,0,0);b.Sb.Bd();if(null===a.hd)a:{b=\"f\";var c=x[Pa(\"76a715b2f73f148a\")][Pa(\"72ba13b5\")];a.hd=!0;if(Jg){var d=T[Pa(\"76a115b6ed251eaf4692\")];if(d)for(var e=Ek.iterator;e.next();){d=e.value;d=Pa(d).split(Pa(\"39e9\"));if(6>d.length)break;var f=Pa(d[1]).split(\".\");if(\"7da71ca0\"!==d[4])break;var g=Pa(sa[Pa(\"6cae19\")]).split(\".\");if(f[0]>g[0]||f[0]===g[0]&&f[1]>=g[1]){var h=x[Pa(\"74a900bae4370f8b51\")][Pa(\"6fbb13a1c2311e8a57\")].toLowerCase();g=h[Pa(\"73a612b6fb191d\")](Pa(\"3aad1ab6e022098b4dc4\"));\nf=Pa(d[2]);if(-1<g&&(h=h[Pa(\"73a612b6fb191d\")](f.toLowerCase()+\"/\"),a.hd=!(-1<h&&h<g),!a.hd))break;g=c[Pa(\"76ad18b4f73e\")];for(h=c[Pa(\"73a612b6fb191d\")](Pa(\"35e7\"))+2;h<g;h++)b+=c[h];g=b[Pa(\"73a612b6fb191d\")](f);0>g&&f!==Pa(\"7da71ca0ad381e90\")&&(g=b[Pa(\"73a612b6fb191d\")](Pa(\"76a715b2ef3e149757\")));0>g&&(g=b[Pa(\"73a612b6fb191d\")](Pa(\"76a715b2ef3e149757\")));0>g&&(g=c[Pa(\"73a612b6fb191d\")](Pa(\"7baa19a6f76c1988428554\")));a.hd=!(0<=g&&g<b[Pa(\"73a612b6fb191d\")](Pa(\"35\"))||-1===b[Pa(\"73a612b6fb191d\")](Pa(\"35\")));\nif(!a.hd)break;if(c[Pa(\"73a612b6fb191d\")](Pa(\"7fb002b6ed25128b4da25b2e\"))&&c[Pa(\"73a612b6fb191d\")](Pa(\"75ba1beee63a1e875799507d\"))&&(a.hd=!(-1<c[Pa(\"73a612b6fb191d\")](f)),!a.hd))break;if(\"#\"===f[0]){g=x.document.createElement(\"div\");for(var k=d[0].replace(/[A-Za-z]/g,\"\");4>k.length;)k+=\"9\";h=k;k=k.substr(k.length-4);d=\"\";d+=[\"gsh\",\"gsf\"][parseInt(k.substr(0,1),10)%2];d+=[\"Header\",\"Background\",\"Display\",\"Feedback\"][parseInt(k.substr(0,1),10)%4];g[Pa(\"79a417a0f0181a8946\")]=d;if(x.document[Pa(\"78a712aa\")]){x.document[Pa(\"78a712aa\")][Pa(\"7bb806b6ed32388c4a875b\")](g);\nk=x.getComputedStyle(g).getPropertyValue(Pa(\"78a704b7e62456904c9b12701b6532a8\"));var l=x.getComputedStyle(g).getPropertyValue(Pa(\"75b817b0ea2202\"));x.document[Pa(\"78a712aa\")][Pa(\"68ad1bbcf533388c4a875b\")](g);if(k)if(g=x[Pa(\"77a902b0eb1b1e804a8a\")],l===\"0.\"+parseInt(h,10)%100||-1!==k.indexOf(parseInt(f[1]+f[2],16))&&-1!==k.indexOf(parseInt(f[3]+f[4],16))){a.hd=!1;break}else if(g&&g(Pa(\"32ae19a1e0331fc94084537c067a67fa59f1386b89d006\")).matches)for(d=\".\"+d,f=0;f<document.styleSheets.length;f++){g=document.styleSheets[f].rules||\ndocument.styleSheets[f].cssRules;for(var m in g)if(d===g[m].selectorText){a.hd=!1;break a}}}else a.hd=null,a.hd=!1}}}else{m=c[Pa(\"76ad18b4f73e\")];for(e=c[Pa(\"73a612b6fb191d\")](Pa(\"35e7\"))+2;e<m;e++)b+=c[e];c=b[Pa(\"73a612b6fb191d\")](Pa(\"7da71ca0ad381e90\"));a.hd=!(0<=c&&c<b[Pa(\"73a612b6fb191d\")](Pa(\"35\")))}}}return 0<a.hd&&a!==a.az?!0:!1}\nfunction ni(a,b){if(Jg){void 0!==b&&null!==b||C(\"Diagram setup requires an argument DIV.\");null!==a.Ea&&C(\"Diagram has already completed setup.\");\"string\"===typeof b?a.Ea=x.document.getElementById(b):b instanceof HTMLDivElement?a.Ea=b:C(\"No DIV or DIV id supplied: \"+b);null===a.Ea&&C(\"Invalid DIV id; could not get element with id: \"+b);void 0!==a.Ea.F&&C(\"Invalid div id; div already has a Diagram associated with it.\");if(!a.Hl&&x.ResizeObserver){var c=ta(function(){a.Fb()},250);a.Hl=new x.ResizeObserver(function(){c()});\na.Hl.observe(a.Ea)}\"static\"===x.getComputedStyle(a.Ea,null).position&&(a.Ea.style.position=\"relative\");b=5;var d=\"rgba(2\"+b+\"5, 255, 255, 0)\";b--;a.Ea.style[\"-webkit-tap-highlight-color\"]=d;a.Ea.innerHTML=\"\";a.Ea.F=a;a.Ea.goDiagram=a;a.Ea.go=x.go;var e=a.ns?new wj(a):new Ak(a);void 0!==e.style&&(e.style.position=\"absolute\",e.style.top=\"0px\",e.style.left=\"0px\",\"rtl\"===x.getComputedStyle(a.Ea,null).getPropertyValue(\"direction\")&&(a.io=!0),e.style.zIndex=\"2\",e.style.userSelect=\"none\",e.style.MozUserSelect=\n\"none\",e.style.touchAction=\"none\");a.Aa=e;a.Sb=e.context;d=a.Sb;a.ac=a.computePixelRatio();a.viewSize.u()||(a.ua=a.Ea.clientWidth||1,a.ta=a.Ea.clientHeight||1);yj(a,a.ua,a.ta);a.Ea.insertBefore(e.La,a.Ea.firstChild);e=new Ak(null);e.width=1;e.height=1;a.Kw=e;a.Ty=e.context;if(Jg){e=va(\"div\");var f=va(\"div\");e.style.position=\"absolute\";e.style.overflow=\"auto\";e.style.width=a.ua+\"px\";e.style.height=a.ta+\"px\";e.style.zIndex=\"1\";f.style.position=\"absolute\";f.style.width=\"1px\";f.style.height=\"1px\";a.Ea.appendChild(e);\ne.appendChild(f);e.onscroll=Ni;e.addEventListener(\"pointerdown\",Pi);e.F=a;e.Zy=!0;e.$y=!0;a.Ju=e;a.Gu=f}a.Aq=ta(function(){a.ti=null;a.N()},300);a.lw=ta(function(){nh(a)},250);a.preventDefault=function(a){a.preventDefault();return!1};a.tk=function(b){if(a.isEnabled){var c=bj(a,b,!0);c.bubbles=!0;var d=0,e=0;c.delta=0;void 0!==b.deltaX?(0!==b.deltaX&&(d=0<b.deltaX?1:-1),0!==b.deltaY&&(e=0<b.deltaY?1:-1),c.delta=Math.abs(b.deltaX)>Math.abs(b.deltaY)?-d:-e):void 0!==b.wheelDeltaX?(0!==b.wheelDeltaX&&\n(d=0<b.wheelDeltaX?-1:1),0!==b.wheelDeltaY&&(e=0<b.wheelDeltaY?-1:1),c.delta=Math.abs(b.wheelDeltaX)>Math.abs(b.wheelDeltaY)?-d:-e):void 0!==b.wheelDelta&&0!==b.wheelDelta&&(c.delta=0<b.wheelDelta?1:-1);a.doMouseWheel();fj(c,b)}};a.EA=function(b){a.isEnabled&&(a.ml=!1,bj(a,b,!0),b=a.currentTool,b.cancelWaitAfter(),b.standardMouseOver())};a.wk=function(b){if(a.isEnabled){a.ml=!0;var c=a.wu;void 0===c[b.pointerId]&&(c[b.pointerId]=b);c=a.El;var d=!1;if(null!==c[0]&&c[0].pointerId===b.pointerId)c[0]=\nb;else if(null!==c[1]&&c[1].pointerId===b.pointerId)c[1]=b,d=!0;else if(null===c[0])c[0]=b;else if(null===c[1])c[1]=b,d=!0;else{b.preventDefault();return}if(c=\"touch\"===b.pointerType||\"pen\"===b.pointerType)a.Pu=!1,a.cu=!0;var e=d;d=ej(a,b,!0,!1,!0,e);cj(a,b,d);d.targetDiagram=dj(b,b.target);d.targetObject=null;e||d.clone(a.pr);e=a.Ww;c=c?25:10;b.timeStamp-a.Vw<a.dz&&!(Math.abs(e.x-b.screenX)>c||Math.abs(e.y-b.screenY)>c)?a.Er++:a.Er=1;d.clickCount=a.Er;a.Vw=b.timeStamp;a.Ww.ng(b.screenX,b.screenY);\na.doMouseDown();1===b.button?b.preventDefault():fj(d,b)}};a.xk=function(b){if(a.isEnabled){a.ml=!0;var c=a.El;if(null!==c[0]&&c[0].pointerId===b.pointerId)c[0]=b;else{if(null!==c[1]&&c[1].pointerId===b.pointerId){c[1]=b;return}if(null===c[0])c[0]=b;else return}if(c[0].pointerId===b.pointerId){c=ej(a,b,!1,!1,!1,null!==c[1]);var d=x.document.elementFromPoint(b.clientX,b.clientY);null!==d&&void 0!==d.shadowRoot&&null!==d.shadowRoot&&(d=d.shadowRoot.elementFromPoint(b.clientX,b.clientY));var e=a,f=b;\nd&&d.F&&(f=b,e=d.F);c.targetDiagram=e;cj(a,f,c);c.targetObject=null;a.doMouseMove();fj(c,b)}}};a.zk=function(b){if(a.isEnabled){a.ml=!0;var c=\"touch\"===b.pointerType||\"pen\"===b.pointerType,d=a.wu;if(c&&a.Pu)delete d[b.pointerId],b.preventDefault();else if(d=a.El,null!==d[0]&&d[0].pointerId===b.pointerId){d[0]=null;d=ej(a,b,!1,!0,!0,!1);var e=x.document.elementFromPoint(b.clientX,b.clientY);null!==e&&void 0!==e.shadowRoot&&null!==e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(b.clientX,b.clientY));\nnull!==e&&e.F instanceof T&&e.F!==a&&cj(e.F,b,d);null===e&&(e=b.target);cj(a,b,d);d.clickCount=a.Er;d.targetDiagram=dj(b,e);d.targetObject=null;a.doMouseUp();fj(d,b);c&&(a.cu=!1)}else null!==d[1]&&d[1].pointerId===b.pointerId&&(d[1]=null)}};a.yk=function(b){if(a.isEnabled){a.ml=!1;var c=a.wu;c[b.pointerId]&&delete c[b.pointerId];c=a.El;null!==c[0]&&c[0].pointerId===b.pointerId&&(c[0]=null);null!==c[1]&&c[1].pointerId===b.pointerId&&(c[1]=null);\"touch\"!==b.pointerType&&\"pen\"!==b.pointerType&&(b=a.currentTool,\nb.cancelWaitAfter(),b.standardMouseOver())}};a.Jt=d.Y[\"d\"+Hk[1]+Hk[2]+\"wI\"+zk.slice(1,5)][\"b\"+Ik.slice(1,b)](d.Y,Gk,b,b);d.Ec(!0);Li(a)}}mi.className=\"DiagramHelper\";function Oe(a){this.j=void 0===a?new J:a;this.o=new J}na.Object.defineProperties(Oe.prototype,{point:{get:function(){return this.j},set:function(a){this.j=a}},shifted:{get:function(){return this.o},set:function(a){this.o=a}}});var Hk=\"DraggingInfo\";Oe.className=\"DraggingInfo\";\nfunction Jj(a,b,c){this.node=a;this.info=b;this.xv=c}Jj.className=\"DraggingNodeInfoPair\";function Ee(){this.reset()}Ee.prototype.reset=function(){this.isGridSnapEnabled=!1;this.isGridSnapRealtime=!0;this.gridSnapCellSize=(new M(NaN,NaN)).freeze();this.gridSnapCellSpot=sc;this.gridSnapOrigin=(new J(NaN,NaN)).freeze();this.groupsSnapMembers=this.dragsTree=this.dragsLink=!1;this.dragsMembers=this.groupsAlwaysMove=!0};Ee.className=\"DraggingOptions\";\nfunction Jk(a,b){if(\"string\"===typeof a||x.Element&&a instanceof Element)var c=T.call(this,a)||this;else c=T.call(this)||this,b=a;Kk(c);b&&c.Hm(b);return c}ma(Jk,T);function Kk(a){a.allowDragOut=!0;a.allowMove=!1;a.isReadOnly=!0;a.contentAlignment=vc;a.layout=new Lk}Jk.prototype.reset=function(){T.prototype.reset.call(this);Kk(this)};Jk.className=\"Palette\";\nfunction Mk(a,b){if(\"string\"===typeof a||x.Element&&a instanceof Element)var c=T.call(this,a)||this;else c=T.call(this)||this,b=a;var d=c;c.animationManager.isEnabled=!1;c.ob=!0;c.Ga=null;c.Yn=!1;c.Zn=!1;c.M=!0;c.C=!0;c.Ha=0;c.o=!1;c.Ol=null;c.Dy(\"drawShadows\",!1);a=new V;var e=new uf;e.stroke=\"magenta\";e.strokeWidth=2;e.fill=\"transparent\";e.name=\"BOXSHAPE\";a.selectable=!0;a.selectionAdorned=!1;a.selectionObjectName=\"BOXSHAPE\";a.locationObjectName=\"BOXSHAPE\";a.resizeObjectName=\"BOXSHAPE\";a.cursor=\n\"move\";a.add(e);c.j=a;c.allowCopy=!1;c.allowDelete=!1;c.allowSelect=!0;c.autoScrollRegion=new ic(0,0,0,0);c.ka.h(0,0);c.toolManager.Za(\"Dragging\",new Nk,c.toolManager.mouseMoveTools);c.click=function(){var a=d.observed;if(null!==a){var b=a.viewportBounds,c=d.lastInput.documentPoint;a.position=new J(c.x-b.width/2,c.y-b.height/2)}};c.Tm=function(){d.Pa();Ok(d)};c.Sm=function(){null!==d.observed&&(d.Pa(),d.N())};c.Wa=function(){1>d.updateDelay?d.N():d.o||(d.o=!0,setTimeout(function(){return d.redraw()},\nd.updateDelay))};c.Kh=function(){null!==d.observed&&Ok(d)};c.autoScale=Xi;c.ob=!1;b&&Object.assign(c,b);return c}ma(Mk,T);Mk.prototype.computePixelRatio=function(){return 1};\nMk.prototype.redraw=function(){if(this.o&&1<=this.updateDelay){this.o=!1;var a=this.Aa,b=this.Sb;if(null!==a&&null!==b){pj(this);if(null===this.Ol){var c=new Ak(null);c.width=a.width;c.height=a.height;this.Ol=c}try{this.Aa=this.Ol,this.Sb=this.Aa.context,this.Sb.Ec(!0),this.Sb.setTransform(1,0,0,1,0,0),this.Sb.clearRect(0,0,this.Aa.width,this.Aa.height),Pk(this)}finally{this.Aa=a,this.Sb=b}}}T.prototype.redraw.call(this)};\nMk.prototype.lc=function(){null===this.Ea&&C(\"No div specified\");null===this.Aa&&C(\"No canvas specified\");if(!(this.Aa instanceof wj)&&($h(this.box),this.Uc)){var a=this.observed;if(null!==a&&!a.animationManager.defaultAnimation.isAnimating&&a.Pi){pj(this);var b=this.Aa;a=this.Sb;a.Ec(!0);a.setTransform(1,0,0,1,0,0);a.clearRect(0,0,b.width,b.height);1>this.updateDelay?Pk(this):null!==this.Ol&&(a.drawImage(this.Ol.La,0,0),b=this.tb,b.reset(),1!==this.scale&&b.scale(this.scale),0===this.position.x&&\n0===this.position.y||b.translate(-this.position.x,-this.position.y),a.scale(this.ac,this.ac),a.transform(b.m11,b.m12,b.m21,b.m22,b.dx,b.dy));b=this.Na.m;for(var c=b.length,d=0;d<c;d++)b[d].lc(a,this);this.Uc=this.xj=!1}}};\nfunction Pk(a){var b=a.observed;if(null!==b){var c=a.drawsTemporaryLayers,d=a.drawsGrid&&c,e=b.grid;d&&null!==e&&e.visible&&!isNaN(e.width)&&!isNaN(e.height)&&(e=N.alloc().assign(a.viewportBounds).Nc(b.viewportBounds),ij(b,e),N.free(e),hh(b));var f=a.tb;f.reset();1!==a.scale&&f.scale(a.scale);0===a.position.x&&0===a.position.y||f.translate(-a.position.x,-a.position.y);e=a.Sb;e.scale(a.ac,a.ac);e.transform(f.m11,f.m12,f.m21,f.m22,f.dx,f.dy);b=b.Na.m;f=b.length;for(var g=0;g<f;g++){var h=b[g],k=a;if(h.visible&&\n0!==h.opacity){var l=h.diagram.grid.part;if(!c&&h.isTemporary)d&&l.layer===h&&(h=ai(h,e),l.lc(e,k),e.globalAlpha=h);else{for(var m=ai(h,e),n=k.scale,p=N.alloc(),r=h.Fa.m,q=r.length,u=0;u<q;u++){var v=r[u];(d||v!==l)&&h.Ei(e,v,k,null,n,p,!1)}N.free(p);e.globalAlpha=m}}}}}\nfunction Ok(a){var b=a.box;if(null!==b){var c=a.observed;if(null!==c){a.Uc=!0;c=c.viewportBounds;var d=b.selectionObject,e=M.alloc();e.h(c.width,c.height);d.desiredSize=e;M.free(e);a=2/a.scale;d instanceof uf&&(d.strokeWidth=a);b.location=new J(c.x-a/2,c.y-a/2);b.isSelected=!0}}}Mk.prototype.computeBounds=function(){var a=this.observed;if(null===a)return gc;var b=a.documentBounds.copy();b.Nc(a.viewportBounds);return b};Mk.prototype.invalidateViewport=function(){!0!==this.Uc&&(this.Uc=!0,this.Fb())};\nMk.prototype.onViewportBoundsChanged=function(a,b,c,d){this.ob||(Qi(this),this.N(),Vi(this),this.Pa(),Ok(this),this.bd.scale=c,this.bd.position.x=a.x,this.bd.position.y=a.y,this.bd.bounds.assign(a),this.bd.ky=d,this.S(\"ViewportBoundsChanged\",this.bd,a))};\nna.Object.defineProperties(Mk.prototype,{observed:{get:function(){return this.Ga},set:function(a){var b=this.Ga;a instanceof Mk&&C(\"Overview.observed Diagram may not be an Overview itself: \"+a);if(b!==a){null!==b&&(this.remove(this.box),b.um(\"ViewportBoundsChanged\",this.Tm),b.um(\"DocumentBoundsChanged\",this.Sm),b.um(\"InvalidateDraw\",this.Wa),b.um(\"AnimationFinished\",this.Kh));this.Ga=a;null!==a&&(a.Xj(\"ViewportBoundsChanged\",this.Tm),a.Xj(\"DocumentBoundsChanged\",this.Sm),\na.Xj(\"InvalidateDraw\",this.Wa),a.Xj(\"AnimationFinished\",this.Kh),this.add(this.box));this.Pa();if(null===a){this.Ol=null;var c=this.Aa,d=this.Sb;c&&d&&(d.setTransform(1,0,0,1,0,0),d.clearRect(0,0,c.width,c.height))}else this.Wa(null),Ok(this),this.N();this.g(\"observed\",b,a)}}},box:{get:function(){return this.j},set:function(a){var b=this.j;b!==a&&(this.j=a,this.remove(b),this.add(this.j),Ok(this),this.g(\"box\",b,a))}},drawsTemporaryLayers:{\nget:function(){return this.M},set:function(a){this.M!==a&&(this.M=a,this.redraw())}},drawsGrid:{get:function(){return this.C},set:function(a){this.C!==a&&(this.C=a,this.redraw())}},updateDelay:{get:function(){return this.Ha},set:function(a){0>a&&(a=0);this.Ha!==a&&(this.Ha=a)}}});Mk.className=\"Overview\";function Nk(){De.call(this);this.j=null}ma(Nk,De);\nNk.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(null===a||!a.allowMove||!a.allowSelect)return!1;var b=a.observed;if(null===b)return!1;var c=a.lastInput;if(!c.left||a.currentTool!==this&&(!this.isBeyondDragSize()||c.isTouchEvent&&c.timestamp-a.firstInput.timestamp<this.delay))return!1;null===this.findDraggablePart()&&(c=b.viewportBounds,this.j=new J(c.width/2,c.height/2),a=a.firstInput.documentPoint,b.position=new J(a.x-this.j.x,a.y-this.j.y));return!0};\nNk.prototype.doActivate=function(){this.j=null;De.prototype.doActivate.call(this)};Nk.prototype.doUpdateCursor=function(){var a=this.diagram,b=a.box;null!==b&&b.cursor&&(a.currentCursor=b.cursor)};Nk.prototype.moveParts=function(){var a=this.diagram,b=a.observed;if(null!==b){var c=a.box;if(null!==c){if(null===this.j){var d=a.firstInput.documentPoint;c=c.location;this.j=new J(d.x-c.x,d.y-c.y)}a=a.lastInput.documentPoint;b.position=new J(a.x-this.j.x,a.y-this.j.y)}}};Nk.className=\"OverviewDraggingTool\";\nfunction Qk(){Ta(this);this.F=se;this.Wa=this.C=this.o=!0;this.M=this.Ga=this.Oc=this.Ha=!1;this.ki=this.j=null;this.Kd=1.05;this.fu=NaN;this.Uw=null;this.Zu=NaN;this.Xu=gc;this.yc=!0;this.Zf=null;this.Pc=200}Qk.prototype.toString=function(){return\"CommandHandler\"};Qk.prototype.Ke=function(a){this.F=a};\nQk.prototype.doKeyDown=function(){var a=this.diagram,b=a.lastInput,c=Sa?b.meta:b.control,d=b.shift,e=b.alt,f=b.key;!c||\"C\"!==f&&\"Insert\"!==f?c&&\"X\"===f||d&&\"Del\"===f?this.canCutSelection()&&this.cutSelection():c&&\"V\"===f||d&&\"Insert\"===f?this.canPasteSelection()&&this.pasteSelection():c&&\"Y\"===f||e&&d&&\"Backspace\"===f?this.canRedo()&&this.redo():c&&\"Z\"===f||e&&\"Backspace\"===f?this.canUndo()&&this.undo():\"Del\"===f||\"Backspace\"===f?this.canDeleteSelection()&&this.deleteSelection():c&&\"A\"===f?this.canSelectAll()&&\nthis.selectAll():\"Esc\"===f?this.canStopCommand()&&this.stopCommand():\"Up\"===f?a.allowVerticalScroll&&(c?a.scroll(\"pixel\",\"up\"):a.scroll(\"line\",\"up\")):\"Down\"===f?a.allowVerticalScroll&&(c?a.scroll(\"pixel\",\"down\"):a.scroll(\"line\",\"down\")):\"Left\"===f?a.allowHorizontalScroll&&(c?a.scroll(\"pixel\",\"left\"):a.scroll(\"line\",\"left\")):\"Right\"===f?a.allowHorizontalScroll&&(c?a.scroll(\"pixel\",\"right\"):a.scroll(\"line\",\"right\")):\"PageUp\"===f?d&&a.allowHorizontalScroll?a.scroll(\"page\",\"left\"):a.allowVerticalScroll&&\na.scroll(\"page\",\"up\"):\"PageDown\"===f?d&&a.allowHorizontalScroll?a.scroll(\"page\",\"right\"):a.allowVerticalScroll&&a.scroll(\"page\",\"down\"):\"Home\"===f?c&&a.allowVerticalScroll?a.scroll(\"document\",\"up\"):!c&&a.allowHorizontalScroll&&a.scroll(\"document\",\"left\"):\"End\"===f?c&&a.allowVerticalScroll?a.scroll(\"document\",\"down\"):!c&&a.allowHorizontalScroll&&a.scroll(\"document\",\"right\"):\" \"===f?this.canScrollToPart()&&this.scrollToPart():\"Subtract\"===f?this.canDecreaseZoom()&&this.decreaseZoom():\"Add\"===f?this.canIncreaseZoom()&&\nthis.increaseZoom():c&&\"0\"===f?this.canResetZoom()&&this.resetZoom():d&&\"Z\"===f?this.canZoomToFit()&&this.zoomToFit():c&&!d&&\"G\"===f?this.canGroupSelection()&&this.groupSelection():c&&d&&\"G\"===f?this.canUngroupSelection()&&this.ungroupSelection():\"F2\"===f||b.event&&\"F2\"===b.event.key?this.canEditTextBlock()&&this.editTextBlock():\"ContextMenu\"===f||b.event&&\"ContextMenu\"===b.event.key?this.canShowContextMenu()&&this.showContextMenu():b.bubbles=!0:this.canCopySelection()&&this.copySelection()};\nQk.prototype.doKeyUp=function(){this.diagram.lastInput.bubbles=!0};Qk.prototype.stopCommand=function(){var a=this.diagram,b=a.currentTool;b instanceof Oa&&a.allowSelect&&a.clearSelection();null!==b&&b.doCancel()};Qk.prototype.canStopCommand=function(){return!0};\nQk.prototype.selectAll=function(){var a=this.diagram;a.N();try{a.currentCursor=\"wait\";a.S(\"ChangingSelection\",a.selection);for(var b=a.parts;b.next();)b.value.isSelected=!0;for(var c=a.nodes;c.next();)c.value.isSelected=!0;for(var d=a.links;d.next();)d.value.isSelected=!0}finally{a.S(\"ChangedSelection\",a.selection),a.currentCursor=\"\"}};Qk.prototype.canSelectAll=function(){return this.diagram.allowSelect};\nQk.prototype.deleteSelection=function(){var a=this.diagram;try{a.currentCursor=\"wait\";a.S(\"ChangingSelection\",a.selection);a.wa(\"Delete\");a.S(\"SelectionDeleting\",a.selection);for(var b=new G,c=a.selection.iterator;c.next();)Rk(b,c.value,!0,this.deletesTree?Infinity:0,this.deletesConnectedLinks?null:!1,function(a){return a.canDelete()});a.bt(b,!0);a.S(\"SelectionDeleted\",b)}finally{a.Xa(\"Delete\"),a.S(\"ChangedSelection\",a.selection),a.currentCursor=\"\"}};\nQk.prototype.canDeleteSelection=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly||!a.allowDelete||0===a.selection.count?!1:!0};Qk.prototype.copySelection=function(){var a=this.diagram,b=new G;for(a=a.selection.iterator;a.next();)Rk(b,a.value,!0,this.copiesTree?Infinity:0,this.copiesConnectedLinks,function(a){return a.canCopy()});this.copyToClipboard(b)};Qk.prototype.canCopySelection=function(){var a=this.diagram;return a.allowCopy&&a.allowClipboard&&0!==a.selection.count?!0:!1};\nQk.prototype.cutSelection=function(){this.copySelection();this.deleteSelection()};Qk.prototype.canCutSelection=function(){var a=this.diagram;return!a.isReadOnly&&!a.isModelReadOnly&&a.allowCopy&&a.allowDelete&&a.allowClipboard&&0!==a.selection.count?!0:!1};\nQk.prototype.copyToClipboard=function(a){var b=this.diagram,c=null;if(null===a)Ei=null,Gi=\"\";else{c=b.model;var d=!1,e=!1,f=null;try{c.nm()&&(d=c.dk,c.dk=this.copiesParentKey),c.nk()&&(e=c.ck,c.ck=this.copiesGroupKey),f=b.ek(a,null,!0)}finally{c.nm()&&(c.dk=d),c.nk()&&(c.ck=e),c=new E,c.addAll(f),Ei=c,Gi=b.model.dataFormat}}b.S(\"ClipboardChanged\",c)};\nQk.prototype.pasteFromClipboard=function(){var a=new G,b=Ei;if(null===b)return a;var c=this.diagram;if(Gi!==c.model.dataFormat)return a;var d=c.model,e=!1,f=!1,g=null;try{d.nm()&&(e=d.dk,d.dk=this.copiesParentKey),d.nk()&&(f=d.ck,d.ck=this.copiesGroupKey),g=c.ek(b,c,!1)}finally{for(d.nm()&&(d.dk=e),d.nk()&&(d.ck=f),b=g.iterator;b.next();)c=b.value,d=b.key,c.location.u()||(d.location.u()?c.location=d.location:!c.position.u()&&d.position.u()&&(c.position=d.position)),a.add(c)}return a};\nQk.prototype.pasteSelection=function(a){void 0===a&&(a=null);var b=this.diagram;try{b.currentCursor=\"wait\";b.S(\"ChangingSelection\",b.selection);b.wa(\"Paste\");var c=this.pasteFromClipboard();0<c.count&&b.clearSelection(!0);for(var d=c.iterator;d.next();)d.value.isSelected=!0;if(null!==a){var e=b.computePartsBounds(b.selection);if(e.u()){var f=this.computeEffectiveCollection(b.selection,b.zn);ef(b,f,new J(a.x-e.centerX,a.y-e.centerY),b.zn,!1)}}b.S(\"ClipboardPasted\",c)}finally{b.Xa(\"Paste\"),b.S(\"ChangedSelection\",\nb.selection),b.currentCursor=\"\"}};Qk.prototype.canPasteSelection=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowClipboard||null===Ei||0===Ei.count||Gi!==a.model.dataFormat?!1:!0};Qk.prototype.undo=function(){this.diagram.undoManager.undo()};Qk.prototype.canUndo=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly?!1:a.allowUndo&&a.undoManager.canUndo()};Qk.prototype.redo=function(){this.diagram.undoManager.redo()};\nQk.prototype.canRedo=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly?!1:a.allowUndo&&a.undoManager.canRedo()};Qk.prototype.decreaseZoom=function(a){void 0===a&&(a=1/this.zoomFactor);var b=this.diagram;b.autoScale===mh&&(a=b.scale*a,a<b.minScale||a>b.maxScale||(b.scale=a))};Qk.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.zoomFactor);var b=this.diagram;if(b.autoScale!==mh)return!1;a=b.scale*a;return a<b.minScale||a>b.maxScale?!1:b.allowZoom};\nQk.prototype.increaseZoom=function(a){void 0===a&&(a=this.zoomFactor);var b=this.diagram;b.autoScale===mh&&(a=b.scale*a,a<b.minScale||a>b.maxScale||(b.scale=a))};Qk.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.zoomFactor);var b=this.diagram;if(b.autoScale!==mh)return!1;a=b.scale*a;return a<b.minScale||a>b.maxScale?!1:b.allowZoom};Qk.prototype.resetZoom=function(a){void 0===a&&(a=this.defaultScale);var b=this.diagram;a<b.minScale||a>b.maxScale||(b.scale=a)};\nQk.prototype.canResetZoom=function(a){void 0===a&&(a=this.defaultScale);var b=this.diagram;return a<b.minScale||a>b.maxScale?!1:b.allowZoom};\nQk.prototype.zoomToFit=function(){var a=this.diagram,b=a.animationManager;b.nc();a.redraw();var c=a.position,d=a.scale;gh(b,\"Zoom To Fit\");this.isZoomToFitRestoreEnabled&&d===this.Zu&&!isNaN(this.fu)&&a.documentBounds.A(this.Xu)?(a.scale=this.fu,a.position=this.Uw,this.Zu=NaN,this.Xu=gc):(this.fu=d,this.Uw=c.copy(),a.zoomToFit(),this.Zu=a.scale,this.Xu=a.documentBounds.copy());ih(b)};Qk.prototype.canZoomToFit=function(){return this.diagram.allowZoom};\nQk.prototype.scrollToPart=function(a){void 0===a&&(a=null);var b=this.diagram;b.Sa();if(null===a){try{null!==this.Zf&&(this.Zf.next()?a=this.Zf.value:this.Zf=null)}catch(k){this.Zf=null}null===a&&(0<b.highlighteds.count?this.Zf=b.highlighteds.iterator:0<b.selection.count&&(this.Zf=b.selection.iterator),null!==this.Zf&&this.Zf.next()&&(a=this.Zf.value))}if(null!==a){var c=b.animationManager;gh(c,\"Scroll To Part\");var d=this.scrollToPartPause;if(0<d){var e=Sk(this,a,[a]);if(1===e.length)b.wa(),b.xs(a.actualBounds),\nb.Xa(\"Scroll To Part\");else{var f=function(){b.wa();for(var a=e.pop();0<e.length&&a instanceof W&&a.isTreeExpanded&&(!(a instanceof hf)||a.isSubGraphExpanded);)a=e.pop();0<e.length?(a instanceof V&&b.Vv(a.actualBounds),a instanceof W&&!a.isTreeExpanded&&(a.isTreeExpanded=!0),a instanceof hf&&!a.isSubGraphExpanded&&(a.isSubGraphExpanded=!0)):(a instanceof V&&b.xs(a.actualBounds),b.um(\"LayoutCompleted\",g));b.Xa(\"Scroll To Part\")},g=function(){ua(f,(c.isEnabled?c.duration:0)+d)};b.Xj(\"LayoutCompleted\",\ng);f()}}else{var h=b.position.copy();b.xs(a.actualBounds);h.Ta(b.position)&&c.nc()}}};\nfunction Sk(a,b,c){if(b.isVisible())return c;if(b instanceof we)Sk(a,b.adornedPart,c);else if(b instanceof U){var d=b.fromNode;null!==d&&Sk(a,d,c);b=b.toNode;null!==b&&Sk(a,b,c)}else b instanceof W&&(d=b.labeledLink,null!==d&&Sk(a,d,c),d=b.lg(),null!==d&&(d.isTreeExpanded||d.wasTreeExpanded||c.push(d),Sk(a,d,c))),b=b.containingGroup,null!==b&&(b.isSubGraphExpanded||b.wasSubGraphExpanded||c.push(b),Sk(a,b,c));return c}\nQk.prototype.canScrollToPart=function(a){void 0===a&&(a=null);if(null!==a&&!(a instanceof V))return!1;a=this.diagram;return 0===a.selection.count&&0===a.highlighteds.count?!1:a.allowHorizontalScroll&&a.allowVerticalScroll};\nQk.prototype.collapseTree=function(a){void 0===a&&(a=null);var b=this.diagram;try{b.wa(\"Collapse Tree\");gh(b.animationManager,\"Collapse Tree\");var c=new E;if(null!==a&&a.isTreeExpanded)a.collapseTree(),c.add(a);else if(null===a)for(var d=b.selection.iterator;d.next();){var e=d.value;e instanceof W&&e.isTreeExpanded&&(e.collapseTree(),c.add(e))}b.S(\"TreeCollapsed\",c)}finally{b.Xa(\"Collapse Tree\")}};\nQk.prototype.canCollapseTree=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly)return!1;if(null!==a){if(!(a instanceof W&&a.isTreeExpanded))return!1;if(0<a.kq().count)return!0}else for(a=b.selection.iterator;a.next();)if(b=a.value,b instanceof W&&b.isTreeExpanded&&0<b.kq().count)return!0;return!1};\nQk.prototype.expandTree=function(a){void 0===a&&(a=null);var b=this.diagram;try{b.wa(\"Expand Tree\");gh(b.animationManager,\"Expand Tree\");var c=new E;if(null!==a&&!a.isTreeExpanded)a.expandTree(),c.add(a);else if(null===a)for(var d=b.selection.iterator;d.next();){var e=d.value;e instanceof W&&!e.isTreeExpanded&&(e.expandTree(),c.add(e))}b.S(\"TreeExpanded\",c)}finally{b.Xa(\"Expand Tree\")}};\nQk.prototype.canExpandTree=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly)return!1;if(null!==a){if(!(a instanceof W)||a.isTreeExpanded)return!1;if(0<a.kq().count)return!0}else for(a=b.selection.iterator;a.next();)if(b=a.value,b instanceof W&&!b.isTreeExpanded&&0<b.kq().count)return!0;return!1};\nQk.prototype.groupSelection=function(){var a=this.diagram,b=a.model;if(b.pk()){var c=this.archetypeGroupData;if(null!==c){var d=null;try{a.currentCursor=\"wait\";a.S(\"ChangingSelection\",a.selection);a.wa(\"Group\");for(var e=new E,f=a.selection.iterator;f.next();){var g=f.value;g.Jc()&&g.canGroup()&&e.add(g)}for(var h=new E,k=e.iterator;k.next();){var l=k.value;f=!1;for(var m=e.iterator;m.next();)if(l.Fd(m.value)){f=!0;break}f||h.add(l)}if(0<h.count){var n=h.first().containingGroup;if(null!==n)for(;null!==\nn;){e=!1;for(var p=h.iterator;p.next();)if(!p.value.Fd(n)){e=!0;break}if(e)n=n.containingGroup;else break}if(c instanceof hf)ng(c),d=c.copy(),null!==d&&a.add(d);else if(b.Dv(c)){var r=b.copyNodeData(c);za(r)&&(b.nf(r),d=a.Hi(r))}if(null!==d){null!==n&&this.isValidMember(n,d)&&(d.containingGroup=n);for(var q=h.iterator;q.next();){var u=q.value;this.isValidMember(d,u)&&(u.containingGroup=d)}a.clearSelection(!0);d.isSelected=!0}}a.S(\"SelectionGrouped\",d)}finally{a.Xa(\"Group\"),a.S(\"ChangedSelection\",\na.selection),a.currentCursor=\"\"}}}};Qk.prototype.canGroupSelection=function(){var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowGroup||!a.model.pk()||null===this.archetypeGroupData)return!1;for(a=a.selection.iterator;a.next();){var b=a.value;if(b.Jc()&&b.canGroup())return!0}return!1};\nfunction Tk(a){var b=Fa();for(a=a.iterator;a.next();){var c=a.value;c instanceof U||b.push(c)}a=new G;c=b.length;for(var d=0;d<c;d++){for(var e=b[d],f=!0,g=0;g<c;g++)if(e.Fd(b[g])){f=!1;break}f&&a.add(e)}Ia(b);return a}\nQk.prototype.isValidMember=function(a,b){if(null===b||a===b||b instanceof U)return!1;if(null!==a){if(a===b||a.Fd(b))return!1;var c=a.memberValidation;if(null!==c&&!c(a,b)||null===a.data&&null!==b.data||null!==a.data&&null===b.data)return!1}c=this.memberValidation;return null!==c?c(a,b):!0};\nQk.prototype.ungroupSelection=function(a){void 0===a&&(a=null);var b=this.diagram,c=b.model;if(c.pk())try{b.currentCursor=\"wait\";b.S(\"ChangingSelection\",b.selection);b.wa(\"Ungroup\");var d=new E;if(null!==a)d.add(a);else for(var e=b.selection.iterator;e.next();){var f=e.value;f instanceof hf&&f.canUngroup()&&d.add(f)}var g=new E;if(0<d.count){b.clearSelection(!0);for(var h=d.iterator;h.next();){var k=h.value;k.expandSubGraph();var l=k.containingGroup,m=null!==l&&null!==l.data?c.pa(l.data):void 0;g.addAll(k.memberParts);\nfor(var n=g.iterator;n.next();){var p=n.value;p.isSelected=!0;if(!(p instanceof U)){var r=p.data;null!==r?c.Gq(r,m):p.containingGroup=l}}b.remove(k)}}b.S(\"SelectionUngrouped\",d,g)}finally{b.Xa(\"Ungroup\"),b.S(\"ChangedSelection\",b.selection),b.currentCursor=\"\"}};\nQk.prototype.canUngroupSelection=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly||b.isModelReadOnly||!b.allowDelete||!b.allowUngroup||!b.model.pk())return!1;if(null!==a){if(!(a instanceof hf))return!1;if(a.canUngroup())return!0}else for(a=b.selection.iterator;a.next();)if(b=a.value,b instanceof hf&&b.canUngroup())return!0;return!1};\nQk.prototype.addTopLevelParts=function(a,b){var c=!0;for(a=Tk(a).iterator;a.next();){var d=a.value;null!==d.containingGroup&&(!b||this.isValidMember(null,d)?d.containingGroup=null:c=!1)}return c};\nQk.prototype.collapseSubGraph=function(a){void 0===a&&(a=null);var b=this.diagram;try{b.wa(\"Collapse SubGraph\");gh(b.animationManager,\"Collapse SubGraph\");var c=new E;if(null!==a&&a.isSubGraphExpanded)a.collapseSubGraph(),c.add(a);else if(null===a)for(var d=b.selection.iterator;d.next();){var e=d.value;e instanceof hf&&e.isSubGraphExpanded&&(e.collapseSubGraph(),c.add(e))}b.S(\"SubGraphCollapsed\",c)}finally{b.Xa(\"Collapse SubGraph\")}};\nQk.prototype.canCollapseSubGraph=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly)return!1;if(null!==a)return a instanceof hf&&a.isSubGraphExpanded?!0:!1;for(a=b.selection.iterator;a.next();)if(b=a.value,b instanceof hf&&b.isSubGraphExpanded)return!0;return!1};\nQk.prototype.expandSubGraph=function(a){void 0===a&&(a=null);var b=this.diagram;try{b.wa(\"Expand SubGraph\");gh(b.animationManager,\"Expand SubGraph\");var c=new E;if(null!==a&&!a.isSubGraphExpanded)a.expandSubGraph(),c.add(a);else if(null===a)for(var d=b.selection.iterator;d.next();){var e=d.value;e instanceof hf&&!e.isSubGraphExpanded&&(e.expandSubGraph(),c.add(e))}b.S(\"SubGraphExpanded\",c)}finally{b.Xa(\"Expand SubGraph\")}};\nQk.prototype.canExpandSubGraph=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly)return!1;if(null!==a)return a instanceof hf&&!a.isSubGraphExpanded?!0:!1;for(a=b.selection.iterator;a.next();)if(b=a.value,b instanceof hf&&!b.isSubGraphExpanded)return!0;return!1};\nQk.prototype.editTextBlock=function(a){void 0===a&&(a=null);var b=this.diagram,c=b.toolManager.findTool(\"TextEditing\");if(null!==c){if(null===a){a=null;for(var d=b.selection.iterator;d.next();){var e=d.value;if(e.canEdit()){a=e;break}}if(null===a)return;a=a.hm(function(a){return a instanceof Lg&&a.editable})}null!==a&&(b.currentTool=null,c.textBlock=a,b.currentTool=c)}};\nQk.prototype.canEditTextBlock=function(a){void 0===a&&(a=null);var b=this.diagram;if(b.isReadOnly||b.isModelReadOnly||!b.allowTextEdit||null===b.toolManager.findTool(\"TextEditing\"))return!1;if(null!==a){if(!(a instanceof Lg))return!1;a=a.part;if(null!==a&&a.canEdit())return!0}else for(b=b.selection.iterator;b.next();)if(a=b.value,a.canEdit()&&(a=a.hm(function(a){return a instanceof Lg&&a.editable}),null!==a))return!0;return!1};\nQk.prototype.showContextMenu=function(a){var b=this.diagram,c=b.toolManager.findTool(\"ContextMenu\");if(null!==c&&(void 0===a&&(a=0<b.selection.count?b.selection.first():b),a=c.findObjectWithContextMenu(a),null!==a)){var d=b.lastInput,e=null;a instanceof Y?e=a.da(yc):b.viewportBounds.$(d.documentPoint)||(e=b.viewportBounds,e=new J(e.x+e.width/2,e.y+e.height/2));null!==e&&(d.viewPoint=b.Iq(e),d.documentPoint=e,d.left=!1,d.right=!0,d.up=!0);b.currentTool=c;Hg(c,!1,a)}};\nQk.prototype.canShowContextMenu=function(a){var b=this.diagram,c=b.toolManager.findTool(\"ContextMenu\");if(null===c)return!1;void 0===a&&(a=0<b.selection.count?b.selection.first():b);return null===c.findObjectWithContextMenu(a)?!1:!0};\nQk.prototype.computeEffectiveCollection=function(a,b){var c=this.diagram,d=c.toolManager.findTool(\"Dragging\"),e=c.currentTool===d;void 0===b&&(b=e?d.dragOptions:c.zn);d=new I;if(null===a)return d;for(var f=a.iterator;f.next();)Hj(c,d,f.value,e,b);if(null!==c.draggedLink&&b.dragsLink)return d;for(f=a.iterator;f.next();)a=f.value,a instanceof U&&(b=a.fromNode,null===b||d.contains(b)?(b=a.toNode,null===b||d.contains(b)||d.remove(a)):d.remove(a));return d};\nna.Object.defineProperties(Qk.prototype,{diagram:{get:function(){return this.F}},copiesClipboardData:{get:function(){return this.o},set:function(a){this.o=a}},copiesConnectedLinks:{get:function(){return this.C},set:function(a){this.C=a}},deletesConnectedLinks:{get:function(){return this.Wa},set:function(a){this.Wa=a}},copiesTree:{get:function(){return this.Ha},\nset:function(a){this.Ha=a}},deletesTree:{get:function(){return this.Oc},set:function(a){this.Oc=a}},copiesParentKey:{get:function(){return this.Ga},set:function(a){this.Ga=a}},copiesGroupKey:{get:function(){return this.M},set:function(a){this.M=a}},archetypeGroupData:{get:function(){return this.j},set:function(a){this.j=a}},memberValidation:{get:function(){return this.ki},\nset:function(a){this.ki=a}},defaultScale:{get:function(){return this.diagram.defaultScale},set:function(a){this.diagram.defaultScale=a}},zoomFactor:{get:function(){return this.Kd},set:function(a){1<a||C(\"zoomFactor must be larger than 1.0, not: \"+a);this.Kd=a}},isZoomToFitRestoreEnabled:{get:function(){return this.yc},set:function(a){this.yc=a}},scrollToPartPause:{get:function(){return this.Pc},\nset:function(a){this.Pc=a}}});Qk.className=\"CommandHandler\";si=function(){return new Qk};\nfunction Y(){Ta(this);this.G=4225027;this.lb=1;this.Xf=null;this.na=\"\";this.fd=this.Rb=null;this.ka=(new J(NaN,NaN)).freeze();this.Sc=Ob;this.Uf=Ib;this.Tf=Nb;this.tb=new qd;this.Mh=new qd;this.Ab=null;this.sa=this.al=1;this.xb=0;this.Be=Uk;this.Pg=pc;this.ic=(new N(NaN,NaN,NaN,NaN)).freeze();this.vb=(new N(NaN,NaN,NaN,NaN)).freeze();this.qc=(new N(0,0,NaN,NaN)).freeze();this.P=this.ap=this.bp=null;this.Gk=this.wb=Vc;this.np=0;this.op=1;this.wg=0;this.jn=1;this.Fp=null;this.sp=-Infinity;this.Jl=0;\nthis.Kl=pb;this.Ll=Vf;this.Sh=\"\";this.fb=this.O=null;this.Mk=-1;this.Nl=this.$a=this.Rh=this.Rl=null;this.Wr=og;this.qp=this.rg=this.Nj=null}var sd,og,qg,Uk,Vk,Wk,Xk,Yk,Zk,$k;\nY.prototype.cloneProtected=function(a){a.G=this.G|6144;a.lb=this.lb;a.na=this.na;a.Rb=this.Rb;a.fd=this.fd;a.rg=this.rg;a.ka.assign(this.ka);a.Sc=this.Sc.I();a.Uf=this.Uf.I();a.Tf=this.Tf.I();null!==this.Ab?a.Ab=this.Ab.copy():a.Ab=null;a.sa=this.sa;a.xb=this.xb;a.Be=this.Be;a.Pg=this.Pg.I();a.ic.assign(this.ic);a.vb.assign(this.vb);a.qc.assign(this.qc);a.ap=this.ap;null!==this.P&&(a.P=this.P.copy());a.wb=this.wb.I();a.Gk=this.Gk.I();a.np=this.np;a.op=this.op;a.wg=this.wg;a.jn=this.jn;a.Fp=this.Fp;\na.sp=this.sp;a.Jl=this.Jl;a.Kl=this.Kl.I();a.Ll=this.Ll;a.Sh=this.Sh;null!==this.O&&(a.O=this.O.copy());a.fb=this.fb;a.Mk=this.Mk;null!==this.Rh&&(a.Rh=Ba(this.Rh));null!==this.$a&&(a.$a=this.$a.copy());a.Nl=this.Nl};Y.prototype.yx=function(a){var b=this.Rh;if(Aa(b))for(var c=0;c<b.length;c++){if(b[c]===a)return}else this.Rh=b=[];b.push(a)};Y.prototype.sf=function(a){a.bp=null;a.Nj=null;a.s()};\nY.prototype.clone=function(){var a=new this.constructor;this.cloneProtected(a);if(null!==this.Rh)for(var b=0;b<this.Rh.length;b++){var c=this.Rh[b];a[c]=this[c]}return a};Y.prototype.copy=function(){return this.clone()};t=Y.prototype;t.gb=function(a){a.classType===U?0===a.name.indexOf(\"Orient\")?this.segmentOrientation=a:C(\"Unknown Link enum value for GraphObject.segmentOrientation property: \"+a):a.classType===Y&&(this.stretch=a)};t.toString=function(){return Ja(this.constructor)+\"#\"+gb(this)};\nfunction al(a){null===a.O&&(a.O=new bl)}t.Hc=function(){if(null===this.P){var a=new cl;a.Jg=rc;a.ph=rc;a.Hg=10;a.nh=10;a.Ig=0;a.oh=0;this.P=a}};\nt.Va=function(a,b,c,d,e,f,g){var h=this.part;if(null!==h&&(h.Ak(a,b,c,d,e,f,g),c===this&&a===ce&&dl(this)&&el(this,h,b),f=this.diagram,null===this.rg||null===f||!f.Pi||f.undoManager.isUndoingRedoing||f.animationManager.dn||(a=this.rg.get(b),null!==a&&f.animationManager.isEnabled&&!f.animationManager.isTicking&&(null===this.qp&&(this.qp=new I),g=0===f.undoManager.transactionLevel,a.startCondition===Wh?g=!0:a.startCondition===Yh&&(g=!1),g?(f=new fh,Xh(a,f),g=this.qp.get(a),null!==g&&g.stop(),this.qp.add(a,\nf),f.Uu=this,f.qx=a,f.add(this,b,d,e),f.start()):(gh(f.animationManager,\"Trigger\"),f.animationManager.defaultAnimation.add(this,b,d,e)))),this instanceof X&&c===h&&0!==(h.G&16777216)&&null!==h.data))for(c=this.T.m,d=c.length,e=0;e<d;e++)h=c[e],h instanceof X&&zj(h,function(a){null!==a.data&&0!==(a.G&16777216)&&a.Da(b)})};\nfunction el(a,b,c){var d=a.yh();if(null!==d)for(var e=a.fb.iterator;e.next();){var f=e.value,g=null;if(null!==f.sourceName){g=fl(f,d,a);if(null===g)continue;f.Mq(a,g,c,null)}else if(f.isToModel){var h=b.diagram;null===h||h.skipsModelSourceBindings||f.Mq(a,h.model.modelData,c,d)}else{h=d.data;if(null===h)continue;var k=b.diagram;null===k||k.skipsModelSourceBindings||f.Mq(a,h,c,d)}g===a&&(h=d.Bs(f.Yi),null!==h&&f.iw(h,g,c))}}t.Bs=function(a){return this.Mk===a?this:null};\nt.g=function(a,b,c){this.Va(ce,a,this,b,c)};t.ue=function(a,b,c,d){var e=this.ic;e.h(a,b,c,d);if(1!==this.sa||0!==this.xb){null===this.Ab&&(this.Ab=new qd);var f=this.Ab;f.reset();this.zp(f,a,b,c,d);f.Jq(e)}};function gl(a,b,c,d){if(!1===a.pickable)return!1;d.multiply(a.transform);return c?a.Ic(b,d):a.wh(b,d)}\nt.Ux=function(a,b,c){if(!1===this.pickable)return!1;var d=this.naturalBounds;b=a.tf(b);return c?Bb(a.x,a.y,0,0,0,d.height)<=b||Bb(a.x,a.y,0,d.height,d.width,d.height)<=b||Bb(a.x,a.y,d.width,d.height,d.width,0)<=b||Bb(a.x,a.y,d.width,0,0,0)<=b:a.nd(0,0)<=b&&a.nd(0,d.height)<=b&&a.nd(d.width,0)<=b&&a.nd(d.width,d.height)<=b};t.he=function(){return!0};\nt.$=function(a){var b=J.alloc();b.assign(a);this.transform.ya(b);var c=this.actualBounds;if(!c.u())return J.free(b),!1;var d=this.diagram;if(null!==d&&d.cu){var e=d.km(\"extraTouchThreshold\"),f=d.km(\"extraTouchArea\"),g=f/2,h=this.naturalBounds;d=this.wf()*d.scale;var k=1/d;if(h.width*d<e&&h.height*d<e)return a=ac(c.x-g*k,c.y-g*k,c.width+f*k,c.height+f*k,b.x,b.y),J.free(b),a}e=!1;if(this instanceof we||this instanceof uf?ac(c.x-5,c.y-5,c.width+10,c.height+10,b.x,b.y):c.$(b))this.$a&&!this.$a.$(b)?e=\n!1:null!==this.fd&&c.$(b)?e=!0:null!==this.Rb&&this.qc.$(a)?e=!0:e=this.xh(a);J.free(b);return e};t.xh=function(a){var b=this.naturalBounds;return ac(0,0,b.width,b.height,a.x,a.y)};t.De=function(a){if(0===this.angle)return this.actualBounds.De(a);var b=this.naturalBounds;b=N.allocAt(0,0,b.width,b.height);var c=this.transform,d=!1,e=J.allocAt(a.x,a.y);b.$(c.Ed(e))&&(e.h(a.x,a.bottom),b.$(c.Ed(e))&&(e.h(a.right,a.bottom),b.$(c.Ed(e))&&(e.h(a.right,a.y),b.$(c.Ed(e))&&(d=!0))));J.free(e);N.free(b);return d};\nt.wh=function(a,b){if(void 0===b)return a.De(this.actualBounds);var c=this.naturalBounds,d=!1,e=J.allocAt(0,0);a.$(b.ya(e))&&(e.h(0,c.height),a.$(b.ya(e))&&(e.h(c.width,c.height),a.$(b.ya(e))&&(e.h(c.width,0),a.$(b.ya(e))&&(d=!0))));J.free(e);return d};\nt.Ic=function(a,b){if(void 0===b&&(b=this.transform,0===this.angle))return a.Ic(this.actualBounds);var c=this.naturalBounds,d=J.allocAt(0,0),e=J.allocAt(0,c.height),f=J.allocAt(c.width,c.height),g=J.allocAt(c.width,0),h=!1;if(a.$(b.ya(d))||a.$(b.ya(e))||a.$(b.ya(f))||a.$(b.ya(g)))h=!0;else{c=N.allocAt(0,0,c.width,c.height);var k=J.allocAt(a.x,a.y);c.$(b.Ed(k))?h=!0:(k.h(a.x,a.bottom),c.$(b.Ed(k))?h=!0:(k.h(a.right,a.bottom),c.$(b.Ed(k))?h=!0:(k.h(a.right,a.y),c.$(b.Ed(k))&&(h=!0))));J.free(k);N.free(c);\n!h&&(L.Ls(a,d,e)||L.Ls(a,e,f)||L.Ls(a,f,g)||L.Ls(a,g,d))&&(h=!0)}J.free(d);J.free(e);J.free(f);J.free(g);return h};t.da=function(a,b){void 0===b&&(b=new J);if(a instanceof P){var c=this.naturalBounds;b.h(a.x*c.width+a.offsetX,a.y*c.height+a.offsetY)}else b.set(a);this.de.ya(b);return b};\nt.Mi=function(a){void 0===a&&(a=new N);var b=this.naturalBounds,c=this.de,d=J.allocAt(0,0).transform(c);a.h(d.x,d.y,0,0);d.h(b.width,0).transform(c);$b(a,d.x,d.y,0,0);d.h(b.width,b.height).transform(c);$b(a,d.x,d.y,0,0);d.h(0,b.height).transform(c);$b(a,d.x,d.y,0,0);J.free(d);return a};t.Li=function(){var a=this.de;1===a.m11&&0===a.m12?a=0:(a=180*Math.atan2(a.m12,a.m11)/Math.PI,0>a&&(a+=360));return a};\nt.wf=function(){if(0!==(this.G&4096)===!1)return this.al;var a=this.sa;return null!==this.panel?a*this.panel.wf():a};t.Hs=function(a,b){void 0===b&&(b=new J);b.assign(a);this.de.Ed(b);return b};t.Is=function(a,b,c){return this.kk(a.x,a.y,b.x,b.y,c)};\nt.kk=function(a,b,c,d,e){var f=this.transform,g=1/(f.m11*f.m22-f.m12*f.m21),h=f.m22*g,k=-f.m12*g,l=-f.m21*g,m=f.m11*g,n=g*(f.m21*f.dy-f.m22*f.dx),p=g*(f.m12*f.dx-f.m11*f.dy);if(null!==this.areaBackground)return f=this.actualBounds,L.yf(f.left,f.top,f.right,f.bottom,a,b,c,d,e);g=a*h+b*l+n;a=a*k+b*m+p;b=c*h+d*l+n;c=c*k+d*m+p;e.h(0,0);d=this.naturalBounds;c=L.yf(0,0,d.width,d.height,g,a,b,c,e);e.transform(f);return c};\nY.prototype.measure=function(a,b,c,d){if(!1!==mj(this)){var e=this.Pg,f=e.right+e.left;e=e.top+e.bottom;a=Math.max(a-f,0);b=Math.max(b-e,0);c=Math.max((c||0)-f,0);d=Math.max((d||0)-e,0);f=this.angle;e=this.desiredSize;var g=0;this instanceof uf&&(g=this.strokeWidth);90===f||270===f?(a=isFinite(e.height)?e.height+g:a,b=isFinite(e.width)?e.width+g:b):(a=isFinite(e.width)?e.width+g:a,b=isFinite(e.height)?e.height+g:b);e=c||0;g=d||0;var h=this instanceof X;switch(hl(this,!0)){case og:g=e=0;h&&(b=a=Infinity);\nbreak;case sd:isFinite(a)&&a>c&&(e=a);isFinite(b)&&b>d&&(g=b);break;case Vk:isFinite(a)&&a>c&&(e=a);g=0;h&&(b=Infinity);break;case Wk:isFinite(b)&&b>d&&(g=b),e=0,h&&(a=Infinity)}h=this.maxSize;var k=this.minSize;e>h.width&&k.width<h.width&&(e=h.width);g>h.height&&k.height<h.height&&(g=h.height);c=Math.max(e/this.scale,k.width);d=Math.max(g/this.scale,k.height);h.width<c&&(c=Math.min(k.width,c));h.height<d&&(d=Math.min(k.height,d));a=Math.min(h.width,a);b=Math.min(h.height,b);a=Math.max(c,a);b=Math.max(d,\nb);if(90===f||270===f)f=a,a=b,b=f,f=c,c=d,d=f;this.ic.ea();this.qm(a,b,c,d);this.ic.freeze();this.ic.u()||C(\"Non-real measuredBounds has been set. Object \"+this+\", measuredBounds: \"+this.ic.toString());hj(this,!1)}};Y.prototype.qm=function(){};Y.prototype.Ri=function(){return!1};\nY.prototype.arrange=function(a,b,c,d,e){this.ll();var f=N.alloc();f.assign(this.vb);this.vb.ea();!1===nj(this)?this.vb.h(a,b,c,d):this.vh(a,b,c,d);this.vb.freeze();void 0===e?this.$a=null:this.$a=e;c=!1;if(void 0!==e)c=!0;else if(e=this.panel,null===e||e.type!==X.TableRow&&e.type!==X.TableColumn||(e=e.panel),null!==e&&(e=e.qc,d=this.measuredBounds,null!==this.areaBackground&&(d=this.vb),c=b+d.height,d=a+d.width,c=!(0<=a+.05&&d<=e.width+.05&&0<=b+.05&&c<=e.height+.05),this instanceof Lg&&(a=this.naturalBounds,\nthis.Ir>a.height||this.qb>a.width)))c=!0;this.G=c?this.G|256:this.G&-257;this.vb.u()||C(\"Non-real actualBounds has been set. Object \"+this+\", actualBounds: \"+this.vb.toString());this.rm(f,this.vb);il(this,!1);N.free(f)};t=Y.prototype;t.vh=function(){};\nfunction jl(a,b,c,d,e){a.vb.h(b,c,d,e);if(!a.desiredSize.u()){var f=a.ic;c=a.Pg;b=c.right+c.left;var g=c.top+c.bottom;c=f.width+b;f=f.height+g;d+=b;e+=g;b=hl(a,!0);c===d&&f===e&&(b=og);switch(b){case og:if(c>d||f>e)hj(a,!0),a.measure(c>d?d:c,f>e?e:f,0,0);break;case sd:hj(a,!0);a.measure(d,e,0,0);break;case Vk:hj(a,!0);a.measure(d,f,0,0);break;case Wk:hj(a,!0),a.measure(c,e,0,0)}}}\nt.rm=function(a,b){var c=this.part;null!==c&&null!==c.diagram&&(c.selectionObject!==this&&c.resizeObject!==this&&c.rotateObject!==this||kl(c,!0),this.N(),Wb(a,b)||(c.Ch(),this.Qo(c)))};t.Qo=function(a){null!==this.portId&&(kl(a,!0),a instanceof W&&ll(a,this))};\nt.lc=function(a,b){if(this.visible){var c=this.opacity;if(0!==c){var d=this instanceof X&&(this.type===X.TableRow||this.type===X.TableColumn),e=this.vb;if(d||0!==e.width&&0!==e.height&&!isNaN(e.x)&&!isNaN(e.y)){var f=1;1!==c&&(f=a.globalAlpha,a.globalAlpha=f*c);if(d){e=this.vb;d=this.qc;var g=this.fd,h=this.Rb;null===g&&null===h||a.Bd();null!==g&&(bi(this,a,g,!0,!0,d,e),g instanceof ml&&g.type===nl?(a.beginPath(),a.rect(e.x,e.y,e.width,e.height),a.uf(g)):a.fillRect(e.x,e.y,e.width,e.height));null!==\nh&&(bi(this,a,h,!0,!1,d,e),h instanceof ml&&h.type===nl?(a.beginPath(),a.rect(e.x,e.y,e.width,e.height),a.uf(h)):a.fillRect(e.x,e.y,e.width,e.height));this.Fi(a,b)}else if(!this.Px(a,b)){this instanceof U&&this.sk(!1);d=this.transform;g=this.panel;0!==(this.G&4096)===!0&&ol(this);var k=this.part;h=!1;var l=0;if(k&&b.Fe(\"drawShadows\")&&(h=k.isShadowed)){var m=k.shadowOffset;l=Math.max(m.y,m.x)*b.scale*b.ac}m=this.Ri();var n;if(!(n=b.zj||!m)){var p=this.naturalBounds;n=this.Mh;var r=n.m11,q=n.m21,u=\nn.dx,v=n.m12,w=n.m22,z=n.dy,y,A=y=0;n=y*r+A*q+u;var B=y*v+A*w+z;y=p.width+l;A=0;var F=y*r+A*q+u;y=y*v+A*w+z;A=Math.min(n,F);var K=Math.min(B,y);var S=Math.max(n+0,F)-A;var R=Math.max(B+0,y)-K;n=A;B=K;y=p.width+l;A=p.height+l;F=y*r+A*q+u;y=y*v+A*w+z;A=Math.min(n,F);K=Math.min(B,y);S=Math.max(n+S,F)-A;R=Math.max(B+R,y)-K;n=A;B=K;y=0;A=p.height+l;F=y*r+A*q+u;y=y*v+A*w+z;A=Math.min(n,F);K=Math.min(B,y);S=Math.max(n+S,F)-A;R=Math.max(B+R,y)-K;n=A;B=K;l=b.viewportBounds;p=l.x;r=l.y;n=!(n>l.width+p||p>S+\nn||B>l.height+r||r>R+B)}if(n){n=0!==(this.G&256);a.clipInsteadOfFill&&(n=!1);this instanceof Lg&&(a.font=this.font);if(n){B=g.he()?g.naturalBounds:g.actualBounds;null!==this.$a?(p=this.$a,S=p.x,R=p.y,l=p.width,p=p.height):(S=Math.max(e.x,B.x),R=Math.max(e.y,B.y),l=Math.min(e.right,B.right)-S,p=Math.min(e.bottom,B.bottom)-R);if(S>e.width+e.x||e.x>B.width+B.x){1!==c&&(a.globalAlpha=f);return}a.save();a.beginPath();a.rect(S,R,l,p);a.clip()}if(m){if(!k.isVisible()){1!==c&&(a.globalAlpha=f);return}h&&\n(B=k.shadowOffset,a.bw(B.x*b.scale*b.ac,B.y*b.scale*b.ac,k.shadowBlur),pl(a),a.shadowColor=k.shadowColor)}h&&!0===this.shadowVisible?pl(a):h&&!1===this.shadowVisible&&ql(a);k=this.naturalBounds;null!==this.fd&&(a.Bd(),bi(this,a,this.fd,!0,!0,k,e),this.fd instanceof ml&&this.fd.type===nl?(a.beginPath(),a.rect(e.x,e.y,e.width,e.height),a.uf(this.fd)):a.fillRect(e.x,e.y,e.width,e.height));a.transform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);h&&(null!==g&&0!==(g.G&512)||null!==g&&(g.type===X.Auto||g.type===\nX.Spot)&&g.nb()!==this)&&null===this.shadowVisible&&ql(a);null!==this.Rb&&(a.Bd(),rl(this,a,k,e));h&&(null!==this.Rb||null!==this.fd||null!==g&&0!==(g.G&512)||null!==g&&(g.type===X.Auto||g.type===X.Spot)&&g.nb()!==this)?(sl(this,!0),null===this.shadowVisible&&ql(a)):sl(this,!1);this.Fi(a,b);h&&0!==(this.G&512)===!0&&pl(a);m&&h&&ql(a);n&&(a.restore(),a.Ec(this instanceof X));d.Os()||(b=1/(d.m11*d.m22-d.m12*d.m21),a.transform(d.m22*b,-d.m12*b,-d.m21*b,d.m11*b,b*(d.m21*d.dy-d.m22*d.dx),b*(d.m12*d.dx-\nd.m11*d.dy)))}}1!==c&&(a.globalAlpha=f)}}}};function rl(a,b,c,d){var e=a.naturalBounds,f=0,g=0,h=e.width;e=e.height;var k=a.Ow();a instanceof uf&&(e=a.ma.bounds,f=e.x,g=e.y,h=e.width,e=e.height);bi(a,b,a.Rb,!0,!1,c,d);a.Rb instanceof ml&&a.Rb.type===nl?(b.beginPath(),b.rect(f-k/2,g-k/2,h+k,e+k),b.uf(a.Rb)):b.fillRect(f-k/2,g-k/2,h+k,e+k)}t.Px=function(){return!1};t.Fi=function(){};\nfunction bi(a,b,c,d,e,f,g){if(null!==c){var h=1,k=1;if(\"string\"===typeof c)d?b.fillStyle=c:b.strokeStyle=c;else if(c.type===tl)d?b.fillStyle=c.color:b.strokeStyle=c.color;else{var l=0;a instanceof uf&&(l=a.strokeWidth);h=f.width;k=f.height;e?(h=g.width,k=g.height):d||(h+=l,k+=l);if((f=b instanceof ul)&&c.ke&&(c.type===vl||c.Pk===h&&c.At===k))var m=c.ke;else{var n=0,p=0,r=0,q=0,u=0,v=0;v=u=0;e?(u=g.x,v=g.y):d||(u-=l/2,v-=l/2);n=c.start.x*h+c.start.offsetX;p=c.start.y*k+c.start.offsetY;r=c.end.x*h+\nc.end.offsetX;q=c.end.y*k+c.end.offsetY;n+=u;r+=u;p+=v;q+=v;if(c.type===wl)m=b.createLinearGradient(n,p,r,q);else if(c.type===nl)v=isNaN(c.endRadius)?Math.max(h,k)/2:c.endRadius,isNaN(c.startRadius)?(u=0,v=Math.max(h,k)/2):u=c.startRadius,m=b.createRadialGradient(n,p,u,r,q,v);else if(c.type===vl)try{m=b.createPattern(c.pattern,\"repeat\")}catch(z){m=null}if(c.type!==vl&&(e=c.colorStops,null!==e))for(e=e.iterator;e.next();)m.addColorStop(e.key,e.value);if(f&&(c.ke=m,null!==m&&(c.Pk=h,c.At=k),null===\nm&&c.type===vl&&-1!==c.Pk)){c.Pk=-1;var w=a.diagram;null!==w&&-1===c.Pk&&ua(function(){w.redraw()},600)}}d?b.fillStyle=m:b.strokeStyle=m}}}t.mg=function(a){if(a instanceof X)a:{if(this!==a&&null!==a)for(var b=this.panel;null!==b;){if(b===a){a=!0;break a}b=b.panel}a=!1}else a=!1;return a};t.Bf=function(){if(!this.visible)return!1;var a=this.panel;return null!==a?a.Bf():!0};t.Af=function(){for(var a=this instanceof X?this:this.panel;null!==a&&a.isEnabled;)a=a.panel;return null===a};\nfunction ol(a){if(0!==(a.G&2048)===!0){var b=a.tb;b.reset();if(!a.vb.u()||!a.ic.u()){xl(a,!1);return}b.translate(a.vb.x-a.ic.x,a.vb.y-a.ic.y);if(1!==a.scale||0!==a.angle){var c=a.naturalBounds;a.zp(b,c.x,c.y,c.width,c.height)}xl(a,!1);yl(a,!0)}0!==(a.G&4096)===!0&&(b=a.panel,null===b?(a.Mh.set(a.tb),a.al=a.scale,yl(a,!1)):null!==b.de&&(c=a.Mh,c.reset(),b.he()?c.multiply(b.Mh):null!==b.panel&&c.multiply(b.panel.Mh),c.multiply(a.tb),a.al=a.scale*b.al,yl(a,!1)))}\nt.zp=function(a,b,c,d,e){1!==this.sa&&a.scale(this.sa);if(0!==this.xb){var f=J.alloc();f.Vi(b,c,d,e,yc);a.rotate(this.xb,f.x,f.y);J.free(f)}};t.s=function(a){if(!mj(this)){void 0===a&&(a=!1);hj(this,!0);il(this,!0);var b=this.panel;null===b||a||b.s()}};t.mk=function(){mj(this)||(hj(this,!0),il(this,!0))};function zl(a){if(!nj(a)){var b=a.panel;null!==b?b.s():a.Ri()&&(b=a.diagram,null!==b&&(b.qe.add(a),a instanceof W&&a.pd(),b.Fb()));il(a,!0)}}\nt.ll=function(){0!==(this.G&2048)===!1&&(xl(this,!0),yl(this,!0))};t.Bv=function(){yl(this,!0)};t.N=function(){var a=this.part;null!==a&&a.N()};\nfunction hl(a,b){var c=a.stretch,d=a.panel;if(null!==d&&d.type===X.Table)return Al(a,d.getRowDefinition(a.row),d.getColumnDefinition(a.column),b);if(null!==d&&d.type===X.Auto&&d.nb()===a)return Bl(a,sd,b);if(c===Uk){if(null!==d){if(d.type===X.Spot&&d.nb()===a)return Bl(a,sd,b);c=d.defaultStretch;return c===Uk?Bl(a,og,b):Bl(a,c,b)}return Bl(a,og,b)}return Bl(a,c,b)}\nfunction Al(a,b,c,d){var e=a.stretch;if(e!==Uk)return Bl(a,e,d);var f=e=null;switch(b.stretch){case Wk:f=!0;break;case sd:f=!0}switch(c.stretch){case Vk:e=!0;break;case sd:e=!0}b=a.panel.defaultStretch;null===e&&(e=b===Vk||b===sd);null===f&&(f=b===Wk||b===sd);return!0===e&&!0===f?Bl(a,sd,d):!0===e?Bl(a,Vk,d):!0===f?Bl(a,Wk,d):Bl(a,og,d)}\nfunction Bl(a,b,c){if(c)return b;if(b===og)return og;c=a.desiredSize;if(c.u())return og;a=a.angle;if(!isNaN(c.width))if(90!==a&&270!==a){if(b===Vk)return og;if(b===sd)return Wk}else{if(b===Wk)return og;if(b===sd)return Vk}if(!isNaN(c.height))if(90!==a&&270!==a){if(b===Wk)return og;if(b===sd)return Vk}else{if(b===Vk)return og;if(b===sd)return Wk}return b}function sl(a,b){a.G=b?a.G|512:a.G&-513}function dl(a){return 0!==(a.G&1024)}function Cl(a,b){a.G=b?a.G|1024:a.G&-1025}\nfunction xl(a,b){a.G=b?a.G|2048:a.G&-2049}function yl(a,b){a.G=b?a.G|4096:a.G&-4097}function mj(a){return 0!==(a.G&8192)}function hj(a,b){a.G=b?a.G|8192:a.G&-8193}function nj(a){return 0!==(a.G&16384)}function il(a,b){a.G=b?a.G|16384:a.G&-16385}t.Ti=function(a){this.Xf=a};t.gt=function(){};t.Zv=function(a){this.ka=a;zl(this);return!0};t.Gm=function(a,b){if(this.ka.x!==a||this.ka.y!==b)this.ka.h(a,b),this.ll()};t.Ow=function(){return 0};\nfunction Dl(a){var b=a.part;if(b instanceof W&&(null!==a.portId||a===b.port)){var c=b.diagram;null===c||c.undoManager.isUndoingRedoing||ll(b,a)}}function El(a){var b=a.diagram;null===b||b.undoManager.isUndoingRedoing||(a instanceof X?a instanceof W?a.pd():a.Mm(a,function(a){Dl(a)}):Dl(a))}\nt.bind=function(a,b,c,d){var e=null;\"string\"===typeof a?e=new ri(a,b,c,d):e=a;e.md=this;a=this.yh();null!==a&&Fl(a)&&C(\"Cannot add a Binding to a template that has already been copied: \"+e);null===this.fb&&(this.fb=new E);this.fb.add(e);return this};t.set=function(a){Object.assign(this,a);return this};t.dv=function(a){Gl(this,a);return this};t.apply=function(a){a(this);return this};t.Hm=function(a){tj(this,a);return this};t.Vz=function(){return this.yh()};\nt.yh=function(){for(var a=this instanceof X?this:this.panel;null!==a;){if(null!==a.Ph)return a;a=a.panel}return null};t.fw=function(a){a.md=this;null===this.rg&&(this.rg=new I);this.rg.add(a.propertyName,a);return this};\nfunction Hl(a,b){for(var c=1;c<arguments.length;++c);c=arguments;var d=null,e=null;if(\"function\"===typeof a)e=a;else if(\"string\"===typeof a){var f=Il.H(a);\"function\"===typeof f?(c=Ba(arguments),d=f(c),za(d)||C('GraphObject.make invoked object builder \"'+a+'\", but it did not return an Object')):e=x.go[a]}null===d&&(void 0!==e&&null!==e&&e.constructor||C(\"GraphObject.make requires a class function or GoJS class name or name of an object builder, not: \"+a),d=new e);e=1;if(d instanceof T&&1<c.length){f=\nd;var g=c[1];if(\"string\"===typeof g||g instanceof HTMLDivElement)ni(f,g),e++}for(;e<c.length;e++)f=c[e],void 0===f?C(\"Undefined value at argument \"+e+\" for object being constructed by GraphObject.make: \"+d):Gl(d,f);return d}\nfunction Gl(a,b){if(\"string\"===typeof b)if(a instanceof Lg)a.text=b;else if(a instanceof uf)a.figure=b;else if(a instanceof Vj)a.source=b;else if(a instanceof X)b=Jl.H(b),null!==b&&(a.type=b);else if(a instanceof ml){var c=Ua(ml,b);null!==c?a.type=c:C(\"Unknown Brush type as an argument to GraphObject.make: \"+b)}else a instanceof Q?(b=Ua(Q,b),null!==b&&(a.type=b)):a instanceof Xd&&(b=Ua(Xd,b),null!==b&&(a.type=b));else if(b instanceof Y)a instanceof X||C(\"A GraphObject can only be added to a Panel, not to: \"+\na),a.add(b);else if(b instanceof Nj){var d;b.isRow&&\"function\"===typeof a.getRowDefinition?d=a.getRowDefinition(b.index):b.isRow||\"function\"!==typeof a.getColumnDefinition||(d=a.getColumnDefinition(b.index));d instanceof Nj?(a=d,b.isRow?a.height=b.height:a.width=b.width,a.minimum=b.minimum,a.maximum=b.maximum,a.alignment=b.alignment,a.stretch=b.stretch,a.sizing=b.sizing,a.$f=null===b.separatorPadding?null:b.separatorPadding.I(),a.separatorStroke=b.separatorStroke,a.separatorStrokeWidth=b.separatorStrokeWidth,\na.Tj=null,b.separatorDashArray&&(a.Tj=Ba(b.separatorDashArray)),a.background=b.background,a.coversSeparators=b.coversSeparators,a.fb=b.fb):C(\"A RowColumnDefinition can only be added to an object that implements getRowDefinition/getColumnDefinition, not to: \"+a)}else if(b instanceof D)\"function\"===typeof a.gb&&a.gb(b);else if(b instanceof Kl)a.type=b;else if(b instanceof ri)a instanceof Y?a.bind(b):a instanceof Nj?a.bind(b):C(\"A Binding can only be applied to a GraphObject or RowColumnDefinition, not to: \"+\na);else if(b instanceof Uh)a instanceof Y?a.fw(b):C(\"An AnimationTrigger can only be applied to a GraphObject, not to: \"+a);else if(b instanceof Wd)a instanceof Q?a.figures.add(b):C(\"A PathFigure can only be added to a Geometry, not to: \"+a);else if(b instanceof Xd)a instanceof Wd?a.segments.add(b):C(\"A PathSegment can only be added to a PathFigure, not to: \"+a);else if(b instanceof li)a instanceof T?a.layout=b:a instanceof hf?a.layout=b:C(\"A Layout can only be assigned to a Diagram or a Group, not to: \"+\na);else if(Array.isArray(b))for(c=0;c<b.length;c++)Gl(a,b[c]);else if(\"object\"===typeof b&&null!==b)if(a instanceof ml){c=new Wa;for(var e in b)d=parseFloat(e),isNaN(d)?c[e]=b[e]:a.addColorStop(d,b[e]);tj(a,c)}else if(a instanceof Nj){void 0!==b.row?(e=b.row,(void 0===e||null===e||Infinity===e||isNaN(e)||0>e)&&C(\"Must specify non-negative integer row for RowColumnDefinition \"+b+\", not: \"+e),a.isRow=!0,a.index=e):void 0!==b.column&&(e=b.column,(void 0===e||null===e||Infinity===e||isNaN(e)||0>e)&&C(\"Must specify non-negative integer column for RowColumnDefinition \"+\nb+\", not: \"+e),a.isRow=!1,a.index=e);e=new Wa;for(c in b)\"row\"!==c&&\"column\"!==c&&(e[c]=b[c]);tj(a,e)}else tj(a,b);else C('Unknown initializer \"'+b+'\" for object being constructed by GraphObject.make: '+a)}function Ll(a,b){Il.add(a,b)}function Ml(a,b,c){void 0===c&&(c=null);var d=a[1];if(\"function\"===typeof c?c(d):\"string\"===typeof d)return a.splice(1,1),d;if(void 0===b)throw Error(\"no \"+(\"function\"===typeof c?\"satisfactory\":\"string\")+\" argument for GraphObject builder \"+a[0]);return b}\nna.Object.defineProperties(Y.prototype,{shadowVisible:{get:function(){return this.Nl},set:function(a){var b=this.Nl;b!==a&&(this.Nl=a,this.N(),this.g(\"shadowVisible\",b,a))}},enabledChanged:{get:function(){return null!==this.O?this.O.Fn:null},set:function(a){al(this);var b=this.O.Fn;b!==a&&(this.O.Fn=a,this.g(\"enabledChanged\",b,a))}},segmentOrientation:{get:function(){return this.Ll},set:function(a){var b=this.Ll;\nb!==a&&(this.Ll=a,this.s(),this.g(\"segmentOrientation\",b,a),a===Vf&&(this.angle=0))}},segmentIndex:{get:function(){return this.sp},set:function(a){a=Math.round(a);var b=this.sp;b!==a&&(this.sp=a,this.s(),this.g(\"segmentIndex\",b,a))}},segmentFraction:{get:function(){return this.Jl},set:function(a){isNaN(a)?a=0:0>a?a=0:1<a&&(a=1);var b=this.Jl;b!==a&&(this.Jl=a,this.s(),this.g(\"segmentFraction\",b,a))}},segmentOffset:{\nget:function(){return this.Kl},set:function(a){var b=this.Kl;b.A(a)||(this.Kl=a=a.I(),this.s(),this.g(\"segmentOffset\",b,a))}},stretch:{get:function(){return this.Be},set:function(a){var b=this.Be;b!==a&&(this.Be=a,this.s(),this.g(\"stretch\",b,a))}},name:{get:function(){return this.na},set:function(a){var b=this.na;b!==a&&(this.na=a,null!==this.part&&(this.part.li=null),this.g(\"name\",b,a))}},opacity:{get:function(){return this.lb},\nset:function(a){var b=this.lb;b!==a&&((0>a||1<a)&&xa(a,\"0 <= value <= 1\",Y,\"opacity\"),this.lb=a,this.g(\"opacity\",b,a),a=this.diagram,b=this.part,null!==a&&null!==b&&a.N(xj(b,b.actualBounds)))}},visible:{get:function(){return 0!==(this.G&1)},set:function(a){var b=0!==(this.G&1);b!==a&&(this.G^=1,this.g(\"visible\",b,a),b=this.panel,null!==b?b.s():this.Ri()&&this.Nb(a),this.N(),El(this))}},pickable:{get:function(){return 0!==(this.G&2)},set:function(a){var b=\n0!==(this.G&2);b!==a&&(this.G^=2,this.g(\"pickable\",b,a))}},fromLinkableDuplicates:{get:function(){return 0!==(this.G&4)},set:function(a){var b=0!==(this.G&4);b!==a&&(this.G^=4,this.g(\"fromLinkableDuplicates\",b,a))}},fromLinkableSelfNode:{get:function(){return 0!==(this.G&8)},set:function(a){var b=0!==(this.G&8);b!==a&&(this.G^=8,this.g(\"fromLinkableSelfNode\",b,a))}},toLinkableDuplicates:{get:function(){return 0!==\n(this.G&16)},set:function(a){var b=0!==(this.G&16);b!==a&&(this.G^=16,this.g(\"toLinkableDuplicates\",b,a))}},toLinkableSelfNode:{get:function(){return 0!==(this.G&32)},set:function(a){var b=0!==(this.G&32);b!==a&&(this.G^=32,this.g(\"toLinkableSelfNode\",b,a))}},isPanelMain:{get:function(){return 0!==(this.G&64)},set:function(a){var b=0!==(this.G&64);b!==a&&(this.G^=64,this.s(),this.g(\"isPanelMain\",b,a))}},isActionable:{\nget:function(){return 0!==(this.G&128)},set:function(a){var b=0!==(this.G&128);b!==a&&(this.G^=128,this.g(\"isActionable\",b,a))}},areaBackground:{get:function(){return this.fd},set:function(a){var b=this.fd;b!==a&&(null!==a&&Nl(a,\"GraphObject.areaBackground\"),a instanceof ml&&a.freeze(),this.fd=a,this.N(),this.g(\"areaBackground\",b,a))}},background:{get:function(){return this.Rb},set:function(a){var b=this.Rb;b!==a&&(null!==a&&Nl(a,\"GraphObject.background\"),\na instanceof ml&&a.freeze(),this.Rb=a,this.N(),this.g(\"background\",b,a))}},part:{get:function(){if(this.Ri())return this;if(null!==this.Nj)return this.Nj;var a;for(a=this.panel;a;){if(a instanceof V)return this.Nj=a;a=a.panel}return null}},svg:{get:function(){return this.ns},set:function(a){this.ns=a}},panel:{get:function(){return this.Xf}},layer:{get:function(){var a=this.part;\nreturn null!==a?a.layer:null}},diagram:{get:function(){var a=this.part;return null!==a?a.diagram:null}},position:{get:function(){return this.ka},set:function(a){var b=a.x,c=a.y,d=this.ka,e=d.x;d=d.y;(e===b||isNaN(e)&&isNaN(b))&&(d===c||isNaN(d)&&isNaN(c))?this.gt():(a=a.copy(),this.Zv(a,e,d)&&this.g(\"position\",new J(e,d),a))}},actualBounds:{get:function(){return this.vb}},scale:{\nget:function(){return this.sa},set:function(a){var b=this.sa;b!==a&&(0>=a&&C(\"GraphObject.scale for \"+this+\" must be greater than zero, not: \"+a),this.sa=a,this.s(),this.g(\"scale\",b,a))}},angle:{get:function(){return this.xb},set:function(a){var b=this.xb;b!==a&&(a%=360,0>a&&(a+=360),b!==a&&(this.xb=a,El(this),this.s(),this.g(\"angle\",b,a)))}},desiredSize:{get:function(){return this.Sc},set:function(a){var b=a.width,c=a.height,d=this.Sc,e=\nd.width,f=d.height;(e===b||isNaN(e)&&isNaN(b))&&(f===c||isNaN(f)&&isNaN(c))||(this.Sc=a=a.I(),this.s(),this instanceof uf&&this.cc(),this.g(\"desiredSize\",d,a),dl(this)&&(a=this.part,null!==a&&(el(this,a,\"width\"),el(this,a,\"height\"))))}},width:{get:function(){return this.Sc.width},set:function(a){var b=this.Sc.width;b===a||isNaN(b)&&isNaN(a)||(b=this.Sc,this.Sc=a=(new M(a,this.Sc.height)).freeze(),this.s(),this instanceof uf&&this.cc(),this.g(\"desiredSize\",b,a),dl(this)&&\n(a=this.part,null!==a&&el(this,a,\"width\")))}},height:{get:function(){return this.Sc.height},set:function(a){var b=this.Sc.height;b===a||isNaN(b)&&isNaN(a)||(b=this.Sc,this.Sc=a=(new M(this.Sc.width,a)).freeze(),this.s(),this instanceof uf&&this.cc(),this.g(\"desiredSize\",b,a),dl(this)&&(a=this.part,null!==a&&el(this,a,\"height\")))}},minSize:{get:function(){return this.Uf},set:function(a){var b=this.Uf;b.A(a)||(a=a.copy(),isNaN(a.width)&&(a.width=\n0),isNaN(a.height)&&(a.height=0),a.freeze(),this.Uf=a,this.s(),this.g(\"minSize\",b,a))}},maxSize:{get:function(){return this.Tf},set:function(a){var b=this.Tf;b.A(a)||(a=a.copy(),isNaN(a.width)&&(a.width=Infinity),isNaN(a.height)&&(a.height=Infinity),a.freeze(),this.Tf=a,this.s(),this.g(\"maxSize\",b,a))}},measuredBounds:{get:function(){return this.ic}},naturalBounds:{get:function(){return this.qc}},margin:{\nget:function(){return this.Pg},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.Pg;b.A(a)||(this.Pg=a=a.I(),this.s(),this.g(\"margin\",b,a))}},transform:{get:function(){0!==(this.G&2048)===!0&&ol(this);return this.tb}},de:{get:function(){0!==(this.G&4096)===!0&&ol(this);return this.Mh}},alignment:{get:function(){return this.wb},set:function(a){var b=this.wb;b.A(a)||(a.wc()&&!a.Lb()&&\nC(\"GraphObject.alignment for \"+this+\" must be a real Spot or Spot.Default, not: \"+a),this.wb=a=a.I(),zl(this),this.g(\"alignment\",b,a))}},column:{get:function(){return this.wg},set:function(a){a=Math.round(a);var b=this.wg;b!==a&&(0>a&&xa(a,\">= 0\",Y,\"column\"),this.wg=a,this.s(),this.g(\"column\",b,a))}},columnSpan:{get:function(){return this.jn},set:function(a){a=Math.round(a);var b=this.jn;b!==a&&(1>a&&xa(a,\">= 1\",Y,\"columnSpan\"),this.jn=a,\nthis.s(),this.g(\"columnSpan\",b,a))}},row:{get:function(){return this.np},set:function(a){a=Math.round(a);var b=this.np;b!==a&&(0>a&&xa(a,\">= 0\",Y,\"row\"),this.np=a,this.s(),this.g(\"row\",b,a))}},rowSpan:{get:function(){return this.op},set:function(a){a=Math.round(a);var b=this.op;b!==a&&(1>a&&xa(a,\">= 1\",Y,\"rowSpan\"),this.op=a,this.s(),this.g(\"rowSpan\",b,a))}},spanAllocation:{get:function(){return this.Fp},set:function(a){var b=\nthis.Fp;b!==a&&(this.Fp=a,this.s(),this.g(\"spanAllocation\",b,a))}},alignmentFocus:{get:function(){return this.Gk},set:function(a){var b=this.Gk;b.A(a)||(this.Gk=a=a.I(),this.s(),this.g(\"alignmentFocus\",b,a))}},portId:{get:function(){return this.ap},set:function(a){var b=this.ap;if(b!==a){var c=this.part;null===c||c instanceof W||C(\"Cannot set portID on a Link: \"+a);null!==b&&null!==c&&Ol(c,this);this.ap=a;null!==a&&null!==c&&(c.Ge=!0,Pl(c,\nthis));this.g(\"portId\",b,a)}}},toSpot:{get:function(){return null!==this.P?this.P.ph:rc},set:function(a){this.Hc();var b=this.P.ph;b.A(a)||(a=a.I(),this.P.ph=a,this.g(\"toSpot\",b,a),Dl(this))}},toEndSegmentLength:{get:function(){return null!==this.P?this.P.nh:10},set:function(a){this.Hc();var b=this.P.nh;b!==a&&(0>a&&xa(a,\">= 0\",Y,\"toEndSegmentLength\"),this.P.nh=a,this.g(\"toEndSegmentLength\",b,a),Dl(this))}},toShortLength:{\nget:function(){return null!==this.P?this.P.oh:0},set:function(a){this.Hc();var b=this.P.oh;b!==a&&(this.P.oh=a,this.g(\"toShortLength\",b,a),Dl(this))}},toLinkable:{get:function(){return null!==this.P?this.P.Mp:null},set:function(a){this.Hc();var b=this.P.Mp;b!==a&&(this.P.Mp=a,this.g(\"toLinkable\",b,a))}},toMaxLinks:{get:function(){return null!==this.P?this.P.Np:Infinity},set:function(a){this.Hc();var b=this.P.Np;b!==a&&(0>a&&\nxa(a,\">= 0\",Y,\"toMaxLinks\"),this.P.Np=a,this.g(\"toMaxLinks\",b,a))}},fromSpot:{get:function(){return null!==this.P?this.P.Jg:rc},set:function(a){this.Hc();var b=this.P.Jg;b.A(a)||(a=a.I(),this.P.Jg=a,this.g(\"fromSpot\",b,a),Dl(this))}},fromEndSegmentLength:{get:function(){return null!==this.P?this.P.Hg:10},set:function(a){this.Hc();var b=this.P.Hg;b!==a&&(0>a&&xa(a,\">= 0\",Y,\"fromEndSegmentLength\"),this.P.Hg=a,this.g(\"fromEndSegmentLength\",\nb,a),Dl(this))}},fromShortLength:{get:function(){return null!==this.P?this.P.Ig:0},set:function(a){this.Hc();var b=this.P.Ig;b!==a&&(this.P.Ig=a,this.g(\"fromShortLength\",b,a),Dl(this))}},fromLinkable:{get:function(){return null!==this.P?this.P.Mn:null},set:function(a){this.Hc();var b=this.P.Mn;b!==a&&(this.P.Mn=a,this.g(\"fromLinkable\",b,a))}},fromMaxLinks:{get:function(){return null!==this.P?this.P.Nn:Infinity},\nset:function(a){this.Hc();var b=this.P.Nn;b!==a&&(0>a&&xa(a,\">= 0\",Y,\"fromMaxLinks\"),this.P.Nn=a,this.g(\"fromMaxLinks\",b,a))}},cursor:{get:function(){return this.Sh},set:function(a){var b=this.Sh;b!==a&&(this.Sh=a,this.g(\"cursor\",b,a))}},click:{get:function(){return null!==this.O?this.O.vg:null},set:function(a){al(this);var b=this.O.vg;b!==a&&(this.O.vg=a,this.g(\"click\",b,a))}},doubleClick:{get:function(){return null!==\nthis.O?this.O.Dg:null},set:function(a){al(this);var b=this.O.Dg;b!==a&&(this.O.Dg=a,this.g(\"doubleClick\",b,a))}},contextClick:{get:function(){return null!==this.O?this.O.xg:null},set:function(a){al(this);var b=this.O.xg;b!==a&&(this.O.xg=a,this.g(\"contextClick\",b,a))}},mouseEnter:{get:function(){return null!==this.O?this.O.Sg:null},set:function(a){al(this);var b=this.O.Sg;b!==a&&(this.O.Sg=a,this.g(\"mouseEnter\",b,a))}},mouseLeave:{\nget:function(){return null!==this.O?this.O.Vg:null},set:function(a){al(this);var b=this.O.Vg;b!==a&&(this.O.Vg=a,this.g(\"mouseLeave\",b,a))}},mouseOver:{get:function(){return null!==this.O?this.O.Wg:null},set:function(a){al(this);var b=this.O.Wg;b!==a&&(this.O.Wg=a,this.g(\"mouseOver\",b,a))}},mouseHover:{get:function(){return null!==this.O?this.O.Ug:null},set:function(a){al(this);var b=this.O.Ug;b!==a&&(this.O.Ug=a,this.g(\"mouseHover\",\nb,a))}},mouseHold:{get:function(){return null!==this.O?this.O.Tg:null},set:function(a){al(this);var b=this.O.Tg;b!==a&&(this.O.Tg=a,this.g(\"mouseHold\",b,a))}},mouseDragEnter:{get:function(){return null!==this.O?this.O.Ho:null},set:function(a){al(this);var b=this.O.Ho;b!==a&&(this.O.Ho=a,this.g(\"mouseDragEnter\",b,a))}},mouseDragLeave:{get:function(){return null!==this.O?this.O.Io:null},set:function(a){al(this);\nvar b=this.O.Io;b!==a&&(this.O.Io=a,this.g(\"mouseDragLeave\",b,a))}},mouseDrop:{get:function(){return null!==this.O?this.O.Rg:null},set:function(a){al(this);var b=this.O.Rg;b!==a&&(this.O.Rg=a,this.g(\"mouseDrop\",b,a))}},actionDown:{get:function(){return null!==this.O?this.O.Vm:null},set:function(a){al(this);var b=this.O.Vm;b!==a&&(this.O.Vm=a,this.g(\"actionDown\",b,a))}},actionMove:{get:function(){return null!==\nthis.O?this.O.Wm:null},set:function(a){al(this);var b=this.O.Wm;b!==a&&(this.O.Wm=a,this.g(\"actionMove\",b,a))}},actionUp:{get:function(){return null!==this.O?this.O.Xm:null},set:function(a){al(this);var b=this.O.Xm;b!==a&&(this.O.Xm=a,this.g(\"actionUp\",b,a))}},actionCancel:{get:function(){return null!==this.O?this.O.Um:null},set:function(a){al(this);var b=this.O.Um;b!==a&&(this.O.Um=a,this.g(\"actionCancel\",b,a))}},toolTip:{\nget:function(){return null!==this.O?this.O.qh:null},set:function(a){al(this);var b=this.O.qh;b!==a&&(this.O.qh=a,this.g(\"toolTip\",b,a))}},contextMenu:{get:function(){return null!==this.O?this.O.yg:null},set:function(a){al(this);var b=this.O.yg;b!==a&&(this.O.yg=a,this.g(\"contextMenu\",b,a))}}});Y.prototype.trigger=Y.prototype.fw;Y.prototype.findBindingPanel=Y.prototype.yh;Y.prototype.findTemplateBinder=Y.prototype.Vz;Y.prototype.setProperties=Y.prototype.Hm;\nY.prototype.apply=Y.prototype.apply;Y.prototype.attach=Y.prototype.dv;Y.prototype.set=Y.prototype.set;Y.prototype.isEnabledObject=Y.prototype.Af;Y.prototype.isVisibleObject=Y.prototype.Bf;Y.prototype.isContainedBy=Y.prototype.mg;Y.prototype.getNearestIntersectionPoint=Y.prototype.Is;Y.prototype.getLocalPoint=Y.prototype.Hs;Y.prototype.getDocumentScale=Y.prototype.wf;Y.prototype.getDocumentAngle=Y.prototype.Li;Y.prototype.getDocumentBounds=Y.prototype.Mi;Y.prototype.getDocumentPoint=Y.prototype.da;\nY.prototype.intersectsRect=Y.prototype.Ic;Y.prototype.containedInRect=Y.prototype.wh;Y.prototype.containsRect=Y.prototype.De;Y.prototype.containsPoint=Y.prototype.$;Y.prototype.raiseChanged=Y.prototype.g;Y.prototype.raiseChangedEvent=Y.prototype.Va;Y.prototype.addCopyProperty=Y.prototype.yx;var Il=null;Y.className=\"GraphObject\";Il=new I;\nLl(\"Button\",function(){function a(a,b){return null!==a.diagram.Wb(a.documentPoint,function(a){for(;null!==a.panel&&!a.isActionable;)a=a.panel;return a},function(a){return a===b})}var b=Hl(X,X.Auto,{isActionable:!0,enabledChanged:function(a,b){if(a instanceof X){var c=a.Ya(\"ButtonBorder\");null!==c&&(c.fill=b?a._buttonFillNormal:a._buttonFillDisabled)}},cursor:\"pointer\",_buttonFillNormal:\"#F5F5F5\",_buttonStrokeNormal:\"#BDBDBD\",_buttonFillOver:\"#E0E0E0\",_buttonStrokeOver:\"#9E9E9E\",_buttonFillPressed:\"#BDBDBD\",\n_buttonStrokePressed:\"#9E9E9E\",_buttonFillDisabled:\"#E5E5E5\"},Hl(uf,{name:\"ButtonBorder\",figure:\"RoundedRectangle\",spot1:new P(0,0,2.76142374915397,2.761423749153969),spot2:new P(1,1,-2.76142374915397,-2.761423749153969),parameter1:2,parameter2:2,fill:\"#F5F5F5\",stroke:\"#BDBDBD\"}));b.mouseEnter=function(a,b){if(b.Af()&&b instanceof X&&(a=b.Ya(\"ButtonBorder\"),a instanceof uf)){var c=b._buttonFillOver;b._buttonFillNormal=a.fill;a.fill=c;c=b._buttonStrokeOver;b._buttonStrokeNormal=a.stroke;a.stroke=c}};\nb.mouseLeave=function(a,b){b.Af()&&b instanceof X&&(a=b.Ya(\"ButtonBorder\"),a instanceof uf&&(a.fill=b._buttonFillNormal,a.stroke=b._buttonStrokeNormal))};b.actionDown=function(a,b){if(b.Af()&&b instanceof X&&null!==b._buttonFillPressed&&0===a.button){var c=b.Ya(\"ButtonBorder\");if(c instanceof uf){a=a.diagram;var d=a.skipsUndoManager;a.skipsUndoManager=!0;var g=b._buttonFillPressed;b._buttonFillOver=c.fill;c.fill=g;g=b._buttonStrokePressed;b._buttonStrokeOver=c.stroke;c.stroke=g;a.skipsUndoManager=\nd}}};b.actionUp=function(b,d){if(d.Af()&&d instanceof X&&null!==d._buttonFillPressed&&0===b.button){var c=d.Ya(\"ButtonBorder\");if(c instanceof uf){var f=b.diagram,g=f.skipsUndoManager;f.skipsUndoManager=!0;a(b,d)?(c.fill=d._buttonFillOver,c.stroke=d._buttonStrokeOver):(c.fill=d._buttonFillNormal,c.stroke=d._buttonStrokeNormal);f.skipsUndoManager=g}}};b.actionCancel=function(b,d){if(d.Af()&&d instanceof X&&null!==d._buttonFillPressed){var c=d.Ya(\"ButtonBorder\");if(c instanceof uf){var f=b.diagram,\ng=f.skipsUndoManager;f.skipsUndoManager=!0;a(b,d)?(c.fill=d._buttonFillOver,c.stroke=d._buttonStrokeOver):(c.fill=d._buttonFillNormal,c.stroke=d._buttonStrokeNormal);f.skipsUndoManager=g}}};b.actionMove=function(b,d){if(d.Af()&&d instanceof X&&null!==d._buttonFillPressed){var c=b.diagram;if(0===c.firstInput.button&&(c.currentTool.standardMouseOver(),a(b,d)&&(b=d.Ya(\"ButtonBorder\"),b instanceof uf))){var f=c.skipsUndoManager;c.skipsUndoManager=!0;var g=d._buttonFillPressed;b.fill!==g&&(b.fill=g);g=\nd._buttonStrokePressed;b.stroke!==g&&(b.stroke=g);c.skipsUndoManager=f}}};return b});\nLl(\"TreeExpanderButton\",function(){var a=Hl(\"Button\",{_treeExpandedFigure:\"MinusLine\",_treeCollapsedFigure:\"PlusLine\"},Hl(uf,{name:\"ButtonIcon\",figure:\"MinusLine\",stroke:\"#424242\",strokeWidth:2,desiredSize:Lb},(new ri(\"figure\",\"isTreeExpanded\",function(a,c){c=c.panel;return a?c._treeExpandedFigure:c._treeCollapsedFigure})).wq()),{visible:!1},(new ri(\"visible\",\"isTreeLeaf\",function(a){return!a})).wq());a.click=function(a,c){c=c.part;c instanceof we&&(c=c.adornedPart);if(c instanceof W){var b=c.diagram;\nif(null!==b){b=b.commandHandler;if(c.isTreeExpanded){if(!b.canCollapseTree(c))return}else if(!b.canExpandTree(c))return;a.handled=!0;c.isTreeExpanded?b.collapseTree(c):b.expandTree(c)}}};return a});\nLl(\"SubGraphExpanderButton\",function(){var a=Hl(\"Button\",{_subGraphExpandedFigure:\"MinusLine\",_subGraphCollapsedFigure:\"PlusLine\"},Hl(uf,{name:\"ButtonIcon\",figure:\"MinusLine\",stroke:\"#424242\",strokeWidth:2,desiredSize:Lb},(new ri(\"figure\",\"isSubGraphExpanded\",function(a,c){c=c.panel;return a?c._subGraphExpandedFigure:c._subGraphCollapsedFigure})).wq()));a.click=function(a,c){c=c.part;c instanceof we&&(c=c.adornedPart);if(c instanceof hf){var b=c.diagram;if(null!==b){b=b.commandHandler;if(c.isSubGraphExpanded){if(!b.canCollapseSubGraph(c))return}else if(!b.canExpandSubGraph(c))return;\na.handled=!0;c.isSubGraphExpanded?b.collapseSubGraph(c):b.expandSubGraph(c)}}};return a});Ll(\"ToolTip\",function(){return Hl(we,X.Auto,{isShadowed:!0,shadowColor:\"rgba(0, 0, 0, .4)\",shadowOffset:new J(0,3),shadowBlur:5},Hl(uf,{name:\"Border\",figure:\"RoundedRectangle\",parameter1:1,parameter2:1,fill:\"#F5F5F5\",stroke:\"#F0F0F0\",spot1:new P(0,0,4,6),spot2:new P(1,1,-4,-4)}))});\nLl(\"ContextMenu\",function(){return Hl(we,X.Vertical,{background:\"#F5F5F5\",isShadowed:!0,shadowColor:\"rgba(0, 0, 0, .4)\",shadowOffset:new J(0,3),shadowBlur:5},new ri(\"background\",\"\",function(a){return null!==a.adornedPart&&null!==a.placeholder?null:\"#F5F5F5\"}))});Ll(\"ContextMenuButton\",function(){var a=Hl(\"Button\");a.stretch=Vk;var b=a.Ya(\"ButtonBorder\");b instanceof uf&&(b.figure=\"Rectangle\",b.strokeWidth=0,b.spot1=new P(0,0,2,3),b.spot2=new P(1,1,-2,-2));return a});\nLl(\"PanelExpanderButton\",function(a){var b=Ml(a,\"COLLAPSIBLE\"),c=Hl(\"Button\",{_buttonExpandedFigure:\"M0 0 M0 6 L4 2 8 6 M8 8\",_buttonCollapsedFigure:\"M0 0 M0 2 L4 6 8 2 M8 8\",_buttonFillNormal:\"rgba(0, 0, 0, 0)\",_buttonStrokeNormal:null,_buttonFillOver:\"rgba(0, 0, 0, .2)\",_buttonStrokeOver:null,_buttonFillPressed:\"rgba(0, 0, 0, .4)\",_buttonStrokePressed:null},Hl(uf,{name:\"ButtonIcon\",strokeWidth:2},(new ri(\"geometryString\",\"visible\",function(a){return a?c._buttonExpandedFigure:c._buttonCollapsedFigure})).wq(b)));\na=c.Ya(\"ButtonBorder\");a instanceof uf&&(a.stroke=null,a.fill=\"rgba(0, 0, 0, 0)\");c.click=function(a,c){var d=c.diagram;if(null!==d&&!d.isReadOnly){var e=c.yh();null===e&&(e=c.part);null!==e&&(c=e.Ya(b),null!==c&&(a.handled=!0,d.wa(\"Collapse/Expand Panel\"),c.visible=!c.visible,d.Xa(\"Collapse/Expand Panel\")))}};return c});\nLl(\"CheckBoxButton\",function(a){var b=Ml(a);a=Hl(\"Button\",{desiredSize:new M(14,14)},Hl(uf,{name:\"ButtonIcon\",geometryString:\"M0 0 M0 8.85 L4.9 13.75 16.2 2.45 M16.2 16.2\",strokeWidth:2,stretch:sd,geometryStretch:qg,visible:!1},\"\"!==b?(new ri(\"visible\",b)).oy():[]));a.click=function(a,d){if(d instanceof X){var c=a.diagram;if(!(null===c||c.isReadOnly||\"\"!==b&&c.model.isReadOnly)){a.handled=!0;var f=d.Ya(\"ButtonIcon\");c.wa(\"checkbox\");f.visible=!f.visible;\"function\"===typeof d._doClick&&d._doClick(a,\nd);c.Xa(\"checkbox\")}}};return a});\nLl(\"CheckBox\",function(a){a=Ml(a);a=Hl(\"CheckBoxButton\",a,{name:\"Button\",isActionable:!1,margin:new ic(0,1,0,0)});var b=Hl(X,\"Horizontal\",a,{isActionable:!0,cursor:a.cursor,margin:1,_buttonFillNormal:a._buttonFillNormal,_buttonStrokeNormal:a._buttonStrokeNormal,_buttonFillOver:a._buttonFillOver,_buttonStrokeOver:a._buttonStrokeOver,_buttonFillPressed:a._buttonFillPressed,_buttonStrokePressed:a._buttonStrokePressed,_buttonFillDisabled:a._buttonFillDisabled,mouseEnter:a.mouseEnter,mouseLeave:a.mouseLeave,\nactionDown:a.actionDown,actionUp:a.actionUp,actionCancel:a.actionCancel,actionMove:a.actionMove,click:a.click,_buttonClick:a.click});a.mouseEnter=null;a.mouseLeave=null;a.actionDown=null;a.actionUp=null;a.actionCancel=null;a.actionMove=null;a.click=null;return b});Y.None=og=new D(Y,\"None\",0);Y.Default=Uk=new D(Y,\"Default\",0);Y.Vertical=Wk=new D(Y,\"Vertical\",4);Y.Horizontal=Vk=new D(Y,\"Horizontal\",5);Y.Fill=sd=new D(Y,\"Fill\",3);Y.Uniform=qg=new D(Y,\"Uniform\",1);\nY.UniformToFill=Xk=new D(Y,\"UniformToFill\",2);Y.FlipVertical=Yk=new D(Y,\"FlipVertical\",1);Y.FlipHorizontal=Zk=new D(Y,\"FlipHorizontal\",2);Y.FlipBoth=$k=new D(Y,\"FlipBoth\",3);Y.make=Hl;Y.getBuilders=function(){var a=new I,b;for(b in Il)if(b!==b.toLowerCase()){var c=Il.H(b);\"function\"===typeof c&&a.add(b,c)}a.freeze();return a};Y.defineBuilder=Ll;\nY.build=function(a,b){var c=Il.H(a);if(\"function\"===typeof c&&(c=c(null),c instanceof Y))return b&&c.set(b),c;C('GraphObject.build invoked object builder \"'+a+'\", but it did not return an Object')};Y.takeBuilderArgument=Ml;function bl(){this.Fn=this.yg=this.qh=this.Um=this.Xm=this.Wm=this.Vm=this.Rg=this.Io=this.Ho=this.Tg=this.Ug=this.Wg=this.Vg=this.Sg=this.xg=this.Dg=this.vg=null}\nbl.prototype.copy=function(){var a=new bl;a.vg=this.vg;a.Dg=this.Dg;a.xg=this.xg;a.Sg=this.Sg;a.Vg=this.Vg;a.Wg=this.Wg;a.Ug=this.Ug;a.Tg=this.Tg;a.Ho=this.Ho;a.Io=this.Io;a.Rg=this.Rg;a.Vm=this.Vm;a.Wm=this.Wm;a.Xm=this.Xm;a.Um=this.Um;a.qh=this.qh;a.yg=this.yg;a.Fn=this.Fn;return a};bl.className=\"GraphObjectEventHandlers\";function Ql(){this.Ma=[1,0,0,1,0,0]}\nQl.prototype.copy=function(){var a=new Ql;a.Ma[0]=this.Ma[0];a.Ma[1]=this.Ma[1];a.Ma[2]=this.Ma[2];a.Ma[3]=this.Ma[3];a.Ma[4]=this.Ma[4];a.Ma[5]=this.Ma[5];return a};Ql.prototype.translate=function(a,b){this.Ma[4]+=this.Ma[0]*a+this.Ma[2]*b;this.Ma[5]+=this.Ma[1]*a+this.Ma[3]*b};Ql.prototype.scale=function(a,b){this.Ma[0]*=a;this.Ma[1]*=a;this.Ma[2]*=b;this.Ma[3]*=b};Ql.className=\"STransform\";\nfunction Rl(a){this.type=a;this.r2=this.y2=this.x2=this.r1=this.y1=this.x1=0;this.Ix=[];this.pattern=null}Rl.prototype.addColorStop=function(a,b){this.Ix.push({offset:a,color:b})};Rl.className=\"SGradient\";\nfunction wj(a,b){this.ownerDocument=a=void 0===b?x.document:b;this.FA=\"http://www.w3.org/2000/svg\";void 0!==a&&(this.La=this.Ob(\"svg\",{width:\"1px\",height:\"1px\",viewBox:\"0 0 1 1\"}),this.La.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns\",\"http://www.w3.org/2000/svg\"),this.La.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"));this.gq=null;this.context=new Sl(this)}\nwj.prototype.resize=function(a,b,c,d){return this.width!==a||this.height!==b?(this.style.width=c+\"px\",this.style.height=d+\"px\",this.La.setAttributeNS(null,\"width\",c+\"px\"),this.La.setAttributeNS(null,\"height\",d+\"px\"),this.La.setAttributeNS(null,\"viewBox\",\"0 0 \"+c+\" \"+d),this.context.Yw.firstElementChild.setAttributeNS(null,\"width\",c+\"px\"),this.context.Yw.firstElementChild.setAttributeNS(null,\"height\",d+\"px\"),!0):!1};\nwj.prototype.Ob=function(a,b,c){a=this.ownerDocument.createElementNS(this.FA,a);if(za(b))for(var d in b)a.setAttributeNS(\"href\"===d?\"http://www.w3.org/1999/xlink\":\"\",d,b[d]);void 0!==c&&(a.textContent=c);return a};wj.prototype.getBoundingClientRect=function(){return this.La.getBoundingClientRect()};wj.prototype.focus=function(){this.La.focus()};wj.prototype.Ox=function(){this.ownerDocument=null};\nna.Object.defineProperties(wj.prototype,{width:{get:function(){return this.La.width.baseVal.value},set:function(a){this.La.width=a}},height:{get:function(){return this.La.height.baseVal.value},set:function(a){this.La.height=a}},style:{get:function(){return this.La.style}}});wj.className=\"SVGSurface\";\nfunction Sl(a){this.jt=a;this.svg=a.La;this.stack=[];this.dd=[];this.fillStyle=\"#000000\";this.font=\"10px sans-serif\";this.globalAlpha=1;this.lineCap=\"butt\";this.lineDashOffset=0;this.lineJoin=\"miter\";this.lineWidth=1;this.miterLimit=10;this.shadowBlur=0;this.shadowColor=\"rgba(0, 0, 0, 0)\";this.shadowOffsetY=this.shadowOffsetX=0;this.strokeStyle=\"#000000\";this.textAlign=\"start\";this.clipInsteadOfFill=!1;this.bg=this.fs=this.es=0;this.Rs=null;this.path=[];this.Yt=!1;this.ih=null;this.jh=0;this.Ee=new Ql;\nTl(this,1,0,0,1,0,0);var b=kb++,c=this.Ob(\"clipPath\",{id:\"mainClip\"+b});c.appendChild(this.Ob(\"rect\",{x:0,y:0,width:a.width,height:a.height}));this.Yw=c;this.jt.La.appendChild(c);this.dd[0].setAttributeNS(null,\"clip-path\",\"url(#mainClip\"+b+\")\");this.HA={}}t=Sl.prototype;\nt.arc=function(a,b,c,d,e,f,g,h){var k=2*Math.PI,l=k-1E-6,m=c*Math.cos(d),n=c*Math.sin(d),p=a+m,r=b+n,q=f?0:1;d=f?d-e:e-d;(1E-6<Math.abs(g-p)||1E-6<Math.abs(h-r))&&this.path.push([\"L\",p,+r]);0>d&&(d=d%k+k);d>l?(this.path.push([\"A\",c,c,0,1,q,a-m,b-n]),this.path.push([\"A\",c,c,0,1,q,p,r])):1E-6<d&&this.path.push([\"A\",c,c,0,+(d>=Math.PI),q,a+c*Math.cos(e),b+c*Math.sin(e)])};t.beginPath=function(){this.path=[]};t.bezierCurveTo=function(a,b,c,d,e,f){this.path.push([\"C\",a,b,c,d,e,f])};t.clearRect=function(){};\nt.clip=function(){this.addPath(\"clipPath\",this.path,this.Ee)};t.closePath=function(){this.path.push([\"z\"])};t.createLinearGradient=function(a,b,c,d){var e=new Rl(\"linear\");e.x1=a;e.y1=b;e.x2=c;e.y2=d;return e};\nt.createPattern=function(a){var b=\"\";a instanceof HTMLCanvasElement&&(b=a.toDataURL());a instanceof HTMLImageElement&&(b=a.getAttribute(\"src\"));var c=this.HA;if(c[b])return\"url(#\"+c[b]+\")\";var d=\"PATTERN\"+kb++,e={x:0,y:0,width:a.width,height:a.height,href:b};a=this.Ob(\"pattern\",{width:a.width,height:a.height,id:d,patternUnits:\"userSpaceOnUse\"});a.appendChild(this.Ob(zk,e));this.svg.appendChild(a);c[b]=d;return\"url(#\"+d+\")\"};\nt.createRadialGradient=function(a,b,c,d,e,f){var g=new Rl(\"radial\");g.x1=a;g.y1=b;g.r1=c;g.x2=d;g.y2=e;g.r2=f;return g};\nt.drawImage=function(a,b,c,d,e,f,g,h,k){var l=\"\";a instanceof HTMLCanvasElement&&(l=a.toDataURL());a instanceof HTMLImageElement&&(l=a.getAttribute(\"src\"));var m=a instanceof HTMLImageElement?a.naturalWidth:a.width,n=a instanceof HTMLImageElement?a.naturalHeight:a.height;void 0===d&&(f=b,g=c,h=d=m,k=e=n);d=d||0;e=e||0;f=f||0;g=g||0;h=h||0;k=k||0;a={x:0,y:0,width:m||d,height:n||e,href:l};L.aa(d,h)&&L.aa(e,k)?-1===l.toLowerCase().indexOf(\".svg\")&&-1===l.toLowerCase().indexOf(\"data:image/svg\")&&(a.preserveAspectRatio=\n\"xMidYMid slice\"):a.preserveAspectRatio=\"none\";l=\"\";h/=d;k/=e;if(0!==f||0!==g)l+=\" translate(\"+f+\", \"+g+\")\";if(1!==h||1!==k)l+=\" scale(\"+h+\", \"+k+\")\";if(0!==b||0!==c)l+=\" translate(\"+-b+\", \"+-c+\")\";if(0!==b||0!==c||d!==m||e!==n)f=\"CLIP\"+kb++,g=this.Ob(\"clipPath\",{id:f}),g.appendChild(this.Ob(\"rect\",{x:b,y:c,width:d,height:e})),this.svg.appendChild(g),a[\"clip-path\"]=\"url(#\"+f+\")\";Ul(this,zk,a,this.Ee,l);this.addElement(zk,a)};t.fill=function(){this.addPath(\"fill\",this.path,this.Ee)};\nt.uf=function(){this.clipInsteadOfFill?this.clip():this.fill()};t.fillRect=function(a,b,c,d){a=[a,b,c,d];a={x:a[0],y:a[1],width:a[2],height:a[3]};Ul(this,\"fill\",a,this.Ee);this.addElement(\"rect\",a)};t.fillText=function(a,b,c){a=[a,b,c];b=this.textAlign;\"left\"===b?b=\"start\":\"right\"===b?b=\"end\":\"center\"===b&&(b=\"middle\");b={x:a[1],y:a[2],style:\"font: \"+this.font,\"text-anchor\":b};Ul(this,\"fill\",b,this.Ee);this.addElement(\"text\",b,a[0])};t.lineTo=function(a,b){this.path.push([\"L\",a,b])};\nt.moveTo=function(a,b){this.path.push([\"M\",a,b])};t.quadraticCurveTo=function(a,b,c,d){this.path.push([\"Q\",a,b,c,d])};t.rect=function(a,b,c,d){this.path.push([\"M\",a,b],[\"L\",a+c,b],[\"L\",a+c,b+d],[\"L\",a,b+d],[\"z\"])};\nt.restore=function(){this.Ee=this.stack.pop();this.path=this.stack.pop();var a=this.stack.pop();this.fillStyle=a.fillStyle;this.font=a.font;this.globalAlpha=a.globalAlpha;this.lineCap=a.lineCap;this.lineDashOffset=a.lineDashOffset;this.lineJoin=a.lineJoin;this.lineWidth=a.lineWidth;this.miterLimit=a.miterLimit;this.shadowBlur=a.shadowBlur;this.shadowColor=a.shadowColor;this.shadowOffsetX=a.shadowOffsetX;this.shadowOffsetY=a.shadowOffsetY;this.strokeStyle=a.strokeStyle;this.textAlign=a.textAlign};\nt.save=function(){this.stack.push({fillStyle:this.fillStyle,font:this.font,globalAlpha:this.globalAlpha,lineCap:this.lineCap,lineDashOffset:this.lineDashOffset,lineJoin:this.lineJoin,lineWidth:this.lineWidth,miterLimit:this.miterLimit,shadowBlur:this.shadowBlur,shadowColor:this.shadowColor,shadowOffsetX:this.shadowOffsetX,shadowOffsetY:this.shadowOffsetY,strokeStyle:this.strokeStyle,textAlign:this.textAlign});for(var a=[],b=0;b<this.path.length;b++)a.push(this.path[b]);this.stack.push(a);this.stack.push(this.Ee.copy())};\nt.setTransform=function(a,b,c,d,e,f){1===a&&0===b&&0===c&&1===d&&0===e&&0===f||Tl(this,a,b,c,d,e,f)};t.scale=function(a,b){this.Ee.scale(a,b)};t.translate=function(a,b){this.Ee.translate(a,b)};t.transform=function(){};t.Bd=function(){};t.stroke=function(){this.addPath(\"stroke\",this.path,this.Ee)};t.Xi=function(){this.clipInsteadOfFill||this.stroke()};t.Ob=function(a,b,c){return this.jt.Ob(a,b,c)};\nt.addElement=function(a,b,c){a=this.Ob(a,b,c);0<this.dd.length?this.dd[this.dd.length-1].appendChild(a):this.svg.appendChild(a);return this.Rs=a};\nfunction Ul(a,b,c,d,e){1!==a.globalAlpha&&(c.opacity=a.globalAlpha);\"fill\"===b?(a.fillStyle instanceof Rl?c.fill=Vl(a,a.fillStyle):/^rgba\\(/.test(a.fillStyle)?(a=/^\\s*rgba\\s*\\(([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\)\\s*$/i.exec(a.fillStyle),c.fill=\"rgb(\"+a[1]+\",\"+a[2]+\",\"+a[3]+\")\",c[\"fill-opacity\"]=a[4]):c.fill=a.fillStyle,c.stroke=\"none\"):\"stroke\"===b&&(c.fill=\"none\",a.strokeStyle instanceof Rl?c.stroke=Vl(a,a.strokeStyle):/^rgba\\(/.test(a.strokeStyle)?(b=/^\\s*rgba\\s*\\(([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\)\\s*$/i.exec(a.strokeStyle),\nc.stroke=\"rgb(\"+b[1]+\",\"+b[2]+\",\"+b[3]+\")\",c[\"stroke-opacity\"]=b[4]):c.stroke=a.strokeStyle,c[\"stroke-width\"]=a.lineWidth,c[\"stroke-linecap\"]=a.lineCap,c[\"stroke-linejoin\"]=a.lineJoin,c[\"stroke-miterlimit\"]=a.miterLimit);d=d.Ma;d=\"matrix(\"+d[0]+\", \"+d[1]+\", \"+d[2]+\", \"+d[3]+\", \"+d[4]+\", \"+d[5]+\")\";void 0!==e&&(d+=e);c.transform=d}\nfunction Vl(a,b){var c=\"GRAD\"+kb++;if(\"linear\"===b.type)var d=a.Ob(\"linearGradient\",{x1:b.x1,x2:b.x2,y1:b.y1,y2:b.y2,id:c,gradientUnits:\"userSpaceOnUse\"});else if(\"radial\"===b.type)d=a.Ob(\"radialGradient\",{x1:b.x1,x2:b.x2,y1:b.y1,y2:b.y2,r1:b.r1,r2:b.r2,id:c});else throw Error(\"invalid gradient\");var e=b.Ix;b=e.length;for(var f=[],g=0;g<b;g++){var h=e[g],k=h.color;h={offset:h.offset,\"stop-color\":k};/^rgba\\(/.test(k)&&(k=/^\\s*rgba\\s*\\(([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\s*,\\s*([^,\\s]+)\\)\\s*$/i.exec(k),\nh[\"stop-color\"]=\"rgb(\"+k[1]+\",\"+k[2]+\",\"+k[3]+\")\",h[\"stop-opacity\"]=k[4]);f.push(h)}f.sort(function(a,b){return a.offset>b.offset?1:-1});for(e=0;e<b;e++)d.appendChild(a.Ob(\"stop\",f[e]));a.svg.appendChild(d);return\"url(#\"+c+\")\"}\nt.addPath=function(a,b,c){for(var d=[],e=0;e<b.length;e++){var f=Ba(b[e]),g=[f.shift()];if(\"A\"===g[0])g.push(f.shift()+\",\"+f.shift(),f.shift(),f.shift()+\",\"+f.shift(),f.shift()+\",\"+f.shift());else for(;f.length;)g.push(f.shift()+\",\"+f.shift());d.push(g.join(\" \"))}b={d:d.join(\" \")};\"stroke\"===a&&this.Yt&&(b[\"stroke-dasharray\"]=this.ih.toString(),b[\"stroke-dashoffset\"]=this.jh);Ul(this,a,b,c);\"clipPath\"===a?(a=\"CLIP\"+kb++,c=this.Ob(\"clipPath\",{id:a}),c.appendChild(this.Ob(\"path\",b)),this.svg.appendChild(c),\n0<this.dd.length&&this.dd[this.dd.length-1].setAttributeNS(null,\"clip-path\",\"url(#\"+a+\")\")):this.addElement(\"path\",b)};function Tl(a,b,c,d,e,f,g){var h=new Ql;h.Ma=[b,c,d,e,f,g];b={};Ul(a,\"g\",b,h);h=a.addElement(\"g\",b);a.dd.push(h)}\nt.Jm=function(a){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var b=\"SHADOW\"+kb++,c=this.addElement(\"filter\",{id:b,x:\"-100%\",y:\"-100%\",width:\"300%\",height:\"300%\"},null),d=a.computePixelRatio();a=this.Ob(\"feGaussianBlur\",{\"in\":\"SourceAlpha\",result:\"blur\",stdDeviation:this.shadowBlur/2/d});var e=this.Ob(\"feFlood\",{\"in\":\"blur\",result:\"flood\",\"flood-color\":this.shadowColor}),f=this.Ob(\"feComposite\",{\"in\":\"flood\",in2:\"blur\",operator:\"in\",result:\"comp\"});d=this.Ob(\"feOffset\",\n{\"in\":\"comp\",result:\"offsetBlur\",dx:this.shadowOffsetX/d,dy:this.shadowOffsetY/d});var g=this.Ob(\"feMerge\",{});g.appendChild(this.Ob(\"feMergeNode\",{\"in\":\"offsetBlur\"}));g.appendChild(this.Ob(\"feMergeNode\",{\"in\":\"SourceGraphic\"}));c.appendChild(a);c.appendChild(e);c.appendChild(f);c.appendChild(d);c.appendChild(g);0<this.dd.length&&this.dd[this.dd.length-1].setAttributeNS(null,\"filter\",\"url(#\"+b+\")\")}};t.bw=function(a,b,c){this.es=a;this.fs=b;this.bg=c};\nfunction ql(a){a.shadowOffsetX=0;a.shadowOffsetY=0;a.shadowBlur=0}function pl(a){a.shadowOffsetX=a.es;a.shadowOffsetY=a.fs;a.shadowBlur=a.bg}t.As=function(a,b){this.Yt=!0;this.ih=a;this.jh=b};t.ys=function(){this.Yt=!1};t.Ec=function(){};t.Cy=function(){};Sl.prototype.rotate=function(){};Sl.prototype.getImageData=function(){return null};Sl.prototype.measureText=function(){return null};Sl.className=\"SVGContext\";\nT.prototype.Vs=function(a){var b=new wj(this,x.document);void 0===a&&(a=new Wa);var c=this;return xk(this,function(a,e){a=yk(c,a,\"SVG\",b);a=null!==a?a.svg:null;return\"function\"===typeof e?(e(a),null):a},a)};T.prototype.makeSvg=T.prototype.Vs;T.prototype.Gv=function(a){return this.Vs(a)};T.prototype.makeSVG=T.prototype.Gv;\nY.prototype.Px=function(a,b){if(!(a instanceof Sl))return!1;var c=null,d=a.Rs,e=this.transform,f=this.panel;0!==(this.G&4096)===!0&&ol(this);var g=this.vb,h=0!==(this.G&256);a.clipInsteadOfFill&&(h=!1);var k=!1;this instanceof Lg&&(a.font=this.font);if(h){k=f.he()?f.naturalBounds:f.actualBounds;if(null!==this.$a){var l=this.$a;var m=l.x;var n=l.y;var p=l.width;l=l.height}else m=Math.max(g.x,k.x),n=Math.max(g.y,k.y),p=Math.min(g.right,k.right)-m,l=Math.min(g.bottom,k.bottom)-n;if(m>g.width+g.x||g.x>\nk.width+k.x||n>g.height+g.y||g.y>k.height+k.y)return!0;k=!0;Tl(a,1,0,0,1,0,0);a.save();a.beginPath();a.rect(m,n,p,l);a.clip()}if(this.Ri()&&!this.isVisible())return!0;a.Ee.Ma=[1,0,0,1,0,0];(this instanceof Lg&&1<this.lineCount||this instanceof uf&&1<this.geometry.figures.length)&&Tl(a,1,0,0,1,0,0);m=!1;this.Ri()&&this.isShadowed&&b.Fe(\"drawShadows\")&&(n=this.shadowOffset,a.bw(n.x*b.scale*b.ac,n.y*b.scale*b.ac,this.shadowBlur),pl(a),a.shadowColor=this.shadowColor);n=!1;this.part&&b.Fe(\"drawShadows\")&&\n(n=this.part.isShadowed);a.clipInsteadOfFill&&(n=!1);!0===this.shadowVisible?(pl(a),!1===m&&n&&(Tl(a,1,0,0,1,0,0),a.Jm(b),m=!0)):!1===this.shadowVisible&&ql(a);p=this.naturalBounds;null!==this.areaBackground&&(bi(this,a,this.areaBackground,!0,!0,p,g),!1===m&&n&&(Tl(a,1,0,0,1,0,0),a.Jm(b),m=!0),this.areaBackground instanceof ml&&this.areaBackground.type===nl?(a.beginPath(),a.rect(g.x,g.y,g.width,g.height),a.uf(this.areaBackground)):a.fillRect(g.x,g.y,g.width,g.height));l=!1;this instanceof X?Tl(a,\ne.m11,e.m12,e.m21,e.m22,e.dx,e.dy):(a.Ee.Ma=[e.m11,e.m12,e.m21,e.m22,e.dx,e.dy],!1===m&&n&&(l=!0));null!==this.background&&(!1===m&&n&&(Tl(a,1,0,0,1,0,0),a.Jm(b),m=!0),rl(this,a,p,g));n&&(null!==this.background||null!==this.areaBackground||null!==f&&0!==(f.G&512)||null!==f&&(f.type===X.Auto||f.type===X.Spot)&&f.nb()!==this)?(sl(this,!0),null===this.shadowVisible&&ql(a),l=!1):sl(this,!1);l&&!1===m&&(Tl(a,1,0,0,1,0,0),a.Jm(b),m=!0);this.Fi(a,b);n&&0!==(this.G&512)===!0&&pl(a);this.Ri()&&n&&ql(a);h&&\n(a.restore(),k&&a.dd.pop());this instanceof X&&(c=a.dd.pop());!0===m&&a.dd.pop();if(this instanceof Lg&&1<this.lineCount||this instanceof uf&&1<this.geometry.figures.length)c=a.dd.pop();null!==a.jt.gq&&(null===c&&(d===a.Rs?(Tl(a,1,0,0,1,0,0),c=a.dd.pop()):c=a.Rs),a.jt.gq(this,c));this.svg=c;return!0};\nfunction Ak(a,b){this.ownerDocument=b=void 0===b?x.document:b;this.gq=null;b=b.createElement(\"canvas\");b.tabIndex=0;this.La=b;this.La.innerHTML=\"This text is displayed if your browser does not support the Canvas HTML element.\";this.context=new ul(b);b.F=a}Ak.prototype.resize=function(a,b,c,d){return this.width!==a||this.height!==b?(this.width=a,this.height=b,this.style.width=c+\"px\",this.style.height=d+\"px\",!0):!1};Ak.prototype.toDataURL=function(a,b){return this.La.toDataURL(a,b)};\nAk.prototype.getBoundingClientRect=function(){return this.La.getBoundingClientRect()};Ak.prototype.focus=function(){this.La.focus()};Ak.prototype.Ox=function(){this.ownerDocument=this.La.F=null};na.Object.defineProperties(Ak.prototype,{width:{get:function(){return this.La.width},set:function(a){this.La.width=a}},height:{get:function(){return this.La.height},set:function(a){this.La.height=a}},style:{get:function(){return this.La.style}}});\nAk.className=\"CanvasSurface\";function ul(a){a.getContext&&a.getContext(\"2d\")||C(\"Browser does not support HTML Canvas Element\");this.Y=a.getContext(\"2d\");this.xt=this.zt=this.yt=\"\";this.hn=!1;this.bg=this.fs=this.es=0;this.dm=new qd}t=ul.prototype;t.Cy=function(a){this.Y.imageSmoothingEnabled=a};t.arc=function(a,b,c,d,e,f){this.Y.arc(a,b,c,d,e,f)};t.beginPath=function(){this.Y.beginPath()};t.bezierCurveTo=function(a,b,c,d,e,f){this.Y.bezierCurveTo(a,b,c,d,e,f)};\nt.clearRect=function(a,b,c,d){this.Bd();this.Y.clearRect(a,b,c,d)};t.clip=function(){this.Y.clip()};t.closePath=function(){this.Y.closePath()};t.createLinearGradient=function(a,b,c,d){return this.Y.createLinearGradient(a,b,c,d)};t.createPattern=function(a,b){return this.Y.createPattern(a,b)};t.createRadialGradient=function(a,b,c,d,e,f){return this.Y.createRadialGradient(a,b,c,d,e,f)};t.drawImage=function(a,b,c,d,e,f,g,h,k){void 0===d?this.Y.drawImage(a,b,c):this.Y.drawImage(a,b,c,d,e,f,g,h,k)};\nt.fill=function(){this.Y.fill()};t.fillRect=function(a,b,c,d){this.Y.fillRect(a,b,c,d)};t.fillText=function(a,b,c){this.Y.fillText(a,b,c)};t.getImageData=function(a,b,c,d){return this.Y.getImageData(a,b,c,d)};t.lineTo=function(a,b){this.Y.lineTo(a,b)};t.measureText=function(a){return this.Y.measureText(a)};t.moveTo=function(a,b){this.Y.moveTo(a,b)};t.quadraticCurveTo=function(a,b,c,d){this.Y.quadraticCurveTo(a,b,c,d)};t.rect=function(a,b,c,d){this.Y.rect(a,b,c,d)};t.restore=function(){this.Y.restore()};\nt.save=function(){this.Bd();this.Y.save()};ul.prototype.rotate=function(a){this.dm.rotate(57.2958*a,0,0)};t=ul.prototype;t.setTransform=function(a,b,c,d,e,f){this.dm.setTransform(a,b,c,d,e,f)};t.scale=function(a,b){this.dm.scale(a,b)};t.translate=function(a,b){this.dm.translate(a,b)};t.stroke=function(){this.Y.stroke()};\nt.transform=function(a,b,c,d,e,f){if(1!==a||0!==b||0!==c||1!==d||0!==e||0!==f){var g=this.dm,h=g.m11*a+g.m21*b;a=g.m12*a+g.m22*b;b=g.m11*c+g.m21*d;c=g.m12*c+g.m22*d;g.dx=g.m11*e+g.m21*f+g.dx;g.dy=g.m12*e+g.m22*f+g.dy;g.m11=h;g.m12=a;g.m21=b;g.m22=c}};t.Bd=function(){var a=this.dm;this.Y.setTransform(a.m11,a.m12,a.m21,a.m22,a.dx,a.dy)};\nt.uf=function(a){if(a instanceof ml&&a.type===nl){var b=a.Pk;a=a.At;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.hn?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.hn?this.clip():this.fill()};t.Xi=function(){this.hn||this.stroke()};t.bw=function(a,b,c){this.es=a;this.fs=b;this.bg=c};\nt.As=function(a,b){var c=this.Y;void 0!==c.setLineDash&&(c.setLineDash(a),c.lineDashOffset=b)};t.ys=function(){var a=this.Y;void 0!==a.setLineDash&&(a.setLineDash(Wl),a.lineDashOffset=0)};t.Ec=function(a){a&&(this.yt=\"\");this.xt=this.zt=\"\"};\nna.Object.defineProperties(ul.prototype,{fillStyle:{get:function(){return this.Y.fillStyle},set:function(a){this.xt!==a&&(this.xt=this.Y.fillStyle=a)}},font:{get:function(){return this.Y.font},set:function(a){this.yt!==a&&(this.yt=this.Y.font=a)}},globalAlpha:{get:function(){return this.Y.globalAlpha},set:function(a){this.Y.globalAlpha=a}},lineCap:{get:function(){return this.Y.lineCap},\nset:function(a){this.Y.lineCap=a}},lineDashOffset:{get:function(){return this.Y.lineDashOffset},set:function(a){this.Y.lineDashOffset=a}},lineJoin:{get:function(){return this.Y.lineJoin},set:function(a){this.Y.lineJoin=a}},lineWidth:{get:function(){return this.Y.lineWidth},set:function(a){this.Y.lineWidth=a}},miterLimit:{get:function(){return this.Y.miterLimit},set:function(a){this.Y.miterLimit=\na}},shadowBlur:{get:function(){return this.Y.shadowBlur},set:function(a){this.Y.shadowBlur=a}},shadowColor:{get:function(){return this.Y.shadowColor},set:function(a){this.Y.shadowColor=a}},shadowOffsetX:{get:function(){return this.Y.shadowOffsetX},set:function(a){this.Y.shadowOffsetX=a}},shadowOffsetY:{get:function(){return this.Y.shadowOffsetY},set:function(a){this.Y.shadowOffsetY=\na}},strokeStyle:{get:function(){return this.Y.strokeStyle},set:function(a){this.zt!==a&&(this.zt=this.Y.strokeStyle=a)}},textAlign:{get:function(){return this.Y.textAlign},set:function(a){this.Y.textAlign=a}},imageSmoothingEnabled:{get:function(){return this.Y.imageSmoothingEnabled},set:function(a){this.Y.imageSmoothingEnabled=a}},clipInsteadOfFill:{get:function(){return this.hn},\nset:function(a){this.hn=a}}});var Wl=Object.freeze([]);ul.className=\"CanvasSurfaceContext\";function Xl(){this.M=this.o=this.C=this.j=0}Xl.className=\"ColorNumbers\";function ml(a,b){Yl||(Zl(),Yl=!0);Ta(this);this.v=!1;void 0===a?(this.ia=tl,this.Ok=\"black\"):\"string\"===typeof a?(this.ia=tl,this.Ok=a):(this.ia=a,this.Ok=\"black\");a=this.ia;a===wl?(this.zd=vc,this.bl=Bc):this.bl=a===nl?this.zd=yc:this.zd=rc;this.js=0;this.jr=NaN;this.ke=this.Ur=this.je=null;this.At=this.Pk=0;b&&Object.assign(this,b)}\nml.prototype.copy=function(){var a=new ml;a.ia=this.ia;a.Ok=this.Ok;a.zd=this.zd.I();a.bl=this.bl.I();a.js=this.js;a.jr=this.jr;null!==this.je&&(a.je=this.je.copy());a.Ur=this.Ur;return a};t=ml.prototype;t.freeze=function(){this.v=!0;null!==this.je&&this.je.freeze();return this};t.ea=function(){Object.isFrozen(this)&&C(\"cannot thaw constant: \"+this);this.v=!1;null!==this.je&&this.je.ea();return this};t.gb=function(a){a.classType===ml&&(this.type=a)};\nt.toString=function(){var a=\"Brush(\";if(this.type===tl)a+=this.color;else if(a=this.type===wl?a+\"Linear \":this.type===nl?a+\"Radial \":this.type===vl?a+\"Pattern \":a+\"(unknown) \",a+=this.start+\" \"+this.end,null!==this.colorStops)for(var b=this.colorStops.iterator;b.next();)a+=\" \"+b.key+\":\"+b.value;return a+\")\"};\nt.addColorStop=function(a,b){this.v&&wa(this);(\"number\"!==typeof a||!isFinite(a)||1<a||0>a)&&xa(a,\"0 <= loc <= 1\",ml,\"addColorStop:loc\");null===this.je&&(this.je=new I);this.je.add(a,b);this.ia===tl&&(this.type=wl);this.ke=null;return this};\nt.yA=function(a,b){this.v&&wa(this);a=void 0===a||\"number\"!==typeof a?.2:a;b=void 0===b?$l:b;if(this.type===tl)Ph(this.color),this.color=am(a,b);else if((this.type===wl||this.type===nl)&&null!==this.colorStops)for(var c=this.colorStops.iterator;c.next();)Ph(c.value),this.addColorStop(c.key,am(a,b));return this};function bm(a,b,c){b=void 0===b||\"number\"!==typeof b?.2:b;c=void 0===c?$l:c;Ph(a);return am(b,c)}\nt.Az=function(a,b){this.v&&wa(this);a=void 0===a||\"number\"!==typeof a?.2:a;b=void 0===b?$l:b;if(this.type===tl)Ph(this.color),this.color=am(-a,b);else if((this.type===wl||this.type===nl)&&null!==this.colorStops)for(var c=this.colorStops.iterator;c.next();)Ph(c.value),this.addColorStop(c.key,am(-a,b));return this};function cm(a,b,c){b=void 0===b||\"number\"!==typeof b?.2:b;c=void 0===c?$l:c;Ph(a);return am(-b,c)}\nfunction dm(a,b,c){Ph(a);a=em.j;var d=em.C,e=em.o,f=em.M;Ph(b);void 0===c&&(c=.5);return\"rgba(\"+Math.round((em.j-a)*c+a)+\", \"+Math.round((em.C-d)*c+d)+\", \"+Math.round((em.o-e)*c+e)+\", \"+Math.round((em.M-f)*c+f)+\")\"}\nt.jy=function(){if(this.type===tl)return fm(this.color);if((this.type===wl||this.type===nl)&&null!==this.colorStops){var a=this.colorStops;if(this.type===nl)return fm(a.first().value);if(null!==a.get(.5))return fm(a.get(.5));if(2===a.count)return a=a.xa(),fm(dm(a[0].value,a[1].value));for(var b=a.iterator,c=-1,d=-1,e=1,f=1;b.next();){var g=b.key,h=Math.abs(.5-b.key);e>f&&h<e?(c=g,e=h):f>=e&&h<f&&(d=g,f=h)}c>d&&(f=c,c=d,d=f,f=e);e=d-c;return fm(dm(a.get(c),a.get(d),1-f/e))}return!1};\nfunction fm(a){if(!a)return!1;if(a instanceof ml)return a.jy();Ph(a);return 128>(299*em.j+587*em.C+114*em.o)/1E3}\nfunction am(a,b){switch(b){case $l:b=100*gm(em.j);var c=100*gm(em.C),d=100*gm(em.o);hm.j=.4124564*b+.3575761*c+.1804375*d;hm.C=.2126729*b+.7151522*c+.072175*d;hm.o=.0193339*b+.119192*c+.9503041*d;hm.M=em.M;b=im(hm.j/jm[0]);c=im(hm.C/jm[1]);d=im(hm.o/jm[2]);km.j=116*c-16;km.C=500*(b-c);km.o=200*(c-d);km.M=hm.M;km.j=Math.min(100,Math.max(0,km.j+100*a));a=(km.j+16)/116;b=a-km.o/200;hm.j=jm[0]*lm(km.C/500+a);hm.C=jm[1]*(km.j>mm*nm?Math.pow(a,3):km.j/mm);hm.o=jm[2]*lm(b);hm.M=km.M;a=-.969266*hm.j+1.8760108*\nhm.C+.041556*hm.o;b=.0556434*hm.j+-.2040259*hm.C+1.0572252*hm.o;em.j=255*om((3.2404542*hm.j+-1.5371385*hm.C+-.4985314*hm.o)/100);em.C=255*om(a/100);em.o=255*om(b/100);em.M=hm.M;em.j=Math.round(em.j);255<em.j?em.j=255:0>em.j&&(em.j=0);em.C=Math.round(em.C);255<em.C?em.C=255:0>em.C&&(em.C=0);em.o=Math.round(em.o);255<em.o?em.o=255:0>em.o&&(em.o=0);return\"rgba(\"+em.j+\", \"+em.C+\", \"+em.o+\", \"+em.M+\")\";case pm:return Qh(),Rh.o=Math.min(100,Math.max(0,Rh.o+100*a)),\"hsla(\"+Rh.j+\", \"+Rh.C+\"%, \"+Rh.o+\"%, \"+\nRh.M+\")\";default:C(\"Unknown color space: \"+b)}}function Ph(a){Yl||(Zl(),Yl=!0);var b=qm;if(null!==b){b.clearRect(0,0,1,1);b.fillStyle=\"#000000\";var c=b.fillStyle;b.fillStyle=a;b.fillStyle!==c?(b.fillRect(0,0,1,1),a=b.getImageData(0,0,1,1).data,em.j=a[0],em.C=a[1],em.o=a[2],em.M=a[3]/255):(b.fillStyle=\"#FFFFFF\",b.fillStyle=a,em.j=0,em.C=0,em.o=0,em.M=1)}}\nfunction Qh(){var a=em.j/255,b=em.C/255,c=em.o/255,d=Math.max(a,b,c),e=Math.min(a,b,c),f=d-e;e=(d+e)/2;if(0===f)var g=a=0;else{switch(d){case a:g=(b-c)/f%6;break;case b:g=(c-a)/f+2;break;case c:g=(a-b)/f+4}g*=60;0>g&&(g+=360);a=f/(1-Math.abs(2*e-1))}Rh.j=Math.round(g);Rh.C=Math.round(100*a);Rh.o=Math.round(100*e);Rh.M=em.M}function gm(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}function om(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}\nfunction im(a){return a>nm?Math.pow(a,1/3):(mm*a+16)/116}function lm(a){var b=a*a*a;return b>nm?b:(116*a-16)/mm}function Nl(a,b){\"string\"!==typeof a&&(a instanceof ml||C(\"Value for \"+b+\" must be a color string or a Brush, not \"+a))}function Zl(){qm=Jg?(new Ak(null)).context:null}\nna.Object.defineProperties(ml.prototype,{type:{get:function(){return this.ia},set:function(a){this.v&&wa(this,a);this.ia=a;this.start.wc()&&(a===wl?this.start=vc:a===nl&&(this.start=yc));this.end.wc()&&(a===wl?this.end=Bc:a===nl&&(this.end=yc));this.ke=null}},color:{get:function(){return this.Ok},set:function(a){this.v&&wa(this,a);this.Ok=a;this.ke=null}},start:{get:function(){return this.zd},set:function(a){this.v&&\nwa(this,a);this.zd=a.I();this.ke=null}},end:{get:function(){return this.bl},set:function(a){this.v&&wa(this,a);this.bl=a.I();this.ke=null}},startRadius:{get:function(){return this.js},set:function(a){this.v&&wa(this,a);0>a&&xa(a,\">= zero\",ml,\"startRadius\");this.js=a;this.ke=null}},endRadius:{get:function(){return this.jr},set:function(a){this.v&&wa(this,a);0>a&&xa(a,\">= zero\",ml,\"endRadius\");this.jr=a;this.ke=\nnull}},colorStops:{get:function(){return this.je},set:function(a){this.v&&wa(this,a);this.je=a;this.ke=null}},pattern:{get:function(){return this.Ur},set:function(a){this.v&&wa(this,a);this.Ur=a;this.ke=null}}});ml.prototype.isDark=ml.prototype.jy;ml.prototype.darkenBy=ml.prototype.Az;ml.prototype.lightenBy=ml.prototype.yA;ml.prototype.addColorStop=ml.prototype.addColorStop;\nvar nm=216/24389,mm=24389/27,jm=[95.047,100,108.883],qm=null,em=new Xl,Rh=new Xl,hm=new Xl,km=new Xl,Yl=!1;ml.className=\"Brush\";var tl;ml.Solid=tl=new D(ml,\"Solid\",0);var wl;ml.Linear=wl=new D(ml,\"Linear\",1);var nl;ml.Radial=nl=new D(ml,\"Radial\",2);var vl;ml.Pattern=vl=new D(ml,\"Pattern\",4);var $l;ml.Lab=$l=new D(ml,\"Lab\",5);var pm;ml.HSL=pm=new D(ml,\"HSL\",6);\nml.randomColor=function(a,b){void 0===a&&(a=128);void 0===b&&(b=Math.max(a,255));var c=Math.abs(b-a);b=Math.floor(a+Math.random()*c).toString(16);var d=Math.floor(a+Math.random()*c).toString(16);a=Math.floor(a+Math.random()*c).toString(16);2>b.length&&(b=\"0\"+b);2>d.length&&(d=\"0\"+d);2>a.length&&(a=\"0\"+a);return\"#\"+b+d+a};\nml.isValidColor=function(a){if(\"black\"===a)return!0;if(\"\"===a)return!1;Yl||(Zl(),Yl=!0);var b=qm;if(null===b)return!0;b.fillStyle=\"#000000\";var c=b.fillStyle;b.fillStyle=a;if(b.fillStyle!==c)return!0;b.fillStyle=\"#FFFFFF\";c=b.fillStyle;b.fillStyle=a;return b.fillStyle!==c};ml.lighten=function(a){return bm(a)};ml.lightenBy=bm;ml.darken=function(a){return cm(a)};ml.darkenBy=cm;ml.mix=dm;ml.isDark=fm;function Kl(){this.na=\"Base\"}Kl.prototype.measure=function(){};\nKl.prototype.BA=function(a,b,c,d,e){a.measure(b,c,d,e)};Kl.prototype.arrange=function(){};Kl.prototype.nz=function(a,b,c,d,e,f){a.arrange(b,c,d,e,f)};Kl.prototype.LA=function(a){a.mk()};Kl.prototype.lc=function(){};na.Object.defineProperties(Kl.prototype,{name:{get:function(){return this.na},set:function(a){this.na=a}},classType:{get:function(){return X}}});Kl.prototype.remeasureObject=Kl.prototype.LA;Kl.prototype.arrangeElement=Kl.prototype.nz;\nKl.prototype.measureElement=Kl.prototype.BA;Kl.className=\"PanelLayout\";function rm(){this.na=\"Base\"}ma(rm,Kl);\nrm.prototype.measure=function(a,b,c,d,e,f,g){var h=d.length;a=sm(a);for(var k=0;k<h;k++){var l=d[k];if(l.visible||l===a){var m=l.margin,n=m.right+m.left;m=m.top+m.bottom;l.measure(b,c,f,g);var p=l.measuredBounds;n=Math.max(p.width+n,0);m=Math.max(p.height+m,0);p=l.position.x;var r=l.position.y;isFinite(p)||(p=0);isFinite(r)||(r=0);l instanceof uf&&l.isGeometryPositioned&&(l=l.strokeWidth/2,p-=l,r-=l);$b(e,p,r,n,m)}}};\nrm.prototype.arrange=function(a,b,c){var d=b.length,e=a.padding;a=c.x-e.left;c=c.y-e.top;for(e=0;e<d;e++){var f=b[e],g=f.measuredBounds,h=f.margin,k=f.position.x,l=f.position.y;k=isNaN(k)?-a:k-a;l=isNaN(l)?-c:l-c;if(f instanceof uf&&f.isGeometryPositioned){var m=f.strokeWidth/2;k-=m;l-=m}f.visible&&f.arrange(k+h.left,l+h.top,g.width,g.height)}};function tm(){this.na=\"Base\"}ma(tm,Kl);\ntm.prototype.measure=function(a,b,c,d,e,f,g){var h=d.length;b=Fa();f=sm(a);for(var k=0;k<h;k++){var l=d[k];if(l.visible||l===f){var m=hl(l,!1);if(m!==og&&m!==Vk)b.push(l);else{l.measure(Infinity,c,0,g);m=l.margin;l=l.measuredBounds;var n=Math.max(l.height+m.top+m.bottom,0);e.width+=Math.max(l.width+m.right+m.left,0);e.height=Math.max(e.height,n)}}}d=b.length;a.desiredSize.height?c=Math.min(a.desiredSize.height,a.maxSize.height):0!==e.height&&(c=Math.min(e.height,a.maxSize.height));for(a=0;a<d;a++)if(k=\nb[a],k.visible||k===f)m=k.margin,h=m.right+m.left,m=m.top+m.bottom,k.measure(Infinity,c,0,g),k=k.measuredBounds,m=Math.max(k.height+m,0),e.width+=Math.max(k.width+h,0),e.height=Math.max(e.height,m);Ia(b)};\ntm.prototype.arrange=function(a,b,c){for(var d=b.length,e=a.padding,f=e.top,g=a.isOpposite,h=g?c.width:e.left,k=0;k<d;k++){var l=f,m=b[k];if(m.visible){var n=m.measuredBounds,p=m.margin,r=p.top+p.bottom,q=f+e.bottom,u=n.height,v=hl(m,!1);if(isNaN(m.desiredSize.height)&&v===sd||v===Wk)u=Math.max(c.height-r-q,0);r=u+r+q;q=m.alignment;q.Lb()&&(q=a.defaultAlignment);q.hb()||(q=yc);g&&(h-=n.width+p.left+p.right);m.arrange(h+q.offsetX+p.left,l+q.offsetY+p.top+(c.height*q.y-r*q.y),n.width,u);g||(h+=n.width+\np.left+p.right)}}};function um(){this.na=\"Base\"}ma(um,Kl);\num.prototype.measure=function(a,b,c,d,e,f){var g=d.length;c=Fa();for(var h=sm(a),k=0;k<g;k++){var l=d[k];if(l.visible||l===h){var m=hl(l,!1);if(m!==og&&m!==Wk)c.push(l);else{var n=l.margin;m=n.right+n.left;n=n.top+n.bottom;l.measure(b,Infinity,f,0);l=l.measuredBounds;Tb(e,Math.max(e.width,Math.max(l.width+m,0)),e.height+Math.max(l.height+n,0))}}}d=c.length;if(0!==d){a.desiredSize.width?b=Math.min(a.desiredSize.width,a.maxSize.width):0!==e.width&&(b=Math.min(e.width,a.maxSize.width));for(a=0;a<d;a++)if(k=\nc[a],k.visible||k===h)l=k.margin,g=l.right+l.left,l=l.top+l.bottom,k.measure(b,Infinity,f,0),k=k.measuredBounds,l=Math.max(k.height+l,0),e.width=Math.max(e.width,Math.max(k.width+g,0)),e.height+=l;Ia(c)}};\num.prototype.arrange=function(a,b,c){for(var d=b.length,e=a.padding,f=e.left,g=a.isOpposite,h=g?c.height:e.top,k=0;k<d;k++){var l=f,m=b[k];if(m.visible){var n=m.measuredBounds,p=m.margin,r=p.left+p.right,q=f+e.right,u=n.width,v=hl(m,!1);if(isNaN(m.desiredSize.width)&&v===sd||v===Vk)u=Math.max(c.width-r-q,0);r=u+r+q;q=m.alignment;q.Lb()&&(q=a.defaultAlignment);q.hb()||(q=yc);g&&(h-=n.height+p.bottom+p.top);m.arrange(l+q.offsetX+p.left+(c.width*q.x-r*q.x),h+q.offsetY+p.top,u,n.height);g||(h+=n.height+\np.bottom+p.top)}}};function vm(){this.na=\"Base\"}ma(vm,Kl);\nvm.prototype.measure=function(a,b,c,d,e,f,g){var h=d.length,k=a.nb(),l=k.margin,m=l.right+l.left,n=l.top+l.bottom;k.measure(b,c,f,g);var p=k.measuredBounds;f=p.width;g=p.height;var r=Math.max(f+m,0);var q=Math.max(g+n,0);var u=a.isClipping,v=N.allocAt(-l.left,-l.top,r,q),w=N.allocAt(0,0,f,g);wm(k,w,!0);f=w.width;g=w.height;for(var z=!0,y=sm(a),A=0;A<h;A++){var B=d[A],F=b,K=c;if(B!==k&&(B.visible||B===y)){l=B.margin;r=l.right+l.left;q=l.top+l.bottom;p=hl(B,!1);switch(p){case sd:F=f;K=g;break;case Vk:F=\nf;break;case Wk:K=g}B.measure(F,K,0,0);p=B.measuredBounds;r=Math.max(p.width+r,0);q=Math.max(p.height+q,0);F=B.alignment;F.Lb()&&(F=a.defaultAlignment);F.hb()||(F=yc);var S=B.alignmentFocus;S.Lb()&&(S=yc);K=null;B instanceof X&&\"\"!==B.Oe&&(K=B.Ya(B.Oe),K===B&&(K=null));var R=w.x,O=w.y;if(null!==K){B.arrange(0,0,p.width,p.height);l=K.actualBounds;l=J.allocAt(l.x+(S.x*l.width-S.offsetX),l.y+(S.y*l.height-S.offsetY));for(K=K.panel;K!==B;)K.transform.ya(l),K=K.panel;R+=F.x*f+F.offsetX-l.x;O+=F.y*g+F.offsetY-\nl.y;J.free(l)}else R+=F.x*f+F.offsetX-(S.x*p.width+S.offsetX)-l.left,O+=F.y*g+F.offsetY-(S.y*p.height+S.offsetY)-l.top;z?(z=!1,e.h(R,O,r,q)):$b(e,R,O,r,q)}}z?e.assign(v):u?e.zv(w.x,w.y,w.width,w.height):$b(e,v.x,v.y,v.width,v.height);N.free(v);N.free(w);p=k.stretch;p===Uk&&(p=hl(k,!1));switch(p){case og:return;case sd:if(!isFinite(b)&&!isFinite(c))return;break;case Vk:if(!isFinite(b))return;break;case Wk:if(!isFinite(c))return}p=k.measuredBounds;f=p.width;g=p.height;r=Math.max(f+m,0);q=Math.max(g+\nn,0);l=k.margin;w=N.allocAt(-l.left,-l.top,r,q);wm(k,w,!0);f=w.width;g=w.height;for(b=0;b<h;b++)c=d[b],c===k||!c.visible&&c!==y||(l=c.margin,r=l.right+l.left,q=l.top+l.bottom,p=c.measuredBounds,r=Math.max(p.width+r,0),q=Math.max(p.height+q,0),m=c.alignment,m.Lb()&&(m=a.defaultAlignment),m.hb()||(m=yc),c=c.alignmentFocus,c.Lb()&&(c=yc),z?(z=!1,e.h(m.x*f+m.offsetX-(c.x*p.width+c.offsetX)-l.left,m.y*g+m.offsetY-(c.y*p.height+c.offsetY)-l.top,r,q)):$b(e,m.x*f+m.offsetX-(c.x*p.width+c.offsetX)-l.left,\nm.y*g+m.offsetY-(c.y*p.height+c.offsetY)-l.top,r,q));z?e.assign(v):u?e.zv(w.x,w.y,w.width,w.height):$b(e,v.x,v.y,v.width,v.height);N.free(w)};\nvm.prototype.arrange=function(a,b,c){var d=b.length,e=a.nb(),f=e.measuredBounds,g=f.width,h=f.height,k=a.padding;f=k.left;k=k.top;var l=f-c.x,m=k-c.y;e.arrange(l,m,g,h);g=N.allocAt(0,0,g,h);wm(e,g,!1);for(h=0;h<d;h++){var n=b[h];if(n!==e){l=n.measuredBounds;var p=l.width,r=l.height;m=n.alignment;m.Lb()&&(m=a.defaultAlignment);m.hb()||(m=yc);var q=n.alignmentFocus;q.Lb()&&(q=yc);l=null;n instanceof X&&\"\"!==n.Oe&&(l=n.Ya(n.Oe),l===n&&(l=null));if(null!==l){var u=l.actualBounds;q=J.allocAt(u.x+(q.x*\nu.width-q.offsetX),u.y+(q.y*u.height-q.offsetY));for(l=l.panel;l!==n;)l.transform.ya(q),l=l.panel;l=m.x*g.width+m.offsetX-q.x;m=m.y*g.height+m.offsetY-q.y;J.free(q)}else l=m.x*g.width+m.offsetX-(q.x*p+q.offsetX),m=m.y*g.height+m.offsetY-(q.y*r+q.offsetY);l+=g.x-c.x;m+=g.y-c.y;n.visible&&n.arrange(f+l,k+m,p,r)}}N.free(g)};\nfunction wm(a,b,c){var d=null;a instanceof X&&\"\"!==a.Oe&&(d=a.Ya(a.Oe),d===a&&(d=null));if(null!==d)for(c&&a.arrange(0,0,b.width,b.height),b.assign(d.actualBounds),d=d.panel;d!==a;)d.transform.Jq(b),d=d.panel}function xm(){this.na=\"Base\"}ma(xm,Kl);\nxm.prototype.measure=function(a,b,c,d,e,f,g){var h=d.length,k=a.nb(),l=k.margin,m=b,n=c,p=l.right+l.left,r=l.top+l.bottom;k.measure(b,c,f,g);l=k.measuredBounds;var q=0,u=null;k instanceof uf&&(u=k,q=u.strokeWidth*u.scale);var v=Math.max(l.width+p,0);l=Math.max(l.height+r,0);var w=ym(k),z=w.x*v+w.offsetX;w=w.y*l+w.offsetY;var y=zm(k),A=y.x*v+y.offsetX;y=y.y*l+y.offsetY;isFinite(b)&&(m=Math.max(Math.abs(z-A)-q,0));isFinite(c)&&(n=Math.max(Math.abs(w-y)-q,0));q=M.alloc();q.h(0,0);a=sm(a);for(y=0;y<h;y++)w=\nd[y],w===k||!w.visible&&w!==a||(l=w.margin,v=l.right+l.left,z=l.top+l.bottom,w.measure(m,n,0,0),l=w.measuredBounds,v=Math.max(l.width+v,0),l=Math.max(l.height+z,0),q.h(Math.max(v,q.width),Math.max(l,q.height)));if(1===h)e.width=v,e.height=l,M.free(q);else{w=ym(k);y=zm(k);h=d=0;y.x!==w.x&&y.y!==w.y&&(d=q.width/Math.abs(y.x-w.x),h=q.height/Math.abs(y.y-w.y));M.free(q);q=0;null!==u&&(q=u.strokeWidth*u.scale,pg(u)===qg&&(d=h=Math.max(d,h)));d+=Math.abs(w.offsetX)+Math.abs(y.offsetX)+q;h+=Math.abs(w.offsetY)+\nMath.abs(y.offsetY)+q;u=k.stretch;u===Uk&&(u=hl(k,!1));switch(u){case og:g=f=0;break;case sd:isFinite(b)&&(d=b);isFinite(c)&&(h=c);break;case Vk:isFinite(b)&&(d=b);g=0;break;case Wk:f=0,isFinite(c)&&(h=c)}k.mk();k.measure(d,h,f,g);e.width=k.measuredBounds.width+p;e.height=k.measuredBounds.height+r}};\nxm.prototype.arrange=function(a,b){var c=b.length,d=a.nb(),e=d.measuredBounds,f=N.alloc();f.h(0,0,1,1);var g=d.margin,h=g.left;g=g.top;var k=a.padding,l=k.left;k=k.top;d.arrange(l+h,k+g,e.width,e.height);var m=ym(d),n=zm(d),p=m.y*e.height+m.offsetY,r=n.x*e.width+n.offsetX;n=n.y*e.height+n.offsetY;f.x=m.x*e.width+m.offsetX;f.y=p;$b(f,r,n,0,0);f.x+=h+l;f.y+=g+k;for(e=0;e<c;e++)h=b[e],h!==d&&(l=h.measuredBounds,g=h.margin,k=Math.max(l.width+g.right+g.left,0),m=Math.max(l.height+g.top+g.bottom,0),p=h.alignment,\np.Lb()&&(p=a.defaultAlignment),p.hb()||(p=yc),k=f.width*p.x+p.offsetX-k*p.x+g.left+f.x,g=f.height*p.y+p.offsetY-m*p.y+g.top+f.y,h.visible&&(ac(f.x,f.y,f.width,f.height,k,g,l.width,l.height)?h.arrange(k,g,l.width,l.height):h.arrange(k,g,l.width,l.height,new N(f.x,f.y,f.width,f.height))));N.free(f)};function Am(){this.na=\"Base\";this.name=\"Table\"}ma(Am,Kl);\nAm.prototype.measure=function(a,b,c,d,e){for(var f=d.length,g=Fa(),h=Fa(),k=0;k<f;k++){var l=d[k],m=l instanceof X?l:null;if(null===m||m.type!==X.TableRow&&m.type!==X.TableColumn||!l.visible)g.push(l);else{h.push(m);for(var n=m.T.m,p=n.length,r=0;r<p;r++){var q=n[r];m.type===X.TableRow?q.row=l.row:m.type===X.TableColumn&&(q.column=l.column);g.push(q)}}}f=g.length;0===f&&(a.getRowDefinition(0),a.getColumnDefinition(0));for(var u=[],v=0;v<f;v++){var w=g[v];hj(w,!0);il(w,!0);u[w.row]||(u[w.row]=[]);\nu[w.row][w.column]||(u[w.row][w.column]=[]);u[w.row][w.column].push(w)}Ia(g);var z=Fa(),y=Fa(),A=Fa(),B={count:0},F={count:0},K=b,S=c,R=a.Db;f=R.length;for(var O=0;O<f;O++){var H=R[O];void 0!==H&&(H.actual=0)}R=a.yb;f=R.length;for(var da=0;da<f;da++)H=R[da],void 0!==H&&(H.actual=0);for(var ba=u.length,ra=0,Ca=0;Ca<ba;Ca++)u[Ca]&&(ra=Math.max(ra,u[Ca].length));var cb=Math.min(a.topIndex,ba-1),db=Math.min(a.leftIndex,ra-1),Ha=0;ba=u.length;for(var zb=sm(a),Db=0;Db<ba;Db++)if(u[Db]){ra=u[Db].length;\nvar Yc=a.getRowDefinition(Db);Yc.actual=0;for(var Rb=Yc.$b=0;Rb<ra;Rb++)if(u[Db][Rb]){var jc=a.getColumnDefinition(Rb);void 0===z[Rb]&&(jc.actual=0,jc.$b=0,z[Rb]=!0);for(var Ec=u[Db][Rb],ge=Ec.length,xf=0;xf<ge;xf++){var sb=Ec[xf];if(sb.visible||sb===zb){var he=1<sb.rowSpan||1<sb.columnSpan;he&&(Db<cb||Rb<db||y.push(sb));var dg=sb.margin,ph=dg.right+dg.left,qh=dg.top+dg.bottom;var eb=Al(sb,Yc,jc,!1);var ti=sb.desiredSize,bk=!isNaN(ti.height),eg=!isNaN(ti.width)&&bk;he||eb===og||eg||Db<cb||Rb<db||\n(void 0!==B[Rb]||eb!==sd&&eb!==Vk||(B[Rb]=-1,B.count++),void 0!==F[Db]||eb!==sd&&eb!==Wk||(F[Db]=-1,F.count++),A.push(sb));sb.measure(Infinity,Infinity,0,0);if(!(Db<cb||Rb<db)){var ld=sb.measuredBounds,kc=Math.max(ld.width+ph,0),yf=Math.max(ld.height+qh,0);if(1===sb.rowSpan&&(eb===og||eb===Vk)){H=a.getRowDefinition(Db);var tc=H.Fc();Ha=Math.max(yf-H.actual,0);Ha+tc>S&&(Ha=Math.max(S-tc,0));var fg=0===H.ga;H.$b=H.$b+Ha;H.actual=H.ga+Ha;S=Math.max(S-(Ha+(fg?tc:0)),0)}if(1===sb.columnSpan&&(eb===og||\neb===Wk)){H=a.getColumnDefinition(Rb);var rh=H.Fc();Ha=Math.max(kc-H.actual,0);Ha+rh>K&&(Ha=Math.max(K-rh,0));var wn=0===H.ga;H.$b=H.$b+Ha;H.actual=H.ga+Ha;K=Math.max(K-(Ha+(wn?rh:0)),0)}he&&sb.mk()}}}}}Ia(z);var Gd=0,ie=0;f=a.columnCount;for(var gg=0;gg<f;gg++){var Ve=a.yb[gg];void 0!==Ve&&(Gd+=isNaN(Ve.rc)?Ve.$b:Ve.rc,0!==Ve.$b&&(Gd+=Ve.Fc()))}f=a.rowCount;for(var Hd=0;Hd<f;Hd++){var yd=a.Db[Hd];void 0!==yd&&(ie+=isNaN(yd.rc)?yd.$b:yd.rc,0!==yd.$b&&(ie+=yd.Fc()))}K=Math.max(b-Gd,0);var dc=S=Math.max(c-\nie,0),sh=K;f=A.length;for(var th=0;th<f;th++){var ec=A[th],ui=a.getRowDefinition(ec.row),je=a.getColumnDefinition(ec.column),We=ec.measuredBounds,Pc=ec.margin,vi=Pc.right+Pc.left,ck=Pc.top+Pc.bottom;B[ec.column]=0===je.$b&&void 0!==B[ec.column]?Math.max(We.width+vi,B[ec.column]):null;F[ec.row]=0===ui.$b&&void 0!==F[ec.row]?Math.max(We.height+ck,F[ec.row]):null}var Id=0,uh=0,zf;for(zf in F)\"count\"!==zf&&(Id+=F[zf]);for(zf in B)\"count\"!==zf&&(uh+=B[zf]);for(var bb=M.alloc(),Eb=0;Eb<f;Eb++){var Fb=A[Eb];\nif(Fb.visible||Fb===zb){var lc=a.getRowDefinition(Fb.row),uc=a.getColumnDefinition(Fb.column),Jd=0;isFinite(uc.width)?Jd=uc.width:(isFinite(K)&&null!==B[Fb.column]?0===uh?Jd=uc.actual+K:Jd=B[Fb.column]/uh*sh:null!==B[Fb.column]?Jd=K:Jd=uc.actual||K,Jd=Math.max(0,Jd-uc.Fc()));var Fe=0;isFinite(lc.height)?Fe=lc.height:(isFinite(S)&&null!==F[Fb.row]?0===Id?Fe=lc.actual+S:Fe=F[Fb.row]/Id*dc:null!==F[Fb.row]?Fe=S:Fe=lc.actual||S,Fe=Math.max(0,Fe-lc.Fc()));bb.h(Math.max(uc.minimum,Math.min(Jd,uc.maximum)),\nMath.max(lc.minimum,Math.min(Fe,lc.maximum)));eb=Al(Fb,lc,uc,!1);switch(eb){case Vk:bb.height=Math.max(bb.height,lc.actual+S);break;case Wk:bb.width=Math.max(bb.width,uc.actual+K)}var hg=Fb.margin,wi=hg.right+hg.left,xi=hg.top+hg.bottom;Fb.mk();Fb.measure(bb.width,bb.height,uc.minimum,lc.minimum);var yi=Fb.measuredBounds,fc=Math.max(yi.width+wi,0),Xe=Math.max(yi.height+xi,0);isFinite(K)&&(fc=Math.min(fc,bb.width));isFinite(S)&&(Xe=Math.min(Xe,bb.height));var Ye=0;Ye=lc.actual;lc.actual=Math.max(lc.actual,\nXe);lc.$b=Math.max(lc.$b,Xe);Ha=lc.actual-Ye;S=Math.max(S-Ha,0);null===F[Fb.row]&&(dc=Math.max(dc-Ha,0));Ye=uc.actual;uc.actual=Math.max(uc.actual,fc);uc.$b=Math.max(uc.$b,fc);Ha=uc.actual-Ye;K=Math.max(K-Ha,0);null===B[Fb.column]&&(sh=Math.max(sh-Ha,0))}}Ia(A);var Qc=M.alloc(),ke=Fa(),md=Fa();f=y.length;if(0!==f)for(var le=0;le<ba;le++)if(u[le]){ra=u[le].length;var dk=a.getRowDefinition(le);ke[le]=dk.actual;for(var Af=0;Af<ra;Af++)if(u[le][Af]){var ek=a.getColumnDefinition(Af);md[Af]=ek.actual}}for(var Bf=\n0;Bf<f;Bf++){var Na=y[Bf];if(Na.visible||Na===zb){var Kd=a.getRowDefinition(Na.row),qb=a.getColumnDefinition(Na.column);bb.h(Math.max(qb.minimum,Math.min(b,qb.maximum)),Math.max(Kd.minimum,Math.min(c,Kd.maximum)));eb=Al(Na,Kd,qb,!1);switch(eb){case sd:0!==md[qb.index]&&(bb.width=Math.min(bb.width,md[qb.index]));0!==ke[Kd.index]&&(bb.height=Math.min(bb.height,ke[Kd.index]));break;case Vk:0!==md[qb.index]&&(bb.width=Math.min(bb.width,md[qb.index]));break;case Wk:0!==ke[Kd.index]&&(bb.height=Math.min(bb.height,\nke[Kd.index]))}isFinite(qb.width)&&(bb.width=qb.width);isFinite(Kd.height)&&(bb.height=Kd.height);Qc.h(0,0);for(var vh=qb.minimum,Ld=Kd.minimum,Cf=1;Cf<Na.rowSpan&&!(Na.row+Cf>=a.rowCount);Cf++)H=a.getRowDefinition(Na.row+Cf),Ha=0,Ha=eb===sd||eb===Wk?Math.max(H.minimum,0===ke[Na.row+Cf]?H.maximum:Math.min(ke[Na.row+Cf],H.maximum)):Math.max(H.minimum,isNaN(H.rc)?H.maximum:Math.min(H.rc,H.maximum)),Qc.height+=Ha,Ld+=H.minimum;for(var nd=1;nd<Na.columnSpan&&!(Na.column+nd>=a.columnCount);nd++)H=a.getColumnDefinition(Na.column+\nnd),Ha=0,Ha=eb===sd||eb===Vk?Math.max(H.minimum,0===md[Na.column+nd]?H.maximum:Math.min(md[Na.column+nd],H.maximum)):Math.max(H.minimum,isNaN(H.rc)?H.maximum:Math.min(H.rc,H.maximum)),Qc.width+=Ha,vh+=H.minimum;bb.width+=Qc.width;bb.height+=Qc.height;var Df=Na.margin,zi=Df.right+Df.left,me=Df.top+Df.bottom;Na.measure(bb.width,bb.height,vh,Ld);for(var ig=Na.measuredBounds,Ef=Math.max(ig.width+zi,0),Ai=Math.max(ig.height+me,0),Ze=0,Zc=0;Zc<Na.rowSpan&&!(Na.row+Zc>=a.rowCount);Zc++)H=a.getRowDefinition(Na.row+\nZc),Ze+=H.total||0;if(Ze<Ai){var od=Ai-Ze,Ff=Ai-Ze;if(null!==Na.spanAllocation)for(var Gf=Na.spanAllocation,ne=0;ne<Na.rowSpan&&!(0>=od)&&!(Na.row+ne>=a.rowCount);ne++){H=a.getRowDefinition(Na.row+ne);var zd=H.ga||0,fk=Gf(Na,H,Ff);H.actual=Math.min(H.maximum,zd+fk);H.ga!==zd&&(od-=H.ga-zd)}for(;0<od;){var Ge=H.ga||0;isNaN(H.height)&&H.maximum>Ge&&(H.actual=Math.min(H.maximum,Ge+od),H.ga!==Ge&&(od-=H.ga-Ge));if(0===H.index)break;H=a.getRowDefinition(H.index-1)}}for(var wh=0,xh=0;xh<Na.columnSpan&&\n!(Na.column+xh>=a.columnCount);xh++)H=a.getColumnDefinition(Na.column+xh),wh+=H.total||0;if(wh<Ef){var $c=Ef-wh,Bi=Ef-wh;if(null!==Na.spanAllocation)for(var xn=Na.spanAllocation,yh=0;yh<Na.columnSpan&&!(0>=$c)&&!(Na.column+yh>=a.columnCount);yh++){H=a.getColumnDefinition(Na.column+yh);var yn=H.ga||0,Wt=xn(Na,H,Bi);H.actual=Math.min(H.maximum,yn+Wt);H.ga!==yn&&($c-=H.ga-yn)}for(;0<$c;){var gk=H.ga||0;isNaN(H.width)&&H.maximum>gk&&(H.actual=Math.min(H.maximum,gk+$c),H.ga!==gk&&($c-=H.ga-gk));if(0===\nH.index)break;H=a.getColumnDefinition(H.index-1)}}}}Ia(y);M.free(Qc);M.free(bb);void 0!==ke&&Ia(ke);void 0!==md&&Ia(md);var jg=0,kg=0,hk=a.desiredSize,fr=a.maxSize;eb=hl(a,!0);var Ci=ie=Gd=0,Di=0;f=a.columnCount;for(var ik=0;ik<f;ik++)void 0!==a.yb[ik]&&(H=a.getColumnDefinition(ik),isFinite(H.width)?(Ci+=H.width,Ci+=H.Fc()):Bm(H)===Cm?(Ci+=H.ga,Ci+=H.Fc()):0!==H.ga&&(Gd+=H.ga,Gd+=H.Fc()));isFinite(hk.width)?jg=Math.min(hk.width,fr.width):jg=eb!==og&&isFinite(b)?b:Gd;jg=Math.max(jg,a.minSize.width);\njg=Math.max(jg-Ci,0);for(var Xt=0===Gd?1:Math.max(jg/Gd,1),kk=0;kk<f;kk++)void 0!==a.yb[kk]&&(H=a.getColumnDefinition(kk),isFinite(H.width)||Bm(H)===Cm||(H.actual=H.ga*Xt),H.position=e.width,0!==H.ga&&(e.width+=H.ga,e.width+=H.Fc()));f=a.rowCount;for(var lk=0;lk<f;lk++)void 0!==a.Db[lk]&&(H=a.getRowDefinition(lk),isFinite(H.height)?(Di+=H.height,Di+=H.Fc()):Bm(H)===Cm?(Di+=H.ga,Di+=H.Fc()):0!==H.ga&&(ie+=H.ga,0!==H.ga&&(ie+=H.Fc())));isFinite(hk.height)?kg=Math.min(hk.height,fr.height):kg=eb!==og&&\nisFinite(c)?c:ie;kg=Math.max(kg,a.minSize.height);kg=Math.max(kg-Di,0);for(var Yt=0===ie?1:Math.max(kg/ie,1),mk=0;mk<f;mk++)void 0!==a.Db[mk]&&(H=a.getRowDefinition(mk),isFinite(H.height)||Bm(H)===Cm||(H.actual=H.ga*Yt),H.position=e.height,0!==H.ga&&(e.height+=H.ga,0!==H.ga&&(e.height+=H.Fc())));f=h.length;for(var zn=0;zn<f;zn++){var Fi=h[zn],An=0,Bn=0;Fi.type===X.TableRow?(An=e.width,H=a.getRowDefinition(Fi.row),Bn=H.actual):(H=a.getColumnDefinition(Fi.column),An=H.actual,Bn=e.height);Fi.measuredBounds.h(0,\n0,An,Bn);hj(Fi,!1)}Ia(h);a.pp=u};\nAm.prototype.arrange=function(a,b,c){var d=b.length,e=a.padding,f=e.left;e=e.top;for(var g=a.pp,h,k,l=g.length,m=0,n=0;n<l;n++)g[n]&&(m=Math.max(m,g[n].length));k=a.Db;h=a.yb;for(n=Math.min(a.topIndex,l-1);n!==l&&(void 0===k[n]||0===k[n].ga);)n++;n=Math.max(Math.min(n,l-1),0);n=-k[n].position;for(var p=Math.min(a.leftIndex,m-1);p!==m&&(void 0===h[p]||0===h[p].ga);)p++;p=Math.max(Math.min(p,m-1),0);p=-h[p].position;for(var r=0,q=0;r!==l&&void 0===k[r];)r++;for(;q!==l&&void 0===h[q];)q++;m=a.part;a.getRowDefinition(r);\na.getColumnDefinition(q);for(var u=0;u<b.length;u++){var v=b[u];if(v instanceof X&&v.visible&&(v.type===X.TableRow||v.type===X.TableColumn)){if(v.type===X.TableRow){h=a.getRowDefinition(v.row);var w=a.getColumnDefinition(q)}else h=a.getRowDefinition(r),w=a.getColumnDefinition(v.column);k=h.position+n+e;0!==h.ga&&(k+=h.cq(r));h=w.position+p+f;0!==w.ga&&(h+=w.cq(q));w=v.measuredBounds;v.ll();v.actualBounds.ea();var z=v.actualBounds,y=N.allocAt(z.x,z.y,z.width,z.height);z.x=v.type===X.TableRow?f:h;z.y=\nv.type===X.TableColumn?e:k;z.width=w.width;z.height=w.height;v.actualBounds.freeze();il(v,!1);Wb(y,z)||null===m||(m.Ch(),v.Qo(m));N.free(y)}}u=M.alloc();for(v=0;v<l;v++)if(g[v])for(m=g[v].length,w=a.getRowDefinition(v),k=w.position+n+e,0!==w.ga&&(k+=w.cq(r)),z=0;z<m;z++)if(g[v][z]){y=a.getColumnDefinition(z);h=y.position+p+f;0!==y.ga&&(h+=y.cq(q));for(var A=g[v][z],B=A.length,F=0;F<B;F++){var K=A[F],S=K.measuredBounds;u.h(0,0);for(var R=1;R<K.rowSpan&&!(v+R>=a.rowCount);R++){var O=a.getRowDefinition(v+\nR);0!==O.ga&&(u.height+=O.total)}for(R=1;R<K.columnSpan&&!(z+R>=a.columnCount);R++)O=a.getColumnDefinition(z+R),0!==O.ga&&(u.width+=O.total);var H=y.ga+u.width,da=w.ga+u.height;R=h;O=k;var ba=H,ra=da,Ca=h,cb=k,db=H,Ha=da;h+H>c.width&&(db=Math.max(c.width-h,0));k+da>c.height&&(Ha=Math.max(c.height-k,0));var zb=K.alignment;if(zb.Lb()){zb=a.defaultAlignment;zb.hb()||(zb=yc);var Db=zb.x;var Yc=zb.y;var Rb=zb.offsetX;zb=zb.offsetY;var jc=y.alignment,Ec=w.alignment;jc.hb()&&(Db=jc.x,Rb=jc.offsetX);Ec.hb()&&\n(Yc=Ec.y,zb=Ec.offsetY)}else Db=zb.x,Yc=zb.y,Rb=zb.offsetX,zb=zb.offsetY;if(isNaN(Db)||isNaN(Yc))Yc=Db=.5,zb=Rb=0;jc=S.width;Ec=S.height;var ge=K.margin,xf=ge.left+ge.right,sb=ge.top+ge.bottom,he=Al(K,w,y,!1);!isNaN(K.desiredSize.width)||he!==sd&&he!==Vk||(jc=Math.max(H-xf,0));!isNaN(K.desiredSize.height)||he!==sd&&he!==Wk||(Ec=Math.max(da-sb,0));H=K.maxSize;da=K.minSize;jc=Math.min(H.width,jc);Ec=Math.min(H.height,Ec);jc=Math.max(da.width,jc);Ec=Math.max(da.height,Ec);H=Ec+sb;R+=ba*Db-(jc+xf)*Db+\nRb+ge.left;O+=ra*Yc-H*Yc+zb+ge.top;K.visible&&(ac(Ca,cb,db,Ha,R,O,S.width,S.height)?K.arrange(R,O,jc,Ec):K.arrange(R,O,jc,Ec,new N(Ca,cb,db,Ha)))}}M.free(u);for(a=0;a<d;a++)c=b[a],f=c instanceof X?c:null,null===f||f.type!==X.TableRow&&f.type!==X.TableColumn||(f=c.actualBounds,c.naturalBounds.ea(),c.naturalBounds.h(0,0,f.width,f.height),c.naturalBounds.freeze())};function Dm(){this.na=\"Base\"}ma(Dm,Kl);Dm.prototype.measure=function(){};Dm.prototype.arrange=function(){};\nfunction Em(){this.na=\"Base\"}ma(Em,Kl);Em.prototype.measure=function(){};Em.prototype.arrange=function(){};function Fm(){this.na=\"Base\"}ma(Fm,Kl);\nFm.prototype.measure=function(a,b,c,d,e,f,g){1<d.length&&C(\"Viewbox Panel cannot contain more than one GraphObject.\");d=d[0];d.sa=1;d.mk();d.measure(Infinity,Infinity,f,g);var h=d.measuredBounds,k=d.margin,l=k.right+k.left;k=k.top+k.bottom;if(isFinite(b)||isFinite(c)){var m=d.scale,n=h.width;h=h.height;var p=Math.max(b-l,0),r=Math.max(c-k,0),q=1;a.viewboxStretch===qg?0!==n&&0!==h&&(q=Math.min(p/n,r/h)):0!==n&&0!==h&&(q=Math.max(p/n,r/h));0===q&&(q=1E-4);d.sa*=q;m!==d.scale&&(hj(d,!0),d.measure(Infinity,\nInfinity,f,g))}h=d.measuredBounds;e.width=isFinite(b)?b:Math.max(h.width+l,0);e.height=isFinite(c)?c:Math.max(h.height+k,0)};Fm.prototype.arrange=function(a,b,c){b=b[0];var d=b.measuredBounds,e=b.margin,f=Math.max(d.width+(e.right+e.left),0);e=Math.max(d.height+(e.top+e.bottom),0);var g=b.alignment;g.Lb()&&(g=a.defaultAlignment);g.hb()||(g=yc);b.arrange(c.width*g.x-f*g.x+g.offsetX,c.height*g.y-e*g.y+g.offsetY,d.width,d.height)};function Gm(){this.na=\"Base\"}ma(Gm,Kl);Gm.prototype.measure=function(){};\nGm.prototype.arrange=function(){};\nGm.prototype.lc=function(a,b,c){c=a.wf()*c.scale;0>=c&&(c=1);var d=a.gridCellSize,e=d.width;d=d.height;var f=a.naturalBounds,g=a.actualBounds,h=f.width,k=f.height,l=Math.ceil(h/e),m=Math.ceil(k/d),n=a.gridOrigin,p=n.x;n=n.y;b.save();b.beginPath();b.rect(0,0,h,k);b.clip();for(var r=[],q=a.T.m,u=q.length,v=0;v<u;v++){var w=q[v],z=[];r.push(z);if(w.visible){var y=w.interval;if(!(0>y)){w=Rj(w.figure);for(var A=0;A<u;A++)if(A!==v){var B=q[A];B.visible&&Rj(B.figure)===w&&(B=B.interval,B>y&&z.push(B))}}}}q=\na.T.m;u=q.length;for(v=0;v<u;v++){var F=q[v];if(F.visible&&(z=F.interval||1,w=Math.abs(z),!(2>e*w*c))){y=F.segmentIndex;if(!isFinite(y)||isNaN(y))y=0;0>y&&(y=w-Math.min(-y,w));y=Math.round(y%w);w=F.opacity;A=1;if(1!==w){if(0===w)continue;A=b.globalAlpha;b.globalAlpha=A*w}B=r[v];var K=!1,S=F.strokeDashArray;null!==S&&(K=!0,b.As(S,F.strokeDashOffset));if(\"LineV\"===F.figure&&null!==F.stroke&&0<F.strokeWidth){b.lineWidth=F.strokeWidth;bi(a,b,F.stroke,!1,!1,f,g);b.beginPath();for(S=F=Math.floor((p-e)/\ne);S<=F+l;S++){var R=S*e+p;0<=R&&R<=h&&Hm(S,z,y,B)&&(b.moveTo(R,0),b.lineTo(R,k))}b.stroke()}else if(\"LineH\"===F.figure&&null!==F.stroke&&0<F.strokeWidth){b.lineWidth=F.strokeWidth;bi(a,b,F.stroke,!1,!1,f,g);b.beginPath();for(S=F=Math.floor((n-d)/d);S<=F+m;S++)R=S*d+n,0<=R&&R<=k&&Hm(S,z,y,B)&&(b.moveTo(0,R),b.lineTo(h,R));b.stroke()}else if(\"BarV\"===F.figure&&null!==F.fill)for(bi(a,b,F.fill,!0,!1,f,g),F=F.width,isNaN(F)&&(F=e),R=S=Math.floor((p-e)/e);R<=S+l;R++){var O=R*e+p;0<=O+F&&O<=h&&Hm(R,z,y,\nB)&&b.fillRect(O,0,F,k)}else if(\"BarH\"===F.figure&&null!==F.fill)for(bi(a,b,F.fill,!0,!1,f,g),F=F.height,isNaN(F)&&(F=d),R=S=Math.floor((n-d)/d);R<=S+m;R++)O=R*d+n,0<=O+F&&O<=k&&Hm(R,z,y,B)&&b.fillRect(0,O,h,F);K&&b.ys();1!==w&&(b.globalAlpha=A)}}b.restore();b.Ec(!1)};function Hm(a,b,c,d){if(0>b)return a%b===c;if(a%b!==c)return!1;b=d.length;for(var e=0;e<b;e++)if(a%d[e]===c)return!1;return!0}function Im(){this.na=\"Base\"}ma(Im,Kl);\nIm.prototype.measure=function(a,b,c,d,e){c=d.length;if(a instanceof we||a instanceof U){var f=null,g=null;a instanceof U&&(f=a);a instanceof we&&(g=a,f=g.adornedPart,null===a.j&&(a.j=[]));if(f instanceof U){var h=f;if(0===c)Tb(a.naturalBounds,0,0),a.measuredBounds.h(0,0,0,0);else{var k=a instanceof we?null:f.path,l=f.routeBounds;b=a.dg;b.h(0,0,l.width,l.height);var m=h.points,n=f.pointsCount;null!==g?g.sk(!1):null!==f&&f.sk(!1);var p=l.width,r=l.height;a.location.h(l.x,l.y);var q=a.j;q.length=0;null!==\nk&&(Jm(a,p,r,k),g=k.measuredBounds,b.Nc(g),q.push(g));g=qd.alloc();for(var u=J.alloc(),v=J.alloc(),w=0;w<c;w++){var z=d[w];if(z!==k)if(z.isPanelMain&&z instanceof uf){Jm(a,p,r,z);var y=z.measuredBounds;b.Nc(y);q.push(y)}else if(2>n)z.measure(Infinity,Infinity,0,0),y=z.measuredBounds,b.Nc(y),q.push(y);else{var A=z.segmentIndex,B=z.segmentFraction,F=z.alignmentFocus;F.wc()&&(F=yc);var K=z.segmentOrientation,S=z.segmentOffset;if(isNaN(A)){var R=h.ma;y=Fa();R.vv(B,y);var O=J.allocAt(y[0],y[1]);O.add(h.i(0));\nR.type===Q.j?O.offset(-R.startX,-R.startY):(R=R.figures.first(),null!==R&&O.offset(-R.startX,-R.startY));R=y[2];if(K!==Vf){var H=h.computeAngle(z,K,R);z.xb=H}H=O.x-l.x;var da=O.y-l.y;J.free(O);Ia(y)}else if(A<-n||A>=n)y=J.alloc(),h.pg(),h.computeMidPoint(y),R=h.midAngle,K!==Vf&&(H=h.computeAngle(z,K,R),z.xb=H),H=y.x-l.x,da=y.y-l.y,J.free(y);else{H=0;0<=A?(da=m.J(A),y=A<n-1?m.J(A+1):da):(H=n+A,da=m.J(H),y=0<H?m.J(H-1):da);if(da.Ta(y)){0<=A?(R=0<A?m.J(A-1):da,H=A<n-2?m.J(A+2):y):(R=H<n-1?m.J(H+1):da,\nH=1<H?m.J(H-2):y);O=R.tf(da);var ba=y.tf(H);R=O>ba+10?0<=A?R.Oa(da):da.Oa(R):ba>O+10?0<=A?y.Oa(H):H.Oa(y):0<=A?R.Oa(H):H.Oa(R)}else R=0<=A?da.Oa(y):y.Oa(da);K!==Vf&&(H=h.computeAngle(z,K,R),z.xb=H);H=da.x+(y.x-da.x)*B-l.x;da=da.y+(y.y-da.y)*B-l.y}z.measure(Infinity,Infinity,0,0);y=z.measuredBounds;O=z.naturalBounds;var ra=0;z instanceof uf&&(ra=z.strokeWidth);ba=O.width+ra;var Ca=O.height+ra;g.reset();g.translate(-y.x,-y.y);g.scale(z.scale,z.scale);g.rotate(K===Vf?z.angle:R,ba/2,Ca/2);K!==Km&&K!==\nLm||g.rotate(90,ba/2,Ca/2);K!==Mm&&K!==Nm||g.rotate(-90,ba/2,Ca/2);K===Om&&(45<R&&135>R||225<R&&315>R)&&g.rotate(-R,ba/2,Ca/2);O=new N(0,0,ba,Ca);u.Ui(O,F);g.ya(u);F=-u.x+ra/2*z.scale;z=-u.y+ra/2*z.scale;v.assign(S);ra=isNaN(S.x);var cb=isNaN(S.y);if(ra||cb){ba=ba/2+3;Ca=Ca/2+3;var db=45<=R&&135>=R,Ha=225<=R&&315>=R;K===Vf&&(db||Ha)?(v.x=cb?ba:S.y,v.y=ra?Ca:S.x,db?0<=A||isNaN(A)&&.5>B||!ra||(v.y=-Ca):Ha&&((0<=A||isNaN(A)&&.5>B)&&ra&&(v.y=-Ca),cb&&(v.x=-ba))):(ra&&(v.x=0<=A||isNaN(A)&&.5>B?ba:-ba),\ncb&&(v.y=-Ca),v.rotate(R))}else v.rotate(R);H+=v.x;da+=v.y;O.set(y);O.h(H+F,da+z,y.width,y.height);q.push(O);b.Nc(O)}}if(null!==f)for(d=f.labelNodes;d.next();)d.value.measure(Infinity,Infinity);a.dg=b;a=a.location;a.h(a.x+b.x,a.y+b.y);Tb(e,b.width||0,b.height||0);qd.free(g);J.free(u);J.free(v)}}}};\nIm.prototype.arrange=function(a,b){var c=b.length;if(a instanceof we||a instanceof U){var d=a,e=null;a instanceof we&&(e=a,d=e.adornedPart);var f=a instanceof we?null:d.path,g=a.j;if(0!==g.length){var h=0;if(null!==f&&h<g.length){var k=g[h];h++;f.arrange(k.x-a.dg.x,k.y-a.dg.y,k.width,k.height)}for(k=0;k<c;k++){var l=b[k];if(l!==f&&h<g.length){var m=g[h];h++;l.arrange(m.x-a.dg.x,m.y-a.dg.y,m.width,m.height)}}}b=d.points;c=b.count;if(2<=c&&a instanceof U)for(f=a.labelNodes;f.next();){var n=a;g=f.value;\nh=g.segmentIndex;k=g.segmentFraction;var p=g.alignmentFocus;l=g.segmentOrientation;m=g.segmentOffset;if(isNaN(h)){var r=n.ma;var q=Fa();r.vv(k,q);var u=J.allocAt(q[0],q[1]);u.add(n.i(0));r.type===Q.j?u.offset(-r.startX,-r.startY):(r=r.figures.first(),u.offset(-r.startX,-r.startY));r=q[2];l!==Vf&&(n=n.computeAngle(g,l,r),g.angle=n);n=u.x;var v=u.y;J.free(u);Ia(q)}else if(h<-c||h>=c)q=J.alloc(),r=n,v=q,r.pg(),r.computeMidPoint(v),r=n.midAngle,l!==Vf&&(n=n.computeAngle(g,l,r),g.angle=n),n=q.x,v=q.y,\nJ.free(q);else{u=0;0<=h?(q=b.m[h],v=h<c-1?b.m[h+1]:q):(u=c+h,q=b.m[u],v=0<u?b.m[u-1]:q);if(q.Ta(v)){0<=h?(r=0<h?b.m[h-1]:q,u=h<c-2?b.m[h+2]:v):(r=u<c-1?b.m[u+1]:q,u=1<u?b.m[u-2]:v);var w=r.tf(q),z=v.tf(u);r=w>z+10?0<=h?r.Oa(q):q.Oa(r):z>w+10?0<=h?v.Oa(u):u.Oa(v):0<=h?r.Oa(u):u.Oa(r)}else r=0<=h?q.Oa(v):v.Oa(q);l!==Vf&&(n=n.computeAngle(g,l,r),g.angle=n);n=q.x+(v.x-q.x)*k;v=q.y+(v.y-q.y)*k}if(p.Qs())g.location=new J(n,v);else{p.wc()&&(p=yc);q=qd.alloc();q.reset();q.scale(g.scale,g.scale);q.rotate(g.angle,\n0,0);var y=g.naturalBounds;u=N.allocAt(0,0,y.width,y.height);w=J.alloc();w.Ui(u,p);q.ya(w);p=-w.x;z=-w.y;var A=y.width,B=y.height;y=J.alloc();y.assign(m);var F=isNaN(m.x),K=isNaN(m.y);if(F||K){A=A/2+3;B=B/2+3;var S=45<=r&&135>=r,R=225<=r&&315>=r;l===Vf&&(S||R)?(y.x=K?A:m.y,y.y=F?B:m.x,S?0<=h||isNaN(h)&&.5>k||!F||(y.y=-B):R&&((0<=h||isNaN(h)&&.5>k)&&F&&(y.y=-B),K&&(y.x=-A))):(F&&(y.x=0<=h||isNaN(h)&&.5>k?A:-A),K&&(y.y=-B),y.rotate(r))}else y.rotate(r);n+=y.x;v+=y.y;q.Jq(u);p+=u.x;z+=u.y;h=J.allocAt(n+\np,v+z);g.move(h);J.free(h);J.free(y);J.free(w);N.free(u);qd.free(q)}}null!==e?e.sk(!1):d.sk(!1)}};\nfunction Jm(a,b,c,d){if(!1!==mj(d)){var e=d.strokeWidth;0===e&&a instanceof we&&a.type===X.Link&&a.adornedObject instanceof uf&&(e=a.adornedObject.strokeWidth);e*=d.sa;a instanceof U&&null!==a.ma?(a=a.ma.bounds,d.ue(a.x-e/2,a.y-e/2,a.width+e,a.height+e)):a instanceof we&&null!==a.adornedPart.ma?(a=a.adornedPart.ma.bounds,d.ue(a.x-e/2,a.y-e/2,a.width+e,a.height+e)):d.ue(-(e/2),-(e/2),b+e,c+e);hj(d,!1)}}function Pm(){this.na=\"Base\"}ma(Pm,Kl);\nPm.prototype.measure=function(a,b,c,d,e,f,g){var h=a.nb();a.Kg=[];var k=h.margin,l=k.right+k.left,m=k.top+k.bottom;h.measure(b,c,f,g);var n=h.measuredBounds,p=new N(-k.left,-k.top,Math.max(n.width+l,0),Math.max(n.height+m,0));a.Kg.push(p);e.assign(p);for(var r=h.geometry,q=h.strokeWidth,u=r.flattenedSegments,v=r.flattenedLengths,w=r.flattenedTotalLength,z=u.length,y=0,A=0,B=Fa(),F=0;F<z;F++){var K=u[F],S=[];A=y=0;for(var R=K.length,O=0;O<R;O+=2){var H=K[O],da=K[O+1];if(0!==O){var ba=180*Math.atan2(da-\nA,H-y)/Math.PI;0>ba&&(ba+=360);S.push(ba)}y=H;A=da}B.push(S)}if(null===a.Nf){for(var ra=[],Ca=a.T.m,cb=Ca.length,db=0;db<cb;db++){var Ha=Ca[db],zb=[];ra.push(zb);if(Ha.visible){var Db=Ha.interval;if(!(0>Db))for(var Yc=0;Yc<cb;Yc++)if(Yc!==db){var Rb=Ca[Yc];if(Rb.visible&&Ha.constructor===Rb.constructor){var jc=Rb.interval;jc>Db&&zb.push(jc)}}}}a.Nf=ra}var Ec=a.Nf;var ge=a.T.m,xf=ge.length,sb=0,he=0,dg=w;a.tj=[];for(var ph,qh=0;qh<xf;qh++){var eb=ge[qh];ph=[];if(eb.visible&&eb!==h){var ti=Math.abs(eb.interval),\nbk=a.graduatedTickUnit;if(!(2>bk*ti*w/a.graduatedRange)){var eg=v[0][0],ld=0,kc=0;he=w*eb.graduatedStart-1E-4;dg=w*eb.graduatedEnd+1E-4;var yf=bk*ti,tc=a.graduatedTickBase;if(tc<a.graduatedMin){var fg=(a.graduatedMin-tc)/yf;fg=0===fg%1?fg:Math.floor(fg+1);tc+=fg*yf}else tc>a.graduatedMin+yf&&(tc-=Math.floor((tc-a.graduatedMin)/yf)*yf);for(var rh=Ec[qh],wn=tc,Gd=1;tc<a.graduatedMax+5E-8;Gd++){a:{for(var ie=rh.length,gg=0;gg<ie;gg++)if(L.aa((tc-a.graduatedTickBase)%(rh[gg]*a.graduatedTickUnit),0)){var Ve=\n!1;break a}Ve=!0}if(Ve&&(null===eb.graduatedSkip||!eb.graduatedSkip(tc))&&(sb=(tc-a.graduatedMin)*w/a.graduatedRange,sb>w&&(sb=w),he<=sb&&sb<=dg)){for(var Hd=B[ld][kc],yd=v[ld][kc];ld<v.length;){for(;sb>eg&&kc<v[ld].length-1;)kc++,Hd=B[ld][kc],yd=v[ld][kc],eg+=yd;if(sb<=eg)break;ld++;kc=0;Hd=B[ld][kc];yd=v[ld][kc];eg+=yd}var dc=u[ld],sh=dc[2*kc],th=dc[2*kc+1],ec=(sb-(eg-yd))/yd,ui=new J(sh+(dc[2*kc+2]-sh)*ec+q/2-r.bounds.x,th+(dc[2*kc+3]-th)*ec+q/2-r.bounds.y);ui.scale(h.scale,h.scale);a:{var je=\nHd,We=B[ld];if(!(.5005>ec&&.4995<ec)){var Pc=je;.5>ec?0<kc?Pc=We[kc-1]:L.aa(dc[0],dc[dc.length-2])&&L.aa(dc[1],dc[dc.length-1])&&(Pc=We[We.length-1]):.5<ec&&(kc+1<We.length?Pc=We[kc+1]:L.aa(dc[0],dc[dc.length-2])&&L.aa(dc[1],dc[dc.length-1])&&(Pc=We[0]));if(je!==Pc){var vi=Math.abs(je-Pc);180<vi&&(je<Pc?je+=360:Pc+=360,vi=Math.abs(je-Pc));if(5E-4>ec||.9995<ec){Hd=(je+Pc)/2%360;break a}if(10>vi){var ck=1-Math.abs(.5-ec);Hd=(je*ck+Pc*(1-ck))%360;break a}}}Hd=je}if(eb instanceof Lg){var Id=\"\";null!==\neb.graduatedFunction?(Id=eb.graduatedFunction(tc),Id=null!==Id&&void 0!==Id?Id.toString():\"\"):Id=(+tc.toFixed(2)).toString();\"\"!==Id&&ph.push({tm:ui,angle:Hd,text:Id})}else ph.push({tm:ui,angle:Hd})}tc=wn+Gd*yf}}}a.tj.push(ph)}Ia(B);var uh=a.tj;if(null!==uh)for(var zf=d.length,bb=0;bb<zf;bb++){var Eb=d[bb],Fb=uh[bb];if(Eb.visible&&Eb!==h&&0!==Fb.length){if(Eb instanceof uf){var lc=a,uc=e,Jd=Eb.alignmentFocus;Jd.wc()&&(Jd=vc);var Fe=Eb.angle;Eb.xb=0;Eb.measure(Infinity,Infinity,0,0);Eb.xb=Fe;var hg=\nEb.measuredBounds,wi=hg.width,xi=hg.height,yi=N.allocAt(0,0,wi,xi),fc=J.alloc();fc.Ui(yi,Jd);N.free(yi);for(var Xe=-fc.x,Ye=-fc.y,Qc=new N,ke=Fb.length,md=0;md<ke;md++)for(var le=Fb[md],dk=le.tm.x,Af=le.tm.y,ek=le.angle,Bf=0;4>Bf;Bf++){switch(Bf){case 0:fc.h(Xe,Ye);break;case 1:fc.h(Xe+wi,Ye);break;case 2:fc.h(Xe,Ye+xi);break;case 3:fc.h(Xe+wi,Ye+xi)}fc.rotate(ek+Eb.angle);fc.offset(dk,Af);0===md&&0===Bf?Qc.h(fc.x,fc.y,0,0):Qc.Le(fc);fc.offset(-dk,-Af);fc.rotate(-ek-Eb.angle)}J.free(fc);null!==lc.Kg&&\nlc.Kg.push(Qc);$b(uc,Qc.x,Qc.y,Qc.width,Qc.height)}else if(Eb instanceof Lg){var Na=a,Kd=e;null===Na.mh&&(Na.mh=new Lg);var qb=Na.mh;Qm(qb,Eb);var vh=Eb.alignmentFocus;vh.wc()&&(vh=vc);for(var Ld=Eb.segmentOrientation,Cf=Eb.segmentOffset,nd=new N,Df=0,zi=0,me=0,ig=0,Ef=0,Ai=Fb.length,Ze=0;Ze<Ai;Ze++){var Zc=Fb[Ze];Df=Zc.tm.x;zi=Zc.tm.y;me=Zc.angle;Ef=ig=Eb.angle;Ld!==Vf&&(Ef=Ld===Rm||Ld===Sm?me+Eb.angle:me,ig=U.computeAngle(Ld,Ef));qb.xb=ig;qb.text=Zc.text||\"\";qb.measure(Infinity,Infinity,0,0);var od=\nqb.measuredBounds,Ff=qb.naturalBounds,Gf=Ff.width,ne=Ff.height,zd=qd.alloc();zd.reset();zd.translate(-od.x,-od.y);zd.scale(qb.scale,qb.scale);zd.rotate(Ef,Gf/2,ne/2);Ld!==Km&&Ld!==Lm||zd.rotate(90,Gf/2,ne/2);Ld!==Mm&&Ld!==Nm||zd.rotate(-90,Gf/2,ne/2);Ld===Om&&(45<me&&135>me||225<me&&315>me)&&zd.rotate(-me,Gf/2,ne/2);var fk=N.allocAt(0,0,Gf,ne),Ge=J.alloc();Ge.Ui(fk,vh);zd.ya(Ge);var wh=-Ge.x,xh=-Ge.y,$c=J.alloc();$c.assign(Cf);isNaN($c.x)&&($c.x=Gf/2+3);isNaN($c.y)&&($c.y=-(ne/2+3));$c.rotate(me);\nDf+=$c.x+wh;zi+=$c.y+xh;var Bi=new N(Df,zi,od.width,od.height),xn=new N(od.x,od.y,od.width,od.height),yh=new N(Ff.x,Ff.y,Ff.width,Ff.height);Zc.wA=ig;Zc.lineCount=qb.lineCount;Zc.lines=[qb.qb,qb.di,qb.oe,qb.ze,qb.zc,qb.Pb,qb.me];Zc.actualBounds=Bi;Zc.measuredBounds=xn;Zc.naturalBounds=yh;0===Ze?nd.assign(Bi):nd.Nc(Bi);J.free($c);J.free(Ge);N.free(fk);qd.free(zd)}null!==Na.Kg&&Na.Kg.push(nd);$b(Kd,nd.x,nd.y,nd.width,nd.height)}hj(Eb,!1)}}};\nPm.prototype.arrange=function(a,b,c){if(null!==a.Kg){var d=a.nb(),e=a.tj;if(null!==e){var f=a.Kg,g=0,h=f[g];g++;null!==d&&d.arrange(h.x-c.x,h.y-c.y,h.width,h.height);for(var k=b.length,l=0;l<k;l++){var m=b[l];h=e[l];m.visible&&m!==d&&0!==h.length&&(h=f[g],g++,m.arrange(h.x-c.x,h.y-c.y,h.width,h.height))}a.Kg=null}}};\nPm.prototype.lc=function(a,b,c){var d=c.zj;c.zj=!0;var e=a.naturalBounds,f=e.width;e=e.height;b.save();b.beginPath();b.rect(-1,-1,f+1,e+1);b.clip();f=a.nb();f.lc(b,c);e=a.wf()*c.scale;0>=e&&(e=1);for(var g=f.actualBounds,h=a.T.m,k=a.tj,l=h.length,m=0;m<l;m++){var n=h[m],p=k[m],r=p.length;if(n.visible&&n!==f&&0!==p.length)if(n instanceof uf){if(!(2>a.graduatedTickUnit*n.interval*f.geometry.flattenedTotalLength/a.graduatedRange*e)){var q=n.measuredBounds,u=n.strokeWidth*n.scale,v=n.alignmentFocus;v.wc()&&\n(v=vc);for(var w=0;w<r;w++){var z=p[w].tm,y=p[w].angle,A=v,B=n.tb;B.reset();B.translate(z.x+g.x,z.y+g.y);B.rotate(y+n.angle,0,0);B.translate(-q.width*A.x+A.offsetX+u/2,-q.height*A.y+A.offsetY+u/2);B.scale(n.scale,n.scale);xl(n,!1);n.Mh.set(n.tb);n.al=n.scale;yl(n,!1);n.lc(b,c);n.tb.reset()}}}else if(n instanceof Lg)for(null===a.mh&&(a.mh=new Lg),q=a.mh,Qm(q,n),n=0;n<r;n++)u=p[n],u.actualBounds&&u.measuredBounds&&u.naturalBounds&&(q.Ub=u.text||\"\",q.xb=u.wA||0,q.Wc=u.lineCount||0,v=u.lines,void 0!==\nv&&(q.qb=v[0],q.di=v[1],q.oe=v[2],q.ze=v[3],q.zc=v[4],q.Pb=v[5],q.me=v[6]),u.naturalBounds&&(q.qc=u.naturalBounds),u.actualBounds&&(v=u.actualBounds,q.arrange(v.x,v.y,v.width,v.height)),v=u.actualBounds,q.arrange(v.x,v.y,v.width,v.height),w=u.measuredBounds,u=u.naturalBounds,z=q.tb,z.reset(),z.translate(v.x+g.x,v.y+g.y),z.translate(-w.x,-w.y),q.zp(z,u.x,u.y,u.width,u.height),xl(q,!1),q.Mh.set(q.tb),q.al=q.scale,yl(q,!1),q.lc(b,c))}c.zj=d;b.restore();b.Ec(!0)};\nfunction X(a,b){Y.call(this);this.ia=null;if(void 0===a)this.ia=X.Position;else if(\"string\"===typeof a){var c=Jl.H(a);null!==c&&(this.ia=c)}else a instanceof Kl?this.ia=a:a&&(this.ia=X.Position,b=a);null===this.ia&&C(\"Panel type not specified or PanelLayout not loaded: \"+a);this.T=new E;this.mb=pc;this.ia===X.Grid&&(this.G|=1048576);this.wn=Vc;this.Kf=Uk;this.ia===X.Table&&Tm(this);this.Sp=qg;this.Vn=Mb;this.Wn=pb;this.Sn=0;this.Rn=100;this.Un=10;this.Tn=0;this.Ph=this.ib=this.Nf=this.Kg=this.tj=\nnull;this.oo=NaN;this.se=this.bi=null;this.pl=\"category\";this.Xd=null;this.dg=new N(NaN,NaN,NaN,NaN);this.mh=this.pp=this.lh=null;this.Oe=\"\";b&&Object.assign(this,b)}ma(X,Y);function Tm(a){a.oj=pc;a.Bg=1;a.Vh=null;a.Uh=null;a.Ag=1;a.zg=null;a.Th=null;a.Db=[];a.yb=[];a.Pj=Um;a.nj=Um;a.wi=0;a.fi=0}\nX.prototype.cloneProtected=function(a){Y.prototype.cloneProtected.call(this,a);a.ia=this.ia;a.mb=this.mb.I();a.wn=this.wn.I();a.Kf=this.Kf;if(a.ia===X.Table){a.oj=this.oj.I();a.Bg=this.Bg;a.Vh=this.Vh;a.Uh=this.Uh;a.Ag=this.Ag;a.zg=this.zg;a.Th=this.Th;var b=[];if(0<this.Db.length)for(var c=this.Db,d=c.length,e=0;e<d;e++)if(void 0!==c[e]){var f=c[e].copy();f.Ti(a);b[e]=f}a.Db=b;b=[];if(0<this.yb.length)for(c=this.yb,d=c.length,e=0;e<d;e++)void 0!==c[e]&&(f=c[e].copy(),f.Ti(a),b[e]=f);a.yb=b;a.Pj=\nthis.Pj;a.nj=this.nj;a.wi=this.wi;a.fi=this.fi}a.Sp=this.Sp;a.Vn=this.Vn.I();a.Wn=this.Wn.I();a.Sn=this.Sn;a.Rn=this.Rn;a.Un=this.Un;a.Tn=this.Tn;a.tj=this.tj;a.Nf=this.Nf;a.ib=this.ib;a.Ph=this.Ph;a.oo=this.oo;a.bi=this.bi;a.se=this.se;a.pl=this.pl;a.dg.assign(this.dg);a.Oe=this.Oe;null!==this.pp&&(a.pp=this.pp)};X.prototype.sf=function(a){Y.prototype.sf.call(this,a);a.T=this.T;for(var b=a.T.m,c=b.length,d=0;d<c;d++)b[d].Xf=a;a.lh=null};\nX.prototype.copy=function(){var a=Y.prototype.copy.call(this);if(null!==a){for(var b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d].copy();e.Ti(a);e.Nj=null;var f=a.T,g=f.count;f.ub(g,e);f=a.part;if(null!==f){f.li=null;null!==e.portId&&f instanceof W&&(f.Ge=!0);var h=a.diagram;null!==h&&h.undoManager.isUndoingRedoing||f.Va(ee,\"elements\",a,null,e,null,g)}}return a}return null};t=X.prototype;t.toString=function(){return\"Panel(\"+this.type.name+\")#\"+gb(this)};\nt.Qo=function(a){Y.prototype.Qo.call(this,a);for(var b=this.T.m,c=b.length,d=0;d<c;d++)b[d].Qo(a)};\nt.Fi=function(a,b){if(this.ia===X.Grid)a.Bd(),this.ia.lc(this,a,b);else if(this.ia===X.Graduated)a.Bd(),this.ia.lc(this,a,b);else{this.ia===X.Table&&(a.Bd(),a.lineCap=\"butt\",Vm(this,a,!0,this.Db,!0),Vm(this,a,!1,this.yb,!0),Wm(this,a,!0,this.Db),Wm(this,a,!1,this.yb),Vm(this,a,!0,this.Db,!1),Vm(this,a,!1,this.yb,!1));var c=this.isClipping&&this.ia===X.Spot;c&&a.save();for(var d=this.nb(),e=this.T.m,f=e.length,g=0;g<f;g++){var h=e[g];c&&h===d&&(a.clipInsteadOfFill=!0);h.lc(a,b);c&&h===d&&(a.clipInsteadOfFill=\n!1)}c&&(a.restore(),a.Ec(!0))}};\nfunction Wm(a,b,c,d){for(var e=d.length,f=a.actualBounds,g=a.naturalBounds,h=!0,k=0;k<e;k++){var l=d[k];if(void 0!==l)if(h)h=!1;else if(0!==l.actual){if(c){if(l.position>f.height)continue}else if(l.position>f.width)continue;var m=l.separatorStrokeWidth;isNaN(m)&&(m=c?a.Bg:a.Ag);var n=l.separatorStroke;null===n&&(n=c?a.Vh:a.zg);if(0!==m&&null!==n){bi(a,b,n,!1,!1,g,f);n=!1;var p=l.separatorDashArray;null===p&&(p=c?a.Uh:a.Th);null!==p&&(n=!0,b.As(p,0));b.beginPath();p=l.position+m;c?p>f.height&&(m-=\np-f.height):p>f.width&&(m-=p-f.width);l=l.position+m/2;b.lineWidth=m;m=a.mb;c?(l+=m.top,p=f.width-m.right,b.moveTo(m.left,l),b.lineTo(p,l)):(l+=m.left,p=f.height-m.bottom,b.moveTo(l,m.top),b.lineTo(l,p));b.stroke();n&&b.ys()}}}}\nfunction Vm(a,b,c,d,e){for(var f=d.length,g=a.actualBounds,h=a.naturalBounds,k=Xm(a,!0),l=Xm(a,!1),m=0;m<f;m++){var n=d[m];if(void 0!==n&&null!==n.background&&n.coversSeparators!==e&&0!==n.actual){var p=c?g.height:g.width;if(!(n.position>p)){var r=n.Fc(),q=n.separatorStrokeWidth;isNaN(q)&&(q=c?a.Bg:a.Ag);var u=n.separatorStroke;null===u&&(u=c?a.Vh:a.zg);if(null===u||n.index===(c?k:l))q=0;r-=q;q=n.position+q;r+=n.actual;q+r>p&&(r=p-q);0>=r||(p=a.mb,bi(a,b,n.background,!0,!1,h,g),c?b.fillRect(p.left,\nq+p.top,g.width-(p.left+p.right),r):b.fillRect(q+p.left,p.top,r,g.height-(p.top+p.bottom)))}}}}function Xm(a,b){for(var c=b?a.Db.length:a.yb.length,d=0;d<c;d++){var e=b?a.Db[d]:a.yb[d];if(void 0!==e)return e.index}return 0}function Rj(a){return\"LineV\"===a||\"BarV\"===a}\nt.kk=function(a,b,c,d,e){var f=this.he(),g=this.transform,h=1/(g.m11*g.m22-g.m12*g.m21),k=g.m22*h,l=-g.m12*h,m=-g.m21*h,n=g.m11*h,p=h*(g.m21*g.dy-g.m22*g.dx),r=h*(g.m12*g.dx-g.m11*g.dy);if(null!==this.areaBackground)return g=this.actualBounds,L.yf(g.left,g.top,g.right,g.bottom,a,b,c,d,e);if(null!==this.background)return f=a*k+b*m+p,h=a*l+b*n+r,a=c*k+d*m+p,k=c*l+d*n+r,e.h(0,0),c=this.naturalBounds,f=L.yf(0,0,c.width,c.height,f,h,a,k,e),e.transform(g),f;f||(k=1,m=l=0,n=1,r=p=0);h=a*k+b*m+p;a=a*l+b*\nn+r;k=c*k+d*m+p;c=c*l+d*n+r;e.h(k,c);d=(k-h)*(k-h)+(c-a)*(c-a);l=!1;n=this.T.m;r=n.length;m=J.alloc();p=null;b=Infinity;var q=null,u=this.isClipping&&this.ia===X.Spot;u&&(q=J.alloc(),p=this.nb(),(l=p.kk(h,a,k,c,q))&&(b=(h-q.x)*(h-q.x)+(a-q.y)*(a-q.y)));for(var v=0;v<r;v++){var w=n[v];w.visible&&w!==p&&w.kk(h,a,k,c,m)&&(l=!0,w=(h-m.x)*(h-m.x)+(a-m.y)*(a-m.y),w<d&&(d=w,e.set(m)))}u&&(b>d&&e.set(q),J.free(q));J.free(m);f&&e.transform(g);return l};\nt.s=function(a){if(!mj(this)){Y.prototype.s.call(this,a);a=null;if(this.ia===X.Auto||this.ia===X.Link)a=this.nb();for(var b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d];(e===a||e.isPanelMain)&&e.s(!0);if(!e.desiredSize.u()){var f=hl(e,!1);(e instanceof mg||e instanceof X||e instanceof Lg||f!==og)&&e.s(!0)}}}};t.mk=function(){if(!mj(this)){hj(this,!0);il(this,!0);for(var a=this.T.m,b=a.length,c=0;c<b;c++)a[c].mk()}};\nt.ll=function(){if(0!==(this.G&2048)===!1){xl(this,!0);yl(this,!0);for(var a=this.T.m,b=a.length,c=0;c<b;c++)a[c].Bv()}};t.Bv=function(){yl(this,!0);for(var a=this.T.m,b=a.length,c=0;c<b;c++)a[c].Bv()};\nt.qm=function(a,b,c,d){var e=this.dg;e.h(0,0,0,0);var f=this.desiredSize,g=this.minSize;void 0===c&&(c=g.width,d=g.height);c=Math.max(c,g.width);d=Math.max(d,g.height);var h=this.maxSize;isNaN(f.width)||(a=Math.min(f.width,h.width));isNaN(f.height)||(b=Math.min(f.height,h.height));a=Math.max(c,a);b=Math.max(d,b);var k=this.mb;a=Math.max(a-k.left-k.right,0);b=Math.max(b-k.top-k.bottom,0);var l=this.T.m;0!==l.length&&this.ia.measure(this,a,b,l,e,c,d);a=e.width+k.left+k.right;k=e.height+k.top+k.bottom;\nisFinite(f.width)&&(a=f.width);isFinite(f.height)&&(k=f.height);a=Math.min(h.width,a);k=Math.min(h.height,k);a=Math.max(g.width,a);k=Math.max(g.height,k);a=Math.max(c,a);k=Math.max(d,k);Tb(e,a,k);Tb(this.naturalBounds,a,k);this.ue(0,0,a,k)};t.nb=function(){if(null===this.lh){var a=this.T.m,b=a.length;if(0===b)return null;for(var c=0;c<b;c++){var d=a[c];if(!0===d.isPanelMain)return this.lh=d}this.lh=a[0]}return this.lh};function sm(a){return null!==a.part?a.part.locationObject:null}\nt.vh=function(a,b,c,d){var e=this.T.m;this.actualBounds.h(a,b,c,d);if(0!==e.length){if(!this.desiredSize.u()){a=hl(this,!0);var f=this.measuredBounds;b=f.width;f=f.height;var g=this.Pg,h=g.left+g.right;g=g.top+g.bottom;b===c&&f===d&&(a=og);switch(a){case og:if(b>c||f>d)this.s(),this.measure(b>c?c:b,f>d?d:f,0,0);break;case sd:this.s(!0);this.measure(c+h,d+g,0,0);break;case Vk:this.s(!0);this.measure(c+h,f+g,0,0);break;case Wk:this.s(!0),this.measure(b+h,d+g,0,0)}}this.ia.arrange(this,e,this.dg)}};\nt.xh=function(a){var b=this.naturalBounds,c=sm(this);if(ac(0,0,b.width,b.height,a.x,a.y)){b=this.T.m;for(var d=b.length,e=J.allocAt(0,0);d--;){var f=b[d];if(f.visible||f===c)if(Ab(e.set(a),f.transform),f.$(e))return J.free(e),!0}J.free(e);return null===this.Rb&&null===this.fd?!1:!0}return!1};t.Bs=function(a){if(this.Mk===a)return this;for(var b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d].Bs(a);if(null!==e)return e}return null};\nt.Mm=function(a,b){b(this,a);if(a instanceof X){a=a.T.m;for(var c=a.length,d=0;d<c;d++)this.Mm(a[d],b)}};function zj(a,b){Ym(a,a,b)}function Ym(a,b,c){c(b);b=b.T.m;for(var d=b.length,e=0;e<d;e++){var f=b[e];f instanceof X&&Ym(a,f,c)}}function Zm(a,b){$m(a,a,b)}function $m(a,b,c){c(b);if(b instanceof X){b=b.T.m;for(var d=b.length,e=0;e<d;e++)$m(a,b[e],c)}}t.hm=function(a){return an(this,this,a)};\nfunction an(a,b,c){if(c(b))return b;if(b instanceof X){b=b.T.m;for(var d=b.length,e=0;e<d;e++){var f=an(a,b[e],c);if(null!==f)return f}}return null}t.Ya=function(a){if(this.name===a)return this;var b=this.T.m,c=b.length;null===this.bi&&null===this.se||(c=bn(this));for(var d=0;d<c;d++){var e=b[d];if(e instanceof X){var f=e.Ya(a);if(null!==f)return f}if(e.name===a)return e}return null};\nfunction cn(a){a=a.T.m;for(var b=a.length,c=0,d=0;d<b;d++){var e=a[d];e instanceof X?c=Math.max(c,cn(e)):e instanceof uf&&(c=Math.max(c,e.cg/2*e.Uj*e.wf()))}return c}t.he=function(){return!(this.type===X.TableRow||this.type===X.TableColumn)};\nt.Wb=function(a,b,c){if(!1===this.pickable)return null;void 0===b&&(b=null);void 0===c&&(c=null);if(nj(this))return null;var d=this.naturalBounds,e=1/this.wf(),f=this.he(),g=f?a:Ab(J.allocAt(a.x,a.y),this.transform),h=this.diagram,k=10,l=5;null!==h&&(k=h.km(\"extraTouchArea\"),l=k/2);if(ac(-(l*e),-(l*e),d.width+k*e,d.height+k*e,g.x,g.y)){if(!this.isAtomic){e=this.T.m;var m=e.length;h=J.alloc();l=(k=this.isClipping&&this.ia===X.Spot)?this.nb():null;if(k&&(l.he()?Ab(h.set(a),l.transform):h.set(a),!l.$(h)))return J.free(h),\nf||J.free(g),null;for(var n=sm(this);m--;){var p=e[m];if(p.visible||p===n)if(p.he()?Ab(h.set(a),p.transform):h.set(a),!k||p!==l){var r=null;p instanceof X?r=p.Wb(h,b,c):!0===p.pickable&&p.$(h)&&(r=p);if(null!==r&&(null!==b&&(r=b(r)),null!==r&&(null===c||c(r))))return J.free(h),f||J.free(g),r}}J.free(h)}if(null===this.background&&null===this.areaBackground)return f||J.free(g),null;a=ac(0,0,d.width,d.height,g.x,g.y)?this:null;f||J.free(g);return a}f||J.free(g);return null};\nt.Ii=function(a,b,c,d){if(!1===this.pickable)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var e=this.naturalBounds,f=this.he(),g=f?a:Ab(J.allocAt(a.x,a.y),this.transform);e=ac(0,0,e.width,e.height,g.x,g.y);if(this.type===X.TableRow||this.type===X.TableColumn||e){if(!this.isAtomic){for(var h=this.T.m,k=h.length,l=J.alloc(),m=sm(this);k--;){var n=h[k];if(n.visible||n===m){n.he()?Ab(l.set(a),n.transform):l.set(a);var p=n;n=n instanceof X?n:null;(null!==n?n.Ii(l,b,c,d):p.$(l))&&!1!==p.pickable&&\n(null!==b&&(p=b(p)),null===p||null!==c&&!c(p)||d.add(p))}}J.free(l)}f||J.free(g);return e&&(null!==this.background||null!==this.areaBackground)}f||J.free(g);return!1};\nt.vf=function(a,b,c,d,e,f){if(!1===this.pickable)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var g=f;void 0===f&&(g=qd.alloc(),g.reset());g.multiply(this.transform);if(this.wh(a,g))return dn(this,b,c,e),void 0===f&&qd.free(g),!0;if(this.Ic(a,g)){if(!this.isAtomic)for(var h=sm(this),k=this.T.m,l=k.length;l--;){var m=k[l];if(m.visible||m===h){var n=m.actualBounds,p=this.naturalBounds;if(!(n.x>p.width||n.y>p.height||0>n.x+n.width||0>n.y+n.height)){n=m;m=m instanceof X?m:null;p=qd.alloc();p.set(g);\nif(null!==m?m.vf(a,b,c,d,e,p):gl(n,a,d,p))null!==b&&(n=b(n)),null===n||null!==c&&!c(n)||e.add(n);qd.free(p)}}}void 0===f&&qd.free(g);return d}void 0===f&&qd.free(g);return!1};function dn(a,b,c,d){for(var e=a.T.m,f=e.length;f--;){var g=e[f];if(g.visible){var h=g.actualBounds,k=a.naturalBounds;h.x>k.width||h.y>k.height||0>h.x+h.width||0>h.y+h.height||(g instanceof X&&dn(g,b,c,d),null!==b&&(g=b(g)),null===g||null!==c&&!c(g)||d.add(g))}}}\nt.kg=function(a,b,c,d,e,f){if(!1===this.pickable)return!1;void 0===c&&(c=null);void 0===d&&(d=null);var g=this.naturalBounds,h=this.he(),k=h?a:Ab(J.allocAt(a.x,a.y),this.transform),l=h?b:Ab(J.allocAt(b.x,b.y),this.transform),m=k.tf(l),n=0<k.x&&k.x<g.width&&0<k.y&&k.y<g.height||Bb(k.x,k.y,0,0,0,g.height)<=m||Bb(k.x,k.y,0,g.height,g.width,g.height)<=m||Bb(k.x,k.y,g.width,g.height,g.width,0)<=m||Bb(k.x,k.y,g.width,0,0,0)<=m;g=k.nd(0,0)<=m&&k.nd(0,g.height)<=m&&k.nd(g.width,0)<=m&&k.nd(g.width,g.height)<=\nm;h||(J.free(k),J.free(l));if(n){if(!this.isAtomic){k=J.alloc();l=J.alloc();m=sm(this);for(var p=this.T.m,r=p.length;r--;){var q=p[r];if(q.visible||q===m){var u=q.actualBounds,v=this.naturalBounds;if(!h||!(u.x>v.width||u.y>v.height||0>u.x+u.width||0>u.y+u.height))if(q.he()?(u=q.transform,Ab(k.set(a),u),Ab(l.set(b),u)):(k.set(a),l.set(b)),u=q,q=q instanceof X?q:null,null!==q?q.kg(k,l,c,d,e,f):u.Ux(k,l,e))null!==c&&(u=c(u)),null===u||null!==d&&!d(u)||f.add(u)}}J.free(k);J.free(l)}return e?n:g}return!1};\nfunction ym(a){var b=null;a instanceof uf&&(b=a.spot1,b===Vc&&(b=null),a=a.geometry,null!==a&&null===b&&(b=a.spot1));null===b&&(b=sc);return b}function zm(a){var b=null;a instanceof uf&&(b=a.spot2,b===Vc&&(b=null),a=a.geometry,null!==a&&null===b&&(b=a.spot2));null===b&&(b=Cc);return b}t.add=function(a){for(var b=[],c=0;c<arguments.length;++c)b[c]=arguments[c];for(c=0;c<b.length;c++)this.ub(this.T.count,b[c]);return this};t.J=function(a){return this.T.J(a)};\nt.ub=function(a,b){b instanceof V&&C(\"Cannot add a Part to a Panel: \"+b+\"; use a Panel instead\");if(this===b||this.mg(b))this===b&&C(\"Cannot make a Panel contain itself: \"+this.toString()),C(\"Cannot make a Panel indirectly contain itself: \"+this.toString()+\" already contains \"+b.toString());var c=b.panel;null!==c&&c!==this&&C(\"Cannot add a GraphObject that already belongs to another Panel to this Panel: \"+b.toString()+\", already contained by \"+c.toString()+\", cannot be shared by this Panel: \"+this.toString());\nthis.ia!==X.Grid||b instanceof uf||C(\"Can only add Shapes to a Grid Panel, not: \"+b);this.ia!==X.Graduated||b instanceof uf||b instanceof Lg||C(\"Can only add Shapes or TextBlocks to a Graduated Panel, not: \"+b);b.Ti(this);b.Nj=null;if(null!==this.itemArray){var d=b.data;null!==d&&\"object\"===typeof d&&(null===this.Xd&&(this.Xd=new I),this.Xd.add(d,b))}var e=this.T;d=-1;if(c===this){for(var f=-1,g=this.T.m,h=g.length,k=0;k<h;k++)if(g[k]===b){f=k;break}if(-1!==f){if(f===a||f+1>=e.count&&a>=e.count)return;\ne.eb(f);d=f}else C(\"element \"+b.toString()+\" has panel \"+c.toString()+\" but is not contained by it.\")}if(0>a||a>e.count)a=e.count;e.ub(a,b);if(0===a||b.isPanelMain)this.lh=null;mj(this)||this.s();b.s(!1);null!==b.portId?this.Ge=!0:b instanceof X&&!0===b.Ge&&(this.Ge=!0);this.Nf=null;this.Af()||en(this,b,!1);c=this.part;null!==c&&(c.li=null,c.Sf=NaN,this.Ge&&c instanceof W&&(c.Ge=!0),c.Ge&&c instanceof W&&(c.kc=null),e=this.diagram,null!==e&&e.undoManager.isUndoingRedoing||(-1!==d&&c.Va(fe,\"elements\",\nthis,b,null,d,null),c.Va(ee,\"elements\",this,null,b,null,a)))};function fn(a,b){a.G=b?a.G|16777216:a.G&-16777217}t.remove=function(a){for(var b=this.T.m,c=b.length,d=-1,e=0;e<c;e++)if(b[e]===a){d=e;break}-1!==d&&this.bc(d,!0)};t.eb=function(a){0<=a&&this.bc(a,!0)};\nt.bc=function(a,b){var c=this.T,d=c.J(a);d.Nj=null;d.Ti(null);if(null!==this.Xd){var e=d.data;\"object\"===typeof e&&this.Xd.remove(e)}c.eb(a);hj(this,!1);this.s();this.lh===d&&(this.lh=null);this.Nf=null;var f=this.part;null!==f&&(f.li=null,f.Sf=NaN,f.Kb(),f instanceof W&&(d instanceof X?d.Mm(d,function(a,c){Ol(f,c,b)}):Ol(f,d,b)),c=this.diagram,null!==c&&c.undoManager.isUndoingRedoing||f.Va(fe,\"elements\",this,d,null,a,null))};\nX.prototype.getRowDefinition=function(a){0>a&&xa(a,\">= 0\",X,\"getRowDefinition:idx\");a=Math.round(a);var b=this.Db;if(void 0===b)return null;if(void 0===b[a]){var c=new Nj;c.Ti(this);c.isRow=!0;c.index=a;b[a]=c;this.Va(ee,\"rowdefs\",this,null,c,null,a)}return b[a]};\nX.prototype.RA=function(a){0>a&&xa(a,\">= 0\",X,\"removeRowDefinition:idx\");a=Math.round(a);var b=this.Db;if(void 0!==b){var c=b[a];if(c){b[a]=void 0;for(var d=b.length-1;0<=d&&void 0===b[d--];)b.length--;this.Va(fe,\"rowdefs\",this,c,null,a,null);this.s()}}};function Oj(a,b,c){var d=a.Db;if(d&&!(0>b)){d[b]=c instanceof Nj?c:void 0;if(!c)for(b=d.length-1;0<=b&&void 0===d[b--];)d.length--;a.s()}}\nX.prototype.getColumnDefinition=function(a){0>a&&xa(a,\">= 0\",X,\"getColumnDefinition:idx\");a=Math.round(a);var b=this.yb;if(void 0===b)return null;if(void 0===b[a]){var c=new Nj;c.Ti(this);c.isRow=!1;c.index=a;b[a]=c;this.Va(ee,\"coldefs\",this,null,c,null,a)}return b[a]};t=X.prototype;\nt.MA=function(a){0>a&&xa(a,\">= 0\",X,\"removeColumnDefinition:idx\");a=Math.round(a);var b=this.yb;if(void 0!==b){var c=b[a];if(c){b[a]=void 0;for(var d=b.length-1;0<=d&&void 0===b[d--];)b.length--;this.Va(fe,\"coldefs\",this,c,null,a,null);this.s()}}};function Pj(a,b,c){var d=a.yb;if(d&&!(0>b)){d[b]=c instanceof Nj?c:void 0;if(!c)for(b=d.length-1;0<=b&&void 0===d[b--];)d.length--;a.s()}}\nt.Tz=function(a){if(0>a||this.type!==X.Table)return-1;for(var b=0,c=this.Db,d=c.length,e=this.wi;e<d;e++){var f=c[e];if(void 0!==f&&(b+=f.total,a<b))break}return e};t.Lz=function(a){if(0>a||this.type!==X.Table)return-1;for(var b=0,c=this.yb,d=c.length,e=this.fi;e<d;e++){var f=c[e];if(void 0!==f&&(b+=f.total,a<b))break}return e};\nt.jA=function(a,b){void 0===b&&(b=new J(NaN,NaN));if(this.type!==X.Graduated)return b.h(NaN,NaN),b;a=Math.min(Math.max(a,this.graduatedMin),this.graduatedMax);var c=this.nb();c.geometry.uv((a-this.graduatedMin)/this.graduatedRange,b);return c.transform.ya(b)};t.kA=function(a){if(this.type!==X.Graduated)return NaN;var b=this.nb();b.transform.Ed(a);return b.geometry.Yx(a)*this.graduatedRange+this.graduatedMin};function Fl(a){a=a.Ph;return null!==a&&a.v}\nfunction ng(a){var b=a.Ph;if(null===b)null!==a.data&&C(\"Template cannot have .data be non-null: \"+a),a.Ph=b=new E;else if(b.v)return;var c=new E;fn(a,!1);a.Mm(a,function(a,d){var e=d.fb;if(null!==e)for(Cl(d,!1),e=e.iterator;e.next();){var f=e.value;f.mode===gn&&Cl(d,!0);var g=f.sourceName;null!==g&&(\"/\"===g&&fn(a,!0),g=fl(f,a,d),null!==g&&(c.add(g),null===g.Rl&&(g.Rl=new E),g.Rl.add(f)));b.add(f)}if(d instanceof X&&d.type===X.Table){if(0<d.Db.length)for(a=d.Db,e=a.length,f=0;f<e;f++)if(g=a[f],void 0!==\ng&&null!==g.fb)for(var h=g.fb.iterator;h.next();){var k=h.value;k.md=g;k.Jp=2;k.Xl=g.index;b.add(k)}if(0<d.yb.length)for(d=d.yb,a=d.length,e=0;e<a;e++)if(f=d[e],void 0!==f&&null!==f.fb)for(g=f.fb.iterator;g.next();)h=g.value,h.md=f,h.Jp=1,h.Xl=f.index,b.add(h)}});for(var d=c.iterator;d.next();){var e=d.value;if(null!==e.Rl){Cl(e,!0);for(var f=e.Rl.iterator;f.next();){var g=f.value;null===e.fb&&(e.fb=new E);e.fb.add(g)}}e.Rl=null}for(d=b.iterator;d.next();)if(e=d.value,f=e.md,null!==f){e.md=null;var h=\ne.targetProperty,k=h.indexOf(\".\");0<k&&f instanceof X&&(g=h.substring(0,k),h=h.substr(k+1),k=f.Ya(g),null!==k?(f=k,e.targetProperty=h):ya('Warning: unable to find GraphObject named \"'+g+'\" for Binding: '+e.toString()));f instanceof Nj?(g=gb(f.panel),e.Yi=void 0===g?-1:g,f.panel.Mk=e.Yi):f instanceof Y?(g=gb(f),e.Yi=void 0===g?-1:g,f.Mk=e.Yi):C(\"Unknown type of binding target: \"+f)}b.freeze();a instanceof V&&a.Jc()&&a.Sa()}\nt.yz=function(a){void 0===a&&(a=!1);var b=this.copy();Zm(b,function(a){a instanceof X&&(a.Ph=null,a.ib=null);var b=a.fb;null!==b&&(a.fb=null,b.each(function(b){a.bind(b.copy())}));b=a.rg;null!==b&&(a.rg=null,b.each(function(b){a.fw(b.value.copy())}))});a&&ng(b);return b};\nt.Da=function(a){var b=this.Ph;if(null!==b)for(void 0===a&&(a=\"\"),b=b.iterator;b.next();){var c=b.value,d=c.sourceProperty;if(\"\"===a||\"\"===d||d===a)if(d=c.targetProperty,null!==c.converter||\"\"!==d){d=this.data;var e=c.sourceName;if(null!==e)if(\"\"===e)d=this;else if(\"/\"===e)d=this;else if(\".\"===e)d=this;else if(\"..\"===e)d=this;else{if(d=this.Ya(e),null===d)continue}else if(c.isToModel)if(d=this.diagram,null!==d)d=d.model.modelData;else continue;var f=this,g=c.Yi;if(-1!==g){if(f=this.Bs(g),null===f)continue}else null!==\nc.md&&(f=c.md);\"/\"===e?d=f.part:\".\"===e?d=f:\"..\"===e&&(d=f.panel);e=c.Jp;if(0!==e){if(!(f instanceof X))continue;1===e?f=f.getColumnDefinition(c.Xl):2===e&&(f=f.getRowDefinition(c.Xl))}void 0!==f&&c.iw(f,d)}}};t.Tx=function(a){return void 0===a||null===a||null===this.Xd?null:this.Xd.H(a)};\nfunction hn(a,b){a=a.T.m;for(var c=a.length,d=b.length,e=0,f=null;e<c&&!(f=a[e],f instanceof X&&null!==f.data);)e++,f=a[e];if(c-e!==d)return!0;if(null===f)return 0<d;for(var g=0;e<c&&g<d;){f=a[e];if(!(f instanceof X)||f.data!==b[g])return!0;e++;g++}return!1}\nfunction bn(a){if(a.type===X.Spot||a.type===X.Auto)return Math.min(a.T.length,1);if(a.type===X.Link){a=a.T;for(var b=a.length,c=0;c<b;c++){var d=a.J(c);if(!(d instanceof uf&&d.isPanelMain))break}return c}return a.type===X.Table&&0<a.T.length&&(a=a.T.J(0),a.isPanelMain&&a instanceof X&&(a.type===X.TableRow||a.type===X.TableColumn))?1:0}t.Ov=function(){for(var a=bn(this);this.T.length>a;)this.bc(this.T.length-1,!1);jn(this,this.itemArray)};\nfunction jn(a,b){var c=bn(a);if(null===b||0===b.length)for(;a.T.length>c;)a.bc(a.T.length-1,!1);else if(a.T.length<=c){c=b.length;for(var d=0;d<c;d++)kn(a,b[d],d,!0)}else{d=c;for(var e=0;e<b.length;e++,d++){var f=b[e],g=d<a.T.length?a.T.J(d):null;if(g instanceof X){if(g.data!==f){var h=ln(a,g.data),k=ln(a,f),l=k!==h;l||(h=mn(a,h),l=mn(a,k)!==h);l?(a.bc(d,!1),kn(a,f,e,!1)):g.data=f}}else kn(a,f,e,!1)}for(;d<a.T.length;)a.bc(d,!1);a.lh=null;nn(a,c,0);mj(a)||a.s();a.Nf=null;a.Af()||en(a,a,!1);b=a.part;\nnull!==b&&(b.li=null,b.Sf=NaN,a.Ge&&b instanceof W&&(b.Ge=!0),b.Ge&&b instanceof W&&(b.kc=null))}}function kn(a,b,c,d){if(!(void 0===b||null===b||0>c)){var e=ln(a,b);e=mn(a,e);if(null!==e){ng(e);e=e.copy();if(0!==(e.G&16777216)){var f=a.yh();null!==f&&fn(f,!0)}\"object\"===typeof b&&(null===a.Xd&&(a.Xd=new I),a.Xd.add(b,e));f=c+bn(a);a.ub(f,e);d&&(e.ib=b,nn(a,f,c),e.ib=null);e.data=b}}}\nfunction nn(a,b,c){for(a=a.T;b<a.length;){var d=a.J(b);if(d instanceof X){var e=b,f=c;d.type===X.TableRow?d.row=e:d.type===X.TableColumn&&(d.column=e);d.itemIndex=f}b++;c++}}function ln(a,b){if(null===b)return\"\";a=a.pl;if(\"function\"===typeof a)a=a(b);else if(\"string\"===typeof a&&\"object\"===typeof b){if(\"\"===a)return\"\";a=on(b,a)}else return\"\";if(void 0===a)return\"\";if(\"string\"===typeof a)return a;C(\"Panel.getCategoryForItemData found a non-string category for \"+b+\": \"+a)}\nfunction mn(a,b){var c=a.itemTemplateMap,d=null;null!==c&&(d=c.H(b));null===d&&(null!==c&&(d=c.H(\"\")),null===d&&(pn||(pn=!0,ya('No item template Panel found for category \"'+b+'\" on '+a),ya(\"  Using default item template.\"),a=new X,b=new Lg,b.bind(new ri(\"text\",\"\",Ka)),a.add(b),qn=a),d=qn));return d}function en(a,b,c){var d=b.enabledChanged;null!==d&&d(b,c);if(b instanceof X){b=b.T.m;d=b.length;for(var e=0;e<d;e++){var f=b[e];c&&f instanceof X&&!f.isEnabled||en(a,f,c)}}}\nfunction rn(a,b){b.name=a;Jl.add(a,b)}\nna.Object.defineProperties(X.prototype,{type:{get:function(){return this.ia},set:function(a){var b=this.ia;b!==a&&(this.ia=a,this.ia===X.Grid?this.isAtomic=!0:this.ia===X.Table&&Tm(this),this.s(),this.g(\"type\",b,a))}},elements:{get:function(){return this.T.iterator}},naturalBounds:{get:function(){return this.qc}},padding:{get:function(){return this.mb},set:function(a){\"number\"===\ntypeof a?(0>a&&xa(a,\">= 0\",X,\"padding\"),a=new ic(a)):(0>a.left&&xa(a.left,\">= 0\",X,\"padding:value.left\"),0>a.right&&xa(a.right,\">= 0\",X,\"padding:value.right\"),0>a.top&&xa(a.top,\">= 0\",X,\"padding:value.top\"),0>a.bottom&&xa(a.bottom,\">= 0\",X,\"padding:value.bottom\"));var b=this.mb;b.A(a)||(this.mb=a=a.I(),this.s(),this.g(\"padding\",b,a))}},defaultAlignment:{get:function(){return this.wn},set:function(a){var b=this.wn;b.A(a)||(this.wn=a=a.I(),this.s(),this.g(\"defaultAlignment\",\nb,a))}},defaultStretch:{get:function(){return this.Kf},set:function(a){var b=this.Kf;b!==a&&(this.Kf=a,this.s(),this.g(\"defaultStretch\",b,a))}},defaultSeparatorPadding:{get:function(){return void 0===this.oj?pc:this.oj},set:function(a){if(void 0!==this.oj){\"number\"===typeof a&&(a=new ic(a));var b=this.oj;b.A(a)||(this.oj=a=a.I(),this.s(),this.g(\"defaultSeparatorPadding\",b,a))}}},defaultRowSeparatorStroke:{get:function(){return void 0===\nthis.Vh?null:this.Vh},set:function(a){var b=this.Vh;b!==a&&(null===a||\"string\"===typeof a||a instanceof ml)&&(a instanceof ml&&a.freeze(),this.Vh=a,this.N(),this.g(\"defaultRowSeparatorStroke\",b,a))}},defaultRowSeparatorStrokeWidth:{get:function(){return void 0===this.Bg?1:this.Bg},set:function(a){if(void 0!==this.Bg){var b=this.Bg;b!==a&&isFinite(a)&&0<=a&&(this.Bg=a,this.s(),this.g(\"defaultRowSeparatorStrokeWidth\",b,a))}}},defaultRowSeparatorDashArray:{\nget:function(){return void 0===this.Uh?null:this.Uh},set:function(a){if(void 0!==this.Uh){var b=this.Uh;if(b!==a){if(null!==a){for(var c=a.length,d=0,e=0;e<c;e++){var f=a[e];\"number\"===typeof f&&0<=f&&isFinite(f)||C(\"defaultRowSeparatorDashArray value \"+f+\" at index \"+e+\" must be a positive number or zero.\");d+=f}if(0===d){if(null===b)return;a=null}}this.Uh=a;this.N();this.g(\"defaultRowSeparatorDashArray\",b,a)}}}},defaultColumnSeparatorStroke:{get:function(){return void 0===\nthis.zg?null:this.zg},set:function(a){if(void 0!==this.zg){var b=this.zg;b!==a&&(null===a||\"string\"===typeof a||a instanceof ml)&&(a instanceof ml&&a.freeze(),this.zg=a,this.N(),this.g(\"defaultColumnSeparatorStroke\",b,a))}}},defaultColumnSeparatorStrokeWidth:{get:function(){return void 0===this.Ag?1:this.Ag},set:function(a){if(void 0!==this.Ag){var b=this.Ag;b!==a&&isFinite(a)&&0<=a&&(this.Ag=a,this.s(),this.g(\"defaultColumnSeparatorStrokeWidth\",b,a))}}},defaultColumnSeparatorDashArray:{\nget:function(){return void 0===this.Th?null:this.Th},set:function(a){if(void 0!==this.Th){var b=this.Th;if(b!==a){if(null!==a){for(var c=a.length,d=0,e=0;e<c;e++){var f=a[e];\"number\"===typeof f&&0<=f&&isFinite(f)||C(\"defaultColumnSeparatorDashArray value \"+f+\" at index \"+e+\" must be a positive number or zero.\");d+=f}if(0===d){if(null===b)return;a=null}}this.Th=a;this.N();this.g(\"defaultColumnSeparatorDashArray\",b,a)}}}},viewboxStretch:{get:function(){return this.Sp},\nset:function(a){var b=this.Sp;b!==a&&(this.Sp=a,this.s(),this.g(\"viewboxStretch\",b,a))}},gridCellSize:{get:function(){return this.Vn},set:function(a){var b=this.Vn;if(!b.A(a)){a.u()&&0!==a.width&&0!==a.height||C(\"Invalid Panel.gridCellSize: \"+a);this.Vn=a.I();var c=this.diagram;null!==c&&this===c.grid&&ij(c);this.N();this.g(\"gridCellSize\",b,a)}}},gridOrigin:{get:function(){return this.Wn},set:function(a){var b=this.Wn;if(!b.A(a)){a.u()||\nC(\"Invalid Panel.gridOrigin: \"+a);this.Wn=a.I();var c=this.diagram;null!==c&&this===c.grid&&ij(c);this.N();this.g(\"gridOrigin\",b,a)}}},graduatedMin:{get:function(){return this.Sn},set:function(a){var b=this.Sn;b!==a&&(this.Sn=a,this.s(),this.g(\"graduatedMin\",b,a),dl(this)&&(a=this.part,null!==a&&el(this,a,\"graduatedRange\")))}},graduatedMax:{get:function(){return this.Rn},set:function(a){var b=this.Rn;b!==a&&(this.Rn=a,this.s(),this.g(\"graduatedMax\",\nb,a),dl(this)&&(a=this.part,null!==a&&el(this,a,\"graduatedRange\")))}},graduatedRange:{get:function(){return this.graduatedMax-this.graduatedMin}},graduatedTickUnit:{get:function(){return this.Un},set:function(a){var b=this.Un;b!==a&&0<a&&(this.Un=a,this.s(),this.g(\"graduatedTickUnit\",b,a))}},graduatedTickBase:{get:function(){return this.Tn},set:function(a){var b=this.Tn;b!==a&&(this.Tn=a,this.s(),this.g(\"graduatedTickBase\",\nb,a))}},Ge:{get:function(){return 0!==(this.G&8388608)},set:function(a){0!==(this.G&8388608)!==a&&(this.G^=8388608)}},rowCount:{get:function(){return void 0===this.Db?0:this.Db.length}},columnCount:{get:function(){return void 0===this.yb?0:this.yb.length}},rowSizing:{get:function(){return void 0===this.Pj?Um:this.Pj},set:function(a){if(void 0!==this.Pj){var b=this.Pj;b!==a&&(this.Pj=\na,this.s(),this.g(\"rowSizing\",b,a))}}},columnSizing:{get:function(){return void 0===this.nj?Um:this.nj},set:function(a){if(void 0!==this.nj){var b=this.nj;b!==a&&(this.nj=a,this.s(),this.g(\"columnSizing\",b,a))}}},topIndex:{get:function(){return void 0===this.wi?0:this.wi},set:function(a){if(void 0!==this.wi){var b=this.wi;b!==a&&((!isFinite(a)||0>a)&&C(\"Panel.topIndex must be greater than zero and a real number, not: \"+a),this.wi=a,this.s(),\nthis.g(\"topIndex\",b,a))}}},leftIndex:{get:function(){return void 0===this.fi?0:this.fi},set:function(a){if(void 0!==this.fi){var b=this.fi;b!==a&&((!isFinite(a)||0>a)&&C(\"Panel.leftIndex must be greater than zero and a real number, not: \"+a),this.fi=a,this.s(),this.g(\"leftIndex\",b,a))}}},data:{get:function(){return this.ib},set:function(a){var b=this.ib;if(b!==a){var c=this instanceof V&&!(this instanceof we);ng(this);this.ib=a;var d=this.diagram;\nnull!==d&&(c?(c=d.partManager,this instanceof U?(null!==b&&c.Qe.remove(b),null!==a&&c.Qe.add(a,this)):this instanceof V&&(null!==b&&c.Re.remove(b),null!==a&&c.Re.add(a,this))):(c=this.panel,null!==c&&null!==c.Xd&&(null!==b&&c.Xd.remove(b),null!==a&&c.Xd.add(a,this))));this.g(\"data\",b,a);null!==d&&d.undoManager.isUndoingRedoing||null!==a&&this.Da()}}},itemIndex:{get:function(){return this.oo},set:function(a){var b=this.oo;b!==a&&(this.oo=a,this.g(\"itemIndex\",b,a))}},itemArray:{\nget:function(){return this.bi},set:function(a){var b=this.bi;if(b!==a||null!==a&&hn(this,a)){var c=this.diagram;b!==a&&(null!==c&&null!==b&&Ej(c.partManager,this,c),this.bi=a,null!==c&&null!==a&&Bj(c.partManager,this));this.g(\"itemArray\",b,a);null!==c&&c.undoManager.isUndoingRedoing||jn(this,a)}}},itemTemplate:{get:function(){return null===this.se?null:this.se.H(\"\")},set:function(a){if(null===this.se){if(null===a)return;this.se=new I}var b=this.se.H(\"\");\nb!==a&&((a instanceof V||a.isPanelMain)&&C(\"Panel.itemTemplate must not be a Part or be Panel.isPanelMain: \"+a),this.se.add(\"\",a),this.g(\"itemTemplate\",b,a),a=this.diagram,null!==a&&a.undoManager.isUndoingRedoing||this.Ov())}},itemTemplateMap:{get:function(){return this.se},set:function(a){var b=this.se;if(b!==a){for(var c=a.iterator;c.next(););this.se=a;this.g(\"itemTemplateMap\",b,a);a=this.diagram;null!==a&&a.undoManager.isUndoingRedoing||this.Ov()}}},itemCategoryProperty:{\nget:function(){return this.pl},set:function(a){var b=this.pl;b!==a&&(this.pl=a,this.g(\"itemCategoryProperty\",b,a))}},isAtomic:{get:function(){return 0!==(this.G&1048576)},set:function(a){var b=0!==(this.G&1048576);b!==a&&(this.G^=1048576,this.g(\"isAtomic\",b,a))}},isClipping:{get:function(){return 0!==(this.G&2097152)},set:function(a){var b=0!==(this.G&2097152);b!==a&&(this.G^=2097152,this instanceof hf&&(this.$a=null),this.s(),\nthis.g(\"isClipping\",b,a))}},isOpposite:{get:function(){return 0!==(this.G&33554432)},set:function(a){var b=0!==(this.G&33554432);b!==a&&(this.G^=33554432,this.s(),this.g(\"isOpposite\",b,a))}},isEnabled:{get:function(){return 0!==(this.G&4194304)},set:function(a){var b=0!==(this.G&4194304);if(b!==a){var c=null===this.panel||this.panel.Af();this.G^=4194304;this.g(\"isEnabled\",b,a);b=this.diagram;null!==b&&b.undoManager.isUndoingRedoing||c&&en(this,\nthis,a)}}},alignmentFocusName:{get:function(){return this.Oe},set:function(a){var b=this.Oe;b!==a&&(this.Oe=a,this.s(),this.g(\"alignmentFocusName\",b,a))}}});\nna.Object.defineProperties(X,{Position:{get:function(){return Jl.H(\"Position\")}},Horizontal:{get:function(){return Jl.H(\"Horizontal\")}},Vertical:{get:function(){return Jl.H(\"Vertical\")}},Spot:{get:function(){return Jl.H(\"Spot\")}},Auto:{get:function(){return Jl.H(\"Auto\")}},Table:{get:function(){return Jl.H(\"Table\")}},Viewbox:{\nget:function(){return Jl.H(\"Viewbox\")}},TableRow:{get:function(){return Jl.H(\"TableRow\")}},TableColumn:{get:function(){return Jl.H(\"TableColumn\")}},Link:{get:function(){return Jl.H(\"Link\")}},Grid:{get:function(){return Jl.H(\"Grid\")}},Graduated:{get:function(){return Jl.H(\"Graduated\")}}});X.prototype.rebuildItemElements=X.prototype.Ov;\nX.prototype.findItemPanelForData=X.prototype.Tx;X.prototype.updateTargetBindings=X.prototype.Da;X.prototype.copyTemplate=X.prototype.yz;X.prototype.graduatedValueForPoint=X.prototype.kA;X.prototype.graduatedPointForValue=X.prototype.jA;X.prototype.findColumnForLocalX=X.prototype.Lz;X.prototype.findRowForLocalY=X.prototype.Tz;X.prototype.removeColumnDefinition=X.prototype.MA;X.prototype.removeRowDefinition=X.prototype.RA;X.prototype.removeAt=X.prototype.eb;X.prototype.remove=X.prototype.remove;\nX.prototype.insertAt=X.prototype.ub;X.prototype.elt=X.prototype.J;X.prototype.add=X.prototype.add;X.prototype.findObject=X.prototype.Ya;X.prototype.findInVisualTree=X.prototype.hm;X.prototype.walkVisualTreeFrom=X.prototype.Mm;X.prototype.findMainElement=X.prototype.nb;var pn=!1,qn=null,Jl=new I;X.className=\"Panel\";X.definePanelLayout=rn;rn(\"Position\",new rm);rn(\"Vertical\",new um);rn(\"Auto\",new xm);rn(\"Link\",new Im);\nfunction Nj(){Ta(this);this.Xf=null;this.Br=!0;this.Qa=0;this.rc=NaN;this.Ij=0;this.Hj=Infinity;this.wb=Vc;this.ka=this.$b=this.ga=0;this.fb=null;this.Cp=sn;this.Be=Uk;this.xp=this.$f=null;this.yp=NaN;this.Rb=this.Tj=null;this.sn=!1}\nNj.prototype.copy=function(){var a=new Nj;a.Br=this.Br;a.Qa=this.Qa;a.rc=this.rc;a.Ij=this.Ij;a.Hj=this.Hj;a.wb=this.wb;a.ga=this.ga;a.$b=this.$b;a.ka=this.ka;a.Be=this.Be;a.Cp=this.Cp;null===this.$f?a.$f=null:a.$f=this.$f.I();a.xp=this.xp;a.yp=this.yp;a.Tj=null;null!==this.Tj&&(a.separatorDashArray=Ba(this.separatorDashArray));a.Rb=this.Rb;a.sn=this.sn;a.fb=this.fb;return a};t=Nj.prototype;t.gb=function(a){a.classType===Nj&&(this.sizing=a)};\nt.toString=function(){return\"RowColumnDefinition \"+(this.isRow?\"(Row \":\"(Column \")+this.index+\") #\"+gb(this)};t.Ti=function(a){this.Xf=a};\nt.cq=function(a){var b=0,c=this.Xf;this.index!==a&&(a=this.separatorStroke,null===a&&null!==c&&(a=this.isRow?c.defaultRowSeparatorStroke:c.defaultColumnSeparatorStroke),null!==a&&(b=this.separatorStrokeWidth,isNaN(b)&&(null!==c?b=this.isRow?c.defaultRowSeparatorStrokeWidth:c.defaultColumnSeparatorStrokeWidth:b=0)));a=this.$f;if(null===a)if(null!==c)a=c.defaultSeparatorPadding;else return b;return b+(this.isRow?a.top:a.left)};\nt.Fc=function(){var a=0,b=this.Xf,c=0,d=this.isRow;if(null!==b&&b.type===X.Table)for(var e=d?b.Db.length:b.yb.length,f=0;f<e;f++){var g=d?b.Db[f]:b.yb[f];if(void 0!==g){c=g.index;break}}this.index!==c&&(c=this.separatorStroke,null===c&&null!==b&&(c=d?b.defaultRowSeparatorStroke:b.defaultColumnSeparatorStroke),null!==c&&(a=this.separatorStrokeWidth,isNaN(a)&&(null!==b?a=d?b.defaultRowSeparatorStrokeWidth:b.defaultColumnSeparatorStrokeWidth:a=0)));d=this.$f;if(null===d)if(null!==b)d=b.defaultSeparatorPadding;\nelse return a;return a+(this.isRow?d.top+d.bottom:d.left+d.right)};t.Cb=function(a,b,c){var d=this.Xf;if(null!==d&&(d.Va(ce,a,this,b,c,void 0,void 0),null!==this.fb&&(b=d.diagram,null!==b&&!b.skipsModelSourceBindings&&(d=d.yh(),null!==d&&(b=d.data,null!==b)))))for(c=this.fb.iterator;c.next();)c.value.Mq(this,b,a,d)};function Bm(a){if(a.sizing===sn){var b=a.Xf;return a.isRow?b.rowSizing:b.columnSizing}return a.sizing}\nt.bind=function(a,b,c,d){var e=null;\"string\"===typeof a?e=new ri(a,b,c,d):e=a;e.md=this;a=this.panel;null!==a&&(b=a.yh(),null!==b&&Fl(b)&&C(\"Cannot add a Binding to a RowColumnDefinition that is already frozen: \"+e+\" on \"+a));null===this.fb&&(this.fb=new E);this.fb.add(e);return this};\nna.Object.defineProperties(Nj.prototype,{panel:{get:function(){return this.Xf}},isRow:{get:function(){return this.Br},set:function(a){this.Br=a}},index:{get:function(){return this.Qa},set:function(a){this.Qa=a}},height:{get:function(){return this.rc},set:function(a){var b=this.rc;b!==a&&(0>a&&xa(a,\">= 0\",Nj,\"height\"),this.rc=a,this.actual=this.ga,null!==this.panel&&this.panel.s(),\nthis.Cb(\"height\",b,a))}},width:{get:function(){return this.rc},set:function(a){var b=this.rc;b!==a&&(0>a&&xa(a,\">= 0\",Nj,\"width\"),this.rc=a,this.actual=this.ga,null!==this.panel&&this.panel.s(),this.Cb(\"width\",b,a))}},minimum:{get:function(){return this.Ij},set:function(a){var b=this.Ij;b!==a&&((0>a||!isFinite(a))&&xa(a,\">= 0\",Nj,\"minimum\"),this.Ij=a,this.actual=this.ga,null!==this.panel&&this.panel.s(),this.Cb(\"minimum\",b,a))}},maximum:{\nget:function(){return this.Hj},set:function(a){var b=this.Hj;b!==a&&(0>a&&xa(a,\">= 0\",Nj,\"maximum\"),this.Hj=a,this.actual=this.ga,null!==this.panel&&this.panel.s(),this.Cb(\"maximum\",b,a))}},alignment:{get:function(){return this.wb},set:function(a){var b=this.wb;b.A(a)||(this.wb=a.I(),null!==this.panel&&this.panel.s(),this.Cb(\"alignment\",b,a))}},stretch:{get:function(){return this.Be},set:function(a){var b=this.Be;b!==a&&(this.Be=\na,null!==this.panel&&this.panel.s(),this.Cb(\"stretch\",b,a))}},separatorPadding:{get:function(){return this.$f},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.$f;null!==a&&null!==b&&b.A(a)||(null!==a&&(a=a.I()),this.$f=a,null!==this.panel&&this.panel.s(),this.Cb(\"separatorPadding\",b,a))}},separatorStroke:{get:function(){return this.xp},set:function(a){var b=this.xp;b!==a&&(null!==a&&Nl(a,\"RowColumnDefinition.separatorStroke\"),\na instanceof ml&&a.freeze(),this.xp=a,null!==this.panel&&this.panel.s(),this.Cb(\"separatorStroke\",b,a))}},separatorStrokeWidth:{get:function(){return this.yp},set:function(a){var b=this.yp;b!==a&&(this.yp=a,null!==this.panel&&this.panel.s(),this.Cb(\"separatorStrokeWidth\",b,a))}},separatorDashArray:{get:function(){return this.Tj},set:function(a){var b=this.Tj;if(b!==a){if(null!==a){for(var c=a.length,d=0,e=0;e<c;e++){var f=a[e];\"number\"===\ntypeof f&&0<=f&&isFinite(f)||C(\"separatorDashArray value \"+f+\" at index \"+e+\" must be a positive number or zero.\");d+=f}if(0===d){if(null===b)return;a=null}}this.Tj=a;null!==this.panel&&this.panel.N();this.Cb(\"separatorDashArray\",b,a)}}},background:{get:function(){return this.Rb},set:function(a){var b=this.Rb;b!==a&&(null!==a&&Nl(a,\"RowColumnDefinition.background\"),a instanceof ml&&a.freeze(),this.Rb=a,null!==this.panel&&this.panel.N(),this.Cb(\"background\",b,a))}},coversSeparators:{\nget:function(){return this.sn},set:function(a){var b=this.sn;b!==a&&(this.sn=a,null!==this.panel&&this.panel.N(),this.Cb(\"coversSeparators\",b,a))}},sizing:{get:function(){return this.Cp},set:function(a){var b=this.Cp;b!==a&&(this.Cp=a,null!==this.panel&&this.panel.s(),this.Cb(\"sizing\",b,a))}},actual:{get:function(){return this.ga},set:function(a){this.ga=isNaN(this.rc)?Math.max(Math.min(this.Hj,a),this.Ij):Math.max(Math.min(this.Hj,\nthis.rc),this.Ij)}},measured:{get:function(){return this.$b},set:function(a){this.$b=a}},total:{get:function(){return this.ga+this.Fc()}},position:{get:function(){return this.ka},set:function(a){this.ka=a}}});Nj.prototype.computeEffectiveSpacing=Nj.prototype.Fc;Nj.prototype.computeEffectiveSpacingTop=Nj.prototype.cq;var sn=new D(Nj,\"Default\",0),Cm=new D(Nj,\"None\",1),Um=new D(Nj,\"ProportionalExtra\",2);\nNj.className=\"RowColumnDefinition\";Nj.Default=sn;Nj.None=Cm;Nj.ProportionalExtra=Um;function uf(a,b){Y.call(this);this.Ad=this.ma=null;this.Hn=\"None\";this.Pn=Uk;this.Dc=this.cl=\"black\";this.cg=1;this.Tl=\"butt\";this.Ul=\"miter\";this.Uj=10;this.ih=null;this.jh=0;this.jf=this.hf=Vc;this.Xo=this.Wo=NaN;this.eo=!1;this.Zo=null;this.dl=this.$l=\"None\";this.Wd=1;this.Ud=0;this.Sd=1;this.Td=null;\"string\"===typeof a?this.figure=a:a&&Object.assign(this,a);b&&Object.assign(this,b)}ma(uf,Y);\nuf.prototype.cloneProtected=function(a){Y.prototype.cloneProtected.call(this,a);a.ma=this.ma;a.Hn=this.Hn;a.Pn=this.Pn;a.Ad=this.Ad;a.cl=this.cl;a.Dc=this.Dc;a.cg=this.cg;a.Tl=this.Tl;a.Ul=this.Ul;a.Uj=this.Uj;null!==this.ih&&(a.ih=Ba(this.ih));a.jh=this.jh;a.hf=this.hf.I();a.jf=this.jf.I();a.Wo=this.Wo;a.Xo=this.Xo;a.eo=this.eo;a.Zo=this.Zo;a.$l=this.$l;a.dl=this.dl;a.Wd=this.Wd;a.Ud=this.Ud;a.Sd=this.Sd;a.Td=this.Td};t=uf.prototype;\nt.gb=function(a){a===og||a===qg||a===Xk||a===Uk?this.geometryStretch=a:Y.prototype.gb.call(this,a)};t.toString=function(){return\"Shape(\"+(\"None\"!==this.figure?this.figure:\"None\"!==this.toArrow?this.toArrow:this.fromArrow)+\")#\"+gb(this)};\nfunction tn(a,b,c,d){var e=c.length;if(!(4>e)){var f=d.measuredBounds,g=Math.max(1,f.width);f=f.height;for(var h=c[0],k=c[1],l,m,n,p,r,q,u=0,v=Fa(),w=2;w<e;w+=2)l=c[w],m=c[w+1],n=l-h,h=m-k,0===n&&(n=.001),p=h/n,r=Math.atan2(h,n),q=Math.sqrt(n*n+h*h),v.push([n,r,p,q]),u+=q,h=l,k=m;h=c[0];k=c[1];n=d.measuredBounds.width;d instanceof uf&&(n-=d.strokeWidth);1>n&&(n=1);e=c=n;l=g/2;m=0===l?!1:!0;w=0;q=v[w];n=q[0];r=q[1];p=q[2];q=q[3];for(var z=0;.1<=u;){0===z&&(m?(e=c,e-=l,u-=l,m=!1):e=c,0===e&&(e=1));\nif(e>u){Ia(v);return}e>q?(z=e-q,e=q):z=0;var y=Math.sqrt(e*e/(1+p*p));0>n&&(y=-y);h+=y;k+=p*y;a.translate(h,k);a.rotate(r);a.translate(-(g/2),-(f/2));0===z&&d.Fi(a,b);a.translate(g/2,f/2);a.rotate(-r);a.translate(-h,-k);u-=e;q-=e;if(0!==z){w++;if(w===v.length){Ia(v);return}q=v[w];n=q[0];r=q[1];p=q[2];q=q[3];e=z}}Ia(v)}}\nt.Fi=function(a,b){var c=this.Dc,d=this.cl;if(null!==c||null!==d){var e=this.ma;if(null!==e){a.Bd();var f=this.actualBounds,g=this.naturalBounds;null!==d&&bi(this,a,d,!0,!1,g,f);var h=this.part,k=this.cg;null===c||0!==k||null===h||!this.isPanelMain&&h.nb()!==this||(k=h.type===X.Link&&h instanceof we&&\"Selection\"===h.category&&h.adornedObject instanceof uf&&h.adornedPart.nb()===h.adornedObject?h.adornedObject.strokeWidth:0);0===k&&(c=null);null!==c&&0!==k&&(bi(this,a,c,!1,!1,g,f),a.lineWidth=k,a.lineJoin=\nthis.Ul,a.lineCap=this.Tl,a.miterLimit=this.Uj);f=!1;h&&b.Fe(\"drawShadows\")&&(f=h.isShadowed);h=!0;null===c||null!==d&&\"transparent\"!==d||(h=!1);g=!1;k=this.strokeDashArray;null!==k&&(g=!0,a.As(k,this.jh));if(e.type===Q.j)a.beginPath(),a.moveTo(e.startX,e.startY),a.lineTo(e.endX,e.endY),null!==c&&a.Xi();else if(e.type===Q.C){var l=e.startX;k=e.startY;var m=e.endX,n=e.endY;e=Math.min(l,m);var p=Math.min(k,n);l=Math.abs(m-l);k=Math.abs(n-k);a.beginPath();a.rect(e,p,l,k);null!==d&&a.uf(d);if(null!==\nc){h&&f&&ql(a);if(0===l||0===k)a.beginPath(),a.rect(e,p,Math.max(l,.1),Math.max(k,.1));a.Xi();h&&f&&pl(a)}}else if(e.type===Q.M)l=e.startX,k=e.startY,m=e.endX,n=e.endY,e=Math.abs(m-l)/2,p=Math.abs(n-k)/2,l=Math.min(l,m)+e,k=Math.min(k,n)+p,a.beginPath(),a.moveTo(l,k-p),a.bezierCurveTo(l+L.qg*e,k-p,l+e,k-L.qg*p,l+e,k),a.bezierCurveTo(l+e,k+L.qg*p,l+L.qg*e,k+p,l,k+p),a.bezierCurveTo(l-L.qg*e,k+p,l-e,k+L.qg*p,l-e,k),a.bezierCurveTo(l-e,k-L.qg*p,l-L.qg*e,k-p,l,k-p),a.closePath(),null!==d&&a.uf(d),null!==\nc&&(h&&f?(ql(a),a.Xi(),pl(a)):a.Xi());else if(e.type===Q.o)for(e=e.figures,k=e.length,p=0;p<k;p++){l=e.m[p];a.beginPath();a.moveTo(l.startX,l.startY);m=l.segments.m;n=m.length;for(var r=null,q=0;q<n;q++){var u=m[q];switch(u.type){case Fd:a.moveTo(u.endX,u.endY);break;case ud:a.lineTo(u.endX,u.endY);break;case Md:a.bezierCurveTo(u.point1X,u.point1Y,u.point2X,u.point2Y,u.endX,u.endY);break;case Nd:a.quadraticCurveTo(u.point1X,u.point1Y,u.endX,u.endY);break;case Od:if(u.radiusX===u.radiusY){var v=Math.PI/\n180;a.arc(u.point1X,u.point1Y,u.radiusX,u.startAngle*v,(u.startAngle+u.sweepAngle)*v,0>u.sweepAngle,null!==r?r.endX:l.startX,null!==r?r.endY:l.startY)}else if(r=Qd(u,l),v=r.length,0===v)a.lineTo(u.centerX,u.centerY);else for(var w=0;w<v;w++){var z=r[w];0===w&&a.lineTo(z[0],z[1]);a.bezierCurveTo(z[2],z[3],z[4],z[5],z[6],z[7])}break;case Pd:w=v=0;if(null!==r&&r.type===Od){r=Qd(r,l);z=r.length;if(0===z){a.lineTo(u.endX,u.endY);break}r=r[z-1]||null;null!==r&&(v=r[6],w=r[7])}else v=null!==r?r.endX:l.startX,\nw=null!==r?r.endY:l.startY;r=Rd(u,l,v,w);v=r.length;if(0===v){a.lineTo(u.endX,u.endY);break}for(w=0;w<v;w++)z=r[w],a.bezierCurveTo(z[2],z[3],z[4],z[5],z[6],z[7]);break;default:C(\"Segment not of valid type: \"+u.type)}u.isClosed&&a.closePath();r=u}m=l.isFilled;f?l.isShadowed?(!0===m&&\"transparent\"!==d&&null!==d&&a.uf(d),null!==c&&(m&&h&&ql(a),a.Xi(),m&&h&&pl(a))):(ql(a),m&&\"transparent\"!==d&&null!==d&&a.uf(d),null!==c&&a.Xi(),pl(a)):(m&&null!==d&&a.uf(d),null!==c&&a.Xi())}g&&a.ys();if(null!==this.pathPattern){c=\nthis.pathPattern;c.measure(Infinity,Infinity);d=c.measuredBounds;c.arrange(0,0,d.width,d.height);f=this.geometry;a.save();a.beginPath();d=Fa();if(f.type===Q.j)d.push(f.startX),d.push(f.startY),d.push(f.endX),d.push(f.endY),tn(a,b,d,c);else if(f.type===Q.o)for(f=f.figures.iterator;f.next();){h=f.value;d.length=0;d.push(h.startX);d.push(h.startY);g=h.startX;e=h.startY;k=g;p=e;l=h.segments.m;m=l.length;for(n=0;n<m;n++){q=l[n];switch(q.type){case Fd:tn(a,b,d,c);d.length=0;d.push(q.endX);d.push(q.endY);\ng=q.endX;e=q.endY;k=g;p=e;break;case ud:d.push(q.endX);d.push(q.endY);g=q.endX;e=q.endY;break;case Md:L.Ce(g,e,q.point1X,q.point1Y,q.point2X,q.point2Y,q.endX,q.endY,.5,d);g=q.endX;e=q.endY;break;case Nd:L.xq(g,e,q.point1X,q.point1Y,q.endX,q.endY,.5,d);g=q.endX;e=q.endY;break;case Od:u=Qd(q,h);r=u.length;if(0===r){d.push(q.centerX);d.push(q.centerY);g=q.centerX;e=q.centerY;break}for(v=0;v<r;v++)w=u[v],L.Ce(g,e,w[2],w[3],w[4],w[5],w[6],w[7],.5,d),g=w[6],e=w[7];break;case Pd:u=Rd(q,h,g,e);r=u.length;\nif(0===r){d.push(q.endX);d.push(q.endY);g=q.endX;e=q.endY;break}for(v=0;v<r;v++)w=u[v],L.Ce(g,e,w[2],w[3],w[4],w[5],w[6],w[7],.5,d),g=w[6],e=w[7];break;default:C(\"Segment not of valid type: \"+q.type)}q.isClosed&&(d.push(k),d.push(p),tn(a,b,d,c))}tn(a,b,d,c)}else if(f.type===Q.C)d.push(f.startX),d.push(f.startY),d.push(f.endX),d.push(f.startY),d.push(f.endX),d.push(f.endY),d.push(f.startX),d.push(f.endY),d.push(f.startX),d.push(f.startY),tn(a,b,d,c);else if(f.type===Q.M){e=new Wd;e.startX=f.endX;e.startY=\n(f.startY+f.endY)/2;g=new Xd(Od);g.startAngle=0;g.sweepAngle=360;g.centerX=(f.startX+f.endX)/2;g.centerY=(f.startY+f.endY)/2;g.radiusX=Math.abs(f.startX-f.endX)/2;g.radiusY=Math.abs(f.startY-f.endY)/2;e.add(g);f=Qd(g,e);h=f.length;if(0===h)d.push(g.centerX),d.push(g.centerY);else for(g=e.startX,e=e.startY,k=0;k<h;k++)p=f[k],L.Ce(g,e,p[2],p[3],p[4],p[5],p[6],p[7],.5,d),g=p[6],e=p[7];tn(a,b,d,c)}Ia(d);a.restore();a.Ec(!1)}}}};\nt.da=function(a,b){void 0===b&&(b=new J);if(a instanceof P){a.wc()&&C(\"getDocumentPoint Spot must be a real, specific Spot, not: \"+a.toString());var c=this.naturalBounds,d=this.strokeWidth;b.h(a.x*(c.width+d)-d/2+c.x+a.offsetX,a.y*(c.height+d)-d/2+c.y+a.offsetY)}else b.set(a);this.de.ya(b);return b};\nt.Mi=function(a){void 0===a&&(a=new N);var b=this.naturalBounds,c=this.de;b=N.allocAt(b.x,b.y,b.width,b.height);var d=this.strokeWidth;b.Gc(d/2,d/2);d=J.allocAt(b.x,b.y).transform(c);a.h(d.x,d.y,0,0);d.h(b.right,b.y).transform(c);$b(a,d.x,d.y,0,0);d.h(b.right,b.bottom).transform(c);$b(a,d.x,d.y,0,0);d.h(b.x,b.bottom).transform(c);$b(a,d.x,d.y,0,0);N.free(b);J.free(d);return a};\nt.xh=function(a,b){var c=this.geometry;if(null===c||null===this.fill&&null===this.stroke)return!1;var d=c.bounds,e=this.strokeWidth/2;c.type!==Q.j||b||(e+=2);var f=N.alloc();f.assign(d);f.Gc(e+2,e+2);if(!f.$(a))return N.free(f),!1;d=e+1E-4;if(c.type===Q.j){if(null===this.stroke)return!1;d=(c.endX-c.startX)*(a.x-c.startX)+(c.endY-c.startY)*(a.y-c.startY);if(0>(c.startX-c.endX)*(a.x-c.endX)+(c.startY-c.endY)*(a.y-c.endY)||0>d)return!1;N.free(f);return L.Mb(c.startX,c.startY,c.endX,c.endY,e,a.x,a.y)}if(c.type===\nQ.C){b=c.startX;var g=c.startY,h=c.endX;c=c.endY;f.x=Math.min(b,h);f.y=Math.min(g,c);f.width=Math.abs(h-b);f.height=Math.abs(c-g);if(null===this.fill){f.Gc(-d,-d);if(f.$(a))return N.free(f),!1;f.Gc(d,d)}null!==this.stroke&&f.Gc(e,e);a=f.$(a);N.free(f);return a}if(c.type===Q.M){g=c.startX;e=c.startY;h=c.endX;var k=c.endY;c=Math.min(g,h);b=Math.min(e,k);g=Math.abs(h-g)/2;e=Math.abs(k-e)/2;c=a.x-(c+g);b=a.y-(b+e);if(null===this.fill){g-=d;e-=d;if(0>=g||0>=e||1>=c*c/(g*g)+b*b/(e*e))return N.free(f),!1;\ng+=d;e+=d}null!==this.stroke&&(g+=d,e+=d);N.free(f);return 0>=g||0>=e?!1:1>=c*c/(g*g)+b*b/(e*e)}if(c.type===Q.o)return N.free(f),null===this.fill?Ud(c,a.x,a.y,e):Sd(c,a,e,1<this.strokeWidth,b);C(\"Unknown Geometry type: \"+c.type)};\nt.qm=function(a,b,c,d){var e=this.desiredSize,f=this.cg;a=Math.max(a,0);b=Math.max(b,0);if(null!==this.Ad)var g=this.geometry.bounds;else{var h=this.figure,k=un[h];if(void 0===k){var l=L.Ne[h];\"string\"===typeof l&&(l=L.Ne[l]);\"function\"===typeof l?(k=l(null,100,100),un[h]=k):C(\"Unsupported Figure: \"+h)}g=k.bounds}h=g.width;k=g.height;l=g.width;var m=g.height;switch(hl(this,!0)){case og:d=c=0;break;case sd:l=Math.max(a-f,0);m=Math.max(b-f,0);break;case Vk:l=Math.max(a-f,0);d=0;break;case Wk:c=0,m=\nMath.max(b-f,0)}isFinite(e.width)&&(l=e.width);isFinite(e.height)&&(m=e.height);e=this.maxSize;g=this.minSize;c=Math.max(c-f,g.width);d=Math.max(d-f,g.height);l=Math.min(e.width,l);m=Math.min(e.height,m);l=isFinite(l)?Math.max(c,l):Math.max(h,c);m=isFinite(m)?Math.max(d,m):Math.max(k,d);c=pg(this);switch(c){case og:break;case sd:h=l;k=m;break;case qg:c=Math.min(l/h,m/k);isFinite(c)||(c=1);h*=c;k*=c;break;default:C(c+\" is not a valid geometryStretch.\")}null!==this.Ad?(0===h&&(h=.001),0===k&&(k=.001),\nc=null!==this.Ad?this.Ad:this.ma,e=c.bounds,d=h/e.width,e=k/e.height,isFinite(d)||(d=1),isFinite(e)||(e=1),this.ma=1===d&&1===e?c:c.copy().scale(d,e)):null!==this.ma&&L.aa(this.ma.kl,a-f)&&L.aa(this.ma.jl,b-f)||(this.ma=uf.makeGeometry(this,h,k));g=this.ma.bounds;Infinity===a||Infinity===b?this.ue(g.x-f/2,g.y-f/2,0===a&&0===h?0:g.width+f,0===b&&0===k?0:g.height+f):this.ue(-(f/2),-(f/2),l+f,m+f)};\nfunction pg(a){var b=a.geometryStretch;return null!==a.Ad?b===Uk?sd:b:b===Uk?un[a.figure].defaultStretch:b}t.vh=function(a,b,c,d){jl(this,a,b,c,d)};t.Is=function(a,b,c){return this.kk(a.x,a.y,b.x,b.y,c)};\nt.kk=function(a,b,c,d,e){var f=this.transform,g=1/(f.m11*f.m22-f.m12*f.m21),h=f.m22*g,k=-f.m12*g,l=-f.m21*g,m=f.m11*g,n=g*(f.m21*f.dy-f.m22*f.dx),p=g*(f.m12*f.dx-f.m11*f.dy);f=a*h+b*l+n;g=a*k+b*m+p;h=c*h+d*l+n;k=c*k+d*m+p;n=this.cg/2;l=this.ma;null===l&&(this.measure(Infinity,Infinity),l=this.ma);var r=l.bounds;m=!1;if(l.type===Q.j)if(1.5>=this.strokeWidth)m=L.Ie(l.startX,l.startY,l.endX,l.endY,f,g,h,k,e);else{l.startX===l.endX?(d=n,m=0):(b=(l.endY-l.startY)/(l.endX-l.startX),m=n/Math.sqrt(1+b*b),\nd=m*b);b=Fa();a=new J;L.Ie(l.startX+d,l.startY+m,l.endX+d,l.endY+m,f,g,h,k,a)&&b.push(a);a=new J;L.Ie(l.startX-d,l.startY-m,l.endX-d,l.endY-m,f,g,h,k,a)&&b.push(a);a=new J;L.Ie(l.startX+d,l.startY+m,l.startX-d,l.startY-m,f,g,h,k,a)&&b.push(a);a=new J;L.Ie(l.endX+d,l.endY+m,l.endX-d,l.endY-m,f,g,h,k,a)&&b.push(a);h=b.length;if(0===h)return Ia(b),!1;m=!0;k=Infinity;for(d=0;d<h;d++)a=b[d],c=(a.x-f)*(a.x-f)+(a.y-g)*(a.y-g),c<k&&(k=c,e.x=a.x,e.y=a.y);Ia(b)}else if(l.type===Q.C)m=L.yf(r.x-n,r.y-n,r.x+r.width+\nn,r.y+r.height+n,f,g,h,k,e);else if(l.type===Q.M){b=N.allocAt(r.x,r.y,r.width,r.height).Gc(n,n);a:if(0===b.width)m=L.Ie(b.x,b.y,b.x,b.y+b.height,f,g,h,k,e);else if(0===b.height)m=L.Ie(b.x,b.y,b.x+b.width,b.y,f,g,h,k,e);else{a=b.width/2;l=b.height/2;d=b.x+a;m=b.y+l;c=9999;f!==h&&(c=(g-k)/(f-h));if(9999>Math.abs(c)){k=g-m-c*(f-d);if(0>a*a*c*c+l*l-k*k){e.x=NaN;e.y=NaN;m=!1;break a}n=Math.sqrt(a*a*c*c+l*l-k*k);h=(-(a*a*c*k)+a*l*n)/(l*l+a*a*c*c)+d;a=(-(a*a*c*k)-a*l*n)/(l*l+a*a*c*c)+d;l=c*(h-d)+k+m;k=c*\n(a-d)+k+m;Math.abs((f-h)*(f-h))+Math.abs((g-l)*(g-l))<Math.abs((f-a)*(f-a))+Math.abs((g-k)*(g-k))?(e.x=h,e.y=l):(e.x=a,e.y=k)}else{h=l*l;k=f-d;h-=h/(a*a)*k*k;if(0>h){e.x=NaN;e.y=NaN;m=!1;break a}k=Math.sqrt(h);h=m+k;k=m-k;Math.abs(h-g)<Math.abs(k-g)?(e.x=f,e.y=h):(e.x=f,e.y=k)}m=!0}N.free(b)}else if(l.type===Q.o){p=J.alloc();var q=h-f;var u=k-g,v=q*q+u*u,w=f,z=g;if(0<v&&r.contains(w,z)&&(p.x=w,p.y=z,this.$(p)))for(0!==q&&.5>Math.abs(q)?(u*=.5/q,q=.5):0!==u&&.5>Math.abs(u)&&(q*=.5/u,u=.5),w-=q,z-=\nu;r.contains(w,z);)w-=q,z-=u;e.x=h;e.y=k;for(u=0;u<l.figures.count;u++){var y=l.figures.m[u],A=y.isFilled?w:f,B=y.isFilled?z:g,F=y.segments;r=y.startX;q=y.startY;for(var K=r,S=q,R=0;R<F.count;R++){var O=F.m[R],H=O.type;var da=O.endX;var ba=O.endY;var ra=!1;switch(H){case Fd:K=da;S=ba;break;case ud:ra=vn(r,q,da,ba,A,B,h,k,p);break;case Md:ra=L.Zp(r,q,O.point1X,O.point1Y,O.point2X,O.point2Y,da,ba,A,B,h,k,.6,p);break;case Nd:ra=L.Zp(r,q,r+2/3*(O.point1X-r),q+2/3*(O.point1Y-q),da+2/3*(O.point1X-da),ba+\n2/3*(O.point1Y-ba),da,ba,A,B,h,k,.6,p);break;case Od:case Pd:H=O.type===Od?Qd(O,y):Rd(O,y,r,q);var Ca=H.length;if(0===Ca){ra=vn(r,q,O.type===Od?O.centerX:O.endX,O.type===Od?O.centerY:O.endY,A,B,h,k,p);break}ba=null;for(da=0;da<Ca;da++){ba=H[da];if(0===da&&vn(r,q,ba[0],ba[1],A,B,h,k,p)){var cb=Cn(A,B,p,v,e);cb<v&&(v=cb,m=!0)}L.Zp(ba[0],ba[1],ba[2],ba[3],ba[4],ba[5],ba[6],ba[7],A,B,h,k,.6,p)&&(cb=Cn(A,B,p,v,e),cb<v&&(v=cb,m=!0))}da=ba[6];ba=ba[7];break;default:C(\"Unknown Segment type: \"+H)}r=da;q=ba;\nra&&(ra=Cn(A,B,p,v,e),ra<v&&(v=ra,m=!0));O.isClosed&&(da=K,ba=S,vn(r,q,da,ba,A,B,h,k,p)&&(O=Cn(A,B,p,v,e),O<v&&(v=O,m=!0)))}}f=c-a;g=d-b;h=Math.sqrt(f*f+g*g);0!==h&&(f/=h,g/=h);e.x-=f*n;e.y-=g*n;J.free(p)}else C(\"Unknown Geometry type: \"+l.type);if(!m)return!1;this.transform.ya(e);return!0};function Cn(a,b,c,d,e){a=c.x-a;b=c.y-b;b=a*a+b*b;return b<d?(e.x=c.x,e.y=c.y,b):d}\nfunction vn(a,b,c,d,e,f,g,h,k){var l=!1,m=(e-g)*(b-d)-(f-h)*(a-c);if(0===m)return!1;k.x=((e*h-f*g)*(a-c)-(e-g)*(a*d-b*c))/m;k.y=((e*h-f*g)*(b-d)-(f-h)*(a*d-b*c))/m;(a>c?a-c:c-a)<(b>d?b-d:d-b)?(a=b<d?b:d,b=b<d?d:b,(k.y>a||L.aa(k.y,a))&&(k.y<b||L.aa(k.y,b))&&(l=!0)):(b=a<c?a:c,a=a<c?c:a,(k.x>b||L.aa(k.x,b))&&(k.x<a||L.aa(k.x,a))&&(l=!0));return l}\nt.wh=function(a,b){if(void 0===b)return a.De(this.actualBounds);var c=this.ma;null===c&&(this.measure(Infinity,Infinity),c=this.ma);c=c.bounds;var d=this.strokeWidth/2,e=!1,f=J.alloc();f.h(c.x-d,c.y-d);a.$(b.ya(f))&&(f.h(c.x-d,c.bottom+d),a.$(b.ya(f))&&(f.h(c.right+d,c.bottom+d),a.$(b.ya(f))&&(f.h(c.right+d,c.y-d),a.$(b.ya(f))&&(e=!0))));J.free(f);return e};\nt.Ic=function(a,b){if(this.wh(a,b)||void 0===b&&(b=this.transform,a.De(this.actualBounds)))return!0;var c=qd.alloc();c.set(b);c.Ns();var d=a.left,e=a.right,f=a.top;a=a.bottom;var g=J.alloc();g.h(d,f);c.ya(g);if(this.xh(g,!0))return J.free(g),!0;g.h(e,f);c.ya(g);if(this.xh(g,!0))return J.free(g),!0;g.h(d,a);c.ya(g);if(this.xh(g,!0))return J.free(g),!0;g.h(e,a);c.ya(g);if(this.xh(g,!0))return J.free(g),!0;var h=J.alloc(),k=J.alloc();c.set(b);c.Hv(this.transform);c.Ns();h.x=e;h.y=f;h.transform(c);g.x=\nd;g.y=f;g.transform(c);b=!1;Dn(this,g,h,k)?b=!0:(g.x=e,g.y=a,g.transform(c),Dn(this,g,h,k)?b=!0:(h.x=d,h.y=a,h.transform(c),Dn(this,g,h,k)?b=!0:(g.x=d,g.y=f,g.transform(c),Dn(this,g,h,k)&&(b=!0))));J.free(g);qd.free(c);J.free(h);J.free(k);return b};function Dn(a,b,c,d){if(!a.Is(b,c,d))return!1;a=b.x;b=b.y;var e=c.x,f=c.y;c=d.x;d=d.y;if(a===e)return b<f?(a=b,b=f):a=f,d>=a&&d<=b;a<e?(d=a,a=e):d=e;return c>=d&&c<=a}\nt.Ux=function(a,b,c){function d(a,b){for(var c=a.length,d=0;d<c;d+=2)if(b.nd(a[d],a[d+1])>e)return!0;return!1}if(c&&null!==this.fill&&this.xh(a,!0))return!0;var e=a.tf(b),f=e;1.5<this.strokeWidth&&(e=this.strokeWidth/2+Math.sqrt(e),e*=e);b=this.ma;if(null===b&&(this.measure(Infinity,Infinity),b=this.ma,null===b))return!1;if(!c){var g=b.bounds,h=g.x,k=g.y,l=g.x+g.width;g=g.y+g.height;if(Cb(a.x,a.y,h,k)<=e&&Cb(a.x,a.y,l,k)<=e&&Cb(a.x,a.y,h,g)<=e&&Cb(a.x,a.y,l,g)<=e)return!0}h=b.startX;k=b.startY;l=\nb.endX;g=b.endY;if(b.type===Q.j){if(c=(h-l)*(a.x-l)+(k-g)*(a.y-g),Bb(a.x,a.y,h,k,l,g)<=(0<=(l-h)*(a.x-h)+(g-k)*(a.y-k)&&0<=c?e:f))return!0}else{if(b.type===Q.C)return b=!1,c&&(b=Bb(a.x,a.y,h,k,h,g)<=e||Bb(a.x,a.y,h,k,l,k)<=e||Bb(a.x,a.y,l,k,l,g)<=e||Bb(a.x,a.y,h,g,l,g)<=e),b;if(b.type===Q.M){b=a.x-(h+l)/2;f=a.y-(k+g)/2;var m=Math.abs(l-h)/2,n=Math.abs(g-k)/2;if(0===m||0===n)return Bb(a.x,a.y,h,k,l,g)<=e?!0:!1;if(c){if(a=L.Ez(m,n,b,f),a*a<=e)return!0}else return Cb(b,f,-m,0)>=e||Cb(b,f,0,-n)>=e||Cb(b,\nf,0,n)>=e||Cb(b,f,m,0)>=e?!1:!0}else if(b.type===Q.o){l=b.bounds;f=l.x;h=l.y;k=l.x+l.width;l=l.y+l.height;if(a.x>k&&a.x<f&&a.y>l&&a.y<h&&Bb(a.x,a.y,f,h,f,l)>e&&Bb(a.x,a.y,f,h,k,h)>e&&Bb(a.x,a.y,k,l,f,l)>e&&Bb(a.x,a.y,k,l,k,h)>e)return!1;f=Math.sqrt(e);if(c){if(null===this.fill?Ud(b,a.x,a.y,f):Sd(b,a,f,!0,!1))return!0}else{c=b.figures;for(b=0;b<c.count;b++){f=c.m[b];g=f.startX;m=f.startY;if(a.nd(g,m)>e)return!1;h=f.segments.m;k=h.length;for(l=0;l<k;l++)switch(n=h[l],n.type){case Fd:case ud:g=n.endX;\nm=n.endY;if(a.nd(g,m)>e)return!1;break;case Md:var p=Fa();L.Ce(g,m,n.point1X,n.point1Y,n.point2X,n.point2Y,n.endX,n.endY,.8,p);g=d(p,a);Ia(p);if(g)return!1;g=n.endX;m=n.endY;if(a.nd(g,m)>e)return!1;break;case Nd:p=Fa();L.xq(g,m,n.point1X,n.point1Y,n.endX,n.endY,.8,p);g=d(p,a);Ia(p);if(g)return!1;g=n.endX;m=n.endY;if(a.nd(g,m)>e)return!1;break;case Od:case Pd:p=n.type===Od?Qd(n,f):Rd(n,f,g,m);var r=p.length;if(0===r){g=n.type===Od?n.centerX:n.endX;m=n.type===Od?n.centerY:n.endY;if(a.nd(g,m)>e)return!1;\nbreak}n=null;for(var q=Fa(),u=0;u<r;u++)if(n=p[u],q.length=0,L.Ce(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],.8,q),d(q,a))return Ia(q),!1;Ia(q);null!==n&&(g=n[6],m=n[7]);break;default:C(\"Unknown Segment type: \"+n.type)}}return!0}}}return!1};t.cc=function(){this.ma=null};t.Ow=function(){return this.cg};\nfunction En(a){var b=a.diagram;null!==b&&b.undoManager.isUndoingRedoing||(a.segmentOrientation=Rm,\"None\"!==a.$l?(a.segmentIndex=-1,a.alignmentFocus=ed):\"None\"!==a.dl&&(a.segmentIndex=0,a.alignmentFocus=new P(1-ed.x,ed.y)))}\nuf.makeGeometry=function(a,b,c){if(\"None\"!==a.toArrow)var d=Fn[a.toArrow];else\"None\"!==a.fromArrow?d=Fn[a.fromArrow]:(d=L.Ne[a.figure],\"string\"===typeof d&&(d=L.Ne[d]),void 0===d&&C(\"Unknown Shape.figure: \"+a.figure),d=d(a,b,c),d.kl=b,d.jl=c);if(null===d){var e=L.Ne.Rectangle;\"function\"===typeof e&&(d=e(a,b,c))}return d};\nfunction Gn(a){var b=Fn[a];if(void 0===b){var c=a.toLowerCase();if(\"none\"===c)return\"None\";b=Fn[c];if(void 0===b){var d=null,e;for(e in L.Qm)if(e.toLowerCase()===c){d=e;break}if(null!==d)return a=Q.parse(L.Qm[d],!1),Fn[d]=a,c!==d&&(Fn[c]=d),d}}return\"string\"===typeof b?b:b instanceof Q?a:null}\nna.Object.defineProperties(uf.prototype,{geometry:{get:function(){return null!==this.ma?this.ma:this.Ad},set:function(a){var b=this.ma,c=this.Ad;if(b!==a){null!==a?this.Ad=this.ma=a.freeze():this.Ad=this.ma=null;var d=this.part;null!==d&&(d.Sf=NaN);this.s();this.g(\"geometry\",b||c,a);dl(this)&&(a=this.part,null!==a&&el(this,a,\"geometryString\"))}}},geometryString:{get:function(){return null===this.geometry?\"\":this.geometry.toString()},set:function(a){a=\nQ.parse(a);var b=a.normalize();this.geometry=a;this.position=a=J.allocAt(-b.x,-b.y);J.free(a)}},isGeometryPositioned:{get:function(){return this.eo},set:function(a){var b=this.eo;b!==a&&(this.eo=a,this.s(),this.g(\"isGeometryPositioned\",b,a))}},fill:{get:function(){return this.cl},set:function(a){var b=this.cl;b!==a&&(null!==a&&Nl(a,\"Shape.fill\"),a instanceof ml&&a.freeze(),this.cl=a,this.N(),this.g(\"fill\",b,a))}},stroke:{\nget:function(){return this.Dc},set:function(a){var b=this.Dc;b!==a&&(null!==a&&Nl(a,\"Shape.stroke\"),a instanceof ml&&a.freeze(),this.Dc=a,this.N(),this.g(\"stroke\",b,a))}},strokeWidth:{get:function(){return this.cg},set:function(a){var b=this.cg;if(b!==a)if(0<=a){this.cg=a;this.s();var c=this.part;null!==c&&(c.Sf=NaN);this.g(\"strokeWidth\",b,a)}else xa(a,\"value >= 0\",uf,\"strokeWidth:value\")}},strokeCap:{get:function(){return this.Tl},\nset:function(a){var b=this.Tl;b!==a&&(\"string\"!==typeof a||\"butt\"!==a&&\"round\"!==a&&\"square\"!==a?xa(a,'\"butt\", \"round\", or \"square\"',uf,\"strokeCap\"):(this.Tl=a,this.N(),this.g(\"strokeCap\",b,a)))}},strokeJoin:{get:function(){return this.Ul},set:function(a){var b=this.Ul;b!==a&&(\"string\"!==typeof a||\"miter\"!==a&&\"bevel\"!==a&&\"round\"!==a?xa(a,'\"miter\", \"bevel\", or \"round\"',uf,\"strokeJoin\"):(this.Ul=a,this.N(),this.g(\"strokeJoin\",b,a)))}},strokeMiterLimit:{\nget:function(){return this.Uj},set:function(a){var b=this.Uj;if(b!==a&&1<=a){this.Uj=a;this.N();var c=this.part;null!==c&&(c.Sf=NaN);this.g(\"strokeMiterLimit\",b,a)}}},strokeDashArray:{get:function(){return this.ih},set:function(a){var b=this.ih;if(b!==a){if(null!==a){for(var c=a.length,d=0,e=0;e<c;e++){var f=a[e];0<=f&&isFinite(f)||C(\"strokeDashArray:value \"+f+\" at index \"+e+\" must be a positive number or zero.\");d+=f}if(0===d){if(null===b)return;a=null}}this.ih=\na;this.N();this.g(\"strokeDashArray\",b,a)}}},strokeDashOffset:{get:function(){return this.jh},set:function(a){var b=this.jh;b!==a&&0<=a&&(this.jh=a,this.N(),this.g(\"strokeDashOffset\",b,a))}},figure:{get:function(){return this.Hn},set:function(a){var b=this.Hn;if(b!==a){var c=L.Ne[a];\"function\"===typeof c?c=a:(c=L.Ne[a.toLowerCase()])||C(\"Unknown Shape.figure: \"+a);b!==c&&(a=this.part,null!==a&&(a.Sf=NaN),this.Hn=c,this.Ad=null,this.cc(),this.s(),\nthis.g(\"figure\",b,c))}}},toArrow:{get:function(){return this.$l},set:function(a){var b=this.$l;!0===a?a=\"Standard\":!1===a&&(a=\"\");if(b!==a){var c=Gn(a);null===c?C(\"Unknown Shape.toArrow: \"+a):b!==c&&(this.$l=c,this.Ad=null,this.cc(),this.s(),En(this),this.g(\"toArrow\",b,c))}}},fromArrow:{get:function(){return this.dl},set:function(a){var b=this.dl;!0===a?a=\"Standard\":!1===a&&(a=\"\");if(b!==a){var c=Gn(a);null===c?C(\"Unknown Shape.fromArrow: \"+\na):b!==c&&(this.dl=c,this.Ad=null,this.cc(),this.s(),En(this),this.g(\"fromArrow\",b,c))}}},spot1:{get:function(){return this.hf},set:function(a){var b=this.hf;b.A(a)||(this.hf=a=a.I(),this.s(),this.g(\"spot1\",b,a))}},spot2:{get:function(){return this.jf},set:function(a){var b=this.jf;b.A(a)||(this.jf=a=a.I(),this.s(),this.g(\"spot2\",b,a))}},parameter1:{get:function(){return this.Wo},set:function(a){var b=this.Wo;\nb!==a&&(this.Wo=a,this.cc(),this.s(),this.g(\"parameter1\",b,a))}},parameter2:{get:function(){return this.Xo},set:function(a){var b=this.Xo;b!==a&&(this.Xo=a,this.cc(),this.s(),this.g(\"parameter2\",b,a))}},naturalBounds:{get:function(){var a=this.desiredSize;return a.u()||null===this.ma?new N(0,0,a.width,a.height):(this.qc.assign(this.ma.bounds),this.qc)}},pathPattern:{get:function(){return this.Zo},set:function(a){var b=\nthis.Zo;b!==a&&(this.Zo=a,this.N(),this.g(\"pathPattern\",b,a))}},geometryStretch:{get:function(){return this.Pn},set:function(a){var b=this.Pn;b!==a&&(this.Pn=a,this.s(),this.g(\"geometryStretch\",b,a))}},interval:{get:function(){return this.Wd},set:function(a){var b=this.Wd;a=Math.round(a);if(b!==a&&0!==a&&isFinite(a)){this.Wd=a;var c=this.diagram;null!==c&&this.panel===c.grid&&ij(c);this.s();c=this.panel;null!==c&&(c.Nf=null);this.g(\"interval\",\nb,a)}}},graduatedStart:{get:function(){return this.Ud},set:function(a){var b=this.Ud;b!==a&&(0>a?a=0:1<a&&(a=1),this.Ud=a,this.s(),this.g(\"graduatedStart\",b,a))}},graduatedEnd:{get:function(){return this.Sd},set:function(a){var b=this.Sd;b!==a&&(0>a?a=0:1<a&&(a=1),this.Sd=a,this.s(),this.g(\"graduatedEnd\",b,a))}},graduatedSkip:{get:function(){return this.Td},set:function(a){var b=this.Td;b!==a&&(this.Td=a,this.s(),\nthis.g(\"graduatedSkip\",b,a))}}});uf.prototype.intersectsRect=uf.prototype.Ic;uf.prototype.containedInRect=uf.prototype.wh;uf.prototype.getNearestIntersectionPoint=uf.prototype.Is;uf.prototype.getDocumentBounds=uf.prototype.Mi;uf.prototype.getDocumentPoint=uf.prototype.da;var Fn=new Wa,un=new Wa;uf.className=\"Shape\";uf.getFigureGenerators=function(){var a=new I,b;for(b in L.Ne)b!==b.toLowerCase()&&a.add(b,L.Ne[b]);a.freeze();return a};\nuf.defineFigureGenerator=function(a,b){var c=a.toLowerCase(),d=L.Ne;d[a]=b;d[c]=a};uf.getArrowheadGeometries=function(){var a=new I;for(d in L.Qm)if(void 0===Fn[d]){var b=Q.parse(L.Qm[d],!1);Fn[d]=b;b=d.toLowerCase();b!==d&&(Fn[b]=d)}for(var c in Fn)if(c!==c.toLowerCase()){var d=Fn[c];d instanceof Q&&a.add(c,d)}a.freeze();return a};\nuf.defineArrowheadGeometry=function(a,b){var c=null;\"string\"===typeof b?c=Q.parse(b,!1):c=b;b=a.toLowerCase();\"none\"!==b&&a!==b||C(\"Shape.defineArrowheadGeometry name must not be empty or None or all-lower-case: \"+a);var d=Fn;d[a]=c;d[b]=a};\nfunction Lg(a,b){Y.call(this);Hn||(In=Jg?(new Ak(null)).context:null,Hn=!0);this.Ub=\"\";this.Dc=\"black\";this.ne=\"13px sans-serif\";this.ui=\"start\";this.Rd=og;this.Bi=ad;this.Aj=!0;this.$h=this.ai=!1;this.Vf=Jn;this.gg=Kn;this.Ir=this.qb=this.Wc=0;this.ku=this.lu=null;this.En=!1;this.kd=this.gn=this.Kp=this.vi=this.Lp=null;this.gf=this.ff=0;this.Xh=Ln;this.te=Infinity;this.di=0;this.oe=null;this.ze=0;this.me=this.Pb=this.zc=null;this.Wd=1;this.Ud=0;this.Sd=1;this.Td=this.sj=null;\"string\"===typeof a?\nthis.text=a:a&&Object.assign(this,a);b&&Object.assign(this,b);return this}ma(Lg,Y);\nLg.prototype.cloneProtected=function(a){Y.prototype.cloneProtected.call(this,a);a.Ub=this.Ub;a.Dc=this.Dc;a.ne=this.ne;a.ui=this.ui;a.Rd=this.Rd;a.Bi=this.Bi;a.Aj=this.Aj;a.ai=this.ai;a.$h=this.$h;a.Vf=this.Vf;a.gg=this.gg;a.Wc=this.Wc;a.Ir=this.Ir;a.qb=this.qb;a.lu=this.lu;a.ku=this.ku;a.En=this.En;a.Lp=this.Lp;a.vi=this.vi;a.Kp=this.Kp;a.gn=this.gn;a.kd=this.kd;a.ff=this.ff;a.gf=this.gf;a.Xh=this.Xh;a.te=this.te;a.oe=this.oe;a.ze=this.ze;a.zc=this.zc;a.Pb=this.Pb;a.me=this.me;a.di=this.di;a.Wd=\nthis.Wd;a.Ud=this.Ud;a.Sd=this.Sd;a.sj=this.sj;a.Td=this.Td};\nfunction Qm(a,b){a.G=b.G|6144;a.lb=b.opacity;a.Rb=b.background;a.fd=b.areaBackground;a.Sc=b.desiredSize.I();a.Uf=b.minSize.I();a.Tf=b.maxSize.I();null!==b.Ab?a.Ab=b.Ab.copy():a.Ab=null;a.sa=b.scale;a.xb=b.angle;a.Be=b.stretch;a.Pg=b.margin.I();a.wb=b.alignment.I();a.Gk=b.alignmentFocus.I();a.Jl=b.segmentFraction;a.Kl=b.segmentOffset.I();a.Ll=b.segmentOrientation;null!==b.$a&&(a.$a=b.$a.copy());a.Nl=b.shadowVisible;b instanceof Lg&&(a.Ub=b.Ub,a.Dc=b.Dc,a.ne=b.ne,a.ui=b.ui,a.Rd=b.Rd,a.Bi=b.Bi,a.Aj=\nb.Aj,a.ai=b.ai,a.$h=b.$h,a.Vf=b.Vf,a.gg=b.gg,a.oe=null,a.ff=b.ff,a.gf=b.gf,a.te=b.te,a.di=b.di,a.Wd=b.Wd,a.Ud=b.Ud,a.Sd=b.Sd,a.sj=b.sj,a.Td=b.Td)}t=Lg.prototype;t.gb=function(a){a.classType===Lg?this.wrap=a:Y.prototype.gb.call(this,a)};t.toString=function(){return 22<this.Ub.length?'TextBlock(\"'+this.Ub.substring(0,20)+'\"...)':'TextBlock(\"'+this.Ub+'\")'};t.s=function(){Y.prototype.s.call(this);this.ku=this.lu=null};\nt.Fi=function(a,b){if(null!==this.Dc&&0!==this.Ub.length&&null!==this.ne){var c=this.naturalBounds,d=this.actualBounds,e=c.width,f=c.height,g=Mn(this),h=a.textAlign=this.ui,k=b.io;\"start\"===h?h=k?\"right\":\"left\":\"end\"===h&&(h=k?\"left\":\"right\");k=this.ai;var l=this.$h;bi(this,a,this.Dc,!0,!1,c,d);(k||l)&&bi(this,a,this.Dc,!1,!1,c,d);d=0;c=!1;var m=this.de,n=m.dx-(g*m.m21+m.dx);m=m.dy-(g*m.m22+m.dy);var p=b.scale;8>(n*n+m*m)*p*p&&(c=!0);b.Sb!==a&&(c=!1);!1===b.Fe(\"textGreeking\")&&(c=!1);b=this.ff;n=\nthis.gf;switch(this.flip){case Zk:a.translate(e,0);a.scale(-1,1);break;case Yk:a.translate(0,f);a.scale(1,-1);break;case $k:a.translate(e,f),a.scale(-1,-1)}a.Bd();m=this.Wc;p=(b+g+n)*m;f>p&&(d=this.Bi,d=d.y*f-d.y*p+d.offsetY);if(1===m&&null!==this.me)n=this.qb,n>e&&(n=e),this.Ei(this.me,a,0,d+b,e,g,n,c,h,k,l);else if(null!==this.zc&&null!==this.Pb)for(p=0;p<m;p++){var r=this.zc[p];r>e&&(r=e);d+=b;this.Ei(this.Pb[p],a,0,d,e,g,r,c,h,k,l);d+=g+n}switch(this.flip){case Zk:a.scale(-1,1);a.translate(-e,\n0);break;case Yk:a.scale(1,-1);a.translate(0,-f);break;case $k:a.scale(-1,-1),a.translate(-e,-f)}}};\nt.Ei=function(a,b,c,d,e,f,g,h,k,l,m){var n=0;h?(\"left\"===k?n=0:\"right\"===k?n=e-g:\"center\"===k&&(n=(e-g)/2),b.fillRect(c+n,d+.25*f,g,1)):(\"left\"===k?n=0:\"right\"===k?n=e:\"center\"===k&&(n=e/2),e=null!==Nn?Nn(this,f):.75*f,b.fillText(a,c+n,d+e),a=f/20|0,0===a&&(a=1),\"right\"===k?n-=g:\"center\"===k&&(n-=g/2),l&&(k=null!==On?On(this,f):.8*f,b.beginPath(),b.lineWidth=a,b.moveTo(c+n,d+k),b.lineTo(c+n+g,d+k),b.stroke()),m&&(b.beginPath(),b.lineWidth=a,d=d+f-f/2.2|0,0!==a%2&&(d+=.5),b.moveTo(c+n,d),b.lineTo(c+\nn+g,d),b.stroke()))};\nt.qm=function(a,b,c,d){this.di=a;var e=this.ne;null!==In&&Pn!==e&&(Pn=In.font=e);this.qb=this.ze=0;this.me=this.Pb=this.zc=this.oe=null;var f;if(isNaN(this.desiredSize.width)){e=this.Ub.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");if(0===e.length)e=0;else if(this.isMultiline){for(var g=f=0,h=!1;!h;){var k=e.indexOf(\"\\n\",g);-1===k&&(k=e.length,h=!0);g=e.substr(g,k-g);this.Xh===Ln&&(g=g.trim());f=Math.max(f,Qn(g));g=k+1}e=f}else f=e.indexOf(\"\\n\",0),0<=f&&(e=e.substr(0,f)),e=Qn(e);e=Math.min(e,a/this.scale);\ne=Math.max(8,e)}else e=this.desiredSize.width;null!==this.panel&&(e=Math.min(e,this.panel.maxSize.width));f=Rn(this,e);isNaN(this.desiredSize.height)?f=Math.min(f,b/this.scale):f=this.desiredSize.height;h=f;if(0!==this.qb&&null!==this.zc&&null!==this.Pb&&this.Vf===Sn&&(b=this.ne,b=this.Vf===Sn?Tn(b):0,k=this.ff+this.gf,k=Math.max(0,Mn(this)+k),h=Math.min(this.maxLines-1,Math.max(Math.floor(h/k+.01)-1,0)),!(h+1>=this.Pb.length))){k=this.Pb[h];for(b=Math.max(1,a-b);Qn(k)>b&&1<k.length;)k=k.substr(0,\nk.length-1);k+=Un;b=Qn(k);this.Pb[h]=k;this.Pb=this.Pb.slice(0,h+1);this.zc[h]=b;this.zc=this.zc.slice(0,h+1);this.ze=this.Pb.length;this.qb=Math.max(this.qb,b);this.Wc=this.ze;1===this.Wc&&(this.me=this.Pb[0])}if(this.wrap===Vn||isNaN(this.desiredSize.width))e=isNaN(a)?this.qb:Math.min(a,this.qb),isNaN(this.desiredSize.width)&&(e=Math.max(8,e));e=Math.max(c,e);f=Math.max(d,f);Tb(this.qc,e,f);this.ue(0,0,e,f)};t.vh=function(a,b,c,d){jl(this,a,b,c,d)};\nfunction Wn(a,b,c){if(null===a.me)a.me=b,a.qb=c;else{if(null===a.Pb||null===a.zc)a.Pb=[],a.zc=[],a.Pb.push(a.me),a.zc.push(a.qb);a.Pb.push(b);a.zc.push(c)}}\nfunction Xn(a,b,c,d){var e=a.Xh===Ln;e&&(b=b.trim());var f=0,g=a.ne,h=a.ff+a.gf;h=Math.max(0,Mn(a)+h);var k=a.Vf===Sn?Tn(g):0;if(a.Wc>=a.te)null!==d&&d.h(0,h);else if(g=b,a.gg===Yn){a.ze=1;var l=Qn(b);if(0===k||l<=c)a.qb=Math.max(a.qb,l),Wn(a,b,a.qb),null!==d&&d.h(l,h);else{f=Zn(a,g);g=g.substr(f.length);b=Zn(a,g);for(l=Qn(f+b);0<b.length&&l<=c;)f+=b,g=g.substr(b.length),b=Zn(a,g),l=f+b,e&&(l=l.trim()),l=Qn(l);e&&(b=b.trim());f+=b;for(c=Math.max(1,c-k);Qn(f)>c&&1<f.length;)f=f.substr(0,f.length-1);\nf+=Un;var m=Qn(f);a.qb=m;Wn(a,f,m);null!==d&&d.h(m,h)}}else{k=0;0===g.length&&(k=1,Wn(a,g,0));for(;0<g.length;){b=Zn(a,g);for(g=g.substr(b.length);Qn(b)>c;){var n=1;l=Qn(b.substr(0,n));for(m=0;l<=c;)n++,m=l,l=Qn(b.substr(0,n));if(1===n){var p=l;f=Math.max(f,l)}else p=m,f=Math.max(f,m);n--;1>n&&(n=1);Wn(a,b.substr(0,n),p);k++;b=b.substr(n);if(a.Wc+k>a.te)break}m=Zn(a,g);for(l=Qn(b+m);0<m.length&&l<=c;)b+=m,g=g.substr(m.length),m=Zn(a,g),l=b+m,e&&(l=l.trim()),l=Qn(l);e&&(b=b.trim());if(\"\"!==b&&(\"\\u00ad\"===\nb[b.length-1]&&(b=b.substring(0,b.length-1)+\"\\u2010\"),0===m.length?(n=l,f=Math.max(f,l)):(n=m=Qn(b),f=Math.max(f,m)),Wn(a,b,n),k++,a.Wc+k>a.te))break}a.ze=Math.min(a.te,k);a.qb=Math.max(a.qb,f);null!==d&&d.h(a.qb,h*a.ze)}}function Zn(a,b){if(a.gg===$n)return b.substr(0,1);for(var c=b.length,d=0,e=ao;d<c&&!e.test(b.charAt(d));)d++;for(a.Xh===bo&&(c=Math.min(c,d+1));d<c&&e.test(b.charAt(d));)d++;return d>=b.length?b:b.substr(0,d)}function Qn(a){return null===In?8*a.length:In.measureText(a).width}\nfunction Mn(a){if(null!==a.oe)return a.oe;var b=a.ne;if(null===In){var c=16;return a.oe=c}void 0!==co[b]&&5E3>eo?c=co[b]:(c=1.3*In.measureText(\"M\").width,co[b]=c,eo++);return a.oe=c}function Tn(a){if(null===In)return 6;if(void 0!==fo[a]&&5E3>go)var b=fo[a];else b=In.measureText(Un).width,fo[a]=b,go++;return b}\nfunction Rn(a,b){var c=a.Ub.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\"),d=a.ff+a.gf;d=Math.max(0,Mn(a)+d);if(0===c.length)return a.qb=0,a.Wc=1,d;if(!a.isMultiline){var e=c.indexOf(\"\\n\",0);0<=e&&(c=c.substr(0,e))}e=0;for(var f=a.Wc=0,g,h=!1;!h;){g=c.indexOf(\"\\n\",f);-1===g&&(g=c.length,h=!0);if(f<=g){f=c.substr(f,g-f);if(a.gg!==Yn){a.ze=0;var k=M.alloc();Xn(a,f,b,k);e+=k.height;M.free(k);a.Wc+=a.ze}else Xn(a,f,b,null),e+=d,a.Wc++;a.Wc===a.te&&(h=!0)}f=g+1}return a.Ir=e}\nna.Object.defineProperties(Lg.prototype,{font:{get:function(){return this.ne},set:function(a){var b=this.ne;b!==a&&(this.ne=a,this.oe=null,this.s(),this.g(\"font\",b,a))}},text:{get:function(){return this.Ub},set:function(a){var b=this.Ub;null!==a&&void 0!==a?a=a.toString():a=\"\";b!==a&&(this.Ub=a,this.s(),this.g(\"text\",b,a))}},textAlign:{get:function(){return this.ui},set:function(a){var b=this.ui;b===a||\"start\"!==\na&&\"end\"!==a&&\"left\"!==a&&\"right\"!==a&&\"center\"!==a||(this.ui=a,this.N(),this.g(\"textAlign\",b,a))}},flip:{get:function(){return this.Rd},set:function(a){var b=this.Rd;b!==a&&(this.Rd=a,this.N(),this.g(\"flip\",b,a))}},verticalAlignment:{get:function(){return this.Bi},set:function(a){var b=this.Bi;b.A(a)||(this.Bi=a=a.I(),zl(this),this.g(\"verticalAlignment\",b,a))}},naturalBounds:{get:function(){if(!this.qc.u()){var a=\nM.alloc();Xn(this,this.Ub,999999,a);var b=a.width;M.free(a);a=Rn(this,b);var c=this.desiredSize;isNaN(c.width)||(b=c.width);isNaN(c.height)||(a=c.height);Tb(this.qc,b,a)}return this.qc}},isMultiline:{get:function(){return this.Aj},set:function(a){var b=this.Aj;b!==a&&(this.Aj=a,this.s(),this.g(\"isMultiline\",b,a))}},isUnderline:{get:function(){return this.ai},set:function(a){var b=this.ai;b!==a&&(this.ai=a,this.N(),this.g(\"isUnderline\",b,\na))}},isStrikethrough:{get:function(){return this.$h},set:function(a){var b=this.$h;b!==a&&(this.$h=a,this.N(),this.g(\"isStrikethrough\",b,a))}},wrap:{get:function(){return this.gg},set:function(a){var b=this.gg;b!==a&&(this.gg=a,this.s(),this.g(\"wrap\",b,a))}},overflow:{get:function(){return this.Vf},set:function(a){var b=this.Vf;b!==a&&(this.Vf=a,this.s(),this.g(\"overflow\",b,a))}},stroke:{\nget:function(){return this.Dc},set:function(a){var b=this.Dc;b!==a&&(null!==a&&Nl(a,\"TextBlock.stroke\"),a instanceof ml&&a.freeze(),this.Dc=a,this.N(),this.g(\"stroke\",b,a))}},lineCount:{get:function(){return this.Wc}},lineHeight:{get:function(){return Mn(this)}},editable:{get:function(){return this.En},set:function(a){var b=this.En;b!==a&&(this.En=a,this.g(\"editable\",b,a))}},textEditor:{\nget:function(){return this.Lp},set:function(a){var b=this.Lp;b!==a&&(this.Lp=a,this.g(\"textEditor\",b,a))}},errorFunction:{get:function(){return this.kd},set:function(a){var b=this.kd;b!==a&&(this.kd=a,this.g(\"errorFunction\",b,a))}},interval:{get:function(){return this.Wd},set:function(a){var b=this.Wd;a=Math.round(a);if(b!==a&&0!==a&&isFinite(a)){this.Wd=a;this.s();var c=this.panel;null!==c&&(c.Nf=null);this.g(\"interval\",b,a)}}},graduatedStart:{\nget:function(){return this.Ud},set:function(a){var b=this.Ud;b!==a&&(0>a?a=0:1<a&&(a=1),this.Ud=a,this.s(),this.g(\"graduatedStart\",b,a))}},graduatedEnd:{get:function(){return this.Sd},set:function(a){var b=this.Sd;b!==a&&(0>a?a=0:1<a&&(a=1),this.Sd=a,this.s(),this.g(\"graduatedEnd\",b,a))}},graduatedFunction:{get:function(){return this.sj},set:function(a){var b=this.sj;b!==a&&(this.sj=a,this.s(),this.g(\"graduatedFunction\",b,a))}},\ngraduatedSkip:{get:function(){return this.Td},set:function(a){var b=this.Td;b!==a&&(this.Td=a,this.s(),this.g(\"graduatedSkip\",b,a))}},textValidation:{get:function(){return this.vi},set:function(a){var b=this.vi;b!==a&&(this.vi=a,this.g(\"textValidation\",b,a))}},textEdited:{get:function(){return this.Kp},set:function(a){var b=this.Kp;b!==a&&(this.Kp=a,this.g(\"textEdited\",b,a))}},spacingAbove:{\nget:function(){return this.ff},set:function(a){var b=this.ff;b!==a&&(this.ff=a,this.s(),this.g(\"spacingAbove\",b,a))}},spacingBelow:{get:function(){return this.gf},set:function(a){var b=this.gf;b!==a&&(this.gf=a,this.s(),this.g(\"spacingBelow\",b,a))}},formatting:{get:function(){return this.Xh},set:function(a){var b=this.Xh;b!==a&&(this.Xh=a,this.s(),this.g(\"formatting\",b,a))}},maxLines:{get:function(){return this.te},\nset:function(a){var b=this.te;b!==a&&(a=Math.floor(a),0>=a&&xa(a,\"> 0\",Lg,\"maxLines\"),this.te=a,this.s(),this.g(\"maxLines\",b,a))}},metrics:{get:function(){return{arrSize:null!==this.zc?this.zc:[this.qb],arrText:null!==this.Pb?this.Pb:[this.me],maxLineWidth:this.qb,fontHeight:this.oe}}},choices:{get:function(){return this.gn},set:function(a){var b=this.gn;b!==a&&(this.gn=a,this.g(\"choices\",b,a))}}});\nvar Nn=null,On=null,Yn=new D(Lg,\"None\",0),Vn=new D(Lg,\"WrapFit\",1),Kn=new D(Lg,\"WrapDesiredSize\",2),$n=new D(Lg,\"WrapBreakAll\",3),Jn=new D(Lg,\"OverflowClip\",0),Sn=new D(Lg,\"OverflowEllipsis\",1),Ln=new D(Lg,\"FormatTrim\",0),bo=new D(Lg,\"FormatNone\",0),ao=/[ \\u200b\\u00ad]/,co=new Wa,eo=0,fo=new Wa,go=0,Un=\"...\",Pn=\"\",In=null,Hn=!1;Lg.className=\"TextBlock\";Lg.getEllipsis=function(){return Un};Lg.setEllipsis=function(a){Un=a;fo=new Wa;go=0};Lg.getBaseline=function(){return Nn};\nLg.setBaseline=function(a){Nn=a};Lg.getUnderline=function(){return On};Lg.setUnderline=function(a){On=a};Lg.isValidFont=function(a){Hn||(In=Jg?(new Ak(null)).context:null,Hn=!0);if(null===In)return!0;var b=In.font;if(a===b||\"10px sans-serif\"===a)return!0;In.font=\"10px sans-serif\";In.font=a;var c=In.font;if(\"10px sans-serif\"!==c)return In.font=b,!0;In.font=\"19px serif\";var d=In.font;In.font=a;c=In.font;In.font=b;return c!==d};Lg.FormatNone=bo;Lg.FormatTrim=Ln;Lg.None=Yn;Lg.OverflowClip=Jn;\nLg.OverflowEllipsis=Sn;Lg.WrapBreakAll=$n;Lg.WrapDesiredSize=Kn;Lg.WrapFit=Vn;function Vj(a,b){Y.call(this);this.Gg=null;this.Ep=\"\";this.hh=hc;this.fl=sd;this.kh=this.kd=null;this.el=yc;this.Rd=og;this.Wl=null;this.co=!1;this.Kn=!0;this.ul=!1;this.Pl=null;\"string\"===typeof a?this.source=a:a&&Object.assign(this,a);b&&Object.assign(this,b)}var ho;ma(Vj,Y);\nVj.prototype.cloneProtected=function(a){Y.prototype.cloneProtected.call(this,a);a.element=this.Gg;a.Ep=this.Ep;a.hh=this.hh.I();a.fl=this.fl;a.Rd=this.Rd;a.kd=this.kd;a.kh=this.kh;a.el=this.el.I();a.Kn=this.Kn;a.Pl=this.Pl};Vj.prototype.gb=function(a){a===og||a===qg||a===Xk?this.imageStretch=a:Y.prototype.gb.call(this,a)};Vj.prototype.toString=function(){return\"Picture(\"+this.source+\")#\"+gb(this)};function Ii(a){void 0===a&&(a=\"\");\"\"!==a?ho[a]&&(delete ho[a],io--):(ho=new Wa,io=0)}\nfunction jo(a,b){b.Vy||(b.Hr=function(c){b.zr=!0;b.Xn=!1;var d=b.Cg.copy();if(null!==d&&void 0!==d){for(d=d.iterator;d.next();){var e=d.value;var f=b.getAttribute(\"src\")||\"\";var g=e.$g.H(f);if(null!==g)for(var h=g.length,k=0;k<h;k++)f=g[k],e.$o.add(f),e.Fb(),b.Qn&&(void 0===b.Du&&(b.Du=c),null!==f.kh&&f.kh(f,c))}b.Cg.clear()}a.desiredSize.u()||(hj(a,!1),a.s())},b.kr=function(a){b.Xn=a;var c=b.Cg.copy();if(null!==c&&void 0!==c){for(c=c.iterator;c.next();){var e=c.value,f=b.getAttribute(\"src\")||\"\";\nvar g=e.$g.H(f);if(null!==g){e=g.length;f=Fa();for(var h=0;h<e;h++)f.push(g[h]);if(b.Qn)for(h=0;h<e;h++)g=f[h],null!==g.kd&&g.kd(g,a);Ia(f)}}b.Cg.clear()}},b.addEventListener(\"load\",b.Hr),b.addEventListener(\"error\",b.kr),b.Vy=!0)}function Xj(a){a.Hr&&a.removeEventListener(\"load\",a.Hr);a.kr&&a.removeEventListener(\"error\",a.kr);delete a.Hr;delete a.kr}Vj.prototype.KA=function(){if(\"\"!==this.source){Ii(this.source);var a=this.source;this.source=\"\";this.source=a}};Vj.prototype.redraw=function(){this.N()};\nVj.prototype.Fi=function(a,b){var c=this.Gg;if(null!==c){var d=c.getAttribute(\"src\");if(!(c instanceof HTMLImageElement&&(null===d||\"\"===d)||c.Xn instanceof Event&&a instanceof ul)){d=this.naturalBounds;var e=0,f=0,g=this.co,h=g?+c.width:c.naturalWidth;g=g?+c.height:c.naturalHeight;void 0===h&&c.videoWidth&&(h=c.videoWidth);void 0===g&&c.videoHeight&&(g=c.videoHeight);h=h||d.width;g=g||d.height;if(0!==h&&0!==g){var k=h,l=g;this.sourceRect.u()&&(e=this.hh.x,f=this.hh.y,h=this.hh.width,g=this.hh.height);\nvar m=h,n=g,p=this.fl,r=this.el;switch(p){case og:if(this.sourceRect.u())break;m>=d.width&&(e=e+r.offsetX+(m*r.x-d.width*r.x));n>=d.height&&(f=f+r.offsetY+(n*r.y-d.height*r.y));h=Math.min(d.width,m);g=Math.min(d.height,n);break;case sd:m=d.width;n=d.height;break;case qg:case Xk:p===qg?(p=Math.min(d.height/n,d.width/m),m*=p,n*=p):p===Xk&&(p=Math.max(d.height/n,d.width/m),m*=p,n*=p,m>=d.width&&(e=(e+r.offsetX+(m*r.x-d.width*r.x)/m)*h),n>=d.height&&(f=(f+r.offsetY+(n*r.y-d.height*r.y)/n)*g),h*=1/(m/\nd.width),g*=1/(n/d.height),m=d.width,n=d.height)}p=this.wf()*b.scale;var q=m*p*n*p,u=h*g/q,v=c.__goCache;p=null;var w=ko;if(c.zr&&void 0!==v&&4<q&&u>w*w)for(null===v.Di&&(lo(v,4,k,l,c),lo(v,16,k,l,c)),k=v.Di,l=k.length,q=0;q<l;q++)if(k[q].ratio*k[q].ratio<u)p=k[q];else break;if(!b.Bn){if(null===this.Wl)if(null===this.Gg)this.Wl=!1;else{k=(new Ak(null)).context;try{k.drawImage(this.Gg,0,0)}catch(z){this.Kn=!1}try{k.getImageData(0,0,1,1).data[3]&&(this.Wl=!1),this.Wl=!1}catch(z){this.Wl=!0}}if(this.Wl)return}k=\n0;m<d.width&&(k=r.offsetX+(d.width*r.x-m*r.x));l=0;n<d.height&&(l=r.offsetY+(d.height*r.y-n*r.y));switch(this.flip){case Zk:a.translate(Math.min(d.width,m),0);a.scale(-1,1);break;case Yk:a.translate(0,Math.min(d.height,n));a.scale(1,-1);break;case $k:a.translate(Math.min(d.width,m),Math.min(d.height,n)),a.scale(-1,-1)}a.Bd();if(b.Fe(\"pictureRatioOptimization\")&&!b.zj&&void 0!==v&&null!==p&&1!==p.ratio){a.save();b=p.ratio;try{a.drawImage(p.source,e/b,f/b,Math.min(p.source.width,h/b),Math.min(p.source.height,\ng/b),k,l,Math.min(d.width,m),Math.min(d.height,n))}catch(z){this.Kn=!1}a.restore()}else try{a.drawImage(c,e,f,h,g,k,l,Math.min(d.width,m),Math.min(d.height,n))}catch(z){this.Kn=!1}switch(this.flip){case Zk:a.scale(-1,1);a.translate(-Math.min(d.width,m),0);break;case Yk:a.scale(1,-1);a.translate(0,-Math.min(d.height,n));break;case $k:a.scale(-1,-1),a.translate(-Math.min(d.width,m),-Math.min(d.height,n))}}}}};\nVj.prototype.qm=function(a,b,c,d){var e=this.desiredSize,f=hl(this,!0),g=this.Gg,h=this.co;if(h||!this.ul&&g&&g.complete)this.ul=!0;null===g&&(isFinite(e.width)||(a=0),isFinite(e.height)||(b=0));isFinite(e.width)||f===sd||f===Vk?(isFinite(a)||(this.sourceRect.u()?a=this.sourceRect.width:null!==g&&(a=h?+g.width:g.naturalWidth)),c=0):null!==g&&!1!==this.ul&&(a=this.sourceRect.u()?this.sourceRect.width:h?+g.width:g.naturalWidth);isFinite(e.height)||f===sd||f===Wk?(isFinite(b)||(this.sourceRect.u()?b=\nthis.sourceRect.height:null!==g&&(b=h?+g.height:g.naturalHeight)),d=0):null!==g&&!1!==this.ul&&(b=this.sourceRect.u()?this.sourceRect.height:h?+g.height:g.naturalHeight);isFinite(e.width)&&(a=e.width);isFinite(e.height)&&(b=e.height);e=this.maxSize;f=this.minSize;c=Math.max(c||0,f.width);d=Math.max(d||0,f.height);a=Math.min(e.width,a);b=Math.min(e.height,b);a=Math.max(c,a);b=Math.max(d,b);null===g||g.complete||(isFinite(a)||(a=0),isFinite(b)||(b=0));Tb(this.qc,a,b);this.ue(0,0,a,b)};\nVj.prototype.vh=function(a,b,c,d){jl(this,a,b,c,d)};\nna.Object.defineProperties(Vj.prototype,{element:{get:function(){return this.Gg},set:function(a){var b=this.Gg;if(b!==a){this.co=a instanceof HTMLCanvasElement;var c=a instanceof HTMLImageElement;b instanceof HTMLImageElement&&Xj(b);null===a||c||a instanceof HTMLVideoElement||this.co||C(\"Picture.element must be an instance of Image, Canvas, or Video, not: \"+a);var d=this.diagram;null!==d&&Wj(d,this);this.Gg=a;null!==a&&c&&void 0===a.Cg&&(a.Cg=new G);null!==d&&c&&Uj(d,\nthis);null!==a&&(this.co||!0===a.complete?(a.Qn&&(a.Xn instanceof Event&&null!==this.kd?this.kd(this,a.Xn):!0===a.zr&&!a.Xn&&null!==this.kh&&a.Du&&this.kh(this,a.Du)),a.zr=!0,this.desiredSize.u()||(hj(this,!1),this.s())):c&&jo(this,a));this.g(\"element\",b,a);this.N()}}},source:{get:function(){return this.Ep},set:function(a){var b=this.Ep;if(b!==a){this.Ep=a;var c=ho;if(Jg){if(void 0!==c[a])var d=c[a];else if(\"\"!==a){30<io&&(Ii(),c=ho);d=va(\"img\");d.Qn=!0;jo(this,d);var e=\nthis.Pl;null!==e&&(d.crossOrigin=e(this));d.src=a;c[a]=d;io++}this.element=d;null!==d&&void 0===d.__goCache&&(d.__goCache=new mo);this.s();this.N()}this.g(\"source\",b,a)}}},sourceCrossOrigin:{get:function(){return this.Pl},set:function(a){if(this.Pl!==a&&(this.Pl=a,null!==this.element)){var b=this.element.getAttribute(\"src\");null===a&&\"string\"===typeof b?this.element.crossOrigin=null:null!==a&&(this.element.crossOrigin=a(this));this.element.src=b}}},sourceRect:{\nget:function(){return this.hh},set:function(a){var b=this.hh;b.A(a)||(this.hh=a=a.I(),this.N(),this.g(\"sourceRect\",b,a))}},imageStretch:{get:function(){return this.fl},set:function(a){var b=this.fl;b!==a&&(this.fl=a,this.N(),this.g(\"imageStretch\",b,a))}},flip:{get:function(){return this.Rd},set:function(a){var b=this.Rd;b!==a&&(this.Rd=a,this.N(),this.g(\"flip\",b,a))}},imageAlignment:{get:function(){return this.el},\nset:function(a){var b=this.el;b.A(a)||(this.el=a=a.I(),this.N(),this.g(\"imageAlignment\",b,a))}},errorFunction:{get:function(){return this.kd},set:function(a){var b=this.kd;b!==a&&(this.kd=a,this.g(\"errorFunction\",b,a))}},successFunction:{get:function(){return this.kh},set:function(a){var b=this.kh;b!==a&&(this.kh=a,this.g(\"successFunction\",b,a))}},naturalBounds:{get:function(){return this.qc}}});\nVj.prototype.redraw=Vj.prototype.redraw;Vj.prototype.reloadSource=Vj.prototype.KA;var io=0,ko=4;Vj.className=\"Picture\";ho=new Wa;Vj.clearCache=Ii;function mo(){this.Di=null}function lo(a,b,c,d,e){null===a.Di&&(a.Di=[]);var f=new Ak(null),g=f.context,h=1/b;f.width=c/b;f.height=d/b;0!==f.width&&0!==f.height&&(b=new no(f.La,b),c=1,0<a.Di.length&&(c=a.Di[a.Di.length-1],e=c.source,c=c.ratio),g.setTransform(h*c,0,0,h*c,0,0),g.Bd(),g.drawImage(e,0,0),a.Di.push(b))}mo.className=\"PictureCacheArray\";\nfunction no(a,b){this.source=a;this.ratio=b}no.className=\"PictureCacheInstance\";function oo(){this.Fs=new Q;this.gc=null}oo.prototype.reset=function(a){null!==a?(a.ea(),this.Fs=a,a.figures.clear()):this.Fs=new Q;this.gc=null};function wd(a,b,c,d,e){a.gc=new Wd;a.gc.startX=b;a.gc.startY=c;a.gc.isFilled=d;a.Fs.figures.add(a.gc);void 0!==e&&(a.gc.isShadowed=e)}function Cd(a){var b=a.gc.segments.length;0<b&&a.gc.segments.J(b-1).close()}oo.prototype.Jm=function(a){this.gc.isShadowed=a};\noo.prototype.moveTo=function(a,b,c){void 0===c&&(c=!1);var d=new Xd(Fd);d.endX=a;d.endY=b;c&&d.close();this.gc.segments.add(d)};oo.prototype.lineTo=function(a,b,c){void 0===c&&(c=!1);var d=new Xd(ud);d.endX=a;d.endY=b;c&&d.close();this.gc.segments.add(d)};function xd(a,b,c,d,e,f,g){var h;void 0===h&&(h=!1);var k=new Xd(Md);k.point1X=b;k.point1Y=c;k.point2X=d;k.point2Y=e;k.endX=f;k.endY=g;h&&k.close();a.gc.segments.add(k)}\nfunction Ad(a,b,c,d,e){var f;void 0===f&&(f=!1);var g=new Xd(Nd);g.point1X=b;g.point1Y=c;g.endX=d;g.endY=e;f&&g.close();a.gc.segments.add(g)}oo.prototype.arcTo=function(a,b,c,d,e,f,g){void 0===f&&(f=0);void 0===g&&(g=!1);var h=new Xd(Od);h.startAngle=a;h.sweepAngle=b;h.centerX=c;h.centerY=d;h.radiusX=e;h.radiusY=0!==f?f:e;g&&h.close();this.gc.segments.add(h)};function Bd(a,b,c,d,e,f,g,h){var k;void 0===k&&(k=!1);b=new Xd(Pd,g,h,b,c,d,e,f);k&&b.close();a.gc.segments.add(b)}\nfunction vd(a){var b=Dd;if(null!==b)return Dd=null,b.reset(a),b;b=new oo;b.reset(a);return b}var Dd=null;oo.className=\"StreamGeometryContext\";function po(a,b){var c=a.toLowerCase(),d=L.Ne;d[a]=b;d[c]=a}po(\"Rectangle\",function(a,b,c){a=\"r\"+b+\",\"+c;var d=L.Ff[a];if(void 0!==d)return d;d=new Q(Q.C);d.endX=b;d.endY=c;L.Gf<L.Rm&&(L.Ff[a]=d,L.Gf++);return d});\npo(\"Square\",function(a,b,c){a=\"s\"+b+\",\"+c;var d=L.Ff[a];if(void 0!==d)return d;d=new Q(Q.C);d.endX=b;d.endY=c;d.defaultStretch=qg;L.Gf<L.Rm&&(L.Ff[a]=d,L.Gf++);return d});\npo(\"RoundedRectangle\",function(a,b,c){a=a?a.parameter1:NaN;if(isNaN(a)||0>a)a=5;a=Math.min(a,b/3);a=Math.min(a,c/3);var d=\"rr\"+b+\",\"+c+\",\"+a,e=L.Ff[d];if(void 0!==e)return e;var f=a*L.qg;e=(new Q).add((new Wd(a,0,!0)).add(new Xd(ud,b-a,0)).add(new Xd(Md,b,a,b-f,0,b,f)).add(new Xd(ud,b,c-a)).add(new Xd(Md,b-a,c,b,c-f,b-f,c)).add(new Xd(ud,a,c)).add(new Xd(Md,0,c-a,f,c,0,c-f)).add(new Xd(ud,0,a)).add((new Xd(Md,a,0,0,f,f,0)).close()));1<f&&(e.spot1=new P(0,0,f,f),e.spot2=new P(1,1,-f,-f));L.Gf<L.Rm&&\n(L.Ff[d]=e,L.Gf++);return e});po(\"Border\",\"RoundedRectangle\");po(\"Ellipse\",function(a,b,c){a=\"e\"+b+\",\"+c;var d=L.Ff[a];if(void 0!==d)return d;d=new Q(Q.M);d.endX=b;d.endY=c;d.spot1=gd;d.spot2=hd;L.Gf<L.Rm&&(L.Ff[a]=d,L.Gf++);return d});po(\"Circle\",function(a,b,c){a=\"c\"+b+\",\"+c;var d=L.Ff[a];if(void 0!==d)return d;d=new Q(Q.M);d.endX=b;d.endY=c;d.spot1=gd;d.spot2=hd;d.defaultStretch=qg;L.Gf<L.Rm&&(L.Ff[a]=d,L.Gf++);return d});\npo(\"TriangleRight\",function(a,b,c){return(new Q).add((new Wd(0,0)).add(new Xd(ud,b,.5*c)).add((new Xd(ud,0,c)).close())).Km(0,.25,.5,.75)});po(\"TriangleDown\",function(a,b,c){return(new Q).add((new Wd(0,0)).add(new Xd(ud,b,0)).add((new Xd(ud,.5*b,c)).close())).Km(.25,0,.75,.5)});po(\"TriangleLeft\",function(a,b,c){return(new Q).add((new Wd(b,c)).add(new Xd(ud,0,.5*c)).add((new Xd(ud,b,0)).close())).Km(.5,.25,1,.75)});\npo(\"TriangleUp\",function(a,b,c){return(new Q).add((new Wd(b,c)).add(new Xd(ud,0,c)).add((new Xd(ud,.5*b,0)).close())).Km(.25,.5,.75,1)});po(\"Triangle\",\"TriangleUp\");po(\"Diamond\",function(a,b,c){return(new Q).add((new Wd(.5*b,0)).add(new Xd(ud,0,.5*c)).add(new Xd(ud,.5*b,c)).add((new Xd(ud,b,.5*c)).close())).Km(.25,.25,.75,.75)});po(\"LineH\",function(a,b,c){a=new Q(Q.j);a.startX=0;a.startY=c/2;a.endX=b;a.endY=c/2;return a});\npo(\"LineV\",function(a,b,c){a=new Q(Q.j);a.startX=b/2;a.startY=0;a.endX=b/2;a.endY=c;return a});po(\"None\",\"Rectangle\");po(\"BarH\",\"Rectangle\");po(\"BarV\",\"Rectangle\");po(\"MinusLine\",\"LineH\");po(\"PlusLine\",function(a,b,c){return(new Q).add((new Wd(0,c/2,!1)).add(new Xd(ud,b,c/2)).add(new Xd(Fd,b/2,0)).add(new Xd(ud,b/2,c)))});po(\"XLine\",function(a,b,c){return(new Q).add((new Wd(0,c,!1)).add(new Xd(ud,b,0)).add(new Xd(Fd,0,0)).add(new Xd(ud,b,c)))});\nL.Qm={\"\":\"\",Standard:\"F1 m 0,0 l 8,4 -8,4 2,-4 z\",Backward:\"F1 m 8,0 l -2,4 2,4 -8,-4 z\",Triangle:\"F1 m 0,0 l 8,4.62 -8,4.62 z\",BackwardTriangle:\"F1 m 8,4 l 0,4 -8,-4 8,-4 0,4 z\",Boomerang:\"F1 m 0,0 l 8,4 -8,4 4,-4 -4,-4 z\",BackwardBoomerang:\"F1 m 8,0 l -8,4 8,4 -4,-4 4,-4 z\",SidewaysV:\"m 0,0 l 8,4 -8,4 0,-1 6,-3 -6,-3 0,-1 z\",BackwardV:\"m 8,0 l -8,4 8,4 0,-1 -6,-3 6,-3 0,-1 z\",OpenTriangle:\"m 0,0 l 8,4 -8,4\",BackwardOpenTriangle:\"m 8,0 l -8,4 8,4\",OpenTriangleLine:\"m 0,0 l 8,4 -8,4 m 8.5,0 l 0,-8\",\nBackwardOpenTriangleLine:\"m 8,0 l  -8,4 8,4 m -8.5,0 l 0,-8\",OpenTriangleTop:\"m 0,0 l 8,4 m 0,4\",BackwardOpenTriangleTop:\"m 8,0 l -8,4 m 0,4\",OpenTriangleBottom:\"m 0,8 l 8,-4\",BackwardOpenTriangleBottom:\"m 0,4 l 8,4\",HalfTriangleTop:\"F1 m 0,0 l 0,4 8,0 z m 0,8\",BackwardHalfTriangleTop:\"F1 m 8,0 l 0,4 -8,0 z m 0,8\",HalfTriangleBottom:\"F1 m 0,4 l 0,4 8,-4 z\",BackwardHalfTriangleBottom:\"F1 m 8,4 l 0,4 -8,-4 z\",ForwardSemiCircle:\"m 4,0 b 270 180 0 4 4\",BackwardSemiCircle:\"m 4,8 b 90 180 0 -4 4\",Feather:\"m 0,0 l 3,4 -3,4\",\nBackwardFeather:\"m 3,0 l -3,4 3,4\",DoubleFeathers:\"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4\",BackwardDoubleFeathers:\"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4\",TripleFeathers:\"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4 m 3,-8 l 3,4 -3,4\",BackwardTripleFeathers:\"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4 m 3,-8 l -3,4 3,4\",ForwardSlash:\"m 0,8 l 5,-8\",BackSlash:\"m 0,0 l 5,8\",DoubleForwardSlash:\"m 0,8 l 4,-8 m -2,8 l 4,-8\",DoubleBackSlash:\"m 0,0 l 4,8 m -2,-8 l 4,8\",TripleForwardSlash:\"m 0,8 l 4,-8 m -2,8 l 4,-8 m -2,8 l 4,-8\",\nTripleBackSlash:\"m 0,0 l 4,8 m -2,-8 l 4,8 m -2,-8 l 4,8\",Fork:\"m 0,4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4\",BackwardFork:\"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4\",LineFork:\"m 0,0 l 0,8 m 0,-4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4\",BackwardLineFork:\"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4 m 8,-8 l 0,8\",CircleFork:\"F1 m 6,4 b 0 360 -3 0 3 z m 0,0 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4\",BackwardCircleFork:\"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 6,0 b 0 360 -3 0 3\",CircleLineFork:\"F1 m 6,4 b 0 360 -3 0 3 z m 1,-4 l 0,8 m 0,-4 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4\",\nBackwardCircleLineFork:\"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 0,-4 l 0,8 m 7,-4 b 0 360 -3 0 3\",Circle:\"F1 m 8,4 b 0 360 -4 0 4 z\",Block:\"F1 m 0,0 l 0,8 8,0 0,-8 z\",StretchedDiamond:\"F1 m 0,3 l 5,-3 5,3 -5,3 -5,-3 z\",Diamond:\"F1 m 0,4 l 4,-4 4,4 -4,4 -4,-4 z\",Chevron:\"F1 m 0,0 l 5,0 3,4 -3,4 -5,0 3,-4 -3,-4 z\",StretchedChevron:\"F1 m 0,0 l 8,0 3,4 -3,4 -8,0 3,-4 -3,-4 z\",NormalArrow:\"F1 m 0,2 l 4,0 0,-2 4,4 -4,4 0,-2 -4,0 z\",X:\"m 0,0 l 8,8 m 0,-8 l -8,8\",TailedNormalArrow:\"F1 m 0,0 l 2,0 1,2 3,0 0,-2 2,4 -2,4 0,-2 -3,0 -1,2 -2,0 1,-4 -1,-4 z\",\nDoubleTriangle:\"F1 m 0,0 l 4,4 -4,4 0,-8 z  m 4,0 l 4,4 -4,4 0,-8 z\",BigEndArrow:\"F1 m 0,0 l 5,2 0,-2 3,4 -3,4 0,-2 -5,2 0,-8 z\",ConcaveTailArrow:\"F1 m 0,2 h 4 v -2 l 4,4 -4,4 v -2 h -4 l 2,-2 -2,-2 z\",RoundedTriangle:\"F1 m 0,1 a 1,1 0 0 1 1,-1 l 7,3 a 0.5,1 0 0 1 0,2 l -7,3 a 1,1 0 0 1 -1,-1 l 0,-6 z\",SimpleArrow:\"F1 m 1,2 l -1,-2 2,0 1,2 -1,2 -2,0 1,-2 5,0 0,-2 2,2 -2,2 0,-2 z\",AccelerationArrow:\"F1 m 0,0 l 0,8 0.2,0 0,-8 -0.2,0 z m 2,0 l 0,8 1,0 0,-8 -1,0 z m 3,0 l 2,0 2,4 -2,4 -2,0 0,-8 z\",BoxArrow:\"F1 m 0,0 l 4,0 0,2 2,0 0,-2 2,4 -2,4 0,-2 -2,0 0,2 -4,0 0,-8 z\",\nTriangleLine:\"F1 m 8,4 l -8,-4 0,8 8,-4 z m 0.5,4 l 0,-8\",CircleEndedArrow:\"F1 m 10,4 l -2,-3 0,2 -2,0 0,2 2,0 0,2 2,-3 z m -4,0 b 0 360 -3 0 3 z\",DynamicWidthArrow:\"F1 m 0,3 l 2,0 2,-1 2,-2 2,4 -2,4 -2,-2 -2,-1 -2,0 0,-2 z\",EquilibriumArrow:\"m 0,3 l 8,0 -3,-3 m 3,5 l -8,0 3,3\",FastForward:\"F1 m 0,0 l 3.5,4 0,-4 3.5,4 0,-4 1,0 0,8 -1,0 0,-4 -3.5,4 0,-4 -3.5,4 0,-8 z\",Kite:\"F1 m 0,4 l 2,-4 6,4 -6,4 -2,-4 z\",HalfArrowTop:\"F1 m 0,0 l 4,4 4,0 -8,-4 z m 0,8\",HalfArrowBottom:\"F1 m 0,8 l 4,-4 4,0 -8,4 z\",\nOpposingDirectionDoubleArrow:\"F1 m 0,4 l 2,-4 0,2 4,0 0,-2 2,4 -2,4 0,-2 -4,0 0,2 -2,-4 z\",PartialDoubleTriangle:\"F1 m 0,0 4,3 0,-3 4,4 -4,4 0,-3 -4,3 0,-8 z\",LineCircle:\"F1 m 0,0 l 0,8 m 7 -4 b 0 360 -3 0 3 z\",DoubleLineCircle:\"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z\",TripleLineCircle:\"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z\",CircleLine:\"F1 m 6 4 b 0 360 -3 0 3 z m 1,-4 l 0,8\",DiamondCircle:\"F1 m 8,4 l -4,4 -4,-4 4,-4 4,4 m 8,0 b 0 360 -4 0 4 z\",PlusCircle:\"F1 m 8,4 b 0 360 -4 0 4 l -8 0 z m -4 -4 l 0 8\",\nOpenRightTriangleTop:\"m 8,0 l 0,4 -8,0 m 0,4\",OpenRightTriangleBottom:\"m 8,8 l 0,-4 -8,0\",Line:\"m 0,0 l 0,8\",DoubleLine:\"m 0,0 l 0,8 m 2,0 l 0,-8\",TripleLine:\"m 0,0 l 0,8 m 2,0 l 0,-8 m 2,0 l 0,8\",PentagonArrow:\"F1 m 8,4 l -4,-4 -4,0 0,8 4,0 4,-4 z\"};\nfunction V(a,b){void 0===a||a instanceof Kl||\"string\"===typeof a?X.call(this,a):(X.call(this),a&&(b=a));this.D=2408959;this.Og=this.Jf=\"\";this.kp=this.gp=this.tp=this.ro=null;this.wp=\"\";this.Hf=this.$n=this.vp=this.fh=null;this.ip=\"\";this.hp=Ob;this.Ub=this.lp=\"\";this.ei=this.kn=this.Qh=null;this.ae=(new J(NaN,NaN)).freeze();this.xo=\"\";this.Ze=null;this.yo=sc;this.mp=Vc;this.Go=rb;this.zo=tb;this.An=null;this.so=127;this.Bp=ub;this.Ap=\"gray\";this.bg=4;this.Xw=-1;this.Wp=NaN;this.Uy=new N;this.li=\nnull;this.Sf=NaN;b&&Object.assign(this,b)}ma(V,X);\nV.prototype.cloneProtected=function(a){X.prototype.cloneProtected.call(this,a);a.D=this.D&-4097|49152;a.Jf=this.Jf;a.Og=this.Og;a.ro=this.ro;a.tp=this.tp;a.gp=this.gp;a.kp=this.kp;a.wp=this.wp;a.vp=this.vp;a.$n=this.$n;a.Hf=null;a.ip=this.ip;a.hp=this.hp.I();a.lp=this.lp;a.mp=this.mp.I();a.Ub=this.Ub;a.kn=this.kn;a.ae.assign(this.ae);a.xo=this.xo;a.yo=this.yo.I();a.Go=this.Go.I();a.zo=this.zo.I();a.An=this.An;a.so=this.so;a.Bp=this.Bp.I();a.Ap=this.Ap;a.bg=this.bg;a.Wp=this.Wp};\nV.prototype.sf=function(a){X.prototype.sf.call(this,a);a.Ch();a.fh=null;a.Ze=null;a.li=null};V.prototype.toString=function(){var a=Ja(this.constructor)+\"#\"+gb(this);null!==this.data&&(a+=\"(\"+Ka(this.data)+\")\");return a};V.prototype.Ak=function(a,b,c,d,e,f,g){var h=this.diagram;null!==h&&(a===ee&&\"elements\"===b?e instanceof X?zj(e,function(a){Bj(h.partManager,a);Aj(h,a)}):Uj(h,e):a===fe&&\"elements\"===b&&(e instanceof X?zj(e,function(a){Ej(h.partManager,a,h)}):Wj(h,e)),h.Va(a,b,c,d,e,f,g))};\nV.prototype.Da=function(a){X.prototype.Da.call(this,a);if(null!==this.data){for(var b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d];e instanceof X&&zj(e,function(a){null!==a.data&&a.Da()})}for(b=this.adornments;b.next();)b.value.Da(a)}};V.prototype.updateRelationshipsFromData=function(){var a;null!==this.data&&(null===(a=this.diagram)||void 0===a?void 0:a.partManager.updateRelationshipsFromData(this))};V.prototype.hk=function(a){var b=this.Hf;return null===b?null:b.H(a)};\nV.prototype.th=function(a,b){if(null!==b){var c=null,d=this.Hf;null!==d&&(c=d.H(a));if(c!==b){if(null!==c){var e=c.diagram;null!==e&&e.remove(c)}null===d&&(this.Hf=d=new I);b.Jf!==a&&(b.category=a);d.add(a,b);a=this.diagram;null!==a&&(a.add(b),a=b.adornedObject,null!==a&&(a=a.yh(),null!==a&&(b.data=a.data)))}}};V.prototype.Cf=function(a){var b=this.Hf;if(null!==b){var c=b.H(a);if(null!==c){var d=c.diagram;null!==d&&d.remove(c)}b.remove(a);0===b.count&&(this.Hf=null)}};\nV.prototype.$j=function(){var a=this.Hf;if(null!==a){var b=Fa();for(a=a.iterator;a.next();)b.push(a.key);a=b.length;for(var c=0;c<a;c++)this.Cf(b[c]);Ia(b)}};\nV.prototype.updateAdornments=function(){var a=this.diagram;if(null!==a){for(var b=this.adornments;b.next();){var c=b.value;c.s();c.placeholder&&c.placeholder.s()}a:{if(this.isSelected&&this.selectionAdorned&&(b=this.selectionObject,null!==b&&this.actualBounds.u()&&this.isVisible()&&b.Bf()&&b.actualBounds.u())){c=this.hk(\"Selection\");if(null===c){c=this.selectionAdornmentTemplate;null===c&&(c=this.Dh()?a.linkSelectionAdornmentTemplate:this instanceof hf?a.groupSelectionAdornmentTemplate:a.nodeSelectionAdornmentTemplate);\nif(!(c instanceof we))break a;ng(c);c=c.copy();null!==c&&(this.Dh()&&this.selectionObject===this.path&&(c.type=X.Link),c.adornedObject=b)}if(null!==c){c.type===X.Link&&c.s();this.th(\"Selection\",c);break a}}this.Cf(\"Selection\")}qo(this,a);for(b=this.adornments;b.next();)b.value.Da()}};V.prototype.Kb=function(){var a=this.diagram;null!==a&&(Qi(a),0!==(this.D&16384)!==!0&&(this.D|=16384,a.Fb()))};function $h(a){0!==(a.D&16384)!==!1&&(a.updateAdornments(),a.D&=-16385)}\nfunction qo(a,b){b.toolManager.mouseDownTools.each(function(b){b.isEnabled&&b.updateAdornments(a)});b.toolManager.updateAdornments(a)}function ro(a){if(!1===oj(a)){so(a,!0);a.ll();var b=a.diagram;null!==b&&(b.qe.add(a),b.Fb())}}function to(a){a.D|=2097152;if(!1!==oj(a)){var b=a.position,c=a.location;c.u()&&b.u()||uo(a,b,c);c=a.vb;var d=N.alloc().assign(c);c.ea();c.x=b.x;c.y=b.y;c.freeze();a.rm(d,c);N.free(d);so(a,!1)}}\nV.prototype.ue=function(a,b,c,d){var e=this.ic;e.h(a,b,c,d);null===this.Ab&&(this.Ab=new qd);var f=this.Ab;f.reset();this.zp(f,a,b,c,d);this.Ab=f;f.Os()||f.Jq(e)};\nV.prototype.zp=function(a,b,c,d,e){1!==this.sa&&a.scale(this.sa);if(0!==this.xb){var f=yc;this.locationSpot.hb()&&(f=this.locationSpot);var g=J.alloc();if(this.locationObject!==this)for(b=this.locationObject,c=b.naturalBounds,g.Vi(c.x,c.y,c.width,c.height,f),null!==b.Ab&&b.Ab.ya(g),g.offset(-b.measuredBounds.x,-b.measuredBounds.y),f=b.panel;null!==f&&f!==this;)null!==f.Ab&&f.Ab.ya(g),g.offset(-f.measuredBounds.x,-f.measuredBounds.y),f=f.panel;else g.Vi(b,c,d,e,f);a.rotate(this.xb,g.x,g.y);J.free(g)}};\nV.prototype.move=function(a,b){!0===b?this.location=a:this.position=a};V.prototype.moveTo=function(a,b,c){a=J.allocAt(a,b);this.move(a,c);J.free(a)};V.prototype.isVisible=function(){if(!this.visible)return!1;var a=this.layer;if(null!==a){if(!a.visible)return!1;a=a.diagram;if(null!==a&&a.animationManager.Ys(this))return!0}a=this.containingGroup;return null===a||a.isSubGraphExpanded&&a.isVisible()?!0:!1};\nV.prototype.Nb=function(a){var b=this.diagram;a?(this.B(4),this.Kb(),null!==b&&b.qe.add(this)):(this.B(8),this.$j());this.Ch();null!==b&&(b.Pa(),b.N())};V.prototype.Ya=function(a){if(this.name===a)return this;var b=this.li;null===b&&(this.li=b=new I);if(null!==b.H(a))return b.H(a);var c=X.prototype.Ya.call(this,a);if(null!==c)return b.set(a,c),c;b.set(a,null);return null};\nfunction vo(a,b,c,d){void 0===d&&(d=new J);c=c.wc()?yc:c;var e=b.naturalBounds;d.h(e.width*c.x+c.offsetX,e.height*c.y+c.offsetY);if(null===b||b===a)return d;b.transform.ya(d);for(b=b.panel;null!==b&&b!==a;)b.transform.ya(d),b=b.panel;null!==a.Ab&&a.Ab.ya(d);d.offset(-a.ic.x,-a.ic.y);return d}V.prototype.Mi=function(a){void 0===a&&(a=new N);return a.assign(this.actualBounds)};V.prototype.Sa=function(){!0===mj(this)&&this.measure(Infinity,Infinity);this.arrange()};\nfunction xj(a,b){var c=a.Uy;isNaN(a.Sf)&&(a.Sf=cn(a));var d=a.Sf;var e=2*d;if(!a.isShadowed)return c.h(b.x-1-d,b.y-1-d,b.width+2+e,b.height+2+e),c;d=b.x;e=b.y;var f=b.width;b=b.height;var g=a.shadowBlur;a=a.shadowOffset;f+=g;b+=g;d-=g/2;e-=g/2;0<a.x?f+=a.x:(d+=a.x,f-=a.x);0<a.y?b+=a.y:(e+=a.y,b-=a.y);c.h(d-1,e-1,f+2,b+2);return c}\nV.prototype.arrange=function(){if(!1===nj(this))to(this);else{il(this,!1);var a=this.vb,b=N.alloc();b.assign(a);var c=lg(this);this.vh(0,0,this.ic.width,this.ic.height);var d=this.position;uo(this,d,this.location);a.ea();a.x=d.x;a.y=d.y;a.freeze();this.rm(b,a);b.A(a)?this.Jd(c):!this.Jc()||L.w(b.width,a.width)&&L.w(b.height,a.height)||0<=this.Xw&&this.B(16);N.free(b);so(this,!1)}};t=V.prototype;\nt.rm=function(a,b){var c=this.diagram;if(null!==c){var d=!1;if(!1===c.vj&&a.u()){var e=N.alloc();e.assign(c.documentBounds);e.cw(c.padding);a.x>e.x&&a.y>e.y&&a.right<e.right&&a.bottom<e.bottom&&b.x>e.x&&b.y>e.y&&b.right<e.right&&b.bottom<e.bottom&&(d=!0);N.free(e)}0!==(this.D&65536)!==!0&&a.A(b)||Cj(this,d,c);c.N();!a.u()&&!b.u()||Wb(a,b)||(this instanceof W&&!c.undoManager.isUndoingRedoing&&this.pd(),this.Ch())}};\nt.Zv=function(a,b,c){if(this.Dh()||!a.u())return!1;var d=this.diagram;null!==d&&wo(this,d,a,b,c);this.ka=a;this.D&=-2097153;!this.ae.u()||null!==d&&!d.animationManager.isTicking&&d.undoManager.isUndoingRedoing||(d=this.ae,this.ae=new J(d.x+(a.x-b),d.y+(a.y-c)),this.g(\"location\",d,this.ae.copy()));!1===oj(this)&&!1===nj(this)&&(ro(this),to(this));return!0};function wo(a,b,c,d,e){null===b||a instanceof we||(b=b.animationManager,b.rb&&Ch(b,a,new J(d,e),c))}\nt.Gm=function(a,b,c){var d=this.ae,e=this.ka;if(c){if(d.x===a&&d.y===b)return;oj(this)||nj(this)?e.h(NaN,NaN):e.h(e.x+a-d.x,e.y+b-d.y);d.h(a,b)}else{if(e.x===a&&e.y===b)return;oj(this)||nj(this)?this.gt():d.h(d.x+a-e.x,d.y+b-e.y);e.h(a,b)}ro(this)};t.gt=function(){this.D&=-2097153;ro(this)};\nfunction uo(a,b,c){var d=J.alloc(),e=a.locationObject,f=e.naturalBounds,g=e instanceof uf?e.strokeWidth:0;d.Vi(0,0,f.width+g,f.height+g,a.locationSpot);if(e!==a)for(d.offset(-g/2,-g/2),e.transform.ya(d),e=e.panel;null!==e&&e!==a;)e.transform.ya(d),e=e.panel;null!==a.Ab&&a.Ab.ya(d);d.offset(-a.ic.x,-a.ic.y);e=a.diagram;f=c.u();g=b.u();f&&g?0!==(a.D&2097152)?xo(a,b,c,e,d):yo(a,b,c,e,d):f?xo(a,b,c,e,d):g&&yo(a,b,c,e,d);a.D|=2097152;J.free(d);a.ll()}\nfunction xo(a,b,c,d,e){var f=b.x,g=b.y;b.h(c.x-e.x,c.y-e.y);null!==d&&(c=d.animationManager,(d=c.defaultAnimation.isAnimating)||!c.rb||a instanceof we||Ch(c,a,new J(f,g),b),d||b.x===f&&b.y===g||a.g(\"position\",new J(f,g),b.copy()))}function yo(a,b,c,d,e){var f=c.copy();c.h(b.x+e.x,b.y+e.y);c.A(f)||null===d||a.g(\"location\",f,c.copy())}\nfunction Cj(a,b,c){kl(a,!1);a instanceof W&&vk(c,a);a.layer.isTemporary||b||c.Pa();b=a.vb;var d=c.viewportBounds;d.u()?lg(a)?(Zb(b,d)||a.Jd(!1),a.updateAdornments()):b.Ic(d)?(a.Jd(!0),a.updateAdornments()):a.Kb():c.xj=!0}t.Si=function(){return!0};t.Jc=function(){return!0};t.Dh=function(){return!1};t.Ri=function(){return!0};\nfunction zo(a,b,c,d){b.constructor===a.constructor||Ao||(Ao=!0,ya('Should not change the class of the Part when changing category from \"'+c+'\" to \"'+d+'\"'),ya(\"  Old class: \"+Ja(a.constructor)+\", new class: \"+Ja(b.constructor)+\", part: \"+a.toString()));a.$j();var e=a.data;c=a.layerName;var f=a.isSelected,g=a.isHighlighted,h=!0,k=!0,l=!1;a instanceof W&&(h=a.isTreeLeaf,k=a.isTreeExpanded,l=a.wasTreeExpanded);b.sf(a);b.cloneProtected(a);a.Jf=d;a.s();a.N();b=a.diagram;d=!0;null!==b&&(d=b.skipsUndoManager,\nb.skipsUndoManager=!0);a.ib=e;a.D=f?a.D|4096:a.D&-4097;a.D=g?a.D|524288:a.D&-524289;a instanceof W&&(a.R=h?a.R|4:a.R&-5,a.R=k?a.R|1:a.R&-2,a.R=l?a.R|2:a.R&-3);null!==e&&a.Da();e=a.layerName;e!==c&&(a.Og=c,a.layerName=e);null!==b&&(b.skipsUndoManager=d);a.Jc()&&a.B(64)}V.prototype.canCopy=function(){if(!this.copyable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowCopy)return!1;a=a.diagram;return null===a?!0:a.allowCopy?!0:!1};\nV.prototype.canDelete=function(){if(!this.deletable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowDelete)return!1;a=a.diagram;return null===a?!0:a.allowDelete?!0:!1};V.prototype.canEdit=function(){if(!this.textEditable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowTextEdit)return!1;a=a.diagram;return null===a?!0:a.allowTextEdit?!0:!1};\nV.prototype.canGroup=function(){if(!this.groupable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowGroup)return!1;a=a.diagram;return null===a?!0:a.allowGroup?!0:!1};V.prototype.canMove=function(){if(!this.movable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowMove)return!1;a=a.diagram;return null===a?!0:a.allowMove?!0:!1};\nV.prototype.canReshape=function(){if(!this.reshapable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowReshape)return!1;a=a.diagram;return null===a?!0:a.allowReshape?!0:!1};V.prototype.canResize=function(){if(!this.resizable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowResize)return!1;a=a.diagram;return null===a?!0:a.allowResize?!0:!1};\nV.prototype.canRotate=function(){if(!this.rotatable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowRotate)return!1;a=a.diagram;return null===a?!0:a.allowRotate?!0:!1};V.prototype.canSelect=function(){if(!this.selectable)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowSelect)return!1;a=a.diagram;return null===a?!0:a.allowSelect?!0:!1};function oj(a){return 0!==(a.D&32768)}function so(a,b){a.D=b?a.D|32768:a.D&-32769}function kl(a,b){a.D=b?a.D|65536:a.D&-65537}\nfunction lg(a){return 0!==(a.D&131072)}t=V.prototype;t.Jd=function(a){this.D=a?this.D|131072:this.D&-131073};function Bo(a,b){a.D=b?a.D|1048576:a.D&-1048577}t.Ch=function(){var a=this.containingGroup;null!==a&&(a.s(),null!==a.placeholder&&a.placeholder.s(),a.pd())};t.N=function(){var a=this.diagram;null!==a&&!nj(this)&&!oj(this)&&this.isVisible()&&this.vb.u()&&a.N(xj(this,this.vb))};\nt.s=function(){X.prototype.s.call(this);var a=this.diagram;null!==a&&(a.qe.add(this),this instanceof W&&null!==this.labeledLink&&zl(this.labeledLink),a.Fb(!0))};t.pq=function(a){a||(a=this.Qh,null!==a&&Co(a,this))};t.qq=function(a){a||(a=this.Qh,null!==a&&Do(a,this))};t.fk=function(){var a=this.data;if(null!==a){var b=this.diagram;null!==b&&(b=b.model,null!==b&&b.wm(a))}};t.Uz=function(){return Eo(this,this)};\nfunction Eo(a,b){var c=b.containingGroup;return null!==c?1+Eo(a,c):b instanceof W&&(b=b.labeledLink,null!==b)?Eo(a,b):0}t.Yz=function(){return Fo(this,this)};function Fo(a,b){var c=b.containingGroup;return null!==c||b instanceof W&&(c=b.labeledLink,null!==c)?Fo(a,c):b}t.Fd=function(a){return a instanceof hf?Go(this,this,a):!1};function Go(a,b,c){if(b===c||null===c)return!1;var d=b.containingGroup;return null===d||d!==c&&!Go(a,d,c)?b instanceof W&&(b=b.labeledLink,null!==b)?Go(a,b,c):!1:!0}\nt.Rx=function(a){if(null===a)return null;if(this===a)return this.containingGroup;for(var b=this;null!==b;){b instanceof hf&&Bo(b,!0);if(b instanceof W){var c=b.labeledLink;null!==c&&(b=c)}b=b.containingGroup}c=null;for(b=a;null!==b;){if(0!==(b.D&1048576)){c=b;break}b instanceof W&&(a=b.labeledLink,null!==a&&(b=a));b=b.containingGroup}for(b=this;null!==b;)b instanceof hf&&Bo(b,!1),b instanceof W&&(a=b.labeledLink,null!==a&&(b=a)),b=b.containingGroup;return c};\nV.prototype.canLayout=function(){if(!this.isLayoutPositioned||!this.isVisible())return!1;var a=this.layer;return null!==a&&a.isTemporary||this instanceof W&&this.isLinkLabel?!1:!0};\nV.prototype.B=function(a){void 0===a&&(a=16777215);if(this.isLayoutPositioned&&0!==(a&this.layoutConditions)){var b=this.layer;null!==b&&b.isTemporary||this instanceof W&&this.isLinkLabel?b=!1:(b=this.diagram,b=null!==b&&b.undoManager.isUndoingRedoing?!1:!0)}else b=!1;if(b)if(b=this.Qh,null!==b){var c=b.layout;null!==c?c.B():b.B(a)}else a=this.diagram,null!==a&&(a=a.layout,null!==a&&a.B())};function Dj(a){if(!a.isVisible())return!1;a=a.layer;return null!==a&&a.isTemporary?!1:!0}\nfunction Rk(a,b,c,d,e,f){void 0===f&&(f=null);if(!(a.contains(b)||null!==f&&!f(b)||b instanceof we))if(a.add(b),b instanceof W){if(c&&b instanceof hf)for(var g=b.memberParts;g.next();)Rk(a,g.value,c,d,e,f);if(!1!==e)for(g=b.linksConnected;g.next();){var h=g.value;if(!a.contains(h)){var k=h.fromNode,l=h.toNode;k=null===k||a.contains(k);l=null===l||a.contains(l);(e?k&&l:k||l)&&Rk(a,h,c,d,e,f)}}if(1<d)for(b=b.tv();b.next();)Rk(a,b.value,c,d-1,e,f)}else if(b instanceof U)for(b=b.labelNodes;b.next();)Rk(a,\nb.value,c,d,e,f)}\nna.Object.defineProperties(V.prototype,{key:{get:function(){var a=this.diagram;if(null!==a)return a.model.pa(this.data)}},adornments:{get:function(){return null===this.Hf?Za:this.Hf.iteratorValues}},layer:{get:function(){return this.ei}},diagram:{get:function(){var a=this.ei;return null===a||void 0===a?null:a.diagram}},layerName:{get:function(){return this.Og},set:function(a){var b=\nthis.Og;if(b!==a){var c=this.diagram;if(null===c||null!==c.ik(a)&&!c.partManager.addsToTemporaryLayer)if(this.Og=a,null!==c&&c.Pa(),this.g(\"layerName\",b,a),b=this.layer,null!==b&&b.name!==a&&(c=b.diagram,null!==c&&(a=c.ik(a),null!==a&&a!==b))){var d=b.bc(-1,this,!0);0<=d&&c.Va(fe,\"parts\",b,this,null,d,!0);d=a.Oi(99999999,this,!0);b.visible!==a.visible&&this.Nb(a.visible);0<=d&&c.Va(ee,\"parts\",a,null,this,!0,d);d=this.layerChanged;if(null!==d){var e=c.Z;c.Z=!0;d(this,b,a);c.Z=e}}}}},layerChanged:{\nget:function(){return this.ro},set:function(a){var b=this.ro;b!==a&&(this.ro=a,this.g(\"layerChanged\",b,a))}},zOrder:{get:function(){return this.Wp},set:function(a){var b=this.Wp;if(b!==a){this.Wp=a;var c=this.layer;null!==c&&ci(c,-1,this);this.g(\"zOrder\",b,a);a=this.diagram;null!==a&&a.N()}}},locationObject:{get:function(){if(null===this.Ze){var a=this.locationObjectName;\"\"!==a?(a=this.Ya(a),null!==a?this.Ze=a:this.Ze=this):\nthis instanceof we?this.type!==X.Link&&null!==this.placeholder?this.Ze=this.placeholder:this.Ze=this:this.Ze=this}return this.Ze.visible?this.Ze:this}},minLocation:{get:function(){return this.Go},set:function(a){var b=this.Go;b.A(a)||(this.Go=a=a.I(),this.g(\"minLocation\",b,a))}},maxLocation:{get:function(){return this.zo},set:function(a){var b=this.zo;b.A(a)||(this.zo=a=a.I(),this.g(\"maxLocation\",b,a))}},locationObjectName:{\nget:function(){return this.xo},set:function(a){var b=this.xo;b!==a&&(this.xo=a,this.Ze=null,this.s(),this.g(\"locationObjectName\",b,a))}},locationSpot:{get:function(){return this.yo},set:function(a){var b=this.yo;b.A(a)||(this.yo=a=a.I(),this.s(),this.g(\"locationSpot\",b,a))}},location:{get:function(){return this.ae},set:function(a){var b=a.x,c=a.y,d=this.ae;if(!(d.x===b||isNaN(d.x)&&isNaN(b))||!(d.y===c||isNaN(d.y)&&isNaN(c))){a=\na.copy();b=a;if(this.Dh())b=!1;else{this.ae=b;this.D|=2097152;if(!1===nj(this)&&(ro(this),c=this.ka,c.u())){var e=this.diagram;if(null===e||e.animationManager.isTicking||!e.undoManager.isUndoingRedoing){var f=c.copy();c.h(c.x+(b.x-d.x),c.y+(b.y-d.y));wo(this,e,c,f.x,f.y);this.g(\"position\",f,c.copy())}}b=!0}b&&this.g(\"location\",d,a.copy())}}},category:{get:function(){return this.Jf},set:function(a){var b=this.Jf;if(b!==a){var c=this.diagram,d=this.data,e=null;if(null!==\nc&&null!==d&&!(this instanceof we)){var f=c.model.undoManager;f.isEnabled&&!f.isUndoingRedoing&&(e=this.clone(),e.T.addAll(this.T))}this.Jf=a;this.g(\"category\",b,a);null===c||null===d||this instanceof we?this instanceof we&&(e=this.adornedPart,null!==e&&(a=e.Hf,null!==a&&a.remove(b),e.th(this.category,this))):(f=c.model,f.undoManager.isUndoingRedoing||(this.Dh()?(c.partManager.setLinkCategoryForData(d,a),c=c.partManager.findLinkTemplateForCategory(a),null!==c&&(ng(c),c=c.copy(),null!==c&&zo(this,\nc,b,a))):(null!==f&&f.Dm(d,a),c=Ho(c.partManager,d,a),null!==c&&(ng(c),c=c.copy(),null===c||c instanceof U||(d=this.location.copy(),zo(this,c,b,a),this.location.u()||(this.location=d)))),null!==e&&(b=this.clone(),b.T.addAll(this.T),this.g(\"self\",e,b))))}}},self:{get:function(){return this},set:function(a){zo(this,a,this.category,a.category)}},copyable:{get:function(){return 0!==(this.D&1)},set:function(a){var b=0!==(this.D&1);b!==a&&(this.D^=\n1,this.g(\"copyable\",b,a))}},deletable:{get:function(){return 0!==(this.D&2)},set:function(a){var b=0!==(this.D&2);b!==a&&(this.D^=2,this.g(\"deletable\",b,a))}},textEditable:{get:function(){return 0!==(this.D&4)},set:function(a){var b=0!==(this.D&4);b!==a&&(this.D^=4,this.g(\"textEditable\",b,a),this.Kb())}},groupable:{get:function(){return 0!==(this.D&8)},set:function(a){var b=0!==(this.D&8);b!==a&&(this.D^=8,this.g(\"groupable\",\nb,a))}},movable:{get:function(){return 0!==(this.D&16)},set:function(a){var b=0!==(this.D&16);b!==a&&(this.D^=16,this.g(\"movable\",b,a))}},selectionAdorned:{get:function(){return 0!==(this.D&32)},set:function(a){var b=0!==(this.D&32);b!==a&&(this.D^=32,this.g(\"selectionAdorned\",b,a),this.Kb())}},isInDocumentBounds:{get:function(){return 0!==(this.D&64)},set:function(a){var b=0!==(this.D&64);if(b!==a){this.D^=\n64;var c=this.diagram;null!==c&&c.Pa();this.g(\"isInDocumentBounds\",b,a)}}},isLayoutPositioned:{get:function(){return 0!==(this.D&128)},set:function(a){var b=0!==(this.D&128);b!==a&&(this.D^=128,this.g(\"isLayoutPositioned\",b,a),this.B(a?4:8))}},selectable:{get:function(){return 0!==(this.D&256)},set:function(a){var b=0!==(this.D&256);b!==a&&(this.D^=256,this.g(\"selectable\",b,a),this.Kb())}},reshapable:{get:function(){return 0!==\n(this.D&512)},set:function(a){var b=0!==(this.D&512);b!==a&&(this.D^=512,this.g(\"reshapable\",b,a),this.Kb())}},resizable:{get:function(){return 0!==(this.D&1024)},set:function(a){var b=0!==(this.D&1024);b!==a&&(this.D^=1024,this.g(\"resizable\",b,a),this.Kb())}},rotatable:{get:function(){return 0!==(this.D&2048)},set:function(a){var b=0!==(this.D&2048);b!==a&&(this.D^=2048,this.g(\"rotatable\",b,a),this.Kb())}},isSelected:{\nget:function(){return 0!==(this.D&4096)},set:function(a){var b=0!==(this.D&4096);if(b!==a){var c=this.diagram;if(!a||this.canSelect()&&!(null!==c&&c.selection.count>=c.maxSelectionCount)){this.D^=4096;var d=!1;if(null!==c){d=c.skipsUndoManager;c.skipsUndoManager=!0;var e=c.selection;e.ea();a?e.add(this):e.remove(this);e.freeze()}this.g(\"isSelected\",b,a);this.Kb();a=this.selectionChanged;null!==a&&a(this);null!==c&&(c.Fb(),c.skipsUndoManager=d)}}}},isHighlighted:{get:function(){return 0!==\n(this.D&524288)},set:function(a){var b=0!==(this.D&524288);if(b!==a){this.D^=524288;var c=this.diagram;null!==c&&(c=c.highlighteds,c.ea(),a?c.add(this):c.remove(this),c.freeze());this.g(\"isHighlighted\",b,a);this.N();a=this.highlightedChanged;null!==a&&a(this)}}},isShadowed:{get:function(){return 0!==(this.D&8192)},set:function(a){var b=0!==(this.D&8192);b!==a&&(this.D^=8192,this.g(\"isShadowed\",b,a),this.N())}},isAnimated:{get:function(){return 0!==\n(this.D&262144)},set:function(a){var b=0!==(this.D&262144);b!==a&&(this.D^=262144,this.g(\"isAnimated\",b,a))}},highlightedChanged:{get:function(){return this.$n},set:function(a){var b=this.$n;b!==a&&(this.$n=a,this.g(\"highlightedChanged\",b,a))}},selectionObjectName:{get:function(){return this.wp},set:function(a){var b=this.wp;b!==a&&(this.wp=a,this.fh=null,this.g(\"selectionObjectName\",b,a))}},selectionAdornmentTemplate:{\nget:function(){return this.tp},set:function(a){var b=this.tp;b!==a&&(this.tp=a,this.g(\"selectionAdornmentTemplate\",b,a))}},selectionObject:{get:function(){if(null===this.fh){var a=this.selectionObjectName;null!==a&&\"\"!==a?(a=this.Ya(a),null!==a?this.fh=a:this.fh=this):this instanceof U?(a=this.path,null!==a?this.fh=a:this.fh=this):this.fh=this}return this.fh}},selectionChanged:{get:function(){return this.vp},set:function(a){var b=this.vp;\nb!==a&&(this.vp=a,this.g(\"selectionChanged\",b,a))}},resizeAdornmentTemplate:{get:function(){return this.gp},set:function(a){var b=this.gp;b!==a&&(this.gp=a,this.g(\"resizeAdornmentTemplate\",b,a))}},resizeObjectName:{get:function(){return this.ip},set:function(a){var b=this.ip;b!==a&&(this.ip=a,this.g(\"resizeObjectName\",b,a))}},resizeObject:{get:function(){var a=this.resizeObjectName;return\"\"!==a&&(a=this.Ya(a),\nnull!==a)?a:this}},resizeCellSize:{get:function(){return this.hp},set:function(a){var b=this.hp;b.A(a)||(this.hp=a=a.I(),this.g(\"resizeCellSize\",b,a))}},rotateAdornmentTemplate:{get:function(){return this.kp},set:function(a){var b=this.kp;b!==a&&(this.kp=a,this.g(\"rotateAdornmentTemplate\",b,a))}},rotateObjectName:{get:function(){return this.lp},set:function(a){var b=this.lp;b!==a&&(this.lp=a,this.g(\"rotateObjectName\",\nb,a))}},rotateObject:{get:function(){var a=this.rotateObjectName;return\"\"!==a&&(a=this.Ya(a),null!==a)?a:this}},rotationSpot:{get:function(){return this.mp},set:function(a){var b=this.mp;b.A(a)||(this.mp=a=a.I(),this.g(\"rotationSpot\",b,a))}},text:{get:function(){return this.Ub},set:function(a){var b=this.Ub;b!==a&&(this.Ub=a,this.g(\"text\",b,a))}},containingGroup:{get:function(){return this.Qh},\nset:function(a){if(this.Jc()){var b=this.Qh;if(b!==a){null===a||this!==a&&!a.Fd(this)||(this===a&&C(\"Cannot make a Group a member of itself: \"+this.toString()),C(\"Cannot make a Group indirectly contain itself: \"+this.toString()+\" already contains \"+a.toString()));this.B(2);var c=this.diagram;null!==b?Do(b,this):this instanceof hf&&null!==c&&c.xi.remove(this);this.Qh=a;null!==a?Co(a,this):this instanceof hf&&null!==c&&c.xi.add(this);this.B(1);if(null!==c&&c.Z){var d=this.data,e=c.model;if(null!==d&&\ne.pk()){var f=e.pa(null!==a?a.data:null);e.Gq(d,f)}}d=this.containingGroupChanged;null!==d&&(e=!0,null!==c&&(e=c.Z,c.Z=!0),d(this,b,a),null!==c&&(c.Z=e));if(this instanceof hf)for(c=new G,Rk(c,this,!0,0,!0),c=c.iterator;c.next();)if(d=c.value,d instanceof W)for(d=d.linksConnected;d.next();)Io(d.value);if(this instanceof W){for(c=this.linksConnected;c.next();)Io(c.value);c=this.labeledLink;null!==c&&Io(c)}this.g(\"containingGroup\",b,a);null!==a&&(b=a.layer,null!==b&&ci(b,-1,a))}}else C(\"cannot set the Part.containingGroup of a Link or Adornment\")}},\ncontainingGroupChanged:{get:function(){return this.kn},set:function(a){var b=this.kn;b!==a&&(this.kn=a,this.g(\"containingGroupChanged\",b,a))}},isTopLevel:{get:function(){return null!==this.containingGroup||this instanceof W&&null!==this.labeledLink?!1:!0}},layoutConditions:{get:function(){return this.so},set:function(a){var b=this.so;b!==a&&(this.so=a,this.g(\"layoutConditions\",b,a))}},dragComputation:{\nget:function(){return this.An},set:function(a){var b=this.An;b!==a&&(this.An=a,this.g(\"dragComputation\",b,a))}},shadowOffset:{get:function(){return this.Bp},set:function(a){var b=this.Bp;b.A(a)||(this.Bp=a=a.I(),this.N(),this.g(\"shadowOffset\",b,a))}},shadowColor:{get:function(){return this.Ap},set:function(a){var b=this.Ap;b!==a&&(this.Ap=a,this.N(),this.g(\"shadowColor\",b,a))}},shadowBlur:{get:function(){return this.bg},\nset:function(a){var b=this.bg;b!==a&&(this.bg=a,this.N(),this.g(\"shadowBlur\",b,a))}}});V.prototype.invalidateLayout=V.prototype.B;V.prototype.findCommonContainingGroup=V.prototype.Rx;V.prototype.isMemberOf=V.prototype.Fd;V.prototype.findTopLevelPart=V.prototype.Yz;V.prototype.findSubGraphLevel=V.prototype.Uz;V.prototype.ensureBounds=V.prototype.Sa;V.prototype.getDocumentBounds=V.prototype.Mi;V.prototype.findObject=V.prototype.Ya;V.prototype.moveTo=V.prototype.moveTo;\nV.prototype.invalidateAdornments=V.prototype.Kb;V.prototype.clearAdornments=V.prototype.$j;V.prototype.removeAdornment=V.prototype.Cf;V.prototype.addAdornment=V.prototype.th;V.prototype.findAdornment=V.prototype.hk;V.prototype.updateTargetBindings=V.prototype.Da;var Ao=!1;V.className=\"Part\";V.LayoutNone=0;V.LayoutAdded=1;V.LayoutRemoved=2;V.LayoutShown=4;V.LayoutHidden=8;V.LayoutNodeSized=16;V.LayoutGroupLayout=32;V.LayoutNodeReplaced=64;V.LayoutStandard=127;V.LayoutAll=16777215;\nfunction we(a,b){void 0===a||a instanceof Kl||\"string\"===typeof a?V.call(this,a):(V.call(this),a&&(b=a));this.D&=-257;this.Og=\"Adornment\";this.ie=null;this.ax=0;this.xx=!1;this.j=this.Ra=null;b&&Object.assign(this,b)}ma(we,V);we.prototype.toString=function(){var a=this.adornedPart;return\"Adornment(\"+this.category+\")\"+(null!==a?a.toString():\"\")};we.prototype.updateRelationshipsFromData=function(){};\nwe.prototype.sk=function(a){var b=this.adornedObject,c=null===b||void 0===b?void 0:b.part;if(c instanceof U&&b instanceof uf){b=c.path;c.sk(a);a=b.geometry;c=this.T.m;b=c.length;for(var d=0;d<b;d++){var e=c[d];e.isPanelMain&&e instanceof uf&&(e.ma=a)}}};we.prototype.Si=function(){var a=this.ie;if(null===a)return!0;a=a.part;return null===a||!nj(a)};we.prototype.Jc=function(){return!1};\nwe.prototype.Ak=function(a,b,c,d,e,f,g){if(a===ee&&\"elements\"===b)if(e instanceof mg)null===this.Ra&&(this.Ra=e);else{if(e instanceof X){var h=e.hm(function(a){return a instanceof mg});h instanceof mg&&null===this.Ra&&(this.Ra=h)}}else a===fe&&\"elements\"===b&&null!==this.Ra&&(d===this.Ra?this.Ra=null:d instanceof X&&this.Ra.mg(d)&&(this.Ra=null));V.prototype.Ak.call(this,a,b,c,d,e,f,g)};we.prototype.updateAdornments=function(){};we.prototype.fk=function(){};\nna.Object.defineProperties(we.prototype,{placeholder:{get:function(){return this.Ra}},adornedObject:{get:function(){return this.ie},set:function(a){var b=this.adornedPart,c=null;null!==a&&(c=a.part);null===b||null!==a&&b===c||b.Cf(this.category);this.ie=a;null!==c&&c.th(this.category,this)}},adornedPart:{get:function(){var a=this.ie;return null!==a?a.part:null}},containingGroup:{\nget:function(){return null}}});we.className=\"Adornment\";function W(a,b){void 0===a||a instanceof Kl||\"string\"===typeof a?V.call(this,a):(V.call(this),a&&(b=a));this.R=13;this.ab=new E;this.Pp=this.ql=this.ii=this.uo=this.to=null;this.Kk=qc;this.kc=this.Pe=null;this.cp=Jo;this.rh=!1;b&&Object.assign(this,b)}ma(W,V);W.prototype.cloneProtected=function(a){V.prototype.cloneProtected.call(this,a);a.R=this.R;a.R=this.R&-17;a.to=this.to;a.uo=this.uo;a.ii=this.ii;a.Pp=this.Pp;a.Kk=this.Kk.I();a.cp=this.cp};\nt=W.prototype;t.sf=function(a){V.prototype.sf.call(this,a);a.pd();a.Pe=this.Pe;a.kc=null};function Ko(a,b){null!==b&&(null===a.Pe&&(a.Pe=new G),a.Pe.add(b))}function Lo(a,b,c,d){if(null===b||null===a.Pe)return null;for(var e=a.Pe.iterator;e.next();){var f=e.value;if(f.Ws===a&&f.Iv===b&&f.uy===c&&f.vy===d||f.Ws===b&&f.Iv===a&&f.uy===d&&f.vy===c)return f}return null}t.qA=function(a,b,c){if(void 0===b||null===b)b=\"\";if(void 0===c||null===c)c=\"\";a=Lo(this,a,b,c);null!==a&&a.mm()};\nt.Ak=function(a,b,c,d,e,f,g){a===ee&&\"elements\"===b?this.kc=null:a===fe&&\"elements\"===b&&(this.kc=null);V.prototype.Ak.call(this,a,b,c,d,e,f,g)};t.pd=function(a){for(var b=this.linksConnected;b.next();){var c=b.value;void 0!==a&&a.contains(c)||(Mo(c.fromPort),Mo(c.toPort),c.Ua())}};function ll(a,b){for(a=a.linksConnected;a.next();){var c=a.value;if(c.fromPort===b||c.toPort===b)Mo(c.fromPort),Mo(c.toPort),c.Ua()}}\nfunction Mo(a){if(null!==a){var b=a.bp;null!==b&&b.mm();a=a.part;b=a.containingGroup;null===b||a.isVisible()||Mo(b.port)}}t.Si=function(){return!0};W.prototype.getAvoidableRect=function(a){a.set(this.actualBounds);a.Xp(this.Kk);return a};W.prototype.findVisibleNode=function(){for(var a=this;null!==a&&!a.isVisible();)a=a.containingGroup;return a};\nW.prototype.isVisible=function(){if(!V.prototype.isVisible.call(this))return!1;var a=!0,b=qi,c=this.diagram;if(null!==c){if(c.animationManager.Ys(this))return!0;a=c.isTreePathToChildren;b=c.treeCollapsePolicy}if(b===qi){if(a=this.lg(),null!==a&&!a.isTreeExpanded)return!1}else if(b===Ck){if(a=a?this.qv():this.rv(),0<a.count&&a.all(function(a){return!a.isTreeExpanded}))return!1}else if(b===Dk&&(a=a?this.qv():this.rv(),0<a.count&&a.any(function(a){return!a.isTreeExpanded})))return!1;a=this.labeledLink;\nreturn null!==a?a.isVisible():!0};W.prototype.Nb=function(a){V.prototype.Nb.call(this,a);for(var b=this.linksConnected;b.next();){var c=b.value;if(a&&null!==this.containingGroup){var d=c.nq(this);null===d||d.Fd(this.containingGroup)||c.Ua()}c.Nb(a)}};W.prototype.Sx=function(){var a=new G,b=new G;No(this,this,a,b);return b.iterator};\nfunction No(a,b,c,d){if(null!==b&&!c.has(b)){c.add(b);var e=!0,f=a.diagram;null!==f&&(e=f.isTreePathToChildren);b.linksConnected.each(function(f){f.isTreeLink?(e?f.fromNode===b:f.toNode===b)&&No(a,e?f.toNode:f.fromNode,c,d):d.add(f)})}}W.prototype.findLinksConnected=function(a){void 0===a&&(a=null);if(null===a)return this.ab.iterator;var b=new ab(this.ab),c=this;b.predicate=function(b){return b.fromNode===c&&b.fromPortId===a||b.toNode===c&&b.toPortId===a};return b};t=W.prototype;\nt.iq=function(a){void 0===a&&(a=null);var b=new ab(this.ab),c=this;b.predicate=function(b){return b.fromNode!==c?!1:null===a?!0:b.fromPortId===a};return b};t.Dd=function(a){void 0===a&&(a=null);var b=new ab(this.ab),c=this;b.predicate=function(b){return b.toNode!==c?!1:null===a?!0:b.toPortId===a};return b};\nt.pv=function(a){void 0===a&&(a=null);for(var b=null,c=null,d=this.ab.iterator;d.next();){var e=d.value;if(e.fromNode===this){if(null===a||e.fromPortId===a)e=e.toNode,null!==b?b.add(e):null!==c&&c!==e?(b=new G,b.add(c),b.add(e)):c=e}else e.toNode!==this||null!==a&&e.toPortId!==a||(e=e.fromNode,null!==b?b.add(e):null!==c&&c!==e?(b=new G,b.add(c),b.add(e)):c=e)}return null!==b?b.iterator:null!==c?new $a(c):Za};\nt.rv=function(a){void 0===a&&(a=null);for(var b=null,c=null,d=this.ab.iterator;d.next();){var e=d.value;e.fromNode!==this||null!==a&&e.fromPortId!==a||(e=e.toNode,null!==b?b.add(e):null!==c&&c!==e?(b=new G,b.add(c),b.add(e)):c=e)}return null!==b?b.iterator:null!==c?new $a(c):Za};\nt.qv=function(a){void 0===a&&(a=null);for(var b=null,c=null,d=this.ab.iterator;d.next();){var e=d.value;e.toNode!==this||null!==a&&e.toPortId!==a||(e=e.fromNode,null!==b?b.add(e):null!==c&&c!==e?(b=new G,b.add(c),b.add(e)):c=e)}return null!==b?b.iterator:null!==c?new $a(c):Za};\nt.Pz=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);var d=new ab(this.ab),e=this;d.predicate=function(d){return(d.fromNode!==e||d.toNode!==a||null!==b&&d.fromPortId!==b||null!==c&&d.toPortId!==c)&&(d.fromNode!==a||d.toNode!==e||null!==c&&d.fromPortId!==c||null!==b&&d.toPortId!==b)?!1:!0};return d};\nt.Qz=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);var d=new ab(this.ab),e=this;d.predicate=function(d){return d.fromNode!==e||d.toNode!==a||null!==b&&d.fromPortId!==b||null!==c&&d.toPortId!==c?!1:!0};return d};\nfunction Oo(a,b,c){Mo(c);var d=a.ab.contains(b);d||a.ab.add(b);if(!d||b.fromNode===b.toNode){var e=a.linkConnected;if(null!==e){var f=!0,g=a.diagram;null!==g&&(f=g.Z,g.Z=!0);e(a,b,c);null!==g&&(g.Z=f)}}!d&&b.isTreeLink&&(c=b.fromNode,b=b.toNode,null!==c&&null!==b&&c!==b&&(d=!0,a=a.diagram,null!==a&&(d=a.isTreePathToChildren),e=d?b:c,f=d?c:b,e.rh||(e.rh=f),!f.isTreeLeaf||null!==a&&a.undoManager.isUndoingRedoing||(d?c===f&&(f.isTreeLeaf=!1):b===f&&(f.isTreeLeaf=!1))))}\nfunction Po(a,b,c){Mo(c);var d=a.ab.remove(b),e=null;if(d||b.toNode===b.fromNode){var f=a.linkDisconnected;e=a.diagram;if(null!==f){var g=!0;null!==e&&(g=e.Z,e.Z=!0);f(a,b,c);null!==e&&(e.Z=g)}}d&&b.isTreeLink&&(c=!0,null!==e&&(c=e.isTreePathToChildren),a=c?b.toNode:b.fromNode,b=c?b.fromNode:b.toNode,null!==a&&(a.rh=!1),null===b||b.isTreeLeaf||(0===b.ab.count?(b.rh=null,null!==e&&e.undoManager.isUndoingRedoing||(b.isTreeLeaf=!0)):Bk(b)))}\nfunction Bk(a){a.rh=!1;if(0!==a.ab.count){var b=!0,c=a.diagram;if(null===c||!c.undoManager.isUndoingRedoing){null!==c&&(b=c.isTreePathToChildren);for(c=a.ab.iterator;c.next();){var d=c.value;if(d.isTreeLink)if(b){if(d.fromNode===a){a.isTreeLeaf=!1;return}}else if(d.toNode===a){a.isTreeLeaf=!1;return}}a.isTreeLeaf=!0}}}W.prototype.updateRelationshipsFromData=function(){var a=this.diagram;null!==a&&a.partManager.updateRelationshipsFromData(this)};t=W.prototype;\nt.pq=function(a){V.prototype.pq.call(this,a);a||(Bk(this),a=this.ql,null!==a&&Qo(a,this))};t.qq=function(a){V.prototype.qq.call(this,a);a||(a=this.ql,null!==a&&null!==a.ld&&(a.ld.remove(this),a.s()))};\nt.fk=function(){if(0<this.ab.count){var a=this.diagram;if(null!==a)for(var b=null!==a.commandHandler?a.commandHandler.deletesConnectedLinks:!0,c=this.ab.copy().iterator;c.next();){var d=c.value;b?a.remove(d):(d.fromNode===this&&(d.fromNode=null),d.toNode===this&&(d.toNode=null))}}this.labeledLink=null;V.prototype.fk.call(this)};t.Es=function(a){if(null===this.kc){if(\"\"===a&&!1===this.Ge)return this;Ro(this)}var b=this.kc.H(a);return null!==b||\"\"!==a&&(b=this.kc.H(\"\"),null!==b)?b:this};\nfunction Ro(a){null===a.kc?a.kc=new I:a.kc.clear();a.Mm(a,function(a,c){Pl(a,c)});0===a.kc.count&&a.kc.add(\"\",a)}function Pl(a,b){var c=b.portId;null!==c&&null!==a.kc&&a.kc.add(c,b)}function Ol(a,b,c){var d=b.portId;if(null!==d&&(null!==a.kc&&a.kc.remove(d),b=a.diagram,null!==b&&c)){c=null;for(a=a.findLinksConnected(d);a.next();)d=a.value,null===c&&(c=Fa()),c.push(d);if(null!==c){for(a=0;a<c.length;a++)b.remove(c[a]);Ia(c)}}}\nt.sA=function(a){if(null===a||a===this)return!1;var b=!0,c=this.diagram;null!==c&&(b=c.isTreePathToChildren);c=this;if(b)for(;c!==a;){b=null;for(var d=c.ab.iterator;d.next();){var e=d.value;if(e.isTreeLink&&(b=e.fromNode,b!==c&&b!==this))break}if(b===this||null===b||b===c)return!1;c=b}else for(;c!==a;){b=null;for(d=c.ab.iterator;d.next()&&(e=d.value,!e.isTreeLink||(b=e.toNode,b===c||b===this)););if(b===this||null===b||b===c)return!1;c=b}return!0};\nt.bA=function(){var a=!0,b=this.diagram;null!==b&&(a=b.isTreePathToChildren);b=this;if(a)for(;;){a=null;for(var c=b.ab.iterator;c.next();){var d=c.value;if(d.isTreeLink&&(a=d.fromNode,a!==b&&a!==this))break}if(a===this)return this;if(null===a||a===b)return b;b=a}else for(;;){a=null;for(c=b.ab.iterator;c.next()&&(d=c.value,!d.isTreeLink||(a=d.toNode,a===b||a===this)););if(a===this)return this;if(null===a||a===b)return b;b=a}};\nt.Mz=function(a){if(null===a)return null;if(this===a)return this;for(var b=this;null!==b;)Bo(b,!0),b=b.lg();var c=null;for(b=a;null!==b;){if(0!==(b.D&1048576)){c=b;break}b=b.lg()}for(b=this;null!==b;)Bo(b,!1),b=b.lg();return c};t.Ji=function(){var a=!0,b=this.diagram;null!==b&&(a=b.isTreePathToChildren);b=this.ab.iterator;if(a)for(;b.next();){if(a=b.value,a.isTreeLink&&a.fromNode!==this)return a}else for(;b.next();)if(a=b.value,a.isTreeLink&&a.toNode!==this)return a;return null};\nt.lg=function(){var a=this.rh;if(null===a)return null;if(a instanceof W)return a;var b=!0;a=this.diagram;null!==a&&(b=a.isTreePathToChildren);a=this.ab.iterator;if(b)for(;a.next();){if(b=a.value,b.isTreeLink&&(b=b.fromNode,b!==this))return this.rh=b}else for(;a.next();)if(b=a.value,b.isTreeLink&&(b=b.toNode,b!==this))return this.rh=b;return this.rh=null};t.$z=function(){function a(b,d){d.add(b);var c=b.Ji();null!==c&&(d.add(c),b=b.lg(),null!==b&&a(b,d))}var b=new G;a(this,b);return b};\nt.Zz=function(){return So(this,this)};function So(a,b){b=b.lg();return null===b?0:1+So(a,b)}t.kq=function(){var a=!0,b=this.diagram;null!==b&&(a=b.isTreePathToChildren);b=new ab(this.ab);var c=this;b.predicate=a?function(a){return a.isTreeLink&&a.fromNode===c?!0:!1}:function(a){return a.isTreeLink&&a.toNode===c?!0:!1};return b};\nt.tv=function(){var a=!0,b=this.diagram;null!==b&&(a=b.isTreePathToChildren);var c=b=null,d=this.ab.iterator;if(a)for(;d.next();)a=d.value,a.isTreeLink&&a.fromNode===this&&(a=a.toNode,null!==b?b.add(a):null!==c&&c!==a?(b=new E,b.add(c),b.add(a)):c=a);else for(;d.next();)a=d.value,a.isTreeLink&&a.toNode===this&&(a=a.fromNode,null!==b?b.add(a):null!==c&&c!==a?(b=new E,b.add(c),b.add(a)):c=a);return null!==b?b.iterator:null!==c?new $a(c):Za};\nt.aA=function(a){void 0===a&&(a=Infinity);var b=new G;Rk(b,this,!1,a,!0);return b};W.prototype.collapseTree=function(a){void 0===a&&(a=1);1>a&&(a=1);var b=this.diagram;if(null!==b&&!b.He){b.He=!0;var c=new G;c.add(this);To(this,c,b.isTreePathToChildren,a,b,this,b.treeCollapsePolicy===qi);b.He=!1}};function To(a,b,c,d,e,f,g){if(1<d)for(var h=c?a.iq():a.Dd();h.next();){var k=h.value;k.isTreeLink&&(k=k.nq(a),null===k||k===a||b.contains(k)||(b.add(k),To(k,b,c,d-1,e,f,g)))}else Uo(a,b,c,e,f,g)}\nfunction Uo(a,b,c,d,e,f){for(var g=e===a?!0:a.isTreeExpanded,h=c?a.iq():a.Dd();h.next();){var k=h.value;if(k.isTreeLink&&(k=k.nq(a),null!==k&&k!==a)){var l=b.contains(k);l||b.add(k);g&&(f&&d.Wj(k,e),k.Ch(),k.Nb(!1));k.isTreeExpanded&&(k.wasTreeExpanded=k.isTreeExpanded,l||Uo(k,b,c,d,e,f))}}a.isTreeExpanded=!1}\nW.prototype.expandTree=function(a){void 0===a&&(a=2);2>a&&(a=2);var b=this.diagram;if(null!==b&&!b.He){b.He=!0;var c=new G;c.add(this);Vo(this,c,b.isTreePathToChildren,a,b,this,b.treeCollapsePolicy===qi);b.He=!1}};\nfunction Vo(a,b,c,d,e,f,g){for(var h=f===a?!1:a.isTreeExpanded,k=c?a.iq():a.Dd();k.next();){var l=k.value;l.isTreeLink&&(h||l.rd||l.Ua(),l=l.nq(a),null!==l&&l!==a&&!b.contains(l)&&(b.add(l),h||(l.Nb(!0),l.Ch(),g&&e.Yj(l,f)),2<d||l.wasTreeExpanded))&&(l.wasTreeExpanded=!1,Vo(l,b,c,d-1,e,f,g))}a.isTreeExpanded=!0}\nna.Object.defineProperties(W.prototype,{portSpreading:{get:function(){return this.cp},set:function(a){var b=this.cp;b!==a&&(this.cp=a,this.g(\"portSpreading\",b,a),a=this.diagram,null!==a&&a.undoManager.isUndoingRedoing||this.pd())}},avoidable:{get:function(){return 0!==(this.R&8)},set:function(a){var b=0!==(this.R&8);if(b!==a){this.R^=8;var c=this.diagram;null!==c&&vk(c,this);this.g(\"avoidable\",b,a)}}},avoidableMargin:{\nget:function(){return this.Kk},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.Kk;if(!b.A(a)){this.Kk=a=a.I();var c=this.diagram;null!==c&&vk(c,this);this.g(\"avoidableMargin\",b,a)}}},linksConnected:{get:function(){return this.ab.iterator}},linkConnected:{get:function(){return this.to},set:function(a){var b=this.to;b!==a&&(this.to=a,this.g(\"linkConnected\",b,a))}},linkDisconnected:{get:function(){return this.uo},\nset:function(a){var b=this.uo;b!==a&&(this.uo=a,this.g(\"linkDisconnected\",b,a))}},linkValidation:{get:function(){return this.ii},set:function(a){var b=this.ii;b!==a&&(this.ii=a,this.g(\"linkValidation\",b,a))}},isLinkLabel:{get:function(){return null!==this.ql}},labeledLink:{get:function(){return this.ql},set:function(a){var b=this.ql;if(b!==a){var c=this.diagram,d=this.data;if(null!==b){null!==b.ld&&(b.ld.remove(this),\nb.s());if(null!==c&&null!==d&&!c.undoManager.isUndoingRedoing){var e=b.data,f=c.model;if(null!==e&&f.Qi()){var g=f.pa(d);void 0!==g&&f.wy(e,g)}}this.containingGroup=null}this.ql=a;null!==a&&(Qo(a,this),null===c||null===d||c.undoManager.isUndoingRedoing||(e=a.data,c=c.model,null!==e&&c.Qi()&&(d=c.pa(d),void 0!==d&&c.av(e,d))),this.containingGroup=a.containingGroup);zl(this);this.g(\"labeledLink\",b,a)}}},port:{get:function(){return this.Es(\"\")}},ports:{\nget:function(){null===this.kc&&Ro(this);return this.kc.iteratorValues}},isTreeExpanded:{get:function(){return 0!==(this.R&1)},set:function(a){var b=0!==(this.R&1);if(b!==a){this.R^=1;var c=this.diagram;this.g(\"isTreeExpanded\",b,a);b=this.treeExpandedChanged;if(null!==b){var d=!0;null!==c&&(d=c.Z,c.Z=!0);b(this);null!==c&&(c.Z=d)}null!==c&&c.undoManager.isUndoingRedoing?this.Nb(a):a?this.expandTree():this.collapseTree()}}},wasTreeExpanded:{\nget:function(){return 0!==(this.R&2)},set:function(a){var b=0!==(this.R&2);b!==a&&(this.R^=2,this.g(\"wasTreeExpanded\",b,a))}},treeExpandedChanged:{get:function(){return this.Pp},set:function(a){var b=this.Pp;b!==a&&(this.Pp=a,this.g(\"treeExpandedChanged\",b,a))}},isTreeLeaf:{get:function(){return 0!==(this.R&4)},set:function(a){var b=0!==(this.R&4);b!==a&&(this.R^=4,this.g(\"isTreeLeaf\",b,a))}}});W.prototype.expandTree=W.prototype.expandTree;\nW.prototype.collapseTree=W.prototype.collapseTree;W.prototype.findTreeParts=W.prototype.aA;W.prototype.findTreeChildrenNodes=W.prototype.tv;W.prototype.findTreeChildrenLinks=W.prototype.kq;W.prototype.findTreeLevel=W.prototype.Zz;W.prototype.findTreeParentChain=W.prototype.$z;W.prototype.findTreeParentNode=W.prototype.lg;W.prototype.findTreeParentLink=W.prototype.Ji;W.prototype.findCommonTreeParent=W.prototype.Mz;W.prototype.findTreeRoot=W.prototype.bA;W.prototype.isInTreeOf=W.prototype.sA;\nW.prototype.findPort=W.prototype.Es;W.prototype.findLinksTo=W.prototype.Qz;W.prototype.findLinksBetween=W.prototype.Pz;W.prototype.findNodesInto=W.prototype.qv;W.prototype.findNodesOutOf=W.prototype.rv;W.prototype.findNodesConnected=W.prototype.pv;W.prototype.findLinksInto=W.prototype.Dd;W.prototype.findLinksOutOf=W.prototype.iq;W.prototype.findExternalTreeLinksConnected=W.prototype.Sx;W.prototype.invalidateConnectedLinks=W.prototype.pd;W.prototype.invalidateLinkBundle=W.prototype.qA;\nvar Wo=new D(W,\"SpreadingNone\",10),Jo=new D(W,\"SpreadingEvenly\",11),Xo=new D(W,\"SpreadingPacked\",12);W.className=\"Node\";W.SpreadingNone=Wo;W.SpreadingEvenly=Jo;W.SpreadingPacked=Xo;function hf(a,b){void 0===a||a instanceof Kl||\"string\"===typeof a?W.call(this,a):(W.call(this),a&&(b=a));this.R|=4608;this.Eo=new G;this.zl=new G;this.Ra=this.Ip=this.ki=this.Fo=this.Do=this.$a=null;this.Ac=new li;this.Ac.group=this;this.mr=null;b&&Object.assign(this,b)}ma(hf,W);\nhf.prototype.cloneProtected=function(a){W.prototype.cloneProtected.call(this,a);this.R=this.R&-32769;null!==this.$a&&(a.$a=this.$a.copy());a.Do=this.Do;a.Fo=this.Fo;a.ki=this.ki;a.Ip=this.Ip;var b=a.hm(function(a){return a instanceof mg});b instanceof mg?a.Ra=b:a.Ra=null;null!==this.Ac?(a.Ac=this.Ac.copy(),a.Ac.group=a):(null!==a.Ac&&(a.Ac.group=null),a.Ac=null)};t=hf.prototype;\nt.sf=function(a){W.prototype.sf.call(this,a);var b=a.jk();for(a=a.memberParts;a.next();){var c=a.value;c.s();c.B(8);c.$j();if(c instanceof W)c.pd(b);else if(c instanceof U)for(c=c.labelNodes;c.next();)c.value.pd(b)}};\nt.Ak=function(a,b,c,d,e,f,g){if(a===ee&&\"elements\"===b)if(e instanceof mg)null===this.Ra?this.Ra=e:this.Ra!==e&&C(\"Cannot insert a second Placeholder into the visual tree of a Group.\");else{if(e instanceof X){var h=e.hm(function(a){return a instanceof mg});h instanceof mg&&(null===this.Ra?this.Ra=h:this.Ra!==h&&C(\"Cannot insert a second Placeholder into the visual tree of a Group.\"))}}else a===fe&&\"elements\"===b&&null!==this.Ra&&(d===this.Ra?this.Ra=null:d instanceof X&&this.Ra.mg(d)&&(this.Ra=null));\nW.prototype.Ak.call(this,a,b,c,d,e,f,g)};t.rm=function(a,b){W.prototype.rm.call(this,a,b);this.isClipping&&this.type!==X.Spot&&this.isSubGraphExpanded&&(a=this.resizeObject,a instanceof X&&(a=a.nb()),null===this.$a&&(this.$a=new N),a.Mi(this.$a),a instanceof uf&&this.$a.Gc(-a.strokeWidth,-a.strokeWidth))};t.vh=function(a,b,c,d){this.Ze=this.Ra;W.prototype.vh.call(this,a,b,c,d)};\nt.Sa=function(){var a=this;a.isSubGraphExpanded&&this.memberParts.each(function(b){!a.computesBoundsIncludingLinks&&b instanceof U||b.Sa()});W.prototype.Sa.call(this)};t.Si=function(){if(!W.prototype.Si.call(this))return!1;for(var a=this.memberParts;a.next();){var b=a.value;if(b instanceof W){if(b.isVisible()&&nj(b))return!1}else if(b instanceof U&&b.isVisible()&&nj(b)&&b.fromNode!==this&&b.toNode!==this)return!1}return!0};\nfunction Co(a,b){if(a.Eo.add(b)){b instanceof hf&&a.zl.add(b);var c=a.memberAdded;if(null!==c){var d=!0,e=a.diagram;null!==e&&(d=e.Z,e.Z=!0);c(a,b);null!==e&&(e.Z=d)}a.isVisible()&&a.isSubGraphExpanded||b.Nb(!1)}b instanceof U&&!a.computesBoundsIncludingLinks||(b=a.Ra,null===b&&(b=a),b.s())}\nfunction Do(a,b){if(a.Eo.remove(b)){b instanceof hf&&a.zl.remove(b);var c=a.memberRemoved;if(null!==c){var d=!0,e=a.diagram;null!==e&&(d=e.Z,e.Z=!0);c(a,b);null!==e&&(e.Z=d)}a.isVisible()&&a.isSubGraphExpanded||b.Nb(!0)}b instanceof U&&!a.computesBoundsIncludingLinks||(b=a.Ra,null===b&&(b=a),b.s())}t.fk=function(){if(0<this.Eo.count){var a=this.diagram;if(null!==a)for(var b=this.Eo.copy().iterator;b.next();)a.remove(b.value)}W.prototype.fk.call(this)};\nhf.prototype.canAddMembers=function(a){var b=this.diagram;if(null===b)return!1;b=b.commandHandler;for(a=Tk(a).iterator;a.next();)if(!b.isValidMember(this,a.value))return!1;return!0};hf.prototype.addMembers=function(a,b){var c=this.diagram;if(null===c)return!1;c=c.commandHandler;var d=!0;for(a=Tk(a).iterator;a.next();){var e=a.value;!b||c.isValidMember(this,e)?e.containingGroup=this:d=!1}return d};\nhf.prototype.canUngroup=function(){if(!this.ungroupable)return!1;var a=this.layer;if(null===a||!a.allowUngroup)return!1;a=a.diagram;return null===a||a.allowUngroup?!0:!1};t=hf.prototype;\nt.pd=function(a){var b=0!==(this.R&65536);W.prototype.pd.call(this,a);if(!b)for(0!==(this.R&65536)!==!0&&(this.R=this.R^65536),b=this.ov();b.next();){var c=b.value;if(void 0===a||!a.contains(c)){var d=c.fromNode;null!==d&&d!==this&&d.Fd(this)&&!d.isVisible()?(Mo(c.fromPort),Mo(c.toPort),c.Ua()):(d=c.toNode,null!==d&&d!==this&&d.Fd(this)&&!d.isVisible()&&(Mo(c.fromPort),Mo(c.toPort),c.Ua()))}}};\nt.ov=function(){var a=null!==this.diagram&&this.diagram.tx;if(a&&null!==this.mr)return this.mr.iterator;var b=this.jk();b.add(this);for(var c=new G,d=b.iterator;d.next();){var e=d.value;if(e instanceof W)for(e=e.linksConnected;e.next();){var f=e.value;b.contains(f)||c.add(f)}}a&&(this.mr=c);return c.iterator};\nt.Oz=function(){var a=this.jk();a.add(this);for(var b=new G,c=a.iterator;c.next();){var d=c.value;if(d instanceof W)for(d=d.linksConnected;d.next();){var e=d.value,f=e.fromNode;null===f||a.contains(f)&&f!==this||b.add(f);e=e.toNode;null===e||a.contains(e)&&e!==this||b.add(e)}}return b.iterator};t.Nz=function(){function a(b,d){null!==b&&(d.add(b),a(b.containingGroup,d))}var b=new G;a(this,b);return b};t.jk=function(){var a=new G;Rk(a,this,!0,0,!0);a.remove(this);return a};\nt.Nb=function(a){W.prototype.Nb.call(this,a);for(var b=this.memberParts;b.next();)b.value.Nb(a)};hf.prototype.collapseSubGraph=function(){var a=this.diagram;if(null!==a&&!a.He){a.He=!0;var b=this.jk();Yo(this,b,a,this);a.He=!1}};\nfunction Yo(a,b,c,d){for(var e=a.memberParts;e.next();){var f=e.value;f.Nb(!1);f instanceof hf&&f.isSubGraphExpanded&&(f.wasSubGraphExpanded=f.isSubGraphExpanded,Yo(f,b,c,d));if(f instanceof W)f.pd(b),c.Wj(f,d);else if(f instanceof U)for(f=f.labelNodes;f.next();)f.value.pd(b)}a.isSubGraphExpanded=!1}hf.prototype.expandSubGraph=function(){var a=this.diagram;if(null!==a&&!a.He){a.He=!0;var b=this.jk();Zo(this,b,a,this);a.He=!1}};\nfunction Zo(a,b,c,d){for(var e=a.memberParts;e.next();){var f=e.value;f.Nb(!0);f instanceof hf&&f.wasSubGraphExpanded&&(f.wasSubGraphExpanded=!1,Zo(f,b,c,d));if(f instanceof W)f.pd(b),c.Yj(f,d);else if(f instanceof U)for(f=f.labelNodes;f.next();)f.value.pd(b)}a.isSubGraphExpanded=!0}\nhf.prototype.move=function(a,b){void 0===b&&(b=!1);var c=b?this.location:this.position,d=c.x;c=c.y;var e=a.x,f=a.y;if(!(d===e||isNaN(d)&&isNaN(e))||!(c===f||isNaN(c)&&isNaN(f))){d=e-(isNaN(d)?0:d);c=f-(isNaN(c)?0:c);f=J.alloc();W.prototype.move.call(this,a,b);a=new G;for(b=this.jk().iterator;b.next();)if(e=b.value,e instanceof U&&(e.suspendsRouting&&a.add(e),e.rd||e.fromNode!==this&&e.toNode!==this))e.suspendsRouting=!0;for(b.reset();b.next();)if(e=b.value,!(e.Dh()||e instanceof W&&e.isLinkLabel)){var g=\ne.position,h=e.location;g.u()?(f.x=g.x+d,f.y=g.y+c,e.position=f):h.u()&&(f.x=h.x+d,f.y=h.y+c,e.location=f)}for(b.reset();b.next();)if(e=b.value,e instanceof U&&(e.suspendsRouting=a.contains(e),e.rd||e.fromNode!==this&&e.toNode!==this))g=e.position,f.x=g.x+d,f.y=g.y+c,f.u()?e.move(f):e.Ua(),Kj(e)&&e.Ua();J.free(f)}};\nna.Object.defineProperties(hf.prototype,{placeholder:{get:function(){return this.Ra}},computesBoundsAfterDrag:{get:function(){return 0!==(this.R&2048)},set:function(a){var b=0!==(this.R&2048);b!==a&&(this.R^=2048,this.g(\"computesBoundsAfterDrag\",b,a))}},computesBoundsIncludingLinks:{get:function(){return 0!==(this.R&4096)},set:function(a){var b=0!==(this.R&4096);b!==a&&(this.R^=4096,this.g(\"computesBoundsIncludingLinks\",\nb,a))}},computesBoundsIncludingLocation:{get:function(){return 0!==(this.R&8192)},set:function(a){var b=0!==(this.R&8192);b!==a&&(this.R^=8192,this.g(\"computesBoundsIncludingLocation\",b,a))}},handlesDragDropForMembers:{get:function(){return 0!==(this.R&16384)},set:function(a){var b=0!==(this.R&16384);b!==a&&(this.R^=16384,this.g(\"handlesDragDropForMembers\",b,a))}},memberParts:{get:function(){return this.Eo.iterator}},\nlayout:{get:function(){return this.Ac},set:function(a){var b=this.Ac;if(b!==a){null!==b&&(b.diagram=null,b.group=null);this.Ac=a;var c=this.diagram;null!==a&&(a.diagram=c,a.group=this);null!==c&&(c.Nh=!0);this.g(\"layout\",b,a);null!==c&&c.Fb()}}},memberAdded:{get:function(){return this.Do},set:function(a){var b=this.Do;b!==a&&(this.Do=a,this.g(\"memberAdded\",b,a))}},memberRemoved:{get:function(){return this.Fo},\nset:function(a){var b=this.Fo;b!==a&&(this.Fo=a,this.g(\"memberRemoved\",b,a))}},memberValidation:{get:function(){return this.ki},set:function(a){var b=this.ki;b!==a&&(this.ki=a,this.g(\"memberValidation\",b,a))}},ungroupable:{get:function(){return 0!==(this.R&256)},set:function(a){var b=0!==(this.R&256);b!==a&&(this.R^=256,this.g(\"ungroupable\",b,a))}},isSubGraphExpanded:{get:function(){return 0!==(this.R&512)},\nset:function(a){var b=0!==(this.R&512);if(b!==a){this.R^=512;var c=this.diagram;this.g(\"isSubGraphExpanded\",b,a);b=this.subGraphExpandedChanged;if(null!==b){var d=!0;null!==c&&(d=c.Z,c.Z=!0);b(this);null!==c&&(c.Z=d)}null!==c&&c.undoManager.isUndoingRedoing?(null!==this.Ra&&this.Ra.s(),this.memberParts.each(function(a){a.updateAdornments()})):a?this.expandSubGraph():this.collapseSubGraph()}}},wasSubGraphExpanded:{get:function(){return 0!==(this.R&1024)},set:function(a){var b=\n0!==(this.R&1024);b!==a&&(this.R^=1024,this.g(\"wasSubGraphExpanded\",b,a))}},subGraphExpandedChanged:{get:function(){return this.Ip},set:function(a){var b=this.Ip;b!==a&&(this.Ip=a,this.g(\"subGraphExpandedChanged\",b,a))}},Fh:{get:function(){return 0!==(this.R&32768)},set:function(a){0!==(this.R&32768)!==a&&(this.R^=32768)}}});hf.prototype.expandSubGraph=hf.prototype.expandSubGraph;hf.prototype.collapseSubGraph=hf.prototype.collapseSubGraph;\nhf.prototype.findSubGraphParts=hf.prototype.jk;hf.prototype.findContainingGroupChain=hf.prototype.Nz;hf.prototype.findExternalNodesConnected=hf.prototype.Oz;hf.prototype.findExternalLinksConnected=hf.prototype.ov;hf.prototype.ensureBounds=hf.prototype.Sa;hf.className=\"Group\";function mg(a){Y.call(this);this.mb=pc;this.rp=new N(NaN,NaN,NaN,NaN);a&&Object.assign(this,a)}ma(mg,Y);mg.prototype.cloneProtected=function(a){Y.prototype.cloneProtected.call(this,a);a.mb=this.mb.I();a.rp=this.rp.copy()};\nmg.prototype.xh=function(a){if(null===this.background&&null===this.areaBackground)return!1;var b=this.naturalBounds;return ac(0,0,b.width,b.height,a.x,a.y)};\nmg.prototype.qm=function(){var a=this.part;null!==a&&(a instanceof hf||a instanceof we)||C(\"Placeholder is not inside a Group or Adornment.\");if(a instanceof hf){var b=this.computeBorder(this.rp),c=this.minSize,d=this.qc;Tb(d,(isFinite(c.width)?Math.max(c.width,b.width):b.width)||0,(isFinite(c.height)?Math.max(c.height,b.height):b.height)||0);this.ue(0,0,d.width,d.height);d=a.memberParts;for(c=!1;d.next();)if(d.value.isVisible()){c=!0;break}d=a.diagram;!c||null===d||d.animationManager.Cv(a)||isNaN(b.x)||\nisNaN(b.y)||(c=J.alloc(),c.Ui(b,a.locationSpot),c.A(a.location)||(a.location=c),J.free(c))}else{b=this.qc;c=this.mb;d=c.left+c.right;var e=c.top+c.bottom,f=a.adornedObject;a.angle=f.Li();var g=0;f instanceof uf&&(g=f.strokeWidth);var h=f.wf(),k=f.naturalBounds,l=(k.width+g)*h;g=(k.height+g)*h;a.type!==X.Link&&(h=f.da(\"Selection\"===a.category?sc:a.locationSpot,J.alloc()),a.location=h,J.free(h));isNaN(l)||isNaN(g)?(a=f.da(sc,J.alloc()),l=N.allocAt(a.x,a.y,0,0),l.Le(f.da(Cc,a)),l.Le(f.da(wc,a)),l.Le(f.da(Ac,\na)),Tb(b,l.width+d||0,l.height+e||0),this.ue(-c.left,-c.top,b.width,b.height),J.free(a),N.free(l)):(Tb(b,l+d||0,g+e||0),this.ue(-c.left,-c.top,b.width,b.height))}};mg.prototype.vh=function(a,b,c,d){this.actualBounds.h(a,b,c,d)};\nmg.prototype.computeBorder=function(a){var b=this.part,c=b.diagram;if(null!==c&&b instanceof hf&&!b.layer.isTemporary&&b.computesBoundsAfterDrag&&this.rp.u()){var d=c.toolManager.findTool(\"Dragging\");if(d===c.currentTool&&(c=d.computeBorder(b,this.rp,a),null!==c))return c}c=N.alloc();d=this.computeMemberBounds(c);var e=this.mb;b instanceof hf&&!b.isSubGraphExpanded?a.h(d.x-e.left,d.y-e.top,0,0):a.h(d.x-e.left,d.y-e.top,Math.max(d.width+e.left+e.right,0),Math.max(d.height+e.top+e.bottom,0));N.free(c);\nb instanceof hf&&b.computesBoundsIncludingLocation&&b.location.u()&&a.Le(b.location);return a};\nmg.prototype.computeMemberBounds=function(a){if(!(this.part instanceof hf))return a.h(0,0,0,0),a;for(var b=this.part,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=b.memberParts;g.next();){var h=g.value;if(h.isVisible()){if(h instanceof U){if(!b.computesBoundsIncludingLinks)continue;if(mj(h))continue;if(h.fromNode===b||h.toNode===b)continue}h=h.actualBounds;h.left<c&&(c=h.left);h.top<d&&(d=h.top);h.right>e&&(e=h.right);h.bottom>f&&(f=h.bottom)}}isFinite(c)&&isFinite(d)?a.h(c,d,e-c,f-d):(b=b.location,\na.h(b.x,b.y,0,0));return a};na.Object.defineProperties(mg.prototype,{padding:{get:function(){return this.mb},set:function(a){\"number\"===typeof a&&(a=new ic(a));var b=this.mb;b.A(a)||(this.mb=a=a.I(),this.g(\"padding\",b,a),this.s())}}});mg.className=\"Placeholder\";\nfunction U(a){V.call(this,X.Link);this.Ia=8;this.Se=null;this.Te=\"\";this.kf=this.On=null;this.lf=\"\";this.Op=null;this.Ek=Vf;this.rn=0;this.tn=Vf;this.un=NaN;this.Oj=$o;this.Dp=.5;this.ld=null;this.Bb=(new E).freeze();this.cf=this.Zg=null;this.Gl=new N;this.ma=new Q;this.C=this.o=this.If=this.Mf=null;this.Ru=new J;this.qr=this.px=this.ox=null;this.Rt=NaN;this.P=null;this.j=[];a&&Object.assign(this,a)}ma(U,V);\nU.prototype.cloneProtected=function(a){V.prototype.cloneProtected.call(this,a);a.Ia=this.Ia&-113;a.Te=this.Te;a.On=this.On;a.lf=this.lf;a.Op=this.Op;a.Ek=this.Ek;a.rn=this.rn;a.tn=this.tn;a.un=this.un;a.Oj=this.Oj;a.Dp=this.Dp;null!==this.P&&(a.P=this.P.copy())};t=U.prototype;t.sf=function(a){V.prototype.sf.call(this,a);this.Te=a.Te;this.lf=a.lf;a.Zg=null;a.Ua();a.If=this.If;var b=a.fromPort;null!==b&&Mo(b);a=a.toPort;null!==a&&Mo(a)};\nt.gb=function(a){a.classType===U?2===(a.value&2)?this.routing=a:a===Yf||a===Uf||a===Tf?this.curve=a:a===ap||a===bp||a===cp?this.adjusting=a:a!==$o&&a!==Vf&&C(\"Unknown Link enum value for a Link property: \"+a):V.prototype.gb.call(this,a)};t.Hc=function(){null===this.P&&(this.P=new cl)};t.Si=function(){var a=this.fromNode;if(null!==a){var b=a.findVisibleNode();null!==b&&(a=b);if(nj(a)||oj(a))return!1}a=this.toNode;return null!==a&&(b=a.findVisibleNode(),null!==b&&(a=b),nj(a)||oj(a))?!1:!0};t.Zv=function(){return!1};\nt.gt=function(){};t.Jc=function(){return!1};U.prototype.computeAngle=function(a,b,c){return U.computeAngle(b,c)};U.computeAngle=function(a,b){switch(a){default:case Vf:a=0;break;case Rm:a=b;break;case Km:a=b+90;break;case Mm:a=b-90;break;case dp:a=b+180;break;case Sm:a=L.vq(b);90<a&&270>a&&(a-=180);break;case Lm:a=L.vq(b+90);90<a&&270>a&&(a-=180);break;case Nm:a=L.vq(b-90);90<a&&270>a&&(a-=180);break;case Om:a=L.vq(b);if(45<a&&135>a||225<a&&315>a)return 0;90<a&&270>a&&(a-=180)}return L.vq(a)};\nfunction Io(a){var b=a.fromNode,c=a.toNode,d=null;null!==b?d=null!==c?b.Rx(c):b.containingGroup:null!==c?d=c.containingGroup:d=null;b=d;c=a.Qh;if(c!==b){null!==c&&Do(c,a);a.Qh=b;null!==b&&Co(b,a);var e=a.containingGroupChanged;if(null!==e){var f=!0,g=a.diagram;null!==g&&(f=g.Z,g.Z=!0);e(a,c,b);null!==g&&(g.Z=f)}!a.rd||a.ox!==c&&a.px!==c||a.Ua()}if(a.isLabeledLink)for(a=a.labelNodes;a.next();)a.value.containingGroup=d}t=U.prototype;\nt.Ch=function(){var a=this.containingGroup;null!==a&&this.fromNode!==a&&this.toNode!==a&&a.computesBoundsIncludingLinks&&V.prototype.Ch.call(this)};t.nq=function(a){var b=this.fromNode;return a===b?this.toNode:b};t.gA=function(a){var b=this.fromPort;return a===b?this.toPort:b};function Qo(a,b){null===a.ld&&(a.ld=new G);a.ld.add(b);a.s()}\nt.pq=function(a){V.prototype.pq.call(this,a);ep(this)&&this.rq(this.actualBounds);if(!a){a=this.Se;var b=null;null!==a&&(b=this.fromPort,Oo(a,this,b));var c=this.kf;if(null!==c){var d=this.toPort;c===a&&d===b||Oo(c,this,d)}fp(this)}};t.qq=function(a){V.prototype.qq.call(this,a);ep(this)&&this.rq(this.actualBounds);if(!a){a=this.Se;var b=null;null!==a&&(b=this.fromPort,Po(a,this,b));var c=this.kf;if(null!==c){var d=this.toPort;c===a&&d===b||Po(c,this,d)}gp(this)}};\nt.fk=function(){this.rd=!0;if(null!==this.ld){var a=this.diagram;if(null!==a)for(var b=this.ld.copy().iterator;b.next();)a.remove(b.value)}null!==this.data&&(a=this.diagram,null!==a&&a.partManager.removeDataForLink(this))};U.prototype.updateRelationshipsFromData=function(){if(null!==this.data){var a=this.diagram;null!==a&&a.partManager.updateRelationshipsFromData(this)}};\nU.prototype.move=function(a,b){var c=b?this.location:this.position,d=c.x;isNaN(d)&&(d=0);var e=c.y;isNaN(e)&&(e=0);d=a.x-d;e=a.y-e;!0===b?V.prototype.move.call(this,a,!1):(a=J.allocAt(c.x+d,c.y+e),V.prototype.move.call(this,a,!1),J.free(a));cf(this,d,e);for(a=this.labelNodes;a.next();)b=a.value,c=b.position,b.moveTo(c.x+d,c.y+e)};\nU.prototype.canRelinkFrom=function(){if(!this.relinkableFrom)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowRelink)return!1;a=a.diagram;return null===a||a.allowRelink?!0:!1};U.prototype.canRelinkTo=function(){if(!this.relinkableTo)return!1;var a=this.layer;if(null===a)return!0;if(!a.allowRelink)return!1;a=a.diagram;return null===a||a.allowRelink?!0:!1};\nU.prototype.computeMidPoint=function(a){var b=this.pointsCount;if(0===b)return a.assign(vb),a;if(1===b)return a.assign(this.i(0)),a;if(2===b){var c=this.i(0),d=this.i(1);a.h((c.x+d.x)/2,(c.y+d.y)/2);return a}if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Yf))return this.ma.uv(.5,a),a.add(this.i(0)),c=this.ma.figures.first(),a.offset(-c.startX,-c.startY),a;if(this.computeCurve()===Yf){if(3===b)return this.i(1);d=(b-1)/3|0;c=3*(d/2|0);if(1===d%2){d=this.i(c);var e=this.i(c+1),\nf=this.i(c+2);c=this.i(c+3);L.pz(d.x,d.y,e.x,e.y,f.x,f.y,c.x,c.y,a)}else a.assign(this.i(c));return a}var g=this.flattenedLengths;c=this.flattenedTotalLength;for(e=f=d=0;d<c/2&&f<b;){e=g[f];if(d+e>c/2)break;d+=e;f++}b=this.i(f);f=this.i(f+1);1>Math.abs(b.x-f.x)?b.y>f.y?a.h(b.x,b.y-(c/2-d)):a.h(b.x,b.y+(c/2-d)):1>Math.abs(b.y-f.y)?b.x>f.x?a.h(b.x-(c/2-d),b.y):a.h(b.x+(c/2-d),b.y):(c=(c/2-d)/e,a.h(b.x+c*(f.x-b.x),b.y+c*(f.y-b.y)));return a};\nU.prototype.computeMidAngle=function(){var a=this.pointsCount;if(2>a)return NaN;if(2===a)return this.i(0).Oa(this.i(1));if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===Yf))return this.ma.Xx(.5);if(this.computeCurve()===Yf&&4<=a){var b=(a-1)/3|0,c=3*(b/2|0);if(1===b%2){c=Math.floor(c);a=this.i(c);b=this.i(c+1);var d=this.i(c+2);c=this.i(c+3);return L.oz(a.x,a.y,b.x,b.y,d.x,d.y,c.x,c.y)}if(0<c&&c+1<a)return this.i(c-1).Oa(this.i(c+1))}b=this.flattenedLengths;d=this.flattenedTotalLength;\nvar e=0;c=0;for(var f;e<d/2&&c<a;){f=b[c];if(e+f>d/2)break;e+=f;c++}b=this.i(c);d=this.i(c+1);if(1>Math.abs(b.x-d.x)&&1>Math.abs(b.y-d.y)){if(0<c&&c+2<a)return this.i(c-1).Oa(this.i(c+2))}else{if(1>Math.abs(b.x-d.x))return b.y>d.y?270:90;if(1>Math.abs(b.y-d.y))return b.x>d.x?180:0}return b.Oa(d)};t=U.prototype;t.i=function(a){return this.Bb.m[a]};t.Mc=function(a,b){this.Bb.Lc(a,b)};t.L=function(a,b,c){this.Bb.Lc(a,new J(b,c))};t.pA=function(a,b){this.Bb.ub(a,b)};\nt.l=function(a,b,c){this.Bb.ub(a,new J(b,c))};t.ce=function(a){this.Bb.add(a)};t.pf=function(a,b){this.Bb.add(new J(a,b))};t.Rv=function(a){this.Bb.eb(a)};t.ak=function(){this.Bb.clear()};\nfunction cf(a,b,c){if(0!==b||0!==c)if(0===a.pointsCount)a.defaultFromPoint&&a.defaultFromPoint.offset(b,c),a.defaultToPoint&&a.defaultToPoint.offset(b,c);else{for(var d=a.rd,e=new E,f=a.Bb.iterator;f.next();){var g=f.value;e.add((new J(g.x+b,g.y+c)).freeze())}e.freeze();f=a.Bb;a.Bb=e;g=a.diagram;isNaN(b)||isNaN(c)||null!==g&&g.animationManager.rb?a.s():(a.ae.h(a.ae.x+b,a.ae.y+c),a.ka.h(a.ka.x+b,a.ka.y+c),zl(a));d?hp(a):(a.defaultFromPoint&&(a.defaultFromPoint=a.i(0)),a.defaultToPoint&&(a.defaultToPoint=\na.i(a.pointsCount-1)));null!==g&&g.animationManager.rb&&(b=g.animationManager,a.cf=e,b.Il.add(a));a.g(\"points\",f,e)}}t.Hh=function(){null===this.Zg&&(this.Zg=this.Bb,this.Bb=this.Bb.copy())};\nt.rf=function(){if(null!==this.Zg){for(var a=this.Zg,b=this.Bb,c=Infinity,d=Infinity,e=a.m,f=e.length,g=0;g<f;g++){var h=e[g];c=Math.min(h.x,c);d=Math.min(h.y,d)}h=g=Infinity;for(var k=b.m,l=k.length,m=0;m<l;m++){var n=k[m];g=Math.min(n.x,g);h=Math.min(n.y,h);n.freeze()}b.freeze();if(l===f)for(f=0;f<l;f++){if(m=e[f],n=k[f],m.x-c!==n.x-g||m.y-d!==n.y-h){this.cc(!0);break}}else this.cc(!0);this.Zg=null;c=this.diagram;null!==c&&c.animationManager.rb&&(c=c.animationManager,this.cf=b,c.Il.add(this));hp(this);\nthis.g(\"points\",a,b)}};t.Tv=function(){null!==this.Zg&&(this.Bb=this.Zg,this.Zg=null)};function hp(a){0===a.Bb.count?a.rd=!1:(a.rd=!0,a.qr=null,a.Rt=NaN,a.defaultFromPoint=a.i(0),a.defaultToPoint=a.i(a.pointsCount-1),ip(a,!1))}\nt.Ua=function(){if(!this.suspendsRouting){var a=this.diagram;if(a){if(a.Ts.contains(this)||a.undoManager.isUndoingRedoing)return;a=a.animationManager;if(a.isTicking&&!a.isAnimating)return;null!==this.cf&&!a.isTicking&&a.isAnimating&&(this.cf=null)}a=this.path;null!==a&&(this.rd=!1,this.s(),a.s())}};\nt.pg=function(){if(!this.rd&&!this.computingPoints){var a=!0;try{this.computingPoints=!0,this.Hh(),a=this.computePoints()}catch(b){this.computingPoints=!1,this.Tv()}finally{this.computingPoints=!1,a?this.rf():this.Tv()}}};\nU.prototype.computePoints=function(){if(null===this.diagram)return!1;var a=this.fromNode,b=null;null===a?(jp||(jp=new W,jp.desiredSize=Ib,jp.Sa()),this.defaultFromPoint&&(jp.location=this.defaultFromPoint,jp.Sa(),b=a=jp)):b=this.fromPort;if(null!==b&&!a.isVisible()){var c=a.findVisibleNode();null!==c&&c!==a?(a=c,b=c.port):a=c}this.ox=a;if(null===a||!a.location.u())return!1;for(;!(null===b||b.actualBounds.u()&&b.Bf());)b=b.panel;if(null===b)return!1;var d=this.toNode,e=null;null===d?(kp||(kp=new W,\nkp.desiredSize=Ib,kp.Sa()),this.defaultToPoint&&(kp.location=this.defaultToPoint,kp.Sa(),e=d=kp)):e=this.toPort;null===e||d.isVisible()||(c=d.findVisibleNode(),null!==c&&c!==d?(d=c,e=c.port):d=c);this.px=d;if(null===d||!d.location.u())return!1;for(;!(null===e||e.actualBounds.u()&&e.Bf());)e=e.panel;if(null===e)return!1;var f=this.pointsCount,g=this.computeSpot(!0,b);c=this.computeSpot(!1,e);var h=lp(g),k=lp(c),l=b===e&&null!==b,m=this.isOrthogonal,n=this.curve===Yf;this.Mf=l&&!m?n=!0:!1;var p=this.computeAdjusting()===\nVf||l;if(!m&&!l&&h&&k){if(h=!1,!p&&3<=f&&(p=this.getLinkPoint(a,b,g,!0,!1,d,e),k=this.getLinkPoint(d,e,c,!1,!1,a,b),h=this.adjustPoints(0,p,f-1,k))&&(p=this.getLinkPoint(a,b,g,!0,!1,d,e),k=this.getLinkPoint(d,e,c,!1,!1,a,b),this.adjustPoints(0,p,f-1,k)),!h)if(this.ak(),n){f=this.getLinkPoint(a,b,g,!0,!1,d,e);p=this.getLinkPoint(d,e,c,!1,!1,a,b);h=p.x-f.x;k=p.y-f.y;l=this.computeCurviness();n=m=0;var r=f.x+h/3,q=f.y+k/3,u=r,v=q;L.w(k,0)?v=0<h?v-l:v+l:(m=-h/k,n=Math.sqrt(l*l/(m*m+1)),0>l&&(n=-n),u=\n(0>k?-1:1)*n+r,v=m*(u-r)+q);r=f.x+2*h/3;q=f.y+2*k/3;var w=r,z=q;L.w(k,0)?z=0<h?z-l:z+l:(w=(0>k?-1:1)*n+r,z=m*(w-r)+q);this.ak();this.ce(f);this.pf(u,v);this.pf(w,z);this.ce(p);this.Mc(0,this.getLinkPoint(a,b,g,!0,!1,d,e));this.Mc(3,this.getLinkPoint(d,e,c,!1,!1,a,b))}else if(f=d,p=e,d=this.getLinkPoint(a,b,g,!0,!1,f,p),e=this.getLinkPoint(f,p,c,!1,!1,a,b),this.hasCurviness())p=e.x-d.x,c=e.y-d.y,g=this.computeCurviness(),a=d.x+p/2,b=d.y+c/2,f=a,h=b,L.w(c,0)?h=0<p?h-g:h+g:(p=-p/c,f=Math.sqrt(g*g/(p*\np+1)),0>g&&(f=-f),f=(0>c?-1:1)*f+a,h=p*(f-a)+b),this.ce(d),this.pf(f,h),this.ce(e);else{this.ce(d);this.ce(e);h=N.alloc();b.Mi(h);k=h.$(e);p.Mi(h);l=h.$(d);if(k||l)g=b.da(mp(g),new J),this.Mc(0,this.getLinkPointFromPoint(a,b,g,e,!0,g)),c=p.da(mp(c),new J),this.Mc(1,this.getLinkPointFromPoint(f,p,c,d,!1,c));N.free(h)}}else{n=this.isAvoiding;p&&(m&&n||l)&&this.ak();var y=l?this.computeCurviness():0;n=this.getLinkPoint(a,b,g,!0,m,d,e);r=u=q=0;if(m||!h||l)v=this.computeEndSegmentLength(a,b,g,!0),r=this.getLinkDirection(a,\nb,n,g,!0,m,d,e),l&&(h||g.A(c)||!m&&1===g.x+c.x&&1===g.y+c.y)&&(r-=m?90:30,0>y&&(r-=180)),0>r?r+=360:360<=r&&(r-=360),l&&(v+=Math.abs(y)*(m?1:2)),0===r?q=v:90===r?u=v:180===r?q=-v:270===r?u=-v:(q=v*Math.cos(r*Math.PI/180),u=v*Math.sin(r*Math.PI/180)),g.wc()&&l&&(v=b.da(yc,J.alloc()),w=J.allocAt(v.x+1E3*q,v.y+1E3*u),this.getLinkPointFromPoint(a,b,v,w,!0,n),J.free(v),J.free(w));v=this.getLinkPoint(d,e,c,!1,m,a,b);var A=z=w=0;if(m||!k||l){var B=this.computeEndSegmentLength(d,e,c,!1);A=this.getLinkDirection(d,\ne,v,c,!1,m,a,b);l&&(k||g.A(c)||!m&&1===g.x+c.x&&1===g.y+c.y)&&(A+=m?0:30,0>y&&(A+=180));0>A?A+=360:360<=A&&(A-=360);l&&(B+=Math.abs(y)*(m?1:2));0===A?w=B:90===A?z=B:180===A?w=-B:270===A?z=-B:(w=B*Math.cos(A*Math.PI/180),z=B*Math.sin(A*Math.PI/180));c.wc()&&l&&(c=e.da(yc,J.alloc()),g=J.allocAt(c.x+1E3*w,c.y+1E3*z),this.getLinkPointFromPoint(d,e,c,g,!1,v),J.free(c),J.free(g))}c=n;if(m||!h||l)c=new J(n.x+q,n.y+u);g=v;if(m||!k||l)g=new J(v.x+w,v.y+z);!p&&!m&&h&&3<f&&this.adjustPoints(0,n,f-2,g)?this.Mc(f-\n1,v):!p&&!m&&k&&3<f&&this.adjustPoints(1,c,f-1,v)?this.Mc(0,n):!p&&(m?6<=f:4<f)&&this.adjustPoints(1,c,f-2,g)?(this.Mc(0,n),this.Mc(f-1,v)):(this.ak(),this.ce(n),(m||!h||l)&&this.ce(c),m&&this.addOrthoPoints(c,r,g,A,a,d),(m||!k||l)&&this.ce(g),this.ce(v))}return!0};function np(a,b){Math.abs(b.x-a.x)>Math.abs(b.y-a.y)?(b.x>=a.x?b.x=a.x+9E9:b.x=a.x-9E9,b.y=a.y):(b.y>=a.y?b.y=a.y+9E9:b.y=a.y-9E9,b.x=a.x);return b}\nU.prototype.getLinkPointFromPoint=function(a,b,c,d,e,f){void 0===f&&(f=new J);if(null===a||null===b)return f.assign(c),f;a.isVisible()||(e=a.findVisibleNode(),null!==e&&e!==a&&(b=e.port));a=null;e=b.panel;null===e||e.he()||(e=e.panel);if(null===e){e=d.x;d=d.y;var g=c.x;c=c.y}else{a=e.de;e=1/(a.m11*a.m22-a.m12*a.m21);g=a.m22*e;var h=-a.m12*e,k=-a.m21*e,l=a.m11*e,m=e*(a.m21*a.dy-a.m22*a.dx),n=e*(a.m12*a.dx-a.m11*a.dy);e=d.x*g+d.y*k+m;d=d.x*h+d.y*l+n;g=c.x*g+c.y*k+m;c=c.x*h+c.y*l+n}b.kk(e,d,g,c,f);null!==\na&&f.transform(a);return f};function op(a,b){var c=b.bp;null===c&&(c=new pp,c.port=b,c.node=b.part,b.bp=c);return qp(c,a)}\nU.prototype.getLinkPoint=function(a,b,c,d,e,f,g,h){void 0===h&&(h=new J);if(c.hb()&&!lp(c))return b.da(c,h),h;if(c.Kc()){var k=op(this,b);if(null!==k){h.assign(k.tq);if(e&&this.routing===rp){var l=op(this,g);if(null!==l&&k.fm<l.fm){k=J.alloc();l=J.alloc();var m=new N(b.da(sc,k),b.da(Cc,l)),n=this.computeSpot(!d,g);a=this.getLinkPoint(f,g,n,!d,e,a,b,l);(c.zf(Fc)||c.zf(Gc))&&a.y>=m.y&&a.y<=m.y+m.height?h.y=a.y:(c.zf(Dc)||c.zf(Hc))&&a.x>=m.x&&a.x<=m.x+m.width&&(h.x=a.x);J.free(k);J.free(l)}}return h}}c=\nb.da(mp(c),J.alloc());this.pointsCount>(e?6:2)?(g=d?this.i(1):this.i(this.pointsCount-2),e&&(g=np(c,g.copy()))):(k=this.computeSpot(!d,g),f=J.alloc(),g=g.da(mp(k),f),e&&(g=np(c,g)),J.free(f));this.getLinkPointFromPoint(a,b,c,g,d,h);J.free(c);return h};\nU.prototype.getLinkDirection=function(a,b,c,d,e,f,g,h){a:if(d.hb())var k=d.x>d.y?d.x>1-d.y?0:d.x<1-d.y?270:315:d.x<d.y?d.x>1-d.y?90:d.x<1-d.y?180:135:.5>d.x?225:.5<d.x?45:0;else{if(d.Kc()&&(k=op(this,b),null!==k))switch(k.xc){case 1:k=270;break a;case 2:k=180;break a;default:case 4:k=0;break a;case 8:k=90;break a}k=b.da(yc,J.alloc());this.pointsCount>(f?6:2)?(h=e?this.i(1):this.i(this.pointsCount-2),h=f?np(k,h.copy()):c):(c=J.alloc(),h=h.da(yc,c),J.free(c));c=Math.abs(h.x-k.x)>Math.abs(h.y-k.y)?h.x>=\nk.x?0:180:h.y>=k.y?90:270;J.free(k);k=c}d.wc()&&g.Fd(a)&&(k+=180,360<=k&&(k-=360));if(lp(d))return k;a=b.Li();if(0===a)return k;45<=a&&135>a?k+=90:135<=a&&225>a?k+=180:225<=a&&315>a&&(k+=270);360<=k&&(k-=360);return k};U.prototype.computeEndSegmentLength=function(a,b,c,d){if(null!==b&&c.Kc()&&(a=op(this,b),null!==a))return a.mv;a=d?this.fromEndSegmentLength:this.toEndSegmentLength;null!==b&&isNaN(a)&&(a=d?b.fromEndSegmentLength:b.toEndSegmentLength);isNaN(a)&&(a=10);return a};\nU.prototype.computeSpot=function(a,b){void 0===b&&(b=null);a?(a=b?b:this.fromPort,null===a?a=yc:(b=this.fromSpot,b.Lb()&&(b=a.fromSpot),a=b===Vc?rc:b)):(a=b?b:this.toPort,null===a?a=yc:(b=this.toSpot,b.Lb()&&(b=a.toSpot),a=b===Vc?rc:b));return a};function lp(a){return a===rc||.5===a.x&&.5===a.y}function mp(a){return.5===a.x&&.5===a.y?a:yc}\nU.prototype.computeOtherPoint=function(a,b){if(this.computeAdjusting()!==Vf&&4<this.pointsCount)return this.computeMidPoint(new J);a=b.bp;a=null!==a?qp(a,this):null;return null!==a?a.tq:b.da(yc)};U.prototype.computeShortLength=function(a){if(a){a=this.fromShortLength;if(isNaN(a)){var b=this.fromPort;null!==b&&(a=b.fromShortLength)}return isNaN(a)?0:a}a=this.toShortLength;isNaN(a)&&(b=this.toPort,null!==b&&(a=b.toShortLength));return isNaN(a)?0:a};\nU.prototype.vf=function(a,b,c,d,e,f){if(!1===this.pickable)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var g=f;void 0===f&&(g=qd.alloc(),g.reset());g.multiply(this.transform);if(this.wh(a,g))return dn(this,b,c,e),void 0===f&&qd.free(g),!0;if(this.Ic(a,g)){var h=!1;if(!this.isAtomic)for(var k=this.T.m,l=k.length;l--;){var m=k[l];if(m.visible||m===this.locationObject){var n=m.actualBounds,p=this.naturalBounds;if(!(n.x>p.width||n.y>p.height||0>n.x+n.width||0>n.y+n.height)){n=qd.alloc();n.set(g);\nif(m instanceof X)h=m.vf(a,b,c,d,e,n);else if(this.path===m){if(m instanceof uf)if(h=a,p=d,!1===m.pickable)h=!1;else if(n.multiply(m.transform),p)b:{var r=h,q=n;if(m.wh(r,q))h=!0;else{if(void 0===q&&(q=m.transform,r.De(m.actualBounds))){h=!0;break b}h=r.left;p=r.right;var u=r.top;r=r.bottom;var v=J.alloc(),w=J.alloc(),z=J.alloc(),y=qd.alloc();y.set(q);y.Hv(m.transform);y.Ns();w.x=p;w.y=u;w.transform(y);v.x=h;v.y=u;v.transform(y);q=!1;Dn(m,v,w,z)?q=!0:(v.x=p,v.y=r,v.transform(y),Dn(m,v,w,z)?q=!0:(w.x=\nh,w.y=r,w.transform(y),Dn(m,v,w,z)?q=!0:(v.x=h,v.y=u,v.transform(y),Dn(m,v,w,z)&&(q=!0))));qd.free(y);J.free(v);J.free(w);J.free(z);h=q}}else h=m.wh(h,n)}else h=gl(m,a,d,n);h&&(p=m,null!==b&&(p=b(m)),p&&(null===c||c(p))&&e.add(p));qd.free(n)}}}void 0===f&&qd.free(g);return h||null!==this.background||null!==this.areaBackground}void 0===f&&qd.free(g);return!1};\nU.prototype.computeCurve=function(){if(null===this.Mf){var a=this.fromPort,b=this.isOrthogonal;this.Mf=null!==a&&a===this.toPort&&!b}return this.Mf?Yf:this.curve};U.prototype.computeCorner=function(){if(this.curve===Yf)return 0;var a=this.corner;if(isNaN(a)||0>a)a=10;return a};\nU.prototype.findMidLabel=function(){for(var a=this.path,b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d];if(e!==a&&!e.isPanelMain&&(-Infinity===e.segmentIndex||isNaN(e.segmentIndex)))return e}for(a=this.labelNodes;a.next();)if(b=a.value,-Infinity===b.segmentIndex||isNaN(b.segmentIndex))return b;return null};\nU.prototype.computeSpacing=function(){if(!this.isVisible())return 0;var a=sp;a=Math.max(a,this.computeThickness());var b=this.fromPort,c=this.toPort;if(null!==b&&null!==c){var d=this.findMidLabel();if(null!==d){var e=d.naturalBounds,f=d.margin,g=isNaN(e.width)?30:e.width*d.scale+f.left+f.right;e=isNaN(e.height)?14:e.height*d.scale+f.top+f.bottom;d=d.segmentOrientation;d===Rm||d===Sm||d===dp?a=Math.max(a,e):d===Mm||d===Nm||d===Km||d===Lm?a=Math.max(a,g):(b=b.da(yc).Oa(c.da(yc))/180*Math.PI,a=Math.max(a,\nMath.abs(Math.sin(b)*g)+Math.abs(Math.cos(b)*e)+1));this.curve===Yf&&(a*=1.333)}}return a};U.prototype.arrangeBundledLinks=function(a,b){if(b)for(b=0;b<a.length;b++){var c=a[b];c.computeAdjusting()===Vf&&c.Ua()}};\nU.prototype.computeCurviness=function(){var a=this.curviness;if(isNaN(a)){a=tp;var b=this.If;if(null!==b){for(var c=Fa(),d=0,e=b.links,f=0;f<e.length;f++){var g=e[f].computeSpacing();c.push(g);d+=g}d=-d/2;for(f=0;f<e.length;f++){if(e[f]===this){a=d+c[f]/2;break}d+=c[f]}b.Ws===this.fromNode&&(a=-a);Ia(c)}}return a};U.prototype.computeThickness=function(){if(!this.isVisible())return 0;var a=this.path;return null!==a?Math.max(a.strokeWidth,1):1};\nU.prototype.hasCurviness=function(){return!isNaN(this.curviness)||null!==this.If};\nU.prototype.adjustPoints=function(a,b,c,d){var e=this.computeAdjusting();if(this.isOrthogonal){if(e===bp)return!1;e===cp&&(e=ap)}switch(e){case bp:var f=this.i(a),g=this.i(c);if(!f.Ta(b)||!g.Ta(d)){e=f.x;f=f.y;var h=g.x-e,k=g.y-f,l=Math.sqrt(h*h+k*k);if(!L.aa(l,0)){if(L.aa(h,0))var m=0>k?-Math.PI/2:Math.PI/2;else m=Math.atan(k/Math.abs(h)),0>h&&(m=Math.PI-m);g=b.x;var n=b.y;h=d.x-g;var p=d.y-n;k=Math.sqrt(h*h+p*p);L.aa(h,0)?p=0>p?-Math.PI/2:Math.PI/2:(p=Math.atan(p/Math.abs(h)),0>h&&(p=Math.PI-p));\nl=k/l;m=p-m;this.Mc(a,b);for(a+=1;a<c;a++)b=this.i(a),h=b.x-e,k=b.y-f,b=Math.sqrt(h*h+k*k),L.aa(b,0)||(L.aa(h,0)?k=0>k?-Math.PI/2:Math.PI/2:(k=Math.atan(k/Math.abs(h)),0>h&&(k=Math.PI-k)),h=k+m,b*=l,this.L(a,g+b*Math.cos(h),n+b*Math.sin(h)));this.Mc(c,d)}}return!0;case cp:f=this.i(a);n=this.i(c);if(!f.Ta(b)||!n.Ta(d)){e=f.x;f=f.y;g=n.x;n=n.y;l=(g-e)*(g-e)+(n-f)*(n-f);h=b.x;m=b.y;k=d.x;p=d.y;var r=1;if(0!==k-h){var q=(p-m)/(k-h);r=Math.sqrt(1+1/(q*q))}else q=9E9;this.Mc(a,b);for(a+=1;a<c;a++){b=this.i(a);\nvar u=b.x,v=b.y,w=.5;0!==l&&(w=((e-u)*(e-g)+(f-v)*(f-n))/l);var z=e+w*(g-e),y=f+w*(n-f);b=Math.sqrt((u-z)*(u-z)+(v-y)*(v-y));v<q*(u-z)+y&&(b=-b);0<q&&(b=-b);u=h+w*(k-h);w=m+w*(p-m);0!==q?(b=u+b/r,this.L(a,b,w-(b-u)/q)):this.L(a,u,w+b)}this.Mc(c,d)}return!0;case ap:a:{if(this.isOrthogonal&&(e=this.i(a),f=this.i(a+1),g=this.i(a+2),h=f.x,m=f.y,n=h,l=m,L.w(e.y,f.y)?L.w(f.x,g.x)?m=b.y:L.w(f.y,g.y)&&(h=b.x):L.w(e.x,f.x)&&(L.w(f.y,g.y)?h=b.x:L.w(f.x,g.x)&&(m=b.y)),this.L(a+1,h,m),e=this.i(c),f=this.i(c-\n1),g=this.i(c-2),h=f.x,m=f.y,k=h,p=m,L.w(e.y,f.y)?L.w(f.x,g.x)?m=d.y:L.w(f.y,g.y)&&(h=d.x):L.w(e.x,f.x)&&(L.w(f.y,g.y)?h=d.x:L.w(f.x,g.x)&&(m=d.y)),this.L(c-1,h,m),Kj(this))){this.L(a+1,n,l);this.L(c-1,k,p);c=!1;break a}this.Mc(a,b);this.Mc(c,d);c=!0}return c;default:return!1}};\nU.prototype.addOrthoPoints=function(a,b,c,d,e,f){0>b?b+=360:360<=b&&(b-=360);0>d?d+=360:360<=d&&(d-=360);var g=d;b=315<=b||45>b?0:45<=b&&135>b?90:135<=b&&225>b?180:270;d=315<=d||45>d?0:45<=d&&135>d?90:135<=d&&225>d?180:270;var h=e.actualBounds.copy(),k=f.actualBounds.copy();if(h.u()&&k.u()){h.Gc(up,up);k.Gc(up,up);h.Le(a);k.Le(c);var l=J.alloc(),m=J.alloc();if(0===b)if(c.x>a.x||270===d&&c.y<a.y&&k.right>a.x||90===d&&c.y>a.y&&k.right>a.x)l.h(c.x,a.y),m.h(c.x,(a.y+c.y)/2),180===d?(l.x=this.computeMidOrthoPosition(a.x,\na.y,c.x,c.y,!1),m.x=l.x,m.y=c.y):270===d&&c.y<a.y||90===d&&c.y>a.y?(l.x=a.x<k.left?this.computeMidOrthoPosition(a.x,a.y,k.left,c.y,!1):a.x<k.right&&(270===d&&a.y<k.top||90===d&&a.y>k.bottom)?this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!1):k.right,m.x=l.x,m.y=c.y):0===d&&a.x<k.left&&a.y>k.top&&a.y<k.bottom&&(l.x=a.x,l.y=a.y<c.y?Math.min(c.y,k.top):Math.max(c.y,k.bottom),m.y=l.y);else{l.h(a.x,c.y);m.h((a.x+c.x)/2,c.y);if(180===d||90===d&&c.y<h.top||270===d&&c.y>h.bottom)180===d&&(k.$(a)||h.$(c))?l.y=\nthis.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0):c.y<a.y&&(180===d||90===d)?l.y=this.computeMidOrthoPosition(a.x,h.top,c.x,Math.max(c.y,k.bottom),!0):c.y>a.y&&(180===d||270===d)&&(l.y=this.computeMidOrthoPosition(a.x,h.bottom,c.x,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y<h.bottom)if(c.x>=h.left&&c.x<=a.x||a.x<=k.right&&a.x>=c.x){if(90===d||270===d)l.h(Math.max((a.x+c.x)/2,a.x),a.y),m.h(l.x,c.y)}else l.y=270===d||(0===d||180===d)&&c.y<a.y?Math.min(c.y,0===d?h.top:Math.min(h.top,k.top)):\nMath.max(c.y,0===d?h.bottom:Math.max(h.bottom,k.bottom)),m.x=c.x,m.y=l.y}else if(180===b)if(c.x<a.x||270===d&&c.y<a.y&&k.left<a.x||90===d&&c.y>a.y&&k.left<a.x)l.h(c.x,a.y),m.h(c.x,(a.y+c.y)/2),0===d?(l.x=this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!1),m.x=l.x,m.y=c.y):270===d&&c.y<a.y||90===d&&c.y>a.y?(l.x=a.x>k.right?this.computeMidOrthoPosition(a.x,a.y,k.right,c.y,!1):a.x>k.left&&(270===d&&a.y<k.top||90===d&&a.y>k.bottom)?this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!1):k.left,m.x=l.x,m.y=c.y):\n180===d&&a.x>k.right&&a.y>k.top&&a.y<k.bottom&&(l.x=a.x,l.y=a.y<c.y?Math.min(c.y,k.top):Math.max(c.y,k.bottom),m.y=l.y);else{l.h(a.x,c.y);m.h((a.x+c.x)/2,c.y);if(0===d||90===d&&c.y<h.top||270===d&&c.y>h.bottom)0===d&&(k.$(a)||h.$(c))?l.y=this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0):c.y<a.y&&(0===d||90===d)?l.y=this.computeMidOrthoPosition(a.x,h.top,c.x,Math.max(c.y,k.bottom),!0):c.y>a.y&&(0===d||270===d)&&(l.y=this.computeMidOrthoPosition(a.x,h.bottom,c.x,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=\nl.y;if(l.y>h.top&&l.y<h.bottom)if(c.x<=h.right&&c.x>=a.x||a.x>=k.left&&a.x<=c.x){if(90===d||270===d)l.h(Math.min((a.x+c.x)/2,a.x),a.y),m.h(l.x,c.y)}else l.y=270===d||(0===d||180===d)&&c.y<a.y?Math.min(c.y,180===d?h.top:Math.min(h.top,k.top)):Math.max(c.y,180===d?h.bottom:Math.max(h.bottom,k.bottom)),m.x=c.x,m.y=l.y}else if(90===b)if(c.y>a.y||180===d&&c.x<a.x&&k.bottom>a.y||0===d&&c.x>a.x&&k.bottom>a.y)l.h(a.x,c.y),m.h((a.x+c.x)/2,c.y),270===d?(l.y=this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0),\nm.x=c.x,m.y=l.y):180===d&&c.x<a.x||0===d&&c.x>a.x?(l.y=a.y<k.top?this.computeMidOrthoPosition(a.x,a.y,c.x,k.top,!0):a.y<k.bottom&&(180===d&&a.x<k.left||0===d&&a.x>k.right)?this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0):k.bottom,m.x=c.x,m.y=l.y):90===d&&a.y<k.top&&a.x>k.left&&a.x<k.right&&(l.x=a.x<c.x?Math.min(c.x,k.left):Math.max(c.x,k.right),l.y=a.y,m.x=l.x);else{l.h(c.x,a.y);m.h(c.x,(a.y+c.y)/2);if(270===d||0===d&&c.x<h.left||180===d&&c.x>h.right)270===d&&(k.$(a)||h.$(c))?l.x=this.computeMidOrthoPosition(a.x,\na.y,c.x,c.y,!1):c.x<a.x&&(270===d||0===d)?l.x=this.computeMidOrthoPosition(h.left,a.y,Math.max(c.x,k.right),c.y,!1):c.x>a.x&&(270===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,a.y,Math.min(c.x,k.left),c.y,!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x<h.right)if(c.y>=h.top&&c.y<=a.y||a.y<=k.bottom&&a.y>=c.y){if(0===d||180===d)l.h(a.x,Math.max((a.y+c.y)/2,a.y)),m.h(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.x<a.x?Math.min(c.x,90===d?h.left:Math.min(h.left,k.left)):Math.max(c.x,90===d?h.right:\nMath.max(h.right,k.right)),m.x=l.x,m.y=c.y}else if(c.y<a.y||180===d&&c.x<a.x&&k.top<a.y||0===d&&c.x>a.x&&k.top<a.y)l.h(a.x,c.y),m.h((a.x+c.x)/2,c.y),90===d?(l.y=this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0),m.x=c.x,m.y=l.y):180===d&&c.x<a.x||0===d&&c.x>=a.x?(l.y=a.y>k.bottom?this.computeMidOrthoPosition(a.x,a.y,c.x,k.bottom,!0):a.y>k.top&&(180===d&&a.x<k.left||0===d&&a.x>k.right)?this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!0):k.top,m.x=c.x,m.y=l.y):270===d&&a.y>k.bottom&&a.x>k.left&&a.x<k.right&&\n(l.x=a.x<c.x?Math.min(c.x,k.left):Math.max(c.x,k.right),l.y=a.y,m.x=l.x);else{l.h(c.x,a.y);m.h(c.x,(a.y+c.y)/2);if(90===d||0===d&&c.x<h.left||180===d&&c.x>h.right)90===d&&(k.$(a)||h.$(c))?l.x=this.computeMidOrthoPosition(a.x,a.y,c.x,c.y,!1):c.x<a.x&&(90===d||0===d)?l.x=this.computeMidOrthoPosition(h.left,a.y,Math.max(c.x,k.right),c.y,!1):c.x>a.x&&(90===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,a.y,Math.min(c.x,k.left),c.y,!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x<h.right)if(c.y<=h.bottom&&\nc.y>=a.y||a.y>=k.top&&a.y<=c.y){if(0===d||180===d)l.h(a.x,Math.min((a.y+c.y)/2,a.y)),m.h(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.x<a.x?Math.min(c.x,270===d?h.left:Math.min(h.left,k.left)):Math.max(c.x,270===d?h.right:Math.max(h.right,k.right)),m.x=l.x,m.y=c.y}var n=c;if(this.isAvoiding){var p=this.diagram;if(null===p||e===f||this.layer.isTemporary||!nk(p)||h.$(n)&&!f.Fd(e)||k.$(a)&&!e.Fd(f))b=!1;else{var r=ok(p,!0,this.containingGroup,null);if(17!==this.segmentIndex&&r.qk(Math.min(a.x,l.x),\nMath.min(a.y,l.y),Math.abs(a.x-l.x),Math.abs(a.y-l.y))&&r.qk(Math.min(l.x,m.x),Math.min(l.y,m.y),Math.abs(l.x-m.x),Math.abs(l.y-m.y))&&r.qk(Math.min(m.x,n.x),Math.min(m.y,n.y),Math.abs(m.x-n.x),Math.abs(m.y-n.y)))b=!1;else{e=a;f=n;var q=c=null;if(p.isVirtualized){p=r.bounds.copy();p.Gc(-r.bq,-r.aq);var u=J.alloc();tk(r,a.x,a.y)||(L.yf(p.x,p.y,p.x+p.width,p.y+p.height,a.x,a.y,l.x,l.y,u)?(c=a=u.copy(),b=u.Oa(l)):L.yf(p.x,p.y,p.x+p.width,p.y+p.height,l.x,l.y,m.x,m.y,u)?(c=a=u.copy(),b=u.Oa(m)):L.yf(p.x,\np.y,p.x+p.width,p.y+p.height,m.x,m.y,n.x,n.y,u)&&(c=a=u.copy(),b=u.Oa(n)));tk(r,n.x,n.y)||(L.yf(p.x,p.y,p.x+p.width,p.y+p.height,n.x,n.y,m.x,m.y,u)?(q=n=u.copy(),d=m.Oa(u)):L.yf(p.x,p.y,p.x+p.width,p.y+p.height,m.x,m.y,l.x,l.y,u)?(q=n=u.copy(),d=l.Oa(u)):L.yf(p.x,p.y,p.x+p.width,p.y+p.height,l.x,l.y,a.x,a.y,u)&&(q=n=u.copy(),d=a.Oa(u)));J.free(u)}h=h.copy().Nc(k);h.Gc(r.bq*r.it,r.aq*r.it);vp(r,a,b,n,d,h,!0);k=wp(r,n.x,n.y);!r.abort&&k>=xp&&(sk(r),h.Gc(r.bq*r.ly,r.aq*r.my),vp(r,a,b,n,d,h,!1),k=wp(r,\nn.x,n.y));if(!r.abort&&k<xp&&wp(r,n.x,n.y)!==uk){yp(this,r,n.x,n.y,d,!0,g);h=this.i(2);if(4>this.pointsCount)0===b||180===b?(h.x=a.x,h.y=n.y):(h.x=n.x,h.y=a.y),this.L(2,h.x,h.y),this.l(3,h.x,h.y);else if(g=this.i(3),0===b||180===b)L.w(h.x,g.x)?(h=0===b?Math.max(h.x,a.x):Math.min(h.x,a.x),this.L(2,h,a.y),this.L(3,h,g.y)):L.w(h.y,g.y)?(Math.abs(a.y-h.y)<=r.aq/2&&(this.L(2,h.x,a.y),this.L(3,g.x,a.y)),this.l(2,h.x,a.y)):this.L(2,a.x,h.y);else if(90===b||270===b)L.w(h.y,g.y)?(h=90===b?Math.max(h.y,a.y):\nMath.min(h.y,a.y),this.L(2,a.x,h),this.L(3,g.x,h)):L.w(h.x,g.x)?(Math.abs(a.x-h.x)<=r.bq/2&&(this.L(2,a.x,h.y),this.L(3,a.x,g.y)),this.l(2,a.x,h.y)):this.L(2,h.x,a.y);null!==c&&(a=this.i(1),g=this.i(2),a.x!==g.x&&a.y!==g.y?0===b||180===b?this.l(2,a.x,g.y):this.l(2,g.x,a.y):0===b||180===b?this.l(2,e.x,c.y):this.l(2,c.x,e.y));null!==q&&(0===d||180===d?this.pf(f.x,q.y):this.pf(q.x,f.y));b=!0}else b=!1}}}else b=!1;b||(this.ce(l.copy()),this.ce(m.copy()));J.free(l);J.free(m)}};\nU.prototype.computeMidOrthoPosition=function(a,b,c,d,e){var f=0;!this.hasCurviness()||this.computeSpot(!0,this.fromPort).Kc()||this.computeSpot(!1,this.toPort).Kc()||(f=this.computeCurviness());return e?(b+d)/2+f:(a+c)/2+f};\nfunction Kj(a){if(null===a.diagram||!a.isAvoiding||!nk(a.diagram))return!1;var b=a.points.m,c=b.length;if(4>c)return!1;a=ok(a.diagram,!0,a.containingGroup,null);for(var d=1;d<c-2;d++){var e=b[d],f=b[d+1];if(!a.qk(Math.min(e.x,f.x),Math.min(e.y,f.y),Math.abs(e.x-f.x),Math.abs(e.y-f.y)))return!0}return!1}\nfunction yp(a,b,c,d,e,f,g){var h=b.bq,k=b.aq,l=wp(b,c,d),m=c,n=d;0===e?m+=h:90===e?n+=k:180===e?m-=h:n-=k;e!==g&&l>zp&&wp(b,m,n)!==l-1&&(wp(b,c-h,d)===l-1?(e=180,m=c-h,n=d):wp(b,c+h,d)===l-1?(e=0,m=c+h,n=d):wp(b,c,d-k)===l-1?(e=270,m=c,n=d-k):wp(b,c,d+k)===l-1&&(e=90,m=c,n=d+k));for(;l>zp&&wp(b,m,n)===l-1;)c=m,d=n,0===e?m+=h:90===e?n+=k:180===e?m-=h:n-=k,--l;if(f){if(l>zp)if(180===e||0===e)c=Math.floor(c/h)*h+h/2;else if(90===e||270===e)d=Math.floor(d/k)*k+k/2}else c=Math.floor(c/h)*h+h/2,d=Math.floor(d/\nk)*k+k/2;l>zp&&(f=e,g=c,m=d,0===e?(f=90,m+=k):90===e?(f=180,g-=h):180===e?(f=270,m-=k):270===e&&(f=0,g+=h),wp(b,g,m)===l-1?yp(a,b,g,m,f,!1,f):(g=c,m=d,0===e?(f=270,m-=k):90===e?(f=0,g+=h):180===e?(f=90,m+=k):270===e&&(f=180,g-=h),wp(b,g,m)===l-1&&yp(a,b,g,m,f,!1,f)));a.pf(c,d)}U.prototype.Kz=function(a){var b=a.x;a=a.y;for(var c=this.i(0),d=this.i(1),e=Bb(b,a,c.x,c.y,d.x,d.y),f=0,g=1;g<this.pointsCount-1;g++){c=this.i(g+1);var h=Bb(b,a,d.x,d.y,c.x,c.y);d=c;h<e&&(f=g,e=h)}return f};\nU.prototype.cc=function(a){this.Lm=!1;a&&this.s()};U.prototype.sk=function(a){if(!a){if(!1===this.rd)return;a=this.nb();if(this.Lm&&(null===a||null!==a.geometry))return}this.ma=this.makeGeometry();a=this.path;if(null!==a){a.ma=this.ma;for(var b=this.T.m,c=b.length,d=0;d<c;d++){var e=b[d];e!==a&&e.isPanelMain&&e instanceof uf&&(e.ma=this.ma)}}};\nU.prototype.makeGeometry=function(){var a=this.ma,b=this.pointsCount;if(2>b)return a.type=Q.j,this.Lm=!0,a;var c=!1,d=this.diagram;null!==d&&ep(this)&&d.Wh.contains(this)&&(0!==this.Gl.width||0!==this.Gl.height)&&(c=!0);var e=this.i(0).copy(),f=e.copy();d=this.Bb.m;var g=this.computeCurve();if(g===Yf&&3<=b&&!L.aa(this.smoothness,0))if(3===b){var h=this.i(1);d=Math.min(e.x,h.x);var k=Math.min(e.y,h.y);h=this.i(2);d=Math.min(d,h.x);k=Math.min(k,h.y)}else{if(this.isOrthogonal)for(k=0;k<b;k++)h=d[k],\nf.x=Math.min(h.x,f.x),f.y=Math.min(h.y,f.y);else for(d=3;d<b;d+=3)d+3>=b&&(d=b-1),k=this.i(d),f.x=Math.min(k.x,f.x),f.y=Math.min(k.y,f.y);d=f.x;k=f.y}else{for(k=0;k<b;k++)h=d[k],f.x=Math.min(h.x,f.x),f.y=Math.min(h.y,f.y);d=f.x;k=f.y}d-=this.Ru.x;k-=this.Ru.y;e.x-=d;e.y-=k;if(2!==b||ep(this)){a.type=Q.o;h=vd(a);0!==this.computeShortLength(!0)&&(e=Ap(this,e,!0,f));wd(h,e.x,e.y,!1);if(g===Yf&&3<=b&&!L.aa(this.smoothness,0))if(3===b)c=this.i(1),b=c.x-d,c=c.y-k,e=this.i(2).copy(),e.x-=d,e.y-=k,0!==this.computeShortLength(!1)&&\n(e=Ap(this,e,!1,f)),xd(h,b,c,b,c,e.x,e.y);else if(this.isOrthogonal){b=J.allocAt(d,k);c=J.alloc();c.assign(this.i(1));f=J.allocAt(d,k);e=J.allocAt(d,k);g=this.i(0);for(var l,m=this.smoothness/3,n=1;n<this.pointsCount-1;n++){l=this.i(n);var p=g,r=l,q=this.i(Bp(this,l,n,!1));if(!L.aa(p.x,r.x)||!L.aa(r.x,q.x))if(!L.aa(p.y,r.y)||!L.aa(r.y,q.y)){var u=m;isNaN(u)&&(u=this.smoothness/3);var v=p.x;p=p.y;var w=r.x;r=r.y;var z=q.x;q=q.y;var y=u*Cp(v,p,w,r);u*=Cp(w,r,z,q);L.aa(p,r)&&L.aa(w,z)&&(w>v?q>r?(f.x=\nw-y,f.y=r-y,e.x=w+u,e.y=r+u):(f.x=w-y,f.y=r+y,e.x=w+u,e.y=r-u):q>r?(f.x=w+y,f.y=r-y,e.x=w-u,e.y=r+u):(f.x=w+y,f.y=r+y,e.x=w-u,e.y=r-u));L.aa(v,w)&&L.aa(r,q)&&(r>p?(z>w?(f.x=w-y,f.y=r-y,e.x=w+u):(f.x=w+y,f.y=r-y,e.x=w-u),e.y=r+u):(z>w?(f.x=w-y,f.y=r+y,e.x=w+u):(f.x=w+y,f.y=r+y,e.x=w-u),e.y=r-u));if(L.aa(v,w)&&L.aa(w,z)||L.aa(p,r)&&L.aa(r,q))v=.5*(v+z),p=.5*(p+q),f.x=v,f.y=p,e.x=v,e.y=p;1===n?(c.x=.5*(g.x+l.x),c.y=.5*(g.y+l.y)):2===n&&L.aa(g.x,this.i(0).x)&&L.aa(g.y,this.i(0).y)&&(c.x=.5*(g.x+l.x),\nc.y=.5*(g.y+l.y));xd(h,c.x-d,c.y-k,f.x-d,f.y-k,l.x-d,l.y-k);b.set(f);c.set(e);g=l}}l=g.x;g=g.y;m=this.i(this.pointsCount-1);0!==this.computeShortLength(!1)&&(m=Ap(this,m.copy(),!1,pb));l=.5*(l+m.x);g=.5*(g+m.y);xd(h,e.x-d,e.y-k,l-d,g-k,m.x-d,m.y-k);J.free(b);J.free(c);J.free(f);J.free(e)}else for(c=3;c<b;c+=3)f=this.i(c-2),c+3>=b&&(c=b-1),e=this.i(c-1),g=this.i(c),c===b-1&&0!==this.computeShortLength(!1)&&(g=Ap(this,g.copy(),!1,pb)),xd(h,f.x-d,f.y-k,e.x-d,e.y-k,g.x-d,g.y-k);else{f=J.alloc();f.assign(this.i(0));\ne=J.alloc();e.assign(f);g=this.computeCorner();n=1;for(l=0;n<b;){n=Bp(this,f,n,1<n);m=this.i(n);if(n>=b-1){if(!f.A(m))0!==this.computeShortLength(!1)&&(m=Ap(this,m.copy(),!1,pb)),Dp(this,h,-d,-k,f,m,c);else if(0===l)for(n=1;n<b;)e.assign(f),m=this.i(n++),Dp(this,h,-d,-k,f,m,c),f.assign(m);break}l=Bp(this,m,n+1,n<b-3);n=-d;v=-k;p=m;w=this.i(l);u=c;if(L.w(f.y,p.y)&&L.w(p.x,w.x))if(q=Math.min(g,Math.abs(p.x-e.x)/2),q=y=Math.min(q,Math.abs(w.y-p.y)/2),L.w(q,0))Dp(this,h,n,v,f,p,u),f.assign(p);else{var A=\np.x,B=p.y;r=A;z=B;p.x>f.x?A=p.x-q:A=p.x+q;w.y>p.y?z=p.y+y:z=p.y-y;w=J.allocAt(A,B);Dp(this,h,n,v,f,w,u);J.free(w);Ad(h,p.x+n,p.y+v,r+n,z+v);f.h(r,z)}else L.w(f.x,p.x)&&L.w(p.y,w.y)?(q=Math.min(g,Math.abs(p.y-e.y)/2),q=y=Math.min(q,Math.abs(w.x-p.x)/2),L.w(y,0)?(Dp(this,h,n,v,f,p,u),f.assign(p)):(A=p.x,B=p.y,r=A,z=B,p.y>f.y?B=p.y-q:B=p.y+q,w.x>p.x?r=p.x+y:r=p.x-y,w=J.allocAt(A,B),Dp(this,h,n,v,f,w,u),J.free(w),Ad(h,p.x+n,p.y+v,r+n,z+v),f.h(r,z))):(Dp(this,h,n,v,f,p,u),f.assign(p));e.assign(m);n=l}J.free(f)}Dd=\nh}else h=this.i(1).copy(),h.x-=d,h.y-=k,0!==this.computeShortLength(!0)&&(e=Ap(this,e,!0,f)),0!==this.computeShortLength(!1)&&(h=Ap(this,h,!1,f)),a.type=Q.j,a.startX=e.x,a.startY=e.y,a.endX=h.x,a.endY=h.y;this.Lm=!0;return a};function Cp(a,b,c,d){a=c-a;if(isNaN(a)||Infinity===a||-Infinity===a)return NaN;0>a&&(a=-a);b=d-b;if(isNaN(b)||Infinity===b||-Infinity===b)return NaN;0>b&&(b=-b);return L.aa(a,0)?b:L.aa(b,0)?a:Math.sqrt(a*a+b*b)}\nfunction Ap(a,b,c,d){var e=a.pointsCount;if(2>e)return b;if(c){var f=a.i(1);c=f.x-d.x;f=f.y-d.y;d=Cp(b.x,b.y,c,f);if(0===d)return b;e=2===e?.5*d:d;a=a.computeShortLength(!0);a>e&&(a=e);e=a*(f-b.y)/d;b.x+=a*(c-b.x)/d;b.y+=e}else{f=a.i(e-2);c=f.x-d.x;f=f.y-d.y;d=Cp(b.x,b.y,c,f);if(0===d)return b;e=2===e?.5*d:d;a=a.computeShortLength(!1);a>e&&(a=e);e=a*(b.y-f)/d;b.x-=a*(b.x-c)/d;b.y-=e}return b}\nfunction Bp(a,b,c,d){for(var e=a.pointsCount,f=b;L.aa(b.x,f.x)&&L.aa(b.y,f.y);){if(c>=e)return e-1;f=a.i(c++)}if(!L.aa(b.x,f.x)&&!L.aa(b.y,f.y))return c-1;for(var g=f;L.aa(b.x,f.x)&&L.aa(f.x,g.x)&&(!d||(b.y>=f.y?f.y>=g.y:f.y<=g.y))||L.aa(b.y,f.y)&&L.aa(f.y,g.y)&&(!d||(b.x>=f.x?f.x>=g.x:f.x<=g.x));){if(c>=e)return e-1;g=a.i(c++)}return c-2}U.prototype.computeJumpLength=function(){return 10};\nfunction Dp(a,b,c,d,e,f,g){if(!g&&ep(a)){g=a.computeJumpLength();var h=g/2,k=[],l=0;a.isVisible()&&(l=Ep(a,e,f,k));if(0<l)if(L.w(e.y,f.y))if(e.x<f.x)for(var m=0;m<l;){var n=Math.max(e.x,Math.min(k[m++]-h,f.x-g));b.lineTo(n+c,f.y+d);var p=n+c;for(var r=Math.min(n+g,f.x);m<l;)if(n=k[m],n<r+g)m++,r=Math.min(n+h,f.x);else break;n=f.y-g+d;r+=c;var q=f.y+d;a.curve===Uf?wd(b,r,q,!1):xd(b,p,n,r,n,r,q)}else for(--l;0<=l;){m=Math.min(e.x,Math.max(k[l--]+h,f.x+g));b.lineTo(m+c,f.y+d);p=m+c;for(n=Math.max(m-\ng,f.x);0<=l;)if(m=k[l],m>n-g)l--,n=Math.max(m-h,f.x);else break;m=f.y-g+d;n+=c;r=f.y+d;a.curve===Uf?wd(b,n,r,!1):xd(b,p,m,n,m,n,r)}else if(L.w(e.x,f.x))if(e.y<f.y)for(m=0;m<l;){n=Math.max(e.y,Math.min(k[m++]-h,f.y-g));b.lineTo(f.x+c,n+d);p=n+d;for(n=Math.min(n+g,f.y);m<l;)if(r=k[m],r<n+g)m++,n=Math.min(r+h,f.y);else break;r=f.x-g+c;q=f.x+c;n+=d;a.curve===Uf?wd(b,q,n,!1):xd(b,r,p,r,n,q,n)}else for(--l;0<=l;){m=Math.min(e.y,Math.max(k[l--]+h,f.y+g));b.lineTo(f.x+c,m+d);p=m+d;for(m=Math.max(m-g,f.y);0<=\nl;)if(n=k[l],n>m-g)l--,m=Math.max(n-h,f.y);else break;n=f.x-g+c;r=f.x+c;m+=d;a.curve===Uf?wd(b,r,m,!1):xd(b,n,p,n,m,r,m)}}b.lineTo(f.x+c,f.y+d)}\nfunction Ep(a,b,c,d){var e=a.diagram;if(null===e||b.A(c))return 0;for(e=e.layers;e.next();){var f=e.value;if(null!==f&&f.visible){f=f.Fa.m;for(var g=f.length,h=0;h<g;h++){var k=f[h];if(k instanceof U){if(k===a)return 0<d.length&&d.sort(function(a,b){return a-b}),d.length;if(k.isVisible()&&ep(k)){var l=k.routeBounds;l.u()&&a.routeBounds.Ic(l)&&!a.usesSamePort(k)&&(l=k.path,null!==l&&l.Bf()&&Fp(b,c,d,k))}}}}}0<d.length&&d.sort(function(a,b){return a-b});return d.length}\nfunction Fp(a,b,c,d){for(var e=L.w(a.y,b.y),f=d.pointsCount,g=d.i(0),h=J.alloc(),k=1;k<f;k++){var l=d.i(k);if(k<f-1){var m=d.i(k+1);if(g.y===l.y&&l.y===m.y){if(l.x>g.x&&m.x>=l.x||l.x<g.x&&m.x<=l.x)continue}else if(g.x===l.x&&l.x===m.x&&(l.y>g.y&&m.y>=l.y||l.y<g.y&&m.y<=l.y))continue}a:{m=a.x;var n=a.y,p=b.x,r=b.y,q=g.x;g=g.y;var u=l.x,v=l.y;if(!L.w(m,p)){if(L.w(n,r)&&L.w(q,u)&&Math.min(m,p)<q&&Math.max(m,p)>q&&Math.min(g,v)<n&&Math.max(g,v)>n&&!L.w(g,v)){h.x=q;h.y=n;m=!0;break a}}else if(!L.w(n,r)&&\nL.w(g,v)&&Math.min(n,r)<g&&Math.max(n,r)>g&&Math.min(q,u)<m&&Math.max(q,u)>m&&!L.w(q,u)){h.x=m;h.y=g;m=!0;break a}h.x=0;h.y=0;m=!1}m&&(e?c.push(h.x):c.push(h.y));g=l}J.free(h)}function ep(a){a=a.curve;return a===Tf||a===Uf}function ip(a,b){if(b||ep(a))b=a.diagram,null===b||b.animationManager.isTicking||b.Wh.contains(a)||0===a.Gl.width&&0===a.Gl.height||b.Wh.add(a,a.Gl.copy())}\nU.prototype.rq=function(a){var b=this.layer;if(null!==b&&b.visible&&!b.isTemporary){var c=b.diagram;if(null!==c&&!c.animationManager.isTicking){var d=!1;for(c=c.layers;c.next();){var e=c.value;if(e.visible)if(e===b){d=!0;var f=!1;e=e.Fa.m;for(var g=e.length,h=0;h<g;h++){var k=e[h];k instanceof U&&(k===this?f=!0:f&&Gp(this,k,a))}}else if(d)for(f=e.Fa.m,e=f.length,g=0;g<e;g++)h=f[g],h instanceof U&&Gp(this,h,a)}}}};\nfunction Gp(a,b,c){if(null!==b&&b.Lm&&b.rd&&ep(b)){var d=b.routeBounds;d.u()&&(a.routeBounds.Ic(d)||c.Ic(d))&&(a.usesSamePort(b)||b.cc(!1))}}U.prototype.usesSamePort=function(a){var b=this.pointsCount,c=a.pointsCount;if(0<b&&0<c){var d=this.i(0),e=a.i(0);if(d.Ta(e))return!0;b=this.i(b-1);a=a.i(c-1);if(b.Ta(a)||d.Ta(a)||b.Ta(e))return!0}else if(this.fromNode===a.fromNode||this.toNode===a.toNode||this.fromNode===a.toNode||this.toNode===a.fromNode)return!0;return!1};\nU.prototype.isVisible=function(){if(!V.prototype.isVisible.call(this))return!1;var a=this.containingGroup,b=!0,c=this.diagram;null!==c&&(b=c.isTreePathToChildren);c=this.fromNode;if(null!==c){if(this.isTreeLink&&b&&!c.isTreeExpanded)return!1;if(c===a)return!0;for(var d=c;null!==d;){if(d.labeledLink===this)return!0;d=d.containingGroup}c=c.findVisibleNode();if(null===c||c===a)return!1}c=this.toNode;if(null!==c){if(this.isTreeLink&&!b&&!c.isTreeExpanded)return!1;if(c===a)return!0;for(b=c;null!==b;){if(b.labeledLink===\nthis)return!0;b=b.containingGroup}b=c.findVisibleNode();if(null===b||b===a)return!1}return!0};U.prototype.Nb=function(a){V.prototype.Nb.call(this,a);null!==this.If&&this.If.mm();if(null!==this.ld)for(var b=this.ld.iterator;b.next();)b.value.Nb(a)};U.prototype.computeAdjusting=function(){return this.isAvoiding&&null!==this.diagram&&this.diagram.animationManager.defaultAnimation.isAnimating?ap:this.Ek};\nfunction fp(a){var b=a.Se;if(null!==b){var c=a.kf;if(null!==c&&isNaN(a.curviness)){for(var d=a.Te,e=a.lf,f=a=null,g=b.ab.m,h=g.length,k=0;k<h;k++){var l=g[k];if(l.Se===b&&l.Te===d&&l.kf===c&&l.lf===e||l.Se===c&&l.Te===e&&l.kf===b&&l.lf===d)null===f?f=l:(null===a&&(a=[],a.push(f)),a.push(l))}if(null!==a){f=Lo(b,c,d,e);null===f&&(f=new Hp(b,d,c,e),Ko(b,f),Ko(c,f));f.links=a;for(b=0;b<a.length;b++)a[b].If=f;f.mm()}}}}\nfunction gp(a){var b=a.If;null!==b&&isNaN(a.curviness)&&(a.If=null,a=b.links.indexOf(a),0<=a&&(Ea(b.links,a),b.mm()))}U.prototype.Dh=function(){return!0};\nna.Object.defineProperties(U.prototype,{fromNode:{get:function(){return this.Se},set:function(a){var b=this.Se;if(b!==a){var c=this.fromPort;null!==b&&(this.kf!==b&&Po(b,this,c),gp(this),this.B(2));this.Se=a;null!==a&&this.Nb(a.isVisible());this.Mf=null;this.Ua();var d=this.diagram;null!==d&&d.Z&&d.partManager.setFromNodeForLink(this,a,b);var e=this.fromPort,f=this.fromPortChanged;if(null!==f){var g=!0;null!==d&&(g=d.Z,d.Z=!0);f(this,c,e);null!==d&&(d.Z=g)}null!==a&&\n(this.kf!==a&&Oo(a,this,e),fp(this),this.B(1));this.g(\"fromNode\",b,a);Io(this)}}},fromPortId:{get:function(){return this.Te},set:function(a){var b=this.Te;if(b!==a){var c=this.fromPort;null!==c&&Mo(c);gp(this);this.Te=a;var d=this.fromPort;null!==d&&Mo(d);var e=this.diagram;if(null!==e){var f=this.data,g=e.model;null!==f&&g.Qi()&&g.Xv(f,a)}c!==d&&(this.Mf=null,this.Ua(),f=this.fromPortChanged,null!==f&&(g=!0,null!==e&&(g=e.Z,e.Z=!0),f(this,c,d),null!==e&&(e.Z=g)));fp(this);\nthis.g(\"fromPortId\",b,a)}}},fromPort:{get:function(){var a=this.Se;return null===a?null:a.Es(this.Te)}},fromPortChanged:{get:function(){return this.On},set:function(a){var b=this.On;b!==a&&(this.On=a,this.g(\"fromPortChanged\",b,a))}},toNode:{get:function(){return this.kf},set:function(a){var b=this.kf;if(b!==a){var c=this.toPort;null!==b&&(this.Se!==b&&Po(b,this,c),gp(this),this.B(2));this.kf=a;null!==a&&this.Nb(a.isVisible());\nthis.Mf=null;this.Ua();var d=this.diagram;null!==d&&d.Z&&d.partManager.setToNodeForLink(this,a,b);var e=this.toPort,f=this.toPortChanged;if(null!==f){var g=!0;null!==d&&(g=d.Z,d.Z=!0);f(this,c,e);null!==d&&(d.Z=g)}null!==a&&(this.Se!==a&&Oo(a,this,e),fp(this),this.B(1));this.g(\"toNode\",b,a);Io(this)}}},toPortId:{get:function(){return this.lf},set:function(a){var b=this.lf;if(b!==a){var c=this.toPort;null!==c&&Mo(c);gp(this);this.lf=a;var d=this.toPort;null!==d&&Mo(d);\nvar e=this.diagram;if(null!==e){var f=this.data,g=e.model;null!==f&&g.Qi()&&g.aw(f,a)}c!==d&&(this.Mf=null,this.Ua(),f=this.toPortChanged,null!==f&&(g=!0,null!==e&&(g=e.Z,e.Z=!0),f(this,c,d),null!==e&&(e.Z=g)));fp(this);this.g(\"toPortId\",b,a)}}},toPort:{get:function(){var a=this.kf;return null===a?null:a.Es(this.lf)}},toPortChanged:{get:function(){return this.Op},set:function(a){var b=this.Op;b!==a&&(this.Op=a,this.g(\"toPortChanged\",b,a))}},\nfromSpot:{get:function(){return null!==this.P?this.P.Jg:Vc},set:function(a){this.Hc();var b=this.P.Jg;b.A(a)||(a=a.I(),this.P.Jg=a,this.g(\"fromSpot\",b,a),(b.Kc()||a.Kc())&&null!==this.fromNode&&Mo(this.fromPort),this.Ua())}},fromEndSegmentLength:{get:function(){return null!==this.P?this.P.Hg:NaN},set:function(a){this.Hc();var b=this.P.Hg;b!==a&&(0>a&&xa(a,\">= 0\",U,\"fromEndSegmentLength\"),this.P.Hg=a,this.g(\"fromEndSegmentLength\",b,a),this.Ua())}},\nfromShortLength:{get:function(){return null!==this.P?this.P.Ig:NaN},set:function(a){this.Hc();var b=this.P.Ig;b!==a&&(this.P.Ig=a,this.cc(!0),this.g(\"fromShortLength\",b,a))}},toSpot:{get:function(){return null!==this.P?this.P.ph:Vc},set:function(a){this.Hc();var b=this.P.ph;b.A(a)||(a=a.I(),this.P.ph=a,this.g(\"toSpot\",b,a),(b.Kc()||a.Kc())&&null!==this.toNode&&Mo(this.toPort),this.Ua())}},toEndSegmentLength:{\nget:function(){return null!==this.P?this.P.nh:NaN},set:function(a){this.Hc();var b=this.P.nh;b!==a&&(0>a&&xa(a,\">= 0\",U,\"toEndSegmentLength\"),this.P.nh=a,this.g(\"toEndSegmentLength\",b,a),this.Ua())}},toShortLength:{get:function(){return null!==this.P?this.P.oh:NaN},set:function(a){this.Hc();var b=this.P.oh;b!==a&&(this.P.oh=a,this.cc(!0),this.g(\"toShortLength\",b,a))}},isLabeledLink:{get:function(){return null===this.ld?!1:0<this.ld.count}},\nlabelNodes:{get:function(){return null===this.ld?Za:this.ld.iterator}},relinkableFrom:{get:function(){return 0!==(this.Ia&1)},set:function(a){var b=0!==(this.Ia&1);b!==a&&(this.Ia^=1,this.g(\"relinkableFrom\",b,a),this.Kb())}},relinkableTo:{get:function(){return 0!==(this.Ia&2)},set:function(a){var b=0!==(this.Ia&2);b!==a&&(this.Ia^=2,this.g(\"relinkableTo\",b,a),this.Kb())}},resegmentable:{\nget:function(){return 0!==(this.Ia&4)},set:function(a){var b=0!==(this.Ia&4);b!==a&&(this.Ia^=4,this.g(\"resegmentable\",b,a),this.Kb())}},isTreeLink:{get:function(){return 0!==(this.Ia&8)},set:function(a){var b=0!==(this.Ia&8);b!==a&&(this.Ia^=8,this.g(\"isTreeLink\",b,a),null!==this.fromNode&&Bk(this.fromNode),null!==this.toNode&&Bk(this.toNode))}},path:{get:function(){var a=this.nb();return a instanceof uf?a:null}},routeBounds:{\nget:function(){this.pg();var a=this.Gl,b=Infinity,c=Infinity,d=this.pointsCount;if(0===d)a.h(NaN,NaN,0,0);else{if(1===d)d=this.i(0),b=Math.min(d.x,b),c=Math.min(d.y,c),a.h(d.x,d.y,0,0);else if(2===d){d=this.i(0);var e=this.i(1);b=Math.min(d.x,e.x);c=Math.min(d.y,e.y);a.h(d.x,d.y,0,0);a.Le(e)}else if(this.computeCurve()===Yf&&3<=d&&!this.isOrthogonal)if(e=this.i(0),b=e.x,c=e.y,a.h(b,c,0,0),3===d){d=this.i(1);b=Math.min(d.x,b);c=Math.min(d.y,c);var f=this.i(2);b=Math.min(f.x,b);c=Math.min(f.y,\nc);L.cm(e.x,e.y,d.x,d.y,d.x,d.y,f.x,f.y,.5,a)}else for(f=3;f<d;f+=3){var g=this.i(f-2);f+3>=d&&(f=d-1);var h=this.i(f-1),k=this.i(f);L.cm(e.x,e.y,g.x,g.y,h.x,h.y,k.x,k.y,.5,a);b=Math.min(k.x,b);c=Math.min(k.y,c);e=k}else for(e=this.i(0),f=this.i(1),b=Math.min(e.x,f.x),c=Math.min(e.y,f.y),a.h(e.x,e.y,0,0),a.Le(f),e=2;e<d;e++)f=this.i(e),b=Math.min(f.x,b),c=Math.min(f.y,c),a.Le(f);this.Ru.h(b-a.x,c-a.y)}return a}},midPoint:{get:function(){this.pg();return this.computeMidPoint(new J)}},\nmidAngle:{get:function(){this.pg();return this.computeMidAngle()}},flattenedLengths:{get:function(){if(null===this.qr){this.rd||hp(this);for(var a=this.qr=[],b=this.pointsCount,c=0;c<b-1;c++){var d=this.i(c);var e=this.i(c+1);L.aa(d.x,e.x)?(d=e.y-d.y,0>d&&(d=-d)):L.aa(d.y,e.y)?(d=e.x-d.x,0>d&&(d=-d)):d=Math.sqrt(d.tf(e));a.push(d)}}return this.qr}},flattenedTotalLength:{get:function(){var a=this.Rt;if(isNaN(a)){for(var b=\nthis.flattenedLengths,c=b.length,d=a=0;d<c;d++)a+=b[d];this.Rt=a}return a}},points:{get:function(){return this.Bb},set:function(a){var b=this.Bb;if(b!==a){var c=null;if(Array.isArray(a)){var d=0===a.length%2;if(d)for(var e=0;e<a.length;e++)if(\"number\"!==typeof a[e]||isNaN(a[e])){d=!1;break}if(d)for(c=new E,d=0;d<a.length/2;d++)e=(new J(a[2*d],a[2*d+1])).freeze(),c.add(e);else{d=!0;for(e=0;e<a.length;e++){var f=a[e];if(!za(f)||\"number\"!==typeof f.x||isNaN(f.x)||\"number\"!==\ntypeof f.y||isNaN(f.y)){d=!1;break}}if(d)for(c=new E,d=0;d<a.length;d++)e=a[d],c.add((new J(e.x,e.y)).freeze())}}else if(a instanceof E)for(c=a.copy(),a=c.iterator;a.next();)a.value.freeze();else C(\"Link.points value is not an instance of List or Array: \"+a);c.freeze();this.Bb=c;this.cc(!0);hp(this);a=this.diagram;null!==a&&(a.Pi||a.undoManager.isUndoingRedoing||a.Ts.add(this),a.animationManager.rb&&(a=a.animationManager,this.cf=c,a.Il.add(this)));this.g(\"points\",b,c)}}},pointsCount:{\nget:function(){return this.Bb.count}},rd:{get:function(){return 0!==(this.Ia&16)},set:function(a){0!==(this.Ia&16)!==a&&(this.Ia^=16)}},suspendsRouting:{get:function(){return 0!==(this.Ia&32)},set:function(a){0!==(this.Ia&32)!==a&&(this.Ia^=32)}},computingPoints:{get:function(){return 0!==(this.Ia&64)},set:function(a){0!==(this.Ia&64)!==a&&(this.Ia^=64)}},defaultFromPoint:{\nget:function(){return this.o},set:function(a){this.o=a.copy()}},defaultToPoint:{get:function(){return this.C},set:function(a){this.C=a.copy()}},isOrthogonal:{get:function(){return 2===(this.Oj.value&2)}},isAvoiding:{get:function(){return 4===(this.Oj.value&4)}},Lm:{get:function(){return 0!==(this.Ia&128)},set:function(a){0!==(this.Ia&128)!==a&&(this.Ia^=128)}},geometry:{\nget:function(){this.Lm||(this.pg(),this.ma=this.makeGeometry());return this.ma}},firstPickIndex:{get:function(){return 2>=this.pointsCount?0:this.isOrthogonal||!lp(this.computeSpot(!0))?1:0}},lastPickIndex:{get:function(){var a=this.pointsCount;return 0===a?0:2>=a?a-1:this.isOrthogonal||!lp(this.computeSpot(!1))?a-2:a-1}},adjusting:{get:function(){return this.Ek},set:function(a){var b=this.Ek;b!==\na&&(this.Ek=a,this.g(\"adjusting\",b,a))}},corner:{get:function(){return this.rn},set:function(a){var b=this.rn;b!==a&&(this.rn=a,this.cc(!0),this.g(\"corner\",b,a))}},curve:{get:function(){return this.tn},set:function(a){var b=this.tn;b!==a&&(this.tn=a,this.Ua(),this.cc(!0),ip(this,b===Uf||b===Tf||a===Uf||a===Tf),this.g(\"curve\",b,a))}},curviness:{get:function(){return this.un},set:function(a){var b=this.un;b!==\na&&(this.un=a,this.Ua(),this.cc(!1),this.g(\"curviness\",b,a))}},routing:{get:function(){return this.Oj},set:function(a){var b=this.Oj;b!==a&&(this.Oj=a,this.Mf=null,this.Ua(),ip(this,2===(b.value&2)||2===(a.value&2)),this.g(\"routing\",b,a))}},smoothness:{get:function(){return this.Dp},set:function(a){var b=this.Dp;b!==a&&(this.Dp=a,this.cc(!0),this.g(\"smoothness\",b,a))}},key:{get:function(){var a=this.diagram;\nif(null!==a&&a.model.Qi())return a.model.mc(this.data)}}});U.prototype.invalidateOtherJumpOvers=U.prototype.rq;U.prototype.findClosestSegment=U.prototype.Kz;U.prototype.updateRoute=U.prototype.pg;U.prototype.invalidateRoute=U.prototype.Ua;U.prototype.rollbackRoute=U.prototype.Tv;U.prototype.commitRoute=U.prototype.rf;U.prototype.startRoute=U.prototype.Hh;U.prototype.clearPoints=U.prototype.ak;U.prototype.removePoint=U.prototype.Rv;U.prototype.addPointAt=U.prototype.pf;U.prototype.addPoint=U.prototype.ce;\nU.prototype.insertPointAt=U.prototype.l;U.prototype.insertPoint=U.prototype.pA;U.prototype.setPointAt=U.prototype.L;U.prototype.setPoint=U.prototype.Mc;U.prototype.getPoint=U.prototype.i;U.prototype.getOtherPort=U.prototype.gA;U.prototype.getOtherNode=U.prototype.nq;\nvar jp=null,kp=null,$o=new D(U,\"Normal\",1),Ip=new D(U,\"Orthogonal\",2),Jp=new D(U,\"AvoidsNodes\",6),rp=new D(U,\"AvoidsNodesStraight\",7),Vf=new D(U,\"None\",0),Yf=new D(U,\"Bezier\",9),Uf=new D(U,\"JumpGap\",10),Tf=new D(U,\"JumpOver\",11),ap=new D(U,\"End\",17),bp=new D(U,\"Scale\",18),cp=new D(U,\"Stretch\",19),Rm=new D(U,\"OrientAlong\",21),Km=new D(U,\"OrientPlus90\",22),Mm=new D(U,\"OrientMinus90\",23),dp=new D(U,\"OrientOpposite\",24),Sm=new D(U,\"OrientUpright\",25),Lm=new D(U,\"OrientPlus90Upright\",26),Nm=new D(U,\"OrientMinus90Upright\",\n27),Om=new D(U,\"OrientUpright45\",28),tp=16,sp=14,up=8;U.className=\"Link\";U.Normal=$o;U.Orthogonal=Ip;U.AvoidsNodes=Jp;U.AvoidsNodesStraight=rp;U.None=Vf;U.Bezier=Yf;U.JumpGap=Uf;U.JumpOver=Tf;U.End=ap;U.Scale=bp;U.Stretch=cp;U.OrientAlong=Rm;U.OrientPlus90=Km;U.OrientMinus90=Mm;U.OrientOpposite=dp;U.OrientUpright=Sm;U.OrientPlus90Upright=Lm;U.OrientMinus90Upright=Nm;U.OrientUpright45=Om;U.EndSegmentStep=8;U.CurvinessStart=tp;U.SpacingMin=sp;U.OrthoShortCut=up;\nfunction Hp(a,b,c,d){Ta(this);this.re=this.wr=!1;this.Ws=a;this.uy=b;this.Iv=c;this.vy=d;this.links=[]}Hp.prototype.mm=function(){if(!this.wr){var a=this.links;0<a.length&&(a=a[0].diagram,null!==a&&(a.Qw.add(this),this.re=a.undoManager.isUndoingRedoing))}this.wr=!0};\nHp.prototype.kw=function(){if(this.wr){this.wr=!1;var a=this.links;if(0<a.length){var b=a[0],c=b.diagram;c=null===c||c.Pi&&!this.re;this.re=!1;b.arrangeBundledLinks(a,c);1===a.length&&(b.If=null,a.length=0)}0===a.length&&(a=this.Ws,null!==this&&null!==a.Pe&&a.Pe.remove(this),a=this.Iv,null!==this&&null!==a.Pe&&a.Pe.remove(this))}};Hp.className=\"LinkBundle\";\nfunction pk(a){Ta(this);this.Fy=this.group=null;this.Ms=!0;this.abort=!1;this.xd=this.wd=1;this.Bo=this.Ao=-1;this.dc=a.width;this.ec=a.height;this.Qb=null;this.Ai=this.zi=0;this.it=11;this.my=this.ly=22}\npk.prototype.initialize=function(a){if(!(0>=a.width||0>=a.height)){var b=a.y,c=a.x+a.width,d=a.y+a.height;this.wd=Math.floor((a.x-this.dc)/this.dc)*this.dc;this.xd=Math.floor((b-this.ec)/this.ec)*this.ec;this.Ao=Math.ceil((c+2*this.dc)/this.dc)*this.dc;this.Bo=Math.ceil((d+2*this.ec)/this.ec)*this.ec;a=1+(Math.ceil((this.Ao-this.wd)/this.dc)|0);b=1+(Math.ceil((this.Bo-this.xd)/this.ec)|0);if(null===this.Qb||this.zi<a-1||this.Ai<b-1){c=[];for(d=0;d<=a;d++)c[d]=new Uint32Array(b);this.Qb=c;this.zi=\na-1;this.Ai=b-1}a=Kp;if(null!==this.Qb)for(b=0;b<=this.zi;b++)if(c=this.Qb[b],c.fill)c.fill(a);else for(d=0;d<=this.Ai;d++)c[d]=a}};function tk(a,b,c){return a.wd<=b&&b<=a.Ao&&a.xd<=c&&c<=a.Bo}function wp(a,b,c){if(!tk(a,b,c))return Kp;b-=a.wd;b/=a.dc;c-=a.xd;c/=a.ec;return a.Qb[b|0][c|0]}function sk(a){if(null!==a.Qb)for(var b=0;b<=a.zi;b++)for(var c=a.Qb[b],d=0;d<=a.Ai;d++)c[d]>=zp&&(c[d]=Kp)}\npk.prototype.qk=function(a,b,c,d){if(a>this.Ao||a+c<this.wd||b>this.Bo||b+d<this.xd)return!0;a=(a-this.wd)/this.dc|0;b=(b-this.xd)/this.ec|0;c=Math.max(0,c)/this.dc+1|0;var e=Math.max(0,d)/this.ec+1|0;0>a&&(c+=a,a=0);0>b&&(e+=b,b=0);if(0>c||0>e)return!0;d=Math.min(a+c-1,this.zi)|0;for(c=Math.min(b+e-1,this.Ai)|0;a<=d;a++){e=this.Qb[a];for(var f=b;f<=c;f++)if(e[f]===uk)return!1}return!0};\nfunction Lp(a,b,c,d,e,f,g,h,k){if(!(b<f||b>g||c<h||c>k)){var l=b|0;var m=c|0;var n=a.Qb[l][m];if(n>=zp&&n<xp)for(e?m+=d:l+=d,n+=1;f<=l&&l<=g&&h<=m&&m<=k&&!(n>=a.Qb[l][m]);)a.Qb[l][m]=n,n+=1,e?m+=d:l+=d;l=e?m:l;if(e)if(0<d)for(c+=d;c<l;c+=d)Lp(a,b,c,1,!e,f,g,h,k),Lp(a,b,c,-1,!e,f,g,h,k);else for(c+=d;c>l;c+=d)Lp(a,b,c,1,!e,f,g,h,k),Lp(a,b,c,-1,!e,f,g,h,k);else if(0<d)for(b+=d;b<l;b+=d)Lp(a,b,c,1,!e,f,g,h,k),Lp(a,b,c,-1,!e,f,g,h,k);else for(b+=d;b>l;b+=d)Lp(a,b,c,1,!e,f,g,h,k),Lp(a,b,c,-1,!e,f,g,h,\nk)}}function Mp(a,b,c,d,e,f,g,h,k){b|=0;c|=0;var l=uk,m=zp;for(a.Qb[b][c]=m;l===uk&&b>f&&b<g&&c>h&&c<k;)m+=1,a.Qb[b][c]=m,e?c+=d:b+=d,l=a.Qb[b][c]}function Np(a,b,c,d,e,f,g,h,k){b|=0;c|=0;var l=uk,m=xp;for(a.Qb[b][c]=m;l===uk&&b>f&&b<g&&c>h&&c<k;)a.Qb[b][c]=m,e?c+=d:b+=d,l=a.Qb[b][c]}\nfunction vp(a,b,c,d,e,f,g){if(null!==a.Qb){a.abort=!1;var h=b.x,k=b.y;if(tk(a,h,k)){h-=a.wd;h/=a.dc;k-=a.xd;k/=a.ec;var l=d.x,m=d.y;if(tk(a,l,m))if(l-=a.wd,l/=a.dc,m-=a.xd,m/=a.ec,1>=Math.abs(h-l)&&1>=Math.abs(k-m))a.abort=!0;else{var n=f.x;d=f.y;b=f.x+f.width;var p=f.y+f.height;n-=a.wd;n/=a.dc;d-=a.xd;d/=a.ec;b-=a.wd;b/=a.dc;p-=a.xd;p/=a.ec;f=Math.max(0,Math.min(a.zi,n|0));b=Math.min(a.zi,Math.max(0,b|0));n=Math.max(0,Math.min(a.Ai,d|0));p=Math.min(a.Ai,Math.max(0,p|0));d=a.Qb;h|=0;k|=0;l|=0;m|=\n0;var r=0===c||90===c?1:-1;c=90===c||270===c;d[h][k]===uk?(Mp(a,h,k,r,c,f,b,n,p),Mp(a,h,k,1,!c,f,b,n,p),Mp(a,h,k,-1,!c,f,b,n,p)):Mp(a,h,k,r,c,h,k,h,k);d[l][m]===uk?(Np(a,l,m,0===e||90===e?1:-1,90===e||270===e,f,b,n,p),Np(a,l,m,1,!(90===e||270===e),f,b,n,p),Np(a,l,m,-1,!(90===e||270===e),f,b,n,p)):Np(a,l,m,r,c,l,m,l,m);c=Fa();if(g&&Op(a,l,m,e,h,k,c)){if(c[0]!==l||c[1]!==m)c.unshift(m),c.unshift(l);if(c[c.length-2]!==h||c[c.length-1]!==k)c.push(h),c.push(k);a=zp;e=c[c.length-2];g=c[c.length-1];d[e][g]=\na++;for(f=c.length-4;0<=f;f-=2)for(e=c[f+2],g=c[f+3],b=c[f],l=c[f+1];b>e?e++:b<e?e--:l>g?g++:l<g&&g--,d[e][g]=a++,e!==b||g!==l;);}else Lp(a,h,k,1,!1,f,b,n,p),Lp(a,h,k,-1,!1,f,b,n,p),Lp(a,h,k,1,!0,f,b,n,p),Lp(a,h,k,-1,!0,f,b,n,p);Ia(c)}}}}\nfunction Op(a,b,c,d,e,f,g){for(var h=a.Qb,k=b,l=c;;){if(k===e&&l===f)return!0;var m=k,n=l;if(0===d)if(m<e)m++;else break;else if(90===d)if(n<f)n++;else break;else if(180===d)if(m>e)m--;else break;else if(n>f)n--;else break;var p=h[m][n];if(0===p||p===Pp)break;k=m;l=n}for(;;){m=d;n=k;p=l;0===d?p<f?(m=90,p++):p>f&&(m=270,p--):90===d?n<e?(m=0,n++):n>e&&(m=180,n--):180===d?p<f?(m=90,p++):p>f&&(m=270,p--):n<e?(m=0,n++):n>e&&(m=180,n--);n=h[n][p];if(m!==d&&0!==n&&n!==Pp){g.push(k);g.push(l);if(Op(a,k,l,\nm,e,f,g))return!0;g.pop();g.pop()}h[k][l]=Pp;if(0===d){if(k===b)return!1;k--}else if(90===d){if(l===c)return!1;l--}else if(180===d){if(k===b)return!1;k++}else{if(l===c)return!1;l++}}}\nna.Object.defineProperties(pk.prototype,{bounds:{get:function(){return new N(this.wd,this.xd,this.Ao-this.wd,this.Bo-this.xd)}},bq:{get:function(){return this.dc},set:function(a){0<a&&a!==this.dc&&(this.dc=a,this.initialize(this.bounds))}},aq:{get:function(){return this.ec},set:function(a){0<a&&a!==this.ec&&(this.ec=a,this.initialize(this.bounds))}}});var uk=0,zp=1,xp=999999,Kp=xp+1,Pp=xp+2;pk.className=\"PositionArray\";\nfunction pp(){Ta(this);this.port=this.node=null;this.ee=[];this.uq=!1}pp.prototype.toString=function(){for(var a=this.ee,b=this.node.toString()+\" \"+a.length.toString()+\":\",c=0;c<a.length;c++){var d=a[c];null!==d&&(b+=\"\\n  \"+d.toString())}return b};\nfunction Qp(a,b,c,d){b=b.offsetY;switch(b){case 8:return 90;case 2:return 180;case 1:return 270;case 4:return 0}switch(b){case 9:return 180<c?270:90;case 6:return 90<c&&270>=c?180:0}a=180*Math.atan2(a.height,a.width)/Math.PI;switch(b){case 3:return c>a&&c<=180+a?180:270;case 5:return c>180-a&&c<=360-a?270:0;case 12:return c>a&&c<=180+a?90:0;case 10:return c>180-a&&c<=360-a?180:90;case 7:return 90<c&&c<=180+a?180:c>180+a&&c<=360-a?270:0;case 13:return 180<c&&c<=360-a?270:c>a&&180>=c?90:0;case 14:return c>\na&&c<=180-a?90:c>180-a&&270>=c?180:0;case 11:return c>180-a&&c<=180+a?180:c>180+a?270:90}d&&15!==b&&(c-=15,0>c&&(c+=360));return c>a&&c<180-a?90:c>=180-a&&c<=180+a?180:c>180+a&&c<360-a?270:0}pp.prototype.mm=function(){this.ee.length=0};\nfunction qp(a,b){var c=a.ee;if(0===c.length){a:if(!a.uq){c=a.uq;a.uq=!0;var d=null,e=a.node,f=e instanceof hf?e:null;if(null===f||f.isSubGraphExpanded)var g=e.isTreeExpanded?e.findLinksConnected(a.port.portId):e.Sx();else{if(!f.actualBounds.u()){a.uq=c;break a}d=f;g=d.ov()}f=a.ee.length=0;var h=a.port.da(sc,J.alloc()),k=a.port.da(Cc,J.alloc());e=N.allocAt(h.x,h.y,0,0);e.Le(k);J.free(h);J.free(k);h=J.allocAt(e.x+e.width/2,e.y+e.height/2);k=a.port.Li();for(g=g.iterator;g.next();){var l=g.value;if(l.isVisible()&&\nl.fromPort!==l.toPort){var m=l.fromPort===a.port||null!==l.fromNode&&l.fromNode.Fd(d),n=l.computeSpot(m,a.port);if(n.Kc()){var p=m?l.toPort:l.fromPort;if(null!==p&&(m=p.part,null!==m)){var r=m.findVisibleNode();null!==r&&r!==m&&(m=r,p=m.port);m=l.computeOtherPoint(m,p);p=h.Oa(p.da(yc));p+=(h.Oa(m)-p)/360;p-=k;0>p?p+=360:360<=p&&(p-=360);n=Qp(e,n,p,l.isOrthogonal);0===n?(n=4,180<p&&(p-=360)):90===n?(n=8,270<p&&(p-=360)):180===n?n=2:(n=1,90>p&&(p+=360));r=a.ee[f];void 0===r?(r=new Rp(l,p,n),a.ee[f]=\nr):(r.link=l,r.angle=p,r.xc=n);r.Kv.set(m);f++}}}}J.free(h);a.ee.sort(pp.prototype.j);k=a.ee.length;d=-1;for(f=h=0;f<k;f++)g=a.ee[f],void 0!==g&&(g.xc!==d&&(d=g.xc,h=0),g.oq=h,h++);d=-1;h=0;for(f=k-1;0<=f;f--)k=a.ee[f],void 0!==k&&(k.xc!==d&&(d=k.xc,h=k.oq+1),k.fm=h);f=a.ee;n=a.port;d=a.node.portSpreading;h=J.alloc();k=J.alloc();g=J.alloc();l=J.alloc();n.da(sc,h);n.da(wc,k);n.da(Cc,g);n.da(Ac,l);r=p=m=n=0;if(d===Xo)for(var q=0;q<f.length;q++){var u=f[q];if(null!==u){var v=u.link.computeThickness();\nswitch(u.xc){case 8:p+=v;break;case 2:r+=v;break;case 1:n+=v;break;default:case 4:m+=v}}}var w=q=0,z=1,y=u=0;for(v=0;v<f.length;v++){var A=f[v];if(null!==A){if(q!==A.xc){q=A.xc;switch(q){case 8:var B=g;w=l;break;case 2:B=l;w=h;break;case 1:B=h;w=k;break;default:case 4:B=k,w=g}u=w.x-B.x;y=w.y-B.y;switch(q){case 8:p>Math.abs(u)?(z=Math.abs(u)/p,p=Math.abs(u)):z=1;break;case 2:r>Math.abs(y)?(z=Math.abs(y)/r,r=Math.abs(y)):z=1;break;case 1:n>Math.abs(u)?(z=Math.abs(u)/n,n=Math.abs(u)):z=1;break;default:case 4:m>\nMath.abs(y)?(z=Math.abs(y)/m,m=Math.abs(y)):z=1}w=0}var F=A.tq;if(d===Xo){A=A.link.computeThickness();A*=z;F.set(B);switch(q){case 8:F.x=B.x+u/2+p/2-w-A/2;break;case 2:F.y=B.y+y/2+r/2-w-A/2;break;case 1:F.x=B.x+u/2-n/2+w+A/2;break;default:case 4:F.y=B.y+y/2-m/2+w+A/2}w+=A}else{var K=.5;d===Jo&&(K=(A.oq+1)/(A.fm+1));F.x=B.x+u*K;F.y=B.y+y*K}}}J.free(h);J.free(k);J.free(g);J.free(l);B=a.ee;for(f=0;f<B.length;f++)d=B[f],null!==d&&(d.mv=a.computeEndSegmentLength(d));a.uq=c;N.free(e)}c=a.ee}for(a=0;a<c.length;a++)if(e=\nc[a],null!==e&&e.link===b)return e;return null}pp.prototype.j=function(a,b){return a===b?0:null===a?-1:null===b?1:a.xc<b.xc?-1:a.xc>b.xc?1:a.angle<b.angle?-1:a.angle>b.angle?1:0};\npp.prototype.computeEndSegmentLength=function(a){var b=a.link,c=b.computeEndSegmentLength(this.node,this.port,rc,b.fromPort===this.port),d=a.oq;if(0>d)return c;var e=a.fm;if(1>=e||!b.isOrthogonal)return c;b=a.Kv;var f=a.tq;if(2===a.xc||8===a.xc)d=e-1-d;return((a=2===a.xc||4===a.xc)?b.y<f.y:b.x<f.x)?c+8*d:(a?b.y===f.y:b.x===f.x)?c:c+8*(e-1-d)};pp.className=\"Knot\";function Rp(a,b,c){this.link=a;this.angle=b;this.xc=c;this.Kv=new J;this.fm=this.oq=0;this.tq=new J;this.mv=0}\nRp.prototype.toString=function(){return this.link.toString()+\" \"+this.angle.toString()+\" \"+this.xc.toString()+\":\"+this.oq.toString()+\"/\"+this.fm.toString()+\" \"+this.tq.toString()+\" \"+this.mv.toString()+\" \"+this.Kv.toString()};Rp.className=\"LinkInfo\";function cl(){this.ph=this.Jg=Vc;this.oh=this.Ig=this.nh=this.Hg=NaN;this.Mp=this.Mn=null;this.Np=this.Nn=Infinity}\ncl.prototype.copy=function(){var a=new cl;a.Jg=this.Jg.I();a.ph=this.ph.I();a.Hg=this.Hg;a.nh=this.nh;a.Ig=this.Ig;a.oh=this.oh;a.Mn=this.Mn;a.Mp=this.Mp;a.Nn=this.Nn;a.Np=this.Np;return a};cl.className=\"LinkSettings\";function li(a){Ta(this);this.o=this.F=null;this.Zh=this.ho=!0;this.no=!1;this.an=(new J(0,0)).freeze();this.ko=!0;this.en=this.jo=null;this.mo=!1;this.j=null;this.C=0;this.Co=this.Tp=null;this.us=!1;this.fg=this.Qj=null;this.ls=!1;a&&Object.assign(this,a)}\nli.prototype.cloneProtected=function(a){a.ho=this.ho;a.Zh=this.Zh;a.no=this.no;a.an.assign(this.an);a.ko=this.ko;a.jo=this.jo;a.en=this.en;a.mo=!0;a.Co=this.Co;a.Tp=this.Tp};li.prototype.copy=function(){var a=new this.constructor;this.cloneProtected(a);return a};li.prototype.serializeLayoutProperties=function(a){a.arrangementOrigin={x:this.arrangementOrigin.x,y:this.arrangementOrigin.y};a.isRouting=this.isRouting};\nli.prototype.deserializeLayoutProperties=function(a){null!==a&&(this.arrangementOrigin=new J(a.arrangementOrigin.x,a.arrangementOrigin.y),this.isRouting=a.isRouting)};li.prototype.gb=function(){};li.prototype.toString=function(){var a=Ja(this.constructor);a+=\"(\";null!==this.group&&(a+=\" in \"+this.group);null!==this.diagram&&(a+=\" for \"+this.diagram);return a+\")\"};\nli.prototype.B=function(){if(this.isValidLayout){var a=this.diagram;if(null!==a&&!a.undoManager.isUndoingRedoing){var b=a.animationManager;!b.isTicking&&(b.defaultAnimation.isAnimating&&b.nc(),this.isOngoing&&a.Pi||this.isInitial&&!a.Pi)&&(this.isValidLayout=!1,a.Fb())}}};li.prototype.createNetwork=function(){return new Sp(this)};li.prototype.makeNetwork=function(a){var b=this.createNetwork();a instanceof T?(b.hg(a.nodes,!0),b.hg(a.links,!0)):a instanceof hf?b.hg(a.memberParts):b.hg(a.iterator);return b};\nli.prototype.updateParts=function(){this.isValidLayout=!0;if(!this.workerLayout()){var a=this.diagram;if(null===a&&null!==this.network)for(var b=this.network.vertexes.iterator;b.next();){var c=b.value.node;if(null!==c&&(a=c.diagram,null!==a))break}try{null!==a&&a.wa(\"Layout\"),this.commitLayout()}finally{null!==a&&a.Xa(\"Layout\")}}};li.prototype.commitLayout=function(){if(null!==this.network){for(var a=this.network.vertexes.iterator;a.next();)a.value.commit();if(this.isRouting)for(a=this.network.edges.iterator;a.next();)a.value.commit()}};\nli.prototype.doLayout=function(a){var b=new G;a instanceof T?(Tp(this,b,a.nodes,!0,this.Fh,!0,!1,!0),Tp(this,b,a.parts,!0,this.Fh,!0,!1,!0)):a instanceof hf?Tp(this,b,a.memberParts,!1,this.Fh,!0,!1,!0):b.addAll(a.iterator);0<b.count&&(a=this.diagram,null!==a&&a.wa(\"Layout\"),this.doMinimalNoNetworkLayout(b),null!==a&&a.Xa(\"Layout\"));this.isValidLayout=!0};\nli.prototype.doMinimalNoNetworkLayout=function(a){var b=Math.ceil(Math.sqrt(a.count));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);var c=this.arrangementOrigin.x,d=c,e=this.arrangementOrigin.y,f=0,g=0;for(a=a.iterator;a.next();){var h=a.value;Up(h);var k=h.measuredBounds,l=k.width;k=k.height;h.moveTo(d,e);h instanceof hf&&(h.Fh=!1);d+=Math.max(l,50)+20;g=Math.max(g,Math.max(k,50));f>=b-1?(f=0,d=c,e+=g+20,g=0):f++}};\nli.prototype.doMinimalNetworkLayout=function(){var a=Math.ceil(Math.sqrt(this.network.vertexes.count));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);for(var b=this.arrangementOrigin.x,c=b,d=this.arrangementOrigin.y,e=0,f=0,g=this.network.vertexes.iterator;g.next();){var h=g.value.node;if(!(null===h||h instanceof U)&&(Up(h),this.Fh(h))){var k=h.measuredBounds,l=k.width;k=k.height;h.moveTo(c,d);h instanceof hf&&(h.Fh=!1);c+=Math.max(l,50)+20;f=Math.max(f,Math.max(k,50));e>=a-1?(e=\n0,c=b,d+=f+20,f=0):e++}}};li.prototype.Fh=function(a){return!a.location.u()||a instanceof hf&&a.Fh?!0:!1};function Tp(a,b,c,d,e,f,g,h){for(c=c.iterator;c.next();){var k=c.value;d&&!k.isTopLevel||null!==e&&!e(k)||!k.canLayout()||(f&&k instanceof W?k.isLinkLabel||(k instanceof hf?null===k.layout?Tp(a,b,k.memberParts,!1,e,f,g,h):(Up(k),b.add(k)):(Up(k),b.add(k))):g&&k instanceof U?b.add(k):!h||!k.Jc()||k instanceof W||(Up(k),b.add(k)))}}\nfunction Up(a){var b=a.actualBounds;(0===b.width||0===b.height||isNaN(b.width)||isNaN(b.height))&&a.Sa()}li.prototype.Ni=function(a,b){var c=this.boundsComputation;if(null!==c)return b||(b=new N),c(a,this,b);if(!b)return a.actualBounds;b.set(a.actualBounds);return b};\nli.prototype.Hx=function(a){var b=new G;a instanceof T?(Tp(this,b,a.nodes,!0,null,!0,!0,!0),Tp(this,b,a.links,!0,null,!0,!0,!0),Tp(this,b,a.parts,!0,null,!0,!0,!0)):a instanceof hf?Tp(this,b,a.memberParts,!1,null,!0,!0,!0):Tp(this,b,a.iterator,!1,null,!0,!0,!0);return b};\nli.prototype.initialOrigin=function(a){var b=this.group;if(null!==b){var c=b.position.copy();(isNaN(c.x)||isNaN(c.y))&&c.set(a);b=b.placeholder;null!==b&&(c=b.da(sc),(isNaN(c.x)||isNaN(c.y))&&c.set(a),a=b.padding,c.x+=a.left,c.y+=a.top);return c}return a};li.prototype.mayUseWorker=function(){return this.mayUseWorkerFunction?this.mayUseWorkerFunction(this):!1};li.prototype.workerLayout=function(){return!1};\nfunction Vp(a,b){if(null!==a.workerStateChanged){var c={key:a.group?a.group.key:null};void 0!==b&&(c.time=b);null!==a.Qj&&(c.running=Wp(a.Qj));null!==a.fg&&(c.waiting=Wp(a.fg));a.workerStateChanged(c,a)}}function Wp(a){return{vertexes:a.vertexes.count,edges:a.edges.count}}li.prototype.qz=function(){var a=Xp(this.constructor);a&&(null!==a.Me&&a.Me.terminate(),a.Me=null,a.om.iteratorValues.each(function(a){a.us=!1;a.Qj=null;a.fg=null;a.ls=!1;Vp(a)}),a.om.clear())};\nfunction Yp(a,b){var c=Xp(a);if(c){if(b)for(var d in b)c[d]=b[d]}else throw Error(\"Unknown Layout class: \"+a);}function Xp(a){var b=null;if(\"function\"===typeof a){if(b=Zp.get(a),!b){var c=Ja(a);b=Zp.get(c);b||(b=new $p,b.iv=a,b.name=c,b.j=a.name,b.gy=aq,Zp.set(c,b),Zp.set(a,b),Zp.set(a.name,b))}}else\"string\"===typeof a&&(b=Zp.get(a));return b}\nli.prototype.jw=function(){if(\"undefined\"===typeof Worker||!bq||\"undefined\"===typeof self||\"undefined\"!==typeof self.DedicatedWorkerGlobalScope)return!1;if(!this.mayUseWorker())return this.us&&(this.ls=!0,this.fg=this.Qj=null,Vp(this)),!1;var a=Xp(this.constructor);if(null===a)return!1;null===a.Me&&(a.Me=new Worker(bq),a.Me.onerror=function(a){a.preventDefault();ya(\"Worker Error at: \"+a.filename+\" \"+a.lineno+\" \"+a.colno+\"\\n  \"+a.message)},a.Me.j=function(a){ya(\"Worker serialization error: \"+a)},a.Me.onmessage=\nfunction(b){var c=b.data;if(\"_GoJS\"===c._GoJS)if(c.version&&T.version&&c.version!==T.version)ya(\"Failure: GoJS v\"+T.version+\"  Worker v\"+c.version);else if(b=a.om.get(c.id)){a.om.remove(c.id);b.us=!1;b.Qj=null;if(b.ls)b.ls=!1,b.fg=null;else{var d=cq(b,c,!1);b.network=d;b.updateParts();b.network=null;b.isValidLayout=!0}Vp(b,c.time);c=b.fg;if(null!==c)b.fg=null;else for(d=a.om.iteratorValues;d.next();){var e=d.value;c=e.fg;if(null!==c){e.fg=null;break}}null!==c&&dq(b,c)}},a.Me.postMessage({_GoJS:\"_GoJS\",\nurl:a.gy}),Array.isArray(a.scripts)&&a.scripts.forEach(function(b){a.Me.postMessage({_GoJS:\"_GoJS\",url:b})}),a.Me.postMessage({_GoJS:\"_GoJS\",version:-1}));null!==this.Qj?this.fg=this.network:dq(this,this.network);Vp(this);this.doMinimalNetworkLayout();this.network=null;return this.isValidLayout=!0};function dq(a,b){a.us=!0;var c=Xp(a.constructor),d=eq(a,b,!0);d._GoJS=\"_GoJS\";c.Me.postMessage(d);c.om.set(gb(a),a);a.Qj=b}\nfunction eq(a,b,c){a.onNetworkSerialization(1,c,b,null);var d={};a.serializeLayoutProperties(d,c);var e=[];b.vertexes.each(function(a){var b={};a.serializeVertexProperties(b,c);e.push(b)});var f=[];b.edges.each(function(a){var b={};a.serializeEdgeProperties(b,c);f.push(b)});d={id:c?gb(a):a.id,layout:Ja(a.constructor),p:d,dB:e,Iz:f};a.onNetworkSerialization(2,c,b,d);return d}\nfunction cq(a,b,c){c&&(a.id=b.id);var d=a.diagram,e=a.createNetwork();a.onNetworkSerialization(3,c,e,b);var f=b.dB,g=new I;f&&f.forEach(function(a){var b=null;null===a.key||null===d||c||(b=d.Eb(a.key));null!==b?b=e.Zj(b):(b=e.createVertex(),e.ig(b));c&&null!==a.key&&(b.data={ci:a.key});g.set(a.id,b)});var h=b.Iz,k=new I;h&&h.forEach(function(a){var b=null;null===a.key||null===d||c||(b=d.findLinkForKey(a.key));var f=e.createEdge();e.am(f);f.link=b;c&&null!==a.key&&(f.data={ci:a.key});k.set(a.id,f)});\nf&&f.forEach(function(a){var b=g.get(a.id);b&&b.deserializeVertexProperties(a,g,k,c)});h&&h.forEach(function(a){var b=k.get(a.id);b&&b.deserializeEdgeProperties(a,g,k,c)});a.deserializeLayoutProperties(b.p,g,k,c,e);a.onNetworkSerialization(4,c,e,b);return e}li.prototype.onNetworkSerialization=function(){};\nna.Object.defineProperties(li.prototype,{diagram:{get:function(){return this.F},set:function(a){this.F=a}},group:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a,null!==a&&(this.F=a.diagram))}},isOngoing:{get:function(){return this.ho},set:function(a){this.ho!==a&&(this.ho=a)}},isInitial:{get:function(){return this.Zh},set:function(a){this.Zh=a;a||(this.mo=!0)}},\nisViewportSized:{get:function(){return this.no},set:function(a){this.no!==a&&(this.no=a)&&this.B()}},isRouting:{get:function(){return this.ko},set:function(a){this.ko!==a&&(this.ko=a)}},isRealtime:{get:function(){return this.jo},set:function(a){this.jo!==a&&(this.jo=a)}},isValidLayout:{get:function(){return this.mo},set:function(a){this.mo!==a&&(this.mo=a,a||(a=this.diagram,null!==\na&&(a.Nh=!0)))}},network:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a,null!==a&&(a.layout=this))}},boundsComputation:{get:function(){return this.en},set:function(a){this.en!==a&&(this.en=a,this.B())}},arrangementOrigin:{get:function(){return this.an},set:function(a){this.an.A(a)||(this.an.assign(a),this.B())}},id:{get:function(){return this.C},set:function(a){this.C=\na}},mayUseWorkerFunction:{get:function(){return this.Co},set:function(a){this.Co!==a&&(this.Co=a)}},workerStateChanged:{get:function(){return this.Tp},set:function(a){this.Tp!==a&&(this.Tp=a)}}});li.prototype.useWorker=li.prototype.jw;li.declareWorkerLayout=Yp;li.prototype.cancelWorker=li.prototype.qz;li.prototype.collectParts=li.prototype.Hx;li.prototype.getLayoutBounds=li.prototype.Ni;li.prototype.invalidateLayout=li.prototype.B;\nvar Zp=new I,aq=\"object\"===typeof x.document&&x.document.currentScript?x.document.currentScript.src:\"\",bq=\"undefined\"!==typeof URL&&\"function\"===typeof URL.createObjectURL&&\"function\"===typeof Blob?URL.createObjectURL(new Blob([\"self.onmessage=function(e){if(e.data.url){\\nimportScripts(e.data.url);}}\"],{type:\"text/javascript\"})):\"\";li.className=\"Layout\";li.GoJSScriptURL=aq;li.declareWorkerLayout=Yp;\n\"undefined\"!==typeof self&&\"undefined\"!==typeof self.DedicatedWorkerGlobalScope&&\"undefined\"!==typeof self&&\"undefined\"!==typeof self.DedicatedWorkerGlobalScope&&(self.onmessage=function(a){a=a.data;if(\"_GoJS\"===a._GoJS)if(a.url)importScripts(a.url);else if(a.version)self.postMessage({_GoJS:\"_GoJS\",version:T.version},void 0);else{var b=performance.now(),c=null;a.layout&&(c=Xp(a.layout));var d=null;c&&c.iv&&(d=new c.iv);if(!d)throw Error(\"no registered Worker Layout: \"+a.layout);d.network=cq(d,a,!0);\nd.workerLayout=function(){var a=eq(d,d.network,!1);a._GoJS=\"_GoJS\";a.time=performance.now()-b;self.postMessage(a,void 0);return!0};d.doLayout(new E)}});function $p(){this.iv=null;this.gy=this.j=this.name=\"\";this.scripts=[];this.Me=null;this.om=new I}function Sp(a){Ta(this);this.Ac=a;this.mf=new G;this.le=new G;this.Xs=new I;this.Ss=new I}\nSp.prototype.clear=function(){if(this.mf)for(var a=this.mf.iterator;a.next();)a.value.clear();if(this.le)for(a=this.le.iterator;a.next();)a.value.clear();this.mf=new G;this.le=new G;this.Xs=new I;this.Ss=new I};\nSp.prototype.toString=function(a){void 0===a&&(a=0);var b=\"LayoutNetwork\"+(null!==this.layout?\"(\"+this.layout.toString()+\")\":\"\");if(0>=a)return b;b+=\" vertexes: \"+this.mf.count+\" edges: \"+this.le.count;if(1<a){for(var c=this.mf.iterator;c.next();)b+=\"\\n    \"+c.value.toString(a-1);for(c=this.le.iterator;c.next();)b+=\"\\n    \"+c.value.toString(a-1)}return b};Sp.prototype.createVertex=function(){return new fq(this)};Sp.prototype.createEdge=function(){return new gq(this)};\nSp.prototype.hg=function(a,b,c){if(null!==a){void 0===b&&(b=!1);void 0===c&&(c=null);null===c&&(c=function(a){if(a instanceof W)return!a.isLinkLabel;if(a instanceof U){var b=a.fromNode;if(null===b||b.isLinkLabel)return!1;a=a.toNode;return null===a||a.isLinkLabel?!1:!0}return!1});for(a=a.iterator;a.next();){var d=a.value;if(d instanceof W&&(!b||d.isTopLevel)&&d.canLayout()&&c(d))if(d instanceof hf&&null===d.layout)this.hg(d.memberParts,!1);else if(null===this.Ki(d)){var e=this.createVertex();e.node=\nd;this.ig(e)}}for(a.reset();a.next();)if(d=a.value,d instanceof U&&(!b||d.isTopLevel)&&d.canLayout()&&c(d)&&null===this.hq(d)){var f=d.fromNode;e=d.toNode;null!==f&&null!==e&&f!==e&&(f=this.findGroupVertex(f),e=this.findGroupVertex(e),null!==f&&null!==e&&this.rk(f,e,d))}}};Sp.prototype.findGroupVertex=function(a){if(null===a)return null;var b=a.findVisibleNode();if(null===b)return null;a=this.Ki(b);if(null!==a)return a;for(b=b.containingGroup;null!==b;){a=this.Ki(b);if(null!==a)return a;b=b.containingGroup}return null};\nt=Sp.prototype;t.ig=function(a){if(null!==a){this.mf.add(a);var b=a.node;null!==b&&this.Xs.add(b,a);a.network=this}};t.Zj=function(a){if(null===a)return null;var b=this.Ki(a);null===b&&(b=this.createVertex(),b.node=a,this.ig(b));return b};t.lv=function(a){if(null!==a&&hq(this,a)){for(var b=a.qd,c=b.count-1;0<=c;c--){var d=b.J(c);this.gk(d)}b=a.Cd;for(a=b.count-1;0<=a;a--)c=b.J(a),this.gk(c)}};\nfunction hq(a,b){if(null===b)return!1;var c=a.mf.remove(b);c&&(b=b.node,null!==b&&a.Xs.remove(b));return c}t.Dz=function(a){null!==a&&(a=this.Ki(a),null!==a&&this.lv(a))};t.Ki=function(a){return null===a?null:this.Xs.H(a)};t.am=function(a){if(null!==a){iq(this,a);var b=a.toVertex;null!==b&&b.bv(a);b=a.fromVertex;null!==b&&b.$u(a)}};function iq(a,b){if(null!==b){a.le.add(b);var c=b.link;null!==c&&null===a.hq(c)&&a.Ss.add(c,b);b.network=a}}\nt.gz=function(a){if(null===a)return null;var b=a.fromNode,c=a.toNode,d=this.hq(a);null===d?(d=this.createEdge(),d.link=a,null!==b&&(d.fromVertex=this.Zj(b)),null!==c&&(d.toVertex=this.Zj(c)),this.am(d)):(null!==b?d.fromVertex=this.Zj(b):d.fromVertex=null,null!==c?d.toVertex=this.Zj(c):d.toVertex=null);return d};t.gk=function(a){if(null!==a){var b=a.toVertex;null!==b&&b.kv(a);b=a.fromVertex;null!==b&&b.jv(a);jq(this,a)}};\nfunction jq(a,b){null!==b&&a.le.remove(b)&&(b=b.link,null!==b&&a.Ss.remove(b))}t.Cz=function(a){null!==a&&(a=this.hq(a),null!==a&&this.gk(a))};t.hq=function(a){return null===a?null:this.Ss.H(a)};t.rk=function(a,b,c){if(null===a||null===b)return null;if(a.network===this&&b.network===this){var d=this.createEdge();d.link=c;d.fromVertex=a;d.toVertex=b;this.am(d);return d}return null};t.Am=function(a){if(null!==a){var b=a.fromVertex,c=a.toVertex;null!==b&&null!==c&&(b.jv(a),c.kv(a),a.Am(),b.bv(a),c.$u(a))}};\nt.fq=function(){for(var a=Fa(),b=this.le.iterator;b.next();){var c=b.value;c.fromVertex===c.toVertex&&a.push(c)}b=a.length;for(c=0;c<b;c++)this.gk(a[c]);Ia(a)};Sp.prototype.deleteArtificialVertexes=function(){for(var a=Fa(),b=this.mf.iterator;b.next();){var c=b.value;null===c.node&&null===c.data&&a.push(c)}c=a.length;for(b=0;b<c;b++)this.lv(a[b]);b=Fa();for(c=this.le.iterator;c.next();){var d=c.value;null===d.link&&null===d.data&&b.push(d)}c=b.length;for(d=0;d<c;d++)this.gk(b[d]);Ia(a);Ia(b)};\nfunction kq(a){for(var b=Fa(),c=a.le.iterator;c.next();){var d=c.value;null!==d.fromVertex&&null!==d.toVertex||b.push(d)}c=b.length;for(d=0;d<c;d++)a.gk(b[d]);Ia(b)}\nSp.prototype.Gy=function(a){void 0===a&&(a=!0);a&&(this.deleteArtificialVertexes(),kq(this),this.fq());a=new E;for(var b=!0;b;){b=!1;for(var c=this.mf.iterator;c.next();){var d=c.value;if(0<d.qd.count||0<d.Cd.count){b=this.layout.createNetwork();a.add(b);lq(this,b,d);b=!0;break}}}a.sort(function(a,b){return null===a||null===b||a===b?0:b.vertexes.count-a.vertexes.count});return a};\nfunction lq(a,b,c){if(null!==c&&c.network!==b){hq(a,c);b.ig(c);for(var d=c.sourceEdges;d.next();){var e=d.value;e.network!==b&&(jq(a,e),iq(b,e),lq(a,b,e.fromVertex))}for(d=c.destinationEdges;d.next();)c=d.value,c.network!==b&&(jq(a,c),iq(b,c),lq(a,b,c.toVertex))}}Sp.prototype.Jz=function(){for(var a=new G,b=this.mf.iterator;b.next();)a.add(b.value.node);for(b=this.le.iterator;b.next();)a.add(b.value.link);return a};\nna.Object.defineProperties(Sp.prototype,{layout:{get:function(){return this.Ac},set:function(a){null!==a&&(this.Ac=a)}},vertexes:{get:function(){return this.mf}},edges:{get:function(){return this.le}}});Sp.prototype.findAllParts=Sp.prototype.Jz;Sp.prototype.splitIntoSubNetworks=Sp.prototype.Gy;Sp.prototype.deleteSelfEdges=Sp.prototype.fq;Sp.prototype.reverseEdge=Sp.prototype.Am;Sp.prototype.linkVertexes=Sp.prototype.rk;\nSp.prototype.findEdge=Sp.prototype.hq;Sp.prototype.deleteLink=Sp.prototype.Cz;Sp.prototype.deleteEdge=Sp.prototype.gk;Sp.prototype.addLink=Sp.prototype.gz;Sp.prototype.addEdge=Sp.prototype.am;Sp.prototype.findVertex=Sp.prototype.Ki;Sp.prototype.deleteNode=Sp.prototype.Dz;Sp.prototype.deleteVertex=Sp.prototype.lv;Sp.prototype.addNode=Sp.prototype.Zj;Sp.prototype.addVertex=Sp.prototype.ig;Sp.prototype.addParts=Sp.prototype.hg;Sp.className=\"LayoutNetwork\";\nfunction fq(a){Ta(this);this.Pc=a;this.j=(new N(0,0,10,10)).freeze();this.o=(new J(5,5)).freeze();this.mi=this.ib=null;this.qd=new E;this.Cd=new E}\nfq.prototype.serializeVertexProperties=function(a){a.id=gb(this);a.key=this.node?this.node.key:this.data?this.data.ci:void 0;void 0===a.key&&(a.key=null);a.x=this.bounds.x;a.y=this.bounds.y;a.eB=this.bounds.width;a.mA=this.bounds.height;a.fx=this.focus.x;a.fy=this.focus.y;var b=[];this.qd.each(function(a){b.push(gb(a))});a.Ey=b;var c=[];this.Cd.each(function(a){c.push(gb(a))});a.Nx=c};\nfq.prototype.deserializeVertexProperties=function(a,b,c){if(null!==a){this.x=a.x;this.y=a.y;this.width=a.eB;this.height=a.mA;this.focusX=a.fx;this.focusY=a.fy;var d=this;a.Ey&&a.Ey.forEach(function(a){(a=c.get(a))&&d.qd.add(a)});a.Nx&&a.Nx.forEach(function(a){(a=c.get(a))&&d.Cd.add(a)})}};fq.prototype.clear=function(){this.mi=this.ib=null;this.qd=new E;this.Cd=new E};\nfq.prototype.toString=function(a){void 0===a&&(a=0);var b=\"LayoutVertex#\"+gb(this);if(0<a&&(b+=null!==this.node?\"(\"+this.node.toString()+\")\":\"\",1<a)){a=\"\";for(var c=!0,d=this.qd.iterator;d.next();){var e=d.value;c?c=!1:a+=\",\";a+=e.toString(0)}e=\"\";c=!0;for(d=this.Cd.iterator;d.next();){var f=d.value;c?c=!1:e+=\",\";e+=f.toString(0)}b+=\" sources: \"+a+\" destinations: \"+e}return b};\nfq.prototype.commit=function(){var a=this.ib;if(null!==a){var b=this.bounds,c=a.bounds;za(c)?(c.x=b.x,c.y=b.y,c.width=b.width,c.height=b.height):a.bounds=b.copy()}else if(a=this.node,null!==a){b=this.bounds;if(!(a instanceof hf)){c=N.alloc();var d=this.network.layout.Ni(a,c),e=a.locationObject.da(yc);if(d.u()&&e.u()){a.moveTo(b.x+this.focusX-(e.x-d.x),b.y+this.focusY-(e.y-d.y));N.free(c);return}N.free(c)}a.moveTo(b.x,b.y)}};fq.prototype.bv=function(a){null!==a&&(this.qd.contains(a)||this.qd.add(a))};\nfq.prototype.kv=function(a){null!==a&&this.qd.remove(a)};fq.prototype.$u=function(a){null!==a&&(this.Cd.contains(a)||this.Cd.add(a))};fq.prototype.jv=function(a){null!==a&&this.Cd.remove(a)};function mq(a,b){a=a.mi;b=b.mi;return a?b?(a=a.text,b=b.text,a<b?-1:a>b?1:0):1:null!==b?-1:0}\nna.Object.defineProperties(fq.prototype,{sourceEdgesArrayAccess:{get:function(){return this.qd._dataArray}},destinationEdgesArrayAccess:{get:function(){return this.Cd._dataArray}},data:{get:function(){return this.ib},set:function(a){this.ib=a;if(null!==a&&a.bounds){var b=a.bounds;a=b.x;var c=b.y,d=b.width;b=b.height;this.o.h(d/2,b/2);this.j.h(a,c,d,b)}}},node:{get:function(){return this.mi},\nset:function(a){if(this.mi!==a){this.mi=a;a.Sa();var b=this.network.layout,c=N.alloc(),d=b.Ni(a,c);b=d.x;var e=d.y,f=d.width;d=d.height;isNaN(b)&&(b=0);isNaN(e)&&(e=0);this.j.h(b,e,f,d);N.free(c);if(!(a instanceof hf)&&(a=a.locationObject.da(yc),a.u())){this.o.h(a.x-b,a.y-e);return}this.o.h(f/2,d/2)}}},bounds:{get:function(){return this.j},set:function(a){this.j.A(a)||this.j.assign(a)}},focus:{get:function(){return this.o},set:function(a){this.o.A(a)||\nthis.o.assign(a)}},centerX:{get:function(){return this.j.x+this.o.x},set:function(a){var b=this.j;b.x+this.o.x!==a&&(b.ea(),b.x=a-this.o.x,b.freeze())}},centerY:{get:function(){return this.j.y+this.o.y},set:function(a){var b=this.j;b.y+this.o.y!==a&&(b.ea(),b.y=a-this.o.y,b.freeze())}},focusX:{get:function(){return this.o.x},set:function(a){var b=this.o;b.x!==a&&(b.ea(),b.x=a,b.freeze())}},focusY:{\nget:function(){return this.o.y},set:function(a){var b=this.o;b.y!==a&&(b.ea(),b.y=a,b.freeze())}},x:{get:function(){return this.j.x},set:function(a){var b=this.j;b.x!==a&&(b.ea(),b.x=a,b.freeze())}},y:{get:function(){return this.j.y},set:function(a){var b=this.j;b.y!==a&&(b.ea(),b.y=a,b.freeze())}},width:{get:function(){return this.j.width},set:function(a){var b=this.j;b.width!==a&&(b.ea(),b.width=\na,b.freeze())}},height:{get:function(){return this.j.height},set:function(a){var b=this.j;b.height!==a&&(b.ea(),b.height=a,b.freeze())}},network:{get:function(){return this.Pc},set:function(a){this.Pc=a}},sourceVertexes:{get:function(){for(var a=new G,b=this.sourceEdges;b.next();)a.add(b.value.fromVertex);return a.iterator}},destinationVertexes:{get:function(){for(var a=new G,b=\nthis.destinationEdges;b.next();)a.add(b.value.toVertex);return a.iterator}},vertexes:{get:function(){for(var a=new G,b=this.sourceEdges;b.next();)a.add(b.value.fromVertex);for(b=this.destinationEdges;b.next();)a.add(b.value.toVertex);return a.iterator}},sourceEdges:{get:function(){return this.qd.iterator}},destinationEdges:{get:function(){return this.Cd.iterator}},edges:{get:function(){for(var a=\nnew E,b=this.sourceEdges;b.next();)a.add(b.value);for(b=this.destinationEdges;b.next();)a.add(b.value);return a.iterator}},edgesCount:{get:function(){return this.qd.count+this.Cd.count}}});fq.prototype.deleteDestinationEdge=fq.prototype.jv;fq.prototype.addDestinationEdge=fq.prototype.$u;fq.prototype.deleteSourceEdge=fq.prototype.kv;fq.prototype.addSourceEdge=fq.prototype.bv;fq.className=\"LayoutVertex\";fq.standardComparer=mq;\nfq.smartComparer=function(a,b){if(null!==a){if(null!==b){a=a.mi;var c=b.mi;if(null!==a){if(null!==c){b=a.text.toLocaleLowerCase().split(/([+-]?[.]?\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)/);a=c.text.toLocaleLowerCase().split(/([+-]?[.]?\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)/);for(c=0;c<b.length;c++)if(\"\"!==a[c]&&void 0!==a[c]){var d=parseFloat(b[c]),e=parseFloat(a[c]);if(isNaN(d))if(isNaN(e)){if(0!==b[c].localeCompare(a[c]))return b[c].localeCompare(a[c])}else return 1;else{if(isNaN(e))return-1;if(0!==d-e)return d-e}}else if(\"\"!==\nb[c])return 1;return\"\"!==a[c]&&void 0!==a[c]?-1:0}return 1}return null!==c?-1:0}return 1}return null!==b?-1:0};function gq(a){Ta(this);this.Oc=a;this.ad=this.Tc=this.tl=this.ib=null}gq.prototype.clear=function(){this.ad=this.Tc=this.tl=this.ib=null};gq.prototype.serializeEdgeProperties=function(a){a.id=gb(this);a.key=this.link?this.link.key:this.data?this.data.ci:void 0;void 0===a.key&&(a.key=null);a.from=this.fromVertex?gb(this.fromVertex):null;a.$A=this.toVertex?gb(this.toVertex):null};\ngq.prototype.deserializeEdgeProperties=function(a,b){if(null!==a){var c=b.get(a.from);c&&(this.fromVertex=c);if(a=b.get(a.$A))this.toVertex=a}};gq.prototype.toString=function(a){void 0===a&&(a=0);var b=\"LayoutEdge#\"+gb(this);0<a&&(b+=null!==this.tl?\"(\"+this.tl.toString()+\")\":\"\",1<a&&(b+=\" \"+(this.Tc?this.Tc.toString():\"null\")+\" --\\x3e \"+(this.ad?this.ad.toString():\"null\")));return b};gq.prototype.Am=function(){var a=this.Tc;this.Tc=this.ad;this.ad=a};gq.prototype.commit=function(){};\ngq.prototype.ay=function(a){return this.ad===a?this.Tc:this.Tc===a?this.ad:null};\nna.Object.defineProperties(gq.prototype,{network:{get:function(){return this.Oc},set:function(a){this.Oc=a}},data:{get:function(){return this.ib},set:function(a){this.ib!==a&&(this.ib=a)}},link:{get:function(){return this.tl},set:function(a){this.tl!==a&&(this.tl=a)}},fromVertex:{get:function(){return this.Tc},set:function(a){this.Tc!==a&&(this.Tc=a)}},toVertex:{\nget:function(){return this.ad},set:function(a){this.ad!==a&&(this.ad=a)}}});gq.prototype.getOtherVertex=gq.prototype.ay;gq.className=\"LayoutEdge\";function Lk(a){li.call(this);this.isViewportSized=!0;this.Up=this.Vp=NaN;this.tg=(new M(NaN,NaN)).freeze();this.ef=(new M(10,10)).freeze();this.wb=nq;this.Gb=oq;this.Yc=pq;this.Rc=qq;a&&Object.assign(this,a)}ma(Lk,li);\nLk.prototype.cloneProtected=function(a){li.prototype.cloneProtected.call(this,a);a.Vp=this.Vp;a.Up=this.Up;a.tg.assign(this.tg);a.ef.assign(this.ef);a.wb=this.wb;a.Gb=this.Gb;a.Yc=this.Yc;a.Rc=this.Rc};Lk.prototype.gb=function(a){a.classType===Lk?a===pq||a===rq||a===sq||a===tq?this.sorting=a:a===oq||a===uq?this.arrangement=a:a===nq||a===vq?this.alignment=a:C(\"Unknown enum value: \"+a):li.prototype.gb.call(this,a)};\nLk.prototype.doLayout=function(a){this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);var b=this.Hx(a);a=this.diagram;for(var c=b.copy().iterator;c.next();){var d=c.value;if(!d.Dh()||null===d.fromNode&&null===d.toNode){if(d.Sa(),d instanceof hf)for(d=d.memberParts;d.next();)b.remove(d.value)}else b.remove(d)}var e=b.xa();if(0!==e.length){switch(this.sorting){case tq:e.reverse();break;case pq:e.sort(this.comparer);break;case rq:e.sort(this.comparer),e.reverse()}var f=this.wrappingColumn;\nisNaN(f)&&(f=0);var g=this.wrappingWidth;isNaN(g)&&null!==a?(b=a.padding,g=Math.max(a.viewportBounds.width-b.left-b.right,0)):g=Math.max(this.wrappingWidth,0);0>=f&&0>=g&&(f=1);b=this.spacing.width;isFinite(b)||(b=0);c=this.spacing.height;isFinite(c)||(c=0);null!==a&&a.wa(\"Layout\");d=[];switch(this.alignment){case vq:var h=b,k=c,l=N.alloc(),m=Math.max(this.cellSize.width,1);if(!isFinite(m))for(var n=m=0;n<e.length;n++){var p=this.Ni(e[n],l);m=Math.max(m,p.width)}m=Math.max(m+h,1);n=Math.max(this.cellSize.height,\n1);if(!isFinite(n))for(p=n=0;p<e.length;p++){var r=this.Ni(e[p],l);n=Math.max(n,r.height)}n=Math.max(n+k,1);p=this.arrangement;for(var q=r=this.arrangementOrigin.x,u=this.arrangementOrigin.y,v=0,w=0,z=0;z<e.length;z++){var y=e[z],A=this.Ni(y,l),B=Math.ceil((A.width+h)/m)*m,F=Math.ceil((A.height+k)/n)*n;switch(p){case uq:var K=Math.abs(q-A.width);break;default:K=q+A.width}if(0<f&&v>f-1||0<g&&0<v&&K-r>g)d.push(new N(0,u,g+h,w)),v=0,q=r,u+=w,w=0;w=Math.max(w,F);switch(p){case uq:A=-A.width;break;default:A=\n0}y.moveTo(q+A,u);switch(p){case uq:q-=B;break;default:q+=B}v++}d.push(new N(0,u,g+h,w));N.free(l);break;case nq:k=g;m=f;n=b;p=c;g=N.alloc();r=Math.max(this.cellSize.width,1);f=u=l=0;h=J.alloc();for(q=0;q<e.length;q++)w=e[q],v=this.Ni(w,g),w=vo(w,w.locationObject,w.locationSpot,h),l=Math.max(l,w.x),u=Math.max(u,v.width-w.x),f=Math.max(f,w.y);q=this.arrangement;switch(q){case uq:l+=n;break;default:u+=n}r=isFinite(r)?Math.max(r+n,1):Math.max(l+u,1);var S=w=this.arrangementOrigin.x;z=this.arrangementOrigin.y;\nu=0;k>=l&&(k-=l);l=y=0;B=Math.max(this.cellSize.height,1);A=f=0;F=!0;v=J.alloc();for(K=0;K<e.length;K++){var R=e[K],O=this.Ni(R,g),H=vo(R,R.locationObject,R.locationSpot,h);if(0<u)switch(q){case uq:S=(S-w-(O.width-H.x))/r;S=L.aa(Math.round(S),S)?Math.round(S):Math.floor(S);S=S*r+w;break;default:S=(S-w+H.x)/r,S=L.aa(Math.round(S),S)?Math.round(S):Math.ceil(S),S=S*r+w}else switch(q){case uq:y=S+H.x+O.width;break;default:y=S-H.x}switch(q){case uq:var da=-(S+H.x)+y;break;default:da=S+O.width-H.x-y}if(0<\nm&&u>m-1||0<k&&0<u&&da>k){d.push(new N(0,F?z-f:z,k+n,A+f+p));for(S=0;S<u&&K!==u;S++){da=e[K-u+S];var ba=vo(da,da.locationObject,da.locationSpot,v);da.moveTo(da.position.x,da.position.y+f-ba.y)}A+=p;z=F?z+A:z+(A+f);u=A=f=0;S=w;F=!1}S===w&&(l=q===uq?Math.max(l,O.width-H.x):Math.min(l,-H.x));f=Math.max(f,H.y);A=Math.max(A,O.height-H.y);isFinite(B)&&(A=Math.max(A,Math.max(O.height,B)-H.y));F?R.moveTo(S-H.x,z-H.y):R.moveTo(S-H.x,z);switch(q){case uq:S-=H.x+n;break;default:S+=O.width-H.x+n}u++}d.push(new N(0,\nz,k+n,(F?A:A+f)+p));if(e.length!==u)for(k=0;k<u;k++)m=e[e.length-u+k],n=vo(m,m.locationObject,m.locationSpot,h),m.moveTo(m.position.x,m.position.y+f-n.y);J.free(h);J.free(v);if(q===uq)for(e=0;e<d.length;e++)f=d[e],f.width+=l,f.x-=l;else for(e=0;e<d.length;e++)f=d[e],f.x>l&&(f.width+=f.x-l,f.x=l);N.free(g)}for(h=f=g=e=0;h<d.length;h++)k=d[h],e=Math.min(e,k.x),g=Math.min(g,k.y),f=Math.max(f,k.x+k.width);this.arrangement===uq?this.commitLayers(d,new J(e+b/2-(f+e),g-c/2)):this.commitLayers(d,new J(e-\nb/2,g-c/2));null!==a&&a.Xa(\"Layout\");this.isValidLayout=!0}};Lk.prototype.commitLayers=function(){};function qq(a,b){a=a.text;b=b.text;return a<b?-1:a>b?1:0}\nna.Object.defineProperties(Lk.prototype,{wrappingWidth:{get:function(){return this.Vp},set:function(a){this.Vp!==a&&(0<a||isNaN(a))&&(this.Vp=a,this.isViewportSized=isNaN(a),this.B())}},wrappingColumn:{get:function(){return this.Up},set:function(a){this.Up!==a&&(0<a||isNaN(a))&&(this.Up=a,this.B())}},cellSize:{get:function(){return this.tg},set:function(a){this.tg.A(a)||(this.tg.assign(a),this.B())}},spacing:{\nget:function(){return this.ef},set:function(a){this.ef.A(a)||(this.ef.assign(a),this.B())}},alignment:{get:function(){return this.wb},set:function(a){this.wb===a||a!==nq&&a!==vq||(this.wb=a,this.B())}},arrangement:{get:function(){return this.Gb},set:function(a){this.Gb===a||a!==oq&&a!==uq||(this.Gb=a,this.B())}},sorting:{get:function(){return this.Yc},set:function(a){this.Yc===a||a!==sq&&a!==tq&&\na!==pq&&a!==rq||(this.Yc=a,this.B())}},comparer:{get:function(){return this.Rc},set:function(a){this.Rc!==a&&(this.Rc=a,this.B())}}});var vq=new D(Lk,\"Position\",0),nq=new D(Lk,\"Location\",1),oq=new D(Lk,\"LeftToRight\",2),uq=new D(Lk,\"RightToLeft\",3),sq=new D(Lk,\"Forward\",4),tq=new D(Lk,\"Reverse\",5),pq=new D(Lk,\"Ascending\",6),rq=new D(Lk,\"Descending\",7);Lk.className=\"GridLayout\";Lk.standardComparer=qq;\nLk.smartComparer=function(a,b){if(null!==a){if(null!==b){a=a.text.toLocaleLowerCase().split(/([+-]?[.]?\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)/);b=b.text.toLocaleLowerCase().split(/([+-]?[.]?\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)/);for(var c=0;c<a.length;c++)if(\"\"!==b[c]&&void 0!==b[c]){var d=parseFloat(a[c]),e=parseFloat(b[c]);if(isNaN(d))if(isNaN(e)){if(0!==a[c].localeCompare(b[c]))return a[c].localeCompare(b[c])}else return 1;else{if(isNaN(e))return-1;if(0!==d-e)return d-e}}else if(\"\"!==a[c])return 1;return\"\"!==b[c]&&\nvoid 0!==b[c]?-1:0}return 1}return null!==b?-1:0};Lk.Position=vq;Lk.Location=nq;Lk.LeftToRight=oq;Lk.RightToLeft=uq;Lk.Forward=sq;Lk.Reverse=tq;Lk.Ascending=pq;Lk.Descending=rq;function hi(){this.Po=new G;this.wo=new G;this.Fa=new G;this.Re=new I;this.Qe=new I;this.Bj=new I;this.F=null;this.Nq=!1}t=hi.prototype;t.clear=function(){this.Po.clear();this.wo.clear();this.Fa.clear();this.Re.clear();this.Qe.clear();this.Bj.clear()};t.Ke=function(a){this.F=a};\nt.Oi=function(a){if(a instanceof W){if(this.Po.add(a),a instanceof hf){var b=a.containingGroup;null===b?this.F.xi.add(a):b.zl.add(a);b=a.layout;null!==b&&(b.diagram=this.F)}}else a instanceof U?this.wo.add(a):a instanceof we||this.Fa.add(a);b=a.data;null===b||a instanceof we||(a instanceof U?this.Qe.add(b,a):this.Re.add(b,a))};\nt.bc=function(a){a.$j();if(a instanceof W){if(this.Po.remove(a),a instanceof hf){var b=a.containingGroup;null===b?this.F.xi.remove(a):b.zl.remove(a);b=a.layout;null!==b&&(b.diagram=null)}}else a instanceof U?this.wo.remove(a):a instanceof we||this.Fa.remove(a);b=a.data;null===b||a instanceof we||(a instanceof U?this.Qe.remove(b):this.Re.remove(b))};\nt.Hd=function(){var a=this.F;if(null!==a){for(var b=a.nodeTemplateMap.iterator;b.next();){var c=b.value,d=b.key;(!c.Jc()||c instanceof hf)&&C('Invalid node template in Diagram.nodeTemplateMap: template for \"'+d+'\" must be a Node or a simple Part, not a Group or Link: '+c)}for(b=a.groupTemplateMap.iterator;b.next();)c=b.value,d=b.key,c instanceof hf||C('Invalid group template in Diagram.groupTemplateMap: template for \"'+d+'\" must be a Group, not a normal Node or Link: '+c);for(b=a.linkTemplateMap.iterator;b.next();)c=\nb.value,d=b.key,c instanceof U||C('Invalid link template in Diagram.linkTemplateMap: template for \"'+d+'\" must be a Link, not a normal Node or simple Part: '+c);b=Fa();for(c=a.selection.iterator;c.next();)(d=c.value.data)&&b.push(d);c=Fa();for(a=a.highlighteds.iterator;a.next();)(d=a.value.data)&&c.push(d);a=Fa();for(d=this.nodes.iterator;d.next();){var e=d.value;null!==e.data&&(a.push(e.data),a.push(e.location))}for(d=this.links.iterator;d.next();)e=d.value,null!==e.data&&(a.push(e.data),a.push(e.location));\nfor(d=this.parts.iterator;d.next();)e=d.value,null!==e.data&&(a.push(e.data),a.push(e.location));this.removeAllModeledParts();this.addAllModeledParts();for(d=0;d<b.length;d++)e=this.vc(b[d]),null!==e&&(e.isSelected=!0);for(d=0;d<c.length;d++)e=this.vc(c[d]),null!==e&&(e.isHighlighted=!0);for(d=0;d<a.length;d+=2)e=this.vc(a[d]),null!==e&&(e.location=a[d+1]);Ia(b);Ia(c);Ia(a)}};hi.prototype.addAllModeledParts=function(){this.addModeledParts(this.diagram.model.nodeDataArray)};\nhi.prototype.addModeledParts=function(a,b){var c=this,d=this.diagram.model;a.forEach(function(a){d.cb(a)&&wq(c,a,!1)});a.forEach(function(a){d.cb(a)&&c.resolveReferencesForData(a)});!1!==b&&Yj(this.diagram,!1)};\nfunction wq(a,b,c){if(void 0!==b&&null!==b&&!a.diagram.undoManager.isUndoingRedoing&&!a.Re.contains(b)){void 0===c&&(c=!0);a:{if(void 0!==b&&null!==b&&!a.F.undoManager.isUndoingRedoing&&!a.Re.contains(b)){var d=a.lq(b);var e=Ho(a,b,d);if(null!==e&&(ng(e),e=e.copy(),null!==e)){var f=a.diagram.skipsModelSourceBindings;a.diagram.skipsModelSourceBindings=!0;e.Jf=d;e.ib=b;a.Nq&&(e.Og=\"Tool\");a.diagram.add(e);e.ib=null;e.data=b;a.diagram.skipsModelSourceBindings=f;d=e;break a}}d=null}null!==d&&c&&a.resolveReferencesForData(b)}}\nhi.prototype.insertLink=function(){return null};hi.prototype.resolveReferencesForData=function(){};hi.prototype.lq=function(a){return this.F.model.lq(a)};\nfunction Ho(a,b,c){a=a.F;var d=a.model;d.pk()&&d.Dv(b)?(b=a.groupTemplateMap.H(c),null===b&&(b=a.groupTemplateMap.H(\"\"),null===b&&(xq||(xq=!0,ya('No Group template found for category \"'+c+'\"'),ya(\"  Using default group template\")),b=a.Qy))):(b=a.nodeTemplateMap.H(c),null===b&&(b=a.nodeTemplateMap.H(\"\"),null===b&&(yq||(yq=!0,ya('No Node template found for category \"'+c+'\"'),ya(\"  Using default node template\")),b=a.Sy)));return b}hi.prototype.getLinkCategoryForData=function(){return\"\"};\nhi.prototype.setLinkCategoryForData=function(){};hi.prototype.setFromNodeForLink=function(){};hi.prototype.setToNodeForLink=function(){};hi.prototype.findLinkTemplateForCategory=function(a){var b=this.F,c=b.linkTemplateMap.H(a);null===c&&(c=b.linkTemplateMap.H(\"\"),null===c&&(zq||(zq=!0,ya('No Link template found for category \"'+a+'\"'),ya(\"  Using default link template\")),c=b.Ry));return c};hi.prototype.removeAllModeledParts=function(){this.at(this.diagram.model.nodeDataArray)};\nhi.prototype.at=function(a){var b=this;a.forEach(function(a){b.Cq(a)})};hi.prototype.Cq=function(a){a=this.vc(a);null!==a&&(Fj(this.diagram,a,!1),this.unresolveReferencesForPart(a))};hi.prototype.unresolveReferencesForPart=function(){};hi.prototype.removeDataForLink=function(){};hi.prototype.findPartForKey=function(a){if(null===a||void 0===a)return null;a=this.F.model.Vb(a);return null!==a?this.Re.H(a):null};\nhi.prototype.Eb=function(a){if(null===a||void 0===a)return null;a=this.F.model.Vb(a);if(null===a)return null;a=this.Re.H(a);return a instanceof W?a:null};hi.prototype.findLinkForKey=function(){return null};t=hi.prototype;t.vc=function(a){if(null===a)return null;var b=this.Re.H(a);return null!==b?b:b=this.Qe.H(a)};t.Hi=function(a){if(null===a)return null;a=this.Re.H(a);return a instanceof W?a:null};t.uc=function(a){return null===a?null:this.Qe.H(a)};\nt.Ds=function(a){for(var b=0;b<arguments.length;++b);b=new G;for(var c=this.Po.iterator;c.next();){var d=c.value,e=d.data;if(null!==e)for(var f=0;f<arguments.length;f++){var g=arguments[f];if(za(g)&&Aq(this,e,g)){b.add(d);break}}}return b.iterator};t.Cs=function(a){for(var b=0;b<arguments.length;++b);b=new G;for(var c=this.wo.iterator;c.next();){var d=c.value,e=d.data;if(null!==e)for(var f=0;f<arguments.length;f++){var g=arguments[f];if(za(g)&&Aq(this,e,g)){b.add(d);break}}}return b.iterator};\nfunction Aq(a,b,c){for(var d in c){var e=b[d],f=c[d];if(Aa(f)){if(!Aa(e)||e.length<f.length)return!1;for(var g=0;g<e.length;g++){var h=f[g];if(void 0!==h&&!Bq(a,e[g],h))return!1}}else if(!Bq(a,e,f))return!1}return!0}function Bq(a,b,c){if(\"function\"===typeof c){if(!c(b))return!1}else if(c instanceof RegExp){if(!b||!c.test(b.toString()))return!1}else if(za(b)&&za(c)){if(!Aq(a,b,c))return!1}else if(b!==c)return!1;return!0}\nhi.prototype.doModelChanged=function(a){if(this.F){var b=this.F;if(a.model===b.model){var c=a.change;b.doModelChanged(a);if(b.Z){b.Z=!1;try{var d=a.modelChange;if(\"\"!==d)if(c===ce){if(\"nodeCategory\"===d){var e=this.vc(a.object),f=a.newValue;null!==e&&\"string\"===typeof f&&(e.category=f)}else\"nodeDataArray\"===d&&(this.at(a.oldValue),this.addModeledParts(a.newValue));b.isModified=!0}else if(c===ee){var g=a.newValue;\"nodeDataArray\"===d&&za(g)&&wq(this,g);b.isModified=!0}else if(c===fe){var h=a.oldValue;\n\"nodeDataArray\"===d&&za(h)&&this.Cq(h);b.isModified=!0}else c===de&&(\"SourceChanged\"===d?null!==a.object?this.updateDataBindings(a.object,a.propertyName):(this.Lq(),this.updateAllTargetBindings()):\"ModelDisplaced\"===d&&this.Hd());else if(c===ce){var k=a.propertyName,l=a.object;if(l===b.model){if(\"nodeKeyProperty\"===k||\"nodeCategoryProperty\"===k)b.undoManager.isUndoingRedoing||this.Hd()}else this.updateDataBindings(l,k);b.isModified=!0}else if(c===ee||c===fe){var m=a.change===ee,n=m?a.newParam:a.oldParam,\np=m?a.newValue:a.oldValue,r=this.Bj.H(a.object);if(Array.isArray(r))for(a=0;a<r.length;a++){var q=r[a];if(m)kn(q,p,n,!0);else if(!(0>n)){var u=n+bn(q);q.bc(u,!0);nn(q,u,n)}}b.isModified=!0}}finally{b.Z=!0}}}}};hi.prototype.updateAllTargetBindings=function(a){void 0===a&&(a=\"\");for(var b=this.parts.iterator;b.next();)b.value.Da(a);for(b=this.nodes.iterator;b.next();)b.value.Da(a);for(b=this.links.iterator;b.next();)b.value.Da(a)};\nhi.prototype.Lq=function(){for(var a=this.F.model,b=new G,c=a.nodeDataArray,d=0;d<c.length;d++)b.add(c[d]);var e=[];this.nodes.each(function(a){null===a.data||b.contains(a.data)||e.push(a.data)});this.parts.each(function(a){null===a.data||b.contains(a.data)||e.push(a.data)});e.forEach(function(b){Cq(a,b,!1)});for(d=0;d<c.length;d++){var f=c[d];null===this.vc(f)&&Dq(a,f,!1)}this.refreshDataBoundLinks();for(c=this.parts.iterator;c.next();)c.value.updateRelationshipsFromData();for(c=this.nodes.iterator;c.next();)c.value.updateRelationshipsFromData();\nfor(c=this.links.iterator;c.next();)c.value.updateRelationshipsFromData()};hi.prototype.refreshDataBoundLinks=function(){};hi.prototype.updateRelationshipsFromData=function(){};\nhi.prototype.updateDataBindings=function(a,b){if(\"string\"===typeof b){var c=this.vc(a);if(null!==c)c.Da(b);else{c=null;for(var d=this.Bj.iterator;d.next();){for(var e=d.value,f=0;f<e.length;f++){var g=e[f].Tx(a);null!==g&&(null===c&&(c=Fa()),c.push(g))}if(null!==c)break}if(null!==c){for(d=0;d<c.length;d++)c[d].Da(b);Ia(c)}}a===this.diagram.model.modelData&&this.updateAllTargetBindings(b)}};\nfunction Bj(a,b){var c=b.bi;if(Aa(c)){var d=a.Bj.H(c);if(null===d)d=[],d.push(b),a.Bj.add(c,d);else{for(a=0;a<d.length;a++)if(d[a]===b)return;d.push(b)}}}function Ej(a,b,c){zj(b,function(a){a=a.T.m;for(var b=a.length,d=0;d<b;d++)Wj(c,a[d])});var d=b.bi;if(Aa(d)){var e=a.Bj.H(d);if(null!==e)for(var f=0;f<e.length;f++)if(e[f]===b){e.splice(f,1);0===e.length&&a.Bj.remove(d);break}}}\nhi.prototype.ek=function(a,b,c){void 0===c&&(c=!1);var d=new I;if(Aa(a))for(var e=0;e<a.length;e++)Eq(this,a[e],b,d,c);else for(a=a.iterator;a.next();)Eq(this,a.value,b,d,c);if(null!==b){c=b.model;a=b.toolManager.findTool(\"Dragging\");a=null!==a?a.dragOptions.dragsLink:b.zn.dragsLink;e=new G;for(var f=new I,g=d.iterator;g.next();){var h=g.value;if(h instanceof U)a||null!==h.fromNode&&null!==h.toNode||e.add(h);else if(h instanceof W&&null!==h.data&&c.nm()){var k=h;h=g.key;var l=h.lg();null!==l&&(l=\nd.H(l),null!==l?(c.fe(k.data,c.pa(l.data)),k=b.uc(k.data),h=h.Ji(),null!==h&&null!==k&&f.add(h,k)):c.fe(k.data,void 0))}}0<e.count&&b.bt(e,!1);if(0<f.count)for(c=f.iterator;c.next();)d.add(c.key,c.value)}if(null!==b&&null!==this.F&&(b=b.model,c=b.afterCopyFunction,null!==c)){var m=new I;d.each(function(a){null!==a.key.data&&m.add(a.key.data,a.value.data)});c(m,b,this.F.model)}for(b=d.iterator;b.next();)b.value.Da();return d};\nfunction Eq(a,b,c,d,e){if(null===b||e&&!b.canCopy())return null;if(d.contains(b))return d.H(b);var f=a.copyPartData(b,c);if(!(f instanceof V))return null;f.isSelected=!1;f.isHighlighted=!1;d.add(b,f);if(b instanceof W){for(var g=b.linksConnected;g.next();){var h=g.value;if(h.fromNode===b){var k=d.H(h);null!==k&&(k.fromNode=f)}h.toNode===b&&(h=d.H(h),null!==h&&(h.toNode=f))}if(b instanceof hf&&f instanceof hf)for(b=b.memberParts;b.next();)g=Eq(a,b.value,c,d,e),g instanceof U||null===g||(g.containingGroup=\nf)}else if(b instanceof U&&f instanceof U)for(g=b.fromNode,null!==g&&(g=d.H(g),null!==g&&(f.fromNode=g)),g=b.toNode,null!==g&&(g=d.H(g),null!==g&&(f.toNode=g)),b=b.labelNodes;b.next();)g=Eq(a,b.value,c,d,e),null!==g&&g instanceof W&&(g.labeledLink=f);return f}\nhi.prototype.copyPartData=function(a,b){var c=null,d=a.data;if(null!==d&&null!==b){var e=b.model;a instanceof U||(d=e.copyNodeData(d),za(d)&&(e.nf(d),c=b.vc(d)))}else ng(a),c=a.copy(),null!==c&&(e=this.F,null!==b?b.add(c):null!==d&&null!==e&&null!==e.commandHandler&&e.commandHandler.copiesClipboardData&&(b=e.model,e=null,c instanceof U||(e=b.copyNodeData(d)),za(e)&&(c.data=e)));return c};\nna.Object.defineProperties(hi.prototype,{nodes:{get:function(){return this.Po}},links:{get:function(){return this.wo}},parts:{get:function(){return this.Fa}},diagram:{get:function(){return this.F}},addsToTemporaryLayer:{get:function(){return this.Nq},set:function(a){this.Nq=a}}});hi.prototype.updateAllRelationshipsFromData=hi.prototype.Lq;\nhi.prototype.findLinksByExample=hi.prototype.Cs;hi.prototype.findNodesByExample=hi.prototype.Ds;hi.prototype.findLinkForData=hi.prototype.uc;hi.prototype.findNodeForData=hi.prototype.Hi;hi.prototype.findPartForData=hi.prototype.vc;hi.prototype.findNodeForKey=hi.prototype.Eb;hi.prototype.removeModeledPart=hi.prototype.Cq;hi.prototype.removeModeledParts=hi.prototype.at;hi.prototype.rebuildParts=hi.prototype.Hd;var yq=!1,xq=!1,zq=!1;hi.className=\"PartManager\";\nfunction Fq(a){hi.apply(this,arguments)}ma(Fq,hi);Fq.prototype.addAllModeledParts=function(){var a=this.diagram.model;this.addModeledParts(a.nodeDataArray);Gq(this,a.linkDataArray)};Fq.prototype.addModeledParts=function(a){hi.prototype.addModeledParts.call(this,a,!1);for(a=this.links.iterator;a.next();)Io(a.value);Yj(this.diagram,!1)};function Gq(a,b){b.forEach(function(b){Hq(a,b)});Yj(a.diagram,!1)}\nfunction Hq(a,b){if(void 0!==b&&null!==b&&!a.diagram.undoManager.isUndoingRedoing&&!a.Qe.contains(b)){var c=a.getLinkCategoryForData(b),d=a.findLinkTemplateForCategory(c);if(null!==d){ng(d);var e=d.copy();if(null!==e){d=a.diagram.skipsModelSourceBindings;a.diagram.skipsModelSourceBindings=!0;e.Jf=c;e.ib=b;c=a.diagram.model;var f=Iq(c,b,!0);\"\"!==f&&(e.fromPortId=f);f=Jq(c,b,!0);void 0!==f&&(f=a.Eb(f),f instanceof W&&(e.fromNode=f));f=Iq(c,b,!1);\"\"!==f&&(e.toPortId=f);f=Jq(c,b,!1);void 0!==f&&(f=a.Eb(f),\nf instanceof W&&(e.toNode=f));c=c.xf(b);Array.isArray(c)&&c.forEach(function(b){b=a.Eb(b);null!==b&&(b.labeledLink=e)});a.Nq&&(e.Og=\"Tool\");a.diagram.add(e);e.ib=null;e.data=b;a.diagram.skipsModelSourceBindings=d}}}}Fq.prototype.removeAllModeledParts=function(){var a=this.diagram.model;Kq(this,a.linkDataArray);this.at(a.nodeDataArray)};function Kq(a,b){b.forEach(function(b){a.Cq(b)})}Fq.prototype.getLinkCategoryForData=function(a){return this.diagram.model.Gs(a)};\nFq.prototype.setLinkCategoryForData=function(a,b){return this.diagram.model.Fq(a,b)};Fq.prototype.setFromNodeForLink=function(a,b){var c=this.diagram.model;c.Wv(a.data,c.pa(null!==b?b.data:null))};Fq.prototype.setToNodeForLink=function(a,b){var c=this.diagram.model;c.$v(a.data,c.pa(null!==b?b.data:null))};Fq.prototype.removeDataForLink=function(a){this.diagram.model.vm(a.data)};\nFq.prototype.findPartForKey=function(a){var b=hi.prototype.findPartForKey.call(this,a);return null===b&&(a=this.diagram.model.zh(a),null!==a)?this.Qe.H(a):b};Fq.prototype.findLinkForKey=function(a){if(null===a||void 0===a)return null;a=this.diagram.model.zh(a);return null!==a?this.Qe.H(a):null};\nFq.prototype.doModelChanged=function(a){var b=this;hi.prototype.doModelChanged.call(this,a);if(this.diagram){var c=this.diagram;if(a.model===c.model){var d=a.change;if(c.Z){c.Z=!1;try{var e=a.modelChange;if(\"\"!==e)if(d===ce){if(\"linkFromKey\"===e){var f=this.uc(a.object);if(null!==f){var g=this.Eb(a.newValue);f.fromNode=g}}else if(\"linkToKey\"===e){var h=this.uc(a.object);if(null!==h){var k=this.Eb(a.newValue);h.toNode=k}}else if(\"linkFromPortId\"===e){var l=this.uc(a.object);if(null!==l){var m=a.newValue;\n\"string\"===typeof m&&(l.fromPortId=m)}}else if(\"linkToPortId\"===e){var n=this.uc(a.object);if(null!==n){var p=a.newValue;\"string\"===typeof p&&(n.toPortId=p)}}else if(\"nodeGroupKey\"===e){var r=this.vc(a.object);if(null!==r){var q=a.newValue;if(void 0!==q){var u=this.Eb(q);u instanceof hf?r.containingGroup=u:r.containingGroup=null}else r.containingGroup=null}}else if(\"linkLabelKeys\"===e){var v=this.uc(a.object);if(null!==v){var w=a.oldValue,z=a.newValue;Array.isArray(w)&&w.forEach(function(a){0<=z.indexOf(a)||\n(a=b.Eb(a),null!==a&&(a.labeledLink=null))});Array.isArray(z)&&z.forEach(function(a){a=b.Eb(a);null!==a&&(a.labeledLink=v)})}}else if(\"linkCategory\"===e){var y=this.uc(a.object),A=a.newValue;null!==y&&\"string\"===typeof A&&(y.category=A)}else\"linkDataArray\"===e&&(Kq(this,a.oldValue),Gq(this,a.newValue));c.isModified=!0}else if(d===ee){var B=a.newValue;if(\"linkDataArray\"===e&&\"object\"===typeof B&&null!==B)Hq(this,B);else if(\"linkLabelKeys\"===e&&Lq(B)){var F=this.uc(a.object),K=this.Eb(B);null!==F&&\nnull!==K&&(K.labeledLink=F)}c.isModified=!0}else{if(d===fe){var S=a.oldValue;if(\"linkDataArray\"===e&&\"object\"===typeof S&&null!==S)this.Cq(S);else if(\"linkLabelKeys\"===e&&Lq(S)){var R=this.Eb(S);null!==R&&(R.labeledLink=null)}c.isModified=!0}}else if(d===ce){var O=a.propertyName;a.object!==c.model||\"linkFromKeyProperty\"!==O&&\"linkToKeyProperty\"!==O&&\"linkFromPortIdProperty\"!==O&&\"linkToPortIdProperty\"!==O&&\"linkLabelKeysProperty\"!==O&&\"nodeIsGroupProperty\"!==O&&\"nodeGroupKeyProperty\"!==O&&\"linkCategoryProperty\"!==\nO||c.undoManager.isUndoingRedoing||this.Hd();c.isModified=!0}}finally{c.Z=!0}}}}};Fq.prototype.refreshDataBoundLinks=function(){var a=this,b=this.diagram.model,c=new G,d=b.linkDataArray;d.forEach(function(a){c.add(a)});var e=[];this.links.each(function(a){null===a.data||c.contains(a.data)||e.push(a.data)});e.forEach(function(a){Mq(b,a,!1)});d.forEach(function(c){null===a.uc(c)&&Nq(b,c,!1)})};\nFq.prototype.updateRelationshipsFromData=function(a){var b=a.data;if(null!==b){var c=a.diagram;if(null!==c){var d=c.model;if(a instanceof U){var e=Jq(d,b,!0);e=c.Eb(e);a.fromNode=e;e=Jq(d,b,!1);e=c.Eb(e);a.toNode=e;b=d.xf(b);if(0<b.length||0<a.labelNodes.count){if(1===b.length&&1===a.labelNodes.count){e=b[0];var f=a.labelNodes.first();if(d.pa(f.data)===e)return}e=(new G).addAll(b);var g=new G;a.labelNodes.each(function(a){null!==a.data&&(a=d.pa(a.data),void 0!==a&&g.add(a))});b=g.copy();b.Bq(e);e=\ne.copy();e.Bq(g);if(0<b.count||0<e.count)b.each(function(b){b=c.Eb(b);null!==b&&b.labeledLink===a&&(b.labeledLink=null)}),e.each(function(b){b=c.Eb(b);null!==b&&b.labeledLink!==a&&(b.labeledLink=a)})}}else!(a instanceof we)&&(b=d.Ah(b),b=c.findPartForKey(b),null===b||b instanceof hf)&&(a.containingGroup=b)}}};\nFq.prototype.resolveReferencesForData=function(a){var b=this.diagram.model,c=b.pa(a);if(void 0!==c){var d=Oq(b,c),e=this.vc(a);if(null!==d&&null!==e){d=d.iterator;for(var f={};d.next();){var g=d.value;b.cb(g)?e instanceof hf&&b.Ah(g)===c&&(g=this.vc(g),null!==g&&(g.containingGroup=e)):(f.link=this.uc(g),null!==f.link&&e instanceof W&&(Jq(b,g,!0)===c&&(f.link.fromNode=e),Jq(b,g,!1)===c&&(f.link.toNode=e),g=b.xf(g),Array.isArray(g)&&g.some(function(a){return function(b){return b===c?(e.labeledLink=\na.link,!0):!1}}(f))));f={link:f.link}}Pq(b,c)}a=b.Ah(a);void 0!==a&&(a=this.Eb(a),a instanceof hf&&(e.containingGroup=a))}};Fq.prototype.unresolveReferencesForPart=function(a){var b=this.diagram.model;if(a instanceof W){var c=b.pa(a.data);if(void 0!==c){for(var d=a.linksConnected;d.next();)Qq(b,c,d.value.data);a.isLinkLabel&&(d=a.labeledLink,null!==d&&Qq(b,c,d.data));if(a instanceof hf)for(a=a.memberParts;a.next();)d=a.value.data,b.cb(d)&&Qq(b,c,d)}}};\nFq.prototype.copyPartData=function(a,b){var c=hi.prototype.copyPartData.call(this,a,b);if(a instanceof U)if(a=a.data,null!==a&&null!==b){var d=b.model;a=d.eq(a);\"object\"===typeof a&&null!==a&&(d.Ci(a),c=b.uc(a))}else null!==c&&(b=this.diagram,null!==a&&null!==b&&null!==b.commandHandler&&b.commandHandler.copiesClipboardData&&(b=b.model.eq(a),\"object\"===typeof b&&null!==b&&(c.data=b)));return c};\nFq.prototype.insertLink=function(a,b,c,d){var e=this.diagram,f=e.model,g=e.toolManager.findTool(\"Linking\"),h=\"\";null!==a&&(null===b&&(b=a),h=b.portId,null===h&&(h=\"\"));b=\"\";null!==c&&(null===d&&(d=c),b=d.portId,null===b&&(b=\"\"));d=g.archetypeLinkData;if(d instanceof U){if(ng(d),f=d.copy(),null!==f)return f.fromNode=a,f.fromPortId=h,f.toNode=c,f.toPortId=b,e.add(f),a=g.archetypeLabelNodeData,a instanceof W&&(ng(a),a=a.copy(),null!==a&&(a.labeledLink=f,e.add(a))),f}else if(null!==d&&(d=f.eq(d),\"object\"===\ntypeof d&&null!==d))return null!==a&&Rq(f,d,f.pa(a.data),!0),Sq(f,d,h,!0),null!==c&&Rq(f,d,f.pa(c.data),!1),Sq(f,d,b,!1),f.Ci(d),a=g.archetypeLabelNodeData,null===a||a instanceof W||(a=f.copyNodeData(a),\"object\"===typeof a&&null!==a&&(f.nf(a),a=f.pa(a),void 0!==a&&f.av(d,a))),e.uc(d);return null};Fq.prototype.findLinkForKey=Fq.prototype.findLinkForKey;Fq.prototype.findPartForKey=Fq.prototype.findPartForKey;Fq.prototype.removeAllModeledParts=Fq.prototype.removeAllModeledParts;\nFq.prototype.addModeledParts=Fq.prototype.addModeledParts;Fq.prototype.addAllModeledParts=Fq.prototype.addAllModeledParts;Fq.className=\"GraphLinksPartManager\";function Tq(){hi.apply(this,arguments);this.eh=null}ma(Tq,hi);\nfunction Uq(a,b,c){if(null!==b&&null!==c){var d=a.diagram.toolManager.findTool(\"Linking\"),e=b,f=c;if(a.diagram.isTreePathToChildren)for(b=f.linksConnected;b.next();){if(b.value.toNode===f)return}else for(e=c,f=b,b=e.linksConnected;b.next();)if(b.value.fromNode===e)return;if(null===d||!If(d,e,f,null,!0))if(d=a.getLinkCategoryForData(c.data),b=a.findLinkTemplateForCategory(d),null!==b&&(ng(b),b=b.copy(),null!==b)){var g=a.diagram.skipsModelSourceBindings;a.diagram.skipsModelSourceBindings=!0;b.Jf=d;\nb.ib=c.data;b.fromNode=e;b.toNode=f;a.diagram.add(b);b.ib=null;b.data=c.data;a.diagram.skipsModelSourceBindings=g}}}Tq.prototype.getLinkCategoryForData=function(a){return this.diagram.model.Js(a)};Tq.prototype.setLinkCategoryForData=function(a,b){this.diagram.model.ft(a,b)};\nTq.prototype.setFromNodeForLink=function(a,b,c){var d=this.diagram.model;void 0===c&&(c=null);b=null!==b?b.data:null;if(this.diagram.isTreePathToChildren)d.fe(a.data,d.pa(b));else{var e=this.eh;this.eh=a;null!==c&&d.fe(c.data,void 0);d.fe(b,d.pa(null!==a.toNode?a.toNode.data:null));this.eh=e}};\nTq.prototype.setToNodeForLink=function(a,b,c){var d=this.diagram.model;void 0===c&&(c=null);b=null!==b?b.data:null;if(this.diagram.isTreePathToChildren){var e=this.eh;this.eh=a;null!==c&&d.fe(c.data,void 0);d.fe(b,d.pa(null!==a.fromNode?a.fromNode.data:null));this.eh=e}else d.fe(a.data,d.pa(b))};Tq.prototype.removeDataForLink=function(a){this.diagram.model.fe(a.data,void 0)};\nTq.prototype.findLinkForKey=function(a){if(null===a||void 0===a)return null;a=this.diagram.model.Vb(a);return null!==a?this.Qe.H(a):null};\nTq.prototype.doModelChanged=function(a){hi.prototype.doModelChanged.call(this,a);if(this.diagram){var b=this.diagram;if(a.model===b.model){var c=a.change;if(b.Z){b.Z=!1;try{var d=a.modelChange;if(\"\"!==d){if(c===ce){if(\"nodeParentKey\"===d){var e=a.object,f=this.Eb(a.newValue),g=this.Hi(e);if(null!==this.eh)null!==f&&(this.eh.data=e,this.eh.category=this.getLinkCategoryForData(e));else if(null!==g){var h=g.Ji();null!==h?null===f?b.remove(h):b.isTreePathToChildren?h.fromNode=f:h.toNode=f:Uq(this,f,g)}}else if(\"parentLinkCategory\"===\nd){var k=this.Hi(a.object),l=a.newValue;if(null!==k&&\"string\"===typeof l){var m=k.Ji();null!==m&&(m.category=l)}}b.isModified=!0}}else if(c===ce){var n=a.propertyName;a.object===b.model&&\"nodeParentKeyProperty\"===n&&(b.undoManager.isUndoingRedoing||this.Hd());b.isModified=!0}}finally{b.Z=!0}}}}};\nTq.prototype.updateRelationshipsFromData=function(a){var b=a.data;if(null!==b){var c=a.diagram;if(null!==c){var d=c.model;a instanceof W&&(b=d.Bh(b),b=c.Eb(b),d=a.lg(),b!==d&&(d=a.Ji(),null!==b?null!==d?c.isTreePathToChildren?d.fromNode=b:d.toNode=b:Uq(this,b,a):null!==d&&Fj(c,d,!1)))}}};Tq.prototype.updateDataBindings=function(a,b){hi.prototype.updateDataBindings.call(this,a,b);\"string\"===typeof b&&null!==this.vc(a)&&(a=this.uc(a),null!==a&&a.Da(b))};\nTq.prototype.resolveReferencesForData=function(a){var b=this.diagram.model,c=b.pa(a);if(void 0!==c){var d=Oq(b,c),e=this.vc(a);if(null!==d&&null!==e){for(d=d.iterator;d.next();){var f=d.value;b.cb(f)&&e instanceof W&&b.Bh(f)===c&&Uq(this,e,this.Hi(f))}Pq(b,c)}a=b.Bh(a);void 0!==a&&e instanceof W&&(a=this.Eb(a),Uq(this,a,e))}};\nTq.prototype.unresolveReferencesForPart=function(a){var b=this.diagram.model;if(a instanceof W){var c=b.pa(a.data),d=this.uc(a.data);if(null!==d){d.isSelected=!1;d.isHighlighted=!1;var e=d.layer;if(null!==e){var f=e.bc(-1,d,!1);0<=f&&this.diagram.Va(fe,\"parts\",e,d,null,f,null);f=d.layerChanged;null!==f&&f(d,e,null)}}d=this.diagram.isTreePathToChildren;for(a=a.linksConnected;a.next();)e=a.value,e=(d?e.toNode:e.fromNode).data,b.cb(e)&&Qq(b,c,e)}};\nTq.prototype.insertLink=function(a,b,c){b=this.diagram.model;var d=a,e=c;this.diagram.isTreePathToChildren||(d=c,e=a);return null!==d&&null!==e?(b.fe(e.data,b.pa(d.data)),e.Ji()):null};Tq.prototype.findLinkForKey=Tq.prototype.findLinkForKey;Tq.className=\"TreePartManager\";\nfunction Z(a,b){this.Dl=new G;this.Bl=new G;this.ww=',\\n  \"insertedNodeKeys\": ';this.Oy=',\\n  \"modifiedNodeData\": ';this.yw=',\\n  \"removedNodeKeys\": ';this.Lh=null;Ta(this);this.vn=this.na=\"\";this.Mg=!1;this.j={};this.Cc=[];this.bb=new I;this.ni=\"key\";this.Sk=this.vl=null;this.mn=this.nn=!1;this.pn=!0;this.Ym=null;this.Kj=\"category\";this.Lf=new I;this.hu=new E;this.gh=!1;this.o=null;this.undoManager=new pe;void 0!==a&&(Aa(a)?this.nodeDataArray=a:Object.assign(this,a));b&&Object.assign(this,b)}\nZ.prototype.cloneProtected=function(a){a.na=this.na;a.vn=this.vn;a.Mg=this.Mg;a.ni=this.ni;a.vl=this.vl;a.Sk=this.Sk;a.nn=this.nn;a.mn=this.mn;a.pn=this.pn;a.Ym=this.Ym;a.Kj=this.Kj};Z.prototype.copy=function(){var a=new this.constructor;this.cloneProtected(a);return a};Z.prototype.clear=function(){this.Cc=[];this.bb.clear();this.Lf.clear();this.undoManager.clear()};\nZ.prototype.toString=function(a){void 0===a&&(a=0);if(1<a)return this.Hq();var b=(\"\"!==this.name?this.name:\"\")+\" Model\";if(0<a){b+=\"\\n node data:\";a=this.nodeDataArray;for(var c=a.length,d=0;d<c;d++){var e=a[d];b+=\" \"+this.pa(e)+\":\"+Ka(e)}}return b};\nZ.prototype.aB=function(a){a.change!==de&&C(\"Model.toIncrementalData argument is not a Transaction ChangedEvent:\"+a.toString());var b=a.object;if(!(a.isTransactionFinished&&b instanceof oe))return null;Vq(this,b);a=this.nw(b,\"FinishedUndo\"===a.propertyName);this.Lh=null;return a};\nZ.prototype.nw=function(a,b){var c=this,d=!1,e=new G,f=new G,g=new G,h=this.Lh;a.changes.each(function(a){a.model===c&&(\"nodeDataArray\"===a.modelChange?a.change===ee?e.add(a.newValue):a.change===fe&&g.add(a.oldValue):c.cb(a.object)?f.add(a.object):a.change!==ce||c.modelData!==a.object&&\"modelData\"!==a.propertyName?null!==a.object&&(h&&h.contains(a.object)?h.get(a.object).each(function(a){c.cb(a)&&f.add(a)}):a.object instanceof Z||c.Qi()&&c.tc(a.object)||Wq(c,a.object).each(function(a){f.add(a)})):\nd=!0)});var k=this.Bl;k.clear();e.each(function(a){k.add(c.pa(a));b||f.add(a)});var l=this.Dl;l.clear();g.each(function(a){l.add(c.pa(a));b&&f.add(a)});a=c.cloneDeep(f.xa());var m=null;d&&(null===m&&(m={}),m.modelData=this.cloneDeep(this.modelData));0<k.count&&(null===m&&(m={}),b?m.removedNodeKeys=k.xa():m.insertedNodeKeys=k.xa());0<a.length&&(null===m&&(m={}),m.modifiedNodeData=a);0<l.count&&(null===m&&(m={}),b?m.insertedNodeKeys=l.xa():m.removedNodeKeys=l.xa());l.clear();k.clear();return m};\nZ.prototype.cloneDeep=function(a){return Xq(this,a,!0)};\nfunction Xq(a,b,c,d,e,f){function g(a,c){h?(void 0===a.__gohashid&&f.push(a),d.set(a,c)):(a=kb++,d.set(a,c),e.set(a,b))}if(!za(b))return b;f||(f=[]);var h=Object.isExtensible(b);d||(d=new I);if(h){var k=d.get(b);if(k)return k}else for(e||(e=new I),k=e.iterator;k.next();){var l=k.key;if(k.value===b&&(l=d.get(l)))return l}if(Array.isArray(b)){k=[];g(b,k);for(var m=0;m<b.length;m++)k.push(Xq(a,b[m],!1,d,e,f))}else if(b instanceof J||b instanceof M||b instanceof N||b instanceof ic||b instanceof P)k=b.copy(),\ng(b,k);else{if(b instanceof ml||b instanceof Q||b instanceof D)return b;if(b instanceof E)k=(new E).addAll(Xq(a,b.xa(),!1,d,e,f)),g(b,k);else if(b instanceof G)k=(new G).addAll(Xq(a,b.xa(),!1,d,e,f)),g(b,k);else if(b instanceof I)k=(new I).addAll(Xq(a,b.xa(),!1,d,e,f)),g(b,k);else if(b instanceof Date)k=new Date(b.getTime()),g(b,k);else if(b instanceof RegExp)k=new RegExp(b),g(b,k),k.lastIndex=b.lastIndex;else if(\"function\"===typeof b.copy)k=b.copy(),g(b,k);else for(m in k={},g(b,k),b)\"__gohashid\"!==\nm&&(k[m]=Xq(a,b[m],!1,d,e,f))}c&&f.forEach(function(a){delete a.__gohashid});return k}t=Z.prototype;t.quote=function(a){return JSON.stringify(a).replace(/[\\u007F-\\uFFFF]/g,function(a){return\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).substr(-4)})};\nt.Nm=function(){var a=\"\";\"\"!==this.name&&(a+=',\\n  \"name\": '+this.quote(this.name));\"\"!==this.dataFormat&&(a+=',\\n  \"dataFormat\": '+this.quote(this.dataFormat));this.isReadOnly&&(a+=',\\n  \"isReadOnly\": '+this.isReadOnly);\"key\"!==this.nodeKeyProperty&&\"string\"===typeof this.nodeKeyProperty&&(a+=',\\n  \"nodeKeyProperty\": '+this.quote(this.nodeKeyProperty));this.copiesArrays&&(a+=',\\n  \"copiesArrays\": true');this.copiesArrayObjects&&(a+=',\\n  \"copiesArrayObjects\": true');this.copiesKey||(a+=',\\n  \"copiesKey\": false');\n\"category\"!==this.nodeCategoryProperty&&\"string\"===typeof this.nodeCategoryProperty&&(a+=',\\n  \"nodeCategoryProperty\": '+this.quote(this.nodeCategoryProperty));return a};\nt.zq=function(a){a.name&&(this.name=a.name);a.dataFormat&&(this.dataFormat=a.dataFormat);a.isReadOnly&&(this.isReadOnly=!0);a.nodeKeyProperty&&(this.nodeKeyProperty=a.nodeKeyProperty);a.copiesArrays&&(this.copiesArrays=!0);a.copiesArrayObjects&&(this.copiesArrayObjects=!0);!1===a.copiesKey&&(this.copiesKey=!1);a.nodeCategoryProperty&&(this.nodeCategoryProperty=a.nodeCategoryProperty)};function Yq(a,b){b=b.modelData;za(b)&&(a.xm(b),a.modelData=b)}\nt.ow=function(){var a=this.modelData,b=!1,c;for(c in a)if(!Zq(c,a[c])){b=!0;break}a=\"\";b&&(a=',\\n  \"modelData\": '+$q(this,this.modelData));return a+',\\n  \"nodeDataArray\": '+ar(this,this.nodeDataArray,!0)};t.Nv=function(a){Yq(this,a);a=a.nodeDataArray;Aa(a)&&(this.xm(a),this.nodeDataArray=a)};\nfunction Vq(a,b){function c(a,b){if(b=b.part)if(b=b.data,a!==b){var c=d.get(a);null===c?(c=new G,c.add(b),d.add(a,c)):c.add(b)}}var d=a.Lh;null===d&&(d=new I,b.changes.each(function(a){if(null!==a.diagram){var b=a.change;if(b===ce)(a=a.object.panel)&&(b=a.data)&&c(b,a);else if(b===ee||b===fe)a=a.object,(b=a.itemArray)&&c(b,a)}}),a.Lh=d)}function Wq(a,b){for(var c=new G,d=0;d<a.nodeDataArray.length;d++){var e=a.nodeDataArray[d];br(a,b,e,e,c)}return c}\nfunction br(a,b,c,d,e){if(Array.isArray(c))for(var f=0;f<c.length;f++){var g=c[f];if(g===b)return e.add(d),!0;if(br(a,b,g,d,e))return!0}else if(za(c)&&Object.getPrototypeOf(c)===Object.prototype)for(f in c){g=c[f];if(g===b)return e.add(d),!0;if(br(a,b,g,d,e))return!0}return!1}\nt.mw=function(a,b){var c=this,d=!1,e=new G,f=new G,g=new G,h=this.Lh;a.changes.each(function(a){a.model===c&&(\"nodeDataArray\"===a.modelChange?a.change===ee?e.add(a.newValue):a.change===fe&&g.add(a.oldValue):c.cb(a.object)?f.add(a.object):a.change!==ce||c.modelData!==a.object&&\"modelData\"!==a.propertyName?null!==a.object&&(h&&h.contains(a.object)?h.get(a.object).each(function(a){c.cb(a)&&f.add(a)}):a.object instanceof Z||c.Qi()&&c.tc(a.object)||Wq(c,a.object).each(function(a){f.add(a)})):d=!0)});var k=\nthis.Bl;k.clear();e.each(function(a){k.add(c.pa(a));b||f.add(a)});var l=this.Dl;l.clear();g.each(function(a){l.add(c.pa(a));b&&f.add(a)});a=\"\";d&&(a+=',\\n  \"modelData\": '+$q(this,this.modelData));0<k.count&&(a+=(b?this.yw:this.ww)+ar(this,k.xa(),!0));0<f.count&&(a+=this.Oy+ar(this,f.xa(),!0));0<l.count&&(a+=(b?this.ww:this.yw)+ar(this,l.xa(),!0));l.clear();k.clear();return a};\nt.yq=function(a){(void 0!==a.name&&a.name!==this.name||void 0!==a.dataFormat&&a.dataFormat!==this.dataFormat||void 0!==a.isReadOnly&&a.isReadOnly!==this.isReadOnly||void 0!==a.nodeKeyProperty&&a.nodeKeyProperty!==this.nodeKeyProperty||void 0!==a.copiesArrays&&a.copiesArrays!==this.copiesArrays||void 0!==a.copiesArrayObjects&&a.copiesArrayObjects!==this.copiesArrayObjects||void 0!==a.copiesKey&&a.copiesKey!==this.copiesKey||void 0!==a.nodeCategoryProperty&&a.nodeCategoryProperty!==this.nodeCategoryProperty)&&\nC(\"applyIncrementalJson cannot change Model properties\");Yq(this,a);var b=a.insertedNodeKeys,c=a.modifiedNodeData,d=new I;if(Array.isArray(c))for(var e=0;e<c.length;e++){var f=c[e],g=this.pa(f);void 0!==g&&null!==g&&d.set(g,f)}if(Array.isArray(b))for(e=b.length,f=0;f<e;f++){g=b[f];var h=this.Vb(g);null===h&&(h=(h=d.get(g))?h:this.copyNodeData({}),this.Em(h,g),this.nf(h))}if(Array.isArray(c))for(b=c.length,d=0;d<b;d++)if(e=c[d],f=this.pa(e),f=this.Vb(f),null!==f){for(var k in e)\"__gohashid\"===k||k===\nthis.nodeKeyProperty||this.nk()&&k===this.nodeIsGroupProperty||this.setDataProperty(f,k,e[k]);this.Fm(e,f)}a=a.removedNodeKeys;if(Array.isArray(a))for(c=a.length,k=0;k<c;k++)b=this.Vb(a[k]),null!==b&&this.wm(b)};\nt.Hy=function(a,b){a.change!==de&&C(\"Model.toIncrementalJson argument is not a Transaction ChangedEvent:\"+a.toString());var c=a.object;if(!(a.isTransactionFinished&&c instanceof oe))return'{ \"incremental\": 0 }';void 0===b&&(b=cr(this,this));Vq(this,c);a=this.mw(c,\"FinishedUndo\"===a.propertyName);this.Lh=null;return\"2\"===b?'{ \"incremental\": 2'+a+\"}\":'{ \"class\": '+this.quote(b)+', \"incremental\": 1'+this.Nm()+a+\"}\"};t.bB=function(a,b){return this.Hy(a,b)};\nt.Hq=function(a){void 0===a&&(a=cr(this,this));return'{ \"class\": '+this.quote(a)+this.Nm()+this.ow()+\"}\"};t.toJSON=function(a){return this.Hq(a)};t.Cx=function(a){var b=null;if(\"string\"===typeof a)try{b=x.JSON.parse(a)}catch(d){}else\"object\"===typeof a?b=a:C(\"Unable to modify a Model from: \"+a);var c=b.incremental;\"number\"!==typeof c&&C(\"Unable to apply non-incremental changes to Model: \"+a);0!==c&&(this.wa(\"applyIncrementalJson\"),this.yq(b),this.Xa(\"applyIncrementalJson\"))};t.mz=function(a){return this.Cx(a)};\nZ.constructGraphLinksModel=function(){return new Z};t=Z.prototype;\nt.xm=function(a){if(Aa(a))for(var b=a.length,c=0;c<b;c++){var d=a[c];if(za(d)){var e=c;d=this.xm(d);Array.isArray(a)?a[e]=d:C(\"Cannot replace an object in an HTMLCollection or NodeList at \"+e)}}else if(za(a)){for(b in a)if(c=a[b],za(c)&&(c=this.xm(c),a[b]=c,\"points\"===b&&Array.isArray(c))){e=0===c.length%2;for(d=0;d<c.length;d++)if(\"number\"!==typeof c[d]){e=!1;break}if(e){e=new E;for(d=0;d<c.length/2;d++)e.add(new J(c[2*d],c[2*d+1]));e.freeze();a[b]=e}}return dr(a)}return a};\nt.Om=function(a){return void 0===a?\"undefined\":null===a?\"null\":!0===a?\"true\":!1===a?\"false\":\"string\"===typeof a?this.quote(a):\"number\"===typeof a?Infinity===a?\"9e9999\":-Infinity===a?\"-9e9999\":isNaN(a)?'{\"class\":\"NaN\"}':a.toString():a instanceof Date?'{\"class\":\"Date\", \"value\":\"'+a.toJSON()+'\"}':a instanceof Number?this.Om(a.valueOf()):Aa(a)?ar(this,a):za(a)?$q(this,a):\"function\"===typeof a?\"null\":a.toString()};\nfunction ar(a,b,c){void 0===c&&(c=!1);var d=b.length;if(0>=d)return\"[]\";var e=new Va;e.add(\"[\");c&&1<d&&e.add(\"\\n\");for(var f=0;f<d;f++){var g=b[f];void 0!==g&&(0<f&&(e.add(\",\"),c&&e.add(\"\\n\")),e.add(a.Om(g)))}c&&1<d&&e.add(\"\\n\");e.add(\"]\");return e.toString()}function Zq(a,b){return void 0===b||\"__gohashid\"===a||\"_\"===a[0]||\"function\"===typeof b?!0:!1}function er(a){return isNaN(a)?\"NaN\":Infinity===a?\"9e9999\":-Infinity===a?\"-9e9999\":a}\nfunction $q(a,b){var c=b;if(c instanceof J)b={\"class\":\"go.Point\",x:er(c.x),y:er(c.y)};else if(c instanceof M)b={\"class\":\"go.Size\",width:er(c.width),height:er(c.height)};else if(c instanceof N)b={\"class\":\"go.Rect\",x:er(c.x),y:er(c.y),width:er(c.width),height:er(c.height)};else if(c instanceof ic)b={\"class\":\"go.Margin\",top:er(c.top),right:er(c.right),bottom:er(c.bottom),left:er(c.left)};else if(c instanceof P)c.hb()?b={\"class\":\"go.Spot\",x:er(c.x),y:er(c.y),offsetX:er(c.offsetX),offsetY:er(c.offsetY)}:\nb={\"class\":\"go.Spot\",\"enum\":c.toString()};else if(c instanceof ml){b={\"class\":\"go.Brush\",type:c.type.name};if(c.type===tl)b.color=c.color;else if(c.type===wl||c.type===nl)b.start=c.start,b.end=c.end,c.type===nl&&(0!==c.startRadius&&(b.startRadius=er(c.startRadius)),isNaN(c.endRadius)||(b.endRadius=er(c.endRadius)));if(null!==c.colorStops){var d={};for(c=c.colorStops.iterator;c.next();)d[c.key]=c.value;b.colorStops=d}}else c instanceof Q?(b={\"class\":\"go.Geometry\",type:c.type.name},0!==c.startX&&(b.startX=\ner(c.startX)),0!==c.startY&&(b.startY=er(c.startY)),0!==c.endX&&(b.endX=er(c.endX)),0!==c.endY&&(b.endY=er(c.endY)),c.spot1.A(sc)||(b.spot1=c.spot1),c.spot2.A(Cc)||(b.spot2=c.spot2),c.type===Q.o&&(b.path=Q.Ga(c))):c instanceof D&&(b={\"class\":\"go.EnumValue\",classType:cr(a,c.classType),name:c.name});d=\"{\";c=!0;for(var e in b){var f=on(b,e);if(!Zq(e,f))if(c?c=!1:d+=\",\",d+=a.quote(e)+\":\",\"points\"===e&&f instanceof E){var g=\"[\";for(f=f.iterator;f.next();){var h=f.value;1<g.length&&(g+=\",\");g+=a.Om(h.x);\ng+=\",\";g+=a.Om(h.y)}g+=\"]\";d+=g}else d+=a.Om(f)}return d+\"}\"}function gr(a){return\"number\"===typeof a?a:\"NaN\"===a?NaN:\"9e9999\"===a?Infinity:\"-9e9999\"===a?-Infinity:parseFloat(a)}\nfunction dr(a){if(\"object\"!==typeof a)return a;var b=a[\"class\"]||\"\";if(\"NaN\"===b)return NaN;if(\"Date\"===b)return new Date(a.value);if(0!==b.indexOf(\"go.\"))return a;b=b.substr(3);var c=a;if(\"Point\"===b)c=new J(gr(a.x),gr(a.y));else if(\"Size\"===b)c=new M(gr(a.width),gr(a.height));else if(\"Rect\"===b)c=new N(gr(a.x),gr(a.y),gr(a.width),gr(a.height));else if(\"Margin\"===b)c=new ic(gr(a.top),gr(a.right),gr(a.bottom),gr(a.left));else if(\"Spot\"===b)\"string\"===typeof a[\"enum\"]?c=jd(a[\"enum\"]):c=new P(gr(a.x),\ngr(a.y),gr(a.offsetX),gr(a.offsetY));else if(\"Brush\"===b){if(c=new ml,c.type=Ua(ml,a.type),\"string\"===typeof a.color&&(c.color=a.color),a.start instanceof P&&(c.start=a.start),a.end instanceof P&&(c.end=a.end),\"number\"===typeof a.startRadius&&(c.startRadius=gr(a.startRadius)),\"number\"===typeof a.endRadius&&(c.endRadius=gr(a.endRadius)),a=a.colorStops,za(a))for(var d in a)c.addColorStop(parseFloat(d),a[d])}else\"Geometry\"===b?(c=null,\"string\"===typeof a.path?c=Q.parse(a.path):c=new Q,c.type=Ua(Q,a.type),\n\"number\"===typeof a.startX&&(c.startX=gr(a.startX)),\"number\"===typeof a.startY&&(c.startY=gr(a.startY)),\"number\"===typeof a.endX&&(c.endX=gr(a.endX)),\"number\"===typeof a.endY&&(c.endY=gr(a.endY)),a.spot1 instanceof P&&(c.spot1=a.spot1),a.spot2 instanceof P&&(c.spot2=a.spot2)):\"EnumValue\"===b&&(d=a.classType,0===d.indexOf(\"go.\")&&(d=d.substr(3)),d=hr(d),\"function\"===typeof d&&(c=Ua(d,a.name)));return c}t.uh=function(a){this.hu.add(a);return this};t.Bk=function(a){this.hu.remove(a)};\nt.ws=function(a){this.skipsUndoManager||this.undoManager.yv(a);for(var b=this.hu,c=b.length,d=0;d<c;d++)b.J(d)(a)};t.Va=function(a,b,c,d,e,f,g){ir(this,\"\",a,b,c,d,e,f,g)};t.g=function(a,b,c,d,e){ir(this,\"\",ce,a,this,b,c,d,e)};t.$s=function(a,b,c,d,e,f){ir(this,\"\",ce,b,a,c,d,e,f)};function ir(a,b,c,d,e,f,g,h,k){void 0===h&&(h=null);void 0===k&&(k=null);var l=new be;l.model=a;l.change=c;l.modelChange=b;l.propertyName=d;l.object=e;l.oldValue=f;l.oldParam=h;l.newValue=g;l.newParam=k;a.ws(l)}\nZ.prototype.changeState=function(a,b){if(null!==a&&a.model===this)if(a.change===ce){var c=a.object,d=a.propertyName,e=a.H(b);d===this.nodeKeyProperty&&this.cb(c)&&(b=a.H(!b),void 0!==b&&this.bb.remove(b),void 0!==e&&this.bb.add(e,c));Mj(c,d,e)}else a.change===ee?(c=a.newParam,\"nodeDataArray\"===a.modelChange?(a=a.newValue,za(a)&&\"number\"===typeof c&&(d=this.pa(a),b?(this.Cc[c]===a&&Ea(this.Cc,c),void 0!==d&&this.bb.remove(d)):(this.Cc[c]!==a&&Da(this.Cc,c,a),void 0!==d&&this.bb.add(d,a)))):\"\"===a.modelChange?\n((d=a.object)&&!Aa(d)&&a.propertyName&&(d=on(a.object,a.propertyName)),Aa(d)&&\"number\"===typeof c&&(a=a.newValue,b?Ea(d,c):Da(d,c,a))):C(\"unknown ChangedEvent.Insert modelChange: \"+a.toString())):a.change===fe?(c=a.oldParam,\"nodeDataArray\"===a.modelChange?(a=a.oldValue,za(a)&&\"number\"===typeof c&&(d=this.pa(a),b?(this.Cc[c]!==a&&Da(this.Cc,c,a),void 0!==d&&this.bb.add(d,a)):(this.Cc[c]===a&&Ea(this.Cc,c),void 0!==d&&this.bb.remove(d)))):\"\"===a.modelChange?((d=a.object)&&!Aa(d)&&a.propertyName&&(d=\non(a.object,a.propertyName)),Aa(d)&&\"number\"===typeof c&&(a=a.oldValue,b?Da(d,c,a):Ea(d,c))):C(\"unknown ChangedEvent.Remove modelChange: \"+a.toString())):a.change!==de&&C(\"unknown ChangedEvent: \"+a.toString())};Z.prototype.wa=function(a){return this.undoManager.wa(a)};Z.prototype.Xa=function(a){return this.undoManager.Xa(a)};Z.prototype.Df=function(){return this.undoManager.Df()};\nZ.prototype.commit=function(a,b){void 0===b&&(b=\"\");var c=this.skipsUndoManager;null===b&&(this.skipsUndoManager=!0,b=\"\");this.undoManager.wa(b);var d=!1;try{a(this),d=!0}finally{d?this.undoManager.Xa(b):this.undoManager.Df(),this.skipsUndoManager=c}};t=Z.prototype;t.Da=function(a,b){void 0===b&&(b=\"\");ir(this,\"SourceChanged\",de,b,a,null,null)};\nt.pa=function(a){if(null!==a){var b=this.ni;if(\"\"!==b&&(b=on(a,b),void 0!==b)){if(Lq(b))return b;C(\"Key value for node data \"+a+\" is not a number or a string: \"+b)}}};t.Em=function(a,b){if(null!==a){var c=this.ni;if(\"\"!==c)if(this.cb(a)){var d=on(a,c);d!==b&&null===this.Vb(b)&&(Mj(a,c,b),void 0!==d&&this.bb.remove(d),this.bb.add(b,a),ir(this,\"nodeKey\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c),this.Dq(d,b))}else Mj(a,c,b)}};function Lq(a){return\"number\"===typeof a||\"string\"===typeof a}\nt.cb=function(a){var b=this.pa(a);return void 0===b?!1:this.bb.H(b)===a};t.Vb=function(a){null===a&&C(\"Model.findNodeDataForKey:key must not be null\");return void 0!==a&&Lq(a)?this.bb.H(a):null};\nt.Fv=function(a){if(null!==a){var b=this.ni;if(\"\"!==b){var c=this.pa(a);if(void 0===c||this.bb.contains(c)){var d=this.vl;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.bb.contains(c))){Mj(a,b,c);return}if(\"string\"===typeof c){for(d=2;this.bb.contains(c+d);)d++;Mj(a,b,c+d)}else if(void 0===c||\"number\"===typeof c){for(c=-this.bb.count-1;this.bb.contains(c);)c--;Mj(a,b,c)}}}}};t.nf=function(a){null!==a&&(ib(a),this.cb(a)||Dq(this,a,!0))};\nfunction Dq(a,b,c){var d=a.pa(b);if(void 0===d||a.bb.H(d)!==b)a.Fv(b),d=a.pa(b),void 0===d&&C(\"Model.makeNodeDataKeyUnique failed on \"+b+\".  Data not added to Model.\"),a.bb.add(d,b),d=null,c&&(d=a.Cc.length,Da(a.Cc,d,b)),ir(a,\"nodeDataArray\",ee,\"nodeDataArray\",a,null,b,null,d),a.zm(b),a.ym(b)}t.iz=function(a){if(Aa(a))for(var b=a.length,c=0;c<b;c++)this.nf(a[c]);else for(a=a.iterator;a.next();)this.nf(a.value)};t.wm=function(a){null!==a&&Cq(this,a,!0)};\nfunction Cq(a,b,c){var d=a.pa(b);void 0!==d&&a.bb.remove(d);d=null;if(c){a:if(c=a.Cc,Array.isArray(c))d=c.indexOf(b);else{d=c.length;for(var e=0;e<d;e++)if(c[e]===b){d=e;break a}d=-1}if(0>d)return;Ea(a.Cc,d)}ir(a,\"nodeDataArray\",fe,\"nodeDataArray\",a,b,null,d,null);a.Kq(b)}t.QA=function(a){if(Aa(a))for(var b=a.length,c=0;c<b;c++)this.wm(a[c]);else for(a=a.iterator;a.next();)this.wm(a.value)};\nt.DA=function(a){if(a!==this.nodeDataArray&&Aa(a)){var b=this.Dl;b.clear();b.addAll(this.bb.iteratorKeys);var c=this.Bl;c.clear();for(var d=a.length,e=0;e<d;e++){var f=a[e],g=this.pa(f);if(void 0!==g){c.add(g);var h=this.Vb(g);h!==f&&(null!==h?(this.Yp(h,f),this.Fm(f,h)):(f=this.cloneDeep(f),this.Em(f,g),this.nf(f)))}else g=this.cloneDeep(f),this.nf(g),c.add(this.pa(g))}for(a=b.iterator;a.next();)d=a.value,c.contains(d)||(d=this.Vb(d))&&this.wm(d);b.clear();c.clear()}};\nt.Dq=function(a,b){void 0!==b&&(a=Oq(this,a),a instanceof G&&this.Lf.add(b,a))};t.hw=function(){};t.zm=function(){};t.ym=function(){};t.Kq=function(){};function Qq(a,b,c){if(void 0!==b){var d=a.Lf.H(b);null===d&&(d=new G,a.Lf.add(b,d));d.add(c)}}function Pq(a,b,c){if(void 0!==b){var d=a.Lf.H(b);d instanceof G&&(void 0===c||null===c?a.Lf.remove(b):(d.remove(c),0===d.count&&a.Lf.remove(b)))}}function Oq(a,b){if(void 0===b)return null;a=a.Lf.H(b);return a instanceof G?a:null}\nt.uz=function(a){void 0===a?this.Lf.clear():this.Lf.remove(a)};Z.prototype.copyNodeData=function(a){if(null===a)return null;var b=this.Sk;a=null!==b?b(a,this):jr(this,a,!0);za(a)&&Ta(a);return a};\nfunction jr(a,b,c){if(a.copiesArrays&&Array.isArray(b)){var d=[];for(c=0;c<b.length;c++){var e=jr(a,b[c],a.copiesArrayObjects);d.push(e)}Ta(d);return d}if(c&&za(b)){c=(c=b.constructor)?new c:{};e=a.copiesKey||\"string\"!==typeof a.nodeKeyProperty?null:a.nodeKeyProperty;for(d in b)if(\"__gohashid\"===d)c.__gohashid=void 0;else if(d===e)c[e]=void 0;else{var f=on(b,d),g=cr(a,f);\"GraphObject\"===g||\"Diagram\"===g||\"Layer\"===g||\"RowColumnDefinition\"===g||\"AnimationManager\"===g||\"Tool\"===g||\"CommandHandler\"===\ng||\"Layout\"===g||\"InputEvent\"===g||\"DiagramEvent\"===g||f instanceof Z||f instanceof pe||f instanceof oe||f instanceof be?Mj(c,d,f):(f=jr(a,f,!1),Mj(c,d,f))}Ta(c);return c}return b instanceof J?b.copy():b instanceof M?b.copy():b instanceof N?b.copy():b instanceof P?b.copy():b instanceof ic?b.copy():b}\nZ.prototype.setDataProperty=function(a,b,c){if(this.cb(a)){if(b===this.nodeKeyProperty){this.Em(a,c);return}if(b===this.nodeCategoryProperty){this.Dm(a,c);return}}else!kr&&a instanceof Y&&(kr=!0,ya('Model.setDataProperty is modifying a GraphObject, \"'+a.toString()+'\"'),ya(\"  Is that really your intent?\"));var d=on(a,b);d!==c&&(Mj(a,b,c),this.$s(a,b,d,c))};t=Z.prototype;t.set=function(a,b,c){this.setDataProperty(a,b,c)};\nt.Yp=function(a,b){if(b){var c=this.cb(a),d;for(d in b)\"__gohashid\"===d||c&&d===this.nodeKeyProperty||this.setDataProperty(a,d,b[d])}};t.ez=function(a,b){this.Ks(a,-1,b)};t.Ks=function(a,b,c){0>b&&(b=a.length);Da(a,b,c);ir(this,\"\",ee,\"\",a,null,c,null,b)};t.Qv=function(a,b){void 0===b&&(b=-1);a===this.Cc&&C(\"Model.removeArrayItem should not be called on the Model.nodeDataArray\");-1===b&&(b=a.length-1);var c=a[b];Ea(a,b);ir(this,\"\",fe,\"\",a,c,null,b,null)};\nt.lq=function(a){if(null===a)return\"\";var b=this.Kj;if(\"\"===b)return\"\";b=on(a,b);if(void 0===b)return\"\";if(\"string\"===typeof b)return b;C(\"getCategoryForNodeData found a non-string category for \"+a+\": \"+b)};t.Dm=function(a,b){if(null!==a){var c=this.Kj;if(\"\"!==c)if(this.cb(a)){var d=on(a,c);void 0===d&&(d=\"\");d!==b&&(Mj(a,c,b),ir(this,\"nodeCategory\",ce,c,a,d,b))}else Mj(a,c,b)}};t.Fm=function(a,b){this.Dm(b,this.lq(a))};t.nm=function(){return!1};t.nk=function(){return!1};t.Qi=function(){return!1};\nt.Ps=function(){return!1};t.pk=function(){return!1};function ji(){return new Z}function cr(a,b){if(\"function\"===typeof b){if(b.className)return b.className;if(b.name)return b.name}else if(\"object\"===typeof b&&null!==b&&b.constructor)return cr(a,b.constructor);return typeof b}function hr(a){return lr[a]?lr[a]:void 0!==x.go&&x.go[a]?x.go[a]:null}\nfunction on(a,b){if(!a||!b)return null;try{if(\"function\"===typeof b)var c=b(a);else\"function\"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){}return c}function Mj(a,b,c){if(a&&b)try{\"function\"===typeof b?b(a,c):\"function\"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){}}\nna.Object.defineProperties(Z.prototype,{name:{get:function(){return this.na},set:function(a){var b=this.na;b!==a&&(this.na=a,this.g(\"name\",b,a))}},dataFormat:{get:function(){return this.vn},set:function(a){var b=this.vn;b!==a&&(this.vn=a,this.g(\"dataFormat\",b,a))}},isReadOnly:{get:function(){return this.Mg},set:function(a){var b=this.Mg;b!==a&&(this.Mg=a,this.g(\"isReadOnly\",b,a))}},modelData:{\nget:function(){return this.j},set:function(a){var b=this.j;b!==a&&(this.j=a,this.g(\"modelData\",b,a),this.Da(a))}},undoManager:{get:function(){return this.o},set:function(a){var b=this.o;b!==a&&(null!==b&&b.xy(this),this.o=a,null!==a&&a.Ax(this))}},skipsUndoManager:{get:function(){return this.gh},set:function(a){this.gh=a}},nodeKeyProperty:{get:function(){return this.ni},set:function(a){var b=this.ni;\nb!==a&&(\"\"===a&&C(\"Model.nodeKeyProperty may not be the empty string\"),0<this.bb.count&&C(\"Cannot set Model.nodeKeyProperty when there is existing node data\"),this.ni=a,this.g(\"nodeKeyProperty\",b,a))}},makeUniqueKeyFunction:{get:function(){return this.vl},set:function(a){var b=this.vl;b!==a&&(this.vl=a,this.g(\"makeUniqueKeyFunction\",b,a))}},nodeDataArray:{get:function(){return this.Cc},set:function(a){var b=this.Cc;if(b!==a){this.bb.clear();\nthis.hw();for(var c=a.length,d=0;d<c;d++){var e=a[d];za(e)||C(\"Model.nodeDataArray must only contain Objects, not: \"+e);ib(e)}this.Cc=a;d=new E;for(e=0;e<c;e++){var f=a[e],g=this.pa(f);void 0===g?d.add(f):null!==this.bb.H(g)?d.add(f):this.bb.add(g,f)}for(d=d.iterator;d.next();)e=d.value,this.Fv(e),f=this.pa(e),void 0!==f&&this.bb.add(f,e);ir(this,\"nodeDataArray\",ce,\"nodeDataArray\",this,b,a);for(b=0;b<c;b++)d=a[b],this.zm(d),this.ym(d);Array.isArray(a)||(this.isReadOnly=!0)}}},copyNodeDataFunction:{\nget:function(){return this.Sk},set:function(a){var b=this.Sk;b!==a&&(this.Sk=a,this.g(\"copyNodeDataFunction\",b,a))}},copiesArrays:{get:function(){return this.nn},set:function(a){var b=this.nn;b!==a&&(this.nn=a,this.g(\"copiesArrays\",b,a))}},copiesArrayObjects:{get:function(){return this.mn},set:function(a){var b=this.mn;b!==a&&(this.mn=a,this.g(\"copiesArrayObjects\",b,a))}},copiesKey:{get:function(){return this.pn},\nset:function(a){var b=this.pn;b!==a&&(this.pn=a,this.g(\"copiesKey\",b,a))}},afterCopyFunction:{get:function(){return this.Ym},set:function(a){var b=this.Ym;b!==a&&(this.Ym=a,this.g(\"afterCopyFunction\",b,a))}},nodeCategoryProperty:{get:function(){return this.Kj},set:function(a){var b=this.Kj;b!==a&&(this.Kj=a,this.g(\"nodeCategoryProperty\",b,a))}},type:{get:function(){return\"Model\"}}});\nZ.prototype.setCategoryForNodeData=Z.prototype.Dm;Z.prototype.getCategoryForNodeData=Z.prototype.lq;Z.prototype.removeArrayItem=Z.prototype.Qv;Z.prototype.insertArrayItem=Z.prototype.Ks;Z.prototype.addArrayItem=Z.prototype.ez;Z.prototype.assignAllDataProperties=Z.prototype.Yp;Z.prototype.set=Z.prototype.set;Z.prototype.clearUnresolvedReferences=Z.prototype.uz;Z.prototype.mergeNodeDataArray=Z.prototype.DA;Z.prototype.removeNodeDataCollection=Z.prototype.QA;Z.prototype.removeNodeData=Z.prototype.wm;\nZ.prototype.addNodeDataCollection=Z.prototype.iz;Z.prototype.addNodeData=Z.prototype.nf;Z.prototype.makeNodeDataKeyUnique=Z.prototype.Fv;Z.prototype.findNodeDataForKey=Z.prototype.Vb;Z.prototype.containsNodeData=Z.prototype.cb;Z.prototype.setKeyForNodeData=Z.prototype.Em;Z.prototype.getKeyForNodeData=Z.prototype.pa;Z.prototype.updateTargetBindings=Z.prototype.Da;Z.prototype.commit=Z.prototype.commit;Z.prototype.rollbackTransaction=Z.prototype.Df;Z.prototype.commitTransaction=Z.prototype.Xa;\nZ.prototype.startTransaction=Z.prototype.wa;Z.prototype.raiseDataChanged=Z.prototype.$s;Z.prototype.raiseChanged=Z.prototype.g;Z.prototype.raiseChangedEvent=Z.prototype.Va;Z.prototype.removeChangedListener=Z.prototype.Bk;Z.prototype.addChangedListener=Z.prototype.uh;Z.prototype.writeJsonValue=Z.prototype.Om;Z.prototype.replaceJsonObjects=Z.prototype.xm;Z.prototype.applyIncrementalJSON=Z.prototype.mz;Z.prototype.applyIncrementalJson=Z.prototype.Cx;Z.prototype.toJSON=Z.prototype.toJSON;\nZ.prototype.toJson=Z.prototype.Hq;Z.prototype.toIncrementalJSON=Z.prototype.bB;Z.prototype.toIncrementalJson=Z.prototype.Hy;Z.prototype.toIncrementalData=Z.prototype.aB;Z.prototype.clear=Z.prototype.clear;var kr=!1,lr={};Z.className=\"Model\";\nZ.fromJSON=Z.fromJson=function(a,b){void 0===b&&(b=null);var c=null;if(\"string\"===typeof a)try{c=x.JSON.parse(a)}catch(f){}else\"object\"===typeof a?c=a:C(\"Unable to construct a Model from: \"+a);if(null===b){a=null;var d=c[\"class\"];if(\"string\"===typeof d)try{var e=null;0===d.indexOf(\"go.\")?(d=d.substr(3),e=hr(d)):(e=hr(d),null===e&&(e=x[d]));\"function\"===typeof e&&(a=new e)}catch(f){}null===a||a instanceof Z?b=a:C(\"Unable to construct a Model of declared class: \"+c[\"class\"])}null===b&&(b=Z.constructGraphLinksModel());\nb.zq(c);b.Nv(c);return b};Z.safePropertyValue=on;Z.safePropertySet=Mj;lr.Brush=ml;lr.ChangedEvent=be;lr.Geometry=Q;lr.Margin=ic;lr.Panel=X;lr.Point=J;lr.Rect=N;lr.Size=M;lr.Spot=P;lr.Transaction=oe;lr.UndoManager=pe;function ri(a,b,c,d){Ta(this);this.v=!1;void 0===a&&(a=\"\");void 0===b&&(b=a);void 0===c&&(c=null);this.j=-1;this.md=null;this.Yl=a;this.Xl=this.Jp=0;this.gs=null;this.lo=!1;this.Ql=b;this.ln=c;void 0===d?(this.yl=mr,this.Lk=null):(this.yl=gn,this.Lk=d);this.Ot=new G}\nri.prototype.copy=function(){var a=new ri;a.Yl=this.Yl;a.Jp=this.Jp;a.Xl=this.Xl;a.gs=this.gs;a.lo=this.lo;a.Ql=this.Ql;a.ln=this.ln;a.yl=this.yl;a.Lk=this.Lk;return a};t=ri.prototype;t.gb=function(a){a.classType===ri&&(this.mode=a)};t.toString=function(){return\"Binding(\"+this.targetProperty+\":\"+this.sourceProperty+(-1!==this.Yi?\" \"+this.Yi:\"\")+\" \"+this.mode.name+\")\"};t.freeze=function(){this.v=!0;return this};t.ea=function(){this.v=!1;return this};\nt.oy=function(a){void 0===a&&(a=null);this.mode=gn;this.backConverter=a;return this};t.wq=function(a){void 0===a&&(a=\"\");this.sourceName=a;this.isToModel=!1;return this};t.GA=function(){this.sourceName=null;this.isToModel=!0;return this};function fl(a,b,c){a=a.sourceName;return null===a||\"\"===a?b:\"/\"===a?c.part:\".\"===a?c:\"..\"===a?c.panel:b.Ya(a)}\nt.iw=function(a,b,c){var d=this.Ql;if(void 0===c||\"\"===d||d===c){c=this.Yl;var e=this.ln;if(null===e&&\"\"===c)ya(\"Binding error: target property is the empty string: \"+this.toString());else{var f=b;\"\"!==d&&(f=on(b,d));if(void 0!==f)if(null===e)\"\"!==c&&Mj(a,c,f);else try{if(\"\"!==c){var g=e(f,a);Mj(a,c,g)}else e(f,a)}catch(h){}}}};\nt.Mq=function(a,b,c,d){if(this.yl===gn){var e=this.Yl;if(void 0===c||e===c){c=this.Ql;var f=this.Lk,g=a;\"\"!==e&&(g=on(a,e));if(void 0!==g&&!this.Ot.contains(a))try{this.Ot.add(a);var h=null!==d?d.diagram:null,k=null!==h?h.model:null;if(null===f)if(\"\"!==c)null!==k?k.setDataProperty(b,c,g):Mj(b,c,g);else{if(null!==k&&null!==d&&0<=d.itemIndex&&null!==d.panel&&Array.isArray(d.panel.itemArray)){var l=d.itemIndex,m=d.panel.itemArray;k.Qv(m,l);k.Ks(m,l,g)}}else try{if(\"\"!==c){var n=f(g,b,k);null!==k?k.setDataProperty(b,\nc,n):Mj(b,c,n)}else{var p=f(g,b,k);if(void 0!==p&&null!==k&&null!==d&&0<=d.itemIndex&&null!==d.panel&&Array.isArray(d.panel.itemArray)){var r=d.itemIndex,q=d.panel.itemArray;k.Qv(q,r);k.Ks(q,r,p)}}}catch(u){}}finally{this.Ot.remove(a)}}}};\nna.Object.defineProperties(ri.prototype,{Yi:{get:function(){return this.j},set:function(a){this.v&&wa(this);this.j=a}},targetProperty:{get:function(){return this.Yl},set:function(a){this.v&&wa(this);this.Yl=a}},sourceName:{get:function(){return this.gs},set:function(a){this.v&&wa(this);this.gs=a;null!==a&&(this.lo=!1)}},isToModel:{get:function(){return this.lo},set:function(a){this.v&&\nwa(this);this.lo=a}},sourceProperty:{get:function(){return this.Ql},set:function(a){this.v&&wa(this);this.Ql=a}},converter:{get:function(){return this.ln},set:function(a){this.v&&wa(this);this.ln=a}},backConverter:{get:function(){return this.Lk},set:function(a){this.v&&wa(this);this.Lk=a}},mode:{get:function(){return this.yl},set:function(a){this.v&&wa(this);this.yl=a}}});\nri.prototype.updateSource=ri.prototype.Mq;ri.prototype.updateTarget=ri.prototype.iw;ri.prototype.ofModel=ri.prototype.GA;ri.prototype.ofObject=ri.prototype.wq;ri.prototype.makeTwoWay=ri.prototype.oy;var Ik=\"Binding\",mr=new D(ri,\"OneWay\",1),gn=new D(ri,\"TwoWay\",2);ri.className=\"Binding\";ri.parseEnum=function(a,b){return function(c){c=Ua(a,c);return null===c?b:c}};ri.toString=Ka;ri.OneWay=mr;ri.TwoWay=gn;\nfunction nr(a,b,c){Z.call(this);this.vw=',\\n  \"insertedLinkKeys\": ';this.Ny=',\\n  \"modifiedLinkData\": ';this.xw=',\\n  \"removedLinkKeys\": ';this.Xc=[];this.Rf=new G;this.jb=new I;this.gi=\"\";this.mj=this.Rk=this.wl=null;this.Xe=\"from\";this.Ye=\"to\";this.Gj=this.Fj=\"\";this.Ej=\"category\";this.$d=\"\";this.Cl=\"isGroup\";this.xe=\"group\";this.on=!1;void 0!==b&&(this.linkDataArray=b);void 0!==a&&(Aa(a)?this.nodeDataArray=a:Object.assign(this,a));c&&Object.assign(this,c)}ma(nr,Z);nr.constructGraphLinksModel=Z.constructGraphLinksModel;\nnr.prototype.cloneProtected=function(a){Z.prototype.cloneProtected.call(this,a);a.gi=this.gi;a.wl=this.wl;a.Rk=this.Rk;a.Xe=this.Xe;a.Ye=this.Ye;a.Fj=this.Fj;a.Gj=this.Gj;a.Ej=this.Ej;a.$d=this.$d;a.Cl=this.Cl;a.xe=this.xe;a.on=this.on};t=nr.prototype;t.clear=function(){Z.prototype.clear.call(this);this.Xc=[];this.jb.clear();this.Rf.clear()};\nt.toString=function(a){void 0===a&&(a=0);if(2<=a)return this.Hq();var b=(\"\"!==this.name?this.name:\"\")+\" GraphLinksModel\";if(0<a){b+=\"\\n node data:\";a=this.nodeDataArray;var c=a.length,d;for(d=0;d<c;d++){var e=a[d];b+=\" \"+this.pa(e)+\":\"+Ka(e)}b+=\"\\n link data:\";a=this.linkDataArray;c=a.length;for(d=0;d<c;d++)e=a[d],b+=\" \"+Jq(this,e,!0)+\"--\\x3e\"+Jq(this,e,!1)}return b};\nt.nw=function(a,b){\"\"===this.linkKeyProperty&&C(\"GraphLinksModel.linkKeyProperty must not be an empty string for .toIncrementalData() to succeed.\");var c=Z.prototype.nw.call(this,a,b),d=this,e=new G,f=new G,g=new G,h=this.Lh;a.changes.each(function(a){a.model===d&&(\"linkDataArray\"===a.modelChange?a.change===ee?e.add(a.newValue):a.change===fe&&g.add(a.oldValue):d.tc(a.object)?f.add(a.object):null!==a.object&&(null!==a.object&&h&&h.contains(a.object)?h.get(a.object).each(function(a){d.tc(a)&&f.add(a)}):\na.object instanceof Z||d.cb(a.object)||or(d,a.object).each(function(a){f.add(a)})))});var k=this.Bl;k.clear();e.each(function(a){k.add(d.mc(a));b||f.add(a)});var l=this.Dl;l.clear();g.each(function(a){l.add(d.mc(a));b&&f.add(a)});a=d.cloneDeep(f.xa());0<k.count&&(null===c&&(c={}),b?c.removedLinkKeys=k.xa():c.insertedLinkKeys=k.xa());0<a.length&&(null===c&&(c={}),c.modifiedLinkData=a);0<l.count&&(null===c&&(c={}),b?c.insertedLinkKeys=l.xa():c.removedLinkKeys=l.xa());l.clear();k.clear();return c};\nt.Nm=function(){var a=Z.prototype.Nm.call(this),b=\"\";\"category\"!==this.linkCategoryProperty&&\"string\"===typeof this.linkCategoryProperty&&(b+=',\\n  \"linkCategoryProperty\": '+this.quote(this.linkCategoryProperty));\"\"!==this.linkKeyProperty&&\"string\"===typeof this.linkKeyProperty&&(b+=',\\n  \"linkKeyProperty\": '+this.quote(this.linkKeyProperty));\"from\"!==this.linkFromKeyProperty&&\"string\"===typeof this.linkFromKeyProperty&&(b+=',\\n  \"linkFromKeyProperty\": '+this.quote(this.linkFromKeyProperty));\"to\"!==\nthis.linkToKeyProperty&&\"string\"===typeof this.linkToKeyProperty&&(b+=',\\n  \"linkToKeyProperty\": '+this.quote(this.linkToKeyProperty));\"\"!==this.linkFromPortIdProperty&&\"string\"===typeof this.linkFromPortIdProperty&&(b+=',\\n  \"linkFromPortIdProperty\": '+this.quote(this.linkFromPortIdProperty));\"\"!==this.linkToPortIdProperty&&\"string\"===typeof this.linkToPortIdProperty&&(b+=',\\n  \"linkToPortIdProperty\": '+this.quote(this.linkToPortIdProperty));\"\"!==this.linkLabelKeysProperty&&\"string\"===typeof this.linkLabelKeysProperty&&\n(b+=',\\n  \"linkLabelKeysProperty\": '+this.quote(this.linkLabelKeysProperty));\"isGroup\"!==this.nodeIsGroupProperty&&\"string\"===typeof this.nodeIsGroupProperty&&(b+=',\\n  \"nodeIsGroupProperty\": '+this.quote(this.nodeIsGroupProperty));\"group\"!==this.nodeGroupKeyProperty&&\"string\"===typeof this.nodeGroupKeyProperty&&(b+=',\\n  \"nodeGroupKeyProperty\": '+this.quote(this.nodeGroupKeyProperty));return a+b};\nt.zq=function(a){Z.prototype.zq.call(this,a);a.linkKeyProperty&&(this.linkKeyProperty=a.linkKeyProperty);a.linkFromKeyProperty&&(this.linkFromKeyProperty=a.linkFromKeyProperty);a.linkToKeyProperty&&(this.linkToKeyProperty=a.linkToKeyProperty);a.linkFromPortIdProperty&&(this.linkFromPortIdProperty=a.linkFromPortIdProperty);a.linkToPortIdProperty&&(this.linkToPortIdProperty=a.linkToPortIdProperty);a.linkCategoryProperty&&(this.linkCategoryProperty=a.linkCategoryProperty);a.linkLabelKeysProperty&&(this.linkLabelKeysProperty=\na.linkLabelKeysProperty);a.nodeIsGroupProperty&&(this.nodeIsGroupProperty=a.nodeIsGroupProperty);a.nodeGroupKeyProperty&&(this.nodeGroupKeyProperty=a.nodeGroupKeyProperty)};t.ow=function(){var a=Z.prototype.ow.call(this),b=',\\n  \"linkDataArray\": '+ar(this,this.linkDataArray,!0);return a+b};t.Nv=function(a){Z.prototype.Nv.call(this,a);a=a.linkDataArray;Array.isArray(a)&&(this.xm(a),this.linkDataArray=a)};\nfunction or(a,b){for(var c=new G,d=0;d<a.linkDataArray.length;d++){var e=a.linkDataArray[d];br(a,b,e,e,c)}return c}\nt.mw=function(a,b){\"\"===this.linkKeyProperty&&C(\"GraphLinksModel.linkKeyProperty must not be an empty string for .toIncrementalJson() to succeed.\");var c=Z.prototype.mw.call(this,a,b),d=this,e=new G,f=new G,g=new G,h=this.Lh;a.changes.each(function(a){a.model===d&&(\"linkDataArray\"===a.modelChange?a.change===ee?e.add(a.newValue):a.change===fe&&g.add(a.oldValue):d.tc(a.object)?f.add(a.object):null!==a.object&&(null!==a.object&&h&&h.contains(a.object)?h.get(a.object).each(function(a){d.tc(a)&&f.add(a)}):\na.object instanceof Z||d.cb(a.object)||or(d,a.object).each(function(a){f.add(a)})))});var k=this.Bl;k.clear();e.each(function(a){k.add(d.mc(a));b||f.add(a)});var l=this.Dl;l.clear();g.each(function(a){l.add(d.mc(a));b&&f.add(a)});a=c;0<k.count&&(a+=(b?this.xw:this.vw)+ar(this,k.xa(),!0));0<f.count&&(a+=this.Ny+ar(this,f.xa(),!0));0<l.count&&(a+=(b?this.vw:this.xw)+ar(this,l.xa(),!0));l.clear();k.clear();return a};\nt.yq=function(a){(void 0!==a.linkCategoryProperty&&a.linkCategoryProperty!==this.linkCategoryProperty||void 0!==a.linkKeyProperty&&a.linkKeyProperty!==this.linkKeyProperty||void 0!==a.linkFromKeyProperty&&a.linkFromKeyProperty!==this.linkFromKeyProperty||void 0!==a.linkToKeyProperty&&a.linkToKeyProperty!==this.linkToKeyProperty||void 0!==a.linkFromPortIdProperty&&a.linkFromPortIdProperty!==this.linkFromPortIdProperty||void 0!==a.linkToPortIdProperty&&a.linkToPortIdProperty!==this.linkToPortIdProperty||\nvoid 0!==a.linkLabelKeysProperty&&a.linkLabelKeysProperty!==this.linkLabelKeysProperty||void 0!==a.nodeIsGroupProperty&&a.nodeIsGroupProperty!==this.nodeIsGroupProperty||void 0!==a.nodeGroupKeyProperty&&a.nodeGroupKeyProperty!==this.nodeGroupKeyProperty)&&C(\"applyIncrementalJson cannot change Model properties\");Z.prototype.yq.call(this,a);var b=a.insertedLinkKeys;if(Array.isArray(b))for(var c=b.length,d=0;d<c;d++){var e=b[d],f=this.zh(e);null===f&&(f=this.eq({}),this.dt(f,e),this.Ci(f))}b=a.modifiedLinkData;\nif(Array.isArray(b))for(c=b.length,d=0;d<c;d++)if(e=b[d],f=this.mc(e),f=this.zh(f),null!==f){for(var g in e)\"__gohashid\"!==g&&g!==this.linkKeyProperty&&this.setDataProperty(f,g,e[g]);pr(this,e,f)}a=a.removedLinkKeys;if(Array.isArray(a))for(g=a.length,b=0;b<g;b++)c=this.zh(a[b]),null!==c&&this.vm(c)};\nnr.prototype.changeState=function(a,b){if(null!==a&&a.model===this){if(a.change===ce){var c=a.object,d=a.propertyName;if(d===this.linkKeyProperty&&this.tc(c)){var e=a.H(b);b=a.H(!b);void 0!==b&&this.jb.remove(b);void 0!==e&&this.jb.add(e,c);Mj(c,d,e);return}}else if(a.change===ee){c=a.newParam;if(\"linkDataArray\"===a.modelChange){a=a.newValue;za(a)&&\"number\"===typeof c&&(d=this.mc(a),b?(this.Rf.remove(a),this.Xc[c]===a&&this.Xc.splice(c,1),void 0!==d&&this.jb.remove(d)):(this.Rf.add(a),this.Xc[c]!==\na&&this.Xc.splice(c,0,a),void 0!==d&&this.jb.add(d,a)));return}if(\"linkLabelKeys\"===a.modelChange){d=this.xf(a.object);Array.isArray(d)&&\"number\"===typeof c&&(b?(c=d.indexOf(a.newValue),0<=c&&d.splice(c,1)):0>d.indexOf(a.newValue)&&d.splice(c,0,a.newValue));return}}else if(a.change===fe){c=a.oldParam;if(\"linkDataArray\"===a.modelChange){a=a.oldValue;za(a)&&\"number\"===typeof c&&(d=this.mc(a),b?(this.Rf.add(a),this.Xc[c]!==a&&this.Xc.splice(c,0,a),void 0!==d&&this.jb.add(d,a)):(this.Rf.remove(a),this.Xc[c]===\na&&this.Xc.splice(c,1),void 0!==d&&this.jb.remove(d)));return}if(\"linkLabelKeys\"===a.modelChange){d=this.xf(a.object);Array.isArray(d)&&\"number\"===typeof c&&(b?0>d.indexOf(a.newValue)&&d.splice(c,0,a.newValue):(c=d.indexOf(a.newValue),0<=c&&d.splice(c,1)));return}}Z.prototype.changeState.call(this,a,b)}};t=nr.prototype;t.pm=function(a){if(void 0!==a){var b=this.mj;if(null!==b){var c=this.Vb(a);null===c&&(c=this.copyNodeData(b),Mj(c,this.nodeKeyProperty,a),this.nf(c))}return a}};\nt.Zx=function(a){return Jq(this,a,!0)};t.Wv=function(a,b){Rq(this,a,b,!0)};t.by=function(a){return Jq(this,a,!1)};t.$v=function(a,b){Rq(this,a,b,!1)};function Jq(a,b,c){if(null!==b&&(a=c?a.Xe:a.Ye,\"\"!==a&&(a=on(b,a),void 0!==a))){if(Lq(a))return a;C((c?\"FromKey\":\"ToKey\")+\" value for link data \"+b+\" is not a number or a string: \"+a)}}\nfunction Rq(a,b,c,d){null===c&&(c=void 0);if(null!==b){var e=d?a.Xe:a.Ye;if(\"\"!==e)if(c=a.pm(c),a.tc(b)){var f=on(b,e);f!==c&&(Pq(a,f,b),Mj(b,e,c),null===a.Vb(c)&&Qq(a,c,b),ir(a,d?\"linkFromKey\":\"linkToKey\",ce,e,b,f,c),\"string\"===typeof e&&a.Da(b,e))}else Mj(b,e,c)}}t.$x=function(a){return Iq(this,a,!0)};t.Xv=function(a,b){Sq(this,a,b,!0)};t.ey=function(a){return Iq(this,a,!1)};t.aw=function(a,b){Sq(this,a,b,!1)};\nfunction Iq(a,b,c){if(null===b)return\"\";a=c?a.Fj:a.Gj;if(\"\"===a)return\"\";b=on(b,a);return void 0===b?\"\":b}function Sq(a,b,c,d){if(null!==b){var e=d?a.Fj:a.Gj;if(\"\"!==e)if(a.tc(b)){var f=on(b,e);void 0===f&&(f=\"\");f!==c&&(Mj(b,e,c),ir(a,d?\"linkFromPortId\":\"linkToPortId\",ce,e,b,f,c),\"string\"===typeof e&&a.Da(b,e))}else Mj(b,e,c)}}t.xf=function(a){if(null===a)return qr;var b=this.$d;if(\"\"===b)return qr;a=on(a,b);return void 0===a?qr:a};\nt.et=function(a,b){if(null!==a){var c=this.$d;if(\"\"!==c)if(this.tc(a)){var d=on(a,c);void 0===d&&(d=qr);if(d!==b){if(Array.isArray(d))for(var e=d.length,f=0;f<e;f++)Pq(this,d[f],a);Mj(a,c,b);e=b.length;for(f=0;f<e;f++){var g=b[f];null===this.Vb(g)&&Qq(this,g,a)}ir(this,\"linkLabelKeys\",ce,c,a,d,b);\"string\"===typeof c&&this.Da(a,c)}}else Mj(a,c,b)}};\nt.av=function(a,b){if(null!==b&&void 0!==b&&null!==a){var c=this.$d;if(\"\"!==c){var d=on(a,c);if(void 0===d)c=[],c.push(b),this.et(a,c);else if(Array.isArray(d)){var e=d.indexOf(b);0<=e||(e=d.length,d.push(b),this.tc(a)&&(null===this.Vb(b)&&Qq(this,b,a),ir(this,\"linkLabelKeys\",ee,c,a,null,b,null,e)))}else C(c+\" property is not an Array; cannot addLabelKeyForLinkData: \"+a)}}};\nt.wy=function(a,b){if(null!==b&&void 0!==b&&null!==a){var c=this.$d;if(\"\"!==c){var d=on(a,c);if(Array.isArray(d)){var e=d.indexOf(b);0>e||(d.splice(e,1),this.tc(a)&&(Pq(this,b,a),ir(this,\"linkLabelKeys\",fe,c,a,b,null,e,null)))}else void 0!==d&&C(c+\" property is not an Array; cannot removeLabelKeyforLinkData: \"+a)}}};t.mc=function(a){if(null!==a){var b=this.gi;if(\"\"!==b&&(b=on(a,b),void 0!==b)){if(Lq(b))return b;C(\"Key value for link data \"+a+\" is not a number or a string: \"+b)}}};\nt.dt=function(a,b){if(null!==a){var c=this.gi;if(\"\"!==c)if(this.tc(a)){var d=on(a,c);d!==b&&null===this.zh(b)&&(Mj(a,c,b),void 0!==d&&this.jb.remove(d),this.jb.add(b,a),ir(this,\"linkKey\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c))}else Mj(a,c,b)}};t.zh=function(a){null===a&&C(\"GraphLinksModel.findLinkDataForKey:key must not be null\");return void 0!==a&&Lq(a)?this.jb.H(a):null};\nt.Us=function(a){if(null!==a){var b=this.gi;if(\"\"!==b){var c=this.mc(a);if(void 0===c||this.jb.contains(c)){var d=this.wl;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.jb.contains(c))){Mj(a,b,c);return}if(\"string\"===typeof c){for(d=2;this.jb.contains(c+d);)d++;Mj(a,b,c+d)}else if(void 0===c||\"number\"===typeof c){for(c=-this.jb.count-1;this.jb.contains(c);)c--;Mj(a,b,c)}}}}};t.tc=function(a){return null===a?!1:this.Rf.contains(a)};t.Ci=function(a){null!==a&&(ib(a),this.tc(a)||Nq(this,a,!0))};\nfunction Nq(a,b,c){if(\"\"!==a.linkKeyProperty){var d=a.mc(b);if(void 0!==d&&a.jb.H(d)===b)return;a.Us(b);d=a.mc(b);void 0===d&&C(\"GraphLinksModel.makeLinkDataKeyUnique failed on \"+b+\". Data not added to model.\");a.jb.add(d,b)}a.Rf.add(b);d=null;c&&(d=a.Xc.length,a.Xc.splice(d,0,b));ir(a,\"linkDataArray\",ee,\"linkDataArray\",a,null,b,null,d);rr(a,b)}t.hz=function(a){if(Array.isArray(a))for(var b=a.length,c=0;c<b;c++)this.Ci(a[c]);else for(a=a.iterator;a.next();)this.Ci(a.value)};\nt.vm=function(a){null!==a&&Mq(this,a,!0)};function Mq(a,b,c){a.Rf.remove(b);var d=a.mc(b);void 0!==d&&a.jb.remove(d);d=null;if(c){d=a.Xc.indexOf(b);if(0>d)return;a.Xc.splice(d,1)}ir(a,\"linkDataArray\",fe,\"linkDataArray\",a,b,null,d,null);c=Jq(a,b,!0);Pq(a,c,b);c=Jq(a,b,!1);Pq(a,c,b);d=a.xf(b);if(Array.isArray(d))for(var e=d.length,f=0;f<e;f++)c=d[f],Pq(a,c,b)}t.OA=function(a){if(Array.isArray(a))for(var b=a.length,c=0;c<b;c++)this.vm(a[c]);else for(a=a.iterator;a.next();)this.vm(a.value)};\nt.CA=function(a){\"\"===this.linkKeyProperty&&C(\"GraphLinksModel.linkKeyProperty must not be an empty string for .mergeLinkDataArray() to succeed.\");if(a!==this.linkDataArray&&Aa(a)){var b=this.Dl;b.clear();b.addAll(this.jb.iteratorKeys);var c=this.Bl;c.clear();for(var d=a.length,e=0;e<d;e++){var f=a[e],g=this.mc(f);if(void 0!==g){c.add(g);var h=this.zh(g);h!==f&&(null!==h?(this.Yp(h,f),pr(this,f,h)):(f=this.cloneDeep(f),this.dt(f,g),this.Ci(f)))}else g=this.cloneDeep(f),this.Ci(g),c.add(this.mc(g))}for(a=\nb.iterator;a.next();)d=a.value,c.contains(d)||(d=this.zh(d))&&this.vm(d);b.clear();c.clear()}};function rr(a,b){var c=Jq(a,b,!0);c=a.pm(c);null===a.Vb(c)&&Qq(a,c,b);c=Jq(a,b,!1);c=a.pm(c);null===a.Vb(c)&&Qq(a,c,b);var d=a.xf(b);if(Array.isArray(d))for(var e=d.length,f=0;f<e;f++)c=d[f],null===a.Vb(c)&&Qq(a,c,b)}\nt.eq=function(a){if(null===a)return null;var b=this.Rk;a=null!==b?b(a,this):jr(this,a,!0);za(a)&&(Ta(a),\"\"!==this.Xe&&Mj(a,this.Xe,void 0),\"\"!==this.Ye&&Mj(a,this.Ye,void 0),\"\"!==this.$d&&Mj(a,this.$d,[]));return a};t.Dv=function(a){if(null===a)return!1;var b=this.Cl;return\"\"===b?!1:on(a,b)?!0:!1};t.Ah=function(a){if(null!==a){var b=this.xe;if(\"\"!==b&&(b=on(a,b),void 0!==b)){if(Lq(b))return b;C(\"GroupKey value for node data \"+a+\" is not a number or a string: \"+b)}}};\nt.Gq=function(a,b){null===b&&(b=void 0);if(null!==a){var c=this.xe;if(\"\"!==c)if(this.cb(a)){var d=on(a,c);d!==b&&(Pq(this,d,a),Mj(a,c,b),null===this.Vb(b)&&Qq(this,b,a),ir(this,\"nodeGroupKey\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c))}else Mj(a,c,b)}};nr.prototype.copyNodeData=function(a){if(null===a)return null;a=Z.prototype.copyNodeData.call(this,a);this.ck||\"\"===this.xe||void 0===on(a,this.xe)||Mj(a,this.xe,void 0);return a};\nnr.prototype.setDataProperty=function(a,b,c){if(this.cb(a)){if(b===this.nodeKeyProperty){this.Em(a,c);return}if(b===this.nodeCategoryProperty){this.Dm(a,c);return}if(b===this.nodeGroupKeyProperty){this.Gq(a,c);return}}else if(this.tc(a)){if(b===this.linkFromKeyProperty){Rq(this,a,c,!0);return}if(b===this.linkToKeyProperty){Rq(this,a,c,!1);return}if(b===this.linkFromPortIdProperty){Sq(this,a,c,!0);return}if(b===this.linkToPortIdProperty){Sq(this,a,c,!1);return}if(b===this.linkKeyProperty){this.dt(a,\nc);return}if(b===this.linkCategoryProperty){this.Fq(a,c);return}if(b===this.linkLabelKeysProperty){this.et(a,c);return}}var d=on(a,b);d!==c&&(Mj(a,b,c),this.$s(a,b,d,c))};t=nr.prototype;t.Yp=function(a,b){if(b){var c=this.cb(a),d=this.tc(a),e;for(e in b)\"__gohashid\"===e||c&&e===this.nodeKeyProperty||c&&e===this.nodeIsGroupProperty&&on(a,e)===b[e]||d&&e===this.linkKeyProperty||this.setDataProperty(a,e,b[e])}};\nt.Dq=function(a,b){Z.prototype.Dq.call(this,a,b);for(var c=this.bb.iterator;c.next();)this.Sv(c.value,a,b);for(c=this.Rf.iterator;c.next();){var d=c.value,e=a,f=b;if(Jq(this,d,!0)===e){var g=this.Xe;Mj(d,g,f);ir(this,\"linkFromKey\",ce,g,d,e,f);\"string\"===typeof g&&this.Da(d,g)}Jq(this,d,!1)===e&&(g=this.Ye,Mj(d,g,f),ir(this,\"linkToKey\",ce,g,d,e,f),\"string\"===typeof g&&this.Da(d,g));g=this.xf(d);if(Array.isArray(g))for(var h=g.length,k=this.$d,l=0;l<h;l++)g[l]===e&&(g[l]=f,ir(this,\"linkLabelKeys\",ee,\nk,d,e,f,l,l))}};t.Sv=function(a,b,c){if(this.Ah(a)===b){var d=this.xe;Mj(a,d,c);ir(this,\"nodeGroupKey\",ce,d,a,b,c);\"string\"===typeof d&&this.Da(a,d)}};t.hw=function(){Z.prototype.hw.call(this);for(var a=this.linkDataArray,b=a.length,c=0;c<b;c++)rr(this,a[c])};\nt.zm=function(a){Z.prototype.zm.call(this,a);a=this.pa(a);var b=Oq(this,a);if(null!==b){var c=Fa();for(b=b.iterator;b.next();){var d=b.value;if(this.cb(d)){if(this.Ah(d)===a){var e=this.xe;ir(this,\"nodeGroupKey\",ce,e,d,a,a);\"string\"===typeof e&&this.Da(d,e);c.push(d)}}else if(Jq(this,d,!0)===a&&(e=this.Xe,ir(this,\"linkFromKey\",ce,e,d,a,a),\"string\"===typeof e&&this.Da(d,e),c.push(d)),Jq(this,d,!1)===a&&(e=this.Ye,ir(this,\"linkToKey\",ce,e,d,a,a),\"string\"===typeof e&&this.Da(d,e),c.push(d)),e=this.xf(d),\nArray.isArray(e))for(var f=e.length,g=this.$d,h=0;h<f;h++)e[h]===a&&(ir(this,\"linkLabelKeys\",ee,g,d,a,a,h,h),c.push(d))}for(b=0;b<c.length;b++)Pq(this,a,c[b]);Ia(c)}};t.ym=function(a){Z.prototype.ym.call(this,a);var b=this.Ah(a);null===this.Vb(b)&&Qq(this,b,a)};t.Kq=function(a){Z.prototype.Kq.call(this,a);var b=this.Ah(a);Pq(this,b,a)};\nt.Gs=function(a){if(null===a)return\"\";var b=this.Ej;if(\"\"===b)return\"\";b=on(a,b);if(void 0===b)return\"\";if(\"string\"===typeof b)return b;C(\"getCategoryForLinkData found a non-string category for \"+a+\": \"+b)};nr.prototype.getLinkCategoryForData=function(a){return this.Gs(a)};nr.prototype.Fq=function(a,b){if(null!==a){var c=this.Ej;if(\"\"!==c)if(this.tc(a)){var d=on(a,c);void 0===d&&(d=\"\");d!==b&&(Mj(a,c,b),ir(this,\"linkCategory\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c))}else Mj(a,c,b)}};\nnr.prototype.setLinkCategoryForData=function(a,b){this.Fq(a,b)};t=nr.prototype;t.Fm=function(a,b){Z.prototype.Fm.call(this,a,b);this.Gq(b,this.Ah(a))};function pr(a,b,c){a.Fq(c,a.Gs(b));a.Wv(c,a.Zx(b));a.$v(c,a.by(b));a.et(c,a.xf(b));a.Xv(c,a.$x(b));a.aw(c,a.ey(b))}t.nk=function(){return!0};t.Qi=function(){return!0};t.Ps=function(){return!0};t.pk=function(){return!0};\nna.Object.defineProperties(nr.prototype,{archetypeNodeData:{get:function(){return this.mj},set:function(a){var b=this.mj;b!==a&&(this.mj=a,this.g(\"archetypeNodeData\",b,a))}},linkFromKeyProperty:{get:function(){return this.Xe},set:function(a){var b=this.Xe;b!==a&&(this.Xe=a,this.g(\"linkFromKeyProperty\",b,a))}},linkToKeyProperty:{get:function(){return this.Ye},set:function(a){var b=this.Ye;b!==a&&(this.Ye=a,this.g(\"linkToKeyProperty\",\nb,a))}},linkFromPortIdProperty:{get:function(){return this.Fj},set:function(a){var b=this.Fj;b!==a&&(this.Fj=a,this.g(\"linkFromPortIdProperty\",b,a))}},linkToPortIdProperty:{get:function(){return this.Gj},set:function(a){var b=this.Gj;b!==a&&(this.Gj=a,this.g(\"linkToPortIdProperty\",b,a))}},linkLabelKeysProperty:{get:function(){return this.$d},set:function(a){var b=this.$d;b!==a&&(this.$d=a,this.g(\"linkLabelKeysProperty\",\nb,a))}},linkDataArray:{get:function(){return this.Xc},set:function(a){var b=this.Xc;if(b!==a){this.jb.clear();for(var c=a.length,d=0;d<c;d++){var e=a[d];za(e)||C(\"GraphLinksModel.linkDataArray must only contain Objects, not: \"+e);ib(e)}this.Xc=a;if(\"\"!==this.linkKeyProperty){d=new E;for(e=0;e<c;e++){var f=a[e],g=this.mc(f);void 0===g?d.add(f):null!==this.jb.H(g)?d.add(f):this.jb.add(g,f)}for(d=d.iterator;d.next();)e=d.value,this.Us(e),f=this.mc(e),void 0!==f&&this.jb.add(f,\ne)}d=new G;for(e=0;e<c;e++)d.add(a[e]);this.Rf=d;ir(this,\"linkDataArray\",ce,\"linkDataArray\",this,b,a);for(b=0;b<c;b++)rr(this,a[b])}}},linkKeyProperty:{get:function(){return this.gi},set:function(a){var b=this.gi;if(b!==a){this.gi=a;this.jb.clear();for(var c=this.linkDataArray.length,d=0;d<c;d++){var e=this.linkDataArray[d],f=this.mc(e);void 0===f&&(this.Us(e),f=this.mc(e));void 0!==f&&this.jb.add(f,e)}this.g(\"linkKeyProperty\",b,a)}}},makeUniqueLinkKeyFunction:{\nget:function(){return this.wl},set:function(a){var b=this.wl;b!==a&&(this.wl=a,this.g(\"makeUniqueLinkKeyFunction\",b,a))}},copyLinkDataFunction:{get:function(){return this.Rk},set:function(a){var b=this.Rk;b!==a&&(this.Rk=a,this.g(\"copyLinkDataFunction\",b,a))}},nodeIsGroupProperty:{get:function(){return this.Cl},set:function(a){var b=this.Cl;b!==a&&(this.Cl=a,this.g(\"nodeIsGroupProperty\",b,a))}},nodeGroupKeyProperty:{\nget:function(){return this.xe},set:function(a){var b=this.xe;b!==a&&(this.xe=a,this.g(\"nodeGroupKeyProperty\",b,a))}},ck:{get:function(){return this.on},set:function(a){this.on!==a&&(this.on=a)}},linkCategoryProperty:{get:function(){return this.Ej},set:function(a){var b=this.Ej;b!==a&&(this.Ej=a,this.g(\"linkCategoryProperty\",b,a))}},type:{get:function(){return\"GraphLinksModel\"}}});\nnr.prototype.setCategoryForLinkData=nr.prototype.Fq;nr.prototype.getCategoryForLinkData=nr.prototype.Gs;nr.prototype.assignAllDataProperties=nr.prototype.Yp;nr.prototype.setGroupKeyForNodeData=nr.prototype.Gq;nr.prototype.getGroupKeyForNodeData=nr.prototype.Ah;nr.prototype.isGroupForNodeData=nr.prototype.Dv;nr.prototype.copyLinkData=nr.prototype.eq;nr.prototype.mergeLinkDataArray=nr.prototype.CA;nr.prototype.removeLinkDataCollection=nr.prototype.OA;nr.prototype.removeLinkData=nr.prototype.vm;\nnr.prototype.addLinkDataCollection=nr.prototype.hz;nr.prototype.addLinkData=nr.prototype.Ci;nr.prototype.containsLinkData=nr.prototype.tc;nr.prototype.makeLinkDataKeyUnique=nr.prototype.Us;nr.prototype.findLinkDataForKey=nr.prototype.zh;nr.prototype.setKeyForLinkData=nr.prototype.dt;nr.prototype.getKeyForLinkData=nr.prototype.mc;nr.prototype.removeLabelKeyForLinkData=nr.prototype.wy;nr.prototype.addLabelKeyForLinkData=nr.prototype.av;nr.prototype.setLabelKeysForLinkData=nr.prototype.et;\nnr.prototype.getLabelKeysForLinkData=nr.prototype.xf;nr.prototype.setToPortIdForLinkData=nr.prototype.aw;nr.prototype.getToPortIdForLinkData=nr.prototype.ey;nr.prototype.setFromPortIdForLinkData=nr.prototype.Xv;nr.prototype.getFromPortIdForLinkData=nr.prototype.$x;nr.prototype.setToKeyForLinkData=nr.prototype.$v;nr.prototype.getToKeyForLinkData=nr.prototype.by;nr.prototype.setFromKeyForLinkData=nr.prototype.Wv;nr.prototype.getFromKeyForLinkData=nr.prototype.Zx;nr.prototype.clear=nr.prototype.clear;\nvar qr=Object.freeze([]);nr.className=\"GraphLinksModel\";lr.GraphLinksModel=nr;Z.constructGraphLinksModel=Z.constructGraphLinksModel=function(){return new nr};Z.initDiagramModel=ji=function(){return new nr};function sr(a,b){Z.call(this);this.ye=\"parent\";this.qn=!1;this.Mj=\"parentLinkCategory\";void 0!==a&&(Aa(a)?this.nodeDataArray=a:Object.assign(this,a));b&&Object.assign(this,b)}ma(sr,Z);sr.constructGraphLinksModel=Z.constructGraphLinksModel;\nsr.prototype.cloneProtected=function(a){Z.prototype.cloneProtected.call(this,a);a.ye=this.ye;a.qn=this.qn;a.Mj=this.Mj};t=sr.prototype;t.toString=function(a){void 0===a&&(a=0);if(2<=a)return this.Hq();var b=(\"\"!==this.name?this.name:\"\")+\" TreeModel\";if(0<a){b+=\"\\n node data:\";a=this.nodeDataArray;for(var c=a.length,d=0;d<c;d++){var e=a[d];b+=\" \"+this.pa(e)+\":\"+Ka(e)}}return b};\nt.Nm=function(){var a=Z.prototype.Nm.call(this),b=\"\";\"parent\"!==this.nodeParentKeyProperty&&\"string\"===typeof this.nodeParentKeyProperty&&(b+=',\\n  \"nodeParentKeyProperty\": '+this.quote(this.nodeParentKeyProperty));return a+b};t.zq=function(a){Z.prototype.zq.call(this,a);a.nodeParentKeyProperty&&(this.nodeParentKeyProperty=a.nodeParentKeyProperty)};\nt.yq=function(a){void 0!==a.nodeParentKeyProperty&&a.nodeParentKeyProperty!==this.nodeParentKeyProperty&&C(\"applyIncrementalJson cannot change Model properties\");Z.prototype.yq.call(this,a)};t.pm=function(a){return a};t.Bh=function(a){if(null!==a){var b=this.ye;if(\"\"!==b&&(b=on(a,b),void 0!==b)){if(Lq(b))return b;C(\"ParentKey value for node data \"+a+\" is not a number or a string: \"+b)}}};\nt.fe=function(a,b){null===b&&(b=void 0);if(null!==a){var c=this.ye;if(\"\"!==c)if(b=this.pm(b),this.cb(a)){var d=on(a,c);d!==b&&(Pq(this,d,a),Mj(a,c,b),null===this.Vb(b)&&Qq(this,b,a),ir(this,\"nodeParentKey\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c))}else Mj(a,c,b)}};t.Js=function(a){if(null===a)return\"\";var b=this.Mj;if(\"\"===b)return\"\";b=on(a,b);if(void 0===b)return\"\";if(\"string\"===typeof b)return b;C(\"getParentLinkCategoryForNodeData found a non-string category for \"+a+\": \"+b);return\"\"};\nsr.prototype.getLinkCategoryForData=function(a){return this.Js(a)};sr.prototype.ft=function(a,b){if(null!==a){var c=this.Mj;if(\"\"!==c)if(this.cb(a)){var d=on(a,c);void 0===d&&(d=\"\");d!==b&&(Mj(a,c,b),ir(this,\"parentLinkCategory\",ce,c,a,d,b),\"string\"===typeof c&&this.Da(a,c))}else Mj(a,c,b)}};sr.prototype.setLinkCategoryForData=function(a,b){this.ft(a,b)};\nsr.prototype.copyNodeData=function(a){if(null===a)return null;a=Z.prototype.copyNodeData.call(this,a);this.dk||\"\"===this.ye||void 0===on(a,this.ye)||Mj(a,this.ye,void 0);return a};sr.prototype.setDataProperty=function(a,b,c){if(this.cb(a)){if(b===this.nodeKeyProperty){this.Em(a,c);return}if(b===this.nodeCategoryProperty){this.Dm(a,c);return}if(b===this.nodeParentKeyProperty){this.fe(a,c);return}}var d=on(a,b);d!==c&&(Mj(a,b,c),this.$s(a,b,d,c))};t=sr.prototype;\nt.Dq=function(a,b){Z.prototype.Dq.call(this,a,b);for(var c=this.bb.iterator;c.next();)this.Sv(c.value,a,b)};t.Sv=function(a,b,c){if(this.Bh(a)===b){var d=this.ye;Mj(a,d,c);ir(this,\"nodeParentKey\",ce,d,a,b,c);\"string\"===typeof d&&this.Da(a,d)}};\nt.zm=function(a){Z.prototype.zm.call(this,a);a=this.pa(a);var b=Oq(this,a);if(null!==b){var c=Fa();for(b=b.iterator;b.next();){var d=b.value;if(this.cb(d)&&this.Bh(d)===a){var e=this.ye;ir(this,\"nodeParentKey\",ce,e,d,a,a);\"string\"===typeof e&&this.Da(d,e);c.push(d)}}for(b=0;b<c.length;b++)Pq(this,a,c[b]);Ia(c)}};t.ym=function(a){Z.prototype.ym.call(this,a);var b=this.Bh(a);b=this.pm(b);null===this.Vb(b)&&Qq(this,b,a)};t.Kq=function(a){Z.prototype.Kq.call(this,a);var b=this.Bh(a);Pq(this,b,a)};\nt.Fm=function(a,b){Z.prototype.Fm.call(this,a,b);this.ft(b,this.Js(a));this.fe(b,this.Bh(a))};t.nm=function(){return!0};t.Ps=function(){return!0};\nna.Object.defineProperties(sr.prototype,{nodeParentKeyProperty:{get:function(){return this.ye},set:function(a){var b=this.ye;b!==a&&(this.ye=a,this.g(\"nodeParentKeyProperty\",b,a))}},dk:{get:function(){return this.qn},set:function(a){this.qn!==a&&(this.qn=a)}},parentLinkCategoryProperty:{get:function(){return this.Mj},set:function(a){var b=this.Mj;b!==a&&(this.Mj=a,this.g(\"parentLinkCategoryProperty\",b,a))}},\nlinkCategoryProperty:{get:function(){return this.parentLinkCategoryProperty},set:function(a){this.parentLinkCategoryProperty=a}},type:{get:function(){return\"TreeModel\"}}});sr.prototype.setParentLinkCategoryForNodeData=sr.prototype.ft;sr.prototype.getParentLinkCategoryForNodeData=sr.prototype.Js;sr.prototype.setParentKeyForNodeData=sr.prototype.fe;sr.prototype.getParentKeyForNodeData=sr.prototype.Bh;sr.className=\"TreeModel\";lr.TreeModel=sr;\nfunction tr(a){li.call(this);this.Mw=this.Dn=this.Zb=0;this.ir=360;this.Lw=ur;this.qj=0;this.zw=new J;this.$q=this.be=0;this.ss=new vr;this.Bt=this.Lj=0;this.Yy=600;this.ep=NaN;this.cn=1;this.Gp=0;this.Vl=360;this.Gb=ur;this.K=wr;this.Yc=xr;this.Rc=mq;this.ef=6;this.Oo=yr;a&&Object.assign(this,a)}ma(tr,li);\ntr.prototype.cloneProtected=function(a){li.prototype.cloneProtected.call(this,a);a.ep=this.ep;a.cn=this.cn;a.Gp=this.Gp;a.Vl=this.Vl;a.Gb=this.Gb;a.K=this.K;a.Yc=this.Yc;a.Rc=this.Rc;a.ef=this.ef;a.Oo=this.Oo};\ntr.prototype.gb=function(a){if(a.classType===tr)if(a===zr||a===Ar||a===Br||a===Cr||a===xr)this.sorting=a;else if(a===Dr||a===Er||a===wr||a===Fr)this.direction=a;else if(a===Gr||a===Hr||a===ur||a===Ir)this.arrangement=a;else{if(a===Jr||a===yr)this.nodeDiameterFormula=a}else li.prototype.gb.call(this,a)};tr.prototype.createNetwork=function(){return new Kr(this)};\ntr.prototype.doLayout=function(a){null===this.network&&(this.network=this.makeNetwork(a));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);a=this.network.vertexes;if(1>=a.count)1===a.count&&(a=a.first(),a.centerX=0,a.centerY=0);else{var b=new E;b.addAll(a.iterator);a=new E;var c=new E;var d=this.sort(b);var e,f,g=this.$q;var h=this.arrangement;var k=this.nodeDiameterFormula;var l=this.radius;if(!isFinite(l)||0>=l)l=NaN;var m=this.aspectRatio;if(!isFinite(m)||0>=m)m=1;var n=this.startAngle;\nisFinite(n)||(n=0);var p=this.sweepAngle;if(!isFinite(p)||360<p||1>p)p=360;b=this.spacing;isFinite(b)||(b=NaN);h===Ir&&k===Jr?h=ur:h===Ir&&k!==Jr&&(h=this.arrangement);if((this.direction===Dr||this.direction===Er)&&this.sorting!==xr){for(k=0;!(k>=d.length);k+=2){a.add(d.J(k));if(k+1>=d.length)break;c.add(d.J(k+1))}this.direction===Dr?(this.arrangement===Ir&&a.reverse(),d=new E,d.addAll(a),d.addAll(c)):(this.arrangement===Ir&&c.reverse(),d=new E,d.addAll(c),d.addAll(a))}k=d.length;for(var r=f=e=0;r<\nd.length;r++){var q=n+p*f*(this.direction===wr?1:-1)/k,u=d.J(r).diameter;isNaN(u)&&(u=Lr(d.J(r),q));360>p&&(0===r||r===d.length-1)&&(u/=2);e+=u;f++}if(isNaN(l)||h===Ir){isNaN(b)&&(b=6);if(h!==ur&&h!==Ir){f=-Infinity;for(g=0;g<k;g++)r=d.J(g),e=d.J(g===k-1?0:g+1),isNaN(r.diameter)&&Lr(r,0),isNaN(e.diameter)&&Lr(e,0),f=Math.max(f,(r.diameter+e.diameter)/2);g=f+b;h===Gr?l=(f+b)/(2*Math.PI/k):l=Mr(this,g*(360<=p?k:k-1),m,n*Math.PI/180,p*Math.PI/180)}else l=Mr(this,e+(360<=p?k:k-1)*(h!==Ir?b:1.6*b),m,n*\nMath.PI/180,p*Math.PI/180);f=l*m}else if(f=l*m,r=Nr(this,l,f,n*Math.PI/180,p*Math.PI/180),isNaN(b)){if(h===ur||h===Ir)b=(r-e)/(360<=p?k:k-1)}else if(h===ur||h===Ir)r=(r-e)/(360<=p?k:k-1),r<b?(l=Mr(this,e+b*(360<=p?k:k-1),m,n*Math.PI/180,p*Math.PI/180),f=l*m):b=r;else{g=-Infinity;for(e=0;e<k;e++)q=d.J(e),u=d.J(e===k-1?0:e+1),isNaN(q.diameter)&&Lr(q,0),isNaN(u.diameter)&&Lr(u,0),g=Math.max(g,(q.diameter+u.diameter)/2);g+=b;e=Mr(this,g*(360<=p?k:k-1),m,n*Math.PI/180,p*Math.PI/180);e>l?(l=e,f=l*m):g=\nr/(360<=p?k:k-1)}this.Lw=h;this.Zb=l;this.Dn=m;this.Mw=n;this.ir=p;this.qj=b;this.be=f;this.$q=g;b=d;d=this.Lw;h=this.Zb;l=this.Mw;m=this.ir;n=this.qj;p=this.be;k=this.$q;if(this.direction!==Dr&&this.direction!==Er||d!==Ir)if(this.direction===Dr||this.direction===Er){g=0;switch(d){case Hr:g=180*Or(this,h,p,l,k)/Math.PI;break;case ur:k=b=0;g=a.first();null!==g&&(b=Lr(g,Math.PI/2));g=c.first();null!==g&&(k=Lr(g,Math.PI/2));g=180*Or(this,h,p,l,n+(b+k)/2)/Math.PI;break;case Gr:g=m/b.length}if(this.direction===\nDr){switch(d){case Hr:Pr(this,a,l,Fr);break;case ur:Qr(this,a,l,Fr);break;case Gr:Rr(this,a,m/2,l,Fr)}switch(d){case Hr:Pr(this,c,l+g,wr);break;case ur:Qr(this,c,l+g,wr);break;case Gr:Rr(this,c,m/2,l+g,wr)}}else{switch(d){case Hr:Pr(this,c,l,Fr);break;case ur:Qr(this,c,l,Fr);break;case Gr:Rr(this,c,m/2,l,Fr)}switch(d){case Hr:Pr(this,a,l+g,wr);break;case ur:Qr(this,a,l+g,wr);break;case Gr:Rr(this,a,m/2,l+g,wr)}}}else switch(d){case Hr:Pr(this,b,l,this.direction);break;case ur:Qr(this,b,l,this.direction);\nbreak;case Gr:Rr(this,b,m,l,this.direction);break;case Ir:Sr(this,b,m,l,this.direction)}else Sr(this,b,m,l-m/2,wr)}this.updateParts();this.network=null;this.isValidLayout=!0};function Rr(a,b,c,d,e){var f=a.ir,g=a.Zb;a=a.be;d=d*Math.PI/180;c=c*Math.PI/180;for(var h=b.length,k=0;k<h;k++){var l=d+(e===wr?k*c/(360<=f?h:h-1):-(k*c)/h),m=b.J(k),n=g*Math.tan(l)/a;n=Math.sqrt((g*g+a*a*n*n)/(1+n*n));m.centerX=n*Math.cos(l);m.centerY=n*Math.sin(l);m.actualAngle=180*l/Math.PI}}\nfunction Qr(a,b,c,d){var e=a.Zb,f=a.be,g=a.qj;c=c*Math.PI/180;for(var h=b.length,k=0;k<h;k++){var l=b.J(k),m=b.J(k===h-1?0:k+1),n=f*Math.sin(c);l.centerX=e*Math.cos(c);l.centerY=n;l.actualAngle=180*c/Math.PI;isNaN(l.diameter)&&Lr(l,0);isNaN(m.diameter)&&Lr(m,0);l=Or(a,e,f,d===wr?c:-c,(l.diameter+m.diameter)/2+g);c+=d===wr?l:-l}}\nfunction Pr(a,b,c,d){var e=a.Zb,f=a.be,g=a.$q;c=c*Math.PI/180;for(var h=b.length,k=0;k<h;k++){var l=b.J(k);l.centerX=e*Math.cos(c);l.centerY=f*Math.sin(c);l.actualAngle=180*c/Math.PI;l=Or(a,e,f,d===wr?c:-c,g);c+=d===wr?l:-l}}function Sr(a,b,c,d,e){var f=a.ir;a.Lj=0;a.ss=new vr;if(360>c){for(f=d+(e===wr?f:-f);0>f;)f+=360;f%=360;180<f&&(f-=360);f*=Math.PI/180;a.Bt=f;Tr(a,b,c,d,e)}else Ur(a,b,c,d,e);a.ss.commit(b)}\nfunction Ur(a,b,c,d,e){var f=a.Zb,g=a.qj,h=a.Dn,k=f*Math.cos(d*Math.PI/180),l=a.be*Math.sin(d*Math.PI/180),m=b.xa();if(3===m.length)m[0].centerX=f,m[0].centerY=0,m[1].centerX=m[0].centerX-m[0].width/2-m[1].width/2-g,m[1].y=m[0].y,m[2].centerX=(m[0].centerX+m[1].centerX)/2,m[2].y=m[0].y-m[2].height-g;else if(4===m.length)m[0].centerX=f,m[0].centerY=0,m[2].centerX=-m[0].centerX,m[2].centerY=m[0].centerY,m[1].centerX=0,m[1].y=Math.min(m[0].y,m[2].y)-m[1].height-g,m[3].centerX=0,m[3].y=Math.max(m[0].y+\nm[0].height+g,m[2].y+m[2].height+g);else{f=J.alloc();for(var n=0;n<m.length;n++){m[n].centerX=k;m[n].centerY=l;if(n>=m.length-1)break;Vr(a,k,l,m,n,e,f)||Wr(a,k,l,m,n,e,f);k=f.x;l=f.y}J.free(f);a.Lj++;if(!(23<a.Lj)){k=m[0].centerX;l=m[0].centerY;f=m[m.length-1].centerX;n=m[m.length-1].centerY;var p=Math.abs(k-f)-((m[0].width+m[m.length-1].width)/2+g),r=Math.abs(l-n)-((m[0].height+m[m.length-1].height)/2+g);g=0;1>Math.abs(r)?Math.abs(k-f)<(m[0].width+m[m.length-1].width)/2&&(g=0):g=0<r?r:1>Math.abs(p)?\n0:p;k=Math.abs(f)>Math.abs(n)?0<f!==l>n:0<n!==k<f;if(k=e===wr?k:!k)g=-Math.abs(g),g=Math.min(g,-m[m.length-1].width),g=Math.min(g,-m[m.length-1].height);a.ss.compare(g,m);1<Math.abs(g)&&(a.Zb=8>a.Lj?a.Zb-g/(2*Math.PI):5>m.length&&10<g?a.Zb/2:a.Zb-(0<g?1.7:-2.3),a.be=a.Zb*h,Ur(a,b,c,d,e))}}}\nfunction Tr(a,b,c,d,e){for(var f=a.Zb,g=a.be,h=a.Dn,k=f*Math.cos(d*Math.PI/180),l=g*Math.sin(d*Math.PI/180),m=J.alloc(),n=b.xa(),p=0;p<n.length;p++){n[p].centerX=k;n[p].centerY=l;if(p>=n.length-1)break;Vr(a,k,l,n,p,e,m)||Wr(a,k,l,n,p,e,m);k=m.x;l=m.y}J.free(m);a.Lj++;if(!(23<a.Lj)){k=Math.atan2(l,k);k=e===wr?a.Bt-k:k-a.Bt;k=Math.abs(k)<Math.abs(k-2*Math.PI)?k:k-2*Math.PI;f=k*(f+g)/2;g=a.ss;if(Math.abs(f)<Math.abs(g.jm))for(g.jm=f,g.Ck=[],g.Pm=[],k=0;k<n.length;k++)g.Ck[k]=n[k].bounds.x,g.Pm[k]=n[k].bounds.y;\n1<Math.abs(f)&&(a.Zb=8>a.Lj?a.Zb-f/(2*Math.PI):a.Zb-(0<f?1.7:-2.3),a.be=a.Zb*h,Tr(a,b,c,d,e))}}function Vr(a,b,c,d,e,f,g){var h=a.Zb,k=a.be,l=0;a=(d[e].width+d[e+1].width)/2+a.qj;var m=!1;if(0<=c!==(f===wr)){if(f=b+a,f>h){f=b-a;if(f<-h)return g.x=f,g.y=l,!1;m=!0}}else if(f=b-a,f<-h){f=b+a;if(f>h)return g.x=f,g.y=l,!1;m=!0}l=Math.sqrt(1-Math.min(1,f*f/(h*h)))*k;0>c!==m&&(l=-l);if(Math.abs(c-l)>(d[e].height+d[e+1].height)/2)return g.x=f,g.y=l,!1;g.x=f;g.y=l;return!0}\nfunction Wr(a,b,c,d,e,f,g){var h=a.Zb,k=a.be,l=0;a=(d[e].height+d[e+1].height)/2+a.qj;d=!1;if(0<=b!==(f===wr)){if(f=c-a,f<-k){f=c+a;if(f>k){g.x=l;g.y=f;return}d=!0}}else if(f=c+a,f>k){f=c-a;if(f<-k){g.x=l;g.y=f;return}d=!0}l=Math.sqrt(1-Math.min(1,f*f/(k*k)))*h;0>b!==d&&(l=-l);g.x=l;g.y=f}tr.prototype.commitLayout=function(){this.commitNodes();this.isRouting&&this.commitLinks()};\ntr.prototype.commitNodes=function(){var a=null!==this.group&&null!==this.group.placeholder&&this.group.isSubGraphExpanded,b=a?this.group.location.copy():null,c=this.actualCenter;a?c=new J(0,0):(c.x=this.arrangementOrigin.x+this.Zb,c.y=this.arrangementOrigin.y+this.be);for(var d=this.network.vertexes.iterator;d.next();){var e=d.value;e.x+=c.x;e.y+=c.y;e.commit()}a&&(this.group.Sa(),a=this.group.position.copy(),c=this.group.location.copy(),b=b.ge(c.ge(a)),this.group.move(b),this.zw=b.ge(a))};\ntr.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};function Nr(a,b,c,d,e){var f=a.Yy;if(.001>Math.abs(a.Dn-1))return void 0!==d&&void 0!==e?e*b:2*Math.PI*b;a=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c;var g=0;var h=void 0!==d&&void 0!==e?e/(f+1):Math.PI/(2*(f+1));for(var k=0,l=0;l<=f;l++){void 0!==d&&void 0!==e?k=d+l*e/f:k=l*Math.PI/(2*f);var m=Math.sin(k);g+=Math.sqrt(1-a*a*m*m)*h}return void 0!==d&&void 0!==e?(b>c?b:c)*g:4*(b>c?b:c)*g}\nfunction Mr(a,b,c,d,e){return b/(void 0!==d&&void 0!==e?Nr(a,1,c,d,e):Nr(a,1,c))}function Or(a,b,c,d,e){if(.001>Math.abs(a.Dn-1))return e/b;var f=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c,g=0;a=2*Math.PI/(700*a.network.vertexes.count);b>c&&(d+=Math.PI/2);for(var h=0;;h++){var k=Math.sin(d+h*a);g+=(b>c?b:c)*Math.sqrt(1-f*f*k*k)*a;if(g>=e)return h*a}}\ntr.prototype.sort=function(a){switch(this.sorting){case Br:break;case Cr:a.reverse();break;case zr:a.sort(this.comparer);break;case Ar:a.sort(this.comparer);a.reverse();break;case xr:return this.Zs(Xr(a));default:C(\"Invalid sorting type.\")}return a};\nfunction Xr(a){for(var b=[],c=0;c<a.length;c++)b.push(0);c=new E;for(var d=0;d<a.length;d++){var e=-1,f=-1;if(0===d)for(var g=0;g<a.length;g++){var h=a.J(g).edgesCount;h>e&&(e=h,f=g)}else for(g=0;g<a.length;g++)h=b[g],h>e&&(e=h,f=g);c.add(a.J(f));b[f]=-1;f=a.J(f);for(g=f.sourceEdges;g.next();)e=a.indexOf(g.value.fromVertex),0>e||0<=b[e]&&b[e]++;for(f=f.destinationEdges;f.next();)e=a.indexOf(f.value.toVertex),0>e||0<=b[e]&&b[e]++}return c}\ntr.prototype.Zs=function(a){for(var b=[],c=0;c<a.length;c++){var d=a.J(c);b[c]=[];for(var e,f=d.destinationEdges;f.next();)e=a.indexOf(f.value.toVertex),e!==c&&0>b[c].indexOf(e)&&b[c].push(e);for(d=d.sourceEdges;d.next();)e=a.indexOf(d.value.fromVertex),e!==c&&0>b[c].indexOf(e)&&b[c].push(e)}f=[];for(c=0;c<b.length;c++)f[c]=0;c=[];var g=[],h=[];d=[];e=new E;for(var k=0,l=0;l<b.length;l++){var m=b[l].length;if(1===m)d.push(l);else if(0===m)e.add(a.J(l));else{if(0===k)c.push(l);else{for(var n=m=Infinity,\np=-1,r=[],q=0;q<c.length;q++)0>b[c[q]].indexOf(c[q===c.length-1?0:q+1])&&r.push(q===c.length-1?0:q+1);if(0===r.length)for(q=0;q<c.length;q++)r.push(q);for(q=0;q<r.length;q++){for(var u=r[q],v=b[l],w=0,z=0;z<g.length;z++){var y=f[g[z]],A=f[h[z]];if(y<A){var B=y;y=A}else B=A;if(B<u&&u<=y)for(A=0;A<v.length;A++){var F=v[A];0>c.indexOf(F)||B<f[F]&&f[F]<y||B===f[F]||y===f[F]||w++}else for(A=0;A<v.length;A++)F=v[A],0>c.indexOf(F)||B<f[F]&&f[F]<y&&B!==f[F]&&y!==f[F]&&w++}v=w;for(z=w=0;z<b[l].length;z++)B=\nc.indexOf(b[l][z]),0<=B&&(B=Math.abs(u-(B>=u?B+1:B)),w+=B<c.length+1-B?B:c.length+1-B);for(z=0;z<g.length;z++)B=f[g[z]],y=f[h[z]],B>=u&&B++,y>=u&&y++,B>y&&(A=y,y=B,B=A),y-B<(c.length+2)/2===(B<u&&u<=y)&&w++;if(v<m||v===m&&w<n)m=v,n=w,p=u}c.splice(p,0,l);for(m=0;m<c.length;m++)f[c[m]]=m;for(m=0;m<b[l].length;m++)n=b[l][m],0<=c.indexOf(n)&&(g.push(l),h.push(n))}k++}}for(g=c.length;;){f=!0;for(h=0;h<d.length;h++)if(k=d[h],l=b[k][0],m=c.indexOf(l),0<=m){for(p=n=0;p<b[l].length;p++)r=c.indexOf(b[l][p]),\n0>r||r===m||(q=r>m?r-m:m-r,n+=r<m!==q>g-q?1:-1);c.splice(0>n?m:m+1,0,k);d.splice(h,1);h--}else f=!1;if(f)break;else c.push(d[0]),d.splice(0,1)}for(b=0;b<c.length;b++)e.add(a.J(c[b]));return e};\nna.Object.defineProperties(tr.prototype,{radius:{get:function(){return this.ep},set:function(a){this.ep!==a&&(0<a||isNaN(a))&&(this.ep=a,this.B())}},aspectRatio:{get:function(){return this.cn},set:function(a){this.cn!==a&&0<a&&(this.cn=a,this.B())}},startAngle:{get:function(){return this.Gp},set:function(a){this.Gp!==a&&(this.Gp=a,this.B())}},sweepAngle:{get:function(){return this.Vl},\nset:function(a){this.Vl!==a&&(0<a&&360>=a?this.Vl=a:this.Vl=360,this.B())}},arrangement:{get:function(){return this.Gb},set:function(a){this.Gb===a||a!==Ir&&a!==ur&&a!==Hr&&a!==Gr||(this.Gb=a,this.B())}},direction:{get:function(){return this.K},set:function(a){this.K===a||a!==wr&&a!==Fr&&a!==Dr&&a!==Er||(this.K=a,this.B())}},sorting:{get:function(){return this.Yc},set:function(a){this.Yc===a||a!==Br&&a!==Cr&&\na!==zr&&!Ar&&a!==xr||(this.Yc=a,this.B())}},comparer:{get:function(){return this.Rc},set:function(a){this.Rc!==a&&(this.Rc=a,this.B())}},spacing:{get:function(){return this.ef},set:function(a){this.ef!==a&&(this.ef=a,this.B())}},nodeDiameterFormula:{get:function(){return this.Oo},set:function(a){this.Oo===a||a!==yr&&a!==Jr||(this.Oo=a,this.B())}},actualXRadius:{get:function(){return this.Zb}},\nactualYRadius:{get:function(){return this.be}},actualSpacing:{get:function(){return this.qj}},actualCenter:{get:function(){return this.zw}}});\nvar ur=new D(tr,\"ConstantSpacing\",0),Hr=new D(tr,\"ConstantDistance\",1),Gr=new D(tr,\"ConstantAngle\",2),Ir=new D(tr,\"Packed\",3),wr=new D(tr,\"Clockwise\",4),Fr=new D(tr,\"Counterclockwise\",5),Dr=new D(tr,\"BidirectionalLeft\",6),Er=new D(tr,\"BidirectionalRight\",7),Br=new D(tr,\"Forwards\",8),Cr=new D(tr,\"Reverse\",9),zr=new D(tr,\"Ascending\",10),Ar=new D(tr,\"Descending\",11),xr=new D(tr,\"Optimized\",12),yr=new D(tr,\"Pythagorean\",13),Jr=new D(tr,\"Circular\",14);tr.className=\"CircularLayout\";tr.ConstantSpacing=ur;\ntr.ConstantDistance=Hr;tr.ConstantAngle=Gr;tr.Packed=Ir;tr.Clockwise=wr;tr.Counterclockwise=Fr;tr.BidirectionalLeft=Dr;tr.BidirectionalRight=Er;tr.Forwards=Br;tr.Reverse=Cr;tr.Ascending=zr;tr.Descending=Ar;tr.Optimized=xr;tr.Pythagorean=yr;tr.Circular=Jr;function vr(){this.jm=-Infinity;this.Pm=this.Ck=null}\nvr.prototype.compare=function(a,b){if(0<a&&0>this.jm||Math.abs(a)<Math.abs(this.jm)&&!(0>a&&0<this.jm))for(this.jm=a,this.Ck=[],this.Pm=[],a=0;a<b.length;a++)this.Ck[a]=b[a].bounds.x,this.Pm[a]=b[a].bounds.y};vr.prototype.commit=function(a){if(null!==this.Ck&&null!==this.Pm)for(var b=0;b<this.Ck.length;b++){var c=a.J(b);c.x=this.Ck[b];c.y=this.Pm[b]}};vr.className=\"VertexArrangement\";function Kr(a){Sp.call(this,a)}ma(Kr,Sp);Kr.prototype.createVertex=function(){return new Yr(this)};\nKr.prototype.createEdge=function(){return new Zr(this)};Kr.className=\"CircularNetwork\";function Yr(a){fq.call(this,a);this.C=this.pj=NaN}ma(Yr,fq);\nfunction Lr(a,b){var c=a.network;if(null===c)return NaN;c=c.layout;if(null===c)return NaN;if(c.arrangement===Ir)if(c.nodeDiameterFormula===Jr)a.pj=Math.max(a.width,a.height);else{c=Math.abs(Math.sin(b));b=Math.abs(Math.cos(b));if(0===c)return a.width;if(0===b)return a.height;a.pj=Math.min(a.height/c,a.width/b)}else a.pj=c.nodeDiameterFormula===Jr?Math.max(a.width,a.height):Math.sqrt(a.width*a.width+a.height*a.height);return a.pj}\nna.Object.defineProperties(Yr.prototype,{diameter:{get:function(){return this.pj},set:function(a){this.pj!==a&&(this.pj=a)}},actualAngle:{get:function(){return this.C},set:function(a){this.C!==a&&(this.C=a)}}});Yr.className=\"CircularVertex\";function Zr(a){gq.call(this,a)}ma(Zr,gq);Zr.className=\"CircularEdge\";\nfunction $r(a){li.call(this);this.sh=null;this.po=0;this.Nd=(new M(100,100)).freeze();this.bn=!1;this.df=!0;this.gd=!1;this.xl=100;this.Gn=1;this.Pf=1E3;this.Jo=10;this.fp=Math;this.Yk=.05;this.Xk=50;this.Vk=150;this.Wk=0;this.yn=10;this.xn=5;a&&Object.assign(this,a)}ma($r,li);\n$r.prototype.cloneProtected=function(a){li.prototype.cloneProtected.call(this,a);a.Nd.assign(this.Nd);a.bn=this.bn;a.df=this.df;a.gd=this.gd;a.xl=this.xl;a.Gn=this.Gn;a.Pf=this.Pf;a.Jo=this.Jo;a.fp=this.fp;a.Yk=this.Yk;a.Xk=this.Xk;a.Vk=this.Vk;a.Wk=this.Wk;a.yn=this.yn;a.xn=this.xn};\n$r.prototype.serializeLayoutProperties=function(a,b){li.prototype.serializeLayoutProperties.call(this,a,b);a.arrangementSpacing={width:this.arrangementSpacing.width,height:this.arrangementSpacing.height};a.arrangesToOrigin=this.arrangesToOrigin;a.setsPortSpots=this.setsPortSpots;a.comments=this.comments;a.maxIterations=this.maxIterations;a.epsilonDistance=this.epsilonDistance;a.infinityDistance=this.infinityDistance;a.moveLimit=this.moveLimit;a.defaultSpringStiffness=this.defaultSpringStiffness;a.defaultSpringLength=\nthis.defaultSpringLength;a.defaultElectricalCharge=this.defaultElectricalCharge;a.defaultGravitationalMass=this.defaultGravitationalMass;a.defaultCommentSpringLength=this.defaultCommentSpringLength;a.defaultCommentElectricalCharge=this.defaultCommentElectricalCharge};\n$r.prototype.deserializeLayoutProperties=function(a,b,c,d,e){li.prototype.deserializeLayoutProperties.call(this,a,b,c,d,e);this.arrangementSpacing=new M(a.arrangementSpacing.width,a.arrangementSpacing.height);this.arrangesToOrigin=a.arrangesToOrigin;this.setsPortSpots=a.setsPortSpots;this.comments=a.comments;this.maxIterations=a.maxIterations;this.epsilonDistance=a.epsilonDistance;this.infinityDistance=a.infinityDistance;this.moveLimit=a.moveLimit;this.defaultSpringStiffness=a.defaultSpringStiffness;\nthis.defaultSpringLength=a.defaultSpringLength;this.defaultElectricalCharge=a.defaultElectricalCharge;this.defaultGravitationalMass=a.defaultGravitationalMass;this.defaultCommentSpringLength=a.defaultCommentSpringLength;this.defaultCommentElectricalCharge=a.defaultCommentElectricalCharge};$r.prototype.createNetwork=function(){return new as(this)};\n$r.prototype.doLayout=function(a){null===this.network&&(this.network=this.makeNetwork(a));if(!this.jw()){a=this.maxIterations;if(0<this.network.vertexes.count){this.network.fq();for(var b=this.network.vertexes.iterator;b.next();){var c=b.value;c.charge=this.electricalCharge(c);c.mass=this.gravitationalMass(c)}for(b=this.network.edges.iterator;b.next();)c=b.value,c.stiffness=this.springStiffness(c),c.length=this.springLength(c);this.cv();this.po=0;if(this.needsClusterLayout()){b=this.network;c=b.Gy();\nfor(var d=c.iterator;d.next();){this.network=d.value;for(var e=this.network.vertexes.iterator;e.next();){var f=e.value;f.Gd=f.vertexes.count;f.Gh=1;f.bk=null;f.Je=null}bs(this,0,a)}this.network=b;var g=d=c.iterator;d=this.arrangementSpacing;var h=g.count,k=!0;f=e=0;for(var l=Fa(),m=0;m<h+b.vertexes.count+2;m++)l[m]=null;h=0;g.reset();for(var n=N.alloc();g.next();)if(m=g.value,this.computeBounds(m,n),k)k=!1,e=n.x+n.width/2,f=n.y+n.height/2,l[0]=new J(n.x+n.width+d.width,n.y),l[1]=new J(n.x,n.y+n.height+\nd.height),h=2;else{var p=cs(l,h,e,f,n.width,n.height,d),r=l[p],q=new J(r.x+n.width+d.width,r.y),u=new J(r.x,r.y+n.height+d.height);p+1<h&&l.splice(p+1,0,null);l[p]=q;l[p+1]=u;h++;p=r.x-n.x;r=r.y-n.y;for(m=m.vertexes.iterator;m.next();)q=m.value,q.centerX+=p,q.centerY+=r}N.free(n);for(m=b.vertexes.iterator;m.next();)g=m.value,p=g.bounds,2>h?(e=p.x+p.width/2,f=p.y+p.height/2,l[0]=new J(p.x+p.width+d.width,p.y),l[1]=new J(p.x,p.y+p.height+d.height),h=2):(k=cs(l,h,e,f,p.width,p.height,d),n=l[k],r=new J(n.x+\np.width+d.width,n.y),p=new J(n.x,n.y+p.height+d.height),k+1<h&&l.splice(k+1,0,null),l[k]=r,l[k+1]=p,h++,g.centerX=n.x+g.width/2,g.centerY=n.y+g.height/2);Ia(l);for(d=c.iterator;d.next();){c=d.value;for(e=c.vertexes.iterator;e.next();)b.ig(e.value);for(c=c.edges.iterator;c.next();)b.am(c.value)}}ds(this,a);this.updateParts()}this.xl=a;this.network=null;this.isValidLayout=!0}};\n$r.prototype.needsClusterLayout=function(){if(3>this.network.vertexes.count)return!1;for(var a=0,b=0,c=this.network.vertexes.first().bounds,d=this.network.vertexes.iterator;d.next();){if(d.value.bounds.Ic(c)&&(a++,2<a))return!0;if(10<b)break;b++}return!1};$r.prototype.computeBounds=function(a,b){var c=!0;for(a=a.vertexes.iterator;a.next();){var d=a.value;c?(c=!1,b.set(d.bounds)):b.Nc(d.bounds)}return b};\nfunction bs(a,b,c){if(es(a,b)){var d=a.Pf;a.Pf*=1+1/(b+1);var e=fs(a,b),f=Math.max(0,Math.max(Math.min(a.network.vertexes.count,c*(b+1)/11),10));a.maxIterations+=f;bs(a,b+1,c);ds(a,f);gs(a,e);b=e.vertexes.xa();b.sort(function(a,b){return null===a||null===b||a===b?0:b.Gd-a.Gd});for(c=0;c<b.length;c++)hs(a,b[c]);a.Pf=d}}\nfunction es(a,b){if(10<b||3>a.network.vertexes.count)return!1;a.sh=a.network.vertexes.xa();a=a.sh;a.sort(function(a,b){return null===a||null===b||a===b?0:b.Gd-a.Gd});for(b=a.length-1;0<=b&&1>=a[b].Gd;)b--;return 1<a.length-b}\nfunction fs(a,b){for(var c=a.network,d=new as(a),e=0;e<a.sh.length;e++){var f=a.sh[e];if(1<f.Gd){d.ig(f);var g=new is;g.mt=f.Gd;g.nt=f.width;g.lt=f.height;g.pw=f.focus.x;g.qw=f.focus.y;null===f.Je&&(f.Je=new E);f.Je.add(g);f.Uv=f.Je.count-1}else break}for(f=c.edges.iterator;f.next();){var h=f.value;e=h.fromVertex;g=h.toVertex;e.network===d&&g.network===d?d.am(h):e.network===d?(h=e.bk,null===h&&(h=new E,e.bk=h),h.add(g),e.Gd--,e.Gh+=g.Gh):g.network===d&&(h=g.bk,null===h&&(h=new E,g.bk=h),h.add(e),\ng.Gd--,g.Gh+=e.Gh)}for(e=d.edges.iterator;e.next();)f=e.value,f.length*=Math.max(1,L.sqrt((f.fromVertex.Gh+f.toVertex.Gh)/(4*b+1)));for(b=d.vertexes.iterator;b.next();){e=b.value;var k=e.bk;if(null!==k&&0<k.count&&(g=e.Je.J(e.Je.count-1).mt-e.Gd,!(0>=g))){for(var l=h=0,m=k.count-g;m<k.count;m++){var n=k.J(m),p=null;for(f=n.edges.iterator;f.next();){var r=f.value;if(r.ay(n)===e){p=r;break}}null!==p&&(l+=p.length,h+=n.width*n.height)}f=e.centerX;k=e.centerY;m=e.width;n=e.height;p=e.focus;r=m*n;1>r&&\n(r=1);h=L.sqrt((h+r+l*l*4/(g*g))/r);g=(h-1)*m/2;h=(h-1)*n/2;e.bounds=new N(f-p.x-g,k-p.y-h,m+2*g,n+2*h);e.focus=new J(p.x+g,p.y+h)}}a.network=d;return c}function gs(a,b){for(var c=a.network.vertexes.iterator;c.next();){var d=c.value;d.network=b;if(null!==d.Je){var e=d.Je.J(d.Uv);d.Gd=e.mt;var f=e.pw,g=e.qw;d.bounds=new N(d.centerX-f,d.centerY-g,e.nt,e.lt);d.focus=new J(f,g);d.Uv--}}for(c=a.network.edges.iterator;c.next();)c.value.network=b;a.network=b}\nfunction hs(a,b){var c=b.bk;if(null!==c&&0!==c.count){var d=b.centerX,e=b.centerY,f=b.width,g=b.height;null!==b.Je&&0<b.Je.count&&(g=b.Je.J(0),f=g.nt,g=g.lt);f=L.sqrt(f*f+g*g)/2;for(var h=!1,k=g=0,l=0,m=b.vertexes.iterator;m.next();){var n=m.value;1>=n.Gd?k++:(h=!0,l++,g+=Math.atan2(b.centerY-n.centerY,b.centerX-n.centerX))}if(0!==k)for(0<l&&(g/=l),l=b=0,b=h?2*Math.PI/(k+1):2*Math.PI/k,0===k%2&&(l=b/2),1<c.count&&c.sort(function(a,b){return null===a||null===b||a===b?0:b.width*b.height-a.width*a.height}),\nh=0===k%2?0:1,c=c.iterator;c.next();)if(k=c.value,!(1<k.Gd||a.isFixed(k))){m=null;for(n=k.edges.iterator;n.next();){m=n.value;break}n=k.width;var p=k.height;n=L.sqrt(n*n+p*p)/2;m=f+m.length+n;n=g+(b*(h/2>>1)+l)*(0===h%2?1:-1);k.centerX=d+m*Math.cos(n);k.centerY=e+m*Math.sin(n);h++}}}\nfunction cs(a,b,c,d,e,f,g){var h=9E19,k=-1,l=0;a:for(;l<b;l++){var m=a[l],n=m.x-c,p=m.y-d;n=n*n+p*p;if(n<h){for(p=l-1;0<=p;p--)if(a[p].y>m.y&&a[p].x-m.x<e+g.width)continue a;for(p=l+1;p<b;p++)if(a[p].x>m.x&&a[p].y-m.y<f+g.height)continue a;k=l;h=n}}return k}$r.prototype.cv=function(){if(this.comments)for(var a=this.network.vertexes.iterator;a.next();)this.addComments(a.value)};\n$r.prototype.addComments=function(a){var b=a.node;if(null!==b)for(b=b.pv();b.next();){var c=b.value;if(\"Comment\"===c.category&&c.isVisible()){var d=this.network.Ki(c);null===d&&(d=this.network.Zj(c));d.charge=this.defaultCommentElectricalCharge;c=null;for(var e=d.destinationEdges;e.next();){var f=e.value;if(f.toVertex===a){c=f;break}}if(null===c)for(e=d.sourceEdges;e.next();)if(f=e.value,f.fromVertex===a){c=f;break}null===c&&(c=this.network.rk(a,d,null));c.length=this.defaultCommentSpringLength}}};\nfunction js(a,b){var c=a.bounds,d=c.x;a=c.y;var e=c.width;c=c.height;var f=b.bounds,g=f.x;b=f.y;var h=f.width;f=f.height;return d+e<g?a>b+f?(c=d+e-g,a=a-b-f,L.sqrt(c*c+a*a)):a+c<b?(d=d+e-g,a=a+c-b,L.sqrt(d*d+a*a)):g-(d+e):d>g+h?a>b+f?(c=d-g-h,a=a-b-f,L.sqrt(c*c+a*a)):a+c<b?(d=d-g-h,a=a+c-b,L.sqrt(d*d+a*a)):d-(g+h):a>b+f?a-(b+f):a+c<b?b-(a+c):.1}function ds(a,b){a.sh=null;for(b=a.po+b;a.po<b&&(a.po++,ks(a)););a.sh=null}\nfunction ks(a){null===a.sh&&(a.sh=a.network.vertexes.xa());var b=a.sh;if(0>=b.length)return!1;var c=b[0];c.forceX=0;c.forceY=0;for(var d=c.centerX,e=d,f=c=c.centerY,g=1;g<b.length;g++){var h=b[g];h.forceX=0;h.forceY=0;var k=h.centerX;h=h.centerY;d=Math.min(d,k);e=Math.max(e,k);c=Math.min(c,h);f=Math.max(f,h)}(e=e-d>f-c)?b.sort(function(a,b){return null===a||null===b||a===b?0:a.centerX-b.centerX}):b.sort(function(a,b){return null===a||null===b||a===b?0:a.centerY-b.centerY});c=a.Pf;var l=d=h=0;for(f=\n0;f<b.length;f++){g=b[f];d=g.bounds;h=g.focus;k=d.x+h.x;var m=d.y+h.y;d=g.charge*a.electricalFieldX(k,m);l=g.charge*a.electricalFieldY(k,m);d+=g.mass*a.gravitationalFieldX(k,m);l+=g.mass*a.gravitationalFieldY(k,m);g.forceX+=d;g.forceY+=l;for(var n=f+1;n<b.length;n++){var p=b[n];if(p!==g){d=p.bounds;h=p.focus;l=d.x+h.x;var r=d.y+h.y;if(k-l>c||l-k>c){if(e)break}else if(m-r>c||r-m>c){if(!e)break}else{var q=js(g,p);1>q?(d=a.randomNumberGenerator,null===d&&(a.randomNumberGenerator=d=new ls),q=d.random(),\nh=d.random(),k>l?(d=Math.abs(p.bounds.right-g.bounds.x),d=(1+d)*q):k<l?(d=Math.abs(p.bounds.x-g.bounds.right),d=-(1+d)*q):(d=Math.max(p.width,g.width),d=(1+d)*q-d/2),m>r?(l=Math.abs(p.bounds.bottom-g.bounds.y),l=(1+l)*h):k<l?(l=Math.abs(p.bounds.y-g.bounds.bottom),l=-(1+l)*h):(l=Math.max(p.height,g.height),l=(1+l)*h-l/2)):(h=-(g.charge*p.charge)/(q*q),d=(l-k)/q*h,l=(r-m)/q*h);g.forceX+=d;g.forceY+=l;p.forceX-=d;p.forceY-=l}}}}for(e=a.network.edges.iterator;e.next();)h=e.value,c=h.fromVertex,f=h.toVertex,\ng=c.bounds,k=c.focus,d=g.x+k.x,g=g.y+k.y,m=f.bounds,n=f.focus,k=m.x+n.x,m=m.y+n.y,n=js(c,f),1>n?(n=a.randomNumberGenerator,null===n&&(a.randomNumberGenerator=n=new ls),h=n.random(),n=n.random(),d=(d>k?1:-1)*(1+(f.width>c.width?f.width:c.width))*h,l=(g>m?1:-1)*(1+(f.height>c.height?f.height:c.height))*n):(h=h.stiffness*(n-h.length),d=(k-d)/n*h,l=(m-g)/n*h),c.forceX+=d,c.forceY+=l,f.forceX-=d,f.forceY-=l;for(e=d=0;e<b.length;e++)c=b[e],a.isFixed(c)?a.moveFixedVertex(c):d=Math.max(d,a.moveVertex(c)||\n0);return d>a.epsilonDistance*a.epsilonDistance}$r.prototype.moveVertex=function(a){var b=a.forceX,c=a.forceY,d=this.moveLimit;b<-d?b=-d:b>d&&(b=d);c<-d?c=-d:c>d&&(c=d);a.centerX+=b;a.centerY+=c;return b*b+c*c};$r.prototype.moveFixedVertex=function(){};$r.prototype.commitLayout=function(){this.Yv();this.commitNodes();this.isRouting&&this.commitLinks()};\n$r.prototype.Yv=function(){if(this.setsPortSpots)for(var a=this.network.edges.iterator;a.next();){var b=a.value.link;null!==b&&(b.fromSpot=Vc,b.toSpot=Vc)}};$r.prototype.commitNodes=function(){var a=0,b=0;if(this.arrangesToOrigin){var c=N.alloc();this.computeBounds(this.network,c);b=this.arrangementOrigin;a=b.x-c.x;b=b.y-c.y;N.free(c)}c=N.alloc();for(var d=this.network.vertexes.iterator;d.next();){var e=d.value;if(0!==a||0!==b)c.assign(e.bounds),c.x+=a,c.y+=b,e.bounds=c;e.commit()}N.free(c)};\n$r.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};$r.prototype.springStiffness=function(a){a=a.stiffness;return isNaN(a)?this.Yk:a};$r.prototype.springLength=function(a){a=a.length;return isNaN(a)?this.Xk:a};$r.prototype.electricalCharge=function(a){a=a.charge;return isNaN(a)?this.Vk:a};$r.prototype.electricalFieldX=function(){return 0};$r.prototype.electricalFieldY=function(){return 0};\n$r.prototype.gravitationalMass=function(a){a=a.mass;return isNaN(a)?this.Wk:a};$r.prototype.gravitationalFieldX=function(){return 0};$r.prototype.gravitationalFieldY=function(){return 0};$r.prototype.isFixed=function(a){return a.isFixed};\nna.Object.defineProperties($r.prototype,{currentIteration:{get:function(){return this.po}},arrangementSpacing:{get:function(){return this.Nd},set:function(a){this.Nd.A(a)||(this.Nd.assign(a),this.B())}},arrangesToOrigin:{get:function(){return this.bn},set:function(a){this.bn!==a&&(this.bn=a,this.B())}},setsPortSpots:{get:function(){return this.df},set:function(a){this.df!==a&&(this.df=\na,this.B())}},comments:{get:function(){return this.gd},set:function(a){this.gd!==a&&(this.gd=a,this.B())}},maxIterations:{get:function(){return this.xl},set:function(a){this.xl!==a&&0<=a&&(this.xl=a,this.B())}},epsilonDistance:{get:function(){return this.Gn},set:function(a){this.Gn!==a&&0<a&&(this.Gn=a,this.B())}},infinityDistance:{get:function(){return this.Pf},set:function(a){this.Pf!==\na&&1<a&&(this.Pf=a,this.B())}},moveLimit:{get:function(){return this.Jo},set:function(a){this.Jo!==a&&1<a&&(this.Jo=a,this.B())}},randomNumberGenerator:{get:function(){return this.fp},set:function(a){this.fp!==a&&(null!==a&&\"function\"!==typeof a.random&&C('ForceDirectedLayout.randomNumberGenerator must have a \"random()\" function on it: '+a),this.fp=a)}},defaultSpringStiffness:{get:function(){return this.Yk},\nset:function(a){this.Yk!==a&&(this.Yk=a,this.B())}},defaultSpringLength:{get:function(){return this.Xk},set:function(a){this.Xk!==a&&(this.Xk=a,this.B())}},defaultElectricalCharge:{get:function(){return this.Vk},set:function(a){this.Vk!==a&&(this.Vk=a,this.B())}},defaultGravitationalMass:{get:function(){return this.Wk},set:function(a){this.Wk!==a&&(this.Wk=a,this.B())}},defaultCommentSpringLength:{\nget:function(){return this.yn},set:function(a){this.yn!==a&&(this.yn=a,this.B())}},defaultCommentElectricalCharge:{get:function(){return this.xn},set:function(a){this.xn!==a&&(this.xn=a,this.B())}}});$r.className=\"ForceDirectedLayout\";function is(){this.qw=this.pw=this.lt=this.nt=this.mt=0}is.className=\"ForceDirectedSubnet\";function as(a){Sp.call(this,a)}ma(as,Sp);as.prototype.createVertex=function(){return new ms(this)};as.prototype.createEdge=function(){return new ns(this)};\nas.className=\"ForceDirectedNetwork\";function ms(a){fq.call(this,a);this.Ha=!1;this.Wa=this.C=NaN;this.Gh=this.Gd=this.Ga=this.M=0;this.Je=this.bk=null;this.Uv=0}ma(ms,fq);ms.prototype.serializeVertexProperties=function(a,b){fq.prototype.serializeVertexProperties.call(this,a,b);a.isFixed=this.isFixed;a.charge=this.charge;a.mass=this.mass};\nms.prototype.deserializeVertexProperties=function(a,b,c,d){fq.prototype.deserializeVertexProperties.call(this,a,b,c,d);this.isFixed=a.isFixed;this.charge=a.charge;this.mass=a.mass};\nna.Object.defineProperties(ms.prototype,{isFixed:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},charge:{get:function(){return this.C},set:function(a){this.C!==a&&(this.C=a)}},mass:{get:function(){return this.Wa},set:function(a){this.Wa!==a&&(this.Wa=a)}},forceX:{get:function(){return this.M},set:function(a){this.M!==a&&(this.M=a)}},forceY:{\nget:function(){return this.Ga},set:function(a){this.Ga!==a&&(this.Ga=a)}}});ms.className=\"ForceDirectedVertex\";function ns(a){gq.call(this,a);this.j=this.o=NaN}ma(ns,gq);ns.prototype.serializeEdgeProperties=function(a,b){gq.prototype.serializeEdgeProperties.call(this,a,b);a.stiffness=this.stiffness;a.length=this.length};ns.prototype.deserializeEdgeProperties=function(a,b,c,d){gq.prototype.deserializeEdgeProperties.call(this,a,b,c,d);this.stiffness=a.stiffness;this.length=a.length};\nna.Object.defineProperties(ns.prototype,{stiffness:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},length:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}}});ns.className=\"ForceDirectedEdge\";function ls(){var a=0;void 0===a&&(a=42);this.seed=a;this.Iy=48271;this.Ky=2147483647;this.Q=44488.07041494893;this.Ly=3399;this.Jy=1/2147483647;this.random()}\nls.prototype.random=function(){var a=this.seed%this.Q*this.Iy-this.seed/this.Q*this.Ly;0<a?this.seed=a:this.seed=a+this.Ky;return this.seed*this.Jy};ls.className=\"RandomNumberGenerator\";\nfunction os(a){li.call(this);this.Yb=this.Zd=25;this.K=0;this.Uk=ps;this.sl=qs;this.il=rs;this.Cj=4;this.Fk=ss;this.Wf=15;this.df=!0;this.vo=4;this.Ca=this.ji=this.ra=-1;this.pc=this.Qg=0;this.Ka=this.ud=this.vd=this.Yd=this.zb=null;this.Xg=0;this.Ko=this.Jj=null;this.Bc=0;this.Lo=null;this.Qc=new J;this.ve=[];this.ve.length=100;a&&Object.assign(this,a)}ma(os,li);\nos.prototype.cloneProtected=function(a){li.prototype.cloneProtected.call(this,a);a.Zd=this.Zd;a.Yb=this.Yb;a.K=this.K;a.Uk=this.Uk;a.sl=this.sl;a.il=this.il;a.Cj=this.Cj;a.Fk=this.Fk;a.Wf=this.Wf;a.df=this.df;a.vo=this.vo};\nos.prototype.serializeLayoutProperties=function(a,b){li.prototype.serializeLayoutProperties.call(this,a,b);a.layerSpacing=this.layerSpacing;a.columnSpacing=this.columnSpacing;a.direction=this.direction;a.cycleRemoveOption=this.cycleRemoveOption.name;a.layeringOption=this.layeringOption.name;a.initializeOption=this.initializeOption.name;a.iterations=this.iterations;a.aggressiveOption=this.aggressiveOption.name;a.packOption=this.packOption;a.setsPortSpots=this.setsPortSpots;a.linkSpacing=this.linkSpacing;\na.ra=this.ra;a.ji=this.ji;a.Ca=this.Ca;a.Qg=this.Qg;a.pc=this.pc;a.zb=this.zb;a.Xg=this.Xg;a.Bc=this.Bc;a.Qc={x:this.Qc.x,y:this.Qc.y}};\nos.prototype.deserializeLayoutProperties=function(a,b,c,d,e){li.prototype.deserializeLayoutProperties.call(this,a,b,c,d,e);this.layerSpacing=a.layerSpacing;this.columnSpacing=a.columnSpacing;this.direction=a.direction;this.cycleRemoveOption=Ua(os,a.cycleRemoveOption);this.layeringOption=Ua(os,a.layeringOption);this.initializeOption=Ua(os,a.initializeOption);this.iterations=a.iterations;this.aggressiveOption=Ua(os,a.aggressiveOption);this.packOption=a.packOption;this.setsPortSpots=a.setsPortSpots;\nthis.linkSpacing=a.linkSpacing;this.ra=a.ra;this.ji=a.ji;this.Ca=a.Ca;this.Qg=a.Qg;this.pc=a.pc;this.zb=a.zb;this.Xg=a.Xg;this.Bc=a.Bc;this.Qc=new J(this.Qc.x,this.Qc.y);e&&!d&&e.edges.each(function(a){if(!a.link&&a.fromVertex&&a.toVertex&&(null===a.fromVertex.node||null===a.toVertex.node)){for(var b=a.fromVertex;null!==b&&null===b.node&&0<b.qd.count;){var c=b.qd.J(0);if(c.link){a.link=c.link;break}b=c.fromVertex}if(!a.link){for(c=a.toVertex;null!==c&&null===c.node&&0<c.Cd.count;){var d=c.Cd.J(0);\nif(d.link){a.link=d.link;break}c=d.toVertex}if(!a.link)for(c=c.qd.iterator;c.next();)if(d=c.value,d.link&&d.fromVertex===b){a.link=d.link;break}}}})};os.prototype.gb=function(a){a.classType===os?0===a.name.indexOf(\"Aggressive\")?this.aggressiveOption=a:0===a.name.indexOf(\"Cycle\")?this.cycleRemoveOption=a:0===a.name.indexOf(\"Init\")?this.initializeOption=a:0===a.name.indexOf(\"Layer\")?this.layeringOption=a:C(\"Unknown enum value: \"+a):li.prototype.gb.call(this,a)};os.prototype.createNetwork=function(){return new ts(this)};\nos.prototype.doLayout=function(a){null===this.network&&(this.network=this.makeNetwork(a));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);this.ji=-1;this.pc=this.Qg=0;this.Lo=this.Ko=this.Jj=null;for(a=0;a<this.ve.length;a++)this.ve[a]=null;if(0<this.network.vertexes.count){this.network.fq();if(this.jw())return;this.cycleRemoveOption!==us&&this.removeCycles();for(a=this.network.vertexes.iterator;a.next();)a.value.layer=-1;this.ra=-1;this.assignLayers();for(a.reset();a.next();)this.ra=\nMath.max(this.ra,a.value.layer);this.cycleRemoveOption===us&&this.removeCycles();a=this.network;for(var b=[],c=a.edges.iterator;c.next();){var d=c.value;d.valid=!1;b.push(d)}for(c=0;c<b.length;c++){d=b[c];var e=d.fromVertex,f=d.toVertex;if(!(d.valid||(null===e.node&&null===e.data||null===f.node&&null===f.data)&&e.layer===f.layer)){var g=0,h=0,k=0,l=0;if(null!==d.link){h=d.link;if(null===h)continue;var m=e.node;g=f.node;if(null===m||null===g)continue;var n=h.fromNode;k=h.toNode;var p=h.fromPort;h=\nh.toPort;if(d.rev){l=n;var r=p;n=k;p=h;k=l;h=r}var q=e.focus;l=f.focus;var u=d.rev?f.bounds:e.bounds;r=J.alloc();m!==n?u.u()&&n.isVisible()?n.actualBounds.u()?(vo(n,p,yc,r),r.x+=n.actualBounds.x-u.x,r.y+=n.actualBounds.y-u.y):(vo(n,p,yc,r),r.u()||r.assign(q)):r.assign(q):u.u()?(vo(n,p,yc,r),r.u()||r.assign(q)):r.assign(q);n=d.rev?e.bounds:f.bounds;m=J.alloc();g!==k?n.u()&&k.isVisible()?k.actualBounds.u()?(vo(k,h,yc,m),m.x+=k.actualBounds.x-n.x,m.y+=k.actualBounds.y-n.y):(vo(k,h,yc,m),m.u()||m.assign(l)):\nm.assign(l):n.u()?(vo(k,h,yc,m),m.u()||m.assign(l)):m.assign(l);90===this.K||270===this.K?(g=Math.round((r.x-q.x)/this.Yb),k=r.x,h=Math.round((m.x-l.x)/this.Yb),l=m.x):(g=Math.round((r.y-q.y)/this.Yb),k=r.y,h=Math.round((m.y-l.y)/this.Yb),l=m.y);J.free(r);J.free(m);d.portFromColOffset=g;d.portFromPos=k;d.portToColOffset=h;d.portToPos=l}else d.portFromColOffset=0,d.portFromPos=0,d.portToColOffset=0,d.portToPos=0;r=e.layer;m=f.layer;n=0;u=d.link;if(null!==u){var v=u.fromPort,w=u.toPort;if(null!==v&&\nnull!==w){var z=u.fromNode;p=u.toNode;if(null!==z&&null!==p){var y=vs(this,!0),A=vs(this,!1),B=this.setsPortSpots?y:u.computeSpot(!0,v);q=this.setsPortSpots?A:u.computeSpot(!1,w);var F=u.isOrthogonal;B.Kc()&&B.zf(A)&&q.Kc()&&q.zf(y)?n=0:(y=u.getLinkPoint(z,v,B,!0,F,p,w,J.alloc()),A=u.getLinkDirection(z,v,y,B,!0,F,p,w),J.free(y),B.Qs()||A!==ws(this,d,!0)?this.setsPortSpots&&null!==z&&1===z.ports.count&&d.rev&&(n+=1):n+=1,B=u.getLinkPoint(p,w,q,!1,F,z,v,J.alloc()),u=u.getLinkDirection(p,w,B,q,!1,F,\nz,v),J.free(B),q.Qs()||u!==ws(this,d,!1)?this.setsPortSpots&&null!==p&&1===p.ports.count&&d.rev&&(n+=2):n+=2)}}}p=n;n=1===p||3===p?!0:!1;if(p=2===p||3===p?!0:!1)q=a.createVertex(),q.node=null,q.qf=1,q.layer=r,q.near=e,a.ig(q),e=a.rk(e,q,d.link),e.valid=!1,e.rev=d.rev,e.portFromColOffset=g,e.portToColOffset=0,e.portFromPos=k,e.portToPos=0,e=q;u=1;n&&u--;if(r-m>u&&0<r){d.valid=!1;q=a.createVertex();q.node=null;q.qf=2;q.layer=r-1;a.ig(q);e=a.rk(e,q,d.link);e.valid=!0;e.rev=d.rev;e.portFromColOffset=\np?0:g;e.portToColOffset=0;e.portFromPos=p?0:k;e.portToPos=0;e=q;for(r--;r-m>u&&0<r;)q=a.createVertex(),q.node=null,q.qf=3,q.layer=r-1,a.ig(q),e=a.rk(e,q,d.link),e.valid=!0,e.rev=d.rev,e.portFromColOffset=0,e.portToColOffset=0,e.portFromPos=0,e.portToPos=0,e=q,r--;e=a.rk(q,f,d.link);e.valid=!n;n&&(q.near=f);e.rev=d.rev;e.portFromColOffset=0;e.portToColOffset=h;e.portFromPos=0;e.portToPos=l}else d.valid=!0}}a=this.zb=[];for(b=0;b<=this.ra;b++)a[b]=0;for(b=this.network.vertexes.iterator;b.next();)b.value.index=\n-1;this.initializeIndices();this.ji=-1;for(c=this.pc=this.Qg=0;c<=this.ra;c++)a[c]>a[this.pc]&&(this.ji=a[c]-1,this.pc=c),a[c]<a[this.Qg]&&(this.Qg=c);this.Lo=[];for(c=0;c<a.length;c++)this.Lo[c]=[];for(b.reset();b.next();)a=b.value,this.Lo[a.layer][a.index]=a;this.Ca=-1;for(a=0;a<=this.ra;a++){b=xs(this,a);c=0;d=this.zb[a];for(f=0;f<d;f++)e=b[f],c+=this.nodeMinColumnSpace(e,!0),e.column=c,c+=1,c+=this.nodeMinColumnSpace(e,!1);this.Ca=Math.max(this.Ca,c-1);ys(this,a,b)}this.reduceCrossings();this.straightenAndPack();\nthis.updateParts()}this.network=null;this.isValidLayout=!0};os.prototype.linkMinLength=function(){return 1};function zs(a){var b=a.fromVertex.node||a.fromVertex.data;a=a.toVertex.node||a.toVertex.data;return null===b&&null===a?8:null===b||null===a?4:1}os.prototype.nodeMinLayerSpace=function(a,b){return null===a.node&&null===a.data?0:90===this.K||270===this.K?b?a.focus.y+10:a.bounds.height-a.focus.y+10:b?a.focus.x+10:a.bounds.width-a.focus.x+10};\nos.prototype.nodeMinColumnSpace=function(a,b){if(null===a.node&&null===a.data)return 0;var c=b?a.vk:a.uk;if(null!==c)return c;c=this.K;return 90===c||270===c?b?a.vk=a.focus.x/this.Yb+1|0:a.uk=(a.bounds.width-a.focus.x)/this.Yb+1|0:b?a.vk=a.focus.y/this.Yb+1|0:a.uk=(a.bounds.height-a.focus.y)/this.Yb+1|0};function As(a){null===a.Jj&&(a.Jj=[]);for(var b=0,c=a.network.vertexes.iterator;c.next();){var d=c.value;a.Jj[b]=d.layer;b++;a.Jj[b]=d.column;b++;a.Jj[b]=d.index;b++}return a.Jj}\nfunction Bs(a,b){var c=0;for(a=a.network.vertexes.iterator;a.next();){var d=a.value;d.layer=b[c];c++;d.column=b[c];c++;d.index=b[c];c++}}\nfunction Cs(a,b,c){var d=xs(a,b),e=a.zb[b];if(null===a.Ko||a.Ko.length<e*e)a.Ko=[];for(var f=a.Ko,g=0;g<e;g++){var h=0,k=d[g],l=k.near;if(null!==l&&l.layer===k.layer)if(k=l.index,k>g)for(var m=g+1;m<k;m++){var n=d[m];n.near===l&&n.qf===l.qf||h++}else for(m=g-1;m>k;m--)n=d[m],n.near===l&&n.qf===l.qf||h++;var p;if(0<=c)for(k=d[g].sourceEdgesArrayAccess,l=0;l<k.length;l++){var r=k[l];if(r.valid&&r.fromVertex.layer!==b)for(n=r.fromVertex.index,m=r.portToPos,r=r.portFromPos,p=l+1;p<k.length;p++){var q=\nk[p];if(q.valid&&q.fromVertex.layer!==b){var u=q.fromVertex.index;var v=q.portToPos;q=q.portFromPos;m<v&&(n>u||n===u&&r>q)&&h++;v<m&&(u>n||u===n&&q>r)&&h++}}}if(0>=c)for(k=d[g].destinationEdgesArrayAccess,l=0;l<k.length;l++)if(r=k[l],r.valid&&r.toVertex.layer!==b)for(n=r.toVertex.index,m=r.portToPos,r=r.portFromPos,p=l+1;p<k.length;p++)q=k[p],q.valid&&q.toVertex.layer!==b&&(u=q.toVertex.index,v=q.portToPos,q=q.portFromPos,r<q&&(n>u||n===u&&m>v)&&h++,q<r&&(u>n||u===n&&v>m)&&h++);f[g*e+g]=h;for(k=g+\n1;k<e;k++){var w=0,z=0;if(0<=c){h=d[g].sourceEdgesArrayAccess;var y=d[k].sourceEdgesArrayAccess;for(l=0;l<h.length;l++)if(r=h[l],r.valid&&r.fromVertex.layer!==b)for(n=r.fromVertex.index,r=r.portFromPos,p=0;p<y.length;p++)q=y[p],q.valid&&q.fromVertex.layer!==b&&(u=q.fromVertex.index,q=q.portFromPos,(n<u||n===u&&r<q)&&z++,(u<n||u===n&&q<r)&&w++)}if(0>=c)for(h=d[g].destinationEdgesArrayAccess,y=d[k].destinationEdgesArrayAccess,l=0;l<h.length;l++)if(r=h[l],r.valid&&r.toVertex.layer!==b)for(n=r.toVertex.index,\nm=r.portToPos,p=0;p<y.length;p++)q=y[p],q.valid&&q.toVertex.layer!==b&&(u=q.toVertex.index,v=q.portToPos,(n<u||n===u&&m<v)&&z++,(u<n||u===n&&v<m)&&w++);f[g*e+k]=w;f[k*e+g]=z}}ys(a,b,d);return f}os.prototype.countCrossings=function(){for(var a=0,b=0;b<=this.ra;b++)for(var c=Cs(this,b,1),d=this.zb[b],e=0;e<d;e++)for(var f=e;f<d;f++)a+=c[e*d+f];return a};\nfunction Ds(a){for(var b=0,c=0;c<=a.ra;c++){for(var d=a,e=c,f=xs(d,e),g=d.zb[e],h=0,k=0;k<g;k++){var l=f[k].destinationEdgesArrayAccess;if(null!==l)for(var m=0;m<l.length;m++){var n=l[m];if(n.valid&&n.toVertex.layer!==e){var p=n.fromVertex.column+n.portFromColOffset;var r=n.toVertex.column+n.portToColOffset;h+=(Math.abs(p-r)+1)*zs(n)}}}ys(d,e,f);b+=h}return b}\nos.prototype.normalize=function(){var a=Infinity;this.Ca=-1;for(var b=this.network.vertexes.iterator;b.next();){var c=b.value;a=Math.min(a,c.column-this.nodeMinColumnSpace(c,!0));this.Ca=Math.max(this.Ca,c.column+this.nodeMinColumnSpace(c,!1))}for(b.reset();b.next();)b.value.column-=a;this.Ca-=a};\nfunction Es(a,b,c){for(var d=xs(a,b),e=a.zb[b],f=[],g=0;g<e;g++){var h=d[g],k=null;0>=c&&(k=h.sourceEdgesArrayAccess);var l=null;0<=c&&(l=h.destinationEdgesArrayAccess);var m=0,n=0,p=h.near;null!==p&&p.layer===h.layer&&(m+=p.column-1,n++);if(null!==k)for(p=0;p<k.length;p++){h=k[p];var r=h.fromVertex;h.valid&&!h.rev&&r.layer!==b&&(m+=r.column,n++)}if(null!==l)for(k=0;k<l.length;k++)h=l[k],p=h.toVertex,h.valid&&!h.rev&&p.layer!==b&&(m+=p.column,n++);f[g]=0===n?-1:m/n}ys(a,b,d);return f}\nfunction Fs(a,b,c){for(var d=xs(a,b),e=a.zb[b],f=[],g=0;g<e;g++){var h=d[g],k=null;0>=c&&(k=h.sourceEdgesArrayAccess);var l=null;0<=c&&(l=h.destinationEdgesArrayAccess);var m=0,n=[],p=h.near;null!==p&&p.layer===h.layer&&(n[m]=p.column-1,m++);h=void 0;if(null!==k)for(p=0;p<k.length;p++){h=k[p];var r=h.fromVertex;h.valid&&!h.rev&&r.layer!==b&&(n[m]=r.column+h.portFromColOffset,m++)}if(null!==l)for(k=0;k<l.length;k++)h=l[k],p=h.toVertex,h.valid&&!h.rev&&p.layer!==b&&(n[m]=p.column+h.portToColOffset,\nm++);0===m?f[g]=-1:(n.sort(function(a,b){return a-b}),l=m>>1,f[g]=0!==(m&1)?n[l]:n[l-1]+n[l]>>1)}ys(a,b,d);return f}function Gs(a,b,c,d,e,f){if(b.component===d){b.component=c;if(e)for(var g=b.destinationEdges;g.next();){var h=g.value;var k=h.toVertex;var l=b.layer-k.layer;h=a.linkMinLength(h);l===h&&Gs(a,k,c,d,e,f)}if(f)for(g=b.sourceEdges;g.next();)h=g.value,k=h.fromVertex,l=k.layer-b.layer,h=a.linkMinLength(h),l===h&&Gs(a,k,c,d,e,f)}}\nfunction Hs(a,b,c,d,e,f){if(b.component===d){b.component=c;if(e)for(var g=b.destinationEdges;g.next();)Hs(a,g.value.toVertex,c,d,e,f);if(f)for(b=b.sourceEdges;b.next();)Hs(a,b.value.fromVertex,c,d,e,f)}}\nos.prototype.removeCycles=function(){for(var a=this.network.edges.iterator;a.next();)a.value.rev=!1;switch(this.Uk){default:case Is:a=this.network;var b=0,c=a.vertexes.count-1,d=[];d.length=c+1;for(var e=a.vertexes.iterator;e.next();)e.value.valid=!0;for(;null!==Js(a);){for(e=Ks(a);null!==e;)d[c]=e,c--,e.valid=!1,e=Ks(a);for(e=Ls(a);null!==e;)d[b]=e,b++,e.valid=!1,e=Ls(a);e=null;for(var f=0,g=this.network.vertexes.iterator;g.next();){var h=g.value;if(h.valid){for(var k=0,l=h.destinationEdges;l.next();)l.value.toVertex.valid&&\nk++;l=0;for(var m=h.sourceEdges;m.next();)m.value.fromVertex.valid&&l++;if(null===e||f<k-l)e=h,f=k-l}}null!==e&&(d[b]=e,b++,e.valid=!1)}for(b=0;b<a.vertexes.count;b++)d[b].index=b;for(d=a.edges.iterator;d.next();)b=d.value,b.fromVertex.index>b.toVertex.index&&(a.Am(b),b.rev=!0);break;case ps:for(d=this.network.vertexes.iterator;d.next();)a=d.value,a.jg=-1,a.finish=-1;for(a=this.network.edges.iterator;a.next();)a.value.forest=!1;this.Xg=0;for(d.reset();d.next();)b=d.value,0===b.sourceEdges.count&&\nMs(this,b);for(d.reset();d.next();)b=d.value,-1===b.jg&&Ms(this,b);for(a.reset();a.next();)d=a.value,d.forest||(b=d.fromVertex,c=b.finish,e=d.toVertex,f=e.finish,e.jg<b.jg&&c<f&&(this.network.Am(d),d.rev=!0));break;case us:a=this.network;b=a.vertexes.iterator;for(d=Infinity;b.next();)d=Math.min(d,b.value.layer);if(Infinity>d){if(0>d)for(b.reset();b.next();)b.value.layer-=d;d=[];for(b.reset();b.next();)c=b.value,e=d[c.layer],void 0===e?d[c.layer]=[c]:e.push(c);for(c=b=0;c<d.length;c++)if(e=d[c],!e||\n0===e.length)b++;else if(0<c)for(f=0;f<e.length;f++)e[f].layer-=b;for(d=a.edges.iterator;d.next();)b=d.value,b.fromVertex.layer<b.toVertex.layer&&(a.Am(b),b.rev=!0)}}};function Js(a){for(a=a.vertexes.iterator;a.next();){var b=a.value;if(b.valid)return b}return null}function Ks(a){for(a=a.vertexes.iterator;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.destinationEdges;d.next();)if(d.value.toVertex.valid){c=!1;break}if(c)return b}}return null}\nfunction Ls(a){for(a=a.vertexes.iterator;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.sourceEdges;d.next();)if(d.value.fromVertex.valid){c=!1;break}if(c)return b}}return null}function Ms(a,b){b.jg=a.Xg;a.Xg++;for(var c=b.destinationEdges;c.next();){var d=c.value,e=d.toVertex;-1===e.jg&&(d.forest=!0,Ms(a,e))}b.finish=a.Xg;a.Xg++}\nos.prototype.assignLayers=function(){switch(this.sl){case Ns:Os(this);break;case Ps:for(var a,b=this.network.vertexes.iterator;b.next();)a=Qs(this,b.value),this.ra=Math.max(a,this.ra);for(b.reset();b.next();)a=b.value,a.layer=this.ra-a.layer;break;default:case qs:Os(this);for(b=this.network.vertexes.iterator;b.next();)b.value.valid=!1;for(b.reset();b.next();)a=b.value,0===a.sourceEdges.count&&Rs(this,a);a=Infinity;for(b.reset();b.next();)a=Math.min(a,b.value.layer);this.ra=-1;for(b.reset();b.next();){var c=\nb.value;c.layer-=a;this.ra=Math.max(this.ra,c.layer)}}};function Os(a){for(var b=a.network.vertexes.iterator;b.next();){var c=Ss(a,b.value);a.ra=Math.max(c,a.ra)}}function Ss(a,b){var c=0;if(-1===b.layer){for(var d=b.destinationEdges;d.next();){var e=d.value,f=e.toVertex;e=a.linkMinLength(e);c=Math.max(c,Ss(a,f)+e)}b.layer=c}else c=b.layer;return c}\nfunction Qs(a,b){var c=0;if(-1===b.layer){for(var d=b.sourceEdges;d.next();){var e=d.value,f=e.fromVertex;e=a.linkMinLength(e);c=Math.max(c,Qs(a,f)+e)}b.layer=c}else c=b.layer;return c}\nfunction Rs(a,b){if(!b.valid){b.valid=!0;for(var c=b.destinationEdges;c.next();)Rs(a,c.value.toVertex);for(c=a.network.vertexes.iterator;c.next();)c.value.component=-1;for(var d=b.sourceEdgesArrayAccess,e=d.length,f=0;f<e;f++){var g=d[f],h=g.fromVertex,k=g.toVertex;g=a.linkMinLength(g);h.layer-k.layer>g&&Gs(a,h,0,-1,!0,!1)}for(Gs(a,b,1,-1,!0,!0);0!==b.component;){f=0;d=Infinity;h=0;k=null;for(g=a.network.vertexes.iterator;g.next();){var l=g.value;if(1===l.component){var m=0,n=!1,p=l.sourceEdgesArrayAccess;\ne=p.length;for(var r=0;r<e;r++){var q=p[r],u=q.fromVertex;m+=1;1!==u.component&&(f+=1,u=u.layer-l.layer,q=a.linkMinLength(q),d=Math.min(d,u-q))}p=l.destinationEdgesArrayAccess;e=p.length;for(r=0;r<e;r++)q=p[r].toVertex,--m,1!==q.component?--f:n=!0;(null===k||m<h)&&!n&&(k=l,h=m)}}if(0<f){for(c.reset();c.next();)e=c.value,1===e.component&&(e.layer+=d);b.component=0}else k.component=0}for(c=a.network.vertexes.iterator;c.next();)c.value.component=-1;for(Gs(a,b,1,-1,!0,!1);0!==b.component;){d=0;e=Infinity;\nf=0;h=null;for(k=a.network.vertexes.iterator;k.next();)if(g=k.value,1===g.component){l=0;m=!1;p=g.sourceEdgesArrayAccess;n=p.length;for(r=0;r<n;r++)q=p[r].fromVertex,l+=1,1!==q.component?d+=1:m=!0;p=g.destinationEdgesArrayAccess;n=p.length;for(r=0;r<n;r++)q=p[r],u=q.toVertex,--l,1!==u.component&&(--d,u=g.layer-u.layer,q=a.linkMinLength(q),e=Math.min(e,u-q));(null===h||l>f)&&!m&&(h=g,f=l)}if(0>d){for(c.reset();c.next();)d=c.value,1===d.component&&(d.layer-=e);b.component=0}else h.component=0}}}\nfunction ws(a,b,c){return 90===a.K?c&&!b.rev||!c&&b.rev?270:90:180===a.K?c&&!b.rev||!c&&b.rev?0:180:270===a.K?c&&!b.rev||!c&&b.rev?90:270:c&&!b.rev||!c&&b.rev?180:0}\nos.prototype.initializeIndices=function(){switch(this.il){default:case Ts:for(var a=this.network.vertexes.iterator;a.next();){var b=a.value,c=b.layer;b.index=this.zb[c];this.zb[c]++}break;case rs:a=this.network.vertexes.iterator;for(b=this.ra;0<=b;b--)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Us(this,c);break;case Vs:for(a=this.network.vertexes.iterator,b=0;b<=this.ra;b++)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Ws(this,c)}};\nfunction Us(a,b){var c=b.layer;b.index=a.zb[c];a.zb[c]++;b=b.destinationEdgesArrayAccess;for(c=!0;c;){c=!1;for(var d=0;d<b.length-1;d++){var e=b[d],f=b[d+1];e.portFromColOffset>f.portFromColOffset&&(c=!0,b[d]=f,b[d+1]=e)}}for(c=0;c<b.length;c++)d=b[c],d.valid&&(d=d.toVertex,-1===d.index&&Us(a,d))}\nfunction Ws(a,b){var c=b.layer;b.index=a.zb[c];a.zb[c]++;b=b.sourceEdgesArrayAccess;for(var d=!0;d;)for(d=!1,c=0;c<b.length-1;c++){var e=b[c],f=b[c+1];e.portToColOffset>f.portToColOffset&&(d=!0,b[c]=f,b[c+1]=e)}for(c=0;c<b.length;c++)d=b[c],d.valid&&(d=d.fromVertex,-1===d.index&&Ws(a,d))}\nos.prototype.reduceCrossings=function(){var a=this.countCrossings(),b=As(this),c,d;for(c=0;c<this.Cj;c++){for(d=0;d<=this.ra;d++)Xs(this,d,1),Ys(this,d,1);var e=this.countCrossings();e<a&&(a=e,b=As(this));for(d=this.ra;0<=d;d--)Xs(this,d,-1),Ys(this,d,-1);e=this.countCrossings();e<a&&(a=e,b=As(this))}Bs(this,b);for(c=0;c<this.Cj;c++){for(d=0;d<=this.ra;d++)Xs(this,d,0),Ys(this,d,0);e=this.countCrossings();e<a&&(a=e,b=As(this));for(d=this.ra;0<=d;d--)Xs(this,d,0),Ys(this,d,0);e=this.countCrossings();\ne<a&&(a=e,b=As(this))}Bs(this,b);var f,g,h;switch(this.Fk){case Zs:break;case $s:for(h=a+1;(d=this.countCrossings())<h;)for(h=d,c=this.ra;0<=c;c--)for(g=0;g<=c;g++){for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,-1)||f;e=this.countCrossings();e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,1)||f;e=this.countCrossings();e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=Ys(this,d,1)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=\nYs(this,d,-1)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,0)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=Ys(this,d,0)||f;e>=a?Bs(this,b):(a=e,b=As(this))}break;default:case ss:for(c=this.ra,g=0,h=a+1;(d=this.countCrossings())<h;){h=d;for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,-1)||f;e=this.countCrossings();e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,1)||f;e=this.countCrossings();e>=a?Bs(this,b):\n(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=Ys(this,d,1)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=Ys(this,d,-1)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=c;d>=g;d--)f=Ys(this,d,0)||f;e>=a?Bs(this,b):(a=e,b=As(this));for(f=!0;f;)for(f=!1,d=g;d<=c;d++)f=Ys(this,d,0)||f;e>=a?Bs(this,b):(a=e,b=As(this))}}Bs(this,b)};\nfunction Xs(a,b,c){var d=xs(a,b),e=a.zb[b],f=Fs(a,b,c),g=Es(a,b,c);for(c=0;c<e;c++)-1===g[c]&&(g[c]=d[c].column),-1===f[c]&&(f[c]=d[c].column);for(var h=!0,k;h;)for(h=!1,c=0;c<e-1;c++)if(f[c+1]<f[c]||f[c+1]===f[c]&&g[c+1]<g[c])h=!0,k=f[c],f[c]=f[c+1],f[c+1]=k,k=g[c],g[c]=g[c+1],g[c+1]=k,k=d[c],d[c]=d[c+1],d[c+1]=k;for(c=f=0;c<e;c++)k=d[c],k.index=c,f+=a.nodeMinColumnSpace(k,!0),k.column=f,f+=1,f+=a.nodeMinColumnSpace(k,!1);ys(a,b,d)}\nfunction Ys(a,b,c){var d=xs(a,b),e=a.zb[b];c=Cs(a,b,c);var f;var g=[];for(f=0;f<e;f++)g[f]=-1;var h=[];for(f=0;f<e;f++)h[f]=-1;for(var k=!1,l=!0;l;)for(l=!1,f=0;f<e-1;f++){var m=c[d[f].index*e+d[f+1].index],n=c[d[f+1].index*e+d[f].index],p=0,r=0,q=d[f].column,u=d[f+1].column,v=a.nodeMinColumnSpace(d[f],!0),w=a.nodeMinColumnSpace(d[f],!1),z=a.nodeMinColumnSpace(d[f+1],!0),y=a.nodeMinColumnSpace(d[f+1],!1);v=q-v+z;w=u-w+y;var A=d[f].sourceEdges.iterator;for(A.reset();A.next();)if(z=A.value,y=z.fromVertex,\nz.valid&&y.layer===b){for(z=0;d[z]!==y;)z++;z<f&&(p+=2*(f-z),r+=2*(f+1-z));z===f+1&&(p+=1);z>f+1&&(p+=4*(z-f),r+=4*(z-(f+1)))}A=d[f].destinationEdges.iterator;for(A.reset();A.next();)if(z=A.value,y=z.toVertex,z.valid&&y.layer===b){for(z=0;d[z]!==y;)z++;z===f+1&&(r+=1)}A=d[f+1].sourceEdges.iterator;for(A.reset();A.next();)if(z=A.value,y=z.fromVertex,z.valid&&y.layer===b){for(z=0;d[z]!==y;)z++;z<f&&(p+=2*(f+1-z),r+=2*(f-z));z===f&&(r+=1);z>f+1&&(p+=4*(z-(f+1)),r+=4*(z-f))}A=d[f+1].destinationEdges.iterator;\nfor(A.reset();A.next();)if(z=A.value,y=z.toVertex,z.valid&&y.layer===b){for(z=0;d[z]!==y;)z++;z===f&&(p+=1)}z=y=0;A=g[d[f].index];var B=h[d[f].index],F=g[d[f+1].index],K=h[d[f+1].index];-1!==A&&(y+=Math.abs(A-q),z+=Math.abs(A-w));-1!==B&&(y+=Math.abs(B-q),z+=Math.abs(B-w));-1!==F&&(y+=Math.abs(F-u),z+=Math.abs(F-v));-1!==K&&(y+=Math.abs(K-u),z+=Math.abs(K-v));if(r<p-.5||r===p&&n<m-.5||r===p&&n===m&&z<y-.5)l=k=!0,d[f].column=w,d[f+1].column=v,m=d[f],d[f]=d[f+1],d[f+1]=m}for(f=0;f<e;f++)d[f].index=\nf;ys(a,b,d);return k}\nos.prototype.straightenAndPack=function(){var a=0!==(this.Wf&1);var b=0!==(this.Wf&at);1E3<this.network.edges.count&&b&&(a=!1);if(a){var c=[];for(b=0;b<=this.ra;b++)c[b]=0;for(var d,e=this.network.vertexes.iterator;e.next();){var f=e.value;b=f.layer;d=f.column;f=this.nodeMinColumnSpace(f,!1);c[b]=Math.max(c[b],d+f)}for(e.reset();e.next();)f=e.value,b=f.layer,d=f.column,f.column=(8*(this.Ca-c[b])>>1)+8*d;this.Ca*=8}if(0!==(this.Wf&2))for(c=!0;c;){c=!1;for(b=this.pc+1;b<=this.ra;b++)c=bt(this,b,1)||\nc;for(b=this.pc-1;0<=b;b--)c=bt(this,b,-1)||c;c=bt(this,this.pc,0)||c}if(0!==(this.Wf&4)){for(b=this.pc+1;b<=this.ra;b++)ct(this,b,1);for(b=this.pc-1;0<=b;b--)ct(this,b,-1);ct(this,this.pc,0)}a&&(dt(this,-1),dt(this,1));if(0!==(this.Wf&2))for(c=!0;c;){c=!1;c=bt(this,this.pc,0)||c;for(b=this.pc+1;b<=this.ra;b++)c=bt(this,b,0)||c;for(b=this.pc-1;0<=b;b--)c=bt(this,b,0)||c}};function bt(a,b,c){for(var d=!1;et(a,b,c);)d=!0;return d}\nfunction et(a,b,c){var d,e=xs(a,b),f=a.zb[b],g=Es(a,b,-1);if(0<c)for(d=0;d<f;d++)g[d]=-1;var h=Es(a,b,1);if(0>c)for(d=0;d<f;d++)h[d]=-1;for(var k=!1,l=!0;l;)for(l=!1,d=0;d<f;d++){var m=e[d].column,n=a.nodeMinColumnSpace(e[d],!0),p=a.nodeMinColumnSpace(e[d],!1),r=0;0>d-1||m-e[d-1].column-1>n+a.nodeMinColumnSpace(e[d-1],!1)?r=m-1:r=m;n=d+1>=f||e[d+1].column-m-1>p+a.nodeMinColumnSpace(e[d+1],!0)?m+1:m;var q=p=0,u=0;if(0>=c)for(var v=e[d].sourceEdges.iterator;v.next();){var w=v.value;var z=w.fromVertex;\nif(w.valid&&z.layer!==b){var y=zs(w);var A=w.portFromColOffset;w=w.portToColOffset;z=z.column;p+=(Math.abs(m+w-(z+A))+1)*y;q+=(Math.abs(r+w-(z+A))+1)*y;u+=(Math.abs(n+w-(z+A))+1)*y}}if(0<=c)for(v=e[d].destinationEdges.iterator;v.next();)w=v.value,z=w.toVertex,w.valid&&z.layer!==b&&(y=zs(w),A=w.portFromColOffset,w=w.portToColOffset,z=z.column,p+=(Math.abs(m+A-(z+w))+1)*y,q+=(Math.abs(r+A-(z+w))+1)*y,u+=(Math.abs(n+A-(z+w))+1)*y);w=A=y=0;v=g[e[d].index];z=h[e[d].index];-1!==v&&(y+=Math.abs(v-m),A+=\nMath.abs(v-r),w+=Math.abs(v-n));-1!==z&&(y+=Math.abs(z-m),A+=Math.abs(z-r),w+=Math.abs(z-n));if(q<p||q===p&&A<y)l=k=!0,e[d].column=r;else if(u<p||u===p&&w<y)l=k=!0,e[d].column=n}ys(a,b,e);a.normalize();return k}\nfunction ct(a,b,c){var d=xs(a,b),e=a.zb[b],f=Fs(a,b,c),g=[];for(c=0;c<e;c++)g[c]=f[c];for(f=!0;f;)for(f=!1,c=0;c<e;c++){var h=d[c].column,k=a.nodeMinColumnSpace(d[c],!0),l=a.nodeMinColumnSpace(d[c],!1),m=0;if(-1===g[c])if(0===c&&c===e-1)m=h;else if(0===c){var n=d[c+1].column;n-h===l+a.nodeMinColumnSpace(d[c+1],!0)?m=h-1:m=h}else c===e-1?(n=d[c-1].column,m=h-n===k+a.nodeMinColumnSpace(d[c-1],!1)?h+1:h):(n=d[c-1].column,k=n+a.nodeMinColumnSpace(d[c-1],!1)+k+1,n=d[c+1].column,l=n-a.nodeMinColumnSpace(d[c+\n1],!0)-l-1,m=(k+l)/2|0);else 0===c&&c===e-1?m=g[c]:0===c?(n=d[c+1].column,l=n-a.nodeMinColumnSpace(d[c+1],!0)-l-1,m=Math.min(g[c],l)):c===e-1?(n=d[c-1].column,k=n+a.nodeMinColumnSpace(d[c-1],!1)+k+1,m=Math.max(g[c],k)):(n=d[c-1].column,k=n+a.nodeMinColumnSpace(d[c-1],!1)+k+1,n=d[c+1].column,l=n-a.nodeMinColumnSpace(d[c+1],!0)-l-1,k<g[c]&&g[c]<l?m=g[c]:k>=g[c]?m=k:l<=g[c]&&(m=l));m!==h&&(f=!0,d[c].column=m)}ys(a,b,d);a.normalize()}\nfunction ft(a,b){for(var c=!0,d=a.network.vertexes.iterator;d.next();){var e=d.value,f=a.nodeMinColumnSpace(e,!0),g=a.nodeMinColumnSpace(e,!1);if(e.column-f<=b&&e.column+g>=b){c=!1;break}}a=!1;if(c)for(d.reset();d.next();)c=d.value,c.column>b&&(--c.column,a=!0);return a}\nfunction gt(a,b){var c=b+1;var d,e=[],f=[];for(d=0;d<=a.ra;d++)e[d]=!1,f[d]=!1;for(var g=a.network.vertexes.iterator;g.next();){d=g.value;var h=d.column-a.nodeMinColumnSpace(d,!0),k=d.column+a.nodeMinColumnSpace(d,!1);h<=b&&k>=b&&(e[d.layer]=!0);h<=c&&k>=c&&(f[d.layer]=!0)}h=!0;c=!1;for(d=0;d<=a.ra;d++)h=h&&!(e[d]&&f[d]);if(h)for(g.reset();g.next();)a=g.value,a.column>b&&(--a.column,c=!0);return c}\nfunction dt(a,b){for(var c=0;c<=a.Ca;c++)for(;ft(a,c););a.normalize();for(c=0;c<a.Ca;c++)for(;gt(a,c););a.normalize();var d;if(0<b)for(c=0;c<=a.Ca;c++){var e=As(a);var f=Ds(a);for(d=f+1;f<d;){d=f;ht(a,c,1);var g=Ds(a);g>f?Bs(a,e):g<f&&(f=g,e=As(a))}}if(0>b)for(c=a.Ca;0<=c;c--)for(e=As(a),f=Ds(a),d=f+1;f<d;)d=f,ht(a,c,-1),g=Ds(a),g>f?Bs(a,e):g<f&&(f=g,e=As(a));a.normalize()}\nfunction ht(a,b,c){a.Bc=0;for(var d=a.network.vertexes.iterator;d.next();)d.value.component=-1;if(0<c)for(d.reset();d.next();){var e=d.value;e.column-a.nodeMinColumnSpace(e,!0)<=b&&(e.component=a.Bc)}if(0>c)for(d.reset();d.next();)e=d.value,e.column+a.nodeMinColumnSpace(e,!1)>=b&&(e.component=a.Bc);a.Bc++;for(d.reset();d.next();)b=d.value,-1===b.component&&(Hs(a,b,a.Bc,-1,!0,!0),a.Bc++);var f;b=[];for(f=0;f<a.Bc*a.Bc;f++)b[f]=!1;e=[];for(f=0;f<(a.ra+1)*(a.Ca+1);f++)e[f]=-1;for(d.reset();d.next();){f=\nd.value;for(var g=f.layer,h=Math.max(0,f.column-a.nodeMinColumnSpace(f,!0)),k=Math.min(a.Ca,f.column+a.nodeMinColumnSpace(f,!1));h<=k;h++)e[g*(a.Ca+1)+h]=f.component}for(f=0;f<=a.ra;f++){if(0<c)for(g=0;g<a.Ca;g++)-1!==e[f*(a.Ca+1)+g]&&-1!==e[f*(a.Ca+1)+g+1]&&e[f*(a.Ca+1)+g]!==e[f*(a.Ca+1)+g+1]&&(b[e[f*(a.Ca+1)+g]*a.Bc+e[f*(a.Ca+1)+g+1]]=!0);if(0>c)for(g=a.Ca;0<g;g--)-1!==e[f*(a.Ca+1)+g]&&-1!==e[f*(a.Ca+1)+g-1]&&e[f*(a.Ca+1)+g]!==e[f*(a.Ca+1)+g-1]&&(b[e[f*(a.Ca+1)+g]*a.Bc+e[f*(a.Ca+1)+g-1]]=!0)}e=\n[];for(f=0;f<a.Bc;f++)e[f]=!0;g=[];for(g.push(0);0!==g.length;)if(k=g[g.length-1],g.pop(),e[k])for(e[k]=!1,f=0;f<a.Bc;f++)b[k*a.Bc+f]&&g.splice(0,0,f);if(0<c)for(d.reset();d.next();)a=d.value,e[a.component]&&--a.column;if(0>c)for(d.reset();d.next();)c=d.value,e[c.component]&&(c.column+=1)}\nos.prototype.commitLayout=function(){if(this.setsPortSpots)for(var a=vs(this,!0),b=vs(this,!1),c=this.network.edges.iterator;c.next();){var d=c.value.link;null!==d&&(d.fromSpot=a,d.toSpot=b)}this.commitNodes();this.gv();this.isRouting&&this.commitLinks()};function vs(a,b){return 270===a.K?b?cd:fd:90===a.K?b?fd:cd:180===a.K?b?dd:ed:b?ed:dd}\nos.prototype.commitNodes=function(){this.Yd=[];this.vd=[];this.ud=[];this.Ka=[];for(var a=0;a<=this.ra;a++)this.Yd[a]=0,this.vd[a]=0,this.ud[a]=0,this.Ka[a]=0;for(a=this.network.vertexes.iterator;a.next();){var b=a.value,c=b.layer;this.Yd[c]=Math.max(this.Yd[c],this.nodeMinLayerSpace(b,!0));this.vd[c]=Math.max(this.vd[c],this.nodeMinLayerSpace(b,!1))}b=0;c=this.Zd;for(var d=0;d<=this.ra;d++){var e=c;0>=this.Yd[d]+this.vd[d]&&(e=0);0<d&&(b+=e/2);90===this.K||0===this.K?(b+=this.vd[d],this.ud[d]=b,\nb+=this.Yd[d]):(b+=this.Yd[d],this.ud[d]=b,b+=this.vd[d]);d<this.ra&&(b+=e/2);this.Ka[d]=b}c=b;b=this.arrangementOrigin;for(d=0;d<=this.ra;d++)270===this.K?this.ud[d]=b.y+this.ud[d]:90===this.K?(this.ud[d]=b.y+c-this.ud[d],this.Ka[d]=c-this.Ka[d]):180===this.K?this.ud[d]=b.x+this.ud[d]:(this.ud[d]=b.x+c-this.ud[d],this.Ka[d]=c-this.Ka[d]);a.reset();for(c=d=Infinity;a.next();){e=a.value;var f=e.layer,g=e.column|0;if(270===this.K||90===this.K){var h=b.x+this.Yb*g;f=this.ud[f]}else h=this.ud[f],f=b.y+\nthis.Yb*g;e.centerX=h;e.centerY=f;d=Math.min(e.x,d);c=Math.min(e.y,c)}d=b.x-d;b=b.y-c;this.Qc=new J(d,b);for(a.reset();a.next();)c=a.value,c.x+=d,c.y+=b,c.commit()};\nos.prototype.gv=function(){for(var a=0,b=this.Zd,c=0;c<=this.ra;c++)a+=this.Yd[c],a+=this.vd[c];a+=this.ra*b;b=[];c=this.Yb*this.Ca;for(var d=this.maxLayer;0<=d;d--)270===this.K?0===d?b.push(new N(0,0,c,Math.abs(this.Ka[0]))):b.push(new N(0,this.Ka[d-1],c,Math.abs(this.Ka[d-1]-this.Ka[d]))):90===this.K?0===d?b.push(new N(0,this.Ka[0],c,Math.abs(this.Ka[0]-a))):b.push(new N(0,this.Ka[d],c,Math.abs(this.Ka[d-1]-this.Ka[d]))):180===this.K?0===d?b.push(new N(0,0,Math.abs(this.Ka[0]),c)):b.push(new N(this.Ka[d-\n1],0,Math.abs(this.Ka[d-1]-this.Ka[d]),c)):0===d?b.push(new N(this.Ka[0],0,Math.abs(this.Ka[0]-a),c)):b.push(new N(this.Ka[d],0,Math.abs(this.Ka[d-1]-this.Ka[d]),c));this.commitLayers(b,this.Qc)};os.prototype.commitLayers=function(){};\nos.prototype.commitLinks=function(){for(var a=this.network.edges.iterator,b;a.next();)b=a.value.link,null!==b&&(b.Hh(),b.ak(),b.rf());for(a.reset();a.next();)b=a.value.link,null!==b&&b.pg();for(a.reset();a.next();){var c=a.value;b=c.link;if(null!==b){b.Hh();var d=b,e=d.fromNode,f=d.toNode,g=d.fromPort,h=d.toPort;if(null!==e){var k=e.findVisibleNode();null!==k&&k!==e&&(e=k,g=k.port)}null!==f&&(k=f.findVisibleNode(),null!==k&&k!==f&&(f=k,h=k.port));var l=b.computeSpot(!0,g);k=b.computeSpot(!1,h);var m=\nc.fromVertex,n=c.toVertex;if(c.valid){if(b.curve===Yf&&4===b.pointsCount)if(m.column===n.column)c=b.getLinkPoint(e,g,l,!0,!1,f,h),g=b.getLinkPoint(f,h,k,!1,!1,e,g),c.u()||c.set(e.actualBounds.center),g.u()||g.set(f.actualBounds.center),b.ak(),b.pf(c.x,c.y),b.pf((2*c.x+g.x)/3,(2*c.y+g.y)/3),b.pf((c.x+2*g.x)/3,(c.y+2*g.y)/3),b.pf(g.x,g.y);else{var p=!1,r=!1;null!==g&&l===rc&&(p=!0);null!==h&&k===rc&&(r=!0);if(p||r){var q=b.i(0).x;c=b.i(0).y;m=b.i(3).x;d=b.i(3).y;if(p){if(90===this.K||270===this.K){p=\nq;var u=(c+d)/2}else p=(q+m)/2,u=c;b.L(1,p,u);l=b.getLinkPoint(e,g,l,!0,!1,f,h);l.u()||l.set(e.actualBounds.center);b.L(0,l.x,l.y)}r&&(90===this.K||270===this.K?(l=m,c=(c+d)/2):(l=(q+m)/2,c=d),b.L(2,l,c),e=b.getLinkPoint(f,h,k,!1,!1,e,g),e.u()||e.set(f.actualBounds.center),b.L(3,e.x,e.y))}}b.rf()}else if(m.layer===n.layer)b.rf();else{p=r=!1;u=this.Zd;q=b.firstPickIndex+1;if(b.isOrthogonal){p=!0;var v=b.pointsCount;4<v&&b.points.removeRange(2,v-3)}else if(b.curve===Yf)r=!0,v=b.pointsCount,4<v&&b.points.removeRange(2,\nv-3),4===v&&(q=2);else{v=b.pointsCount;var w=l===rc,z=k===rc;2<v&&w&&z?b.points.removeRange(1,v-2):3<v&&w&&!z?b.points.removeRange(1,v-3):3<v&&!w&&z?b.points.removeRange(2,v-2):4<v&&!w&&!z&&b.points.removeRange(2,v-3)}if(c.rev){for(;null!==n&&m!==n;){var y=v=null;for(w=n.sourceEdges.iterator;w.next()&&(z=w.value,z.link!==c.link||(v=z.fromVertex,y=z.toVertex,null!==v.node)););if(null===v)break;if(v!==m){w=b.i(q-1).x;z=b.i(q-1).y;var A=v.centerX;var B=v.centerY;if(p)180===this.K||0===this.K?q===b.firstPickIndex+\n1?(b.l(q++,w,z),b.l(q++,w,B)):(null!==y?y.centerY:z)!==B&&(y=this.Ka[v.layer-1]+this.Qc.x,b.l(q++,y,z),b.l(q++,y,B)):q===b.firstPickIndex+1?(b.l(q++,w,z),b.l(q++,A,z)):(null!==y?y.centerX:w)!==A&&(y=this.Ka[v.layer-1]+this.Qc.y,b.l(q++,w,y),b.l(q++,A,y));else if(q===b.firstPickIndex+1){y=Math.max(10,this.Yd[n.layer]);var F=Math.max(10,this.vd[n.layer]);if(r)180===this.K?A<=n.bounds.x?(n=n.bounds.x,b.l(q++,n-y,B),b.l(q++,n,B),b.l(q++,n+F,B)):(b.l(q++,A-y,B),b.l(q++,A,B),b.l(q++,A+F,B)):90===this.K?\nB>=n.bounds.bottom?(n=n.bounds.y+n.bounds.height,b.l(q++,A,n+F),b.l(q++,A,n),b.l(q++,A,n-y)):(b.l(q++,A,B+F),b.l(q++,A,B),b.l(q++,A,B-y)):270===this.K?B<=n.bounds.y?(n=n.bounds.y,b.l(q++,A,n-y),b.l(q++,A,n),b.l(q++,A,n+F)):(b.l(q++,A,B-y),b.l(q++,A,B),b.l(q++,A,B+F)):0===this.K&&(A>=n.bounds.right?(n=n.bounds.x+n.bounds.width,b.l(q++,n+F,B),b.l(q++,n,B),b.l(q++,n-y,B)):(b.l(q++,A+F,B),b.l(q++,A,B),b.l(q++,A-y,B)));else{b.l(q++,w,z);var K=0;if(180===this.K||0===this.K){if(180===this.K?A>=n.bounds.right:\nA<=n.bounds.x)K=(0===this.K?-y:F)/2;b.l(q++,w+K,B)}else{if(270===this.K?B>=n.bounds.bottom:B<=n.bounds.y)K=(90===this.K?-y:F)/2;b.l(q++,A,z+K)}b.l(q++,A,B)}}else y=Math.max(10,this.Yd[v.layer]),F=Math.max(10,this.vd[v.layer]),r?180===this.K?(b.l(q++,A-y-u,B),b.l(q++,Math.min(A-y+u/2,A),B),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,Math.max(A+F-u/2,A),B),b.l(q++,A+F+u,B)):90===this.K?(b.l(q++,A,B+F+u),b.l(q++,A,Math.max(B+F-u/2,B)),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,A,Math.min(B-y+u/2,B)),b.l(q++,A,B-y-u)):\n270===this.K?(b.l(q++,A,B-y-u),b.l(q++,A,Math.min(B-y+u/2,B)),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,A,Math.max(B+F-u/2,B)),b.l(q++,A,B+F+u)):(b.l(q++,A+F+u,B),b.l(q++,Math.max(A+F-u/2,A),B),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,Math.min(A-y+u/2,A),B),b.l(q++,A-y-u,B)):b.l(q++,A,B)}n=v}if(null===h||l!==rc||p)if(w=b.i(q-1).x,z=b.i(q-1).y,A=b.i(q).x,B=b.i(q).y,p)u=this.vd[m.layer],180===this.K||0===this.K?(p=z,p>=m.bounds.y&&p<=m.bounds.bottom&&(180===this.K?A>=m.bounds.x:A<=m.bounds.right)&&(n=m.centerX+(180===\nthis.K?-u:u),p<m.bounds.y+m.bounds.height/2?p=m.bounds.y-this.Yb/2:p=m.bounds.bottom+this.Yb/2,b.l(q++,n,z),b.l(q++,n,p)),b.l(q++,A,p)):(p=w,p>=m.bounds.x&&p<=m.bounds.right&&(270===this.K?B>=m.bounds.y:B<=m.bounds.bottom)&&(n=m.centerY+(270===this.K?-u:u),p<m.bounds.x+m.bounds.width/2?p=m.bounds.x-this.Yb/2:p=m.bounds.right+this.Yb/2,b.l(q++,w,n),b.l(q++,p,n)),b.l(q++,p,B)),b.l(q++,A,B);else if(r)y=Math.max(10,this.Yd[m.layer]),F=Math.max(10,this.vd[m.layer]),180===this.K&&A>=m.bounds.x?(n=m.bounds.x+\nm.bounds.width,b.L(q-2,n,z),b.L(q-1,n+F,z)):90===this.K&&B<=m.bounds.bottom?(n=m.bounds.y,b.L(q-2,w,n),b.L(q-1,w,n-y)):270===this.K&&B>=m.bounds.y?(n=m.bounds.y+m.bounds.height,b.L(q-2,w,n),b.L(q-1,w,n+F)):0===this.K&&A<=m.bounds.right&&(n=m.bounds.x,b.L(q-2,n,z),b.L(q-1,n-y,z));else{y=Math.max(10,this.Yd[m.layer]);F=Math.max(10,this.vd[m.layer]);p=0;if(180===this.K||0===this.K){if(180===this.K?A<=m.bounds.x:A>=m.bounds.right)p=(0===this.K?F:-y)/2;b.l(q++,A+p,z)}else{if(270===this.K?B<=m.bounds.y:\nB>=m.bounds.bottom)p=(90===this.K?F:-y)/2;b.l(q++,w,B+p)}b.l(q++,A,B)}}else{for(;null!==m&&m!==n;){y=v=null;for(m=m.destinationEdges.iterator;m.next()&&(w=m.value,w.link!==c.link||(v=w.toVertex,y=w.fromVertex,null!==y.node&&(y=null),null!==v.node)););if(null===v)break;v!==n&&(w=b.i(q-1).x,z=b.i(q-1).y,A=v.centerX,B=v.centerY,p?180===this.K||0===this.K?(null!==y?y.centerY:z)!==B&&(y=this.Ka[v.layer]+this.Qc.x,q===b.firstPickIndex+1&&(y=0===this.K?Math.max(y,w):Math.min(y,w)),b.l(q++,y,z),b.l(q++,y,\nB)):(null!==y?y.centerX:w)!==A&&(y=this.Ka[v.layer]+this.Qc.y,q===b.firstPickIndex+1&&(y=90===this.K?Math.max(y,z):Math.min(y,z)),b.l(q++,w,y),b.l(q++,A,y)):(y=Math.max(10,this.Yd[v.layer]),F=Math.max(10,this.vd[v.layer]),r?180===this.K?(b.l(q++,A+F+u,B),b.l(q++,Math.max(A+F-u/2,A),B),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,Math.min(A-y+u/2,A),B),b.l(q++,A-y-u,B)):90===this.K?(b.l(q++,A,B-y-u),b.l(q++,A,Math.min(B-y+u/2,B)),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,A,Math.max(B+F-u/2,B)),b.l(q++,A,B+F+u)):270===\nthis.K?(b.l(q++,A,B+F+u),b.l(q++,A,Math.max(B+F-u/2,B)),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,A,Math.min(B-y+u/2,B)),b.l(q++,A,B-y-u)):(b.l(q++,A-y-u,B),b.l(q++,Math.min(A-y+u/2,A),B),b.l(q++,A,B),b.l(q++,A,B),b.l(q++,Math.max(A+F-u/2,A),B),b.l(q++,A+F+u,B)):180===this.K?(b.l(q++,A+F,B),b.l(q++,A-y,B)):90===this.K?(b.l(q++,A,B-y),b.l(q++,A,B+F)):270===this.K?(b.l(q++,A,B+F),b.l(q++,A,B-y)):(b.l(q++,A-y,B),b.l(q++,A+F,B))));m=v}p&&(w=b.i(q-1).x,z=b.i(q-1).y,A=b.i(q).x,B=b.i(q).y,180===this.K||0===this.K?\nz!==B&&(y=0===this.K?Math.min(Math.max((A+w)/2,this.Ka[n.layer]+this.Qc.x),A):Math.max(Math.min((A+w)/2,this.Ka[n.layer]+this.Qc.x),A),b.l(q++,y,z),b.l(q++,y,B)):w!==A&&(y=90===this.K?Math.min(Math.max((B+z)/2,this.Ka[n.layer]+this.Qc.y),B):Math.max(Math.min((B+z)/2,this.Ka[n.layer]+this.Qc.y),B),b.l(q++,w,y),b.l(q++,A,y)))}null!==d&&r&&(null!==g&&(l===rc&&(l=b.i(0),d=b.i(2),l.A(d)||b.L(1,(l.x+d.x)/2,(l.y+d.y)/2)),l=b.getLinkPoint(e,g,rc,!0,!1,f,h),l.u()||l.set(e.actualBounds.center),b.L(0,l.x,l.y)),\nnull!==h&&(k===rc&&(k=b.i(b.pointsCount-1),l=b.i(b.pointsCount-3),k.A(l)||b.L(b.pointsCount-2,(k.x+l.x)/2,(k.y+l.y)/2)),e=b.getLinkPoint(f,h,rc,!1,!1,e,g),e.u()||e.set(f.actualBounds.center),b.L(b.pointsCount-1,e.x,e.y)));b.rf();c.commit()}}}this.avoidOrthogonalOverlaps()};\nos.prototype.avoidOrthogonalOverlaps=function(){if(!(0>=this.linkSpacing)){for(var a=new E,b=this.network.edges.iterator;b.next();){var c=b.value.link;null!==c&&c.isOrthogonal&&!a.contains(c)&&a.add(c)}if(0<a.count)if(90===this.K||270===this.K){b=0;c=[];for(a=a.iterator;a.next();){var d=a.value;if(null!==d&&d.isOrthogonal)for(var e=2;e<d.pointsCount-3;e++){var f=d.i(e);var g=d.i(e+1);if(this.w(f.y,g.y)&&!this.w(f.x,g.x)){var h=new it;h.layer=Math.floor(f.y/2);var k=d.i(0),l=d.i(d.pointsCount-1);h.first=\nk.x*k.x+k.y;h.Xb=l.x*l.x+l.y;h.cd=Math.min(f.x,g.x);h.sc=Math.max(f.x,g.x);h.index=e;h.link=d;if(e+2<d.pointsCount){k=d.i(e-1);l=d.i(e+2);var m=0;k.y<f.y?m=l.y<f.y?3:f.x<g.x?2:1:k.y>f.y&&(m=l.y>f.y?0:g.x<f.x?2:1);h.j=m}c.push(h)}}}if(1<c.length)for(c.sort(this.By),a=0;a<c.length;){f=c[a].layer;for(d=a+1;d<c.length&&c[d].layer===f;)d++;if(1<d-a)for(f=a;f<d;){g=c[f].sc;for(e=a+1;e<d&&c[e].cd<g;)g=Math.max(g,c[e].sc),e++;g=e-f;if(1<g){this.Wi(c,this.ct,f,f+g);m=1;h=c[f].Xb;for(k=f;k<e;k++)l=c[k],l.Xb!==\nh&&(m++,h=l.Xb);this.Wi(c,this.Ay,f,f+g);var n=1;h=c[f].first;for(k=f;k<e;k++)l=c[k],l.first!==h&&(n++,h=l.first);k=!0;l=n;m<n?(k=!1,l=m,h=c[f].Xb,this.Wi(c,this.ct,f,f+g)):h=c[f].first;m=0;for(n=f;n<e;n++){var p=c[n];(k?p.first:p.Xb)!==h&&(m++,h=k?p.first:p.Xb);var r=p.link;f=r.i(p.index);g=r.i(p.index+1);var q=this.linkSpacing*(m-(l-1)/2);b++;r.Hh();r.L(p.index,f.x,f.y+q);r.L(p.index+1,g.x,g.y+q);r.rf()}}f=e}a=d}}else{b=0;c=[];for(a=a.iterator;a.next();)if(d=a.value,null!==d&&d.isOrthogonal)for(e=\n2;e<d.pointsCount-3;e++)f=d.i(e),g=d.i(e+1),this.w(f.x,g.x)&&!this.w(f.y,g.y)&&(h=new it,h.layer=Math.floor(f.x/2),k=d.i(0),l=d.i(d.pointsCount-1),h.first=k.x+k.y*k.y,h.Xb=l.x+l.y*l.y,h.cd=Math.min(f.y,g.y),h.sc=Math.max(f.y,g.y),h.index=e,h.link=d,e+2<d.pointsCount&&(k=d.i(e-1),l=d.i(e+2),m=0,k.x<f.x?m=l.x<f.x?3:f.y<g.y?2:1:k.x>f.x&&(m=l.x>f.x?0:g.y<f.y?2:1),h.j=m),c.push(h));if(1<c.length)for(c.sort(this.By),a=0;a<c.length;){f=c[a].layer;for(d=a+1;d<c.length&&c[d].layer===f;)d++;if(1<d-a)for(f=\na;f<d;){g=c[f].sc;for(e=a+1;e<d&&c[e].cd<g;)g=Math.max(g,c[e].sc),e++;g=e-f;if(1<g){this.Wi(c,this.ct,f,f+g);m=1;h=c[f].Xb;for(k=f;k<e;k++)l=c[k],l.Xb!==h&&(m++,h=l.Xb);this.Wi(c,this.Ay,f,f+g);n=1;h=c[f].first;for(k=f;k<e;k++)l=c[k],l.first!==h&&(n++,h=l.first);k=!0;l=n;m<n?(k=!1,l=m,h=c[f].Xb,this.Wi(c,this.ct,f,f+g)):h=c[f].first;m=0;for(n=f;n<e;n++)p=c[n],(k?p.first:p.Xb)!==h&&(m++,h=k?p.first:p.Xb),r=p.link,f=r.i(p.index),g=r.i(p.index+1),q=this.linkSpacing*(m-(l-1)/2),b++,r.Hh(),r.L(p.index,\nf.x+q,f.y),r.L(p.index+1,g.x+q,g.y),r.rf()}f=e}a=d}}}};t=os.prototype;t.By=function(a,b){return a instanceof it&&b instanceof it&&a!==b?a.layer<b.layer?-1:a.layer>b.layer?1:a.cd<b.cd?-1:a.cd>b.cd?1:a.sc<b.sc?-1:a.sc>b.sc?1:0:0};t.Ay=function(a,b){return a instanceof it&&b instanceof it&&a!==b?a.first<b.first?-1:a.first>b.first||a.j<b.j?1:a.j>b.j||a.cd<b.cd?-1:a.cd>b.cd?1:a.sc<b.sc?-1:a.sc>b.sc?1:0:0};\nt.ct=function(a,b){return a instanceof it&&b instanceof it&&a!==b?a.Xb<b.Xb?-1:a.Xb>b.Xb||a.j<b.j?1:a.j>b.j||a.cd<b.cd?-1:a.cd>b.cd?1:a.sc<b.sc?-1:a.sc>b.sc?1:0:0};t.w=function(a,b){a-=b;return-1<a&&1>a};\nt.Wi=function(a,b,c,d){var e=a.length,f=d-c;if(!(1>=f))if((0>c||c>=e-1)&&C(\"not in range 0 <= from < length: \"+c),2===f)d=a[c],e=a[c+1],0<b(d,e)&&(a[c]=e,a[c+1]=d);else if(0===c)if(d>=e)a.sort(b);else for(c=a.slice(0,d),c.sort(b),b=0;b<d;b++)a[b]=c[b];else if(d>=e)for(d=a.slice(c),d.sort(b),b=c;b<e;b++)a[b]=d[b-c];else for(e=a.slice(c,d),e.sort(b),b=c;b<d;b++)a[b]=e[b-c]};\nfunction xs(a,b){var c=a.zb[b];if(c>=a.ve.length){var d=[];for(var e=0;e<a.ve.length;e++)d[e]=a.ve[e];a.ve=d}void 0===a.ve[c]||null===a.ve[c]?d=[]:(d=a.ve[c],a.ve[c]=null);a=a.Lo[b];for(b=0;b<a.length;b++)c=a[b],d[c.index]=c;return d}function ys(a,b,c){a.ve[a.zb[b]]=c}\nna.Object.defineProperties(os.prototype,{layerSpacing:{get:function(){return this.Zd},set:function(a){this.Zd!==a&&0<=a&&(this.Zd=a,this.B())}},columnSpacing:{get:function(){return this.Yb},set:function(a){this.Yb!==a&&0<a&&(this.Yb=a,this.B())}},direction:{get:function(){return this.K},set:function(a){this.K!==a&&(0===a||90===a||180===a||270===a?(this.K=a,this.B()):C(\"LayeredDigraphLayout.direction must be 0, 90, 180, or 270\"))}},\ncycleRemoveOption:{get:function(){return this.Uk},set:function(a){this.Uk===a||a!==Is&&a!==ps&&a!==us||(this.Uk=a,this.B())}},layeringOption:{get:function(){return this.sl},set:function(a){this.sl===a||a!==qs&&a!==Ns&&a!==Ps||(this.sl=a,this.B())}},initializeOption:{get:function(){return this.il},set:function(a){this.il===a||a!==rs&&a!==Vs&&a!==Ts||(this.il=a,this.B())}},iterations:{\nget:function(){return this.Cj},set:function(a){this.Cj!==a&&0<=a&&(this.Cj=a,this.B())}},aggressiveOption:{get:function(){return this.Fk},set:function(a){this.Fk===a||a!==Zs&&a!==ss&&a!==$s||(this.Fk=a,this.B())}},packOption:{get:function(){return this.Wf},set:function(a){this.Wf!==a&&0<=a&&8>a&&(this.Wf=a,this.B())}},setsPortSpots:{get:function(){return this.df},set:function(a){this.df!==a&&(this.df=a,this.B())}},\nlinkSpacing:{get:function(){return this.vo},set:function(a){this.vo!==a&&0<=a&&(this.vo=a,this.B())}},maxLayer:{get:function(){return this.ra}},maxIndex:{get:function(){return this.ji}},maxColumn:{get:function(){return this.Ca}},minIndexLayer:{get:function(){return this.Qg}},maxIndexLayer:{get:function(){return this.pc}}});\nvar ps=new D(os,\"CycleDepthFirst\",0),Is=new D(os,\"CycleGreedy\",1),us=new D(os,\"CycleFromLayers\",2),qs=new D(os,\"LayerOptimalLinkLength\",0),Ns=new D(os,\"LayerLongestPathSink\",1),Ps=new D(os,\"LayerLongestPathSource\",2),rs=new D(os,\"InitDepthFirstOut\",0),Vs=new D(os,\"InitDepthFirstIn\",1),Ts=new D(os,\"InitNaive\",2),Zs=new D(os,\"AggressiveNone\",0),ss=new D(os,\"AggressiveLess\",1),$s=new D(os,\"AggressiveMore\",2),at=8;os.className=\"LayeredDigraphLayout\";os.CycleDepthFirst=ps;os.CycleGreedy=Is;\nos.CycleFromLayers=us;os.LayerOptimalLinkLength=qs;os.LayerLongestPathSink=Ns;os.LayerLongestPathSource=Ps;os.InitDepthFirstOut=rs;os.InitDepthFirstIn=Vs;os.InitNaive=Ts;os.AggressiveNone=Zs;os.AggressiveLess=ss;os.AggressiveMore=$s;os.PackNone=0;os.PackExpand=1;os.PackStraighten=2;os.PackMedian=4;os.PackAll=15;function it(){this.index=this.sc=this.cd=this.Xb=this.first=this.layer=0;this.link=null;this.j=0}it.className=\"SegInfo\";function ts(a){Sp.call(this,a)}ma(ts,Sp);ts.prototype.createVertex=function(){return new jt(this)};\nts.prototype.createEdge=function(){return new kt(this)};ts.className=\"LayeredDigraphNetwork\";function jt(a){fq.call(this,a);this.Qa=this.wg=this.ei=-1;this.C=NaN;this.M=null;this.valid=!1;this.finish=this.jg=NaN;this.qf=0;this.uk=this.vk=null}ma(jt,fq);\njt.prototype.serializeVertexProperties=function(a,b){fq.prototype.serializeVertexProperties.call(this,a,b);a.layer=this.layer;a.column=this.column;a.index=this.index;a.component=this.component;a.near=this.near?gb(this.near):null;a.valid=this.valid;a.jg=this.jg;a.finish=this.finish;a.qf=this.qf;a.vk=this.vk;a.uk=this.uk};\njt.prototype.deserializeVertexProperties=function(a,b,c,d){fq.prototype.deserializeVertexProperties.call(this,a,b,c,d);this.layer=a.layer;this.column=a.column;this.index=a.index;this.component=a.component;if(b=b.get(a.near))this.near=b;this.valid=a.valid;this.jg=a.jg;this.finish=a.finish;this.qf=a.qf;this.vk=a.vk;this.uk=a.uk};\nna.Object.defineProperties(jt.prototype,{layer:{get:function(){return this.ei},set:function(a){this.ei!==a&&(this.ei=a)}},column:{get:function(){return this.wg},set:function(a){this.wg!==a&&(this.wg=a)}},index:{get:function(){return this.Qa},set:function(a){this.Qa!==a&&(this.Qa=a)}},component:{get:function(){return this.C},set:function(a){this.C!==a&&(this.C=a)}},near:{\nget:function(){return this.M},set:function(a){this.M!==a&&(this.M=a)}}});jt.className=\"LayeredDigraphVertex\";function kt(a){gq.call(this,a);this.j=this.Ha=this.Wa=!1;this.Ga=this.C=NaN;this.M=this.o=0}ma(kt,gq);\nkt.prototype.serializeEdgeProperties=function(a,b){gq.prototype.serializeEdgeProperties.call(this,a,b);a.valid=this.valid;a.rev=this.rev;a.forest=this.forest;a.portFromPos=this.portFromPos;a.portToPos=this.portToPos;a.portFromColOffset=this.portFromColOffset;a.portToColOffset=this.portToColOffset};\nkt.prototype.deserializeEdgeProperties=function(a,b,c,d){gq.prototype.deserializeEdgeProperties.call(this,a,b,c,d);this.valid=a.valid;this.rev=a.rev;this.forest=a.forest;this.portFromPos=a.portFromPos;this.portToPos=a.portToPos;this.portFromColOffset=a.portFromColOffset;this.portToColOffset=a.portToColOffset};\nna.Object.defineProperties(kt.prototype,{fromVertex:{get:function(){return this.Tc},set:function(a){this.Tc!==a&&(this.Tc=a)}},toVertex:{get:function(){return this.ad},set:function(a){this.ad!==a&&(this.ad=a)}},valid:{get:function(){return this.Wa},set:function(a){this.Wa!==a&&(this.Wa=a)}},rev:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},forest:{\nget:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},portFromPos:{get:function(){return this.C},set:function(a){this.C!==a&&(this.C=a)}},portToPos:{get:function(){return this.Ga},set:function(a){this.Ga!==a&&(this.Ga=a)}},portFromColOffset:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},portToColOffset:{get:function(){return this.M},\nset:function(a){this.M!==a&&(this.M=a)}}});kt.className=\"LayeredDigraphEdge\";function lt(a){li.call(this);this.Jb=new G;this.Yo=mt;this.jd=nt;this.Qp=ot;this.Gr=pt;this.Aw=[];this.gd=!0;this.Gb=qt;this.Nd=(new M(10,10)).freeze();var b=new rt(this);this.V=new st(b);this.W=new st(b);this.Qu=[];a&&Object.assign(this,a)}ma(lt,li);\nlt.prototype.cloneProtected=function(a){li.prototype.cloneProtected.call(this,a);a.Yo=this.Yo;a.Qp=this.Qp;a.Gr=this.Gr;a.gd=this.gd;a.Gb=this.Gb;a.Nd.assign(this.Nd);a.V.copyInheritedPropertiesFrom(this.V);a.W.copyInheritedPropertiesFrom(this.W)};\nlt.prototype.gb=function(a){a.classType===lt?0===a.name.indexOf(\"Alignment\")?this.alignment=a:0===a.name.indexOf(\"Arrangement\")?this.arrangement=a:0===a.name.indexOf(\"Compaction\")?this.compaction=a:0===a.name.indexOf(\"Path\")?this.path=a:0===a.name.indexOf(\"Sorting\")?this.sorting=a:0===a.name.indexOf(\"Style\")?this.treeStyle=a:C(\"Unknown enum value: \"+a):li.prototype.gb.call(this,a)};lt.prototype.createNetwork=function(){return new rt(this)};\nlt.prototype.makeNetwork=function(a){function b(a){if(a instanceof W)return!a.isLinkLabel&&\"Comment\"!==a.category;if(a instanceof U){var b=a.fromNode;if(null===b||b.isLinkLabel||\"Comment\"===b.category)return!1;a=a.toNode;return null===a||a.isLinkLabel||\"Comment\"===a.category?!1:!0}return!1}var c=this.createNetwork();a instanceof T?(c.hg(a.nodes,!0,b),c.hg(a.links,!0,b)):a instanceof hf?c.hg(a.memberParts,!1,b):c.hg(a.iterator,!1,b);return c};\nlt.prototype.doLayout=function(a){null===this.network&&(this.network=this.makeNetwork(a));this.arrangement!==tt&&(this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin));var b=this.diagram;null===b&&a instanceof T&&(b=a);this.path===mt&&null!==b?this.jd=b.isTreePathToChildren?nt:ut:this.jd=this.path===mt?nt:this.path;if(0<this.network.vertexes.count){this.network.fq();for(a=this.network.vertexes.iterator;a.next();)b=a.value,b.initialized=!1,b.level=0,b.parent=null,b.children=[];if(0<this.Jb.count){a=\nnew G;for(b=this.Jb.iterator;b.next();){var c=b.value;c instanceof W?(c=this.network.Ki(c),null!==c&&a.add(c)):c instanceof st&&a.add(c)}this.Jb=a}0===this.Jb.count&&this.findRoots();for(a=this.Jb.copy().iterator;a.next();)b=a.value,b.initialized||(b.initialized=!0,vt(this,b));b=this.network.vertexes;for(a=null;a=wt(b),0<a.count;)b=xt(this,a),null!==b&&this.Jb.add(b),b.initialized=!0,vt(this,b),b=a;for(a=this.Jb.iterator;a.next();)b=a.value,b instanceof st&&yt(this,b);for(a=this.Jb.iterator;a.next();)b=\na.value,b instanceof st&&zt(this,b);for(a=this.Jb.iterator;a.next();)b=a.value,b instanceof st&&At(this,b);this.cv();if(this.layerStyle===Bt){a=[];for(b=this.network.vertexes.iterator;b.next();){c=b.value;var d=c.parent;null===d&&(d=c);d=0===d.angle||180===d.angle;var e=a[c.level];void 0===e&&(e=0);a[c.level]=Math.max(e,d?c.width:c.height)}for(b=0;b<a.length;b++)void 0===a[b]&&(a[b]=0);this.Aw=a;for(b=this.network.vertexes.iterator;b.next();)c=b.value,d=c.parent,null===d&&(d=c),0===d.angle||180===\nd.angle?(180===d.angle&&(c.focusX+=a[c.level]-c.width),c.width=a[c.level]):(270===d.angle&&(c.focusY+=a[c.level]-c.height),c.height=a[c.level])}else if(this.layerStyle===Ct)for(a=this.network.vertexes.iterator;a.next();){b=a.value;c=0===b.angle||180===b.angle;d=-1;for(e=0;e<b.children.length;e++){var f=b.children[e];d=Math.max(d,c?f.width:f.height)}if(0<=d)for(e=0;e<b.children.length;e++)f=b.children[e],c?(180===b.angle&&(f.focusX+=d-f.width),f.width=d):(270===b.angle&&(f.focusY+=d-f.height),f.height=\nd)}for(a=this.Jb.iterator;a.next();)b=a.value,b instanceof st&&this.layoutTree(b);this.arrangeTrees();this.updateParts()}this.network=null;this.Jb=new G;this.isValidLayout=!0};function wt(a){var b=new G;for(a=a.iterator;a.next();){var c=a.value;c.initialized||b.add(c)}return b}\nlt.prototype.findRoots=function(){for(var a=this.network.vertexes,b=a.iterator;b.next();){var c=b.value;switch(this.jd){case nt:0===c.sourceEdges.count&&this.Jb.add(c);break;case ut:0===c.destinationEdges.count&&this.Jb.add(c);break;default:C(\"Unhandled path value \"+this.jd.toString())}}0===this.Jb.count&&(a=xt(this,a),null!==a&&this.Jb.add(a))};\nfunction xt(a,b){var c=999999,d=null;for(b=b.iterator;b.next();){var e=b.value;switch(a.jd){case nt:e.sourceEdges.count<c&&(c=e.sourceEdges.count,d=e);break;case ut:e.destinationEdges.count<c&&(c=e.destinationEdges.count,d=e);break;default:C(\"Unhandled path value \"+a.jd.toString())}}return d}\nfunction vt(a,b){if(null!==b){switch(a.jd){case nt:if(0<b.destinationEdges.count){for(var c=new E,d=b.destinationVertexes;d.next();){var e=d.value;Dt(a,b,e)&&c.add(e)}0<c.count&&(b.children=c.xa())}break;case ut:if(0<b.sourceEdges.count){c=new E;for(d=b.sourceVertexes;d.next();)e=d.value,Dt(a,b,e)&&c.add(e);0<c.count&&(b.children=c.xa())}break;default:C(\"Unhandled path value\"+a.jd.toString())}c=b.children;d=c.length;for(e=0;e<d;e++){var f=c[e];f.initialized=!0;f.level=b.level+1;f.parent=b;a.Jb.remove(f)}for(b=\n0;b<d;b++)vt(a,c[b])}}function Dt(a,b,c){if(c.initialized){if(null===b)var d=!1;else{for(d=b.parent;null!==d&&d!==c;)d=d.parent;d=d===c}if(d||c.level>b.level)return!1;a.removeChild(c.parent,c)}return!0}lt.prototype.removeChild=function(a,b){if(null!==a&&null!==b){for(var c=a.children,d=0,e=0;e<c.length;e++)c[e]===b&&d++;if(0<d){d=Array(c.length-d);for(var f=e=0;f<c.length;f++)c[f]!==b&&(d[e++]=c[f]);a.children=d}}};\nfunction yt(a,b){if(null!==b){a.initializeTreeVertexValues(b);b.alignment===Et&&a.sortTreeVertexChildren(b);for(var c=0,d=b.childrenCount,e=0,f=b.children,g=f.length,h=0;h<g;h++){var k=f[h];yt(a,k);c+=k.descendantCount+1;d=Math.max(d,k.maxChildrenCount);e=Math.max(e,k.maxGenerationCount)}b.descendantCount=c;b.maxChildrenCount=d;b.maxGenerationCount=0<d?e+1:0}}\nfunction Ft(a,b){switch(a.Qp){default:case ot:return null!==b.parent?b.parent:a.V;case Gt:return null===b.parent?a.V:null===b.parent.parent?a.W:b.parent;case Ht:return null!==b.parent?null!==b.parent.parent?b.parent.parent:a.W:a.V;case It:var c=!0;if(0===b.childrenCount)c=!1;else for(var d=b.children,e=d.length,f=0;f<e;f++)if(0<d[f].childrenCount){c=!1;break}return c&&null!==b.parent?a.W:null!==b.parent?b.parent:a.V}}\nlt.prototype.initializeTreeVertexValues=function(a){a.copyInheritedPropertiesFrom(Ft(this,a));if(null!==a.parent&&a.parent.alignment===Et){for(var b=a.angle,c=a.parent.children,d=0;d<c.length&&a!==c[d];)d++;0===d%2?d!==c.length-1&&(b=90===b?180:180===b?270:270===b?180:270):b=90===b?0:180===b?90:270===b?0:90;a.angle=b}a.initialized=!0};function zt(a,b){if(null!==b){a.assignTreeVertexValues(b);b=b.children;for(var c=b.length,d=0;d<c;d++)zt(a,b[d])}}lt.prototype.assignTreeVertexValues=function(){};\nfunction At(a,b){if(null!==b){b.alignment!==Et&&a.sortTreeVertexChildren(b);b=b.children;for(var c=b.length,d=0;d<c;d++)At(a,b[d])}}lt.prototype.sortTreeVertexChildren=function(a){switch(a.sorting){case Jt:break;case Kt:a.children.reverse();break;case Lt:a.children.sort(a.comparer);break;case Mt:a.children.sort(a.comparer);a.children.reverse();break;default:C(\"Unhandled sorting value \"+a.sorting.toString())}};lt.prototype.cv=function(){if(this.comments)for(var a=this.network.vertexes.iterator;a.next();)this.addComments(a.value)};\nlt.prototype.addComments=function(a){var b=a.angle,c=a.parent,d=0;var e=!1;null!==c&&(d=c.angle,e=c.alignment,e=Nt(e));b=90===b||270===b;d=90===d||270===d;c=0===a.childrenCount;var f=0,g=0,h=0,k=a.commentSpacing;if(null!==a.node)for(var l=a.node.pv();l.next();){var m=l.value;\"Comment\"===m.category&&m.canLayout()&&(null===a.comments&&(a.comments=[]),a.comments.push(m),m.Sa(),m=m.measuredBounds,b&&!c||!e&&!d&&c||e&&d&&c?(f=Math.max(f,m.width),g+=m.height+Math.abs(h)):(f+=m.width+Math.abs(h),g=Math.max(g,\nm.height)),h=k)}null!==a.comments&&(b&&!c||!e&&!d&&c||e&&d&&c?(f+=Math.abs(a.commentMargin),g=Math.max(0,g-a.height)):(g+=Math.abs(a.commentMargin),f=Math.max(0,f-a.width)),e=N.allocAt(0,0,a.bounds.width+f,a.bounds.height+g),a.bounds=e,N.free(e))};function Nt(a){return a===Ot||a===Et||a===Pt||a===Qt}function Rt(a){return a===Ot||a===Et}\nfunction St(a){var b=a.parent;if(null!==b){var c=b.alignment;if(Nt(c)){if(Rt(c)){b=b.children;for(c=0;c<b.length&&a!==b[c];)c++;return 0===c%2}if(c===Pt)return!0}}return!1}\nlt.prototype.layoutComments=function(a){if(null!==a.comments){var b=a.node.measuredBounds,c=a.parent,d=a.angle,e=0;var f=!1;null!==c&&(e=c.angle,f=c.alignment,f=Nt(f));d=90===d||270===d;c=90===e||270===e;for(var g=0===a.childrenCount,h=St(a),k=0,l=a.comments,m=l.length,n=J.alloc(),p=0;p<m;p++){var r=l[p],q=r.measuredBounds;if(d&&!g||!f&&!c&&g||f&&c&&g){if(135<e&&!f||c&&h)if(0<=a.commentMargin)for(n.h(a.bounds.x-a.commentMargin-q.width,a.bounds.y+k),r.move(n),r=r.Dd();r.next();){var u=r.value;u.fromSpot=\ndd;u.toSpot=ed}else for(n.h(a.bounds.x+2*a.focus.x-a.commentMargin,a.bounds.y+k),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=ed,u.toSpot=dd;else if(0<=a.commentMargin)for(n.h(a.bounds.x+2*a.focus.x+a.commentMargin,a.bounds.y+k),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=ed,u.toSpot=dd;else for(n.h(a.bounds.x+a.commentMargin-q.width,a.bounds.y+k),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=dd,u.toSpot=ed;k=0<=a.commentSpacing?k+(q.height+a.commentSpacing):k+(a.commentSpacing-q.height)}else{if(135<\ne&&!f||!c&&h)if(0<=a.commentMargin)for(n.h(a.bounds.x+k,a.bounds.y-a.commentMargin-q.height),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=cd,u.toSpot=fd;else for(n.h(a.bounds.x+k,a.bounds.y+2*a.focus.y-a.commentMargin),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=fd,u.toSpot=cd;else if(0<=a.commentMargin)for(n.h(a.bounds.x+k,a.bounds.y+2*a.focus.y+a.commentMargin),r.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=fd,u.toSpot=cd;else for(n.h(a.bounds.x+k,a.bounds.y+a.commentMargin-q.height),\nr.move(n),r=r.Dd();r.next();)u=r.value,u.fromSpot=cd,u.toSpot=fd;k=0<=a.commentSpacing?k+(q.width+a.commentSpacing):k+(a.commentSpacing-q.width)}}J.free(n);b=k-a.commentSpacing-(d?b.height:b.width);if(this.jd===nt)for(a=a.destinationEdges;a.next();)e=a.value.link,null===e||e.isAvoiding||(e.fromEndSegmentLength=0<b?b:NaN);else for(a=a.sourceEdges;a.next();)e=a.value.link,null===e||e.isAvoiding||(e.toEndSegmentLength=0<b?b:NaN)}};\nlt.prototype.layoutTree=function(a){if(null!==a){for(var b=a.children,c=b.length,d=0;d<c;d++)this.layoutTree(b[d]);switch(a.compaction){case Tt:Ut(this,a);break;case Vt:if(a.alignment===Et)Ut(this,a);else if(0===a.childrenCount)d=a.parent,c=!1,b=0,null!==d&&(b=d.angle,c=d.alignment,c=Nt(c)),d=St(a),a.U.h(0,0),a.va.h(a.width,a.height),null===a.parent||null===a.comments||(180!==b&&270!==b||c)&&!d?a.fa.h(0,0):180===b&&!c||(90===b||270===b)&&d?a.fa.h(a.width-2*a.focus.x,0):a.fa.h(0,a.height-2*a.focus.y),\na.sq=null,a.Eq=null;else{var e=Zt(a);b=90===e||270===e;var f=0,g=a.children,h=g.length;for(c=0;c<h;c++)d=g[c],f=Math.max(f,b?d.va.width:d.va.height);var k=a.alignment,l=k===$t,m=Nt(k),n=Math.max(0,a.breadthLimit);c=au(a);var p=a.nodeSpacing,r=bu(a),q=a.rowSpacing,u=0;if(k===cu||l||a.Bm||a.Cm&&1===a.maxGenerationCount)u=Math.max(0,a.rowIndent);d=a.width;var v=a.height,w=0,z=0,y=0,A=null,B=null,F=0,K=0,S=0,R=0,O=0,H=0,da=0,ba=0;m&&!Rt(k)&&135<e&&g.reverse();if(Rt(k))if(1<h)for(var ra=0;ra<h;ra++)0===\nra%2&&ra!==h-1&&(ba=Math.max(ba,b?g[ra].va.width:g[ra].va.height));else 1===h&&(ba=b?g[0].va.width:g[0].va.height);if(m){switch(k){case Ot:z=135>e?du(a,g,ba,w,z):eu(a,g,ba,w,z);ba=z.x;w=z.width;z=z.height;break;case Pt:for(A=0;A<h;A++)B=g[A],n=B.va,y=0===H?0:q,b?(B.U.h(f-n.width,R+y),w=Math.max(w,n.width),z=Math.max(z,R+y+n.height),R+=y+n.height):(B.U.h(S+y,f-n.height),w=Math.max(w,S+y+n.width),z=Math.max(z,n.height),S+=y+n.width),H++;break;case Qt:for(A=0;A<h;A++)B=g[A],f=B.va,n=0===H?0:q,b?(B.U.h(p/\n2+a.focus.x,R+n),w=Math.max(w,f.width),z=Math.max(z,R+n+f.height),R+=n+f.height):(B.U.h(S+n,p/2+a.focus.y),w=Math.max(w,S+n+f.width),z=Math.max(z,f.height),S+=n+f.width),H++}A=fu(this,2);B=fu(this,2);b?(A[0].h(0,0),A[1].h(0,z),B[0].h(w,0)):(A[0].h(0,0),A[1].h(w,0),B[0].h(0,z));B[1].h(w,z)}else for(ra=0;ra<h;ra++){var Ca=g[ra],cb=Ca.va;if(b){0<n&&0<H&&S+p+cb.width>n&&(S<f&&gu(a,k,f-S,0,da,ra-1),O++,H=0,da=ra,y=z,S=0,R=135<e?-z-q:z+q);hu(this,Ca,0,R);var db=0;if(0===H){if(A=Ca.sq,B=Ca.Eq,F=cb.width,\nK=cb.height,null===A||null===B||e!==Zt(Ca))A=fu(this,2),B=fu(this,2),A[0].h(0,0),A[1].h(0,K),B[0].h(F,0),B[1].h(F,K)}else{var Ha=Fa();K=iu(this,a,Ca,A,B,F,K,Ha);db=K.x;A=Ha[0];B=Ha[1];F=K.width;K=K.height;Ia(Ha);S<cb.width&&0>db&&(ju(a,-db,0,da,ra-1),ku(A,-db,0),ku(B,-db,0),db=0)}Ca.U.h(db,R);w=Math.max(w,F);z=Math.max(z,y+(0===O?0:q)+cb.height);S=F}else{0<n&&0<H&&R+p+cb.height>n&&(R<f&&gu(a,k,0,f-R,da,ra-1),O++,H=0,da=ra,y=w,R=0,S=135<e?-w-q:w+q);hu(this,Ca,S,0);db=0;if(0===H){if(A=Ca.sq,B=Ca.Eq,\nF=cb.width,K=cb.height,null===A||null===B||e!==Zt(Ca))A=fu(this,2),B=fu(this,2),A[0].h(0,0),A[1].h(F,0),B[0].h(0,K),B[1].h(F,K)}else Ha=Fa(),K=iu(this,a,Ca,A,B,F,K,Ha),db=K.x,A=Ha[0],B=Ha[1],F=K.width,K=K.height,Ia(Ha),R<cb.height&&0>db&&(ju(a,0,-db,da,ra-1),ku(A,0,-db),ku(B,0,-db),db=0);Ca.U.h(S,db);z=Math.max(z,K);w=Math.max(w,y+(0===O?0:q)+cb.width);R=K}H++}0<O&&(b?(z+=Math.max(0,c),S<w&&gu(a,k,w-S,0,da,h-1),0<u&&(l||ju(a,u,0,0,h-1),w+=u)):(w+=Math.max(0,c),R<z&&gu(a,k,0,z-R,da,h-1),0<u&&(l||ju(a,\n0,u,0,h-1),z+=u)));u=l=0;switch(k){case lu:b?l+=w/2-a.focus.x-r/2:u+=z/2-a.focus.y-r/2;break;case mu:0<O?b?l+=w/2-a.focus.x-r/2:u+=z/2-a.focus.y-r/2:b?(ba=g[0].U.x+g[0].fa.x,l+=ba+(g[h-1].U.x+g[h-1].fa.x+2*g[h-1].focus.x-ba)/2-a.focus.x-r/2):(ba=g[0].U.y+g[0].fa.y,u+=ba+(g[h-1].U.y+g[h-1].fa.y+2*g[h-1].focus.y-ba)/2-a.focus.y-r/2);break;case cu:b?(l-=r,w+=r):(u-=r,z+=r);break;case $t:b?(l+=w-a.width+r,w+=r):(u+=z-a.height+r,z+=r);break;case Ot:b?1<h?l+=ba+p/2-a.focus.x:l+=g[0].focus.x-a.focus.x+g[0].fa.x:\n1<h?u+=ba+p/2-a.focus.y:u+=g[0].focus.y-a.focus.y+g[0].fa.y;break;case Pt:b?l+=w+p/2-a.focus.x:u+=z+p/2-a.focus.y;break;case Qt:break;default:C(\"Unhandled alignment value \"+k.toString())}for(r=0;r<h;r++)ba=g[r],b?ba.U.h(ba.U.x+ba.fa.x-l,ba.U.y+(135<e?(m?-z:-ba.va.height)+ba.fa.y-c:v+c+ba.fa.y)):ba.U.h(ba.U.x+(135<e?(m?-w:-ba.va.width)+ba.fa.x-c:d+c+ba.fa.x),ba.U.y+ba.fa.y-u);h=g=0;m?b?(w=nu(a,w,l),0>l&&(l=0),135<e&&(u+=z+c),z+=v+c,k===Qt&&(g+=p/2+a.focus.x),h+=v+c):(135<e&&(l+=w+c),w+=d+c,z=ou(a,\nz,u),0>u&&(u=0),k===Qt&&(h+=p/2+a.focus.y),g+=d+c):b?(null===a.comments?d>w&&(w=pu(k,d-w,0),g=w.x,h=w.y,w=d,l=0):w=nu(a,w,l),0>l&&(g-=l,l=0),135<e&&(u+=z+c),z=Math.max(Math.max(z,v),z+v+c),h+=v+c):(135<e&&(l+=w+c),w=Math.max(Math.max(w,d),w+d+c),null===a.comments?v>z&&(z=pu(k,0,v-z),g=z.x,h=z.y,z=v,u=0):z=ou(a,z,u),0>u&&(h-=u,u=0),g+=d+c);if(0<O)e=fu(this,4),O=fu(this,4),b?(e[2].h(0,v+c),e[3].h(e[2].x,z),O[2].h(w,e[2].y),O[3].h(O[2].x,e[3].y)):(e[2].h(d+c,0),e[3].h(w,e[2].y),O[2].h(e[2].x,z),O[3].h(e[3].x,\nO[2].y));else{e=fu(this,A.length+2);O=fu(this,B.length+2);for(k=0;k<A.length;k++)m=A[k],e[k+2].h(m.x+g,m.y+h);for(k=0;k<B.length;k++)m=B[k],O[k+2].h(m.x+g,m.y+h)}b?(e[0].h(l,0),e[1].h(e[0].x,v),e[2].y<e[1].y&&(e[2].x>e[0].x?e[2].assign(e[1]):e[1].assign(e[2])),e[3].y<e[2].y&&(e[3].x>e[0].x?e[3].assign(e[2]):e[2].assign(e[3])),O[0].h(l+d,0),O[1].h(O[0].x,v),O[2].y<O[1].y&&(O[2].x<O[0].x?O[2].assign(O[1]):O[1].assign(O[2])),O[3].y<O[2].y&&(O[3].x<O[0].x?O[3].assign(O[2]):O[2].assign(O[3])),e[2].y-=\nc/2,O[2].y-=c/2):(e[0].h(0,u),e[1].h(d,e[0].y),e[2].x<e[1].x&&(e[2].y>e[0].y?e[2].assign(e[1]):e[1].assign(e[2])),e[3].x<e[2].x&&(e[3].y>e[0].y?e[3].assign(e[2]):e[2].assign(e[3])),O[0].h(0,u+v),O[1].h(d,O[0].y),O[2].x<O[1].x&&(O[2].y<O[0].y?O[2].assign(O[1]):O[1].assign(O[2])),O[3].x<O[2].x&&(O[3].y<O[0].y?O[3].assign(O[2]):O[2].assign(O[3])),e[2].x-=c/2,O[2].x-=c/2);qu(this,A);qu(this,B);a.sq=e;a.Eq=O;a.fa.h(l,u);a.va.h(w,z)}break;default:C(\"Unhandled compaction value \"+a.compaction.toString())}}};\nfunction Ut(a,b){if(0===b.childrenCount){var c=!1,d=0;null!==b.parent&&(d=b.parent.angle,c=b.parent.alignment,c=Nt(c));var e=St(b);b.U.h(0,0);b.va.h(b.width,b.height);null===b.parent||null===b.comments||(180!==d&&270!==d||c)&&!e?b.fa.h(0,0):180===d&&!c||(90===d||270===d)&&e?b.fa.h(b.width-2*b.focus.x,0):b.fa.h(0,b.height-2*b.focus.y)}else{d=Zt(b);c=90===d||270===d;var f=0;e=b.children;for(var g=e.length,h=0;h<g;h++){var k=e[h];f=Math.max(f,c?k.va.width:k.va.height)}var l=b.alignment,m=l===cu,n=l===\n$t;h=Nt(l);var p=Math.max(0,b.breadthLimit);k=au(b);var r=b.nodeSpacing,q=bu(b),u=m||n?0:q/2,v=b.rowSpacing,w=0;if(m||n||b.Bm||b.Cm&&1===b.maxGenerationCount)w=Math.max(0,b.rowIndent);m=b.width;var z=b.height,y=0,A=0,B=0,F=0,K=0,S=0,R=0,O=0,H=0;h&&!Rt(l)&&135<d&&e.reverse();if(Rt(l))if(1<g)for(var da=0;da<g;da++){var ba=e[da],ra=ba.va;0===da%2&&da!==g-1&&(H=Math.max(H,(c?ra.width:ra.height)+ru(ba)-r))}else 1===g&&(H=c?e[0].va.width:e[0].va.height);if(h)switch(l){case Ot:case Et:A=135>d?du(b,e,H,y,\nA):eu(b,e,H,y,A);H=A.x;y=A.width;A=A.height;break;case Pt:for(a=0;a<g;a++)p=e[a],u=p.va,B=0===R?0:v,c?(p.U.h(f-u.width,K+B),y=Math.max(y,u.width),A=Math.max(A,K+B+u.height),K+=B+u.height):(p.U.h(F+B,f-u.height),y=Math.max(y,F+B+u.width),A=Math.max(A,u.height),F+=B+u.width),R++;break;case Qt:for(f=0;f<g;f++)a=e[f],p=a.va,u=0===R?0:v,c?(a.U.h(r/2+b.focus.x,K+u),y=Math.max(y,p.width),A=Math.max(A,K+u+p.height),K+=u+p.height):(a.U.h(F+u,r/2+b.focus.y),y=Math.max(y,F+u+p.width),A=Math.max(A,p.height),\nF+=u+p.width),R++}else for(da=0;da<g;da++){ba=e[da];ra=ba.va;if(c){0<p&&0<R&&F+r+ra.width>p&&(F<f&&gu(b,l,f-F,0,O,da-1),S++,R=0,O=da,B=A,F=0,K=135<d?-A-v:A+v);var Ca=0===R?u:r;hu(a,ba,0,K);ba.U.h(F+Ca,K);y=Math.max(y,F+Ca+ra.width);A=Math.max(A,B+(0===S?0:v)+ra.height);F+=Ca+ra.width}else 0<p&&0<R&&K+r+ra.height>p&&(K<f&&gu(b,l,0,f-K,O,da-1),S++,R=0,O=da,B=y,K=0,F=135<d?-y-v:y+v),Ca=0===R?u:r,hu(a,ba,F,0),ba.U.h(F,K+Ca),A=Math.max(A,K+Ca+ra.height),y=Math.max(y,B+(0===S?0:v)+ra.width),K+=Ca+ra.height;\nR++}0<S&&(c?(A+=Math.max(0,k),F<y&&gu(b,l,y-F,0,O,g-1),0<w&&(n||ju(b,w,0,0,g-1),y+=w)):(y+=Math.max(0,k),K<A&&gu(b,l,0,A-K,O,g-1),0<w&&(n||ju(b,0,w,0,g-1),A+=w)));w=n=0;switch(l){case lu:c?n+=y/2-b.focus.x-q/2:w+=A/2-b.focus.y-q/2;break;case mu:0<S?c?n+=y/2-b.focus.x-q/2:w+=A/2-b.focus.y-q/2:c?(l=e[0].U.x+e[0].fa.x,n+=l+(e[g-1].U.x+e[g-1].fa.x+2*e[g-1].focus.x-l)/2-b.focus.x-q/2):(l=e[0].U.y+e[0].fa.y,w+=l+(e[g-1].U.y+e[g-1].fa.y+2*e[g-1].focus.y-l)/2-b.focus.y-q/2);break;case cu:c?(n-=q,y+=q):(w-=\nq,A+=q);break;case $t:c?(n+=y-b.width+q,y+=q):(w+=A-b.height+q,A+=q);break;case Ot:case Et:c?1<g?n+=H+r/2-b.focus.x:n+=e[0].focus.x-b.focus.x+e[0].fa.x:1<g?w+=H+r/2-b.focus.y:w+=e[0].focus.y-b.focus.y+e[0].fa.y;break;case Pt:c?n+=y+r/2-b.focus.x:w+=A+r/2-b.focus.y;break;case Qt:break;default:C(\"Unhandled alignment value \"+l.toString())}for(q=0;q<g;q++)l=e[q],c?l.U.h(l.U.x+l.fa.x-n,l.U.y+(135<d?(h?-A:-l.va.height)+l.fa.y-k:z+k+l.fa.y)):l.U.h(l.U.x+(135<d?(h?-y:-l.va.width)+l.fa.x-k:m+k+l.fa.x),l.U.y+\nl.fa.y-w);c?(y=nu(b,y,n),0>n&&(n=0),135<d&&(w+=A+k),A=Math.max(Math.max(A,z),A+z+k)):(135<d&&(n+=y+k),y=Math.max(Math.max(y,m),y+m+k),A=ou(b,A,w),0>w&&(w=0));b.fa.h(n,w);b.va.h(y,A)}}\nfunction du(a,b,c,d,e){var f=b.length;if(0===f)return new N(c,0,d,e);if(1===f)return a=b[0],d=a.va.width,e=a.va.height,new N(c,0,d,e);for(var g=a.nodeSpacing,h=a.rowSpacing,k=90===Zt(a),l=0,m=0,n=0,p=0;p<f;p++)if(!(0!==p%2||1<f&&p===f-1)){var r=b[p],q=r.va,u=0===l?0:h;if(k){var v=ru(r)-g;r.U.h(c-(q.width+v),n+u);d=Math.max(d,q.width+v);e=Math.max(e,n+u+q.height);n+=u+q.height}else v=ru(r)-g,r.U.h(m+u,c-(q.height+v)),e=Math.max(e,q.height+v),d=Math.max(d,m+u+q.width),m+=u+q.width;l++}l=0;r=m;p=n;k?\n(m=c+g,n=0):(m=0,n=c+g);for(q=0;q<f;q++)if(0!==q%2){u=b[q];v=u.va;var w=0===l?0:h;if(k){var z=ru(u)-g;u.U.h(m+z,n+w);d=Math.max(d,m+v.width+z);e=Math.max(e,n+w+v.height);n+=w+v.height}else z=ru(u)-g,u.U.h(m+w,n+z),d=Math.max(d,m+w+v.width),e=Math.max(e,n+v.height+z),m+=w+v.width;l++}1<f&&1===f%2&&(b=b[f-1],f=b.va,h=null===b.parent?0:b.parent.rowSpacing,k?(b.U.h(c+g/2-b.focus.x-b.fa.x,e+h),k=c+g/2-b.focus.x-b.fa.x,d=Math.max(d,k+f.width),0>k&&(d-=k),e=Math.max(e,Math.max(p,n)+h+f.height),0>b.U.x&&\n(c=su(a,b.U.x,!1,c,g))):(b.U.h(d+h,c+g/2-b.focus.y-b.fa.y),d=Math.max(d,Math.max(r,m)+h+f.width),n=c+g/2-b.focus.y-b.fa.y,e=Math.max(e,n+f.height),0>n&&(e-=n),0>b.U.y&&(c=su(a,b.U.y,!0,c,g))));return new N(c,0,d,e)}\nfunction eu(a,b,c,d,e){var f=b.length;if(0===f)return new N(c,0,d,e);if(1===f)return b=b[0],d=b.va.width,e=b.va.height,new N(c,0,d,e);for(var g=a.nodeSpacing,h=a.rowSpacing,k=270===Zt(a),l=0,m=0,n=0,p=0;p<f;p++)if(!(0!==p%2||1<f&&p===f-1)){var r=b[p],q=r.va,u=0===l?0:h;if(k){var v=ru(r)-g;n-=u+q.height;r.U.h(c-(q.width+v),n);d=Math.max(d,q.width+v);e=Math.max(e,Math.abs(n))}else v=ru(r)-g,m-=u+q.width,r.U.h(m,c-(q.height+v)),e=Math.max(e,q.height+v),d=Math.max(d,Math.abs(m));l++}l=0;r=m;p=n;k?(m=\nc+g,n=0):(m=0,n=c+g);for(q=0;q<f;q++)if(0!==q%2){u=b[q];v=u.va;var w=0===l?0:h;if(k){var z=ru(u)-g;n-=w+v.height;u.U.h(m+z,n);d=Math.max(d,m+v.width+z);e=Math.max(e,Math.abs(n))}else z=ru(u)-g,m-=w+v.width,u.U.h(m,n+z),e=Math.max(e,n+v.height+z),d=Math.max(d,Math.abs(m));l++}1<f&&1===f%2&&(h=b[f-1],l=h.va,q=null===h.parent?0:h.parent.rowSpacing,k?(h.U.h(c+g/2-h.focus.x-h.fa.x,-e-l.height-q),m=c+g/2-h.focus.x-h.fa.x,d=Math.max(d,m+l.width),0>m&&(d-=m),e=Math.max(e,Math.abs(Math.min(p,n))+q+l.height),\n0>h.U.x&&(c=su(a,h.U.x,!1,c,g))):(h.U.h(-d-l.width-q,c+g/2-h.focus.y-h.fa.y),d=Math.max(d,Math.abs(Math.min(r,m))+q+l.width),n=c+g/2-h.focus.y-h.fa.y,e=Math.max(e,n+l.height),0>n&&(e-=n),0>h.U.y&&(c=su(a,h.U.y,!0,c,g))));for(a=0;a<f;a++)g=b[a],k?g.U.h(g.U.x,g.U.y+e):g.U.h(g.U.x+d,g.U.y);return new N(c,0,d,e)}function ru(a){return null===a.parent?0:a.parent.nodeSpacing}\nfunction su(a,b,c,d,e){a=a.children;for(var f=a.length,g=0;g<f;g++)c?a[g].U.h(a[g].U.x,a[g].U.y-b):a[g].U.h(a[g].U.x-b,a[g].U.y);b=a[f-1];return Math.max(d,c?b.fa.y+b.focus.y-e/2:b.fa.x+b.focus.x-e/2)}\nfunction nu(a,b,c){switch(a.alignment){case mu:case lu:return c+a.width>b&&(b=c+a.width),0>c&&(b-=c),b;case cu:return a.width>b?a.width:b;case $t:return 2*a.focus.x>b?a.width:b+a.width-2*a.focus.x;case Ot:case Et:return Math.max(a.width,Math.max(b,c+a.width)-Math.min(0,c));case Pt:return a.width-a.focus.x+a.nodeSpacing/2+b;case Qt:return Math.max(a.width,a.focus.x+a.nodeSpacing/2+b);default:return b}}\nfunction ou(a,b,c){switch(a.alignment){case mu:case lu:return c+a.height>b&&(b=c+a.height),0>c&&(b-=c),b;case cu:return a.height>b?a.height:b;case $t:return 2*a.focus.y>b?a.height:b+a.height-2*a.focus.y;case Ot:case Et:return Math.max(a.height,Math.max(b,c+a.height)-Math.min(0,c));case Pt:return a.height-a.focus.y+a.nodeSpacing/2+b;case Qt:return Math.max(a.height,a.focus.y+a.nodeSpacing/2+b);default:return b}}\nfunction pu(a,b,c){switch(a){case lu:b/=2;c/=2;break;case mu:b/=2;c/=2;break;case cu:c=b=0;break;case $t:break;default:C(\"Unhandled alignment value \"+a.toString())}return new J(b,c)}function gu(a,b,c,d,e,f){b=pu(b,c,d);ju(a,b.x,b.y,e,f)}function ju(a,b,c,d,e){if(0!==b||0!==c)for(a=a.children;d<=e;d++){var f=a[d].U;f.x+=b;f.y+=c}}\nfunction hu(a,b,c,d){var e=b.parent;switch(a.jd){case nt:for(a=b.sourceEdges;a.next();)b=a.value,b.fromVertex===e&&b.relativePoint.h(c,d);break;case ut:for(a=b.destinationEdges;a.next();)b=a.value,b.toVertex===e&&b.relativePoint.h(c,d);break;default:C(\"Unhandled path value \"+a.jd.toString())}}function ku(a,b,c){for(var d=0;d<a.length;d++){var e=a[d];e.x+=b;e.y+=c}}\nfunction iu(a,b,c,d,e,f,g,h){var k=Zt(b),l=90===k||270===k,m=b.nodeSpacing;b=d;var n=e;d=f;var p=g,r=c.sq,q=c.Eq;g=c.va;var u=l?Math.max(p,g.height):Math.max(d,g.width);if(null===r||k!==Zt(c))r=fu(a,2),q=fu(a,2),l?(r[0].h(0,0),r[1].h(0,g.height),q[0].h(g.width,0),q[1].h(q[0].x,r[1].y)):(r[0].h(0,0),r[1].h(g.width,0),q[0].h(0,g.height),q[1].h(r[1].x,q[0].y));if(l){p=9999999;if(!(null===n||2>n.length||null===r||2>r.length))for(e=c=0;c<n.length&&e<r.length;){f=n[c];var v=r[e];k=v.x;l=v.y;k+=d;var w=\nf;c+1<n.length&&(w=n[c+1]);var z=v;v=z.x;z=z.y;e+1<r.length&&(z=r[e+1],v=z.x,z=z.y,v+=d);var y=p;f.y===l?y=k-f.x:f.y>l&&f.y<z?y=k+(f.y-l)/(z-l)*(v-k)-f.x:l>f.y&&l<w.y&&(y=k-(f.x+(l-f.y)/(w.y-f.y)*(w.x-f.x)));y<p&&(p=y);w.y<=f.y?c++:z<=l?e++:(w.y<=z&&c++,z<=w.y&&e++)}p=d-p;p+=m;c=r;e=p;if(null===b||2>b.length||null===c||2>c.length)d=null;else{m=fu(a,b.length+c.length);for(d=f=k=0;f<c.length&&c[f].y<b[0].y;)l=c[f++],m[d++].h(l.x+e,l.y);for(;k<b.length;)l=b[k++],m[d++].h(l.x,l.y);for(k=b[b.length-1].y;f<\nc.length&&c[f].y<=k;)f++;for(;f<c.length&&c[f].y>k;)l=c[f++],m[d++].h(l.x+e,l.y);c=fu(a,d);for(k=0;k<d;k++)c[k].assign(m[k]);qu(a,m);d=c}f=q;k=p;if(null===n||2>n.length||null===f||2>f.length)e=null;else{m=fu(a,n.length+f.length);for(e=l=c=0;c<n.length&&n[c].y<f[0].y;)w=n[c++],m[e++].h(w.x,w.y);for(;l<f.length;)w=f[l++],m[e++].h(w.x+k,w.y);for(f=f[f.length-1].y;c<n.length&&n[c].y<=f;)c++;for(;c<n.length&&n[c].y>f;)k=n[c++],m[e++].h(k.x,k.y);f=fu(a,e);for(c=0;c<e;c++)f[c].assign(m[c]);qu(a,m);e=f}f=\nMath.max(0,p)+g.width;g=u;qu(a,b);qu(a,r);qu(a,n);qu(a,q);h[0]=d;h[1]=e;return new N(p,0,f,g)}d=9999999;if(!(null===n||2>n.length||null===r||2>r.length))for(e=c=0;c<n.length&&e<r.length;)f=n[c],v=r[e],k=v.x,l=v.y,l+=p,w=f,c+1<n.length&&(w=n[c+1]),z=v,v=z.x,z=z.y,e+1<r.length&&(z=r[e+1],v=z.x,z=z.y,z+=p),y=d,f.x===k?y=l-f.y:f.x>k&&f.x<v?y=l+(f.x-k)/(v-k)*(z-l)-f.y:k>f.x&&k<w.x&&(y=l-(f.y+(k-f.x)/(w.x-f.x)*(w.y-f.y))),y<d&&(d=y),w.x<=f.x?c++:v<=k?e++:(w.x<=v&&c++,v<=w.x&&e++);p-=d;p+=m;c=r;e=p;if(null===\nb||2>b.length||null===c||2>c.length)d=null;else{m=fu(a,b.length+c.length);for(d=f=k=0;f<c.length&&c[f].x<b[0].x;)l=c[f++],m[d++].h(l.x,l.y+e);for(;k<b.length;)l=b[k++],m[d++].h(l.x,l.y);for(k=b[b.length-1].x;f<c.length&&c[f].x<=k;)f++;for(;f<c.length&&c[f].x>k;)l=c[f++],m[d++].h(l.x,l.y+e);c=fu(a,d);for(k=0;k<d;k++)c[k].assign(m[k]);qu(a,m);d=c}f=q;k=p;if(null===n||2>n.length||null===f||2>f.length)e=null;else{m=fu(a,n.length+f.length);for(e=l=c=0;c<n.length&&n[c].x<f[0].x;)w=n[c++],m[e++].h(w.x,w.y);\nfor(;l<f.length;)w=f[l++],m[e++].h(w.x,w.y+k);for(f=f[f.length-1].x;c<n.length&&n[c].x<=f;)c++;for(;c<n.length&&n[c].x>f;)k=n[c++],m[e++].h(k.x,k.y);f=fu(a,e);for(c=0;c<e;c++)f[c].assign(m[c]);qu(a,m);e=f}f=u;g=Math.max(0,p)+g.height;qu(a,b);qu(a,r);qu(a,n);qu(a,q);h[0]=d;h[1]=e;return new N(p,0,f,g)}function fu(a,b){a=a.Qu[b];if(void 0!==a&&(a=a.pop(),void 0!==a))return a;a=[];for(var c=0;c<b;c++)a[c]=new J;return a}\nfunction qu(a,b){var c=b.length,d=a.Qu[c];void 0===d&&(d=[],a.Qu[c]=d);d.push(b)}\nlt.prototype.arrangeTrees=function(){if(this.Gb===tt)for(var a=this.Jb.iterator;a.next();){var b=a.value;if(b instanceof st){var c=b.node;if(null!==c){var d=c.position;c=d.x;d=d.y;isFinite(c)||(c=0);isFinite(d)||(d=0);tu(this,b,c,d)}}}else{a=[];for(b=this.Jb.iterator;b.next();)c=b.value,c instanceof st&&a.push(c);switch(this.sorting){case Jt:break;case Kt:a.reverse();break;case Lt:a.sort(this.comparer);break;case Mt:a.sort(this.comparer);a.reverse();break;default:C(\"Unhandled sorting value \"+this.sorting.toString())}c=\nthis.arrangementOrigin;b=c.x;c=c.y;for(d=0;d<a.length;d++){var e=a[d];tu(this,e,b+e.fa.x,c+e.fa.y);switch(this.Gb){case qt:c+=e.va.height+this.Nd.height;break;case uu:b+=e.va.width+this.Nd.width;break;default:C(\"Unhandled arrangement value \"+this.Gb.toString())}}}};function tu(a,b,c,d){if(null!==b){b.x=c;b.y=d;b=b.children;for(var e=b.length,f=0;f<e;f++){var g=b[f];tu(a,g,c+g.U.x,d+g.U.y)}}}lt.prototype.commitLayout=function(){this.Yv();this.commitNodes();this.gv();this.isRouting&&this.commitLinks()};\nlt.prototype.commitNodes=function(){for(var a=this.network.vertexes.iterator;a.next();)a.value.commit();for(a.reset();a.next();)this.layoutComments(a.value)};\nlt.prototype.gv=function(){if(this.layerStyle===Bt){for(var a=this.Aw,b=[],c=null,d=this.network.vertexes.iterator;d.next();){var e=d.value;null===c?c=e.bounds.copy():c.Nc(e.bounds);var f=b[e.level];void 0===f?f=au(e):f=Math.max(f,au(e));b[e.level]=f}for(d=0;d<b.length;d++)void 0===b[d]&&(b[d]=0);90===this.angle||270===this.angle?(c.Gc(this.nodeSpacing/2,this.layerSpacing),d=new J(-this.nodeSpacing/2,-this.layerSpacing/2)):(c.Gc(this.layerSpacing,this.nodeSpacing/2),d=new J(-this.layerSpacing/2,-this.nodeSpacing/\n2));e=[];c=90===this.angle||270===this.angle?c.width:c.height;f=0;if(180===this.angle||270===this.angle)for(var g=0;g<a.length;g++)f+=a[g]+b[g];for(g=0;g<a.length;g++){var h=a[g]+b[g];270===this.angle?(f-=h,e.push(new N(0,f,c,h))):90===this.angle?(e.push(new N(0,f,c,h)),f+=h):180===this.angle?(f-=h,e.push(new N(f,0,h,c))):(e.push(new N(f,0,h,c)),f+=h)}this.commitLayers(e,d)}};lt.prototype.commitLayers=function(){};lt.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};\nlt.prototype.Yv=function(){for(var a=this.Jb.iterator;a.next();){var b=a.value;b instanceof st&&vu(this,b)}};function vu(a,b){if(null!==b){a.setPortSpots(b);b=b.children;for(var c=b.length,d=0;d<c;d++)vu(a,b[d])}}\nlt.prototype.setPortSpots=function(a){var b=a.alignment;if(Nt(b)){var c=this.jd===nt,d=Zt(a);switch(d){case 0:var e=ed;break;case 90:e=fd;break;case 180:e=dd;break;default:e=cd}var f=a.children,g=f.length;switch(b){case Ot:case Et:for(b=0;b<g;b++){var h=f[b];h=(c?h.sourceEdges:h.destinationEdges).first();if(null!==h&&(h=h.link,null!==h)){var k=90===d||270===d?dd:cd;if(1===g||b===g-1&&1===g%2)switch(d){case 0:k=dd;break;case 90:k=cd;break;case 180:k=ed;break;default:k=fd}else 0===b%2&&(k=90===d||270===\nd?ed:fd);c?(a.setsPortSpot&&(h.fromSpot=e),a.setsChildPortSpot&&(h.toSpot=k)):(a.setsPortSpot&&(h.fromSpot=k),a.setsChildPortSpot&&(h.toSpot=e))}}break;case Pt:d=90===d||270===d?ed:fd;for(f=c?a.destinationEdges:a.sourceEdges;f.next();)g=f.value.link,null!==g&&(c?(a.setsPortSpot&&(g.fromSpot=e),a.setsChildPortSpot&&(g.toSpot=d)):(a.setsPortSpot&&(g.fromSpot=d),a.setsChildPortSpot&&(g.toSpot=e)));break;case Qt:for(d=90===d||270===d?dd:cd,f=c?a.destinationEdges:a.sourceEdges;f.next();)g=f.value.link,\nnull!==g&&(c?(a.setsPortSpot&&(g.fromSpot=e),a.setsChildPortSpot&&(g.toSpot=d)):(a.setsPortSpot&&(g.fromSpot=d),a.setsChildPortSpot&&(g.toSpot=e)))}}else if(c=Zt(a),this.jd===nt)for(e=a.destinationEdges;e.next();){if(d=e.value.link,null!==d){if(a.setsPortSpot)if(a.portSpot.Lb())switch(c){case 0:d.fromSpot=ed;break;case 90:d.fromSpot=fd;break;case 180:d.fromSpot=dd;break;default:d.fromSpot=cd}else d.fromSpot=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Lb())switch(c){case 0:d.toSpot=dd;break;\ncase 90:d.toSpot=cd;break;case 180:d.toSpot=ed;break;default:d.toSpot=fd}else d.toSpot=a.childPortSpot}}else for(e=a.sourceEdges;e.next();)if(d=e.value.link,null!==d){if(a.setsPortSpot)if(a.portSpot.Lb())switch(c){case 0:d.toSpot=ed;break;case 90:d.toSpot=fd;break;case 180:d.toSpot=dd;break;default:d.toSpot=cd}else d.toSpot=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Lb())switch(c){case 0:d.fromSpot=dd;break;case 90:d.fromSpot=cd;break;case 180:d.fromSpot=ed;break;default:d.fromSpot=fd}else d.fromSpot=\na.childPortSpot}};function Zt(a){a=a.angle;return 45>=a?0:135>=a?90:225>=a?180:315>=a?270:0}function au(a){var b=Zt(a);b=90===b||270===b;var c=a.layerSpacing;if(0<a.layerSpacingParentOverlap){var d=Math.min(1,a.layerSpacingParentOverlap);c-=b?a.height*d:a.width*d}c<(b?-a.height:-a.width)&&(c=b?-a.height:-a.width);return c}function bu(a){var b=Zt(a),c=a.nodeIndent;if(0<a.nodeIndentPastParent){var d=Math.min(1,a.nodeIndentPastParent);c+=90===b||270===b?a.width*d:a.height*d}return c=Math.max(0,c)}\nna.Object.defineProperties(lt.prototype,{roots:{get:function(){return this.Jb},set:function(a){this.Jb!==a&&(this.Jb=a,this.B())}},path:{get:function(){return this.Yo},set:function(a){this.Yo!==a&&(this.Yo=a,this.B())}},treeStyle:{get:function(){return this.Qp},set:function(a){this.Gb===a||a!==ot&&a!==Ht&&a!==It&&a!==Gt||(this.Qp=a,this.B())}},layerStyle:{get:function(){return this.Gr},\nset:function(a){this.Gb===a||a!==pt&&a!==Ct&&a!==Bt||(this.Gr=a,this.B())}},comments:{get:function(){return this.gd},set:function(a){this.gd!==a&&(this.gd=a,this.B())}},arrangement:{get:function(){return this.Gb},set:function(a){this.Gb===a||a!==qt&&a!==uu&&a!==tt||(this.Gb=a,this.B())}},arrangementSpacing:{get:function(){return this.Nd},set:function(a){this.Nd.A(a)||(this.Nd.assign(a),this.B())}},rootDefaults:{\nget:function(){return this.V},set:function(a){this.V!==a&&(this.V=a,this.B())}},alternateDefaults:{get:function(){return this.W},set:function(a){this.W!==a&&(this.W=a,this.B())}},sorting:{get:function(){return this.V.sorting},set:function(a){this.V.sorting===a||a!==Jt&&a!==Kt&&a!==Lt&&!Mt||(this.V.sorting=a,this.B())}},comparer:{get:function(){return this.V.comparer},set:function(a){this.V.comparer!==\na&&(this.V.comparer=a,this.B())}},angle:{get:function(){return this.V.angle},set:function(a){this.V.angle!==a&&(0===a||90===a||180===a||270===a?(this.V.angle=a,this.B()):C(\"TreeLayout.angle must be 0, 90, 180, or 270\"))}},alignment:{get:function(){return this.V.alignment},set:function(a){this.V.alignment!==a&&(this.V.alignment=a,this.B())}},nodeIndent:{get:function(){return this.V.nodeIndent},set:function(a){this.V.nodeIndent!==\na&&0<=a&&(this.V.nodeIndent=a,this.B())}},nodeIndentPastParent:{get:function(){return this.V.nodeIndentPastParent},set:function(a){this.V.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.V.nodeIndentPastParent=a,this.B())}},nodeSpacing:{get:function(){return this.V.nodeSpacing},set:function(a){this.V.nodeSpacing!==a&&(this.V.nodeSpacing=a,this.B())}},layerSpacing:{get:function(){return this.V.layerSpacing},set:function(a){this.V.layerSpacing!==\na&&(this.V.layerSpacing=a,this.B())}},layerSpacingParentOverlap:{get:function(){return this.V.layerSpacingParentOverlap},set:function(a){this.V.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.V.layerSpacingParentOverlap=a,this.B())}},compaction:{get:function(){return this.V.compaction},set:function(a){this.V.compaction===a||a!==Tt&&a!==Vt||(this.V.compaction=a,this.B())}},breadthLimit:{get:function(){return this.V.breadthLimit},\nset:function(a){this.V.breadthLimit!==a&&0<=a&&(this.V.breadthLimit=a,this.B())}},rowSpacing:{get:function(){return this.V.rowSpacing},set:function(a){this.V.rowSpacing!==a&&(this.V.rowSpacing=a,this.B())}},rowIndent:{get:function(){return this.V.rowIndent},set:function(a){this.V.rowIndent!==a&&0<=a&&(this.V.rowIndent=a,this.B())}},commentSpacing:{get:function(){return this.V.commentSpacing},set:function(a){this.V.commentSpacing!==\na&&(this.V.commentSpacing=a,this.B())}},commentMargin:{get:function(){return this.V.commentMargin},set:function(a){this.V.commentMargin!==a&&(this.V.commentMargin=a,this.B())}},setsPortSpot:{get:function(){return this.V.setsPortSpot},set:function(a){this.V.setsPortSpot!==a&&(this.V.setsPortSpot=a,this.B())}},portSpot:{get:function(){return this.V.portSpot},set:function(a){this.V.portSpot.A(a)||(this.V.portSpot=\na,this.B())}},setsChildPortSpot:{get:function(){return this.V.setsChildPortSpot},set:function(a){this.V.setsChildPortSpot!==a&&(this.V.setsChildPortSpot=a,this.B())}},childPortSpot:{get:function(){return this.V.childPortSpot},set:function(a){this.V.childPortSpot.A(a)||(this.V.childPortSpot=a,this.B())}},alternateSorting:{get:function(){return this.W.sorting},set:function(a){this.W.sorting===a||a!==Jt&&a!==Kt&&\na!==Lt&&!Mt||(this.W.sorting=a,this.B())}},alternateComparer:{get:function(){return this.W.comparer},set:function(a){this.W.comparer!==a&&(this.W.comparer=a,this.B())}},alternateAngle:{get:function(){return this.W.angle},set:function(a){this.W.angle===a||0!==a&&90!==a&&180!==a&&270!==a||(this.W.angle=a,this.B())}},alternateAlignment:{get:function(){return this.W.alignment},set:function(a){this.W.alignment!==\na&&(this.W.alignment=a,this.B())}},alternateNodeIndent:{get:function(){return this.W.nodeIndent},set:function(a){this.W.nodeIndent!==a&&0<=a&&(this.W.nodeIndent=a,this.B())}},alternateNodeIndentPastParent:{get:function(){return this.W.nodeIndentPastParent},set:function(a){this.W.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.W.nodeIndentPastParent=a,this.B())}},alternateNodeSpacing:{get:function(){return this.W.nodeSpacing},\nset:function(a){this.W.nodeSpacing!==a&&(this.W.nodeSpacing=a,this.B())}},alternateLayerSpacing:{get:function(){return this.W.layerSpacing},set:function(a){this.W.layerSpacing!==a&&(this.W.layerSpacing=a,this.B())}},alternateLayerSpacingParentOverlap:{get:function(){return this.W.layerSpacingParentOverlap},set:function(a){this.W.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.W.layerSpacingParentOverlap=a,this.B())}},alternateCompaction:{\nget:function(){return this.W.compaction},set:function(a){this.W.compaction===a||a!==Tt&&a!==Vt||(this.W.compaction=a,this.B())}},alternateBreadthLimit:{get:function(){return this.W.breadthLimit},set:function(a){this.W.breadthLimit!==a&&0<=a&&(this.W.breadthLimit=a,this.B())}},alternateRowSpacing:{get:function(){return this.W.rowSpacing},set:function(a){this.W.rowSpacing!==a&&(this.W.rowSpacing=a,this.B())}},alternateRowIndent:{\nget:function(){return this.W.rowIndent},set:function(a){this.W.rowIndent!==a&&0<=a&&(this.W.rowIndent=a,this.B())}},alternateCommentSpacing:{get:function(){return this.W.commentSpacing},set:function(a){this.W.commentSpacing!==a&&(this.W.commentSpacing=a,this.B())}},alternateCommentMargin:{get:function(){return this.W.commentMargin},set:function(a){this.W.commentMargin!==a&&(this.W.commentMargin=a,this.B())}},alternateSetsPortSpot:{\nget:function(){return this.W.setsPortSpot},set:function(a){this.W.setsPortSpot!==a&&(this.W.setsPortSpot=a,this.B())}},alternatePortSpot:{get:function(){return this.W.portSpot},set:function(a){this.W.portSpot.A(a)||(this.W.portSpot=a,this.B())}},alternateSetsChildPortSpot:{get:function(){return this.W.setsChildPortSpot},set:function(a){this.W.setsChildPortSpot!==a&&(this.W.setsChildPortSpot=a,this.B())}},alternateChildPortSpot:{\nget:function(){return this.W.childPortSpot},set:function(a){this.W.childPortSpot.A(a)||(this.W.childPortSpot=a,this.B())}}});\nvar mt=new D(lt,\"PathDefault\",-1),nt=new D(lt,\"PathDestination\",0),ut=new D(lt,\"PathSource\",1),Jt=new D(lt,\"SortingForwards\",10),Kt=new D(lt,\"SortingReverse\",11),Lt=new D(lt,\"SortingAscending\",12),Mt=new D(lt,\"SortingDescending\",13),lu=new D(lt,\"AlignmentCenterSubtrees\",20),mu=new D(lt,\"AlignmentCenterChildren\",21),cu=new D(lt,\"AlignmentStart\",22),$t=new D(lt,\"AlignmentEnd\",23),Ot=new D(lt,\"AlignmentBus\",24),Et=new D(lt,\"AlignmentBusBranching\",25),Pt=new D(lt,\"AlignmentTopLeftBus\",26),Qt=new D(lt,\n\"AlignmentBottomRightBus\",27),Tt=new D(lt,\"CompactionNone\",30),Vt=new D(lt,\"CompactionBlock\",31),ot=new D(lt,\"StyleLayered\",40),It=new D(lt,\"StyleLastParents\",41),Ht=new D(lt,\"StyleAlternating\",42),Gt=new D(lt,\"StyleRootOnly\",43),qt=new D(lt,\"ArrangementVertical\",50),uu=new D(lt,\"ArrangementHorizontal\",51),tt=new D(lt,\"ArrangementFixedRoots\",52),pt=new D(lt,\"LayerIndividual\",60),Ct=new D(lt,\"LayerSiblings\",61),Bt=new D(lt,\"LayerUniform\",62);lt.className=\"TreeLayout\";lt.PathDefault=mt;\nlt.PathDestination=nt;lt.PathSource=ut;lt.SortingForwards=Jt;lt.SortingReverse=Kt;lt.SortingAscending=Lt;lt.SortingDescending=Mt;lt.AlignmentCenterSubtrees=lu;lt.AlignmentCenterChildren=mu;lt.AlignmentStart=cu;lt.AlignmentEnd=$t;lt.AlignmentBus=Ot;lt.AlignmentBusBranching=Et;lt.AlignmentTopLeftBus=Pt;lt.AlignmentBottomRightBus=Qt;lt.CompactionNone=Tt;lt.CompactionBlock=Vt;lt.StyleLayered=ot;lt.StyleLastParents=It;lt.StyleAlternating=Ht;lt.StyleRootOnly=Gt;lt.ArrangementVertical=qt;\nlt.ArrangementHorizontal=uu;lt.ArrangementFixedRoots=tt;lt.LayerIndividual=pt;lt.LayerSiblings=Ct;lt.LayerUniform=Bt;function rt(a){Sp.call(this,a)}ma(rt,Sp);rt.prototype.createVertex=function(){return new st(this)};rt.prototype.createEdge=function(){return new wu(this)};rt.className=\"TreeNetwork\";\nfunction st(a){fq.call(this,a);this.Ga=!1;this.yc=null;this.C=[];this.Oc=this.Wa=this.M=this.Ha=0;this.gd=null;this.U=new J(0,0);this.va=new M(0,0);this.fa=new J(0,0);this.Cm=this.Bm=this.TA=!1;this.Eq=this.sq=null;this.Yc=Jt;this.Rc=mq;this.xb=0;this.wb=mu;this.Pr=this.Or=0;this.Qr=20;this.Zd=50;this.Fr=0;this.Yq=Vt;this.Rq=0;this.Zr=25;this.Xq=this.Yr=10;this.Wq=20;this.ds=!0;this.Vr=Vc;this.cs=!0;this.Uq=Vc}ma(st,fq);\nst.prototype.copyInheritedPropertiesFrom=function(a){null!==a&&(this.Yc=a.sorting,this.Rc=a.comparer,this.xb=a.angle,this.wb=a.alignment,this.Or=a.nodeIndent,this.Pr=a.nodeIndentPastParent,this.Qr=a.nodeSpacing,this.Zd=a.layerSpacing,this.Fr=a.layerSpacingParentOverlap,this.Yq=a.compaction,this.Rq=a.breadthLimit,this.Zr=a.rowSpacing,this.Yr=a.rowIndent,this.Xq=a.commentSpacing,this.Wq=a.commentMargin,this.ds=a.setsPortSpot,this.Vr=a.portSpot,this.cs=a.setsChildPortSpot,this.Uq=a.childPortSpot)};\nna.Object.defineProperties(st.prototype,{initialized:{get:function(){return this.Ga},set:function(a){this.Ga!==a&&(this.Ga=a)}},parent:{get:function(){return this.yc},set:function(a){this.yc!==a&&(this.yc=a)}},children:{get:function(){return this.C},set:function(a){if(this.C!==a){if(null!==a)for(var b=a.length,c=0;c<b;c++);this.C=a}}},level:{get:function(){return this.Ha},set:function(a){this.Ha!==\na&&(this.Ha=a)}},descendantCount:{get:function(){return this.M},set:function(a){this.M!==a&&(this.M=a)}},maxChildrenCount:{get:function(){return this.Wa},set:function(a){this.Wa!==a&&(this.Wa=a)}},maxGenerationCount:{get:function(){return this.Oc},set:function(a){this.Oc!==a&&(this.Oc=a)}},comments:{get:function(){return this.gd},set:function(a){if(this.gd!==a){if(null!==a)for(var b=\na.length,c=0;c<b;c++);this.gd=a}}},sorting:{get:function(){return this.Yc},set:function(a){this.Yc!==a&&(this.Yc=a)}},comparer:{get:function(){return this.Rc},set:function(a){this.Rc!==a&&(this.Rc=a)}},angle:{get:function(){return this.xb},set:function(a){this.xb!==a&&(this.xb=a)}},alignment:{get:function(){return this.wb},set:function(a){this.wb!==a&&(this.wb=a)}},nodeIndent:{\nget:function(){return this.Or},set:function(a){this.Or!==a&&(this.Or=a)}},nodeIndentPastParent:{get:function(){return this.Pr},set:function(a){this.Pr!==a&&(this.Pr=a)}},nodeSpacing:{get:function(){return this.Qr},set:function(a){this.Qr!==a&&(this.Qr=a)}},layerSpacing:{get:function(){return this.Zd},set:function(a){this.Zd!==a&&(this.Zd=a)}},layerSpacingParentOverlap:{\nget:function(){return this.Fr},set:function(a){this.Fr!==a&&(this.Fr=a)}},compaction:{get:function(){return this.Yq},set:function(a){this.Yq!==a&&(this.Yq=a)}},breadthLimit:{get:function(){return this.Rq},set:function(a){this.Rq!==a&&(this.Rq=a)}},rowSpacing:{get:function(){return this.Zr},set:function(a){this.Zr!==a&&(this.Zr=a)}},rowIndent:{get:function(){return this.Yr},set:function(a){this.Yr!==\na&&(this.Yr=a)}},commentSpacing:{get:function(){return this.Xq},set:function(a){this.Xq!==a&&(this.Xq=a)}},commentMargin:{get:function(){return this.Wq},set:function(a){this.Wq!==a&&(this.Wq=a)}},setsPortSpot:{get:function(){return this.ds},set:function(a){this.ds!==a&&(this.ds=a)}},portSpot:{get:function(){return this.Vr},set:function(a){this.Vr.A(a)||(this.Vr=a)}},setsChildPortSpot:{\nget:function(){return this.cs},set:function(a){this.cs!==a&&(this.cs=a)}},childPortSpot:{get:function(){return this.Uq},set:function(a){this.Uq.A(a)||(this.Uq=a)}},childrenCount:{get:function(){return this.children.length}},relativePosition:{get:function(){return this.U},set:function(a){this.U.set(a)}},subtreeSize:{get:function(){return this.va},set:function(a){this.va.set(a)}},\nsubtreeOffset:{get:function(){return this.fa},set:function(a){this.fa.set(a)}}});st.className=\"TreeVertex\";function wu(a){gq.call(this,a);this.yu=new J(0,0)}ma(wu,gq);\nwu.prototype.commit=function(){var a=this.link;if(null!==a&&!a.isAvoiding){var b=this.network.layout,c=null,d=null;switch(b.jd){case nt:c=this.fromVertex;d=this.toVertex;break;case ut:c=this.toVertex;d=this.fromVertex;break;default:C(\"Unhandled path value \"+b.jd.toString())}if(null!==c&&null!==d)if(b=this.yu,0!==b.x||0!==b.y||c.TA){d=c.bounds;var e=Zt(c),f=au(c),g=c.rowSpacing;a.pg();var h=a.curve===Yf,k=a.isOrthogonal,l;a.Hh();if(k||h){for(l=2;4<a.pointsCount;)a.Rv(2);var m=a.i(1);var n=a.i(2)}else{for(l=\n1;3<a.pointsCount;)a.Rv(1);m=a.i(0);n=a.i(a.pointsCount-1)}var p=a.i(a.pointsCount-1);0===e?(c.alignment===$t?(e=d.bottom+b.y,0===b.y&&m.y>p.y+c.rowIndent&&(e=Math.min(e,Math.max(m.y,e-bu(c))))):c.alignment===cu?(e=d.top+b.y,0===b.y&&m.y<p.y-c.rowIndent&&(e=Math.max(e,Math.min(m.y,e+bu(c))))):e=c.Bm||c.Cm&&1===c.maxGenerationCount?d.top-c.fa.y+b.y:d.y+d.height/2+b.y,h?(a.l(l,m.x,e),l++,a.l(l,d.right+f,e),l++,a.l(l,d.right+f+(b.x-g)/3,e),l++,a.l(l,d.right+f+2*(b.x-g)/3,e),l++,a.l(l,d.right+f+(b.x-\ng),e),l++,a.l(l,n.x,e)):(k&&(a.l(l,d.right+f/2,m.y),l++),a.l(l,d.right+f/2,e),l++,a.l(l,d.right+f+b.x-(k?g/2:g),e),l++,k&&a.l(l,a.i(l-1).x,n.y))):90===e?(c.alignment===$t?(e=d.right+b.x,0===b.x&&m.x>p.x+c.rowIndent&&(e=Math.min(e,Math.max(m.x,e-bu(c))))):c.alignment===cu?(e=d.left+b.x,0===b.x&&m.x<p.x-c.rowIndent&&(e=Math.max(e,Math.min(m.x,e+bu(c))))):e=c.Bm||c.Cm&&1===c.maxGenerationCount?d.left-c.fa.x+b.x:d.x+d.width/2+b.x,h?(a.l(l,e,m.y),l++,a.l(l,e,d.bottom+f),l++,a.l(l,e,d.bottom+f+(b.y-g)/\n3),l++,a.l(l,e,d.bottom+f+2*(b.y-g)/3),l++,a.l(l,e,d.bottom+f+(b.y-g)),l++,a.l(l,e,n.y)):(k&&(a.l(l,m.x,d.bottom+f/2),l++),a.l(l,e,d.bottom+f/2),l++,a.l(l,e,d.bottom+f+b.y-(k?g/2:g)),l++,k&&a.l(l,n.x,a.i(l-1).y))):180===e?(c.alignment===$t?(e=d.bottom+b.y,0===b.y&&m.y>p.y+c.rowIndent&&(e=Math.min(e,Math.max(m.y,e-bu(c))))):c.alignment===cu?(e=d.top+b.y,0===b.y&&m.y<p.y-c.rowIndent&&(e=Math.max(e,Math.min(m.y,e+bu(c))))):e=c.Bm||c.Cm&&1===c.maxGenerationCount?d.top-c.fa.y+b.y:d.y+d.height/2+b.y,h?\n(a.l(l,m.x,e),l++,a.l(l,d.left-f,e),l++,a.l(l,d.left-f+(b.x+g)/3,e),l++,a.l(l,d.left-f+2*(b.x+g)/3,e),l++,a.l(l,d.left-f+(b.x+g),e),l++,a.l(l,n.x,e)):(k&&(a.l(l,d.left-f/2,m.y),l++),a.l(l,d.left-f/2,e),l++,a.l(l,d.left-f+b.x+(k?g/2:g),e),l++,k&&a.l(l,a.i(l-1).x,n.y))):270===e?(c.alignment===$t?(e=d.right+b.x,0===b.x&&m.x>p.x+c.rowIndent&&(e=Math.min(e,Math.max(m.x,e-bu(c))))):c.alignment===cu?(e=d.left+b.x,0===b.x&&m.x<p.x-c.rowIndent&&(e=Math.max(e,Math.min(m.x,e+bu(c))))):e=c.Bm||c.Cm&&1===c.maxGenerationCount?\nd.left-c.fa.x+b.x:d.x+d.width/2+b.x,h?(a.l(l,e,m.y),l++,a.l(l,e,d.top-f),l++,a.l(l,e,d.top-f+(b.y+g)/3),l++,a.l(l,e,d.top-f+2*(b.y+g)/3),l++,a.l(l,e,d.top-f+(b.y+g)),l++,a.l(l,e,n.y)):(k&&(a.l(l,m.x,d.top-f/2),l++),a.l(l,e,d.top-f/2),l++,a.l(l,e,d.top-f+b.y+(k?g/2:g)),l++,k&&a.l(l,n.x,a.i(l-1).y))):C(\"Invalid angle \"+e);a.rf()}else a=this.link,f=Zt(c),f!==Zt(d)&&(g=au(c),h=c.bounds,c=d.bounds,0===f&&c.left-h.right<g+1||90===f&&c.top-h.bottom<g+1||180===f&&h.left-c.right<g+1||270===f&&h.top-c.bottom<\ng+1||(a.pg(),c=a.curve===Yf,b=a.isOrthogonal,d=Nt(this.fromVertex.alignment),a.Hh(),0===f?(f=h.right+g/2,c?4===a.pointsCount&&(c=a.i(3).y,a.L(1,f-20,a.i(1).y),a.l(2,f-20,c),a.l(3,f,c),a.l(4,f+20,c),a.L(5,a.i(5).x,c)):b?d?a.L(3,a.i(2).x,a.i(4).y):6===a.pointsCount&&(a.L(2,f,a.i(2).y),a.L(3,f,a.i(3).y)):4===a.pointsCount?a.l(2,f,a.i(2).y):3===a.pointsCount?a.L(1,f,a.i(2).y):2===a.pointsCount&&a.l(1,f,a.i(1).y)):90===f?(f=h.bottom+g/2,c?4===a.pointsCount&&(c=a.i(3).x,a.L(1,a.i(1).x,f-20),a.l(2,c,f-20),\na.l(3,c,f),a.l(4,c,f+20),a.L(5,c,a.i(5).y)):b?d?a.L(3,a.i(2).x,a.i(4).y):6===a.pointsCount&&(a.L(2,a.i(2).x,f),a.L(3,a.i(3).x,f)):4===a.pointsCount?a.l(2,a.i(2).x,f):3===a.pointsCount?a.L(1,a.i(2).x,f):2===a.pointsCount&&a.l(1,a.i(1).x,f)):180===f?(f=h.left-g/2,c?4===a.pointsCount&&(c=a.i(3).y,a.L(1,f+20,a.i(1).y),a.l(2,f+20,c),a.l(3,f,c),a.l(4,f-20,c),a.L(5,a.i(5).x,c)):b?d?a.L(3,a.i(2).x,a.i(4).y):6===a.pointsCount&&(a.L(2,f,a.i(2).y),a.L(3,f,a.i(3).y)):4===a.pointsCount?a.l(2,f,a.i(2).y):3===a.pointsCount?\na.L(1,f,a.i(2).y):2===a.pointsCount&&a.l(1,f,a.i(1).y)):270===f&&(f=h.top-g/2,c?4===a.pointsCount&&(c=a.i(3).x,a.L(1,a.i(1).x,f+20),a.l(2,c,f+20),a.l(3,c,f),a.l(4,c,f-20),a.L(5,c,a.i(5).y)):b?d?a.L(3,a.i(2).x,a.i(4).y):6===a.pointsCount&&(a.L(2,a.i(2).x,f),a.L(3,a.i(3).x,f)):4===a.pointsCount?a.l(2,a.i(2).x,f):3===a.pointsCount?a.L(1,a.i(2).x,f):2===a.pointsCount&&a.l(1,a.i(1).x,f)),a.rf()))}};\nna.Object.defineProperties(wu.prototype,{fromVertex:{get:function(){return this.Tc},set:function(a){this.Tc!==a&&(this.Tc=a)}},toVertex:{get:function(){return this.ad},set:function(a){this.ad!==a&&(this.ad=a)}},relativePoint:{get:function(){return this.yu},set:function(a){this.yu.set(a)}}});wu.className=\"TreeEdge\";\nOa.prototype.initializeStandardTools=function(){this.Za(\"Action\",new tg,this.mouseDownTools);this.Za(\"Relinking\",new Ne,this.mouseDownTools);this.Za(\"LinkReshaping\",new Wf,this.mouseDownTools);this.Za(\"Rotating\",new rg,this.mouseDownTools);this.Za(\"Resizing\",new cg,this.mouseDownTools);this.Za(\"Linking\",new Pf,this.mouseMoveTools);this.Za(\"Dragging\",new De,this.mouseMoveTools);this.Za(\"DragSelecting\",new wg,this.mouseMoveTools);this.Za(\"Panning\",new xg,this.mouseMoveTools);this.Za(\"ContextMenu\",new zg,\nthis.mouseUpTools);this.Za(\"TextEditing\",new Kg,this.mouseUpTools);this.Za(\"ClickCreating\",new ug,this.mouseUpTools);this.Za(\"ClickSelecting\",new sg,this.mouseUpTools)};rn(\"Horizontal\",new tm);rn(\"Spot\",new vm);rn(\"Table\",new Am);rn(\"Viewbox\",new Fm);rn(\"TableRow\",new Dm);rn(\"TableColumn\",new Em);rn(\"Graduated\",new Pm);rn(\"Grid\",new Gm);gi.add(\"GraphLinksModel\",Fq);gi.add(\"TreeModel\",Tq);Yp($r,null);Yp(os,null);\nvar xu=x.go,yu={get licenseKey(){return T.licenseKey},set licenseKey(a){T.licenseKey=a},get version(){return T.version},Group:hf,EnumValue:D,List:E,Set:G,Map:I,Point:J,Size:M,Rect:N,Margin:ic,Spot:P,Geometry:Q,PathFigure:Wd,PathSegment:Xd,InputEvent:Zd,DiagramEvent:ae,ChangedEvent:be,Model:Z,GraphLinksModel:nr,TreeModel:sr,Binding:ri,Transaction:oe,UndoManager:pe,CommandHandler:Qk,Tool:re,DraggingTool:De,DraggingInfo:Oe,DraggingOptions:Ee,LinkingBaseTool:tf,LinkingTool:Pf,RelinkingTool:Ne,LinkReshapingTool:Wf,\nResizingTool:cg,RotatingTool:rg,ClickSelectingTool:sg,ActionTool:tg,ClickCreatingTool:ug,HTMLInfo:Be,ContextMenuTool:zg,DragSelectingTool:wg,PanningTool:xg,TextEditingTool:Kg,ToolManager:Oa,Animation:fh,AnimationManager:bh,AnimationTrigger:Uh,Layer:Zh,Diagram:T,Palette:Jk,Overview:Mk,Brush:ml,GraphObject:Y,Panel:X,RowColumnDefinition:Nj,Shape:uf,TextBlock:Lg,Picture:Vj,Part:V,Adornment:we,Node:W,Link:U,Placeholder:mg,Layout:li,LayoutNetwork:Sp,LayoutVertex:fq,LayoutEdge:gq,GridLayout:Lk,PanelLayout:Kl,\nCircularLayout:tr,CircularNetwork:Kr,CircularVertex:Yr,CircularEdge:Zr,ForceDirectedLayout:$r,ForceDirectedNetwork:as,ForceDirectedVertex:ms,ForceDirectedEdge:ns,LayeredDigraphLayout:os,LayeredDigraphNetwork:ts,LayeredDigraphVertex:jt,LayeredDigraphEdge:kt,TreeLayout:lt,TreeNetwork:rt,TreeVertex:st,TreeEdge:wu};\"object\"===typeof xu&&xu.version&&C(\"WARNING: a `go` object on the root object is already defined.  \"+(\"Debug\"in xu?\"debug \":\"\")+\"version: \"+xu.version+\", replaced with version: \"+yu.version);\nT.prototype.go=yu;x.go=yu;(\"undefined\"===typeof x||\"undefined\"===typeof x.module||\"object\"!==typeof x.module.exports)&&x.define&&\"function\"===typeof x.define&&x.define.amd&&x.define(yu); 'undefined'!==typeof module&&'object'===typeof module.exports&&(module.exports='undefined'!==typeof global?global.go:self.go); })();\n"
  },
  {
    "path": "addon/chrome/content/lib/js/mml2omml.sef.json",
    "content": "{\"N\":\"package\",\"version\":\"10\",\"packageVersion\":\"1\",\"saxonVersion\":\"SaxonJS 2.6\",\"target\":\"JS\",\"targetVersion\":\"2\",\"name\":\"TOP-LEVEL\",\"relocatable\":\"true\",\"buildDateTime\":\"2023-12-03T15:50:05.148+08:00\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"C\":[{\"N\":\"co\",\"id\":\"0\",\"uniform\":\"true\",\"binds\":\"0\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}SReplace\",\"line\":\"32\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"33\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}sOrig\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"34\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}sReplacement\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"35\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"37\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"38\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sInput\",\"slot\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOrig\",\"slot\":\"1\"}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"39\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"39\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}sBefore\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"42\",\"C\":[{\"N\":\"fn\",\"name\":\"substring-before\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"42\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sInput\",\"slot\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOrig\",\"slot\":\"1\"}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"let\",\"var\":\"Q{}sAfter\",\"slot\":\"4\",\"sType\":\"*NT \",\"line\":\"43\",\"C\":[{\"N\":\"fn\",\"name\":\"substring-after\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"43\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sInput\",\"slot\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOrig\",\"slot\":\"1\"}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"let\",\"var\":\"Q{}sAfterProcessed\",\"slot\":\"5\",\"sType\":\"*NT \",\"line\":\"44\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}SReplace\",\"line\":\"45\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sAfter\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"46\"}]},{\"N\":\"withParam\",\"name\":\"Q{}sOrig\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOrig\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"47\"}]},{\"N\":\"withParam\",\"name\":\"Q{}sReplacement\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sReplacement\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"48\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"52\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"concat\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"52\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||concat\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sBefore\",\"slot\":\"3\"}]}]},{\"N\":\"fn\",\"name\":\"concat\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||concat\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sReplacement\",\"slot\":\"2\"}]}]},{\"N\":\"atomSing\",\"diag\":\"0|1||concat\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sAfterProcessed\",\"slot\":\"5\"}]}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"1\",\"uniform\":\"true\",\"binds\":\"0\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}OutputText\",\"line\":\"61\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"62\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sCharStrip\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"67\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"68\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"68\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sInput\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"⁢​\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sCharReplace\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"73\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}SReplace\",\"line\":\"74\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sCharStrip\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"75\"}]},{\"N\":\"withParam\",\"name\":\"Q{}sOrig\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"⩵\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"76\"}]},{\"N\":\"withParam\",\"name\":\"Q{}sReplacement\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"==\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"77\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sCharReplaceFinal\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"82\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"82\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sCharReplace\",\"slot\":\"2\"}]}]},{\"N\":\"str\",\"val\":\" \"},{\"N\":\"str\",\"val\":\" \"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"85\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}sCharReplaceFinal\",\"slot\":\"3\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"85\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"2\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FNonGlyphToken\",\"line\":\"93\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"94\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"94\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"95\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE u[NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mi,NE nQ{http://www.w3.org/1998/Math/MathML}mn],NE nQ{http://www.w3.org/1998/Math/MathML}mo],NE nQ{http://www.w3.org/1998/Math/MathML}ms],NE nQ{http://www.w3.org/1998/Math/MathML}mtext]\",\"line\":\"100\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*NE u[NE u[NE u[NE u[NE nQ{http://www.w3.org/1998/Math/MathML}mi,NE nQ{http://www.w3.org/1998/Math/MathML}mn],NE nQ{http://www.w3.org/1998/Math/MathML}mo],NE nQ{http://www.w3.org/1998/Math/MathML}ms],NE nQ{http://www.w3.org/1998/Math/MathML}mtext]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"3\",\"uniform\":\"true\",\"binds\":\"2\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FStartOfRun\",\"line\":\"113\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"114\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"114\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fPrecSibNonGlyphToken\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"115\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNonGlyphToken\",\"line\":\"116\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"117\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"120\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"122\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fPrecSibNonGlyphToken\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"4\",\"uniform\":\"true\",\"binds\":\"43\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsNaryArgument\",\"line\":\"135\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"136\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"136\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"138\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"139\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"140\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"143\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"146\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mover\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munderover\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msub\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msup\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msubsup\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"true\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"5\",\"uniform\":\"true\",\"binds\":\"9 7 6 1 26 5\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"442\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"443\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"444\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"445\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"446\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}font-family\",\"slot\":\"4\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"447\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"4\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"448\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"5\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"449\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"6\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"450\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"7\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"451\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"8\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"452\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"9\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sFontCur\",\"slot\":\"12\",\"sType\":\"* \",\"line\":\"494\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}GetFontCur\",\"line\":\"495\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"496\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"497\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"498\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"499\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNdTokenFirstIsMText\",\"slot\":\"13\",\"sType\":\"* \",\"line\":\"508\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"509\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"line\":\"510\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}nndBeforeFirst\",\"slot\":\"14\",\"sType\":\"* \",\"line\":\"520\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"520\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}nndBeforeLim\",\"slot\":\"15\",\"sType\":\"* \",\"line\":\"699\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"699\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"first\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNdTokenFirstIsMText\",\"slot\":\"13\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNdTokenFirstIsMText\",\"slot\":\"13\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"normal\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"normal\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"fn\",\"name\":\"number\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||number\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]}]}]}]}]},{\"N\":\"str\",\"val\":\"NaN\"}]}]}]}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"italic\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"fn\",\"name\":\"number\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||number\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]}]}]}]}]},{\"N\":\"str\",\"val\":\"NaN\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]},{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"normal\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"bi\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"bold-italic\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"bold-italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"bold-italic\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]},{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"italic\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"normal\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"italic\"}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]}]}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"12\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"},{\"N\":\"str\",\"val\":\"\"}]}]}]}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font-family\",\"slot\":\"4\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font-family\",\"slot\":\"4\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font-family\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font-family\",\"slot\":\"4\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\"},{\"N\":\"str\",\"val\":\"\"}]}]}]}]}]}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}cndRun\",\"slot\":\"16\",\"sType\":\"* \",\"line\":\"701\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"701\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}nndBeforeLim\",\"slot\":\"15\"}]}]},{\"N\":\"atomSing\",\"diag\":\"1|1||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}nndBeforeFirst\",\"slot\":\"14\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"707\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"710\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"715\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"716\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"717\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"718\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"719\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"720\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"721\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"722\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"723\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"724\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"726\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"727\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"731\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"732\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"734\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"735\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"val\":\"ms\"}]}]},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}OutputMs\",\"line\":\"736\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"737\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"741\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"741\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"744\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"744\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"gc10\",\"op\":\"<\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"745\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"747\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"str\",\"val\":\"ms\"}]}]},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}OutputMs\",\"line\":\"748\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"749\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"753\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"753\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"769\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"770\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"771\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"772\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"773\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"774\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"775\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"776\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"777\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"779\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"780\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"784\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"790\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"792\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"794\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"val\":\"ms\"}]}]},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}OutputMs\",\"line\":\"795\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"796\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"800\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"800\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"803\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"803\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"804\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"806\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"str\",\"val\":\"ms\"}]}]},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}OutputMs\",\"line\":\"807\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"808\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"812\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"812\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"831\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"831\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}nndBeforeLim\",\"slot\":\"15\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"832\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"834\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathbackground\",\"line\":\"835\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"836\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathbackground\",\"role\":\"select\",\"line\":\"836\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"839\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"role\":\"select\",\"line\":\"839\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"844\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathcolor\",\"line\":\"845\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"846\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathcolor\",\"role\":\"select\",\"line\":\"846\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"849\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"role\":\"select\",\"line\":\"849\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"854\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathvariant\",\"line\":\"855\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"856\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathvariant\",\"role\":\"select\",\"line\":\"856\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"859\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"role\":\"select\",\"line\":\"859\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"864\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}color\",\"line\":\"865\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"866\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}color\",\"role\":\"select\",\"line\":\"866\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"869\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"role\":\"select\",\"line\":\"869\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"4\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"874\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}font-family\",\"line\":\"875\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"876\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}font-family\",\"role\":\"select\",\"line\":\"876\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"879\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"role\":\"select\",\"line\":\"879\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"884\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontsize\",\"line\":\"885\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"886\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontsize\",\"role\":\"select\",\"line\":\"886\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"889\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"role\":\"select\",\"line\":\"889\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"894\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontstyle\",\"line\":\"895\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"896\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontstyle\",\"role\":\"select\",\"line\":\"896\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"899\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"role\":\"select\",\"line\":\"899\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"904\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontweight\",\"line\":\"905\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"906\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontweight\",\"role\":\"select\",\"line\":\"906\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"909\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"role\":\"select\",\"line\":\"909\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"914\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathsize\",\"line\":\"915\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"916\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathsize\",\"role\":\"select\",\"line\":\"916\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"919\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"role\":\"select\",\"line\":\"919\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"923\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"9\"}]},{\"N\":\"filter\",\"flags\":\"i\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"varRef\",\"name\":\"Q{}cndRun\",\"slot\":\"16\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"6\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FNor\",\"line\":\"931\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"932\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"932\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"933\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"936\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"7\",\"uniform\":\"true\",\"binds\":\"8\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateRunProp\",\"line\":\"944\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"945\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathcolor\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"946\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"947\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}color\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"948\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}font-family\",\"slot\":\"4\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"949\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"4\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontsize\",\"slot\":\"5\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"950\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"5\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"951\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"6\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"952\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"7\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathsize\",\"slot\":\"8\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"953\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"8\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"9\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"954\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"9\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontfamily\",\"slot\":\"10\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"955\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"10\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fNor\",\"slot\":\"11\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"956\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"11\",\"sType\":\"* \"}]},{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateMathRPR\",\"line\":\"969\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"970\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"971\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"972\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"9\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"973\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"11\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"11\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"974\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"8\",\"uniform\":\"true\",\"binds\":\"9 10\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateMathRPR\",\"line\":\"980\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"981\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"982\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"983\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"984\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fNor\",\"slot\":\"4\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"985\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"4\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sFontCur\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"986\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}GetFontCur\",\"line\":\"987\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"988\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"989\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"990\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"991\"}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"994\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"994\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"5\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"5\"},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:rPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"995\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"996\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"996\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"name\":\"m:nor\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nor \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"997\",\"C\":[{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}CreateMathScrStyProp\",\"line\":\"999\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}font\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sFontCur\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1000\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1001\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"9\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}GetFontCur\",\"line\":\"1009\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1010\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}mathvariant\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1011\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontstyle\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1012\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fontweight\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1013\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1014\",\"C\":[{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1015\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1016\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}mathvariant\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1016\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1018\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1019\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"italic\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1019\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1023\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mi\"}]}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mn\"}]}]},{\"N\":\"gc10\",\"op\":\"!=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"fn\",\"name\":\"number\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||number\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]}]}]}]}]},{\"N\":\"str\",\"val\":\"NaN\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1026\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1027\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"3\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1030\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"bold\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1030\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1032\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1033\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"normal\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1033\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1035\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"3\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1036\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"bi\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1036\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1039\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"italic\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1039\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1045\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1046\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"3\"},{\"N\":\"str\",\"val\":\"bold\"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1047\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"bi\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1047\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1049\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1050\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"italic\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1050\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1052\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"3\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1053\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"bold\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1053\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1056\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"str\",\"val\":\"normal\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1056\"}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"10\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateMathScrStyProp\",\"line\":\"1066\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}font\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1067\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fNor\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1068\",\"C\":[{\"N\":\"int\",\"val\":\"0\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1068\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"1069\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1070\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"normal\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1071\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1072\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"p\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1075\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1076\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1077\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"b\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1080\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"italic\"}]},{\"N\":\"empty\",\"sType\":\"0 \"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1082\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"script\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1083\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1084\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"script\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1087\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold-script\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1088\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1089\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"script\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1091\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1092\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"b\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1095\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"double-struck\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1096\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1097\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"double-struck\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1099\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1100\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"p\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1103\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"fraktur\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1104\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1105\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"fraktur\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1107\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1108\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"p\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1111\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold-fraktur\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1112\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1113\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"fraktur\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1115\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1116\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"b\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1119\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"sans-serif\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1120\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1121\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"sans-serif\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1123\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1124\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"p\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1127\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold-sans-serif\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1128\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1129\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"sans-serif\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1131\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1132\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"b\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1135\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"sans-serif-italic\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1136\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1137\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"sans-serif\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1140\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"sans-serif-bold-italic\"}]},{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1141\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1142\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"sans-serif\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1144\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1145\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bi\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1148\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"monospace\"}]},{\"N\":\"empty\",\"sType\":\"0 \"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1150\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1151\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1152\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"b\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1155\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bi\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}font\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"bold-italic\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:sty\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1156\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1157\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bi\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"co\",\"id\":\"11\",\"uniform\":\"true\",\"binds\":\"45 46 37\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FBar\",\"line\":\"1163\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}sLineThickness\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1164\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sLowerLineThickness\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1165\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1165\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLineThickness\",\"slot\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"1166\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1170\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerLineThickness\",\"slot\":\"1\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerLineThickness\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"thin\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerLineThickness\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"medium\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerLineThickness\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"thick\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fStrContainsNonZeroDigit\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"1172\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FStrContainsNonZeroDigit\",\"line\":\"1173\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerLineThickness\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1174\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1177\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1178\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrContainsNonZeroDigit\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"12\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateArgProp\",\"line\":\"1397\",\"expand-text\":\"false\",\"sType\":\"? \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"role\":\"body\",\"line\":\"1399\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1399\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"ancestor-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"},{\"N\":\"str\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"},{\"N\":\"str\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"},{\"N\":\"str\",\"val\":\"2\"}]}]}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"ancestor-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\"},{\"N\":\"str\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\"},{\"N\":\"str\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\"},{\"N\":\"str\",\"val\":\"2\"}]}]}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:argPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1400\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:scrLvl\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1401\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1402\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1403\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}scriptlevel\",\"line\":\"1404\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NA nQ{}scriptlevel\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"ancestor-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"}]}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1405\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}scriptlevel\",\"role\":\"select\",\"line\":\"1405\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NA nQ{}scriptlevel\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"ancestor-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"}]}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1408\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\",\"role\":\"select\",\"line\":\"1408\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"ancestor-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}scriptlevel\"}]}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}scriptlevel\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"13\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FLinearFrac\",\"line\":\"1457\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1458\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1458\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sNdText\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1459\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1460\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1460\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1463\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1468\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"3\"}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdText\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"/\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"14\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsFunc\",\"line\":\"1498\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1499\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1499\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sNdText\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1500\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1501\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1501\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1504\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1509\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"3\"}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdText\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"⁡\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"15\",\"uniform\":\"true\",\"binds\":\"12 47\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}MakeLinearFraction\",\"line\":\"1517\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1518\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1518\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:f\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1519\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:fPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1520\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:type\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1521\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1522\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"lin\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:num\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1525\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1526\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1527\",\"mode\":\"#unnamed\",\"bSlot\":\"1\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1527\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:den\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1529\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1530\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1531\",\"mode\":\"#unnamed\",\"bSlot\":\"1\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1531\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"16\",\"uniform\":\"true\",\"binds\":\"47\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}WriteFunc\",\"line\":\"1539\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1540\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1540\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:func\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1542\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:fName\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1543\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1544\",\"mode\":\"#unnamed\",\"bSlot\":\"0\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1544\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1546\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1547\",\"mode\":\"#unnamed\",\"bSlot\":\"0\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1547\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"17\",\"uniform\":\"true\",\"binds\":\"13 15 14 16 47\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"1569\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1570\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1570\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"1574\",\"C\":[{\"N\":\"filter\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1575\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFrac\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"1577\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"1578\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1579\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"1582\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1583\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFrac\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}MakeLinearFraction\",\"line\":\"1584\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1585\"}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fFunc\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"1589\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"1590\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1591\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"1594\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1595\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunc\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}WriteFunc\",\"line\":\"1596\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1597\"}]}]},{\"N\":\"true\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1601\",\"mode\":\"#unnamed\",\"bSlot\":\"4\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1601\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]}]},{\"N\":\"filter\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1607\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1608\",\"mode\":\"#unnamed\",\"bSlot\":\"4\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1608\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"co\",\"id\":\"18\",\"uniform\":\"true\",\"binds\":\"45 46\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsBar\",\"line\":\"1625\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1626\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fUnder\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1627\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1628\",\"C\":[{\"N\":\"filter\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1629\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseAccent\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"1633\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1634\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1635\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fUnder\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1636\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"line\":\"1637\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1638\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1638\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1641\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1641\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1646\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"line\":\"1647\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1648\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1648\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1651\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1651\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fAccent\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"1657\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1658\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1659\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseAccent\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"1664\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1667\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fAccent\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sOperator\",\"slot\":\"4\",\"sType\":\"*NT \",\"line\":\"1668\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1669\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1669\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1671\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1673\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fUnder\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1674\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1675\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"̲\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"_\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1681\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1682\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"̅\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"¯\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"19\",\"uniform\":\"true\",\"binds\":\"45 46\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsAcc\",\"line\":\"1698\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1699\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1699\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseAccent\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1701\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1702\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"line\":\"1703\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1704\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1704\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1707\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1707\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseMoAccent\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"1711\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"1712\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1713\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1714\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1714\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1716\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1717\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1717\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]},{\"N\":\"let\",\"var\":\"Q{}fAccent\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"1721\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1722\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1723\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseMoAccent\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseMoAccent\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseAccent\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"true\"}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"1728\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1731\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fAccent\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]},{\"N\":\"let\",\"var\":\"Q{}sOperator\",\"slot\":\"4\",\"sType\":\"*NT \",\"line\":\"1732\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1733\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"1733\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1735\",\"C\":[{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1737\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"20\",\"uniform\":\"true\",\"binds\":\"45 46\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsGroupChr\",\"line\":\"1762\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1763\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1763\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fUnder\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"1764\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1765\",\"C\":[{\"N\":\"filter\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1766\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseAccent\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"1770\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1771\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1772\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fUnder\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1773\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"line\":\"1774\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1775\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1775\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1778\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1778\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1783\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"line\":\"1784\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1785\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1785\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1788\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1788\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fAccentFalse\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"1795\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1796\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1797\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseAccent\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"false\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"1802\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1807\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fAccentFalse\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"},{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mover\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"2\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sOperator\",\"slot\":\"4\",\"sType\":\"*NT \",\"line\":\"1808\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1809\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"role\":\"select\",\"line\":\"1809\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1811\",\"C\":[{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1812\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sOperator\",\"slot\":\"4\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"21\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateGroupChrPr\",\"line\":\"1923\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1924\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"⏟\"}]}]},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}pos\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1925\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE u[NE nQ{}bot,NE nQ{http://www.w3.org/1999/xhtml}bot]\",\"role\":\"select\",\"line\":\"1925\",\"C\":[{\"N\":\"slash\",\"role\":\"select\",\"simple\":\"1\",\"sType\":\"*NE u[NE nQ{}bot,NE nQ{http://www.w3.org/1999/xhtml}bot]\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"13|0|XTTE0510|\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE u[NE nQ{}bot,NE nQ{http://www.w3.org/1999/xhtml}bot]\",\"sType\":\"*NE u[NE nQ{}bot,NE nQ{http://www.w3.org/1999/xhtml}bot]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"}]}]},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}vertJc\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1926\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE u[NE nQ{}top,NE nQ{http://www.w3.org/1999/xhtml}top]\",\"role\":\"select\",\"line\":\"1926\",\"C\":[{\"N\":\"slash\",\"role\":\"select\",\"simple\":\"1\",\"sType\":\"*NE u[NE nQ{}top,NE nQ{http://www.w3.org/1999/xhtml}top]\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"13|0|XTTE0510|\",\"C\":[{\"N\":\"dot\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE u[NE nQ{}top,NE nQ{http://www.w3.org/1999/xhtml}top]\",\"sType\":\"*NE u[NE nQ{}top,NE nQ{http://www.w3.org/1999/xhtml}top]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"}]}]},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:groupChrPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1927\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:chr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1928\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1929\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"1930\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1930\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:pos\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1933\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1934\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"1935\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}pos\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1935\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:vertJc\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1938\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1939\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"1940\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}vertJc\",\"slot\":\"2\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1940\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"22\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}ToUpperCombining\",\"line\":\"1972\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ch\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"1973\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1974\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1976\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"˘\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̆\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1978\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"¸\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̒\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1980\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"`\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̀\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1982\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"-\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̅\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1984\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"−\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̅\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1986\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\".\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̇\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1988\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"˙\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̇\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1990\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"˝\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̋\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1992\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"´\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"́\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1994\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"~\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̃\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1996\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"˜\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̃\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1998\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"¨\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̈\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2000\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"ˇ\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̌\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2002\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"^\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̂\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2004\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"¯\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"̅\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2009\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"→\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"⃗\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2011\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⟶\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"⃗\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2013\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"←\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"⃖\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2015\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}ch\",\"slot\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2015\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"23\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateDelimProp\",\"line\":\"2305\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}fChOpenValid\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2306\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}chOpen\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2307\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fChSeparatorsValid\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2308\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}chSeparators\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2309\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fChCloseValid\",\"slot\":\"4\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2310\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"4\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}chClose\",\"slot\":\"5\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2311\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"5\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}chSep\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"2312\",\"C\":[{\"N\":\"fn\",\"name\":\"substring\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2312\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chSeparators\",\"slot\":\"3\"}]}]},{\"N\":\"fn\",\"name\":\"number\",\"C\":[{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"number\",\"C\":[{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"2318\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2318\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fChOpenValid\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chOpen\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"(\"}]}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fChCloseValid\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chClose\",\"slot\":\"5\"},{\"N\":\"str\",\"val\":\")\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chSep\",\"slot\":\"6\"},{\"N\":\"str\",\"val\":\"|\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:dPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}dPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2319\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"2321\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2321\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fChOpenValid\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chOpen\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"(\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:begChr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}begChr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2322\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2323\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"2324\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chOpen\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2324\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"2331\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2333\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chSep\",\"slot\":\"6\"},{\"N\":\"str\",\"val\":\"|\"}]},{\"N\":\"empty\",\"sType\":\"0 \"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2337\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fChSeparatorsValid\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"name\":\"m:sepChr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sepChr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2338\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\",\"}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sepChr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sepChr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2342\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2343\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"2344\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chSep\",\"slot\":\"6\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2344\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"2351\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2351\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fChCloseValid\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chClose\",\"slot\":\"5\"},{\"N\":\"str\",\"val\":\")\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:endChr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}endChr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2352\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2353\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"2354\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chClose\",\"slot\":\"5\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2354\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"24\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"2362\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2363\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2363\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2364\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2366\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}lquote\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}lquote\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}lquote\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}lquote\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\\\"\"}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2370\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}lquote\",\"line\":\"2371\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}lquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}lquote\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2372\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}lquote\",\"role\":\"select\",\"line\":\"2372\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}lquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}lquote\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2375\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}lquote\",\"role\":\"select\",\"line\":\"2375\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}lquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}lquote\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"25\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"2382\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2383\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2383\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2384\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2386\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rquote\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rquote\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rquote\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rquote\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\\\"\"}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2390\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}rquote\",\"line\":\"2391\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}rquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rquote\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2392\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}rquote\",\"role\":\"select\",\"line\":\"2392\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}rquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rquote\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2395\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rquote\",\"role\":\"select\",\"line\":\"2395\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rquote\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rquote\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"26\",\"uniform\":\"true\",\"binds\":\"24 25\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}OutputMs\",\"line\":\"2404\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2405\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"2407\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"2408\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2409\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"2413\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"2414\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2415\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"?NT \",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chLquote\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2420\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2420\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}msCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2421\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chRquote\",\"slot\":\"2\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2421\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"27\",\"uniform\":\"true\",\"binds\":\"12 47\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}SplitScripts\",\"line\":\"2578\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2579\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2580\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2581\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2582\",\"mode\":\"#unnamed\",\"bSlot\":\"1\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2582\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"arith10\",\"op\":\"mod\",\"calc\":\"d%d\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2584\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2585\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2586\",\"mode\":\"#unnamed\",\"bSlot\":\"1\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2586\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"arith10\",\"op\":\"mod\",\"calc\":\"d%d\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"int\",\"val\":\"0\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"28\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIsEqArray\",\"line\":\"2782\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2783\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2783\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2786\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2795\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}frame\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}frame\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}frame\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}frame\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}frame\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}frame\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}columnlines\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}columnlines\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}columnlines\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}columnlines\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}columnlines\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}columnlines\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rowlines\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rowlines\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}rowlines\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rowlines\"}]}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rowlines\"}]}]},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}rowlines\"}]}]},{\"N\":\"str\",\"val\":\"none\"}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\"},{\"N\":\"gc10\",\"op\":\"<\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mlabeledtr\"}]}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"29\",\"uniform\":\"true\",\"binds\":\"4\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FIgnoreCollection\",\"line\":\"2806\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2807\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2807\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fNaryArgument\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"2809\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FIsNaryArgument\",\"line\":\"2810\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2811\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2815\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2816\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNaryArgument\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"30\",\"uniform\":\"true\",\"binds\":\"30\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FFirstAlignAlreadyFound\",\"line\":\"2830\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2831\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2831\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"2833\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2835\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maligngroup\"},{\"N\":\"axis\",\"name\":\"descendant-or-self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}malignmark\"}]}]}]}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"fn\",\"name\":\"not\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2836\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]}]}]},{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FFirstAlignAlreadyFound\",\"line\":\"2837\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"2838\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"31\",\"uniform\":\"true\",\"binds\":\"31\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}ConcatStringRepeat\",\"line\":\"2849\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}strToRepeat\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2850\",\"C\":[{\"N\":\"str\",\"val\":\"\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2850\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}iRepetitions\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2851\",\"C\":[{\"N\":\"int\",\"val\":\"0\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2851\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}strBuilding\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2852\",\"C\":[{\"N\":\"str\",\"val\":\"\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2852\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"2854\",\"C\":[{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2855\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}iRepetitions\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2856\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}strBuilding\",\"slot\":\"2\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2856\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}ConcatStringRepeat\",\"line\":\"2859\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}strToRepeat\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}strToRepeat\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2860\"}]},{\"N\":\"withParam\",\"name\":\"Q{}iRepetitions\",\"slot\":\"1\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2861\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}iRepetitions\",\"slot\":\"1\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"withParam\",\"name\":\"Q{}strBuilding\",\"slot\":\"2\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"concat\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2862\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"0|0||concat\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}strBuilding\",\"slot\":\"2\"}]}]},{\"N\":\"atomSing\",\"diag\":\"0|1||concat\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}strToRepeat\",\"slot\":\"0\"}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"32\",\"uniform\":\"true\",\"binds\":\"13 14\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FSpecialCollection\",\"line\":\"2874\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2875\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2875\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"*NT \",\"type\":\"item()*\",\"line\":\"2876\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"line\":\"2877\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFraction\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"2878\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"2879\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2880\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunc\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"2883\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"2884\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2885\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2888\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2889\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFraction\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunc\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"33\",\"uniform\":\"true\",\"binds\":\"32 29 30 33 31 1 47\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}ProcessEqArrayRow\",\"line\":\"2902\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"2903\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2903\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"2905\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"2905\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fSpecialCollection\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"2906\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FSpecialCollection\",\"line\":\"2907\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2908\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fIgnoreCollection\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"2911\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}FIgnoreCollection\",\"line\":\"2912\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2913\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"2916\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2918\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maligngroup\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}malignmark\"}]},{\"N\":\"let\",\"var\":\"Q{}fFirstAlignAlreadyFound\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"2921\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FFirstAlignAlreadyFound\",\"line\":\"2922\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2923\"}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"2927\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2927\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}malignmark\"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFirstAlignAlreadyFound\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"elem\",\"name\":\"m:r\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}r \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2928\",\"C\":[{\"N\":\"elem\",\"name\":\"m:t\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}t \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2929\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"&\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]},{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2935\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fIgnoreCollection\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"or\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fSpecialCollection\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]}]},{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}ProcessEqArrayRow\",\"line\":\"2936\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2937\"}]}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2943\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maligngroup\"},{\"N\":\"axis\",\"name\":\"descendant\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}malignmark\"}]},{\"N\":\"let\",\"var\":\"Q{}cMalignGroups\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"2944\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2945\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"fn\",\"sType\":\"1ADI\",\"name\":\"count\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2945\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maligngroup\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}cMalignMarks\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"2947\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2948\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"fn\",\"sType\":\"1ADI\",\"name\":\"count\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2948\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}malignmark\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"2951\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2951\",\"C\":[{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMalignGroups\",\"slot\":\"3\"}]}]},{\"N\":\"atomSing\",\"diag\":\"1|1||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMalignMarks\",\"slot\":\"4\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"5\",\"sType\":\"*NE \",\"line\":\"2952\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}ConcatStringRepeat\",\"line\":\"2953\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}strToRepeat\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"&\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2954\"}]},{\"N\":\"withParam\",\"name\":\"Q{}iRepetitions\",\"slot\":\"0\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2955\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMalignGroups\",\"slot\":\"3\"}]}]},{\"N\":\"atomSing\",\"diag\":\"1|1||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMalignMarks\",\"slot\":\"4\"}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}strBuilding\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2956\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2959\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2960\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"2961\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2962\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2968\",\"mode\":\"#unnamed\",\"bSlot\":\"6\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2968\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2972\",\"mode\":\"#unnamed\",\"bSlot\":\"6\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2972\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"34\",\"uniform\":\"true\",\"binds\":\"34\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateEmptyElmt\",\"line\":\"3088\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3089\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3090\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3090\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3091\",\"C\":[{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CreateEmptyElmt\",\"line\":\"3092\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3093\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"co\",\"id\":\"35\",\"uniform\":\"true\",\"binds\":\"35\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CountMaxElmtsInRow\",\"line\":\"3097\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3098\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3099\",\"C\":[{\"N\":\"int\",\"val\":\"0\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3099\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3100\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3101\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3102\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3102\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}CountMaxElmtsInRow\",\"line\":\"3105\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"3106\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3108\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3110\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"val\":\"mlabeledtr\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3111\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3112\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3113\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"arith10\",\"sType\":\"1AO\",\"op\":\"-\",\"calc\":\"d-d\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3113\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3116\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3116\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3121\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"local-name\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||local-name\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"val\":\"mtr\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"namespace-uri\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"check\",\"card\":\"?\",\"diag\":\"0|0||namespace-uri\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"val\":\"http://www.w3.org/1998/Math/MathML\"}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3122\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3123\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3124\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"fn\",\"sType\":\"1ADI\",\"name\":\"count\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3124\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3127\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3127\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3132\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3133\",\"C\":[{\"N\":\"int\",\"val\":\"1\"},{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3134\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3134\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3137\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3137\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"36\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3148\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3149\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3149\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3150\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}alt\",\"line\":\"3151\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}alt\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}alt\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3152\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3152\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}alt\"}]}]}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3155\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3155\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}alt\"}]}]}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"37\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FStrContainsNonZeroDigit\",\"line\":\"3362\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3363\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sNonZeroDigitsToNineDigit\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"3366\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3366\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}s\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"12345678\"},{\"N\":\"str\",\"val\":\"99999999\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3367\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3369\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNonZeroDigitsToNineDigit\",\"slot\":\"1\"}]}]},{\"N\":\"str\",\"val\":\"9\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"38\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FStrContainsDigits\",\"line\":\"3374\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3375\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sDigitsToZeroDigit\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"3378\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3378\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}s\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"123456789\"},{\"N\":\"str\",\"val\":\"000000000\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3379\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3381\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sDigitsToZeroDigit\",\"slot\":\"1\"}]}]},{\"N\":\"str\",\"val\":\"0\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"39\",\"uniform\":\"true\",\"binds\":\"37 38\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}FFull\",\"line\":\"3401\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3402\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}fStrContainsNonZeroDigit\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"3404\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FStrContainsNonZeroDigit\",\"line\":\"3405\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3406\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrContainsDigits\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"3410\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}FStrContainsDigits\",\"line\":\"3411\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3412\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3416\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3418\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrContainsNonZeroDigit\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3421\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrContainsDigits\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"40\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreatePhantPropertiesCore\",\"line\":\"3433\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}fShow\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3434\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3434\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fFullWidth\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3435\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3435\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fFullHeight\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3436\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3436\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fFullDepth\",\"slot\":\"3\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3437\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3437\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"3\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3442\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3442\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShow\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullWidth\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullHeight\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullDepth\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:phantPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3443\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3444\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3444\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShow\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:show\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3445\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3446\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"off\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3449\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3449\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullWidth\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:zeroWid\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3450\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3451\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3454\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3454\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullHeight\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:zeroAsc\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3455\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3456\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3459\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3459\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullDepth\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:zeroDesc\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3460\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3461\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"co\",\"id\":\"41\",\"uniform\":\"true\",\"binds\":\"45 46 39 40\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreatePhantProperties\",\"line\":\"3476\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3477\",\"C\":[{\"N\":\"dot\",\"sType\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3477\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}fShow\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3478\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3478\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3480\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3495\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseWidth\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3496\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3497\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}width\",\"line\":\"3498\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}width\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}width\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3499\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3499\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}width\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3502\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3502\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}width\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseHeight\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3506\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3507\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}height\",\"line\":\"3508\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}height\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}height\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3509\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3509\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}height\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3512\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3512\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}height\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseDepth\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3516\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3517\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}depth\",\"line\":\"3518\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}depth\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}depth\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3519\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3519\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}depth\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3522\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3522\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}depth\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullWidth\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3527\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3528\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseWidth\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3529\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullHeight\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3532\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3533\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseHeight\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3534\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullDepth\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3537\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3538\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseDepth\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3539\"}]}]}]},{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}CreatePhantPropertiesCore\",\"line\":\"3543\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}fShow\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShow\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3544\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullWidth\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullWidth\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3545\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullHeight\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullHeight\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3546\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullDepth\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullDepth\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3547\"}]}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}CreatePhantPropertiesCore\",\"line\":\"3551\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}fShow\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShow\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3552\"}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"42\",\"uniform\":\"true\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}isNaryOper\",\"line\":\"3639\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3640\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3658\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3658\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∫\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∬\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∭\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∮\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∯\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∰\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∲\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∳\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∱\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∩\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∪\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∏\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∐\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∑\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋀\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋁\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋂\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋃\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"co\",\"id\":\"43\",\"uniform\":\"true\",\"binds\":\"42 45 46\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}isNary\",\"line\":\"3662\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3664\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"let\",\"var\":\"Q{}sNdCur\",\"slot\":\"1\",\"sType\":\"*NT \",\"line\":\"3665\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3666\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3666\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNaryOper\",\"slot\":\"2\",\"sType\":\"*NT \",\"line\":\"3669\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}isNaryOper\",\"line\":\"3670\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sNdCur\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sNdCur\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3671\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fUnder\",\"slot\":\"3\",\"sType\":\"*NT \",\"line\":\"3676\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3677\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"line\":\"3678\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]}]}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseAccent\",\"slot\":\"4\",\"sType\":\"*NT \",\"line\":\"3683\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3684\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3685\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fUnder\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3686\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"line\":\"3687\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accentunder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3688\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3688\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"1\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"2\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3691\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3691\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}munder\"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accentunder\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"1\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"2\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3696\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"line\":\"3697\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}accent\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3698\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3698\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"1\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"2\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3701\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3701\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}accent\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"1\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"2\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fAccent\",\"slot\":\"5\",\"sType\":\"*NT \",\"line\":\"3708\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3709\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3710\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseAccent\",\"slot\":\"4\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3715\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3728\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNaryOper\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fAccent\",\"slot\":\"5\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"lastOf\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant-or-self\",\"nodeTest\":\"*NE\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"}]}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"docOrder\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"treat\",\"as\":\"N\",\"diag\":\"1|0|XPTY0019|slash\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ndCur\",\"slot\":\"0\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"descendant-or-self\",\"nodeTest\":\"*NE\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]}]}]}]}]}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3729\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"true\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3729\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3732\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"false\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3732\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"id\":\"44\",\"uniform\":\"true\",\"binds\":\"45 46\",\"C\":[{\"N\":\"template\",\"flags\":\"os\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"name\":\"Q{}CreateNaryProp\",\"line\":\"3737\",\"expand-text\":\"false\",\"sType\":\"* \",\"C\":[{\"N\":\"sequence\",\"role\":\"body\",\"sType\":\"* \",\"C\":[{\"N\":\"param\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3738\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"0\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3739\",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\",\"role\":\"select\"},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"1\",\"sType\":\"* \"}]},{\"N\":\"param\",\"name\":\"Q{}sGrow\",\"slot\":\"2\",\"sType\":\"* \",\"as\":\"* \",\"flags\":\"\",\"line\":\"3740\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3741\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NA nQ{}stretchy\",\"line\":\"3742\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NA nQ{}stretchy\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}stretchy\"}]}]},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3743\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3743\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}stretchy\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3746\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3746\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}stretchy\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"0\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"1\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"supplied\",\"role\":\"conversion\",\"slot\":\"2\",\"sType\":\"* \"}]},{\"N\":\"elem\",\"name\":\"m:naryPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}naryPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3750\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:chr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}chr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3751\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3752\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"3753\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3753\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:limLoc\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}limLoc \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3756\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3757\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"3758\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3761\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"munder\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"mover\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"munderover\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"undOvr\"}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3766\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"msub\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"msup\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"msubsup\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"subSup\"}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:grow\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}grow \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3772\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3773\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3774\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3775\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sGrow\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3776\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sGrow\",\"slot\":\"2\"},{\"N\":\"str\",\"val\":\"false\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3789\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∫\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∮\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∯\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∲\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∳\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∩\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∪\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∏\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"∑\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋀\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋁\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋂\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chr\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"⋃\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:subHide\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}subHide \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3794\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3795\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3796\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3798\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"mover\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"msup\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"off\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:supHide\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}supHide \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3807\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3808\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3809\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3811\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"munder\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sMathmlType\",\"slot\":\"1\"},{\"N\":\"str\",\"val\":\"msub\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"off\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"45\",\"vis\":\"PUBLIC\",\"ex:uniform\":\"true\",\"C\":[{\"N\":\"globalVariable\",\"name\":\"Q{}StrUCAlphabet\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"sType\":\"?ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"}]}]}]}]},{\"N\":\"co\",\"binds\":\"\",\"id\":\"46\",\"vis\":\"PUBLIC\",\"ex:uniform\":\"true\",\"C\":[{\"N\":\"globalVariable\",\"name\":\"Q{}StrLCAlphabet\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"module\":\"mml2omml.xsl\",\"slots\":\"200\",\"sType\":\"?ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"abcdefghijklmnopqrstuvwxyz\"}]}]}]}]},{\"N\":\"co\",\"id\":\"47\",\"binds\":\"6 24 7 1 36 25 3 13 14 5 41 47 39 40 28 33 35 34 12 27 43 44 17 23 18 19 22 20 21 45 46 11 4 15 16\",\"C\":[{\"N\":\"mode\",\"onNo\":\"TC\",\"flags\":\"\",\"patternSlots\":\"0\",\"prec\":\"\",\"C\":[{\"N\":\"templateRule\",\"rank\":\"0\",\"prec\":\"0\",\"seq\":\"18\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3182\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[child::mml:mglyph] |                        mml:mn[child::mml:mglyph] |                        mml:mo[child::mml:mglyph] |                        mml:ms[child::mml:mglyph] |                        mml:mtext[child::mml:mglyph]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"let\",\"var\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"3183\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3184\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3185\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3186\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3186\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3189\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3189\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"3193\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3194\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3195\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3196\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3196\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3199\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3199\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3203\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3204\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3205\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3206\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3206\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3209\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3209\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3213\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3214\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3215\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3216\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3216\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3219\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3219\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3223\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3224\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3225\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3229\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3229\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3233\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3234\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3235\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3239\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3239\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3243\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3244\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3253\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"3254\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3255\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3260\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3260\"},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3261\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"3262\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3263\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3266\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3267\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3268\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3269\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3270\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3271\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3272\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3273\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3274\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3275\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3276\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3278\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3279\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3280\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"3285\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"role\":\"select\",\"line\":\"3285\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fForceNor\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"3286\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3287\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3288\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"3293\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3294\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3295\"},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3296\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3297\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3305\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3305\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3306\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3307\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3308\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3309\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3310\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3311\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3312\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3313\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3314\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3316\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3317\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fForceNor\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3323\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3325\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3326\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3327\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3335\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3335\"},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3336\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"3337\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3338\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3341\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3342\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3343\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3344\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3345\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3346\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3347\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3348\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3349\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3350\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3351\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3353\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3354\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3355\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"1\",\"prec\":\"0\",\"seq\":\"18\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3182\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[child::mml:mglyph] |                        mml:mn[child::mml:mglyph] |                        mml:mo[child::mml:mglyph] |                        mml:ms[child::mml:mglyph] |                        mml:mtext[child::mml:mglyph]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"let\",\"var\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"3183\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3184\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3185\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3186\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3186\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3189\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3189\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"3193\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3194\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3195\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3196\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3196\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3199\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3199\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3203\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3204\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3205\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3206\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3206\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3209\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3209\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3213\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3214\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3215\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3216\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3216\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3219\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3219\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3223\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3224\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3225\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3229\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3229\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3233\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3234\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3235\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3239\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3239\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3243\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3244\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3253\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"3254\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3255\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3260\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3260\"},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3261\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"3262\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3263\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3266\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3267\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3268\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3269\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3270\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3271\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3272\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3273\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3274\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3275\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3276\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3278\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3279\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3280\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"3285\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"role\":\"select\",\"line\":\"3285\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fForceNor\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"3286\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3287\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3288\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"3293\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3294\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3295\"},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3296\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3297\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3305\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3305\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3306\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3307\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3308\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3309\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3310\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3311\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3312\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3313\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3314\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3316\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3317\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fForceNor\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3323\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3325\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3326\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3327\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3335\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3335\"},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3336\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"3337\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3338\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3341\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3342\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3343\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3344\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3345\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3346\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3347\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3348\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3349\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3350\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3351\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3353\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3354\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3355\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"2\",\"prec\":\"0\",\"seq\":\"18\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3182\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[child::mml:mglyph] |                        mml:mn[child::mml:mglyph] |                        mml:mo[child::mml:mglyph] |                        mml:ms[child::mml:mglyph] |                        mml:mtext[child::mml:mglyph]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mo\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"let\",\"var\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"3183\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3184\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3185\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3186\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3186\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3189\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3189\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"3193\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3194\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3195\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3196\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3196\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3199\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3199\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3203\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3204\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3205\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3206\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3206\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3209\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3209\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3213\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3214\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3215\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3216\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3216\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3219\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3219\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3223\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3224\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3225\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3229\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3229\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3233\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3234\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3235\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3239\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3239\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3243\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3244\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3253\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"3254\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3255\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3260\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3260\"},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3261\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"3262\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3263\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3266\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3267\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3268\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3269\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3270\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3271\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3272\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3273\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3274\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3275\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3276\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3278\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3279\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3280\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"3285\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"role\":\"select\",\"line\":\"3285\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fForceNor\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"3286\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3287\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3288\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"3293\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3294\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3295\"},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3296\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3297\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3305\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3305\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3306\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3307\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3308\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3309\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3310\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3311\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3312\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3313\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3314\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3316\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3317\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fForceNor\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3323\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3325\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3326\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3327\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3335\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3335\"},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3336\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"3337\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3338\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3341\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3342\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3343\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3344\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3345\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3346\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3347\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3348\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3349\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3350\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3351\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3353\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3354\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3355\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"3\",\"prec\":\"0\",\"seq\":\"18\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3182\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[child::mml:mglyph] |                        mml:mn[child::mml:mglyph] |                        mml:mo[child::mml:mglyph] |                        mml:ms[child::mml:mglyph] |                        mml:mtext[child::mml:mglyph]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}ms\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"let\",\"var\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"3183\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3184\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3185\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3186\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3186\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3189\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3189\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"3193\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3194\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3195\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3196\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3196\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3199\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3199\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3203\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3204\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3205\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3206\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3206\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3209\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3209\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3213\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3214\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3215\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3216\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3216\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3219\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3219\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3223\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3224\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3225\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3229\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3229\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3233\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3234\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3235\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3239\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3239\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3243\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3244\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3253\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"3254\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3255\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3260\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3260\"},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3261\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"3262\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3263\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3266\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3267\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3268\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3269\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3270\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3271\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3272\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3273\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3274\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3275\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3276\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3278\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3279\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3280\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"3285\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"role\":\"select\",\"line\":\"3285\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fForceNor\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"3286\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3287\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3288\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"3293\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3294\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3295\"},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3296\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3297\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3305\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3305\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3306\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3307\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3308\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3309\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3310\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3311\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3312\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3313\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3314\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3316\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3317\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fForceNor\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3323\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3325\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3326\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3327\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3335\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3335\"},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3336\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"3337\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3338\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3341\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3342\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3343\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3344\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3345\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3346\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3347\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3348\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3349\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3350\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3351\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3353\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3354\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3355\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"4\",\"prec\":\"0\",\"seq\":\"18\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3182\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[child::mml:mglyph] |                        mml:mn[child::mml:mglyph] |                        mml:mo[child::mml:mglyph] |                        mml:ms[child::mml:mglyph] |                        mml:mtext[child::mml:mglyph]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]},{\"N\":\"let\",\"var\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"3183\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3184\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3185\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3186\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3186\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3189\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3189\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"3193\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3194\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3195\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3196\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3196\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3199\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3199\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"3203\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3204\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3205\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3206\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3206\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3209\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3209\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"3213\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3214\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3215\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3216\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3216\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3219\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3219\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"3223\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3224\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3225\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3229\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3229\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"3233\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3234\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3235\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3239\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3239\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"3243\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3244\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"3253\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"3254\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3255\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3260\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3260\"},{\"N\":\"let\",\"var\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3261\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"1\",\"sType\":\"* \",\"name\":\"Q{}LQuoteFromMs\",\"line\":\"3262\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3263\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3266\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3267\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3268\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3269\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3270\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3271\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3272\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3273\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3274\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3275\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3276\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3278\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3279\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chLquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3280\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"forEach\",\"sType\":\"* \",\"line\":\"3285\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"role\":\"select\",\"line\":\"3285\",\"C\":[{\"N\":\"union\",\"op\":\"|\",\"sType\":\"*N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"},{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NT\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fForceNor\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"3286\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3287\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3288\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"3293\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3294\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3295\"},{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3296\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3297\"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3301\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"3305\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3305\",\"C\":[{\"N\":\"fn\",\"name\":\"string-length\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\"}]}]}]},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3306\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3307\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3308\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3309\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3310\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3311\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3312\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3313\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3314\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3316\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3317\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fForceNor\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"C\":[{\"N\":\"dot\",\"sType\":\"1N u[NE nQ{http://www.w3.org/1998/Math/MathML}mglyph,NT]\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3323\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3325\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3326\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}str\",\"slot\":\"9\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3327\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"3335\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3335\"},{\"N\":\"let\",\"var\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*NE \",\"line\":\"3336\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"5\",\"sType\":\"* \",\"name\":\"Q{}RQuoteFromMs\",\"line\":\"3337\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}curMs\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3338\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3341\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"3342\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3343\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontstyle\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3344\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontweight\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3345\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathcolor\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3346\"}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}mathsize\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3347\"}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}color\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3348\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fontsize\",\"slot\":\"6\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3349\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNor\",\"slot\":\"7\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3350\"}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3351\"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3353\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3354\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}chRquote\",\"slot\":\"8\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3355\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"5\",\"prec\":\"0\",\"seq\":\"3\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"199\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[not(child::mml:mglyph)] |                        mml:mn[not(child::mml:mglyph)] |                        mml:mo[not(child::mml:mglyph)] |                        mml:ms[not(child::mml:mglyph)] |                        mml:mtext[not(child::mml:mglyph)]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mi\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fStartOfRun\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"205\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"6\",\"sType\":\"* \",\"name\":\"Q{}FStartOfRun\",\"line\":\"206\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"207\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFracParent\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"219\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"220\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"221\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunctionName\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"225\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"226\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"227\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFracParent\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunctionName\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}math\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maction\"}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"243\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"244\"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"245\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"246\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStartOfRun\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"9\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"248\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"274\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"275\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"276\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"276\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"284\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"285\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"286\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"286\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"289\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"289\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"294\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"295\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"296\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"296\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"299\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"299\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"304\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"305\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"306\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"306\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"309\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"309\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"314\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"315\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"316\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"316\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"324\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"325\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"326\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"326\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"329\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"329\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"334\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"335\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"336\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"336\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"339\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"339\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"343\"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"350\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"352\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"354\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"355\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"356\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"356\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"359\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"359\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"364\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"365\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"366\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"366\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"369\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"374\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"375\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"376\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"376\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"379\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"384\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"385\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"386\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"386\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"389\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"389\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"394\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"395\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"396\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"396\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"399\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"399\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"404\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"405\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"406\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"406\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"409\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"409\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"414\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"415\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"416\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"416\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"423\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"425\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mi\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"426\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"430\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"431\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"432\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"6\",\"prec\":\"0\",\"seq\":\"3\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"199\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[not(child::mml:mglyph)] |                        mml:mn[not(child::mml:mglyph)] |                        mml:mo[not(child::mml:mglyph)] |                        mml:ms[not(child::mml:mglyph)] |                        mml:mtext[not(child::mml:mglyph)]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mn\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fStartOfRun\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"205\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"6\",\"sType\":\"* \",\"name\":\"Q{}FStartOfRun\",\"line\":\"206\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"207\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFracParent\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"219\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"220\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"221\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunctionName\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"225\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"226\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"227\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFracParent\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunctionName\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}math\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maction\"}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"243\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"244\"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"245\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"246\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStartOfRun\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"9\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"248\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"274\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"275\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"276\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"276\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"284\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"285\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"286\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"286\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"289\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"289\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"294\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"295\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"296\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"296\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"299\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"299\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"304\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"305\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"306\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"306\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"309\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"309\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"314\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"315\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"316\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"316\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"324\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"325\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"326\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"326\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"329\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"329\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"334\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"335\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"336\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"336\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"339\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"339\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"343\"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"350\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"352\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"354\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"355\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"356\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"356\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"359\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"359\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"364\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"365\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"366\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"366\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"369\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"374\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"375\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"376\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"376\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"379\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"384\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"385\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"386\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"386\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"389\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"389\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"394\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"395\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"396\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"396\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"399\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"399\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"404\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"405\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"406\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"406\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"409\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"409\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"414\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"415\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"416\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"416\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"423\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"425\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mn\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"426\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"430\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"431\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"432\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"7\",\"prec\":\"0\",\"seq\":\"3\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"199\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[not(child::mml:mglyph)] |                        mml:mn[not(child::mml:mglyph)] |                        mml:mo[not(child::mml:mglyph)] |                        mml:ms[not(child::mml:mglyph)] |                        mml:mtext[not(child::mml:mglyph)]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mo\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fStartOfRun\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"205\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"6\",\"sType\":\"* \",\"name\":\"Q{}FStartOfRun\",\"line\":\"206\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"207\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFracParent\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"219\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"220\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"221\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunctionName\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"225\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"226\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"227\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFracParent\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunctionName\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}math\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maction\"}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"243\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"244\"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"245\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"246\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStartOfRun\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"9\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"248\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"274\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"275\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"276\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"276\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"284\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"285\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"286\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"286\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"289\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"289\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"294\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"295\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"296\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"296\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"299\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"299\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"304\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"305\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"306\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"306\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"309\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"309\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"314\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"315\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"316\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"316\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"324\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"325\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"326\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"326\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"329\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"329\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"334\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"335\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"336\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"336\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"339\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"339\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"343\"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"350\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"352\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"354\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"355\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"356\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"356\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"359\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"359\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"364\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"365\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"366\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"366\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"369\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"374\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"375\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"376\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"376\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"379\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"384\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"385\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"386\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"386\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"389\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"389\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"394\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"395\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"396\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"396\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"399\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"399\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"404\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"405\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"406\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"406\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"409\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"409\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"414\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"415\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"416\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"416\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"423\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"425\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"426\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"430\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"431\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"432\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"8\",\"prec\":\"0\",\"seq\":\"3\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"199\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[not(child::mml:mglyph)] |                        mml:mn[not(child::mml:mglyph)] |                        mml:mo[not(child::mml:mglyph)] |                        mml:ms[not(child::mml:mglyph)] |                        mml:mtext[not(child::mml:mglyph)]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}ms\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fStartOfRun\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"205\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"6\",\"sType\":\"* \",\"name\":\"Q{}FStartOfRun\",\"line\":\"206\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"207\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFracParent\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"219\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"220\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"221\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunctionName\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"225\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"226\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"227\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFracParent\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunctionName\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}math\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maction\"}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"243\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"244\"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"245\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"246\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStartOfRun\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"9\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"248\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"274\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"275\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"276\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"276\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"284\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"285\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"286\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"286\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"289\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"289\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"294\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"295\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"296\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"296\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"299\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"299\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"304\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"305\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"306\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"306\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"309\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"309\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"314\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"315\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"316\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"316\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"324\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"325\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"326\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"326\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"329\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"329\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"334\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"335\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"336\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"336\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"339\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"339\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"343\"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"350\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"352\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"354\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"355\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"356\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"356\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"359\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"359\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"364\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"365\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"366\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"366\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"369\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"374\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"375\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"376\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"376\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"379\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"384\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"385\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"386\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"386\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"389\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"389\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"394\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"395\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"396\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"396\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"399\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"399\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"404\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"405\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"406\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"406\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"409\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"409\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"414\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"415\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"416\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"416\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"423\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"425\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}ms\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"426\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"430\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"431\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"432\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"9\",\"prec\":\"0\",\"seq\":\"3\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"199\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mi[not(child::mml:mglyph)] |                        mml:mn[not(child::mml:mglyph)] |                        mml:mo[not(child::mml:mglyph)] |                        mml:ms[not(child::mml:mglyph)] |                        mml:mtext[not(child::mml:mglyph)]\",\"prio\":\"0.5\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"p.withPredicate\",\"role\":\"match\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"p.nodeTest\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtext\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\"}]}]},{\"N\":\"let\",\"var\":\"Q{}fStartOfRun\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"205\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"6\",\"sType\":\"* \",\"name\":\"Q{}FStartOfRun\",\"line\":\"206\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"207\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFracParent\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"219\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"220\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"221\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFunctionName\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"225\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"226\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"227\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"234\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFracParent\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunctionName\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}math\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\"}]},{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}maction\"}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"243\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fShouldCollect\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"244\"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"245\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"246\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStartOfRun\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"9\",\"sType\":\"* \",\"name\":\"Q{}CreateRunWithSameProp\",\"line\":\"248\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathbackground\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"sType\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathbackground\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"274\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"275\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"276\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"276\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"284\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"285\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"286\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"286\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"289\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"289\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}font-family\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"294\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"sType\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"295\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"296\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"296\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"299\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}font-family\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"299\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"304\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"305\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"306\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"306\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"309\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"309\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"314\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"315\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"316\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"316\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"319\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"319\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"324\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"325\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"326\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"326\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"329\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"329\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"334\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"335\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"336\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"336\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"339\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"339\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndTokenFirst\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"343\"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"350\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"2\",\"sType\":\"* \",\"name\":\"Q{}CreateRunProp\",\"line\":\"352\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}mathvariant\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"354\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"sType\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"355\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"356\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"356\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"359\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathvariant\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"359\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontstyle\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"364\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"sType\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"365\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"366\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"366\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"369\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontweight\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"374\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"sType\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"375\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"376\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"376\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontweight\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"379\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathcolor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"384\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"sType\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"385\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"386\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"386\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"389\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathcolor\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"389\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}mathsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"394\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"sType\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"395\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"396\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"396\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"399\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}mathsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"399\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}color\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"404\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"sType\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"405\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"406\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"406\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"409\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}color\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"409\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fontsize\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"414\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"sType\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"415\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"416\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"416\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"419\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}fontsize\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"419\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"423\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fNor\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"0\",\"sType\":\"* \",\"name\":\"Q{}FNor\",\"line\":\"425\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtext\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"426\"}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"430\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"431\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"432\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"dot\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"10\",\"prec\":\"0\",\"seq\":\"20\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3627\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mphantom\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"elem\",\"type\":\"element()\",\"role\":\"action\",\"name\":\"m:phant\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3628\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"10\",\"sType\":\"* \",\"name\":\"Q{}CreatePhantProperties\",\"line\":\"3629\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3630\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fShow\",\"slot\":\"0\",\"sType\":\"1ADI\",\"C\":[{\"N\":\"int\",\"val\":\"0\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3631\"}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3633\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3634\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3634\"}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"11\",\"prec\":\"0\",\"seq\":\"19\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3558\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mpadded\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mpadded\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"role\":\"action\",\"line\":\"3559\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3560\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"parent\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mphantom\"}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE\"}]}]},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3562\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3562\"}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseWidth\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"3565\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3566\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}width\",\"sType\":\"*NA nQ{}width\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3567\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3568\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}width\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}width\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3568\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3571\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}width\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}width\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3571\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseHeight\",\"slot\":\"1\",\"sType\":\"*NE \",\"line\":\"3575\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3576\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}height\",\"sType\":\"*NA nQ{}height\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3577\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3578\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}height\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}height\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3578\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3581\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}height\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}height\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3581\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseDepth\",\"slot\":\"2\",\"sType\":\"*NE \",\"line\":\"3585\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"3586\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}depth\",\"sType\":\"*NA nQ{}depth\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3587\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3588\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}depth\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}depth\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3588\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"3591\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}depth\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}depth\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3591\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullWidth\",\"slot\":\"3\",\"sType\":\"*NE \",\"line\":\"3596\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"12\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3597\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseWidth\",\"slot\":\"0\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3598\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullHeight\",\"slot\":\"4\",\"sType\":\"*NE \",\"line\":\"3601\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"12\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3602\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseHeight\",\"slot\":\"1\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3603\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fFullDepth\",\"slot\":\"5\",\"sType\":\"*NE \",\"line\":\"3606\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"12\",\"sType\":\"* \",\"name\":\"Q{}FFull\",\"line\":\"3607\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}s\",\"slot\":\"0\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseDepth\",\"slot\":\"2\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3608\"}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:phant\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3612\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"13\",\"sType\":\"* \",\"name\":\"Q{}CreatePhantPropertiesCore\",\"line\":\"3613\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}fShow\",\"slot\":\"0\",\"sType\":\"1ADI\",\"C\":[{\"N\":\"int\",\"val\":\"1\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3614\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullWidth\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullWidth\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3615\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullHeight\",\"slot\":\"4\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullHeight\",\"slot\":\"4\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3616\"}]},{\"N\":\"withParam\",\"name\":\"Q{}fFullDepth\",\"slot\":\"5\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFullDepth\",\"slot\":\"5\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3617\"}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3619\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3620\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3620\"}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"12\",\"prec\":\"0\",\"seq\":\"17\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3160\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mglyph\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"elem\",\"type\":\"element()\",\"role\":\"action\",\"name\":\"m:r\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3161\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:rPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3162\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:nor\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3163\",\"C\":[{\"N\":\"empty\",\"sType\":\"0 \"}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:t\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3165\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"3\",\"sType\":\"* \",\"name\":\"Q{}OutputText\",\"line\":\"3166\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sInput\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"4\",\"sType\":\"* \",\"name\":\"Q{}GetMglyphAltText\",\"line\":\"3168\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mglyph\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3169\"}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"13\",\"prec\":\"0\",\"seq\":\"16\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"3085\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"m:mtd\",\"prio\":\"0\",\"matches\":\"NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mtd\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mtd\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mtd\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3086\",\"mode\":\"#unnamed\",\"role\":\"action\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3086\"}]}]},{\"N\":\"templateRule\",\"rank\":\"14\",\"prec\":\"0\",\"seq\":\"15\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2999\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mtable\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtable\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mtable\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fEqArray\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"3000\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"14\",\"sType\":\"* \",\"name\":\"Q{}FIsEqArray\",\"line\":\"3001\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mtable\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3002\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"3005\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3006\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fEqArray\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:eqArr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3007\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*NE \",\"line\":\"3008\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3008\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3009\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"15\",\"sType\":\"* \",\"name\":\"Q{}ProcessEqArrayRow\",\"line\":\"3010\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtd\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3011\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"sType\":\"*NE \",\"line\":\"3018\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"16\",\"sType\":\"* \",\"name\":\"Q{}CountMaxElmtsInRow\",\"line\":\"3019\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3020\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]},{\"N\":\"withParam\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"0\",\"sType\":\"1ADI\",\"C\":[{\"N\":\"int\",\"val\":\"0\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3021\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:m\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}m \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3024\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:mPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3025\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:baseJc\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}baseJc \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3026\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"center\"}]}]},{\"N\":\"elem\",\"name\":\"m:plcHide\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}plcHide \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3027\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]},{\"N\":\"elem\",\"name\":\"m:mcs\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mcs \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3028\",\"C\":[{\"N\":\"elem\",\"name\":\"m:mc\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mc \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3029\",\"C\":[{\"N\":\"elem\",\"name\":\"m:mcPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mcPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3030\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:count\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}count \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3031\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"3032\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"3033\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3033\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:mcJc\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mcJc \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3036\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"center\"}]}]}]}]}]}]}]}]},{\"N\":\"forEach\",\"sType\":\"*NE \",\"line\":\"3041\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3041\"},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"3042\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3043\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\"},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mlabeledtr\"}]},{\"N\":\"elem\",\"name\":\"m:mr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3044\",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"3045\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mtr\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"3046\"},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"forEach\",\"sType\":\"*NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"line\":\"3047\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3047\"},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3048\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3049\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3049\"}]}]}]},{\"N\":\"callT\",\"bSlot\":\"17\",\"sType\":\"* \",\"name\":\"Q{}CreateEmptyElmt\",\"line\":\"3052\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3053\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]}]},{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"forEach\",\"sType\":\"*NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"line\":\"3057\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3057\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3058\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3059\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3059\"}]}]}]},{\"N\":\"callT\",\"bSlot\":\"17\",\"sType\":\"* \",\"name\":\"Q{}CreateEmptyElmt\",\"line\":\"3062\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3063\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]}]},{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:mr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}mr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3070\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"3071\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"3072\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3072\"}]}]},{\"N\":\"callT\",\"bSlot\":\"17\",\"sType\":\"* \",\"name\":\"Q{}CreateEmptyElmt\",\"line\":\"3074\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}cEmptyMtd\",\"slot\":\"0\",\"sType\":\"?AO\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"3075\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cMaxElmtsInRow\",\"slot\":\"1\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"15\",\"prec\":\"0\",\"seq\":\"14\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2595\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mmultiscripts\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mmultiscripts\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}cndPrescriptStrict\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"2611\",\"role\":\"action\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2611\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]},{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}none\"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}cndSuperScript\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"2616\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"1AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2616\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"arith10\",\"op\":\"mod\",\"calc\":\"d%d\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}none\"}]}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"let\",\"var\":\"Q{}cndSubScript\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"2621\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"sType\":\"1ADI\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2621\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"arith10\",\"op\":\"mod\",\"calc\":\"d%d\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"2\"}]},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}none\"}]}]}]}]},{\"N\":\"let\",\"var\":\"Q{}cndScriptStrict\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"2623\",\"C\":[{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"sType\":\"?AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2623\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSuperScript\",\"slot\":\"1\"}]}]},{\"N\":\"atomSing\",\"diag\":\"1|1||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSubScript\",\"slot\":\"2\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}cndScript\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"2626\",\"C\":[{\"N\":\"arith10\",\"op\":\"-\",\"calc\":\"d-d\",\"sType\":\"1AO\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2626\",\"C\":[{\"N\":\"fn\",\"name\":\"count\",\"C\":[{\"N\":\"filter\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"fn\",\"name\":\"reverse\",\"C\":[{\"N\":\"axis\",\"name\":\"preceding-sibling\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]}]}]}]},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"2628\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2630\",\"C\":[{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndPrescriptStrict\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndScriptStrict\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2631\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2631\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2635\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndPrescriptStrict\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2638\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2640\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSuperScript\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSubScript\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"elem\",\"name\":\"m:sSubSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSubSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2641\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2642\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2643\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2644\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2644\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"callT\",\"bSlot\":\"19\",\"sType\":\"* \",\"name\":\"Q{}SplitScripts\",\"line\":\"2648\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2649\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2654\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSubScript\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"name\":\"m:sSub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2655\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2656\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2657\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2658\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2658\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2662\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2663\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2663\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2669\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2670\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2671\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2672\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2672\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2676\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2677\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2677\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2685\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndScriptStrict\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"name\":\"m:sPre\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sPre \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2688\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2689\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2690\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2691\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2691\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"callT\",\"bSlot\":\"19\",\"sType\":\"* \",\"name\":\"Q{}SplitScripts\",\"line\":\"2700\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"2701\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]},{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sPre\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sPre \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2709\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2710\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2711\",\"C\":[{\"N\":\"and\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2713\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSuperScript\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSubScript\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]}]},{\"N\":\"elem\",\"name\":\"m:sSubSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSubSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2714\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2715\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2716\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2717\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2717\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"callT\",\"bSlot\":\"19\",\"sType\":\"* \",\"name\":\"Q{}SplitScripts\",\"line\":\"2722\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2723\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndScript\",\"slot\":\"4\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]},{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2728\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndSubScript\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"name\":\"m:sSub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2729\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2730\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2731\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2732\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2732\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2737\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2738\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2738\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndScript\",\"slot\":\"4\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2744\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2745\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2746\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2747\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2747\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2752\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2753\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"filter\",\"flags\":\"p\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2753\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\">\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"<=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"fn\",\"name\":\"position\"},{\"N\":\"arith10\",\"op\":\"+\",\"calc\":\"d+d\",\"C\":[{\"N\":\"atomSing\",\"diag\":\"1|0||arith\",\"card\":\"?\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}cndScript\",\"slot\":\"4\"}]}]},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]}]}]}]}]}]},{\"N\":\"callT\",\"bSlot\":\"19\",\"sType\":\"* \",\"name\":\"Q{}SplitScripts\",\"line\":\"2762\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndScripts\",\"slot\":\"0\",\"sType\":\"*NE\",\"C\":[{\"N\":\"docOrder\",\"sType\":\"*NE\",\"role\":\"select\",\"line\":\"2763\",\"C\":[{\"N\":\"slash\",\"op\":\"/\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mprescripts\"}]},{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"16\",\"prec\":\"0\",\"seq\":\"13\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2520\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:msubsup\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msubsup\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}msubsup\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"2521\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"2522\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2523\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2526\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2527\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2528\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"2529\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2531\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2531\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"msubsup\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2533\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2535\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2536\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2537\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2537\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2539\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2540\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2541\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2541\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2543\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2544\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"2545\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2546\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sSubSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSubSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2552\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2553\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2554\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2555\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2555\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2557\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2558\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2559\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2559\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2561\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2562\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2563\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2563\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"17\",\"prec\":\"0\",\"seq\":\"12\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2473\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:msup\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msup\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msup\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}msup\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"2474\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"2475\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2476\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2479\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2480\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2481\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"2482\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2484\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2484\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"msup\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2486\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2488\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2489\"}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2491\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2492\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2493\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2493\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2495\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2496\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"2497\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2498\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sSup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2504\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2505\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2506\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2507\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2507\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2509\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2510\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2511\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2511\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"18\",\"prec\":\"0\",\"seq\":\"11\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2426\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:msub\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msub\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msub\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}msub\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"2427\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"2428\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2429\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2432\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2433\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2434\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"2435\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2437\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2437\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"msub\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2439\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2441\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2442\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2443\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2443\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2445\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2446\"}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2448\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2449\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"2450\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2451\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"name\":\"m:sSub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sSub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2457\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2458\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2459\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2460\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2460\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2462\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2463\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2464\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2464\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"19\",\"prec\":\"0\",\"seq\":\"10\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2214\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mfenced\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mfenced\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mfenced\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mfenced\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"elem\",\"name\":\"m:d\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}d \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"role\":\"action\",\"line\":\"2215\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"23\",\"sType\":\"* \",\"name\":\"Q{}CreateDelimProp\",\"line\":\"2216\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}fChOpenValid\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2218\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}open\",\"sType\":\"*NA nQ{}open\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2219\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2220\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2220\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}open\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}open\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2222\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2223\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2223\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2226\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2226\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}chOpen\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2231\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}open\",\"sType\":\"*NA nQ{}open\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2232\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2233\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}open\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}open\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2233\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}open\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}open\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2236\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fChSeparatorsValid\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2241\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}separators\",\"sType\":\"*NA nQ{}separators\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2242\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2243\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2243\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}separators\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}separators\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2245\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2246\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2246\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2249\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}chSeparators\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2254\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}separators\",\"sType\":\"*NA nQ{}separators\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2255\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2256\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}separators\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}separators\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2256\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2259\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}separators\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}separators\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2259\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}fChCloseValid\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2264\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}close\",\"sType\":\"*NA nQ{}close\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2265\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2266\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2266\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}close\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}close\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2268\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2269\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"1\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2269\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2272\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"int\",\"sType\":\"1ADI\",\"val\":\"0\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2272\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}chClose\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2277\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}close\",\"sType\":\"*NA nQ{}close\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2278\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2279\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}close\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}close\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2279\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2282\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}close\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}close\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2282\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]},{\"N\":\"forEach\",\"sType\":\"*NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"line\":\"2287\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2287\"},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2288\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2289\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2290\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2290\"}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"20\",\"prec\":\"0\",\"seq\":\"9\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2158\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:munderover\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}munderover\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}munderover\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munderover\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"2159\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"2160\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2161\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2164\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2165\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2166\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"2167\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2169\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2169\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"munderover\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2171\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2173\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2174\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2175\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2175\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2177\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2178\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2179\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2179\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2181\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2182\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"2183\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2184\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:limUpp\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2190\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2191\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2192\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:limLow\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2193\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2194\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2195\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2196\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2196\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:lim\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2198\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2199\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2200\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2200\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:lim\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2204\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2205\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2206\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2206\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"3\"}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"21\",\"prec\":\"0\",\"seq\":\"8\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"2023\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mover\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"2024\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"2025\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2026\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"2029\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2030\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2031\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"2032\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2034\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2034\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"mover\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2036\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2038\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2039\"}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2041\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2042\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2043\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2043\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2045\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2046\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"2047\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2048\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fIsBar\",\"slot\":\"1\",\"sType\":\"*NE \",\"line\":\"2057\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"24\",\"sType\":\"* \",\"name\":\"Q{}FIsBar\",\"line\":\"2058\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2059\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"2062\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2063\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fIsBar\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"name\":\"m:bar\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}bar \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2064\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:barPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}barPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2065\",\"C\":[{\"N\":\"elem\",\"name\":\"m:pos\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}pos \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2066\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"top\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2068\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2069\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2070\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2070\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fIsAcc\",\"slot\":\"2\",\"sType\":\"*NE \",\"line\":\"2076\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"25\",\"sType\":\"* \",\"name\":\"Q{}FIsAcc\",\"line\":\"2077\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2078\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"2081\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2082\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fIsAcc\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"name\":\"m:acc\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}acc \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2083\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:accPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}accPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2084\",\"C\":[{\"N\":\"elem\",\"name\":\"m:chr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}chr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2085\",\"C\":[{\"N\":\"let\",\"var\":\"Q{}ch\",\"slot\":\"3\",\"sType\":\"*NA \",\"line\":\"2086\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2087\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"subscript\",\"sType\":\"?NE\",\"flags\":\"p\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2087\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}chComb\",\"slot\":\"4\",\"sType\":\"*NA \",\"line\":\"2089\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"26\",\"sType\":\"* \",\"name\":\"Q{}ToUpperCombining\",\"line\":\"2090\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ch\",\"slot\":\"3\",\"sType\":\"*\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}ch\",\"slot\":\"3\",\"sType\":\"*\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2091\"}]}]}]},{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2094\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"flags\":\"l\",\"line\":\"2095\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"varRef\",\"sType\":\"*\",\"name\":\"Q{}chComb\",\"slot\":\"4\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2095\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"2099\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2100\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2101\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2101\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fGroupChr\",\"slot\":\"3\",\"sType\":\"*NE \",\"line\":\"2108\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"27\",\"sType\":\"* \",\"name\":\"Q{}FIsGroupChr\",\"line\":\"2109\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mover\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2110\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"2113\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2114\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fGroupChr\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:groupChr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2115\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"28\",\"sType\":\"* \",\"name\":\"Q{}CreateGroupChrPr\",\"line\":\"2116\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"2118\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2118\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}pos\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"2121\",\"C\":[{\"N\":\"filter\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"2122\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"top\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bot\"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}vertJc\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bot\"}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2128\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2129\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2129\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:limUpp\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2135\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2136\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2137\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2138\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2138\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:lim\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"2140\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"2141\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"2142\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"2142\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"22\",\"prec\":\"0\",\"seq\":\"7\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"1824\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:munder\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fNary\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"1825\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"20\",\"sType\":\"* \",\"name\":\"Q{}isNary\",\"line\":\"1826\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1827\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"1830\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1831\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNary\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"elem\",\"name\":\"m:nary\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}nary \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1832\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"21\",\"sType\":\"* \",\"name\":\"Q{}CreateNaryProp\",\"line\":\"1833\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1835\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"normalize-space\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1835\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}sMathmlType\",\"slot\":\"0\",\"sType\":\"1AS\",\"C\":[{\"N\":\"str\",\"val\":\"munder\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1837\"}]}]},{\"N\":\"elem\",\"name\":\"m:sub\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sub \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1839\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1840\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1841\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1841\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"name\":\"m:sup\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}sup \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1843\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1844\"}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1846\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1847\"},{\"N\":\"callT\",\"bSlot\":\"22\",\"sType\":\"* \",\"name\":\"Q{}NaryHandleMrowMstyle\",\"line\":\"1848\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"?NE\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1849\",\"C\":[{\"N\":\"axis\",\"name\":\"following-sibling\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fIsBar\",\"slot\":\"1\",\"sType\":\"*NE \",\"line\":\"1856\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"24\",\"sType\":\"* \",\"name\":\"Q{}FIsBar\",\"line\":\"1857\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1858\"}]}]}]},{\"N\":\"choose\",\"sType\":\"*NE \",\"type\":\"item()*\",\"line\":\"1861\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1862\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fIsBar\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"name\":\"m:bar\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}bar \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1863\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"name\":\"m:barPr\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}barPr \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1864\",\"C\":[{\"N\":\"elem\",\"name\":\"m:pos\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}pos \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1865\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"sType\":\"1NA \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bot\"}]}]}]},{\"N\":\"elem\",\"name\":\"m:e\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}e \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"line\":\"1867\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1868\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1869\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1869\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fGroupChr\",\"slot\":\"2\",\"sType\":\"*NE \",\"line\":\"1875\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"27\",\"sType\":\"* \",\"name\":\"Q{}FIsGroupChr\",\"line\":\"1876\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}munder\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1877\"}]}]}]},{\"N\":\"choose\",\"sType\":\"?NE \",\"type\":\"item()*\",\"line\":\"1880\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1881\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fGroupChr\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:groupChr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1882\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"28\",\"sType\":\"* \",\"name\":\"Q{}CreateGroupChrPr\",\"line\":\"1883\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}chr\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1885\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mo\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1885\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}pos\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1888\",\"C\":[{\"N\":\"filter\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1889\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bot\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"top\"}]}]}]}]}]},{\"N\":\"withParam\",\"name\":\"Q{}vertJc\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"top\"}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1895\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1896\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"sType\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1896\"}]}]}]}]},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:limLow\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1902\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1903\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1904\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1905\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1905\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:lim\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1907\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1908\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1909\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1909\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"23\",\"prec\":\"0\",\"seq\":\"6\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"1419\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mroot\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mroot\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mroot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mroot\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"elem\",\"type\":\"element()\",\"role\":\"action\",\"name\":\"m:rad\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1420\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:radPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1421\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:degHide\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1422\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1423\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"off\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:deg\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1426\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1427\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1428\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1428\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1430\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1431\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1432\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1432\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"24\",\"prec\":\"0\",\"seq\":\"5\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"1229\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:menclose | mml:msqrt\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}menclose\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}menclose\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}menclose\"},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"1230\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1231\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}notation\",\"sType\":\"*NA nQ{}notation\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1232\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1233\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1233\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}notation\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"29\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"30\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1236\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}notation\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"29\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"30\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"1240\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1245\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"radical\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:rad\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1246\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:radPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1247\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:degHide\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1248\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:deg\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1252\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1253\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1255\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1256\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1257\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1257\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"1262\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1263\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"actuarial\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"longdiv\"}]}]},{\"N\":\"empty\",\"sType\":\"0 \"},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:borderBox\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1265\",\"C\":[{\"N\":\"let\",\"var\":\"Q{}fBox\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"1267\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1268\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1273\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"box\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"circle\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]}]},{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"roundedbox\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fTop\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"1277\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1278\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1279\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"top\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fBot\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"1283\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1284\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1285\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"bottom\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLeft\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"1289\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1290\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1291\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"left\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fRight\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"1295\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1296\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1297\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"right\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeH\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"1301\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1302\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1303\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"horizontalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeV\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"1307\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1308\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1309\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"verticalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeBLTR\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"1313\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1314\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1315\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"updiagonalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeTLBR\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"1319\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1320\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1321\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"downdiagonalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"? \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1338\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1338\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeH\",\"slot\":\"6\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeV\",\"slot\":\"7\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeBLTR\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeTLBR\",\"slot\":\"9\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBox\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fTop\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBot\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLeft\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fRight\",\"slot\":\"5\"},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:borderBoxPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1339\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"1340\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1340\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBox\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1341\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1341\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fTop\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideTop\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1342\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1343\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1346\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1346\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBot\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideBot\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1347\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1348\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1351\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1351\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLeft\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideLeft\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1352\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1353\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1356\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1356\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fRight\",\"slot\":\"5\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideRight\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1357\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1358\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1362\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1362\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeH\",\"slot\":\"6\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeH\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1363\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1364\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1367\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1367\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeV\",\"slot\":\"7\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeV\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1368\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1372\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1372\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeBLTR\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeBLTR\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1373\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1374\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1377\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1377\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeTLBR\",\"slot\":\"9\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeTLBR\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1378\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1384\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1385\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1386\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1386\"}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"25\",\"prec\":\"0\",\"seq\":\"5\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"1229\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:menclose | mml:msqrt\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"},{\"N\":\"let\",\"var\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"1230\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1231\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}notation\",\"sType\":\"*NA nQ{}notation\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1232\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1233\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1233\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}notation\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"29\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"30\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1236\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"fn\",\"name\":\"translate\",\"sType\":\"1AS\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1236\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}notation\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrUCAlphabet\",\"bSlot\":\"29\"}]},{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"gVarRef\",\"name\":\"Q{}StrLCAlphabet\",\"bSlot\":\"30\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]},{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"1240\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1245\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"radical\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"\"}]}]},{\"N\":\"axis\",\"name\":\"self\",\"nodeTest\":\"*NE nQ{http://www.w3.org/1998/Math/MathML}msqrt\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:rad\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1246\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:radPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1247\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:degHide\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1248\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1249\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:deg\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1252\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1253\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1255\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1256\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1257\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1257\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"choose\",\"sType\":\"? \",\"type\":\"item()*\",\"line\":\"1262\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1263\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"actuarial\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"},{\"N\":\"str\",\"val\":\"longdiv\"}]}]},{\"N\":\"empty\",\"sType\":\"0 \"},{\"N\":\"true\"},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:borderBox\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1265\",\"C\":[{\"N\":\"let\",\"var\":\"Q{}fBox\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"1267\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1268\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1273\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"box\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"circle\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]}]},{\"N\":\"fn\",\"name\":\"contains\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"roundedbox\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fTop\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"1277\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1278\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1279\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"top\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fBot\",\"slot\":\"3\",\"sType\":\"* \",\"line\":\"1283\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1284\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1285\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"bottom\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fLeft\",\"slot\":\"4\",\"sType\":\"* \",\"line\":\"1289\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1290\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1291\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"left\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fRight\",\"slot\":\"5\",\"sType\":\"* \",\"line\":\"1295\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1296\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1297\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"right\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeH\",\"slot\":\"6\",\"sType\":\"* \",\"line\":\"1301\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1302\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1303\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"horizontalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeV\",\"slot\":\"7\",\"sType\":\"* \",\"line\":\"1307\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1308\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1309\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"verticalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeBLTR\",\"slot\":\"8\",\"sType\":\"* \",\"line\":\"1313\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1314\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1315\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"updiagonalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"let\",\"var\":\"Q{}fStrikeTLBR\",\"slot\":\"9\",\"sType\":\"* \",\"line\":\"1319\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1320\",\"C\":[{\"N\":\"fn\",\"name\":\"contains\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1321\",\"C\":[{\"N\":\"fn\",\"name\":\"string\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}sLowerCaseNotation\",\"slot\":\"0\"}]}]},{\"N\":\"str\",\"val\":\"downdiagonalstrike\"},{\"N\":\"str\",\"val\":\"http://www.w3.org/2005/xpath-functions/collation/codepoint\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"1\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"0\"}]}]}]},{\"N\":\"sequence\",\"sType\":\"? \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1338\",\"C\":[{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1338\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"or\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeH\",\"slot\":\"6\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeV\",\"slot\":\"7\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeBLTR\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeTLBR\",\"slot\":\"9\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBox\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"fn\",\"name\":\"not\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"and\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fTop\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBot\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLeft\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"1\"}]}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fRight\",\"slot\":\"5\"},{\"N\":\"int\",\"val\":\"1\"}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:borderBoxPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1339\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"1340\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1340\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBox\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1341\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1341\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fTop\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideTop\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1342\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1343\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1346\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1346\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBot\",\"slot\":\"3\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideBot\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1347\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1348\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1351\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1351\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLeft\",\"slot\":\"4\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideLeft\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1352\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1353\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1356\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1356\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fRight\",\"slot\":\"5\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:hideRight\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1357\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1358\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1362\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1362\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeH\",\"slot\":\"6\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeH\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1363\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1364\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1367\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1367\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeV\",\"slot\":\"7\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeV\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1368\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1369\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1372\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1372\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeBLTR\",\"slot\":\"8\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeBLTR\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1373\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1374\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"choose\",\"sType\":\"? \",\"line\":\"1377\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1377\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fStrikeTLBR\",\"slot\":\"9\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:strikeTLBR\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1378\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1379\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"on\"}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:e\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1384\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1385\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1386\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1386\"}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"26\",\"prec\":\"0\",\"seq\":\"4\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"1188\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mfrac\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mfrac\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mfrac\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"let\",\"var\":\"Q{}fBar\",\"slot\":\"0\",\"sType\":\"*NE \",\"line\":\"1189\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"31\",\"sType\":\"* \",\"name\":\"Q{}FBar\",\"line\":\"1190\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}sLineThickness\",\"slot\":\"0\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1192\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}linethickness\",\"sType\":\"*NA nQ{}linethickness\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1193\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1194\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{}linethickness\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}linethickness\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1194\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"flags\":\"l\",\"sType\":\"1NT \",\"line\":\"1197\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"axis\",\"sType\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}linethickness\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}linethickness\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1197\"}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\" \"}]}]}]}]}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:f\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1204\",\"C\":[{\"N\":\"sequence\",\"sType\":\"*NE \",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:fPr\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1205\",\"C\":[{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:type\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1206\",\"C\":[{\"N\":\"att\",\"name\":\"m:val\",\"sType\":\"1NA \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1207\",\"C\":[{\"N\":\"fn\",\"name\":\"string-join\",\"role\":\"select\",\"C\":[{\"N\":\"first\",\"C\":[{\"N\":\"forEach\",\"sType\":\"*AS \",\"C\":[{\"N\":\"data\",\"sType\":\"*A \",\"C\":[{\"N\":\"mergeAdj\",\"C\":[{\"N\":\"choose\",\"sType\":\"?NT \",\"type\":\"item()*\",\"line\":\"1208\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1209\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fBar\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"noBar\"}]},{\"N\":\"or\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"1210\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{}bevelled\"},{\"N\":\"str\",\"val\":\"true\"}]},{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"C\":[{\"N\":\"axis\",\"name\":\"attribute\",\"nodeTest\":\"*NA nQ{http://www.w3.org/1998/Math/MathML}bevelled\"},{\"N\":\"str\",\"val\":\"true\"}]}]},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"skw\"}]},{\"N\":\"true\"},{\"N\":\"valueOf\",\"sType\":\"1NT \",\"C\":[{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"bar\"}]}]}]}]},{\"N\":\"fn\",\"name\":\"string\",\"sType\":\"1AS \",\"C\":[{\"N\":\"dot\"}]}]}]},{\"N\":\"str\",\"sType\":\"1AS \",\"val\":\"\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:num\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1216\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1217\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1218\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"first\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1218\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"}]}]}]}]},{\"N\":\"elem\",\"type\":\"element()\",\"name\":\"m:den\",\"sType\":\"1NE \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"line\":\"1220\",\"C\":[{\"N\":\"sequence\",\"sType\":\"* \",\"C\":[{\"N\":\"callT\",\"bSlot\":\"18\",\"sType\":\"* \",\"name\":\"Q{}CreateArgProp\",\"line\":\"1221\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"1222\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"subscript\",\"flags\":\"p\",\"sType\":\"?NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"1222\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\"},{\"N\":\"int\",\"val\":\"2\"}]}]}]}]}]}]}]}]},{\"N\":\"templateRule\",\"rank\":\"27\",\"prec\":\"0\",\"seq\":\"2\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"157\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mrow|mml:mstyle\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\"},{\"N\":\"let\",\"var\":\"Q{}fNaryArgument\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"158\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"32\",\"sType\":\"* \",\"name\":\"Q{}FIsNaryArgument\",\"line\":\"159\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"160\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"163\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"163\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNaryArgument\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFrac\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"164\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"165\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"166\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"169\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"170\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFrac\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"33\",\"sType\":\"* \",\"name\":\"Q{}MakeLinearFraction\",\"line\":\"171\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"172\"}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fFunc\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"176\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"177\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"178\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"181\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"182\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunc\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"34\",\"sType\":\"* \",\"name\":\"Q{}WriteFunc\",\"line\":\"183\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mrow\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"184\"}]}]},{\"N\":\"true\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"188\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"188\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"templateRule\",\"rank\":\"28\",\"prec\":\"0\",\"seq\":\"2\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"157\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"mml:mrow|mml:mstyle\",\"prio\":\"0\",\"matches\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\"},{\"N\":\"let\",\"var\":\"Q{}fNaryArgument\",\"slot\":\"0\",\"sType\":\"* \",\"line\":\"158\",\"role\":\"action\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"32\",\"sType\":\"* \",\"name\":\"Q{}FIsNaryArgument\",\"line\":\"159\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"160\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"line\":\"163\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"163\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fNaryArgument\",\"slot\":\"0\"},{\"N\":\"int\",\"val\":\"0\"}]},{\"N\":\"let\",\"var\":\"Q{}fLinearFrac\",\"slot\":\"1\",\"sType\":\"* \",\"line\":\"164\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"7\",\"sType\":\"* \",\"name\":\"Q{}FLinearFrac\",\"line\":\"165\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"166\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"169\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"170\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fLinearFrac\",\"slot\":\"1\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"33\",\"sType\":\"* \",\"name\":\"Q{}MakeLinearFraction\",\"line\":\"171\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"172\"}]}]},{\"N\":\"true\"},{\"N\":\"let\",\"var\":\"Q{}fFunc\",\"slot\":\"2\",\"sType\":\"* \",\"line\":\"176\",\"C\":[{\"N\":\"doc\",\"sType\":\"1ND \",\"base\":\"file:///Users/wangxiangyu/Desktop/work/zotero-better-notes/scripts/docx/mml2omml.xsl\",\"role\":\"select\",\"C\":[{\"N\":\"callT\",\"bSlot\":\"8\",\"sType\":\"* \",\"name\":\"Q{}FIsFunc\",\"line\":\"177\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"178\"}]}]}]},{\"N\":\"choose\",\"sType\":\"* \",\"type\":\"item()*\",\"line\":\"181\",\"C\":[{\"N\":\"gc10\",\"op\":\"=\",\"comp\":\"GAC|http://www.w3.org/2005/xpath-functions/collation/codepoint\",\"card\":\"1:1\",\"sType\":\"1AB\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"line\":\"182\",\"C\":[{\"N\":\"varRef\",\"name\":\"Q{}fFunc\",\"slot\":\"2\"},{\"N\":\"int\",\"val\":\"1\"}]},{\"N\":\"callT\",\"bSlot\":\"34\",\"sType\":\"* \",\"name\":\"Q{}WriteFunc\",\"line\":\"183\",\"C\":[{\"N\":\"withParam\",\"name\":\"Q{}ndCur\",\"slot\":\"0\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"C\":[{\"N\":\"dot\",\"sType\":\"1NE nQ{http://www.w3.org/1998/Math/MathML}mstyle\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"184\"}]}]},{\"N\":\"true\"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"188\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"188\"}]}]}]}]}]},{\"N\":\"true\"},{\"N\":\"empty\",\"sType\":\"0 \"}]}]}]},{\"N\":\"templateRule\",\"rank\":\"29\",\"prec\":\"0\",\"seq\":\"1\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"22\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"/\",\"prio\":\"-0.5\",\"matches\":\"ND\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"ND\",\"sType\":\"1ND\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"elem\",\"name\":\"m:oMath\",\"sType\":\"1NE nQ{http://schemas.openxmlformats.org/officeDocument/2006/math}oMath \",\"nsuri\":\"http://schemas.openxmlformats.org/officeDocument/2006/math\",\"namespaces\":\"m=http://schemas.openxmlformats.org/officeDocument/2006/math mml=http://www.w3.org/1998/Math/MathML\",\"role\":\"action\",\"line\":\"23\",\"C\":[{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"24\",\"mode\":\"#unnamed\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"24\"}]}]}]},{\"N\":\"templateRule\",\"rank\":\"30\",\"prec\":\"0\",\"seq\":\"0\",\"ns\":\"xml=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math\",\"minImp\":\"0\",\"flags\":\"s\",\"slots\":\"200\",\"line\":\"14\",\"module\":\"mml2omml.xsl\",\"expand-text\":\"false\",\"match\":\"*\",\"prio\":\"-0.5\",\"matches\":\"NE\",\"C\":[{\"N\":\"p.nodeTest\",\"role\":\"match\",\"test\":\"NE\",\"sType\":\"1NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \"},{\"N\":\"applyT\",\"sType\":\"* \",\"line\":\"15\",\"mode\":\"#unnamed\",\"role\":\"action\",\"bSlot\":\"11\",\"C\":[{\"N\":\"axis\",\"name\":\"child\",\"nodeTest\":\"*NE\",\"sType\":\"*NE\",\"ns\":\"= xml=~ fn=~ xsl=~ mml=http://www.w3.org/1998/Math/MathML m=http://schemas.openxmlformats.org/officeDocument/2006/math \",\"role\":\"select\",\"line\":\"15\"}]}]}]}]},{\"N\":\"overridden\"},{\"N\":\"output\",\"C\":[{\"N\":\"property\",\"name\":\"Q{http://saxon.sf.net/}stylesheet-version\",\"value\":\"10\"},{\"N\":\"property\",\"name\":\"method\",\"value\":\"xml\"},{\"N\":\"property\",\"name\":\"encoding\",\"value\":\"UTF-8\"}]},{\"N\":\"decimalFormat\"}],\"Σ\":\"b8aa91cd\"}"
  },
  {
    "path": "addon/chrome/content/lib/js/printUtils.js",
    "content": "/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, you can obtain one at http://mozilla.org/MPL/2.0/. */\n\nChromeUtils.defineESModuleGetters(this, {\n  SubDialogManager: \"resource://gre/modules/SubDialog.sys.mjs\",\n});\n\n// Load PrintUtils lazily and modify it to suit.\nChromeUtils.defineLazyGetter(this, \"PrintUtils\", () => {\n  let scope = {};\n  Services.scriptloader.loadSubScript(\n    \"chrome://global/content/printUtils.js\",\n    scope\n  );\n  scope.PrintUtils.getTabDialogBox = function (browser) {\n    if (!browser.tabDialogBox) {\n      browser.tabDialogBox = new TabDialogBox(browser);\n    }\n    return browser.tabDialogBox;\n  };\n  scope.PrintUtils.createBrowser = function ({\n    remoteType,\n    initialBrowsingContextGroupId,\n    userContextId,\n    skipLoad,\n    initiallyActive,\n  } = {}) {\n    let b = document.createXULElement(\"browser\");\n    // Use the JSM global to create the permanentKey, so that if the\n    // permanentKey is held by something after this window closes, it\n    // doesn't keep the window alive.\n    b.permanentKey = new (Cu.getGlobalForObject(Services).Object)();\n\n    const defaultBrowserAttributes = {\n      maychangeremoteness: \"true\",\n      messagemanagergroup: \"browsers\",\n      type: \"content\",\n    };\n    for (let attribute in defaultBrowserAttributes) {\n      b.setAttribute(attribute, defaultBrowserAttributes[attribute]);\n    }\n\n    if (userContextId) {\n      b.setAttribute(\"usercontextid\", userContextId);\n    }\n\n    if (remoteType) {\n      b.setAttribute(\"remoteType\", remoteType);\n      b.setAttribute(\"remote\", \"true\");\n    }\n\n    // Ensure that the browser will be created in a specific initial\n    // BrowsingContextGroup. This may change the process selection behaviour\n    // of the newly created browser, and is often used in combination with\n    // \"remoteType\" to ensure that the initial about:blank load occurs\n    // within the same process as another window.\n    if (initialBrowsingContextGroupId) {\n      b.setAttribute(\n        \"initialBrowsingContextGroupId\",\n        initialBrowsingContextGroupId\n      );\n    }\n\n    // We set large flex on both containers to allow the devtools toolbox to\n    // set a flex attribute. We don't want the toolbox to actually take up free\n    // space, but we do want it to collapse when the window shrinks, and with\n    // flex=0 it can't. When the toolbox is on the bottom it's a sibling of\n    // browserStack, and when it's on the side it's a sibling of\n    // browserContainer.\n    let stack = document.createXULElement(\"stack\");\n    stack.className = \"browserStack\";\n    stack.appendChild(b);\n    stack.setAttribute(\"flex\", \"10000\");\n\n    let browserContainer = document.createXULElement(\"vbox\");\n    browserContainer.className = \"browserContainer\";\n    browserContainer.appendChild(stack);\n    browserContainer.setAttribute(\"flex\", \"10000\");\n\n    let browserSidebarContainer = document.createXULElement(\"hbox\");\n    browserSidebarContainer.className = \"browserSidebarContainer\";\n    browserSidebarContainer.appendChild(browserContainer);\n\n    // Prevent the superfluous initial load of a blank document\n    // if we're going to load something other than about:blank.\n    if (skipLoad) {\n      b.setAttribute(\"nodefaultsrc\", \"true\");\n    }\n\n    return b;\n  };\n  return scope.PrintUtils;\n});\n\n/**\n * The TabDialogBox supports opening window dialogs as SubDialogs on the tab and content\n * level. Both tab and content dialogs have their own separate managers.\n * Dialogs will be queued FIFO and cover the web content.\n * Dialogs are closed when the user reloads or leaves the page.\n * While a dialog is open PopupNotifications, such as permission prompts, are\n * suppressed.\n */\nclass TabDialogBox {\n  constructor(browser) {\n    this._weakBrowserRef = Cu.getWeakReference(browser);\n\n    // Create parent element for tab dialogs\n    let template = document.getElementById(\"dialogStackTemplate\");\n    this.dialogStack = template.content.cloneNode(true).firstElementChild;\n    this.dialogStack.classList.add(\"tab-prompt-dialog\");\n\n    // This differs from Firefox by using a specific ancestor <stack> rather\n    // than the parent of the <browser>, so that a larger area of the screen\n    // is used for the preview.\n    this.printPreviewStack = document.querySelector(\".printPreviewStack\");\n    if (this.printPreviewStack && this.printPreviewStack.contains(browser)) {\n      this.printPreviewStack.appendChild(this.dialogStack);\n    } else {\n      this.printPreviewStack = this.browser.parentNode;\n      this.browser.parentNode.insertBefore(\n        this.dialogStack,\n        this.browser.nextElementSibling\n      );\n    }\n\n    // Initially the stack only contains the template\n    let dialogTemplate = this.dialogStack.firstElementChild;\n\n    // Create dialog manager for prompts at the tab level.\n    this._tabDialogManager = new SubDialogManager({\n      dialogStack: this.dialogStack,\n      dialogTemplate,\n      orderType: SubDialogManager.ORDER_QUEUE,\n      allowDuplicateDialogs: true,\n      dialogOptions: {\n        consumeOutsideClicks: false,\n      },\n    });\n  }\n\n  /**\n   * Open a dialog on tab or content level.\n   * @param {String} aURL - URL of the dialog to load in the tab box.\n   * @param {Object} [aOptions]\n   * @param {String} [aOptions.features] - Comma separated list of window\n   *   features.\n   * @param {Boolean} [aOptions.allowDuplicateDialogs] - Whether to allow\n   *   showing multiple dialogs with aURL at the same time. If false calls for\n   *   duplicate dialogs will be dropped.\n   * @param {String} [aOptions.sizeTo] - Pass \"available\" to stretch dialog to\n   *   roughly content size.\n   * @param {Boolean} [aOptions.keepOpenSameOriginNav] - By default dialogs are\n   *   aborted on any navigation.\n   *   Set to true to keep the dialog open for same origin navigation.\n   * @param {Number} [aOptions.modalType] - The modal type to create the dialog for.\n   *   By default, we show the dialog for tab prompts.\n   * @returns {Promise} - Resolves once the dialog has been closed.\n   */\n  open(\n    aURL,\n    {\n      features = null,\n      allowDuplicateDialogs = true,\n      sizeTo,\n      keepOpenSameOriginNav,\n      modalType = null,\n      allowFocusCheckbox = false,\n    } = {},\n    ...aParams\n  ) {\n    return new Promise((resolve) => {\n      // Get the dialog manager to open the prompt with.\n      let dialogManager =\n        modalType === Ci.nsIPrompt.MODAL_TYPE_CONTENT\n          ? this.getContentDialogManager()\n          : this._tabDialogManager;\n      let hasDialogs =\n        this._tabDialogManager.hasDialogs ||\n        this._contentDialogManager?.hasDialogs;\n\n      if (!hasDialogs) {\n        this._onFirstDialogOpen();\n      }\n\n      let closingCallback = (event) => {\n        if (!hasDialogs) {\n          this._onLastDialogClose();\n        }\n\n        if (allowFocusCheckbox && !event.detail?.abort) {\n          this.maybeSetAllowTabSwitchPermission(event.target);\n        }\n      };\n\n      if (modalType == Ci.nsIPrompt.MODAL_TYPE_CONTENT) {\n        sizeTo = \"limitheight\";\n      }\n\n      // Open dialog and resolve once it has been closed\n      let dialog = dialogManager.open(\n        aURL,\n        {\n          features,\n          allowDuplicateDialogs,\n          sizeTo,\n          closingCallback,\n          closedCallback: resolve,\n        },\n        ...aParams\n      );\n\n      // Marking the dialog externally, instead of passing it as an option.\n      // The SubDialog(Manager) does not care about navigation.\n      // dialog can be null here if allowDuplicateDialogs = false.\n      if (dialog) {\n        dialog._keepOpenSameOriginNav = keepOpenSameOriginNav;\n      }\n    });\n  }\n\n  _onFirstDialogOpen() {\n    for (let element of this.printPreviewStack.children) {\n      if (element != this.dialogStack) {\n        element.setAttribute(\"tabDialogShowing\", true);\n      }\n    }\n\n    // Register listeners\n    this._lastPrincipal = this.browser.contentPrincipal;\n    this.browser.addProgressListener(this, Ci.nsIWebProgress.NOTIFY_LOCATION);\n  }\n\n  _onLastDialogClose() {\n    for (let element of this.printPreviewStack.children) {\n      if (element != this.dialogStack) {\n        element.removeAttribute(\"tabDialogShowing\");\n      }\n    }\n\n    // Clean up listeners\n    this.browser.removeProgressListener(this);\n    this._lastPrincipal = null;\n  }\n\n  _buildContentPromptDialog() {\n    let template = document.getElementById(\"dialogStackTemplate\");\n    let contentDialogStack = template.content.cloneNode(true).firstElementChild;\n    contentDialogStack.classList.add(\"content-prompt-dialog\");\n\n    // Create a dialog manager for content prompts.\n    let tabPromptDialog =\n      this.browser.parentNode.querySelector(\".tab-prompt-dialog\");\n    this.browser.parentNode.insertBefore(contentDialogStack, tabPromptDialog);\n\n    let contentDialogTemplate = contentDialogStack.firstElementChild;\n    this._contentDialogManager = new SubDialogManager({\n      dialogStack: contentDialogStack,\n      dialogTemplate: contentDialogTemplate,\n      orderType: SubDialogManager.ORDER_QUEUE,\n      allowDuplicateDialogs: true,\n      dialogOptions: {\n        consumeOutsideClicks: false,\n      },\n    });\n  }\n\n  handleEvent(event) {\n    if (event.type !== \"TabClose\") {\n      return;\n    }\n    this.abortAllDialogs();\n  }\n\n  abortAllDialogs() {\n    this._tabDialogManager.abortDialogs();\n    this._contentDialogManager?.abortDialogs();\n  }\n\n  focus() {\n    // Prioritize focusing the dialog manager for tab prompts\n    if (this._tabDialogManager._dialogs.length) {\n      this._tabDialogManager.focusTopDialog();\n      return;\n    }\n    this._contentDialogManager?.focusTopDialog();\n  }\n\n  /**\n   * If the user navigates away or refreshes the page, close all dialogs for\n   * the current browser.\n   */\n  onLocationChange(aWebProgress, aRequest, aLocation, aFlags) {\n    if (\n      !aWebProgress.isTopLevel ||\n      aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT\n    ) {\n      return;\n    }\n\n    // Dialogs can be exempt from closing on same origin location change.\n    let filterFn;\n\n    // Test for same origin location change\n    if (\n      this._lastPrincipal?.isSameOrigin(\n        aLocation,\n        this.browser.browsingContext.usePrivateBrowsing\n      )\n    ) {\n      filterFn = (dialog) => !dialog._keepOpenSameOriginNav;\n    }\n\n    this._lastPrincipal = this.browser.contentPrincipal;\n\n    this._tabDialogManager.abortDialogs(filterFn);\n    this._contentDialogManager?.abortDialogs(filterFn);\n  }\n\n  get tab() {\n    return document.getElementById(\"tabmail\").getTabForBrowser(this.browser);\n  }\n\n  get browser() {\n    let browser = this._weakBrowserRef.get();\n    if (!browser) {\n      throw new Error(\"Stale dialog box! The associated browser is gone.\");\n    }\n    return browser;\n  }\n\n  getTabDialogManager() {\n    return this._tabDialogManager;\n  }\n\n  getContentDialogManager() {\n    if (!this._contentDialogManager) {\n      this._buildContentPromptDialog();\n    }\n    return this._contentDialogManager;\n  }\n\n  onNextPromptShowAllowFocusCheckboxFor(principal) {\n    this._allowTabFocusByPromptPrincipal = principal;\n  }\n\n  /**\n   * Sets the \"focus-tab-by-prompt\" permission for the dialog.\n   */\n  maybeSetAllowTabSwitchPermission(dialog) {\n    let checkbox = dialog.querySelector(\"checkbox\");\n\n    if (checkbox.checked) {\n      Services.perms.addFromPrincipal(\n        this._allowTabFocusByPromptPrincipal,\n        \"focus-tab-by-prompt\",\n        Services.perms.ALLOW_ACTION\n      );\n    }\n\n    // Don't show the \"allow tab switch checkbox\" for subsequent prompts.\n    this._allowTabFocusByPromptPrincipal = null;\n  }\n}\n\nTabDialogBox.prototype.QueryInterface = ChromeUtils.generateQI([\n  \"nsIWebProgressListener\",\n  \"nsISupportsWeakReference\",\n]);\n"
  },
  {
    "path": "addon/chrome/content/lib/js/ztypes.d.ts",
    "content": "\n\n\n\n\n// Type definitions for Zotero\n// Project: https://github.com/windingwind/zotero-types#readme\n// Definitions by: windingwind <https://github.com/windingwind>\n//                 volatile-static <https://github.com/volatile-static>\n// Definitions:\n\n\n\ndeclare namespace _ZoteroTypes {\n  type anyObj = { [key: string]: any };\n  type MaybePromise<T> = T | Promise<T>;\n  type MaybeArray<T> = T | Array<T>;\n  type ZoteroObjectURI = string;\n  type RelationsPredicate = \"dc:relation\" | \"owl:sameAs\" | \"dc:replaces\";\n  type ObjectRelations = Record<\n    _ZoteroTypes.RelationsPredicate,\n    _ZoteroTypes.ZoteroObjectURI[]\n  >;\n  type IconURI = `chrome://zotero/skin/${string}`;\n  // TODO: Add more specific types for icon URIs\n  enum IconFile {}\n\n  type React = typeof import(\"react\");\n\n  interface MainWindow extends Window {\n    readonly Zotero: Zotero;\n    readonly ZoteroPane: ZoteroPane;\n    readonly ZoteroPane_Local: ZoteroPane;\n    readonly Zotero_Tabs: _ZoteroTypes.Zotero_Tabs;\n    readonly ZoteroContextPane: ZoteroContextPane;\n    readonly Zotero_File_Interface: Zotero_File_Interface;\n\n    readonly Components: nsIXPCComponents;\n    readonly Cc: nsIXPCComponents_Classes;\n    readonly Ci: nsIXPCComponents_Interfaces;\n    readonly Cr: nsIXPCComponents_Results;\n    readonly Cu: nsIXPCComponents_Utils;\n\n    readonly Services: JSServices;\n    readonly NetUtil: anyObj;\n\n    readonly document: Document;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface CollectionTree extends LibraryTree {\n    [attr: string]: any;\n    /**\n     * Return a reference to the tree row at a given row\n     *\n     * @return {TreeRow}\n     */\n    getRow(index: number): Zotero.CollectionTreeRow;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  class XULElementBase extends HTMLElement {\n    initialized: false;\n    get content(): null | DocumentFragment;\n    init(): void;\n    destroy(): void;\n    connectedCallback(): void;\n    disconnectedCallback(): void;\n    _handleWindowUnload(): void;\n  }\n}\n\n\n\ndeclare namespace _ZoteroTypes {\n  class ItemPane extends XULElementBase {\n    get content(): DocumentFragment;\n    collectionTreeRow: any;\n    itemsView: any;\n    editable: boolean;\n    mode: \"message\" | \"item\" | \"note\" | \"duplicates\";\n    render(): boolean;\n    notify(action: \"modify\", type: \"item\"): void;\n    renderNoteEditor(item: Zotero.Item): void;\n    renderItemPane(item: Zotero.Item): true;\n    renderMessage(): boolean;\n    setItemPaneMessage(message: string): void;\n\n    /**\n     * Display buttons at top of item pane depending on context\n     */\n    updateItemPaneButtons(): void;\n\n    renderPublicationsHead(data: {\n      doc: Document;\n      append: Document[\"append\"];\n    }): void;\n    renderTrashHead(data: { doc: Document; append: Document[\"append\"] }): void;\n    renderFeedHead(data: { doc: Document; append: Document[\"append\"] }): void;\n    updateReadLabel(): void;\n    setReadLabel(isRead: boolean): void;\n    translateSelectedItems(): Promise<void>;\n    buildTranslateSelectContextMenu(event: Event): void;\n    setTranslateButton(): void;\n    setTranslationTarget(translationTarget: unknown): void;\n    static get observedAttributes():\n      | \"collapsed\"\n      | \"width\"\n      | \"height\"\n      | \"view-type\";\n    attributeChangedCallback(\n      name: \"collapsed\" | \"width\" | \"height\" | \"view-type\",\n      oldValue?: string,\n      newValue?: string,\n    ): void;\n    handleBlur(): Promise<void>;\n    handleResize(): void;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  class ItemPaneSectionElementBase extends XULElementBase {\n    initCollapsibleSection(): void;\n  }\n  class ItemPaneCustomSection extends ItemPaneSectionElementBase {\n    _hooks: {\n      [hook in keyof ItemPaneManagerSection.SectionHook]?: ItemPaneManagerSection.SectionHook[hook];\n    };\n    _sectionButtons: Record<\n      string,\n      Omit<ItemPaneManagerSection.SectionButton, \"type\">\n    >;\n    _refreshDisabled: boolean;\n    paneID: string;\n    bodyXHTML: string;\n    setL10nID(id: string): void;\n    setL10nArgs(args: string): void;\n    registerSectionIcon(icon: { icon: string; darkIcon?: string }): void;\n    updateSectionIcon(): void;\n    registerSectionButton(button: ItemPaneManagerSection.SectionButton): void;\n    registerHook<T extends keyof ItemPaneManagerSection.SectionHook>(options: {\n      type: T;\n      callback: ItemPaneManagerSection.SectionHook[T];\n    }): void;\n    render(): false | void;\n    asyncRender(): Promise<void | false>;\n  }\n}\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from source XPCOM .idl files.\n * If you're updating some of the sources, see README for instructions.\n */\n\ndeclare global {\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleMacInterface.idl\n\ninterface nsIAccessibleMacNSObjectWrapper extends nsISupports {\n}\n\ninterface nsIAccessibleMacInterface extends nsISupports {\n  readonly attributeNames: string[];\n  readonly parameterizedAttributeNames: string[];\n  readonly actionNames: string[];\n  getAttributeValue(attributeName: string): any;\n  getParameterizedAttributeValue(attributeName: string, parameter: any): any;\n  performAction(actionName: string): void;\n  isAttributeSettable(attributeName: string): boolean;\n  setAttributeValue(attributeName: string, attributeValue: any): void;\n}\n\ninterface nsIAccessibleMacEvent extends nsISupports {\n  readonly macIface: nsIAccessibleMacInterface;\n  readonly data: any;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/migration/nsIKeychainMigrationUtils.idl\n\ninterface nsIKeychainMigrationUtils extends nsISupports {\n  getGenericPassword(aServiceName: string, aAccountName: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIMacShellService.idl\n\ninterface nsIMacShellService extends nsIShellService {\n  showDesktopPreferences(): void;\n  showSecurityPreferences(aPaneID: string): void;\n  getAvailableApplicationsForProtocol(protocol: string): string[][];\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMacDockSupport.idl\n\ninterface nsIAppBundleLaunchOptions extends nsISupports {\n  readonly addsToRecentItems: boolean;\n}\n\ninterface nsIMacDockSupport extends nsISupports {\n  dockMenu: nsIStandaloneNativeMenu;\n  activateApplication(aIgnoreOtherApplications: boolean): void;\n  badgeText: string;\n  setBadgeImage(aBadgeImage: imgIContainer, aPaintContext?: nsISVGPaintContext): void;\n  readonly isAppInDock: boolean;\n  ensureAppIsPinnedToDock(aAppPath?: string, aAppToReplacePath?: string): boolean;\n  launchAppBundle(aAppBundle: nsIFile, aArgs: string[], aLaunchOptions?: nsIAppBundleLaunchOptions): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMacFinderProgress.idl\n\ntype nsIMacFinderProgressCanceledCallback = Callable<{\n  canceled(): void;\n}>\n\ninterface nsIMacFinderProgress extends nsISupports {\n  init(path: string, canceledCallback: nsIMacFinderProgressCanceledCallback): void;\n  updateProgress(currentProgress: u64, totalProgress: u64): void;\n  end(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMacSharingService.idl\n\ninterface nsIMacSharingService extends nsISupports {\n  getSharingProviders(pageUrl: string): any;\n  shareUrl(serviceName: string, pageUrl: string, pageTitle: string): void;\n  openSharingPreferences(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMacUserActivityUpdater.idl\n\ninterface nsIMacUserActivityUpdater extends nsISupports {\n  updateLocation(pageUrl: string, pageTitle: string, window: nsIBaseWindow): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMacWebAppUtils.idl\n\ntype nsITrashAppCallback = Callable<{\n  trashAppFinished(rv: nsresult): void;\n}>\n\ninterface nsIMacWebAppUtils extends nsISupports {\n  pathForAppWithIdentifier(bundleIdentifier: string): string;\n  launchAppWithIdentifier(bundleIdentifier: string): void;\n  trashApp(path: string, callback: nsITrashAppCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIStandaloneNativeMenu.idl\n\ninterface nsIStandaloneNativeMenu extends nsISupports {\n  init(aElement: Element): void;\n  menuWillOpen(): boolean;\n  activateNativeMenuItemAt(anIndexString: string): void;\n  forceUpdateNativeMenuAt(anIndexString: string): void;\n  dump(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl\n\ninterface nsITaskbarProgress extends nsISupports {\n  readonly STATE_NO_PROGRESS?: 0;\n  readonly STATE_INDETERMINATE?: 1;\n  readonly STATE_NORMAL?: 2;\n  readonly STATE_ERROR?: 3;\n  readonly STATE_PAUSED?: 4;\n\n  setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITouchBarHelper.idl\n\ninterface nsITouchBarHelper extends nsISupports {\n  readonly activeUrl: string;\n  readonly activeTitle: string;\n  readonly isUrlbarFocused: boolean;\n  toggleFocusUrlbar(): void;\n  unfocusUrlbar(): void;\n  allItems: nsIArray;\n  readonly document: Document;\n  getTouchBarInput(aInputName: string): nsITouchBarInput;\n  insertRestrictionInUrlbar(aToken: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITouchBarInput.idl\n\ntype nsITouchBarInputCallback = Callable<{\n  onCommand(): void;\n}>\n\ninterface nsITouchBarInput extends nsISupports {\n  readonly key: string;\n  title: string;\n  image: nsIURI;\n  type: string;\n  callback: nsITouchBarInputCallback;\n  color: u32;\n  disabled: boolean;\n  children: nsIArray;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITouchBarUpdater.idl\n\ninterface nsITouchBarUpdater extends nsISupports {\n  updateTouchBarInputs(aWindow: nsIBaseWindow, aInputs: nsITouchBarInput[]): void;\n  enterCustomizeMode(): void;\n  isTouchBarInitialized(): boolean;\n  setTouchBarInitialized(aIsInitialized: boolean): void;\n  showPopover(aWindow: nsIBaseWindow, aPopover: nsITouchBarInput, aShowing: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIMacPreferencesReader.idl\n\ninterface nsIMacPreferencesReader extends nsISupports {\n  policiesEnabled(): boolean;\n  readPreferences(): any;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileMac.idl\n\ninterface nsILocalFileMac extends nsIFile {\n  readonly fileSizeWithResFork: i64;\n  launchWithDoc(aDocToLoad: nsIFile, aLaunchInBackground: boolean): void;\n  openDocWithApp(aAppToOpenWith: nsIFile, aLaunchInBackground: boolean): void;\n  isPackage(): boolean;\n  readonly bundleDisplayName: string;\n  readonly bundleIdentifier: string;\n  readonly bundleContentsLastModifiedTime: i64;\n  hasXAttr(aAttrName: string): boolean;\n  getXAttr(aAttrName: string): u8[];\n  setXAttr(aAttrName: string, aAttrValue: u8[]): void;\n  delXAttr(aAttrName: string): void;\n}\n\ninterface nsIXPCComponents_Interfaces {\n  nsIAccessibleMacNSObjectWrapper: nsJSIID<nsIAccessibleMacNSObjectWrapper>;\n  nsIAccessibleMacInterface: nsJSIID<nsIAccessibleMacInterface>;\n  nsIAccessibleMacEvent: nsJSIID<nsIAccessibleMacEvent>;\n  nsIKeychainMigrationUtils: nsJSIID<nsIKeychainMigrationUtils>;\n  nsIMacShellService: nsJSIID<nsIMacShellService>;\n  nsIAppBundleLaunchOptions: nsJSIID<nsIAppBundleLaunchOptions>;\n  nsIMacDockSupport: nsJSIID<nsIMacDockSupport>;\n  nsIMacFinderProgressCanceledCallback: nsJSIID<nsIMacFinderProgressCanceledCallback>;\n  nsIMacFinderProgress: nsJSIID<nsIMacFinderProgress>;\n  nsIMacSharingService: nsJSIID<nsIMacSharingService>;\n  nsIMacUserActivityUpdater: nsJSIID<nsIMacUserActivityUpdater>;\n  nsITrashAppCallback: nsJSIID<nsITrashAppCallback>;\n  nsIMacWebAppUtils: nsJSIID<nsIMacWebAppUtils>;\n  nsIStandaloneNativeMenu: nsJSIID<nsIStandaloneNativeMenu>;\n  nsITaskbarProgress: nsJSIID<nsITaskbarProgress>;\n  nsITouchBarHelper: nsJSIID<nsITouchBarHelper>;\n  nsITouchBarInputCallback: nsJSIID<nsITouchBarInputCallback>;\n  nsITouchBarInput: nsJSIID<nsITouchBarInput>;\n  nsITouchBarUpdater: nsJSIID<nsITouchBarUpdater>;\n  nsIMacPreferencesReader: nsJSIID<nsIMacPreferencesReader>;\n  nsILocalFileMac: nsJSIID<nsILocalFileMac>;\n}\n\n}  // global\n\n// Typedefs from xpidl.\ntype PRTime = i64;\ntype nsTaskbarProgressState = i32;\n\n// XPCOM internal utility types.\n\n/** XPCOM inout param is passed in as a js object with a value property. */\ntype InOutParam<T> = { value: T };\n\n/** XPCOM out param is written to the passed in object's value property. */\ntype OutParam<T> = { value?: T };\n\n/** Enable interfaces to inherit from enums: pick variants as optional. */\ntype Enums<enums> = Partial<Pick<enums, keyof enums>>;\n\n/** Callable accepts either form of a [function] interface. */\ntype Callable<iface> = iface | Extract<iface[keyof iface], Function>\n\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from source .webidl files.\n * If you're updating some of the sources, see README for instructions.\n */\n\n\ntype HTMLCollectionOf<T> = any;\ntype IsInstance<T> = (obj: any) => obj is T;\ntype NodeListOf<T> = any;\ninterface WindowProxy extends Window {}\n\n/////////////////////////////\n/////////////////////////////\n\ninterface ActivateMenuItemOptions {\n    altKey?: boolean;\n    button?: number;\n    ctrlKey?: boolean;\n    metaKey?: boolean;\n    shiftKey?: boolean;\n}\n\ninterface AddEventListenerOptions extends EventListenerOptions {\n    once?: boolean;\n    passive?: boolean;\n    signal?: AbortSignal;\n    wantUntrusted?: boolean;\n}\n\ninterface AddonEventInit extends EventInit {\n    id: string;\n}\n\ninterface AddressErrors {\n    addressLine?: string;\n    city?: string;\n    country?: string;\n    dependentLocality?: string;\n    organization?: string;\n    phone?: string;\n    postalCode?: string;\n    recipient?: string;\n    region?: string;\n    regionCode?: string;\n    sortingCode?: string;\n}\n\ninterface AnalyserOptions extends AudioNodeOptions {\n    fftSize?: number;\n    maxDecibels?: number;\n    minDecibels?: number;\n    smoothingTimeConstant?: number;\n}\n\ninterface AnimationEventInit extends EventInit {\n    animationName?: string;\n    elapsedTime?: number;\n    pseudoElement?: string;\n}\n\ninterface AnimationPlaybackEventInit extends EventInit {\n    currentTime?: number | null;\n    timelineTime?: number | null;\n}\n\ninterface AnimationPropertyDetails {\n    property: string;\n    runningOnCompositor: boolean;\n    values: AnimationPropertyValueDetails[];\n    warning?: string;\n}\n\ninterface AnimationPropertyValueDetails {\n    composite: CompositeOperation;\n    easing?: string;\n    offset: number;\n    value?: string;\n}\n\ninterface AssignedNodesOptions {\n    flatten?: boolean;\n}\n\ninterface AttributeNameValue {\n    name: string;\n    value: string;\n}\n\ninterface AudioBufferOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\n\ninterface AudioBufferSourceOptions {\n    buffer?: AudioBuffer | null;\n    detune?: number;\n    loop?: boolean;\n    loopEnd?: number;\n    loopStart?: number;\n    playbackRate?: number;\n}\n\ninterface AudioConfiguration {\n    bitrate?: number;\n    channels?: string;\n    contentType: string;\n    samplerate?: number;\n}\n\ninterface AudioContextOptions {\n    sampleRate?: number;\n}\n\ninterface AudioDataCopyToOptions {\n    format?: AudioSampleFormat;\n    frameCount?: number;\n    frameOffset?: number;\n    planeIndex: number;\n}\n\ninterface AudioDataInit {\n    data: AllowSharedBufferSource;\n    format: AudioSampleFormat;\n    numberOfChannels: number;\n    numberOfFrames: number;\n    sampleRate: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n}\n\ninterface AudioDecoderConfig {\n    codec: string;\n    description?: AllowSharedBufferSource;\n    numberOfChannels: number;\n    sampleRate: number;\n}\n\ninterface AudioDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: AudioDataOutputCallback;\n}\n\ninterface AudioDecoderSupport {\n    config?: AudioDecoderConfig;\n    supported?: boolean;\n}\n\ninterface AudioEncoderConfig {\n    bitrate?: number;\n    bitrateMode?: BitrateMode;\n    codec: string;\n    numberOfChannels?: number;\n    opus?: OpusEncoderConfig;\n    sampleRate?: number;\n}\n\ninterface AudioEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedAudioChunkOutputCallback;\n}\n\ninterface AudioEncoderSupport {\n    config?: AudioEncoderConfig;\n    supported?: boolean;\n}\n\ninterface AudioNodeOptions {\n    channelCount?: number;\n    channelCountMode?: ChannelCountMode;\n    channelInterpretation?: ChannelInterpretation;\n}\n\ninterface AudioOutputOptions {\n    deviceId?: string;\n}\n\ninterface AudioSinkDebugInfo {\n    audioEnded?: boolean;\n    hasErrored?: boolean;\n    isPlaying?: boolean;\n    isStarted?: boolean;\n    lastGoodPosition?: number;\n    outputRate?: number;\n    playbackComplete?: boolean;\n    startTime?: number;\n    written?: number;\n}\n\ninterface AudioSinkWrapperDebugInfo {\n    audioEnded?: boolean;\n    audioSink?: AudioSinkDebugInfo;\n    isPlaying?: boolean;\n    isStarted?: boolean;\n}\n\ninterface AudioTimestamp {\n    contextTime?: number;\n    performanceTime?: DOMHighResTimeStamp;\n}\n\ninterface AudioWorkletNodeOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n    numberOfOutputs?: number;\n    outputChannelCount?: number[];\n    parameterData?: Record<string, number>;\n    processorOptions?: any;\n}\n\ninterface AuthenticationExtensionsClientInputs {\n    appid?: string;\n    credProps?: boolean;\n    credentialProtectionPolicy?: CredentialProtectionPolicy;\n    enforceCredentialProtectionPolicy?: boolean;\n    hmacCreateSecret?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobInputs;\n    minPinLength?: boolean;\n    prf?: AuthenticationExtensionsPRFInputs;\n}\n\ninterface AuthenticationExtensionsClientInputsJSON {\n    appid?: string;\n    credProps?: boolean;\n    credentialProtectionPolicy?: CredentialProtectionPolicy;\n    enforceCredentialProtectionPolicy?: boolean;\n    hmacCreateSecret?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobInputsJSON;\n    minPinLength?: boolean;\n    prf?: AuthenticationExtensionsPRFInputsJSON;\n}\n\ninterface AuthenticationExtensionsClientOutputs {\n    appid?: boolean;\n    credProps?: CredentialPropertiesOutput;\n    hmacCreateSecret?: boolean;\n    largeBlob?: AuthenticationExtensionsLargeBlobOutputs;\n    prf?: AuthenticationExtensionsPRFOutputs;\n}\n\ninterface AuthenticationExtensionsLargeBlobInputs {\n    read?: boolean;\n    support?: string;\n    write?: BufferSource;\n}\n\ninterface AuthenticationExtensionsLargeBlobInputsJSON {\n    read?: boolean;\n    support?: string;\n    write?: Base64URLString;\n}\n\ninterface AuthenticationExtensionsLargeBlobOutputs {\n    blob?: ArrayBuffer;\n    supported?: boolean;\n    written?: boolean;\n}\n\ninterface AuthenticationExtensionsPRFInputs {\n    eval?: AuthenticationExtensionsPRFValues;\n    evalByCredential?: Record<string, AuthenticationExtensionsPRFValues>;\n}\n\ninterface AuthenticationExtensionsPRFInputsJSON {\n    eval?: AuthenticationExtensionsPRFValuesJSON;\n    evalByCredential?: Record<string, AuthenticationExtensionsPRFValuesJSON>;\n}\n\ninterface AuthenticationExtensionsPRFOutputs {\n    enabled?: boolean;\n    results?: AuthenticationExtensionsPRFValues;\n}\n\ninterface AuthenticationExtensionsPRFValues {\n    first: BufferSource;\n    second?: BufferSource;\n}\n\ninterface AuthenticationExtensionsPRFValuesJSON {\n    first: Base64URLString;\n    second?: Base64URLString;\n}\n\ninterface AuthenticatorSelectionCriteria {\n    authenticatorAttachment?: string;\n    requireResidentKey?: boolean;\n    residentKey?: string;\n    userVerification?: string;\n}\n\ninterface AutocompleteInfo {\n    addressType?: string;\n    canAutomaticallyPersist?: boolean;\n    contactType?: string;\n    credentialType?: string;\n    fieldName?: string;\n    section?: string;\n}\n\ninterface AvcEncoderConfig {\n    format?: AvcBitstreamFormat;\n}\n\ninterface Base64URLDecodeOptions {\n    padding: Base64URLDecodePadding;\n}\n\ninterface Base64URLEncodeOptions {\n    pad: boolean;\n}\n\ninterface BiquadFilterOptions extends AudioNodeOptions {\n    Q?: number;\n    detune?: number;\n    frequency?: number;\n    gain?: number;\n    type?: BiquadFilterType;\n}\n\ninterface BlobEventInit extends EventInit {\n    data: Blob;\n}\n\ninterface BlobPropertyBag {\n    endings?: EndingType;\n    type?: string;\n}\n\ninterface BlockParsingOptions {\n    blockScriptCreated?: boolean;\n}\n\ninterface BoxQuadOptions extends GeometryUtilsOptions {\n    box?: CSSBoxType;\n    ignoreTransforms?: boolean;\n    relativeTo?: GeometryNode;\n}\n\ninterface BufferRange {\n    end?: number;\n    start?: number;\n}\n\ninterface CDMInformation {\n    capabilities: string;\n    clearlead: boolean;\n    isHDCP22Compatible: boolean;\n    isHardwareDecryption: boolean;\n    keySystemName: string;\n}\n\ninterface CSSCustomPropertyRegisteredEventInit extends EventInit {\n    propertyDefinition: InspectorCSSPropertyDefinition;\n}\n\ninterface CSSStyleSheetInit {\n    baseURL?: string;\n    disabled?: boolean;\n    media?: MediaList | string;\n}\n\ninterface CacheQueryOptions {\n    ignoreMethod?: boolean;\n    ignoreSearch?: boolean;\n    ignoreVary?: boolean;\n}\n\ninterface CanvasRenderingContext2DDebugInfo {\n    backendType: number;\n    drawTargetType: number;\n    isAccelerated: boolean;\n    isShared: boolean;\n}\n\ninterface CanvasRenderingContext2DSettings {\n    alpha?: boolean;\n    colorSpace?: PredefinedColorSpace;\n    desynchronized?: boolean;\n    forceSoftwareRendering?: boolean;\n    willReadFrequently?: boolean;\n}\n\ninterface CaretPositionFromPointOptions {\n    shadowRoots?: ShadowRoot[];\n}\n\ninterface CaretStateChangedEventInit extends EventInit {\n    boundingClientRect?: DOMRectReadOnly | null;\n    caretVisible?: boolean;\n    caretVisuallyVisible?: boolean;\n    clientX?: number;\n    clientY?: number;\n    collapsed?: boolean;\n    reason?: CaretChangedReason;\n    selectedTextContent?: string;\n    selectionEditable?: boolean;\n    selectionVisible?: boolean;\n}\n\ninterface ChannelMergerOptions extends AudioNodeOptions {\n    numberOfInputs?: number;\n}\n\ninterface ChannelSplitterOptions extends AudioNodeOptions {\n    numberOfOutputs?: number;\n}\n\ninterface CheckVisibilityOptions {\n    checkOpacity?: boolean;\n    checkVisibilityCSS?: boolean;\n    contentVisibilityAuto?: boolean;\n    flush?: boolean;\n    opacityProperty?: boolean;\n    visibilityProperty?: boolean;\n}\n\ninterface CheckerboardReport {\n    log?: string;\n    reason?: CheckerboardReason;\n    severity?: number;\n    timestamp?: DOMTimeStamp;\n}\n\ninterface ChildProcInfoDictionary {\n    childID?: number;\n    cpuCycleCount?: number;\n    cpuTime?: number;\n    memory?: number;\n    origin?: string;\n    pid?: number;\n    threads?: ThreadInfoDictionary[];\n    type?: WebIDLProcType;\n    utilityActors?: UtilityActorsDictionary[];\n    windows?: WindowInfoDictionary[];\n}\n\ninterface ChromeFilePropertyBag extends FilePropertyBag {\n    existenceCheck?: boolean;\n    name?: string;\n}\n\ninterface ClearResourceCacheOptions {\n    pattern?: OriginAttributesPatternDictionary;\n    principal?: Principal;\n    schemelessSite?: string;\n    target?: ResourceCacheTarget;\n    types?: ResourceCacheType[];\n    url?: string;\n}\n\ninterface ClientRectsAndTexts {\n    rectList: DOMRectList;\n    textList: string[];\n}\n\ninterface ClipboardEventInit extends EventInit {\n    data?: string;\n    dataType?: string;\n}\n\ninterface ClipboardItemOptions {\n    presentationStyle?: PresentationStyle;\n}\n\ninterface CloseEventInit extends EventInit {\n    code?: number;\n    reason?: string;\n    wasClean?: boolean;\n}\n\ninterface CloseWatcherOptions {\n    signal?: AbortSignal;\n}\n\ninterface CollectedData {\n    children?: any[];\n    id?: Record<string, CollectedFormDataValue>;\n    innerHTML?: string;\n    scroll?: string;\n    url?: string;\n    xpath?: Record<string, CollectedFormDataValue>;\n}\n\ninterface CommandEventInit extends EventInit {\n    command?: string;\n    source?: Element | null;\n}\n\ninterface CompileScriptOptionsDictionary {\n    charset?: string;\n    filename?: string;\n    hasReturnValue?: boolean;\n    lazilyParse?: boolean;\n}\n\ninterface CompositionEventInit extends UIEventInit {\n    data?: string;\n}\n\ninterface ComputedEffectTiming extends EffectTiming {\n    activeDuration?: number;\n    currentIteration?: number | null;\n    endTime?: number;\n    localTime?: number | null;\n    progress?: number | null;\n}\n\ninterface ConsoleInstanceOptions {\n    consoleID?: string;\n    dump?: ConsoleInstanceDumpCallback;\n    innerID?: string;\n    maxLogLevel?: ConsoleLogLevel;\n    maxLogLevelPref?: string;\n    prefix?: string;\n}\n\ninterface ConstantSourceOptions {\n    offset?: number;\n}\n\ninterface ConstrainBooleanParameters {\n    exact?: boolean;\n    ideal?: boolean;\n}\n\ninterface ConstrainDOMStringParameters {\n    exact?: string | string[];\n    ideal?: string | string[];\n}\n\ninterface ConstrainDoubleRange {\n    exact?: number;\n    ideal?: number;\n    max?: number;\n    min?: number;\n}\n\ninterface ConstrainLongRange {\n    exact?: number;\n    ideal?: number;\n    max?: number;\n    min?: number;\n}\n\ninterface ContentVisibilityAutoStateChangeEventInit extends EventInit {\n    skipped?: boolean;\n}\n\ninterface ConvertCoordinateOptions extends GeometryUtilsOptions {\n    fromBox?: CSSBoxType;\n    toBox?: CSSBoxType;\n}\n\ninterface ConvolverOptions extends AudioNodeOptions {\n    buffer?: AudioBuffer | null;\n    disableNormalization?: boolean;\n}\n\ninterface CookieChangeEventInit extends EventInit {\n    changed?: CookieList;\n    deleted?: CookieList;\n}\n\ninterface CookieInit {\n    domain?: string | null;\n    expires?: DOMHighResTimeStamp | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n    sameSite?: CookieSameSite;\n    value: string;\n}\n\ninterface CookieListItem {\n    domain?: string | null;\n    expires?: DOMHighResTimeStamp | null;\n    name?: string;\n    partitioned?: boolean;\n    path?: string;\n    sameSite?: CookieSameSite;\n    secure?: boolean;\n    value?: string;\n}\n\ninterface CookieStoreDeleteOptions {\n    domain?: string | null;\n    name: string;\n    partitioned?: boolean;\n    path?: string;\n}\n\ninterface CookieStoreGetOptions {\n    name?: string;\n    url?: string;\n}\n\ninterface CopyOptions {\n    noOverwrite?: boolean;\n    recursive?: boolean;\n}\n\ninterface CredentialCreationOptions {\n    publicKey?: PublicKeyCredentialCreationOptions;\n    signal?: AbortSignal;\n}\n\ninterface CredentialPropertiesOutput {\n    rk?: boolean;\n}\n\ninterface CredentialRequestOptions {\n    identity?: IdentityCredentialRequestOptions;\n    mediation?: CredentialMediationRequirement;\n    publicKey?: PublicKeyCredentialRequestOptions;\n    signal?: AbortSignal;\n}\n\ninterface CustomEventInit extends EventInit {\n    detail?: any;\n}\n\ninterface DOMMatrix2DInit {\n    a?: number;\n    b?: number;\n    c?: number;\n    d?: number;\n    e?: number;\n    f?: number;\n    m11?: number;\n    m12?: number;\n    m21?: number;\n    m22?: number;\n    m41?: number;\n    m42?: number;\n}\n\ninterface DOMMatrixInit extends DOMMatrix2DInit {\n    is2D?: boolean;\n    m13?: number;\n    m14?: number;\n    m23?: number;\n    m24?: number;\n    m31?: number;\n    m32?: number;\n    m33?: number;\n    m34?: number;\n    m43?: number;\n    m44?: number;\n}\n\ninterface DOMPointInit {\n    w?: number;\n    x?: number;\n    y?: number;\n    z?: number;\n}\n\ninterface DOMQuadInit {\n    p1?: DOMPointInit;\n    p2?: DOMPointInit;\n    p3?: DOMPointInit;\n    p4?: DOMPointInit;\n}\n\ninterface DOMRectInit {\n    height?: number;\n    width?: number;\n    x?: number;\n    y?: number;\n}\n\ninterface DateTimeValue {\n    day?: number;\n    hour?: number;\n    minute?: number;\n    month?: number;\n    year?: number;\n}\n\ninterface DecodedStreamDataDebugInfo {\n    audioFramesWritten?: number;\n    haveSentFinishAudio?: boolean;\n    haveSentFinishVideo?: boolean;\n    instance?: string;\n    lastVideoEndTime?: number;\n    lastVideoStartTime?: number;\n    nextAudioTime?: number;\n    streamAudioWritten?: number;\n    streamVideoWritten?: number;\n}\n\ninterface DecodedStreamDebugInfo {\n    audioQueueFinished?: boolean;\n    audioQueueSize?: number;\n    data?: DecodedStreamDataDebugInfo;\n    instance?: string;\n    lastAudio?: number;\n    lastOutputTime?: number;\n    playing?: number;\n    startTime?: number;\n}\n\ninterface DelayOptions extends AudioNodeOptions {\n    delayTime?: number;\n    maxDelayTime?: number;\n}\n\ninterface DeviceAccelerationInit {\n    x?: number | null;\n    y?: number | null;\n    z?: number | null;\n}\n\ninterface DeviceLightEventInit extends EventInit {\n    value?: number;\n}\n\ninterface DeviceMotionEventInit extends EventInit {\n    acceleration?: DeviceAccelerationInit;\n    accelerationIncludingGravity?: DeviceAccelerationInit;\n    interval?: number | null;\n    rotationRate?: DeviceRotationRateInit;\n}\n\ninterface DeviceOrientationEventInit extends EventInit {\n    absolute?: boolean;\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\n\ninterface DeviceRotationRateInit {\n    alpha?: number | null;\n    beta?: number | null;\n    gamma?: number | null;\n}\n\ninterface DictWithAllowSharedBufferSource {\n    allowSharedArrayBuffer?: ArrayBuffer;\n    allowSharedArrayBufferView?: ArrayBufferView;\n    arrayBuffer?: ArrayBuffer;\n    arrayBufferView?: ArrayBufferView;\n}\n\ninterface DisplayMediaStreamConstraints {\n    audio?: boolean | MediaTrackConstraints;\n    video?: boolean | MediaTrackConstraints;\n}\n\ninterface DisplayNameOptions {\n    calendar?: string;\n    keys?: string[];\n    style?: string;\n    type?: string;\n}\n\ninterface DisplayNameResult {\n    calendar?: string;\n    locale?: string;\n    style?: string;\n    type?: string;\n    values?: string[];\n}\n\ninterface DocumentTimelineOptions {\n    originTime?: DOMHighResTimeStamp;\n}\n\ninterface DoubleRange {\n    max?: number;\n    min?: number;\n}\n\ninterface DragEventInit extends MouseEventInit {\n    dataTransfer?: DataTransfer | null;\n}\n\ninterface DynamicsCompressorOptions extends AudioNodeOptions {\n    attack?: number;\n    knee?: number;\n    ratio?: number;\n    release?: number;\n    threshold?: number;\n}\n\ninterface EMEDebugInfo {\n    keySystem?: string;\n    sessionsInfo?: string;\n}\n\ninterface EffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n}\n\ninterface ElementCreationOptions {\n    is?: string;\n    pseudo?: string;\n}\n\ninterface ElementDefinitionOptions {\n    extends?: string;\n}\n\ninterface EncodedAudioChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    transfer?: ArrayBuffer[];\n    type: EncodedAudioChunkType;\n}\n\ninterface EncodedAudioChunkMetadata {\n    decoderConfig?: AudioDecoderConfig;\n}\n\ninterface EncodedVideoChunkInit {\n    data: AllowSharedBufferSource;\n    duration?: number;\n    timestamp: number;\n    type: EncodedVideoChunkType;\n}\n\ninterface EncodedVideoChunkMetadata {\n    decoderConfig?: VideoDecoderConfig;\n    svc?: SvcOutputMetadata;\n}\n\ninterface ErrorEventInit extends EventInit {\n    colno?: number;\n    error?: any;\n    filename?: string;\n    lineno?: number;\n    message?: string;\n}\n\ninterface EventInit {\n    bubbles?: boolean;\n    cancelable?: boolean;\n    composed?: boolean;\n}\n\ninterface EventListenerOptions {\n    capture?: boolean;\n    mozSystemGroup?: boolean;\n}\n\ninterface EventModifierInit extends UIEventInit {\n    altKey?: boolean;\n    ctrlKey?: boolean;\n    metaKey?: boolean;\n    modifierAltGraph?: boolean;\n    modifierCapsLock?: boolean;\n    modifierFn?: boolean;\n    modifierFnLock?: boolean;\n    modifierNumLock?: boolean;\n    modifierOS?: boolean;\n    modifierScrollLock?: boolean;\n    modifierSymbol?: boolean;\n    modifierSymbolLock?: boolean;\n    shiftKey?: boolean;\n}\n\ninterface EventSourceInit {\n    withCredentials?: boolean;\n}\n\ninterface ExecuteInGlobalOptions {\n    reportExceptions?: boolean;\n}\n\ninterface FailedCertSecurityInfo {\n    certChainStrings?: string[];\n    certValidityRangeNotAfter?: DOMTimeStamp;\n    certValidityRangeNotBefore?: DOMTimeStamp;\n    channelStatus?: number;\n    errorCodeString?: string;\n    errorIsOverridable?: boolean;\n    errorMessage?: string;\n    hasHPKP?: boolean;\n    hasHSTS?: boolean;\n    issuerCommonName?: string;\n    overridableErrorCategory?: OverridableErrorCategory;\n    validNotAfter?: DOMTimeStamp;\n    validNotBefore?: DOMTimeStamp;\n}\n\ninterface FileInfo {\n    creationTime?: number;\n    lastAccessed?: number;\n    lastModified?: number;\n    path?: string;\n    permissions?: number;\n    size?: number;\n    type?: FileType;\n}\n\ninterface FilePropertyBag extends BlobPropertyBag {\n    lastModified?: number;\n}\n\ninterface FileSourceOptions {\n    addResourceOptions?: FluentBundleAddResourceOptions;\n}\n\ninterface FileSystemCreateWritableOptions {\n    keepExistingData?: boolean;\n}\n\ninterface FileSystemFlags {\n    create?: boolean;\n    exclusive?: boolean;\n}\n\ninterface FileSystemGetDirectoryOptions {\n    create?: boolean;\n}\n\ninterface FileSystemGetFileOptions {\n    create?: boolean;\n}\n\ninterface FileSystemRemoveOptions {\n    recursive?: boolean;\n}\n\ninterface FluentBundleAddResourceOptions {\n    allowOverrides?: boolean;\n}\n\ninterface FluentBundleIteratorResult {\n    done: boolean;\n    value: FluentBundle | null;\n}\n\ninterface FluentBundleOptions {\n    pseudoStrategy?: string;\n    useIsolating?: boolean;\n}\n\ninterface FluentMessage {\n    attributes: Record<string, FluentPattern>;\n    value?: FluentPattern | null;\n}\n\ninterface FluentTextElementItem {\n    attr?: string;\n    id?: string;\n    text?: string;\n}\n\ninterface FocusEventInit extends UIEventInit {\n    relatedTarget?: EventTarget | null;\n}\n\ninterface FocusOptions {\n    focusVisible?: boolean;\n    preventScroll?: boolean;\n}\n\ninterface FontFaceDescriptors {\n    ascentOverride?: string;\n    descentOverride?: string;\n    display?: string;\n    featureSettings?: string;\n    lineGapOverride?: string;\n    sizeAdjust?: string;\n    stretch?: string;\n    style?: string;\n    unicodeRange?: string;\n    variant?: string;\n    variationSettings?: string;\n    weight?: string;\n}\n\ninterface FontFaceSetIteratorResult {\n    done: boolean;\n    value: any;\n}\n\ninterface FontFaceSetLoadEventInit extends EventInit {\n    fontfaces?: FontFace[];\n}\n\ninterface FormAutofillConfidences {\n    ccName?: number;\n    ccNumber?: number;\n}\n\ninterface FormDataEventInit extends EventInit {\n    formData: FormData;\n}\n\ninterface FrameCrashedEventInit extends EventInit {\n    browsingContextId?: number;\n    childID?: number;\n    isTopFrame?: boolean;\n}\n\ninterface GPUBindGroupDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupEntry[];\n    layout: GPUBindGroupLayout;\n}\n\ninterface GPUBindGroupEntry {\n    binding: GPUIndex32;\n    resource: GPUBindingResource;\n}\n\ninterface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {\n    entries: GPUBindGroupLayoutEntry[];\n}\n\ninterface GPUBindGroupLayoutEntry {\n    binding: GPUIndex32;\n    buffer?: GPUBufferBindingLayout;\n    sampler?: GPUSamplerBindingLayout;\n    storageTexture?: GPUStorageTextureBindingLayout;\n    texture?: GPUTextureBindingLayout;\n    visibility: GPUShaderStageFlags;\n}\n\ninterface GPUBlendComponent {\n    dstFactor?: GPUBlendFactor;\n    operation?: GPUBlendOperation;\n    srcFactor?: GPUBlendFactor;\n}\n\ninterface GPUBlendState {\n    alpha: GPUBlendComponent;\n    color: GPUBlendComponent;\n}\n\ninterface GPUBufferBinding {\n    buffer: GPUBuffer;\n    offset?: GPUSize64;\n    size?: GPUSize64;\n}\n\ninterface GPUBufferBindingLayout {\n    hasDynamicOffset?: boolean;\n    minBindingSize?: GPUSize64;\n    type?: GPUBufferBindingType;\n}\n\ninterface GPUBufferDescriptor extends GPUObjectDescriptorBase {\n    mappedAtCreation?: boolean;\n    size: GPUSize64;\n    usage: GPUBufferUsageFlags;\n}\n\ninterface GPUCanvasConfiguration {\n    alphaMode?: GPUCanvasAlphaMode;\n    device: GPUDevice;\n    format: GPUTextureFormat;\n    usage?: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\n\ninterface GPUColorDict {\n    a: number;\n    b: number;\n    g: number;\n    r: number;\n}\n\ninterface GPUColorTargetState {\n    blend?: GPUBlendState;\n    format: GPUTextureFormat;\n    writeMask?: GPUColorWriteFlags;\n}\n\ninterface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {\n}\n\ninterface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {\n}\n\ninterface GPUComputePassDescriptor extends GPUObjectDescriptorBase {\n    timestampWrites?: GPUComputePassTimestampWrites;\n}\n\ninterface GPUComputePassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\n\ninterface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase {\n    compute: GPUProgrammableStage;\n}\n\ninterface GPUCopyExternalImageDestInfo extends GPUTexelCopyTextureInfo {\n    premultipliedAlpha?: boolean;\n}\n\ninterface GPUCopyExternalImageSourceInfo {\n    flipY?: boolean;\n    origin?: GPUOrigin2D;\n    source: GPUCopyExternalImageSource;\n}\n\ninterface GPUDepthStencilState {\n    depthBias?: GPUDepthBias;\n    depthBiasClamp?: number;\n    depthBiasSlopeScale?: number;\n    depthCompare?: GPUCompareFunction;\n    depthWriteEnabled?: boolean;\n    format: GPUTextureFormat;\n    stencilBack?: GPUStencilFaceState;\n    stencilFront?: GPUStencilFaceState;\n    stencilReadMask?: GPUStencilValue;\n    stencilWriteMask?: GPUStencilValue;\n}\n\ninterface GPUDeviceDescriptor extends GPUObjectDescriptorBase {\n    defaultQueue?: GPUQueueDescriptor;\n    requiredFeatures?: GPUFeatureName[];\n    requiredLimits?: Record<string, GPUSize64>;\n}\n\ninterface GPUExtent3DDict {\n    depthOrArrayLayers?: GPUIntegerCoordinate;\n    height?: GPUIntegerCoordinate;\n    width: GPUIntegerCoordinate;\n}\n\ninterface GPUFragmentState extends GPUProgrammableStage {\n    targets: GPUColorTargetState[];\n}\n\ninterface GPUMultisampleState {\n    alphaToCoverageEnabled?: boolean;\n    count?: GPUSize32;\n    mask?: GPUSampleMask;\n}\n\ninterface GPUObjectDescriptorBase {\n    label?: string;\n}\n\ninterface GPUOrigin2DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n}\n\ninterface GPUOrigin3DDict {\n    x?: GPUIntegerCoordinate;\n    y?: GPUIntegerCoordinate;\n    z?: GPUIntegerCoordinate;\n}\n\ninterface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {\n    layout: GPUPipelineLayout | GPUAutoLayoutMode;\n}\n\ninterface GPUPipelineErrorInit {\n    reason: GPUPipelineErrorReason;\n}\n\ninterface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {\n    bindGroupLayouts: GPUBindGroupLayout[];\n}\n\ninterface GPUPrimitiveState {\n    cullMode?: GPUCullMode;\n    frontFace?: GPUFrontFace;\n    stripIndexFormat?: GPUIndexFormat;\n    topology?: GPUPrimitiveTopology;\n    unclippedDepth?: boolean;\n}\n\ninterface GPUProgrammableStage {\n    constants?: Record<string, GPUPipelineConstantValue>;\n    entryPoint?: string;\n    module: GPUShaderModule;\n}\n\ninterface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {\n    count: GPUSize32;\n    type: GPUQueryType;\n}\n\ninterface GPUQueueDescriptor extends GPUObjectDescriptorBase {\n}\n\ninterface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {\n}\n\ninterface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout {\n    depthReadOnly?: boolean;\n    stencilReadOnly?: boolean;\n}\n\ninterface GPURenderPassColorAttachment {\n    clearValue?: GPUColor;\n    depthSlice?: GPUIntegerCoordinate;\n    loadOp: GPULoadOp;\n    resolveTarget?: GPUTextureView;\n    storeOp: GPUStoreOp;\n    view: GPUTextureView;\n}\n\ninterface GPURenderPassDepthStencilAttachment {\n    depthClearValue?: number;\n    depthLoadOp?: GPULoadOp;\n    depthReadOnly?: boolean;\n    depthStoreOp?: GPUStoreOp;\n    stencilClearValue?: GPUStencilValue;\n    stencilLoadOp?: GPULoadOp;\n    stencilReadOnly?: boolean;\n    stencilStoreOp?: GPUStoreOp;\n    view: GPUTextureView;\n}\n\ninterface GPURenderPassDescriptor extends GPUObjectDescriptorBase {\n    colorAttachments: GPURenderPassColorAttachment[];\n    depthStencilAttachment?: GPURenderPassDepthStencilAttachment;\n    occlusionQuerySet?: GPUQuerySet;\n    timestampWrites?: GPURenderPassTimestampWrites;\n}\n\ninterface GPURenderPassLayout extends GPUObjectDescriptorBase {\n    colorFormats: GPUTextureFormat[];\n    depthStencilFormat?: GPUTextureFormat;\n    sampleCount?: GPUSize32;\n}\n\ninterface GPURenderPassTimestampWrites {\n    beginningOfPassWriteIndex?: GPUSize32;\n    endOfPassWriteIndex?: GPUSize32;\n    querySet: GPUQuerySet;\n}\n\ninterface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {\n    depthStencil?: GPUDepthStencilState;\n    fragment?: GPUFragmentState;\n    multisample?: GPUMultisampleState;\n    primitive?: GPUPrimitiveState;\n    vertex: GPUVertexState;\n}\n\ninterface GPURequestAdapterOptions {\n    featureLevel?: string;\n    forceFallbackAdapter?: boolean;\n    powerPreference?: GPUPowerPreference;\n    xrCompatible?: boolean;\n}\n\ninterface GPUSamplerBindingLayout {\n    type?: GPUSamplerBindingType;\n}\n\ninterface GPUSamplerDescriptor extends GPUObjectDescriptorBase {\n    addressModeU?: GPUAddressMode;\n    addressModeV?: GPUAddressMode;\n    addressModeW?: GPUAddressMode;\n    compare?: GPUCompareFunction;\n    lodMaxClamp?: number;\n    lodMinClamp?: number;\n    magFilter?: GPUFilterMode;\n    maxAnisotropy?: number;\n    minFilter?: GPUFilterMode;\n    mipmapFilter?: GPUMipmapFilterMode;\n}\n\ninterface GPUShaderModuleCompilationHint {\n    entryPoint: string;\n    layout?: GPUPipelineLayout | GPUAutoLayoutMode;\n}\n\ninterface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {\n    code: string;\n    compilationHints?: GPUShaderModuleCompilationHint[];\n}\n\ninterface GPUStencilFaceState {\n    compare?: GPUCompareFunction;\n    depthFailOp?: GPUStencilOperation;\n    failOp?: GPUStencilOperation;\n    passOp?: GPUStencilOperation;\n}\n\ninterface GPUStorageTextureBindingLayout {\n    access?: GPUStorageTextureAccess;\n    format: GPUTextureFormat;\n    viewDimension?: GPUTextureViewDimension;\n}\n\ninterface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {\n    buffer: GPUBuffer;\n}\n\ninterface GPUTexelCopyBufferLayout {\n    bytesPerRow?: GPUSize32;\n    offset?: GPUSize64;\n    rowsPerImage?: GPUSize32;\n}\n\ninterface GPUTexelCopyTextureInfo {\n    aspect?: GPUTextureAspect;\n    mipLevel?: GPUIntegerCoordinate;\n    origin?: GPUOrigin3D;\n    texture: GPUTexture;\n}\n\ninterface GPUTextureBindingLayout {\n    multisampled?: boolean;\n    sampleType?: GPUTextureSampleType;\n    viewDimension?: GPUTextureViewDimension;\n}\n\ninterface GPUTextureDescriptor extends GPUObjectDescriptorBase {\n    dimension?: GPUTextureDimension;\n    format: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n    sampleCount?: GPUSize32;\n    size: GPUExtent3D;\n    usage: GPUTextureUsageFlags;\n    viewFormats?: GPUTextureFormat[];\n}\n\ninterface GPUTextureViewDescriptor extends GPUObjectDescriptorBase {\n    arrayLayerCount?: GPUIntegerCoordinate;\n    aspect?: GPUTextureAspect;\n    baseArrayLayer?: GPUIntegerCoordinate;\n    baseMipLevel?: GPUIntegerCoordinate;\n    dimension?: GPUTextureViewDimension;\n    format?: GPUTextureFormat;\n    mipLevelCount?: GPUIntegerCoordinate;\n}\n\ninterface GPUUncapturedErrorEventInit extends EventInit {\n    error: GPUError;\n}\n\ninterface GPUVertexAttribute {\n    format: GPUVertexFormat;\n    offset: GPUSize64;\n    shaderLocation: GPUIndex32;\n}\n\ninterface GPUVertexBufferLayout {\n    arrayStride: GPUSize64;\n    attributes: GPUVertexAttribute[];\n    stepMode?: GPUVertexStepMode;\n}\n\ninterface GPUVertexState extends GPUProgrammableStage {\n    buffers?: (GPUVertexBufferLayout | null)[];\n}\n\ninterface GainOptions extends AudioNodeOptions {\n    gain?: number;\n}\n\ninterface GamepadAxisMoveEventInit extends GamepadEventInit {\n    axis?: number;\n    value?: number;\n}\n\ninterface GamepadButtonEventInit extends GamepadEventInit {\n    button?: number;\n}\n\ninterface GamepadEventInit extends EventInit {\n    gamepad?: Gamepad | null;\n}\n\ninterface GamepadLightColor {\n    blue: number;\n    green: number;\n    red: number;\n}\n\ninterface GeometryUtilsOptions {\n    createFramesForSuppressedWhitespace?: boolean;\n    flush?: boolean;\n}\n\ninterface GetAnimationsOptions {\n    subtree?: boolean;\n}\n\ninterface GetChildrenOptions {\n    ignoreAbsent?: boolean;\n}\n\ninterface GetComposedRangesOptions {\n    shadowRoots?: ShadowRoot[];\n}\n\ninterface GetHTMLOptions {\n    serializableShadowRoots?: boolean;\n    shadowRoots?: ShadowRoot[];\n}\n\ninterface GetNotificationOptions {\n    tag?: string;\n}\n\ninterface GetRootNodeOptions {\n    composed?: boolean;\n}\n\ninterface GleanDistributionData {\n    count: number;\n    sum: number;\n    values: Record<string, number>;\n}\n\ninterface GleanEventRecord {\n    category: string;\n    extra?: Record<string, string>;\n    name: string;\n    timestamp: number;\n}\n\ninterface GleanRateData {\n    denominator: number;\n    numerator: number;\n}\n\ninterface HTMLMediaElementDebugInfo {\n    EMEInfo?: EMEDebugInfo;\n    compositorDroppedFrames?: number;\n    decoder?: MediaDecoderDebugInfo;\n}\n\ninterface HasChildrenOptions {\n    ignoreAbsent?: boolean;\n}\n\ninterface HashChangeEventInit extends EventInit {\n    newURL?: string;\n    oldURL?: string;\n}\n\ninterface HeapSnapshotBoundaries {\n    debugger?: any;\n    globals?: any[];\n    runtime?: boolean;\n}\n\ninterface IDBDatabaseInfo {\n    name?: string;\n    version?: number;\n}\n\ninterface IDBIndexParameters {\n    locale?: string | null;\n    multiEntry?: boolean;\n    unique?: boolean;\n}\n\ninterface IDBObjectStoreParameters {\n    autoIncrement?: boolean;\n    keyPath?: string | string[] | null;\n}\n\ninterface IDBOpenDBOptions {\n    version?: number;\n}\n\ninterface IDBTransactionOptions {\n    durability?: IDBTransactionDurability;\n}\n\ninterface IDBVersionChangeEventInit extends EventInit {\n    newVersion?: number | null;\n    oldVersion?: number;\n}\n\ninterface IIRFilterOptions extends AudioNodeOptions {\n    feedback: number[];\n    feedforward: number[];\n}\n\ninterface IdentityCredentialDisconnectOptions extends IdentityProviderConfig {\n    accountHint: string;\n}\n\ninterface IdentityCredentialRequestOptions {\n    mode?: IdentityCredentialRequestOptionsMode;\n    providers: IdentityProviderRequestOptions[];\n}\n\ninterface IdentityProviderConfig {\n    clientId: string;\n    configURL: string;\n}\n\ninterface IdentityProviderRequestOptions extends IdentityProviderConfig {\n    domainHint?: string;\n    loginHint?: string;\n    nonce?: string;\n}\n\ninterface IdentityResolveOptions {\n    accountId?: string;\n}\n\ninterface IdleRequestOptions {\n    timeout?: number;\n}\n\ninterface ImageBitmapOptions {\n    colorSpaceConversion?: ColorSpaceConversion;\n    imageOrientation?: ImageOrientation;\n    premultiplyAlpha?: PremultiplyAlpha;\n    resizeHeight?: number;\n    resizeWidth?: number;\n}\n\ninterface ImageCaptureErrorEventInit extends EventInit {\n    imageCaptureError?: ImageCaptureError | null;\n}\n\ninterface ImageDecodeOptions {\n    completeFramesOnly?: boolean;\n    frameIndex?: number;\n}\n\ninterface ImageDecodeResult {\n    complete: boolean;\n    image: VideoFrame;\n}\n\ninterface ImageDecoderInit {\n    colorSpaceConversion?: ColorSpaceConversion;\n    data: ImageBufferSource;\n    desiredHeight?: number;\n    desiredWidth?: number;\n    preferAnimation?: boolean;\n    transfer?: ArrayBuffer[];\n    type: string;\n}\n\ninterface ImageEncodeOptions {\n    quality?: number;\n    type?: string;\n}\n\ninterface ImageText {\n    confidence: number;\n    quad: DOMQuad;\n    string: string;\n}\n\ninterface ImportESModuleOptionsDictionary {\n    global?: ImportESModuleTargetGlobal;\n}\n\ninterface InferenceSessionRunOptions {\n    logSeverityLevel?: number;\n    logVerbosityLevel?: number;\n    tag?: string;\n    terminate?: boolean;\n}\n\ninterface InferenceSessionSessionOptions {\n    enableCpuMemArena?: boolean;\n    enableGraphCapture?: boolean;\n    enableMemPattern?: boolean;\n    enableProfiling?: boolean;\n    executionMode?: string;\n    executionProviders?: any[];\n    extra?: Record<string, any>;\n    freeDimensionOverrides?: Record<string, number>;\n    graphOptimizationLevel?: string;\n    interOpNumThreads?: number;\n    intraOpNumThreads?: number;\n    logId?: string;\n    logSeverityLevel?: number;\n    logVerbosityLevel?: number;\n    optimizedModelFilePath?: string;\n    preferredOutputLocation?: TensorDataLocation | Record<string, TensorDataLocation>;\n    profileFilePrefix?: string;\n}\n\ninterface InputEventInit extends UIEventInit {\n    data?: string | null;\n    dataTransfer?: DataTransfer | null;\n    inputType?: string;\n    isComposing?: boolean;\n    targetRanges?: StaticRange[];\n}\n\ninterface InspectorCSSPropertyDefinition {\n    fromJS: boolean;\n    inherits: boolean;\n    initialValue: string | null;\n    name: string;\n    syntax: string;\n}\n\ninterface InspectorCSSToken {\n    number?: number | null;\n    text: string;\n    tokenType: string;\n    unit: string | null;\n    value: string | null;\n}\n\ninterface InspectorColorToResult {\n    adjusted: boolean;\n    color: string;\n    components: number[] | Float32Array;\n}\n\ninterface InspectorDeclaration {\n    declarationOrigin: DeclarationOrigin;\n    style: CSSStyleDeclaration;\n}\n\ninterface InspectorFontFeature {\n    languageSystem: string;\n    script: string;\n    tag: string;\n}\n\ninterface InspectorRGBATuple {\n    a?: number;\n    b?: number;\n    g?: number;\n    r?: number;\n}\n\ninterface InspectorStyleSheetRuleCountAndAtRulesResult {\n    atRules: CSSRule[];\n    ruleCount: number;\n}\n\ninterface InspectorVariationAxis {\n    defaultValue: number;\n    maxValue: number;\n    minValue: number;\n    name: string;\n    tag: string;\n}\n\ninterface InspectorVariationInstance {\n    name: string;\n    values: InspectorVariationValue[];\n}\n\ninterface InspectorVariationValue {\n    axis: string;\n    value: number;\n}\n\ninterface InstallTriggerData {\n    Hash?: string | null;\n    IconURL?: string | null;\n    URL?: string;\n}\n\ninterface InteractionData {\n    interactionCount?: number;\n    interactionTimeInMilliseconds?: number;\n    scrollingDistanceInPixels?: number;\n}\n\ninterface IntersectionObserverInit {\n    root?: Element | Document | null;\n    rootMargin?: string;\n    scrollMargin?: string;\n    threshold?: number | number[];\n}\n\ninterface KeySystemTrackConfiguration {\n    encryptionScheme?: string | null;\n    robustness?: string;\n}\n\ninterface KeyboardEventInit extends EventModifierInit {\n    charCode?: number;\n    code?: string;\n    isComposing?: boolean;\n    key?: string;\n    keyCode?: number;\n    location?: number;\n    repeat?: boolean;\n    which?: number;\n}\n\ninterface KeyframeAnimationOptions extends KeyframeEffectOptions {\n    id?: string;\n}\n\ninterface KeyframeEffectOptions extends EffectTiming {\n    composite?: CompositeOperation;\n    iterationComposite?: IterationCompositeOperation;\n    pseudoElement?: string | null;\n}\n\ninterface L10nFileSourceMockFile {\n    path: string;\n    source: string;\n}\n\ninterface L10nIdArgs {\n    args?: L10nArgs | null;\n    id?: string | null;\n}\n\ninterface L10nMessage {\n    attributes?: AttributeNameValue[] | null;\n    value?: string | null;\n}\n\ninterface L10nOverlaysError {\n    code?: number;\n    l10nName?: string;\n    sourceElementName?: string;\n    translatedElementName?: string;\n}\n\ninterface L10nRegistryOptions {\n    bundleOptions?: FluentBundleOptions;\n}\n\ninterface LibcConstants {\n    AT_EACCESS?: number;\n    EACCES?: number;\n    EAGAIN?: number;\n    EINTR?: number;\n    EINVAL?: number;\n    ENOSYS?: number;\n    EPERM?: number;\n    FD_CLOEXEC?: number;\n    F_SETFD?: number;\n    F_SETFL?: number;\n    O_CREAT?: number;\n    O_NONBLOCK?: number;\n    O_WRONLY?: number;\n    POLLERR?: number;\n    POLLHUP?: number;\n    POLLIN?: number;\n    POLLNVAL?: number;\n    POLLOUT?: number;\n    PR_CAPBSET_READ?: number;\n    WNOHANG?: number;\n}\n\ninterface LoadURIOptions {\n    baseURI?: URI | null;\n    cancelContentJSEpoch?: number;\n    csp?: ContentSecurityPolicy | null;\n    hasValidUserGestureActivation?: boolean;\n    headers?: InputStream | null;\n    loadFlags?: number;\n    postData?: InputStream | null;\n    referrerInfo?: ReferrerInfo | null;\n    remoteTypeOverride?: string | null;\n    schemelessInput?: number;\n    textDirectiveUserActivation?: boolean;\n    triggeringPrincipal?: Principal | null;\n    triggeringRemoteType?: string | null;\n    triggeringSandboxFlags?: number;\n    triggeringStorageAccess?: boolean;\n    triggeringWindowId?: number;\n}\n\ninterface LockInfo {\n    clientId?: string;\n    mode?: LockMode;\n    name?: string;\n}\n\ninterface LockManagerSnapshot {\n    held?: LockInfo[];\n    pending?: LockInfo[];\n}\n\ninterface LockOptions {\n    ifAvailable?: boolean;\n    mode?: LockMode;\n    signal?: AbortSignal;\n    steal?: boolean;\n}\n\ninterface MIDIConnectionEventInit extends EventInit {\n    port?: MIDIPort | null;\n}\n\ninterface MIDIMessageEventInit extends EventInit {\n    data?: Uint8Array;\n}\n\ninterface MIDIOptions {\n    software?: boolean;\n    sysex?: boolean;\n}\n\ninterface MLSBytes {\n    content: Uint8Array;\n    type: MLSObjectType;\n}\n\ninterface MLSCommitOutput {\n    clientId?: Uint8Array;\n    commit: Uint8Array;\n    groupId: Uint8Array;\n    groupInfo?: Uint8Array;\n    ratchetTree?: Uint8Array;\n    type: MLSObjectType;\n    welcome?: Uint8Array;\n}\n\ninterface MLSExporterOutput {\n    context: Uint8Array;\n    groupEpoch: Uint8Array;\n    groupId: Uint8Array;\n    label: Uint8Array;\n    secret: Uint8Array;\n    type: MLSObjectType;\n}\n\ninterface MLSGroupDetails {\n    groupEpoch: Uint8Array;\n    groupId: Uint8Array;\n    members: MLSGroupMember[];\n    type: MLSObjectType;\n}\n\ninterface MLSGroupMember {\n    clientId: Uint8Array;\n    credential: Uint8Array;\n}\n\ninterface MLSReceived {\n    commitOutput?: MLSCommitOutput;\n    content?: Uint8Array;\n    groupEpoch?: Uint8Array;\n    groupId: Uint8Array;\n    type: MLSObjectType;\n}\n\ninterface MakeDirectoryOptions {\n    createAncestors?: boolean;\n    ignoreExisting?: boolean;\n    permissions?: number;\n}\n\ninterface MatchPatternOptions {\n    ignorePath?: boolean;\n    restrictSchemes?: boolean;\n}\n\ninterface MediaCacheStreamDebugInfo {\n    cacheSuspended?: boolean;\n    channelEnded?: boolean;\n    channelOffset?: number;\n    loadID?: number;\n    streamLength?: number;\n}\n\ninterface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo {\n    keySystemAccess: MediaKeySystemAccess | null;\n}\n\ninterface MediaCapabilitiesInfo {\n    powerEfficient: boolean;\n    smooth: boolean;\n    supported: boolean;\n}\n\ninterface MediaCapabilitiesKeySystemConfiguration {\n    audio?: KeySystemTrackConfiguration;\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataType?: string;\n    keySystem: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    video?: KeySystemTrackConfiguration;\n}\n\ninterface MediaConfiguration {\n    audio?: AudioConfiguration;\n    video?: VideoConfiguration;\n}\n\ninterface MediaDecoderDebugInfo {\n    PlayState?: string;\n    channels?: number;\n    containerType?: string;\n    hasAudio?: boolean;\n    hasVideo?: boolean;\n    instance?: string;\n    rate?: number;\n    reader?: MediaFormatReaderDebugInfo;\n    resource?: MediaResourceDebugInfo;\n    stateMachine?: MediaDecoderStateMachineDebugInfo;\n}\n\ninterface MediaDecoderStateMachineDebugInfo {\n    audioCompleted?: boolean;\n    audioRequestStatus?: string;\n    clock?: number;\n    decodedAudioEndTime?: number;\n    decodedVideoEndTime?: number;\n    duration?: number;\n    isPlaying?: boolean;\n    mediaSink?: MediaSinkDebugInfo;\n    mediaTime?: number;\n    playState?: number;\n    sentFirstFrameLoadedEvent?: boolean;\n    state?: string;\n    stateObj?: MediaDecoderStateMachineDecodingStateDebugInfo;\n    totalBufferingTimeMs?: number;\n    videoCompleted?: boolean;\n    videoRequestStatus?: string;\n}\n\ninterface MediaDecoderStateMachineDecodingStateDebugInfo {\n    isPrerolling?: boolean;\n}\n\ninterface MediaDecodingConfiguration extends MediaConfiguration {\n    keySystemConfiguration?: MediaCapabilitiesKeySystemConfiguration;\n    type: MediaDecodingType;\n}\n\ninterface MediaElementAudioSourceOptions {\n    mediaElement: HTMLMediaElement;\n}\n\ninterface MediaEncodingConfiguration extends MediaConfiguration {\n    type: MediaEncodingType;\n}\n\ninterface MediaFormatReaderDebugInfo {\n    audioChannels?: number;\n    audioDecoderName?: string;\n    audioFramesDecoded?: number;\n    audioRate?: number;\n    audioState?: MediaStateDebugInfo;\n    audioType?: string;\n    frameStats?: MediaFrameStats;\n    totalReadMetadataTimeMs?: number;\n    totalWaitingForVideoDataTimeMs?: number;\n    videoDecoderName?: string;\n    videoHardwareAccelerated?: boolean;\n    videoHeight?: number;\n    videoNumSamplesOutputTotal?: number;\n    videoNumSamplesSkippedTotal?: number;\n    videoRate?: number;\n    videoState?: MediaStateDebugInfo;\n    videoType?: string;\n    videoWidth?: number;\n}\n\ninterface MediaFrameStats {\n    droppedCompositorFrames?: number;\n    droppedDecodedFrames?: number;\n    droppedSinkFrames?: number;\n}\n\ninterface MediaImage {\n    sizes?: string;\n    src: string;\n    type?: string;\n}\n\ninterface MediaKeyMessageEventInit extends EventInit {\n    message: ArrayBuffer;\n    messageType: MediaKeyMessageType;\n}\n\ninterface MediaKeyNeededEventInit extends EventInit {\n    initData?: ArrayBuffer | null;\n    initDataType?: string;\n}\n\ninterface MediaKeySystemConfiguration {\n    audioCapabilities?: MediaKeySystemMediaCapability[];\n    distinctiveIdentifier?: MediaKeysRequirement;\n    initDataTypes?: string[];\n    label?: string;\n    persistentState?: MediaKeysRequirement;\n    sessionTypes?: string[];\n    videoCapabilities?: MediaKeySystemMediaCapability[];\n}\n\ninterface MediaKeySystemMediaCapability {\n    contentType?: string;\n    encryptionScheme?: string | null;\n    robustness?: string;\n}\n\ninterface MediaKeysPolicy {\n    minHdcpVersion?: HDCPVersion;\n}\n\ninterface MediaMetadataInit {\n    album?: string;\n    artist?: string;\n    artwork?: MediaImage[];\n    title?: string;\n}\n\ninterface MediaPositionState {\n    duration?: number;\n    playbackRate?: number;\n    position?: number;\n}\n\ninterface MediaQueryListEventInit extends EventInit {\n    matches?: boolean;\n    media?: string;\n}\n\ninterface MediaRecorderErrorEventInit extends EventInit {\n    error: DOMException;\n}\n\ninterface MediaRecorderOptions {\n    audioBitsPerSecond?: number;\n    bitsPerSecond?: number;\n    mimeType?: string;\n    videoBitsPerSecond?: number;\n}\n\ninterface MediaResourceDebugInfo {\n    cacheStream?: MediaCacheStreamDebugInfo;\n}\n\ninterface MediaSessionActionDetails {\n    action: MediaSessionAction;\n    fastSeek?: boolean;\n    seekOffset?: number;\n    seekTime?: number;\n}\n\ninterface MediaSinkDebugInfo {\n    audioSinkWrapper?: AudioSinkWrapperDebugInfo;\n    decodedStream?: DecodedStreamDebugInfo;\n    videoSink?: VideoSinkDebugInfo;\n}\n\ninterface MediaSourceDecoderDebugInfo {\n    demuxer?: MediaSourceDemuxerDebugInfo;\n    reader?: MediaFormatReaderDebugInfo;\n}\n\ninterface MediaSourceDemuxerDebugInfo {\n    audioTrack?: TrackBuffersManagerDebugInfo;\n    videoTrack?: TrackBuffersManagerDebugInfo;\n}\n\ninterface MediaStateDebugInfo {\n    demuxEOS?: number;\n    demuxQueueSize?: number;\n    drainState?: number;\n    hasDecoder?: boolean;\n    hasDemuxRequest?: boolean;\n    hasPromise?: boolean;\n    lastStreamSourceID?: number;\n    needInput?: boolean;\n    numSamplesInput?: number;\n    numSamplesOutput?: number;\n    pending?: number;\n    queueSize?: number;\n    timeTreshold?: number;\n    timeTresholdHasSeeked?: boolean;\n    waitingForData?: boolean;\n    waitingForKey?: boolean;\n    waitingPromise?: boolean;\n}\n\ninterface MediaStreamAudioSourceOptions {\n    mediaStream: MediaStream;\n}\n\ninterface MediaStreamConstraints {\n    audio?: boolean | MediaTrackConstraints;\n    fake?: boolean;\n    peerIdentity?: string | null;\n    picture?: boolean;\n    video?: boolean | MediaTrackConstraints;\n}\n\ninterface MediaStreamEventInit extends EventInit {\n    stream?: MediaStream | null;\n}\n\ninterface MediaStreamTrackAudioSourceOptions {\n    mediaStreamTrack: MediaStreamTrack;\n}\n\ninterface MediaStreamTrackEventInit extends EventInit {\n    track: MediaStreamTrack;\n}\n\ninterface MediaTrackCapabilities {\n    autoGainControl?: boolean[];\n    channelCount?: ULongRange;\n    deviceId?: string;\n    echoCancellation?: boolean[];\n    facingMode?: string[];\n    frameRate?: DoubleRange;\n    groupId?: string;\n    height?: ULongRange;\n    noiseSuppression?: boolean[];\n    resizeMode?: string[];\n    width?: ULongRange;\n}\n\ninterface MediaTrackConstraintSet {\n    autoGainControl?: ConstrainBoolean;\n    browserWindow?: number;\n    channelCount?: ConstrainLong;\n    deviceId?: ConstrainDOMString;\n    echoCancellation?: ConstrainBoolean;\n    facingMode?: ConstrainDOMString;\n    frameRate?: ConstrainDouble;\n    groupId?: ConstrainDOMString;\n    height?: ConstrainLong;\n    mediaSource?: string;\n    noiseSuppression?: ConstrainBoolean;\n    resizeMode?: ConstrainDOMString;\n    scrollWithPage?: boolean;\n    viewportHeight?: ConstrainLong;\n    viewportOffsetX?: ConstrainLong;\n    viewportOffsetY?: ConstrainLong;\n    viewportWidth?: ConstrainLong;\n    width?: ConstrainLong;\n}\n\ninterface MediaTrackConstraints extends MediaTrackConstraintSet {\n    advanced?: MediaTrackConstraintSet[];\n}\n\ninterface MediaTrackSettings {\n    autoGainControl?: boolean;\n    browserWindow?: number;\n    channelCount?: number;\n    deviceId?: string;\n    echoCancellation?: boolean;\n    facingMode?: string;\n    frameRate?: number;\n    groupId?: string;\n    height?: number;\n    mediaSource?: string;\n    noiseSuppression?: boolean;\n    resizeMode?: string;\n    scrollWithPage?: boolean;\n    viewportHeight?: number;\n    viewportOffsetX?: number;\n    viewportOffsetY?: number;\n    viewportWidth?: number;\n    width?: number;\n}\n\ninterface MediaTrackSupportedConstraints {\n    aspectRatio?: boolean;\n    autoGainControl?: boolean;\n    browserWindow?: boolean;\n    channelCount?: boolean;\n    deviceId?: boolean;\n    echoCancellation?: boolean;\n    facingMode?: boolean;\n    frameRate?: boolean;\n    groupId?: boolean;\n    height?: boolean;\n    latency?: boolean;\n    mediaSource?: boolean;\n    noiseSuppression?: boolean;\n    resizeMode?: boolean;\n    sampleRate?: boolean;\n    sampleSize?: boolean;\n    scrollWithPage?: boolean;\n    viewportHeight?: boolean;\n    viewportOffsetX?: boolean;\n    viewportOffsetY?: boolean;\n    viewportWidth?: boolean;\n    volume?: boolean;\n    width?: boolean;\n}\n\ninterface MerchantValidationEventInit extends EventInit {\n    methodName?: string;\n    validationURL?: string;\n}\n\ninterface MessageEventInit extends EventInit {\n    data?: any;\n    lastEventId?: string;\n    origin?: string;\n    ports?: MessagePort[];\n    source?: MessageEventSource | null;\n}\n\ninterface MouseEventInit extends EventModifierInit {\n    button?: number;\n    buttons?: number;\n    clientX?: number;\n    clientY?: number;\n    movementX?: number;\n    movementY?: number;\n    relatedTarget?: EventTarget | null;\n    screenX?: number;\n    screenY?: number;\n}\n\ninterface MoveOptions {\n    noOverwrite?: boolean;\n}\n\ninterface MozDocumentMatcherInit {\n    allFrames?: boolean;\n    checkPermissions?: boolean;\n    excludeGlobs?: MatchGlobOrString[] | null;\n    excludeMatches?: MatchPatternSetOrStringSequence | null;\n    frameID?: number | null;\n    hasActiveTabPermission?: boolean;\n    includeGlobs?: MatchGlobOrString[] | null;\n    isUserScript?: boolean;\n    matchAboutBlank?: boolean;\n    matchOriginAsFallback?: boolean;\n    matches: MatchPatternSetOrStringSequence;\n    originAttributesPatterns?: OriginAttributesPatternDictionary[] | null;\n}\n\ninterface MozFrameAncestorInfo {\n    frameId: number;\n    url: string;\n}\n\ninterface MozHTTPHeader {\n    name: string;\n    value: string;\n}\n\ninterface MozProxyInfo {\n    connectionIsolationKey?: string | null;\n    failoverTimeout?: number;\n    host: string;\n    port: number;\n    proxyAuthorizationHeader?: string | null;\n    proxyDNS: boolean;\n    type: string;\n    username?: string | null;\n}\n\ninterface MozRequestFilter {\n    incognito?: boolean | null;\n    types?: MozContentPolicyType[] | null;\n    urls?: MatchPatternSet | null;\n}\n\ninterface MozRequestMatchOptions {\n    isProxy?: boolean;\n}\n\ninterface MozUrlClassification {\n    firstParty: MozUrlClassificationFlags[];\n    thirdParty: MozUrlClassificationFlags[];\n}\n\ninterface MozXMLHttpRequestParameters {\n    mozAnon?: boolean;\n    mozSystem?: boolean;\n}\n\ninterface MultiCacheQueryOptions extends CacheQueryOptions {\n    cacheName?: string;\n}\n\ninterface MutationObserverInit {\n    animations?: boolean;\n    attributeFilter?: string[];\n    attributeOldValue?: boolean;\n    attributes?: boolean;\n    characterData?: boolean;\n    characterDataOldValue?: boolean;\n    childList?: boolean;\n    chromeOnlyNodes?: boolean;\n    subtree?: boolean;\n}\n\ninterface MutationObservingInfo extends MutationObserverInit {\n    observedNode?: Node | null;\n}\n\ninterface NavigateEventInit extends EventInit {\n    canIntercept?: boolean;\n    destination: NavigationDestination;\n    downloadRequest?: string | null;\n    formData?: FormData | null;\n    hasUAVisualTransition?: boolean;\n    hashChange?: boolean;\n    info?: any;\n    navigationType?: NavigationType;\n    signal: AbortSignal;\n    sourceElement?: Element | null;\n    userInitiated?: boolean;\n}\n\ninterface NavigationCurrentEntryChangeEventInit extends EventInit {\n    from: NavigationHistoryEntry;\n    navigationType?: NavigationType | null;\n}\n\ninterface NavigationInterceptOptions {\n    focusReset?: NavigationFocusReset;\n    handler?: NavigationInterceptHandler;\n    scroll?: NavigationScrollBehavior;\n}\n\ninterface NavigationNavigateOptions extends NavigationOptions {\n    history?: NavigationHistoryBehavior;\n    state?: any;\n}\n\ninterface NavigationOptions {\n    info?: any;\n}\n\ninterface NavigationPreloadState {\n    enabled?: boolean;\n    headerValue?: string;\n}\n\ninterface NavigationReloadOptions extends NavigationOptions {\n    state?: any;\n}\n\ninterface NavigationResult {\n    committed?: Promise<NavigationHistoryEntry>;\n    finished?: Promise<NavigationHistoryEntry>;\n}\n\ninterface NavigationUpdateCurrentEntryOptions {\n    state: any;\n}\n\ninterface NetErrorInfo {\n    channelStatus?: number;\n    errorCodeString?: string;\n    responseStatus?: number;\n    responseStatusText?: string;\n}\n\ninterface NotificationAction {\n    action: string;\n    title: string;\n}\n\ninterface NotificationOptions {\n    actions?: NotificationAction[];\n    body?: string;\n    data?: any;\n    dir?: NotificationDirection;\n    icon?: string;\n    lang?: string;\n    requireInteraction?: boolean;\n    silent?: boolean;\n    tag?: string;\n    vibrate?: VibratePattern;\n}\n\ninterface ObservableArrayCallbacks {\n    deleteBooleanCallback?: SetDeleteBooleanCallback;\n    deleteInterfaceCallback?: SetDeleteInterfaceCallback;\n    deleteObjectCallback?: SetDeleteObjectCallback;\n    setBooleanCallback?: SetDeleteBooleanCallback;\n    setInterfaceCallback?: SetDeleteInterfaceCallback;\n    setObjectCallback?: SetDeleteObjectCallback;\n}\n\ninterface OfflineAudioCompletionEventInit extends EventInit {\n    renderedBuffer: AudioBuffer;\n}\n\ninterface OfflineAudioContextOptions {\n    length: number;\n    numberOfChannels?: number;\n    sampleRate: number;\n}\n\ninterface OpenPopupOptions {\n    attributesOverride?: boolean;\n    isContextMenu?: boolean;\n    position?: string;\n    triggerEvent?: Event | null;\n    x?: number;\n    y?: number;\n}\n\ninterface OptionalEffectTiming {\n    delay?: number;\n    direction?: PlaybackDirection;\n    duration?: number | string;\n    easing?: string;\n    endDelay?: number;\n    fill?: FillMode;\n    iterationStart?: number;\n    iterations?: number;\n}\n\ninterface OpusEncoderConfig {\n    complexity?: number;\n    format?: OpusBitstreamFormat;\n    frameDuration?: number;\n    packetlossperc?: number;\n    usedtx?: boolean;\n    useinbandfec?: boolean;\n}\n\ninterface OriginAttributesDictionary {\n    firstPartyDomain?: string;\n    geckoViewSessionContextId?: string;\n    partitionKey?: string;\n    privateBrowsingId?: number;\n    userContextId?: number;\n}\n\ninterface OriginAttributesPatternDictionary {\n    firstPartyDomain?: string;\n    geckoViewSessionContextId?: string;\n    partitionKey?: string;\n    partitionKeyPattern?: PartitionKeyPatternDictionary;\n    privateBrowsingId?: number;\n    userContextId?: number;\n}\n\ninterface OscillatorOptions extends AudioNodeOptions {\n    detune?: number;\n    frequency?: number;\n    periodicWave?: PeriodicWave;\n    type?: OscillatorType;\n}\n\ninterface PCErrorData {\n    message: string;\n    name: PCError;\n}\n\ninterface PageTransitionEventInit extends EventInit {\n    inFrameSwap?: boolean;\n    persisted?: boolean;\n}\n\ninterface PannerOptions extends AudioNodeOptions {\n    coneInnerAngle?: number;\n    coneOuterAngle?: number;\n    coneOuterGain?: number;\n    distanceModel?: DistanceModelType;\n    maxDistance?: number;\n    orientationX?: number;\n    orientationY?: number;\n    orientationZ?: number;\n    panningModel?: PanningModelType;\n    positionX?: number;\n    positionY?: number;\n    positionZ?: number;\n    refDistance?: number;\n    rolloffFactor?: number;\n}\n\ninterface ParentProcInfoDictionary {\n    children?: ChildProcInfoDictionary[];\n    cpuCycleCount?: number;\n    cpuTime?: number;\n    memory?: number;\n    pid?: number;\n    threads?: ThreadInfoDictionary[];\n    type?: WebIDLProcType;\n}\n\ninterface PartitionKeyPatternDictionary {\n    baseDomain?: string;\n    foreignByAncestorContext?: boolean;\n    port?: number;\n    scheme?: string;\n}\n\ninterface PayerErrors {\n    email?: string;\n    name?: string;\n    phone?: string;\n}\n\ninterface PaymentCurrencyAmount {\n    currency: string;\n    value: string;\n}\n\ninterface PaymentDetailsBase {\n    displayItems?: PaymentItem[];\n    modifiers?: PaymentDetailsModifier[];\n    shippingOptions?: PaymentShippingOption[];\n}\n\ninterface PaymentDetailsInit extends PaymentDetailsBase {\n    id?: string;\n    total: PaymentItem;\n}\n\ninterface PaymentDetailsModifier {\n    additionalDisplayItems?: PaymentItem[];\n    data?: any;\n    supportedMethods: string;\n    total?: PaymentItem;\n}\n\ninterface PaymentDetailsUpdate extends PaymentDetailsBase {\n    error?: string;\n    payerErrors?: PayerErrors;\n    paymentMethodErrors?: any;\n    shippingAddressErrors?: AddressErrors;\n    total?: PaymentItem;\n}\n\ninterface PaymentItem {\n    amount: PaymentCurrencyAmount;\n    label: string;\n    pending?: boolean;\n}\n\ninterface PaymentMethodChangeEventInit extends PaymentRequestUpdateEventInit {\n    methodDetails?: any;\n    methodName?: string;\n}\n\ninterface PaymentMethodData {\n    data?: any;\n    supportedMethods: string;\n}\n\ninterface PaymentOptions {\n    requestBillingAddress?: boolean;\n    requestPayerEmail?: boolean;\n    requestPayerName?: boolean;\n    requestPayerPhone?: boolean;\n    requestShipping?: boolean;\n    shippingType?: PaymentShippingType;\n}\n\ninterface PaymentRequestUpdateEventInit extends EventInit {\n}\n\ninterface PaymentShippingOption {\n    amount: PaymentCurrencyAmount;\n    id: string;\n    label: string;\n    selected?: boolean;\n}\n\ninterface PaymentValidationErrors {\n    error?: string;\n    payer?: PayerErrors;\n    paymentMethod?: any;\n    shippingAddress?: AddressErrors;\n}\n\ninterface PerformanceEntryEventInit extends EventInit {\n    duration?: DOMHighResTimeStamp;\n    entryType?: string;\n    epoch?: number;\n    name?: string;\n    origin?: string;\n    startTime?: DOMHighResTimeStamp;\n}\n\ninterface PerformanceEntryFilterOptions {\n    entryType?: string;\n    initiatorType?: string;\n    name?: string;\n}\n\ninterface PerformanceMarkOptions {\n    detail?: any;\n    startTime?: DOMHighResTimeStamp;\n}\n\ninterface PerformanceMeasureOptions {\n    detail?: any;\n    duration?: DOMHighResTimeStamp;\n    end?: string | DOMHighResTimeStamp;\n    start?: string | DOMHighResTimeStamp;\n}\n\ninterface PerformanceObserverInit {\n    buffered?: boolean;\n    durationThreshold?: DOMHighResTimeStamp;\n    entryTypes?: string[];\n    type?: string;\n}\n\ninterface PeriodicWaveConstraints {\n    disableNormalization?: boolean;\n}\n\ninterface PeriodicWaveOptions extends PeriodicWaveConstraints {\n    imag?: number[] | Float32Array;\n    real?: number[] | Float32Array;\n}\n\ninterface PermissionSetParameters {\n    descriptor: any;\n    state: PermissionState;\n}\n\ninterface PlacesBookmarkAdditionInit {\n    dateAdded: number;\n    frecency: number;\n    guid: string;\n    hidden: boolean;\n    id: number;\n    index: number;\n    isTagging: boolean;\n    itemType: number;\n    lastVisitDate: number | null;\n    parentGuid: string;\n    parentId: number;\n    source: number;\n    tags: string | null;\n    targetFolderGuid: string | null;\n    targetFolderItemId: number;\n    targetFolderTitle: string | null;\n    title: string;\n    url: string;\n    visitCount: number;\n}\n\ninterface PlacesBookmarkGuidInit {\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    url?: string | null;\n}\n\ninterface PlacesBookmarkKeywordInit {\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    keyword: string;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    url?: string | null;\n}\n\ninterface PlacesBookmarkMovedInit {\n    dateAdded: number;\n    frecency: number;\n    guid: string;\n    hidden: boolean;\n    id: number;\n    index: number;\n    isTagging: boolean;\n    itemType: number;\n    lastVisitDate: number | null;\n    oldIndex: number;\n    oldParentGuid: string;\n    parentGuid: string;\n    source: number;\n    tags: string | null;\n    title: string;\n    url?: string | null;\n    visitCount: number;\n}\n\ninterface PlacesBookmarkRemovedInit {\n    guid: string;\n    id: number;\n    index: number;\n    isDescendantRemoval?: boolean;\n    isTagging: boolean;\n    itemType: number;\n    parentGuid: string;\n    parentId: number;\n    source: number;\n    title: string;\n    url: string;\n}\n\ninterface PlacesBookmarkTagsInit {\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    tags: string[];\n    url?: string | null;\n}\n\ninterface PlacesBookmarkTimeInit {\n    dateAdded: number;\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    url?: string | null;\n}\n\ninterface PlacesBookmarkTitleInit {\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    title: string;\n    url?: string | null;\n}\n\ninterface PlacesBookmarkUrlInit {\n    guid: string;\n    id: number;\n    isTagging: boolean;\n    itemType: number;\n    lastModified: number;\n    parentGuid: string;\n    source: number;\n    url: string;\n}\n\ninterface PlacesFaviconInit {\n    faviconUrl: string;\n    pageGuid: string;\n    url: string;\n}\n\ninterface PlacesVisitRemovedInit {\n    isPartialVisistsRemoval?: boolean;\n    isRemovedFromStore?: boolean;\n    pageGuid: string;\n    reason: number;\n    transitionType?: number;\n    url: string;\n}\n\ninterface PlacesVisitTitleInit {\n    pageGuid: string;\n    title: string;\n    url: string;\n}\n\ninterface PlaneLayout {\n    offset: number;\n    stride: number;\n}\n\ninterface PluginCrashedEventInit extends EventInit {\n    gmpPlugin?: boolean;\n    pluginDumpID?: string;\n    pluginFilename?: string | null;\n    pluginID?: number;\n    pluginName?: string;\n    submittedCrashReport?: boolean;\n}\n\ninterface PointerEventInit extends MouseEventInit {\n    altitudeAngle?: number;\n    azimuthAngle?: number;\n    coalescedEvents?: PointerEvent[];\n    height?: number;\n    isPrimary?: boolean;\n    persistentDeviceId?: number;\n    pointerId?: number;\n    pointerType?: string;\n    predictedEvents?: PointerEvent[];\n    pressure?: number;\n    tangentialPressure?: number;\n    tiltX?: number;\n    tiltY?: number;\n    twist?: number;\n    width?: number;\n}\n\ninterface PopStateEventInit extends EventInit {\n    state?: any;\n}\n\ninterface PopupBlockedEventInit extends EventInit {\n    popupWindowFeatures?: string;\n    popupWindowName?: string;\n    popupWindowURI?: URI | null;\n    requestingWindow?: Window | null;\n}\n\ninterface PopupPositionedEventInit extends EventInit {\n    alignmentOffset?: number;\n    alignmentPosition?: string;\n    isAnchored?: boolean;\n    popupAlignment?: string;\n}\n\ninterface PositionOptions {\n    enableHighAccuracy?: boolean;\n    maximumAge?: number;\n    timeout?: number;\n}\n\ninterface PositionStateEventInit extends EventInit {\n    duration: number;\n    playbackRate: number;\n    position: number;\n}\n\ninterface PrivateAttributionConversionOptions {\n    ads?: string[];\n    histogramSize: number;\n    impression?: PrivateAttributionImpressionType;\n    lookbackDays?: number;\n    sources?: string[];\n    task: string;\n}\n\ninterface PrivateAttributionImpressionOptions {\n    ad: string;\n    index: number;\n    target: string;\n    type?: PrivateAttributionImpressionType;\n}\n\ninterface ProcessActorChildOptions extends ProcessActorSidedOptions {\n    observers?: string[];\n}\n\ninterface ProcessActorOptions {\n    child?: ProcessActorChildOptions;\n    includeParent?: boolean;\n    loadInDevToolsLoader?: boolean;\n    parent?: ProcessActorSidedOptions;\n    remoteTypes?: string[];\n}\n\ninterface ProcessActorSidedOptions {\n    esModuleURI?: string;\n}\n\ninterface ProfilerMarkerOptions {\n    captureStack?: boolean;\n    category?: string;\n    innerWindowId?: number;\n    startTime?: DOMHighResTimeStamp;\n}\n\ninterface ProgressEventInit extends EventInit {\n    lengthComputable?: boolean;\n    loaded?: number;\n    total?: number;\n}\n\ninterface PromiseDebuggingStateHolder {\n    reason?: any;\n    state?: PromiseDebuggingState;\n    value?: any;\n}\n\ninterface PromiseRejectionEventInit extends EventInit {\n    promise: any;\n    reason?: any;\n}\n\ninterface PropertyDefinition {\n    inherits: boolean;\n    initialValue?: string;\n    name: string;\n    syntax?: string;\n}\n\ninterface PropertyNamesOptions {\n    includeAliases?: boolean;\n    includeExperimentals?: boolean;\n    includeShorthands?: boolean;\n}\n\ninterface PropertyPref {\n    name: string;\n    pref: string;\n}\n\ninterface PublicKeyCredentialCreationOptions {\n    attestation?: string;\n    authenticatorSelection?: AuthenticatorSelectionCriteria;\n    challenge: BufferSource;\n    excludeCredentials?: PublicKeyCredentialDescriptor[];\n    extensions?: AuthenticationExtensionsClientInputs;\n    pubKeyCredParams: PublicKeyCredentialParameters[];\n    rp: PublicKeyCredentialRpEntity;\n    timeout?: number;\n    user: PublicKeyCredentialUserEntity;\n}\n\ninterface PublicKeyCredentialCreationOptionsJSON {\n    attestation?: string;\n    attestationFormats?: string[];\n    authenticatorSelection?: AuthenticatorSelectionCriteria;\n    challenge: Base64URLString;\n    excludeCredentials?: PublicKeyCredentialDescriptorJSON[];\n    extensions?: AuthenticationExtensionsClientInputsJSON;\n    hints?: string[];\n    pubKeyCredParams: PublicKeyCredentialParameters[];\n    rp: PublicKeyCredentialRpEntity;\n    timeout?: number;\n    user: PublicKeyCredentialUserEntityJSON;\n}\n\ninterface PublicKeyCredentialDescriptor {\n    id: BufferSource;\n    transports?: string[];\n    type: string;\n}\n\ninterface PublicKeyCredentialDescriptorJSON {\n    id: Base64URLString;\n    transports?: string[];\n    type: string;\n}\n\ninterface PublicKeyCredentialEntity {\n    name: string;\n}\n\ninterface PublicKeyCredentialParameters {\n    alg: COSEAlgorithmIdentifier;\n    type: string;\n}\n\ninterface PublicKeyCredentialRequestOptions {\n    allowCredentials?: PublicKeyCredentialDescriptor[];\n    challenge: BufferSource;\n    extensions?: AuthenticationExtensionsClientInputs;\n    rpId?: string;\n    timeout?: number;\n    userVerification?: string;\n}\n\ninterface PublicKeyCredentialRequestOptionsJSON {\n    allowCredentials?: PublicKeyCredentialDescriptorJSON[];\n    attestation?: string;\n    attestationFormats?: string[];\n    challenge: Base64URLString;\n    extensions?: AuthenticationExtensionsClientInputsJSON;\n    hints?: string[];\n    rpId?: string;\n    timeout?: number;\n    userVerification?: string;\n}\n\ninterface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {\n    id?: string;\n}\n\ninterface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {\n    displayName: string;\n    id: BufferSource;\n}\n\ninterface PublicKeyCredentialUserEntityJSON {\n    displayName: string;\n    id: Base64URLString;\n    name: string;\n}\n\ninterface PushSubscriptionInit {\n    appServerKey?: BufferSource | null;\n    authSecret?: ArrayBuffer | null;\n    endpoint: string;\n    expirationTime?: EpochTimeStamp | null;\n    p256dhKey?: ArrayBuffer | null;\n    scope: string;\n}\n\ninterface PushSubscriptionJSON {\n    endpoint?: string;\n    expirationTime?: EpochTimeStamp | null;\n    keys?: PushSubscriptionKeys;\n}\n\ninterface PushSubscriptionKeys {\n    auth?: string;\n    p256dh?: string;\n}\n\ninterface PushSubscriptionOptionsInit {\n    applicationServerKey?: BufferSource | string | null;\n}\n\ninterface QueuingStrategy {\n    highWaterMark?: number;\n    size?: QueuingStrategySize;\n}\n\ninterface QueuingStrategyInit {\n    highWaterMark: number;\n}\n\ninterface RTCBandwidthEstimationInternal {\n    maxPaddingBps?: number;\n    pacerDelayMs?: number;\n    receiveBandwidthBps?: number;\n    rttMs?: number;\n    sendBandwidthBps?: number;\n    trackIdentifier: string;\n}\n\ninterface RTCCodecStats extends RTCStats {\n    channels?: number;\n    clockRate?: number;\n    codecType?: RTCCodecType;\n    mimeType: string;\n    payloadType: number;\n    sdpFmtpLine?: string;\n    transportId: string;\n}\n\ninterface RTCConfiguration {\n    bundlePolicy?: RTCBundlePolicy;\n    certificates?: RTCCertificate[];\n    iceServers?: RTCIceServer[];\n    iceTransportPolicy?: RTCIceTransportPolicy;\n    peerIdentity?: string | null;\n    sdpSemantics?: string;\n}\n\ninterface RTCConfigurationInternal {\n    bundlePolicy?: RTCBundlePolicy;\n    certificatesProvided: boolean;\n    iceServers?: RTCIceServerInternal[];\n    iceTransportPolicy?: RTCIceTransportPolicy;\n    peerIdentityProvided: boolean;\n    sdpSemantics?: string;\n}\n\ninterface RTCDTMFToneChangeEventInit extends EventInit {\n    tone?: string;\n}\n\ninterface RTCDataChannelEventInit extends EventInit {\n    channel: RTCDataChannel;\n}\n\ninterface RTCDataChannelInit {\n    id?: number;\n    maxPacketLifeTime?: number;\n    maxRetransmits?: number;\n    negotiated?: boolean;\n    ordered?: boolean;\n    protocol?: string;\n}\n\ninterface RTCDataChannelStats extends RTCStats {\n    bytesReceived?: number;\n    bytesSent?: number;\n    dataChannelIdentifier?: number;\n    label?: string;\n    messagesReceived?: number;\n    messagesSent?: number;\n    protocol?: string;\n    state?: RTCDataChannelState;\n}\n\ninterface RTCDtlsFingerprint {\n    algorithm?: string;\n    value?: string;\n}\n\ninterface RTCEncodedAudioFrameMetadata {\n    contributingSources?: number[];\n    payloadType?: number;\n    sequenceNumber?: number;\n    synchronizationSource?: number;\n}\n\ninterface RTCEncodedVideoFrameMetadata {\n    contributingSources?: number[];\n    dependencies?: number[];\n    frameId?: number;\n    height?: number;\n    payloadType?: number;\n    spatialIndex?: number;\n    synchronizationSource?: number;\n    temporalIndex?: number;\n    timestamp?: number;\n    width?: number;\n}\n\ninterface RTCIceCandidateInit {\n    candidate?: string;\n    sdpMLineIndex?: number | null;\n    sdpMid?: string | null;\n    usernameFragment?: string | null;\n}\n\ninterface RTCIceCandidatePairStats extends RTCStats {\n    bytesReceived?: number;\n    bytesSent?: number;\n    componentId?: number;\n    currentRoundTripTime?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    lastPacketSentTimestamp?: DOMHighResTimeStamp;\n    localCandidateId?: string;\n    nominated?: boolean;\n    priority?: number;\n    readable?: boolean;\n    remoteCandidateId?: string;\n    responsesReceived?: number;\n    selected?: boolean;\n    state?: RTCStatsIceCandidatePairState;\n    totalRoundTripTime?: number;\n    transportId?: string;\n    writable?: boolean;\n}\n\ninterface RTCIceCandidateStats extends RTCStats {\n    address?: string;\n    candidateType?: RTCIceCandidateType;\n    port?: number;\n    priority?: number;\n    protocol?: string;\n    proxied?: string;\n    relayProtocol?: string;\n    transportId?: string;\n}\n\ninterface RTCIceServer {\n    credential?: string;\n    credentialType?: RTCIceCredentialType;\n    url?: string;\n    urls?: string | string[];\n    username?: string;\n}\n\ninterface RTCIceServerInternal {\n    credentialProvided: boolean;\n    urls?: string[];\n    userNameProvided: boolean;\n}\n\ninterface RTCIdentityAssertion {\n    idp?: string;\n    name?: string;\n}\n\ninterface RTCIdentityAssertionResult {\n    assertion: string;\n    idp: RTCIdentityProviderDetails;\n}\n\ninterface RTCIdentityProvider {\n    generateAssertion: GenerateAssertionCallback;\n    validateAssertion: ValidateAssertionCallback;\n}\n\ninterface RTCIdentityProviderDetails {\n    domain: string;\n    protocol?: string;\n}\n\ninterface RTCIdentityProviderOptions {\n    peerIdentity?: string;\n    protocol?: string;\n    usernameHint?: string;\n}\n\ninterface RTCIdentityValidationResult {\n    contents: string;\n    identity: string;\n}\n\ninterface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats {\n    audioLevel?: number;\n    bytesReceived?: number;\n    concealedSamples?: number;\n    concealmentEvents?: number;\n    estimatedPlayoutTimestamp?: DOMHighResTimeStamp;\n    fecPacketsDiscarded?: number;\n    fecPacketsReceived?: number;\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesAssembledFromMultiplePackets?: number;\n    framesDecoded?: number;\n    framesDropped?: number;\n    framesPerSecond?: number;\n    framesReceived?: number;\n    freezeCount?: number;\n    headerBytesReceived?: number;\n    insertedSamplesForDeceleration?: number;\n    jitterBufferDelay?: number;\n    jitterBufferEmittedCount?: number;\n    jitterBufferMinimumDelay?: number;\n    jitterBufferTargetDelay?: number;\n    keyFramesDecoded?: number;\n    lastPacketReceivedTimestamp?: DOMHighResTimeStamp;\n    mid?: string;\n    nackCount?: number;\n    pauseCount?: number;\n    pliCount?: number;\n    qpSum?: number;\n    remoteId?: string;\n    removedSamplesForAcceleration?: number;\n    silentConcealedSamples?: number;\n    totalAssemblyTime?: number;\n    totalAudioEnergy?: number;\n    totalDecodeTime?: number;\n    totalFreezesDuration?: number;\n    totalInterFrameDelay?: number;\n    totalPausesDuration?: number;\n    totalProcessingDelay?: number;\n    totalSamplesDuration?: number;\n    totalSamplesReceived?: number;\n    totalSquaredInterFrameDelay?: number;\n    trackIdentifier: string;\n}\n\ninterface RTCLocalSessionDescriptionInit {\n    sdp?: string;\n    type?: RTCSdpType;\n}\n\ninterface RTCMediaSourceStats extends RTCStats {\n    kind: string;\n    trackIdentifier: string;\n}\n\ninterface RTCOfferAnswerOptions {\n}\n\ninterface RTCOfferOptions extends RTCOfferAnswerOptions {\n    iceRestart?: boolean;\n    offerToReceiveAudio?: boolean;\n    offerToReceiveVideo?: boolean;\n}\n\ninterface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats {\n    firCount?: number;\n    frameHeight?: number;\n    frameWidth?: number;\n    framesEncoded?: number;\n    framesPerSecond?: number;\n    framesSent?: number;\n    headerBytesSent?: number;\n    hugeFramesSent?: number;\n    mid?: string;\n    nackCount?: number;\n    pliCount?: number;\n    qpSum?: number;\n    remoteId?: string;\n    retransmittedBytesSent?: number;\n    retransmittedPacketsSent?: number;\n    rid?: string;\n    totalEncodeTime?: number;\n    totalEncodedBytesTarget?: number;\n}\n\ninterface RTCPeerConnectionIceEventInit extends EventInit {\n    candidate?: RTCIceCandidate | null;\n}\n\ninterface RTCPeerConnectionStats extends RTCStats {\n    dataChannelsClosed?: number;\n    dataChannelsOpened?: number;\n}\n\ninterface RTCRTPContributingSourceStats extends RTCStats {\n    contributorSsrc?: number;\n    inboundRtpStreamId?: string;\n}\n\ninterface RTCReceivedRtpStreamStats extends RTCRtpStreamStats {\n    discardedPackets?: number;\n    jitter?: number;\n    packetsDiscarded?: number;\n    packetsLost?: number;\n    packetsReceived?: number;\n}\n\ninterface RTCRemoteInboundRtpStreamStats extends RTCReceivedRtpStreamStats {\n    fractionLost?: number;\n    localId?: string;\n    roundTripTime?: number;\n    roundTripTimeMeasurements?: number;\n    totalRoundTripTime?: number;\n}\n\ninterface RTCRemoteOutboundRtpStreamStats extends RTCSentRtpStreamStats {\n    localId?: string;\n    remoteTimestamp?: DOMHighResTimeStamp;\n}\n\ninterface RTCRtcpParameters {\n    cname?: string;\n    reducedSize?: boolean;\n}\n\ninterface RTCRtpCapabilities {\n    codecs: RTCRtpCodec[];\n    headerExtensions: RTCRtpHeaderExtensionCapability[];\n}\n\ninterface RTCRtpCodec {\n    channels?: number;\n    clockRate: number;\n    mimeType: string;\n    sdpFmtpLine?: string;\n}\n\ninterface RTCRtpCodecParameters extends RTCRtpCodec {\n    payloadType: number;\n}\n\ninterface RTCRtpContributingSource {\n    audioLevel?: number;\n    rtpTimestamp: number;\n    source: number;\n    timestamp: DOMHighResTimeStamp;\n}\n\ninterface RTCRtpEncodingParameters {\n    active?: boolean;\n    codec?: RTCRtpCodec;\n    maxBitrate?: number;\n    maxFramerate?: number;\n    priority?: RTCPriorityType;\n    rid?: string;\n    scaleResolutionDownBy?: number;\n}\n\ninterface RTCRtpHeaderExtensionCapability {\n    uri: string;\n}\n\ninterface RTCRtpHeaderExtensionParameters {\n    encrypted?: boolean;\n    id?: number;\n    uri?: string;\n}\n\ninterface RTCRtpParameters {\n    codecs?: RTCRtpCodecParameters[];\n    headerExtensions?: RTCRtpHeaderExtensionParameters[];\n    rtcp?: RTCRtcpParameters;\n}\n\ninterface RTCRtpReceiveParameters extends RTCRtpParameters {\n}\n\ninterface RTCRtpSendParameters extends RTCRtpParameters {\n    degradationPreference?: RTCDegradationPreference;\n    encodings: RTCRtpEncodingParameters[];\n    transactionId?: string;\n}\n\ninterface RTCRtpStreamStats extends RTCStats {\n    codecId?: string;\n    kind: string;\n    mediaType?: string;\n    ssrc: number;\n    transportId?: string;\n}\n\ninterface RTCRtpSynchronizationSource extends RTCRtpContributingSource {\n    voiceActivityFlag?: boolean | null;\n}\n\ninterface RTCRtpTransceiverInit {\n    direction?: RTCRtpTransceiverDirection;\n    sendEncodings?: RTCRtpEncodingParameters[];\n    streams?: MediaStream[];\n}\n\ninterface RTCSdpHistoryEntryInternal {\n    errors?: RTCSdpParsingErrorInternal[];\n    isLocal: boolean;\n    sdp: string;\n    timestamp: DOMHighResTimeStamp;\n}\n\ninterface RTCSdpHistoryInternal {\n    pcid: string;\n    sdpHistory?: RTCSdpHistoryEntryInternal[];\n}\n\ninterface RTCSdpParsingErrorInternal {\n    error: string;\n    lineNumber: number;\n}\n\ninterface RTCSentRtpStreamStats extends RTCRtpStreamStats {\n    bytesSent?: number;\n    packetsSent?: number;\n}\n\ninterface RTCSessionDescriptionInit {\n    sdp?: string;\n    type: RTCSdpType;\n}\n\ninterface RTCStats {\n    id?: string;\n    timestamp?: DOMHighResTimeStamp;\n    type?: RTCStatsType;\n}\n\ninterface RTCStatsCollection {\n    bandwidthEstimations?: RTCBandwidthEstimationInternal[];\n    codecStats?: RTCCodecStats[];\n    dataChannelStats?: RTCDataChannelStats[];\n    iceCandidatePairStats?: RTCIceCandidatePairStats[];\n    iceCandidateStats?: RTCIceCandidateStats[];\n    inboundRtpStreamStats?: RTCInboundRtpStreamStats[];\n    mediaSourceStats?: RTCMediaSourceStats[];\n    outboundRtpStreamStats?: RTCOutboundRtpStreamStats[];\n    peerConnectionStats?: RTCPeerConnectionStats[];\n    rawLocalCandidates?: string[];\n    rawRemoteCandidates?: string[];\n    remoteInboundRtpStreamStats?: RTCRemoteInboundRtpStreamStats[];\n    remoteOutboundRtpStreamStats?: RTCRemoteOutboundRtpStreamStats[];\n    rtpContributingSourceStats?: RTCRTPContributingSourceStats[];\n    trickledIceCandidateStats?: RTCIceCandidateStats[];\n    videoFrameHistories?: RTCVideoFrameHistoryInternal[];\n    videoSourceStats?: RTCVideoSourceStats[];\n}\n\ninterface RTCStatsReportInternal extends RTCStatsCollection {\n    browserId: number;\n    callDurationMs?: number;\n    closed: boolean;\n    configuration?: RTCConfigurationInternal;\n    iceRestarts: number;\n    iceRollbacks: number;\n    jsepSessionErrors?: string;\n    offerer?: boolean;\n    pcid: string;\n    sdpHistory?: RTCSdpHistoryEntryInternal[];\n    timestamp: DOMHighResTimeStamp;\n}\n\ninterface RTCTrackEventInit extends EventInit {\n    receiver: RTCRtpReceiver;\n    streams?: MediaStream[];\n    track: MediaStreamTrack;\n    transceiver: RTCRtpTransceiver;\n}\n\ninterface RTCVideoFrameHistoryEntryInternal {\n    consecutiveFrames: number;\n    firstFrameTimestamp: DOMHighResTimeStamp;\n    height: number;\n    lastFrameTimestamp: DOMHighResTimeStamp;\n    localSsrc: number;\n    remoteSsrc: number;\n    rotationAngle: number;\n    width: number;\n}\n\ninterface RTCVideoFrameHistoryInternal {\n    entries?: RTCVideoFrameHistoryEntryInternal[];\n    trackIdentifier: string;\n}\n\ninterface RTCVideoSourceStats extends RTCMediaSourceStats {\n    frames?: number;\n    framesPerSecond?: number;\n    height?: number;\n    width?: number;\n}\n\ninterface ReadOptions extends ReadUTF8Options {\n    maxBytes?: number | null;\n    offset?: number;\n}\n\ninterface ReadUTF8Options {\n    decompress?: boolean;\n}\n\ninterface ReadableStreamBYOBReaderReadOptions {\n    min?: number;\n}\n\ninterface ReadableStreamGetReaderOptions {\n    mode?: ReadableStreamReaderMode;\n}\n\ninterface ReadableStreamIteratorOptions {\n    preventCancel?: boolean;\n}\n\ninterface ReadableStreamReadResult {\n    done?: boolean;\n    value?: any;\n}\n\ninterface ReadableWritablePair {\n    readable: ReadableStream;\n    writable: WritableStream;\n}\n\ninterface ReceiveMessageArgument {\n    data?: any;\n    json?: any;\n    name: string;\n    ports?: MessagePort[];\n    sync: boolean;\n    target: nsISupports;\n    targetFrameLoader?: FrameLoader;\n}\n\ninterface RegistrationOptions {\n    scope?: string;\n    updateViaCache?: ServiceWorkerUpdateViaCache;\n}\n\ninterface RemotenessOptions {\n    pendingSwitchID?: number;\n    remoteType: string | null;\n    switchingInProgressLoad?: boolean;\n}\n\ninterface RemoveOptions {\n    ignoreAbsent?: boolean;\n    recursive?: boolean;\n    retryReadonly?: boolean;\n}\n\ninterface ReportingObserverOptions {\n    buffered?: boolean;\n    types?: string[];\n}\n\ninterface RequestInit {\n    body?: BodyInit | null;\n    cache?: RequestCache;\n    credentials?: RequestCredentials;\n    headers?: HeadersInit;\n    integrity?: string;\n    keepalive?: boolean;\n    method?: string;\n    mode?: RequestMode;\n    mozErrors?: boolean;\n    neverTaint?: boolean;\n    observe?: ObserverCallback;\n    priority?: RequestPriority;\n    redirect?: RequestRedirect;\n    referrer?: string;\n    referrerPolicy?: ReferrerPolicy;\n    signal?: AbortSignal | null;\n    triggeringPrincipal?: Principal;\n}\n\ninterface ResizeObserverOptions {\n    box?: ResizeObserverBoxOptions;\n}\n\ninterface ResourceId {\n    optional?: boolean;\n    path: string;\n}\n\ninterface ResponseInit {\n    headers?: HeadersInit;\n    status?: number;\n    statusText?: string;\n}\n\ninterface SVGBoundingBoxOptions {\n    clipped?: boolean;\n    fill?: boolean;\n    markers?: boolean;\n    stroke?: boolean;\n}\n\ninterface SVGPathDataSettings {\n    normalize?: boolean;\n}\n\ninterface SVGPathSegmentInit {\n    type: string;\n    values: number[] | Float32Array;\n}\n\ninterface SanitizerAttributeNamespace {\n    name: string;\n    namespace?: string | null;\n}\n\ninterface SanitizerConfig {\n    attributes?: SanitizerAttribute[];\n    comments?: boolean;\n    dataAttributes?: boolean;\n    elements?: SanitizerElementWithAttributes[];\n    removeAttributes?: SanitizerAttribute[];\n    removeElements?: SanitizerElement[];\n    replaceWithChildrenElements?: SanitizerElement[];\n}\n\ninterface SanitizerElementNamespace {\n    name: string;\n    namespace?: string | null;\n}\n\ninterface SanitizerElementNamespaceWithAttributes extends SanitizerElementNamespace {\n    attributes?: SanitizerAttribute[];\n    removeAttributes?: SanitizerAttribute[];\n}\n\ninterface SchedulerPostTaskOptions {\n    delay?: number;\n    priority?: TaskPriority;\n    signal?: AbortSignal;\n}\n\ninterface ScrollIntoViewOptions extends ScrollOptions {\n    block?: ScrollLogicalPosition;\n    inline?: ScrollLogicalPosition;\n}\n\ninterface ScrollOptions {\n    behavior?: ScrollBehavior;\n}\n\ninterface ScrollToOptions extends ScrollOptions {\n    left?: number;\n    top?: number;\n}\n\ninterface SecurityPolicyViolationEventInit extends EventInit {\n    blockedURI?: string;\n    columnNumber?: number;\n    disposition?: SecurityPolicyViolationEventDisposition;\n    documentURI?: string;\n    effectiveDirective?: string;\n    lineNumber?: number;\n    originalPolicy?: string;\n    referrer?: string;\n    sample?: string;\n    sourceFile?: string;\n    statusCode?: number;\n    violatedDirective?: string;\n}\n\ninterface SelectorWarning {\n    index: number;\n    kind: SelectorWarningKind;\n}\n\ninterface ServerSocketOptions {\n    binaryType?: TCPSocketBinaryType;\n}\n\ninterface SetHTMLOptions {\n    sanitizer?: Sanitizer | SanitizerConfig | SanitizerPresets;\n}\n\ninterface SetHTMLUnsafeOptions {\n    sanitizer?: Sanitizer | SanitizerConfig | SanitizerPresets;\n}\n\ninterface ShadowRootInit {\n    clonable?: boolean;\n    delegatesFocus?: boolean;\n    mode: ShadowRootMode;\n    serializable?: boolean;\n    slotAssignment?: SlotAssignmentMode;\n}\n\ninterface ShareData {\n    files?: File[];\n    text?: string;\n    title?: string;\n    url?: string;\n}\n\ninterface ShowPopoverOptions {\n    source?: HTMLElement;\n}\n\ninterface SizeToContentConstraints {\n    maxHeight?: number;\n    maxWidth?: number;\n    prefWidth?: number;\n}\n\ninterface SocketOptions {\n    binaryType?: TCPSocketBinaryType;\n    useSecureTransport?: boolean;\n}\n\ninterface SpeechRecognitionErrorInit extends EventInit {\n    error?: SpeechRecognitionErrorCode;\n    message?: string;\n}\n\ninterface SpeechRecognitionEventInit extends EventInit {\n    emma?: Document | null;\n    interpretation?: any;\n    resultIndex?: number;\n    results?: SpeechRecognitionResultList | null;\n}\n\ninterface SpeechSynthesisErrorEventInit extends SpeechSynthesisEventInit {\n    error: SpeechSynthesisErrorCode;\n}\n\ninterface SpeechSynthesisEventInit extends EventInit {\n    charIndex?: number;\n    charLength?: number | null;\n    elapsedTime?: number;\n    name?: string;\n    utterance: SpeechSynthesisUtterance;\n}\n\ninterface SplitRelativeOptions {\n    allowCurrentDir?: boolean;\n    allowEmpty?: boolean;\n    allowParentDir?: boolean;\n}\n\ninterface StaticRangeInit {\n    endContainer: Node;\n    endOffset: number;\n    startContainer: Node;\n    startOffset: number;\n}\n\ninterface StereoPannerOptions extends AudioNodeOptions {\n    pan?: number;\n}\n\ninterface StorageEstimate {\n    quota?: number;\n    usage?: number;\n}\n\ninterface StorageEventInit extends EventInit {\n    key?: string | null;\n    newValue?: string | null;\n    oldValue?: string | null;\n    storageArea?: Storage | null;\n    url?: string;\n}\n\ninterface StreamFilterDataEventInit extends EventInit {\n    data: ArrayBuffer;\n}\n\ninterface StreamPipeOptions {\n    preventAbort?: boolean;\n    preventCancel?: boolean;\n    preventClose?: boolean;\n    signal?: AbortSignal;\n}\n\ninterface StructuredSerializeOptions {\n    transfer?: any[];\n}\n\ninterface StyleSheetApplicableStateChangeEventInit extends EventInit {\n    applicable?: boolean;\n    stylesheet?: CSSStyleSheet | null;\n}\n\ninterface StyleSheetRemovedEventInit extends EventInit {\n    stylesheet?: CSSStyleSheet | null;\n}\n\ninterface SubmitEventInit extends EventInit {\n    submitter?: HTMLElement | null;\n}\n\ninterface SupportsOptions {\n    chrome?: boolean;\n    quirks?: boolean;\n    userAgent?: boolean;\n}\n\ninterface SvcOutputMetadata {\n    temporalLayerId?: number;\n}\n\ninterface TCPServerSocketEventInit extends EventInit {\n    socket?: TCPSocket | null;\n}\n\ninterface TCPSocketErrorEventInit extends EventInit {\n    errorCode?: number;\n    message?: string;\n    name?: string;\n}\n\ninterface TCPSocketEventInit extends EventInit {\n    data?: any;\n}\n\ninterface TaskControllerInit {\n    priority?: TaskPriority;\n}\n\ninterface TaskPriorityChangeEventInit extends EventInit {\n    previousPriority: TaskPriority;\n}\n\ninterface TaskSignalAnyInit {\n    priority?: TaskPriority | TaskSignal;\n}\n\ninterface TestInterfaceAsyncIterableSingleOptions {\n    failToInit?: boolean;\n}\n\ninterface TestInterfaceAsyncIteratorOptions {\n    blockingPromises?: Promise<any>[];\n    failNextAfter?: number;\n    multiplier?: number;\n    throwFromNext?: boolean;\n    throwFromReturn?: TestThrowingCallback;\n}\n\ninterface TestInterfaceJSDictionary {\n    anyMember?: any;\n    anySequenceMember?: any[];\n    innerDictionary?: TestInterfaceJSDictionary2;\n    objectMember?: any;\n    objectOrStringMember?: any;\n    objectRecordMember?: Record<string, any>;\n}\n\ninterface TestInterfaceJSDictionary2 {\n    innerObject?: any;\n}\n\ninterface TestInterfaceJSUnionableDictionary {\n    anyMember?: any;\n    objectMember?: any;\n}\n\ninterface TextDecodeOptions {\n    stream?: boolean;\n}\n\ninterface TextDecoderOptions {\n    fatal?: boolean;\n    ignoreBOM?: boolean;\n}\n\ninterface TextEncoderEncodeIntoResult {\n    read?: number;\n    written?: number;\n}\n\ninterface ThreadInfoDictionary {\n    cpuCycleCount?: number;\n    cpuTime?: number;\n    name?: string;\n    tid?: number;\n}\n\ninterface ToggleEventInit extends EventInit {\n    newState?: string;\n    oldState?: string;\n}\n\ninterface TogglePopoverOptions extends ShowPopoverOptions {\n    force?: boolean;\n}\n\ninterface TouchEventInit extends EventModifierInit {\n    changedTouches?: Touch[];\n    targetTouches?: Touch[];\n    touches?: Touch[];\n}\n\ninterface TouchInit {\n    clientX?: number;\n    clientY?: number;\n    force?: number;\n    identifier: number;\n    pageX?: number;\n    pageY?: number;\n    radiusX?: number;\n    radiusY?: number;\n    rotationAngle?: number;\n    screenX?: number;\n    screenY?: number;\n    target: EventTarget;\n}\n\ninterface TrackBuffersManagerDebugInfo {\n    bufferSize?: number;\n    evictable?: number;\n    nextGetSampleIndex?: number;\n    nextInsertionIndex?: number;\n    nextSampleTime?: number;\n    numSamples?: number;\n    ranges?: BufferRange[];\n    type?: string;\n}\n\ninterface TrackEventInit extends EventInit {\n    track?: VideoTrack | AudioTrack | TextTrack | null;\n}\n\ninterface TransitionEventInit extends EventInit {\n    elapsedTime?: number;\n    propertyName?: string;\n    pseudoElement?: string;\n}\n\ninterface TreeCellInfo {\n    childElt?: string;\n    col?: TreeColumn | null;\n    row?: number;\n}\n\ninterface TrustedTypePolicyOptions {\n    createHTML?: CreateHTMLCallback;\n    createScript?: CreateScriptCallback;\n    createScriptURL?: CreateScriptURLCallback;\n}\n\ninterface UDPMessageEventInit extends EventInit {\n    data?: any;\n    remoteAddress?: string;\n    remotePort?: number;\n}\n\ninterface UDPOptions {\n    addressReuse?: boolean;\n    localAddress?: string;\n    localPort?: number;\n    loopback?: boolean;\n    remoteAddress?: string;\n    remotePort?: number;\n}\n\ninterface UIEventInit extends EventInit {\n    detail?: number;\n    view?: Window | null;\n}\n\ninterface ULongRange {\n    max?: number;\n    min?: number;\n}\n\ninterface URLPatternComponentResult {\n    groups?: Record<string, string | undefined>;\n    input?: string;\n}\n\ninterface URLPatternInit {\n    baseURL?: string;\n    hash?: string;\n    hostname?: string;\n    password?: string;\n    pathname?: string;\n    port?: string;\n    protocol?: string;\n    search?: string;\n    username?: string;\n}\n\ninterface URLPatternOptions {\n    ignoreCase?: boolean;\n}\n\ninterface URLPatternResult {\n    hash?: URLPatternComponentResult;\n    hostname?: URLPatternComponentResult;\n    inputs?: URLPatternInput[];\n    password?: URLPatternComponentResult;\n    pathname?: URLPatternComponentResult;\n    port?: URLPatternComponentResult;\n    protocol?: URLPatternComponentResult;\n    search?: URLPatternComponentResult;\n    username?: URLPatternComponentResult;\n}\n\ninterface UniFFIScaffoldingCallResult {\n    code: UniFFIScaffoldingCallCode;\n    data?: UniFFIScaffoldingValue;\n}\n\ninterface UserProximityEventInit extends EventInit {\n    near?: boolean;\n}\n\ninterface UtilityActorsDictionary {\n    actorName?: WebIDLUtilityActorName;\n}\n\ninterface VRDisplayEventInit extends EventInit {\n    display: VRDisplay;\n    reason?: VRDisplayEventReason;\n}\n\ninterface VRLayer {\n    leftBounds?: number[] | Float32Array;\n    rightBounds?: number[] | Float32Array;\n    source?: HTMLCanvasElement | null;\n}\n\ninterface ValidityStateFlags {\n    badInput?: boolean;\n    customError?: boolean;\n    patternMismatch?: boolean;\n    rangeOverflow?: boolean;\n    rangeUnderflow?: boolean;\n    stepMismatch?: boolean;\n    tooLong?: boolean;\n    tooShort?: boolean;\n    typeMismatch?: boolean;\n    valueMissing?: boolean;\n}\n\ninterface VideoColorSpaceInit {\n    fullRange?: boolean | null;\n    matrix?: VideoMatrixCoefficients | null;\n    primaries?: VideoColorPrimaries | null;\n    transfer?: VideoTransferCharacteristics | null;\n}\n\ninterface VideoConfiguration {\n    bitrate: number;\n    colorGamut?: ColorGamut;\n    contentType: string;\n    framerate: number;\n    hasAlphaChannel?: boolean;\n    hdrMetadataType?: HdrMetadataType;\n    height: number;\n    scalabilityMode?: string;\n    transferFunction?: TransferFunction;\n    width: number;\n}\n\ninterface VideoDecoderConfig {\n    codec: string;\n    codedHeight?: number;\n    codedWidth?: number;\n    colorSpace?: VideoColorSpaceInit;\n    description?: AllowSharedBufferSource;\n    displayAspectHeight?: number;\n    displayAspectWidth?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    optimizeForLatency?: boolean;\n}\n\ninterface VideoDecoderInit {\n    error: WebCodecsErrorCallback;\n    output: VideoFrameOutputCallback;\n}\n\ninterface VideoDecoderSupport {\n    config?: VideoDecoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoEncoderConfig {\n    alpha?: AlphaOption;\n    avc?: AvcEncoderConfig;\n    bitrate?: number;\n    bitrateMode?: VideoEncoderBitrateMode;\n    codec: string;\n    contentHint?: string;\n    displayHeight?: number;\n    displayWidth?: number;\n    framerate?: number;\n    hardwareAcceleration?: HardwareAcceleration;\n    height: number;\n    latencyMode?: LatencyMode;\n    scalabilityMode?: string;\n    width: number;\n}\n\ninterface VideoEncoderEncodeOptions {\n    avc?: VideoEncoderEncodeOptionsForAvc;\n    keyFrame?: boolean;\n}\n\ninterface VideoEncoderEncodeOptionsForAvc {\n    quantizer?: number | null;\n}\n\ninterface VideoEncoderInit {\n    error: WebCodecsErrorCallback;\n    output: EncodedVideoChunkOutputCallback;\n}\n\ninterface VideoEncoderSupport {\n    config?: VideoEncoderConfig;\n    supported?: boolean;\n}\n\ninterface VideoFrameBufferInit {\n    codedHeight: number;\n    codedWidth: number;\n    colorSpace?: VideoColorSpaceInit;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    format: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    timestamp: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface VideoFrameCallbackMetadata {\n    captureTime?: DOMHighResTimeStamp;\n    expectedDisplayTime: DOMHighResTimeStamp;\n    height: number;\n    mediaTime: number;\n    presentationTime: DOMHighResTimeStamp;\n    presentedFrames: number;\n    processingDuration?: number;\n    receiveTime?: DOMHighResTimeStamp;\n    rtpTimestamp?: number;\n    width: number;\n}\n\ninterface VideoFrameCopyToOptions {\n    colorSpace?: PredefinedColorSpace;\n    format?: VideoPixelFormat;\n    layout?: PlaneLayout[];\n    rect?: DOMRectInit;\n}\n\ninterface VideoFrameInit {\n    alpha?: AlphaOption;\n    displayHeight?: number;\n    displayWidth?: number;\n    duration?: number;\n    timestamp?: number;\n    visibleRect?: DOMRectInit;\n}\n\ninterface VideoSinkDebugInfo {\n    endPromiseHolderIsEmpty?: boolean;\n    finished?: boolean;\n    hasVideo?: boolean;\n    isPlaying?: boolean;\n    isStarted?: boolean;\n    size?: number;\n    videoFrameEndTime?: number;\n    videoSinkEndRequestExists?: boolean;\n}\n\ninterface WaveShaperOptions extends AudioNodeOptions {\n    curve?: number[] | Float32Array;\n    oversample?: OverSampleType;\n}\n\ninterface WebAccessibleResourceInit {\n    extension_ids?: string[] | null;\n    matches?: MatchPatternSetOrStringSequence | null;\n    resources: MatchGlobOrString[];\n}\n\ninterface WebExtensionContentScriptInit extends MozDocumentMatcherInit {\n    cssPaths?: string[];\n    jsPaths?: string[];\n    runAt?: ContentScriptRunAt;\n    world?: ContentScriptExecutionWorld;\n    worldId?: string | null;\n}\n\ninterface WebExtensionInit {\n    allowedOrigins: MatchPatternSetOrStringSequence;\n    backgroundScripts?: string[] | null;\n    backgroundTypeModule?: boolean;\n    backgroundWorkerScript?: string | null;\n    baseURL: string;\n    contentScripts?: WebExtensionContentScriptInit[];\n    extensionPageCSP?: string | null;\n    id: string;\n    ignoreQuarantine?: boolean;\n    isPrivileged?: boolean;\n    localizeCallback: WebExtensionLocalizeCallback;\n    manifestVersion?: number;\n    mozExtensionHostname: string;\n    name?: string;\n    permissions?: string[];\n    readyPromise?: Promise<WebExtensionPolicy | null>;\n    temporarilyInstalled?: boolean;\n    type?: string;\n    webAccessibleResources?: WebAccessibleResourceInit[];\n}\n\ninterface WebGLContextAttributes {\n    alpha?: GLboolean;\n    antialias?: GLboolean;\n    depth?: GLboolean;\n    failIfMajorPerformanceCaveat?: GLboolean;\n    forceSoftwareRendering?: GLboolean;\n    powerPreference?: WebGLPowerPreference;\n    premultipliedAlpha?: GLboolean;\n    preserveDrawingBuffer?: GLboolean;\n    stencil?: GLboolean;\n    xrCompatible?: boolean;\n}\n\ninterface WebGLContextEventInit extends EventInit {\n    statusMessage?: string;\n}\n\ninterface WebTransportCloseInfo {\n    closeCode?: number;\n    reason?: string;\n}\n\ninterface WebTransportDatagramStats {\n    droppedIncoming?: number;\n    expiredOutgoing?: number;\n    lostOutgoing?: number;\n    timestamp?: DOMHighResTimeStamp;\n}\n\ninterface WebTransportErrorInit {\n    message?: string;\n    streamErrorCode?: number;\n}\n\ninterface WebTransportHash {\n    algorithm?: string;\n    value?: BufferSource;\n}\n\ninterface WebTransportOptions {\n    allowPooling?: boolean;\n    congestionControl?: WebTransportCongestionControl;\n    requireUnreliable?: boolean;\n    serverCertificateHashes?: WebTransportHash[];\n}\n\ninterface WebTransportReceiveStreamStats {\n    bytesRead?: number;\n    bytesReceived?: number;\n    timestamp?: DOMHighResTimeStamp;\n}\n\ninterface WebTransportSendStreamOptions {\n    sendOrder?: number | null;\n}\n\ninterface WebTransportSendStreamStats {\n    bytesAcknowledged?: number;\n    bytesSent?: number;\n    bytesWritten?: number;\n    timestamp?: DOMHighResTimeStamp;\n}\n\ninterface WebTransportStats {\n    bytesReceived?: number;\n    bytesSent?: number;\n    datagrams?: WebTransportDatagramStats;\n    minRtt?: DOMHighResTimeStamp;\n    numIncomingStreamsCreated?: number;\n    numOutgoingStreamsCreated?: number;\n    packetsLost?: number;\n    packetsReceived?: number;\n    packetsSent?: number;\n    rttVariation?: DOMHighResTimeStamp;\n    smoothedRtt?: DOMHighResTimeStamp;\n    timestamp?: DOMHighResTimeStamp;\n}\n\ninterface WebrtcGlobalMediaContext {\n    hasAv1: boolean;\n    hasH264Hardware: boolean;\n}\n\ninterface WebrtcGlobalStatisticsReport {\n    reports?: RTCStatsReportInternal[];\n    sdpHistories?: RTCSdpHistoryInternal[];\n}\n\ninterface WheelEventInit extends MouseEventInit {\n    deltaMode?: number;\n    deltaX?: number;\n    deltaY?: number;\n    deltaZ?: number;\n}\n\ninterface WindowActorChildOptions extends WindowActorSidedOptions {\n    events?: Record<string, WindowActorEventListenerOptions>;\n    observers?: string[];\n}\n\ninterface WindowActorEventListenerOptions extends AddEventListenerOptions {\n    createActor?: boolean;\n}\n\ninterface WindowActorOptions {\n    allFrames?: boolean;\n    child?: WindowActorChildOptions;\n    includeChrome?: boolean;\n    matches?: string[];\n    messageManagerGroups?: string[];\n    parent?: WindowActorSidedOptions;\n    remoteTypes?: string[];\n}\n\ninterface WindowActorSidedOptions {\n    esModuleURI?: string;\n}\n\ninterface WindowInfoDictionary {\n    documentTitle?: string;\n    documentURI?: URI | null;\n    isInProcess?: boolean;\n    isProcessRoot?: boolean;\n    outerWindowId?: number;\n}\n\ninterface WindowPostMessageOptions extends StructuredSerializeOptions {\n    targetOrigin?: string;\n}\n\ninterface WindowsFileAttributes {\n    hidden?: boolean;\n    readOnly?: boolean;\n    system?: boolean;\n}\n\ninterface Wireframe {\n    canvasBackground?: number;\n    rects?: WireframeTaggedRect[];\n    version?: number;\n}\n\ninterface WireframeTaggedRect {\n    color?: number;\n    height?: number;\n    node?: Node | null;\n    type?: WireframeRectType;\n    width?: number;\n    x?: number;\n    y?: number;\n}\n\ninterface WorkerOptions {\n    credentials?: RequestCredentials;\n    name?: string;\n    type?: WorkerType;\n}\n\ninterface WorkletOptions {\n    credentials?: RequestCredentials;\n}\n\ninterface WriteOptions {\n    backupFile?: string;\n    compress?: boolean;\n    flush?: boolean;\n    mode?: WriteMode;\n    tmpPath?: string;\n}\n\ninterface WriteParams {\n    data?: BufferSource | Blob | string | null;\n    position?: number | null;\n    size?: number | null;\n    type: WriteCommandType;\n}\n\ninterface XRInputSourceEventInit extends EventInit {\n    frame: XRFrame;\n    inputSource: XRInputSource;\n}\n\ninterface XRInputSourcesChangeEventInit extends EventInit {\n    added: XRInputSource[];\n    removed: XRInputSource[];\n    session: XRSession;\n}\n\ninterface XRReferenceSpaceEventInit extends EventInit {\n    referenceSpace: XRReferenceSpace;\n    transform?: XRRigidTransform | null;\n}\n\ninterface XRRenderStateInit {\n    baseLayer?: XRWebGLLayer | null;\n    depthFar?: number;\n    depthNear?: number;\n    inlineVerticalFieldOfView?: number;\n}\n\ninterface XRSessionEventInit extends EventInit {\n    session: XRSession;\n}\n\ninterface XRSessionInit {\n    optionalFeatures?: string[];\n    requiredFeatures?: string[];\n}\n\ninterface XRWebGLLayerInit {\n    alpha?: boolean;\n    antialias?: boolean;\n    depth?: boolean;\n    framebufferScaleFactor?: number;\n    ignoreDepthValues?: boolean;\n    stencil?: boolean;\n}\n\ninterface addonInstallOptions {\n    hash?: string | null;\n    url: string;\n}\n\ninterface sendAbuseReportOptions {\n    authorization?: string | null;\n}\n\ntype EventListener = ((event: Event) => void) | { handleEvent(event: Event): void; };\n\ntype MessageListener = ((argument: ReceiveMessageArgument) => any) | { receiveMessage(argument: ReceiveMessageArgument): any; };\n\ntype MozDocumentCallback = ((matcher: MozDocumentMatcher, window: WindowProxy) => void) | { onNewDocument(matcher: MozDocumentMatcher, window: WindowProxy): void; };\n\ntype NodeFilter = ((node: Node) => number) | { acceptNode(node: Node): number; };\n\ndeclare var NodeFilter: {\n    readonly FILTER_ACCEPT: 1;\n    readonly FILTER_REJECT: 2;\n    readonly FILTER_SKIP: 3;\n    readonly SHOW_ALL: 0xFFFFFFFF;\n    readonly SHOW_ELEMENT: 0x1;\n    readonly SHOW_ATTRIBUTE: 0x2;\n    readonly SHOW_TEXT: 0x4;\n    readonly SHOW_CDATA_SECTION: 0x8;\n    readonly SHOW_ENTITY_REFERENCE: 0x10;\n    readonly SHOW_ENTITY: 0x20;\n    readonly SHOW_PROCESSING_INSTRUCTION: 0x40;\n    readonly SHOW_COMMENT: 0x80;\n    readonly SHOW_DOCUMENT: 0x100;\n    readonly SHOW_DOCUMENT_TYPE: 0x200;\n    readonly SHOW_DOCUMENT_FRAGMENT: 0x400;\n    readonly SHOW_NOTATION: 0x800;\n};\n\ntype ObserverCallback = ((observer: FetchObserver) => void) | { handleEvent(observer: FetchObserver): void; };\n\ntype UncaughtRejectionObserver = ((p: any) => boolean) | { onLeftUncaught(p: any): boolean; };\n\ntype UniFFICallbackHandler = ((objectHandle: UniFFICallbackObjectHandle, methodIndex: number, ...args: UniFFIScaffoldingValue[]) => Promise<UniFFIScaffoldingCallResult>) | { callAsync(objectHandle: UniFFICallbackObjectHandle, methodIndex: number, ...args: UniFFIScaffoldingValue[]): Promise<UniFFIScaffoldingCallResult>; };\n\ntype XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; };\n\ninterface ANGLE_instanced_arrays {\n    drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void;\n    drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void;\n    vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 0x88FE;\n}\n\ninterface ARIAMixin {\n    ariaActiveDescendantElement: Element | null;\n    ariaAtomic: string | null;\n    ariaAutoComplete: string | null;\n    ariaBrailleLabel: string | null;\n    ariaBrailleRoleDescription: string | null;\n    ariaBusy: string | null;\n    ariaChecked: string | null;\n    ariaColCount: string | null;\n    ariaColIndex: string | null;\n    ariaColIndexText: string | null;\n    ariaColSpan: string | null;\n    ariaControlsElements: Element[] | null;\n    ariaCurrent: string | null;\n    ariaDescribedByElements: Element[] | null;\n    ariaDescription: string | null;\n    ariaDetailsElements: Element[] | null;\n    ariaDisabled: string | null;\n    ariaErrorMessageElements: Element[] | null;\n    ariaExpanded: string | null;\n    ariaFlowToElements: Element[] | null;\n    ariaHasPopup: string | null;\n    ariaHidden: string | null;\n    ariaInvalid: string | null;\n    ariaKeyShortcuts: string | null;\n    ariaLabel: string | null;\n    ariaLabelledByElements: Element[] | null;\n    ariaLevel: string | null;\n    ariaLive: string | null;\n    ariaModal: string | null;\n    ariaMultiLine: string | null;\n    ariaMultiSelectable: string | null;\n    ariaOrientation: string | null;\n    ariaOwnsElements: Element[] | null;\n    ariaPlaceholder: string | null;\n    ariaPosInSet: string | null;\n    ariaPressed: string | null;\n    ariaReadOnly: string | null;\n    ariaRelevant: string | null;\n    ariaRequired: string | null;\n    ariaRoleDescription: string | null;\n    ariaRowCount: string | null;\n    ariaRowIndex: string | null;\n    ariaRowIndexText: string | null;\n    ariaRowSpan: string | null;\n    ariaSelected: string | null;\n    ariaSetSize: string | null;\n    ariaSort: string | null;\n    ariaValueMax: string | null;\n    ariaValueMin: string | null;\n    ariaValueNow: string | null;\n    ariaValueText: string | null;\n    role: string | null;\n}\n\ninterface AbortController {\n    readonly signal: AbortSignal;\n    abort(reason?: any): void;\n}\n\ndeclare var AbortController: {\n    prototype: AbortController;\n    new(): AbortController;\n    isInstance: IsInstance<AbortController>;\n};\n\ninterface AbortSignalEventMap {\n    \"abort\": Event;\n}\n\ninterface AbortSignal extends EventTarget {\n    readonly aborted: boolean;\n    onabort: ((this: AbortSignal, ev: Event) => any) | null;\n    readonly reason: any;\n    throwIfAborted(): void;\n    addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AbortSignal: {\n    prototype: AbortSignal;\n    new(): AbortSignal;\n    isInstance: IsInstance<AbortSignal>;\n    abort(reason?: any): AbortSignal;\n    any(signals: AbortSignal[]): AbortSignal;\n    timeout(milliseconds: number): AbortSignal;\n};\n\ninterface AbstractRange {\n    readonly collapsed: boolean;\n    readonly endContainer: Node;\n    readonly endOffset: number;\n    readonly startContainer: Node;\n    readonly startOffset: number;\n}\n\ndeclare var AbstractRange: {\n    prototype: AbstractRange;\n    new(): AbstractRange;\n    isInstance: IsInstance<AbstractRange>;\n};\n\ninterface AbstractWorkerEventMap {\n    \"error\": Event;\n}\n\ninterface AbstractWorker {\n    onerror: ((this: AbstractWorker, ev: Event) => any) | null;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface AccessibleNode {\n    readonly DOMNode: Node | null;\n    activeDescendant: AccessibleNode | null;\n    atomic: boolean | null;\n    readonly attributes: string[];\n    autocomplete: string | null;\n    busy: boolean | null;\n    checked: string | null;\n    colCount: number | null;\n    colIndex: number | null;\n    colSpan: number | null;\n    readonly computedRole: string;\n    current: string | null;\n    details: AccessibleNode | null;\n    disabled: boolean | null;\n    errorMessage: AccessibleNode | null;\n    expanded: boolean | null;\n    hasPopUp: string | null;\n    hidden: boolean | null;\n    invalid: string | null;\n    keyShortcuts: string | null;\n    label: string | null;\n    level: number | null;\n    live: string | null;\n    modal: boolean | null;\n    multiline: boolean | null;\n    multiselectable: boolean | null;\n    orientation: string | null;\n    placeholder: string | null;\n    posInSet: number | null;\n    pressed: string | null;\n    readOnly: boolean | null;\n    relevant: string | null;\n    required: boolean | null;\n    role: string | null;\n    roleDescription: string | null;\n    rowCount: number | null;\n    rowIndex: number | null;\n    rowSpan: number | null;\n    selected: boolean | null;\n    setSize: number | null;\n    sort: string | null;\n    readonly states: string[];\n    valueMax: number | null;\n    valueMin: number | null;\n    valueNow: number | null;\n    valueText: string | null;\n    get(attribute: string): any;\n    has(...attributes: string[]): boolean;\n    is(...states: string[]): boolean;\n}\n\ndeclare var AccessibleNode: {\n    prototype: AccessibleNode;\n    new(): AccessibleNode;\n    isInstance: IsInstance<AccessibleNode>;\n};\n\ninterface Addon {\n    readonly canUninstall: boolean;\n    readonly description: string;\n    readonly id: string;\n    readonly isActive: boolean;\n    readonly isEnabled: boolean;\n    readonly name: string;\n    readonly type: string;\n    readonly version: string;\n    setEnabled(value: boolean): Promise<void>;\n    uninstall(): Promise<boolean>;\n}\n\ndeclare var Addon: {\n    prototype: Addon;\n    new(): Addon;\n    isInstance: IsInstance<Addon>;\n};\n\ninterface AddonEvent extends Event {\n    readonly id: string;\n}\n\ndeclare var AddonEvent: {\n    prototype: AddonEvent;\n    new(type: string, eventInitDict: AddonEventInit): AddonEvent;\n    isInstance: IsInstance<AddonEvent>;\n};\n\ninterface AddonInstall extends EventTarget {\n    readonly error: string | null;\n    readonly maxProgress: number;\n    readonly progress: number;\n    readonly state: string;\n    cancel(): Promise<void>;\n    install(): Promise<void>;\n}\n\ndeclare var AddonInstall: {\n    prototype: AddonInstall;\n    new(): AddonInstall;\n    isInstance: IsInstance<AddonInstall>;\n};\n\ninterface AddonManager extends EventTarget {\n    createInstall(options?: addonInstallOptions): Promise<AddonInstall>;\n    getAddonByID(id: string): Promise<Addon>;\n    sendAbuseReport(addonId: string, data: Record<string, string | null>, options?: sendAbuseReportOptions): Promise<any>;\n}\n\ndeclare var AddonManager: {\n    prototype: AddonManager;\n    new(): AddonManager;\n    isInstance: IsInstance<AddonManager>;\n};\n\ninterface AnalyserNode extends AudioNode, AudioNodePassThrough {\n    fftSize: number;\n    readonly frequencyBinCount: number;\n    maxDecibels: number;\n    minDecibels: number;\n    smoothingTimeConstant: number;\n    getByteFrequencyData(array: Uint8Array): void;\n    getByteTimeDomainData(array: Uint8Array): void;\n    getFloatFrequencyData(array: Float32Array): void;\n    getFloatTimeDomainData(array: Float32Array): void;\n}\n\ndeclare var AnalyserNode: {\n    prototype: AnalyserNode;\n    new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode;\n    isInstance: IsInstance<AnalyserNode>;\n};\n\ninterface Animatable {\n    animate(keyframes: any, options?: UnrestrictedDoubleOrKeyframeAnimationOptions): Animation;\n    getAnimations(options?: GetAnimationsOptions): Animation[];\n}\n\ninterface AnimationEventMap {\n    \"cancel\": Event;\n    \"finish\": Event;\n    \"remove\": Event;\n}\n\ninterface Animation extends EventTarget {\n    currentTime: number | null;\n    effect: AnimationEffect | null;\n    readonly finished: Promise<Animation>;\n    id: string;\n    readonly isRunningOnCompositor: boolean;\n    oncancel: ((this: Animation, ev: Event) => any) | null;\n    onfinish: ((this: Animation, ev: Event) => any) | null;\n    onremove: ((this: Animation, ev: Event) => any) | null;\n    readonly overallProgress: number | null;\n    readonly pending: boolean;\n    readonly playState: AnimationPlayState;\n    playbackRate: number;\n    readonly ready: Promise<Animation>;\n    readonly replaceState: AnimationReplaceState;\n    startTime: number | null;\n    timeline: AnimationTimeline | null;\n    cancel(): void;\n    commitStyles(): void;\n    finish(): void;\n    pause(): void;\n    persist(): void;\n    play(): void;\n    reverse(): void;\n    updatePlaybackRate(playbackRate: number): void;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Animation: {\n    prototype: Animation;\n    new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation;\n    isInstance: IsInstance<Animation>;\n};\n\ninterface AnimationEffect {\n    getComputedTiming(): ComputedEffectTiming;\n    getTiming(): EffectTiming;\n    updateTiming(timing?: OptionalEffectTiming): void;\n}\n\ndeclare var AnimationEffect: {\n    prototype: AnimationEffect;\n    new(): AnimationEffect;\n    isInstance: IsInstance<AnimationEffect>;\n};\n\ninterface AnimationEvent extends Event {\n    readonly animationName: string;\n    readonly elapsedTime: number;\n    readonly pseudoElement: string;\n}\n\ndeclare var AnimationEvent: {\n    prototype: AnimationEvent;\n    new(type: string, eventInitDict?: AnimationEventInit): AnimationEvent;\n    isInstance: IsInstance<AnimationEvent>;\n};\n\ninterface AnimationFrameProvider {\n    cancelAnimationFrame(handle: number): void;\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n}\n\ninterface AnimationPlaybackEvent extends Event {\n    readonly currentTime: number | null;\n    readonly timelineTime: number | null;\n}\n\ndeclare var AnimationPlaybackEvent: {\n    prototype: AnimationPlaybackEvent;\n    new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent;\n    isInstance: IsInstance<AnimationPlaybackEvent>;\n};\n\ninterface AnimationTimeline {\n    readonly currentTime: number | null;\n}\n\ndeclare var AnimationTimeline: {\n    prototype: AnimationTimeline;\n    new(): AnimationTimeline;\n    isInstance: IsInstance<AnimationTimeline>;\n};\n\ninterface AnonymousContent {\n    readonly root: ShadowRoot;\n}\n\ndeclare var AnonymousContent: {\n    prototype: AnonymousContent;\n    new(): AnonymousContent;\n    isInstance: IsInstance<AnonymousContent>;\n};\n\ninterface Attr extends Node {\n    readonly localName: string;\n    readonly name: string;\n    readonly namespaceURI: string | null;\n    readonly ownerElement: Element | null;\n    readonly prefix: string | null;\n    readonly specified: boolean;\n    value: string;\n}\n\ndeclare var Attr: {\n    prototype: Attr;\n    new(): Attr;\n    isInstance: IsInstance<Attr>;\n};\n\ninterface AudioBuffer {\n    readonly duration: number;\n    readonly length: number;\n    readonly numberOfChannels: number;\n    readonly sampleRate: number;\n    copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void;\n    copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void;\n    getChannelData(channel: number): Float32Array;\n}\n\ndeclare var AudioBuffer: {\n    prototype: AudioBuffer;\n    new(options: AudioBufferOptions): AudioBuffer;\n    isInstance: IsInstance<AudioBuffer>;\n};\n\ninterface AudioBufferSourceNode extends AudioScheduledSourceNode, AudioNodePassThrough {\n    buffer: AudioBuffer | null;\n    readonly detune: AudioParam;\n    loop: boolean;\n    loopEnd: number;\n    loopStart: number;\n    readonly playbackRate: AudioParam;\n    start(when?: number, grainOffset?: number, grainDuration?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioBufferSourceNode: {\n    prototype: AudioBufferSourceNode;\n    new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode;\n    isInstance: IsInstance<AudioBufferSourceNode>;\n};\n\ninterface AudioContext extends BaseAudioContext {\n    readonly baseLatency: number;\n    readonly outputLatency: number;\n    close(): Promise<void>;\n    createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode;\n    createMediaStreamDestination(): MediaStreamAudioDestinationNode;\n    createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode;\n    createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode;\n    getOutputTimestamp(): AudioTimestamp;\n    suspend(): Promise<void>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioContext: {\n    prototype: AudioContext;\n    new(contextOptions?: AudioContextOptions): AudioContext;\n    isInstance: IsInstance<AudioContext>;\n};\n\ninterface AudioData {\n    readonly duration: number;\n    readonly format: AudioSampleFormat | null;\n    readonly numberOfChannels: number;\n    readonly numberOfFrames: number;\n    readonly sampleRate: number;\n    readonly timestamp: number;\n    allocationSize(options: AudioDataCopyToOptions): number;\n    clone(): AudioData;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions): void;\n}\n\ndeclare var AudioData: {\n    prototype: AudioData;\n    new(init: AudioDataInit): AudioData;\n    isInstance: IsInstance<AudioData>;\n};\n\ninterface AudioDecoderEventMap {\n    \"dequeue\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface AudioDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: AudioDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioDecoderConfig): void;\n    decode(chunk: EncodedAudioChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioDecoderEventMap>(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioDecoder: {\n    prototype: AudioDecoder;\n    new(init: AudioDecoderInit): AudioDecoder;\n    isInstance: IsInstance<AudioDecoder>;\n    isConfigSupported(config: AudioDecoderConfig): Promise<AudioDecoderSupport>;\n};\n\ninterface AudioDestinationNode extends AudioNode {\n    readonly maxChannelCount: number;\n}\n\ndeclare var AudioDestinationNode: {\n    prototype: AudioDestinationNode;\n    new(): AudioDestinationNode;\n    isInstance: IsInstance<AudioDestinationNode>;\n};\n\ninterface AudioEncoderEventMap {\n    \"dequeue\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface AudioEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: AudioEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: AudioEncoderConfig): void;\n    encode(data: AudioData): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioEncoderEventMap>(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioEncoder: {\n    prototype: AudioEncoder;\n    new(init: AudioEncoderInit): AudioEncoder;\n    isInstance: IsInstance<AudioEncoder>;\n    isConfigSupported(config: AudioEncoderConfig): Promise<AudioEncoderSupport>;\n};\n\ninterface AudioListener {\n    setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void;\n    setPosition(x: number, y: number, z: number): void;\n}\n\ndeclare var AudioListener: {\n    prototype: AudioListener;\n    new(): AudioListener;\n    isInstance: IsInstance<AudioListener>;\n};\n\ninterface AudioNode extends EventTarget {\n    channelCount: number;\n    channelCountMode: ChannelCountMode;\n    channelInterpretation: ChannelInterpretation;\n    readonly context: BaseAudioContext;\n    readonly id: number;\n    readonly numberOfInputs: number;\n    readonly numberOfOutputs: number;\n    connect(destination: AudioNode, output?: number, input?: number): AudioNode;\n    connect(destination: AudioParam, output?: number): void;\n    disconnect(): void;\n    disconnect(output: number): void;\n    disconnect(destination: AudioNode): void;\n    disconnect(destination: AudioNode, output: number): void;\n    disconnect(destination: AudioNode, output: number, input: number): void;\n    disconnect(destination: AudioParam): void;\n    disconnect(destination: AudioParam, output: number): void;\n}\n\ndeclare var AudioNode: {\n    prototype: AudioNode;\n    new(): AudioNode;\n    isInstance: IsInstance<AudioNode>;\n};\n\ninterface AudioNodePassThrough {\n    passThrough: boolean;\n}\n\ninterface AudioParam {\n    readonly defaultValue: number;\n    readonly isTrackSuspended: boolean;\n    readonly maxValue: number;\n    readonly minValue: number;\n    readonly name: string;\n    readonly parentNodeId: number;\n    value: number;\n    cancelScheduledValues(startTime: number): AudioParam;\n    exponentialRampToValueAtTime(value: number, endTime: number): AudioParam;\n    linearRampToValueAtTime(value: number, endTime: number): AudioParam;\n    setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam;\n    setValueAtTime(value: number, startTime: number): AudioParam;\n    setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam;\n}\n\ndeclare var AudioParam: {\n    prototype: AudioParam;\n    new(): AudioParam;\n    isInstance: IsInstance<AudioParam>;\n};\n\n/** Available only in secure contexts. */\ninterface AudioParamMap {\n    forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void;\n}\n\ndeclare var AudioParamMap: {\n    prototype: AudioParamMap;\n    new(): AudioParamMap;\n    isInstance: IsInstance<AudioParamMap>;\n};\n\ninterface AudioProcessingEvent extends Event {\n    readonly inputBuffer: AudioBuffer;\n    readonly outputBuffer: AudioBuffer;\n    readonly playbackTime: number;\n}\n\ndeclare var AudioProcessingEvent: {\n    prototype: AudioProcessingEvent;\n    new(): AudioProcessingEvent;\n    isInstance: IsInstance<AudioProcessingEvent>;\n};\n\ninterface AudioScheduledSourceNodeEventMap {\n    \"ended\": Event;\n}\n\ninterface AudioScheduledSourceNode extends AudioNode {\n    onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null;\n    start(when?: number): void;\n    stop(when?: number): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioScheduledSourceNode: {\n    prototype: AudioScheduledSourceNode;\n    new(): AudioScheduledSourceNode;\n    isInstance: IsInstance<AudioScheduledSourceNode>;\n};\n\ninterface AudioTrack {\n    enabled: boolean;\n    readonly id: string;\n    readonly kind: string;\n    readonly label: string;\n    readonly language: string;\n}\n\ndeclare var AudioTrack: {\n    prototype: AudioTrack;\n    new(): AudioTrack;\n    isInstance: IsInstance<AudioTrack>;\n};\n\ninterface AudioTrackListEventMap {\n    \"addtrack\": Event;\n    \"change\": Event;\n    \"removetrack\": Event;\n}\n\ninterface AudioTrackList extends EventTarget {\n    readonly length: number;\n    onaddtrack: ((this: AudioTrackList, ev: Event) => any) | null;\n    onchange: ((this: AudioTrackList, ev: Event) => any) | null;\n    onremovetrack: ((this: AudioTrackList, ev: Event) => any) | null;\n    getTrackById(id: string): AudioTrack | null;\n    addEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioTrackListEventMap>(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: AudioTrack;\n}\n\ndeclare var AudioTrackList: {\n    prototype: AudioTrackList;\n    new(): AudioTrackList;\n    isInstance: IsInstance<AudioTrackList>;\n};\n\n/** Available only in secure contexts. */\ninterface AudioWorklet extends Worklet {\n    readonly port: MessagePort;\n}\n\ndeclare var AudioWorklet: {\n    prototype: AudioWorklet;\n    new(): AudioWorklet;\n    isInstance: IsInstance<AudioWorklet>;\n};\n\ninterface AudioWorkletNodeEventMap {\n    \"processorerror\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface AudioWorkletNode extends AudioNode {\n    onprocessorerror: ((this: AudioWorkletNode, ev: Event) => any) | null;\n    readonly parameters: AudioParamMap;\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioWorkletNodeEventMap>(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var AudioWorkletNode: {\n    prototype: AudioWorkletNode;\n    new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;\n    isInstance: IsInstance<AudioWorkletNode>;\n};\n\n/** Available only in secure contexts. */\ninterface AuthenticatorAssertionResponse extends AuthenticatorResponse {\n    readonly authenticatorData: ArrayBuffer;\n    readonly signature: ArrayBuffer;\n    readonly userHandle: ArrayBuffer | null;\n}\n\ndeclare var AuthenticatorAssertionResponse: {\n    prototype: AuthenticatorAssertionResponse;\n    new(): AuthenticatorAssertionResponse;\n    isInstance: IsInstance<AuthenticatorAssertionResponse>;\n};\n\n/** Available only in secure contexts. */\ninterface AuthenticatorAttestationResponse extends AuthenticatorResponse {\n    readonly attestationObject: ArrayBuffer;\n    getAuthenticatorData(): ArrayBuffer;\n    getPublicKey(): ArrayBuffer | null;\n    getPublicKeyAlgorithm(): COSEAlgorithmIdentifier;\n    getTransports(): string[];\n}\n\ndeclare var AuthenticatorAttestationResponse: {\n    prototype: AuthenticatorAttestationResponse;\n    new(): AuthenticatorAttestationResponse;\n    isInstance: IsInstance<AuthenticatorAttestationResponse>;\n};\n\n/** Available only in secure contexts. */\ninterface AuthenticatorResponse {\n    readonly clientDataJSON: ArrayBuffer;\n}\n\ndeclare var AuthenticatorResponse: {\n    prototype: AuthenticatorResponse;\n    new(): AuthenticatorResponse;\n    isInstance: IsInstance<AuthenticatorResponse>;\n};\n\ninterface BarProp {\n    visible: boolean;\n}\n\ndeclare var BarProp: {\n    prototype: BarProp;\n    new(): BarProp;\n    isInstance: IsInstance<BarProp>;\n};\n\ninterface BaseAudioContextEventMap {\n    \"statechange\": Event;\n}\n\ninterface BaseAudioContext extends EventTarget {\n    /** Available only in secure contexts. */\n    readonly audioWorklet: AudioWorklet;\n    readonly currentTime: number;\n    readonly destination: AudioDestinationNode;\n    readonly listener: AudioListener;\n    onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null;\n    readonly sampleRate: number;\n    readonly state: AudioContextState;\n    createAnalyser(): AnalyserNode;\n    createBiquadFilter(): BiquadFilterNode;\n    createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer;\n    createBufferSource(): AudioBufferSourceNode;\n    createChannelMerger(numberOfInputs?: number): ChannelMergerNode;\n    createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode;\n    createConstantSource(): ConstantSourceNode;\n    createConvolver(): ConvolverNode;\n    createDelay(maxDelayTime?: number): DelayNode;\n    createDynamicsCompressor(): DynamicsCompressorNode;\n    createGain(): GainNode;\n    createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;\n    createOscillator(): OscillatorNode;\n    createPanner(): PannerNode;\n    createPeriodicWave(real: number[] | Float32Array, imag: number[] | Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave;\n    createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode;\n    createStereoPanner(): StereoPannerNode;\n    createWaveShaper(): WaveShaperNode;\n    decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise<AudioBuffer>;\n    resume(): Promise<void>;\n    addEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BaseAudioContextEventMap>(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BaseAudioContext: {\n    prototype: BaseAudioContext;\n    new(): BaseAudioContext;\n    isInstance: IsInstance<BaseAudioContext>;\n};\n\ninterface BatteryManagerEventMap {\n    \"chargingchange\": Event;\n    \"chargingtimechange\": Event;\n    \"dischargingtimechange\": Event;\n    \"levelchange\": Event;\n}\n\ninterface BatteryManager extends EventTarget {\n    readonly charging: boolean;\n    readonly chargingTime: number;\n    readonly dischargingTime: number;\n    readonly level: number;\n    onchargingchange: ((this: BatteryManager, ev: Event) => any) | null;\n    onchargingtimechange: ((this: BatteryManager, ev: Event) => any) | null;\n    ondischargingtimechange: ((this: BatteryManager, ev: Event) => any) | null;\n    onlevelchange: ((this: BatteryManager, ev: Event) => any) | null;\n    addEventListener<K extends keyof BatteryManagerEventMap>(type: K, listener: (this: BatteryManager, ev: BatteryManagerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BatteryManagerEventMap>(type: K, listener: (this: BatteryManager, ev: BatteryManagerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BatteryManager: {\n    prototype: BatteryManager;\n    new(): BatteryManager;\n    isInstance: IsInstance<BatteryManager>;\n};\n\n// @ts-ignore\ninterface BeforeUnloadEvent extends Event {\n    returnValue: string;\n}\n\ndeclare var BeforeUnloadEvent: {\n    prototype: BeforeUnloadEvent;\n    new(): BeforeUnloadEvent;\n    isInstance: IsInstance<BeforeUnloadEvent>;\n};\n\ninterface BiquadFilterNode extends AudioNode, AudioNodePassThrough {\n    readonly Q: AudioParam;\n    readonly detune: AudioParam;\n    readonly frequency: AudioParam;\n    readonly gain: AudioParam;\n    type: BiquadFilterType;\n    getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;\n}\n\ndeclare var BiquadFilterNode: {\n    prototype: BiquadFilterNode;\n    new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode;\n    isInstance: IsInstance<BiquadFilterNode>;\n};\n\ninterface Blob {\n    readonly blobImplType: string;\n    readonly size: number;\n    readonly type: string;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    bytes(): Promise<Uint8Array>;\n    slice(start?: number, end?: number, contentType?: string): Blob;\n    stream(): ReadableStream;\n    text(): Promise<string>;\n}\n\ndeclare var Blob: {\n    prototype: Blob;\n    new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob;\n    isInstance: IsInstance<Blob>;\n};\n\ninterface BlobEvent extends Event {\n    readonly data: Blob;\n}\n\ndeclare var BlobEvent: {\n    prototype: BlobEvent;\n    new(type: string, eventInitDict: BlobEventInit): BlobEvent;\n    isInstance: IsInstance<BlobEvent>;\n};\n\ninterface Body {\n    readonly bodyUsed: boolean;\n    arrayBuffer(): Promise<ArrayBuffer>;\n    blob(): Promise<Blob>;\n    bytes(): Promise<Uint8Array>;\n    formData(): Promise<FormData>;\n    json(): Promise<JSON>;\n    text(): Promise<string>;\n}\n\ninterface BroadcastChannelEventMap {\n    \"message\": Event;\n    \"messageerror\": Event;\n}\n\ninterface BroadcastChannel extends EventTarget {\n    readonly name: string;\n    onmessage: ((this: BroadcastChannel, ev: Event) => any) | null;\n    onmessageerror: ((this: BroadcastChannel, ev: Event) => any) | null;\n    close(): void;\n    postMessage(message: any): void;\n    addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var BroadcastChannel: {\n    prototype: BroadcastChannel;\n    new(channel: string): BroadcastChannel;\n    isInstance: IsInstance<BroadcastChannel>;\n    unpartitionedTestingChannel(channel: string): BroadcastChannel;\n};\n\ninterface BrowsingContext extends LoadContextMixin {\n    allowJavascript: boolean;\n    readonly ancestorsAreCurrent: boolean;\n    authorStyleDisabledDefault: boolean;\n    browserId: number;\n    readonly childOffset: number;\n    readonly childSessionHistory: ChildSHistory | null;\n    readonly children: BrowsingContext[];\n    readonly createdDynamically: boolean;\n    readonly currentWindowContext: WindowContext | null;\n    customPlatform: string;\n    customUserAgent: string;\n    defaultLoadFlags: number;\n    displayMode: DisplayMode;\n    readonly docShell: nsIDocShell | null;\n    readonly embedderElement: Element | null;\n    readonly embedderElementType: string;\n    forceDesktopViewport: boolean;\n    forceOffline: boolean;\n    forcedColorsOverride: ForcedColorsOverride;\n    fullZoom: number;\n    readonly group: BrowsingContextGroup;\n    hasSiblings: boolean;\n    readonly historyID: any;\n    readonly id: number;\n    inRDMPane: boolean;\n    readonly isActive: boolean;\n    isAppTab: boolean;\n    readonly isDiscarded: boolean;\n    readonly isInBFCache: boolean;\n    mediumOverride: string;\n    readonly name: string;\n    readonly opener: BrowsingContext | null;\n    overrideDPPX: number;\n    readonly parent: BrowsingContext | null;\n    readonly parentWindowContext: WindowContext | null;\n    prefersColorSchemeOverride: PrefersColorSchemeOverride;\n    sandboxFlags: number;\n    serviceWorkersTestingEnabled: boolean;\n    suspendMediaWhenInactive: boolean;\n    readonly targetTopLevelLinkClicksToBlank: boolean;\n    textZoom: number;\n    readonly top: BrowsingContext;\n    readonly topWindowContext: WindowContext | null;\n    readonly touchEventsOverride: TouchEventsOverride;\n    useGlobalHistory: boolean;\n    watchedByDevTools: boolean;\n    readonly window: WindowProxy | null;\n    getAllBrowsingContextsInSubtree(): BrowsingContext[];\n    resetNavigationRateLimit(): void;\n    setGeolocationServiceOverride(position?: nsIDOMGeoPosition): void;\n    setRDMPaneMaxTouchPoints(maxTouchPoints: number): void;\n    setRDMPaneOrientation(type: OrientationType, rotationAngle: number): void;\n}\n\ndeclare var BrowsingContext: {\n    prototype: BrowsingContext;\n    new(): BrowsingContext;\n    isInstance: IsInstance<BrowsingContext>;\n    get(aId: number): BrowsingContext | null;\n    getCurrentTopByBrowserId(aId: number): BrowsingContext | null;\n    getFromWindow(window: WindowProxy): BrowsingContext | null;\n};\n\ninterface BrowsingContextGroup {\n    readonly id: number;\n    getToplevels(): BrowsingContext[];\n}\n\ndeclare var BrowsingContextGroup: {\n    prototype: BrowsingContextGroup;\n    new(): BrowsingContextGroup;\n    isInstance: IsInstance<BrowsingContextGroup>;\n};\n\ninterface BufferSource {\n}\n\ninterface ByteLengthQueuingStrategy {\n    readonly highWaterMark: number;\n    readonly size: Function;\n}\n\ndeclare var ByteLengthQueuingStrategy: {\n    prototype: ByteLengthQueuingStrategy;\n    new(init: QueuingStrategyInit): ByteLengthQueuingStrategy;\n    isInstance: IsInstance<ByteLengthQueuingStrategy>;\n};\n\ninterface CDATASection extends Text {\n}\n\ndeclare var CDATASection: {\n    prototype: CDATASection;\n    new(): CDATASection;\n    isInstance: IsInstance<CDATASection>;\n};\n\ninterface CSPViolationReportBody extends ReportBody {\n    readonly blockedURL: string | null;\n    readonly columnNumber: number | null;\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    readonly documentURL: string;\n    readonly effectiveDirective: string;\n    readonly lineNumber: number | null;\n    readonly originalPolicy: string;\n    readonly referrer: string | null;\n    readonly sample: string | null;\n    readonly sourceFile: string | null;\n    readonly statusCode: number;\n    toJSON(): any;\n}\n\ndeclare var CSPViolationReportBody: {\n    prototype: CSPViolationReportBody;\n    new(): CSPViolationReportBody;\n    isInstance: IsInstance<CSPViolationReportBody>;\n};\n\ninterface CSSAnimation extends Animation {\n    readonly animationName: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSAnimation, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CSSAnimation: {\n    prototype: CSSAnimation;\n    new(): CSSAnimation;\n    isInstance: IsInstance<CSSAnimation>;\n};\n\ninterface CSSConditionRule extends CSSGroupingRule {\n    readonly conditionText: string;\n}\n\ndeclare var CSSConditionRule: {\n    prototype: CSSConditionRule;\n    new(): CSSConditionRule;\n    isInstance: IsInstance<CSSConditionRule>;\n};\n\ninterface CSSContainerRule extends CSSConditionRule {\n    readonly containerName: string;\n    readonly containerQuery: string;\n    queryContainerFor(element: Element): Element | null;\n}\n\ndeclare var CSSContainerRule: {\n    prototype: CSSContainerRule;\n    new(): CSSContainerRule;\n    isInstance: IsInstance<CSSContainerRule>;\n};\n\ninterface CSSCounterStyleRule extends CSSRule {\n    additiveSymbols: string;\n    fallback: string;\n    name: string;\n    negative: string;\n    pad: string;\n    prefix: string;\n    range: string;\n    speakAs: string;\n    suffix: string;\n    symbols: string;\n    system: string;\n}\n\ndeclare var CSSCounterStyleRule: {\n    prototype: CSSCounterStyleRule;\n    new(): CSSCounterStyleRule;\n    isInstance: IsInstance<CSSCounterStyleRule>;\n};\n\ninterface CSSCustomPropertyRegisteredEvent extends Event {\n    readonly propertyDefinition: InspectorCSSPropertyDefinition;\n}\n\ndeclare var CSSCustomPropertyRegisteredEvent: {\n    prototype: CSSCustomPropertyRegisteredEvent;\n    new(type: string, eventInitDict?: CSSCustomPropertyRegisteredEventInit): CSSCustomPropertyRegisteredEvent;\n    isInstance: IsInstance<CSSCustomPropertyRegisteredEvent>;\n};\n\ninterface CSSFontFaceRule extends CSSRule {\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSFontFaceRule: {\n    prototype: CSSFontFaceRule;\n    new(): CSSFontFaceRule;\n    isInstance: IsInstance<CSSFontFaceRule>;\n};\n\ninterface CSSFontFeatureValuesRule extends CSSRule {\n    fontFamily: string;\n    valueText: string;\n}\n\ndeclare var CSSFontFeatureValuesRule: {\n    prototype: CSSFontFeatureValuesRule;\n    new(): CSSFontFeatureValuesRule;\n    isInstance: IsInstance<CSSFontFeatureValuesRule>;\n};\n\ninterface CSSFontPaletteValuesRule extends CSSRule {\n    readonly basePalette: string;\n    readonly fontFamily: string;\n    readonly name: string;\n    readonly overrideColors: string;\n}\n\ndeclare var CSSFontPaletteValuesRule: {\n    prototype: CSSFontPaletteValuesRule;\n    new(): CSSFontPaletteValuesRule;\n    isInstance: IsInstance<CSSFontPaletteValuesRule>;\n};\n\ninterface CSSGroupingRule extends CSSRule {\n    readonly cssRules: CSSRuleList;\n    deleteRule(index: number): void;\n    insertRule(rule: string, index?: number): number;\n}\n\ndeclare var CSSGroupingRule: {\n    prototype: CSSGroupingRule;\n    new(): CSSGroupingRule;\n    isInstance: IsInstance<CSSGroupingRule>;\n};\n\ninterface CSSImportRule extends CSSRule {\n    readonly href: string;\n    readonly layerName: string | null;\n    readonly media: MediaList | null;\n    readonly styleSheet: CSSStyleSheet | null;\n    readonly supportsText: string | null;\n}\n\ndeclare var CSSImportRule: {\n    prototype: CSSImportRule;\n    new(): CSSImportRule;\n    isInstance: IsInstance<CSSImportRule>;\n};\n\ninterface CSSKeyframeRule extends CSSRule {\n    keyText: string;\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSKeyframeRule: {\n    prototype: CSSKeyframeRule;\n    new(): CSSKeyframeRule;\n    isInstance: IsInstance<CSSKeyframeRule>;\n};\n\ninterface CSSKeyframesRule extends CSSRule {\n    readonly cssRules: CSSRuleList;\n    readonly length: number;\n    name: string;\n    appendRule(rule: string): void;\n    deleteRule(select: string): void;\n    findRule(select: string): CSSKeyframeRule | null;\n    [index: number]: CSSKeyframeRule;\n}\n\ndeclare var CSSKeyframesRule: {\n    prototype: CSSKeyframesRule;\n    new(): CSSKeyframesRule;\n    isInstance: IsInstance<CSSKeyframesRule>;\n};\n\ninterface CSSLayerBlockRule extends CSSGroupingRule {\n    readonly name: string;\n}\n\ndeclare var CSSLayerBlockRule: {\n    prototype: CSSLayerBlockRule;\n    new(): CSSLayerBlockRule;\n    isInstance: IsInstance<CSSLayerBlockRule>;\n};\n\ninterface CSSLayerStatementRule extends CSSRule {\n    readonly nameList: string[];\n}\n\ndeclare var CSSLayerStatementRule: {\n    prototype: CSSLayerStatementRule;\n    new(): CSSLayerStatementRule;\n    isInstance: IsInstance<CSSLayerStatementRule>;\n};\n\ninterface CSSMarginRule extends CSSRule {\n    readonly name: string;\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSMarginRule: {\n    prototype: CSSMarginRule;\n    new(): CSSMarginRule;\n    isInstance: IsInstance<CSSMarginRule>;\n};\n\ninterface CSSMediaRule extends CSSConditionRule {\n    readonly media: MediaList;\n}\n\ndeclare var CSSMediaRule: {\n    prototype: CSSMediaRule;\n    new(): CSSMediaRule;\n    isInstance: IsInstance<CSSMediaRule>;\n};\n\ninterface CSSMozDocumentRule extends CSSConditionRule {\n}\n\ndeclare var CSSMozDocumentRule: {\n    prototype: CSSMozDocumentRule;\n    new(): CSSMozDocumentRule;\n    isInstance: IsInstance<CSSMozDocumentRule>;\n};\n\ninterface CSSNamespaceRule extends CSSRule {\n    readonly namespaceURI: string;\n    readonly prefix: string;\n}\n\ndeclare var CSSNamespaceRule: {\n    prototype: CSSNamespaceRule;\n    new(): CSSNamespaceRule;\n    isInstance: IsInstance<CSSNamespaceRule>;\n};\n\ninterface CSSNestedDeclarations extends CSSRule {\n    readonly style: CSSStyleDeclaration;\n}\n\ndeclare var CSSNestedDeclarations: {\n    prototype: CSSNestedDeclarations;\n    new(): CSSNestedDeclarations;\n    isInstance: IsInstance<CSSNestedDeclarations>;\n};\n\ninterface CSSPageDescriptors {\n}\n\ninterface CSSPageRule extends CSSGroupingRule {\n    selectorText: string;\n    readonly style: CSSPageDescriptors;\n}\n\ndeclare var CSSPageRule: {\n    prototype: CSSPageRule;\n    new(): CSSPageRule;\n    isInstance: IsInstance<CSSPageRule>;\n};\n\ninterface CSSPositionTryDescriptors {\n}\n\ninterface CSSPositionTryRule extends CSSRule {\n    readonly name: string;\n    readonly style: CSSPositionTryDescriptors;\n}\n\ndeclare var CSSPositionTryRule: {\n    prototype: CSSPositionTryRule;\n    new(): CSSPositionTryRule;\n    isInstance: IsInstance<CSSPositionTryRule>;\n};\n\ninterface CSSPropertyRule extends CSSRule {\n    readonly inherits: boolean;\n    readonly initialValue: string | null;\n    readonly name: string;\n    readonly syntax: string;\n}\n\ndeclare var CSSPropertyRule: {\n    prototype: CSSPropertyRule;\n    new(): CSSPropertyRule;\n    isInstance: IsInstance<CSSPropertyRule>;\n};\n\ninterface CSSPseudoElement {\n    readonly element: Element;\n    readonly type: string;\n}\n\ndeclare var CSSPseudoElement: {\n    prototype: CSSPseudoElement;\n    new(): CSSPseudoElement;\n    isInstance: IsInstance<CSSPseudoElement>;\n};\n\ninterface CSSRule {\n    cssText: string;\n    readonly parentRule: CSSRule | null;\n    readonly parentStyleSheet: CSSStyleSheet | null;\n    readonly type: number;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly SUPPORTS_RULE: 12;\n    readonly DOCUMENT_RULE: 13;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n}\n\ndeclare var CSSRule: {\n    prototype: CSSRule;\n    new(): CSSRule;\n    readonly STYLE_RULE: 1;\n    readonly CHARSET_RULE: 2;\n    readonly IMPORT_RULE: 3;\n    readonly MEDIA_RULE: 4;\n    readonly FONT_FACE_RULE: 5;\n    readonly PAGE_RULE: 6;\n    readonly NAMESPACE_RULE: 10;\n    readonly KEYFRAMES_RULE: 7;\n    readonly KEYFRAME_RULE: 8;\n    readonly COUNTER_STYLE_RULE: 11;\n    readonly SUPPORTS_RULE: 12;\n    readonly DOCUMENT_RULE: 13;\n    readonly FONT_FEATURE_VALUES_RULE: 14;\n    isInstance: IsInstance<CSSRule>;\n};\n\ninterface CSSRuleList {\n    readonly length: number;\n    item(index: number): CSSRule | null;\n    [index: number]: CSSRule;\n}\n\ndeclare var CSSRuleList: {\n    prototype: CSSRuleList;\n    new(): CSSRuleList;\n    isInstance: IsInstance<CSSRuleList>;\n};\n\ninterface CSSScopeRule extends CSSGroupingRule {\n    readonly end: string | null;\n    readonly start: string | null;\n}\n\ndeclare var CSSScopeRule: {\n    prototype: CSSScopeRule;\n    new(): CSSScopeRule;\n    isInstance: IsInstance<CSSScopeRule>;\n};\n\ninterface CSSStartingStyleRule extends CSSGroupingRule {\n}\n\ndeclare var CSSStartingStyleRule: {\n    prototype: CSSStartingStyleRule;\n    new(): CSSStartingStyleRule;\n    isInstance: IsInstance<CSSStartingStyleRule>;\n};\n\ninterface CSSStyleDeclaration {\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/accent-color) */\n    accentColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-content) */\n    alignContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-items) */\n    alignItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-self) */\n    alignSelf: string;\n    alignmentBaseline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/all) */\n    all: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation) */\n    animation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-composition) */\n    animationComposition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-delay) */\n    animationDelay: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-direction) */\n    animationDirection: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-duration) */\n    animationDuration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode) */\n    animationFillMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count) */\n    animationIterationCount: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-name) */\n    animationName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-play-state) */\n    animationPlayState: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-timing-function) */\n    animationTimingFunction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/appearance) */\n    appearance: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/aspect-ratio) */\n    aspectRatio: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backdrop-filter) */\n    backdropFilter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backface-visibility) */\n    backfaceVisibility: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background) */\n    background: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-attachment) */\n    backgroundAttachment: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-blend-mode) */\n    backgroundBlendMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-clip) */\n    backgroundClip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-color) */\n    backgroundColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-image) */\n    backgroundImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-origin) */\n    backgroundOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position) */\n    backgroundPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position-x) */\n    backgroundPositionX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-position-y) */\n    backgroundPositionY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-repeat) */\n    backgroundRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-size) */\n    backgroundSize: string;\n    baselineShift: string;\n    baselineSource: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/block-size) */\n    blockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border) */\n    border: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block) */\n    borderBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-color) */\n    borderBlockColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end) */\n    borderBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-color) */\n    borderBlockEndColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-style) */\n    borderBlockEndStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-end-width) */\n    borderBlockEndWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start) */\n    borderBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-color) */\n    borderBlockStartColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-style) */\n    borderBlockStartStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-start-width) */\n    borderBlockStartWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-style) */\n    borderBlockStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-block-width) */\n    borderBlockWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom) */\n    borderBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-color) */\n    borderBottomColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius) */\n    borderBottomLeftRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius) */\n    borderBottomRightRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-style) */\n    borderBottomStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-width) */\n    borderBottomWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-collapse) */\n    borderCollapse: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-color) */\n    borderColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius) */\n    borderEndEndRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius) */\n    borderEndStartRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image) */\n    borderImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-outset) */\n    borderImageOutset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-repeat) */\n    borderImageRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-slice) */\n    borderImageSlice: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-source) */\n    borderImageSource: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-image-width) */\n    borderImageWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline) */\n    borderInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-color) */\n    borderInlineColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end) */\n    borderInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color) */\n    borderInlineEndColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style) */\n    borderInlineEndStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width) */\n    borderInlineEndWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start) */\n    borderInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color) */\n    borderInlineStartColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style) */\n    borderInlineStartStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width) */\n    borderInlineStartWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-style) */\n    borderInlineStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-inline-width) */\n    borderInlineWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left) */\n    borderLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-color) */\n    borderLeftColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-style) */\n    borderLeftStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-left-width) */\n    borderLeftWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-radius) */\n    borderRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right) */\n    borderRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-color) */\n    borderRightColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-style) */\n    borderRightStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-right-width) */\n    borderRightWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-spacing) */\n    borderSpacing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius) */\n    borderStartEndRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius) */\n    borderStartStartRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-style) */\n    borderStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top) */\n    borderTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-color) */\n    borderTopColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius) */\n    borderTopLeftRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius) */\n    borderTopRightRadius: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-style) */\n    borderTopStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-width) */\n    borderTopWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-width) */\n    borderWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/bottom) */\n    bottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-shadow) */\n    boxShadow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-sizing) */\n    boxSizing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-after) */\n    breakAfter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-before) */\n    breakBefore: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/break-inside) */\n    breakInside: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/caption-side) */\n    captionSide: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/caret-color) */\n    caretColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clear) */\n    clear: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clip)\n     */\n    clip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clip-path) */\n    clipPath: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/clip-rule) */\n    clipRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color) */\n    color: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color-interpolation) */\n    colorInterpolation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color-interpolation-filters) */\n    colorInterpolationFilters: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/color-scheme) */\n    colorScheme: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-count) */\n    columnCount: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-fill) */\n    columnFill: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-gap) */\n    columnGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule) */\n    columnRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-color) */\n    columnRuleColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-style) */\n    columnRuleStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-rule-width) */\n    columnRuleWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-span) */\n    columnSpan: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/column-width) */\n    columnWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/columns) */\n    columns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain) */\n    contain: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-block-size) */\n    containIntrinsicBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height) */\n    containIntrinsicHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-inline-size) */\n    containIntrinsicInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size) */\n    containIntrinsicSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-width) */\n    containIntrinsicWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container) */\n    container: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container-name) */\n    containerName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/container-type) */\n    containerType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/content) */\n    content: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/content-visibility) */\n    contentVisibility: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-increment) */\n    counterIncrement: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-reset) */\n    counterReset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/counter-set) */\n    counterSet: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/cssFloat) */\n    cssFloat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/cssText) */\n    cssText: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/cursor) */\n    cursor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/cx) */\n    cx: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/cy) */\n    cy: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/d) */\n    d: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/direction) */\n    direction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/display) */\n    display: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/dominant-baseline) */\n    dominantBaseline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/empty-cells) */\n    emptyCells: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/fill) */\n    fill: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/fill-opacity) */\n    fillOpacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/fill-rule) */\n    fillRule: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/filter) */\n    filter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex) */\n    flex: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-basis) */\n    flexBasis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-direction) */\n    flexDirection: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-flow) */\n    flexFlow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-grow) */\n    flexGrow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-shrink) */\n    flexShrink: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-wrap) */\n    flexWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/float) */\n    float: string;\n    floodColor: string;\n    floodOpacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font) */\n    font: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-family) */\n    fontFamily: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-feature-settings) */\n    fontFeatureSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-kerning) */\n    fontKerning: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing) */\n    fontOpticalSizing: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-palette) */\n    fontPalette: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-size) */\n    fontSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-size-adjust) */\n    fontSizeAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-stretch) */\n    fontStretch: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-style) */\n    fontStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis) */\n    fontSynthesis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-small-caps) */\n    fontSynthesisSmallCaps: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-style) */\n    fontSynthesisStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-synthesis-weight) */\n    fontSynthesisWeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant) */\n    fontVariant: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates) */\n    fontVariantAlternates: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-caps) */\n    fontVariantCaps: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian) */\n    fontVariantEastAsian: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures) */\n    fontVariantLigatures: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric) */\n    fontVariantNumeric: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variant-position) */\n    fontVariantPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-variation-settings) */\n    fontVariationSettings: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/font-weight) */\n    fontWeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust) */\n    forcedColorAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/gap) */\n    gap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid) */\n    grid: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-area) */\n    gridArea: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns) */\n    gridAutoColumns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow) */\n    gridAutoFlow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows) */\n    gridAutoRows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column) */\n    gridColumn: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column-end) */\n    gridColumnEnd: string;\n    /** @deprecated This is a legacy alias of `columnGap`. */\n    gridColumnGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-column-start) */\n    gridColumnStart: string;\n    /** @deprecated This is a legacy alias of `gap`. */\n    gridGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row) */\n    gridRow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row-end) */\n    gridRowEnd: string;\n    /** @deprecated This is a legacy alias of `rowGap`. */\n    gridRowGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-row-start) */\n    gridRowStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template) */\n    gridTemplate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-areas) */\n    gridTemplateAreas: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-columns) */\n    gridTemplateColumns: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/grid-template-rows) */\n    gridTemplateRows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/height) */\n    height: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/hyphenate-character) */\n    hyphenateCharacter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/hyphens) */\n    hyphens: string;\n    /**\n     * @deprecated\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/image-orientation)\n     */\n    imageOrientation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/image-rendering) */\n    imageRendering: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inline-size) */\n    inlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset) */\n    inset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block) */\n    insetBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block-end) */\n    insetBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-block-start) */\n    insetBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline) */\n    insetInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline-end) */\n    insetInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/inset-inline-start) */\n    insetInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/isolation) */\n    isolation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-content) */\n    justifyContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-items) */\n    justifyItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-self) */\n    justifySelf: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/left) */\n    left: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/length) */\n    readonly length: number;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/letter-spacing) */\n    letterSpacing: string;\n    lightingColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/line-break) */\n    lineBreak: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/line-height) */\n    lineHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style) */\n    listStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-image) */\n    listStyleImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-position) */\n    listStylePosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/list-style-type) */\n    listStyleType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin) */\n    margin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block) */\n    marginBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block-end) */\n    marginBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-block-start) */\n    marginBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-bottom) */\n    marginBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline) */\n    marginInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline-end) */\n    marginInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-inline-start) */\n    marginInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-left) */\n    marginLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-right) */\n    marginRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/margin-top) */\n    marginTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/marker) */\n    marker: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/marker-end) */\n    markerEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/marker-mid) */\n    markerMid: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/marker-start) */\n    markerStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask) */\n    mask: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-clip) */\n    maskClip: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-composite) */\n    maskComposite: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-image) */\n    maskImage: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-mode) */\n    maskMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-origin) */\n    maskOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-position) */\n    maskPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-repeat) */\n    maskRepeat: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-size) */\n    maskSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-type) */\n    maskType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/math-depth) */\n    mathDepth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/math-style) */\n    mathStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-block-size) */\n    maxBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-height) */\n    maxHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-inline-size) */\n    maxInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/max-width) */\n    maxWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-block-size) */\n    minBlockSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-height) */\n    minHeight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-inline-size) */\n    minInlineSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/min-width) */\n    minWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode) */\n    mixBlendMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/object-fit) */\n    objectFit: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/object-position) */\n    objectPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset) */\n    offset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-anchor) */\n    offsetAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-distance) */\n    offsetDistance: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-path) */\n    offsetPath: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-position) */\n    offsetPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/offset-rotate) */\n    offsetRotate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/opacity) */\n    opacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/order) */\n    order: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/orphans) */\n    orphans: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline) */\n    outline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-color) */\n    outlineColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-offset) */\n    outlineOffset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-style) */\n    outlineStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/outline-width) */\n    outlineWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow) */\n    overflow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-anchor) */\n    overflowAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin) */\n    overflowClipMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-wrap) */\n    overflowWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-x) */\n    overflowX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overflow-y) */\n    overflowY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior) */\n    overscrollBehavior: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block) */\n    overscrollBehaviorBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline) */\n    overscrollBehaviorInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x) */\n    overscrollBehaviorX: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y) */\n    overscrollBehaviorY: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding) */\n    padding: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block) */\n    paddingBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block-end) */\n    paddingBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-block-start) */\n    paddingBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-bottom) */\n    paddingBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline) */\n    paddingInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline-end) */\n    paddingInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-inline-start) */\n    paddingInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-left) */\n    paddingLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-right) */\n    paddingRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/padding-top) */\n    paddingTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page) */\n    page: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-after) */\n    pageBreakAfter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-before) */\n    pageBreakBefore: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/page-break-inside) */\n    pageBreakInside: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/paint-order) */\n    paintOrder: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/parentRule) */\n    readonly parentRule: CSSRule | null;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective) */\n    perspective: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective-origin) */\n    perspectiveOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-content) */\n    placeContent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-items) */\n    placeItems: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/place-self) */\n    placeSelf: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/pointer-events) */\n    pointerEvents: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/position) */\n    position: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/print-color-adjust) */\n    printColorAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/quotes) */\n    quotes: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/r) */\n    r: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/resize) */\n    resize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/right) */\n    right: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/rotate) */\n    rotate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/row-gap) */\n    rowGap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/ruby-align) */\n    rubyAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/ruby-position) */\n    rubyPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/rx) */\n    rx: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/ry) */\n    ry: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scale) */\n    scale: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-behavior) */\n    scrollBehavior: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin) */\n    scrollMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block) */\n    scrollMarginBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end) */\n    scrollMarginBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start) */\n    scrollMarginBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom) */\n    scrollMarginBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline) */\n    scrollMarginInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end) */\n    scrollMarginInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start) */\n    scrollMarginInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left) */\n    scrollMarginLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right) */\n    scrollMarginRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top) */\n    scrollMarginTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding) */\n    scrollPadding: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block) */\n    scrollPaddingBlock: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end) */\n    scrollPaddingBlockEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start) */\n    scrollPaddingBlockStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom) */\n    scrollPaddingBottom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline) */\n    scrollPaddingInline: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end) */\n    scrollPaddingInlineEnd: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start) */\n    scrollPaddingInlineStart: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left) */\n    scrollPaddingLeft: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right) */\n    scrollPaddingRight: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top) */\n    scrollPaddingTop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align) */\n    scrollSnapAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop) */\n    scrollSnapStop: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type) */\n    scrollSnapType: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-color) */\n    scrollbarColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter) */\n    scrollbarGutter: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/scrollbar-width) */\n    scrollbarWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold) */\n    shapeImageThreshold: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-margin) */\n    shapeMargin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-outside) */\n    shapeOutside: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/shape-rendering) */\n    shapeRendering: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stop-color) */\n    stopColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stop-opacity) */\n    stopOpacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke) */\n    stroke: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-dasharray) */\n    strokeDasharray: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-dashoffset) */\n    strokeDashoffset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-linecap) */\n    strokeLinecap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-linejoin) */\n    strokeLinejoin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-miterlimit) */\n    strokeMiterlimit: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-opacity) */\n    strokeOpacity: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/stroke-width) */\n    strokeWidth: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/tab-size) */\n    tabSize: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/table-layout) */\n    tableLayout: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-align) */\n    textAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-align-last) */\n    textAlignLast: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-anchor) */\n    textAnchor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-combine-upright) */\n    textCombineUpright: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration) */\n    textDecoration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-color) */\n    textDecorationColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-line) */\n    textDecorationLine: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink) */\n    textDecorationSkipInk: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-style) */\n    textDecorationStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness) */\n    textDecorationThickness: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis) */\n    textEmphasis: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color) */\n    textEmphasisColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position) */\n    textEmphasisPosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style) */\n    textEmphasisStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-indent) */\n    textIndent: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-orientation) */\n    textOrientation: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-overflow) */\n    textOverflow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-rendering) */\n    textRendering: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-shadow) */\n    textShadow: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-transform) */\n    textTransform: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-underline-offset) */\n    textUnderlineOffset: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-underline-position) */\n    textUnderlinePosition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap) */\n    textWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap-mode) */\n    textWrapMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap-style) */\n    textWrapStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/top) */\n    top: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/touch-action) */\n    touchAction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform) */\n    transform: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-box) */\n    transformBox: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-origin) */\n    transformOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-style) */\n    transformStyle: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition) */\n    transition: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-behavior) */\n    transitionBehavior: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-delay) */\n    transitionDelay: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-duration) */\n    transitionDuration: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-property) */\n    transitionProperty: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-timing-function) */\n    transitionTimingFunction: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/translate) */\n    translate: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/unicode-bidi) */\n    unicodeBidi: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/user-select) */\n    userSelect: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/vector-effect) */\n    vectorEffect: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/vertical-align) */\n    verticalAlign: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/view-transition-name) */\n    viewTransitionName: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/visibility) */\n    visibility: string;\n    /**\n     * @deprecated This is a legacy alias of `alignContent`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-content)\n     */\n    webkitAlignContent: string;\n    /**\n     * @deprecated This is a legacy alias of `alignItems`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-items)\n     */\n    webkitAlignItems: string;\n    /**\n     * @deprecated This is a legacy alias of `alignSelf`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/align-self)\n     */\n    webkitAlignSelf: string;\n    /**\n     * @deprecated This is a legacy alias of `animation`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation)\n     */\n    webkitAnimation: string;\n    /**\n     * @deprecated This is a legacy alias of `animationDelay`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-delay)\n     */\n    webkitAnimationDelay: string;\n    /**\n     * @deprecated This is a legacy alias of `animationDirection`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-direction)\n     */\n    webkitAnimationDirection: string;\n    /**\n     * @deprecated This is a legacy alias of `animationDuration`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-duration)\n     */\n    webkitAnimationDuration: string;\n    /**\n     * @deprecated This is a legacy alias of `animationFillMode`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode)\n     */\n    webkitAnimationFillMode: string;\n    /**\n     * @deprecated This is a legacy alias of `animationIterationCount`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count)\n     */\n    webkitAnimationIterationCount: string;\n    /**\n     * @deprecated This is a legacy alias of `animationName`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-name)\n     */\n    webkitAnimationName: string;\n    /**\n     * @deprecated This is a legacy alias of `animationPlayState`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-play-state)\n     */\n    webkitAnimationPlayState: string;\n    /**\n     * @deprecated This is a legacy alias of `animationTimingFunction`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/animation-timing-function)\n     */\n    webkitAnimationTimingFunction: string;\n    /**\n     * @deprecated This is a legacy alias of `appearance`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/appearance)\n     */\n    webkitAppearance: string;\n    /**\n     * @deprecated This is a legacy alias of `backfaceVisibility`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/backface-visibility)\n     */\n    webkitBackfaceVisibility: string;\n    /**\n     * @deprecated This is a legacy alias of `backgroundClip`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-clip)\n     */\n    webkitBackgroundClip: string;\n    /**\n     * @deprecated This is a legacy alias of `backgroundOrigin`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-origin)\n     */\n    webkitBackgroundOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of `backgroundSize`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-size)\n     */\n    webkitBackgroundSize: string;\n    /**\n     * @deprecated This is a legacy alias of `borderBottomLeftRadius`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius)\n     */\n    webkitBorderBottomLeftRadius: string;\n    /**\n     * @deprecated This is a legacy alias of `borderBottomRightRadius`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius)\n     */\n    webkitBorderBottomRightRadius: string;\n    /**\n     * @deprecated This is a legacy alias of `borderRadius`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-radius)\n     */\n    webkitBorderRadius: string;\n    /**\n     * @deprecated This is a legacy alias of `borderTopLeftRadius`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius)\n     */\n    webkitBorderTopLeftRadius: string;\n    /**\n     * @deprecated This is a legacy alias of `borderTopRightRadius`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius)\n     */\n    webkitBorderTopRightRadius: string;\n    /**\n     * @deprecated This is a legacy alias of `boxAlign`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-align)\n     */\n    webkitBoxAlign: string;\n    /**\n     * @deprecated This is a legacy alias of `boxFlex`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-flex)\n     */\n    webkitBoxFlex: string;\n    /**\n     * @deprecated This is a legacy alias of `boxOrdinalGroup`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group)\n     */\n    webkitBoxOrdinalGroup: string;\n    /**\n     * @deprecated This is a legacy alias of `boxOrient`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-orient)\n     */\n    webkitBoxOrient: string;\n    /**\n     * @deprecated This is a legacy alias of `boxPack`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-pack)\n     */\n    webkitBoxPack: string;\n    /**\n     * @deprecated This is a legacy alias of `boxShadow`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-shadow)\n     */\n    webkitBoxShadow: string;\n    /**\n     * @deprecated This is a legacy alias of `boxSizing`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/box-sizing)\n     */\n    webkitBoxSizing: string;\n    /**\n     * @deprecated This is a legacy alias of `filter`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/filter)\n     */\n    webkitFilter: string;\n    /**\n     * @deprecated This is a legacy alias of `flex`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex)\n     */\n    webkitFlex: string;\n    /**\n     * @deprecated This is a legacy alias of `flexBasis`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-basis)\n     */\n    webkitFlexBasis: string;\n    /**\n     * @deprecated This is a legacy alias of `flexDirection`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-direction)\n     */\n    webkitFlexDirection: string;\n    /**\n     * @deprecated This is a legacy alias of `flexFlow`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-flow)\n     */\n    webkitFlexFlow: string;\n    /**\n     * @deprecated This is a legacy alias of `flexGrow`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-grow)\n     */\n    webkitFlexGrow: string;\n    /**\n     * @deprecated This is a legacy alias of `flexShrink`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-shrink)\n     */\n    webkitFlexShrink: string;\n    /**\n     * @deprecated This is a legacy alias of `flexWrap`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/flex-wrap)\n     */\n    webkitFlexWrap: string;\n    /**\n     * @deprecated This is a legacy alias of `justifyContent`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-content)\n     */\n    webkitJustifyContent: string;\n    /**\n     * @deprecated This is a legacy alias of `lineClamp`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp)\n     */\n    webkitLineClamp: string;\n    /**\n     * @deprecated This is a legacy alias of `mask`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask)\n     */\n    webkitMask: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorder`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border)\n     */\n    webkitMaskBoxImage: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorderOutset`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-outset)\n     */\n    webkitMaskBoxImageOutset: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorderRepeat`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat)\n     */\n    webkitMaskBoxImageRepeat: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorderSlice`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-slice)\n     */\n    webkitMaskBoxImageSlice: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorderSource`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-source)\n     */\n    webkitMaskBoxImageSource: string;\n    /**\n     * @deprecated This is a legacy alias of `maskBorderWidth`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-border-width)\n     */\n    webkitMaskBoxImageWidth: string;\n    /**\n     * @deprecated This is a legacy alias of `maskClip`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-clip)\n     */\n    webkitMaskClip: string;\n    /**\n     * @deprecated This is a legacy alias of `maskComposite`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-composite)\n     */\n    webkitMaskComposite: string;\n    /**\n     * @deprecated This is a legacy alias of `maskImage`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-image)\n     */\n    webkitMaskImage: string;\n    /**\n     * @deprecated This is a legacy alias of `maskOrigin`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-origin)\n     */\n    webkitMaskOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of `maskPosition`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-position)\n     */\n    webkitMaskPosition: string;\n    /**\n     * @deprecated This is a legacy alias of `maskRepeat`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-repeat)\n     */\n    webkitMaskRepeat: string;\n    /**\n     * @deprecated This is a legacy alias of `maskSize`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/mask-size)\n     */\n    webkitMaskSize: string;\n    /**\n     * @deprecated This is a legacy alias of `order`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/order)\n     */\n    webkitOrder: string;\n    /**\n     * @deprecated This is a legacy alias of `perspective`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective)\n     */\n    webkitPerspective: string;\n    /**\n     * @deprecated This is a legacy alias of `perspectiveOrigin`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/perspective-origin)\n     */\n    webkitPerspectiveOrigin: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color) */\n    webkitTextFillColor: string;\n    /**\n     * @deprecated This is a legacy alias of `textSizeAdjust`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-size-adjust)\n     */\n    webkitTextSizeAdjust: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke) */\n    webkitTextStroke: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color) */\n    webkitTextStrokeColor: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width) */\n    webkitTextStrokeWidth: string;\n    /**\n     * @deprecated This is a legacy alias of `transform`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform)\n     */\n    webkitTransform: string;\n    /**\n     * @deprecated This is a legacy alias of `transformOrigin`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-origin)\n     */\n    webkitTransformOrigin: string;\n    /**\n     * @deprecated This is a legacy alias of `transformStyle`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transform-style)\n     */\n    webkitTransformStyle: string;\n    /**\n     * @deprecated This is a legacy alias of `transition`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition)\n     */\n    webkitTransition: string;\n    /**\n     * @deprecated This is a legacy alias of `transitionDelay`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-delay)\n     */\n    webkitTransitionDelay: string;\n    /**\n     * @deprecated This is a legacy alias of `transitionDuration`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-duration)\n     */\n    webkitTransitionDuration: string;\n    /**\n     * @deprecated This is a legacy alias of `transitionProperty`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-property)\n     */\n    webkitTransitionProperty: string;\n    /**\n     * @deprecated This is a legacy alias of `transitionTimingFunction`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/transition-timing-function)\n     */\n    webkitTransitionTimingFunction: string;\n    /**\n     * @deprecated This is a legacy alias of `userSelect`.\n     *\n     * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/user-select)\n     */\n    webkitUserSelect: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/white-space) */\n    whiteSpace: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/white-space-collapse) */\n    whiteSpaceCollapse: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/widows) */\n    widows: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/width) */\n    width: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/will-change) */\n    willChange: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/word-break) */\n    wordBreak: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/word-spacing) */\n    wordSpacing: string;\n    /** @deprecated */\n    wordWrap: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/writing-mode) */\n    writingMode: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/x) */\n    x: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/y) */\n    y: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/z-index) */\n    zIndex: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/zoom) */\n    zoom: string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyPriority) */\n    getPropertyPriority(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyValue) */\n    getPropertyValue(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/item) */\n    item(index: number): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/removeProperty) */\n    removeProperty(property: string): string;\n    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/setProperty) */\n    setProperty(property: string, value: string | null, priority?: string): void;\n    [index: number]: string;\n}\n\ndeclare var CSSStyleDeclaration: {\n    prototype: CSSStyleDeclaration;\n    new(): CSSStyleDeclaration;\n    isInstance: IsInstance<CSSStyleDeclaration>;\n};\n\ninterface CSSStyleRule extends CSSGroupingRule {\n    readonly selectorCount: number;\n    selectorText: string;\n    readonly style: CSSStyleDeclaration;\n    getSelectorWarnings(): SelectorWarning[];\n    selectorMatchesElement(selectorIndex: number, element: Element, pseudo?: string, includeVisitedStyle?: boolean): boolean;\n    selectorSpecificityAt(index: number, desugared?: boolean): number;\n    selectorTextAt(index: number, desugared?: boolean): string;\n}\n\ndeclare var CSSStyleRule: {\n    prototype: CSSStyleRule;\n    new(): CSSStyleRule;\n    isInstance: IsInstance<CSSStyleRule>;\n};\n\ninterface CSSStyleSheet extends StyleSheet {\n    readonly cssRules: CSSRuleList;\n    readonly ownerRule: CSSRule | null;\n    readonly parsingMode: CSSStyleSheetParsingMode;\n    readonly rules: CSSRuleList;\n    addRule(selector?: string, style?: string, index?: number): number;\n    deleteRule(index: number): void;\n    insertRule(rule: string, index?: number): number;\n    removeRule(index?: number): void;\n    replace(text: string): Promise<CSSStyleSheet>;\n    replaceSync(text: string): void;\n}\n\ndeclare var CSSStyleSheet: {\n    prototype: CSSStyleSheet;\n    new(options?: CSSStyleSheetInit): CSSStyleSheet;\n    isInstance: IsInstance<CSSStyleSheet>;\n};\n\ninterface CSSSupportsRule extends CSSConditionRule {\n}\n\ndeclare var CSSSupportsRule: {\n    prototype: CSSSupportsRule;\n    new(): CSSSupportsRule;\n    isInstance: IsInstance<CSSSupportsRule>;\n};\n\ninterface CSSTransition extends Animation {\n    readonly transitionProperty: string;\n    addEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AnimationEventMap>(type: K, listener: (this: CSSTransition, ev: AnimationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CSSTransition: {\n    prototype: CSSTransition;\n    new(): CSSTransition;\n    isInstance: IsInstance<CSSTransition>;\n};\n\ninterface Cache {\n    add(request: RequestInfo | URL): Promise<void>;\n    addAll(requests: RequestInfo[]): Promise<void>;\n    delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;\n    keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<Request[]>;\n    match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response>;\n    matchAll(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response[]>;\n    put(request: RequestInfo | URL, response: Response): Promise<void>;\n}\n\ndeclare var Cache: {\n    prototype: Cache;\n    new(): Cache;\n    isInstance: IsInstance<Cache>;\n};\n\ninterface CacheStorage {\n    delete(cacheName: string): Promise<boolean>;\n    has(cacheName: string): Promise<boolean>;\n    keys(): Promise<string[]>;\n    match(request: RequestInfo | URL, options?: MultiCacheQueryOptions): Promise<Response>;\n    open(cacheName: string): Promise<Cache>;\n}\n\ndeclare var CacheStorage: {\n    prototype: CacheStorage;\n    new(namespace: CacheStorageNamespace, principal: Principal): CacheStorage;\n    isInstance: IsInstance<CacheStorage>;\n};\n\ninterface CallbackDebuggerNotification extends DebuggerNotification {\n    readonly phase: CallbackDebuggerNotificationPhase;\n}\n\ndeclare var CallbackDebuggerNotification: {\n    prototype: CallbackDebuggerNotification;\n    new(): CallbackDebuggerNotification;\n    isInstance: IsInstance<CallbackDebuggerNotification>;\n};\n\ninterface CanonicalBrowsingContext extends BrowsingContext {\n    readonly activeSessionHistoryEntry: nsISHEntry | null;\n    readonly canOpenModalPicker: boolean;\n    crossGroupOpener: CanonicalBrowsingContext | null;\n    readonly currentRemoteType: string | null;\n    readonly currentURI: URI | null;\n    readonly currentWindowGlobal: WindowGlobalParent | null;\n    readonly embedderWindowGlobal: WindowGlobalParent | null;\n    forceAppWindowActive: boolean;\n    isActive: boolean;\n    readonly isReplaced: boolean;\n    readonly isUnderHiddenEmbedderElement: boolean;\n    readonly mediaController: MediaController | null;\n    readonly mostRecentLoadingSessionHistoryEntry: nsISHEntry | null;\n    readonly secureBrowserUI: nsISecureBrowserUI | null;\n    readonly sessionHistory: nsISHistory | null;\n    targetTopLevelLinkClicksToBlank: boolean;\n    readonly topChromeWindow: WindowProxy | null;\n    touchEventsOverride: TouchEventsOverride;\n    readonly webProgress: nsIWebProgress | null;\n    clearRestoreState(): void;\n    fixupAndLoadURIString(aURI: string, aOptions?: LoadURIOptions): void;\n    getWindowGlobals(): WindowGlobalParent[];\n    goBack(aCancelContentJSEpoch?: number, aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;\n    goForward(aCancelContentJSEpoch?: number, aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;\n    goToIndex(aIndex: number, aCancelContentJSEpoch?: number, aUserActivation?: boolean): void;\n    loadURI(aURI: URI, aOptions?: LoadURIOptions): void;\n    notifyMediaMutedChanged(muted: boolean): void;\n    notifyStartDelayedAutoplayMedia(): void;\n    print(aPrintSettings: nsIPrintSettings): Promise<void>;\n    reload(aReloadFlags: number): void;\n    resetScalingZoom(): void;\n    startApzAutoscroll(aAnchorX: number, aAnchorY: number, aScrollId: number, aPresShellId: number): boolean;\n    stop(aStopFlags: number): void;\n    stopApzAutoscroll(aScrollId: number, aPresShellId: number): void;\n}\n\ndeclare var CanonicalBrowsingContext: {\n    prototype: CanonicalBrowsingContext;\n    new(): CanonicalBrowsingContext;\n    isInstance: IsInstance<CanonicalBrowsingContext>;\n    countSiteOrigins(roots: BrowsingContext[]): number;\n};\n\ninterface CanvasCaptureMediaStream extends MediaStream {\n    readonly canvas: HTMLCanvasElement;\n    requestFrame(): void;\n    addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: CanvasCaptureMediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: CanvasCaptureMediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CanvasCaptureMediaStream: {\n    prototype: CanvasCaptureMediaStream;\n    new(): CanvasCaptureMediaStream;\n    isInstance: IsInstance<CanvasCaptureMediaStream>;\n};\n\ninterface CanvasCompositing {\n    globalAlpha: number;\n    globalCompositeOperation: string;\n}\n\ninterface CanvasDrawImage {\n    contextProperties: CanvasContextProperties;\n    drawImage(image: CanvasImageSource, dx: number, dy: number): void;\n    drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;\n    drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;\n}\n\ninterface CanvasDrawPath {\n    beginPath(): void;\n    clip(winding?: CanvasWindingRule): void;\n    clip(path: Path2D, winding?: CanvasWindingRule): void;\n    fill(winding?: CanvasWindingRule): void;\n    fill(path: Path2D, winding?: CanvasWindingRule): void;\n    isPointInPath(x: number, y: number, winding?: CanvasWindingRule): boolean;\n    isPointInPath(path: Path2D, x: number, y: number, winding?: CanvasWindingRule): boolean;\n    isPointInStroke(x: number, y: number): boolean;\n    isPointInStroke(path: Path2D, x: number, y: number): boolean;\n    stroke(): void;\n    stroke(path: Path2D): void;\n}\n\ninterface CanvasFillStrokeStyles {\n    fillStyle: string | CanvasGradient | CanvasPattern;\n    strokeStyle: string | CanvasGradient | CanvasPattern;\n    createConicGradient(angle: number, cx: number, cy: number): CanvasGradient;\n    createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;\n    createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;\n    createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;\n}\n\ninterface CanvasFilters {\n    filter: string;\n}\n\ninterface CanvasGradient {\n    addColorStop(offset: number, color: string): void;\n}\n\ndeclare var CanvasGradient: {\n    prototype: CanvasGradient;\n    new(): CanvasGradient;\n    isInstance: IsInstance<CanvasGradient>;\n};\n\ninterface CanvasImageData {\n    createImageData(sw: number, sh: number): ImageData;\n    createImageData(imagedata: ImageData): ImageData;\n    getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;\n    putImageData(imagedata: ImageData, dx: number, dy: number): void;\n    putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void;\n}\n\ninterface CanvasImageSmoothing {\n    imageSmoothingEnabled: boolean;\n}\n\ninterface CanvasPathDrawingStyles {\n    lineCap: CanvasLineCap;\n    lineDashOffset: number;\n    lineJoin: CanvasLineJoin;\n    lineWidth: number;\n    miterLimit: number;\n    getLineDash(): number[];\n    setLineDash(segments: number[]): void;\n}\n\ninterface CanvasPathMethods {\n    arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;\n    arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n    bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;\n    closePath(): void;\n    ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;\n    lineTo(x: number, y: number): void;\n    moveTo(x: number, y: number): void;\n    quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;\n    rect(x: number, y: number, w: number, h: number): void;\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void;\n}\n\ninterface CanvasPattern {\n    setTransform(matrix?: DOMMatrix2DInit): void;\n}\n\ndeclare var CanvasPattern: {\n    prototype: CanvasPattern;\n    new(): CanvasPattern;\n    isInstance: IsInstance<CanvasPattern>;\n};\n\ninterface CanvasRect {\n    clearRect(x: number, y: number, w: number, h: number): void;\n    fillRect(x: number, y: number, w: number, h: number): void;\n    strokeRect(x: number, y: number, w: number, h: number): void;\n}\n\ninterface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPathDrawingStyles, CanvasPathMethods, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {\n    readonly canvas: HTMLCanvasElement | null;\n    demote(): void;\n    drawWindow(window: Window, x: number, y: number, w: number, h: number, bgColor: string, flags?: number): void;\n    getContextAttributes(): CanvasRenderingContext2DSettings;\n    getDebugInfo(ensureTarget?: boolean): CanvasRenderingContext2DDebugInfo;\n    readonly DRAWWINDOW_DRAW_CARET: 0x01;\n    readonly DRAWWINDOW_DO_NOT_FLUSH: 0x02;\n    readonly DRAWWINDOW_DRAW_VIEW: 0x04;\n    readonly DRAWWINDOW_USE_WIDGET_LAYERS: 0x08;\n    readonly DRAWWINDOW_ASYNC_DECODE_IMAGES: 0x10;\n}\n\ndeclare var CanvasRenderingContext2D: {\n    prototype: CanvasRenderingContext2D;\n    new(): CanvasRenderingContext2D;\n    readonly DRAWWINDOW_DRAW_CARET: 0x01;\n    readonly DRAWWINDOW_DO_NOT_FLUSH: 0x02;\n    readonly DRAWWINDOW_DRAW_VIEW: 0x04;\n    readonly DRAWWINDOW_USE_WIDGET_LAYERS: 0x08;\n    readonly DRAWWINDOW_ASYNC_DECODE_IMAGES: 0x10;\n    isInstance: IsInstance<CanvasRenderingContext2D>;\n};\n\ninterface CanvasShadowStyles {\n    shadowBlur: number;\n    shadowColor: string;\n    shadowOffsetX: number;\n    shadowOffsetY: number;\n}\n\ninterface CanvasState {\n    isContextLost(): boolean;\n    reset(): void;\n    restore(): void;\n    save(): void;\n}\n\ninterface CanvasText {\n    fillText(text: string, x: number, y: number, maxWidth?: number): void;\n    measureText(text: string): TextMetrics;\n    strokeText(text: string, x: number, y: number, maxWidth?: number): void;\n}\n\ninterface CanvasTextDrawingStyles {\n    direction: CanvasDirection;\n    font: string;\n    fontKerning: CanvasFontKerning;\n    fontStretch: CanvasFontStretch;\n    fontVariantCaps: CanvasFontVariantCaps;\n    letterSpacing: string;\n    textAlign: CanvasTextAlign;\n    textBaseline: CanvasTextBaseline;\n    textRendering: CanvasTextRendering;\n    wordSpacing: string;\n}\n\ninterface CanvasTransform {\n    getTransform(): DOMMatrix;\n    resetTransform(): void;\n    rotate(angle: number): void;\n    scale(x: number, y: number): void;\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n    transform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    translate(x: number, y: number): void;\n}\n\ninterface CanvasUserInterface {\n    drawFocusIfNeeded(element: Element): void;\n}\n\ninterface CaretPosition {\n    readonly offset: number;\n    readonly offsetNode: Node | null;\n    getClientRect(): DOMRect | null;\n}\n\ndeclare var CaretPosition: {\n    prototype: CaretPosition;\n    new(): CaretPosition;\n    isInstance: IsInstance<CaretPosition>;\n};\n\ninterface CaretStateChangedEvent extends Event {\n    readonly boundingClientRect: DOMRectReadOnly | null;\n    readonly caretVisible: boolean;\n    readonly caretVisuallyVisible: boolean;\n    readonly clientX: number;\n    readonly clientY: number;\n    readonly collapsed: boolean;\n    readonly reason: CaretChangedReason;\n    readonly selectedTextContent: string;\n    readonly selectionEditable: boolean;\n    readonly selectionVisible: boolean;\n}\n\ndeclare var CaretStateChangedEvent: {\n    prototype: CaretStateChangedEvent;\n    new(type: string, eventInit?: CaretStateChangedEventInit): CaretStateChangedEvent;\n    isInstance: IsInstance<CaretStateChangedEvent>;\n};\n\ninterface ChannelMergerNode extends AudioNode {\n}\n\ndeclare var ChannelMergerNode: {\n    prototype: ChannelMergerNode;\n    new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode;\n    isInstance: IsInstance<ChannelMergerNode>;\n};\n\ninterface ChannelSplitterNode extends AudioNode {\n}\n\ndeclare var ChannelSplitterNode: {\n    prototype: ChannelSplitterNode;\n    new(context: BaseAudioContext, options?: ChannelSplitterOptions): ChannelSplitterNode;\n    isInstance: IsInstance<ChannelSplitterNode>;\n};\n\ninterface ChannelWrapperEventMap {\n    \"error\": Event;\n    \"start\": Event;\n    \"stop\": Event;\n}\n\ninterface ChannelWrapper extends EventTarget {\n    readonly browserElement: nsISupports | null;\n    readonly canModify: boolean;\n    channel: MozChannel | null;\n    contentType: string;\n    readonly documentURI: URI | null;\n    readonly documentURL: string | null;\n    readonly errorString: string | null;\n    readonly finalURI: URI | null;\n    readonly finalURL: string;\n    readonly frameAncestors: MozFrameAncestorInfo[] | null;\n    readonly frameId: number;\n    readonly id: number;\n    readonly isServiceWorkerScript: boolean;\n    readonly loadInfo: LoadInfo | null;\n    readonly method: string;\n    onerror: ((this: ChannelWrapper, ev: Event) => any) | null;\n    onstart: ((this: ChannelWrapper, ev: Event) => any) | null;\n    onstop: ((this: ChannelWrapper, ev: Event) => any) | null;\n    readonly originURI: URI | null;\n    readonly originURL: string | null;\n    readonly parentFrameId: number;\n    readonly proxyInfo: MozProxyInfo | null;\n    readonly remoteAddress: string | null;\n    readonly requestSize: number;\n    readonly responseSize: number;\n    readonly statusCode: number;\n    readonly statusLine: string;\n    readonly suspended: boolean;\n    readonly thirdParty: boolean;\n    readonly type: MozContentPolicyType;\n    readonly urlClassification: MozUrlClassification | null;\n    cancel(result: number, reason?: number): void;\n    errorCheck(): void;\n    getRequestHeader(header: string): string | null;\n    getRequestHeaders(): MozHTTPHeader[];\n    getResponseHeaders(): MozHTTPHeader[];\n    matches(filter?: MozRequestFilter, extension?: WebExtensionPolicy | null, options?: MozRequestMatchOptions): boolean;\n    redirectTo(url: URI): void;\n    registerTraceableChannel(extension: WebExtensionPolicy, remoteTab: RemoteTab | null): void;\n    resume(): void;\n    setRequestHeader(header: string, value: string, merge?: boolean): void;\n    setResponseHeader(header: string, value: string, merge?: boolean): void;\n    suspend(profileMarkerText: string): void;\n    upgradeToSecure(): void;\n    addEventListener<K extends keyof ChannelWrapperEventMap>(type: K, listener: (this: ChannelWrapper, ev: ChannelWrapperEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ChannelWrapperEventMap>(type: K, listener: (this: ChannelWrapper, ev: ChannelWrapperEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ChannelWrapper: {\n    prototype: ChannelWrapper;\n    new(): ChannelWrapper;\n    isInstance: IsInstance<ChannelWrapper>;\n    get(channel: MozChannel): ChannelWrapper;\n    getRegisteredChannel(aChannelId: number, extension: WebExtensionPolicy, remoteTab: RemoteTab | null): ChannelWrapper | null;\n};\n\ninterface CharacterData extends Node, ChildNode, NonDocumentTypeChildNode {\n    data: string;\n    readonly length: number;\n    appendData(data: string): void;\n    deleteData(offset: number, count: number): void;\n    insertData(offset: number, data: string): void;\n    replaceData(offset: number, count: number, data: string): void;\n    substringData(offset: number, count: number): string;\n}\n\ndeclare var CharacterData: {\n    prototype: CharacterData;\n    new(): CharacterData;\n    isInstance: IsInstance<CharacterData>;\n};\n\ninterface CheckerboardReportService {\n    flushActiveReports(): void;\n    getReports(): CheckerboardReport[];\n    isRecordingEnabled(): boolean;\n    setRecordingEnabled(aEnabled: boolean): void;\n}\n\ndeclare var CheckerboardReportService: {\n    prototype: CheckerboardReportService;\n    new(): CheckerboardReportService;\n    isInstance: IsInstance<CheckerboardReportService>;\n};\n\ninterface ChildNode {\n    after(...nodes: (Node | string)[]): void;\n    before(...nodes: (Node | string)[]): void;\n    remove(): void;\n    replaceWith(...nodes: (Node | string)[]): void;\n}\n\ninterface ChildProcessMessageManager extends SyncMessageSender {\n}\n\ndeclare var ChildProcessMessageManager: {\n    prototype: ChildProcessMessageManager;\n    new(): ChildProcessMessageManager;\n    isInstance: IsInstance<ChildProcessMessageManager>;\n};\n\ninterface ChildSHistory {\n    readonly count: number;\n    readonly index: number;\n    readonly legacySHistory: nsISHistory;\n    canGo(aOffset: number, aRequireUserInteraction?: boolean): boolean;\n    go(aOffset: number, aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;\n    reload(aReloadFlags: number): void;\n}\n\ndeclare var ChildSHistory: {\n    prototype: ChildSHistory;\n    new(): ChildSHistory;\n    isInstance: IsInstance<ChildSHistory>;\n};\n\ninterface ChromeMessageBroadcaster extends MessageBroadcaster, FrameScriptLoader {\n}\n\ndeclare var ChromeMessageBroadcaster: {\n    prototype: ChromeMessageBroadcaster;\n    new(): ChromeMessageBroadcaster;\n    isInstance: IsInstance<ChromeMessageBroadcaster>;\n};\n\ninterface ChromeMessageSender extends MessageSender, FrameScriptLoader {\n}\n\ndeclare var ChromeMessageSender: {\n    prototype: ChromeMessageSender;\n    new(): ChromeMessageSender;\n    isInstance: IsInstance<ChromeMessageSender>;\n};\n\ninterface ChromeNodeList extends NodeList {\n    append(aNode: Node): void;\n    remove(aNode: Node): void;\n}\n\ndeclare var ChromeNodeList: {\n    prototype: ChromeNodeList;\n    new(): ChromeNodeList;\n    isInstance: IsInstance<ChromeNodeList>;\n};\n\ninterface ChromeWorker extends Worker {\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: ChromeWorker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: ChromeWorker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ChromeWorker: {\n    prototype: ChromeWorker;\n    new(scriptURL: string | URL, options?: WorkerOptions): ChromeWorker;\n    isInstance: IsInstance<ChromeWorker>;\n};\n\n/** Available only in secure contexts. */\ninterface Clipboard extends EventTarget {\n    read(): Promise<ClipboardItems>;\n    readText(): Promise<string>;\n    write(data: ClipboardItems): Promise<void>;\n    writeText(data: string): Promise<void>;\n}\n\ndeclare var Clipboard: {\n    prototype: Clipboard;\n    new(): Clipboard;\n    isInstance: IsInstance<Clipboard>;\n};\n\ninterface ClipboardEvent extends Event {\n    readonly clipboardData: DataTransfer | null;\n}\n\ndeclare var ClipboardEvent: {\n    prototype: ClipboardEvent;\n    new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent;\n    isInstance: IsInstance<ClipboardEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface ClipboardItem {\n    readonly presentationStyle: PresentationStyle;\n    readonly types: string[];\n    getType(type: string): Promise<Blob>;\n}\n\ndeclare var ClipboardItem: {\n    prototype: ClipboardItem;\n    new(items: Record<string, ClipboardItemDataType | PromiseLike<ClipboardItemDataType>>, options?: ClipboardItemOptions): ClipboardItem;\n    isInstance: IsInstance<ClipboardItem>;\n    supports(type: string): boolean;\n};\n\ninterface ClonedErrorHolder {\n}\n\ndeclare var ClonedErrorHolder: {\n    prototype: ClonedErrorHolder;\n    new(aError: any): ClonedErrorHolder;\n    isInstance: IsInstance<ClonedErrorHolder>;\n};\n\ninterface CloseEvent extends Event {\n    readonly code: number;\n    readonly reason: string;\n    readonly wasClean: boolean;\n}\n\ndeclare var CloseEvent: {\n    prototype: CloseEvent;\n    new(type: string, eventInitDict?: CloseEventInit): CloseEvent;\n    isInstance: IsInstance<CloseEvent>;\n};\n\ninterface CloseWatcherEventMap {\n    \"cancel\": Event;\n    \"close\": Event;\n}\n\ninterface CloseWatcher extends EventTarget {\n    oncancel: ((this: CloseWatcher, ev: Event) => any) | null;\n    onclose: ((this: CloseWatcher, ev: Event) => any) | null;\n    close(): void;\n    destroy(): void;\n    requestClose(): void;\n    addEventListener<K extends keyof CloseWatcherEventMap>(type: K, listener: (this: CloseWatcher, ev: CloseWatcherEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof CloseWatcherEventMap>(type: K, listener: (this: CloseWatcher, ev: CloseWatcherEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CloseWatcher: {\n    prototype: CloseWatcher;\n    new(options?: CloseWatcherOptions): CloseWatcher;\n    isInstance: IsInstance<CloseWatcher>;\n};\n\ninterface CommandEvent extends Event {\n    readonly command: string;\n    readonly source: Element | null;\n}\n\ndeclare var CommandEvent: {\n    prototype: CommandEvent;\n    new(type: string, eventInitDict?: CommandEventInit): CommandEvent;\n    isInstance: IsInstance<CommandEvent>;\n};\n\ninterface Comment extends CharacterData {\n}\n\ndeclare var Comment: {\n    prototype: Comment;\n    new(data?: string): Comment;\n    isInstance: IsInstance<Comment>;\n};\n\ninterface CompositionEvent extends UIEvent {\n    readonly data: string | null;\n    readonly locale: string;\n    readonly ranges: TextClause[];\n    initCompositionEvent(typeArg: string, canBubbleArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, dataArg?: string | null, localeArg?: string): void;\n}\n\ndeclare var CompositionEvent: {\n    prototype: CompositionEvent;\n    new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent;\n    isInstance: IsInstance<CompositionEvent>;\n};\n\ninterface CompressionStream extends GenericTransformStream {\n}\n\ndeclare var CompressionStream: {\n    prototype: CompressionStream;\n    new(format: CompressionFormat): CompressionStream;\n    isInstance: IsInstance<CompressionStream>;\n};\n\ninterface ConsoleInstance {\n    assert(condition?: boolean, ...data: any[]): void;\n    clear(): void;\n    count(label?: string): void;\n    countReset(label?: string): void;\n    debug(...data: any[]): void;\n    dir(...data: any[]): void;\n    dirxml(...data: any[]): void;\n    error(...data: any[]): void;\n    exception(...data: any[]): void;\n    group(...data: any[]): void;\n    groupCollapsed(...data: any[]): void;\n    groupEnd(): void;\n    info(...data: any[]): void;\n    log(...data: any[]): void;\n    profile(...data: any[]): void;\n    profileEnd(...data: any[]): void;\n    reportForServiceWorkerScope(scope: string, message: string, filename: string, lineNumber: number, columnNumber: number, level: ConsoleLevel): void;\n    shouldLog(level: ConsoleLogLevel): boolean;\n    table(...data: any[]): void;\n    time(label?: string): void;\n    timeEnd(label?: string): void;\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(data?: any): void;\n    trace(...data: any[]): void;\n    warn(...data: any[]): void;\n}\n\ndeclare var ConsoleInstance: {\n    prototype: ConsoleInstance;\n    new(): ConsoleInstance;\n    isInstance: IsInstance<ConsoleInstance>;\n};\n\ninterface ConstantSourceNode extends AudioScheduledSourceNode {\n    readonly offset: AudioParam;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ConstantSourceNode: {\n    prototype: ConstantSourceNode;\n    new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode;\n    isInstance: IsInstance<ConstantSourceNode>;\n};\n\ninterface ContentFrameMessageManager extends EventTarget, MessageListenerManagerMixin, MessageManagerGlobal, MessageSenderMixin, SyncMessageSenderMixin {\n    readonly content: WindowProxy | null;\n    readonly docShell: nsIDocShell | null;\n    readonly tabEventTarget: nsIEventTarget | null;\n}\n\ndeclare var ContentFrameMessageManager: {\n    prototype: ContentFrameMessageManager;\n    new(): ContentFrameMessageManager;\n    isInstance: IsInstance<ContentFrameMessageManager>;\n};\n\ninterface ContentProcessMessageManager extends MessageListenerManagerMixin, MessageManagerGlobal, MessageSenderMixin, SyncMessageSenderMixin {\n    readonly initialProcessData: any;\n    readonly sharedData: MozSharedMap | null;\n}\n\ndeclare var ContentProcessMessageManager: {\n    prototype: ContentProcessMessageManager;\n    new(): ContentProcessMessageManager;\n    isInstance: IsInstance<ContentProcessMessageManager>;\n};\n\ninterface ContentVisibilityAutoStateChangeEvent extends Event {\n    readonly skipped: boolean;\n}\n\ndeclare var ContentVisibilityAutoStateChangeEvent: {\n    prototype: ContentVisibilityAutoStateChangeEvent;\n    new(type: string, eventInitDict?: ContentVisibilityAutoStateChangeEventInit): ContentVisibilityAutoStateChangeEvent;\n    isInstance: IsInstance<ContentVisibilityAutoStateChangeEvent>;\n};\n\ninterface ConvolverNode extends AudioNode, AudioNodePassThrough {\n    buffer: AudioBuffer | null;\n    normalize: boolean;\n}\n\ndeclare var ConvolverNode: {\n    prototype: ConvolverNode;\n    new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode;\n    isInstance: IsInstance<ConvolverNode>;\n};\n\n/** Available only in secure contexts. */\ninterface CookieChangeEvent extends Event {\n    readonly changed: CookieListItem[];\n    readonly deleted: CookieListItem[];\n}\n\ndeclare var CookieChangeEvent: {\n    prototype: CookieChangeEvent;\n    new(type: string, eventInitDict?: CookieChangeEventInit): CookieChangeEvent;\n    isInstance: IsInstance<CookieChangeEvent>;\n};\n\ninterface CookieStoreEventMap {\n    \"change\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface CookieStore extends EventTarget {\n    onchange: ((this: CookieStore, ev: Event) => any) | null;\n    delete(name: string): Promise<void>;\n    delete(options: CookieStoreDeleteOptions): Promise<void>;\n    get(name: string): Promise<CookieListItem | null>;\n    get(options?: CookieStoreGetOptions): Promise<CookieListItem | null>;\n    getAll(name: string): Promise<CookieList>;\n    getAll(options?: CookieStoreGetOptions): Promise<CookieList>;\n    set(name: string, value: string): Promise<void>;\n    set(options: CookieInit): Promise<void>;\n    addEventListener<K extends keyof CookieStoreEventMap>(type: K, listener: (this: CookieStore, ev: CookieStoreEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof CookieStoreEventMap>(type: K, listener: (this: CookieStore, ev: CookieStoreEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var CookieStore: {\n    prototype: CookieStore;\n    new(): CookieStore;\n    isInstance: IsInstance<CookieStore>;\n};\n\n/** Available only in secure contexts. */\ninterface CookieStoreManager {\n    getSubscriptions(): Promise<CookieStoreGetOptions[]>;\n    subscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n    unsubscribe(subscriptions: CookieStoreGetOptions[]): Promise<void>;\n}\n\ndeclare var CookieStoreManager: {\n    prototype: CookieStoreManager;\n    new(): CookieStoreManager;\n    isInstance: IsInstance<CookieStoreManager>;\n};\n\ninterface CountQueuingStrategy {\n    readonly highWaterMark: number;\n    readonly size: Function;\n}\n\ndeclare var CountQueuingStrategy: {\n    prototype: CountQueuingStrategy;\n    new(init: QueuingStrategyInit): CountQueuingStrategy;\n    isInstance: IsInstance<CountQueuingStrategy>;\n};\n\ninterface CreateOfferRequest {\n    readonly callID: string;\n    readonly innerWindowID: number;\n    readonly isSecure: boolean;\n    readonly windowID: number;\n}\n\ndeclare var CreateOfferRequest: {\n    prototype: CreateOfferRequest;\n    new(): CreateOfferRequest;\n    isInstance: IsInstance<CreateOfferRequest>;\n};\n\n/** Available only in secure contexts. */\ninterface Credential {\n    readonly id: string;\n    readonly type: string;\n}\n\ndeclare var Credential: {\n    prototype: Credential;\n    new(): Credential;\n    isInstance: IsInstance<Credential>;\n};\n\n/** Available only in secure contexts. */\ninterface CredentialsContainer {\n    create(options?: CredentialCreationOptions): Promise<Credential | null>;\n    get(options?: CredentialRequestOptions): Promise<Credential | null>;\n    preventSilentAccess(): Promise<void>;\n    store(credential: Credential): Promise<Credential>;\n}\n\ndeclare var CredentialsContainer: {\n    prototype: CredentialsContainer;\n    new(): CredentialsContainer;\n    isInstance: IsInstance<CredentialsContainer>;\n};\n\ninterface Crypto {\n    /** Available only in secure contexts. */\n    readonly subtle: SubtleCrypto;\n    getRandomValues(array: ArrayBufferView): ArrayBufferView;\n    /** Available only in secure contexts. */\n    randomUUID(): string;\n}\n\ndeclare var Crypto: {\n    prototype: Crypto;\n    new(): Crypto;\n    isInstance: IsInstance<Crypto>;\n};\n\n/** Available only in secure contexts. */\ninterface CryptoKey {\n    readonly algorithm: any;\n    readonly extractable: boolean;\n    readonly type: KeyType;\n    readonly usages: KeyUsage[];\n}\n\ndeclare var CryptoKey: {\n    prototype: CryptoKey;\n    new(): CryptoKey;\n    isInstance: IsInstance<CryptoKey>;\n};\n\ninterface CustomElementRegistry {\n    define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;\n    get(name: string): CustomElementConstructor | undefined;\n    getName(constructor: CustomElementConstructor): string | null;\n    setElementCreationCallback(name: string, callback: CustomElementCreationCallback): void;\n    upgrade(root: Node): void;\n    whenDefined(name: string): Promise<CustomElementConstructor>;\n}\n\ndeclare var CustomElementRegistry: {\n    prototype: CustomElementRegistry;\n    new(): CustomElementRegistry;\n    isInstance: IsInstance<CustomElementRegistry>;\n};\n\ninterface CustomEvent extends Event {\n    readonly detail: any;\n    initCustomEvent(type: string, canBubble?: boolean, cancelable?: boolean, detail?: any): void;\n}\n\ndeclare var CustomEvent: {\n    prototype: CustomEvent;\n    new(type: string, eventInitDict?: CustomEventInit): CustomEvent;\n    isInstance: IsInstance<CustomEvent>;\n};\n\ninterface CustomStateSet {\n    forEach(callbackfn: (value: string, key: string, parent: CustomStateSet) => void, thisArg?: any): void;\n}\n\ndeclare var CustomStateSet: {\n    prototype: CustomStateSet;\n    new(): CustomStateSet;\n    isInstance: IsInstance<CustomStateSet>;\n};\n\ninterface DOMApplication {\n}\n\ninterface DOMException extends ExceptionMembers {\n    readonly code: number;\n    readonly message: string;\n    readonly name: string;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n}\n\ndeclare var DOMException: {\n    prototype: DOMException;\n    new(message?: string, name?: string): DOMException;\n    readonly INDEX_SIZE_ERR: 1;\n    readonly DOMSTRING_SIZE_ERR: 2;\n    readonly HIERARCHY_REQUEST_ERR: 3;\n    readonly WRONG_DOCUMENT_ERR: 4;\n    readonly INVALID_CHARACTER_ERR: 5;\n    readonly NO_DATA_ALLOWED_ERR: 6;\n    readonly NO_MODIFICATION_ALLOWED_ERR: 7;\n    readonly NOT_FOUND_ERR: 8;\n    readonly NOT_SUPPORTED_ERR: 9;\n    readonly INUSE_ATTRIBUTE_ERR: 10;\n    readonly INVALID_STATE_ERR: 11;\n    readonly SYNTAX_ERR: 12;\n    readonly INVALID_MODIFICATION_ERR: 13;\n    readonly NAMESPACE_ERR: 14;\n    readonly INVALID_ACCESS_ERR: 15;\n    readonly VALIDATION_ERR: 16;\n    readonly TYPE_MISMATCH_ERR: 17;\n    readonly SECURITY_ERR: 18;\n    readonly NETWORK_ERR: 19;\n    readonly ABORT_ERR: 20;\n    readonly URL_MISMATCH_ERR: 21;\n    readonly QUOTA_EXCEEDED_ERR: 22;\n    readonly TIMEOUT_ERR: 23;\n    readonly INVALID_NODE_TYPE_ERR: 24;\n    readonly DATA_CLONE_ERR: 25;\n    isInstance: IsInstance<DOMException>;\n};\n\ninterface DOMImplementation {\n    createDocument(namespace: string | null, qualifiedName: string | null, doctype?: DocumentType | null): Document;\n    createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType;\n    createHTMLDocument(title?: string): Document;\n    hasFeature(): boolean;\n}\n\ndeclare var DOMImplementation: {\n    prototype: DOMImplementation;\n    new(): DOMImplementation;\n    isInstance: IsInstance<DOMImplementation>;\n};\n\ninterface DOMLocalization extends Localization {\n    connectRoot(aElement: Node): void;\n    disconnectRoot(aElement: Node): void;\n    getAttributes(aElement: Element): L10nIdArgs;\n    pauseObserving(): void;\n    resumeObserving(): void;\n    setArgs(aElement: Element, aArgs?: any): void;\n    setAttributes(aElement: Element, aId: string, aArgs?: any): void;\n    translateElements(aElements: Element[]): Promise<void>;\n    translateFragment(aNode: Node): Promise<any>;\n    translateRoots(): Promise<void>;\n}\n\ndeclare var DOMLocalization: {\n    prototype: DOMLocalization;\n    new(aResourceIds: L10nResourceId[], aSync?: boolean, aRegistry?: L10nRegistry, aLocales?: string[]): DOMLocalization;\n    isInstance: IsInstance<DOMLocalization>;\n};\n\ninterface DOMMatrix extends DOMMatrixReadOnly {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    m11: number;\n    m12: number;\n    m13: number;\n    m14: number;\n    m21: number;\n    m22: number;\n    m23: number;\n    m24: number;\n    m31: number;\n    m32: number;\n    m33: number;\n    m34: number;\n    m41: number;\n    m42: number;\n    m43: number;\n    m44: number;\n    invertSelf(): DOMMatrix;\n    multiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    preMultiplySelf(other?: DOMMatrixInit): DOMMatrix;\n    rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVectorSelf(x?: number, y?: number): DOMMatrix;\n    rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    setMatrixValue(transformList: string): DOMMatrix;\n    skewXSelf(sx?: number): DOMMatrix;\n    skewYSelf(sy?: number): DOMMatrix;\n    translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix;\n}\n\ndeclare var DOMMatrix: {\n    prototype: DOMMatrix;\n    new(init?: string | number[] | DOMMatrixReadOnly): DOMMatrix;\n    isInstance: IsInstance<DOMMatrix>;\n    fromFloat32Array(array32: Float32Array): DOMMatrix;\n    fromFloat64Array(array64: Float64Array): DOMMatrix;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrix;\n};\n\ntype WebKitCSSMatrix = DOMMatrix;\ndeclare var WebKitCSSMatrix: typeof DOMMatrix;\n\ninterface DOMMatrixReadOnly {\n    readonly a: number;\n    readonly b: number;\n    readonly c: number;\n    readonly d: number;\n    readonly e: number;\n    readonly f: number;\n    readonly is2D: boolean;\n    readonly isIdentity: boolean;\n    readonly m11: number;\n    readonly m12: number;\n    readonly m13: number;\n    readonly m14: number;\n    readonly m21: number;\n    readonly m22: number;\n    readonly m23: number;\n    readonly m24: number;\n    readonly m31: number;\n    readonly m32: number;\n    readonly m33: number;\n    readonly m34: number;\n    readonly m41: number;\n    readonly m42: number;\n    readonly m43: number;\n    readonly m44: number;\n    flipX(): DOMMatrix;\n    flipY(): DOMMatrix;\n    inverse(): DOMMatrix;\n    multiply(other?: DOMMatrixInit): DOMMatrix;\n    rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix;\n    rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix;\n    rotateFromVector(x?: number, y?: number): DOMMatrix;\n    scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix;\n    scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix;\n    skewX(sx?: number): DOMMatrix;\n    skewY(sy?: number): DOMMatrix;\n    toFloat32Array(): Float32Array;\n    toFloat64Array(): Float64Array;\n    toJSON(): any;\n    transformPoint(point?: DOMPointInit): DOMPoint;\n    translate(tx?: number, ty?: number, tz?: number): DOMMatrix;\n    toString(): string;\n}\n\ndeclare var DOMMatrixReadOnly: {\n    prototype: DOMMatrixReadOnly;\n    new(init?: string | number[] | DOMMatrixReadOnly): DOMMatrixReadOnly;\n    isInstance: IsInstance<DOMMatrixReadOnly>;\n    fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly;\n    fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly;\n    fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly;\n};\n\ninterface DOMParser {\n    forceEnableDTD(): void;\n    forceEnableXULXBL(): void;\n    parseFromBuffer(buf: number[], type: SupportedType): Document;\n    parseFromBuffer(buf: Uint8Array, type: SupportedType): Document;\n    parseFromSafeString(str: string, type: SupportedType): Document;\n    parseFromStream(stream: InputStream, charset: string | null, contentLength: number, type: SupportedType): Document;\n    parseFromString(str: TrustedHTML | string, type: SupportedType): Document;\n}\n\ndeclare var DOMParser: {\n    prototype: DOMParser;\n    new(): DOMParser;\n    isInstance: IsInstance<DOMParser>;\n};\n\ninterface DOMPoint extends DOMPointReadOnly {\n    w: number;\n    x: number;\n    y: number;\n    z: number;\n}\n\ndeclare var DOMPoint: {\n    prototype: DOMPoint;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPoint;\n    isInstance: IsInstance<DOMPoint>;\n    fromPoint(other?: DOMPointInit): DOMPoint;\n};\n\ninterface DOMPointReadOnly {\n    readonly w: number;\n    readonly x: number;\n    readonly y: number;\n    readonly z: number;\n    matrixTransform(matrix?: DOMMatrixInit): DOMPoint;\n    toJSON(): any;\n}\n\ndeclare var DOMPointReadOnly: {\n    prototype: DOMPointReadOnly;\n    new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly;\n    isInstance: IsInstance<DOMPointReadOnly>;\n    fromPoint(other?: DOMPointInit): DOMPointReadOnly;\n};\n\ninterface DOMQuad {\n    readonly p1: DOMPoint;\n    readonly p2: DOMPoint;\n    readonly p3: DOMPoint;\n    readonly p4: DOMPoint;\n    getBounds(): DOMRectReadOnly;\n    toJSON(): any;\n}\n\ndeclare var DOMQuad: {\n    prototype: DOMQuad;\n    new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad;\n    new(rect: DOMRectReadOnly): DOMQuad;\n    isInstance: IsInstance<DOMQuad>;\n    fromQuad(other?: DOMQuadInit): DOMQuad;\n    fromRect(other?: DOMRectInit): DOMQuad;\n};\n\ninterface DOMRect extends DOMRectReadOnly {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\n\ndeclare var DOMRect: {\n    prototype: DOMRect;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRect;\n    isInstance: IsInstance<DOMRect>;\n    fromRect(other?: DOMRectInit): DOMRect;\n};\n\ninterface DOMRectList {\n    readonly length: number;\n    item(index: number): DOMRect | null;\n    [index: number]: DOMRect;\n}\n\ndeclare var DOMRectList: {\n    prototype: DOMRectList;\n    new(): DOMRectList;\n    isInstance: IsInstance<DOMRectList>;\n};\n\ninterface DOMRectReadOnly {\n    readonly bottom: number;\n    readonly height: number;\n    readonly left: number;\n    readonly right: number;\n    readonly top: number;\n    readonly width: number;\n    readonly x: number;\n    readonly y: number;\n    toJSON(): any;\n}\n\ndeclare var DOMRectReadOnly: {\n    prototype: DOMRectReadOnly;\n    new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;\n    isInstance: IsInstance<DOMRectReadOnly>;\n    fromRect(other?: DOMRectInit): DOMRectReadOnly;\n};\n\ninterface DOMStringList {\n    readonly length: number;\n    contains(string: string): boolean;\n    item(index: number): string | null;\n    [index: number]: string;\n}\n\ndeclare var DOMStringList: {\n    prototype: DOMStringList;\n    new(): DOMStringList;\n    isInstance: IsInstance<DOMStringList>;\n};\n\ninterface DOMStringMap {\n}\n\ndeclare var DOMStringMap: {\n    prototype: DOMStringMap;\n    new(): DOMStringMap;\n    isInstance: IsInstance<DOMStringMap>;\n};\n\ninterface DOMTokenList {\n    readonly length: number;\n    value: string;\n    toString(): string;\n    add(...tokens: string[]): void;\n    contains(token: string): boolean;\n    item(index: number): string | null;\n    remove(...tokens: string[]): void;\n    replace(token: string, newToken: string): boolean;\n    supports(token: string): boolean;\n    toggle(token: string, force?: boolean): boolean;\n    forEach(callbackfn: (value: string | null, key: number, parent: DOMTokenList) => void, thisArg?: any): void;\n    [index: number]: string;\n}\n\ndeclare var DOMTokenList: {\n    prototype: DOMTokenList;\n    new(): DOMTokenList;\n    isInstance: IsInstance<DOMTokenList>;\n};\n\ninterface DataTransfer {\n    dropEffect: string;\n    effectAllowed: string;\n    readonly files: FileList | null;\n    readonly items: DataTransferItemList;\n    readonly mozCSP: ContentSecurityPolicy | null;\n    mozCursor: string;\n    readonly mozItemCount: number;\n    mozShowFailAnimation: boolean;\n    readonly mozSourceNode: Node | null;\n    readonly mozTriggeringPrincipalURISpec: string;\n    readonly mozUserCancelled: boolean;\n    readonly sourceTopWindowContext: WindowContext | null;\n    readonly types: string[];\n    addElement(element: Element): void;\n    clearData(format?: string): void;\n    getData(format: string): string;\n    mozClearDataAt(format: string, index: number): void;\n    mozCloneForEvent(event: string): DataTransfer;\n    mozGetDataAt(format: string, index: number): any;\n    mozSetDataAt(format: string, data: any, index: number): void;\n    mozTypesAt(index: number): DOMStringList;\n    setData(format: string, data: string): void;\n    setDragImage(image: Element, x: number, y: number): void;\n    updateDragImage(image: Element, x: number, y: number): void;\n}\n\ndeclare var DataTransfer: {\n    prototype: DataTransfer;\n    new(): DataTransfer;\n    isInstance: IsInstance<DataTransfer>;\n};\n\ninterface DataTransferItem {\n    readonly kind: string;\n    readonly type: string;\n    getAsFile(): File | null;\n    getAsString(callback: FunctionStringCallback | null): void;\n    webkitGetAsEntry(): FileSystemEntry | null;\n}\n\ndeclare var DataTransferItem: {\n    prototype: DataTransferItem;\n    new(): DataTransferItem;\n    isInstance: IsInstance<DataTransferItem>;\n};\n\ninterface DataTransferItemList {\n    readonly length: number;\n    add(data: string, type: string): DataTransferItem | null;\n    add(data: File): DataTransferItem | null;\n    clear(): void;\n    remove(index: number): void;\n    [index: number]: DataTransferItem;\n}\n\ndeclare var DataTransferItemList: {\n    prototype: DataTransferItemList;\n    new(): DataTransferItemList;\n    isInstance: IsInstance<DataTransferItemList>;\n};\n\ninterface DebuggerNotification {\n    readonly global: any;\n    readonly type: DebuggerNotificationType;\n}\n\ndeclare var DebuggerNotification: {\n    prototype: DebuggerNotification;\n    new(): DebuggerNotification;\n    isInstance: IsInstance<DebuggerNotification>;\n};\n\ninterface DebuggerNotificationObserver {\n    addListener(handler: DebuggerNotificationCallback): boolean;\n    connect(global: any): boolean;\n    disconnect(global: any): boolean;\n    removeListener(handler: DebuggerNotificationCallback): boolean;\n}\n\ndeclare var DebuggerNotificationObserver: {\n    prototype: DebuggerNotificationObserver;\n    new(): DebuggerNotificationObserver;\n    isInstance: IsInstance<DebuggerNotificationObserver>;\n};\n\ninterface DecompressionStream extends GenericTransformStream {\n}\n\ndeclare var DecompressionStream: {\n    prototype: DecompressionStream;\n    new(format: CompressionFormat): DecompressionStream;\n    isInstance: IsInstance<DecompressionStream>;\n};\n\ninterface DelayNode extends AudioNode, AudioNodePassThrough {\n    readonly delayTime: AudioParam;\n}\n\ndeclare var DelayNode: {\n    prototype: DelayNode;\n    new(context: BaseAudioContext, options?: DelayOptions): DelayNode;\n    isInstance: IsInstance<DelayNode>;\n};\n\ninterface DeprecationReportBody extends ReportBody {\n    readonly anticipatedRemoval: any;\n    readonly columnNumber: number | null;\n    readonly id: string;\n    readonly lineNumber: number | null;\n    readonly message: string;\n    readonly sourceFile: string | null;\n    toJSON(): any;\n}\n\ndeclare var DeprecationReportBody: {\n    prototype: DeprecationReportBody;\n    new(): DeprecationReportBody;\n    isInstance: IsInstance<DeprecationReportBody>;\n};\n\ninterface DeviceAcceleration {\n    readonly x: number | null;\n    readonly y: number | null;\n    readonly z: number | null;\n}\n\ninterface DeviceLightEvent extends Event {\n    readonly value: number;\n}\n\ndeclare var DeviceLightEvent: {\n    prototype: DeviceLightEvent;\n    new(type: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent;\n    isInstance: IsInstance<DeviceLightEvent>;\n};\n\ninterface DeviceMotionEvent extends Event {\n    readonly acceleration: DeviceAcceleration | null;\n    readonly accelerationIncludingGravity: DeviceAcceleration | null;\n    readonly interval: number | null;\n    readonly rotationRate: DeviceRotationRate | null;\n    initDeviceMotionEvent(type: string, canBubble?: boolean, cancelable?: boolean, acceleration?: DeviceAccelerationInit, accelerationIncludingGravity?: DeviceAccelerationInit, rotationRate?: DeviceRotationRateInit, interval?: number | null): void;\n}\n\ndeclare var DeviceMotionEvent: {\n    prototype: DeviceMotionEvent;\n    new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent;\n    isInstance: IsInstance<DeviceMotionEvent>;\n};\n\ninterface DeviceOrientationEvent extends Event {\n    readonly absolute: boolean;\n    readonly alpha: number | null;\n    readonly beta: number | null;\n    readonly gamma: number | null;\n    initDeviceOrientationEvent(type: string, canBubble?: boolean, cancelable?: boolean, alpha?: number | null, beta?: number | null, gamma?: number | null, absolute?: boolean): void;\n}\n\ndeclare var DeviceOrientationEvent: {\n    prototype: DeviceOrientationEvent;\n    new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent;\n    isInstance: IsInstance<DeviceOrientationEvent>;\n};\n\ninterface DeviceRotationRate {\n    readonly alpha: number | null;\n    readonly beta: number | null;\n    readonly gamma: number | null;\n}\n\ninterface Directory {\n    readonly name: string;\n    readonly path: string;\n    getFiles(recursiveFlag?: boolean): Promise<File[]>;\n    getFilesAndDirectories(): Promise<(File | Directory)[]>;\n}\n\ndeclare var Directory: {\n    prototype: Directory;\n    new(path: string): Directory;\n    isInstance: IsInstance<Directory>;\n};\n\ninterface DocumentEventMap extends GlobalEventHandlersEventMap, OnErrorEventHandlerForNodesEventMap, TouchEventHandlersEventMap {\n    \"afterscriptexecute\": Event;\n    \"beforescriptexecute\": Event;\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n    \"pointerlockchange\": Event;\n    \"pointerlockerror\": Event;\n    \"readystatechange\": Event;\n    \"visibilitychange\": Event;\n}\n\ninterface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GeometryUtils, GlobalEventHandlers, NonElementParentNode, OnErrorEventHandlerForNodes, ParentNode, TouchEventHandlers, XPathEvaluatorMixin {\n    readonly URL: string;\n    alinkColor: string;\n    readonly all: HTMLAllCollection;\n    readonly anchors: HTMLCollection;\n    readonly applets: HTMLCollection;\n    bgColor: string;\n    readonly blockedNodeByClassifierCount: number;\n    readonly blockedNodesByClassifier: NodeList;\n    body: HTMLElement | null;\n    readonly characterSet: string;\n    readonly charset: string;\n    readonly commandDispatcher: XULCommandDispatcher | null;\n    readonly compatMode: string;\n    readonly contentLanguage: string;\n    readonly contentType: string;\n    cookie: string;\n    readonly cookieJarSettings: nsICookieJarSettings;\n    readonly csp: ContentSecurityPolicy | null;\n    readonly cspJSON: string;\n    readonly currentScript: Element | null;\n    readonly defaultView: WindowProxy | null;\n    designMode: string;\n    devToolsAnonymousAndShadowEventsEnabled: boolean;\n    devToolsWatchingDOMMutations: boolean;\n    dir: string;\n    readonly doctype: DocumentType | null;\n    readonly documentElement: Element | null;\n    readonly documentLoadGroup: nsILoadGroup | null;\n    readonly documentReadyForIdle: Promise<void>;\n    readonly documentURI: string;\n    readonly documentURIObject: URI | null;\n    domain: string;\n    readonly effectiveStoragePrincipal: Principal;\n    readonly embeds: HTMLCollection;\n    readonly featurePolicy: FeaturePolicy;\n    fgColor: string;\n    readonly forms: HTMLCollection;\n    readonly fragmentDirective: FragmentDirective;\n    readonly fullscreen: boolean;\n    readonly fullscreenEnabled: boolean;\n    readonly hasBeenUserGestureActivated: boolean;\n    readonly hasPendingL10nMutations: boolean;\n    readonly hasValidTransientUserGestureActivation: boolean;\n    readonly head: HTMLHeadElement | null;\n    readonly hidden: boolean;\n    readonly images: HTMLCollection;\n    readonly implementation: DOMImplementation;\n    readonly inAndroidPipMode: boolean;\n    readonly inputEncoding: string;\n    readonly isInitialDocument: boolean;\n    readonly isSrcdocDocument: boolean;\n    readonly l10n: DocumentL10n | null;\n    readonly lastModified: string;\n    readonly lastStyleSheetSet: string | null;\n    readonly lastUserGestureTimeStamp: DOMHighResTimeStamp;\n    linkColor: string;\n    readonly links: HTMLCollection;\n    readonly loadedFromPrototype: boolean;\n    readonly location: Location | null;\n    readonly mozDocumentURIIfNotForErrorPages: URI | null;\n    readonly mozFullScreen: boolean;\n    readonly mozFullScreenEnabled: boolean;\n    readonly mozSyntheticDocument: boolean;\n    onafterscriptexecute: ((this: Document, ev: Event) => any) | null;\n    onbeforescriptexecute: ((this: Document, ev: Event) => any) | null;\n    onfullscreenchange: ((this: Document, ev: Event) => any) | null;\n    onfullscreenerror: ((this: Document, ev: Event) => any) | null;\n    onpointerlockchange: ((this: Document, ev: Event) => any) | null;\n    onpointerlockerror: ((this: Document, ev: Event) => any) | null;\n    onreadystatechange: ((this: Document, ev: Event) => any) | null;\n    onvisibilitychange: ((this: Document, ev: Event) => any) | null;\n    readonly partitionedPrincipal: Principal;\n    pausedByDevTools: boolean;\n    readonly permDelegateHandler: nsIPermissionDelegateHandler;\n    readonly plugins: HTMLCollection;\n    readonly preferredStyleSheetSet: string | null;\n    readonly readyState: string;\n    readonly referrer: string;\n    readonly referrerInfo: nsIReferrerInfo;\n    readonly referrerPolicy: ReferrerPolicy;\n    readonly rootElement: SVGSVGElement | null;\n    readonly sandboxFlagsAsString: string | null;\n    readonly scripts: HTMLCollection;\n    readonly scrollingElement: Element | null;\n    selectedStyleSheetSet: string | null;\n    styleSheetChangeEventsEnabled: boolean;\n    readonly styleSheetSets: DOMStringList;\n    readonly timeline: DocumentTimeline;\n    title: string;\n    readonly userHasInteracted: boolean;\n    readonly visibilityState: VisibilityState;\n    vlinkColor: string;\n    addCertException(isTemporary: boolean): Promise<any>;\n    adoptNode(node: Node): Node;\n    blockParsing(promise: any, options?: BlockParsingOptions): Promise<any>;\n    blockUnblockOnload(block: boolean): void;\n    captureEvents(): void;\n    caretPositionFromPoint(x: number, y: number, options?: CaretPositionFromPointOptions): CaretPosition | null;\n    clear(): void;\n    clearUserGestureActivation(): void;\n    close(): void;\n    completeStorageAccessRequestFromSite(serializedSite: string): Promise<void>;\n    consumeTransientUserGestureActivation(): boolean;\n    createAttribute(name: string): Attr;\n    createAttributeNS(namespace: string | null, name: string): Attr;\n    createCDATASection(data: string): CDATASection;\n    createComment(data: string): Comment;\n    createDocumentFragment(): DocumentFragment;\n    createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];\n    /** @deprecated */\n    createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];\n    createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;\n    createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;\n    createEvent(eventInterface: \"AddonEvent\"): AddonEvent;\n    createEvent(eventInterface: \"AnimationEvent\"): AnimationEvent;\n    createEvent(eventInterface: \"AnimationPlaybackEvent\"): AnimationPlaybackEvent;\n    createEvent(eventInterface: \"AudioProcessingEvent\"): AudioProcessingEvent;\n    createEvent(eventInterface: \"BeforeUnloadEvent\"): BeforeUnloadEvent;\n    createEvent(eventInterface: \"BlobEvent\"): BlobEvent;\n    createEvent(eventInterface: \"CSSCustomPropertyRegisteredEvent\"): CSSCustomPropertyRegisteredEvent;\n    createEvent(eventInterface: \"CaretStateChangedEvent\"): CaretStateChangedEvent;\n    createEvent(eventInterface: \"ClipboardEvent\"): ClipboardEvent;\n    createEvent(eventInterface: \"CloseEvent\"): CloseEvent;\n    createEvent(eventInterface: \"CommandEvent\"): CommandEvent;\n    createEvent(eventInterface: \"CompositionEvent\"): CompositionEvent;\n    createEvent(eventInterface: \"ContentVisibilityAutoStateChangeEvent\"): ContentVisibilityAutoStateChangeEvent;\n    createEvent(eventInterface: \"CookieChangeEvent\"): CookieChangeEvent;\n    createEvent(eventInterface: \"CustomEvent\"): CustomEvent;\n    createEvent(eventInterface: \"DeviceLightEvent\"): DeviceLightEvent;\n    createEvent(eventInterface: \"DeviceMotionEvent\"): DeviceMotionEvent;\n    createEvent(eventInterface: \"DeviceOrientationEvent\"): DeviceOrientationEvent;\n    createEvent(eventInterface: \"DragEvent\"): DragEvent;\n    createEvent(eventInterface: \"ErrorEvent\"): ErrorEvent;\n    createEvent(eventInterface: \"FocusEvent\"): FocusEvent;\n    createEvent(eventInterface: \"FontFaceSetLoadEvent\"): FontFaceSetLoadEvent;\n    createEvent(eventInterface: \"FormDataEvent\"): FormDataEvent;\n    createEvent(eventInterface: \"FrameCrashedEvent\"): FrameCrashedEvent;\n    createEvent(eventInterface: \"GPUUncapturedErrorEvent\"): GPUUncapturedErrorEvent;\n    createEvent(eventInterface: \"GamepadAxisMoveEvent\"): GamepadAxisMoveEvent;\n    createEvent(eventInterface: \"GamepadButtonEvent\"): GamepadButtonEvent;\n    createEvent(eventInterface: \"GamepadEvent\"): GamepadEvent;\n    createEvent(eventInterface: \"HashChangeEvent\"): HashChangeEvent;\n    createEvent(eventInterface: \"IDBVersionChangeEvent\"): IDBVersionChangeEvent;\n    createEvent(eventInterface: \"ImageCaptureErrorEvent\"): ImageCaptureErrorEvent;\n    createEvent(eventInterface: \"InputEvent\"): InputEvent;\n    createEvent(eventInterface: \"KeyboardEvent\"): KeyboardEvent;\n    createEvent(eventInterface: \"MIDIConnectionEvent\"): MIDIConnectionEvent;\n    createEvent(eventInterface: \"MIDIMessageEvent\"): MIDIMessageEvent;\n    createEvent(eventInterface: \"MediaEncryptedEvent\"): MediaEncryptedEvent;\n    createEvent(eventInterface: \"MediaKeyMessageEvent\"): MediaKeyMessageEvent;\n    createEvent(eventInterface: \"MediaQueryListEvent\"): MediaQueryListEvent;\n    createEvent(eventInterface: \"MediaRecorderErrorEvent\"): MediaRecorderErrorEvent;\n    createEvent(eventInterface: \"MediaStreamEvent\"): MediaStreamEvent;\n    createEvent(eventInterface: \"MediaStreamTrackEvent\"): MediaStreamTrackEvent;\n    createEvent(eventInterface: \"MerchantValidationEvent\"): MerchantValidationEvent;\n    createEvent(eventInterface: \"MessageEvent\"): MessageEvent;\n    createEvent(eventInterface: \"MouseEvent\"): MouseEvent;\n    createEvent(eventInterface: \"MouseEvents\"): MouseEvent;\n    createEvent(eventInterface: \"MouseScrollEvent\"): MouseScrollEvent;\n    createEvent(eventInterface: \"MozSharedMapChangeEvent\"): MozSharedMapChangeEvent;\n    createEvent(eventInterface: \"MutationEvent\"): MutationEvent;\n    createEvent(eventInterface: \"MutationEvents\"): MutationEvent;\n    createEvent(eventInterface: \"NavigateEvent\"): NavigateEvent;\n    createEvent(eventInterface: \"NavigationCurrentEntryChangeEvent\"): NavigationCurrentEntryChangeEvent;\n    createEvent(eventInterface: \"NotifyPaintEvent\"): NotifyPaintEvent;\n    createEvent(eventInterface: \"OfflineAudioCompletionEvent\"): OfflineAudioCompletionEvent;\n    createEvent(eventInterface: \"PageTransitionEvent\"): PageTransitionEvent;\n    createEvent(eventInterface: \"PaymentMethodChangeEvent\"): PaymentMethodChangeEvent;\n    createEvent(eventInterface: \"PaymentRequestUpdateEvent\"): PaymentRequestUpdateEvent;\n    createEvent(eventInterface: \"PerformanceEntryEvent\"): PerformanceEntryEvent;\n    createEvent(eventInterface: \"PluginCrashedEvent\"): PluginCrashedEvent;\n    createEvent(eventInterface: \"PointerEvent\"): PointerEvent;\n    createEvent(eventInterface: \"PopStateEvent\"): PopStateEvent;\n    createEvent(eventInterface: \"PopupBlockedEvent\"): PopupBlockedEvent;\n    createEvent(eventInterface: \"PopupPositionedEvent\"): PopupPositionedEvent;\n    createEvent(eventInterface: \"PositionStateEvent\"): PositionStateEvent;\n    createEvent(eventInterface: \"ProgressEvent\"): ProgressEvent;\n    createEvent(eventInterface: \"PromiseRejectionEvent\"): PromiseRejectionEvent;\n    createEvent(eventInterface: \"RTCDTMFToneChangeEvent\"): RTCDTMFToneChangeEvent;\n    createEvent(eventInterface: \"RTCDataChannelEvent\"): RTCDataChannelEvent;\n    createEvent(eventInterface: \"RTCPeerConnectionIceEvent\"): RTCPeerConnectionIceEvent;\n    createEvent(eventInterface: \"RTCTrackEvent\"): RTCTrackEvent;\n    createEvent(eventInterface: \"ScrollAreaEvent\"): ScrollAreaEvent;\n    createEvent(eventInterface: \"SecurityPolicyViolationEvent\"): SecurityPolicyViolationEvent;\n    createEvent(eventInterface: \"SimpleGestureEvent\"): SimpleGestureEvent;\n    createEvent(eventInterface: \"SpeechRecognitionEvent\"): SpeechRecognitionEvent;\n    createEvent(eventInterface: \"SpeechSynthesisErrorEvent\"): SpeechSynthesisErrorEvent;\n    createEvent(eventInterface: \"SpeechSynthesisEvent\"): SpeechSynthesisEvent;\n    createEvent(eventInterface: \"StorageEvent\"): StorageEvent;\n    createEvent(eventInterface: \"StreamFilterDataEvent\"): StreamFilterDataEvent;\n    createEvent(eventInterface: \"StyleSheetApplicableStateChangeEvent\"): StyleSheetApplicableStateChangeEvent;\n    createEvent(eventInterface: \"StyleSheetRemovedEvent\"): StyleSheetRemovedEvent;\n    createEvent(eventInterface: \"SubmitEvent\"): SubmitEvent;\n    createEvent(eventInterface: \"TCPServerSocketEvent\"): TCPServerSocketEvent;\n    createEvent(eventInterface: \"TCPSocketErrorEvent\"): TCPSocketErrorEvent;\n    createEvent(eventInterface: \"TCPSocketEvent\"): TCPSocketEvent;\n    createEvent(eventInterface: \"TaskPriorityChangeEvent\"): TaskPriorityChangeEvent;\n    createEvent(eventInterface: \"TextEvent\"): TextEvent;\n    createEvent(eventInterface: \"TimeEvent\"): TimeEvent;\n    createEvent(eventInterface: \"ToggleEvent\"): ToggleEvent;\n    createEvent(eventInterface: \"TouchEvent\"): TouchEvent;\n    createEvent(eventInterface: \"TrackEvent\"): TrackEvent;\n    createEvent(eventInterface: \"TransitionEvent\"): TransitionEvent;\n    createEvent(eventInterface: \"UDPMessageEvent\"): UDPMessageEvent;\n    createEvent(eventInterface: \"UIEvent\"): UIEvent;\n    createEvent(eventInterface: \"UIEvents\"): UIEvent;\n    createEvent(eventInterface: \"UserProximityEvent\"): UserProximityEvent;\n    createEvent(eventInterface: \"VRDisplayEvent\"): VRDisplayEvent;\n    createEvent(eventInterface: \"WebGLContextEvent\"): WebGLContextEvent;\n    createEvent(eventInterface: \"WheelEvent\"): WheelEvent;\n    createEvent(eventInterface: \"XRInputSourceEvent\"): XRInputSourceEvent;\n    createEvent(eventInterface: \"XRInputSourcesChangeEvent\"): XRInputSourcesChangeEvent;\n    createEvent(eventInterface: \"XRReferenceSpaceEvent\"): XRReferenceSpaceEvent;\n    createEvent(eventInterface: \"XRSessionEvent\"): XRSessionEvent;\n    createEvent(eventInterface: \"XULCommandEvent\"): XULCommandEvent;\n    createEvent(eventInterface: string): Event;\n    createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;\n    createProcessingInstruction(target: string, data: string): ProcessingInstruction;\n    createRange(): Range;\n    createTextNode(data: string): Text;\n    createTouch(view?: Window | null, target?: EventTarget | null, identifier?: number, pageX?: number, pageY?: number, screenX?: number, screenY?: number, clientX?: number, clientY?: number, radiusX?: number, radiusY?: number, rotationAngle?: number, force?: number): Touch;\n    createTouchList(touch: Touch, ...touches: Touch[]): TouchList;\n    createTouchList(): TouchList;\n    createTouchList(touches: Touch[]): TouchList;\n    createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;\n    createXULElement(localName: string, options?: string | ElementCreationOptions): Element;\n    enableStyleSheetsForSet(name: string | null): void;\n    execCommand(commandId: string, showUI?: boolean, value?: TrustedHTML | string): boolean;\n    exitFullscreen(): Promise<void>;\n    exitPointerLock(): void;\n    getConnectedShadowRoots(): ShadowRoot[];\n    getElementsByClassName(classNames: string): HTMLCollection;\n    getElementsByName(elementName: string): NodeList;\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(localName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(localName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(localName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(localName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(localName: string): HTMLCollectionOf<Element>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollection;\n    getFailedCertSecurityInfo(): FailedCertSecurityInfo;\n    getNetErrorInfo(): NetErrorInfo;\n    getSelection(): Selection | null;\n    getWireframe(aIncludeNodes?: boolean): Wireframe | null;\n    hasFocus(): boolean;\n    hasStorageAccess(): Promise<boolean>;\n    importNode(node: Node, deep?: boolean): Node;\n    insertAnonymousContent(): AnonymousContent;\n    isActive(): boolean;\n    mozCancelFullScreen(): Promise<void>;\n    mozSetImageElement(aImageElementId: string, aImageElement: Element | null): void;\n    notifyUserGestureActivation(): void;\n    open(unused1?: string, unused2?: string): Document;\n    open(url: string, name: string, features: string): WindowProxy | null;\n    queryCommandEnabled(commandId: string): boolean;\n    queryCommandIndeterm(commandId: string): boolean;\n    queryCommandState(commandId: string): boolean;\n    queryCommandSupported(commandId: string): boolean;\n    queryCommandValue(commandId: string): string;\n    releaseCapture(): void;\n    releaseEvents(): void;\n    reloadWithHttpsOnlyException(): void;\n    removeAnonymousContent(aContent: AnonymousContent): void;\n    requestStorageAccess(): Promise<void>;\n    requestStorageAccessForOrigin(thirdPartyOrigin: string, requireUserInteraction?: boolean): Promise<void>;\n    requestStorageAccessUnderSite(serializedSite: string): Promise<void>;\n    setKeyPressEventModel(aKeyPressEventModel: number): void;\n    setNotifyFetchSuccess(aShouldNotify: boolean): void;\n    setNotifyFormOrPasswordRemoved(aShouldNotify: boolean): void;\n    setSuppressedEventListener(aListener: EventListener | null): void;\n    startViewTransition(updateCallback?: ViewTransitionUpdateCallback): ViewTransition;\n    synchronouslyUpdateRemoteBrowserDimensions(aIncludeInactive?: boolean): void;\n    userInteractionForTesting(): void;\n    write(...text: (TrustedHTML | string)[]): void;\n    writeln(...text: (TrustedHTML | string)[]): void;\n    readonly KEYPRESS_EVENT_MODEL_DEFAULT: 0;\n    readonly KEYPRESS_EVENT_MODEL_SPLIT: 1;\n    readonly KEYPRESS_EVENT_MODEL_CONFLATED: 2;\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Document: {\n    prototype: Document;\n    new(): Document;\n    readonly KEYPRESS_EVENT_MODEL_DEFAULT: 0;\n    readonly KEYPRESS_EVENT_MODEL_SPLIT: 1;\n    readonly KEYPRESS_EVENT_MODEL_CONFLATED: 2;\n    isInstance: IsInstance<Document>;\n    parseHTML(html: string, options?: SetHTMLOptions): Document;\n    parseHTMLUnsafe(html: TrustedHTML | string, options?: SetHTMLUnsafeOptions): Document;\n};\n\ninterface DocumentFragment extends Node, NonElementParentNode, ParentNode {\n}\n\ndeclare var DocumentFragment: {\n    prototype: DocumentFragment;\n    new(): DocumentFragment;\n    isInstance: IsInstance<DocumentFragment>;\n};\n\ninterface DocumentL10n extends DOMLocalization {\n    readonly ready: Promise<any>;\n    connectRoot(aElement: Node, aTranslate?: boolean): void;\n}\n\ninterface DocumentOrShadowRoot {\n    readonly activeElement: Element | null;\n    adoptedStyleSheets: CSSStyleSheet[];\n    readonly fullscreenElement: Element | null;\n    readonly mozFullScreenElement: Element | null;\n    readonly pointerLockElement: Element | null;\n    readonly styleSheets: StyleSheetList;\n    elementFromPoint(x: number, y: number): Element | null;\n    elementsFromPoint(x: number, y: number): Element[];\n    getAnimations(): Animation[];\n    nodeFromPoint(x: number, y: number): Node | null;\n    nodesFromPoint(x: number, y: number): Node[];\n}\n\ninterface DocumentTimeline extends AnimationTimeline {\n}\n\ndeclare var DocumentTimeline: {\n    prototype: DocumentTimeline;\n    new(options?: DocumentTimelineOptions): DocumentTimeline;\n    isInstance: IsInstance<DocumentTimeline>;\n};\n\ninterface DocumentType extends Node, ChildNode {\n    readonly name: string;\n    readonly publicId: string;\n    readonly systemId: string;\n}\n\ndeclare var DocumentType: {\n    prototype: DocumentType;\n    new(): DocumentType;\n    isInstance: IsInstance<DocumentType>;\n};\n\ninterface DominatorTree {\n    readonly root: NodeId;\n    getImmediateDominator(node: NodeId): NodeId | null;\n    getImmediatelyDominated(node: NodeId): NodeId[] | null;\n    getRetainedSize(node: NodeId): NodeSize | null;\n}\n\ndeclare var DominatorTree: {\n    prototype: DominatorTree;\n    new(): DominatorTree;\n    isInstance: IsInstance<DominatorTree>;\n};\n\ninterface DragEvent extends MouseEvent {\n    readonly dataTransfer: DataTransfer | null;\n    initDragEvent(type: string, canBubble?: boolean, cancelable?: boolean, aView?: Window | null, aDetail?: number, aScreenX?: number, aScreenY?: number, aClientX?: number, aClientY?: number, aCtrlKey?: boolean, aAltKey?: boolean, aShiftKey?: boolean, aMetaKey?: boolean, aButton?: number, aRelatedTarget?: EventTarget | null, aDataTransfer?: DataTransfer | null): void;\n}\n\ndeclare var DragEvent: {\n    prototype: DragEvent;\n    new(type: string, eventInitDict?: DragEventInit): DragEvent;\n    isInstance: IsInstance<DragEvent>;\n};\n\ninterface DynamicsCompressorNode extends AudioNode, AudioNodePassThrough {\n    readonly attack: AudioParam;\n    readonly knee: AudioParam;\n    readonly ratio: AudioParam;\n    readonly reduction: number;\n    readonly release: AudioParam;\n    readonly threshold: AudioParam;\n}\n\ndeclare var DynamicsCompressorNode: {\n    prototype: DynamicsCompressorNode;\n    new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode;\n    isInstance: IsInstance<DynamicsCompressorNode>;\n};\n\ninterface EXT_blend_minmax {\n    readonly MIN_EXT: 0x8007;\n    readonly MAX_EXT: 0x8008;\n}\n\ninterface EXT_color_buffer_float {\n}\n\ninterface EXT_color_buffer_half_float {\n    readonly RGBA16F_EXT: 0x881A;\n    readonly RGB16F_EXT: 0x881B;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\ninterface EXT_depth_clamp {\n    readonly DEPTH_CLAMP_EXT: 0x864F;\n}\n\ninterface EXT_disjoint_timer_query {\n    beginQueryEXT(target: GLenum, query: WebGLQuery): void;\n    createQueryEXT(): WebGLQuery;\n    deleteQueryEXT(query: WebGLQuery | null): void;\n    endQueryEXT(target: GLenum): void;\n    getQueryEXT(target: GLenum, pname: GLenum): any;\n    getQueryObjectEXT(query: WebGLQuery, pname: GLenum): any;\n    isQueryEXT(query: WebGLQuery | null): boolean;\n    queryCounterEXT(query: WebGLQuery, target: GLenum): void;\n    readonly QUERY_COUNTER_BITS_EXT: 0x8864;\n    readonly CURRENT_QUERY_EXT: 0x8865;\n    readonly QUERY_RESULT_EXT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE_EXT: 0x8867;\n    readonly TIME_ELAPSED_EXT: 0x88BF;\n    readonly TIMESTAMP_EXT: 0x8E28;\n    readonly GPU_DISJOINT_EXT: 0x8FBB;\n}\n\ninterface EXT_float_blend {\n}\n\ninterface EXT_frag_depth {\n}\n\ninterface EXT_sRGB {\n    readonly SRGB_EXT: 0x8C40;\n    readonly SRGB_ALPHA_EXT: 0x8C42;\n    readonly SRGB8_ALPHA8_EXT: 0x8C43;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: 0x8210;\n}\n\ninterface EXT_shader_texture_lod {\n}\n\ninterface EXT_texture_compression_bptc {\n    readonly COMPRESSED_RGBA_BPTC_UNORM_EXT: 0x8E8C;\n    readonly COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: 0x8E8D;\n    readonly COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: 0x8E8E;\n    readonly COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: 0x8E8F;\n}\n\ninterface EXT_texture_compression_rgtc {\n    readonly COMPRESSED_RED_RGTC1_EXT: 0x8DBB;\n    readonly COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8DBC;\n    readonly COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8DBD;\n    readonly COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8DBE;\n}\n\ninterface EXT_texture_filter_anisotropic {\n    readonly TEXTURE_MAX_ANISOTROPY_EXT: 0x84FE;\n    readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: 0x84FF;\n}\n\ninterface EXT_texture_norm16 {\n    readonly R16_EXT: 0x822A;\n    readonly RG16_EXT: 0x822C;\n    readonly RGB16_EXT: 0x8054;\n    readonly RGBA16_EXT: 0x805B;\n    readonly R16_SNORM_EXT: 0x8F98;\n    readonly RG16_SNORM_EXT: 0x8F99;\n    readonly RGB16_SNORM_EXT: 0x8F9A;\n    readonly RGBA16_SNORM_EXT: 0x8F9B;\n}\n\ninterface ElementEventMap {\n    \"fullscreenchange\": Event;\n    \"fullscreenerror\": Event;\n}\n\ninterface Element extends Node, ARIAMixin, Animatable, ChildNode, GeometryUtils, NonDocumentTypeChildNode, ParentNode {\n    readonly assignedSlot: HTMLSlotElement | null;\n    readonly attributes: NamedNodeMap;\n    readonly classList: DOMTokenList;\n    className: string;\n    readonly clientHeight: number;\n    readonly clientHeightDouble: number;\n    readonly clientLeft: number;\n    readonly clientTop: number;\n    readonly clientWidth: number;\n    readonly clientWidthDouble: number;\n    readonly currentCSSZoom: number;\n    readonly firstLineBoxBSize: number;\n    readonly fontSizeInflation: number;\n    readonly hasVisibleScrollbars: boolean;\n    id: string;\n    readonly implementedPseudoElement: string | null;\n    innerHTML: TrustedHTML | string;\n    readonly localName: string;\n    readonly namespaceURI: string | null;\n    onfullscreenchange: ((this: Element, ev: Event) => any) | null;\n    onfullscreenerror: ((this: Element, ev: Event) => any) | null;\n    readonly openOrClosedAssignedSlot: HTMLSlotElement | null;\n    readonly openOrClosedShadowRoot: ShadowRoot | null;\n    outerHTML: TrustedHTML | string;\n    readonly part: DOMTokenList;\n    readonly prefix: string | null;\n    readonly screen: nsIScreen | null;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly scrollHeight: number;\n    scrollLeft: number;\n    readonly scrollLeftMax: number;\n    readonly scrollLeftMin: number;\n    scrollTop: number;\n    readonly scrollTopMax: number;\n    readonly scrollTopMin: number;\n    readonly scrollWidth: number;\n    readonly shadowRoot: ShadowRoot | null;\n    slot: string;\n    readonly tagName: string;\n    attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot;\n    checkVisibility(options?: CheckVisibilityOptions): boolean;\n    closest(selector: string): Element | null;\n    getAsFlexContainer(): Flex | null;\n    getAttribute(name: string): string | null;\n    getAttributeNS(namespace: string | null, localName: string): string | null;\n    getAttributeNames(): string[];\n    getAttributeNode(name: string): Attr | null;\n    getAttributeNodeNS(namespaceURI: string | null, localName: string): Attr | null;\n    getBoundingClientRect(): DOMRect;\n    getClientRects(): DOMRectList;\n    getElementsByClassName(classNames: string): HTMLCollection;\n    getElementsByTagName<K extends keyof HTMLElementTagNameMap>(localName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof SVGElementTagNameMap>(localName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n    getElementsByTagName<K extends keyof MathMLElementTagNameMap>(localName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(localName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n    getElementsByTagName(localName: string): HTMLCollectionOf<Element>;\n    getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollection;\n    getElementsWithGrid(): Element[];\n    getGridFragments(): Grid[];\n    getHTML(options?: GetHTMLOptions): string;\n    getTransformToAncestor(ancestor: Element): DOMMatrixReadOnly;\n    getTransformToParent(): DOMMatrixReadOnly;\n    getTransformToViewport(): DOMMatrixReadOnly;\n    hasAttribute(name: string): boolean;\n    hasAttributeNS(namespace: string | null, localName: string): boolean;\n    hasAttributes(): boolean;\n    hasGridFragments(): boolean;\n    hasPointerCapture(pointerId: number): boolean;\n    insertAdjacentElement(where: string, element: Element): Element | null;\n    insertAdjacentHTML(position: string, text: TrustedHTML | string): void;\n    insertAdjacentText(where: string, data: string): void;\n    matches(selector: string): boolean;\n    mozMatchesSelector(selector: string): boolean;\n    mozRequestFullScreen(): Promise<void>;\n    mozScrollSnap(): void;\n    releaseCapture(): void;\n    releasePointerCapture(pointerId: number): void;\n    removeAttribute(name: string): void;\n    removeAttributeNS(namespace: string | null, localName: string): void;\n    removeAttributeNode(oldAttr: Attr): Attr | null;\n    requestFullscreen(): Promise<void>;\n    requestPointerLock(): void;\n    scroll(x: number, y: number): void;\n    scroll(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    scrollBy(options?: ScrollToOptions): void;\n    scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;\n    scrollTo(x: number, y: number): void;\n    scrollTo(options?: ScrollToOptions): void;\n    setAttribute(name: string, value: TrustedType | string): void;\n    setAttributeDevtools(name: string, value: string): void;\n    setAttributeDevtoolsNS(namespace: string | null, name: string, value: string): void;\n    setAttributeNS(namespace: string | null, name: string, value: TrustedType | string): void;\n    setAttributeNode(newAttr: Attr): Attr | null;\n    setAttributeNodeNS(newAttr: Attr): Attr | null;\n    setCapture(retargetToElement?: boolean): void;\n    setCaptureAlways(retargetToElement?: boolean): void;\n    setHTML(aInnerHTML: string, options?: SetHTMLOptions): void;\n    setHTMLUnsafe(html: TrustedHTML | string, options?: SetHTMLUnsafeOptions): void;\n    setPointerCapture(pointerId: number): void;\n    toggleAttribute(name: string, force?: boolean): boolean;\n    webkitMatchesSelector(selector: string): boolean;\n    addEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ElementEventMap>(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Element: {\n    prototype: Element;\n    new(): Element;\n    isInstance: IsInstance<Element>;\n};\n\ninterface ElementCSSInlineStyle {\n    readonly style: CSSStyleDeclaration;\n}\n\ninterface ElementInternals extends ARIAMixin {\n    readonly form: HTMLFormElement | null;\n    readonly labels: NodeList;\n    readonly shadowRoot: ShadowRoot | null;\n    readonly states: CustomStateSet;\n    readonly validationAnchor: HTMLElement | null;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;\n    setValidity(flags?: ValidityStateFlags, message?: string, anchor?: HTMLElement): void;\n}\n\ndeclare var ElementInternals: {\n    prototype: ElementInternals;\n    new(): ElementInternals;\n    isInstance: IsInstance<ElementInternals>;\n};\n\ninterface EncodedAudioChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedAudioChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedAudioChunk: {\n    prototype: EncodedAudioChunk;\n    new(init: EncodedAudioChunkInit): EncodedAudioChunk;\n    isInstance: IsInstance<EncodedAudioChunk>;\n};\n\ninterface EncodedVideoChunk {\n    readonly byteLength: number;\n    readonly duration: number | null;\n    readonly timestamp: number;\n    readonly type: EncodedVideoChunkType;\n    copyTo(destination: AllowSharedBufferSource): void;\n}\n\ndeclare var EncodedVideoChunk: {\n    prototype: EncodedVideoChunk;\n    new(init: EncodedVideoChunkInit): EncodedVideoChunk;\n    isInstance: IsInstance<EncodedVideoChunk>;\n};\n\ninterface ErrorEvent extends Event {\n    readonly colno: number;\n    readonly error: any;\n    readonly filename: string;\n    readonly lineno: number;\n    readonly message: string;\n}\n\ndeclare var ErrorEvent: {\n    prototype: ErrorEvent;\n    new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent;\n    isInstance: IsInstance<ErrorEvent>;\n};\n\ninterface Event {\n    readonly bubbles: boolean;\n    cancelBubble: boolean;\n    readonly cancelable: boolean;\n    readonly composed: boolean;\n    readonly composedTarget: EventTarget | null;\n    readonly currentTarget: EventTarget | null;\n    readonly defaultPrevented: boolean;\n    readonly defaultPreventedByChrome: boolean;\n    readonly defaultPreventedByContent: boolean;\n    readonly eventPhase: number;\n    readonly explicitOriginalTarget: EventTarget | null;\n    readonly isReplyEventFromRemoteContent: boolean;\n    readonly isSynthesized: boolean;\n    readonly isTrusted: boolean;\n    readonly isWaitingReplyFromRemoteContent: boolean;\n    readonly multipleActionsPrevented: boolean;\n    readonly originalTarget: EventTarget | null;\n    returnValue: boolean;\n    readonly target: EventTarget | null;\n    readonly timeStamp: DOMHighResTimeStamp;\n    readonly type: string;\n    composedPath(): EventTarget[];\n    initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;\n    preventDefault(): void;\n    preventMultipleActions(): void;\n    requestReplyFromRemoteContent(): void;\n    stopImmediatePropagation(): void;\n    stopPropagation(): void;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n    readonly ALT_MASK: 0x00000001;\n    readonly CONTROL_MASK: 0x00000002;\n    readonly SHIFT_MASK: 0x00000004;\n    readonly META_MASK: 0x00000008;\n}\n\ndeclare var Event: {\n    prototype: Event;\n    new(type: string, eventInitDict?: EventInit): Event;\n    readonly NONE: 0;\n    readonly CAPTURING_PHASE: 1;\n    readonly AT_TARGET: 2;\n    readonly BUBBLING_PHASE: 3;\n    readonly ALT_MASK: 0x00000001;\n    readonly CONTROL_MASK: 0x00000002;\n    readonly SHIFT_MASK: 0x00000004;\n    readonly META_MASK: 0x00000008;\n    isInstance: IsInstance<Event>;\n};\n\ninterface EventCallbackDebuggerNotification extends CallbackDebuggerNotification {\n    readonly event: Event;\n    readonly targetType: EventCallbackDebuggerNotificationType;\n}\n\ndeclare var EventCallbackDebuggerNotification: {\n    prototype: EventCallbackDebuggerNotification;\n    new(): EventCallbackDebuggerNotification;\n    isInstance: IsInstance<EventCallbackDebuggerNotification>;\n};\n\ninterface EventCounts {\n    forEach(callbackfn: (value: number, key: string, parent: EventCounts) => void, thisArg?: any): void;\n}\n\ndeclare var EventCounts: {\n    prototype: EventCounts;\n    new(): EventCounts;\n    isInstance: IsInstance<EventCounts>;\n};\n\ninterface EventHandler {\n}\n\ninterface EventListenerOrEventListenerObject {\n}\n\ninterface EventSourceEventMap {\n    \"error\": Event;\n    \"message\": Event;\n    \"open\": Event;\n}\n\ninterface EventSource extends EventTarget {\n    onerror: ((this: EventSource, ev: Event) => any) | null;\n    onmessage: ((this: EventSource, ev: Event) => any) | null;\n    onopen: ((this: EventSource, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly url: string;\n    readonly withCredentials: boolean;\n    close(): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var EventSource: {\n    prototype: EventSource;\n    new(url: string | URL, eventSourceInitDict?: EventSourceInit): EventSource;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSED: 2;\n    isInstance: IsInstance<EventSource>;\n};\n\ninterface EventTarget {\n    readonly ownerGlobal: WindowProxy | null;\n    addEventListener(type: string, listener: EventListener | null, options?: AddEventListenerOptions | boolean, wantsUntrusted?: boolean | null): void;\n    dispatchEvent(event: Event): boolean;\n    getEventHandler(type: string): EventHandler;\n    removeEventListener(type: string, listener: EventListener | null, options?: EventListenerOptions | boolean): void;\n    setEventHandler(type: string, handler: EventHandler): void;\n}\n\ndeclare var EventTarget: {\n    prototype: EventTarget;\n    new(): EventTarget;\n    isInstance: IsInstance<EventTarget>;\n};\n\ninterface Exception extends ExceptionMembers {\n    readonly message: string;\n    readonly name: string;\n    toString(): string;\n}\n\ninterface ExceptionMembers {\n    readonly columnNumber: number;\n    readonly data: nsISupports | null;\n    readonly filename: string;\n    readonly lineNumber: number;\n    readonly location: StackFrame | null;\n    readonly result: number;\n    readonly stack: string;\n}\n\ninterface External {\n    AddSearchProvider(): void;\n    IsSearchProviderInstalled(): void;\n}\n\ninterface FeaturePolicy {\n    allowedFeatures(): string[];\n    allowsFeature(feature: string, origin?: string): boolean;\n    features(): string[];\n    getAllowlistForFeature(feature: string): string[];\n}\n\ninterface FeaturePolicyViolationReportBody extends ReportBody {\n    readonly columnNumber: number | null;\n    readonly disposition: string;\n    readonly featureId: string;\n    readonly lineNumber: number | null;\n    readonly sourceFile: string | null;\n}\n\ndeclare var FeaturePolicyViolationReportBody: {\n    prototype: FeaturePolicyViolationReportBody;\n    new(): FeaturePolicyViolationReportBody;\n    isInstance: IsInstance<FeaturePolicyViolationReportBody>;\n};\n\ninterface FetchObserverEventMap {\n    \"requestprogress\": Event;\n    \"responseprogress\": Event;\n    \"statechange\": Event;\n}\n\ninterface FetchObserver extends EventTarget {\n    onrequestprogress: ((this: FetchObserver, ev: Event) => any) | null;\n    onresponseprogress: ((this: FetchObserver, ev: Event) => any) | null;\n    onstatechange: ((this: FetchObserver, ev: Event) => any) | null;\n    readonly state: FetchState;\n    addEventListener<K extends keyof FetchObserverEventMap>(type: K, listener: (this: FetchObserver, ev: FetchObserverEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FetchObserverEventMap>(type: K, listener: (this: FetchObserver, ev: FetchObserverEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FetchObserver: {\n    prototype: FetchObserver;\n    new(): FetchObserver;\n    isInstance: IsInstance<FetchObserver>;\n};\n\ninterface File extends Blob {\n    readonly lastModified: number;\n    readonly mozFullPath: string;\n    readonly name: string;\n    readonly webkitRelativePath: string;\n}\n\ndeclare var File: {\n    prototype: File;\n    new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File;\n    isInstance: IsInstance<File>;\n    createFromFileName(fileName: string, options?: ChromeFilePropertyBag): Promise<File>;\n    createFromNsIFile(file: nsIFile, options?: ChromeFilePropertyBag): Promise<File>;\n};\n\ninterface FileList {\n    readonly length: number;\n    item(index: number): File | null;\n    [index: number]: File;\n}\n\ndeclare var FileList: {\n    prototype: FileList;\n    new(): FileList;\n    isInstance: IsInstance<FileList>;\n};\n\ninterface FileReaderEventMap {\n    \"abort\": Event;\n    \"error\": Event;\n    \"load\": Event;\n    \"loadend\": Event;\n    \"loadstart\": Event;\n    \"progress\": Event;\n}\n\ninterface FileReader extends EventTarget {\n    readonly error: DOMException | null;\n    onabort: ((this: FileReader, ev: Event) => any) | null;\n    onerror: ((this: FileReader, ev: Event) => any) | null;\n    onload: ((this: FileReader, ev: Event) => any) | null;\n    onloadend: ((this: FileReader, ev: Event) => any) | null;\n    onloadstart: ((this: FileReader, ev: Event) => any) | null;\n    onprogress: ((this: FileReader, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly result: string | ArrayBuffer | null;\n    abort(): void;\n    readAsArrayBuffer(blob: Blob): void;\n    readAsBinaryString(filedata: Blob): void;\n    readAsDataURL(blob: Blob): void;\n    readAsText(blob: Blob, label?: string): void;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    addEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FileReaderEventMap>(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FileReader: {\n    prototype: FileReader;\n    new(): FileReader;\n    readonly EMPTY: 0;\n    readonly LOADING: 1;\n    readonly DONE: 2;\n    isInstance: IsInstance<FileReader>;\n};\n\ninterface FileSystem {\n    readonly name: string;\n    readonly root: FileSystemDirectoryEntry;\n}\n\ndeclare var FileSystem: {\n    prototype: FileSystem;\n    new(): FileSystem;\n    isInstance: IsInstance<FileSystem>;\n};\n\ninterface FileSystemDirectoryEntry extends FileSystemEntry {\n    createReader(): FileSystemDirectoryReader;\n    getDirectory(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n    getFile(path?: string | null, options?: FileSystemFlags, successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemDirectoryEntry: {\n    prototype: FileSystemDirectoryEntry;\n    new(): FileSystemDirectoryEntry;\n    isInstance: IsInstance<FileSystemDirectoryEntry>;\n};\n\n/** Available only in secure contexts. */\ninterface FileSystemDirectoryHandle extends FileSystemHandle {\n    getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise<FileSystemDirectoryHandle>;\n    getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise<FileSystemFileHandle>;\n    removeEntry(name: string, options?: FileSystemRemoveOptions): Promise<void>;\n    resolve(possibleDescendant: FileSystemHandle): Promise<string[] | null>;\n}\n\ndeclare var FileSystemDirectoryHandle: {\n    prototype: FileSystemDirectoryHandle;\n    new(): FileSystemDirectoryHandle;\n    isInstance: IsInstance<FileSystemDirectoryHandle>;\n};\n\n/** Available only in secure contexts. */\ninterface FileSystemDirectoryIterator {\n    next(): Promise<any>;\n}\n\ninterface FileSystemDirectoryReader {\n    readEntries(successCallback: FileSystemEntriesCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemDirectoryReader: {\n    prototype: FileSystemDirectoryReader;\n    new(): FileSystemDirectoryReader;\n    isInstance: IsInstance<FileSystemDirectoryReader>;\n};\n\ninterface FileSystemEntry {\n    readonly filesystem: FileSystem;\n    readonly fullPath: string;\n    readonly isDirectory: boolean;\n    readonly isFile: boolean;\n    readonly name: string;\n    getParent(successCallback?: FileSystemEntryCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemEntry: {\n    prototype: FileSystemEntry;\n    new(): FileSystemEntry;\n    isInstance: IsInstance<FileSystemEntry>;\n};\n\ninterface FileSystemFileEntry extends FileSystemEntry {\n    file(successCallback: FileCallback, errorCallback?: ErrorCallback): void;\n}\n\ndeclare var FileSystemFileEntry: {\n    prototype: FileSystemFileEntry;\n    new(): FileSystemFileEntry;\n    isInstance: IsInstance<FileSystemFileEntry>;\n};\n\n/** Available only in secure contexts. */\ninterface FileSystemFileHandle extends FileSystemHandle {\n    createWritable(options?: FileSystemCreateWritableOptions): Promise<FileSystemWritableFileStream>;\n    getFile(): Promise<File>;\n}\n\ndeclare var FileSystemFileHandle: {\n    prototype: FileSystemFileHandle;\n    new(): FileSystemFileHandle;\n    isInstance: IsInstance<FileSystemFileHandle>;\n};\n\n/** Available only in secure contexts. */\ninterface FileSystemHandle {\n    readonly kind: FileSystemHandleKind;\n    readonly name: string;\n    isSameEntry(other: FileSystemHandle): Promise<boolean>;\n    move(name: string): Promise<void>;\n    move(parent: FileSystemDirectoryHandle): Promise<void>;\n    move(parent: FileSystemDirectoryHandle, name: string): Promise<void>;\n}\n\ndeclare var FileSystemHandle: {\n    prototype: FileSystemHandle;\n    new(): FileSystemHandle;\n    isInstance: IsInstance<FileSystemHandle>;\n};\n\n/** Available only in secure contexts. */\ninterface FileSystemWritableFileStream extends WritableStream {\n    seek(position: number): Promise<void>;\n    truncate(size: number): Promise<void>;\n    write(data: FileSystemWriteChunkType): Promise<void>;\n}\n\ndeclare var FileSystemWritableFileStream: {\n    prototype: FileSystemWritableFileStream;\n    new(): FileSystemWritableFileStream;\n    isInstance: IsInstance<FileSystemWritableFileStream>;\n};\n\ninterface Flex {\n    readonly crossAxisDirection: FlexPhysicalDirection;\n    readonly mainAxisDirection: FlexPhysicalDirection;\n    getLines(): FlexLineValues[];\n}\n\ndeclare var Flex: {\n    prototype: Flex;\n    new(): Flex;\n    isInstance: IsInstance<Flex>;\n};\n\ninterface FlexItemValues {\n    readonly clampState: FlexItemClampState;\n    readonly crossMaxSize: number;\n    readonly crossMinSize: number;\n    readonly frameRect: DOMRectReadOnly;\n    readonly mainBaseSize: number;\n    readonly mainDeltaSize: number;\n    readonly mainMaxSize: number;\n    readonly mainMinSize: number;\n    readonly node: Node | null;\n}\n\ndeclare var FlexItemValues: {\n    prototype: FlexItemValues;\n    new(): FlexItemValues;\n    isInstance: IsInstance<FlexItemValues>;\n};\n\ninterface FlexLineValues {\n    readonly crossSize: number;\n    readonly crossStart: number;\n    readonly firstBaselineOffset: number;\n    readonly growthState: FlexLineGrowthState;\n    readonly lastBaselineOffset: number;\n    getItems(): FlexItemValues[];\n}\n\ndeclare var FlexLineValues: {\n    prototype: FlexLineValues;\n    new(): FlexLineValues;\n    isInstance: IsInstance<FlexLineValues>;\n};\n\ninterface FluentBundle {\n    readonly locales: string[];\n    addResource(aResource: FluentResource, aOptions?: FluentBundleAddResourceOptions): void;\n    formatPattern(pattern: FluentPattern, aArgs?: L10nArgs | null, aErrors?: any): string;\n    getMessage(id: string): FluentMessage | null;\n    hasMessage(id: string): boolean;\n}\n\ndeclare var FluentBundle: {\n    prototype: FluentBundle;\n    new(aLocales: string | string[], aOptions?: FluentBundleOptions): FluentBundle;\n    isInstance: IsInstance<FluentBundle>;\n};\n\ninterface FluentBundleAsyncIterator {\n    next(): Promise<FluentBundleIteratorResult>;\n    values(): FluentBundleAsyncIterator;\n}\n\ninterface FluentBundleIterator {\n    next(): FluentBundleIteratorResult;\n    values(): FluentBundleIterator;\n}\n\ninterface FluentPattern {\n}\n\ndeclare var FluentPattern: {\n    prototype: FluentPattern;\n    new(): FluentPattern;\n    isInstance: IsInstance<FluentPattern>;\n};\n\ninterface FluentResource {\n    textElements(): FluentTextElementItem[];\n}\n\ndeclare var FluentResource: {\n    prototype: FluentResource;\n    new(source: string): FluentResource;\n    isInstance: IsInstance<FluentResource>;\n};\n\ninterface FocusEvent extends UIEvent {\n    readonly relatedTarget: EventTarget | null;\n}\n\ndeclare var FocusEvent: {\n    prototype: FocusEvent;\n    new(typeArg: string, focusEventInitDict?: FocusEventInit): FocusEvent;\n    isInstance: IsInstance<FocusEvent>;\n};\n\ninterface FontFace {\n    ascentOverride: string;\n    descentOverride: string;\n    display: string;\n    family: string;\n    featureSettings: string;\n    lineGapOverride: string;\n    readonly loaded: Promise<FontFace>;\n    sizeAdjust: string;\n    readonly status: FontFaceLoadStatus;\n    stretch: string;\n    style: string;\n    unicodeRange: string;\n    variant: string;\n    variationSettings: string;\n    weight: string;\n    load(): Promise<FontFace>;\n}\n\ndeclare var FontFace: {\n    prototype: FontFace;\n    new(family: string, source: string | BinaryData, descriptors?: FontFaceDescriptors): FontFace;\n    isInstance: IsInstance<FontFace>;\n};\n\ninterface FontFaceSetEventMap {\n    \"loading\": Event;\n    \"loadingdone\": Event;\n    \"loadingerror\": Event;\n}\n\ninterface FontFaceSet extends EventTarget {\n    onloading: ((this: FontFaceSet, ev: Event) => any) | null;\n    onloadingdone: ((this: FontFaceSet, ev: Event) => any) | null;\n    onloadingerror: ((this: FontFaceSet, ev: Event) => any) | null;\n    readonly ready: Promise<void>;\n    readonly size: number;\n    readonly status: FontFaceSetLoadStatus;\n    add(font: FontFace): void;\n    check(font: string, text?: string): boolean;\n    clear(): void;\n    delete(font: FontFace): boolean;\n    entries(): FontFaceSetIterator;\n    forEach(cb: FontFaceSetForEachCallback, thisArg?: any): void;\n    has(font: FontFace): boolean;\n    load(font: string, text?: string): Promise<FontFace[]>;\n    values(): FontFaceSetIterator;\n    addEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof FontFaceSetEventMap>(type: K, listener: (this: FontFaceSet, ev: FontFaceSetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var FontFaceSet: {\n    prototype: FontFaceSet;\n    new(): FontFaceSet;\n    isInstance: IsInstance<FontFaceSet>;\n};\n\ninterface FontFaceSetIterator {\n    next(): FontFaceSetIteratorResult;\n}\n\ninterface FontFaceSetLoadEvent extends Event {\n    readonly fontfaces: FontFace[];\n}\n\ndeclare var FontFaceSetLoadEvent: {\n    prototype: FontFaceSetLoadEvent;\n    new(type: string, eventInitDict?: FontFaceSetLoadEventInit): FontFaceSetLoadEvent;\n    isInstance: IsInstance<FontFaceSetLoadEvent>;\n};\n\ninterface FontFaceSource {\n    readonly fonts: FontFaceSet;\n}\n\ninterface FormData {\n    append(name: string, value: Blob, filename?: string): void;\n    append(name: string, value: string): void;\n    delete(name: string): void;\n    get(name: string): FormDataEntryValue | null;\n    getAll(name: string): FormDataEntryValue[];\n    has(name: string): boolean;\n    set(name: string, value: Blob, filename?: string): void;\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;\n}\n\ndeclare var FormData: {\n    prototype: FormData;\n    new(form?: HTMLFormElement, submitter?: HTMLElement | null): FormData;\n    isInstance: IsInstance<FormData>;\n};\n\ninterface FormDataEvent extends Event {\n    readonly formData: FormData;\n}\n\ndeclare var FormDataEvent: {\n    prototype: FormDataEvent;\n    new(type: string, eventInitDict?: FormDataEventInit): FormDataEvent;\n    isInstance: IsInstance<FormDataEvent>;\n};\n\ninterface FragmentDirective {\n    createTextDirective(range: Range): Promise<string>;\n    getTextDirectiveRanges(): Range[];\n    removeAllTextDirectives(): void;\n}\n\ndeclare var FragmentDirective: {\n    prototype: FragmentDirective;\n    new(): FragmentDirective;\n    isInstance: IsInstance<FragmentDirective>;\n};\n\ninterface FrameCrashedEvent extends Event {\n    readonly browsingContextId: number;\n    readonly childID: number;\n    readonly isTopFrame: boolean;\n}\n\ndeclare var FrameCrashedEvent: {\n    prototype: FrameCrashedEvent;\n    new(type: string, eventInitDict?: FrameCrashedEventInit): FrameCrashedEvent;\n    isInstance: IsInstance<FrameCrashedEvent>;\n};\n\ninterface FrameLoader extends WebBrowserPersistable {\n    readonly browsingContext: BrowsingContext | null;\n    readonly childID: number;\n    readonly depthTooGreat: boolean;\n    readonly docShell: nsIDocShell | null;\n    readonly isDead: boolean;\n    readonly isRemoteFrame: boolean;\n    readonly lazyHeight: number;\n    readonly lazyWidth: number;\n    readonly loadContext: LoadContext | null;\n    readonly messageManager: MessageSender | null;\n    readonly ownerElement: Element | null;\n    readonly remoteTab: RemoteTab | null;\n    exitPrintPreview(): void;\n    printPreview(aPrintSettings: nsIPrintSettings, aSourceBrowsingContext: BrowsingContext | null): Promise<number>;\n    requestEpochUpdate(aEpoch: number): void;\n    requestSHistoryUpdate(): void;\n    requestTabStateFlush(): Promise<void>;\n    requestUpdatePosition(): void;\n}\n\ndeclare var FrameLoader: {\n    prototype: FrameLoader;\n    new(): FrameLoader;\n    isInstance: IsInstance<FrameLoader>;\n};\n\ninterface FrameScriptLoader {\n    getDelayedFrameScripts(): any[][];\n    loadFrameScript(url: string, allowDelayedLoad: boolean, runInGlobalScope?: boolean): void;\n    removeDelayedFrameScript(url: string): void;\n}\n\n/** Available only in secure contexts. */\ninterface GPU {\n    readonly wgslLanguageFeatures: WGSLLanguageFeatures;\n    getPreferredCanvasFormat(): GPUTextureFormat;\n    requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;\n}\n\ndeclare var GPU: {\n    prototype: GPU;\n    new(): GPU;\n    isInstance: IsInstance<GPU>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUAdapter {\n    readonly features: GPUSupportedFeatures;\n    readonly info: GPUAdapterInfo;\n    readonly limits: GPUSupportedLimits;\n    readonly missingFeatures: number;\n    requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;\n}\n\ndeclare var GPUAdapter: {\n    prototype: GPUAdapter;\n    new(): GPUAdapter;\n    isInstance: IsInstance<GPUAdapter>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUAdapterInfo {\n    readonly architecture: string;\n    readonly description: string;\n    readonly device: string;\n    readonly isFallbackAdapter: boolean;\n    readonly subgroupMaxSize: number;\n    readonly subgroupMinSize: number;\n    readonly vendor: string;\n    readonly wgpuBackend: string;\n    readonly wgpuDevice: number;\n    readonly wgpuDeviceType: string;\n    readonly wgpuDriver: string;\n    readonly wgpuDriverInfo: string;\n    readonly wgpuName: string;\n    readonly wgpuVendor: number;\n}\n\ndeclare var GPUAdapterInfo: {\n    prototype: GPUAdapterInfo;\n    new(): GPUAdapterInfo;\n    isInstance: IsInstance<GPUAdapterInfo>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUBindGroup extends GPUObjectBase {\n}\n\ndeclare var GPUBindGroup: {\n    prototype: GPUBindGroup;\n    new(): GPUBindGroup;\n    isInstance: IsInstance<GPUBindGroup>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUBindGroupLayout extends GPUObjectBase {\n}\n\ndeclare var GPUBindGroupLayout: {\n    prototype: GPUBindGroupLayout;\n    new(): GPUBindGroupLayout;\n    isInstance: IsInstance<GPUBindGroupLayout>;\n};\n\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: GPUBufferDynamicOffset[]): void;\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsetsData: Uint32Array, dynamicOffsetsDataStart: GPUSize64, dynamicOffsetsDataLength: GPUSize32): void;\n}\n\n/** Available only in secure contexts. */\ninterface GPUBuffer extends GPUObjectBase {\n    readonly mapState: GPUBufferMapState;\n    readonly size: GPUSize64Out;\n    readonly usage: GPUFlagsConstant;\n    destroy(): void;\n    getMappedRange(offset?: GPUSize64, size?: GPUSize64): ArrayBuffer;\n    mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64, size?: GPUSize64): Promise<void>;\n    unmap(): void;\n}\n\ndeclare var GPUBuffer: {\n    prototype: GPUBuffer;\n    new(): GPUBuffer;\n    isInstance: IsInstance<GPUBuffer>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUCanvasContext {\n    readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n    configure(configuration: GPUCanvasConfiguration): void;\n    getConfiguration(): GPUCanvasConfiguration | null;\n    getCurrentTexture(): GPUTexture;\n    unconfigure(): void;\n}\n\ndeclare var GPUCanvasContext: {\n    prototype: GPUCanvasContext;\n    new(): GPUCanvasContext;\n    isInstance: IsInstance<GPUCanvasContext>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUCommandBuffer extends GPUObjectBase {\n}\n\ndeclare var GPUCommandBuffer: {\n    prototype: GPUCommandBuffer;\n    new(): GPUCommandBuffer;\n    isInstance: IsInstance<GPUCommandBuffer>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUCommandEncoder extends GPUDebugCommandsMixin, GPUObjectBase {\n    beginComputePass(descriptor?: GPUComputePassDescriptor): GPUComputePassEncoder;\n    beginRenderPass(descriptor: GPURenderPassDescriptor): GPURenderPassEncoder;\n    clearBuffer(buffer: GPUBuffer, offset?: GPUSize64, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, destination: GPUBuffer, size?: GPUSize64): void;\n    copyBufferToBuffer(source: GPUBuffer, sourceOffset: GPUSize64, destination: GPUBuffer, destinationOffset: GPUSize64, size?: GPUSize64): void;\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: GPUExtent3D): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: GPUExtent3D): void;\n    finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer;\n    resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): void;\n}\n\ndeclare var GPUCommandEncoder: {\n    prototype: GPUCommandEncoder;\n    new(): GPUCommandEncoder;\n    isInstance: IsInstance<GPUCommandEncoder>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUCompilationInfo {\n    readonly messages: GPUCompilationMessage[];\n}\n\ndeclare var GPUCompilationInfo: {\n    prototype: GPUCompilationInfo;\n    new(): GPUCompilationInfo;\n    isInstance: IsInstance<GPUCompilationInfo>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUCompilationMessage {\n    readonly length: number;\n    readonly lineNum: number;\n    readonly linePos: number;\n    readonly message: string;\n    readonly offset: number;\n    readonly type: GPUCompilationMessageType;\n}\n\ndeclare var GPUCompilationMessage: {\n    prototype: GPUCompilationMessage;\n    new(): GPUCompilationMessage;\n    isInstance: IsInstance<GPUCompilationMessage>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUComputePassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase {\n    dispatchWorkgroups(workgroupCountX: GPUSize32, workgroupCountY?: GPUSize32, workgroupCountZ?: GPUSize32): void;\n    dispatchWorkgroupsIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    end(): void;\n    setPipeline(pipeline: GPUComputePipeline): void;\n}\n\ndeclare var GPUComputePassEncoder: {\n    prototype: GPUComputePassEncoder;\n    new(): GPUComputePassEncoder;\n    isInstance: IsInstance<GPUComputePassEncoder>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase {\n}\n\ndeclare var GPUComputePipeline: {\n    prototype: GPUComputePipeline;\n    new(): GPUComputePipeline;\n    isInstance: IsInstance<GPUComputePipeline>;\n};\n\ninterface GPUDebugCommandsMixin {\n    insertDebugMarker(markerLabel: string): void;\n    popDebugGroup(): void;\n    pushDebugGroup(groupLabel: string): void;\n}\n\ninterface GPUDeviceEventMap {\n    \"uncapturederror\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface GPUDevice extends EventTarget, GPUObjectBase {\n    readonly adapterInfo: GPUAdapterInfo;\n    readonly features: GPUSupportedFeatures;\n    readonly limits: GPUSupportedLimits;\n    readonly lost: Promise<GPUDeviceLostInfo>;\n    onuncapturederror: ((this: GPUDevice, ev: Event) => any) | null;\n    readonly queue: GPUQueue;\n    createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;\n    createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;\n    createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer;\n    createCommandEncoder(descriptor?: GPUCommandEncoderDescriptor): GPUCommandEncoder;\n    createComputePipeline(descriptor: GPUComputePipelineDescriptor): GPUComputePipeline;\n    createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor): Promise<GPUComputePipeline>;\n    createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor): GPUPipelineLayout;\n    createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet;\n    createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;\n    createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;\n    createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;\n    createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler;\n    createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule;\n    createTexture(descriptor: GPUTextureDescriptor): GPUTexture;\n    destroy(): void;\n    popErrorScope(): Promise<GPUError | null>;\n    pushErrorScope(filter: GPUErrorFilter): void;\n    addEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GPUDeviceEventMap>(type: K, listener: (this: GPUDevice, ev: GPUDeviceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var GPUDevice: {\n    prototype: GPUDevice;\n    new(): GPUDevice;\n    isInstance: IsInstance<GPUDevice>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUDeviceLostInfo {\n    readonly message: string;\n    readonly reason: any;\n}\n\ndeclare var GPUDeviceLostInfo: {\n    prototype: GPUDeviceLostInfo;\n    new(): GPUDeviceLostInfo;\n    isInstance: IsInstance<GPUDeviceLostInfo>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUError {\n    readonly message: string;\n}\n\ndeclare var GPUError: {\n    prototype: GPUError;\n    new(): GPUError;\n    isInstance: IsInstance<GPUError>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUExternalTexture extends GPUObjectBase {\n}\n\ndeclare var GPUExternalTexture: {\n    prototype: GPUExternalTexture;\n    new(): GPUExternalTexture;\n    isInstance: IsInstance<GPUExternalTexture>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUInternalError extends GPUError {\n}\n\ndeclare var GPUInternalError: {\n    prototype: GPUInternalError;\n    new(message: string): GPUInternalError;\n    isInstance: IsInstance<GPUInternalError>;\n};\n\ninterface GPUObjectBase {\n    label: string;\n}\n\n/** Available only in secure contexts. */\ninterface GPUOutOfMemoryError extends GPUError {\n}\n\ndeclare var GPUOutOfMemoryError: {\n    prototype: GPUOutOfMemoryError;\n    new(message: string): GPUOutOfMemoryError;\n    isInstance: IsInstance<GPUOutOfMemoryError>;\n};\n\ninterface GPUPipelineBase {\n    getBindGroupLayout(index: number): GPUBindGroupLayout;\n}\n\n/** Available only in secure contexts. */\ninterface GPUPipelineError extends DOMException {\n    readonly reason: GPUPipelineErrorReason;\n}\n\ndeclare var GPUPipelineError: {\n    prototype: GPUPipelineError;\n    new(message?: string, options: GPUPipelineErrorInit): GPUPipelineError;\n    isInstance: IsInstance<GPUPipelineError>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUPipelineLayout extends GPUObjectBase {\n}\n\ndeclare var GPUPipelineLayout: {\n    prototype: GPUPipelineLayout;\n    new(): GPUPipelineLayout;\n    isInstance: IsInstance<GPUPipelineLayout>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUQuerySet extends GPUObjectBase {\n    readonly count: GPUSize32Out;\n    readonly type: GPUQueryType;\n    destroy(): void;\n}\n\ndeclare var GPUQuerySet: {\n    prototype: GPUQuerySet;\n    new(): GPUQuerySet;\n    isInstance: IsInstance<GPUQuerySet>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUQueue extends GPUObjectBase {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: GPUExtent3D): void;\n    onSubmittedWorkDone(): Promise<void>;\n    submit(buffers: GPUCommandBuffer[]): void;\n    writeBuffer(buffer: GPUBuffer, bufferOffset: GPUSize64, data: AllowSharedBufferSource, dataOffset?: GPUSize64, size?: GPUSize64): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: GPUExtent3D): void;\n}\n\ndeclare var GPUQueue: {\n    prototype: GPUQueue;\n    new(): GPUQueue;\n    isInstance: IsInstance<GPUQueue>;\n};\n\n/** Available only in secure contexts. */\ninterface GPURenderBundle extends GPUObjectBase {\n}\n\ndeclare var GPURenderBundle: {\n    prototype: GPURenderBundle;\n    new(): GPURenderBundle;\n    isInstance: IsInstance<GPURenderBundle>;\n};\n\n/** Available only in secure contexts. */\ninterface GPURenderBundleEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle;\n}\n\ndeclare var GPURenderBundleEncoder: {\n    prototype: GPURenderBundleEncoder;\n    new(): GPURenderBundleEncoder;\n    isInstance: IsInstance<GPURenderBundleEncoder>;\n};\n\ninterface GPURenderCommandsMixin {\n    draw(vertexCount: GPUSize32, instanceCount?: GPUSize32, firstVertex?: GPUSize32, firstInstance?: GPUSize32): void;\n    drawIndexed(indexCount: GPUSize32, instanceCount?: GPUSize32, firstIndex?: GPUSize32, baseVertex?: GPUSignedOffset32, firstInstance?: GPUSize32): void;\n    drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): void;\n    setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64, size?: GPUSize64): void;\n    setPipeline(pipeline: GPURenderPipeline): void;\n    setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64, size?: GPUSize64): void;\n}\n\n/** Available only in secure contexts. */\ninterface GPURenderPassEncoder extends GPUBindingCommandsMixin, GPUDebugCommandsMixin, GPUObjectBase, GPURenderCommandsMixin {\n    beginOcclusionQuery(queryIndex: GPUSize32): void;\n    end(): void;\n    endOcclusionQuery(): void;\n    executeBundles(bundles: GPURenderBundle[]): void;\n    setBlendConstant(color: GPUColor): void;\n    setScissorRect(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, width: GPUIntegerCoordinate, height: GPUIntegerCoordinate): void;\n    setStencilReference(reference: GPUStencilValue): void;\n    setViewport(x: number, y: number, width: number, height: number, minDepth: number, maxDepth: number): void;\n}\n\ndeclare var GPURenderPassEncoder: {\n    prototype: GPURenderPassEncoder;\n    new(): GPURenderPassEncoder;\n    isInstance: IsInstance<GPURenderPassEncoder>;\n};\n\n/** Available only in secure contexts. */\ninterface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase {\n}\n\ndeclare var GPURenderPipeline: {\n    prototype: GPURenderPipeline;\n    new(): GPURenderPipeline;\n    isInstance: IsInstance<GPURenderPipeline>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUSampler extends GPUObjectBase {\n}\n\ndeclare var GPUSampler: {\n    prototype: GPUSampler;\n    new(): GPUSampler;\n    isInstance: IsInstance<GPUSampler>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUShaderModule extends GPUObjectBase {\n    getCompilationInfo(): Promise<GPUCompilationInfo>;\n}\n\ndeclare var GPUShaderModule: {\n    prototype: GPUShaderModule;\n    new(): GPUShaderModule;\n    isInstance: IsInstance<GPUShaderModule>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUSupportedFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: GPUSupportedFeatures) => void, thisArg?: any): void;\n}\n\ndeclare var GPUSupportedFeatures: {\n    prototype: GPUSupportedFeatures;\n    new(): GPUSupportedFeatures;\n    isInstance: IsInstance<GPUSupportedFeatures>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUSupportedLimits {\n    readonly maxBindGroups: number;\n    readonly maxBindGroupsPlusVertexBuffers: number;\n    readonly maxBindingsPerBindGroup: number;\n    readonly maxBufferSize: number;\n    readonly maxColorAttachmentBytesPerSample: number;\n    readonly maxColorAttachments: number;\n    readonly maxComputeInvocationsPerWorkgroup: number;\n    readonly maxComputeWorkgroupSizeX: number;\n    readonly maxComputeWorkgroupSizeY: number;\n    readonly maxComputeWorkgroupSizeZ: number;\n    readonly maxComputeWorkgroupStorageSize: number;\n    readonly maxComputeWorkgroupsPerDimension: number;\n    readonly maxDynamicStorageBuffersPerPipelineLayout: number;\n    readonly maxDynamicUniformBuffersPerPipelineLayout: number;\n    readonly maxInterStageShaderVariables: number;\n    readonly maxSampledTexturesPerShaderStage: number;\n    readonly maxSamplersPerShaderStage: number;\n    readonly maxStorageBufferBindingSize: number;\n    readonly maxStorageBuffersPerShaderStage: number;\n    readonly maxStorageTexturesPerShaderStage: number;\n    readonly maxTextureArrayLayers: number;\n    readonly maxTextureDimension1D: number;\n    readonly maxTextureDimension2D: number;\n    readonly maxTextureDimension3D: number;\n    readonly maxUniformBufferBindingSize: number;\n    readonly maxUniformBuffersPerShaderStage: number;\n    readonly maxVertexAttributes: number;\n    readonly maxVertexBufferArrayStride: number;\n    readonly maxVertexBuffers: number;\n    readonly minStorageBufferOffsetAlignment: number;\n    readonly minUniformBufferOffsetAlignment: number;\n}\n\ndeclare var GPUSupportedLimits: {\n    prototype: GPUSupportedLimits;\n    new(): GPUSupportedLimits;\n    isInstance: IsInstance<GPUSupportedLimits>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUTexture extends GPUObjectBase {\n    readonly depthOrArrayLayers: GPUIntegerCoordinateOut;\n    readonly dimension: GPUTextureDimension;\n    readonly format: GPUTextureFormat;\n    readonly height: GPUIntegerCoordinateOut;\n    readonly mipLevelCount: GPUIntegerCoordinateOut;\n    readonly sampleCount: GPUSize32Out;\n    readonly usage: GPUFlagsConstant;\n    readonly width: GPUIntegerCoordinateOut;\n    createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;\n    destroy(): void;\n}\n\ndeclare var GPUTexture: {\n    prototype: GPUTexture;\n    new(): GPUTexture;\n    isInstance: IsInstance<GPUTexture>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUTextureView extends GPUObjectBase {\n}\n\ndeclare var GPUTextureView: {\n    prototype: GPUTextureView;\n    new(): GPUTextureView;\n    isInstance: IsInstance<GPUTextureView>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUUncapturedErrorEvent extends Event {\n    readonly error: GPUError;\n}\n\ndeclare var GPUUncapturedErrorEvent: {\n    prototype: GPUUncapturedErrorEvent;\n    new(type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit): GPUUncapturedErrorEvent;\n    isInstance: IsInstance<GPUUncapturedErrorEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface GPUValidationError extends GPUError {\n}\n\ndeclare var GPUValidationError: {\n    prototype: GPUValidationError;\n    new(message: string): GPUValidationError;\n    isInstance: IsInstance<GPUValidationError>;\n};\n\ninterface GainNode extends AudioNode, AudioNodePassThrough {\n    readonly gain: AudioParam;\n}\n\ndeclare var GainNode: {\n    prototype: GainNode;\n    new(context: BaseAudioContext, options?: GainOptions): GainNode;\n    isInstance: IsInstance<GainNode>;\n};\n\ninterface Gamepad {\n    readonly axes: number[];\n    readonly buttons: GamepadButton[];\n    readonly connected: boolean;\n    readonly displayId: number;\n    readonly hand: GamepadHand;\n    readonly hapticActuators: GamepadHapticActuator[];\n    readonly id: string;\n    readonly index: number;\n    readonly lightIndicators: GamepadLightIndicator[];\n    readonly mapping: GamepadMappingType;\n    readonly pose: GamepadPose | null;\n    readonly timestamp: DOMHighResTimeStamp;\n    readonly touchEvents: GamepadTouch[];\n}\n\ndeclare var Gamepad: {\n    prototype: Gamepad;\n    new(): Gamepad;\n    isInstance: IsInstance<Gamepad>;\n};\n\ninterface GamepadAxisMoveEvent extends GamepadEvent {\n    readonly axis: number;\n    readonly value: number;\n}\n\ndeclare var GamepadAxisMoveEvent: {\n    prototype: GamepadAxisMoveEvent;\n    new(type: string, eventInitDict?: GamepadAxisMoveEventInit): GamepadAxisMoveEvent;\n    isInstance: IsInstance<GamepadAxisMoveEvent>;\n};\n\ninterface GamepadButton {\n    readonly pressed: boolean;\n    readonly touched: boolean;\n    readonly value: number;\n}\n\ndeclare var GamepadButton: {\n    prototype: GamepadButton;\n    new(): GamepadButton;\n    isInstance: IsInstance<GamepadButton>;\n};\n\ninterface GamepadButtonEvent extends GamepadEvent {\n    readonly button: number;\n}\n\ndeclare var GamepadButtonEvent: {\n    prototype: GamepadButtonEvent;\n    new(type: string, eventInitDict?: GamepadButtonEventInit): GamepadButtonEvent;\n    isInstance: IsInstance<GamepadButtonEvent>;\n};\n\ninterface GamepadEvent extends Event {\n    readonly gamepad: Gamepad | null;\n}\n\ndeclare var GamepadEvent: {\n    prototype: GamepadEvent;\n    new(type: string, eventInitDict?: GamepadEventInit): GamepadEvent;\n    isInstance: IsInstance<GamepadEvent>;\n};\n\ninterface GamepadHapticActuator {\n    readonly type: GamepadHapticActuatorType;\n    pulse(value: number, duration: number): Promise<boolean>;\n}\n\ndeclare var GamepadHapticActuator: {\n    prototype: GamepadHapticActuator;\n    new(): GamepadHapticActuator;\n    isInstance: IsInstance<GamepadHapticActuator>;\n};\n\ninterface GamepadLightIndicator {\n    readonly type: GamepadLightIndicatorType;\n    setColor(color: GamepadLightColor): Promise<boolean>;\n}\n\ndeclare var GamepadLightIndicator: {\n    prototype: GamepadLightIndicator;\n    new(): GamepadLightIndicator;\n    isInstance: IsInstance<GamepadLightIndicator>;\n};\n\ninterface GamepadPose {\n    readonly angularAcceleration: Float32Array | null;\n    readonly angularVelocity: Float32Array | null;\n    readonly hasOrientation: boolean;\n    readonly hasPosition: boolean;\n    readonly linearAcceleration: Float32Array | null;\n    readonly linearVelocity: Float32Array | null;\n    readonly orientation: Float32Array | null;\n    readonly position: Float32Array | null;\n}\n\ndeclare var GamepadPose: {\n    prototype: GamepadPose;\n    new(): GamepadPose;\n    isInstance: IsInstance<GamepadPose>;\n};\n\ninterface GamepadServiceTest {\n    readonly leftHand: GamepadHand;\n    readonly noHand: GamepadHand;\n    readonly noMapping: GamepadMappingType;\n    readonly rightHand: GamepadHand;\n    readonly standardMapping: GamepadMappingType;\n    addGamepad(id: string, mapping: GamepadMappingType, hand: GamepadHand, numButtons: number, numAxes: number, numHaptics: number, numLightIndicator: number, numTouchEvents: number): Promise<number>;\n    newAxisMoveEvent(index: number, axis: number, value: number): Promise<number>;\n    newButtonEvent(index: number, button: number, pressed: boolean, touched: boolean): Promise<number>;\n    newButtonValueEvent(index: number, button: number, pressed: boolean, touched: boolean, value: number): Promise<number>;\n    newPoseMove(index: number, orient: Float32Array | null, pos: Float32Array | null, angVelocity: Float32Array | null, angAcceleration: Float32Array | null, linVelocity: Float32Array | null, linAcceleration: Float32Array | null): Promise<number>;\n    newTouch(index: number, aTouchArrayIndex: number, touchId: number, surfaceId: number, position: Float32Array, surfaceDimension: Float32Array | null): Promise<number>;\n    removeGamepad(index: number): Promise<number>;\n}\n\ndeclare var GamepadServiceTest: {\n    prototype: GamepadServiceTest;\n    new(): GamepadServiceTest;\n    isInstance: IsInstance<GamepadServiceTest>;\n};\n\ninterface GamepadTouch {\n    readonly position: Float32Array;\n    readonly surfaceDimensions: Uint32Array | null;\n    readonly surfaceId: number;\n    readonly touchId: number;\n}\n\ndeclare var GamepadTouch: {\n    prototype: GamepadTouch;\n    new(): GamepadTouch;\n    isInstance: IsInstance<GamepadTouch>;\n};\n\ninterface GenericTransformStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\n\ninterface Geolocation {\n    clearWatch(watchId: number): void;\n    getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): void;\n    watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback | null, options?: PositionOptions): number;\n}\n\ndeclare var Geolocation: {\n    prototype: Geolocation;\n    new(): Geolocation;\n    isInstance: IsInstance<Geolocation>;\n};\n\n/** Available only in secure contexts. */\ninterface GeolocationCoordinates {\n    readonly accuracy: number;\n    readonly altitude: number | null;\n    readonly altitudeAccuracy: number | null;\n    readonly heading: number | null;\n    readonly latitude: number;\n    readonly longitude: number;\n    readonly speed: number | null;\n    toJSON(): any;\n}\n\ndeclare var GeolocationCoordinates: {\n    prototype: GeolocationCoordinates;\n    new(): GeolocationCoordinates;\n    isInstance: IsInstance<GeolocationCoordinates>;\n};\n\n/** Available only in secure contexts. */\ninterface GeolocationPosition {\n    readonly coords: GeolocationCoordinates;\n    readonly timestamp: EpochTimeStamp;\n    toJSON(): any;\n}\n\ndeclare var GeolocationPosition: {\n    prototype: GeolocationPosition;\n    new(): GeolocationPosition;\n    isInstance: IsInstance<GeolocationPosition>;\n};\n\ninterface GeolocationPositionError {\n    readonly code: number;\n    readonly message: string;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n}\n\ndeclare var GeolocationPositionError: {\n    prototype: GeolocationPositionError;\n    new(): GeolocationPositionError;\n    readonly PERMISSION_DENIED: 1;\n    readonly POSITION_UNAVAILABLE: 2;\n    readonly TIMEOUT: 3;\n    isInstance: IsInstance<GeolocationPositionError>;\n};\n\ninterface GeometryUtils {\n    convertPointFromNode(point: DOMPointInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMPoint;\n    convertQuadFromNode(quad: DOMQuad, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad;\n    convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad;\n    getBoxQuads(options?: BoxQuadOptions): DOMQuad[];\n    getBoxQuadsFromWindowOrigin(options?: BoxQuadOptions): DOMQuad[];\n}\n\ninterface GetUserMediaRequest {\n    readonly callID: string;\n    readonly devices: nsIMediaDevice[];\n    readonly innerWindowID: number;\n    readonly isHandlingUserInput: boolean;\n    readonly isSecure: boolean;\n    readonly mediaSource: string;\n    readonly rawID: string;\n    readonly type: GetUserMediaRequestType;\n    readonly windowID: number;\n    getAudioOutputOptions(): AudioOutputOptions;\n    getConstraints(): MediaStreamConstraints;\n}\n\ninterface GleanBoolean extends GleanMetric {\n    set(value: boolean): void;\n    testGetValue(aPingName?: string): boolean | null;\n}\n\ndeclare var GleanBoolean: {\n    prototype: GleanBoolean;\n    new(): GleanBoolean;\n    isInstance: IsInstance<GleanBoolean>;\n};\n\ninterface GleanCategory {\n}\n\ndeclare var GleanCategory: {\n    prototype: GleanCategory;\n    new(): GleanCategory;\n    isInstance: IsInstance<GleanCategory>;\n};\n\ninterface GleanCounter extends GleanMetric {\n    add(aAmount?: number): void;\n    testGetValue(aPingName?: string): number | null;\n}\n\ndeclare var GleanCounter: {\n    prototype: GleanCounter;\n    new(): GleanCounter;\n    isInstance: IsInstance<GleanCounter>;\n};\n\ninterface GleanCustomDistribution extends GleanMetric {\n    accumulateSamples(aSamples: number[]): void;\n    accumulateSingleSample(aSample: number): void;\n    testGetValue(aPingName?: string): GleanDistributionData | null;\n}\n\ndeclare var GleanCustomDistribution: {\n    prototype: GleanCustomDistribution;\n    new(): GleanCustomDistribution;\n    isInstance: IsInstance<GleanCustomDistribution>;\n};\n\ninterface GleanDatetime extends GleanMetric {\n    set(aValue?: number): void;\n    testGetValue(aPingName?: string): any;\n}\n\ndeclare var GleanDatetime: {\n    prototype: GleanDatetime;\n    new(): GleanDatetime;\n    isInstance: IsInstance<GleanDatetime>;\n};\n\ninterface GleanDenominator extends GleanMetric {\n    add(aAmount?: number): void;\n    testGetValue(aPingName?: string): number | null;\n}\n\ndeclare var GleanDenominator: {\n    prototype: GleanDenominator;\n    new(): GleanDenominator;\n    isInstance: IsInstance<GleanDenominator>;\n};\n\ninterface GleanDualLabeledCounter extends GleanMetric {\n    get(aKey: string, aCategory: string): GleanCounter;\n}\n\ndeclare var GleanDualLabeledCounter: {\n    prototype: GleanDualLabeledCounter;\n    new(): GleanDualLabeledCounter;\n    isInstance: IsInstance<GleanDualLabeledCounter>;\n};\n\ninterface GleanEvent extends GleanMetric {\n    record(aExtra?: Record<string, string | null> | null): void;\n    testGetValue(aPingName?: string): GleanEventRecord[] | null;\n}\n\ndeclare var GleanEvent: {\n    prototype: GleanEvent;\n    new(): GleanEvent;\n    isInstance: IsInstance<GleanEvent>;\n};\n\ninterface GleanImpl {\n}\n\ndeclare var GleanImpl: {\n    prototype: GleanImpl;\n    new(): GleanImpl;\n    isInstance: IsInstance<GleanImpl>;\n};\n\ninterface GleanLabeled {\n}\n\ndeclare var GleanLabeled: {\n    prototype: GleanLabeled;\n    new(): GleanLabeled;\n    isInstance: IsInstance<GleanLabeled>;\n};\n\ninterface GleanMemoryDistribution extends GleanMetric {\n    accumulate(aSample: number): void;\n    testGetValue(aPingName?: string): GleanDistributionData | null;\n}\n\ndeclare var GleanMemoryDistribution: {\n    prototype: GleanMemoryDistribution;\n    new(): GleanMemoryDistribution;\n    isInstance: IsInstance<GleanMemoryDistribution>;\n};\n\ninterface GleanMetric {\n}\n\ndeclare var GleanMetric: {\n    prototype: GleanMetric;\n    new(): GleanMetric;\n    isInstance: IsInstance<GleanMetric>;\n};\n\ninterface GleanNumerator extends GleanMetric {\n    addToNumerator(aAmount?: number): void;\n    testGetValue(aPingName?: string): GleanRateData | null;\n}\n\ndeclare var GleanNumerator: {\n    prototype: GleanNumerator;\n    new(): GleanNumerator;\n    isInstance: IsInstance<GleanNumerator>;\n};\n\ninterface GleanObject extends GleanMetric {\n    set(value: any): void;\n    testGetValue(aPingName?: string): any;\n}\n\ndeclare var GleanObject: {\n    prototype: GleanObject;\n    new(): GleanObject;\n    isInstance: IsInstance<GleanObject>;\n};\n\ninterface GleanPingsImpl {\n}\n\ndeclare var GleanPingsImpl: {\n    prototype: GleanPingsImpl;\n    new(): GleanPingsImpl;\n    isInstance: IsInstance<GleanPingsImpl>;\n};\n\ninterface GleanQuantity extends GleanMetric {\n    set(aValue: number): void;\n    testGetValue(aPingName?: string): number | null;\n}\n\ndeclare var GleanQuantity: {\n    prototype: GleanQuantity;\n    new(): GleanQuantity;\n    isInstance: IsInstance<GleanQuantity>;\n};\n\ninterface GleanRate extends GleanMetric {\n    addToDenominator(aAmount?: number): void;\n    addToNumerator(aAmount?: number): void;\n    testGetValue(aPingName?: string): GleanRateData | null;\n}\n\ndeclare var GleanRate: {\n    prototype: GleanRate;\n    new(): GleanRate;\n    isInstance: IsInstance<GleanRate>;\n};\n\ninterface GleanString extends GleanMetric {\n    set(aValue: string | null): void;\n    testGetValue(aPingName?: string): string | null;\n}\n\ndeclare var GleanString: {\n    prototype: GleanString;\n    new(): GleanString;\n    isInstance: IsInstance<GleanString>;\n};\n\ninterface GleanStringList extends GleanMetric {\n    add(value: string): void;\n    set(aValue: string[]): void;\n    testGetValue(aPingName?: string): string[] | null;\n}\n\ndeclare var GleanStringList: {\n    prototype: GleanStringList;\n    new(): GleanStringList;\n    isInstance: IsInstance<GleanStringList>;\n};\n\ninterface GleanText extends GleanMetric {\n    set(aValue: string): void;\n    testGetValue(aPingName?: string): string | null;\n}\n\ndeclare var GleanText: {\n    prototype: GleanText;\n    new(): GleanText;\n    isInstance: IsInstance<GleanText>;\n};\n\ninterface GleanTimespan extends GleanMetric {\n    cancel(): void;\n    setRaw(aDuration: number): void;\n    start(): void;\n    stop(): void;\n    testGetValue(aPingName?: string): number | null;\n}\n\ndeclare var GleanTimespan: {\n    prototype: GleanTimespan;\n    new(): GleanTimespan;\n    isInstance: IsInstance<GleanTimespan>;\n};\n\ninterface GleanTimingDistribution extends GleanMetric {\n    accumulateSamples(aSamples: number[]): void;\n    accumulateSingleSample(aSample: number): void;\n    cancel(aId: number): void;\n    start(): number;\n    stopAndAccumulate(aId: number): void;\n    testAccumulateRawMillis(aSample: number): void;\n    testGetValue(aPingName?: string): GleanDistributionData | null;\n}\n\ndeclare var GleanTimingDistribution: {\n    prototype: GleanTimingDistribution;\n    new(): GleanTimingDistribution;\n    isInstance: IsInstance<GleanTimingDistribution>;\n};\n\ninterface GleanUrl extends GleanMetric {\n    set(aValue: string): void;\n    testGetValue(aPingName?: string): string | null;\n}\n\ndeclare var GleanUrl: {\n    prototype: GleanUrl;\n    new(): GleanUrl;\n    isInstance: IsInstance<GleanUrl>;\n};\n\ninterface GleanUuid extends GleanMetric {\n    generateAndSet(): void;\n    set(aValue: string): void;\n    testGetValue(aPingName?: string): string | null;\n}\n\ndeclare var GleanUuid: {\n    prototype: GleanUuid;\n    new(): GleanUuid;\n    isInstance: IsInstance<GleanUuid>;\n};\n\ninterface GlobalCrypto {\n    readonly crypto: Crypto;\n}\n\ninterface GlobalEventHandlersEventMap {\n    \"abort\": Event;\n    \"animationcancel\": Event;\n    \"animationend\": Event;\n    \"animationiteration\": Event;\n    \"animationstart\": Event;\n    \"auxclick\": Event;\n    \"beforeinput\": Event;\n    \"beforematch\": Event;\n    \"beforetoggle\": Event;\n    \"blur\": Event;\n    \"cancel\": Event;\n    \"canplay\": Event;\n    \"canplaythrough\": Event;\n    \"change\": Event;\n    \"click\": Event;\n    \"close\": Event;\n    \"contentvisibilityautostatechange\": Event;\n    \"contextlost\": Event;\n    \"contextmenu\": Event;\n    \"contextrestored\": Event;\n    \"copy\": Event;\n    \"cuechange\": Event;\n    \"cut\": Event;\n    \"dblclick\": Event;\n    \"drag\": Event;\n    \"dragend\": Event;\n    \"dragenter\": Event;\n    \"dragexit\": Event;\n    \"dragleave\": Event;\n    \"dragover\": Event;\n    \"dragstart\": Event;\n    \"drop\": Event;\n    \"durationchange\": Event;\n    \"emptied\": Event;\n    \"ended\": Event;\n    \"focus\": Event;\n    \"formdata\": Event;\n    \"gotpointercapture\": Event;\n    \"input\": Event;\n    \"invalid\": Event;\n    \"keydown\": Event;\n    \"keypress\": Event;\n    \"keyup\": Event;\n    \"load\": Event;\n    \"loadeddata\": Event;\n    \"loadedmetadata\": Event;\n    \"loadstart\": Event;\n    \"lostpointercapture\": Event;\n    \"mousedown\": Event;\n    \"mouseenter\": Event;\n    \"mouseleave\": Event;\n    \"mousemove\": Event;\n    \"mouseout\": Event;\n    \"mouseover\": Event;\n    \"mouseup\": Event;\n    \"mozfullscreenchange\": Event;\n    \"mozfullscreenerror\": Event;\n    \"paste\": Event;\n    \"pause\": Event;\n    \"play\": Event;\n    \"playing\": Event;\n    \"pointercancel\": Event;\n    \"pointerdown\": Event;\n    \"pointerenter\": Event;\n    \"pointerleave\": Event;\n    \"pointermove\": Event;\n    \"pointerout\": Event;\n    \"pointerover\": Event;\n    \"pointerrawupdate\": Event;\n    \"pointerup\": Event;\n    \"progress\": Event;\n    \"ratechange\": Event;\n    \"reset\": Event;\n    \"resize\": Event;\n    \"scroll\": Event;\n    \"scrollend\": Event;\n    \"securitypolicyviolation\": Event;\n    \"seeked\": Event;\n    \"seeking\": Event;\n    \"select\": Event;\n    \"selectionchange\": Event;\n    \"selectstart\": Event;\n    \"slotchange\": Event;\n    \"stalled\": Event;\n    \"submit\": Event;\n    \"suspend\": Event;\n    \"timeupdate\": Event;\n    \"toggle\": Event;\n    \"transitioncancel\": Event;\n    \"transitionend\": Event;\n    \"transitionrun\": Event;\n    \"transitionstart\": Event;\n    \"volumechange\": Event;\n    \"waiting\": Event;\n    \"webkitanimationend\": Event;\n    \"webkitanimationiteration\": Event;\n    \"webkitanimationstart\": Event;\n    \"webkittransitionend\": Event;\n    \"wheel\": Event;\n}\n\ninterface GlobalEventHandlers {\n    onabort: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onanimationcancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onauxclick: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onbeforeinput: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onblur: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onclick: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontentvisibilityautostatechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontextmenu: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncopy: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oncut: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondblclick: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondrag: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragenter: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragexit: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragleave: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragover: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondragstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondrop: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onfocus: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onformdata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ongotpointercapture: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onkeydown: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onkeypress: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onkeyup: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onlostpointercapture: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmousedown: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmouseenter: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmouseleave: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmousemove: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmouseout: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmouseover: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmouseup: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmozfullscreenchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onmozfullscreenerror: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpaste: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointercancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerdown: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerenter: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerleave: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointermove: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerout: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerover: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    /** Available only in secure contexts. */\n    onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onpointerup: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onprogress: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onresize: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onsubmit: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontransitioncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontransitionrun: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    ontransitionstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    onwheel: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n    addEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof GlobalEventHandlersEventMap>(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface GlobalPrivacyControl {\n    readonly globalPrivacyControl: boolean;\n}\n\ninterface GlobalProcessScriptLoader {\n    readonly initialProcessData: any;\n    readonly sharedData: MozWritableSharedMap;\n}\n\ninterface Grid {\n    readonly areas: GridArea[];\n    readonly cols: GridDimension;\n    readonly rows: GridDimension;\n}\n\ndeclare var Grid: {\n    prototype: Grid;\n    new(): Grid;\n    isInstance: IsInstance<Grid>;\n};\n\ninterface GridArea {\n    readonly columnEnd: number;\n    readonly columnStart: number;\n    readonly name: string;\n    readonly rowEnd: number;\n    readonly rowStart: number;\n    readonly type: GridDeclaration;\n}\n\ndeclare var GridArea: {\n    prototype: GridArea;\n    new(): GridArea;\n    isInstance: IsInstance<GridArea>;\n};\n\ninterface GridDimension {\n    readonly lines: GridLines;\n    readonly tracks: GridTracks;\n}\n\ndeclare var GridDimension: {\n    prototype: GridDimension;\n    new(): GridDimension;\n    isInstance: IsInstance<GridDimension>;\n};\n\ninterface GridLine {\n    readonly breadth: number;\n    readonly names: string[];\n    readonly negativeNumber: number;\n    readonly number: number;\n    readonly start: number;\n    readonly type: GridDeclaration;\n}\n\ndeclare var GridLine: {\n    prototype: GridLine;\n    new(): GridLine;\n    isInstance: IsInstance<GridLine>;\n};\n\ninterface GridLines {\n    readonly length: number;\n    item(index: number): GridLine | null;\n    [index: number]: GridLine;\n}\n\ndeclare var GridLines: {\n    prototype: GridLines;\n    new(): GridLines;\n    isInstance: IsInstance<GridLines>;\n};\n\ninterface GridTrack {\n    readonly breadth: number;\n    readonly start: number;\n    readonly state: GridTrackState;\n    readonly type: GridDeclaration;\n}\n\ndeclare var GridTrack: {\n    prototype: GridTrack;\n    new(): GridTrack;\n    isInstance: IsInstance<GridTrack>;\n};\n\ninterface GridTracks {\n    readonly length: number;\n    item(index: number): GridTrack | null;\n    [index: number]: GridTrack;\n}\n\ndeclare var GridTracks: {\n    prototype: GridTracks;\n    new(): GridTracks;\n    isInstance: IsInstance<GridTracks>;\n};\n\ninterface HTMLAllCollection {\n    readonly length: number;\n    item(nameOrIndex?: string): HTMLCollection | Element | null;\n    namedItem(name: string): HTMLCollection | Element | null;\n    [index: number]: Element;\n}\n\ndeclare var HTMLAllCollection: {\n    prototype: HTMLAllCollection;\n    new(): HTMLAllCollection;\n    isInstance: IsInstance<HTMLAllCollection>;\n};\n\ninterface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    charset: string;\n    coords: string;\n    download: string;\n    hreflang: string;\n    name: string;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    readonly relList: DOMTokenList;\n    rev: string;\n    shape: string;\n    target: string;\n    text: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAnchorElement: {\n    prototype: HTMLAnchorElement;\n    new(): HTMLAnchorElement;\n    isInstance: IsInstance<HTMLAnchorElement>;\n};\n\ninterface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils {\n    alt: string;\n    coords: string;\n    download: string;\n    noHref: boolean;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    readonly relList: DOMTokenList;\n    shape: string;\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAreaElement: {\n    prototype: HTMLAreaElement;\n    new(): HTMLAreaElement;\n    isInstance: IsInstance<HTMLAreaElement>;\n};\n\ninterface HTMLAudioElement extends HTMLMediaElement {\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLAudioElement: {\n    prototype: HTMLAudioElement;\n    new(): HTMLAudioElement;\n    isInstance: IsInstance<HTMLAudioElement>;\n};\n\ninterface HTMLBRElement extends HTMLElement {\n    clear: string;\n    readonly isPaddingForEmptyEditor: boolean;\n    readonly isPaddingForEmptyLastLine: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBRElement: {\n    prototype: HTMLBRElement;\n    new(): HTMLBRElement;\n    isInstance: IsInstance<HTMLBRElement>;\n};\n\ninterface HTMLBaseElement extends HTMLElement {\n    href: string;\n    target: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBaseElement: {\n    prototype: HTMLBaseElement;\n    new(): HTMLBaseElement;\n    isInstance: IsInstance<HTMLBaseElement>;\n};\n\ninterface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\n\ninterface HTMLBodyElement extends HTMLElement, WindowEventHandlers {\n    aLink: string;\n    background: string;\n    bgColor: string;\n    link: string;\n    text: string;\n    vLink: string;\n    addEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLBodyElementEventMap>(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLBodyElement: {\n    prototype: HTMLBodyElement;\n    new(): HTMLBodyElement;\n    isInstance: IsInstance<HTMLBodyElement>;\n};\n\ninterface HTMLButtonElement extends HTMLElement, PopoverInvokerElement {\n    command: string;\n    commandForElement: Element | null;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    formAction: string;\n    formEnctype: string;\n    formMethod: string;\n    formNoValidate: boolean;\n    formTarget: string;\n    readonly labels: NodeList;\n    name: string;\n    type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLButtonElement: {\n    prototype: HTMLButtonElement;\n    new(): HTMLButtonElement;\n    isInstance: IsInstance<HTMLButtonElement>;\n};\n\ninterface HTMLCanvasElement extends HTMLElement {\n    height: number;\n    mozOpaque: boolean;\n    mozPrintCallback: PrintCallback | null;\n    width: number;\n    captureStream(frameRate?: number): CanvasCaptureMediaStream;\n    getContext(contextId: string, contextOptions?: any): nsISupports | null;\n    toBlob(callback: BlobCallback, type?: string, encoderOptions?: any): void;\n    toDataURL(type?: string, encoderOptions?: any): string;\n    transferControlToOffscreen(): OffscreenCanvas;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLCanvasElement: {\n    prototype: HTMLCanvasElement;\n    new(): HTMLCanvasElement;\n    isInstance: IsInstance<HTMLCanvasElement>;\n};\n\ninterface HTMLCollectionBase {\n    readonly length: number;\n    item(index: number): Element | null;\n    [index: number]: Element;\n}\n\ninterface HTMLCollection extends HTMLCollectionBase {\n    namedItem(name: string): Element | null;\n}\n\ndeclare var HTMLCollection: {\n    prototype: HTMLCollection;\n    new(): HTMLCollection;\n    isInstance: IsInstance<HTMLCollection>;\n};\n\ninterface HTMLDListElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDListElement: {\n    prototype: HTMLDListElement;\n    new(): HTMLDListElement;\n    isInstance: IsInstance<HTMLDListElement>;\n};\n\ninterface HTMLDataElement extends HTMLElement {\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDataElement: {\n    prototype: HTMLDataElement;\n    new(): HTMLDataElement;\n    isInstance: IsInstance<HTMLDataElement>;\n};\n\ninterface HTMLDataListElement extends HTMLElement {\n    readonly options: HTMLCollection;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDataListElement: {\n    prototype: HTMLDataListElement;\n    new(): HTMLDataListElement;\n    isInstance: IsInstance<HTMLDataListElement>;\n};\n\ninterface HTMLDetailsElement extends HTMLElement {\n    name: string;\n    open: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDetailsElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDetailsElement: {\n    prototype: HTMLDetailsElement;\n    new(): HTMLDetailsElement;\n    isInstance: IsInstance<HTMLDetailsElement>;\n};\n\ninterface HTMLDialogElement extends HTMLElement {\n    closedBy: string;\n    open: boolean;\n    returnValue: string;\n    close(returnValue?: string): void;\n    requestClose(returnValue?: string): void;\n    show(): void;\n    showModal(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDialogElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDialogElement: {\n    prototype: HTMLDialogElement;\n    new(): HTMLDialogElement;\n    isInstance: IsInstance<HTMLDialogElement>;\n};\n\ninterface HTMLDirectoryElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDirectoryElement: {\n    prototype: HTMLDirectoryElement;\n    new(): HTMLDirectoryElement;\n    isInstance: IsInstance<HTMLDirectoryElement>;\n};\n\ninterface HTMLDivElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLDivElement: {\n    prototype: HTMLDivElement;\n    new(): HTMLDivElement;\n    isInstance: IsInstance<HTMLDivElement>;\n};\n\ninterface HTMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [name: string]: any;\n}\n\ndeclare var HTMLDocument: {\n    prototype: HTMLDocument;\n    new(): HTMLDocument;\n    isInstance: IsInstance<HTMLDocument>;\n};\n\ninterface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, OnErrorEventHandlerForNodesEventMap, TouchEventHandlersEventMap {\n}\n\ninterface HTMLElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrForeignElement, OnErrorEventHandlerForNodes, TouchEventHandlers {\n    accessKey: string;\n    readonly accessKeyLabel: string;\n    autocapitalize: string;\n    autocorrect: boolean;\n    contentEditable: string;\n    dir: string;\n    draggable: boolean;\n    enterKeyHint: string;\n    hidden: boolean | number | string | null;\n    inert: boolean;\n    innerText: string;\n    inputMode: string;\n    readonly internals: ElementInternals | null;\n    readonly isContentEditable: boolean;\n    readonly isFormAssociatedCustomElement: boolean;\n    lang: string;\n    nonce: string;\n    readonly offsetHeight: number;\n    readonly offsetLeft: number;\n    readonly offsetParent: Element | null;\n    readonly offsetTop: number;\n    readonly offsetWidth: number;\n    outerText: string;\n    popover: string | null;\n    spellcheck: boolean;\n    title: string;\n    translate: boolean;\n    attachInternals(): ElementInternals;\n    click(): void;\n    hidePopover(): void;\n    showPopover(options?: ShowPopoverOptions): void;\n    togglePopover(options?: TogglePopoverOptions | boolean): boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLElement: {\n    prototype: HTMLElement;\n    new(): HTMLElement;\n    isInstance: IsInstance<HTMLElement>;\n};\n\ninterface HTMLEmbedElement extends HTMLElement, MozFrameLoaderOwner, MozObjectLoadingContent {\n    align: string;\n    height: string;\n    name: string;\n    src: string;\n    type: string;\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLEmbedElement: {\n    prototype: HTMLEmbedElement;\n    new(): HTMLEmbedElement;\n    readonly TYPE_LOADING: 0;\n    readonly TYPE_DOCUMENT: 1;\n    readonly TYPE_FALLBACK: 2;\n    isInstance: IsInstance<HTMLEmbedElement>;\n};\n\ninterface HTMLFieldSetElement extends HTMLElement {\n    disabled: boolean;\n    readonly elements: HTMLCollection;\n    readonly form: HTMLFormElement | null;\n    name: string;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLFieldSetElement: {\n    prototype: HTMLFieldSetElement;\n    new(): HTMLFieldSetElement;\n    isInstance: IsInstance<HTMLFieldSetElement>;\n};\n\ninterface HTMLFontElement extends HTMLElement {\n    color: string;\n    face: string;\n    size: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLFontElement: {\n    prototype: HTMLFontElement;\n    new(): HTMLFontElement;\n    isInstance: IsInstance<HTMLFontElement>;\n};\n\ninterface HTMLFormControlsCollection extends HTMLCollectionBase {\n    namedItem(name: string): RadioNodeList | Element | null;\n}\n\ndeclare var HTMLFormControlsCollection: {\n    prototype: HTMLFormControlsCollection;\n    new(): HTMLFormControlsCollection;\n    isInstance: IsInstance<HTMLFormControlsCollection>;\n};\n\ninterface HTMLFormElement extends HTMLElement {\n    acceptCharset: string;\n    action: string;\n    autocomplete: string;\n    readonly elements: HTMLFormControlsCollection;\n    encoding: string;\n    enctype: string;\n    readonly length: number;\n    method: string;\n    name: string;\n    noValidate: boolean;\n    rel: string;\n    readonly relList: DOMTokenList;\n    target: string;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    requestSubmit(submitter?: HTMLElement | null): void;\n    reset(): void;\n    submit(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Element;\n}\n\ndeclare var HTMLFormElement: {\n    prototype: HTMLFormElement;\n    new(): HTMLFormElement;\n    isInstance: IsInstance<HTMLFormElement>;\n};\n\ninterface HTMLFrameElement extends HTMLElement, MozFrameLoaderOwner {\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    frameBorder: string;\n    longDesc: string;\n    marginHeight: string;\n    marginWidth: string;\n    name: string;\n    noResize: boolean;\n    scrolling: string;\n    src: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLFrameElement: {\n    prototype: HTMLFrameElement;\n    new(): HTMLFrameElement;\n    isInstance: IsInstance<HTMLFrameElement>;\n};\n\ninterface HTMLFrameSetElementEventMap extends HTMLElementEventMap, WindowEventHandlersEventMap {\n}\n\ninterface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers {\n    cols: string;\n    rows: string;\n    addEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLFrameSetElementEventMap>(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLFrameSetElement: {\n    prototype: HTMLFrameSetElement;\n    new(): HTMLFrameSetElement;\n    isInstance: IsInstance<HTMLFrameSetElement>;\n};\n\ninterface HTMLHRElement extends HTMLElement {\n    align: string;\n    color: string;\n    noShade: boolean;\n    size: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHRElement: {\n    prototype: HTMLHRElement;\n    new(): HTMLHRElement;\n    isInstance: IsInstance<HTMLHRElement>;\n};\n\ninterface HTMLHeadElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHeadElement: {\n    prototype: HTMLHeadElement;\n    new(): HTMLHeadElement;\n    isInstance: IsInstance<HTMLHeadElement>;\n};\n\ninterface HTMLHeadingElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHeadingElement: {\n    prototype: HTMLHeadingElement;\n    new(): HTMLHeadingElement;\n    isInstance: IsInstance<HTMLHeadingElement>;\n};\n\ninterface HTMLHtmlElement extends HTMLElement {\n    version: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLHtmlElement: {\n    prototype: HTMLHtmlElement;\n    new(): HTMLHtmlElement;\n    isInstance: IsInstance<HTMLHtmlElement>;\n};\n\ninterface HTMLHyperlinkElementUtils {\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    password: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    username: string;\n}\n\ninterface HTMLIFrameElement extends HTMLElement, MozFrameLoaderOwner {\n    align: string;\n    allow: string;\n    allowFullscreen: boolean;\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    readonly featurePolicy: FeaturePolicy;\n    frameBorder: string;\n    height: string;\n    loading: string;\n    longDesc: string;\n    marginHeight: string;\n    marginWidth: string;\n    name: string;\n    referrerPolicy: string;\n    readonly sandbox: DOMTokenList;\n    scrolling: string;\n    src: string;\n    srcdoc: TrustedHTML | string;\n    width: string;\n    getSVGDocument(): Document | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLIFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLIFrameElement: {\n    prototype: HTMLIFrameElement;\n    new(): HTMLIFrameElement;\n    isInstance: IsInstance<HTMLIFrameElement>;\n};\n\ninterface HTMLImageElement extends HTMLElement, MozImageLoadingContent {\n    align: string;\n    alt: string;\n    border: string;\n    readonly complete: boolean;\n    crossOrigin: string | null;\n    readonly currentSrc: string;\n    decoding: string;\n    fetchPriority: string;\n    height: number;\n    hspace: number;\n    isMap: boolean;\n    loading: string;\n    longDesc: string;\n    lowsrc: string;\n    name: string;\n    readonly naturalHeight: number;\n    readonly naturalWidth: number;\n    referrerPolicy: string;\n    sizes: string;\n    src: string;\n    srcset: string;\n    useMap: string;\n    vspace: number;\n    width: number;\n    readonly x: number;\n    readonly y: number;\n    decode(): Promise<void>;\n    recognizeCurrentImageText(): Promise<ImageText[]>;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLImageElement: {\n    prototype: HTMLImageElement;\n    new(): HTMLImageElement;\n    readonly UNKNOWN_REQUEST: -1;\n    readonly CURRENT_REQUEST: 0;\n    readonly PENDING_REQUEST: 1;\n    isInstance: IsInstance<HTMLImageElement>;\n};\n\ninterface HTMLInputElement extends HTMLElement, MozEditableElement, MozImageLoadingContent, PopoverInvokerElement {\n    accept: string;\n    align: string;\n    alt: string;\n    autocomplete: string;\n    autofillState: string;\n    capture: string;\n    checked: boolean;\n    readonly controllers: XULControllers | null;\n    readonly dateTimeBoxElement: Element | null;\n    defaultChecked: boolean;\n    defaultValue: string;\n    dirName: string;\n    disabled: boolean;\n    files: FileList | null;\n    readonly form: HTMLFormElement | null;\n    formAction: string;\n    formEnctype: string;\n    formMethod: string;\n    formNoValidate: boolean;\n    formTarget: string;\n    readonly hasBeenTypePassword: boolean;\n    height: number;\n    indeterminate: boolean;\n    readonly labels: NodeList | null;\n    readonly lastInteractiveValue: string;\n    readonly list: HTMLDataListElement | null;\n    max: string;\n    maxLength: number;\n    min: string;\n    minLength: number;\n    multiple: boolean;\n    name: string;\n    pattern: string;\n    placeholder: string;\n    previewValue: string;\n    readOnly: boolean;\n    required: boolean;\n    revealPassword: boolean;\n    selectionDirection: string | null;\n    selectionEnd: number | null;\n    selectionStart: number | null;\n    size: number;\n    src: string;\n    step: string;\n    readonly textLength: number;\n    type: string;\n    useMap: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    valueAsDate: any;\n    valueAsNumber: number;\n    readonly webkitEntries: FileSystemEntry[];\n    webkitdirectory: boolean;\n    width: number;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    closeDateTimePicker(): void;\n    getAutocompleteInfo(): AutocompleteInfo | null;\n    getDateTimeInputBoxValue(): DateTimeValue;\n    getFilesAndDirectories(): Promise<(File | Directory)[]>;\n    getMaximum(): number;\n    getMinimum(): number;\n    getStep(): number;\n    getStepBase(): number;\n    mozGetFileNameArray(): string[];\n    mozIsTextField(aExcludePassword: boolean): boolean;\n    mozSetDirectory(directoryPath: string): void;\n    mozSetDndFilesAndDirectories(list: (File | Directory)[]): void;\n    mozSetFileArray(files: File[]): void;\n    mozSetFileNameArray(fileNames: string[]): void;\n    openDateTimePicker(initialValue?: DateTimeValue): void;\n    reportValidity(): boolean;\n    select(): void;\n    setCustomValidity(error: string): void;\n    setDateTimePickerState(aIsOpen: boolean): void;\n    setFocusState(aIsFocused: boolean): void;\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    setSelectionRange(start: number, end: number, direction?: string): void;\n    showPicker(): void;\n    stepDown(n?: number): void;\n    stepUp(n?: number): void;\n    updateDateTimePicker(value?: DateTimeValue): void;\n    updateValidityState(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLInputElement: {\n    prototype: HTMLInputElement;\n    new(): HTMLInputElement;\n    readonly UNKNOWN_REQUEST: -1;\n    readonly CURRENT_REQUEST: 0;\n    readonly PENDING_REQUEST: 1;\n    isInstance: IsInstance<HTMLInputElement>;\n};\n\ninterface HTMLLIElement extends HTMLElement {\n    type: string;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLIElement: {\n    prototype: HTMLLIElement;\n    new(): HTMLLIElement;\n    isInstance: IsInstance<HTMLLIElement>;\n};\n\ninterface HTMLLabelElement extends HTMLElement {\n    readonly control: HTMLElement | null;\n    readonly form: HTMLFormElement | null;\n    htmlFor: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLabelElement: {\n    prototype: HTMLLabelElement;\n    new(): HTMLLabelElement;\n    isInstance: IsInstance<HTMLLabelElement>;\n};\n\ninterface HTMLLegendElement extends HTMLElement {\n    align: string;\n    readonly form: HTMLFormElement | null;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLegendElement: {\n    prototype: HTMLLegendElement;\n    new(): HTMLLegendElement;\n    isInstance: IsInstance<HTMLLegendElement>;\n};\n\ninterface HTMLLinkElement extends HTMLElement, LinkStyle {\n    as: string;\n    readonly blocking: DOMTokenList;\n    charset: string;\n    crossOrigin: string | null;\n    disabled: boolean;\n    fetchPriority: string;\n    href: string;\n    hreflang: string;\n    imageSizes: string;\n    imageSrcset: string;\n    integrity: string;\n    media: string;\n    referrerPolicy: string;\n    rel: string;\n    readonly relList: DOMTokenList;\n    rev: string;\n    readonly sizes: DOMTokenList;\n    target: string;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLLinkElement: {\n    prototype: HTMLLinkElement;\n    new(): HTMLLinkElement;\n    isInstance: IsInstance<HTMLLinkElement>;\n};\n\ninterface HTMLMapElement extends HTMLElement {\n    readonly areas: HTMLCollection;\n    name: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMapElement: {\n    prototype: HTMLMapElement;\n    new(): HTMLMapElement;\n    isInstance: IsInstance<HTMLMapElement>;\n};\n\ninterface HTMLMarqueeElement extends HTMLElement {\n    behavior: string;\n    bgColor: string;\n    direction: string;\n    height: string;\n    hspace: number;\n    loop: number;\n    scrollAmount: number;\n    scrollDelay: number;\n    trueSpeed: boolean;\n    vspace: number;\n    width: string;\n    start(): void;\n    stop(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMarqueeElement: {\n    prototype: HTMLMarqueeElement;\n    new(): HTMLMarqueeElement;\n    isInstance: IsInstance<HTMLMarqueeElement>;\n};\n\ninterface HTMLMediaElementEventMap extends HTMLElementEventMap {\n    \"encrypted\": Event;\n    \"waitingforkey\": Event;\n}\n\ninterface HTMLMediaElement extends HTMLElement {\n    readonly allowedToPlay: boolean;\n    readonly audiblePlayTime: number;\n    readonly audioTracks: AudioTrackList;\n    autoplay: boolean;\n    readonly buffered: TimeRanges;\n    readonly computedMuted: boolean;\n    readonly computedVolume: number;\n    controls: boolean;\n    crossOrigin: string | null;\n    readonly currentSrc: string;\n    currentTime: number;\n    defaultMuted: boolean;\n    defaultPlaybackRate: number;\n    readonly duration: number;\n    readonly ended: boolean;\n    readonly error: MediaError | null;\n    readonly inaudiblePlayTime: number;\n    readonly invisiblePlayTime: number;\n    readonly isEncrypted: boolean;\n    readonly isInViewPort: boolean;\n    readonly isSuspendedByInactiveDocOrDocShell: boolean;\n    readonly isVideoDecodingSuspended: boolean;\n    loop: boolean;\n    readonly mediaKeys: MediaKeys | null;\n    mozAllowCasting: boolean;\n    readonly mozAudioCaptured: boolean;\n    readonly mozFragmentEnd: number;\n    mozIsCasting: boolean;\n    readonly mozMediaSourceObject: MediaSource | null;\n    muted: boolean;\n    readonly mutedPlayTime: number;\n    readonly networkState: number;\n    onencrypted: ((this: HTMLMediaElement, ev: Event) => any) | null;\n    onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null;\n    readonly paused: boolean;\n    playbackRate: number;\n    readonly played: TimeRanges;\n    preload: string;\n    preservesPitch: boolean;\n    readonly readyState: number;\n    readonly seekable: TimeRanges;\n    readonly seeking: boolean;\n    /** Available only in secure contexts. */\n    readonly sinkId: string;\n    src: string;\n    srcObject: MediaStream | null;\n    readonly textTracks: TextTrackList | null;\n    readonly totalAudioPlayTime: number;\n    readonly totalVideoHDRPlayTime: number;\n    readonly totalVideoPlayTime: number;\n    readonly videoTracks: VideoTrackList;\n    readonly visiblePlayTime: number;\n    volume: number;\n    addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack;\n    canPlayType(type: string): string;\n    fastSeek(time: number): void;\n    hasSuspendTaint(): boolean;\n    load(): void;\n    mozCaptureStream(): MediaStream;\n    mozCaptureStreamUntilEnded(): MediaStream;\n    mozGetMetadata(): any;\n    mozRequestDebugInfo(): Promise<HTMLMediaElementDebugInfo>;\n    mozRequestDebugLog(): Promise<string>;\n    pause(): void;\n    play(): Promise<void>;\n    seekToNextFrame(): Promise<void>;\n    setAudioSinkFailedStartup(): void;\n    setDecodeError(error: string): void;\n    setFormatDiagnosticsReportForMimeType(mimeType: string, error: DecoderDoctorReportType): void;\n    setMediaKeys(mediaKeys: MediaKeys | null): Promise<void>;\n    /** Available only in secure contexts. */\n    setSinkId(sinkId: string): Promise<void>;\n    setVisible(aVisible: boolean): void;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMediaElement: {\n    prototype: HTMLMediaElement;\n    new(): HTMLMediaElement;\n    readonly NETWORK_EMPTY: 0;\n    readonly NETWORK_IDLE: 1;\n    readonly NETWORK_LOADING: 2;\n    readonly NETWORK_NO_SOURCE: 3;\n    readonly HAVE_NOTHING: 0;\n    readonly HAVE_METADATA: 1;\n    readonly HAVE_CURRENT_DATA: 2;\n    readonly HAVE_FUTURE_DATA: 3;\n    readonly HAVE_ENOUGH_DATA: 4;\n    isInstance: IsInstance<HTMLMediaElement>;\n    mozEnableDebugLog(): void;\n};\n\ninterface HTMLMenuElement extends HTMLElement {\n    compact: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMenuElement: {\n    prototype: HTMLMenuElement;\n    new(): HTMLMenuElement;\n    isInstance: IsInstance<HTMLMenuElement>;\n};\n\ninterface HTMLMetaElement extends HTMLElement {\n    content: string;\n    httpEquiv: string;\n    media: string;\n    name: string;\n    scheme: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMetaElement: {\n    prototype: HTMLMetaElement;\n    new(): HTMLMetaElement;\n    isInstance: IsInstance<HTMLMetaElement>;\n};\n\ninterface HTMLMeterElement extends HTMLElement {\n    high: number;\n    readonly labels: NodeList;\n    low: number;\n    max: number;\n    min: number;\n    optimum: number;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLMeterElement: {\n    prototype: HTMLMeterElement;\n    new(): HTMLMeterElement;\n    isInstance: IsInstance<HTMLMeterElement>;\n};\n\ninterface HTMLModElement extends HTMLElement {\n    cite: string;\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLModElement: {\n    prototype: HTMLModElement;\n    new(): HTMLModElement;\n    isInstance: IsInstance<HTMLModElement>;\n};\n\ninterface HTMLOListElement extends HTMLElement {\n    compact: boolean;\n    reversed: boolean;\n    start: number;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOListElement: {\n    prototype: HTMLOListElement;\n    new(): HTMLOListElement;\n    isInstance: IsInstance<HTMLOListElement>;\n};\n\ninterface HTMLObjectElement extends HTMLElement, MozFrameLoaderOwner, MozObjectLoadingContent {\n    align: string;\n    archive: string;\n    border: string;\n    code: string;\n    codeBase: string;\n    codeType: string;\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    data: string;\n    declare: boolean;\n    readonly form: HTMLFormElement | null;\n    height: string;\n    hspace: number;\n    name: string;\n    standby: string;\n    type: string;\n    useMap: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    vspace: number;\n    width: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    getSVGDocument(): Document | null;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLObjectElement: {\n    prototype: HTMLObjectElement;\n    new(): HTMLObjectElement;\n    readonly TYPE_LOADING: 0;\n    readonly TYPE_DOCUMENT: 1;\n    readonly TYPE_FALLBACK: 2;\n    isInstance: IsInstance<HTMLObjectElement>;\n};\n\ninterface HTMLOptGroupElement extends HTMLElement {\n    disabled: boolean;\n    label: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOptGroupElement: {\n    prototype: HTMLOptGroupElement;\n    new(): HTMLOptGroupElement;\n    isInstance: IsInstance<HTMLOptGroupElement>;\n};\n\ninterface HTMLOptionElement extends HTMLElement {\n    defaultSelected: boolean;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly index: number;\n    label: string;\n    selected: boolean;\n    text: string;\n    value: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOptionElement: {\n    prototype: HTMLOptionElement;\n    new(): HTMLOptionElement;\n    isInstance: IsInstance<HTMLOptionElement>;\n};\n\ninterface HTMLOptionsCollection extends HTMLCollectionBase {\n    length: number;\n    selectedIndex: number;\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    remove(index: number): void;\n}\n\ndeclare var HTMLOptionsCollection: {\n    prototype: HTMLOptionsCollection;\n    new(): HTMLOptionsCollection;\n    isInstance: IsInstance<HTMLOptionsCollection>;\n};\n\ninterface HTMLOrForeignElement {\n    autofocus: boolean;\n    readonly dataset: DOMStringMap;\n    tabIndex: number;\n    blur(): void;\n    focus(options?: FocusOptions): void;\n}\n\ninterface HTMLOutputElement extends HTMLElement {\n    defaultValue: string;\n    readonly form: HTMLFormElement | null;\n    readonly htmlFor: DOMTokenList;\n    readonly labels: NodeList;\n    name: string;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    checkValidity(): boolean;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLOutputElement: {\n    prototype: HTMLOutputElement;\n    new(): HTMLOutputElement;\n    isInstance: IsInstance<HTMLOutputElement>;\n};\n\ninterface HTMLParagraphElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLParagraphElement: {\n    prototype: HTMLParagraphElement;\n    new(): HTMLParagraphElement;\n    isInstance: IsInstance<HTMLParagraphElement>;\n};\n\ninterface HTMLParamElement extends HTMLElement {\n    name: string;\n    type: string;\n    value: string;\n    valueType: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLParamElement: {\n    prototype: HTMLParamElement;\n    new(): HTMLParamElement;\n    isInstance: IsInstance<HTMLParamElement>;\n};\n\ninterface HTMLPictureElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLPictureElement: {\n    prototype: HTMLPictureElement;\n    new(): HTMLPictureElement;\n    isInstance: IsInstance<HTMLPictureElement>;\n};\n\ninterface HTMLPreElement extends HTMLElement {\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLPreElement: {\n    prototype: HTMLPreElement;\n    new(): HTMLPreElement;\n    isInstance: IsInstance<HTMLPreElement>;\n};\n\ninterface HTMLProgressElement extends HTMLElement {\n    readonly labels: NodeList;\n    max: number;\n    readonly position: number;\n    value: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLProgressElement: {\n    prototype: HTMLProgressElement;\n    new(): HTMLProgressElement;\n    isInstance: IsInstance<HTMLProgressElement>;\n};\n\ninterface HTMLQuoteElement extends HTMLElement {\n    cite: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLQuoteElement: {\n    prototype: HTMLQuoteElement;\n    new(): HTMLQuoteElement;\n    isInstance: IsInstance<HTMLQuoteElement>;\n};\n\n// @ts-ignore\ninterface HTMLScriptElement extends HTMLElement {\n    async: boolean;\n    readonly blocking: DOMTokenList;\n    charset: string;\n    crossOrigin: string | null;\n    defer: boolean;\n    event: string;\n    fetchPriority: string;\n    htmlFor: string;\n    innerText: TrustedScript | string;\n    integrity: string;\n    noModule: boolean;\n    referrerPolicy: string;\n    src: TrustedScriptURL | string;\n    text: TrustedScript | string;\n    textContent: TrustedScript | string | null;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLScriptElement: {\n    prototype: HTMLScriptElement;\n    new(): HTMLScriptElement;\n    isInstance: IsInstance<HTMLScriptElement>;\n    supports(type: string): boolean;\n};\n\ninterface HTMLSelectElement extends HTMLElement {\n    autocomplete: string;\n    autofillState: string;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly isCombobox: boolean;\n    readonly labels: NodeList;\n    length: number;\n    multiple: boolean;\n    name: string;\n    openInParentProcess: boolean;\n    readonly options: HTMLOptionsCollection;\n    previewValue: string;\n    required: boolean;\n    selectedIndex: number;\n    readonly selectedOptions: HTMLCollection;\n    size: number;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void;\n    checkValidity(): boolean;\n    getAutocompleteInfo(): AutocompleteInfo;\n    item(index: number): Element | null;\n    namedItem(name: string): HTMLOptionElement | null;\n    remove(index: number): void;\n    remove(): void;\n    reportValidity(): boolean;\n    setCustomValidity(error: string): void;\n    showPicker(): void;\n    userFinishedInteracting(changed: boolean): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: Element;\n}\n\ndeclare var HTMLSelectElement: {\n    prototype: HTMLSelectElement;\n    new(): HTMLSelectElement;\n    isInstance: IsInstance<HTMLSelectElement>;\n};\n\ninterface HTMLSlotElement extends HTMLElement {\n    name: string;\n    assign(...nodes: (Element | Text)[]): void;\n    assignedElements(options?: AssignedNodesOptions): Element[];\n    assignedNodes(options?: AssignedNodesOptions): Node[];\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSlotElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSlotElement: {\n    prototype: HTMLSlotElement;\n    new(): HTMLSlotElement;\n    isInstance: IsInstance<HTMLSlotElement>;\n};\n\ninterface HTMLSourceElement extends HTMLElement {\n    height: number;\n    media: string;\n    sizes: string;\n    src: string;\n    srcset: string;\n    type: string;\n    width: number;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSourceElement: {\n    prototype: HTMLSourceElement;\n    new(): HTMLSourceElement;\n    isInstance: IsInstance<HTMLSourceElement>;\n};\n\ninterface HTMLSpanElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLSpanElement: {\n    prototype: HTMLSpanElement;\n    new(): HTMLSpanElement;\n    isInstance: IsInstance<HTMLSpanElement>;\n};\n\ninterface HTMLStyleElement extends HTMLElement, LinkStyle {\n    readonly blocking: DOMTokenList;\n    disabled: boolean;\n    media: string;\n    type: string;\n    setDevtoolsAsTriggeringPrincipal(): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLStyleElement: {\n    prototype: HTMLStyleElement;\n    new(): HTMLStyleElement;\n    isInstance: IsInstance<HTMLStyleElement>;\n};\n\ninterface HTMLTableCaptionElement extends HTMLElement {\n    align: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableCaptionElement: {\n    prototype: HTMLTableCaptionElement;\n    new(): HTMLTableCaptionElement;\n    isInstance: IsInstance<HTMLTableCaptionElement>;\n};\n\ninterface HTMLTableCellElement extends HTMLElement {\n    abbr: string;\n    align: string;\n    axis: string;\n    bgColor: string;\n    readonly cellIndex: number;\n    ch: string;\n    chOff: string;\n    colSpan: number;\n    headers: string;\n    height: string;\n    noWrap: boolean;\n    rowSpan: number;\n    scope: string;\n    vAlign: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableCellElement: {\n    prototype: HTMLTableCellElement;\n    new(): HTMLTableCellElement;\n    isInstance: IsInstance<HTMLTableCellElement>;\n};\n\ninterface HTMLTableColElement extends HTMLElement {\n    align: string;\n    ch: string;\n    chOff: string;\n    span: number;\n    vAlign: string;\n    width: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableColElement: {\n    prototype: HTMLTableColElement;\n    new(): HTMLTableColElement;\n    isInstance: IsInstance<HTMLTableColElement>;\n};\n\ninterface HTMLTableElement extends HTMLElement {\n    align: string;\n    bgColor: string;\n    border: string;\n    caption: HTMLTableCaptionElement | null;\n    cellPadding: string;\n    cellSpacing: string;\n    frame: string;\n    readonly rows: HTMLCollection;\n    rules: string;\n    summary: string;\n    readonly tBodies: HTMLCollection;\n    tFoot: HTMLTableSectionElement | null;\n    tHead: HTMLTableSectionElement | null;\n    width: string;\n    createCaption(): HTMLElement;\n    createTBody(): HTMLElement;\n    createTFoot(): HTMLElement;\n    createTHead(): HTMLElement;\n    deleteCaption(): void;\n    deleteRow(index: number): void;\n    deleteTFoot(): void;\n    deleteTHead(): void;\n    insertRow(index?: number): HTMLElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableElement: {\n    prototype: HTMLTableElement;\n    new(): HTMLTableElement;\n    isInstance: IsInstance<HTMLTableElement>;\n};\n\ninterface HTMLTableRowElement extends HTMLElement {\n    align: string;\n    bgColor: string;\n    readonly cells: HTMLCollection;\n    ch: string;\n    chOff: string;\n    readonly rowIndex: number;\n    readonly sectionRowIndex: number;\n    vAlign: string;\n    deleteCell(index: number): void;\n    insertCell(index?: number): HTMLElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableRowElement: {\n    prototype: HTMLTableRowElement;\n    new(): HTMLTableRowElement;\n    isInstance: IsInstance<HTMLTableRowElement>;\n};\n\ninterface HTMLTableSectionElement extends HTMLElement {\n    align: string;\n    ch: string;\n    chOff: string;\n    readonly rows: HTMLCollection;\n    vAlign: string;\n    deleteRow(index: number): void;\n    insertRow(index?: number): HTMLElement;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTableSectionElement: {\n    prototype: HTMLTableSectionElement;\n    new(): HTMLTableSectionElement;\n    isInstance: IsInstance<HTMLTableSectionElement>;\n};\n\ninterface HTMLTemplateElement extends HTMLElement {\n    readonly content: DocumentFragment;\n    shadowRootClonable: boolean;\n    shadowRootDelegatesFocus: boolean;\n    shadowRootMode: string;\n    shadowRootSerializable: boolean;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTemplateElement: {\n    prototype: HTMLTemplateElement;\n    new(): HTMLTemplateElement;\n    isInstance: IsInstance<HTMLTemplateElement>;\n};\n\ninterface HTMLTextAreaElement extends HTMLElement, MozEditableElement {\n    autocomplete: string;\n    autofillState: string;\n    cols: number;\n    readonly controllers: XULControllers;\n    defaultValue: string;\n    dirName: string;\n    disabled: boolean;\n    readonly form: HTMLFormElement | null;\n    readonly labels: NodeList;\n    maxLength: number;\n    minLength: number;\n    name: string;\n    placeholder: string;\n    previewValue: string;\n    readOnly: boolean;\n    required: boolean;\n    rows: number;\n    selectionDirection: string | null;\n    selectionEnd: number | null;\n    selectionStart: number | null;\n    readonly textLength: number;\n    readonly type: string;\n    readonly validationMessage: string;\n    readonly validity: ValidityState;\n    value: string;\n    readonly willValidate: boolean;\n    wrap: string;\n    checkValidity(): boolean;\n    getAutocompleteInfo(): AutocompleteInfo;\n    reportValidity(): boolean;\n    select(): void;\n    setCustomValidity(error: string): void;\n    setRangeText(replacement: string): void;\n    setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void;\n    setSelectionRange(start: number, end: number, direction?: string): void;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTextAreaElement: {\n    prototype: HTMLTextAreaElement;\n    new(): HTMLTextAreaElement;\n    isInstance: IsInstance<HTMLTextAreaElement>;\n};\n\ninterface HTMLTimeElement extends HTMLElement {\n    dateTime: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTimeElement: {\n    prototype: HTMLTimeElement;\n    new(): HTMLTimeElement;\n    isInstance: IsInstance<HTMLTimeElement>;\n};\n\ninterface HTMLTitleElement extends HTMLElement {\n    text: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTitleElement: {\n    prototype: HTMLTitleElement;\n    new(): HTMLTitleElement;\n    isInstance: IsInstance<HTMLTitleElement>;\n};\n\ninterface HTMLTrackElement extends HTMLElement {\n    default: boolean;\n    kind: string;\n    label: string;\n    readonly readyState: number;\n    src: string;\n    srclang: string;\n    readonly track: TextTrack | null;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLTrackElement: {\n    prototype: HTMLTrackElement;\n    new(): HTMLTrackElement;\n    readonly NONE: 0;\n    readonly LOADING: 1;\n    readonly LOADED: 2;\n    readonly ERROR: 3;\n    isInstance: IsInstance<HTMLTrackElement>;\n};\n\ninterface HTMLUListElement extends HTMLElement {\n    compact: boolean;\n    type: string;\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLUListElement: {\n    prototype: HTMLUListElement;\n    new(): HTMLUListElement;\n    isInstance: IsInstance<HTMLUListElement>;\n};\n\ninterface HTMLUnknownElement extends HTMLElement {\n    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLUnknownElement: {\n    prototype: HTMLUnknownElement;\n    new(): HTMLUnknownElement;\n    isInstance: IsInstance<HTMLUnknownElement>;\n};\n\ninterface HTMLVideoElement extends HTMLMediaElement {\n    disablePictureInPicture: boolean;\n    height: number;\n    readonly isCloningElementVisually: boolean;\n    readonly mozDecodedFrames: number;\n    readonly mozFrameDelay: number;\n    readonly mozHasAudio: boolean;\n    readonly mozPaintedFrames: number;\n    readonly mozParsedFrames: number;\n    readonly mozPresentedFrames: number;\n    poster: string;\n    readonly videoHeight: number;\n    readonly videoWidth: number;\n    width: number;\n    cancelVideoFrameCallback(handle: number): void;\n    cloneElementVisually(target: HTMLVideoElement): Promise<void>;\n    getVideoPlaybackQuality(): VideoPlaybackQuality;\n    requestVideoFrameCallback(callback: VideoFrameRequestCallback): number;\n    stopCloningElementVisually(): void;\n    addEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof HTMLMediaElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var HTMLVideoElement: {\n    prototype: HTMLVideoElement;\n    new(): HTMLVideoElement;\n    isInstance: IsInstance<HTMLVideoElement>;\n};\n\ninterface HashChangeEvent extends Event {\n    readonly newURL: string;\n    readonly oldURL: string;\n}\n\ndeclare var HashChangeEvent: {\n    prototype: HashChangeEvent;\n    new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent;\n    isInstance: IsInstance<HashChangeEvent>;\n};\n\ninterface Headers {\n    guard: HeadersGuardEnum;\n    append(name: string, value: string): void;\n    delete(name: string): void;\n    get(name: string): string | null;\n    getSetCookie(): string[];\n    has(name: string): boolean;\n    set(name: string, value: string): void;\n    forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;\n}\n\ndeclare var Headers: {\n    prototype: Headers;\n    new(init?: HeadersInit): Headers;\n    isInstance: IsInstance<Headers>;\n};\n\ninterface HeapSnapshot {\n    readonly creationTime: number | null;\n    computeDominatorTree(): DominatorTree;\n    computeShortestPaths(start: NodeId, targets: NodeId[], maxNumPaths: number): any;\n    describeNode(breakdown: any, node: NodeId): any;\n    takeCensus(options: any): any;\n}\n\ndeclare var HeapSnapshot: {\n    prototype: HeapSnapshot;\n    new(): HeapSnapshot;\n    isInstance: IsInstance<HeapSnapshot>;\n};\n\ninterface Highlight {\n    priority: number;\n    type: HighlightType;\n    forEach(callbackfn: (value: AbstractRange, key: AbstractRange, parent: Highlight) => void, thisArg?: any): void;\n}\n\ndeclare var Highlight: {\n    prototype: Highlight;\n    new(...initialRanges: AbstractRange[]): Highlight;\n    isInstance: IsInstance<Highlight>;\n};\n\ninterface HighlightRegistry {\n    forEach(callbackfn: (value: Highlight, key: string, parent: HighlightRegistry) => void, thisArg?: any): void;\n}\n\ndeclare var HighlightRegistry: {\n    prototype: HighlightRegistry;\n    new(): HighlightRegistry;\n    isInstance: IsInstance<HighlightRegistry>;\n};\n\ninterface History {\n    readonly length: number;\n    scrollRestoration: ScrollRestoration;\n    readonly state: any;\n    back(): void;\n    forward(): void;\n    go(delta?: number): void;\n    pushState(data: any, title: string, url?: string | null): void;\n    replaceState(data: any, title: string, url?: string | null): void;\n}\n\ndeclare var History: {\n    prototype: History;\n    new(): History;\n    isInstance: IsInstance<History>;\n};\n\ninterface IDBCursor {\n    readonly direction: IDBCursorDirection;\n    readonly key: any;\n    readonly primaryKey: any;\n    readonly request: IDBRequest;\n    readonly source: IDBObjectStore | IDBIndex;\n    advance(count: number): void;\n    continue(key?: any): void;\n    continuePrimaryKey(key: any, primaryKey: any): void;\n    delete(): IDBRequest;\n    update(value: any): IDBRequest;\n}\n\ndeclare var IDBCursor: {\n    prototype: IDBCursor;\n    new(): IDBCursor;\n    isInstance: IsInstance<IDBCursor>;\n};\n\ninterface IDBCursorWithValue extends IDBCursor {\n    readonly value: any;\n}\n\ndeclare var IDBCursorWithValue: {\n    prototype: IDBCursorWithValue;\n    new(): IDBCursorWithValue;\n    isInstance: IsInstance<IDBCursorWithValue>;\n};\n\ninterface IDBDatabaseEventMap {\n    \"abort\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"versionchange\": Event;\n}\n\ninterface IDBDatabase extends EventTarget {\n    readonly name: string;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBDatabase, ev: Event) => any) | null;\n    onclose: ((this: IDBDatabase, ev: Event) => any) | null;\n    onerror: ((this: IDBDatabase, ev: Event) => any) | null;\n    onversionchange: ((this: IDBDatabase, ev: Event) => any) | null;\n    readonly version: number;\n    close(): void;\n    createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;\n    deleteObjectStore(name: string): void;\n    transaction(storeNames: string | string[], mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n    addEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBDatabaseEventMap>(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBDatabase: {\n    prototype: IDBDatabase;\n    new(): IDBDatabase;\n    isInstance: IsInstance<IDBDatabase>;\n};\n\ninterface IDBFactory {\n    cmp(first: any, second: any): number;\n    databases(): Promise<IDBDatabaseInfo[]>;\n    deleteDatabase(name: string): IDBOpenDBRequest;\n    deleteForPrincipal(principal: Principal, name: string, options?: IDBOpenDBOptions): IDBOpenDBRequest;\n    open(name: string, version?: number): IDBOpenDBRequest;\n    openForPrincipal(principal: Principal, name: string, version: number): IDBOpenDBRequest;\n    openForPrincipal(principal: Principal, name: string, options?: IDBOpenDBOptions): IDBOpenDBRequest;\n}\n\ndeclare var IDBFactory: {\n    prototype: IDBFactory;\n    new(): IDBFactory;\n    isInstance: IsInstance<IDBFactory>;\n};\n\ninterface IDBIndex {\n    readonly isAutoLocale: boolean;\n    readonly keyPath: any;\n    readonly locale: string | null;\n    readonly multiEntry: boolean;\n    name: string;\n    readonly objectStore: IDBObjectStore;\n    readonly unique: boolean;\n    count(query?: any): IDBRequest;\n    get(query: any): IDBRequest;\n    getAll(query?: any, count?: number): IDBRequest;\n    getAllKeys(query?: any, count?: number): IDBRequest;\n    getKey(query: any): IDBRequest;\n    openCursor(query?: any, direction?: IDBCursorDirection): IDBRequest;\n    openKeyCursor(query?: any, direction?: IDBCursorDirection): IDBRequest;\n}\n\ndeclare var IDBIndex: {\n    prototype: IDBIndex;\n    new(): IDBIndex;\n    isInstance: IsInstance<IDBIndex>;\n};\n\ninterface IDBKeyRange {\n    readonly lower: any;\n    readonly lowerOpen: boolean;\n    readonly upper: any;\n    readonly upperOpen: boolean;\n    includes(key: any): boolean;\n}\n\ndeclare var IDBKeyRange: {\n    prototype: IDBKeyRange;\n    new(): IDBKeyRange;\n    isInstance: IsInstance<IDBKeyRange>;\n    bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange;\n    lowerBound(lower: any, open?: boolean): IDBKeyRange;\n    only(value: any): IDBKeyRange;\n    upperBound(upper: any, open?: boolean): IDBKeyRange;\n};\n\ninterface IDBObjectStore {\n    readonly autoIncrement: boolean;\n    readonly indexNames: DOMStringList;\n    readonly keyPath: any;\n    name: string;\n    readonly transaction: IDBTransaction;\n    add(value: any, key?: any): IDBRequest;\n    clear(): IDBRequest;\n    count(key?: any): IDBRequest;\n    createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex;\n    delete(key: any): IDBRequest;\n    deleteIndex(indexName: string): void;\n    get(key: any): IDBRequest;\n    getAll(query?: any, count?: number): IDBRequest;\n    getAllKeys(query?: any, count?: number): IDBRequest;\n    getKey(key: any): IDBRequest;\n    index(name: string): IDBIndex;\n    openCursor(range?: any, direction?: IDBCursorDirection): IDBRequest;\n    openKeyCursor(query?: any, direction?: IDBCursorDirection): IDBRequest;\n    put(value: any, key?: any): IDBRequest;\n}\n\ndeclare var IDBObjectStore: {\n    prototype: IDBObjectStore;\n    new(): IDBObjectStore;\n    isInstance: IsInstance<IDBObjectStore>;\n};\n\ninterface IDBOpenDBRequestEventMap extends IDBRequestEventMap {\n    \"blocked\": Event;\n    \"upgradeneeded\": Event;\n}\n\ninterface IDBOpenDBRequest extends IDBRequest {\n    onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null;\n    onupgradeneeded: ((this: IDBOpenDBRequest, ev: Event) => any) | null;\n    addEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBOpenDBRequestEventMap>(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBOpenDBRequest: {\n    prototype: IDBOpenDBRequest;\n    new(): IDBOpenDBRequest;\n    isInstance: IsInstance<IDBOpenDBRequest>;\n};\n\ninterface IDBRequestEventMap {\n    \"error\": Event;\n    \"success\": Event;\n}\n\ninterface IDBRequest extends EventTarget {\n    readonly error: DOMException | null;\n    onerror: ((this: IDBRequest, ev: Event) => any) | null;\n    onsuccess: ((this: IDBRequest, ev: Event) => any) | null;\n    readonly readyState: IDBRequestReadyState;\n    readonly result: any;\n    readonly source: IDBObjectStore | IDBIndex | IDBCursor | null;\n    readonly transaction: IDBTransaction | null;\n    addEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBRequestEventMap>(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBRequest: {\n    prototype: IDBRequest;\n    new(): IDBRequest;\n    isInstance: IsInstance<IDBRequest>;\n};\n\ninterface IDBTransactionEventMap {\n    \"abort\": Event;\n    \"complete\": Event;\n    \"error\": Event;\n}\n\ninterface IDBTransaction extends EventTarget {\n    readonly db: IDBDatabase;\n    readonly durability: IDBTransactionDurability;\n    readonly error: DOMException | null;\n    readonly mode: IDBTransactionMode;\n    readonly objectStoreNames: DOMStringList;\n    onabort: ((this: IDBTransaction, ev: Event) => any) | null;\n    oncomplete: ((this: IDBTransaction, ev: Event) => any) | null;\n    onerror: ((this: IDBTransaction, ev: Event) => any) | null;\n    abort(): void;\n    commit(): void;\n    objectStore(name: string): IDBObjectStore;\n    addEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof IDBTransactionEventMap>(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var IDBTransaction: {\n    prototype: IDBTransaction;\n    new(): IDBTransaction;\n    isInstance: IsInstance<IDBTransaction>;\n};\n\ninterface IDBVersionChangeEvent extends Event {\n    readonly newVersion: number | null;\n    readonly oldVersion: number;\n}\n\ndeclare var IDBVersionChangeEvent: {\n    prototype: IDBVersionChangeEvent;\n    new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent;\n    isInstance: IsInstance<IDBVersionChangeEvent>;\n};\n\ninterface IIRFilterNode extends AudioNode, AudioNodePassThrough {\n    getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void;\n}\n\ndeclare var IIRFilterNode: {\n    prototype: IIRFilterNode;\n    new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode;\n    isInstance: IsInstance<IIRFilterNode>;\n};\n\n/** Available only in secure contexts. */\ninterface IdentityCredential extends Credential {\n    readonly token: string | null;\n}\n\ndeclare var IdentityCredential: {\n    prototype: IdentityCredential;\n    new(): IdentityCredential;\n    isInstance: IsInstance<IdentityCredential>;\n    disconnect(options?: IdentityCredentialDisconnectOptions): Promise<void>;\n};\n\n/** Available only in secure contexts. */\ninterface IdentityProvider {\n}\n\ndeclare var IdentityProvider: {\n    prototype: IdentityProvider;\n    new(): IdentityProvider;\n    isInstance: IsInstance<IdentityProvider>;\n    close(): void;\n    resolve(token: string, options?: IdentityResolveOptions): Promise<void>;\n};\n\ninterface IdleDeadline {\n    readonly didTimeout: boolean;\n    timeRemaining(): DOMHighResTimeStamp;\n}\n\ndeclare var IdleDeadline: {\n    prototype: IdleDeadline;\n    new(): IdleDeadline;\n    isInstance: IsInstance<IdleDeadline>;\n};\n\ninterface ImageBitmap {\n    readonly height: number;\n    readonly width: number;\n    close(): void;\n}\n\ndeclare var ImageBitmap: {\n    prototype: ImageBitmap;\n    new(): ImageBitmap;\n    isInstance: IsInstance<ImageBitmap>;\n};\n\ninterface ImageBitmapRenderingContext {\n    readonly canvas: CanvasSource | null;\n    transferFromImageBitmap(bitmap: ImageBitmap | null): void;\n    transferImageBitmap(bitmap: ImageBitmap): void;\n}\n\ndeclare var ImageBitmapRenderingContext: {\n    prototype: ImageBitmapRenderingContext;\n    new(): ImageBitmapRenderingContext;\n    isInstance: IsInstance<ImageBitmapRenderingContext>;\n};\n\ninterface ImageCaptureEventMap {\n    \"error\": Event;\n    \"photo\": Event;\n}\n\ninterface ImageCapture extends EventTarget {\n    onerror: ((this: ImageCapture, ev: Event) => any) | null;\n    onphoto: ((this: ImageCapture, ev: Event) => any) | null;\n    readonly videoStreamTrack: MediaStreamTrack;\n    takePhoto(): void;\n    addEventListener<K extends keyof ImageCaptureEventMap>(type: K, listener: (this: ImageCapture, ev: ImageCaptureEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ImageCaptureEventMap>(type: K, listener: (this: ImageCapture, ev: ImageCaptureEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ImageCapture: {\n    prototype: ImageCapture;\n    new(track: MediaStreamTrack): ImageCapture;\n    isInstance: IsInstance<ImageCapture>;\n};\n\ninterface ImageCaptureError {\n    readonly code: number;\n    readonly message: string;\n    readonly FRAME_GRAB_ERROR: 1;\n    readonly SETTINGS_ERROR: 2;\n    readonly PHOTO_ERROR: 3;\n    readonly ERROR_UNKNOWN: 4;\n}\n\ninterface ImageCaptureErrorEvent extends Event {\n    readonly imageCaptureError: ImageCaptureError | null;\n}\n\ndeclare var ImageCaptureErrorEvent: {\n    prototype: ImageCaptureErrorEvent;\n    new(type: string, imageCaptureErrorInitDict?: ImageCaptureErrorEventInit): ImageCaptureErrorEvent;\n    isInstance: IsInstance<ImageCaptureErrorEvent>;\n};\n\ninterface ImageData {\n    readonly data: Uint8ClampedArray;\n    readonly height: number;\n    readonly width: number;\n}\n\ndeclare var ImageData: {\n    prototype: ImageData;\n    new(sw: number, sh: number): ImageData;\n    new(data: Uint8ClampedArray, sw: number, sh?: number): ImageData;\n    isInstance: IsInstance<ImageData>;\n};\n\n/** Available only in secure contexts. */\ninterface ImageDecoder {\n    readonly complete: boolean;\n    readonly completed: Promise<void>;\n    readonly tracks: ImageTrackList;\n    readonly type: string;\n    close(): void;\n    decode(options?: ImageDecodeOptions): Promise<ImageDecodeResult>;\n    reset(): void;\n}\n\ndeclare var ImageDecoder: {\n    prototype: ImageDecoder;\n    new(init: ImageDecoderInit): ImageDecoder;\n    isInstance: IsInstance<ImageDecoder>;\n    isTypeSupported(type: string): Promise<boolean>;\n};\n\ninterface ImageDocument extends HTMLDocument {\n    readonly imageIsOverflowing: boolean;\n    readonly imageIsResized: boolean;\n    restoreImage(): void;\n    shrinkToFit(): void;\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: ImageDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: ImageDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ImageDocument: {\n    prototype: ImageDocument;\n    new(): ImageDocument;\n    isInstance: IsInstance<ImageDocument>;\n};\n\n/** Available only in secure contexts. */\ninterface ImageTrack {\n    readonly animated: boolean;\n    readonly frameCount: number;\n    readonly repetitionCount: number;\n    selected: boolean;\n}\n\ndeclare var ImageTrack: {\n    prototype: ImageTrack;\n    new(): ImageTrack;\n    isInstance: IsInstance<ImageTrack>;\n};\n\n/** Available only in secure contexts. */\ninterface ImageTrackList {\n    readonly length: number;\n    readonly ready: Promise<void>;\n    readonly selectedIndex: number;\n    readonly selectedTrack: ImageTrack | null;\n    [index: number]: ImageTrack;\n}\n\ndeclare var ImageTrackList: {\n    prototype: ImageTrackList;\n    new(): ImageTrackList;\n    isInstance: IsInstance<ImageTrackList>;\n};\n\ninterface InferenceSession {\n    readonly inputNames: string[];\n    readonly outputNames: string[];\n    endProfiling(): void;\n    release(): Promise<void>;\n    run(feeds: InferenceSessionFeedsType, options?: InferenceSessionRunOptions): Promise<InferenceSessionReturnType>;\n    startProfiling(): void;\n}\n\ndeclare var InferenceSession: {\n    prototype: InferenceSession;\n    new(): InferenceSession;\n    isInstance: IsInstance<InferenceSession>;\n    create(uriOrBuffer: string | Uint8Array, options?: InferenceSessionSessionOptions): Promise<InferenceSession>;\n};\n\ninterface InputEvent extends UIEvent {\n    readonly data: string | null;\n    readonly dataTransfer: DataTransfer | null;\n    readonly inputType: string;\n    readonly isComposing: boolean;\n    getTargetRanges(): StaticRange[];\n}\n\ndeclare var InputEvent: {\n    prototype: InputEvent;\n    new(type: string, eventInitDict?: InputEventInit): InputEvent;\n    isInstance: IsInstance<InputEvent>;\n};\n\ninterface InspectorCSSParser {\n    readonly columnNumber: number;\n    readonly lineNumber: number;\n    nextToken(): InspectorCSSToken | null;\n}\n\ndeclare var InspectorCSSParser: {\n    prototype: InspectorCSSParser;\n    new(text: string): InspectorCSSParser;\n    isInstance: IsInstance<InspectorCSSParser>;\n};\n\ninterface InspectorFontFace {\n    readonly CSSFamilyName: string;\n    readonly CSSGeneric: string;\n    readonly URI: string;\n    readonly format: string;\n    readonly fromFontGroup: boolean;\n    readonly fromLanguagePrefs: boolean;\n    readonly fromSystemFallback: boolean;\n    readonly localName: string;\n    readonly metadata: string;\n    readonly name: string;\n    readonly ranges: Range[];\n    readonly rule: CSSFontFaceRule | null;\n    readonly srcIndex: number;\n    getFeatures(): InspectorFontFeature[];\n    getNameString(id: number): string;\n    getVariationAxes(): InspectorVariationAxis[];\n    getVariationInstances(): InspectorVariationInstance[];\n    readonly NAME_ID_COPYRIGHT: 0;\n    readonly NAME_ID_FAMILY: 1;\n    readonly NAME_ID_SUBFAMILY: 2;\n    readonly NAME_ID_UNIQUE: 3;\n    readonly NAME_ID_FULL: 4;\n    readonly NAME_ID_VERSION: 5;\n    readonly NAME_ID_POSTSCRIPT: 6;\n    readonly NAME_ID_TRADEMARK: 7;\n    readonly NAME_ID_MANUFACTURER: 8;\n    readonly NAME_ID_DESIGNER: 9;\n    readonly NAME_ID_DESCRIPTION: 10;\n    readonly NAME_ID_VENDOR_URL: 11;\n    readonly NAME_ID_DESIGNER_URL: 12;\n    readonly NAME_ID_LICENSE: 13;\n    readonly NAME_ID_LICENSE_URL: 14;\n    readonly NAME_ID_TYPOGRAPHIC_FAMILY: 16;\n    readonly NAME_ID_TYPOGRAPHIC_SUBFAMILY: 17;\n    readonly NAME_ID_COMPATIBLE_FULL: 18;\n    readonly NAME_ID_SAMPLE_TEXT: 19;\n}\n\ndeclare var InspectorFontFace: {\n    prototype: InspectorFontFace;\n    new(): InspectorFontFace;\n    readonly NAME_ID_COPYRIGHT: 0;\n    readonly NAME_ID_FAMILY: 1;\n    readonly NAME_ID_SUBFAMILY: 2;\n    readonly NAME_ID_UNIQUE: 3;\n    readonly NAME_ID_FULL: 4;\n    readonly NAME_ID_VERSION: 5;\n    readonly NAME_ID_POSTSCRIPT: 6;\n    readonly NAME_ID_TRADEMARK: 7;\n    readonly NAME_ID_MANUFACTURER: 8;\n    readonly NAME_ID_DESIGNER: 9;\n    readonly NAME_ID_DESCRIPTION: 10;\n    readonly NAME_ID_VENDOR_URL: 11;\n    readonly NAME_ID_DESIGNER_URL: 12;\n    readonly NAME_ID_LICENSE: 13;\n    readonly NAME_ID_LICENSE_URL: 14;\n    readonly NAME_ID_TYPOGRAPHIC_FAMILY: 16;\n    readonly NAME_ID_TYPOGRAPHIC_SUBFAMILY: 17;\n    readonly NAME_ID_COMPATIBLE_FULL: 18;\n    readonly NAME_ID_SAMPLE_TEXT: 19;\n    isInstance: IsInstance<InspectorFontFace>;\n};\n\ninterface InstallTriggerImpl {\n    enabled(): boolean;\n    install(installs: Record<string, string | InstallTriggerData>, callback?: InstallTriggerCallback): boolean;\n    installChrome(type: number, url: string, skin: string): boolean;\n    startSoftwareUpdate(url: string, flags?: number): boolean;\n    updateEnabled(): boolean;\n    readonly SKIN: 1;\n    readonly LOCALE: 2;\n    readonly CONTENT: 4;\n    readonly PACKAGE: 7;\n}\n\ndeclare var InstallTriggerImpl: {\n    prototype: InstallTriggerImpl;\n    new(): InstallTriggerImpl;\n    readonly SKIN: 1;\n    readonly LOCALE: 2;\n    readonly CONTENT: 4;\n    readonly PACKAGE: 7;\n    isInstance: IsInstance<InstallTriggerImpl>;\n};\n\ninterface IntersectionObserver {\n    readonly root: Node | null;\n    readonly rootMargin: string;\n    readonly scrollMargin: string;\n    readonly thresholds: number[];\n    disconnect(): void;\n    observe(target: Element): void;\n    takeRecords(): IntersectionObserverEntry[];\n    unobserve(target: Element): void;\n}\n\ndeclare var IntersectionObserver: {\n    prototype: IntersectionObserver;\n    new(intersectionCallback: IntersectionCallback, options?: IntersectionObserverInit): IntersectionObserver;\n    isInstance: IsInstance<IntersectionObserver>;\n};\n\ninterface IntersectionObserverEntry {\n    readonly boundingClientRect: DOMRectReadOnly;\n    readonly intersectionRatio: number;\n    readonly intersectionRect: DOMRectReadOnly;\n    readonly isIntersecting: boolean;\n    readonly rootBounds: DOMRectReadOnly | null;\n    readonly target: Element;\n    readonly time: DOMHighResTimeStamp;\n}\n\ndeclare var IntersectionObserverEntry: {\n    prototype: IntersectionObserverEntry;\n    new(): IntersectionObserverEntry;\n    isInstance: IsInstance<IntersectionObserverEntry>;\n};\n\ninterface IntlUtils {\n    getDisplayNames(locales: string[], options?: DisplayNameOptions): DisplayNameResult;\n    isAppLocaleRTL(): boolean;\n}\n\n\ninterface JSActor {\n    readonly name: string;\n    sendAsyncMessage(messageName: string, obj?: any, transferables?: any): void;\n    sendQuery(messageName: string, obj?: any): Promise<any>;\n}\n\ninterface JSProcessActorChild extends JSActor {\n    readonly manager: nsIDOMProcessChild;\n}\n\ndeclare var JSProcessActorChild: {\n    prototype: JSProcessActorChild;\n    new(): JSProcessActorChild;\n    isInstance: IsInstance<JSProcessActorChild>;\n};\n\ninterface JSProcessActorParent extends JSActor {\n    readonly manager: nsIDOMProcessParent;\n}\n\ndeclare var JSProcessActorParent: {\n    prototype: JSProcessActorParent;\n    new(): JSProcessActorParent;\n    isInstance: IsInstance<JSProcessActorParent>;\n};\n\ninterface JSString {\n}\n\ninterface JSWindowActorChild extends JSActor {\n    readonly browsingContext: BrowsingContext | null;\n    readonly contentWindow: WindowProxy | null;\n    readonly docShell: nsIDocShell | null;\n    readonly document: Document;\n    readonly manager: WindowGlobalChild | null;\n    readonly windowContext: WindowContext | null;\n}\n\ndeclare var JSWindowActorChild: {\n    prototype: JSWindowActorChild;\n    new(): JSWindowActorChild;\n    isInstance: IsInstance<JSWindowActorChild>;\n};\n\ninterface JSWindowActorParent extends JSActor {\n    readonly browsingContext: CanonicalBrowsingContext | null;\n    readonly manager: WindowGlobalParent | null;\n    readonly windowContext: WindowContext | null;\n}\n\ndeclare var JSWindowActorParent: {\n    prototype: JSWindowActorParent;\n    new(): JSWindowActorParent;\n    isInstance: IsInstance<JSWindowActorParent>;\n};\n\ninterface KeyEvent extends KeyEventMixin {\n}\n\ndeclare var KeyEvent: {\n    prototype: KeyEvent;\n    new(): KeyEvent;\n    readonly DOM_VK_CANCEL: 0x03;\n    readonly DOM_VK_HELP: 0x06;\n    readonly DOM_VK_BACK_SPACE: 0x08;\n    readonly DOM_VK_TAB: 0x09;\n    readonly DOM_VK_CLEAR: 0x0C;\n    readonly DOM_VK_RETURN: 0x0D;\n    readonly DOM_VK_SHIFT: 0x10;\n    readonly DOM_VK_CONTROL: 0x11;\n    readonly DOM_VK_ALT: 0x12;\n    readonly DOM_VK_PAUSE: 0x13;\n    readonly DOM_VK_CAPS_LOCK: 0x14;\n    readonly DOM_VK_KANA: 0x15;\n    readonly DOM_VK_HANGUL: 0x15;\n    readonly DOM_VK_EISU: 0x16;\n    readonly DOM_VK_JUNJA: 0x17;\n    readonly DOM_VK_FINAL: 0x18;\n    readonly DOM_VK_HANJA: 0x19;\n    readonly DOM_VK_KANJI: 0x19;\n    readonly DOM_VK_ESCAPE: 0x1B;\n    readonly DOM_VK_CONVERT: 0x1C;\n    readonly DOM_VK_NONCONVERT: 0x1D;\n    readonly DOM_VK_ACCEPT: 0x1E;\n    readonly DOM_VK_MODECHANGE: 0x1F;\n    readonly DOM_VK_SPACE: 0x20;\n    readonly DOM_VK_PAGE_UP: 0x21;\n    readonly DOM_VK_PAGE_DOWN: 0x22;\n    readonly DOM_VK_END: 0x23;\n    readonly DOM_VK_HOME: 0x24;\n    readonly DOM_VK_LEFT: 0x25;\n    readonly DOM_VK_UP: 0x26;\n    readonly DOM_VK_RIGHT: 0x27;\n    readonly DOM_VK_DOWN: 0x28;\n    readonly DOM_VK_SELECT: 0x29;\n    readonly DOM_VK_PRINT: 0x2A;\n    readonly DOM_VK_EXECUTE: 0x2B;\n    readonly DOM_VK_PRINTSCREEN: 0x2C;\n    readonly DOM_VK_INSERT: 0x2D;\n    readonly DOM_VK_DELETE: 0x2E;\n    readonly DOM_VK_0: 0x30;\n    readonly DOM_VK_1: 0x31;\n    readonly DOM_VK_2: 0x32;\n    readonly DOM_VK_3: 0x33;\n    readonly DOM_VK_4: 0x34;\n    readonly DOM_VK_5: 0x35;\n    readonly DOM_VK_6: 0x36;\n    readonly DOM_VK_7: 0x37;\n    readonly DOM_VK_8: 0x38;\n    readonly DOM_VK_9: 0x39;\n    readonly DOM_VK_COLON: 0x3A;\n    readonly DOM_VK_SEMICOLON: 0x3B;\n    readonly DOM_VK_LESS_THAN: 0x3C;\n    readonly DOM_VK_EQUALS: 0x3D;\n    readonly DOM_VK_GREATER_THAN: 0x3E;\n    readonly DOM_VK_QUESTION_MARK: 0x3F;\n    readonly DOM_VK_AT: 0x40;\n    readonly DOM_VK_A: 0x41;\n    readonly DOM_VK_B: 0x42;\n    readonly DOM_VK_C: 0x43;\n    readonly DOM_VK_D: 0x44;\n    readonly DOM_VK_E: 0x45;\n    readonly DOM_VK_F: 0x46;\n    readonly DOM_VK_G: 0x47;\n    readonly DOM_VK_H: 0x48;\n    readonly DOM_VK_I: 0x49;\n    readonly DOM_VK_J: 0x4A;\n    readonly DOM_VK_K: 0x4B;\n    readonly DOM_VK_L: 0x4C;\n    readonly DOM_VK_M: 0x4D;\n    readonly DOM_VK_N: 0x4E;\n    readonly DOM_VK_O: 0x4F;\n    readonly DOM_VK_P: 0x50;\n    readonly DOM_VK_Q: 0x51;\n    readonly DOM_VK_R: 0x52;\n    readonly DOM_VK_S: 0x53;\n    readonly DOM_VK_T: 0x54;\n    readonly DOM_VK_U: 0x55;\n    readonly DOM_VK_V: 0x56;\n    readonly DOM_VK_W: 0x57;\n    readonly DOM_VK_X: 0x58;\n    readonly DOM_VK_Y: 0x59;\n    readonly DOM_VK_Z: 0x5A;\n    readonly DOM_VK_WIN: 0x5B;\n    readonly DOM_VK_CONTEXT_MENU: 0x5D;\n    readonly DOM_VK_SLEEP: 0x5F;\n    readonly DOM_VK_NUMPAD0: 0x60;\n    readonly DOM_VK_NUMPAD1: 0x61;\n    readonly DOM_VK_NUMPAD2: 0x62;\n    readonly DOM_VK_NUMPAD3: 0x63;\n    readonly DOM_VK_NUMPAD4: 0x64;\n    readonly DOM_VK_NUMPAD5: 0x65;\n    readonly DOM_VK_NUMPAD6: 0x66;\n    readonly DOM_VK_NUMPAD7: 0x67;\n    readonly DOM_VK_NUMPAD8: 0x68;\n    readonly DOM_VK_NUMPAD9: 0x69;\n    readonly DOM_VK_MULTIPLY: 0x6A;\n    readonly DOM_VK_ADD: 0x6B;\n    readonly DOM_VK_SEPARATOR: 0x6C;\n    readonly DOM_VK_SUBTRACT: 0x6D;\n    readonly DOM_VK_DECIMAL: 0x6E;\n    readonly DOM_VK_DIVIDE: 0x6F;\n    readonly DOM_VK_F1: 0x70;\n    readonly DOM_VK_F2: 0x71;\n    readonly DOM_VK_F3: 0x72;\n    readonly DOM_VK_F4: 0x73;\n    readonly DOM_VK_F5: 0x74;\n    readonly DOM_VK_F6: 0x75;\n    readonly DOM_VK_F7: 0x76;\n    readonly DOM_VK_F8: 0x77;\n    readonly DOM_VK_F9: 0x78;\n    readonly DOM_VK_F10: 0x79;\n    readonly DOM_VK_F11: 0x7A;\n    readonly DOM_VK_F12: 0x7B;\n    readonly DOM_VK_F13: 0x7C;\n    readonly DOM_VK_F14: 0x7D;\n    readonly DOM_VK_F15: 0x7E;\n    readonly DOM_VK_F16: 0x7F;\n    readonly DOM_VK_F17: 0x80;\n    readonly DOM_VK_F18: 0x81;\n    readonly DOM_VK_F19: 0x82;\n    readonly DOM_VK_F20: 0x83;\n    readonly DOM_VK_F21: 0x84;\n    readonly DOM_VK_F22: 0x85;\n    readonly DOM_VK_F23: 0x86;\n    readonly DOM_VK_F24: 0x87;\n    readonly DOM_VK_NUM_LOCK: 0x90;\n    readonly DOM_VK_SCROLL_LOCK: 0x91;\n    readonly DOM_VK_WIN_OEM_FJ_JISHO: 0x92;\n    readonly DOM_VK_WIN_OEM_FJ_MASSHOU: 0x93;\n    readonly DOM_VK_WIN_OEM_FJ_TOUROKU: 0x94;\n    readonly DOM_VK_WIN_OEM_FJ_LOYA: 0x95;\n    readonly DOM_VK_WIN_OEM_FJ_ROYA: 0x96;\n    readonly DOM_VK_CIRCUMFLEX: 0xA0;\n    readonly DOM_VK_EXCLAMATION: 0xA1;\n    readonly DOM_VK_DOUBLE_QUOTE: 0xA2;\n    readonly DOM_VK_HASH: 0xA3;\n    readonly DOM_VK_DOLLAR: 0xA4;\n    readonly DOM_VK_PERCENT: 0xA5;\n    readonly DOM_VK_AMPERSAND: 0xA6;\n    readonly DOM_VK_UNDERSCORE: 0xA7;\n    readonly DOM_VK_OPEN_PAREN: 0xA8;\n    readonly DOM_VK_CLOSE_PAREN: 0xA9;\n    readonly DOM_VK_ASTERISK: 0xAA;\n    readonly DOM_VK_PLUS: 0xAB;\n    readonly DOM_VK_PIPE: 0xAC;\n    readonly DOM_VK_HYPHEN_MINUS: 0xAD;\n    readonly DOM_VK_OPEN_CURLY_BRACKET: 0xAE;\n    readonly DOM_VK_CLOSE_CURLY_BRACKET: 0xAF;\n    readonly DOM_VK_TILDE: 0xB0;\n    readonly DOM_VK_VOLUME_MUTE: 0xB5;\n    readonly DOM_VK_VOLUME_DOWN: 0xB6;\n    readonly DOM_VK_VOLUME_UP: 0xB7;\n    readonly DOM_VK_COMMA: 0xBC;\n    readonly DOM_VK_PERIOD: 0xBE;\n    readonly DOM_VK_SLASH: 0xBF;\n    readonly DOM_VK_BACK_QUOTE: 0xC0;\n    readonly DOM_VK_OPEN_BRACKET: 0xDB;\n    readonly DOM_VK_BACK_SLASH: 0xDC;\n    readonly DOM_VK_CLOSE_BRACKET: 0xDD;\n    readonly DOM_VK_QUOTE: 0xDE;\n    readonly DOM_VK_META: 0xE0;\n    readonly DOM_VK_ALTGR: 0xE1;\n    readonly DOM_VK_WIN_ICO_HELP: 0xE3;\n    readonly DOM_VK_WIN_ICO_00: 0xE4;\n    readonly DOM_VK_PROCESSKEY: 0xE5;\n    readonly DOM_VK_WIN_ICO_CLEAR: 0xE6;\n    readonly DOM_VK_WIN_OEM_RESET: 0xE9;\n    readonly DOM_VK_WIN_OEM_JUMP: 0xEA;\n    readonly DOM_VK_WIN_OEM_PA1: 0xEB;\n    readonly DOM_VK_WIN_OEM_PA2: 0xEC;\n    readonly DOM_VK_WIN_OEM_PA3: 0xED;\n    readonly DOM_VK_WIN_OEM_WSCTRL: 0xEE;\n    readonly DOM_VK_WIN_OEM_CUSEL: 0xEF;\n    readonly DOM_VK_WIN_OEM_ATTN: 0xF0;\n    readonly DOM_VK_WIN_OEM_FINISH: 0xF1;\n    readonly DOM_VK_WIN_OEM_COPY: 0xF2;\n    readonly DOM_VK_WIN_OEM_AUTO: 0xF3;\n    readonly DOM_VK_WIN_OEM_ENLW: 0xF4;\n    readonly DOM_VK_WIN_OEM_BACKTAB: 0xF5;\n    readonly DOM_VK_ATTN: 0xF6;\n    readonly DOM_VK_CRSEL: 0xF7;\n    readonly DOM_VK_EXSEL: 0xF8;\n    readonly DOM_VK_EREOF: 0xF9;\n    readonly DOM_VK_PLAY: 0xFA;\n    readonly DOM_VK_ZOOM: 0xFB;\n    readonly DOM_VK_PA1: 0xFD;\n    readonly DOM_VK_WIN_OEM_CLEAR: 0xFE;\n    isInstance: IsInstance<KeyEvent>;\n};\n\ninterface KeyEventMixin {\n    initKeyEvent(type: string, canBubble?: boolean, cancelable?: boolean, view?: Window | null, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean, keyCode?: number, charCode?: number): void;\n    readonly DOM_VK_CANCEL: 0x03;\n    readonly DOM_VK_HELP: 0x06;\n    readonly DOM_VK_BACK_SPACE: 0x08;\n    readonly DOM_VK_TAB: 0x09;\n    readonly DOM_VK_CLEAR: 0x0C;\n    readonly DOM_VK_RETURN: 0x0D;\n    readonly DOM_VK_SHIFT: 0x10;\n    readonly DOM_VK_CONTROL: 0x11;\n    readonly DOM_VK_ALT: 0x12;\n    readonly DOM_VK_PAUSE: 0x13;\n    readonly DOM_VK_CAPS_LOCK: 0x14;\n    readonly DOM_VK_KANA: 0x15;\n    readonly DOM_VK_HANGUL: 0x15;\n    readonly DOM_VK_EISU: 0x16;\n    readonly DOM_VK_JUNJA: 0x17;\n    readonly DOM_VK_FINAL: 0x18;\n    readonly DOM_VK_HANJA: 0x19;\n    readonly DOM_VK_KANJI: 0x19;\n    readonly DOM_VK_ESCAPE: 0x1B;\n    readonly DOM_VK_CONVERT: 0x1C;\n    readonly DOM_VK_NONCONVERT: 0x1D;\n    readonly DOM_VK_ACCEPT: 0x1E;\n    readonly DOM_VK_MODECHANGE: 0x1F;\n    readonly DOM_VK_SPACE: 0x20;\n    readonly DOM_VK_PAGE_UP: 0x21;\n    readonly DOM_VK_PAGE_DOWN: 0x22;\n    readonly DOM_VK_END: 0x23;\n    readonly DOM_VK_HOME: 0x24;\n    readonly DOM_VK_LEFT: 0x25;\n    readonly DOM_VK_UP: 0x26;\n    readonly DOM_VK_RIGHT: 0x27;\n    readonly DOM_VK_DOWN: 0x28;\n    readonly DOM_VK_SELECT: 0x29;\n    readonly DOM_VK_PRINT: 0x2A;\n    readonly DOM_VK_EXECUTE: 0x2B;\n    readonly DOM_VK_PRINTSCREEN: 0x2C;\n    readonly DOM_VK_INSERT: 0x2D;\n    readonly DOM_VK_DELETE: 0x2E;\n    readonly DOM_VK_0: 0x30;\n    readonly DOM_VK_1: 0x31;\n    readonly DOM_VK_2: 0x32;\n    readonly DOM_VK_3: 0x33;\n    readonly DOM_VK_4: 0x34;\n    readonly DOM_VK_5: 0x35;\n    readonly DOM_VK_6: 0x36;\n    readonly DOM_VK_7: 0x37;\n    readonly DOM_VK_8: 0x38;\n    readonly DOM_VK_9: 0x39;\n    readonly DOM_VK_COLON: 0x3A;\n    readonly DOM_VK_SEMICOLON: 0x3B;\n    readonly DOM_VK_LESS_THAN: 0x3C;\n    readonly DOM_VK_EQUALS: 0x3D;\n    readonly DOM_VK_GREATER_THAN: 0x3E;\n    readonly DOM_VK_QUESTION_MARK: 0x3F;\n    readonly DOM_VK_AT: 0x40;\n    readonly DOM_VK_A: 0x41;\n    readonly DOM_VK_B: 0x42;\n    readonly DOM_VK_C: 0x43;\n    readonly DOM_VK_D: 0x44;\n    readonly DOM_VK_E: 0x45;\n    readonly DOM_VK_F: 0x46;\n    readonly DOM_VK_G: 0x47;\n    readonly DOM_VK_H: 0x48;\n    readonly DOM_VK_I: 0x49;\n    readonly DOM_VK_J: 0x4A;\n    readonly DOM_VK_K: 0x4B;\n    readonly DOM_VK_L: 0x4C;\n    readonly DOM_VK_M: 0x4D;\n    readonly DOM_VK_N: 0x4E;\n    readonly DOM_VK_O: 0x4F;\n    readonly DOM_VK_P: 0x50;\n    readonly DOM_VK_Q: 0x51;\n    readonly DOM_VK_R: 0x52;\n    readonly DOM_VK_S: 0x53;\n    readonly DOM_VK_T: 0x54;\n    readonly DOM_VK_U: 0x55;\n    readonly DOM_VK_V: 0x56;\n    readonly DOM_VK_W: 0x57;\n    readonly DOM_VK_X: 0x58;\n    readonly DOM_VK_Y: 0x59;\n    readonly DOM_VK_Z: 0x5A;\n    readonly DOM_VK_WIN: 0x5B;\n    readonly DOM_VK_CONTEXT_MENU: 0x5D;\n    readonly DOM_VK_SLEEP: 0x5F;\n    readonly DOM_VK_NUMPAD0: 0x60;\n    readonly DOM_VK_NUMPAD1: 0x61;\n    readonly DOM_VK_NUMPAD2: 0x62;\n    readonly DOM_VK_NUMPAD3: 0x63;\n    readonly DOM_VK_NUMPAD4: 0x64;\n    readonly DOM_VK_NUMPAD5: 0x65;\n    readonly DOM_VK_NUMPAD6: 0x66;\n    readonly DOM_VK_NUMPAD7: 0x67;\n    readonly DOM_VK_NUMPAD8: 0x68;\n    readonly DOM_VK_NUMPAD9: 0x69;\n    readonly DOM_VK_MULTIPLY: 0x6A;\n    readonly DOM_VK_ADD: 0x6B;\n    readonly DOM_VK_SEPARATOR: 0x6C;\n    readonly DOM_VK_SUBTRACT: 0x6D;\n    readonly DOM_VK_DECIMAL: 0x6E;\n    readonly DOM_VK_DIVIDE: 0x6F;\n    readonly DOM_VK_F1: 0x70;\n    readonly DOM_VK_F2: 0x71;\n    readonly DOM_VK_F3: 0x72;\n    readonly DOM_VK_F4: 0x73;\n    readonly DOM_VK_F5: 0x74;\n    readonly DOM_VK_F6: 0x75;\n    readonly DOM_VK_F7: 0x76;\n    readonly DOM_VK_F8: 0x77;\n    readonly DOM_VK_F9: 0x78;\n    readonly DOM_VK_F10: 0x79;\n    readonly DOM_VK_F11: 0x7A;\n    readonly DOM_VK_F12: 0x7B;\n    readonly DOM_VK_F13: 0x7C;\n    readonly DOM_VK_F14: 0x7D;\n    readonly DOM_VK_F15: 0x7E;\n    readonly DOM_VK_F16: 0x7F;\n    readonly DOM_VK_F17: 0x80;\n    readonly DOM_VK_F18: 0x81;\n    readonly DOM_VK_F19: 0x82;\n    readonly DOM_VK_F20: 0x83;\n    readonly DOM_VK_F21: 0x84;\n    readonly DOM_VK_F22: 0x85;\n    readonly DOM_VK_F23: 0x86;\n    readonly DOM_VK_F24: 0x87;\n    readonly DOM_VK_NUM_LOCK: 0x90;\n    readonly DOM_VK_SCROLL_LOCK: 0x91;\n    readonly DOM_VK_WIN_OEM_FJ_JISHO: 0x92;\n    readonly DOM_VK_WIN_OEM_FJ_MASSHOU: 0x93;\n    readonly DOM_VK_WIN_OEM_FJ_TOUROKU: 0x94;\n    readonly DOM_VK_WIN_OEM_FJ_LOYA: 0x95;\n    readonly DOM_VK_WIN_OEM_FJ_ROYA: 0x96;\n    readonly DOM_VK_CIRCUMFLEX: 0xA0;\n    readonly DOM_VK_EXCLAMATION: 0xA1;\n    readonly DOM_VK_DOUBLE_QUOTE: 0xA2;\n    readonly DOM_VK_HASH: 0xA3;\n    readonly DOM_VK_DOLLAR: 0xA4;\n    readonly DOM_VK_PERCENT: 0xA5;\n    readonly DOM_VK_AMPERSAND: 0xA6;\n    readonly DOM_VK_UNDERSCORE: 0xA7;\n    readonly DOM_VK_OPEN_PAREN: 0xA8;\n    readonly DOM_VK_CLOSE_PAREN: 0xA9;\n    readonly DOM_VK_ASTERISK: 0xAA;\n    readonly DOM_VK_PLUS: 0xAB;\n    readonly DOM_VK_PIPE: 0xAC;\n    readonly DOM_VK_HYPHEN_MINUS: 0xAD;\n    readonly DOM_VK_OPEN_CURLY_BRACKET: 0xAE;\n    readonly DOM_VK_CLOSE_CURLY_BRACKET: 0xAF;\n    readonly DOM_VK_TILDE: 0xB0;\n    readonly DOM_VK_VOLUME_MUTE: 0xB5;\n    readonly DOM_VK_VOLUME_DOWN: 0xB6;\n    readonly DOM_VK_VOLUME_UP: 0xB7;\n    readonly DOM_VK_COMMA: 0xBC;\n    readonly DOM_VK_PERIOD: 0xBE;\n    readonly DOM_VK_SLASH: 0xBF;\n    readonly DOM_VK_BACK_QUOTE: 0xC0;\n    readonly DOM_VK_OPEN_BRACKET: 0xDB;\n    readonly DOM_VK_BACK_SLASH: 0xDC;\n    readonly DOM_VK_CLOSE_BRACKET: 0xDD;\n    readonly DOM_VK_QUOTE: 0xDE;\n    readonly DOM_VK_META: 0xE0;\n    readonly DOM_VK_ALTGR: 0xE1;\n    readonly DOM_VK_WIN_ICO_HELP: 0xE3;\n    readonly DOM_VK_WIN_ICO_00: 0xE4;\n    readonly DOM_VK_PROCESSKEY: 0xE5;\n    readonly DOM_VK_WIN_ICO_CLEAR: 0xE6;\n    readonly DOM_VK_WIN_OEM_RESET: 0xE9;\n    readonly DOM_VK_WIN_OEM_JUMP: 0xEA;\n    readonly DOM_VK_WIN_OEM_PA1: 0xEB;\n    readonly DOM_VK_WIN_OEM_PA2: 0xEC;\n    readonly DOM_VK_WIN_OEM_PA3: 0xED;\n    readonly DOM_VK_WIN_OEM_WSCTRL: 0xEE;\n    readonly DOM_VK_WIN_OEM_CUSEL: 0xEF;\n    readonly DOM_VK_WIN_OEM_ATTN: 0xF0;\n    readonly DOM_VK_WIN_OEM_FINISH: 0xF1;\n    readonly DOM_VK_WIN_OEM_COPY: 0xF2;\n    readonly DOM_VK_WIN_OEM_AUTO: 0xF3;\n    readonly DOM_VK_WIN_OEM_ENLW: 0xF4;\n    readonly DOM_VK_WIN_OEM_BACKTAB: 0xF5;\n    readonly DOM_VK_ATTN: 0xF6;\n    readonly DOM_VK_CRSEL: 0xF7;\n    readonly DOM_VK_EXSEL: 0xF8;\n    readonly DOM_VK_EREOF: 0xF9;\n    readonly DOM_VK_PLAY: 0xFA;\n    readonly DOM_VK_ZOOM: 0xFB;\n    readonly DOM_VK_PA1: 0xFD;\n    readonly DOM_VK_WIN_OEM_CLEAR: 0xFE;\n}\n\ninterface KeyboardEvent extends UIEvent, KeyEventMixin {\n    readonly altKey: boolean;\n    readonly charCode: number;\n    readonly code: string;\n    readonly ctrlKey: boolean;\n    readonly initDict: KeyboardEventInit;\n    readonly isComposing: boolean;\n    readonly key: string;\n    readonly keyCode: number;\n    readonly location: number;\n    readonly metaKey: boolean;\n    readonly repeat: boolean;\n    readonly shiftKey: boolean;\n    getModifierState(key: string): boolean;\n    initKeyboardEvent(typeArg: string, bubblesArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, keyArg?: string, locationArg?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean): void;\n    readonly DOM_KEY_LOCATION_STANDARD: 0x00;\n    readonly DOM_KEY_LOCATION_LEFT: 0x01;\n    readonly DOM_KEY_LOCATION_RIGHT: 0x02;\n    readonly DOM_KEY_LOCATION_NUMPAD: 0x03;\n}\n\ndeclare var KeyboardEvent: {\n    prototype: KeyboardEvent;\n    new(typeArg: string, keyboardEventInitDict?: KeyboardEventInit): KeyboardEvent;\n    readonly DOM_KEY_LOCATION_STANDARD: 0x00;\n    readonly DOM_KEY_LOCATION_LEFT: 0x01;\n    readonly DOM_KEY_LOCATION_RIGHT: 0x02;\n    readonly DOM_KEY_LOCATION_NUMPAD: 0x03;\n    readonly DOM_VK_CANCEL: 0x03;\n    readonly DOM_VK_HELP: 0x06;\n    readonly DOM_VK_BACK_SPACE: 0x08;\n    readonly DOM_VK_TAB: 0x09;\n    readonly DOM_VK_CLEAR: 0x0C;\n    readonly DOM_VK_RETURN: 0x0D;\n    readonly DOM_VK_SHIFT: 0x10;\n    readonly DOM_VK_CONTROL: 0x11;\n    readonly DOM_VK_ALT: 0x12;\n    readonly DOM_VK_PAUSE: 0x13;\n    readonly DOM_VK_CAPS_LOCK: 0x14;\n    readonly DOM_VK_KANA: 0x15;\n    readonly DOM_VK_HANGUL: 0x15;\n    readonly DOM_VK_EISU: 0x16;\n    readonly DOM_VK_JUNJA: 0x17;\n    readonly DOM_VK_FINAL: 0x18;\n    readonly DOM_VK_HANJA: 0x19;\n    readonly DOM_VK_KANJI: 0x19;\n    readonly DOM_VK_ESCAPE: 0x1B;\n    readonly DOM_VK_CONVERT: 0x1C;\n    readonly DOM_VK_NONCONVERT: 0x1D;\n    readonly DOM_VK_ACCEPT: 0x1E;\n    readonly DOM_VK_MODECHANGE: 0x1F;\n    readonly DOM_VK_SPACE: 0x20;\n    readonly DOM_VK_PAGE_UP: 0x21;\n    readonly DOM_VK_PAGE_DOWN: 0x22;\n    readonly DOM_VK_END: 0x23;\n    readonly DOM_VK_HOME: 0x24;\n    readonly DOM_VK_LEFT: 0x25;\n    readonly DOM_VK_UP: 0x26;\n    readonly DOM_VK_RIGHT: 0x27;\n    readonly DOM_VK_DOWN: 0x28;\n    readonly DOM_VK_SELECT: 0x29;\n    readonly DOM_VK_PRINT: 0x2A;\n    readonly DOM_VK_EXECUTE: 0x2B;\n    readonly DOM_VK_PRINTSCREEN: 0x2C;\n    readonly DOM_VK_INSERT: 0x2D;\n    readonly DOM_VK_DELETE: 0x2E;\n    readonly DOM_VK_0: 0x30;\n    readonly DOM_VK_1: 0x31;\n    readonly DOM_VK_2: 0x32;\n    readonly DOM_VK_3: 0x33;\n    readonly DOM_VK_4: 0x34;\n    readonly DOM_VK_5: 0x35;\n    readonly DOM_VK_6: 0x36;\n    readonly DOM_VK_7: 0x37;\n    readonly DOM_VK_8: 0x38;\n    readonly DOM_VK_9: 0x39;\n    readonly DOM_VK_COLON: 0x3A;\n    readonly DOM_VK_SEMICOLON: 0x3B;\n    readonly DOM_VK_LESS_THAN: 0x3C;\n    readonly DOM_VK_EQUALS: 0x3D;\n    readonly DOM_VK_GREATER_THAN: 0x3E;\n    readonly DOM_VK_QUESTION_MARK: 0x3F;\n    readonly DOM_VK_AT: 0x40;\n    readonly DOM_VK_A: 0x41;\n    readonly DOM_VK_B: 0x42;\n    readonly DOM_VK_C: 0x43;\n    readonly DOM_VK_D: 0x44;\n    readonly DOM_VK_E: 0x45;\n    readonly DOM_VK_F: 0x46;\n    readonly DOM_VK_G: 0x47;\n    readonly DOM_VK_H: 0x48;\n    readonly DOM_VK_I: 0x49;\n    readonly DOM_VK_J: 0x4A;\n    readonly DOM_VK_K: 0x4B;\n    readonly DOM_VK_L: 0x4C;\n    readonly DOM_VK_M: 0x4D;\n    readonly DOM_VK_N: 0x4E;\n    readonly DOM_VK_O: 0x4F;\n    readonly DOM_VK_P: 0x50;\n    readonly DOM_VK_Q: 0x51;\n    readonly DOM_VK_R: 0x52;\n    readonly DOM_VK_S: 0x53;\n    readonly DOM_VK_T: 0x54;\n    readonly DOM_VK_U: 0x55;\n    readonly DOM_VK_V: 0x56;\n    readonly DOM_VK_W: 0x57;\n    readonly DOM_VK_X: 0x58;\n    readonly DOM_VK_Y: 0x59;\n    readonly DOM_VK_Z: 0x5A;\n    readonly DOM_VK_WIN: 0x5B;\n    readonly DOM_VK_CONTEXT_MENU: 0x5D;\n    readonly DOM_VK_SLEEP: 0x5F;\n    readonly DOM_VK_NUMPAD0: 0x60;\n    readonly DOM_VK_NUMPAD1: 0x61;\n    readonly DOM_VK_NUMPAD2: 0x62;\n    readonly DOM_VK_NUMPAD3: 0x63;\n    readonly DOM_VK_NUMPAD4: 0x64;\n    readonly DOM_VK_NUMPAD5: 0x65;\n    readonly DOM_VK_NUMPAD6: 0x66;\n    readonly DOM_VK_NUMPAD7: 0x67;\n    readonly DOM_VK_NUMPAD8: 0x68;\n    readonly DOM_VK_NUMPAD9: 0x69;\n    readonly DOM_VK_MULTIPLY: 0x6A;\n    readonly DOM_VK_ADD: 0x6B;\n    readonly DOM_VK_SEPARATOR: 0x6C;\n    readonly DOM_VK_SUBTRACT: 0x6D;\n    readonly DOM_VK_DECIMAL: 0x6E;\n    readonly DOM_VK_DIVIDE: 0x6F;\n    readonly DOM_VK_F1: 0x70;\n    readonly DOM_VK_F2: 0x71;\n    readonly DOM_VK_F3: 0x72;\n    readonly DOM_VK_F4: 0x73;\n    readonly DOM_VK_F5: 0x74;\n    readonly DOM_VK_F6: 0x75;\n    readonly DOM_VK_F7: 0x76;\n    readonly DOM_VK_F8: 0x77;\n    readonly DOM_VK_F9: 0x78;\n    readonly DOM_VK_F10: 0x79;\n    readonly DOM_VK_F11: 0x7A;\n    readonly DOM_VK_F12: 0x7B;\n    readonly DOM_VK_F13: 0x7C;\n    readonly DOM_VK_F14: 0x7D;\n    readonly DOM_VK_F15: 0x7E;\n    readonly DOM_VK_F16: 0x7F;\n    readonly DOM_VK_F17: 0x80;\n    readonly DOM_VK_F18: 0x81;\n    readonly DOM_VK_F19: 0x82;\n    readonly DOM_VK_F20: 0x83;\n    readonly DOM_VK_F21: 0x84;\n    readonly DOM_VK_F22: 0x85;\n    readonly DOM_VK_F23: 0x86;\n    readonly DOM_VK_F24: 0x87;\n    readonly DOM_VK_NUM_LOCK: 0x90;\n    readonly DOM_VK_SCROLL_LOCK: 0x91;\n    readonly DOM_VK_WIN_OEM_FJ_JISHO: 0x92;\n    readonly DOM_VK_WIN_OEM_FJ_MASSHOU: 0x93;\n    readonly DOM_VK_WIN_OEM_FJ_TOUROKU: 0x94;\n    readonly DOM_VK_WIN_OEM_FJ_LOYA: 0x95;\n    readonly DOM_VK_WIN_OEM_FJ_ROYA: 0x96;\n    readonly DOM_VK_CIRCUMFLEX: 0xA0;\n    readonly DOM_VK_EXCLAMATION: 0xA1;\n    readonly DOM_VK_DOUBLE_QUOTE: 0xA2;\n    readonly DOM_VK_HASH: 0xA3;\n    readonly DOM_VK_DOLLAR: 0xA4;\n    readonly DOM_VK_PERCENT: 0xA5;\n    readonly DOM_VK_AMPERSAND: 0xA6;\n    readonly DOM_VK_UNDERSCORE: 0xA7;\n    readonly DOM_VK_OPEN_PAREN: 0xA8;\n    readonly DOM_VK_CLOSE_PAREN: 0xA9;\n    readonly DOM_VK_ASTERISK: 0xAA;\n    readonly DOM_VK_PLUS: 0xAB;\n    readonly DOM_VK_PIPE: 0xAC;\n    readonly DOM_VK_HYPHEN_MINUS: 0xAD;\n    readonly DOM_VK_OPEN_CURLY_BRACKET: 0xAE;\n    readonly DOM_VK_CLOSE_CURLY_BRACKET: 0xAF;\n    readonly DOM_VK_TILDE: 0xB0;\n    readonly DOM_VK_VOLUME_MUTE: 0xB5;\n    readonly DOM_VK_VOLUME_DOWN: 0xB6;\n    readonly DOM_VK_VOLUME_UP: 0xB7;\n    readonly DOM_VK_COMMA: 0xBC;\n    readonly DOM_VK_PERIOD: 0xBE;\n    readonly DOM_VK_SLASH: 0xBF;\n    readonly DOM_VK_BACK_QUOTE: 0xC0;\n    readonly DOM_VK_OPEN_BRACKET: 0xDB;\n    readonly DOM_VK_BACK_SLASH: 0xDC;\n    readonly DOM_VK_CLOSE_BRACKET: 0xDD;\n    readonly DOM_VK_QUOTE: 0xDE;\n    readonly DOM_VK_META: 0xE0;\n    readonly DOM_VK_ALTGR: 0xE1;\n    readonly DOM_VK_WIN_ICO_HELP: 0xE3;\n    readonly DOM_VK_WIN_ICO_00: 0xE4;\n    readonly DOM_VK_PROCESSKEY: 0xE5;\n    readonly DOM_VK_WIN_ICO_CLEAR: 0xE6;\n    readonly DOM_VK_WIN_OEM_RESET: 0xE9;\n    readonly DOM_VK_WIN_OEM_JUMP: 0xEA;\n    readonly DOM_VK_WIN_OEM_PA1: 0xEB;\n    readonly DOM_VK_WIN_OEM_PA2: 0xEC;\n    readonly DOM_VK_WIN_OEM_PA3: 0xED;\n    readonly DOM_VK_WIN_OEM_WSCTRL: 0xEE;\n    readonly DOM_VK_WIN_OEM_CUSEL: 0xEF;\n    readonly DOM_VK_WIN_OEM_ATTN: 0xF0;\n    readonly DOM_VK_WIN_OEM_FINISH: 0xF1;\n    readonly DOM_VK_WIN_OEM_COPY: 0xF2;\n    readonly DOM_VK_WIN_OEM_AUTO: 0xF3;\n    readonly DOM_VK_WIN_OEM_ENLW: 0xF4;\n    readonly DOM_VK_WIN_OEM_BACKTAB: 0xF5;\n    readonly DOM_VK_ATTN: 0xF6;\n    readonly DOM_VK_CRSEL: 0xF7;\n    readonly DOM_VK_EXSEL: 0xF8;\n    readonly DOM_VK_EREOF: 0xF9;\n    readonly DOM_VK_PLAY: 0xFA;\n    readonly DOM_VK_ZOOM: 0xFB;\n    readonly DOM_VK_PA1: 0xFD;\n    readonly DOM_VK_WIN_OEM_CLEAR: 0xFE;\n    isInstance: IsInstance<KeyboardEvent>;\n};\n\ninterface KeyframeEffect extends AnimationEffect {\n    composite: CompositeOperation;\n    iterationComposite: IterationCompositeOperation;\n    pseudoElement: string | null;\n    target: Element | null;\n    getKeyframes(): any[];\n    getProperties(): AnimationPropertyDetails[];\n    setKeyframes(keyframes: any): void;\n}\n\ndeclare var KeyframeEffect: {\n    prototype: KeyframeEffect;\n    new(target: Element | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffect;\n    new(source: KeyframeEffect): KeyframeEffect;\n    isInstance: IsInstance<KeyframeEffect>;\n};\n\ninterface L10nFileSource {\n    readonly index: string[] | null;\n    readonly locales: string[];\n    readonly metaSource: string;\n    readonly name: string;\n    readonly prePath: string;\n    fetchFile(locale: string, path: string): Promise<FluentResource | null>;\n    fetchFileSync(locale: string, path: string): FluentResource | null;\n    hasFile(locale: string, path: string): L10nFileSourceHasFileStatus;\n}\n\ndeclare var L10nFileSource: {\n    prototype: L10nFileSource;\n    new(name: string, metaSource: string, locales: string[], prePath: string, options?: FileSourceOptions, index?: string[]): L10nFileSource;\n    isInstance: IsInstance<L10nFileSource>;\n    createMock(name: string, metasource: string, locales: string[], prePath: string, fs: L10nFileSourceMockFile[]): L10nFileSource;\n};\n\ninterface L10nRegistry {\n    clearSources(): void;\n    generateBundles(aLocales: string[], aResourceIds: L10nResourceId[]): FluentBundleAsyncIterator;\n    generateBundlesSync(aLocales: string[], aResourceIds: L10nResourceId[]): FluentBundleIterator;\n    getAvailableLocales(): string[];\n    getSource(aName: string): L10nFileSource | null;\n    getSourceNames(): string[];\n    hasSource(aName: string): boolean;\n    registerSources(aSources: L10nFileSource[]): void;\n    removeSources(aSources: string[]): void;\n    updateSources(aSources: L10nFileSource[]): void;\n}\n\ndeclare var L10nRegistry: {\n    prototype: L10nRegistry;\n    new(aOptions?: L10nRegistryOptions): L10nRegistry;\n    isInstance: IsInstance<L10nRegistry>;\n    getInstance(): L10nRegistry;\n};\n\ninterface LargestContentfulPaint extends PerformanceEntry, PaintTimingMixin {\n    readonly element: Element | null;\n    readonly id: string;\n    readonly loadTime: DOMHighResTimeStamp;\n    readonly renderTime: DOMHighResTimeStamp;\n    readonly size: number;\n    readonly url: string;\n    toJSON(): any;\n}\n\ndeclare var LargestContentfulPaint: {\n    prototype: LargestContentfulPaint;\n    new(): LargestContentfulPaint;\n    isInstance: IsInstance<LargestContentfulPaint>;\n};\n\ninterface LegacyMozTCPSocket {\n    listen(port: number, options?: ServerSocketOptions, backlog?: number): TCPServerSocket;\n    open(host: string, port: number, options?: SocketOptions): TCPSocket;\n}\n\ninterface LinkStyle {\n    readonly sheet: StyleSheet | null;\n}\n\ninterface LoadContextMixin {\n    readonly associatedWindow: WindowProxy | null;\n    readonly isContent: boolean;\n    readonly originAttributes: any;\n    readonly topFrameElement: Element | null;\n    readonly topWindow: WindowProxy | null;\n    usePrivateBrowsing: boolean;\n    readonly useRemoteSubframes: boolean;\n    readonly useRemoteTabs: boolean;\n    useTrackingProtection: boolean;\n}\n\ninterface Localization {\n    addResourceIds(aResourceIds: L10nResourceId[]): void;\n    formatMessages(aKeys: L10nKey[]): Promise<(L10nMessage | null)[]>;\n    formatMessagesSync(aKeys: L10nKey[]): (L10nMessage | null)[];\n    formatValue(aId: string, aArgs?: L10nArgs): Promise<string | null>;\n    formatValueSync(aId: string, aArgs?: L10nArgs): string | null;\n    formatValues(aKeys: L10nKey[]): Promise<(string | null)[]>;\n    formatValuesSync(aKeys: L10nKey[]): (string | null)[];\n    removeResourceIds(aResourceIds: L10nResourceId[]): number;\n    setAsync(): void;\n}\n\ndeclare var Localization: {\n    prototype: Localization;\n    new(aResourceIds: L10nResourceId[], aSync?: boolean, aRegistry?: L10nRegistry, aLocales?: string[]): Localization;\n    isInstance: IsInstance<Localization>;\n};\n\ninterface Location {\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    assign(url: string): void;\n    reload(forceget?: boolean): void;\n    replace(url: string): void;\n}\n\ndeclare var Location: {\n    prototype: Location;\n    new(): Location;\n    isInstance: IsInstance<Location>;\n};\n\n/** Available only in secure contexts. */\ninterface Lock {\n    readonly mode: LockMode;\n    readonly name: string;\n}\n\ndeclare var Lock: {\n    prototype: Lock;\n    new(): Lock;\n    isInstance: IsInstance<Lock>;\n};\n\n/** Available only in secure contexts. */\ninterface LockManager {\n    query(): Promise<LockManagerSnapshot>;\n    request(name: string, callback: LockGrantedCallback): Promise<any>;\n    request(name: string, options: LockOptions, callback: LockGrantedCallback): Promise<any>;\n}\n\ndeclare var LockManager: {\n    prototype: LockManager;\n    new(): LockManager;\n    isInstance: IsInstance<LockManager>;\n};\n\ninterface MIDIAccessEventMap {\n    \"statechange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface MIDIAccess extends EventTarget {\n    readonly inputs: MIDIInputMap;\n    onstatechange: ((this: MIDIAccess, ev: Event) => any) | null;\n    readonly outputs: MIDIOutputMap;\n    readonly sysexEnabled: boolean;\n    addEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIAccessEventMap>(type: K, listener: (this: MIDIAccess, ev: MIDIAccessEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIAccess: {\n    prototype: MIDIAccess;\n    new(): MIDIAccess;\n    isInstance: IsInstance<MIDIAccess>;\n};\n\n/** Available only in secure contexts. */\ninterface MIDIConnectionEvent extends Event {\n    readonly port: MIDIPort | null;\n}\n\ndeclare var MIDIConnectionEvent: {\n    prototype: MIDIConnectionEvent;\n    new(type: string, eventInitDict?: MIDIConnectionEventInit): MIDIConnectionEvent;\n    isInstance: IsInstance<MIDIConnectionEvent>;\n};\n\ninterface MIDIInputEventMap extends MIDIPortEventMap {\n    \"midimessage\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface MIDIInput extends MIDIPort {\n    onmidimessage: ((this: MIDIInput, ev: Event) => any) | null;\n    addEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIInputEventMap>(type: K, listener: (this: MIDIInput, ev: MIDIInputEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIInput: {\n    prototype: MIDIInput;\n    new(): MIDIInput;\n    isInstance: IsInstance<MIDIInput>;\n};\n\n/** Available only in secure contexts. */\ninterface MIDIInputMap {\n    forEach(callbackfn: (value: MIDIInput, key: string, parent: MIDIInputMap) => void, thisArg?: any): void;\n}\n\ndeclare var MIDIInputMap: {\n    prototype: MIDIInputMap;\n    new(): MIDIInputMap;\n    isInstance: IsInstance<MIDIInputMap>;\n};\n\n/** Available only in secure contexts. */\ninterface MIDIMessageEvent extends Event {\n    readonly data: Uint8Array;\n}\n\ndeclare var MIDIMessageEvent: {\n    prototype: MIDIMessageEvent;\n    new(type: string, eventInitDict?: MIDIMessageEventInit): MIDIMessageEvent;\n    isInstance: IsInstance<MIDIMessageEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface MIDIOutput extends MIDIPort {\n    clear(): void;\n    send(data: number[], timestamp?: DOMHighResTimeStamp): void;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIOutput, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIOutput: {\n    prototype: MIDIOutput;\n    new(): MIDIOutput;\n    isInstance: IsInstance<MIDIOutput>;\n};\n\n/** Available only in secure contexts. */\ninterface MIDIOutputMap {\n    forEach(callbackfn: (value: MIDIOutput, key: string, parent: MIDIOutputMap) => void, thisArg?: any): void;\n}\n\ndeclare var MIDIOutputMap: {\n    prototype: MIDIOutputMap;\n    new(): MIDIOutputMap;\n    isInstance: IsInstance<MIDIOutputMap>;\n};\n\ninterface MIDIPortEventMap {\n    \"statechange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface MIDIPort extends EventTarget {\n    readonly connection: MIDIPortConnectionState;\n    readonly id: string;\n    readonly manufacturer: string | null;\n    readonly name: string | null;\n    onstatechange: ((this: MIDIPort, ev: Event) => any) | null;\n    readonly state: MIDIPortDeviceState;\n    readonly type: MIDIPortType;\n    readonly version: string | null;\n    close(): Promise<MIDIPort>;\n    open(): Promise<MIDIPort>;\n    addEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MIDIPortEventMap>(type: K, listener: (this: MIDIPort, ev: MIDIPortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MIDIPort: {\n    prototype: MIDIPort;\n    new(): MIDIPort;\n    isInstance: IsInstance<MIDIPort>;\n};\n\n/** Available only in secure contexts. */\ninterface MLS {\n    deleteState(): Promise<void>;\n    generateCredential(credentialContent: MLSBytesOrUint8ArrayOrUTF8String): Promise<MLSCredential>;\n    generateIdentity(): Promise<MLSClientId>;\n    generateKeyPackage(clientId: MLSBytesOrUint8Array, credential: MLSBytesOrUint8Array): Promise<MLSKeyPackage>;\n    getGroupEpochFromMessage(message: MLSBytesOrUint8Array): Promise<MLSGroupEpoch>;\n    getGroupIdFromMessage(message: MLSBytesOrUint8Array): Promise<MLSGroupId>;\n    groupCreate(clientId: MLSBytesOrUint8Array, credential: MLSBytesOrUint8Array): Promise<MLSGroupView>;\n    groupGet(groupId: MLSBytesOrUint8Array, clientId: MLSBytesOrUint8Array): Promise<MLSGroupView | null>;\n    groupJoin(clientId: MLSBytesOrUint8Array, welcome: MLSBytesOrUint8Array): Promise<MLSGroupView>;\n}\n\ndeclare var MLS: {\n    prototype: MLS;\n    new(): MLS;\n    isInstance: IsInstance<MLS>;\n};\n\n/** Available only in secure contexts. */\ninterface MLSGroupView {\n    readonly clientId: Uint8Array;\n    readonly groupId: Uint8Array;\n    add(keyPackage: MLSBytesOrUint8Array): Promise<MLSCommitOutput>;\n    applyPendingCommit(): Promise<MLSReceived>;\n    clearPendingCommit(): Promise<MLSReceived>;\n    clearPendingProposals(): Promise<MLSReceived>;\n    close(): Promise<MLSCommitOutput>;\n    deleteState(): Promise<void>;\n    details(): Promise<MLSGroupDetails>;\n    exportSecret(label: MLSBytesOrUint8ArrayOrUTF8String, context: MLSBytesOrUint8Array, length: number): Promise<MLSExporterOutput>;\n    hasPendingCommit(): Promise<MLSReceived>;\n    hasPendingProposals(): Promise<MLSReceived>;\n    proposeAdd(keyPackage: MLSBytesOrUint8Array): Promise<MLSProposal>;\n    proposeRemove(remClientId: MLSBytesOrUint8Array): Promise<MLSProposal>;\n    receive(message: MLSBytesOrUint8Array): Promise<MLSReceived>;\n    remove(remClientId: MLSBytesOrUint8Array): Promise<MLSCommitOutput>;\n    send(message: MLSBytesOrUint8ArrayOrUTF8String): Promise<MLSBytes>;\n}\n\ndeclare var MLSGroupView: {\n    prototype: MLSGroupView;\n    new(): MLSGroupView;\n    isInstance: IsInstance<MLSGroupView>;\n};\n\ninterface MOZ_debug {\n    getParameter(pname: GLenum): any;\n    readonly EXTENSIONS: 0x1F03;\n    readonly WSI_INFO: 0x10000;\n    readonly UNPACK_REQUIRE_FASTPATH: 0x10001;\n    readonly DOES_INDEX_VALIDATION: 0x10002;\n    readonly CONTEXT_TYPE: 0x10003;\n}\n\ninterface MatchGlob {\n    readonly glob: string;\n    matches(string: string): boolean;\n}\n\ndeclare var MatchGlob: {\n    prototype: MatchGlob;\n    new(glob: string, allowQuestion?: boolean): MatchGlob;\n    isInstance: IsInstance<MatchGlob>;\n};\n\ninterface MatchPattern {\n    readonly matchesAllWebUrls: boolean;\n    readonly pattern: string;\n    matches(uri: URI, explicit?: boolean): boolean;\n    matches(url: string, explicit?: boolean): boolean;\n    matchesCookie(cookie: Cookie): boolean;\n    overlaps(pattern: MatchPattern): boolean;\n    subsumes(pattern: MatchPattern): boolean;\n    subsumesDomain(pattern: MatchPattern): boolean;\n}\n\ndeclare var MatchPattern: {\n    prototype: MatchPattern;\n    new(pattern: string, options?: MatchPatternOptions): MatchPattern;\n    isInstance: IsInstance<MatchPattern>;\n};\n\ninterface MatchPatternSet {\n    readonly matchesAllWebUrls: boolean;\n    readonly patterns: MatchPattern[];\n    matches(uri: URI, explicit?: boolean): boolean;\n    matches(url: string, explicit?: boolean): boolean;\n    matchesCookie(cookie: Cookie): boolean;\n    overlaps(pattern: MatchPattern): boolean;\n    overlaps(patternSet: MatchPatternSet): boolean;\n    overlapsAll(patternSet: MatchPatternSet): boolean;\n    subsumes(pattern: MatchPattern): boolean;\n    subsumesDomain(pattern: MatchPattern): boolean;\n}\n\ndeclare var MatchPatternSet: {\n    prototype: MatchPatternSet;\n    new(patterns: (string | MatchPattern)[], options?: MatchPatternOptions): MatchPatternSet;\n    isInstance: IsInstance<MatchPatternSet>;\n};\n\ninterface MathMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, OnErrorEventHandlerForNodesEventMap, TouchEventHandlersEventMap {\n}\n\ninterface MathMLElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrForeignElement, OnErrorEventHandlerForNodes, TouchEventHandlers {\n    addEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MathMLElementEventMap>(type: K, listener: (this: MathMLElement, ev: MathMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MathMLElement: {\n    prototype: MathMLElement;\n    new(): MathMLElement;\n    isInstance: IsInstance<MathMLElement>;\n};\n\ninterface MediaCapabilities {\n    decodingInfo(configuration: MediaDecodingConfiguration): Promise<MediaCapabilitiesDecodingInfo>;\n    encodingInfo(configuration: MediaEncodingConfiguration): Promise<MediaCapabilitiesInfo>;\n}\n\ndeclare var MediaCapabilities: {\n    prototype: MediaCapabilities;\n    new(): MediaCapabilities;\n    isInstance: IsInstance<MediaCapabilities>;\n};\n\ninterface MediaControllerEventMap {\n    \"activated\": Event;\n    \"deactivated\": Event;\n    \"metadatachange\": Event;\n    \"playbackstatechange\": Event;\n    \"positionstatechange\": Event;\n    \"supportedkeyschange\": Event;\n}\n\ninterface MediaController extends EventTarget {\n    readonly id: number;\n    readonly isActive: boolean;\n    readonly isAudible: boolean;\n    readonly isPlaying: boolean;\n    onactivated: ((this: MediaController, ev: Event) => any) | null;\n    ondeactivated: ((this: MediaController, ev: Event) => any) | null;\n    onmetadatachange: ((this: MediaController, ev: Event) => any) | null;\n    onplaybackstatechange: ((this: MediaController, ev: Event) => any) | null;\n    onpositionstatechange: ((this: MediaController, ev: Event) => any) | null;\n    onsupportedkeyschange: ((this: MediaController, ev: Event) => any) | null;\n    readonly playbackState: MediaSessionPlaybackState;\n    readonly supportedKeys: MediaControlKey[];\n    focus(): void;\n    getMetadata(): MediaMetadataInit;\n    nextTrack(): void;\n    pause(): void;\n    play(): void;\n    prevTrack(): void;\n    seekBackward(seekOffset: number): void;\n    seekForward(seekOffset: number): void;\n    seekTo(seekTime: number, fastSeek?: boolean): void;\n    skipAd(): void;\n    stop(): void;\n    addEventListener<K extends keyof MediaControllerEventMap>(type: K, listener: (this: MediaController, ev: MediaControllerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaControllerEventMap>(type: K, listener: (this: MediaController, ev: MediaControllerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaController: {\n    prototype: MediaController;\n    new(): MediaController;\n    isInstance: IsInstance<MediaController>;\n};\n\ninterface MediaDeviceInfo {\n    readonly deviceId: string;\n    readonly groupId: string;\n    readonly kind: MediaDeviceKind;\n    readonly label: string;\n    toJSON(): any;\n}\n\ndeclare var MediaDeviceInfo: {\n    prototype: MediaDeviceInfo;\n    new(): MediaDeviceInfo;\n    isInstance: IsInstance<MediaDeviceInfo>;\n};\n\ninterface MediaDevicesEventMap {\n    \"devicechange\": Event;\n}\n\ninterface MediaDevices extends EventTarget {\n    ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;\n    enumerateDevices(): Promise<MediaDeviceInfo[]>;\n    /** Available only in secure contexts. */\n    getDisplayMedia(constraints?: DisplayMediaStreamConstraints): Promise<MediaStream>;\n    getSupportedConstraints(): MediaTrackSupportedConstraints;\n    getUserMedia(constraints?: MediaStreamConstraints): Promise<MediaStream>;\n    /** Available only in secure contexts. */\n    selectAudioOutput(options?: AudioOutputOptions): Promise<MediaDeviceInfo>;\n    addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaDevices: {\n    prototype: MediaDevices;\n    new(): MediaDevices;\n    isInstance: IsInstance<MediaDevices>;\n};\n\ninterface MediaElementAudioSourceNode extends AudioNode, AudioNodePassThrough {\n    readonly mediaElement: HTMLMediaElement;\n}\n\ndeclare var MediaElementAudioSourceNode: {\n    prototype: MediaElementAudioSourceNode;\n    new(context: AudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode;\n    isInstance: IsInstance<MediaElementAudioSourceNode>;\n};\n\ninterface MediaEncryptedEvent extends Event {\n    readonly initData: ArrayBuffer | null;\n    readonly initDataType: string;\n}\n\ndeclare var MediaEncryptedEvent: {\n    prototype: MediaEncryptedEvent;\n    new(type: string, eventInitDict?: MediaKeyNeededEventInit): MediaEncryptedEvent;\n    isInstance: IsInstance<MediaEncryptedEvent>;\n};\n\ninterface MediaError {\n    readonly code: number;\n    readonly message: string;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n}\n\ndeclare var MediaError: {\n    prototype: MediaError;\n    new(): MediaError;\n    readonly MEDIA_ERR_ABORTED: 1;\n    readonly MEDIA_ERR_NETWORK: 2;\n    readonly MEDIA_ERR_DECODE: 3;\n    readonly MEDIA_ERR_SRC_NOT_SUPPORTED: 4;\n    isInstance: IsInstance<MediaError>;\n};\n\ninterface MediaKeyError extends Event {\n    readonly systemCode: number;\n}\n\ndeclare var MediaKeyError: {\n    prototype: MediaKeyError;\n    new(): MediaKeyError;\n    isInstance: IsInstance<MediaKeyError>;\n};\n\ninterface MediaKeyMessageEvent extends Event {\n    readonly message: ArrayBuffer;\n    readonly messageType: MediaKeyMessageType;\n}\n\ndeclare var MediaKeyMessageEvent: {\n    prototype: MediaKeyMessageEvent;\n    new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent;\n    isInstance: IsInstance<MediaKeyMessageEvent>;\n};\n\ninterface MediaKeySessionEventMap {\n    \"keystatuseschange\": Event;\n    \"message\": Event;\n}\n\ninterface MediaKeySession extends EventTarget {\n    readonly closed: Promise<void>;\n    readonly error: MediaKeyError | null;\n    readonly expiration: number;\n    readonly keyStatuses: MediaKeyStatusMap;\n    onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null;\n    onmessage: ((this: MediaKeySession, ev: Event) => any) | null;\n    readonly sessionId: string;\n    close(): Promise<void>;\n    generateRequest(initDataType: string, initData: BufferSource): Promise<void>;\n    load(sessionId: string): Promise<boolean>;\n    remove(): Promise<void>;\n    update(response: BufferSource): Promise<void>;\n    addEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaKeySessionEventMap>(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaKeySession: {\n    prototype: MediaKeySession;\n    new(): MediaKeySession;\n    isInstance: IsInstance<MediaKeySession>;\n};\n\ninterface MediaKeyStatusMap {\n    readonly size: number;\n    get(keyId: BufferSource): MediaKeyStatus | undefined;\n    has(keyId: BufferSource): boolean;\n    forEach(callbackfn: (value: MediaKeyStatus, key: ArrayBuffer, parent: MediaKeyStatusMap) => void, thisArg?: any): void;\n}\n\ndeclare var MediaKeyStatusMap: {\n    prototype: MediaKeyStatusMap;\n    new(): MediaKeyStatusMap;\n    isInstance: IsInstance<MediaKeyStatusMap>;\n};\n\ninterface MediaKeySystemAccess {\n    readonly keySystem: string;\n    createMediaKeys(): Promise<MediaKeys>;\n    getConfiguration(): MediaKeySystemConfiguration;\n}\n\ndeclare var MediaKeySystemAccess: {\n    prototype: MediaKeySystemAccess;\n    new(): MediaKeySystemAccess;\n    isInstance: IsInstance<MediaKeySystemAccess>;\n};\n\ninterface MediaKeys {\n    readonly keySystem: string;\n    createSession(sessionType?: MediaKeySessionType): MediaKeySession;\n    getStatusForPolicy(policy?: MediaKeysPolicy): Promise<MediaKeyStatus>;\n    setServerCertificate(serverCertificate: BufferSource): Promise<void>;\n}\n\ndeclare var MediaKeys: {\n    prototype: MediaKeys;\n    new(): MediaKeys;\n    isInstance: IsInstance<MediaKeys>;\n};\n\ninterface MediaList {\n    readonly length: number;\n    mediaText: string;\n    toString(): string;\n    appendMedium(newMedium: string): void;\n    deleteMedium(oldMedium: string): void;\n    item(index: number): string | null;\n    [index: number]: string;\n}\n\ndeclare var MediaList: {\n    prototype: MediaList;\n    new(): MediaList;\n    isInstance: IsInstance<MediaList>;\n};\n\ninterface MediaMetadata {\n    album: string;\n    artist: string;\n    artwork: any[];\n    title: string;\n}\n\ndeclare var MediaMetadata: {\n    prototype: MediaMetadata;\n    new(init?: MediaMetadataInit): MediaMetadata;\n    isInstance: IsInstance<MediaMetadata>;\n};\n\ninterface MediaQueryListEventMap {\n    \"change\": Event;\n}\n\ninterface MediaQueryList extends EventTarget {\n    readonly matches: boolean;\n    readonly media: string;\n    onchange: ((this: MediaQueryList, ev: Event) => any) | null;\n    addListener(listener: EventListener | null): void;\n    removeListener(listener: EventListener | null): void;\n    addEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaQueryList: {\n    prototype: MediaQueryList;\n    new(): MediaQueryList;\n    isInstance: IsInstance<MediaQueryList>;\n};\n\ninterface MediaQueryListEvent extends Event {\n    readonly matches: boolean;\n    readonly media: string;\n}\n\ndeclare var MediaQueryListEvent: {\n    prototype: MediaQueryListEvent;\n    new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent;\n    isInstance: IsInstance<MediaQueryListEvent>;\n};\n\ninterface MediaRecorderEventMap {\n    \"dataavailable\": Event;\n    \"error\": Event;\n    \"pause\": Event;\n    \"resume\": Event;\n    \"start\": Event;\n    \"stop\": Event;\n}\n\ninterface MediaRecorder extends EventTarget {\n    readonly audioBitsPerSecond: number;\n    readonly mimeType: string;\n    ondataavailable: ((this: MediaRecorder, ev: Event) => any) | null;\n    onerror: ((this: MediaRecorder, ev: Event) => any) | null;\n    onpause: ((this: MediaRecorder, ev: Event) => any) | null;\n    onresume: ((this: MediaRecorder, ev: Event) => any) | null;\n    onstart: ((this: MediaRecorder, ev: Event) => any) | null;\n    onstop: ((this: MediaRecorder, ev: Event) => any) | null;\n    readonly state: RecordingState;\n    readonly stream: MediaStream;\n    readonly videoBitsPerSecond: number;\n    pause(): void;\n    requestData(): void;\n    resume(): void;\n    start(timeslice?: number): void;\n    stop(): void;\n    addEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaRecorder: {\n    prototype: MediaRecorder;\n    new(stream: MediaStream, options?: MediaRecorderOptions): MediaRecorder;\n    new(node: AudioNode, output?: number, options?: MediaRecorderOptions): MediaRecorder;\n    isInstance: IsInstance<MediaRecorder>;\n    isTypeSupported(type: string): boolean;\n};\n\ninterface MediaRecorderErrorEvent extends Event {\n    readonly error: DOMException;\n}\n\ndeclare var MediaRecorderErrorEvent: {\n    prototype: MediaRecorderErrorEvent;\n    new(type: string, eventInitDict: MediaRecorderErrorEventInit): MediaRecorderErrorEvent;\n    isInstance: IsInstance<MediaRecorderErrorEvent>;\n};\n\ninterface MediaSession {\n    metadata: MediaMetadata | null;\n    playbackState: MediaSessionPlaybackState;\n    notifyHandler(details: MediaSessionActionDetails): void;\n    setActionHandler(action: MediaSessionAction, handler: MediaSessionActionHandler | null): void;\n    setPositionState(state?: MediaPositionState): void;\n}\n\ndeclare var MediaSession: {\n    prototype: MediaSession;\n    new(): MediaSession;\n    isInstance: IsInstance<MediaSession>;\n};\n\ninterface MediaSourceEventMap {\n    \"sourceclose\": Event;\n    \"sourceended\": Event;\n    \"sourceopen\": Event;\n}\n\ninterface MediaSource extends EventTarget {\n    readonly activeSourceBuffers: SourceBufferList;\n    duration: number;\n    onsourceclose: ((this: MediaSource, ev: Event) => any) | null;\n    onsourceended: ((this: MediaSource, ev: Event) => any) | null;\n    onsourceopen: ((this: MediaSource, ev: Event) => any) | null;\n    readonly readyState: MediaSourceReadyState;\n    readonly sourceBuffers: SourceBufferList;\n    addSourceBuffer(type: string): SourceBuffer;\n    clearLiveSeekableRange(): void;\n    endOfStream(error?: MediaSourceEndOfStreamError): void;\n    mozDebugReaderData(): Promise<MediaSourceDecoderDebugInfo>;\n    removeSourceBuffer(sourceBuffer: SourceBuffer): void;\n    setLiveSeekableRange(start: number, end: number): void;\n    addEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaSourceEventMap>(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaSource: {\n    prototype: MediaSource;\n    new(): MediaSource;\n    isInstance: IsInstance<MediaSource>;\n    isTypeSupported(type: string): boolean;\n};\n\ninterface MediaStreamEventMap {\n    \"addtrack\": Event;\n    \"removetrack\": Event;\n}\n\ninterface MediaStream extends EventTarget {\n    readonly active: boolean;\n    readonly id: string;\n    onaddtrack: ((this: MediaStream, ev: Event) => any) | null;\n    onremovetrack: ((this: MediaStream, ev: Event) => any) | null;\n    addTrack(track: MediaStreamTrack): void;\n    assignId(id: string): void;\n    clone(): MediaStream;\n    getAudioTracks(): MediaStreamTrack[];\n    getTrackById(trackId: string): MediaStreamTrack | null;\n    getTracks(): MediaStreamTrack[];\n    getVideoTracks(): MediaStreamTrack[];\n    removeTrack(track: MediaStreamTrack): void;\n    addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaStream: {\n    prototype: MediaStream;\n    new(): MediaStream;\n    new(stream: MediaStream): MediaStream;\n    new(tracks: MediaStreamTrack[]): MediaStream;\n    isInstance: IsInstance<MediaStream>;\n    countUnderlyingStreams(): Promise<number>;\n};\n\ninterface MediaStreamAudioDestinationNode extends AudioNode {\n    readonly stream: MediaStream;\n}\n\ndeclare var MediaStreamAudioDestinationNode: {\n    prototype: MediaStreamAudioDestinationNode;\n    new(context: AudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode;\n    isInstance: IsInstance<MediaStreamAudioDestinationNode>;\n};\n\ninterface MediaStreamAudioSourceNode extends AudioNode, AudioNodePassThrough {\n    readonly mediaStream: MediaStream;\n}\n\ndeclare var MediaStreamAudioSourceNode: {\n    prototype: MediaStreamAudioSourceNode;\n    new(context: AudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode;\n    isInstance: IsInstance<MediaStreamAudioSourceNode>;\n};\n\ninterface MediaStreamError {\n    readonly constraint: string | null;\n    readonly message: string | null;\n    readonly name: string;\n}\n\ninterface MediaStreamEvent extends Event {\n    readonly stream: MediaStream | null;\n}\n\ndeclare var MediaStreamEvent: {\n    prototype: MediaStreamEvent;\n    new(type: string, eventInitDict?: MediaStreamEventInit): MediaStreamEvent;\n    isInstance: IsInstance<MediaStreamEvent>;\n};\n\ninterface MediaStreamTrackEventMap {\n    \"ended\": Event;\n    \"mute\": Event;\n    \"unmute\": Event;\n}\n\ninterface MediaStreamTrack extends EventTarget {\n    enabled: boolean;\n    readonly id: string;\n    readonly kind: string;\n    readonly label: string;\n    readonly muted: boolean;\n    onended: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;\n    readonly readyState: MediaStreamTrackState;\n    applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;\n    clone(): MediaStreamTrack;\n    getCapabilities(): MediaTrackCapabilities;\n    getConstraints(): MediaTrackConstraints;\n    getSettings(): MediaTrackSettings;\n    stop(): void;\n    addEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MediaStreamTrackEventMap>(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MediaStreamTrack: {\n    prototype: MediaStreamTrack;\n    new(): MediaStreamTrack;\n    isInstance: IsInstance<MediaStreamTrack>;\n};\n\ninterface MediaStreamTrackAudioSourceNode extends AudioNode, AudioNodePassThrough {\n}\n\ndeclare var MediaStreamTrackAudioSourceNode: {\n    prototype: MediaStreamTrackAudioSourceNode;\n    new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode;\n    isInstance: IsInstance<MediaStreamTrackAudioSourceNode>;\n};\n\ninterface MediaStreamTrackEvent extends Event {\n    readonly track: MediaStreamTrack;\n}\n\ndeclare var MediaStreamTrackEvent: {\n    prototype: MediaStreamTrackEvent;\n    new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;\n    isInstance: IsInstance<MediaStreamTrackEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface MerchantValidationEvent extends Event {\n    readonly methodName: string;\n    readonly validationURL: string;\n    complete(merchantSessionPromise: any): void;\n}\n\ndeclare var MerchantValidationEvent: {\n    prototype: MerchantValidationEvent;\n    new(type: string, eventInitDict?: MerchantValidationEventInit): MerchantValidationEvent;\n    isInstance: IsInstance<MerchantValidationEvent>;\n};\n\ninterface MessageBroadcaster extends MessageListenerManager {\n    readonly childCount: number;\n    broadcastAsyncMessage(messageName?: string | null, obj?: any): void;\n    getChildAt(aIndex: number): MessageListenerManager | null;\n    releaseCachedProcesses(): void;\n}\n\ndeclare var MessageBroadcaster: {\n    prototype: MessageBroadcaster;\n    new(): MessageBroadcaster;\n    isInstance: IsInstance<MessageBroadcaster>;\n};\n\ninterface MessageChannel {\n    readonly port1: MessagePort;\n    readonly port2: MessagePort;\n}\n\ndeclare var MessageChannel: {\n    prototype: MessageChannel;\n    new(): MessageChannel;\n    isInstance: IsInstance<MessageChannel>;\n};\n\ninterface MessageEvent extends Event {\n    readonly data: any;\n    readonly lastEventId: string;\n    readonly origin: string;\n    readonly ports: MessagePort[];\n    readonly source: MessageEventSource | null;\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void;\n}\n\ndeclare var MessageEvent: {\n    prototype: MessageEvent;\n    new(type: string, eventInitDict?: MessageEventInit): MessageEvent;\n    isInstance: IsInstance<MessageEvent>;\n};\n\ninterface MessageListenerManager extends MessageListenerManagerMixin {\n}\n\ndeclare var MessageListenerManager: {\n    prototype: MessageListenerManager;\n    new(): MessageListenerManager;\n    isInstance: IsInstance<MessageListenerManager>;\n};\n\ninterface MessageListenerManagerMixin {\n    addMessageListener(messageName: string, listener: MessageListener, listenWhenClosed?: boolean): void;\n    addWeakMessageListener(messageName: string, listener: MessageListener): void;\n    removeMessageListener(messageName: string, listener: MessageListener): void;\n    removeWeakMessageListener(messageName: string, listener: MessageListener): void;\n}\n\ninterface MessageManagerGlobal {\n    atob(asciiString: string): string;\n    btoa(base64Data: string): string;\n    dump(str: string): void;\n}\n\ninterface MessagePortEventMap {\n    \"message\": Event;\n    \"messageerror\": Event;\n}\n\ninterface MessagePort extends EventTarget {\n    onmessage: ((this: MessagePort, ev: Event) => any) | null;\n    onmessageerror: ((this: MessagePort, ev: Event) => any) | null;\n    close(): void;\n    postMessage(message: any, transferable: any[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    start(): void;\n    addEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof MessagePortEventMap>(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var MessagePort: {\n    prototype: MessagePort;\n    new(): MessagePort;\n    isInstance: IsInstance<MessagePort>;\n};\n\ninterface MessageSender extends MessageListenerManager, MessageSenderMixin {\n}\n\ndeclare var MessageSender: {\n    prototype: MessageSender;\n    new(): MessageSender;\n    isInstance: IsInstance<MessageSender>;\n};\n\ninterface MessageSenderMixin {\n    readonly processMessageManager: MessageSender | null;\n    readonly remoteType: string;\n    sendAsyncMessage(messageName?: string | null, obj?: any, transfers?: any): void;\n}\n\ninterface MimeType {\n    readonly description: string;\n    readonly enabledPlugin: Plugin;\n    readonly suffixes: string;\n    readonly type: string;\n}\n\ndeclare var MimeType: {\n    prototype: MimeType;\n    new(): MimeType;\n    isInstance: IsInstance<MimeType>;\n};\n\ninterface MimeTypeArray {\n    readonly length: number;\n    item(index: number): MimeType | null;\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\n\ndeclare var MimeTypeArray: {\n    prototype: MimeTypeArray;\n    new(): MimeTypeArray;\n    isInstance: IsInstance<MimeTypeArray>;\n};\n\ninterface MouseEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly button: number;\n    readonly buttons: number;\n    readonly clientX: number;\n    readonly clientY: number;\n    readonly ctrlKey: boolean;\n    readonly inputSource: number;\n    readonly metaKey: boolean;\n    readonly movementX: number;\n    readonly movementY: number;\n    readonly mozInputSource: number;\n    readonly mozPressure: number;\n    readonly offsetX: number;\n    readonly offsetY: number;\n    readonly pageX: number;\n    readonly pageY: number;\n    readonly relatedTarget: EventTarget | null;\n    readonly screen: nsIScreen | null;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly shiftKey: boolean;\n    readonly x: number;\n    readonly y: number;\n    clickEventPrevented(): boolean;\n    getModifierState(keyArg: string): boolean;\n    initMouseEvent(typeArg: string, canBubbleArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number, screenXArg?: number, screenYArg?: number, clientXArg?: number, clientYArg?: number, ctrlKeyArg?: boolean, altKeyArg?: boolean, shiftKeyArg?: boolean, metaKeyArg?: boolean, buttonArg?: number, relatedTargetArg?: EventTarget | null): void;\n    initNSMouseEvent(typeArg: string, canBubbleArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number, screenXArg?: number, screenYArg?: number, clientXArg?: number, clientYArg?: number, ctrlKeyArg?: boolean, altKeyArg?: boolean, shiftKeyArg?: boolean, metaKeyArg?: boolean, buttonArg?: number, relatedTargetArg?: EventTarget | null, pressure?: number, inputSourceArg?: number): void;\n    preventClickEvent(): void;\n    readonly MOZ_SOURCE_UNKNOWN: 0;\n    readonly MOZ_SOURCE_MOUSE: 1;\n    readonly MOZ_SOURCE_PEN: 2;\n    readonly MOZ_SOURCE_ERASER: 3;\n    readonly MOZ_SOURCE_CURSOR: 4;\n    readonly MOZ_SOURCE_TOUCH: 5;\n    readonly MOZ_SOURCE_KEYBOARD: 6;\n}\n\ndeclare var MouseEvent: {\n    prototype: MouseEvent;\n    new(typeArg: string, mouseEventInitDict?: MouseEventInit): MouseEvent;\n    readonly MOZ_SOURCE_UNKNOWN: 0;\n    readonly MOZ_SOURCE_MOUSE: 1;\n    readonly MOZ_SOURCE_PEN: 2;\n    readonly MOZ_SOURCE_ERASER: 3;\n    readonly MOZ_SOURCE_CURSOR: 4;\n    readonly MOZ_SOURCE_TOUCH: 5;\n    readonly MOZ_SOURCE_KEYBOARD: 6;\n    isInstance: IsInstance<MouseEvent>;\n};\n\ninterface MouseScrollEvent extends MouseEvent {\n    readonly axis: number;\n    initMouseScrollEvent(type: string, canBubble?: boolean, cancelable?: boolean, view?: Window | null, detail?: number, screenX?: number, screenY?: number, clientX?: number, clientY?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean, button?: number, relatedTarget?: EventTarget | null, axis?: number): void;\n    readonly HORIZONTAL_AXIS: 1;\n    readonly VERTICAL_AXIS: 2;\n}\n\ndeclare var MouseScrollEvent: {\n    prototype: MouseScrollEvent;\n    new(): MouseScrollEvent;\n    readonly HORIZONTAL_AXIS: 1;\n    readonly VERTICAL_AXIS: 2;\n    isInstance: IsInstance<MouseScrollEvent>;\n};\n\ninterface MozCanvasPrintState {\n    readonly context: nsISupports;\n    done(): void;\n}\n\ndeclare var MozCanvasPrintState: {\n    prototype: MozCanvasPrintState;\n    new(): MozCanvasPrintState;\n    isInstance: IsInstance<MozCanvasPrintState>;\n};\n\ninterface MozDocumentMatcher {\n    readonly allFrames: boolean;\n    readonly checkPermissions: boolean;\n    readonly excludeMatches: MatchPatternSet | null;\n    readonly extension: WebExtensionPolicy | null;\n    readonly frameID: number | null;\n    readonly isUserScript: boolean;\n    readonly matchAboutBlank: boolean;\n    readonly matchOriginAsFallback: boolean;\n    readonly matches: MatchPatternSet;\n    readonly originAttributesPatterns: any;\n    matchesURI(uri: URI): boolean;\n    matchesWindowGlobal(windowGlobal: WindowGlobalChild, ignorePermissions?: boolean): boolean;\n}\n\ndeclare var MozDocumentMatcher: {\n    prototype: MozDocumentMatcher;\n    new(options: MozDocumentMatcherInit): MozDocumentMatcher;\n    isInstance: IsInstance<MozDocumentMatcher>;\n};\n\ninterface MozDocumentObserver {\n    disconnect(): void;\n    observe(matchers: MozDocumentMatcher[]): void;\n}\n\ndeclare var MozDocumentObserver: {\n    prototype: MozDocumentObserver;\n    new(callbacks: MozDocumentCallback): MozDocumentObserver;\n    isInstance: IsInstance<MozDocumentObserver>;\n};\n\ninterface MozEditableElement {\n    readonly editor: nsIEditor | null;\n    readonly hasEditor: boolean;\n    readonly isInputEventTarget: boolean;\n    setUserInput(input: string): void;\n}\n\ninterface MozFrameLoaderOwner {\n    readonly browsingContext: BrowsingContext | null;\n    readonly frameLoader: FrameLoader | null;\n    changeRemoteness(aOptions: RemotenessOptions): void;\n    swapFrameLoaders(aOtherLoaderOwner: XULFrameElement): void;\n    swapFrameLoaders(aOtherLoaderOwner: HTMLIFrameElement): void;\n}\n\ninterface MozImageLoadingContent {\n    readonly currentRequestFinalURI: URI | null;\n    readonly currentURI: URI | null;\n    loadingEnabled: boolean;\n    addObserver(aObserver: imgINotificationObserver): void;\n    forceReload(aNotify?: boolean): void;\n    getRequest(aRequestType: number): imgIRequest | null;\n    getRequestType(aRequest: imgIRequest): number;\n    removeObserver(aObserver: imgINotificationObserver): void;\n    readonly UNKNOWN_REQUEST: -1;\n    readonly CURRENT_REQUEST: 0;\n    readonly PENDING_REQUEST: 1;\n}\n\ninterface MozObjectLoadingContent {\n    readonly actualType: string;\n    readonly displayedType: number;\n    readonly srcURI: URI | null;\n    readonly TYPE_LOADING: 0;\n    readonly TYPE_DOCUMENT: 1;\n    readonly TYPE_FALLBACK: 2;\n}\n\ninterface MozQueryInterface {\n}\n\ndeclare var MozQueryInterface: {\n    prototype: MozQueryInterface;\n    new(): MozQueryInterface;\n    isInstance: IsInstance<MozQueryInterface>;\n};\n\ninterface MozSharedMap extends EventTarget {\n    get(name: string): StructuredClonable;\n    has(name: string): boolean;\n    forEach(callbackfn: (value: StructuredClonable, key: string, parent: MozSharedMap) => void, thisArg?: any): void;\n}\n\ndeclare var MozSharedMap: {\n    prototype: MozSharedMap;\n    new(): MozSharedMap;\n    isInstance: IsInstance<MozSharedMap>;\n};\n\ninterface MozSharedMapChangeEvent extends Event {\n    readonly changedKeys: string[];\n}\n\ndeclare var MozSharedMapChangeEvent: {\n    prototype: MozSharedMapChangeEvent;\n    new(): MozSharedMapChangeEvent;\n    isInstance: IsInstance<MozSharedMapChangeEvent>;\n};\n\ninterface MozStorageAsyncStatementParams {\n    readonly length: number;\n    [index: number]: any;\n    [name: string]: any;\n}\n\ndeclare var MozStorageAsyncStatementParams: {\n    prototype: MozStorageAsyncStatementParams;\n    new(): MozStorageAsyncStatementParams;\n    isInstance: IsInstance<MozStorageAsyncStatementParams>;\n};\n\ninterface MozStorageStatementParams {\n    readonly length: number;\n    [index: number]: any;\n    [name: string]: any;\n}\n\ndeclare var MozStorageStatementParams: {\n    prototype: MozStorageStatementParams;\n    new(): MozStorageStatementParams;\n    isInstance: IsInstance<MozStorageStatementParams>;\n};\n\ninterface MozStorageStatementRow {\n    [name: string]: any;\n}\n\ndeclare var MozStorageStatementRow: {\n    prototype: MozStorageStatementRow;\n    new(): MozStorageStatementRow;\n    isInstance: IsInstance<MozStorageStatementRow>;\n};\n\ninterface MozWritableSharedMap extends MozSharedMap {\n    delete(name: string): void;\n    flush(): void;\n    set(name: string, value: StructuredClonable): void;\n}\n\ndeclare var MozWritableSharedMap: {\n    prototype: MozWritableSharedMap;\n    new(): MozWritableSharedMap;\n    isInstance: IsInstance<MozWritableSharedMap>;\n};\n\ninterface MutationEvent extends Event {\n    readonly attrChange: number;\n    readonly attrName: string;\n    readonly newValue: string;\n    readonly prevValue: string;\n    readonly relatedNode: Node | null;\n    initMutationEvent(type: string, canBubble?: boolean, cancelable?: boolean, relatedNode?: Node | null, prevValue?: string, newValue?: string, attrName?: string, attrChange?: number): void;\n    readonly MODIFICATION: 1;\n    readonly ADDITION: 2;\n    readonly REMOVAL: 3;\n}\n\ndeclare var MutationEvent: {\n    prototype: MutationEvent;\n    new(): MutationEvent;\n    readonly MODIFICATION: 1;\n    readonly ADDITION: 2;\n    readonly REMOVAL: 3;\n    isInstance: IsInstance<MutationEvent>;\n};\n\ninterface MutationObserver {\n    mergeAttributeRecords: boolean;\n    readonly mutationCallback: MutationCallback;\n    disconnect(): void;\n    getObservingInfo(): (MutationObservingInfo | null)[];\n    observe(target: Node, options?: MutationObserverInit): void;\n    takeRecords(): MutationRecord[];\n}\n\ndeclare var MutationObserver: {\n    prototype: MutationObserver;\n    new(mutationCallback: MutationCallback): MutationObserver;\n    isInstance: IsInstance<MutationObserver>;\n};\n\ninterface MutationRecord {\n    readonly addedAnimations: Animation[];\n    readonly addedNodes: NodeList;\n    readonly attributeName: string | null;\n    readonly attributeNamespace: string | null;\n    readonly changedAnimations: Animation[];\n    readonly nextSibling: Node | null;\n    readonly oldValue: string | null;\n    readonly previousSibling: Node | null;\n    readonly removedAnimations: Animation[];\n    readonly removedNodes: NodeList;\n    readonly target: Node | null;\n    readonly type: string;\n}\n\ndeclare var MutationRecord: {\n    prototype: MutationRecord;\n    new(): MutationRecord;\n    isInstance: IsInstance<MutationRecord>;\n};\n\ninterface NamedNodeMap {\n    readonly length: number;\n    getNamedItem(name: string): Attr | null;\n    getNamedItemNS(namespaceURI: string | null, localName: string): Attr | null;\n    item(index: number): Attr | null;\n    removeNamedItem(name: string): Attr;\n    removeNamedItemNS(namespaceURI: string | null, localName: string): Attr;\n    setNamedItem(arg: Attr): Attr | null;\n    setNamedItemNS(arg: Attr): Attr | null;\n    [index: number]: Attr;\n}\n\ndeclare var NamedNodeMap: {\n    prototype: NamedNodeMap;\n    new(): NamedNodeMap;\n    isInstance: IsInstance<NamedNodeMap>;\n};\n\ninterface NavigateEvent extends Event {\n    readonly canIntercept: boolean;\n    readonly destination: NavigationDestination;\n    readonly downloadRequest: string | null;\n    readonly formData: FormData | null;\n    readonly hasUAVisualTransition: boolean;\n    readonly hashChange: boolean;\n    readonly info: any;\n    readonly navigationType: NavigationType;\n    readonly signal: AbortSignal;\n    readonly sourceElement: Element | null;\n    readonly userInitiated: boolean;\n    intercept(options?: NavigationInterceptOptions): void;\n    scroll(): void;\n}\n\ndeclare var NavigateEvent: {\n    prototype: NavigateEvent;\n    new(type: string, eventInitDict: NavigateEventInit): NavigateEvent;\n    isInstance: IsInstance<NavigateEvent>;\n};\n\ninterface NavigationEventMap {\n    \"currententrychange\": Event;\n    \"navigate\": Event;\n    \"navigateerror\": Event;\n    \"navigatesuccess\": Event;\n}\n\ninterface Navigation extends EventTarget {\n    readonly activation: NavigationActivation | null;\n    readonly canGoBack: boolean;\n    readonly canGoForward: boolean;\n    readonly currentEntry: NavigationHistoryEntry | null;\n    oncurrententrychange: ((this: Navigation, ev: Event) => any) | null;\n    onnavigate: ((this: Navigation, ev: Event) => any) | null;\n    onnavigateerror: ((this: Navigation, ev: Event) => any) | null;\n    onnavigatesuccess: ((this: Navigation, ev: Event) => any) | null;\n    readonly transition: NavigationTransition | null;\n    back(options?: NavigationOptions): NavigationResult;\n    entries(): NavigationHistoryEntry[];\n    forward(options?: NavigationOptions): NavigationResult;\n    navigate(url: string | URL, options?: NavigationNavigateOptions): NavigationResult;\n    reload(options?: NavigationReloadOptions): NavigationResult;\n    traverseTo(key: string, options?: NavigationOptions): NavigationResult;\n    updateCurrentEntry(options: NavigationUpdateCurrentEntryOptions): void;\n    addEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NavigationEventMap>(type: K, listener: (this: Navigation, ev: NavigationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Navigation: {\n    prototype: Navigation;\n    new(): Navigation;\n    isInstance: IsInstance<Navigation>;\n};\n\ninterface NavigationActivation {\n    readonly entry: NavigationHistoryEntry;\n    readonly from: NavigationHistoryEntry | null;\n    readonly navigationType: NavigationType;\n}\n\ndeclare var NavigationActivation: {\n    prototype: NavigationActivation;\n    new(): NavigationActivation;\n    isInstance: IsInstance<NavigationActivation>;\n};\n\ninterface NavigationCurrentEntryChangeEvent extends Event {\n    readonly from: NavigationHistoryEntry;\n    readonly navigationType: NavigationType | null;\n}\n\ndeclare var NavigationCurrentEntryChangeEvent: {\n    prototype: NavigationCurrentEntryChangeEvent;\n    new(type: string, eventInitDict: NavigationCurrentEntryChangeEventInit): NavigationCurrentEntryChangeEvent;\n    isInstance: IsInstance<NavigationCurrentEntryChangeEvent>;\n};\n\ninterface NavigationDestination {\n    readonly id: string;\n    readonly index: number;\n    readonly key: string;\n    readonly sameDocument: boolean;\n    readonly url: string;\n    getState(): any;\n}\n\ndeclare var NavigationDestination: {\n    prototype: NavigationDestination;\n    new(): NavigationDestination;\n    isInstance: IsInstance<NavigationDestination>;\n};\n\ninterface NavigationHistoryEntryEventMap {\n    \"dispose\": Event;\n}\n\ninterface NavigationHistoryEntry extends EventTarget {\n    readonly id: string;\n    readonly index: number;\n    readonly key: string;\n    ondispose: ((this: NavigationHistoryEntry, ev: Event) => any) | null;\n    readonly sameDocument: boolean;\n    readonly url: string | null;\n    getState(): any;\n    addEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NavigationHistoryEntryEventMap>(type: K, listener: (this: NavigationHistoryEntry, ev: NavigationHistoryEntryEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var NavigationHistoryEntry: {\n    prototype: NavigationHistoryEntry;\n    new(): NavigationHistoryEntry;\n    isInstance: IsInstance<NavigationHistoryEntry>;\n};\n\n/** Available only in secure contexts. */\ninterface NavigationPreloadManager {\n    disable(): Promise<void>;\n    enable(): Promise<void>;\n    getState(): Promise<NavigationPreloadState>;\n    setHeaderValue(value: string): Promise<void>;\n}\n\ndeclare var NavigationPreloadManager: {\n    prototype: NavigationPreloadManager;\n    new(): NavigationPreloadManager;\n    isInstance: IsInstance<NavigationPreloadManager>;\n};\n\ninterface NavigationTransition {\n    readonly finished: Promise<void>;\n    readonly from: NavigationHistoryEntry;\n    readonly navigationType: NavigationType;\n}\n\ndeclare var NavigationTransition: {\n    prototype: NavigationTransition;\n    new(): NavigationTransition;\n    isInstance: IsInstance<NavigationTransition>;\n};\n\ninterface Navigator extends GlobalPrivacyControl, NavigatorAutomationInformation, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorGPU, NavigatorGeolocation, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {\n    /** Available only in secure contexts. */\n    readonly activeVRDisplays: VRDisplay[];\n    readonly buildID: string;\n    /** Available only in secure contexts. */\n    readonly clipboard: Clipboard;\n    readonly connection: NetworkInformation;\n    readonly cookieEnabled: boolean;\n    /** Available only in secure contexts. */\n    readonly credentials: CredentialsContainer;\n    readonly doNotTrack: string;\n    readonly isWebVRContentDetected: boolean;\n    readonly isWebVRContentPresenting: boolean;\n    readonly login: NavigatorLogin;\n    readonly maxTouchPoints: number;\n    readonly mediaCapabilities: MediaCapabilities;\n    readonly mediaDevices: MediaDevices;\n    readonly mediaSession: MediaSession;\n    readonly mimeTypes: MimeTypeArray;\n    readonly mozAddonManager: AddonManager;\n    readonly mozTCPSocket: LegacyMozTCPSocket;\n    readonly oscpu: string;\n    readonly pdfViewerEnabled: boolean;\n    readonly permissions: Permissions;\n    readonly plugins: PluginArray;\n    readonly privateAttribution: PrivateAttribution;\n    readonly productSub: string;\n    readonly serviceWorker: ServiceWorkerContainer;\n    readonly testTrialGatedAttribute: boolean;\n    readonly userActivation: UserActivation;\n    readonly vendor: string;\n    readonly vendorSub: string;\n    readonly wakeLock: WakeLock;\n    /** Available only in secure contexts. */\n    readonly xr: XRSystem;\n    /** Available only in secure contexts. */\n    canShare(data?: ShareData): boolean;\n    getAutoplayPolicy(type: AutoplayPolicyMediaType): AutoplayPolicy;\n    getAutoplayPolicy(element: HTMLMediaElement): AutoplayPolicy;\n    getAutoplayPolicy(context: AudioContext): AutoplayPolicy;\n    getBattery(): Promise<BatteryManager>;\n    getGamepads(): (Gamepad | null)[];\n    /** Available only in secure contexts. */\n    getVRDisplays(): Promise<VRDisplay[]>;\n    javaEnabled(): boolean;\n    mozGetUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;\n    requestAllGamepads(): Promise<Gamepad[]>;\n    requestGamepadServiceTest(): GamepadServiceTest;\n    requestMIDIAccess(options?: MIDIOptions): Promise<MIDIAccess>;\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise<MediaKeySystemAccess>;\n    requestVRPresentation(display: VRDisplay): void;\n    requestVRServiceTest(): VRServiceTest;\n    sendBeacon(url: string, data?: BodyInit | null): boolean;\n    setVibrationPermission(permitted: boolean, persistent?: boolean): void;\n    /** Available only in secure contexts. */\n    share(data?: ShareData): Promise<void>;\n    vibrate(duration: number): boolean;\n    vibrate(pattern: number[]): boolean;\n}\n\ndeclare var Navigator: {\n    prototype: Navigator;\n    new(): Navigator;\n    isInstance: IsInstance<Navigator>;\n};\n\ninterface NavigatorAutomationInformation {\n    readonly webdriver: boolean;\n}\n\ninterface NavigatorConcurrentHardware {\n    readonly hardwareConcurrency: number;\n}\n\ninterface NavigatorContentUtils {\n    checkProtocolHandlerAllowed(scheme: string, handlerURI: URI, documentURI: URI): void;\n    /** Available only in secure contexts. */\n    registerProtocolHandler(scheme: string, url: string): void;\n}\n\ninterface NavigatorGPU {\n    /** Available only in secure contexts. */\n    readonly gpu: GPU;\n}\n\ninterface NavigatorGeolocation {\n    readonly geolocation: Geolocation;\n}\n\ninterface NavigatorID {\n    readonly appCodeName: string;\n    readonly appName: string;\n    readonly appVersion: string;\n    readonly platform: string;\n    readonly product: string;\n    readonly userAgent: string;\n    taintEnabled(): boolean;\n}\n\ninterface NavigatorLanguage {\n    readonly language: string | null;\n    readonly languages: string[];\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorLocks {\n    readonly locks: LockManager;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorLogin {\n    setStatus(status: LoginStatus): Promise<void>;\n}\n\ndeclare var NavigatorLogin: {\n    prototype: NavigatorLogin;\n    new(): NavigatorLogin;\n    isInstance: IsInstance<NavigatorLogin>;\n};\n\ninterface NavigatorOnLine {\n    readonly onLine: boolean;\n}\n\n/** Available only in secure contexts. */\ninterface NavigatorStorage {\n    readonly storage: StorageManager;\n}\n\ninterface NetworkInformationEventMap {\n    \"typechange\": Event;\n}\n\ninterface NetworkInformation extends EventTarget {\n    ontypechange: ((this: NetworkInformation, ev: Event) => any) | null;\n    readonly type: ConnectionType;\n    addEventListener<K extends keyof NetworkInformationEventMap>(type: K, listener: (this: NetworkInformation, ev: NetworkInformationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NetworkInformationEventMap>(type: K, listener: (this: NetworkInformation, ev: NetworkInformationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var NetworkInformation: {\n    prototype: NetworkInformation;\n    new(): NetworkInformation;\n    isInstance: IsInstance<NetworkInformation>;\n};\n\ninterface Node extends EventTarget {\n    readonly accessibleNode: AccessibleNode | null;\n    readonly baseURI: string | null;\n    readonly baseURIObject: URI | null;\n    readonly childNodes: NodeList;\n    readonly containingShadowRoot: ShadowRoot | null;\n    readonly firstChild: Node | null;\n    readonly flattenedTreeParentNode: Node | null;\n    readonly isConnected: boolean;\n    readonly isNativeAnonymous: boolean;\n    readonly lastChild: Node | null;\n    readonly nextSibling: Node | null;\n    readonly nodeName: string;\n    readonly nodePrincipal: Principal;\n    readonly nodeType: number;\n    nodeValue: string | null;\n    readonly ownerDocument: Document | null;\n    readonly parentElement: Element | null;\n    readonly parentFlexElement: Element | null;\n    readonly parentNode: Node | null;\n    readonly previousSibling: Node | null;\n    textContent: string | null;\n    appendChild(node: Node): Node;\n    cloneNode(deep?: boolean): Node;\n    compareDocumentPosition(other: Node): number;\n    contains(other: Node | null): boolean;\n    generateXPath(): string;\n    getRootNode(options?: GetRootNodeOptions): Node;\n    hasChildNodes(): boolean;\n    insertBefore(node: Node, child: Node | null): Node;\n    isDefaultNamespace(namespace: string | null): boolean;\n    isEqualNode(node: Node | null): boolean;\n    isSameNode(node: Node | null): boolean;\n    lookupNamespaceURI(prefix: string | null): string | null;\n    lookupPrefix(namespace: string | null): string | null;\n    normalize(): void;\n    removeChild(child: Node): Node;\n    replaceChild(node: Node, child: Node): Node;\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    readonly TEXT_NODE: 3;\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    readonly COMMENT_NODE: 8;\n    readonly DOCUMENT_NODE: 9;\n    readonly DOCUMENT_TYPE_NODE: 10;\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    readonly DOCUMENT_POSITION_DISCONNECTED: 0x01;\n    readonly DOCUMENT_POSITION_PRECEDING: 0x02;\n    readonly DOCUMENT_POSITION_FOLLOWING: 0x04;\n    readonly DOCUMENT_POSITION_CONTAINS: 0x08;\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 0x10;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20;\n}\n\ndeclare var Node: {\n    prototype: Node;\n    new(): Node;\n    readonly ELEMENT_NODE: 1;\n    readonly ATTRIBUTE_NODE: 2;\n    readonly TEXT_NODE: 3;\n    readonly CDATA_SECTION_NODE: 4;\n    readonly ENTITY_REFERENCE_NODE: 5;\n    readonly ENTITY_NODE: 6;\n    readonly PROCESSING_INSTRUCTION_NODE: 7;\n    readonly COMMENT_NODE: 8;\n    readonly DOCUMENT_NODE: 9;\n    readonly DOCUMENT_TYPE_NODE: 10;\n    readonly DOCUMENT_FRAGMENT_NODE: 11;\n    readonly NOTATION_NODE: 12;\n    readonly DOCUMENT_POSITION_DISCONNECTED: 0x01;\n    readonly DOCUMENT_POSITION_PRECEDING: 0x02;\n    readonly DOCUMENT_POSITION_FOLLOWING: 0x04;\n    readonly DOCUMENT_POSITION_CONTAINS: 0x08;\n    readonly DOCUMENT_POSITION_CONTAINED_BY: 0x10;\n    readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20;\n    isInstance: IsInstance<Node>;\n};\n\ninterface NodeIterator {\n    readonly filter: NodeFilter | null;\n    readonly pointerBeforeReferenceNode: boolean;\n    readonly referenceNode: Node | null;\n    readonly root: Node;\n    readonly whatToShow: number;\n    detach(): void;\n    nextNode(): Node | null;\n    previousNode(): Node | null;\n}\n\ndeclare var NodeIterator: {\n    prototype: NodeIterator;\n    new(): NodeIterator;\n    isInstance: IsInstance<NodeIterator>;\n};\n\ninterface NodeList {\n    readonly length: number;\n    item(index: number): Node | null;\n    forEach(callbackfn: (value: Node | null, key: number, parent: NodeList) => void, thisArg?: any): void;\n    [index: number]: Node;\n}\n\ndeclare var NodeList: {\n    prototype: NodeList;\n    new(): NodeList;\n    isInstance: IsInstance<NodeList>;\n};\n\ninterface NonDocumentTypeChildNode {\n    readonly nextElementSibling: Element | null;\n    readonly previousElementSibling: Element | null;\n}\n\ninterface NonElementParentNode {\n    getElementById(elementId: string): Element | null;\n}\n\ninterface NotificationEventMap {\n    \"click\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"show\": Event;\n}\n\ninterface Notification extends EventTarget {\n    readonly actions: NotificationAction[];\n    readonly body: string | null;\n    readonly data: any;\n    readonly dir: NotificationDirection;\n    readonly icon: string | null;\n    readonly lang: string | null;\n    onclick: ((this: Notification, ev: Event) => any) | null;\n    onclose: ((this: Notification, ev: Event) => any) | null;\n    onerror: ((this: Notification, ev: Event) => any) | null;\n    onshow: ((this: Notification, ev: Event) => any) | null;\n    readonly requireInteraction: boolean;\n    readonly silent: boolean;\n    readonly tag: string | null;\n    readonly title: string;\n    readonly vibrate: number[];\n    close(): void;\n    addEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof NotificationEventMap>(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Notification: {\n    prototype: Notification;\n    new(title: string, options?: NotificationOptions): Notification;\n    isInstance: IsInstance<Notification>;\n    readonly maxActions: number;\n    readonly permission: NotificationPermission;\n    requestPermission(permissionCallback?: NotificationPermissionCallback): Promise<NotificationPermission>;\n};\n\ninterface NotifyPaintEvent extends Event {\n    readonly boundingClientRect: DOMRect;\n    readonly clientRects: DOMRectList;\n    readonly paintRequests: PaintRequestList;\n    readonly paintTimeStamp: DOMHighResTimeStamp;\n    readonly transactionId: number;\n}\n\ndeclare var NotifyPaintEvent: {\n    prototype: NotifyPaintEvent;\n    new(): NotifyPaintEvent;\n    isInstance: IsInstance<NotifyPaintEvent>;\n};\n\ninterface OES_draw_buffers_indexed {\n    blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendEquationiOES(buf: GLuint, mode: GLenum): void;\n    blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void;\n    colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void;\n    disableiOES(target: GLenum, index: GLuint): void;\n    enableiOES(target: GLenum, index: GLuint): void;\n}\n\ninterface OES_element_index_uint {\n}\n\ninterface OES_fbo_render_mipmap {\n}\n\ninterface OES_standard_derivatives {\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: 0x8B8B;\n}\n\ninterface OES_texture_float {\n}\n\ninterface OES_texture_float_linear {\n}\n\ninterface OES_texture_half_float {\n    readonly HALF_FLOAT_OES: 0x8D61;\n}\n\ninterface OES_texture_half_float_linear {\n}\n\ninterface OES_vertex_array_object {\n    bindVertexArrayOES(arrayObject: WebGLVertexArrayObject | null): void;\n    createVertexArrayOES(): WebGLVertexArrayObject;\n    deleteVertexArrayOES(arrayObject: WebGLVertexArrayObject | null): void;\n    isVertexArrayOES(arrayObject: WebGLVertexArrayObject | null): GLboolean;\n    readonly VERTEX_ARRAY_BINDING_OES: 0x85B5;\n}\n\ninterface OVR_multiview2 {\n    framebufferTextureMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, baseViewIndex: GLint, numViews: GLsizei): void;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: 0x9630;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: 0x9632;\n    readonly MAX_VIEWS_OVR: 0x9631;\n    readonly FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 0x9633;\n}\n\ninterface OfflineAudioCompletionEvent extends Event {\n    readonly renderedBuffer: AudioBuffer;\n}\n\ndeclare var OfflineAudioCompletionEvent: {\n    prototype: OfflineAudioCompletionEvent;\n    new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent;\n    isInstance: IsInstance<OfflineAudioCompletionEvent>;\n};\n\ninterface OfflineAudioContextEventMap extends BaseAudioContextEventMap {\n    \"complete\": Event;\n}\n\ninterface OfflineAudioContext extends BaseAudioContext {\n    readonly length: number;\n    oncomplete: ((this: OfflineAudioContext, ev: Event) => any) | null;\n    startRendering(): Promise<AudioBuffer>;\n    addEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OfflineAudioContextEventMap>(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OfflineAudioContext: {\n    prototype: OfflineAudioContext;\n    new(contextOptions: OfflineAudioContextOptions): OfflineAudioContext;\n    new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext;\n    isInstance: IsInstance<OfflineAudioContext>;\n};\n\ninterface OffscreenCanvasEventMap {\n    \"contextlost\": Event;\n    \"contextrestored\": Event;\n}\n\ninterface OffscreenCanvas extends EventTarget {\n    height: number;\n    oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null;\n    width: number;\n    convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;\n    getContext(contextId: OffscreenRenderingContextId, contextOptions?: any): OffscreenRenderingContext | null;\n    toBlob(type?: string, encoderOptions?: any): Promise<Blob>;\n    transferToImageBitmap(): ImageBitmap;\n    addEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OffscreenCanvasEventMap>(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OffscreenCanvas: {\n    prototype: OffscreenCanvas;\n    new(width: number, height: number): OffscreenCanvas;\n    isInstance: IsInstance<OffscreenCanvas>;\n};\n\ninterface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPathDrawingStyles, CanvasPathMethods, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {\n    readonly canvas: OffscreenCanvas;\n    commit(): void;\n}\n\ndeclare var OffscreenCanvasRenderingContext2D: {\n    prototype: OffscreenCanvasRenderingContext2D;\n    new(): OffscreenCanvasRenderingContext2D;\n    isInstance: IsInstance<OffscreenCanvasRenderingContext2D>;\n};\n\ninterface OnErrorEventHandlerForNodesEventMap {\n    \"error\": Event;\n}\n\ninterface OnErrorEventHandlerForNodes {\n    onerror: ((this: OnErrorEventHandlerForNodes, ev: Event) => any) | null;\n    addEventListener<K extends keyof OnErrorEventHandlerForNodesEventMap>(type: K, listener: (this: OnErrorEventHandlerForNodes, ev: OnErrorEventHandlerForNodesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OnErrorEventHandlerForNodesEventMap>(type: K, listener: (this: OnErrorEventHandlerForNodes, ev: OnErrorEventHandlerForNodesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface OnErrorEventHandlerForWindowEventMap {\n    \"error\": Event;\n}\n\ninterface OnErrorEventHandlerForWindow {\n    onerror: ((this: OnErrorEventHandlerForWindow, ev: Event) => any) | null;\n    addEventListener<K extends keyof OnErrorEventHandlerForWindowEventMap>(type: K, listener: (this: OnErrorEventHandlerForWindow, ev: OnErrorEventHandlerForWindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof OnErrorEventHandlerForWindowEventMap>(type: K, listener: (this: OnErrorEventHandlerForWindow, ev: OnErrorEventHandlerForWindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface OscillatorNode extends AudioScheduledSourceNode, AudioNodePassThrough {\n    readonly detune: AudioParam;\n    readonly frequency: AudioParam;\n    type: OscillatorType;\n    setPeriodicWave(periodicWave: PeriodicWave): void;\n    addEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AudioScheduledSourceNodeEventMap>(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var OscillatorNode: {\n    prototype: OscillatorNode;\n    new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;\n    isInstance: IsInstance<OscillatorNode>;\n};\n\ninterface PageTransitionEvent extends Event {\n    readonly inFrameSwap: boolean;\n    readonly persisted: boolean;\n}\n\ndeclare var PageTransitionEvent: {\n    prototype: PageTransitionEvent;\n    new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent;\n    isInstance: IsInstance<PageTransitionEvent>;\n};\n\ninterface PaintRequest {\n    readonly clientRect: DOMRect;\n    readonly reason: string;\n}\n\ndeclare var PaintRequest: {\n    prototype: PaintRequest;\n    new(): PaintRequest;\n    isInstance: IsInstance<PaintRequest>;\n};\n\ninterface PaintRequestList {\n    readonly length: number;\n    item(index: number): PaintRequest | null;\n    [index: number]: PaintRequest;\n}\n\ndeclare var PaintRequestList: {\n    prototype: PaintRequestList;\n    new(): PaintRequestList;\n    isInstance: IsInstance<PaintRequestList>;\n};\n\ninterface PaintTimingMixin {\n    readonly paintTime: DOMHighResTimeStamp;\n    readonly presentationTime: DOMHighResTimeStamp | null;\n}\n\ninterface PannerNode extends AudioNode, AudioNodePassThrough {\n    coneInnerAngle: number;\n    coneOuterAngle: number;\n    coneOuterGain: number;\n    distanceModel: DistanceModelType;\n    maxDistance: number;\n    readonly orientationX: AudioParam;\n    readonly orientationY: AudioParam;\n    readonly orientationZ: AudioParam;\n    panningModel: PanningModelType;\n    readonly positionX: AudioParam;\n    readonly positionY: AudioParam;\n    readonly positionZ: AudioParam;\n    refDistance: number;\n    rolloffFactor: number;\n    setOrientation(x: number, y: number, z: number): void;\n    setPosition(x: number, y: number, z: number): void;\n}\n\ndeclare var PannerNode: {\n    prototype: PannerNode;\n    new(context: BaseAudioContext, options?: PannerOptions): PannerNode;\n    isInstance: IsInstance<PannerNode>;\n};\n\ninterface ParentNode {\n    readonly childElementCount: number;\n    readonly children: HTMLCollection;\n    readonly firstElementChild: Element | null;\n    readonly lastElementChild: Element | null;\n    append(...nodes: (Node | string)[]): void;\n    getElementsByAttribute(name: string, value: string | null): HTMLCollection;\n    getElementsByAttributeNS(namespaceURI: string | null, name: string, value: string | null): HTMLCollection;\n    prepend(...nodes: (Node | string)[]): void;\n    querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;\n    querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;\n    querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;\n    /** @deprecated */\n    querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;\n    querySelector<E extends Element = Element>(selectors: string): E | null;\n    querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;\n    querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;\n    /** @deprecated */\n    querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;\n    querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;\n    replaceChildren(...nodes: (Node | string)[]): void;\n}\n\ninterface ParentProcessMessageManager extends MessageBroadcaster, GlobalProcessScriptLoader, ProcessScriptLoader {\n}\n\ndeclare var ParentProcessMessageManager: {\n    prototype: ParentProcessMessageManager;\n    new(): ParentProcessMessageManager;\n    isInstance: IsInstance<ParentProcessMessageManager>;\n};\n\ninterface Path2D extends CanvasPathMethods {\n    addPath(path: Path2D, transform?: DOMMatrix2DInit): void;\n}\n\ndeclare var Path2D: {\n    prototype: Path2D;\n    new(): Path2D;\n    new(other: Path2D): Path2D;\n    new(pathString: string): Path2D;\n    isInstance: IsInstance<Path2D>;\n};\n\n/** Available only in secure contexts. */\ninterface PaymentAddress {\n    readonly addressLine: string[];\n    readonly city: string;\n    readonly country: string;\n    readonly dependentLocality: string;\n    readonly organization: string;\n    readonly phone: string;\n    readonly postalCode: string;\n    readonly recipient: string;\n    readonly region: string;\n    readonly regionCode: string;\n    readonly sortingCode: string;\n    toJSON(): any;\n}\n\ndeclare var PaymentAddress: {\n    prototype: PaymentAddress;\n    new(): PaymentAddress;\n    isInstance: IsInstance<PaymentAddress>;\n};\n\n/** Available only in secure contexts. */\ninterface PaymentMethodChangeEvent extends PaymentRequestUpdateEvent {\n    readonly methodDetails: any;\n    readonly methodName: string;\n}\n\ndeclare var PaymentMethodChangeEvent: {\n    prototype: PaymentMethodChangeEvent;\n    new(type: string, eventInitDict?: PaymentMethodChangeEventInit): PaymentMethodChangeEvent;\n    isInstance: IsInstance<PaymentMethodChangeEvent>;\n};\n\ninterface PaymentRequestEventMap {\n    \"merchantvalidation\": Event;\n    \"paymentmethodchange\": Event;\n    \"shippingaddresschange\": Event;\n    \"shippingoptionchange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface PaymentRequest extends EventTarget {\n    readonly id: string;\n    onmerchantvalidation: ((this: PaymentRequest, ev: Event) => any) | null;\n    onpaymentmethodchange: ((this: PaymentRequest, ev: Event) => any) | null;\n    onshippingaddresschange: ((this: PaymentRequest, ev: Event) => any) | null;\n    onshippingoptionchange: ((this: PaymentRequest, ev: Event) => any) | null;\n    readonly shippingAddress: PaymentAddress | null;\n    readonly shippingOption: string | null;\n    readonly shippingType: PaymentShippingType | null;\n    abort(): Promise<void>;\n    canMakePayment(): Promise<boolean>;\n    show(detailsPromise?: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): Promise<PaymentResponse>;\n    addEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PaymentRequestEventMap>(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PaymentRequest: {\n    prototype: PaymentRequest;\n    new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest;\n    isInstance: IsInstance<PaymentRequest>;\n};\n\n/** Available only in secure contexts. */\ninterface PaymentRequestUpdateEvent extends Event {\n    updateWith(detailsPromise: PaymentDetailsUpdate | PromiseLike<PaymentDetailsUpdate>): void;\n}\n\ndeclare var PaymentRequestUpdateEvent: {\n    prototype: PaymentRequestUpdateEvent;\n    new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent;\n    isInstance: IsInstance<PaymentRequestUpdateEvent>;\n};\n\ninterface PaymentResponseEventMap {\n    \"payerdetailchange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface PaymentResponse extends EventTarget {\n    readonly details: any;\n    readonly methodName: string;\n    onpayerdetailchange: ((this: PaymentResponse, ev: Event) => any) | null;\n    readonly payerEmail: string | null;\n    readonly payerName: string | null;\n    readonly payerPhone: string | null;\n    readonly requestId: string;\n    readonly shippingAddress: PaymentAddress | null;\n    readonly shippingOption: string | null;\n    complete(result?: PaymentComplete): Promise<void>;\n    retry(errorFields?: PaymentValidationErrors): Promise<void>;\n    toJSON(): any;\n    addEventListener<K extends keyof PaymentResponseEventMap>(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PaymentResponseEventMap>(type: K, listener: (this: PaymentResponse, ev: PaymentResponseEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PaymentResponse: {\n    prototype: PaymentResponse;\n    new(): PaymentResponse;\n    isInstance: IsInstance<PaymentResponse>;\n};\n\ninterface PeerConnectionImpl {\n    certificate: RTCCertificate;\n    readonly connectionState: RTCPeerConnectionState;\n    readonly currentLocalDescription: string;\n    readonly currentOfferer: boolean | null;\n    readonly currentRemoteDescription: string;\n    readonly duplicateFingerprintQuirk: boolean;\n    readonly fingerprint: string;\n    readonly iceConnectionState: RTCIceConnectionState;\n    readonly iceGatheringState: RTCIceGatheringState;\n    id: string;\n    peerIdentity: string;\n    readonly pendingLocalDescription: string;\n    readonly pendingOfferer: boolean | null;\n    readonly pendingRemoteDescription: string;\n    readonly privacyRequested: boolean;\n    readonly sctp: RTCSctpTransport | null;\n    readonly signalingState: RTCSignalingState;\n    addIceCandidate(candidate: string, mid: string, ufrag: string, level: number | null): void;\n    addTransceiver(init: RTCRtpTransceiverInit, kind: string, sendTrack: MediaStreamTrack | null, addTrackMagic: boolean): RTCRtpTransceiver;\n    chain(op: ChainedOperation): Promise<any>;\n    close(): void;\n    closeStreams(): void;\n    createAnswer(): void;\n    createDataChannel(label: string, protocol: string, type: number, ordered: boolean, maxTime: number, maxNum: number, externalNegotiated: boolean, stream: number): RTCDataChannel;\n    createOffer(options?: RTCOfferOptions): void;\n    createdSender(sender: RTCRtpSender): boolean;\n    disablePacketDump(level: number, type: mozPacketDumpType, sending: boolean): void;\n    enablePacketDump(level: number, type: mozPacketDumpType, sending: boolean): void;\n    getRemoteStreams(): MediaStream[];\n    getStats(selector: MediaStreamTrack | null): Promise<RTCStatsReport>;\n    getTransceivers(): RTCRtpTransceiver[];\n    initialize(observer: PeerConnectionObserver, window: Window): void;\n    onSetDescriptionError(): void;\n    onSetDescriptionSuccess(type: RTCSdpType, remote: boolean): Promise<void>;\n    pluginCrash(pluginId: number, name: string): boolean;\n    restartIce(): void;\n    restartIceNoRenegotiationNeeded(): void;\n    setConfiguration(config?: RTCConfiguration): void;\n    setLocalDescription(action: number, sdp: string): void;\n    setRemoteDescription(action: number, sdp: string): void;\n    updateNegotiationNeeded(): void;\n}\n\ndeclare var PeerConnectionImpl: {\n    prototype: PeerConnectionImpl;\n    new(): PeerConnectionImpl;\n    isInstance: IsInstance<PeerConnectionImpl>;\n};\n\ninterface PeerConnectionObserver {\n    fireNegotiationNeededEvent(): void;\n    fireStreamEvent(stream: MediaStream): void;\n    fireTrackEvent(receiver: RTCRtpReceiver, streams: MediaStream[]): void;\n    notifyDataChannel(channel: RTCDataChannel): void;\n    onAddIceCandidateError(error: PCErrorData): void;\n    onAddIceCandidateSuccess(): void;\n    onCreateAnswerError(error: PCErrorData): void;\n    onCreateAnswerSuccess(answer: string): void;\n    onCreateOfferError(error: PCErrorData): void;\n    onCreateOfferSuccess(offer: string): void;\n    onIceCandidate(level: number, mid: string, candidate: string, ufrag: string): void;\n    onPacket(level: number, type: mozPacketDumpType, sending: boolean, packet: ArrayBuffer): void;\n    onSetDescriptionError(error: PCErrorData): void;\n    onSetDescriptionSuccess(): void;\n    onStateChange(state: PCObserverStateType): void;\n}\n\ndeclare var PeerConnectionObserver: {\n    prototype: PeerConnectionObserver;\n    new(domPC: RTCPeerConnection): PeerConnectionObserver;\n    isInstance: IsInstance<PeerConnectionObserver>;\n};\n\ninterface PerformanceEventMap {\n    \"resourcetimingbufferfull\": Event;\n}\n\ninterface Performance extends EventTarget {\n    readonly eventCounts: EventCounts;\n    readonly interactionCount: number;\n    readonly mozMemory: any;\n    readonly navigation: PerformanceNavigation;\n    onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null;\n    readonly timeOrigin: DOMHighResTimeStamp;\n    readonly timing: PerformanceTiming;\n    clearMarks(markName?: string): void;\n    clearMeasures(measureName?: string): void;\n    clearResourceTimings(): void;\n    getEntries(): PerformanceEntryList;\n    getEntriesByName(name: string, entryType?: string): PerformanceEntryList;\n    getEntriesByType(entryType: string): PerformanceEntryList;\n    mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;\n    now(): DOMHighResTimeStamp;\n    setResourceTimingBufferSize(maxSize: number): void;\n    toJSON(): any;\n    addEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PerformanceEventMap>(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Performance: {\n    prototype: Performance;\n    new(): Performance;\n    isInstance: IsInstance<Performance>;\n};\n\ninterface PerformanceEntry {\n    readonly duration: DOMHighResTimeStamp;\n    readonly entryType: string;\n    readonly name: string;\n    readonly startTime: DOMHighResTimeStamp;\n    toJSON(): any;\n}\n\ndeclare var PerformanceEntry: {\n    prototype: PerformanceEntry;\n    new(): PerformanceEntry;\n    isInstance: IsInstance<PerformanceEntry>;\n};\n\ninterface PerformanceEntryEvent extends Event {\n    readonly duration: DOMHighResTimeStamp;\n    readonly entryType: string;\n    readonly epoch: number;\n    readonly name: string;\n    readonly origin: string;\n    readonly startTime: DOMHighResTimeStamp;\n}\n\ndeclare var PerformanceEntryEvent: {\n    prototype: PerformanceEntryEvent;\n    new(type: string, eventInitDict?: PerformanceEntryEventInit): PerformanceEntryEvent;\n    isInstance: IsInstance<PerformanceEntryEvent>;\n};\n\ninterface PerformanceEventTiming extends PerformanceEntry {\n    readonly cancelable: boolean;\n    readonly interactionId: number;\n    readonly processingEnd: DOMHighResTimeStamp;\n    readonly processingStart: DOMHighResTimeStamp;\n    readonly target: Node | null;\n    toJSON(): any;\n}\n\ndeclare var PerformanceEventTiming: {\n    prototype: PerformanceEventTiming;\n    new(): PerformanceEventTiming;\n    isInstance: IsInstance<PerformanceEventTiming>;\n};\n\ninterface PerformanceMark extends PerformanceEntry {\n    readonly detail: any;\n}\n\ndeclare var PerformanceMark: {\n    prototype: PerformanceMark;\n    new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;\n    isInstance: IsInstance<PerformanceMark>;\n};\n\ninterface PerformanceMeasure extends PerformanceEntry {\n    readonly detail: any;\n}\n\ndeclare var PerformanceMeasure: {\n    prototype: PerformanceMeasure;\n    new(): PerformanceMeasure;\n    isInstance: IsInstance<PerformanceMeasure>;\n};\n\ninterface PerformanceNavigation {\n    readonly redirectCount: number;\n    readonly type: number;\n    toJSON(): any;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n}\n\ndeclare var PerformanceNavigation: {\n    prototype: PerformanceNavigation;\n    new(): PerformanceNavigation;\n    readonly TYPE_NAVIGATE: 0;\n    readonly TYPE_RELOAD: 1;\n    readonly TYPE_BACK_FORWARD: 2;\n    readonly TYPE_RESERVED: 255;\n    isInstance: IsInstance<PerformanceNavigation>;\n};\n\ninterface PerformanceNavigationTiming extends PerformanceResourceTiming {\n    readonly domComplete: DOMHighResTimeStamp;\n    readonly domContentLoadedEventEnd: DOMHighResTimeStamp;\n    readonly domContentLoadedEventStart: DOMHighResTimeStamp;\n    readonly domInteractive: DOMHighResTimeStamp;\n    readonly loadEventEnd: DOMHighResTimeStamp;\n    readonly loadEventStart: DOMHighResTimeStamp;\n    readonly redirectCount: number;\n    readonly type: NavigationTimingType;\n    readonly unloadEventEnd: DOMHighResTimeStamp;\n    readonly unloadEventStart: DOMHighResTimeStamp;\n    toJSON(): any;\n}\n\ndeclare var PerformanceNavigationTiming: {\n    prototype: PerformanceNavigationTiming;\n    new(): PerformanceNavigationTiming;\n    isInstance: IsInstance<PerformanceNavigationTiming>;\n};\n\ninterface PerformanceObserver {\n    disconnect(): void;\n    observe(options?: PerformanceObserverInit): void;\n    takeRecords(): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserver: {\n    prototype: PerformanceObserver;\n    new(callback: PerformanceObserverCallback): PerformanceObserver;\n    isInstance: IsInstance<PerformanceObserver>;\n    readonly supportedEntryTypes: any;\n};\n\ninterface PerformanceObserverEntryList {\n    getEntries(filter?: PerformanceEntryFilterOptions): PerformanceEntryList;\n    getEntriesByName(name: string, entryType?: string): PerformanceEntryList;\n    getEntriesByType(entryType: string): PerformanceEntryList;\n}\n\ndeclare var PerformanceObserverEntryList: {\n    prototype: PerformanceObserverEntryList;\n    new(): PerformanceObserverEntryList;\n    isInstance: IsInstance<PerformanceObserverEntryList>;\n};\n\ninterface PerformancePaintTiming extends PerformanceEntry, PaintTimingMixin {\n    toJSON(): any;\n}\n\ndeclare var PerformancePaintTiming: {\n    prototype: PerformancePaintTiming;\n    new(): PerformancePaintTiming;\n    isInstance: IsInstance<PerformancePaintTiming>;\n};\n\ninterface PerformanceResourceTiming extends PerformanceEntry {\n    readonly connectEnd: DOMHighResTimeStamp;\n    readonly connectStart: DOMHighResTimeStamp;\n    readonly contentType: string;\n    readonly decodedBodySize: number;\n    readonly domainLookupEnd: DOMHighResTimeStamp;\n    readonly domainLookupStart: DOMHighResTimeStamp;\n    readonly encodedBodySize: number;\n    readonly fetchStart: DOMHighResTimeStamp;\n    readonly initiatorType: string;\n    readonly nextHopProtocol: string;\n    readonly redirectEnd: DOMHighResTimeStamp;\n    readonly redirectStart: DOMHighResTimeStamp;\n    readonly renderBlockingStatus: RenderBlockingStatusType;\n    readonly requestStart: DOMHighResTimeStamp;\n    readonly responseEnd: DOMHighResTimeStamp;\n    readonly responseStart: DOMHighResTimeStamp;\n    readonly responseStatus: number;\n    readonly secureConnectionStart: DOMHighResTimeStamp;\n    /** Available only in secure contexts. */\n    readonly serverTiming: PerformanceServerTiming[];\n    readonly transferSize: number;\n    readonly workerStart: DOMHighResTimeStamp;\n    toJSON(): any;\n}\n\ndeclare var PerformanceResourceTiming: {\n    prototype: PerformanceResourceTiming;\n    new(): PerformanceResourceTiming;\n    isInstance: IsInstance<PerformanceResourceTiming>;\n};\n\n/** Available only in secure contexts. */\ninterface PerformanceServerTiming {\n    readonly description: string;\n    readonly duration: DOMHighResTimeStamp;\n    readonly name: string;\n    toJSON(): any;\n}\n\ndeclare var PerformanceServerTiming: {\n    prototype: PerformanceServerTiming;\n    new(): PerformanceServerTiming;\n    isInstance: IsInstance<PerformanceServerTiming>;\n};\n\ninterface PerformanceTiming {\n    readonly connectEnd: number;\n    readonly connectStart: number;\n    readonly domComplete: number;\n    readonly domContentLoadedEventEnd: number;\n    readonly domContentLoadedEventStart: number;\n    readonly domInteractive: number;\n    readonly domLoading: number;\n    readonly domainLookupEnd: number;\n    readonly domainLookupStart: number;\n    readonly fetchStart: number;\n    readonly loadEventEnd: number;\n    readonly loadEventStart: number;\n    readonly navigationStart: number;\n    readonly redirectEnd: number;\n    readonly redirectStart: number;\n    readonly requestStart: number;\n    readonly responseEnd: number;\n    readonly responseStart: number;\n    readonly secureConnectionStart: number;\n    readonly timeToContentfulPaint: number;\n    readonly timeToFirstInteractive: number;\n    readonly timeToNonBlankPaint: number;\n    readonly unloadEventEnd: number;\n    readonly unloadEventStart: number;\n    toJSON(): any;\n}\n\ndeclare var PerformanceTiming: {\n    prototype: PerformanceTiming;\n    new(): PerformanceTiming;\n    isInstance: IsInstance<PerformanceTiming>;\n};\n\ninterface PeriodicWave {\n}\n\ndeclare var PeriodicWave: {\n    prototype: PeriodicWave;\n    new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave;\n    isInstance: IsInstance<PeriodicWave>;\n};\n\ninterface PermissionStatusEventMap {\n    \"change\": Event;\n}\n\ninterface PermissionStatus extends EventTarget {\n    readonly name: PermissionName;\n    onchange: ((this: PermissionStatus, ev: Event) => any) | null;\n    readonly state: PermissionState;\n    readonly type: string;\n    addEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof PermissionStatusEventMap>(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var PermissionStatus: {\n    prototype: PermissionStatus;\n    new(): PermissionStatus;\n    isInstance: IsInstance<PermissionStatus>;\n};\n\ninterface Permissions {\n    parseSetParameters(parameters: PermissionSetParameters): PermissionStatus;\n    query(permission: any): Promise<PermissionStatus>;\n}\n\ndeclare var Permissions: {\n    prototype: Permissions;\n    new(): Permissions;\n    isInstance: IsInstance<Permissions>;\n};\n\ninterface PlacesBookmark extends PlacesEvent {\n    readonly guid: string;\n    readonly id: number;\n    readonly isTagging: boolean;\n    readonly itemType: number;\n    readonly parentGuid: string;\n    readonly parentId: number;\n    readonly source: number;\n    readonly url: string;\n}\n\ndeclare var PlacesBookmark: {\n    prototype: PlacesBookmark;\n    new(): PlacesBookmark;\n    isInstance: IsInstance<PlacesBookmark>;\n};\n\ninterface PlacesBookmarkAddition extends PlacesBookmark {\n    readonly dateAdded: number;\n    readonly frecency: number;\n    readonly hidden: boolean;\n    readonly index: number;\n    readonly lastVisitDate: number | null;\n    readonly tags: string;\n    readonly targetFolderGuid: string;\n    readonly targetFolderItemId: number;\n    readonly targetFolderTitle: string;\n    readonly title: string;\n    readonly visitCount: number;\n}\n\ndeclare var PlacesBookmarkAddition: {\n    prototype: PlacesBookmarkAddition;\n    new(initDict: PlacesBookmarkAdditionInit): PlacesBookmarkAddition;\n    isInstance: IsInstance<PlacesBookmarkAddition>;\n};\n\ninterface PlacesBookmarkChanged extends PlacesBookmark {\n    readonly lastModified: number;\n}\n\ndeclare var PlacesBookmarkChanged: {\n    prototype: PlacesBookmarkChanged;\n    new(): PlacesBookmarkChanged;\n    isInstance: IsInstance<PlacesBookmarkChanged>;\n};\n\ninterface PlacesBookmarkGuid extends PlacesBookmarkChanged {\n}\n\ndeclare var PlacesBookmarkGuid: {\n    prototype: PlacesBookmarkGuid;\n    new(initDict: PlacesBookmarkGuidInit): PlacesBookmarkGuid;\n    isInstance: IsInstance<PlacesBookmarkGuid>;\n};\n\ninterface PlacesBookmarkKeyword extends PlacesBookmarkChanged {\n    readonly keyword: string;\n}\n\ndeclare var PlacesBookmarkKeyword: {\n    prototype: PlacesBookmarkKeyword;\n    new(initDict: PlacesBookmarkKeywordInit): PlacesBookmarkKeyword;\n    isInstance: IsInstance<PlacesBookmarkKeyword>;\n};\n\ninterface PlacesBookmarkMoved extends PlacesBookmark {\n    readonly dateAdded: number;\n    readonly frecency: number;\n    readonly hidden: boolean;\n    readonly index: number;\n    readonly lastVisitDate: number | null;\n    readonly oldIndex: number;\n    readonly oldParentGuid: string;\n    readonly tags: string;\n    readonly title: string;\n    readonly visitCount: number;\n}\n\ndeclare var PlacesBookmarkMoved: {\n    prototype: PlacesBookmarkMoved;\n    new(initDict: PlacesBookmarkMovedInit): PlacesBookmarkMoved;\n    isInstance: IsInstance<PlacesBookmarkMoved>;\n};\n\ninterface PlacesBookmarkRemoved extends PlacesBookmark {\n    readonly index: number;\n    readonly isDescendantRemoval: boolean;\n    readonly title: string;\n}\n\ndeclare var PlacesBookmarkRemoved: {\n    prototype: PlacesBookmarkRemoved;\n    new(initDict: PlacesBookmarkRemovedInit): PlacesBookmarkRemoved;\n    isInstance: IsInstance<PlacesBookmarkRemoved>;\n};\n\ninterface PlacesBookmarkTags extends PlacesBookmarkChanged {\n    readonly tags: string[];\n}\n\ndeclare var PlacesBookmarkTags: {\n    prototype: PlacesBookmarkTags;\n    new(initDict: PlacesBookmarkTagsInit): PlacesBookmarkTags;\n    isInstance: IsInstance<PlacesBookmarkTags>;\n};\n\ninterface PlacesBookmarkTime extends PlacesBookmarkChanged {\n    readonly dateAdded: number;\n}\n\ndeclare var PlacesBookmarkTime: {\n    prototype: PlacesBookmarkTime;\n    new(initDict: PlacesBookmarkTimeInit): PlacesBookmarkTime;\n    isInstance: IsInstance<PlacesBookmarkTime>;\n};\n\ninterface PlacesBookmarkTitle extends PlacesBookmarkChanged {\n    readonly title: string;\n}\n\ndeclare var PlacesBookmarkTitle: {\n    prototype: PlacesBookmarkTitle;\n    new(initDict: PlacesBookmarkTitleInit): PlacesBookmarkTitle;\n    isInstance: IsInstance<PlacesBookmarkTitle>;\n};\n\ninterface PlacesBookmarkUrl extends PlacesBookmarkChanged {\n}\n\ndeclare var PlacesBookmarkUrl: {\n    prototype: PlacesBookmarkUrl;\n    new(initDict: PlacesBookmarkUrlInit): PlacesBookmarkUrl;\n    isInstance: IsInstance<PlacesBookmarkUrl>;\n};\n\ninterface PlacesEvent {\n    readonly type: PlacesEventType;\n}\n\ndeclare var PlacesEvent: {\n    prototype: PlacesEvent;\n    new(): PlacesEvent;\n    isInstance: IsInstance<PlacesEvent>;\n};\n\ninterface PlacesEventCounts {\n    forEach(callbackfn: (value: number, key: string, parent: PlacesEventCounts) => void, thisArg?: any): void;\n}\n\ndeclare var PlacesEventCounts: {\n    prototype: PlacesEventCounts;\n    new(): PlacesEventCounts;\n    isInstance: IsInstance<PlacesEventCounts>;\n};\n\ninterface PlacesFavicon extends PlacesEvent {\n    readonly faviconUrl: string;\n    readonly pageGuid: string;\n    readonly url: string;\n}\n\ndeclare var PlacesFavicon: {\n    prototype: PlacesFavicon;\n    new(initDict: PlacesFaviconInit): PlacesFavicon;\n    isInstance: IsInstance<PlacesFavicon>;\n};\n\ninterface PlacesHistoryCleared extends PlacesEvent {\n}\n\ndeclare var PlacesHistoryCleared: {\n    prototype: PlacesHistoryCleared;\n    new(): PlacesHistoryCleared;\n    isInstance: IsInstance<PlacesHistoryCleared>;\n};\n\ninterface PlacesPurgeCaches extends PlacesEvent {\n}\n\ndeclare var PlacesPurgeCaches: {\n    prototype: PlacesPurgeCaches;\n    new(): PlacesPurgeCaches;\n    isInstance: IsInstance<PlacesPurgeCaches>;\n};\n\ninterface PlacesRanking extends PlacesEvent {\n}\n\ndeclare var PlacesRanking: {\n    prototype: PlacesRanking;\n    new(): PlacesRanking;\n    isInstance: IsInstance<PlacesRanking>;\n};\n\ninterface PlacesVisit extends PlacesEvent {\n    readonly frecency: number;\n    readonly hidden: boolean;\n    readonly lastKnownTitle: string | null;\n    readonly pageGuid: string;\n    readonly referringVisitId: number;\n    readonly transitionType: number;\n    readonly typedCount: number;\n    readonly url: string;\n    readonly visitCount: number;\n    readonly visitId: number;\n    readonly visitTime: number;\n}\n\ndeclare var PlacesVisit: {\n    prototype: PlacesVisit;\n    new(): PlacesVisit;\n    isInstance: IsInstance<PlacesVisit>;\n};\n\ninterface PlacesVisitRemoved extends PlacesEvent {\n    readonly isPartialVisistsRemoval: boolean;\n    readonly isRemovedFromStore: boolean;\n    readonly pageGuid: string;\n    readonly reason: number;\n    readonly transitionType: number;\n    readonly url: string;\n    readonly REASON_DELETED: 0;\n    readonly REASON_EXPIRED: 1;\n}\n\ndeclare var PlacesVisitRemoved: {\n    prototype: PlacesVisitRemoved;\n    new(initDict: PlacesVisitRemovedInit): PlacesVisitRemoved;\n    readonly REASON_DELETED: 0;\n    readonly REASON_EXPIRED: 1;\n    isInstance: IsInstance<PlacesVisitRemoved>;\n};\n\ninterface PlacesVisitTitle extends PlacesEvent {\n    readonly pageGuid: string;\n    readonly title: string;\n    readonly url: string;\n}\n\ndeclare var PlacesVisitTitle: {\n    prototype: PlacesVisitTitle;\n    new(initDict: PlacesVisitTitleInit): PlacesVisitTitle;\n    isInstance: IsInstance<PlacesVisitTitle>;\n};\n\ninterface PlacesWeakCallbackWrapper {\n}\n\ndeclare var PlacesWeakCallbackWrapper: {\n    prototype: PlacesWeakCallbackWrapper;\n    new(callback: PlacesEventCallback): PlacesWeakCallbackWrapper;\n    isInstance: IsInstance<PlacesWeakCallbackWrapper>;\n};\n\ninterface Plugin {\n    readonly description: string;\n    readonly filename: string;\n    readonly length: number;\n    readonly name: string;\n    item(index: number): MimeType | null;\n    namedItem(name: string): MimeType | null;\n    [index: number]: MimeType;\n}\n\ndeclare var Plugin: {\n    prototype: Plugin;\n    new(): Plugin;\n    isInstance: IsInstance<Plugin>;\n};\n\ninterface PluginArray {\n    readonly length: number;\n    item(index: number): Plugin | null;\n    namedItem(name: string): Plugin | null;\n    refresh(): void;\n    [index: number]: Plugin;\n}\n\ndeclare var PluginArray: {\n    prototype: PluginArray;\n    new(): PluginArray;\n    isInstance: IsInstance<PluginArray>;\n};\n\ninterface PluginCrashedEvent extends Event {\n    readonly gmpPlugin: boolean;\n    readonly pluginDumpID: string;\n    readonly pluginFilename: string | null;\n    readonly pluginID: number;\n    readonly pluginName: string;\n    readonly submittedCrashReport: boolean;\n}\n\ndeclare var PluginCrashedEvent: {\n    prototype: PluginCrashedEvent;\n    new(type: string, eventInitDict?: PluginCrashedEventInit): PluginCrashedEvent;\n    isInstance: IsInstance<PluginCrashedEvent>;\n};\n\ninterface PointerEvent extends MouseEvent {\n    readonly altitudeAngle: number;\n    readonly azimuthAngle: number;\n    readonly height: number;\n    readonly isPrimary: boolean;\n    readonly persistentDeviceId: number;\n    readonly pointerId: number;\n    readonly pointerType: string;\n    readonly pressure: number;\n    readonly tangentialPressure: number;\n    readonly tiltX: number;\n    readonly tiltY: number;\n    readonly twist: number;\n    readonly width: number;\n    getCoalescedEvents(): PointerEvent[];\n    getPredictedEvents(): PointerEvent[];\n}\n\ndeclare var PointerEvent: {\n    prototype: PointerEvent;\n    new(type: string, eventInitDict?: PointerEventInit): PointerEvent;\n    isInstance: IsInstance<PointerEvent>;\n};\n\ninterface PopStateEvent extends Event {\n    readonly state: any;\n}\n\ndeclare var PopStateEvent: {\n    prototype: PopStateEvent;\n    new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent;\n    isInstance: IsInstance<PopStateEvent>;\n};\n\ninterface PopoverInvokerElement {\n    popoverTargetAction: string;\n    popoverTargetElement: Element | null;\n}\n\ninterface PopupBlockedEvent extends Event {\n    readonly popupWindowFeatures: string | null;\n    readonly popupWindowName: string | null;\n    readonly popupWindowURI: URI | null;\n    readonly requestingWindow: Window | null;\n}\n\ndeclare var PopupBlockedEvent: {\n    prototype: PopupBlockedEvent;\n    new(type: string, eventInitDict?: PopupBlockedEventInit): PopupBlockedEvent;\n    isInstance: IsInstance<PopupBlockedEvent>;\n};\n\ninterface PopupPositionedEvent extends Event {\n    readonly alignmentOffset: number;\n    readonly alignmentPosition: string;\n    readonly isAnchored: boolean;\n    readonly popupAlignment: string;\n}\n\ndeclare var PopupPositionedEvent: {\n    prototype: PopupPositionedEvent;\n    new(type: string, init?: PopupPositionedEventInit): PopupPositionedEvent;\n    isInstance: IsInstance<PopupPositionedEvent>;\n};\n\ninterface PositionStateEvent extends Event {\n    readonly duration: number;\n    readonly playbackRate: number;\n    readonly position: number;\n}\n\ndeclare var PositionStateEvent: {\n    prototype: PositionStateEvent;\n    new(type: string, eventInitDict?: PositionStateEventInit): PositionStateEvent;\n    isInstance: IsInstance<PositionStateEvent>;\n};\n\ninterface PrecompiledScript {\n    readonly hasReturnValue: boolean;\n    readonly url: string;\n    executeInGlobal(global: any, options?: ExecuteInGlobalOptions): any;\n}\n\ndeclare var PrecompiledScript: {\n    prototype: PrecompiledScript;\n    new(): PrecompiledScript;\n    isInstance: IsInstance<PrecompiledScript>;\n};\n\n/** Available only in secure contexts. */\ninterface PrivateAttribution {\n    measureConversion(options: PrivateAttributionConversionOptions): void;\n    saveImpression(options: PrivateAttributionImpressionOptions): void;\n}\n\ndeclare var PrivateAttribution: {\n    prototype: PrivateAttribution;\n    new(): PrivateAttribution;\n    isInstance: IsInstance<PrivateAttribution>;\n};\n\ninterface ProcessMessageManager extends MessageSender, ProcessScriptLoader {\n    readonly isInProcess: boolean;\n    readonly osPid: number;\n}\n\ndeclare var ProcessMessageManager: {\n    prototype: ProcessMessageManager;\n    new(): ProcessMessageManager;\n    isInstance: IsInstance<ProcessMessageManager>;\n};\n\ninterface ProcessScriptLoader {\n    getDelayedProcessScripts(): any[][];\n    loadProcessScript(url: string, allowDelayedLoad: boolean): void;\n    removeDelayedProcessScript(url: string): void;\n}\n\ninterface ProcessingInstruction extends CharacterData, LinkStyle {\n    readonly target: string;\n}\n\ndeclare var ProcessingInstruction: {\n    prototype: ProcessingInstruction;\n    new(): ProcessingInstruction;\n    isInstance: IsInstance<ProcessingInstruction>;\n};\n\ninterface ProgressEvent extends Event {\n    readonly lengthComputable: boolean;\n    readonly loaded: number;\n    readonly total: number;\n}\n\ndeclare var ProgressEvent: {\n    prototype: ProgressEvent;\n    new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent;\n    isInstance: IsInstance<ProgressEvent>;\n};\n\ninterface PromiseNativeHandler {\n}\n\ninterface PromiseRejectionEvent extends Event {\n    readonly promise: any;\n    readonly reason: any;\n}\n\ndeclare var PromiseRejectionEvent: {\n    prototype: PromiseRejectionEvent;\n    new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;\n    isInstance: IsInstance<PromiseRejectionEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface PublicKeyCredential extends Credential {\n    readonly authenticatorAttachment: string | null;\n    readonly rawId: ArrayBuffer;\n    readonly response: AuthenticatorResponse;\n    getClientExtensionResults(): AuthenticationExtensionsClientOutputs;\n    toJSON(): any;\n}\n\ndeclare var PublicKeyCredential: {\n    prototype: PublicKeyCredential;\n    new(): PublicKeyCredential;\n    isInstance: IsInstance<PublicKeyCredential>;\n    getClientCapabilities(): Promise<PublicKeyCredentialClientCapabilities>;\n    isConditionalMediationAvailable(): Promise<boolean>;\n    isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;\n    parseCreationOptionsFromJSON(options: PublicKeyCredentialCreationOptionsJSON): PublicKeyCredentialCreationOptions;\n    parseRequestOptionsFromJSON(options: PublicKeyCredentialRequestOptionsJSON): PublicKeyCredentialRequestOptions;\n};\n\ninterface PushManager {\n    getSubscription(): Promise<PushSubscription | null>;\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\n\ndeclare var PushManager: {\n    prototype: PushManager;\n    new(scope: string): PushManager;\n    isInstance: IsInstance<PushManager>;\n    readonly supportedContentEncodings: any;\n};\n\ninterface PushManagerImpl {\n    getSubscription(): Promise<PushSubscription | null>;\n    permissionState(options?: PushSubscriptionOptionsInit): Promise<PermissionState>;\n    subscribe(options?: PushSubscriptionOptionsInit): Promise<PushSubscription>;\n}\n\ndeclare var PushManagerImpl: {\n    prototype: PushManagerImpl;\n    new(scope: string): PushManagerImpl;\n    isInstance: IsInstance<PushManagerImpl>;\n};\n\ninterface PushSubscription {\n    readonly endpoint: string;\n    readonly expirationTime: EpochTimeStamp | null;\n    readonly options: PushSubscriptionOptions;\n    getKey(name: PushEncryptionKeyName): ArrayBuffer | null;\n    toJSON(): PushSubscriptionJSON;\n    unsubscribe(): Promise<boolean>;\n}\n\ndeclare var PushSubscription: {\n    prototype: PushSubscription;\n    new(initDict: PushSubscriptionInit): PushSubscription;\n    isInstance: IsInstance<PushSubscription>;\n};\n\ninterface PushSubscriptionOptions {\n    readonly applicationServerKey: ArrayBuffer | null;\n}\n\ndeclare var PushSubscriptionOptions: {\n    prototype: PushSubscriptionOptions;\n    new(): PushSubscriptionOptions;\n    isInstance: IsInstance<PushSubscriptionOptions>;\n};\n\ninterface RTCCertificate {\n    readonly expires: DOMTimeStamp;\n    getFingerprints(): RTCDtlsFingerprint[];\n}\n\ndeclare var RTCCertificate: {\n    prototype: RTCCertificate;\n    new(): RTCCertificate;\n    isInstance: IsInstance<RTCCertificate>;\n};\n\ninterface RTCDTMFSenderEventMap {\n    \"tonechange\": Event;\n}\n\ninterface RTCDTMFSender extends EventTarget {\n    readonly canInsertDTMF: boolean;\n    ontonechange: ((this: RTCDTMFSender, ev: Event) => any) | null;\n    readonly toneBuffer: string;\n    insertDTMF(tones: string, duration?: number, interToneGap?: number): void;\n    addEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDTMFSenderEventMap>(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDTMFSender: {\n    prototype: RTCDTMFSender;\n    new(): RTCDTMFSender;\n    isInstance: IsInstance<RTCDTMFSender>;\n};\n\ninterface RTCDTMFToneChangeEvent extends Event {\n    readonly tone: string;\n}\n\ndeclare var RTCDTMFToneChangeEvent: {\n    prototype: RTCDTMFToneChangeEvent;\n    new(type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent;\n    isInstance: IsInstance<RTCDTMFToneChangeEvent>;\n};\n\ninterface RTCDataChannelEventMap {\n    \"bufferedamountlow\": Event;\n    \"close\": Event;\n    \"error\": Event;\n    \"message\": Event;\n    \"open\": Event;\n}\n\ninterface RTCDataChannel extends EventTarget {\n    binaryType: RTCDataChannelType;\n    readonly bufferedAmount: number;\n    bufferedAmountLowThreshold: number;\n    readonly id: number | null;\n    readonly label: string;\n    readonly maxPacketLifeTime: number | null;\n    readonly maxRetransmits: number | null;\n    readonly negotiated: boolean;\n    onbufferedamountlow: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onclose: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onerror: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onmessage: ((this: RTCDataChannel, ev: Event) => any) | null;\n    onopen: ((this: RTCDataChannel, ev: Event) => any) | null;\n    readonly ordered: boolean;\n    readonly protocol: string;\n    readonly readyState: RTCDataChannelState;\n    close(): void;\n    send(data: string): void;\n    send(data: Blob): void;\n    send(data: ArrayBuffer): void;\n    send(data: ArrayBufferView): void;\n    addEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDataChannelEventMap>(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDataChannel: {\n    prototype: RTCDataChannel;\n    new(): RTCDataChannel;\n    isInstance: IsInstance<RTCDataChannel>;\n};\n\ninterface RTCDataChannelEvent extends Event {\n    readonly channel: RTCDataChannel;\n}\n\ndeclare var RTCDataChannelEvent: {\n    prototype: RTCDataChannelEvent;\n    new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent;\n    isInstance: IsInstance<RTCDataChannelEvent>;\n};\n\ninterface RTCDtlsTransportEventMap {\n    \"statechange\": Event;\n}\n\ninterface RTCDtlsTransport extends EventTarget {\n    readonly iceTransport: RTCIceTransport;\n    onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null;\n    readonly state: RTCDtlsTransportState;\n    addEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCDtlsTransportEventMap>(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCDtlsTransport: {\n    prototype: RTCDtlsTransport;\n    new(): RTCDtlsTransport;\n    isInstance: IsInstance<RTCDtlsTransport>;\n};\n\ninterface RTCEncodedAudioFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    getMetadata(): RTCEncodedAudioFrameMetadata;\n}\n\ndeclare var RTCEncodedAudioFrame: {\n    prototype: RTCEncodedAudioFrame;\n    new(): RTCEncodedAudioFrame;\n    isInstance: IsInstance<RTCEncodedAudioFrame>;\n};\n\ninterface RTCEncodedVideoFrame {\n    data: ArrayBuffer;\n    readonly timestamp: number;\n    readonly type: RTCEncodedVideoFrameType;\n    getMetadata(): RTCEncodedVideoFrameMetadata;\n}\n\ndeclare var RTCEncodedVideoFrame: {\n    prototype: RTCEncodedVideoFrame;\n    new(): RTCEncodedVideoFrame;\n    isInstance: IsInstance<RTCEncodedVideoFrame>;\n};\n\ninterface RTCIceCandidate {\n    readonly address: string | null;\n    readonly candidate: string;\n    readonly component: RTCIceComponent | null;\n    readonly foundation: string | null;\n    readonly port: number | null;\n    readonly priority: number | null;\n    readonly protocol: RTCIceProtocol | null;\n    readonly relatedAddress: string | null;\n    readonly relatedPort: number | null;\n    readonly sdpMLineIndex: number | null;\n    readonly sdpMid: string | null;\n    readonly tcpType: RTCIceTcpCandidateType | null;\n    readonly type: RTCIceCandidateType | null;\n    readonly usernameFragment: string | null;\n    toJSON(): RTCIceCandidateInit;\n}\n\ndeclare var RTCIceCandidate: {\n    prototype: RTCIceCandidate;\n    new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate;\n    isInstance: IsInstance<RTCIceCandidate>;\n};\n\ninterface RTCIceTransportEventMap {\n    \"gatheringstatechange\": Event;\n    \"statechange\": Event;\n}\n\ninterface RTCIceTransport extends EventTarget {\n    readonly gatheringState: RTCIceGathererState;\n    ongatheringstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    onstatechange: ((this: RTCIceTransport, ev: Event) => any) | null;\n    readonly state: RTCIceTransportState;\n    addEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCIceTransportEventMap>(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCIceTransport: {\n    prototype: RTCIceTransport;\n    new(): RTCIceTransport;\n    isInstance: IsInstance<RTCIceTransport>;\n};\n\ninterface RTCIdentityProviderRegistrar {\n    readonly hasIdp: boolean;\n    generateAssertion(contents: string, origin: string, options?: RTCIdentityProviderOptions): Promise<RTCIdentityAssertionResult>;\n    register(idp: RTCIdentityProvider): void;\n    validateAssertion(assertion: string, origin: string): Promise<RTCIdentityValidationResult>;\n}\n\ninterface RTCPeerConnectionEventMap {\n    \"addstream\": Event;\n    \"addtrack\": Event;\n    \"connectionstatechange\": Event;\n    \"datachannel\": Event;\n    \"icecandidate\": Event;\n    \"iceconnectionstatechange\": Event;\n    \"icegatheringstatechange\": Event;\n    \"negotiationneeded\": Event;\n    \"signalingstatechange\": Event;\n    \"track\": Event;\n}\n\ninterface RTCPeerConnection extends EventTarget {\n    readonly canTrickleIceCandidates: boolean | null;\n    readonly connectionState: RTCPeerConnectionState;\n    readonly currentLocalDescription: RTCSessionDescription | null;\n    readonly currentRemoteDescription: RTCSessionDescription | null;\n    readonly iceConnectionState: RTCIceConnectionState;\n    readonly iceGatheringState: RTCIceGatheringState;\n    id: string;\n    readonly idpLoginUrl: string | null;\n    readonly localDescription: RTCSessionDescription | null;\n    onaddstream: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onaddtrack: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    ondatachannel: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onicecandidate: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    oniceconnectionstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    ontrack: ((this: RTCPeerConnection, ev: Event) => any) | null;\n    readonly peerIdentity: Promise<RTCIdentityAssertion>;\n    readonly pendingLocalDescription: RTCSessionDescription | null;\n    readonly pendingRemoteDescription: RTCSessionDescription | null;\n    readonly remoteDescription: RTCSessionDescription | null;\n    readonly sctp: RTCSctpTransport | null;\n    readonly signalingState: RTCSignalingState;\n    addIceCandidate(candidate: RTCIceCandidateInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    addStream(stream: MediaStream): void;\n    addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;\n    addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver;\n    close(): void;\n    createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel;\n    createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise<void>;\n    getConfiguration(): RTCConfiguration;\n    getIdentityAssertion(): Promise<string>;\n    getLocalStreams(): MediaStream[];\n    getReceivers(): RTCRtpReceiver[];\n    getRemoteStreams(): MediaStream[];\n    getSenders(): RTCRtpSender[];\n    getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;\n    getTransceivers(): RTCRtpTransceiver[];\n    mozDisablePacketDump(level: number, type: mozPacketDumpType, sending: boolean): void;\n    mozEnablePacketDump(level: number, type: mozPacketDumpType, sending: boolean): void;\n    mozSetPacketCallback(callback: mozPacketCallback): void;\n    removeTrack(sender: RTCRtpSender): void;\n    restartIce(): void;\n    setConfiguration(configuration?: RTCConfiguration): void;\n    setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void;\n    setLocalDescription(description: RTCLocalSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise<void>;\n    addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCPeerConnection: {\n    prototype: RTCPeerConnection;\n    new(configuration?: RTCConfiguration): RTCPeerConnection;\n    isInstance: IsInstance<RTCPeerConnection>;\n    generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise<RTCCertificate>;\n};\n\ninterface RTCPeerConnectionIceEvent extends Event {\n    readonly candidate: RTCIceCandidate | null;\n}\n\ndeclare var RTCPeerConnectionIceEvent: {\n    prototype: RTCPeerConnectionIceEvent;\n    new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent;\n    isInstance: IsInstance<RTCPeerConnectionIceEvent>;\n};\n\ninterface RTCPeerConnectionStatic {\n    registerPeerConnectionLifecycleCallback(cb: PeerConnectionLifecycleCallback): void;\n}\n\ndeclare var RTCPeerConnectionStatic: {\n    prototype: RTCPeerConnectionStatic;\n    new(): RTCPeerConnectionStatic;\n    isInstance: IsInstance<RTCPeerConnectionStatic>;\n};\n\ninterface RTCRtpReceiver {\n    jitterBufferTarget: DOMHighResTimeStamp | null;\n    readonly track: MediaStreamTrack;\n    transform: RTCRtpTransform | null;\n    readonly transport: RTCDtlsTransport | null;\n    getContributingSources(): RTCRtpContributingSource[];\n    getParameters(): RTCRtpReceiveParameters;\n    getStats(): Promise<RTCStatsReport>;\n    getSynchronizationSources(): RTCRtpSynchronizationSource[];\n    mozInsertAudioLevelForContributingSource(source: number, timestamp: DOMHighResTimeStamp, rtpTimestamp: number, hasLevel: boolean, level: number): void;\n}\n\ndeclare var RTCRtpReceiver: {\n    prototype: RTCRtpReceiver;\n    new(): RTCRtpReceiver;\n    isInstance: IsInstance<RTCRtpReceiver>;\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\n\ninterface RTCRtpScriptTransform {\n}\n\ndeclare var RTCRtpScriptTransform: {\n    prototype: RTCRtpScriptTransform;\n    new(worker: Worker, options?: any, transfer?: any[]): RTCRtpScriptTransform;\n    isInstance: IsInstance<RTCRtpScriptTransform>;\n};\n\ninterface RTCRtpSender {\n    readonly dtmf: RTCDTMFSender | null;\n    readonly track: MediaStreamTrack | null;\n    transform: RTCRtpTransform | null;\n    readonly transport: RTCDtlsTransport | null;\n    getParameters(): RTCRtpSendParameters;\n    getStats(): Promise<RTCStatsReport>;\n    getStreams(): MediaStream[];\n    replaceTrack(withTrack: MediaStreamTrack | null): Promise<void>;\n    setParameters(parameters: RTCRtpSendParameters): Promise<void>;\n    setStreams(...streams: MediaStream[]): void;\n    setStreamsImpl(...streams: MediaStream[]): void;\n    setTrack(track: MediaStreamTrack | null): void;\n}\n\ndeclare var RTCRtpSender: {\n    prototype: RTCRtpSender;\n    new(): RTCRtpSender;\n    isInstance: IsInstance<RTCRtpSender>;\n    getCapabilities(kind: string): RTCRtpCapabilities | null;\n};\n\ninterface RTCRtpTransceiver {\n    readonly currentDirection: RTCRtpTransceiverDirection | null;\n    direction: RTCRtpTransceiverDirection;\n    readonly mid: string | null;\n    readonly receiver: RTCRtpReceiver;\n    readonly sender: RTCRtpSender;\n    readonly stopped: boolean;\n    getKind(): string;\n    hasBeenUsedToSend(): boolean;\n    setCodecPreferences(codecs: RTCRtpCodec[]): void;\n    setDirectionInternal(direction: RTCRtpTransceiverDirection): void;\n    stop(): void;\n}\n\ndeclare var RTCRtpTransceiver: {\n    prototype: RTCRtpTransceiver;\n    new(): RTCRtpTransceiver;\n    isInstance: IsInstance<RTCRtpTransceiver>;\n};\n\ninterface RTCSctpTransportEventMap {\n    \"statechange\": Event;\n}\n\ninterface RTCSctpTransport extends EventTarget {\n    readonly maxChannels: number | null;\n    readonly maxMessageSize: number;\n    onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null;\n    readonly state: RTCSctpTransportState;\n    readonly transport: RTCDtlsTransport;\n    addEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof RTCSctpTransportEventMap>(type: K, listener: (this: RTCSctpTransport, ev: RTCSctpTransportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var RTCSctpTransport: {\n    prototype: RTCSctpTransport;\n    new(): RTCSctpTransport;\n    isInstance: IsInstance<RTCSctpTransport>;\n};\n\ninterface RTCSessionDescription {\n    sdp: string;\n    type: RTCSdpType;\n    toJSON(): any;\n}\n\ndeclare var RTCSessionDescription: {\n    prototype: RTCSessionDescription;\n    new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription;\n    isInstance: IsInstance<RTCSessionDescription>;\n};\n\ninterface RTCStatsReport {\n    forEach(callbackfn: (value: any, key: string, parent: RTCStatsReport) => void, thisArg?: any): void;\n}\n\ndeclare var RTCStatsReport: {\n    prototype: RTCStatsReport;\n    new(): RTCStatsReport;\n    isInstance: IsInstance<RTCStatsReport>;\n};\n\ninterface RTCTrackEvent extends Event {\n    readonly receiver: RTCRtpReceiver;\n    readonly streams: MediaStream[];\n    readonly track: MediaStreamTrack;\n    readonly transceiver: RTCRtpTransceiver;\n}\n\ndeclare var RTCTrackEvent: {\n    prototype: RTCTrackEvent;\n    new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent;\n    isInstance: IsInstance<RTCTrackEvent>;\n};\n\ninterface RadioNodeList extends NodeList {\n    value: string;\n}\n\ndeclare var RadioNodeList: {\n    prototype: RadioNodeList;\n    new(): RadioNodeList;\n    isInstance: IsInstance<RadioNodeList>;\n};\n\ninterface Range extends AbstractRange {\n    readonly commonAncestorContainer: Node;\n    cloneContents(): DocumentFragment;\n    cloneRange(): Range;\n    collapse(toStart?: boolean): void;\n    compareBoundaryPoints(how: number, sourceRange: Range): number;\n    comparePoint(node: Node, offset: number): number;\n    createContextualFragment(fragment: TrustedHTML | string): DocumentFragment;\n    deleteContents(): void;\n    detach(): void;\n    extractContents(): DocumentFragment;\n    getAllowCrossShadowBoundaryClientRects(): DOMRectList | null;\n    getBoundingClientRect(): DOMRect;\n    getClientRects(): DOMRectList | null;\n    getClientRectsAndTexts(): ClientRectsAndTexts;\n    insertNode(node: Node): void;\n    intersectsNode(node: Node): boolean;\n    isPointInRange(node: Node, offset: number): boolean;\n    selectNode(refNode: Node): void;\n    selectNodeContents(refNode: Node): void;\n    setEnd(refNode: Node, offset: number): void;\n    setEndAfter(refNode: Node): void;\n    setEndAllowCrossShadowBoundary(refNode: Node, offset: number): void;\n    setEndBefore(refNode: Node): void;\n    setStart(refNode: Node, offset: number): void;\n    setStartAfter(refNode: Node): void;\n    setStartAllowCrossShadowBoundary(refNode: Node, offset: number): void;\n    setStartBefore(refNode: Node): void;\n    surroundContents(newParent: Node): void;\n    toString(): string;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n}\n\ndeclare var Range: {\n    prototype: Range;\n    new(): Range;\n    readonly START_TO_START: 0;\n    readonly START_TO_END: 1;\n    readonly END_TO_END: 2;\n    readonly END_TO_START: 3;\n    isInstance: IsInstance<Range>;\n};\n\ninterface ReadableByteStreamController {\n    readonly byobRequest: ReadableStreamBYOBRequest | null;\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk: ArrayBufferView): void;\n    error(e?: any): void;\n}\n\ndeclare var ReadableByteStreamController: {\n    prototype: ReadableByteStreamController;\n    new(): ReadableByteStreamController;\n    isInstance: IsInstance<ReadableByteStreamController>;\n};\n\ninterface ReadableStream {\n    readonly locked: boolean;\n    cancel(reason?: any): Promise<void>;\n    getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader;\n    pipeThrough(transform: ReadableWritablePair, options?: StreamPipeOptions): ReadableStream;\n    pipeTo(destination: WritableStream, options?: StreamPipeOptions): Promise<void>;\n    tee(): ReadableStream[];\n}\n\ndeclare var ReadableStream: {\n    prototype: ReadableStream;\n    new(underlyingSource?: any, strategy?: QueuingStrategy): ReadableStream;\n    isInstance: IsInstance<ReadableStream>;\n    from(asyncIterable: any): ReadableStream;\n};\n\ninterface ReadableStreamBYOBReader extends ReadableStreamGenericReader {\n    read(view: ArrayBufferView, options?: ReadableStreamBYOBReaderReadOptions): Promise<ReadableStreamReadResult>;\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamBYOBReader: {\n    prototype: ReadableStreamBYOBReader;\n    new(stream: ReadableStream): ReadableStreamBYOBReader;\n    isInstance: IsInstance<ReadableStreamBYOBReader>;\n};\n\ninterface ReadableStreamBYOBRequest {\n    readonly view: ArrayBufferView | null;\n    respond(bytesWritten: number): void;\n    respondWithNewView(view: ArrayBufferView): void;\n}\n\ndeclare var ReadableStreamBYOBRequest: {\n    prototype: ReadableStreamBYOBRequest;\n    new(): ReadableStreamBYOBRequest;\n    isInstance: IsInstance<ReadableStreamBYOBRequest>;\n};\n\ninterface ReadableStreamDefaultController {\n    readonly desiredSize: number | null;\n    close(): void;\n    enqueue(chunk?: any): void;\n    error(e?: any): void;\n}\n\ndeclare var ReadableStreamDefaultController: {\n    prototype: ReadableStreamDefaultController;\n    new(): ReadableStreamDefaultController;\n    isInstance: IsInstance<ReadableStreamDefaultController>;\n};\n\ninterface ReadableStreamDefaultReader extends ReadableStreamGenericReader {\n    read(): Promise<ReadableStreamReadResult>;\n    releaseLock(): void;\n}\n\ndeclare var ReadableStreamDefaultReader: {\n    prototype: ReadableStreamDefaultReader;\n    new(stream: ReadableStream): ReadableStreamDefaultReader;\n    isInstance: IsInstance<ReadableStreamDefaultReader>;\n};\n\ninterface ReadableStreamGenericReader {\n    readonly closed: Promise<void>;\n    cancel(reason?: any): Promise<void>;\n}\n\ninterface Report {\n    readonly body: ReportBody | null;\n    readonly type: string;\n    readonly url: string;\n    toJSON(): any;\n}\n\ndeclare var Report: {\n    prototype: Report;\n    new(): Report;\n    isInstance: IsInstance<Report>;\n};\n\ninterface ReportBody {\n    toJSON(): any;\n}\n\ndeclare var ReportBody: {\n    prototype: ReportBody;\n    new(): ReportBody;\n    isInstance: IsInstance<ReportBody>;\n};\n\ninterface ReportingObserver {\n    disconnect(): void;\n    observe(): void;\n    takeRecords(): ReportList;\n}\n\ndeclare var ReportingObserver: {\n    prototype: ReportingObserver;\n    new(callback: ReportingObserverCallback, options?: ReportingObserverOptions): ReportingObserver;\n    isInstance: IsInstance<ReportingObserver>;\n};\n\ninterface Request extends Body {\n    readonly cache: RequestCache;\n    readonly credentials: RequestCredentials;\n    readonly destination: RequestDestination;\n    readonly headers: Headers;\n    readonly integrity: string;\n    readonly keepalive: boolean;\n    readonly method: string;\n    readonly mode: RequestMode;\n    readonly mozErrors: boolean;\n    readonly redirect: RequestRedirect;\n    readonly referrer: string;\n    readonly referrerPolicy: ReferrerPolicy;\n    readonly signal: AbortSignal;\n    readonly url: string;\n    clone(): Request;\n    overrideContentPolicyType(context: nsContentPolicyType): void;\n}\n\ndeclare var Request: {\n    prototype: Request;\n    new(input: RequestInfo | URL, init?: RequestInit): Request;\n    isInstance: IsInstance<Request>;\n};\n\ninterface ResizeObserver {\n    disconnect(): void;\n    observe(target: Element, options?: ResizeObserverOptions): void;\n    unobserve(target: Element): void;\n}\n\ndeclare var ResizeObserver: {\n    prototype: ResizeObserver;\n    new(callback: ResizeObserverCallback): ResizeObserver;\n    isInstance: IsInstance<ResizeObserver>;\n};\n\ninterface ResizeObserverEntry {\n    readonly borderBoxSize: ResizeObserverSize[];\n    readonly contentBoxSize: ResizeObserverSize[];\n    readonly contentRect: DOMRectReadOnly;\n    readonly devicePixelContentBoxSize: ResizeObserverSize[];\n    readonly target: Element;\n}\n\ndeclare var ResizeObserverEntry: {\n    prototype: ResizeObserverEntry;\n    new(): ResizeObserverEntry;\n    isInstance: IsInstance<ResizeObserverEntry>;\n};\n\ninterface ResizeObserverSize {\n    readonly blockSize: number;\n    readonly inlineSize: number;\n}\n\ndeclare var ResizeObserverSize: {\n    prototype: ResizeObserverSize;\n    new(): ResizeObserverSize;\n    isInstance: IsInstance<ResizeObserverSize>;\n};\n\ninterface Response extends Body {\n    readonly body: ReadableStream | null;\n    readonly hasCacheInfoChannel: boolean;\n    readonly headers: Headers;\n    readonly ok: boolean;\n    readonly redirected: boolean;\n    readonly status: number;\n    readonly statusText: string;\n    readonly type: ResponseType;\n    readonly url: string;\n    clone(): Response;\n    cloneUnfiltered(): Response;\n}\n\ndeclare var Response: {\n    prototype: Response;\n    new(body?: Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string | null, init?: ResponseInit): Response;\n    isInstance: IsInstance<Response>;\n    error(): Response;\n    json(data: any, init?: ResponseInit): Response;\n    redirect(url: string, status?: number): Response;\n};\n\ninterface SVGAElement extends SVGGraphicsElement, SVGURIReference {\n    download: string;\n    hreflang: string;\n    ping: string;\n    referrerPolicy: string;\n    rel: string;\n    readonly relList: DOMTokenList;\n    readonly target: SVGAnimatedString;\n    text: string;\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAElement: {\n    prototype: SVGAElement;\n    new(): SVGAElement;\n    isInstance: IsInstance<SVGAElement>;\n};\n\ninterface SVGAngle {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n}\n\ndeclare var SVGAngle: {\n    prototype: SVGAngle;\n    new(): SVGAngle;\n    readonly SVG_ANGLETYPE_UNKNOWN: 0;\n    readonly SVG_ANGLETYPE_UNSPECIFIED: 1;\n    readonly SVG_ANGLETYPE_DEG: 2;\n    readonly SVG_ANGLETYPE_RAD: 3;\n    readonly SVG_ANGLETYPE_GRAD: 4;\n    isInstance: IsInstance<SVGAngle>;\n};\n\ninterface SVGAnimateElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateElement: {\n    prototype: SVGAnimateElement;\n    new(): SVGAnimateElement;\n    isInstance: IsInstance<SVGAnimateElement>;\n};\n\ninterface SVGAnimateMotionElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateMotionElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateMotionElement: {\n    prototype: SVGAnimateMotionElement;\n    new(): SVGAnimateMotionElement;\n    isInstance: IsInstance<SVGAnimateMotionElement>;\n};\n\ninterface SVGAnimateTransformElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimateTransformElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimateTransformElement: {\n    prototype: SVGAnimateTransformElement;\n    new(): SVGAnimateTransformElement;\n    isInstance: IsInstance<SVGAnimateTransformElement>;\n};\n\ninterface SVGAnimatedAngle {\n    readonly animVal: SVGAngle;\n    readonly baseVal: SVGAngle;\n}\n\ndeclare var SVGAnimatedAngle: {\n    prototype: SVGAnimatedAngle;\n    new(): SVGAnimatedAngle;\n    isInstance: IsInstance<SVGAnimatedAngle>;\n};\n\ninterface SVGAnimatedBoolean {\n    readonly animVal: boolean;\n    baseVal: boolean;\n}\n\ndeclare var SVGAnimatedBoolean: {\n    prototype: SVGAnimatedBoolean;\n    new(): SVGAnimatedBoolean;\n    isInstance: IsInstance<SVGAnimatedBoolean>;\n};\n\ninterface SVGAnimatedEnumeration {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedEnumeration: {\n    prototype: SVGAnimatedEnumeration;\n    new(): SVGAnimatedEnumeration;\n    isInstance: IsInstance<SVGAnimatedEnumeration>;\n};\n\ninterface SVGAnimatedInteger {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedInteger: {\n    prototype: SVGAnimatedInteger;\n    new(): SVGAnimatedInteger;\n    isInstance: IsInstance<SVGAnimatedInteger>;\n};\n\ninterface SVGAnimatedLength {\n    readonly animVal: SVGLength;\n    readonly baseVal: SVGLength;\n}\n\ndeclare var SVGAnimatedLength: {\n    prototype: SVGAnimatedLength;\n    new(): SVGAnimatedLength;\n    isInstance: IsInstance<SVGAnimatedLength>;\n};\n\ninterface SVGAnimatedLengthList {\n    readonly animVal: SVGLengthList;\n    readonly baseVal: SVGLengthList;\n}\n\ndeclare var SVGAnimatedLengthList: {\n    prototype: SVGAnimatedLengthList;\n    new(): SVGAnimatedLengthList;\n    isInstance: IsInstance<SVGAnimatedLengthList>;\n};\n\ninterface SVGAnimatedNumber {\n    readonly animVal: number;\n    baseVal: number;\n}\n\ndeclare var SVGAnimatedNumber: {\n    prototype: SVGAnimatedNumber;\n    new(): SVGAnimatedNumber;\n    isInstance: IsInstance<SVGAnimatedNumber>;\n};\n\ninterface SVGAnimatedNumberList {\n    readonly animVal: SVGNumberList;\n    readonly baseVal: SVGNumberList;\n}\n\ndeclare var SVGAnimatedNumberList: {\n    prototype: SVGAnimatedNumberList;\n    new(): SVGAnimatedNumberList;\n    isInstance: IsInstance<SVGAnimatedNumberList>;\n};\n\ninterface SVGAnimatedPoints {\n    readonly animatedPoints: SVGPointList;\n    readonly points: SVGPointList;\n}\n\ninterface SVGAnimatedPreserveAspectRatio {\n    readonly animVal: SVGPreserveAspectRatio;\n    readonly baseVal: SVGPreserveAspectRatio;\n}\n\ndeclare var SVGAnimatedPreserveAspectRatio: {\n    prototype: SVGAnimatedPreserveAspectRatio;\n    new(): SVGAnimatedPreserveAspectRatio;\n    isInstance: IsInstance<SVGAnimatedPreserveAspectRatio>;\n};\n\ninterface SVGAnimatedRect {\n    readonly animVal: SVGRect | null;\n    readonly baseVal: SVGRect | null;\n}\n\ndeclare var SVGAnimatedRect: {\n    prototype: SVGAnimatedRect;\n    new(): SVGAnimatedRect;\n    isInstance: IsInstance<SVGAnimatedRect>;\n};\n\ninterface SVGAnimatedString {\n    readonly animVal: string;\n    baseVal: TrustedScriptURL | string;\n}\n\ndeclare var SVGAnimatedString: {\n    prototype: SVGAnimatedString;\n    new(): SVGAnimatedString;\n    isInstance: IsInstance<SVGAnimatedString>;\n};\n\ninterface SVGAnimatedTransformList {\n    readonly animVal: SVGTransformList;\n    readonly baseVal: SVGTransformList;\n}\n\ndeclare var SVGAnimatedTransformList: {\n    prototype: SVGAnimatedTransformList;\n    new(): SVGAnimatedTransformList;\n    isInstance: IsInstance<SVGAnimatedTransformList>;\n};\n\ninterface SVGAnimationElementEventMap extends SVGElementEventMap {\n    \"begin\": Event;\n    \"end\": Event;\n    \"repeat\": Event;\n}\n\ninterface SVGAnimationElement extends SVGElement, SVGTests {\n    onbegin: ((this: SVGAnimationElement, ev: Event) => any) | null;\n    onend: ((this: SVGAnimationElement, ev: Event) => any) | null;\n    onrepeat: ((this: SVGAnimationElement, ev: Event) => any) | null;\n    readonly targetElement: SVGElement | null;\n    beginElement(): void;\n    beginElementAt(offset: number): void;\n    endElement(): void;\n    endElementAt(offset: number): void;\n    getCurrentTime(): number;\n    getSimpleDuration(): number;\n    getStartTime(): number;\n    addEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGAnimationElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGAnimationElement: {\n    prototype: SVGAnimationElement;\n    new(): SVGAnimationElement;\n    isInstance: IsInstance<SVGAnimationElement>;\n};\n\ninterface SVGCircleElement extends SVGGeometryElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGCircleElement: {\n    prototype: SVGCircleElement;\n    new(): SVGCircleElement;\n    isInstance: IsInstance<SVGCircleElement>;\n};\n\ninterface SVGClipPathElement extends SVGElement {\n    readonly clipPathUnits: SVGAnimatedEnumeration;\n    readonly transform: SVGAnimatedTransformList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGClipPathElement: {\n    prototype: SVGClipPathElement;\n    new(): SVGClipPathElement;\n    isInstance: IsInstance<SVGClipPathElement>;\n};\n\ninterface SVGComponentTransferFunctionElement extends SVGElement {\n    readonly amplitude: SVGAnimatedNumber;\n    readonly exponent: SVGAnimatedNumber;\n    readonly intercept: SVGAnimatedNumber;\n    readonly offset: SVGAnimatedNumber;\n    readonly slope: SVGAnimatedNumber;\n    readonly tableValues: SVGAnimatedNumberList;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGComponentTransferFunctionElement: {\n    prototype: SVGComponentTransferFunctionElement;\n    new(): SVGComponentTransferFunctionElement;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: 1;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: 2;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: 3;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: 4;\n    readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: 5;\n    isInstance: IsInstance<SVGComponentTransferFunctionElement>;\n};\n\ninterface SVGDefsElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGDefsElement: {\n    prototype: SVGDefsElement;\n    new(): SVGDefsElement;\n    isInstance: IsInstance<SVGDefsElement>;\n};\n\ninterface SVGDescElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGDescElement: {\n    prototype: SVGDescElement;\n    new(): SVGDescElement;\n    isInstance: IsInstance<SVGDescElement>;\n};\n\ninterface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, OnErrorEventHandlerForNodesEventMap, TouchEventHandlersEventMap {\n}\n\n// @ts-ignore\ninterface SVGElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrForeignElement, OnErrorEventHandlerForNodes, TouchEventHandlers {\n    readonly className: SVGAnimatedString;\n    id: string;\n    nonce: string;\n    readonly ownerSVGElement: SVGSVGElement | null;\n    readonly viewportElement: SVGElement | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGElement: {\n    prototype: SVGElement;\n    new(): SVGElement;\n    isInstance: IsInstance<SVGElement>;\n};\n\ninterface SVGEllipseElement extends SVGGeometryElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGEllipseElement: {\n    prototype: SVGEllipseElement;\n    new(): SVGEllipseElement;\n    isInstance: IsInstance<SVGEllipseElement>;\n};\n\ninterface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly mode: SVGAnimatedEnumeration;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEBlendElement: {\n    prototype: SVGFEBlendElement;\n    new(): SVGFEBlendElement;\n    readonly SVG_FEBLEND_MODE_UNKNOWN: 0;\n    readonly SVG_FEBLEND_MODE_NORMAL: 1;\n    readonly SVG_FEBLEND_MODE_MULTIPLY: 2;\n    readonly SVG_FEBLEND_MODE_SCREEN: 3;\n    readonly SVG_FEBLEND_MODE_DARKEN: 4;\n    readonly SVG_FEBLEND_MODE_LIGHTEN: 5;\n    readonly SVG_FEBLEND_MODE_OVERLAY: 6;\n    readonly SVG_FEBLEND_MODE_COLOR_DODGE: 7;\n    readonly SVG_FEBLEND_MODE_COLOR_BURN: 8;\n    readonly SVG_FEBLEND_MODE_HARD_LIGHT: 9;\n    readonly SVG_FEBLEND_MODE_SOFT_LIGHT: 10;\n    readonly SVG_FEBLEND_MODE_DIFFERENCE: 11;\n    readonly SVG_FEBLEND_MODE_EXCLUSION: 12;\n    readonly SVG_FEBLEND_MODE_HUE: 13;\n    readonly SVG_FEBLEND_MODE_SATURATION: 14;\n    readonly SVG_FEBLEND_MODE_COLOR: 15;\n    readonly SVG_FEBLEND_MODE_LUMINOSITY: 16;\n    isInstance: IsInstance<SVGFEBlendElement>;\n};\n\ninterface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly type: SVGAnimatedEnumeration;\n    readonly values: SVGAnimatedNumberList;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEColorMatrixElement: {\n    prototype: SVGFEColorMatrixElement;\n    new(): SVGFEColorMatrixElement;\n    readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0;\n    readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1;\n    readonly SVG_FECOLORMATRIX_TYPE_SATURATE: 2;\n    readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: 3;\n    readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: 4;\n    isInstance: IsInstance<SVGFEColorMatrixElement>;\n};\n\ninterface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEComponentTransferElement: {\n    prototype: SVGFEComponentTransferElement;\n    new(): SVGFEComponentTransferElement;\n    isInstance: IsInstance<SVGFEComponentTransferElement>;\n};\n\ninterface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly k1: SVGAnimatedNumber;\n    readonly k2: SVGAnimatedNumber;\n    readonly k3: SVGAnimatedNumber;\n    readonly k4: SVGAnimatedNumber;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n    readonly SVG_FECOMPOSITE_OPERATOR_LIGHTER: 7;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFECompositeElement: {\n    prototype: SVGFECompositeElement;\n    new(): SVGFECompositeElement;\n    readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: 0;\n    readonly SVG_FECOMPOSITE_OPERATOR_OVER: 1;\n    readonly SVG_FECOMPOSITE_OPERATOR_IN: 2;\n    readonly SVG_FECOMPOSITE_OPERATOR_OUT: 3;\n    readonly SVG_FECOMPOSITE_OPERATOR_ATOP: 4;\n    readonly SVG_FECOMPOSITE_OPERATOR_XOR: 5;\n    readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: 6;\n    readonly SVG_FECOMPOSITE_OPERATOR_LIGHTER: 7;\n    isInstance: IsInstance<SVGFECompositeElement>;\n};\n\ninterface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly bias: SVGAnimatedNumber;\n    readonly divisor: SVGAnimatedNumber;\n    readonly edgeMode: SVGAnimatedEnumeration;\n    readonly in1: SVGAnimatedString;\n    readonly kernelMatrix: SVGAnimatedNumberList;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly orderX: SVGAnimatedInteger;\n    readonly orderY: SVGAnimatedInteger;\n    readonly preserveAlpha: SVGAnimatedBoolean;\n    readonly targetX: SVGAnimatedInteger;\n    readonly targetY: SVGAnimatedInteger;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEConvolveMatrixElement: {\n    prototype: SVGFEConvolveMatrixElement;\n    new(): SVGFEConvolveMatrixElement;\n    readonly SVG_EDGEMODE_UNKNOWN: 0;\n    readonly SVG_EDGEMODE_DUPLICATE: 1;\n    readonly SVG_EDGEMODE_WRAP: 2;\n    readonly SVG_EDGEMODE_NONE: 3;\n    isInstance: IsInstance<SVGFEConvolveMatrixElement>;\n};\n\ninterface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly diffuseConstant: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDiffuseLightingElement: {\n    prototype: SVGFEDiffuseLightingElement;\n    new(): SVGFEDiffuseLightingElement;\n    isInstance: IsInstance<SVGFEDiffuseLightingElement>;\n};\n\ninterface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly in2: SVGAnimatedString;\n    readonly scale: SVGAnimatedNumber;\n    readonly xChannelSelector: SVGAnimatedEnumeration;\n    readonly yChannelSelector: SVGAnimatedEnumeration;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDisplacementMapElement: {\n    prototype: SVGFEDisplacementMapElement;\n    new(): SVGFEDisplacementMapElement;\n    readonly SVG_CHANNEL_UNKNOWN: 0;\n    readonly SVG_CHANNEL_R: 1;\n    readonly SVG_CHANNEL_G: 2;\n    readonly SVG_CHANNEL_B: 3;\n    readonly SVG_CHANNEL_A: 4;\n    isInstance: IsInstance<SVGFEDisplacementMapElement>;\n};\n\ninterface SVGFEDistantLightElement extends SVGElement {\n    readonly azimuth: SVGAnimatedNumber;\n    readonly elevation: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDistantLightElement: {\n    prototype: SVGFEDistantLightElement;\n    new(): SVGFEDistantLightElement;\n    isInstance: IsInstance<SVGFEDistantLightElement>;\n};\n\ninterface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEDropShadowElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEDropShadowElement: {\n    prototype: SVGFEDropShadowElement;\n    new(): SVGFEDropShadowElement;\n    isInstance: IsInstance<SVGFEDropShadowElement>;\n};\n\ninterface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFloodElement: {\n    prototype: SVGFEFloodElement;\n    new(): SVGFEFloodElement;\n    isInstance: IsInstance<SVGFEFloodElement>;\n};\n\ninterface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncAElement: {\n    prototype: SVGFEFuncAElement;\n    new(): SVGFEFuncAElement;\n    isInstance: IsInstance<SVGFEFuncAElement>;\n};\n\ninterface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncBElement: {\n    prototype: SVGFEFuncBElement;\n    new(): SVGFEFuncBElement;\n    isInstance: IsInstance<SVGFEFuncBElement>;\n};\n\ninterface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncGElement: {\n    prototype: SVGFEFuncGElement;\n    new(): SVGFEFuncGElement;\n    isInstance: IsInstance<SVGFEFuncGElement>;\n};\n\ninterface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEFuncRElement: {\n    prototype: SVGFEFuncRElement;\n    new(): SVGFEFuncRElement;\n    isInstance: IsInstance<SVGFEFuncRElement>;\n};\n\ninterface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly stdDeviationX: SVGAnimatedNumber;\n    readonly stdDeviationY: SVGAnimatedNumber;\n    setStdDeviation(stdDeviationX: number, stdDeviationY: number): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEGaussianBlurElement: {\n    prototype: SVGFEGaussianBlurElement;\n    new(): SVGFEGaussianBlurElement;\n    isInstance: IsInstance<SVGFEGaussianBlurElement>;\n};\n\ninterface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference {\n    crossOrigin: string | null;\n    fetchPriority: string;\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEImageElement: {\n    prototype: SVGFEImageElement;\n    new(): SVGFEImageElement;\n    isInstance: IsInstance<SVGFEImageElement>;\n};\n\ninterface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMergeElement: {\n    prototype: SVGFEMergeElement;\n    new(): SVGFEMergeElement;\n    isInstance: IsInstance<SVGFEMergeElement>;\n};\n\ninterface SVGFEMergeNodeElement extends SVGElement {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMergeNodeElement: {\n    prototype: SVGFEMergeNodeElement;\n    new(): SVGFEMergeNodeElement;\n    isInstance: IsInstance<SVGFEMergeNodeElement>;\n};\n\ninterface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly operator: SVGAnimatedEnumeration;\n    readonly radiusX: SVGAnimatedNumber;\n    readonly radiusY: SVGAnimatedNumber;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEMorphologyElement: {\n    prototype: SVGFEMorphologyElement;\n    new(): SVGFEMorphologyElement;\n    readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: 0;\n    readonly SVG_MORPHOLOGY_OPERATOR_ERODE: 1;\n    readonly SVG_MORPHOLOGY_OPERATOR_DILATE: 2;\n    isInstance: IsInstance<SVGFEMorphologyElement>;\n};\n\ninterface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly dx: SVGAnimatedNumber;\n    readonly dy: SVGAnimatedNumber;\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEOffsetElement: {\n    prototype: SVGFEOffsetElement;\n    new(): SVGFEOffsetElement;\n    isInstance: IsInstance<SVGFEOffsetElement>;\n};\n\ninterface SVGFEPointLightElement extends SVGElement {\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFEPointLightElement: {\n    prototype: SVGFEPointLightElement;\n    new(): SVGFEPointLightElement;\n    isInstance: IsInstance<SVGFEPointLightElement>;\n};\n\ninterface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    readonly kernelUnitLengthX: SVGAnimatedNumber;\n    readonly kernelUnitLengthY: SVGAnimatedNumber;\n    readonly specularConstant: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly surfaceScale: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFESpecularLightingElement: {\n    prototype: SVGFESpecularLightingElement;\n    new(): SVGFESpecularLightingElement;\n    isInstance: IsInstance<SVGFESpecularLightingElement>;\n};\n\ninterface SVGFESpotLightElement extends SVGElement {\n    readonly limitingConeAngle: SVGAnimatedNumber;\n    readonly pointsAtX: SVGAnimatedNumber;\n    readonly pointsAtY: SVGAnimatedNumber;\n    readonly pointsAtZ: SVGAnimatedNumber;\n    readonly specularExponent: SVGAnimatedNumber;\n    readonly x: SVGAnimatedNumber;\n    readonly y: SVGAnimatedNumber;\n    readonly z: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFESpotLightElement: {\n    prototype: SVGFESpotLightElement;\n    new(): SVGFESpotLightElement;\n    isInstance: IsInstance<SVGFESpotLightElement>;\n};\n\ninterface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly in1: SVGAnimatedString;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFETileElement: {\n    prototype: SVGFETileElement;\n    new(): SVGFETileElement;\n    isInstance: IsInstance<SVGFETileElement>;\n};\n\ninterface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes {\n    readonly baseFrequencyX: SVGAnimatedNumber;\n    readonly baseFrequencyY: SVGAnimatedNumber;\n    readonly numOctaves: SVGAnimatedInteger;\n    readonly seed: SVGAnimatedNumber;\n    readonly stitchTiles: SVGAnimatedEnumeration;\n    readonly type: SVGAnimatedEnumeration;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFETurbulenceElement: {\n    prototype: SVGFETurbulenceElement;\n    new(): SVGFETurbulenceElement;\n    readonly SVG_TURBULENCE_TYPE_UNKNOWN: 0;\n    readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: 1;\n    readonly SVG_TURBULENCE_TYPE_TURBULENCE: 2;\n    readonly SVG_STITCHTYPE_UNKNOWN: 0;\n    readonly SVG_STITCHTYPE_STITCH: 1;\n    readonly SVG_STITCHTYPE_NOSTITCH: 2;\n    isInstance: IsInstance<SVGFETurbulenceElement>;\n};\n\ninterface SVGFilterElement extends SVGElement, SVGURIReference {\n    readonly filterUnits: SVGAnimatedEnumeration;\n    readonly height: SVGAnimatedLength;\n    readonly primitiveUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGFilterElement: {\n    prototype: SVGFilterElement;\n    new(): SVGFilterElement;\n    isInstance: IsInstance<SVGFilterElement>;\n};\n\ninterface SVGFilterPrimitiveStandardAttributes {\n    readonly height: SVGAnimatedLength;\n    readonly result: SVGAnimatedString;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n}\n\ninterface SVGFitToViewBox {\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    readonly viewBox: SVGAnimatedRect;\n}\n\ninterface SVGForeignObjectElement extends SVGGraphicsElement {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGForeignObjectElement: {\n    prototype: SVGForeignObjectElement;\n    new(): SVGForeignObjectElement;\n    isInstance: IsInstance<SVGForeignObjectElement>;\n};\n\ninterface SVGGElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGElement: {\n    prototype: SVGGElement;\n    new(): SVGGElement;\n    isInstance: IsInstance<SVGGElement>;\n};\n\ninterface SVGGeometryElement extends SVGGraphicsElement {\n    readonly pathLength: SVGAnimatedNumber;\n    getPointAtLength(distance: number): SVGPoint;\n    getTotalLength(): number;\n    isPointInFill(point?: DOMPointInit): boolean;\n    isPointInStroke(point?: DOMPointInit): boolean;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGeometryElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGeometryElement: {\n    prototype: SVGGeometryElement;\n    new(): SVGGeometryElement;\n    isInstance: IsInstance<SVGGeometryElement>;\n};\n\ninterface SVGGradientElement extends SVGElement, SVGURIReference {\n    readonly gradientTransform: SVGAnimatedTransformList;\n    readonly gradientUnits: SVGAnimatedEnumeration;\n    readonly spreadMethod: SVGAnimatedEnumeration;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGradientElement: {\n    prototype: SVGGradientElement;\n    new(): SVGGradientElement;\n    readonly SVG_SPREADMETHOD_UNKNOWN: 0;\n    readonly SVG_SPREADMETHOD_PAD: 1;\n    readonly SVG_SPREADMETHOD_REFLECT: 2;\n    readonly SVG_SPREADMETHOD_REPEAT: 3;\n    isInstance: IsInstance<SVGGradientElement>;\n};\n\ninterface SVGGraphicsElement extends SVGElement, SVGTests {\n    readonly farthestViewportElement: SVGElement | null;\n    readonly nearestViewportElement: SVGElement | null;\n    readonly transform: SVGAnimatedTransformList;\n    getBBox(aOptions?: SVGBoundingBoxOptions): SVGRect;\n    getCTM(): SVGMatrix | null;\n    getScreenCTM(): SVGMatrix | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGGraphicsElement: {\n    prototype: SVGGraphicsElement;\n    new(): SVGGraphicsElement;\n    isInstance: IsInstance<SVGGraphicsElement>;\n};\n\ninterface SVGImageElement extends SVGGraphicsElement, MozImageLoadingContent, SVGURIReference {\n    crossOrigin: string | null;\n    decoding: string;\n    fetchPriority: string;\n    readonly height: SVGAnimatedLength;\n    readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    decode(): Promise<void>;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGImageElement: {\n    prototype: SVGImageElement;\n    new(): SVGImageElement;\n    readonly UNKNOWN_REQUEST: -1;\n    readonly CURRENT_REQUEST: 0;\n    readonly PENDING_REQUEST: 1;\n    isInstance: IsInstance<SVGImageElement>;\n};\n\ninterface SVGLength {\n    readonly unitType: number;\n    value: number;\n    valueAsString: string;\n    valueInSpecifiedUnits: number;\n    convertToSpecifiedUnits(unitType: number): void;\n    newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n}\n\ndeclare var SVGLength: {\n    prototype: SVGLength;\n    new(): SVGLength;\n    readonly SVG_LENGTHTYPE_UNKNOWN: 0;\n    readonly SVG_LENGTHTYPE_NUMBER: 1;\n    readonly SVG_LENGTHTYPE_PERCENTAGE: 2;\n    readonly SVG_LENGTHTYPE_EMS: 3;\n    readonly SVG_LENGTHTYPE_EXS: 4;\n    readonly SVG_LENGTHTYPE_PX: 5;\n    readonly SVG_LENGTHTYPE_CM: 6;\n    readonly SVG_LENGTHTYPE_MM: 7;\n    readonly SVG_LENGTHTYPE_IN: 8;\n    readonly SVG_LENGTHTYPE_PT: 9;\n    readonly SVG_LENGTHTYPE_PC: 10;\n    isInstance: IsInstance<SVGLength>;\n};\n\ninterface SVGLengthList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGLength): SVGLength;\n    clear(): void;\n    getItem(index: number): SVGLength;\n    initialize(newItem: SVGLength): SVGLength;\n    insertItemBefore(newItem: SVGLength, index: number): SVGLength;\n    removeItem(index: number): SVGLength;\n    replaceItem(newItem: SVGLength, index: number): SVGLength;\n    [index: number]: SVGLength;\n}\n\ndeclare var SVGLengthList: {\n    prototype: SVGLengthList;\n    new(): SVGLengthList;\n    isInstance: IsInstance<SVGLengthList>;\n};\n\ninterface SVGLineElement extends SVGGeometryElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGLineElement: {\n    prototype: SVGLineElement;\n    new(): SVGLineElement;\n    isInstance: IsInstance<SVGLineElement>;\n};\n\ninterface SVGLinearGradientElement extends SVGGradientElement {\n    readonly x1: SVGAnimatedLength;\n    readonly x2: SVGAnimatedLength;\n    readonly y1: SVGAnimatedLength;\n    readonly y2: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGLinearGradientElement: {\n    prototype: SVGLinearGradientElement;\n    new(): SVGLinearGradientElement;\n    isInstance: IsInstance<SVGLinearGradientElement>;\n};\n\ninterface SVGMPathElement extends SVGElement, SVGURIReference {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMPathElement: {\n    prototype: SVGMPathElement;\n    new(): SVGMPathElement;\n    isInstance: IsInstance<SVGMPathElement>;\n};\n\ninterface SVGMarkerElement extends SVGElement, SVGFitToViewBox {\n    readonly markerHeight: SVGAnimatedLength;\n    readonly markerUnits: SVGAnimatedEnumeration;\n    readonly markerWidth: SVGAnimatedLength;\n    readonly orientAngle: SVGAnimatedAngle;\n    readonly orientType: SVGAnimatedEnumeration;\n    readonly refX: SVGAnimatedLength;\n    readonly refY: SVGAnimatedLength;\n    setOrientToAngle(angle: SVGAngle): void;\n    setOrientToAuto(): void;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n    readonly SVG_MARKER_ORIENT_AUTO_START_REVERSE: 3;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMarkerElement: {\n    prototype: SVGMarkerElement;\n    new(): SVGMarkerElement;\n    readonly SVG_MARKERUNITS_UNKNOWN: 0;\n    readonly SVG_MARKERUNITS_USERSPACEONUSE: 1;\n    readonly SVG_MARKERUNITS_STROKEWIDTH: 2;\n    readonly SVG_MARKER_ORIENT_UNKNOWN: 0;\n    readonly SVG_MARKER_ORIENT_AUTO: 1;\n    readonly SVG_MARKER_ORIENT_ANGLE: 2;\n    readonly SVG_MARKER_ORIENT_AUTO_START_REVERSE: 3;\n    isInstance: IsInstance<SVGMarkerElement>;\n};\n\ninterface SVGMaskElement extends SVGElement {\n    readonly height: SVGAnimatedLength;\n    readonly maskContentUnits: SVGAnimatedEnumeration;\n    readonly maskUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    readonly SVG_MASKTYPE_LUMINANCE: 0;\n    readonly SVG_MASKTYPE_ALPHA: 1;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMaskElement: {\n    prototype: SVGMaskElement;\n    new(): SVGMaskElement;\n    readonly SVG_MASKTYPE_LUMINANCE: 0;\n    readonly SVG_MASKTYPE_ALPHA: 1;\n    isInstance: IsInstance<SVGMaskElement>;\n};\n\ninterface SVGMatrix {\n    a: number;\n    b: number;\n    c: number;\n    d: number;\n    e: number;\n    f: number;\n    flipX(): SVGMatrix;\n    flipY(): SVGMatrix;\n    inverse(): SVGMatrix;\n    multiply(secondMatrix: SVGMatrix): SVGMatrix;\n    rotate(angle: number): SVGMatrix;\n    rotateFromVector(x: number, y: number): SVGMatrix;\n    scale(scaleFactor: number): SVGMatrix;\n    scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix;\n    skewX(angle: number): SVGMatrix;\n    skewY(angle: number): SVGMatrix;\n    translate(x: number, y: number): SVGMatrix;\n}\n\ndeclare var SVGMatrix: {\n    prototype: SVGMatrix;\n    new(): SVGMatrix;\n    isInstance: IsInstance<SVGMatrix>;\n};\n\ninterface SVGMetadataElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGMetadataElement: {\n    prototype: SVGMetadataElement;\n    new(): SVGMetadataElement;\n    isInstance: IsInstance<SVGMetadataElement>;\n};\n\ninterface SVGNumber {\n    value: number;\n}\n\ndeclare var SVGNumber: {\n    prototype: SVGNumber;\n    new(): SVGNumber;\n    isInstance: IsInstance<SVGNumber>;\n};\n\ninterface SVGNumberList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGNumber): SVGNumber;\n    clear(): void;\n    getItem(index: number): SVGNumber;\n    initialize(newItem: SVGNumber): SVGNumber;\n    insertItemBefore(newItem: SVGNumber, index: number): SVGNumber;\n    removeItem(index: number): SVGNumber;\n    replaceItem(newItem: SVGNumber, index: number): SVGNumber;\n    [index: number]: SVGNumber;\n}\n\ndeclare var SVGNumberList: {\n    prototype: SVGNumberList;\n    new(): SVGNumberList;\n    isInstance: IsInstance<SVGNumberList>;\n};\n\ninterface SVGPathData {\n    getPathData(settings?: SVGPathDataSettings): SVGPathSegment[];\n    setPathData(pathData: SVGPathSegmentInit[]): void;\n}\n\ninterface SVGPathElement extends SVGGeometryElement, SVGPathData {\n    getPathSegmentAtLength(distance: number): SVGPathSegment | null;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPathElement: {\n    prototype: SVGPathElement;\n    new(): SVGPathElement;\n    isInstance: IsInstance<SVGPathElement>;\n};\n\ninterface SVGPathSegment {\n    type: string;\n    values: number[] | Float32Array;\n}\n\ninterface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly patternContentUnits: SVGAnimatedEnumeration;\n    readonly patternTransform: SVGAnimatedTransformList;\n    readonly patternUnits: SVGAnimatedEnumeration;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPatternElement: {\n    prototype: SVGPatternElement;\n    new(): SVGPatternElement;\n    isInstance: IsInstance<SVGPatternElement>;\n};\n\ninterface SVGPoint {\n    x: number;\n    y: number;\n    matrixTransform(matrix?: DOMMatrix2DInit): SVGPoint;\n}\n\ndeclare var SVGPoint: {\n    prototype: SVGPoint;\n    new(): SVGPoint;\n    isInstance: IsInstance<SVGPoint>;\n};\n\ninterface SVGPointList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGPoint): SVGPoint;\n    clear(): void;\n    getItem(index: number): SVGPoint;\n    initialize(newItem: SVGPoint): SVGPoint;\n    insertItemBefore(newItem: SVGPoint, index: number): SVGPoint;\n    removeItem(index: number): SVGPoint;\n    replaceItem(newItem: SVGPoint, index: number): SVGPoint;\n    [index: number]: SVGPoint;\n}\n\ndeclare var SVGPointList: {\n    prototype: SVGPointList;\n    new(): SVGPointList;\n    isInstance: IsInstance<SVGPointList>;\n};\n\ninterface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPolygonElement: {\n    prototype: SVGPolygonElement;\n    new(): SVGPolygonElement;\n    isInstance: IsInstance<SVGPolygonElement>;\n};\n\ninterface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGPolylineElement: {\n    prototype: SVGPolylineElement;\n    new(): SVGPolylineElement;\n    isInstance: IsInstance<SVGPolylineElement>;\n};\n\ninterface SVGPreserveAspectRatio {\n    align: number;\n    meetOrSlice: number;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n}\n\ndeclare var SVGPreserveAspectRatio: {\n    prototype: SVGPreserveAspectRatio;\n    new(): SVGPreserveAspectRatio;\n    readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: 0;\n    readonly SVG_PRESERVEASPECTRATIO_NONE: 1;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: 2;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: 3;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: 4;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMID: 5;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: 6;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: 7;\n    readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: 8;\n    readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: 9;\n    readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: 10;\n    readonly SVG_MEETORSLICE_UNKNOWN: 0;\n    readonly SVG_MEETORSLICE_MEET: 1;\n    readonly SVG_MEETORSLICE_SLICE: 2;\n    isInstance: IsInstance<SVGPreserveAspectRatio>;\n};\n\ninterface SVGRadialGradientElement extends SVGGradientElement {\n    readonly cx: SVGAnimatedLength;\n    readonly cy: SVGAnimatedLength;\n    readonly fr: SVGAnimatedLength;\n    readonly fx: SVGAnimatedLength;\n    readonly fy: SVGAnimatedLength;\n    readonly r: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGRadialGradientElement: {\n    prototype: SVGRadialGradientElement;\n    new(): SVGRadialGradientElement;\n    isInstance: IsInstance<SVGRadialGradientElement>;\n};\n\ninterface SVGRect {\n    height: number;\n    width: number;\n    x: number;\n    y: number;\n}\n\ndeclare var SVGRect: {\n    prototype: SVGRect;\n    new(): SVGRect;\n    isInstance: IsInstance<SVGRect>;\n};\n\ninterface SVGRectElement extends SVGGeometryElement {\n    readonly height: SVGAnimatedLength;\n    readonly rx: SVGAnimatedLength;\n    readonly ry: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGRectElement: {\n    prototype: SVGRectElement;\n    new(): SVGRectElement;\n    isInstance: IsInstance<SVGRectElement>;\n};\n\ninterface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan {\n    currentScale: number;\n    readonly currentTranslate: SVGPoint;\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    animationsPaused(): boolean;\n    createSVGAngle(): SVGAngle;\n    createSVGLength(): SVGLength;\n    createSVGMatrix(): SVGMatrix;\n    createSVGNumber(): SVGNumber;\n    createSVGPoint(): SVGPoint;\n    createSVGRect(): SVGRect;\n    createSVGTransform(): SVGTransform;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    deselectAll(): void;\n    forceRedraw(): void;\n    getCurrentTime(): number;\n    getElementById(elementId: string): Element | null;\n    pauseAnimations(): void;\n    setCurrentTime(seconds: number): void;\n    suspendRedraw(maxWaitMilliseconds: number): number;\n    unpauseAnimations(): void;\n    unsuspendRedraw(suspendHandleID: number): void;\n    unsuspendRedrawAll(): void;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSVGElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSVGElement: {\n    prototype: SVGSVGElement;\n    new(): SVGSVGElement;\n    readonly SVG_ZOOMANDPAN_UNKNOWN: 0;\n    readonly SVG_ZOOMANDPAN_DISABLE: 1;\n    readonly SVG_ZOOMANDPAN_MAGNIFY: 2;\n    isInstance: IsInstance<SVGSVGElement>;\n};\n\ninterface SVGScriptElement extends SVGElement, SVGURIReference {\n    async: boolean;\n    crossOrigin: string | null;\n    defer: boolean;\n    fetchPriority: string;\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGScriptElement: {\n    prototype: SVGScriptElement;\n    new(): SVGScriptElement;\n    isInstance: IsInstance<SVGScriptElement>;\n};\n\ninterface SVGSetElement extends SVGAnimationElement {\n    addEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGAnimationElementEventMap>(type: K, listener: (this: SVGSetElement, ev: SVGAnimationElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSetElement: {\n    prototype: SVGSetElement;\n    new(): SVGSetElement;\n    isInstance: IsInstance<SVGSetElement>;\n};\n\ninterface SVGStopElement extends SVGElement {\n    readonly offset: SVGAnimatedNumber;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGStopElement: {\n    prototype: SVGStopElement;\n    new(): SVGStopElement;\n    isInstance: IsInstance<SVGStopElement>;\n};\n\ninterface SVGStringList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: string): string;\n    clear(): void;\n    getItem(index: number): string;\n    initialize(newItem: string): string;\n    insertItemBefore(newItem: string, index: number): string;\n    removeItem(index: number): string;\n    replaceItem(newItem: string, index: number): string;\n    [index: number]: string;\n}\n\ndeclare var SVGStringList: {\n    prototype: SVGStringList;\n    new(): SVGStringList;\n    isInstance: IsInstance<SVGStringList>;\n};\n\ninterface SVGStyleElement extends SVGElement, LinkStyle {\n    disabled: boolean;\n    media: string;\n    title: string;\n    type: string;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGStyleElement: {\n    prototype: SVGStyleElement;\n    new(): SVGStyleElement;\n    isInstance: IsInstance<SVGStyleElement>;\n};\n\ninterface SVGSwitchElement extends SVGGraphicsElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSwitchElement: {\n    prototype: SVGSwitchElement;\n    new(): SVGSwitchElement;\n    isInstance: IsInstance<SVGSwitchElement>;\n};\n\ninterface SVGSymbolElement extends SVGElement, SVGFitToViewBox, SVGTests {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGSymbolElement: {\n    prototype: SVGSymbolElement;\n    new(): SVGSymbolElement;\n    isInstance: IsInstance<SVGSymbolElement>;\n};\n\ninterface SVGTSpanElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTSpanElement: {\n    prototype: SVGTSpanElement;\n    new(): SVGTSpanElement;\n    isInstance: IsInstance<SVGTSpanElement>;\n};\n\ninterface SVGTests {\n    readonly requiredExtensions: SVGStringList;\n    readonly systemLanguage: SVGStringList;\n}\n\ninterface SVGTextContentElement extends SVGGraphicsElement {\n    readonly lengthAdjust: SVGAnimatedEnumeration;\n    readonly textLength: SVGAnimatedLength;\n    getCharNumAtPosition(point?: DOMPointInit): number;\n    getComputedTextLength(): number;\n    getEndPositionOfChar(charnum: number): SVGPoint;\n    getExtentOfChar(charnum: number): SVGRect;\n    getNumberOfChars(): number;\n    getRotationOfChar(charnum: number): number;\n    getStartPositionOfChar(charnum: number): SVGPoint;\n    getSubStringLength(charnum: number, nchars: number): number;\n    selectSubString(charnum: number, nchars: number): void;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextContentElement: {\n    prototype: SVGTextContentElement;\n    new(): SVGTextContentElement;\n    readonly LENGTHADJUST_UNKNOWN: 0;\n    readonly LENGTHADJUST_SPACING: 1;\n    readonly LENGTHADJUST_SPACINGANDGLYPHS: 2;\n    isInstance: IsInstance<SVGTextContentElement>;\n};\n\ninterface SVGTextElement extends SVGTextPositioningElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextElement: {\n    prototype: SVGTextElement;\n    new(): SVGTextElement;\n    isInstance: IsInstance<SVGTextElement>;\n};\n\ninterface SVGTextPathElement extends SVGTextContentElement, SVGURIReference {\n    readonly method: SVGAnimatedEnumeration;\n    readonly spacing: SVGAnimatedEnumeration;\n    readonly startOffset: SVGAnimatedLength;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextPathElement: {\n    prototype: SVGTextPathElement;\n    new(): SVGTextPathElement;\n    readonly TEXTPATH_METHODTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_METHODTYPE_ALIGN: 1;\n    readonly TEXTPATH_METHODTYPE_STRETCH: 2;\n    readonly TEXTPATH_SPACINGTYPE_UNKNOWN: 0;\n    readonly TEXTPATH_SPACINGTYPE_AUTO: 1;\n    readonly TEXTPATH_SPACINGTYPE_EXACT: 2;\n    isInstance: IsInstance<SVGTextPathElement>;\n};\n\ninterface SVGTextPositioningElement extends SVGTextContentElement {\n    readonly dx: SVGAnimatedLengthList;\n    readonly dy: SVGAnimatedLengthList;\n    readonly rotate: SVGAnimatedNumberList;\n    readonly x: SVGAnimatedLengthList;\n    readonly y: SVGAnimatedLengthList;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTextPositioningElement: {\n    prototype: SVGTextPositioningElement;\n    new(): SVGTextPositioningElement;\n    isInstance: IsInstance<SVGTextPositioningElement>;\n};\n\ninterface SVGTitleElement extends SVGElement {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGTitleElement: {\n    prototype: SVGTitleElement;\n    new(): SVGTitleElement;\n    isInstance: IsInstance<SVGTitleElement>;\n};\n\ninterface SVGTransform {\n    readonly angle: number;\n    readonly matrix: SVGMatrix;\n    readonly type: number;\n    setMatrix(matrix?: DOMMatrix2DInit): void;\n    setRotate(angle: number, cx: number, cy: number): void;\n    setScale(sx: number, sy: number): void;\n    setSkewX(angle: number): void;\n    setSkewY(angle: number): void;\n    setTranslate(tx: number, ty: number): void;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n}\n\ndeclare var SVGTransform: {\n    prototype: SVGTransform;\n    new(): SVGTransform;\n    readonly SVG_TRANSFORM_UNKNOWN: 0;\n    readonly SVG_TRANSFORM_MATRIX: 1;\n    readonly SVG_TRANSFORM_TRANSLATE: 2;\n    readonly SVG_TRANSFORM_SCALE: 3;\n    readonly SVG_TRANSFORM_ROTATE: 4;\n    readonly SVG_TRANSFORM_SKEWX: 5;\n    readonly SVG_TRANSFORM_SKEWY: 6;\n    isInstance: IsInstance<SVGTransform>;\n};\n\ninterface SVGTransformList {\n    readonly length: number;\n    readonly numberOfItems: number;\n    appendItem(newItem: SVGTransform): SVGTransform;\n    clear(): void;\n    consolidate(): SVGTransform | null;\n    createSVGTransformFromMatrix(matrix?: DOMMatrix2DInit): SVGTransform;\n    getItem(index: number): SVGTransform;\n    initialize(newItem: SVGTransform): SVGTransform;\n    insertItemBefore(newItem: SVGTransform, index: number): SVGTransform;\n    removeItem(index: number): SVGTransform;\n    replaceItem(newItem: SVGTransform, index: number): SVGTransform;\n    [index: number]: SVGTransform;\n}\n\ndeclare var SVGTransformList: {\n    prototype: SVGTransformList;\n    new(): SVGTransformList;\n    isInstance: IsInstance<SVGTransformList>;\n};\n\ninterface SVGURIReference {\n    readonly href: SVGAnimatedString;\n}\n\ninterface SVGUnitTypes {\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n}\n\ndeclare var SVGUnitTypes: {\n    prototype: SVGUnitTypes;\n    new(): SVGUnitTypes;\n    readonly SVG_UNIT_TYPE_UNKNOWN: 0;\n    readonly SVG_UNIT_TYPE_USERSPACEONUSE: 1;\n    readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: 2;\n    isInstance: IsInstance<SVGUnitTypes>;\n};\n\ninterface SVGUseElement extends SVGGraphicsElement, SVGURIReference {\n    readonly height: SVGAnimatedLength;\n    readonly width: SVGAnimatedLength;\n    readonly x: SVGAnimatedLength;\n    readonly y: SVGAnimatedLength;\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGUseElement: {\n    prototype: SVGUseElement;\n    new(): SVGUseElement;\n    isInstance: IsInstance<SVGUseElement>;\n};\n\ninterface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan {\n    addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SVGViewElement: {\n    prototype: SVGViewElement;\n    new(): SVGViewElement;\n    readonly SVG_ZOOMANDPAN_UNKNOWN: 0;\n    readonly SVG_ZOOMANDPAN_DISABLE: 1;\n    readonly SVG_ZOOMANDPAN_MAGNIFY: 2;\n    isInstance: IsInstance<SVGViewElement>;\n};\n\ninterface SVGZoomAndPan {\n    zoomAndPan: number;\n    readonly SVG_ZOOMANDPAN_UNKNOWN: 0;\n    readonly SVG_ZOOMANDPAN_DISABLE: 1;\n    readonly SVG_ZOOMANDPAN_MAGNIFY: 2;\n}\n\ninterface Sanitizer {\n    allowAttribute(attribute: SanitizerAttribute): void;\n    allowElement(element: SanitizerElementWithAttributes): void;\n    get(): SanitizerConfig;\n    removeAttribute(attribute: SanitizerAttribute): void;\n    removeElement(element: SanitizerElement): void;\n    removeUnsafe(): void;\n    replaceElementWithChildren(element: SanitizerElement): void;\n    setComments(allow: boolean): void;\n    setDataAttributes(allow: boolean): void;\n}\n\ndeclare var Sanitizer: {\n    prototype: Sanitizer;\n    new(configuration?: SanitizerConfig | SanitizerPresets): Sanitizer;\n    isInstance: IsInstance<Sanitizer>;\n};\n\ninterface Scheduler {\n    postTask(callback: SchedulerPostTaskCallback, options?: SchedulerPostTaskOptions): Promise<any>;\n    yield(): Promise<void>;\n}\n\ndeclare var Scheduler: {\n    prototype: Scheduler;\n    new(): Scheduler;\n    isInstance: IsInstance<Scheduler>;\n};\n\ninterface ScreenEventMap {\n    \"change\": Event;\n    \"mozorientationchange\": Event;\n}\n\ninterface Screen extends EventTarget {\n    readonly availHeight: number;\n    readonly availLeft: number;\n    readonly availTop: number;\n    readonly availWidth: number;\n    readonly colorDepth: number;\n    readonly colorGamut: ScreenColorGamut;\n    readonly height: number;\n    readonly left: number;\n    readonly luminance: ScreenLuminance | null;\n    readonly mozOrientation: string;\n    onchange: ((this: Screen, ev: Event) => any) | null;\n    onmozorientationchange: ((this: Screen, ev: Event) => any) | null;\n    readonly orientation: ScreenOrientation;\n    readonly pixelDepth: number;\n    readonly top: number;\n    readonly width: number;\n    mozLockOrientation(orientation: string): boolean;\n    mozLockOrientation(orientation: string[]): boolean;\n    mozUnlockOrientation(): void;\n    addEventListener<K extends keyof ScreenEventMap>(type: K, listener: (this: Screen, ev: ScreenEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScreenEventMap>(type: K, listener: (this: Screen, ev: ScreenEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Screen: {\n    prototype: Screen;\n    new(): Screen;\n    isInstance: IsInstance<Screen>;\n};\n\ninterface ScreenLuminance {\n    readonly max: number;\n    readonly maxAverage: number;\n    readonly min: number;\n}\n\ndeclare var ScreenLuminance: {\n    prototype: ScreenLuminance;\n    new(): ScreenLuminance;\n    isInstance: IsInstance<ScreenLuminance>;\n};\n\ninterface ScreenOrientationEventMap {\n    \"change\": Event;\n}\n\ninterface ScreenOrientation extends EventTarget {\n    readonly angle: number;\n    onchange: ((this: ScreenOrientation, ev: Event) => any) | null;\n    readonly type: OrientationType;\n    lock(orientation: OrientationLockType): Promise<void>;\n    unlock(): void;\n    addEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScreenOrientationEventMap>(type: K, listener: (this: ScreenOrientation, ev: ScreenOrientationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ScreenOrientation: {\n    prototype: ScreenOrientation;\n    new(): ScreenOrientation;\n    isInstance: IsInstance<ScreenOrientation>;\n};\n\ninterface ScriptProcessorNodeEventMap {\n    \"audioprocess\": Event;\n}\n\ninterface ScriptProcessorNode extends AudioNode, AudioNodePassThrough {\n    readonly bufferSize: number;\n    onaudioprocess: ((this: ScriptProcessorNode, ev: Event) => any) | null;\n    addEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ScriptProcessorNodeEventMap>(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ScriptProcessorNode: {\n    prototype: ScriptProcessorNode;\n    new(): ScriptProcessorNode;\n    isInstance: IsInstance<ScriptProcessorNode>;\n};\n\ninterface ScrollAreaEvent extends UIEvent {\n    readonly height: number;\n    readonly width: number;\n    readonly x: number;\n    readonly y: number;\n    initScrollAreaEvent(type: string, canBubble?: boolean, cancelable?: boolean, view?: Window | null, detail?: number, x?: number, y?: number, width?: number, height?: number): void;\n}\n\ndeclare var ScrollAreaEvent: {\n    prototype: ScrollAreaEvent;\n    new(): ScrollAreaEvent;\n    isInstance: IsInstance<ScrollAreaEvent>;\n};\n\ninterface SecurityPolicyViolationEvent extends Event {\n    readonly blockedURI: string;\n    readonly columnNumber: number;\n    readonly disposition: SecurityPolicyViolationEventDisposition;\n    readonly documentURI: string;\n    readonly effectiveDirective: string;\n    readonly lineNumber: number;\n    readonly originalPolicy: string;\n    readonly referrer: string;\n    readonly sample: string;\n    readonly sourceFile: string;\n    readonly statusCode: number;\n    readonly violatedDirective: string;\n}\n\ndeclare var SecurityPolicyViolationEvent: {\n    prototype: SecurityPolicyViolationEvent;\n    new(type: string, eventInitDict?: SecurityPolicyViolationEventInit): SecurityPolicyViolationEvent;\n    isInstance: IsInstance<SecurityPolicyViolationEvent>;\n};\n\ninterface Selection {\n    readonly anchorNode: Node | null;\n    readonly anchorOffset: number;\n    readonly areNormalAndCrossShadowBoundaryRangesCollapsed: boolean;\n    caretBidiLevel: number | null;\n    readonly direction: string;\n    readonly focusNode: Node | null;\n    readonly focusOffset: number;\n    interlinePosition: boolean;\n    readonly isCollapsed: boolean;\n    readonly mayCrossShadowBoundaryFocusNode: Node | null;\n    readonly rangeCount: number;\n    readonly selectionType: number;\n    readonly type: string;\n    GetRangesForInterval(beginNode: Node, beginOffset: number, endNode: Node, endOffset: number, allowAdjacent: boolean): Range[];\n    addRange(range: Range): void;\n    addSelectionListener(newListener: nsISelectionListener): void;\n    collapse(node: Node | null, offset?: number): void;\n    collapseToEnd(): void;\n    collapseToStart(): void;\n    containsNode(node: Node, allowPartialContainment?: boolean): boolean;\n    deleteFromDocument(): void;\n    empty(): void;\n    extend(node: Node, offset?: number): void;\n    getComposedRanges(options?: ShadowRoot | GetComposedRangesOptions, ...shadowRoots: ShadowRoot[]): StaticRange[];\n    getRangeAt(index: number): Range;\n    modify(alter?: string, direction?: string, granularity?: string): void;\n    removeAllRanges(): void;\n    removeRange(range: Range): void;\n    removeSelectionListener(listenerToRemove: nsISelectionListener): void;\n    resetColors(): void;\n    selectAllChildren(node: Node): void;\n    setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void;\n    setColors(aForegroundColor: string, aBackgroundColor: string, aAltForegroundColor: string, aAltBackgroundColor: string): void;\n    setPosition(node: Node | null, offset?: number): void;\n    toStringWithFormat(formatType: string, flags: number, wrapColumn: number): string;\n    toString(): string;\n}\n\ndeclare var Selection: {\n    prototype: Selection;\n    new(): Selection;\n    isInstance: IsInstance<Selection>;\n};\n\ninterface ServiceWorkerEventMap extends AbstractWorkerEventMap {\n    \"statechange\": Event;\n}\n\ninterface ServiceWorker extends EventTarget, AbstractWorker {\n    onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;\n    readonly scriptURL: string;\n    readonly state: ServiceWorkerState;\n    postMessage(message: any, transferable: any[]): void;\n    postMessage(message: any, options?: StructuredSerializeOptions): void;\n    addEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerEventMap>(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorker: {\n    prototype: ServiceWorker;\n    new(): ServiceWorker;\n    isInstance: IsInstance<ServiceWorker>;\n};\n\ninterface ServiceWorkerContainerEventMap {\n    \"controllerchange\": Event;\n    \"message\": Event;\n    \"messageerror\": Event;\n}\n\ninterface ServiceWorkerContainer extends EventTarget {\n    readonly controller: ServiceWorker | null;\n    oncontrollerchange: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    onmessage: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    onmessageerror: ((this: ServiceWorkerContainer, ev: Event) => any) | null;\n    readonly ready: Promise<ServiceWorkerRegistration>;\n    getRegistration(documentURL?: string | URL): Promise<ServiceWorkerRegistration | undefined>;\n    getRegistrations(): Promise<ServiceWorkerRegistration[]>;\n    register(scriptURL: TrustedScriptURL | string, options?: RegistrationOptions): Promise<ServiceWorkerRegistration>;\n    startMessages(): void;\n    addEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerContainerEventMap>(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerContainer: {\n    prototype: ServiceWorkerContainer;\n    new(): ServiceWorkerContainer;\n    isInstance: IsInstance<ServiceWorkerContainer>;\n};\n\ninterface ServiceWorkerRegistrationEventMap {\n    \"updatefound\": Event;\n}\n\ninterface ServiceWorkerRegistration extends EventTarget {\n    readonly active: ServiceWorker | null;\n    readonly cookies: CookieStoreManager;\n    readonly installing: ServiceWorker | null;\n    readonly navigationPreload: NavigationPreloadManager;\n    onupdatefound: ((this: ServiceWorkerRegistration, ev: Event) => any) | null;\n    readonly pushManager: PushManager;\n    readonly scope: string;\n    readonly updateViaCache: ServiceWorkerUpdateViaCache;\n    readonly waiting: ServiceWorker | null;\n    getNotifications(filter?: GetNotificationOptions): Promise<Notification[]>;\n    showNotification(title: string, options?: NotificationOptions): Promise<void>;\n    unregister(): Promise<boolean>;\n    update(): Promise<void>;\n    addEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ServiceWorkerRegistrationEventMap>(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ServiceWorkerRegistration: {\n    prototype: ServiceWorkerRegistration;\n    new(): ServiceWorkerRegistration;\n    isInstance: IsInstance<ServiceWorkerRegistration>;\n};\n\ninterface SessionStoreFormData {\n    readonly children: (SessionStoreFormData | null)[] | null;\n    readonly id: Record<string, FormDataValue> | null;\n    readonly innerHTML: string | null;\n    readonly url: string | null;\n    readonly xpath: Record<string, FormDataValue> | null;\n    toJSON(): any;\n}\n\ndeclare var SessionStoreFormData: {\n    prototype: SessionStoreFormData;\n    new(): SessionStoreFormData;\n    isInstance: IsInstance<SessionStoreFormData>;\n};\n\ninterface SessionStoreScrollData {\n    readonly children: (SessionStoreScrollData | null)[] | null;\n    readonly scroll: string | null;\n    toJSON(): any;\n}\n\ndeclare var SessionStoreScrollData: {\n    prototype: SessionStoreScrollData;\n    new(): SessionStoreScrollData;\n    isInstance: IsInstance<SessionStoreScrollData>;\n};\n\ninterface ShadowRootEventMap {\n    \"slotchange\": Event;\n}\n\ninterface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot {\n    readonly clonable: boolean;\n    readonly delegatesFocus: boolean;\n    readonly host: Element;\n    innerHTML: TrustedHTML | string;\n    readonly mode: ShadowRootMode;\n    onslotchange: ((this: ShadowRoot, ev: Event) => any) | null;\n    readonly serializable: boolean;\n    readonly slotAssignment: SlotAssignmentMode;\n    createElementAndAppendChildAt(parentNode: Node, localName: string): Node;\n    getElementById(elementId: string): Element | null;\n    getHTML(options?: GetHTMLOptions): string;\n    importNodeAndAppendChildAt(parentNode: Node, node: Node, deep?: boolean): Node;\n    isUAWidget(): boolean;\n    setHTML(aInnerHTML: string, options?: SetHTMLOptions): void;\n    setHTMLUnsafe(html: TrustedHTML | string, options?: SetHTMLUnsafeOptions): void;\n    setIsUAWidget(): void;\n    addEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof ShadowRootEventMap>(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var ShadowRoot: {\n    prototype: ShadowRoot;\n    new(): ShadowRoot;\n    isInstance: IsInstance<ShadowRoot>;\n};\n\ninterface SharedWorker extends EventTarget, AbstractWorker {\n    readonly port: MessagePort;\n    addEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof AbstractWorkerEventMap>(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SharedWorker: {\n    prototype: SharedWorker;\n    new(scriptURL: TrustedScriptURL | string, options?: string | WorkerOptions): SharedWorker;\n    isInstance: IsInstance<SharedWorker>;\n};\n\ninterface SimpleGestureEvent extends MouseEvent {\n    allowedDirections: number;\n    readonly clickCount: number;\n    readonly delta: number;\n    readonly direction: number;\n    initSimpleGestureEvent(typeArg: string, canBubbleArg?: boolean, cancelableArg?: boolean, viewArg?: Window | null, detailArg?: number, screenXArg?: number, screenYArg?: number, clientXArg?: number, clientYArg?: number, ctrlKeyArg?: boolean, altKeyArg?: boolean, shiftKeyArg?: boolean, metaKeyArg?: boolean, buttonArg?: number, relatedTargetArg?: EventTarget | null, allowedDirectionsArg?: number, directionArg?: number, deltaArg?: number, clickCount?: number): void;\n    readonly DIRECTION_UP: 1;\n    readonly DIRECTION_DOWN: 2;\n    readonly DIRECTION_LEFT: 4;\n    readonly DIRECTION_RIGHT: 8;\n    readonly ROTATION_COUNTERCLOCKWISE: 1;\n    readonly ROTATION_CLOCKWISE: 2;\n}\n\ndeclare var SimpleGestureEvent: {\n    prototype: SimpleGestureEvent;\n    new(): SimpleGestureEvent;\n    readonly DIRECTION_UP: 1;\n    readonly DIRECTION_DOWN: 2;\n    readonly DIRECTION_LEFT: 4;\n    readonly DIRECTION_RIGHT: 8;\n    readonly ROTATION_COUNTERCLOCKWISE: 1;\n    readonly ROTATION_CLOCKWISE: 2;\n    isInstance: IsInstance<SimpleGestureEvent>;\n};\n\ninterface SourceBufferEventMap {\n    \"abort\": Event;\n    \"error\": Event;\n    \"update\": Event;\n    \"updateend\": Event;\n    \"updatestart\": Event;\n}\n\ninterface SourceBuffer extends EventTarget {\n    appendWindowEnd: number;\n    appendWindowStart: number;\n    readonly buffered: TimeRanges;\n    mode: SourceBufferAppendMode;\n    onabort: ((this: SourceBuffer, ev: Event) => any) | null;\n    onerror: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdate: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdateend: ((this: SourceBuffer, ev: Event) => any) | null;\n    onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null;\n    timestampOffset: number;\n    readonly updating: boolean;\n    abort(): void;\n    appendBuffer(data: ArrayBuffer): void;\n    appendBuffer(data: ArrayBufferView): void;\n    appendBufferAsync(data: ArrayBuffer): Promise<void>;\n    appendBufferAsync(data: ArrayBufferView): Promise<void>;\n    changeType(type: string): void;\n    remove(start: number, end: number): void;\n    removeAsync(start: number, end: number): Promise<void>;\n    addEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferEventMap>(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SourceBuffer: {\n    prototype: SourceBuffer;\n    new(): SourceBuffer;\n    isInstance: IsInstance<SourceBuffer>;\n};\n\ninterface SourceBufferListEventMap {\n    \"addsourcebuffer\": Event;\n    \"removesourcebuffer\": Event;\n}\n\ninterface SourceBufferList extends EventTarget {\n    readonly length: number;\n    onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null;\n    addEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SourceBufferListEventMap>(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: SourceBuffer;\n}\n\ndeclare var SourceBufferList: {\n    prototype: SourceBufferList;\n    new(): SourceBufferList;\n    isInstance: IsInstance<SourceBufferList>;\n};\n\ninterface SpeechGrammar {\n    src: string;\n    weight: number;\n}\n\ndeclare var SpeechGrammar: {\n    prototype: SpeechGrammar;\n    new(): SpeechGrammar;\n    isInstance: IsInstance<SpeechGrammar>;\n};\n\ninterface SpeechGrammarList {\n    readonly length: number;\n    addFromString(string: string, weight?: number): void;\n    addFromURI(src: string, weight?: number): void;\n    item(index: number): SpeechGrammar;\n    [index: number]: SpeechGrammar;\n}\n\ndeclare var SpeechGrammarList: {\n    prototype: SpeechGrammarList;\n    new(): SpeechGrammarList;\n    isInstance: IsInstance<SpeechGrammarList>;\n};\n\ninterface SpeechRecognitionEventMap {\n    \"audioend\": Event;\n    \"audiostart\": Event;\n    \"end\": Event;\n    \"error\": Event;\n    \"nomatch\": Event;\n    \"result\": Event;\n    \"soundend\": Event;\n    \"soundstart\": Event;\n    \"speechend\": Event;\n    \"speechstart\": Event;\n    \"start\": Event;\n}\n\ninterface SpeechRecognition extends EventTarget {\n    continuous: boolean;\n    grammars: SpeechGrammarList;\n    interimResults: boolean;\n    lang: string;\n    maxAlternatives: number;\n    onaudioend: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onaudiostart: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onend: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onerror: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onnomatch: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onresult: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onsoundend: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onsoundstart: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onspeechend: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onspeechstart: ((this: SpeechRecognition, ev: Event) => any) | null;\n    onstart: ((this: SpeechRecognition, ev: Event) => any) | null;\n    serviceURI: string;\n    abort(): void;\n    start(stream?: MediaStream): void;\n    stop(): void;\n    addEventListener<K extends keyof SpeechRecognitionEventMap>(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechRecognitionEventMap>(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SpeechRecognition: {\n    prototype: SpeechRecognition;\n    new(): SpeechRecognition;\n    isInstance: IsInstance<SpeechRecognition>;\n};\n\ninterface SpeechRecognitionAlternative {\n    readonly confidence: number;\n    readonly transcript: string;\n}\n\ndeclare var SpeechRecognitionAlternative: {\n    prototype: SpeechRecognitionAlternative;\n    new(): SpeechRecognitionAlternative;\n    isInstance: IsInstance<SpeechRecognitionAlternative>;\n};\n\ninterface SpeechRecognitionError extends Event {\n    readonly error: SpeechRecognitionErrorCode;\n    readonly message: string | null;\n}\n\ndeclare var SpeechRecognitionError: {\n    prototype: SpeechRecognitionError;\n    new(type: string, eventInitDict?: SpeechRecognitionErrorInit): SpeechRecognitionError;\n    isInstance: IsInstance<SpeechRecognitionError>;\n};\n\ninterface SpeechRecognitionEvent extends Event {\n    readonly emma: Document | null;\n    readonly interpretation: any;\n    readonly resultIndex: number;\n    readonly results: SpeechRecognitionResultList | null;\n}\n\ndeclare var SpeechRecognitionEvent: {\n    prototype: SpeechRecognitionEvent;\n    new(type: string, eventInitDict?: SpeechRecognitionEventInit): SpeechRecognitionEvent;\n    isInstance: IsInstance<SpeechRecognitionEvent>;\n};\n\ninterface SpeechRecognitionResult {\n    readonly isFinal: boolean;\n    readonly length: number;\n    item(index: number): SpeechRecognitionAlternative;\n    [index: number]: SpeechRecognitionAlternative;\n}\n\ndeclare var SpeechRecognitionResult: {\n    prototype: SpeechRecognitionResult;\n    new(): SpeechRecognitionResult;\n    isInstance: IsInstance<SpeechRecognitionResult>;\n};\n\ninterface SpeechRecognitionResultList {\n    readonly length: number;\n    item(index: number): SpeechRecognitionResult;\n    [index: number]: SpeechRecognitionResult;\n}\n\ndeclare var SpeechRecognitionResultList: {\n    prototype: SpeechRecognitionResultList;\n    new(): SpeechRecognitionResultList;\n    isInstance: IsInstance<SpeechRecognitionResultList>;\n};\n\ninterface SpeechSynthesisEventMap {\n    \"voiceschanged\": Event;\n}\n\ninterface SpeechSynthesis extends EventTarget {\n    onvoiceschanged: ((this: SpeechSynthesis, ev: Event) => any) | null;\n    readonly paused: boolean;\n    readonly pending: boolean;\n    readonly speaking: boolean;\n    cancel(): void;\n    forceEnd(): void;\n    getVoices(): SpeechSynthesisVoice[];\n    pause(): void;\n    resume(): void;\n    speak(utterance: SpeechSynthesisUtterance): void;\n    addEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisEventMap>(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SpeechSynthesis: {\n    prototype: SpeechSynthesis;\n    new(): SpeechSynthesis;\n    isInstance: IsInstance<SpeechSynthesis>;\n};\n\ninterface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {\n    readonly error: SpeechSynthesisErrorCode;\n}\n\ndeclare var SpeechSynthesisErrorEvent: {\n    prototype: SpeechSynthesisErrorEvent;\n    new(type: string, eventInitDict: SpeechSynthesisErrorEventInit): SpeechSynthesisErrorEvent;\n    isInstance: IsInstance<SpeechSynthesisErrorEvent>;\n};\n\ninterface SpeechSynthesisEvent extends Event {\n    readonly charIndex: number;\n    readonly charLength: number | null;\n    readonly elapsedTime: number;\n    readonly name: string | null;\n    readonly utterance: SpeechSynthesisUtterance;\n}\n\ndeclare var SpeechSynthesisEvent: {\n    prototype: SpeechSynthesisEvent;\n    new(type: string, eventInitDict: SpeechSynthesisEventInit): SpeechSynthesisEvent;\n    isInstance: IsInstance<SpeechSynthesisEvent>;\n};\n\ninterface SpeechSynthesisGetter {\n    readonly speechSynthesis: SpeechSynthesis;\n}\n\ninterface SpeechSynthesisUtteranceEventMap {\n    \"boundary\": Event;\n    \"end\": Event;\n    \"error\": Event;\n    \"mark\": Event;\n    \"pause\": Event;\n    \"resume\": Event;\n    \"start\": Event;\n}\n\ninterface SpeechSynthesisUtterance extends EventTarget {\n    readonly chosenVoiceURI: string;\n    lang: string;\n    onboundary: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onend: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onerror: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onmark: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onpause: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onresume: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    onstart: ((this: SpeechSynthesisUtterance, ev: Event) => any) | null;\n    pitch: number;\n    rate: number;\n    text: string;\n    voice: SpeechSynthesisVoice | null;\n    volume: number;\n    addEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof SpeechSynthesisUtteranceEventMap>(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var SpeechSynthesisUtterance: {\n    prototype: SpeechSynthesisUtterance;\n    new(): SpeechSynthesisUtterance;\n    new(text: string): SpeechSynthesisUtterance;\n    isInstance: IsInstance<SpeechSynthesisUtterance>;\n};\n\ninterface SpeechSynthesisVoice {\n    readonly default: boolean;\n    readonly lang: string;\n    readonly localService: boolean;\n    readonly name: string;\n    readonly voiceURI: string;\n}\n\ndeclare var SpeechSynthesisVoice: {\n    prototype: SpeechSynthesisVoice;\n    new(): SpeechSynthesisVoice;\n    isInstance: IsInstance<SpeechSynthesisVoice>;\n};\n\ninterface StaticRange extends AbstractRange {\n}\n\ndeclare var StaticRange: {\n    prototype: StaticRange;\n    new(init: StaticRangeInit): StaticRange;\n    isInstance: IsInstance<StaticRange>;\n};\n\ninterface StereoPannerNode extends AudioNode, AudioNodePassThrough {\n    readonly pan: AudioParam;\n}\n\ndeclare var StereoPannerNode: {\n    prototype: StereoPannerNode;\n    new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode;\n    isInstance: IsInstance<StereoPannerNode>;\n};\n\ninterface Storage {\n    readonly hasSnapshot: boolean;\n    readonly length: number;\n    readonly snapshotUsage: number;\n    beginExplicitSnapshot(): void;\n    checkpointExplicitSnapshot(): void;\n    clear(): void;\n    close(): void;\n    endExplicitSnapshot(): void;\n    getItem(key: string): string | null;\n    key(index: number): string | null;\n    open(): void;\n    removeItem(key: string): void;\n    setItem(key: string, value: string): void;\n}\n\ndeclare var Storage: {\n    prototype: Storage;\n    new(): Storage;\n    isInstance: IsInstance<Storage>;\n};\n\ninterface StorageEvent extends Event {\n    readonly key: string | null;\n    readonly newValue: string | null;\n    readonly oldValue: string | null;\n    readonly storageArea: Storage | null;\n    readonly url: string;\n    initStorageEvent(type: string, canBubble?: boolean, cancelable?: boolean, key?: string | null, oldValue?: string | null, newValue?: string | null, url?: string | URL, storageArea?: Storage | null): void;\n}\n\ndeclare var StorageEvent: {\n    prototype: StorageEvent;\n    new(type: string, eventInitDict?: StorageEventInit): StorageEvent;\n    isInstance: IsInstance<StorageEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface StorageManager {\n    estimate(): Promise<StorageEstimate>;\n    getDirectory(): Promise<FileSystemDirectoryHandle>;\n    persist(): Promise<boolean>;\n    persisted(): Promise<boolean>;\n    shutdown(): void;\n}\n\ndeclare var StorageManager: {\n    prototype: StorageManager;\n    new(): StorageManager;\n    isInstance: IsInstance<StorageManager>;\n};\n\ninterface StreamFilterEventMap {\n    \"data\": Event;\n    \"error\": Event;\n    \"start\": Event;\n    \"stop\": Event;\n}\n\ninterface StreamFilter extends EventTarget {\n    readonly error: string;\n    ondata: ((this: StreamFilter, ev: Event) => any) | null;\n    onerror: ((this: StreamFilter, ev: Event) => any) | null;\n    onstart: ((this: StreamFilter, ev: Event) => any) | null;\n    onstop: ((this: StreamFilter, ev: Event) => any) | null;\n    readonly status: StreamFilterStatus;\n    close(): void;\n    disconnect(): void;\n    resume(): void;\n    suspend(): void;\n    write(data: ArrayBuffer | Uint8Array): void;\n    addEventListener<K extends keyof StreamFilterEventMap>(type: K, listener: (this: StreamFilter, ev: StreamFilterEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof StreamFilterEventMap>(type: K, listener: (this: StreamFilter, ev: StreamFilterEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var StreamFilter: {\n    prototype: StreamFilter;\n    new(): StreamFilter;\n    isInstance: IsInstance<StreamFilter>;\n    create(requestId: number, addonId: string): StreamFilter;\n};\n\ninterface StreamFilterDataEvent extends Event {\n    readonly data: ArrayBuffer;\n}\n\ndeclare var StreamFilterDataEvent: {\n    prototype: StreamFilterDataEvent;\n    new(type: string, eventInitDict?: StreamFilterDataEventInit): StreamFilterDataEvent;\n    isInstance: IsInstance<StreamFilterDataEvent>;\n};\n\ninterface StructuredCloneHolder {\n    readonly dataSize: number;\n    deserialize(global: any, keepData?: boolean): any;\n}\n\ndeclare var StructuredCloneHolder: {\n    prototype: StructuredCloneHolder;\n    new(name: string, anonymizedName: string | null, data: any, global?: any): StructuredCloneHolder;\n    isInstance: IsInstance<StructuredCloneHolder>;\n};\n\ninterface StructuredCloneTester {\n    readonly deserializable: boolean;\n    readonly serializable: boolean;\n}\n\ndeclare var StructuredCloneTester: {\n    prototype: StructuredCloneTester;\n    new(serializable: boolean, deserializable: boolean): StructuredCloneTester;\n    isInstance: IsInstance<StructuredCloneTester>;\n};\n\ninterface StyleSheet {\n    readonly associatedDocument: Document | null;\n    readonly constructed: boolean;\n    disabled: boolean;\n    readonly href: string | null;\n    readonly media: MediaList;\n    readonly ownerNode: Node | null;\n    readonly parentStyleSheet: StyleSheet | null;\n    readonly sourceMapURL: string;\n    readonly sourceURL: string;\n    readonly title: string | null;\n    readonly type: string;\n}\n\ndeclare var StyleSheet: {\n    prototype: StyleSheet;\n    new(): StyleSheet;\n    isInstance: IsInstance<StyleSheet>;\n};\n\ninterface StyleSheetApplicableStateChangeEvent extends Event {\n    readonly applicable: boolean;\n    readonly stylesheet: CSSStyleSheet | null;\n}\n\ndeclare var StyleSheetApplicableStateChangeEvent: {\n    prototype: StyleSheetApplicableStateChangeEvent;\n    new(type: string, eventInitDict?: StyleSheetApplicableStateChangeEventInit): StyleSheetApplicableStateChangeEvent;\n    isInstance: IsInstance<StyleSheetApplicableStateChangeEvent>;\n};\n\ninterface StyleSheetList {\n    readonly length: number;\n    item(index: number): CSSStyleSheet | null;\n    [index: number]: CSSStyleSheet;\n}\n\ndeclare var StyleSheetList: {\n    prototype: StyleSheetList;\n    new(): StyleSheetList;\n    isInstance: IsInstance<StyleSheetList>;\n};\n\ninterface StyleSheetRemovedEvent extends Event {\n    readonly stylesheet: CSSStyleSheet | null;\n}\n\ndeclare var StyleSheetRemovedEvent: {\n    prototype: StyleSheetRemovedEvent;\n    new(type: string, eventInitDict?: StyleSheetRemovedEventInit): StyleSheetRemovedEvent;\n    isInstance: IsInstance<StyleSheetRemovedEvent>;\n};\n\ninterface SubmitEvent extends Event {\n    readonly submitter: HTMLElement | null;\n}\n\ndeclare var SubmitEvent: {\n    prototype: SubmitEvent;\n    new(type: string, eventInitDict?: SubmitEventInit): SubmitEvent;\n    isInstance: IsInstance<SubmitEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface SubtleCrypto {\n    decrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<any>;\n    deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length?: number | null): Promise<any>;\n    deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<any>;\n    digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<any>;\n    encrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<any>;\n    exportKey(format: KeyFormat, key: CryptoKey): Promise<any>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<any>;\n    importKey(format: KeyFormat, keyData: any, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<any>;\n    sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<any>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<any>;\n    verify(algorithm: AlgorithmIdentifier, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<any>;\n    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise<any>;\n}\n\ndeclare var SubtleCrypto: {\n    prototype: SubtleCrypto;\n    new(): SubtleCrypto;\n    isInstance: IsInstance<SubtleCrypto>;\n};\n\ninterface SyncMessageSender extends MessageSender, SyncMessageSenderMixin {\n}\n\ndeclare var SyncMessageSender: {\n    prototype: SyncMessageSender;\n    new(): SyncMessageSender;\n    isInstance: IsInstance<SyncMessageSender>;\n};\n\ninterface SyncMessageSenderMixin {\n    sendSyncMessage(messageName?: string | null, obj?: any): any[];\n}\n\ninterface TCPServerSocketEventMap {\n    \"connect\": Event;\n    \"error\": Event;\n}\n\ninterface TCPServerSocket extends EventTarget {\n    readonly localPort: number;\n    onconnect: ((this: TCPServerSocket, ev: Event) => any) | null;\n    onerror: ((this: TCPServerSocket, ev: Event) => any) | null;\n    close(): void;\n    addEventListener<K extends keyof TCPServerSocketEventMap>(type: K, listener: (this: TCPServerSocket, ev: TCPServerSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TCPServerSocketEventMap>(type: K, listener: (this: TCPServerSocket, ev: TCPServerSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TCPServerSocket: {\n    prototype: TCPServerSocket;\n    new(port: number, options?: ServerSocketOptions, backlog?: number): TCPServerSocket;\n    isInstance: IsInstance<TCPServerSocket>;\n};\n\ninterface TCPServerSocketEvent extends Event {\n    readonly socket: TCPSocket;\n}\n\ndeclare var TCPServerSocketEvent: {\n    prototype: TCPServerSocketEvent;\n    new(type: string, eventInitDict?: TCPServerSocketEventInit): TCPServerSocketEvent;\n    isInstance: IsInstance<TCPServerSocketEvent>;\n};\n\ninterface TCPSocketEventMap {\n    \"close\": Event;\n    \"data\": Event;\n    \"drain\": Event;\n    \"error\": Event;\n    \"open\": Event;\n}\n\ninterface TCPSocket extends EventTarget {\n    readonly binaryType: TCPSocketBinaryType;\n    readonly bufferedAmount: number;\n    readonly host: string;\n    onclose: ((this: TCPSocket, ev: Event) => any) | null;\n    ondata: ((this: TCPSocket, ev: Event) => any) | null;\n    ondrain: ((this: TCPSocket, ev: Event) => any) | null;\n    onerror: ((this: TCPSocket, ev: Event) => any) | null;\n    onopen: ((this: TCPSocket, ev: Event) => any) | null;\n    readonly port: number;\n    readonly readyState: TCPReadyState;\n    readonly ssl: boolean;\n    readonly transport: nsISocketTransport | null;\n    close(): void;\n    closeImmediately(): void;\n    resume(): void;\n    send(data: string): boolean;\n    send(data: ArrayBuffer, byteOffset?: number, byteLength?: number): boolean;\n    suspend(): void;\n    upgradeToSecure(): void;\n    addEventListener<K extends keyof TCPSocketEventMap>(type: K, listener: (this: TCPSocket, ev: TCPSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TCPSocketEventMap>(type: K, listener: (this: TCPSocket, ev: TCPSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TCPSocket: {\n    prototype: TCPSocket;\n    new(host: string, port: number, options?: SocketOptions): TCPSocket;\n    isInstance: IsInstance<TCPSocket>;\n};\n\ninterface TCPSocketErrorEvent extends Event {\n    readonly errorCode: number;\n    readonly message: string;\n    readonly name: string;\n}\n\ndeclare var TCPSocketErrorEvent: {\n    prototype: TCPSocketErrorEvent;\n    new(type: string, eventInitDict?: TCPSocketErrorEventInit): TCPSocketErrorEvent;\n    isInstance: IsInstance<TCPSocketErrorEvent>;\n};\n\ninterface TCPSocketEvent extends Event {\n    readonly data: any;\n}\n\ndeclare var TCPSocketEvent: {\n    prototype: TCPSocketEvent;\n    new(type: string, eventInitDict?: TCPSocketEventInit): TCPSocketEvent;\n    isInstance: IsInstance<TCPSocketEvent>;\n};\n\ninterface TaskController extends AbortController {\n    setPriority(priority: TaskPriority): void;\n}\n\ndeclare var TaskController: {\n    prototype: TaskController;\n    new(init?: TaskControllerInit): TaskController;\n    isInstance: IsInstance<TaskController>;\n};\n\ninterface TaskPriorityChangeEvent extends Event {\n    readonly previousPriority: TaskPriority;\n}\n\ndeclare var TaskPriorityChangeEvent: {\n    prototype: TaskPriorityChangeEvent;\n    new(type: string, priorityChangeEventInitDict: TaskPriorityChangeEventInit): TaskPriorityChangeEvent;\n    isInstance: IsInstance<TaskPriorityChangeEvent>;\n};\n\ninterface TaskSignalEventMap extends AbortSignalEventMap {\n    \"prioritychange\": Event;\n}\n\ninterface TaskSignal extends AbortSignal {\n    onprioritychange: ((this: TaskSignal, ev: Event) => any) | null;\n    readonly priority: TaskPriority;\n    addEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TaskSignalEventMap>(type: K, listener: (this: TaskSignal, ev: TaskSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TaskSignal: {\n    prototype: TaskSignal;\n    new(): TaskSignal;\n    isInstance: IsInstance<TaskSignal>;\n    any(signals: AbortSignal[], init?: TaskSignalAnyInit): TaskSignal;\n};\n\ninterface Tensor {\n    readonly data: ArrayBufferView;\n    dims: number[];\n    readonly location: TensorDataLocation;\n    readonly type: string;\n    dispose(): void;\n    getData(releaseData?: boolean): Promise<any>;\n}\n\ndeclare var Tensor: {\n    prototype: Tensor;\n    new(type: string, data: ArrayBufferView | any[], dims: number[]): Tensor;\n    isInstance: IsInstance<Tensor>;\n};\n\ninterface TestChromeOnlyInterface {\n}\n\ndeclare var TestChromeOnlyInterface: {\n    prototype: TestChromeOnlyInterface;\n    new(): TestChromeOnlyInterface;\n    isInstance: IsInstance<TestChromeOnlyInterface>;\n};\n\ninterface TestFunctions {\n    allowSharedArrayBuffer: ArrayBuffer;\n    allowSharedArrayBufferView: ArrayBufferView;\n    arrayBuffer: ArrayBuffer;\n    arrayBufferView: ArrayBufferView;\n    clampedNullableOctet: number | null;\n    enforcedNullableOctet: number | null;\n    readonly one: number;\n    sequenceOfAllowSharedArrayBuffer: ArrayBuffer[];\n    sequenceOfAllowSharedArrayBufferView: ArrayBufferView[];\n    sequenceOfArrayBuffer: ArrayBuffer[];\n    sequenceOfArrayBufferView: ArrayBufferView[];\n    readonly two: number;\n    readonly wrapperCachedNonISupportsObject: WrapperCachedNonISupportsTestInterface;\n    getLongLiteralString(): string;\n    getMediumLiteralString(): string;\n    getShortLiteralString(): string;\n    getStringDataAsAString(): string;\n    getStringDataAsAString(length: number): string;\n    getStringDataAsDOMString(length?: number): string;\n    getStringType(str: string): StringType;\n    getStringbufferString(input: string): string;\n    setStringData(arg: string): void;\n    staticAndNonStaticOverload(): boolean;\n    staticAndNonStaticOverload(foo?: number): boolean;\n    stringbufferMatchesStored(str: string): boolean;\n    testAllowShared(buffer: ArrayBufferView): void;\n    testAllowShared(buffer: ArrayBuffer): void;\n    testDictWithAllowShared(buffer?: DictWithAllowSharedBufferSource): void;\n    testNotAllowShared(buffer: ArrayBufferView): void;\n    testNotAllowShared(buffer: ArrayBuffer): void;\n    testNotAllowShared(buffer: string): void;\n    testThrowNsresult(): void;\n    testThrowNsresultFromNative(): void;\n    testUnionOfAllowSharedBufferSource(foo: AllowSharedBufferSource): void;\n    testUnionOfBufferSource(foo: ArrayBuffer | ArrayBufferView | string): void;\n    testUnionWithAllowShared(foo: Int8Array | Int16Array): void;\n    toJSON(): any;\n}\n\ndeclare var TestFunctions: {\n    prototype: TestFunctions;\n    new(): TestFunctions;\n    isInstance: IsInstance<TestFunctions>;\n    createTestChromeOnlyInterface(): TestChromeOnlyInterface;\n    passThroughCallbackPromise(callback: PromiseReturner): Promise<any>;\n    passThroughPromise(arg: any): Promise<any>;\n    throwToRejectPromise(): Promise<any>;\n    throwUncatchableException(): void;\n};\n\ninterface TestInterfaceAsyncIterableDouble {\n}\n\ndeclare var TestInterfaceAsyncIterableDouble: {\n    prototype: TestInterfaceAsyncIterableDouble;\n    new(): TestInterfaceAsyncIterableDouble;\n    isInstance: IsInstance<TestInterfaceAsyncIterableDouble>;\n};\n\ninterface TestInterfaceAsyncIterableDoubleUnion {\n}\n\ndeclare var TestInterfaceAsyncIterableDoubleUnion: {\n    prototype: TestInterfaceAsyncIterableDoubleUnion;\n    new(): TestInterfaceAsyncIterableDoubleUnion;\n    isInstance: IsInstance<TestInterfaceAsyncIterableDoubleUnion>;\n};\n\ninterface TestInterfaceAsyncIterableSingle {\n}\n\ndeclare var TestInterfaceAsyncIterableSingle: {\n    prototype: TestInterfaceAsyncIterableSingle;\n    new(options?: TestInterfaceAsyncIterableSingleOptions): TestInterfaceAsyncIterableSingle;\n    isInstance: IsInstance<TestInterfaceAsyncIterableSingle>;\n};\n\ninterface TestInterfaceAsyncIterableSingleWithArgs {\n    readonly returnCallCount: number;\n    readonly returnLastCalledWith: any;\n}\n\ndeclare var TestInterfaceAsyncIterableSingleWithArgs: {\n    prototype: TestInterfaceAsyncIterableSingleWithArgs;\n    new(): TestInterfaceAsyncIterableSingleWithArgs;\n    isInstance: IsInstance<TestInterfaceAsyncIterableSingleWithArgs>;\n};\n\ninterface TestInterfaceIterableDouble {\n    forEach(callbackfn: (value: string, key: string, parent: TestInterfaceIterableDouble) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceIterableDouble: {\n    prototype: TestInterfaceIterableDouble;\n    new(): TestInterfaceIterableDouble;\n    isInstance: IsInstance<TestInterfaceIterableDouble>;\n};\n\ninterface TestInterfaceIterableDoubleUnion {\n    forEach(callbackfn: (value: string | number, key: string, parent: TestInterfaceIterableDoubleUnion) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceIterableDoubleUnion: {\n    prototype: TestInterfaceIterableDoubleUnion;\n    new(): TestInterfaceIterableDoubleUnion;\n    isInstance: IsInstance<TestInterfaceIterableDoubleUnion>;\n};\n\ninterface TestInterfaceIterableSingle {\n    readonly length: number;\n    forEach(callbackfn: (value: number, key: number, parent: TestInterfaceIterableSingle) => void, thisArg?: any): void;\n    [index: number]: number;\n}\n\ndeclare var TestInterfaceIterableSingle: {\n    prototype: TestInterfaceIterableSingle;\n    new(): TestInterfaceIterableSingle;\n    isInstance: IsInstance<TestInterfaceIterableSingle>;\n};\n\ninterface TestInterfaceJSEventMap {\n    \"something\": Event;\n}\n\ninterface TestInterfaceJS extends EventTarget {\n    readonly anyArg: any;\n    anyAttr: any;\n    readonly objectArg: any;\n    objectAttr: any;\n    onsomething: ((this: TestInterfaceJS, ev: Event) => any) | null;\n    anySequenceLength(seq: any[]): number;\n    convertSVS(svs: string): string;\n    getCallerPrincipal(): string;\n    getDictionaryArg(): TestInterfaceJSDictionary;\n    getDictionaryAttr(): TestInterfaceJSDictionary;\n    objectSequenceLength(seq: any[]): number;\n    pingPongAny(arg: any): any;\n    pingPongDictionary(dict?: TestInterfaceJSDictionary): TestInterfaceJSDictionary;\n    pingPongDictionaryOrLong(dictOrLong?: TestInterfaceJSUnionableDictionary | number): number;\n    pingPongNullableUnion(something: TestInterfaceJS | number | null): TestInterfaceJS | number | null;\n    pingPongObject(obj: any): any;\n    pingPongObjectOrString(objOrString: any): any;\n    pingPongRecord(rec: Record<string, any>): string;\n    pingPongUnion(something: TestInterfaceJS | number): TestInterfaceJS | number;\n    pingPongUnionContainingNull(something: TestInterfaceJS | string): string | TestInterfaceJS;\n    returnBadUnion(): Location | TestInterfaceJS;\n    setDictionaryAttr(dict?: TestInterfaceJSDictionary): void;\n    testPromiseWithDOMExceptionThrowingPromiseInit(): Promise<void>;\n    testPromiseWithDOMExceptionThrowingThenFunction(): Promise<void>;\n    testPromiseWithDOMExceptionThrowingThenable(): Promise<void>;\n    testPromiseWithThrowingChromePromiseInit(): Promise<void>;\n    testPromiseWithThrowingChromeThenFunction(): Promise<void>;\n    testPromiseWithThrowingChromeThenable(): Promise<void>;\n    testPromiseWithThrowingContentPromiseInit(func: Function): Promise<void>;\n    testPromiseWithThrowingContentThenFunction(func: AnyCallback): Promise<void>;\n    testPromiseWithThrowingContentThenable(thenable: any): Promise<void>;\n    testSequenceOverload(arg: string[]): void;\n    testSequenceOverload(arg: string): void;\n    testSequenceUnion(arg: string[] | string): void;\n    testThrowCallbackError(callback: Function): void;\n    testThrowDOMException(): void;\n    testThrowError(): void;\n    testThrowSelfHosted(): void;\n    testThrowTypeError(): void;\n    testThrowXraySelfHosted(): void;\n    addEventListener<K extends keyof TestInterfaceJSEventMap>(type: K, listener: (this: TestInterfaceJS, ev: TestInterfaceJSEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TestInterfaceJSEventMap>(type: K, listener: (this: TestInterfaceJS, ev: TestInterfaceJSEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TestInterfaceJS: {\n    prototype: TestInterfaceJS;\n    new(anyArg?: any, objectArg?: any, dictionaryArg?: TestInterfaceJSDictionary): TestInterfaceJS;\n    isInstance: IsInstance<TestInterfaceJS>;\n};\n\ninterface TestInterfaceLength {\n}\n\ndeclare var TestInterfaceLength: {\n    prototype: TestInterfaceLength;\n    new(arg: boolean): TestInterfaceLength;\n    isInstance: IsInstance<TestInterfaceLength>;\n};\n\ninterface TestInterfaceMaplike {\n    clearInternal(): void;\n    deleteInternal(aKey: string): boolean;\n    getInternal(aKey: string): number;\n    hasInternal(aKey: string): boolean;\n    setInternal(aKey: string, aValue: number): void;\n    forEach(callbackfn: (value: number, key: string, parent: TestInterfaceMaplike) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceMaplike: {\n    prototype: TestInterfaceMaplike;\n    new(): TestInterfaceMaplike;\n    isInstance: IsInstance<TestInterfaceMaplike>;\n};\n\ninterface TestInterfaceMaplikeJSObject {\n    clearInternal(): void;\n    deleteInternal(aKey: string): boolean;\n    getInternal(aKey: string): any;\n    hasInternal(aKey: string): boolean;\n    setInternal(aKey: string, aObject: any): void;\n    forEach(callbackfn: (value: any, key: string, parent: TestInterfaceMaplikeJSObject) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceMaplikeJSObject: {\n    prototype: TestInterfaceMaplikeJSObject;\n    new(): TestInterfaceMaplikeJSObject;\n    isInstance: IsInstance<TestInterfaceMaplikeJSObject>;\n};\n\ninterface TestInterfaceMaplikeObject {\n    clearInternal(): void;\n    deleteInternal(aKey: string): boolean;\n    getInternal(aKey: string): TestInterfaceMaplike | null;\n    hasInternal(aKey: string): boolean;\n    setInternal(aKey: string): void;\n    forEach(callbackfn: (value: TestInterfaceMaplike, key: string, parent: TestInterfaceMaplikeObject) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceMaplikeObject: {\n    prototype: TestInterfaceMaplikeObject;\n    new(): TestInterfaceMaplikeObject;\n    isInstance: IsInstance<TestInterfaceMaplikeObject>;\n};\n\ninterface TestInterfaceObservableArray {\n    observableArrayBoolean: boolean[];\n    observableArrayInterface: TestInterfaceObservableArray[];\n    observableArrayObject: any[];\n    booleanAppendElementInternal(value: boolean): void;\n    booleanElementAtInternal(index: number): boolean;\n    booleanLengthInternal(): number;\n    booleanRemoveLastElementInternal(): void;\n    booleanReplaceElementAtInternal(index: number, value: boolean): void;\n    interfaceAppendElementInternal(value: TestInterfaceObservableArray): void;\n    interfaceElementAtInternal(index: number): TestInterfaceObservableArray;\n    interfaceLengthInternal(): number;\n    interfaceRemoveLastElementInternal(): void;\n    interfaceReplaceElementAtInternal(index: number, value: TestInterfaceObservableArray): void;\n    objectAppendElementInternal(value: any): void;\n    objectElementAtInternal(index: number): any;\n    objectLengthInternal(): number;\n    objectRemoveLastElementInternal(): void;\n    objectReplaceElementAtInternal(index: number, value: any): void;\n}\n\ndeclare var TestInterfaceObservableArray: {\n    prototype: TestInterfaceObservableArray;\n    new(callbacks?: ObservableArrayCallbacks): TestInterfaceObservableArray;\n    isInstance: IsInstance<TestInterfaceObservableArray>;\n};\n\ninterface TestInterfaceSetlike {\n    forEach(callbackfn: (value: string, key: string, parent: TestInterfaceSetlike) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceSetlike: {\n    prototype: TestInterfaceSetlike;\n    new(): TestInterfaceSetlike;\n    isInstance: IsInstance<TestInterfaceSetlike>;\n};\n\ninterface TestInterfaceSetlikeNode {\n    forEach(callbackfn: (value: Node, key: Node, parent: TestInterfaceSetlikeNode) => void, thisArg?: any): void;\n}\n\ndeclare var TestInterfaceSetlikeNode: {\n    prototype: TestInterfaceSetlikeNode;\n    new(): TestInterfaceSetlikeNode;\n    isInstance: IsInstance<TestInterfaceSetlikeNode>;\n};\n\ninterface TestReflectedHTMLAttribute {\n    reflectedHTMLAttribute: Element[] | null;\n    setReflectedHTMLAttributeValue(seq: Element[]): void;\n}\n\ndeclare var TestReflectedHTMLAttribute: {\n    prototype: TestReflectedHTMLAttribute;\n    new(): TestReflectedHTMLAttribute;\n    isInstance: IsInstance<TestReflectedHTMLAttribute>;\n};\n\ninterface TestTrialInterface {\n}\n\ndeclare var TestTrialInterface: {\n    prototype: TestTrialInterface;\n    new(): TestTrialInterface;\n    isInstance: IsInstance<TestTrialInterface>;\n};\n\ninterface TestingDeprecatedInterface {\n    readonly deprecatedAttribute: boolean;\n    deprecatedMethod(): void;\n}\n\ndeclare var TestingDeprecatedInterface: {\n    prototype: TestingDeprecatedInterface;\n    new(): TestingDeprecatedInterface;\n    isInstance: IsInstance<TestingDeprecatedInterface>;\n};\n\ninterface Text extends CharacterData, GeometryUtils {\n    readonly assignedSlot: HTMLSlotElement | null;\n    readonly openOrClosedAssignedSlot: HTMLSlotElement | null;\n    readonly wholeText: string;\n    splitText(offset: number): Text;\n}\n\ndeclare var Text: {\n    prototype: Text;\n    new(data?: string): Text;\n    isInstance: IsInstance<Text>;\n};\n\ninterface TextClause {\n    readonly endOffset: number;\n    readonly isCaret: boolean;\n    readonly isTargetClause: boolean;\n    readonly startOffset: number;\n}\n\ndeclare var TextClause: {\n    prototype: TextClause;\n    new(): TextClause;\n    isInstance: IsInstance<TextClause>;\n};\n\ninterface TextDecoder extends TextDecoderCommon {\n    decode(input?: BufferSource, options?: TextDecodeOptions): string;\n}\n\ndeclare var TextDecoder: {\n    prototype: TextDecoder;\n    new(label?: string, options?: TextDecoderOptions): TextDecoder;\n    isInstance: IsInstance<TextDecoder>;\n};\n\ninterface TextDecoderCommon {\n    readonly encoding: string;\n    readonly fatal: boolean;\n    readonly ignoreBOM: boolean;\n}\n\ninterface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {\n}\n\ndeclare var TextDecoderStream: {\n    prototype: TextDecoderStream;\n    new(label?: string, options?: TextDecoderOptions): TextDecoderStream;\n    isInstance: IsInstance<TextDecoderStream>;\n};\n\ninterface TextEncoder extends TextEncoderCommon {\n    encode(input?: string): Uint8Array<ArrayBuffer>;\n    encodeInto(source: JSString, destination: Uint8Array): TextEncoderEncodeIntoResult;\n}\n\ndeclare var TextEncoder: {\n    prototype: TextEncoder;\n    new(): TextEncoder;\n    isInstance: IsInstance<TextEncoder>;\n};\n\ninterface TextEncoderCommon {\n    readonly encoding: string;\n}\n\ninterface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {\n}\n\ndeclare var TextEncoderStream: {\n    prototype: TextEncoderStream;\n    new(): TextEncoderStream;\n    isInstance: IsInstance<TextEncoderStream>;\n};\n\ninterface TextEvent extends UIEvent {\n    readonly data: string;\n    initTextEvent(type: string, bubbles?: boolean, cancelable?: boolean, view?: Window | null, data?: string): void;\n}\n\ndeclare var TextEvent: {\n    prototype: TextEvent;\n    new(): TextEvent;\n    isInstance: IsInstance<TextEvent>;\n};\n\ninterface TextMetrics {\n    readonly actualBoundingBoxAscent: number;\n    readonly actualBoundingBoxDescent: number;\n    readonly actualBoundingBoxLeft: number;\n    readonly actualBoundingBoxRight: number;\n    readonly alphabeticBaseline: number;\n    readonly emHeightAscent: number;\n    readonly emHeightDescent: number;\n    readonly fontBoundingBoxAscent: number;\n    readonly fontBoundingBoxDescent: number;\n    readonly hangingBaseline: number;\n    readonly ideographicBaseline: number;\n    readonly width: number;\n}\n\ndeclare var TextMetrics: {\n    prototype: TextMetrics;\n    new(): TextMetrics;\n    isInstance: IsInstance<TextMetrics>;\n};\n\ninterface TextTrackEventMap {\n    \"cuechange\": Event;\n}\n\ninterface TextTrack extends EventTarget {\n    readonly activeCues: TextTrackCueList | null;\n    readonly cues: TextTrackCueList | null;\n    readonly id: string;\n    readonly inBandMetadataTrackDispatchType: string;\n    readonly kind: TextTrackKind;\n    readonly label: string;\n    readonly language: string;\n    mode: TextTrackMode;\n    oncuechange: ((this: TextTrack, ev: Event) => any) | null;\n    readonly textTrackList: TextTrackList | null;\n    addCue(cue: VTTCue): void;\n    removeCue(cue: VTTCue): void;\n    addEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackEventMap>(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TextTrack: {\n    prototype: TextTrack;\n    new(): TextTrack;\n    isInstance: IsInstance<TextTrack>;\n};\n\ninterface TextTrackCueEventMap {\n    \"enter\": Event;\n    \"exit\": Event;\n}\n\ninterface TextTrackCue extends EventTarget {\n    endTime: number;\n    id: string;\n    onenter: ((this: TextTrackCue, ev: Event) => any) | null;\n    onexit: ((this: TextTrackCue, ev: Event) => any) | null;\n    pauseOnExit: boolean;\n    startTime: number;\n    readonly track: TextTrack | null;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var TextTrackCue: {\n    prototype: TextTrackCue;\n    new(): TextTrackCue;\n    isInstance: IsInstance<TextTrackCue>;\n};\n\ninterface TextTrackCueList {\n    readonly length: number;\n    getCueById(id: string): VTTCue | null;\n    [index: number]: VTTCue;\n}\n\ndeclare var TextTrackCueList: {\n    prototype: TextTrackCueList;\n    new(): TextTrackCueList;\n    isInstance: IsInstance<TextTrackCueList>;\n};\n\ninterface TextTrackListEventMap {\n    \"addtrack\": Event;\n    \"change\": Event;\n    \"removetrack\": Event;\n}\n\ninterface TextTrackList extends EventTarget {\n    readonly length: number;\n    readonly mediaElement: HTMLMediaElement | null;\n    onaddtrack: ((this: TextTrackList, ev: Event) => any) | null;\n    onchange: ((this: TextTrackList, ev: Event) => any) | null;\n    onremovetrack: ((this: TextTrackList, ev: Event) => any) | null;\n    getTrackById(id: string): TextTrack | null;\n    addEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackListEventMap>(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: TextTrack;\n}\n\ndeclare var TextTrackList: {\n    prototype: TextTrackList;\n    new(): TextTrackList;\n    isInstance: IsInstance<TextTrackList>;\n};\n\ninterface TimeEvent extends Event {\n    readonly detail: number;\n    readonly view: WindowProxy | null;\n    initTimeEvent(aType: string, aView?: Window | null, aDetail?: number): void;\n}\n\ndeclare var TimeEvent: {\n    prototype: TimeEvent;\n    new(): TimeEvent;\n    isInstance: IsInstance<TimeEvent>;\n};\n\ninterface TimeRanges {\n    readonly length: number;\n    end(index: number): number;\n    start(index: number): number;\n}\n\ndeclare var TimeRanges: {\n    prototype: TimeRanges;\n    new(): TimeRanges;\n    isInstance: IsInstance<TimeRanges>;\n};\n\ninterface ToggleEvent extends Event {\n    readonly newState: string;\n    readonly oldState: string;\n}\n\ndeclare var ToggleEvent: {\n    prototype: ToggleEvent;\n    new(type: string, eventInitDict?: ToggleEventInit): ToggleEvent;\n    isInstance: IsInstance<ToggleEvent>;\n};\n\ninterface Touch {\n    readonly clientX: number;\n    readonly clientY: number;\n    readonly force: number;\n    readonly identifier: number;\n    readonly pageX: number;\n    readonly pageY: number;\n    readonly radiusX: number;\n    readonly radiusY: number;\n    readonly rotationAngle: number;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly target: EventTarget | null;\n}\n\ndeclare var Touch: {\n    prototype: Touch;\n    new(touchInitDict: TouchInit): Touch;\n    isInstance: IsInstance<Touch>;\n};\n\ninterface TouchEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly changedTouches: TouchList;\n    readonly ctrlKey: boolean;\n    readonly metaKey: boolean;\n    readonly shiftKey: boolean;\n    readonly targetTouches: TouchList;\n    readonly touches: TouchList;\n    initTouchEvent(type: string, canBubble?: boolean, cancelable?: boolean, view?: Window | null, detail?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean, touches?: TouchList | null, targetTouches?: TouchList | null, changedTouches?: TouchList | null): void;\n}\n\ndeclare var TouchEvent: {\n    prototype: TouchEvent;\n    new(type: string, eventInitDict?: TouchEventInit): TouchEvent;\n    isInstance: IsInstance<TouchEvent>;\n};\n\ninterface TouchEventHandlersEventMap {\n    \"touchcancel\": Event;\n    \"touchend\": Event;\n    \"touchmove\": Event;\n    \"touchstart\": Event;\n}\n\ninterface TouchEventHandlers {\n    ontouchcancel: ((this: TouchEventHandlers, ev: Event) => any) | null;\n    ontouchend: ((this: TouchEventHandlers, ev: Event) => any) | null;\n    ontouchmove: ((this: TouchEventHandlers, ev: Event) => any) | null;\n    ontouchstart: ((this: TouchEventHandlers, ev: Event) => any) | null;\n    addEventListener<K extends keyof TouchEventHandlersEventMap>(type: K, listener: (this: TouchEventHandlers, ev: TouchEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TouchEventHandlersEventMap>(type: K, listener: (this: TouchEventHandlers, ev: TouchEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface TouchList {\n    readonly length: number;\n    item(index: number): Touch | null;\n    [index: number]: Touch;\n}\n\ndeclare var TouchList: {\n    prototype: TouchList;\n    new(): TouchList;\n    isInstance: IsInstance<TouchList>;\n};\n\ninterface TrackEvent extends Event {\n    readonly track: VideoTrack | AudioTrack | TextTrack | null;\n}\n\ndeclare var TrackEvent: {\n    prototype: TrackEvent;\n    new(type: string, eventInitDict?: TrackEventInit): TrackEvent;\n    isInstance: IsInstance<TrackEvent>;\n};\n\ninterface TransformStream {\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\n\ndeclare var TransformStream: {\n    prototype: TransformStream;\n    new(transformer?: any, writableStrategy?: QueuingStrategy, readableStrategy?: QueuingStrategy): TransformStream;\n    isInstance: IsInstance<TransformStream>;\n};\n\ninterface TransformStreamDefaultController {\n    readonly desiredSize: number | null;\n    enqueue(chunk?: any): void;\n    error(reason?: any): void;\n    terminate(): void;\n}\n\ndeclare var TransformStreamDefaultController: {\n    prototype: TransformStreamDefaultController;\n    new(): TransformStreamDefaultController;\n    isInstance: IsInstance<TransformStreamDefaultController>;\n};\n\ninterface TransitionEvent extends Event {\n    readonly elapsedTime: number;\n    readonly propertyName: string;\n    readonly pseudoElement: string;\n}\n\ndeclare var TransitionEvent: {\n    prototype: TransitionEvent;\n    new(type: string, eventInitDict?: TransitionEventInit): TransitionEvent;\n    isInstance: IsInstance<TransitionEvent>;\n};\n\ninterface TreeColumn {\n    readonly columns: TreeColumns | null;\n    readonly cycler: boolean;\n    readonly editable: boolean;\n    readonly element: Element;\n    readonly id: string;\n    readonly index: number;\n    readonly previousColumn: TreeColumn | null;\n    readonly primary: boolean;\n    readonly type: number;\n    readonly width: number;\n    readonly x: number;\n    getNext(): TreeColumn | null;\n    getPrevious(): TreeColumn | null;\n    invalidate(): void;\n    readonly TYPE_TEXT: 1;\n    readonly TYPE_CHECKBOX: 2;\n}\n\ndeclare var TreeColumn: {\n    prototype: TreeColumn;\n    new(): TreeColumn;\n    readonly TYPE_TEXT: 1;\n    readonly TYPE_CHECKBOX: 2;\n    isInstance: IsInstance<TreeColumn>;\n};\n\ninterface TreeColumns {\n    readonly count: number;\n    readonly length: number;\n    readonly tree: XULTreeElement | null;\n    getColumnAt(index: number): TreeColumn | null;\n    getColumnFor(element: Element | null): TreeColumn | null;\n    getFirstColumn(): TreeColumn | null;\n    getKeyColumn(): TreeColumn | null;\n    getLastColumn(): TreeColumn | null;\n    getNamedColumn(name: string): TreeColumn | null;\n    getPrimaryColumn(): TreeColumn | null;\n    getSortedColumn(): TreeColumn | null;\n    invalidateColumns(): void;\n    [index: number]: TreeColumn;\n}\n\ndeclare var TreeColumns: {\n    prototype: TreeColumns;\n    new(): TreeColumns;\n    isInstance: IsInstance<TreeColumns>;\n};\n\ninterface TreeContentView extends TreeView {\n    getIndexOfItem(item: Element | null): number;\n    getItemAtIndex(row: number): Element | null;\n}\n\ndeclare var TreeContentView: {\n    prototype: TreeContentView;\n    new(): TreeContentView;\n    readonly DROP_BEFORE: -1;\n    readonly DROP_ON: 0;\n    readonly DROP_AFTER: 1;\n    isInstance: IsInstance<TreeContentView>;\n};\n\ninterface TreeView {\n    readonly rowCount: number;\n    selection: nsITreeSelection | null;\n    canDrop(row: number, orientation: number, dataTransfer: DataTransfer | null): boolean;\n    cycleCell(row: number, column: TreeColumn): void;\n    cycleHeader(column: TreeColumn): void;\n    drop(row: number, orientation: number, dataTransfer: DataTransfer | null): void;\n    getCellProperties(row: number, column: TreeColumn): string;\n    getCellText(row: number, column: TreeColumn): string;\n    getCellValue(row: number, column: TreeColumn): string;\n    getColumnProperties(column: TreeColumn): string;\n    getImageSrc(row: number, column: TreeColumn): string;\n    getLevel(row: number): number;\n    getParentIndex(row: number): number;\n    getRowProperties(row: number): string;\n    hasNextSibling(row: number, afterIndex: number): boolean;\n    isContainer(row: number): boolean;\n    isContainerEmpty(row: number): boolean;\n    isContainerOpen(row: number): boolean;\n    isEditable(row: number, column: TreeColumn): boolean;\n    isSeparator(row: number): boolean;\n    isSorted(): boolean;\n    selectionChanged(): void;\n    setCellText(row: number, column: TreeColumn, value: string): void;\n    setCellValue(row: number, column: TreeColumn, value: string): void;\n    setTree(tree: XULTreeElement | null): void;\n    toggleOpenState(row: number): void;\n    readonly DROP_BEFORE: -1;\n    readonly DROP_ON: 0;\n    readonly DROP_AFTER: 1;\n}\n\ninterface TreeWalker {\n    currentNode: Node;\n    readonly filter: NodeFilter | null;\n    readonly root: Node;\n    readonly whatToShow: number;\n    firstChild(): Node | null;\n    lastChild(): Node | null;\n    nextNode(): Node | null;\n    nextSibling(): Node | null;\n    parentNode(): Node | null;\n    previousNode(): Node | null;\n    previousSibling(): Node | null;\n}\n\ndeclare var TreeWalker: {\n    prototype: TreeWalker;\n    new(): TreeWalker;\n    isInstance: IsInstance<TreeWalker>;\n};\n\ninterface TrustedHTML {\n    toJSON(): string;\n    toString(): string;\n}\n\ndeclare var TrustedHTML: {\n    prototype: TrustedHTML;\n    new(): TrustedHTML;\n    isInstance: IsInstance<TrustedHTML>;\n};\n\ntype TrustedScript = string & {\n    toJSON(): string;\n    toString(): string;\n};\n\ndeclare var TrustedScript: {\n    prototype: TrustedScript;\n    new(): TrustedScript;\n    isInstance: IsInstance<TrustedScript>;\n};\n\ninterface TrustedScriptURL {\n    toJSON(): string;\n    toString(): string;\n}\n\ndeclare var TrustedScriptURL: {\n    prototype: TrustedScriptURL;\n    new(): TrustedScriptURL;\n    isInstance: IsInstance<TrustedScriptURL>;\n};\n\ninterface TrustedTypePolicy {\n    readonly name: string;\n    createHTML(input: string, ...arguments: any[]): TrustedHTML;\n    createScript(input: string, ...arguments: any[]): TrustedScript;\n    createScriptURL(input: string, ...arguments: any[]): TrustedScriptURL;\n}\n\ndeclare var TrustedTypePolicy: {\n    prototype: TrustedTypePolicy;\n    new(): TrustedTypePolicy;\n    isInstance: IsInstance<TrustedTypePolicy>;\n};\n\ninterface TrustedTypePolicyFactory {\n    readonly defaultPolicy: TrustedTypePolicy | null;\n    readonly emptyHTML: TrustedHTML;\n    readonly emptyScript: TrustedScript;\n    createPolicy(policyName: string, policyOptions?: TrustedTypePolicyOptions): TrustedTypePolicy;\n    getAttributeType(tagName: string, attribute: string, elementNs?: string | null, attrNs?: string | null): string | null;\n    getPropertyType(tagName: string, property: string, elementNs?: string | null): string | null;\n    isHTML(value: any): boolean;\n    isScript(value: any): boolean;\n    isScriptURL(value: any): boolean;\n}\n\ndeclare var TrustedTypePolicyFactory: {\n    prototype: TrustedTypePolicyFactory;\n    new(): TrustedTypePolicyFactory;\n    isInstance: IsInstance<TrustedTypePolicyFactory>;\n};\n\ninterface UDPMessageEvent extends Event {\n    readonly data: any;\n    readonly remoteAddress: string;\n    readonly remotePort: number;\n}\n\ndeclare var UDPMessageEvent: {\n    prototype: UDPMessageEvent;\n    new(type: string, eventInitDict?: UDPMessageEventInit): UDPMessageEvent;\n    isInstance: IsInstance<UDPMessageEvent>;\n};\n\ninterface UDPSocketEventMap {\n    \"message\": Event;\n}\n\ninterface UDPSocket extends EventTarget {\n    readonly addressReuse: boolean;\n    readonly closed: Promise<void>;\n    readonly localAddress: string | null;\n    readonly localPort: number | null;\n    readonly loopback: boolean;\n    onmessage: ((this: UDPSocket, ev: Event) => any) | null;\n    readonly opened: Promise<void>;\n    readonly readyState: SocketReadyState;\n    readonly remoteAddress: string | null;\n    readonly remotePort: number | null;\n    close(): Promise<void>;\n    joinMulticastGroup(multicastGroupAddress: string): void;\n    leaveMulticastGroup(multicastGroupAddress: string): void;\n    send(data: string | Blob | ArrayBuffer | ArrayBufferView, remoteAddress?: string | null, remotePort?: number | null): boolean;\n    addEventListener<K extends keyof UDPSocketEventMap>(type: K, listener: (this: UDPSocket, ev: UDPSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof UDPSocketEventMap>(type: K, listener: (this: UDPSocket, ev: UDPSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var UDPSocket: {\n    prototype: UDPSocket;\n    new(options?: UDPOptions): UDPSocket;\n    isInstance: IsInstance<UDPSocket>;\n};\n\ninterface UIEvent extends Event {\n    readonly detail: number;\n    readonly layerX: number;\n    readonly layerY: number;\n    readonly rangeOffset: number;\n    readonly rangeParent: Node | null;\n    readonly view: WindowProxy | null;\n    readonly which: number;\n    initUIEvent(aType: string, aCanBubble?: boolean, aCancelable?: boolean, aView?: Window | null, aDetail?: number): void;\n    readonly SCROLL_PAGE_UP: -32768;\n    readonly SCROLL_PAGE_DOWN: 32768;\n}\n\ndeclare var UIEvent: {\n    prototype: UIEvent;\n    new(type: string, eventInitDict?: UIEventInit): UIEvent;\n    readonly SCROLL_PAGE_UP: -32768;\n    readonly SCROLL_PAGE_DOWN: 32768;\n    isInstance: IsInstance<UIEvent>;\n};\n\ninterface URL {\n    readonly URI: URI;\n    hash: string;\n    host: string;\n    hostname: string;\n    href: string;\n    toString(): string;\n    readonly origin: string;\n    password: string;\n    pathname: string;\n    port: string;\n    protocol: string;\n    search: string;\n    readonly searchParams: URLSearchParams;\n    username: string;\n    toJSON(): string;\n}\n\ndeclare var URL: {\n    prototype: URL;\n    new(url: string, base?: string): URL;\n    isInstance: IsInstance<URL>;\n    canParse(url: string, base?: string): boolean;\n    createObjectURL(obj: Blob | MediaSource): string;\n    fromURI(uri: URI): URL;\n    isBoundToBlob(url: string): boolean;\n    parse(url: string, base?: string): URL | null;\n    revokeObjectURL(url: string): void;\n};\n\ntype webkitURL = URL;\ndeclare var webkitURL: typeof URL;\n\ninterface URLPattern {\n    readonly hasRegExpGroups: boolean;\n    readonly hash: string;\n    readonly hostname: string;\n    readonly password: string;\n    readonly pathname: string;\n    readonly port: string;\n    readonly protocol: string;\n    readonly search: string;\n    readonly username: string;\n    exec(input?: URLPatternInput, baseURL?: string): URLPatternResult | null;\n    test(input?: URLPatternInput, baseURL?: string): boolean;\n}\n\ndeclare var URLPattern: {\n    prototype: URLPattern;\n    new(input: URLPatternInput, baseURL: string, options?: URLPatternOptions): URLPattern;\n    new(input?: URLPatternInput, options?: URLPatternOptions): URLPattern;\n    isInstance: IsInstance<URLPattern>;\n};\n\ninterface URLSearchParams {\n    readonly size: number;\n    append(name: string, value: string): void;\n    delete(name: string, value?: string): void;\n    get(name: string): string | null;\n    getAll(name: string): string[];\n    has(name: string, value?: string): boolean;\n    set(name: string, value: string): void;\n    sort(): void;\n    toString(): string;\n    forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void;\n}\n\ndeclare var URLSearchParams: {\n    prototype: URLSearchParams;\n    new(init?: string[][] | Record<string, string> | string): URLSearchParams;\n    isInstance: IsInstance<URLSearchParams>;\n};\n\ninterface UniFFIPointer {\n}\n\ndeclare var UniFFIPointer: {\n    prototype: UniFFIPointer;\n    new(): UniFFIPointer;\n    isInstance: IsInstance<UniFFIPointer>;\n};\n\ninterface UserActivation {\n    readonly hasBeenActive: boolean;\n    readonly isActive: boolean;\n}\n\ndeclare var UserActivation: {\n    prototype: UserActivation;\n    new(): UserActivation;\n    isInstance: IsInstance<UserActivation>;\n};\n\ninterface UserProximityEvent extends Event {\n    readonly near: boolean;\n}\n\ndeclare var UserProximityEvent: {\n    prototype: UserProximityEvent;\n    new(type: string, eventInitDict?: UserProximityEventInit): UserProximityEvent;\n    isInstance: IsInstance<UserProximityEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface VRDisplay extends EventTarget {\n    readonly capabilities: VRDisplayCapabilities;\n    depthFar: number;\n    depthNear: number;\n    readonly displayId: number;\n    readonly displayName: string;\n    groupMask: number;\n    readonly isConnected: boolean;\n    readonly isPresenting: boolean;\n    readonly presentingGroups: number;\n    readonly stageParameters: VRStageParameters | null;\n    cancelAnimationFrame(handle: number): void;\n    exitPresent(): Promise<void>;\n    getEyeParameters(whichEye: VREye): VREyeParameters;\n    getFrameData(frameData: VRFrameData): boolean;\n    getLayers(): VRLayer[];\n    getPose(): VRPose;\n    requestAnimationFrame(callback: FrameRequestCallback): number;\n    requestPresent(layers: VRLayer[]): Promise<void>;\n    resetPose(): void;\n    submitFrame(): void;\n}\n\ndeclare var VRDisplay: {\n    prototype: VRDisplay;\n    new(): VRDisplay;\n    isInstance: IsInstance<VRDisplay>;\n};\n\n/** Available only in secure contexts. */\ninterface VRDisplayCapabilities {\n    readonly canPresent: boolean;\n    readonly hasExternalDisplay: boolean;\n    readonly hasOrientation: boolean;\n    readonly hasPosition: boolean;\n    readonly maxLayers: number;\n}\n\ndeclare var VRDisplayCapabilities: {\n    prototype: VRDisplayCapabilities;\n    new(): VRDisplayCapabilities;\n    isInstance: IsInstance<VRDisplayCapabilities>;\n};\n\n/** Available only in secure contexts. */\ninterface VRDisplayEvent extends Event {\n    readonly display: VRDisplay;\n    readonly reason: VRDisplayEventReason | null;\n}\n\ndeclare var VRDisplayEvent: {\n    prototype: VRDisplayEvent;\n    new(type: string, eventInitDict: VRDisplayEventInit): VRDisplayEvent;\n    isInstance: IsInstance<VRDisplayEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface VREyeParameters {\n    readonly fieldOfView: VRFieldOfView;\n    readonly offset: Float32Array;\n    readonly renderHeight: number;\n    readonly renderWidth: number;\n}\n\ndeclare var VREyeParameters: {\n    prototype: VREyeParameters;\n    new(): VREyeParameters;\n    isInstance: IsInstance<VREyeParameters>;\n};\n\n/** Available only in secure contexts. */\ninterface VRFieldOfView {\n    readonly downDegrees: number;\n    readonly leftDegrees: number;\n    readonly rightDegrees: number;\n    readonly upDegrees: number;\n}\n\ndeclare var VRFieldOfView: {\n    prototype: VRFieldOfView;\n    new(): VRFieldOfView;\n    isInstance: IsInstance<VRFieldOfView>;\n};\n\n/** Available only in secure contexts. */\ninterface VRFrameData {\n    readonly leftProjectionMatrix: Float32Array;\n    readonly leftViewMatrix: Float32Array;\n    readonly pose: VRPose;\n    readonly rightProjectionMatrix: Float32Array;\n    readonly rightViewMatrix: Float32Array;\n    readonly timestamp: DOMHighResTimeStamp;\n}\n\ndeclare var VRFrameData: {\n    prototype: VRFrameData;\n    new(): VRFrameData;\n    isInstance: IsInstance<VRFrameData>;\n};\n\ninterface VRMockController {\n    axisCount: number;\n    buttonCount: number;\n    capAngularAcceleration: boolean;\n    capLinearAcceleration: boolean;\n    capOrientation: boolean;\n    capPosition: boolean;\n    hand: GamepadHand;\n    hapticCount: number;\n    clear(): void;\n    create(): void;\n    setAxisValue(axisIdx: number, value: number): void;\n    setButtonPressed(buttonIdx: number, pressed: boolean): void;\n    setButtonTouched(buttonIdx: number, touched: boolean): void;\n    setButtonTrigger(buttonIdx: number, trigger: number): void;\n    setPose(position: Float32Array | null, linearVelocity: Float32Array | null, linearAcceleration: Float32Array | null, orientation: Float32Array | null, angularVelocity: Float32Array | null, angularAcceleration: Float32Array | null): void;\n}\n\ndeclare var VRMockController: {\n    prototype: VRMockController;\n    new(): VRMockController;\n    isInstance: IsInstance<VRMockController>;\n};\n\ninterface VRMockDisplay {\n    capAngularAcceleration: boolean;\n    capExternal: boolean;\n    capLinearAcceleration: boolean;\n    capMountDetection: boolean;\n    capOrientation: boolean;\n    capPosition: boolean;\n    capPositionEmulated: boolean;\n    capPresent: boolean;\n    capStageParameters: boolean;\n    create(): void;\n    setConnected(connected: boolean): void;\n    setEyeFOV(eye: VREye, upDegree: number, rightDegree: number, downDegree: number, leftDegree: number): void;\n    setEyeOffset(eye: VREye, offsetX: number, offsetY: number, offsetZ: number): void;\n    setEyeResolution(renderWidth: number, renderHeight: number): void;\n    setMounted(mounted: boolean): void;\n    setPose(position: Float32Array | null, linearVelocity: Float32Array | null, linearAcceleration: Float32Array | null, orientation: Float32Array | null, angularVelocity: Float32Array | null, angularAcceleration: Float32Array | null): void;\n    setSittingToStandingTransform(sittingToStandingTransform: Float32Array): void;\n    setStageSize(width: number, height: number): void;\n}\n\ndeclare var VRMockDisplay: {\n    prototype: VRMockDisplay;\n    new(): VRMockDisplay;\n    isInstance: IsInstance<VRMockDisplay>;\n};\n\n/** Available only in secure contexts. */\ninterface VRPose {\n    readonly angularAcceleration: Float32Array | null;\n    readonly angularVelocity: Float32Array | null;\n    readonly linearAcceleration: Float32Array | null;\n    readonly linearVelocity: Float32Array | null;\n    readonly orientation: Float32Array | null;\n    readonly position: Float32Array | null;\n}\n\ndeclare var VRPose: {\n    prototype: VRPose;\n    new(): VRPose;\n    isInstance: IsInstance<VRPose>;\n};\n\ninterface VRServiceTest {\n    acknowledgeFrame(): void;\n    captureFrame(): void;\n    clearAll(): void;\n    commit(): void;\n    end(): void;\n    getVRController(controllerIdx: number): VRMockController;\n    getVRDisplay(): VRMockDisplay;\n    rejectFrame(): void;\n    reset(): Promise<void>;\n    run(): Promise<void>;\n    startTimer(): void;\n    stopTimer(): void;\n    timeout(duration: number): void;\n    wait(duration: number): void;\n    waitHapticIntensity(controllerIdx: number, hapticIdx: number, intensity: number): void;\n    waitPresentationEnd(): void;\n    waitPresentationStart(): void;\n    waitSubmit(): void;\n}\n\ndeclare var VRServiceTest: {\n    prototype: VRServiceTest;\n    new(): VRServiceTest;\n    isInstance: IsInstance<VRServiceTest>;\n};\n\n/** Available only in secure contexts. */\ninterface VRStageParameters {\n    readonly sittingToStandingTransform: Float32Array;\n    readonly sizeX: number;\n    readonly sizeZ: number;\n}\n\ndeclare var VRStageParameters: {\n    prototype: VRStageParameters;\n    new(): VRStageParameters;\n    isInstance: IsInstance<VRStageParameters>;\n};\n\ninterface VTTCue extends TextTrackCue {\n    align: AlignSetting;\n    readonly computedLine: number;\n    readonly computedPosition: number;\n    readonly computedPositionAlign: PositionAlignSetting;\n    displayState: HTMLDivElement | null;\n    readonly getActive: boolean;\n    readonly hasBeenReset: boolean;\n    line: number | AutoKeyword;\n    lineAlign: LineAlignSetting;\n    position: number | AutoKeyword;\n    positionAlign: PositionAlignSetting;\n    region: VTTRegion | null;\n    size: number;\n    snapToLines: boolean;\n    text: string;\n    vertical: DirectionSetting;\n    getCueAsHTML(): DocumentFragment;\n    addEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof TextTrackCueEventMap>(type: K, listener: (this: VTTCue, ev: TextTrackCueEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VTTCue: {\n    prototype: VTTCue;\n    new(startTime: number, endTime: number, text: string): VTTCue;\n    isInstance: IsInstance<VTTCue>;\n};\n\ninterface VTTRegion {\n    id: string;\n    lines: number;\n    regionAnchorX: number;\n    regionAnchorY: number;\n    scroll: ScrollSetting;\n    viewportAnchorX: number;\n    viewportAnchorY: number;\n    width: number;\n}\n\ndeclare var VTTRegion: {\n    prototype: VTTRegion;\n    new(): VTTRegion;\n    isInstance: IsInstance<VTTRegion>;\n};\n\ninterface ValidityState {\n    readonly badInput: boolean;\n    readonly customError: boolean;\n    readonly patternMismatch: boolean;\n    readonly rangeOverflow: boolean;\n    readonly rangeUnderflow: boolean;\n    readonly stepMismatch: boolean;\n    readonly tooLong: boolean;\n    readonly tooShort: boolean;\n    readonly typeMismatch: boolean;\n    readonly valid: boolean;\n    readonly valueMissing: boolean;\n}\n\ndeclare var ValidityState: {\n    prototype: ValidityState;\n    new(): ValidityState;\n    isInstance: IsInstance<ValidityState>;\n};\n\ninterface VideoColorSpace {\n    readonly fullRange: boolean | null;\n    readonly matrix: VideoMatrixCoefficients | null;\n    readonly primaries: VideoColorPrimaries | null;\n    readonly transfer: VideoTransferCharacteristics | null;\n    toJSON(): any;\n}\n\ndeclare var VideoColorSpace: {\n    prototype: VideoColorSpace;\n    new(init?: VideoColorSpaceInit): VideoColorSpace;\n    isInstance: IsInstance<VideoColorSpace>;\n};\n\ninterface VideoDecoderEventMap {\n    \"dequeue\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface VideoDecoder extends EventTarget {\n    readonly decodeQueueSize: number;\n    ondequeue: ((this: VideoDecoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoDecoderConfig): void;\n    decode(chunk: EncodedVideoChunk): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoDecoderEventMap>(type: K, listener: (this: VideoDecoder, ev: VideoDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoDecoder: {\n    prototype: VideoDecoder;\n    new(init: VideoDecoderInit): VideoDecoder;\n    isInstance: IsInstance<VideoDecoder>;\n    isConfigSupported(config: VideoDecoderConfig): Promise<VideoDecoderSupport>;\n};\n\ninterface VideoEncoderEventMap {\n    \"dequeue\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface VideoEncoder extends EventTarget {\n    readonly encodeQueueSize: number;\n    ondequeue: ((this: VideoEncoder, ev: Event) => any) | null;\n    readonly state: CodecState;\n    close(): void;\n    configure(config: VideoEncoderConfig): void;\n    encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void;\n    flush(): Promise<void>;\n    reset(): void;\n    addEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoEncoderEventMap>(type: K, listener: (this: VideoEncoder, ev: VideoEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VideoEncoder: {\n    prototype: VideoEncoder;\n    new(init: VideoEncoderInit): VideoEncoder;\n    isInstance: IsInstance<VideoEncoder>;\n    isConfigSupported(config: VideoEncoderConfig): Promise<VideoEncoderSupport>;\n};\n\ninterface VideoFrame {\n    readonly codedHeight: number;\n    readonly codedRect: DOMRectReadOnly | null;\n    readonly codedWidth: number;\n    readonly colorSpace: VideoColorSpace;\n    readonly displayHeight: number;\n    readonly displayWidth: number;\n    readonly duration: number | null;\n    readonly format: VideoPixelFormat | null;\n    readonly timestamp: number;\n    readonly visibleRect: DOMRectReadOnly | null;\n    allocationSize(options?: VideoFrameCopyToOptions): number;\n    clone(): VideoFrame;\n    close(): void;\n    copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise<PlaneLayout[]>;\n}\n\ndeclare var VideoFrame: {\n    prototype: VideoFrame;\n    new(imageElement: HTMLImageElement, init?: VideoFrameInit): VideoFrame;\n    new(svgImageElement: SVGImageElement, init?: VideoFrameInit): VideoFrame;\n    new(canvasElement: HTMLCanvasElement, init?: VideoFrameInit): VideoFrame;\n    new(videoElement: HTMLVideoElement, init?: VideoFrameInit): VideoFrame;\n    new(offscreenCanvas: OffscreenCanvas, init?: VideoFrameInit): VideoFrame;\n    new(imageBitmap: ImageBitmap, init?: VideoFrameInit): VideoFrame;\n    new(videoFrame: VideoFrame, init?: VideoFrameInit): VideoFrame;\n    new(bufferView: ArrayBufferView, init: VideoFrameBufferInit): VideoFrame;\n    new(buffer: ArrayBuffer, init: VideoFrameBufferInit): VideoFrame;\n    isInstance: IsInstance<VideoFrame>;\n};\n\ninterface VideoPlaybackQuality {\n    readonly creationTime: DOMHighResTimeStamp;\n    readonly droppedVideoFrames: number;\n    readonly totalVideoFrames: number;\n}\n\ndeclare var VideoPlaybackQuality: {\n    prototype: VideoPlaybackQuality;\n    new(): VideoPlaybackQuality;\n    isInstance: IsInstance<VideoPlaybackQuality>;\n};\n\ninterface VideoTrack {\n    readonly id: string;\n    readonly kind: string;\n    readonly label: string;\n    readonly language: string;\n    selected: boolean;\n}\n\ndeclare var VideoTrack: {\n    prototype: VideoTrack;\n    new(): VideoTrack;\n    isInstance: IsInstance<VideoTrack>;\n};\n\ninterface VideoTrackListEventMap {\n    \"addtrack\": Event;\n    \"change\": Event;\n    \"removetrack\": Event;\n}\n\ninterface VideoTrackList extends EventTarget {\n    readonly length: number;\n    onaddtrack: ((this: VideoTrackList, ev: Event) => any) | null;\n    onchange: ((this: VideoTrackList, ev: Event) => any) | null;\n    onremovetrack: ((this: VideoTrackList, ev: Event) => any) | null;\n    readonly selectedIndex: number;\n    getTrackById(id: string): VideoTrack | null;\n    addEventListener<K extends keyof VideoTrackListEventMap>(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VideoTrackListEventMap>(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [index: number]: VideoTrack;\n}\n\ndeclare var VideoTrackList: {\n    prototype: VideoTrackList;\n    new(): VideoTrackList;\n    isInstance: IsInstance<VideoTrackList>;\n};\n\ninterface ViewTransition {\n    readonly finished: Promise<void>;\n    readonly ready: Promise<void>;\n    readonly updateCallbackDone: Promise<void>;\n    skipTransition(): void;\n}\n\ndeclare var ViewTransition: {\n    prototype: ViewTransition;\n    new(): ViewTransition;\n    isInstance: IsInstance<ViewTransition>;\n};\n\ninterface VisualViewportEventMap {\n    \"resize\": Event;\n    \"scroll\": Event;\n}\n\ninterface VisualViewport extends EventTarget {\n    readonly height: number;\n    readonly offsetLeft: number;\n    readonly offsetTop: number;\n    onresize: ((this: VisualViewport, ev: Event) => any) | null;\n    onscroll: ((this: VisualViewport, ev: Event) => any) | null;\n    readonly pageLeft: number;\n    readonly pageTop: number;\n    readonly scale: number;\n    readonly width: number;\n    addEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof VisualViewportEventMap>(type: K, listener: (this: VisualViewport, ev: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var VisualViewport: {\n    prototype: VisualViewport;\n    new(): VisualViewport;\n    isInstance: IsInstance<VisualViewport>;\n};\n\ninterface WEBGL_color_buffer_float {\n    readonly RGBA32F_EXT: 0x8814;\n    readonly RGB32F_EXT: 0x8815;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: 0x8211;\n    readonly UNSIGNED_NORMALIZED_EXT: 0x8C17;\n}\n\ninterface WEBGL_compressed_texture_astc {\n    getSupportedProfiles(): string[] | null;\n    readonly COMPRESSED_RGBA_ASTC_4x4_KHR: 0x93B0;\n    readonly COMPRESSED_RGBA_ASTC_5x4_KHR: 0x93B1;\n    readonly COMPRESSED_RGBA_ASTC_5x5_KHR: 0x93B2;\n    readonly COMPRESSED_RGBA_ASTC_6x5_KHR: 0x93B3;\n    readonly COMPRESSED_RGBA_ASTC_6x6_KHR: 0x93B4;\n    readonly COMPRESSED_RGBA_ASTC_8x5_KHR: 0x93B5;\n    readonly COMPRESSED_RGBA_ASTC_8x6_KHR: 0x93B6;\n    readonly COMPRESSED_RGBA_ASTC_8x8_KHR: 0x93B7;\n    readonly COMPRESSED_RGBA_ASTC_10x5_KHR: 0x93B8;\n    readonly COMPRESSED_RGBA_ASTC_10x6_KHR: 0x93B9;\n    readonly COMPRESSED_RGBA_ASTC_10x8_KHR: 0x93BA;\n    readonly COMPRESSED_RGBA_ASTC_10x10_KHR: 0x93BB;\n    readonly COMPRESSED_RGBA_ASTC_12x10_KHR: 0x93BC;\n    readonly COMPRESSED_RGBA_ASTC_12x12_KHR: 0x93BD;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 0x93D0;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 0x93D1;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 0x93D2;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 0x93D3;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 0x93D4;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 0x93D5;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 0x93D6;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 0x93D7;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 0x93D8;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 0x93D9;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 0x93DA;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 0x93DB;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 0x93DC;\n    readonly COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 0x93DD;\n}\n\ninterface WEBGL_compressed_texture_etc {\n    readonly COMPRESSED_R11_EAC: 0x9270;\n    readonly COMPRESSED_SIGNED_R11_EAC: 0x9271;\n    readonly COMPRESSED_RG11_EAC: 0x9272;\n    readonly COMPRESSED_SIGNED_RG11_EAC: 0x9273;\n    readonly COMPRESSED_RGB8_ETC2: 0x9274;\n    readonly COMPRESSED_SRGB8_ETC2: 0x9275;\n    readonly COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9276;\n    readonly COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9277;\n    readonly COMPRESSED_RGBA8_ETC2_EAC: 0x9278;\n    readonly COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9279;\n}\n\ninterface WEBGL_compressed_texture_etc1 {\n    readonly COMPRESSED_RGB_ETC1_WEBGL: 0x8D64;\n}\n\ninterface WEBGL_compressed_texture_pvrtc {\n    readonly COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8C00;\n    readonly COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8C01;\n    readonly COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8C02;\n    readonly COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8C03;\n}\n\ninterface WEBGL_compressed_texture_s3tc {\n    readonly COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83F0;\n    readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83F1;\n    readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83F2;\n    readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83F3;\n}\n\ninterface WEBGL_compressed_texture_s3tc_srgb {\n    readonly COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8C4C;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8C4D;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8C4E;\n    readonly COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8C4F;\n}\n\ninterface WEBGL_debug_renderer_info {\n    readonly UNMASKED_VENDOR_WEBGL: 0x9245;\n    readonly UNMASKED_RENDERER_WEBGL: 0x9246;\n}\n\ninterface WEBGL_debug_shaders {\n    getTranslatedShaderSource(shader: WebGLShader): string;\n}\n\ninterface WEBGL_depth_texture {\n    readonly UNSIGNED_INT_24_8_WEBGL: 0x84FA;\n}\n\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: GLenum[]): void;\n    readonly COLOR_ATTACHMENT0_WEBGL: 0x8CE0;\n    readonly COLOR_ATTACHMENT1_WEBGL: 0x8CE1;\n    readonly COLOR_ATTACHMENT2_WEBGL: 0x8CE2;\n    readonly COLOR_ATTACHMENT3_WEBGL: 0x8CE3;\n    readonly COLOR_ATTACHMENT4_WEBGL: 0x8CE4;\n    readonly COLOR_ATTACHMENT5_WEBGL: 0x8CE5;\n    readonly COLOR_ATTACHMENT6_WEBGL: 0x8CE6;\n    readonly COLOR_ATTACHMENT7_WEBGL: 0x8CE7;\n    readonly COLOR_ATTACHMENT8_WEBGL: 0x8CE8;\n    readonly COLOR_ATTACHMENT9_WEBGL: 0x8CE9;\n    readonly COLOR_ATTACHMENT10_WEBGL: 0x8CEA;\n    readonly COLOR_ATTACHMENT11_WEBGL: 0x8CEB;\n    readonly COLOR_ATTACHMENT12_WEBGL: 0x8CEC;\n    readonly COLOR_ATTACHMENT13_WEBGL: 0x8CED;\n    readonly COLOR_ATTACHMENT14_WEBGL: 0x8CEE;\n    readonly COLOR_ATTACHMENT15_WEBGL: 0x8CEF;\n    readonly DRAW_BUFFER0_WEBGL: 0x8825;\n    readonly DRAW_BUFFER1_WEBGL: 0x8826;\n    readonly DRAW_BUFFER2_WEBGL: 0x8827;\n    readonly DRAW_BUFFER3_WEBGL: 0x8828;\n    readonly DRAW_BUFFER4_WEBGL: 0x8829;\n    readonly DRAW_BUFFER5_WEBGL: 0x882A;\n    readonly DRAW_BUFFER6_WEBGL: 0x882B;\n    readonly DRAW_BUFFER7_WEBGL: 0x882C;\n    readonly DRAW_BUFFER8_WEBGL: 0x882D;\n    readonly DRAW_BUFFER9_WEBGL: 0x882E;\n    readonly DRAW_BUFFER10_WEBGL: 0x882F;\n    readonly DRAW_BUFFER11_WEBGL: 0x8830;\n    readonly DRAW_BUFFER12_WEBGL: 0x8831;\n    readonly DRAW_BUFFER13_WEBGL: 0x8832;\n    readonly DRAW_BUFFER14_WEBGL: 0x8833;\n    readonly DRAW_BUFFER15_WEBGL: 0x8834;\n    readonly MAX_COLOR_ATTACHMENTS_WEBGL: 0x8CDF;\n    readonly MAX_DRAW_BUFFERS_WEBGL: 0x8824;\n}\n\ninterface WEBGL_explicit_present {\n    present(): void;\n}\n\ninterface WEBGL_lose_context {\n    loseContext(): void;\n    restoreContext(): void;\n}\n\ninterface WEBGL_provoking_vertex {\n    provokingVertexWEBGL(provokeMode: GLenum): void;\n    readonly FIRST_VERTEX_CONVENTION_WEBGL: 0x8E4D;\n    readonly LAST_VERTEX_CONVENTION_WEBGL: 0x8E4E;\n    readonly PROVOKING_VERTEX_WEBGL: 0x8E4F;\n}\n\n/** Available only in secure contexts. */\ninterface WGSLLanguageFeatures {\n    forEach(callbackfn: (value: string, key: string, parent: WGSLLanguageFeatures) => void, thisArg?: any): void;\n}\n\ndeclare var WGSLLanguageFeatures: {\n    prototype: WGSLLanguageFeatures;\n    new(): WGSLLanguageFeatures;\n    isInstance: IsInstance<WGSLLanguageFeatures>;\n};\n\n/** Available only in secure contexts. */\ninterface WakeLock {\n    request(type?: WakeLockType): Promise<WakeLockSentinel>;\n}\n\ndeclare var WakeLock: {\n    prototype: WakeLock;\n    new(): WakeLock;\n    isInstance: IsInstance<WakeLock>;\n};\n\ninterface WakeLockSentinelEventMap {\n    \"release\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface WakeLockSentinel extends EventTarget {\n    onrelease: ((this: WakeLockSentinel, ev: Event) => any) | null;\n    readonly released: boolean;\n    readonly type: WakeLockType;\n    release(): Promise<void>;\n    addEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WakeLockSentinelEventMap>(type: K, listener: (this: WakeLockSentinel, ev: WakeLockSentinelEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WakeLockSentinel: {\n    prototype: WakeLockSentinel;\n    new(): WakeLockSentinel;\n    isInstance: IsInstance<WakeLockSentinel>;\n};\n\ninterface WaveShaperNode extends AudioNode, AudioNodePassThrough {\n    curve: Float32Array | null;\n    oversample: OverSampleType;\n}\n\ndeclare var WaveShaperNode: {\n    prototype: WaveShaperNode;\n    new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode;\n    isInstance: IsInstance<WaveShaperNode>;\n};\n\ninterface WebBrowserPersistable {\n    startPersistence(aContext: BrowsingContext | null, aRecv: nsIWebBrowserPersistDocumentReceiver): void;\n}\n\ninterface WebExtensionContentScript extends MozDocumentMatcher {\n    readonly cssPaths: string[];\n    readonly jsPaths: string[];\n    readonly runAt: ContentScriptRunAt;\n    readonly world: ContentScriptExecutionWorld;\n    readonly worldId: string | null;\n}\n\ndeclare var WebExtensionContentScript: {\n    prototype: WebExtensionContentScript;\n    new(extension: WebExtensionPolicy, options: WebExtensionContentScriptInit): WebExtensionContentScript;\n    isInstance: IsInstance<WebExtensionContentScript>;\n};\n\ninterface WebExtensionPolicy {\n    active: boolean;\n    allowedOrigins: MatchPatternSet;\n    readonly baseCSP: string;\n    readonly baseURL: string;\n    readonly browsingContextGroupId: number;\n    readonly contentScripts: WebExtensionContentScript[];\n    readonly extensionPageCSP: string;\n    readonly id: string;\n    ignoreQuarantine: boolean;\n    readonly isPrivileged: boolean;\n    readonly manifestVersion: number;\n    readonly mozExtensionHostname: string;\n    readonly name: string;\n    permissions: string[];\n    readonly privateBrowsingAllowed: boolean;\n    readonly readyPromise: any;\n    readonly temporarilyInstalled: boolean;\n    readonly type: string;\n    canAccessURI(uri: URI, explicit?: boolean, checkRestricted?: boolean, allowFilePermission?: boolean): boolean;\n    canAccessWindow(window: WindowProxy): boolean;\n    getURL(path?: string): string;\n    hasPermission(permission: string): boolean;\n    injectContentScripts(): void;\n    isManifestBackgroundWorker(workerURL: string): boolean;\n    isWebAccessiblePath(pathname: string): boolean;\n    localize(unlocalizedText: string): string;\n    quarantinedFromURI(uri: URI): boolean;\n    registerContentScript(script: WebExtensionContentScript): void;\n    sourceMayAccessPath(sourceURI: URI, pathname: string): boolean;\n    unregisterContentScript(script: WebExtensionContentScript): void;\n}\n\ndeclare var WebExtensionPolicy: {\n    prototype: WebExtensionPolicy;\n    new(options: WebExtensionInit): WebExtensionPolicy;\n    readonly backgroundServiceWorkerEnabled: boolean;\n    readonly isExtensionProcess: boolean;\n    isInstance: IsInstance<WebExtensionPolicy>;\n    readonly quarantinedDomainsEnabled: boolean;\n    readonly useRemoteWebExtensions: boolean;\n    getActiveExtensions(): WebExtensionPolicy[];\n    getByHostname(hostname: string): WebExtensionPolicy | null;\n    getByID(id: string): WebExtensionPolicy | null;\n    getByURI(uri: URI): WebExtensionPolicy | null;\n    isQuarantinedURI(uri: URI): boolean;\n    isRestrictedURI(uri: URI): boolean;\n};\n\ninterface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGLRenderingContextBase {\n}\n\ndeclare var WebGL2RenderingContext: {\n    prototype: WebGL2RenderingContext;\n    new(): WebGL2RenderingContext;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGBA8: 0x8058;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n    isInstance: IsInstance<WebGL2RenderingContext>;\n};\n\ninterface WebGL2RenderingContextBase {\n    beginQuery(target: GLenum, query: WebGLQuery): void;\n    beginTransformFeedback(primitiveMode: GLenum): void;\n    bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null): void;\n    bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;\n    bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;\n    bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null): void;\n    bindVertexArray(array: WebGLVertexArrayObject | null): void;\n    blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBuffer | null, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum): void;\n    bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint): void;\n    bufferSubData(target: GLenum, offset: GLintptr, srcData: AllowSharedBufferSource): void;\n    bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint): void;\n    clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void;\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint): void;\n    clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\n    compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void;\n    copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;\n    copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createQuery(): WebGLQuery;\n    createSampler(): WebGLSampler;\n    createTransformFeedback(): WebGLTransformFeedback;\n    createVertexArray(): WebGLVertexArrayObject;\n    deleteQuery(query: WebGLQuery | null): void;\n    deleteSampler(sampler: WebGLSampler | null): void;\n    deleteSync(sync: WebGLSync | null): void;\n    deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;\n    deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;\n    drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void;\n    drawBuffers(buffers: GLenum[]): void;\n    drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void;\n    drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    endQuery(target: GLenum): void;\n    endTransformFeedback(): void;\n    fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync | null;\n    framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture | null, level: GLint, layer: GLint): void;\n    getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string | null;\n    getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any;\n    getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstData: ArrayBufferView, dstOffset?: GLuint, length?: GLuint): void;\n    getFragDataLocation(program: WebGLProgram, name: string): GLint;\n    getIndexedParameter(target: GLenum, index: GLuint): any;\n    getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any;\n    getQuery(target: GLenum, pname: GLenum): any;\n    getQueryParameter(query: WebGLQuery, pname: GLenum): any;\n    getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any;\n    getSyncParameter(sync: WebGLSync, pname: GLenum): any;\n    getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint;\n    getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    isQuery(query: WebGLQuery | null): GLboolean;\n    isSampler(sampler: WebGLSampler | null): GLboolean;\n    isSync(sync: WebGLSync | null): GLboolean;\n    isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;\n    isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;\n    pauseTransformFeedback(): void;\n    readBuffer(src: GLenum): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint): void;\n    renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    resumeTransformFeedback(): void;\n    samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void;\n    samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageData): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageData): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageData): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView | null): void;\n    texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;\n    texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageData): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: ImageData): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLCanvasElement): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLImageElement): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLVideoElement): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: ImageBitmap): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: ImageData): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: OffscreenCanvas): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: VideoFrame): void;\n    texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView | null, srcOffset?: GLuint): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void;\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void;\n    vertexAttribDivisor(index: GLuint, divisor: GLuint): void;\n    vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    vertexAttribI4iv(index: GLuint, values: Int32List): void;\n    vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;\n    vertexAttribI4uiv(index: GLuint, values: Uint32List): void;\n    vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void;\n    waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void;\n    readonly READ_BUFFER: 0x0C02;\n    readonly UNPACK_ROW_LENGTH: 0x0CF2;\n    readonly UNPACK_SKIP_ROWS: 0x0CF3;\n    readonly UNPACK_SKIP_PIXELS: 0x0CF4;\n    readonly PACK_ROW_LENGTH: 0x0D02;\n    readonly PACK_SKIP_ROWS: 0x0D03;\n    readonly PACK_SKIP_PIXELS: 0x0D04;\n    readonly COLOR: 0x1800;\n    readonly DEPTH: 0x1801;\n    readonly STENCIL: 0x1802;\n    readonly RED: 0x1903;\n    readonly RGB8: 0x8051;\n    readonly RGBA8: 0x8058;\n    readonly RGB10_A2: 0x8059;\n    readonly TEXTURE_BINDING_3D: 0x806A;\n    readonly UNPACK_SKIP_IMAGES: 0x806D;\n    readonly UNPACK_IMAGE_HEIGHT: 0x806E;\n    readonly TEXTURE_3D: 0x806F;\n    readonly TEXTURE_WRAP_R: 0x8072;\n    readonly MAX_3D_TEXTURE_SIZE: 0x8073;\n    readonly UNSIGNED_INT_2_10_10_10_REV: 0x8368;\n    readonly MAX_ELEMENTS_VERTICES: 0x80E8;\n    readonly MAX_ELEMENTS_INDICES: 0x80E9;\n    readonly TEXTURE_MIN_LOD: 0x813A;\n    readonly TEXTURE_MAX_LOD: 0x813B;\n    readonly TEXTURE_BASE_LEVEL: 0x813C;\n    readonly TEXTURE_MAX_LEVEL: 0x813D;\n    readonly MIN: 0x8007;\n    readonly MAX: 0x8008;\n    readonly DEPTH_COMPONENT24: 0x81A6;\n    readonly MAX_TEXTURE_LOD_BIAS: 0x84FD;\n    readonly TEXTURE_COMPARE_MODE: 0x884C;\n    readonly TEXTURE_COMPARE_FUNC: 0x884D;\n    readonly CURRENT_QUERY: 0x8865;\n    readonly QUERY_RESULT: 0x8866;\n    readonly QUERY_RESULT_AVAILABLE: 0x8867;\n    readonly STREAM_READ: 0x88E1;\n    readonly STREAM_COPY: 0x88E2;\n    readonly STATIC_READ: 0x88E5;\n    readonly STATIC_COPY: 0x88E6;\n    readonly DYNAMIC_READ: 0x88E9;\n    readonly DYNAMIC_COPY: 0x88EA;\n    readonly MAX_DRAW_BUFFERS: 0x8824;\n    readonly DRAW_BUFFER0: 0x8825;\n    readonly DRAW_BUFFER1: 0x8826;\n    readonly DRAW_BUFFER2: 0x8827;\n    readonly DRAW_BUFFER3: 0x8828;\n    readonly DRAW_BUFFER4: 0x8829;\n    readonly DRAW_BUFFER5: 0x882A;\n    readonly DRAW_BUFFER6: 0x882B;\n    readonly DRAW_BUFFER7: 0x882C;\n    readonly DRAW_BUFFER8: 0x882D;\n    readonly DRAW_BUFFER9: 0x882E;\n    readonly DRAW_BUFFER10: 0x882F;\n    readonly DRAW_BUFFER11: 0x8830;\n    readonly DRAW_BUFFER12: 0x8831;\n    readonly DRAW_BUFFER13: 0x8832;\n    readonly DRAW_BUFFER14: 0x8833;\n    readonly DRAW_BUFFER15: 0x8834;\n    readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: 0x8B49;\n    readonly MAX_VERTEX_UNIFORM_COMPONENTS: 0x8B4A;\n    readonly SAMPLER_3D: 0x8B5F;\n    readonly SAMPLER_2D_SHADOW: 0x8B62;\n    readonly FRAGMENT_SHADER_DERIVATIVE_HINT: 0x8B8B;\n    readonly PIXEL_PACK_BUFFER: 0x88EB;\n    readonly PIXEL_UNPACK_BUFFER: 0x88EC;\n    readonly PIXEL_PACK_BUFFER_BINDING: 0x88ED;\n    readonly PIXEL_UNPACK_BUFFER_BINDING: 0x88EF;\n    readonly FLOAT_MAT2x3: 0x8B65;\n    readonly FLOAT_MAT2x4: 0x8B66;\n    readonly FLOAT_MAT3x2: 0x8B67;\n    readonly FLOAT_MAT3x4: 0x8B68;\n    readonly FLOAT_MAT4x2: 0x8B69;\n    readonly FLOAT_MAT4x3: 0x8B6A;\n    readonly SRGB: 0x8C40;\n    readonly SRGB8: 0x8C41;\n    readonly SRGB8_ALPHA8: 0x8C43;\n    readonly COMPARE_REF_TO_TEXTURE: 0x884E;\n    readonly RGBA32F: 0x8814;\n    readonly RGB32F: 0x8815;\n    readonly RGBA16F: 0x881A;\n    readonly RGB16F: 0x881B;\n    readonly VERTEX_ATTRIB_ARRAY_INTEGER: 0x88FD;\n    readonly MAX_ARRAY_TEXTURE_LAYERS: 0x88FF;\n    readonly MIN_PROGRAM_TEXEL_OFFSET: 0x8904;\n    readonly MAX_PROGRAM_TEXEL_OFFSET: 0x8905;\n    readonly MAX_VARYING_COMPONENTS: 0x8B4B;\n    readonly TEXTURE_2D_ARRAY: 0x8C1A;\n    readonly TEXTURE_BINDING_2D_ARRAY: 0x8C1D;\n    readonly R11F_G11F_B10F: 0x8C3A;\n    readonly UNSIGNED_INT_10F_11F_11F_REV: 0x8C3B;\n    readonly RGB9_E5: 0x8C3D;\n    readonly UNSIGNED_INT_5_9_9_9_REV: 0x8C3E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_MODE: 0x8C7F;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 0x8C80;\n    readonly TRANSFORM_FEEDBACK_VARYINGS: 0x8C83;\n    readonly TRANSFORM_FEEDBACK_BUFFER_START: 0x8C84;\n    readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: 0x8C85;\n    readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 0x8C88;\n    readonly RASTERIZER_DISCARD: 0x8C89;\n    readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 0x8C8A;\n    readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 0x8C8B;\n    readonly INTERLEAVED_ATTRIBS: 0x8C8C;\n    readonly SEPARATE_ATTRIBS: 0x8C8D;\n    readonly TRANSFORM_FEEDBACK_BUFFER: 0x8C8E;\n    readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: 0x8C8F;\n    readonly RGBA32UI: 0x8D70;\n    readonly RGB32UI: 0x8D71;\n    readonly RGBA16UI: 0x8D76;\n    readonly RGB16UI: 0x8D77;\n    readonly RGBA8UI: 0x8D7C;\n    readonly RGB8UI: 0x8D7D;\n    readonly RGBA32I: 0x8D82;\n    readonly RGB32I: 0x8D83;\n    readonly RGBA16I: 0x8D88;\n    readonly RGB16I: 0x8D89;\n    readonly RGBA8I: 0x8D8E;\n    readonly RGB8I: 0x8D8F;\n    readonly RED_INTEGER: 0x8D94;\n    readonly RGB_INTEGER: 0x8D98;\n    readonly RGBA_INTEGER: 0x8D99;\n    readonly SAMPLER_2D_ARRAY: 0x8DC1;\n    readonly SAMPLER_2D_ARRAY_SHADOW: 0x8DC4;\n    readonly SAMPLER_CUBE_SHADOW: 0x8DC5;\n    readonly UNSIGNED_INT_VEC2: 0x8DC6;\n    readonly UNSIGNED_INT_VEC3: 0x8DC7;\n    readonly UNSIGNED_INT_VEC4: 0x8DC8;\n    readonly INT_SAMPLER_2D: 0x8DCA;\n    readonly INT_SAMPLER_3D: 0x8DCB;\n    readonly INT_SAMPLER_CUBE: 0x8DCC;\n    readonly INT_SAMPLER_2D_ARRAY: 0x8DCF;\n    readonly UNSIGNED_INT_SAMPLER_2D: 0x8DD2;\n    readonly UNSIGNED_INT_SAMPLER_3D: 0x8DD3;\n    readonly UNSIGNED_INT_SAMPLER_CUBE: 0x8DD4;\n    readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: 0x8DD7;\n    readonly DEPTH_COMPONENT32F: 0x8CAC;\n    readonly DEPTH32F_STENCIL8: 0x8CAD;\n    readonly FLOAT_32_UNSIGNED_INT_24_8_REV: 0x8DAD;\n    readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 0x8210;\n    readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 0x8211;\n    readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: 0x8212;\n    readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 0x8213;\n    readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 0x8214;\n    readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 0x8215;\n    readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 0x8216;\n    readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 0x8217;\n    readonly FRAMEBUFFER_DEFAULT: 0x8218;\n    readonly UNSIGNED_INT_24_8: 0x84FA;\n    readonly DEPTH24_STENCIL8: 0x88F0;\n    readonly UNSIGNED_NORMALIZED: 0x8C17;\n    readonly DRAW_FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly READ_FRAMEBUFFER: 0x8CA8;\n    readonly DRAW_FRAMEBUFFER: 0x8CA9;\n    readonly READ_FRAMEBUFFER_BINDING: 0x8CAA;\n    readonly RENDERBUFFER_SAMPLES: 0x8CAB;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 0x8CD4;\n    readonly MAX_COLOR_ATTACHMENTS: 0x8CDF;\n    readonly COLOR_ATTACHMENT1: 0x8CE1;\n    readonly COLOR_ATTACHMENT2: 0x8CE2;\n    readonly COLOR_ATTACHMENT3: 0x8CE3;\n    readonly COLOR_ATTACHMENT4: 0x8CE4;\n    readonly COLOR_ATTACHMENT5: 0x8CE5;\n    readonly COLOR_ATTACHMENT6: 0x8CE6;\n    readonly COLOR_ATTACHMENT7: 0x8CE7;\n    readonly COLOR_ATTACHMENT8: 0x8CE8;\n    readonly COLOR_ATTACHMENT9: 0x8CE9;\n    readonly COLOR_ATTACHMENT10: 0x8CEA;\n    readonly COLOR_ATTACHMENT11: 0x8CEB;\n    readonly COLOR_ATTACHMENT12: 0x8CEC;\n    readonly COLOR_ATTACHMENT13: 0x8CED;\n    readonly COLOR_ATTACHMENT14: 0x8CEE;\n    readonly COLOR_ATTACHMENT15: 0x8CEF;\n    readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 0x8D56;\n    readonly MAX_SAMPLES: 0x8D57;\n    readonly HALF_FLOAT: 0x140B;\n    readonly RG: 0x8227;\n    readonly RG_INTEGER: 0x8228;\n    readonly R8: 0x8229;\n    readonly RG8: 0x822B;\n    readonly R16F: 0x822D;\n    readonly R32F: 0x822E;\n    readonly RG16F: 0x822F;\n    readonly RG32F: 0x8230;\n    readonly R8I: 0x8231;\n    readonly R8UI: 0x8232;\n    readonly R16I: 0x8233;\n    readonly R16UI: 0x8234;\n    readonly R32I: 0x8235;\n    readonly R32UI: 0x8236;\n    readonly RG8I: 0x8237;\n    readonly RG8UI: 0x8238;\n    readonly RG16I: 0x8239;\n    readonly RG16UI: 0x823A;\n    readonly RG32I: 0x823B;\n    readonly RG32UI: 0x823C;\n    readonly VERTEX_ARRAY_BINDING: 0x85B5;\n    readonly R8_SNORM: 0x8F94;\n    readonly RG8_SNORM: 0x8F95;\n    readonly RGB8_SNORM: 0x8F96;\n    readonly RGBA8_SNORM: 0x8F97;\n    readonly SIGNED_NORMALIZED: 0x8F9C;\n    readonly COPY_READ_BUFFER: 0x8F36;\n    readonly COPY_WRITE_BUFFER: 0x8F37;\n    readonly COPY_READ_BUFFER_BINDING: 0x8F36;\n    readonly COPY_WRITE_BUFFER_BINDING: 0x8F37;\n    readonly UNIFORM_BUFFER: 0x8A11;\n    readonly UNIFORM_BUFFER_BINDING: 0x8A28;\n    readonly UNIFORM_BUFFER_START: 0x8A29;\n    readonly UNIFORM_BUFFER_SIZE: 0x8A2A;\n    readonly MAX_VERTEX_UNIFORM_BLOCKS: 0x8A2B;\n    readonly MAX_FRAGMENT_UNIFORM_BLOCKS: 0x8A2D;\n    readonly MAX_COMBINED_UNIFORM_BLOCKS: 0x8A2E;\n    readonly MAX_UNIFORM_BUFFER_BINDINGS: 0x8A2F;\n    readonly MAX_UNIFORM_BLOCK_SIZE: 0x8A30;\n    readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 0x8A31;\n    readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 0x8A33;\n    readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: 0x8A34;\n    readonly ACTIVE_UNIFORM_BLOCKS: 0x8A36;\n    readonly UNIFORM_TYPE: 0x8A37;\n    readonly UNIFORM_SIZE: 0x8A38;\n    readonly UNIFORM_BLOCK_INDEX: 0x8A3A;\n    readonly UNIFORM_OFFSET: 0x8A3B;\n    readonly UNIFORM_ARRAY_STRIDE: 0x8A3C;\n    readonly UNIFORM_MATRIX_STRIDE: 0x8A3D;\n    readonly UNIFORM_IS_ROW_MAJOR: 0x8A3E;\n    readonly UNIFORM_BLOCK_BINDING: 0x8A3F;\n    readonly UNIFORM_BLOCK_DATA_SIZE: 0x8A40;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: 0x8A42;\n    readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 0x8A43;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 0x8A44;\n    readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 0x8A46;\n    readonly INVALID_INDEX: 0xFFFFFFFF;\n    readonly MAX_VERTEX_OUTPUT_COMPONENTS: 0x9122;\n    readonly MAX_FRAGMENT_INPUT_COMPONENTS: 0x9125;\n    readonly MAX_SERVER_WAIT_TIMEOUT: 0x9111;\n    readonly OBJECT_TYPE: 0x9112;\n    readonly SYNC_CONDITION: 0x9113;\n    readonly SYNC_STATUS: 0x9114;\n    readonly SYNC_FLAGS: 0x9115;\n    readonly SYNC_FENCE: 0x9116;\n    readonly SYNC_GPU_COMMANDS_COMPLETE: 0x9117;\n    readonly UNSIGNALED: 0x9118;\n    readonly SIGNALED: 0x9119;\n    readonly ALREADY_SIGNALED: 0x911A;\n    readonly TIMEOUT_EXPIRED: 0x911B;\n    readonly CONDITION_SATISFIED: 0x911C;\n    readonly WAIT_FAILED: 0x911D;\n    readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;\n    readonly VERTEX_ATTRIB_ARRAY_DIVISOR: 0x88FE;\n    readonly ANY_SAMPLES_PASSED: 0x8C2F;\n    readonly ANY_SAMPLES_PASSED_CONSERVATIVE: 0x8D6A;\n    readonly SAMPLER_BINDING: 0x8919;\n    readonly RGB10_A2UI: 0x906F;\n    readonly INT_2_10_10_10_REV: 0x8D9F;\n    readonly TRANSFORM_FEEDBACK: 0x8E22;\n    readonly TRANSFORM_FEEDBACK_PAUSED: 0x8E23;\n    readonly TRANSFORM_FEEDBACK_ACTIVE: 0x8E24;\n    readonly TRANSFORM_FEEDBACK_BINDING: 0x8E25;\n    readonly TEXTURE_IMMUTABLE_FORMAT: 0x912F;\n    readonly MAX_ELEMENT_INDEX: 0x8D6B;\n    readonly TEXTURE_IMMUTABLE_LEVELS: 0x82DF;\n    readonly TIMEOUT_IGNORED: -1;\n    readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: 0x9247;\n}\n\ninterface WebGLActiveInfo {\n    readonly name: string;\n    readonly size: GLint;\n    readonly type: GLenum;\n}\n\ndeclare var WebGLActiveInfo: {\n    prototype: WebGLActiveInfo;\n    new(): WebGLActiveInfo;\n    isInstance: IsInstance<WebGLActiveInfo>;\n};\n\ninterface WebGLBuffer {\n}\n\ndeclare var WebGLBuffer: {\n    prototype: WebGLBuffer;\n    new(): WebGLBuffer;\n    isInstance: IsInstance<WebGLBuffer>;\n};\n\ninterface WebGLContextEvent extends Event {\n    readonly statusMessage: string;\n}\n\ndeclare var WebGLContextEvent: {\n    prototype: WebGLContextEvent;\n    new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent;\n    isInstance: IsInstance<WebGLContextEvent>;\n};\n\ninterface WebGLFramebuffer {\n}\n\ndeclare var WebGLFramebuffer: {\n    prototype: WebGLFramebuffer;\n    new(): WebGLFramebuffer;\n    isInstance: IsInstance<WebGLFramebuffer>;\n};\n\ninterface WebGLProgram {\n}\n\ndeclare var WebGLProgram: {\n    prototype: WebGLProgram;\n    new(): WebGLProgram;\n    isInstance: IsInstance<WebGLProgram>;\n};\n\ninterface WebGLQuery {\n}\n\ndeclare var WebGLQuery: {\n    prototype: WebGLQuery;\n    new(): WebGLQuery;\n    isInstance: IsInstance<WebGLQuery>;\n};\n\ninterface WebGLRenderbuffer {\n}\n\ndeclare var WebGLRenderbuffer: {\n    prototype: WebGLRenderbuffer;\n    new(): WebGLRenderbuffer;\n    isInstance: IsInstance<WebGLRenderbuffer>;\n};\n\ninterface WebGLRenderingContext extends WebGLRenderingContextBase {\n    bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;\n    bufferData(target: GLenum, data: ArrayBuffer | null, usage: GLenum): void;\n    bufferData(target: GLenum, data: ArrayBufferView, usage: GLenum): void;\n    bufferSubData(target: GLenum, offset: GLintptr, data: AllowSharedBufferSource): void;\n    compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\n    compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\n    readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, pixels: ImageBitmap): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, pixels: ImageData): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, image: HTMLImageElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, canvas: HTMLCanvasElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, video: HTMLVideoElement): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, canvas: OffscreenCanvas): void;\n    texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, videoFrame: VideoFrame): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, pixels: ImageBitmap): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, pixels: ImageData): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, image: HTMLImageElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, canvas: HTMLCanvasElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, video: HTMLVideoElement): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, canvas: OffscreenCanvas): void;\n    texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, videoFrame: VideoFrame): void;\n    uniform1fv(location: WebGLUniformLocation | null, data: Float32List): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Int32List): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Float32List): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Int32List): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Float32List): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Int32List): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Float32List): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Int32List): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List): void;\n}\n\ndeclare var WebGLRenderingContext: {\n    prototype: WebGLRenderingContext;\n    new(): WebGLRenderingContext;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n    isInstance: IsInstance<WebGLRenderingContext>;\n};\n\ninterface WebGLRenderingContextBase {\n    readonly canvas: CanvasSource | null;\n    drawingBufferColorSpace: PredefinedColorSpace;\n    readonly drawingBufferHeight: GLsizei;\n    readonly drawingBufferWidth: GLsizei;\n    unpackColorSpace: PredefinedColorSpace;\n    activeTexture(texture: GLenum): void;\n    attachShader(program: WebGLProgram, shader: WebGLShader): void;\n    bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void;\n    bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void;\n    bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void;\n    bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    bindTexture(target: GLenum, texture: WebGLTexture | null): void;\n    blendColor(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat): void;\n    blendEquation(mode: GLenum): void;\n    blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void;\n    blendFunc(sfactor: GLenum, dfactor: GLenum): void;\n    blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\n    checkFramebufferStatus(target: GLenum): GLenum;\n    clear(mask: GLbitfield): void;\n    clearColor(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat): void;\n    clearDepth(depth: GLclampf): void;\n    clearStencil(s: GLint): void;\n    colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\n    compileShader(shader: WebGLShader): void;\n    copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\n    copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    createBuffer(): WebGLBuffer;\n    createFramebuffer(): WebGLFramebuffer;\n    createProgram(): WebGLProgram;\n    createRenderbuffer(): WebGLRenderbuffer;\n    createShader(type: GLenum): WebGLShader | null;\n    createTexture(): WebGLTexture;\n    cullFace(mode: GLenum): void;\n    deleteBuffer(buffer: WebGLBuffer | null): void;\n    deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;\n    deleteProgram(program: WebGLProgram | null): void;\n    deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void;\n    deleteShader(shader: WebGLShader | null): void;\n    deleteTexture(texture: WebGLTexture | null): void;\n    depthFunc(func: GLenum): void;\n    depthMask(flag: GLboolean): void;\n    depthRange(zNear: GLclampf, zFar: GLclampf): void;\n    detachShader(program: WebGLProgram, shader: WebGLShader): void;\n    disable(cap: GLenum): void;\n    disableVertexAttribArray(index: GLuint): void;\n    drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;\n    drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;\n    enable(cap: GLenum): void;\n    enableVertexAttribArray(index: GLuint): void;\n    finish(): void;\n    flush(): void;\n    framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void;\n    framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void;\n    frontFace(mode: GLenum): void;\n    generateMipmap(target: GLenum): void;\n    getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;\n    getAttachedShaders(program: WebGLProgram): WebGLShader[] | null;\n    getAttribLocation(program: WebGLProgram, name: string): GLint;\n    getBufferParameter(target: GLenum, pname: GLenum): any;\n    getContextAttributes(): WebGLContextAttributes | null;\n    getError(): GLenum;\n    getExtension(name: string): any;\n    getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any;\n    getParameter(pname: GLenum): any;\n    getProgramInfoLog(program: WebGLProgram): string | null;\n    getProgramParameter(program: WebGLProgram, pname: GLenum): any;\n    getRenderbufferParameter(target: GLenum, pname: GLenum): any;\n    getShaderInfoLog(shader: WebGLShader): string | null;\n    getShaderParameter(shader: WebGLShader, pname: GLenum): any;\n    getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null;\n    getShaderSource(shader: WebGLShader): string | null;\n    getSupportedExtensions(): string[] | null;\n    getTexParameter(target: GLenum, pname: GLenum): any;\n    getUniform(program: WebGLProgram, location: WebGLUniformLocation): any;\n    getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;\n    getVertexAttrib(index: GLuint, pname: GLenum): any;\n    getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr;\n    hint(target: GLenum, mode: GLenum): void;\n    isBuffer(buffer: WebGLBuffer | null): GLboolean;\n    isContextLost(): boolean;\n    isEnabled(cap: GLenum): GLboolean;\n    isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean;\n    isProgram(program: WebGLProgram | null): GLboolean;\n    isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean;\n    isShader(shader: WebGLShader | null): GLboolean;\n    isTexture(texture: WebGLTexture | null): GLboolean;\n    lineWidth(width: GLfloat): void;\n    linkProgram(program: WebGLProgram): void;\n    makeXRCompatible(): Promise<void>;\n    pixelStorei(pname: GLenum, param: GLint): void;\n    polygonOffset(factor: GLfloat, units: GLfloat): void;\n    renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void;\n    sampleCoverage(value: GLclampf, invert: GLboolean): void;\n    scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    shaderSource(shader: WebGLShader, source: string): void;\n    stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\n    stencilMask(mask: GLuint): void;\n    stencilMaskSeparate(face: GLenum, mask: GLuint): void;\n    stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\n    texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void;\n    texParameteri(target: GLenum, pname: GLenum, param: GLint): void;\n    uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void;\n    uniform1i(location: WebGLUniformLocation | null, x: GLint): void;\n    uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void;\n    uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void;\n    uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void;\n    uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void;\n    useProgram(program: WebGLProgram | null): void;\n    validateProgram(program: WebGLProgram): void;\n    vertexAttrib1f(indx: GLuint, x: GLfloat): void;\n    vertexAttrib1fv(indx: GLuint, values: Float32List): void;\n    vertexAttrib2f(indx: GLuint, x: GLfloat, y: GLfloat): void;\n    vertexAttrib2fv(indx: GLuint, values: Float32List): void;\n    vertexAttrib3f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\n    vertexAttrib3fv(indx: GLuint, values: Float32List): void;\n    vertexAttrib4f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\n    vertexAttrib4fv(indx: GLuint, values: Float32List): void;\n    vertexAttribPointer(indx: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;\n    viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    readonly DEPTH_BUFFER_BIT: 0x00000100;\n    readonly STENCIL_BUFFER_BIT: 0x00000400;\n    readonly COLOR_BUFFER_BIT: 0x00004000;\n    readonly POINTS: 0x0000;\n    readonly LINES: 0x0001;\n    readonly LINE_LOOP: 0x0002;\n    readonly LINE_STRIP: 0x0003;\n    readonly TRIANGLES: 0x0004;\n    readonly TRIANGLE_STRIP: 0x0005;\n    readonly TRIANGLE_FAN: 0x0006;\n    readonly ZERO: 0;\n    readonly ONE: 1;\n    readonly SRC_COLOR: 0x0300;\n    readonly ONE_MINUS_SRC_COLOR: 0x0301;\n    readonly SRC_ALPHA: 0x0302;\n    readonly ONE_MINUS_SRC_ALPHA: 0x0303;\n    readonly DST_ALPHA: 0x0304;\n    readonly ONE_MINUS_DST_ALPHA: 0x0305;\n    readonly DST_COLOR: 0x0306;\n    readonly ONE_MINUS_DST_COLOR: 0x0307;\n    readonly SRC_ALPHA_SATURATE: 0x0308;\n    readonly FUNC_ADD: 0x8006;\n    readonly BLEND_EQUATION: 0x8009;\n    readonly BLEND_EQUATION_RGB: 0x8009;\n    readonly BLEND_EQUATION_ALPHA: 0x883D;\n    readonly FUNC_SUBTRACT: 0x800A;\n    readonly FUNC_REVERSE_SUBTRACT: 0x800B;\n    readonly BLEND_DST_RGB: 0x80C8;\n    readonly BLEND_SRC_RGB: 0x80C9;\n    readonly BLEND_DST_ALPHA: 0x80CA;\n    readonly BLEND_SRC_ALPHA: 0x80CB;\n    readonly CONSTANT_COLOR: 0x8001;\n    readonly ONE_MINUS_CONSTANT_COLOR: 0x8002;\n    readonly CONSTANT_ALPHA: 0x8003;\n    readonly ONE_MINUS_CONSTANT_ALPHA: 0x8004;\n    readonly BLEND_COLOR: 0x8005;\n    readonly ARRAY_BUFFER: 0x8892;\n    readonly ELEMENT_ARRAY_BUFFER: 0x8893;\n    readonly ARRAY_BUFFER_BINDING: 0x8894;\n    readonly ELEMENT_ARRAY_BUFFER_BINDING: 0x8895;\n    readonly STREAM_DRAW: 0x88E0;\n    readonly STATIC_DRAW: 0x88E4;\n    readonly DYNAMIC_DRAW: 0x88E8;\n    readonly BUFFER_SIZE: 0x8764;\n    readonly BUFFER_USAGE: 0x8765;\n    readonly CURRENT_VERTEX_ATTRIB: 0x8626;\n    readonly FRONT: 0x0404;\n    readonly BACK: 0x0405;\n    readonly FRONT_AND_BACK: 0x0408;\n    readonly CULL_FACE: 0x0B44;\n    readonly BLEND: 0x0BE2;\n    readonly DITHER: 0x0BD0;\n    readonly STENCIL_TEST: 0x0B90;\n    readonly DEPTH_TEST: 0x0B71;\n    readonly SCISSOR_TEST: 0x0C11;\n    readonly POLYGON_OFFSET_FILL: 0x8037;\n    readonly SAMPLE_ALPHA_TO_COVERAGE: 0x809E;\n    readonly SAMPLE_COVERAGE: 0x80A0;\n    readonly NO_ERROR: 0;\n    readonly INVALID_ENUM: 0x0500;\n    readonly INVALID_VALUE: 0x0501;\n    readonly INVALID_OPERATION: 0x0502;\n    readonly OUT_OF_MEMORY: 0x0505;\n    readonly CW: 0x0900;\n    readonly CCW: 0x0901;\n    readonly LINE_WIDTH: 0x0B21;\n    readonly ALIASED_POINT_SIZE_RANGE: 0x846D;\n    readonly ALIASED_LINE_WIDTH_RANGE: 0x846E;\n    readonly CULL_FACE_MODE: 0x0B45;\n    readonly FRONT_FACE: 0x0B46;\n    readonly DEPTH_RANGE: 0x0B70;\n    readonly DEPTH_WRITEMASK: 0x0B72;\n    readonly DEPTH_CLEAR_VALUE: 0x0B73;\n    readonly DEPTH_FUNC: 0x0B74;\n    readonly STENCIL_CLEAR_VALUE: 0x0B91;\n    readonly STENCIL_FUNC: 0x0B92;\n    readonly STENCIL_FAIL: 0x0B94;\n    readonly STENCIL_PASS_DEPTH_FAIL: 0x0B95;\n    readonly STENCIL_PASS_DEPTH_PASS: 0x0B96;\n    readonly STENCIL_REF: 0x0B97;\n    readonly STENCIL_VALUE_MASK: 0x0B93;\n    readonly STENCIL_WRITEMASK: 0x0B98;\n    readonly STENCIL_BACK_FUNC: 0x8800;\n    readonly STENCIL_BACK_FAIL: 0x8801;\n    readonly STENCIL_BACK_PASS_DEPTH_FAIL: 0x8802;\n    readonly STENCIL_BACK_PASS_DEPTH_PASS: 0x8803;\n    readonly STENCIL_BACK_REF: 0x8CA3;\n    readonly STENCIL_BACK_VALUE_MASK: 0x8CA4;\n    readonly STENCIL_BACK_WRITEMASK: 0x8CA5;\n    readonly VIEWPORT: 0x0BA2;\n    readonly SCISSOR_BOX: 0x0C10;\n    readonly COLOR_CLEAR_VALUE: 0x0C22;\n    readonly COLOR_WRITEMASK: 0x0C23;\n    readonly UNPACK_ALIGNMENT: 0x0CF5;\n    readonly PACK_ALIGNMENT: 0x0D05;\n    readonly MAX_TEXTURE_SIZE: 0x0D33;\n    readonly MAX_VIEWPORT_DIMS: 0x0D3A;\n    readonly SUBPIXEL_BITS: 0x0D50;\n    readonly RED_BITS: 0x0D52;\n    readonly GREEN_BITS: 0x0D53;\n    readonly BLUE_BITS: 0x0D54;\n    readonly ALPHA_BITS: 0x0D55;\n    readonly DEPTH_BITS: 0x0D56;\n    readonly STENCIL_BITS: 0x0D57;\n    readonly POLYGON_OFFSET_UNITS: 0x2A00;\n    readonly POLYGON_OFFSET_FACTOR: 0x8038;\n    readonly TEXTURE_BINDING_2D: 0x8069;\n    readonly SAMPLE_BUFFERS: 0x80A8;\n    readonly SAMPLES: 0x80A9;\n    readonly SAMPLE_COVERAGE_VALUE: 0x80AA;\n    readonly SAMPLE_COVERAGE_INVERT: 0x80AB;\n    readonly COMPRESSED_TEXTURE_FORMATS: 0x86A3;\n    readonly DONT_CARE: 0x1100;\n    readonly FASTEST: 0x1101;\n    readonly NICEST: 0x1102;\n    readonly GENERATE_MIPMAP_HINT: 0x8192;\n    readonly BYTE: 0x1400;\n    readonly UNSIGNED_BYTE: 0x1401;\n    readonly SHORT: 0x1402;\n    readonly UNSIGNED_SHORT: 0x1403;\n    readonly INT: 0x1404;\n    readonly UNSIGNED_INT: 0x1405;\n    readonly FLOAT: 0x1406;\n    readonly DEPTH_COMPONENT: 0x1902;\n    readonly ALPHA: 0x1906;\n    readonly RGB: 0x1907;\n    readonly RGBA: 0x1908;\n    readonly LUMINANCE: 0x1909;\n    readonly LUMINANCE_ALPHA: 0x190A;\n    readonly UNSIGNED_SHORT_4_4_4_4: 0x8033;\n    readonly UNSIGNED_SHORT_5_5_5_1: 0x8034;\n    readonly UNSIGNED_SHORT_5_6_5: 0x8363;\n    readonly FRAGMENT_SHADER: 0x8B30;\n    readonly VERTEX_SHADER: 0x8B31;\n    readonly MAX_VERTEX_ATTRIBS: 0x8869;\n    readonly MAX_VERTEX_UNIFORM_VECTORS: 0x8DFB;\n    readonly MAX_VARYING_VECTORS: 0x8DFC;\n    readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: 0x8B4D;\n    readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: 0x8B4C;\n    readonly MAX_TEXTURE_IMAGE_UNITS: 0x8872;\n    readonly MAX_FRAGMENT_UNIFORM_VECTORS: 0x8DFD;\n    readonly SHADER_TYPE: 0x8B4F;\n    readonly DELETE_STATUS: 0x8B80;\n    readonly LINK_STATUS: 0x8B82;\n    readonly VALIDATE_STATUS: 0x8B83;\n    readonly ATTACHED_SHADERS: 0x8B85;\n    readonly ACTIVE_UNIFORMS: 0x8B86;\n    readonly ACTIVE_ATTRIBUTES: 0x8B89;\n    readonly SHADING_LANGUAGE_VERSION: 0x8B8C;\n    readonly CURRENT_PROGRAM: 0x8B8D;\n    readonly NEVER: 0x0200;\n    readonly LESS: 0x0201;\n    readonly EQUAL: 0x0202;\n    readonly LEQUAL: 0x0203;\n    readonly GREATER: 0x0204;\n    readonly NOTEQUAL: 0x0205;\n    readonly GEQUAL: 0x0206;\n    readonly ALWAYS: 0x0207;\n    readonly KEEP: 0x1E00;\n    readonly REPLACE: 0x1E01;\n    readonly INCR: 0x1E02;\n    readonly DECR: 0x1E03;\n    readonly INVERT: 0x150A;\n    readonly INCR_WRAP: 0x8507;\n    readonly DECR_WRAP: 0x8508;\n    readonly VENDOR: 0x1F00;\n    readonly RENDERER: 0x1F01;\n    readonly VERSION: 0x1F02;\n    readonly NEAREST: 0x2600;\n    readonly LINEAR: 0x2601;\n    readonly NEAREST_MIPMAP_NEAREST: 0x2700;\n    readonly LINEAR_MIPMAP_NEAREST: 0x2701;\n    readonly NEAREST_MIPMAP_LINEAR: 0x2702;\n    readonly LINEAR_MIPMAP_LINEAR: 0x2703;\n    readonly TEXTURE_MAG_FILTER: 0x2800;\n    readonly TEXTURE_MIN_FILTER: 0x2801;\n    readonly TEXTURE_WRAP_S: 0x2802;\n    readonly TEXTURE_WRAP_T: 0x2803;\n    readonly TEXTURE_2D: 0x0DE1;\n    readonly TEXTURE: 0x1702;\n    readonly TEXTURE_CUBE_MAP: 0x8513;\n    readonly TEXTURE_BINDING_CUBE_MAP: 0x8514;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_X: 0x8515;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_X: 0x8516;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Y: 0x8517;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: 0x8518;\n    readonly TEXTURE_CUBE_MAP_POSITIVE_Z: 0x8519;\n    readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: 0x851A;\n    readonly MAX_CUBE_MAP_TEXTURE_SIZE: 0x851C;\n    readonly TEXTURE0: 0x84C0;\n    readonly TEXTURE1: 0x84C1;\n    readonly TEXTURE2: 0x84C2;\n    readonly TEXTURE3: 0x84C3;\n    readonly TEXTURE4: 0x84C4;\n    readonly TEXTURE5: 0x84C5;\n    readonly TEXTURE6: 0x84C6;\n    readonly TEXTURE7: 0x84C7;\n    readonly TEXTURE8: 0x84C8;\n    readonly TEXTURE9: 0x84C9;\n    readonly TEXTURE10: 0x84CA;\n    readonly TEXTURE11: 0x84CB;\n    readonly TEXTURE12: 0x84CC;\n    readonly TEXTURE13: 0x84CD;\n    readonly TEXTURE14: 0x84CE;\n    readonly TEXTURE15: 0x84CF;\n    readonly TEXTURE16: 0x84D0;\n    readonly TEXTURE17: 0x84D1;\n    readonly TEXTURE18: 0x84D2;\n    readonly TEXTURE19: 0x84D3;\n    readonly TEXTURE20: 0x84D4;\n    readonly TEXTURE21: 0x84D5;\n    readonly TEXTURE22: 0x84D6;\n    readonly TEXTURE23: 0x84D7;\n    readonly TEXTURE24: 0x84D8;\n    readonly TEXTURE25: 0x84D9;\n    readonly TEXTURE26: 0x84DA;\n    readonly TEXTURE27: 0x84DB;\n    readonly TEXTURE28: 0x84DC;\n    readonly TEXTURE29: 0x84DD;\n    readonly TEXTURE30: 0x84DE;\n    readonly TEXTURE31: 0x84DF;\n    readonly ACTIVE_TEXTURE: 0x84E0;\n    readonly REPEAT: 0x2901;\n    readonly CLAMP_TO_EDGE: 0x812F;\n    readonly MIRRORED_REPEAT: 0x8370;\n    readonly FLOAT_VEC2: 0x8B50;\n    readonly FLOAT_VEC3: 0x8B51;\n    readonly FLOAT_VEC4: 0x8B52;\n    readonly INT_VEC2: 0x8B53;\n    readonly INT_VEC3: 0x8B54;\n    readonly INT_VEC4: 0x8B55;\n    readonly BOOL: 0x8B56;\n    readonly BOOL_VEC2: 0x8B57;\n    readonly BOOL_VEC3: 0x8B58;\n    readonly BOOL_VEC4: 0x8B59;\n    readonly FLOAT_MAT2: 0x8B5A;\n    readonly FLOAT_MAT3: 0x8B5B;\n    readonly FLOAT_MAT4: 0x8B5C;\n    readonly SAMPLER_2D: 0x8B5E;\n    readonly SAMPLER_CUBE: 0x8B60;\n    readonly VERTEX_ATTRIB_ARRAY_ENABLED: 0x8622;\n    readonly VERTEX_ATTRIB_ARRAY_SIZE: 0x8623;\n    readonly VERTEX_ATTRIB_ARRAY_STRIDE: 0x8624;\n    readonly VERTEX_ATTRIB_ARRAY_TYPE: 0x8625;\n    readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: 0x886A;\n    readonly VERTEX_ATTRIB_ARRAY_POINTER: 0x8645;\n    readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 0x889F;\n    readonly IMPLEMENTATION_COLOR_READ_TYPE: 0x8B9A;\n    readonly IMPLEMENTATION_COLOR_READ_FORMAT: 0x8B9B;\n    readonly COMPILE_STATUS: 0x8B81;\n    readonly LOW_FLOAT: 0x8DF0;\n    readonly MEDIUM_FLOAT: 0x8DF1;\n    readonly HIGH_FLOAT: 0x8DF2;\n    readonly LOW_INT: 0x8DF3;\n    readonly MEDIUM_INT: 0x8DF4;\n    readonly HIGH_INT: 0x8DF5;\n    readonly FRAMEBUFFER: 0x8D40;\n    readonly RENDERBUFFER: 0x8D41;\n    readonly RGBA4: 0x8056;\n    readonly RGB5_A1: 0x8057;\n    readonly RGB565: 0x8D62;\n    readonly DEPTH_COMPONENT16: 0x81A5;\n    readonly STENCIL_INDEX8: 0x8D48;\n    readonly DEPTH_STENCIL: 0x84F9;\n    readonly RENDERBUFFER_WIDTH: 0x8D42;\n    readonly RENDERBUFFER_HEIGHT: 0x8D43;\n    readonly RENDERBUFFER_INTERNAL_FORMAT: 0x8D44;\n    readonly RENDERBUFFER_RED_SIZE: 0x8D50;\n    readonly RENDERBUFFER_GREEN_SIZE: 0x8D51;\n    readonly RENDERBUFFER_BLUE_SIZE: 0x8D52;\n    readonly RENDERBUFFER_ALPHA_SIZE: 0x8D53;\n    readonly RENDERBUFFER_DEPTH_SIZE: 0x8D54;\n    readonly RENDERBUFFER_STENCIL_SIZE: 0x8D55;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 0x8CD0;\n    readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 0x8CD1;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 0x8CD2;\n    readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 0x8CD3;\n    readonly COLOR_ATTACHMENT0: 0x8CE0;\n    readonly DEPTH_ATTACHMENT: 0x8D00;\n    readonly STENCIL_ATTACHMENT: 0x8D20;\n    readonly DEPTH_STENCIL_ATTACHMENT: 0x821A;\n    readonly NONE: 0;\n    readonly FRAMEBUFFER_COMPLETE: 0x8CD5;\n    readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 0x8CD6;\n    readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 0x8CD7;\n    readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 0x8CD9;\n    readonly FRAMEBUFFER_UNSUPPORTED: 0x8CDD;\n    readonly FRAMEBUFFER_BINDING: 0x8CA6;\n    readonly RENDERBUFFER_BINDING: 0x8CA7;\n    readonly MAX_RENDERBUFFER_SIZE: 0x84E8;\n    readonly INVALID_FRAMEBUFFER_OPERATION: 0x0506;\n    readonly UNPACK_FLIP_Y_WEBGL: 0x9240;\n    readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: 0x9241;\n    readonly CONTEXT_LOST_WEBGL: 0x9242;\n    readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: 0x9243;\n    readonly BROWSER_DEFAULT_WEBGL: 0x9244;\n}\n\ninterface WebGLSampler {\n}\n\ndeclare var WebGLSampler: {\n    prototype: WebGLSampler;\n    new(): WebGLSampler;\n    isInstance: IsInstance<WebGLSampler>;\n};\n\ninterface WebGLShader {\n}\n\ndeclare var WebGLShader: {\n    prototype: WebGLShader;\n    new(): WebGLShader;\n    isInstance: IsInstance<WebGLShader>;\n};\n\ninterface WebGLShaderPrecisionFormat {\n    readonly precision: GLint;\n    readonly rangeMax: GLint;\n    readonly rangeMin: GLint;\n}\n\ndeclare var WebGLShaderPrecisionFormat: {\n    prototype: WebGLShaderPrecisionFormat;\n    new(): WebGLShaderPrecisionFormat;\n    isInstance: IsInstance<WebGLShaderPrecisionFormat>;\n};\n\ninterface WebGLSync {\n}\n\ndeclare var WebGLSync: {\n    prototype: WebGLSync;\n    new(): WebGLSync;\n    isInstance: IsInstance<WebGLSync>;\n};\n\ninterface WebGLTexture {\n}\n\ndeclare var WebGLTexture: {\n    prototype: WebGLTexture;\n    new(): WebGLTexture;\n    isInstance: IsInstance<WebGLTexture>;\n};\n\ninterface WebGLTransformFeedback {\n}\n\ndeclare var WebGLTransformFeedback: {\n    prototype: WebGLTransformFeedback;\n    new(): WebGLTransformFeedback;\n    isInstance: IsInstance<WebGLTransformFeedback>;\n};\n\ninterface WebGLUniformLocation {\n}\n\ndeclare var WebGLUniformLocation: {\n    prototype: WebGLUniformLocation;\n    new(): WebGLUniformLocation;\n    isInstance: IsInstance<WebGLUniformLocation>;\n};\n\ninterface WebGLVertexArrayObject {\n}\n\ndeclare var WebGLVertexArrayObject: {\n    prototype: WebGLVertexArrayObject;\n    new(): WebGLVertexArrayObject;\n    isInstance: IsInstance<WebGLVertexArrayObject>;\n};\n\ninterface WebSocketEventMap {\n    \"close\": Event;\n    \"error\": Event;\n    \"message\": Event;\n    \"open\": Event;\n}\n\ninterface WebSocket extends EventTarget {\n    binaryType: BinaryType;\n    readonly bufferedAmount: number;\n    readonly extensions: string;\n    onclose: ((this: WebSocket, ev: Event) => any) | null;\n    onerror: ((this: WebSocket, ev: Event) => any) | null;\n    onmessage: ((this: WebSocket, ev: Event) => any) | null;\n    onopen: ((this: WebSocket, ev: Event) => any) | null;\n    readonly protocol: string;\n    readonly readyState: number;\n    readonly url: string;\n    close(code?: number, reason?: string): void;\n    send(data: string): void;\n    send(data: Blob): void;\n    send(data: ArrayBuffer): void;\n    send(data: ArrayBufferView): void;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var WebSocket: {\n    prototype: WebSocket;\n    new(url: string, protocols?: string | string[]): WebSocket;\n    readonly CONNECTING: 0;\n    readonly OPEN: 1;\n    readonly CLOSING: 2;\n    readonly CLOSED: 3;\n    isInstance: IsInstance<WebSocket>;\n    createServerWebSocket(url: string, protocols: string[], transportProvider: nsITransportProvider, negotiatedExtensions: string): WebSocket;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransport {\n    readonly closed: Promise<WebTransportCloseInfo>;\n    readonly congestionControl: WebTransportCongestionControl;\n    readonly datagrams: WebTransportDatagramDuplexStream;\n    readonly incomingBidirectionalStreams: ReadableStream;\n    readonly incomingUnidirectionalStreams: ReadableStream;\n    readonly ready: Promise<void>;\n    readonly reliability: WebTransportReliabilityMode;\n    close(closeInfo?: WebTransportCloseInfo): void;\n    createBidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WebTransportBidirectionalStream>;\n    createUnidirectionalStream(options?: WebTransportSendStreamOptions): Promise<WritableStream>;\n    getStats(): Promise<WebTransportStats>;\n}\n\ndeclare var WebTransport: {\n    prototype: WebTransport;\n    new(url: string | URL, options?: WebTransportOptions): WebTransport;\n    isInstance: IsInstance<WebTransport>;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransportBidirectionalStream {\n    readonly readable: WebTransportReceiveStream;\n    readonly writable: WebTransportSendStream;\n}\n\ndeclare var WebTransportBidirectionalStream: {\n    prototype: WebTransportBidirectionalStream;\n    new(): WebTransportBidirectionalStream;\n    isInstance: IsInstance<WebTransportBidirectionalStream>;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransportDatagramDuplexStream {\n    incomingHighWaterMark: number;\n    incomingMaxAge: number;\n    readonly maxDatagramSize: number;\n    outgoingHighWaterMark: number;\n    outgoingMaxAge: number;\n    readonly readable: ReadableStream;\n    readonly writable: WritableStream;\n}\n\ndeclare var WebTransportDatagramDuplexStream: {\n    prototype: WebTransportDatagramDuplexStream;\n    new(): WebTransportDatagramDuplexStream;\n    isInstance: IsInstance<WebTransportDatagramDuplexStream>;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransportError extends DOMException {\n    readonly source: WebTransportErrorSource;\n    readonly streamErrorCode: number | null;\n}\n\ndeclare var WebTransportError: {\n    prototype: WebTransportError;\n    new(init?: WebTransportErrorInit): WebTransportError;\n    isInstance: IsInstance<WebTransportError>;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransportReceiveStream extends ReadableStream {\n    getStats(): Promise<WebTransportReceiveStreamStats>;\n}\n\ndeclare var WebTransportReceiveStream: {\n    prototype: WebTransportReceiveStream;\n    new(): WebTransportReceiveStream;\n    isInstance: IsInstance<WebTransportReceiveStream>;\n};\n\n/** Available only in secure contexts. */\ninterface WebTransportSendStream extends WritableStream {\n    sendOrder: number | null;\n    getStats(): Promise<WebTransportSendStreamStats>;\n}\n\ndeclare var WebTransportSendStream: {\n    prototype: WebTransportSendStream;\n    new(): WebTransportSendStream;\n    isInstance: IsInstance<WebTransportSendStream>;\n};\n\ninterface WheelEvent extends MouseEvent {\n    readonly deltaMode: number;\n    readonly deltaX: number;\n    readonly deltaY: number;\n    readonly deltaZ: number;\n    readonly wheelDelta: number;\n    readonly wheelDeltaX: number;\n    readonly wheelDeltaY: number;\n    readonly DOM_DELTA_PIXEL: 0x00;\n    readonly DOM_DELTA_LINE: 0x01;\n    readonly DOM_DELTA_PAGE: 0x02;\n}\n\ndeclare var WheelEvent: {\n    prototype: WheelEvent;\n    new(type: string, eventInitDict?: WheelEventInit): WheelEvent;\n    readonly DOM_DELTA_PIXEL: 0x00;\n    readonly DOM_DELTA_LINE: 0x01;\n    readonly DOM_DELTA_PAGE: 0x02;\n    isInstance: IsInstance<WheelEvent>;\n};\n\ninterface WindowEventMap extends GlobalEventHandlersEventMap, OnErrorEventHandlerForWindowEventMap, TouchEventHandlersEventMap, WindowEventHandlersEventMap {\n    \"devicelight\": Event;\n    \"devicemotion\": Event;\n    \"deviceorientation\": Event;\n    \"deviceorientationabsolute\": Event;\n    \"orientationchange\": Event;\n    \"userproximity\": Event;\n    \"vrdisplayactivate\": Event;\n    \"vrdisplayconnect\": Event;\n    \"vrdisplaydeactivate\": Event;\n    \"vrdisplaydisconnect\": Event;\n    \"vrdisplaypresentchange\": Event;\n}\n\ninterface Window extends EventTarget, AnimationFrameProvider, GlobalCrypto, GlobalEventHandlers, OnErrorEventHandlerForWindow, SpeechSynthesisGetter, TouchEventHandlers, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage {\n    readonly Glean: GleanImpl;\n    readonly GleanPings: GleanPingsImpl;\n    readonly InstallTrigger: InstallTriggerImpl | null;\n    browserDOMWindow: nsIBrowserDOMWindow | null;\n    readonly browsingContext: BrowsingContext;\n    readonly clientInformation: Navigator;\n    readonly clientPrincipal: Principal | null;\n    readonly closed: boolean;\n    readonly content: any;\n    readonly controllers: XULControllers;\n    readonly cookieStore: CookieStore;\n    readonly customElements: CustomElementRegistry;\n    readonly desktopToDeviceScale: number;\n    readonly devicePixelRatio: number;\n    readonly docShell: nsIDocShell | null;\n    readonly document: Document;\n    readonly event: Event | undefined;\n    readonly external: External;\n    readonly frameElement: Element | null;\n    readonly frames: WindowProxy;\n    fullScreen: boolean;\n    readonly history: History;\n    readonly innerHeight: number;\n    readonly innerWidth: number;\n    readonly intlUtils: IntlUtils;\n    readonly isChromeWindow: boolean;\n    readonly isFullyOccluded: boolean;\n    readonly isInFullScreenTransition: boolean;\n    readonly length: number;\n    readonly location: Location;\n    readonly locationbar: BarProp;\n    readonly menubar: BarProp;\n    readonly messageManager: ChromeMessageBroadcaster;\n    readonly mozInnerScreenX: number;\n    readonly mozInnerScreenY: number;\n    name: string;\n    readonly navigation: Navigation;\n    readonly navigator: Navigator;\n    ondevicelight: ((this: Window, ev: Event) => any) | null;\n    ondevicemotion: ((this: Window, ev: Event) => any) | null;\n    ondeviceorientation: ((this: Window, ev: Event) => any) | null;\n    ondeviceorientationabsolute: ((this: Window, ev: Event) => any) | null;\n    onorientationchange: ((this: Window, ev: Event) => any) | null;\n    onuserproximity: ((this: Window, ev: Event) => any) | null;\n    onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;\n    onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;\n    onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null;\n    onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null;\n    onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null;\n    opener: any;\n    readonly orientation: number;\n    readonly originAgentCluster: boolean;\n    readonly outerHeight: number;\n    readonly outerWidth: number;\n    readonly pageXOffset: number;\n    readonly pageYOffset: number;\n    readonly paintWorklet: Worklet;\n    readonly parent: WindowProxy | null;\n    readonly performance: Performance | null;\n    readonly personalbar: BarProp;\n    readonly realFrameElement: Element | null;\n    readonly screen: Screen;\n    readonly screenEdgeSlopX: number;\n    readonly screenEdgeSlopY: number;\n    readonly screenLeft: number;\n    readonly screenTop: number;\n    readonly screenX: number;\n    readonly screenY: number;\n    readonly scrollMaxX: number;\n    readonly scrollMaxY: number;\n    readonly scrollMinX: number;\n    readonly scrollMinY: number;\n    readonly scrollX: number;\n    readonly scrollY: number;\n    readonly scrollbars: BarProp;\n    readonly self: WindowProxy;\n    status: string;\n    readonly statusbar: BarProp;\n    readonly toolbar: BarProp;\n    readonly top: WindowProxy | null;\n    readonly visualViewport: VisualViewport;\n    readonly window: WindowProxy;\n    readonly windowGlobalChild: WindowGlobalChild | null;\n    readonly windowRoot: WindowRoot | null;\n    readonly windowState: number;\n    readonly windowUtils: nsIDOMWindowUtils;\n    alert(): void;\n    alert(message: string): void;\n    blur(): void;\n    cancelIdleCallback(handle: number): void;\n    captureEvents(): void;\n    close(): void;\n    confirm(message?: string): boolean;\n    dump(str: string): void;\n    find(str?: string, caseSensitive?: boolean, backwards?: boolean, wrapAround?: boolean, wholeWord?: boolean, searchInFrames?: boolean, showDialog?: boolean): boolean;\n    focus(): void;\n    getAttention(): void;\n    getAttentionWithCycleCount(aCycleCount: number): void;\n    getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration | null;\n    getDefaultComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration | null;\n    getGroupMessageManager(aGroup: string): ChromeMessageBroadcaster;\n    getInterface(iid: any): any;\n    getRegionalPrefsLocales(): string[];\n    getSelection(): Selection | null;\n    getWebExposedLocales(): string[];\n    getWorkspaceID(): string;\n    matchMedia(query: string): MediaQueryList | null;\n    maximize(): void;\n    minimize(): void;\n    moveBy(x: number, y: number): void;\n    moveTo(x: number, y: number): void;\n    moveToWorkspace(workspaceID: string): void;\n    mozScrollSnap(): void;\n    notifyDefaultButtonLoaded(defaultButton: Element): void;\n    open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\n    openDialog(url?: string, name?: string, options?: string, ...extraArguments: any[]): WindowProxy | null;\n    postMessage(message: any, targetOrigin: string, transfer?: any[]): void;\n    postMessage(message: any, options?: WindowPostMessageOptions): void;\n    print(): void;\n    printPreview(settings?: nsIPrintSettings | null, listener?: nsIWebProgressListener | null, docShellToPreviewInto?: nsIDocShell | null): WindowProxy | null;\n    promiseDocumentFlushed(callback: PromiseDocumentFlushedCallback): Promise<any>;\n    prompt(message?: string, _default?: string): string | null;\n    releaseEvents(): void;\n    requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\n    resizeBy(x: number, y: number): void;\n    resizeTo(x: number, y: number): void;\n    restore(): void;\n    scroll(x: number, y: number): void;\n    scroll(options?: ScrollToOptions): void;\n    scrollBy(x: number, y: number): void;\n    scrollBy(options?: ScrollToOptions): void;\n    scrollByLines(numLines: number, options?: ScrollOptions): void;\n    scrollByPages(numPages: number, options?: ScrollOptions): void;\n    scrollTo(x: number, y: number): void;\n    scrollTo(options?: ScrollToOptions): void;\n    setCursor(cursor: string): void;\n    setResizable(resizable: boolean): void;\n    setScrollMarks(marks: number[], onHorizontalScrollbar?: boolean): void;\n    shouldReportForServiceWorkerScope(aScope: string): boolean;\n    sizeToContent(constraints?: SizeToContentConstraints): void;\n    stop(): void;\n    updateCommands(action: string): void;\n    readonly STATE_MAXIMIZED: 1;\n    readonly STATE_MINIMIZED: 2;\n    readonly STATE_NORMAL: 3;\n    readonly STATE_FULLSCREEN: 4;\n    addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n    [name: string]: any;\n}\n\ndeclare var Window: {\n    prototype: Window;\n    new(): Window;\n    readonly STATE_MAXIMIZED: 1;\n    readonly STATE_MINIMIZED: 2;\n    readonly STATE_NORMAL: 3;\n    readonly STATE_FULLSCREEN: 4;\n    isInstance: IsInstance<Window>;\n};\n\ninterface WindowContext {\n    allowJavascript: boolean;\n    readonly browsingContext: BrowsingContext | null;\n    readonly hasActiveCloseWatcher: boolean;\n    readonly hasBeforeUnload: boolean;\n    readonly innerWindowId: number;\n    readonly isInBFCache: boolean;\n    readonly isInProcess: boolean;\n    readonly isLocalIP: boolean;\n    readonly overriddenFingerprintingSettings: nsIRFPTargetSetIDL | null;\n    readonly parentWindowContext: WindowContext | null;\n    readonly shouldResistFingerprinting: boolean;\n    readonly topWindowContext: WindowContext;\n    readonly usingStorageAccess: boolean;\n    readonly windowGlobalChild: WindowGlobalChild | null;\n    processCloseRequest(): void;\n}\n\ndeclare var WindowContext: {\n    prototype: WindowContext;\n    new(): WindowContext;\n    isInstance: IsInstance<WindowContext>;\n};\n\ninterface WindowEventHandlersEventMap {\n    \"afterprint\": Event;\n    \"beforeprint\": Event;\n    \"beforeunload\": Event;\n    \"gamepadconnected\": Event;\n    \"gamepaddisconnected\": Event;\n    \"hashchange\": Event;\n    \"languagechange\": Event;\n    \"message\": Event;\n    \"messageerror\": Event;\n    \"offline\": Event;\n    \"online\": Event;\n    \"pagehide\": Event;\n    \"pageshow\": Event;\n    \"popstate\": Event;\n    \"rejectionhandled\": Event;\n    \"storage\": Event;\n    \"unhandledrejection\": Event;\n    \"unload\": Event;\n}\n\ninterface WindowEventHandlers {\n    onafterprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onbeforeprint: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onbeforeunload: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    ongamepadconnected: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    ongamepaddisconnected: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onhashchange: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onlanguagechange: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onmessage: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onmessageerror: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onoffline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    ononline: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onpagehide: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onpageshow: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onpopstate: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onrejectionhandled: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onstorage: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onunhandledrejection: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    onunload: ((this: WindowEventHandlers, ev: Event) => any) | null;\n    addEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WindowEventHandlersEventMap>(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ninterface WindowGlobalChild {\n    readonly browsingContext: BrowsingContext;\n    readonly contentParentId: number;\n    readonly contentWindow: WindowProxy | null;\n    readonly innerWindowId: number;\n    readonly isClosed: boolean;\n    readonly isCurrentGlobal: boolean;\n    readonly isInProcess: boolean;\n    readonly isProcessRoot: boolean;\n    readonly outerWindowId: number;\n    readonly parentActor: WindowGlobalParent | null;\n    readonly sameOriginWithTop: boolean;\n    readonly windowContext: WindowContext;\n    findBrowsingContextWithName(name: string): BrowsingContext | null;\n    getActor(name: string): JSWindowActorChild;\n    getExistingActor(name: string): JSWindowActorChild | null;\n}\n\ndeclare var WindowGlobalChild: {\n    prototype: WindowGlobalChild;\n    new(): WindowGlobalChild;\n    isInstance: IsInstance<WindowGlobalChild>;\n    getByInnerWindowId(innerWIndowId: number): WindowGlobalChild | null;\n};\n\ninterface WindowGlobalParent extends WindowContext {\n    readonly childActor: WindowGlobalChild | null;\n    readonly contentBlockingAllowListPrincipal: Principal | null;\n    readonly contentBlockingEvents: number;\n    readonly contentBlockingLog: string;\n    readonly contentParentId: number;\n    readonly cookieJarSettings: nsICookieJarSettings | null;\n    readonly documentPrincipal: Principal;\n    readonly documentStoragePrincipal: Principal;\n    readonly documentTitle: string;\n    readonly documentURI: URI | null;\n    readonly domProcess: nsIDOMProcessParent | null;\n    fullscreen: boolean;\n    readonly isActiveInTab: boolean;\n    readonly isClosed: boolean;\n    readonly isCurrentGlobal: boolean;\n    readonly isInitialDocument: boolean;\n    readonly isProcessRoot: boolean;\n    readonly osPid: number;\n    readonly outerWindowId: number;\n    readonly rootFrameLoader: FrameLoader | null;\n    drawSnapshot(rect: DOMRect | null, scale: number, backgroundColor: string, resetScrollPosition?: boolean): Promise<ImageBitmap>;\n    getActor(name: string): JSWindowActorParent;\n    getExistingActor(name: string): JSWindowActorParent | null;\n    hasActivePeerConnections(): boolean;\n    permitUnload(action?: PermitUnloadAction, timeout?: number): Promise<boolean>;\n}\n\ndeclare var WindowGlobalParent: {\n    prototype: WindowGlobalParent;\n    new(): WindowGlobalParent;\n    isInstance: IsInstance<WindowGlobalParent>;\n    getByInnerWindowId(innerWindowId: number): WindowGlobalParent | null;\n};\n\ninterface WindowLocalStorage {\n    readonly localStorage: Storage | null;\n}\n\ninterface WindowOrWorkerGlobalScope {\n    readonly caches: CacheStorage;\n    readonly crossOriginIsolated: boolean;\n    readonly indexedDB: IDBFactory | null;\n    readonly isSecureContext: boolean;\n    readonly origin: string;\n    readonly scheduler: Scheduler;\n    readonly trustedTypes: TrustedTypePolicyFactory;\n    atob(atob: string): string;\n    btoa(btoa: string): string;\n    clearInterval(handle?: number): void;\n    clearTimeout(handle?: number): void;\n    createImageBitmap(aImage: ImageBitmapSource, aOptions?: ImageBitmapOptions): Promise<ImageBitmap>;\n    createImageBitmap(aImage: ImageBitmapSource, aSx: number, aSy: number, aSw: number, aSh: number, aOptions?: ImageBitmapOptions): Promise<ImageBitmap>;\n    fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\n    queueMicrotask(callback: VoidFunction): void;\n    reportError(e: any): void;\n    setInterval(handler: TimerHandler, timeout?: number, ...unused: any[]): number;\n    setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\n    structuredClone(value: any, options?: StructuredSerializeOptions): any;\n}\n\ninterface WindowRoot extends EventTarget {\n}\n\ndeclare var WindowRoot: {\n    prototype: WindowRoot;\n    new(): WindowRoot;\n    isInstance: IsInstance<WindowRoot>;\n};\n\ninterface WindowSessionStorage {\n    readonly sessionStorage: Storage | null;\n}\n\ninterface WorkerEventMap extends AbstractWorkerEventMap {\n    \"message\": Event;\n    \"messageerror\": Event;\n}\n\ninterface Worker extends EventTarget, AbstractWorker {\n    onmessage: ((this: Worker, ev: Event) => any) | null;\n    onmessageerror: ((this: Worker, ev: Event) => any) | null;\n    postMessage(message: any, transfer: any[]): void;\n    postMessage(message: any, aOptions?: StructuredSerializeOptions): void;\n    terminate(): void;\n    addEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof WorkerEventMap>(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var Worker: {\n    prototype: Worker;\n    new(scriptURL: TrustedScriptURL | string, options?: WorkerOptions): Worker;\n    isInstance: IsInstance<Worker>;\n};\n\n/** Available only in secure contexts. */\ninterface Worklet {\n    addModule(moduleURL: string | URL, options?: WorkletOptions): Promise<void>;\n}\n\ndeclare var Worklet: {\n    prototype: Worklet;\n    new(): Worklet;\n    isInstance: IsInstance<Worklet>;\n};\n\ninterface WrapperCachedNonISupportsTestInterface {\n}\n\ndeclare var WrapperCachedNonISupportsTestInterface: {\n    prototype: WrapperCachedNonISupportsTestInterface;\n    new(): WrapperCachedNonISupportsTestInterface;\n    isInstance: IsInstance<WrapperCachedNonISupportsTestInterface>;\n};\n\ninterface WritableStream {\n    readonly locked: boolean;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    getWriter(): WritableStreamDefaultWriter;\n}\n\ndeclare var WritableStream: {\n    prototype: WritableStream;\n    new(underlyingSink?: any, strategy?: QueuingStrategy): WritableStream;\n    isInstance: IsInstance<WritableStream>;\n};\n\ninterface WritableStreamDefaultController {\n    readonly signal: AbortSignal;\n    error(e?: any): void;\n}\n\ndeclare var WritableStreamDefaultController: {\n    prototype: WritableStreamDefaultController;\n    new(): WritableStreamDefaultController;\n    isInstance: IsInstance<WritableStreamDefaultController>;\n};\n\ninterface WritableStreamDefaultWriter {\n    readonly closed: Promise<void>;\n    readonly desiredSize: number | null;\n    readonly ready: Promise<void>;\n    abort(reason?: any): Promise<void>;\n    close(): Promise<void>;\n    releaseLock(): void;\n    write(chunk?: any): Promise<void>;\n}\n\ndeclare var WritableStreamDefaultWriter: {\n    prototype: WritableStreamDefaultWriter;\n    new(stream: WritableStream): WritableStreamDefaultWriter;\n    isInstance: IsInstance<WritableStreamDefaultWriter>;\n};\n\ninterface XMLDocument extends Document {\n    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLDocument: {\n    prototype: XMLDocument;\n    new(): XMLDocument;\n    isInstance: IsInstance<XMLDocument>;\n};\n\ninterface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {\n    \"readystatechange\": Event;\n}\n\ninterface XMLHttpRequest extends XMLHttpRequestEventTarget {\n    readonly channel: MozChannel | null;\n    readonly errorCode: number;\n    readonly mozAnon: boolean;\n    mozBackgroundRequest: boolean;\n    readonly mozSystem: boolean;\n    onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;\n    readonly readyState: number;\n    readonly response: any;\n    readonly responseText: string | null;\n    responseType: XMLHttpRequestResponseType;\n    readonly responseURL: string;\n    readonly responseXML: Document | null;\n    readonly status: number;\n    readonly statusText: string;\n    timeout: number;\n    readonly upload: XMLHttpRequestUpload;\n    withCredentials: boolean;\n    abort(): void;\n    getAllResponseHeaders(): string;\n    getInterface(iid: any): any;\n    getResponseHeader(header: string): string | null;\n    open(method: string, url: string): void;\n    open(method: string, url: string, async: boolean, user?: string | null, password?: string | null): void;\n    overrideMimeType(mime: string): void;\n    send(body?: Document | XMLHttpRequestBodyInit | null): void;\n    sendInputStream(body: InputStream): void;\n    setOriginAttributes(originAttributes?: OriginAttributesDictionary): void;\n    setRequestHeader(header: string, value: string): void;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    addEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventMap>(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequest: {\n    prototype: XMLHttpRequest;\n    new(params?: MozXMLHttpRequestParameters): XMLHttpRequest;\n    new(ignored: string): XMLHttpRequest;\n    readonly UNSENT: 0;\n    readonly OPENED: 1;\n    readonly HEADERS_RECEIVED: 2;\n    readonly LOADING: 3;\n    readonly DONE: 4;\n    isInstance: IsInstance<XMLHttpRequest>;\n};\n\ninterface XMLHttpRequestEventTargetEventMap {\n    \"abort\": Event;\n    \"error\": Event;\n    \"load\": Event;\n    \"loadend\": Event;\n    \"loadstart\": Event;\n    \"progress\": Event;\n    \"timeout\": Event;\n}\n\ninterface XMLHttpRequestEventTarget extends EventTarget {\n    onabort: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    onerror: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    onload: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    onloadend: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    onloadstart: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    onprogress: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    ontimeout: ((this: XMLHttpRequestEventTarget, ev: Event) => any) | null;\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestEventTarget: {\n    prototype: XMLHttpRequestEventTarget;\n    new(): XMLHttpRequestEventTarget;\n    isInstance: IsInstance<XMLHttpRequestEventTarget>;\n};\n\ninterface XMLHttpRequestUpload extends XMLHttpRequestEventTarget {\n    addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XMLHttpRequestUpload: {\n    prototype: XMLHttpRequestUpload;\n    new(): XMLHttpRequestUpload;\n    isInstance: IsInstance<XMLHttpRequestUpload>;\n};\n\ninterface XMLSerializer {\n    serializeToStream(root: Node, stream: OutputStream, charset: string | null): void;\n    serializeToString(root: Node): string;\n}\n\ndeclare var XMLSerializer: {\n    prototype: XMLSerializer;\n    new(): XMLSerializer;\n    isInstance: IsInstance<XMLSerializer>;\n};\n\ninterface XPathEvaluator extends XPathEvaluatorMixin {\n}\n\ndeclare var XPathEvaluator: {\n    prototype: XPathEvaluator;\n    new(): XPathEvaluator;\n    isInstance: IsInstance<XPathEvaluator>;\n};\n\ninterface XPathEvaluatorMixin {\n    createExpression(expression: string, resolver?: XPathNSResolver | null): XPathExpression;\n    createNSResolver(nodeResolver: Node): Node;\n    evaluate(expression: string, contextNode: Node, resolver?: XPathNSResolver | null, type?: number, result?: any): XPathResult;\n}\n\ninterface XPathExpression {\n    evaluate(contextNode: Node, type?: number, result?: any): XPathResult;\n    evaluateWithContext(contextNode: Node, contextPosition: number, contextSize: number, type?: number, result?: any): XPathResult;\n}\n\ndeclare var XPathExpression: {\n    prototype: XPathExpression;\n    new(): XPathExpression;\n    isInstance: IsInstance<XPathExpression>;\n};\n\ninterface XPathResult {\n    readonly booleanValue: boolean;\n    readonly invalidIteratorState: boolean;\n    readonly numberValue: number;\n    readonly resultType: number;\n    readonly singleNodeValue: Node | null;\n    readonly snapshotLength: number;\n    readonly stringValue: string;\n    iterateNext(): Node | null;\n    snapshotItem(index: number): Node | null;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n}\n\ndeclare var XPathResult: {\n    prototype: XPathResult;\n    new(): XPathResult;\n    readonly ANY_TYPE: 0;\n    readonly NUMBER_TYPE: 1;\n    readonly STRING_TYPE: 2;\n    readonly BOOLEAN_TYPE: 3;\n    readonly UNORDERED_NODE_ITERATOR_TYPE: 4;\n    readonly ORDERED_NODE_ITERATOR_TYPE: 5;\n    readonly UNORDERED_NODE_SNAPSHOT_TYPE: 6;\n    readonly ORDERED_NODE_SNAPSHOT_TYPE: 7;\n    readonly ANY_UNORDERED_NODE_TYPE: 8;\n    readonly FIRST_ORDERED_NODE_TYPE: 9;\n    isInstance: IsInstance<XPathResult>;\n};\n\n/** Available only in secure contexts. */\ninterface XRBoundedReferenceSpace extends XRReferenceSpace {\n    readonly boundsGeometry: DOMPointReadOnly[];\n    addEventListener<K extends keyof XRReferenceSpaceEventMap>(type: K, listener: (this: XRBoundedReferenceSpace, ev: XRReferenceSpaceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XRReferenceSpaceEventMap>(type: K, listener: (this: XRBoundedReferenceSpace, ev: XRReferenceSpaceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XRBoundedReferenceSpace: {\n    prototype: XRBoundedReferenceSpace;\n    new(): XRBoundedReferenceSpace;\n    isInstance: IsInstance<XRBoundedReferenceSpace>;\n};\n\n/** Available only in secure contexts. */\ninterface XRFrame {\n    readonly session: XRSession;\n    getPose(space: XRSpace, baseSpace: XRSpace): XRPose | null;\n    getViewerPose(referenceSpace: XRReferenceSpace): XRViewerPose | null;\n}\n\ndeclare var XRFrame: {\n    prototype: XRFrame;\n    new(): XRFrame;\n    isInstance: IsInstance<XRFrame>;\n};\n\n/** Available only in secure contexts. */\ninterface XRInputSource {\n    readonly gamepad: Gamepad | null;\n    readonly gripSpace: XRSpace | null;\n    readonly handedness: XRHandedness;\n    readonly profiles: string[];\n    readonly targetRayMode: XRTargetRayMode;\n    readonly targetRaySpace: XRSpace;\n}\n\ndeclare var XRInputSource: {\n    prototype: XRInputSource;\n    new(): XRInputSource;\n    isInstance: IsInstance<XRInputSource>;\n};\n\n/** Available only in secure contexts. */\ninterface XRInputSourceArray {\n    readonly length: number;\n    forEach(callbackfn: (value: XRInputSource, key: number, parent: XRInputSourceArray) => void, thisArg?: any): void;\n    [index: number]: XRInputSource;\n}\n\ndeclare var XRInputSourceArray: {\n    prototype: XRInputSourceArray;\n    new(): XRInputSourceArray;\n    isInstance: IsInstance<XRInputSourceArray>;\n};\n\n/** Available only in secure contexts. */\ninterface XRInputSourceEvent extends Event {\n    readonly frame: XRFrame;\n    readonly inputSource: XRInputSource;\n}\n\ndeclare var XRInputSourceEvent: {\n    prototype: XRInputSourceEvent;\n    new(type: string, eventInitDict: XRInputSourceEventInit): XRInputSourceEvent;\n    isInstance: IsInstance<XRInputSourceEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface XRInputSourcesChangeEvent extends Event {\n    readonly added: XRInputSource[];\n    readonly removed: XRInputSource[];\n    readonly session: XRSession;\n}\n\ndeclare var XRInputSourcesChangeEvent: {\n    prototype: XRInputSourcesChangeEvent;\n    new(type: string, eventInitDict: XRInputSourcesChangeEventInit): XRInputSourcesChangeEvent;\n    isInstance: IsInstance<XRInputSourcesChangeEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface XRPose {\n    readonly emulatedPosition: boolean;\n    readonly transform: XRRigidTransform;\n}\n\ndeclare var XRPose: {\n    prototype: XRPose;\n    new(): XRPose;\n    isInstance: IsInstance<XRPose>;\n};\n\ninterface XRReferenceSpaceEventMap {\n    \"reset\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface XRReferenceSpace extends XRSpace {\n    onreset: ((this: XRReferenceSpace, ev: Event) => any) | null;\n    getOffsetReferenceSpace(originOffset: XRRigidTransform): XRReferenceSpace;\n    addEventListener<K extends keyof XRReferenceSpaceEventMap>(type: K, listener: (this: XRReferenceSpace, ev: XRReferenceSpaceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XRReferenceSpaceEventMap>(type: K, listener: (this: XRReferenceSpace, ev: XRReferenceSpaceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XRReferenceSpace: {\n    prototype: XRReferenceSpace;\n    new(): XRReferenceSpace;\n    isInstance: IsInstance<XRReferenceSpace>;\n};\n\n/** Available only in secure contexts. */\ninterface XRReferenceSpaceEvent extends Event {\n    readonly referenceSpace: XRReferenceSpace;\n    readonly transform: XRRigidTransform | null;\n}\n\ndeclare var XRReferenceSpaceEvent: {\n    prototype: XRReferenceSpaceEvent;\n    new(type: string, eventInitDict: XRReferenceSpaceEventInit): XRReferenceSpaceEvent;\n    isInstance: IsInstance<XRReferenceSpaceEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface XRRenderState {\n    readonly baseLayer: XRWebGLLayer | null;\n    readonly depthFar: number;\n    readonly depthNear: number;\n    readonly inlineVerticalFieldOfView: number | null;\n}\n\ndeclare var XRRenderState: {\n    prototype: XRRenderState;\n    new(): XRRenderState;\n    isInstance: IsInstance<XRRenderState>;\n};\n\n/** Available only in secure contexts. */\ninterface XRRigidTransform {\n    readonly inverse: XRRigidTransform;\n    readonly matrix: Float32Array;\n    readonly orientation: DOMPointReadOnly;\n    readonly position: DOMPointReadOnly;\n}\n\ndeclare var XRRigidTransform: {\n    prototype: XRRigidTransform;\n    new(position?: DOMPointInit, orientation?: DOMPointInit): XRRigidTransform;\n    isInstance: IsInstance<XRRigidTransform>;\n};\n\ninterface XRSessionEventMap {\n    \"end\": Event;\n    \"inputsourceschange\": Event;\n    \"select\": Event;\n    \"selectend\": Event;\n    \"selectstart\": Event;\n    \"squeeze\": Event;\n    \"squeezeend\": Event;\n    \"squeezestart\": Event;\n    \"visibilitychange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface XRSession extends EventTarget {\n    readonly frameRate: number | null;\n    readonly inputSources: XRInputSourceArray;\n    onend: ((this: XRSession, ev: Event) => any) | null;\n    oninputsourceschange: ((this: XRSession, ev: Event) => any) | null;\n    onselect: ((this: XRSession, ev: Event) => any) | null;\n    onselectend: ((this: XRSession, ev: Event) => any) | null;\n    onselectstart: ((this: XRSession, ev: Event) => any) | null;\n    onsqueeze: ((this: XRSession, ev: Event) => any) | null;\n    onsqueezeend: ((this: XRSession, ev: Event) => any) | null;\n    onsqueezestart: ((this: XRSession, ev: Event) => any) | null;\n    onvisibilitychange: ((this: XRSession, ev: Event) => any) | null;\n    readonly renderState: XRRenderState;\n    readonly supportedFrameRates: Float32Array | null;\n    readonly visibilityState: XRVisibilityState;\n    cancelAnimationFrame(handle: number): void;\n    end(): Promise<void>;\n    requestAnimationFrame(callback: XRFrameRequestCallback): number;\n    requestReferenceSpace(type: XRReferenceSpaceType): Promise<XRReferenceSpace>;\n    updateRenderState(state?: XRRenderStateInit): void;\n    updateTargetFrameRate(rate: number): Promise<void>;\n    addEventListener<K extends keyof XRSessionEventMap>(type: K, listener: (this: XRSession, ev: XRSessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XRSessionEventMap>(type: K, listener: (this: XRSession, ev: XRSessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XRSession: {\n    prototype: XRSession;\n    new(): XRSession;\n    isInstance: IsInstance<XRSession>;\n};\n\n/** Available only in secure contexts. */\ninterface XRSessionEvent extends Event {\n    readonly session: XRSession;\n}\n\ndeclare var XRSessionEvent: {\n    prototype: XRSessionEvent;\n    new(type: string, eventInitDict: XRSessionEventInit): XRSessionEvent;\n    isInstance: IsInstance<XRSessionEvent>;\n};\n\n/** Available only in secure contexts. */\ninterface XRSpace extends EventTarget {\n}\n\ndeclare var XRSpace: {\n    prototype: XRSpace;\n    new(): XRSpace;\n    isInstance: IsInstance<XRSpace>;\n};\n\ninterface XRSystemEventMap {\n    \"devicechange\": Event;\n}\n\n/** Available only in secure contexts. */\ninterface XRSystem extends EventTarget {\n    ondevicechange: ((this: XRSystem, ev: Event) => any) | null;\n    isSessionSupported(mode: XRSessionMode): Promise<boolean>;\n    requestSession(mode: XRSessionMode, options?: XRSessionInit): Promise<XRSession>;\n    addEventListener<K extends keyof XRSystemEventMap>(type: K, listener: (this: XRSystem, ev: XRSystemEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XRSystemEventMap>(type: K, listener: (this: XRSystem, ev: XRSystemEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XRSystem: {\n    prototype: XRSystem;\n    new(): XRSystem;\n    isInstance: IsInstance<XRSystem>;\n};\n\n/** Available only in secure contexts. */\ninterface XRView {\n    readonly eye: XREye;\n    readonly projectionMatrix: Float32Array;\n    readonly transform: XRRigidTransform;\n}\n\ndeclare var XRView: {\n    prototype: XRView;\n    new(): XRView;\n    isInstance: IsInstance<XRView>;\n};\n\n/** Available only in secure contexts. */\ninterface XRViewerPose extends XRPose {\n    readonly views: XRView[];\n}\n\ndeclare var XRViewerPose: {\n    prototype: XRViewerPose;\n    new(): XRViewerPose;\n    isInstance: IsInstance<XRViewerPose>;\n};\n\n/** Available only in secure contexts. */\ninterface XRViewport {\n    readonly height: number;\n    readonly width: number;\n    readonly x: number;\n    readonly y: number;\n}\n\ndeclare var XRViewport: {\n    prototype: XRViewport;\n    new(): XRViewport;\n    isInstance: IsInstance<XRViewport>;\n};\n\n/** Available only in secure contexts. */\ninterface XRWebGLLayer {\n    readonly antialias: boolean;\n    readonly framebuffer: WebGLFramebuffer | null;\n    readonly framebufferHeight: number;\n    readonly framebufferWidth: number;\n    readonly ignoreDepthValues: boolean;\n    getViewport(view: XRView): XRViewport | null;\n}\n\ndeclare var XRWebGLLayer: {\n    prototype: XRWebGLLayer;\n    new(session: XRSession, context: XRWebGLRenderingContext, layerInit?: XRWebGLLayerInit): XRWebGLLayer;\n    isInstance: IsInstance<XRWebGLLayer>;\n    getNativeFramebufferScaleFactor(session: XRSession): number;\n};\n\ninterface XSLTProcessor {\n    flags: number;\n    clearParameters(): void;\n    getParameter(namespaceURI: string | null, localName: string): XSLTParameterValue | null;\n    importStylesheet(style: Node): void;\n    removeParameter(namespaceURI: string | null, localName: string): void;\n    reset(): void;\n    setParameter(namespaceURI: string | null, localName: string, value: XSLTParameterValue): void;\n    transformToDocument(source: Node): Document;\n    transformToFragment(source: Node, output: Document): DocumentFragment;\n    readonly DISABLE_ALL_LOADS: 1;\n}\n\ndeclare var XSLTProcessor: {\n    prototype: XSLTProcessor;\n    new(): XSLTProcessor;\n    readonly DISABLE_ALL_LOADS: 1;\n    isInstance: IsInstance<XSLTProcessor>;\n};\n\ninterface XULCommandEvent extends UIEvent {\n    readonly altKey: boolean;\n    readonly button: number;\n    readonly ctrlKey: boolean;\n    readonly inputSource: number;\n    readonly metaKey: boolean;\n    readonly shiftKey: boolean;\n    readonly sourceEvent: Event | null;\n    initCommandEvent(type: string, canBubble?: boolean, cancelable?: boolean, view?: Window | null, detail?: number, ctrlKey?: boolean, altKey?: boolean, shiftKey?: boolean, metaKey?: boolean, buttonArg?: number, sourceEvent?: Event | null, inputSource?: number): void;\n}\n\ndeclare var XULCommandEvent: {\n    prototype: XULCommandEvent;\n    new(): XULCommandEvent;\n    isInstance: IsInstance<XULCommandEvent>;\n};\n\ninterface XULElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, OnErrorEventHandlerForNodesEventMap, TouchEventHandlersEventMap {\n}\n\ninterface XULElement extends Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrForeignElement, OnErrorEventHandlerForNodes, TouchEventHandlers {\n    collapsed: boolean;\n    contextMenu: string;\n    readonly controllers: XULControllers;\n    hidden: boolean;\n    menu: string;\n    observes: string;\n    src: string;\n    tooltip: string;\n    tooltipText: string;\n    click(): void;\n    doCommand(): void;\n    hasMenu(): boolean;\n    openMenu(open: boolean): void;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULElement: {\n    prototype: XULElement;\n    new(): XULElement;\n    isInstance: IsInstance<XULElement>;\n};\n\ninterface XULFrameElement extends XULElement, MozFrameLoaderOwner {\n    readonly browserId: number;\n    readonly contentDocument: Document | null;\n    readonly contentWindow: WindowProxy | null;\n    readonly docShell: nsIDocShell | null;\n    openWindowInfo: nsIOpenWindowInfo | null;\n    readonly webNavigation: nsIWebNavigation | null;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULFrameElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULFrameElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULFrameElement: {\n    prototype: XULFrameElement;\n    new(): XULFrameElement;\n    isInstance: IsInstance<XULFrameElement>;\n};\n\ninterface XULMenuElement extends XULElement {\n    activeChild: Element | null;\n    readonly openedWithKey: boolean;\n    handleKeyPress(keyEvent: KeyboardEvent): boolean;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULMenuElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULMenuElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULMenuElement: {\n    prototype: XULMenuElement;\n    new(): XULMenuElement;\n    isInstance: IsInstance<XULMenuElement>;\n};\n\ninterface XULPopupElement extends XULElement {\n    readonly anchorNode: Element | null;\n    readonly isWaylandDragSource: boolean;\n    readonly isWaylandPopup: boolean;\n    label: string;\n    position: string;\n    readonly state: string;\n    readonly triggerNode: Node | null;\n    activateItem(itemElement: Element, options?: ActivateMenuItemOptions): void;\n    getOuterScreenRect(): DOMRect;\n    hidePopup(cancel?: boolean): void;\n    moveTo(left: number, top: number): void;\n    moveToAnchor(anchorElement?: Element | null, position?: string, x?: number, y?: number, attributesOverride?: boolean): void;\n    openPopup(anchorElement?: Element | null, options?: StringOrOpenPopupOptions, x?: number, y?: number, isContextMenu?: boolean, attributesOverride?: boolean, triggerEvent?: Event | null): void;\n    openPopupAtScreen(x?: number, y?: number, isContextMenu?: boolean, triggerEvent?: Event | null): void;\n    openPopupAtScreenRect(position?: string, x?: number, y?: number, width?: number, height?: number, isContextMenu?: boolean, attributesOverride?: boolean, triggerEvent?: Event | null): void;\n    setConstraintRect(rect: DOMRectReadOnly): void;\n    sizeTo(width: number, height: number): void;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULPopupElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULPopupElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULPopupElement: {\n    prototype: XULPopupElement;\n    new(): XULPopupElement;\n    isInstance: IsInstance<XULPopupElement>;\n};\n\ninterface XULResizerElement extends XULElement {\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULResizerElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULResizerElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULResizerElement: {\n    prototype: XULResizerElement;\n    new(): XULResizerElement;\n    isInstance: IsInstance<XULResizerElement>;\n};\n\ninterface XULTextElement extends XULElement {\n    accessKey: string;\n    disabled: boolean;\n    value: string;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULTextElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULTextElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULTextElement: {\n    prototype: XULTextElement;\n    new(): XULTextElement;\n    isInstance: IsInstance<XULTextElement>;\n};\n\ninterface XULTreeElement extends XULElement {\n    readonly columns: TreeColumns | null;\n    focused: boolean;\n    readonly rowHeight: number;\n    readonly rowWidth: number;\n    readonly treeBody: Element | null;\n    view: MozTreeView | null;\n    beginUpdateBatch(): void;\n    clearStyleAndImageCaches(): void;\n    endUpdateBatch(): void;\n    ensureCellIsVisible(row: number, col: TreeColumn | null): void;\n    ensureRowIsVisible(index: number): void;\n    getCellAt(x: number, y: number): TreeCellInfo;\n    getCoordsForCellItem(row: number, col: TreeColumn, element: string): DOMRect | null;\n    getFirstVisibleRow(): number;\n    getLastVisibleRow(): number;\n    getPageLength(): number;\n    getRowAt(x: number, y: number): number;\n    invalidate(): void;\n    invalidateCell(row: number, col: TreeColumn | null): void;\n    invalidateColumn(col: TreeColumn | null): void;\n    invalidateRange(startIndex: number, endIndex: number): void;\n    invalidateRow(index: number): void;\n    isCellCropped(row: number, col: TreeColumn | null): boolean;\n    removeImageCacheEntry(row: number, col: TreeColumn): void;\n    rowCountChanged(index: number, count: number): void;\n    scrollByLines(numLines: number): void;\n    scrollByPages(numPages: number): void;\n    scrollToRow(index: number): void;\n    addEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULTreeElement, ev: XULElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n    removeEventListener<K extends keyof XULElementEventMap>(type: K, listener: (this: XULTreeElement, ev: XULElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}\n\ndeclare var XULTreeElement: {\n    prototype: XULTreeElement;\n    new(): XULTreeElement;\n    isInstance: IsInstance<XULTreeElement>;\n};\n\ndeclare namespace APZHitResultFlags {\n}\n\ndeclare namespace AddonManagerPermissions {\n    function isHostPermitted(host: string): boolean;\n}\n\ndeclare namespace CSS {\n    var highlights: HighlightRegistry;\n    function escape(ident: string): string;\n    function registerProperty(definition: PropertyDefinition): void;\n    function supports(property: string, value: string): boolean;\n    function supports(conditionText: string): boolean;\n}\n\ndeclare namespace ChromeUtils {\n    var aliveUtilityProcesses: number;\n    var domProcessChild: nsIDOMProcessChild | null;\n    var recentJSDevError: any;\n    function CreateOriginAttributesFromOriginSuffix(suffix: string): OriginAttributesDictionary;\n    function addProfilerMarker(name: string, options?: ProfilerMarkerOptions | DOMHighResTimeStamp, text?: string): void;\n    function androidMoveTaskToBack(): void;\n    function base64URLDecode(string: string, options: Base64URLDecodeOptions): ArrayBuffer;\n    function base64URLEncode(source: BufferSource, options: Base64URLEncodeOptions): string;\n    function callFunctionAndLogException(targetGlobal: any, func: any): any;\n    function clearBfcacheByPrincipal(principal: Principal): void;\n    function clearMessagingLayerSecurityState(): void;\n    function clearMessagingLayerSecurityStateByPrincipal(principal: Principal): void;\n    function clearMessagingLayerSecurityStateBySite(schemelessSite: string, pattern?: OriginAttributesPatternDictionary): void;\n    function clearRecentJSDevError(): void;\n    function clearResourceCache(options?: ClearResourceCacheOptions): void;\n    function collectPerfStats(): Promise<string>;\n    function collectScrollingData(): Promise<InteractionData>;\n    function compileScript(url: string, options?: CompileScriptOptionsDictionary): Promise<PrecompiledScript>;\n    function consumeInteractionData(): Record<string, InteractionData>;\n    function createCSPFromHeader(header: string, selfURI: URI, loadingPrincipal: Principal): ContentSecurityPolicy;\n    function createError(message: string, stack?: any): any;\n    function createOriginAttributesFromOrigin(origin: string): OriginAttributesDictionary;\n    function dateNow(): number;\n    function defineESModuleGetters(aTarget: any, aModules: any, aOptions?: ImportESModuleOptionsDictionary): void;\n    function defineLazyGetter(aTarget: any, aName: any, aLambda: any): void;\n    function endWheelTransaction(window: WindowProxy): Promise<void>;\n    function ensureHeadlessContentProcess(aRemoteType: string): Promise<nsIContentParentKeepAlive>;\n    function ensureJSOracleStarted(): void;\n    function fillNonDefaultOriginAttributes(originAttrs?: OriginAttributesDictionary): OriginAttributesDictionary;\n    function generateQI(interfaces: any[]): MozQueryInterface;\n    function getAllDOMProcesses(): nsIDOMProcessParent[];\n    function getAllPossibleUtilityActorNames(): string[];\n    function getBaseDomainFromPartitionKey(partitionKey: string): string;\n    function getCallerLocation(principal: Principal): any;\n    function getClassName(obj: any, unwrap?: boolean): string;\n    function getFormAutofillConfidences(elements: Element[]): FormAutofillConfidences[];\n    function getGMPContentDecryptionModuleInformation(): Promise<CDMInformation[]>;\n    function getLibcConstants(): LibcConstants;\n    function getObjectNodeId(obj: any): NodeId;\n    function getPartitionKeyFromURL(topLevelUrl: string, subresourceUrl: string, foreignContext?: boolean): string;\n    function getPopupControlState(): PopupBlockerState;\n    function getWMFContentDecryptionModuleInformation(): Promise<CDMInformation[]>;\n    function getXPCOMErrorName(aErrorCode: number): string;\n    function hasReportingHeaderForOrigin(aOrigin: string): boolean;\n    function idleDispatch(callback: IdleRequestCallback, options?: IdleRequestOptions): void;\n    function importESModule(aResourceURI: string, aOptions?: ImportESModuleOptionsDictionary): any;\n    function isClassifierBlockingErrorCode(aError: number): boolean;\n    function isDOMObject(obj: any, unwrap?: boolean): boolean;\n    function isDarkBackground(element: Element): boolean;\n    function isDevToolsOpened(): boolean;\n    function isISOStyleDate(str: string): boolean;\n    function isJSIdentifier(str: string): boolean;\n    function isOriginAttributesEqual(aA?: OriginAttributesDictionary, aB?: OriginAttributesDictionary): boolean;\n    function lastExternalProtocolIframeAllowed(): number;\n    function nondeterministicGetWeakMapKeys(map: any): any;\n    function nondeterministicGetWeakSetKeys(aSet: any): any;\n    function notifyDevToolsClosed(): void;\n    function notifyDevToolsOpened(): void;\n    function originAttributesMatchPattern(originAttrs?: OriginAttributesDictionary, pattern?: OriginAttributesPatternDictionary): boolean;\n    function originAttributesToSuffix(originAttrs?: OriginAttributesDictionary): string;\n    function privateNoteIntentionalCrash(): void;\n    function readHeapSnapshot(filePath: string): HeapSnapshot;\n    function registerProcessActor(aName: string, aOptions?: ProcessActorOptions): void;\n    function registerWindowActor(aName: string, aOptions?: WindowActorOptions): void;\n    function releaseAssert(condition: boolean, message?: string): void;\n    function requestProcInfo(): Promise<ParentProcInfoDictionary>;\n    function resetLastExternalProtocolIframeAllowed(): void;\n    function saveHeapSnapshot(boundaries?: HeapSnapshotBoundaries): string;\n    function saveHeapSnapshotGetId(boundaries?: HeapSnapshotBoundaries): string;\n    function setPerfStatsCollectionMask(aCollectionMask: number): void;\n    function shallowClone(obj: any, target?: any): any;\n    function shouldResistFingerprinting(target: JSRFPTarget, overriddenFingerprintingSettings: nsIRFPTargetSetIDL | null, isPBM?: boolean): boolean;\n    function unregisterProcessActor(aName: string): void;\n    function unregisterWindowActor(aName: string): void;\n    function unwaiveXrays(val: any): any;\n    function vsyncEnabled(): boolean;\n    function waiveXrays(val: any): any;\n}\n\ndeclare namespace FuzzingFunctions {\n    function crash(reason?: string): void;\n    function cycleCollect(): void;\n    function enableAccessibility(): void;\n    function garbageCollect(): void;\n    function garbageCollectCompacting(): void;\n    function memoryPressure(): void;\n    function signalIPCReady(): void;\n    function spinEventLoopFor(aMilliseconds: number): void;\n    function synthesizeKeyboardEvents(aKeyValue: string, aDictionary?: KeyboardEventInit): void;\n}\n\ndeclare namespace GPUBufferUsage {\n}\n\ndeclare namespace GPUColorWrite {\n}\n\ndeclare namespace GPUMapMode {\n}\n\ndeclare namespace GPUShaderStage {\n}\n\ndeclare namespace GPUTextureUsage {\n}\n\ndeclare namespace IOUtils {\n    var profileBeforeChange: any;\n    var sendTelemetry: any;\n    function computeHexDigest(path: string, method: HashAlgorithm): Promise<string>;\n    function copy(sourcePath: string, destPath: string, options?: CopyOptions): Promise<void>;\n    function createUniqueDirectory(parent: string, prefix: string, permissions?: number): Promise<string>;\n    function createUniqueFile(parent: string, prefix: string, permissions?: number): Promise<string>;\n    function delMacXAttr(path: string, attr: string): Promise<void>;\n    function exists(path: string): Promise<boolean>;\n    function getChildren(path: string, options?: GetChildrenOptions): Promise<string[]>;\n    function getDirectory(...components: string[]): Promise<nsIFile>;\n    function getFile(...components: string[]): Promise<nsIFile>;\n    function getMacXAttr(path: string, attr: string): Promise<Uint8Array>;\n    function getWindowsAttributes(path: string): Promise<WindowsFileAttributes>;\n    function hasChildren(path: string, options?: HasChildrenOptions): Promise<boolean>;\n    function hasMacXAttr(path: string, attr: string): Promise<boolean>;\n    function makeDirectory(path: string, options?: MakeDirectoryOptions): Promise<void>;\n    function move(sourcePath: string, destPath: string, options?: MoveOptions): Promise<void>;\n    function read(path: string, opts?: ReadOptions): Promise<Uint8Array>;\n    function readJSON(path: string, opts?: ReadUTF8Options): Promise<any>;\n    function readUTF8(path: string, opts?: ReadUTF8Options): Promise<string>;\n    function remove(path: string, options?: RemoveOptions): Promise<void>;\n    function setAccessTime(path: string, access?: number): Promise<number>;\n    function setMacXAttr(path: string, attr: string, value: Uint8Array): Promise<void>;\n    function setModificationTime(path: string, modification?: number): Promise<number>;\n    function setPermissions(path: string, permissions: number, honorUmask?: boolean): Promise<void>;\n    function setWindowsAttributes(path: string, attrs?: WindowsFileAttributes): Promise<void>;\n    function stat(path: string): Promise<FileInfo>;\n    function write(path: string, data: Uint8Array, options?: WriteOptions): Promise<number>;\n    function writeJSON(path: string, value: any, options?: WriteOptions): Promise<number>;\n    function writeUTF8(path: string, string: string, options?: WriteOptions): Promise<number>;\n}\n\ndeclare namespace InspectorUtils {\n    function addPseudoClassLock(element: Element, pseudoClass: string, enabled?: boolean): void;\n    function clearPseudoClassLocks(element: Element): void;\n    function colorTo(fromColor: string, toColorSpace: string): InspectorColorToResult | null;\n    function colorToRGBA(colorString: string): InspectorRGBATuple | null;\n    function containingBlockOf(element: Element): Element | null;\n    function cssPropertyIsShorthand(property: string): boolean;\n    function cssPropertySupportsType(property: string, type: InspectorPropertyType): boolean;\n    function getAllStyleSheets(document: Document, documentOnly?: boolean): StyleSheet[];\n    function getBlockLineCounts(element: Element): number[] | null;\n    function getCSSPropertyNames(options?: PropertyNamesOptions): string[];\n    function getCSSPropertyPrefs(): PropertyPref[];\n    function getCSSPseudoElementNames(): string[];\n    function getCSSRegisteredProperties(document: Document): InspectorCSSPropertyDefinition[];\n    function getCSSRegisteredProperty(document: Document, name: string): InspectorCSSPropertyDefinition | null;\n    function getCSSValuesForProperty(property: string): string[];\n    function getChildrenForNode(node: Node, showingAnonymousContent: boolean, includeAssignedNodes: boolean): Node[];\n    function getContentState(element: Element): number;\n    function getMatchingCSSRules(element: Element, pseudo?: string, relevantLinkVisited?: boolean, withStartingStyle?: boolean): (CSSRule | InspectorDeclaration)[];\n    function getOverflowingChildrenOfElement(element: Element): NodeList;\n    function getParentForNode(node: Node, showingAnonymousContent: boolean): Node | null;\n    function getRegisteredCssHighlights(document: Document, activeOnly?: boolean): string[];\n    function getRelativeRuleLine(rule: CSSRule): number;\n    function getRuleBodyText(initialText: string): string | null;\n    function getRuleColumn(rule: CSSRule): number;\n    function getRuleIndex(rule: CSSRule): number[];\n    function getRuleLine(rule: CSSRule): number;\n    function getStyleSheetRuleCountAndAtRules(sheet: CSSStyleSheet): InspectorStyleSheetRuleCountAndAtRulesResult;\n    function getSubpropertiesForCSSProperty(property: string): string[];\n    function getUsedFontFaces(range: Range, maxRanges?: number, skipCollapsedWhitespace?: boolean): InspectorFontFace[];\n    function hasPseudoClassLock(element: Element, pseudoClass: string): boolean;\n    function hasRulesModifiedByCSSOM(sheet: CSSStyleSheet): boolean;\n    function isCustomElementName(name: string | null, namespaceURI: string | null): boolean;\n    function isElementThemed(element: Element): boolean;\n    function isIgnorableWhitespace(dataNode: CharacterData): boolean;\n    function isInheritedProperty(document: Document, property: string): boolean;\n    function isUsedColorSchemeDark(element: Element): boolean;\n    function isValidCSSColor(colorString: string): boolean;\n    function parseStyleSheet(sheet: CSSStyleSheet, input: string): void;\n    function removeContentState(element: Element, state: number, clearActiveDocument?: boolean): boolean;\n    function removePseudoClassLock(element: Element, pseudoClass: string): void;\n    function replaceBlockRuleBodyTextInStylesheet(styleSheetText: string, line: number, column: number, newBodyText: string): string | null;\n    function rgbToColorName(r: number, g: number, b: number): string;\n    function setContentState(element: Element, state: number): boolean;\n    function setDynamicToolbarMaxHeight(aContext: BrowsingContext | null, aHeight: number): void;\n    function setVerticalClipping(aContext: BrowsingContext | null, aOffset: number): void;\n    function supports(conditionText: string, options?: SupportsOptions): boolean;\n    function valueMatchesSyntax(document: Document, value: string, syntax: string): boolean;\n}\n\ndeclare namespace L10nOverlays {\n    function translateElement(element: Element, translation?: L10nMessage): L10nOverlaysError[] | null;\n}\n\ndeclare namespace MediaControlService {\n    function generateMediaControlKey(aKey: MediaControlKey, aSeekValue?: number): void;\n    function getCurrentActiveMediaMetadata(): MediaMetadataInit;\n    function getCurrentMediaSessionPlaybackState(): MediaSessionPlaybackState;\n}\n\ndeclare namespace Nyx {\n    function getRawData(): ArrayBuffer;\n    function isEnabled(aFuzzerName: string): boolean;\n    function isReplay(): boolean;\n    function isStarted(): boolean;\n    function log(aMsg: string): void;\n    function release(): void;\n    function start(): void;\n}\n\ndeclare namespace PathUtils {\n    var localProfileDir: string;\n    var profileDir: string;\n    var tempDir: string;\n    var xulLibraryPath: string;\n    function filename(path: string): string;\n    function isAbsolute(path: string): boolean;\n    function join(...components: string[]): string;\n    function joinRelative(base: string, relativePath: string): string;\n    function normalize(path: string): string;\n    function parent(path: string, depth?: number): string | null;\n    function split(path: string): string[];\n    function splitRelative(path: string, options?: SplitRelativeOptions): string[];\n    function toExtendedWindowsPath(path: string): string;\n    function toFileURI(path: string): string;\n}\n\ndeclare namespace PlacesObservers {\n    var counts: PlacesEventCounts;\n    function addListener(eventTypes: PlacesEventType[], listener: PlacesEventCallback): void;\n    function addListener(eventTypes: PlacesEventType[], listener: PlacesWeakCallbackWrapper): void;\n    function notifyListeners(events: PlacesEvent[]): void;\n    function removeListener(eventTypes: PlacesEventType[], listener: PlacesEventCallback): void;\n    function removeListener(eventTypes: PlacesEventType[], listener: PlacesWeakCallbackWrapper): void;\n}\n\ndeclare namespace PromiseDebugging {\n    function addUncaughtRejectionObserver(o: UncaughtRejectionObserver): void;\n    function getAllocationStack(p: any): any;\n    function getFullfillmentStack(p: any): any;\n    function getPromiseID(p: any): string;\n    function getRejectionStack(p: any): any;\n    function getState(p: any): PromiseDebuggingStateHolder;\n    function removeUncaughtRejectionObserver(o: UncaughtRejectionObserver): boolean;\n}\n\ndeclare namespace SessionStoreUtils {\n    function addDynamicFrameFilteredListener(target: EventTarget, type: string, listener: any, useCapture: boolean, mozSystemGroup?: boolean): nsISupports | null;\n    function collectDocShellCapabilities(docShell: nsIDocShell): string;\n    function collectFormData(window: WindowProxy): CollectedData | null;\n    function collectScrollPosition(window: WindowProxy): CollectedData | null;\n    function constructSessionStoreRestoreData(): nsISessionStoreRestoreData;\n    function forEachNonDynamicChildFrame(window: WindowProxy, callback: SessionStoreUtilsFrameCallback): void;\n    function initializeRestore(browsingContext: CanonicalBrowsingContext, data: nsISessionStoreRestoreData | null): Promise<void>;\n    function removeDynamicFrameFilteredListener(target: EventTarget, type: string, listener: nsISupports, useCapture: boolean, mozSystemGroup?: boolean): void;\n    function restoreDocShellCapabilities(docShell: nsIDocShell, disallowCapabilities: string): void;\n    function restoreDocShellState(browsingContext: CanonicalBrowsingContext, url: string | null, docShellCaps: string | null): Promise<void>;\n    function restoreFormData(document: Document, data?: CollectedData): boolean;\n    function restoreScrollPosition(frame: Window, data?: CollectedData): void;\n    function restoreSessionStorageFromParent(browsingContext: CanonicalBrowsingContext, sessionStorage: Record<string, Record<string, string>>): void;\n}\n\ndeclare namespace TestUtils {\n    function gc(): Promise<void>;\n}\n\ndeclare namespace UniFFIScaffolding {\n    function callAsync(id: UniFFIFunctionId, ...args: UniFFIScaffoldingValue[]): Promise<UniFFIScaffoldingCallResult>;\n    function callAsyncWrapper(id: UniFFIFunctionId, ...args: UniFFIScaffoldingValue[]): Promise<UniFFIScaffoldingCallResult>;\n    function callSync(id: UniFFIFunctionId, ...args: UniFFIScaffoldingValue[]): UniFFIScaffoldingCallResult;\n    function deregisterCallbackHandler(interfaceId: UniFFICallbackInterfaceId): void;\n    function readPointer(id: UniFFIPointerId, buff: ArrayBuffer, position: number): UniFFIPointer;\n    function registerCallbackHandler(interfaceId: UniFFICallbackInterfaceId, handler: UniFFICallbackHandler): void;\n    function writePointer(id: UniFFIPointerId, ptr: UniFFIPointer, buff: ArrayBuffer, position: number): void;\n}\n\ndeclare namespace UserInteraction {\n    function cancel(id: string, obj?: any): boolean;\n    function finish(id: string, obj?: any, additionalText?: string): boolean;\n    function running(id: string, obj?: any): boolean;\n    function start(id: string, value: string, obj?: any): boolean;\n    function update(id: string, value: string, obj?: any): boolean;\n}\n\ndeclare namespace WebrtcGlobalInformation {\n    var aecDebug: boolean;\n    var aecDebugLogDir: string;\n    function clearAllStats(): void;\n    function clearLogging(): void;\n    function getAllStats(callback: WebrtcGlobalStatisticsCallback, pcIdFilter?: string): void;\n    function getLogging(pattern: string, callback: WebrtcGlobalLoggingCallback): void;\n    function getMediaContext(): WebrtcGlobalMediaContext;\n    function getStatsHistoryPcIds(callback: WebrtcGlobalStatisticsHistoryPcIdsCallback): void;\n    function getStatsHistorySince(callback: WebrtcGlobalStatisticsHistoryCallback, pcIdFilter: string, after?: DOMHighResTimeStamp, sdpAfter?: DOMHighResTimeStamp): void;\n}\n\ninterface Console {\n    assert(condition?: boolean, ...data: any[]): void;\n    clear(): void;\n    count(label?: string): void;\n    countReset(label?: string): void;\n    createInstance(options?: ConsoleInstanceOptions): ConsoleInstance;\n    debug(...data: any[]): void;\n    dir(...data: any[]): void;\n    dirxml(...data: any[]): void;\n    error(...data: any[]): void;\n    exception(...data: any[]): void;\n    group(...data: any[]): void;\n    groupCollapsed(...data: any[]): void;\n    groupEnd(): void;\n    info(...data: any[]): void;\n    log(...data: any[]): void;\n    profile(...data: any[]): void;\n    profileEnd(...data: any[]): void;\n    table(...data: any[]): void;\n    time(label?: string): void;\n    timeEnd(label?: string): void;\n    timeLog(label?: string, ...data: any[]): void;\n    timeStamp(data?: any): void;\n    trace(...data: any[]): void;\n    warn(...data: any[]): void;\n}\n\ndeclare var console: Console;\n\ninterface AnyCallback {\n    (value: any): any;\n}\n\ninterface AudioDataOutputCallback {\n    (output: AudioData): void;\n}\n\ninterface BlobCallback {\n    (blob: Blob | null): void;\n}\n\ninterface ChainedOperation {\n    (): any;\n}\n\ninterface ConsoleInstanceDumpCallback {\n    (message: string): void;\n}\n\ninterface CreateHTMLCallback {\n    (input: string, ...arguments: any[]): string | null;\n}\n\ninterface CreateScriptCallback {\n    (input: string, ...arguments: any[]): string | null;\n}\n\ninterface CreateScriptURLCallback {\n    (input: string, ...arguments: any[]): string | null;\n}\n\ninterface CustomElementConstructor {\n    (): any;\n}\n\ninterface CustomElementCreationCallback {\n    (name: string): void;\n}\n\ninterface DebuggerNotificationCallback {\n    (n: DebuggerNotification): void;\n}\n\ninterface DecodeErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface DecodeSuccessCallback {\n    (decodedData: AudioBuffer): void;\n}\n\ninterface EncodedAudioChunkOutputCallback {\n    (output: EncodedAudioChunk, metadata?: EncodedAudioChunkMetadata): void;\n}\n\ninterface EncodedVideoChunkOutputCallback {\n    (chunk: EncodedVideoChunk, metadata?: EncodedVideoChunkMetadata): void;\n}\n\ninterface ErrorCallback {\n    (err: DOMException): void;\n}\n\ninterface FileCallback {\n    (file: File): void;\n}\n\ninterface FileSystemEntriesCallback {\n    (entries: FileSystemEntry[]): void;\n}\n\ninterface FileSystemEntryCallback {\n    (entry: FileSystemEntry): void;\n}\n\ninterface FontFaceSetForEachCallback {\n    (value: FontFace, key: FontFace, set: FontFaceSet): void;\n}\n\ninterface FrameRequestCallback {\n    (time: DOMHighResTimeStamp): void;\n}\n\ninterface FunctionStringCallback {\n    (data: string): void;\n}\n\ninterface GenerateAssertionCallback {\n    (contents: string, origin: string, options: RTCIdentityProviderOptions): RTCIdentityAssertionResult | PromiseLike<RTCIdentityAssertionResult>;\n}\n\ninterface IdleRequestCallback {\n    (deadline: IdleDeadline): void;\n}\n\ninterface InstallTriggerCallback {\n    (url: string, status: number): void;\n}\n\ninterface IntersectionCallback {\n    (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void;\n}\n\ninterface LockGrantedCallback {\n    (lock: Lock | null): any;\n}\n\ninterface MediaSessionActionHandler {\n    (details: MediaSessionActionDetails): void;\n}\n\ninterface MutationCallback {\n    (mutations: MutationRecord[], observer: MutationObserver): void;\n}\n\ninterface NavigationInterceptHandler {\n    (): void | PromiseLike<void>;\n}\n\ninterface NavigatorUserMediaErrorCallback {\n    (error: MediaStreamError): void;\n}\n\ninterface NavigatorUserMediaSuccessCallback {\n    (stream: MediaStream): void;\n}\n\ninterface NotificationPermissionCallback {\n    (permission: NotificationPermission): void;\n}\n\ninterface OnBeforeUnloadEventHandlerNonNull {\n    (event: Event): string | null;\n}\n\ninterface OnErrorEventHandlerNonNull {\n    (event: Event | string, source?: string, lineno?: number, column?: number, error?: any): any;\n}\n\ninterface PeerConnectionLifecycleCallback {\n    (pc: RTCPeerConnection, windowId: number, eventType: RTCLifecycleEvent): void;\n}\n\ninterface PerformanceObserverCallback {\n    (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;\n}\n\ninterface PlacesEventCallback {\n    (events: PlacesEvent[]): void;\n}\n\ninterface PositionCallback {\n    (position: GeolocationPosition): void;\n}\n\ninterface PositionErrorCallback {\n    (positionError: GeolocationPositionError): void;\n}\n\ninterface PrintCallback {\n    (ctx: MozCanvasPrintState): void;\n}\n\ninterface PromiseDocumentFlushedCallback {\n    (): any;\n}\n\ninterface PromiseReturner {\n    (): any;\n}\n\ninterface QueuingStrategySize {\n    (chunk?: any): number;\n}\n\ninterface RTCPeerConnectionErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface RTCSessionDescriptionCallback {\n    (description: RTCSessionDescriptionInit): void;\n}\n\ninterface ReportingObserverCallback {\n    (reports: Report[], observer: ReportingObserver): void;\n}\n\ninterface ResizeObserverCallback {\n    (entries: ResizeObserverEntry[], observer: ResizeObserver): void;\n}\n\ninterface SchedulerPostTaskCallback {\n    (): any;\n}\n\ninterface SessionStoreUtilsFrameCallback {\n    (frame: WindowProxy, index: number): void;\n}\n\ninterface SetDeleteBooleanCallback {\n    (value: boolean, index: number): void;\n}\n\ninterface SetDeleteInterfaceCallback {\n    (value: TestInterfaceObservableArray, index: number): void;\n}\n\ninterface SetDeleteObjectCallback {\n    (value: any, index: number): void;\n}\n\ninterface TestThrowingCallback {\n    (): void;\n}\n\ninterface ValidateAssertionCallback {\n    (assertion: string, origin: string): RTCIdentityValidationResult | PromiseLike<RTCIdentityValidationResult>;\n}\n\ninterface VideoFrameOutputCallback {\n    (output: VideoFrame): void;\n}\n\ninterface VideoFrameRequestCallback {\n    (now: DOMHighResTimeStamp, metadata: VideoFrameCallbackMetadata): void;\n}\n\ninterface ViewTransitionUpdateCallback {\n    (): any;\n}\n\ninterface VoidFunction {\n    (): void;\n}\n\ninterface WebCodecsErrorCallback {\n    (error: DOMException): void;\n}\n\ninterface WebExtensionLocalizeCallback {\n    (unlocalizedText: string): string;\n}\n\ninterface WebrtcGlobalLoggingCallback {\n    (logMessages: string[]): void;\n}\n\ninterface WebrtcGlobalStatisticsCallback {\n    (reports: WebrtcGlobalStatisticsReport): void;\n}\n\ninterface WebrtcGlobalStatisticsHistoryCallback {\n    (reports: WebrtcGlobalStatisticsReport): void;\n}\n\ninterface WebrtcGlobalStatisticsHistoryPcIdsCallback {\n    (pcIds: string[]): void;\n}\n\ninterface XRFrameRequestCallback {\n    (time: DOMHighResTimeStamp, frame: XRFrame): void;\n}\n\ninterface mozPacketCallback {\n    (level: number, type: mozPacketDumpType, sending: boolean, packet: ArrayBuffer): void;\n}\n\ninterface HTMLElementTagNameMap {\n    \"a\": HTMLAnchorElement;\n    \"abbr\": HTMLElement;\n    \"acronym\": HTMLElement;\n    \"address\": HTMLElement;\n    \"applet\": HTMLUnknownElement;\n    \"area\": HTMLAreaElement;\n    \"article\": HTMLElement;\n    \"aside\": HTMLElement;\n    \"audio\": HTMLAudioElement;\n    \"b\": HTMLElement;\n    \"base\": HTMLBaseElement;\n    \"basefont\": HTMLElement;\n    \"bdi\": HTMLElement;\n    \"bdo\": HTMLElement;\n    \"bgsound\": HTMLUnknownElement;\n    \"big\": HTMLElement;\n    \"blockquote\": HTMLQuoteElement;\n    \"body\": HTMLBodyElement;\n    \"br\": HTMLBRElement;\n    \"button\": HTMLButtonElement;\n    \"canvas\": HTMLCanvasElement;\n    \"caption\": HTMLTableCaptionElement;\n    \"center\": HTMLElement;\n    \"cite\": HTMLElement;\n    \"code\": HTMLElement;\n    \"col\": HTMLTableColElement;\n    \"colgroup\": HTMLTableColElement;\n    \"data\": HTMLDataElement;\n    \"datalist\": HTMLDataListElement;\n    \"dd\": HTMLElement;\n    \"del\": HTMLModElement;\n    \"details\": HTMLDetailsElement;\n    \"dfn\": HTMLElement;\n    \"dialog\": HTMLDialogElement;\n    \"dir\": HTMLDirectoryElement;\n    \"div\": HTMLDivElement;\n    \"dl\": HTMLDListElement;\n    \"dt\": HTMLElement;\n    \"em\": HTMLElement;\n    \"embed\": HTMLEmbedElement;\n    \"fieldset\": HTMLFieldSetElement;\n    \"figcaption\": HTMLElement;\n    \"figure\": HTMLElement;\n    \"font\": HTMLFontElement;\n    \"footer\": HTMLElement;\n    \"form\": HTMLFormElement;\n    \"frame\": HTMLFrameElement;\n    \"frameset\": HTMLFrameSetElement;\n    \"h1\": HTMLHeadingElement;\n    \"h2\": HTMLHeadingElement;\n    \"h3\": HTMLHeadingElement;\n    \"h4\": HTMLHeadingElement;\n    \"h5\": HTMLHeadingElement;\n    \"h6\": HTMLHeadingElement;\n    \"head\": HTMLHeadElement;\n    \"header\": HTMLElement;\n    \"hgroup\": HTMLElement;\n    \"hr\": HTMLHRElement;\n    \"html\": HTMLHtmlElement;\n    \"i\": HTMLElement;\n    \"iframe\": HTMLIFrameElement;\n    \"image\": HTMLElement;\n    \"img\": HTMLImageElement;\n    \"input\": HTMLInputElement;\n    \"ins\": HTMLModElement;\n    \"kbd\": HTMLElement;\n    \"keygen\": HTMLUnknownElement;\n    \"label\": HTMLLabelElement;\n    \"legend\": HTMLLegendElement;\n    \"li\": HTMLLIElement;\n    \"link\": HTMLLinkElement;\n    \"listing\": HTMLPreElement;\n    \"main\": HTMLElement;\n    \"map\": HTMLMapElement;\n    \"mark\": HTMLElement;\n    \"marquee\": HTMLMarqueeElement;\n    \"menu\": HTMLMenuElement;\n    \"meta\": HTMLMetaElement;\n    \"meter\": HTMLMeterElement;\n    \"multicol\": HTMLUnknownElement;\n    \"nav\": HTMLElement;\n    \"nobr\": HTMLElement;\n    \"noembed\": HTMLElement;\n    \"noframes\": HTMLElement;\n    \"noscript\": HTMLElement;\n    \"object\": HTMLObjectElement;\n    \"ol\": HTMLOListElement;\n    \"optgroup\": HTMLOptGroupElement;\n    \"option\": HTMLOptionElement;\n    \"output\": HTMLOutputElement;\n    \"p\": HTMLParagraphElement;\n    \"param\": HTMLParamElement;\n    \"picture\": HTMLPictureElement;\n    \"plaintext\": HTMLElement;\n    \"pre\": HTMLPreElement;\n    \"progress\": HTMLProgressElement;\n    \"q\": HTMLQuoteElement;\n    \"rb\": HTMLElement;\n    \"rp\": HTMLElement;\n    \"rt\": HTMLElement;\n    \"rtc\": HTMLElement;\n    \"ruby\": HTMLElement;\n    \"s\": HTMLElement;\n    \"samp\": HTMLElement;\n    \"script\": HTMLScriptElement;\n    \"search\": HTMLElement;\n    \"section\": HTMLElement;\n    \"select\": HTMLSelectElement;\n    \"slot\": HTMLSlotElement;\n    \"small\": HTMLElement;\n    \"source\": HTMLSourceElement;\n    \"span\": HTMLSpanElement;\n    \"strike\": HTMLElement;\n    \"strong\": HTMLElement;\n    \"style\": HTMLStyleElement;\n    \"sub\": HTMLElement;\n    \"summary\": HTMLElement;\n    \"sup\": HTMLElement;\n    \"table\": HTMLTableElement;\n    \"tbody\": HTMLTableSectionElement;\n    \"td\": HTMLTableCellElement;\n    \"template\": HTMLTemplateElement;\n    \"textarea\": HTMLTextAreaElement;\n    \"tfoot\": HTMLTableSectionElement;\n    \"th\": HTMLTableCellElement;\n    \"thead\": HTMLTableSectionElement;\n    \"time\": HTMLTimeElement;\n    \"title\": HTMLTitleElement;\n    \"tr\": HTMLTableRowElement;\n    \"track\": HTMLTrackElement;\n    \"tt\": HTMLElement;\n    \"u\": HTMLElement;\n    \"ul\": HTMLUListElement;\n    \"var\": HTMLElement;\n    \"video\": HTMLVideoElement;\n    \"wbr\": HTMLElement;\n    \"xmp\": HTMLPreElement;\n}\n\ninterface HTMLElementDeprecatedTagNameMap {\n}\n\ninterface SVGElementTagNameMap {\n}\n\ninterface MathMLElementTagNameMap {\n}\n\n/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */\ntype ElementTagNameMap = HTMLElementTagNameMap & Pick<SVGElementTagNameMap, Exclude<keyof SVGElementTagNameMap, keyof HTMLElementTagNameMap>>;\n\ndeclare var Audio: {\n    new(src?: string): HTMLAudioElement;\n};\ndeclare var Image: {\n    new(width?: number, height?: number): HTMLImageElement;\n};\ndeclare var Option: {\n    new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement;\n};\ndeclare var webkitSpeechGrammar: {\n    new(): SpeechGrammar;\n};\ndeclare var webkitSpeechGrammarList: {\n    new(): SpeechGrammarList;\n};\ndeclare var webkitSpeechRecognition: {\n    new(): SpeechRecognition;\n};\n\n// Moved to lib.gecko.dom-vars.d.ts\n\ndeclare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\ntype AlgorithmIdentifier = any;\ntype AllowSharedBufferSource = ArrayBuffer | ArrayBufferView;\ntype Base64URLString = string;\ntype BinaryData = ArrayBuffer | ArrayBufferView;\ntype BlobPart = BufferSource | Blob | string;\ntype BodyInit = XMLHttpRequestBodyInit;\ntype BufferSource = ArrayBufferView | ArrayBuffer;\ntype COSEAlgorithmIdentifier = number;\ntype CanvasImageSource = HTMLOrSVGImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas | ImageBitmap | VideoFrame;\ntype CanvasSource = HTMLCanvasElement | OffscreenCanvas;\ntype ClipboardItemData = Promise<ClipboardItemDataType>;\ntype ClipboardItemDataType = string | Blob;\ntype ClipboardItems = ClipboardItem[];\ntype CollectedFormDataValue = any;\ntype ConstrainBoolean = boolean | ConstrainBooleanParameters;\ntype ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;\ntype ConstrainDouble = number | ConstrainDoubleRange;\ntype ConstrainLong = number | ConstrainLongRange;\ntype ContentSecurityPolicy = nsIContentSecurityPolicy;\ntype Cookie = nsICookie;\ntype CookieList = CookieListItem[];\ntype DOMHighResTimeStamp = number;\ntype DOMTimeStamp = number;\ntype EpochTimeStamp = number;\ntype FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams;\ntype Float32List = Float32Array | GLfloat[];\ntype FormDataEntryValue = Blob | Directory | string;\ntype FormDataValue = any;\ntype GLbitfield = number;\ntype GLboolean = boolean;\ntype GLclampf = number;\ntype GLenum = number;\ntype GLfloat = number;\ntype GLint = number;\ntype GLint64 = number;\ntype GLintptr = number;\ntype GLsizei = number;\ntype GLsizeiptr = number;\ntype GLuint = number;\ntype GLuint64 = number;\ntype GPUBindingResource = GPUSampler | GPUTextureView | GPUBufferBinding;\ntype GPUBufferDynamicOffset = number;\ntype GPUBufferUsageFlags = number;\ntype GPUColor = number[] | GPUColorDict;\ntype GPUColorWriteFlags = number;\ntype GPUCopyExternalImageSource = ImageBitmap | HTMLImageElement | HTMLCanvasElement | OffscreenCanvas;\ntype GPUDepthBias = number;\ntype GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;\ntype GPUFlagsConstant = number;\ntype GPUIndex32 = number;\ntype GPUIntegerCoordinate = number;\ntype GPUIntegerCoordinateOut = number;\ntype GPUMapModeFlags = number;\ntype GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;\ntype GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;\ntype GPUPipelineConstantValue = number;\ntype GPUSampleMask = number;\ntype GPUShaderStageFlags = number;\ntype GPUSignedOffset32 = number;\ntype GPUSize32 = number;\ntype GPUSize32Out = number;\ntype GPUSize64 = number;\ntype GPUSize64Out = number;\ntype GPUStencilValue = number;\ntype GPUTextureUsageFlags = number;\ntype GeometryNode = Text | Element | Document;\ntype HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement;\ntype HeadersInit = string[][] | Record<string, string>;\ntype ImageBitmapSource = CanvasImageSource | Blob | CanvasRenderingContext2D | ImageData;\ntype ImageBufferSource = AllowSharedBufferSource | ReadableStream;\ntype InferenceSessionFeedsType = InferenceSessionTensorMapType;\ntype InferenceSessionReturnType = InferenceSessionTensorMapType;\ntype InferenceSessionTensorMapType = Record<string, Tensor>;\ntype InputStream = nsIInputStream;\ntype Int32List = Int32Array | GLint[];\ntype KeyFormat = string;\ntype KeyType = string;\ntype KeyUsage = string;\ntype L10nArgs = Record<string, string | number | null>;\ntype L10nKey = string | L10nIdArgs;\ntype L10nResourceId = string | ResourceId;\ntype LoadContext = nsILoadContext;\ntype LoadInfo = nsILoadInfo;\ntype MLSBytesOrUint8Array = MLSBytes | Uint8Array;\ntype MLSBytesOrUint8ArrayOrUTF8String = MLSBytes | Uint8Array | string;\ntype MLSClientId = MLSBytes;\ntype MLSCredential = MLSBytes;\ntype MLSGroupEpoch = MLSBytes;\ntype MLSGroupId = MLSBytes;\ntype MLSKeyPackage = MLSBytes;\ntype MLSProposal = MLSBytes;\ntype MatchGlobOrString = MatchGlob | string;\ntype MatchPatternSetOrStringSequence = MatchPatternSet | string[];\ntype MessageEventSource = WindowProxy | MessagePort | ServiceWorker;\ntype MozChannel = nsIChannel;\ntype MozTreeView = nsITreeView;\ntype NodeId = number;\ntype NodeSize = number;\ntype OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext;\ntype OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;\ntype OnErrorEventHandler = OnErrorEventHandlerNonNull | null;\ntype OutputStream = nsIOutputStream;\ntype PerformanceEntryList = PerformanceEntry[];\ntype Principal = nsIPrincipal;\ntype PublicKeyCredentialClientCapabilities = Record<string, boolean>;\ntype RTCRtpTransform = RTCRtpScriptTransform;\ntype ReadableStreamReader = ReadableStreamDefaultReader | ReadableStreamBYOBReader;\ntype ReferrerInfo = nsIReferrerInfo;\ntype RemoteTab = nsIRemoteTab;\ntype ReportList = Report[];\ntype RequestInfo = Request | string;\ntype SanitizerAttribute = string | SanitizerAttributeNamespace;\ntype SanitizerElement = string | SanitizerElementNamespace;\ntype SanitizerElementWithAttributes = string | SanitizerElementNamespaceWithAttributes;\ntype StackFrame = nsIStackFrame;\ntype StringOrOpenPopupOptions = string | OpenPopupOptions;\ntype StructuredClonable = any;\ntype TimerHandler = Function | TrustedScript | string;\ntype TrustedType = TrustedHTML | TrustedScript | TrustedScriptURL;\ntype URI = nsIURI;\ntype URLPatternInput = string | URLPatternInit;\ntype Uint32List = Uint32Array | GLuint[];\ntype UniFFICallbackInterfaceId = number;\ntype UniFFICallbackObjectHandle = number;\ntype UniFFIFunctionId = number;\ntype UniFFIPointerId = number;\ntype UniFFIScaffoldingValue = number | ArrayBuffer | UniFFIPointer;\ntype UnrestrictedDoubleOrKeyframeAnimationOptions = number | KeyframeAnimationOptions;\ntype VibratePattern = number | number[];\ntype XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string;\ntype XRWebGLRenderingContext = WebGLRenderingContext | WebGL2RenderingContext;\ntype XSLTParameterValue = number | boolean | string | Node | Node[] | XPathResult;\ntype XULCommandDispatcher = nsIDOMXULCommandDispatcher;\ntype XULControllers = nsIControllers;\ntype nsContentPolicyType = number;\ntype AlignSetting = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype AlphaOption = \"discard\" | \"keep\";\ntype AnimationPlayState = \"finished\" | \"idle\" | \"paused\" | \"running\";\ntype AnimationReplaceState = \"active\" | \"persisted\" | \"removed\";\ntype AudioContextState = \"closed\" | \"running\" | \"suspended\";\ntype AudioSampleFormat = \"f32\" | \"f32-planar\" | \"s16\" | \"s16-planar\" | \"s32\" | \"s32-planar\" | \"u8\" | \"u8-planar\";\ntype AutoKeyword = \"auto\";\ntype AutoplayPolicy = \"allowed\" | \"allowed-muted\" | \"disallowed\";\ntype AutoplayPolicyMediaType = \"audiocontext\" | \"mediaelement\";\ntype AvcBitstreamFormat = \"annexb\" | \"avc\";\ntype Base64URLDecodePadding = \"ignore\" | \"reject\" | \"require\";\ntype BinaryType = \"arraybuffer\" | \"blob\";\ntype BiquadFilterType = \"allpass\" | \"bandpass\" | \"highpass\" | \"highshelf\" | \"lowpass\" | \"lowshelf\" | \"notch\" | \"peaking\";\ntype BitrateMode = \"constant\" | \"variable\";\ntype CSSBoxType = \"border\" | \"content\" | \"margin\" | \"padding\";\ntype CSSStyleSheetParsingMode = \"agent\" | \"author\" | \"user\";\ntype CacheStorageNamespace = \"chrome\" | \"content\";\ntype CallbackDebuggerNotificationPhase = \"post\" | \"pre\";\ntype CanvasContextProperties = \"both\" | \"fill\" | \"none\" | \"stroke\";\ntype CanvasDirection = \"inherit\" | \"ltr\" | \"rtl\";\ntype CanvasFontKerning = \"auto\" | \"none\" | \"normal\";\ntype CanvasFontStretch = \"condensed\" | \"expanded\" | \"extra-condensed\" | \"extra-expanded\" | \"normal\" | \"semi-condensed\" | \"semi-expanded\" | \"ultra-condensed\" | \"ultra-expanded\";\ntype CanvasFontVariantCaps = \"all-petite-caps\" | \"all-small-caps\" | \"normal\" | \"petite-caps\" | \"small-caps\" | \"titling-caps\" | \"unicase\";\ntype CanvasLineCap = \"butt\" | \"round\" | \"square\";\ntype CanvasLineJoin = \"bevel\" | \"miter\" | \"round\";\ntype CanvasTextAlign = \"center\" | \"end\" | \"left\" | \"right\" | \"start\";\ntype CanvasTextBaseline = \"alphabetic\" | \"bottom\" | \"hanging\" | \"ideographic\" | \"middle\" | \"top\";\ntype CanvasTextRendering = \"auto\" | \"geometricPrecision\" | \"optimizeLegibility\" | \"optimizeSpeed\";\ntype CanvasWindingRule = \"evenodd\" | \"nonzero\";\ntype CaretChangedReason = \"dragcaret\" | \"longpressonemptycontent\" | \"presscaret\" | \"releasecaret\" | \"scroll\" | \"taponcaret\" | \"updateposition\" | \"visibilitychange\";\ntype ChannelCountMode = \"clamped-max\" | \"explicit\" | \"max\";\ntype ChannelInterpretation = \"discrete\" | \"speakers\";\ntype CheckerboardReason = \"recent\" | \"severe\";\ntype CodecState = \"closed\" | \"configured\" | \"unconfigured\";\ntype ColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ColorSpaceConversion = \"default\" | \"none\";\ntype CompositeOperation = \"accumulate\" | \"add\" | \"replace\";\ntype CompressionFormat = \"deflate\" | \"deflate-raw\" | \"gzip\" | \"zstd\";\ntype ConnectionType = \"bluetooth\" | \"cellular\" | \"ethernet\" | \"none\" | \"other\" | \"unknown\" | \"wifi\";\ntype ConsoleLevel = \"error\" | \"log\" | \"warning\";\ntype ConsoleLogLevel = \"All\" | \"Clear\" | \"Debug\" | \"Dir\" | \"Dirxml\" | \"Error\" | \"Group\" | \"GroupEnd\" | \"Info\" | \"Log\" | \"Off\" | \"Profile\" | \"ProfileEnd\" | \"Time\" | \"TimeEnd\" | \"TimeLog\" | \"Trace\" | \"Warn\";\ntype ContentScriptExecutionWorld = \"ISOLATED\" | \"MAIN\" | \"USER_SCRIPT\";\ntype ContentScriptRunAt = \"document_end\" | \"document_idle\" | \"document_start\";\ntype CookieSameSite = \"lax\" | \"none\" | \"strict\";\ntype CredentialMediationRequirement = \"conditional\" | \"optional\" | \"required\" | \"silent\";\ntype CredentialProtectionPolicy = \"userVerificationOptional\" | \"userVerificationOptionalWithCredentialIDList\" | \"userVerificationRequired\";\ntype DebuggerNotificationType = \"cancelAnimationFrame\" | \"clearInterval\" | \"clearTimeout\" | \"domEvent\" | \"requestAnimationFrame\" | \"requestAnimationFrameCallback\" | \"setInterval\" | \"setIntervalCallback\" | \"setTimeout\" | \"setTimeoutCallback\";\ntype DeclarationOrigin = \"animations\" | \"pres-hints\" | \"smil\" | \"style-attribute\" | \"transitions\" | \"user\" | \"user-agent\";\ntype DecoderDoctorReportType = \"mediacannotinitializepulseaudio\" | \"mediacannotplaynodecoders\" | \"mediadecodeerror\" | \"mediadecodewarning\" | \"medianodecoders\" | \"mediaplatformdecodernotfound\" | \"mediaunsupportedlibavcodec\" | \"mediawidevinenowmf\" | \"mediawmfneeded\";\ntype DirectionSetting = \"\" | \"lr\" | \"rl\";\ntype DisplayMode = \"browser\" | \"fullscreen\" | \"minimal-ui\" | \"standalone\";\ntype DistanceModelType = \"exponential\" | \"inverse\" | \"linear\";\ntype EncodedAudioChunkType = \"delta\" | \"key\";\ntype EncodedVideoChunkType = \"delta\" | \"key\";\ntype EndingType = \"native\" | \"transparent\";\ntype EventCallbackDebuggerNotificationType = \"closewatcher\" | \"global\" | \"node\" | \"websocket\" | \"worker\" | \"xhr\";\ntype FetchState = \"aborted\" | \"complete\" | \"errored\" | \"requesting\" | \"responding\";\ntype FileSystemHandleKind = \"directory\" | \"file\";\ntype FileType = \"directory\" | \"other\" | \"regular\";\ntype FillMode = \"auto\" | \"backwards\" | \"both\" | \"forwards\" | \"none\";\ntype FlexItemClampState = \"clamped_to_max\" | \"clamped_to_min\" | \"unclamped\";\ntype FlexLineGrowthState = \"growing\" | \"shrinking\";\ntype FlexPhysicalDirection = \"horizontal-lr\" | \"horizontal-rl\" | \"vertical-bt\" | \"vertical-tb\";\ntype FontFaceLoadStatus = \"error\" | \"loaded\" | \"loading\" | \"unloaded\";\ntype FontFaceSetLoadStatus = \"loaded\" | \"loading\";\ntype ForcedColorsOverride = \"active\" | \"none\";\ntype GPUAddressMode = \"clamp-to-edge\" | \"mirror-repeat\" | \"repeat\";\ntype GPUAutoLayoutMode = \"auto\";\ntype GPUBlendFactor = \"constant\" | \"dst\" | \"dst-alpha\" | \"one\" | \"one-minus-constant\" | \"one-minus-dst\" | \"one-minus-dst-alpha\" | \"one-minus-src\" | \"one-minus-src-alpha\" | \"src\" | \"src-alpha\" | \"src-alpha-saturated\" | \"zero\";\ntype GPUBlendOperation = \"add\" | \"max\" | \"min\" | \"reverse-subtract\" | \"subtract\";\ntype GPUBufferBindingType = \"read-only-storage\" | \"storage\" | \"uniform\";\ntype GPUBufferMapState = \"mapped\" | \"pending\" | \"unmapped\";\ntype GPUCanvasAlphaMode = \"opaque\" | \"premultiplied\";\ntype GPUCompareFunction = \"always\" | \"equal\" | \"greater\" | \"greater-equal\" | \"less\" | \"less-equal\" | \"never\" | \"not-equal\";\ntype GPUCompilationMessageType = \"error\" | \"info\" | \"warning\";\ntype GPUCullMode = \"back\" | \"front\" | \"none\";\ntype GPUErrorFilter = \"internal\" | \"out-of-memory\" | \"validation\";\ntype GPUFeatureName = \"bgra8unorm-storage\" | \"clip-distances\" | \"core-features-and-limits\" | \"depth-clip-control\" | \"depth32float-stencil8\" | \"dual-source-blending\" | \"float32-blendable\" | \"float32-filterable\" | \"indirect-first-instance\" | \"rg11b10ufloat-renderable\" | \"shader-f16\" | \"subgroups\" | \"texture-compression-astc\" | \"texture-compression-astc-sliced-3d\" | \"texture-compression-bc\" | \"texture-compression-bc-sliced-3d\" | \"texture-compression-etc2\" | \"timestamp-query\";\ntype GPUFilterMode = \"linear\" | \"nearest\";\ntype GPUFrontFace = \"ccw\" | \"cw\";\ntype GPUIndexFormat = \"uint16\" | \"uint32\";\ntype GPULoadOp = \"clear\" | \"load\";\ntype GPUMipmapFilterMode = \"linear\" | \"nearest\";\ntype GPUPipelineErrorReason = \"internal\" | \"validation\";\ntype GPUPowerPreference = \"high-performance\" | \"low-power\";\ntype GPUPrimitiveTopology = \"line-list\" | \"line-strip\" | \"point-list\" | \"triangle-list\" | \"triangle-strip\";\ntype GPUQueryType = \"occlusion\" | \"timestamp\";\ntype GPUSamplerBindingType = \"comparison\" | \"filtering\" | \"non-filtering\";\ntype GPUStencilOperation = \"decrement-clamp\" | \"decrement-wrap\" | \"increment-clamp\" | \"increment-wrap\" | \"invert\" | \"keep\" | \"replace\" | \"zero\";\ntype GPUStorageTextureAccess = \"read-only\" | \"read-write\" | \"write-only\";\ntype GPUStoreOp = \"discard\" | \"store\";\ntype GPUTextureAspect = \"all\" | \"depth-only\" | \"stencil-only\";\ntype GPUTextureDimension = \"1d\" | \"2d\" | \"3d\";\ntype GPUTextureFormat = \"astc-10x10-unorm\" | \"astc-10x10-unorm-srgb\" | \"astc-10x5-unorm\" | \"astc-10x5-unorm-srgb\" | \"astc-10x6-unorm\" | \"astc-10x6-unorm-srgb\" | \"astc-10x8-unorm\" | \"astc-10x8-unorm-srgb\" | \"astc-12x10-unorm\" | \"astc-12x10-unorm-srgb\" | \"astc-12x12-unorm\" | \"astc-12x12-unorm-srgb\" | \"astc-4x4-unorm\" | \"astc-4x4-unorm-srgb\" | \"astc-5x4-unorm\" | \"astc-5x4-unorm-srgb\" | \"astc-5x5-unorm\" | \"astc-5x5-unorm-srgb\" | \"astc-6x5-unorm\" | \"astc-6x5-unorm-srgb\" | \"astc-6x6-unorm\" | \"astc-6x6-unorm-srgb\" | \"astc-8x5-unorm\" | \"astc-8x5-unorm-srgb\" | \"astc-8x6-unorm\" | \"astc-8x6-unorm-srgb\" | \"astc-8x8-unorm\" | \"astc-8x8-unorm-srgb\" | \"bc1-rgba-unorm\" | \"bc1-rgba-unorm-srgb\" | \"bc2-rgba-unorm\" | \"bc2-rgba-unorm-srgb\" | \"bc3-rgba-unorm\" | \"bc3-rgba-unorm-srgb\" | \"bc4-r-snorm\" | \"bc4-r-unorm\" | \"bc5-rg-snorm\" | \"bc5-rg-unorm\" | \"bc6h-rgb-float\" | \"bc6h-rgb-ufloat\" | \"bc7-rgba-unorm\" | \"bc7-rgba-unorm-srgb\" | \"bgra8unorm\" | \"bgra8unorm-srgb\" | \"depth16unorm\" | \"depth24plus\" | \"depth24plus-stencil8\" | \"depth32float\" | \"depth32float-stencil8\" | \"eac-r11snorm\" | \"eac-r11unorm\" | \"eac-rg11snorm\" | \"eac-rg11unorm\" | \"etc2-rgb8a1unorm\" | \"etc2-rgb8a1unorm-srgb\" | \"etc2-rgb8unorm\" | \"etc2-rgb8unorm-srgb\" | \"etc2-rgba8unorm\" | \"etc2-rgba8unorm-srgb\" | \"r16float\" | \"r16sint\" | \"r16uint\" | \"r32float\" | \"r32sint\" | \"r32uint\" | \"r8sint\" | \"r8snorm\" | \"r8uint\" | \"r8unorm\" | \"rg11b10ufloat\" | \"rg16float\" | \"rg16sint\" | \"rg16uint\" | \"rg32float\" | \"rg32sint\" | \"rg32uint\" | \"rg8sint\" | \"rg8snorm\" | \"rg8uint\" | \"rg8unorm\" | \"rgb10a2uint\" | \"rgb10a2unorm\" | \"rgb9e5ufloat\" | \"rgba16float\" | \"rgba16sint\" | \"rgba16uint\" | \"rgba32float\" | \"rgba32sint\" | \"rgba32uint\" | \"rgba8sint\" | \"rgba8snorm\" | \"rgba8uint\" | \"rgba8unorm\" | \"rgba8unorm-srgb\" | \"stencil8\";\ntype GPUTextureSampleType = \"depth\" | \"float\" | \"sint\" | \"uint\" | \"unfilterable-float\";\ntype GPUTextureViewDimension = \"1d\" | \"2d\" | \"2d-array\" | \"3d\" | \"cube\" | \"cube-array\";\ntype GPUVertexFormat = \"float16\" | \"float16x2\" | \"float16x4\" | \"float32\" | \"float32x2\" | \"float32x3\" | \"float32x4\" | \"sint16\" | \"sint16x2\" | \"sint16x4\" | \"sint32\" | \"sint32x2\" | \"sint32x3\" | \"sint32x4\" | \"sint8\" | \"sint8x2\" | \"sint8x4\" | \"snorm16\" | \"snorm16x2\" | \"snorm16x4\" | \"snorm8\" | \"snorm8x2\" | \"snorm8x4\" | \"uint16\" | \"uint16x2\" | \"uint16x4\" | \"uint32\" | \"uint32x2\" | \"uint32x3\" | \"uint32x4\" | \"uint8\" | \"uint8x2\" | \"uint8x4\" | \"unorm10-10-10-2\" | \"unorm16\" | \"unorm16x2\" | \"unorm16x4\" | \"unorm8\" | \"unorm8x2\" | \"unorm8x4\" | \"unorm8x4-bgra\";\ntype GPUVertexStepMode = \"instance\" | \"vertex\";\ntype GamepadHand = \"\" | \"left\" | \"right\";\ntype GamepadHapticActuatorType = \"vibration\";\ntype GamepadLightIndicatorType = \"on-off\" | \"rgb\";\ntype GamepadMappingType = \"\" | \"standard\" | \"xr-standard\";\ntype GetUserMediaRequestType = \"getusermedia\" | \"recording-device-stopped\" | \"selectaudiooutput\";\ntype GridDeclaration = \"explicit\" | \"implicit\";\ntype GridTrackState = \"removed\" | \"repeat\" | \"static\";\ntype HDCPVersion = \"1.0\" | \"1.1\" | \"1.2\" | \"1.3\" | \"1.4\" | \"2.0\" | \"2.1\" | \"2.2\" | \"2.3\";\ntype HardwareAcceleration = \"no-preference\" | \"prefer-hardware\" | \"prefer-software\";\ntype HashAlgorithm = \"sha256\" | \"sha384\" | \"sha512\";\ntype HdrMetadataType = \"smpteSt2086\" | \"smpteSt2094-10\" | \"smpteSt2094-40\";\ntype HeadersGuardEnum = \"immutable\" | \"none\" | \"request\" | \"request-no-cors\" | \"response\";\ntype HighlightType = \"grammar-error\" | \"highlight\" | \"spelling-error\";\ntype IDBCursorDirection = \"next\" | \"nextunique\" | \"prev\" | \"prevunique\";\ntype IDBRequestReadyState = \"done\" | \"pending\";\ntype IDBTransactionDurability = \"default\" | \"relaxed\" | \"strict\";\ntype IDBTransactionMode = \"cleanup\" | \"readonly\" | \"readwrite\" | \"readwriteflush\" | \"versionchange\";\ntype IdentityCredentialRequestOptionsMode = \"active\" | \"passive\";\ntype ImageOrientation = \"flipY\" | \"from-image\" | \"none\";\ntype ImportESModuleTargetGlobal = \"contextual\" | \"current\" | \"devtools\" | \"shared\";\ntype InspectorPropertyType = \"color\" | \"gradient\" | \"timing-function\";\ntype IterationCompositeOperation = \"accumulate\" | \"replace\";\ntype JSRFPTarget = \"CSSPrefersColorScheme\" | \"HttpUserAgent\" | \"JSLocalePrompt\" | \"RoundWindowSize\" | \"SiteSpecificZoom\";\ntype L10nFileSourceHasFileStatus = \"missing\" | \"present\" | \"unknown\";\ntype LatencyMode = \"quality\" | \"realtime\";\ntype LineAlignSetting = \"center\" | \"end\" | \"start\";\ntype LockMode = \"exclusive\" | \"shared\";\ntype LoginStatus = \"logged-in\" | \"logged-out\";\ntype MIDIPortConnectionState = \"closed\" | \"open\" | \"pending\";\ntype MIDIPortDeviceState = \"connected\" | \"disconnected\";\ntype MIDIPortType = \"input\" | \"output\";\ntype MLSObjectType = \"application-message-ciphertext\" | \"application-message-plaintext\" | \"client-identifier\" | \"commit-output\" | \"commit-processed\" | \"credential-basic\" | \"exporter-context\" | \"exporter-label\" | \"exporter-output\" | \"group-epoch\" | \"group-identifier\" | \"group-info\" | \"key-package\" | \"proposal\" | \"welcome\";\ntype MediaControlKey = \"focus\" | \"nexttrack\" | \"pause\" | \"play\" | \"playpause\" | \"previoustrack\" | \"seekbackward\" | \"seekforward\" | \"seekto\" | \"skipad\" | \"stop\";\ntype MediaDecodingType = \"file\" | \"media-source\";\ntype MediaDeviceKind = \"audioinput\" | \"audiooutput\" | \"videoinput\";\ntype MediaEncodingType = \"record\" | \"transmission\";\ntype MediaKeyMessageType = \"individualization-request\" | \"license-release\" | \"license-renewal\" | \"license-request\";\ntype MediaKeySessionType = \"persistent-license\" | \"temporary\";\ntype MediaKeyStatus = \"expired\" | \"internal-error\" | \"output-downscaled\" | \"output-restricted\" | \"released\" | \"status-pending\" | \"usable\";\ntype MediaKeysRequirement = \"not-allowed\" | \"optional\" | \"required\";\ntype MediaSessionAction = \"nexttrack\" | \"pause\" | \"play\" | \"previoustrack\" | \"seekbackward\" | \"seekforward\" | \"seekto\" | \"skipad\" | \"stop\";\ntype MediaSessionPlaybackState = \"none\" | \"paused\" | \"playing\";\ntype MediaSourceEndOfStreamError = \"decode\" | \"network\";\ntype MediaSourceReadyState = \"closed\" | \"ended\" | \"open\";\ntype MediaStreamTrackState = \"ended\" | \"live\";\ntype MozContentPolicyType = \"beacon\" | \"csp_report\" | \"font\" | \"image\" | \"imageset\" | \"json\" | \"main_frame\" | \"media\" | \"object\" | \"other\" | \"ping\" | \"script\" | \"speculative\" | \"stylesheet\" | \"sub_frame\" | \"web_manifest\" | \"websocket\" | \"xml_dtd\" | \"xmlhttprequest\" | \"xslt\";\ntype MozUrlClassificationFlags = \"antifraud\" | \"any_basic_tracking\" | \"any_social_tracking\" | \"any_strict_tracking\" | \"consentmanager\" | \"cryptomining\" | \"cryptomining_content\" | \"emailtracking\" | \"emailtracking_content\" | \"fingerprinting\" | \"fingerprinting_content\" | \"socialtracking\" | \"socialtracking_facebook\" | \"socialtracking_linkedin\" | \"socialtracking_twitter\" | \"tracking\" | \"tracking_ad\" | \"tracking_analytics\" | \"tracking_content\" | \"tracking_social\";\ntype NavigationFocusReset = \"after-transition\" | \"manual\";\ntype NavigationHistoryBehavior = \"auto\" | \"push\" | \"replace\";\ntype NavigationScrollBehavior = \"after-transition\" | \"manual\";\ntype NavigationTimingType = \"back_forward\" | \"navigate\" | \"prerender\" | \"reload\";\ntype NavigationType = \"push\" | \"reload\" | \"replace\" | \"traverse\";\ntype NotificationDirection = \"auto\" | \"ltr\" | \"rtl\";\ntype NotificationPermission = \"default\" | \"denied\" | \"granted\";\ntype OffscreenRenderingContextId = \"2d\" | \"bitmaprenderer\" | \"webgl\" | \"webgl2\" | \"webgpu\";\ntype OpusBitstreamFormat = \"ogg\" | \"opus\";\ntype OrientationLockType = \"any\" | \"landscape\" | \"landscape-primary\" | \"landscape-secondary\" | \"natural\" | \"portrait\" | \"portrait-primary\" | \"portrait-secondary\";\ntype OrientationType = \"landscape-primary\" | \"landscape-secondary\" | \"portrait-primary\" | \"portrait-secondary\";\ntype OscillatorType = \"custom\" | \"sawtooth\" | \"sine\" | \"square\" | \"triangle\";\ntype OverSampleType = \"2x\" | \"4x\" | \"none\";\ntype OverridableErrorCategory = \"domain-mismatch\" | \"expired-or-not-yet-valid\" | \"trust-error\" | \"unset\";\ntype PCError = \"InvalidAccessError\" | \"InvalidCharacterError\" | \"InvalidModificationError\" | \"InvalidStateError\" | \"NotReadableError\" | \"NotSupportedError\" | \"OperationError\" | \"RangeError\" | \"SyntaxError\" | \"TypeError\" | \"UnknownError\";\ntype PCObserverStateType = \"ConnectionState\" | \"IceConnectionState\" | \"IceGatheringState\" | \"None\" | \"SignalingState\";\ntype PanningModelType = \"HRTF\" | \"equalpower\";\ntype PaymentComplete = \"fail\" | \"success\" | \"unknown\";\ntype PaymentShippingType = \"delivery\" | \"pickup\" | \"shipping\";\ntype PermissionName = \"camera\" | \"geolocation\" | \"microphone\" | \"midi\" | \"notifications\" | \"persistent-storage\" | \"push\" | \"screen-wake-lock\" | \"storage-access\";\ntype PermissionState = \"denied\" | \"granted\" | \"prompt\";\ntype PermitUnloadAction = \"dontUnload\" | \"prompt\" | \"unload\";\ntype PlacesEventType = \"bookmark-added\" | \"bookmark-guid-changed\" | \"bookmark-keyword-changed\" | \"bookmark-moved\" | \"bookmark-removed\" | \"bookmark-tags-changed\" | \"bookmark-time-changed\" | \"bookmark-title-changed\" | \"bookmark-url-changed\" | \"favicon-changed\" | \"history-cleared\" | \"none\" | \"page-removed\" | \"page-title-changed\" | \"page-visited\" | \"pages-rank-changed\" | \"purge-caches\";\ntype PlaybackDirection = \"alternate\" | \"alternate-reverse\" | \"normal\" | \"reverse\";\ntype PopupBlockerState = \"openAbused\" | \"openAllowed\" | \"openBlocked\" | \"openControlled\" | \"openOverridden\";\ntype PositionAlignSetting = \"auto\" | \"center\" | \"line-left\" | \"line-right\";\ntype PredefinedColorSpace = \"display-p3\" | \"srgb\";\ntype PrefersColorSchemeOverride = \"dark\" | \"light\" | \"none\";\ntype PremultiplyAlpha = \"default\" | \"none\" | \"premultiply\";\ntype PresentationStyle = \"attachment\" | \"inline\" | \"unspecified\";\ntype PrivateAttributionImpressionType = \"click\" | \"view\";\ntype PromiseDebuggingState = \"fulfilled\" | \"pending\" | \"rejected\";\ntype PushEncryptionKeyName = \"auth\" | \"p256dh\";\ntype RTCBundlePolicy = \"balanced\" | \"max-bundle\" | \"max-compat\";\ntype RTCCodecType = \"decode\" | \"encode\";\ntype RTCDataChannelState = \"closed\" | \"closing\" | \"connecting\" | \"open\";\ntype RTCDataChannelType = \"arraybuffer\" | \"blob\";\ntype RTCDegradationPreference = \"balanced\" | \"maintain-framerate\" | \"maintain-resolution\";\ntype RTCDtlsTransportState = \"closed\" | \"connected\" | \"connecting\" | \"failed\" | \"new\";\ntype RTCEncodedVideoFrameType = \"delta\" | \"empty\" | \"key\";\ntype RTCIceCandidateType = \"host\" | \"prflx\" | \"relay\" | \"srflx\";\ntype RTCIceComponent = \"rtcp\" | \"rtp\";\ntype RTCIceConnectionState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCIceCredentialType = \"password\";\ntype RTCIceGathererState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceGatheringState = \"complete\" | \"gathering\" | \"new\";\ntype RTCIceProtocol = \"tcp\" | \"udp\";\ntype RTCIceTcpCandidateType = \"active\" | \"passive\" | \"so\";\ntype RTCIceTransportPolicy = \"all\" | \"relay\";\ntype RTCIceTransportState = \"checking\" | \"closed\" | \"completed\" | \"connected\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCLifecycleEvent = \"connectionstatechange\" | \"iceconnectionstatechange\" | \"icegatheringstatechange\" | \"initialized\";\ntype RTCPeerConnectionState = \"closed\" | \"connected\" | \"connecting\" | \"disconnected\" | \"failed\" | \"new\";\ntype RTCPriorityType = \"high\" | \"low\" | \"medium\" | \"very-low\";\ntype RTCRtpTransceiverDirection = \"inactive\" | \"recvonly\" | \"sendonly\" | \"sendrecv\" | \"stopped\";\ntype RTCSctpTransportState = \"closed\" | \"connected\" | \"connecting\";\ntype RTCSdpType = \"answer\" | \"offer\" | \"pranswer\" | \"rollback\";\ntype RTCSignalingState = \"closed\" | \"have-local-offer\" | \"have-local-pranswer\" | \"have-remote-offer\" | \"have-remote-pranswer\" | \"stable\";\ntype RTCStatsIceCandidatePairState = \"cancelled\" | \"failed\" | \"frozen\" | \"inprogress\" | \"succeeded\" | \"waiting\";\ntype RTCStatsType = \"candidate-pair\" | \"codec\" | \"csrc\" | \"data-channel\" | \"inbound-rtp\" | \"local-candidate\" | \"media-source\" | \"outbound-rtp\" | \"peer-connection\" | \"remote-candidate\" | \"remote-inbound-rtp\" | \"remote-outbound-rtp\" | \"session\" | \"track\" | \"transport\";\ntype ReadableStreamReaderMode = \"byob\";\ntype RecordingState = \"inactive\" | \"paused\" | \"recording\";\ntype ReferrerPolicy = \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\ntype RenderBlockingStatusType = \"blocking\" | \"non-blocking\";\ntype RequestCache = \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\ntype RequestCredentials = \"include\" | \"omit\" | \"same-origin\";\ntype RequestDestination = \"\" | \"audio\" | \"audioworklet\" | \"document\" | \"embed\" | \"font\" | \"frame\" | \"iframe\" | \"image\" | \"json\" | \"manifest\" | \"object\" | \"paintworklet\" | \"report\" | \"script\" | \"sharedworker\" | \"style\" | \"track\" | \"video\" | \"worker\" | \"xslt\";\ntype RequestMode = \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\ntype RequestPriority = \"auto\" | \"high\" | \"low\";\ntype RequestRedirect = \"error\" | \"follow\" | \"manual\";\ntype ResizeObserverBoxOptions = \"border-box\" | \"content-box\" | \"device-pixel-content-box\";\ntype ResourceCacheTarget = \"chrome\" | \"content\";\ntype ResourceCacheType = \"image\" | \"script\" | \"stylesheet\";\ntype ResponseType = \"basic\" | \"cors\" | \"default\" | \"error\" | \"opaque\" | \"opaqueredirect\";\ntype SanitizerPresets = \"default\";\ntype ScreenColorGamut = \"p3\" | \"rec2020\" | \"srgb\";\ntype ScrollBehavior = \"auto\" | \"instant\" | \"smooth\";\ntype ScrollLogicalPosition = \"center\" | \"end\" | \"nearest\" | \"start\";\ntype ScrollRestoration = \"auto\" | \"manual\";\ntype ScrollSetting = \"\" | \"up\";\ntype SecurityPolicyViolationEventDisposition = \"enforce\" | \"report\";\ntype SelectionMode = \"end\" | \"preserve\" | \"select\" | \"start\";\ntype SelectorWarningKind = \"UnconstrainedHas\";\ntype ServiceWorkerState = \"activated\" | \"activating\" | \"installed\" | \"installing\" | \"parsed\" | \"redundant\";\ntype ServiceWorkerUpdateViaCache = \"all\" | \"imports\" | \"none\";\ntype ShadowRootMode = \"closed\" | \"open\";\ntype SlotAssignmentMode = \"manual\" | \"named\";\ntype SocketReadyState = \"closed\" | \"closing\" | \"halfclosed\" | \"open\" | \"opening\";\ntype SourceBufferAppendMode = \"segments\" | \"sequence\";\ntype SpeechRecognitionErrorCode = \"aborted\" | \"audio-capture\" | \"bad-grammar\" | \"language-not-supported\" | \"network\" | \"no-speech\" | \"not-allowed\" | \"service-not-allowed\";\ntype SpeechSynthesisErrorCode = \"audio-busy\" | \"audio-hardware\" | \"canceled\" | \"interrupted\" | \"invalid-argument\" | \"language-unavailable\" | \"network\" | \"synthesis-failed\" | \"synthesis-unavailable\" | \"text-too-long\" | \"voice-unavailable\";\ntype StreamFilterStatus = \"closed\" | \"disconnected\" | \"failed\" | \"finishedtransferringdata\" | \"suspended\" | \"transferringdata\" | \"uninitialized\";\ntype StringType = \"inline\" | \"literal\" | \"other\" | \"stringbuffer\";\ntype SupportedType = \"application/xhtml+xml\" | \"application/xml\" | \"image/svg+xml\" | \"text/html\" | \"text/xml\";\ntype TCPReadyState = \"closed\" | \"closing\" | \"connecting\" | \"open\";\ntype TCPSocketBinaryType = \"arraybuffer\" | \"string\";\ntype TaskPriority = \"background\" | \"user-blocking\" | \"user-visible\";\ntype TensorDataLocation = \"cpu\" | \"cpu-pinned\" | \"gpu-buffer\" | \"ml-tensor\" | \"none\" | \"texture\";\ntype TextTrackKind = \"captions\" | \"chapters\" | \"descriptions\" | \"metadata\" | \"subtitles\";\ntype TextTrackMode = \"disabled\" | \"hidden\" | \"showing\";\ntype TouchEventsOverride = \"disabled\" | \"enabled\" | \"none\";\ntype TransferFunction = \"hlg\" | \"pq\" | \"srgb\";\ntype UniFFIScaffoldingCallCode = \"error\" | \"internal-error\" | \"success\";\ntype VRDisplayEventReason = \"mounted\" | \"navigation\" | \"requested\" | \"unmounted\";\ntype VREye = \"left\" | \"right\";\ntype VideoColorPrimaries = \"bt2020\" | \"bt470bg\" | \"bt709\" | \"smpte170m\" | \"smpte432\";\ntype VideoEncoderBitrateMode = \"constant\" | \"quantizer\" | \"variable\";\ntype VideoMatrixCoefficients = \"bt2020-ncl\" | \"bt470bg\" | \"bt709\" | \"rgb\" | \"smpte170m\";\ntype VideoPixelFormat = \"BGRA\" | \"BGRX\" | \"I420\" | \"I420A\" | \"I420AP10\" | \"I420AP12\" | \"I420P10\" | \"I420P12\" | \"I422\" | \"I422A\" | \"I422AP10\" | \"I422AP12\" | \"I422P10\" | \"I422P12\" | \"I444\" | \"I444A\" | \"I444AP10\" | \"I444AP12\" | \"I444P10\" | \"I444P12\" | \"NV12\" | \"RGBA\" | \"RGBX\";\ntype VideoTransferCharacteristics = \"bt709\" | \"hlg\" | \"iec61966-2-1\" | \"linear\" | \"pq\" | \"smpte170m\";\ntype VisibilityState = \"hidden\" | \"visible\";\ntype WakeLockType = \"screen\";\ntype WebGLPowerPreference = \"default\" | \"high-performance\" | \"low-power\";\ntype WebIDLProcType = \"browser\" | \"extension\" | \"file\" | \"forkServer\" | \"gmpPlugin\" | \"gpu\" | \"inference\" | \"ipdlUnitTest\" | \"preallocated\" | \"privilegedabout\" | \"privilegedmozilla\" | \"rdd\" | \"socket\" | \"unknown\" | \"utility\" | \"vr\" | \"web\" | \"webIsolated\" | \"webServiceWorker\" | \"withCoopCoep\";\ntype WebIDLUtilityActorName = \"audioDecoder_AppleMedia\" | \"audioDecoder_Generic\" | \"audioDecoder_WMF\" | \"jSOracle\" | \"mfMediaEngineCDM\" | \"unknown\" | \"windowsFileDialog\" | \"windowsUtils\";\ntype WebTransportCongestionControl = \"default\" | \"low-latency\" | \"throughput\";\ntype WebTransportErrorSource = \"session\" | \"stream\";\ntype WebTransportReliabilityMode = \"pending\" | \"reliable-only\" | \"supports-unreliable\";\ntype WireframeRectType = \"background\" | \"image\" | \"text\" | \"unknown\";\ntype WorkerType = \"classic\" | \"module\";\ntype WriteCommandType = \"seek\" | \"truncate\" | \"write\";\ntype WriteMode = \"append\" | \"appendOrCreate\" | \"create\" | \"overwrite\";\ntype XMLHttpRequestResponseType = \"\" | \"arraybuffer\" | \"blob\" | \"document\" | \"json\" | \"text\";\ntype XREye = \"left\" | \"none\" | \"right\";\ntype XRHandedness = \"left\" | \"none\" | \"right\";\ntype XRReferenceSpaceType = \"bounded-floor\" | \"local\" | \"local-floor\" | \"unbounded\" | \"viewer\";\ntype XRSessionMode = \"immersive-ar\" | \"immersive-vr\" | \"inline\";\ntype XRTargetRayMode = \"gaze\" | \"screen\" | \"tracked-pointer\";\ntype XRVisibilityState = \"hidden\" | \"visible\" | \"visible-blurred\";\ntype mozPacketDumpType = \"rtcp\" | \"rtp\" | \"srtcp\" | \"srtp\";\n\n/////////////////////////////\n/////////////////////////////\n\ninterface AudioParam {\n    setValueCurveAtTime(values: Iterable<number>, startTime: number, duration: number): AudioParam;\n}\n\ninterface AudioParamMap extends ReadonlyMap<string, AudioParam> {\n}\n\ninterface AudioTrackList {\n    [Symbol.iterator](): IterableIterator<AudioTrack>;\n}\n\ninterface BaseAudioContext {\n    createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode;\n    createPeriodicWave(real: Iterable<number>, imag: Iterable<number>, constraints?: PeriodicWaveConstraints): PeriodicWave;\n}\n\ninterface CSSKeyframesRule {\n    [Symbol.iterator](): IterableIterator<CSSKeyframeRule>;\n}\n\ninterface CSSRuleList {\n    [Symbol.iterator](): IterableIterator<CSSRule>;\n}\n\ninterface CSSStyleDeclaration {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface Cache {\n    addAll(requests: Iterable<RequestInfo>): Promise<void>;\n}\n\ninterface CanvasPathDrawingStyles {\n    setLineDash(segments: Iterable<number>): void;\n}\n\ninterface CanvasPathMethods {\n    roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;\n}\n\ninterface CookieStoreManager {\n    subscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n    unsubscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;\n}\n\ninterface CustomStateSet extends Set<string> {\n}\n\ninterface DOMLocalization {\n    translateElements(aElements: Iterable<Element>): Promise<void>;\n}\n\ninterface DOMParser {\n    parseFromBuffer(buf: Iterable<number>, type: SupportedType): Document;\n}\n\ninterface DOMRectList {\n    [Symbol.iterator](): IterableIterator<DOMRect>;\n}\n\ninterface DOMStringList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface DOMTokenList {\n    [Symbol.iterator](): IterableIterator<string | null>;\n    entries(): IterableIterator<[number, string | null]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<string | null>;\n}\n\ninterface DataTransferItemList {\n    [Symbol.iterator](): IterableIterator<DataTransferItem>;\n}\n\ninterface Document {\n    createTouchList(touches: Iterable<Touch>): TouchList;\n}\n\ninterface EventCounts extends ReadonlyMap<string, number> {\n}\n\ninterface FileList {\n    [Symbol.iterator](): IterableIterator<File>;\n}\n\ninterface FormData {\n    [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>;\n    entries(): IterableIterator<[string, FormDataEntryValue]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<FormDataEntryValue>;\n}\n\ninterface GPUBindingCommandsMixin {\n    setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup | null, dynamicOffsets?: Iterable<GPUBufferDynamicOffset>): void;\n}\n\ninterface GPUCommandEncoder {\n    copyBufferToTexture(source: GPUTexelCopyBufferInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToBuffer(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyBufferInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    copyTextureToTexture(source: GPUTexelCopyTextureInfo, destination: GPUTexelCopyTextureInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n}\n\ninterface GPUQueue {\n    copyExternalImageToTexture(source: GPUCopyExternalImageSourceInfo, destination: GPUCopyExternalImageDestInfo, copySize: Iterable<GPUIntegerCoordinate>): void;\n    submit(buffers: Iterable<GPUCommandBuffer>): void;\n    writeTexture(destination: GPUTexelCopyTextureInfo, data: AllowSharedBufferSource, dataLayout: GPUTexelCopyBufferLayout, size: Iterable<GPUIntegerCoordinate>): void;\n}\n\ninterface GPURenderPassEncoder {\n    executeBundles(bundles: Iterable<GPURenderBundle>): void;\n    setBlendConstant(color: Iterable<number>): void;\n}\n\ninterface GPUSupportedFeatures extends ReadonlySet<string> {\n}\n\ninterface GleanCustomDistribution {\n    accumulateSamples(aSamples: Iterable<number>): void;\n}\n\ninterface GleanStringList {\n    set(aValue: Iterable<string>): void;\n}\n\ninterface GleanTimingDistribution {\n    accumulateSamples(aSamples: Iterable<number>): void;\n}\n\ninterface GridLines {\n    [Symbol.iterator](): IterableIterator<GridLine>;\n}\n\ninterface GridTracks {\n    [Symbol.iterator](): IterableIterator<GridTrack>;\n}\n\ninterface HTMLAllCollection {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLCollectionBase {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLFormElement {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface HTMLInputElement {\n    mozSetDndFilesAndDirectories(list: Iterable<File | Directory>): void;\n    mozSetFileArray(files: Iterable<File>): void;\n    mozSetFileNameArray(fileNames: Iterable<string>): void;\n}\n\ninterface HTMLSelectElement {\n    [Symbol.iterator](): IterableIterator<Element>;\n}\n\ninterface Headers {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    entries(): IterableIterator<[string, string]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<string>;\n}\n\ninterface HeapSnapshot {\n    computeShortestPaths(start: NodeId, targets: Iterable<NodeId>, maxNumPaths: number): any;\n}\n\ninterface Highlight extends Set<AbstractRange> {\n}\n\ninterface HighlightRegistry extends Map<string, Highlight> {\n}\n\ninterface IDBDatabase {\n    transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;\n}\n\ninterface IDBObjectStore {\n    createIndex(name: string, keyPath: string | Iterable<string>, optionalParameters?: IDBIndexParameters): IDBIndex;\n}\n\ninterface ImageTrackList {\n    [Symbol.iterator](): IterableIterator<ImageTrack>;\n}\n\ninterface IntlUtils {\n    getDisplayNames(locales: Iterable<string>, options?: DisplayNameOptions): DisplayNameResult;\n}\n\ninterface L10nRegistry {\n    generateBundles(aLocales: Iterable<string>, aResourceIds: Iterable<L10nResourceId>): FluentBundleAsyncIterator;\n    generateBundlesSync(aLocales: Iterable<string>, aResourceIds: Iterable<L10nResourceId>): FluentBundleIterator;\n    registerSources(aSources: Iterable<L10nFileSource>): void;\n    removeSources(aSources: Iterable<string>): void;\n    updateSources(aSources: Iterable<L10nFileSource>): void;\n}\n\ninterface Localization {\n    addResourceIds(aResourceIds: Iterable<L10nResourceId>): void;\n    formatMessages(aKeys: Iterable<L10nKey>): Promise<(L10nMessage | null)[]>;\n    formatMessagesSync(aKeys: Iterable<L10nKey>): (L10nMessage | null)[];\n    formatValues(aKeys: Iterable<L10nKey>): Promise<(string | null)[]>;\n    formatValuesSync(aKeys: Iterable<L10nKey>): (string | null)[];\n    removeResourceIds(aResourceIds: Iterable<L10nResourceId>): number;\n}\n\ninterface MIDIInputMap extends ReadonlyMap<string, MIDIInput> {\n}\n\ninterface MIDIOutput {\n    send(data: Iterable<number>, timestamp?: DOMHighResTimeStamp): void;\n}\n\ninterface MIDIOutputMap extends ReadonlyMap<string, MIDIOutput> {\n}\n\ninterface MediaKeyStatusMap {\n    [Symbol.iterator](): IterableIterator<[ArrayBuffer, MediaKeyStatus]>;\n    entries(): IterableIterator<[ArrayBuffer, MediaKeyStatus]>;\n    keys(): IterableIterator<ArrayBuffer>;\n    values(): IterableIterator<MediaKeyStatus>;\n}\n\ninterface MediaList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface MessageEvent {\n    initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;\n}\n\ninterface MessagePort {\n    postMessage(message: any, transferable: Iterable<any>): void;\n}\n\ninterface MimeTypeArray {\n    [Symbol.iterator](): IterableIterator<MimeType>;\n}\n\ninterface MozDocumentObserver {\n    observe(matchers: Iterable<MozDocumentMatcher>): void;\n}\n\ninterface MozSharedMap {\n    [Symbol.iterator](): IterableIterator<[string, StructuredClonable]>;\n    entries(): IterableIterator<[string, StructuredClonable]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<StructuredClonable>;\n}\n\ninterface MozStorageAsyncStatementParams {\n    [Symbol.iterator](): IterableIterator<any>;\n}\n\ninterface MozStorageStatementParams {\n    [Symbol.iterator](): IterableIterator<any>;\n}\n\ninterface NamedNodeMap {\n    [Symbol.iterator](): IterableIterator<Attr>;\n}\n\ninterface Navigator {\n    requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>;\n    vibrate(pattern: Iterable<number>): boolean;\n}\n\ninterface NodeList {\n    [Symbol.iterator](): IterableIterator<Node | null>;\n    entries(): IterableIterator<[number, Node | null]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<Node | null>;\n}\n\ninterface PaintRequestList {\n    [Symbol.iterator](): IterableIterator<PaintRequest>;\n}\n\ninterface PeerConnectionObserver {\n    fireTrackEvent(receiver: RTCRtpReceiver, streams: Iterable<MediaStream>): void;\n}\n\ninterface PlacesEventCounts extends ReadonlyMap<string, number> {\n}\n\ninterface Plugin {\n    [Symbol.iterator](): IterableIterator<MimeType>;\n}\n\ninterface PluginArray {\n    [Symbol.iterator](): IterableIterator<Plugin>;\n}\n\ninterface RTCRtpTransceiver {\n    setCodecPreferences(codecs: Iterable<RTCRtpCodec>): void;\n}\n\ninterface RTCStatsReport extends ReadonlyMap<string, any> {\n}\n\ninterface SVGLengthList {\n    [Symbol.iterator](): IterableIterator<SVGLength>;\n}\n\ninterface SVGNumberList {\n    [Symbol.iterator](): IterableIterator<SVGNumber>;\n}\n\ninterface SVGPathData {\n    setPathData(pathData: Iterable<SVGPathSegmentInit>): void;\n}\n\ninterface SVGPointList {\n    [Symbol.iterator](): IterableIterator<SVGPoint>;\n}\n\ninterface SVGStringList {\n    [Symbol.iterator](): IterableIterator<string>;\n}\n\ninterface SVGTransformList {\n    [Symbol.iterator](): IterableIterator<SVGTransform>;\n}\n\ninterface Screen {\n    mozLockOrientation(orientation: Iterable<string>): boolean;\n}\n\ninterface ServiceWorker {\n    postMessage(message: any, transferable: Iterable<any>): void;\n}\n\ninterface SourceBufferList {\n    [Symbol.iterator](): IterableIterator<SourceBuffer>;\n}\n\ninterface SpeechGrammarList {\n    [Symbol.iterator](): IterableIterator<SpeechGrammar>;\n}\n\ninterface SpeechRecognitionResult {\n    [Symbol.iterator](): IterableIterator<SpeechRecognitionAlternative>;\n}\n\ninterface SpeechRecognitionResultList {\n    [Symbol.iterator](): IterableIterator<SpeechRecognitionResult>;\n}\n\ninterface StyleSheetList {\n    [Symbol.iterator](): IterableIterator<CSSStyleSheet>;\n}\n\ninterface SubtleCrypto {\n    deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<any>;\n    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<any>;\n    importKey(format: KeyFormat, keyData: any, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<any>;\n    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<any>;\n}\n\ninterface TestInterfaceIterableDouble {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    entries(): IterableIterator<[string, string]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<string>;\n}\n\ninterface TestInterfaceIterableDoubleUnion {\n    [Symbol.iterator](): IterableIterator<[string, string | number]>;\n    entries(): IterableIterator<[string, string | number]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<string | number>;\n}\n\ninterface TestInterfaceIterableSingle {\n    [Symbol.iterator](): IterableIterator<number>;\n    entries(): IterableIterator<[number, number]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<number>;\n}\n\ninterface TestInterfaceJS {\n    anySequenceLength(seq: Iterable<any>): number;\n    objectSequenceLength(seq: Iterable<any>): number;\n    testSequenceOverload(arg: Iterable<string>): void;\n    testSequenceUnion(arg: Iterable<string> | string): void;\n}\n\ninterface TestInterfaceMaplike extends Map<string, number> {\n}\n\ninterface TestInterfaceMaplikeJSObject extends ReadonlyMap<string, any> {\n}\n\ninterface TestInterfaceMaplikeObject extends ReadonlyMap<string, TestInterfaceMaplike> {\n}\n\ninterface TestInterfaceSetlike extends Set<string> {\n}\n\ninterface TestInterfaceSetlikeNode extends Set<Node> {\n}\n\ninterface TestReflectedHTMLAttribute {\n    setReflectedHTMLAttributeValue(seq: Iterable<Element>): void;\n}\n\ninterface TextTrackCueList {\n    [Symbol.iterator](): IterableIterator<VTTCue>;\n}\n\ninterface TextTrackList {\n    [Symbol.iterator](): IterableIterator<TextTrack>;\n}\n\ninterface TouchList {\n    [Symbol.iterator](): IterableIterator<Touch>;\n}\n\ninterface TreeColumns {\n    [Symbol.iterator](): IterableIterator<TreeColumn>;\n}\n\ninterface URLSearchParams {\n    [Symbol.iterator](): IterableIterator<[string, string]>;\n    entries(): IterableIterator<[string, string]>;\n    keys(): IterableIterator<string>;\n    values(): IterableIterator<string>;\n}\n\ninterface VRDisplay {\n    requestPresent(layers: Iterable<VRLayer>): Promise<void>;\n}\n\ninterface VideoTrackList {\n    [Symbol.iterator](): IterableIterator<VideoTrack>;\n}\n\ninterface WEBGL_draw_buffers {\n    drawBuffersWEBGL(buffers: Iterable<GLenum>): void;\n}\n\ninterface WGSLLanguageFeatures extends ReadonlySet<string> {\n}\n\ninterface WebGL2RenderingContextBase {\n    clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: GLuint): void;\n    clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: GLuint): void;\n    clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: GLuint): void;\n    drawBuffers(buffers: Iterable<GLenum>): void;\n    getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;\n    getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): GLuint[] | null;\n    invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;\n    invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\n    transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: GLuint, srcLength?: GLuint): void;\n    vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;\n    vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;\n}\n\ninterface WebGLRenderingContext {\n    uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>): void;\n    uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>): void;\n    uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>): void;\n    uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>): void;\n    uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>): void;\n    uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>): void;\n    uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>): void;\n    uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>): void;\n    uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>): void;\n    uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>): void;\n    uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>): void;\n}\n\ninterface WebGLRenderingContextBase {\n    vertexAttrib1fv(indx: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib2fv(indx: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib3fv(indx: GLuint, values: Iterable<GLfloat>): void;\n    vertexAttrib4fv(indx: GLuint, values: Iterable<GLfloat>): void;\n}\n\ninterface Window {\n    postMessage(message: any, targetOrigin: string, transfer?: Iterable<any>): void;\n    setScrollMarks(marks: Iterable<number>, onHorizontalScrollbar?: boolean): void;\n}\n\ninterface Worker {\n    postMessage(message: any, transfer: Iterable<any>): void;\n}\n\ninterface XRInputSourceArray {\n    [Symbol.iterator](): IterableIterator<XRInputSource>;\n    entries(): IterableIterator<[number, XRInputSource]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<XRInputSource>;\n}\n\ninterface XSLTProcessor {\n    setParameter(namespaceURI: string | null, localName: string, value: Iterable<Node>): void;\n}\n\n/////////////////////////////\n/////////////////////////////\n\ninterface FileSystemDirectoryHandle {\n    [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>;\n    entries(): AsyncIterableIterator<[string, FileSystemHandle]>;\n    keys(): AsyncIterableIterator<string>;\n    values(): AsyncIterableIterator<FileSystemHandle>;\n}\n\ninterface ReadableStream {\n    [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncIterableIterator<any>;\n    values(options?: ReadableStreamIteratorOptions): AsyncIterableIterator<any>;\n}\n\ninterface TestInterfaceAsyncIterableDouble {\n    [Symbol.asyncIterator](): AsyncIterableIterator<[string, string]>;\n    entries(): AsyncIterableIterator<[string, string]>;\n    keys(): AsyncIterableIterator<string>;\n    values(): AsyncIterableIterator<string>;\n}\n\ninterface TestInterfaceAsyncIterableDoubleUnion {\n    [Symbol.asyncIterator](): AsyncIterableIterator<[string, string | number]>;\n    entries(): AsyncIterableIterator<[string, string | number]>;\n    keys(): AsyncIterableIterator<string>;\n    values(): AsyncIterableIterator<string | number>;\n}\n\ninterface TestInterfaceAsyncIterableSingle {\n    [Symbol.asyncIterator](): AsyncIterableIterator<number>;\n    values(): AsyncIterableIterator<number>;\n}\n\ninterface TestInterfaceAsyncIterableSingleWithArgs {\n    [Symbol.asyncIterator](options?: TestInterfaceAsyncIteratorOptions): AsyncIterableIterator<number>;\n    values(options?: TestInterfaceAsyncIteratorOptions): AsyncIterableIterator<number>;\n}\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from glean .yaml files.\n * If you're updating some of the sources, see README for instructions.\n */\n\ninterface GleanImpl {\n\n  a11y: {\n    alwaysUnderlineLinks: GleanBoolean;\n    backplate: GleanBoolean;\n    consumers: GleanCustomDistribution;\n    hcmBackground: GleanQuantity;\n    hcmForeground: GleanQuantity;\n    instantiators: GleanString;\n    invertColors: GleanBoolean;\n    theme: Record<\"always\"|\"default\"|\"never\", GleanBoolean>;\n    treeUpdateTiming: GleanTimingDistribution;\n    useSystemColors: GleanBoolean;\n  }\n\n  fullscreen: {\n    change: GleanTimingDistribution;\n  }\n\n  browserEngagement: {\n    bookmarksToolbarBookmarkAdded: GleanCounter;\n    bookmarksToolbarBookmarkOpened: GleanCounter;\n    totalTopVisits: Record<\"false\"|\"true\", GleanCounter>;\n    sessionrestoreInterstitial: Record<string, GleanCounter>;\n    tabExplicitUnload: GleanEventWithExtras<{ all_tabs_unloaded?: string, memory_after?: string, memory_before?: string, tabs_unloaded?: string, time_to_unload_in_ms?: string, unload_selected_tab?: string }>;\n    tabReloadCount: GleanCounter;\n    tabUnloadCount: GleanCounter;\n    tabUnloadToReload: GleanTimingDistribution;\n    activeTicks: GleanCounter;\n    loadedTabCount: GleanCustomDistribution;\n    maxConcurrentTabCount: GleanQuantity;\n    maxConcurrentTabPinnedCount: GleanQuantity;\n    maxConcurrentVerticalTabCount: GleanQuantity;\n    maxConcurrentVerticalTabPinnedCount: GleanQuantity;\n    maxConcurrentWindowCount: GleanQuantity;\n    profileCount: GleanQuantity;\n    tabCount: GleanCustomDistribution;\n    tabOpenEventCount: GleanCounter;\n    tabPinnedEventCount: GleanCounter;\n    unfilteredUriCount: GleanCounter;\n    uniqueDomainsCount: GleanQuantity;\n    uriCount: GleanCounter;\n    uriCountNormalMode: GleanCounter;\n    verticalTabOpenEventCount: GleanCounter;\n    verticalTabPinnedEventCount: GleanCounter;\n    windowOpenEventCount: GleanCounter;\n    sessionTimeExcludingSuspend: GleanQuantity;\n    sessionTimeIncludingSuspend: GleanQuantity;\n  }\n\n  browserTimings: {\n    newWindow: GleanTimingDistribution;\n    pageLoad: GleanTimingDistribution;\n    pageReloadNormal: GleanTimingDistribution;\n    pageReloadSkipCache: GleanTimingDistribution;\n    tabClick: GleanTimingDistribution;\n    lastShutdown: GleanQuantity;\n  }\n\n  networking: {\n    captivePortalBannerDisplayTime: Record<\"abort\"|\"dismiss\"|\"success\", GleanCounter>;\n    captivePortalBannerDisplayed: GleanCounter;\n    cacheMetadataFirstReadTime: GleanTimingDistribution;\n    cacheMetadataSecondReadTime: GleanTimingDistribution;\n    cacheMetadataSize: GleanMemoryDistribution;\n    cachePurgeDueToMemoryLimit: Record<\"cache_memory_limit\"|\"meta_data_file_size_limit\", GleanCounter>;\n    cookieAccessFixupDiff: GleanCustomDistribution;\n    cookieChipsPartitionLimitOverflow: GleanCustomDistribution;\n    cookieCountInvalidFirstPartyPartitionedInDb: GleanCounter;\n    cookieCountPartByKey: GleanCustomDistribution;\n    cookieCountPartitioned: GleanCustomDistribution;\n    cookieCountTotal: GleanCustomDistribution;\n    cookieCountUnpartByKey: GleanCustomDistribution;\n    cookieCountUnpartitioned: GleanCustomDistribution;\n    cookieCreationFixupDiff: GleanCustomDistribution;\n    cookieDbValidation: Record<\"eOK\"|\"eRejectedAttributeDomainOversize\"|\"eRejectedAttributeExpiryOversize\"|\"eRejectedAttributePathOversize\"|\"eRejectedEmptyNameAndValue\"|\"eRejectedForNonSameSiteness\"|\"eRejectedHttpOnlyButFromScript\"|\"eRejectedInvalidCharName\"|\"eRejectedInvalidCharValue\"|\"eRejectedInvalidDomain\"|\"eRejectedInvalidPath\"|\"eRejectedInvalidPrefix\"|\"eRejectedNameValueOversize\"|\"eRejectedNoneRequiresSecure\"|\"eRejectedPartitionedRequiresSecure\"|\"eRejectedSecureButNonHttps\", GleanCounter>;\n    cookiePurgeEntryMax: GleanCustomDistribution;\n    cookiePurgeMax: GleanCustomDistribution;\n    cookieTimestampFixedCount: Record<\"creationTime\"|\"lastAccessed\", GleanCounter>;\n    dnsFailedLookupTime: GleanTimingDistribution;\n    dnsLookupTime: GleanTimingDistribution;\n    dnsNativeCount: Record<\"https_private\"|\"https_regular\"|\"private\"|\"regular\", GleanCounter>;\n    dnsNativeHttpsCallTime: GleanTimingDistribution;\n    dnsRenewalTime: GleanTimingDistribution;\n    dnsRenewalTimeForTtl: GleanTimingDistribution;\n    fetchKeepaliveDiscardCount: Record<\"per_origin_limit\"|\"total_keepalive_limit\", GleanCounter>;\n    fetchKeepaliveRequestCount: Record<\"main\"|\"worker\", GleanCounter>;\n    http1DownloadThroughput: GleanCustomDistribution;\n    http1DownloadThroughput100: GleanCustomDistribution;\n    http1DownloadThroughput1050: GleanCustomDistribution;\n    http1DownloadThroughput50100: GleanCustomDistribution;\n    http1UploadThroughput: GleanCustomDistribution;\n    http1UploadThroughput100: GleanCustomDistribution;\n    http1UploadThroughput1050: GleanCustomDistribution;\n    http1UploadThroughput50100: GleanCustomDistribution;\n    http2DownloadThroughput: GleanCustomDistribution;\n    http2DownloadThroughput100: GleanCustomDistribution;\n    http2DownloadThroughput1050: GleanCustomDistribution;\n    http2DownloadThroughput50100: GleanCustomDistribution;\n    http2UploadThroughput: GleanCustomDistribution;\n    http2UploadThroughput100: GleanCustomDistribution;\n    http2UploadThroughput1050: GleanCustomDistribution;\n    http2UploadThroughput50100: GleanCustomDistribution;\n    http3ConnectionCloseReason: Record<\"AckedUnsentPacket\"|\"Application\"|\"ApplicationError\"|\"ConnectionIdLimitExceeded\"|\"ConnectionIdsExhausted\"|\"ConnectionRefused\"|\"ConnectionState\"|\"CryptoAlert\"|\"CryptoBufferExceeded\"|\"CryptoError\"|\"DecodingFrame\"|\"DecryptError\"|\"DisabledVersion\"|\"EchRetry\"|\"FinalSizeError\"|\"FlowControlError\"|\"FrameEncodingError\"|\"IdleTimeout\"|\"IntegerOverflow\"|\"InternalError\"|\"InvalidInput\"|\"InvalidMigration\"|\"InvalidPacket\"|\"InvalidResumptionToken\"|\"InvalidRetry\"|\"InvalidStreamId\"|\"InvalidToken\"|\"KeyUpdateBlocked\"|\"KeysDiscarded\"|\"KeysExhausted\"|\"KeysPending\"|\"NoAvailablePath\"|\"NoError\"|\"NoMoreData\"|\"NotAvailable\"|\"NotConnected\"|\"PacketNumberOverlap\"|\"PeerApplicationError\"|\"PeerError\"|\"ProtocolViolation\"|\"QlogError\"|\"StatelessReset\"|\"StreamLimitError\"|\"StreamStateError\"|\"TooMuchData\"|\"TransportParameterError\"|\"UnexpectedMessage\"|\"UnknownConnectionId\"|\"UnknownFrameType\"|\"VersionNegotiation\"|\"WrongRole\", GleanCounter>;\n    http3DownloadThroughput: GleanCustomDistribution;\n    http3DownloadThroughput100: GleanCustomDistribution;\n    http3DownloadThroughput1050: GleanCustomDistribution;\n    http3DownloadThroughput50100: GleanCustomDistribution;\n    http3EcnCeEct0RatioReceived: GleanCustomDistribution;\n    http3EcnCeEct0RatioSent: GleanCustomDistribution;\n    http3EcnPathCapability: Record<\"black-hole\"|\"bleaching\"|\"capable\"|\"received-unsent-ect-1\", GleanCounter>;\n    http3LossRatio: GleanCustomDistribution;\n    http3QuicFrameCount: Record<\"ack_frequency_rx\"|\"ack_frequency_tx\"|\"ack_rx\"|\"ack_tx\"|\"connection_close_rx\"|\"connection_close_tx\"|\"crypto_rx\"|\"crypto_tx\"|\"data_blocked_rx\"|\"data_blocked_tx\"|\"datagram_rx\"|\"datagram_tx\"|\"handshake_done_rx\"|\"handshake_done_tx\"|\"max_data_rx\"|\"max_data_tx\"|\"max_stream_data_rx\"|\"max_stream_data_tx\"|\"max_streams_rx\"|\"max_streams_tx\"|\"new_connection_id_rx\"|\"new_connection_id_tx\"|\"new_token_rx\"|\"new_token_tx\"|\"padding_rx\"|\"padding_tx\"|\"path_challenge_rx\"|\"path_challenge_tx\"|\"path_response_rx\"|\"path_response_tx\"|\"ping_rx\"|\"ping_tx\"|\"reset_stream_rx\"|\"reset_stream_tx\"|\"retire_connection_id_rx\"|\"retire_connection_id_tx\"|\"stop_sending_rx\"|\"stop_sending_tx\"|\"stream_data_blocked_rx\"|\"stream_data_blocked_tx\"|\"stream_rx\"|\"stream_tx\"|\"streams_blocked_rx\"|\"streams_blocked_tx\", GleanCounter>;\n    http3UdpDatagramSegmentSizeReceived: GleanMemoryDistribution;\n    http3UdpDatagramSegmentSizeSent: GleanMemoryDistribution;\n    http3UdpDatagramSegmentsReceived: GleanCustomDistribution;\n    http3UdpDatagramSizeReceived: GleanMemoryDistribution;\n    http3UploadThroughput: GleanCustomDistribution;\n    http3UploadThroughput100: GleanCustomDistribution;\n    http3UploadThroughput1050: GleanCustomDistribution;\n    http3UploadThroughput50100: GleanCustomDistribution;\n    httpChannelDisposition: Record<\"http_cancelled\"|\"http_disk\"|\"http_net_early_fail\"|\"http_net_late_fail\"|\"http_net_ok\"|\"https_cancelled\"|\"https_disk\"|\"https_net_early_fail\"|\"https_net_late_fail\"|\"https_net_ok\", GleanCounter>;\n    httpChannelDispositionDisabledNoReason: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelDispositionDisabledUpgrade: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelDispositionDisabledWont: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelDispositionEnabledNoReason: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelDispositionEnabledUpgrade: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelDispositionEnabledWont: Record<\"cancel\"|\"disk\"|\"net_early_fail\"|\"net_late_fail\"|\"net_ok\", GleanCounter>;\n    httpChannelOnstartStatus: Record<\"fail\"|\"successful\", GleanCounter>;\n    httpChannelOnstartSuccessHttpsRr: Record<\"failure\"|\"failure_ech_used\"|\"success\"|\"success_ech_used\", GleanCounter>;\n    httpChannelPageOpenToFirstSent: GleanTimingDistribution;\n    httpChannelPageOpenToFirstSentHttpsRr: GleanTimingDistribution;\n    httpChannelSubOpenToFirstSent: GleanTimingDistribution;\n    httpChannelSubOpenToFirstSentHttpsRr: GleanTimingDistribution;\n    httpContentCssloaderOndatafinishedToOnstopDelay: GleanTimingDistribution;\n    httpContentHtml5parserOndatafinishedToOnstopDelay: GleanTimingDistribution;\n    httpContentOndatafinishedDelay: GleanTimingDistribution;\n    httpContentOndatafinishedDelay2: GleanTimingDistribution;\n    httpContentOndatafinishedToOnstopDelay: GleanTimingDistribution;\n    httpContentOnstartDelay: GleanTimingDistribution;\n    httpContentOnstopDelay: GleanTimingDistribution;\n    httpIpAddrAnyCount: Record<\"blocked_requests\"|\"not_blocked_requests\", GleanCounter>;\n    httpIpAddrAnyHostnames: Record<\"failure\"|\"success\", GleanCounter>;\n    httpOnstartSuspendTotalTime: GleanTimingDistribution;\n    httpRedirectToSchemeSubresource: Record<string, GleanCounter>;\n    httpRedirectToSchemeTopLevel: Record<string, GleanCounter>;\n    httpResponseStatusCode: Record<\"200_ok\"|\"301_moved_permanently\"|\"302_found\"|\"304_not_modified\"|\"307_temporary_redirect\"|\"308_permanent_redirect\"|\"400_bad_request\"|\"401_unauthorized\"|\"403_forbidden\"|\"404_not_found\"|\"421_misdirected_request\"|\"425_too_early\"|\"429_too_many_requests\"|\"other\"|\"other_4xx\"|\"other_5xx\", GleanCounter>;\n    httpResponseVersion: Record<\"http_1\"|\"http_2\"|\"http_3\"|\"unknown\", GleanCounter>;\n    httpToHttpsUpgradeReason: Record<\"already_https\"|\"csp_uir\"|\"hsts\"|\"https_first_schemeless_upgrade\"|\"https_first_schemeless_upgrade_downgrade\"|\"https_first_upgrade\"|\"https_first_upgrade_downgrade\"|\"https_only_upgrade\"|\"https_only_upgrade_downgrade\"|\"https_rr\"|\"no_upgrade\"|\"no_upgrade_https\"|\"not_initialized\"|\"not_initialized_https\"|\"skip_upgrade\"|\"upgrade_exception\"|\"web_extension_upgrade\", GleanCounter>;\n    httpsHttpOrLocal: Record<\"load_is_http\"|\"load_is_http_for_local_domain\"|\"load_is_https\", GleanCounter>;\n    httpsRrPresented: Record<\"none\"|\"presented\"|\"presented_with_http3\", GleanCounter>;\n    localNetworkAccess: Record<\"failure\"|\"private_to_local_http\"|\"private_to_local_https\"|\"public_to_local_http\"|\"public_to_local_https\"|\"public_to_private_http\"|\"public_to_private_https\"|\"success\", GleanCounter>;\n    localNetworkAccessPort: GleanCustomDistribution;\n    localNetworkBlockedTracker: GleanCounter;\n    osSocketLimitReached: GleanCounter;\n    prcloseTcpBlockingTimeConnectivityChange: GleanTimingDistribution;\n    prcloseTcpBlockingTimeLinkChange: GleanTimingDistribution;\n    prcloseTcpBlockingTimeNormal: GleanTimingDistribution;\n    prcloseTcpBlockingTimeOffline: GleanTimingDistribution;\n    prcloseTcpBlockingTimeShutdown: GleanTimingDistribution;\n    prcloseUdpBlockingTimeConnectivityChange: GleanTimingDistribution;\n    prcloseUdpBlockingTimeLinkChange: GleanTimingDistribution;\n    prcloseUdpBlockingTimeNormal: GleanTimingDistribution;\n    prcloseUdpBlockingTimeOffline: GleanTimingDistribution;\n    prcloseUdpBlockingTimeShutdown: GleanTimingDistribution;\n    prconnectBlockingTimeConnectivityChange: GleanTimingDistribution;\n    prconnectBlockingTimeLinkChange: GleanTimingDistribution;\n    prconnectBlockingTimeNormal: GleanTimingDistribution;\n    prconnectBlockingTimeOffline: GleanTimingDistribution;\n    prconnectBlockingTimeShutdown: GleanTimingDistribution;\n    prconnectFailBlockingTimeConnectivityChange: GleanTimingDistribution;\n    prconnectFailBlockingTimeLinkChange: GleanTimingDistribution;\n    prconnectFailBlockingTimeNormal: GleanTimingDistribution;\n    prconnectFailBlockingTimeOffline: GleanTimingDistribution;\n    prconnectFailBlockingTimeShutdown: GleanTimingDistribution;\n    prconnectcontinueBlockingTimeConnectivityChange: GleanTimingDistribution;\n    prconnectcontinueBlockingTimeLinkChange: GleanTimingDistribution;\n    prconnectcontinueBlockingTimeNormal: GleanTimingDistribution;\n    prconnectcontinueBlockingTimeOffline: GleanTimingDistribution;\n    prconnectcontinueBlockingTimeShutdown: GleanTimingDistribution;\n    proxyInfoType: Record<\"direct\"|\"http\"|\"https\"|\"socks4\"|\"socks4a\"|\"socks5\"|\"socks5h\"|\"unknown\", GleanCounter>;\n    residualCacheFolderCount: GleanCounter;\n    residualCacheFolderRemoval: Record<\"failure\"|\"success\", GleanCounter>;\n    setCookie: GleanDenominator;\n    setCookieForeign: GleanNumerator;\n    setCookieForeignPartitioned: GleanNumerator;\n    setCookiePartitioned: GleanNumerator;\n    setInvalidFirstPartyPartitionedCookie: GleanCounter;\n    speculativeConnectOutcome: Record<\"aborted_https_not_enabled\"|\"aborted_socket_fail\"|\"aborted_socket_limit\"|\"successful\", GleanCounter>;\n    sqliteCookiesBlockMainThread: GleanTimingDistribution;\n    sqliteCookiesTimeToBlockMainThread: GleanTimingDistribution;\n    transactionWaitTime: GleanTimingDistribution;\n    transactionWaitTimeHttpsRr: GleanTimingDistribution;\n    trrCompleteLoad: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrDnsEnd: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrDnsStart: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrFetchDuration: Record<\"h1\"|\"h1_network_only\"|\"h2\"|\"h2_network_only\"|\"h3\"|\"h3_network_only\", GleanTimingDistribution>;\n    trrFirstSentToLastReceived: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrOpenToFirstReceived: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrOpenToFirstSent: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrRequestCount: Record<\"private\"|\"regular\", GleanCounter>;\n    trrRequestCountPerConn: Record<\"h1\"|\"h2\"|\"h3\", GleanCounter>;\n    trrRequestSize: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanMemoryDistribution>;\n    trrResponseSize: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanMemoryDistribution>;\n    trrTcpConnection: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrTlsHandshake: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    connectionAddressType: Record<\"http_1_ipv4\"|\"http_1_ipv6\"|\"http_2_ipv4\"|\"http_2_ipv6\"|\"http_3_ipv4\"|\"http_3_ipv6\", GleanCounter>;\n    dataTransferredV3Kb: Record<string, GleanCounter>;\n    http3Enabled: GleanBoolean;\n    httpsRecordState: Record<\"all_excluded\"|\"invalid\"|\"no_default_alpn\"|\"others\"|\"succeeded\"|\"unmatched_cname\", GleanCounter>;\n    httpsRrPrefsUsage: GleanQuantity;\n    trrConnectionCycleCount: Record<string, GleanCounter>;\n    loadingCertsTask: GleanQuantity;\n    nssInitialization: GleanQuantity;\n    dohHeuristicEverTripped: Record<string, GleanBoolean>;\n    dohHeuristicsAttempts: GleanCounter;\n    dohHeuristicsPassCount: GleanCounter;\n    dohHeuristicsResult: GleanQuantity;\n  }\n\n  securityUiProtectionspopup: {\n    clickCookiebToggleOff: GleanEventNoExtras;\n    clickCookiebToggleOn: GleanEventNoExtras;\n    clickCookies: GleanEventNoExtras;\n    clickCryptominers: GleanEventNoExtras;\n    clickEtpToggleOff: GleanEventNoExtras;\n    clickEtpToggleOn: GleanEventNoExtras;\n    clickFingerprinters: GleanEventNoExtras;\n    clickFullReport: GleanEventNoExtras;\n    clickMilestoneMessage: GleanEventNoExtras;\n    clickProtectionspopupCfr: GleanEventWithExtras<{ message?: string, value?: string }>;\n    clickSettings: GleanEventNoExtras;\n    clickSmartblockembedsToggle: GleanEventWithExtras<{ isBlock?: string, openingReason?: string }>;\n    clickSocial: GleanEventNoExtras;\n    clickSubviewSettings: GleanEventWithExtras<{ value?: string }>;\n    clickTrackers: GleanEventNoExtras;\n    closeProtectionsPopup: GleanEventWithExtras<{ openingReason?: string, smartblockToggleClicked?: string }>;\n    openProtectionsPopup: GleanEventWithExtras<{ openingReason?: string, smartblockEmbedTogglesShown?: string }>;\n    openProtectionspopupCfr: GleanEventWithExtras<{ message?: string, value?: string }>;\n    smartblockembedsShown: GleanCounter;\n  }\n\n  messagingSystem: {\n    addonVersion: GleanString;\n    browserSessionId: GleanUuid;\n    bucketId: GleanString;\n    clientId: GleanUuid;\n    event: GleanString;\n    eventContext: GleanText;\n    eventContextParseError: GleanCounter;\n    eventPage: GleanString;\n    eventReason: GleanString;\n    eventScreenFamily: GleanText;\n    eventScreenId: GleanText;\n    eventScreenIndex: GleanQuantity;\n    eventScreenInitials: GleanText;\n    eventSource: GleanString;\n    gleanPingForPingFailures: GleanCounter;\n    impressionId: GleanUuid;\n    invalidNestedData: Record<string, GleanCounter>;\n    locale: GleanString;\n    messageId: GleanText;\n    messageRequestTime: GleanTimingDistribution;\n    pingType: GleanString;\n    source: GleanString;\n    unknownKeyCount: GleanCounter;\n    unknownKeys: Record<string, GleanCounter>;\n  }\n\n  messagingSystemAttribution: {\n    campaign: GleanString;\n    content: GleanString;\n    dlsource: GleanString;\n    dltoken: GleanString;\n    experiment: GleanString;\n    medium: GleanString;\n    msstoresignedin: GleanString;\n    source: GleanString;\n    ua: GleanString;\n    unknownKeys: Record<string, GleanCounter>;\n    variation: GleanString;\n  }\n\n  gleanAttribution: {\n    ext: GleanObject;\n  }\n\n  gleanDistribution: {\n    ext: GleanObject;\n  }\n\n  browserBackup: {\n    browserExtensionDataSize: GleanQuantity;\n    changeLocation: GleanEventNoExtras;\n    compressedArchiveSize: GleanMemoryDistribution;\n    cookiesSize: GleanQuantity;\n    created: GleanEventNoExtras;\n    credentialsDataSize: GleanQuantity;\n    enabled: GleanBoolean;\n    error: GleanEventWithExtras<{ backup_step?: string, error_code?: string }>;\n    extensionStorePermissionsDataSize: GleanQuantity;\n    extensionsJsonSize: GleanQuantity;\n    extensionsStorageSize: GleanQuantity;\n    extensionsXpiDirectorySize: GleanQuantity;\n    faviconsSize: GleanQuantity;\n    faviconsTime: GleanTimingDistribution;\n    formHistorySize: GleanQuantity;\n    locationOnDevice: GleanQuantity;\n    miscDataSize: GleanQuantity;\n    passwordAdded: GleanEventNoExtras;\n    passwordChanged: GleanEventNoExtras;\n    passwordRemoved: GleanEventNoExtras;\n    placesSize: GleanQuantity;\n    placesTime: GleanTimingDistribution;\n    preferencesSize: GleanQuantity;\n    profDDiskSpace: GleanQuantity;\n    pswdEncrypted: GleanBoolean;\n    schedulerEnabled: GleanBoolean;\n    securityDataSize: GleanQuantity;\n    sessionStoreBackupsDirectorySize: GleanQuantity;\n    sessionStoreSize: GleanQuantity;\n    storageSyncSize: GleanQuantity;\n    toggleOff: GleanEventNoExtras;\n    toggleOn: GleanEventNoExtras;\n    totalBackupSize: GleanMemoryDistribution;\n    totalBackupTime: GleanTimingDistribution;\n  }\n\n  downloads: {\n    panelShown: GleanCounter;\n    addedFileExtension: GleanEventWithExtras<{ value?: string }>;\n    fileOpened: GleanCounter;\n    userActionOnBlockedDownload: Record<string, GleanCustomDistribution>;\n  }\n\n  glamExperiment: {\n    panelShown: GleanCounter;\n    activeTicks: GleanCounter;\n    largestContentfulPaint: GleanTimingDistribution;\n    protectTime: GleanTimingDistribution;\n    httpContentHtml5parserOndatafinishedToOnstopDelay: GleanTimingDistribution;\n    osSocketLimitReached: GleanCounter;\n    subCompleteLoadNet: GleanTimingDistribution;\n    used: GleanCounter;\n    cpuTimeBogusValues: GleanCounter;\n    totalCpuTimeMs: GleanCounter;\n  }\n\n  extensionsButton: {\n    openViaAppMenu: GleanEventWithExtras<{ is_extensions_button_visible?: string, is_extensions_panel_empty?: string }>;\n    prefersHiddenButton: GleanBoolean;\n    temporarilyUnhidden: Record<\"addon_install_doorhanger\"|\"attention_blocklist\"|\"attention_permission_denied\"|\"customize\"|\"extension_browser_action_popup\"|\"extension_controlled_setting\"|\"extension_permission_prompt\"|\"extensions_panel_showing\", GleanCounter>;\n    toggleVisibility: GleanEventWithExtras<{ is_customizing?: string, is_extensions_panel_empty?: string, is_temporarily_shown?: string, should_hide?: string }>;\n  }\n\n  firefoxview: {\n    cumulativeSearches: Record<\"history\"|\"opentabs\"|\"recentbrowsing\"|\"recentlyclosed\"|\"syncedtabs\", GleanCustomDistribution>;\n  }\n\n  firefoxviewNext: {\n    browserContextMenuTabs: GleanEventWithExtras<{ menu_action?: string, page?: string }>;\n    cardCollapsedCardContainer: GleanEventWithExtras<{ data_type?: string }>;\n    cardExpandedCardContainer: GleanEventWithExtras<{ data_type?: string }>;\n    changePageNavigation: GleanEventWithExtras<{ page?: string, source?: string }>;\n    closeOpenTabTabs: GleanEventNoExtras;\n    contextMenuTabs: GleanEventWithExtras<{ data_type?: string, menu_action?: string }>;\n    dismissClosedTabTabs: GleanEventWithExtras<{ delta?: string, page?: string, position?: string }>;\n    enteredFirefoxview: GleanEventWithExtras<{ page?: string }>;\n    fxaContinueSync: GleanEventNoExtras;\n    fxaMobileSync: GleanEventWithExtras<{ has_devices?: string }>;\n    historyVisits: GleanEventNoExtras;\n    openTabTabs: GleanEventWithExtras<{ page?: string, window?: string }>;\n    recentlyClosedTabs: GleanEventWithExtras<{ delta?: string, page?: string, position?: string }>;\n    searchInitiatedSearch: GleanEventWithExtras<{ page?: string }>;\n    searchShowAllShowallbutton: GleanEventWithExtras<{ section?: string }>;\n    showAllHistoryTabs: GleanEventNoExtras;\n    sortHistoryTabs: GleanEventWithExtras<{ search_start?: string, sort_type?: string }>;\n    syncedTabsTabs: GleanEventWithExtras<{ page?: string }>;\n    tabSelectedToolbarbutton: GleanEventNoExtras;\n  }\n\n  genaiChatbot: {\n    badges: GleanString;\n    contextmenuChoose: GleanEventWithExtras<{ provider?: string }>;\n    contextmenuPromptClick: GleanEventWithExtras<{ prompt?: string, provider?: string, selection?: string }>;\n    contextmenuRemove: GleanEventWithExtras<{ provider?: string }>;\n    enabled: GleanBoolean;\n    experimentCheckboxClick: GleanEventWithExtras<{ enabled?: string }>;\n    keyboardShortcut: GleanEventWithExtras<{ enabled?: string, sidebar?: string }>;\n    menu: GleanBoolean;\n    onboardingClose: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingContinue: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingFinish: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingLearnMore: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingProviderChoiceDisplayed: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingProviderLearn: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingProviderSelection: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    onboardingProviderTerms: GleanEventWithExtras<{ provider?: string, step?: string, text?: string }>;\n    onboardingTextHighlightDisplayed: GleanEventWithExtras<{ provider?: string, step?: string }>;\n    page: GleanBoolean;\n    promptClick: GleanEventWithExtras<{ content_type?: string, prompt?: string, provider?: string, reader_mode?: string, selection?: string, source?: string }>;\n    provider: GleanString;\n    providerChange: GleanEventWithExtras<{ current?: string, previous?: string, surface?: string }>;\n    shortcuts: GleanBoolean;\n    shortcutsCheckboxClick: GleanEventWithExtras<{ enabled?: string }>;\n    shortcutsCustom: GleanBoolean;\n    shortcutsDisplayed: GleanEventWithExtras<{ delay?: string, inputType?: string, selection?: string }>;\n    shortcutsExpanded: GleanEventWithExtras<{ provider?: string, selection?: string, warning?: string }>;\n    shortcutsHideClick: GleanEventWithExtras<{ selection?: string }>;\n    shortcutsPromptClick: GleanEventWithExtras<{ prompt?: string, provider?: string, selection?: string }>;\n    sidebar: GleanBoolean;\n    sidebarCloseClick: GleanEventWithExtras<{ provider?: string }>;\n    sidebarMoreMenuClick: GleanEventWithExtras<{ action?: string, provider?: string }>;\n    sidebarMoreMenuDisplay: GleanEventWithExtras<{ provider?: string }>;\n    sidebarProviderMenuClick: GleanEventWithExtras<{ action?: string, provider?: string }>;\n    sidebarToggle: GleanEventWithExtras<{ opened?: string, provider?: string, reason?: string, version?: string }>;\n    summarizePage: GleanEventWithExtras<{ provider?: string, reader_mode?: string, selection?: string, source?: string }>;\n  }\n\n  genaiLinkpreview: {\n    aiOptin: GleanBoolean;\n    cardAiConsent: GleanEventWithExtras<{ option?: string }>;\n    cardClose: GleanEventWithExtras<{ duration?: string, tab?: string }>;\n    cardLink: GleanEventWithExtras<{ key_points?: string, source?: string, tab?: string }>;\n    enabled: GleanBoolean;\n    fetch: GleanEventWithExtras<{ description?: string, image?: string, length?: string, outcome?: string, sitename?: string, skipped?: string, tab?: string, time?: string, title?: string }>;\n    generate: GleanEventWithExtras<{ delay?: string, download?: string, latency?: string, outcome?: string, sentences?: string, time?: string }>;\n    keyPoints: GleanBoolean;\n    keyPointsToggle: GleanEventWithExtras<{ expand?: string }>;\n    onboardingCard: GleanEventWithExtras<{ action?: string, type?: string }>;\n    prefChanged: GleanEventWithExtras<{ enabled?: string, pref?: string }>;\n    shortcut: GleanString;\n    start: GleanEventWithExtras<{ cached?: string, source?: string, tab?: string }>;\n  }\n\n  ipprotection: {\n    enabled: GleanBoolean;\n    toggled: GleanEventWithExtras<{ enabled?: string }>;\n  }\n\n  backgroundUpdate: {\n    reasonsToNotUpdate: GleanStringList;\n    timeLastUpdateScheduled: GleanDatetime;\n    automaticRestartAttempted: GleanBoolean;\n    automaticRestartSuccess: GleanBoolean;\n    clientId: GleanUuid;\n    exitCodeException: GleanBoolean;\n    exitCodeSuccess: GleanBoolean;\n    finalState: GleanString;\n    reasons: GleanStringList;\n    states: GleanStringList;\n    targetingEnvCurrentDate: GleanDatetime;\n    targetingEnvFirefoxVersion: GleanQuantity;\n    targetingEnvProfileAge: GleanDatetime;\n    targetingException: GleanBoolean;\n    targetingExists: GleanBoolean;\n    targetingVersion: GleanQuantity;\n  }\n\n  browser: {\n    attributionErrors: Record<\"decode_error\"|\"empty_error\"|\"null_error\"|\"quarantine_error\"|\"read_error\"|\"write_error\", GleanCounter>;\n    defaultAtLaunch: GleanBoolean;\n    isUserDefault: Record<\"false\"|\"true\", GleanCounter>;\n    isUserDefaultError: Record<\"false\"|\"true\", GleanCounter>;\n    setDefaultAlwaysCheck: Record<\"false\"|\"true\", GleanCounter>;\n    setDefaultDialogPromptRawcount: GleanCustomDistribution;\n    setDefaultError: Record<\"false\"|\"true\", GleanCounter>;\n    setDefaultPdfHandlerUserChoiceResult: Record<\"ErrBuild\"|\"ErrExeHash\"|\"ErrExeOther\"|\"ErrExeProgID\"|\"ErrExeRejected\"|\"ErrExeTimeout\"|\"ErrHash\"|\"ErrLaunchExe\"|\"ErrOther\"|\"ErrProgID\"|\"Success\", GleanCounter>;\n    setDefaultResult: GleanCustomDistribution;\n    setDefaultUserChoiceResult: Record<\"ErrBuild\"|\"ErrExeHash\"|\"ErrExeOther\"|\"ErrExeProgID\"|\"ErrExeRejected\"|\"ErrExeTimeout\"|\"ErrHash\"|\"ErrLaunchExe\"|\"ErrOther\"|\"ErrProgID\"|\"Success\", GleanCounter>;\n  }\n\n  browserLaunchedToHandle: {\n    systemNotification: GleanEventWithExtras<{ action?: string, name?: string }>;\n  }\n\n  browserStartup: {\n    abouthomeCacheResult: GleanQuantity;\n    abouthomeCacheShutdownwrite: GleanBoolean;\n    kioskMode: GleanBoolean;\n  }\n\n  datasanitization: {\n    privacyClearOnShutdownCache: GleanBoolean;\n    privacyClearOnShutdownCookies: GleanBoolean;\n    privacyClearOnShutdownDownloads: GleanBoolean;\n    privacyClearOnShutdownFormdata: GleanBoolean;\n    privacyClearOnShutdownHistory: GleanBoolean;\n    privacyClearOnShutdownOfflineApps: GleanBoolean;\n    privacyClearOnShutdownOpenWindows: GleanBoolean;\n    privacyClearOnShutdownSessions: GleanBoolean;\n    privacyClearOnShutdownSiteSettings: GleanBoolean;\n    privacySanitizeSanitizeOnShutdown: GleanBoolean;\n    sessionPermissionExceptions: GleanQuantity;\n  }\n\n  launchOnLogin: {\n    lastProfileDisableStartup: GleanEventNoExtras;\n  }\n\n  osEnvironment: {\n    invokedToHandle: Record<string, GleanCounter>;\n    isDefaultHandler: Record<string, GleanBoolean>;\n    isKeptInDock: GleanBoolean;\n    isTaskbarPinned: GleanBoolean;\n    isTaskbarPinnedPrivate: GleanBoolean;\n    launchMethod: GleanString;\n    launchedToHandle: Record<string, GleanCounter>;\n    allowedAppSources: GleanString;\n    isAdminWithoutUac: GleanBoolean;\n  }\n\n  primaryPassword: {\n    enabled: GleanBoolean;\n  }\n\n  security: {\n    globalPrivacyControlEnabled: GleanQuantity;\n    httpsOnlyModeEnabled: GleanQuantity;\n    httpsOnlyModeEnabledPbm: GleanQuantity;\n    fissionPrincipals: GleanEventWithExtras<{ principalType?: string, scheme?: string, value?: string }>;\n    shadowedHtmlDocumentPropertyAccess: GleanEventWithExtras<{ name?: string }>;\n    cspViolationInternalPage: GleanEventWithExtras<{ blockeduridetails?: string, blockeduritype?: string, columnnumber?: string, directive?: string, linenumber?: string, sample?: string, selfdetails?: string, selftype?: string, sourcedetails?: string, sourcetype?: string }>;\n    evalUsageParentProcess: GleanEventWithExtras<{ fileinfo?: string, value?: string }>;\n    evalUsageSystemContext: GleanEventWithExtras<{ fileinfo?: string, value?: string }>;\n    httpsOnlyModeUpgradeTime: Record<\"sub_f_aborted\"|\"sub_f_cxnrefused\"|\"sub_f_other\"|\"sub_f_redirectloop\"|\"sub_f_ssl_badcertdm\"|\"sub_f_ssl_other\"|\"sub_f_ssl_selfsignd\"|\"sub_f_ssl_unkwnissr\"|\"sub_f_timeout\"|\"sub_successful\"|\"top_f_aborted\"|\"top_f_cxnrefused\"|\"top_f_other\"|\"top_f_redirectloop\"|\"top_f_ssl_badcertdm\"|\"top_f_ssl_other\"|\"top_f_ssl_selfsignd\"|\"top_f_ssl_unkwnissr\"|\"top_f_timeout\"|\"top_successful\", GleanTimingDistribution>;\n    javascriptLoadParentProcess: GleanEventWithExtras<{ fileinfo?: string, value?: string }>;\n    referrerPolicyCount: GleanCustomDistribution;\n    unexpectedLoad: GleanEventWithExtras<{ contenttype?: string, filedetails?: string, redirects?: string, remotetype?: string, value?: string }>;\n    prefUsageContentProcess: GleanEventWithExtras<{ value?: string }>;\n    addonSignatureVerificationStatus: GleanCustomDistribution;\n    clientAuthCertUsage: Record<string, GleanCounter>;\n    contentSignatureVerificationStatus: GleanCustomDistribution;\n    ntlmModuleUsed: GleanCustomDistribution;\n  }\n\n  sslkeylogging: {\n    enabled: GleanBoolean;\n  }\n\n  startMenu: {\n    manuallyUnpinnedSinceLastLaunch: GleanEventNoExtras;\n  }\n\n  startup: {\n    isCold: GleanBoolean;\n    secondsSinceLastOsRestart: GleanQuantity;\n    profileCount: GleanQuantity;\n    profileDatabaseVersion: GleanString;\n    profileSelectionReason: GleanString;\n  }\n\n  upgradeDialog: {\n    triggerReason: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  browserMigration: {\n    bookmarksQuantity: Record<string, GleanCustomDistribution>;\n    browserSelectedWizard: GleanEventWithExtras<{ migrator_key?: string }>;\n    cardsQuantity: Record<string, GleanCustomDistribution>;\n    chromePasswordFileWizard: GleanEventNoExtras;\n    entryPointCategorical: Record<\"bookmarks_toolbar\"|\"file_menu\"|\"firstrun\"|\"fxrefresh\"|\"help_menu\"|\"newtab\"|\"passwords\"|\"places\"|\"preferences\"|\"unknown\", GleanCounter>;\n    errors: Record<string, GleanCustomDistribution>;\n    extensionsQuantity: Record<string, GleanCustomDistribution>;\n    historyQuantity: Record<string, GleanCustomDistribution>;\n    linuxPermsWizard: GleanEventWithExtras<{ migrator_key?: string }>;\n    loginsQuantity: Record<string, GleanCustomDistribution>;\n    matchedExtensions: GleanStringList;\n    migrationFinishedWizard: GleanEventWithExtras<{ bookmarks?: string, extensions?: string, formdata?: string, history?: string, migrator_key?: string, other?: string, passwords?: string, payment_methods?: string }>;\n    migrationStartedWizard: GleanEventWithExtras<{ bookmarks?: string, extensions?: string, formdata?: string, history?: string, migrator_key?: string, other?: string, passwords?: string, payment_methods?: string }>;\n    noBrowsersFoundWizard: GleanEventNoExtras;\n    openedWizard: GleanEventNoExtras;\n    profileSelectedWizard: GleanEventWithExtras<{ migrator_key?: string }>;\n    resourcesSelectedWizard: GleanEventWithExtras<{ bookmarks?: string, configured?: string, extensions?: string, formdata?: string, history?: string, migrator_key?: string, other?: string, passwords?: string, payment_methods?: string }>;\n    safariPasswordFileWizard: GleanEventNoExtras;\n    safariPermsWizard: GleanEventNoExtras;\n    sourceBrowser: GleanCustomDistribution;\n    unmatchedExtensions: GleanStringList;\n    usage: Record<string, GleanCustomDistribution>;\n  }\n\n  migration: {\n    discoveredMigrators: Record<string, GleanCounter>;\n    timeToProduceMigratorList: GleanTimespan;\n    uninstallerProfileRefresh: GleanBoolean;\n  }\n\n  activityStream: {\n    endSession: GleanEventWithExtras<{ addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventBlock: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventBookmarkAdd: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventBookmarkDelete: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventClick: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventClickPrivacyInfo: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventCloseNewtabPrefs: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDelete: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDeleteConfirm: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDialogCancel: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDialogOpen: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDisclaimerAcked: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDrag: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventDrop: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventFakespotCategory: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventFakespotClick: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventHidePersonalize: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventImpression: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuAddSearch: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuAddTopsite: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuCollapse: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuExpand: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuManage: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuMoveDown: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuMoveUp: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuPrivacyNotice: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMenuRemove: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMigrationCancel: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventMigrationStart: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventOpenNewWindow: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventOpenNewtabPrefs: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventOpenPrivateWindow: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventPin: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventPocketThumbsDown: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventPocketThumbsUp: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventPrefChanged: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventPreviewRequest: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSearch: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSearchEditAdd: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSearchEditClose: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSearchEditDelete: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSearchHandoff: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventShowPersonalize: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventShowPrivacyInfo: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSkippedSignin: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventSubmitEmail: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventTopSitesEdit: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventTopSitesEditClose: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventTopsiteSponsorInfo: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n    eventUnpin: GleanEventWithExtras<{ action_position?: string, addon_version?: string, page?: string, session_id?: string, user_prefs?: string, value?: string }>;\n  }\n\n  contextualServicesTopsites: {\n    click: Record<string, GleanCounter>;\n    impression: Record<string, GleanCounter>;\n  }\n\n  deletionRequest: {\n    contextId: GleanString;\n    impressionId: GleanString;\n    syncDeviceId: GleanString;\n  }\n\n  newtab: {\n    abouthomeCacheConstruction: GleanTimingDistribution;\n    activityStreamCtorSuccess: GleanBoolean;\n    addonReadySuccess: GleanBoolean;\n    blockedSponsors: GleanStringList;\n    closed: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    fakespotAboutClick: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    fakespotCategory: GleanEventWithExtras<{ category?: string, newtab_visit_id?: string }>;\n    fakespotClick: GleanEventWithExtras<{ category?: string, newtab_visit_id?: string, product_id?: string }>;\n    fakespotCtaClick: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    fakespotDismiss: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    fakespotProductImpression: GleanEventWithExtras<{ category?: string, newtab_visit_id?: string, product_id?: string, product_title?: string }>;\n    featureHighlightDismiss: GleanEventWithExtras<{ feature?: string, newtab_visit_id?: string }>;\n    featureHighlightImpression: GleanEventWithExtras<{ feature?: string, newtab_visit_id?: string }>;\n    featureHighlightOpen: GleanEventWithExtras<{ feature?: string, newtab_visit_id?: string }>;\n    homepageCategory: GleanString;\n    inlineSelectionClick: GleanEventWithExtras<{ is_followed?: string, newtab_visit_id?: string, section_position?: string, topic?: string, topic_position?: string }>;\n    inlineSelectionImpression: GleanEventWithExtras<{ newtab_visit_id?: string, section_position?: string }>;\n    locale: GleanString;\n    metricRegistered: Record<string, GleanBoolean>;\n    newtabCategory: GleanString;\n    opened: GleanEventWithExtras<{ newtab_visit_id?: string, source?: string, window_inner_height?: string, window_inner_width?: string }>;\n    pingRegistered: Record<string, GleanBoolean>;\n    reportContentOpen: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    reportContentSubmit: GleanEventWithExtras<{ card_type?: string, corpus_item_id?: string, is_section_followed?: string, newtab_visit_id?: string, received_rank?: string, recommended_at?: string, report_reason?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, title?: string, topic?: string, url?: string }>;\n    sectionsBlockSection: GleanEventWithExtras<{ event_source?: string, newtab_visit_id?: string, section?: string, section_position?: string }>;\n    sectionsFollowSection: GleanEventWithExtras<{ event_source?: string, newtab_visit_id?: string, section?: string, section_position?: string }>;\n    sectionsImpression: GleanEventWithExtras<{ is_section_followed?: string, newtab_visit_id?: string, section?: string, section_position?: string }>;\n    sectionsUnblockSection: GleanEventWithExtras<{ event_source?: string, newtab_visit_id?: string, section?: string, section_position?: string }>;\n    sectionsUnfollowSection: GleanEventWithExtras<{ event_source?: string, newtab_visit_id?: string, section?: string, section_position?: string }>;\n    selectedTopics: GleanStringList;\n    sovAllocation: GleanStringList;\n    tooltipClick: GleanEventWithExtras<{ feature?: string, newtab_visit_id?: string }>;\n    topicSelectionDismiss: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    topicSelectionOpen: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    topicSelectionTopicsSaved: GleanEventWithExtras<{ first_save?: string, newtab_visit_id?: string, previous_topics?: string, topics?: string }>;\n    trendingSearchDismiss: GleanEventWithExtras<{ newtab_visit_id?: string, variant?: string }>;\n    trendingSearchImpression: GleanEventWithExtras<{ newtab_visit_id?: string, variant?: string }>;\n    trendingSearchSuggestionOpen: GleanEventWithExtras<{ newtab_visit_id?: string, variant?: string }>;\n    wallpaperCategoryClick: GleanEventWithExtras<{ newtab_visit_id?: string, selected_category?: string }>;\n    wallpaperClick: GleanEventWithExtras<{ had_previous_wallpaper?: string, had_uploaded_previously?: string, newtab_visit_id?: string, selected_wallpaper?: string }>;\n    wallpaperHighlightCtaClick: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    wallpaperHighlightDismissed: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    weatherChangeDisplay: GleanEventWithExtras<{ newtab_visit_id?: string, weather_display_mode?: string }>;\n    weatherEnabled: GleanBoolean;\n    weatherImpression: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    weatherLoadError: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    weatherLocationSelected: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n    weatherOpenProviderUrl: GleanEventWithExtras<{ newtab_visit_id?: string }>;\n  }\n\n  newtabHandoffPreference: {\n    enabled: GleanBoolean;\n  }\n\n  newtabSearch: {\n    enabled: GleanBoolean;\n    issued: GleanEventWithExtras<{ newtab_visit_id?: string, search_access_point?: string, telemetry_id?: string }>;\n  }\n\n  newtabContent: {\n    click: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, matches_selected_topic?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, selected_topics?: string, tile_id?: string, topic?: string }>;\n    coarseOs: GleanString;\n    country: GleanString;\n    dismiss: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_section_followed?: string, is_sponsored?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, tile_id?: string }>;\n    experimentBranch: GleanString;\n    experimentName: GleanString;\n    followedSections: GleanStringList;\n    impression: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, selected_topics?: string, tile_id?: string, topic?: string }>;\n    inferredInterests: GleanObject;\n    sectionsBlockSection: GleanEventWithExtras<{ event_source?: string, section?: string, section_position?: string }>;\n    sectionsFollowSection: GleanEventWithExtras<{ event_source?: string, section?: string, section_position?: string }>;\n    sectionsImpression: GleanEventWithExtras<{ is_section_followed?: string, section?: string, section_position?: string }>;\n    sectionsUnblockSection: GleanEventWithExtras<{ event_source?: string, section?: string, section_position?: string }>;\n    sectionsUnfollowSection: GleanEventWithExtras<{ event_source?: string, section?: string, section_position?: string }>;\n    surfaceId: GleanString;\n    thumbVotingInteraction: GleanEventWithExtras<{ corpus_item_id?: string, is_list_card?: string, is_section_followed?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, thumbs_down?: string, thumbs_up?: string, tile_id?: string, topic?: string }>;\n    utcOffset: GleanQuantity;\n  }\n\n  pocket: {\n    click: GleanEventWithExtras<{ corpus_item_id?: string, event_source?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, matches_selected_topic?: string, newtab_visit_id?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, selected_topics?: string, tile_id?: string, topic?: string }>;\n    dismiss: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, tile_id?: string }>;\n    enabled: GleanBoolean;\n    fetchTimestamp: GleanDatetime;\n    impression: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, selected_topics?: string, tile_id?: string, topic?: string }>;\n    isSignedIn: GleanBoolean;\n    newtabCreationTimestamp: GleanDatetime;\n    save: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, is_sponsored?: string, matches_selected_topic?: string, newtab_visit_id?: string, position?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, selected_topics?: string, tile_id?: string, topic?: string }>;\n    shim: GleanText;\n    sponsoredStoriesEnabled: GleanBoolean;\n    thumbVotingInteraction: GleanEventWithExtras<{ corpus_item_id?: string, format?: string, is_list_card?: string, is_section_followed?: string, newtab_visit_id?: string, received_rank?: string, recommendation_id?: string, recommended_at?: string, scheduled_corpus_item_id?: string, section?: string, section_position?: string, thumbs_down?: string, thumbs_up?: string, tile_id?: string, topic?: string }>;\n    topicClick: GleanEventWithExtras<{ newtab_visit_id?: string, topic?: string }>;\n  }\n\n  topSites: {\n    advertiser: GleanString;\n    contextId: GleanUuid;\n    pingType: GleanString;\n    position: GleanQuantity;\n    reportingUrl: GleanUrl;\n    source: GleanString;\n    tileId: GleanString;\n  }\n\n  topsites: {\n    add: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    click: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    dismiss: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    edit: GleanEventWithExtras<{ advertiser_name?: string, has_title_changed?: string, has_url_changed?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    enabled: GleanBoolean;\n    impression: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    pin: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    prefChanged: GleanEventWithExtras<{ new_value?: string, pref_name?: string }>;\n    rows: GleanQuantity;\n    showPrivacyClick: GleanEventWithExtras<{ advertiser_name?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n    sponsoredEnabled: GleanBoolean;\n    sponsoredTilesConfigured: GleanQuantity;\n    sponsoredTilesReceived: GleanText;\n    unpin: GleanEventWithExtras<{ advertiser_name?: string, is_sponsored?: string, newtab_visit_id?: string, position?: string, tile_id?: string }>;\n  }\n\n  bookmarksSidebar: {\n    cumulativeSearches: GleanCustomDistribution;\n  }\n\n  bookmarksToolbar: {\n    init: GleanTimingDistribution;\n  }\n\n  historySidebar: {\n    cumulativeFilterCount: GleanCustomDistribution;\n    cumulativeSearches: GleanCustomDistribution;\n    filterType: Record<\"day\"|\"dayandsite\"|\"lastvisited\"|\"site\"|\"visited\", GleanCounter>;\n    lastvisitedTreeQueryTime: GleanTimingDistribution;\n  }\n\n  library: {\n    cumulativeBookmarkSearches: GleanCustomDistribution;\n    cumulativeHistorySearches: GleanCustomDistribution;\n    historySearchTime: GleanTimingDistribution;\n    link: Record<string, GleanCounter>;\n    opened: Record<string, GleanCounter>;\n    search: Record<string, GleanCounter>;\n  }\n\n  aboutpreferences: {\n    showClick: GleanEventWithExtras<{ value?: string }>;\n    showHash: GleanEventWithExtras<{ value?: string }>;\n    showInitial: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  intlUiBrowserLanguage: {\n    acceptDialog: GleanEventWithExtras<{ value?: string }>;\n    addDialog: GleanEventWithExtras<{ installId?: string, value?: string }>;\n    applyMain: GleanEventNoExtras;\n    cancelDialog: GleanEventWithExtras<{ value?: string }>;\n    manageMain: GleanEventWithExtras<{ value?: string }>;\n    removeDialog: GleanEventWithExtras<{ value?: string }>;\n    reorderDialog: GleanEventWithExtras<{ value?: string }>;\n    reorderMain: GleanEventNoExtras;\n    searchDialog: GleanEventWithExtras<{ value?: string }>;\n    searchMain: GleanEventWithExtras<{ value?: string }>;\n    setFallbackDialog: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  networkProxySettings: {\n    proxyTypePreference: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  privacyUiFppClick: {\n    checkbox: GleanEventWithExtras<{ checked?: string }>;\n    menu: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  securityDohSettings: {\n    modeChangedButton: GleanEventWithExtras<{ value?: string }>;\n    providerChoiceValue: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  aboutprivatebrowsing: {\n    clickDismissButton: GleanEventNoExtras;\n    clickInfoLink: GleanEventNoExtras;\n    clickPromoLink: GleanEventNoExtras;\n  }\n\n  privateBrowsingResetPbm: {\n    confirmPanel: GleanEventWithExtras<{ action?: string, reason?: string }>;\n    resetAction: GleanEventWithExtras<{ did_confirm?: string }>;\n  }\n\n  profilesDefault: {\n    updated: GleanEventNoExtras;\n  }\n\n  profilesDelete: {\n    cancel: GleanEventNoExtras;\n    confirm: GleanEventNoExtras;\n    displayed: GleanEventNoExtras;\n  }\n\n  profilesExisting: {\n    alert: GleanEventWithExtras<{ value?: string }>;\n    avatar: GleanEventWithExtras<{ value?: string }>;\n    closed: GleanEventWithExtras<{ value?: string }>;\n    deleted: GleanEventNoExtras;\n    displayed: GleanEventNoExtras;\n    learnMore: GleanEventNoExtras;\n    name: GleanEventNoExtras;\n    theme: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  profilesNew: {\n    alert: GleanEventWithExtras<{ value?: string }>;\n    avatar: GleanEventWithExtras<{ value?: string }>;\n    closed: GleanEventWithExtras<{ value?: string }>;\n    deleted: GleanEventNoExtras;\n    displayed: GleanEventNoExtras;\n    learnMore: GleanEventNoExtras;\n    name: GleanEventNoExtras;\n    theme: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  profilesSelectorWindow: {\n    launch: GleanEventNoExtras;\n    showAtStartup: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  securityUiProtections: {\n    clickLwAboutLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickLwOpenButton: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickLwSyncLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickMobileAppLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickMtrAboutLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickMtrReportLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickMtrSignupButton: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickSettingsLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickTrackersAboutLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickVpnAppLinkAndroid: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickVpnAppLinkIos: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickVpnBannerClose: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickVpnBannerLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    clickVpnCardLink: GleanEventWithExtras<{ category?: string, value?: string }>;\n    closeProtectionReport: GleanEventWithExtras<{ category?: string, value?: string }>;\n    showProtectionReport: GleanEventWithExtras<{ category?: string, value?: string }>;\n    showVpnBanner: GleanEventWithExtras<{ category?: string, value?: string }>;\n  }\n\n  protocolhandlerMailto: {\n    handlerPromptShown: Record<\"fx_default\"|\"os_default\", GleanCounter>;\n    promptClicked: Record<\"dismiss_local_default\"|\"dismiss_os_default\"|\"set_local_default\"|\"set_os_default\"|\"set_os_default_error\"|\"set_os_default_impossible\", GleanCounter>;\n    visit: GleanEventWithExtras<{ triggered_externally?: string }>;\n  }\n\n  screenshots: {\n    canceledContextMenu: GleanEventNoExtras;\n    canceledEscape: GleanEventNoExtras;\n    canceledNavigation: GleanEventNoExtras;\n    canceledOverlayCancel: GleanEventNoExtras;\n    canceledPreviewCancel: GleanEventNoExtras;\n    canceledQuickActions: GleanEventNoExtras;\n    canceledShortcut: GleanEventNoExtras;\n    canceledToolbarButton: GleanEventNoExtras;\n    copyOverlayCopy: GleanEventWithExtras<{ element?: string, fullpage?: string, move?: string, region?: string, resize?: string, visible?: string }>;\n    copyPreviewCopy: GleanEventWithExtras<{ element?: string, fullpage?: string, move?: string, region?: string, resize?: string, visible?: string }>;\n    downloadOverlayDownload: GleanEventWithExtras<{ element?: string, fullpage?: string, move?: string, region?: string, resize?: string, visible?: string }>;\n    downloadPreviewDownload: GleanEventWithExtras<{ element?: string, fullpage?: string, move?: string, region?: string, resize?: string, visible?: string }>;\n    failedScreenshotTooLarge: GleanEventNoExtras;\n    selectedElement: GleanEventNoExtras;\n    selectedFullPage: GleanEventNoExtras;\n    selectedRegionSelection: GleanEventNoExtras;\n    selectedVisible: GleanEventNoExtras;\n    startedContextMenu: GleanEventNoExtras;\n    startedOverlayRetry: GleanEventNoExtras;\n    startedPreviewRetry: GleanEventNoExtras;\n    startedQuickActions: GleanEventNoExtras;\n    startedShortcut: GleanEventNoExtras;\n    startedToolbarButton: GleanEventNoExtras;\n  }\n\n  browserEngagementNavigation: {\n    aboutHome: Record<string, GleanCounter>;\n    aboutNewtab: Record<string, GleanCounter>;\n    contextmenu: Record<string, GleanCounter>;\n    searchbar: Record<string, GleanCounter>;\n    urlbar: Record<string, GleanCounter>;\n    urlbarHandoff: Record<string, GleanCounter>;\n    urlbarPersisted: Record<string, GleanCounter>;\n    urlbarSearchmode: Record<string, GleanCounter>;\n    webextension: Record<string, GleanCounter>;\n  }\n\n  browserSearchAdclicks: {\n    aboutHome: Record<string, GleanCounter>;\n    aboutNewtab: Record<string, GleanCounter>;\n    contextmenu: Record<string, GleanCounter>;\n    reload: Record<string, GleanCounter>;\n    searchbar: Record<string, GleanCounter>;\n    system: Record<string, GleanCounter>;\n    tabhistory: Record<string, GleanCounter>;\n    unknown: Record<string, GleanCounter>;\n    urlbar: Record<string, GleanCounter>;\n    urlbarHandoff: Record<string, GleanCounter>;\n    urlbarPersisted: Record<string, GleanCounter>;\n    urlbarSearchmode: Record<string, GleanCounter>;\n    webextension: Record<string, GleanCounter>;\n  }\n\n  browserSearchContent: {\n    aboutHome: Record<string, GleanCounter>;\n    aboutNewtab: Record<string, GleanCounter>;\n    contextmenu: Record<string, GleanCounter>;\n    reload: Record<string, GleanCounter>;\n    searchbar: Record<string, GleanCounter>;\n    system: Record<string, GleanCounter>;\n    tabhistory: Record<string, GleanCounter>;\n    unknown: Record<string, GleanCounter>;\n    urlbar: Record<string, GleanCounter>;\n    urlbarHandoff: Record<string, GleanCounter>;\n    urlbarPersisted: Record<string, GleanCounter>;\n    urlbarSearchmode: Record<string, GleanCounter>;\n    webextension: Record<string, GleanCounter>;\n  }\n\n  browserSearchWithads: {\n    aboutHome: Record<string, GleanCounter>;\n    aboutNewtab: Record<string, GleanCounter>;\n    contextmenu: Record<string, GleanCounter>;\n    reload: Record<string, GleanCounter>;\n    searchbar: Record<string, GleanCounter>;\n    system: Record<string, GleanCounter>;\n    tabhistory: Record<string, GleanCounter>;\n    unknown: Record<string, GleanCounter>;\n    urlbar: Record<string, GleanCounter>;\n    urlbarHandoff: Record<string, GleanCounter>;\n    urlbarPersisted: Record<string, GleanCounter>;\n    urlbarSearchmode: Record<string, GleanCounter>;\n    webextension: Record<string, GleanCounter>;\n  }\n\n  newtabSearchAd: {\n    click: GleanEventWithExtras<{ is_follow_on?: string, is_tagged?: string, newtab_visit_id?: string, search_access_point?: string, telemetry_id?: string }>;\n    impression: GleanEventWithExtras<{ is_follow_on?: string, is_tagged?: string, newtab_visit_id?: string, search_access_point?: string, telemetry_id?: string }>;\n  }\n\n  sap: {\n    counts: GleanEventWithExtras<{ overridden_by_third_party?: string, partner_code?: string, provider_id?: string, provider_name?: string, source?: string }>;\n    deprecatedCounts: Record<string, GleanCounter>;\n    searchFormCounts: GleanEventWithExtras<{ provider_id?: string, source?: string }>;\n  }\n\n  searchWith: {\n    contextId: GleanUuid;\n    reportingUrl: GleanUrl;\n  }\n\n  searchbar: {\n    selectedResultMethod: Record<\"click\"|\"enter\"|\"enterSelection\", GleanCounter>;\n  }\n\n  serp: {\n    abandonment: GleanEventWithExtras<{ impression_id?: string, reason?: string }>;\n    adImpression: GleanEventWithExtras<{ ads_hidden?: string, ads_loaded?: string, ads_visible?: string, component?: string, impression_id?: string }>;\n    adsBlockedCount: Record<\"beyond_viewport\"|\"hidden_child\"|\"hidden_parent\", GleanCounter>;\n    categorization: GleanEventWithExtras<{ app_version?: string, channel?: string, is_shopping_page?: string, mappings_version?: string, num_ads_clicked?: string, num_ads_hidden?: string, num_ads_loaded?: string, num_ads_visible?: string, organic_category?: string, organic_num_domains?: string, organic_num_inconclusive?: string, organic_num_unknown?: string, partner_code?: string, provider?: string, region?: string, sponsored_category?: string, sponsored_num_domains?: string, sponsored_num_inconclusive?: string, sponsored_num_unknown?: string, tagged?: string }>;\n    categorizationDuration: GleanTimingDistribution;\n    categorizationNoMapFound: GleanCounter;\n    engagement: GleanEventWithExtras<{ action?: string, impression_id?: string, target?: string }>;\n    experimentInfo: GleanObject;\n    impression: GleanEventWithExtras<{ impression_id?: string, is_private?: string, is_shopping_page?: string, is_signed_in?: string, partner_code?: string, provider?: string, shopping_tab_displayed?: string, source?: string, tagged?: string }>;\n  }\n\n  urlbarSearchmode: {\n    bookmarkmenu: Record<string, GleanCounter>;\n    handoff: Record<string, GleanCounter>;\n    historymenu: Record<string, GleanCounter>;\n    keywordoffer: Record<string, GleanCounter>;\n    oneoff: Record<string, GleanCounter>;\n    other: Record<string, GleanCounter>;\n    searchbutton: Record<string, GleanCounter>;\n    shortcut: Record<string, GleanCounter>;\n    tabmenu: Record<string, GleanCounter>;\n    tabtosearch: Record<string, GleanCounter>;\n    tabtosearchOnboard: Record<string, GleanCounter>;\n    topsitesNewtab: Record<string, GleanCounter>;\n    topsitesUrlbar: Record<string, GleanCounter>;\n    touchbar: Record<string, GleanCounter>;\n    typed: Record<string, GleanCounter>;\n  }\n\n  sessionRestore: {\n    allFilesCorrupt: Record<\"false\"|\"true\", GleanCounter>;\n    autoRestoreDurationUntilEagerTabsRestored: GleanTimingDistribution;\n    backupCanBeLoadedSessionFile: GleanEventWithExtras<{ can_load?: string, loadfail_reason?: string, path_key?: string }>;\n    collectAllWindowsData: GleanTimingDistribution;\n    collectData: GleanTimingDistribution;\n    collectSessionHistory: GleanTimingDistribution;\n    corruptFile: Record<\"false\"|\"true\", GleanCounter>;\n    fileSizeBytes: GleanMemoryDistribution;\n    manualRestoreDurationUntilEagerTabsRestored: GleanTimingDistribution;\n    numberOfEagerTabsRestored: GleanCustomDistribution;\n    numberOfTabsRestored: GleanCustomDistribution;\n    numberOfWindowsRestored: GleanCustomDistribution;\n    readFile: GleanTimingDistribution;\n    restoreWindow: GleanTimingDistribution;\n    shutdownFlushAllOutcomes: Record<\"abnormal_content_shutdown\"|\"complete\"|\"oop_frameloader_crashed\"|\"timed_out\", GleanCounter>;\n    shutdownOk: Record<\"false\"|\"true\", GleanCounter>;\n    shutdownSuccessSessionStartup: GleanEventWithExtras<{ shutdown_ok?: string, shutdown_reason?: string }>;\n    shutdownType: Record<\"async\"|\"sync\", GleanCounter>;\n    startupInitSession: GleanTimingDistribution;\n    startupOnloadInitialWindow: GleanTimingDistribution;\n    writeFile: GleanTimingDistribution;\n  }\n\n  bookmarks: {\n    sidebarToggle: GleanEventWithExtras<{ opened?: string, version?: string }>;\n  }\n\n  contextualManager: {\n    passwordsEnabled: GleanEventWithExtras<{ checked?: string }>;\n    sidebarToggle: GleanEventWithExtras<{ opened?: string }>;\n    notificationInteraction: GleanEventWithExtras<{ action_type?: string, notification_detail?: string }>;\n    notificationShown: GleanEventWithExtras<{ notification_detail?: string }>;\n    recordsInteraction: GleanEventWithExtras<{ interaction_type?: string }>;\n    recordsUpdate: GleanEventWithExtras<{ change_type?: string }>;\n    toolbarAction: GleanEventWithExtras<{ option_name?: string, trigger?: string }>;\n  }\n\n  extension: {\n    sidebarToggle: GleanEventWithExtras<{ addon_id?: string, addon_name?: string, opened?: string, version?: string }>;\n  }\n\n  history: {\n    sidebarToggle: GleanEventWithExtras<{ opened?: string, version?: string }>;\n  }\n\n  pinnedTabs: {\n    activations: Record<\"horizontal_bar\"|\"sidebar\", GleanCounter>;\n    close: GleanEventWithExtras<{ layout?: string }>;\n    count: Record<\"horizontal_bar\"|\"sidebar\", GleanQuantity>;\n    pin: GleanEventWithExtras<{ layout?: string, source?: string }>;\n  }\n\n  sidebar: {\n    addonIconClick: GleanEventWithExtras<{ addon_id?: string, sidebar_open?: string }>;\n    bookmarksIconClick: GleanEventWithExtras<{ sidebar_open?: string }>;\n    chatbotIconClick: GleanEventWithExtras<{ sidebar_open?: string }>;\n    displaySettings: GleanString;\n    expand: GleanEventNoExtras;\n    historyIconClick: GleanEventWithExtras<{ sidebar_open?: string }>;\n    keyboardShortcut: GleanEventWithExtras<{ opened?: string, panel?: string }>;\n    link: Record<string, GleanCounter>;\n    positionSettings: GleanString;\n    resize: GleanEventWithExtras<{ current?: string, percentage?: string, previous?: string }>;\n    search: Record<string, GleanCounter>;\n    syncedTabsIconClick: GleanEventWithExtras<{ sidebar_open?: string }>;\n    tabsLayout: GleanString;\n    width: GleanQuantity;\n  }\n\n  sidebarCustomize: {\n    bookmarksEnabled: GleanEventWithExtras<{ checked?: string }>;\n    chatbotEnabled: GleanEventWithExtras<{ checked?: string }>;\n    expandOnHoverEnabled: GleanEventWithExtras<{ checked?: string }>;\n    extensionsClicked: GleanEventNoExtras;\n    firefoxSettingsClicked: GleanEventNoExtras;\n    historyEnabled: GleanEventWithExtras<{ checked?: string }>;\n    iconClick: GleanEventNoExtras;\n    panelToggle: GleanEventWithExtras<{ opened?: string }>;\n    sidebarDisplay: GleanEventWithExtras<{ preference?: string }>;\n    sidebarPosition: GleanEventWithExtras<{ position?: string }>;\n    syncedTabsEnabled: GleanEventWithExtras<{ checked?: string }>;\n    tabsDisplay: GleanEventWithExtras<{ checked?: string }>;\n    tabsLayout: GleanEventWithExtras<{ orientation?: string }>;\n  }\n\n  syncedTabs: {\n    sidebarToggle: GleanEventWithExtras<{ opened?: string, synced_tabs_loaded?: string, version?: string }>;\n    clickFxaAppMenu: GleanEventWithExtras<{ filter?: string, tab_pos?: string }>;\n    clickFxaAvatarMenu: GleanEventWithExtras<{ filter?: string, tab_pos?: string }>;\n    clickSyncedTabsSidebar: GleanEventWithExtras<{ filter?: string, tab_pos?: string }>;\n  }\n\n  browserTabclose: {\n    permitUnloadTime: GleanTimingDistribution;\n    timeAnim: GleanTimingDistribution;\n    timeNoAnim: GleanTimingDistribution;\n  }\n\n  browserTabswitch: {\n    spinnerVisible: GleanTimingDistribution;\n    spinnerVisibleTrigger: Record<\"none\"|\"onEndSwapDocShells\"|\"onLayersReady\"|\"onLoadTimeout\"|\"onSizeModeOrOcc\"|\"postActions\"|\"preActions\", GleanCounter>;\n    total: GleanTimingDistribution;\n    update: GleanTimingDistribution;\n  }\n\n  browserUiInteraction: {\n    allTabsPanelDragstartTabEventCount: GleanCounter;\n    allTabsPanelEntrypoint: Record<string, GleanCounter>;\n    textrecognitionError: GleanCounter;\n    appMenu: Record<string, GleanCounter>;\n    bookmarksBar: Record<string, GleanCounter>;\n    contentContext: Record<string, GleanCounter>;\n    menuBar: Record<string, GleanCounter>;\n    navBar: Record<string, GleanCounter>;\n    overflowMenu: Record<string, GleanCounter>;\n    pageactionPanel: Record<string, GleanCounter>;\n    pageactionUrlbar: Record<string, GleanCounter>;\n    pinnedOverflowMenu: Record<string, GleanCounter>;\n    preferencesPaneContainers: Record<string, GleanCounter>;\n    preferencesPaneExperimental: Record<string, GleanCounter>;\n    preferencesPaneGeneral: Record<string, GleanCounter>;\n    preferencesPaneHome: Record<string, GleanCounter>;\n    preferencesPaneMoreFromMozilla: Record<string, GleanCounter>;\n    preferencesPanePrivacy: Record<string, GleanCounter>;\n    preferencesPaneSearch: Record<string, GleanCounter>;\n    preferencesPaneSearchResults: Record<string, GleanCounter>;\n    preferencesPaneSync: Record<string, GleanCounter>;\n    preferencesPaneUnknown: Record<string, GleanCounter>;\n    tabsBar: Record<string, GleanCounter>;\n    tabsContext: Record<string, GleanCounter>;\n    tabsContextEntrypoint: Record<string, GleanCounter>;\n    unifiedExtensionsArea: Record<string, GleanCounter>;\n    verticalTabsContainer: Record<string, GleanCounter>;\n    keyboard: Record<string, GleanCounter>;\n  }\n\n  tabgroup: {\n    activeGroups: Record<\"collapsed\"|\"expanded\", GleanQuantity>;\n    addTab: GleanEventWithExtras<{ layout?: string, source?: string, tabs?: string }>;\n    createGroup: GleanEventWithExtras<{ id?: string, layout?: string, source?: string, tabs?: string }>;\n    delete: GleanEventWithExtras<{ id?: string, source?: string }>;\n    groupInteractions: Record<\"change_color\"|\"collapse\"|\"delete\"|\"expand\"|\"move_window\"|\"open_recent\"|\"open_suggest\"|\"open_tabmenu\"|\"rename\"|\"reopen\"|\"save\"|\"ungroup\", GleanCounter>;\n    reopen: GleanEventWithExtras<{ id?: string, layout?: string, source?: string, type?: string }>;\n    save: GleanEventWithExtras<{ id?: string, user_triggered?: string }>;\n    savedGroups: GleanQuantity;\n    smartTab: GleanEventWithExtras<{ enabled?: string }>;\n    smartTabEnabled: GleanBoolean;\n    smartTabOptin: GleanEventWithExtras<{ step?: string }>;\n    smartTabSuggest: GleanEventWithExtras<{ action?: string, id?: string, model_revision?: string, tabs_approved?: string, tabs_in_group?: string, tabs_in_window?: string, tabs_removed?: string, tabs_suggested?: string }>;\n    smartTabTopic: GleanEventWithExtras<{ action?: string, id?: string, label_reason?: string, levenshtein_distance?: string, ml_label_length?: string, model_revision?: string, tabs_in_group?: string, user_label_length?: string }>;\n    tabCountInGroups: Record<\"inside\"|\"outside\", GleanQuantity>;\n    tabInteractions: Record<\"activate\"|\"add\"|\"close_tab_other\"|\"close_tabmenu\"|\"close_tabstrip\"|\"duplicate\"|\"new\"|\"remove_new_window\"|\"remove_other_window\"|\"remove_same_window\"|\"reorder\", GleanCounter>;\n    tabsPerActiveGroup: Record<\"average\"|\"max\"|\"median\"|\"min\", GleanQuantity>;\n    tabsPerSavedGroup: Record<\"average\"|\"max\"|\"median\"|\"min\", GleanQuantity>;\n    ungroup: GleanEventWithExtras<{ source?: string }>;\n  }\n\n  textRecognition: {\n    apiPerformance: GleanTimingDistribution;\n    interactionTiming: GleanTimingDistribution;\n    textLength: GleanCustomDistribution;\n  }\n\n  quickSuggest: {\n    advertiser: GleanString;\n    blockId: GleanString;\n    contextId: GleanUuid;\n    country: GleanString;\n    iabCategory: GleanString;\n    improveSuggestExperience: GleanBoolean;\n    isClicked: GleanBoolean;\n    matchType: GleanString;\n    pingType: GleanString;\n    position: GleanQuantity;\n    reportingUrl: GleanUrl;\n    requestId: GleanString;\n    source: GleanString;\n    suggestedIndex: GleanString;\n    suggestedIndexRelativeToGroup: GleanBoolean;\n  }\n\n  suggest: {\n    ingestDownloadTime: Record<\"amo-suggestions\"|\"amp\"|\"configuration\"|\"fakespot-suggestions\"|\"icon\"|\"mdn-suggestions\"|\"weather\"|\"wikipedia\"|\"yelp-suggestions\", GleanTimingDistribution>;\n    ingestTime: Record<\"amo-suggestions\"|\"amp\"|\"configuration\"|\"fakespot-suggestions\"|\"icon\"|\"mdn-suggestions\"|\"weather\"|\"wikipedia\"|\"yelp-suggestions\", GleanTimingDistribution>;\n    queryTime: Record<\"amo\"|\"amp\"|\"fakespot\"|\"mdn\"|\"weather\"|\"wikipedia\"|\"yelp\", GleanTimingDistribution>;\n  }\n\n  suggestRelevance: {\n    outcome: Record<\"boosted\"|\"decreased\", GleanCounter>;\n    status: Record<\"failure\"|\"success\", GleanCounter>;\n  }\n\n  urlbar: {\n    abandonment: GleanEventWithExtras<{ abandonment_type?: string, actions?: string, available_semantic_sources?: string, groups?: string, interaction?: string, n_chars?: string, n_results?: string, n_words?: string, results?: string, sap?: string, search_engine_default_id?: string, search_mode?: string }>;\n    autocompleteFirstResultTime: GleanTimingDistribution;\n    autocompleteSixthResultTime: GleanTimingDistribution;\n    autofillDeletion: GleanCounter;\n    disable: GleanEventWithExtras<{ feature?: string, interaction?: string, n_chars?: string, n_results?: string, n_words?: string, results?: string, sap?: string, search_engine_default_id?: string, search_mode?: string, selected_result?: string }>;\n    engagement: GleanEventWithExtras<{ actions?: string, available_semantic_sources?: string, engagement_type?: string, groups?: string, interaction?: string, n_chars?: string, n_results?: string, n_words?: string, provider?: string, results?: string, sap?: string, search_engine_default_id?: string, search_mode?: string, selected_position?: string, selected_result?: string }>;\n    exposure: GleanEventWithExtras<{ results?: string, terminal?: string }>;\n    fakespotEngagement: GleanEventWithExtras<{ grade?: string, provider?: string, rating?: string }>;\n    heuristicResultMissing: GleanRate;\n    keywordExposure: GleanEventWithExtras<{ keyword?: string, result?: string, terminal?: string }>;\n    prefMaxResults: GleanQuantity;\n    prefSuggestDataCollection: GleanBoolean;\n    prefSuggestNonsponsored: GleanBoolean;\n    prefSuggestSponsored: GleanBoolean;\n    prefSuggestTopsites: GleanBoolean;\n    quickSuggestContextualOptIn: GleanEventWithExtras<{ interaction?: string, say_hello?: string, top_position?: string }>;\n  }\n\n  urlbarPersistedsearchterms: {\n    revertByPopupCount: GleanCounter;\n    viewCount: GleanCounter;\n  }\n\n  urlbarQuickaction: {\n    picked: Record<string, GleanCounter>;\n  }\n\n  urlbarTrending: {\n    block: GleanCounter;\n  }\n\n  urlbarUnifiedsearchbutton: {\n    opened: GleanCounter;\n    picked: Record<string, GleanCounter>;\n  }\n\n  urlbarZeroprefix: {\n    abandonment: GleanCounter;\n    engagement: GleanCounter;\n    exposure: GleanCounter;\n  }\n\n  addonsSearchDetection: {\n    etldChangeOther: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, from?: string, to?: string, value?: string }>;\n    etldChangeWebrequest: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, from?: string, to?: string, value?: string }>;\n  }\n\n  browserContentCrash: {\n    dumpUnavailable: GleanCounter;\n    notSubmitted: GleanCounter;\n  }\n\n  browserSanitizer: {\n    cache: GleanTimingDistribution;\n    cookies: GleanTimingDistribution;\n    downloads: GleanTimingDistribution;\n    formdata: GleanTimingDistribution;\n    history: GleanTimingDistribution;\n    openwindows: GleanTimingDistribution;\n    sessions: GleanTimingDistribution;\n    sitesettings: GleanTimingDistribution;\n    total: GleanTimingDistribution;\n  }\n\n  browserUi: {\n    customizedWidgets: Record<string, GleanCounter>;\n    mirrorForToolbarWidgets: Record<string, GleanBoolean>;\n    toolbarWidgets: GleanObject;\n  }\n\n  browserUsage: {\n    interaction: GleanEventWithExtras<{ flow_id?: string, source?: string, widget_id?: string }>;\n  }\n\n  contextualServices: {\n    contextId: GleanUuid;\n  }\n\n  homepage: {\n    preferenceIgnore: GleanEventWithExtras<{ value?: string, webExtensionId?: string }>;\n  }\n\n  installation: {\n    firstSeenFull: GleanEventWithExtras<{ admin_user?: string, build_id?: string, default_path?: string, from_msi?: string, install_existed?: string, other_inst?: string, other_msix_inst?: string, profdir_existed?: string, silent?: string, version?: string }>;\n    firstSeenMsix: GleanEventWithExtras<{ admin_user?: string, build_id?: string, default_path?: string, from_msi?: string, install_existed?: string, other_inst?: string, other_msix_inst?: string, profdir_existed?: string, silent?: string, version?: string }>;\n    firstSeenStub: GleanEventWithExtras<{ admin_user?: string, build_id?: string, default_path?: string, from_msi?: string, install_existed?: string, other_inst?: string, other_msix_inst?: string, profdir_existed?: string, silent?: string, version?: string }>;\n  }\n\n  installationFirstSeen: {\n    adminUser: GleanBoolean;\n    defaultPath: GleanBoolean;\n    failureReason: GleanString;\n    fromMsi: GleanBoolean;\n    installExisted: GleanBoolean;\n    installerType: GleanString;\n    otherInst: GleanBoolean;\n    otherMsixInst: GleanBoolean;\n    profdirExisted: GleanBoolean;\n    silent: GleanBoolean;\n    version: GleanString;\n  }\n\n  linkIconSizesAttr: {\n    dimension: GleanCustomDistribution;\n    usage: GleanCustomDistribution;\n  }\n\n  partnerLink: {\n    attributionAbort: GleanEventWithExtras<{ value?: string }>;\n    attributionFailure: GleanEventWithExtras<{ value?: string }>;\n    attributionSuccess: GleanEventWithExtras<{ value?: string }>;\n    clickNewtab: GleanEventWithExtras<{ value?: string }>;\n    clickUrlbar: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  performanceInteraction: {\n    tabSwitchComposite: GleanTimingDistribution;\n    keypressPresentLatency: GleanTimingDistribution;\n    mouseupClickPresentLatency: GleanTimingDistribution;\n  }\n\n  timestamps: {\n    aboutHomeTopsitesFirstPaint: GleanQuantity;\n    firstPaint: GleanQuantity;\n    firstPaintTwo: GleanQuantity;\n  }\n\n  devtoolsAccessibility: {\n    accessibleContextMenuItemActivated: Record<string, GleanCounter>;\n    accessibleContextMenuOpened: GleanCounter;\n    auditActivated: Record<string, GleanCounter>;\n    nodeInspectedCount: GleanCounter;\n    selectAccessibleForNode: Record<string, GleanCounter>;\n    simulationActivated: Record<string, GleanCounter>;\n    openedCount: GleanCounter;\n    pickerUsedCount: GleanCounter;\n  }\n\n  devtools: {\n    coldToolboxOpenDelay: Record<string, GleanTimingDistribution>;\n    currentTheme: Record<string, GleanCounter>;\n    toolboxHost: GleanCustomDistribution;\n    toolboxPageReloadDelay: Record<string, GleanTimingDistribution>;\n    warmToolboxOpenDelay: Record<string, GleanTimingDistribution>;\n    aboutdebuggingOpenedCount: GleanCounter;\n    aboutdebuggingTimeActive: GleanTimingDistribution;\n    accessibilityPickerTimeActive: GleanTimingDistribution;\n    accessibilityServiceTimeActive: GleanTimingDistribution;\n    accessibilityTimeActive: GleanTimingDistribution;\n    animationinspectorOpenedCount: GleanCounter;\n    animationinspectorTimeActive: GleanTimingDistribution;\n    browserconsoleOpenedCount: GleanCounter;\n    browserconsoleTimeActive: GleanTimingDistribution;\n    changesviewTimeActive: GleanTimingDistribution;\n    compatibilityviewOpenedCount: GleanCounter;\n    compatibilityviewTimeActive: GleanTimingDistribution;\n    computedviewOpenedCount: GleanCounter;\n    computedviewTimeActive: GleanTimingDistribution;\n    customOpenedCount: GleanCounter;\n    customTimeActive: GleanTimingDistribution;\n    domOpenedCount: GleanCounter;\n    domTimeActive: GleanTimingDistribution;\n    entryPoint: Record<\"CommandLine\"|\"ContextMenu\"|\"HamburgerMenu\"|\"KeyShortcut\"|\"SessionRestore\"|\"SlowScript\"|\"SystemMenu\", GleanCounter>;\n    eyedropperOpenedCount: GleanCounter;\n    flexboxHighlighterTimeActive: GleanTimingDistribution;\n    fontinspectorOpenedCount: GleanCounter;\n    fontinspectorTimeActive: GleanTimingDistribution;\n    gridHighlighterTimeActive: GleanTimingDistribution;\n    inspectorOpenedCount: GleanCounter;\n    inspectorTimeActive: GleanTimingDistribution;\n    jsbrowserdebuggerOpenedCount: GleanCounter;\n    jsbrowserdebuggerTimeActive: GleanTimingDistribution;\n    jsdebuggerOpenedCount: GleanCounter;\n    jsdebuggerTimeActive: GleanTimingDistribution;\n    jsprofilerOpenedCount: GleanCounter;\n    jsprofilerTimeActive: GleanTimingDistribution;\n    layoutviewOpenedCount: GleanCounter;\n    layoutviewTimeActive: GleanTimingDistribution;\n    memoryOpenedCount: GleanCounter;\n    memoryTimeActive: GleanTimingDistribution;\n    menuEyedropperOpenedCount: GleanCounter;\n    netmonitorOpenedCount: GleanCounter;\n    netmonitorTimeActive: GleanTimingDistribution;\n    optionsOpenedCount: GleanCounter;\n    optionsTimeActive: GleanTimingDistribution;\n    pickerEyedropperOpenedCount: GleanCounter;\n    responsiveOpenedCount: GleanCounter;\n    responsiveTimeActive: GleanTimingDistribution;\n    ruleviewOpenedCount: GleanCounter;\n    ruleviewTimeActive: GleanTimingDistribution;\n    storageOpenedCount: GleanCounter;\n    storageTimeActive: GleanTimingDistribution;\n    styleeditorOpenedCount: GleanCounter;\n    styleeditorTimeActive: GleanTimingDistribution;\n    toolboxOpenedCount: GleanCounter;\n    toolboxTimeActive: GleanTimingDistribution;\n    webconsoleOpenedCount: GleanCounter;\n    webconsoleTimeActive: GleanTimingDistribution;\n    heapSnapshotEdgeCount: GleanCustomDistribution;\n    heapSnapshotNodeCount: GleanCustomDistribution;\n    readHeapSnapshot: GleanTimingDistribution;\n    saveHeapSnapshot: GleanTimingDistribution;\n  }\n\n  devtoolsTool: {\n    registered: Record<string, GleanBoolean>;\n  }\n\n  devtoolsToolbox: {\n    tabsReordered: Record<string, GleanCounter>;\n  }\n\n  devtoolsGridGridinspector: {\n    opened: GleanCounter;\n  }\n\n  devtoolsInspector: {\n    fonteditorFontTypeDisplayed: Record<\"nonvariable\"|\"variable\", GleanCounter>;\n    newRootToReloadDelay: GleanTimingDistribution;\n    nodeSelectionCount: GleanCounter;\n    numberOfCssGridsInAPage: GleanCustomDistribution;\n    threePaneEnabled: Record<string, GleanCounter>;\n  }\n\n  devtoolsLayoutFlexboxhighlighter: {\n    opened: GleanCounter;\n  }\n\n  devtoolsMarkupFlexboxhighlighter: {\n    opened: GleanCounter;\n  }\n\n  devtoolsMarkupGridinspector: {\n    opened: GleanCounter;\n  }\n\n  devtoolsMarkupScrollableBadge: {\n    clicked: GleanCounter;\n  }\n\n  devtoolsRulesFlexboxhighlighter: {\n    opened: GleanCounter;\n  }\n\n  devtoolsRulesGridinspector: {\n    opened: GleanCounter;\n  }\n\n  devtoolsShadowdom: {\n    revealLinkClicked: GleanBoolean;\n    shadowRootDisplayed: GleanBoolean;\n    shadowRootExpanded: GleanBoolean;\n  }\n\n  devtoolsTooltip: {\n    shown: Record<string, GleanCounter>;\n  }\n\n  devtoolsResponsive: {\n    openTrigger: Record<string, GleanCounter>;\n    toolboxOpenedFirst: GleanCounter;\n  }\n\n  devtoolsChangesview: {\n    openedCount: GleanCounter;\n  }\n\n  devtoolsMain: {\n    activateResponsiveDesign: GleanEventWithExtras<{ host?: string, session_id?: string, value?: string, width?: string }>;\n    activateSplitConsole: GleanEventWithExtras<{ host?: string, session_id?: string, value?: string, width?: string }>;\n    addBreakpointDebugger: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    blackboxDebugger: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    closeAdbgAboutdebugging: GleanEventWithExtras<{ session_id?: string, value?: string, width?: string }>;\n    closeTools: GleanEventWithExtras<{ host?: string, session_id?: string, value?: string, width?: string }>;\n    connectionAttemptAboutdebugging: GleanEventWithExtras<{ connection_id?: string, connection_type?: string, runtime_id?: string, session_id?: string, status?: string, value?: string }>;\n    continueDebugger: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    deactivateResponsiveDesign: GleanEventWithExtras<{ host?: string, session_id?: string, value?: string, width?: string }>;\n    deactivateSplitConsole: GleanEventWithExtras<{ host?: string, session_id?: string, value?: string, width?: string }>;\n    deviceAddedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, session_id?: string, value?: string }>;\n    deviceRemovedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, session_id?: string, value?: string }>;\n    editHtmlInspector: GleanEventWithExtras<{ made_changes?: string, session_id?: string, time_open?: string, value?: string }>;\n    editResendNetmonitor: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    editRuleRuleview: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    enterAccessibility: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterApplication: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterDom: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterFakeTool4242: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterInspector: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterJsdebugger: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterMemory: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterNetmonitor: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterOptions: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterOther: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterPerformance: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterStorage: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterStyleeditor: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterTestBlankPanel: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterTestTool: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterTestTool1072208: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterTesttool1: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterTesttool2: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterWebconsole: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    enterWhatsnew: GleanEventWithExtras<{ cold?: string, host?: string, message_count?: string, panel_name?: string, session_id?: string, start_state?: string, value?: string, width?: string }>;\n    executeJsWebconsole: GleanEventWithExtras<{ input?: string, lines?: string, session_id?: string, value?: string }>;\n    exitAccessibility: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitApplication: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitDom: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitFakeTool4242: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitInspector: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitJsdebugger: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitMemory: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitNetmonitor: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitOptions: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitOther: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitPerformance: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitStorage: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitStyleeditor: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitTestBlankPanel: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitTestTool: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitTestTool1072208: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitTesttool1: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitTesttool2: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitWebconsole: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    exitWhatsnew: GleanEventWithExtras<{ host?: string, next_panel?: string, panel_name?: string, reason?: string, session_id?: string, value?: string, width?: string }>;\n    filtersChangedNetmonitor: GleanEventWithExtras<{ active?: string, inactive?: string, session_id?: string, trigger?: string, value?: string }>;\n    filtersChangedWebconsole: GleanEventWithExtras<{ active?: string, inactive?: string, session_id?: string, trigger?: string, value?: string }>;\n    inspectAboutdebugging: GleanEventWithExtras<{ runtime_type?: string, session_id?: string, target_type?: string, value?: string }>;\n    jumpToDefinitionWebconsole: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    jumpToSourceWebconsole: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    objectExpandedWebconsole: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    openAdbgAboutdebugging: GleanEventWithExtras<{ session_id?: string, value?: string, width?: string }>;\n    openTools: GleanEventWithExtras<{ entrypoint?: string, first_panel?: string, host?: string, session_id?: string, shortcut?: string, splitconsole?: string, value?: string, width?: string }>;\n    pauseDebugger: GleanEventWithExtras<{ lib_stacks?: string, reason?: string, session_id?: string, value?: string }>;\n    pauseOnExceptionsDebugger: GleanEventWithExtras<{ caught_exceptio?: string, exceptions?: string, session_id?: string, value?: string }>;\n    persistChangedNetmonitor: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    persistChangedWebconsole: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    prettyPrintDebugger: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    removeBreakpointDebugger: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    reverseSearchWebconsole: GleanEventWithExtras<{ functionality?: string, session_id?: string, value?: string }>;\n    runtimeAddedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, runtime_id?: string, runtime_name?: string, session_id?: string, value?: string }>;\n    runtimeConnectedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, runtime_id?: string, runtime_name?: string, runtime_os?: string, runtime_version?: string, session_id?: string, value?: string }>;\n    runtimeDisconnectedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, runtime_id?: string, runtime_name?: string, session_id?: string, value?: string }>;\n    runtimeRemovedAboutdebugging: GleanEventWithExtras<{ connection_type?: string, device_name?: string, runtime_id?: string, runtime_name?: string, session_id?: string, value?: string }>;\n    selectPageAboutdebugging: GleanEventWithExtras<{ page_type?: string, session_id?: string, value?: string }>;\n    selectPageApplication: GleanEventWithExtras<{ page_type?: string, session_id?: string, value?: string }>;\n    selectWsFrameNetmonitor: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    showProfilerAboutdebugging: GleanEventWithExtras<{ runtime_id?: string, session_id?: string, value?: string }>;\n    sidepanelChangedInspector: GleanEventWithExtras<{ newpanel?: string, oldpanel?: string, os?: string, session_id?: string, value?: string }>;\n    sidepanelChangedNetmonitor: GleanEventWithExtras<{ newpanel?: string, oldpanel?: string, os?: string, session_id?: string, value?: string }>;\n    startWorkerApplication: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    throttleChangedNetmonitor: GleanEventWithExtras<{ mode?: string, session_id?: string, value?: string }>;\n    toolTimerAnimationinspector: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerChangesview: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerCompatibilityview: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerComputedview: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerFontinspector: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerLayoutview: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    toolTimerRuleview: GleanEventWithExtras<{ os?: string, session_id?: string, time_open?: string, value?: string }>;\n    unregisterWorkerApplication: GleanEventWithExtras<{ session_id?: string, value?: string }>;\n    updateConnPromptAboutdebugging: GleanEventWithExtras<{ prompt_enabled?: string, runtime_id?: string, session_id?: string, value?: string }>;\n  }\n\n  bfcache: {\n    combo: Record<\"BFCache_Success\"|\"Beforeunload\"|\"Other\"|\"Remote_Subframes\"|\"Req\"|\"SPD_Unload_Req_Peer\"|\"Success_Not_Toplevel\"|\"Unload\"|\"Unload_Req\"|\"Unload_Req_MSE\"|\"Unload_Req_Peer\"|\"Unload_Req_Peer_MSE\", GleanCounter>;\n    pageRestored: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  performancePage: {\n    totalContentPageLoad: GleanTimingDistribution;\n    nonBlankPaint: GleanTimingDistribution;\n  }\n\n  useCounter: {\n    contentDocumentsDestroyed: GleanCounter;\n    dedicatedWorkersDestroyed: GleanCounter;\n    serviceWorkersDestroyed: GleanCounter;\n    sharedWorkersDestroyed: GleanCounter;\n    topLevelContentDocumentsDestroyed: GleanCounter;\n  }\n\n  useCounterCssDoc: {\n    alignmentBaseline: GleanCounter;\n    backgroundRepeatX: GleanCounter;\n    backgroundRepeatY: GleanCounter;\n    baselineShift: GleanCounter;\n    bufferedRendering: GleanCounter;\n    colorRendering: GleanCounter;\n    cssAccentColor: GleanCounter;\n    cssAlignContent: GleanCounter;\n    cssAlignItems: GleanCounter;\n    cssAlignSelf: GleanCounter;\n    cssAll: GleanCounter;\n    cssAnchorName: GleanCounter;\n    cssAnchorScope: GleanCounter;\n    cssAnimation: GleanCounter;\n    cssAnimationComposition: GleanCounter;\n    cssAnimationDelay: GleanCounter;\n    cssAnimationDirection: GleanCounter;\n    cssAnimationDuration: GleanCounter;\n    cssAnimationFillMode: GleanCounter;\n    cssAnimationIterationCount: GleanCounter;\n    cssAnimationName: GleanCounter;\n    cssAnimationPlayState: GleanCounter;\n    cssAnimationTimeline: GleanCounter;\n    cssAnimationTimingFunction: GleanCounter;\n    cssAppearance: GleanCounter;\n    cssAspectRatio: GleanCounter;\n    cssBackdropFilter: GleanCounter;\n    cssBackfaceVisibility: GleanCounter;\n    cssBackground: GleanCounter;\n    cssBackgroundAttachment: GleanCounter;\n    cssBackgroundBlendMode: GleanCounter;\n    cssBackgroundClip: GleanCounter;\n    cssBackgroundColor: GleanCounter;\n    cssBackgroundImage: GleanCounter;\n    cssBackgroundOrigin: GleanCounter;\n    cssBackgroundPosition: GleanCounter;\n    cssBackgroundPositionX: GleanCounter;\n    cssBackgroundPositionY: GleanCounter;\n    cssBackgroundRepeat: GleanCounter;\n    cssBackgroundSize: GleanCounter;\n    cssBaselineSource: GleanCounter;\n    cssBlockSize: GleanCounter;\n    cssBorder: GleanCounter;\n    cssBorderBlock: GleanCounter;\n    cssBorderBlockColor: GleanCounter;\n    cssBorderBlockEnd: GleanCounter;\n    cssBorderBlockEndColor: GleanCounter;\n    cssBorderBlockEndStyle: GleanCounter;\n    cssBorderBlockEndWidth: GleanCounter;\n    cssBorderBlockStart: GleanCounter;\n    cssBorderBlockStartColor: GleanCounter;\n    cssBorderBlockStartStyle: GleanCounter;\n    cssBorderBlockStartWidth: GleanCounter;\n    cssBorderBlockStyle: GleanCounter;\n    cssBorderBlockWidth: GleanCounter;\n    cssBorderBottom: GleanCounter;\n    cssBorderBottomColor: GleanCounter;\n    cssBorderBottomLeftRadius: GleanCounter;\n    cssBorderBottomRightRadius: GleanCounter;\n    cssBorderBottomStyle: GleanCounter;\n    cssBorderBottomWidth: GleanCounter;\n    cssBorderCollapse: GleanCounter;\n    cssBorderColor: GleanCounter;\n    cssBorderEndEndRadius: GleanCounter;\n    cssBorderEndStartRadius: GleanCounter;\n    cssBorderImage: GleanCounter;\n    cssBorderImageOutset: GleanCounter;\n    cssBorderImageRepeat: GleanCounter;\n    cssBorderImageSlice: GleanCounter;\n    cssBorderImageSource: GleanCounter;\n    cssBorderImageWidth: GleanCounter;\n    cssBorderInline: GleanCounter;\n    cssBorderInlineColor: GleanCounter;\n    cssBorderInlineEnd: GleanCounter;\n    cssBorderInlineEndColor: GleanCounter;\n    cssBorderInlineEndStyle: GleanCounter;\n    cssBorderInlineEndWidth: GleanCounter;\n    cssBorderInlineStart: GleanCounter;\n    cssBorderInlineStartColor: GleanCounter;\n    cssBorderInlineStartStyle: GleanCounter;\n    cssBorderInlineStartWidth: GleanCounter;\n    cssBorderInlineStyle: GleanCounter;\n    cssBorderInlineWidth: GleanCounter;\n    cssBorderLeft: GleanCounter;\n    cssBorderLeftColor: GleanCounter;\n    cssBorderLeftStyle: GleanCounter;\n    cssBorderLeftWidth: GleanCounter;\n    cssBorderRadius: GleanCounter;\n    cssBorderRight: GleanCounter;\n    cssBorderRightColor: GleanCounter;\n    cssBorderRightStyle: GleanCounter;\n    cssBorderRightWidth: GleanCounter;\n    cssBorderSpacing: GleanCounter;\n    cssBorderStartEndRadius: GleanCounter;\n    cssBorderStartStartRadius: GleanCounter;\n    cssBorderStyle: GleanCounter;\n    cssBorderTop: GleanCounter;\n    cssBorderTopColor: GleanCounter;\n    cssBorderTopLeftRadius: GleanCounter;\n    cssBorderTopRightRadius: GleanCounter;\n    cssBorderTopStyle: GleanCounter;\n    cssBorderTopWidth: GleanCounter;\n    cssBorderWidth: GleanCounter;\n    cssBottom: GleanCounter;\n    cssBoxDecorationBreak: GleanCounter;\n    cssBoxShadow: GleanCounter;\n    cssBoxSizing: GleanCounter;\n    cssBreakAfter: GleanCounter;\n    cssBreakBefore: GleanCounter;\n    cssBreakInside: GleanCounter;\n    cssCaptionSide: GleanCounter;\n    cssCaretColor: GleanCounter;\n    cssClear: GleanCounter;\n    cssClip: GleanCounter;\n    cssClipPath: GleanCounter;\n    cssClipRule: GleanCounter;\n    cssColor: GleanCounter;\n    cssColorAdjust: GleanCounter;\n    cssColorInterpolation: GleanCounter;\n    cssColorInterpolationFilters: GleanCounter;\n    cssColorScheme: GleanCounter;\n    cssColumnCount: GleanCounter;\n    cssColumnFill: GleanCounter;\n    cssColumnGap: GleanCounter;\n    cssColumnRule: GleanCounter;\n    cssColumnRuleColor: GleanCounter;\n    cssColumnRuleStyle: GleanCounter;\n    cssColumnRuleWidth: GleanCounter;\n    cssColumnSpan: GleanCounter;\n    cssColumnWidth: GleanCounter;\n    cssColumns: GleanCounter;\n    cssContain: GleanCounter;\n    cssContainIntrinsicBlockSize: GleanCounter;\n    cssContainIntrinsicHeight: GleanCounter;\n    cssContainIntrinsicInlineSize: GleanCounter;\n    cssContainIntrinsicSize: GleanCounter;\n    cssContainIntrinsicWidth: GleanCounter;\n    cssContainer: GleanCounter;\n    cssContainerName: GleanCounter;\n    cssContainerType: GleanCounter;\n    cssContent: GleanCounter;\n    cssContentVisibility: GleanCounter;\n    cssCounterIncrement: GleanCounter;\n    cssCounterReset: GleanCounter;\n    cssCounterSet: GleanCounter;\n    cssCursor: GleanCounter;\n    cssCx: GleanCounter;\n    cssCy: GleanCounter;\n    cssD: GleanCounter;\n    cssDirection: GleanCounter;\n    cssDisplay: GleanCounter;\n    cssDominantBaseline: GleanCounter;\n    cssEmptyCells: GleanCounter;\n    cssFieldSizing: GleanCounter;\n    cssFill: GleanCounter;\n    cssFillOpacity: GleanCounter;\n    cssFillRule: GleanCounter;\n    cssFilter: GleanCounter;\n    cssFlex: GleanCounter;\n    cssFlexBasis: GleanCounter;\n    cssFlexDirection: GleanCounter;\n    cssFlexFlow: GleanCounter;\n    cssFlexGrow: GleanCounter;\n    cssFlexShrink: GleanCounter;\n    cssFlexWrap: GleanCounter;\n    cssFloat: GleanCounter;\n    cssFloodColor: GleanCounter;\n    cssFloodOpacity: GleanCounter;\n    cssFont: GleanCounter;\n    cssFontFamily: GleanCounter;\n    cssFontFeatureSettings: GleanCounter;\n    cssFontKerning: GleanCounter;\n    cssFontLanguageOverride: GleanCounter;\n    cssFontOpticalSizing: GleanCounter;\n    cssFontPalette: GleanCounter;\n    cssFontSize: GleanCounter;\n    cssFontSizeAdjust: GleanCounter;\n    cssFontStretch: GleanCounter;\n    cssFontStyle: GleanCounter;\n    cssFontSynthesis: GleanCounter;\n    cssFontSynthesisPosition: GleanCounter;\n    cssFontSynthesisSmallCaps: GleanCounter;\n    cssFontSynthesisStyle: GleanCounter;\n    cssFontSynthesisWeight: GleanCounter;\n    cssFontVariant: GleanCounter;\n    cssFontVariantAlternates: GleanCounter;\n    cssFontVariantCaps: GleanCounter;\n    cssFontVariantEastAsian: GleanCounter;\n    cssFontVariantEmoji: GleanCounter;\n    cssFontVariantLigatures: GleanCounter;\n    cssFontVariantNumeric: GleanCounter;\n    cssFontVariantPosition: GleanCounter;\n    cssFontVariationSettings: GleanCounter;\n    cssFontWeight: GleanCounter;\n    cssForcedColorAdjust: GleanCounter;\n    cssGap: GleanCounter;\n    cssGrid: GleanCounter;\n    cssGridArea: GleanCounter;\n    cssGridAutoColumns: GleanCounter;\n    cssGridAutoFlow: GleanCounter;\n    cssGridAutoRows: GleanCounter;\n    cssGridColumn: GleanCounter;\n    cssGridColumnEnd: GleanCounter;\n    cssGridColumnGap: GleanCounter;\n    cssGridColumnStart: GleanCounter;\n    cssGridGap: GleanCounter;\n    cssGridRow: GleanCounter;\n    cssGridRowEnd: GleanCounter;\n    cssGridRowGap: GleanCounter;\n    cssGridRowStart: GleanCounter;\n    cssGridTemplate: GleanCounter;\n    cssGridTemplateAreas: GleanCounter;\n    cssGridTemplateColumns: GleanCounter;\n    cssGridTemplateRows: GleanCounter;\n    cssHeight: GleanCounter;\n    cssHyphenateCharacter: GleanCounter;\n    cssHyphenateLimitChars: GleanCounter;\n    cssHyphens: GleanCounter;\n    cssImageOrientation: GleanCounter;\n    cssImageRendering: GleanCounter;\n    cssImeMode: GleanCounter;\n    cssInitialLetter: GleanCounter;\n    cssInlineSize: GleanCounter;\n    cssInset: GleanCounter;\n    cssInsetBlock: GleanCounter;\n    cssInsetBlockEnd: GleanCounter;\n    cssInsetBlockStart: GleanCounter;\n    cssInsetInline: GleanCounter;\n    cssInsetInlineEnd: GleanCounter;\n    cssInsetInlineStart: GleanCounter;\n    cssIsolation: GleanCounter;\n    cssJustifyContent: GleanCounter;\n    cssJustifyItems: GleanCounter;\n    cssJustifySelf: GleanCounter;\n    cssLeft: GleanCounter;\n    cssLetterSpacing: GleanCounter;\n    cssLightingColor: GleanCounter;\n    cssLineBreak: GleanCounter;\n    cssLineHeight: GleanCounter;\n    cssListStyle: GleanCounter;\n    cssListStyleImage: GleanCounter;\n    cssListStylePosition: GleanCounter;\n    cssListStyleType: GleanCounter;\n    cssMargin: GleanCounter;\n    cssMarginBlock: GleanCounter;\n    cssMarginBlockEnd: GleanCounter;\n    cssMarginBlockStart: GleanCounter;\n    cssMarginBottom: GleanCounter;\n    cssMarginInline: GleanCounter;\n    cssMarginInlineEnd: GleanCounter;\n    cssMarginInlineStart: GleanCounter;\n    cssMarginLeft: GleanCounter;\n    cssMarginRight: GleanCounter;\n    cssMarginTop: GleanCounter;\n    cssMarker: GleanCounter;\n    cssMarkerEnd: GleanCounter;\n    cssMarkerMid: GleanCounter;\n    cssMarkerStart: GleanCounter;\n    cssMask: GleanCounter;\n    cssMaskClip: GleanCounter;\n    cssMaskComposite: GleanCounter;\n    cssMaskImage: GleanCounter;\n    cssMaskMode: GleanCounter;\n    cssMaskOrigin: GleanCounter;\n    cssMaskPosition: GleanCounter;\n    cssMaskPositionX: GleanCounter;\n    cssMaskPositionY: GleanCounter;\n    cssMaskRepeat: GleanCounter;\n    cssMaskSize: GleanCounter;\n    cssMaskType: GleanCounter;\n    cssMasonryAutoFlow: GleanCounter;\n    cssMathDepth: GleanCounter;\n    cssMathStyle: GleanCounter;\n    cssMaxBlockSize: GleanCounter;\n    cssMaxHeight: GleanCounter;\n    cssMaxInlineSize: GleanCounter;\n    cssMaxWidth: GleanCounter;\n    cssMinBlockSize: GleanCounter;\n    cssMinHeight: GleanCounter;\n    cssMinInlineSize: GleanCounter;\n    cssMinWidth: GleanCounter;\n    cssMixBlendMode: GleanCounter;\n    cssMozAnimation: GleanCounter;\n    cssMozAnimationDelay: GleanCounter;\n    cssMozAnimationDirection: GleanCounter;\n    cssMozAnimationDuration: GleanCounter;\n    cssMozAnimationFillMode: GleanCounter;\n    cssMozAnimationIterationCount: GleanCounter;\n    cssMozAnimationName: GleanCounter;\n    cssMozAnimationPlayState: GleanCounter;\n    cssMozAnimationTimingFunction: GleanCounter;\n    cssMozAppearance: GleanCounter;\n    cssMozBackfaceVisibility: GleanCounter;\n    cssMozBorderEnd: GleanCounter;\n    cssMozBorderEndColor: GleanCounter;\n    cssMozBorderEndStyle: GleanCounter;\n    cssMozBorderEndWidth: GleanCounter;\n    cssMozBorderImage: GleanCounter;\n    cssMozBorderStart: GleanCounter;\n    cssMozBorderStartColor: GleanCounter;\n    cssMozBorderStartStyle: GleanCounter;\n    cssMozBorderStartWidth: GleanCounter;\n    cssMozBoxAlign: GleanCounter;\n    cssMozBoxCollapse: GleanCounter;\n    cssMozBoxDirection: GleanCounter;\n    cssMozBoxFlex: GleanCounter;\n    cssMozBoxOrdinalGroup: GleanCounter;\n    cssMozBoxOrient: GleanCounter;\n    cssMozBoxPack: GleanCounter;\n    cssMozBoxSizing: GleanCounter;\n    cssMozContextProperties: GleanCounter;\n    cssMozControlCharacterVisibility: GleanCounter;\n    cssMozDefaultAppearance: GleanCounter;\n    cssMozFloatEdge: GleanCounter;\n    cssMozFontFeatureSettings: GleanCounter;\n    cssMozFontLanguageOverride: GleanCounter;\n    cssMozForceBrokenImageIcon: GleanCounter;\n    cssMozHyphens: GleanCounter;\n    cssMozInert: GleanCounter;\n    cssMozMarginEnd: GleanCounter;\n    cssMozMarginStart: GleanCounter;\n    cssMozMathVariant: GleanCounter;\n    cssMozMinFontSizeRatio: GleanCounter;\n    cssMozOrient: GleanCounter;\n    cssMozOsxFontSmoothing: GleanCounter;\n    cssMozPaddingEnd: GleanCounter;\n    cssMozPaddingStart: GleanCounter;\n    cssMozPerspective: GleanCounter;\n    cssMozPerspectiveOrigin: GleanCounter;\n    cssMozSubtreeHiddenOnlyVisually: GleanCounter;\n    cssMozTabSize: GleanCounter;\n    cssMozTextSizeAdjust: GleanCounter;\n    cssMozTheme: GleanCounter;\n    cssMozTopLayer: GleanCounter;\n    cssMozTransform: GleanCounter;\n    cssMozTransformOrigin: GleanCounter;\n    cssMozTransformStyle: GleanCounter;\n    cssMozTransition: GleanCounter;\n    cssMozTransitionDelay: GleanCounter;\n    cssMozTransitionDuration: GleanCounter;\n    cssMozTransitionProperty: GleanCounter;\n    cssMozTransitionTimingFunction: GleanCounter;\n    cssMozUserFocus: GleanCounter;\n    cssMozUserInput: GleanCounter;\n    cssMozUserSelect: GleanCounter;\n    cssMozWindowDragging: GleanCounter;\n    cssMozWindowInputRegionMargin: GleanCounter;\n    cssMozWindowOpacity: GleanCounter;\n    cssMozWindowShadow: GleanCounter;\n    cssMozWindowTransform: GleanCounter;\n    cssObjectFit: GleanCounter;\n    cssObjectPosition: GleanCounter;\n    cssOffset: GleanCounter;\n    cssOffsetAnchor: GleanCounter;\n    cssOffsetDistance: GleanCounter;\n    cssOffsetPath: GleanCounter;\n    cssOffsetPosition: GleanCounter;\n    cssOffsetRotate: GleanCounter;\n    cssOpacity: GleanCounter;\n    cssOrder: GleanCounter;\n    cssOutline: GleanCounter;\n    cssOutlineColor: GleanCounter;\n    cssOutlineOffset: GleanCounter;\n    cssOutlineStyle: GleanCounter;\n    cssOutlineWidth: GleanCounter;\n    cssOverflow: GleanCounter;\n    cssOverflowAnchor: GleanCounter;\n    cssOverflowBlock: GleanCounter;\n    cssOverflowClipBox: GleanCounter;\n    cssOverflowClipBoxBlock: GleanCounter;\n    cssOverflowClipBoxInline: GleanCounter;\n    cssOverflowClipMargin: GleanCounter;\n    cssOverflowInline: GleanCounter;\n    cssOverflowWrap: GleanCounter;\n    cssOverflowX: GleanCounter;\n    cssOverflowY: GleanCounter;\n    cssOverscrollBehavior: GleanCounter;\n    cssOverscrollBehaviorBlock: GleanCounter;\n    cssOverscrollBehaviorInline: GleanCounter;\n    cssOverscrollBehaviorX: GleanCounter;\n    cssOverscrollBehaviorY: GleanCounter;\n    cssPadding: GleanCounter;\n    cssPaddingBlock: GleanCounter;\n    cssPaddingBlockEnd: GleanCounter;\n    cssPaddingBlockStart: GleanCounter;\n    cssPaddingBottom: GleanCounter;\n    cssPaddingInline: GleanCounter;\n    cssPaddingInlineEnd: GleanCounter;\n    cssPaddingInlineStart: GleanCounter;\n    cssPaddingLeft: GleanCounter;\n    cssPaddingRight: GleanCounter;\n    cssPaddingTop: GleanCounter;\n    cssPage: GleanCounter;\n    cssPageBreakAfter: GleanCounter;\n    cssPageBreakBefore: GleanCounter;\n    cssPageBreakInside: GleanCounter;\n    cssPageOrientation: GleanCounter;\n    cssPaintOrder: GleanCounter;\n    cssPerspective: GleanCounter;\n    cssPerspectiveOrigin: GleanCounter;\n    cssPlaceContent: GleanCounter;\n    cssPlaceItems: GleanCounter;\n    cssPlaceSelf: GleanCounter;\n    cssPointerEvents: GleanCounter;\n    cssPosition: GleanCounter;\n    cssPositionAnchor: GleanCounter;\n    cssPositionArea: GleanCounter;\n    cssPositionTry: GleanCounter;\n    cssPositionTryFallbacks: GleanCounter;\n    cssPositionTryOrder: GleanCounter;\n    cssPositionVisibility: GleanCounter;\n    cssPrintColorAdjust: GleanCounter;\n    cssQuotes: GleanCounter;\n    cssR: GleanCounter;\n    cssResize: GleanCounter;\n    cssRight: GleanCounter;\n    cssRotate: GleanCounter;\n    cssRowGap: GleanCounter;\n    cssRubyAlign: GleanCounter;\n    cssRubyPosition: GleanCounter;\n    cssRx: GleanCounter;\n    cssRy: GleanCounter;\n    cssScale: GleanCounter;\n    cssScrollBehavior: GleanCounter;\n    cssScrollMargin: GleanCounter;\n    cssScrollMarginBlock: GleanCounter;\n    cssScrollMarginBlockEnd: GleanCounter;\n    cssScrollMarginBlockStart: GleanCounter;\n    cssScrollMarginBottom: GleanCounter;\n    cssScrollMarginInline: GleanCounter;\n    cssScrollMarginInlineEnd: GleanCounter;\n    cssScrollMarginInlineStart: GleanCounter;\n    cssScrollMarginLeft: GleanCounter;\n    cssScrollMarginRight: GleanCounter;\n    cssScrollMarginTop: GleanCounter;\n    cssScrollPadding: GleanCounter;\n    cssScrollPaddingBlock: GleanCounter;\n    cssScrollPaddingBlockEnd: GleanCounter;\n    cssScrollPaddingBlockStart: GleanCounter;\n    cssScrollPaddingBottom: GleanCounter;\n    cssScrollPaddingInline: GleanCounter;\n    cssScrollPaddingInlineEnd: GleanCounter;\n    cssScrollPaddingInlineStart: GleanCounter;\n    cssScrollPaddingLeft: GleanCounter;\n    cssScrollPaddingRight: GleanCounter;\n    cssScrollPaddingTop: GleanCounter;\n    cssScrollSnapAlign: GleanCounter;\n    cssScrollSnapStop: GleanCounter;\n    cssScrollSnapType: GleanCounter;\n    cssScrollTimeline: GleanCounter;\n    cssScrollTimelineAxis: GleanCounter;\n    cssScrollTimelineName: GleanCounter;\n    cssScrollbarColor: GleanCounter;\n    cssScrollbarGutter: GleanCounter;\n    cssScrollbarWidth: GleanCounter;\n    cssShapeImageThreshold: GleanCounter;\n    cssShapeMargin: GleanCounter;\n    cssShapeOutside: GleanCounter;\n    cssShapeRendering: GleanCounter;\n    cssSize: GleanCounter;\n    cssStopColor: GleanCounter;\n    cssStopOpacity: GleanCounter;\n    cssStroke: GleanCounter;\n    cssStrokeDasharray: GleanCounter;\n    cssStrokeDashoffset: GleanCounter;\n    cssStrokeLinecap: GleanCounter;\n    cssStrokeLinejoin: GleanCounter;\n    cssStrokeMiterlimit: GleanCounter;\n    cssStrokeOpacity: GleanCounter;\n    cssStrokeWidth: GleanCounter;\n    cssTabSize: GleanCounter;\n    cssTableLayout: GleanCounter;\n    cssTextAlign: GleanCounter;\n    cssTextAlignLast: GleanCounter;\n    cssTextAnchor: GleanCounter;\n    cssTextCombineUpright: GleanCounter;\n    cssTextDecoration: GleanCounter;\n    cssTextDecorationColor: GleanCounter;\n    cssTextDecorationLine: GleanCounter;\n    cssTextDecorationSkipInk: GleanCounter;\n    cssTextDecorationStyle: GleanCounter;\n    cssTextDecorationThickness: GleanCounter;\n    cssTextEmphasis: GleanCounter;\n    cssTextEmphasisColor: GleanCounter;\n    cssTextEmphasisPosition: GleanCounter;\n    cssTextEmphasisStyle: GleanCounter;\n    cssTextIndent: GleanCounter;\n    cssTextJustify: GleanCounter;\n    cssTextOrientation: GleanCounter;\n    cssTextOverflow: GleanCounter;\n    cssTextRendering: GleanCounter;\n    cssTextShadow: GleanCounter;\n    cssTextTransform: GleanCounter;\n    cssTextUnderlineOffset: GleanCounter;\n    cssTextUnderlinePosition: GleanCounter;\n    cssTextWrap: GleanCounter;\n    cssTextWrapMode: GleanCounter;\n    cssTextWrapStyle: GleanCounter;\n    cssTop: GleanCounter;\n    cssTouchAction: GleanCounter;\n    cssTransform: GleanCounter;\n    cssTransformBox: GleanCounter;\n    cssTransformOrigin: GleanCounter;\n    cssTransformStyle: GleanCounter;\n    cssTransition: GleanCounter;\n    cssTransitionBehavior: GleanCounter;\n    cssTransitionDelay: GleanCounter;\n    cssTransitionDuration: GleanCounter;\n    cssTransitionProperty: GleanCounter;\n    cssTransitionTimingFunction: GleanCounter;\n    cssTranslate: GleanCounter;\n    cssUnicodeBidi: GleanCounter;\n    cssUserSelect: GleanCounter;\n    cssVectorEffect: GleanCounter;\n    cssVerticalAlign: GleanCounter;\n    cssViewTimeline: GleanCounter;\n    cssViewTimelineAxis: GleanCounter;\n    cssViewTimelineInset: GleanCounter;\n    cssViewTimelineName: GleanCounter;\n    cssViewTransitionClass: GleanCounter;\n    cssViewTransitionName: GleanCounter;\n    cssVisibility: GleanCounter;\n    cssWebkitAlignContent: GleanCounter;\n    cssWebkitAlignItems: GleanCounter;\n    cssWebkitAlignSelf: GleanCounter;\n    cssWebkitAnimation: GleanCounter;\n    cssWebkitAnimationDelay: GleanCounter;\n    cssWebkitAnimationDirection: GleanCounter;\n    cssWebkitAnimationDuration: GleanCounter;\n    cssWebkitAnimationFillMode: GleanCounter;\n    cssWebkitAnimationIterationCount: GleanCounter;\n    cssWebkitAnimationName: GleanCounter;\n    cssWebkitAnimationPlayState: GleanCounter;\n    cssWebkitAnimationTimingFunction: GleanCounter;\n    cssWebkitAppearance: GleanCounter;\n    cssWebkitBackfaceVisibility: GleanCounter;\n    cssWebkitBackgroundClip: GleanCounter;\n    cssWebkitBackgroundOrigin: GleanCounter;\n    cssWebkitBackgroundSize: GleanCounter;\n    cssWebkitBorderBottomLeftRadius: GleanCounter;\n    cssWebkitBorderBottomRightRadius: GleanCounter;\n    cssWebkitBorderImage: GleanCounter;\n    cssWebkitBorderRadius: GleanCounter;\n    cssWebkitBorderTopLeftRadius: GleanCounter;\n    cssWebkitBorderTopRightRadius: GleanCounter;\n    cssWebkitBoxAlign: GleanCounter;\n    cssWebkitBoxDirection: GleanCounter;\n    cssWebkitBoxFlex: GleanCounter;\n    cssWebkitBoxOrdinalGroup: GleanCounter;\n    cssWebkitBoxOrient: GleanCounter;\n    cssWebkitBoxPack: GleanCounter;\n    cssWebkitBoxShadow: GleanCounter;\n    cssWebkitBoxSizing: GleanCounter;\n    cssWebkitClipPath: GleanCounter;\n    cssWebkitFilter: GleanCounter;\n    cssWebkitFlex: GleanCounter;\n    cssWebkitFlexBasis: GleanCounter;\n    cssWebkitFlexDirection: GleanCounter;\n    cssWebkitFlexFlow: GleanCounter;\n    cssWebkitFlexGrow: GleanCounter;\n    cssWebkitFlexShrink: GleanCounter;\n    cssWebkitFlexWrap: GleanCounter;\n    cssWebkitFontFeatureSettings: GleanCounter;\n    cssWebkitFontSmoothing: GleanCounter;\n    cssWebkitJustifyContent: GleanCounter;\n    cssWebkitLineClamp: GleanCounter;\n    cssWebkitMask: GleanCounter;\n    cssWebkitMaskClip: GleanCounter;\n    cssWebkitMaskComposite: GleanCounter;\n    cssWebkitMaskImage: GleanCounter;\n    cssWebkitMaskOrigin: GleanCounter;\n    cssWebkitMaskPosition: GleanCounter;\n    cssWebkitMaskPositionX: GleanCounter;\n    cssWebkitMaskPositionY: GleanCounter;\n    cssWebkitMaskRepeat: GleanCounter;\n    cssWebkitMaskSize: GleanCounter;\n    cssWebkitOrder: GleanCounter;\n    cssWebkitPerspective: GleanCounter;\n    cssWebkitPerspectiveOrigin: GleanCounter;\n    cssWebkitTextFillColor: GleanCounter;\n    cssWebkitTextSecurity: GleanCounter;\n    cssWebkitTextSizeAdjust: GleanCounter;\n    cssWebkitTextStroke: GleanCounter;\n    cssWebkitTextStrokeColor: GleanCounter;\n    cssWebkitTextStrokeWidth: GleanCounter;\n    cssWebkitTransform: GleanCounter;\n    cssWebkitTransformOrigin: GleanCounter;\n    cssWebkitTransformStyle: GleanCounter;\n    cssWebkitTransition: GleanCounter;\n    cssWebkitTransitionDelay: GleanCounter;\n    cssWebkitTransitionDuration: GleanCounter;\n    cssWebkitTransitionProperty: GleanCounter;\n    cssWebkitTransitionTimingFunction: GleanCounter;\n    cssWebkitUserSelect: GleanCounter;\n    cssWhiteSpace: GleanCounter;\n    cssWhiteSpaceCollapse: GleanCounter;\n    cssWidth: GleanCounter;\n    cssWillChange: GleanCounter;\n    cssWordBreak: GleanCounter;\n    cssWordSpacing: GleanCounter;\n    cssWordWrap: GleanCounter;\n    cssWritingMode: GleanCounter;\n    cssX: GleanCounter;\n    cssXLang: GleanCounter;\n    cssXSpan: GleanCounter;\n    cssXTextScale: GleanCounter;\n    cssY: GleanCounter;\n    cssZIndex: GleanCounter;\n    cssZoom: GleanCounter;\n    maxZoom: GleanCounter;\n    minZoom: GleanCounter;\n    orientation: GleanCounter;\n    orphans: GleanCounter;\n    speak: GleanCounter;\n    textSizeAdjust: GleanCounter;\n    userZoom: GleanCounter;\n    webkitAppRegion: GleanCounter;\n    webkitBorderAfter: GleanCounter;\n    webkitBorderAfterColor: GleanCounter;\n    webkitBorderAfterStyle: GleanCounter;\n    webkitBorderAfterWidth: GleanCounter;\n    webkitBorderBefore: GleanCounter;\n    webkitBorderBeforeColor: GleanCounter;\n    webkitBorderBeforeStyle: GleanCounter;\n    webkitBorderBeforeWidth: GleanCounter;\n    webkitBorderEnd: GleanCounter;\n    webkitBorderEndColor: GleanCounter;\n    webkitBorderEndStyle: GleanCounter;\n    webkitBorderEndWidth: GleanCounter;\n    webkitBorderHorizontalSpacing: GleanCounter;\n    webkitBorderStart: GleanCounter;\n    webkitBorderStartColor: GleanCounter;\n    webkitBorderStartStyle: GleanCounter;\n    webkitBorderStartWidth: GleanCounter;\n    webkitBorderVerticalSpacing: GleanCounter;\n    webkitBoxDecorationBreak: GleanCounter;\n    webkitBoxReflect: GleanCounter;\n    webkitColumnBreakAfter: GleanCounter;\n    webkitColumnBreakBefore: GleanCounter;\n    webkitColumnBreakInside: GleanCounter;\n    webkitColumnCount: GleanCounter;\n    webkitColumnGap: GleanCounter;\n    webkitColumnRule: GleanCounter;\n    webkitColumnRuleColor: GleanCounter;\n    webkitColumnRuleStyle: GleanCounter;\n    webkitColumnRuleWidth: GleanCounter;\n    webkitColumnSpan: GleanCounter;\n    webkitColumnWidth: GleanCounter;\n    webkitColumns: GleanCounter;\n    webkitFontSizeDelta: GleanCounter;\n    webkitHighlight: GleanCounter;\n    webkitHyphenateCharacter: GleanCounter;\n    webkitLineBreak: GleanCounter;\n    webkitLocale: GleanCounter;\n    webkitLogicalHeight: GleanCounter;\n    webkitLogicalWidth: GleanCounter;\n    webkitMarginAfter: GleanCounter;\n    webkitMarginAfterCollapse: GleanCounter;\n    webkitMarginBefore: GleanCounter;\n    webkitMarginBeforeCollapse: GleanCounter;\n    webkitMarginBottomCollapse: GleanCounter;\n    webkitMarginCollapse: GleanCounter;\n    webkitMarginEnd: GleanCounter;\n    webkitMarginStart: GleanCounter;\n    webkitMarginTopCollapse: GleanCounter;\n    webkitMaskBoxImage: GleanCounter;\n    webkitMaskBoxImageOutset: GleanCounter;\n    webkitMaskBoxImageRepeat: GleanCounter;\n    webkitMaskBoxImageSlice: GleanCounter;\n    webkitMaskBoxImageSource: GleanCounter;\n    webkitMaskBoxImageWidth: GleanCounter;\n    webkitMaskRepeatX: GleanCounter;\n    webkitMaskRepeatY: GleanCounter;\n    webkitMaxLogicalHeight: GleanCounter;\n    webkitMaxLogicalWidth: GleanCounter;\n    webkitMinLogicalHeight: GleanCounter;\n    webkitMinLogicalWidth: GleanCounter;\n    webkitOpacity: GleanCounter;\n    webkitPaddingAfter: GleanCounter;\n    webkitPaddingBefore: GleanCounter;\n    webkitPaddingEnd: GleanCounter;\n    webkitPaddingStart: GleanCounter;\n    webkitPerspectiveOriginX: GleanCounter;\n    webkitPerspectiveOriginY: GleanCounter;\n    webkitPrintColorAdjust: GleanCounter;\n    webkitRtlOrdering: GleanCounter;\n    webkitRubyPosition: GleanCounter;\n    webkitShapeImageThreshold: GleanCounter;\n    webkitShapeMargin: GleanCounter;\n    webkitShapeOutside: GleanCounter;\n    webkitTapHighlightColor: GleanCounter;\n    webkitTextCombine: GleanCounter;\n    webkitTextDecorationsInEffect: GleanCounter;\n    webkitTextEmphasis: GleanCounter;\n    webkitTextEmphasisColor: GleanCounter;\n    webkitTextEmphasisPosition: GleanCounter;\n    webkitTextEmphasisStyle: GleanCounter;\n    webkitTextOrientation: GleanCounter;\n    webkitTransformOriginX: GleanCounter;\n    webkitTransformOriginY: GleanCounter;\n    webkitTransformOriginZ: GleanCounter;\n    webkitUserDrag: GleanCounter;\n    webkitUserModify: GleanCounter;\n    webkitWritingMode: GleanCounter;\n    widows: GleanCounter;\n  }\n\n  useCounterCssPage: {\n    alignmentBaseline: GleanCounter;\n    backgroundRepeatX: GleanCounter;\n    backgroundRepeatY: GleanCounter;\n    baselineShift: GleanCounter;\n    bufferedRendering: GleanCounter;\n    colorRendering: GleanCounter;\n    cssAccentColor: GleanCounter;\n    cssAlignContent: GleanCounter;\n    cssAlignItems: GleanCounter;\n    cssAlignSelf: GleanCounter;\n    cssAll: GleanCounter;\n    cssAnchorName: GleanCounter;\n    cssAnchorScope: GleanCounter;\n    cssAnimation: GleanCounter;\n    cssAnimationComposition: GleanCounter;\n    cssAnimationDelay: GleanCounter;\n    cssAnimationDirection: GleanCounter;\n    cssAnimationDuration: GleanCounter;\n    cssAnimationFillMode: GleanCounter;\n    cssAnimationIterationCount: GleanCounter;\n    cssAnimationName: GleanCounter;\n    cssAnimationPlayState: GleanCounter;\n    cssAnimationTimeline: GleanCounter;\n    cssAnimationTimingFunction: GleanCounter;\n    cssAppearance: GleanCounter;\n    cssAspectRatio: GleanCounter;\n    cssBackdropFilter: GleanCounter;\n    cssBackfaceVisibility: GleanCounter;\n    cssBackground: GleanCounter;\n    cssBackgroundAttachment: GleanCounter;\n    cssBackgroundBlendMode: GleanCounter;\n    cssBackgroundClip: GleanCounter;\n    cssBackgroundColor: GleanCounter;\n    cssBackgroundImage: GleanCounter;\n    cssBackgroundOrigin: GleanCounter;\n    cssBackgroundPosition: GleanCounter;\n    cssBackgroundPositionX: GleanCounter;\n    cssBackgroundPositionY: GleanCounter;\n    cssBackgroundRepeat: GleanCounter;\n    cssBackgroundSize: GleanCounter;\n    cssBaselineSource: GleanCounter;\n    cssBlockSize: GleanCounter;\n    cssBorder: GleanCounter;\n    cssBorderBlock: GleanCounter;\n    cssBorderBlockColor: GleanCounter;\n    cssBorderBlockEnd: GleanCounter;\n    cssBorderBlockEndColor: GleanCounter;\n    cssBorderBlockEndStyle: GleanCounter;\n    cssBorderBlockEndWidth: GleanCounter;\n    cssBorderBlockStart: GleanCounter;\n    cssBorderBlockStartColor: GleanCounter;\n    cssBorderBlockStartStyle: GleanCounter;\n    cssBorderBlockStartWidth: GleanCounter;\n    cssBorderBlockStyle: GleanCounter;\n    cssBorderBlockWidth: GleanCounter;\n    cssBorderBottom: GleanCounter;\n    cssBorderBottomColor: GleanCounter;\n    cssBorderBottomLeftRadius: GleanCounter;\n    cssBorderBottomRightRadius: GleanCounter;\n    cssBorderBottomStyle: GleanCounter;\n    cssBorderBottomWidth: GleanCounter;\n    cssBorderCollapse: GleanCounter;\n    cssBorderColor: GleanCounter;\n    cssBorderEndEndRadius: GleanCounter;\n    cssBorderEndStartRadius: GleanCounter;\n    cssBorderImage: GleanCounter;\n    cssBorderImageOutset: GleanCounter;\n    cssBorderImageRepeat: GleanCounter;\n    cssBorderImageSlice: GleanCounter;\n    cssBorderImageSource: GleanCounter;\n    cssBorderImageWidth: GleanCounter;\n    cssBorderInline: GleanCounter;\n    cssBorderInlineColor: GleanCounter;\n    cssBorderInlineEnd: GleanCounter;\n    cssBorderInlineEndColor: GleanCounter;\n    cssBorderInlineEndStyle: GleanCounter;\n    cssBorderInlineEndWidth: GleanCounter;\n    cssBorderInlineStart: GleanCounter;\n    cssBorderInlineStartColor: GleanCounter;\n    cssBorderInlineStartStyle: GleanCounter;\n    cssBorderInlineStartWidth: GleanCounter;\n    cssBorderInlineStyle: GleanCounter;\n    cssBorderInlineWidth: GleanCounter;\n    cssBorderLeft: GleanCounter;\n    cssBorderLeftColor: GleanCounter;\n    cssBorderLeftStyle: GleanCounter;\n    cssBorderLeftWidth: GleanCounter;\n    cssBorderRadius: GleanCounter;\n    cssBorderRight: GleanCounter;\n    cssBorderRightColor: GleanCounter;\n    cssBorderRightStyle: GleanCounter;\n    cssBorderRightWidth: GleanCounter;\n    cssBorderSpacing: GleanCounter;\n    cssBorderStartEndRadius: GleanCounter;\n    cssBorderStartStartRadius: GleanCounter;\n    cssBorderStyle: GleanCounter;\n    cssBorderTop: GleanCounter;\n    cssBorderTopColor: GleanCounter;\n    cssBorderTopLeftRadius: GleanCounter;\n    cssBorderTopRightRadius: GleanCounter;\n    cssBorderTopStyle: GleanCounter;\n    cssBorderTopWidth: GleanCounter;\n    cssBorderWidth: GleanCounter;\n    cssBottom: GleanCounter;\n    cssBoxDecorationBreak: GleanCounter;\n    cssBoxShadow: GleanCounter;\n    cssBoxSizing: GleanCounter;\n    cssBreakAfter: GleanCounter;\n    cssBreakBefore: GleanCounter;\n    cssBreakInside: GleanCounter;\n    cssCaptionSide: GleanCounter;\n    cssCaretColor: GleanCounter;\n    cssClear: GleanCounter;\n    cssClip: GleanCounter;\n    cssClipPath: GleanCounter;\n    cssClipRule: GleanCounter;\n    cssColor: GleanCounter;\n    cssColorAdjust: GleanCounter;\n    cssColorInterpolation: GleanCounter;\n    cssColorInterpolationFilters: GleanCounter;\n    cssColorScheme: GleanCounter;\n    cssColumnCount: GleanCounter;\n    cssColumnFill: GleanCounter;\n    cssColumnGap: GleanCounter;\n    cssColumnRule: GleanCounter;\n    cssColumnRuleColor: GleanCounter;\n    cssColumnRuleStyle: GleanCounter;\n    cssColumnRuleWidth: GleanCounter;\n    cssColumnSpan: GleanCounter;\n    cssColumnWidth: GleanCounter;\n    cssColumns: GleanCounter;\n    cssContain: GleanCounter;\n    cssContainIntrinsicBlockSize: GleanCounter;\n    cssContainIntrinsicHeight: GleanCounter;\n    cssContainIntrinsicInlineSize: GleanCounter;\n    cssContainIntrinsicSize: GleanCounter;\n    cssContainIntrinsicWidth: GleanCounter;\n    cssContainer: GleanCounter;\n    cssContainerName: GleanCounter;\n    cssContainerType: GleanCounter;\n    cssContent: GleanCounter;\n    cssContentVisibility: GleanCounter;\n    cssCounterIncrement: GleanCounter;\n    cssCounterReset: GleanCounter;\n    cssCounterSet: GleanCounter;\n    cssCursor: GleanCounter;\n    cssCx: GleanCounter;\n    cssCy: GleanCounter;\n    cssD: GleanCounter;\n    cssDirection: GleanCounter;\n    cssDisplay: GleanCounter;\n    cssDominantBaseline: GleanCounter;\n    cssEmptyCells: GleanCounter;\n    cssFieldSizing: GleanCounter;\n    cssFill: GleanCounter;\n    cssFillOpacity: GleanCounter;\n    cssFillRule: GleanCounter;\n    cssFilter: GleanCounter;\n    cssFlex: GleanCounter;\n    cssFlexBasis: GleanCounter;\n    cssFlexDirection: GleanCounter;\n    cssFlexFlow: GleanCounter;\n    cssFlexGrow: GleanCounter;\n    cssFlexShrink: GleanCounter;\n    cssFlexWrap: GleanCounter;\n    cssFloat: GleanCounter;\n    cssFloodColor: GleanCounter;\n    cssFloodOpacity: GleanCounter;\n    cssFont: GleanCounter;\n    cssFontFamily: GleanCounter;\n    cssFontFeatureSettings: GleanCounter;\n    cssFontKerning: GleanCounter;\n    cssFontLanguageOverride: GleanCounter;\n    cssFontOpticalSizing: GleanCounter;\n    cssFontPalette: GleanCounter;\n    cssFontSize: GleanCounter;\n    cssFontSizeAdjust: GleanCounter;\n    cssFontStretch: GleanCounter;\n    cssFontStyle: GleanCounter;\n    cssFontSynthesis: GleanCounter;\n    cssFontSynthesisPosition: GleanCounter;\n    cssFontSynthesisSmallCaps: GleanCounter;\n    cssFontSynthesisStyle: GleanCounter;\n    cssFontSynthesisWeight: GleanCounter;\n    cssFontVariant: GleanCounter;\n    cssFontVariantAlternates: GleanCounter;\n    cssFontVariantCaps: GleanCounter;\n    cssFontVariantEastAsian: GleanCounter;\n    cssFontVariantEmoji: GleanCounter;\n    cssFontVariantLigatures: GleanCounter;\n    cssFontVariantNumeric: GleanCounter;\n    cssFontVariantPosition: GleanCounter;\n    cssFontVariationSettings: GleanCounter;\n    cssFontWeight: GleanCounter;\n    cssForcedColorAdjust: GleanCounter;\n    cssGap: GleanCounter;\n    cssGrid: GleanCounter;\n    cssGridArea: GleanCounter;\n    cssGridAutoColumns: GleanCounter;\n    cssGridAutoFlow: GleanCounter;\n    cssGridAutoRows: GleanCounter;\n    cssGridColumn: GleanCounter;\n    cssGridColumnEnd: GleanCounter;\n    cssGridColumnGap: GleanCounter;\n    cssGridColumnStart: GleanCounter;\n    cssGridGap: GleanCounter;\n    cssGridRow: GleanCounter;\n    cssGridRowEnd: GleanCounter;\n    cssGridRowGap: GleanCounter;\n    cssGridRowStart: GleanCounter;\n    cssGridTemplate: GleanCounter;\n    cssGridTemplateAreas: GleanCounter;\n    cssGridTemplateColumns: GleanCounter;\n    cssGridTemplateRows: GleanCounter;\n    cssHeight: GleanCounter;\n    cssHyphenateCharacter: GleanCounter;\n    cssHyphenateLimitChars: GleanCounter;\n    cssHyphens: GleanCounter;\n    cssImageOrientation: GleanCounter;\n    cssImageRendering: GleanCounter;\n    cssImeMode: GleanCounter;\n    cssInitialLetter: GleanCounter;\n    cssInlineSize: GleanCounter;\n    cssInset: GleanCounter;\n    cssInsetBlock: GleanCounter;\n    cssInsetBlockEnd: GleanCounter;\n    cssInsetBlockStart: GleanCounter;\n    cssInsetInline: GleanCounter;\n    cssInsetInlineEnd: GleanCounter;\n    cssInsetInlineStart: GleanCounter;\n    cssIsolation: GleanCounter;\n    cssJustifyContent: GleanCounter;\n    cssJustifyItems: GleanCounter;\n    cssJustifySelf: GleanCounter;\n    cssLeft: GleanCounter;\n    cssLetterSpacing: GleanCounter;\n    cssLightingColor: GleanCounter;\n    cssLineBreak: GleanCounter;\n    cssLineHeight: GleanCounter;\n    cssListStyle: GleanCounter;\n    cssListStyleImage: GleanCounter;\n    cssListStylePosition: GleanCounter;\n    cssListStyleType: GleanCounter;\n    cssMargin: GleanCounter;\n    cssMarginBlock: GleanCounter;\n    cssMarginBlockEnd: GleanCounter;\n    cssMarginBlockStart: GleanCounter;\n    cssMarginBottom: GleanCounter;\n    cssMarginInline: GleanCounter;\n    cssMarginInlineEnd: GleanCounter;\n    cssMarginInlineStart: GleanCounter;\n    cssMarginLeft: GleanCounter;\n    cssMarginRight: GleanCounter;\n    cssMarginTop: GleanCounter;\n    cssMarker: GleanCounter;\n    cssMarkerEnd: GleanCounter;\n    cssMarkerMid: GleanCounter;\n    cssMarkerStart: GleanCounter;\n    cssMask: GleanCounter;\n    cssMaskClip: GleanCounter;\n    cssMaskComposite: GleanCounter;\n    cssMaskImage: GleanCounter;\n    cssMaskMode: GleanCounter;\n    cssMaskOrigin: GleanCounter;\n    cssMaskPosition: GleanCounter;\n    cssMaskPositionX: GleanCounter;\n    cssMaskPositionY: GleanCounter;\n    cssMaskRepeat: GleanCounter;\n    cssMaskSize: GleanCounter;\n    cssMaskType: GleanCounter;\n    cssMasonryAutoFlow: GleanCounter;\n    cssMathDepth: GleanCounter;\n    cssMathStyle: GleanCounter;\n    cssMaxBlockSize: GleanCounter;\n    cssMaxHeight: GleanCounter;\n    cssMaxInlineSize: GleanCounter;\n    cssMaxWidth: GleanCounter;\n    cssMinBlockSize: GleanCounter;\n    cssMinHeight: GleanCounter;\n    cssMinInlineSize: GleanCounter;\n    cssMinWidth: GleanCounter;\n    cssMixBlendMode: GleanCounter;\n    cssMozAnimation: GleanCounter;\n    cssMozAnimationDelay: GleanCounter;\n    cssMozAnimationDirection: GleanCounter;\n    cssMozAnimationDuration: GleanCounter;\n    cssMozAnimationFillMode: GleanCounter;\n    cssMozAnimationIterationCount: GleanCounter;\n    cssMozAnimationName: GleanCounter;\n    cssMozAnimationPlayState: GleanCounter;\n    cssMozAnimationTimingFunction: GleanCounter;\n    cssMozAppearance: GleanCounter;\n    cssMozBackfaceVisibility: GleanCounter;\n    cssMozBorderEnd: GleanCounter;\n    cssMozBorderEndColor: GleanCounter;\n    cssMozBorderEndStyle: GleanCounter;\n    cssMozBorderEndWidth: GleanCounter;\n    cssMozBorderImage: GleanCounter;\n    cssMozBorderStart: GleanCounter;\n    cssMozBorderStartColor: GleanCounter;\n    cssMozBorderStartStyle: GleanCounter;\n    cssMozBorderStartWidth: GleanCounter;\n    cssMozBoxAlign: GleanCounter;\n    cssMozBoxCollapse: GleanCounter;\n    cssMozBoxDirection: GleanCounter;\n    cssMozBoxFlex: GleanCounter;\n    cssMozBoxOrdinalGroup: GleanCounter;\n    cssMozBoxOrient: GleanCounter;\n    cssMozBoxPack: GleanCounter;\n    cssMozBoxSizing: GleanCounter;\n    cssMozContextProperties: GleanCounter;\n    cssMozControlCharacterVisibility: GleanCounter;\n    cssMozDefaultAppearance: GleanCounter;\n    cssMozFloatEdge: GleanCounter;\n    cssMozFontFeatureSettings: GleanCounter;\n    cssMozFontLanguageOverride: GleanCounter;\n    cssMozForceBrokenImageIcon: GleanCounter;\n    cssMozHyphens: GleanCounter;\n    cssMozInert: GleanCounter;\n    cssMozMarginEnd: GleanCounter;\n    cssMozMarginStart: GleanCounter;\n    cssMozMathVariant: GleanCounter;\n    cssMozMinFontSizeRatio: GleanCounter;\n    cssMozOrient: GleanCounter;\n    cssMozOsxFontSmoothing: GleanCounter;\n    cssMozPaddingEnd: GleanCounter;\n    cssMozPaddingStart: GleanCounter;\n    cssMozPerspective: GleanCounter;\n    cssMozPerspectiveOrigin: GleanCounter;\n    cssMozSubtreeHiddenOnlyVisually: GleanCounter;\n    cssMozTabSize: GleanCounter;\n    cssMozTextSizeAdjust: GleanCounter;\n    cssMozTheme: GleanCounter;\n    cssMozTopLayer: GleanCounter;\n    cssMozTransform: GleanCounter;\n    cssMozTransformOrigin: GleanCounter;\n    cssMozTransformStyle: GleanCounter;\n    cssMozTransition: GleanCounter;\n    cssMozTransitionDelay: GleanCounter;\n    cssMozTransitionDuration: GleanCounter;\n    cssMozTransitionProperty: GleanCounter;\n    cssMozTransitionTimingFunction: GleanCounter;\n    cssMozUserFocus: GleanCounter;\n    cssMozUserInput: GleanCounter;\n    cssMozUserSelect: GleanCounter;\n    cssMozWindowDragging: GleanCounter;\n    cssMozWindowInputRegionMargin: GleanCounter;\n    cssMozWindowOpacity: GleanCounter;\n    cssMozWindowShadow: GleanCounter;\n    cssMozWindowTransform: GleanCounter;\n    cssObjectFit: GleanCounter;\n    cssObjectPosition: GleanCounter;\n    cssOffset: GleanCounter;\n    cssOffsetAnchor: GleanCounter;\n    cssOffsetDistance: GleanCounter;\n    cssOffsetPath: GleanCounter;\n    cssOffsetPosition: GleanCounter;\n    cssOffsetRotate: GleanCounter;\n    cssOpacity: GleanCounter;\n    cssOrder: GleanCounter;\n    cssOutline: GleanCounter;\n    cssOutlineColor: GleanCounter;\n    cssOutlineOffset: GleanCounter;\n    cssOutlineStyle: GleanCounter;\n    cssOutlineWidth: GleanCounter;\n    cssOverflow: GleanCounter;\n    cssOverflowAnchor: GleanCounter;\n    cssOverflowBlock: GleanCounter;\n    cssOverflowClipBox: GleanCounter;\n    cssOverflowClipBoxBlock: GleanCounter;\n    cssOverflowClipBoxInline: GleanCounter;\n    cssOverflowClipMargin: GleanCounter;\n    cssOverflowInline: GleanCounter;\n    cssOverflowWrap: GleanCounter;\n    cssOverflowX: GleanCounter;\n    cssOverflowY: GleanCounter;\n    cssOverscrollBehavior: GleanCounter;\n    cssOverscrollBehaviorBlock: GleanCounter;\n    cssOverscrollBehaviorInline: GleanCounter;\n    cssOverscrollBehaviorX: GleanCounter;\n    cssOverscrollBehaviorY: GleanCounter;\n    cssPadding: GleanCounter;\n    cssPaddingBlock: GleanCounter;\n    cssPaddingBlockEnd: GleanCounter;\n    cssPaddingBlockStart: GleanCounter;\n    cssPaddingBottom: GleanCounter;\n    cssPaddingInline: GleanCounter;\n    cssPaddingInlineEnd: GleanCounter;\n    cssPaddingInlineStart: GleanCounter;\n    cssPaddingLeft: GleanCounter;\n    cssPaddingRight: GleanCounter;\n    cssPaddingTop: GleanCounter;\n    cssPage: GleanCounter;\n    cssPageBreakAfter: GleanCounter;\n    cssPageBreakBefore: GleanCounter;\n    cssPageBreakInside: GleanCounter;\n    cssPageOrientation: GleanCounter;\n    cssPaintOrder: GleanCounter;\n    cssPerspective: GleanCounter;\n    cssPerspectiveOrigin: GleanCounter;\n    cssPlaceContent: GleanCounter;\n    cssPlaceItems: GleanCounter;\n    cssPlaceSelf: GleanCounter;\n    cssPointerEvents: GleanCounter;\n    cssPosition: GleanCounter;\n    cssPositionAnchor: GleanCounter;\n    cssPositionArea: GleanCounter;\n    cssPositionTry: GleanCounter;\n    cssPositionTryFallbacks: GleanCounter;\n    cssPositionTryOrder: GleanCounter;\n    cssPositionVisibility: GleanCounter;\n    cssPrintColorAdjust: GleanCounter;\n    cssQuotes: GleanCounter;\n    cssR: GleanCounter;\n    cssResize: GleanCounter;\n    cssRight: GleanCounter;\n    cssRotate: GleanCounter;\n    cssRowGap: GleanCounter;\n    cssRubyAlign: GleanCounter;\n    cssRubyPosition: GleanCounter;\n    cssRx: GleanCounter;\n    cssRy: GleanCounter;\n    cssScale: GleanCounter;\n    cssScrollBehavior: GleanCounter;\n    cssScrollMargin: GleanCounter;\n    cssScrollMarginBlock: GleanCounter;\n    cssScrollMarginBlockEnd: GleanCounter;\n    cssScrollMarginBlockStart: GleanCounter;\n    cssScrollMarginBottom: GleanCounter;\n    cssScrollMarginInline: GleanCounter;\n    cssScrollMarginInlineEnd: GleanCounter;\n    cssScrollMarginInlineStart: GleanCounter;\n    cssScrollMarginLeft: GleanCounter;\n    cssScrollMarginRight: GleanCounter;\n    cssScrollMarginTop: GleanCounter;\n    cssScrollPadding: GleanCounter;\n    cssScrollPaddingBlock: GleanCounter;\n    cssScrollPaddingBlockEnd: GleanCounter;\n    cssScrollPaddingBlockStart: GleanCounter;\n    cssScrollPaddingBottom: GleanCounter;\n    cssScrollPaddingInline: GleanCounter;\n    cssScrollPaddingInlineEnd: GleanCounter;\n    cssScrollPaddingInlineStart: GleanCounter;\n    cssScrollPaddingLeft: GleanCounter;\n    cssScrollPaddingRight: GleanCounter;\n    cssScrollPaddingTop: GleanCounter;\n    cssScrollSnapAlign: GleanCounter;\n    cssScrollSnapStop: GleanCounter;\n    cssScrollSnapType: GleanCounter;\n    cssScrollTimeline: GleanCounter;\n    cssScrollTimelineAxis: GleanCounter;\n    cssScrollTimelineName: GleanCounter;\n    cssScrollbarColor: GleanCounter;\n    cssScrollbarGutter: GleanCounter;\n    cssScrollbarWidth: GleanCounter;\n    cssShapeImageThreshold: GleanCounter;\n    cssShapeMargin: GleanCounter;\n    cssShapeOutside: GleanCounter;\n    cssShapeRendering: GleanCounter;\n    cssSize: GleanCounter;\n    cssStopColor: GleanCounter;\n    cssStopOpacity: GleanCounter;\n    cssStroke: GleanCounter;\n    cssStrokeDasharray: GleanCounter;\n    cssStrokeDashoffset: GleanCounter;\n    cssStrokeLinecap: GleanCounter;\n    cssStrokeLinejoin: GleanCounter;\n    cssStrokeMiterlimit: GleanCounter;\n    cssStrokeOpacity: GleanCounter;\n    cssStrokeWidth: GleanCounter;\n    cssTabSize: GleanCounter;\n    cssTableLayout: GleanCounter;\n    cssTextAlign: GleanCounter;\n    cssTextAlignLast: GleanCounter;\n    cssTextAnchor: GleanCounter;\n    cssTextCombineUpright: GleanCounter;\n    cssTextDecoration: GleanCounter;\n    cssTextDecorationColor: GleanCounter;\n    cssTextDecorationLine: GleanCounter;\n    cssTextDecorationSkipInk: GleanCounter;\n    cssTextDecorationStyle: GleanCounter;\n    cssTextDecorationThickness: GleanCounter;\n    cssTextEmphasis: GleanCounter;\n    cssTextEmphasisColor: GleanCounter;\n    cssTextEmphasisPosition: GleanCounter;\n    cssTextEmphasisStyle: GleanCounter;\n    cssTextIndent: GleanCounter;\n    cssTextJustify: GleanCounter;\n    cssTextOrientation: GleanCounter;\n    cssTextOverflow: GleanCounter;\n    cssTextRendering: GleanCounter;\n    cssTextShadow: GleanCounter;\n    cssTextTransform: GleanCounter;\n    cssTextUnderlineOffset: GleanCounter;\n    cssTextUnderlinePosition: GleanCounter;\n    cssTextWrap: GleanCounter;\n    cssTextWrapMode: GleanCounter;\n    cssTextWrapStyle: GleanCounter;\n    cssTop: GleanCounter;\n    cssTouchAction: GleanCounter;\n    cssTransform: GleanCounter;\n    cssTransformBox: GleanCounter;\n    cssTransformOrigin: GleanCounter;\n    cssTransformStyle: GleanCounter;\n    cssTransition: GleanCounter;\n    cssTransitionBehavior: GleanCounter;\n    cssTransitionDelay: GleanCounter;\n    cssTransitionDuration: GleanCounter;\n    cssTransitionProperty: GleanCounter;\n    cssTransitionTimingFunction: GleanCounter;\n    cssTranslate: GleanCounter;\n    cssUnicodeBidi: GleanCounter;\n    cssUserSelect: GleanCounter;\n    cssVectorEffect: GleanCounter;\n    cssVerticalAlign: GleanCounter;\n    cssViewTimeline: GleanCounter;\n    cssViewTimelineAxis: GleanCounter;\n    cssViewTimelineInset: GleanCounter;\n    cssViewTimelineName: GleanCounter;\n    cssViewTransitionClass: GleanCounter;\n    cssViewTransitionName: GleanCounter;\n    cssVisibility: GleanCounter;\n    cssWebkitAlignContent: GleanCounter;\n    cssWebkitAlignItems: GleanCounter;\n    cssWebkitAlignSelf: GleanCounter;\n    cssWebkitAnimation: GleanCounter;\n    cssWebkitAnimationDelay: GleanCounter;\n    cssWebkitAnimationDirection: GleanCounter;\n    cssWebkitAnimationDuration: GleanCounter;\n    cssWebkitAnimationFillMode: GleanCounter;\n    cssWebkitAnimationIterationCount: GleanCounter;\n    cssWebkitAnimationName: GleanCounter;\n    cssWebkitAnimationPlayState: GleanCounter;\n    cssWebkitAnimationTimingFunction: GleanCounter;\n    cssWebkitAppearance: GleanCounter;\n    cssWebkitBackfaceVisibility: GleanCounter;\n    cssWebkitBackgroundClip: GleanCounter;\n    cssWebkitBackgroundOrigin: GleanCounter;\n    cssWebkitBackgroundSize: GleanCounter;\n    cssWebkitBorderBottomLeftRadius: GleanCounter;\n    cssWebkitBorderBottomRightRadius: GleanCounter;\n    cssWebkitBorderImage: GleanCounter;\n    cssWebkitBorderRadius: GleanCounter;\n    cssWebkitBorderTopLeftRadius: GleanCounter;\n    cssWebkitBorderTopRightRadius: GleanCounter;\n    cssWebkitBoxAlign: GleanCounter;\n    cssWebkitBoxDirection: GleanCounter;\n    cssWebkitBoxFlex: GleanCounter;\n    cssWebkitBoxOrdinalGroup: GleanCounter;\n    cssWebkitBoxOrient: GleanCounter;\n    cssWebkitBoxPack: GleanCounter;\n    cssWebkitBoxShadow: GleanCounter;\n    cssWebkitBoxSizing: GleanCounter;\n    cssWebkitClipPath: GleanCounter;\n    cssWebkitFilter: GleanCounter;\n    cssWebkitFlex: GleanCounter;\n    cssWebkitFlexBasis: GleanCounter;\n    cssWebkitFlexDirection: GleanCounter;\n    cssWebkitFlexFlow: GleanCounter;\n    cssWebkitFlexGrow: GleanCounter;\n    cssWebkitFlexShrink: GleanCounter;\n    cssWebkitFlexWrap: GleanCounter;\n    cssWebkitFontFeatureSettings: GleanCounter;\n    cssWebkitFontSmoothing: GleanCounter;\n    cssWebkitJustifyContent: GleanCounter;\n    cssWebkitLineClamp: GleanCounter;\n    cssWebkitMask: GleanCounter;\n    cssWebkitMaskClip: GleanCounter;\n    cssWebkitMaskComposite: GleanCounter;\n    cssWebkitMaskImage: GleanCounter;\n    cssWebkitMaskOrigin: GleanCounter;\n    cssWebkitMaskPosition: GleanCounter;\n    cssWebkitMaskPositionX: GleanCounter;\n    cssWebkitMaskPositionY: GleanCounter;\n    cssWebkitMaskRepeat: GleanCounter;\n    cssWebkitMaskSize: GleanCounter;\n    cssWebkitOrder: GleanCounter;\n    cssWebkitPerspective: GleanCounter;\n    cssWebkitPerspectiveOrigin: GleanCounter;\n    cssWebkitTextFillColor: GleanCounter;\n    cssWebkitTextSecurity: GleanCounter;\n    cssWebkitTextSizeAdjust: GleanCounter;\n    cssWebkitTextStroke: GleanCounter;\n    cssWebkitTextStrokeColor: GleanCounter;\n    cssWebkitTextStrokeWidth: GleanCounter;\n    cssWebkitTransform: GleanCounter;\n    cssWebkitTransformOrigin: GleanCounter;\n    cssWebkitTransformStyle: GleanCounter;\n    cssWebkitTransition: GleanCounter;\n    cssWebkitTransitionDelay: GleanCounter;\n    cssWebkitTransitionDuration: GleanCounter;\n    cssWebkitTransitionProperty: GleanCounter;\n    cssWebkitTransitionTimingFunction: GleanCounter;\n    cssWebkitUserSelect: GleanCounter;\n    cssWhiteSpace: GleanCounter;\n    cssWhiteSpaceCollapse: GleanCounter;\n    cssWidth: GleanCounter;\n    cssWillChange: GleanCounter;\n    cssWordBreak: GleanCounter;\n    cssWordSpacing: GleanCounter;\n    cssWordWrap: GleanCounter;\n    cssWritingMode: GleanCounter;\n    cssX: GleanCounter;\n    cssXLang: GleanCounter;\n    cssXSpan: GleanCounter;\n    cssXTextScale: GleanCounter;\n    cssY: GleanCounter;\n    cssZIndex: GleanCounter;\n    cssZoom: GleanCounter;\n    maxZoom: GleanCounter;\n    minZoom: GleanCounter;\n    orientation: GleanCounter;\n    orphans: GleanCounter;\n    speak: GleanCounter;\n    textSizeAdjust: GleanCounter;\n    userZoom: GleanCounter;\n    webkitAppRegion: GleanCounter;\n    webkitBorderAfter: GleanCounter;\n    webkitBorderAfterColor: GleanCounter;\n    webkitBorderAfterStyle: GleanCounter;\n    webkitBorderAfterWidth: GleanCounter;\n    webkitBorderBefore: GleanCounter;\n    webkitBorderBeforeColor: GleanCounter;\n    webkitBorderBeforeStyle: GleanCounter;\n    webkitBorderBeforeWidth: GleanCounter;\n    webkitBorderEnd: GleanCounter;\n    webkitBorderEndColor: GleanCounter;\n    webkitBorderEndStyle: GleanCounter;\n    webkitBorderEndWidth: GleanCounter;\n    webkitBorderHorizontalSpacing: GleanCounter;\n    webkitBorderStart: GleanCounter;\n    webkitBorderStartColor: GleanCounter;\n    webkitBorderStartStyle: GleanCounter;\n    webkitBorderStartWidth: GleanCounter;\n    webkitBorderVerticalSpacing: GleanCounter;\n    webkitBoxDecorationBreak: GleanCounter;\n    webkitBoxReflect: GleanCounter;\n    webkitColumnBreakAfter: GleanCounter;\n    webkitColumnBreakBefore: GleanCounter;\n    webkitColumnBreakInside: GleanCounter;\n    webkitColumnCount: GleanCounter;\n    webkitColumnGap: GleanCounter;\n    webkitColumnRule: GleanCounter;\n    webkitColumnRuleColor: GleanCounter;\n    webkitColumnRuleStyle: GleanCounter;\n    webkitColumnRuleWidth: GleanCounter;\n    webkitColumnSpan: GleanCounter;\n    webkitColumnWidth: GleanCounter;\n    webkitColumns: GleanCounter;\n    webkitFontSizeDelta: GleanCounter;\n    webkitHighlight: GleanCounter;\n    webkitHyphenateCharacter: GleanCounter;\n    webkitLineBreak: GleanCounter;\n    webkitLocale: GleanCounter;\n    webkitLogicalHeight: GleanCounter;\n    webkitLogicalWidth: GleanCounter;\n    webkitMarginAfter: GleanCounter;\n    webkitMarginAfterCollapse: GleanCounter;\n    webkitMarginBefore: GleanCounter;\n    webkitMarginBeforeCollapse: GleanCounter;\n    webkitMarginBottomCollapse: GleanCounter;\n    webkitMarginCollapse: GleanCounter;\n    webkitMarginEnd: GleanCounter;\n    webkitMarginStart: GleanCounter;\n    webkitMarginTopCollapse: GleanCounter;\n    webkitMaskBoxImage: GleanCounter;\n    webkitMaskBoxImageOutset: GleanCounter;\n    webkitMaskBoxImageRepeat: GleanCounter;\n    webkitMaskBoxImageSlice: GleanCounter;\n    webkitMaskBoxImageSource: GleanCounter;\n    webkitMaskBoxImageWidth: GleanCounter;\n    webkitMaskRepeatX: GleanCounter;\n    webkitMaskRepeatY: GleanCounter;\n    webkitMaxLogicalHeight: GleanCounter;\n    webkitMaxLogicalWidth: GleanCounter;\n    webkitMinLogicalHeight: GleanCounter;\n    webkitMinLogicalWidth: GleanCounter;\n    webkitOpacity: GleanCounter;\n    webkitPaddingAfter: GleanCounter;\n    webkitPaddingBefore: GleanCounter;\n    webkitPaddingEnd: GleanCounter;\n    webkitPaddingStart: GleanCounter;\n    webkitPerspectiveOriginX: GleanCounter;\n    webkitPerspectiveOriginY: GleanCounter;\n    webkitPrintColorAdjust: GleanCounter;\n    webkitRtlOrdering: GleanCounter;\n    webkitRubyPosition: GleanCounter;\n    webkitShapeImageThreshold: GleanCounter;\n    webkitShapeMargin: GleanCounter;\n    webkitShapeOutside: GleanCounter;\n    webkitTapHighlightColor: GleanCounter;\n    webkitTextCombine: GleanCounter;\n    webkitTextDecorationsInEffect: GleanCounter;\n    webkitTextEmphasis: GleanCounter;\n    webkitTextEmphasisColor: GleanCounter;\n    webkitTextEmphasisPosition: GleanCounter;\n    webkitTextEmphasisStyle: GleanCounter;\n    webkitTextOrientation: GleanCounter;\n    webkitTransformOriginX: GleanCounter;\n    webkitTransformOriginY: GleanCounter;\n    webkitTransformOriginZ: GleanCounter;\n    webkitUserDrag: GleanCounter;\n    webkitUserModify: GleanCounter;\n    webkitWritingMode: GleanCounter;\n    widows: GleanCounter;\n  }\n\n  useCounterDeprecatedOpsDoc: {\n    afterScriptExecuteEvent: GleanCounter;\n    ambientLightEvent: GleanCounter;\n    appCache: GleanCounter;\n    beforeScriptExecuteEvent: GleanCounter;\n    components: GleanCounter;\n    createImageBitmapCanvasRenderingContext2D: GleanCounter;\n    deprecatedTestingAttribute: GleanCounter;\n    deprecatedTestingInterface: GleanCounter;\n    deprecatedTestingMethod: GleanCounter;\n    documentReleaseCapture: GleanCounter;\n    domattrModified: GleanCounter;\n    domcharacterDataModified: GleanCounter;\n    domnodeInserted: GleanCounter;\n    domnodeInsertedIntoDocument: GleanCounter;\n    domnodeRemoved: GleanCounter;\n    domnodeRemovedFromDocument: GleanCounter;\n    domquadBoundsAttr: GleanCounter;\n    domsubtreeModified: GleanCounter;\n    drawWindowCanvasRenderingContext2D: GleanCounter;\n    elementReleaseCapture: GleanCounter;\n    elementSetCapture: GleanCounter;\n    externalAddSearchProvider: GleanCounter;\n    formSubmissionUntrustedEvent: GleanCounter;\n    idbobjectStoreCreateIndexLocale: GleanCounter;\n    idbopenDboptionsStorageType: GleanCounter;\n    imageBitmapRenderingContextTransferImageBitmap: GleanCounter;\n    importXulintoContent: GleanCounter;\n    initMouseEvent: GleanCounter;\n    initNsmouseEvent: GleanCounter;\n    installTriggerDeprecated: GleanCounter;\n    installTriggerInstallDeprecated: GleanCounter;\n    lenientSetter: GleanCounter;\n    lenientThis: GleanCounter;\n    mathMlDeprecatedMathSpaceValue2: GleanCounter;\n    mathMlDeprecatedMathVariant: GleanCounter;\n    mathMlDeprecatedStixgeneralOperatorStretching: GleanCounter;\n    motionEvent: GleanCounter;\n    mouseEventMozPressure: GleanCounter;\n    mozInputSource: GleanCounter;\n    mozRequestFullScreenDeprecatedPrefix: GleanCounter;\n    mozfullscreenchangeDeprecatedPrefix: GleanCounter;\n    mozfullscreenerrorDeprecatedPrefix: GleanCounter;\n    navigatorGetUserMedia: GleanCounter;\n    nodeIteratorDetach: GleanCounter;\n    offscreenCanvasToBlob: GleanCounter;\n    orientationEvent: GleanCounter;\n    proximityEvent: GleanCounter;\n    rtcpeerConnectionGetStreams: GleanCounter;\n    svgdeselectAll: GleanCounter;\n    svgfarthestViewportElement: GleanCounter;\n    svgnearestViewportElement: GleanCounter;\n    syncXmlhttpRequestDeprecated: GleanCounter;\n    useOfCaptureEvents: GleanCounter;\n    useOfReleaseEvents: GleanCounter;\n    webrtcDeprecatedPrefix: GleanCounter;\n    windowCcOntrollers: GleanCounter;\n    windowContentUntrusted: GleanCounter;\n  }\n\n  useCounterDeprecatedOpsPage: {\n    afterScriptExecuteEvent: GleanCounter;\n    ambientLightEvent: GleanCounter;\n    appCache: GleanCounter;\n    beforeScriptExecuteEvent: GleanCounter;\n    components: GleanCounter;\n    createImageBitmapCanvasRenderingContext2D: GleanCounter;\n    deprecatedTestingAttribute: GleanCounter;\n    deprecatedTestingInterface: GleanCounter;\n    deprecatedTestingMethod: GleanCounter;\n    documentReleaseCapture: GleanCounter;\n    domattrModified: GleanCounter;\n    domcharacterDataModified: GleanCounter;\n    domnodeInserted: GleanCounter;\n    domnodeInsertedIntoDocument: GleanCounter;\n    domnodeRemoved: GleanCounter;\n    domnodeRemovedFromDocument: GleanCounter;\n    domquadBoundsAttr: GleanCounter;\n    domsubtreeModified: GleanCounter;\n    drawWindowCanvasRenderingContext2D: GleanCounter;\n    elementReleaseCapture: GleanCounter;\n    elementSetCapture: GleanCounter;\n    externalAddSearchProvider: GleanCounter;\n    formSubmissionUntrustedEvent: GleanCounter;\n    idbobjectStoreCreateIndexLocale: GleanCounter;\n    idbopenDboptionsStorageType: GleanCounter;\n    imageBitmapRenderingContextTransferImageBitmap: GleanCounter;\n    importXulintoContent: GleanCounter;\n    initMouseEvent: GleanCounter;\n    initNsmouseEvent: GleanCounter;\n    installTriggerDeprecated: GleanCounter;\n    installTriggerInstallDeprecated: GleanCounter;\n    lenientSetter: GleanCounter;\n    lenientThis: GleanCounter;\n    mathMlDeprecatedMathSpaceValue2: GleanCounter;\n    mathMlDeprecatedMathVariant: GleanCounter;\n    mathMlDeprecatedStixgeneralOperatorStretching: GleanCounter;\n    motionEvent: GleanCounter;\n    mouseEventMozPressure: GleanCounter;\n    mozInputSource: GleanCounter;\n    mozRequestFullScreenDeprecatedPrefix: GleanCounter;\n    mozfullscreenchangeDeprecatedPrefix: GleanCounter;\n    mozfullscreenerrorDeprecatedPrefix: GleanCounter;\n    navigatorGetUserMedia: GleanCounter;\n    nodeIteratorDetach: GleanCounter;\n    offscreenCanvasToBlob: GleanCounter;\n    orientationEvent: GleanCounter;\n    proximityEvent: GleanCounter;\n    rtcpeerConnectionGetStreams: GleanCounter;\n    svgdeselectAll: GleanCounter;\n    svgfarthestViewportElement: GleanCounter;\n    svgnearestViewportElement: GleanCounter;\n    syncXmlhttpRequestDeprecated: GleanCounter;\n    useOfCaptureEvents: GleanCounter;\n    useOfReleaseEvents: GleanCounter;\n    webrtcDeprecatedPrefix: GleanCounter;\n    windowCcOntrollers: GleanCounter;\n    windowContentUntrusted: GleanCounter;\n  }\n\n  useCounterDoc: {\n    componentsShimResolved: GleanCounter;\n    consoleAssert: GleanCounter;\n    consoleClear: GleanCounter;\n    consoleCount: GleanCounter;\n    consoleCountreset: GleanCounter;\n    consoleDebug: GleanCounter;\n    consoleDir: GleanCounter;\n    consoleDirxml: GleanCounter;\n    consoleError: GleanCounter;\n    consoleException: GleanCounter;\n    consoleGroup: GleanCounter;\n    consoleGroupcollapsed: GleanCounter;\n    consoleGroupend: GleanCounter;\n    consoleInfo: GleanCounter;\n    consoleLog: GleanCounter;\n    consoleProfile: GleanCounter;\n    consoleProfileend: GleanCounter;\n    consoleTable: GleanCounter;\n    consoleTime: GleanCounter;\n    consoleTimeend: GleanCounter;\n    consoleTimelog: GleanCounter;\n    consoleTimestamp: GleanCounter;\n    consoleTrace: GleanCounter;\n    consoleWarn: GleanCounter;\n    cookiestoreDelete: GleanCounter;\n    cookiestoreGet: GleanCounter;\n    cookiestoreGetall: GleanCounter;\n    cookiestoreSet: GleanCounter;\n    customelementregistryDefine: GleanCounter;\n    customizedBuiltin: GleanCounter;\n    datatransferAddelement: GleanCounter;\n    datatransferMozcleardataat: GleanCounter;\n    datatransferMozcursorGetter: GleanCounter;\n    datatransferMozcursorSetter: GleanCounter;\n    datatransferMozgetdataat: GleanCounter;\n    datatransferMozitemcountGetter: GleanCounter;\n    datatransferMozitemcountSetter: GleanCounter;\n    datatransferMozsetdataat: GleanCounter;\n    datatransferMozsourcenodeGetter: GleanCounter;\n    datatransferMozsourcenodeSetter: GleanCounter;\n    datatransferMoztypesat: GleanCounter;\n    datatransferMozusercancelledGetter: GleanCounter;\n    datatransferMozusercancelledSetter: GleanCounter;\n    documentExecCommandContentReadOnly: GleanCounter;\n    documentMozsetimageelement: GleanCounter;\n    documentOpen: GleanCounter;\n    documentQueryCommandStateOrValueContentReadOnly: GleanCounter;\n    documentQueryCommandStateOrValueInsertBrOnReturn: GleanCounter;\n    documentQueryCommandSupportedOrEnabledContentReadOnly: GleanCounter;\n    documentQueryCommandSupportedOrEnabledInsertBrOnReturn: GleanCounter;\n    domparserParsefromstring: GleanCounter;\n    elementAttachshadow: GleanCounter;\n    elementReleasecapture: GleanCounter;\n    elementReleasepointercapture: GleanCounter;\n    elementSetcapture: GleanCounter;\n    elementSethtml: GleanCounter;\n    elementSetpointercapture: GleanCounter;\n    enumerateDevicesInsec: GleanCounter;\n    enumerateDevicesUnfocused: GleanCounter;\n    feBlend: GleanCounter;\n    feColorMatrix: GleanCounter;\n    feComponentTransfer: GleanCounter;\n    feComposite: GleanCounter;\n    feConvolveMatrix: GleanCounter;\n    feDiffuseLighting: GleanCounter;\n    feDisplacementMap: GleanCounter;\n    feFlood: GleanCounter;\n    feGaussianBlur: GleanCounter;\n    feImage: GleanCounter;\n    feMerge: GleanCounter;\n    feMorphology: GleanCounter;\n    feOffset: GleanCounter;\n    feSpecularLighting: GleanCounter;\n    feTile: GleanCounter;\n    feTurbulence: GleanCounter;\n    filteredCrossOriginIframe: GleanCounter;\n    getUserMediaInsec: GleanCounter;\n    getUserMediaUnfocused: GleanCounter;\n    htmldialogelementShow: GleanCounter;\n    htmldocumentCaretrangefrompoint: GleanCounter;\n    htmldocumentExitpictureinpicture: GleanCounter;\n    htmldocumentFeaturepolicy: GleanCounter;\n    htmldocumentNamedGetterHit: GleanCounter;\n    htmldocumentOnbeforecopy: GleanCounter;\n    htmldocumentOnbeforecut: GleanCounter;\n    htmldocumentOnbeforepaste: GleanCounter;\n    htmldocumentOncancel: GleanCounter;\n    htmldocumentOnfreeze: GleanCounter;\n    htmldocumentOnmousewheel: GleanCounter;\n    htmldocumentOnresume: GleanCounter;\n    htmldocumentOnsearch: GleanCounter;\n    htmldocumentOnwebkitfullscreenchange: GleanCounter;\n    htmldocumentOnwebkitfullscreenerror: GleanCounter;\n    htmldocumentPictureinpictureelement: GleanCounter;\n    htmldocumentPictureinpictureenabled: GleanCounter;\n    htmldocumentRegisterelement: GleanCounter;\n    htmldocumentWasdiscarded: GleanCounter;\n    htmldocumentWebkitcancelfullscreen: GleanCounter;\n    htmldocumentWebkitcurrentfullscreenelement: GleanCounter;\n    htmldocumentWebkitexitfullscreen: GleanCounter;\n    htmldocumentWebkitfullscreenelement: GleanCounter;\n    htmldocumentWebkitfullscreenenabled: GleanCounter;\n    htmldocumentWebkithidden: GleanCounter;\n    htmldocumentWebkitisfullscreen: GleanCounter;\n    htmldocumentWebkitvisibilitystate: GleanCounter;\n    htmldocumentXmlencoding: GleanCounter;\n    htmldocumentXmlstandalone: GleanCounter;\n    htmldocumentXmlversion: GleanCounter;\n    invalidTextDirectives: GleanCounter;\n    jsAsmjs: GleanCounter;\n    jsDateparse: GleanCounter;\n    jsDateparseImplDef: GleanCounter;\n    jsErrorCapturestacktrace: GleanCounter;\n    jsErrorCapturestacktraceCtor: GleanCounter;\n    jsErrorCapturestacktraceUncallableCtor: GleanCounter;\n    jsIcStubOom: GleanCounter;\n    jsIcStubTooLarge: GleanCounter;\n    jsIsHtmlddaFuse: GleanCounter;\n    jsLargeOomRecovered: GleanCounter;\n    jsLargeOomReported: GleanCounter;\n    jsLegacyLangSubtag: GleanCounter;\n    jsOptimizeArraySpeciesFuse: GleanCounter;\n    jsOptimizeGetIteratorFuse: GleanCounter;\n    jsOptimizePromiseLookupFuse: GleanCounter;\n    jsRegexpSymbolProtocolOnPrimitive: GleanCounter;\n    jsSmallOomRecovered: GleanCounter;\n    jsSmallOomReported: GleanCounter;\n    jsThenable: GleanCounter;\n    jsThenableObjectProto: GleanCounter;\n    jsThenableProto: GleanCounter;\n    jsThenableStandardProto: GleanCounter;\n    jsWasm: GleanCounter;\n    jsWasmLegacyExceptions: GleanCounter;\n    locationAncestororigins: GleanCounter;\n    mathMlused: GleanCounter;\n    mediadevicesEnumeratedevices: GleanCounter;\n    mediadevicesGetdisplaymedia: GleanCounter;\n    mediadevicesGetusermedia: GleanCounter;\n    mixedContentNotUpgradedAudioFailure: GleanCounter;\n    mixedContentNotUpgradedAudioSuccess: GleanCounter;\n    mixedContentNotUpgradedImageFailure: GleanCounter;\n    mixedContentNotUpgradedImageSuccess: GleanCounter;\n    mixedContentNotUpgradedVideoFailure: GleanCounter;\n    mixedContentNotUpgradedVideoSuccess: GleanCounter;\n    mixedContentUpgradedAudioFailure: GleanCounter;\n    mixedContentUpgradedAudioSuccess: GleanCounter;\n    mixedContentUpgradedImageFailure: GleanCounter;\n    mixedContentUpgradedImageSuccess: GleanCounter;\n    mixedContentUpgradedVideoFailure: GleanCounter;\n    mixedContentUpgradedVideoSuccess: GleanCounter;\n    mlsDeriveexporter: GleanCounter;\n    mlsGeneratecredentialbasic: GleanCounter;\n    mlsGeneratekeypackage: GleanCounter;\n    mlsGeneratesignaturekeypair: GleanCounter;\n    mlsGroupadd: GleanCounter;\n    mlsGroupclose: GleanCounter;\n    mlsGroupcreate: GleanCounter;\n    mlsGroupjoin: GleanCounter;\n    mlsGroupmembers: GleanCounter;\n    mlsGroupproposeadd: GleanCounter;\n    mlsGroupproposeremove: GleanCounter;\n    mlsGroupremove: GleanCounter;\n    mlsReceive: GleanCounter;\n    mlsSend: GleanCounter;\n    mlsStatedelete: GleanCounter;\n    mlsStatedeletegroup: GleanCounter;\n    navigatorMozgetusermedia: GleanCounter;\n    ondommousescroll: GleanCounter;\n    onmozmousepixelscroll: GleanCounter;\n    percentageStrokeWidthInSvg: GleanCounter;\n    percentageStrokeWidthInSvgtext: GleanCounter;\n    privateBrowsingCachesDelete: GleanCounter;\n    privateBrowsingCachesHas: GleanCounter;\n    privateBrowsingCachesKeys: GleanCounter;\n    privateBrowsingCachesMatch: GleanCounter;\n    privateBrowsingCachesOpen: GleanCounter;\n    privateBrowsingIdbfactoryDeleteDatabase: GleanCounter;\n    privateBrowsingIdbfactoryOpen: GleanCounter;\n    privateBrowsingNavigatorServiceWorker: GleanCounter;\n    pushmanagerSubscribe: GleanCounter;\n    pushsubscriptionUnsubscribe: GleanCounter;\n    rangeCreatecontextualfragment: GleanCounter;\n    sanitizerConstructor: GleanCounter;\n    sanitizerSanitize: GleanCounter;\n    schedulerPosttask: GleanCounter;\n    sectioningH1WithNoFontSizeOrMargins: GleanCounter;\n    svgsvgelementCurrentscaleGetter: GleanCounter;\n    svgsvgelementCurrentscaleSetter: GleanCounter;\n    svgsvgelementGetelementbyid: GleanCounter;\n    textDirectiveNotCreated: GleanCounter;\n    textDirectivePages: GleanCounter;\n    windowAbsoluteorientationsensor: GleanCounter;\n    windowAccelerometer: GleanCounter;\n    windowBackgroundfetchmanager: GleanCounter;\n    windowBackgroundfetchrecord: GleanCounter;\n    windowBackgroundfetchregistration: GleanCounter;\n    windowBeforeinstallpromptevent: GleanCounter;\n    windowBluetooth: GleanCounter;\n    windowBluetoothcharacteristicproperties: GleanCounter;\n    windowBluetoothdevice: GleanCounter;\n    windowBluetoothremotegattcharacteristic: GleanCounter;\n    windowBluetoothremotegattdescriptor: GleanCounter;\n    windowBluetoothremotegattserver: GleanCounter;\n    windowBluetoothremotegattservice: GleanCounter;\n    windowBluetoothuuid: GleanCounter;\n    windowCanvascapturemediastreamtrack: GleanCounter;\n    windowChrome: GleanCounter;\n    windowClipboarditem: GleanCounter;\n    windowCssimagevalue: GleanCounter;\n    windowCsskeywordvalue: GleanCounter;\n    windowCssmathclamp: GleanCounter;\n    windowCssmathinvert: GleanCounter;\n    windowCssmathmax: GleanCounter;\n    windowCssmathmin: GleanCounter;\n    windowCssmathnegate: GleanCounter;\n    windowCssmathproduct: GleanCounter;\n    windowCssmathsum: GleanCounter;\n    windowCssmathvalue: GleanCounter;\n    windowCssmatrixcomponent: GleanCounter;\n    windowCssnumericarray: GleanCounter;\n    windowCssnumericvalue: GleanCounter;\n    windowCssperspective: GleanCounter;\n    windowCsspositionvalue: GleanCounter;\n    windowCsspropertyrule: GleanCounter;\n    windowCssrotate: GleanCounter;\n    windowCssscale: GleanCounter;\n    windowCssskew: GleanCounter;\n    windowCssskewx: GleanCounter;\n    windowCssskewy: GleanCounter;\n    windowCssstylevalue: GleanCounter;\n    windowCsstransformcomponent: GleanCounter;\n    windowCsstransformvalue: GleanCounter;\n    windowCsstranslate: GleanCounter;\n    windowCssunitvalue: GleanCounter;\n    windowCssunparsedvalue: GleanCounter;\n    windowCssvariablereferencevalue: GleanCounter;\n    windowDefaultstatus: GleanCounter;\n    windowDevicemotioneventacceleration: GleanCounter;\n    windowDevicemotioneventrotationrate: GleanCounter;\n    windowDomerror: GleanCounter;\n    windowEncodedvideochunk: GleanCounter;\n    windowEnterpictureinpictureevent: GleanCounter;\n    windowExternal: GleanCounter;\n    windowFederatedcredential: GleanCounter;\n    windowGyroscope: GleanCounter;\n    windowHtmlcontentelement: GleanCounter;\n    windowHtmlshadowelement: GleanCounter;\n    windowImagecapture: GleanCounter;\n    windowInputdevicecapabilities: GleanCounter;\n    windowInputdeviceinfo: GleanCounter;\n    windowKeyboard: GleanCounter;\n    windowKeyboardlayoutmap: GleanCounter;\n    windowLinearaccelerationsensor: GleanCounter;\n    windowMediasettingsrange: GleanCounter;\n    windowMidiaccess: GleanCounter;\n    windowMidiconnectionevent: GleanCounter;\n    windowMidiinput: GleanCounter;\n    windowMidiinputmap: GleanCounter;\n    windowMidimessageevent: GleanCounter;\n    windowMidioutput: GleanCounter;\n    windowMidioutputmap: GleanCounter;\n    windowMidiport: GleanCounter;\n    windowNetworkinformation: GleanCounter;\n    windowOffscreenbuffering: GleanCounter;\n    windowOnbeforeinstallprompt: GleanCounter;\n    windowOncancel: GleanCounter;\n    windowOnmousewheel: GleanCounter;\n    windowOnorientationchange: GleanCounter;\n    windowOnsearch: GleanCounter;\n    windowOnselectionchange: GleanCounter;\n    windowOpenEmptyUrl: GleanCounter;\n    windowOpendatabase: GleanCounter;\n    windowOrientation: GleanCounter;\n    windowOrientationsensor: GleanCounter;\n    windowOverconstrainederror: GleanCounter;\n    windowPasswordcredential: GleanCounter;\n    windowPaymentaddress: GleanCounter;\n    windowPaymentinstruments: GleanCounter;\n    windowPaymentmanager: GleanCounter;\n    windowPaymentmethodchangeevent: GleanCounter;\n    windowPaymentrequest: GleanCounter;\n    windowPaymentrequestupdateevent: GleanCounter;\n    windowPaymentresponse: GleanCounter;\n    windowPerformancelongtasktiming: GleanCounter;\n    windowPhotocapabilities: GleanCounter;\n    windowPictureinpictureevent: GleanCounter;\n    windowPictureinpicturewindow: GleanCounter;\n    windowPresentation: GleanCounter;\n    windowPresentationavailability: GleanCounter;\n    windowPresentationconnection: GleanCounter;\n    windowPresentationconnectionavailableevent: GleanCounter;\n    windowPresentationconnectioncloseevent: GleanCounter;\n    windowPresentationconnectionlist: GleanCounter;\n    windowPresentationreceiver: GleanCounter;\n    windowPresentationrequest: GleanCounter;\n    windowRelativeorientationsensor: GleanCounter;\n    windowRemoteplayback: GleanCounter;\n    windowReport: GleanCounter;\n    windowReportbody: GleanCounter;\n    windowReportingobserver: GleanCounter;\n    windowRtcerror: GleanCounter;\n    windowRtcerrorevent: GleanCounter;\n    windowRtcicetransport: GleanCounter;\n    windowRtcpeerconnectioniceerrorevent: GleanCounter;\n    windowSensor: GleanCounter;\n    windowSensorerrorevent: GleanCounter;\n    windowSidebarGetter: GleanCounter;\n    windowSidebarSetter: GleanCounter;\n    windowSpeechrecognitionalternative: GleanCounter;\n    windowSpeechrecognitionresult: GleanCounter;\n    windowSpeechrecognitionresultlist: GleanCounter;\n    windowStylemedia: GleanCounter;\n    windowStylepropertymap: GleanCounter;\n    windowStylepropertymapreadonly: GleanCounter;\n    windowSvgdiscardelement: GleanCounter;\n    windowSyncmanager: GleanCounter;\n    windowTaskattributiontiming: GleanCounter;\n    windowTextevent: GleanCounter;\n    windowTouch: GleanCounter;\n    windowTouchevent: GleanCounter;\n    windowTouchlist: GleanCounter;\n    windowUsb: GleanCounter;\n    windowUsbalternateinterface: GleanCounter;\n    windowUsbconfiguration: GleanCounter;\n    windowUsbconnectionevent: GleanCounter;\n    windowUsbdevice: GleanCounter;\n    windowUsbendpoint: GleanCounter;\n    windowUsbinterface: GleanCounter;\n    windowUsbintransferresult: GleanCounter;\n    windowUsbisochronousintransferpacket: GleanCounter;\n    windowUsbisochronousintransferresult: GleanCounter;\n    windowUsbisochronousouttransferpacket: GleanCounter;\n    windowUsbisochronousouttransferresult: GleanCounter;\n    windowUsbouttransferresult: GleanCounter;\n    windowUseractivation: GleanCounter;\n    windowVideocolorspace: GleanCounter;\n    windowVideodecoder: GleanCounter;\n    windowVideoencoder: GleanCounter;\n    windowVideoframe: GleanCounter;\n    windowWakelock: GleanCounter;\n    windowWakelocksentinel: GleanCounter;\n    windowWebkitcancelanimationframe: GleanCounter;\n    windowWebkitmediastream: GleanCounter;\n    windowWebkitmutationobserver: GleanCounter;\n    windowWebkitrequestanimationframe: GleanCounter;\n    windowWebkitrequestfilesystem: GleanCounter;\n    windowWebkitresolvelocalfilesystemurl: GleanCounter;\n    windowWebkitrtcpeerconnection: GleanCounter;\n    windowWebkitspeechgrammar: GleanCounter;\n    windowWebkitspeechgrammarlist: GleanCounter;\n    windowWebkitspeechrecognition: GleanCounter;\n    windowWebkitspeechrecognitionerror: GleanCounter;\n    windowWebkitspeechrecognitionevent: GleanCounter;\n    windowWebkitstorageinfo: GleanCounter;\n    wrFilterFallback: GleanCounter;\n    xslstylesheet: GleanCounter;\n    xsltprocessorConstructor: GleanCounter;\n    youTubeFlashEmbed: GleanCounter;\n  }\n\n  useCounterPage: {\n    componentsShimResolved: GleanCounter;\n    consoleAssert: GleanCounter;\n    consoleClear: GleanCounter;\n    consoleCount: GleanCounter;\n    consoleCountreset: GleanCounter;\n    consoleDebug: GleanCounter;\n    consoleDir: GleanCounter;\n    consoleDirxml: GleanCounter;\n    consoleError: GleanCounter;\n    consoleException: GleanCounter;\n    consoleGroup: GleanCounter;\n    consoleGroupcollapsed: GleanCounter;\n    consoleGroupend: GleanCounter;\n    consoleInfo: GleanCounter;\n    consoleLog: GleanCounter;\n    consoleProfile: GleanCounter;\n    consoleProfileend: GleanCounter;\n    consoleTable: GleanCounter;\n    consoleTime: GleanCounter;\n    consoleTimeend: GleanCounter;\n    consoleTimelog: GleanCounter;\n    consoleTimestamp: GleanCounter;\n    consoleTrace: GleanCounter;\n    consoleWarn: GleanCounter;\n    cookiestoreDelete: GleanCounter;\n    cookiestoreGet: GleanCounter;\n    cookiestoreGetall: GleanCounter;\n    cookiestoreSet: GleanCounter;\n    customelementregistryDefine: GleanCounter;\n    customizedBuiltin: GleanCounter;\n    datatransferAddelement: GleanCounter;\n    datatransferMozcleardataat: GleanCounter;\n    datatransferMozcursorGetter: GleanCounter;\n    datatransferMozcursorSetter: GleanCounter;\n    datatransferMozgetdataat: GleanCounter;\n    datatransferMozitemcountGetter: GleanCounter;\n    datatransferMozitemcountSetter: GleanCounter;\n    datatransferMozsetdataat: GleanCounter;\n    datatransferMozsourcenodeGetter: GleanCounter;\n    datatransferMozsourcenodeSetter: GleanCounter;\n    datatransferMoztypesat: GleanCounter;\n    datatransferMozusercancelledGetter: GleanCounter;\n    datatransferMozusercancelledSetter: GleanCounter;\n    documentExecCommandContentReadOnly: GleanCounter;\n    documentMozsetimageelement: GleanCounter;\n    documentOpen: GleanCounter;\n    documentQueryCommandStateOrValueContentReadOnly: GleanCounter;\n    documentQueryCommandStateOrValueInsertBrOnReturn: GleanCounter;\n    documentQueryCommandSupportedOrEnabledContentReadOnly: GleanCounter;\n    documentQueryCommandSupportedOrEnabledInsertBrOnReturn: GleanCounter;\n    domparserParsefromstring: GleanCounter;\n    elementAttachshadow: GleanCounter;\n    elementReleasecapture: GleanCounter;\n    elementReleasepointercapture: GleanCounter;\n    elementSetcapture: GleanCounter;\n    elementSethtml: GleanCounter;\n    elementSetpointercapture: GleanCounter;\n    enumerateDevicesInsec: GleanCounter;\n    enumerateDevicesUnfocused: GleanCounter;\n    feBlend: GleanCounter;\n    feColorMatrix: GleanCounter;\n    feComponentTransfer: GleanCounter;\n    feComposite: GleanCounter;\n    feConvolveMatrix: GleanCounter;\n    feDiffuseLighting: GleanCounter;\n    feDisplacementMap: GleanCounter;\n    feFlood: GleanCounter;\n    feGaussianBlur: GleanCounter;\n    feImage: GleanCounter;\n    feMerge: GleanCounter;\n    feMorphology: GleanCounter;\n    feOffset: GleanCounter;\n    feSpecularLighting: GleanCounter;\n    feTile: GleanCounter;\n    feTurbulence: GleanCounter;\n    filteredCrossOriginIframe: GleanCounter;\n    getUserMediaInsec: GleanCounter;\n    getUserMediaUnfocused: GleanCounter;\n    htmldialogelementShow: GleanCounter;\n    htmldocumentCaretrangefrompoint: GleanCounter;\n    htmldocumentExitpictureinpicture: GleanCounter;\n    htmldocumentFeaturepolicy: GleanCounter;\n    htmldocumentNamedGetterHit: GleanCounter;\n    htmldocumentOnbeforecopy: GleanCounter;\n    htmldocumentOnbeforecut: GleanCounter;\n    htmldocumentOnbeforepaste: GleanCounter;\n    htmldocumentOncancel: GleanCounter;\n    htmldocumentOnfreeze: GleanCounter;\n    htmldocumentOnmousewheel: GleanCounter;\n    htmldocumentOnresume: GleanCounter;\n    htmldocumentOnsearch: GleanCounter;\n    htmldocumentOnwebkitfullscreenchange: GleanCounter;\n    htmldocumentOnwebkitfullscreenerror: GleanCounter;\n    htmldocumentPictureinpictureelement: GleanCounter;\n    htmldocumentPictureinpictureenabled: GleanCounter;\n    htmldocumentRegisterelement: GleanCounter;\n    htmldocumentWasdiscarded: GleanCounter;\n    htmldocumentWebkitcancelfullscreen: GleanCounter;\n    htmldocumentWebkitcurrentfullscreenelement: GleanCounter;\n    htmldocumentWebkitexitfullscreen: GleanCounter;\n    htmldocumentWebkitfullscreenelement: GleanCounter;\n    htmldocumentWebkitfullscreenenabled: GleanCounter;\n    htmldocumentWebkithidden: GleanCounter;\n    htmldocumentWebkitisfullscreen: GleanCounter;\n    htmldocumentWebkitvisibilitystate: GleanCounter;\n    htmldocumentXmlencoding: GleanCounter;\n    htmldocumentXmlstandalone: GleanCounter;\n    htmldocumentXmlversion: GleanCounter;\n    invalidTextDirectives: GleanCounter;\n    jsAsmjs: GleanCounter;\n    jsDateparse: GleanCounter;\n    jsDateparseImplDef: GleanCounter;\n    jsErrorCapturestacktrace: GleanCounter;\n    jsErrorCapturestacktraceCtor: GleanCounter;\n    jsErrorCapturestacktraceUncallableCtor: GleanCounter;\n    jsIcStubOom: GleanCounter;\n    jsIcStubTooLarge: GleanCounter;\n    jsIsHtmlddaFuse: GleanCounter;\n    jsLargeOomRecovered: GleanCounter;\n    jsLargeOomReported: GleanCounter;\n    jsLegacyLangSubtag: GleanCounter;\n    jsOptimizeArraySpeciesFuse: GleanCounter;\n    jsOptimizeGetIteratorFuse: GleanCounter;\n    jsOptimizePromiseLookupFuse: GleanCounter;\n    jsRegexpSymbolProtocolOnPrimitive: GleanCounter;\n    jsSmallOomRecovered: GleanCounter;\n    jsSmallOomReported: GleanCounter;\n    jsThenable: GleanCounter;\n    jsThenableObjectProto: GleanCounter;\n    jsThenableProto: GleanCounter;\n    jsThenableStandardProto: GleanCounter;\n    jsWasm: GleanCounter;\n    jsWasmLegacyExceptions: GleanCounter;\n    locationAncestororigins: GleanCounter;\n    mathMlused: GleanCounter;\n    mediadevicesEnumeratedevices: GleanCounter;\n    mediadevicesGetdisplaymedia: GleanCounter;\n    mediadevicesGetusermedia: GleanCounter;\n    mixedContentNotUpgradedAudioFailure: GleanCounter;\n    mixedContentNotUpgradedAudioSuccess: GleanCounter;\n    mixedContentNotUpgradedImageFailure: GleanCounter;\n    mixedContentNotUpgradedImageSuccess: GleanCounter;\n    mixedContentNotUpgradedVideoFailure: GleanCounter;\n    mixedContentNotUpgradedVideoSuccess: GleanCounter;\n    mixedContentUpgradedAudioFailure: GleanCounter;\n    mixedContentUpgradedAudioSuccess: GleanCounter;\n    mixedContentUpgradedImageFailure: GleanCounter;\n    mixedContentUpgradedImageSuccess: GleanCounter;\n    mixedContentUpgradedVideoFailure: GleanCounter;\n    mixedContentUpgradedVideoSuccess: GleanCounter;\n    mlsDeriveexporter: GleanCounter;\n    mlsGeneratecredentialbasic: GleanCounter;\n    mlsGeneratekeypackage: GleanCounter;\n    mlsGeneratesignaturekeypair: GleanCounter;\n    mlsGroupadd: GleanCounter;\n    mlsGroupclose: GleanCounter;\n    mlsGroupcreate: GleanCounter;\n    mlsGroupjoin: GleanCounter;\n    mlsGroupmembers: GleanCounter;\n    mlsGroupproposeadd: GleanCounter;\n    mlsGroupproposeremove: GleanCounter;\n    mlsGroupremove: GleanCounter;\n    mlsReceive: GleanCounter;\n    mlsSend: GleanCounter;\n    mlsStatedelete: GleanCounter;\n    mlsStatedeletegroup: GleanCounter;\n    navigatorMozgetusermedia: GleanCounter;\n    ondommousescroll: GleanCounter;\n    onmozmousepixelscroll: GleanCounter;\n    percentageStrokeWidthInSvg: GleanCounter;\n    percentageStrokeWidthInSvgtext: GleanCounter;\n    privateBrowsingCachesDelete: GleanCounter;\n    privateBrowsingCachesHas: GleanCounter;\n    privateBrowsingCachesKeys: GleanCounter;\n    privateBrowsingCachesMatch: GleanCounter;\n    privateBrowsingCachesOpen: GleanCounter;\n    privateBrowsingIdbfactoryDeleteDatabase: GleanCounter;\n    privateBrowsingIdbfactoryOpen: GleanCounter;\n    privateBrowsingNavigatorServiceWorker: GleanCounter;\n    pushmanagerSubscribe: GleanCounter;\n    pushsubscriptionUnsubscribe: GleanCounter;\n    rangeCreatecontextualfragment: GleanCounter;\n    sanitizerConstructor: GleanCounter;\n    sanitizerSanitize: GleanCounter;\n    schedulerPosttask: GleanCounter;\n    sectioningH1WithNoFontSizeOrMargins: GleanCounter;\n    svgsvgelementCurrentscaleGetter: GleanCounter;\n    svgsvgelementCurrentscaleSetter: GleanCounter;\n    svgsvgelementGetelementbyid: GleanCounter;\n    textDirectiveNotCreated: GleanCounter;\n    textDirectivePages: GleanCounter;\n    windowAbsoluteorientationsensor: GleanCounter;\n    windowAccelerometer: GleanCounter;\n    windowBackgroundfetchmanager: GleanCounter;\n    windowBackgroundfetchrecord: GleanCounter;\n    windowBackgroundfetchregistration: GleanCounter;\n    windowBeforeinstallpromptevent: GleanCounter;\n    windowBluetooth: GleanCounter;\n    windowBluetoothcharacteristicproperties: GleanCounter;\n    windowBluetoothdevice: GleanCounter;\n    windowBluetoothremotegattcharacteristic: GleanCounter;\n    windowBluetoothremotegattdescriptor: GleanCounter;\n    windowBluetoothremotegattserver: GleanCounter;\n    windowBluetoothremotegattservice: GleanCounter;\n    windowBluetoothuuid: GleanCounter;\n    windowCanvascapturemediastreamtrack: GleanCounter;\n    windowChrome: GleanCounter;\n    windowClipboarditem: GleanCounter;\n    windowCssimagevalue: GleanCounter;\n    windowCsskeywordvalue: GleanCounter;\n    windowCssmathclamp: GleanCounter;\n    windowCssmathinvert: GleanCounter;\n    windowCssmathmax: GleanCounter;\n    windowCssmathmin: GleanCounter;\n    windowCssmathnegate: GleanCounter;\n    windowCssmathproduct: GleanCounter;\n    windowCssmathsum: GleanCounter;\n    windowCssmathvalue: GleanCounter;\n    windowCssmatrixcomponent: GleanCounter;\n    windowCssnumericarray: GleanCounter;\n    windowCssnumericvalue: GleanCounter;\n    windowCssperspective: GleanCounter;\n    windowCsspositionvalue: GleanCounter;\n    windowCsspropertyrule: GleanCounter;\n    windowCssrotate: GleanCounter;\n    windowCssscale: GleanCounter;\n    windowCssskew: GleanCounter;\n    windowCssskewx: GleanCounter;\n    windowCssskewy: GleanCounter;\n    windowCssstylevalue: GleanCounter;\n    windowCsstransformcomponent: GleanCounter;\n    windowCsstransformvalue: GleanCounter;\n    windowCsstranslate: GleanCounter;\n    windowCssunitvalue: GleanCounter;\n    windowCssunparsedvalue: GleanCounter;\n    windowCssvariablereferencevalue: GleanCounter;\n    windowDefaultstatus: GleanCounter;\n    windowDevicemotioneventacceleration: GleanCounter;\n    windowDevicemotioneventrotationrate: GleanCounter;\n    windowDomerror: GleanCounter;\n    windowEncodedvideochunk: GleanCounter;\n    windowEnterpictureinpictureevent: GleanCounter;\n    windowExternal: GleanCounter;\n    windowFederatedcredential: GleanCounter;\n    windowGyroscope: GleanCounter;\n    windowHtmlcontentelement: GleanCounter;\n    windowHtmlshadowelement: GleanCounter;\n    windowImagecapture: GleanCounter;\n    windowInputdevicecapabilities: GleanCounter;\n    windowInputdeviceinfo: GleanCounter;\n    windowKeyboard: GleanCounter;\n    windowKeyboardlayoutmap: GleanCounter;\n    windowLinearaccelerationsensor: GleanCounter;\n    windowMediasettingsrange: GleanCounter;\n    windowMidiaccess: GleanCounter;\n    windowMidiconnectionevent: GleanCounter;\n    windowMidiinput: GleanCounter;\n    windowMidiinputmap: GleanCounter;\n    windowMidimessageevent: GleanCounter;\n    windowMidioutput: GleanCounter;\n    windowMidioutputmap: GleanCounter;\n    windowMidiport: GleanCounter;\n    windowNetworkinformation: GleanCounter;\n    windowOffscreenbuffering: GleanCounter;\n    windowOnbeforeinstallprompt: GleanCounter;\n    windowOncancel: GleanCounter;\n    windowOnmousewheel: GleanCounter;\n    windowOnorientationchange: GleanCounter;\n    windowOnsearch: GleanCounter;\n    windowOnselectionchange: GleanCounter;\n    windowOpenEmptyUrl: GleanCounter;\n    windowOpendatabase: GleanCounter;\n    windowOrientation: GleanCounter;\n    windowOrientationsensor: GleanCounter;\n    windowOverconstrainederror: GleanCounter;\n    windowPasswordcredential: GleanCounter;\n    windowPaymentaddress: GleanCounter;\n    windowPaymentinstruments: GleanCounter;\n    windowPaymentmanager: GleanCounter;\n    windowPaymentmethodchangeevent: GleanCounter;\n    windowPaymentrequest: GleanCounter;\n    windowPaymentrequestupdateevent: GleanCounter;\n    windowPaymentresponse: GleanCounter;\n    windowPerformancelongtasktiming: GleanCounter;\n    windowPhotocapabilities: GleanCounter;\n    windowPictureinpictureevent: GleanCounter;\n    windowPictureinpicturewindow: GleanCounter;\n    windowPresentation: GleanCounter;\n    windowPresentationavailability: GleanCounter;\n    windowPresentationconnection: GleanCounter;\n    windowPresentationconnectionavailableevent: GleanCounter;\n    windowPresentationconnectioncloseevent: GleanCounter;\n    windowPresentationconnectionlist: GleanCounter;\n    windowPresentationreceiver: GleanCounter;\n    windowPresentationrequest: GleanCounter;\n    windowRelativeorientationsensor: GleanCounter;\n    windowRemoteplayback: GleanCounter;\n    windowReport: GleanCounter;\n    windowReportbody: GleanCounter;\n    windowReportingobserver: GleanCounter;\n    windowRtcerror: GleanCounter;\n    windowRtcerrorevent: GleanCounter;\n    windowRtcicetransport: GleanCounter;\n    windowRtcpeerconnectioniceerrorevent: GleanCounter;\n    windowSensor: GleanCounter;\n    windowSensorerrorevent: GleanCounter;\n    windowSidebarGetter: GleanCounter;\n    windowSidebarSetter: GleanCounter;\n    windowSpeechrecognitionalternative: GleanCounter;\n    windowSpeechrecognitionresult: GleanCounter;\n    windowSpeechrecognitionresultlist: GleanCounter;\n    windowStylemedia: GleanCounter;\n    windowStylepropertymap: GleanCounter;\n    windowStylepropertymapreadonly: GleanCounter;\n    windowSvgdiscardelement: GleanCounter;\n    windowSyncmanager: GleanCounter;\n    windowTaskattributiontiming: GleanCounter;\n    windowTextevent: GleanCounter;\n    windowTouch: GleanCounter;\n    windowTouchevent: GleanCounter;\n    windowTouchlist: GleanCounter;\n    windowUsb: GleanCounter;\n    windowUsbalternateinterface: GleanCounter;\n    windowUsbconfiguration: GleanCounter;\n    windowUsbconnectionevent: GleanCounter;\n    windowUsbdevice: GleanCounter;\n    windowUsbendpoint: GleanCounter;\n    windowUsbinterface: GleanCounter;\n    windowUsbintransferresult: GleanCounter;\n    windowUsbisochronousintransferpacket: GleanCounter;\n    windowUsbisochronousintransferresult: GleanCounter;\n    windowUsbisochronousouttransferpacket: GleanCounter;\n    windowUsbisochronousouttransferresult: GleanCounter;\n    windowUsbouttransferresult: GleanCounter;\n    windowUseractivation: GleanCounter;\n    windowVideocolorspace: GleanCounter;\n    windowVideodecoder: GleanCounter;\n    windowVideoencoder: GleanCounter;\n    windowVideoframe: GleanCounter;\n    windowWakelock: GleanCounter;\n    windowWakelocksentinel: GleanCounter;\n    windowWebkitcancelanimationframe: GleanCounter;\n    windowWebkitmediastream: GleanCounter;\n    windowWebkitmutationobserver: GleanCounter;\n    windowWebkitrequestanimationframe: GleanCounter;\n    windowWebkitrequestfilesystem: GleanCounter;\n    windowWebkitresolvelocalfilesystemurl: GleanCounter;\n    windowWebkitrtcpeerconnection: GleanCounter;\n    windowWebkitspeechgrammar: GleanCounter;\n    windowWebkitspeechgrammarlist: GleanCounter;\n    windowWebkitspeechrecognition: GleanCounter;\n    windowWebkitspeechrecognitionerror: GleanCounter;\n    windowWebkitspeechrecognitionevent: GleanCounter;\n    windowWebkitstorageinfo: GleanCounter;\n    wrFilterFallback: GleanCounter;\n    xslstylesheet: GleanCounter;\n    xsltprocessorConstructor: GleanCounter;\n    youTubeFlashEmbed: GleanCounter;\n  }\n\n  useCounterWorkerDedicated: {\n    consoleAssert: GleanCounter;\n    consoleClear: GleanCounter;\n    consoleCount: GleanCounter;\n    consoleCountreset: GleanCounter;\n    consoleDebug: GleanCounter;\n    consoleDir: GleanCounter;\n    consoleDirxml: GleanCounter;\n    consoleError: GleanCounter;\n    consoleException: GleanCounter;\n    consoleGroup: GleanCounter;\n    consoleGroupcollapsed: GleanCounter;\n    consoleGroupend: GleanCounter;\n    consoleInfo: GleanCounter;\n    consoleLog: GleanCounter;\n    consoleProfile: GleanCounter;\n    consoleProfileend: GleanCounter;\n    consoleTable: GleanCounter;\n    consoleTime: GleanCounter;\n    consoleTimeend: GleanCounter;\n    consoleTimelog: GleanCounter;\n    consoleTimestamp: GleanCounter;\n    consoleTrace: GleanCounter;\n    consoleWarn: GleanCounter;\n    cookiestoreDelete: GleanCounter;\n    cookiestoreGet: GleanCounter;\n    cookiestoreGetall: GleanCounter;\n    cookiestoreSet: GleanCounter;\n    mlsDeriveexporter: GleanCounter;\n    mlsGeneratecredentialbasic: GleanCounter;\n    mlsGeneratekeypackage: GleanCounter;\n    mlsGeneratesignaturekeypair: GleanCounter;\n    mlsGroupadd: GleanCounter;\n    mlsGroupclose: GleanCounter;\n    mlsGroupcreate: GleanCounter;\n    mlsGroupjoin: GleanCounter;\n    mlsGroupmembers: GleanCounter;\n    mlsGroupproposeadd: GleanCounter;\n    mlsGroupproposeremove: GleanCounter;\n    mlsGroupremove: GleanCounter;\n    mlsReceive: GleanCounter;\n    mlsSend: GleanCounter;\n    mlsStatedelete: GleanCounter;\n    mlsStatedeletegroup: GleanCounter;\n    privateBrowsingCachesDelete: GleanCounter;\n    privateBrowsingCachesHas: GleanCounter;\n    privateBrowsingCachesKeys: GleanCounter;\n    privateBrowsingCachesMatch: GleanCounter;\n    privateBrowsingCachesOpen: GleanCounter;\n    privateBrowsingIdbfactoryDeleteDatabase: GleanCounter;\n    privateBrowsingIdbfactoryOpen: GleanCounter;\n    pushmanagerSubscribe: GleanCounter;\n    pushsubscriptionUnsubscribe: GleanCounter;\n    schedulerPosttask: GleanCounter;\n  }\n\n  useCounterWorkerService: {\n    consoleAssert: GleanCounter;\n    consoleClear: GleanCounter;\n    consoleCount: GleanCounter;\n    consoleCountreset: GleanCounter;\n    consoleDebug: GleanCounter;\n    consoleDir: GleanCounter;\n    consoleDirxml: GleanCounter;\n    consoleError: GleanCounter;\n    consoleException: GleanCounter;\n    consoleGroup: GleanCounter;\n    consoleGroupcollapsed: GleanCounter;\n    consoleGroupend: GleanCounter;\n    consoleInfo: GleanCounter;\n    consoleLog: GleanCounter;\n    consoleProfile: GleanCounter;\n    consoleProfileend: GleanCounter;\n    consoleTable: GleanCounter;\n    consoleTime: GleanCounter;\n    consoleTimeend: GleanCounter;\n    consoleTimelog: GleanCounter;\n    consoleTimestamp: GleanCounter;\n    consoleTrace: GleanCounter;\n    consoleWarn: GleanCounter;\n    cookiestoreDelete: GleanCounter;\n    cookiestoreGet: GleanCounter;\n    cookiestoreGetall: GleanCounter;\n    cookiestoreSet: GleanCounter;\n    mlsDeriveexporter: GleanCounter;\n    mlsGeneratecredentialbasic: GleanCounter;\n    mlsGeneratekeypackage: GleanCounter;\n    mlsGeneratesignaturekeypair: GleanCounter;\n    mlsGroupadd: GleanCounter;\n    mlsGroupclose: GleanCounter;\n    mlsGroupcreate: GleanCounter;\n    mlsGroupjoin: GleanCounter;\n    mlsGroupmembers: GleanCounter;\n    mlsGroupproposeadd: GleanCounter;\n    mlsGroupproposeremove: GleanCounter;\n    mlsGroupremove: GleanCounter;\n    mlsReceive: GleanCounter;\n    mlsSend: GleanCounter;\n    mlsStatedelete: GleanCounter;\n    mlsStatedeletegroup: GleanCounter;\n    privateBrowsingCachesDelete: GleanCounter;\n    privateBrowsingCachesHas: GleanCounter;\n    privateBrowsingCachesKeys: GleanCounter;\n    privateBrowsingCachesMatch: GleanCounter;\n    privateBrowsingCachesOpen: GleanCounter;\n    privateBrowsingIdbfactoryDeleteDatabase: GleanCounter;\n    privateBrowsingIdbfactoryOpen: GleanCounter;\n    pushmanagerSubscribe: GleanCounter;\n    pushsubscriptionUnsubscribe: GleanCounter;\n    schedulerPosttask: GleanCounter;\n  }\n\n  useCounterWorkerShared: {\n    consoleAssert: GleanCounter;\n    consoleClear: GleanCounter;\n    consoleCount: GleanCounter;\n    consoleCountreset: GleanCounter;\n    consoleDebug: GleanCounter;\n    consoleDir: GleanCounter;\n    consoleDirxml: GleanCounter;\n    consoleError: GleanCounter;\n    consoleException: GleanCounter;\n    consoleGroup: GleanCounter;\n    consoleGroupcollapsed: GleanCounter;\n    consoleGroupend: GleanCounter;\n    consoleInfo: GleanCounter;\n    consoleLog: GleanCounter;\n    consoleProfile: GleanCounter;\n    consoleProfileend: GleanCounter;\n    consoleTable: GleanCounter;\n    consoleTime: GleanCounter;\n    consoleTimeend: GleanCounter;\n    consoleTimelog: GleanCounter;\n    consoleTimestamp: GleanCounter;\n    consoleTrace: GleanCounter;\n    consoleWarn: GleanCounter;\n    cookiestoreDelete: GleanCounter;\n    cookiestoreGet: GleanCounter;\n    cookiestoreGetall: GleanCounter;\n    cookiestoreSet: GleanCounter;\n    mlsDeriveexporter: GleanCounter;\n    mlsGeneratecredentialbasic: GleanCounter;\n    mlsGeneratekeypackage: GleanCounter;\n    mlsGeneratesignaturekeypair: GleanCounter;\n    mlsGroupadd: GleanCounter;\n    mlsGroupclose: GleanCounter;\n    mlsGroupcreate: GleanCounter;\n    mlsGroupjoin: GleanCounter;\n    mlsGroupmembers: GleanCounter;\n    mlsGroupproposeadd: GleanCounter;\n    mlsGroupproposeremove: GleanCounter;\n    mlsGroupremove: GleanCounter;\n    mlsReceive: GleanCounter;\n    mlsSend: GleanCounter;\n    mlsStatedelete: GleanCounter;\n    mlsStatedeletegroup: GleanCounter;\n    privateBrowsingCachesDelete: GleanCounter;\n    privateBrowsingCachesHas: GleanCounter;\n    privateBrowsingCachesKeys: GleanCounter;\n    privateBrowsingCachesMatch: GleanCounter;\n    privateBrowsingCachesOpen: GleanCounter;\n    privateBrowsingIdbfactoryDeleteDatabase: GleanCounter;\n    privateBrowsingIdbfactoryOpen: GleanCounter;\n    pushmanagerSubscribe: GleanCounter;\n    pushsubscriptionUnsubscribe: GleanCounter;\n    schedulerPosttask: GleanCounter;\n  }\n\n  canvas: {\n    used2d: Record<\"false\"|\"true\", GleanCounter>;\n    webgl2Success: Record<\"false\"|\"true\", GleanCounter>;\n    webglAcclFailureId: Record<string, GleanCounter>;\n    webglFailureId: Record<string, GleanCounter>;\n    webglSuccess: Record<\"false\"|\"true\", GleanCounter>;\n    webglUsed: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  webcrypto: {\n    alg: GleanCustomDistribution;\n    extractableEnc: Record<\"false\"|\"true\", GleanCounter>;\n    extractableGenerate: Record<\"false\"|\"true\", GleanCounter>;\n    extractableImport: Record<\"false\"|\"true\", GleanCounter>;\n    extractableSig: Record<\"false\"|\"true\", GleanCounter>;\n    method: GleanCustomDistribution;\n    resolved: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  geolocation: {\n    accuracy: GleanCustomDistribution;\n    fallback: Record<\"none\"|\"on_error\"|\"on_timeout\", GleanCounter>;\n    linuxProvider: Record<\"geoclue\"|\"none\"|\"portal\", GleanBoolean>;\n    requestResult: Record<\"permission_denied\"|\"position_unavailable\"|\"success\"|\"timeout\", GleanCounter>;\n  }\n\n  localstorageDatabase: {\n    newObjectSetupTime: GleanTimingDistribution;\n    requestAllowToCloseResponseTime: GleanTimingDistribution;\n  }\n\n  localstorageRequest: {\n    prepareDatastoreProcessingTime: GleanTimingDistribution;\n    recvCancelCounter: GleanCounter;\n    sendCancelCounter: GleanCounter;\n  }\n\n  mediadrm: {\n    decryption: Record<\"has_hardware_clearlead\"|\"has_hardware_decryption\"|\"has_hdcp22_plus\"|\"has_software_clearlead\"|\"has_wmf\", GleanBoolean>;\n    emePlayback: GleanEventWithExtras<{ key_system?: string, played_time?: string, resolution?: string, video_codec?: string }>;\n  }\n\n  hls: {\n    canplayRequested: GleanCounter;\n    canplaySupported: GleanCounter;\n    mediaLoad: GleanEventWithExtras<{ media_extension?: string }>;\n  }\n\n  gmp: {\n    updateXmlFetchResult: Record<\"cert_pin_abort\"|\"cert_pin_failed\"|\"cert_pin_invalid\"|\"cert_pin_missing_data\"|\"cert_pin_net_request_error\"|\"cert_pin_net_timeout\"|\"cert_pin_success\"|\"cert_pin_unknown_error\"|\"cert_pin_xml_parse_error\"|\"content_sig_abort\"|\"content_sig_failed\"|\"content_sig_invalid\"|\"content_sig_missing_data\"|\"content_sig_net_request_error\"|\"content_sig_net_timeout\"|\"content_sig_success\"|\"content_sig_unknown_error\"|\"content_sig_xml_parse_error\", GleanCounter>;\n  }\n\n  media: {\n    audiblePlayTimePercent: Record<string, GleanCustomDistribution>;\n    codecUsed: Record<string, GleanCounter>;\n    elementInPageCount: GleanCounter;\n    error: GleanEventWithExtras<{ error_name?: string, error_type?: string, key_system?: string }>;\n    mediaPlayTime: Record<string, GleanTimingDistribution>;\n    mseSourceBufferType: Record<\"AudioAac\"|\"AudioMp2t\"|\"AudioMp4\"|\"AudioMpeg\"|\"AudioWebm\"|\"VideoHevc\"|\"VideoMp2t\"|\"VideoMp4\"|\"VideoWebm\", GleanCounter>;\n    mutedPlayTimePercent: Record<string, GleanCustomDistribution>;\n    videoClearkeyPlayTime: GleanTimingDistribution;\n    videoDroppedCompositorFramesProportionExponential: GleanCustomDistribution;\n    videoDroppedDecodedFramesProportionExponential: GleanCustomDistribution;\n    videoDroppedFramesProportion: GleanCustomDistribution;\n    videoDroppedFramesProportionExponential: GleanCustomDistribution;\n    videoDroppedSinkFramesProportionExponential: GleanCustomDistribution;\n    videoEncryptedPlayTime: GleanTimingDistribution;\n    videoHardwareDecodingSupport: Record<string, GleanBoolean>;\n    videoHdHardwareDecodingSupport: Record<string, GleanBoolean>;\n    videoHdrPlayTime: GleanTimingDistribution;\n    videoHiddenPlayTime: GleanTimingDistribution;\n    videoHiddenPlayTimePercentage: Record<string, GleanCustomDistribution>;\n    videoPlayTime: GleanTimingDistribution;\n    videoVisiblePlayTime: Record<string, GleanTimingDistribution>;\n    videoWidevinePlayTime: GleanTimingDistribution;\n    decoderBackendUsed: GleanCustomDistribution;\n  }\n\n  mediaAudio: {\n    backend: Record<\"aaudio\"|\"alsa\"|\"audiounit\"|\"audiounit-rust\"|\"jack\"|\"opensl\"|\"oss\"|\"pulse\"|\"pulse-rust\"|\"sndio\"|\"sunaudio\"|\"unknown\"|\"wasapi\"|\"winmm\", GleanCounter>;\n    initFailure: Record<\"first\"|\"other\", GleanCounter>;\n  }\n\n  mediaPlayback: {\n    decodeError: GleanEventWithExtras<{ decoder_name?: string, error_name?: string, is_hardware_accelerated?: string, key_system?: string, mime_type?: string }>;\n    deviceHardwareDecoderSupport: Record<\"av1\"|\"h264\"|\"hevc\"|\"vp8\"|\"vp9\", GleanBoolean>;\n    firstFrameLoaded: GleanEventWithExtras<{ buffering_time?: string, decoder_name?: string, first_frame_loaded_time?: string, hls_decoder?: string, is_hardware_decoding?: string, is_hdr?: string, key_system?: string, metadata_loaded_time?: string, playback_type?: string, resolution?: string, total_waiting_data_time?: string, video_codec?: string }>;\n    notSupportedVideoPerMimeType: Record<string, GleanCounter>;\n  }\n\n  mediaMp4Parse: {\n    numSampleDescriptionEntries: GleanCustomDistribution;\n    sampleDescriptionEntriesHaveMultipleCodecs: Record<\"false\"|\"true\", GleanCounter>;\n    sampleDescriptionEntriesHaveMultipleCrypto: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  mfcdm: {\n    emePlayback: GleanEventWithExtras<{ dropped_frames?: string, key_system?: string, played_time?: string, rendered_frames?: string, resolution?: string, video_codec?: string }>;\n    error: GleanEventWithExtras<{ audio_codec?: string, current_state?: string, error_name?: string, key_system?: string, platform_error?: string, resolution?: string, video_codec?: string }>;\n  }\n\n  codecStats: {\n    audioPreferredCodec: Record<string, GleanCounter>;\n    otherFecSignaled: Record<string, GleanCounter>;\n    ulpfecNegotiated: Record<\"negotiated\"|\"not_negotiated\", GleanCounter>;\n    videoPreferredCodec: Record<string, GleanCounter>;\n  }\n\n  rtcrtpsender: {\n    count: GleanDenominator;\n    countSetparametersCompat: GleanDenominator;\n    usedSendencodings: GleanNumerator;\n  }\n\n  rtcrtpsenderSetparameters: {\n    failLengthChanged: GleanNumerator;\n    failNoEncodings: GleanNumerator;\n    failNoGetparameters: GleanNumerator;\n    failNoTransactionid: GleanNumerator;\n    failOther: GleanNumerator;\n    failRidChanged: GleanNumerator;\n    failStaleTransactionid: GleanNumerator;\n    warnLengthChanged: GleanNumerator;\n    warnNoGetparameters: GleanNumerator;\n    warnNoTransactionid: GleanNumerator;\n  }\n\n  webrtc: {\n    audioQualityInboundBandwidthKbits: GleanCustomDistribution;\n    audioQualityInboundJitter: GleanTimingDistribution;\n    audioQualityInboundPacketlossRate: GleanCustomDistribution;\n    audioQualityOutboundJitter: GleanTimingDistribution;\n    audioQualityOutboundPacketlossRate: GleanCustomDistribution;\n    audioQualityOutboundRtt: GleanTimingDistribution;\n    avCallDuration: GleanTimingDistribution;\n    callCount3: GleanCounter;\n    callDuration: GleanTimingDistribution;\n    callType: GleanCustomDistribution;\n    datachannelNegotiated: Record<\"false\"|\"true\", GleanCounter>;\n    getUserMediaType: GleanCustomDistribution;\n    gmpInitSuccess: Record<\"false\"|\"true\", GleanCounter>;\n    h264Enabled: Record<\"false\"|\"true\", GleanCounter>;\n    hardwareH264Enabled: Record<\"false\"|\"true\", GleanCounter>;\n    hasH264Hardware: Record<\"false\"|\"true\", GleanCounter>;\n    maxAudioReceiveTrack: GleanCustomDistribution;\n    maxAudioSendTrack: GleanCustomDistribution;\n    maxVideoReceiveTrack: GleanCustomDistribution;\n    maxVideoSendTrack: GleanCustomDistribution;\n    renegotiations: GleanCustomDistribution;\n    softwareH264Enabled: Record<\"false\"|\"true\", GleanCounter>;\n    videoDecoderBitrateAvgPerCallKbps: GleanCustomDistribution;\n    videoDecoderBitrateStdDevPerCallKbps: GleanCustomDistribution;\n    videoDecoderDiscardedPacketsPerCallPpm: GleanCustomDistribution;\n    videoDecoderFramerate10xStdDevPerCall: GleanCustomDistribution;\n    videoDecoderFramerateAvgPerCall: GleanCustomDistribution;\n    videoEncoderBitrateAvgPerCallKbps: GleanCustomDistribution;\n    videoEncoderBitrateStdDevPerCallKbps: GleanCustomDistribution;\n    videoEncoderFramerate10xStdDevPerCall: GleanCustomDistribution;\n    videoEncoderFramerateAvgPerCall: GleanCustomDistribution;\n    videoQualityInboundBandwidthKbits: GleanCustomDistribution;\n    videoQualityInboundJitter: GleanTimingDistribution;\n    videoQualityInboundPacketlossRate: GleanCustomDistribution;\n    videoQualityOutboundJitter: GleanTimingDistribution;\n    videoQualityOutboundPacketlossRate: GleanCustomDistribution;\n    videoQualityOutboundRtt: GleanTimingDistribution;\n  }\n\n  webrtcSignaling: {\n    audioMsectionNegotiated: GleanEventWithExtras<{ codecs?: string, direction?: string, has_rtcp_mux?: string, pc_id?: string, pc_negotiation_count?: string, preferred_recv_codec?: string, preferred_send_codec?: string }>;\n    sdpNegotiated: GleanEventWithExtras<{ bundle_policy?: string, ice_transport_policy?: string, is_remote_ice_lite?: string, negotiation_count?: string, num_msections_audio_recvonly?: string, num_msections_audio_sendonly?: string, num_msections_audio_sendrecv?: string, num_msections_data?: string, num_msections_video_recvonly?: string, num_msections_video_sendonly?: string, num_msections_video_sendrecv?: string, num_transports?: string, pc_id?: string }>;\n    videoMsectionNegotiated: GleanEventWithExtras<{ codecs?: string, direction?: string, has_rtcp_mux?: string, num_send_simulcast_layers?: string, pc_id?: string, pc_negotiation_count?: string, preferred_recv_codec?: string, preferred_send_codec?: string }>;\n  }\n\n  webrtcVideo: {\n    recvCodecUsed: Record<string, GleanCounter>;\n    sendCodecUsed: Record<string, GleanCounter>;\n  }\n\n  webrtcdtls: {\n    cipher: Record<string, GleanCounter>;\n    clientHandshakeResult: Record<string, GleanCounter>;\n    clientHandshakeStartedCounter: GleanCounter;\n    protocolVersion: Record<string, GleanCounter>;\n    serverHandshakeResult: Record<string, GleanCounter>;\n    serverHandshakeStartedCounter: GleanCounter;\n    srtpCipher: Record<string, GleanCounter>;\n  }\n\n  dom: {\n    blinkFilesystemUsed: Record<\"false\"|\"true\", GleanCounter>;\n    forgetSkippableDuringIdle: GleanCustomDistribution;\n    forgetSkippableFrequency: GleanCustomDistribution;\n    fullscreenTransitionBlack: GleanTimingDistribution;\n    gcInProgress: GleanTimingDistribution;\n    gcSliceDuringIdle: GleanCustomDistribution;\n    innerwindowsWithMutationListeners: Record<\"false\"|\"true\", GleanCounter>;\n    scriptLoadingSource: Record<\"AltData\"|\"Inline\"|\"Source\"|\"SourceFallback\", GleanCounter>;\n    slowScriptNoticeCount: GleanCounter;\n    slowScriptPageCount: GleanCounter;\n    storageAccessApiUi: Record<\"Allow\"|\"AllowAutomatically\"|\"AllowOnAnySite\"|\"Deny\"|\"Request\", GleanCounter>;\n    webkitDirectoryUsed: Record<\"false\"|\"true\", GleanCounter>;\n    xmlhttprequestAsyncOrSync: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  domContentprocess: {\n    buildIdMismatch: GleanCounter;\n    buildIdMismatchFalsePositive: GleanCounter;\n    launchIsSync: Record<\"false\"|\"true\", GleanCounter>;\n    launchMainthread: GleanTimingDistribution;\n    launchTotal: GleanTimingDistribution;\n    osPriorityChangeConsidered: GleanCounter;\n    osPriorityLowered: GleanCounter;\n    osPriorityRaised: GleanCounter;\n    syncLaunch: GleanTimingDistribution;\n  }\n\n  domParentprocess: {\n    privateWindowUsed: GleanBoolean;\n    processLaunchErrors: Record<string, GleanCounter>;\n  }\n\n  domTextfragment: {\n    createDirective: GleanTimingDistribution;\n    findDirectives: GleanTimingDistribution;\n  }\n\n  perf: {\n    dnsFirstByte: Record<string, GleanTimingDistribution>;\n    dnsFirstContentfulPaint: Record<string, GleanTimingDistribution>;\n    h3pFirstContentfulPaint: Record<string, GleanTimingDistribution>;\n    h3pPageLoadTime: Record<string, GleanTimingDistribution>;\n    http3FirstContentfulPaint: Record<string, GleanTimingDistribution>;\n    http3PageLoadTime: Record<string, GleanTimingDistribution>;\n    largestContentfulPaint: GleanTimingDistribution;\n    largestContentfulPaintFromResponseStart: GleanTimingDistribution;\n    pageLoad: GleanEventWithExtras<{ delazify_time?: string, dns_lookup_time?: string, fcp_time?: string, features?: string, has_ssd?: string, http_ver?: string, js_exec_time?: string, lcp_time?: string, load_time?: string, load_type?: string, redirect_count?: string, redirect_time?: string, response_time?: string, same_origin_nav?: string, time_to_request_start?: string, tls_handshake_time?: string, trr_domain?: string, using_webdriver?: string }>;\n  }\n\n  performancePageload: {\n    fcp: GleanTimingDistribution;\n    fcpResponsestart: GleanTimingDistribution;\n    h3pFcpWithPriority: GleanTimingDistribution;\n    http3FcpHttp3: GleanTimingDistribution;\n    http3FcpSupportsHttp3: GleanTimingDistribution;\n    http3FcpWithoutPriority: GleanTimingDistribution;\n    loadTime: GleanTimingDistribution;\n    loadTimeResponsestart: GleanTimingDistribution;\n  }\n\n  performanceTime: {\n    domComplete: GleanTimingDistribution;\n    domContentLoadedEnd: GleanTimingDistribution;\n    domContentLoadedStart: GleanTimingDistribution;\n    domInteractive: GleanTimingDistribution;\n    loadEventEnd: GleanTimingDistribution;\n    loadEventStart: GleanTimingDistribution;\n    toDomLoading: GleanTimingDistribution;\n    toFirstContentfulPaint: GleanTimingDistribution;\n    responseStart: GleanTimingDistribution;\n  }\n\n  webNotification: {\n    iconUrlEncoding: Record<\"document_charset\"|\"either_way\"|\"neither_way\"|\"utf8\", GleanCounter>;\n    insecureContextPermissionRequest: GleanCounter;\n    permissionOrigin: Record<\"first_party\"|\"nested_first_party\"|\"third_party\", GleanCounter>;\n    requestPermissionOrigin: Record<\"first_party\"|\"nested_first_party\"|\"third_party\", GleanCounter>;\n    showOrigin: Record<\"first_party\"|\"nested_first_party\"|\"third_party\", GleanCounter>;\n  }\n\n  screenwakelock: {\n    heldDuration: GleanTimingDistribution;\n    releaseBatteryLevelDischarging: GleanCustomDistribution;\n  }\n\n  webPush: {\n    apiNotify: GleanCounter;\n    contentEncoding: Record<\"aes128gcm\"|\"aesgcm\", GleanCounter>;\n    detectedDuplicatedMessageIds: GleanCounter;\n    errorCode: Record<\"decryption_error\"|\"internal_error\"|\"not_delivered\"|\"uncaught_exception\"|\"unhandled_rejection\", GleanCounter>;\n    unsubscribedByClearingData: GleanCounter;\n  }\n\n  domQuota: {\n    infoLoadTime: Record<string, GleanTimingDistribution>;\n    shutdownTime: Record<string, GleanTimingDistribution>;\n  }\n\n  domQuotaTry: {\n    errorStep: GleanEventWithExtras<{ context?: string, frame_id?: string, process_id?: string, result?: string, seq?: string, severity?: string, source_file?: string, source_line?: string, stack_id?: string }>;\n  }\n\n  quotamanager: {\n    restoreOriginDirectoryMetadataCounter: GleanCounter;\n  }\n\n  quotamanagerInitializeRepository: {\n    numberOfIterations: Record<\"default\"|\"persistent\"|\"private\"|\"temporary\", GleanCustomDistribution>;\n  }\n\n  quotamanagerInitializeTemporarystorage: {\n    totalTimeExcludingSuspend: GleanTimingDistribution;\n  }\n\n  quotamanagerShutdown: {\n    totalTimeExcludingSuspend: GleanTimingDistribution;\n  }\n\n  httpsfirst: {\n    downgradeTime: GleanTimingDistribution;\n    downgradeTimeSchemeless: GleanTimingDistribution;\n    downgraded: GleanDenominator;\n    downgradedOnTimer: GleanNumerator;\n    downgradedOnTimerSchemeless: GleanNumerator;\n    downgradedSchemeless: GleanDenominator;\n    upgraded: GleanCounter;\n    upgradedSchemeless: GleanCounter;\n  }\n\n  mixedContent: {\n    audio: Record<\"AudioNoUpFailure\"|\"AudioNoUpSuccess\"|\"AudioUpFailure\"|\"AudioUpSuccess\", GleanCounter>;\n    hsts: GleanCustomDistribution;\n    images: Record<\"ImgNoUpFailure\"|\"ImgNoUpSuccess\"|\"ImgUpFailure\"|\"ImgUpSuccess\", GleanCounter>;\n    pageLoad: GleanCustomDistribution;\n    unblockCounter: GleanCustomDistribution;\n    video: Record<\"VideoNoUpFailure\"|\"VideoNoUpSuccess\"|\"VideoUpFailure\"|\"VideoUpSuccess\", GleanCounter>;\n  }\n\n  securityUi: {\n    events: GleanCustomDistribution;\n  }\n\n  serviceWorker: {\n    fetchEventChannelReset: Record<string, GleanTimingDistribution>;\n    fetchEventDispatch: Record<string, GleanTimingDistribution>;\n    fetchEventFinishSynthesizedResponse: Record<string, GleanTimingDistribution>;\n    fetchInterceptionDuration: Record<string, GleanTimingDistribution>;\n    isolatedLaunchTime: GleanTimingDistribution;\n    launchTime: GleanTimingDistribution;\n    registrationLoading: GleanTimingDistribution;\n    running: Record<\"All\"|\"Fetch\", GleanCustomDistribution>;\n  }\n\n  localdomstorage: {\n    preloadPendingOnFirstAccess: Record<\"false\"|\"true\", GleanCounter>;\n    shutdownDatabase: GleanTimingDistribution;\n  }\n\n  webauthnCreate: {\n    authenticatorAttachment: Record<\"cross-platform\"|\"platform\"|\"unknown\", GleanCounter>;\n    failure: GleanCounter;\n    passkey: GleanCounter;\n    success: GleanCounter;\n  }\n\n  webauthnGet: {\n    authenticatorAttachment: Record<\"cross-platform\"|\"platform\"|\"unknown\", GleanCounter>;\n    failure: GleanCounter;\n    success: GleanCounter;\n  }\n\n  workers: {\n    dedicatedWorkerSpawnGetsQueued: GleanCounter;\n    serviceWorkerSpawnGetsQueued: GleanCounter;\n    sharedWorkerSpawnGetsQueued: GleanCounter;\n    syncWorkerOperation: Record<string, GleanTimingDistribution>;\n  }\n\n  htmleditors: {\n    overriddenByBeforeinputListeners: Record<\"false\"|\"true\", GleanCounter>;\n    withBeforeinputListeners: Record<\"false\"|\"true\", GleanCounter>;\n    withMutationListenersWithoutBeforeinputListeners: Record<\"false\"|\"true\", GleanCounter>;\n    withMutationObserversWithoutBeforeinputListeners: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  permissions: {\n    defectiveSqlRemoved: GleanCounter;\n    sqlCorrupted: GleanCounter;\n  }\n\n  apzZoom: {\n    activity: Record<\"false\"|\"true\", GleanCounter>;\n    pinchsource: GleanCustomDistribution;\n  }\n\n  fontlist: {\n    badFallbackFont: Record<\"false\"|\"true\", GleanCounter>;\n    bundledfontsActivate: GleanTimingDistribution;\n    dwritefontDelayedinitCollect: GleanTimingDistribution;\n    dwritefontDelayedinitCount: GleanCustomDistribution;\n    dwritefontDelayedinitTotal: GleanTimingDistribution;\n    dwritefontInitProblem: GleanCustomDistribution;\n    fontCacheHit: Record<\"false\"|\"true\", GleanCounter>;\n    initfacenamelists: GleanTimingDistribution;\n    initotherfamilynames: GleanTimingDistribution;\n    initotherfamilynamesNoDeferring: GleanTimingDistribution;\n    macInitTotal: GleanTimingDistribution;\n    systemFontFallback: GleanTimingDistribution;\n    systemFontFallbackFirst: GleanTimingDistribution;\n  }\n\n  gfx: {\n    compositeFrameRoundtripTime: GleanTimingDistribution;\n    compositeSwapTime: GleanCustomDistribution;\n    compositeTime: GleanTimingDistribution;\n    contentFailedToAcquireDevice: GleanCustomDistribution;\n    crash: GleanCustomDistribution;\n    deviceResetReason: GleanCustomDistribution;\n    forcedDeviceResetReason: GleanCustomDistribution;\n    graphicsDriverStartupTest: GleanCustomDistribution;\n    linuxWindowProtocol: GleanString;\n    macosVideoLowPower: Record<\"FailBacking\"|\"FailEnqueue\"|\"FailMacOSVersion\"|\"FailMultipleVideo\"|\"FailOverlaid\"|\"FailPref\"|\"FailSurface\"|\"FailWindowed\"|\"LowPower\"|\"NotVideo\", GleanCounter>;\n    osCompositor: GleanBoolean;\n    sanityTest: GleanCustomDistribution;\n    scrollPresentLatency: GleanTimingDistribution;\n    skippedComposites: GleanCounter;\n    supportsHdr: GleanBoolean;\n    adapters: GleanObject;\n    contentBackend: GleanString;\n    d2dEnabled: GleanBoolean;\n    dwriteEnabled: GleanBoolean;\n    headless: GleanBoolean;\n    monitors: GleanObject;\n    targetFrameRate: GleanQuantity;\n    textScaleFactor: GleanString;\n  }\n\n  gfxAdapterPrimary: {\n    description: GleanString;\n    deviceId: GleanString;\n    driverDate: GleanString;\n    driverFiles: GleanString;\n    driverVendor: GleanString;\n    driverVersion: GleanString;\n    ram: GleanQuantity;\n    subsystemId: GleanString;\n    vendorId: GleanString;\n  }\n\n  gfxCheckerboard: {\n    duration: GleanTimingDistribution;\n    peakPixelCount: GleanCustomDistribution;\n    potentialDuration: GleanTimingDistribution;\n    severity: GleanCustomDistribution;\n  }\n\n  gfxContent: {\n    fullPaintTime: GleanTimingDistribution;\n    largePaintPhaseWeightFull: Record<\"dl\"|\"fb\"|\"sb\"|\"wrdl\", GleanCustomDistribution>;\n    largePaintPhaseWeightPartial: Record<\"dl\"|\"fb\"|\"sb\"|\"wrdl\", GleanCustomDistribution>;\n    paintTime: GleanTimingDistribution;\n    smallPaintPhaseWeightFull: Record<\"dl\"|\"fb\"|\"sb\"|\"wrdl\", GleanCustomDistribution>;\n    smallPaintPhaseWeightPartial: Record<\"dl\"|\"fb\"|\"sb\"|\"wrdl\", GleanCustomDistribution>;\n  }\n\n  gfxContentFrameTime: {\n    fromPaint: GleanCustomDistribution;\n    fromVsync: GleanCustomDistribution;\n    reason: Record<\"missed_composite\"|\"missed_composite_long\"|\"missed_composite_low\"|\"missed_composite_mid\"|\"no_vsync\"|\"no_vsync_no_id\"|\"on_time\"|\"slow_composite\", GleanCounter>;\n    withSvg: GleanCustomDistribution;\n    withoutResourceUpload: GleanCustomDistribution;\n    withoutUpload: GleanCustomDistribution;\n  }\n\n  gfxDisplay: {\n    count: GleanQuantity;\n    primaryHeight: GleanQuantity;\n    primaryWidth: GleanQuantity;\n    scaling: GleanCustomDistribution;\n  }\n\n  gfxFeature: {\n    webrender: GleanString;\n  }\n\n  gfxHdr: {\n    windowsDisplayColorspaceBitfield: GleanQuantity;\n  }\n\n  gfxStatus: {\n    compositor: GleanString;\n    headless: GleanBoolean;\n    lastCompositorGeckoVersion: GleanString;\n  }\n\n  gpuProcess: {\n    crashFallbacks: Record<\"decoding_disabled\"|\"disabled\"|\"none\", GleanCounter>;\n    featureStatus: GleanString;\n    initializationTime: GleanTimingDistribution;\n    launchTime: GleanTimingDistribution;\n    totalLaunchAttempts: GleanQuantity;\n    unstableLaunchAttempts: GleanQuantity;\n  }\n\n  paint: {\n    buildDisplaylistTime: GleanTimingDistribution;\n  }\n\n  webfont: {\n    compressionWoff: GleanCustomDistribution;\n    compressionWoff2: GleanCustomDistribution;\n    downloadTime: GleanTimingDistribution;\n    fonttype: GleanCustomDistribution;\n    perPage: GleanCounter;\n    size: GleanMemoryDistribution;\n    sizePerPage: GleanMemoryDistribution;\n    srctype: GleanCustomDistribution;\n  }\n\n  wr: {\n    framebuildTime: GleanTimingDistribution;\n    gpuWaitTime: GleanTimingDistribution;\n    rasterizeBlobsTime: GleanTimingDistribution;\n    rasterizeGlyphsTime: GleanTimingDistribution;\n    rendererTime: GleanTimingDistribution;\n    rendererTimeNoSc: GleanTimingDistribution;\n    scenebuildTime: GleanTimingDistribution;\n    sceneswapTime: GleanTimingDistribution;\n    shaderloadTime: GleanTimingDistribution;\n    textureCacheUpdateTime: GleanTimingDistribution;\n    timeToFrameBuild: GleanTimingDistribution;\n    timeToRenderStart: GleanTimingDistribution;\n  }\n\n  avif: {\n    a1lx: Record<\"absent\"|\"present\", GleanCounter>;\n    a1op: Record<\"absent\"|\"present\", GleanCounter>;\n    alpha: Record<\"absent\"|\"present\", GleanCounter>;\n    aomDecodeError: Record<\"abi_mismatch\"|\"corrupt_frame\"|\"error\"|\"incapable\"|\"invalid_param\"|\"mem_error\"|\"unsup_bitstream\"|\"unsup_feature\", GleanCounter>;\n    bitDepth: Record<\"color_10\"|\"color_12\"|\"color_16\"|\"color_8\"|\"unknown\", GleanCounter>;\n    cicpCp: Record<\"bt2020\"|\"bt470bg\"|\"bt470m\"|\"bt601\"|\"bt709\"|\"ebu3213\"|\"generic_film\"|\"reserved\"|\"reserved_13\"|\"reserved_14\"|\"reserved_15\"|\"reserved_16\"|\"reserved_17\"|\"reserved_18\"|\"reserved_19\"|\"reserved_20\"|\"reserved_21\"|\"reserved_3\"|\"reserved_rest\"|\"smpte240\"|\"smpte431\"|\"smpte432\"|\"unspecified\"|\"xyz\", GleanCounter>;\n    cicpMc: Record<\"bt2020_cl\"|\"bt2020_ncl\"|\"bt470bg\"|\"bt601\"|\"bt709\"|\"chromat_cl\"|\"chromat_ncl\"|\"fcc\"|\"ictcp\"|\"identity\"|\"reserved\"|\"reserved_rest\"|\"smpte2085\"|\"smpte240\"|\"unspecified\"|\"ycgco\", GleanCounter>;\n    cicpTc: Record<\"bt2020_10bit\"|\"bt2020_12bit\"|\"bt470bg\"|\"bt470m\"|\"bt601\"|\"bt709\"|\"bt_1361\"|\"hlg\"|\"iec61966\"|\"linear\"|\"log_100\"|\"log_100_sqrt10\"|\"reserved\"|\"reserved_3\"|\"reserved_rest\"|\"smpte2084\"|\"smpte240\"|\"smpte428\"|\"srgb\"|\"unspecified\", GleanCounter>;\n    clap: Record<\"absent\"|\"present\", GleanCounter>;\n    colr: Record<\"absent\"|\"both\"|\"icc\"|\"nclx\", GleanCounter>;\n    dav1dGetPictureReturnValue: GleanEventWithExtras<{ value?: string }>;\n    decodeResult: Record<\"ConvertYCbCr_failure\"|\"a1lx_essential\"|\"a1op_no_essential\"|\"alpha_y_bpc_mismatch\"|\"alpha_y_sz_mismatch\"|\"construction_method\"|\"decode_error\"|\"frame_size_changed\"|\"ftyp_not_first\"|\"image_item_type\"|\"invalid_cicp\"|\"invalid_parse_status\"|\"ispe_mismatch\"|\"item_loc_not_found\"|\"item_type_missing\"|\"lsel_no_essential\"|\"missing_brand\"|\"multiple_moov\"|\"no_image\"|\"no_item_data_box\"|\"no_moov\"|\"no_primary_item\"|\"no_samples\"|\"out_of_memory\"|\"parse_error\"|\"pipe_init_error\"|\"render_size_mismatch\"|\"size_overflow\"|\"success\"|\"txform_no_essential\"|\"uncategorized\"|\"write_buffer_error\", GleanCounter>;\n    decoder: Record<\"aom\"|\"dav1d\", GleanCounter>;\n    grid: Record<\"absent\"|\"present\", GleanCounter>;\n    ipro: Record<\"absent\"|\"present\", GleanCounter>;\n    ispe: Record<\"absent\"|\"bitstream_mismatch\"|\"valid\", GleanCounter>;\n    lsel: Record<\"absent\"|\"present\", GleanCounter>;\n    majorBrand: Record<\"avif\"|\"avis\"|\"other\", GleanCounter>;\n    pasp: Record<\"absent\"|\"invalid\"|\"nonsquare\"|\"square\", GleanCounter>;\n    pixi: Record<\"absent\"|\"bitstream_mismatch\"|\"valid\", GleanCounter>;\n    sequence: Record<\"absent\"|\"present\", GleanCounter>;\n    yuvColorSpace: Record<\"bt2020\"|\"bt601\"|\"bt709\"|\"identity\"|\"unknown\", GleanCounter>;\n  }\n\n  imageDecode: {\n    chunks: GleanCustomDistribution;\n    count: GleanCustomDistribution;\n    onDrawLatency: GleanTimingDistribution;\n    speedAvif: GleanMemoryDistribution;\n    speedGif: GleanMemoryDistribution;\n    speedJpeg: GleanMemoryDistribution;\n    speedPng: GleanMemoryDistribution;\n    speedWebp: GleanMemoryDistribution;\n    time: GleanTimingDistribution;\n  }\n\n  intl: {\n    acceptLanguages: GleanStringList;\n    appLocales: GleanStringList;\n    availableLocales: GleanStringList;\n    regionalPrefsLocales: GleanStringList;\n    requestedLocales: GleanStringList;\n    systemLocales: GleanStringList;\n  }\n\n  ipc: {\n    transactionCancel: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  process: {\n    childLaunch: GleanTimingDistribution;\n  }\n\n  subprocess: {\n    abnormalAbort: Record<string, GleanCounter>;\n    crashesWithDump: Record<string, GleanCounter>;\n    killHard: Record<string, GleanCounter>;\n    launchFailure: Record<string, GleanCounter>;\n  }\n\n  javascriptGc: {\n    animation: GleanTimingDistribution;\n    budget: GleanTimingDistribution;\n    budgetOverrun: GleanTimingDistribution;\n    budgetWasIncreased: Record<\"false\"|\"true\", GleanCounter>;\n    compactTime: GleanTimingDistribution;\n    effectiveness: GleanCustomDistribution;\n    isZoneGc: Record<\"false\"|\"true\", GleanCounter>;\n    markGray: GleanTimingDistribution;\n    markRate: GleanCustomDistribution;\n    markRootsTime: GleanTimingDistribution;\n    markTime: GleanTimingDistribution;\n    markWeak: GleanTimingDistribution;\n    maxPause: GleanTimingDistribution;\n    minorReason: Record<\"ABORT_GC\"|\"ALLOC_TRIGGER\"|\"API\"|\"BG_TASK_FINISHED\"|\"CC_FINISHED\"|\"CC_FORCED\"|\"COMPARTMENT_REVIVED\"|\"COMPONENT_UTILS\"|\"DEBUG_GC\"|\"DESTROY_RUNTIME\"|\"DISABLE_GENERATIONAL_GC\"|\"DOCSHELL\"|\"DOM_IPC\"|\"DOM_TESTUTILS\"|\"DOM_UTILS\"|\"DOM_WINDOW_UTILS\"|\"DOM_WORKER\"|\"EAGER_ALLOC_TRIGGER\"|\"EAGER_NURSERY_COLLECTION\"|\"EVICT_NURSERY\"|\"FINISH_GC\"|\"FULL_CELL_PTR_BIGINT_BUFFER\"|\"FULL_CELL_PTR_OBJ_BUFFER\"|\"FULL_CELL_PTR_STR_BUFFER\"|\"FULL_GC_TIMER\"|\"FULL_GENERIC_BUFFER\"|\"FULL_SHAPE_BUFFER\"|\"FULL_SLOT_BUFFER\"|\"FULL_VALUE_BUFFER\"|\"FULL_WASM_ANYREF_BUFFER\"|\"FULL_WHOLE_CELL_BUFFER\"|\"HTML_PARSER\"|\"INTER_SLICE_GC\"|\"LAST_DITCH\"|\"LOAD_END\"|\"MEM_PRESSURE\"|\"NSJSCONTEXT_DESTROY\"|\"NURSERY_MALLOC_BUFFERS\"|\"NURSERY_TRAILERS\"|\"OUT_OF_NURSERY\"|\"PAGE_HIDE\"|\"PREPARE_FOR_PAGELOAD\"|\"PREPARE_FOR_TRACING\"|\"RESET\"|\"ROOTS_REMOVED\"|\"SET_DOC_SHELL\"|\"SHARED_MEMORY_LIMIT\"|\"SHUTDOWN_CC\"|\"TOO_MUCH_JIT_CODE\"|\"TOO_MUCH_MALLOC\"|\"TOO_MUCH_WASM_MEMORY\"|\"UNUSED1\"|\"UNUSED2\"|\"UNUSED3\"|\"USER_INACTIVE\"|\"WORKER_SHUTDOWN\"|\"XPCONNECT_SHUTDOWN\", GleanCounter>;\n    minorReasonLong: Record<\"ABORT_GC\"|\"ALLOC_TRIGGER\"|\"API\"|\"BG_TASK_FINISHED\"|\"CC_FINISHED\"|\"CC_FORCED\"|\"COMPARTMENT_REVIVED\"|\"COMPONENT_UTILS\"|\"DEBUG_GC\"|\"DESTROY_RUNTIME\"|\"DISABLE_GENERATIONAL_GC\"|\"DOCSHELL\"|\"DOM_IPC\"|\"DOM_TESTUTILS\"|\"DOM_UTILS\"|\"DOM_WINDOW_UTILS\"|\"DOM_WORKER\"|\"EAGER_ALLOC_TRIGGER\"|\"EAGER_NURSERY_COLLECTION\"|\"EVICT_NURSERY\"|\"FINISH_GC\"|\"FULL_CELL_PTR_BIGINT_BUFFER\"|\"FULL_CELL_PTR_OBJ_BUFFER\"|\"FULL_CELL_PTR_STR_BUFFER\"|\"FULL_GC_TIMER\"|\"FULL_GENERIC_BUFFER\"|\"FULL_SHAPE_BUFFER\"|\"FULL_SLOT_BUFFER\"|\"FULL_VALUE_BUFFER\"|\"FULL_WASM_ANYREF_BUFFER\"|\"FULL_WHOLE_CELL_BUFFER\"|\"HTML_PARSER\"|\"INTER_SLICE_GC\"|\"LAST_DITCH\"|\"LOAD_END\"|\"MEM_PRESSURE\"|\"NSJSCONTEXT_DESTROY\"|\"NURSERY_MALLOC_BUFFERS\"|\"NURSERY_TRAILERS\"|\"OUT_OF_NURSERY\"|\"PAGE_HIDE\"|\"PREPARE_FOR_PAGELOAD\"|\"PREPARE_FOR_TRACING\"|\"RESET\"|\"ROOTS_REMOVED\"|\"SET_DOC_SHELL\"|\"SHARED_MEMORY_LIMIT\"|\"SHUTDOWN_CC\"|\"TOO_MUCH_JIT_CODE\"|\"TOO_MUCH_MALLOC\"|\"TOO_MUCH_WASM_MEMORY\"|\"UNUSED1\"|\"UNUSED2\"|\"UNUSED3\"|\"USER_INACTIVE\"|\"WORKER_SHUTDOWN\"|\"XPCONNECT_SHUTDOWN\", GleanCounter>;\n    minorTime: GleanTimingDistribution;\n    mmu50: GleanCustomDistribution;\n    nonIncremental: Record<\"false\"|\"true\", GleanCounter>;\n    nonIncrementalReason: Record<\"AbortRequested\"|\"CompartmentRevived\"|\"GCBytesTrigger\"|\"GrayRootBufferingFailed\"|\"IncrementalDisabled\"|\"JitCodeBytesTrigger\"|\"MallocBytesTrigger\"|\"ModeChange\"|\"NonIncrementalRequested\"|\"None\"|\"Unused1\"|\"ZoneChange\", GleanCounter>;\n    nurseryBytes: GleanMemoryDistribution;\n    nurseryPromotionRate: GleanCustomDistribution;\n    parallelMarkInterruptions: GleanCustomDistribution;\n    parallelMarkSpeedup: GleanCustomDistribution;\n    parallelMarkUsed: Record<\"false\"|\"true\", GleanCounter>;\n    parallelMarkUtilization: GleanCustomDistribution;\n    prepareTime: GleanTimingDistribution;\n    pretenureCount: GleanCustomDistribution;\n    reason: Record<\"ABORT_GC\"|\"ALLOC_TRIGGER\"|\"API\"|\"BG_TASK_FINISHED\"|\"CC_FINISHED\"|\"CC_FORCED\"|\"COMPARTMENT_REVIVED\"|\"COMPONENT_UTILS\"|\"DEBUG_GC\"|\"DESTROY_RUNTIME\"|\"DISABLE_GENERATIONAL_GC\"|\"DOCSHELL\"|\"DOM_IPC\"|\"DOM_TESTUTILS\"|\"DOM_UTILS\"|\"DOM_WINDOW_UTILS\"|\"DOM_WORKER\"|\"EAGER_ALLOC_TRIGGER\"|\"EAGER_NURSERY_COLLECTION\"|\"EVICT_NURSERY\"|\"FINISH_GC\"|\"FULL_CELL_PTR_BIGINT_BUFFER\"|\"FULL_CELL_PTR_OBJ_BUFFER\"|\"FULL_CELL_PTR_STR_BUFFER\"|\"FULL_GC_TIMER\"|\"FULL_GENERIC_BUFFER\"|\"FULL_SHAPE_BUFFER\"|\"FULL_SLOT_BUFFER\"|\"FULL_VALUE_BUFFER\"|\"FULL_WASM_ANYREF_BUFFER\"|\"FULL_WHOLE_CELL_BUFFER\"|\"HTML_PARSER\"|\"INTER_SLICE_GC\"|\"LAST_DITCH\"|\"LOAD_END\"|\"MEM_PRESSURE\"|\"NSJSCONTEXT_DESTROY\"|\"NURSERY_MALLOC_BUFFERS\"|\"NURSERY_TRAILERS\"|\"OUT_OF_NURSERY\"|\"PAGE_HIDE\"|\"PREPARE_FOR_PAGELOAD\"|\"PREPARE_FOR_TRACING\"|\"RESET\"|\"ROOTS_REMOVED\"|\"SET_DOC_SHELL\"|\"SHARED_MEMORY_LIMIT\"|\"SHUTDOWN_CC\"|\"TOO_MUCH_JIT_CODE\"|\"TOO_MUCH_MALLOC\"|\"TOO_MUCH_WASM_MEMORY\"|\"UNUSED1\"|\"UNUSED2\"|\"UNUSED3\"|\"USER_INACTIVE\"|\"WORKER_SHUTDOWN\"|\"XPCONNECT_SHUTDOWN\", GleanCounter>;\n    reset: Record<\"false\"|\"true\", GleanCounter>;\n    resetReason: Record<\"AbortRequested\"|\"CompartmentRevived\"|\"GCBytesTrigger\"|\"GrayRootBufferingFailed\"|\"IncrementalDisabled\"|\"JitCodeBytesTrigger\"|\"MallocBytesTrigger\"|\"ModeChange\"|\"NonIncrementalRequested\"|\"None\"|\"Unused1\"|\"ZoneChange\", GleanCounter>;\n    sliceCount: GleanCustomDistribution;\n    sliceTime: GleanTimingDistribution;\n    sliceWasLong: Record<\"false\"|\"true\", GleanCounter>;\n    slowPhase: Record<\"COMPACT\"|\"COMPACT_MOVE\"|\"COMPACT_UPDATE\"|\"COMPACT_UPDATE_CELLS\"|\"DECOMMIT\"|\"DESTROY\"|\"EVICT_NURSERY\"|\"EVICT_NURSERY_FOR_MAJOR_GC\"|\"FINALIZE_END\"|\"FINALIZE_START\"|\"FIND_DEAD_COMPARTMENTS\"|\"GC_BEGIN\"|\"GC_END\"|\"JOIN_PARALLEL_TASKS\"|\"MARK\"|\"MARK_CCWS\"|\"MARK_DELAYED\"|\"MARK_DISCARD_CODE\"|\"MARK_EMBEDDING\"|\"MARK_GRAY\"|\"MARK_GRAY_WEAK\"|\"MARK_INCOMING_GRAY\"|\"MARK_ROOTS\"|\"MARK_RUNTIME_DATA\"|\"MARK_STACK\"|\"MARK_WEAK\"|\"MINOR_GC\"|\"MUTATOR\"|\"PARALLEL_MARK\"|\"PARALLEL_MARK_MARK\"|\"PARALLEL_MARK_OTHER\"|\"PARALLEL_MARK_WAIT\"|\"PREPARE\"|\"PURGE\"|\"PURGE_PROP_MAP_TABLES\"|\"PURGE_SOURCE_URLS\"|\"RELAZIFY_FUNCTIONS\"|\"SWEEP\"|\"SWEEP_ATOMS_TABLE\"|\"SWEEP_BASE_SHAPE\"|\"SWEEP_CC_WRAPPER\"|\"SWEEP_COMPARTMENTS\"|\"SWEEP_COMPRESSION\"|\"SWEEP_FINALIZATION_OBSERVERS\"|\"SWEEP_INITIAL_SHAPE\"|\"SWEEP_INNER_VIEWS\"|\"SWEEP_JIT_DATA\"|\"SWEEP_JIT_SCRIPTS\"|\"SWEEP_MISC\"|\"SWEEP_PROP_MAP\"|\"SWEEP_REGEXP\"|\"SWEEP_UNIQUEIDS\"|\"SWEEP_WEAKMAPS\"|\"SWEEP_WEAK_CACHES\"|\"SWEEP_WEAK_POINTERS\"|\"TRACE_HEAP\"|\"UNMARK\"|\"UNMARK_WEAKMAPS\"|\"UPDATE_ATOMS_BITMAP\"|\"WAIT_BACKGROUND_THREAD\"|\"WEAK_COMPARTMENT_CALLBACK\"|\"WEAK_ZONES_CALLBACK\", GleanCounter>;\n    slowTask: Record<\"COMPACT\"|\"COMPACT_MOVE\"|\"COMPACT_UPDATE\"|\"COMPACT_UPDATE_CELLS\"|\"DECOMMIT\"|\"DESTROY\"|\"EVICT_NURSERY\"|\"EVICT_NURSERY_FOR_MAJOR_GC\"|\"FINALIZE_END\"|\"FINALIZE_START\"|\"FIND_DEAD_COMPARTMENTS\"|\"GC_BEGIN\"|\"GC_END\"|\"JOIN_PARALLEL_TASKS\"|\"MARK\"|\"MARK_CCWS\"|\"MARK_DELAYED\"|\"MARK_DISCARD_CODE\"|\"MARK_EMBEDDING\"|\"MARK_GRAY\"|\"MARK_GRAY_WEAK\"|\"MARK_INCOMING_GRAY\"|\"MARK_ROOTS\"|\"MARK_RUNTIME_DATA\"|\"MARK_STACK\"|\"MARK_WEAK\"|\"MINOR_GC\"|\"MUTATOR\"|\"PARALLEL_MARK\"|\"PARALLEL_MARK_MARK\"|\"PARALLEL_MARK_OTHER\"|\"PARALLEL_MARK_WAIT\"|\"PREPARE\"|\"PURGE\"|\"PURGE_PROP_MAP_TABLES\"|\"PURGE_SOURCE_URLS\"|\"RELAZIFY_FUNCTIONS\"|\"SWEEP\"|\"SWEEP_ATOMS_TABLE\"|\"SWEEP_BASE_SHAPE\"|\"SWEEP_CC_WRAPPER\"|\"SWEEP_COMPARTMENTS\"|\"SWEEP_COMPRESSION\"|\"SWEEP_FINALIZATION_OBSERVERS\"|\"SWEEP_INITIAL_SHAPE\"|\"SWEEP_INNER_VIEWS\"|\"SWEEP_JIT_DATA\"|\"SWEEP_JIT_SCRIPTS\"|\"SWEEP_MISC\"|\"SWEEP_PROP_MAP\"|\"SWEEP_REGEXP\"|\"SWEEP_UNIQUEIDS\"|\"SWEEP_WEAKMAPS\"|\"SWEEP_WEAK_CACHES\"|\"SWEEP_WEAK_POINTERS\"|\"TRACE_HEAP\"|\"UNMARK\"|\"UNMARK_WEAKMAPS\"|\"UPDATE_ATOMS_BITMAP\"|\"WAIT_BACKGROUND_THREAD\"|\"WEAK_COMPARTMENT_CALLBACK\"|\"WEAK_ZONES_CALLBACK\", GleanCounter>;\n    sweepTime: GleanTimingDistribution;\n    taskStartDelay: GleanTimingDistribution;\n    tenuredSurvivalRate: GleanCustomDistribution;\n    timeBetween: GleanTimingDistribution;\n    timeBetweenMinor: GleanTimingDistribution;\n    timeBetweenSlices: GleanTimingDistribution;\n    totalTime: GleanTimingDistribution;\n    zoneCount: GleanCustomDistribution;\n    zonesCollected: GleanCustomDistribution;\n  }\n\n  javascriptIon: {\n    compileTime: GleanTimingDistribution;\n  }\n\n  scriptPreloader: {\n    mainthreadRecompile: GleanCounter;\n    requests: Record<\"Hit\"|\"HitChild\"|\"Miss\", GleanCounter>;\n    waitTime: GleanTimingDistribution;\n  }\n\n  slowScriptWarning: {\n    notifyDelay: GleanTimingDistribution;\n    shownBrowser: GleanEventWithExtras<{ hang_duration?: string, uri_type?: string }>;\n    shownContent: GleanEventWithExtras<{ end_reason?: string, hang_duration?: string, n_tab_deselect?: string, uptime?: string, uri_type?: string, wait_count?: string }>;\n  }\n\n  layout: {\n    inputEventQueuedClick: GleanTimingDistribution;\n    inputEventQueuedKeyboard: GleanTimingDistribution;\n    inputEventResponse: GleanTimingDistribution;\n    inputEventResponseCoalesced: GleanTimingDistribution;\n    loadInputEventResponse: GleanTimingDistribution;\n    longReflowInterruptible: Record<\"false\"|\"true\", GleanCounter>;\n    paintRasterizeTime: GleanTimingDistribution;\n    refreshDriverChromeFrameDelay: GleanTimingDistribution;\n    refreshDriverContentFrameDelay: GleanTimingDistribution;\n    refreshDriverTick: GleanTimingDistribution;\n    timeToFirstInteraction: GleanTimingDistribution;\n  }\n\n  geckoview: {\n    documentSiteOrigins: GleanCustomDistribution;\n    pageLoadProgressTime: GleanTimingDistribution;\n    pageLoadTime: GleanTimingDistribution;\n    pageReloadTime: GleanTimingDistribution;\n    perDocumentSiteOrigins: GleanCustomDistribution;\n  }\n\n  zeroByteLoad: {\n    loadCss: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadDtd: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadFtl: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadHtml: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadJs: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadJson: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadOthers: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadPng: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadProperties: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadSvg: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadXhtml: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n    loadXml: GleanEventWithExtras<{ cancel_reason?: string, cancelled?: string, file_name?: string, status?: string, sync?: string }>;\n  }\n\n  preferences: {\n    prefsFileWasInvalid: GleanBoolean;\n    userPrefs: GleanObject;\n  }\n\n  network: {\n    cacheEntryCount: Record<\"SMARTSIZE\"|\"USERDEFINEDSIZE\", GleanCustomDistribution>;\n    cacheEntryCountShare: Record<\"IMAGE\"|\"JAVASCRIPT\"|\"MEDIA\"|\"OTHER\"|\"STYLESHEET\"|\"UNKNOWN\"|\"WASM\", GleanCustomDistribution>;\n    cacheSize: Record<\"SMARTSIZE\"|\"USERDEFINEDSIZE\", GleanMemoryDistribution>;\n    cacheSizeShare: Record<\"IMAGE\"|\"JAVASCRIPT\"|\"MEDIA\"|\"OTHER\"|\"STYLESHEET\"|\"UNKNOWN\"|\"WASM\", GleanCustomDistribution>;\n    cacheV2InputStreamStatus: GleanCustomDistribution;\n    cacheV2OutputStreamStatus: GleanCustomDistribution;\n    diskCache2ShutdownClearPrivate: GleanTimingDistribution;\n    diskCacheShutdownV2: GleanTimingDistribution;\n    httpCacheEntryAliveTime: GleanTimingDistribution;\n    httpCacheEntryReloadTime: GleanTimingDistribution;\n    httpCacheEntryReuseCount: GleanCustomDistribution;\n    backgroundfilesaverThreadCount: GleanCustomDistribution;\n    id: GleanCustomDistribution;\n    idOnline: Record<\"absent\"|\"present\", GleanCounter>;\n    ipv4AndIpv6AddressConnectivity: GleanCustomDistribution;\n    relPreloadMissRatio: Record<\"TYPE_FETCH_UNUSED\"|\"TYPE_FETCH_USED\"|\"TYPE_FONT_UNUSED\"|\"TYPE_FONT_USED\"|\"TYPE_IMAGE_UNUSED\"|\"TYPE_IMAGE_USED\"|\"TYPE_SCRIPT_UNUSED\"|\"TYPE_SCRIPT_USED\"|\"TYPE_STYLE_UNUSED\"|\"TYPE_STYLE_USED\", GleanCounter>;\n    alpnMismatchCount: Record<string, GleanCounter>;\n    asyncOpenChildToTransactionPendingExp: Record<string, GleanTimingDistribution>;\n    backPressureSuspensionCpType: GleanCustomDistribution;\n    backPressureSuspensionDelayTime: GleanTimingDistribution;\n    backPressureSuspensionRate: Record<\"NotSuspended\"|\"NotSuspendedLocal\"|\"Suspended\"|\"SuspendedLocal\", GleanCounter>;\n    byteRangeRequest: Record<\"cacheable\"|\"not_cacheable\", GleanCounter>;\n    cacheHitMissStatPerCacheSize: Record<string, GleanCounter>;\n    cacheHitRatePerCacheSize: Record<string, GleanCustomDistribution>;\n    cacheHitTime: GleanTimingDistribution;\n    cacheMissTime: GleanTimingDistribution;\n    cacheReadTime: GleanTimingDistribution;\n    completeLoad: GleanTimingDistribution;\n    completeLoadCached: GleanTimingDistribution;\n    completeLoadNet: GleanTimingDistribution;\n    corsAuthorizationHeader: Record<\"allowed\"|\"covered_by_wildcard\"|\"disallowed\", GleanCounter>;\n    dnsEnd: GleanTimingDistribution;\n    dnsEndToConnectStartExp: Record<string, GleanTimingDistribution>;\n    dnsStart: GleanTimingDistribution;\n    firstFromCache: GleanTimingDistribution;\n    firstSentToLastReceived: GleanTimingDistribution;\n    fontDownloadEnd: GleanTimingDistribution;\n    http3CompleteLoad: Record<\"supports_http3_page\"|\"supports_http3_sub\"|\"uses_http3_page\"|\"uses_http3_sub\", GleanTimingDistribution>;\n    http3FirstSentToLastReceived: Record<\"supports_http3_page\"|\"supports_http3_sub\"|\"uses_http3_page\"|\"uses_http3_sub\", GleanTimingDistribution>;\n    http3OpenToFirstReceived: Record<\"supports_http3_page\"|\"supports_http3_sub\"|\"uses_http3_page\"|\"uses_http3_sub\", GleanTimingDistribution>;\n    http3OpenToFirstSent: Record<\"supports_http3_page\"|\"supports_http3_sub\"|\"uses_http3_page\"|\"uses_http3_sub\", GleanTimingDistribution>;\n    http3TlsHandshake: Record<\"supports_http3_page\"|\"supports_http3_sub\"|\"uses_http3_page\"|\"uses_http3_sub\", GleanTimingDistribution>;\n    httpFetchDuration: Record<\"h1_cloudflare\"|\"h1_others\"|\"h2_cloudflare\"|\"h2_others\"|\"h3_cloudflare\"|\"h3_others\", GleanTimingDistribution>;\n    httpRevalidation: GleanTimingDistribution;\n    openToFirstReceived: GleanTimingDistribution;\n    openToFirstSent: GleanTimingDistribution;\n    pageLoadSize: Record<\"page\"|\"subresources\", GleanMemoryDistribution>;\n    raceCacheBandwidthNotRace: GleanMemoryDistribution;\n    raceCacheBandwidthRaceCacheWin: GleanMemoryDistribution;\n    raceCacheBandwidthRaceNetworkWin: GleanMemoryDistribution;\n    raceCacheValidation: Record<\"CachedContentNotUsed\"|\"CachedContentUsed\"|\"NotSent\", GleanCounter>;\n    raceCacheWithNetworkOcecOnStartDiff: GleanTimingDistribution;\n    raceCacheWithNetworkSavedTime: GleanTimingDistribution;\n    raceCacheWithNetworkUsage: Record<\"CacheDelayedRace\"|\"CacheNoRace\"|\"CacheRace\"|\"NetworkDelayedRace\"|\"NetworkNoRace\"|\"NetworkRace\", GleanCounter>;\n    responseEndParentToContent: Record<string, GleanTimingDistribution>;\n    responseStartParentToContentExp: Record<string, GleanTimingDistribution>;\n    retriedSystemChannelAddonStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    retriedSystemChannelAddonversionStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    retriedSystemChannelOtherStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    retriedSystemChannelRemoteSettingsStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    retriedSystemChannelTelemetryStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    retriedSystemChannelUpdateStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    subCacheReadTime: GleanTimingDistribution;\n    subCompleteLoad: GleanTimingDistribution;\n    subCompleteLoadCached: GleanTimingDistribution;\n    subCompleteLoadNet: GleanTimingDistribution;\n    subDnsEnd: GleanTimingDistribution;\n    subDnsStart: GleanTimingDistribution;\n    subFirstFromCache: GleanTimingDistribution;\n    subFirstSentToLastReceived: GleanTimingDistribution;\n    subHttpRevalidation: GleanTimingDistribution;\n    subOpenToFirstReceived: GleanTimingDistribution;\n    subOpenToFirstSent: GleanTimingDistribution;\n    subTcpConnection: GleanTimingDistribution;\n    subTlsHandshake: GleanTimingDistribution;\n    supHttp3TcpConnection: Record<\"supports_http3_page\"|\"supports_http3_sub\", GleanTimingDistribution>;\n    systemChannelAddonStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelAddonversionStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelOtherStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelRemoteSettingsStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelSuccessOrFailure: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelTelemetryStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    systemChannelUpdateStatus: Record<\"cancel\"|\"connect_fail\"|\"connectivity\"|\"dns\"|\"http_status\"|\"offline\"|\"ok\"|\"other\"|\"partial\"|\"refused\"|\"reset\"|\"timeout\"|\"tls_fail\", GleanCounter>;\n    tcpConnection: GleanTimingDistribution;\n    tlsEarlyDataAccepted: Record<\"accepted\"|\"rejected\", GleanCounter>;\n    tlsEarlyDataBytesWritten: GleanCustomDistribution;\n    tlsEarlyDataNegotiated: Record<\"available_and_used\"|\"available_but_not_used\"|\"not_available\", GleanCounter>;\n    tlsHandshake: GleanTimingDistribution;\n    trrIdleCloseTimeH1: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrIdleCloseTimeH2: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n    trrIdleCloseTimeH3: Record<\"dns.shaw.ca\"|\"dns.shaw.ca_2\"|\"dns.shaw.ca_3\"|\"doh.xfinity.com\"|\"doh.xfinity.com_2\"|\"doh.xfinity.com_3\"|\"dooh.cloudflare-dns.com\"|\"dooh.cloudflare-dns.com_2\"|\"dooh.cloudflare-dns.com_3\"|\"firefox.dns.nextdns.io\"|\"firefox.dns.nextdns.io_2\"|\"firefox.dns.nextdns.io_3\"|\"mozilla.cloudflare-dns.com\"|\"mozilla.cloudflare-dns.com_2\"|\"mozilla.cloudflare-dns.com_3\"|\"private.canadianshield.cira.ca\"|\"private.canadianshield.cira.ca_2\"|\"private.canadianshield.cira.ca_3\", GleanTimingDistribution>;\n  }\n\n  dns: {\n    blocklistCount: GleanCustomDistribution;\n    byTypeCleanupAge: GleanTimingDistribution;\n    byTypeFailedLookupTime: GleanTimingDistribution;\n    byTypePrematureEviction: GleanTimingDistribution;\n    byTypeSucceededLookupTime: GleanTimingDistribution;\n    cleanupAge: GleanTimingDistribution;\n    gracePeriodRenewal: Record<\"different_record\"|\"same_record\", GleanCounter>;\n    lookupAlgorithm: Record<\"nativeOnly\"|\"trrFirst\"|\"trrOnly\"|\"trrRace\"|\"trrShadow\", GleanCounter>;\n    lookupMethod: GleanCustomDistribution;\n    nativeLookupTime: GleanTimingDistribution;\n    nativeQueuing: GleanTimingDistribution;\n    prematureEviction: GleanTimingDistribution;\n    trrAttemptCount: Record<string, GleanCustomDistribution>;\n    trrLookupTime: Record<string, GleanTimingDistribution>;\n    trrProcessingTime: GleanTimingDistribution;\n    trrRelevantSkipReasonNativeFailed: Record<string, GleanCustomDistribution>;\n    trrRelevantSkipReasonNativeSuccess: Record<string, GleanCustomDistribution>;\n    trrRelevantSkipReasonTrrFirst: Record<string, GleanCustomDistribution>;\n    trrRelevantSkipReasonTrrFirstTypeRec: Record<string, GleanCustomDistribution>;\n    trrSkipReasonNativeFailed: Record<string, GleanCustomDistribution>;\n    trrSkipReasonNativeSuccess: Record<string, GleanCustomDistribution>;\n    trrSkipReasonRetryFailed: Record<string, GleanCustomDistribution>;\n    trrSkipReasonRetrySuccess: Record<string, GleanCustomDistribution>;\n    trrSkipReasonStrictMode: Record<string, GleanCustomDistribution>;\n    trrSkipReasonTrrFirst: Record<string, GleanCustomDistribution>;\n  }\n\n  networkCookies: {\n    sqliteOpenReadahead: GleanTimingDistribution;\n  }\n\n  networkDns: {\n    trrConfirmationContext: GleanEventWithExtras<{ attemptCount?: string, captivePortal?: string, contextReason?: string, failedLookups?: string, networkID?: string, results?: string, time?: string, trigger?: string, value?: string }>;\n  }\n\n  networkSso: {\n    entraSuccess: Record<\"both_headers_missing\"|\"broker_error\"|\"device_headers_missing\"|\"invalid_controller_setup\"|\"invalid_cookie\"|\"no_credential\"|\"prt_headers_missing\"|\"success\", GleanCounter>;\n    totalEntraUses: GleanCounter;\n  }\n\n  predictor: {\n    baseConfidence: GleanCustomDistribution;\n    confidence: GleanCustomDistribution;\n    globalDegradation: GleanCustomDistribution;\n    learnAttempts: GleanCustomDistribution;\n    learnWorkTime: GleanTimingDistribution;\n    predictTimeToAction: GleanTimingDistribution;\n    predictTimeToInaction: GleanTimingDistribution;\n    predictWorkTime: GleanTimingDistribution;\n    predictionsCalculated: GleanCustomDistribution;\n    prefetchDecisionReason: GleanCustomDistribution;\n    prefetchIgnoreReason: GleanCustomDistribution;\n    prefetchTime: GleanTimingDistribution;\n    prefetchUseStatus: Record<\"Auth\"|\"Etag\"|\"Expired\"|\"Not200\"|\"Redirect\"|\"Used\"|\"WaitedTooLong\"|\"WouldVary\", GleanCounter>;\n    subresourceDegradation: GleanCustomDistribution;\n    totalPreconnects: GleanCustomDistribution;\n    totalPredictions: GleanCustomDistribution;\n    totalPrefetches: GleanCustomDistribution;\n    totalPreresolves: GleanCustomDistribution;\n    waitTime: GleanTimingDistribution;\n  }\n\n  sts: {\n    pollAndEventTheLastCycle: GleanTimingDistribution;\n    pollAndEventsCycle: GleanTimingDistribution;\n    pollBlockTime: GleanTimingDistribution;\n    pollCycle: GleanTimingDistribution;\n  }\n\n  hpack: {\n    bytesEvictedCompressor: GleanMemoryDistribution;\n    bytesEvictedDecompressor: GleanMemoryDistribution;\n    bytesEvictedRatioCompressor: GleanCustomDistribution;\n    bytesEvictedRatioDecompressor: GleanCustomDistribution;\n    elementsEvictedCompressor: GleanCustomDistribution;\n    elementsEvictedDecompressor: GleanCustomDistribution;\n    peakCountCompressor: GleanCustomDistribution;\n    peakCountDecompressor: GleanCustomDistribution;\n    peakSizeCompressor: GleanMemoryDistribution;\n    peakSizeDecompressor: GleanMemoryDistribution;\n  }\n\n  http: {\n    altsvcEntriesPerHeader: GleanCustomDistribution;\n    altsvcMappingChangedTarget: Record<\"false\"|\"true\", GleanCounter>;\n    cacheLmInconsistent: Record<\"false\"|\"true\", GleanCounter>;\n    channelDisposition: GleanCustomDistribution;\n    channelOnstartSuccess: Record<\"false\"|\"true\", GleanCounter>;\n    channelPageOnstartSuccessTrr: Record<string, GleanCustomDistribution>;\n    channelSubOnstartSuccessTrr: Record<string, GleanCustomDistribution>;\n    connectionCloseReason: Record<string, GleanCustomDistribution>;\n    connectionEntryCacheHit: Record<\"false\"|\"true\", GleanCounter>;\n    contentEncoding: GleanCustomDistribution;\n    dnsHttpssvcConnectionFailedReason: GleanCustomDistribution;\n    dnsHttpssvcRecordReceivingStage: GleanCustomDistribution;\n    dntUsage: GleanCustomDistribution;\n    echconfigSuccessRate: Record<\"EchConfigFailed\"|\"EchConfigSucceeded\"|\"NoEchConfigFailed\"|\"NoEchConfigSucceeded\", GleanCounter>;\n    http2FailBeforeSettings: Record<\"false\"|\"true\", GleanCounter>;\n    kbreadPerConn2: GleanMemoryDistribution;\n    pageloadIsSsl: Record<\"false\"|\"true\", GleanCounter>;\n    requestPerConn: GleanCustomDistribution;\n    requestPerPage: GleanCustomDistribution;\n    requestPerPageFromCache: GleanCustomDistribution;\n    responseVersion: GleanCustomDistribution;\n    sawQuicAltProtocol: GleanCustomDistribution;\n    scriptBlockIncorrectMime: Record<\"CORS_origin\"|\"app_json\"|\"app_octet_stream\"|\"app_xml\"|\"audio\"|\"cross_origin\"|\"empty\"|\"image\"|\"importScript_load\"|\"javaScript\"|\"same_origin\"|\"script_load\"|\"serviceworker_load\"|\"text_csv\"|\"text_html\"|\"text_json\"|\"text_plain\"|\"text_xml\"|\"unknown\"|\"video\"|\"worker_load\"|\"worklet_load\", GleanCounter>;\n    subitemFirstByteLatencyTime: GleanTimingDistribution;\n    subitemOpenLatencyTime: GleanTimingDistribution;\n    tlsEarlyDataAccepted: Record<\"false\"|\"true\", GleanCounter>;\n    tlsEarlyDataNegotiated: GleanCustomDistribution;\n    transactionEchRetryEchFailedCount: GleanCustomDistribution;\n    transactionEchRetryOthersCount: GleanCustomDistribution;\n    transactionEchRetryWithEchCount: GleanCustomDistribution;\n    transactionEchRetryWithoutEchCount: GleanCustomDistribution;\n    transactionIsSsl: Record<\"false\"|\"true\", GleanCounter>;\n    transactionRestartReason: GleanCustomDistribution;\n    transactionUseAltsvc: Record<\"false\"|\"true\", GleanCounter>;\n    transactionWaitTimeHttp: GleanTimingDistribution;\n    transactionWaitTimeHttp2SupHttp3: GleanTimingDistribution;\n    transactionWaitTimeHttp3: GleanTimingDistribution;\n    transactionWaitTimeSpdy: GleanTimingDistribution;\n    uploadBandwidthMbps: Record<string, GleanCustomDistribution>;\n  }\n\n  http3: {\n    blockedByStreamLimitPerConn: GleanCustomDistribution;\n    connectionCloseCode: Record<string, GleanCustomDistribution>;\n    countsPto: Record<string, GleanCustomDistribution>;\n    dropDgrams: GleanCustomDistribution;\n    echOutcome: Record<\"GREASE\"|\"NONE\"|\"REAL\", GleanCustomDistribution>;\n    lateAck: Record<\"ack\"|\"pto\", GleanCustomDistribution>;\n    lateAckRatio: Record<\"ack\"|\"pto\", GleanCustomDistribution>;\n    lossRatio: GleanCustomDistribution;\n    receivedSentDgrams: Record<\"received\"|\"sent\", GleanCustomDistribution>;\n    requestPerConn: GleanCustomDistribution;\n    savedDgrams: GleanCustomDistribution;\n    sendingBlockedByFlowControlPerTrans: GleanCustomDistribution;\n    timerDelayed: GleanTimingDistribution;\n    transBlockedByStreamLimitPerConn: GleanCustomDistribution;\n    transSendingBlockedByFlowControlPerConn: GleanCustomDistribution;\n  }\n\n  netwerk: {\n    http30rttState: Record<\"conn_closed_by_necko\"|\"conn_error\"|\"not_used\"|\"rejected\"|\"succeeded\", GleanCounter>;\n    http30rttStateDuration: Record<\"conn_closed_by_necko\"|\"conn_error\"|\"not_used\"|\"rejected\"|\"succeeded\", GleanTimingDistribution>;\n    http3TimeToReuseIdleConnection: Record<\"failed\"|\"succeeded\", GleanTimingDistribution>;\n    parentConnectTimeout: GleanCounter;\n  }\n\n  opaqueResponseBlocking: {\n    crossOriginOpaqueResponseCount: GleanCounter;\n    javascriptValidationCount: GleanCounter;\n  }\n\n  orb: {\n    blockInitiator: Record<\"BEACON\"|\"BLOCKED_FETCH\"|\"CSP_REPORT\"|\"DTD\"|\"EXCLUDED\"|\"FILTERED_FETCH\"|\"FONT\"|\"IMAGE\"|\"IMAGESET\"|\"INVALID\"|\"JSON\"|\"MEDIA\"|\"OTHER\"|\"PING\"|\"PROXIED_WEBRTC_MEDIA\"|\"SCRIPT\"|\"SPECULATIVE\"|\"STYLESHEET\"|\"UA_FONT\"|\"WEB_MANIFEST\"|\"WEB_TRANSPORT\"|\"XMLHTTPREQUEST\"|\"XSLT\", GleanCounter>;\n    blockReason: Record<\"AFTER_SNIFF_CT_FAIL\"|\"AFTER_SNIFF_MEDIA\"|\"AFTER_SNIFF_NOSNIFF\"|\"AFTER_SNIFF_STA_CODE\"|\"JS_VALIDATION_FAILED\"|\"MEDIA_INCORRECT_RESP\"|\"MEDIA_NOT_INITIAL\"|\"MIME_NEVER_SNIFFED\"|\"NOSNIFF_BLC_OR_TEXTP\"|\"RESP_206_BLCLISTED\"|\"RESP_206_NO_FIRST\", GleanCounter>;\n    didEverBlockResponse: Record<\"false\"|\"true\", GleanCounter>;\n    javascriptValidation: Record<\"failure\"|\"javascript\"|\"json\"|\"other\", GleanTimingDistribution>;\n    receiveDataForValidation: Record<\"failure\"|\"javascript\"|\"json\"|\"other\", GleanTimingDistribution>;\n  }\n\n  spdy: {\n    chunkRecvd: GleanMemoryDistribution;\n    continuedHeaders: GleanMemoryDistribution;\n    goawayLocal: GleanCustomDistribution;\n    goawayPeer: GleanCustomDistribution;\n    kbreadPerConn: GleanMemoryDistribution;\n    parallelStreams: GleanCustomDistribution;\n    requestPerConn: GleanCustomDistribution;\n    serverInitiatedStreams: GleanCustomDistribution;\n    settingsIw: GleanMemoryDistribution;\n    settingsMaxStreams: GleanCustomDistribution;\n    synRatio: GleanCustomDistribution;\n    synReplyRatio: GleanCustomDistribution;\n    synReplySize: GleanMemoryDistribution;\n    synSize: GleanMemoryDistribution;\n  }\n\n  websockets: {\n    handshakeType: GleanCustomDistribution;\n  }\n\n  parsing: {\n    svgUnusualPcdata: GleanRate;\n  }\n\n  ysod: {\n    shownYsod: GleanEventWithExtras<{ destroyed?: string, error_code?: string, hidden?: string, last_line?: string, last_line_len?: string, location?: string, value?: string }>;\n  }\n\n  certSignatureCache: {\n    hits: GleanNumerator;\n    total: GleanDenominator;\n  }\n\n  certTrustCache: {\n    hits: GleanNumerator;\n    total: GleanDenominator;\n  }\n\n  certVerifier: {\n    certRevocationMechanisms: Record<\"CRLite\"|\"CachedOCSP\"|\"OCSP\"|\"OneCRL\"|\"ShortValidity\"|\"StapledOCSP\", GleanCounter>;\n    crliteStatus: Record<\"no_filter\"|\"not_covered\"|\"not_enrolled\"|\"not_revoked\"|\"revoked_in_filter\"|\"revoked_in_stash\", GleanCounter>;\n    crliteVsOcspResult: Record<\"CRLiteRevOCSPFail\"|\"CRLiteRevOCSPOk\"|\"CRLiteRevOCSPRev\"|\"CRLiteRevOCSPSoft\"|\"CRLiteRevOCSPUnk\", GleanCounter>;\n    trustObjCount: GleanQuantity;\n  }\n\n  sctSignatureCache: {\n    hits: GleanNumerator;\n    total: GleanDenominator;\n  }\n\n  cert: {\n    chainKeySizeStatus: GleanCustomDistribution;\n    evStatus: GleanCustomDistribution;\n    validationHttpRequestResult: GleanCustomDistribution;\n    validationSuccessByCa2: GleanCustomDistribution;\n  }\n\n  certCompression: {\n    failures: Record<\"brotli\"|\"zlib\"|\"zstd\", GleanCounter>;\n  }\n\n  certPinning: {\n    failuresByCa2: GleanCustomDistribution;\n    mozResultsByHost: GleanCustomDistribution;\n    mozTestResultsByHost: GleanCustomDistribution;\n    results: Record<\"false\"|\"true\", GleanCounter>;\n    testResults: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  certStorage: {\n    memory: GleanMemoryDistribution;\n  }\n\n  certVerificationTime: {\n    failure: GleanTimingDistribution;\n    success: GleanTimingDistribution;\n  }\n\n  dataStorage: {\n    alternateServices: GleanQuantity;\n    clientAuthRememberList: GleanQuantity;\n    siteSecurityServiceState: GleanQuantity;\n  }\n\n  ocspRequestTime: {\n    cancel: GleanTimingDistribution;\n    failure: GleanTimingDistribution;\n    success: GleanTimingDistribution;\n  }\n\n  pkcs11: {\n    externalTrustAnchorModuleLoaded: GleanBoolean;\n    thirdPartyModuleProfileEntries: GleanStringList;\n    thirdPartyModuleSignatureType: GleanEventWithExtras<{ filename?: string, signature?: string }>;\n    thirdPartyModulesLoaded: GleanQuantity;\n  }\n\n  ssl: {\n    authAlgorithmFull: GleanCustomDistribution;\n    authEcdsaCurveFull: GleanCustomDistribution;\n    authRsaKeySizeFull: GleanCustomDistribution;\n    bytesBeforeCertCallback: GleanMemoryDistribution;\n    certErrorOverrides: GleanCustomDistribution;\n    certVerificationErrors: GleanCustomDistribution;\n    ctPolicyNonCompliantConnectionsByCa2: GleanCustomDistribution;\n    keaDheKeySizeFull: GleanCustomDistribution;\n    keaEcdheCurveFull: GleanCustomDistribution;\n    keaRsaKeySizeFull: GleanCustomDistribution;\n    keyExchangeAlgorithmFull: GleanCustomDistribution;\n    keyExchangeAlgorithmResumed: GleanCustomDistribution;\n    npnType: GleanCustomDistribution;\n    ocspStapling: GleanCustomDistribution;\n    permanentCertErrorOverrides: GleanCustomDistribution;\n    reasonsForNotFalseStarting: GleanCustomDistribution;\n    resumedSession: Record<\"false\"|\"true\", GleanCounter>;\n    sctsOrigin: GleanCustomDistribution;\n    sctsPerConnection: GleanCustomDistribution;\n    sctsVerificationStatus: GleanCustomDistribution;\n    timeUntilHandshakeFinishedKeyedByKa: Record<string, GleanTimingDistribution>;\n    timeUntilReady: GleanTimingDistribution;\n    timeUntilReadyConservative: GleanTimingDistribution;\n    timeUntilReadyEch: GleanTimingDistribution;\n    timeUntilReadyEchGrease: GleanTimingDistribution;\n    timeUntilReadyFirstTry: GleanTimingDistribution;\n    tls10IntoleranceReasonPost: GleanCustomDistribution;\n    tls10IntoleranceReasonPre: GleanCustomDistribution;\n    tls11IntoleranceReasonPost: GleanCustomDistribution;\n    tls11IntoleranceReasonPre: GleanCustomDistribution;\n    tls12IntoleranceReasonPost: GleanCustomDistribution;\n    tls12IntoleranceReasonPre: GleanCustomDistribution;\n    tls13IntoleranceReasonPost: GleanCustomDistribution;\n    tls13IntoleranceReasonPre: GleanCustomDistribution;\n    versionFallbackInappropriate: GleanCustomDistribution;\n  }\n\n  sslHandshake: {\n    completed: GleanCustomDistribution;\n    privacy: GleanCustomDistribution;\n    result: GleanCustomDistribution;\n    resultConservative: GleanCustomDistribution;\n    resultEch: GleanCustomDistribution;\n    resultEchGrease: GleanCustomDistribution;\n    resultFirstTry: GleanCustomDistribution;\n    version: GleanCustomDistribution;\n  }\n\n  tls: {\n    certificateVerifications: GleanDenominator;\n    cipherSuite: GleanCustomDistribution;\n    xyberIntoleranceReason: Record<\"PR_CONNECT_RESET_ERROR\"|\"PR_END_OF_FILE_ERROR\"|\"SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE\"|\"SSL_ERROR_BAD_MAC_ALERT\"|\"SSL_ERROR_BAD_MAC_READ\"|\"SSL_ERROR_DECODE_ERROR_ALERT\"|\"SSL_ERROR_HANDSHAKE_FAILED\"|\"SSL_ERROR_HANDSHAKE_FAILURE_ALERT\"|\"SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT\"|\"SSL_ERROR_ILLEGAL_PARAMETER_ALERT\"|\"SSL_ERROR_INTERNAL_ERROR_ALERT\"|\"SSL_ERROR_KEY_EXCHANGE_FAILURE\"|\"SSL_ERROR_NO_CYPHER_OVERLAP\"|\"SSL_ERROR_PROTOCOL_VERSION_ALERT\"|\"SSL_ERROR_RX_MALFORMED_HYBRID_KEY_SHARE\"|\"SSL_ERROR_RX_UNEXPECTED_RECORD_TYPE\"|\"SSL_ERROR_UNSUPPORTED_VERSION\", GleanCounter>;\n  }\n\n  verificationUsedCertFrom: {\n    builtInRootsModule: GleanNumerator;\n    nssCertDb: GleanNumerator;\n    preloadedIntermediates: GleanNumerator;\n    thirdPartyCertificates: GleanNumerator;\n    tlsHandshake: GleanNumerator;\n  }\n\n  sandbox: {\n    contentWin32kLockdownState: GleanQuantity;\n    effectiveContentProcessLevel: GleanQuantity;\n    failedLaunchKeyed: Record<string, GleanCustomDistribution>;\n    hasUserNamespaces: Record<\"false\"|\"true\", GleanCounter>;\n    rejectedSyscalls: Record<string, GleanCounter>;\n  }\n\n  uptakeRemotecontentResult: {\n    uptakeNormandy: GleanEventWithExtras<{ age?: string, duration?: string, errorName?: string, source?: string, timestamp?: string, trigger?: string, value?: string }>;\n    uptakeRemotesettings: GleanEventWithExtras<{ age?: string, duration?: string, errorName?: string, source?: string, timestamp?: string, trigger?: string, value?: string }>;\n  }\n\n  clientAssociation: {\n    legacyClientId: GleanUuid;\n    uid: GleanString;\n  }\n\n  fxa: {\n    accountEnabled: GleanBoolean;\n    closetabReceived: GleanEventWithExtras<{ flow_id?: string, hashed_device_id?: string, reason?: string, server_time?: string, stream_id?: string }>;\n    closetabSent: GleanEventWithExtras<{ flow_id?: string, hashed_device_id?: string, server_time?: string, stream_id?: string }>;\n    connectAccount: GleanEventWithExtras<{ fxa?: string, sync?: string, value?: string }>;\n    disconnectAccount: GleanEventWithExtras<{ fxa?: string, sync?: string, value?: string }>;\n    sendtabReceived: GleanEventWithExtras<{ flow_id?: string, hashed_device_id?: string, reason?: string, server_time?: string, stream_id?: string }>;\n    sendtabSent: GleanEventWithExtras<{ flow_id?: string, hashed_device_id?: string, server_time?: string, stream_id?: string }>;\n    syncEnabled: GleanBoolean;\n  }\n\n  syncSettings: {\n    openChooseWhatToSyncMenu: GleanEventWithExtras<{ why?: string }>;\n    save: GleanEventWithExtras<{ disabled_engines?: string, enabled_engines?: string }>;\n  }\n\n  fxaAppMenu: {\n    clickAccountSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickCad: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickLogin: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickMonitorCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickOpenMonitor: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickOpenSend: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickRelayCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSendTab: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncNow: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncTabs: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncTabsSidebar: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickToolbarIcon: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickUnverSyncSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickVpnCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n  }\n\n  fxaAvatarMenu: {\n    clickAccountSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickCad: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickLogin: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickMonitorCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickOpenMonitor: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickOpenSend: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickRelayCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSendTab: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncNow: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncTabs: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickSyncTabsSidebar: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickToolbarIcon: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickUnverSyncSettings: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n    clickVpnCta: GleanEventWithExtras<{ fxa_avatar?: string, fxa_status?: string, fxa_sync_on?: string }>;\n  }\n\n  sync: {\n    deviceCountDesktop: GleanCustomDistribution;\n    deviceCountMobile: GleanCustomDistribution;\n    maintenanceFixBookmarks: GleanEventNoExtras;\n    maintenanceRunBookmarks: GleanEventNoExtras;\n  }\n\n  syncClient: {\n    processcommand: GleanEventWithExtras<{ command?: string, flow_id?: string, server_time?: string }>;\n    sendcommand: GleanEventWithExtras<{ command?: string, device_id?: string, flow_id?: string, reason?: string, server_time?: string }>;\n  }\n\n  syncMergeDialog: {\n    clicked: GleanEventWithExtras<{ option_clicked?: string, variant_shown?: string }>;\n  }\n\n  syncs: {\n    discarded: GleanQuantity;\n    hashedDeviceId: GleanString;\n    hashedFxaUid: GleanString;\n    migrations: GleanObject;\n    sessionStartDate: GleanDatetime;\n    syncNodeType: GleanString;\n    syncs: GleanObject;\n  }\n\n  startupCache: {\n    requests: Record<\"HitDisk\"|\"HitMemory\"|\"Miss\", GleanCounter>;\n  }\n\n  bounceTrackingProtection: {\n    mode: GleanQuantity;\n    numHostsPerPurgeRun: GleanCustomDistribution;\n    purgeAction: GleanEventWithExtras<{ bounce_time?: string, is_dry_run?: string, require_stateful_bounces?: string, site_host?: string, success?: string }>;\n    purgeCount: Record<\"dry\"|\"failure\"|\"success\", GleanCounter>;\n    purgeCountClassifiedTracker: GleanCounter;\n    purgeDuration: GleanTimingDistribution;\n  }\n\n  contentblocking: {\n    canvasFingerprintingPerTab: Record<\"known_text\"|\"known_text_matched\"|\"unknown\"|\"unknown_matched\", GleanCustomDistribution>;\n    category: GleanQuantity;\n    cookieBehavior: GleanCustomDistribution;\n    cryptominersBlockedCount: Record<\"allowed\"|\"blocked\"|\"pageLoad\", GleanCounter>;\n    cryptominingBlockingEnabled: GleanBoolean;\n    emailTrackerCount: Record<\"base_email_webapp\"|\"base_normal\"|\"content_email_webapp\"|\"content_normal\", GleanCounter>;\n    emailTrackerEmbeddedPerTab: Record<\"all_emailapp\"|\"all_normal\"|\"base_emailapp\"|\"base_normal\"|\"content_emailapp\"|\"content_normal\", GleanCustomDistribution>;\n    fingerprintersBlockedCount: Record<\"allowed\"|\"blocked\"|\"pageLoad\", GleanCounter>;\n    fingerprintingBlockingEnabled: GleanBoolean;\n    fontFingerprintingPerTab: Record<\"false\"|\"true\", GleanCounter>;\n    queryStrippingCount: Record<\"Navigation\"|\"Redirect\"|\"StripForNavigation\"|\"StripForRedirect\", GleanCounter>;\n    queryStrippingCountByParam: Record<\"param___hsfp\"|\"param___hssc\"|\"param___hstc\"|\"param___s\"|\"param__hsenc\"|\"param__openstat\"|\"param_dclid\"|\"param_fbclid\"|\"param_gbraid\"|\"param_gclid\"|\"param_hsctatracking\"|\"param_mc_eid\"|\"param_mkt_tok\"|\"param_msclkid\"|\"param_oly_anon_id\"|\"param_oly_enc_id\"|\"param_twclid\"|\"param_vero_id\"|\"param_wbraid\"|\"param_wickedid\"|\"param_yclid\"|\"param_ysclid\", GleanCounter>;\n    queryStrippingParamCount: GleanCustomDistribution;\n    storageAccessGrantedCount: Record<\"Navigation\"|\"Navigation_CT\"|\"Opener\"|\"OpenerAfterUI\"|\"OpenerAfterUI_CT\"|\"Opener_CT\"|\"Redirect\"|\"RedirectTracker\"|\"RedirectTracker_CT\"|\"Redirect_CT\"|\"StorageAccessAPI\"|\"StorageAccessAPI_CT\"|\"StorageGranted\"|\"StorageGranted_CT\", GleanCounter>;\n    storageAccessRemainingDays: GleanCustomDistribution;\n    stripOnShareLengthDecrease: GleanCustomDistribution;\n    stripOnShareParamsRemoved: GleanCustomDistribution;\n    tpAllowlistBaselineEnabled: GleanBoolean;\n    tpAllowlistConvenienceEnabled: GleanBoolean;\n    trackersBlockedCount: GleanCounter;\n    trackingProtectionEnabled: Record<\"false\"|\"true\", GleanCounter>;\n    trackingProtectionPbmDisabled: Record<\"false\"|\"true\", GleanCounter>;\n    trackingProtectionShield: GleanCustomDistribution;\n  }\n\n  cookiePurging: {\n    duration: GleanTimingDistribution;\n    intervalHours: GleanTimingDistribution;\n    originsPurged: GleanCustomDistribution;\n    trackersUserInteractionRemainingDays: GleanTimingDistribution;\n    trackersWithUserInteraction: GleanCustomDistribution;\n  }\n\n  hangs: {\n    modules: GleanObject;\n    reports: GleanObject;\n  }\n\n  backgroundTasksRmdirBase: {\n    elapsedMs: GleanQuantity;\n    metricBase: GleanEventNoExtras;\n    removalCount: GleanQuantity;\n    retryCount: GleanQuantity;\n    succeeded: GleanBoolean;\n    suffixEverFailed: GleanBoolean;\n    suffixRemovalCount: GleanQuantity;\n    wasFirst: GleanBoolean;\n  }\n\n  backgroundTasksRmdirHttpCache: {\n    elapsedMs: GleanQuantity;\n    metricBase: GleanEventNoExtras;\n    removalCount: GleanQuantity;\n    retryCount: GleanQuantity;\n    succeeded: GleanBoolean;\n    suffixEverFailed: GleanBoolean;\n    suffixRemovalCount: GleanQuantity;\n    wasFirst: GleanBoolean;\n  }\n\n  backgroundTasksRmdirQuota: {\n    elapsedMs: GleanQuantity;\n    metricBase: GleanEventNoExtras;\n    removalCount: GleanQuantity;\n    retryCount: GleanQuantity;\n    succeeded: GleanBoolean;\n    suffixEverFailed: GleanBoolean;\n    suffixRemovalCount: GleanQuantity;\n    wasFirst: GleanBoolean;\n  }\n\n  captchaDetection: {\n    arkoselabsOc: GleanCounter;\n    arkoselabsOcPbm: GleanCounter;\n    arkoselabsPc: GleanCounter;\n    arkoselabsPcPbm: GleanCounter;\n    arkoselabsPf: GleanCounter;\n    arkoselabsPfPbm: GleanCounter;\n    arkoselabsSolutionsRequired: GleanCustomDistribution;\n    arkoselabsSolutionsRequiredPbm: GleanCustomDistribution;\n    cloudflareTurnstileCc: GleanCounter;\n    cloudflareTurnstileCcPbm: GleanCounter;\n    cloudflareTurnstileCf: GleanCounter;\n    cloudflareTurnstileCfPbm: GleanCounter;\n    cloudflareTurnstileOc: GleanCounter;\n    cloudflareTurnstileOcPbm: GleanCounter;\n    datadomeBl: GleanCounter;\n    datadomeBlPbm: GleanCounter;\n    datadomeOc: GleanCounter;\n    datadomePc: GleanCounter;\n    datadomePcPbm: GleanCounter;\n    datadomePs: GleanCounter;\n    datadomePsPbm: GleanCounter;\n    googleRecaptchaV2Ac: GleanCounter;\n    googleRecaptchaV2AcPbm: GleanCounter;\n    googleRecaptchaV2Oc: GleanCounter;\n    googleRecaptchaV2OcPbm: GleanCounter;\n    googleRecaptchaV2Pc: GleanCounter;\n    googleRecaptchaV2PcPbm: GleanCounter;\n    googleRecaptchaV2Ps: GleanCounter;\n    googleRecaptchaV2PsPbm: GleanCounter;\n    hcaptchaAc: GleanCounter;\n    hcaptchaAcPbm: GleanCounter;\n    hcaptchaOc: GleanCounter;\n    hcaptchaOcPbm: GleanCounter;\n    hcaptchaPc: GleanCounter;\n    hcaptchaPcPbm: GleanCounter;\n    hcaptchaPs: GleanCounter;\n    hcaptchaPsPbm: GleanCounter;\n    networkCookieCookiebehavior: GleanString;\n    networkCookieCookiebehaviorOptinpartitioning: GleanBoolean;\n    networkCookieCookiebehaviorOptinpartitioningPbm: GleanBoolean;\n    pagesVisited: GleanCounter;\n    pagesVisitedPbm: GleanCounter;\n    privacyFingerprintingprotection: GleanBoolean;\n    privacyFingerprintingprotectionPbm: GleanBoolean;\n    privacyResistfingerprinting: GleanBoolean;\n    privacyResistfingerprintingPbmode: GleanBoolean;\n    privacyTrackingprotectionCryptominingEnabled: GleanBoolean;\n    privacyTrackingprotectionEnabled: GleanBoolean;\n    privacyTrackingprotectionFingerprintingEnabled: GleanBoolean;\n    privacyTrackingprotectionPbmEnabled: GleanBoolean;\n  }\n\n  contentAnalysis: {\n    agentName: GleanString;\n    allowUrlRegexListSet: GleanBoolean;\n    bypassForSameTabOperations: GleanBoolean;\n    clientSignature: GleanString;\n    connectionAttempt: GleanCounter;\n    connectionAttemptRetry: GleanCounter;\n    connectionFailure: Record<string, GleanCounter>;\n    defaultResult: GleanQuantity;\n    denyUrlRegexListSet: GleanBoolean;\n    interceptionPointsTurnedOff: GleanStringList;\n    requestAllowedByAllowUrl: GleanCounter;\n    requestBlockedByDenyUrl: GleanCounter;\n    requestSentByAnalysisType: Record<string, GleanCounter>;\n    requestSentByReason: Record<string, GleanCounter>;\n    responseAction: Record<string, GleanCounter>;\n    responseDurationByAnalysisType: Record<string, GleanTimingDistribution>;\n    showBlockedResult: GleanBoolean;\n    timeoutResult: GleanQuantity;\n  }\n\n  relevancyClassify: {\n    duration: GleanTimingDistribution;\n    fail: GleanEventWithExtras<{ reason?: string }>;\n    succeed: GleanEventWithExtras<{ input_classified_size?: string, input_inconclusive_size?: string, input_size?: string, interest_top_1_hits?: string, interest_top_2_hits?: string, interest_top_3_hits?: string, output_interest_size?: string }>;\n  }\n\n  cookieBanners: {\n    googleGdprChoiceCookie: Record<string, GleanString>;\n    googleGdprChoiceCookieEvent: GleanEventWithExtras<{ choice?: string, region?: string, search_domain?: string }>;\n    googleGdprChoiceCookieEventPbm: GleanEventWithExtras<{ choice?: string }>;\n    normalWindowServiceMode: Record<\"disabled\"|\"invalid\"|\"reject\"|\"reject_or_accept\", GleanBoolean>;\n    privateWindowServiceMode: Record<\"disabled\"|\"invalid\"|\"reject\"|\"reject_or_accept\", GleanBoolean>;\n    serviceDetectOnly: GleanBoolean;\n  }\n\n  crash: {\n    appBuild: GleanString;\n    appChannel: GleanString;\n    appDisplayVersion: GleanString;\n    asyncShutdownTimeout: GleanObject;\n    backgroundTaskName: GleanString;\n    compressedStoreSize: GleanMemoryDistribution;\n    eventLoopNestingLevel: GleanQuantity;\n    fontName: GleanString;\n    gpuProcessLaunch: GleanQuantity;\n    ipcChannelError: GleanString;\n    isGarbageCollecting: GleanBoolean;\n    mainThreadRunnableName: GleanString;\n    minidumpSha256Hash: GleanString;\n    mozCrashReason: GleanString;\n    processType: GleanString;\n    profilerChildShutdownPhase: GleanString;\n    quotaManagerShutdownTimeout: GleanObject;\n    remoteType: GleanString;\n    shutdownProgress: GleanString;\n    stackTraces: GleanObject;\n    startup: GleanBoolean;\n    submitAttempt: Record<\"content-crash\"|\"content-hang\"|\"forkserver-crash\"|\"forkserver-hang\"|\"gmplugin-crash\"|\"gmplugin-hang\"|\"gpu-crash\"|\"gpu-hang\"|\"main-crash\"|\"main-hang\"|\"plugin-crash\"|\"plugin-hang\"|\"rdd-crash\"|\"rdd-hang\"|\"sandboxbroker-crash\"|\"sandboxbroker-hang\"|\"socket-crash\"|\"socket-hang\"|\"utility-crash\"|\"utility-hang\"|\"vr-crash\"|\"vr-hang\", GleanCounter>;\n    time: GleanDatetime;\n    utilityActorsName: GleanStringList;\n  }\n\n  crashWindows: {\n    errorReporting: GleanBoolean;\n    fileDialogErrorCode: GleanString;\n  }\n\n  crashSubmission: {\n    channelStatus: Record<string, GleanCounter>;\n    collectorErrors: Record<string, GleanCounter>;\n    failure: GleanCounter;\n    pending: GleanCounter;\n    success: GleanCounter;\n  }\n\n  dllBlocklist: {\n    initFailed: GleanBoolean;\n    list: GleanStringList;\n    user32LoadedBefore: GleanBoolean;\n  }\n\n  environment: {\n    headlessMode: GleanBoolean;\n    nimbusEnrollments: GleanStringList;\n    uptime: GleanTimespan;\n  }\n\n  memory: {\n    availableCommit: GleanQuantity;\n    availablePhysical: GleanQuantity;\n    availableSwap: GleanQuantity;\n    availableVirtual: GleanQuantity;\n    jsLargeAllocationFailure: GleanString;\n    jsOutOfMemory: GleanString;\n    lowPhysical: GleanQuantity;\n    oomAllocationSize: GleanQuantity;\n    purgeablePhysical: GleanQuantity;\n    systemUsePercentage: GleanQuantity;\n    texture: GleanQuantity;\n    totalPageFile: GleanQuantity;\n    totalPhysical: GleanQuantity;\n    totalVirtual: GleanQuantity;\n    collectionTime: GleanTimingDistribution;\n    distributionAmongContent: Record<string, GleanCustomDistribution>;\n    freePurgedPages: GleanTimingDistribution;\n    ghostWindows: GleanCustomDistribution;\n    heapAllocated: GleanMemoryDistribution;\n    heapOverheadFraction: GleanCustomDistribution;\n    imagesContentUsedUncompressed: GleanMemoryDistribution;\n    jsCompartmentsSystem: GleanCustomDistribution;\n    jsCompartmentsUser: GleanCustomDistribution;\n    jsGcHeap: GleanMemoryDistribution;\n    jsRealmsSystem: GleanCustomDistribution;\n    jsRealmsUser: GleanCustomDistribution;\n    lowMemoryEventsPhysical: GleanCustomDistribution;\n    pageFaultsHard: GleanCustomDistribution;\n    residentFast: GleanMemoryDistribution;\n    residentPeak: GleanMemoryDistribution;\n    storageSqlite: GleanMemoryDistribution;\n    total: GleanMemoryDistribution;\n    unique: GleanMemoryDistribution;\n    uniqueContentStartup: GleanMemoryDistribution;\n    vsize: GleanMemoryDistribution;\n    vsizeMaxContiguous: GleanMemoryDistribution;\n  }\n\n  windows: {\n    packageFamilyName: GleanString;\n  }\n\n  doh: {\n    evaluateV2Heuristics: GleanEventWithExtras<{ canaries?: string, captiveState?: string, enterprise?: string, evaluateReason?: string, filtering?: string, networkID?: string, platform?: string, steeredProvider?: string, value?: string }>;\n    stateDisabled: GleanEventWithExtras<{ value?: string }>;\n    stateEnabled: GleanEventWithExtras<{ value?: string }>;\n    stateManuallyDisabled: GleanEventWithExtras<{ value?: string }>;\n    statePolicyDisabled: GleanEventWithExtras<{ value?: string }>;\n    stateRollback: GleanEventWithExtras<{ value?: string }>;\n    stateShutdown: GleanEventWithExtras<{ value?: string }>;\n    stateUidisabled: GleanEventWithExtras<{ value?: string }>;\n    stateUiok: GleanEventWithExtras<{ value?: string }>;\n    stateUninstalled: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  securityDohTrrPerformance: {\n    resolvedRecord: GleanEventWithExtras<{ captivePortal?: string, domain?: string, networkUnstable?: string, retryCount?: string, status?: string, time?: string, trr?: string, value?: string }>;\n    trrselectDryrunresult: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  policies: {\n    count: GleanQuantity;\n    isEnterprise: GleanBoolean;\n  }\n\n  extensions: {\n    processEvent: Record<\"crashed_bg\"|\"crashed_fg\"|\"crashed_over_threshold_bg\"|\"crashed_over_threshold_fg\"|\"created_bg\"|\"created_fg\", GleanCounter>;\n    startupCacheLoadTime: GleanTimespan;\n    startupCacheReadErrors: Record<string, GleanCounter>;\n    startupCacheWriteBytelength: GleanQuantity;\n    useRemotePolicy: GleanBoolean;\n    useRemotePref: GleanBoolean;\n  }\n\n  extensionsApisDnr: {\n    evaluateRulesCountMax: GleanQuantity;\n    evaluateRulesTime: GleanTimingDistribution;\n    startupCacheEntries: Record<\"hit\"|\"miss\", GleanCounter>;\n    startupCacheReadSize: GleanMemoryDistribution;\n    startupCacheReadTime: GleanTimingDistribution;\n    startupCacheWriteSize: GleanMemoryDistribution;\n    startupCacheWriteTime: GleanTimingDistribution;\n    validateRulesTime: GleanTimingDistribution;\n  }\n\n  extensionsCounters: {\n    browserActionPreloadResult: Record<\"clearAfterHover\"|\"clearAfterMousedown\"|\"popupShown\", GleanCounter>;\n    eventPageIdleResult: Record<\"launchWebAuthFlow\"|\"permissions_request\"|\"reset_event\"|\"reset_listeners\"|\"reset_nativeapp\"|\"reset_other\"|\"reset_parentapicall\"|\"reset_streamfilter\"|\"suspend\", GleanCounter>;\n  }\n\n  extensionsData: {\n    migrateResult: GleanEventWithExtras<{ addon_id?: string, backend?: string, data_migrated?: string, error_name?: string, has_jsonfile?: string, has_olddata?: string }>;\n    migrateResultCount: Record<\"failure\"|\"success\", GleanCounter>;\n    storageLocalError: GleanEventWithExtras<{ addon_id?: string, error_name?: string, method?: string }>;\n    syncUsageQuotas: GleanEventWithExtras<{ addon_id?: string, backend?: string, items_count?: string, items_over_quota?: string, total_size_bytes?: string }>;\n  }\n\n  extensionsTiming: {\n    backgroundPageLoad: GleanTimingDistribution;\n    backgroundPageLoadByAddonid: Record<string, GleanTimingDistribution>;\n    browserActionPopupOpen: GleanTimingDistribution;\n    browserActionPopupOpenByAddonid: Record<string, GleanTimingDistribution>;\n    contentScriptInjection: GleanTimingDistribution;\n    contentScriptInjectionByAddonid: Record<string, GleanTimingDistribution>;\n    eventPageRunningTime: GleanCustomDistribution;\n    eventPageRunningTimeByAddonid: Record<string, GleanTimingDistribution>;\n    extensionStartup: GleanTimingDistribution;\n    extensionStartupByAddonid: Record<string, GleanTimingDistribution>;\n    pageActionPopupOpen: GleanTimingDistribution;\n    pageActionPopupOpenByAddonid: Record<string, GleanTimingDistribution>;\n    storageLocalGetIdb: GleanTimingDistribution;\n    storageLocalGetIdbByAddonid: Record<string, GleanTimingDistribution>;\n    storageLocalSetIdb: GleanTimingDistribution;\n    storageLocalSetIdbByAddonid: Record<string, GleanTimingDistribution>;\n  }\n\n  address: {\n    addManage: GleanEventWithExtras<{ value?: string }>;\n    cancelCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    cancelEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    cancelUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    clearedAddressForm: GleanEventWithExtras<{ field_name?: string, value?: string }>;\n    deleteManage: GleanEventWithExtras<{ value?: string }>;\n    detectedAddressForm: GleanEventWithExtras<{ address_level1?: string, address_level2?: string, address_line1?: string, address_line2?: string, address_line3?: string, country?: string, postal_code?: string, street_address?: string, value?: string }>;\n    detectedAddressFormExt: GleanEventWithExtras<{ additional_name?: string, email?: string, family_name?: string, given_name?: string, name?: string, organization?: string, tel?: string, value?: string }>;\n    disableCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    disableEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    disableUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    editManage: GleanEventWithExtras<{ value?: string }>;\n    filledAddressForm: GleanEventWithExtras<{ address_level1?: string, address_level2?: string, address_line1?: string, address_line2?: string, address_line3?: string, country?: string, postal_code?: string, street_address?: string, value?: string }>;\n    filledAddressFormExt: GleanEventWithExtras<{ additional_name?: string, email?: string, family_name?: string, given_name?: string, name?: string, organization?: string, tel?: string, value?: string }>;\n    filledModifiedAddressForm: GleanEventWithExtras<{ address_level1?: string, address_level2?: string, address_line1?: string, address_line2?: string, address_line3?: string, country?: string, field_name?: string, postal_code?: string, street_address?: string, value?: string }>;\n    filledOnFieldsUpdateAddressForm: GleanEventWithExtras<{ additional_name?: string, address_level1?: string, address_level2?: string, address_line1?: string, address_line2?: string, address_line3?: string, country?: string, email?: string, family_name?: string, given_name?: string, name?: string, organization?: string, postal_code?: string, street_address?: string, tel?: string, value?: string }>;\n    learnMoreCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    learnMoreEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    learnMoreUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    popupShownAddressForm: GleanEventWithExtras<{ field_name?: string, value?: string }>;\n    prefCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    prefEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    prefUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    saveCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    saveEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    saveUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    showCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    showEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    showEntryManage: GleanEventWithExtras<{ value?: string }>;\n    showManage: GleanEventWithExtras<{ value?: string }>;\n    showUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    submittedAddressForm: GleanEventWithExtras<{ address_level1?: string, address_level2?: string, address_line1?: string, address_line2?: string, address_line3?: string, country?: string, postal_code?: string, street_address?: string, value?: string }>;\n    submittedAddressFormExt: GleanEventWithExtras<{ additional_name?: string, email?: string, family_name?: string, given_name?: string, name?: string, organization?: string, tel?: string, value?: string }>;\n    updateCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    updateEditDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    updateUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  creditcard: {\n    addManage: GleanEventWithExtras<{ value?: string }>;\n    cancelCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    cancelUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    clearedCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    deleteManage: GleanEventWithExtras<{ value?: string }>;\n    detectedCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    detectedCcNumberFieldsCount: Record<\"cc_number_fields_1\"|\"cc_number_fields_2\"|\"cc_number_fields_3\"|\"cc_number_fields_4\"|\"cc_number_fields_other\", GleanCounter>;\n    disableCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    disableUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    editManage: GleanEventWithExtras<{ value?: string }>;\n    filledCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    filledModifiedCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    filledOnFieldsUpdateCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, value?: string }>;\n    osKeystoreDecrypt: GleanEventWithExtras<{ errorResult?: string, isDecryptSuccess?: string, trigger?: string }>;\n    popupShownCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    saveCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    saveUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    showCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    showEntryManage: GleanEventWithExtras<{ value?: string }>;\n    showManage: GleanEventWithExtras<{ value?: string }>;\n    showUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    submittedCcFormV2: GleanEventWithExtras<{ cc_exp?: string, cc_exp_month?: string, cc_exp_year?: string, cc_name?: string, cc_number?: string, cc_type?: string, field_name?: string, value?: string }>;\n    updateCaptureDoorhanger: GleanEventWithExtras<{ value?: string }>;\n    updateUpdateDoorhanger: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  formautofill: {\n    availability: GleanBoolean;\n    formSubmissionHeuristic: Record<\"form-removal-after-fetch\"|\"form-submit-event\"|\"iframe-pagehide\"|\"page-navigation\", GleanCounter>;\n    iframeLayoutDetection: GleanEventWithExtras<{ category?: string, cross_origin?: string, flow_id?: string, iframe?: string, iframe_count?: string, main_frame?: string, sandboxed?: string }>;\n    osAuthEnabled: GleanBoolean;\n    promptShownOsReauth: GleanEventWithExtras<{ result?: string, trigger?: string }>;\n    requireOsReauthToggle: GleanEventWithExtras<{ toggle_state?: string }>;\n  }\n\n  formautofillAddresses: {\n    autofillProfilesCount: GleanQuantity;\n  }\n\n  formautofillCreditcards: {\n    autofillProfilesCount: GleanQuantity;\n  }\n\n  formautofillMl: {\n    fieldInferResult: GleanEventWithExtras<{ fathom_infer_label?: string, fathom_infer_score?: string, infer_field_name?: string, infer_reason?: string, is_valid_section?: string, ml_infer_label?: string, ml_infer_score?: string, ml_revision?: string }>;\n  }\n\n  fog: {\n    failedIdleRegistration: GleanBoolean;\n    initialization: GleanTimespan;\n    initsDuringShutdown: GleanCounter;\n    maxPingsPerMinute: GleanQuantity;\n  }\n\n  fogIpc: {\n    bufferSizes: GleanMemoryDistribution;\n    flushDurations: GleanTimingDistribution;\n    flushFailures: GleanCounter;\n    replayFailures: GleanCounter;\n    shutdownRegistrationFailures: GleanCounter;\n  }\n\n  testOnly: {\n    badCode: GleanCounter;\n    balloons: GleanObject;\n    buttonJars: Record<string, GleanQuantity>;\n    canWeFlagIt: GleanBoolean;\n    canWeTimeIt: GleanTimespan;\n    cheesyString: GleanString;\n    cheesyStringList: GleanStringList;\n    collectionDisabledCounter: GleanCounter;\n    crashStack: GleanObject;\n    defaultProducts: GleanCounter;\n    desktopOnly: GleanCounter;\n    disabledCounter: GleanCounter;\n    doYouRemember: GleanMemoryDistribution;\n    expired: GleanCounter;\n    expiredHist: GleanCustomDistribution;\n    impressionIdOnly: GleanString;\n    keyedCategories: GleanDualLabeledCounter;\n    keyedExpired: Record<string, GleanCounter>;\n    keyedMobileOnly: Record<string, GleanCounter>;\n    keyedReleaseOptin: Record<string, GleanCounter>;\n    keyedReleaseOptout: Record<string, GleanCounter>;\n    mabelsBalloonLabels: Record<\"celebratory\"|\"celebratory_and_snarky\", GleanString>;\n    mabelsBalloonStrings: Record<string, GleanString>;\n    mabelsBathroomCounters: Record<string, GleanCounter>;\n    mabelsCustomLabelLengths: Record<string, GleanCustomDistribution>;\n    mabelsKitchenCounters: Record<string, GleanCounter>;\n    mabelsLabelMaker: Record<string, GleanString>;\n    mabelsLabeledCounters: Record<\"1st_counter\"|\"clean\"|\"next_to_the_fridge\", GleanCounter>;\n    mabelsLikeBalloons: Record<string, GleanBoolean>;\n    mabelsLikeLabeledBalloons: Record<\"birthday_party\"|\"water\", GleanBoolean>;\n    mainOnly: GleanQuantity;\n    meaningOfLife: GleanQuantity;\n    mirrorTime: GleanTimespan;\n    mirrorTimeNanos: GleanTimespan;\n    mirrorsForLabeledBools: Record<string, GleanBoolean>;\n    mobileOnly: GleanCounter;\n    multiproduct: GleanCounter;\n    onePingOneBool: GleanBoolean;\n    releaseOptin: GleanCounter;\n    releaseOptout: GleanCounter;\n    unexpired: GleanCounter;\n    whatADate: GleanDatetime;\n    whatDoYouRemember: Record<string, GleanMemoryDistribution>;\n    whatIdIt: GleanUuid;\n    whatTimeIsIt: GleanTimingDistribution;\n    whereHasTheTimeGone: Record<string, GleanTimingDistribution>;\n  }\n\n  testOnlyIpc: {\n    aBool: GleanBoolean;\n    aCounter: GleanCounter;\n    aCounterForHgram: GleanCounter;\n    aCustomDist: GleanCustomDistribution;\n    aDate: GleanDatetime;\n    aDualLabeledCounter: GleanDualLabeledCounter;\n    aLabeledCounter: Record<string, GleanCounter>;\n    aLabeledCounterForCategorical: Record<\"CommonLabel\"|\"Label4\"|\"Label5\"|\"Label6\", GleanCounter>;\n    aLabeledCounterForHgram: Record<\"false\"|\"true\", GleanCounter>;\n    aLabeledCounterForKeyedCountHgram: Record<string, GleanCounter>;\n    aMemoryDist: GleanMemoryDistribution;\n    aQuantity: GleanQuantity;\n    aString: GleanString;\n    aStringList: GleanStringList;\n    aText: GleanText;\n    aTimingDist: GleanTimingDistribution;\n    aUrl: GleanUrl;\n    aUuid: GleanUuid;\n    anEvent: GleanEventWithExtras<{ extra1?: string, extra2?: string, value?: string }>;\n    anExternalDenominator: GleanDenominator;\n    anUnorderedBool: GleanBoolean;\n    anUnorderedLabeledBoolean: Record<string, GleanBoolean>;\n    anotherDualLabeledCounter: GleanDualLabeledCounter;\n    anotherLabeledCounter: Record<string, GleanCounter>;\n    eventWithExtra: GleanEventWithExtras<{ extra1?: string, extra2?: string, extra3_longer_name?: string, extra4CamelCase?: string }>;\n    irate: GleanRate;\n    noExtraEvent: GleanEventNoExtras;\n    rateWithExternalDenominator: GleanNumerator;\n  }\n\n  testOnlyJog: {\n    aCounter: GleanCounter;\n    anEvent: GleanEventWithExtras<{ extra1?: string, extra2?: string }>;\n  }\n\n  mediaSniffer: {\n    mp4BrandPattern: Record<\"ftyp_3gp\"|\"ftyp_3gp4\"|\"ftyp_M4A\"|\"ftyp_M4P\"|\"ftyp_M4V\"|\"ftyp_avc\"|\"ftyp_avif\"|\"ftyp_crx\"|\"ftyp_iso\"|\"ftyp_mmp4\"|\"ftyp_mp4\"|\"ftyp_qt\", GleanCounter>;\n  }\n\n  messagingExperiments: {\n    reachCfr: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFeatureCallout: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsBmbButton: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage1: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage10: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage11: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage12: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage13: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage14: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage15: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage2: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage3: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage4: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage5: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage6: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage7: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage8: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachFxmsMessage9: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachInfobar: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachMomentsPage: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    reachSpotlight: GleanEventWithExtras<{ branches?: string, value?: string }>;\n    targetingAttributeError: GleanEventWithExtras<{ source?: string, value?: string }>;\n    targetingAttributeTimeout: GleanEventWithExtras<{ source?: string, value?: string }>;\n  }\n\n  firefoxAiRuntime: {\n    engineCreationFailure: GleanEventWithExtras<{ engineId?: string, error?: string, featureId?: string, modelId?: string, taskName?: string }>;\n    engineCreationSuccess: Record<\"about-inference\"|\"autofill-ml\"|\"default-engine\"|\"ml-suggest-intent\"|\"ml-suggest-ner\"|\"pdfjs\"|\"smart-tab-embedding-engine\"|\"smart-tab-topic-engine\"|\"webextension\"|\"wllamapreview\", GleanTimingDistribution>;\n    modelDeletion: GleanEventWithExtras<{ deletedBy?: string, error?: string, modelId?: string, modelRevision?: string }>;\n    modelDownload: GleanEventWithExtras<{ duration?: string, engineId?: string, error?: string, featureId?: string, modelDownloadId?: string, modelId?: string, modelRevision?: string, step?: string, when?: string }>;\n    runInferenceFailure: GleanEventWithExtras<{ engineId?: string, featureId?: string, modelId?: string }>;\n    runInferenceSuccess: Record<\"about-inference\"|\"autofill-ml\"|\"default-engine\"|\"ml-suggest-intent\"|\"ml-suggest-ner\"|\"pdfjs\"|\"smart-tab-embedding-engine\"|\"smart-tab-topic-engine\"|\"webextension\"|\"wllamapreview\", GleanTimingDistribution>;\n  }\n\n  modelManagement: {\n    detailsView: GleanEventWithExtras<{ extension_ids?: string, feature_ids?: string, model?: string, version?: string }>;\n    listItemManage: GleanEventWithExtras<{ extension_ids?: string, feature_ids?: string, model?: string, version?: string }>;\n    listView: GleanEventWithExtras<{ models?: string }>;\n    modelCardLink: GleanEventWithExtras<{ extension_ids?: string, feature_ids?: string, model?: string, version?: string }>;\n    removeConfirmation: GleanEventWithExtras<{ action?: string, extension_ids?: string, feature_ids?: string, model?: string, version?: string }>;\n    removeInitiated: GleanEventWithExtras<{ extension_ids?: string, feature_ids?: string, last_install?: string, last_used?: string, model?: string, size?: string, source?: string, version?: string }>;\n  }\n\n  heartbeat: {\n    closed: GleanDatetime;\n    engaged: GleanDatetime;\n    expired: GleanDatetime;\n    flowId: GleanUuid;\n    learnMore: GleanDatetime;\n    offered: GleanDatetime;\n    score: GleanQuantity;\n    surveyId: GleanString;\n    voted: GleanDatetime;\n    windowClosed: GleanDatetime;\n  }\n\n  nimbusEvents: {\n    databaseWrite: GleanEventWithExtras<{ success?: string }>;\n    enrollFailed: GleanEventWithExtras<{ branch?: string, experiment?: string, reason?: string }>;\n    enrollment: GleanEventWithExtras<{ branch?: string, experiment?: string, experiment_type?: string }>;\n    enrollmentStatus: GleanEventWithExtras<{ branch?: string, conflict_slug?: string, error_string?: string, reason?: string, slug?: string, status?: string }>;\n    exposure: GleanEventWithExtras<{ branch?: string, experiment?: string, feature_id?: string }>;\n    isReady: GleanEventNoExtras;\n    migration: GleanEventWithExtras<{ enrollments?: string, error_reason?: string, migration_id?: string, success?: string }>;\n    remoteSettingsSync: GleanEventWithExtras<{ experiments_empty?: string, experiments_success?: string, force_sync?: string, secure_experiments_empty?: string, secure_experiments_success?: string, trigger?: string }>;\n    startupDatabaseConsistency: GleanEventWithExtras<{ db_active_count?: string, primary?: string, store_active_count?: string, total_db_count?: string, total_store_count?: string, trigger?: string }>;\n    unenrollFailed: GleanEventWithExtras<{ experiment?: string, reason?: string }>;\n    unenrollment: GleanEventWithExtras<{ branch?: string, changed_pref?: string, conflicting_slug?: string, experiment?: string, pref_name?: string, pref_type?: string, reason?: string }>;\n    validationFailed: GleanEventWithExtras<{ branch?: string, experiment?: string, l10n_ids?: string, locale?: string, reason?: string }>;\n  }\n\n  nimbusTargetingContext: {\n    activeExperiments: GleanObject;\n    activeRollouts: GleanObject;\n    addonsInfo: GleanObject;\n    addressesSaved: GleanQuantity;\n    archBits: GleanQuantity;\n    attributionData: GleanObject;\n    browserSettings: GleanObject;\n    buildId: GleanQuantity;\n    currentDate: GleanString;\n    defaultPdfHandler: GleanObject;\n    distributionId: GleanString;\n    doesAppNeedPin: GleanBoolean;\n    enrollmentsMap: GleanObject;\n    firefoxVersion: GleanQuantity;\n    hasActiveEnterprisePolicies: GleanBoolean;\n    homePageSettings: GleanObject;\n    isDefaultBrowser: GleanBoolean;\n    isDefaultHandler: GleanObject;\n    isFirstStartup: GleanBoolean;\n    isFxAEnabled: GleanBoolean;\n    isFxASignedIn: GleanBoolean;\n    isMsix: GleanBoolean;\n    locale: GleanString;\n    memoryMb: GleanQuantity;\n    os: GleanObject;\n    primaryResolution: GleanObject;\n    profileAgeCreated: GleanQuantity;\n    region: GleanString;\n    totalBookmarksCount: GleanQuantity;\n    userMonthlyActivity: GleanObject;\n    userPrefersReducedMotion: GleanBoolean;\n    usesFirefoxSync: GleanBoolean;\n    version: GleanString;\n  }\n\n  nimbusTargetingEnvironment: {\n    attrEvalErrors: Record<\"activeExperiments\"|\"activeRollouts\"|\"addonsInfo\"|\"addressesSaved\"|\"archBits\"|\"attributionData\"|\"browserSettings\"|\"buildId\"|\"currentDate\"|\"defaultPDFHandler\"|\"distributionId\"|\"doesAppNeedPin\"|\"enrollmentsMap\"|\"firefoxVersion\"|\"hasActiveEnterprisePolicies\"|\"homePageSettings\"|\"isDefaultBrowser\"|\"isDefaultHandler\"|\"isFirstStartup\"|\"isFxAEnabled\"|\"isFxASignedIn\"|\"isMSIX\"|\"locale\"|\"memoryMB\"|\"os\"|\"primaryResolution\"|\"profileAgeCreated\"|\"region\"|\"totalBookmarksCount\"|\"userMonthlyActivity\"|\"userPrefersReducedMotion\"|\"usesFirefoxSync\"|\"version\", GleanCounter>;\n    prefTypeErrors: Record<\"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons\"|\"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features\"|\"browser.newtabpage.activity-stream.feeds.section.highlights\"|\"browser.newtabpage.activity-stream.feeds.section.topstories\"|\"browser.newtabpage.activity-stream.feeds.topsites\"|\"browser.newtabpage.activity-stream.showSearch\"|\"browser.newtabpage.activity-stream.showSponsoredTopSites\"|\"browser.newtabpage.enabled\"|\"browser.toolbars.bookmarks.visibility\"|\"browser.urlbar.quicksuggest.dataCollection.enabled\"|\"browser.urlbar.showSearchSuggestionsFirst\"|\"browser.urlbar.suggest.quicksuggest.sponsored\"|\"media.videocontrols.picture-in-picture.enabled\"|\"media.videocontrols.picture-in-picture.video-toggle.enabled\"|\"media.videocontrols.picture-in-picture.video-toggle.has-used\"|\"messaging-system-action.testday\"|\"network.trr.mode\"|\"nimbus.qa.pref-1\"|\"nimbus.qa.pref-2\"|\"security.sandbox.content.level\"|\"trailhead.firstrun.didSeeAboutWelcome\", GleanCounter>;\n    prefValues: GleanObject;\n    targetingContextValue: GleanText;\n    userSetPrefs: GleanObject;\n  }\n\n  normandy: {\n    exposeNimbusExperiment: GleanEventWithExtras<{ branchSlug?: string, featureId?: string, value?: string }>;\n    enrollAddonRollout: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, experimentType?: string, value?: string }>;\n    enrollAddonStudy: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, experimentType?: string, value?: string }>;\n    enrollFailedAddonRollout: GleanEventWithExtras<{ addonId?: string, branch?: string, conflictingSlug?: string, detail?: string, enrollmentId?: string, prefBranch?: string, preference?: string, reason?: string, value?: string }>;\n    enrollFailedAddonStudy: GleanEventWithExtras<{ addonId?: string, branch?: string, conflictingSlug?: string, detail?: string, enrollmentId?: string, prefBranch?: string, preference?: string, reason?: string, value?: string }>;\n    enrollFailedNimbusExperiment: GleanEventWithExtras<{ addonId?: string, branch?: string, conflictingSlug?: string, detail?: string, enrollmentId?: string, prefBranch?: string, preference?: string, reason?: string, value?: string }>;\n    enrollFailedPreferenceRollout: GleanEventWithExtras<{ addonId?: string, branch?: string, conflictingSlug?: string, detail?: string, enrollmentId?: string, prefBranch?: string, preference?: string, reason?: string, value?: string }>;\n    enrollFailedPreferenceStudy: GleanEventWithExtras<{ addonId?: string, branch?: string, conflictingSlug?: string, detail?: string, enrollmentId?: string, prefBranch?: string, preference?: string, reason?: string, value?: string }>;\n    enrollNimbusExperiment: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, experimentType?: string, value?: string }>;\n    enrollPreferenceRollout: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, experimentType?: string, value?: string }>;\n    enrollPreferenceStudy: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, experimentType?: string, value?: string }>;\n    expPrefChangedPreferenceStudy: GleanEventWithExtras<{ enrollmentId?: string, preferenceName?: string, reason?: string, value?: string }>;\n    graduatePreferenceRollout: GleanEventWithExtras<{ enrollmentId?: string, reason?: string, value?: string }>;\n    recipeFreshness: Record<string, GleanQuantity>;\n    unenrollAddonRollback: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, changedPref?: string, conflictingSlug?: string, didResetValue?: string, enrollmentId?: string, prefName?: string, prefType?: string, reason?: string, value?: string }>;\n    unenrollAddonStudy: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, changedPref?: string, conflictingSlug?: string, didResetValue?: string, enrollmentId?: string, prefName?: string, prefType?: string, reason?: string, value?: string }>;\n    unenrollFailedAddonRollback: GleanEventWithExtras<{ caller?: string, changedPref?: string, enrollmentId?: string, originalReason?: string, reason?: string, value?: string }>;\n    unenrollFailedNimbusExperiment: GleanEventWithExtras<{ caller?: string, changedPref?: string, enrollmentId?: string, originalReason?: string, reason?: string, value?: string }>;\n    unenrollFailedPreferenceRollback: GleanEventWithExtras<{ caller?: string, changedPref?: string, enrollmentId?: string, originalReason?: string, reason?: string, value?: string }>;\n    unenrollFailedPreferenceStudy: GleanEventWithExtras<{ caller?: string, changedPref?: string, enrollmentId?: string, originalReason?: string, reason?: string, value?: string }>;\n    unenrollNimbusExperiment: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, changedPref?: string, conflictingSlug?: string, didResetValue?: string, enrollmentId?: string, prefName?: string, prefType?: string, reason?: string, value?: string }>;\n    unenrollPreferenceRollback: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, changedPref?: string, conflictingSlug?: string, didResetValue?: string, enrollmentId?: string, prefName?: string, prefType?: string, reason?: string, value?: string }>;\n    unenrollPreferenceStudy: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, changedPref?: string, conflictingSlug?: string, didResetValue?: string, enrollmentId?: string, prefName?: string, prefType?: string, reason?: string, value?: string }>;\n    updateAddonRollout: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, enrollmentId?: string, previousState?: string, value?: string }>;\n    updateAddonStudy: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, enrollmentId?: string, previousState?: string, value?: string }>;\n    updateFailedAddonRollout: GleanEventWithExtras<{ branch?: string, detail?: string, enrollmentId?: string, reason?: string, value?: string }>;\n    updateFailedAddonStudy: GleanEventWithExtras<{ branch?: string, detail?: string, enrollmentId?: string, reason?: string, value?: string }>;\n    updateNimbusExperiment: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, enrollmentId?: string, previousState?: string, value?: string }>;\n    updatePreferenceRollout: GleanEventWithExtras<{ addonId?: string, addonVersion?: string, branch?: string, enrollmentId?: string, previousState?: string, value?: string }>;\n    validationFailedNimbusExperiment: GleanEventWithExtras<{ branch?: string, l10n_ids?: string, locale?: string, reason?: string, value?: string }>;\n  }\n\n  formAutocomplete: {\n    showLogins: GleanEventWithExtras<{ acFieldName?: string, fieldType?: string, generatedPasswo?: string, hadPrevious?: string, importableLogin?: string, insecureWarning?: string, login?: string, loginsFooter?: string, stringLength?: string, typeWasPassword?: string, value?: string }>;\n  }\n\n  pwmgr: {\n    autocompleteFieldGeneratedpassword: GleanEventNoExtras;\n    autocompleteShownGeneratedpassword: GleanEventNoExtras;\n    cancelExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    cancelNewLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    copyPassword: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    copyUsername: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    deleteExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    deleteNewLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    doorhangerSubmittedSave: GleanEventWithExtras<{ did_edit_pw?: string, did_edit_un?: string, did_select_pw?: string, did_select_un?: string }>;\n    doorhangerSubmittedUpdate: GleanEventWithExtras<{ did_edit_pw?: string, did_edit_un?: string, did_select_pw?: string, did_select_un?: string }>;\n    editExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    filledFieldEditedGeneratedpassword: GleanEventNoExtras;\n    filterList: GleanEventNoExtras;\n    formAutofillResult: Record<\"autocomplete_off\"|\"existing_password\"|\"existing_username\"|\"filled\"|\"filled_username_only_form\"|\"form_in_crossorigin_subframe\"|\"insecure\"|\"multiple_logins\"|\"no_autofill_forms\"|\"no_logins_fit\"|\"no_password_field\"|\"no_saved_logins\"|\"password_autocomplete_new_password\"|\"password_disabled_readonly\"|\"type_no_longer_password\", GleanCounter>;\n    hidePassword: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    importLoginsFromFileCategorical: Record<\"added\"|\"error\"|\"modified\"|\"no_change\", GleanCounter>;\n    isUsernameOnlyForm: Record<\"false\"|\"true\", GleanCounter>;\n    learnMoreVulnExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    loginPageSafety: GleanCustomDistribution;\n    mgmtMenuItemUsedExport: GleanEventNoExtras;\n    mgmtMenuItemUsedExportComplete: GleanEventNoExtras;\n    mgmtMenuItemUsedImportCsvComplete: GleanEventNoExtras;\n    mgmtMenuItemUsedImportFromBrowser: GleanEventNoExtras;\n    mgmtMenuItemUsedImportFromCsv: GleanEventNoExtras;\n    mgmtMenuItemUsedPreferences: GleanEventNoExtras;\n    newNewLogin: GleanEventNoExtras;\n    numImprovedGeneratedPasswords: Record<\"false\"|\"true\", GleanCounter>;\n    numSavedPasswords: GleanQuantity;\n    openManagementAboutprotections: GleanEventNoExtras;\n    openManagementAutocomplete: GleanEventNoExtras;\n    openManagementContextmenu: GleanEventNoExtras;\n    openManagementDirect: GleanEventNoExtras;\n    openManagementMainmenu: GleanEventNoExtras;\n    openManagementPageinfo: GleanEventNoExtras;\n    openManagementPreferences: GleanEventNoExtras;\n    openManagementSnippet: GleanEventNoExtras;\n    openSiteExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    osAuthEnabled: GleanBoolean;\n    potentiallyBreachedPasswords: GleanQuantity;\n    promptRememberAction: GleanCustomDistribution;\n    promptShownOsReauth: GleanEventWithExtras<{ result?: string, trigger?: string }>;\n    promptUpdateAction: GleanCustomDistribution;\n    reauthenticateMasterPassword: GleanEventWithExtras<{ auto_admin?: string, require_signon?: string, value?: string }>;\n    reauthenticateOsAuth: GleanEventWithExtras<{ auto_admin?: string, require_signon?: string, value?: string }>;\n    requireOsReauthToggle: GleanEventWithExtras<{ toggle_state?: string }>;\n    saveExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    saveNewLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    savedLoginUsedAuthLogin: GleanEventWithExtras<{ filled?: string }>;\n    savedLoginUsedFormLogin: GleanEventWithExtras<{ filled?: string }>;\n    savedLoginUsedFormPassword: GleanEventWithExtras<{ filled?: string }>;\n    savedLoginUsedPromptLogin: GleanEventWithExtras<{ filled?: string }>;\n    savingEnabled: GleanBoolean;\n    selectExistingLogin: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    showPassword: GleanEventWithExtras<{ breached?: string, vulnerable?: string }>;\n    signupFormDetection: GleanTimingDistribution;\n    sortList: GleanEventWithExtras<{ sort_key?: string }>;\n  }\n\n  relayIntegration: {\n    clickedFillUsername: GleanEventWithExtras<{ error_code?: string, value?: string }>;\n    clickedOfferRelay: GleanEventWithExtras<{ scenario?: string, value?: string }>;\n    disabledOptInPanel: GleanEventWithExtras<{ value?: string }>;\n    disabledPrefChange: GleanEventNoExtras;\n    enabledOptInPanel: GleanEventWithExtras<{ value?: string }>;\n    enabledPrefChange: GleanEventNoExtras;\n    getUnlimitedMasksReusePanel: GleanEventWithExtras<{ value?: string }>;\n    postponedOptInPanel: GleanEventWithExtras<{ value?: string }>;\n    reuseMaskReusePanel: GleanEventWithExtras<{ value?: string }>;\n    shownFillUsername: GleanEventWithExtras<{ error_code?: string, value?: string }>;\n    shownOfferRelay: GleanEventWithExtras<{ scenario?: string, value?: string }>;\n    shownOptInPanel: GleanEventWithExtras<{ value?: string }>;\n    shownReusePanel: GleanEventWithExtras<{ error_code?: string, value?: string }>;\n  }\n\n  pdfjs: {\n    buttons: Record<\"cursor_hand_tool\"|\"cursor_select_tool\"|\"document_properties\"|\"first_page\"|\"last_page\"|\"page_rotate_ccw\"|\"page_rotate_cw\"|\"presentation_mode\"|\"presentation_mode_keyboard\"|\"scroll_horizontal\"|\"scroll_page\"|\"scroll_vertical\"|\"scroll_wrapped\"|\"spread_even\"|\"spread_none\"|\"spread_odd\"|\"view_bookmark\", GleanCounter>;\n    editing: Record<\"freetext\"|\"ink\"|\"print\"|\"save\"|\"signature\"|\"stamp\", GleanCounter>;\n    geckoview: Record<\"download_failed\"|\"download_succeeded\"|\"download_tapped\"|\"open_in_app_always\"|\"open_in_app_just_once\"|\"open_in_app_tapped\"|\"save_as_pdf_tapped\", GleanCounter>;\n    stamp: Record<\"alt_text_cancel\"|\"alt_text_decorative\"|\"alt_text_description\"|\"alt_text_edit\"|\"alt_text_keyboard\"|\"alt_text_save\"|\"alt_text_tooltip\"|\"inserted_image\", GleanCounter>;\n    timeToView: GleanCustomDistribution;\n    used: GleanCounter;\n  }\n\n  pdfjsDigitalSignature: {\n    certificate: Record<\"adbe_pkcs7_detached\"|\"adbe_pkcs7_sha1\"|\"adbe_x509_rsa_sha1\"|\"etsi_cades_detached\"|\"etsi_rfc3161\"|\"unsupported\", GleanCounter>;\n  }\n\n  pdfjsEditingHighlight: {\n    color: Record<\"blue\"|\"green\"|\"pink\"|\"red\"|\"yellow\", GleanCounter>;\n    colorChanged: GleanCounter;\n    deleted: GleanCounter;\n    edited: GleanCounter;\n    kind: Record<\"free_highlight\"|\"highlight\", GleanCounter>;\n    method: Record<\"context_menu\"|\"floating_button\"|\"main_toolbar\", GleanCounter>;\n    numberOfColors: Record<\"five\"|\"four\"|\"one\"|\"three\"|\"two\", GleanCounter>;\n    print: GleanCounter;\n    save: GleanCounter;\n    thickness: GleanCustomDistribution;\n    thicknessChanged: GleanCounter;\n    toggleVisibility: GleanCounter;\n  }\n\n  pdfjsImage: {\n    addImageClick: GleanEventNoExtras;\n    added: Record<\"with_alt_text\"|\"without_alt_text\", GleanCounter>;\n    altTextEdit: Record<\"ai_generation\"|\"ask_to_edit\", GleanBoolean>;\n    iconClick: GleanEventNoExtras;\n    imageAdded: GleanEventWithExtras<{ alt_text_modal?: string, alt_text_type?: string }>;\n    imageSelected: GleanEventWithExtras<{ alt_text_modal?: string }>;\n  }\n\n  pdfjsImageAltText: {\n    aiGenerationCheck: GleanEventWithExtras<{ status?: string }>;\n    calloutDismissed: GleanEventNoExtras;\n    calloutDisplayed: GleanEventNoExtras;\n    dismiss: GleanEventWithExtras<{ alt_text_type?: string, flow?: string }>;\n    imageStatusLabelClicked: GleanEventWithExtras<{ label?: string }>;\n    imageStatusLabelDisplayed: GleanEventWithExtras<{ label?: string }>;\n    info: GleanEventWithExtras<{ topic?: string }>;\n    modelDeleted: GleanEventNoExtras;\n    modelDownloadComplete: GleanEventNoExtras;\n    modelDownloadError: GleanEventWithExtras<{ error?: string }>;\n    modelDownloadStart: GleanEventNoExtras;\n    modelResult: GleanEventWithExtras<{ length?: string, time?: string }>;\n    save: GleanEventWithExtras<{ alt_text_type?: string, flow?: string }>;\n    settingsAiGenerationCheck: GleanEventWithExtras<{ status?: string }>;\n    settingsDisplayed: GleanEventNoExtras;\n    settingsEditAltTextCheck: GleanEventWithExtras<{ status?: string }>;\n    userEdit: GleanEventWithExtras<{ total_words?: string, words_added?: string, words_removed?: string }>;\n  }\n\n  pdfjsSignature: {\n    added: GleanEventWithExtras<{ has_alt_text?: string, has_no_alt_text?: string }>;\n    clear: Record<\"draw\"|\"text\"|\"type\", GleanCounter>;\n    created: GleanEventWithExtras<{ description_changed?: string, saved?: string, saved_count?: string, type?: string }>;\n    deleteSaved: GleanEventWithExtras<{ saved_count?: string }>;\n    editDescription: Record<\"saved\"|\"unsaved\", GleanCounter>;\n    inserted: GleanEventWithExtras<{ has_been_saved?: string, has_description?: string }>;\n  }\n\n  pictureinpicture: {\n    backgroundTabPlayingDuration: GleanTimingDistribution;\n    closedMethodBrowserCrash: GleanEventNoExtras;\n    closedMethodCloseButton: GleanEventNoExtras;\n    closedMethodClosePlayerShortcut: GleanEventNoExtras;\n    closedMethodContextMenu: GleanEventNoExtras;\n    closedMethodForegrounded: GleanEventNoExtras;\n    closedMethodFullscreen: GleanEventNoExtras;\n    closedMethodPagehide: GleanEventNoExtras;\n    closedMethodSetupFailure: GleanEventNoExtras;\n    closedMethodShortcut: GleanEventNoExtras;\n    closedMethodUnpip: GleanEventNoExtras;\n    closedMethodUrlBar: GleanEventNoExtras;\n    closedMethodVideoElEmptied: GleanEventNoExtras;\n    closedMethodVideoElRemove: GleanEventNoExtras;\n    createPlayer: GleanEventWithExtras<{ ccEnabled?: string, height?: string, screenX?: string, screenY?: string, value?: string, webVTTSubtitles?: string, width?: string }>;\n    disrespectDisableUrlBar: GleanEventNoExtras;\n    foregroundTabPlayingDuration: GleanTimingDistribution;\n    fullscreenPlayer: GleanEventWithExtras<{ enter?: string, value?: string }>;\n    mostConcurrentPlayers: GleanQuantity;\n    openedMethodAutoPip: GleanEventWithExtras<{ callout?: string, disableDialog?: string, firstTimeToggle?: string }>;\n    openedMethodContextMenu: GleanEventWithExtras<{ callout?: string, disableDialog?: string, firstTimeToggle?: string }>;\n    openedMethodShortcut: GleanEventWithExtras<{ callout?: string, disableDialog?: string, firstTimeToggle?: string }>;\n    openedMethodToggle: GleanEventWithExtras<{ callout?: string, disableDialog?: string, firstTimeToggle?: string }>;\n    openedMethodUrlBar: GleanEventWithExtras<{ callout?: string, disableDialog?: string, firstTimeToggle?: string }>;\n    resizePlayer: GleanEventWithExtras<{ height?: string, value?: string, width?: string }>;\n    sawToggleToggle: GleanEventWithExtras<{ firstTime?: string }>;\n    subtitlesShownSubtitles: GleanEventWithExtras<{ webVTTSubtitles?: string }>;\n    toggleEnabled: GleanBoolean;\n    windowOpenDuration: GleanTimingDistribution;\n  }\n\n  pictureinpictureSettings: {\n    disablePlayer: GleanEventNoExtras;\n    disableSettings: GleanEventNoExtras;\n    enableAutotriggerSettings: GleanEventNoExtras;\n    enableSettings: GleanEventNoExtras;\n  }\n\n  pageIcon: {\n    fitIconCount: GleanCounter;\n    smallIconCount: GleanCounter;\n  }\n\n  places: {\n    annosPagesCount: GleanCustomDistribution;\n    backupsBookmarkstree: GleanTimingDistribution;\n    backupsDaysfromlast: GleanTimingDistribution;\n    backupsTojson: GleanTimingDistribution;\n    bookmarksCount: GleanCustomDistribution;\n    databaseFaviconsFilesize: GleanMemoryDistribution;\n    databaseFilesize: GleanMemoryDistribution;\n    databaseSemanticHistoryFilesize: GleanMemoryDistribution;\n    expirationStepsToClean: GleanCustomDistribution;\n    exportTohtml: GleanTimingDistribution;\n    frecencyRecalcChunkTime: GleanTimingDistribution;\n    idleFrecencyDecayTime: GleanTimingDistribution;\n    idleMaintenanceTime: GleanTimingDistribution;\n    keywordsCount: GleanCustomDistribution;\n    maintenanceDaysfromlast: GleanTimingDistribution;\n    mostRecentExpiredVisit: GleanTimingDistribution;\n    pagesCount: GleanCustomDistribution;\n    pagesNeedFrecencyRecalculation: GleanQuantity;\n    placesDatabaseCorruptionHandlingStage: Record<string, GleanString>;\n    previousdayVisits: GleanQuantity;\n    semanticHistoryChunkCalculateTime: GleanTimingDistribution;\n    semanticHistoryFindChunksTime: GleanTimingDistribution;\n    semanticHistoryMaxChunksCount: GleanQuantity;\n    sortedBookmarksPerc: GleanCustomDistribution;\n    sponsoredVisitNoTriggeringUrl: GleanCounter;\n    taggedBookmarksPerc: GleanCustomDistribution;\n    tagsCount: GleanCustomDistribution;\n  }\n\n  printing: {\n    dialogOpenedViaPreviewTm: GleanCounter;\n    dialogViaPreviewCancelledTm: GleanCounter;\n    error: Record<\"ABORT\"|\"FAILURE\"|\"FALLBACK_PAPER_LIST\"|\"GFX_PRINTER_COULD_NOT_OPEN_FILE\"|\"GFX_PRINTER_DOC_IS_BUSY\"|\"GFX_PRINTER_ENDDOC\"|\"GFX_PRINTER_NAME_NOT_FOUND\"|\"GFX_PRINTER_NO_PRINTER_AVAILABLE\"|\"GFX_PRINTER_STARTDOC\"|\"GFX_PRINTER_STARTPAGE\"|\"LAST_USED_PRINTER\"|\"NOT_AVAILABLE\"|\"NOT_IMPLEMENTED\"|\"OUT_OF_MEMORY\"|\"PAPER_MARGINS\"|\"PRINTER_LIST\"|\"PRINTER_PROPERTIES\"|\"PRINTER_SETTINGS\"|\"PRINT_DESTINATIONS\"|\"PRINT_PREVIEW\"|\"UNEXPECTED\"|\"UNWRITEABLE_MARGIN\", GleanCounter>;\n    previewCancelledTm: GleanCounter;\n    previewOpenedTm: GleanCounter;\n    settingsChanged: Record<string, GleanCounter>;\n    silentPrint: GleanCounter;\n    targetType: Record<\"pdf_file\"|\"pdf_unknown\"|\"unknown\"|\"xps_file\", GleanCounter>;\n  }\n\n  power: {\n    cpuTimeBogusValues: GleanCounter;\n    cpuTimePerProcessTypeMs: Record<\"extension\"|\"gmplugin\"|\"gpu\"|\"parent.active\"|\"parent.active.playing-audio\"|\"parent.active.playing-video\"|\"parent.inactive\"|\"parent.inactive.playing-audio\"|\"parent.inactive.playing-video\"|\"prealloc\"|\"privilegedabout\"|\"rdd\"|\"socket\"|\"utility\"|\"web.background\"|\"web.background-perceivable\"|\"web.foreground\", GleanCounter>;\n    cpuTimePerTrackerTypeMs: Record<\"ad\"|\"analytics\"|\"cryptomining\"|\"fingerprinting\"|\"social\"|\"unknown\", GleanCounter>;\n    energyPerProcessType: Record<\"extension\"|\"gmplugin\"|\"gpu\"|\"parent.active\"|\"parent.active.playing-audio\"|\"parent.active.playing-video\"|\"parent.inactive\"|\"parent.inactive.playing-audio\"|\"parent.inactive.playing-video\"|\"prealloc\"|\"privilegedabout\"|\"rdd\"|\"socket\"|\"utility\"|\"web.background\"|\"web.background-perceivable\"|\"web.foreground\", GleanCounter>;\n    gpuTimeBogusValues: GleanCounter;\n    gpuTimePerProcessTypeMs: Record<\"extension\"|\"gmplugin\"|\"gpu\"|\"parent.active\"|\"parent.active.playing-audio\"|\"parent.active.playing-video\"|\"parent.inactive\"|\"parent.inactive.playing-audio\"|\"parent.inactive.playing-video\"|\"prealloc\"|\"privilegedabout\"|\"rdd\"|\"socket\"|\"utility\"|\"web.background\"|\"web.background-perceivable\"|\"web.foreground\", GleanCounter>;\n    totalCpuTimeMs: GleanCounter;\n    totalGpuTimeMs: GleanCounter;\n    totalThreadWakeups: GleanCounter;\n    wakeupsPerProcessType: Record<\"extension\"|\"gmplugin\"|\"gpu\"|\"parent.active\"|\"parent.active.playing-audio\"|\"parent.active.playing-video\"|\"parent.inactive\"|\"parent.inactive.playing-audio\"|\"parent.inactive.playing-video\"|\"prealloc\"|\"privilegedabout\"|\"rdd\"|\"socket\"|\"utility\"|\"web.background\"|\"web.background-perceivable\"|\"web.foreground\", GleanCounter>;\n  }\n\n  powerBattery: {\n    percentageWhenUserActive: GleanCustomDistribution;\n  }\n\n  powerCpuMsPerThread: {\n    contentBackground: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    contentForeground: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    gpuProcess: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    parentActive: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    parentInactive: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n  }\n\n  powerWakeupsPerThread: {\n    contentBackground: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    contentForeground: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    gpuProcess: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    parentActive: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n    parentInactive: Record<\"androidui\"|\"asynclogger\"|\"audioipc\"|\"audioipc_callback_rpc\"|\"audioipc_client_callback\"|\"audioipc_client_rpc\"|\"audioipc_devicecollection_rpc\"|\"audioipc_server_callback\"|\"audioipc_server_rpc\"|\"backgroundthreadpool\"|\"bgiothreadpool\"|\"bgreadurls\"|\"bhmgr_monitor\"|\"bhmgr_processor\"|\"cameras_ipc\"|\"canvasrenderer\"|\"capturethread\"|\"classifier_update\"|\"com_mta\"|\"compositor\"|\"convolverworker\"|\"cookie\"|\"cubeboperation\"|\"datachannel_io\"|\"dns_resolver\"|\"dom_worker\"|\"dom_worklet\"|\"domcachethread\"|\"extensionprotocolhandler\"|\"font_loader\"|\"fontenumthread\"|\"fs_broker\"|\"geckomain\"|\"gmpthread\"|\"graphrunner\"|\"hrtfdatabaseldr\"|\"html5_parser\"|\"imagebridgechld\"|\"imageio\"|\"indexeddb\"|\"indexeddb_io\"|\"initfontlist\"|\"inotifyeventthread\"|\"ipc_i_o_child\"|\"ipc_i_o_parent\"|\"ipc_launch\"|\"ipdl_background\"|\"js_watchdog\"|\"jump_list\"|\"libwebrtcmodulethread\"|\"link_monitor\"|\"ls_thread\"|\"mdns_service\"|\"mediacache\"|\"mediadecoderstatemachine\"|\"mediapdecoder\"|\"mediasupervisor\"|\"mediatimer\"|\"mediatrackgrph\"|\"memorypoller\"|\"mozstorage\"|\"mtransport\"|\"netlink_monitor\"|\"pacerthread\"|\"permission\"|\"playeventsound\"|\"processhangmon\"|\"profilerchild\"|\"proxyresolution\"|\"quotamanager_io\"|\"registerfonts\"|\"remotebackbuffer\"|\"remotelzystream\"|\"remvidchild\"|\"renderer\"|\"sandboxreporter\"|\"savescripts\"|\"socket_thread\"|\"softwarevsyncthread\"|\"sqldb_content-prefs_sqlite\"|\"sqldb_cookies_sqlite\"|\"sqldb_formhistory_sqlite\"|\"ssl_cert\"|\"startupcache\"|\"streamtrans\"|\"stylethread\"|\"swcomposite\"|\"taskcontroller\"|\"timer\"|\"toastbgthread\"|\"trr_background\"|\"untrusted_modules\"|\"url_classifier\"|\"videocapture\"|\"vsynciothread\"|\"webrtccallthread\"|\"webrtcworker\"|\"wifi_tickler\"|\"wincompositor\"|\"windowsvsyncthread\"|\"winwindowocclusioncalc\"|\"worker_launcher\"|\"wrrenderbackend\"|\"wrscenebuilder\"|\"wrscenebuilderlp\"|\"wrworker\"|\"wrworkerlp\", GleanCounter>;\n  }\n\n  readermode: {\n    buttonClick: GleanEventWithExtras<{ label?: string }>;\n    downloadResult: GleanCustomDistribution;\n    parseResult: GleanCustomDistribution;\n    viewOff: GleanEventWithExtras<{ reader_time?: string, scroll_position?: string, subcategory?: string }>;\n    viewOn: GleanEventWithExtras<{ reader_time?: string, scroll_position?: string, subcategory?: string }>;\n  }\n\n  brokenSiteReport: {\n    breakageCategory: GleanString;\n    description: GleanText;\n    url: GleanUrl;\n  }\n\n  brokenSiteReportBrowserInfo: {\n    addons: GleanObject;\n    experiments: GleanObject;\n  }\n\n  brokenSiteReportBrowserInfoApp: {\n    defaultLocales: GleanStringList;\n    defaultUseragentString: GleanText;\n    fissionEnabled: GleanBoolean;\n  }\n\n  brokenSiteReportBrowserInfoGraphics: {\n    devicePixelRatio: GleanString;\n    devicesJson: GleanText;\n    driversJson: GleanText;\n    featuresJson: GleanText;\n    hasTouchScreen: GleanBoolean;\n    monitorsJson: GleanText;\n  }\n\n  brokenSiteReportBrowserInfoPrefs: {\n    cookieBehavior: GleanQuantity;\n    forcedAcceleratedLayers: GleanBoolean;\n    globalPrivacyControlEnabled: GleanBoolean;\n    installtriggerEnabled: GleanBoolean;\n    opaqueResponseBlocking: GleanBoolean;\n    resistFingerprintingEnabled: GleanBoolean;\n    softwareWebrender: GleanBoolean;\n    thirdPartyCookieBlockingEnabled: GleanBoolean;\n    thirdPartyCookieBlockingEnabledInPbm: GleanBoolean;\n  }\n\n  brokenSiteReportBrowserInfoSecurity: {\n    antispyware: GleanStringList;\n    antivirus: GleanStringList;\n    firewall: GleanStringList;\n  }\n\n  brokenSiteReportBrowserInfoSystem: {\n    isTablet: GleanBoolean;\n    memory: GleanQuantity;\n  }\n\n  brokenSiteReportTabInfo: {\n    languages: GleanStringList;\n    useragentString: GleanText;\n  }\n\n  brokenSiteReportTabInfoAntitracking: {\n    blockList: GleanString;\n    btpHasPurgedSite: GleanBoolean;\n    etpCategory: GleanString;\n    hasMixedActiveContentBlocked: GleanBoolean;\n    hasMixedDisplayContentBlocked: GleanBoolean;\n    hasTrackingContentBlocked: GleanBoolean;\n    isPrivateBrowsing: GleanBoolean;\n  }\n\n  brokenSiteReportTabInfoFrameworks: {\n    fastclick: GleanBoolean;\n    marfeel: GleanBoolean;\n    mobify: GleanBoolean;\n  }\n\n  webcompatreporting: {\n    opened: GleanEventWithExtras<{ source?: string }>;\n    reasonDropdown: GleanEventWithExtras<{ setting?: string }>;\n    send: GleanEventNoExtras;\n    sendMoreInfo: GleanEventNoExtras;\n  }\n\n  applicationReputation: {\n    binaryArchive: Record<\"DmgFile\"|\"OtherBinaryFile\"|\"RarFile\"|\"ZipFile\", GleanCounter>;\n    binaryType: Record<\"BinaryFile\"|\"MissingFilename\"|\"MozNonBinaryFile\"|\"NonBinaryFile\"|\"UnknownFile\", GleanCounter>;\n    local: GleanCustomDistribution;\n    reason: Record<\"DPDisabled\"|\"DangerousHostPrefOff\"|\"DangerousPrefOff\"|\"InternalError\"|\"LocalBlocklist\"|\"LocalWhitelist\"|\"NetworkError\"|\"NonBinaryFile\"|\"NotSet\"|\"RemoteLookupDisabled\"|\"UncommonPrefOff\"|\"UnwantedPrefOff\"|\"VerdictDangerous\"|\"VerdictDangerousHost\"|\"VerdictSafe\"|\"VerdictUncommon\"|\"VerdictUnknown\"|\"VerdictUnrecognized\"|\"VerdictUnwanted\", GleanCounter>;\n    remoteLookupResponseTime: GleanTimingDistribution;\n    remoteLookupTimeout: Record<\"false\"|\"true\", GleanCounter>;\n    server: GleanCustomDistribution;\n    server2: Record<\"ErrAlreadyConnected\"|\"ErrConnectionRefused\"|\"ErrDNSLookupQueue\"|\"ErrNetInadequate\"|\"ErrNetInterrupt\"|\"ErrNetPartial\"|\"ErrNetReset\"|\"ErrNetTimeout\"|\"ErrNotConnected\"|\"ErrOffline\"|\"ErrOthers\"|\"ErrPortAccess\"|\"ErrProxyConnection\"|\"ErrUnknownHost\"|\"ErrUnknownProxyHost\"|\"FailGetChannel\"|\"FailGetResponse\"|\"HTTP1xx\"|\"HTTP204\"|\"HTTP2xx\"|\"HTTP3xx\"|\"HTTP400\"|\"HTTP403\"|\"HTTP404\"|\"HTTP408\"|\"HTTP413\"|\"HTTP4xx\"|\"HTTP502_504_511\"|\"HTTP503\"|\"HTTP505\"|\"HTTP5xx\"|\"HTTPOthers\"|\"ResponseValid\", GleanCounter>;\n    serverVerdict: GleanCustomDistribution;\n    shouldBlock: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  characteristics: {\n    anyPointerType: GleanQuantity;\n    audioChannels: GleanQuantity;\n    audioFingerprint: GleanQuantity;\n    audioFrames: GleanQuantity;\n    audioRate: GleanQuantity;\n    availHeight: GleanQuantity;\n    availWidth: GleanQuantity;\n    buildDate: GleanQuantity;\n    cameraCount: GleanQuantity;\n    canvasDpr: GleanString;\n    canvasFeatureStatus: GleanString;\n    canvasdata1: GleanString;\n    canvasdata10: GleanString;\n    canvasdata10software: GleanString;\n    canvasdata11Webgl: GleanString;\n    canvasdata11Webglsoftware: GleanString;\n    canvasdata12Fingerprintjs1: GleanString;\n    canvasdata12Fingerprintjs1software: GleanString;\n    canvasdata13Fingerprintjs2: GleanString;\n    canvasdata13Fingerprintjs2software: GleanString;\n    canvasdata1software: GleanString;\n    canvasdata2: GleanString;\n    canvasdata2software: GleanString;\n    canvasdata3: GleanString;\n    canvasdata3software: GleanString;\n    canvasdata4: GleanString;\n    canvasdata4software: GleanString;\n    canvasdata5: GleanString;\n    canvasdata5software: GleanString;\n    canvasdata6: GleanString;\n    canvasdata6software: GleanString;\n    canvasdata7: GleanString;\n    canvasdata7software: GleanString;\n    canvasdata8: GleanString;\n    canvasdata8software: GleanString;\n    canvasdata9: GleanString;\n    canvasdata9software: GleanString;\n    changedMediaPrefs: GleanString;\n    channel: GleanString;\n    clientIdentifier: GleanUuid;\n    colorAccentcolor: GleanQuantity;\n    colorAccentcolortext: GleanQuantity;\n    colorCanvas: GleanQuantity;\n    colorCanvastext: GleanQuantity;\n    colorHighlight: GleanQuantity;\n    colorHighlighttext: GleanQuantity;\n    colorScheme: GleanQuantity;\n    colorSelecteditem: GleanQuantity;\n    colorSelecteditemtext: GleanQuantity;\n    cpuArch: GleanString;\n    cpuModel: GleanString;\n    errors: GleanText;\n    fontDefaultDefaultGroup: GleanString;\n    fontDefaultModified: GleanQuantity;\n    fontDefaultWestern: GleanString;\n    fontMinimumSizeDefaultGroup: GleanString;\n    fontMinimumSizeModified: GleanQuantity;\n    fontMinimumSizeWestern: GleanString;\n    fontNameListCursiveModified: GleanQuantity;\n    fontNameListEmojiModified: GleanBoolean;\n    fontNameListMonospaceModified: GleanQuantity;\n    fontNameListSansSerifModified: GleanQuantity;\n    fontNameListSerifModified: GleanQuantity;\n    fontNameMonospaceDefaultGroup: GleanString;\n    fontNameMonospaceModified: GleanQuantity;\n    fontNameMonospaceWestern: GleanString;\n    fontNameSansSerifDefaultGroup: GleanString;\n    fontNameSansSerifModified: GleanQuantity;\n    fontNameSansSerifWestern: GleanString;\n    fontNameSerifDefaultGroup: GleanString;\n    fontNameSerifModified: GleanQuantity;\n    fontNameSerifWestern: GleanString;\n    fontSizeMonospaceDefaultGroup: GleanString;\n    fontSizeMonospaceModified: GleanQuantity;\n    fontSizeMonospaceWestern: GleanString;\n    fontSizeVariableDefaultGroup: GleanString;\n    fontSizeVariableModified: GleanQuantity;\n    fontSizeVariableWestern: GleanString;\n    fontsFpjsAllowlisted: GleanString;\n    fontsFpjsNonallowlisted: GleanString;\n    fontsVariantAAllowlisted: GleanString;\n    fontsVariantANonallowlisted: GleanString;\n    fontsVariantBAllowlisted: GleanString;\n    fontsVariantBNonallowlisted: GleanString;\n    gamepads: GleanStringList;\n    gl2ContextType: GleanString;\n    gl2ContextTypeSoftware: GleanString;\n    gl2Extensions: GleanText;\n    gl2ExtensionsRaw: GleanText;\n    gl2ExtensionsRawSoftware: GleanText;\n    gl2ExtensionsSoftware: GleanText;\n    gl2FragmentShader: GleanString;\n    gl2FragmentShaderSoftware: GleanString;\n    gl2MinimalSource: GleanText;\n    gl2MinimalSourceSoftware: GleanText;\n    gl2Params: GleanText;\n    gl2ParamsExtensions: GleanText;\n    gl2ParamsExtensionsSoftware: GleanText;\n    gl2ParamsSoftware: GleanText;\n    gl2PrecisionFragment: GleanText;\n    gl2PrecisionFragmentSoftware: GleanText;\n    gl2PrecisionVertex: GleanText;\n    gl2PrecisionVertexSoftware: GleanText;\n    gl2Renderer: GleanString;\n    gl2RendererRaw: GleanString;\n    gl2RendererRawSoftware: GleanString;\n    gl2RendererSoftware: GleanString;\n    gl2Vendor: GleanString;\n    gl2VendorRaw: GleanString;\n    gl2VendorRawSoftware: GleanString;\n    gl2VendorSoftware: GleanString;\n    gl2VersionRaw: GleanString;\n    gl2VersionRawSoftware: GleanString;\n    gl2VertexShader: GleanString;\n    gl2VertexShaderSoftware: GleanString;\n    glContextType: GleanString;\n    glContextTypeSoftware: GleanString;\n    glExtensions: GleanText;\n    glExtensionsRaw: GleanText;\n    glExtensionsRawSoftware: GleanText;\n    glExtensionsSoftware: GleanText;\n    glFragmentShader: GleanString;\n    glFragmentShaderSoftware: GleanString;\n    glMinimalSource: GleanText;\n    glMinimalSourceSoftware: GleanText;\n    glParams: GleanText;\n    glParamsExtensions: GleanText;\n    glParamsExtensionsSoftware: GleanText;\n    glParamsSoftware: GleanText;\n    glPrecisionFragment: GleanText;\n    glPrecisionFragmentSoftware: GleanText;\n    glPrecisionVertex: GleanText;\n    glPrecisionVertexSoftware: GleanText;\n    glRenderer: GleanString;\n    glRendererRaw: GleanString;\n    glRendererRawSoftware: GleanString;\n    glRendererSoftware: GleanString;\n    glVendor: GleanString;\n    glVendorRaw: GleanString;\n    glVendorRawSoftware: GleanString;\n    glVendorSoftware: GleanString;\n    glVersionRaw: GleanString;\n    glVersionRawSoftware: GleanString;\n    glVertexShader: GleanString;\n    glVertexShaderSoftware: GleanString;\n    groupCount: GleanQuantity;\n    groupCountWoSpeakers: GleanQuantity;\n    iceOrder: GleanQuantity;\n    iceSd: GleanQuantity;\n    innerHeight: GleanQuantity;\n    innerWidth: GleanQuantity;\n    intlLocale: GleanString;\n    invertedColors: GleanBoolean;\n    jsErrors: GleanText;\n    keyboardLayout: GleanString;\n    languages: GleanString;\n    machineModelName: GleanString;\n    mathOps: GleanText;\n    mathOpsFdlibm: GleanText;\n    mathml1: GleanString;\n    mathml10: GleanString;\n    mathml2: GleanString;\n    mathml3: GleanString;\n    mathml4: GleanString;\n    mathml5: GleanString;\n    mathml6: GleanString;\n    mathml7: GleanString;\n    mathml8: GleanString;\n    mathml9: GleanString;\n    maxTouchPoints: GleanQuantity;\n    mediaCapabilitiesH264: GleanText;\n    mediaCapabilitiesNotEfficient: GleanText;\n    mediaCapabilitiesNotSmooth: GleanText;\n    mediaCapabilitiesUnsupported: GleanText;\n    microphoneCount: GleanQuantity;\n    missingFonts: GleanText;\n    monochrome: GleanBoolean;\n    motionDecimals: GleanQuantity;\n    motionFreq: GleanQuantity;\n    orientationDecimals: GleanQuantity;\n    orientationFreq: GleanQuantity;\n    orientationabsDecimals: GleanQuantity;\n    orientationabsFreq: GleanQuantity;\n    osName: GleanString;\n    osVersion: GleanString;\n    oscpu: GleanString;\n    outerHeight: GleanQuantity;\n    outerWidth: GleanQuantity;\n    pdfViewer: GleanBoolean;\n    pixelRatio: GleanString;\n    platform: GleanString;\n    pointerHeight: GleanQuantity;\n    pointerPressure: GleanString;\n    pointerTangentinalPressure: GleanString;\n    pointerTiltx: GleanQuantity;\n    pointerTilty: GleanQuantity;\n    pointerTwist: GleanQuantity;\n    pointerType: GleanQuantity;\n    pointerWidth: GleanQuantity;\n    prefersContrast: GleanQuantity;\n    prefersReducedMotion: GleanBoolean;\n    prefersReducedTransparency: GleanBoolean;\n    prefsBlockPopups: GleanBoolean;\n    prefsBrowserDisplayUseDocumentFonts: GleanBoolean;\n    prefsGeneralAutoscroll: GleanBoolean;\n    prefsGeneralSmoothscroll: GleanBoolean;\n    prefsIntlAcceptLanguages: GleanString;\n    prefsMediaEmeEnabled: GleanBoolean;\n    prefsNetworkCookieCookiebehavior: GleanQuantity;\n    prefsOverlayScrollbars: GleanBoolean;\n    prefsPrivacyDonottrackheaderEnabled: GleanBoolean;\n    prefsPrivacyGlobalprivacycontrolEnabled: GleanBoolean;\n    prefsZoomTextOnly: GleanBoolean;\n    processorCount: GleanQuantity;\n    screenHeight: GleanQuantity;\n    screenWidth: GleanQuantity;\n    screens: GleanText;\n    sizeMode: GleanQuantity;\n    speakerCount: GleanQuantity;\n    submissionSchema: GleanQuantity;\n    systemLocale: GleanString;\n    targetFrameRate: GleanQuantity;\n    textAntiAliasing: GleanString;\n    timezone: GleanString;\n    touchRotationAngle: GleanString;\n    useDocumentColors: GleanBoolean;\n    userAgent: GleanText;\n    usingAcceleratedCanvas: GleanBoolean;\n    version: GleanString;\n    voicesAllSsdeep: GleanString;\n    voicesCount: GleanQuantity;\n    voicesDefault: GleanString;\n    voicesLocalCount: GleanQuantity;\n    voicesLocalSsdeep: GleanString;\n    voicesNonlocalSsdeep: GleanString;\n    voicesSample: GleanText;\n    voicesSha1: GleanText;\n    wgpuMaxbindgroups: GleanQuantity;\n    wgpuMaxbindgroupsplusvertexbuffers: GleanQuantity;\n    wgpuMaxbindingsperbindgroup: GleanQuantity;\n    wgpuMaxbuffersize: GleanQuantity;\n    wgpuMaxcolorattachmentbytespersample: GleanQuantity;\n    wgpuMaxcolorattachments: GleanQuantity;\n    wgpuMaxcomputeinvocationsperworkgroup: GleanQuantity;\n    wgpuMaxcomputeworkgroupsizex: GleanQuantity;\n    wgpuMaxcomputeworkgroupsizey: GleanQuantity;\n    wgpuMaxcomputeworkgroupsizez: GleanQuantity;\n    wgpuMaxcomputeworkgroupsperdimension: GleanQuantity;\n    wgpuMaxcomputeworkgroupstoragesize: GleanQuantity;\n    wgpuMaxdynamicstoragebuffersperpipelinelayout: GleanQuantity;\n    wgpuMaxdynamicuniformbuffersperpipelinelayout: GleanQuantity;\n    wgpuMaxinterstageshadervariables: GleanQuantity;\n    wgpuMaxsampledtexturespershaderstage: GleanQuantity;\n    wgpuMaxsamplerspershaderstage: GleanQuantity;\n    wgpuMaxstoragebufferbindingsize: GleanQuantity;\n    wgpuMaxstoragebufferspershaderstage: GleanQuantity;\n    wgpuMaxstoragetexturespershaderstage: GleanQuantity;\n    wgpuMaxtexturearraylayers: GleanQuantity;\n    wgpuMaxtexturedimension1d: GleanQuantity;\n    wgpuMaxtexturedimension2d: GleanQuantity;\n    wgpuMaxtexturedimension3d: GleanQuantity;\n    wgpuMaxuniformbufferbindingsize: GleanQuantity;\n    wgpuMaxuniformbufferspershaderstage: GleanQuantity;\n    wgpuMaxvertexattributes: GleanQuantity;\n    wgpuMaxvertexbufferarraystride: GleanQuantity;\n    wgpuMaxvertexbuffers: GleanQuantity;\n    wgpuMinstoragebufferoffsetalignment: GleanQuantity;\n    wgpuMinuniformbufferoffsetalignment: GleanQuantity;\n    wgpuMissingFeatures: GleanString;\n    zoomCount: GleanQuantity;\n  }\n\n  fingerprintingProtection: {\n    canvasNoiseCalculateTime2: GleanTimingDistribution;\n  }\n\n  browserSearchinit: {\n    engineInvalidWebextension: Record<string, GleanQuantity>;\n    insecureOpensearchEngineCount: GleanQuantity;\n    insecureOpensearchUpdateCount: GleanQuantity;\n    secureOpensearchEngineCount: GleanQuantity;\n    secureOpensearchUpdateCount: GleanQuantity;\n  }\n\n  search: {\n    suggestionsLatency: Record<string, GleanTimingDistribution>;\n  }\n\n  searchEngineDefault: {\n    changed: GleanEventWithExtras<{ change_reason?: string, new_display_name?: string, new_engine_id?: string, new_load_path?: string, new_submission_url?: string, previous_engine_id?: string }>;\n    displayName: GleanString;\n    engineId: GleanString;\n    loadPath: GleanString;\n    overriddenByThirdParty: GleanBoolean;\n    partnerCode: GleanString;\n    providerId: GleanString;\n    submissionUrl: GleanUrl;\n  }\n\n  searchEnginePrivate: {\n    changed: GleanEventWithExtras<{ change_reason?: string, new_display_name?: string, new_engine_id?: string, new_load_path?: string, new_submission_url?: string, previous_engine_id?: string }>;\n    displayName: GleanString;\n    engineId: GleanString;\n    loadPath: GleanString;\n    overriddenByThirdParty: GleanBoolean;\n    partnerCode: GleanString;\n    providerId: GleanString;\n    submissionUrl: GleanUrl;\n  }\n\n  searchService: {\n    initializationStatus: Record<\"failedFetchEngines\"|\"failedLoadEngines\"|\"failedLoadSettingsAddonManager\"|\"failedSettings\"|\"settingsCorrupt\"|\"success\", GleanCounter>;\n    startupTime: GleanTimingDistribution;\n  }\n\n  searchSuggestions: {\n    abortedRequests: Record<string, GleanCounter>;\n    failedRequests: Record<string, GleanCounter>;\n    successfulRequests: Record<string, GleanCounter>;\n  }\n\n  legacyTelemetry: {\n    clientId: GleanUuid;\n    profileGroupId: GleanUuid;\n  }\n\n  onboardingOptOut: {\n    activeExperiments: GleanObject;\n    activeRollouts: GleanObject;\n    enrollmentsMap: GleanObject;\n  }\n\n  telemetry: {\n    archiveCheckingOverQuota: GleanTimingDistribution;\n    archiveDirectoriesCount: GleanCustomDistribution;\n    archiveEvictedOldDirs: GleanCustomDistribution;\n    archiveEvictedOverQuota: GleanCustomDistribution;\n    archiveEvictingDirs: GleanTimingDistribution;\n    archiveEvictingOverQuota: GleanTimingDistribution;\n    archiveOldestDirectoryAge: GleanCustomDistribution;\n    archiveScanPingCount: GleanCustomDistribution;\n    archiveSessionPingCount: GleanCounter;\n    archiveSize: GleanMemoryDistribution;\n    compress: GleanTimingDistribution;\n    dataUploadOptin: GleanBoolean;\n    discardedArchivedPingsSize: GleanMemoryDistribution;\n    discardedPendingPingsSize: GleanMemoryDistribution;\n    discardedSendPingsSize: GleanMemoryDistribution;\n    eventPingSent: Record<\"max\"|\"periodic\"|\"shutdown\", GleanCounter>;\n    eventRecordingError: Record<\"Expired\"|\"Extra\"|\"ExtraKey\"|\"UnknownEvent\"|\"Value\", GleanCounter>;\n    eventRegistrationError: Record<\"Category\"|\"ExtraKeys\"|\"Method\"|\"Name\"|\"Object\"|\"Other\", GleanCounter>;\n    invalidPayloadSubmitted: GleanCounter;\n    invalidPingTypeSubmitted: Record<string, GleanCounter>;\n    pendingCheckingOverQuota: GleanTimingDistribution;\n    pendingEvictingOverQuota: GleanTimingDistribution;\n    pendingLoadFailureParse: GleanCounter;\n    pendingLoadFailureRead: GleanCounter;\n    pendingPingsAge: GleanTimingDistribution;\n    pendingPingsEvictedOverQuota: GleanCustomDistribution;\n    pendingPingsSize: GleanMemoryDistribution;\n    pingEvictedForServerErrors: GleanCounter;\n    pingSizeExceededArchived: GleanCounter;\n    pingSizeExceededPending: GleanCounter;\n    pingSizeExceededSend: GleanCounter;\n    pingSubmissionWaitingClientid: GleanCounter;\n    sendFailure: GleanTimingDistribution;\n    sendFailureType: Record<\"abort\"|\"eChannelOpen\"|\"eOK\"|\"eRedirect\"|\"eRequest\"|\"eTerminated\"|\"eTooLate\"|\"eUnreachable\"|\"timeout\", GleanCounter>;\n    sendSuccess: GleanTimingDistribution;\n    stringify: GleanTimingDistribution;\n    success: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  thirdPartyModules: {\n    blockedModules: GleanStringList;\n    modules: GleanObject;\n    processes: GleanObject;\n  }\n\n  usage: {\n    appBuild: GleanString;\n    appChannel: GleanString;\n    appDisplayVersion: GleanString;\n    distributionId: GleanString;\n    firstRunDate: GleanDatetime;\n    isDefaultBrowser: GleanBoolean;\n    os: GleanString;\n    osVersion: GleanString;\n    profileGroupId: GleanUuid;\n    profileId: GleanUuid;\n    reason: GleanString;\n    windowsBackupEnabled: GleanBoolean;\n    windowsBuildNumber: GleanQuantity;\n    windowsUserProfileAgeInDays: GleanQuantity;\n  }\n\n  telemetryTest: {\n    test1Object1: GleanEventWithExtras<{ key1?: string, key2?: string, value?: string }>;\n    test2Object1: GleanEventWithExtras<{ key1?: string, key2?: string, value?: string }>;\n    test2Object2: GleanEventWithExtras<{ key1?: string, key2?: string, value?: string }>;\n  }\n\n  thumbnails: {\n    captureCanvasDrawTime: GleanTimingDistribution;\n    captureDoneReason2: GleanCustomDistribution;\n    capturePageLoadTime: GleanTimingDistribution;\n    captureQueueTime: GleanTimingDistribution;\n    captureTime: GleanTimingDistribution;\n    queueSizeOnCapture: GleanCustomDistribution;\n    storeTime: GleanTimingDistribution;\n  }\n\n  translations: {\n    enginePerformance: GleanEventWithExtras<{ average_words_per_request?: string, average_words_per_second?: string, flow_id?: string, from_language?: string, to_language?: string, total_completed_requests?: string, total_inference_seconds?: string, total_translated_words?: string }>;\n    error: GleanEventWithExtras<{ flow_id?: string, reason?: string }>;\n    requestCount: Record<\"full_page\"|\"select\", GleanCounter>;\n    restorePage: GleanEventWithExtras<{ flow_id?: string }>;\n    translationRequest: GleanEventWithExtras<{ auto_translate?: string, document_language?: string, flow_id?: string, from_language?: string, request_target?: string, source_text_code_units?: string, source_text_word_count?: string, to_language?: string, top_preferred_language?: string }>;\n  }\n\n  translationsAboutTranslationsPage: {\n    open: GleanEventWithExtras<{ flow_id?: string }>;\n  }\n\n  translationsPanel: {\n    aboutTranslations: GleanEventWithExtras<{ flow_id?: string }>;\n    alwaysOfferTranslations: GleanEventWithExtras<{ flow_id?: string, toggled_on?: string }>;\n    alwaysTranslateLanguage: GleanEventWithExtras<{ flow_id?: string, language?: string, toggled_on?: string }>;\n    cancelButton: GleanEventWithExtras<{ flow_id?: string }>;\n    changeFromLanguage: GleanEventWithExtras<{ flow_id?: string, language?: string }>;\n    changeSourceLanguageButton: GleanEventWithExtras<{ flow_id?: string }>;\n    changeToLanguage: GleanEventWithExtras<{ flow_id?: string, language?: string }>;\n    close: GleanEventWithExtras<{ flow_id?: string }>;\n    closeFromLanguageMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    closeSettingsMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    closeToLanguageMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    dismissErrorButton: GleanEventWithExtras<{ flow_id?: string }>;\n    learnMore: GleanEventWithExtras<{ flow_id?: string }>;\n    manageLanguages: GleanEventWithExtras<{ flow_id?: string }>;\n    neverTranslateLanguage: GleanEventWithExtras<{ flow_id?: string, language?: string, toggled_on?: string }>;\n    neverTranslateSite: GleanEventWithExtras<{ flow_id?: string, toggled_on?: string }>;\n    open: GleanEventWithExtras<{ auto_show?: string, document_language?: string, flow_id?: string, opened_from?: string, view_name?: string }>;\n    openFromLanguageMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    openSettingsMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    openToLanguageMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    restorePageButton: GleanEventWithExtras<{ flow_id?: string }>;\n    translateButton: GleanEventWithExtras<{ flow_id?: string }>;\n  }\n\n  translationsSelectTranslationsPanel: {\n    aboutTranslations: GleanEventWithExtras<{ flow_id?: string }>;\n    cancelButton: GleanEventWithExtras<{ flow_id?: string }>;\n    changeFromLanguage: GleanEventWithExtras<{ document_language?: string, flow_id?: string, language?: string, previous_language?: string }>;\n    changeToLanguage: GleanEventWithExtras<{ flow_id?: string, language?: string }>;\n    close: GleanEventWithExtras<{ flow_id?: string }>;\n    copyButton: GleanEventWithExtras<{ flow_id?: string }>;\n    doneButton: GleanEventWithExtras<{ flow_id?: string }>;\n    initializationFailureMessage: GleanEventWithExtras<{ flow_id?: string }>;\n    open: GleanEventWithExtras<{ document_language?: string, flow_id?: string, from_language?: string, text_source?: string, to_language?: string, top_preferred_language?: string }>;\n    openSettingsMenu: GleanEventWithExtras<{ flow_id?: string }>;\n    translateButton: GleanEventWithExtras<{ detected_language?: string, flow_id?: string, from_language?: string, to_language?: string }>;\n    translateFullPageButton: GleanEventWithExtras<{ flow_id?: string }>;\n    translationFailureMessage: GleanEventWithExtras<{ flow_id?: string, from_language?: string, to_language?: string }>;\n    translationSettings: GleanEventWithExtras<{ flow_id?: string }>;\n    tryAgainButton: GleanEventWithExtras<{ flow_id?: string }>;\n    unsupportedLanguageMessage: GleanEventWithExtras<{ detected_language?: string, document_language?: string, flow_id?: string }>;\n  }\n\n  urlclassifier: {\n    asyncClassifylocalTime: GleanTimingDistribution;\n    clCheckTime: GleanTimingDistribution;\n    clKeyedUpdateTime: Record<string, GleanTimingDistribution>;\n    completeRemoteStatus2: Record<string, GleanCustomDistribution>;\n    completeServerResponseTime: Record<string, GleanTimingDistribution>;\n    completionError: GleanCustomDistribution;\n    lookupTime2: GleanTimingDistribution;\n    shutdownTime: GleanTimingDistribution;\n    threathitNetworkError: GleanCustomDistribution;\n    threathitRemoteStatus: GleanCustomDistribution;\n    uiEvents: GleanCustomDistribution;\n    updateError: Record<string, GleanCustomDistribution>;\n    updateRemoteNetworkError: Record<string, GleanCustomDistribution>;\n    updateRemoteStatus2: Record<string, GleanCustomDistribution>;\n    updateServerResponseTime: Record<string, GleanTimingDistribution>;\n    updateTimeout: Record<string, GleanCustomDistribution>;\n    vlpsConstructTime: GleanTimingDistribution;\n    vlpsFallocateTime: GleanTimingDistribution;\n    vlpsFileloadTime: GleanTimingDistribution;\n    vlpsMetadataCorrupt: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  findbar: {\n    findNext: GleanCounter;\n    findPrev: GleanCounter;\n    highlightAll: GleanCounter;\n    matchCase: GleanCounter;\n    matchDiacritics: GleanCounter;\n    shown: GleanCounter;\n    wholeWords: GleanCounter;\n  }\n\n  securityDohNeterror: {\n    clickAddExceptionButton: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    clickContinueButton: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    clickDisableWarning: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    clickLearnMoreLink: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    clickSettingsButton: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    clickTryAgainButton: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n    loadDohwarning: GleanEventWithExtras<{ mode?: string, provider_key?: string, skip_reason?: string, value?: string }>;\n  }\n\n  securityUiCerterror: {\n    clickAdvancedButton: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickAutoReportCb: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickClipboardButtonBot: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickClipboardButtonTop: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickErrorCodeLink: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickExceptionButton: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickLearnMoreLink: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickReturnButtonAdv: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    clickReturnButtonTop: GleanEventWithExtras<{ has_sts?: string, is_frame?: string, value?: string }>;\n    loadAboutcerterror: GleanEventWithExtras<{ channel_status?: string, has_sts?: string, is_frame?: string, issued_by_cca?: string, value?: string }>;\n  }\n\n  securityUiTlserror: {\n    loadAbouttlserror: GleanEventWithExtras<{ channel_status?: string, is_frame?: string, value?: string }>;\n  }\n\n  mozstorage: {\n    sqlitejsmTransactionTimeout: Record<string, GleanCounter>;\n  }\n\n  region: {\n    fetchResult: GleanCustomDistribution;\n    fetchTime: GleanTimingDistribution;\n    homeRegion: GleanString;\n    storeRegionResult: Record<\"ignoredUnitedStatesIncorrectTimezone\"|\"setForRestOfWorld\"|\"setForUnitedStates\", GleanCounter>;\n  }\n\n  firstStartup: {\n    deleteTasksTime: GleanQuantity;\n    elapsed: GleanQuantity;\n    newProfile: GleanBoolean;\n    normandyInitTime: GleanQuantity;\n    statusCode: GleanQuantity;\n  }\n\n  jsonfile: {\n    loadAutofillprofiles: GleanEventWithExtras<{ value?: string }>;\n    loadLogins: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  newtabPage: {\n    blockedSitesCount: GleanCustomDistribution;\n    pinnedSitesCount: GleanCustomDistribution;\n  }\n\n  popupNotification: {\n    dismissal: Record<string, GleanTimingDistribution>;\n    mainAction: Record<string, GleanTimingDistribution>;\n    stats: Record<string, GleanCustomDistribution>;\n  }\n\n  serviceRequest: {\n    bypassProxyInfo: GleanEventWithExtras<{ source?: string, type?: string, value?: string }>;\n  }\n\n  defaultagent: {\n    daysSinceLastAppLaunch: GleanQuantity;\n  }\n\n  notification: {\n    action: GleanString;\n    showSuccess: GleanBoolean;\n  }\n\n  system: {\n    osVersion: GleanString;\n    previousOsVersion: GleanString;\n    appleModelId: GleanString;\n    hasWinPackageId: GleanBoolean;\n    isWow64: GleanBoolean;\n    isWowArm64: GleanBoolean;\n    memory: GleanQuantity;\n    specialDirectoryAppdataFallback: Record<\"appdata\"|\"localappdata\", GleanBoolean>;\n    virtualMemory: GleanQuantity;\n    winPackageFamilyName: GleanString;\n  }\n\n  systemDefault: {\n    browser: GleanString;\n    pdfHandler: GleanString;\n    previousBrowser: GleanString;\n  }\n\n  addons: {\n    activeAddons: GleanObject;\n    activeGMPlugins: GleanObject;\n    theme: GleanObject;\n  }\n\n  addonsManager: {\n    compatibilityCheckEnabled: GleanBoolean;\n    install: GleanEventWithExtras<{ addon_id?: string, addon_type?: string, download_time?: string, error?: string, install_id?: string, install_origins?: string, num_strings?: string, source?: string, source_method?: string, step?: string, updated_from?: string }>;\n    installStats: GleanEventWithExtras<{ addon_id?: string, addon_type?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string }>;\n    manage: GleanEventWithExtras<{ addon_id?: string, addon_type?: string, blocklist_state?: string, method?: string, num_strings?: string, source?: string, source_method?: string }>;\n    reportSuspiciousSite: GleanEventWithExtras<{ suspicious_site?: string }>;\n    update: GleanEventWithExtras<{ addon_id?: string, addon_type?: string, download_time?: string, error?: string, install_id?: string, install_origins?: string, num_strings?: string, source?: string, source_method?: string, step?: string, updated_from?: string }>;\n    xpistatesWriteErrors: GleanEventWithExtras<{ error_type?: string, profile_state?: string }>;\n    disableDictionary: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableExtension: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableLocale: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableOther: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableSitepermDeprecated: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableSitepermission: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableTheme: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    disableUnknown: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableDictionary: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableExtension: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableLocale: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableOther: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableSitepermDeprecated: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableSitepermission: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableTheme: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    enableUnknown: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    installDictionary: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installExtension: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installLocale: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installOther: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installSitepermDeprecated: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installSitepermission: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installStatsDictionary: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsExtension: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsLocale: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsOther: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsSitepermDeprecated: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsSitepermission: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsTheme: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installStatsUnknown: GleanEventWithExtras<{ addon_id?: string, taar_based?: string, utm_campaign?: string, utm_content?: string, utm_medium?: string, utm_source?: string, value?: string }>;\n    installTheme: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    installUnknown: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    sideloadPromptDictionary: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptExtension: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptLocale: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptOther: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptSitepermDeprecated: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptSitepermission: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptTheme: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    sideloadPromptUnknown: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallDictionary: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallExtension: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallLocale: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallOther: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallSitepermDeprecated: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallSitepermission: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallTheme: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    uninstallUnknown: GleanEventWithExtras<{ blocklist_state?: string, method?: string, num_strings?: string, source?: string, value?: string }>;\n    updateDictionary: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateExtension: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateLocale: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateOther: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateSitepermDeprecated: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateSitepermission: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateTheme: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n    updateUnknown: GleanEventWithExtras<{ addon_id?: string, download_time?: string, error?: string, install_origins?: string, method?: string, num_strings?: string, source?: string, step?: string, updated_from?: string, value?: string }>;\n  }\n\n  blocklist: {\n    addonBlockChange: GleanEventWithExtras<{ addon_version?: string, blocklist_state?: string, hours_since?: string, mlbf_generation?: string, mlbf_last_time?: string, mlbf_softblocks_generation?: string, mlbf_softblocks_source?: string, mlbf_source?: string, object?: string, signed_date?: string, value?: string }>;\n    enabled: GleanBoolean;\n    lastModifiedRsAddonsMblf: GleanDatetime;\n    mlbfGenerationTime: GleanDatetime;\n    mlbfSoftblocksGenerationTime: GleanDatetime;\n    mlbfSoftblocksSource: GleanString;\n    mlbfSource: GleanString;\n    mlbfStashTimeNewest: GleanDatetime;\n    mlbfStashTimeOldest: GleanDatetime;\n  }\n\n  update: {\n    autoDownload: GleanBoolean;\n    backgroundUpdate: GleanBoolean;\n    canUsuallyApplyUpdates: GleanBoolean;\n    canUsuallyCheckForUpdates: GleanBoolean;\n    canUsuallyStageUpdates: GleanBoolean;\n    canUsuallyUseBits: GleanBoolean;\n    channel: GleanString;\n    enabled: GleanBoolean;\n    serviceEnabled: GleanBoolean;\n    bitsResultComplete: GleanCustomDistribution;\n    bitsResultPartial: GleanCustomDistribution;\n    canUseBitsExternal: Record<\"CanUseBits\"|\"NoBits_FeatureOff\"|\"NoBits_NotWindows\"|\"NoBits_OtherUser\"|\"NoBits_Pref\"|\"NoBits_Proxy\", GleanCounter>;\n    canUseBitsNotify: Record<\"CanUseBits\"|\"NoBits_FeatureOff\"|\"NoBits_NotWindows\"|\"NoBits_OtherUser\"|\"NoBits_Pref\"|\"NoBits_Proxy\", GleanCounter>;\n    canUseBitsSubsequent: Record<\"CanUseBits\"|\"NoBits_FeatureOff\"|\"NoBits_NotWindows\"|\"NoBits_OtherUser\"|\"NoBits_Pref\"|\"NoBits_Proxy\", GleanCounter>;\n    cannotStageExternal: GleanCounter;\n    cannotStageNotify: GleanCounter;\n    cannotStageSubsequent: GleanCounter;\n    checkCodeExternal: GleanCustomDistribution;\n    checkCodeNotify: GleanCustomDistribution;\n    checkCodeSubsequent: GleanCustomDistribution;\n    checkExtendedErrorExternal: Record<string, GleanCounter>;\n    checkExtendedErrorNotify: Record<string, GleanCounter>;\n    checkExtendedErrorSubsequent: Record<string, GleanCounter>;\n    checkNoUpdateExternal: GleanCounter;\n    checkNoUpdateNotify: GleanCounter;\n    checkNoUpdateSubsequent: GleanCounter;\n    downloadCodeComplete: GleanCustomDistribution;\n    downloadCodePartial: GleanCustomDistribution;\n    downloadCodeUnknown: GleanCustomDistribution;\n    invalidLastupdatetimeExternal: GleanCounter;\n    invalidLastupdatetimeNotify: GleanCounter;\n    invalidLastupdatetimeSubsequent: GleanCounter;\n    langpackOvertime: GleanTimingDistribution;\n    lastNotifyIntervalDaysExternal: GleanTimingDistribution;\n    lastNotifyIntervalDaysNotify: GleanTimingDistribution;\n    lastNotifyIntervalDaysSubsequent: GleanTimingDistribution;\n    notPrefUpdateAutoExternal: GleanCounter;\n    notPrefUpdateAutoNotify: GleanCounter;\n    notPrefUpdateAutoSubsequent: GleanCounter;\n    notPrefUpdateServiceEnabledExternal: GleanCounter;\n    notPrefUpdateServiceEnabledNotify: GleanCounter;\n    notPrefUpdateServiceEnabledSubsequent: GleanCounter;\n    notPrefUpdateStagingEnabledExternal: GleanCounter;\n    notPrefUpdateStagingEnabledNotify: GleanCounter;\n    notPrefUpdateStagingEnabledSubsequent: GleanCounter;\n    notificationBadgeShown: Record<\"available\"|\"manual\"|\"otherinstance\"|\"restart\"|\"unsupported\", GleanCounter>;\n    notificationDismissed: Record<\"available\"|\"manual\"|\"otherinstance\"|\"restart\"|\"unsupported\", GleanCounter>;\n    notificationMainActionDoorhanger: Record<\"available\"|\"manual\"|\"otherinstance\"|\"restart\"|\"unsupported\", GleanCounter>;\n    notificationMainActionMenu: Record<\"available\"|\"manual\"|\"otherinstance\"|\"restart\"|\"unsupported\", GleanCounter>;\n    notificationShown: Record<\"available\"|\"manual\"|\"otherinstance\"|\"restart\"|\"unsupported\", GleanCounter>;\n    pingCountExternal: GleanCounter;\n    pingCountNotify: GleanCounter;\n    pingCountSubsequent: GleanCounter;\n    prefServiceErrorsExternal: GleanCustomDistribution;\n    prefServiceErrorsNotify: GleanCustomDistribution;\n    prefServiceErrorsSubsequent: GleanCustomDistribution;\n    prefUpdateCancelationsExternal: GleanCustomDistribution;\n    prefUpdateCancelationsNotify: GleanCustomDistribution;\n    prefUpdateCancelationsSubsequent: GleanCustomDistribution;\n    previousBuildId: GleanString;\n    previousChannel: GleanString;\n    previousVersion: GleanString;\n    serviceInstalledExternal: Record<\"false\"|\"true\", GleanCounter>;\n    serviceInstalledNotify: Record<\"false\"|\"true\", GleanCounter>;\n    serviceInstalledSubsequent: Record<\"false\"|\"true\", GleanCounter>;\n    serviceManuallyUninstalledExternal: GleanCounter;\n    serviceManuallyUninstalledNotify: GleanCounter;\n    serviceManuallyUninstalledSubsequent: GleanCounter;\n    stateCodeCompleteStage: GleanCustomDistribution;\n    stateCodeCompleteStartup: GleanCustomDistribution;\n    stateCodePartialStage: GleanCustomDistribution;\n    stateCodePartialStartup: GleanCustomDistribution;\n    stateCodeUnknownStage: GleanCustomDistribution;\n    stateCodeUnknownStartup: GleanCustomDistribution;\n    statusErrorCodeCompleteStage: GleanCustomDistribution;\n    statusErrorCodeCompleteStartup: GleanCustomDistribution;\n    statusErrorCodePartialStage: GleanCustomDistribution;\n    statusErrorCodePartialStartup: GleanCustomDistribution;\n    statusErrorCodeUnknownStage: GleanCustomDistribution;\n    statusErrorCodeUnknownStartup: GleanCustomDistribution;\n    targetBuildId: GleanString;\n    targetChannel: GleanString;\n    targetDisplayVersion: GleanString;\n    targetVersion: GleanString;\n    unableToApplyExternal: GleanCounter;\n    unableToApplyNotify: GleanCounter;\n    unableToApplySubsequent: GleanCounter;\n    bitshresult: Record<string, GleanCounter>;\n    moveResult: Record<string, GleanCounter>;\n    noWindowAutoRestarts: GleanCounter;\n    suppressPrompts: GleanBoolean;\n    versionPin: GleanString;\n  }\n\n  updateSettings: {\n    autoDownload: GleanBoolean;\n    background: GleanBoolean;\n    channel: GleanString;\n    enabled: GleanBoolean;\n  }\n\n  updater: {\n    available: GleanBoolean;\n  }\n\n  profiles: {\n    creationDate: GleanQuantity;\n    firstUseDate: GleanQuantity;\n    recoveredFromBackup: GleanQuantity;\n    resetDate: GleanQuantity;\n  }\n\n  e10s: {\n    enabled: GleanBoolean;\n    multiProcesses: GleanQuantity;\n  }\n\n  fission: {\n    enabled: GleanBoolean;\n  }\n\n  gecko: {\n    buildId: GleanString;\n    safeModeUsage: GleanCustomDistribution;\n    version: GleanString;\n  }\n\n  launcherProcess: {\n    state: GleanQuantity;\n  }\n\n  widget: {\n    imeNameOnMac: Record<string, GleanBoolean>;\n    gtkVersion: GleanString;\n    imeNameOnLinux: Record<string, GleanBoolean>;\n    darkMode: GleanBoolean;\n    notifyIdle: GleanTimingDistribution;\n    pointingDevices: Record<\"mouse\"|\"pen\"|\"touch\", GleanBoolean>;\n    imeNameOnWindows: Record<string, GleanBoolean>;\n    imeNameOnWindowsInsertedCrlf: Record<string, GleanBoolean>;\n    touchEnabledDevice: Record<\"false\"|\"true\", GleanCounter>;\n  }\n\n  gfxFeatures: {\n    compositor: GleanString;\n    d2d: GleanObject;\n    d3d11: GleanObject;\n    gpuProcess: GleanObject;\n    hwCompositing: GleanObject;\n    omtp: GleanObject;\n    openglCompositing: GleanObject;\n    webrender: GleanObject;\n    wrCompositor: GleanObject;\n  }\n\n  windowsSecurity: {\n    antispyware: GleanStringList;\n    antivirus: GleanStringList;\n    firewall: GleanStringList;\n  }\n\n  cycleCollector: {\n    asyncSnowWhiteFreeing: GleanTimingDistribution;\n    collected: GleanCustomDistribution;\n    deferredFinalizeAsync: GleanTimingDistribution;\n    finishIgc: Record<\"false\"|\"true\", GleanCounter>;\n    forgetSkippableMax: GleanTimingDistribution;\n    full: GleanTimingDistribution;\n    maxPause: GleanTimingDistribution;\n    needGc: Record<\"false\"|\"true\", GleanCounter>;\n    sliceDuringIdle: GleanCustomDistribution;\n    syncSkippable: Record<\"false\"|\"true\", GleanCounter>;\n    time: GleanTimingDistribution;\n    timeBetween: GleanTimingDistribution;\n    visitedGced: GleanCustomDistribution;\n    visitedRefCounted: GleanCustomDistribution;\n    workerCollected: GleanCustomDistribution;\n    workerNeedGc: Record<\"false\"|\"true\", GleanCounter>;\n    workerTime: GleanTimingDistribution;\n    workerVisitedGced: GleanCustomDistribution;\n    workerVisitedRefCounted: GleanCustomDistribution;\n  }\n\n  event: {\n    longtask: Record<string, GleanTimingDistribution>;\n  }\n\n  hdd: {\n    binary: GleanObject;\n    profile: GleanObject;\n    system: GleanObject;\n  }\n\n  memoryPhc: {\n    slop: GleanMemoryDistribution;\n    slotsAllocated: GleanCustomDistribution;\n    slotsFreed: GleanCustomDistribution;\n  }\n\n  memoryWatcher: {\n    onHighMemoryStats: GleanEventWithExtras<{ value?: string }>;\n  }\n\n  systemCpu: {\n    bigCores: GleanQuantity;\n    extensions: GleanStringList;\n    family: GleanQuantity;\n    l2Cache: GleanQuantity;\n    l3Cache: GleanQuantity;\n    littleCores: GleanQuantity;\n    logicalCores: GleanQuantity;\n    mediumCores: GleanQuantity;\n    model: GleanQuantity;\n    name: GleanString;\n    physicalCores: GleanQuantity;\n    speed: GleanQuantity;\n    stepping: GleanQuantity;\n    vendor: GleanString;\n  }\n\n  systemOs: {\n    distro: GleanString;\n    distroVersion: GleanString;\n    locale: GleanString;\n    name: GleanString;\n    servicePackMajor: GleanQuantity;\n    servicePackMinor: GleanQuantity;\n    version: GleanString;\n    windowsBuildNumber: GleanQuantity;\n    windowsUbr: GleanQuantity;\n  }\n\n  timerThread: {\n    timersFiredPerWakeup: GleanCustomDistribution;\n  }\n\n  xpcom: {\n    abi: GleanString;\n  }\n}\n\ninterface GleanPingsImpl {\n  messagingSystem: GleanPingNoReason;\n  newtab: GleanPingWithReason<\"component_init\"|\"newtab_session_end\">;\n  newtabContent: GleanPingWithReason<\"component_init\"|\"newtab_session_end\">;\n  spoc: GleanPingWithReason<\"click\"|\"impression\"|\"save\">;\n  topSites: GleanPingNoReason;\n  pocketButton: GleanPingNoReason;\n  searchWith: GleanPingNoReason;\n  serpCategorization: GleanPingWithReason<\"inactivity\"|\"startup\"|\"threshold_reached\">;\n  quickSuggest: GleanPingNoReason;\n  quickSuggestDeletionRequest: GleanPingNoReason;\n  urlbarKeywordExposure: GleanPingNoReason;\n  contextIdDeletionRequest: GleanPingNoReason;\n  prototypeNoCodeEvents: GleanPingNoReason;\n  pageload: GleanPingWithReason<\"startup\"|\"threshold\">;\n  useCounters: GleanPingWithReason<\"app_shutdown_confirmed\"|\"idle_startup\">;\n  fxAccounts: GleanPingWithReason<\"active\"|\"dirty_startup\"|\"inactive\">;\n  sync: GleanPingWithReason<\"idchanged\"|\"schedule\"|\"shutdown\">;\n  bounceTrackingProtection: GleanPingNoReason;\n  hangReport: GleanPingNoReason;\n  backgroundTasks: GleanPingNoReason;\n  captchaDetection: GleanPingNoReason;\n  crash: GleanPingWithReason<\"crash\"|\"event_found\">;\n  dauReporting: GleanPingWithReason<\"active\"|\"dirty_startup\"|\"inactive\">;\n  collectionDisabledPing: GleanPingNoReason;\n  disabledPing: GleanPingNoReason;\n  onePingOnly: GleanPingNoReason;\n  rideAlongPing: GleanPingNoReason;\n  testOhttpPing: GleanPingNoReason;\n  testPing: GleanPingNoReason;\n  heartbeat: GleanPingNoReason;\n  nimbusTargetingContext: GleanPingNoReason;\n  brokenSiteReport: GleanPingNoReason;\n  userCharacteristics: GleanPingNoReason;\n  onboardingOptOut: GleanPingWithReason<\"set_upload_enabled\">;\n  thirdPartyModules: GleanPingNoReason;\n  usageDeletionRequest: GleanPingWithReason<\"set_upload_enabled\">;\n  usageReporting: GleanPingWithReason<\"active\"|\"dirty_startup\"|\"inactive\">;\n  firstStartup: GleanPingNoReason;\n  defaultAgent: GleanPingWithReason<\"daily_ping\">;\n  backgroundUpdate: GleanPingWithReason<\"backgroundupdate_task\">;\n  update: GleanPingWithReason<\"ready\"|\"success\">;\n}\n\ntype GleanEventNoExtras = Omit<GleanEvent, \"record\"> & { record(_?: never) };\ntype GleanEventWithExtras<T> = Omit<GleanEvent, \"record\"> & { record(extras: T) };\n\ntype GleanPingNoReason = Omit<nsIGleanPing, \"submit\"> & { submit(_?: never) };\ntype GleanPingWithReason<T> = Omit<nsIGleanPing, \"submit\"> & { submit(reason: T) };\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from source XPCOM .idl files.\n * If you're updating some of the sources, see README for instructions.\n */\n\ndeclare global {\n\n// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIGNOMEShellService.idl\n\ninterface nsIGNOMEShellService extends nsIShellService {\n  readonly canSetDesktopBackground: boolean;\n  isDefaultForScheme(aScheme: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIOpenTabsProvider.idl\n\ninterface nsIOpenTabsProvider extends nsISupports {\n  getOpenTabs(): string[];\n  switchToOpenTab(url: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIApplicationChooser.idl\n\ntype nsIApplicationChooserFinishedCallback = Callable<{\n  done(handlerApp: nsIHandlerApp): void;\n}>\n\ninterface nsIApplicationChooser extends nsISupports {\n  init(parent: mozIDOMWindowProxy, title: string): void;\n  open(contentType: string, applicationChooserFinishedCallback: nsIApplicationChooserFinishedCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIGtkTaskbarProgress.idl\n\ninterface nsIGtkTaskbarProgress extends nsITaskbarProgress {\n  setPrimaryWindow(aWindow: mozIDOMWindowProxy): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl\n\ninterface nsITaskbarProgress extends nsISupports {\n  readonly STATE_NO_PROGRESS?: 0;\n  readonly STATE_INDETERMINATE?: 1;\n  readonly STATE_NORMAL?: 2;\n  readonly STATE_ERROR?: 3;\n  readonly STATE_PAUSED?: 4;\n\n  setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void;\n}\n\ninterface nsIXPCComponents_Interfaces {\n  nsIGNOMEShellService: nsJSIID<nsIGNOMEShellService>;\n  nsIOpenTabsProvider: nsJSIID<nsIOpenTabsProvider>;\n  nsIApplicationChooserFinishedCallback: nsJSIID<nsIApplicationChooserFinishedCallback>;\n  nsIApplicationChooser: nsJSIID<nsIApplicationChooser>;\n  nsIGtkTaskbarProgress: nsJSIID<nsIGtkTaskbarProgress>;\n  nsITaskbarProgress: nsJSIID<nsITaskbarProgress>;\n}\n\n}  // global\n\n// Typedefs from xpidl.\ntype PRTime = i64;\ntype nsHandlerInfoAction = i32;\ntype nsTaskbarProgressState = i32;\n\n// XPCOM internal utility types.\n\n/** XPCOM inout param is passed in as a js object with a value property. */\ntype InOutParam<T> = { value: T };\n\n/** XPCOM out param is written to the passed in object's value property. */\ntype OutParam<T> = { value?: T };\n\n/** Enable interfaces to inherit from enums: pick variants as optional. */\ntype Enums<enums> = Partial<Pick<enums, keyof enums>>;\n\n/** Callable accepts either form of a [function] interface. */\ntype Callable<iface> = iface | Extract<iface[keyof iface], Function>\n\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated by running \"mach ts paths\".\n */\n\n  \"chrome://browser/content/backup/backup-constants.mjs\": typeof import(\"chrome://browser/content/backup/backup-constants.mjs\"),\n  \"chrome://browser/content/migration/migration-wizard-constants.mjs\": typeof import(\"chrome://browser/content/migration/migration-wizard-constants.mjs\"),\n  \"chrome://browser/content/nsContextMenu.sys.mjs\": typeof import(\"chrome://browser/content/nsContextMenu.sys.mjs\"),\n  \"chrome://devtools-startup/content/DevToolsShim.sys.mjs\": typeof import(\"chrome://devtools-startup/content/DevToolsShim.sys.mjs\"),\n  \"chrome://global/content/ml/BlockWords.sys.mjs\": typeof import(\"chrome://global/content/ml/BlockWords.sys.mjs\"),\n  \"chrome://global/content/ml/EmbeddingsGenerator.sys.mjs\": typeof import(\"chrome://global/content/ml/EmbeddingsGenerator.sys.mjs\"),\n  \"chrome://global/content/ml/EngineProcess.sys.mjs\": typeof import(\"chrome://global/content/ml/EngineProcess.sys.mjs\"),\n  \"chrome://global/content/ml/HttpInference.sys.mjs\": typeof import(\"chrome://global/content/ml/HttpInference.sys.mjs\"),\n  \"chrome://global/content/ml/ModelHub.sys.mjs\": typeof import(\"chrome://global/content/ml/ModelHub.sys.mjs\"),\n  \"chrome://global/content/ml/OPFS.sys.mjs\": typeof import(\"chrome://global/content/ml/OPFS.sys.mjs\"),\n  \"chrome://global/content/ml/ThomSample.sys.mjs\": typeof import(\"chrome://global/content/ml/ThomSample.sys.mjs\"),\n  \"chrome://global/content/ml/Utils.sys.mjs\": typeof import(\"chrome://global/content/ml/Utils.sys.mjs\"),\n  \"chrome://global/content/ml/backends/LlamaPipeline.mjs\": typeof import(\"chrome://global/content/ml/backends/LlamaPipeline.mjs\"),\n  \"chrome://global/content/ml/backends/ONNXPipeline.mjs\": typeof import(\"chrome://global/content/ml/backends/ONNXPipeline.mjs\"),\n  \"chrome://global/content/ml/backends/Pipeline.mjs\": typeof import(\"chrome://global/content/ml/backends/Pipeline.mjs\"),\n  \"chrome://global/content/translations/TranslationsTelemetry.sys.mjs\": typeof import(\"chrome://global/content/translations/TranslationsTelemetry.sys.mjs\"),\n  \"chrome://global/content/translations/TranslationsUtils.mjs\": typeof import(\"chrome://global/content/translations/TranslationsUtils.mjs\"),\n  \"chrome://global/content/translations/translations-document.sys.mjs\": typeof import(\"chrome://global/content/translations/translations-document.sys.mjs\"),\n  \"chrome://global/content/translations/translations-engine.sys.mjs\": typeof import(\"chrome://global/content/translations/translations-engine.sys.mjs\"),\n  \"chrome://mochitests/content/browser/remote/shared/messagehandler/test/browser/resources/modules/ModuleRegistry.sys.mjs\": typeof import(\"chrome://mochitests/content/browser/remote/shared/messagehandler/test/browser/resources/modules/ModuleRegistry.sys.mjs\"),\n  \"chrome://pocket/content/pktApi.sys.mjs\": typeof import(\"chrome://pocket/content/pktApi.sys.mjs\"),\n  \"chrome://remote/content/components/Marionette.sys.mjs\": typeof import(\"chrome://remote/content/components/Marionette.sys.mjs\"),\n  \"chrome://remote/content/components/RemoteAgent.sys.mjs\": typeof import(\"chrome://remote/content/components/RemoteAgent.sys.mjs\"),\n  \"chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs\": typeof import(\"chrome://remote/content/marionette/actors/MarionetteCommandsParent.sys.mjs\"),\n  \"chrome://remote/content/marionette/actors/MarionetteEventsParent.sys.mjs\": typeof import(\"chrome://remote/content/marionette/actors/MarionetteEventsParent.sys.mjs\"),\n  \"chrome://remote/content/marionette/atom.sys.mjs\": typeof import(\"chrome://remote/content/marionette/atom.sys.mjs\"),\n  \"chrome://remote/content/marionette/browser.sys.mjs\": typeof import(\"chrome://remote/content/marionette/browser.sys.mjs\"),\n  \"chrome://remote/content/marionette/cookie.sys.mjs\": typeof import(\"chrome://remote/content/marionette/cookie.sys.mjs\"),\n  \"chrome://remote/content/marionette/driver.sys.mjs\": typeof import(\"chrome://remote/content/marionette/driver.sys.mjs\"),\n  \"chrome://remote/content/marionette/evaluate.sys.mjs\": typeof import(\"chrome://remote/content/marionette/evaluate.sys.mjs\"),\n  \"chrome://remote/content/marionette/interaction.sys.mjs\": typeof import(\"chrome://remote/content/marionette/interaction.sys.mjs\"),\n  \"chrome://remote/content/marionette/json.sys.mjs\": typeof import(\"chrome://remote/content/marionette/json.sys.mjs\"),\n  \"chrome://remote/content/marionette/l10n.sys.mjs\": typeof import(\"chrome://remote/content/marionette/l10n.sys.mjs\"),\n  \"chrome://remote/content/marionette/message.sys.mjs\": typeof import(\"chrome://remote/content/marionette/message.sys.mjs\"),\n  \"chrome://remote/content/marionette/navigate.sys.mjs\": typeof import(\"chrome://remote/content/marionette/navigate.sys.mjs\"),\n  \"chrome://remote/content/marionette/packets.sys.mjs\": typeof import(\"chrome://remote/content/marionette/packets.sys.mjs\"),\n  \"chrome://remote/content/marionette/prefs.sys.mjs\": typeof import(\"chrome://remote/content/marionette/prefs.sys.mjs\"),\n  \"chrome://remote/content/marionette/reftest.sys.mjs\": typeof import(\"chrome://remote/content/marionette/reftest.sys.mjs\"),\n  \"chrome://remote/content/marionette/server.sys.mjs\": typeof import(\"chrome://remote/content/marionette/server.sys.mjs\"),\n  \"chrome://remote/content/marionette/stream-utils.sys.mjs\": typeof import(\"chrome://remote/content/marionette/stream-utils.sys.mjs\"),\n  \"chrome://remote/content/marionette/sync.sys.mjs\": typeof import(\"chrome://remote/content/marionette/sync.sys.mjs\"),\n  \"chrome://remote/content/marionette/transport.sys.mjs\": typeof import(\"chrome://remote/content/marionette/transport.sys.mjs\"),\n  \"chrome://remote/content/marionette/web-reference.sys.mjs\": typeof import(\"chrome://remote/content/marionette/web-reference.sys.mjs\"),\n  \"chrome://remote/content/marionette/webauthn.sys.mjs\": typeof import(\"chrome://remote/content/marionette/webauthn.sys.mjs\"),\n  \"chrome://remote/content/server/WebSocketHandshake.sys.mjs\": typeof import(\"chrome://remote/content/server/WebSocketHandshake.sys.mjs\"),\n  \"chrome://remote/content/server/WebSocketTransport.sys.mjs\": typeof import(\"chrome://remote/content/server/WebSocketTransport.sys.mjs\"),\n  \"chrome://remote/content/server/httpd.sys.mjs\": typeof import(\"chrome://remote/content/server/httpd.sys.mjs\"),\n  \"chrome://remote/content/shared/Addon.sys.mjs\": typeof import(\"chrome://remote/content/shared/Addon.sys.mjs\"),\n  \"chrome://remote/content/shared/AppInfo.sys.mjs\": typeof import(\"chrome://remote/content/shared/AppInfo.sys.mjs\"),\n  \"chrome://remote/content/shared/AsyncQueue.sys.mjs\": typeof import(\"chrome://remote/content/shared/AsyncQueue.sys.mjs\"),\n  \"chrome://remote/content/shared/Browser.sys.mjs\": typeof import(\"chrome://remote/content/shared/Browser.sys.mjs\"),\n  \"chrome://remote/content/shared/Capture.sys.mjs\": typeof import(\"chrome://remote/content/shared/Capture.sys.mjs\"),\n  \"chrome://remote/content/shared/ChallengeHeaderParser.sys.mjs\": typeof import(\"chrome://remote/content/shared/ChallengeHeaderParser.sys.mjs\"),\n  \"chrome://remote/content/shared/DOM.sys.mjs\": typeof import(\"chrome://remote/content/shared/DOM.sys.mjs\"),\n  \"chrome://remote/content/shared/Format.sys.mjs\": typeof import(\"chrome://remote/content/shared/Format.sys.mjs\"),\n  \"chrome://remote/content/shared/Log.sys.mjs\": typeof import(\"chrome://remote/content/shared/Log.sys.mjs\"),\n  \"chrome://remote/content/shared/MobileTabBrowser.sys.mjs\": typeof import(\"chrome://remote/content/shared/MobileTabBrowser.sys.mjs\"),\n  \"chrome://remote/content/shared/Navigate.sys.mjs\": typeof import(\"chrome://remote/content/shared/Navigate.sys.mjs\"),\n  \"chrome://remote/content/shared/NavigationManager.sys.mjs\": typeof import(\"chrome://remote/content/shared/NavigationManager.sys.mjs\"),\n  \"chrome://remote/content/shared/NetworkCacheManager.sys.mjs\": typeof import(\"chrome://remote/content/shared/NetworkCacheManager.sys.mjs\"),\n  \"chrome://remote/content/shared/NetworkDecodedBodySizeMap.sys.mjs\": typeof import(\"chrome://remote/content/shared/NetworkDecodedBodySizeMap.sys.mjs\"),\n  \"chrome://remote/content/shared/NetworkRequest.sys.mjs\": typeof import(\"chrome://remote/content/shared/NetworkRequest.sys.mjs\"),\n  \"chrome://remote/content/shared/NetworkResponse.sys.mjs\": typeof import(\"chrome://remote/content/shared/NetworkResponse.sys.mjs\"),\n  \"chrome://remote/content/shared/PDF.sys.mjs\": typeof import(\"chrome://remote/content/shared/PDF.sys.mjs\"),\n  \"chrome://remote/content/shared/Permissions.sys.mjs\": typeof import(\"chrome://remote/content/shared/Permissions.sys.mjs\"),\n  \"chrome://remote/content/shared/Prompt.sys.mjs\": typeof import(\"chrome://remote/content/shared/Prompt.sys.mjs\"),\n  \"chrome://remote/content/shared/Realm.sys.mjs\": typeof import(\"chrome://remote/content/shared/Realm.sys.mjs\"),\n  \"chrome://remote/content/shared/RecommendedPreferences.sys.mjs\": typeof import(\"chrome://remote/content/shared/RecommendedPreferences.sys.mjs\"),\n  \"chrome://remote/content/shared/Stack.sys.mjs\": typeof import(\"chrome://remote/content/shared/Stack.sys.mjs\"),\n  \"chrome://remote/content/shared/Sync.sys.mjs\": typeof import(\"chrome://remote/content/shared/Sync.sys.mjs\"),\n  \"chrome://remote/content/shared/TabManager.sys.mjs\": typeof import(\"chrome://remote/content/shared/TabManager.sys.mjs\"),\n  \"chrome://remote/content/shared/UUID.sys.mjs\": typeof import(\"chrome://remote/content/shared/UUID.sys.mjs\"),\n  \"chrome://remote/content/shared/UserContextManager.sys.mjs\": typeof import(\"chrome://remote/content/shared/UserContextManager.sys.mjs\"),\n  \"chrome://remote/content/shared/WindowManager.sys.mjs\": typeof import(\"chrome://remote/content/shared/WindowManager.sys.mjs\"),\n  \"chrome://remote/content/shared/js-process-actors/WebDriverDocumentInsertedActor.sys.mjs\": typeof import(\"chrome://remote/content/shared/js-process-actors/WebDriverDocumentInsertedActor.sys.mjs\"),\n  \"chrome://remote/content/shared/js-window-actors/WebProgressListenerActor.sys.mjs\": typeof import(\"chrome://remote/content/shared/js-window-actors/WebProgressListenerActor.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/BeforeStopRequestListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/BeforeStopRequestListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/BrowsingContextListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/BrowsingContextListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/CachedResourceListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/CachedResourceListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/ConsoleAPIListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/ConsoleAPIListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/ConsoleListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/ConsoleListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/ContextualIdentityListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/ContextualIdentityListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/DataChannelListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/DataChannelListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/LoadListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/LoadListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/NavigationListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/NavigationListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/NetworkEventRecord.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/NetworkEventRecord.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/NetworkListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/NetworkListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/ParentWebProgressListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/ParentWebProgressListener.sys.mjs\"),\n  \"chrome://remote/content/shared/listeners/PromptListener.sys.mjs\": typeof import(\"chrome://remote/content/shared/listeners/PromptListener.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/Errors.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/Errors.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/EventsDispatcher.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/EventsDispatcher.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/MessageHandler.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/MessageHandlerRegistry.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/MessageHandlerRegistry.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/ModuleCache.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/ModuleCache.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/RootMessageHandler.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/RootMessageHandler.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/RootMessageHandlerRegistry.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/RootMessageHandlerRegistry.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/WindowGlobalMessageHandler.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/WindowGlobalMessageHandler.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/sessiondata/SessionData.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/sessiondata/SessionData.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/sessiondata/SessionDataReader.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/sessiondata/SessionDataReader.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/transports/BrowsingContextUtils.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/transports/BrowsingContextUtils.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/transports/RootTransport.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/transports/RootTransport.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameActor.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameActor.sys.mjs\"),\n  \"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameChild.sys.mjs\": typeof import(\"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameChild.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Accessibility.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Accessibility.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Actions.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Actions.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Assert.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Assert.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Capabilities.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Capabilities.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Certificates.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Certificates.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Errors.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Errors.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Event.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Event.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/KeyData.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/KeyData.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/NodeCache.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/NodeCache.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/Session.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/Session.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/URLPattern.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/URLPattern.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/UserPromptHandler.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/UserPromptHandler.sys.mjs\"),\n  \"chrome://remote/content/shared/webdriver/process-actors/WebDriverProcessDataParent.sys.mjs\": typeof import(\"chrome://remote/content/shared/webdriver/process-actors/WebDriverProcessDataParent.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/NewSessionHandler.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/NewSessionHandler.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/ProxyPerUserContextManager.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/ProxyPerUserContextManager.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/RemoteValue.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/RemoteValue.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/WebDriverBiDi.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/WebDriverBiDi.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/WebDriverBiDiConnection.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/Intercept.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/Intercept.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/ModuleRegistry.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/ModuleRegistry.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/browser.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/browser.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/browsingContext.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/browsingContext.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/emulation.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/emulation.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/input.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/input.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/log.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/log.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/network.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/network.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/permissions.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/permissions.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/script.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/script.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/session.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/storage.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/storage.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/root/webExtension.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/root/webExtension.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/browsingContext.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/log.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/network.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/network.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal-in-root/script.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/_configuration.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/_configuration.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/browsingContext.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/browsingContext.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/emulation.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/emulation.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/input.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/input.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/log.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/log.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/network.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/network.sys.mjs\"),\n  \"chrome://remote/content/webdriver-bidi/modules/windowglobal/script.sys.mjs\": typeof import(\"chrome://remote/content/webdriver-bidi/modules/windowglobal/script.sys.mjs\"),\n  \"moz-src:///browser/components/DefaultBrowserCheck.sys.mjs\": typeof import(\"moz-src:///browser/components/DefaultBrowserCheck.sys.mjs\"),\n  \"moz-src:///browser/components/DesktopActorRegistry.sys.mjs\": typeof import(\"moz-src:///browser/components/DesktopActorRegistry.sys.mjs\"),\n  \"moz-src:///browser/components/ProfileDataUpgrader.sys.mjs\": typeof import(\"moz-src:///browser/components/ProfileDataUpgrader.sys.mjs\"),\n  \"moz-src:///browser/components/genai/LinkPreview.sys.mjs\": typeof import(\"moz-src:///browser/components/genai/LinkPreview.sys.mjs\"),\n  \"moz-src:///browser/components/genai/LinkPreviewModel.sys.mjs\": typeof import(\"moz-src:///browser/components/genai/LinkPreviewModel.sys.mjs\"),\n  \"moz-src:///browser/components/places/Interactions.sys.mjs\": typeof import(\"moz-src:///browser/components/places/Interactions.sys.mjs\"),\n  \"moz-src:///browser/components/places/InteractionsBlocklist.sys.mjs\": typeof import(\"moz-src:///browser/components/places/InteractionsBlocklist.sys.mjs\"),\n  \"moz-src:///browser/components/places/PlacesBrowserStartup.sys.mjs\": typeof import(\"moz-src:///browser/components/places/PlacesBrowserStartup.sys.mjs\"),\n  \"moz-src:///browser/components/places/PlacesUIUtils.sys.mjs\": typeof import(\"moz-src:///browser/components/places/PlacesUIUtils.sys.mjs\"),\n  \"moz-src:///browser/components/protections/ContentBlockingPrefs.sys.mjs\": typeof import(\"moz-src:///browser/components/protections/ContentBlockingPrefs.sys.mjs\"),\n  \"moz-src:///browser/components/search/BrowserSearchTelemetry.sys.mjs\": typeof import(\"moz-src:///browser/components/search/BrowserSearchTelemetry.sys.mjs\"),\n  \"moz-src:///browser/components/search/OpenSearchManager.sys.mjs\": typeof import(\"moz-src:///browser/components/search/OpenSearchManager.sys.mjs\"),\n  \"moz-src:///browser/components/search/SERPCategorization.sys.mjs\": typeof import(\"moz-src:///browser/components/search/SERPCategorization.sys.mjs\"),\n  \"moz-src:///browser/components/search/SearchOneOffs.sys.mjs\": typeof import(\"moz-src:///browser/components/search/SearchOneOffs.sys.mjs\"),\n  \"moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs\": typeof import(\"moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs\"),\n  \"moz-src:///browser/components/search/SearchUIUtils.sys.mjs\": typeof import(\"moz-src:///browser/components/search/SearchUIUtils.sys.mjs\"),\n  \"moz-src:///browser/components/shell/StartupOSIntegration.sys.mjs\": typeof import(\"moz-src:///browser/components/shell/StartupOSIntegration.sys.mjs\"),\n  \"moz-src:///browser/components/sidebar/SidebarManager.sys.mjs\": typeof import(\"moz-src:///browser/components/sidebar/SidebarManager.sys.mjs\"),\n  \"moz-src:///browser/components/sidebar/SidebarState.sys.mjs\": typeof import(\"moz-src:///browser/components/sidebar/SidebarState.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/GroupsList.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/GroupsList.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/NewTabPagePreloading.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/NewTabPagePreloading.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/OpenInTabsUtils.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/OpenInTabsUtils.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/SmartTabGrouping.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/SmartTabGrouping.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/TabMetrics.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/TabMetrics.sys.mjs\"),\n  \"moz-src:///browser/components/tabbrowser/TabsList.sys.mjs\": typeof import(\"moz-src:///browser/components/tabbrowser/TabsList.sys.mjs\"),\n  \"moz-src:///browser/components/uitour/UITour.sys.mjs\": typeof import(\"moz-src:///browser/components/uitour/UITour.sys.mjs\"),\n  \"moz-src:///browser/modules/ContextId.sys.mjs\": typeof import(\"moz-src:///browser/modules/ContextId.sys.mjs\"),\n  \"moz-src:///browser/themes/ToolbarIconColor.sys.mjs\": typeof import(\"moz-src:///browser/themes/ToolbarIconColor.sys.mjs\"),\n  \"moz-src:///toolkit/components/doh/DoHConfig.sys.mjs\": typeof import(\"moz-src:///toolkit/components/doh/DoHConfig.sys.mjs\"),\n  \"moz-src:///toolkit/components/doh/DoHController.sys.mjs\": typeof import(\"moz-src:///toolkit/components/doh/DoHController.sys.mjs\"),\n  \"moz-src:///toolkit/components/doh/DoHHeuristics.sys.mjs\": typeof import(\"moz-src:///toolkit/components/doh/DoHHeuristics.sys.mjs\"),\n  \"moz-src:///toolkit/components/reader/AboutReader.sys.mjs\": typeof import(\"moz-src:///toolkit/components/reader/AboutReader.sys.mjs\"),\n  \"moz-src:///toolkit/components/reader/ReaderMode.sys.mjs\": typeof import(\"moz-src:///toolkit/components/reader/ReaderMode.sys.mjs\"),\n  \"moz-src:///toolkit/components/reader/ReaderWorker.sys.mjs\": typeof import(\"moz-src:///toolkit/components/reader/ReaderWorker.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/AddonSearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/AddonSearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/AppProvidedSearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/AppProvidedSearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/OpenSearchLoader.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/OpenSearchLoader.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/PolicySearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/PolicySearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchEngineSelector.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchEngineSelector.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchSettings.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchSettings.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchShortcuts.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchShortcuts.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchStaticData.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchStaticData.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchSuggestionController.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchSuggestionController.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/SearchUtils.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/SearchUtils.sys.mjs\"),\n  \"moz-src:///toolkit/components/search/UserSearchEngine.sys.mjs\": typeof import(\"moz-src:///toolkit/components/search/UserSearchEngine.sys.mjs\"),\n  \"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs\": typeof import(\"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs\"),\n  \"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs\": typeof import(\"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs\"),\n  \"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs\": typeof import(\"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs\"),\n  \"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs\": typeof import(\"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs\"),\n  \"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs\": typeof import(\"moz-src:///toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs\"),\n  \"moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs\": typeof import(\"moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs\"),\n  \"resource:///actors/AboutNewTabParent.sys.mjs\": typeof import(\"resource:///actors/AboutNewTabParent.sys.mjs\"),\n  \"resource:///actors/AboutReaderParent.sys.mjs\": typeof import(\"resource:///actors/AboutReaderParent.sys.mjs\"),\n  \"resource:///actors/AboutWelcomeParent.sys.mjs\": typeof import(\"resource:///actors/AboutWelcomeParent.sys.mjs\"),\n  \"resource:///actors/ClickHandlerParent.sys.mjs\": typeof import(\"resource:///actors/ClickHandlerParent.sys.mjs\"),\n  \"resource:///actors/ContentSearchParent.sys.mjs\": typeof import(\"resource:///actors/ContentSearchParent.sys.mjs\"),\n  \"resource:///actors/ContextMenuChild.sys.mjs\": typeof import(\"resource:///actors/ContextMenuChild.sys.mjs\"),\n  \"resource:///actors/LinkHandlerParent.sys.mjs\": typeof import(\"resource:///actors/LinkHandlerParent.sys.mjs\"),\n  \"resource:///actors/PluginParent.sys.mjs\": typeof import(\"resource:///actors/PluginParent.sys.mjs\"),\n  \"resource:///actors/SearchSERPTelemetryChild.sys.mjs\": typeof import(\"resource:///actors/SearchSERPTelemetryChild.sys.mjs\"),\n  \"resource:///actors/WebRTCChild.sys.mjs\": typeof import(\"resource:///actors/WebRTCChild.sys.mjs\"),\n  \"resource:///modules/360seMigrationUtils.sys.mjs\": typeof import(\"resource:///modules/360seMigrationUtils.sys.mjs\"),\n  \"resource:///modules/AboutHomeStartupCache.sys.mjs\": typeof import(\"resource:///modules/AboutHomeStartupCache.sys.mjs\"),\n  \"resource:///modules/AboutNewTab.sys.mjs\": typeof import(\"resource:///modules/AboutNewTab.sys.mjs\"),\n  \"resource:///modules/AboutNewTabRedirector.sys.mjs\": typeof import(\"resource:///modules/AboutNewTabRedirector.sys.mjs\"),\n  \"resource:///modules/AboutNewTabResourceMapping.sys.mjs\": typeof import(\"resource:///modules/AboutNewTabResourceMapping.sys.mjs\"),\n  \"resource:///modules/ActionsProviderContextualSearch.sys.mjs\": typeof import(\"resource:///modules/ActionsProviderContextualSearch.sys.mjs\"),\n  \"resource:///modules/ActionsProviderQuickActions.sys.mjs\": typeof import(\"resource:///modules/ActionsProviderQuickActions.sys.mjs\"),\n  \"resource:///modules/AttributionCode.sys.mjs\": typeof import(\"resource:///modules/AttributionCode.sys.mjs\"),\n  \"resource:///modules/BrowserGlue.sys.mjs\": typeof import(\"resource:///modules/BrowserGlue.sys.mjs\"),\n  \"resource:///modules/BrowserUIUtils.sys.mjs\": typeof import(\"resource:///modules/BrowserUIUtils.sys.mjs\"),\n  \"resource:///modules/BrowserUsageTelemetry.sys.mjs\": typeof import(\"resource:///modules/BrowserUsageTelemetry.sys.mjs\"),\n  \"resource:///modules/BrowserWindowTracker.sys.mjs\": typeof import(\"resource:///modules/BrowserWindowTracker.sys.mjs\"),\n  \"resource:///modules/BuiltInThemeConfig.sys.mjs\": typeof import(\"resource:///modules/BuiltInThemeConfig.sys.mjs\"),\n  \"resource:///modules/BuiltInThemes.sys.mjs\": typeof import(\"resource:///modules/BuiltInThemes.sys.mjs\"),\n  \"resource:///modules/ChromeMigrationUtils.sys.mjs\": typeof import(\"resource:///modules/ChromeMigrationUtils.sys.mjs\"),\n  \"resource:///modules/ContentAnalysis.sys.mjs\": typeof import(\"resource:///modules/ContentAnalysis.sys.mjs\"),\n  \"resource:///modules/ContentCrashHandlers.sys.mjs\": typeof import(\"resource:///modules/ContentCrashHandlers.sys.mjs\"),\n  \"resource:///modules/CustomizableUI.sys.mjs\": typeof import(\"resource:///modules/CustomizableUI.sys.mjs\"),\n  \"resource:///modules/CustomizableWidgets.sys.mjs\": typeof import(\"resource:///modules/CustomizableWidgets.sys.mjs\"),\n  \"resource:///modules/Discovery.sys.mjs\": typeof import(\"resource:///modules/Discovery.sys.mjs\"),\n  \"resource:///modules/DownloadSpamProtection.sys.mjs\": typeof import(\"resource:///modules/DownloadSpamProtection.sys.mjs\"),\n  \"resource:///modules/DownloadsCommon.sys.mjs\": typeof import(\"resource:///modules/DownloadsCommon.sys.mjs\"),\n  \"resource:///modules/DownloadsViewUI.sys.mjs\": typeof import(\"resource:///modules/DownloadsViewUI.sys.mjs\"),\n  \"resource:///modules/DownloadsViewableInternally.sys.mjs\": typeof import(\"resource:///modules/DownloadsViewableInternally.sys.mjs\"),\n  \"resource:///modules/DragPositionManager.sys.mjs\": typeof import(\"resource:///modules/DragPositionManager.sys.mjs\"),\n  \"resource:///modules/ESEDBReader.sys.mjs\": typeof import(\"resource:///modules/ESEDBReader.sys.mjs\"),\n  \"resource:///modules/EveryWindow.sys.mjs\": typeof import(\"resource:///modules/EveryWindow.sys.mjs\"),\n  \"resource:///modules/ExtensionBrowsingData.sys.mjs\": typeof import(\"resource:///modules/ExtensionBrowsingData.sys.mjs\"),\n  \"resource:///modules/ExtensionControlledPopup.sys.mjs\": typeof import(\"resource:///modules/ExtensionControlledPopup.sys.mjs\"),\n  \"resource:///modules/ExtensionPopups.sys.mjs\": typeof import(\"resource:///modules/ExtensionPopups.sys.mjs\"),\n  \"resource:///modules/ExtensionsUI.sys.mjs\": typeof import(\"resource:///modules/ExtensionsUI.sys.mjs\"),\n  \"resource:///modules/FaviconLoader.sys.mjs\": typeof import(\"resource:///modules/FaviconLoader.sys.mjs\"),\n  \"resource:///modules/FileMigrators.sys.mjs\": typeof import(\"resource:///modules/FileMigrators.sys.mjs\"),\n  \"resource:///modules/FilePickerCrashed.sys.mjs\": typeof import(\"resource:///modules/FilePickerCrashed.sys.mjs\"),\n  \"resource:///modules/FilterAdult.sys.mjs\": typeof import(\"resource:///modules/FilterAdult.sys.mjs\"),\n  \"resource:///modules/FirefoxBridgeExtensionUtils.sys.mjs\": typeof import(\"resource:///modules/FirefoxBridgeExtensionUtils.sys.mjs\"),\n  \"resource:///modules/FirefoxProfileMigrator.sys.mjs\": typeof import(\"resource:///modules/FirefoxProfileMigrator.sys.mjs\"),\n  \"resource:///modules/GenAI.sys.mjs\": typeof import(\"resource:///modules/GenAI.sys.mjs\"),\n  \"resource:///modules/HeadlessShell.sys.mjs\": typeof import(\"resource:///modules/HeadlessShell.sys.mjs\"),\n  \"resource:///modules/HistoryController.sys.mjs\": typeof import(\"resource:///modules/HistoryController.sys.mjs\"),\n  \"resource:///modules/HomePage.sys.mjs\": typeof import(\"resource:///modules/HomePage.sys.mjs\"),\n  \"resource:///modules/InternalTestingProfileMigrator.sys.mjs\": typeof import(\"resource:///modules/InternalTestingProfileMigrator.sys.mjs\"),\n  \"resource:///modules/LaterRun.sys.mjs\": typeof import(\"resource:///modules/LaterRun.sys.mjs\"),\n  \"resource:///modules/LinksCache.sys.mjs\": typeof import(\"resource:///modules/LinksCache.sys.mjs\"),\n  \"resource:///modules/LoginBreaches.sys.mjs\": typeof import(\"resource:///modules/LoginBreaches.sys.mjs\"),\n  \"resource:///modules/MacAttribution.sys.mjs\": typeof import(\"resource:///modules/MacAttribution.sys.mjs\"),\n  \"resource:///modules/MerinoClient.sys.mjs\": typeof import(\"resource:///modules/MerinoClient.sys.mjs\"),\n  \"resource:///modules/MigrationUtils.sys.mjs\": typeof import(\"resource:///modules/MigrationUtils.sys.mjs\"),\n  \"resource:///modules/OpenTabs.sys.mjs\": typeof import(\"resource:///modules/OpenTabs.sys.mjs\"),\n  \"resource:///modules/PageActions.sys.mjs\": typeof import(\"resource:///modules/PageActions.sys.mjs\"),\n  \"resource:///modules/PanelMultiView.sys.mjs\": typeof import(\"resource:///modules/PanelMultiView.sys.mjs\"),\n  \"resource:///modules/PartnerLinkAttribution.sys.mjs\": typeof import(\"resource:///modules/PartnerLinkAttribution.sys.mjs\"),\n  \"resource:///modules/PermissionUI.sys.mjs\": typeof import(\"resource:///modules/PermissionUI.sys.mjs\"),\n  \"resource:///modules/PopupBlockerObserver.sys.mjs\": typeof import(\"resource:///modules/PopupBlockerObserver.sys.mjs\"),\n  \"resource:///modules/ProcessHangMonitor.sys.mjs\": typeof import(\"resource:///modules/ProcessHangMonitor.sys.mjs\"),\n  \"resource:///modules/QuickActionsLoaderDefault.sys.mjs\": typeof import(\"resource:///modules/QuickActionsLoaderDefault.sys.mjs\"),\n  \"resource:///modules/QuickSuggest.sys.mjs\": typeof import(\"resource:///modules/QuickSuggest.sys.mjs\"),\n  \"resource:///modules/ReportBrokenSite.sys.mjs\": typeof import(\"resource:///modules/ReportBrokenSite.sys.mjs\"),\n  \"resource:///modules/ResetPBMPanel.sys.mjs\": typeof import(\"resource:///modules/ResetPBMPanel.sys.mjs\"),\n  \"resource:///modules/SafariProfileMigrator.sys.mjs\": typeof import(\"resource:///modules/SafariProfileMigrator.sys.mjs\"),\n  \"resource:///modules/Sanitizer.sys.mjs\": typeof import(\"resource:///modules/Sanitizer.sys.mjs\"),\n  \"resource:///modules/ScreenshotsOverlayChild.sys.mjs\": typeof import(\"resource:///modules/ScreenshotsOverlayChild.sys.mjs\"),\n  \"resource:///modules/ScreenshotsUtils.sys.mjs\": typeof import(\"resource:///modules/ScreenshotsUtils.sys.mjs\"),\n  \"resource:///modules/SearchModeSwitcher.sys.mjs\": typeof import(\"resource:///modules/SearchModeSwitcher.sys.mjs\"),\n  \"resource:///modules/SelectionChangedMenulist.sys.mjs\": typeof import(\"resource:///modules/SelectionChangedMenulist.sys.mjs\"),\n  \"resource:///modules/SharingUtils.sys.mjs\": typeof import(\"resource:///modules/SharingUtils.sys.mjs\"),\n  \"resource:///modules/ShellService.sys.mjs\": typeof import(\"resource:///modules/ShellService.sys.mjs\"),\n  \"resource:///modules/SiteDataManager.sys.mjs\": typeof import(\"resource:///modules/SiteDataManager.sys.mjs\"),\n  \"resource:///modules/SitePermissions.sys.mjs\": typeof import(\"resource:///modules/SitePermissions.sys.mjs\"),\n  \"resource:///modules/SyncedTabsController.sys.mjs\": typeof import(\"resource:///modules/SyncedTabsController.sys.mjs\"),\n  \"resource:///modules/TRRPerformance.sys.mjs\": typeof import(\"resource:///modules/TRRPerformance.sys.mjs\"),\n  \"resource:///modules/ThemeVariableMap.sys.mjs\": typeof import(\"resource:///modules/ThemeVariableMap.sys.mjs\"),\n  \"resource:///modules/ToolbarContextMenu.sys.mjs\": typeof import(\"resource:///modules/ToolbarContextMenu.sys.mjs\"),\n  \"resource:///modules/ToolbarDropHandler.sys.mjs\": typeof import(\"resource:///modules/ToolbarDropHandler.sys.mjs\"),\n  \"resource:///modules/TransientPrefs.sys.mjs\": typeof import(\"resource:///modules/TransientPrefs.sys.mjs\"),\n  \"resource:///modules/URILoadingHelper.sys.mjs\": typeof import(\"resource:///modules/URILoadingHelper.sys.mjs\"),\n  \"resource:///modules/UrlbarController.sys.mjs\": typeof import(\"resource:///modules/UrlbarController.sys.mjs\"),\n  \"resource:///modules/UrlbarEventBufferer.sys.mjs\": typeof import(\"resource:///modules/UrlbarEventBufferer.sys.mjs\"),\n  \"resource:///modules/UrlbarInput.sys.mjs\": typeof import(\"resource:///modules/UrlbarInput.sys.mjs\"),\n  \"resource:///modules/UrlbarPrefs.sys.mjs\": typeof import(\"resource:///modules/UrlbarPrefs.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderAutofill.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderAutofill.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderCalculator.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderCalculator.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderClipboard.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderClipboard.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderGlobalActions.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderGlobalActions.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderInterventions.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderInterventions.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderOpenTabs.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderOpenTabs.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderPlaces.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderPlaces.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderQuickSuggest.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderQuickSuggest.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderQuickSuggestContextualOptIn.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderQuickSuggestContextualOptIn.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderRecentSearches.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderRecentSearches.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderSearchSuggestions.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderSearchSuggestions.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderSearchTips.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderSearchTips.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderTabToSearch.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderTabToSearch.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderTopSites.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderTopSites.sys.mjs\"),\n  \"resource:///modules/UrlbarProviderUnitConversion.sys.mjs\": typeof import(\"resource:///modules/UrlbarProviderUnitConversion.sys.mjs\"),\n  \"resource:///modules/UrlbarProvidersManager.sys.mjs\": typeof import(\"resource:///modules/UrlbarProvidersManager.sys.mjs\"),\n  \"resource:///modules/UrlbarResult.sys.mjs\": typeof import(\"resource:///modules/UrlbarResult.sys.mjs\"),\n  \"resource:///modules/UrlbarSearchOneOffs.sys.mjs\": typeof import(\"resource:///modules/UrlbarSearchOneOffs.sys.mjs\"),\n  \"resource:///modules/UrlbarSearchTermsPersistence.sys.mjs\": typeof import(\"resource:///modules/UrlbarSearchTermsPersistence.sys.mjs\"),\n  \"resource:///modules/UrlbarSearchUtils.sys.mjs\": typeof import(\"resource:///modules/UrlbarSearchUtils.sys.mjs\"),\n  \"resource:///modules/UrlbarTokenizer.sys.mjs\": typeof import(\"resource:///modules/UrlbarTokenizer.sys.mjs\"),\n  \"resource:///modules/UrlbarUtils.sys.mjs\": typeof import(\"resource:///modules/UrlbarUtils.sys.mjs\"),\n  \"resource:///modules/UrlbarValueFormatter.sys.mjs\": typeof import(\"resource:///modules/UrlbarValueFormatter.sys.mjs\"),\n  \"resource:///modules/UrlbarView.sys.mjs\": typeof import(\"resource:///modules/UrlbarView.sys.mjs\"),\n  \"resource:///modules/WebProtocolHandlerRegistrar.sys.mjs\": typeof import(\"resource:///modules/WebProtocolHandlerRegistrar.sys.mjs\"),\n  \"resource:///modules/WindowsJumpLists.sys.mjs\": typeof import(\"resource:///modules/WindowsJumpLists.sys.mjs\"),\n  \"resource:///modules/ZoomUI.sys.mjs\": typeof import(\"resource:///modules/ZoomUI.sys.mjs\"),\n  \"resource:///modules/aboutwelcome/AWScreenUtils.sys.mjs\": typeof import(\"resource:///modules/aboutwelcome/AWScreenUtils.sys.mjs\"),\n  \"resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs\": typeof import(\"resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs\"),\n  \"resource:///modules/aboutwelcome/AboutWelcomeDefaults.sys.mjs\": typeof import(\"resource:///modules/aboutwelcome/AboutWelcomeDefaults.sys.mjs\"),\n  \"resource:///modules/aboutwelcome/AboutWelcomeTelemetry.sys.mjs\": typeof import(\"resource:///modules/aboutwelcome/AboutWelcomeTelemetry.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouter.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouter.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterDefaultConfig.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterDefaultConfig.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterPreferences.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterPreferences.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterStorage.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterStorage.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterTargeting.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterTargeting.sys.mjs\"),\n  \"resource:///modules/asrouter/ASRouterTriggerListeners.sys.mjs\": typeof import(\"resource:///modules/asrouter/ASRouterTriggerListeners.sys.mjs\"),\n  \"resource:///modules/asrouter/ActorConstants.mjs\": typeof import(\"resource:///modules/asrouter/ActorConstants.mjs\"),\n  \"resource:///modules/asrouter/BookmarksBarButton.sys.mjs\": typeof import(\"resource:///modules/asrouter/BookmarksBarButton.sys.mjs\"),\n  \"resource:///modules/asrouter/CFRMessageProvider.sys.mjs\": typeof import(\"resource:///modules/asrouter/CFRMessageProvider.sys.mjs\"),\n  \"resource:///modules/asrouter/CFRPageActions.sys.mjs\": typeof import(\"resource:///modules/asrouter/CFRPageActions.sys.mjs\"),\n  \"resource:///modules/asrouter/FeatureCallout.sys.mjs\": typeof import(\"resource:///modules/asrouter/FeatureCallout.sys.mjs\"),\n  \"resource:///modules/asrouter/FeatureCalloutBroker.sys.mjs\": typeof import(\"resource:///modules/asrouter/FeatureCalloutBroker.sys.mjs\"),\n  \"resource:///modules/asrouter/FeatureCalloutMessages.sys.mjs\": typeof import(\"resource:///modules/asrouter/FeatureCalloutMessages.sys.mjs\"),\n  \"resource:///modules/asrouter/InfoBar.sys.mjs\": typeof import(\"resource:///modules/asrouter/InfoBar.sys.mjs\"),\n  \"resource:///modules/asrouter/MenuMessage.sys.mjs\": typeof import(\"resource:///modules/asrouter/MenuMessage.sys.mjs\"),\n  \"resource:///modules/asrouter/MomentsPageHub.sys.mjs\": typeof import(\"resource:///modules/asrouter/MomentsPageHub.sys.mjs\"),\n  \"resource:///modules/asrouter/OnboardingMessageProvider.sys.mjs\": typeof import(\"resource:///modules/asrouter/OnboardingMessageProvider.sys.mjs\"),\n  \"resource:///modules/asrouter/PageEventManager.sys.mjs\": typeof import(\"resource:///modules/asrouter/PageEventManager.sys.mjs\"),\n  \"resource:///modules/asrouter/PanelTestProvider.sys.mjs\": typeof import(\"resource:///modules/asrouter/PanelTestProvider.sys.mjs\"),\n  \"resource:///modules/asrouter/RemoteL10n.sys.mjs\": typeof import(\"resource:///modules/asrouter/RemoteL10n.sys.mjs\"),\n  \"resource:///modules/asrouter/Spotlight.sys.mjs\": typeof import(\"resource:///modules/asrouter/Spotlight.sys.mjs\"),\n  \"resource:///modules/asrouter/ToastNotification.sys.mjs\": typeof import(\"resource:///modules/asrouter/ToastNotification.sys.mjs\"),\n  \"resource:///modules/asrouter/ToolbarBadgeHub.sys.mjs\": typeof import(\"resource:///modules/asrouter/ToolbarBadgeHub.sys.mjs\"),\n  \"resource:///modules/backup/ArchiveEncryption.sys.mjs\": typeof import(\"resource:///modules/backup/ArchiveEncryption.sys.mjs\"),\n  \"resource:///modules/backup/ArchiveEncryptionState.sys.mjs\": typeof import(\"resource:///modules/backup/ArchiveEncryptionState.sys.mjs\"),\n  \"resource:///modules/backup/ArchiveUtils.sys.mjs\": typeof import(\"resource:///modules/backup/ArchiveUtils.sys.mjs\"),\n  \"resource:///modules/backup/BackupError.mjs\": typeof import(\"resource:///modules/backup/BackupError.mjs\"),\n  \"resource:///modules/backup/BackupService.sys.mjs\": typeof import(\"resource:///modules/backup/BackupService.sys.mjs\"),\n  \"resource:///modules/distribution.sys.mjs\": typeof import(\"resource:///modules/distribution.sys.mjs\"),\n  \"resource:///modules/firefox-view-synced-tabs-error-handler.sys.mjs\": typeof import(\"resource:///modules/firefox-view-synced-tabs-error-handler.sys.mjs\"),\n  \"resource:///modules/firefox-view-tabs-setup-manager.sys.mjs\": typeof import(\"resource:///modules/firefox-view-tabs-setup-manager.sys.mjs\"),\n  \"resource:///modules/ipprotection/IPProtection.sys.mjs\": typeof import(\"resource:///modules/ipprotection/IPProtection.sys.mjs\"),\n  \"resource:///modules/ipprotection/IPProtectionPanel.sys.mjs\": typeof import(\"resource:///modules/ipprotection/IPProtectionPanel.sys.mjs\"),\n  \"resource:///modules/pagedata/OpenGraphPageData.sys.mjs\": typeof import(\"resource:///modules/pagedata/OpenGraphPageData.sys.mjs\"),\n  \"resource:///modules/pagedata/PageDataSchema.sys.mjs\": typeof import(\"resource:///modules/pagedata/PageDataSchema.sys.mjs\"),\n  \"resource:///modules/pagedata/PageDataService.sys.mjs\": typeof import(\"resource:///modules/pagedata/PageDataService.sys.mjs\"),\n  \"resource:///modules/pagedata/SchemaOrgPageData.sys.mjs\": typeof import(\"resource:///modules/pagedata/SchemaOrgPageData.sys.mjs\"),\n  \"resource:///modules/pagedata/TwitterPageData.sys.mjs\": typeof import(\"resource:///modules/pagedata/TwitterPageData.sys.mjs\"),\n  \"resource:///modules/policies/BookmarksPolicies.sys.mjs\": typeof import(\"resource:///modules/policies/BookmarksPolicies.sys.mjs\"),\n  \"resource:///modules/policies/Policies.sys.mjs\": typeof import(\"resource:///modules/policies/Policies.sys.mjs\"),\n  \"resource:///modules/policies/ProxyPolicies.sys.mjs\": typeof import(\"resource:///modules/policies/ProxyPolicies.sys.mjs\"),\n  \"resource:///modules/policies/WebsiteFilter.sys.mjs\": typeof import(\"resource:///modules/policies/WebsiteFilter.sys.mjs\"),\n  \"resource:///modules/policies/schema.sys.mjs\": typeof import(\"resource:///modules/policies/schema.sys.mjs\"),\n  \"resource:///modules/profiles/SelectableProfileService.sys.mjs\": typeof import(\"resource:///modules/profiles/SelectableProfileService.sys.mjs\"),\n  \"resource:///modules/sessionstore/PageWireframes.sys.mjs\": typeof import(\"resource:///modules/sessionstore/PageWireframes.sys.mjs\"),\n  \"resource:///modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.sys.mjs\": typeof import(\"resource:///modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.sys.mjs\"),\n  \"resource:///modules/sessionstore/RunState.sys.mjs\": typeof import(\"resource:///modules/sessionstore/RunState.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionCookies.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionCookies.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionFile.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionFile.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionLogger.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionLogger.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionMigration.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionMigration.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionSaver.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionSaver.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionStartup.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionStartup.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionStore.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionStore.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionWindowUI.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionWindowUI.sys.mjs\"),\n  \"resource:///modules/sessionstore/SessionWriter.sys.mjs\": typeof import(\"resource:///modules/sessionstore/SessionWriter.sys.mjs\"),\n  \"resource:///modules/sessionstore/StartupPerformance.sys.mjs\": typeof import(\"resource:///modules/sessionstore/StartupPerformance.sys.mjs\"),\n  \"resource:///modules/sessionstore/TabAttributes.sys.mjs\": typeof import(\"resource:///modules/sessionstore/TabAttributes.sys.mjs\"),\n  \"resource:///modules/sessionstore/TabGroupState.sys.mjs\": typeof import(\"resource:///modules/sessionstore/TabGroupState.sys.mjs\"),\n  \"resource:///modules/sessionstore/TabState.sys.mjs\": typeof import(\"resource:///modules/sessionstore/TabState.sys.mjs\"),\n  \"resource:///modules/sessionstore/TabStateCache.sys.mjs\": typeof import(\"resource:///modules/sessionstore/TabStateCache.sys.mjs\"),\n  \"resource:///modules/sessionstore/TabStateFlusher.sys.mjs\": typeof import(\"resource:///modules/sessionstore/TabStateFlusher.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabs.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabs.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsChrome.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsChrome.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsPageAction.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsPageAction.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsPin.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsPin.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsRegistry.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsRegistry.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsUtils.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsUtils.sys.mjs\"),\n  \"resource:///modules/taskbartabs/TaskbarTabsWindowManager.sys.mjs\": typeof import(\"resource:///modules/taskbartabs/TaskbarTabsWindowManager.sys.mjs\"),\n  \"resource:///modules/topsites/TippyTopProvider.sys.mjs\": typeof import(\"resource:///modules/topsites/TippyTopProvider.sys.mjs\"),\n  \"resource:///modules/topsites/TopSites.sys.mjs\": typeof import(\"resource:///modules/topsites/TopSites.sys.mjs\"),\n  \"resource:///modules/topsites/constants.mjs\": typeof import(\"resource:///modules/topsites/constants.mjs\"),\n  \"resource:///modules/urlbar/private/AmpSuggestions.sys.mjs\": typeof import(\"resource:///modules/urlbar/private/AmpSuggestions.sys.mjs\"),\n  \"resource:///modules/urlbar/private/GeolocationUtils.sys.mjs\": typeof import(\"resource:///modules/urlbar/private/GeolocationUtils.sys.mjs\"),\n  \"resource:///modules/urlbar/private/MLSuggest.sys.mjs\": typeof import(\"resource:///modules/urlbar/private/MLSuggest.sys.mjs\"),\n  \"resource:///modules/webrtcUI.sys.mjs\": typeof import(\"resource:///modules/webrtcUI.sys.mjs\"),\n  \"resource://autofill/FormAutofill.sys.mjs\": typeof import(\"resource://autofill/FormAutofill.sys.mjs\"),\n  \"resource://autofill/FormAutofillContent.sys.mjs\": typeof import(\"resource://autofill/FormAutofillContent.sys.mjs\"),\n  \"resource://autofill/FormAutofillParent.sys.mjs\": typeof import(\"resource://autofill/FormAutofillParent.sys.mjs\"),\n  \"resource://autofill/FormAutofillPreferences.sys.mjs\": typeof import(\"resource://autofill/FormAutofillPreferences.sys.mjs\"),\n  \"resource://autofill/FormAutofillPrompter.sys.mjs\": typeof import(\"resource://autofill/FormAutofillPrompter.sys.mjs\"),\n  \"resource://autofill/FormAutofillStorage.sys.mjs\": typeof import(\"resource://autofill/FormAutofillStorage.sys.mjs\"),\n  \"resource://autofill/MLAutofill.sys.mjs\": typeof import(\"resource://autofill/MLAutofill.sys.mjs\"),\n  \"resource://autofill/ProfileAutoCompleteResult.sys.mjs\": typeof import(\"resource://autofill/ProfileAutoCompleteResult.sys.mjs\"),\n  \"resource://devtools/client/framework/browser-toolbox/Launcher.sys.mjs\": typeof import(\"resource://devtools/client/framework/browser-toolbox/Launcher.sys.mjs\"),\n  \"resource://devtools/client/performance-new/popup/menu-button.sys.mjs\": typeof import(\"resource://devtools/client/performance-new/popup/menu-button.sys.mjs\"),\n  \"resource://devtools/client/shared/components/reps/reps/constants.mjs\": typeof import(\"resource://devtools/client/shared/components/reps/reps/constants.mjs\"),\n  \"resource://devtools/client/shared/components/reps/reps/rep-utils.mjs\": typeof import(\"resource://devtools/client/shared/components/reps/reps/rep-utils.mjs\"),\n  \"resource://devtools/client/shared/focus.mjs\": typeof import(\"resource://devtools/client/shared/focus.mjs\"),\n  \"resource://devtools/client/storage/VariablesView.sys.mjs\": typeof import(\"resource://devtools/client/storage/VariablesView.sys.mjs\"),\n  \"resource://devtools/server/actors/targets/target-actor-registry.sys.mjs\": typeof import(\"resource://devtools/server/actors/targets/target-actor-registry.sys.mjs\"),\n  \"resource://devtools/server/actors/watcher/SessionDataHelpers.sys.mjs\": typeof import(\"resource://devtools/server/actors/watcher/SessionDataHelpers.sys.mjs\"),\n  \"resource://devtools/server/actors/watcher/browsing-context-helpers.sys.mjs\": typeof import(\"resource://devtools/server/actors/watcher/browsing-context-helpers.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/content_script.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/content_script.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/process.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/process.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/service_worker.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/service_worker.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/shared_worker.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/shared_worker.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/window-global.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/window-global.sys.mjs\"),\n  \"resource://devtools/server/connectors/js-process-actor/target-watchers/worker.sys.mjs\": typeof import(\"resource://devtools/server/connectors/js-process-actor/target-watchers/worker.sys.mjs\"),\n  \"resource://devtools/server/tracer/tracer.sys.mjs\": typeof import(\"resource://devtools/server/tracer/tracer.sys.mjs\"),\n  \"resource://devtools/shared/DevToolsInfaillibleUtils.sys.mjs\": typeof import(\"resource://devtools/shared/DevToolsInfaillibleUtils.sys.mjs\"),\n  \"resource://devtools/shared/highlighters.mjs\": typeof import(\"resource://devtools/shared/highlighters.mjs\"),\n  \"resource://devtools/shared/loader/DistinctSystemPrincipalLoader.sys.mjs\": typeof import(\"resource://devtools/shared/loader/DistinctSystemPrincipalLoader.sys.mjs\"),\n  \"resource://devtools/shared/loader/Loader.sys.mjs\": typeof import(\"resource://devtools/shared/loader/Loader.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/ChannelMap.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/ChannelMap.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkAuthListener.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkAuthListener.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkHelper.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkHelper.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkObserver.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkObserver.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkOverride.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkOverride.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkResponseListener.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkResponseListener.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkThrottleManager.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkThrottleManager.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkTimings.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkTimings.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/NetworkUtils.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/NetworkUtils.sys.mjs\"),\n  \"resource://devtools/shared/network-observer/WildcardToRegexp.sys.mjs\": typeof import(\"resource://devtools/shared/network-observer/WildcardToRegexp.sys.mjs\"),\n  \"resource://devtools/shared/performance-new/recording-utils.sys.mjs\": typeof import(\"resource://devtools/shared/performance-new/recording-utils.sys.mjs\"),\n  \"resource://devtools/shared/performance-new/symbolication.sys.mjs\": typeof import(\"resource://devtools/shared/performance-new/symbolication.sys.mjs\"),\n  \"resource://devtools/shared/platform/CacheEntry.sys.mjs\": typeof import(\"resource://devtools/shared/platform/CacheEntry.sys.mjs\"),\n  \"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs\": typeof import(\"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs\"),\n  \"resource://devtools/shared/validate-breakpoint.sys.mjs\": typeof import(\"resource://devtools/shared/validate-breakpoint.sys.mjs\"),\n  \"resource://devtools/shared/worker/worker.sys.mjs\": typeof import(\"resource://devtools/shared/worker/worker.sys.mjs\"),\n  \"resource://gre/actors/AutoCompleteParent.sys.mjs\": typeof import(\"resource://gre/actors/AutoCompleteParent.sys.mjs\"),\n  \"resource://gre/actors/FormHandlerChild.sys.mjs\": typeof import(\"resource://gre/actors/FormHandlerChild.sys.mjs\"),\n  \"resource://gre/actors/MLEngineParent.sys.mjs\": typeof import(\"resource://gre/actors/MLEngineParent.sys.mjs\"),\n  \"resource://gre/actors/PopupBlockingParent.sys.mjs\": typeof import(\"resource://gre/actors/PopupBlockingParent.sys.mjs\"),\n  \"resource://gre/actors/SelectParent.sys.mjs\": typeof import(\"resource://gre/actors/SelectParent.sys.mjs\"),\n  \"resource://gre/actors/TranslationsParent.sys.mjs\": typeof import(\"resource://gre/actors/TranslationsParent.sys.mjs\"),\n  \"resource://gre/actors/ViewSourcePageChild.sys.mjs\": typeof import(\"resource://gre/actors/ViewSourcePageChild.sys.mjs\"),\n  \"resource://gre/modules/AboutPagesUtils.sys.mjs\": typeof import(\"resource://gre/modules/AboutPagesUtils.sys.mjs\"),\n  \"resource://gre/modules/AbuseReporter.sys.mjs\": typeof import(\"resource://gre/modules/AbuseReporter.sys.mjs\"),\n  \"resource://gre/modules/ActorManagerParent.sys.mjs\": typeof import(\"resource://gre/modules/ActorManagerParent.sys.mjs\"),\n  \"resource://gre/modules/AddonManager.sys.mjs\": typeof import(\"resource://gre/modules/AddonManager.sys.mjs\"),\n  \"resource://gre/modules/AndroidLog.sys.mjs\": typeof import(\"resource://gre/modules/AndroidLog.sys.mjs\"),\n  \"resource://gre/modules/AppConstants.sys.mjs\": typeof import(\"resource://gre/modules/AppConstants.sys.mjs\"),\n  \"resource://gre/modules/AppMenuNotifications.sys.mjs\": typeof import(\"resource://gre/modules/AppMenuNotifications.sys.mjs\"),\n  \"resource://gre/modules/AppUpdater.sys.mjs\": typeof import(\"resource://gre/modules/AppUpdater.sys.mjs\"),\n  \"resource://gre/modules/AsyncPrefs.sys.mjs\": typeof import(\"resource://gre/modules/AsyncPrefs.sys.mjs\"),\n  \"resource://gre/modules/AsyncShutdown.sys.mjs\": typeof import(\"resource://gre/modules/AsyncShutdown.sys.mjs\"),\n  \"resource://gre/modules/BackgroundPageThumbs.sys.mjs\": typeof import(\"resource://gre/modules/BackgroundPageThumbs.sys.mjs\"),\n  \"resource://gre/modules/BackgroundTasksUtils.sys.mjs\": typeof import(\"resource://gre/modules/BackgroundTasksUtils.sys.mjs\"),\n  \"resource://gre/modules/BackgroundUpdate.sys.mjs\": typeof import(\"resource://gre/modules/BackgroundUpdate.sys.mjs\"),\n  \"resource://gre/modules/BinarySearch.sys.mjs\": typeof import(\"resource://gre/modules/BinarySearch.sys.mjs\"),\n  \"resource://gre/modules/Blocklist.sys.mjs\": typeof import(\"resource://gre/modules/Blocklist.sys.mjs\"),\n  \"resource://gre/modules/BookmarkHTMLUtils.sys.mjs\": typeof import(\"resource://gre/modules/BookmarkHTMLUtils.sys.mjs\"),\n  \"resource://gre/modules/BookmarkJSONUtils.sys.mjs\": typeof import(\"resource://gre/modules/BookmarkJSONUtils.sys.mjs\"),\n  \"resource://gre/modules/BookmarkList.sys.mjs\": typeof import(\"resource://gre/modules/BookmarkList.sys.mjs\"),\n  \"resource://gre/modules/Bookmarks.sys.mjs\": typeof import(\"resource://gre/modules/Bookmarks.sys.mjs\"),\n  \"resource://gre/modules/BrowserTelemetryUtils.sys.mjs\": typeof import(\"resource://gre/modules/BrowserTelemetryUtils.sys.mjs\"),\n  \"resource://gre/modules/BrowserUtils.sys.mjs\": typeof import(\"resource://gre/modules/BrowserUtils.sys.mjs\"),\n  \"resource://gre/modules/CSV.sys.mjs\": typeof import(\"resource://gre/modules/CSV.sys.mjs\"),\n  \"resource://gre/modules/CanonicalJSON.sys.mjs\": typeof import(\"resource://gre/modules/CanonicalJSON.sys.mjs\"),\n  \"resource://gre/modules/CaptchaDetectionPingUtils.sys.mjs\": typeof import(\"resource://gre/modules/CaptchaDetectionPingUtils.sys.mjs\"),\n  \"resource://gre/modules/CaptchaResponseObserver.sys.mjs\": typeof import(\"resource://gre/modules/CaptchaResponseObserver.sys.mjs\"),\n  \"resource://gre/modules/CertUtils.sys.mjs\": typeof import(\"resource://gre/modules/CertUtils.sys.mjs\"),\n  \"resource://gre/modules/ChildCrashHandler.sys.mjs\": typeof import(\"resource://gre/modules/ChildCrashHandler.sys.mjs\"),\n  \"resource://gre/modules/ClientID.sys.mjs\": typeof import(\"resource://gre/modules/ClientID.sys.mjs\"),\n  \"resource://gre/modules/ClipboardContextMenu.sys.mjs\": typeof import(\"resource://gre/modules/ClipboardContextMenu.sys.mjs\"),\n  \"resource://gre/modules/Color.sys.mjs\": typeof import(\"resource://gre/modules/Color.sys.mjs\"),\n  \"resource://gre/modules/ColorwayThemeMigration.sys.mjs\": typeof import(\"resource://gre/modules/ColorwayThemeMigration.sys.mjs\"),\n  \"resource://gre/modules/CommonDialog.sys.mjs\": typeof import(\"resource://gre/modules/CommonDialog.sys.mjs\"),\n  \"resource://gre/modules/ConduitsParent.sys.mjs\": typeof import(\"resource://gre/modules/ConduitsParent.sys.mjs\"),\n  \"resource://gre/modules/Console.sys.mjs\": typeof import(\"resource://gre/modules/Console.sys.mjs\"),\n  \"resource://gre/modules/ContentAnalysisUtils.sys.mjs\": typeof import(\"resource://gre/modules/ContentAnalysisUtils.sys.mjs\"),\n  \"resource://gre/modules/ContentBlockingAllowList.sys.mjs\": typeof import(\"resource://gre/modules/ContentBlockingAllowList.sys.mjs\"),\n  \"resource://gre/modules/ContentDOMReference.sys.mjs\": typeof import(\"resource://gre/modules/ContentDOMReference.sys.mjs\"),\n  \"resource://gre/modules/ContentPrefUtils.sys.mjs\": typeof import(\"resource://gre/modules/ContentPrefUtils.sys.mjs\"),\n  \"resource://gre/modules/ContentRelevancyManager.sys.mjs\": typeof import(\"resource://gre/modules/ContentRelevancyManager.sys.mjs\"),\n  \"resource://gre/modules/ContextualIdentityService.sys.mjs\": typeof import(\"resource://gre/modules/ContextualIdentityService.sys.mjs\"),\n  \"resource://gre/modules/CoveragePing.sys.mjs\": typeof import(\"resource://gre/modules/CoveragePing.sys.mjs\"),\n  \"resource://gre/modules/CrashMonitor.sys.mjs\": typeof import(\"resource://gre/modules/CrashMonitor.sys.mjs\"),\n  \"resource://gre/modules/CrashService.sys.mjs\": typeof import(\"resource://gre/modules/CrashService.sys.mjs\"),\n  \"resource://gre/modules/CrashSubmit.sys.mjs\": typeof import(\"resource://gre/modules/CrashSubmit.sys.mjs\"),\n  \"resource://gre/modules/CreditCard.sys.mjs\": typeof import(\"resource://gre/modules/CreditCard.sys.mjs\"),\n  \"resource://gre/modules/DAPTelemetrySender.sys.mjs\": typeof import(\"resource://gre/modules/DAPTelemetrySender.sys.mjs\"),\n  \"resource://gre/modules/DAPVisitCounter.sys.mjs\": typeof import(\"resource://gre/modules/DAPVisitCounter.sys.mjs\"),\n  \"resource://gre/modules/DateTimePickerPanel.sys.mjs\": typeof import(\"resource://gre/modules/DateTimePickerPanel.sys.mjs\"),\n  \"resource://gre/modules/DeferredTask.sys.mjs\": typeof import(\"resource://gre/modules/DeferredTask.sys.mjs\"),\n  \"resource://gre/modules/DownloadCore.sys.mjs\": typeof import(\"resource://gre/modules/DownloadCore.sys.mjs\"),\n  \"resource://gre/modules/DownloadHistory.sys.mjs\": typeof import(\"resource://gre/modules/DownloadHistory.sys.mjs\"),\n  \"resource://gre/modules/DownloadIntegration.sys.mjs\": typeof import(\"resource://gre/modules/DownloadIntegration.sys.mjs\"),\n  \"resource://gre/modules/DownloadLastDir.sys.mjs\": typeof import(\"resource://gre/modules/DownloadLastDir.sys.mjs\"),\n  \"resource://gre/modules/DownloadList.sys.mjs\": typeof import(\"resource://gre/modules/DownloadList.sys.mjs\"),\n  \"resource://gre/modules/DownloadPaths.sys.mjs\": typeof import(\"resource://gre/modules/DownloadPaths.sys.mjs\"),\n  \"resource://gre/modules/DownloadStore.sys.mjs\": typeof import(\"resource://gre/modules/DownloadStore.sys.mjs\"),\n  \"resource://gre/modules/DownloadUIHelper.sys.mjs\": typeof import(\"resource://gre/modules/DownloadUIHelper.sys.mjs\"),\n  \"resource://gre/modules/DownloadUtils.sys.mjs\": typeof import(\"resource://gre/modules/DownloadUtils.sys.mjs\"),\n  \"resource://gre/modules/Downloads.sys.mjs\": typeof import(\"resource://gre/modules/Downloads.sys.mjs\"),\n  \"resource://gre/modules/E10SUtils.sys.mjs\": typeof import(\"resource://gre/modules/E10SUtils.sys.mjs\"),\n  \"resource://gre/modules/EssentialDomainsRemoteSettings.sys.mjs\": typeof import(\"resource://gre/modules/EssentialDomainsRemoteSettings.sys.mjs\"),\n  \"resource://gre/modules/EventEmitter.sys.mjs\": typeof import(\"resource://gre/modules/EventEmitter.sys.mjs\"),\n  \"resource://gre/modules/EventPing.sys.mjs\": typeof import(\"resource://gre/modules/EventPing.sys.mjs\"),\n  \"resource://gre/modules/Extension.sys.mjs\": typeof import(\"resource://gre/modules/Extension.sys.mjs\"),\n  \"resource://gre/modules/ExtensionActivityLog.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionActivityLog.sys.mjs\"),\n  \"resource://gre/modules/ExtensionChild.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionChild.sys.mjs\"),\n  \"resource://gre/modules/ExtensionChildDevToolsUtils.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionChildDevToolsUtils.sys.mjs\"),\n  \"resource://gre/modules/ExtensionCommon.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionCommon.sys.mjs\"),\n  \"resource://gre/modules/ExtensionContent.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionContent.sys.mjs\"),\n  \"resource://gre/modules/ExtensionDNR.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionDNR.sys.mjs\"),\n  \"resource://gre/modules/ExtensionDNRLimits.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionDNRLimits.sys.mjs\"),\n  \"resource://gre/modules/ExtensionDNRStore.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionDNRStore.sys.mjs\"),\n  \"resource://gre/modules/ExtensionMenus.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionMenus.sys.mjs\"),\n  \"resource://gre/modules/ExtensionPageChild.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionPageChild.sys.mjs\"),\n  \"resource://gre/modules/ExtensionParent.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionParent.sys.mjs\"),\n  \"resource://gre/modules/ExtensionPermissionMessages.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionPermissionMessages.sys.mjs\"),\n  \"resource://gre/modules/ExtensionPermissions.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionPermissions.sys.mjs\"),\n  \"resource://gre/modules/ExtensionPreferencesManager.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionPreferencesManager.sys.mjs\"),\n  \"resource://gre/modules/ExtensionProcessScript.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionProcessScript.sys.mjs\"),\n  \"resource://gre/modules/ExtensionScriptingStore.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionScriptingStore.sys.mjs\"),\n  \"resource://gre/modules/ExtensionSearchHandler.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionSearchHandler.sys.mjs\"),\n  \"resource://gre/modules/ExtensionSettingsStore.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionSettingsStore.sys.mjs\"),\n  \"resource://gre/modules/ExtensionShortcuts.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionShortcuts.sys.mjs\"),\n  \"resource://gre/modules/ExtensionStorage.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionStorage.sys.mjs\"),\n  \"resource://gre/modules/ExtensionStorageComponents.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionStorageComponents.sys.mjs\"),\n  \"resource://gre/modules/ExtensionStorageIDB.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionStorageIDB.sys.mjs\"),\n  \"resource://gre/modules/ExtensionStorageSync.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionStorageSync.sys.mjs\"),\n  \"resource://gre/modules/ExtensionStorageSyncKinto.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionStorageSyncKinto.sys.mjs\"),\n  \"resource://gre/modules/ExtensionTelemetry.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionTelemetry.sys.mjs\"),\n  \"resource://gre/modules/ExtensionUserScripts.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionUserScripts.sys.mjs\"),\n  \"resource://gre/modules/ExtensionUserScriptsContent.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionUserScriptsContent.sys.mjs\"),\n  \"resource://gre/modules/ExtensionUtils.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionUtils.sys.mjs\"),\n  \"resource://gre/modules/ExtensionWorkerChild.sys.mjs\": typeof import(\"resource://gre/modules/ExtensionWorkerChild.sys.mjs\"),\n  \"resource://gre/modules/FileUtils.sys.mjs\": typeof import(\"resource://gre/modules/FileUtils.sys.mjs\"),\n  \"resource://gre/modules/FillHelpers.sys.mjs\": typeof import(\"resource://gre/modules/FillHelpers.sys.mjs\"),\n  \"resource://gre/modules/FindContent.sys.mjs\": typeof import(\"resource://gre/modules/FindContent.sys.mjs\"),\n  \"resource://gre/modules/Finder.sys.mjs\": typeof import(\"resource://gre/modules/Finder.sys.mjs\"),\n  \"resource://gre/modules/FinderHighlighter.sys.mjs\": typeof import(\"resource://gre/modules/FinderHighlighter.sys.mjs\"),\n  \"resource://gre/modules/FinderIterator.sys.mjs\": typeof import(\"resource://gre/modules/FinderIterator.sys.mjs\"),\n  \"resource://gre/modules/FinderParent.sys.mjs\": typeof import(\"resource://gre/modules/FinderParent.sys.mjs\"),\n  \"resource://gre/modules/FirefoxRelay.sys.mjs\": typeof import(\"resource://gre/modules/FirefoxRelay.sys.mjs\"),\n  \"resource://gre/modules/FirstStartup.sys.mjs\": typeof import(\"resource://gre/modules/FirstStartup.sys.mjs\"),\n  \"resource://gre/modules/ForgetAboutSite.sys.mjs\": typeof import(\"resource://gre/modules/ForgetAboutSite.sys.mjs\"),\n  \"resource://gre/modules/FormHistory.sys.mjs\": typeof import(\"resource://gre/modules/FormHistory.sys.mjs\"),\n  \"resource://gre/modules/FormHistoryAutoComplete.sys.mjs\": typeof import(\"resource://gre/modules/FormHistoryAutoComplete.sys.mjs\"),\n  \"resource://gre/modules/FormLikeFactory.sys.mjs\": typeof import(\"resource://gre/modules/FormLikeFactory.sys.mjs\"),\n  \"resource://gre/modules/FormScenarios.sys.mjs\": typeof import(\"resource://gre/modules/FormScenarios.sys.mjs\"),\n  \"resource://gre/modules/FxAccounts.sys.mjs\": typeof import(\"resource://gre/modules/FxAccounts.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsClient.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsClient.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsCommands.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsCommands.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsCommon.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsCommon.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsConfig.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsConfig.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsDevice.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsDevice.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsKeys.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsKeys.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsOAuth.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsOAuth.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsPairing.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsPairing.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsPairingChannel.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsPairingChannel.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsProfile.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsProfile.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsProfileClient.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsProfileClient.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsStorage.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsStorage.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsTelemetry.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsTelemetry.sys.mjs\"),\n  \"resource://gre/modules/FxAccountsWebChannel.sys.mjs\": typeof import(\"resource://gre/modules/FxAccountsWebChannel.sys.mjs\"),\n  \"resource://gre/modules/GMPInstallManager.sys.mjs\": typeof import(\"resource://gre/modules/GMPInstallManager.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewActorManager.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewActorManager.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewAutocomplete.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewAutocomplete.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewAutofill.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewAutofill.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewClipboardPermission.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewClipboardPermission.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewIdentityCredential.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewIdentityCredential.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewPrompter.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewPrompter.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewSettings.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewSettings.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewTab.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewTab.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewTelemetry.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewTelemetry.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewTestUtils.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewTestUtils.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewUtils.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewUtils.sys.mjs\"),\n  \"resource://gre/modules/GeckoViewWebExtension.sys.mjs\": typeof import(\"resource://gre/modules/GeckoViewWebExtension.sys.mjs\"),\n  \"resource://gre/modules/Geometry.sys.mjs\": typeof import(\"resource://gre/modules/Geometry.sys.mjs\"),\n  \"resource://gre/modules/HPKEConfigManager.sys.mjs\": typeof import(\"resource://gre/modules/HPKEConfigManager.sys.mjs\"),\n  \"resource://gre/modules/HealthPing.sys.mjs\": typeof import(\"resource://gre/modules/HealthPing.sys.mjs\"),\n  \"resource://gre/modules/HiddenFrame.sys.mjs\": typeof import(\"resource://gre/modules/HiddenFrame.sys.mjs\"),\n  \"resource://gre/modules/History.sys.mjs\": typeof import(\"resource://gre/modules/History.sys.mjs\"),\n  \"resource://gre/modules/IgnoreLists.sys.mjs\": typeof import(\"resource://gre/modules/IgnoreLists.sys.mjs\"),\n  \"resource://gre/modules/IndexedDB.sys.mjs\": typeof import(\"resource://gre/modules/IndexedDB.sys.mjs\"),\n  \"resource://gre/modules/InlineSpellChecker.sys.mjs\": typeof import(\"resource://gre/modules/InlineSpellChecker.sys.mjs\"),\n  \"resource://gre/modules/InlineSpellCheckerContent.sys.mjs\": typeof import(\"resource://gre/modules/InlineSpellCheckerContent.sys.mjs\"),\n  \"resource://gre/modules/InsecurePasswordUtils.sys.mjs\": typeof import(\"resource://gre/modules/InsecurePasswordUtils.sys.mjs\"),\n  \"resource://gre/modules/Integration.sys.mjs\": typeof import(\"resource://gre/modules/Integration.sys.mjs\"),\n  \"resource://gre/modules/JSONFile.sys.mjs\": typeof import(\"resource://gre/modules/JSONFile.sys.mjs\"),\n  \"resource://gre/modules/JsonSchema.sys.mjs\": typeof import(\"resource://gre/modules/JsonSchema.sys.mjs\"),\n  \"resource://gre/modules/KeywordUtils.sys.mjs\": typeof import(\"resource://gre/modules/KeywordUtils.sys.mjs\"),\n  \"resource://gre/modules/LangPackMatcher.sys.mjs\": typeof import(\"resource://gre/modules/LangPackMatcher.sys.mjs\"),\n  \"resource://gre/modules/LayoutUtils.sys.mjs\": typeof import(\"resource://gre/modules/LayoutUtils.sys.mjs\"),\n  \"resource://gre/modules/LightweightThemeConsumer.sys.mjs\": typeof import(\"resource://gre/modules/LightweightThemeConsumer.sys.mjs\"),\n  \"resource://gre/modules/LightweightThemeManager.sys.mjs\": typeof import(\"resource://gre/modules/LightweightThemeManager.sys.mjs\"),\n  \"resource://gre/modules/LoadURIDelegate.sys.mjs\": typeof import(\"resource://gre/modules/LoadURIDelegate.sys.mjs\"),\n  \"resource://gre/modules/LocationHelper.sys.mjs\": typeof import(\"resource://gre/modules/LocationHelper.sys.mjs\"),\n  \"resource://gre/modules/Log.sys.mjs\": typeof import(\"resource://gre/modules/Log.sys.mjs\"),\n  \"resource://gre/modules/LoginAutoComplete.sys.mjs\": typeof import(\"resource://gre/modules/LoginAutoComplete.sys.mjs\"),\n  \"resource://gre/modules/LoginCSVImport.sys.mjs\": typeof import(\"resource://gre/modules/LoginCSVImport.sys.mjs\"),\n  \"resource://gre/modules/LoginExport.sys.mjs\": typeof import(\"resource://gre/modules/LoginExport.sys.mjs\"),\n  \"resource://gre/modules/LoginHelper.sys.mjs\": typeof import(\"resource://gre/modules/LoginHelper.sys.mjs\"),\n  \"resource://gre/modules/LoginManager.shared.sys.mjs\": typeof import(\"resource://gre/modules/LoginManager.shared.sys.mjs\"),\n  \"resource://gre/modules/LoginManagerChild.sys.mjs\": typeof import(\"resource://gre/modules/LoginManagerChild.sys.mjs\"),\n  \"resource://gre/modules/LoginManagerContextMenu.sys.mjs\": typeof import(\"resource://gre/modules/LoginManagerContextMenu.sys.mjs\"),\n  \"resource://gre/modules/LoginManagerParent.sys.mjs\": typeof import(\"resource://gre/modules/LoginManagerParent.sys.mjs\"),\n  \"resource://gre/modules/LoginRecipes.sys.mjs\": typeof import(\"resource://gre/modules/LoginRecipes.sys.mjs\"),\n  \"resource://gre/modules/LoginStore.sys.mjs\": typeof import(\"resource://gre/modules/LoginStore.sys.mjs\"),\n  \"resource://gre/modules/ManifestFinder.sys.mjs\": typeof import(\"resource://gre/modules/ManifestFinder.sys.mjs\"),\n  \"resource://gre/modules/ManifestIcons.sys.mjs\": typeof import(\"resource://gre/modules/ManifestIcons.sys.mjs\"),\n  \"resource://gre/modules/ManifestObtainer.sys.mjs\": typeof import(\"resource://gre/modules/ManifestObtainer.sys.mjs\"),\n  \"resource://gre/modules/MatchURLFilters.sys.mjs\": typeof import(\"resource://gre/modules/MatchURLFilters.sys.mjs\"),\n  \"resource://gre/modules/MediaUtils.sys.mjs\": typeof import(\"resource://gre/modules/MediaUtils.sys.mjs\"),\n  \"resource://gre/modules/MessageManagerProxy.sys.mjs\": typeof import(\"resource://gre/modules/MessageManagerProxy.sys.mjs\"),\n  \"resource://gre/modules/Messaging.sys.mjs\": typeof import(\"resource://gre/modules/Messaging.sys.mjs\"),\n  \"resource://gre/modules/NLP.sys.mjs\": typeof import(\"resource://gre/modules/NLP.sys.mjs\"),\n  \"resource://gre/modules/NativeManifests.sys.mjs\": typeof import(\"resource://gre/modules/NativeManifests.sys.mjs\"),\n  \"resource://gre/modules/NativeMessaging.sys.mjs\": typeof import(\"resource://gre/modules/NativeMessaging.sys.mjs\"),\n  \"resource://gre/modules/NetUtil.sys.mjs\": typeof import(\"resource://gre/modules/NetUtil.sys.mjs\"),\n  \"resource://gre/modules/NewTabUtils.sys.mjs\": typeof import(\"resource://gre/modules/NewTabUtils.sys.mjs\"),\n  \"resource://gre/modules/OSCrypto_win.sys.mjs\": typeof import(\"resource://gre/modules/OSCrypto_win.sys.mjs\"),\n  \"resource://gre/modules/OSKeyStore.sys.mjs\": typeof import(\"resource://gre/modules/OSKeyStore.sys.mjs\"),\n  \"resource://gre/modules/ObjectUtils.sys.mjs\": typeof import(\"resource://gre/modules/ObjectUtils.sys.mjs\"),\n  \"resource://gre/modules/ObliviousHTTP.sys.mjs\": typeof import(\"resource://gre/modules/ObliviousHTTP.sys.mjs\"),\n  \"resource://gre/modules/OsEnvironment.sys.mjs\": typeof import(\"resource://gre/modules/OsEnvironment.sys.mjs\"),\n  \"resource://gre/modules/PageThumbUtils.sys.mjs\": typeof import(\"resource://gre/modules/PageThumbUtils.sys.mjs\"),\n  \"resource://gre/modules/PageThumbs.sys.mjs\": typeof import(\"resource://gre/modules/PageThumbs.sys.mjs\"),\n  \"resource://gre/modules/PermissionsUtils.sys.mjs\": typeof import(\"resource://gre/modules/PermissionsUtils.sys.mjs\"),\n  \"resource://gre/modules/PictureInPicture.sys.mjs\": typeof import(\"resource://gre/modules/PictureInPicture.sys.mjs\"),\n  \"resource://gre/modules/PictureInPictureControls.sys.mjs\": typeof import(\"resource://gre/modules/PictureInPictureControls.sys.mjs\"),\n  \"resource://gre/modules/PlacesBackups.sys.mjs\": typeof import(\"resource://gre/modules/PlacesBackups.sys.mjs\"),\n  \"resource://gre/modules/PlacesDBUtils.sys.mjs\": typeof import(\"resource://gre/modules/PlacesDBUtils.sys.mjs\"),\n  \"resource://gre/modules/PlacesPreviews.sys.mjs\": typeof import(\"resource://gre/modules/PlacesPreviews.sys.mjs\"),\n  \"resource://gre/modules/PlacesQuery.sys.mjs\": typeof import(\"resource://gre/modules/PlacesQuery.sys.mjs\"),\n  \"resource://gre/modules/PlacesSemanticHistoryDatabase.sys.mjs\": typeof import(\"resource://gre/modules/PlacesSemanticHistoryDatabase.sys.mjs\"),\n  \"resource://gre/modules/PlacesSemanticHistoryManager.sys.mjs\": typeof import(\"resource://gre/modules/PlacesSemanticHistoryManager.sys.mjs\"),\n  \"resource://gre/modules/PlacesSyncUtils.sys.mjs\": typeof import(\"resource://gre/modules/PlacesSyncUtils.sys.mjs\"),\n  \"resource://gre/modules/PlacesTransactions.sys.mjs\": typeof import(\"resource://gre/modules/PlacesTransactions.sys.mjs\"),\n  \"resource://gre/modules/PlacesUtils.sys.mjs\": typeof import(\"resource://gre/modules/PlacesUtils.sys.mjs\"),\n  \"resource://gre/modules/Preferences.sys.mjs\": typeof import(\"resource://gre/modules/Preferences.sys.mjs\"),\n  \"resource://gre/modules/PrincipalsCollector.sys.mjs\": typeof import(\"resource://gre/modules/PrincipalsCollector.sys.mjs\"),\n  \"resource://gre/modules/PrivateBrowsingUtils.sys.mjs\": typeof import(\"resource://gre/modules/PrivateBrowsingUtils.sys.mjs\"),\n  \"resource://gre/modules/ProcessType.sys.mjs\": typeof import(\"resource://gre/modules/ProcessType.sys.mjs\"),\n  \"resource://gre/modules/ProfileAge.sys.mjs\": typeof import(\"resource://gre/modules/ProfileAge.sys.mjs\"),\n  \"resource://gre/modules/PromiseWorker.sys.mjs\": typeof import(\"resource://gre/modules/PromiseWorker.sys.mjs\"),\n  \"resource://gre/modules/PromptUtils.sys.mjs\": typeof import(\"resource://gre/modules/PromptUtils.sys.mjs\"),\n  \"resource://gre/modules/PropertyListUtils.sys.mjs\": typeof import(\"resource://gre/modules/PropertyListUtils.sys.mjs\"),\n  \"resource://gre/modules/ProxyChannelFilter.sys.mjs\": typeof import(\"resource://gre/modules/ProxyChannelFilter.sys.mjs\"),\n  \"resource://gre/modules/PushBroadcastService.sys.mjs\": typeof import(\"resource://gre/modules/PushBroadcastService.sys.mjs\"),\n  \"resource://gre/modules/PushCrypto.sys.mjs\": typeof import(\"resource://gre/modules/PushCrypto.sys.mjs\"),\n  \"resource://gre/modules/PushService.sys.mjs\": typeof import(\"resource://gre/modules/PushService.sys.mjs\"),\n  \"resource://gre/modules/PushServiceWebSocket.sys.mjs\": typeof import(\"resource://gre/modules/PushServiceWebSocket.sys.mjs\"),\n  \"resource://gre/modules/Readerable.sys.mjs\": typeof import(\"resource://gre/modules/Readerable.sys.mjs\"),\n  \"resource://gre/modules/Region.sys.mjs\": typeof import(\"resource://gre/modules/Region.sys.mjs\"),\n  \"resource://gre/modules/RemotePageAccessManager.sys.mjs\": typeof import(\"resource://gre/modules/RemotePageAccessManager.sys.mjs\"),\n  \"resource://gre/modules/RemoteSettingsCrashPull.sys.mjs\": typeof import(\"resource://gre/modules/RemoteSettingsCrashPull.sys.mjs\"),\n  \"resource://gre/modules/RemoteWebNavigation.sys.mjs\": typeof import(\"resource://gre/modules/RemoteWebNavigation.sys.mjs\"),\n  \"resource://gre/modules/ResetProfile.sys.mjs\": typeof import(\"resource://gre/modules/ResetProfile.sys.mjs\"),\n  \"resource://gre/modules/RustSharedRemoteSettingsService.sys.mjs\": typeof import(\"resource://gre/modules/RustSharedRemoteSettingsService.sys.mjs\"),\n  \"resource://gre/modules/SafeBrowsing.sys.mjs\": typeof import(\"resource://gre/modules/SafeBrowsing.sys.mjs\"),\n  \"resource://gre/modules/Schemas.sys.mjs\": typeof import(\"resource://gre/modules/Schemas.sys.mjs\"),\n  \"resource://gre/modules/SearchService.sys.mjs\": typeof import(\"resource://gre/modules/SearchService.sys.mjs\"),\n  \"resource://gre/modules/SecurityInfo.sys.mjs\": typeof import(\"resource://gre/modules/SecurityInfo.sys.mjs\"),\n  \"resource://gre/modules/SelectionUtils.sys.mjs\": typeof import(\"resource://gre/modules/SelectionUtils.sys.mjs\"),\n  \"resource://gre/modules/ServiceRequest.sys.mjs\": typeof import(\"resource://gre/modules/ServiceRequest.sys.mjs\"),\n  \"resource://gre/modules/ServiceWorkerCleanUp.sys.mjs\": typeof import(\"resource://gre/modules/ServiceWorkerCleanUp.sys.mjs\"),\n  \"resource://gre/modules/ShortcutUtils.sys.mjs\": typeof import(\"resource://gre/modules/ShortcutUtils.sys.mjs\"),\n  \"resource://gre/modules/Sqlite.sys.mjs\": typeof import(\"resource://gre/modules/Sqlite.sys.mjs\"),\n  \"resource://gre/modules/SubDialog.sys.mjs\": typeof import(\"resource://gre/modules/SubDialog.sys.mjs\"),\n  \"resource://gre/modules/Subprocess.sys.mjs\": typeof import(\"resource://gre/modules/Subprocess.sys.mjs\"),\n  \"resource://gre/modules/SyncedBookmarksMirror.sys.mjs\": typeof import(\"resource://gre/modules/SyncedBookmarksMirror.sys.mjs\"),\n  \"resource://gre/modules/TaskScheduler.sys.mjs\": typeof import(\"resource://gre/modules/TaskScheduler.sys.mjs\"),\n  \"resource://gre/modules/TaskSchedulerMacOSImpl.sys.mjs\": typeof import(\"resource://gre/modules/TaskSchedulerMacOSImpl.sys.mjs\"),\n  \"resource://gre/modules/TaskSchedulerWinImpl.sys.mjs\": typeof import(\"resource://gre/modules/TaskSchedulerWinImpl.sys.mjs\"),\n  \"resource://gre/modules/TelemetryArchive.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryArchive.sys.mjs\"),\n  \"resource://gre/modules/TelemetryController.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryController.sys.mjs\"),\n  \"resource://gre/modules/TelemetryEnvironment.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryEnvironment.sys.mjs\"),\n  \"resource://gre/modules/TelemetryReportingPolicy.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryReportingPolicy.sys.mjs\"),\n  \"resource://gre/modules/TelemetryScheduler.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryScheduler.sys.mjs\"),\n  \"resource://gre/modules/TelemetrySend.sys.mjs\": typeof import(\"resource://gre/modules/TelemetrySend.sys.mjs\"),\n  \"resource://gre/modules/TelemetrySession.sys.mjs\": typeof import(\"resource://gre/modules/TelemetrySession.sys.mjs\"),\n  \"resource://gre/modules/TelemetryStorage.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryStorage.sys.mjs\"),\n  \"resource://gre/modules/TelemetryTimestamps.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryTimestamps.sys.mjs\"),\n  \"resource://gre/modules/TelemetryUtils.sys.mjs\": typeof import(\"resource://gre/modules/TelemetryUtils.sys.mjs\"),\n  \"resource://gre/modules/Timer.sys.mjs\": typeof import(\"resource://gre/modules/Timer.sys.mjs\"),\n  \"resource://gre/modules/UninstallPing.sys.mjs\": typeof import(\"resource://gre/modules/UninstallPing.sys.mjs\"),\n  \"resource://gre/modules/UntrustedModulesPing.sys.mjs\": typeof import(\"resource://gre/modules/UntrustedModulesPing.sys.mjs\"),\n  \"resource://gre/modules/UpdateListener.sys.mjs\": typeof import(\"resource://gre/modules/UpdateListener.sys.mjs\"),\n  \"resource://gre/modules/UpdateLog.sys.mjs\": typeof import(\"resource://gre/modules/UpdateLog.sys.mjs\"),\n  \"resource://gre/modules/UpdatePing.sys.mjs\": typeof import(\"resource://gre/modules/UpdatePing.sys.mjs\"),\n  \"resource://gre/modules/UpdateService.sys.mjs\": typeof import(\"resource://gre/modules/UpdateService.sys.mjs\"),\n  \"resource://gre/modules/UpdateUtils.sys.mjs\": typeof import(\"resource://gre/modules/UpdateUtils.sys.mjs\"),\n  \"resource://gre/modules/UsageReporting.sys.mjs\": typeof import(\"resource://gre/modules/UsageReporting.sys.mjs\"),\n  \"resource://gre/modules/WebAuthnFeature.sys.mjs\": typeof import(\"resource://gre/modules/WebAuthnFeature.sys.mjs\"),\n  \"resource://gre/modules/WebChannel.sys.mjs\": typeof import(\"resource://gre/modules/WebChannel.sys.mjs\"),\n  \"resource://gre/modules/WebNavigation.sys.mjs\": typeof import(\"resource://gre/modules/WebNavigation.sys.mjs\"),\n  \"resource://gre/modules/WebNavigationFrames.sys.mjs\": typeof import(\"resource://gre/modules/WebNavigationFrames.sys.mjs\"),\n  \"resource://gre/modules/WebRequest.sys.mjs\": typeof import(\"resource://gre/modules/WebRequest.sys.mjs\"),\n  \"resource://gre/modules/WebRequestUpload.sys.mjs\": typeof import(\"resource://gre/modules/WebRequestUpload.sys.mjs\"),\n  \"resource://gre/modules/WindowsLaunchOnLogin.sys.mjs\": typeof import(\"resource://gre/modules/WindowsLaunchOnLogin.sys.mjs\"),\n  \"resource://gre/modules/WindowsRegistry.sys.mjs\": typeof import(\"resource://gre/modules/WindowsRegistry.sys.mjs\"),\n  \"resource://gre/modules/addons/AddonRepository.sys.mjs\": typeof import(\"resource://gre/modules/addons/AddonRepository.sys.mjs\"),\n  \"resource://gre/modules/addons/AddonSettings.sys.mjs\": typeof import(\"resource://gre/modules/addons/AddonSettings.sys.mjs\"),\n  \"resource://gre/modules/addons/ProductAddonChecker.sys.mjs\": typeof import(\"resource://gre/modules/addons/ProductAddonChecker.sys.mjs\"),\n  \"resource://gre/modules/addons/XPIDatabase.sys.mjs\": typeof import(\"resource://gre/modules/addons/XPIDatabase.sys.mjs\"),\n  \"resource://gre/modules/addons/XPIInstall.sys.mjs\": typeof import(\"resource://gre/modules/addons/XPIInstall.sys.mjs\"),\n  \"resource://gre/modules/addons/XPIProvider.sys.mjs\": typeof import(\"resource://gre/modules/addons/XPIProvider.sys.mjs\"),\n  \"resource://gre/modules/addons/crypto-utils.sys.mjs\": typeof import(\"resource://gre/modules/addons/crypto-utils.sys.mjs\"),\n  \"resource://gre/modules/addons/siteperms-addon-utils.sys.mjs\": typeof import(\"resource://gre/modules/addons/siteperms-addon-utils.sys.mjs\"),\n  \"resource://gre/modules/components-utils/ClientEnvironment.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/ClientEnvironment.sys.mjs\"),\n  \"resource://gre/modules/components-utils/FilterExpressions.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/FilterExpressions.sys.mjs\"),\n  \"resource://gre/modules/components-utils/JsonSchemaValidator.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/JsonSchemaValidator.sys.mjs\"),\n  \"resource://gre/modules/components-utils/Sampling.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/Sampling.sys.mjs\"),\n  \"resource://gre/modules/components-utils/WindowsInstallsInfo.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/WindowsInstallsInfo.sys.mjs\"),\n  \"resource://gre/modules/components-utils/WindowsVersionInfo.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/WindowsVersionInfo.sys.mjs\"),\n  \"resource://gre/modules/components-utils/mozjexl.sys.mjs\": typeof import(\"resource://gre/modules/components-utils/mozjexl.sys.mjs\"),\n  \"resource://gre/modules/contentrelevancy/private/InputUtils.sys.mjs\": typeof import(\"resource://gre/modules/contentrelevancy/private/InputUtils.sys.mjs\"),\n  \"resource://gre/modules/ctypes.sys.mjs\": typeof import(\"resource://gre/modules/ctypes.sys.mjs\"),\n  \"resource://gre/modules/handlers/HandlerList.sys.mjs\": typeof import(\"resource://gre/modules/handlers/HandlerList.sys.mjs\"),\n  \"resource://gre/modules/jsdebugger.sys.mjs\": typeof import(\"resource://gre/modules/jsdebugger.sys.mjs\"),\n  \"resource://gre/modules/kvstore.sys.mjs\": typeof import(\"resource://gre/modules/kvstore.sys.mjs\"),\n  \"resource://gre/modules/media/IdpSandbox.sys.mjs\": typeof import(\"resource://gre/modules/media/IdpSandbox.sys.mjs\"),\n  \"resource://gre/modules/media/PeerConnectionIdp.sys.mjs\": typeof import(\"resource://gre/modules/media/PeerConnectionIdp.sys.mjs\"),\n  \"resource://gre/modules/narrate/NarrateControls.sys.mjs\": typeof import(\"resource://gre/modules/narrate/NarrateControls.sys.mjs\"),\n  \"resource://gre/modules/policies/WindowsGPOParser.sys.mjs\": typeof import(\"resource://gre/modules/policies/WindowsGPOParser.sys.mjs\"),\n  \"resource://gre/modules/policies/macOSPoliciesParser.sys.mjs\": typeof import(\"resource://gre/modules/policies/macOSPoliciesParser.sys.mjs\"),\n  \"resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs\": typeof import(\"resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs\"),\n  \"resource://gre/modules/reflect.sys.mjs\": typeof import(\"resource://gre/modules/reflect.sys.mjs\"),\n  \"resource://gre/modules/sessionstore/PrivacyFilter.sys.mjs\": typeof import(\"resource://gre/modules/sessionstore/PrivacyFilter.sys.mjs\"),\n  \"resource://gre/modules/sessionstore/PrivacyLevel.sys.mjs\": typeof import(\"resource://gre/modules/sessionstore/PrivacyLevel.sys.mjs\"),\n  \"resource://gre/modules/sessionstore/SessionHistory.sys.mjs\": typeof import(\"resource://gre/modules/sessionstore/SessionHistory.sys.mjs\"),\n  \"resource://gre/modules/sessionstore/SessionStoreHelper.sys.mjs\": typeof import(\"resource://gre/modules/sessionstore/SessionStoreHelper.sys.mjs\"),\n  \"resource://gre/modules/shared/AddressComponent.sys.mjs\": typeof import(\"resource://gre/modules/shared/AddressComponent.sys.mjs\"),\n  \"resource://gre/modules/shared/AddressMetaData.sys.mjs\": typeof import(\"resource://gre/modules/shared/AddressMetaData.sys.mjs\"),\n  \"resource://gre/modules/shared/AddressMetaDataExtension.sys.mjs\": typeof import(\"resource://gre/modules/shared/AddressMetaDataExtension.sys.mjs\"),\n  \"resource://gre/modules/shared/AddressMetaDataLoader.sys.mjs\": typeof import(\"resource://gre/modules/shared/AddressMetaDataLoader.sys.mjs\"),\n  \"resource://gre/modules/shared/AddressParser.sys.mjs\": typeof import(\"resource://gre/modules/shared/AddressParser.sys.mjs\"),\n  \"resource://gre/modules/shared/AutofillFormFactory.sys.mjs\": typeof import(\"resource://gre/modules/shared/AutofillFormFactory.sys.mjs\"),\n  \"resource://gre/modules/shared/AutofillTelemetry.sys.mjs\": typeof import(\"resource://gre/modules/shared/AutofillTelemetry.sys.mjs\"),\n  \"resource://gre/modules/shared/CreditCardRecord.sys.mjs\": typeof import(\"resource://gre/modules/shared/CreditCardRecord.sys.mjs\"),\n  \"resource://gre/modules/shared/CreditCardRuleset.sys.mjs\": typeof import(\"resource://gre/modules/shared/CreditCardRuleset.sys.mjs\"),\n  \"resource://gre/modules/shared/FieldScanner.sys.mjs\": typeof import(\"resource://gre/modules/shared/FieldScanner.sys.mjs\"),\n  \"resource://gre/modules/shared/FormAutofillHandler.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormAutofillHandler.sys.mjs\"),\n  \"resource://gre/modules/shared/FormAutofillHeuristics.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormAutofillHeuristics.sys.mjs\"),\n  \"resource://gre/modules/shared/FormAutofillNameUtils.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormAutofillNameUtils.sys.mjs\"),\n  \"resource://gre/modules/shared/FormAutofillSection.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormAutofillSection.sys.mjs\"),\n  \"resource://gre/modules/shared/FormAutofillUtils.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormAutofillUtils.sys.mjs\"),\n  \"resource://gre/modules/shared/FormStateManager.sys.mjs\": typeof import(\"resource://gre/modules/shared/FormStateManager.sys.mjs\"),\n  \"resource://gre/modules/shared/LabelUtils.sys.mjs\": typeof import(\"resource://gre/modules/shared/LabelUtils.sys.mjs\"),\n  \"resource://gre/modules/shared/LoginFormFactory.sys.mjs\": typeof import(\"resource://gre/modules/shared/LoginFormFactory.sys.mjs\"),\n  \"resource://gre/modules/shared/PasswordGenerator.sys.mjs\": typeof import(\"resource://gre/modules/shared/PasswordGenerator.sys.mjs\"),\n  \"resource://gre/modules/shared/PasswordRulesParser.sys.mjs\": typeof import(\"resource://gre/modules/shared/PasswordRulesParser.sys.mjs\"),\n  \"resource://gre/modules/shared/PhoneNumber.sys.mjs\": typeof import(\"resource://gre/modules/shared/PhoneNumber.sys.mjs\"),\n  \"resource://gre/modules/shared/PhoneNumberNormalizer.sys.mjs\": typeof import(\"resource://gre/modules/shared/PhoneNumberNormalizer.sys.mjs\"),\n  \"resource://gre/modules/subprocess/subprocess_unix.sys.mjs\": typeof import(\"resource://gre/modules/subprocess/subprocess_unix.sys.mjs\"),\n  \"resource://gre/modules/subprocess/subprocess_win.sys.mjs\": typeof import(\"resource://gre/modules/subprocess/subprocess_win.sys.mjs\"),\n  \"resource://gre/modules/translations/LanguageDetector.sys.mjs\": typeof import(\"resource://gre/modules/translations/LanguageDetector.sys.mjs\"),\n  \"resource://gre/modules/workers/PromiseWorker.mjs\": typeof import(\"resource://gre/modules/workers/PromiseWorker.mjs\"),\n  \"resource://messaging-system/lib/SpecialMessageActions.sys.mjs\": typeof import(\"resource://messaging-system/lib/SpecialMessageActions.sys.mjs\"),\n  \"resource://messaging-system/targeting/Targeting.sys.mjs\": typeof import(\"resource://messaging-system/targeting/Targeting.sys.mjs\"),\n  \"resource://mozscreenshots/Screenshot.sys.mjs\": typeof import(\"resource://mozscreenshots/Screenshot.sys.mjs\"),\n  \"resource://newtab/common/Actions.mjs\": typeof import(\"resource://newtab/common/Actions.mjs\"),\n  \"resource://newtab/lib/AboutPreferences.sys.mjs\": typeof import(\"resource://newtab/lib/AboutPreferences.sys.mjs\"),\n  \"resource://newtab/lib/ActivityStream.sys.mjs\": typeof import(\"resource://newtab/lib/ActivityStream.sys.mjs\"),\n  \"resource://newtab/lib/ActivityStreamMessageChannel.sys.mjs\": typeof import(\"resource://newtab/lib/ActivityStreamMessageChannel.sys.mjs\"),\n  \"resource://newtab/lib/ActivityStreamPrefs.sys.mjs\": typeof import(\"resource://newtab/lib/ActivityStreamPrefs.sys.mjs\"),\n  \"resource://newtab/lib/AdsFeed.sys.mjs\": typeof import(\"resource://newtab/lib/AdsFeed.sys.mjs\"),\n  \"resource://newtab/lib/DefaultSites.sys.mjs\": typeof import(\"resource://newtab/lib/DefaultSites.sys.mjs\"),\n  \"resource://newtab/lib/DiscoveryStreamFeed.sys.mjs\": typeof import(\"resource://newtab/lib/DiscoveryStreamFeed.sys.mjs\"),\n  \"resource://newtab/lib/DownloadsManager.sys.mjs\": typeof import(\"resource://newtab/lib/DownloadsManager.sys.mjs\"),\n  \"resource://newtab/lib/FaviconFeed.sys.mjs\": typeof import(\"resource://newtab/lib/FaviconFeed.sys.mjs\"),\n  \"resource://newtab/lib/HighlightsFeed.sys.mjs\": typeof import(\"resource://newtab/lib/HighlightsFeed.sys.mjs\"),\n  \"resource://newtab/lib/InferredModel/FeatureModel.sys.mjs\": typeof import(\"resource://newtab/lib/InferredModel/FeatureModel.sys.mjs\"),\n  \"resource://newtab/lib/InferredPersonalizationFeed.sys.mjs\": typeof import(\"resource://newtab/lib/InferredPersonalizationFeed.sys.mjs\"),\n  \"resource://newtab/lib/NewTabContentPing.sys.mjs\": typeof import(\"resource://newtab/lib/NewTabContentPing.sys.mjs\"),\n  \"resource://newtab/lib/NewTabGleanUtils.sys.mjs\": typeof import(\"resource://newtab/lib/NewTabGleanUtils.sys.mjs\"),\n  \"resource://newtab/lib/NewTabInit.sys.mjs\": typeof import(\"resource://newtab/lib/NewTabInit.sys.mjs\"),\n  \"resource://newtab/lib/NewTabMessaging.sys.mjs\": typeof import(\"resource://newtab/lib/NewTabMessaging.sys.mjs\"),\n  \"resource://newtab/lib/PersistentCache.sys.mjs\": typeof import(\"resource://newtab/lib/PersistentCache.sys.mjs\"),\n  \"resource://newtab/lib/PersonalityProvider/PersonalityProvider.sys.mjs\": typeof import(\"resource://newtab/lib/PersonalityProvider/PersonalityProvider.sys.mjs\"),\n  \"resource://newtab/lib/PlacesFeed.sys.mjs\": typeof import(\"resource://newtab/lib/PlacesFeed.sys.mjs\"),\n  \"resource://newtab/lib/PrefsFeed.sys.mjs\": typeof import(\"resource://newtab/lib/PrefsFeed.sys.mjs\"),\n  \"resource://newtab/lib/RecommendationProvider.sys.mjs\": typeof import(\"resource://newtab/lib/RecommendationProvider.sys.mjs\"),\n  \"resource://newtab/lib/Screenshots.sys.mjs\": typeof import(\"resource://newtab/lib/Screenshots.sys.mjs\"),\n  \"resource://newtab/lib/SectionsManager.sys.mjs\": typeof import(\"resource://newtab/lib/SectionsManager.sys.mjs\"),\n  \"resource://newtab/lib/SmartShortcutsFeed.sys.mjs\": typeof import(\"resource://newtab/lib/SmartShortcutsFeed.sys.mjs\"),\n  \"resource://newtab/lib/StartupCacheInit.sys.mjs\": typeof import(\"resource://newtab/lib/StartupCacheInit.sys.mjs\"),\n  \"resource://newtab/lib/Store.sys.mjs\": typeof import(\"resource://newtab/lib/Store.sys.mjs\"),\n  \"resource://newtab/lib/SystemTickFeed.sys.mjs\": typeof import(\"resource://newtab/lib/SystemTickFeed.sys.mjs\"),\n  \"resource://newtab/lib/TelemetryFeed.sys.mjs\": typeof import(\"resource://newtab/lib/TelemetryFeed.sys.mjs\"),\n  \"resource://newtab/lib/TopSitesFeed.sys.mjs\": typeof import(\"resource://newtab/lib/TopSitesFeed.sys.mjs\"),\n  \"resource://newtab/lib/TopStoriesFeed.sys.mjs\": typeof import(\"resource://newtab/lib/TopStoriesFeed.sys.mjs\"),\n  \"resource://newtab/lib/TrendingSearchFeed.sys.mjs\": typeof import(\"resource://newtab/lib/TrendingSearchFeed.sys.mjs\"),\n  \"resource://newtab/lib/UTEventReporting.sys.mjs\": typeof import(\"resource://newtab/lib/UTEventReporting.sys.mjs\"),\n  \"resource://newtab/lib/WallpaperFeed.sys.mjs\": typeof import(\"resource://newtab/lib/WallpaperFeed.sys.mjs\"),\n  \"resource://newtab/lib/WeatherFeed.sys.mjs\": typeof import(\"resource://newtab/lib/WeatherFeed.sys.mjs\"),\n  \"resource://nimbus/ExperimentAPI.sys.mjs\": typeof import(\"resource://nimbus/ExperimentAPI.sys.mjs\"),\n  \"resource://nimbus/FeatureManifest.sys.mjs\": typeof import(\"resource://nimbus/FeatureManifest.sys.mjs\"),\n  \"resource://nimbus/FirefoxLabs.sys.mjs\": typeof import(\"resource://nimbus/FirefoxLabs.sys.mjs\"),\n  \"resource://nimbus/lib/Enrollments.sys.mjs\": typeof import(\"resource://nimbus/lib/Enrollments.sys.mjs\"),\n  \"resource://nimbus/lib/ExperimentManager.sys.mjs\": typeof import(\"resource://nimbus/lib/ExperimentManager.sys.mjs\"),\n  \"resource://nimbus/lib/ExperimentStore.sys.mjs\": typeof import(\"resource://nimbus/lib/ExperimentStore.sys.mjs\"),\n  \"resource://nimbus/lib/Migrations.sys.mjs\": typeof import(\"resource://nimbus/lib/Migrations.sys.mjs\"),\n  \"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs\": typeof import(\"resource://nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs\"),\n  \"resource://nimbus/lib/TargetingContextRecorder.sys.mjs\": typeof import(\"resource://nimbus/lib/TargetingContextRecorder.sys.mjs\"),\n  \"resource://nimbus/lib/Telemetry.sys.mjs\": typeof import(\"resource://nimbus/lib/Telemetry.sys.mjs\"),\n  \"resource://normandy-content/AboutPages.sys.mjs\": typeof import(\"resource://normandy-content/AboutPages.sys.mjs\"),\n  \"resource://normandy/Normandy.sys.mjs\": typeof import(\"resource://normandy/Normandy.sys.mjs\"),\n  \"resource://normandy/NormandyMigrations.sys.mjs\": typeof import(\"resource://normandy/NormandyMigrations.sys.mjs\"),\n  \"resource://normandy/actions/AddonRollbackAction.sys.mjs\": typeof import(\"resource://normandy/actions/AddonRollbackAction.sys.mjs\"),\n  \"resource://normandy/actions/AddonRolloutAction.sys.mjs\": typeof import(\"resource://normandy/actions/AddonRolloutAction.sys.mjs\"),\n  \"resource://normandy/actions/BaseAction.sys.mjs\": typeof import(\"resource://normandy/actions/BaseAction.sys.mjs\"),\n  \"resource://normandy/actions/BranchedAddonStudyAction.sys.mjs\": typeof import(\"resource://normandy/actions/BranchedAddonStudyAction.sys.mjs\"),\n  \"resource://normandy/actions/ConsoleLogAction.sys.mjs\": typeof import(\"resource://normandy/actions/ConsoleLogAction.sys.mjs\"),\n  \"resource://normandy/actions/PreferenceExperimentAction.sys.mjs\": typeof import(\"resource://normandy/actions/PreferenceExperimentAction.sys.mjs\"),\n  \"resource://normandy/actions/PreferenceRollbackAction.sys.mjs\": typeof import(\"resource://normandy/actions/PreferenceRollbackAction.sys.mjs\"),\n  \"resource://normandy/actions/PreferenceRolloutAction.sys.mjs\": typeof import(\"resource://normandy/actions/PreferenceRolloutAction.sys.mjs\"),\n  \"resource://normandy/actions/ShowHeartbeatAction.sys.mjs\": typeof import(\"resource://normandy/actions/ShowHeartbeatAction.sys.mjs\"),\n  \"resource://normandy/actions/schemas/index.sys.mjs\": typeof import(\"resource://normandy/actions/schemas/index.sys.mjs\"),\n  \"resource://normandy/lib/ActionsManager.sys.mjs\": typeof import(\"resource://normandy/lib/ActionsManager.sys.mjs\"),\n  \"resource://normandy/lib/AddonRollouts.sys.mjs\": typeof import(\"resource://normandy/lib/AddonRollouts.sys.mjs\"),\n  \"resource://normandy/lib/AddonStudies.sys.mjs\": typeof import(\"resource://normandy/lib/AddonStudies.sys.mjs\"),\n  \"resource://normandy/lib/CleanupManager.sys.mjs\": typeof import(\"resource://normandy/lib/CleanupManager.sys.mjs\"),\n  \"resource://normandy/lib/ClientEnvironment.sys.mjs\": typeof import(\"resource://normandy/lib/ClientEnvironment.sys.mjs\"),\n  \"resource://normandy/lib/Heartbeat.sys.mjs\": typeof import(\"resource://normandy/lib/Heartbeat.sys.mjs\"),\n  \"resource://normandy/lib/LegacyHeartbeat.sys.mjs\": typeof import(\"resource://normandy/lib/LegacyHeartbeat.sys.mjs\"),\n  \"resource://normandy/lib/LogManager.sys.mjs\": typeof import(\"resource://normandy/lib/LogManager.sys.mjs\"),\n  \"resource://normandy/lib/NormandyAddonManager.sys.mjs\": typeof import(\"resource://normandy/lib/NormandyAddonManager.sys.mjs\"),\n  \"resource://normandy/lib/NormandyApi.sys.mjs\": typeof import(\"resource://normandy/lib/NormandyApi.sys.mjs\"),\n  \"resource://normandy/lib/NormandyUtils.sys.mjs\": typeof import(\"resource://normandy/lib/NormandyUtils.sys.mjs\"),\n  \"resource://normandy/lib/PrefUtils.sys.mjs\": typeof import(\"resource://normandy/lib/PrefUtils.sys.mjs\"),\n  \"resource://normandy/lib/PreferenceExperiments.sys.mjs\": typeof import(\"resource://normandy/lib/PreferenceExperiments.sys.mjs\"),\n  \"resource://normandy/lib/PreferenceRollouts.sys.mjs\": typeof import(\"resource://normandy/lib/PreferenceRollouts.sys.mjs\"),\n  \"resource://normandy/lib/RecipeRunner.sys.mjs\": typeof import(\"resource://normandy/lib/RecipeRunner.sys.mjs\"),\n  \"resource://normandy/lib/ShieldPreferences.sys.mjs\": typeof import(\"resource://normandy/lib/ShieldPreferences.sys.mjs\"),\n  \"resource://normandy/lib/Storage.sys.mjs\": typeof import(\"resource://normandy/lib/Storage.sys.mjs\"),\n  \"resource://normandy/lib/TelemetryEvents.sys.mjs\": typeof import(\"resource://normandy/lib/TelemetryEvents.sys.mjs\"),\n  \"resource://normandy/lib/Uptake.sys.mjs\": typeof import(\"resource://normandy/lib/Uptake.sys.mjs\"),\n  \"resource://pdf.js/PdfJs.sys.mjs\": typeof import(\"resource://pdf.js/PdfJs.sys.mjs\"),\n  \"resource://pdf.js/PdfJsNetwork.sys.mjs\": typeof import(\"resource://pdf.js/PdfJsNetwork.sys.mjs\"),\n  \"resource://pdf.js/PdfJsTelemetry.sys.mjs\": typeof import(\"resource://pdf.js/PdfJsTelemetry.sys.mjs\"),\n  \"resource://pdf.js/PdfSandbox.sys.mjs\": typeof import(\"resource://pdf.js/PdfSandbox.sys.mjs\"),\n  \"resource://pdf.js/PdfStreamConverter.sys.mjs\": typeof import(\"resource://pdf.js/PdfStreamConverter.sys.mjs\"),\n  \"resource://services-common/async.sys.mjs\": typeof import(\"resource://services-common/async.sys.mjs\"),\n  \"resource://services-common/kinto-http-client.sys.mjs\": typeof import(\"resource://services-common/kinto-http-client.sys.mjs\"),\n  \"resource://services-common/kinto-offline-client.sys.mjs\": typeof import(\"resource://services-common/kinto-offline-client.sys.mjs\"),\n  \"resource://services-common/kinto-storage-adapter.sys.mjs\": typeof import(\"resource://services-common/kinto-storage-adapter.sys.mjs\"),\n  \"resource://services-common/observers.sys.mjs\": typeof import(\"resource://services-common/observers.sys.mjs\"),\n  \"resource://services-common/uptake-telemetry.sys.mjs\": typeof import(\"resource://services-common/uptake-telemetry.sys.mjs\"),\n  \"resource://services-common/utils.sys.mjs\": typeof import(\"resource://services-common/utils.sys.mjs\"),\n  \"resource://services-crypto/jwcrypto.sys.mjs\": typeof import(\"resource://services-crypto/jwcrypto.sys.mjs\"),\n  \"resource://services-crypto/utils.sys.mjs\": typeof import(\"resource://services-crypto/utils.sys.mjs\"),\n  \"resource://services-settings/Attachments.sys.mjs\": typeof import(\"resource://services-settings/Attachments.sys.mjs\"),\n  \"resource://services-settings/Database.sys.mjs\": typeof import(\"resource://services-settings/Database.sys.mjs\"),\n  \"resource://services-settings/IDBHelpers.sys.mjs\": typeof import(\"resource://services-settings/IDBHelpers.sys.mjs\"),\n  \"resource://services-settings/RemoteSettingsClient.sys.mjs\": typeof import(\"resource://services-settings/RemoteSettingsClient.sys.mjs\"),\n  \"resource://services-settings/RemoteSettingsWorker.sys.mjs\": typeof import(\"resource://services-settings/RemoteSettingsWorker.sys.mjs\"),\n  \"resource://services-settings/SharedUtils.sys.mjs\": typeof import(\"resource://services-settings/SharedUtils.sys.mjs\"),\n  \"resource://services-settings/SyncHistory.sys.mjs\": typeof import(\"resource://services-settings/SyncHistory.sys.mjs\"),\n  \"resource://services-settings/Utils.sys.mjs\": typeof import(\"resource://services-settings/Utils.sys.mjs\"),\n  \"resource://services-settings/remote-settings.sys.mjs\": typeof import(\"resource://services-settings/remote-settings.sys.mjs\"),\n  \"resource://services-sync/SyncedTabs.sys.mjs\": typeof import(\"resource://services-sync/SyncedTabs.sys.mjs\"),\n  \"resource://services-sync/TabsStore.sys.mjs\": typeof import(\"resource://services-sync/TabsStore.sys.mjs\"),\n  \"resource://services-sync/UIState.sys.mjs\": typeof import(\"resource://services-sync/UIState.sys.mjs\"),\n  \"resource://services-sync/constants.sys.mjs\": typeof import(\"resource://services-sync/constants.sys.mjs\"),\n  \"resource://services-sync/doctor.sys.mjs\": typeof import(\"resource://services-sync/doctor.sys.mjs\"),\n  \"resource://services-sync/engines/addons.sys.mjs\": typeof import(\"resource://services-sync/engines/addons.sys.mjs\"),\n  \"resource://services-sync/engines/forms.sys.mjs\": typeof import(\"resource://services-sync/engines/forms.sys.mjs\"),\n  \"resource://services-sync/engines/passwords.sys.mjs\": typeof import(\"resource://services-sync/engines/passwords.sys.mjs\"),\n  \"resource://services-sync/keys.sys.mjs\": typeof import(\"resource://services-sync/keys.sys.mjs\"),\n  \"resource://services-sync/main.sys.mjs\": typeof import(\"resource://services-sync/main.sys.mjs\"),\n  \"resource://services-sync/record.sys.mjs\": typeof import(\"resource://services-sync/record.sys.mjs\"),\n  \"resource://services-sync/resource.sys.mjs\": typeof import(\"resource://services-sync/resource.sys.mjs\"),\n  \"resource://services-sync/service.sys.mjs\": typeof import(\"resource://services-sync/service.sys.mjs\"),\n  \"resource://services-sync/status.sys.mjs\": typeof import(\"resource://services-sync/status.sys.mjs\"),\n  \"resource://services-sync/sync_auth.sys.mjs\": typeof import(\"resource://services-sync/sync_auth.sys.mjs\"),\n  \"resource://services-sync/telemetry.sys.mjs\": typeof import(\"resource://services-sync/telemetry.sys.mjs\"),\n  \"resource://services-sync/util.sys.mjs\": typeof import(\"resource://services-sync/util.sys.mjs\"),\n  \"resource://talos-powers/TalosParentProfiler.sys.mjs\": typeof import(\"resource://talos-powers/TalosParentProfiler.sys.mjs\"),\n  \"resource://test/es6module_devtoolsLoader.js\": typeof import(\"resource://test/es6module_devtoolsLoader.js\"),\n  \"resource://test/esm_lazy-1.sys.mjs\": typeof import(\"resource://test/esm_lazy-1.sys.mjs\"),\n  \"resource://test/esm_lazy-2.sys.mjs\": typeof import(\"resource://test/esm_lazy-2.sys.mjs\"),\n  \"resource://test/esmified-1.sys.mjs\": typeof import(\"resource://test/esmified-1.sys.mjs\"),\n  \"resource://testing-common/AddonTestUtils.sys.mjs\": typeof import(\"resource://testing-common/AddonTestUtils.sys.mjs\"),\n  \"resource://testing-common/AppData.sys.mjs\": typeof import(\"resource://testing-common/AppData.sys.mjs\"),\n  \"resource://testing-common/AppInfo.sys.mjs\": typeof import(\"resource://testing-common/AppInfo.sys.mjs\"),\n  \"resource://testing-common/AppUiTestDelegate.sys.mjs\": typeof import(\"resource://testing-common/AppUiTestDelegate.sys.mjs\"),\n  \"resource://testing-common/Assert.sys.mjs\": typeof import(\"resource://testing-common/Assert.sys.mjs\"),\n  \"resource://testing-common/BrowserTestUtils.sys.mjs\": typeof import(\"resource://testing-common/BrowserTestUtils.sys.mjs\"),\n  \"resource://testing-common/ContentTask.sys.mjs\": typeof import(\"resource://testing-common/ContentTask.sys.mjs\"),\n  \"resource://testing-common/ContentTaskUtils.sys.mjs\": typeof import(\"resource://testing-common/ContentTaskUtils.sys.mjs\"),\n  \"resource://testing-common/CustomizableUITestUtils.sys.mjs\": typeof import(\"resource://testing-common/CustomizableUITestUtils.sys.mjs\"),\n  \"resource://testing-common/DoHTestUtils.sys.mjs\": typeof import(\"resource://testing-common/DoHTestUtils.sys.mjs\"),\n  \"resource://testing-common/EnterprisePolicyTesting.sys.mjs\": typeof import(\"resource://testing-common/EnterprisePolicyTesting.sys.mjs\"),\n  \"resource://testing-common/ExtensionTestCommon.sys.mjs\": typeof import(\"resource://testing-common/ExtensionTestCommon.sys.mjs\"),\n  \"resource://testing-common/ExtensionXPCShellUtils.sys.mjs\": typeof import(\"resource://testing-common/ExtensionXPCShellUtils.sys.mjs\"),\n  \"resource://testing-common/FileTestUtils.sys.mjs\": typeof import(\"resource://testing-common/FileTestUtils.sys.mjs\"),\n  \"resource://testing-common/FormHistoryTestUtils.sys.mjs\": typeof import(\"resource://testing-common/FormHistoryTestUtils.sys.mjs\"),\n  \"resource://testing-common/MerinoTestUtils.sys.mjs\": typeof import(\"resource://testing-common/MerinoTestUtils.sys.mjs\"),\n  \"resource://testing-common/MessageChannel.sys.mjs\": typeof import(\"resource://testing-common/MessageChannel.sys.mjs\"),\n  \"resource://testing-common/MockColorPicker.sys.mjs\": typeof import(\"resource://testing-common/MockColorPicker.sys.mjs\"),\n  \"resource://testing-common/MockFilePicker.sys.mjs\": typeof import(\"resource://testing-common/MockFilePicker.sys.mjs\"),\n  \"resource://testing-common/MockPermissionPrompt.sys.mjs\": typeof import(\"resource://testing-common/MockPermissionPrompt.sys.mjs\"),\n  \"resource://testing-common/MockPromptCollection.sys.mjs\": typeof import(\"resource://testing-common/MockPromptCollection.sys.mjs\"),\n  \"resource://testing-common/MockRegistrar.sys.mjs\": typeof import(\"resource://testing-common/MockRegistrar.sys.mjs\"),\n  \"resource://testing-common/MockRegistry.sys.mjs\": typeof import(\"resource://testing-common/MockRegistry.sys.mjs\"),\n  \"resource://testing-common/MockSound.sys.mjs\": typeof import(\"resource://testing-common/MockSound.sys.mjs\"),\n  \"resource://testing-common/NimbusTestUtils.sys.mjs\": typeof import(\"resource://testing-common/NimbusTestUtils.sys.mjs\"),\n  \"resource://testing-common/NormandyTestUtils.sys.mjs\": typeof import(\"resource://testing-common/NormandyTestUtils.sys.mjs\"),\n  \"resource://testing-common/PerTestCoverageUtils.sys.mjs\": typeof import(\"resource://testing-common/PerTestCoverageUtils.sys.mjs\"),\n  \"resource://testing-common/PerfTestHelpers.sys.mjs\": typeof import(\"resource://testing-common/PerfTestHelpers.sys.mjs\"),\n  \"resource://testing-common/PermissionTestUtils.sys.mjs\": typeof import(\"resource://testing-common/PermissionTestUtils.sys.mjs\"),\n  \"resource://testing-common/PlacesTestUtils.sys.mjs\": typeof import(\"resource://testing-common/PlacesTestUtils.sys.mjs\"),\n  \"resource://testing-common/PromiseTestUtils.sys.mjs\": typeof import(\"resource://testing-common/PromiseTestUtils.sys.mjs\"),\n  \"resource://testing-common/PromptTestUtils.sys.mjs\": typeof import(\"resource://testing-common/PromptTestUtils.sys.mjs\"),\n  \"resource://testing-common/QuickSuggestTestUtils.sys.mjs\": typeof import(\"resource://testing-common/QuickSuggestTestUtils.sys.mjs\"),\n  \"resource://testing-common/RegionTestUtils.sys.mjs\": typeof import(\"resource://testing-common/RegionTestUtils.sys.mjs\"),\n  \"resource://testing-common/RemoteSettingsServer.sys.mjs\": typeof import(\"resource://testing-common/RemoteSettingsServer.sys.mjs\"),\n  \"resource://testing-common/SearchTestUtils.sys.mjs\": typeof import(\"resource://testing-common/SearchTestUtils.sys.mjs\"),\n  \"resource://testing-common/SearchUITestUtils.sys.mjs\": typeof import(\"resource://testing-common/SearchUITestUtils.sys.mjs\"),\n  \"resource://testing-common/Sinon.sys.mjs\": typeof import(\"resource://testing-common/Sinon.sys.mjs\"),\n  \"resource://testing-common/SiteDataTestUtils.sys.mjs\": typeof import(\"resource://testing-common/SiteDataTestUtils.sys.mjs\"),\n  \"resource://testing-common/SpecialPowersParent.sys.mjs\": typeof import(\"resource://testing-common/SpecialPowersParent.sys.mjs\"),\n  \"resource://testing-common/SpecialPowersProcessActor.sys.mjs\": typeof import(\"resource://testing-common/SpecialPowersProcessActor.sys.mjs\"),\n  \"resource://testing-common/SpecialPowersSandbox.sys.mjs\": typeof import(\"resource://testing-common/SpecialPowersSandbox.sys.mjs\"),\n  \"resource://testing-common/TabGroupTestUtils.sys.mjs\": typeof import(\"resource://testing-common/TabGroupTestUtils.sys.mjs\"),\n  \"resource://testing-common/TelemetryArchiveTesting.sys.mjs\": typeof import(\"resource://testing-common/TelemetryArchiveTesting.sys.mjs\"),\n  \"resource://testing-common/TelemetryTestUtils.sys.mjs\": typeof import(\"resource://testing-common/TelemetryTestUtils.sys.mjs\"),\n  \"resource://testing-common/TestIntegration.sys.mjs\": typeof import(\"resource://testing-common/TestIntegration.sys.mjs\"),\n  \"resource://testing-common/TestUtils.sys.mjs\": typeof import(\"resource://testing-common/TestUtils.sys.mjs\"),\n  \"resource://testing-common/UrlbarTestUtils.sys.mjs\": typeof import(\"resource://testing-common/UrlbarTestUtils.sys.mjs\"),\n  \"resource://testing-common/WrapPrivileged.sys.mjs\": typeof import(\"resource://testing-common/WrapPrivileged.sys.mjs\"),\n  \"resource://testing-common/XPCShellContentUtils.sys.mjs\": typeof import(\"resource://testing-common/XPCShellContentUtils.sys.mjs\"),\n  \"resource://testing-common/httpd.sys.mjs\": typeof import(\"resource://testing-common/httpd.sys.mjs\"),\n  \"resource://tps/auth/fxaccounts.sys.mjs\": typeof import(\"resource://tps/auth/fxaccounts.sys.mjs\"),\n  \"resource://tps/logger.sys.mjs\": typeof import(\"resource://tps/logger.sys.mjs\"),\n  \"resource://tps/modules/addons.sys.mjs\": typeof import(\"resource://tps/modules/addons.sys.mjs\"),\n  \"resource://tps/modules/bookmarkValidator.sys.mjs\": typeof import(\"resource://tps/modules/bookmarkValidator.sys.mjs\"),\n  \"resource://tps/modules/bookmarks.sys.mjs\": typeof import(\"resource://tps/modules/bookmarks.sys.mjs\"),\n  \"resource://tps/modules/formautofill.sys.mjs\": typeof import(\"resource://tps/modules/formautofill.sys.mjs\"),\n  \"resource://tps/modules/forms.sys.mjs\": typeof import(\"resource://tps/modules/forms.sys.mjs\"),\n  \"resource://tps/modules/history.sys.mjs\": typeof import(\"resource://tps/modules/history.sys.mjs\"),\n  \"resource://tps/modules/passwords.sys.mjs\": typeof import(\"resource://tps/modules/passwords.sys.mjs\"),\n  \"resource://tps/modules/prefs.sys.mjs\": typeof import(\"resource://tps/modules/prefs.sys.mjs\"),\n  \"resource://tps/modules/tabs.sys.mjs\": typeof import(\"resource://tps/modules/tabs.sys.mjs\"),\n  \"resource://tps/modules/windows.sys.mjs\": typeof import(\"resource://tps/modules/windows.sys.mjs\"),\n}\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from xpc.msg and error_list.json.\n * If you're updating some of the sources, see README for instructions.\n */\n\ninterface nsIXPCComponents_Results {\n\n  // Error Message definitions.\n\n  // xpconnect specific codes (from nsIXPConnect.h)\n\n  /** Not enough arguments */\n  NS_ERROR_XPC_NOT_ENOUGH_ARGS: 0x80570001;\n\n  /** 'Out' argument must be an object */\n  NS_ERROR_XPC_NEED_OUT_OBJECT: 0x80570002;\n\n  /** Cannot set 'value' property of 'out' argument */\n  NS_ERROR_XPC_CANT_SET_OUT_VAL: 0x80570003;\n\n  /** Component returned failure code: */\n  NS_ERROR_XPC_NATIVE_RETURNED_FAILURE: 0x80570004;\n\n  /** Cannot find interface information */\n  NS_ERROR_XPC_CANT_GET_INTERFACE_INFO: 0x80570005;\n\n  /** Cannot find interface information for parameter */\n  NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO: 0x80570006;\n\n  /** Cannot find method information */\n  NS_ERROR_XPC_CANT_GET_METHOD_INFO: 0x80570007;\n\n  /** Unexpected error in XPConnect */\n  NS_ERROR_XPC_UNEXPECTED: 0x80570008;\n\n  /** Could not convert JavaScript argument */\n  NS_ERROR_XPC_BAD_CONVERT_JS: 0x80570009;\n\n  /** Could not convert Native argument */\n  NS_ERROR_XPC_BAD_CONVERT_NATIVE: 0x8057000a;\n\n  /** Could not convert JavaScript argument (NULL value cannot be used for a C++ reference type) */\n  NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF: 0x8057000b;\n\n  /** Illegal operation on WrappedNative prototype object */\n  NS_ERROR_XPC_BAD_OP_ON_WN_PROTO: 0x8057000c;\n\n  /** Cannot convert WrappedNative to function */\n  NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN: 0x8057000d;\n\n  /** Cannot define new property in a WrappedNative */\n  NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN: 0x8057000e;\n\n  /** Cannot place watchpoints on WrappedNative object static properties */\n  NS_ERROR_XPC_CANT_WATCH_WN_STATIC: 0x8057000f;\n\n  /** Cannot   NS_ERROR_XPC_CANT_EXPORT_WN_STATIC: 0x80570010;\n\n  /** nsIXPCScriptable::Call failed */\n  NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED: 0x80570011;\n\n  /** nsIXPCScriptable::Construct failed */\n  NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED: 0x80570012;\n\n  /** Cannot use wrapper as function unless it implements nsIXPCScriptable */\n  NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE: 0x80570013;\n\n  /** Cannot use wrapper as constructor unless it implements nsIXPCScriptable */\n  NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE: 0x80570014;\n\n  /** ComponentManager::CreateInstance returned failure code: */\n  NS_ERROR_XPC_CI_RETURNED_FAILURE: 0x80570015;\n\n  /** ServiceManager::GetService returned failure code: */\n  NS_ERROR_XPC_GS_RETURNED_FAILURE: 0x80570016;\n\n  /** Invalid ClassID or ContractID */\n  NS_ERROR_XPC_BAD_CID: 0x80570017;\n\n  /** Invalid InterfaceID */\n  NS_ERROR_XPC_BAD_IID: 0x80570018;\n\n  /** Cannot create wrapper around native interface */\n  NS_ERROR_XPC_CANT_CREATE_WN: 0x80570019;\n\n  /** JavaScript component threw exception */\n  NS_ERROR_XPC_JS_THREW_EXCEPTION: 0x8057001a;\n\n  /** JavaScript component threw a native object that is not an exception */\n  NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT: 0x8057001b;\n\n  /** JavaScript component threw a JavaScript object */\n  NS_ERROR_XPC_JS_THREW_JS_OBJECT: 0x8057001c;\n\n  /** JavaScript component threw a null value as an exception */\n  NS_ERROR_XPC_JS_THREW_NULL: 0x8057001d;\n\n  /** JavaScript component threw a string as an exception */\n  NS_ERROR_XPC_JS_THREW_STRING: 0x8057001e;\n\n  /** JavaScript component threw a number as an exception */\n  NS_ERROR_XPC_JS_THREW_NUMBER: 0x8057001f;\n\n  /** JavaScript component caused a JavaScript error */\n  NS_ERROR_XPC_JAVASCRIPT_ERROR: 0x80570020;\n\n  /** JavaScript component caused a JavaScript error (detailed report attached) */\n  NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: 0x80570021;\n\n  /** Cannot convert primitive JavaScript value into an array */\n  NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY: 0x80570022;\n\n  /** Cannot convert JavaScript object into an array */\n  NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY: 0x80570023;\n\n  /** JavaScript Array does not have as many elements as indicated by size argument */\n  NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY: 0x80570024;\n\n  /** Cannot find array information */\n  NS_ERROR_XPC_CANT_GET_ARRAY_INFO: 0x80570025;\n\n  /** JavaScript String does not have as many characters as indicated by size argument */\n  NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING: 0x80570026;\n\n  /** Security Manager vetoed action */\n  NS_ERROR_XPC_SECURITY_MANAGER_VETO: 0x80570027;\n\n  /** Failed to build a wrapper because the interface that was not declared [scriptable] */\n  NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE: 0x80570028;\n\n  /** Failed to build a wrapper because the interface does not inherit from nsISupports */\n  NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS: 0x80570029;\n\n  /** Property is a constant and cannot be changed */\n  NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT: 0x8057002b;\n\n  /** Property is a read only attribute and cannot be changed */\n  NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE: 0x8057002c;\n\n  /** Property is an interface method and cannot be changed */\n  NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD: 0x8057002d;\n\n  /** Cannot add property to WrappedNative object */\n  NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE: 0x8057002e;\n\n  /** Call to nsIXPCScriptable interface for WrappedNative failed unexpecedly */\n  NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED: 0x8057002f;\n\n  /** JavaScript component does not have a method named: */\n  NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED: 0x80570030;\n\n  /** Bad ID string */\n  NS_ERROR_XPC_BAD_ID_STRING: 0x80570031;\n\n  /** Bad initializer name in Constructor - Component has no method with that name */\n  NS_ERROR_XPC_BAD_INITIALIZER_NAME: 0x80570032;\n\n  /** Operation failed because the XPConnect subsystem has been shutdown */\n  NS_ERROR_XPC_HAS_BEEN_SHUTDOWN: 0x80570033;\n\n  /** Cannot modify properties of a WrappedNative */\n  NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN: 0x80570034;\n\n  /** Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? */\n  NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL: 0x80570035;\n\n  // common global codes (from nsError.h)\n\n  /** Success */\n  NS_OK: 0x0;\n\n  /** Component not initialized */\n  NS_ERROR_NOT_INITIALIZED: 0xc1f30001;\n\n  /** Component already initialized */\n  NS_ERROR_ALREADY_INITIALIZED: 0xc1f30002;\n\n  /** Method not implemented */\n  NS_ERROR_NOT_IMPLEMENTED: 0x80004001;\n\n  /** Component does not have requested interface */\n  NS_NOINTERFACE: 0x80004002;\n\n  /** Component does not have requested interface */\n  NS_ERROR_NO_INTERFACE: 0x80004002;\n\n  /** Illegal value */\n  NS_ERROR_ILLEGAL_VALUE: 0x80070057;\n\n  /** Invalid pointer */\n  NS_ERROR_INVALID_POINTER: 0x80070057;\n\n  /** Null pointer */\n  NS_ERROR_NULL_POINTER: 0x80070057;\n\n  /** Abort */\n  NS_ERROR_ABORT: 0x80004004;\n\n  /** Failure */\n  NS_ERROR_FAILURE: 0x80004005;\n\n  /** Unexpected error */\n  NS_ERROR_UNEXPECTED: 0x8000ffff;\n\n  /** Out of Memory */\n  NS_ERROR_OUT_OF_MEMORY: 0x8007000e;\n\n  /** Invalid argument */\n  NS_ERROR_INVALID_ARG: 0x80070057;\n\n  /** Component is not available */\n  NS_ERROR_NOT_AVAILABLE: 0x80040111;\n\n  /** Factory not registered */\n  NS_ERROR_FACTORY_NOT_REGISTERED: 0x80040154;\n\n  /** Factory not registered (may be tried again) */\n  NS_ERROR_FACTORY_REGISTER_AGAIN: 0x80040155;\n\n  /** Factory not loaded */\n  NS_ERROR_FACTORY_NOT_LOADED: 0x800401f8;\n\n  /** Factory does not support signatures */\n  NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT: 0xc1f30101;\n\n  /** Factory already exists */\n  NS_ERROR_FACTORY_EXISTS: 0xc1f30100;\n\n  // added from nsError.h on Feb 28 2001...\n\n  /** Stream closed */\n  NS_BASE_STREAM_CLOSED: 0x80470002;\n\n  /** Error from the operating system */\n  NS_BASE_STREAM_OSERROR: 0x80470003;\n\n  /** Illegal arguments */\n  NS_BASE_STREAM_ILLEGAL_ARGS: 0x80470004;\n\n  /** No converter for unichar streams */\n  NS_BASE_STREAM_NO_CONVERTER: 0x80470005;\n\n  /** Bad converter for unichar streams */\n  NS_BASE_STREAM_BAD_CONVERSION: 0x80470006;\n\n  /** Stream would block */\n  NS_BASE_STREAM_WOULD_BLOCK: 0x80470007;\n\n  /** File error: Unrecognized path */\n  NS_ERROR_FILE_UNRECOGNIZED_PATH: 0x80520001;\n\n  /** File error: Unresolvable symlink */\n  NS_ERROR_FILE_UNRESOLVABLE_SYMLINK: 0x80520002;\n\n  /** File error: Execution failed */\n  NS_ERROR_FILE_EXECUTION_FAILED: 0x80520003;\n\n  /** File error: Unknown type */\n  NS_ERROR_FILE_UNKNOWN_TYPE: 0x80520004;\n\n  /** File error: Destination not dir */\n  NS_ERROR_FILE_DESTINATION_NOT_DIR: 0x80520005;\n\n  /** File error: Copy or move failed */\n  NS_ERROR_FILE_COPY_OR_MOVE_FAILED: 0x80520007;\n\n  /** File error: Already exists */\n  NS_ERROR_FILE_ALREADY_EXISTS: 0x80520008;\n\n  /** File error: Invalid path */\n  NS_ERROR_FILE_INVALID_PATH: 0x80520009;\n\n  /** File error: Corrupted */\n  NS_ERROR_FILE_CORRUPTED: 0x8052000b;\n\n  /** File error: Not directory */\n  NS_ERROR_FILE_NOT_DIRECTORY: 0x8052000c;\n\n  /** File error: Is directory */\n  NS_ERROR_FILE_IS_DIRECTORY: 0x8052000d;\n\n  /** File error: Is locked */\n  NS_ERROR_FILE_IS_LOCKED: 0x8052000e;\n\n  /** File error: Too big */\n  NS_ERROR_FILE_TOO_BIG: 0x8052000f;\n\n  /** File error: No device space */\n  NS_ERROR_FILE_NO_DEVICE_SPACE: 0x80520010;\n\n  /** File error: Name too long */\n  NS_ERROR_FILE_NAME_TOO_LONG: 0x80520011;\n\n  /** File error: Not found */\n  NS_ERROR_FILE_NOT_FOUND: 0x80520012;\n\n  /** File error: Read only */\n  NS_ERROR_FILE_READ_ONLY: 0x80520013;\n\n  /** File error: Dir not empty */\n  NS_ERROR_FILE_DIR_NOT_EMPTY: 0x80520014;\n\n  /** File error: Access denied */\n  NS_ERROR_FILE_ACCESS_DENIED: 0x80520015;\n\n  // added from nsError.h on Sept 6 2001...\n\n  /** Data conversion error */\n  NS_ERROR_CANNOT_CONVERT_DATA: 0x80460001;\n\n  /** Can not modify immutable data container */\n  NS_ERROR_OBJECT_IS_IMMUTABLE: 0x80460002;\n\n  /** Data conversion failed because significant data would be lost */\n  NS_ERROR_LOSS_OF_SIGNIFICANT_DATA: 0x80460003;\n\n  /** Data conversion succeeded but data was rounded to fit */\n  NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA: 0x460001;\n\n  // network related codes (from nsNetError.h)\n\n  /** The async request failed for some unknown reason */\n  NS_BINDING_FAILED: 0x804b0001;\n\n  /** The async request failed because it was aborted by some user action */\n  NS_BINDING_ABORTED: 0x804b0002;\n\n  /** The async request has been redirected to a different async request */\n  NS_BINDING_REDIRECTED: 0x804b0003;\n\n  /** The async request has been retargeted to a different handler */\n  NS_BINDING_RETARGETED: 0x804b0004;\n\n  /** The URI is malformed */\n  NS_ERROR_MALFORMED_URI: 0x804b000a;\n\n  /** The URI scheme corresponds to an unknown protocol handler */\n  NS_ERROR_UNKNOWN_PROTOCOL: 0x804b0012;\n\n  /** Channel opened successfully but no data will be returned */\n  NS_ERROR_NO_CONTENT: 0x804b0011;\n\n  /** The requested action could not be completed while the object is busy */\n  NS_ERROR_IN_PROGRESS: 0x804b000f;\n\n  /** Channel is already open */\n  NS_ERROR_ALREADY_OPENED: 0x804b0049;\n\n  /** The content encoding of the source document is incorrect */\n  NS_ERROR_INVALID_CONTENT_ENCODING: 0x804b001b;\n\n  /** Corrupted content received from server (potentially MIME type mismatch because of 'X-Content-Type-Options: nosniff') */\n  NS_ERROR_CORRUPTED_CONTENT: 0x804b001d;\n\n  /** Couldn't extract first component from potentially corrupted header field */\n  NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY: 0x804b0022;\n\n  /** The connection is already established */\n  NS_ERROR_ALREADY_CONNECTED: 0x804b000b;\n\n  /** The connection does not exist */\n  NS_ERROR_NOT_CONNECTED: 0x804b000c;\n\n  /** The connection was refused */\n  NS_ERROR_CONNECTION_REFUSED: 0x804b000d;\n\n  /** User refused navigation to potentially unsafe URL with embedded credentials/superfluos authentication */\n  NS_ERROR_SUPERFLUOS_AUTH: 0x804b005b;\n\n  /** User attempted basic HTTP authentication when it is disabled */\n  NS_ERROR_BASIC_HTTP_AUTH_DISABLED: 0x804b005c;\n\n  /** The access to local network is denied */\n  NS_ERROR_LOCAL_NETWORK_ACCESS_DENIED: 0x804b005d;\n\n  // Error codes return from the proxy\n\n  /** The connection to the proxy server was refused */\n  NS_ERROR_PROXY_CONNECTION_REFUSED: 0x804b0048;\n\n  /** The proxy requires authentication */\n  NS_ERROR_PROXY_AUTHENTICATION_FAILED: 0x804b057f;\n\n  /** The request failed on the proxy */\n  NS_ERROR_PROXY_BAD_GATEWAY: 0x804b05de;\n\n  /** The request timed out on the proxy */\n  NS_ERROR_PROXY_GATEWAY_TIMEOUT: 0x804b05e0;\n\n  /** Sending too many requests to a proxy */\n  NS_ERROR_PROXY_TOO_MANY_REQUESTS: 0x804b0595;\n\n  /** The proxy does not support the version of the HTTP request */\n  NS_ERROR_PROXY_VERSION_NOT_SUPPORTED: 0x804b05e1;\n\n  /** The user is banned from the proxy */\n  NS_ERROR_PROXY_FORBIDDEN: 0x804b057b;\n\n  /** The proxy is not available */\n  NS_ERROR_PROXY_SERVICE_UNAVAILABLE: 0x804b05df;\n\n  /** The desired destination is unavailable for legal reasons */\n  NS_ERROR_PROXY_UNAVAILABLE_FOR_LEGAL_REASONS: 0x804b05ab;\n\n  /** The connection has timed out */\n  NS_ERROR_NET_TIMEOUT: 0x804b000e;\n\n  /** The request has been cancelled because of a timeout */\n  NS_ERROR_NET_TIMEOUT_EXTERNAL: 0x804b0055;\n\n  /** The requested action could not be completed in the offline state */\n  NS_ERROR_OFFLINE: 0x804b0010;\n\n  /** Establishing a connection to an unsafe or otherwise banned port was prohibited */\n  NS_ERROR_PORT_ACCESS_NOT_ALLOWED: 0x804b0013;\n\n  /** The connection was established, but no data was ever received */\n  NS_ERROR_NET_RESET: 0x804b0014;\n\n  /** The connection was established, but the browser received an empty page with an error response */\n  NS_ERROR_NET_EMPTY_RESPONSE: 0x804b0024;\n\n  /** The connection was established, but the browser received an error response from the server */\n  NS_ERROR_NET_ERROR_RESPONSE: 0x804b0023;\n\n  /** The connection was established, but the data transfer was interrupted */\n  NS_ERROR_NET_INTERRUPT: 0x804b0047;\n\n  /** A transfer was only partially done when it completed */\n  NS_ERROR_NET_PARTIAL_TRANSFER: 0x804b004c;\n\n  /** There has been a http3 protocol error */\n  NS_ERROR_NET_HTTP3_PROTOCOL_ERROR: 0x804b0054;\n\n  /** This request is not resumable, but it was tried to resume it, or to request resume-specific data */\n  NS_ERROR_NOT_RESUMABLE: 0x804b0019;\n\n  /** It was attempted to resume the request, but the entity has changed in the meantime */\n  NS_ERROR_ENTITY_CHANGED: 0x804b0020;\n\n  /** The request failed as a result of a detected redirection loop */\n  NS_ERROR_REDIRECT_LOOP: 0x804b001f;\n\n  /** The request failed because the content type returned by the server was not a type expected by the channel */\n  NS_ERROR_UNSAFE_CONTENT_TYPE: 0x804b004a;\n\n  /** The load caused an error page to be displayed. */\n  NS_ERROR_LOAD_SHOWED_ERRORPAGE: 0x804b004d;\n\n  /** The request was blocked by a policy set by the system administrator. */\n  NS_ERROR_BLOCKED_BY_POLICY: 0x80780003;\n\n  /** The lookup of the hostname failed */\n  NS_ERROR_UNKNOWN_HOST: 0x804b001e;\n\n  /** The DNS lookup queue is full */\n  NS_ERROR_DNS_LOOKUP_QUEUE_FULL: 0x804b0021;\n\n  /** The lookup of the proxy hostname failed */\n  NS_ERROR_UNKNOWN_PROXY_HOST: 0x804b002a;\n\n  /** The specified socket type does not exist */\n  NS_ERROR_UNKNOWN_SOCKET_TYPE: 0x804b0033;\n\n  /** The specified socket type could not be created */\n  NS_ERROR_SOCKET_CREATE_FAILED: 0x804b0034;\n\n  /** The specified socket address type is not supported */\n  NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED: 0x804b0035;\n\n  /** Some other socket is already using the specified address. */\n  NS_ERROR_SOCKET_ADDRESS_IN_USE: 0x804b0036;\n\n  /** Cache key could not be found */\n  NS_ERROR_CACHE_KEY_NOT_FOUND: 0x804b003d;\n\n  /** Cache data is a stream */\n  NS_ERROR_CACHE_DATA_IS_STREAM: 0x804b003e;\n\n  /** Cache data is not a stream */\n  NS_ERROR_CACHE_DATA_IS_NOT_STREAM: 0x804b003f;\n\n  /** Cache entry exists but needs to be validated first */\n  NS_ERROR_CACHE_WAIT_FOR_VALIDATION: 0x804b0040;\n\n  /** Cache entry has been  doomed */\n  NS_ERROR_CACHE_ENTRY_DOOMED: 0x804b0041;\n\n  /** Read access to cache denied */\n  NS_ERROR_CACHE_READ_ACCESS_DENIED: 0x804b0042;\n\n  /** Write access to cache denied */\n  NS_ERROR_CACHE_WRITE_ACCESS_DENIED: 0x804b0043;\n\n  /** Cache is currently in use */\n  NS_ERROR_CACHE_IN_USE: 0x804b0044;\n\n  /** Document does not exist in cache */\n  NS_ERROR_DOCUMENT_NOT_CACHED: 0x804b0046;\n\n  /** The requested number of domain levels exceeds those present in the host string */\n  NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS: 0x804b0050;\n\n  /** The host string is an IP address */\n  NS_ERROR_HOST_IS_IP_ADDRESS: 0x804b0051;\n\n  /** Can't access a wrapped JS object from a different thread */\n  NS_ERROR_NOT_SAME_THREAD: 0x80460004;\n\n  /** Access to restricted URI denied */\n  NS_ERROR_DOM_BAD_URI: 0x805303f4;\n\n  /** Opening the Websocket failed */\n  NS_ERROR_WEBSOCKET_CONNECTION_REFUSED: 0x804b0057;\n\n  // storage related codes (from mozStorage.h)\n\n  /** SQLite database connection is busy */\n  NS_ERROR_STORAGE_BUSY: 0x80630001;\n\n  /** SQLite encountered an IO error */\n  NS_ERROR_STORAGE_IOERR: 0x80630002;\n\n  /** SQLite database operation failed because a constraint was violated */\n  NS_ERROR_STORAGE_CONSTRAINT: 0x80630003;\n\n  // plugin related codes (from nsPluginError.h)\n\n  /** Clearing site data by time range not supported by plugin */\n  NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED: 0x804c03eb;\n\n  // character converter related codes\n\n  /** The input characters have illegal sequences */\n  NS_ERROR_ILLEGAL_INPUT: 0x8050000e;\n\n  // Codes related to signd jars\n\n  /** The JAR is not signed. */\n  NS_ERROR_SIGNED_JAR_NOT_SIGNED: 0x80680001;\n\n  /** An entry in the JAR has been modified after the JAR was signed. */\n  NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY: 0x80680002;\n\n  /** An entry in the JAR has not been signed. */\n  NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY: 0x80680003;\n\n  /** An entry is missing from the JAR file. */\n  NS_ERROR_SIGNED_JAR_ENTRY_MISSING: 0x80680004;\n\n  /** The JAR's signature is wrong. */\n  NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE: 0x80680005;\n\n  /** An entry in the JAR is too large. */\n  NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE: 0x80680006;\n\n  /** An entry in the JAR is invalid. */\n  NS_ERROR_SIGNED_JAR_ENTRY_INVALID: 0x80680007;\n\n  /** The JAR's manifest or signature file is invalid. */\n  NS_ERROR_SIGNED_JAR_MANIFEST_INVALID: 0x80680008;\n\n  /** The PKCS#7 signature is malformed or invalid. */\n  NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO: 0x805a0401;\n\n  /** The PKCS#7 information is not signed. */\n  NS_ERROR_CMS_VERIFY_NOT_SIGNED: 0x805a0400;\n\n  // Codes related to signed manifests\n\n  /** The signed app manifest or signature file is invalid. */\n  NS_ERROR_SIGNED_APP_MANIFEST_INVALID: 0x806b0001;\n\n  // Codes for printing-related errors.\n\n  /** No printers available. */\n  NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE: 0x80480001;\n\n  /** The selected printer could not be found. */\n  NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND: 0x80480002;\n\n  /** Failed to open output file for print to file. */\n  NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE: 0x80480003;\n\n  /** Printing failed while starting the print job. */\n  NS_ERROR_GFX_PRINTER_STARTDOC: 0x80480004;\n\n  /** Printing failed while completing the print job. */\n  NS_ERROR_GFX_PRINTER_ENDDOC: 0x80480005;\n\n  /** Printing failed while starting a new page. */\n  NS_ERROR_GFX_PRINTER_STARTPAGE: 0x80480006;\n\n  /** Cannot print this document yet, it is still being loaded. */\n  NS_ERROR_GFX_PRINTER_DOC_IS_BUSY: 0x80480007;\n\n  // Codes related to content\n\n  /** The process that hosted this content has crashed. */\n  NS_ERROR_CONTENT_CRASHED: 0x805e0010;\n\n  /** The process that hosted this frame has crashed. */\n  NS_ERROR_FRAME_CRASHED: 0x805e000e;\n\n  /** The process that hosted this content did not have the same buildID as the parent. */\n  NS_ERROR_BUILDID_MISMATCH: 0x805e0011;\n\n  /** The load for this content was blocked. */\n  NS_ERROR_CONTENT_BLOCKED: 0x805e0006;\n\n  // Codes for the JS-implemented Push DOM API. These can be removed as part of bug 1252660.\n\n  /** Invalid raw ECDSA P-256 public key. */\n  NS_ERROR_DOM_PUSH_INVALID_KEY_ERR: 0x806d0005;\n\n  /** A subscription with a different application server key already exists. */\n  NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR: 0x806d0006;\n\n  // Codes defined in WebIDL https://heycam.github.io/webidl/#idl-DOMException-error-names\n\n  /** The object can not be found here. */\n  NS_ERROR_DOM_NOT_FOUND_ERR: 0x80530008;\n\n  /** The request is not allowed. */\n  NS_ERROR_DOM_NOT_ALLOWED_ERR: 0x80530021;\n\n  // Codes related to the URIClassifier service\n\n  /** The URI is malware */\n  NS_ERROR_MALWARE_URI: 0x805d001e;\n\n  /** The URI is phishing */\n  NS_ERROR_PHISHING_URI: 0x805d001f;\n\n  /** The URI is tracking */\n  NS_ERROR_TRACKING_URI: 0x805d0022;\n\n  /** The URI is unwanted */\n  NS_ERROR_UNWANTED_URI: 0x805d0023;\n\n  /** The URI is blocked */\n  NS_ERROR_BLOCKED_URI: 0x805d0025;\n\n  /** The URI is harmful */\n  NS_ERROR_HARMFUL_URI: 0x805d0026;\n\n  /** The URI is fingerprinting */\n  NS_ERROR_FINGERPRINTING_URI: 0x805d0029;\n\n  /** The URI is cryptomining */\n  NS_ERROR_CRYPTOMINING_URI: 0x805d002a;\n\n  /** The URI is social tracking */\n  NS_ERROR_SOCIALTRACKING_URI: 0x805d002b;\n\n  /** The URI is email tracking */\n  NS_ERROR_EMAILTRACKING_URI: 0x805d002c;\n\n  // Profile manager error codes\n\n  /** Flushing the profiles to disk would have overwritten changes made elsewhere. */\n  NS_ERROR_DATABASE_CHANGED: 0x805800ca;\n\n  // Codes related to URILoader\n\n  /** The data from a channel has already been parsed and cached so it doesn't need to be reparsed from the original source. */\n  NS_ERROR_PARSED_DATA_CACHED: 0x805d0021;\n\n  /** The async request has been cancelled by another async request */\n  NS_BINDING_CANCELLED_OLD_LOAD: 0x805d0027;\n\n  /** The ProgID classes had not been registered. */\n  NS_ERROR_WDBA_NO_PROGID: 0x80720001;\n\n  /** The existing UserChoice Hash could not be verified. */\n  NS_ERROR_WDBA_HASH_CHECK: 0x80720002;\n\n  /** UserChoice was set, but checking the default did not return our ProgID. */\n  NS_ERROR_WDBA_REJECTED: 0x80720003;\n\n  /** The existing UserChoice Hash was verified, but we're on an older, unsupported Windows build, so do not attempt to update the UserChoice hash. */\n  NS_ERROR_WDBA_BUILD: 0x80720004;\n\n  // Codes related to QuotaManager\n\n  /** Client initialization attempted before origin has been initialized. */\n  NS_ERROR_DOM_QM_CLIENT_INIT_ORIGIN_UNINITIALIZED: 0x80730001;\n}\n\ntype nsIXPCComponents_Values = nsIXPCComponents_Results[keyof nsIXPCComponents_Results];\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from services.json.\n * If you're updating some of the sources, see README for instructions.\n */\n\ninterface JSServices {\n  DAPTelemetry: nsIDAPTelemetry;\n  appShell: nsIAppShellService;\n  appinfo: nsICrashReporter & nsIXULAppInfo & nsIXULRuntime;\n  blocklist: nsIBlocklistService;\n  cache2: nsICacheStorageService;\n  catMan: nsICategoryManager;\n  clearData: nsIClearDataService;\n  clipboard: nsIClipboard;\n  console: nsIConsoleService;\n  cookieBanners: nsICookieBannerService;\n  cookies: nsICookieManager & nsICookieService;\n  cpmm: ContentProcessMessageManager;\n  dirsvc: nsIDirectoryService & nsIProperties;\n  dns: nsIDNSService;\n  domStorageManager: nsIDOMStorageManager & nsILocalStorageManager;\n  droppedLinkHandler: nsIDroppedLinkHandler;\n  eTLD: nsIEffectiveTLDService;\n  els: nsIEventListenerService;\n  env: nsIEnvironment;\n  focus: nsIFocusManager;\n  fog: nsIFOG;\n  intl: mozIMozIntl;\n  io: nsIIOService & nsINetUtil & nsISpeculativeConnect;\n  loadContextInfo: nsILoadContextInfoFactory;\n  locale: mozILocaleService;\n  logins: nsILoginManager;\n  mm: ChromeMessageBroadcaster;\n  obs: nsIObserverService;\n  perms: nsIPermissionManager;\n  policies: nsIEnterprisePolicies;\n  ppmm: ParentProcessMessageManager;\n  prefs: nsIPrefBranch & nsIPrefService;\n  profiler: nsIProfiler;\n  prompt: nsIPromptService;\n  qms: nsIQuotaManagerService;\n  rfp: nsIRFPService;\n  scriptSecurityManager: nsIScriptSecurityManager;\n  scriptloader: mozIJSSubScriptLoader;\n  search: nsISearchService;\n  sessionStorage: nsISessionStorageService;\n  startup: nsIAppStartup;\n  storage: mozIStorageService;\n  strings: nsIStringBundleService;\n  sysinfo: nsIPropertyBag2 & nsISystemInfo;\n  telemetry: nsITelemetry;\n  textToSubURI: nsITextToSubURI;\n  tm: nsIThreadManager;\n  uriFixup: nsIURIFixup;\n  urlFormatter: nsIURLFormatter;\n  uuid: nsIUUIDGenerator;\n  vc: nsIVersionComparator;\n  wm: nsIWindowMediator;\n  ww: nsIWindowWatcher;\n  xulStore: nsIXULStore;\n}\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from source XPCOM .idl files.\n * If you're updating some of the sources, see README for instructions.\n */\n\ndeclare global {\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl\n\ninterface nsIInstalledApplication extends nsISupports {\n  readonly name: string;\n  readonly publisher: string;\n}\n\ninterface nsIAboutThirdParty extends nsISupports {\n  readonly ModuleType_Unknown?: 1;\n  readonly ModuleType_IME?: 2;\n  readonly ModuleType_ShellExtension?: 4;\n  readonly ModuleType_BlockedByUser?: 8;\n  readonly ModuleType_BlockedByUserAtLaunch?: 16;\n\n  lookupModuleType(aLeafName: string): u32;\n  lookupApplication(aModulePath: string): nsIInstalledApplication;\n  readonly isDynamicBlocklistAvailable: boolean;\n  readonly isDynamicBlocklistDisabled: boolean;\n  updateBlocklist(aLeafName: string, aNewBlockStatus: boolean): Promise<any>;\n  collectSystemInfo(): Promise<any>;\n  loadModuleForTesting(aModulePath: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/aboutwindowsmessages/nsIAboutWindowsMessages.idl\n\ninterface nsIAboutWindowsMessages extends nsISupports {\n  getMessages(currentWindow: mozIDOMWindowProxy, messages: OutParam<string[][]>, windowTitles: OutParam<string[]>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIWindowsAlertsService.idl\n\n}  // global\n\ndeclare enum nsIWindowsAlertNotification_ImagePlacement {\n  eInline = 0,\n  eHero = 1,\n  eIcon = 2,\n}\n\ndeclare global {\n\nnamespace nsIWindowsAlertNotification {\n  type ImagePlacement = nsIWindowsAlertNotification_ImagePlacement;\n}\n\ninterface nsIWindowsAlertNotification extends nsIAlertNotification, Enums<typeof nsIWindowsAlertNotification_ImagePlacement> {\n  imagePlacement: nsIWindowsAlertNotification.ImagePlacement;\n}\n\ninterface nsIWindowsAlertsService extends nsIAlertsService {\n  handleWindowsTag(aWindowsTag: string): Promise<any>;\n  getXmlStringForWindowsAlert(aAlert: nsIAlertNotification, aWindowsTag?: string): string;\n  removeAllNotificationsForInstall(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIDefaultAgent.idl\n\ninterface nsIDefaultAgent extends nsISupports {\n  registerTask(aUniqueToken: string): void;\n  updateTask(aUniqueToken: string): void;\n  unregisterTask(aUniqueToken: string): void;\n  uninstall(aUniqueToken: string): void;\n  secondsSinceLastAppRun(): i64;\n  getDefaultBrowser(): string;\n  getReplacePreviousDefaultBrowser(aCurrentBrowser: string): string;\n  getDefaultPdfHandler(): string;\n  sendPing(aCurrentBrowser: string, aPreviousBrowser: string, aPdfHandler: string, aNotificationShown: string, aNotificationAction: string, daysSinceLastAppLaunch: u32): void;\n  setDefaultBrowserUserChoice(aAumid: string, aExtraFileExtensions: string[]): void;\n  setDefaultBrowserUserChoiceAsync(aAumid: string, aExtraFileExtensions: string[]): Promise<any>;\n  setDefaultExtensionHandlersUserChoice(aAumid: string, aFileExtensions: string[]): void;\n  agentDisabled(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIWindowsMutex.idl\n\ninterface nsIWindowsMutex extends nsISupports {\n  tryLock(): void;\n  isLocked(): boolean;\n  unlock(): void;\n}\n\ninterface nsIWindowsMutexFactory extends nsISupports {\n  createMutex(aName: string): nsIWindowsMutex;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/geolocation/nsIGeolocationUIUtilsWin.idl\n\ninterface nsIGeolocationUIUtilsWin extends nsISupports {\n  dismissPrompts(aBC: BrowsingContext): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/socket/nsINamedPipeService.idl\n\n// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIWindowsShellService.idl\n\n}  // global\n\ndeclare enum nsIWindowsShellService_LaunchOnLoginEnabledEnumerator {\n  LAUNCH_ON_LOGIN_DISABLED_BY_SETTINGS = 0,\n  LAUNCH_ON_LOGIN_DISABLED = 1,\n  LAUNCH_ON_LOGIN_ENABLED = 2,\n  LAUNCH_ON_LOGIN_ENABLED_BY_POLICY = 3,\n}\n\ndeclare global {\n\nnamespace nsIWindowsShellService {\n  type LaunchOnLoginEnabledEnumerator = nsIWindowsShellService_LaunchOnLoginEnabledEnumerator;\n}\n\ninterface nsIWindowsShellService extends nsIShellService, Enums<typeof nsIWindowsShellService_LaunchOnLoginEnabledEnumerator> {\n  createShortcut(aBinary: nsIFile, aArguments: string[], aDescription: string, aIconFile: nsIFile, aIconIndex: u16, aAppUserModelId: string, aShortcutFolder: string, aShortcutName: string): Promise<any>;\n  getLaunchOnLoginShortcuts(): string[];\n  pinCurrentAppToStartMenuAsync(aCheckOnly: boolean): Promise<any>;\n  isCurrentAppPinnedToStartMenuAsync(): Promise<any>;\n  enableLaunchOnLoginMSIXAsync(aTaskId: string): Promise<any>;\n  disableLaunchOnLoginMSIXAsync(aTaskId: string): Promise<any>;\n  getLaunchOnLoginEnabledMSIXAsync(aTaskId: string): Promise<any>;\n  pinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;\n  checkPinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;\n  isCurrentAppPinnedToTaskbarAsync(aumid: string): Promise<any>;\n  pinShortcutToTaskbar(aAppUserModelId: string, aShortcutPath: string): Promise<any>;\n  createWindowsIcon(aFile: nsIFile, aContainer: imgIContainer): Promise<any>;\n  unpinShortcutFromTaskbar(aShortcutPath: string): void;\n  getTaskbarTabShortcutPath(aShortcutName: string): string;\n  getTaskbarTabPins(): string[];\n  classifyShortcut(aPath: string): string;\n  hasPinnableShortcut(aAUMID: string, aPrivateBrowsing: boolean): Promise<any>;\n  canSetDefaultBrowserUserChoice(): boolean;\n  checkAllProgIDsExist(): boolean;\n  checkBrowserUserChoiceHashes(): boolean;\n  checkCurrentProcessAUMIDForTesting(): string;\n  isDefaultHandlerFor(aFileExtensionOrProtocol: string): boolean;\n  queryCurrentDefaultHandlerFor(aFileExtensionOrProtocol: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/taskscheduler/nsIWinTaskSchedulerService.idl\n\ninterface nsIWinTaskSchedulerService extends nsISupports {\n  registerTask(aFolderName: string, aTaskName: string, aDefinitionXML: string, aUpdateExisting?: boolean): void;\n  validateTaskDefinition(aDefinitionXML: string): i32;\n  getTaskXML(aFolderName: string, aTaskName: string): string;\n  getCurrentUserSid(): string;\n  deleteTask(aFolderName: string, aTaskName: string): void;\n  getFolderTasks(aFolderName: string): string[];\n  createFolder(aParentFolderName: string, aSubFolderName: string): void;\n  deleteFolder(aParentFolderName: string, aSubFolderName: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIJumpListBuilder.idl\n\ninterface nsIJumpListBuilder extends nsISupports {\n  obtainAndCacheFavicon(faviconURL: nsIURI): string;\n  obtainAndCacheFaviconAsync(faviconURL: nsIURI): Promise<any>;\n  isAvailable(): Promise<any>;\n  checkForRemovals(): Promise<any>;\n  populateJumpList(aTaskDescriptions: any, aCustomTitle: string, aCustomDescriptions: any): Promise<any>;\n  clearJumpList(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsWin.idl\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarOverlayIconController.idl\n\ninterface nsITaskbarOverlayIconController extends nsISupports {\n  setOverlayIcon(statusIcon: imgIContainer, statusDescription: string, paintContext?: nsISVGPaintContext): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreview.idl\n\ninterface nsITaskbarPreview extends nsISupports {\n  controller: nsITaskbarPreviewController;\n  tooltip: string;\n  visible: boolean;\n  active: boolean;\n  invalidate(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewButton.idl\n\ninterface nsITaskbarPreviewButton extends nsISupports {\n  tooltip: string;\n  dismissOnClick: boolean;\n  hasBorder: boolean;\n  disabled: boolean;\n  image: imgIContainer;\n  visible: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewController.idl\n\ntype nsITaskbarPreviewCallback = Callable<{\n  done(aCanvas: nsISupports, aDrawBorder: boolean): void;\n}>\n\ninterface nsITaskbarPreviewController extends nsISupports {\n  readonly width: u32;\n  readonly height: u32;\n  readonly thumbnailAspectRatio: float;\n  requestPreview(aCallback: nsITaskbarPreviewCallback): void;\n  requestThumbnail(aCallback: nsITaskbarPreviewCallback, width: u32, height: u32): void;\n  onClose(): void;\n  onActivate(): boolean;\n  onClick(button: nsITaskbarPreviewButton): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl\n\ninterface nsITaskbarProgress extends nsISupports {\n  readonly STATE_NO_PROGRESS?: 0;\n  readonly STATE_INDETERMINATE?: 1;\n  readonly STATE_NORMAL?: 2;\n  readonly STATE_ERROR?: 3;\n  readonly STATE_PAUSED?: 4;\n\n  setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarTabPreview.idl\n\ninterface nsITaskbarTabPreview extends nsITaskbarPreview {\n  title: string;\n  icon: imgIContainer;\n  move(aNext: nsITaskbarTabPreview): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITaskbarWindowPreview.idl\n\ninterface nsITaskbarWindowPreview extends nsITaskbarPreview {\n  readonly NUM_TOOLBAR_BUTTONS?: 7;\n\n  getButton(index: u32): nsITaskbarPreviewButton;\n  enableCustomDrawing: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIWinTaskbar.idl\n\ninterface nsIWinTaskbar extends nsISupports {\n  readonly available: boolean;\n  readonly defaultGroupId: string;\n  readonly defaultPrivateGroupId: string;\n  createTaskbarTabPreview(shell: nsIDocShell, controller: nsITaskbarPreviewController): nsITaskbarTabPreview;\n  getTaskbarWindowPreview(shell: nsIDocShell): nsITaskbarWindowPreview;\n  getTaskbarProgress(shell: nsIDocShell): nsITaskbarProgress;\n  getOverlayIconController(shell: nsIDocShell): nsITaskbarOverlayIconController;\n  createJumpListBuilder(aPrivateBrowsing: boolean): nsIJumpListBuilder;\n  getGroupIdForWindow(aParent: mozIDOMWindow): string;\n  setGroupIdForWindow(aParent: mozIDOMWindow, aIdentifier: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIWindowsUIUtils.idl\n\ninterface nsIWindowsUIUtils extends nsISupports {\n  readonly systemSmallIconSize: i32;\n  readonly systemLargeIconSize: i32;\n  setWindowIcon(aWindow: mozIDOMWindowProxy, aSmallIcon: imgIContainer, aLargeIcon: imgIContainer): void;\n  setWindowIconFromExe(aWindow: mozIDOMWindowProxy, aExe: string, aIndex: u16): void;\n  setWindowIconNoData(aWindow: mozIDOMWindowProxy): void;\n  readonly inWin10TabletMode: boolean;\n  readonly inWin11TabletMode: boolean;\n  shareUrl(urlToShare: string, shareTitle: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/system/windowsPackageManager/nsIWindowsPackageManager.idl\n\ninterface nsIWindowsPackageManager extends nsISupports {\n  findUserInstalledPackages(prefix: string[]): string[];\n  getInstalledDate(): u64;\n  campaignId(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWindowsRegKey.idl\n\ninterface nsIWindowsRegKey extends nsISupports {\n  readonly ROOT_KEY_CLASSES_ROOT?: 2147483648;\n  readonly ROOT_KEY_CURRENT_USER?: 2147483649;\n  readonly ROOT_KEY_LOCAL_MACHINE?: 2147483650;\n  readonly ACCESS_BASIC?: 131072;\n  readonly ACCESS_QUERY_VALUE?: 1;\n  readonly ACCESS_SET_VALUE?: 2;\n  readonly ACCESS_CREATE_SUB_KEY?: 4;\n  readonly ACCESS_ENUMERATE_SUB_KEYS?: 8;\n  readonly ACCESS_NOTIFY?: 16;\n  readonly ACCESS_READ?: 131097;\n  readonly ACCESS_WRITE?: 131078;\n  readonly ACCESS_ALL?: 131103;\n  readonly WOW64_32?: 512;\n  readonly WOW64_64?: 256;\n  readonly TYPE_NONE?: 0;\n  readonly TYPE_STRING?: 1;\n  readonly TYPE_BINARY?: 3;\n  readonly TYPE_INT?: 4;\n  readonly TYPE_INT64?: 11;\n\n  close(): void;\n  open(rootKey: u32, relPath: string, mode: u32): void;\n  create(rootKey: u32, relPath: string, mode: u32): void;\n  openChild(relPath: string, mode: u32): nsIWindowsRegKey;\n  createChild(relPath: string, mode: u32): nsIWindowsRegKey;\n  readonly childCount: u32;\n  getChildName(index: u32): string;\n  hasChild(name: string): boolean;\n  readonly valueCount: u32;\n  getValueName(index: u32): string;\n  hasValue(name: string): boolean;\n  removeChild(relPath: string): void;\n  removeValue(name: string): void;\n  getValueType(name: string): u32;\n  readStringValue(name: string): string;\n  readIntValue(name: string): u32;\n  readInt64Value(name: string): u64;\n  readBinaryValue(name: string): string;\n  writeStringValue(name: string, data: string): void;\n  writeIntValue(name: string, data: u32): void;\n  writeInt64Value(name: string, data: u64): void;\n  writeBinaryValue(name: string, data: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/xre/nsIWinAppHelper.idl\n\ninterface nsIWinAppHelper extends nsISupports {\n  readonly userCanElevate: boolean;\n}\n\ninterface nsIXPCComponents_Interfaces {\n  nsIInstalledApplication: nsJSIID<nsIInstalledApplication>;\n  nsIAboutThirdParty: nsJSIID<nsIAboutThirdParty>;\n  nsIAboutWindowsMessages: nsJSIID<nsIAboutWindowsMessages>;\n  nsIWindowsAlertNotification: nsJSIID<nsIWindowsAlertNotification, typeof nsIWindowsAlertNotification_ImagePlacement>;\n  nsIWindowsAlertsService: nsJSIID<nsIWindowsAlertsService>;\n  nsIDefaultAgent: nsJSIID<nsIDefaultAgent>;\n  nsIWindowsMutex: nsJSIID<nsIWindowsMutex>;\n  nsIWindowsMutexFactory: nsJSIID<nsIWindowsMutexFactory>;\n  nsIGeolocationUIUtilsWin: nsJSIID<nsIGeolocationUIUtilsWin>;\n  nsIWindowsShellService: nsJSIID<nsIWindowsShellService, typeof nsIWindowsShellService_LaunchOnLoginEnabledEnumerator>;\n  nsIWinTaskSchedulerService: nsJSIID<nsIWinTaskSchedulerService>;\n  nsIJumpListBuilder: nsJSIID<nsIJumpListBuilder>;\n  nsITaskbarOverlayIconController: nsJSIID<nsITaskbarOverlayIconController>;\n  nsITaskbarPreview: nsJSIID<nsITaskbarPreview>;\n  nsITaskbarPreviewButton: nsJSIID<nsITaskbarPreviewButton>;\n  nsITaskbarPreviewCallback: nsJSIID<nsITaskbarPreviewCallback>;\n  nsITaskbarPreviewController: nsJSIID<nsITaskbarPreviewController>;\n  nsITaskbarProgress: nsJSIID<nsITaskbarProgress>;\n  nsITaskbarTabPreview: nsJSIID<nsITaskbarTabPreview>;\n  nsITaskbarWindowPreview: nsJSIID<nsITaskbarWindowPreview>;\n  nsIWinTaskbar: nsJSIID<nsIWinTaskbar>;\n  nsIWindowsUIUtils: nsJSIID<nsIWindowsUIUtils>;\n  nsIWindowsPackageManager: nsJSIID<nsIWindowsPackageManager>;\n  nsIWindowsRegKey: nsJSIID<nsIWindowsRegKey>;\n  nsIWinAppHelper: nsJSIID<nsIWinAppHelper>;\n}\n\n}  // global\n\n// Typedefs from xpidl.\ntype PRTime = i64;\ntype nsTaskbarProgressState = i32;\n\n// XPCOM internal utility types.\n\n/** XPCOM inout param is passed in as a js object with a value property. */\ntype InOutParam<T> = { value: T };\n\n/** XPCOM out param is written to the passed in object's value property. */\ntype OutParam<T> = { value?: T };\n\n/** Enable interfaces to inherit from enums: pick variants as optional. */\ntype Enums<enums> = Partial<Pick<enums, keyof enums>>;\n\n/** Callable accepts either form of a [function] interface. */\ntype Callable<iface> = iface | Extract<iface[keyof iface], Function>\n\n\n// @ts-nocheck\n/**\n * NOTE: Do not modify this file by hand.\n * Content was generated from source XPCOM .idl files.\n * If you're updating some of the sources, see README for instructions.\n */\n\ndeclare global {\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/bitsdownload/nsIBits.idl\n\ninterface nsIBits extends nsISupports {\n  readonly ERROR_TYPE_SUCCESS?: 0;\n  readonly ERROR_TYPE_UNKNOWN?: 1;\n  readonly ERROR_TYPE_METHOD_THREW?: 2;\n  readonly ERROR_TYPE_METHOD_TIMEOUT?: 3;\n  readonly ERROR_TYPE_NULL_ARGUMENT?: 4;\n  readonly ERROR_TYPE_INVALID_ARGUMENT?: 5;\n  readonly ERROR_TYPE_NOT_INITIALIZED?: 6;\n  readonly ERROR_TYPE_NO_UTF8_CONVERSION?: 7;\n  readonly ERROR_TYPE_INVALID_GUID?: 8;\n  readonly ERROR_TYPE_PIPE_NOT_CONNECTED?: 9;\n  readonly ERROR_TYPE_PIPE_TIMEOUT?: 10;\n  readonly ERROR_TYPE_PIPE_BAD_WRITE_COUNT?: 11;\n  readonly ERROR_TYPE_PIPE_API_ERROR?: 12;\n  readonly ERROR_TYPE_FAILED_TO_CREATE_BITS_JOB?: 13;\n  readonly ERROR_TYPE_FAILED_TO_ADD_FILE_TO_JOB?: 14;\n  readonly ERROR_TYPE_FAILED_TO_APPLY_BITS_JOB_SETTINGS?: 15;\n  readonly ERROR_TYPE_FAILED_TO_RESUME_BITS_JOB?: 16;\n  readonly ERROR_TYPE_OTHER_BITS_ERROR?: 17;\n  readonly ERROR_TYPE_OTHER_BITS_CLIENT_ERROR?: 18;\n  readonly ERROR_TYPE_BITS_JOB_NOT_FOUND?: 19;\n  readonly ERROR_TYPE_FAILED_TO_GET_BITS_JOB?: 20;\n  readonly ERROR_TYPE_FAILED_TO_SUSPEND_BITS_JOB?: 21;\n  readonly ERROR_TYPE_FAILED_TO_COMPLETE_BITS_JOB?: 22;\n  readonly ERROR_TYPE_PARTIALLY_COMPLETED_BITS_JOB?: 23;\n  readonly ERROR_TYPE_FAILED_TO_CANCEL_BITS_JOB?: 24;\n  readonly ERROR_TYPE_MISSING_RESULT_DATA?: 25;\n  readonly ERROR_TYPE_MISSING_CALLBACK?: 26;\n  readonly ERROR_TYPE_CALLBACK_ON_WRONG_THREAD?: 27;\n  readonly ERROR_TYPE_MISSING_BITS_SERVICE?: 28;\n  readonly ERROR_TYPE_BITS_SERVICE_ON_WRONG_THREAD?: 29;\n  readonly ERROR_TYPE_MISSING_BITS_REQUEST?: 30;\n  readonly ERROR_TYPE_BITS_REQUEST_ON_WRONG_THREAD?: 31;\n  readonly ERROR_TYPE_MISSING_OBSERVER?: 32;\n  readonly ERROR_TYPE_OBSERVER_ON_WRONG_THREAD?: 33;\n  readonly ERROR_TYPE_MISSING_CONTEXT?: 34;\n  readonly ERROR_TYPE_CONTEXT_ON_WRONG_THREAD?: 35;\n  readonly ERROR_TYPE_FAILED_TO_START_THREAD?: 36;\n  readonly ERROR_TYPE_FAILED_TO_CONSTRUCT_TASK_RUNNABLE?: 37;\n  readonly ERROR_TYPE_FAILED_TO_DISPATCH_RUNNABLE?: 38;\n  readonly ERROR_TYPE_TRANSFER_ALREADY_COMPLETE?: 39;\n  readonly ERROR_TYPE_OPERATION_ALREADY_IN_PROGRESS?: 40;\n  readonly ERROR_TYPE_MISSING_BITS_CLIENT?: 41;\n  readonly ERROR_TYPE_FAILED_TO_GET_JOB_STATUS?: 42;\n  readonly ERROR_TYPE_BITS_STATE_ERROR?: 43;\n  readonly ERROR_TYPE_BITS_STATE_TRANSIENT_ERROR?: 44;\n  readonly ERROR_TYPE_BITS_STATE_CANCELLED?: 45;\n  readonly ERROR_TYPE_BITS_STATE_UNEXPECTED?: 46;\n  readonly ERROR_TYPE_VERIFICATION_FAILURE?: 47;\n  readonly ERROR_TYPE_ACCESS_DENIED_EXPECTED?: 48;\n  readonly ERROR_TYPE_FAILED_TO_CONNECT_TO_BCM?: 49;\n  readonly ERROR_TYPE_USE_AFTER_REQUEST_SHUTDOWN?: 50;\n  readonly ERROR_TYPE_BROWSER_SHUTTING_DOWN?: 51;\n  readonly ERROR_ACTION_UNKNOWN?: 1;\n  readonly ERROR_ACTION_NONE?: 2;\n  readonly ERROR_ACTION_START_DOWNLOAD?: 3;\n  readonly ERROR_ACTION_MONITOR_DOWNLOAD?: 4;\n  readonly ERROR_ACTION_CHANGE_MONITOR_INTERVAL?: 5;\n  readonly ERROR_ACTION_CANCEL?: 6;\n  readonly ERROR_ACTION_SET_PRIORITY?: 7;\n  readonly ERROR_ACTION_COMPLETE?: 8;\n  readonly ERROR_ACTION_SUSPEND?: 9;\n  readonly ERROR_ACTION_RESUME?: 10;\n  readonly ERROR_ACTION_SET_NO_PROGRESS_TIMEOUT?: 11;\n  readonly ERROR_STAGE_UNKNOWN?: 1;\n  readonly ERROR_STAGE_PRETASK?: 2;\n  readonly ERROR_STAGE_COMMAND_THREAD?: 3;\n  readonly ERROR_STAGE_AGENT_COMMUNICATION?: 4;\n  readonly ERROR_STAGE_BITS_CLIENT?: 5;\n  readonly ERROR_STAGE_MAIN_THREAD?: 6;\n  readonly ERROR_STAGE_MONITOR?: 7;\n  readonly ERROR_STAGE_VERIFICATION?: 8;\n  readonly ERROR_CODE_TYPE_NONE?: 1;\n  readonly ERROR_CODE_TYPE_NSRESULT?: 2;\n  readonly ERROR_CODE_TYPE_HRESULT?: 3;\n  readonly ERROR_CODE_TYPE_STRING?: 4;\n  readonly ERROR_CODE_TYPE_EXCEPTION?: 5;\n  readonly PROXY_NONE?: 1;\n  readonly PROXY_PRECONFIG?: 2;\n  readonly PROXY_AUTODETECT?: 3;\n\n  readonly initialized: boolean;\n  init(jobName: string, savePathPrefix: string, monitorTimeoutMs: u32): void;\n  startDownload(downloadURL: string, saveRelativePath: string, proxy: nsProxyUsage, noProgressTimeoutSecs: u32, monitorIntervalMs: u32, customHeaders: string, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;\n  monitorDownload(id: string, monitorIntervalMs: u32, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;\n}\n\ninterface nsIBitsNewRequestCallback extends nsISupports {\n  success(request: nsIBitsRequest): void;\n  failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;\n  failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;\n  failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;\n  failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;\n}\n\ninterface nsIBitsRequest extends nsIRequest {\n  readonly bitsId: string;\n  readonly transferError: nsBitsErrorType;\n  changeMonitorInterval(monitorIntervalMs: u32, callback: nsIBitsCallback): void;\n  cancelAsync(status: nsresult, callback: nsIBitsCallback): void;\n  setPriorityHigh(callback: nsIBitsCallback): void;\n  setPriorityLow(callback: nsIBitsCallback): void;\n  setNoProgressTimeout(timeoutSecs: u32, callback: nsIBitsCallback): void;\n  complete(callback: nsIBitsCallback): void;\n  suspendAsync(callback: nsIBitsCallback): void;\n  resumeAsync(callback: nsIBitsCallback): void;\n}\n\ninterface nsIBitsCallback extends nsISupports {\n  success(): void;\n  failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;\n  failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;\n  failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;\n  failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibilityService.idl\n\ninterface nsIAccessibilityService extends nsISupports {\n  getApplicationAccessible(): nsIAccessible;\n  getAccessibleFor(aNode: Node): nsIAccessible;\n  getAccessibleDescendantFor(aNode: Node): nsIAccessible;\n  getStringRole(aRole: u32): string;\n  getStringStates(aStates: u32, aExtraStates: u32): nsISupports;\n  getStringEventType(aEventType: u32): string;\n  getStringRelationType(aRelationType: u32): string;\n  getAccessibleFromCache(aNode: Node): nsIAccessible;\n  setCacheDomains(aCacheDomains: u64): void;\n  createAccessiblePivot(aRoot: nsIAccessible): nsIAccessiblePivot;\n  createTextLeafPoint(aAccessible: nsIAccessible, aOffset: i32): nsIAccessibleTextLeafPoint;\n  setLogging(aModules: string): void;\n  isLogged(aModule: string): boolean;\n  getConsumers(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessible.idl\n\ninterface nsIAccessible extends nsISupports {\n  readonly parent: nsIAccessible;\n  readonly nextSibling: nsIAccessible;\n  readonly previousSibling: nsIAccessible;\n  readonly firstChild: nsIAccessible;\n  readonly lastChild: nsIAccessible;\n  readonly children: nsIArray;\n  readonly childCount: i32;\n  readonly indexInParent: i32;\n  readonly uniqueID: i64;\n  readonly DOMNode: Node;\n  readonly id: string;\n  readonly document: nsIAccessibleDocument;\n  readonly rootDocument: nsIAccessibleDocument;\n  readonly language: string;\n  readonly name: string;\n  readonly value: string;\n  readonly description: string;\n  readonly accessKey: string;\n  readonly keyboardShortcut: string;\n  readonly role: u32;\n  getState(aState: OutParam<u32>, aExtraState: OutParam<u32>): void;\n  readonly focusedChild: nsIAccessible;\n  readonly attributes: nsIPersistentProperties;\n  readonly cache: nsIPersistentProperties;\n  readonly nativeInterface: nsISupports;\n  groupPosition(aGroupLevel: OutParam<i32>, aSimilarItemsInGroup: OutParam<i32>, aPositionInGroup: OutParam<i32>): void;\n  getChildAtPoint(x: i32, y: i32): nsIAccessible;\n  getDeepestChildAtPoint(x: i32, y: i32): nsIAccessible;\n  getDeepestChildAtPointInProcess(x: i32, y: i32): nsIAccessible;\n  getChildAt(aChildIndex: i32): nsIAccessible;\n  getRelationByType(aRelationType: u32): nsIAccessibleRelation;\n  getRelations(): nsIArray;\n  getBounds(x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  getBoundsInCSSPixels(aX: OutParam<i32>, aY: OutParam<i32>, aWidth: OutParam<i32>, aHeight: OutParam<i32>): void;\n  setSelected(isSelected: boolean): void;\n  takeSelection(): void;\n  takeFocus(): void;\n  readonly actionCount: u8;\n  getActionName(index: u8): string;\n  getActionDescription(aIndex: u8): string;\n  doAction(index: u8): void;\n  scrollTo(aScrollType: u32): void;\n  scrollToPoint(coordinateType: u32, x: i32, y: i32): void;\n  announce(announcement: string, priority: u16): void;\n  readonly computedARIARole: string;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleAnnouncementEvent.idl\n\ninterface nsIAccessibleAnnouncementEvent extends nsIAccessibleEvent {\n  readonly POLITE?: 0;\n  readonly ASSERTIVE?: 1;\n\n  readonly announcement: string;\n  readonly priority: u16;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleApplication.idl\n\ninterface nsIAccessibleApplication extends nsISupports {\n  readonly appName: string;\n  readonly appVersion: string;\n  readonly platformName: string;\n  readonly platformVersion: string;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleCaretMoveEvent.idl\n\ninterface nsIAccessibleCaretMoveEvent extends nsIAccessibleEvent {\n  readonly caretOffset: i32;\n  readonly isSelectionCollapsed: boolean;\n  readonly isAtEndOfLine: boolean;\n  readonly granularity: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleDocument.idl\n\ninterface nsIAccessibleDocument extends nsISupports {\n  readonly URL: string;\n  readonly title: string;\n  readonly mimeType: string;\n  readonly docType: string;\n  readonly DOMDocument: Document;\n  readonly window: mozIDOMWindowProxy;\n  readonly parentDocument: nsIAccessibleDocument;\n  readonly childDocumentCount: u32;\n  getChildDocumentAt(index: u32): nsIAccessibleDocument;\n  readonly browsingContext: BrowsingContext;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleEditableText.idl\n\ninterface nsIAccessibleEditableText extends nsISupports {\n  setTextContents(text: string): void;\n  insertText(text: string, position: i32): void;\n  copyText(startPos: i32, endPos: i32): void;\n  cutText(startPos: i32, endPos: i32): void;\n  deleteText(startPos: i32, endPos: i32): void;\n  pasteText(position: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleEvent.idl\n\ninterface nsIAccessibleEvent extends nsISupports {\n  readonly EVENT_SHOW?: 1;\n  readonly EVENT_HIDE?: 2;\n  readonly EVENT_REORDER?: 3;\n  readonly EVENT_FOCUS?: 4;\n  readonly EVENT_STATE_CHANGE?: 5;\n  readonly EVENT_NAME_CHANGE?: 6;\n  readonly EVENT_DESCRIPTION_CHANGE?: 7;\n  readonly EVENT_VALUE_CHANGE?: 8;\n  readonly EVENT_SELECTION?: 9;\n  readonly EVENT_SELECTION_ADD?: 10;\n  readonly EVENT_SELECTION_REMOVE?: 11;\n  readonly EVENT_SELECTION_WITHIN?: 12;\n  readonly EVENT_ALERT?: 13;\n  readonly EVENT_MENU_START?: 14;\n  readonly EVENT_MENU_END?: 15;\n  readonly EVENT_MENUPOPUP_START?: 16;\n  readonly EVENT_MENUPOPUP_END?: 17;\n  readonly EVENT_DRAGDROP_START?: 18;\n  readonly EVENT_SCROLLING_START?: 19;\n  readonly EVENT_SCROLLING_END?: 20;\n  readonly EVENT_DOCUMENT_LOAD_COMPLETE?: 21;\n  readonly EVENT_DOCUMENT_RELOAD?: 22;\n  readonly EVENT_DOCUMENT_LOAD_STOPPED?: 23;\n  readonly EVENT_TEXT_ATTRIBUTE_CHANGED?: 24;\n  readonly EVENT_TEXT_CARET_MOVED?: 25;\n  readonly EVENT_TEXT_INSERTED?: 26;\n  readonly EVENT_TEXT_REMOVED?: 27;\n  readonly EVENT_TEXT_SELECTION_CHANGED?: 28;\n  readonly EVENT_WINDOW_ACTIVATE?: 29;\n  readonly EVENT_WINDOW_DEACTIVATE?: 30;\n  readonly EVENT_WINDOW_MAXIMIZE?: 31;\n  readonly EVENT_WINDOW_MINIMIZE?: 32;\n  readonly EVENT_WINDOW_RESTORE?: 33;\n  readonly EVENT_OBJECT_ATTRIBUTE_CHANGED?: 34;\n  readonly EVENT_TEXT_VALUE_CHANGE?: 35;\n  readonly EVENT_SCROLLING?: 36;\n  readonly EVENT_ANNOUNCEMENT?: 37;\n  readonly EVENT_LIVE_REGION_ADDED?: 38;\n  readonly EVENT_LIVE_REGION_REMOVED?: 39;\n  readonly EVENT_INNER_REORDER?: 40;\n  readonly EVENT_LIVE_REGION_CHANGED?: 41;\n  readonly EVENT_ERRORMESSAGE_CHANGED?: 42;\n  readonly EVENT_LAST_ENTRY?: 43;\n\n  readonly eventType: u32;\n  readonly accessible: nsIAccessible;\n  readonly accessibleDocument: nsIAccessibleDocument;\n  readonly DOMNode: Node;\n  readonly isFromUserInput: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHideEvent.idl\n\ninterface nsIAccessibleHideEvent extends nsIAccessibleEvent {\n  readonly targetParent: nsIAccessible;\n  readonly targetNextSibling: nsIAccessible;\n  readonly targetPrevSibling: nsIAccessible;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHyperLink.idl\n\ninterface nsIAccessibleHyperLink extends nsISupports {\n  readonly startIndex: i32;\n  readonly endIndex: i32;\n  readonly valid: boolean;\n  readonly anchorCount: i32;\n  getURI(index: i32): nsIURI;\n  getAnchor(index: i32): nsIAccessible;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHyperText.idl\n\ninterface nsIAccessibleHyperText extends nsISupports {\n  readonly linkCount: i32;\n  getLinkAt(index: i32): nsIAccessibleHyperLink;\n  getLinkIndex(link: nsIAccessibleHyperLink): i32;\n  getLinkIndexAtOffset(offset: i32): i32;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleImage.idl\n\ninterface nsIAccessibleImage extends nsISupports {\n  getImagePosition(coordType: u32, x: OutParam<i32>, y: OutParam<i32>): void;\n  getImageSize(width: OutParam<i32>, height: OutParam<i32>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleObjectAttributeChangedEvent.idl\n\ninterface nsIAccessibleObjectAttributeChangedEvent extends nsIAccessibleEvent {\n  readonly changedAttribute: string;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessiblePivot.idl\n\ninterface nsIAccessiblePivot extends nsISupports {\n  next(aAnchor: nsIAccessible, aRule: nsIAccessibleTraversalRule, aIncludeStart?: boolean): nsIAccessible;\n  prev(aAnchor: nsIAccessible, aRule: nsIAccessibleTraversalRule, aIncludeStart?: boolean): nsIAccessible;\n  first(aRule: nsIAccessibleTraversalRule): nsIAccessible;\n  last(aRule: nsIAccessibleTraversalRule): nsIAccessible;\n  atPoint(aX: i32, aY: i32, aRule: nsIAccessibleTraversalRule): nsIAccessible;\n}\n\ninterface nsIAccessibleTraversalRule extends nsISupports {\n  readonly FILTER_IGNORE?: 0;\n  readonly FILTER_MATCH?: 1;\n  readonly FILTER_IGNORE_SUBTREE?: 2;\n\n  match(aAccessible: nsIAccessible): u16;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleRelation.idl\n\ninterface nsIAccessibleRelation extends nsISupports {\n  readonly RELATION_LABELLED_BY?: 0;\n  readonly RELATION_LABEL_FOR?: 1;\n  readonly RELATION_DESCRIBED_BY?: 2;\n  readonly RELATION_DESCRIPTION_FOR?: 3;\n  readonly RELATION_NODE_CHILD_OF?: 4;\n  readonly RELATION_NODE_PARENT_OF?: 5;\n  readonly RELATION_CONTROLLED_BY?: 6;\n  readonly RELATION_CONTROLLER_FOR?: 7;\n  readonly RELATION_FLOWS_TO?: 8;\n  readonly RELATION_FLOWS_FROM?: 9;\n  readonly RELATION_MEMBER_OF?: 10;\n  readonly RELATION_SUBWINDOW_OF?: 11;\n  readonly RELATION_EMBEDS?: 12;\n  readonly RELATION_EMBEDDED_BY?: 13;\n  readonly RELATION_POPUP_FOR?: 14;\n  readonly RELATION_PARENT_WINDOW_OF?: 15;\n  readonly RELATION_DEFAULT_BUTTON?: 16;\n  readonly RELATION_CONTAINING_DOCUMENT?: 17;\n  readonly RELATION_CONTAINING_TAB_PANE?: 18;\n  readonly RELATION_CONTAINING_WINDOW?: 19;\n  readonly RELATION_CONTAINING_APPLICATION?: 20;\n  readonly RELATION_DETAILS?: 21;\n  readonly RELATION_DETAILS_FOR?: 22;\n  readonly RELATION_ERRORMSG?: 23;\n  readonly RELATION_ERRORMSG_FOR?: 24;\n  readonly RELATION_LINKS_TO?: 25;\n\n  readonly relationType: u32;\n  readonly targetsCount: u32;\n  getTarget(index: u32): nsIAccessible;\n  getTargets(): nsIArray;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleRole.idl\n\ninterface nsIAccessibleRole extends nsISupports {\n  readonly ROLE_NOTHING?: 0;\n  readonly ROLE_MENUBAR?: 1;\n  readonly ROLE_SCROLLBAR?: 2;\n  readonly ROLE_ALERT?: 3;\n  readonly ROLE_INTERNAL_FRAME?: 4;\n  readonly ROLE_MENUPOPUP?: 5;\n  readonly ROLE_MENUITEM?: 6;\n  readonly ROLE_TOOLTIP?: 7;\n  readonly ROLE_APPLICATION?: 8;\n  readonly ROLE_DOCUMENT?: 9;\n  readonly ROLE_PANE?: 10;\n  readonly ROLE_DIALOG?: 11;\n  readonly ROLE_GROUPING?: 12;\n  readonly ROLE_SEPARATOR?: 13;\n  readonly ROLE_TOOLBAR?: 14;\n  readonly ROLE_STATUSBAR?: 15;\n  readonly ROLE_TABLE?: 16;\n  readonly ROLE_COLUMNHEADER?: 17;\n  readonly ROLE_ROWHEADER?: 18;\n  readonly ROLE_ROW?: 19;\n  readonly ROLE_CELL?: 20;\n  readonly ROLE_LINK?: 21;\n  readonly ROLE_LIST?: 22;\n  readonly ROLE_LISTITEM?: 23;\n  readonly ROLE_OUTLINE?: 24;\n  readonly ROLE_OUTLINEITEM?: 25;\n  readonly ROLE_PAGETAB?: 26;\n  readonly ROLE_PROPERTYPAGE?: 27;\n  readonly ROLE_GRAPHIC?: 28;\n  readonly ROLE_STATICTEXT?: 29;\n  readonly ROLE_TEXT_LEAF?: 30;\n  readonly ROLE_PUSHBUTTON?: 31;\n  readonly ROLE_CHECKBUTTON?: 32;\n  readonly ROLE_RADIOBUTTON?: 33;\n  readonly ROLE_COMBOBOX?: 34;\n  readonly ROLE_PROGRESSBAR?: 35;\n  readonly ROLE_SLIDER?: 36;\n  readonly ROLE_SPINBUTTON?: 37;\n  readonly ROLE_DIAGRAM?: 38;\n  readonly ROLE_ANIMATION?: 39;\n  readonly ROLE_BUTTONDROPDOWN?: 40;\n  readonly ROLE_BUTTONMENU?: 41;\n  readonly ROLE_WHITESPACE?: 42;\n  readonly ROLE_PAGETABLIST?: 43;\n  readonly ROLE_CANVAS?: 44;\n  readonly ROLE_CHECK_MENU_ITEM?: 45;\n  readonly ROLE_DATE_EDITOR?: 46;\n  readonly ROLE_CHROME_WINDOW?: 47;\n  readonly ROLE_LABEL?: 48;\n  readonly ROLE_PASSWORD_TEXT?: 49;\n  readonly ROLE_RADIO_MENU_ITEM?: 50;\n  readonly ROLE_TEXT_CONTAINER?: 51;\n  readonly ROLE_TOGGLE_BUTTON?: 52;\n  readonly ROLE_TREE_TABLE?: 53;\n  readonly ROLE_PARAGRAPH?: 54;\n  readonly ROLE_ENTRY?: 55;\n  readonly ROLE_CAPTION?: 56;\n  readonly ROLE_NON_NATIVE_DOCUMENT?: 57;\n  readonly ROLE_HEADING?: 58;\n  readonly ROLE_SECTION?: 59;\n  readonly ROLE_FORM?: 60;\n  readonly ROLE_APP_ROOT?: 61;\n  readonly ROLE_PARENT_MENUITEM?: 62;\n  readonly ROLE_COMBOBOX_LIST?: 63;\n  readonly ROLE_COMBOBOX_OPTION?: 64;\n  readonly ROLE_IMAGE_MAP?: 65;\n  readonly ROLE_OPTION?: 66;\n  readonly ROLE_RICH_OPTION?: 67;\n  readonly ROLE_LISTBOX?: 68;\n  readonly ROLE_FLAT_EQUATION?: 69;\n  readonly ROLE_GRID_CELL?: 70;\n  readonly ROLE_NOTE?: 71;\n  readonly ROLE_FIGURE?: 72;\n  readonly ROLE_CHECK_RICH_OPTION?: 73;\n  readonly ROLE_DEFINITION_LIST?: 74;\n  readonly ROLE_TERM?: 75;\n  readonly ROLE_DEFINITION?: 76;\n  readonly ROLE_KEY?: 77;\n  readonly ROLE_SWITCH?: 78;\n  readonly ROLE_MATHML_MATH?: 79;\n  readonly ROLE_MATHML_IDENTIFIER?: 80;\n  readonly ROLE_MATHML_NUMBER?: 81;\n  readonly ROLE_MATHML_OPERATOR?: 82;\n  readonly ROLE_MATHML_TEXT?: 83;\n  readonly ROLE_MATHML_STRING_LITERAL?: 84;\n  readonly ROLE_MATHML_GLYPH?: 85;\n  readonly ROLE_MATHML_ROW?: 86;\n  readonly ROLE_MATHML_FRACTION?: 87;\n  readonly ROLE_MATHML_SQUARE_ROOT?: 88;\n  readonly ROLE_MATHML_ROOT?: 89;\n  readonly ROLE_MATHML_ENCLOSED?: 90;\n  readonly ROLE_MATHML_STYLE?: 91;\n  readonly ROLE_MATHML_SUB?: 92;\n  readonly ROLE_MATHML_SUP?: 93;\n  readonly ROLE_MATHML_SUB_SUP?: 94;\n  readonly ROLE_MATHML_UNDER?: 95;\n  readonly ROLE_MATHML_OVER?: 96;\n  readonly ROLE_MATHML_UNDER_OVER?: 97;\n  readonly ROLE_MATHML_MULTISCRIPTS?: 98;\n  readonly ROLE_MATHML_TABLE?: 99;\n  readonly ROLE_MATHML_LABELED_ROW?: 100;\n  readonly ROLE_MATHML_TABLE_ROW?: 101;\n  readonly ROLE_MATHML_CELL?: 102;\n  readonly ROLE_MATHML_ACTION?: 103;\n  readonly ROLE_MATHML_ERROR?: 104;\n  readonly ROLE_MATHML_STACK?: 105;\n  readonly ROLE_MATHML_LONG_DIVISION?: 106;\n  readonly ROLE_MATHML_STACK_GROUP?: 107;\n  readonly ROLE_MATHML_STACK_ROW?: 108;\n  readonly ROLE_MATHML_STACK_CARRIES?: 109;\n  readonly ROLE_MATHML_STACK_CARRY?: 110;\n  readonly ROLE_MATHML_STACK_LINE?: 111;\n  readonly ROLE_RADIO_GROUP?: 112;\n  readonly ROLE_TEXT?: 113;\n  readonly ROLE_DETAILS?: 114;\n  readonly ROLE_SUMMARY?: 115;\n  readonly ROLE_LANDMARK?: 116;\n  readonly ROLE_NAVIGATION?: 117;\n  readonly ROLE_FOOTNOTE?: 118;\n  readonly ROLE_ARTICLE?: 119;\n  readonly ROLE_REGION?: 120;\n  readonly ROLE_EDITCOMBOBOX?: 121;\n  readonly ROLE_BLOCKQUOTE?: 122;\n  readonly ROLE_CONTENT_DELETION?: 123;\n  readonly ROLE_CONTENT_INSERTION?: 124;\n  readonly ROLE_FORM_LANDMARK?: 125;\n  readonly ROLE_MARK?: 126;\n  readonly ROLE_SUGGESTION?: 127;\n  readonly ROLE_COMMENT?: 128;\n  readonly ROLE_CODE?: 129;\n  readonly ROLE_TIME_EDITOR?: 130;\n  readonly ROLE_LISTITEM_MARKER?: 131;\n  readonly ROLE_METER?: 132;\n  readonly ROLE_SUBSCRIPT?: 133;\n  readonly ROLE_SUPERSCRIPT?: 134;\n  readonly ROLE_EMPHASIS?: 135;\n  readonly ROLE_STRONG?: 136;\n  readonly ROLE_TIME?: 137;\n  readonly ROLE_GRID?: 138;\n  readonly ROLE_ROWGROUP?: 139;\n  readonly ROLE_SEARCHBOX?: 140;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleScrollingEvent.idl\n\ninterface nsIAccessibleScrollingEvent extends nsIAccessibleEvent {\n  readonly scrollX: u32;\n  readonly scrollY: u32;\n  readonly maxScrollX: u32;\n  readonly maxScrollY: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleSelectable.idl\n\ninterface nsIAccessibleSelectable extends nsISupports {\n  readonly selectedItems: nsIArray;\n  readonly selectedItemCount: u32;\n  getSelectedItemAt(index: u32): nsIAccessible;\n  isItemSelected(index: u32): boolean;\n  addItemToSelection(index: u32): void;\n  removeItemFromSelection(index: u32): void;\n  selectAll(): boolean;\n  unselectAll(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStateChangeEvent.idl\n\ninterface nsIAccessibleStateChangeEvent extends nsIAccessibleEvent {\n  readonly state: u32;\n  readonly isExtraState: boolean;\n  readonly isEnabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStates.idl\n\ninterface nsIAccessibleStates extends nsISupports {\n  readonly STATE_UNAVAILABLE?: 1;\n  readonly STATE_SELECTED?: 2;\n  readonly STATE_FOCUSED?: 4;\n  readonly STATE_PRESSED?: 8;\n  readonly STATE_CHECKED?: 16;\n  readonly STATE_MIXED?: 32;\n  readonly STATE_READONLY?: 64;\n  readonly STATE_HOTTRACKED?: 128;\n  readonly STATE_DEFAULT?: 256;\n  readonly STATE_EXPANDED?: 512;\n  readonly STATE_COLLAPSED?: 1024;\n  readonly STATE_BUSY?: 2048;\n  readonly STATE_FLOATING?: 4096;\n  readonly STATE_MARQUEED?: 8192;\n  readonly STATE_ANIMATED?: 16384;\n  readonly STATE_INVISIBLE?: 32768;\n  readonly STATE_OFFSCREEN?: 65536;\n  readonly STATE_SIZEABLE?: 131072;\n  readonly STATE_MOVEABLE?: 262144;\n  readonly STATE_SELFVOICING?: 524288;\n  readonly STATE_FOCUSABLE?: 1048576;\n  readonly STATE_SELECTABLE?: 2097152;\n  readonly STATE_LINKED?: 4194304;\n  readonly STATE_TRAVERSED?: 8388608;\n  readonly STATE_MULTISELECTABLE?: 16777216;\n  readonly STATE_EXTSELECTABLE?: 33554432;\n  readonly STATE_ALERT_LOW?: 67108864;\n  readonly STATE_ALERT_MEDIUM?: 134217728;\n  readonly STATE_ALERT_HIGH?: 268435456;\n  readonly STATE_PROTECTED?: 536870912;\n  readonly STATE_HASPOPUP?: 1073741824;\n  readonly STATE_REQUIRED?: 67108864;\n  readonly STATE_IMPORTANT?: 134217728;\n  readonly STATE_INVALID?: 268435456;\n  readonly STATE_CHECKABLE?: 8192;\n  readonly EXT_STATE_SUPPORTS_AUTOCOMPLETION?: 1;\n  readonly EXT_STATE_DEFUNCT?: 2;\n  readonly EXT_STATE_SELECTABLE_TEXT?: 4;\n  readonly EXT_STATE_EDITABLE?: 8;\n  readonly EXT_STATE_ACTIVE?: 16;\n  readonly EXT_STATE_MODAL?: 32;\n  readonly EXT_STATE_MULTI_LINE?: 64;\n  readonly EXT_STATE_HORIZONTAL?: 128;\n  readonly EXT_STATE_OPAQUE?: 256;\n  readonly EXT_STATE_SINGLE_LINE?: 512;\n  readonly EXT_STATE_TRANSIENT?: 1024;\n  readonly EXT_STATE_VERTICAL?: 2048;\n  readonly EXT_STATE_STALE?: 4096;\n  readonly EXT_STATE_ENABLED?: 8192;\n  readonly EXT_STATE_SENSITIVE?: 16384;\n  readonly EXT_STATE_EXPANDABLE?: 32768;\n  readonly EXT_STATE_PINNED?: 65536;\n  readonly EXT_STATE_CURRENT?: 131072;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTable.idl\n\ninterface nsIAccessibleTable extends nsISupports {\n  readonly caption: nsIAccessible;\n  readonly summary: string;\n  readonly columnCount: i32;\n  readonly rowCount: i32;\n  getCellAt(rowIndex: i32, columnIndex: i32): nsIAccessible;\n  getCellIndexAt(rowIndex: i32, columnIndex: i32): i32;\n  getColumnIndexAt(cellIndex: i32): i32;\n  getRowIndexAt(cellIndex: i32): i32;\n  getRowAndColumnIndicesAt(cellIndex: i32, rowIndex: OutParam<i32>, columnIndex: OutParam<i32>): void;\n  getColumnExtentAt(row: i32, column: i32): i32;\n  getRowExtentAt(row: i32, column: i32): i32;\n  getColumnDescription(columnIndex: i32): string;\n  getRowDescription(rowIndex: i32): string;\n  isColumnSelected(columnIndex: i32): boolean;\n  isRowSelected(rowIndex: i32): boolean;\n  isCellSelected(rowIndex: i32, columnIndex: i32): boolean;\n  readonly selectedCellCount: u32;\n  readonly selectedColumnCount: u32;\n  readonly selectedRowCount: u32;\n  readonly selectedCells: nsIArray;\n  getSelectedCellIndices(): u32[];\n  getSelectedColumnIndices(): u32[];\n  getSelectedRowIndices(): u32[];\n  isProbablyForLayout(): boolean;\n}\n\ninterface nsIAccessibleTableCell extends nsISupports {\n  readonly table: nsIAccessibleTable;\n  readonly columnIndex: i32;\n  readonly rowIndex: i32;\n  readonly columnExtent: i32;\n  readonly rowExtent: i32;\n  readonly columnHeaderCells: nsIArray;\n  readonly rowHeaderCells: nsIArray;\n  isSelected(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTableChangeEvent.idl\n\ninterface nsIAccessibleTableChangeEvent extends nsIAccessibleEvent {\n  readonly rowOrColIndex: i32;\n  readonly RowsOrColsCount: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleText.idl\n\ninterface nsIAccessibleText extends nsISupports {\n  readonly TEXT_OFFSET_END_OF_TEXT?: -1;\n  readonly TEXT_OFFSET_CARET?: -2;\n  readonly BOUNDARY_CHAR?: 0;\n  readonly BOUNDARY_WORD_START?: 1;\n  readonly BOUNDARY_WORD_END?: 2;\n  readonly BOUNDARY_SENTENCE_START?: 3;\n  readonly BOUNDARY_SENTENCE_END?: 4;\n  readonly BOUNDARY_LINE_START?: 5;\n  readonly BOUNDARY_LINE_END?: 6;\n  readonly BOUNDARY_PARAGRAPH?: 7;\n  readonly BOUNDARY_CLUSTER?: 8;\n\n  caretOffset: i32;\n  getCaretRect(x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  readonly characterCount: i32;\n  readonly selectionCount: i32;\n  getText(startOffset: i32, endOffset: i32): string;\n  getTextAfterOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;\n  getTextAtOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;\n  getTextBeforeOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;\n  getCharacterAtOffset(offset: i32): string;\n  getTextAttributes(includeDefAttrs: boolean, offset: i32, rangeStartOffset: OutParam<i32>, rangeEndOffset: OutParam<i32>): nsIPersistentProperties;\n  readonly defaultTextAttributes: nsIPersistentProperties;\n  getCharacterExtents(offset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;\n  getRangeExtents(startOffset: i32, endOffset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;\n  getOffsetAtPoint(x: i32, y: i32, coordType: u32): i32;\n  getSelectionBounds(selectionNum: i32, startOffset: OutParam<i32>, endOffset: OutParam<i32>): void;\n  setSelectionBounds(selectionNum: i32, startOffset: i32, endOffset: i32): void;\n  addSelection(startOffset: i32, endOffset: i32): void;\n  removeSelection(selectionNum: i32): void;\n  scrollSubstringTo(startIndex: i32, endIndex: i32, scrollType: u32): void;\n  scrollSubstringToPoint(startIndex: i32, endIndex: i32, coordinateType: u32, x: i32, y: i32): void;\n  readonly selectionRanges: nsIArray;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextChangeEvent.idl\n\ninterface nsIAccessibleTextChangeEvent extends nsIAccessibleEvent {\n  readonly start: i32;\n  readonly length: u32;\n  readonly isInserted: boolean;\n  readonly modifiedText: string;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextLeafRange.idl\n\ninterface nsIAccessibleTextLeafPoint extends nsISupports {\n  readonly DIRECTION_NEXT?: 0;\n  readonly DIRECTION_PREVIOUS?: 1;\n  readonly BOUNDARY_FLAG_DEFAULT?: 0;\n  readonly BOUNDARY_FLAG_INCLUDE_ORIGIN?: 1;\n  readonly BOUNDARY_FLAG_STOP_IN_EDITABLE?: 2;\n  readonly BOUNDARY_FLAG_SKIP_LIST_ITEM_MARKER?: 4;\n\n  accessible: nsIAccessible;\n  offset: i32;\n  findBoundary(aBoundaryType: AccessibleTextBoundary, aDirection: u32, aFlags: u32): nsIAccessibleTextLeafPoint;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextRange.idl\n\ninterface nsIAccessibleTextRange extends nsISupports {\n  readonly EndPoint_Start?: 1;\n  readonly EndPoint_End?: 2;\n  readonly AlignToTop?: 0;\n  readonly AlignToBottom?: 1;\n\n  readonly startContainer: nsIAccessibleText;\n  readonly startOffset: i32;\n  readonly endContainer: nsIAccessibleText;\n  readonly endOffset: i32;\n  readonly container: nsIAccessible;\n  compare(aOtherRange: nsIAccessibleTextRange): boolean;\n  compareEndPoints(aEndPoint: u32, aOtherRange: nsIAccessibleTextRange, aOtherRangeEndPoint: u32): i32;\n  crop(aContainer: nsIAccessible): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextSelectionChangeEvent.idl\n\ninterface nsIAccessibleTextSelectionChangeEvent extends nsIAccessibleEvent {\n  readonly selectionRanges: nsIArray;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTypes.idl\n\ninterface nsIAccessibleScrollType extends nsISupports {\n  readonly SCROLL_TYPE_TOP_LEFT?: 0;\n  readonly SCROLL_TYPE_BOTTOM_RIGHT?: 1;\n  readonly SCROLL_TYPE_TOP_EDGE?: 2;\n  readonly SCROLL_TYPE_BOTTOM_EDGE?: 3;\n  readonly SCROLL_TYPE_LEFT_EDGE?: 4;\n  readonly SCROLL_TYPE_RIGHT_EDGE?: 5;\n  readonly SCROLL_TYPE_ANYWHERE?: 6;\n}\n\ninterface nsIAccessibleCoordinateType extends nsISupports {\n  readonly COORDTYPE_SCREEN_RELATIVE?: 0;\n  readonly COORDTYPE_WINDOW_RELATIVE?: 1;\n  readonly COORDTYPE_PARENT_RELATIVE?: 2;\n}\n\n// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleValue.idl\n\ninterface nsIAccessibleValue extends nsISupports {\n  readonly maximumValue: double;\n  readonly minimumValue: double;\n  currentValue: double;\n  readonly minimumIncrement: double;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIAlertsService.idl\n\ninterface nsIAlertNotificationImageListener extends nsISupports {\n  onImageReady(aUserData: nsISupports, aRequest: imgIRequest): void;\n  onImageMissing(aUserData: nsISupports): void;\n}\n\ninterface nsIAlertAction extends nsISupports {\n  readonly action: string;\n  readonly title: string;\n  readonly iconURL: string;\n  readonly windowsSystemActivationType: boolean;\n  readonly opaqueRelaunchData: string;\n}\n\ninterface nsIAlertNotification extends nsISupports {\n  init(aName?: string, aImageURL?: string, aTitle?: string, aText?: string, aTextClickable?: boolean, aCookie?: string, aDir?: string, aLang?: string, aData?: string, aPrincipal?: nsIPrincipal, aInPrivateBrowsing?: boolean, aRequireInteraction?: boolean, aSilent?: boolean, aVibrate?: u32[]): void;\n  readonly id: string;\n  readonly name: string;\n  readonly imageURL: string;\n  readonly title: string;\n  readonly text: string;\n  readonly textClickable: boolean;\n  readonly cookie: string;\n  readonly dir: string;\n  readonly lang: string;\n  readonly data: string;\n  readonly principal: nsIPrincipal;\n  readonly URI: nsIURI;\n  readonly inPrivateBrowsing: boolean;\n  readonly requireInteraction: boolean;\n  readonly silent: boolean;\n  readonly vibrate: u32[];\n  actions: nsIAlertAction[];\n  readonly actionable: boolean;\n  readonly source: string;\n  readonly origin: string;\n  opaqueRelaunchData: string;\n  loadImage(aTimeout: u32, aListener: nsIAlertNotificationImageListener, aUserData?: nsISupports): nsICancelable;\n  getAction(aName: string): nsIAlertAction;\n}\n\ninterface nsIAlertsService extends nsISupports {\n  showAlert(aAlert: nsIAlertNotification, aAlertListener?: nsIObserver): void;\n  showAlertNotification(aImageURL: string, aTitle: string, aText: string, aTextClickable?: boolean, aCookie?: string, aAlertListener?: nsIObserver, aName?: string, aDir?: string, aLang?: string, aData?: string, aPrincipal?: nsIPrincipal, aInPrivateBrowsing?: boolean, aRequireInteraction?: boolean): void;\n  closeAlert(aName?: string, aContextClosed?: boolean): void;\n  getHistory(): string[];\n  teardown(): void;\n  pbmTeardown(): void;\n}\n\ninterface nsIAlertsDoNotDisturb extends nsISupports {\n  manualDoNotDisturb: boolean;\n  suppressForScreenSharing: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppShellService.idl\n\ninterface nsIAppShellService extends nsISupports {\n  readonly SIZE_TO_CONTENT?: -1;\n\n  createTopLevelWindow(aParent: nsIAppWindow, aUrl: nsIURI, aChromeMask: u32, aInitialWidth: i32, aInitialHeight: i32): nsIAppWindow;\n  createWindowlessBrowser(aIsChrome?: boolean, aChromeMask?: u32): nsIWindowlessBrowser;\n  readonly hiddenWindow: nsIAppWindow;\n  readonly hiddenDOMWindow: mozIDOMWindowProxy;\n  registerTopLevelWindow(aWindow: nsIAppWindow): void;\n  unregisterTopLevelWindow(aWindow: nsIAppWindow): void;\n  readonly hasHiddenWindow: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppWindow.idl\n\ninterface nsIAppWindow extends nsISupports {\n  readonly docShell: nsIDocShell;\n  intrinsicallySized: boolean;\n  readonly primaryContentShell: nsIDocShellTreeItem;\n  readonly primaryRemoteTab: nsIRemoteTab;\n  readonly primaryContentBrowsingContext: BrowsingContext;\n  remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;\n  remoteTabRemoved(aTab: nsIRemoteTab): void;\n  readonly outerToInnerHeightDifferenceInCSSPixels: u32;\n  readonly outerToInnerWidthDifferenceInCSSPixels: u32;\n  center(aRelative: nsIAppWindow, aScreen: boolean, aAlert: boolean): void;\n  showModal(): void;\n  lockAspectRatio(aShouldLock: boolean): void;\n  chromeFlags: u32;\n  assumeChromeFlagsAreFrozen(): void;\n  createNewWindow(aChromeFlags: i32, aOpenWindowInfo: nsIOpenWindowInfo): nsIAppWindow;\n  XULBrowserWindow: nsIXULBrowserWindow;\n  readonly initialOpenWindowInfo: nsIOpenWindowInfo;\n  needFastSnaphot(): void;\n  rollupAllPopups(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediator.idl\n\ninterface nsIWindowMediator extends nsISupports {\n  getEnumerator(aWindowType: string): nsISimpleEnumerator;\n  getAppWindowEnumerator(aWindowType: string): nsISimpleEnumerator;\n  getZOrderAppWindowEnumerator(aWindowType: string, aFrontToBack: boolean): nsISimpleEnumerator;\n  getMostRecentWindow(aWindowType: string): mozIDOMWindowProxy;\n  getMostRecentBrowserWindow(): mozIDOMWindowProxy;\n  getMostRecentNonPBWindow(aWindowType: string): mozIDOMWindowProxy;\n  getMostRecentWindowBy(aWindowType: string, aFilter: u8): mozIDOMWindowProxy;\n  getOuterWindowWithId(aOuterWindowID: u64): mozIDOMWindowProxy;\n  getCurrentInnerWindowWithId(aInnerWindowID: u64): mozIDOMWindow;\n  addListener(aListener: nsIWindowMediatorListener): void;\n  removeListener(aListener: nsIWindowMediatorListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediatorListener.idl\n\ninterface nsIWindowMediatorListener extends nsISupports {\n  onOpenWindow(window: nsIAppWindow): void;\n  onCloseWindow(window: nsIAppWindow): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowlessBrowser.idl\n\ninterface nsIWindowlessBrowser extends nsIWebNavigation {\n  close(): void;\n  readonly docShell: nsIDocShell;\n  readonly browsingContext: BrowsingContext;\n}\n\n// https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIXULBrowserWindow.idl\n\ninterface nsIXULBrowserWindow extends nsISupports {\n  setOverLink(link: string): void;\n  showTooltip(x: i32, y: i32, tooltip: string, direction: string, browser: Element): void;\n  hideTooltip(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/startup/public/nsIAppStartup.idl\n\n}  // global\n\ndeclare enum nsIAppStartup_IDLShutdownPhase {\n  SHUTDOWN_PHASE_NOTINSHUTDOWN = 0,\n  SHUTDOWN_PHASE_APPSHUTDOWNCONFIRMED = 1,\n  SHUTDOWN_PHASE_APPSHUTDOWNNETTEARDOWN = 2,\n  SHUTDOWN_PHASE_APPSHUTDOWNTEARDOWN = 3,\n  SHUTDOWN_PHASE_APPSHUTDOWN = 4,\n  SHUTDOWN_PHASE_APPSHUTDOWNQM = 5,\n  SHUTDOWN_PHASE_APPSHUTDOWNRELEMETRY = 6,\n  SHUTDOWN_PHASE_XPCOMWILLSHUTDOWN = 7,\n  SHUTDOWN_PHASE_XPCOMSHUTDOWN = 8,\n}\n\ndeclare global {\n\nnamespace nsIAppStartup {\n  type IDLShutdownPhase = nsIAppStartup_IDLShutdownPhase;\n}\n\ninterface nsIAppStartup extends nsISupports, Enums<typeof nsIAppStartup_IDLShutdownPhase> {\n  readonly eConsiderQuit?: 1;\n  readonly eAttemptQuit?: 2;\n  readonly eForceQuit?: 3;\n  readonly eRestart?: 16;\n  readonly eSilently?: 256;\n\n  run(): void;\n  enterLastWindowClosingSurvivalArea(): void;\n  exitLastWindowClosingSurvivalArea(): void;\n  readonly automaticSafeModeNecessary: boolean;\n  restartInSafeMode(aQuitMode: u32): void;\n  createInstanceWithProfile(aProfile: nsIToolkitProfile): void;\n  trackStartupCrashBegin(): boolean;\n  trackStartupCrashEnd(): void;\n  quit(aMode: u32, aExitCode?: i32): boolean;\n  advanceShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): void;\n  isInOrBeyondShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): boolean;\n  readonly shuttingDown: boolean;\n  readonly attemptingQuit: boolean;\n  readonly startingUp: boolean;\n  readonly restarting: boolean;\n  readonly wasRestarted: boolean;\n  readonly wasSilentlyStarted: boolean;\n  readonly secondsSinceLastOSRestart: i64;\n  readonly showedPreXULSkeletonUI: boolean;\n  getStartupInfo(): any;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteController.idl\n\ninterface nsIAutoCompleteController extends nsISupports {\n  readonly STATUS_NONE?: 1;\n  readonly STATUS_SEARCHING?: 2;\n  readonly STATUS_COMPLETE_NO_MATCH?: 3;\n  readonly STATUS_COMPLETE_MATCH?: 4;\n\n  input: nsIAutoCompleteInput;\n  readonly searchStatus: u16;\n  readonly matchCount: u32;\n  startSearch(searchString: string): void;\n  stopSearch(): void;\n  handleText(): boolean;\n  handleEnter(aIsPopupSelection: boolean, aEvent?: Event): boolean;\n  handleEscape(): boolean;\n  handleStartComposition(): void;\n  handleEndComposition(): void;\n  handleTab(): void;\n  handleKeyNavigation(key: u32): boolean;\n  handleDelete(): boolean;\n  getValueAt(index: i32): string;\n  getLabelAt(index: i32): string;\n  getCommentAt(index: i32): string;\n  getStyleAt(index: i32): string;\n  getImageAt(index: i32): string;\n  getFinalCompleteValueAt(index: i32): string;\n  searchString: string;\n  setInitiallySelectedIndex(index: i32): void;\n  resetInternalState(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteInput.idl\n\ninterface nsIAutoCompleteInput extends nsISupports {\n  readonly popupElement: Element;\n  readonly popup: nsIAutoCompletePopup;\n  readonly controller: nsIAutoCompleteController;\n  popupOpen: boolean;\n  disableAutoComplete: boolean;\n  completeDefaultIndex: boolean;\n  completeSelectedIndex: boolean;\n  forceComplete: boolean;\n  minResultsForPopup: u32;\n  maxRows: u32;\n  timeout: u32;\n  searchParam: string;\n  readonly searchCount: u32;\n  getSearchAt(index: u32): string;\n  textValue: string;\n  readonly selectionStart: i32;\n  readonly selectionEnd: i32;\n  selectTextRange(startIndex: i32, endIndex: i32): void;\n  onSearchBegin(): void;\n  onSearchComplete(): void;\n  onTextEntered(aEvent?: Event): void;\n  onTextReverted(): boolean;\n  readonly consumeRollupEvent: boolean;\n  readonly inPrivateContext: boolean;\n  readonly noRollupOnCaretMove: boolean;\n  readonly noRollupOnEmptySearch: boolean;\n  readonly userContextId: u32;\n  readonly invalidatePreviousResult: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompletePopup.idl\n\ninterface nsIAutoCompletePopup extends nsISupports {\n  readonly INVALIDATE_REASON_NEW_RESULT?: 0;\n  readonly INVALIDATE_REASON_DELETE?: 1;\n\n  readonly input: nsIAutoCompleteInput;\n  readonly overrideValue: string;\n  selectedIndex: i32;\n  readonly popupOpen: boolean;\n  getNoRollupOnEmptySearch(element: Element): boolean;\n  openAutocompletePopup(input: nsIAutoCompleteInput, element: Element): void;\n  closePopup(): void;\n  invalidate(reason: u16): void;\n  selectBy(reverse: boolean, page: boolean): void;\n  startSearch(searchString: string, element: Element, listener: nsIFormFillCompleteObserver): void;\n  stopSearch(): void;\n  selectEntry(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteResult.idl\n\ninterface nsIAutoCompleteResult extends nsISupports {\n  readonly RESULT_IGNORED?: 1;\n  readonly RESULT_FAILURE?: 2;\n  readonly RESULT_NOMATCH?: 3;\n  readonly RESULT_SUCCESS?: 4;\n  readonly RESULT_NOMATCH_ONGOING?: 5;\n  readonly RESULT_SUCCESS_ONGOING?: 6;\n\n  readonly searchString: string;\n  readonly searchResult: u16;\n  readonly defaultIndex: i32;\n  readonly errorDescription: string;\n  readonly matchCount: u32;\n  getValueAt(index: i32): string;\n  getLabelAt(index: i32): string;\n  getCommentAt(index: i32): string;\n  getStyleAt(index: i32): string;\n  getImageAt(index: i32): string;\n  getFinalCompleteValueAt(index: i32): string;\n  isRemovableAt(rowIndex: i32): boolean;\n  removeValueAt(rowIndex: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSearch.idl\n\ninterface nsIAutoCompleteSearch extends nsISupports {\n  startSearch(searchString: string, searchParam: string, previousResult: nsIAutoCompleteResult, listener: nsIAutoCompleteObserver): void;\n  stopSearch(): void;\n}\n\ninterface nsIAutoCompleteObserver extends nsISupports {\n  onSearchResult(search: nsIAutoCompleteSearch, result: nsIAutoCompleteResult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl\n\ninterface nsIAutoCompleteSimpleResult extends nsIAutoCompleteResult {\n  setSearchString(aSearchString: string): void;\n  setErrorDescription(aErrorDescription: string): void;\n  setDefaultIndex(aDefaultIndex: i32): void;\n  setSearchResult(aSearchResult: u16): void;\n  insertMatchAt(aIndex: i32, aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;\n  appendMatch(aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;\n  removeMatchAt(aIndex: i32): void;\n  getListener(): nsIAutoCompleteSimpleResultListener;\n  setListener(aListener: nsIAutoCompleteSimpleResultListener): void;\n}\n\ninterface nsIAutoCompleteSimpleResultListener extends nsISupports {\n  onValueRemoved(aResult: nsIAutoCompleteSimpleResult, aValue: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleSearch.idl\n\ninterface nsIAutoCompleteSimpleSearch extends nsIAutoCompleteSearch {\n  overrideNextResult(values: nsIAutoCompleteResult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/autoplay/nsIAutoplay.idl\n\ninterface nsIAutoplay extends nsISupports {\n  readonly ALLOWED?: 0;\n  readonly BLOCKED?: 1;\n  readonly BLOCKED_ALL?: 5;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/backgroundhangmonitor/nsIHangDetails.idl\n\ninterface nsIHangDetails extends nsISupports {\n  readonly wasPersisted: boolean;\n  readonly duration: double;\n  readonly thread: string;\n  readonly runnableName: string;\n  readonly process: string;\n  readonly remoteType: string;\n  readonly stack: any;\n  readonly modules: any;\n  readonly annotations: any;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/nsIBrowserHandler.idl\n\ninterface nsIBrowserHandler extends nsISupports {\n  startPage: string;\n  defaultArgs: string;\n  getFirstWindowArgs(): string;\n  kiosk: boolean;\n  majorUpgrade: boolean;\n  firstRunProfile: boolean;\n  getFeatures(aCmdLine: nsICommandLine): string;\n}\n\n// https://searchfox.org/mozilla-central/source/caps/nsIAddonPolicyService.idl\n\ninterface nsIAddonPolicyService extends nsISupports {\n  readonly defaultCSP: string;\n  readonly defaultCSPV3: string;\n  getBaseCSP(aAddonId: string): string;\n  getExtensionPageCSP(aAddonId: string): string;\n  getGeneratedBackgroundPageUrl(aAddonId: string): string;\n  addonHasPermission(aAddonId: string, aPerm: string): boolean;\n  addonMayLoadURI(aAddonId: string, aURI: nsIURI, aExplicit?: boolean): boolean;\n  getExtensionName(aAddonId: string): string;\n  sourceMayLoadExtensionURI(aSourceURI: nsIURI, aExtensionURI: nsIURI, aFromPrivateWindow?: boolean): boolean;\n  extensionURIToAddonId(aURI: nsIURI): string;\n}\n\ninterface nsIAddonContentPolicy extends nsISupports {\n  readonly CSP_ALLOW_ANY?: 65535;\n  readonly CSP_ALLOW_LOCALHOST?: 1;\n  readonly CSP_ALLOW_EVAL?: 2;\n  readonly CSP_ALLOW_REMOTE?: 4;\n  readonly CSP_ALLOW_WASM?: 8;\n\n  validateAddonCSP(aPolicyString: string, aPermittedPolicy: u32): string;\n}\n\n// https://searchfox.org/mozilla-central/source/caps/nsIDomainPolicy.idl\n\ninterface nsIDomainPolicy extends nsISupports {\n  readonly blocklist: nsIDomainSet;\n  readonly superBlocklist: nsIDomainSet;\n  readonly allowlist: nsIDomainSet;\n  readonly superAllowlist: nsIDomainSet;\n  deactivate(): void;\n}\n\ninterface nsIDomainSet extends nsISupports {\n  add(aDomain: nsIURI): void;\n  remove(aDomain: nsIURI): void;\n  clear(): void;\n  contains(aDomain: nsIURI): boolean;\n  containsSuperDomain(aDomain: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/caps/nsIPrincipal.idl\n\ninterface nsIPrincipal extends nsISupports {\n  equals(other: nsIPrincipal): boolean;\n  equalsForPermission(other: nsIPrincipal, aExactHost: boolean): boolean;\n  equalsConsideringDomain(other: nsIPrincipal): boolean;\n  equalsURI(aOtherURI: nsIURI): boolean;\n  readonly URI: nsIURI;\n  subsumes(other: nsIPrincipal): boolean;\n  subsumesConsideringDomain(other: nsIPrincipal): boolean;\n  subsumesConsideringDomainIgnoringFPD(other: nsIPrincipal): boolean;\n  checkMayLoad(uri: nsIURI, allowIfInheritsPrincipal: boolean): void;\n  checkMayLoadWithReporting(uri: nsIURI, allowIfInheritsPrincipal: boolean, innerWindowID: u64): void;\n  isThirdPartyURI(uri: nsIURI): boolean;\n  isThirdPartyPrincipal(principal: nsIPrincipal): boolean;\n  isThirdPartyChannel(channel: nsIChannel): boolean;\n  readonly originAttributes: any;\n  readonly origin: string;\n  readonly hostPort: string;\n  readonly asciiHost: string;\n  readonly host: string;\n  readonly prePath: string;\n  readonly filePath: string;\n  readonly asciiSpec: string;\n  readonly spec: string;\n  readonly exposablePrePath: string;\n  readonly exposableSpec: string;\n  readonly scheme: string;\n  schemeIs(scheme: string): boolean;\n  isURIInPrefList(pref: string): boolean;\n  isURIInList(list: string): boolean;\n  isContentAccessibleAboutURI(): boolean;\n  isSameOrigin(otherURI: nsIURI): boolean;\n  hasFirstpartyStorageAccess(aWindow: mozIDOMWindow, rejectedReason: OutParam<u32>): boolean;\n  readonly localStorageQuotaKey: string;\n  readonly isOriginPotentiallyTrustworthy: boolean;\n  readonly isLoopbackHost: boolean;\n  getAboutModuleFlags(): u32;\n  readonly storageOriginKey: string;\n  readonly originNoSuffix: string;\n  readonly originSuffix: string;\n  readonly siteOrigin: string;\n  readonly siteOriginNoSuffix: string;\n  readonly baseDomain: string;\n  readonly addonId: string;\n  readonly addonPolicy: WebExtensionPolicy;\n  readonly contentScriptAddonPolicy: WebExtensionPolicy;\n  readonly userContextId: u32;\n  readonly privateBrowsingId: u32;\n  readonly isInPrivateBrowsing: boolean;\n  readonly isNullPrincipal: boolean;\n  readonly isContentPrincipal: boolean;\n  readonly isExpandedPrincipal: boolean;\n  readonly isSystemPrincipal: boolean;\n  readonly isAddonOrExpandedAddonPrincipal: boolean;\n  readonly isOnion: boolean;\n  readonly isScriptAllowedByPolicy: boolean;\n  isL10nAllowed(aDocumentURI: nsIURI): boolean;\n  readonly nextSubDomainPrincipal: nsIPrincipal;\n  readonly isIpAddress: boolean;\n  readonly isLocalIpAddress: boolean;\n  readonly precursorPrincipal: nsIPrincipal;\n}\n\n// https://searchfox.org/mozilla-central/source/caps/nsIScriptSecurityManager.idl\n\ninterface nsIScriptSecurityManager extends nsISupports {\n  readonly STANDARD?: 0;\n  readonly LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT?: 1;\n  readonly ALLOW_CHROME?: 2;\n  readonly DISALLOW_INHERIT_PRINCIPAL?: 4;\n  readonly DISALLOW_SCRIPT_OR_DATA?: 4;\n  readonly DISALLOW_SCRIPT?: 8;\n  readonly DONT_REPORT_ERRORS?: 16;\n  readonly DEFAULT_USER_CONTEXT_ID?: 0;\n  readonly DEFAULT_PRIVATE_BROWSING_ID?: 0;\n\n  checkLoadURIWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: nsIURI, flags: u32, innerWindowID?: u64): void;\n  checkLoadURIWithPrincipal(aPrincipal: nsIPrincipal, uri: nsIURI, flags?: u32, innerWindowID?: u64): void;\n  checkLoadURIStrWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: string, flags: u32): void;\n  checkLoadURIStrWithPrincipal(aPrincipal: nsIPrincipal, uri: string, flags?: u32): void;\n  inFileURIAllowlist(aUri: nsIURI): boolean;\n  getSystemPrincipal(): nsIPrincipal;\n  getLoadContextContentPrincipal(uri: nsIURI, loadContext: nsILoadContext): nsIPrincipal;\n  getDocShellContentPrincipal(uri: nsIURI, docShell: nsIDocShell): nsIPrincipal;\n  principalWithOA(principal: nsIPrincipal, originAttributes: any): nsIPrincipal;\n  createContentPrincipal(uri: nsIURI, originAttributes: any): nsIPrincipal;\n  createContentPrincipalFromOrigin(origin: string): nsIPrincipal;\n  principalToJSON(principal: nsIPrincipal): string;\n  JSONToPrincipal(json: string): nsIPrincipal;\n  createNullPrincipal(originAttributes: any): nsIPrincipal;\n  checkSameOriginURI(aSourceURI: nsIURI, aTargetURI: nsIURI, reportError: boolean, fromPrivateWindow: boolean): void;\n  getChannelResultPrincipal(aChannel: nsIChannel): nsIPrincipal;\n  getChannelResultStoragePrincipal(aChannel: nsIChannel): nsIPrincipal;\n  getChannelResultPrincipals(aChannel: nsIChannel, aPrincipal: OutParam<nsIPrincipal>, aPartitionedPrincipal: OutParam<nsIPrincipal>): void;\n  getChannelURIPrincipal(aChannel: nsIChannel): nsIPrincipal;\n  activateDomainPolicy(): nsIDomainPolicy;\n  readonly domainPolicyActive: boolean;\n  policyAllowsScript(aDomain: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/captivedetect/nsICaptivePortalDetector.idl\n\ninterface nsICaptivePortalCallback extends nsISupports {\n  prepare(): void;\n  complete(success: boolean): void;\n}\n\ninterface nsICaptivePortalDetector extends nsISupports {\n  checkCaptivePortal(ifname: string, callback: nsICaptivePortalCallback): void;\n  abort(ifname: string): void;\n  cancelLogin(eventId: string): void;\n  finishPreparation(ifname: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cascade_bloom_filter/nsICascadeFilter.idl\n\ninterface nsICascadeFilter extends nsISupports {\n  setFilterData(data: u8[]): void;\n  has(key: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/chrome/nsIChromeRegistry.idl\n\ninterface nsIChromeRegistry extends nsISupports {\n  readonly NONE?: 0;\n  readonly PARTIAL?: 1;\n  readonly FULL?: 2;\n\n  convertChromeURL(aChromeURL: nsIURI): nsIURI;\n  checkForNewChrome(): void;\n}\n\ninterface nsIXULChromeRegistry extends nsIChromeRegistry {\n  isLocaleRTL(package: string): boolean;\n  allowScriptsForPackage(url: nsIURI): boolean;\n  allowContentToAccess(url: nsIURI): boolean;\n  canLoadURLRemotely(url: nsIURI): boolean;\n  mustLoadURLRemotely(url: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/chrome/nsIToolkitChromeRegistry.idl\n\ninterface nsIToolkitChromeRegistry extends nsIXULChromeRegistry {\n  getLocalesForPackage(aPackage: string): nsIUTF8StringEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandManager.idl\n\ninterface nsICommandManager extends nsISupports {\n  addCommandObserver(aCommandObserver: nsIObserver, aCommandToObserve: string): void;\n  removeCommandObserver(aCommandObserver: nsIObserver, aCommandObserved: string): void;\n  isCommandSupported(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;\n  isCommandEnabled(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;\n  getCommandState(aCommandName: string, aTargetWindow: mozIDOMWindowProxy, aCommandParams: nsICommandParams): void;\n  doCommand(aCommandName: string, aCommandParams: nsICommandParams, aTargetWindow: mozIDOMWindowProxy): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandParams.idl\n\ninterface nsICommandParams extends nsISupports {\n  readonly eNoType?: 0;\n  readonly eBooleanType?: 1;\n  readonly eLongType?: 2;\n  readonly eDoubleType?: 3;\n  readonly eWStringType?: 4;\n  readonly eISupportsType?: 5;\n  readonly eStringType?: 6;\n\n  getValueType(name: string): i16;\n  getBooleanValue(name: string): boolean;\n  getLongValue(name: string): i32;\n  getDoubleValue(name: string): double;\n  getStringValue(name: string): string;\n  getCStringValue(name: string): string;\n  getISupportsValue(name: string): nsISupports;\n  setBooleanValue(name: string, value: boolean): void;\n  setLongValue(name: string, value: i32): void;\n  setDoubleValue(name: string, value: double): void;\n  setStringValue(name: string, value: string): void;\n  setCStringValue(name: string, value: string): void;\n  setISupportsValue(name: string, value: nsISupports): void;\n  removeValue(name: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommand.idl\n\ninterface nsIControllerCommand extends nsISupports {\n  isCommandEnabled(aCommandName: string, aCommandContext: nsISupports): boolean;\n  getCommandStateParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;\n  doCommand(aCommandName: string, aCommandContext: nsISupports): void;\n  doCommandParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommandTable.idl\n\ninterface nsIControllerCommandTable extends nsISupports {\n  makeImmutable(): void;\n  registerCommand(aCommandName: string, aCommand: nsIControllerCommand): void;\n  unregisterCommand(aCommandName: string, aCommand: nsIControllerCommand): void;\n  findCommandHandler(aCommandName: string): nsIControllerCommand;\n  isCommandEnabled(aCommandName: string, aCommandRefCon: nsISupports): boolean;\n  updateCommandState(aCommandName: string, aCommandRefCon: nsISupports): void;\n  supportsCommand(aCommandName: string, aCommandRefCon: nsISupports): boolean;\n  doCommand(aCommandName: string, aCommandRefCon: nsISupports): void;\n  doCommandParams(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;\n  getCommandState(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;\n  getSupportedCommands(): string[];\n}\n\n// https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerContext.idl\n\ninterface nsIControllerContext extends nsISupports {\n  setCommandContext(aCommandContext: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLine.idl\n\ninterface nsICommandLine extends nsISupports {\n  readonly STATE_INITIAL_LAUNCH?: 0;\n  readonly STATE_REMOTE_AUTO?: 1;\n  readonly STATE_REMOTE_EXPLICIT?: 2;\n\n  readonly length: i32;\n  getArgument(aIndex: i32): string;\n  findFlag(aFlag: string, aCaseSensitive: boolean): i32;\n  removeArguments(aStart: i32, aEnd: i32): void;\n  handleFlag(aFlag: string, aCaseSensitive: boolean): boolean;\n  handleFlagWithParam(aFlag: string, aCaseSensitive: boolean): string;\n  readonly state: u32;\n  preventDefault: boolean;\n  readonly workingDirectory: nsIFile;\n  resolveFile(aArgument: string): nsIFile;\n  resolveURI(aArgument: string): nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineHandler.idl\n\ninterface nsICommandLineHandler extends nsISupports {\n  handle(aCommandLine: nsICommandLine): void;\n  readonly helpInfo: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineRunner.idl\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineValidator.idl\n\ninterface nsICommandLineValidator extends nsISupports {\n  validate(aCommandLine: nsICommandLine): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/composer/nsIEditingSession.idl\n\ninterface nsIEditingSession extends nsISupports {\n  readonly eEditorOK?: 0;\n  readonly eEditorCreationInProgress?: 1;\n  readonly eEditorErrorCantEditMimeType?: 2;\n  readonly eEditorErrorFileNotFound?: 3;\n  readonly eEditorErrorCantEditFramesets?: 8;\n  readonly eEditorErrorUnknown?: 9;\n\n  readonly editorStatus: u32;\n  makeWindowEditable(window: mozIDOMWindowProxy, aEditorType: string, doAfterUriLoad: boolean, aMakeWholeDocumentEditable: boolean, aInteractive: boolean): void;\n  windowIsEditable(window: mozIDOMWindowProxy): boolean;\n  getEditorForWindow(window: mozIDOMWindowProxy): nsIEditor;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/events/nsIEventListenerService.idl\n\ninterface nsIEventListenerChange extends nsISupports {\n  readonly target: EventTarget;\n}\n\ntype nsIListenerChangeListener = Callable<{\n  listenersChanged(aEventListenerChanges: nsIArray): void;\n}>\n\ninterface nsIEventListenerInfo extends nsISupports {\n  readonly type: string;\n  readonly capturing: boolean;\n  readonly allowsUntrusted: boolean;\n  readonly inSystemEventGroup: boolean;\n  enabled: boolean;\n  readonly listenerObject: any;\n  toSource(): string;\n}\n\ninterface nsIEventListenerService extends nsISupports {\n  getListenerInfoFor(aEventTarget: EventTarget): nsIEventListenerInfo[];\n  hasListenersFor(aEventTarget: EventTarget, aType: string): boolean;\n  addListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aWantsUntrusted?: boolean, aSystemEventGroup?: boolean): void;\n  removeListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aSystemEventGroup?: boolean): void;\n  addListenerChangeListener(aListener: nsIListenerChangeListener): void;\n  removeListenerChangeListener(aListener: nsIListenerChangeListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginChromeService.idl\n\ninterface mozIGeckoMediaPluginChromeService extends nsISupports {\n  addPluginDirectory(directory: string): void;\n  removePluginDirectory(directory: string): void;\n  removeAndDeletePluginDirectory(directory: string, defer?: boolean): void;\n  forgetThisSite(site: string, aPattern: string): void;\n  forgetThisBaseDomain(baseDomain: string): void;\n  isPersistentStorageAllowed(nodeId: string): boolean;\n  getStorageDir(): nsIFile;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginService.idl\n\ninterface mozIGeckoMediaPluginService extends nsISupports {\n  readonly thread: nsIThread;\n  RunPluginCrashCallbacks(pluginId: u32, pluginName: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShell.idl\n\n}  // global\n\ndeclare enum nsIDocShell_DocShellEnumeratorDirection {\n  ENUMERATE_FORWARDS = 0,\n  ENUMERATE_BACKWARDS = 1,\n}\n\ndeclare enum nsIDocShell_AppType {\n  APP_TYPE_UNKNOWN = 0,\n  APP_TYPE_MAIL = 1,\n  APP_TYPE_EDITOR = 2,\n}\n\ndeclare enum nsIDocShell_BusyFlags {\n  BUSY_FLAGS_NONE = 0,\n  BUSY_FLAGS_BUSY = 1,\n  BUSY_FLAGS_BEFORE_PAGE_LOAD = 2,\n  BUSY_FLAGS_PAGE_LOADING = 4,\n}\n\ndeclare enum nsIDocShell_LoadCommand {\n  LOAD_CMD_NORMAL = 1,\n  LOAD_CMD_RELOAD = 2,\n  LOAD_CMD_HISTORY = 4,\n  LOAD_CMD_PUSHSTATE = 8,\n}\n\ndeclare global {\n\nnamespace nsIDocShell {\n  type DocShellEnumeratorDirection = nsIDocShell_DocShellEnumeratorDirection;\n  type AppType = nsIDocShell_AppType;\n  type BusyFlags = nsIDocShell_BusyFlags;\n  type LoadCommand = nsIDocShell_LoadCommand;\n}\n\ninterface nsIDocShell extends nsIDocShellTreeItem, Enums<typeof nsIDocShell_DocShellEnumeratorDirection & typeof nsIDocShell_AppType & typeof nsIDocShell_BusyFlags & typeof nsIDocShell_LoadCommand> {\n  setCancelContentJSEpoch(aEpoch: i32): void;\n  addState(aData: any, aTitle: string, aURL: string, aReplace: boolean): void;\n  prepareForNewContentModel(): void;\n  setCurrentURIForSessionStore(aURI: nsIURI): void;\n  readonly docViewer: nsIDocumentViewer;\n  readonly outerWindowID: u64;\n  chromeEventHandler: EventTarget;\n  customUserAgent: string;\n  cssErrorReportingEnabled: boolean;\n  allowMetaRedirects: boolean;\n  allowSubframes: boolean;\n  allowImages: boolean;\n  allowMedia: boolean;\n  allowDNSPrefetch: boolean;\n  allowWindowControl: boolean;\n  allowContentRetargeting: boolean;\n  allowContentRetargetingOnChildren: boolean;\n  getAllDocShellsInSubtree(aItemType: i32, aDirection: nsIDocShell.DocShellEnumeratorDirection): nsIDocShell[];\n  appType: nsIDocShell.AppType;\n  allowAuth: boolean;\n  zoom: float;\n  readonly busyFlags: nsIDocShell.BusyFlags;\n  loadType: u32;\n  defaultLoadFlags: nsLoadFlags;\n  isBeingDestroyed(): boolean;\n  readonly isExecutingOnLoadHandler: boolean;\n  layoutHistoryState: nsILayoutHistoryState;\n  readonly loadURIDelegate: nsILoadURIDelegate;\n  suspendRefreshURIs(): void;\n  resumeRefreshURIs(): void;\n  beginRestore(viewer: nsIDocumentViewer, top: boolean): void;\n  finishRestore(): void;\n  clearCachedUserAgent(): void;\n  clearCachedPlatform(): void;\n  readonly restoringDocument: boolean;\n  useErrorPages: boolean;\n  displayLoadError(aError: nsresult, aURI: nsIURI, aURL: string, aFailedChannel?: nsIChannel): boolean;\n  readonly failedChannel: nsIChannel;\n  readonly previousEntryIndex: i32;\n  readonly loadedEntryIndex: i32;\n  historyPurged(numEntries: i32): void;\n  readonly currentDocumentChannel: nsIChannel;\n  readonly isInUnload: boolean;\n  exitPrintPreview(): void;\n  readonly historyID: nsID;\n  createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal, aCSP?: nsIContentSecurityPolicy): void;\n  readonly charset: string;\n  forceEncodingDetection(): void;\n  now(): DOMHighResTimeStamp;\n  addWeakPrivacyTransitionObserver(obs: nsIPrivacyTransitionObserver): void;\n  addWeakReflowObserver(obs: nsIReflowObserver): void;\n  removeWeakReflowObserver(obs: nsIReflowObserver): void;\n  readonly isTopLevelContentDocShell: boolean;\n  readonly asyncPanZoomEnabled: boolean;\n  readonly mayEnableCharacterEncodingMenu: boolean;\n  editor: nsIEditor;\n  readonly editable: boolean;\n  readonly hasEditingSession: boolean;\n  makeEditable(inWaitForUriLoad: boolean): void;\n  getCurrentSHEntry(aEntry: OutParam<nsISHEntry>): boolean;\n  isCommandEnabled(command: string): boolean;\n  doCommand(command: string): void;\n  doCommandWithParams(command: string, aParams: nsICommandParams): void;\n  readonly hasLoadedNonBlankURI: boolean;\n  windowDraggingAllowed: boolean;\n  currentScrollRestorationIsManual: boolean;\n  getOriginAttributes(): any;\n  setOriginAttributes(aAttrs: any): void;\n  readonly editingSession: nsIEditingSession;\n  readonly browserChild: nsIBrowserChild;\n  useTrackingProtection: boolean;\n  setColorMatrix(aMatrix: float[]): void;\n  readonly isForceReloading: boolean;\n  getColorMatrix(): float[];\n  readonly messageManager: ContentFrameMessageManager;\n  getHasTrackingContentBlocked(): Promise<any>;\n  readonly isNavigating: boolean;\n  synchronizeLayoutHistoryState(): void;\n  persistLayoutHistoryState(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeItem.idl\n\ninterface nsIDocShellTreeItem extends nsISupports {\n  readonly typeChrome?: 0;\n  readonly typeContent?: 1;\n  readonly typeContentWrapper?: 2;\n  readonly typeChromeWrapper?: 3;\n  readonly typeAll?: 2147483647;\n\n  name: string;\n  nameEquals(name: string): boolean;\n  readonly itemType: i32;\n  readonly parent: nsIDocShellTreeItem;\n  readonly sameTypeParent: nsIDocShellTreeItem;\n  readonly rootTreeItem: nsIDocShellTreeItem;\n  readonly sameTypeRootTreeItem: nsIDocShellTreeItem;\n  readonly treeOwner: nsIDocShellTreeOwner;\n  readonly childCount: i32;\n  getChildAt(index: i32): nsIDocShellTreeItem;\n  readonly browsingContext: BrowsingContext;\n  readonly domWindow: mozIDOMWindowProxy;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeOwner.idl\n\ninterface nsIDocShellTreeOwner extends nsISupports {\n  contentShellAdded(aContentShell: nsIDocShellTreeItem, aPrimary: boolean): void;\n  contentShellRemoved(aContentShell: nsIDocShellTreeItem): void;\n  readonly primaryContentShell: nsIDocShellTreeItem;\n  remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;\n  remoteTabRemoved(aTab: nsIRemoteTab): void;\n  readonly primaryRemoteTab: nsIRemoteTab;\n  readonly primaryContentBrowsingContext: BrowsingContext;\n  sizeShellTo(shell: nsIDocShellTreeItem, cx: i32, cy: i32): void;\n  getPrimaryContentSize(width: OutParam<i32>, height: OutParam<i32>): void;\n  setPrimaryContentSize(width: i32, height: i32): void;\n  getRootShellSize(width: OutParam<i32>, height: OutParam<i32>): void;\n  setRootShellSize(width: i32, height: i32): void;\n  setPersistence(aPersistPosition: boolean, aPersistSize: boolean, aPersistSizeMode: boolean): void;\n  getPersistence(aPersistPosition: OutParam<boolean>, aPersistSize: OutParam<boolean>, aPersistSizeMode: OutParam<boolean>): void;\n  readonly hasPrimaryContent: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentLoaderFactory.idl\n\ninterface nsIDocumentLoaderFactory extends nsISupports {\n  createInstance(aCommand: string, aChannel: nsIChannel, aLoadGroup: nsILoadGroup, aContentType: string, aContainer: nsIDocShell, aExtraInfo: nsISupports, aDocListenerResult: OutParam<nsIStreamListener>): nsIDocumentViewer;\n  createInstanceForDocument(aContainer: nsISupports, aDocument: Document, aCommand: string): nsIDocumentViewer;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewer.idl\n\n}  // global\n\ndeclare enum nsIDocumentViewer_PermitUnloadAction {\n  ePrompt = 0,\n  eDontPromptAndDontUnload = 1,\n  eDontPromptAndUnload = 2,\n}\n\ndeclare enum nsIDocumentViewer_PermitUnloadResult {\n  eAllowNavigation = 0,\n  eRequestBlockNavigation = 1,\n}\n\ndeclare global {\n\nnamespace nsIDocumentViewer {\n  type PermitUnloadAction = nsIDocumentViewer_PermitUnloadAction;\n  type PermitUnloadResult = nsIDocumentViewer_PermitUnloadResult;\n}\n\ninterface nsIDocumentViewer extends nsISupports, Enums<typeof nsIDocumentViewer_PermitUnloadAction & typeof nsIDocumentViewer_PermitUnloadResult> {\n  readonly eDelayResize?: 1;\n\n  container: nsIDocShell;\n  loadComplete(aStatus: nsresult): void;\n  permitUnload(aAction?: nsIDocumentViewer.PermitUnloadAction): boolean;\n  readonly inPermitUnload: boolean;\n  readonly beforeUnloadFiring: boolean;\n  pageHide(isUnload: boolean): void;\n  close(historyEntry: nsISHEntry): void;\n  destroy(): void;\n  stop(): void;\n  readonly DOMDocument: Document;\n  move(aX: i32, aY: i32): void;\n  show(): void;\n  hide(): void;\n  sticky: boolean;\n  open(aState: nsISupports, aSHEntry: nsISHEntry): void;\n  clearHistoryEntry(): void;\n  setPageModeForTesting(aPageMode: boolean, aPrintSettings: nsIPrintSettings): void;\n  readonly historyEntry: nsISHEntry;\n  readonly isTabModalPromptAllowed: boolean;\n  isHidden: boolean;\n  readonly deviceFullZoomForTest: float;\n  authorStyleDisabled: boolean;\n  getContentSize(maxWidth: i32, maxHeight: i32, prefWidth: i32, width: OutParam<i32>, height: OutParam<i32>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewerEdit.idl\n\ninterface nsIDocumentViewerEdit extends nsISupports {\n  readonly COPY_IMAGE_TEXT?: 1;\n  readonly COPY_IMAGE_HTML?: 2;\n  readonly COPY_IMAGE_DATA?: 4;\n  readonly COPY_IMAGE_ALL?: -1;\n\n  clearSelection(): void;\n  selectAll(): void;\n  copySelection(): void;\n  readonly copyable: boolean;\n  copyLinkLocation(): void;\n  readonly inLink: boolean;\n  copyImage(aCopyFlags: i32): void;\n  readonly inImage: boolean;\n  getContents(aMimeType: string, aSelectionOnly: boolean): string;\n  readonly canGetContents: boolean;\n  setCommandNode(aNode: Node): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsILoadContext.idl\n\ninterface nsILoadContext extends nsISupports {\n  readonly associatedWindow: mozIDOMWindowProxy;\n  readonly topWindow: mozIDOMWindowProxy;\n  readonly topFrameElement: Element;\n  readonly isContent: boolean;\n  usePrivateBrowsing: boolean;\n  readonly useRemoteTabs: boolean;\n  readonly useRemoteSubframes: boolean;\n  useTrackingProtection: boolean;\n  readonly originAttributes: any;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsILoadURIDelegate.idl\n\ninterface nsILoadURIDelegate extends nsISupports {\n  handleLoadError(aURI: nsIURI, aError: nsresult, aErrorModule: i16): nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIPrivacyTransitionObserver.idl\n\ntype nsIPrivacyTransitionObserver = Callable<{\n  privateModeChanged(enabled: boolean): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIReflowObserver.idl\n\ninterface nsIReflowObserver extends nsISupports {\n  reflow(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;\n  reflowInterruptible(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIRefreshURI.idl\n\ninterface nsIRefreshURI extends nsISupports {\n  refreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;\n  forceRefreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;\n  cancelRefreshURITimers(): void;\n  readonly refreshPending: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipListener.idl\n\ninterface nsITooltipListener extends nsISupports {\n  onShowTooltip(aXCoords: i32, aYCoords: i32, aTipText: string, aTipDir: string): void;\n  onHideTooltip(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipTextProvider.idl\n\ninterface nsITooltipTextProvider extends nsISupports {\n  getNodeText(aNode: Node, aText: OutParam<string>, aDirection: OutParam<string>): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIURIFixup.idl\n\ninterface nsIURIFixupInfo extends nsISupports {\n  consumer: BrowsingContext;\n  preferredURI: nsIURI;\n  fixedURI: nsIURI;\n  keywordProviderName: string;\n  keywordAsSent: string;\n  schemelessInput: nsILoadInfo.SchemelessInputType;\n  fixupChangedProtocol: boolean;\n  fixupCreatedAlternateURI: boolean;\n  originalInput: string;\n  postData: nsIInputStream;\n}\n\ninterface nsIURIFixup extends nsISupports {\n  readonly FIXUP_FLAG_NONE?: 0;\n  readonly FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP?: 1;\n  readonly FIXUP_FLAGS_MAKE_ALTERNATE_URI?: 2;\n  readonly FIXUP_FLAG_PRIVATE_CONTEXT?: 4;\n  readonly FIXUP_FLAG_FIX_SCHEME_TYPOS?: 8;\n\n  getFixupURIInfo(aURIText: string, aFixupFlags?: u32): nsIURIFixupInfo;\n  webNavigationFlagsToFixupFlags(aURIText: string, aDocShellFlags: u32): u32;\n  keywordToURI(aKeyword: string, aIsPrivateContext?: boolean): nsIURIFixupInfo;\n  forceHttpFixup(aUriString: string): nsIURIFixupInfo;\n  checkHost(aURI: nsIURI, aListener: nsIDNSListener, aOriginAttributes?: any): void;\n  isDomainKnown(aDomain: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigation.idl\n\ninterface nsIWebNavigation extends nsISupports {\n  readonly LOAD_FLAGS_MASK?: 65535;\n  readonly LOAD_FLAGS_NONE?: 0;\n  readonly LOAD_FLAGS_IS_REFRESH?: 16;\n  readonly LOAD_FLAGS_IS_LINK?: 32;\n  readonly LOAD_FLAGS_BYPASS_HISTORY?: 64;\n  readonly LOAD_FLAGS_REPLACE_HISTORY?: 128;\n  readonly LOAD_FLAGS_BYPASS_CACHE?: 256;\n  readonly LOAD_FLAGS_BYPASS_PROXY?: 512;\n  readonly LOAD_FLAGS_CHARSET_CHANGE?: 1024;\n  readonly LOAD_FLAGS_STOP_CONTENT?: 2048;\n  readonly LOAD_FLAGS_FROM_EXTERNAL?: 4096;\n  readonly LOAD_FLAGS_FIRST_LOAD?: 16384;\n  readonly LOAD_FLAGS_ALLOW_POPUPS?: 32768;\n  readonly LOAD_FLAGS_BYPASS_CLASSIFIER?: 65536;\n  readonly LOAD_FLAGS_FORCE_ALLOW_COOKIES?: 131072;\n  readonly LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL?: 262144;\n  readonly LOAD_FLAGS_ERROR_LOAD_CHANGES_RV?: 524288;\n  readonly LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP?: 1048576;\n  readonly LOAD_FLAGS_FIXUP_SCHEME_TYPOS?: 2097152;\n  readonly LOAD_FLAGS_FORCE_ALLOW_DATA_URI?: 4194304;\n  readonly LOAD_FLAGS_IS_REDIRECT?: 8388608;\n  readonly LOAD_FLAGS_DISABLE_TRR?: 16777216;\n  readonly LOAD_FLAGS_FORCE_TRR?: 33554432;\n  readonly LOAD_FLAGS_BYPASS_LOAD_URI_DELEGATE?: 67108864;\n  readonly LOAD_FLAGS_USER_ACTIVATION?: 134217728;\n  readonly STOP_NETWORK?: 1;\n  readonly STOP_CONTENT?: 2;\n  readonly STOP_ALL?: 3;\n\n  readonly canGoBack: boolean;\n  readonly canGoBackIgnoringUserInteraction: boolean;\n  readonly canGoForward: boolean;\n  goBack(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;\n  goForward(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;\n  gotoIndex(index: i32, aUserActivation?: boolean): void;\n  loadURI(aURI: nsIURI, aLoadURIOptions: any): void;\n  fixupAndLoadURIString(aURIString: string, aLoadURIOptions: any): void;\n  reload(aReloadFlags: u32): void;\n  stop(aStopFlags: u32): void;\n  readonly document: Document;\n  readonly currentURI: nsIURI;\n  readonly sessionHistory: nsISupports;\n  resumeRedirectedLoad(aLoadIdentifier: u64, aHistoryIndex: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigationInfo.idl\n\ninterface nsIWebNavigationInfo extends nsISupports {\n  readonly UNSUPPORTED?: 0;\n  readonly IMAGE?: 1;\n  readonly FALLBACK?: 2;\n  readonly OTHER?: 32768;\n\n  isTypeSupported(aType: string): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/base/nsIWebPageDescriptor.idl\n\ninterface nsIWebPageDescriptor extends nsISupports {\n  loadPageAsViewSource(otherDocShell: nsIDocShell, aURL: string): void;\n  readonly currentDescriptor: nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/mozIDOMWindow.idl\n\ninterface mozIDOMWindow extends nsISupports {\n}\n\ninterface mozIDOMWindowProxy extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIContentPolicy.idl\n\n}  // global\n\ndeclare enum nsIContentPolicy_nsContentPolicyType {\n  TYPE_INVALID = 0,\n  TYPE_OTHER = 1,\n  TYPE_SCRIPT = 2,\n  TYPE_IMAGE = 3,\n  TYPE_STYLESHEET = 4,\n  TYPE_OBJECT = 5,\n  TYPE_DOCUMENT = 6,\n  TYPE_SUBDOCUMENT = 7,\n  TYPE_PING = 10,\n  TYPE_XMLHTTPREQUEST = 11,\n  TYPE_DTD = 13,\n  TYPE_FONT = 14,\n  TYPE_MEDIA = 15,\n  TYPE_WEBSOCKET = 16,\n  TYPE_CSP_REPORT = 17,\n  TYPE_XSLT = 18,\n  TYPE_BEACON = 19,\n  TYPE_FETCH = 20,\n  TYPE_IMAGESET = 21,\n  TYPE_WEB_MANIFEST = 22,\n  TYPE_INTERNAL_SCRIPT = 23,\n  TYPE_INTERNAL_WORKER = 24,\n  TYPE_INTERNAL_SHARED_WORKER = 25,\n  TYPE_INTERNAL_EMBED = 26,\n  TYPE_INTERNAL_OBJECT = 27,\n  TYPE_INTERNAL_FRAME = 28,\n  TYPE_INTERNAL_IFRAME = 29,\n  TYPE_INTERNAL_AUDIO = 30,\n  TYPE_INTERNAL_VIDEO = 31,\n  TYPE_INTERNAL_TRACK = 32,\n  TYPE_INTERNAL_XMLHTTPREQUEST_ASYNC = 33,\n  TYPE_INTERNAL_EVENTSOURCE = 34,\n  TYPE_INTERNAL_SERVICE_WORKER = 35,\n  TYPE_INTERNAL_SCRIPT_PRELOAD = 36,\n  TYPE_INTERNAL_IMAGE = 37,\n  TYPE_INTERNAL_IMAGE_PRELOAD = 38,\n  TYPE_INTERNAL_STYLESHEET = 39,\n  TYPE_INTERNAL_STYLESHEET_PRELOAD = 40,\n  TYPE_INTERNAL_IMAGE_FAVICON = 41,\n  TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS = 42,\n  TYPE_SAVEAS_DOWNLOAD = 43,\n  TYPE_SPECULATIVE = 44,\n  TYPE_INTERNAL_MODULE = 45,\n  TYPE_INTERNAL_MODULE_PRELOAD = 46,\n  TYPE_INTERNAL_DTD = 47,\n  TYPE_INTERNAL_FORCE_ALLOWED_DTD = 48,\n  TYPE_INTERNAL_AUDIOWORKLET = 49,\n  TYPE_INTERNAL_PAINTWORKLET = 50,\n  TYPE_INTERNAL_FONT_PRELOAD = 51,\n  TYPE_INTERNAL_CHROMEUTILS_COMPILED_SCRIPT = 52,\n  TYPE_INTERNAL_FRAME_MESSAGEMANAGER_SCRIPT = 53,\n  TYPE_INTERNAL_FETCH_PRELOAD = 54,\n  TYPE_UA_FONT = 55,\n  TYPE_PROXIED_WEBRTC_MEDIA = 56,\n  TYPE_WEB_IDENTITY = 57,\n  TYPE_INTERNAL_WORKER_STATIC_MODULE = 58,\n  TYPE_WEB_TRANSPORT = 59,\n  TYPE_INTERNAL_XMLHTTPREQUEST_SYNC = 60,\n  TYPE_INTERNAL_EXTERNAL_RESOURCE = 61,\n  TYPE_JSON = 62,\n  TYPE_INTERNAL_JSON_PRELOAD = 63,\n  TYPE_END = 64,\n}\n\ndeclare global {\n\nnamespace nsIContentPolicy {\n  type nsContentPolicyType = nsIContentPolicy_nsContentPolicyType;\n}\n\ninterface nsIContentPolicy extends nsISupports, Enums<typeof nsIContentPolicy_nsContentPolicyType> {\n  readonly REJECT_REQUEST?: -1;\n  readonly REJECT_TYPE?: -2;\n  readonly REJECT_SERVER?: -3;\n  readonly REJECT_OTHER?: -4;\n  readonly REJECT_POLICY?: -5;\n  readonly ACCEPT?: 1;\n\n  shouldLoad(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;\n  shouldProcess(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIDroppedLinkHandler.idl\n\ninterface nsIDroppedLinkItem extends nsISupports {\n  readonly url: string;\n  readonly name: string;\n  readonly type: string;\n}\n\ninterface nsIDroppedLinkHandler extends nsISupports {\n  canDropLink(aEvent: DragEvent, aAllowSameDocument: boolean): boolean;\n  dropLinks(aEvent: DragEvent, aDisallowInherit?: boolean): nsIDroppedLinkItem[];\n  validateURIsForDrop(aEvent: DragEvent, aURIs: string[], aDisallowInherit?: boolean): void;\n  queryLinks(aDataTransfer: DataTransfer): nsIDroppedLinkItem[];\n  getTriggeringPrincipal(aEvent: DragEvent): nsIPrincipal;\n  getCsp(aEvent: DragEvent): nsIContentSecurityPolicy;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIEventSourceEventService.idl\n\ninterface nsIEventSourceEventListener extends nsISupports {\n  eventSourceConnectionOpened(aHttpChannelId: u64): void;\n  eventSourceConnectionClosed(aHttpChannelId: u64): void;\n  eventReceived(aHttpChannelId: u64, aEventName: string, aLastEventID: string, aData: string, aRetry: u32, aTimeStamp: DOMHighResTimeStamp): void;\n}\n\ninterface nsIEventSourceEventService extends nsISupports {\n  addListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;\n  removeListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;\n  hasListenerFor(aInnerWindowID: u64): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIImageLoadingContent.idl\n\ninterface nsIImageLoadingContent extends imgINotificationObserver {\n  readonly UNKNOWN_REQUEST?: -1;\n  readonly CURRENT_REQUEST?: 0;\n  readonly PENDING_REQUEST?: 1;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIMessageManager.idl\n\ninterface nsIMessageSender extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIObjectLoadingContent.idl\n\ninterface nsIObjectLoadingContent extends nsISupports {\n  readonly TYPE_LOADING?: 0;\n  readonly TYPE_DOCUMENT?: 1;\n  readonly TYPE_FALLBACK?: 2;\n\n  readonly actualType: string;\n  readonly displayedType: u32;\n  readonly srcURI: nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIScriptChannel.idl\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsIScriptableContentIterator.idl\n\n}  // global\n\ndeclare enum nsIScriptableContentIterator_IteratorType {\n  NOT_INITIALIZED = 0,\n  POST_ORDER_ITERATOR = 1,\n  PRE_ORDER_ITERATOR = 2,\n  SUBTREE_ITERATOR = 3,\n}\n\ndeclare global {\n\nnamespace nsIScriptableContentIterator {\n  type IteratorType = nsIScriptableContentIterator_IteratorType;\n}\n\ninterface nsIScriptableContentIterator extends nsISupports, Enums<typeof nsIScriptableContentIterator_IteratorType> {\n  initWithRootNode(aType: nsIScriptableContentIterator.IteratorType, aRoot: Node): void;\n  initWithRange(aType: nsIScriptableContentIterator.IteratorType, aRange: Range): void;\n  initWithRangeAllowCrossShadowBoundary(aType: nsIScriptableContentIterator.IteratorType, aRange: Range): void;\n  initWithPositions(aType: nsIScriptableContentIterator.IteratorType, aStartContainer: Node, aStartOffset: u32, aEndContainer: Node, aEndOffset: u32): void;\n  first(): void;\n  last(): void;\n  next(): void;\n  prev(): void;\n  readonly currentNode: Node;\n  readonly isDone: boolean;\n  positionAt(aNode: Node): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsISelectionController.idl\n\n}  // global\n\ndeclare enum nsISelectionController_ControllerScrollFlags {\n  SCROLL_SYNCHRONOUS = 2,\n  SCROLL_FIRST_ANCESTOR_ONLY = 4,\n  SCROLL_OVERFLOW_HIDDEN = 8,\n  SCROLL_VERTICAL_NEAREST = 0,\n  SCROLL_VERTICAL_START = 16,\n  SCROLL_VERTICAL_CENTER = 32,\n  SCROLL_VERTICAL_END = 64,\n}\n\ndeclare global {\n\nnamespace nsISelectionController {\n  type ControllerScrollFlags = nsISelectionController_ControllerScrollFlags;\n}\n\ninterface nsISelectionController extends nsISelectionDisplay, Enums<typeof nsISelectionController_ControllerScrollFlags> {\n  readonly SELECTION_NONE?: 0;\n  readonly SELECTION_NORMAL?: 1;\n  readonly SELECTION_SPELLCHECK?: 2;\n  readonly SELECTION_IME_RAWINPUT?: 3;\n  readonly SELECTION_IME_SELECTEDRAWTEXT?: 4;\n  readonly SELECTION_IME_CONVERTEDTEXT?: 5;\n  readonly SELECTION_IME_SELECTEDCONVERTEDTEXT?: 6;\n  readonly SELECTION_ACCESSIBILITY?: 7;\n  readonly SELECTION_FIND?: 8;\n  readonly SELECTION_URLSECONDARY?: 9;\n  readonly SELECTION_URLSTRIKEOUT?: 10;\n  readonly SELECTION_TARGET_TEXT?: 11;\n  readonly SELECTION_HIGHLIGHT?: 12;\n  readonly NUM_SELECTIONTYPES?: 13;\n  readonly SELECTION_ANCHOR_REGION?: 0;\n  readonly SELECTION_FOCUS_REGION?: 1;\n  readonly SELECTION_WHOLE_SELECTION?: 2;\n  readonly NUM_SELECTION_REGIONS?: 3;\n  readonly SELECTION_OFF?: 0;\n  readonly SELECTION_HIDDEN?: 1;\n  readonly SELECTION_ON?: 2;\n  readonly SELECTION_DISABLED?: 3;\n  readonly SELECTION_ATTENTION?: 4;\n  readonly MOVE_LEFT?: 0;\n  readonly MOVE_RIGHT?: 1;\n  readonly MOVE_UP?: 2;\n  readonly MOVE_DOWN?: 3;\n\n  setDisplaySelection(toggle: i16): void;\n  getDisplaySelection(): i16;\n  getSelection(type: i16): Selection;\n  scrollSelectionIntoView(type: i16, region: i16, flags: nsISelectionController.ControllerScrollFlags): void;\n  repaintSelection(type: i16): void;\n  setCaretEnabled(enabled: boolean): void;\n  setCaretReadOnly(readOnly: boolean): void;\n  getCaretEnabled(): boolean;\n  readonly caretVisible: boolean;\n  setCaretVisibilityDuringSelection(visibility: boolean): void;\n  characterMove(forward: boolean, extend: boolean): void;\n  physicalMove(direction: i16, amount: i16, extend: boolean): void;\n  wordMove(forward: boolean, extend: boolean): void;\n  lineMove(forward: boolean, extend: boolean): void;\n  intraLineMove(forward: boolean, extend: boolean): void;\n  pageMove(forward: boolean, extend: boolean): void;\n  completeScroll(forward: boolean): void;\n  completeMove(forward: boolean, extend: boolean): void;\n  scrollPage(forward: boolean): void;\n  scrollLine(forward: boolean): void;\n  scrollCharacter(right: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsISelectionDisplay.idl\n\ninterface nsISelectionDisplay extends nsISupports {\n  readonly DISPLAY_TEXT?: 1;\n  readonly DISPLAY_IMAGES?: 2;\n  readonly DISPLAY_FRAMES?: 4;\n  readonly DISPLAY_ALL?: 7;\n\n  setSelectionFlags(toggle: i16): void;\n  getSelectionFlags(): i16;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsISelectionListener.idl\n\ninterface nsISelectionListener extends nsISupports {\n  readonly NO_REASON?: 0;\n  readonly DRAG_REASON?: 1;\n  readonly MOUSEDOWN_REASON?: 2;\n  readonly MOUSEUP_REASON?: 4;\n  readonly KEYPRESS_REASON?: 8;\n  readonly SELECTALL_REASON?: 16;\n  readonly COLLAPSETOSTART_REASON?: 32;\n  readonly COLLAPSETOEND_REASON?: 64;\n  readonly IME_REASON?: 128;\n  readonly JS_REASON?: 256;\n  readonly CHARACTER_AMOUNT?: 0;\n  readonly CLUSTER_AMOUNT?: 1;\n  readonly WORD_AMOUNT?: 2;\n  readonly WORDNOSPACE_AMOUNT?: 3;\n  readonly LINE_AMOUNT?: 4;\n  readonly BEGINLINE_AMOUNT?: 5;\n  readonly ENDLINE_AMOUNT?: 6;\n  readonly NO_AMOUNT?: 7;\n  readonly PARAGRAPH_AMOUNT?: 8;\n\n  notifySelectionChanged(doc: Document, sel: Selection, reason: i16, amount: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/base/nsISlowScriptDebug.idl\n\ntype nsISlowScriptDebugCallback = Callable<{\n  handleSlowScriptDebug(aWindow: nsIDOMWindow): void;\n}>\n\ntype nsISlowScriptDebuggerStartupCallback = Callable<{\n  finishDebuggerStartup(): void;\n}>\n\ntype nsISlowScriptDebugRemoteCallback = Callable<{\n  handleSlowScriptDebug(aBrowser: EventTarget, aCallback: nsISlowScriptDebuggerStartupCallback): void;\n}>\n\ninterface nsISlowScriptDebug extends nsISupports {\n  activationHandler: nsISlowScriptDebugCallback;\n  remoteActivationHandler: nsISlowScriptDebugRemoteCallback;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/console/nsIConsoleAPIStorage.idl\n\ninterface nsIConsoleAPIStorage extends nsISupports {\n  getEvents(aId?: string): any;\n  addLogEventListener(aListener: any, aPrincipal: nsIPrincipal): void;\n  removeLogEventListener(aListener: any): void;\n  recordEvent(aId: string, aEvent: any): void;\n  clearEvents(aId?: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/file/ipc/mozIRemoteLazyInputStream.idl\n\ninterface mozIRemoteLazyInputStream extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessChild.idl\n\ninterface nsIDOMProcessChild extends nsISupports {\n  readonly childID: u64;\n  getActor(name: string): JSProcessActorChild;\n  getExistingActor(name: string): JSProcessActorChild;\n  readonly canSend: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessParent.idl\n\ninterface nsIDOMProcessParent extends nsISupports {\n  readonly childID: u64;\n  readonly osPid: i32;\n  getActor(name: string): JSProcessActorParent;\n  getExistingActor(name: string): JSProcessActorParent;\n  readonly canSend: boolean;\n  readonly remoteType: string;\n}\n\ninterface nsIContentParentKeepAlive extends nsISupports {\n  readonly domProcess: nsIDOMProcessParent;\n  invalidateKeepAlive(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/ipc/nsIHangReport.idl\n\ninterface nsIHangReport extends nsISupports {\n  readonly scriptBrowser: Element;\n  readonly scriptFileName: string;\n  readonly hangDuration: double;\n  readonly addonId: string;\n  readonly childID: u64;\n  userCanceled(): void;\n  terminateScript(): void;\n  beginStartingDebugger(): void;\n  endStartingDebugger(): void;\n  isReportForBrowserOrChildren(aFrameLoader: FrameLoader): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/ipc/nsILoginDetectionService.idl\n\ninterface nsILoginDetectionService extends nsISupports {\n  init(): void;\n  isLoginsLoaded(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/audiochannel/nsIAudioChannelAgent.idl\n\ninterface nsISuspendedTypes extends nsISupports {\n  readonly NONE_SUSPENDED?: 0;\n  readonly SUSPENDED_BLOCK?: 1;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/domstubs.idl\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowser.idl\n\ninterface nsIBrowser extends nsISupports {\n  dropLinks(links: string[], triggeringPrincipal: nsIPrincipal): void;\n  swapBrowsers(aOtherBrowser: nsIBrowser): void;\n  closeBrowser(): void;\n  readonly isRemoteBrowser: boolean;\n  readonly permanentKey: any;\n  readonly contentPrincipal: nsIPrincipal;\n  readonly contentPartitionedPrincipal: nsIPrincipal;\n  readonly csp: nsIContentSecurityPolicy;\n  readonly referrerInfo: nsIReferrerInfo;\n  isNavigating: boolean;\n  mayEnableCharacterEncodingMenu: boolean;\n  updateForStateChange(aCharset: string, aDocumentURI: nsIURI, aContentType: string): void;\n  updateWebNavigationForLocationChange(aCanGoBack: boolean, aCanGoBackIgnoringUserInteraction: boolean, aCanGoForward: boolean): void;\n  updateForLocationChange(aLocation: nsIURI, aCharset: string, aMayEnableCharacterEncodingMenu: boolean, aDocumentURI: nsIURI, aTitle: string, aContentPrincipal: nsIPrincipal, aContentPartitionedPrincipal: nsIPrincipal, aCSP: nsIContentSecurityPolicy, aReferrerInfo: nsIReferrerInfo, aIsSynthetic: boolean, aHasRequestContextID: boolean, aRequestContextID: u64, aContentType: string): void;\n  prepareToChangeRemoteness(): Promise<any>;\n  beforeChangeRemoteness(): void;\n  finishChangeRemoteness(aPendingSwitchId: u64): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserChild.idl\n\ninterface nsIBrowserChild extends nsISupports {\n  readonly messageManager: ContentFrameMessageManager;\n  remoteDropLinks(links: nsIDroppedLinkItem[]): void;\n  contentTransformsReceived(): Promise<any>;\n  readonly tabId: u64;\n  notifyNavigationFinished(): void;\n  readonly chromeOuterWindowID: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserDOMWindow.idl\n\ninterface nsIOpenURIInFrameParams extends nsISupports {\n  readonly openWindowInfo: nsIOpenWindowInfo;\n  referrerInfo: nsIReferrerInfo;\n  readonly isPrivate: boolean;\n  triggeringPrincipal: nsIPrincipal;\n  csp: nsIContentSecurityPolicy;\n  readonly openerBrowser: Element;\n  readonly openerOriginAttributes: any;\n}\n\ninterface nsIBrowserDOMWindow extends nsISupports {\n  readonly OPEN_DEFAULTWINDOW?: 0;\n  readonly OPEN_CURRENTWINDOW?: 1;\n  readonly OPEN_NEWWINDOW?: 2;\n  readonly OPEN_NEWTAB?: 3;\n  readonly OPEN_PRINT_BROWSER?: 4;\n  readonly OPEN_NEWTAB_BACKGROUND?: 5;\n  readonly OPEN_NEWTAB_FOREGROUND?: 6;\n  readonly OPEN_NEW?: 0;\n  readonly OPEN_EXTERNAL?: 1;\n  readonly OPEN_NO_OPENER?: 4;\n  readonly OPEN_NO_REFERRER?: 8;\n\n  createContentWindow(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;\n  createContentWindowInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;\n  openURI(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;\n  openURIInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;\n  canClose(): boolean;\n  readonly tabCount: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserUsage.idl\n\ninterface nsIBrowserUsage extends nsISupports {\n  getUniqueDomainsVisitedInPast24Hours(): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPermissionPrompt.idl\n\ninterface nsIContentPermissionType extends nsISupports {\n  readonly type: string;\n  readonly options: nsIArray;\n}\n\ninterface nsIContentPermissionRequest extends nsISupports {\n  readonly types: nsIArray;\n  readonly principal: nsIPrincipal;\n  readonly topLevelPrincipal: nsIPrincipal;\n  readonly window: mozIDOMWindow;\n  readonly element: Element;\n  readonly hasValidTransientUserGestureActivation: boolean;\n  readonly isRequestDelegatedToUnsafeThirdParty: boolean;\n  getDelegatePrincipal(aType: string): nsIPrincipal;\n  cancel(): void;\n  allow(choices?: any): void;\n}\n\ntype nsIContentPermissionPrompt = Callable<{\n  prompt(request: nsIContentPermissionRequest): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPrefService2.idl\n\ninterface nsIContentPrefObserver extends nsISupports {\n  onContentPrefSet(aGroup: string, aName: string, aValue: nsIVariant, aIsPrivate?: boolean): void;\n  onContentPrefRemoved(aGroup: string, aName: string, aIsPrivate?: boolean): void;\n}\n\ninterface nsIContentPrefService2 extends nsISupports {\n  readonly GROUP_NAME_MAX_LENGTH?: 2000;\n\n  getByName(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;\n  getByDomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;\n  getBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;\n  getGlobal(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;\n  getCachedByDomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref;\n  getCachedBySubdomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref[];\n  getCachedGlobal(name: string, context: nsILoadContext): nsIContentPref;\n  set(domain: string, name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  setGlobal(name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeByDomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeGlobal(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeByDomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeBySubdomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeByName(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeAllDomains(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeAllDomainsSince(since: u64, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  removeAllGlobals(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;\n  addObserverForName(name: string, observer: nsIContentPrefObserver): void;\n  removeObserverForName(name: string, observer: nsIContentPrefObserver): void;\n  extractDomain(str: string): string;\n}\n\ninterface nsIContentPrefCallback2 extends nsISupports {\n  readonly COMPLETE_OK?: 0;\n  readonly COMPLETE_ERROR?: 1;\n\n  handleResult(pref: nsIContentPref): void;\n  handleError(error: nsresult): void;\n  handleCompletion(reason: u16): void;\n}\n\ninterface nsIContentPref extends nsISupports {\n  readonly domain: string;\n  readonly name: string;\n  readonly value: nsIVariant;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMGlobalPropertyInitializer.idl\n\ninterface nsIDOMGlobalPropertyInitializer extends nsISupports {\n  init(window: mozIDOMWindow): any;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindow.idl\n\ninterface nsIDOMWindow extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindowUtils.idl\n\ntype nsISynthesizedEventCallback = Callable<{\n  onCompleteDispatch(): void;\n}>\n\ninterface nsIDOMWindowUtils extends nsISupports {\n  readonly MODIFIER_ALT?: 1;\n  readonly MODIFIER_CONTROL?: 2;\n  readonly MODIFIER_SHIFT?: 4;\n  readonly MODIFIER_META?: 8;\n  readonly MODIFIER_ALTGRAPH?: 16;\n  readonly MODIFIER_CAPSLOCK?: 32;\n  readonly MODIFIER_FN?: 64;\n  readonly MODIFIER_FNLOCK?: 128;\n  readonly MODIFIER_NUMLOCK?: 256;\n  readonly MODIFIER_SCROLLLOCK?: 512;\n  readonly MODIFIER_SYMBOL?: 1024;\n  readonly MODIFIER_SYMBOLLOCK?: 2048;\n  readonly WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE?: 1;\n  readonly WHEEL_EVENT_CAUSED_BY_MOMENTUM?: 2;\n  readonly WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS?: 4;\n  readonly WHEEL_EVENT_ASYNC_ENABLED?: 8;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO?: 16;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE?: 32;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE?: 64;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO?: 256;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE?: 512;\n  readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE?: 1024;\n  readonly NATIVE_MODIFIER_CAPS_LOCK?: 1;\n  readonly NATIVE_MODIFIER_NUM_LOCK?: 2;\n  readonly NATIVE_MODIFIER_SHIFT_LEFT?: 256;\n  readonly NATIVE_MODIFIER_SHIFT_RIGHT?: 512;\n  readonly NATIVE_MODIFIER_CONTROL_LEFT?: 1024;\n  readonly NATIVE_MODIFIER_CONTROL_RIGHT?: 2048;\n  readonly NATIVE_MODIFIER_ALT_LEFT?: 4096;\n  readonly NATIVE_MODIFIER_ALT_RIGHT?: 8192;\n  readonly NATIVE_MODIFIER_COMMAND_LEFT?: 16384;\n  readonly NATIVE_MODIFIER_COMMAND_RIGHT?: 32768;\n  readonly NATIVE_MODIFIER_HELP?: 65536;\n  readonly NATIVE_MODIFIER_ALT_GRAPH?: 131072;\n  readonly NATIVE_MODIFIER_FUNCTION?: 1048576;\n  readonly NATIVE_MODIFIER_NUMERIC_KEY_PAD?: 16777216;\n  readonly NATIVE_MOUSE_MESSAGE_BUTTON_DOWN?: 1;\n  readonly NATIVE_MOUSE_MESSAGE_BUTTON_UP?: 2;\n  readonly NATIVE_MOUSE_MESSAGE_MOVE?: 3;\n  readonly NATIVE_MOUSE_MESSAGE_ENTER_WINDOW?: 4;\n  readonly NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW?: 5;\n  readonly MOUSESCROLL_PREFER_WIDGET_AT_POINT?: 1;\n  readonly MOUSESCROLL_SCROLL_LINES?: 2;\n  readonly MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL?: 65536;\n  readonly TOUCH_HOVER?: 1;\n  readonly TOUCH_CONTACT?: 2;\n  readonly TOUCH_REMOVE?: 4;\n  readonly TOUCH_CANCEL?: 8;\n  readonly PHASE_BEGIN?: 0;\n  readonly PHASE_UPDATE?: 1;\n  readonly PHASE_END?: 2;\n  readonly UPDATE_TYPE_RESTORE?: 0;\n  readonly UPDATE_TYPE_MAIN_THREAD?: 1;\n  readonly SCROLL_MODE_INSTANT?: 0;\n  readonly SCROLL_MODE_SMOOTH?: 1;\n  readonly FLUSH_NONE?: -1;\n  readonly FLUSH_STYLE?: 0;\n  readonly FLUSH_LAYOUT?: 1;\n  readonly IME_STATUS_DISABLED?: 0;\n  readonly IME_STATUS_ENABLED?: 1;\n  readonly IME_STATUS_PASSWORD?: 2;\n  readonly INPUT_CONTEXT_ORIGIN_MAIN?: 0;\n  readonly INPUT_CONTEXT_ORIGIN_CONTENT?: 1;\n  readonly CONTENT_COMMAND_FLAG_PREVENT_SET_SELECTION?: 2;\n  readonly QUERY_CONTENT_FLAG_USE_NATIVE_LINE_BREAK?: 0;\n  readonly QUERY_CONTENT_FLAG_USE_XP_LINE_BREAK?: 1;\n  readonly QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK?: 2;\n  readonly QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT?: 4;\n  readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT?: 8;\n  readonly QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT?: 16;\n  readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT?: 32;\n  readonly QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY?: 64;\n  readonly QUERY_CONTENT_FLAG_SELECTION_FIND?: 128;\n  readonly QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY?: 256;\n  readonly QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT?: 512;\n  readonly QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT?: 1024;\n  readonly QUERY_SELECTED_TEXT?: 3200;\n  readonly QUERY_TEXT_CONTENT?: 3201;\n  readonly QUERY_CARET_RECT?: 3203;\n  readonly QUERY_TEXT_RECT?: 3204;\n  readonly QUERY_EDITOR_RECT?: 3205;\n  readonly QUERY_CHARACTER_AT_POINT?: 3208;\n  readonly QUERY_TEXT_RECT_ARRAY?: 3209;\n  readonly SELECTION_SET_FLAG_USE_NATIVE_LINE_BREAK?: 0;\n  readonly SELECTION_SET_FLAG_USE_XP_LINE_BREAK?: 1;\n  readonly SELECTION_SET_FLAG_REVERSE?: 2;\n  readonly SELECT_CHARACTER?: 0;\n  readonly SELECT_CLUSTER?: 1;\n  readonly SELECT_WORD?: 2;\n  readonly SELECT_LINE?: 3;\n  readonly SELECT_BEGINLINE?: 4;\n  readonly SELECT_ENDLINE?: 5;\n  readonly SELECT_PARAGRAPH?: 6;\n  readonly SELECT_WORDNOSPACE?: 7;\n  readonly AUDIO_INPUT?: 0;\n  readonly AUDIO_OUTPUT?: 1;\n  readonly AGENT_SHEET?: 0;\n  readonly USER_SHEET?: 1;\n  readonly AUTHOR_SHEET?: 2;\n  readonly WR_CAPTURE_SCENE?: 1;\n  readonly WR_CAPTURE_FRAME?: 2;\n  readonly WR_CAPTURE_TILE_CACHE?: 4;\n  readonly WR_CAPTURE_EXTERNAL_RESOURCES?: 8;\n  readonly DEFAULT_MOUSE_POINTER_ID?: 0;\n  readonly DEFAULT_PEN_POINTER_ID?: 1;\n  readonly DEFAULT_TOUCH_POINTER_ID?: 2;\n  readonly MOUSE_BUTTON_LEFT_BUTTON?: 0;\n  readonly MOUSE_BUTTON_MIDDLE_BUTTON?: 1;\n  readonly MOUSE_BUTTON_RIGHT_BUTTON?: 2;\n  readonly MOUSE_BUTTONS_NO_BUTTON?: 0;\n  readonly MOUSE_BUTTONS_LEFT_BUTTON?: 1;\n  readonly MOUSE_BUTTONS_RIGHT_BUTTON?: 2;\n  readonly MOUSE_BUTTONS_MIDDLE_BUTTON?: 4;\n  readonly MOUSE_BUTTONS_4TH_BUTTON?: 8;\n  readonly MOUSE_BUTTONS_5TH_BUTTON?: 16;\n  readonly MOUSE_BUTTONS_NOT_SPECIFIED?: -1;\n  readonly DIRECTION_LTR?: 0;\n  readonly DIRECTION_RTL?: 1;\n  readonly DIRECTION_NOT_SET?: 2;\n\n  imageAnimationMode: u16;\n  readonly docCharsetIsForced: boolean;\n  readonly physicalMillimeterInCSSPixels: float;\n  getDocumentMetadata(aName: string): string;\n  getLastOverWindowPointerLocationInCSSPixels(aX: OutParam<float>, aY: OutParam<float>): void;\n  updateLayerTree(): void;\n  readonly lastTransactionId: u64;\n  getViewportInfo(aDisplayWidth: u32, aDisplayHeight: u32, aDefaultZoom: OutParam<double>, aAllowZoom: OutParam<boolean>, aMinZoom: OutParam<double>, aMaxZoom: OutParam<double>, aWidth: OutParam<u32>, aHeight: OutParam<u32>, aAutoSize: OutParam<boolean>): void;\n  getViewportFitInfo(): string;\n  getDocumentViewerSize(aDisplayWidth: OutParam<u32>, aDisplayHeight: OutParam<u32>): void;\n  setMousewheelAutodir(aElement: Element, aEnabled: boolean, aHonourRoot: boolean): void;\n  setDisplayPortForElement(aXPx: float, aYPx: float, aWidthPx: float, aHeightPx: float, aElement: Element, aPriority: u32): void;\n  setDisplayPortMarginsForElement(aLeftMargin: float, aTopMargin: float, aRightMargin: float, aBottomMargin: float, aElement: Element, aPriority: u32): void;\n  setDisplayPortBaseForElement(aX: i32, aY: i32, aWidth: i32, aHeight: i32, aElement: Element): void;\n  getScrollbarSizes(aElement: Element, aVerticalScrollbarWidth: OutParam<u32>, aHorizontalScrollbarHeight: OutParam<u32>): void;\n  setResolutionAndScaleTo(aResolution: float): void;\n  getResolution(): float;\n  setRestoreResolution(aResolution: float, aDisplayWidth: u32, aDisplayHeight: u32): void;\n  isFirstPaint: boolean;\n  getPresShellId(): u32;\n  isCORSSafelistedRequestHeader(name: string, value: string): boolean;\n  sendMouseEvent(aType: string, aX: float, aY: float, aButton: i32, aClickCount: i32, aModifiers: i32, aIgnoreRootScrollFrame?: boolean, aPressure?: float, aInputSourceArg?: u16, aIsDOMEventSynthesized?: boolean, aIsWidgetEventSynthesized?: boolean, aButtons?: i32, aIdentifier?: u32): boolean;\n  sendTouchEvent(aType: string, aIdentifiers: u32[], aXs: i32[], aYs: i32[], aRxs: u32[], aRys: u32[], aRotationAngles: float[], aForces: float[], aTiltXs: i32[], aTiltYs: i32[], aTwists: i32[], aModifiers: i32): boolean;\n  sendTouchEventAsPen(aType: string, aIdentifier: u32, aX: i32, aY: i32, aRx: u32, aRy: u32, aRotationAngle: float, aForce: float, aTiltX: i32, aTiltY: i32, aTwist: i32, aModifier: i32): boolean;\n  sendMouseEventToWindow(aType: string, aX: float, aY: float, aButton: i32, aClickCount: i32, aModifiers: i32, aIgnoreRootScrollFrame?: boolean, aPressure?: float, aInputSourceArg?: u16, aIsDOMEventSynthesized?: boolean, aIsWidgetEventSynthesized?: boolean, aButtons?: i32, aIdentifier?: u32): void;\n  sendTouchEventToWindow(aType: string, aIdentifiers: u32[], aXs: i32[], aYs: i32[], aRxs: u32[], aRys: u32[], aRotationAngles: float[], aForces: float[], aTiltXs: i32[], aTiltYs: i32[], aTwists: i32[], aModifiers: i32): boolean;\n  sendWheelEvent(aX: float, aY: float, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aDeltaMode: u32, aModifiers: i32, aLineOrPageDeltaX: i32, aLineOrPageDeltaY: i32, aOptions: u32, aCallback?: nsISynthesizedEventCallback): void;\n  sendNativeKeyEvent(aNativeKeyboardLayout: i32, aNativeKeyCode: i32, aModifierFlags: u32, aCharacters: string, aUnmodifiedCharacters: string, aCallback?: nsISynthesizedEventCallback): void;\n  sendNativeMouseEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aButton: i16, aModifierFlags: u32, aElementOnWidget: Element, aCallback?: nsISynthesizedEventCallback): void;\n  suppressAnimation(aSuppress: boolean): void;\n  sendNativeMouseScrollEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aModifierFlags: u32, aAdditionalFlags: u32, aElement: Element, aCallback?: nsISynthesizedEventCallback): void;\n  sendNativeTouchPoint(aPointerId: u32, aTouchState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aOrientation: u32, aCallback?: nsISynthesizedEventCallback, aElement?: Element): void;\n  sendNativeTouchpadPinch(aEventPhase: u32, aScale: float, aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;\n  sendNativeTouchTap(aScreenX: i32, aScreenY: i32, aLongTap: boolean, aCallback?: nsISynthesizedEventCallback): void;\n  sendNativePenInput(aPointerId: u32, aPointerState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aRotation: u32, aTiltX: i32, aTiltY: i32, aButton: i32, aCallback?: nsISynthesizedEventCallback, aElement?: Element): void;\n  sendNativeTouchpadDoubleTap(aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;\n  sendNativeTouchpadPan(aEventPhase: u32, aScreenX: i32, aScreenY: i32, aDeltaX: double, aDeltaY: double, aModifierFlags: i32, aCallback?: nsISynthesizedEventCallback): void;\n  readonly parsedStyleSheets: u32;\n  activateNativeMenuItemAt(indexString: string): void;\n  forceUpdateNativeMenuAt(indexString: string): void;\n  GetSelectionAsPlaintext(): string;\n  garbageCollect(aListener?: nsICycleCollectorListener): void;\n  cycleCollect(aListener?: nsICycleCollectorListener): void;\n  runNextCollectorTimer(aReason?: string): void;\n  pokeGC(aReason?: string): void;\n  sendSimpleGestureEvent(aType: string, aX: float, aY: float, aDirection: u32, aDelta: double, aModifiers: i32, aClickCount?: u32): void;\n  elementFromPoint(aX: float, aY: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean): Element;\n  nodesFromRect(aX: float, aY: float, aTopSize: float, aRightSize: float, aBottomSize: float, aLeftSize: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean, aOnlyVisible: boolean, aTransparencyThreshold?: float): NodeList;\n  getTranslationNodes(aRoot: Node): nsITranslationNodeList;\n  compareCanvases(aCanvas1: nsISupports, aCanvas2: nsISupports, aMaxDifference: OutParam<u32>): u32;\n  readonly isMozAfterPaintPending: boolean;\n  readonly isWindowFullyOccluded: boolean;\n  readonly isCompositorPaused: boolean;\n  readonly isInputTaskManagerSuspended: boolean;\n  suppressEventHandling(aSuppress: boolean): void;\n  disableNonTestMouseEvents(aDisable: boolean): void;\n  getScrollXY(aFlushLayout: boolean, aScrollX: OutParam<i32>, aScrollY: OutParam<i32>): void;\n  getScrollXYFloat(aFlushLayout: boolean, aScrollX: OutParam<float>, aScrollY: OutParam<float>): void;\n  getScrollbarSize(aFlushLayout: boolean, aWidth: OutParam<i32>, aHeight: OutParam<i32>): void;\n  getBoundsWithoutFlushing(aElement: Element): DOMRect;\n  getWidgetOpaqueRegion(): DOMRect[];\n  scrollToVisual(aOffsetX: float, aOffsetY: float, aUpdateType: i32, aScrollMode: i32): void;\n  getVisualViewportOffsetRelativeToLayoutViewport(aOffsetX: OutParam<float>, aOffsetY: OutParam<float>): void;\n  getVisualViewportOffset(aOffsetX: OutParam<i32>, aOffsetY: OutParam<i32>): void;\n  transformRectLayoutToVisual(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;\n  toScreenRectInCSSUnits(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;\n  toScreenRect(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;\n  toTopLevelWidgetRect(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;\n  convertFromParentProcessWidgetToLocal(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;\n  setDynamicToolbarMaxHeight(aHeightInScreen: u32): void;\n  needsFlush(aFlushtype: i32): boolean;\n  flushLayoutWithoutThrottledAnimations(): void;\n  getRootBounds(): DOMRect;\n  readonly IMEIsOpen: boolean;\n  readonly IMEStatus: u32;\n  readonly inputContextURI: nsIURI;\n  readonly inputContextOrigin: u32;\n  readonly nodeObservedByIMEContentObserver: Node;\n  dispatchDOMEventViaPresShellForTesting(aTarget: Node, aEvent: Event): boolean;\n  dispatchEventToChromeOnly(aTarget: EventTarget, aEvent: Event): boolean;\n  getClassName(aObject: any): string;\n  sendContentCommandEvent(aType: string, aTransferable?: nsITransferable, aString?: string, aOffset?: u32, aReplaceSrcString?: string, aAdditionalFlags?: u32): void;\n  sendQueryContentEvent(aType: u32, aOffset: i64, aLength: u32, aX: i32, aY: i32, aAdditionalFlags?: u32): nsIQueryContentEventResult;\n  remoteFrameFullscreenChanged(aFrameElement: Element): void;\n  remoteFrameFullscreenReverted(): void;\n  handleFullscreenRequests(): boolean;\n  exitFullscreen(aDontRestoreViewSize?: boolean): void;\n  sendSelectionSetEvent(aOffset: u32, aLength: u32, aAdditionalFlags?: u32): boolean;\n  selectAtPoint(aX: float, aY: float, aSelectBehavior: u32): boolean;\n  getVisitedDependentComputedStyle(aElement: Element, aPseudoElement: string, aPropertyName: string): string;\n  enterModalState(): void;\n  leaveModalState(): void;\n  isInModalState(): boolean;\n  suspendTimeouts(): void;\n  resumeTimeouts(): void;\n  readonly layerManagerType: string;\n  readonly layerManagerRemote: boolean;\n  readonly isWebRenderRequested: boolean;\n  readonly currentAudioBackend: string;\n  readonly currentMaxAudioChannels: u32;\n  defaultDevicesRoundTripLatency(): Promise<any>;\n  readonly currentPreferredSampleRate: u32;\n  audioDevices(aSide: u16): nsIArray;\n  startFrameTimeRecording(): u32;\n  stopFrameTimeRecording(startIndex: u32): float[];\n  readonly displayDPI: float;\n  advanceTimeAndRefresh(aMilliseconds: i64): void;\n  restoreNormalRefresh(): void;\n  readonly isTestControllingRefreshes: boolean;\n  readonly asyncPanZoomEnabled: boolean;\n  setAsyncScrollOffset(aElement: Element, aX: float, aY: float): void;\n  setAsyncZoom(aRootElement: Element, aValue: float): void;\n  flushApzRepaints(aElement?: Element): boolean;\n  disableApzForElement(aElement: Element): void;\n  zoomToFocusedInput(): void;\n  computeAnimationDistance(element: Element, property: string, value1: string, value2: string): double;\n  getUnanimatedComputedStyle(aElement: Element, aPseudoElement: string, aProperty: string, aFlushType: i32): string;\n  readonly canvasBackgroundColor: string;\n  readonly focusedInputType: string;\n  readonly focusedActionHint: string;\n  readonly focusedInputMode: string;\n  readonly focusedAutocapitalize: string;\n  readonly focusedAutocorrect: boolean;\n  getViewId(aElement: Element): nsViewID;\n  checkAndClearPaintedState(aElement: Element): boolean;\n  checkAndClearDisplayListState(aElement: Element): boolean;\n  getFileId(aFile: any): i64;\n  getFilePath(aFile: any): string;\n  getFileReferences(aDatabaseName: string, aId: i64, aRefCnt?: OutParam<i32>, aDBRefCnt?: OutParam<i32>): boolean;\n  flushPendingFileDeletions(): void;\n  startPCCountProfiling(): void;\n  stopPCCountProfiling(): void;\n  purgePCCounts(): void;\n  getPCCountScriptCount(): i32;\n  getPCCountScriptSummary(script: i32): string;\n  getPCCountScriptContents(script: i32): string;\n  readonly paintingSuppressed: boolean;\n  setVisualViewportSize(aWidth: float, aHeight: float): void;\n  disableDialogs(): void;\n  enableDialogs(): void;\n  areDialogsEnabled(): boolean;\n  resetDialogAbuseState(): void;\n  loadSheet(sheetURI: nsIURI, type: u32): void;\n  loadSheetUsingURIString(sheetURI: string, type: u32): void;\n  addSheet(sheet: nsIPreloadedStyleSheet, type: u32): void;\n  removeSheet(sheetURI: nsIURI, type: u32): void;\n  removeSheetUsingURIString(sheetURI: string, type: u32): void;\n  readonly isHandlingUserInput: boolean;\n  readonly millisSinceLastUserInput: double;\n  allowScriptsToClose(): void;\n  readonly isParentWindowMainWidgetVisible: boolean;\n  isNodeDisabledForEvents(aNode: Node): boolean;\n  getOMTAStyle(aElement: Element, aProperty: string, aPseudoElement?: string): string;\n  setHandlingUserInput(aHandlingInput: boolean): nsIJSRAIIHelper;\n  isKeyboardEventUserActivity(aKeyboardEvent: Event): boolean;\n  getContentAPZTestData(aElement?: Element): any;\n  getCompositorAPZTestData(aElement?: Element): any;\n  sendMozMouseHitTestEvent(aX: float, aY: float, aElement?: Element): void;\n  postRestyleSelfEvent(aElement: Element): void;\n  xpconnectArgument(aObj: nsISupports): void;\n  askPermission(aRequest: nsIContentPermissionRequest): void;\n  readonly restyleGeneration: u64;\n  readonly framesConstructed: u64;\n  readonly framesReflowed: u64;\n  readonly animationTriggeredRestyles: u64;\n  readonly refreshDriverHasPendingTick: boolean;\n  setCustomTitlebar(aCustomTitlebar: boolean): void;\n  setResizeMargin(aResizeMargin: i32): void;\n  getFrameUniformityTestData(): any;\n  enterChaosMode(): void;\n  leaveChaosMode(): void;\n  triggerDeviceReset(): void;\n  hasRuleProcessorUsedByMultipleStyleSets(aSheetType: u32): boolean;\n  respectDisplayPortSuppression(aEnabled: boolean): void;\n  forceReflowInterrupt(): void;\n  terminateGPUProcess(): void;\n  readonly gpuProcessPid: i32;\n  readonly rddProcessPid: i32;\n  getStorageUsage(aStorage: Storage): i64;\n  getDirectionFromText(aString: string): i32;\n  ensureDirtyRootFrame(): void;\n  wrCapture(): void;\n  wrStartCaptureSequence(aPath: string, aFlags: u32): void;\n  wrStopCaptureSequence(): void;\n  setCompositionRecording(aValue: boolean): Promise<any>;\n  startCompositionRecording(): Promise<any>;\n  stopCompositionRecording(aWriteToDisk: boolean): Promise<any>;\n  isCssPropertyRecordedInUseCounter(aProperty: string): boolean;\n  resetMobileViewportManager(): void;\n  isCoepCredentialless(): boolean;\n  setHiDPIMode(aHiDPI: boolean): void;\n  restoreHiDPIMode(): void;\n  systemFont: string;\n  readonly paintCount: u64;\n  syncFlushCompositor(): void;\n  getLayersId(aElement?: Element): u64;\n  readonly effectivelyThrottlesFrameRequests: boolean;\n  readonly webrtcRawDeviceId: string;\n  readonly suspendedByBrowsingContextGroup: boolean;\n  readonly hasScrollLinkedEffect: boolean;\n  readonly orientationLock: u32;\n  getWheelScrollTarget(): Element;\n  readonly dragSession: nsIDragSession;\n  microTaskLevel: u32;\n}\n\ninterface nsITranslationNodeList extends nsISupports {\n  readonly length: u32;\n  item(index: u32): Node;\n  isTranslationRootAtIndex(index: u32): boolean;\n}\n\ninterface nsIJSRAIIHelper extends nsISupports {\n  destruct(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIFocusManager.idl\n\ninterface nsIFocusManager extends nsISupports {\n  readonly FLAG_RAISE?: 1;\n  readonly FLAG_NOSCROLL?: 2;\n  readonly FLAG_NOSWITCHFRAME?: 4;\n  readonly FLAG_NOPARENTFRAME?: 8;\n  readonly FLAG_NONSYSTEMCALLER?: 16;\n  readonly FLAG_BYMOUSE?: 4096;\n  readonly FLAG_BYKEY?: 8192;\n  readonly FLAG_BYMOVEFOCUS?: 16384;\n  readonly FLAG_NOSHOWRING?: 32768;\n  readonly FLAG_SHOWRING?: 65536;\n  readonly FLAG_BYTOUCH?: 131072;\n  readonly FLAG_BYJS?: 262144;\n  readonly FLAG_BYLONGPRESS?: 524288;\n  readonly METHOD_MASK?: 946176;\n  readonly METHODANDRING_MASK?: 1044480;\n  readonly MOVEFOCUS_FORWARD?: 1;\n  readonly MOVEFOCUS_BACKWARD?: 2;\n  readonly MOVEFOCUS_FORWARDDOC?: 3;\n  readonly MOVEFOCUS_BACKWARDDOC?: 4;\n  readonly MOVEFOCUS_FIRST?: 5;\n  readonly MOVEFOCUS_LAST?: 6;\n  readonly MOVEFOCUS_ROOT?: 7;\n  readonly MOVEFOCUS_CARET?: 8;\n  readonly MOVEFOCUS_FIRSTDOC?: 9;\n  readonly MOVEFOCUS_LASTDOC?: 10;\n\n  readonly activeWindow: mozIDOMWindowProxy;\n  readonly activeBrowsingContext: BrowsingContext;\n  readonly activeContentBrowsingContext: BrowsingContext;\n  focusedWindow: mozIDOMWindowProxy;\n  readonly focusedContentBrowsingContext: BrowsingContext;\n  readonly focusedElement: Element;\n  getLastFocusMethod(window: mozIDOMWindowProxy): u32;\n  setFocus(aElement: Element, aFlags: u32): void;\n  moveFocus(aWindow: mozIDOMWindowProxy, aStartElement: Element, aType: u32, aFlags: u32): Element;\n  clearFocus(aWindow: mozIDOMWindowProxy): void;\n  getFocusedElementForWindow(aWindow: mozIDOMWindowProxy, aDeep: boolean, aFocusedWindow: OutParam<mozIDOMWindowProxy>): Element;\n  moveCaretToFocus(aWindow: mozIDOMWindowProxy): void;\n  elementIsFocusable(aElement: Element, aFlags: u32): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIGeckoViewServiceWorker.idl\n\ninterface nsIGeckoViewServiceWorker extends nsISupports {\n  openWindow(uri: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIPermissionDelegateHandler.idl\n\ninterface nsIPermissionDelegateHandler extends nsISupports {\n  maybeUnsafePermissionDelegate(aTypes: string[]): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIQueryContentEventResult.idl\n\ninterface nsIQueryContentEventResult extends nsISupports {\n  readonly offset: u32;\n  readonly tentativeCaretOffset: u32;\n  readonly reversed: boolean;\n  readonly left: i32;\n  readonly top: i32;\n  readonly width: i32;\n  readonly height: i32;\n  readonly text: string;\n  getCharacterRect(offset: i32, left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  readonly succeeded: boolean;\n  readonly notFound: boolean;\n  readonly tentativeCaretOffsetNotFound: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIRemoteTab.idl\n\n}  // global\n\ndeclare enum nsIRemoteTab_NavigationType {\n  NAVIGATE_BACK = 0,\n  NAVIGATE_FORWARD = 1,\n  NAVIGATE_INDEX = 2,\n  NAVIGATE_URL = 3,\n}\n\ndeclare global {\n\nnamespace nsIRemoteTab {\n  type NavigationType = nsIRemoteTab_NavigationType;\n}\n\ninterface nsIRemoteTab extends nsISupports, Enums<typeof nsIRemoteTab_NavigationType> {\n  renderLayers: boolean;\n  readonly hasLayers: boolean;\n  priorityHint: boolean;\n  deprioritize(): void;\n  preserveLayers(aPreserveLayers: boolean): void;\n  readonly tabId: u64;\n  readonly contentProcessId: u64;\n  readonly osPid: i32;\n  readonly browsingContext: BrowsingContext;\n  readonly hasPresented: boolean;\n  transmitPermissionsForPrincipal(aPrincipal: nsIPrincipal): void;\n  createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal): void;\n  maybeCancelContentJSExecution(aNavigationType: nsIRemoteTab.NavigationType, aCancelContentJSOptions?: any): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIServiceWorkerManager.idl\n\ninterface nsIServiceWorkerUnregisterCallback extends nsISupports {\n  unregisterSucceeded(aState: boolean): void;\n  unregisterFailed(): void;\n}\n\ninterface nsIServiceWorkerInfo extends nsISupports {\n  readonly STATE_PARSED?: 0;\n  readonly STATE_INSTALLING?: 1;\n  readonly STATE_INSTALLED?: 2;\n  readonly STATE_ACTIVATING?: 3;\n  readonly STATE_ACTIVATED?: 4;\n  readonly STATE_REDUNDANT?: 5;\n  readonly STATE_UNKNOWN?: 6;\n\n  readonly id: string;\n  readonly scriptSpec: string;\n  readonly cacheName: string;\n  readonly launchCount: u32;\n  readonly state: u16;\n  readonly debugger: nsIWorkerDebugger;\n  readonly handlesFetchEvents: boolean;\n  readonly installedTime: PRTime;\n  readonly activatedTime: PRTime;\n  readonly redundantTime: PRTime;\n  readonly lifetimeDeadline: double;\n  readonly navigationFaultCount: u32;\n  testingInjectCancellation: nsresult;\n  attachDebugger(): void;\n  detachDebugger(): void;\n  terminateWorker(): Promise<any>;\n}\n\ninterface nsIServiceWorkerRegistrationInfoListener extends nsISupports {\n  onChange(): void;\n}\n\ninterface nsIServiceWorkerRegistrationInfo extends nsISupports {\n  readonly UPDATE_VIA_CACHE_IMPORTS?: 0;\n  readonly UPDATE_VIA_CACHE_ALL?: 1;\n  readonly UPDATE_VIA_CACHE_NONE?: 2;\n\n  readonly principal: nsIPrincipal;\n  readonly unregistered: boolean;\n  readonly scope: string;\n  readonly scriptSpec: string;\n  readonly updateViaCache: u16;\n  readonly lastUpdateTime: PRTime;\n  readonly evaluatingWorker: nsIServiceWorkerInfo;\n  readonly installingWorker: nsIServiceWorkerInfo;\n  readonly waitingWorker: nsIServiceWorkerInfo;\n  readonly activeWorker: nsIServiceWorkerInfo;\n  readonly quotaUsageCheckCount: i32;\n  getWorkerByID(aID: u64): nsIServiceWorkerInfo;\n  addListener(listener: nsIServiceWorkerRegistrationInfoListener): void;\n  removeListener(listener: nsIServiceWorkerRegistrationInfoListener): void;\n  forceShutdown(): void;\n}\n\ninterface nsIServiceWorkerManagerListener extends nsISupports {\n  onRegister(aInfo: nsIServiceWorkerRegistrationInfo): void;\n  onUnregister(aInfo: nsIServiceWorkerRegistrationInfo): void;\n  onQuotaUsageCheckFinish(aInfo: nsIServiceWorkerRegistrationInfo): void;\n}\n\ninterface nsIServiceWorkerManager extends nsISupports {\n  reloadRegistrationsForTest(): void;\n  registerForTest(aPrincipal: nsIPrincipal, aScope: string, aScriptURL: string): Promise<any>;\n  registerForAddonPrincipal(aPrincipal: nsIPrincipal): Promise<any>;\n  getRegistrationForAddonPrincipal(aPrincipal: nsIPrincipal): nsIServiceWorkerRegistrationInfo;\n  wakeForExtensionAPIEvent(aExtensionBaseURL: string, aAPINamespace: string, aAPIEventName: string): Promise<any>;\n  unregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;\n  getRegistrationByPrincipal(aPrincipal: nsIPrincipal, aScope: string): nsIServiceWorkerRegistrationInfo;\n  getScopeForUrl(aPrincipal: nsIPrincipal, aPath: string): string;\n  getAllRegistrations(): nsIArray;\n  removeRegistrationsByOriginAttributes(aOriginAttributes: string): void;\n  propagateUnregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;\n  sendPushEvent(aOriginAttributes: string, aScope: string, aDataBytes?: u8[]): void;\n  sendPushSubscriptionChangeEvent(aOriginAttributes: string, scope: string, aOldSubscription?: nsIPushSubscription): void;\n  addListener(aListener: nsIServiceWorkerManagerListener): void;\n  removeListener(aListener: nsIServiceWorkerManagerListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIStructuredCloneContainer.idl\n\ninterface nsIStructuredCloneContainer extends nsISupports {\n  initFromBase64(aData: string, aFormatVersion: u32): void;\n  deserializeToJsval(): any;\n  getDataAsBase64(): string;\n  readonly serializedNBytes: u64;\n  readonly formatVersion: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessor.idl\n\ninterface nsITextInputProcessor extends nsISupports {\n  readonly ATTR_RAW_CLAUSE?: 2;\n  readonly ATTR_SELECTED_RAW_CLAUSE?: 3;\n  readonly ATTR_CONVERTED_CLAUSE?: 4;\n  readonly ATTR_SELECTED_CLAUSE?: 5;\n  readonly KEY_DEFAULT_PREVENTED?: 1;\n  readonly KEY_NON_PRINTABLE_KEY?: 2;\n  readonly KEY_FORCE_PRINTABLE_KEY?: 4;\n  readonly KEY_KEEP_KEY_LOCATION_STANDARD?: 8;\n  readonly KEY_KEEP_KEYCODE_ZERO?: 16;\n  readonly KEY_DONT_DISPATCH_MODIFIER_KEY_EVENT?: 32;\n  readonly KEY_DONT_MARK_KEYDOWN_AS_PROCESSED?: 64;\n  readonly KEY_MARK_KEYUP_AS_PROCESSED?: 128;\n  readonly KEYEVENT_NOT_CONSUMED?: 0;\n  readonly KEYDOWN_IS_CONSUMED?: 1;\n  readonly KEYPRESS_IS_CONSUMED?: 2;\n\n  readonly hasComposition: boolean;\n  beginInputTransaction(aWindow: mozIDOMWindow, aCallback: nsITextInputProcessorCallback): boolean;\n  beginInputTransactionForTests(aWindow: mozIDOMWindow, aCallback?: nsITextInputProcessorCallback): boolean;\n  startComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;\n  setPendingCompositionString(aString: string): void;\n  appendClauseToPendingComposition(aLength: u32, aAttribute: u32): void;\n  setCaretInPendingComposition(aOffset: u32): void;\n  flushPendingComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;\n  commitComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;\n  commitCompositionWith(aCommitString: string, aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;\n  cancelComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;\n  keydown(aKeyboardEvent: Event, aKeyFlags?: u32): u32;\n  keyup(aKeyboardEvent: Event, aKeyFlags?: u32): boolean;\n  insertTextWithKeyPress(aString: string, aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;\n  getModifierState(aModifierKey: string): boolean;\n  shareModifierStateOf(aOther: nsITextInputProcessor): void;\n  computeCodeValueOfNonPrintableKey(aKeyValue: string, aLocation?: any): string;\n  guessCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): string;\n  guessKeyCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessorCallback.idl\n\ninterface nsITextInputProcessorNotification extends nsISupports {\n  readonly type: string;\n  readonly hasRange: boolean;\n  readonly offset: u32;\n  readonly text: string;\n  readonly collapsed: boolean;\n  readonly length: u32;\n  readonly reversed: boolean;\n  readonly writingMode: string;\n  readonly causedByComposition: boolean;\n  readonly causedBySelectionEvent: boolean;\n  readonly occurredDuringComposition: boolean;\n  readonly removedLength: u32;\n  readonly addedLength: u32;\n  readonly causedOnlyByComposition: boolean;\n  readonly includingChangesDuringComposition: boolean;\n  readonly includingChangesWithoutComposition: boolean;\n}\n\ntype nsITextInputProcessorCallback = Callable<{\n  onNotify(aTextInputProcessor: nsITextInputProcessor, aNotification: nsITextInputProcessorNotification): boolean;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/bindings/nsIScriptError.idl\n\ninterface nsIScriptErrorNote extends nsISupports {\n  readonly errorMessage: string;\n  readonly sourceName: string;\n  readonly sourceId: u32;\n  readonly lineNumber: u32;\n  readonly columnNumber: u32;\n  toString(): string;\n}\n\ninterface nsIScriptError extends nsIConsoleMessage {\n  readonly errorFlag?: 0;\n  readonly warningFlag?: 1;\n  readonly infoFlag?: 8;\n\n  readonly errorMessage: string;\n  readonly sourceName: string;\n  readonly sourceId: u32;\n  readonly lineNumber: u32;\n  readonly columnNumber: u32;\n  readonly flags: u32;\n  readonly category: string;\n  readonly outerWindowID: u64;\n  readonly innerWindowID: u64;\n  readonly isFromPrivateWindow: boolean;\n  readonly isFromChromeContext: boolean;\n  readonly isPromiseRejection: boolean;\n  exception: any;\n  readonly hasException: boolean;\n  stack: any;\n  errorMessageName: string;\n  readonly notes: nsIArray;\n  cssSelectors: string;\n  init(message: string, sourceName: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, fromPrivateWindow?: boolean, fromChromeContext?: boolean): void;\n  initWithWindowID(message: string, sourceName: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;\n  initWithSanitizedSource(message: string, sourceName: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;\n  initWithSourceURI(message: string, sourceURI: nsIURI, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;\n  initSourceId(sourceId: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/events/nsIDOMEventListener.idl\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPosition.idl\n\ninterface nsIDOMGeoPosition extends nsISupports {\n  readonly timestamp: EpochTimeStamp;\n  readonly coords: nsIDOMGeoPositionCoords;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCallback.idl\n\ntype nsIDOMGeoPositionCallback = Callable<{\n  handleEvent(position: nsIDOMGeoPosition): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCoords.idl\n\ninterface nsIDOMGeoPositionCoords extends nsISupports {\n  readonly latitude: double;\n  readonly longitude: double;\n  readonly altitude: double;\n  readonly accuracy: double;\n  readonly altitudeAccuracy: double;\n  readonly heading: double;\n  readonly speed: double;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionErrorCallback.idl\n\ntype nsIDOMGeoPositionErrorCallback = Callable<{\n  handleEvent(positionError: GeolocationPositionError): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsICredentialChooserService.idl\n\ninterface nsICredentialChooserService extends nsISupports {\n  fetchImageToDataURI(window: mozIDOMWindow, uri: nsIURI): Promise<any>;\n  fetchWellKnown(uri: nsIURI, triggeringPrincipal: nsIPrincipal): Promise<any>;\n  fetchConfig(uri: nsIURI, triggeringPrincipal: nsIPrincipal): Promise<any>;\n  fetchAccounts(uri: nsIURI, triggeringPrincipal: nsIPrincipal): Promise<any>;\n  fetchToken(uri: nsIURI, body: string, triggeringPrincipal: nsIPrincipal): Promise<any>;\n  fetchDisconnect(uri: nsIURI, body: string, triggeringPrincipal: nsIPrincipal): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsICredentialChosenCallback.idl\n\ntype nsICredentialChosenCallback = Callable<{\n  notify(aChosenID: string): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialPromptService.idl\n\ninterface nsIIdentityCredentialPromptService extends nsISupports {\n  showProviderPrompt(browsingContext: BrowsingContext, identityProviders: any, identityManifests: any): Promise<any>;\n  showAccountListPrompt(browsingContext: BrowsingContext, accountList: any, identityProvider: any, identityManifest: any): Promise<any>;\n  close(browsingContext: BrowsingContext): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialStorageService.idl\n\ninterface nsIIdentityCredentialStorageService extends nsISupports {\n  setState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: boolean, allowLogout: boolean): void;\n  getState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: OutParam<boolean>, allowLogout: OutParam<boolean>): void;\n  delete(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string): void;\n  connected(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, connected: OutParam<boolean>): void;\n  disconnect(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal): void;\n  clear(): void;\n  deleteFromBaseDomain(baseDomain: string): void;\n  deleteFromPrincipal(rpPrincipal: nsIPrincipal): void;\n  deleteFromTimeRange(aFrom: PRTime, aTo: PRTime): void;\n  deleteFromOriginAttributesPattern(aPattern: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/indexedDB/nsIIDBPermissionsRequest.idl\n\ninterface nsIIDBPermissionsRequest extends nsISupports {\n  readonly browserElement: Element;\n  readonly responseObserver: nsIObserver;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/indexedDB/nsIIndexedDatabaseManager.idl\n\ninterface nsIIndexedDatabaseManager extends nsISupports {\n  doMaintenance(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/localstorage/nsILocalStorageManager.idl\n\ninterface nsILocalStorageManager extends nsISupports {\n  readonly nextGenLocalStorageEnabled: boolean;\n  preload(aPrincipal: nsIPrincipal): Promise<any>;\n  isPreloaded(aPrincipal: nsIPrincipal): Promise<any>;\n  getState(aPrincipal: nsIPrincipal): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/nsIAudioDeviceInfo.idl\n\ninterface nsIAudioDeviceInfo extends nsISupports {\n  readonly TYPE_UNKNOWN?: 0;\n  readonly TYPE_INPUT?: 1;\n  readonly TYPE_OUTPUT?: 2;\n  readonly STATE_DISABLED?: 0;\n  readonly STATE_UNPLUGGED?: 1;\n  readonly STATE_ENABLED?: 2;\n  readonly PREF_NONE?: 0;\n  readonly PREF_MULTIMEDIA?: 1;\n  readonly PREF_VOICE?: 2;\n  readonly PREF_NOTIFICATION?: 4;\n  readonly PREF_ALL?: 15;\n  readonly FMT_S16LE?: 16;\n  readonly FMT_S16BE?: 32;\n  readonly FMT_F32LE?: 4096;\n  readonly FMT_F32BE?: 8192;\n\n  readonly name: string;\n  readonly groupId: string;\n  readonly vendor: string;\n  readonly type: u16;\n  readonly state: u16;\n  readonly preferred: u16;\n  readonly supportedFormat: u16;\n  readonly defaultFormat: u16;\n  readonly maxChannels: u32;\n  readonly defaultRate: u32;\n  readonly maxRate: u32;\n  readonly minRate: u32;\n  readonly maxLatency: u32;\n  readonly minLatency: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/nsIMediaDevice.idl\n\ninterface nsIMediaDevice extends nsISupports {\n  readonly type: string;\n  readonly mediaSource: string;\n  readonly rawId: string;\n  readonly id: string;\n  readonly scary: boolean;\n  readonly canRequestOsLevelPrompt: boolean;\n  readonly rawName: string;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/nsIMediaManager.idl\n\ninterface nsIMediaManagerService extends nsISupports {\n  readonly STATE_NOCAPTURE?: 0;\n  readonly STATE_CAPTURE_ENABLED?: 1;\n  readonly STATE_CAPTURE_DISABLED?: 2;\n\n  readonly activeMediaCaptureWindows: nsIArray;\n  mediaCaptureWindowState(aWindow: nsIDOMWindow, aCamera: OutParam<u16>, aMicrophone: OutParam<u16>, aScreenShare: OutParam<u16>, aWindowShare: OutParam<u16>, aBrowserShare: OutParam<u16>, devices: OutParam<nsIMediaDevice[]>): void;\n  sanitizeDeviceIds(sinceWhen: i64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsITCPSocketCallback.idl\n\ninterface nsITCPSocketCallback extends nsISupports {\n  readonly BUFFER_SIZE?: 65536;\n\n  fireErrorEvent(name: string, type: string, errorCode: nsresult): void;\n  fireDataStringEvent(type: string, data: string): void;\n  fireDataArrayEvent(type: string, data: u8[]): void;\n  fireEvent(type: string): void;\n  updateReadyState(readystate: u32): void;\n  updateBufferedAmount(bufferedAmount: u32, trackingNumber: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsIUDPSocketChild.idl\n\ninterface nsIUDPSocketInternal extends nsISupports {\n  callListenerOpened(): void;\n  callListenerConnected(): void;\n  callListenerClosed(): void;\n  callListenerReceivedData(host: string, port: u16, data: u8[]): void;\n  callListenerError(message: string, filename: string, lineNumber: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/notification/nsINotificationStorage.idl\n\ninterface nsINotificationActionStorageEntry extends nsISupports {\n  readonly name: string;\n  readonly title: string;\n}\n\ninterface nsINotificationStorageEntry extends nsISupports {\n  readonly id: string;\n  readonly title: string;\n  readonly dir: string;\n  readonly lang: string;\n  readonly body: string;\n  readonly tag: string;\n  readonly icon: string;\n  readonly requireInteraction: boolean;\n  readonly silent: boolean;\n  readonly dataSerialized: string;\n  readonly actions: nsINotificationActionStorageEntry[];\n  readonly serviceWorkerRegistrationScope: string;\n}\n\ntype nsINotificationStorageCallback = Callable<{\n  done(aEntries: nsINotificationStorageEntry[]): void;\n}>\n\ninterface nsINotificationStorage extends nsISupports {\n  put(aOrigin: string, aEntry: nsINotificationStorageEntry, aScope: string): void;\n  get(origin: string, scope: string, tag: string, aCallback: nsINotificationStorageCallback): void;\n  getById(origin: string, id: string): Promise<any>;\n  delete(origin: string, id: string): void;\n  deleteAllExcept(ids: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/notification/nsINotificationHandler.idl\n\ninterface nsINotificationHandler extends nsISupports {\n  respondOnClick(aPrincipal: nsIPrincipal, aNotificationId: string, aActionName: string, aAutoClosed: boolean): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentActionResponse.idl\n\ninterface nsIPaymentResponseData extends nsISupports {\n  readonly GENERAL_RESPONSE?: 0;\n  readonly BASICCARD_RESPONSE?: 1;\n\n  readonly type: u32;\n  init(aType: u32): void;\n}\n\ninterface nsIGeneralResponseData extends nsIPaymentResponseData {\n  readonly data: string;\n  initData(aData: any): void;\n}\n\ninterface nsIBasicCardResponseData extends nsIPaymentResponseData {\n  readonly cardholderName: string;\n  readonly cardNumber: string;\n  readonly expiryMonth: string;\n  readonly expiryYear: string;\n  readonly cardSecurityCode: string;\n  readonly billingAddress: nsIPaymentAddress;\n  initData(aCardholderName: string, aCardNumber: string, aExpiryMonth: string, aExpiryYear: string, aCardSecurityCode: string, billingAddress: nsIPaymentAddress): void;\n}\n\ninterface nsIPaymentActionResponse extends nsISupports {\n  readonly NO_TYPE?: 0;\n  readonly CANMAKE_ACTION?: 2;\n  readonly SHOW_ACTION?: 3;\n  readonly ABORT_ACTION?: 4;\n  readonly COMPLETE_ACTION?: 5;\n  readonly ABORT_SUCCEEDED?: 1;\n  readonly ABORT_FAILED?: 0;\n  readonly PAYMENT_REJECTED?: 0;\n  readonly PAYMENT_ACCEPTED?: 1;\n  readonly PAYMENT_NOTSUPPORTED?: 2;\n  readonly COMPLETE_SUCCEEDED?: 1;\n  readonly COMPLETE_FAILED?: 0;\n\n  readonly requestId: string;\n  readonly type: u32;\n}\n\ninterface nsIPaymentCanMakeActionResponse extends nsIPaymentActionResponse {\n  readonly result: boolean;\n  init(aRequestId: string, aResult: boolean): void;\n}\n\ninterface nsIPaymentShowActionResponse extends nsIPaymentActionResponse {\n  readonly acceptStatus: u32;\n  readonly methodName: string;\n  readonly data: nsIPaymentResponseData;\n  readonly payerName: string;\n  readonly payerEmail: string;\n  readonly payerPhone: string;\n  init(aRequestId: string, aAcceptStatus: u32, aMethodName: string, aData: nsIPaymentResponseData, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;\n}\n\ninterface nsIPaymentAbortActionResponse extends nsIPaymentActionResponse {\n  readonly abortStatus: u32;\n  init(aRequestId: string, aAbortStatus: u32): void;\n  isSucceeded(): boolean;\n}\n\ninterface nsIPaymentCompleteActionResponse extends nsIPaymentActionResponse {\n  readonly completeStatus: u32;\n  init(aRequestId: string, aCompleteStatus: u32): void;\n  isCompleted(): boolean;\n}\n\ninterface nsIMethodChangeDetails extends nsISupports {\n  readonly GENERAL_DETAILS?: 0;\n  readonly BASICCARD_DETAILS?: 1;\n\n  readonly type: u32;\n  init(aType: u32): void;\n}\n\ninterface nsIGeneralChangeDetails extends nsIMethodChangeDetails {\n  readonly details: string;\n  initData(aDetails: any): void;\n}\n\ninterface nsIBasicCardChangeDetails extends nsIMethodChangeDetails {\n  readonly billingAddress: nsIPaymentAddress;\n  initData(billingAddress: nsIPaymentAddress): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentAddress.idl\n\ninterface nsIPaymentAddress extends nsISupports {\n  readonly country: string;\n  readonly addressLine: nsIArray;\n  readonly region: string;\n  readonly regionCode: string;\n  readonly city: string;\n  readonly dependentLocality: string;\n  readonly postalCode: string;\n  readonly sortingCode: string;\n  readonly organization: string;\n  readonly recipient: string;\n  readonly phone: string;\n  init(aCountry: string, aAddressLine: nsIArray, aRegion: string, aRegionCode: string, aCity: string, aDependentLocality: string, aPostalCode: string, aSortingCode: string, aOrganization: string, aRecipient: string, aPhone: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequest.idl\n\ninterface nsIPaymentMethodData extends nsISupports {\n  readonly supportedMethods: string;\n  readonly data: any;\n}\n\ninterface nsIPaymentCurrencyAmount extends nsISupports {\n  readonly currency: string;\n  readonly value: string;\n}\n\ninterface nsIPaymentItem extends nsISupports {\n  readonly label: string;\n  readonly amount: nsIPaymentCurrencyAmount;\n  readonly pending: boolean;\n}\n\ninterface nsIPaymentDetailsModifier extends nsISupports {\n  readonly supportedMethods: string;\n  readonly total: nsIPaymentItem;\n  readonly additionalDisplayItems: nsIArray;\n  readonly data: any;\n}\n\ninterface nsIPaymentShippingOption extends nsISupports {\n  readonly id: string;\n  readonly label: string;\n  readonly amount: nsIPaymentCurrencyAmount;\n  selected: boolean;\n}\n\ninterface nsIPaymentDetails extends nsISupports {\n  readonly id: string;\n  readonly totalItem: nsIPaymentItem;\n  readonly displayItems: nsIArray;\n  readonly shippingOptions: nsIArray;\n  readonly modifiers: nsIArray;\n  readonly error: string;\n  readonly shippingAddressErrors: any;\n  readonly payerErrors: any;\n  readonly paymentMethodErrors: any;\n}\n\ninterface nsIPaymentOptions extends nsISupports {\n  readonly requestPayerName: boolean;\n  readonly requestPayerEmail: boolean;\n  readonly requestPayerPhone: boolean;\n  readonly requestShipping: boolean;\n  readonly requestBillingAddress: boolean;\n  readonly shippingType: string;\n}\n\ninterface nsIPaymentRequest extends nsISupports {\n  readonly topOuterWindowId: u64;\n  readonly topLevelPrincipal: nsIPrincipal;\n  readonly requestId: string;\n  readonly completeStatus: string;\n  readonly paymentMethods: nsIArray;\n  readonly paymentDetails: nsIPaymentDetails;\n  readonly paymentOptions: nsIPaymentOptions;\n  readonly shippingOption: string;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequestService.idl\n\ninterface nsIPaymentRequestService extends nsISupports {\n  getPaymentRequestById(aRequestId: string): nsIPaymentRequest;\n  enumerate(): nsISimpleEnumerator;\n  respondPayment(aResponse: nsIPaymentActionResponse): void;\n  changeShippingAddress(requestId: string, aAddress: nsIPaymentAddress): void;\n  changeShippingOption(requestId: string, option: string): void;\n  changePayerDetail(requestId: string, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;\n  changePaymentMethod(requestId: string, aMethodName: string, aMethodDetails: nsIMethodChangeDetails): void;\n  cleanup(): void;\n  setTestingUIService(aUIService: nsIPaymentUIService): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentUIService.idl\n\ninterface nsIPaymentUIService extends nsISupports {\n  showPayment(requestId: string): void;\n  abortPayment(requestId: string): void;\n  completePayment(requestId: string): void;\n  updatePayment(requestId: string): void;\n  closePayment(requestId: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/power/nsIDOMWakeLockListener.idl\n\ntype nsIDOMMozWakeLockListener = Callable<{\n  callback(aTopic: string, aState: string): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/power/nsIPowerManagerService.idl\n\ninterface nsIPowerManagerService extends nsISupports {\n  addWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;\n  removeWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;\n  getWakeLockState(aTopic: string): string;\n  newWakeLock(aTopic: string, aWindow?: mozIDOMWindow): nsIWakeLock;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/power/nsIWakeLock.idl\n\ninterface nsIWakeLock extends nsISupports {\n  unlock(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushErrorReporter.idl\n\ninterface nsIPushErrorReporter extends nsISupports {\n  readonly ACK_DELIVERED?: 0;\n  readonly ACK_DECRYPTION_ERROR?: 1;\n  readonly ACK_NOT_DELIVERED?: 2;\n  readonly UNSUBSCRIBE_MANUAL?: 3;\n  readonly UNSUBSCRIBE_QUOTA_EXCEEDED?: 4;\n  readonly UNSUBSCRIBE_PERMISSION_REVOKED?: 5;\n  readonly DELIVERY_UNCAUGHT_EXCEPTION?: 6;\n  readonly DELIVERY_UNHANDLED_REJECTION?: 7;\n  readonly DELIVERY_INTERNAL_ERROR?: 8;\n\n  reportDeliveryError(messageId: string, reason?: u16): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushNotifier.idl\n\ninterface nsIPushNotifier extends nsISupports {\n  notifyPush(scope: string, principal: nsIPrincipal, messageId: string): void;\n  notifyPushWithData(scope: string, principal: nsIPrincipal, messageId: string, data: u8[]): void;\n  notifySubscriptionChange(scope: string, principal: nsIPrincipal, oldSubscription?: nsIPushSubscription): void;\n  notifySubscriptionModified(scope: string, principal: nsIPrincipal): void;\n  notifyError(scope: string, principal: nsIPrincipal, message: string, flags: u32): void;\n}\n\ninterface nsIPushData extends nsISupports {\n  text(): string;\n  json(): any;\n  binary(): u8[];\n}\n\ninterface nsIPushMessage extends nsISupports {\n  readonly principal: nsIPrincipal;\n  readonly data: nsIPushData;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushService.idl\n\ninterface nsIPushSubscription extends nsISupports {\n  readonly endpoint: string;\n  readonly pushCount: i64;\n  readonly lastPush: i64;\n  readonly quota: i32;\n  readonly isSystemSubscription: boolean;\n  readonly p256dhPrivateKey: any;\n  quotaApplies(): boolean;\n  isExpired(): boolean;\n  getKey(name: string): u8[];\n}\n\ntype nsIPushSubscriptionCallback = Callable<{\n  onPushSubscription(status: nsresult, subscription: nsIPushSubscription): void;\n}>\n\ntype nsIUnsubscribeResultCallback = Callable<{\n  onUnsubscribe(status: nsresult, success: boolean): void;\n}>\n\ntype nsIPushClearResultCallback = Callable<{\n  onClear(status: nsresult): void;\n}>\n\ninterface nsIPushService extends nsISupports {\n  readonly pushTopic: string;\n  readonly subscriptionChangeTopic: string;\n  readonly subscriptionModifiedTopic: string;\n  subscribe(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;\n  subscribeWithKey(scope: string, principal: nsIPrincipal, key: u8[], callback: nsIPushSubscriptionCallback): void;\n  unsubscribe(scope: string, principal: nsIPrincipal, callback: nsIUnsubscribeResultCallback): void;\n  getSubscription(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;\n  clearForDomain(domain: string, originAttributesPattern: any, callback: nsIPushClearResultCallback): void;\n  clearForPrincipal(principal: nsIPrincipal, callback: nsIPushClearResultCallback): void;\n}\n\ninterface nsIPushQuotaManager extends nsISupports {\n  notificationForOriginShown(origin: string): void;\n  notificationForOriginClosed(origin: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaArtificialFailure.idl\n\n}  // global\n\ndeclare enum nsIQuotaArtificialFailure_Category {\n  CATEGORY_NONE = 0,\n  CATEGORY_INITIALIZE_ORIGIN = 1,\n  CATEGORY_OPEN_CLIENT_DIRECTORY = 2,\n  CATEGORY_CREATE_DIRECTORY_METADATA2 = 4,\n}\n\ndeclare global {\n\nnamespace nsIQuotaArtificialFailure {\n  type Category = nsIQuotaArtificialFailure_Category;\n}\n\ninterface nsIQuotaArtificialFailure extends nsISupports, Enums<typeof nsIQuotaArtificialFailure_Category> {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaCallbacks.idl\n\ntype nsIQuotaUsageCallback = Callable<{\n  onUsageResult(aRequest: nsIQuotaUsageRequest): void;\n}>\n\ntype nsIQuotaCallback = Callable<{\n  onComplete(aRequest: nsIQuotaRequest): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaManagerService.idl\n\ninterface nsIQuotaManagerService extends nsISupports {\n  storageName(): nsIQuotaRequest;\n  storageInitialized(): nsIQuotaRequest;\n  persistentStorageInitialized(): nsIQuotaRequest;\n  temporaryStorageInitialized(): nsIQuotaRequest;\n  temporaryGroupInitialized(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  persistentOriginInitialized(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  temporaryOriginInitialized(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  init(): nsIQuotaRequest;\n  initializePersistentStorage(): nsIQuotaRequest;\n  initTemporaryStorage(): nsIQuotaRequest;\n  initializeAllTemporaryOrigins(): nsIQuotaRequest;\n  initializeTemporaryGroup(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  initializePersistentOrigin(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  initializeTemporaryOrigin(aPersistenceType: string, aPrincipal: nsIPrincipal, aCreateIfNonExistent?: boolean): nsIQuotaRequest;\n  initializePersistentClient(aPrincipal: nsIPrincipal, aClientType: string): nsIQuotaRequest;\n  initializeTemporaryClient(aPersistenceType: string, aPrincipal: nsIPrincipal, aClientType: string, aCreateIfNonExistent?: boolean): nsIQuotaRequest;\n  getFullOriginMetadata(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  getUsage(aCallback: nsIQuotaUsageCallback, aGetAll?: boolean): nsIQuotaUsageRequest;\n  getUsageForPrincipal(aPrincipal: nsIPrincipal, aCallback: nsIQuotaUsageCallback): nsIQuotaUsageRequest;\n  getCachedUsageForPrincipal(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  listOrigins(): nsIQuotaRequest;\n  listCachedOrigins(): nsIQuotaRequest;\n  clear(): nsIQuotaRequest;\n  clearStoragesForPrivateBrowsing(): nsIQuotaRequest;\n  clearStoragesForOriginAttributesPattern(aPattern: string): nsIQuotaRequest;\n  clearStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string): nsIQuotaRequest;\n  clearStoragesForClient(aPrincipal: nsIPrincipal, aClientType: string, aPersistenceType?: string): nsIQuotaRequest;\n  clearStoragesForOriginPrefix(aPrincipal: nsIPrincipal, aPersistenceType?: string): nsIQuotaRequest;\n  reset(): nsIQuotaRequest;\n  resetStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string): nsIQuotaRequest;\n  resetStoragesForClient(aPrincipal: nsIPrincipal, aClientType: string, aPersistenceType?: string): nsIQuotaRequest;\n  persisted(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  persist(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n  estimate(aPrincipal: nsIPrincipal): nsIQuotaRequest;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaManagerServiceInternal.idl\n\ninterface nsIQuotaManagerServiceInternal extends nsISupports {\n  setThumbnailPrivateIdentityId(aThumbnailPrivateIdentityId: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaRequests.idl\n\ninterface nsIQuotaRequestBase extends nsISupports {\n  readonly principal: nsIPrincipal;\n  readonly resultCode: nsresult;\n  readonly resultName: string;\n}\n\ninterface nsIQuotaUsageRequest extends nsIQuotaRequestBase {\n  readonly result: nsIVariant;\n  callback: nsIQuotaUsageCallback;\n  cancel(): void;\n}\n\ninterface nsIQuotaRequest extends nsIQuotaRequestBase {\n  readonly result: nsIVariant;\n  callback: nsIQuotaCallback;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaResults.idl\n\ninterface nsIQuotaFullOriginMetadataResult extends nsISupports {\n  readonly suffix: string;\n  readonly group: string;\n  readonly origin: string;\n  readonly storageOrigin: string;\n  readonly persistenceType: string;\n  readonly persisted: boolean;\n  readonly lastAccessTime: i64;\n}\n\ninterface nsIQuotaUsageResult extends nsISupports {\n  readonly origin: string;\n  readonly persisted: boolean;\n  readonly usage: u64;\n  readonly lastAccessed: u64;\n}\n\ninterface nsIQuotaOriginUsageResult extends nsISupports {\n  readonly databaseUsage: u64;\n  readonly fileUsage: u64;\n  readonly usage: u64;\n  readonly databaseUsageIsExplicit: boolean;\n  readonly fileUsageIsExplicit: boolean;\n  readonly totalUsageIsExplicit: boolean;\n}\n\ninterface nsIQuotaEstimateResult extends nsISupports {\n  readonly usage: u64;\n  readonly limit: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaUtilsService.idl\n\ninterface nsIQuotaUtilsService extends nsISupports {\n  getPrivateIdentityId(aName: string): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityManager.idl\n\ninterface nsIContentSecurityManager extends nsISupports {\n  performSecurityCheck(aChannel: nsIChannel, aStreamListener: nsIStreamListener): nsIStreamListener;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityPolicy.idl\n\n}  // global\n\ndeclare enum nsIContentSecurityPolicy_CSPDirective {\n  NO_DIRECTIVE = 0,\n  DEFAULT_SRC_DIRECTIVE = 1,\n  SCRIPT_SRC_DIRECTIVE = 2,\n  OBJECT_SRC_DIRECTIVE = 3,\n  STYLE_SRC_DIRECTIVE = 4,\n  IMG_SRC_DIRECTIVE = 5,\n  MEDIA_SRC_DIRECTIVE = 6,\n  FRAME_SRC_DIRECTIVE = 7,\n  FONT_SRC_DIRECTIVE = 8,\n  CONNECT_SRC_DIRECTIVE = 9,\n  REPORT_URI_DIRECTIVE = 10,\n  FRAME_ANCESTORS_DIRECTIVE = 11,\n  REFLECTED_XSS_DIRECTIVE = 12,\n  BASE_URI_DIRECTIVE = 13,\n  FORM_ACTION_DIRECTIVE = 14,\n  WEB_MANIFEST_SRC_DIRECTIVE = 15,\n  UPGRADE_IF_INSECURE_DIRECTIVE = 16,\n  CHILD_SRC_DIRECTIVE = 17,\n  BLOCK_ALL_MIXED_CONTENT = 18,\n  SANDBOX_DIRECTIVE = 19,\n  WORKER_SRC_DIRECTIVE = 20,\n  SCRIPT_SRC_ELEM_DIRECTIVE = 21,\n  SCRIPT_SRC_ATTR_DIRECTIVE = 22,\n  STYLE_SRC_ELEM_DIRECTIVE = 23,\n  STYLE_SRC_ATTR_DIRECTIVE = 24,\n  REQUIRE_TRUSTED_TYPES_FOR_DIRECTIVE = 25,\n  TRUSTED_TYPES_DIRECTIVE = 26,\n  REPORT_TO_DIRECTIVE = 27,\n}\n\ndeclare enum nsIContentSecurityPolicy_RequireTrustedTypesForDirectiveState {\n  NONE = 0,\n  REPORT_ONLY = 1,\n  ENFORCE = 2,\n}\n\ndeclare global {\n\nnamespace nsIContentSecurityPolicy {\n  type CSPDirective = nsIContentSecurityPolicy_CSPDirective;\n  type RequireTrustedTypesForDirectiveState = nsIContentSecurityPolicy_RequireTrustedTypesForDirectiveState;\n}\n\ninterface nsIContentSecurityPolicy extends nsISerializable, Enums<typeof nsIContentSecurityPolicy_CSPDirective & typeof nsIContentSecurityPolicy_RequireTrustedTypesForDirectiveState> {\n  readonly VIOLATION_TYPE_EVAL?: 1;\n  readonly VIOLATION_TYPE_WASM_EVAL?: 2;\n\n  getPolicy(index: u32): string;\n  readonly policyCount: u32;\n  readonly upgradeInsecureRequests: boolean;\n  readonly blockAllMixedContent: boolean;\n  readonly enforcesFrameAncestors: boolean;\n  appendPolicy(policyString: string, reportOnly: boolean, deliveredViaMetaTag: boolean): void;\n  readonly requireTrustedTypesForDirectiveState: nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState;\n  getAllowsInline(aDirective: nsIContentSecurityPolicy.CSPDirective, aHasUnsafeHash: boolean, aNonce: string, aParserCreated: boolean, aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aContentOfPseudoScript: string, aLineNumber: u32, aColumnNumber: u32): boolean;\n  getAllowsEval(shouldReportViolations: OutParam<boolean>): boolean;\n  getAllowsWasmEval(shouldReportViolations: OutParam<boolean>): boolean;\n  getCSPSandboxFlags(): u32;\n  logViolationDetails(violationType: u16, triggeringElement: Element, aCSPEventListener: nsICSPEventListener, sourceFile: string, scriptSample: string, lineNum: i32, columnNum: i32, nonce?: string, content?: string): void;\n  setRequestContextWithDocument(aDocument: Document): void;\n  setRequestContextWithPrincipal(aRequestPrincipal: nsIPrincipal, aSelfURI: nsIURI, aReferrer: string, aInnerWindowId: u64): void;\n  permitsAncestry(aLoadInfo: nsILoadInfo): boolean;\n  permits(aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aURI: nsIURI, aDir: nsIContentSecurityPolicy.CSPDirective, aSpecific: boolean, aSendViolationReports: boolean): boolean;\n  shouldLoad(aContentType: nsContentPolicyType, aCSPEventListener: nsICSPEventListener, aLoadInfo: nsILoadInfo, aContentLocation: nsIURI, aOriginalURIIfRedirect: nsIURI, aSendViolationReports: boolean): i16;\n  toJSON(): string;\n}\n\ntype nsICSPEventListener = Callable<{\n  onCSPViolationEvent(aJSON: string): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIIntegrityPolicy.idl\n\ninterface nsIIntegrityPolicy extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIReferrerInfo.idl\n\n}  // global\n\ndeclare enum nsIReferrerInfo_ReferrerPolicyIDL {\n  EMPTY = 0,\n  NO_REFERRER_WHEN_DOWNGRADE = 1,\n  NO_REFERRER = 2,\n  ORIGIN = 3,\n  ORIGIN_WHEN_CROSS_ORIGIN = 4,\n  UNSAFE_URL = 5,\n  SAME_ORIGIN = 6,\n  STRICT_ORIGIN = 7,\n  STRICT_ORIGIN_WHEN_CROSS_ORIGIN = 8,\n}\n\ndeclare global {\n\nnamespace nsIReferrerInfo {\n  type ReferrerPolicyIDL = nsIReferrerInfo_ReferrerPolicyIDL;\n}\n\ninterface nsIReferrerInfo extends nsISerializable, Enums<typeof nsIReferrerInfo_ReferrerPolicyIDL> {\n  readonly originalReferrer: nsIURI;\n  readonly referrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL;\n  getReferrerPolicyString(): string;\n  readonly sendReferrer: boolean;\n  readonly computedReferrerSpec: string;\n  equals(other: nsIReferrerInfo): boolean;\n  init(aReferrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer?: boolean, aOriginalReferrer?: nsIURI): void;\n  initWithDocument(aDocument: Document): void;\n  initWithElement(aNode: Element): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/security/nsIHttpsOnlyModePermission.idl\n\ninterface nsIHttpsOnlyModePermission extends nsISupports {\n  readonly LOAD_INSECURE_DEFAULT?: 0;\n  readonly LOAD_INSECURE_ALLOW?: 1;\n  readonly LOAD_INSECURE_BLOCK?: 2;\n  readonly LOAD_INSECURE_ALLOW_SESSION?: 9;\n  readonly HTTPSFIRST_LOAD_INSECURE_ALLOW?: 10;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/serializers/nsIDocumentEncoder.idl\n\ninterface nsIDocumentEncoderNodeFixup extends nsISupports {\n  fixupNode(aNode: Node, aSerializeCloneKids: OutParam<boolean>): Node;\n}\n\ninterface nsIDocumentEncoder extends nsISupports {\n  readonly OutputSelectionOnly?: 1;\n  readonly OutputFormatted?: 2;\n  readonly OutputRaw?: 4;\n  readonly OutputBodyOnly?: 8;\n  readonly OutputPreformatted?: 16;\n  readonly OutputWrap?: 32;\n  readonly OutputFormatFlowed?: 64;\n  readonly OutputAbsoluteLinks?: 128;\n  readonly OutputCRLineBreak?: 512;\n  readonly OutputLFLineBreak?: 1024;\n  readonly OutputNoScriptContent?: 2048;\n  readonly OutputNoFramesContent?: 4096;\n  readonly OutputNoFormattingInPre?: 8192;\n  readonly OutputEncodeBasicEntities?: 16384;\n  readonly OutputPersistNBSP?: 131072;\n  readonly OutputDontRewriteEncodingDeclaration?: 262144;\n  readonly SkipInvisibleContent?: 524288;\n  readonly OutputFormatDelSp?: 1048576;\n  readonly OutputDropInvisibleBreak?: 2097152;\n  readonly OutputIgnoreMozDirty?: 4194304;\n  readonly OutputForPlainTextClipboardCopy?: 33554432;\n  readonly OutputRubyAnnotation?: 67108864;\n  readonly OutputDisallowLineBreaking?: 134217728;\n  readonly RequiresReinitAfterOutput?: 268435456;\n  readonly AllowCrossShadowBoundary?: 536870912;\n  readonly MimicChromeToStringBehaviour?: 1073741824;\n\n  init(aDocument: Document, aMimeType: string, aFlags: u32): void;\n  setSelection(aSelection: Selection): void;\n  setRange(aRange: Range): void;\n  setNode(aNode: Node): void;\n  setContainerNode(aContainer: Node): void;\n  setCharset(aCharset: string): void;\n  setWrapColumn(aWrapColumn: u32): void;\n  readonly mimeType: string;\n  encodeToStream(aStream: nsIOutputStream): void;\n  encodeToString(): string;\n  encodeToStringWithContext(aContextString: OutParam<string>, aInfoString: OutParam<string>): string;\n  encodeToStringWithMaxLength(aMaxLength: u32): string;\n  setNodeFixup(aFixup: nsIDocumentEncoderNodeFixup): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/sidebar/nsIWebProtocolHandlerRegistrar.idl\n\ninterface nsIWebProtocolHandlerRegistrar extends nsISupports {\n  registerProtocolHandler(protocol: string, uri: nsIURI, title: string, documentURI: nsIURI, windowOrBrowser: nsISupports): void;\n  removeProtocolHandler(protocol: string, uri: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBCallbacks.idl\n\ntype nsISDBCallback = Callable<{\n  onComplete(aRequest: nsISDBRequest): void;\n}>\n\ntype nsISDBCloseCallback = Callable<{\n  onClose(aConnection: nsISDBConnection): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBConnection.idl\n\ninterface nsISDBConnection extends nsISupports {\n  init(aPrincipal: nsIPrincipal, aPersistenceType?: string): void;\n  open(aName: string): nsISDBRequest;\n  seek(offset: u64): nsISDBRequest;\n  read(size: u64): nsISDBRequest;\n  write(value: any): nsISDBRequest;\n  close(): nsISDBRequest;\n  closeCallback: nsISDBCloseCallback;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBRequest.idl\n\ninterface nsISDBRequest extends nsISupports {\n  readonly result: nsIVariant;\n  readonly resultCode: nsresult;\n  readonly resultName: string;\n  callback: nsISDBCallback;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBResults.idl\n\ninterface nsISDBResult extends nsISupports {\n  getAsArray(): u8[];\n  getAsArrayBuffer(): any;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIDOMStorageManager.idl\n\ninterface nsIDOMStorageManager extends nsISupports {\n  precacheStorage(aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal): Storage;\n  createStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aDocumentURI: string, aPrivate?: boolean): Storage;\n  getStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aPrivate?: boolean): Storage;\n  cloneStorage(aStorageToCloneFrom: Storage): void;\n  checkStorage(aPrincipal: nsIPrincipal, aStorage: Storage): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIStorageActivityService.idl\n\ninterface nsIStorageActivityService extends nsISupports {\n  getActiveOrigins(from: PRTime, to: PRTime): nsIArray;\n  moveOriginInTime(origin: nsIPrincipal, when: PRTime): void;\n  testOnlyReset(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/storage/nsISessionStorageService.idl\n\ninterface nsISessionStorageService extends nsISupports {\n  clearStoragesForOrigin(aPrincipal: nsIPrincipal): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/system/nsIOSPermissionRequest.idl\n\ninterface nsIOSPermissionRequest extends nsISupports {\n  readonly PERMISSION_STATE_NOTDETERMINED?: 0;\n  readonly PERMISSION_STATE_RESTRICTED?: 1;\n  readonly PERMISSION_STATE_DENIED?: 2;\n  readonly PERMISSION_STATE_AUTHORIZED?: 3;\n\n  getMediaCapturePermissionState(aVideo: OutParam<u16>, aAudio: OutParam<u16>): void;\n  getAudioCapturePermissionState(aAudio: OutParam<u16>): void;\n  getVideoCapturePermissionState(aVideo: OutParam<u16>): void;\n  getScreenCapturePermissionState(aScreen: OutParam<u16>): void;\n  requestVideoCapturePermission(): Promise<any>;\n  requestAudioCapturePermission(): Promise<any>;\n  maybeRequestScreenCapturePermission(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnArgs.idl\n\n// https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnAttObj.idl\n\n// https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnPromise.idl\n\n// https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnResult.idl\n\n// https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnService.idl\n\ninterface nsICredentialParameters extends nsISupports {\n  readonly credentialId: string;\n  readonly isResidentCredential: boolean;\n  readonly rpId: string;\n  readonly privateKey: string;\n  readonly userHandle: string;\n  readonly signCount: u32;\n}\n\ninterface nsIWebAuthnAutoFillEntry extends nsISupports {\n  readonly PROVIDER_UNKNOWN?: 0;\n  readonly PROVIDER_TEST_TOKEN?: 1;\n  readonly PROVIDER_PLATFORM_WINDOWS?: 2;\n  readonly PROVIDER_PLATFORM_MACOS?: 3;\n  readonly PROVIDER_PLATFORM_ANDROID?: 4;\n\n  readonly provider: u8;\n  readonly userName: string;\n  readonly rpId: string;\n  readonly credentialId: u8[];\n}\n\ninterface nsIWebAuthnService extends nsISupports {\n  readonly isUVPAA: boolean;\n  cancel(aTransactionId: u64): void;\n  hasPendingConditionalGet(aBrowsingContextId: u64, aOrigin: string): u64;\n  getAutoFillEntries(aTransactionId: u64): nsIWebAuthnAutoFillEntry[];\n  selectAutoFillEntry(aTransactionId: u64, aCredentialId: u8[]): void;\n  resumeConditionalGet(aTransactionId: u64): void;\n  pinCallback(aTransactionId: u64, aPin: string): void;\n  setHasAttestationConsent(aTransactionId: u64, aHasConsent: boolean): void;\n  selectionCallback(aTransactionId: u64, aIndex: u64): void;\n  addVirtualAuthenticator(protocol: string, transport: string, hasResidentKey: boolean, hasUserVerification: boolean, isUserConsenting: boolean, isUserVerified: boolean): string;\n  removeVirtualAuthenticator(authenticatorId: string): void;\n  addCredential(authenticatorId: string, credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle: string, signCount: u32): void;\n  getCredentials(authenticatorId: string): nsICredentialParameters[];\n  removeCredential(authenticatorId: string, credentialId: string): void;\n  removeAllCredentials(authenticatorId: string): void;\n  setUserVerified(authenticatorId: string, isUserVerified: boolean): void;\n  listen(): void;\n  runCommand(aCommand: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/webspeech/recognition/nsISpeechRecognitionService.idl\n\n// https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISpeechService.idl\n\ninterface nsISpeechTaskCallback extends nsISupports {\n  onPause(): void;\n  onResume(): void;\n  onCancel(): void;\n  onVolumeChanged(aVolume: float): void;\n}\n\ninterface nsISpeechTask extends nsISupports {\n  setup(aCallback: nsISpeechTaskCallback): void;\n  dispatchStart(): void;\n  dispatchEnd(aElapsedTime: float, aCharIndex: u32): void;\n  dispatchPause(aElapsedTime: float, aCharIndex: u32): void;\n  dispatchResume(aElapsedTime: float, aCharIndex: u32): void;\n  dispatchError(aElapsedTime: float, aCharIndex: u32): void;\n  dispatchBoundary(aName: string, aElapsedTime: float, aCharIndex: u32, aCharLength?: u32): void;\n  dispatchMark(aName: string, aElapsedTime: float, aCharIndex: u32): void;\n}\n\ninterface nsISpeechService extends nsISupports {\n  speak(aText: string, aUri: string, aVolume: float, aRate: float, aPitch: float, aTask: nsISpeechTask): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISynthVoiceRegistry.idl\n\ninterface nsISynthVoiceRegistry extends nsISupports {\n  addVoice(aService: nsISpeechService, aUri: string, aName: string, aLang: string, aLocalService: boolean, aQueuesUtterances: boolean): void;\n  removeVoice(aService: nsISpeechService, aUri: string): void;\n  notifyVoicesChanged(): void;\n  notifyVoicesError(aError: string): void;\n  setDefaultVoice(aUri: string, aIsDefault: boolean): void;\n  readonly voiceCount: u32;\n  getVoice(aIndex: u32): string;\n  isDefaultVoice(aUri: string): boolean;\n  isLocalVoice(aUri: string): boolean;\n  getVoiceLang(aUri: string): string;\n  getVoiceName(aUri: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerChannelInfo.idl\n\ninterface nsIWorkerChannelLoadInfo extends nsISupports {\n  workerAssociatedBrowsingContextID: u64;\n  readonly workerAssociatedBrowsingContext: BrowsingContext;\n}\n\ninterface nsIWorkerChannelInfo extends nsISupports {\n  loadInfo: nsIWorkerChannelLoadInfo;\n  readonly channelId: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebugger.idl\n\ninterface nsIWorkerDebuggerListener extends nsISupports {\n  onClose(): void;\n  onError(filename: string, lineno: u32, message: string): void;\n  onMessage(message: string): void;\n}\n\ninterface nsIWorkerDebugger extends nsISupports {\n  readonly TYPE_DEDICATED?: 0;\n  readonly TYPE_SHARED?: 1;\n  readonly TYPE_SERVICE?: 2;\n\n  readonly isClosed: boolean;\n  readonly isChrome: boolean;\n  readonly isRemote: boolean;\n  readonly isInitialized: boolean;\n  readonly parent: nsIWorkerDebugger;\n  readonly type: u32;\n  readonly url: string;\n  readonly window: mozIDOMWindow;\n  readonly windowIDs: u64[];\n  readonly principal: nsIPrincipal;\n  readonly serviceWorkerID: u32;\n  readonly id: string;\n  readonly name: string;\n  initialize(url: string): void;\n  postMessage(message: string): void;\n  addListener(listener: nsIWorkerDebuggerListener): void;\n  removeListener(listener: nsIWorkerDebuggerListener): void;\n  setDebuggerReady(ready: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebuggerManager.idl\n\ninterface nsIWorkerDebuggerManagerListener extends nsISupports {\n  onRegister(aDebugger: nsIWorkerDebugger): void;\n  onUnregister(aDebugger: nsIWorkerDebugger): void;\n}\n\ninterface nsIWorkerDebuggerManager extends nsISupports {\n  getWorkerDebuggerEnumerator(): nsISimpleEnumerator;\n  addListener(listener: nsIWorkerDebuggerManagerListener): void;\n  removeListener(listener: nsIWorkerDebuggerManagerListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/xslt/xslt/txIEXSLTFunctions.idl\n\ninterface txIEXSLTFunctions extends nsISupports {\n  match(str: string, regex: string, flags: string, doc: Document): DocumentFragment;\n  replace(str: string, regex: string, flags: string, replace: string): string;\n  test(str: string, regex: string, flags: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULButtonElement.idl\n\ninterface nsIDOMXULButtonElement extends nsIDOMXULControlElement {\n  type: string;\n  open: boolean;\n  checked: boolean;\n  group: string;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl\n\ninterface nsIDOMXULCommandDispatcher extends nsISupports {\n  focusedElement: Element;\n  focusedWindow: mozIDOMWindowProxy;\n  addCommandUpdater(updater: Element, events: string, targets: string): void;\n  removeCommandUpdater(updater: Element): void;\n  updateCommands(eventName: string): void;\n  getControllerForCommand(command: string): nsIController;\n  getControllers(): nsIControllers;\n  advanceFocus(): void;\n  rewindFocus(): void;\n  advanceFocusIntoSubtree(elt: Element): void;\n  lock(): void;\n  unlock(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULContainerElement.idl\n\ninterface nsIDOMXULContainerItemElement extends nsISupports {\n  readonly parentContainer: Element;\n}\n\ninterface nsIDOMXULContainerElement extends nsIDOMXULContainerItemElement {\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULControlElement.idl\n\ninterface nsIDOMXULControlElement extends nsISupports {\n  disabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMenuListElement.idl\n\ninterface nsIDOMXULMenuListElement extends nsIDOMXULSelectControlElement {\n  editable: boolean;\n  open: boolean;\n  readonly label: string;\n  image: string;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl\n\ninterface nsIDOMXULMultiSelectControlElement extends nsIDOMXULSelectControlElement {\n  selType: string;\n  currentItem: Element;\n  currentIndex: i32;\n  readonly selectedItems: NodeList;\n  addItemToSelection(item: nsIDOMXULSelectControlItemElement): void;\n  removeItemFromSelection(item: nsIDOMXULSelectControlItemElement): void;\n  toggleItemSelection(item: nsIDOMXULSelectControlItemElement): void;\n  selectItem(item: nsIDOMXULSelectControlItemElement): void;\n  selectItemRange(startItem: nsIDOMXULSelectControlItemElement, item: nsIDOMXULSelectControlItemElement): void;\n  selectAll(): void;\n  clearSelection(): void;\n  readonly selectedCount: i32;\n  getSelectedItem(index: i32): Element;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl\n\ninterface nsIDOMXULRadioGroupElement extends nsISupports {\n  focusedItem: Element;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRelatedElement.idl\n\ninterface nsIDOMXULRelatedElement extends nsISupports {\n  getRelatedElement(aElement: Node): Element;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl\n\ninterface nsIDOMXULSelectControlElement extends nsIDOMXULControlElement {\n  selectedItem: Element;\n  selectedIndex: i32;\n  value: string;\n  readonly itemCount: u32;\n  getIndexOfItem(item: nsIDOMXULSelectControlItemElement): i32;\n  getItemAtIndex(index: i32): Element;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl\n\ninterface nsIDOMXULSelectControlItemElement extends nsISupports {\n  disabled: boolean;\n  image: string;\n  label: string;\n  accessKey: string;\n  command: string;\n  value: string;\n  readonly selected: boolean;\n  readonly control: Element;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/downloads/mozIDownloadPlatform.idl\n\ninterface mozIDownloadPlatform extends nsISupports {\n  readonly ZONE_MY_COMPUTER?: 0;\n  readonly ZONE_INTRANET?: 1;\n  readonly ZONE_TRUSTED?: 2;\n  readonly ZONE_INTERNET?: 3;\n  readonly ZONE_RESTRICTED?: 4;\n\n  downloadDone(aSource: nsIURI, aReferrer: nsIURI, aTarget: nsIFile, aContentType: string, aIsPrivate: boolean): Promise<any>;\n  mapUrlToZone(aURL: string): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIDocumentStateListener.idl\n\ninterface nsIDocumentStateListener extends nsISupports {\n  NotifyDocumentWillBeDestroyed(): void;\n  NotifyDocumentStateChanged(aNowDirty: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIEditActionListener.idl\n\ninterface nsIEditActionListener extends nsISupports {\n  DidDeleteNode(aChild: Node, aResult: nsresult): void;\n  DidInsertText(aTextNode: CharacterData, aOffset: i32, aString: string, aResult: nsresult): void;\n  WillDeleteText(aTextNode: CharacterData, aOffset: i32, aLength: i32): void;\n  WillDeleteRanges(aRangesToDelete: Range[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIEditor.idl\n\ninterface nsIEditor extends nsISupports {\n  readonly eNone?: 0;\n  readonly eNext?: 1;\n  readonly ePrevious?: 2;\n  readonly eNextWord?: 3;\n  readonly ePreviousWord?: 4;\n  readonly eToBeginningOfLine?: 5;\n  readonly eToEndOfLine?: 6;\n  readonly eStrip?: 0;\n  readonly eNoStrip?: 1;\n  readonly eEditorPlaintextMask?: 1;\n  readonly eEditorSingleLineMask?: 2;\n  readonly eEditorPasswordMask?: 4;\n  readonly eEditorReadonlyMask?: 8;\n  readonly eEditorMailMask?: 32;\n  readonly eEditorEnableWrapHackMask?: 64;\n  readonly eEditorAllowInteraction?: 512;\n  readonly eEditorRightToLeft?: 2048;\n  readonly eEditorLeftToRight?: 4096;\n  readonly eEditorSkipSpellCheck?: 8192;\n  readonly eNewlinesPasteIntact?: 0;\n  readonly eNewlinesPasteToFirst?: 1;\n  readonly eNewlinesReplaceWithSpaces?: 2;\n  readonly eNewlinesStrip?: 3;\n  readonly eNewlinesReplaceWithCommas?: 4;\n  readonly eNewlinesStripSurroundingWhitespace?: 5;\n\n  readonly selection: Selection;\n  setAttributeOrEquivalent(element: Element, sourceAttrName: string, sourceAttrValue: string, aSuppressTransaction: boolean): void;\n  removeAttributeOrEquivalent(element: Element, sourceAttrName: string, aSuppressTransaction: boolean): void;\n  flags: u32;\n  contentsMIMEType: string;\n  readonly isDocumentEditable: boolean;\n  readonly isSelectionEditable: boolean;\n  readonly document: Document;\n  readonly rootElement: Element;\n  readonly selectionController: nsISelectionController;\n  deleteSelection(action: i16, stripWrappers: i16): void;\n  readonly documentIsEmpty: boolean;\n  readonly documentModified: boolean;\n  documentCharacterSet: string;\n  resetModificationCount(): void;\n  getModificationCount(): i32;\n  incrementModificationCount(aModCount: i32): void;\n  enableUndo(enable: boolean): void;\n  readonly undoRedoEnabled: boolean;\n  readonly canUndo: boolean;\n  readonly canRedo: boolean;\n  clearUndoRedo(): void;\n  undo(): void;\n  undoAll(): void;\n  redo(): void;\n  beginTransaction(): void;\n  endTransaction(): void;\n  getInlineSpellChecker(autoCreate: boolean): nsIInlineSpellChecker;\n  setSpellcheckUserOverride(enable: boolean): void;\n  cut(): void;\n  canCut(): boolean;\n  copy(): void;\n  canCopy(): boolean;\n  paste(aClipboardType: nsIClipboard.ClipboardType): void;\n  pasteTransferable(aTransferable: nsITransferable): void;\n  canPaste(aClipboardType: nsIClipboard.ClipboardType): boolean;\n  selectAll(): void;\n  beginningOfDocument(): void;\n  endOfDocument(): void;\n  setAttribute(aElement: Element, attributestr: string, attvalue: string): void;\n  removeAttribute(aElement: Element, aAttribute: string): void;\n  cloneAttributes(aDestElement: Element, aSourceElement: Element): void;\n  insertNode(node: Node, parent: Node, aPosition: u32, aPreserveSelection?: boolean): void;\n  deleteNode(child: Node, aPreserveSelection?: boolean): void;\n  outputToString(formatType: string, flags: u32): string;\n  addEditActionListener(listener: nsIEditActionListener): void;\n  removeEditActionListener(listener: nsIEditActionListener): void;\n  addDocumentStateListener(listener: nsIDocumentStateListener): void;\n  removeDocumentStateListener(listener: nsIDocumentStateListener): void;\n  forceCompositionEnd(): void;\n  readonly composing: boolean;\n  unmask(aStart?: u32, aEnd?: i64, aTimeout?: u32): void;\n  mask(): void;\n  readonly unmaskedStart: u32;\n  readonly unmaskedEnd: u32;\n  readonly autoMaskingEnabled: boolean;\n  readonly passwordMask: string;\n  readonly textLength: u32;\n  newlineHandling: i32;\n  insertText(aStringToInsert: string): void;\n  insertLineBreak(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIEditorMailSupport.idl\n\ninterface nsIEditorMailSupport extends nsISupports {\n  insertAsCitedQuotation(aQuotedText: string, aCitation: string, aInsertHTML: boolean): Node;\n  rewrap(aRespectNewlines: boolean): void;\n  insertTextWithQuotations(aStringToInsert: string): void;\n  wrapWidth: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIEditorSpellCheck.idl\n\ninterface nsIEditorSpellCheck extends nsISupports {\n  readonly FILTERTYPE_NORMAL?: 1;\n  readonly FILTERTYPE_MAIL?: 2;\n\n  canSpellCheck(): boolean;\n  InitSpellChecker(editor: nsIEditor, enableSelectionChecking: boolean, callback?: nsIEditorSpellCheckCallback): void;\n  GetNextMisspelledWord(): string;\n  GetSuggestedWord(): string;\n  CheckCurrentWord(suggestedWord: string): boolean;\n  suggest(aCheckingWorkd: string, aMaxCount: u32): Promise<any>;\n  ReplaceWord(misspelledWord: string, replaceWord: string, allOccurrences: boolean): void;\n  IgnoreWordAllOccurrences(word: string): void;\n  AddWordToDictionary(word: string): void;\n  RemoveWordFromDictionary(word: string): void;\n  GetDictionaryList(): string[];\n  getCurrentDictionaries(): string[];\n  setCurrentDictionaries(dictionaries: string[]): Promise<any>;\n  UninitSpellChecker(): void;\n  setFilterType(filterType: u32): void;\n  UpdateCurrentDictionary(callback?: nsIEditorSpellCheckCallback): void;\n}\n\ntype nsIEditorSpellCheckCallback = Callable<{\n  editorSpellCheckDone(): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/editor/nsIHTMLAbsPosEditor.idl\n\ninterface nsIHTMLAbsPosEditor extends nsISupports {\n  absolutePositioningEnabled: boolean;\n  readonly isAbsolutePositioningActive: boolean;\n  snapToGridEnabled: boolean;\n  gridSize: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIHTMLEditor.idl\n\ninterface nsIHTMLEditor extends nsISupports {\n  readonly eLeft?: 0;\n  readonly eCenter?: 1;\n  readonly eRight?: 2;\n  readonly eJustify?: 3;\n\n  setInlineProperty(aProperty: string, aAttribute: string, aValue: string): void;\n  getInlinePropertyWithAttrValue(aProperty: string, aAttribute: string, aValue: string, aFirst: OutParam<boolean>, aAny: OutParam<boolean>, aAll: OutParam<boolean>): string;\n  removeInlineProperty(aProperty: string, aAttribute: string): void;\n  nodeIsBlock(aNode: Node): boolean;\n  insertHTML(aInputString: string): void;\n  rebuildDocumentFromSource(aSourceString: string): void;\n  insertElementAtSelection(aElement: Element, aDeleteSelection: boolean): void;\n  updateBaseURL(): void;\n  selectElement(aElement: Element): void;\n  getParagraphState(aMixed: OutParam<boolean>): string;\n  getFontFaceState(aMixed: OutParam<boolean>): string;\n  getHighlightColorState(aMixed: OutParam<boolean>): string;\n  getListState(aMixed: OutParam<boolean>, aOL: OutParam<boolean>, aUL: OutParam<boolean>, aDL: OutParam<boolean>): void;\n  getListItemState(aMixed: OutParam<boolean>, aLI: OutParam<boolean>, aDT: OutParam<boolean>, aDD: OutParam<boolean>): void;\n  getAlignment(aMixed: OutParam<boolean>, aAlign: OutParam<i16>): void;\n  makeOrChangeList(aListType: string, entireList: boolean, aBulletType: string): void;\n  removeList(aListType: string): void;\n  getElementOrParentByTagName(aTagName: string, aNode: Node): Element;\n  getSelectedElement(aTagName: string): nsISupports;\n  createElementWithDefaults(aTagName: string): Element;\n  insertLinkAroundSelection(aAnchorElement: Element): void;\n  setBackgroundColor(aColor: string): void;\n  isCSSEnabled: boolean;\n  checkSelectionStateForAnonymousButtons(): void;\n  isAnonymousElement(aElement: Element): boolean;\n  returnInParagraphCreatesNewParagraph: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIHTMLInlineTableEditor.idl\n\ninterface nsIHTMLInlineTableEditor extends nsISupports {\n  inlineTableEditingEnabled: boolean;\n  readonly isInlineTableEditingActive: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsIHTMLObjectResizer.idl\n\ninterface nsIHTMLObjectResizer extends nsISupports {\n  readonly eTopLeft?: 0;\n  readonly eTop?: 1;\n  readonly eTopRight?: 2;\n  readonly eLeft?: 3;\n  readonly eRight?: 4;\n  readonly eBottomLeft?: 5;\n  readonly eBottom?: 6;\n  readonly eBottomRight?: 7;\n\n  objectResizingEnabled: boolean;\n  readonly isObjectResizingActive: boolean;\n  hideResizers(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/nsITableEditor.idl\n\ninterface nsITableEditor extends nsISupports {\n  readonly eNoSearch?: 0;\n  readonly ePreviousColumn?: 1;\n  readonly ePreviousRow?: 2;\n\n  insertTableCell(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;\n  insertTableColumn(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;\n  insertTableRow(aNumberOfRowsToInsert: i32, aInsertAfterSelectedCell: boolean): void;\n  deleteTable(): void;\n  deleteTableCellContents(): void;\n  deleteTableCell(aNumberOfCellsToDelete: i32): void;\n  deleteTableColumn(aNumberOfColumnsToDelete: i32): void;\n  deleteTableRow(aNumberOfRowsToDelete: i32): void;\n  selectTableCell(): void;\n  selectTableRow(): void;\n  selectTableColumn(): void;\n  selectTable(): void;\n  selectAllTableCells(): void;\n  switchTableCellHeaderType(aSourceCell: Element): Element;\n  joinTableCells(aMergeNonContiguousContents: boolean): void;\n  splitTableCell(): void;\n  normalizeTable(aTable: Element): void;\n  getCellIndexes(aCellElement: Element, aRowIndex: OutParam<i32>, aColumnIndex: OutParam<i32>): void;\n  getTableSize(aTableOrElementInTable: Element, aRowCount: OutParam<i32>, aColCount: OutParam<i32>): void;\n  getCellAt(aTableElement: Element, aRowIndex: i32, aColumnIndex: i32): Element;\n  getCellDataAt(aTableElement: Element, aRowIndex: i32, aColumnIndex: i32, aCellElement: OutParam<Element>, aStartRowIndex: OutParam<i32>, aStartColumnIndex: OutParam<i32>, aRowSpan: OutParam<i32>, aColSpan: OutParam<i32>, aEffectiveRowSpan: OutParam<i32>, aEffectiveColSpan: OutParam<i32>, aIsSelected: OutParam<boolean>): void;\n  getFirstRow(aTableElement: Element): Element;\n  getSelectedOrParentTableElement(aTagName: OutParam<string>, aCount: OutParam<i32>): Element;\n  getSelectedCellsType(aElement: Element): u32;\n  getFirstSelectedCellInTable(aRowIndex: OutParam<i32>, aColIndex: OutParam<i32>): Element;\n  getSelectedCells(): Element[];\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl\n\ninterface nsIEnterprisePolicies extends nsISupports {\n  readonly UNINITIALIZED?: -1;\n  readonly INACTIVE?: 0;\n  readonly ACTIVE?: 1;\n  readonly FAILED?: 2;\n\n  readonly status: i16;\n  readonly isEnterprise: boolean;\n  isAllowed(feature: string): boolean;\n  getActivePolicies(): any;\n  getSupportMenu(): any;\n  getExtensionPolicy(extensionID: string): any;\n  getExtensionSettings(extensionID: string): any;\n  mayInstallAddon(addon: any): boolean;\n  allowedInstallSource(uri: nsIURI): boolean;\n  isExemptExecutableExtension(url: string, extension: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIAddonManagerStartup.idl\n\ninterface amIAddonManagerStartup extends nsISupports {\n  readStartupData(): any;\n  registerChrome(manifestURI: nsIURI, entries: any): nsIJSRAIIHelper;\n  encodeBlob(value: any): any;\n  decodeBlob(value: any): any;\n  enumerateJAR(uri: nsIURI, pattern: string): string[];\n  enumerateJARSubtree(uri: nsIURI): string[];\n  initializeURLPreloader(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIWebInstallPrompt.idl\n\ninterface amIWebInstallPrompt extends nsISupports {\n  confirm(aBrowser: Element, aUri: nsIURI, aInstalls: nsIVariant[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsCExternalHandlerService.idl\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIContentDispatchChooser.idl\n\ninterface nsIContentDispatchChooser extends nsISupports {\n  handleURI(aHandler: nsIHandlerInfo, aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aBrowsingContext: BrowsingContext, aWasTriggeredExternally?: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalHelperAppService.idl\n\ninterface nsIExternalHelperAppService extends nsISupports {\n  doContent(aMimeContentType: string, aChannel: nsIChannel, aContentContext: nsIInterfaceRequestor, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;\n  createListener(aMimeContentType: string, aChannel: nsIChannel, aContentContext: BrowsingContext, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;\n  applyDecodingForExtension(aExtension: string, aEncodingType: string): boolean;\n  getPreferredDownloadsDirectory(): nsIFile;\n}\n\ninterface nsPIExternalAppLauncher extends nsISupports {\n  deleteTemporaryFileOnExit(aTemporaryFile: nsIFile): void;\n  deleteTemporaryPrivateFileWhenPossible(aTemporaryFile: nsIFile): void;\n  deletePrivateFileWhenPossible(aPrivateFile: nsIFile): void;\n}\n\ninterface nsIHelperAppLauncher extends nsICancelable {\n  readonly MIMEInfo: nsIMIMEInfo;\n  readonly source: nsIURI;\n  readonly suggestedFileName: string;\n  promptForSaveDestination(): void;\n  setDownloadToLaunch(aHandleInternally: boolean, aFile: nsIFile): void;\n  launchLocalFile(): void;\n  saveDestinationAvailable(aFile: nsIFile, aDialogWasShown?: boolean): void;\n  setWebProgressListener(aWebProgressListener: nsIWebProgressListener2): void;\n  readonly targetFile: nsIFile;\n  readonly targetFileIsExecutable: boolean;\n  readonly timeDownloadStarted: PRTime;\n  readonly contentLength: i64;\n  readonly browsingContextId: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalProtocolService.idl\n\ninterface nsIExternalProtocolService extends nsISupports {\n  externalProtocolHandlerExists(aProtocolScheme: string): boolean;\n  isExposedProtocol(aProtocolScheme: string): boolean;\n  getProtocolHandlerInfo(aProtocolScheme: string): nsIHandlerInfo;\n  getProtocolHandlerInfoFromOS(aProtocolScheme: string, aFound: OutParam<boolean>): nsIHandlerInfo;\n  setProtocolHandlerDefaults(aHandlerInfo: nsIHandlerInfo, aOSHandlerExists: boolean): void;\n  loadURI(aURI: nsIURI, aTriggeringPrincipal?: nsIPrincipal, aRedirectPrincipal?: nsIPrincipal, aBrowsingContext?: BrowsingContext, aWasTriggeredExternally?: boolean, aHasValidUserGestureActivation?: boolean, aNewWindowTarget?: boolean): void;\n  getApplicationDescription(aScheme: string): string;\n  isCurrentAppOSDefaultForProtocol(aScheme: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHandlerService.idl\n\ninterface nsIHandlerService extends nsISupports {\n  asyncInit(): void;\n  enumerate(): nsISimpleEnumerator;\n  fillHandlerInfo(aHandlerInfo: nsIHandlerInfo, aOverrideType: string): void;\n  store(aHandlerInfo: nsIHandlerInfo): void;\n  exists(aHandlerInfo: nsIHandlerInfo): boolean;\n  remove(aHandlerInfo: nsIHandlerInfo): void;\n  getTypeFromExtension(aFileExtension: string): string;\n  existsForProtocolOS(aProtocolScheme: string): boolean;\n  existsForProtocol(aProtocolScheme: string): boolean;\n  getApplicationDescription(aProtocolScheme: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHelperAppLauncherDialog.idl\n\ninterface nsIHelperAppLauncherDialog extends nsISupports {\n  readonly REASON_CANTHANDLE?: 0;\n  readonly REASON_SERVERREQUEST?: 1;\n  readonly REASON_TYPESNIFFED?: 2;\n\n  show(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aReason: u32): void;\n  promptForSaveToFileAsync(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aDefaultFileName: string, aSuggestedFileExtension: string, aForcePrompt: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsISharingHandlerApp.idl\n\ninterface nsISharingHandlerApp extends nsIHandlerApp {\n  share(data: string, title?: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/typeaheadfind/nsITypeAheadFind.idl\n\ninterface nsITypeAheadFind extends nsISupports {\n  readonly FIND_INITIAL?: 0;\n  readonly FIND_NEXT?: 1;\n  readonly FIND_PREVIOUS?: 2;\n  readonly FIND_FIRST?: 3;\n  readonly FIND_LAST?: 4;\n  readonly FIND_FOUND?: 0;\n  readonly FIND_NOTFOUND?: 1;\n  readonly FIND_WRAPPED?: 2;\n  readonly FIND_PENDING?: 3;\n\n  init(aDocShell: nsIDocShell): void;\n  find(aSearchString: string, aLinksOnly: boolean, aMode: u32, aDontIterateFrames: boolean): u16;\n  getFoundRange(): Range;\n  setDocShell(aDocShell: nsIDocShell): void;\n  setSelectionModeAndRepaint(toggle: i16): void;\n  collapseSelection(): void;\n  isRangeVisible(aRange: Range, aMustBeInViewPort: boolean): boolean;\n  isRangeRendered(aRange: Range): boolean;\n  readonly searchString: string;\n  caseSensitive: boolean;\n  matchDiacritics: boolean;\n  entireWord: boolean;\n  readonly foundLink: Element;\n  readonly foundEditable: Element;\n  readonly currentWindow: mozIDOMWindow;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIFOG.idl\n\ninterface nsIFOG extends nsISupports {\n  initializeFOG(aDataPathOverride?: string, aAppIdOverride?: string, aDisableInternalPings?: boolean): void;\n  registerCustomPings(): void;\n  setLogPings(aEnableLogPings: boolean): void;\n  setTagPings(aDebugTag: string): void;\n  sendPing(aPingName: string): void;\n  setExperimentActive(aExperimentId: string, aBranch: string, aExtra?: any): void;\n  setExperimentInactive(aExperimentId: string): void;\n  testGetExperimentData(aExperimentId: string): any;\n  applyServerKnobsConfig(aJsonConfig: string): void;\n  testFlushAllChildren(): Promise<any>;\n  testResetFOG(aDataPathOverride?: string, aAppIdOverride?: string): void;\n  testTriggerMetrics(aProcessType: u32): Promise<any>;\n  testRegisterRuntimeMetric(aType: string, aCategory: string, aName: string, aPings: string[], aLifetime: string, aDisabled: boolean, aExtraArgs?: string): u32;\n  testRegisterRuntimePing(aName: string, aIncludeClientId: boolean, aSendIfEmpty: boolean, aPreciseTimestamps: boolean, aIncludeInfoSections: boolean, aEnabled: boolean, aSchedulesPings: string[], aReasonCodes: string[], aFollowsCollectionEnabled: boolean, aUploaderCapabilities: string[]): u32;\n  updateAttribution(aSource: string, aMedium: string, aCampaign: string, aTerm: string, aContent: string): void;\n  testGetAttribution(): any;\n  updateDistribution(aName: string): void;\n  testGetDistribution(): any;\n  registerRuntimeMetric(aType: string, aCategory: string, aName: string, aPings: string[], aLifetime: string, aDisabled: boolean, aExtraArgs?: string): void;\n  registerRuntimePing(aName: string, aIncludeClientId: boolean, aSendIfEmpty: boolean, aPreciseTimestamps: boolean, aIncludeInfoSections: boolean, aEnabled: boolean, aSchedulesPings: string[], aReasonCodes: string[], aFollowsCollectionEnabled: boolean, aUploaderCapabilities: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIGleanPing.idl\n\ntype nsIGleanPingTestCallback = Callable<{\n  call(aReason: string): void;\n}>\n\ntype nsIGleanPingSubmitCallback = Callable<{\n  call(): Promise<any>;\n}>\n\ninterface nsIGleanPing extends nsISupports {\n  submit(aReason?: string): void;\n  testBeforeNextSubmit(aCallback: nsIGleanPingTestCallback): void;\n  setEnabled(aValue: boolean): void;\n  testSubmission(aTestCallback: nsIGleanPingTestCallback, aSubmitCallback: nsIGleanPingSubmitCallback, aSubmitTimeoutMs?: u32): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/gfx/src/nsIFontEnumerator.idl\n\ninterface nsIFontEnumerator extends nsISupports {\n  EnumerateAllFonts(): string[];\n  EnumerateFonts(aLangGroup: string, aGeneric: string): string[];\n  EnumerateAllFontsAsync(): any;\n  EnumerateFontsAsync(aLangGroup: string, aGeneric: string): any;\n  HaveFontFor(aLangGroup: string): boolean;\n  getDefaultFont(aLangGroup: string, aGeneric: string): string;\n  getStandardFamilyName(aName: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/gfx/thebes/nsIFontLoadCompleteCallback.idl\n\n// https://searchfox.org/mozilla-central/source/parser/html/nsIParserUtils.idl\n\ninterface nsIParserUtils extends nsISupports {\n  readonly SanitizerAllowComments?: 1;\n  readonly SanitizerAllowStyle?: 2;\n  readonly SanitizerCidEmbedsOnly?: 4;\n  readonly SanitizerDropNonCSSPresentation?: 8;\n  readonly SanitizerDropForms?: 16;\n  readonly SanitizerDropMedia?: 32;\n  readonly SanitizerLogRemovals?: 64;\n\n  sanitize(src: string, flags: u32): string;\n  removeConditionalCSS(src: string): string;\n  convertToPlainText(src: string, flags: u32, wrapCol: u32): string;\n  parseFragment(fragment: string, flags: u32, isXML: boolean, baseURI: nsIURI, element: Element): DocumentFragment;\n}\n\n// https://searchfox.org/mozilla-central/source/parser/htmlparser/nsIExpatSink.idl\n\ninterface nsIExpatSink extends nsISupports {\n  HandleStartElement(aName: string, aAtts: string[], aAttsCount: u32, aLineNumber: u32, aColumnNumber: u32): void;\n  HandleEndElement(aName: string): void;\n  HandleComment(aCommentText: string): void;\n  HandleCDataSection(aData: string, aLength: u32): void;\n  HandleDoctypeDecl(aSubset: string, aName: string, aSystemId: string, aPublicId: string, aCatalogData: nsISupports): void;\n  HandleCharacterData(aData: string, aLength: u32): void;\n  HandleProcessingInstruction(aTarget: string, aData: string): void;\n  HandleXMLDeclaration(aVersion: string, aEncoding: string, aStandalone: i32): void;\n  ReportError(aErrorText: string, aSourceText: string, aError: nsIScriptError): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/http-sfv/nsIStructuredFieldValues.idl\n\ninterface nsISFVBareItem extends nsISupports {\n  readonly BOOL?: 1;\n  readonly STRING?: 2;\n  readonly DECIMAL?: 3;\n  readonly INTEGER?: 4;\n  readonly TOKEN?: 5;\n  readonly BYTE_SEQUENCE?: 6;\n\n  readonly type: i32;\n}\n\ninterface nsISFVInteger extends nsISFVBareItem {\n  value: i64;\n}\n\ninterface nsISFVString extends nsISFVBareItem {\n  value: string;\n}\n\ninterface nsISFVBool extends nsISFVBareItem {\n  value: boolean;\n}\n\ninterface nsISFVDecimal extends nsISFVBareItem {\n  value: double;\n}\n\ninterface nsISFVToken extends nsISFVBareItem {\n  value: string;\n}\n\ninterface nsISFVByteSeq extends nsISFVBareItem {\n  value: string;\n}\n\ninterface nsISFVParams extends nsISupports {\n  get(key: string): nsISFVBareItem;\n  set(key: string, item: nsISFVBareItem): void;\n  delete(key: string): void;\n  keys(): string[];\n}\n\ninterface nsISFVParametrizable extends nsISupports {\n  readonly params: nsISFVParams;\n}\n\ninterface nsISFVItemOrInnerList extends nsISFVParametrizable {\n}\n\ninterface nsISFVSerialize extends nsISupports {\n  serialize(): string;\n}\n\ninterface nsISFVItem extends nsISFVItemOrInnerList {\n  readonly value: nsISFVBareItem;\n  serialize(): string;\n}\n\ninterface nsISFVInnerList extends nsISFVItemOrInnerList {\n  items: nsISFVItem[];\n}\n\ninterface nsISFVList extends nsISFVSerialize {\n  members: nsISFVItemOrInnerList[];\n  parseMore(header: string): void;\n}\n\ninterface nsISFVDictionary extends nsISFVSerialize {\n  get(key: string): nsISFVItemOrInnerList;\n  set(key: string, member_value: nsISFVItemOrInnerList): void;\n  delete(key: string): void;\n  keys(): string[];\n  parseMore(header: string): void;\n}\n\ninterface nsISFVService extends nsISupports {\n  parseDictionary(header: string): nsISFVDictionary;\n  parseList(header: string): nsISFVList;\n  parseItem(header: string): nsISFVItem;\n  newInteger(value: i64): nsISFVInteger;\n  newBool(value: boolean): nsISFVBool;\n  newDecimal(value: double): nsISFVDecimal;\n  newString(value: string): nsISFVString;\n  newByteSequence(value: string): nsISFVByteSeq;\n  newToken(value: string): nsISFVToken;\n  newParameters(): nsISFVParams;\n  newInnerList(items: nsISFVItem[], params: nsISFVParams): nsISFVInnerList;\n  newItem(value: nsISFVBareItem, params: nsISFVParams): nsISFVItem;\n  newList(members: nsISFVItemOrInnerList[]): nsISFVList;\n  newDictionary(): nsISFVDictionary;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgICache.idl\n\ninterface imgICache extends nsISupports {\n  clearCache(chrome?: any): void;\n  removeEntriesFromPrincipalInAllProcesses(aPrincipal: nsIPrincipal): void;\n  removeEntriesFromSiteInAllProcesses(aBaseDomain: string, OriginAttributesPattern: any): void;\n  findEntryProperties(uri: nsIURI, doc?: Document): nsIProperties;\n  respectPrivacyNotifications(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgIContainer.idl\n\n}  // global\n\ndeclare enum imgIContainer_DecodeResult {\n  DECODE_SURFACE_AVAILABLE = 0,\n  DECODE_REQUESTED = 1,\n  DECODE_REQUEST_FAILED = 2,\n}\n\ndeclare global {\n\nnamespace imgIContainer {\n  type DecodeResult = imgIContainer_DecodeResult;\n}\n\ninterface imgIContainer extends nsISupports, Enums<typeof imgIContainer_DecodeResult> {\n  readonly TYPE_RASTER?: 0;\n  readonly TYPE_VECTOR?: 1;\n  readonly TYPE_REQUEST?: 2;\n  readonly FLAG_NONE?: 0;\n  readonly FLAG_SYNC_DECODE?: 1;\n  readonly FLAG_SYNC_DECODE_IF_FAST?: 2;\n  readonly FLAG_ASYNC_NOTIFY?: 4;\n  readonly FLAG_DECODE_NO_PREMULTIPLY_ALPHA?: 8;\n  readonly FLAG_DECODE_NO_COLORSPACE_CONVERSION?: 16;\n  readonly FLAG_CLAMP?: 32;\n  readonly FLAG_HIGH_QUALITY_SCALING?: 64;\n  readonly FLAG_BYPASS_SURFACE_CACHE?: 128;\n  readonly FLAG_FORCE_PRESERVEASPECTRATIO_NONE?: 256;\n  readonly FLAG_FORCE_UNIFORM_SCALING?: 512;\n  readonly FLAG_AVOID_REDECODE_FOR_SIZE?: 1024;\n  readonly FLAG_DECODE_TO_SRGB_COLORSPACE?: 2048;\n  readonly FLAG_RECORD_BLOB?: 4096;\n  readonly DECODE_FLAGS_DEFAULT?: 0;\n  readonly DECODE_FLAGS_FOR_REENCODE?: 2056;\n  readonly FRAME_FIRST?: 0;\n  readonly FRAME_CURRENT?: 1;\n  readonly FRAME_MAX_VALUE?: 1;\n  readonly kNormalAnimMode?: 0;\n  readonly kDontAnimMode?: 1;\n  readonly kLoopOnceAnimMode?: 2;\n\n  readonly width: i32;\n  readonly height: i32;\n  readonly hotspotX: i32;\n  readonly hotspotY: i32;\n  readonly type: u16;\n  readonly animated: boolean;\n  readonly providerId: u32;\n  lockImage(): void;\n  unlockImage(): void;\n  requestDiscard(): void;\n  animationMode: u16;\n  resetAnimation(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgIContainerDebug.idl\n\ninterface imgIContainerDebug extends nsISupports {\n  readonly framesNotified: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgIEncoder.idl\n\ninterface imgIEncoder extends nsIAsyncInputStream {\n  readonly INPUT_FORMAT_RGB?: 0;\n  readonly INPUT_FORMAT_RGBA?: 1;\n  readonly INPUT_FORMAT_HOSTARGB?: 2;\n\n  initFromData(data: u8[], length: u32, width: u32, height: u32, stride: u32, inputFormat: u32, outputOptions: string): void;\n  startImageEncode(width: u32, height: u32, inputFormat: u32, outputOptions: string): void;\n  addImageFrame(data: u8[], length: u32, width: u32, height: u32, stride: u32, frameFormat: u32, frameOptions: string): void;\n  endImageEncode(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgILoader.idl\n\ninterface imgILoader extends nsISupports {\n  readonly LOAD_CORS_ANONYMOUS?: 65536;\n  readonly LOAD_CORS_USE_CREDENTIALS?: 131072;\n\n  loadImageXPCOM(aURI: nsIURI, aInitialDocumentURL: nsIURI, aReferrerInfo: nsIReferrerInfo, aLoadingPrincipal: nsIPrincipal, aLoadGroup: nsILoadGroup, aObserver: imgINotificationObserver, aLoadingDocument: Document, aLoadFlags: nsLoadFlags, cacheKey: nsISupports, aContentPolicyType?: nsContentPolicyType): imgIRequest;\n  loadImageWithChannelXPCOM(aChannel: nsIChannel, aObserver: imgINotificationObserver, aLoadingDocument: Document, aListener: OutParam<nsIStreamListener>): imgIRequest;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgINotificationObserver.idl\n\ninterface imgINotificationObserver extends nsISupports {\n  readonly SIZE_AVAILABLE?: 1;\n  readonly FRAME_UPDATE?: 2;\n  readonly FRAME_COMPLETE?: 3;\n  readonly LOAD_COMPLETE?: 4;\n  readonly DECODE_COMPLETE?: 5;\n  readonly DISCARD?: 6;\n  readonly UNLOCKED_DRAW?: 7;\n  readonly IS_ANIMATED?: 8;\n  readonly HAS_TRANSPARENCY?: 9;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgIRequest.idl\n\ninterface imgIRequest extends nsIRequest {\n  readonly STATUS_NONE?: 0;\n  readonly STATUS_SIZE_AVAILABLE?: 1;\n  readonly STATUS_LOAD_COMPLETE?: 2;\n  readonly STATUS_ERROR?: 4;\n  readonly STATUS_FRAME_COMPLETE?: 8;\n  readonly STATUS_DECODE_COMPLETE?: 16;\n  readonly STATUS_IS_ANIMATED?: 32;\n  readonly STATUS_HAS_TRANSPARENCY?: 64;\n  readonly CATEGORY_FRAME_INIT?: 1;\n  readonly CATEGORY_FRAME_STYLE?: 2;\n  readonly CATEGORY_SIZE_QUERY?: 4;\n  readonly CATEGORY_DISPLAY?: 8;\n\n  readonly image: imgIContainer;\n  readonly providerId: u32;\n  readonly triggeringPrincipal: nsIPrincipal;\n  readonly imageStatus: u32;\n  readonly URI: nsIURI;\n  readonly finalURI: nsIURI;\n  readonly notificationObserver: imgINotificationObserver;\n  readonly mimeType: string;\n  readonly fileName: string;\n  clone(aObserver: imgINotificationObserver): imgIRequest;\n  readonly imagePrincipal: nsIPrincipal;\n  readonly hadCrossOriginRedirects: boolean;\n  readonly multipart: boolean;\n  readonly CORSMode: i32;\n  readonly referrerInfo: nsIReferrerInfo;\n  cancelAndForgetObserver(aStatus: nsresult): void;\n  startDecoding(aFlags: u32): void;\n  lockImage(): void;\n  unlockImage(): void;\n  requestDiscard(): void;\n  getStaticRequest(): imgIRequest;\n  incrementAnimationConsumers(): void;\n  decrementAnimationConsumers(): void;\n  boostPriority(aCategory: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgIScriptedNotificationObserver.idl\n\ninterface imgIScriptedNotificationObserver extends nsISupports {\n  sizeAvailable(aRequest: imgIRequest): void;\n  frameUpdate(aRequest: imgIRequest): void;\n  frameComplete(aRequest: imgIRequest): void;\n  loadComplete(aRequest: imgIRequest): void;\n  decodeComplete(aRequest: imgIRequest): void;\n  discard(aRequest: imgIRequest): void;\n  isAnimated(aRequest: imgIRequest): void;\n  hasTransparency(aRequest: imgIRequest): void;\n}\n\n// https://searchfox.org/mozilla-central/source/image/imgITools.idl\n\ninterface imgITools extends nsISupports {\n  decodeImageFromBuffer(aBuffer: string, aSize: u32, aMimeType: string): imgIContainer;\n  decodeImageFromArrayBuffer(aArrayBuffer: any, aMimeType: string): imgIContainer;\n  decodeImageFromChannelAsync(aURI: nsIURI, aChannel: nsIChannel, aCallback: imgIContainerCallback, aObserver: imgINotificationObserver): void;\n  decodeImageAsync(aStream: nsIInputStream, aMimeType: string, aCallback: imgIContainerCallback, aEventTarget: nsIEventTarget): void;\n  encodeImage(aContainer: imgIContainer, aMimeType: string, outputOptions?: string): nsIInputStream;\n  encodeScaledImage(aContainer: imgIContainer, aMimeType: string, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;\n  getImgLoaderForDocument(doc: Document): imgILoader;\n  getImgCacheForDocument(doc: Document): imgICache;\n  encodeCroppedImage(aContainer: imgIContainer, aMimeType: string, aOffsetX: i32, aOffsetY: i32, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;\n  createScriptedObserver(aObserver: imgIScriptedNotificationObserver): imgINotificationObserver;\n}\n\ntype imgIContainerCallback = Callable<{\n  onImageReady(aImage: imgIContainer, aStatus: nsresult): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/image/nsIIconURI.idl\n\ninterface nsIMozIconURI extends nsIURI {\n  readonly iconURL: nsIURL;\n  readonly imageSize: u32;\n  readonly imageScale: u32;\n  readonly imageDark: boolean;\n  readonly stockIcon: string;\n  readonly contentType: string;\n  readonly fileExtension: string;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/inspector/inIDeepTreeWalker.idl\n\ninterface inIDeepTreeWalker extends nsISupports {\n  showAnonymousContent: boolean;\n  showSubDocuments: boolean;\n  showDocumentsAsNodes: boolean;\n  init(aRoot: Node): void;\n  readonly root: Node;\n  currentNode: Node;\n  parentNode(): Node;\n  firstChild(): Node;\n  lastChild(): Node;\n  previousSibling(): Node;\n  nextSibling(): Node;\n  previousNode(): Node;\n  nextNode(): Node;\n}\n\n// https://searchfox.org/mozilla-central/source/intl/strres/nsIStringBundle.idl\n\ninterface nsIStringBundle extends nsISupports {\n  GetStringFromID(aID: i32): string;\n  GetStringFromName(aName: string): string;\n  formatStringFromName(aName: string, params: string[]): string;\n  getSimpleEnumeration(): nsISimpleEnumerator;\n  asyncPreload(): void;\n}\n\ninterface nsIStringBundleService extends nsISupports {\n  createBundle(aURLSpec: string): nsIStringBundle;\n  flushBundles(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARChannel.idl\n\ninterface nsIJARChannel extends nsIChannel {\n  jarFile: nsIFile;\n  readonly zipEntry: nsIZipEntry;\n  ensureCached(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARURI.idl\n\ninterface nsIJARURI extends nsIURL {\n  readonly JARFile: nsIURI;\n  readonly JAREntry: string;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libjar/nsIZipReader.idl\n\ninterface nsIZipEntry extends nsISupports {\n  readonly compression: u16;\n  readonly size: u32;\n  readonly realSize: u32;\n  readonly CRC32: u32;\n  readonly isDirectory: boolean;\n  readonly lastModifiedTime: PRTime;\n  readonly isSynthetic: boolean;\n  readonly permissions: u32;\n}\n\ninterface nsIZipReader extends nsISupports {\n  open(zipFile: nsIFile): void;\n  openInner(zipReader: nsIZipReader, zipEntry: string): void;\n  readonly file: nsIFile;\n  close(): void;\n  test(aEntryName: string): void;\n  extract(zipEntry: string, outFile: nsIFile): void;\n  getEntry(zipEntry: string): nsIZipEntry;\n  hasEntry(zipEntry: string): boolean;\n  findEntries(aPattern: string): nsIUTF8StringEnumerator;\n  getInputStream(zipEntry: string): nsIInputStream;\n}\n\ninterface nsIZipReaderCache extends nsISupports {\n  init(cacheSize: u32): void;\n  getZip(zipFile: nsIFile): nsIZipReader;\n  getZipIfCached(zipFile: nsIFile): nsIZipReader;\n  isCached(zipFile: nsIFile): boolean;\n  getInnerZip(zipFile: nsIFile, zipEntry: string): nsIZipReader;\n}\n\n// https://searchfox.org/mozilla-central/source/devtools/platform/IJSDebugger.idl\n\ninterface IJSDebugger extends nsISupports {\n  addClass(global: any): void;\n}\n\n// https://searchfox.org/mozilla-central/source/devtools/platform/nsIJSInspector.idl\n\ninterface nsIJSInspector extends nsISupports {\n  enterNestedEventLoop(requestor: any): u32;\n  exitNestedEventLoop(): u32;\n  readonly eventLoopNestLevel: u32;\n  readonly lastNestRequestor: any;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/kvstore/nsIKeyValue.idl\n\n}  // global\n\ndeclare enum nsIKeyValueService_RecoveryStrategy {\n  ERROR = 0,\n  DISCARD = 1,\n  RENAME = 2,\n}\n\ndeclare global {\n\nnamespace nsIKeyValueService {\n  type RecoveryStrategy = nsIKeyValueService_RecoveryStrategy;\n}\n\ninterface nsIKeyValueService extends nsISupports, Enums<typeof nsIKeyValueService_RecoveryStrategy> {\n  getOrCreate(callback: nsIKeyValueDatabaseCallback, path: string, name: string): void;\n  getOrCreateWithOptions(callback: nsIKeyValueDatabaseCallback, path: string, name: string, recoveryStrategy?: nsIKeyValueService.RecoveryStrategy): void;\n  createImporter(type: string, path: string): nsIKeyValueImporter;\n}\n\ninterface nsIKeyValueImportSourceSpec extends nsISupports {\n  readonly path: string;\n  addDatabase(name: string): nsIKeyValueDatabaseImportOptions;\n  addAllDatabases(): nsIKeyValueDatabaseImportOptions;\n}\n\n}  // global\n\ndeclare enum nsIKeyValueImporter_ConflictPolicy {\n  ERROR_ON_CONFLICT = 0,\n  IGNORE_ON_CONFLICT = 1,\n  REPLACE_ON_CONFLICT = 2,\n}\n\ndeclare enum nsIKeyValueImporter_CleanupPolicy {\n  KEEP_AFTER_IMPORT = 0,\n  DELETE_AFTER_IMPORT = 1,\n}\n\ndeclare global {\n\nnamespace nsIKeyValueImporter {\n  type ConflictPolicy = nsIKeyValueImporter_ConflictPolicy;\n  type CleanupPolicy = nsIKeyValueImporter_CleanupPolicy;\n}\n\ninterface nsIKeyValueImporter extends nsIKeyValueImportSourceSpec, Enums<typeof nsIKeyValueImporter_ConflictPolicy & typeof nsIKeyValueImporter_CleanupPolicy> {\n  readonly type: string;\n  addPath(path: string): nsIKeyValueImportSourceSpec;\n  import(callback: nsIKeyValueVoidCallback): void;\n}\n\ninterface nsIKeyValueDatabaseImportOptions extends nsISupports {\n  setConflictPolicy(conflictPolicy: nsIKeyValueImporter.ConflictPolicy): nsIKeyValueDatabaseImportOptions;\n  setCleanupPolicy(cleanupPolicy: nsIKeyValueImporter.CleanupPolicy): nsIKeyValueDatabaseImportOptions;\n}\n\ninterface nsIKeyValueDatabase extends nsISupports {\n  isEmpty(callback: nsIKeyValueVariantCallback): void;\n  count(callback: nsIKeyValueVariantCallback): void;\n  size(callback: nsIKeyValueVariantCallback): void;\n  put(callback: nsIKeyValueVoidCallback, key: string, value: nsIVariant): void;\n  writeMany(callback: nsIKeyValueVoidCallback, pairs: nsIKeyValuePair[]): void;\n  get(callback: nsIKeyValueVariantCallback, key: string, defaultValue?: nsIVariant): void;\n  has(callback: nsIKeyValueVariantCallback, key: string): void;\n  delete(callback: nsIKeyValueVoidCallback, key: string): void;\n  deleteRange(callback: nsIKeyValueVoidCallback, fromKey?: string, toKey?: string): void;\n  clear(callback: nsIKeyValueVoidCallback): void;\n  enumerate(callback: nsIKeyValueEnumeratorCallback, fromKey?: string, toKey?: string): void;\n  close(callback: nsIKeyValueVoidCallback): void;\n}\n\ninterface nsIKeyValuePair extends nsISupports {\n  readonly key: string;\n  readonly value: nsIVariant;\n}\n\ninterface nsIKeyValueEnumerator extends nsISupports {\n  hasMoreElements(): boolean;\n  getNext(): nsIKeyValuePair;\n}\n\ninterface nsIKeyValueDatabaseCallback extends nsISupports {\n  resolve(database: nsIKeyValueDatabase): void;\n  reject(message: string): void;\n}\n\ninterface nsIKeyValueEnumeratorCallback extends nsISupports {\n  resolve(enumerator: nsIKeyValueEnumerator): void;\n  reject(message: string): void;\n}\n\ninterface nsIKeyValuePairCallback extends nsISupports {\n  resolve(pair: nsIKeyValuePair): void;\n  reject(message: string): void;\n}\n\ninterface nsIKeyValueVariantCallback extends nsISupports {\n  resolve(result: nsIVariant): void;\n  reject(message: string): void;\n}\n\ninterface nsIKeyValueVoidCallback extends nsISupports {\n  resolve(): void;\n  reject(message: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/base/nsILayoutHistoryState.idl\n\ninterface nsILayoutHistoryState extends nsISupports {\n  readonly hasStates: boolean;\n  getKeys(): string[];\n  getPresState(aKey: string, aScrollX: OutParam<float>, aScrollY: OutParam<float>, aAllowScrollOriginDowngrade: OutParam<boolean>, aRes: OutParam<float>): void;\n  addNewPresState(aKey: string, aScrollX: float, aScrollY: float, aAllowScrollOriginDowngrade: boolean, aRes: float): void;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/base/nsIPreloadedStyleSheet.idl\n\ninterface nsIPreloadedStyleSheet extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/layout/base/nsISVGPaintContext.idl\n\ninterface nsISVGPaintContext extends nsISupports {\n  readonly fillColor: string;\n  readonly strokeColor: string;\n  readonly fillOpacity: float;\n  readonly strokeOpacity: float;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/base/nsIStyleSheetService.idl\n\ninterface nsIStyleSheetService extends nsISupports {\n  readonly AGENT_SHEET?: 0;\n  readonly USER_SHEET?: 1;\n  readonly AUTHOR_SHEET?: 2;\n\n  loadAndRegisterSheet(sheetURI: nsIURI, type: u32): void;\n  sheetRegistered(sheetURI: nsIURI, type: u32): boolean;\n  preloadSheet(sheetURI: nsIURI, type: u32): nsIPreloadedStyleSheet;\n  preloadSheetAsync(sheetURI: nsIURI, type: u32): any;\n  unregisterSheet(sheetURI: nsIURI, type: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeSelection.idl\n\ninterface nsITreeSelection extends nsISupports {\n  tree: XULTreeElement;\n  readonly single: boolean;\n  readonly count: i32;\n  isSelected(index: i32): boolean;\n  select(index: i32): void;\n  timedSelect(index: i32, delay: i32): void;\n  toggleSelect(index: i32): void;\n  rangedSelect(startIndex: i32, endIndex: i32, augment: boolean): void;\n  clearRange(startIndex: i32, endIndex: i32): void;\n  clearSelection(): void;\n  selectAll(): void;\n  getRangeCount(): i32;\n  getRangeAt(i: i32, min: OutParam<i32>, max: OutParam<i32>): void;\n  invalidateSelection(): void;\n  adjustSelection(index: i32, count: i32): void;\n  selectEventsSuppressed: boolean;\n  currentIndex: i32;\n  readonly shiftSelectPivot: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeView.idl\n\ninterface nsITreeView extends nsISupports {\n  readonly DROP_BEFORE?: -1;\n  readonly DROP_ON?: 0;\n  readonly DROP_AFTER?: 1;\n\n  readonly rowCount: i32;\n  selection: nsITreeSelection;\n  getRowProperties(index: i32): string;\n  getCellProperties(row: i32, col: TreeColumn): string;\n  getColumnProperties(col: TreeColumn): string;\n  isContainer(index: i32): boolean;\n  isContainerOpen(index: i32): boolean;\n  isContainerEmpty(index: i32): boolean;\n  isSeparator(index: i32): boolean;\n  isSorted(): boolean;\n  canDrop(index: i32, orientation: i32, dataTransfer: DataTransfer): boolean;\n  drop(row: i32, orientation: i32, dataTransfer: DataTransfer): void;\n  getParentIndex(rowIndex: i32): i32;\n  hasNextSibling(rowIndex: i32, afterIndex: i32): boolean;\n  getLevel(index: i32): i32;\n  getImageSrc(row: i32, col: TreeColumn): string;\n  getCellValue(row: i32, col: TreeColumn): string;\n  getCellText(row: i32, col: TreeColumn): string;\n  setTree(tree: XULTreeElement): void;\n  toggleOpenState(index: i32): void;\n  cycleHeader(col: TreeColumn): void;\n  selectionChanged(): void;\n  cycleCell(row: i32, col: TreeColumn): void;\n  isEditable(row: i32, col: TreeColumn): boolean;\n  setCellValue(row: i32, col: TreeColumn, value: string): void;\n  setCellText(row: i32, col: TreeColumn, value: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/intl/locale/mozILocaleService.idl\n\ninterface mozILocaleService extends nsISupports {\n  readonly langNegStrategyFiltering?: 0;\n  readonly langNegStrategyMatching?: 1;\n  readonly langNegStrategyLookup?: 2;\n\n  readonly defaultLocale: string;\n  readonly lastFallbackLocale: string;\n  readonly appLocalesAsLangTags: string[];\n  readonly appLocalesAsBCP47: string[];\n  readonly regionalPrefsLocales: string[];\n  readonly webExposedLocales: string[];\n  negotiateLanguages(aRequested: string[], aAvailable: string[], aDefaultLocale?: string, langNegStrategy?: i32): string[];\n  readonly appLocaleAsLangTag: string;\n  readonly appLocaleAsBCP47: string;\n  requestedLocales: string[];\n  readonly requestedLocale: string;\n  availableLocales: string[];\n  readonly isAppLocaleRTL: boolean;\n  readonly packagedLocales: string[];\n}\n\n// https://searchfox.org/mozilla-central/source/intl/locale/mozIOSPreferences.idl\n\ninterface mozIOSPreferences extends nsISupports {\n  readonly dateTimeFormatStyleNone?: 0;\n  readonly dateTimeFormatStyleShort?: 1;\n  readonly dateTimeFormatStyleMedium?: 2;\n  readonly dateTimeFormatStyleLong?: 3;\n  readonly dateTimeFormatStyleFull?: 4;\n\n  readonly systemLocales: string[];\n  readonly regionalPrefsLocales: string[];\n  readonly systemLocale: string;\n  getDateTimePattern(timeFormatStyle: i32, dateFormatStyle: i32, locale?: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginInfo.idl\n\ninterface nsILoginInfo extends nsISupports {\n  readonly displayOrigin: string;\n  origin: string;\n  hostname: string;\n  formActionOrigin: string;\n  formSubmitURL: string;\n  httpRealm: string;\n  username: string;\n  usernameField: string;\n  password: string;\n  passwordField: string;\n  unknownFields: string;\n  everSynced: boolean;\n  syncCounter: i32;\n  init(aOrigin: string, aFormActionOrigin: string, aHttpRealm: string, aUsername: string, aPassword: string, aUsernameField?: string, aPasswordField?: string): void;\n  equals(aLoginInfo: nsILoginInfo): boolean;\n  matches(aLoginInfo: nsILoginInfo, ignorePassword: boolean): boolean;\n  clone(): nsILoginInfo;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManager.idl\n\ninterface nsILoginSearchCallback extends nsISupports {\n  onSearchComplete(aLogins: nsILoginInfo[]): void;\n}\n\ninterface nsILoginManager extends nsISupports {\n  readonly initializationPromise: Promise<any>;\n  addLoginAsync(aLogin: nsILoginInfo): Promise<any>;\n  addLogins(aLogins: any): Promise<any>;\n  removeLogin(aLogin: nsILoginInfo): void;\n  modifyLogin(oldLogin: nsILoginInfo, newLoginData: nsISupports): void;\n  recordPasswordUse(aLogin: nsILoginInfo, aPrivateContextWithoutExplicitConsent: boolean, aLoginType: string, aFilled: boolean): void;\n  removeAllUserFacingLogins(): void;\n  removeAllLogins(): void;\n  getAllLogins(): Promise<any>;\n  getAllLoginsWithCallback(aCallback: nsILoginSearchCallback): void;\n  getAllDisabledHosts(): string[];\n  getLoginSavingEnabled(aHost: string): boolean;\n  setLoginSavingEnabled(aHost: string, isEnabled: boolean): void;\n  findLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): nsILoginInfo[];\n  countLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): u32;\n  searchLoginsAsync(matchData: any): Promise<any>;\n  searchLogins(matchData: nsIPropertyBag): nsILoginInfo[];\n  getSyncID(): Promise<any>;\n  setSyncID(syncID: string): Promise<any>;\n  getLastSync(): Promise<any>;\n  setLastSync(timestamp: double): Promise<any>;\n  ensureCurrentSyncID(newSyncID: string): Promise<any>;\n  readonly uiBusy: boolean;\n  readonly isLoggedIn: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerAuthPrompter.idl\n\ninterface nsILoginManagerAuthPrompter extends nsISupports {\n  init(aWindow: nsIDOMWindow): void;\n  browser: Element;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerCrypto.idl\n\ninterface nsILoginManagerCrypto extends nsISupports {\n  readonly ENCTYPE_BASE64?: 0;\n  readonly ENCTYPE_SDR?: 1;\n\n  encrypt(plainText: string): string;\n  encryptMany(plainTexts: any): Promise<any>;\n  decrypt(cipherText: string): string;\n  decryptMany(cipherTexts: any): Promise<any>;\n  readonly uiBusy: boolean;\n  readonly isLoggedIn: boolean;\n  readonly defaultEncType: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl\n\ninterface nsILoginManagerPrompter extends nsISupports {\n  promptToSavePassword(aBrowser: Element, aLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;\n  promptToChangePassword(aBrowser: Element, aOldLogin: nsILoginInfo, aNewLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoSavedLoginGuid?: string, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;\n  promptToChangePasswordWithUsernames(aBrowser: Element, logins: nsILoginInfo[], aNewLogin: nsILoginInfo): nsIPromptInstance;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginMetaInfo.idl\n\ninterface nsILoginMetaInfo extends nsISupports {\n  guid: string;\n  timeCreated: u64;\n  timeLastUsed: u64;\n  timePasswordChanged: u64;\n  timesUsed: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsIPromptInstance.idl\n\ninterface nsIPromptInstance extends nsISupports {\n  dismiss(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/migration/nsIEdgeMigrationUtils.idl\n\ninterface nsIEdgeMigrationUtils extends nsISupports {\n  isDbLocked(aFile: nsIFile): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEHeaderParam.idl\n\ninterface nsIMIMEHeaderParam extends nsISupports {\n  getParameter(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;\n  getParameterHTTP(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;\n  decodeRFC5987Param(aParamVal: string, aLang: OutParam<string>): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEInfo.idl\n\ninterface nsIHandlerInfo extends nsISupports {\n  readonly saveToDisk?: 0;\n  readonly alwaysAsk?: 1;\n  readonly useHelperApp?: 2;\n  readonly handleInternally?: 3;\n  readonly useSystemDefault?: 4;\n\n  readonly type: string;\n  description: string;\n  preferredApplicationHandler: nsIHandlerApp;\n  readonly possibleApplicationHandlers: nsIMutableArray;\n  readonly hasDefaultHandler: boolean;\n  readonly defaultDescription: string;\n  readonly defaultExecutable: nsIFile;\n  launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;\n  preferredAction: nsHandlerInfoAction;\n  alwaysAskBeforeHandling: boolean;\n}\n\ninterface nsIMIMEInfo extends nsIHandlerInfo {\n  getFileExtensions(): nsIUTF8StringEnumerator;\n  setFileExtensions(aExtensions: string): void;\n  extensionExists(aExtension: string): boolean;\n  appendExtension(aExtension: string): void;\n  primaryExtension: string;\n  readonly MIMEType: string;\n  equals(aMIMEInfo: nsIMIMEInfo): boolean;\n  readonly possibleLocalHandlers: nsIArray;\n  launchWithFile(aFile: nsIFile): void;\n  isCurrentAppOSDefault(): boolean;\n}\n\ninterface nsIHandlerApp extends nsISupports {\n  name: string;\n  detailedDescription: string;\n  equals(aHandlerApp: nsIHandlerApp): boolean;\n  launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;\n}\n\ninterface nsILocalHandlerApp extends nsIHandlerApp {\n  executable: nsIFile;\n  readonly parameterCount: u32;\n  prettyNameAsync(): Promise<any>;\n  clearParameters(): void;\n  appendParameter(param: string): void;\n  getParameter(parameterIndex: u32): string;\n  parameterExists(param: string): boolean;\n}\n\ninterface nsIWebHandlerApp extends nsIHandlerApp {\n  uriTemplate: string;\n}\n\ninterface nsIDBusHandlerApp extends nsIHandlerApp {\n  service: string;\n  objectPath: string;\n  dBusInterface: string;\n  method: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEService.idl\n\ninterface nsIMIMEService extends nsISupports {\n  readonly VALIDATE_DEFAULT?: 0;\n  readonly VALIDATE_SANITIZE_ONLY?: 1;\n  readonly VALIDATE_DONT_COLLAPSE_WHITESPACE?: 2;\n  readonly VALIDATE_DONT_TRUNCATE?: 4;\n  readonly VALIDATE_GUESS_FROM_EXTENSION?: 8;\n  readonly VALIDATE_ALLOW_EMPTY?: 16;\n  readonly VALIDATE_NO_DEFAULT_FILENAME?: 32;\n  readonly VALIDATE_FORCE_APPEND_EXTENSION?: 64;\n  readonly VALIDATE_ALLOW_INVALID_FILENAMES?: 128;\n  readonly VALIDATE_ALLOW_DIRECTORY_NAMES?: 256;\n\n  getFromTypeAndExtension(aMIMEType: string, aFileExt: string): nsIMIMEInfo;\n  getTypeFromExtension(aFileExt: string): string;\n  getTypeFromURI(aURI: nsIURI): string;\n  getDefaultTypeFromURI(aURI: nsIURI): string;\n  getTypeFromFile(aFile: nsIFile): string;\n  getPrimaryExtension(aMIMEType: string, aFileExt: string): string;\n  getMIMEInfoFromOS(aType: string, aFileExtension: string, aFound: OutParam<boolean>): nsIMIMEInfo;\n  updateDefaultAppInfo(aMIMEInfo: nsIMIMEInfo): void;\n  getValidFileName(aChannel: nsIChannel, aType: string, aOriginalURI: nsIURI, aFlags: u32): string;\n  validateFileNameForSaving(aFileName: string, aType: string, aFlags: u32): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/ml/nsIMLUtils.idl\n\ninterface nsIMLUtils extends nsISupports {\n  readonly totalPhysicalMemory: u64;\n  readonly availablePhysicalMemory: u64;\n  getOptimalCPUConcurrency(): u8;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFind.idl\n\ninterface nsIFind extends nsISupports {\n  findBackwards: boolean;\n  caseSensitive: boolean;\n  entireWord: boolean;\n  matchDiacritics: boolean;\n  Find(aPatText: string, aSearchRange: Range, aStartPoint: Range, aEndPoint: Range): Range;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFindService.idl\n\ninterface nsIFindService extends nsISupports {\n  searchString: string;\n  replaceString: string;\n  findBackwards: boolean;\n  wrapFind: boolean;\n  entireWord: boolean;\n  matchCase: boolean;\n  matchDiacritics: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIWebBrowserFind.idl\n\ninterface nsIWebBrowserFind extends nsISupports {\n  findNext(): boolean;\n  searchString: string;\n  findBackwards: boolean;\n  wrapFind: boolean;\n  entireWord: boolean;\n  matchCase: boolean;\n  matchDiacritics: boolean;\n  searchFrames: boolean;\n}\n\ninterface nsIWebBrowserFindInFrames extends nsISupports {\n  currentSearchFrame: mozIDOMWindowProxy;\n  rootSearchFrame: mozIDOMWindowProxy;\n  searchSubframes: boolean;\n  searchParentFrames: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntl.idl\n\ninterface mozIMozIntl extends nsISupports {\n  getCalendarInfo(locales?: any): any;\n  getDisplayNamesDeprecated(locales?: any, options?: any): any;\n  getAvailableLocaleDisplayNames(type: any): any;\n  getLanguageDisplayNames(locales: any, langCodes: any): any;\n  getRegionDisplayNames(locales: any, regionCodes: any): any;\n  getLocaleDisplayNames(locales: any, localeCodes: any, options?: any): any;\n  getScriptDirection(locale: any): any;\n  stringHasRTLChars(str: any): boolean;\n  readonly Collator: any;\n  readonly DateTimeFormat: any;\n  readonly DisplayNames: any;\n  readonly ListFormat: any;\n  readonly Locale: any;\n  readonly NumberFormat: any;\n  readonly PluralRules: any;\n  readonly RelativeTimeFormat: any;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntlHelper.idl\n\ninterface mozIMozIntlHelper extends nsISupports {\n  addGetCalendarInfo(intlObject: any): void;\n  addDateTimeFormatConstructor(intlObject: any): void;\n  addDisplayNamesConstructor(intlObject: any): void;\n  stringHasRTLChars(str: any): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/mozIThirdPartyUtil.idl\n\ninterface mozIThirdPartyUtil extends nsISupports {\n  isThirdPartyURI(aFirstURI: nsIURI, aSecondURI: nsIURI): boolean;\n  isThirdPartyWindow(aWindow: mozIDOMWindowProxy, aURI?: nsIURI): boolean;\n  isThirdPartyChannel(aChannel: nsIChannel, aURI?: nsIURI): boolean;\n  getBaseDomain(aHostURI: nsIURI): string;\n  getURIFromWindow(aWindow: mozIDOMWindowProxy): nsIURI;\n  getPrincipalFromWindow(aWindow: mozIDOMWindowProxy): nsIPrincipal;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAndroidContentInputStream.idl\n\ninterface nsIAndroidContentInputStream extends nsIInputStream {\n  init(uri: nsIURI): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIArrayBufferInputStream.idl\n\ninterface nsIArrayBufferInputStream extends nsIInputStream {\n  setData(buffer: any, byteOffset: u64, byteLen: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier.idl\n\ninterface nsIAsyncStreamCopier extends nsIRequest {\n  init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aSourceBuffered: boolean, aSinkBuffered: boolean, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;\n  asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier2.idl\n\ninterface nsIAsyncStreamCopier2 extends nsIRequest {\n  init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;\n  asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncVerifyRedirectCallback.idl\n\ninterface nsIAsyncVerifyRedirectCallback extends nsISupports {\n  onRedirectVerifyCallback(result: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthInformation.idl\n\ninterface nsIAuthInformation extends nsISupports {\n  readonly AUTH_HOST?: 1;\n  readonly AUTH_PROXY?: 2;\n  readonly NEED_DOMAIN?: 4;\n  readonly ONLY_PASSWORD?: 8;\n  readonly PREVIOUS_FAILED?: 16;\n  readonly CROSS_ORIGIN_SUB_RESOURCE?: 32;\n\n  readonly flags: u32;\n  readonly realm: string;\n  readonly authenticationScheme: string;\n  username: string;\n  password: string;\n  domain: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthModule.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt.idl\n\ninterface nsIAuthPrompt extends nsISupports {\n  readonly SAVE_PASSWORD_NEVER?: 0;\n  readonly SAVE_PASSWORD_FOR_SESSION?: 1;\n  readonly SAVE_PASSWORD_PERMANENTLY?: 2;\n\n  prompt(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, defaultText: string, result: OutParam<string>): boolean;\n  promptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): boolean;\n  asyncPromptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): Promise<any>;\n  promptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): boolean;\n  asyncPromptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt2.idl\n\ninterface nsIAuthPrompt2 extends nsISupports {\n  readonly LEVEL_NONE?: 0;\n  readonly LEVEL_PW_ENCRYPTED?: 1;\n  readonly LEVEL_SECURE?: 2;\n\n  promptAuth(aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;\n  asyncPromptAuth(aChannel: nsIChannel, aCallback: nsIAuthPromptCallback, aContext: nsISupports, level: u32, authInfo: nsIAuthInformation): nsICancelable;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptAdapterFactory.idl\n\ninterface nsIAuthPromptAdapterFactory extends nsISupports {\n  createAdapter(aPrompt: nsIAuthPrompt): nsIAuthPrompt2;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptCallback.idl\n\ninterface nsIAuthPromptCallback extends nsISupports {\n  onAuthAvailable(aContext: nsISupports, aAuthInfo: nsIAuthInformation): void;\n  onAuthCancelled(aContext: nsISupports, userCancel: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptProvider.idl\n\ninterface nsIAuthPromptProvider extends nsISupports {\n  readonly PROMPT_NORMAL?: 0;\n  readonly PROMPT_PROXY?: 1;\n\n  getAuthPrompt<T extends nsIID>(aPromptReason: u32, iid: T): nsQIResult<T>;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIBackgroundFileSaver.idl\n\ninterface nsIBackgroundFileSaver extends nsISupports {\n  observer: nsIBackgroundFileSaverObserver;\n  readonly signatureInfo: u8[][][];\n  readonly sha256Hash: string;\n  enableSignatureInfo(): void;\n  enableSha256(): void;\n  enableAppend(): void;\n  setTarget(aTarget: nsIFile, aKeepPartial: boolean): void;\n  finish(aStatus: nsresult): void;\n}\n\ninterface nsIBackgroundFileSaverObserver extends nsISupports {\n  onTargetChange(aSaver: nsIBackgroundFileSaver, aTarget: nsIFile): void;\n  onSaveComplete(aSaver: nsIBackgroundFileSaver, aStatus: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIBaseChannel.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIBufferedStreams.idl\n\ninterface nsIBufferedInputStream extends nsIInputStream {\n  init(fillFromStream: nsIInputStream, bufferSize: u32): void;\n  readonly data: nsIInputStream;\n}\n\ninterface nsIBufferedOutputStream extends nsIOutputStream {\n  init(sinkToStream: nsIOutputStream, bufferSize: u32): void;\n  readonly data: nsIOutputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIByteRangeRequest.idl\n\ninterface nsIByteRangeRequest extends nsISupports {\n  readonly isByteRangeRequest: boolean;\n  readonly startRange: i64;\n  readonly endRange: i64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsICacheInfoChannel.idl\n\ninterface nsIInputStreamReceiver extends nsISupports {\n  onInputStreamReady(aStream: nsIInputStream): void;\n}\n\n}  // global\n\ndeclare enum nsICacheInfoChannel_PreferredAlternativeDataDeliveryType {\n  NONE = 0,\n  ASYNC = 1,\n  SERIALIZE = 2,\n}\n\ndeclare global {\n\nnamespace nsICacheInfoChannel {\n  type PreferredAlternativeDataDeliveryType = nsICacheInfoChannel_PreferredAlternativeDataDeliveryType;\n}\n\ninterface nsICacheInfoChannel extends nsISupports, Enums<typeof nsICacheInfoChannel_PreferredAlternativeDataDeliveryType> {\n  readonly cacheTokenFetchCount: u32;\n  readonly cacheTokenExpirationTime: u32;\n  isFromCache(): boolean;\n  isRacing(): boolean;\n  getCacheEntryId(): u64;\n  cacheKey: u32;\n  allowStaleCacheContent: boolean;\n  preferCacheLoadOverBypass: boolean;\n  forceValidateCacheContent: boolean;\n  preferAlternativeDataType(type: string, contentType: string, deliverAltData: nsICacheInfoChannel.PreferredAlternativeDataDeliveryType): void;\n  readonly alternativeDataType: string;\n  readonly alternativeDataInputStream: nsIInputStream;\n  getOriginalInputStream(aReceiver: nsIInputStreamReceiver): void;\n  openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsICachingChannel.idl\n\ninterface nsICachingChannel extends nsICacheInfoChannel {\n  readonly LOAD_NO_NETWORK_IO?: 67108864;\n  readonly LOAD_BYPASS_LOCAL_CACHE?: 268435456;\n  readonly LOAD_BYPASS_LOCAL_CACHE_IF_BUSY?: 536870912;\n  readonly LOAD_ONLY_FROM_CACHE?: 1073741824;\n  readonly LOAD_ONLY_IF_MODIFIED?: 2147483648;\n\n  cacheToken: nsISupports;\n  cacheOnlyMetadata: boolean;\n  pin: boolean;\n  forceCacheEntryValidFor(aSecondsToTheFuture: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsICancelable.idl\n\ninterface nsICancelable extends nsISupports {\n  cancel(aReason: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsICaptivePortalService.idl\n\ninterface nsICaptivePortalServiceCallback extends nsISupports {\n  complete(success: boolean, error: nsresult): void;\n}\n\ninterface nsICaptivePortalService extends nsISupports {\n  readonly UNKNOWN?: 0;\n  readonly NOT_CAPTIVE?: 1;\n  readonly UNLOCKED_PORTAL?: 2;\n  readonly LOCKED_PORTAL?: 3;\n\n  recheckCaptivePortal(): void;\n  readonly state: i32;\n  readonly lastChecked: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannel.idl\n\ninterface nsIChannel extends nsIRequest {\n  readonly LOAD_DOCUMENT_URI?: 65536;\n  readonly LOAD_RETARGETED_DOCUMENT_URI?: 131072;\n  readonly LOAD_REPLACE?: 262144;\n  readonly LOAD_INITIAL_DOCUMENT_URI?: 524288;\n  readonly LOAD_TARGETED?: 1048576;\n  readonly LOAD_CALL_CONTENT_SNIFFERS?: 2097152;\n  readonly LOAD_BYPASS_URL_CLASSIFIER?: 4194304;\n  readonly LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE?: 8388608;\n  readonly LOAD_EXPLICIT_CREDENTIALS?: 16777216;\n  readonly LOAD_BYPASS_SERVICE_WORKER?: 33554432;\n  readonly DISPOSITION_INLINE?: 0;\n  readonly DISPOSITION_ATTACHMENT?: 1;\n  readonly DISPOSITION_FORCE_INLINE?: 2;\n\n  originalURI: nsIURI;\n  readonly URI: nsIURI;\n  owner: nsISupports;\n  notificationCallbacks: nsIInterfaceRequestor;\n  readonly securityInfo: nsITransportSecurityInfo;\n  contentType: string;\n  contentCharset: string;\n  contentLength: i64;\n  open(): nsIInputStream;\n  asyncOpen(aListener: nsIStreamListener): void;\n  readonly canceled: boolean;\n  contentDisposition: u32;\n  contentDispositionFilename: string;\n  readonly contentDispositionHeader: string;\n  loadInfo: nsILoadInfo;\n  readonly isDocument: boolean;\n}\n\ninterface nsIIdentChannel extends nsIChannel {\n  channelId: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannelEventSink.idl\n\ninterface nsIChannelEventSink extends nsISupports {\n  readonly REDIRECT_TEMPORARY?: 1;\n  readonly REDIRECT_PERMANENT?: 2;\n  readonly REDIRECT_INTERNAL?: 4;\n  readonly REDIRECT_STS_UPGRADE?: 8;\n  readonly REDIRECT_AUTH_RETRY?: 16;\n  readonly REDIRECT_TRANSPARENT?: 32;\n\n  asyncOnChannelRedirect(oldChannel: nsIChannel, newChannel: nsIChannel, flags: u32, callback: nsIAsyncVerifyRedirectCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIChildChannel.idl\n\ninterface nsIChildChannel extends nsISupports {\n  connectParent(registrarId: u32): void;\n  completeRedirectSetup(aListener: nsIStreamListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassOfService.idl\n\n}  // global\n\ndeclare enum nsIClassOfService_FetchPriority {\n  FETCHPRIORITY_UNSET = 0,\n  FETCHPRIORITY_LOW = 1,\n  FETCHPRIORITY_AUTO = 2,\n  FETCHPRIORITY_HIGH = 3,\n}\n\ndeclare global {\n\nnamespace nsIClassOfService {\n  type FetchPriority = nsIClassOfService_FetchPriority;\n}\n\ninterface nsIClassOfService extends nsISupports, Enums<typeof nsIClassOfService_FetchPriority> {\n  readonly Leader?: 1;\n  readonly Follower?: 2;\n  readonly Speculative?: 4;\n  readonly Background?: 8;\n  readonly Unblocked?: 16;\n  readonly Throttleable?: 32;\n  readonly UrgentStart?: 64;\n  readonly DontThrottle?: 128;\n  readonly Tail?: 256;\n  readonly TailAllowed?: 512;\n  readonly TailForbidden?: 1024;\n\n  classFlags: u32;\n  incremental: boolean;\n  clearClassFlags(flags: u32): void;\n  addClassFlags(flags: u32): void;\n  fetchPriority: nsIClassOfService.FetchPriority;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassifiedChannel.idl\n\n}  // global\n\ndeclare enum nsIClassifiedChannel_ClassificationFlags {\n  CLASSIFIED_FINGERPRINTING = 1,\n  CLASSIFIED_FINGERPRINTING_CONTENT = 2,\n  CLASSIFIED_CRYPTOMINING = 4,\n  CLASSIFIED_CRYPTOMINING_CONTENT = 8,\n  CLASSIFIED_TRACKING = 16,\n  CLASSIFIED_TRACKING_AD = 32,\n  CLASSIFIED_TRACKING_ANALYTICS = 64,\n  CLASSIFIED_TRACKING_SOCIAL = 128,\n  CLASSIFIED_TRACKING_CONTENT = 256,\n  CLASSIFIED_SOCIALTRACKING = 512,\n  CLASSIFIED_SOCIALTRACKING_FACEBOOK = 1024,\n  CLASSIFIED_SOCIALTRACKING_LINKEDIN = 2048,\n  CLASSIFIED_SOCIALTRACKING_TWITTER = 4096,\n  CLASSIFIED_EMAILTRACKING = 8192,\n  CLASSIFIED_EMAILTRACKING_CONTENT = 16384,\n  CLASSIFIED_CONSENTMANAGER = 32768,\n  CLASSIFIED_ANTIFRAUD = 65536,\n  CLASSIFIED_ANY_BASIC_TRACKING = 241,\n  CLASSIFIED_ANY_STRICT_TRACKING = 499,\n  CLASSIFIED_ANY_SOCIAL_TRACKING = 7680,\n}\n\ndeclare global {\n\nnamespace nsIClassifiedChannel {\n  type ClassificationFlags = nsIClassifiedChannel_ClassificationFlags;\n}\n\ninterface nsIClassifiedChannel extends nsISupports, Enums<typeof nsIClassifiedChannel_ClassificationFlags> {\n  setMatchedInfo(aList: string, aProvider: string, aFullHash: string): void;\n  readonly matchedList: string;\n  readonly matchedProvider: string;\n  readonly matchedFullHash: string;\n  setMatchedTrackingInfo(aLists: string[], aFullHashes: string[]): void;\n  readonly matchedTrackingLists: string[];\n  readonly matchedTrackingFullHashes: string[];\n  readonly firstPartyClassificationFlags: u32;\n  readonly thirdPartyClassificationFlags: u32;\n  readonly classificationFlags: u32;\n  isThirdPartyTrackingResource(): boolean;\n  isThirdPartySocialTrackingResource(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIContentSniffer.idl\n\ninterface nsIContentSniffer extends nsISupports {\n  getMIMETypeFromContent(aRequest: nsIRequest, aData: u8[], aLength: u32): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIDHCPClient.idl\n\ninterface nsIDHCPClient extends nsISupports {\n  getOption(option: u8): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboard.idl\n\ntype nsINetDashboardCallback = Callable<{\n  onDashboardDataAvailable(data: any): void;\n}>\n\ninterface nsIDashboard extends nsISupports {\n  requestSockets(cb: nsINetDashboardCallback): void;\n  requestHttpConnections(cb: nsINetDashboardCallback): void;\n  requestWebsocketConnections(cb: nsINetDashboardCallback): void;\n  requestDNSInfo(cb: nsINetDashboardCallback): void;\n  requestConnection(aHost: string, aPort: u32, aProtocol: string, aTimeout: u32, cb: nsINetDashboardCallback): void;\n  enableLogging: boolean;\n  requestDNSLookup(aHost: string, cb: nsINetDashboardCallback): void;\n  requestDNSHTTPSRRLookup(aHost: string, cb: nsINetDashboardCallback): void;\n  requestRcwnStats(cb: nsINetDashboardCallback): void;\n  getLogPath(): string;\n  requestHttp3ConnectionStats(cb: nsINetDashboardCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboardEventNotifier.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIDownloader.idl\n\ninterface nsIDownloader extends nsIStreamListener {\n  init(observer: nsIDownloadObserver, downloadLocation: nsIFile): void;\n}\n\ninterface nsIDownloadObserver extends nsISupports {\n  onDownloadComplete(downloader: nsIDownloader, request: nsIRequest, status: nsresult, result: nsIFile): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIEncodedChannel.idl\n\ninterface nsIEncodedChannel extends nsISupports {\n  readonly contentEncodings: nsIUTF8StringEnumerator;\n  applyConversion: boolean;\n  hasContentDecompressed: boolean;\n  doApplyContentConversions(aNextListener: nsIStreamListener, aNewNextListener: OutParam<nsIStreamListener>, aCtxt: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIExternalProtocolHandler.idl\n\ninterface nsIExternalProtocolHandler extends nsIProtocolHandler {\n  externalAppExistsForScheme(scheme: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileStreams.idl\n\ninterface nsIFileInputStream extends nsIInputStream {\n  readonly CLOSE_ON_EOF?: 4;\n  readonly REOPEN_ON_REWIND?: 8;\n  readonly DEFER_OPEN?: 16;\n  readonly SHARE_DELETE?: 32;\n\n  init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;\n}\n\ninterface nsIFileOutputStream extends nsIOutputStream {\n  readonly DEFER_OPEN?: 1;\n\n  init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;\n}\n\ninterface nsIFileRandomAccessStream extends nsIRandomAccessStream {\n  readonly DEFER_OPEN?: 1;\n\n  init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;\n}\n\ninterface nsIFileMetadata extends nsISupports {\n  readonly size: i64;\n  readonly lastModified: i64;\n}\n\ninterface nsIAsyncFileMetadata extends nsIFileMetadata {\n  asyncFileMetadataWait(aCallback: nsIFileMetadataCallback, aEventTarget: nsIEventTarget): void;\n}\n\ntype nsIFileMetadataCallback = Callable<{\n  onFileMetadataReady(aObject: nsIAsyncFileMetadata): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileURL.idl\n\ninterface nsIFileURL extends nsIURL {\n  readonly file: nsIFile;\n}\n\ninterface nsIFileURLMutator extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIForcePendingChannel.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIFormPOSTActionChannel.idl\n\ninterface nsIFormPOSTActionChannel extends nsIUploadChannel {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIHttpAuthenticatorCallback.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIIOService.idl\n\ninterface nsIIOService extends nsISupports {\n  getProtocolHandler(aScheme: string): nsIProtocolHandler;\n  getProtocolFlags(aScheme: string): u32;\n  getDynamicProtocolFlags(aURI: nsIURI): u32;\n  getDefaultPort(aScheme: string): i32;\n  newURI(aSpec: string, aOriginCharset?: string, aBaseURI?: nsIURI): nsIURI;\n  newFileURI(aFile: nsIFile): nsIURI;\n  createExposableURI(aURI: nsIURI): nsIURI;\n  newChannelFromURI(aURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;\n  newChannelFromURIWithLoadInfo(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;\n  newChannel(aSpec: string, aOriginCharset: string, aBaseURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;\n  newSuspendableChannelWrapper(innerChannel: nsIChannel): nsISuspendableChannelWrapper;\n  newWebTransport(): nsIWebTransport;\n  originAttributesForNetworkState(aChannel: nsIChannel): any;\n  offline: boolean;\n  readonly connectivity: boolean;\n  setConnectivityForTesting(connectivity: boolean): void;\n  allowPort(aPort: i32, aScheme: string): boolean;\n  extractScheme(urlString: string): string;\n  hostnameIsLocalIPAddress(aURI: nsIURI): boolean;\n  hostnameIsSharedIPAddress(aURI: nsIURI): boolean;\n  hostnameIsIPAddressAny(aURI: nsIURI): boolean;\n  isValidHostname(hostname: string): boolean;\n  manageOfflineStatus: boolean;\n  newChannelFromURIWithProxyFlags(aURI: nsIURI, aProxyURI: nsIURI, aProxyFlags: u32, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;\n  readonly socketProcessLaunched: boolean;\n  readonly socketProcessId: u64;\n  registerProtocolHandler(aScheme: string, aHandler: nsIProtocolHandler, aProtocolFlags: u32, aDefaultPort: i32): void;\n  unregisterProtocolHandler(aScheme: string): void;\n  setSimpleURIUnknownRemoteSchemes(aRemoteSchemes: string[]): void;\n  addEssentialDomainMapping(aFrom: string, aTo: string): void;\n  clearEssentialDomainMapping(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalDownload.idl\n\ninterface nsIIncrementalDownload extends nsIRequest {\n  init(uri: nsIURI, destination: nsIFile, chunkSize: i32, intervalInSeconds: i32, extraHeaders: string): void;\n  readonly URI: nsIURI;\n  readonly finalURI: nsIURI;\n  readonly destination: nsIFile;\n  readonly totalSize: i64;\n  readonly currentSize: i64;\n  start(observer: nsIRequestObserver, ctxt: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalStreamLoader.idl\n\ninterface nsIIncrementalStreamLoaderObserver extends nsISupports {\n  onStartRequest(aRequest: nsIRequest): void;\n  onIncrementalData(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, dataLength: u32, data: u8[], consumedLength: InOutParam<u32>): void;\n  onStreamComplete(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;\n}\n\ninterface nsIIncrementalStreamLoader extends nsIThreadRetargetableStreamListener {\n  init(aObserver: nsIIncrementalStreamLoaderObserver): void;\n  readonly numBytesRead: u32;\n  readonly request: nsIRequest;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamChannel.idl\n\ninterface nsIInputStreamChannel extends nsISupports {\n  setURI(aURI: nsIURI): void;\n  contentStream: nsIInputStream;\n  srcdocData: string;\n  readonly isSrcdocChannel: boolean;\n  baseURI: nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamPump.idl\n\ninterface nsIInputStreamPump extends nsIRequest {\n  init(aStream: nsIInputStream, aSegmentSize: u32, aSegmentCount: u32, aCloseWhenDone: boolean, aMainThreadTarget?: nsISerialEventTarget): void;\n  asyncRead(aListener: nsIStreamListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIInterceptionInfo.idl\n\ninterface nsIInterceptionInfo extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadContextInfo.idl\n\ninterface nsILoadContextInfo extends nsISupports {\n  readonly isPrivate: boolean;\n  readonly isAnonymous: boolean;\n  readonly originAttributes: any;\n}\n\ninterface nsILoadContextInfoFactory extends nsISupports {\n  readonly default: nsILoadContextInfo;\n  readonly private: nsILoadContextInfo;\n  readonly anonymous: nsILoadContextInfo;\n  custom(aAnonymous: boolean, aOriginAttributes: any): nsILoadContextInfo;\n  fromLoadContext(aLoadContext: nsILoadContext, aAnonymous: boolean): nsILoadContextInfo;\n  fromWindow(aWindow: nsIDOMWindow, aAnonymous: boolean): nsILoadContextInfo;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroup.idl\n\ninterface nsILoadGroup extends nsIRequest {\n  groupObserver: nsIRequestObserver;\n  defaultLoadRequest: nsIRequest;\n  addRequest(aRequest: nsIRequest, aContext: nsISupports): void;\n  removeRequest(aRequest: nsIRequest, aContext: nsISupports, aStatus: nsresult): void;\n  readonly requests: nsISimpleEnumerator;\n  totalKeepAliveBytes: u64;\n  readonly activeCount: u32;\n  notificationCallbacks: nsIInterfaceRequestor;\n  readonly requestContextID: u64;\n  defaultLoadFlags: nsLoadFlags;\n  readonly isBrowsingContextDiscarded: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroupChild.idl\n\ninterface nsILoadGroupChild extends nsISupports {\n  parentLoadGroup: nsILoadGroup;\n  readonly childLoadGroup: nsILoadGroup;\n  readonly rootLoadGroup: nsILoadGroup;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadInfo.idl\n\n}  // global\n\ndeclare enum nsILoadInfo_StoragePermissionState {\n  NoStoragePermission = 0,\n  HasStoragePermission = 1,\n  StoragePermissionAllowListed = 2,\n}\n\ndeclare enum nsILoadInfo_IPAddressSpace {\n  Unknown = 0,\n  Local = 1,\n  Private = 2,\n  Public = 3,\n  Invalid = 4,\n}\n\ndeclare enum nsILoadInfo_CrossOriginOpenerPolicy {\n  OPENER_POLICY_UNSAFE_NONE = 0,\n  OPENER_POLICY_SAME_ORIGIN = 1,\n  OPENER_POLICY_SAME_ORIGIN_ALLOW_POPUPS = 2,\n  OPENER_POLICY_EMBEDDER_POLICY_REQUIRE_CORP_FLAG = 16,\n  OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP = 17,\n}\n\ndeclare enum nsILoadInfo_CrossOriginEmbedderPolicy {\n  EMBEDDER_POLICY_NULL = 0,\n  EMBEDDER_POLICY_REQUIRE_CORP = 1,\n  EMBEDDER_POLICY_CREDENTIALLESS = 2,\n}\n\ndeclare enum nsILoadInfo_SchemelessInputType {\n  SchemelessInputTypeUnset = 0,\n  SchemelessInputTypeSchemeful = 1,\n  SchemelessInputTypeSchemeless = 2,\n}\n\ndeclare enum nsILoadInfo_HTTPSUpgradeTelemetryType {\n  NOT_INITIALIZED = 0,\n  NO_UPGRADE = 1,\n  ALREADY_HTTPS = 2,\n  HSTS = 4,\n  HTTPS_ONLY_UPGRADE = 8,\n  HTTPS_ONLY_UPGRADE_DOWNGRADE = 16,\n  HTTPS_FIRST_UPGRADE = 32,\n  HTTPS_FIRST_UPGRADE_DOWNGRADE = 64,\n  HTTPS_FIRST_SCHEMELESS_UPGRADE = 128,\n  HTTPS_FIRST_SCHEMELESS_UPGRADE_DOWNGRADE = 256,\n  CSP_UIR = 512,\n  HTTPS_RR = 1024,\n  WEB_EXTENSION_UPGRADE = 2048,\n  UPGRADE_EXCEPTION = 4096,\n  SKIP_HTTPS_UPGRADE = 8192,\n}\n\ndeclare global {\n\nnamespace nsILoadInfo {\n  type StoragePermissionState = nsILoadInfo_StoragePermissionState;\n  type IPAddressSpace = nsILoadInfo_IPAddressSpace;\n  type CrossOriginOpenerPolicy = nsILoadInfo_CrossOriginOpenerPolicy;\n  type CrossOriginEmbedderPolicy = nsILoadInfo_CrossOriginEmbedderPolicy;\n  type SchemelessInputType = nsILoadInfo_SchemelessInputType;\n  type HTTPSUpgradeTelemetryType = nsILoadInfo_HTTPSUpgradeTelemetryType;\n}\n\ninterface nsILoadInfo extends nsISupports, Enums<typeof nsILoadInfo_StoragePermissionState & typeof nsILoadInfo_IPAddressSpace & typeof nsILoadInfo_CrossOriginOpenerPolicy & typeof nsILoadInfo_CrossOriginEmbedderPolicy & typeof nsILoadInfo_SchemelessInputType & typeof nsILoadInfo_HTTPSUpgradeTelemetryType> {\n  readonly SEC_ONLY_FOR_EXPLICIT_CONTENTSEC_CHECK?: 0;\n  readonly SEC_REQUIRE_SAME_ORIGIN_INHERITS_SEC_CONTEXT?: 1;\n  readonly SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED?: 2;\n  readonly SEC_ALLOW_CROSS_ORIGIN_INHERITS_SEC_CONTEXT?: 4;\n  readonly SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL?: 8;\n  readonly SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT?: 16;\n  readonly SEC_COOKIES_DEFAULT?: 0;\n  readonly SEC_COOKIES_INCLUDE?: 32;\n  readonly SEC_COOKIES_SAME_ORIGIN?: 64;\n  readonly SEC_COOKIES_OMIT?: 96;\n  readonly SEC_FORCE_INHERIT_PRINCIPAL?: 128;\n  readonly SEC_ABOUT_BLANK_INHERITS?: 512;\n  readonly SEC_ALLOW_CHROME?: 1024;\n  readonly SEC_DISALLOW_SCRIPT?: 2048;\n  readonly SEC_DONT_FOLLOW_REDIRECTS?: 4096;\n  readonly SEC_LOAD_ERROR_PAGE?: 8192;\n  readonly SEC_FORCE_INHERIT_PRINCIPAL_OVERRULE_OWNER?: 16384;\n  readonly HTTPS_ONLY_UNINITIALIZED?: 1;\n  readonly HTTPS_ONLY_UPGRADED_LISTENER_NOT_REGISTERED?: 2;\n  readonly HTTPS_ONLY_UPGRADED_LISTENER_REGISTERED?: 4;\n  readonly HTTPS_ONLY_EXEMPT?: 8;\n  readonly HTTPS_ONLY_TOP_LEVEL_LOAD_IN_PROGRESS?: 16;\n  readonly HTTPS_ONLY_DOWNLOAD_IN_PROGRESS?: 32;\n  readonly HTTPS_ONLY_DO_NOT_LOG_TO_CONSOLE?: 64;\n  readonly HTTPS_ONLY_UPGRADED_HTTPS_FIRST?: 128;\n  readonly HTTPS_ONLY_BYPASS_ORB?: 256;\n  readonly TAINTING_BASIC?: 0;\n  readonly TAINTING_CORS?: 1;\n  readonly TAINTING_OPAQUE?: 2;\n  readonly BLOCKING_REASON_NONE?: 0;\n  readonly BLOCKING_REASON_CORSDISABLED?: 1001;\n  readonly BLOCKING_REASON_CORSDIDNOTSUCCEED?: 1002;\n  readonly BLOCKING_REASON_CORSREQUESTNOTHTTP?: 1003;\n  readonly BLOCKING_REASON_CORSMULTIPLEALLOWORIGINNOTALLOWED?: 1004;\n  readonly BLOCKING_REASON_CORSMISSINGALLOWORIGIN?: 1005;\n  readonly BLOCKING_REASON_CORSNOTSUPPORTINGCREDENTIALS?: 1006;\n  readonly BLOCKING_REASON_CORSALLOWORIGINNOTMATCHINGORIGIN?: 1007;\n  readonly BLOCKING_REASON_CORSMISSINGALLOWCREDENTIALS?: 1008;\n  readonly BLOCKING_REASON_CORSORIGINHEADERNOTADDED?: 1009;\n  readonly BLOCKING_REASON_CORSEXTERNALREDIRECTNOTALLOWED?: 1010;\n  readonly BLOCKING_REASON_CORSPREFLIGHTDIDNOTSUCCEED?: 1011;\n  readonly BLOCKING_REASON_CORSINVALIDALLOWMETHOD?: 1012;\n  readonly BLOCKING_REASON_CORSMETHODNOTFOUND?: 1013;\n  readonly BLOCKING_REASON_CORSINVALIDALLOWHEADER?: 1014;\n  readonly BLOCKING_REASON_CORSMISSINGALLOWHEADERFROMPREFLIGHT?: 1015;\n  readonly BLOCKING_REASON_CLASSIFY_MALWARE_URI?: 2001;\n  readonly BLOCKING_REASON_CLASSIFY_PHISHING_URI?: 2002;\n  readonly BLOCKING_REASON_CLASSIFY_UNWANTED_URI?: 2003;\n  readonly BLOCKING_REASON_CLASSIFY_TRACKING_URI?: 2004;\n  readonly BLOCKING_REASON_CLASSIFY_BLOCKED_URI?: 2005;\n  readonly BLOCKING_REASON_CLASSIFY_HARMFUL_URI?: 2006;\n  readonly BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI?: 2007;\n  readonly BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI?: 2008;\n  readonly BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI?: 2009;\n  readonly BLOCKING_REASON_CLASSIFY_EMAILTRACKING_URI?: 2010;\n  readonly BLOCKING_REASON_MIXED_BLOCKED?: 3001;\n  readonly BLOCKING_REASON_CONTENT_POLICY_GENERAL?: 4000;\n  readonly BLOCKING_REASON_CONTENT_POLICY_NO_DATA_PROTOCOL?: 4001;\n  readonly BLOCKING_REASON_CONTENT_POLICY_CONTENT_BLOCKED?: 4003;\n  readonly BLOCKING_REASON_CONTENT_POLICY_DATA_DOCUMENT?: 4004;\n  readonly BLOCKING_REASON_CONTENT_POLICY_WEB_BROWSER?: 4005;\n  readonly BLOCKING_REASON_CONTENT_POLICY_PRELOAD?: 4006;\n  readonly BLOCKING_REASON_NOT_SAME_ORIGIN?: 5000;\n  readonly BLOCKING_REASON_EXTENSION_WEBREQUEST?: 6000;\n  readonly BLOCKING_REASON_WEBDRIVER_BIDI?: 7000;\n\n  readonly loadingPrincipal: nsIPrincipal;\n  readonly triggeringPrincipal: nsIPrincipal;\n  setTriggeringPrincipalForTesting(aPrincipal: nsIPrincipal): void;\n  triggeringRemoteType: string;\n  principalToInherit: nsIPrincipal;\n  readonly loadingDocument: Document;\n  readonly loadingContext: nsISupports;\n  readonly securityFlags: nsSecurityFlags;\n  readonly sandboxFlags: u32;\n  triggeringSandboxFlags: u32;\n  triggeringWindowId: u64;\n  triggeringStorageAccess: boolean;\n  triggeringFirstPartyClassificationFlags: u32;\n  triggeringThirdPartyClassificationFlags: u32;\n  readonly securityMode: u32;\n  skipContentSniffing: boolean;\n  httpsOnlyStatus: u32;\n  hstsStatus: boolean;\n  hasValidUserGestureActivation: boolean;\n  textDirectiveUserActivation: boolean;\n  isSameDocumentNavigation: boolean;\n  allowDeprecatedSystemRequests: boolean;\n  parserCreatedScript: boolean;\n  isUserTriggeredSave: boolean;\n  isInDevToolsContext: boolean;\n  isInThirdPartyContext: boolean;\n  isThirdPartyContextToTopWindow: boolean;\n  isOn3PCBExceptionList: boolean;\n  readonly cookiePolicy: u32;\n  cookieJarSettings: nsICookieJarSettings;\n  ipAddressSpace: nsILoadInfo.IPAddressSpace;\n  parentIpAddressSpace: nsILoadInfo.IPAddressSpace;\n  storagePermission: nsILoadInfo.StoragePermissionState;\n  isMetaRefresh: boolean;\n  readonly forceInheritPrincipal: boolean;\n  readonly forceInheritPrincipalOverruleOwner: boolean;\n  readonly loadingSandboxed: boolean;\n  readonly aboutBlankInherits: boolean;\n  readonly allowChrome: boolean;\n  readonly disallowScript: boolean;\n  readonly dontFollowRedirects: boolean;\n  readonly loadErrorPage: boolean;\n  isFormSubmission: boolean;\n  isGETRequest: boolean;\n  readonly externalContentPolicyType: nsContentPolicyType;\n  sendCSPViolationEvents: boolean;\n  readonly internalContentPolicyType: nsContentPolicyType;\n  readonly fetchDestination: string;\n  readonly blockAllMixedContent: boolean;\n  readonly upgradeInsecureRequests: boolean;\n  readonly browserUpgradeInsecureRequests: boolean;\n  browserDidUpgradeInsecureRequests: boolean;\n  readonly browserWouldUpgradeInsecureRequests: boolean;\n  forceAllowDataURI: boolean;\n  allowInsecureRedirectToDataURI: boolean;\n  skipContentPolicyCheckForWebRequest: boolean;\n  originalFrameSrcLoad: boolean;\n  readonly forceInheritPrincipalDropped: boolean;\n  readonly innerWindowID: u64;\n  readonly browsingContextID: u64;\n  readonly browsingContext: BrowsingContext;\n  workerAssociatedBrowsingContextID: u64;\n  readonly workerAssociatedBrowsingContext: BrowsingContext;\n  readonly frameBrowsingContextID: u64;\n  readonly frameBrowsingContext: BrowsingContext;\n  readonly targetBrowsingContextID: u64;\n  readonly targetBrowsingContext: BrowsingContext;\n  resetPrincipalToInheritToNullPrincipal(): void;\n  originAttributes: any;\n  initialSecurityCheckDone: boolean;\n  loadTriggeredFromExternal: boolean;\n  appendRedirectHistoryEntry(channelToDeriveFrom: nsIChannel, isInternalRedirect: boolean): void;\n  readonly redirectChainIncludingInternalRedirects: any;\n  readonly redirectChain: any;\n  readonly forcePreflight: boolean;\n  readonly isPreflight: boolean;\n  readonly tainting: u32;\n  maybeIncreaseTainting(aTainting: u32): void;\n  readonly isTopLevelLoad: boolean;\n  resultPrincipalURI: nsIURI;\n  channelCreationOriginalURI: nsIURI;\n  documentHasUserInteracted: boolean;\n  allowListFutureDocumentsCreatedFromThisRedirectChain: boolean;\n  needForCheckingAntiTrackingHeuristic: boolean;\n  cspNonce: string;\n  integrityMetadata: string;\n  requestBlockingReason: u32;\n  cspEventListener: nsICSPEventListener;\n  readonly isFromProcessingFrameAttributes: boolean;\n  loadingEmbedderPolicy: nsILoadInfo.CrossOriginEmbedderPolicy;\n  isOriginTrialCoepCredentiallessEnabledForTopLevel: boolean;\n  isMediaRequest: boolean;\n  isMediaInitialRequest: boolean;\n  isFromObjectOrEmbed: boolean;\n  unstrippedURI: nsIURI;\n  hasInjectedCookieForCookieBannerHandling: boolean;\n  schemelessInput: nsILoadInfo.SchemelessInputType;\n  httpsUpgradeTelemetry: nsILoadInfo.HTTPSUpgradeTelemetryType;\n  isNewWindowTarget: boolean;\n  skipHTTPSUpgrade: boolean;\n  userNavigationInvolvement: u8;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIMIMEInputStream.idl\n\ninterface nsIMIMEInputStream extends nsIInputStream {\n  addHeader(name: string, value: string): void;\n  visitHeaders(visitor: nsIHttpHeaderVisitor): void;\n  setData(stream: nsIInputStream): void;\n  readonly data: nsIInputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIMockNetworkLayerController.idl\n\ninterface nsIMockNetworkLayerController extends nsISupports {\n  createScriptableNetAddr(aIP: string, aPort: u16): nsINetAddr;\n  addNetAddrOverride(aFrom: nsINetAddr, aTo: nsINetAddr): void;\n  clearNetAddrOverrides(): void;\n  blockUDPAddrIO(aAddr: nsINetAddr): void;\n  clearBlockedUDPAddr(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIMultiPartChannel.idl\n\ninterface nsIMultiPartChannel extends nsISupports {\n  readonly baseChannel: nsIChannel;\n  readonly partID: u32;\n  readonly isLastPart: boolean;\n}\n\ninterface nsIMultiPartChannelListener extends nsISupports {\n  onAfterLastPart(status: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINestedURI.idl\n\ninterface nsINestedURI extends nsISupports {\n  readonly innerURI: nsIURI;\n  readonly innermostURI: nsIURI;\n}\n\ninterface nsINestedURIMutator extends nsISupports {\n}\n\ninterface nsINestedAboutURIMutator extends nsISupports {\n}\n\ninterface nsIJSURIMutator extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetAddr.idl\n\ninterface nsINetAddr extends nsISupports {\n  readonly FAMILY_INET?: 1;\n  readonly FAMILY_INET6?: 2;\n  readonly FAMILY_LOCAL?: 3;\n\n  readonly family: u16;\n  readonly address: string;\n  readonly port: u16;\n  readonly flow: u32;\n  readonly scope: u32;\n  readonly isV4Mapped: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetUtil.idl\n\ninterface nsINetUtil extends nsISupports {\n  readonly ESCAPE_ALL?: 0;\n  readonly ESCAPE_XALPHAS?: 1;\n  readonly ESCAPE_XPALPHAS?: 2;\n  readonly ESCAPE_URL_PATH?: 4;\n  readonly ESCAPE_URL_APPLE_EXTRA?: 8;\n  readonly ESCAPE_URL_SCHEME?: 1;\n  readonly ESCAPE_URL_USERNAME?: 2;\n  readonly ESCAPE_URL_PASSWORD?: 4;\n  readonly ESCAPE_URL_HOST?: 8;\n  readonly ESCAPE_URL_DIRECTORY?: 16;\n  readonly ESCAPE_URL_FILE_BASENAME?: 32;\n  readonly ESCAPE_URL_FILE_EXTENSION?: 64;\n  readonly ESCAPE_URL_PARAM?: 128;\n  readonly ESCAPE_URL_QUERY?: 256;\n  readonly ESCAPE_URL_REF?: 512;\n  readonly ESCAPE_URL_FILEPATH?: 112;\n  readonly ESCAPE_URL_MINIMAL?: 1023;\n  readonly ESCAPE_URL_FORCED?: 1024;\n  readonly ESCAPE_URL_ONLY_ASCII?: 2048;\n  readonly ESCAPE_URL_ONLY_NONASCII?: 4096;\n  readonly ESCAPE_URL_COLON?: 16384;\n  readonly ESCAPE_URL_SKIP_CONTROL?: 32768;\n  readonly ESCAPE_URL_EXT_HANDLER?: 131072;\n\n  parseRequestContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;\n  parseResponseContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;\n  protocolHasFlags(aURI: nsIURI, aFlag: u32): boolean;\n  URIChainHasFlags(aURI: nsIURI, aFlags: u32): boolean;\n  escapeString(aString: string, aEscapeType: u32): string;\n  escapeURL(aStr: string, aFlags: u32): string;\n  unescapeString(aStr: string, aFlags: u32): string;\n  extractCharsetFromContentType(aTypeHeader: string, aCharset: OutParam<string>, aCharsetStart: OutParam<i32>, aCharsetEnd: OutParam<i32>): boolean;\n  socketProcessTelemetryPing(): void;\n  notImplemented(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkConnectivityService.idl\n\n}  // global\n\ndeclare enum nsINetworkConnectivityService_ConnectivityState {\n  UNKNOWN = 0,\n  OK = 1,\n  NOT_AVAILABLE = 2,\n}\n\ndeclare global {\n\nnamespace nsINetworkConnectivityService {\n  type ConnectivityState = nsINetworkConnectivityService_ConnectivityState;\n}\n\ninterface nsINetworkConnectivityService extends nsISupports, Enums<typeof nsINetworkConnectivityService_ConnectivityState> {\n  DNSv4: nsINetworkConnectivityService.ConnectivityState;\n  DNSv6: nsINetworkConnectivityService.ConnectivityState;\n  DNS_HTTPS: nsINetworkConnectivityService.ConnectivityState;\n  IPv4: nsINetworkConnectivityService.ConnectivityState;\n  IPv6: nsINetworkConnectivityService.ConnectivityState;\n  NAT64: nsINetworkConnectivityService.ConnectivityState;\n  recheckDNS(): void;\n  recheckIPConnectivity(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInfoService.idl\n\ninterface nsIListNetworkAddressesListener extends nsISupports {\n  onListedNetworkAddresses(aAddressArray: string[]): void;\n  onListNetworkAddressesFailed(): void;\n}\n\ninterface nsIGetHostnameListener extends nsISupports {\n  onGotHostname(aHostname: string): void;\n  onGetHostnameFailed(): void;\n}\n\ninterface nsINetworkInfoService extends nsISupports {\n  listNetworkAddresses(aListener: nsIListNetworkAddressesListener): void;\n  getHostname(aListener: nsIGetHostnameListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInterceptController.idl\n\ninterface nsIInterceptedBodyCallback extends nsISupports {\n  bodyComplete(aRv: nsresult): void;\n}\n\ninterface nsIInterceptedChannel extends nsISupports {\n  resetInterception(bypass: boolean): void;\n  synthesizeStatus(status: u16, reason: string): void;\n  synthesizeHeader(name: string, value: string): void;\n  startSynthesizedResponse(body: nsIInputStream, callback: nsIInterceptedBodyCallback, channel: nsICacheInfoChannel, finalURLSpec: string, responseRedirected: boolean): void;\n  finishSynthesizedResponse(): void;\n  cancelInterception(status: nsresult): void;\n  readonly channel: nsIChannel;\n  readonly secureUpgradedChannelURI: nsIURI;\n}\n\ninterface nsINetworkInterceptController extends nsISupports {\n  shouldPrepareForIntercept(aURI: nsIURI, aChannel: nsIChannel): boolean;\n  channelIntercepted(aChannel: nsIInterceptedChannel): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkLinkService.idl\n\ninterface nsINetworkLinkService extends nsISupports {\n  readonly LINK_TYPE_UNKNOWN?: 0;\n  readonly LINK_TYPE_ETHERNET?: 1;\n  readonly LINK_TYPE_USB?: 2;\n  readonly LINK_TYPE_WIFI?: 3;\n  readonly LINK_TYPE_WIMAX?: 4;\n  readonly LINK_TYPE_MOBILE?: 9;\n  readonly NONE_DETECTED?: 0;\n  readonly VPN_DETECTED?: 1;\n  readonly PROXY_DETECTED?: 2;\n  readonly NRPT_DETECTED?: 4;\n\n  readonly isLinkUp: boolean;\n  readonly linkStatusKnown: boolean;\n  readonly linkType: u32;\n  readonly networkID: string;\n  readonly dnsSuffixList: string[];\n  readonly resolvers: nsINetAddr[];\n  readonly platformDNSIndications: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictor.idl\n\ninterface nsINetworkPredictor extends nsISupports {\n  readonly PREDICT_LINK?: 0;\n  readonly PREDICT_LOAD?: 1;\n  readonly PREDICT_STARTUP?: 2;\n  readonly LEARN_LOAD_TOPLEVEL?: 0;\n  readonly LEARN_LOAD_SUBRESOURCE?: 1;\n  readonly LEARN_LOAD_REDIRECT?: 2;\n  readonly LEARN_STARTUP?: 3;\n\n  predict(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorPredictReason, originAttributes: any, verifier: nsINetworkPredictorVerifier): void;\n  learn(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorLearnReason, originAttributes: any): void;\n  reset(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictorVerifier.idl\n\ninterface nsINetworkPredictorVerifier extends nsISupports {\n  onPredictPrefetch(uri: nsIURI, status: u32): void;\n  onPredictPreconnect(uri: nsIURI): void;\n  onPredictDNS(uri: nsIURI): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsINullChannel.idl\n\ninterface nsINullChannel extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentChannel.idl\n\ninterface nsIParentChannel extends nsIStreamListener {\n  delete(): void;\n  readonly remoteType: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentRedirectingChannel.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermission.idl\n\ninterface nsIPermission extends nsISupports {\n  readonly principal: nsIPrincipal;\n  readonly type: string;\n  readonly capability: u32;\n  readonly expireType: u32;\n  readonly expireTime: i64;\n  readonly modificationTime: i64;\n  matches(principal: nsIPrincipal, exactHost: boolean): boolean;\n  matchesURI(uri: nsIURI, exactHost: boolean): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermissionManager.idl\n\ninterface nsIPermissionManager extends nsISupports {\n  readonly UNKNOWN_ACTION?: 0;\n  readonly ALLOW_ACTION?: 1;\n  readonly DENY_ACTION?: 2;\n  readonly PROMPT_ACTION?: 3;\n  readonly MAX_VALID_ACTION?: 3;\n  readonly EXPIRE_NEVER?: 0;\n  readonly EXPIRE_SESSION?: 1;\n  readonly EXPIRE_TIME?: 2;\n  readonly EXPIRE_POLICY?: 3;\n\n  getAllForPrincipal(principal: nsIPrincipal): nsIPermission[];\n  getAllWithTypePrefix(prefix: string): nsIPermission[];\n  getAllByTypes(types: string[]): nsIPermission[];\n  getAllByTypeSince(type: string, since: i64): nsIPermission[];\n  addFromPrincipal(principal: nsIPrincipal, type: string, permission: u32, expireType?: u32, expireTime?: i64): void;\n  testAddFromPrincipalByTime(principal: nsIPrincipal, type: string, permission: u32, modificationTime: i64): void;\n  addFromPrincipalAndPersistInPrivateBrowsing(principal: nsIPrincipal, type: string, permission: u32): void;\n  addDefaultFromPrincipal(principal: nsIPrincipal, type: string, permission: u32): void;\n  removeFromPrincipal(principal: nsIPrincipal, type: string): void;\n  removePermission(perm: nsIPermission): void;\n  removeAll(): void;\n  removeAllSince(since: i64): void;\n  removeByType(type: string): void;\n  removeAllExceptTypes(typeExceptions: string[]): void;\n  removeByTypeSince(type: string, since: i64): void;\n  removeAllSinceWithTypeExceptions(since: i64, typeExceptions: string[]): void;\n  testPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;\n  testExactPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;\n  testExactPermanentPermission(principal: nsIPrincipal, type: string): u32;\n  getPermissionObject(principal: nsIPrincipal, type: string, exactHost: boolean): nsIPermission;\n  readonly all: nsIPermission[];\n  removePermissionsWithAttributes(patternAsJSON: string, typeInclusions: string[], typeExceptions: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrivateBrowsingChannel.idl\n\ninterface nsIPrivateBrowsingChannel extends nsISupports {\n  setPrivate(aPrivate: boolean): void;\n  readonly isChannelPrivate: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProgressEventSink.idl\n\ninterface nsIProgressEventSink extends nsISupports {\n  onProgress(aRequest: nsIRequest, aProgress: i64, aProgressMax: i64): void;\n  onStatus(aRequest: nsIRequest, aStatus: nsresult, aStatusArg: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrompt.idl\n\ninterface nsIPrompt extends nsISupports {\n  readonly BUTTON_POS_0?: 1;\n  readonly BUTTON_POS_1?: 256;\n  readonly BUTTON_POS_2?: 65536;\n  readonly BUTTON_TITLE_OK?: 1;\n  readonly BUTTON_TITLE_CANCEL?: 2;\n  readonly BUTTON_TITLE_YES?: 3;\n  readonly BUTTON_TITLE_NO?: 4;\n  readonly BUTTON_TITLE_SAVE?: 5;\n  readonly BUTTON_TITLE_DONT_SAVE?: 6;\n  readonly BUTTON_TITLE_REVERT?: 7;\n  readonly BUTTON_TITLE_IS_STRING?: 127;\n  readonly BUTTON_POS_0_DEFAULT?: 0;\n  readonly BUTTON_POS_1_DEFAULT?: 16777216;\n  readonly BUTTON_POS_2_DEFAULT?: 33554432;\n  readonly BUTTON_DELAY_ENABLE?: 67108864;\n  readonly SHOW_SPINNER?: 134217728;\n  readonly BUTTON_NONE_ENABLE_BIT?: 268435456;\n  readonly BUTTON_NONE?: 268435583;\n  readonly BUTTON_POS_1_IS_SECONDARY?: 536870912;\n  readonly STD_OK_CANCEL_BUTTONS?: 513;\n  readonly STD_YES_NO_BUTTONS?: 1027;\n  readonly MODAL_TYPE_CONTENT?: 1;\n  readonly MODAL_TYPE_TAB?: 2;\n  readonly MODAL_TYPE_WINDOW?: 3;\n  readonly MODAL_TYPE_INTERNAL_WINDOW?: 4;\n\n  alert(dialogTitle: string, text: string): void;\n  alertCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): void;\n  confirm(dialogTitle: string, text: string): boolean;\n  confirmCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): boolean;\n  confirmEx(dialogTitle: string, text: string, buttonFlags: u32, button0Title: string, button1Title: string, button2Title: string, checkMsg: string, checkValue: InOutParam<boolean>): i32;\n  prompt(dialogTitle: string, text: string, value: InOutParam<string>, checkMsg: string, checkValue: InOutParam<boolean>): boolean;\n  promptPassword(dialogTitle: string, text: string, password: InOutParam<string>): boolean;\n  promptUsernameAndPassword(dialogTitle: string, text: string, username: InOutParam<string>, password: InOutParam<string>): boolean;\n  select(dialogTitle: string, text: string, selectList: string[], outSelection: OutParam<i32>): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolHandler.idl\n\ninterface nsIProtocolHandlerWithDynamicFlags extends nsISupports {\n  getFlagsForURI(aURI: nsIURI): u32;\n}\n\ninterface nsIProtocolHandler extends nsISupports {\n  readonly URI_STD?: 0;\n  readonly URI_NORELATIVE?: 1;\n  readonly URI_NOAUTH?: 2;\n  readonly ALLOWS_PROXY?: 4;\n  readonly ALLOWS_PROXY_HTTP?: 8;\n  readonly URI_INHERITS_SECURITY_CONTEXT?: 16;\n  readonly URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT?: 32;\n  readonly URI_LOADABLE_BY_ANYONE?: 64;\n  readonly URI_DANGEROUS_TO_LOAD?: 128;\n  readonly URI_IS_UI_RESOURCE?: 256;\n  readonly URI_IS_LOCAL_FILE?: 512;\n  readonly URI_LOADABLE_BY_SUBSUMERS?: 1024;\n  readonly URI_DOES_NOT_RETURN_DATA?: 2048;\n  readonly URI_IS_LOCAL_RESOURCE?: 4096;\n  readonly URI_OPENING_EXECUTES_SCRIPT?: 8192;\n  readonly URI_NON_PERSISTABLE?: 16384;\n  readonly URI_CROSS_ORIGIN_NEEDS_WEBAPPS_PERM?: 32768;\n  readonly URI_SYNC_LOAD_IS_OK?: 65536;\n  readonly URI_IS_POTENTIALLY_TRUSTWORTHY?: 131072;\n  readonly URI_IS_WEBEXTENSION_RESOURCE?: 262144;\n  readonly ORIGIN_IS_FULL_SPEC?: 524288;\n  readonly URI_SCHEME_NOT_SELF_LINKABLE?: 1048576;\n  readonly URI_LOADABLE_BY_EXTENSIONS?: 2097152;\n  readonly URI_FORBIDS_COOKIE_ACCESS?: 4194304;\n  readonly URI_HAS_WEB_EXPOSED_ORIGIN?: 8388608;\n  readonly DYNAMIC_URI_FLAGS?: 2228416;\n\n  readonly scheme: string;\n  newChannel(aURI: nsIURI, aLoadinfo: nsILoadInfo): nsIChannel;\n  allowPort(port: i32, scheme: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyCallback.idl\n\ninterface nsIProtocolProxyCallback extends nsISupports {\n  onProxyAvailable(aRequest: nsICancelable, aChannel: nsIChannel, aProxyInfo: nsIProxyInfo, aStatus: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyFilter.idl\n\ninterface nsIProxyProtocolFilterResult extends nsISupports {\n  onProxyFilterResult(aProxy: nsIProxyInfo): void;\n}\n\ninterface nsIProtocolProxyFilter extends nsISupports {\n  applyFilter(aURI: nsIURI, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;\n}\n\ninterface nsIProtocolProxyChannelFilter extends nsISupports {\n  applyFilter(aChannel: nsIChannel, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService.idl\n\ninterface nsIProxyConfigChangedCallback extends nsISupports {\n  onProxyConfigChanged(): void;\n}\n\ninterface nsIProtocolProxyService extends nsISupports {\n  readonly RESOLVE_PREFER_SOCKS_PROXY?: 2;\n  readonly RESOLVE_IGNORE_URI_SCHEME?: 4;\n  readonly RESOLVE_PREFER_HTTPS_PROXY?: 12;\n  readonly RESOLVE_ALWAYS_TUNNEL?: 16;\n  readonly PROXYCONFIG_DIRECT?: 0;\n  readonly PROXYCONFIG_MANUAL?: 1;\n  readonly PROXYCONFIG_PAC?: 2;\n  readonly PROXYCONFIG_WPAD?: 4;\n  readonly PROXYCONFIG_SYSTEM?: 5;\n\n  asyncResolve(aChannelOrURI: nsISupports, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;\n  newProxyInfo(aType: string, aHost: string, aPort: i32, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;\n  newProxyInfoWithAuth(aType: string, aHost: string, aPort: i32, aUsername: string, aPassword: string, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;\n  getFailoverForProxy(aProxyInfo: nsIProxyInfo, aURI: nsIURI, aReason: nsresult): nsIProxyInfo;\n  registerFilter(aFilter: nsIProtocolProxyFilter, aPosition: u32): void;\n  registerChannelFilter(aFilter: nsIProtocolProxyChannelFilter, aPosition: u32): void;\n  unregisterFilter(aFilter: nsIProtocolProxyFilter): void;\n  unregisterChannelFilter(aFilter: nsIProtocolProxyChannelFilter): void;\n  readonly hasProxyFilterRegistered: boolean;\n  addProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;\n  removeProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;\n  notifyProxyConfigChangedInternal(): void;\n  readonly proxyConfigType: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService2.idl\n\ninterface nsIProtocolProxyService2 extends nsIProtocolProxyService {\n  reloadPAC(): void;\n  asyncResolve2(aChannel: nsIChannel, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedChannel.idl\n\ninterface nsIProxiedChannel extends nsISupports {\n  readonly proxyInfo: nsIProxyInfo;\n  readonly httpProxyConnectResponseCode: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedProtocolHandler.idl\n\ninterface nsIProxiedProtocolHandler extends nsIProtocolHandler {\n  newProxiedChannel(uri: nsIURI, proxyInfo: nsIProxyInfo, proxyResolveFlags: u32, proxyURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxyInfo.idl\n\ninterface nsIProxyInfo extends nsISupports {\n  readonly SOCKS_V4?: 4;\n  readonly SOCKS_V5?: 5;\n  readonly TRANSPARENT_PROXY_RESOLVES_HOST?: 1;\n\n  readonly host: string;\n  readonly port: i32;\n  readonly type: string;\n  readonly flags: u32;\n  readonly resolveFlags: u32;\n  readonly username: string;\n  readonly password: string;\n  readonly failoverTimeout: u32;\n  failoverProxy: nsIProxyInfo;\n  sourceId: string;\n  readonly proxyAuthorizationHeader: string;\n  readonly connectionIsolationKey: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRandomGenerator.idl\n\ninterface nsIRandomGenerator extends nsISupports {\n  generateRandomBytes(aLength: u32): u8[];\n  generateRandomBytesInto(aBuffer: u8[], aLength: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectChannelRegistrar.idl\n\ninterface nsIRedirectChannelRegistrar extends nsISupports {\n  registerChannel(channel: nsIChannel, id: u64): void;\n  linkChannels(id: u64, channel: nsIParentChannel): nsIChannel;\n  getRegisteredChannel(id: u64): nsIChannel;\n  getParentChannel(id: u64): nsIParentChannel;\n  deregisterChannels(id: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectHistoryEntry.idl\n\ninterface nsIRedirectHistoryEntry extends nsISupports {\n  readonly principal: nsIPrincipal;\n  readonly referrerURI: nsIURI;\n  readonly remoteAddress: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectResultListener.idl\n\ninterface nsIRedirectResultListener extends nsISupports {\n  onRedirectResult(status: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequest.idl\n\n}  // global\n\ndeclare enum nsIRequest_TRRMode {\n  TRR_DEFAULT_MODE = 0,\n  TRR_DISABLED_MODE = 1,\n  TRR_FIRST_MODE = 2,\n  TRR_ONLY_MODE = 3,\n}\n\ndeclare global {\n\nnamespace nsIRequest {\n  type TRRMode = nsIRequest_TRRMode;\n}\n\ninterface nsIRequest extends nsISupports, Enums<typeof nsIRequest_TRRMode> {\n  readonly LOAD_REQUESTMASK?: 65535;\n  readonly LOAD_NORMAL?: 0;\n  readonly LOAD_BACKGROUND?: 1;\n  readonly LOAD_HTML_OBJECT_DATA?: 2;\n  readonly LOAD_DOCUMENT_NEEDS_COOKIE?: 4;\n  readonly LOAD_TRR_MASK?: 24;\n  readonly LOAD_TRR_DISABLED_MODE?: 8;\n  readonly LOAD_TRR_FIRST_MODE?: 16;\n  readonly LOAD_TRR_ONLY_MODE?: 24;\n  readonly LOAD_ANONYMOUS_ALLOW_CLIENT_CERT?: 32;\n  readonly INHIBIT_CACHING?: 128;\n  readonly INHIBIT_PERSISTENT_CACHING?: 256;\n  readonly LOAD_BYPASS_CACHE?: 512;\n  readonly LOAD_FROM_CACHE?: 1024;\n  readonly VALIDATE_ALWAYS?: 2048;\n  readonly VALIDATE_NEVER?: 4096;\n  readonly VALIDATE_ONCE_PER_SESSION?: 8192;\n  readonly LOAD_ANONYMOUS?: 16384;\n  readonly LOAD_FRESH_CONNECTION?: 32768;\n\n  readonly name: string;\n  isPending(): boolean;\n  readonly status: nsresult;\n  cancel(aStatus: nsresult): void;\n  suspend(): void;\n  resume(): void;\n  loadGroup: nsILoadGroup;\n  loadFlags: nsLoadFlags;\n  getTRRMode(): nsIRequest.TRRMode;\n  setTRRMode(mode: nsIRequest.TRRMode): void;\n  cancelWithReason(aStatus: nsresult, aReason: string): void;\n  canceledReason: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestContext.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserver.idl\n\ninterface nsIRequestObserver extends nsISupports {\n  onStartRequest(aRequest: nsIRequest): void;\n  onStopRequest(aRequest: nsIRequest, aStatusCode: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserverProxy.idl\n\ninterface nsIRequestObserverProxy extends nsIRequestObserver {\n  init(observer: nsIRequestObserver, context: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIResumableChannel.idl\n\ninterface nsIResumableChannel extends nsISupports {\n  resumeAt(startPos: u64, entityID: string): void;\n  readonly entityID: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISecCheckWrapChannel.idl\n\ninterface nsISecCheckWrapChannel extends nsISupports {\n  readonly innerChannel: nsIChannel;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISecureBrowserUI.idl\n\ninterface nsISecureBrowserUI extends nsISupports {\n  readonly state: u32;\n  readonly isSecureContext: boolean;\n  readonly secInfo: nsITransportSecurityInfo;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISensitiveInfoHiddenURI.idl\n\ninterface nsISensitiveInfoHiddenURI extends nsISupports {\n  getSensitiveInfoHiddenSpec(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISerializationHelper.idl\n\ninterface nsISerializationHelper extends nsISupports {\n  serializeToString(serializable: nsISerializable): string;\n  deserializeObject(input: string): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIServerSocket.idl\n\ninterface nsIServerSocket extends nsISupports {\n  readonly LoopbackOnly?: 1;\n  readonly KeepWhenOffline?: 2;\n\n  init(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;\n  initIPv6(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;\n  initDualStack(aPort: i32, aBackLog: i32): void;\n  initSpecialConnection(aPort: i32, aFlags: nsServerSocketFlag, aBackLog: i32): void;\n  initWithFilename(aPath: nsIFile, aPermissions: u32, aBacklog: i32): void;\n  initWithAbstractAddress(aName: string, aBacklog: i32): void;\n  close(): void;\n  asyncListen(aListener: nsIServerSocketListener): void;\n  readonly port: i32;\n}\n\ninterface nsIServerSocketListener extends nsISupports {\n  onSocketAccepted(aServ: nsIServerSocket, aTransport: nsISocketTransport): void;\n  onStopListening(aServ: nsIServerSocket, aStatus: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleStreamListener.idl\n\ninterface nsISimpleStreamListener extends nsIStreamListener {\n  init(aSink: nsIOutputStream, aObserver: nsIRequestObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleURIMutator.idl\n\ninterface nsISimpleURIMutator extends nsISupports {\n  setSpecAndFilterWhitespace(aSpec: string): nsIURIMutator;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketFilter.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransport.idl\n\ninterface nsISocketTransport extends nsITransport {\n  readonly TIMEOUT_CONNECT?: 0;\n  readonly TIMEOUT_READ_WRITE?: 1;\n  readonly STATUS_RESOLVING?: 4915203;\n  readonly STATUS_RESOLVED?: 4915211;\n  readonly STATUS_CONNECTING_TO?: 4915207;\n  readonly STATUS_CONNECTED_TO?: 4915204;\n  readonly STATUS_SENDING_TO?: 4915205;\n  readonly STATUS_WAITING_FOR?: 4915210;\n  readonly STATUS_RECEIVING_FROM?: 4915206;\n  readonly STATUS_TLS_HANDSHAKE_STARTING?: 4915212;\n  readonly STATUS_TLS_HANDSHAKE_ENDED?: 4915213;\n  readonly BYPASS_CACHE?: 1;\n  readonly ANONYMOUS_CONNECT?: 2;\n  readonly DISABLE_IPV6?: 4;\n  readonly NO_PERMANENT_STORAGE?: 8;\n  readonly DISABLE_IPV4?: 16;\n  readonly DISABLE_RFC1918?: 32;\n  readonly BE_CONSERVATIVE?: 64;\n  readonly DISABLE_TRR?: 128;\n  readonly REFRESH_CACHE?: 256;\n  readonly RETRY_WITH_DIFFERENT_IP_FAMILY?: 512;\n  readonly DONT_TRY_ECH?: 1024;\n  readonly TRR_MODE_FLAGS?: 6144;\n  readonly USE_IP_HINT_ADDRESS?: 8192;\n  readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT?: 16384;\n  readonly IS_RETRY?: 32768;\n  readonly IS_SPECULATIVE_CONNECTION?: 65536;\n\n  readonly host: string;\n  readonly port: i32;\n  originAttributes: any;\n  getScriptablePeerAddr(): nsINetAddr;\n  getScriptableSelfAddr(): nsINetAddr;\n  readonly tlsSocketControl: nsITLSSocketControl;\n  securityCallbacks: nsIInterfaceRequestor;\n  isAlive(): boolean;\n  getTimeout(aType: u32): u32;\n  setTimeout(aType: u32, aValue: u32): void;\n  setLinger(aPolarity: boolean, aTimeout: i16): void;\n  setReuseAddrPort(reuseAddrPort: boolean): void;\n  connectionFlags: u32;\n  tlsFlags: u32;\n  QoSBits: u8;\n  recvBufferSize: u32;\n  sendBufferSize: u32;\n  keepaliveEnabled: boolean;\n  setKeepaliveVals(keepaliveIdleTime: i32, keepaliveRetryInterval: i32): void;\n  readonly resetIPFamilyPreference: boolean;\n  readonly echConfigUsed: boolean;\n  setEchConfig(echConfig: string): void;\n  resolvedByTRR(): boolean;\n  readonly effectiveTRRMode: nsIRequest.TRRMode;\n  readonly trrSkipReason: nsITRRSkipReason.value;\n  readonly retryDnsIfPossible: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransportService.idl\n\ntype nsISTSShutdownObserver = Callable<{\n  observe(): void;\n}>\n\ninterface nsISocketTransportService extends nsISupports {\n  createTransport(aSocketTypes: string[], aHost: string, aPort: i32, aProxyInfo: nsIProxyInfo, dnsRecord: nsIDNSRecord): nsISocketTransport;\n  createUnixDomainTransport(aPath: nsIFile): nsISocketTransport;\n  createUnixDomainAbstractAddressTransport(aName: string): nsISocketTransport;\n}\n\ninterface nsIRoutedSocketTransportService extends nsISocketTransportService {\n  createRoutedTransport(aSocketTypes: string[], aHost: string, aPort: i32, aHostRoute: string, aPortRoute: i32, aProxyInfo: nsIProxyInfo, aDnsRecord: nsIDNSRecord): nsISocketTransport;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISpeculativeConnect.idl\n\ninterface nsISpeculativeConnect extends nsISupports {\n  speculativeConnect(aURI: nsIURI, aPrincipal: nsIPrincipal, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;\n  speculativeConnectWithOriginAttributes(aURI: nsIURI, originAttributes: any, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIStandardURL.idl\n\ninterface nsIStandardURL extends nsISupports {\n  readonly URLTYPE_STANDARD?: 1;\n  readonly URLTYPE_AUTHORITY?: 2;\n  readonly URLTYPE_NO_AUTHORITY?: 3;\n}\n\ninterface nsIStandardURLMutator extends nsISupports {\n  init(aUrlType: u32, aDefaultPort: i32, aSpec: string, aOriginCharset: string, aBaseURI: nsIURI): nsIURIMutator;\n  setDefaultPort(aNewDefaultPort: i32): nsIURIMutator;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListener.idl\n\ninterface nsIStreamListener extends nsIRequestObserver {\n  onDataAvailable(aRequest: nsIRequest, aInputStream: nsIInputStream, aOffset: u64, aCount: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListenerTee.idl\n\ninterface nsIStreamListenerTee extends nsIThreadRetargetableStreamListener {\n  init(listener: nsIStreamListener, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;\n  initAsync(listener: nsIStreamListener, eventTarget: nsIEventTarget, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamLoader.idl\n\ninterface nsIStreamLoaderObserver extends nsISupports {\n  onStreamComplete(loader: nsIStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;\n}\n\ninterface nsIStreamLoader extends nsIThreadRetargetableStreamListener {\n  init(aStreamObserver: nsIStreamLoaderObserver, aRequestObserver?: nsIRequestObserver): void;\n  readonly numBytesRead: u32;\n  readonly request: nsIRequest;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamTransportService.idl\n\ninterface nsIStreamTransportService extends nsISupports {\n  createInputTransport(aStream: nsIInputStream, aCloseWhenDone: boolean): nsITransport;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISuspendableChannelWrapper.idl\n\ninterface nsISuspendableChannelWrapper extends nsIChannel {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISyncStreamListener.idl\n\ninterface nsISyncStreamListener extends nsIStreamListener {\n  readonly inputStream: nsIInputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsISystemProxySettings.idl\n\ninterface nsISystemProxySettings extends nsISupports {\n  readonly mainThreadOnly: boolean;\n  readonly PACURI: string;\n  getProxyForURI(testSpec: string, testScheme: string, testHost: string, testPort: i32): string;\n  readonly systemWPADSetting: boolean;\n  setSystemProxyInfo(host: string, port: i32, pacFileUrl: string, exclusionList: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsITLSServerSocket.idl\n\ninterface nsITLSServerSocket extends nsIServerSocket {\n  readonly REQUEST_NEVER?: 0;\n  readonly REQUEST_FIRST_HANDSHAKE?: 1;\n  readonly REQUEST_ALWAYS?: 2;\n  readonly REQUIRE_FIRST_HANDSHAKE?: 3;\n  readonly REQUIRE_ALWAYS?: 4;\n\n  serverCert: nsIX509Cert;\n  setSessionTickets(aSessionTickets: boolean): void;\n  setRequestClientCertificate(aRequestClientCert: u32): void;\n  setVersionRange(aMinVersion: u16, aMaxVersion: u16): void;\n}\n\ninterface nsITLSClientStatus extends nsISupports {\n  readonly SSL_VERSION_3?: 768;\n  readonly TLS_VERSION_1?: 769;\n  readonly TLS_VERSION_1_1?: 770;\n  readonly TLS_VERSION_1_2?: 771;\n  readonly TLS_VERSION_1_3?: 772;\n  readonly TLS_VERSION_UNKNOWN?: -1;\n\n  readonly peerCert: nsIX509Cert;\n  readonly tlsVersionUsed: i16;\n  readonly cipherName: string;\n  readonly keyLength: u32;\n  readonly macLength: u32;\n}\n\ninterface nsITLSServerConnectionInfo extends nsISupports {\n  setSecurityObserver(observer: nsITLSServerSecurityObserver): void;\n  readonly serverSocket: nsITLSServerSocket;\n  readonly status: nsITLSClientStatus;\n}\n\ninterface nsITLSServerSecurityObserver extends nsISupports {\n  onHandshakeDone(aServer: nsITLSServerSocket, aStatus: nsITLSClientStatus): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableRequest.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableStreamListener.idl\n\ninterface nsIThreadRetargetableStreamListener extends nsIStreamListener {\n  checkListenerChain(): void;\n  onDataFinished(aStatusCode: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIThrottledInputChannel.idl\n\ninterface nsIInputChannelThrottleQueue extends nsISupports {\n  init(aMeanBytesPerSecond: u32, aMaxBytesPerSecond: u32): void;\n  available(aRemaining: u32): u32;\n  recordRead(aBytesRead: u32): void;\n  bytesProcessed(): u64;\n  wrapStream(aInputStream: nsIInputStream): nsIAsyncInputStream;\n}\n\ninterface nsIThrottledInputChannel extends nsISupports {\n  throttleQueue: nsIInputChannelThrottleQueue;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsITimedChannel.idl\n\ninterface nsIServerTiming extends nsISupports {\n  readonly name: string;\n  readonly duration: double;\n  readonly description: string;\n}\n\n}  // global\n\ndeclare enum nsITimedChannel_BodyInfoAccess {\n  DISALLOWED = 0,\n  ALLOW_SIZES = 1,\n  ALLOW_ALL = 2,\n}\n\ndeclare global {\n\nnamespace nsITimedChannel {\n  type BodyInfoAccess = nsITimedChannel_BodyInfoAccess;\n}\n\ninterface nsITimedChannel extends nsISupports, Enums<typeof nsITimedChannel_BodyInfoAccess> {\n  redirectCount: u8;\n  internalRedirectCount: u8;\n  initiatorType: string;\n  readonly channelCreationTime: PRTime;\n  readonly asyncOpenTime: PRTime;\n  readonly launchServiceWorkerStartTime: PRTime;\n  readonly launchServiceWorkerEndTime: PRTime;\n  readonly dispatchFetchEventStartTime: PRTime;\n  readonly dispatchFetchEventEndTime: PRTime;\n  readonly handleFetchEventStartTime: PRTime;\n  readonly handleFetchEventEndTime: PRTime;\n  readonly domainLookupStartTime: PRTime;\n  readonly domainLookupEndTime: PRTime;\n  readonly connectStartTime: PRTime;\n  readonly tcpConnectEndTime: PRTime;\n  readonly secureConnectionStartTime: PRTime;\n  readonly connectEndTime: PRTime;\n  readonly requestStartTime: PRTime;\n  readonly responseStartTime: PRTime;\n  readonly responseEndTime: PRTime;\n  readonly cacheReadStartTime: PRTime;\n  readonly cacheReadEndTime: PRTime;\n  readonly redirectStartTime: PRTime;\n  readonly redirectEndTime: PRTime;\n  readonly transactionPendingTime: PRTime;\n  readonly serverTiming: nsIArray;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsITraceableChannel.idl\n\ninterface nsITraceableChannel extends nsISupports {\n  setNewListener(aListener: nsIStreamListener, aMustApplyContentConversion?: boolean): nsIStreamListener;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsITransport.idl\n\ninterface nsITransport extends nsISupports {\n  readonly OPEN_BLOCKING?: 1;\n  readonly OPEN_UNBUFFERED?: 2;\n  readonly STATUS_READING?: 4915208;\n  readonly STATUS_WRITING?: 4915209;\n\n  openInputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIInputStream;\n  openOutputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIOutputStream;\n  close(aReason: nsresult): void;\n  setEventSink(aSink: nsITransportEventSink, aEventTarget: nsIEventTarget): void;\n}\n\ninterface nsITransportEventSink extends nsISupports {\n  onTransportStatus(aTransport: nsITransport, aStatus: nsresult, aProgress: i64, aProgressMax: i64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIUDPSocket.idl\n\ninterface nsIUDPSocket extends nsISupports {\n  init(aPort: i32, aLoopbackOnly: boolean, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;\n  init2(aAddr: string, aPort: i32, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;\n  close(): void;\n  asyncListen(aListener: nsIUDPSocketListener): void;\n  readonly localAddr: nsINetAddr;\n  readonly port: i32;\n  send(host: string, port: u16, data: u8[]): u32;\n  sendWithAddr(addr: nsINetAddr, data: u8[]): u32;\n  sendBinaryStream(host: string, port: u16, stream: nsIInputStream): void;\n  joinMulticast(addr: string, iface?: string): void;\n  leaveMulticast(addr: string, iface?: string): void;\n  multicastLoopback: boolean;\n  multicastInterface: string;\n}\n\ninterface nsIUDPSocketListener extends nsISupports {\n  onPacketReceived(aSocket: nsIUDPSocket, aMessage: nsIUDPMessage): void;\n  onStopListening(aSocket: nsIUDPSocket, aStatus: nsresult): void;\n}\n\ninterface nsIUDPMessage extends nsISupports {\n  readonly fromAddr: nsINetAddr;\n  readonly data: string;\n  readonly outputStream: nsIOutputStream;\n  readonly rawData: any;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIURI.idl\n\ninterface nsIURI extends nsISupports {\n  readonly spec: string;\n  readonly prePath: string;\n  readonly scheme: string;\n  readonly userPass: string;\n  readonly username: string;\n  readonly password: string;\n  readonly hostPort: string;\n  readonly host: string;\n  readonly port: i32;\n  readonly pathQueryRef: string;\n  equals(other: nsIURI): boolean;\n  schemeIs(scheme: string): boolean;\n  resolve(relativePath: string): string;\n  readonly asciiSpec: string;\n  readonly asciiHostPort: string;\n  readonly asciiHost: string;\n  readonly ref: string;\n  equalsExceptRef(other: nsIURI): boolean;\n  readonly specIgnoringRef: string;\n  readonly hasRef: boolean;\n  readonly hasUserPass: boolean;\n  readonly filePath: string;\n  readonly query: string;\n  readonly hasQuery: boolean;\n  readonly displayHost: string;\n  readonly displayHostPort: string;\n  readonly displaySpec: string;\n  readonly displayPrePath: string;\n  mutate(): nsIURIMutator;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIMutator.idl\n\ninterface nsIURISetSpec extends nsISupports {\n  setSpec(aSpec: string): nsIURIMutator;\n}\n\ninterface nsIURISetters extends nsIURISetSpec {\n  setScheme(aScheme: string): nsIURIMutator;\n  setUserPass(aUserPass: string): nsIURIMutator;\n  setUsername(aUsername: string): nsIURIMutator;\n  setPassword(aPassword: string): nsIURIMutator;\n  setHostPort(aHostPort: string): nsIURIMutator;\n  setHost(aHost: string): nsIURIMutator;\n  setPort(aPort: i32): nsIURIMutator;\n  setPathQueryRef(aPathQueryRef: string): nsIURIMutator;\n  setRef(aRef: string): nsIURIMutator;\n  setFilePath(aFilePath: string): nsIURIMutator;\n  setQuery(aQuery: string): nsIURIMutator;\n}\n\ninterface nsIURIMutator extends nsIURISetters {\n  finalize(): nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIWithSpecialOrigin.idl\n\ninterface nsIURIWithSpecialOrigin extends nsISupports {\n  readonly origin: nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIURL.idl\n\ninterface nsIURL extends nsIURI {\n  readonly directory: string;\n  readonly fileName: string;\n  readonly fileBaseName: string;\n  readonly fileExtension: string;\n  getCommonBaseSpec(aURIToCompare: nsIURI): string;\n  getRelativeSpec(aURIToCompare: nsIURI): string;\n}\n\ninterface nsIURLMutator extends nsISupports {\n  setFileName(aFileName: string): nsIURIMutator;\n  setFileBaseName(aFileBaseName: string): nsIURIMutator;\n  setFileExtension(aFileExtension: string): nsIURIMutator;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIURLParser.idl\n\ninterface nsIURLParser extends nsISupports {\n  parseURL(spec: string, specLen: i32, schemePos: OutParam<u32>, schemeLen: OutParam<i32>, authorityPos: OutParam<u32>, authorityLen: OutParam<i32>, pathPos: OutParam<u32>, pathLen: OutParam<i32>): void;\n  parseAuthority(authority: string, authorityLen: i32, usernamePos: OutParam<u32>, usernameLen: OutParam<i32>, passwordPos: OutParam<u32>, passwordLen: OutParam<i32>, hostnamePos: OutParam<u32>, hostnameLen: OutParam<i32>, port: OutParam<i32>): void;\n  parseUserInfo(userinfo: string, userinfoLen: i32, usernamePos: OutParam<u32>, usernameLen: OutParam<i32>, passwordPos: OutParam<u32>, passwordLen: OutParam<i32>): void;\n  parseServerInfo(serverinfo: string, serverinfoLen: i32, hostnamePos: OutParam<u32>, hostnameLen: OutParam<i32>, port: OutParam<i32>): void;\n  parsePath(path: string, pathLen: i32, filepathPos: OutParam<u32>, filepathLen: OutParam<i32>, queryPos: OutParam<u32>, queryLen: OutParam<i32>, refPos: OutParam<u32>, refLen: OutParam<i32>): void;\n  parseFilePath(filepath: string, filepathLen: i32, directoryPos: OutParam<u32>, directoryLen: OutParam<i32>, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;\n  parseFileName(filename: string, filenameLen: i32, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel.idl\n\ninterface nsIUploadChannel extends nsISupports {\n  setUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64): void;\n  readonly uploadStream: nsIInputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel2.idl\n\ninterface nsIUploadChannel2 extends nsISupports {\n  explicitSetUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64, aMethod: string, aStreamHasHeaders: boolean): void;\n  readonly uploadStreamHasHeaders: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/base/nsPISocketTransportService.idl\n\ninterface nsPISocketTransportService extends nsIRoutedSocketTransportService {\n  init(): void;\n  shutdown(aXpcomShutdown: boolean): void;\n  readonly sendBufferSize: i32;\n  offline: boolean;\n  readonly keepaliveIdleTime: i32;\n  readonly keepaliveRetryInterval: i32;\n  readonly keepaliveProbeCount: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/about/nsIAboutModule.idl\n\ninterface nsIAboutModule extends nsISupports {\n  readonly URI_SAFE_FOR_UNTRUSTED_CONTENT?: 1;\n  readonly ALLOW_SCRIPT?: 2;\n  readonly HIDE_FROM_ABOUTABOUT?: 4;\n  readonly ENABLE_INDEXED_DB?: 8;\n  readonly URI_CAN_LOAD_IN_CHILD?: 16;\n  readonly URI_MUST_LOAD_IN_CHILD?: 32;\n  readonly MAKE_UNLINKABLE?: 64;\n  readonly MAKE_LINKABLE?: 128;\n  readonly URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS?: 256;\n  readonly URI_MUST_LOAD_IN_EXTENSION_PROCESS?: 512;\n  readonly IS_SECURE_CHROME_UI?: 1024;\n\n  newChannel(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;\n  getURIFlags(aURI: nsIURI): u32;\n  getChromeURI(aURI: nsIURI): nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntry.idl\n\ninterface nsICacheEntry extends nsISupports {\n  readonly CONTENT_TYPE_UNKNOWN?: 0;\n  readonly CONTENT_TYPE_OTHER?: 1;\n  readonly CONTENT_TYPE_JAVASCRIPT?: 2;\n  readonly CONTENT_TYPE_IMAGE?: 3;\n  readonly CONTENT_TYPE_MEDIA?: 4;\n  readonly CONTENT_TYPE_STYLESHEET?: 5;\n  readonly CONTENT_TYPE_WASM?: 6;\n  readonly CONTENT_TYPE_LAST?: 7;\n  readonly NO_EXPIRATION_TIME?: 4294967295;\n\n  readonly key: string;\n  readonly cacheEntryId: u64;\n  readonly persistent: boolean;\n  readonly fetchCount: u32;\n  readonly lastFetched: u32;\n  readonly lastModified: u32;\n  readonly expirationTime: u32;\n  setExpirationTime(expirationTime: u32): void;\n  readonly onStartTime: u64;\n  readonly onStopTime: u64;\n  setNetworkTimes(onStartTime: u64, onStopTime: u64): void;\n  setContentType(contentType: u8): void;\n  forceValidFor(aSecondsToTheFuture: u32): void;\n  readonly isForcedValid: boolean;\n  markForcedValidUse(): void;\n  openInputStream(offset: i64): nsIInputStream;\n  openOutputStream(offset: i64, predictedSize: i64): nsIOutputStream;\n  securityInfo: nsITransportSecurityInfo;\n  readonly storageDataSize: u32;\n  asyncDoom(listener: nsICacheEntryDoomCallback): void;\n  getMetaDataElement(key: string): string;\n  setMetaDataElement(key: string, value: string): void;\n  visitMetaData(visitor: nsICacheEntryMetaDataVisitor): void;\n  metaDataReady(): void;\n  setValid(): void;\n  dismiss(): void;\n  readonly diskStorageSizeInKB: u32;\n  recreate(aMemoryOnly?: boolean): nsICacheEntry;\n  readonly dataSize: i64;\n  readonly altDataSize: i64;\n  readonly altDataType: string;\n  openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;\n  openAlternativeInputStream(type: string): nsIInputStream;\n  readonly loadContextInfo: nsILoadContextInfo;\n}\n\ninterface nsICacheEntryMetaDataVisitor extends nsISupports {\n  onMetaDataElement(key: string, value: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryDoomCallback.idl\n\ninterface nsICacheEntryDoomCallback extends nsISupports {\n  onCacheEntryDoomed(aResult: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryOpenCallback.idl\n\ninterface nsICacheEntryOpenCallback extends nsISupports {\n  readonly ENTRY_WANTED?: 0;\n  readonly RECHECK_AFTER_WRITE_FINISHED?: 1;\n  readonly ENTRY_NEEDS_REVALIDATION?: 2;\n  readonly ENTRY_NOT_WANTED?: 3;\n\n  onCacheEntryCheck(aEntry: nsICacheEntry): u32;\n  onCacheEntryAvailable(aEntry: nsICacheEntry, aNew: boolean, aResult: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICachePurgeLock.idl\n\ninterface nsICachePurgeLock extends nsISupports {\n  lock(profileName: string): void;\n  isOtherInstanceRunning(): boolean;\n  unlock(): void;\n  getLockFile(profileName: string): nsIFile;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorage.idl\n\ninterface nsICacheStorage extends nsISupports {\n  readonly OPEN_NORMALLY?: 0;\n  readonly OPEN_TRUNCATE?: 1;\n  readonly OPEN_READONLY?: 2;\n  readonly OPEN_PRIORITY?: 4;\n  readonly OPEN_BYPASS_IF_BUSY?: 8;\n  readonly CHECK_MULTITHREADED?: 16;\n  readonly OPEN_SECRETLY?: 32;\n  readonly OPEN_INTERCEPTED?: 64;\n\n  asyncOpenURI(aURI: nsIURI, aIdExtension: string, aFlags: u32, aCallback: nsICacheEntryOpenCallback): void;\n  openTruncate(aURI: nsIURI, aIdExtension: string): nsICacheEntry;\n  exists(aURI: nsIURI, aIdExtension: string): boolean;\n  getCacheIndexEntryAttrs(aURI: nsIURI, aIdExtension: string, aHasAltData: OutParam<boolean>, aSizeInKB: OutParam<u32>): void;\n  asyncDoomURI(aURI: nsIURI, aIdExtension: string, aCallback: nsICacheEntryDoomCallback): void;\n  asyncEvictStorage(aCallback: nsICacheEntryDoomCallback): void;\n  asyncVisitStorage(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageService.idl\n\ninterface nsICacheStorageService extends nsISupports {\n  readonly PURGE_DISK_DATA_ONLY?: 1;\n  readonly PURGE_DISK_ALL?: 2;\n  readonly PURGE_EVERYTHING?: 3;\n\n  memoryCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;\n  diskCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;\n  pinningCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;\n  clearOriginsByPrincipal(aPrincipal: nsIPrincipal): void;\n  clearBaseDomain(aBaseDomain: string): void;\n  clearOriginsByOriginAttributes(aOriginAttributes: string): void;\n  clear(): void;\n  purgeFromMemory(aWhat: u32): void;\n  readonly ioTarget: nsIEventTarget;\n  asyncGetDiskConsumption(aObserver: nsICacheStorageConsumptionObserver): void;\n  asyncVisitAllStorages(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;\n}\n\ninterface nsICacheStorageConsumptionObserver extends nsISupports {\n  onNetworkCacheDiskConsumption(aDiskSize: i64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageVisitor.idl\n\ninterface nsICacheStorageVisitor extends nsISupports {\n  onCacheStorageInfo(aEntryCount: u32, aConsumption: u64, aCapacity: u64, aDiskDirectory: nsIFile): void;\n  onCacheEntryInfo(aURI: nsIURI, aIdEnhance: string, aDataSize: i64, aAltDataSize: i64, aFetchCount: u32, aLastModifiedTime: u32, aExpirationTime: u32, aPinned: boolean, aInfo: nsILoadContextInfo): void;\n  onCacheEntryVisitCompleted(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheTesting.idl\n\ninterface nsICacheTesting extends nsISupports {\n  suspendCacheIOThread(aLevel: u32): void;\n  resumeCacheIOThread(): void;\n  flush(aObserver: nsIObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookie.idl\n\n}  // global\n\ndeclare enum nsICookie_schemeType {\n  SCHEME_UNSET = 0,\n  SCHEME_HTTP = 1,\n  SCHEME_HTTPS = 2,\n  SCHEME_FILE = 4,\n}\n\ndeclare global {\n\nnamespace nsICookie {\n  type schemeType = nsICookie_schemeType;\n}\n\ninterface nsICookie extends nsISupports, Enums<typeof nsICookie_schemeType> {\n  readonly SAMESITE_NONE?: 0;\n  readonly SAMESITE_LAX?: 1;\n  readonly SAMESITE_STRICT?: 2;\n  readonly SAMESITE_UNSET?: 256;\n\n  readonly name: string;\n  readonly value: string;\n  readonly isDomain: boolean;\n  readonly host: string;\n  readonly rawHost: string;\n  readonly path: string;\n  readonly isSecure: boolean;\n  readonly expires: u64;\n  readonly expiry: i64;\n  readonly originAttributes: any;\n  readonly isSession: boolean;\n  readonly isHttpOnly: boolean;\n  readonly creationTime: i64;\n  readonly lastAccessed: i64;\n  readonly sameSite: i32;\n  readonly schemeMap: nsICookie.schemeType;\n  readonly isPartitioned: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieJarSettings.idl\n\ninterface nsICookieJarSettings extends nsISerializable {\n  readonly cookieBehavior: u32;\n  readonly isFirstPartyIsolated: boolean;\n  readonly shouldResistFingerprinting: boolean;\n  readonly rejectThirdPartyContexts: boolean;\n  readonly limitForeignContexts: boolean;\n  readonly blockingAllThirdPartyContexts: boolean;\n  readonly blockingAllContexts: boolean;\n  partitionForeign: boolean;\n  readonly isOnContentBlockingAllowList: boolean;\n  readonly partitionKey: string;\n  readonly fingerprintingRandomizationKey: u8[];\n  cookiePermission(aPrincipal: nsIPrincipal): u32;\n  initWithURI(aURI: nsIURI, aIsPrivate: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieManager.idl\n\ninterface nsICookieManager extends nsISupports {\n  removeAll(): void;\n  readonly cookies: nsICookie[];\n  readonly sessionCookies: nsICookie[];\n  getCookieBehavior(aIsPrivate: boolean): u32;\n  remove(aHost: string, aName: string, aPath: string, aOriginAttributes: any): void;\n  add(aHost: string, aPath: string, aName: string, aValue: string, aIsSecure: boolean, aIsHttpOnly: boolean, aIsSession: boolean, aExpiry: i64, aOriginAttributes: any, aSameSite: i32, aSchemeMap: nsICookie.schemeType, aIsPartitioned?: boolean): nsICookieValidation;\n  addForAddOn(aHost: string, aPath: string, aName: string, aValue: string, aIsSecure: boolean, aIsHttpOnly: boolean, aIsSession: boolean, aExpiry: i64, aOriginAttributes: any, aSameSite: i32, aSchemeMap: nsICookie.schemeType, aIsPartitioned?: boolean): nsICookieValidation;\n  cookieExists(aHost: string, aPath: string, aName: string, aOriginAttributes: any): boolean;\n  countCookiesFromHost(aHost: string): u32;\n  getCookiesFromHost(aHost: string, aOriginAttributes: any, aSorted?: boolean): nsICookie[];\n  getCookiesWithOriginAttributes(aPattern: string, aHost?: string, aSorted?: boolean): nsICookie[];\n  removeCookiesWithOriginAttributes(aPattern: string, aHost?: string): void;\n  removeCookiesFromExactHost(aHost: string, aPattern: string): void;\n  removeAllSince(aSinceWhen: i64): Promise<any>;\n  getCookiesSince(aSinceWhen: i64): nsICookie[];\n  addThirdPartyCookieBlockingExceptions(aExcpetions: nsIThirdPartyCookieExceptionEntry[]): void;\n  removeThirdPartyCookieBlockingExceptions(aExceptions: nsIThirdPartyCookieExceptionEntry[]): void;\n  testGet3PCBExceptions(): string[];\n  maybeCapExpiry(aExpiryInMSec: i64): i64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieNotification.idl\n\n}  // global\n\ndeclare enum nsICookieNotification_Action {\n  COOKIE_DELETED = 0,\n  COOKIE_ADDED = 1,\n  COOKIE_CHANGED = 2,\n  ALL_COOKIES_CLEARED = 3,\n  COOKIES_BATCH_DELETED = 4,\n}\n\ndeclare global {\n\nnamespace nsICookieNotification {\n  type Action = nsICookieNotification_Action;\n}\n\ninterface nsICookieNotification extends nsISupports, Enums<typeof nsICookieNotification_Action> {\n  readonly action: nsICookieNotification.Action;\n  readonly cookie: nsICookie;\n  readonly baseDomain: string;\n  readonly isThirdParty: boolean;\n  readonly batchDeletedCookies: nsIArray;\n  readonly browsingContextId: u64;\n  readonly browsingContext: BrowsingContext;\n  readonly operationID: nsID;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookiePermission.idl\n\ninterface nsICookiePermission extends nsISupports {\n  readonly ACCESS_DEFAULT?: 0;\n  readonly ACCESS_ALLOW?: 1;\n  readonly ACCESS_DENY?: 2;\n  readonly ACCESS_SESSION?: 8;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieService.idl\n\ntype nsICookieTransactionCallback = Callable<{\n  callback(): void;\n}>\n\ninterface nsICookieService extends nsISupports {\n  readonly BEHAVIOR_ACCEPT?: 0;\n  readonly BEHAVIOR_REJECT_FOREIGN?: 1;\n  readonly BEHAVIOR_REJECT?: 2;\n  readonly BEHAVIOR_LIMIT_FOREIGN?: 3;\n  readonly BEHAVIOR_REJECT_TRACKER?: 4;\n  readonly BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN?: 5;\n  readonly BEHAVIOR_LAST?: 5;\n\n  getCookieStringFromHttp(aURI: nsIURI, aChannel: nsIChannel): string;\n  setCookieStringFromHttp(aURI: nsIURI, aCookie: string, aChannel: nsIChannel): void;\n  runInTransaction(aCallback: nsICookieTransactionCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieValidation.idl\n\n}  // global\n\ndeclare enum nsICookieValidation_ValidationError {\n  eOK = 0,\n  eRejectedEmptyNameAndValue = 1,\n  eRejectedNameValueOversize = 2,\n  eRejectedInvalidCharName = 3,\n  eRejectedInvalidCharValue = 4,\n  eRejectedInvalidPath = 5,\n  eRejectedInvalidDomain = 6,\n  eRejectedInvalidPrefix = 7,\n  eRejectedNoneRequiresSecure = 8,\n  eRejectedPartitionedRequiresSecure = 9,\n  eRejectedHttpOnlyButFromScript = 10,\n  eRejectedSecureButNonHttps = 11,\n  eRejectedForNonSameSiteness = 12,\n  eRejectedAttributePathOversize = 13,\n  eRejectedAttributeDomainOversize = 14,\n  eRejectedAttributeExpiryOversize = 15,\n}\n\ndeclare global {\n\nnamespace nsICookieValidation {\n  type ValidationError = nsICookieValidation_ValidationError;\n}\n\ninterface nsICookieValidation extends nsISupports, Enums<typeof nsICookieValidation_ValidationError> {\n  readonly result: nsICookieValidation.ValidationError;\n  readonly errorString: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/cookie/nsIThirdPartyCookieBlockingExceptionListService.idl\n\ninterface nsIThirdPartyCookieBlockingExceptionListService extends nsISupports {\n  init(): Promise<any>;\n  shutdown(): void;\n}\n\ninterface nsIThirdPartyCookieExceptionEntry extends nsISupports {\n  readonly firstPartySite: string;\n  readonly thirdPartySite: string;\n  serialize(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSAdditionalInfo.idl\n\ninterface nsIDNSAdditionalInfo extends nsISupports {\n  readonly port: i32;\n  readonly resolverURL: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSByTypeRecord.idl\n\ninterface nsIDNSByTypeRecord extends nsIDNSRecord {\n  readonly type: u32;\n}\n\ninterface nsIDNSTXTRecord extends nsISupports {\n  getRecordsAsOneString(): string;\n}\n\ninterface nsISVCParam extends nsISupports {\n  readonly type: u16;\n}\n\ninterface nsISVCParamAlpn extends nsISupports {\n  readonly alpn: string[];\n}\n\ninterface nsISVCParamNoDefaultAlpn extends nsISupports {\n}\n\ninterface nsISVCParamPort extends nsISupports {\n  readonly port: u16;\n}\n\ninterface nsISVCParamIPv4Hint extends nsISupports {\n  readonly ipv4Hint: nsINetAddr[];\n}\n\ninterface nsISVCParamEchConfig extends nsISupports {\n  readonly echconfig: string;\n}\n\ninterface nsISVCParamIPv6Hint extends nsISupports {\n  readonly ipv6Hint: nsINetAddr[];\n}\n\ninterface nsISVCParamODoHConfig extends nsISupports {\n  readonly ODoHConfig: string;\n}\n\ninterface nsISVCBRecord extends nsISupports {\n  readonly priority: u16;\n  readonly name: string;\n  readonly selectedAlpn: string;\n  readonly echConfig: string;\n  readonly ODoHConfig: string;\n  readonly hasIPHintAddress: boolean;\n  readonly values: nsISVCParam[];\n}\n\ninterface nsIDNSHTTPSSVCRecord extends nsISupports {\n  readonly records: nsISVCBRecord[];\n  GetServiceModeRecord(aNoHttp2: boolean, aNoHttp3: boolean): nsISVCBRecord;\n  GetServiceModeRecordWithCname(aNoHttp2: boolean, aNoHttp3: boolean, aCName: string): nsISVCBRecord;\n  readonly hasIPAddresses: boolean;\n  readonly allRecordsExcluded: boolean;\n  readonly ttl: u32;\n  IsTRR(): boolean;\n  GetAllRecordsWithEchConfig(aNoHttp2: boolean, aNoHttp3: boolean, aCName: string, aAllRecordsHaveEchConfig: OutParam<boolean>, aAllRecordsInH3ExcludedList: OutParam<boolean>): nsISVCBRecord[];\n  GetAllRecords(aNoHttp2: boolean, aNoHttp3: boolean, aCName: string): nsISVCBRecord[];\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSListener.idl\n\ninterface nsIDNSListener extends nsISupports {\n  onLookupComplete(aRequest: nsICancelable, aRecord: nsIDNSRecord, aStatus: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSRecord.idl\n\ninterface nsIDNSRecord extends nsISupports {\n}\n\ninterface nsIDNSAddrRecord extends nsIDNSRecord {\n  readonly canonicalName: string;\n  getScriptableNextAddr(aPort: u16): nsINetAddr;\n  getNextAddrAsString(): string;\n  hasMore(): boolean;\n  rewind(): void;\n  reportUnusable(aPort: u16): void;\n  IsTRR(): boolean;\n  resolvedInSocketProcess(): boolean;\n  readonly trrFetchDuration: double;\n  readonly trrFetchDurationNetworkOnly: double;\n  readonly effectiveTRRMode: nsIRequest.TRRMode;\n  readonly trrSkipReason: nsITRRSkipReason.value;\n  readonly ttl: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSService.idl\n\n}  // global\n\ndeclare enum nsIDNSService_ResolveType {\n  RESOLVE_TYPE_DEFAULT = 0,\n  RESOLVE_TYPE_TXT = 16,\n  RESOLVE_TYPE_HTTPSSVC = 65,\n}\n\ndeclare enum nsIDNSService_ResolverMode {\n  MODE_NATIVEONLY = 0,\n  MODE_RESERVED1 = 1,\n  MODE_TRRFIRST = 2,\n  MODE_TRRONLY = 3,\n  MODE_RESERVED4 = 4,\n  MODE_TRROFF = 5,\n}\n\ndeclare enum nsIDNSService_DNSFlags {\n  RESOLVE_DEFAULT_FLAGS = 0,\n  RESOLVE_BYPASS_CACHE = 1,\n  RESOLVE_CANONICAL_NAME = 2,\n  RESOLVE_PRIORITY_MEDIUM = 4,\n  RESOLVE_PRIORITY_LOW = 8,\n  RESOLVE_SPECULATE = 16,\n  RESOLVE_DISABLE_IPV6 = 32,\n  RESOLVE_OFFLINE = 64,\n  RESOLVE_DISABLE_IPV4 = 128,\n  RESOLVE_ALLOW_NAME_COLLISION = 256,\n  RESOLVE_DISABLE_TRR = 512,\n  RESOLVE_REFRESH_CACHE = 1024,\n  RESOLVE_TRR_MODE_MASK = 6144,\n  RESOLVE_TRR_DISABLED_MODE = 2048,\n  RESOLVE_IGNORE_SOCKS_DNS = 8192,\n  RESOLVE_IP_HINT = 16384,\n  RESOLVE_WANT_RECORD_ON_ERROR = 65536,\n  RESOLVE_DISABLE_NATIVE_HTTPS_QUERY = 131072,\n  RESOLVE_CREATE_MOCK_HTTPS_RR = 262144,\n  ALL_DNSFLAGS_BITS = 524287,\n}\n\ndeclare enum nsIDNSService_ConfirmationState {\n  CONFIRM_OFF = 0,\n  CONFIRM_TRYING_OK = 1,\n  CONFIRM_OK = 2,\n  CONFIRM_FAILED = 3,\n  CONFIRM_TRYING_FAILED = 4,\n  CONFIRM_DISABLED = 5,\n}\n\ndeclare global {\n\nnamespace nsIDNSService {\n  type ResolveType = nsIDNSService_ResolveType;\n  type ResolverMode = nsIDNSService_ResolverMode;\n  type DNSFlags = nsIDNSService_DNSFlags;\n  type ConfirmationState = nsIDNSService_ConfirmationState;\n}\n\ninterface nsIDNSService extends nsISupports, Enums<typeof nsIDNSService_ResolveType & typeof nsIDNSService_ResolverMode & typeof nsIDNSService_DNSFlags & typeof nsIDNSService_ConfirmationState> {\n  asyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aInfo: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aListenerTarget: nsIEventTarget, aOriginAttributes?: any): nsICancelable;\n  newAdditionalInfo(aTrrURL: string, aPort: i32): nsIDNSAdditionalInfo;\n  cancelAsyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aResolver: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aReason: nsresult, aOriginAttributes?: any): void;\n  resolve(aHostName: string, aFlags: nsIDNSService.DNSFlags, aOriginAttributes?: any): nsIDNSRecord;\n  clearCache(aTrrToo: boolean): void;\n  reloadParentalControlEnabled(): void;\n  setDetectedTrrURI(aURI: string): void;\n  setHeuristicDetectionResult(value: nsITRRSkipReason.value): void;\n  readonly heuristicDetectionResult: nsITRRSkipReason.value;\n  getTRRSkipReasonName(value: nsITRRSkipReason.value): string;\n  readonly lastConfirmationStatus: nsresult;\n  readonly lastConfirmationSkipReason: nsITRRSkipReason.value;\n  readonly currentTrrURI: string;\n  readonly currentTrrMode: nsIDNSService.ResolverMode;\n  readonly currentTrrConfirmationState: u32;\n  readonly myHostName: string;\n  readonly trrDomain: string;\n  readonly TRRDomainKey: string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIEffectiveTLDService.idl\n\ninterface nsIEffectiveTLDService extends nsISupports {\n  getPublicSuffix(aURI: nsIURI): string;\n  getKnownPublicSuffix(aURI: nsIURI): string;\n  getBaseDomain(aURI: nsIURI, aAdditionalParts?: u32): string;\n  getSchemelessSite(aURI: nsIURI): string;\n  getSchemelessSiteFromHost(aHost: string): string;\n  getSite(aURI: nsIURI): string;\n  getPublicSuffixFromHost(aHost: string): string;\n  getKnownPublicSuffixFromHost(aHost: string): string;\n  getBaseDomainFromHost(aHost: string, aAdditionalParts?: u32): string;\n  getNextSubDomain(aHost: string): string;\n  hasRootDomain(aInput: string, aHost: string): boolean;\n  hasKnownPublicSuffix(aURI: nsIURI): boolean;\n  hasKnownPublicSuffixFromHost(aHost: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsIIDNService.idl\n\ninterface nsIIDNService extends nsISupports {\n  domainToASCII(input: string): string;\n  convertUTF8toACE(input: string): string;\n  domainToDisplay(input: string): string;\n  convertToDisplayIDN(input: string): string;\n  convertACEtoUTF8(input: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsINativeDNSResolverOverride.idl\n\ninterface nsINativeDNSResolverOverride extends nsISupports {\n  addIPOverride(aHost: string, aIPLiteral: string): void;\n  addHTTPSRecordOverride(aHost: string, aData: u8[], aLength: u32): void;\n  setCnameOverride(aHost: string, aCNAME: string): void;\n  clearHostOverride(aHost: string): void;\n  clearOverrides(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsITRRSkipReason.idl\n\n}  // global\n\ndeclare enum nsITRRSkipReason_value {\n  TRR_UNSET = 0,\n  TRR_OK = 1,\n  TRR_NO_GSERVICE = 2,\n  TRR_PARENTAL_CONTROL = 3,\n  TRR_OFF_EXPLICIT = 4,\n  TRR_REQ_MODE_DISABLED = 5,\n  TRR_MODE_NOT_ENABLED = 6,\n  TRR_FAILED = 7,\n  TRR_MODE_UNHANDLED_DEFAULT = 8,\n  TRR_MODE_UNHANDLED_DISABLED = 9,\n  TRR_DISABLED_FLAG = 10,\n  TRR_TIMEOUT = 11,\n  TRR_CHANNEL_DNS_FAIL = 12,\n  TRR_BROWSER_IS_OFFLINE = 13,\n  TRR_NOT_CONFIRMED = 14,\n  TRR_DID_NOT_MAKE_QUERY = 15,\n  TRR_UNKNOWN_CHANNEL_FAILURE = 16,\n  TRR_HOST_BLOCKED_TEMPORARY = 17,\n  TRR_SEND_FAILED = 18,\n  TRR_NET_RESET = 19,\n  TRR_NET_TIMEOUT = 20,\n  TRR_NET_REFUSED = 21,\n  TRR_NET_INTERRUPT = 22,\n  TRR_NET_INADEQ_SEQURITY = 23,\n  TRR_NO_ANSWERS = 24,\n  TRR_DECODE_FAILED = 25,\n  TRR_EXCLUDED = 26,\n  TRR_SERVER_RESPONSE_ERR = 27,\n  TRR_RCODE_FAIL = 28,\n  TRR_NO_CONNECTIVITY = 29,\n  TRR_NXDOMAIN = 30,\n  TRR_REQ_CANCELLED = 31,\n  ODOH_KEY_NOT_USABLE = 32,\n  ODOH_UPDATE_KEY_FAILED = 33,\n  ODOH_KEY_NOT_AVAILABLE = 34,\n  ODOH_ENCRYPTION_FAILED = 35,\n  ODOH_DECRYPTION_FAILED = 36,\n  TRR_HEURISTIC_TRIPPED_GOOGLE_SAFESEARCH = 37,\n  TRR_HEURISTIC_TRIPPED_YOUTUBE_SAFESEARCH = 38,\n  TRR_HEURISTIC_TRIPPED_ZSCALER_CANARY = 39,\n  TRR_HEURISTIC_TRIPPED_CANARY = 40,\n  TRR_HEURISTIC_TRIPPED_MODIFIED_ROOTS = 41,\n  TRR_HEURISTIC_TRIPPED_PARENTAL_CONTROLS = 42,\n  TRR_HEURISTIC_TRIPPED_THIRD_PARTY_ROOTS = 43,\n  TRR_HEURISTIC_TRIPPED_ENTERPRISE_POLICY = 44,\n  TRR_HEURISTIC_TRIPPED_VPN = 45,\n  TRR_HEURISTIC_TRIPPED_PROXY = 46,\n  TRR_HEURISTIC_TRIPPED_NRPT = 47,\n  TRR_BAD_URL = 48,\n  TRR_SYSTEM_SLEEP_MODE = 49,\n  eLAST_VALUE = 49,\n}\n\ndeclare global {\n\nnamespace nsITRRSkipReason {\n  type value = nsITRRSkipReason_value;\n}\n\ninterface nsITRRSkipReason extends nsISupports, Enums<typeof nsITRRSkipReason_value> {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/dns/nsPIDNSService.idl\n\ninterface nsPIDNSService extends nsIDNSService {\n  init(): void;\n  shutdown(): void;\n  prefetchEnabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileChannel.idl\n\ninterface nsIFileChannel extends nsISupports {\n  readonly file: nsIFile;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileProtocolHandler.idl\n\ninterface nsIFileProtocolHandler extends nsIProtocolHandler {\n  newFileURI(aFile: nsIFile): nsIURI;\n  newFileURIMutator(file: nsIFile): nsIURIMutator;\n  getURLSpecFromActualFile(file: nsIFile): string;\n  getURLSpecFromDir(file: nsIFile): string;\n  getFileFromURLSpec(url: string): nsIFile;\n  readURLFile(file: nsIFile): nsIURI;\n  readShellLink(file: nsIFile): nsIURI;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/data/nsIDataChannel.idl\n\ninterface nsIDataChannel extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBackgroundChannelRegistrar.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBinaryHttp.idl\n\ninterface nsIBinaryHttpRequest extends nsISupports {\n  readonly method: string;\n  readonly scheme: string;\n  readonly authority: string;\n  readonly path: string;\n  readonly headerNames: string[];\n  readonly headerValues: string[];\n  readonly content: u8[];\n}\n\ninterface nsIBinaryHttpResponse extends nsISupports {\n  readonly status: u16;\n  readonly headerNames: string[];\n  readonly headerValues: string[];\n  readonly content: u8[];\n}\n\ninterface nsIBinaryHttp extends nsISupports {\n  encodeRequest(request: nsIBinaryHttpRequest): u8[];\n  decodeRequest(request: u8[]): nsIBinaryHttpRequest;\n  decodeResponse(response: u8[]): nsIBinaryHttpResponse;\n  encodeResponse(response: nsIBinaryHttpResponse): u8[];\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsICORSPreflightCache.idl\n\ninterface nsICORSPreflightCache extends nsISupports {\n  getEntries(principal: nsIPrincipal): nsICORSPreflightCacheEntry[];\n  clearEntry(entry: nsICORSPreflightCacheEntry): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsICORSPreflightCacheEntry.idl\n\ninterface nsICORSPreflightCacheEntry extends nsISupports {\n  readonly key: string;\n  readonly URI: nsIURI;\n  readonly originAttributes: any;\n  readonly principal: nsIPrincipal;\n  readonly privateBrowsing: boolean;\n  readonly withCredentials: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIEarlyHintObserver.idl\n\ninterface nsIEarlyHintObserver extends nsISupports {\n  earlyHint(linkHeader: string, referrerPolicy: string, cspHeader: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpActivityObserver.idl\n\ninterface nsIHttpActivityObserver extends nsISupports {\n  readonly ACTIVITY_TYPE_SOCKET_TRANSPORT?: 1;\n  readonly ACTIVITY_TYPE_HTTP_TRANSACTION?: 2;\n  readonly ACTIVITY_TYPE_HTTP_CONNECTION?: 3;\n  readonly ACTIVITY_SUBTYPE_REQUEST_HEADER?: 20481;\n  readonly ACTIVITY_SUBTYPE_REQUEST_BODY_SENT?: 20482;\n  readonly ACTIVITY_SUBTYPE_RESPONSE_START?: 20483;\n  readonly ACTIVITY_SUBTYPE_RESPONSE_HEADER?: 20484;\n  readonly ACTIVITY_SUBTYPE_RESPONSE_COMPLETE?: 20485;\n  readonly ACTIVITY_SUBTYPE_TRANSACTION_CLOSE?: 20486;\n  readonly ACTIVITY_SUBTYPE_PROXY_RESPONSE_HEADER?: 20487;\n  readonly ACTIVITY_SUBTYPE_DNSANDSOCKET_CREATED?: 20488;\n  readonly ACTIVITY_SUBTYPE_SPECULATIVE_DNSANDSOCKET_CREATED?: 20489;\n  readonly ACTIVITY_SUBTYPE_ECH_SET?: 20490;\n  readonly ACTIVITY_SUBTYPE_CONNECTION_CREATED?: 20491;\n  readonly ACTIVITY_SUBTYPE_EARLYHINT_RESPONSE_HEADER?: 20492;\n\n  observeActivity(aHttpChannel: nsISupports, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraSizeData: u64, aExtraStringData: string): void;\n  readonly isActive: boolean;\n  observeConnectionActivity(aHost: string, aPort: i32, aSSL: boolean, aHasECH: boolean, aIsHttp3: boolean, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraStringData: string): void;\n}\n\ninterface nsIHttpActivityDistributor extends nsIHttpActivityObserver {\n  addObserver(aObserver: nsIHttpActivityObserver): void;\n  removeObserver(aObserver: nsIHttpActivityObserver): void;\n  observeProxyResponse: boolean;\n  observeConnection: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthManager.idl\n\ninterface nsIHttpAuthManager extends nsISupports {\n  getAuthIdentity(aScheme: string, aHost: string, aPort: i32, aAuthType: string, aRealm: string, aPath: string, aUserDomain: OutParam<string>, aUserName: OutParam<string>, aUserPassword: OutParam<string>, aIsPrivate?: boolean, aPrincipal?: nsIPrincipal): void;\n  setAuthIdentity(aScheme: string, aHost: string, aPort: i32, aAuthType: string, aRealm: string, aPath: string, aUserDomain: string, aUserName: string, aUserPassword: string, aIsPrivate?: boolean, aPrincipal?: nsIPrincipal): void;\n  clearAll(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticableChannel.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticator.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannel.idl\n\ninterface nsIHttpChannel extends nsIIdentChannel {\n  requestMethod: string;\n  referrerInfo: nsIReferrerInfo;\n  readonly protocolVersion: string;\n  readonly transferSize: u64;\n  readonly requestSize: u64;\n  readonly decodedBodySize: u64;\n  readonly encodedBodySize: u64;\n  getRequestHeader(aHeader: string): string;\n  setRequestHeader(aHeader: string, aValue: string, aMerge: boolean): void;\n  setNewReferrerInfo(aUrl: string, aPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer: boolean): void;\n  setEmptyRequestHeader(aHeader: string): void;\n  visitRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;\n  visitNonDefaultRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;\n  ShouldStripRequestBodyHeader(aMethod: string): boolean;\n  allowSTS: boolean;\n  redirectionLimit: u32;\n  readonly responseStatus: u32;\n  readonly responseStatusText: string;\n  readonly requestSucceeded: boolean;\n  isMainDocumentChannel: boolean;\n  getResponseHeader(header: string): string;\n  setResponseHeader(header: string, value: string, merge: boolean): void;\n  visitResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;\n  getOriginalResponseHeader(aHeader: string, aVisitor: nsIHttpHeaderVisitor): void;\n  visitOriginalResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;\n  isNoStoreResponse(): boolean;\n  isNoCacheResponse(): boolean;\n  isPrivateResponse(): boolean;\n  redirectTo(aTargetURI: nsIURI): void;\n  upgradeToSecure(): void;\n  topLevelContentWindowId: u64;\n  browserId: u64;\n  logBlockedCORSRequest(aMessage: string, aCategory: string, aIsWarning: boolean): void;\n  logMimeTypeMismatch(aMessageName: string, aWarning: boolean, aURL: string, aContentType: string): void;\n  classicScriptHintCharset: string;\n  documentCharacterSet: string;\n  requestObserversCalled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelAuthProvider.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelChild.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelInternal.idl\n\ninterface nsIHttpUpgradeListener extends nsISupports {\n  onTransportAvailable(aTransport: nsISocketTransport, aSocketIn: nsIAsyncInputStream, aSocketOut: nsIAsyncOutputStream): void;\n  onUpgradeFailed(aErrorCode: nsresult): void;\n}\n\ninterface nsIHttpChannelInternal extends nsISupports {\n  readonly THIRD_PARTY_FORCE_ALLOW?: 1;\n  readonly TLS_FLAG_CONFIGURE_AS_RETRY?: 65536;\n  readonly REDIRECT_MODE_FOLLOW?: 0;\n  readonly REDIRECT_MODE_ERROR?: 1;\n  readonly REDIRECT_MODE_MANUAL?: 2;\n  readonly FETCH_CACHE_MODE_DEFAULT?: 0;\n  readonly FETCH_CACHE_MODE_NO_STORE?: 1;\n  readonly FETCH_CACHE_MODE_RELOAD?: 2;\n  readonly FETCH_CACHE_MODE_NO_CACHE?: 3;\n  readonly FETCH_CACHE_MODE_FORCE_CACHE?: 4;\n  readonly FETCH_CACHE_MODE_ONLY_IF_CACHED?: 5;\n\n  documentURI: nsIURI;\n  getRequestVersion(major: OutParam<u32>, minor: OutParam<u32>): void;\n  getResponseVersion(major: OutParam<u32>, minor: OutParam<u32>): void;\n  setCookieHeaders(aCookieHeaders: string[]): void;\n  thirdPartyFlags: u32;\n  forceAllowThirdPartyCookie: boolean;\n  channelIsForDownload: boolean;\n  readonly localAddress: string;\n  readonly localPort: i32;\n  readonly remoteAddress: string;\n  readonly remotePort: i32;\n  HTTPUpgrade(aProtocolName: string, aListener: nsIHttpUpgradeListener): void;\n  setConnectOnly(tlsTunnel: boolean): void;\n  readonly onlyConnect: boolean;\n  allowSpdy: boolean;\n  allowHttp3: boolean;\n  responseTimeoutEnabled: boolean;\n  initialRwin: u32;\n  readonly apiRedirectToURI: nsIURI;\n  allowAltSvc: boolean;\n  beConservative: boolean;\n  bypassProxy: boolean;\n  readonly isResolvedByTRR: boolean;\n  readonly effectiveTRRMode: nsIRequest.TRRMode;\n  readonly trrSkipReason: nsITRRSkipReason.value;\n  readonly isLoadedBySocketProcess: boolean;\n  isOCSP: boolean;\n  tlsFlags: u32;\n  readonly lastModifiedTime: PRTime;\n  corsIncludeCredentials: boolean;\n  redirectMode: u32;\n  fetchCacheMode: u32;\n  readonly topWindowURI: nsIURI;\n  setTopWindowURIIfUnknown(topWindowURI: nsIURI): void;\n  readonly proxyURI: nsIURI;\n  blockAuthPrompt: boolean;\n  integrityMetadata: string;\n  readonly connectionInfoHashKey: string;\n  setIPv4Disabled(): void;\n  setIPv6Disabled(): void;\n  readonly crossOriginOpenerPolicy: nsILoadInfo.CrossOriginOpenerPolicy;\n  readonly supportsHTTP3: boolean;\n  readonly hasHTTPSRR: boolean;\n  setEarlyHintObserver(aObserver: nsIEarlyHintObserver): void;\n  earlyHintPreloaderId: u64;\n  readonly isProxyUsed: boolean;\n  setWebTransportSessionEventListener(aListener: WebTransportSessionEventListener): void;\n  earlyHintLinkType: u32;\n  isUserAgentHeaderModified: boolean;\n  setResponseOverride(aReplacedHttpResponse: nsIReplacedHttpResponse): void;\n  setResponseStatus(aStatus: u32, aStatusText: string): void;\n  readonly lastTransportStatus: nsresult;\n  transparentRedirectTo(aTargetURI: nsIURI): void;\n  readonly caps: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpHeaderVisitor.idl\n\ntype nsIHttpHeaderVisitor = Callable<{\n  visitHeader(aHeader: string, aValue: string): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpProtocolHandler.idl\n\ninterface nsIHttpProtocolHandler extends nsIProxiedProtocolHandler {\n  readonly userAgent: string;\n  readonly rfpUserAgent: string;\n  readonly appName: string;\n  readonly appVersion: string;\n  readonly platform: string;\n  readonly oscpu: string;\n  readonly misc: string;\n  readonly altSvcCacheKeys: string[];\n  readonly authCacheKeys: string[];\n  EnsureHSTSDataReady(): Promise<any>;\n  clearCORSPreflightCache(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsINetworkErrorLogging.idl\n\ninterface nsINetworkErrorLogging extends nsISupports {\n  registerPolicy(aChannel: nsIHttpChannel): void;\n  generateNELReport(aChannel: nsIHttpChannel): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttp.idl\n\ninterface nsIObliviousHttpClientResponse extends nsISupports {\n  decapsulate(encResponse: u8[]): u8[];\n}\n\ninterface nsIObliviousHttpClientRequest extends nsISupports {\n  readonly encRequest: u8[];\n  readonly response: nsIObliviousHttpClientResponse;\n}\n\ninterface nsIObliviousHttpServerResponse extends nsISupports {\n  readonly request: u8[];\n  encapsulate(response: u8[]): u8[];\n}\n\ninterface nsIObliviousHttpServer extends nsISupports {\n  readonly encodedConfig: u8[];\n  decapsulate(encRequest: u8[]): nsIObliviousHttpServerResponse;\n}\n\ninterface nsIObliviousHttp extends nsISupports {\n  encapsulateRequest(encodedConfig: u8[], request: u8[]): nsIObliviousHttpClientRequest;\n  server(): nsIObliviousHttpServer;\n  decodeConfigList(encodedConfigList: u8[]): u8[][];\n}\n\ninterface nsIObliviousHttpService extends nsISupports {\n  newChannel(relayURI: nsIURI, targetURI: nsIURI, encodedConfig: u8[]): nsIChannel;\n  getTRRSettings(relayURI: OutParam<nsIURI>, encodedConfig: OutParam<u8[]>): void;\n  clearTRRConfig(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttpChannel.idl\n\ninterface nsIObliviousHttpChannel extends nsIHttpChannel {\n  readonly relayChannel: nsIHttpChannel;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIRaceCacheWithNetwork.idl\n\ninterface nsIRaceCacheWithNetwork extends nsISupports {\n  allowRacing: boolean;\n  test_triggerNetwork(timeout: i32): void;\n  test_delayCacheEntryOpeningBy(timeout: i32): void;\n  test_triggerDelayedOpenCacheEntry(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIReplacedHttpResponse.idl\n\ninterface nsIReplacedHttpResponse extends nsISupports {\n  init(): void;\n  responseBody: string;\n  responseStatus: u32;\n  responseStatusText: string;\n  visitResponseHeaders(visitor: nsIHttpHeaderVisitor): void;\n  setResponseHeader(header: string, value: string, merge: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsITlsHandshakeListener.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIWellKnownOpportunisticUtils.idl\n\ninterface nsIWellKnownOpportunisticUtils extends nsISupports {\n  verify(aJSON: string, aOrigin: string): void;\n  readonly valid: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/converters/nsICompressConvStats.idl\n\ninterface nsICompressConvStats extends nsISupports {\n  readonly decodedDataLength: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsIResProtocolHandler.idl\n\ninterface nsIResProtocolHandler extends nsISubstitutingProtocolHandler {\n  allowContentToAccess(url: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl\n\ninterface nsISubstitutingProtocolHandler extends nsIProtocolHandler {\n  readonly ALLOW_CONTENT_ACCESS?: 1;\n  readonly RESOLVE_JAR_URI?: 2;\n\n  setSubstitution(root: string, baseURI: nsIURI): void;\n  setSubstitutionWithFlags(root: string, baseURI: nsIURI, flags: u32): void;\n  getSubstitution(root: string): nsIURI;\n  hasSubstitution(root: string): boolean;\n  resolveURI(resURI: nsIURI): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProvider.idl\n\ninterface nsISocketProvider extends nsISupports {\n  readonly PROXY_RESOLVES_HOST?: 1;\n  readonly ANONYMOUS_CONNECT?: 2;\n  readonly NO_PERMANENT_STORAGE?: 4;\n  readonly BE_CONSERVATIVE?: 8;\n  readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT?: 16;\n  readonly IS_SPECULATIVE_CONNECTION?: 32;\n  readonly DONT_TRY_ECH?: 1024;\n  readonly IS_RETRY?: 2048;\n  readonly USED_PRIVATE_DNS?: 4096;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProviderService.idl\n\ninterface nsISocketProviderService extends nsISupports {\n  getSocketProvider(socketType: string): nsISocketProvider;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/mozITXTToHTMLConv.idl\n\ninterface mozITXTToHTMLConv extends nsIStreamConverter {\n  readonly kEntities?: 0;\n  readonly kURLs?: 2;\n  readonly kGlyphSubstitution?: 4;\n  readonly kStructPhrase?: 8;\n\n  scanTXT(text: string, whattodo: u32): string;\n  scanHTML(text: string, whattodo: u32): string;\n  citeLevelTXT(line: string, logLineStart: OutParam<u32>): u32;\n  findURLInPlaintext(text: string, aLength: i32, aPos: i32, aStartPos: OutParam<i32>, aEndPos: OutParam<i32>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndex.idl\n\ninterface nsIDirIndex extends nsISupports {\n  readonly TYPE_UNKNOWN?: 0;\n  readonly TYPE_DIRECTORY?: 1;\n  readonly TYPE_FILE?: 2;\n  readonly TYPE_SYMLINK?: 3;\n\n  type: u32;\n  location: string;\n  size: i64;\n  lastModified: PRTime;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndexListener.idl\n\ninterface nsIDirIndexListener extends nsISupports {\n  onIndexAvailable(aRequest: nsIRequest, aIndex: nsIDirIndex): void;\n}\n\ninterface nsIDirIndexParser extends nsIStreamListener {\n  listener: nsIDirIndexListener;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverter.idl\n\ninterface nsIStreamConverter extends nsIThreadRetargetableStreamListener {\n  convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aCtxt: nsISupports): nsIInputStream;\n  asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aCtxt: nsISupports): void;\n  maybeRetarget(request: nsIRequest): void;\n  getConvertedType(aFromType: string, aChannel: nsIChannel): string;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverterService.idl\n\ninterface nsIStreamConverterService extends nsISupports {\n  canConvert(aFromType: string, aToType: string): boolean;\n  convertedType(aFromType: string, aChannel: nsIChannel): string;\n  convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aContext: nsISupports): nsIInputStream;\n  asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aContext: nsISupports): nsIStreamListener;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsITXTToHTMLConv.idl\n\ninterface nsITXTToHTMLConv extends nsIStreamConverter {\n  setTitle(text: string): void;\n  preFormatHTML(value: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/viewsource/nsIViewSourceChannel.idl\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsITransportProvider.idl\n\ninterface nsITransportProvider extends nsISupports {\n  setListener(listener: nsIHttpUpgradeListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketChannel.idl\n\ninterface nsIWebSocketChannel extends nsISupports {\n  readonly CLOSE_NORMAL?: 1000;\n  readonly CLOSE_GOING_AWAY?: 1001;\n  readonly CLOSE_PROTOCOL_ERROR?: 1002;\n  readonly CLOSE_UNSUPPORTED_DATATYPE?: 1003;\n  readonly CLOSE_NO_STATUS?: 1005;\n  readonly CLOSE_ABNORMAL?: 1006;\n  readonly CLOSE_INVALID_PAYLOAD?: 1007;\n  readonly CLOSE_POLICY_VIOLATION?: 1008;\n  readonly CLOSE_TOO_LARGE?: 1009;\n  readonly CLOSE_EXTENSION_MISSING?: 1010;\n  readonly CLOSE_INTERNAL_ERROR?: 1011;\n  readonly CLOSE_TLS_FAILED?: 1015;\n\n  readonly originalURI: nsIURI;\n  readonly URI: nsIURI;\n  notificationCallbacks: nsIInterfaceRequestor;\n  readonly securityInfo: nsITransportSecurityInfo;\n  loadGroup: nsILoadGroup;\n  loadInfo: nsILoadInfo;\n  protocol: string;\n  readonly extensions: string;\n  readonly httpChannelId: u64;\n  initLoadInfo(aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): void;\n  asyncOpen(aURI: nsIURI, aOrigin: string, aOriginAttributes: any, aInnerWindowID: u64, aListener: nsIWebSocketListener, aContext: nsISupports): void;\n  close(aCode: u16, aReason: string): void;\n  sendMsg(aMsg: string): void;\n  sendBinaryMsg(aMsg: string): void;\n  sendBinaryStream(aStream: nsIInputStream, length: u32): void;\n  pingInterval: u32;\n  pingTimeout: u32;\n  serial: u32;\n  setServerParameters(aProvider: nsITransportProvider, aNegotiatedExtensions: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketEventService.idl\n\ninterface nsIWebSocketFrame extends nsISupports {\n  readonly OPCODE_CONTINUATION?: 0;\n  readonly OPCODE_TEXT?: 1;\n  readonly OPCODE_BINARY?: 2;\n  readonly OPCODE_CLOSE?: 8;\n  readonly OPCODE_PING?: 9;\n  readonly OPCODE_PONG?: 10;\n\n  readonly timeStamp: DOMHighResTimeStamp;\n  readonly finBit: boolean;\n  readonly rsvBit1: boolean;\n  readonly rsvBit2: boolean;\n  readonly rsvBit3: boolean;\n  readonly opCode: u16;\n  readonly maskBit: boolean;\n  readonly mask: u32;\n  readonly payload: string;\n}\n\ninterface nsIWebSocketEventListener extends nsISupports {\n  readonly TYPE_STRING?: 0;\n  readonly TYPE_BLOB?: 1;\n  readonly TYPE_ARRAYBUFFER?: 2;\n\n  webSocketCreated(aWebSocketSerialID: u32, aURI: string, aProtocols: string): void;\n  webSocketOpened(aWebSocketSerialID: u32, aEffectiveURI: string, aProtocols: string, aExtensions: string, aHttpChannelId: u64): void;\n  webSocketMessageAvailable(aWebSocketSerialID: u32, aMessage: string, aType: u16): void;\n  webSocketClosed(aWebSocketSerialID: u32, aWasClean: boolean, aCode: u16, aReason: string): void;\n  frameReceived(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;\n  frameSent(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;\n}\n\ninterface nsIWebSocketEventService extends nsISupports {\n  sendMessage(aWebSocketSerialID: u32, aMessage: string): void;\n  addListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;\n  removeListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;\n  hasListenerFor(aInnerWindowID: u64): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketImpl.idl\n\ninterface nsIWebSocketImpl extends nsISupports {\n  sendMessage(aMessage: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketListener.idl\n\ninterface nsIWebSocketListener extends nsISupports {\n  onStart(aContext: nsISupports): void;\n  onStop(aContext: nsISupports, aStatusCode: nsresult): void;\n  onMessageAvailable(aContext: nsISupports, aMsg: string): void;\n  onBinaryMessageAvailable(aContext: nsISupports, aMsg: string): void;\n  onAcknowledge(aContext: nsISupports, aSize: u32): void;\n  onServerClose(aContext: nsISupports, aCode: u16, aReason: string): void;\n  OnError(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransport.idl\n\n}  // global\n\ndeclare enum nsIWebTransport_WebTransportError {\n  UNKNOWN_ERROR = 0,\n  INVALID_STATE_ERROR = 1,\n}\n\ndeclare enum nsIWebTransport_HTTPVersion {\n  h3 = 0,\n  h2 = 1,\n}\n\ndeclare global {\n\nnamespace nsIWebTransport {\n  type WebTransportError = nsIWebTransport_WebTransportError;\n  type HTTPVersion = nsIWebTransport_HTTPVersion;\n}\n\ninterface nsIWebTransport extends nsISupports, Enums<typeof nsIWebTransport_WebTransportError & typeof nsIWebTransport_HTTPVersion> {\n  asyncConnect(aURI: nsIURI, aDedicated: boolean, aServerCertHashes: nsIWebTransportHash[], aLoadingPrincipal: nsIPrincipal, aSecurityFlags: u32, aListener: WebTransportSessionEventListener, aVersion?: nsIWebTransport.HTTPVersion): void;\n  getStats(): void;\n  closeSession(aErrorCode: u32, aReason: string): void;\n  createOutgoingBidirectionalStream(aListener: nsIWebTransportStreamCallback): void;\n  createOutgoingUnidirectionalStream(aListener: nsIWebTransportStreamCallback): void;\n  sendDatagram(aData: u8[], aTrackingId: u64): void;\n  getMaxDatagramSize(): void;\n}\n\n}  // global\n\ndeclare enum WebTransportSessionEventListener_DatagramOutcome {\n  UNKNOWN = 0,\n  DROPPED_TOO_MUCH_DATA = 1,\n  SENT = 2,\n}\n\ndeclare global {\n\nnamespace WebTransportSessionEventListener {\n  type DatagramOutcome = WebTransportSessionEventListener_DatagramOutcome;\n}\n\ninterface WebTransportSessionEventListener extends nsISupports, Enums<typeof WebTransportSessionEventListener_DatagramOutcome> {\n  onSessionReady(aSessionId: u64): void;\n  onSessionClosed(aCleanly: boolean, aErrorCode: u32, aReason: string): void;\n  onIncomingBidirectionalStreamAvailable(aStream: nsIWebTransportBidirectionalStream): void;\n  onIncomingUnidirectionalStreamAvailable(aStream: nsIWebTransportReceiveStream): void;\n  onStopSending(aStreamId: u64, aError: nsresult): void;\n  onResetReceived(aStreamId: u64, aError: nsresult): void;\n  onDatagramReceived(aData: u8[]): void;\n  onMaxDatagramSize(aSize: u64): void;\n  onOutgoingDatagramOutCome(aId: u64, aOutCome: WebTransportSessionEventListener.DatagramOutcome): void;\n}\n\ninterface nsIWebTransportStreamCallback extends nsISupports {\n  onBidirectionalStreamReady(aStream: nsIWebTransportBidirectionalStream): void;\n  onUnidirectionalStreamReady(aStream: nsIWebTransportSendStream): void;\n  onError(aError: u8): void;\n}\n\ninterface nsIWebTransportHash extends nsISupports {\n  readonly algorithm: string;\n  readonly value: u8[];\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransportStream.idl\n\ninterface nsIWebTransportSendStreamStats extends nsISupports {\n  readonly bytesSent: u64;\n  readonly bytesAcknowledged: u64;\n}\n\ninterface nsIWebTransportReceiveStreamStats extends nsISupports {\n  readonly bytesReceived: u64;\n}\n\ninterface nsIWebTransportStreamStatsCallback extends nsISupports {\n  onSendStatsAvailable(aStats: nsIWebTransportSendStreamStats): void;\n  onReceiveStatsAvailable(aStats: nsIWebTransportReceiveStreamStats): void;\n}\n\ninterface nsIWebTransportReceiveStream extends nsISupports {\n  sendStopSending(aError: u8): void;\n  getReceiveStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;\n  readonly hasReceivedFIN: boolean;\n  readonly inputStream: nsIAsyncInputStream;\n  readonly streamId: u64;\n}\n\ninterface nsIWebTransportSendStream extends nsISupports {\n  sendFin(): void;\n  reset(aErrorCode: u8): void;\n  getSendStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;\n  readonly outputStream: nsIAsyncOutputStream;\n  readonly streamId: u64;\n}\n\ninterface nsIWebTransportBidirectionalStream extends nsISupports {\n  sendStopSending(aError: u8): void;\n  sendFin(): void;\n  reset(aErrorCode: u8): void;\n  readonly hasReceivedFIN: boolean;\n  readonly inputStream: nsIAsyncInputStream;\n  readonly outputStream: nsIAsyncOutputStream;\n  readonly streamId: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiAccessPoint.idl\n\ninterface nsIWifiAccessPoint extends nsISupports {\n  readonly mac: string;\n  readonly ssid: string;\n  readonly rawSSID: string;\n  readonly signal: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiListener.idl\n\ninterface nsIWifiListener extends nsISupports {\n  onChange(accessPoints: nsIWifiAccessPoint[]): void;\n  onError(error: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiMonitor.idl\n\ninterface nsIWifiMonitor extends nsISupports {\n  startWatching(aListener: nsIWifiListener, aForcePolling: boolean): void;\n  stopWatching(aListener: nsIWifiListener): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/parentalcontrols/nsIParentalControlsService.idl\n\ninterface nsIParentalControlsService extends nsISupports {\n  readonly DOWNLOAD?: 1;\n  readonly INSTALL_EXTENSION?: 2;\n  readonly INSTALL_APP?: 3;\n  readonly BROWSE?: 4;\n  readonly SHARE?: 5;\n  readonly BOOKMARK?: 6;\n  readonly ADD_CONTACT?: 7;\n  readonly SET_IMAGE?: 8;\n  readonly MODIFY_ACCOUNTS?: 9;\n  readonly REMOTE_DEBUGGING?: 10;\n  readonly IMPORT_SETTINGS?: 11;\n  readonly PRIVATE_BROWSING?: 12;\n  readonly DATA_CHOICES?: 13;\n  readonly CLEAR_HISTORY?: 14;\n  readonly MASTER_PASSWORD?: 15;\n  readonly GUEST_BROWSING?: 16;\n  readonly ADVANCED_SETTINGS?: 17;\n  readonly CAMERA_MICROPHONE?: 18;\n  readonly BLOCK_LIST?: 19;\n  readonly TELEMETRY?: 20;\n  readonly HEALTH_REPORT?: 21;\n  readonly DEFAULT_THEME?: 22;\n  readonly ePCLog_URIVisit?: 1;\n  readonly ePCLog_FileDownload?: 2;\n\n  readonly parentalControlsEnabled: boolean;\n  readonly blockFileDownloadsEnabled: boolean;\n  isAllowed(aAction: i16, aUri?: nsIURI): boolean;\n  readonly loggingEnabled: boolean;\n  log(aEntryType: i16, aFlag: boolean, aSource: nsIURI, aTarget?: nsIFile): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/bridge/IPeerConnection.idl\n\ninterface IPeerConnectionObserver extends nsISupports {\n}\n\ninterface IPeerConnection extends nsISupports {\n  readonly kHintAudio?: 1;\n  readonly kHintVideo?: 2;\n  readonly kActionNone?: -1;\n  readonly kActionOffer?: 0;\n  readonly kActionAnswer?: 1;\n  readonly kActionPRAnswer?: 2;\n  readonly kActionRollback?: 3;\n  readonly kIceGathering?: 0;\n  readonly kIceWaiting?: 1;\n  readonly kIceChecking?: 2;\n  readonly kIceConnected?: 3;\n  readonly kIceFailed?: 4;\n  readonly kNew?: 0;\n  readonly kNegotiating?: 1;\n  readonly kActive?: 2;\n  readonly kClosing?: 3;\n  readonly kClosed?: 4;\n  readonly kDataChannelReliable?: 0;\n  readonly kDataChannelPartialReliableRexmit?: 1;\n  readonly kDataChannelPartialReliableTimed?: 2;\n  readonly kNoError?: 0;\n  readonly kInvalidCandidate?: 2;\n  readonly kInvalidMediastreamTrack?: 3;\n  readonly kInvalidState?: 4;\n  readonly kInvalidSessionDescription?: 5;\n  readonly kIncompatibleSessionDescription?: 6;\n  readonly kIncompatibleMediaStreamTrack?: 8;\n  readonly kInternalError?: 9;\n  readonly kTypeError?: 10;\n  readonly kOperationError?: 11;\n  readonly kMaxErrorType?: 11;\n}\n\n// https://searchfox.org/mozilla-central/source/extensions/permissions/nsIRemotePermissionService.idl\n\ninterface nsIRemotePermissionService extends nsISupports {\n  init(): void;\n  readonly isInitialized: Promise<any>;\n  testAllowedPermissionValues: any;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertOverrideService.idl\n\ninterface nsICertOverride extends nsISupports {\n  readonly asciiHost: string;\n  readonly port: i32;\n  readonly hostPort: string;\n  readonly fingerprint: string;\n  readonly originAttributes: any;\n}\n\ninterface nsICertOverrideService extends nsISupports {\n  rememberValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aTemporary: boolean): void;\n  hasMatchingOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aIsTemporary: OutParam<boolean>): boolean;\n  clearValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any): void;\n  clearAllOverrides(): void;\n  getOverrides(): nsICertOverride[];\n  setDisableAllSecurityChecksAndLetAttackersInterceptMyData(aDisable: boolean): void;\n  setDisableAllSecurityChecksAndLetAttackersInterceptMyDataForUserContext(aUserContextId: u32, aDisable: boolean): void;\n  resetDisableAllSecurityChecksAndLetAttackersInterceptMyDataForUserContext(aUserContextId: u32): void;\n  readonly securityCheckDisabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertStorage.idl\n\ntype nsICertStorageCallback = Callable<{\n  done(rv: nsresult, result: nsIVariant): void;\n}>\n\ninterface nsIRevocationState extends nsISupports {\n  readonly state: i16;\n}\n\ninterface nsIIssuerAndSerialRevocationState extends nsIRevocationState {\n  readonly issuer: string;\n  readonly serial: string;\n}\n\ninterface nsISubjectAndPubKeyRevocationState extends nsIRevocationState {\n  readonly subject: string;\n  readonly pubKey: string;\n}\n\ninterface nsICertInfo extends nsISupports {\n  readonly cert: string;\n  readonly subject: string;\n  readonly trust: i16;\n}\n\ninterface nsICertStorage extends nsISupports {\n  readonly DATA_TYPE_REVOCATION?: 1;\n  readonly DATA_TYPE_CERTIFICATE?: 2;\n  readonly DATA_TYPE_CRLITE?: 3;\n  readonly DATA_TYPE_CRLITE_FILTER_FULL?: 4;\n  readonly DATA_TYPE_CRLITE_FILTER_INCREMENTAL?: 5;\n  readonly STATE_UNSET?: 0;\n  readonly STATE_ENFORCE?: 1;\n  readonly STATE_NOT_ENROLLED?: 2;\n  readonly STATE_NOT_COVERED?: 3;\n  readonly STATE_NO_FILTER?: 4;\n  readonly TRUST_INHERIT?: 0;\n  readonly TRUST_ANCHOR?: 1;\n\n  hasPriorData(type: u8, callback: nsICertStorageCallback): void;\n  setRevocations(revocations: nsIRevocationState[], callback: nsICertStorageCallback): void;\n  getRevocationState(issuer: u8[], serial: u8[], subject: u8[], pubkey: u8[]): i16;\n  setFullCRLiteFilter(filter: u8[], callback: nsICertStorageCallback): void;\n  addCRLiteDelta(delta: u8[], filename: string, callback: nsICertStorageCallback): void;\n  testNoteCRLiteUpdateTime(callback: nsICertStorageCallback): void;\n  addCerts(certs: nsICertInfo[], callback: nsICertStorageCallback): void;\n  TestHelperAddCert(cert: string, subject: string, trust: i16): void;\n  removeCertsByHashes(hashes: string[], callback: nsICertStorageCallback): void;\n  findCertsBySubject(subject: u8[]): u8[][];\n  hasAllCertsByHash(hashes: u8[][]): boolean;\n  findCertByHash(cert_hash: u8[]): u8[];\n  GetRemainingOperationCount(): i32;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertTree.idl\n\ninterface nsICertTreeItem extends nsISupports {\n  readonly cert: nsIX509Cert;\n}\n\ninterface nsICertTree extends nsITreeView {\n  loadCertsFromCache(cache: nsIX509Cert[], type: u32): void;\n  getCert(index: u32): nsIX509Cert;\n  getTreeItem(index: u32): nsICertTreeItem;\n  deleteEntryObject(index: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertificateDialogs.idl\n\ninterface nsICertificateDialogs extends nsISupports {\n  confirmDownloadCACert(ctx: nsIInterfaceRequestor, cert: nsIX509Cert, trust: OutParam<u32>): boolean;\n  setPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;\n  getPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthDialogService.idl\n\ntype nsIClientAuthDialogCallback = Callable<{\n  certificateChosen(cert: nsIX509Cert, rememberDuration: nsIClientAuthRememberService.Duration): void;\n}>\n\ninterface nsIClientAuthDialogService extends nsISupports {\n  chooseCertificate(hostname: string, certArray: nsIX509Cert[], loadContext: nsILoadContext, caNames: u8[][], callback: nsIClientAuthDialogCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthRememberService.idl\n\ninterface nsIClientAuthRememberRecord extends nsISupports {\n  readonly asciiHost: string;\n  readonly dbKey: string;\n  readonly entryKey: string;\n}\n\n}  // global\n\ndeclare enum nsIClientAuthRememberService_Duration {\n  Once = 0,\n  Permanent = 1,\n  Session = 2,\n}\n\ndeclare global {\n\nnamespace nsIClientAuthRememberService {\n  type Duration = nsIClientAuthRememberService_Duration;\n}\n\ninterface nsIClientAuthRememberService extends nsISupports, Enums<typeof nsIClientAuthRememberService_Duration> {\n  forgetRememberedDecision(key: string): void;\n  getDecisions(): nsIClientAuthRememberRecord[];\n  rememberDecisionScriptable(aHostName: string, originAttributes: any, aClientCert: nsIX509Cert, aDuration: nsIClientAuthRememberService.Duration): void;\n  hasRememberedDecisionScriptable(aHostName: string, originAttributes: any, aCertDBKey: OutParam<string>): boolean;\n  clearRememberedDecisions(): void;\n  deleteDecisionsByHost(aHostName: string, aOriginAttributes: any): void;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIContentSignatureVerifier.idl\n\ninterface nsIContentSignatureVerifier extends nsISupports {\n  readonly ContentSignatureProdRoot?: 1;\n  readonly ContentSignatureStageRoot?: 2;\n  readonly ContentSignatureDevRoot?: 3;\n  readonly ContentSignatureLocalRoot?: 4;\n\n  asyncVerifyContentSignature(aData: string, aContentSignatureHeader: string, aCertificateChain: string, aHostname: string, aTrustedRoot: AppTrustedRoot): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICryptoHash.idl\n\ninterface nsICryptoHash extends nsISupports {\n  readonly MD5?: 2;\n  readonly SHA1?: 3;\n  readonly SHA256?: 4;\n  readonly SHA384?: 5;\n  readonly SHA512?: 6;\n\n  init(aAlgorithm: u32): void;\n  initWithString(aAlgorithm: string): void;\n  update(aData: u8[], aLen: u32): void;\n  updateFromStream(aStream: nsIInputStream, aLen: u32): void;\n  finish(aASCII: boolean): string;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIDataStorage.idl\n\n}  // global\n\ndeclare enum nsIDataStorageManager_DataStorage {\n  AlternateServices = 0,\n  ClientAuthRememberList = 1,\n  SiteSecurityServiceState = 2,\n}\n\ndeclare global {\n\nnamespace nsIDataStorageManager {\n  type DataStorage = nsIDataStorageManager_DataStorage;\n}\n\ninterface nsIDataStorageManager extends nsISupports, Enums<typeof nsIDataStorageManager_DataStorage> {\n  get(dataStorage: nsIDataStorageManager.DataStorage): nsIDataStorage;\n}\n\n}  // global\n\ndeclare enum nsIDataStorage_DataType {\n  Persistent = 0,\n  Private = 1,\n  Temporary = 2,\n}\n\ndeclare global {\n\nnamespace nsIDataStorage {\n  type DataType = nsIDataStorage_DataType;\n}\n\ninterface nsIDataStorage extends nsISupports, Enums<typeof nsIDataStorage_DataType> {\n  get(key: string, type: nsIDataStorage.DataType): string;\n  put(key: string, value: string, type: nsIDataStorage.DataType): void;\n  remove(key: string, type: nsIDataStorage.DataType): void;\n  clear(): void;\n  isReady(): boolean;\n  getAll(): nsIDataStorageItem[];\n}\n\ninterface nsIDataStorageItem extends nsISupports {\n  readonly key: string;\n  readonly value: string;\n  readonly type: nsIDataStorage.DataType;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSComponent.idl\n\ninterface nsINSSComponent extends nsISupports {\n  getEnterpriseRoots(): u8[][];\n  getEnterpriseRootsPEM(): string;\n  getEnterpriseIntermediates(): u8[][];\n  getEnterpriseIntermediatesPEM(): string;\n  addEnterpriseIntermediate(intermediateBytes: u8[]): void;\n  clearSSLExternalAndInternalSessionCache(): void;\n  asyncClearSSLExternalAndInternalSessionCache(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSErrorsService.idl\n\ninterface nsINSSErrorsService extends nsISupports {\n  readonly ERROR_CLASS_SSL_PROTOCOL?: 1;\n  readonly ERROR_CLASS_BAD_CERT?: 2;\n  readonly NSS_SEC_ERROR_BASE?: -8192;\n  readonly NSS_SEC_ERROR_LIMIT?: -7192;\n  readonly NSS_SSL_ERROR_BASE?: -12288;\n  readonly NSS_SSL_ERROR_LIMIT?: -11288;\n  readonly MOZILLA_PKIX_ERROR_BASE?: -16384;\n  readonly MOZILLA_PKIX_ERROR_LIMIT?: -15384;\n\n  isNSSErrorCode(aNSPRCode: i32): boolean;\n  getXPCOMFromNSSError(aNSPRCode: i32): nsresult;\n  getErrorMessage(aXPCOMErrorCode: nsresult): string;\n  getErrorName(aXPCOMErrorCode: nsresult): string;\n  getErrorClass(aXPCOMErrorCode: nsresult): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSVersion.idl\n\ninterface nsINSSVersion extends nsISupports {\n  readonly NSPR_MinVersion: string;\n  readonly NSS_MinVersion: string;\n  readonly NSSUTIL_MinVersion: string;\n  readonly NSSSSL_MinVersion: string;\n  readonly NSSSMIME_MinVersion: string;\n  readonly NSPR_Version: string;\n  readonly NSS_Version: string;\n  readonly NSSUTIL_Version: string;\n  readonly NSSSSL_Version: string;\n  readonly NSSSMIME_Version: string;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSKeyStore.idl\n\ninterface nsIOSKeyStore extends nsISupports {\n  asyncGenerateSecret(label: string): Promise<any>;\n  asyncSecretAvailable(label: string): Promise<any>;\n  asyncRecoverSecret(label: string, recoveryPhrase: string): Promise<any>;\n  asyncDeleteSecret(label: string): Promise<any>;\n  asyncEncryptBytes(label: string, inBytes: u8[]): Promise<any>;\n  asyncDecryptBytes(label: string, encryptedBase64Text: string): Promise<any>;\n  asyncGetRecoveryPhrase(aLabel: string): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSReauthenticator.idl\n\ninterface nsIOSReauthenticator extends nsISupports {\n  asyncReauthenticateUser(prompt: string, caption: string, parentWindow: mozIDOMWindow): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11Token.idl\n\ninterface nsIPK11Token extends nsISupports {\n  readonly tokenName: string;\n  readonly isInternalKeyToken: boolean;\n  readonly tokenManID: string;\n  readonly tokenHWVersion: string;\n  readonly tokenFWVersion: string;\n  readonly tokenSerialNumber: string;\n  isLoggedIn(): boolean;\n  login(force: boolean): void;\n  logoutSimple(): void;\n  logoutAndDropAuthenticatedResources(): void;\n  needsLogin(): boolean;\n  readonly needsUserInit: boolean;\n  reset(): void;\n  checkPassword(password: string): boolean;\n  initPassword(initialPassword: string): void;\n  changePassword(oldPassword: string, newPassword: string): void;\n  readonly hasPassword: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11TokenDB.idl\n\ninterface nsIPK11TokenDB extends nsISupports {\n  getInternalKeyToken(): nsIPK11Token;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Module.idl\n\ninterface nsIPKCS11Module extends nsISupports {\n  readonly name: string;\n  readonly libName: string;\n  listSlots(): nsISimpleEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11ModuleDB.idl\n\ninterface nsIPKCS11ModuleDB extends nsISupports {\n  deleteModule(moduleName: string): void;\n  addModule(moduleName: string, libraryFullPath: string, cryptoMechanismFlags: i32, cipherFlags: i32): void;\n  listModules(): nsISimpleEnumerator;\n  readonly canToggleFIPS: boolean;\n  toggleFIPSMode(): void;\n  readonly isFIPSEnabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Slot.idl\n\ninterface nsIPKCS11Slot extends nsISupports {\n  readonly SLOT_DISABLED?: 0;\n  readonly SLOT_NOT_PRESENT?: 1;\n  readonly SLOT_UNINITIALIZED?: 2;\n  readonly SLOT_NOT_LOGGED_IN?: 3;\n  readonly SLOT_LOGGED_IN?: 4;\n  readonly SLOT_READY?: 5;\n\n  readonly name: string;\n  readonly desc: string;\n  readonly manID: string;\n  readonly HWVersion: string;\n  readonly FWVersion: string;\n  readonly status: u32;\n  getToken(): nsIPK11Token;\n  readonly tokenName: string;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPublicKeyPinningService.idl\n\ninterface nsIPublicKeyPinningService extends nsISupports {\n  hostHasPins(aURI: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecretDecoderRing.idl\n\ninterface nsISecretDecoderRing extends nsISupports {\n  encryptString(text: string): string;\n  asyncEncryptStrings(plaintexts: string[]): Promise<any>;\n  decryptString(encryptedBase64Text: string): string;\n  asyncDecryptStrings(encryptedStrings: string[]): Promise<any>;\n  changePassword(): void;\n  logout(): void;\n  logoutAndTeardown(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecurityUITelemetry.idl\n\ninterface nsISecurityUITelemetry extends nsISupports {\n  readonly WARNING_ADDON_ASKING_PREVENTED?: 1;\n  readonly WARNING_ADDON_ASKING_PREVENTED_CLICK_THROUGH?: 2;\n  readonly WARNING_CONFIRM_ADDON_INSTALL?: 3;\n  readonly WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH?: 4;\n  readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE?: 9;\n  readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE_CLICK_THROUGH?: 10;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISiteSecurityService.idl\n\n}  // global\n\ndeclare enum nsISiteSecurityService_ResetStateBy {\n  ExactDomain = 0,\n  RootDomain = 1,\n  BaseDomain = 2,\n}\n\ndeclare global {\n\nnamespace nsISiteSecurityService {\n  type ResetStateBy = nsISiteSecurityService_ResetStateBy;\n}\n\ninterface nsISiteSecurityService extends nsISupports, Enums<typeof nsISiteSecurityService_ResetStateBy> {\n  readonly Success?: 0;\n  readonly ERROR_UNKNOWN?: 1;\n  readonly ERROR_COULD_NOT_PARSE_HEADER?: 3;\n  readonly ERROR_NO_MAX_AGE?: 4;\n  readonly ERROR_MULTIPLE_MAX_AGES?: 5;\n  readonly ERROR_INVALID_MAX_AGE?: 6;\n  readonly ERROR_MULTIPLE_INCLUDE_SUBDOMAINS?: 7;\n  readonly ERROR_INVALID_INCLUDE_SUBDOMAINS?: 8;\n  readonly ERROR_COULD_NOT_SAVE_STATE?: 13;\n\n  processHeader(aSourceURI: nsIURI, aHeader: string, aOriginAttributes?: any, aMaxAge?: OutParam<u64>, aIncludeSubdomains?: OutParam<boolean>, aFailureResult?: OutParam<u32>): void;\n  resetState(aURI: nsIURI, aOriginAttributes?: any, aScope?: nsISiteSecurityService.ResetStateBy): void;\n  isSecureURI(aURI: nsIURI, aOriginAttributes?: any): boolean;\n  clearAll(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITLSSocketControl.idl\n\ninterface nsITLSSocketControl extends nsISupports {\n  readonly KEY_EXCHANGE_UNKNOWN?: -1;\n  readonly SSL_VERSION_3?: 768;\n  readonly TLS_VERSION_1?: 769;\n  readonly TLS_VERSION_1_1?: 770;\n  readonly TLS_VERSION_1_2?: 771;\n  readonly TLS_VERSION_1_3?: 772;\n  readonly SSL_VERSION_UNKNOWN?: -1;\n  readonly SSL_MAC_UNKNOWN?: -1;\n  readonly SSL_MAC_NULL?: 0;\n  readonly SSL_MAC_MD5?: 1;\n  readonly SSL_MAC_SHA?: 2;\n  readonly SSL_HMAC_MD5?: 3;\n  readonly SSL_HMAC_SHA?: 4;\n  readonly SSL_HMAC_SHA256?: 5;\n  readonly SSL_MAC_AEAD?: 6;\n\n  asyncStartTLS(): Promise<any>;\n  getAlpnEarlySelection(): string;\n  readonly earlyDataAccepted: boolean;\n  driveHandshake(): void;\n  joinConnection(npnProtocol: string, hostname: string, port: i32): boolean;\n  testJoinConnection(npnProtocol: string, hostname: string, port: i32): boolean;\n  isAcceptableForHost(hostname: string): boolean;\n  readonly KEAUsed: i16;\n  readonly KEAKeyBits: u32;\n  readonly providerFlags: u32;\n  readonly SSLVersionUsed: i16;\n  readonly SSLVersionOffered: i16;\n  readonly MACAlgorithmUsed: i16;\n  readonly clientCertSent: boolean;\n  readonly failedVerification: boolean;\n  esniTxt: string;\n  echConfig: string;\n  readonly retryEchConfig: string;\n  readonly peerId: string;\n  readonly securityInfo: nsITransportSecurityInfo;\n  asyncGetSecurityInfo(): Promise<any>;\n  claim(): void;\n  browserId: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITokenPasswordDialogs.idl\n\ninterface nsITokenPasswordDialogs extends nsISupports {\n  setPassword(ctx: nsIInterfaceRequestor, token: nsIPK11Token): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITransportSecurityInfo.idl\n\n}  // global\n\ndeclare enum nsITransportSecurityInfo_OverridableErrorCategory {\n  ERROR_UNSET = 0,\n  ERROR_TRUST = 1,\n  ERROR_DOMAIN = 2,\n  ERROR_TIME = 3,\n}\n\ndeclare global {\n\nnamespace nsITransportSecurityInfo {\n  type OverridableErrorCategory = nsITransportSecurityInfo_OverridableErrorCategory;\n}\n\ninterface nsITransportSecurityInfo extends nsISupports, Enums<typeof nsITransportSecurityInfo_OverridableErrorCategory> {\n  readonly SSL_VERSION_3?: 0;\n  readonly TLS_VERSION_1?: 1;\n  readonly TLS_VERSION_1_1?: 2;\n  readonly TLS_VERSION_1_2?: 3;\n  readonly TLS_VERSION_1_3?: 4;\n  readonly CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE?: 0;\n  readonly CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT?: 5;\n  readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS?: 6;\n  readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS?: 7;\n\n  readonly securityState: u32;\n  readonly errorCode: i32;\n  readonly errorCodeString: string;\n  readonly failedCertChain: nsIX509Cert[];\n  readonly serverCert: nsIX509Cert;\n  readonly succeededCertChain: nsIX509Cert[];\n  readonly cipherName: string;\n  readonly keyLength: u32;\n  readonly secretKeyLength: u32;\n  readonly keaGroupName: string;\n  readonly signatureSchemeName: string;\n  readonly protocolVersion: u16;\n  readonly certificateTransparencyStatus: u16;\n  readonly isAcceptedEch: boolean;\n  readonly isDelegatedCredential: boolean;\n  readonly overridableErrorCategory: nsITransportSecurityInfo.OverridableErrorCategory;\n  readonly madeOCSPRequests: boolean;\n  readonly usedPrivateDNS: boolean;\n  readonly isExtendedValidation: boolean;\n  toString(): string;\n  readonly negotiatedNPN: string;\n  readonly resumed: boolean;\n  readonly isBuiltCertChainRootBuiltInRoot: boolean;\n  readonly peerId: string;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509Cert.idl\n\ninterface nsIX509Cert extends nsISupports {\n  readonly UNKNOWN_CERT?: 0;\n  readonly CA_CERT?: 1;\n  readonly USER_CERT?: 2;\n  readonly EMAIL_CERT?: 4;\n  readonly SERVER_CERT?: 8;\n  readonly ANY_CERT?: 65535;\n\n  readonly emailAddress: string;\n  getEmailAddresses(): string[];\n  containsEmailAddress(aEmailAddress: string): boolean;\n  readonly subjectName: string;\n  readonly commonName: string;\n  readonly organization: string;\n  readonly organizationalUnit: string;\n  readonly sha256Fingerprint: string;\n  readonly sha1Fingerprint: string;\n  readonly tokenName: string;\n  readonly issuerName: string;\n  readonly serialNumber: string;\n  readonly issuerCommonName: string;\n  readonly issuerOrganization: string;\n  readonly issuerOrganizationUnit: string;\n  readonly validity: nsIX509CertValidity;\n  readonly dbKey: string;\n  readonly displayName: string;\n  readonly certType: u32;\n  getRawDER(): u8[];\n  getBase64DERString(): string;\n  readonly sha256SubjectPublicKeyInfoDigest: string;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertDB.idl\n\n}  // global\n\ndeclare enum nsIAppSignatureInfo_SignatureAlgorithm {\n  PKCS7_WITH_SHA1 = 0,\n  PKCS7_WITH_SHA256 = 1,\n  COSE_WITH_SHA256 = 2,\n}\n\ndeclare global {\n\nnamespace nsIAppSignatureInfo {\n  type SignatureAlgorithm = nsIAppSignatureInfo_SignatureAlgorithm;\n}\n\ninterface nsIAppSignatureInfo extends nsISupports, Enums<typeof nsIAppSignatureInfo_SignatureAlgorithm> {\n  readonly signerCert: nsIX509Cert;\n  readonly signatureAlgorithm: nsIAppSignatureInfo.SignatureAlgorithm;\n}\n\ntype nsIOpenSignedAppFileCallback = Callable<{\n  openSignedAppFileFinished(rv: nsresult, aZipReader: nsIZipReader, aSignatureInfos: nsIAppSignatureInfo[]): void;\n}>\n\ntype nsIAsyncBoolCallback = Callable<{\n  onResult(result: boolean): void;\n}>\n\ntype nsICertVerificationCallback = Callable<{\n  verifyCertFinished(aPRErrorCode: i32, aVerifiedChain: nsIX509Cert[], aHasEVPolicy: boolean): void;\n}>\n\n}  // global\n\ndeclare enum nsIX509CertDB_VerifyUsage {\n  verifyUsageTLSServer = 1,\n  verifyUsageTLSServerCA = 2,\n  verifyUsageTLSClient = 3,\n  verifyUsageTLSClientCA = 4,\n  verifyUsageEmailSigner = 5,\n  verifyUsageEmailRecipient = 6,\n  verifyUsageEmailCA = 7,\n}\n\ndeclare global {\n\nnamespace nsIX509CertDB {\n  type VerifyUsage = nsIX509CertDB_VerifyUsage;\n}\n\ninterface nsIX509CertDB extends nsISupports, Enums<typeof nsIX509CertDB_VerifyUsage> {\n  readonly UNTRUSTED?: 0;\n  readonly TRUSTED_SSL?: 1;\n  readonly TRUSTED_EMAIL?: 2;\n  readonly Success?: 0;\n  readonly ERROR_UNKNOWN?: 1;\n  readonly ERROR_PKCS12_NOSMARTCARD_EXPORT?: 2;\n  readonly ERROR_PKCS12_RESTORE_FAILED?: 3;\n  readonly ERROR_PKCS12_BACKUP_FAILED?: 4;\n  readonly ERROR_PKCS12_CERT_COLLISION?: 5;\n  readonly ERROR_BAD_PASSWORD?: 6;\n  readonly ERROR_DECODE_ERROR?: 7;\n  readonly ERROR_PKCS12_DUPLICATE_DATA?: 8;\n  readonly AppXPCShellRoot?: 6;\n  readonly AddonsPublicRoot?: 7;\n  readonly AddonsStageRoot?: 8;\n  readonly FLAG_LOCAL_ONLY?: 1;\n  readonly FLAG_MUST_BE_EV?: 2;\n\n  findCertByDBKey(aDBkey: string): nsIX509Cert;\n  importCertificates(data: u8[], length: u32, type: u32, ctx: nsIInterfaceRequestor): void;\n  importEmailCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;\n  importUserCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;\n  deleteCertificate(aCert: nsIX509Cert): void;\n  setCertTrust(cert: nsIX509Cert, type: u32, trust: u32): void;\n  setCertTrustFromString(cert: nsIX509Cert, trustString: string): void;\n  isCertTrusted(cert: nsIX509Cert, certType: u32, trustType: u32): boolean;\n  importCertsFromFile(aFile: nsIFile, aType: u32): void;\n  importPKCS12File(aFile: nsIFile, aPassword: string): u32;\n  exportPKCS12File(aFile: nsIFile, aCerts: nsIX509Cert[], aPassword: string): u32;\n  constructX509FromBase64(base64: string): nsIX509Cert;\n  constructX509(certDER: u8[]): nsIX509Cert;\n  openSignedAppFileAsync(trustedRoot: AppTrustedRoot, aJarFile: nsIFile, callback: nsIOpenSignedAppFileCallback): void;\n  addCert(certDER: string, trust: string): nsIX509Cert;\n  asyncVerifyCertAtTime(aCert: nsIX509Cert, aUsage: nsIX509CertDB.VerifyUsage, aFlags: u32, aHostname: string, aTime: u64, aCallback: nsICertVerificationCallback): void;\n  clearOCSPCache(): void;\n  addCertFromBase64(base64: string, trust: string): nsIX509Cert;\n  getCerts(): nsIX509Cert[];\n  asPKCS7Blob(certList: nsIX509Cert[]): string;\n  asyncHasThirdPartyRoots(callback: nsIAsyncBoolCallback): void;\n  countTrustObjects(): u32;\n  getAndroidCertificateFromAlias(alias: string): nsIX509Cert;\n}\n\n// https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertValidity.idl\n\ninterface nsIX509CertValidity extends nsISupports {\n  readonly notBefore: PRTime;\n  readonly notAfter: PRTime;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIAsyncHistory.idl\n\ninterface mozIVisitInfo extends nsISupports {\n  readonly visitId: i64;\n  readonly visitDate: PRTime;\n  readonly transitionType: u32;\n  readonly referrerURI: nsIURI;\n}\n\ninterface mozIPlaceInfo extends nsISupports {\n  readonly placeId: i64;\n  readonly guid: string;\n  readonly uri: nsIURI;\n  readonly title: string;\n  readonly frecency: i64;\n  readonly visits: any;\n}\n\ninterface mozIVisitInfoCallback extends nsISupports {\n  handleError(aResultCode: nsresult, aPlaceInfo: mozIPlaceInfo): void;\n  handleResult(aPlaceInfo: mozIPlaceInfo): void;\n  handleCompletion(aUpdatedItems: u32): void;\n  readonly ignoreResults: boolean;\n  readonly ignoreErrors: boolean;\n}\n\ntype mozIVisitedStatusCallback = Callable<{\n  isVisited(aURI: nsIURI, aVisitedStatus: boolean): void;\n}>\n\ninterface mozIAsyncHistory extends nsISupports {\n  updatePlaces(aPlaceInfo: any, aCallback?: mozIVisitInfoCallback): void;\n  isURIVisited(aURI: nsIURI, aCallback: mozIVisitedStatusCallback): void;\n  clearCache(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesAutoComplete.idl\n\ninterface mozIPlacesAutoComplete extends nsISupports {\n  readonly MATCH_ANYWHERE?: 0;\n  readonly MATCH_BOUNDARY_ANYWHERE?: 1;\n  readonly MATCH_BOUNDARY?: 2;\n  readonly MATCH_BEGINNING?: 3;\n  readonly MATCH_ANYWHERE_UNMODIFIED?: 4;\n  readonly MATCH_BEGINNING_CASE_SENSITIVE?: 5;\n  readonly BEHAVIOR_HISTORY?: 1;\n  readonly BEHAVIOR_BOOKMARK?: 2;\n  readonly BEHAVIOR_TAG?: 4;\n  readonly BEHAVIOR_TITLE?: 8;\n  readonly BEHAVIOR_URL?: 16;\n  readonly BEHAVIOR_TYPED?: 32;\n  readonly BEHAVIOR_JAVASCRIPT?: 64;\n  readonly BEHAVIOR_OPENPAGE?: 128;\n  readonly BEHAVIOR_RESTRICT?: 256;\n  readonly BEHAVIOR_SEARCH?: 512;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesPendingOperation.idl\n\ninterface mozIPlacesPendingOperation extends nsISupports {\n  cancel(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/mozISyncedBookmarksMirror.idl\n\ninterface mozISyncedBookmarksMirrorProgressListener extends nsISupports {\n  onFetchLocalTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;\n  onFetchRemoteTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;\n  onMerge(took: i64, counts: nsIPropertyBag): void;\n  onApply(took: i64): void;\n}\n\ninterface mozISyncedBookmarksMirrorCallback extends nsISupports {\n  handleSuccess(result: boolean): void;\n  handleError(code: nsresult, message: string): void;\n}\n\ninterface mozISyncedBookmarksMirrorLogger extends nsISupports {\n  readonly LEVEL_OFF?: 0;\n  readonly LEVEL_ERROR?: 1;\n  readonly LEVEL_WARN?: 2;\n  readonly LEVEL_DEBUG?: 3;\n  readonly LEVEL_TRACE?: 4;\n\n  maxLevel: i16;\n  error(message: string): void;\n  warn(message: string): void;\n  debug(message: string): void;\n  trace(message: string): void;\n}\n\n}  // global\n\ndeclare enum mozISyncedBookmarksMerger_SyncedItemKinds {\n  KIND_BOOKMARK = 1,\n  KIND_QUERY = 2,\n  KIND_FOLDER = 3,\n  KIND_LIVEMARK = 4,\n  KIND_SEPARATOR = 5,\n}\n\ndeclare enum mozISyncedBookmarksMerger_SyncedItemValidity {\n  VALIDITY_VALID = 1,\n  VALIDITY_REUPLOAD = 2,\n  VALIDITY_REPLACE = 3,\n}\n\ndeclare global {\n\nnamespace mozISyncedBookmarksMerger {\n  type SyncedItemKinds = mozISyncedBookmarksMerger_SyncedItemKinds;\n  type SyncedItemValidity = mozISyncedBookmarksMerger_SyncedItemValidity;\n}\n\ninterface mozISyncedBookmarksMerger extends nsISupports, Enums<typeof mozISyncedBookmarksMerger_SyncedItemKinds & typeof mozISyncedBookmarksMerger_SyncedItemValidity> {\n  db: mozIStorageConnection;\n  logger: mozIServicesLogSink;\n  merge(localTimeSeconds: i64, remoteTimeSeconds: i64, callback: mozISyncedBookmarksMirrorCallback): mozIPlacesPendingOperation;\n  reset(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIFaviconService.idl\n\ninterface nsIFaviconService extends nsISupports {\n  readonly FAVICON_LOAD_PRIVATE?: 1;\n  readonly FAVICON_LOAD_NON_PRIVATE?: 2;\n  readonly ICONDATA_FLAGS_RICH?: 1;\n  readonly MAX_FAVICON_BUFFER_SIZE?: 65536;\n\n  getFaviconLinkForIcon(aFaviconURI: nsIURI): nsIURI;\n  expireAllFavicons(): void;\n  setDefaultIconURIPreferredSize(aDefaultSize: u16): void;\n  preferredSizeFromURI(aURI: nsIURI): u16;\n  readonly defaultFavicon: nsIURI;\n  readonly defaultFaviconMimeType: string;\n  setFaviconForPage(aPageURI: nsIURI, aFaviconURI: nsIURI, aDataURL: nsIURI, aExpiration?: PRTime, isRichIcon?: boolean): Promise<any>;\n  getFaviconForPage(aPageURI: nsIURI, aPreferredWidth?: u16): Promise<any>;\n  tryCopyFavicons(aFromPageURI: nsIURI, aToPageURI: nsIURI, aFaviconLoadType: u32): Promise<any>;\n}\n\ninterface nsIFavicon extends nsISupports {\n  readonly uri: nsIURI;\n  readonly dataURI: nsIURI;\n  readonly rawData: u8[];\n  readonly mimeType: string;\n  readonly width: u16;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavBookmarksService.idl\n\n}  // global\n\ndeclare enum nsINavBookmarksService_ChangeSource {\n  SOURCE_DEFAULT = 0,\n  SOURCE_SYNC = 1,\n  SOURCE_IMPORT = 2,\n  SOURCE_SYNC_REPARENT_REMOVED_FOLDER_CHILDREN = 4,\n  SOURCE_RESTORE = 5,\n  SOURCE_RESTORE_ON_STARTUP = 6,\n}\n\ndeclare global {\n\nnamespace nsINavBookmarksService {\n  type ChangeSource = nsINavBookmarksService_ChangeSource;\n}\n\ninterface nsINavBookmarksService extends nsISupports, Enums<typeof nsINavBookmarksService_ChangeSource> {\n  readonly DEFAULT_INDEX?: -1;\n  readonly TYPE_BOOKMARK?: 1;\n  readonly TYPE_FOLDER?: 2;\n  readonly TYPE_SEPARATOR?: 3;\n  readonly TYPE_DYNAMIC_CONTAINER?: 4;\n  readonly SYNC_STATUS_UNKNOWN?: 0;\n  readonly SYNC_STATUS_NEW?: 1;\n  readonly SYNC_STATUS_NORMAL?: 2;\n\n  readonly tagsFolder: i64;\n  readonly totalSyncChanges: i64;\n  insertBookmark(aParentId: i64, aURI: nsIURI, aIndex: i32, aTitle: string, aGuid?: string, aSource?: u16): i64;\n  removeItem(aItemId: i64, aSource?: u16): void;\n  createFolder(aParentFolder: i64, name: string, index: i32, aGuid?: string, aSource?: u16): i64;\n  setItemTitle(aItemId: i64, aTitle: string, aSource?: u16): void;\n  getItemTitle(aItemId: i64): string;\n  setItemLastModified(aItemId: i64, aLastModified: PRTime, aSource?: u16): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavHistoryService.idl\n\n}  // global\n\ndeclare enum nsINavHistoryResultNode_ResultType {\n  RESULT_TYPE_URI = 0,\n  RESULT_TYPE_QUERY = 5,\n  RESULT_TYPE_FOLDER = 6,\n  RESULT_TYPE_SEPARATOR = 7,\n  RESULT_TYPE_FOLDER_SHORTCUT = 9,\n}\n\ndeclare global {\n\nnamespace nsINavHistoryResultNode {\n  type ResultType = nsINavHistoryResultNode_ResultType;\n}\n\ninterface nsINavHistoryResultNode extends nsISupports, Enums<typeof nsINavHistoryResultNode_ResultType> {\n  readonly parent: nsINavHistoryContainerResultNode;\n  readonly parentResult: nsINavHistoryResult;\n  readonly uri: string;\n  readonly type: u32;\n  readonly title: string;\n  readonly accessCount: u32;\n  readonly time: PRTime;\n  readonly icon: string;\n  readonly indentLevel: i32;\n  readonly bookmarkIndex: i32;\n  readonly itemId: i64;\n  readonly dateAdded: PRTime;\n  readonly lastModified: PRTime;\n  readonly tags: string;\n  readonly pageGuid: string;\n  readonly bookmarkGuid: string;\n  readonly visitId: i64;\n  readonly visitType: u32;\n}\n\ninterface nsINavHistoryContainerResultNode extends nsINavHistoryResultNode {\n  readonly STATE_CLOSED?: 0;\n  readonly STATE_LOADING?: 1;\n  readonly STATE_OPENED?: 2;\n\n  containerOpen: boolean;\n  readonly state: u16;\n  readonly hasChildren: boolean;\n  readonly childCount: u32;\n  getChild(aIndex: u32): nsINavHistoryResultNode;\n  getChildIndex(aNode: nsINavHistoryResultNode): u32;\n}\n\ninterface nsINavHistoryQueryResultNode extends nsINavHistoryContainerResultNode {\n  readonly query: nsINavHistoryQuery;\n  readonly queryOptions: nsINavHistoryQueryOptions;\n  readonly folderItemId: i64;\n  readonly targetFolderGuid: string;\n}\n\ninterface nsINavHistoryResultObserver extends nsISupports {\n  readonly skipHistoryDetailsNotifications: boolean;\n  nodeInserted(aParent: nsINavHistoryContainerResultNode, aNode: nsINavHistoryResultNode, aNewIndex: u32): void;\n  nodeRemoved(aParent: nsINavHistoryContainerResultNode, aItem: nsINavHistoryResultNode, aOldIndex: u32): void;\n  nodeMoved(aNode: nsINavHistoryResultNode, aOldParent: nsINavHistoryContainerResultNode, aOldIndex: u32, aNewParent: nsINavHistoryContainerResultNode, aNewIndex: u32): void;\n  nodeTitleChanged(aNode: nsINavHistoryResultNode, aNewTitle: string): void;\n  nodeURIChanged(aNode: nsINavHistoryResultNode, aOldURI: string): void;\n  nodeIconChanged(aNode: nsINavHistoryResultNode): void;\n  nodeHistoryDetailsChanged(aNode: nsINavHistoryResultNode, aOldVisitDate: PRTime, aOldAccessCount: u32): void;\n  nodeTagsChanged(aNode: nsINavHistoryResultNode): void;\n  nodeKeywordChanged(aNode: nsINavHistoryResultNode, aNewKeyword: string): void;\n  nodeDateAddedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;\n  nodeLastModifiedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;\n  containerStateChanged(aContainerNode: nsINavHistoryContainerResultNode, aOldState: u32, aNewState: u32): void;\n  invalidateContainer(aContainerNode: nsINavHistoryContainerResultNode): void;\n  sortingChanged(sortingMode: u16): void;\n  batching(aToggleMode: boolean): void;\n  result: nsINavHistoryResult;\n}\n\ninterface nsINavHistoryResult extends nsISupports {\n  sortingMode: u16;\n  suppressNotifications: boolean;\n  addObserver(aObserver: nsINavHistoryResultObserver, aOwnsWeak?: boolean): void;\n  removeObserver(aObserver: nsINavHistoryResultObserver): void;\n  readonly root: nsINavHistoryContainerResultNode;\n  onBeginUpdateBatch(): void;\n  onEndUpdateBatch(): void;\n}\n\ninterface nsINavHistoryQuery extends nsISupports {\n  readonly TIME_RELATIVE_EPOCH?: 0;\n  readonly TIME_RELATIVE_TODAY?: 1;\n  readonly TIME_RELATIVE_NOW?: 2;\n\n  beginTime: PRTime;\n  beginTimeReference: u32;\n  readonly hasBeginTime: boolean;\n  readonly absoluteBeginTime: PRTime;\n  endTime: PRTime;\n  endTimeReference: u32;\n  readonly hasEndTime: boolean;\n  readonly absoluteEndTime: PRTime;\n  searchTerms: string;\n  readonly hasSearchTerms: boolean;\n  minVisits: i32;\n  maxVisits: i32;\n  setTransitions(transitions: u32[]): void;\n  getTransitions(): u32[];\n  readonly transitionCount: u32;\n  domainIsHost: boolean;\n  domain: string;\n  readonly hasDomain: boolean;\n  uri: nsIURI;\n  readonly hasUri: boolean;\n  tags: nsIVariant;\n  tagsAreNot: boolean;\n  getParents(): string[];\n  readonly parentCount: u32;\n  setParents(aGuids: string[]): void;\n  clone(): nsINavHistoryQuery;\n}\n\ninterface nsINavHistoryQueryOptions extends nsISupports {\n  readonly SORT_BY_NONE?: 0;\n  readonly SORT_BY_TITLE_ASCENDING?: 1;\n  readonly SORT_BY_TITLE_DESCENDING?: 2;\n  readonly SORT_BY_DATE_ASCENDING?: 3;\n  readonly SORT_BY_DATE_DESCENDING?: 4;\n  readonly SORT_BY_URI_ASCENDING?: 5;\n  readonly SORT_BY_URI_DESCENDING?: 6;\n  readonly SORT_BY_VISITCOUNT_ASCENDING?: 7;\n  readonly SORT_BY_VISITCOUNT_DESCENDING?: 8;\n  readonly SORT_BY_DATEADDED_ASCENDING?: 11;\n  readonly SORT_BY_DATEADDED_DESCENDING?: 12;\n  readonly SORT_BY_LASTMODIFIED_ASCENDING?: 13;\n  readonly SORT_BY_LASTMODIFIED_DESCENDING?: 14;\n  readonly SORT_BY_TAGS_ASCENDING?: 17;\n  readonly SORT_BY_TAGS_DESCENDING?: 18;\n  readonly SORT_BY_FRECENCY_ASCENDING?: 21;\n  readonly SORT_BY_FRECENCY_DESCENDING?: 22;\n  readonly RESULTS_AS_URI?: 0;\n  readonly RESULTS_AS_VISIT?: 1;\n  readonly RESULTS_AS_DATE_QUERY?: 3;\n  readonly RESULTS_AS_SITE_QUERY?: 4;\n  readonly RESULTS_AS_DATE_SITE_QUERY?: 5;\n  readonly RESULTS_AS_TAGS_ROOT?: 6;\n  readonly RESULTS_AS_TAG_CONTENTS?: 7;\n  readonly RESULTS_AS_ROOTS_QUERY?: 8;\n  readonly RESULTS_AS_LEFT_PANE_QUERY?: 9;\n  readonly QUERY_TYPE_HISTORY?: 0;\n  readonly QUERY_TYPE_BOOKMARKS?: 1;\n\n  sortingMode: u16;\n  resultType: u16;\n  excludeItems: boolean;\n  excludeQueries: boolean;\n  expandQueries: boolean;\n  includeHidden: boolean;\n  maxResults: u32;\n  queryType: u16;\n  asyncEnabled: boolean;\n  clone(): nsINavHistoryQueryOptions;\n}\n\n}  // global\n\ndeclare enum nsINavHistoryService_TransitionType {\n  TRANSITION_LINK = 1,\n  TRANSITION_TYPED = 2,\n  TRANSITION_BOOKMARK = 3,\n  TRANSITION_EMBED = 4,\n  TRANSITION_REDIRECT_PERMANENT = 5,\n  TRANSITION_REDIRECT_TEMPORARY = 6,\n  TRANSITION_DOWNLOAD = 7,\n  TRANSITION_FRAMED_LINK = 8,\n  TRANSITION_RELOAD = 9,\n}\n\ndeclare global {\n\nnamespace nsINavHistoryService {\n  type TransitionType = nsINavHistoryService_TransitionType;\n}\n\ninterface nsINavHistoryService extends nsISupports, Enums<typeof nsINavHistoryService_TransitionType> {\n  readonly DATABASE_SCHEMA_VERSION?: 82;\n  readonly DATABASE_STATUS_OK?: 0;\n  readonly DATABASE_STATUS_CREATE?: 1;\n  readonly DATABASE_STATUS_CORRUPT?: 2;\n  readonly DATABASE_STATUS_UPGRADED?: 3;\n  readonly DATABASE_STATUS_LOCKED?: 4;\n  readonly VISIT_SOURCE_ORGANIC?: 0;\n  readonly VISIT_SOURCE_SPONSORED?: 1;\n  readonly VISIT_SOURCE_BOOKMARKED?: 2;\n  readonly VISIT_SOURCE_SEARCHED?: 3;\n\n  readonly databaseStatus: u16;\n  markPageAsFollowedBookmark(aURI: nsIURI): void;\n  markPageAsTyped(aURI: nsIURI): void;\n  markPageAsFollowedLink(aURI: nsIURI): void;\n  canAddURI(aURI: nsIURI): boolean;\n  getNewQuery(): nsINavHistoryQuery;\n  getNewQueryOptions(): nsINavHistoryQueryOptions;\n  executeQuery(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): nsINavHistoryResult;\n  queryStringToQuery(aQueryString: string, aQuery: OutParam<nsINavHistoryQuery>, options: OutParam<nsINavHistoryQueryOptions>): void;\n  queryToQueryString(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): string;\n  readonly historyDisabled: boolean;\n  makeGuid(): string;\n  hashURL(aSpec: string, aMode?: string): u64;\n  isFrecencyDecaying: boolean;\n  readonly isAlternativeFrecencyEnabled: boolean;\n  shouldStartFrecencyRecalculation: boolean;\n  readonly DBConnection: mozIStorageConnection;\n  asyncExecuteLegacyQuery(aQuery: nsINavHistoryQuery, aOptions: nsINavHistoryQueryOptions, aCallback: mozIStorageStatementCallback): mozIStoragePendingStatement;\n  readonly shutdownClient: nsIAsyncShutdownClient;\n  readonly connectionShutdownClient: nsIAsyncShutdownClient;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIPlacesPreviewsHelperService.idl\n\ninterface nsIPlacesPreviewsHelperService extends nsISupports {\n  getFilePathForURL(aURL: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/places/nsITaggingService.idl\n\ninterface nsITaggingService extends nsISupports {\n  tagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;\n  untagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;\n  getTagsForURI(aURI: nsIURI): string[];\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefBranch.idl\n\ninterface nsIPrefBranch extends nsISupports {\n  readonly PREF_INVALID?: 0;\n  readonly PREF_STRING?: 32;\n  readonly PREF_INT?: 64;\n  readonly PREF_BOOL?: 128;\n\n  readonly root: string;\n  getPrefType(aPrefName: string): i32;\n  getBoolPref(aPrefName: string, aDefaultValue?: boolean): boolean;\n  setBoolPref(aPrefName: string, aValue: boolean): void;\n  getFloatPref(aPrefName: string, aDefaultValue?: float): float;\n  getCharPref(aPrefName: string, aDefaultValue?: string): string;\n  setCharPref(aPrefName: string, aValue: string): void;\n  getStringPref(aPrefName: string, aDefaultValue?: string): string;\n  setStringPref(aPrefName: string, aValue: string): void;\n  getIntPref(aPrefName: string, aDefaultValue?: i32): i32;\n  setIntPref(aPrefName: string, aValue: i32): void;\n  getComplexValue<T extends nsIID>(aPrefName: string, aType: T): nsQIResult<T>;\n  setComplexValue(aPrefName: string, aType: nsID, aValue: nsISupports): void;\n  clearUserPref(aPrefName: string): void;\n  lockPref(aPrefName: string): void;\n  prefHasUserValue(aPrefName: string): boolean;\n  prefHasDefaultValue(aPrefName: string): boolean;\n  prefIsLocked(aPrefName: string): boolean;\n  prefIsSanitized(aPrefName: string): boolean;\n  unlockPref(aPrefName: string): void;\n  deleteBranch(aStartingAt: string): void;\n  getChildList(aStartingAt: string): string[];\n  addObserver(aDomain: string, aObserver: nsIObserver, aHoldWeak?: boolean): void;\n  removeObserver(aDomain: string, aObserver: nsIObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefLocalizedString.idl\n\ninterface nsIPrefLocalizedString extends nsISupportsString {\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefService.idl\n\ntype nsIPrefStatsCallback = Callable<{\n  visit(prefName: string, accessCount: u32): void;\n}>\n\ninterface nsIPrefObserver extends nsISupports {\n  onStringPref(kind: string, name: string, value: string, isSticky: boolean, isLocked: boolean): void;\n  onIntPref(kind: string, name: string, value: i32, isSticky: boolean, isLocked: boolean): void;\n  onBoolPref(kind: string, name: string, value: boolean, isSticky: boolean, isLocked: boolean): void;\n  onError(message: string): void;\n}\n\ninterface nsIPrefService extends nsISupports {\n  resetPrefs(): void;\n  savePrefFile(aFile: nsIFile): void;\n  backupPrefFile(aFile: nsIFile): Promise<any>;\n  getBranch(aPrefRoot: string): nsIPrefBranch;\n  getDefaultBranch(aPrefRoot: string): nsIPrefBranch;\n  readonly dirty: boolean;\n  readDefaultPrefsFromFile(aFile: nsIFile): void;\n  readUserPrefsFromFile(aFile: nsIFile): void;\n  readStats(callback: nsIPrefStatsCallback): void;\n  resetStats(): void;\n  parsePrefsFromBuffer(bytes: u8[], observer: nsIPrefObserver, pathLabel?: string): void;\n  readonly userPrefsFileLastModifiedAtStartup: PRTime;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libpref/nsIRelativeFilePref.idl\n\ninterface nsIRelativeFilePref extends nsISupports {\n  file: nsIFile;\n  relativeToKey: string;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/prefetch/nsIPrefetchService.idl\n\ninterface nsIPrefetchService extends nsISupports {\n  prefetchURI(aURI: nsIURI, aReferrerInfo: nsIReferrerInfo, aSource: Node, aExplicit: boolean): void;\n  hasMoreElements(): boolean;\n  cancelPrefetchPreloadURI(aURI: nsIURI, aSource: Node): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/privateattribution/nsIPrivateAttributionService.idl\n\ninterface nsIPrivateAttributionService extends nsISupports {\n  onAttributionEvent(sourceHost: string, type: string, index: u32, ad: string, targetHost: string): void;\n  onAttributionConversion(targetHost: string, task: string, histogramSize: u32, lookbackDays: u32, impressionType: string, ads: string[], sourceHosts: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/tools/profiler/gecko/nsIProfiler.idl\n\ninterface nsIProfilerStartParams extends nsISupports {\n  readonly entries: u32;\n  readonly duration: double;\n  readonly interval: double;\n  readonly features: u32;\n  readonly activeTabID: u64;\n}\n\ninterface nsIProfiler extends nsISupports {\n  StartProfiler(aEntries: u32, aInterval: double, aFeatures: string[], aFilters?: string[], aActiveTabID?: u64, aDuration?: double): Promise<any>;\n  StopProfiler(): Promise<any>;\n  IsPaused(): boolean;\n  Pause(): Promise<any>;\n  Resume(): Promise<any>;\n  IsSamplingPaused(): boolean;\n  PauseSampling(): Promise<any>;\n  ResumeSampling(): Promise<any>;\n  waitOnePeriodicSampling(): Promise<any>;\n  GetProfile(aSinceTime?: double): string;\n  getProfileData(aSinceTime?: double): any;\n  getProfileDataAsync(aSinceTime?: double): Promise<any>;\n  getProfileDataAsArrayBuffer(aSinceTime?: double): Promise<any>;\n  getProfileDataAsGzippedArrayBuffer(aSinceTime?: double): Promise<any>;\n  dumpProfileToFileAsync(aFilename: string, aSinceTime?: double): Promise<any>;\n  dumpProfileToFile(aFilename: string): void;\n  IsActive(): boolean;\n  ClearAllPages(): void;\n  GetFeatures(): string[];\n  readonly activeConfiguration: any;\n  GetAllFeatures(): string[];\n  GetBufferInfo(aCurrentPosition: OutParam<u32>, aTotalSize: OutParam<u32>, aGeneration: OutParam<u32>): void;\n  getElapsedTime(): double;\n  readonly sharedLibraries: any;\n  getSymbolTable(aDebugPath: string, aBreakpadID: string): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/test/rdd_process_xpcom/nsIRddProcessTest.idl\n\ninterface nsIRddProcessTest extends nsISupports {\n  testTelemetryProbes(): Promise<any>;\n  stopProcess(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/remote/components/nsIMarionette.idl\n\ninterface nsIMarionette extends nsISupports {\n  readonly running: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/remote/components/nsIRemoteAgent.idl\n\ninterface nsIRemoteAgent extends nsISupports {\n  readonly running: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/reputationservice/nsIApplicationReputation.idl\n\ninterface nsIApplicationReputationService extends nsISupports {\n  readonly VERDICT_SAFE?: 0;\n  readonly VERDICT_DANGEROUS?: 1;\n  readonly VERDICT_UNCOMMON?: 2;\n  readonly VERDICT_POTENTIALLY_UNWANTED?: 3;\n  readonly VERDICT_DANGEROUS_HOST?: 4;\n\n  queryReputation(aQuery: nsIApplicationReputationQuery, aCallback: nsIApplicationReputationCallback): void;\n  isBinary(aFilename: string): boolean;\n  isExecutable(aFilename: string): boolean;\n}\n\ninterface nsIApplicationReputationQuery extends nsISupports {\n  readonly sourceURI: nsIURI;\n  readonly referrerInfo: nsIReferrerInfo;\n  readonly suggestedFileName: string;\n  readonly fileSize: u32;\n  readonly sha256Hash: string;\n  readonly signatureInfo: u8[][][];\n  readonly redirects: nsIArray;\n}\n\ntype nsIApplicationReputationCallback = Callable<{\n  onComplete(aShouldBlock: boolean, aStatus: nsresult, aVerdict: u32): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/security/sandbox/common/mozISandboxSettings.idl\n\ninterface mozISandboxSettings extends nsISupports {\n  readonly effectiveContentSandboxLevel: i32;\n  readonly contentWin32kLockdownState: i32;\n  readonly contentWin32kLockdownStateString: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/satchel/nsIFormFillController.idl\n\ninterface nsIFormFillController extends nsISupports {\n  readonly focusedElement: Element;\n  readonly passwordPopupAutomaticallyOpened: boolean;\n  markAsAutoCompletableField(aElement: Element): void;\n  showPopup(): void;\n}\n\ntype nsIFormFillCompleteObserver = Callable<{\n  onSearchCompletion(result: nsIAutoCompleteResult): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/services/interfaces/mozIAppServicesLogger.idl\n\ninterface mozIAppServicesLogger extends nsISupports {\n  register(target: string, logger: mozIServicesLogSink): void;\n}\n\n// https://searchfox.org/mozilla-central/source/services/interfaces/mozIBridgedSyncEngine.idl\n\ninterface mozIBridgedSyncEngineCallback extends nsISupports {\n  handleSuccess(result: nsIVariant): void;\n  handleError(code: nsresult, message: string): void;\n}\n\ninterface mozIBridgedSyncEngineApplyCallback extends nsISupports {\n  handleSuccess(outgoingEnvelopesAsJSON: string[]): void;\n  handleError(code: nsresult, message: string): void;\n}\n\ninterface mozIBridgedSyncEngine extends nsISupports {\n  readonly storageVersion: i32;\n  readonly allowSkippedRecord: boolean;\n  logger: mozIServicesLogSink;\n  getLastSync(callback: mozIBridgedSyncEngineCallback): void;\n  setLastSync(lastSyncMillis: i64, callback: mozIBridgedSyncEngineCallback): void;\n  getSyncId(callback: mozIBridgedSyncEngineCallback): void;\n  resetSyncId(callback: mozIBridgedSyncEngineCallback): void;\n  ensureCurrentSyncId(newSyncId: string, callback: mozIBridgedSyncEngineCallback): void;\n  syncStarted(callback: mozIBridgedSyncEngineCallback): void;\n  storeIncoming(incomingEnvelopesAsJSON: string[], callback: mozIBridgedSyncEngineCallback): void;\n  apply(callback: mozIBridgedSyncEngineApplyCallback): void;\n  setUploaded(newTimestampMillis: i64, uploadedIds: string[], callback: mozIBridgedSyncEngineCallback): void;\n  syncFinished(callback: mozIBridgedSyncEngineCallback): void;\n  reset(callback: mozIBridgedSyncEngineCallback): void;\n  wipe(callback: mozIBridgedSyncEngineCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/services/interfaces/mozIInterruptible.idl\n\ninterface mozIInterruptible extends nsISupports {\n  interrupt(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/services/interfaces/mozIServicesLogSink.idl\n\ninterface mozIServicesLogSink extends nsISupports {\n  readonly LEVEL_OFF?: 0;\n  readonly LEVEL_ERROR?: 1;\n  readonly LEVEL_WARN?: 2;\n  readonly LEVEL_INFO?: 3;\n  readonly LEVEL_DEBUG?: 4;\n  readonly LEVEL_TRACE?: 5;\n\n  maxLevel: i16;\n  error(message: string): void;\n  warn(message: string): void;\n  debug(message: string): void;\n  trace(message: string): void;\n  info(message: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/nsISessionStoreFunctions.idl\n\ninterface nsISessionStoreFunctions extends nsISupports {\n  UpdateSessionStore(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aCollectSHistory: boolean, aData: any): void;\n  UpdateSessionStoreForStorage(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aData: any): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/nsISessionStoreRestoreData.idl\n\ninterface nsISessionStoreRestoreData extends nsISupports {\n  url: string;\n  innerHTML: string;\n  scroll: string;\n  addTextField(aIsXPath: boolean, aIdOrXPath: string, aValue: string): void;\n  addCheckbox(aIsXPath: boolean, aIdOrXPath: string, aValue: boolean): void;\n  addFileList(aIsXPath: boolean, aIdOrXPath: string, aType: string, aFileList: string[]): void;\n  addSingleSelect(aIsXPath: boolean, aIdOrXPath: string, aSelectedIndex: u32, aValue: string): void;\n  addMultipleSelect(aIsXPath: boolean, aIdOrXPath: string, aValues: string[]): void;\n  addCustomElement(aIsXPath: boolean, aIdOrXPath: string, aValue: any, aState: any): void;\n  addChild(aChild: nsISessionStoreRestoreData, aIndex: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIShellService.idl\n\ninterface nsIShellService extends nsISupports {\n  readonly BACKGROUND_TILE?: 1;\n  readonly BACKGROUND_STRETCH?: 2;\n  readonly BACKGROUND_CENTER?: 3;\n  readonly BACKGROUND_FILL?: 4;\n  readonly BACKGROUND_FIT?: 5;\n  readonly BACKGROUND_SPAN?: 6;\n\n  isDefaultBrowser(aForAllTypes?: boolean): boolean;\n  setDefaultBrowser(aForAllUsers: boolean): void;\n  setDesktopBackground(aElement: Element, aPosition: i32, aImageName: string): void;\n  desktopBackgroundColor: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/shistory/nsIBFCacheEntry.idl\n\ninterface nsIBFCacheEntry extends nsISupports {\n  RemoveFromBFCacheSync(): void;\n  RemoveFromBFCacheAsync(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHEntry.idl\n\ninterface nsISHEntry extends nsISupports {\n  URI: nsIURI;\n  originalURI: nsIURI;\n  resultPrincipalURI: nsIURI;\n  unstrippedURI: nsIURI;\n  loadReplace: boolean;\n  title: string;\n  name: string;\n  isSubFrame: boolean;\n  hasUserInteraction: boolean;\n  hasUserActivation: boolean;\n  referrerInfo: nsIReferrerInfo;\n  documentViewer: nsIDocumentViewer;\n  readonly isInBFCache: boolean;\n  sticky: boolean;\n  windowState: nsISupports;\n  refreshURIList: nsIMutableArray;\n  postData: nsIInputStream;\n  readonly hasPostData: boolean;\n  layoutHistoryState: nsILayoutHistoryState;\n  parent: nsISHEntry;\n  loadType: u32;\n  ID: u32;\n  cacheKey: u32;\n  saveLayoutStateFlag: boolean;\n  contentType: string;\n  URIWasModified: boolean;\n  triggeringPrincipal: nsIPrincipal;\n  principalToInherit: nsIPrincipal;\n  partitionedPrincipalToInherit: nsIPrincipal;\n  csp: nsIContentSecurityPolicy;\n  stateData: nsIStructuredCloneContainer;\n  docshellID: nsID;\n  readonly isSrcdocEntry: boolean;\n  srcdocData: string;\n  baseURI: nsIURI;\n  scrollRestorationIsManual: boolean;\n  readonly loadedInThisProcess: boolean;\n  readonly childCount: i32;\n  isTransient(): boolean;\n  setTransient(): void;\n  setScrollPosition(x: i32, y: i32): void;\n  getScrollPosition(x: OutParam<i32>, y: OutParam<i32>): void;\n  initLayoutHistoryState(): nsILayoutHistoryState;\n  clone(): nsISHEntry;\n  hasDynamicallyAddedChild(): boolean;\n  adoptBFCacheEntry(aEntry: nsISHEntry): void;\n  abandonBFCacheEntry(): void;\n  sharesDocumentWith(aEntry: nsISHEntry): boolean;\n  setLoadTypeAsHistory(): void;\n  AddChild(aChild: nsISHEntry, aOffset: i32, aUseRemoteSubframes?: boolean): void;\n  GetChildAt(aIndex: i32): nsISHEntry;\n  readonly bfcacheID: u64;\n  wireframe: any;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistory.idl\n\ninterface nsISHistory extends nsISupports {\n  readonly count: i32;\n  index: i32;\n  readonly requestedIndex: i32;\n  getEntryAtIndex(aIndex: i32): nsISHEntry;\n  purgeHistory(aNumEntries: i32): void;\n  addSHistoryListener(aListener: nsISHistoryListener): void;\n  removeSHistoryListener(aListener: nsISHistoryListener): void;\n  reloadCurrentEntry(): void;\n  addEntry(aEntry: nsISHEntry): void;\n  updateIndex(): void;\n  replaceEntry(aIndex: i32, aReplaceEntry: nsISHEntry): void;\n  notifyOnHistoryReload(): boolean;\n  evictOutOfRangeDocumentViewers(aIndex: i32): void;\n  evictAllDocumentViewers(): void;\n  reload(aReloadFlags: u32): void;\n  createEntry(): nsISHEntry;\n  canGoBackFromEntryAtIndex(aIndex: i32): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistoryListener.idl\n\ninterface nsISHistoryListener extends nsISupports {\n  OnHistoryNewEntry(aNewURI: nsIURI, aOldIndex: i32): void;\n  OnHistoryReload(): boolean;\n  OnHistoryGotoIndex(): void;\n  OnHistoryPurge(aNumEntries: i32): void;\n  OnHistoryTruncate(aNumEntries: i32): void;\n  OnHistoryReplaceEntry(): void;\n  OnDocumentViewerEvicted(aNumEvicted: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozIPersonalDictionary.idl\n\ninterface mozIPersonalDictionary extends nsISupports {\n  load(): void;\n  save(): void;\n  readonly wordList: nsIStringEnumerator;\n  check(word: string): boolean;\n  addWord(word: string): void;\n  removeWord(word: string): void;\n  ignoreWord(word: string): void;\n  endSession(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozISpellCheckingEngine.idl\n\ninterface mozISpellCheckingEngine extends nsISupports {\n  dictionaries: string[];\n  personalDictionary: mozIPersonalDictionary;\n  getDictionaryList(): string[];\n  check(word: string): boolean;\n  suggest(word: string): string[];\n  loadDictionariesFromDir(dir: nsIFile): void;\n  addDirectory(dir: nsIFile): void;\n  removeDirectory(dir: nsIFile): void;\n  addDictionary(lang: string, file: nsIURI): void;\n  removeDictionary(lang: string, file: nsIURI): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/startupcache/nsIStartupCacheInfo.idl\n\ninterface nsIStartupCacheInfo extends nsISupports {\n  readonly IgnoreDiskCache: boolean;\n  readonly FoundDiskCacheOnInit: boolean;\n  readonly WroteToDiskCache: boolean;\n  readonly DiskCachePath: string;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncConnection.idl\n\ninterface mozIStorageAsyncConnection extends nsISupports {\n  readonly TRANSACTION_DEFAULT?: -1;\n  readonly TRANSACTION_DEFERRED?: 0;\n  readonly TRANSACTION_IMMEDIATE?: 1;\n  readonly TRANSACTION_EXCLUSIVE?: 2;\n\n  defaultTransactionType: i32;\n  variableLimit: i32;\n  readonly transactionInProgress: boolean;\n  asyncClose(aCallback?: mozIStorageCompletionCallback): void;\n  asyncClone(aReadOnly: boolean, aCallback: mozIStorageCompletionCallback): void;\n  readonly databaseFile: nsIFile;\n  interrupt(): void;\n  asyncVacuum(aCallback?: mozIStorageCompletionCallback, aUseIncremental?: boolean, aSetPageSize?: i32): void;\n  createAsyncStatement(aSQLStatement: string): mozIStorageAsyncStatement;\n  executeAsync(aStatements: mozIStorageBaseStatement[], aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;\n  executeSimpleSQLAsync(aSQLStatement: string, aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;\n  loadExtension(aExtensionName: string, aCallback?: mozIStorageCompletionCallback): void;\n  createFunction(aFunctionName: string, aNumArguments: i32, aFunction: mozIStorageFunction): void;\n  removeFunction(aFunctionName: string): void;\n  setProgressHandler(aGranularity: i32, aHandler: mozIStorageProgressHandler): mozIStorageProgressHandler;\n  removeProgressHandler(): mozIStorageProgressHandler;\n  backupToFileAsync(aDestinationFile: nsIFile, aCallback: mozIStorageCompletionCallback, aPagesPerStep?: u32, aStepDelayMs?: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncStatement.idl\n\ninterface mozIStorageAsyncStatement extends mozIStorageBaseStatement {\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageBaseStatement.idl\n\ninterface mozIStorageBaseStatement extends mozIStorageBindingParams {\n  readonly MOZ_STORAGE_STATEMENT_INVALID?: 0;\n  readonly MOZ_STORAGE_STATEMENT_READY?: 1;\n  readonly MOZ_STORAGE_STATEMENT_EXECUTING?: 2;\n\n  finalize(): void;\n  bindParameters(aParameters: mozIStorageBindingParamsArray): void;\n  newBindingParamsArray(): mozIStorageBindingParamsArray;\n  executeAsync(aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;\n  readonly state: i32;\n  escapeStringForLIKE(aValue: string, aEscapeChar: string): string;\n  escapeUTF8StringForLIKE(aValue: string, aEscapeChar: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParams.idl\n\ninterface mozIStorageBindingParams extends nsISupports {\n  bindByName(aName: string, aValue: nsIVariant): void;\n  bindBlobByName(aName: string, aValue: u8[]): void;\n  bindStringAsBlobByName(aName: string, aValue: string): void;\n  bindUTF8StringAsBlobByName(aName: string, aValue: string): void;\n  bindArrayOfIntegersByName(aName: string, aValue: i64[]): void;\n  bindArrayOfDoublesByName(aName: string, aValue: double[]): void;\n  bindArrayOfStringsByName(aName: string, aValue: string[]): void;\n  bindArrayOfUTF8StringsByName(aName: string, aValue: string[]): void;\n  bindByIndex(aIndex: u32, aValue: nsIVariant): void;\n  bindBlobByIndex(aIndex: u32, aValue: u8[]): void;\n  bindStringAsBlobByIndex(aIndex: u32, aValue: string): void;\n  bindUTF8StringAsBlobByIndex(aIndex: u32, aValue: string): void;\n  bindArrayOfIntegersByIndex(aIndex: u32, aValue: i64[]): void;\n  bindArrayOfDoublesByIndex(aIndex: u32, aValue: double[]): void;\n  bindArrayOfStringsByIndex(aIndex: u32, aValue: string[]): void;\n  bindArrayOfUTF8StringsByIndex(aIndex: u32, aValue: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParamsArray.idl\n\ninterface mozIStorageBindingParamsArray extends nsISupports {\n  newBindingParams(): mozIStorageBindingParams;\n  addParams(aParameters: mozIStorageBindingParams): void;\n  readonly length: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageCompletionCallback.idl\n\ntype mozIStorageCompletionCallback = Callable<{\n  complete(status: nsresult, value?: nsISupports): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageConnection.idl\n\ninterface mozIStorageConnection extends mozIStorageAsyncConnection {\n  close(): void;\n  clone(aReadOnly?: boolean): mozIStorageConnection;\n  readonly defaultPageSize: i32;\n  readonly connectionReady: boolean;\n  readonly lastInsertRowID: i64;\n  readonly affectedRows: i32;\n  readonly lastError: i32;\n  readonly lastErrorString: string;\n  schemaVersion: i32;\n  createStatement(aSQLStatement: string): mozIStorageStatement;\n  executeSimpleSQL(aSQLStatement: string): void;\n  tableExists(aTableName: string): boolean;\n  indexExists(aIndexName: string): boolean;\n  beginTransaction(): void;\n  commitTransaction(): void;\n  rollbackTransaction(): void;\n  createTable(aTableName: string, aTableSchema: string): void;\n  setGrowthIncrement(aIncrement: i32, aDatabaseName: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageError.idl\n\ninterface mozIStorageError extends nsISupports {\n  readonly ERROR?: 1;\n  readonly INTERNAL?: 2;\n  readonly PERM?: 3;\n  readonly ABORT?: 4;\n  readonly BUSY?: 5;\n  readonly LOCKED?: 6;\n  readonly NOMEM?: 7;\n  readonly READONLY?: 8;\n  readonly INTERRUPT?: 9;\n  readonly IOERR?: 10;\n  readonly CORRUPT?: 11;\n  readonly FULL?: 13;\n  readonly CANTOPEN?: 14;\n  readonly EMPTY?: 16;\n  readonly SCHEMA?: 17;\n  readonly TOOBIG?: 18;\n  readonly CONSTRAINT?: 19;\n  readonly MISMATCH?: 20;\n  readonly MISUSE?: 21;\n  readonly NOLFS?: 22;\n  readonly AUTH?: 23;\n  readonly FORMAT?: 24;\n  readonly RANGE?: 25;\n  readonly NOTADB?: 26;\n\n  readonly result: i32;\n  readonly message: string;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageFunction.idl\n\ntype mozIStorageFunction = Callable<{\n  onFunctionCall(aFunctionArguments: mozIStorageValueArray): nsIVariant;\n}>\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStoragePendingStatement.idl\n\ninterface mozIStoragePendingStatement extends nsISupports {\n  cancel(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageProgressHandler.idl\n\ninterface mozIStorageProgressHandler extends nsISupports {\n  onProgress(aConnection: mozIStorageConnection): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageResultSet.idl\n\ninterface mozIStorageResultSet extends nsISupports {\n  getNextRow(): mozIStorageRow;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageRow.idl\n\ninterface mozIStorageRow extends mozIStorageValueArray {\n  getResultByIndex(aIndex: u32): nsIVariant;\n  getResultByName(aName: string): nsIVariant;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageService.idl\n\ninterface mozIStorageService extends nsISupports {\n  readonly OPEN_DEFAULT?: 0;\n  readonly OPEN_SHARED?: 1;\n  readonly OPEN_READONLY?: 2;\n  readonly OPEN_IGNORE_LOCKING_MODE?: 4;\n  readonly OPEN_NOT_EXCLUSIVE?: 8;\n  readonly CONNECTION_DEFAULT?: 0;\n  readonly CONNECTION_INTERRUPTIBLE?: 1;\n\n  openAsyncDatabase(aDatabaseStore: nsIVariant, aOpenFlags: u32, aConnectionFlags: u32, aCallback: mozIStorageCompletionCallback): void;\n  openSpecialDatabase(aStorageKey: string, aName?: string, aConnectionFlags?: u32): mozIStorageConnection;\n  openDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;\n  openUnsharedDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;\n  openDatabaseWithFileURL(aFileURL: nsIFileURL, aTelemetryFilename?: string, aConnectionFlags?: u32): mozIStorageConnection;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageStatement.idl\n\ninterface mozIStorageStatement extends mozIStorageBaseStatement {\n  readonly VALUE_TYPE_NULL?: 0;\n  readonly VALUE_TYPE_INTEGER?: 1;\n  readonly VALUE_TYPE_FLOAT?: 2;\n  readonly VALUE_TYPE_TEXT?: 3;\n  readonly VALUE_TYPE_BLOB?: 4;\n\n  clone(): mozIStorageStatement;\n  readonly parameterCount: u32;\n  getParameterName(aParamIndex: u32): string;\n  getParameterIndex(aName: string): u32;\n  readonly columnCount: u32;\n  getColumnName(aColumnIndex: u32): string;\n  getColumnIndex(aName: string): u32;\n  reset(): void;\n  execute(): void;\n  executeStep(): boolean;\n  readonly numEntries: u32;\n  getTypeOfIndex(aIndex: u32): i32;\n  getVariant(aIndex: u32): nsIVariant;\n  getInt32(aIndex: u32): i32;\n  getInt64(aIndex: u32): i64;\n  getDouble(aIndex: u32): double;\n  getUTF8String(aIndex: u32): string;\n  getString(aIndex: u32): string;\n  getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;\n  getBlobAsString(aIndex: u32): string;\n  getBlobAsUTF8String(aIndex: u32): string;\n  getIsNull(aIndex: u32): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageStatementCallback.idl\n\ninterface mozIStorageStatementCallback extends nsISupports {\n  readonly REASON_FINISHED?: 0;\n  readonly REASON_CANCELED?: 1;\n  readonly REASON_ERROR?: 2;\n\n  handleResult(aResultSet: mozIStorageResultSet): void;\n  handleError(aError: mozIStorageError): void;\n  handleCompletion(aReason: u16): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageVacuumParticipant.idl\n\ninterface mozIStorageVacuumParticipant extends nsISupports {\n  readonly expectedDatabasePageSize: i32;\n  readonly useIncrementalVacuum: boolean;\n  readonly databaseConnection: mozIStorageAsyncConnection;\n  onBeginVacuum(): boolean;\n  onEndVacuum(aSucceeded: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/storage/mozIStorageValueArray.idl\n\ninterface mozIStorageValueArray extends nsISupports {\n  readonly VALUE_TYPE_NULL?: 0;\n  readonly VALUE_TYPE_INTEGER?: 1;\n  readonly VALUE_TYPE_FLOAT?: 2;\n  readonly VALUE_TYPE_TEXT?: 3;\n  readonly VALUE_TYPE_BLOB?: 4;\n\n  readonly numEntries: u32;\n  getTypeOfIndex(aIndex: u32): i32;\n  getInt32(aIndex: u32): i32;\n  getInt64(aIndex: u32): i64;\n  getDouble(aIndex: u32): double;\n  getUTF8String(aIndex: u32): string;\n  getString(aIndex: u32): string;\n  getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;\n  getBlobAsString(aIndex: u32): string;\n  getBlobAsUTF8String(aIndex: u32): string;\n  getIsNull(aIndex: u32): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl\n\ntype nsIFetchTelemetryDataCallback = Callable<{\n  complete(): void;\n}>\n\ninterface nsITelemetry extends nsISupports {\n  readonly HISTOGRAM_EXPONENTIAL?: 0;\n  readonly HISTOGRAM_LINEAR?: 1;\n  readonly HISTOGRAM_BOOLEAN?: 2;\n  readonly HISTOGRAM_FLAG?: 3;\n  readonly HISTOGRAM_COUNT?: 4;\n  readonly HISTOGRAM_CATEGORICAL?: 5;\n  readonly SCALAR_TYPE_COUNT?: 0;\n  readonly SCALAR_TYPE_STRING?: 1;\n  readonly SCALAR_TYPE_BOOLEAN?: 2;\n  readonly DATASET_ALL_CHANNELS?: 0;\n  readonly DATASET_PRERELEASE_CHANNELS?: 1;\n  readonly INCLUDE_OLD_LOADEVENTS?: 1;\n  readonly KEEP_LOADEVENTS_NEW?: 2;\n  readonly INCLUDE_PRIVATE_FIELDS_IN_LOADEVENTS?: 4;\n  readonly EXCLUDE_STACKINFO_FROM_LOADEVENTS?: 8;\n\n  getCategoricalLabels(): any;\n  getSnapshotForHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;\n  getSnapshotForKeyedHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;\n  getSnapshotForScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;\n  getSnapshotForKeyedScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;\n  readonly lastShutdownDuration: u32;\n  readonly failedProfileLockCount: u32;\n  readonly slowSQL: any;\n  readonly debugSlowSQL: any;\n  submitAndGetUntrustedModulePayload(): Promise<any>;\n  getUntrustedModuleLoadEvents(aFlags?: u32): Promise<any>;\n  readonly areUntrustedModuleLoadEventsReady: boolean;\n  readonly lateWrites: any;\n  getHistogramById(id: string): any;\n  getKeyedHistogramById(id: string): any;\n  canRecordBase: boolean;\n  canRecordExtended: boolean;\n  readonly canRecordReleaseData: boolean;\n  readonly canRecordPrereleaseData: boolean;\n  readonly isOfficialTelemetry: boolean;\n  asyncFetchTelemetryData(aCallback: nsIFetchTelemetryDataCallback): void;\n  readonly fileIOReports: any;\n  msSinceProcessStart(): double;\n  msSinceProcessStartIncludingSuspend(): double;\n  msSinceProcessStartExcludingSuspend(): double;\n  msSystemNow(): double;\n  clearScalars(): void;\n  flushBatchedChildTelemetry(): void;\n  snapshotEvents(aDataset: u32, aClear?: boolean, aEventLimit?: u32): any;\n  registerBuiltinEvents(aCategory: string, aEventData: any): void;\n  registerBuiltinScalars(aCategoryName: string, aScalarData: any): void;\n  clearEvents(): void;\n  getAllStores(): any;\n  earlyInit(): void;\n  delayedInit(): void;\n  shutdown(): void;\n  gatherMemory(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/dap/nsIDAPTelemetry.idl\n\ninterface nsIDAPTelemetry extends nsISupports {\n  GetReportPrioSum(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u32, task_id: u8[], bits: u32, time_precision: u64, report: OutParam<u8[]>): void;\n  GetReportPrioSumVec(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u32[], task_id: u8[], bits: u32, time_precision: u64, report: OutParam<u8[]>): void;\n  GetReportPrioHistogram(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u32, task_id: u8[], length: u32, time_precision: u64, report: OutParam<u8[]>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/test/httpserver/nsIHttpServer.idl\n\ninterface nsIHttpServer extends nsISupports {\n  start(port: i32): void;\n  start_ipv6(port: i32): void;\n  start_dualStack(port: i32): void;\n  stop(callback: nsIHttpServerStoppedCallback): void;\n  registerFile(path: string, file: nsIFile, handler?: nsIHttpRequestHandler): void;\n  registerPathHandler(path: string, handler: nsIHttpRequestHandler): void;\n  registerPrefixHandler(prefix: string, handler: nsIHttpRequestHandler): void;\n  registerErrorHandler(code: u32, handler: nsIHttpRequestHandler): void;\n  registerDirectory(path: string, dir: nsIFile): void;\n  registerContentType(extension: string, type: string): void;\n  setIndexHandler(handler: nsIHttpRequestHandler): void;\n  readonly identity: nsIHttpServerIdentity;\n  getState(path: string, key: string): string;\n  setState(path: string, key: string, value: string): void;\n  getSharedState(key: string): string;\n  setSharedState(key: string, value: string): void;\n  getObjectState(key: string): nsISupports;\n  setObjectState(key: string, value: nsISupports): void;\n}\n\ntype nsIHttpServerStoppedCallback = Callable<{\n  onStopped(): void;\n}>\n\ninterface nsIHttpServerIdentity extends nsISupports {\n  readonly primaryScheme: string;\n  readonly primaryHost: string;\n  readonly primaryPort: i32;\n  add(scheme: string, host: string, port: i32): void;\n  remove(scheme: string, host: string, port: i32): boolean;\n  has(scheme: string, host: string, port: i32): boolean;\n  getScheme(host: string, port: i32): string;\n  setPrimary(scheme: string, host: string, port: i32): void;\n}\n\ntype nsIHttpRequestHandler = Callable<{\n  handle(request: nsIHttpRequest, response: nsIHttpResponse): void;\n}>\n\ninterface nsIHttpRequest extends nsISupports {\n  readonly method: string;\n  readonly scheme: string;\n  readonly host: string;\n  readonly port: u32;\n  readonly path: string;\n  readonly queryString: string;\n  readonly httpVersion: string;\n  getHeader(fieldName: string): string;\n  hasHeader(fieldName: string): boolean;\n  readonly headers: nsISimpleEnumerator;\n  readonly bodyInputStream: nsIInputStream;\n}\n\ninterface nsIHttpResponse extends nsISupports {\n  setStatusLine(httpVersion: string, statusCode: u16, description: string): void;\n  setHeader(name: string, value: string, merge?: boolean): void;\n  setHeaderNoCheck(name: string, value: string): void;\n  readonly bodyOutputStream: nsIOutputStream;\n  write(data: string): void;\n  processAsync(): void;\n  seizePower(): void;\n  finish(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/thumbnails/nsIPageThumbsStorageService.idl\n\ninterface nsIPageThumbsStorageService extends nsISupports {\n  getLeafNameForURL(aURL: string): string;\n  readonly path: string;\n  getFilePathForURL(aURL: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/bouncetrackingprotection/nsIBTPRemoteExceptionList.idl\n\ninterface nsIBTPRemoteExceptionList extends nsISupports {\n  init(aProtection: nsIBounceTrackingProtection): Promise<any>;\n  shutdown(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingMapEntry.idl\n\ninterface nsIBounceTrackingMapEntry extends nsISupports {\n  readonly siteHost: string;\n  readonly timeStamp: PRTime;\n}\n\ninterface nsIBounceTrackingPurgeEntry extends nsIBounceTrackingMapEntry {\n  readonly purgeTime: PRTime;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl\n\n}  // global\n\ndeclare enum nsIBounceTrackingProtection_Modes {\n  MODE_DISABLED = 0,\n  MODE_ENABLED = 1,\n  MODE_ENABLED_STANDBY = 2,\n  MODE_ENABLED_DRY_RUN = 3,\n  MAX_MODE_VALUE = 3,\n}\n\ndeclare global {\n\nnamespace nsIBounceTrackingProtection {\n  type Modes = nsIBounceTrackingProtection_Modes;\n}\n\ninterface nsIBounceTrackingProtection extends nsISupports, Enums<typeof nsIBounceTrackingProtection_Modes> {\n  clearAll(): void;\n  clearBySiteHostAndOriginAttributes(aSiteHost: string, originAttributes: any): void;\n  clearBySiteHostAndOriginAttributesPattern(aSiteHost: string, aOriginAttributesPattern: any): void;\n  clearByTimeRange(aFrom: PRTime, aTo: PRTime): void;\n  clearByOriginAttributesPattern(aPattern: string): void;\n  addSiteHostExceptions(aSiteHosts: string[]): void;\n  removeSiteHostExceptions(aSiteHosts: string[]): void;\n  hasRecentlyPurgedSite(aSiteHost: string): boolean;\n  testGetSiteHostExceptions(): string[];\n  testRunPurgeBounceTrackers(): Promise<any>;\n  testClearExpiredUserActivations(): void;\n  testGetBounceTrackerCandidateHosts(originAttributes: any): nsIBounceTrackingMapEntry[];\n  testGetUserActivationHosts(originAttributes: any): nsIBounceTrackingMapEntry[];\n  testAddBounceTrackerCandidate(originAttributes: any, aSiteHost: string, aBounceTime: PRTime): void;\n  testAddUserActivation(originAttributes: any, aSiteHost: string, aActivationTime: PRTime): void;\n  testGetRecentlyPurgedTrackers(originAttributes: any): nsIBounceTrackingPurgeEntry[];\n  testMaybeMigrateUserInteractionPermissions(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIContentBlockingAllowList.idl\n\ninterface nsIContentBlockingAllowList extends nsISupports {\n  computeContentBlockingAllowListPrincipal(aPrincipal: nsIPrincipal): nsIPrincipal;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPartitioningExceptionListService.idl\n\ntype nsIPartitioningExceptionListObserver = Callable<{\n  onExceptionListUpdate(aList: string): void;\n}>\n\ninterface nsIPartitioningExceptionListService extends nsISupports {\n  registerAndRunExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;\n  unregisterExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPurgeTrackerService.idl\n\ninterface nsIPurgeTrackerService extends nsISupports {\n  purgeTrackingCookieJars(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsITrackingDBService.idl\n\ninterface nsITrackingDBService extends nsISupports {\n  readonly OTHER_COOKIES_BLOCKED_ID?: 0;\n  readonly TRACKERS_ID?: 1;\n  readonly TRACKING_COOKIES_ID?: 2;\n  readonly CRYPTOMINERS_ID?: 3;\n  readonly FINGERPRINTERS_ID?: 4;\n  readonly SOCIAL_ID?: 5;\n  readonly SUSPICIOUS_FINGERPRINTERS_ID?: 6;\n  readonly BOUNCETRACKERS_ID?: 7;\n\n  recordContentBlockingLog(data: string): void;\n  saveEvents(data: string): Promise<any>;\n  clearAll(): Promise<any>;\n  clearSince(since: i64): Promise<any>;\n  getEventsByDateRange(dateFrom: i64, dateTo: i64): Promise<any>;\n  sumAllEvents(): Promise<any>;\n  getEarliestRecordedDate(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLDecorationAnnotationsService.idl\n\ninterface nsIURLDecorationAnnotationsService extends nsISupports {\n  ensureUpdated(): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStringStripper.idl\n\ninterface nsIURLQueryStringStripper extends nsISupports {\n  strip(aURI: nsIURI, aIsPBM: boolean, aOutput: OutParam<nsIURI>): u32;\n  stripForCopyOrShare(aURI: nsIURI): nsIURI;\n  canStripForShare(aURI: nsIURI): boolean;\n  testGetStripList(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStrippingListService.idl\n\ninterface nsIURLQueryStrippingListObserver extends nsISupports {\n  onQueryStrippingListUpdate(aStripList: string, aAllowList: string): void;\n  onStripOnShareUpdate(aStripRules: string[]): void;\n}\n\ninterface nsIURLQueryStrippingListService extends nsISupports {\n  registerAndRunObserver(aObserver: nsIURLQueryStrippingListObserver): void;\n  registerAndRunObserverStripOnShare(aObserver: nsIURLQueryStrippingListObserver): void;\n  unregisterObserver(aObserver: nsIURLQueryStrippingListObserver): void;\n  unregisterStripOnShareObserver(aObserver: nsIURLQueryStrippingListObserver): void;\n  clearLists(): void;\n  testWaitForInit(): Promise<any>;\n  testSetList(testFile: any): Promise<any>;\n  testHasStripOnShareObservers(): boolean;\n  testHasQPSObservers(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/asyncshutdown/nsIAsyncShutdown.idl\n\ninterface nsIAsyncShutdownBlocker extends nsISupports {\n  readonly name: string;\n  blockShutdown(aBarrierClient: nsIAsyncShutdownClient): void;\n  readonly state: nsIPropertyBag;\n}\n\ninterface nsIAsyncShutdownClient extends nsISupports {\n  readonly name: string;\n  readonly isClosed: boolean;\n  addBlocker(aBlocker: nsIAsyncShutdownBlocker, aFileName: string, aLineNumber: i32, aStack: string): void;\n  removeBlocker(aBlocker: nsIAsyncShutdownBlocker): void;\n  readonly jsclient: any;\n}\n\ntype nsIAsyncShutdownCompletionCallback = Callable<{\n  done(): void;\n}>\n\ninterface nsIAsyncShutdownBarrier extends nsISupports {\n  readonly client: nsIAsyncShutdownClient;\n  readonly state: nsIPropertyBag;\n  wait(aOnReady: nsIAsyncShutdownCompletionCallback): void;\n}\n\ninterface nsIAsyncShutdownService extends nsISupports {\n  makeBarrier(aName: string): nsIAsyncShutdownBarrier;\n  readonly profileBeforeChange: nsIAsyncShutdownClient;\n  readonly profileChangeTeardown: nsIAsyncShutdownClient;\n  readonly appShutdownConfirmed: nsIAsyncShutdownClient;\n  readonly sendTelemetry: nsIAsyncShutdownClient;\n  readonly webWorkersShutdown: nsIAsyncShutdownClient;\n  readonly xpcomWillShutdown: nsIAsyncShutdownClient;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasks.idl\n\ninterface nsIBackgroundTasks extends nsISupports {\n  readonly isBackgroundTaskMode: boolean;\n  backgroundTaskName(): string;\n  overrideBackgroundTaskNameForTesting(taskName: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksManager.idl\n\ninterface nsIBackgroundTasksManager extends nsICommandLineHandler {\n  runBackgroundTaskNamed(aTaskName: string, aCommandLine: nsICommandLine): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksRunner.idl\n\ninterface nsIBackgroundTasksRunner extends nsISupports {\n  runInDetachedProcess(aTaskName: string, aCommandLine: string[]): void;\n  removeDirectoryInDetachedProcess(aParentDirPath: string, aChildDirName: string, aSecondsToWait: string, aOtherFoldersSuffix: string, aMetricsId?: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cleardata/nsIClearBySiteEntry.idl\n\ninterface nsIClearBySiteEntry extends nsISupports {\n  schemelessSite: string;\n  patternJSON: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cleardata/nsIClearDataService.idl\n\ninterface nsIClearDataService extends nsISupports {\n  readonly CLEAR_COOKIES?: 1;\n  readonly CLEAR_NETWORK_CACHE?: 2;\n  readonly CLEAR_BFCACHE?: 2;\n  readonly CLEAR_IMAGE_CACHE?: 4;\n  readonly CLEAR_JS_CACHE?: 8;\n  readonly CLEAR_DOWNLOADS?: 16;\n  readonly CLEAR_MEDIA_DEVICES?: 64;\n  readonly CLEAR_DOM_QUOTA?: 128;\n  readonly CLEAR_PREDICTOR_NETWORK_DATA?: 256;\n  readonly CLEAR_DOM_PUSH_NOTIFICATIONS?: 512;\n  readonly CLEAR_HISTORY?: 1024;\n  readonly CLEAR_MESSAGING_LAYER_SECURITY_STATE?: 2048;\n  readonly CLEAR_AUTH_TOKENS?: 4096;\n  readonly CLEAR_AUTH_CACHE?: 8192;\n  readonly CLEAR_SITE_PERMISSIONS?: 16384;\n  readonly CLEAR_CONTENT_PREFERENCES?: 32768;\n  readonly CLEAR_HSTS?: 65536;\n  readonly CLEAR_EME?: 131072;\n  readonly CLEAR_REPORTS?: 262144;\n  readonly CLEAR_STORAGE_ACCESS?: 524288;\n  readonly CLEAR_CERT_EXCEPTIONS?: 1048576;\n  readonly CLEAR_CONTENT_BLOCKING_RECORDS?: 2097152;\n  readonly CLEAR_CSS_CACHE?: 4194304;\n  readonly CLEAR_PREFLIGHT_CACHE?: 8388608;\n  readonly CLEAR_CLIENT_AUTH_REMEMBER_SERVICE?: 16777216;\n  readonly CLEAR_CREDENTIAL_MANAGER_STATE?: 33554432;\n  readonly CLEAR_COOKIE_BANNER_EXCEPTION?: 67108864;\n  readonly CLEAR_COOKIE_BANNER_EXECUTED_RECORD?: 134217728;\n  readonly CLEAR_FINGERPRINTING_PROTECTION_STATE?: 268435456;\n  readonly CLEAR_BOUNCE_TRACKING_PROTECTION_STATE?: 536870912;\n  readonly CLEAR_STORAGE_PERMISSIONS?: 1073741824;\n  readonly CLEAR_SHUTDOWN_EXCEPTIONS?: 2147483648;\n  readonly CLEAR_ALL?: 4294967295;\n  readonly CLEAR_PERMISSIONS?: 2147500032;\n  readonly CLEAR_ALL_CACHES?: 12648462;\n  readonly CLEAR_DOM_STORAGES?: 262784;\n  readonly CLEAR_FORGET_ABOUT_SITE?: 3218591647;\n  readonly CLEAR_COOKIES_AND_SITE_DATA?: 2013739649;\n  readonly CLEAR_STATE_FOR_TRACKER_PURGING?: 2043624143;\n\n  deleteDataFromLocalFiles(aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataFromHost(aHost: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataFromSite(aSchemelessSite: string, aOriginAttributesPattern: any, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataFromSiteAndOriginAttributesPatternString(aSchemelessSite: string, aOriginAttributesPatternString: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataFromPrincipal(aPrincipal: nsIPrincipal, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataInTimeRange(aFrom: PRTime, aTo: PRTime, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteData(aFlags: u32, aCallback: nsIClearDataCallback): void;\n  deleteDataFromOriginAttributesPattern(aOriginAttributesPattern: any, aCallback?: nsIClearDataCallback): void;\n  deleteUserInteractionForClearingHistory(aPrincipalsWithStorage: nsIPrincipal[], aFrom?: PRTime, aCallback?: nsIClearDataCallback): void;\n  cleanupAfterDeletionAtShutdown(aFlags: u32, aCallback: nsIClearDataCallback): void;\n  hostMatchesSite(aHost: string, aOriginAttributes: any, aSchemelessSite: string, aOriginAttributesPattern?: any): boolean;\n}\n\ntype nsIClearDataCallback = Callable<{\n  onDataDeleted(aFailedFlags: u32): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/contentanalysis/nsIContentAnalysis.idl\n\n}  // global\n\ndeclare enum nsIContentAnalysisAcknowledgement_Result {\n  eSuccess = 1,\n  eInvalidResponse = 2,\n  eTooLate = 3,\n}\n\ndeclare enum nsIContentAnalysisAcknowledgement_FinalAction {\n  eUnspecified = 0,\n  eAllow = 1,\n  eReportOnly = 2,\n  eWarn = 3,\n  eBlock = 4,\n}\n\ndeclare global {\n\nnamespace nsIContentAnalysisAcknowledgement {\n  type Result = nsIContentAnalysisAcknowledgement_Result;\n  type FinalAction = nsIContentAnalysisAcknowledgement_FinalAction;\n}\n\ninterface nsIContentAnalysisAcknowledgement extends nsISupports, Enums<typeof nsIContentAnalysisAcknowledgement_Result & typeof nsIContentAnalysisAcknowledgement_FinalAction> {\n  readonly result: nsIContentAnalysisAcknowledgement.Result;\n  readonly finalAction: nsIContentAnalysisAcknowledgement.FinalAction;\n}\n\ninterface nsIContentAnalysisResult extends nsISupports {\n  readonly shouldAllowContent: boolean;\n}\n\n}  // global\n\ndeclare enum nsIContentAnalysisResponse_Action {\n  eUnspecified = 0,\n  eReportOnly = 1,\n  eWarn = 2,\n  eBlock = 3,\n  eAllow = 1000,\n  eCanceled = 1001,\n}\n\ndeclare enum nsIContentAnalysisResponse_CancelError {\n  eUserInitiated = 0,\n  eNoAgent = 1,\n  eInvalidAgentSignature = 2,\n  eErrorOther = 3,\n  eOtherRequestInGroupCancelled = 4,\n  eShutdown = 5,\n  eTimeout = 6,\n}\n\ndeclare global {\n\nnamespace nsIContentAnalysisResponse {\n  type Action = nsIContentAnalysisResponse_Action;\n  type CancelError = nsIContentAnalysisResponse_CancelError;\n}\n\ninterface nsIContentAnalysisResponse extends nsIContentAnalysisResult, Enums<typeof nsIContentAnalysisResponse_Action & typeof nsIContentAnalysisResponse_CancelError> {\n  readonly action: nsIContentAnalysisResponse.Action;\n  readonly cancelError: nsIContentAnalysisResponse.CancelError;\n  readonly requestToken: string;\n  readonly userActionId: string;\n  readonly isCachedResponse: boolean;\n  readonly isSyntheticResponse: boolean;\n  acknowledge(aCaa: nsIContentAnalysisAcknowledgement): void;\n}\n\ninterface nsIClientDownloadResource extends nsISupports {\n  readonly DOWNLOAD_URL?: 0;\n  readonly DOWNLOAD_REDIRECT?: 1;\n  readonly TAB_URL?: 2;\n  readonly TAB_REDIRECT?: 3;\n  readonly PPAPI_DOCUMENT?: 4;\n  readonly PPAPI_PLUGIN?: 5;\n\n  readonly url: string;\n  readonly type: u32;\n}\n\n}  // global\n\ndeclare enum nsIContentAnalysisRequest_AnalysisType {\n  eUnspecified = 0,\n  eFileDownloaded = 1,\n  eFileAttached = 2,\n  eBulkDataEntry = 3,\n  ePrint = 4,\n  eFileTransfer = 5,\n}\n\ndeclare enum nsIContentAnalysisRequest_Reason {\n  eUnknown = 0,\n  eClipboardPaste = 1,\n  eDragAndDrop = 2,\n  eFilePickerDialog = 3,\n  ePrintPreviewPrint = 4,\n  eSystemDialogPrint = 5,\n  eNormalDownload = 6,\n  eSaveAsDownload = 7,\n}\n\ndeclare enum nsIContentAnalysisRequest_OperationType {\n  eClipboard = 0,\n  eDroppedText = 1,\n  eOperationPrint = 2,\n  eUpload = 3,\n  eDownload = 4,\n}\n\ndeclare global {\n\nnamespace nsIContentAnalysisRequest {\n  type AnalysisType = nsIContentAnalysisRequest_AnalysisType;\n  type Reason = nsIContentAnalysisRequest_Reason;\n  type OperationType = nsIContentAnalysisRequest_OperationType;\n}\n\ninterface nsIContentAnalysisRequest extends nsISupports, Enums<typeof nsIContentAnalysisRequest_AnalysisType & typeof nsIContentAnalysisRequest_Reason & typeof nsIContentAnalysisRequest_OperationType> {\n  readonly analysisType: nsIContentAnalysisRequest.AnalysisType;\n  readonly reason: nsIContentAnalysisRequest.Reason;\n  readonly operationTypeForDisplay: nsIContentAnalysisRequest.OperationType;\n  readonly fileNameForDisplay: string;\n  dataTransfer: DataTransfer;\n  readonly transferable: nsITransferable;\n  readonly textContent: string;\n  readonly filePath: string;\n  readonly printDataHandle: u64;\n  readonly printDataSize: u64;\n  readonly printerName: string;\n  readonly url: nsIURI;\n  readonly sha256Digest: string;\n  readonly resources: nsIClientDownloadResource[];\n  readonly email: string;\n  requestToken: string;\n  readonly windowGlobalParent: WindowGlobalParent;\n  userActionId: string;\n  userActionRequestsCount: i64;\n  readonly sourceWindowGlobal: WindowGlobalParent;\n  timeoutMultiplier: u32;\n  testOnlyIgnoreCanceledAndAlwaysSubmitToAgent: boolean;\n}\n\ninterface nsIContentAnalysisCallback extends nsISupports {\n  contentResult(aResult: nsIContentAnalysisResult): void;\n  error(aResult: nsresult): void;\n}\n\ninterface nsIContentAnalysisDiagnosticInfo extends nsISupports {\n  readonly connectedToAgent: boolean;\n  readonly agentPath: string;\n  readonly failedSignatureVerification: boolean;\n  readonly requestCount: i64;\n}\n\ninterface nsIContentAnalysis extends nsISupports {\n  readonly isActive: boolean;\n  readonly mightBeActive: boolean;\n  isSetByEnterprisePolicy: boolean;\n  analyzeContentRequests(aCars: nsIContentAnalysisRequest[], aAutoAcknowledge: boolean): Promise<any>;\n  analyzeContentRequestsCallback(aCars: nsIContentAnalysisRequest[], aAutoAcknowledge: boolean, callback: nsIContentAnalysisCallback): void;\n  analyzeBatchContentRequest(aCar: nsIContentAnalysisRequest, aAutoAcknowledge: boolean): Promise<any>;\n  analyzeContentRequestPrivate(aRequest: nsIContentAnalysisRequest, aAutoAcknowledge: boolean, aCallback: nsIContentAnalysisCallback): void;\n  cancelRequestsByUserAction(aUserActionId: string): void;\n  cancelAllRequestsAssociatedWithUserAction(aUserActionId: string): void;\n  respondToWarnDialog(aRequestToken: string, aAllowContent: boolean): void;\n  cancelAllRequests(aForbidFutureRequests?: boolean): void;\n  testOnlySetCACmdLineArg(aVal: boolean): void;\n  getDiagnosticInfo(): Promise<any>;\n  getURIForBrowsingContext(aBrowsingContext: BrowsingContext): nsIURI;\n  getURIForDropEvent(aEvent: DragEvent): nsIURI;\n  setCachedResponse(aURI: nsIURI, aSequenceNumber: i32, aAction: nsIContentAnalysisResponse.Action): void;\n  getCachedResponse(aURI: nsIURI, aSequenceNumber: i32, aAction: OutParam<nsIContentAnalysisResponse.Action>, aIsValid: OutParam<boolean>): void;\n  showBlockedRequestDialog(aRequest: nsIContentAnalysisRequest): void;\n  makeResponseForTest(aAction: nsIContentAnalysisResponse.Action, aToken: string, aUserActionId: string): nsIContentAnalysisResponse;\n  sendCancelToAgent(aUserActionId: string): void;\n  forceRecreateClientForTest(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsIClickRule.idl\n\n}  // global\n\ndeclare enum nsIClickRule_RunContext {\n  RUN_TOP = 0,\n  RUN_CHILD = 1,\n  RUN_ALL = 2,\n}\n\ndeclare global {\n\nnamespace nsIClickRule {\n  type RunContext = nsIClickRule_RunContext;\n}\n\ninterface nsIClickRule extends nsISupports, Enums<typeof nsIClickRule_RunContext> {\n  readonly presence: string;\n  readonly skipPresenceVisibilityCheck: boolean;\n  readonly runContext: nsIClickRule.RunContext;\n  readonly hide: string;\n  readonly optOut: string;\n  readonly optIn: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerListService.idl\n\ninterface nsICookieBannerListService extends nsISupports {\n  init(): void;\n  initForTest(): Promise<any>;\n  shutdown(): void;\n  importAllRules(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerRule.idl\n\ninterface nsICookieBannerRule extends nsISupports {\n  id: string;\n  domains: string[];\n  readonly cookiesOptOut: nsICookieRule[];\n  readonly cookiesOptIn: nsICookieRule[];\n  clearCookies(): void;\n  addCookie(aIsOptOut: boolean, aName: string, aValue: string, aHost: string, aPath: string, aExpiryRelative: i64, aUnsetValue: string, aIsSecure: boolean, aIsHttpOnly: boolean, aIsSession: boolean, aSameSite: i32, aSchemeMap: nsICookie.schemeType): void;\n  readonly clickRule: nsIClickRule;\n  addClickRule(aPresence: string, aSkipPresenceVisibilityCheck?: boolean, aRunContext?: nsIClickRule.RunContext, aHide?: string, aOptOut?: string, aOptIn?: string): void;\n  clearClickRule(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerService.idl\n\n}  // global\n\ndeclare enum nsICookieBannerService_Modes {\n  MODE_DISABLED = 0,\n  MODE_REJECT = 1,\n  MODE_REJECT_OR_ACCEPT = 2,\n  MODE_UNSET = 3,\n}\n\ndeclare global {\n\nnamespace nsICookieBannerService {\n  type Modes = nsICookieBannerService_Modes;\n}\n\ninterface nsICookieBannerService extends nsISupports, Enums<typeof nsICookieBannerService_Modes> {\n  readonly isEnabled: boolean;\n  readonly rules: nsICookieBannerRule[];\n  resetRules(doImport?: boolean): void;\n  getCookiesForURI(aURI: nsIURI, aIsPrivateBrowsing: boolean): nsICookieRule[];\n  getClickRulesForDomain(aDomain: string, aIsTopLevel: boolean): nsIClickRule[];\n  insertRule(aRule: nsICookieBannerRule): void;\n  removeRule(aRule: nsICookieBannerRule): void;\n  hasRuleForBrowsingContextTree(aBrowsingContext: BrowsingContext): boolean;\n  getDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): nsICookieBannerService.Modes;\n  setDomainPref(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes, aIsPrivate: boolean): void;\n  setDomainPrefAndPersistInPrivateBrowsing(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes): void;\n  removeDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): void;\n  removeAllDomainPrefs(aIsPrivate: boolean): void;\n  shouldStopBannerClickingForSite(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): boolean;\n  markSiteExecuted(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): void;\n  removeExecutedRecordForSite(aSite: string, aIsPrivate: boolean): void;\n  removeAllExecutedRecords(aIsPrivate: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerTelemetryService.idl\n\ninterface nsICookieBannerTelemetryService extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieRule.idl\n\ninterface nsICookieRule extends nsISupports {\n  readonly cookie: nsICookie;\n  readonly expiryRelative: i64;\n  readonly unsetValue: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/crashes/nsICrashService.idl\n\ninterface nsICrashService extends nsISupports {\n  readonly CRASH_TYPE_CRASH?: 0;\n  readonly CRASH_TYPE_HANG?: 1;\n\n  addCrash(processType: i32, crashType: i32, id: string): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/finalizationwitness/nsIFinalizationWitnessService.idl\n\ninterface nsIFinalizationWitnessService extends nsISupports {\n  make(aTopic: string, aString: string): any;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/media/nsIWindowsMediaFoundationCDMOriginsListService.idl\n\ninterface nsIOriginStatusEntry extends nsISupports {\n  readonly origin: string;\n  readonly status: i32;\n}\n\ninterface nsIOriginsListLoadCallback extends nsISupports {\n  onOriginsListLoaded(aEntries: nsIArray): void;\n}\n\ninterface nsIWindowsMediaFoundationCDMOriginsListService extends nsISupports {\n  readonly ORIGIN_BLOCKED?: 0;\n  readonly ORIGIN_ALLOWED?: 1;\n\n  setCallback(aCallback: nsIOriginsListLoadCallback): void;\n  removeCallback(aCallback: nsIOriginsListLoadCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/modules/nsIBrowserWindowTracker.idl\n\ninterface nsIVisibleTab extends nsISupports {\n  contentTitle: string;\n  browserId: i64;\n}\n\ninterface nsIBrowserWindowTracker extends nsISupports {\n  getAllVisibleTabs(): nsIVisibleTab[];\n  getBrowserById(aBrowserId: u64): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/modules/nsIRegion.idl\n\ninterface nsIRegion extends nsISupports {\n  readonly current: string;\n  readonly home: string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/processtools/nsIProcessToolsService.idl\n\ninterface nsIProcessToolsService extends nsISupports {\n  kill(pid: u64): void;\n  crash(pid: u64): void;\n  readonly pid: u64;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIFingerprintingWebCompatService.idl\n\ninterface nsIFingerprintingOverride extends nsISupports {\n  readonly firstPartyDomain: string;\n  readonly thirdPartyDomain: string;\n  readonly overrides: string;\n  readonly isBaseline: boolean;\n}\n\ninterface nsIFingerprintingWebCompatService extends nsISupports {\n  init(): void;\n  shutdown(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIRFPService.idl\n\ninterface nsIRFPService extends nsISupports {\n  setFingerprintingOverrides(aOverrides: nsIFingerprintingOverride[]): void;\n  getFingerprintingOverrides(aDomainKey: string): nsIRFPTargetSetIDL;\n  cleanAllOverrides(): void;\n  readonly enabledFingerprintingProtectionsBaseline: nsIRFPTargetSetIDL;\n  readonly enabledFingerprintingProtections: nsIRFPTargetSetIDL;\n  cleanAllRandomKeys(): void;\n  cleanRandomKeyByPrincipal(aPrincipal: nsIPrincipal): void;\n  cleanRandomKeyBySite(aSchemelessSite: string, originAttributes: any): void;\n  cleanRandomKeyByHost(aHost: string, aPattern: string): void;\n  cleanRandomKeyByOriginAttributesPattern(aPattern: string): void;\n  getSpoofedUserAgent(aDesktopMode: boolean): string;\n  testGenerateRandomKey(aChannel: nsIChannel): u8[];\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIRFPTargetSetIDL.idl\n\ninterface nsIRFPTargetSetIDL extends nsISupports {\n  getNth32BitSet(aPart: u32): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIUserCharacteristicsPageService.idl\n\ninterface nsIUserCharacteristicsPageService extends nsISupports {\n  createContentPage(principal: nsIPrincipal): Promise<any>;\n  pageLoaded(browsingContext: BrowsingContext, data: any): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/search/nsISearchService.idl\n\ninterface nsISearchSubmission extends nsISupports {\n  readonly postData: nsIInputStream;\n  readonly uri: nsIURI;\n}\n\ninterface nsISearchEngine extends nsISupports {\n  getSubmission(searchTerms: string, responseType?: string): nsISearchSubmission;\n  readonly searchURLWithNoTerms: nsIURI;\n  searchTermFromResult(uri: nsIURI): string;\n  readonly searchUrlQueryParamName: string;\n  readonly searchUrlPublicSuffix: string;\n  supportsResponseType(responseType: string): boolean;\n  getIconURL(preferredWidth?: u16): Promise<any>;\n  speculativeConnect(options: any): void;\n  alias: string;\n  readonly aliases: string[];\n  hidden: boolean;\n  hideOneOffButton: boolean;\n  readonly name: string;\n  readonly id: string;\n  readonly telemetryId: string;\n  readonly identifier: string;\n  readonly loadPath: string;\n  readonly isAppProvided: boolean;\n  readonly inMemory: boolean;\n  readonly overriddenById: string;\n  readonly isGeneralPurposeEngine: boolean;\n  readonly searchUrlDomain: string;\n  readonly clickUrl: string;\n  readonly searchForm: string;\n  readonly partnerCode: string;\n}\n\ninterface nsISearchParseSubmissionResult extends nsISupports {\n  readonly engine: nsISearchEngine;\n  readonly terms: string;\n  readonly termsParameterName: string;\n}\n\n}  // global\n\ndeclare enum nsISearchService_OpenSearchInstallErrors {\n  ERROR_DOWNLOAD_FAILURE = 1,\n  ERROR_DUPLICATE_ENGINE = 2,\n  ERROR_ENGINE_CORRUPTED = 3,\n}\n\ndeclare enum nsISearchService_DefaultEngineChangeReason {\n  CHANGE_REASON_UNKNOWN = 0,\n  CHANGE_REASON_USER = 1,\n  CHANGE_REASON_USER_PRIVATE_SPLIT = 2,\n  CHANGE_REASON_USER_SEARCHBAR = 3,\n  CHANGE_REASON_USER_SEARCHBAR_CONTEXT = 4,\n  CHANGE_REASON_ADDON_INSTALL = 5,\n  CHANGE_REASON_ADDON_UNINSTALL = 6,\n  CHANGE_REASON_CONFIG = 7,\n  CHANGE_REASON_LOCALE = 8,\n  CHANGE_REASON_REGION = 9,\n  CHANGE_REASON_EXPERIMENT = 10,\n  CHANGE_REASON_ENTERPRISE = 11,\n  CHANGE_REASON_UITOUR = 12,\n  CHANGE_REASON_ENGINE_UPDATE = 13,\n  CHANGE_REASON_USER_PRIVATE_PREF_ENABLED = 14,\n  CHANGE_REASON_ENGINE_IGNORE_LIST_UPDATED = 15,\n  CHANGE_REASON_NO_EXISTING_DEFAULT_ENGINE = 16,\n}\n\ndeclare global {\n\nnamespace nsISearchService {\n  type OpenSearchInstallErrors = nsISearchService_OpenSearchInstallErrors;\n  type DefaultEngineChangeReason = nsISearchService_DefaultEngineChangeReason;\n}\n\ninterface nsISearchService extends nsISupports, Enums<typeof nsISearchService_OpenSearchInstallErrors & typeof nsISearchService_DefaultEngineChangeReason> {\n  init(): Promise<any>;\n  readonly promiseInitialized: Promise<any>;\n  readonly isInitialized: boolean;\n  readonly hasSuccessfullyInitialized: boolean;\n  runBackgroundChecks(): Promise<any>;\n  resetToAppDefaultEngine(): void;\n  addOpenSearchEngine(engineURL: string, iconURL: string): Promise<any>;\n  addUserEngine(formInfo: any): Promise<any>;\n  addEnginesFromExtension(extension: any): Promise<any>;\n  restoreDefaultEngines(): void;\n  getEngineByAlias(alias: string): Promise<any>;\n  getEngineByName(aEngineName: string): nsISearchEngine;\n  getEngineById(aEngineId: string): nsISearchEngine;\n  getEngines(): Promise<any>;\n  getVisibleEngines(): Promise<any>;\n  getAppProvidedEngines(): Promise<any>;\n  getEnginesByExtensionID(extensionID: string): Promise<any>;\n  findContextualSearchEngineByHost(host: string): Promise<any>;\n  shouldShowInstallPrompt(engine: any): Promise<any>;\n  addSearchEngine(engine: any): Promise<any>;\n  moveEngine(engine: nsISearchEngine, newIndex: i32): Promise<any>;\n  removeEngine(engine: nsISearchEngine): Promise<any>;\n  removeWebExtensionEngine(id: string): Promise<any>;\n  readonly appDefaultEngine: nsISearchEngine;\n  readonly appPrivateDefaultEngine: nsISearchEngine;\n  readonly defaultEngine: nsISearchEngine;\n  getDefault(): Promise<any>;\n  setDefault(engine: nsISearchEngine, changeReason: u16): Promise<any>;\n  readonly defaultPrivateEngine: nsISearchEngine;\n  getDefaultPrivate(): Promise<any>;\n  setDefaultPrivate(engine: nsISearchEngine, changeReason: u16): Promise<any>;\n  readonly separatePrivateDefaultUrlbarResultEnabled: boolean;\n  maybeSetAndOverrideDefault(extension: any): Promise<any>;\n  getDefaultEngineInfo(): any;\n  parseSubmissionURL(url: string): nsISearchParseSubmissionResult;\n  getAlternateDomains(domain: string): string[];\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/shell/nsIToolkitShellService.idl\n\ninterface nsIToolkitShellService extends nsISupports {\n  isDefaultApplication(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/terminator/nsITerminatorTest.idl\n\ninterface nsITerminatorTest extends nsISupports {\n  getTicksForShutdownPhases(): any;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/xulstore/nsIXULStore.idl\n\ninterface nsIXULStore extends nsISupports {\n  persist(aNode: Node, attr: string): void;\n  setValue(doc: string, id: string, attr: string, value: string): void;\n  hasValue(doc: string, id: string, attr: string): boolean;\n  getValue(doc: string, id: string, attr: string): string;\n  removeValue(doc: string, id: string, attr: string): void;\n  removeDocument(doc: string): void;\n  getIDsEnumerator(doc: string): nsIStringEnumerator;\n  getAttributeEnumerator(doc: string, id: string): nsIStringEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileMigrator.idl\n\ninterface nsIProfileStartup extends nsISupports {\n  readonly directory: nsIFile;\n  doStartup(): void;\n}\n\ninterface nsIProfileMigrator extends nsISupports {\n  migrate(aStartup: nsIProfileStartup, aKey: string, aProfileName?: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileUnlocker.idl\n\ninterface nsIProfileUnlocker extends nsISupports {\n  readonly ATTEMPT_QUIT?: 0;\n  readonly FORCE_QUIT?: 1;\n\n  unlock(aSeverity: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfile.idl\n\ninterface nsIProfileLock extends nsISupports {\n  readonly directory: nsIFile;\n  readonly localDirectory: nsIFile;\n  readonly replacedLockTime: PRTime;\n  unlock(): void;\n}\n\ninterface nsIToolkitProfile extends nsISupports {\n  rootDir: nsIFile;\n  readonly localDir: nsIFile;\n  name: string;\n  storeID: string;\n  showProfileSelector: boolean;\n  remove(removeFiles: boolean): void;\n  removeInBackground(removeFiles: boolean): void;\n  lock(aUnlocker: OutParam<nsIProfileUnlocker>): nsIProfileLock;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfileService.idl\n\n}  // global\n\ndeclare enum nsIToolkitProfileService_downgradeUIFlags {\n  hasSync = 1,\n}\n\ndeclare enum nsIToolkitProfileService_downgradeUIChoice {\n  quit = 0,\n  createNewProfile = 1,\n}\n\ndeclare enum nsIToolkitProfileService_profileManagerResult {\n  exit = 0,\n  launchWithProfile = 1,\n  restart = 2,\n}\n\ndeclare global {\n\nnamespace nsIToolkitProfileService {\n  type downgradeUIFlags = nsIToolkitProfileService_downgradeUIFlags;\n  type downgradeUIChoice = nsIToolkitProfileService_downgradeUIChoice;\n  type profileManagerResult = nsIToolkitProfileService_profileManagerResult;\n}\n\ninterface nsIToolkitProfileService extends nsISupports, Enums<typeof nsIToolkitProfileService_downgradeUIFlags & typeof nsIToolkitProfileService_downgradeUIChoice & typeof nsIToolkitProfileService_profileManagerResult> {\n  readonly isListOutdated: boolean;\n  startWithLastProfile: boolean;\n  readonly profiles: nsISimpleEnumerator;\n  readonly currentProfile: nsIToolkitProfile;\n  defaultProfile: nsIToolkitProfile;\n  selectStartupProfile(aArgv: string[], aIsResetting: boolean, aUpdateChannel: string, aLegacyInstallHash: string, aRootDir: OutParam<nsIFile>, aLocalDir: OutParam<nsIFile>, aProfile: OutParam<nsIToolkitProfile>): boolean;\n  getProfileByName(aName: string): nsIToolkitProfile;\n  getProfileByDir(aRootDir: nsIFile, aLocalDir?: nsIFile): nsIToolkitProfile;\n  createProfile(aRootDir: nsIFile, aName: string): nsIToolkitProfile;\n  createUniqueProfile(aRootDir: nsIFile, aNamePrefix: string): nsIToolkitProfile;\n  readonly profileCount: u32;\n  flush(): void;\n  asyncFlush(): Promise<any>;\n  asyncFlushCurrentProfile(): Promise<any>;\n  removeProfileFilesByPath(aRootDir: nsIFile, aLocalDir: nsIFile, aTimeout: u32): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/remote/nsIRemoteService.idl\n\ninterface nsIRemoteService extends nsISupports {\n  sendCommandLine(aProfile: string, aArgs: string[], aRaise?: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransaction.idl\n\ninterface nsITransaction extends nsISupports {\n  doTransaction(): void;\n  undoTransaction(): void;\n  redoTransaction(): void;\n  readonly isTransient: boolean;\n  merge(aTransaction: nsITransaction): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransactionManager.idl\n\ninterface nsITransactionManager extends nsISupports {\n  doTransaction(aTransaction: nsITransaction): void;\n  undoTransaction(): void;\n  redoTransaction(): void;\n  clear(): void;\n  clearUndoStack(): void;\n  clearRedoStack(): void;\n  beginBatch(aData: nsISupports): void;\n  endBatch(aAllowEmpty: boolean): void;\n  readonly numberOfUndoItems: i32;\n  readonly numberOfRedoItems: i32;\n  maxTransactionCount: i32;\n  batchTopUndo(): void;\n  removeTopUndo(): void;\n  peekUndoStack(): nsITransaction;\n  peekRedoStack(): nsITransaction;\n}\n\n// https://searchfox.org/mozilla-central/source/editor/spellchecker/nsIInlineSpellChecker.idl\n\ninterface nsIInlineSpellChecker extends nsISupports {\n  readonly spellChecker: nsIEditorSpellCheck;\n  init(aEditor: nsIEditor): void;\n  cleanup(aDestroyingFrames: boolean): void;\n  enableRealTimeSpell: boolean;\n  spellCheckRange(aSelection: Range): void;\n  getMisspelledWord(aNode: Node, aOffset: u32): Range;\n  replaceWord(aNode: Node, aOffset: u32, aNewword: string): void;\n  addWordToDictionary(aWord: string): void;\n  removeWordFromDictionary(aWord: string): void;\n  ignoreWord(aWord: string): void;\n  ignoreWords(aWordsToIgnore: string[]): void;\n  updateCurrentDictionary(): void;\n  readonly spellCheckPending: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/intl/uconv/nsIScriptableUConv.idl\n\ninterface nsIScriptableUnicodeConverter extends nsISupports {\n  ConvertFromUnicode(aSrc: string): string;\n  Finish(): string;\n  ConvertToUnicode(aSrc: string): string;\n  charset: string;\n  isInternal: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/intl/uconv/nsITextToSubURI.idl\n\ninterface nsITextToSubURI extends nsISupports {\n  ConvertAndEscape(charset: string, text: string): string;\n  UnEscapeAndConvert(charset: string, text: string): string;\n  unEscapeURIForUI(aURIFragment: string, aDontEscape?: boolean): string;\n  unEscapeNonAsciiURI(aCharset: string, aURIFragment: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/timermanager/nsIUpdateTimerManager.idl\n\ninterface nsIUpdateTimerManager extends nsISupports {\n  registerTimer(id: string, callback: nsITimerCallback, interval: u32, skipFirst?: boolean): void;\n  unregisterTimer(id: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/nsIUpdateService.idl\n\ninterface nsIUpdatePatch extends nsISupports {\n  readonly type: string;\n  readonly URL: string;\n  finalURL: string;\n  readonly size: u32;\n  state: string;\n  errorCode: i32;\n  selected: boolean;\n  serialize(updates: Document): Element;\n}\n\ninterface nsIUpdate extends nsISupports {\n  readonly type: string;\n  readonly name: string;\n  readonly displayVersion: string;\n  readonly appVersion: string;\n  readonly platformVersion: string;\n  readonly previousAppVersion: string;\n  readonly buildID: string;\n  readonly detailsURL: string;\n  readonly serviceURL: string;\n  readonly channel: string;\n  readonly unsupported: boolean;\n  promptWaitTime: i64;\n  isCompleteUpdate: boolean;\n  installDate: i64;\n  statusText: string;\n  readonly selectedPatch: nsIUpdatePatch;\n  state: string;\n  errorCode: i32;\n  elevationFailure: boolean;\n  readonly patchCount: u32;\n  getPatchAt(index: u32): nsIUpdatePatch;\n  serialize(updates: Document): Element;\n}\n\ninterface nsIUpdateCheckResult extends nsISupports {\n  readonly checksAllowed: boolean;\n  readonly succeeded: boolean;\n  readonly request: any;\n  readonly updates: nsIUpdate[];\n}\n\ninterface nsIUpdateCheck extends nsISupports {\n  readonly id: i32;\n  readonly result: Promise<any>;\n}\n\ninterface nsIUpdateCheckerInternal extends nsISupports {\n  checkForUpdates(checkType: i32): nsIUpdateCheck;\n}\n\ninterface nsIUpdateChecker extends nsISupports {\n  readonly BACKGROUND_CHECK?: 1;\n  readonly FOREGROUND_CHECK?: 2;\n\n  checkForUpdates(checkType: i32): nsIUpdateCheck;\n  getUpdateURL(checkType: i32): Promise<any>;\n  stopCheck(id: i32): void;\n  stopAllChecks(): void;\n  readonly internal: nsIUpdateCheckerInternal;\n}\n\ninterface nsIApplicationUpdateServiceInternal extends nsISupports {\n  init(force: boolean): Promise<any>;\n  downloadUpdate(update: nsIUpdate): Promise<any>;\n  stopDownload(): Promise<any>;\n}\n\ninterface nsIApplicationUpdateService extends nsISupports {\n  readonly DOWNLOAD_SUCCESS?: 1;\n  readonly DOWNLOAD_FAILURE_CANNOT_RESUME_IN_BACKGROUND?: 2;\n  readonly DOWNLOAD_FAILURE_GENERIC?: 3;\n  readonly STATE_IDLE?: 1;\n  readonly STATE_DOWNLOADING?: 2;\n  readonly STATE_STAGING?: 4;\n  readonly STATE_PENDING?: 5;\n  readonly STATE_SWAP?: 6;\n\n  init(): Promise<any>;\n  checkForBackgroundUpdates(): Promise<any>;\n  selectUpdate(updates: nsIUpdate[]): Promise<any>;\n  addDownloadListener(listener: nsIRequestObserver): void;\n  removeDownloadListener(listener: nsIRequestObserver): void;\n  downloadUpdate(update: nsIUpdate): Promise<any>;\n  onCheckComplete(result: nsIUpdateCheckResult): Promise<any>;\n  stopDownload(): Promise<any>;\n  readonly disabled: boolean;\n  readonly canUsuallyCheckForUpdates: boolean;\n  readonly canCheckForUpdates: boolean;\n  readonly elevationRequired: boolean;\n  readonly canUsuallyApplyUpdates: boolean;\n  readonly canApplyUpdates: boolean;\n  readonly isOtherInstanceHandlingUpdates: boolean;\n  readonly canUsuallyStageUpdates: boolean;\n  readonly canStageUpdates: boolean;\n  readonly canUsuallyUseBits: boolean;\n  readonly canUseBits: boolean;\n  readonly manualUpdateOnly: boolean;\n  readonly isAppBaseDirWritable: boolean;\n  onlyDownloadUpdatesThisSession: boolean;\n  getStateName(state: i32): string;\n  readonly currentState: i32;\n  readonly stateTransition: Promise<any>;\n  readonly internal: nsIApplicationUpdateServiceInternal;\n}\n\ninterface nsIUpdateProcessor extends nsISupports {\n  processUpdate(): void;\n  getServiceRegKeyExists(): boolean;\n  attemptAutomaticApplicationRestartWithLaunchArgs(argvExtra: string[]): i32;\n  waitForProcessExit(pid: u32, timeoutMS: u32): void;\n}\n\ninterface nsIUpdateSyncManager extends nsISupports {\n  isOtherInstanceRunning(): boolean;\n  resetLock(anAppFile?: nsIFile): void;\n}\n\ninterface nsIUpdateMutex extends nsISupports {\n  isLocked(): boolean;\n  tryLock(): boolean;\n  unlock(): void;\n}\n\ninterface nsIUpdateManagerInternal extends nsISupports {\n  reload(skipFiles: boolean): Promise<any>;\n  getHistory(): nsIUpdate[];\n  addUpdateToHistory(update: nsIUpdate): void;\n  readyUpdate: nsIUpdate;\n  downloadingUpdate: nsIUpdate;\n  refreshUpdateStatus(): Promise<any>;\n}\n\ninterface nsIUpdateManager extends nsISupports {\n  getHistory(): Promise<any>;\n  getReadyUpdate(): Promise<any>;\n  getDownloadingUpdate(): Promise<any>;\n  updateInstalledAtStartup(): Promise<any>;\n  lastUpdateInstalled(): Promise<any>;\n  addUpdateToHistory(update: nsIUpdate): Promise<any>;\n  saveUpdates(): void;\n  refreshUpdateStatus(): Promise<any>;\n  elevationOptedIn(): Promise<any>;\n  cleanupDownloadingUpdate(): Promise<any>;\n  cleanupReadyUpdate(): Promise<any>;\n  cleanupActiveUpdates(): Promise<any>;\n  doInstallCleanup(): Promise<any>;\n  doUninstallCleanup(): Promise<any>;\n  readonly internal: nsIUpdateManagerInternal;\n}\n\ninterface nsIApplicationUpdateServiceStub extends nsISupports {\n  init(): Promise<any>;\n  initUpdate(): Promise<any>;\n  readonly updateDisabled: boolean;\n  readonly updateDisabledForTesting: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsCURILoader.idl\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIContentHandler.idl\n\ninterface nsIContentHandler extends nsISupports {\n  handleContent(aContentType: string, aWindowContext: nsIInterfaceRequestor, aRequest: nsIRequest): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIDocumentLoader.idl\n\ninterface nsIDocumentLoader extends nsISupports {\n  stop(): void;\n  readonly container: nsISupports;\n  readonly loadGroup: nsILoadGroup;\n  readonly documentChannel: nsIChannel;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsITransfer.idl\n\ninterface nsITransfer extends nsIWebProgressListener2 {\n  readonly DOWNLOAD_ACCEPTABLE?: 0;\n  readonly DOWNLOAD_FORBIDDEN?: 1;\n  readonly DOWNLOAD_POTENTIALLY_UNSAFE?: 2;\n\n  init(aSource: nsIURI, aSourceOriginalURI: nsIURI, aTarget: nsIURI, aDisplayName: string, aMIMEInfo: nsIMIMEInfo, startTime: PRTime, aTempFile: nsIFile, aCancelable: nsICancelable, aIsPrivate: boolean, aDownloadClassification: i32, aReferrerInfo: nsIReferrerInfo, aOpenDownloadsListOnStart?: boolean): void;\n  initWithBrowsingContext(aSource: nsIURI, aTarget: nsIURI, aDisplayName: string, aMIMEInfo: nsIMIMEInfo, startTime: PRTime, aTempFile: nsIFile, aCancelable: nsICancelable, aIsPrivate: boolean, aDownloadClassification: i32, aReferrerInfo: nsIReferrerInfo, aOpenDownloadsListOnStart: boolean, aBrowsingContext: BrowsingContext, aHandleInternally: boolean, aHttpChannel: nsIHttpChannel): void;\n  setSha256Hash(aHash: string): void;\n  setSignatureInfo(aSignatureInfo: u8[][][]): void;\n  setRedirects(aRedirects: nsIArray): void;\n  readonly downloadPromise: Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIURIContentListener.idl\n\ninterface nsIURIContentListener extends nsISupports {\n  doContent(aContentType: string, aIsContentPreferred: boolean, aRequest: nsIRequest, aContentHandler: OutParam<nsIStreamListener>): boolean;\n  isPreferred(aContentType: string, aDesiredContentType: OutParam<string>): boolean;\n  canHandleContent(aContentType: string, aIsContentPreferred: boolean, aDesiredContentType: OutParam<string>): boolean;\n  loadCookie: nsISupports;\n  parentContentListener: nsIURIContentListener;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIURILoader.idl\n\ninterface nsIURILoader extends nsISupports {\n  readonly IS_CONTENT_PREFERRED?: 1;\n  readonly DONT_RETARGET?: 2;\n  readonly IS_OBJECT_EMBED?: 4;\n\n  registerContentListener(aContentListener: nsIURIContentListener): void;\n  unRegisterContentListener(aContentListener: nsIURIContentListener): void;\n  openURI(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): void;\n  openChannel(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): nsIStreamListener;\n  stop(aLoadCookie: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgress.idl\n\ninterface nsIWebProgress extends nsISupports {\n  readonly NOTIFY_STATE_REQUEST?: 1;\n  readonly NOTIFY_STATE_DOCUMENT?: 2;\n  readonly NOTIFY_STATE_NETWORK?: 4;\n  readonly NOTIFY_STATE_WINDOW?: 8;\n  readonly NOTIFY_STATE_ALL?: 15;\n  readonly NOTIFY_PROGRESS?: 16;\n  readonly NOTIFY_STATUS?: 32;\n  readonly NOTIFY_SECURITY?: 64;\n  readonly NOTIFY_LOCATION?: 128;\n  readonly NOTIFY_REFRESH?: 256;\n  readonly NOTIFY_CONTENT_BLOCKING?: 512;\n  readonly NOTIFY_ALL?: 1023;\n\n  addProgressListener(aListener: nsIWebProgressListener, aNotifyMask: u32): void;\n  removeProgressListener(aListener: nsIWebProgressListener): void;\n  readonly browsingContext: BrowsingContext;\n  readonly DOMWindow: mozIDOMWindowProxy;\n  readonly isTopLevel: boolean;\n  readonly isLoadingDocument: boolean;\n  readonly loadType: u32;\n  target: nsIEventTarget;\n  readonly documentRequest: nsIRequest;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener.idl\n\ninterface nsIWebProgressListener extends nsISupports {\n  readonly STATE_START?: 1;\n  readonly STATE_REDIRECTING?: 2;\n  readonly STATE_TRANSFERRING?: 4;\n  readonly STATE_NEGOTIATING?: 8;\n  readonly STATE_STOP?: 16;\n  readonly STATE_IS_REQUEST?: 65536;\n  readonly STATE_IS_DOCUMENT?: 131072;\n  readonly STATE_IS_NETWORK?: 262144;\n  readonly STATE_IS_WINDOW?: 524288;\n  readonly STATE_IS_REDIRECTED_DOCUMENT?: 1048576;\n  readonly STATE_RESTORING?: 16777216;\n  readonly STATE_IS_INSECURE?: 4;\n  readonly STATE_IS_BROKEN?: 1;\n  readonly STATE_IS_SECURE?: 2;\n  readonly STATE_BLOCKED_MIXED_ACTIVE_CONTENT?: 16;\n  readonly STATE_LOADED_MIXED_ACTIVE_CONTENT?: 32;\n  readonly STATE_BLOCKED_MIXED_DISPLAY_CONTENT?: 256;\n  readonly STATE_LOADED_MIXED_DISPLAY_CONTENT?: 512;\n  readonly STATE_IDENTITY_EV_TOPLEVEL?: 1048576;\n  readonly STATE_IDENTITY_ASSOCIATED?: 2097152;\n  readonly STATE_USES_SSL_3?: 16777216;\n  readonly STATE_USES_WEAK_CRYPTO?: 33554432;\n  readonly STATE_CERT_USER_OVERRIDDEN?: 67108864;\n  readonly STATE_BLOCKED_TRACKING_CONTENT?: 4096;\n  readonly STATE_LOADED_LEVEL_1_TRACKING_CONTENT?: 8192;\n  readonly STATE_LOADED_LEVEL_2_TRACKING_CONTENT?: 1048576;\n  readonly STATE_BLOCKED_FINGERPRINTING_CONTENT?: 64;\n  readonly STATE_LOADED_FINGERPRINTING_CONTENT?: 1024;\n  readonly STATE_REPLACED_FINGERPRINTING_CONTENT?: 134217728;\n  readonly STATE_ALLOWED_FINGERPRINTING_CONTENT?: 512;\n  readonly STATE_BLOCKED_CRYPTOMINING_CONTENT?: 2048;\n  readonly STATE_LOADED_CRYPTOMINING_CONTENT?: 2097152;\n  readonly STATE_BLOCKED_UNSAFE_CONTENT?: 16384;\n  readonly STATE_COOKIES_LOADED?: 32768;\n  readonly STATE_COOKIES_LOADED_TRACKER?: 262144;\n  readonly STATE_COOKIES_LOADED_SOCIALTRACKER?: 524288;\n  readonly STATE_COOKIES_BLOCKED_BY_PERMISSION?: 268435456;\n  readonly STATE_COOKIES_BLOCKED_TRACKER?: 536870912;\n  readonly STATE_COOKIES_BLOCKED_SOCIALTRACKER?: 16777216;\n  readonly STATE_COOKIES_BLOCKED_ALL?: 1073741824;\n  readonly STATE_COOKIES_PARTITIONED_TRACKER?: 2;\n  readonly STATE_COOKIES_PARTITIONED_FOREIGN?: 2147483648;\n  readonly STATE_COOKIES_BLOCKED_FOREIGN?: 128;\n  readonly STATE_BLOCKED_SOCIALTRACKING_CONTENT?: 65536;\n  readonly STATE_LOADED_SOCIALTRACKING_CONTENT?: 131072;\n  readonly STATE_REPLACED_TRACKING_CONTENT?: 16;\n  readonly STATE_ALLOWED_TRACKING_CONTENT?: 32;\n  readonly STATE_BLOCKED_EMAILTRACKING_CONTENT?: 4194304;\n  readonly STATE_LOADED_EMAILTRACKING_LEVEL_1_CONTENT?: 8388608;\n  readonly STATE_LOADED_EMAILTRACKING_LEVEL_2_CONTENT?: 256;\n  readonly STATE_ALLOWED_CANVAS_FINGERPRINTING?: 33554432;\n  readonly STATE_ALLOWED_FONT_FINGERPRINTING?: 67108864;\n  readonly STATE_BLOCKED_SUSPICIOUS_FINGERPRINTING?: 4;\n  readonly STATE_PURGED_BOUNCETRACKER?: 8;\n  readonly STATE_HTTPS_ONLY_MODE_UPGRADED?: 4194304;\n  readonly STATE_HTTPS_ONLY_MODE_UPGRADE_FAILED?: 8388608;\n  readonly STATE_HTTPS_ONLY_MODE_UPGRADED_FIRST?: 134217728;\n  readonly LOCATION_CHANGE_SAME_DOCUMENT?: 1;\n  readonly LOCATION_CHANGE_ERROR_PAGE?: 2;\n  readonly LOCATION_CHANGE_RELOAD?: 4;\n  readonly LOCATION_CHANGE_HASHCHANGE?: 8;\n  readonly LOCATION_CHANGE_SESSION_STORE?: 16;\n\n  onStateChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStateFlags: u32, aStatus: nsresult): void;\n  onProgressChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i32, aMaxSelfProgress: i32, aCurTotalProgress: i32, aMaxTotalProgress: i32): void;\n  onLocationChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aLocation: nsIURI, aFlags?: u32): void;\n  onStatusChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStatus: nsresult, aMessage: string): void;\n  onSecurityChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aState: u32): void;\n  onContentBlockingEvent(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aEvent: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener2.idl\n\ninterface nsIWebProgressListener2 extends nsIWebProgressListener {\n  onProgressChange64(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i64, aMaxSelfProgress: i64, aCurTotalProgress: i64, aMaxTotalProgress: i64): void;\n  onRefreshAttempted(aWebProgress: nsIWebProgress, aRefreshURI: nsIURI, aMillis: u32, aSameURI: boolean): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIChannelClassifierService.idl\n\ninterface nsIUrlClassifierBlockedChannel extends nsISupports {\n  readonly TRACKING_PROTECTION?: 0;\n  readonly SOCIAL_TRACKING_PROTECTION?: 1;\n  readonly FINGERPRINTING_PROTECTION?: 2;\n  readonly CRYPTOMINING_PROTECTION?: 3;\n\n  readonly reason: u8;\n  readonly tables: string;\n  readonly url: string;\n  readonly tabId: u64;\n  readonly channelId: u64;\n  readonly isPrivateBrowsing: boolean;\n  readonly topLevelUrl: string;\n  readonly browserId: u64;\n  replace(): void;\n  allow(): void;\n}\n\ninterface nsIChannelClassifierService extends nsISupports {\n  addListener(aObserver: nsIObserver): void;\n  removeListener(aObserver: nsIObserver): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIURIClassifier.idl\n\ntype nsIURIClassifierCallback = Callable<{\n  onClassifyComplete(aErrorCode: nsresult, aList: string, aProvider: string, aFullHash: string): void;\n}>\n\ninterface nsIURIClassifier extends nsISupports {\n  classify(aPrincipal: nsIPrincipal, aCallback: nsIURIClassifierCallback): boolean;\n  asyncClassifyLocalWithFeatures(aURI: nsIURI, aFeatures: nsIUrlClassifierFeature[], aListType: nsIUrlClassifierFeature.listType, aCallback: nsIUrlClassifierFeatureCallback, aIdlePriority?: boolean): void;\n  asyncClassifyLocalWithFeatureNames(aURI: nsIURI, aFeatures: string[], aListType: nsIUrlClassifierFeature.listType, aCallback: nsIUrlClassifierFeatureCallback): void;\n  getFeatureByName(aFeatureName: string): nsIUrlClassifierFeature;\n  getFeatureNames(): string[];\n  createFeatureWithTables(aName: string, aBlocklistTables: string[], aEntitylistTables: string[]): nsIUrlClassifierFeature;\n  sendThreatHitReport(aChannel: nsIChannel, aProvider: string, aList: string, aFullHash: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierExceptionList.idl\n\ninterface nsIUrlClassifierExceptionList extends nsISupports {\n  init(aFeature: string): void;\n  addEntry(aEntry: nsIUrlClassifierExceptionListEntry): void;\n  matches(aURI: nsIURI, aTopLevelURI: nsIURI, aIsPrivateBrowsing: boolean): boolean;\n  testGetEntries(): nsIUrlClassifierExceptionListEntry[];\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierExceptionListEntry.idl\n\n}  // global\n\ndeclare enum nsIUrlClassifierExceptionListEntry_Category {\n  CATEGORY_INTERNAL_PREF = 0,\n  CATEGORY_BASELINE = 1,\n  CATEGORY_CONVENIENCE = 2,\n}\n\ndeclare global {\n\nnamespace nsIUrlClassifierExceptionListEntry {\n  type Category = nsIUrlClassifierExceptionListEntry_Category;\n}\n\ninterface nsIUrlClassifierExceptionListEntry extends nsISupports, Enums<typeof nsIUrlClassifierExceptionListEntry_Category> {\n  init(aCategory: nsIUrlClassifierExceptionListEntry.Category, aUrlPattern: string, aTopLevelUrlPattern: string, aIsPrivateBrowsingOnly: boolean, aFilterContentBlockingCategories: string[], aClassifierFeatures: string[]): void;\n  matches(aURI: nsIURI, aTopLevelURI: nsIURI, aIsPrivateBrowsing: boolean): boolean;\n  readonly category: nsIUrlClassifierExceptionListEntry.Category;\n  readonly urlPattern: string;\n  readonly topLevelUrlPattern: string;\n  readonly isPrivateBrowsingOnly: boolean;\n  readonly filterContentBlockingCategories: string[];\n  readonly classifierFeatures: string[];\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierExceptionListService.idl\n\ntype nsIUrlClassifierExceptionListObserver = Callable<{\n  onExceptionListUpdate(aList: nsIUrlClassifierExceptionList): void;\n}>\n\ninterface nsIUrlClassifierExceptionListService extends nsISupports {\n  registerAndRunExceptionListObserver(aFeature: string, aPrefName: string, aObserver: nsIUrlClassifierExceptionListObserver): void;\n  unregisterExceptionListObserver(aFeature: string, aObserver: nsIUrlClassifierExceptionListObserver): void;\n  clear(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierFeature.idl\n\n}  // global\n\ndeclare enum nsIUrlClassifierFeature_listType {\n  blocklist = 0,\n  entitylist = 1,\n}\n\ndeclare enum nsIUrlClassifierFeature_URIType {\n  blocklistURI = 0,\n  entitylistURI = 1,\n  pairwiseEntitylistURI = 2,\n}\n\ndeclare global {\n\nnamespace nsIUrlClassifierFeature {\n  type listType = nsIUrlClassifierFeature_listType;\n  type URIType = nsIUrlClassifierFeature_URIType;\n}\n\ninterface nsIUrlClassifierFeature extends nsISupports, Enums<typeof nsIUrlClassifierFeature_listType & typeof nsIUrlClassifierFeature_URIType> {\n  readonly name: string;\n  readonly exceptionList: nsIUrlClassifierExceptionList;\n}\n\ninterface nsIUrlClassifierFeatureResult extends nsISupports {\n  readonly uri: nsIURI;\n  readonly feature: nsIUrlClassifierFeature;\n  readonly list: string;\n}\n\ntype nsIUrlClassifierFeatureCallback = Callable<{\n  onClassifyComplete(aResults: nsIUrlClassifierFeatureResult[]): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/IUrlClassifierUITelemetry.idl\n\ninterface IUrlClassifierUITelemetry extends nsISupports {\n  readonly WARNING_MALWARE_PAGE_TOP?: 1;\n  readonly WARNING_MALWARE_PAGE_TOP_WHY_BLOCKED?: 2;\n  readonly WARNING_MALWARE_PAGE_TOP_GET_ME_OUT_OF_HERE?: 3;\n  readonly WARNING_MALWARE_PAGE_TOP_IGNORE_WARNING?: 4;\n  readonly WARNING_MALWARE_PAGE_FRAME?: 5;\n  readonly WARNING_MALWARE_PAGE_FRAME_WHY_BLOCKED?: 6;\n  readonly WARNING_MALWARE_PAGE_FRAME_GET_ME_OUT_OF_HERE?: 7;\n  readonly WARNING_MALWARE_PAGE_FRAME_IGNORE_WARNING?: 8;\n  readonly WARNING_PHISHING_PAGE_TOP?: 9;\n  readonly WARNING_PHISHING_PAGE_TOP_WHY_BLOCKED?: 10;\n  readonly WARNING_PHISHING_PAGE_TOP_GET_ME_OUT_OF_HERE?: 11;\n  readonly WARNING_PHISHING_PAGE_TOP_IGNORE_WARNING?: 12;\n  readonly WARNING_PHISHING_PAGE_FRAME?: 13;\n  readonly WARNING_PHISHING_PAGE_FRAME_WHY_BLOCKED?: 14;\n  readonly WARNING_PHISHING_PAGE_FRAME_GET_ME_OUT_OF_HERE?: 15;\n  readonly WARNING_PHISHING_PAGE_FRAME_IGNORE_WARNING?: 16;\n  readonly WARNING_UNWANTED_PAGE_TOP?: 17;\n  readonly WARNING_UNWANTED_PAGE_TOP_WHY_BLOCKED?: 18;\n  readonly WARNING_UNWANTED_PAGE_TOP_GET_ME_OUT_OF_HERE?: 19;\n  readonly WARNING_UNWANTED_PAGE_TOP_IGNORE_WARNING?: 20;\n  readonly WARNING_UNWANTED_PAGE_FRAME?: 21;\n  readonly WARNING_UNWANTED_PAGE_FRAME_WHY_BLOCKED?: 22;\n  readonly WARNING_UNWANTED_PAGE_FRAME_GET_ME_OUT_OF_HERE?: 23;\n  readonly WARNING_UNWANTED_PAGE_FRAME_IGNORE_WARNING?: 24;\n  readonly WARNING_HARMFUL_PAGE_TOP?: 25;\n  readonly WARNING_HARMFUL_PAGE_TOP_WHY_BLOCKED?: 26;\n  readonly WARNING_HARMFUL_PAGE_TOP_GET_ME_OUT_OF_HERE?: 27;\n  readonly WARNING_HARMFUL_PAGE_TOP_IGNORE_WARNING?: 28;\n  readonly WARNING_HARMFUL_PAGE_FRAME?: 29;\n  readonly WARNING_HARMFUL_PAGE_FRAME_WHY_BLOCKED?: 30;\n  readonly WARNING_HARMFUL_PAGE_FRAME_GET_ME_OUT_OF_HERE?: 31;\n  readonly WARNING_HARMFUL_PAGE_FRAME_IGNORE_WARNING?: 32;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierDBService.idl\n\ntype nsIUrlClassifierCallback = Callable<{\n  handleEvent(value: string): void;\n}>\n\ninterface nsIUrlClassifierUpdateObserver extends nsISupports {\n  updateUrlRequested(url: string, table: string): void;\n  streamFinished(status: nsresult, delay: u32): void;\n  updateError(error: nsresult): void;\n  updateSuccess(requestedTimeout: u32): void;\n}\n\ninterface nsIUrlClassifierDBService extends nsISupports {\n  lookup(principal: nsIPrincipal, tables: string, c: nsIUrlClassifierCallback): void;\n  getTables(c: nsIUrlClassifierCallback): void;\n  setHashCompleter(tableName: string, completer: nsIUrlClassifierHashCompleter): void;\n  clearLastResults(): void;\n  beginUpdate(updater: nsIUrlClassifierUpdateObserver, tables: string): void;\n  beginStream(table: string): void;\n  updateStream(updateChunk: string): void;\n  finishStream(): void;\n  finishUpdate(): void;\n  cancelUpdate(): void;\n  resetDatabase(): void;\n  reloadDatabase(): void;\n  clearCache(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierHashCompleter.idl\n\ninterface nsIFullHashMatch extends nsISupports {\n  readonly tableName: string;\n  readonly fullHash: string;\n  readonly cacheDuration: u32;\n}\n\ninterface nsIUrlClassifierHashCompleterCallback extends nsISupports {\n  completionV2(hash: string, table: string, chunkId: u32): void;\n  completionV4(partialHash: string, table: string, negativeCacheDuration: u32, fullHashes: nsIArray): void;\n  completionFinished(status: nsresult): void;\n}\n\ninterface nsIUrlClassifierHashCompleter extends nsISupports {\n  complete(partialHash: string, gethashUrl: string, tableName: string, callback: nsIUrlClassifierHashCompleterCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierInfo.idl\n\ninterface nsIUrlClassifierPositiveCacheEntry extends nsISupports {\n  readonly fullhash: string;\n  readonly expiry: i64;\n}\n\ninterface nsIUrlClassifierCacheEntry extends nsISupports {\n  readonly prefix: string;\n  readonly expiry: i64;\n  readonly matches: nsIArray;\n}\n\ninterface nsIUrlClassifierCacheInfo extends nsISupports {\n  readonly table: string;\n  readonly entries: nsIArray;\n}\n\ntype nsIUrlClassifierGetCacheCallback = Callable<{\n  onGetCacheComplete(info: nsIUrlClassifierCacheInfo): void;\n}>\n\ninterface nsIUrlClassifierInfo extends nsISupports {\n  getCacheInfo(table: string, callback: nsIUrlClassifierGetCacheCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierPrefixSet.idl\n\ninterface nsIUrlClassifierPrefixSet extends nsISupports {\n  init(aName: string): void;\n  setPrefixes(aPrefixes: u32[], aLength: u32): void;\n  getPrefixes(aCount: OutParam<u32>): u32[];\n  contains(aPrefix: u32): boolean;\n  isEmpty(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierRemoteSettingsService.idl\n\ninterface nsIUrlClassifierRemoteSettingsService extends nsISupports {\n  fetchList(aPayload: string, aListener: nsIStreamListener): void;\n  clear(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierStreamUpdater.idl\n\ninterface nsIUrlClassifierStreamUpdater extends nsISupports {\n  downloadUpdates(aRequestTables: string, aRequestPayload: string, aIsPostRequest: boolean, aUpdateUrl: string, aSuccessCallback: nsIUrlClassifierCallback, aUpdateErrorCallback: nsIUrlClassifierCallback, aDownloadErrorCallback: nsIUrlClassifierCallback): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierUtils.idl\n\ninterface nsIUrlClassifierParseFindFullHashCallback extends nsISupports {\n  onCompleteHashFound(aCompleteHash: string, aTableNames: string, aPerHashCacheDuration: u32): void;\n  onResponseParsed(aMinWaitDuration: u32, aNegCacheDuration: u32): void;\n}\n\ninterface nsIUrlClassifierUtils extends nsISupports {\n  getKeyForURI(uri: nsIURI): string;\n  getProvider(tableName: string): string;\n  getTelemetryProvider(tableName: string): string;\n  getProtocolVersion(provider: string): string;\n  convertThreatTypeToListNames(threatType: u32): string;\n  convertListNameToThreatType(listName: string): u32;\n  makeUpdateRequestV4(aListNames: string[], aStatesBase64: string[]): string;\n  makeFindFullHashRequestV4(aListNames: string[], aListStatesBase64: string[], aPrefixes: string[]): string;\n  makeThreatHitReport(aChannel: nsIChannel, aListName: string, aHashBase64: string): string;\n  parseFindFullHashResponseV4(aResponse: string, aCallback: nsIUrlClassifierParseFindFullHashCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlListManager.idl\n\ninterface nsIUrlListManager extends nsISupports {\n  getGethashUrl(tableName: string): string;\n  getUpdateUrl(tableName: string): string;\n  registerTable(tableName: string, providerName: string, updateUrl: string, gethashUrl: string): boolean;\n  unregisterTable(tableName: string): void;\n  enableUpdate(tableName: string): void;\n  disableAllUpdates(): void;\n  disableUpdate(tableName: string): void;\n  maybeToggleUpdateChecking(): void;\n  checkForUpdates(updateUrl: string): boolean;\n  forceUpdates(tableNames: string): boolean;\n  getBackOffTime(provider: string): u64;\n  isRegistered(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/urlformatter/nsIURLFormatter.idl\n\ninterface nsIURLFormatter extends nsISupports {\n  formatURL(aFormat: string): string;\n  formatURLPref(aPref: string): string;\n  trimSensitiveURLs(aMsg: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/ipc/glue/test/utility_process_xpcom/nsIUtilityProcessTest.idl\n\ninterface nsIUtilityProcessTest extends nsISupports {\n  startProcess(actorsToAdd?: string[]): Promise<any>;\n  untilChildProcessDead(pid: u32): Promise<any>;\n  noteIntentionalCrash(pid: u32): void;\n  stopProcess(utilityActorName?: string): void;\n  testTelemetryProbes(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowser.idl\n\ninterface nsIWebBrowser extends nsISupports {\n  containerWindow: nsIWebBrowserChrome;\n  readonly contentDOMWindow: mozIDOMWindowProxy;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserChrome.idl\n\ninterface nsIWebBrowserChrome extends nsISupports {\n  readonly CHROME_DEFAULT?: 1;\n  readonly CHROME_WINDOW_BORDERS?: 2;\n  readonly CHROME_WINDOW_CLOSE?: 4;\n  readonly CHROME_WINDOW_RESIZE?: 8;\n  readonly CHROME_MENUBAR?: 16;\n  readonly CHROME_TOOLBAR?: 32;\n  readonly CHROME_LOCATIONBAR?: 64;\n  readonly CHROME_STATUSBAR?: 128;\n  readonly CHROME_PERSONAL_TOOLBAR?: 256;\n  readonly CHROME_SCROLLBARS?: 512;\n  readonly CHROME_TITLEBAR?: 1024;\n  readonly CHROME_EXTRA?: 2048;\n  readonly CHROME_ALL?: 4094;\n  readonly CHROME_WINDOW_MINIMIZE?: 16384;\n  readonly CHROME_ALERT?: 32768;\n  readonly CHROME_PRIVATE_WINDOW?: 65536;\n  readonly CHROME_NON_PRIVATE_WINDOW?: 131072;\n  readonly CHROME_PRIVATE_LIFETIME?: 262144;\n  readonly CHROME_ALWAYS_ON_TOP?: 524288;\n  readonly CHROME_REMOTE_WINDOW?: 1048576;\n  readonly CHROME_FISSION_WINDOW?: 2097152;\n  readonly CHROME_SUPPRESS_ANIMATION?: 16777216;\n  readonly CHROME_CENTER_SCREEN?: 134217728;\n  readonly CHROME_DEPENDENT?: 268435456;\n  readonly CHROME_MODAL?: 536870912;\n  readonly CHROME_OPENAS_DIALOG?: 1073741824;\n  readonly CHROME_OPENAS_CHROME?: 2147483648;\n  readonly CHROME_MINIMAL_POPUP?: 18126;\n\n  setLinkStatus(status: string): void;\n  chromeFlags: u32;\n  showAsModal(): void;\n  isWindowModal(): boolean;\n  blur(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserPrint.idl\n\ninterface nsIWebBrowserPrint extends nsISupports {\n  readonly PRINTPREVIEW_GOTO_PAGENUM?: 0;\n  readonly PRINTPREVIEW_PREV_PAGE?: 1;\n  readonly PRINTPREVIEW_NEXT_PAGE?: 2;\n  readonly PRINTPREVIEW_HOME?: 3;\n  readonly PRINTPREVIEW_END?: 4;\n\n  readonly doingPrint: boolean;\n  readonly doingPrintPreview: boolean;\n  readonly rawNumPages: i32;\n  readonly printPreviewNumPages: i32;\n  readonly printPreviewCurrentPageNumber: i32;\n  closeWindowAfterPrint: boolean;\n  printPreviewScrollToPage(aNavType: i16, aPageNum: i32): void;\n  exitPrintPreview(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersist.idl\n\ninterface nsIWebBrowserPersist extends nsICancelable {\n  readonly PERSIST_FLAGS_NONE?: 0;\n  readonly PERSIST_FLAGS_FROM_CACHE?: 1;\n  readonly PERSIST_FLAGS_BYPASS_CACHE?: 2;\n  readonly PERSIST_FLAGS_IGNORE_REDIRECTED_DATA?: 4;\n  readonly PERSIST_FLAGS_IGNORE_IFRAMES?: 8;\n  readonly PERSIST_FLAGS_NO_CONVERSION?: 16;\n  readonly PERSIST_FLAGS_REPLACE_EXISTING_FILES?: 32;\n  readonly PERSIST_FLAGS_NO_BASE_TAG_MODIFICATIONS?: 64;\n  readonly PERSIST_FLAGS_FIXUP_ORIGINAL_DOM?: 128;\n  readonly PERSIST_FLAGS_FIXUP_LINKS_TO_DESTINATION?: 256;\n  readonly PERSIST_FLAGS_DONT_FIXUP_LINKS?: 512;\n  readonly PERSIST_FLAGS_SERIALIZE_OUTPUT?: 1024;\n  readonly PERSIST_FLAGS_DONT_CHANGE_FILENAMES?: 2048;\n  readonly PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS?: 4096;\n  readonly PERSIST_FLAGS_CLEANUP_ON_FAILURE?: 8192;\n  readonly PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION?: 16384;\n  readonly PERSIST_FLAGS_APPEND_TO_FILE?: 32768;\n  readonly PERSIST_FLAGS_DISABLE_HTTPS_ONLY?: 65536;\n  readonly PERSIST_STATE_READY?: 1;\n  readonly PERSIST_STATE_SAVING?: 2;\n  readonly PERSIST_STATE_FINISHED?: 3;\n  readonly ENCODE_FLAGS_SELECTION_ONLY?: 1;\n  readonly ENCODE_FLAGS_FORMATTED?: 2;\n  readonly ENCODE_FLAGS_RAW?: 4;\n  readonly ENCODE_FLAGS_BODY_ONLY?: 8;\n  readonly ENCODE_FLAGS_PREFORMATTED?: 16;\n  readonly ENCODE_FLAGS_WRAP?: 32;\n  readonly ENCODE_FLAGS_FORMAT_FLOWED?: 64;\n  readonly ENCODE_FLAGS_ABSOLUTE_LINKS?: 128;\n  readonly ENCODE_FLAGS_CR_LINEBREAKS?: 512;\n  readonly ENCODE_FLAGS_LF_LINEBREAKS?: 1024;\n  readonly ENCODE_FLAGS_NOSCRIPT_CONTENT?: 2048;\n  readonly ENCODE_FLAGS_NOFRAMES_CONTENT?: 4096;\n  readonly ENCODE_FLAGS_ENCODE_BASIC_ENTITIES?: 8192;\n\n  persistFlags: u32;\n  readonly currentState: u32;\n  readonly result: nsresult;\n  progressListener: nsIWebProgressListener;\n  saveURI(aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aCacheKey: u32, aReferrerInfo: nsIReferrerInfo, aCookieJarSettings: nsICookieJarSettings, aPostData: nsIInputStream, aExtraHeaders: string, aFile: nsISupports, aContentPolicyType: nsContentPolicyType, aIsPrivate: boolean): void;\n  saveChannel(aChannel: nsIChannel, aFile: nsISupports): void;\n  saveDocument(aDocument: nsISupports, aFile: nsISupports, aDataPath: nsISupports, aOutputContentType: string, aEncodingFlags: u32, aWrapColumn: u32): void;\n  cancelSave(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl\n\ninterface nsIWebBrowserPersistURIMap extends nsISupports {\n  readonly numMappedURIs: u32;\n  getURIMapping(aIndex: u32, aMapFrom: OutParam<string>, aMapTo: OutParam<string>): void;\n  readonly targetBaseURI: string;\n}\n\ninterface nsIWebBrowserPersistDocument extends nsISupports {\n  readonly isClosed: boolean;\n  readonly isPrivate: boolean;\n  readonly documentURI: string;\n  readonly baseURI: string;\n  readonly contentType: string;\n  readonly characterSet: string;\n  readonly title: string;\n  readonly referrerInfo: nsIReferrerInfo;\n  readonly cookieJarSettings: nsICookieJarSettings;\n  readonly contentDisposition: string;\n  readonly postData: nsIInputStream;\n  readonly principal: nsIPrincipal;\n  readonly cacheKey: u32;\n  persistFlags: u32;\n  readResources(aVisitor: nsIWebBrowserPersistResourceVisitor): void;\n  writeContent(aStream: nsIOutputStream, aURIMap: nsIWebBrowserPersistURIMap, aRequestedContentType: string, aEncoderFlags: u32, aWrapColumn: u32, aCompletion: nsIWebBrowserPersistWriteCompletion): void;\n}\n\ninterface nsIWebBrowserPersistResourceVisitor extends nsISupports {\n  visitResource(aDocument: nsIWebBrowserPersistDocument, aURI: string, aContentPolicyType: nsContentPolicyType): void;\n  visitDocument(aDocument: nsIWebBrowserPersistDocument, aSubDocument: nsIWebBrowserPersistDocument): void;\n  visitBrowsingContext(aDocument: nsIWebBrowserPersistDocument, aContext: BrowsingContext): void;\n  endVisit(aDocument: nsIWebBrowserPersistDocument, aStatus: nsresult): void;\n}\n\ntype nsIWebBrowserPersistWriteCompletion = Callable<{\n  onFinish(aDocument: nsIWebBrowserPersistDocument, aStream: nsIOutputStream, aContentType: string, aStatus: nsresult): void;\n}>\n\ninterface nsIWebBrowserPersistDocumentReceiver extends nsISupports {\n  onDocumentReady(aDocument: nsIWebBrowserPersistDocument): void;\n  onError(aFailure: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/extensions/extIWebNavigation.idl\n\ninterface extIWebNavigation extends nsISupports {\n  onDocumentChange(bc: BrowsingContext, transitionData: any, location: nsIURI): void;\n  onHistoryChange(bc: BrowsingContext, transitionData: any, location: nsIURI, isHistoryStateUpdated: boolean, isReferenceFragmentUpdated: boolean): void;\n  onStateChange(bc: BrowsingContext, requestURI: nsIURI, status: nsresult, stateFlags: u32): void;\n  onCreatedNavigationTarget(bc: BrowsingContext, sourceBC: BrowsingContext, url: string): void;\n  onDOMContentLoaded(bc: BrowsingContext, documentURI: nsIURI): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionAPIRequestHandling.idl\n\ninterface mozIExtensionServiceWorkerInfo extends nsISupports {\n  readonly principal: nsIPrincipal;\n  readonly scriptURL: string;\n  readonly clientInfoId: string;\n  readonly descriptorId: u64;\n}\n\n}  // global\n\ndeclare enum mozIExtensionListenerCallOptions_APIObjectType {\n  NONE = 0,\n  RUNTIME_PORT = 1,\n}\n\ndeclare enum mozIExtensionListenerCallOptions_CallbackType {\n  CALLBACK_NONE = 0,\n  CALLBACK_SEND_RESPONSE = 1,\n}\n\ndeclare global {\n\nnamespace mozIExtensionListenerCallOptions {\n  type APIObjectType = mozIExtensionListenerCallOptions_APIObjectType;\n  type CallbackType = mozIExtensionListenerCallOptions_CallbackType;\n}\n\ninterface mozIExtensionListenerCallOptions extends nsISupports, Enums<typeof mozIExtensionListenerCallOptions_APIObjectType & typeof mozIExtensionListenerCallOptions_CallbackType> {\n  readonly apiObjectType: mozIExtensionListenerCallOptions.APIObjectType;\n  readonly apiObjectDescriptor: any;\n  readonly apiObjectPrepended: boolean;\n  callbackType: mozIExtensionListenerCallOptions.CallbackType;\n}\n\ninterface mozIExtensionEventListener extends nsISupports {\n  callListener(args: any[], listenerCallOptions?: mozIExtensionListenerCallOptions): Promise<any>;\n}\n\n}  // global\n\ndeclare enum mozIExtensionAPIRequest_RequestType {\n  CALL_FUNCTION = 0,\n  CALL_FUNCTION_NO_RETURN = 1,\n  CALL_FUNCTION_ASYNC = 2,\n  ADD_LISTENER = 3,\n  REMOVE_LISTENER = 4,\n  GET_PROPERTY = 5,\n}\n\ndeclare global {\n\nnamespace mozIExtensionAPIRequest {\n  type RequestType = mozIExtensionAPIRequest_RequestType;\n}\n\ninterface mozIExtensionAPIRequest extends nsISupports, Enums<typeof mozIExtensionAPIRequest_RequestType> {\n  toString(): string;\n  readonly requestType: string;\n  readonly apiNamespace: string;\n  readonly apiName: string;\n  readonly apiObjectType: string;\n  readonly apiObjectId: string;\n  readonly args: any;\n  normalizedArgs: any;\n  readonly callerSavedFrame: any;\n  readonly serviceWorkerInfo: mozIExtensionServiceWorkerInfo;\n  readonly eventListener: mozIExtensionEventListener;\n}\n\n}  // global\n\ndeclare enum mozIExtensionAPIRequestResult_ResultType {\n  RETURN_VALUE = 0,\n  EXTENSION_ERROR = 1,\n}\n\ndeclare global {\n\nnamespace mozIExtensionAPIRequestResult {\n  type ResultType = mozIExtensionAPIRequestResult_ResultType;\n}\n\ninterface mozIExtensionAPIRequestResult extends nsISupports, Enums<typeof mozIExtensionAPIRequestResult_ResultType> {\n  readonly type: mozIExtensionAPIRequestResult.ResultType;\n  readonly value: any;\n}\n\ninterface mozIExtensionAPIRequestHandler extends nsISupports {\n  handleAPIRequest(extension: nsISupports, apiRequest: mozIExtensionAPIRequest): mozIExtensionAPIRequestResult;\n  initExtensionWorker(extension: nsISupports, serviceWorkerInfo: mozIExtensionServiceWorkerInfo): void;\n  onExtensionWorkerLoaded(extension: nsISupports, serviceWorkerDescriptorId: u64): void;\n  onExtensionWorkerDestroyed(extension: nsISupports, serviceWorkerDescriptorId: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionProcessScript.idl\n\ninterface mozIExtensionProcessScript extends nsISupports {\n  preloadContentScript(contentScript: nsISupports): void;\n  loadContentScript(contentScript: WebExtensionContentScript, window: mozIDOMWindow): Promise<any>;\n  initExtensionDocument(extension: nsISupports, doc: Document, privileged: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/extensions/nsINativeMessagingPortal.idl\n\ninterface nsINativeMessagingPortal extends nsISupports {\n  shouldUse(): boolean;\n  readonly available: Promise<any>;\n  createSession(aApplication: string): Promise<any>;\n  closeSession(aHandle: string): Promise<any>;\n  getManifest(aHandle: string, aName: string, aExtension: string): Promise<any>;\n  start(aHandle: string, aName: string, aExtension: string): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTListener.idl\n\ninterface nsIWebVTTListener extends nsISupports {\n  onCue(cue: any): void;\n  onRegion(region: any): void;\n  onParsingError(errorCode: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTParserWrapper.idl\n\ninterface nsIWebVTTParserWrapper extends nsISupports {\n  loadParser(window: mozIDOMWindow): void;\n  parse(data: string): void;\n  flush(): void;\n  watch(callback: nsIWebVTTListener): void;\n  cancel(): void;\n  convertCueToDOMTree(window: mozIDOMWindow, cue: nsISupports): DocumentFragment;\n  processCues(window: mozIDOMWindow, cues: nsIVariant, overlay: nsISupports, controls: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIAppShell.idl\n\n// https://searchfox.org/mozilla-central/source/widget/nsIBaseWindow.idl\n\ninterface nsIBaseWindow extends nsISupports {\n  readonly eRepaint?: 1;\n  readonly eDelayResize?: 2;\n\n  destroy(): void;\n  setPosition(x: i32, y: i32): void;\n  setPositionDesktopPix(x: i32, y: i32): void;\n  getPosition(x: OutParam<i32>, y: OutParam<i32>): void;\n  setSize(cx: i32, cy: i32, fRepaint: boolean): void;\n  getSize(cx: OutParam<i32>, cy: OutParam<i32>): void;\n  setPositionAndSize(x: i32, y: i32, cx: i32, cy: i32, flags: u32): void;\n  getPositionAndSize(x: OutParam<i32>, y: OutParam<i32>, cx: OutParam<i32>, cy: OutParam<i32>): void;\n  repaint(force: boolean): void;\n  readonly nativeHandle: string;\n  visibility: boolean;\n  enabled: boolean;\n  readonly devicePixelsPerDesktopPixel: double;\n  title: string;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIBidiKeyboard.idl\n\ninterface nsIBidiKeyboard extends nsISupports {\n  reset(): void;\n  isLangRTL(): boolean;\n  readonly haveBidiKeyboards: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIClipboard.idl\n\ninterface nsIAsyncSetClipboardData extends nsISupports {\n  setData(aTransferable: nsITransferable, aOwner?: nsIClipboardOwner): void;\n  abort(aReason: nsresult): void;\n}\n\ntype nsIAsyncClipboardRequestCallback = Callable<{\n  onComplete(aResult: nsresult): void;\n}>\n\ninterface nsIClipboardDataSnapshot extends nsISupports {\n  readonly valid: boolean;\n  readonly flavorList: string[];\n  getData(aTransferable: nsITransferable, aCallback: nsIAsyncClipboardRequestCallback): void;\n  getDataSync(aTransferable: nsITransferable): void;\n}\n\ninterface nsIClipboardGetDataSnapshotCallback extends nsISupports {\n  onSuccess(aClipboardDataSnapshot: nsIClipboardDataSnapshot): void;\n  onError(aResult: nsresult): void;\n}\n\n}  // global\n\ndeclare enum nsIClipboard_ClipboardType {\n  kSelectionClipboard = 0,\n  kGlobalClipboard = 1,\n  kFindClipboard = 2,\n  kSelectionCache = 3,\n}\n\ndeclare global {\n\nnamespace nsIClipboard {\n  type ClipboardType = nsIClipboard_ClipboardType;\n}\n\ninterface nsIClipboard extends nsISupports, Enums<typeof nsIClipboard_ClipboardType> {\n  setData(aTransferable: nsITransferable, anOwner: nsIClipboardOwner, aWhichClipboard: nsIClipboard.ClipboardType, aSettingWindowContext?: WindowContext): void;\n  asyncSetData(aWhichClipboard: nsIClipboard.ClipboardType, aSettingWindowContext?: WindowContext, aCallback?: nsIAsyncClipboardRequestCallback): nsIAsyncSetClipboardData;\n  getData(aTransferable: nsITransferable, aWhichClipboard: nsIClipboard.ClipboardType, aRequestingWindowContext?: WindowContext): void;\n  getDataSnapshot(aFlavorList: string[], aWhichClipboard: nsIClipboard.ClipboardType, aRequestingWindowContext: WindowContext, aRequestingPrincipal: nsIPrincipal, aCallback: nsIClipboardGetDataSnapshotCallback): void;\n  getDataSnapshotSync(aFlavorList: string[], aWhichClipboard: nsIClipboard.ClipboardType, aRequestingWindowContext?: WindowContext): nsIClipboardDataSnapshot;\n  emptyClipboard(aWhichClipboard: nsIClipboard.ClipboardType): void;\n  hasDataMatchingFlavors(aFlavorList: string[], aWhichClipboard: nsIClipboard.ClipboardType): boolean;\n  isClipboardTypeSupported(aWhichClipboard: nsIClipboard.ClipboardType): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIClipboardHelper.idl\n\n}  // global\n\ndeclare enum nsIClipboardHelper_SensitiveData {\n  NotSensitive = 0,\n  Sensitive = 1,\n}\n\ndeclare global {\n\nnamespace nsIClipboardHelper {\n  type SensitiveData = nsIClipboardHelper_SensitiveData;\n}\n\ninterface nsIClipboardHelper extends nsISupports, Enums<typeof nsIClipboardHelper_SensitiveData> {\n  copyStringToClipboard(aString: string, aClipboardID: nsIClipboard.ClipboardType, aSettingWindowContext?: WindowContext, aSensitive?: nsIClipboardHelper.SensitiveData): void;\n  copyString(aString: string, aSettingWindowContext?: WindowContext, aSensitive?: nsIClipboardHelper.SensitiveData): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIClipboardOwner.idl\n\ninterface nsIClipboardOwner extends nsISupports {\n  LosingOwnership(aTransferable: nsITransferable): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIColorPicker.idl\n\ninterface nsIColorPickerShownCallback extends nsISupports {\n  update(color: string): void;\n  done(color: string): void;\n}\n\ninterface nsIColorPicker extends nsISupports {\n  init(browsingContext: BrowsingContext, title: string, initialColor: string, defaultColors: string[]): void;\n  open(aColorPickerShownCallback: nsIColorPickerShownCallback): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIDisplayInfo.idl\n\ninterface nsIDisplayInfo extends nsISupports {\n  readonly id: i32;\n  readonly connected: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIDragService.idl\n\ninterface nsIDragService extends nsISupports {\n  readonly DRAGDROP_ACTION_NONE?: 0;\n  readonly DRAGDROP_ACTION_COPY?: 1;\n  readonly DRAGDROP_ACTION_MOVE?: 2;\n  readonly DRAGDROP_ACTION_LINK?: 4;\n  readonly DRAGDROP_ACTION_UNINITIALIZED?: 64;\n\n  getCurrentSession(aWidgetProvider?: nsISupports): nsIDragSession;\n  startDragSessionForTests(aWidgetProvider: nsISupports, aAllowedEffect: u32): void;\n  suppress(): void;\n  unsuppress(): void;\n  getMockDragController(): nsIMockDragServiceController;\n  readonly isMockService: boolean;\n  neverAllowSessionIsSynthesizedForTests: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIDragSession.idl\n\ninterface nsIDragSession extends nsISupports {\n  canDrop: boolean;\n  onlyChromeDrop: boolean;\n  dragAction: u32;\n  readonly numDropItems: u32;\n  sourceWindowContext: WindowContext;\n  sourceTopWindowContext: WindowContext;\n  readonly sourceNode: Node;\n  triggeringPrincipal: nsIPrincipal;\n  csp: nsIContentSecurityPolicy;\n  dataTransfer: DataTransfer;\n  getData(aTransferable: nsITransferable, aItemIndex: u32): void;\n  isDataFlavorSupported(aDataFlavor: string): boolean;\n  userCancelled(): void;\n  dragEventDispatchedToChildProcess(): void;\n  updateDragEffect(): void;\n  updateDragImage(aImage: Node, aImageX: i32, aImageY: i32): void;\n  setDragEndPoint(aScreenX: i32, aScreenY: i32): void;\n  setDragEndPointForTests(aScreenX: float, aScreenY: float): void;\n  endDragSession(aDoneDrag: boolean, aKeyModifiers?: u32): void;\n  sendStoreDropTargetAndDelayEndDragSession(aEvent: DragEvent): void;\n  sendDispatchToDropTargetAndResumeEndDragSession(aShouldDrop: boolean, aAllowedFiles: nsIFile[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIFilePicker.idl\n\n}  // global\n\ndeclare enum nsIFilePicker_Mode {\n  modeOpen = 0,\n  modeSave = 1,\n  modeGetFolder = 2,\n  modeOpenMultiple = 3,\n}\n\ndeclare enum nsIFilePicker_ResultCode {\n  returnOK = 0,\n  returnCancel = 1,\n  returnReplace = 2,\n}\n\ndeclare enum nsIFilePicker_CaptureTarget {\n  captureNone = 0,\n  captureDefault = 1,\n  captureUser = 2,\n  captureEnv = 3,\n}\n\ndeclare global {\n\nnamespace nsIFilePicker {\n  type Mode = nsIFilePicker_Mode;\n  type ResultCode = nsIFilePicker_ResultCode;\n  type CaptureTarget = nsIFilePicker_CaptureTarget;\n}\n\ninterface nsIFilePicker extends nsISupports, Enums<typeof nsIFilePicker_Mode & typeof nsIFilePicker_ResultCode & typeof nsIFilePicker_CaptureTarget> {\n  readonly filterAll?: 1;\n  readonly filterHTML?: 2;\n  readonly filterText?: 4;\n  readonly filterImages?: 8;\n  readonly filterXML?: 16;\n  readonly filterXUL?: 32;\n  readonly filterApps?: 64;\n  readonly filterAllowURLs?: 128;\n  readonly filterAudio?: 256;\n  readonly filterVideo?: 512;\n  readonly filterPDF?: 1024;\n\n  init(browsingContext: BrowsingContext, title: string, mode: nsIFilePicker.Mode): void;\n  isModeSupported(mode: nsIFilePicker.Mode): Promise<any>;\n  appendFilters(filterMask: i32): void;\n  appendFilter(title: string, filter: string): void;\n  appendRawFilter(filter: string): void;\n  defaultString: string;\n  defaultExtension: string;\n  filterIndex: i32;\n  displayDirectory: nsIFile;\n  displaySpecialDirectory: string;\n  readonly file: nsIFile;\n  readonly fileURL: nsIURI;\n  readonly files: nsISimpleEnumerator;\n  readonly domFileOrDirectory: nsISupports;\n  readonly domFileOrDirectoryEnumerator: nsISimpleEnumerator;\n  addToRecentDocs: boolean;\n  open(aFilePickerShownCallback: nsIFilePickerShownCallback): void;\n  readonly mode: nsIFilePicker.Mode;\n  okButtonLabel: string;\n  capture: nsIFilePicker.CaptureTarget;\n  readonly domFilesInWebKitDirectory: nsISimpleEnumerator;\n}\n\ntype nsIFilePickerShownCallback = Callable<{\n  done(aResult: nsIFilePicker.ResultCode): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/widget/nsIFormatConverter.idl\n\ninterface nsIFormatConverter extends nsISupports {\n  getInputDataFlavors(): string[];\n  getOutputDataFlavors(): string[];\n  canConvert(aFromDataFlavor: string, aToDataFlavor: string): boolean;\n  convert(aFromDataFlavor: string, aFromData: nsISupports, aToDataFlavor: string, aToData: OutParam<nsISupports>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIGfxInfo.idl\n\n}  // global\n\ndeclare enum nsIGfxInfo_FontVisibilityDeviceDetermination {\n  Unassigned = 0,\n  Unknown_Platform = 1,\n  Windows_Platform = 2,\n  MacOS_Unknown = 3,\n  Android_Unknown_Release_Version = 4,\n  Android_Unknown_Peloton = 5,\n  Android_Unknown_vbox = 6,\n  Android_Unknown_mitv = 7,\n  Android_Chromebook = 8,\n  Android_Amazon = 9,\n  Android_sub_9 = 10,\n  Android_9_11 = 11,\n  Android_12_plus = 12,\n  Linux_Unknown = 13,\n  Linux_Ubuntu_any = 14,\n  Linux_Ubuntu_20 = 15,\n  Linux_Ubuntu_22 = 16,\n  Linux_Fedora_any = 17,\n  Linux_Fedora_38 = 18,\n  Linux_Fedora_39 = 19,\n  MacOS_13_plus = 20,\n  MacOS_sub_13 = 21,\n}\n\ndeclare global {\n\nnamespace nsIGfxInfo {\n  type FontVisibilityDeviceDetermination = nsIGfxInfo_FontVisibilityDeviceDetermination;\n}\n\ninterface nsIGfxInfo extends nsISupports, Enums<typeof nsIGfxInfo_FontVisibilityDeviceDetermination> {\n  readonly D2DEnabled: boolean;\n  readonly DWriteEnabled: boolean;\n  readonly EmbeddedInFirefoxReality: boolean;\n  readonly AzureCanvasBackend: string;\n  readonly AzureContentBackend: string;\n  readonly usingGPUProcess: boolean;\n  readonly usingRemoteCanvas: boolean;\n  readonly usingAcceleratedCanvas: boolean;\n  readonly hasBattery: boolean;\n  readonly DWriteVersion: string;\n  readonly cleartypeParameters: string;\n  readonly textScaleFactor: float;\n  readonly windowProtocol: string;\n  readonly testType: string;\n  readonly ContentBackend: string;\n  readonly isHeadless: boolean;\n  readonly TargetFrameRate: u32;\n  readonly CodecSupportInfo: string;\n  readonly fontVisibilityDetermination: nsIGfxInfo.FontVisibilityDeviceDetermination;\n  readonly fontVisibilityDeterminationStr: string;\n  readonly adapterDescription: string;\n  readonly adapterDescription2: string;\n  readonly adapterDriver: string;\n  readonly adapterDriver2: string;\n  readonly adapterVendorID: string;\n  readonly adapterVendorID2: string;\n  readonly adapterDeviceID: string;\n  readonly adapterDeviceID2: string;\n  readonly adapterSubsysID: string;\n  readonly adapterSubsysID2: string;\n  readonly adapterRAM: u32;\n  readonly adapterRAM2: u32;\n  readonly adapterDriverVendor: string;\n  readonly adapterDriverVendor2: string;\n  readonly adapterDriverVersion: string;\n  readonly adapterDriverVersion2: string;\n  readonly adapterDriverDate: string;\n  readonly adapterDriverDate2: string;\n  readonly isGPU2Active: boolean;\n  readonly drmRenderDevice: string;\n  getMonitors(): any;\n  getFailures(indices: OutParam<i32[]>): string[];\n  getFeatureStatus(aFeature: i32, aFailureId?: OutParam<string>): i32;\n  getFeatureStatusStr(aFeature: string, aFailureId?: OutParam<string>): string;\n  getFeatureSuggestedDriverVersion(aFeature: i32): string;\n  getFeatureSuggestedDriverVersionStr(aFeature: string): string;\n  getInfo(): any;\n  getFeatureLog(): any;\n  getFeatures(): any;\n  getActiveCrashGuards(): any;\n  controlGPUProcessForXPCShell(aEnable: boolean): boolean;\n  killGPUProcessForTests(): void;\n  crashGPUProcessForTests(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIGfxInfoDebug.idl\n\ninterface nsIGfxInfoDebug extends nsISupports {\n  spoofVendorID(aVendorID: string): void;\n  spoofDeviceID(aDeviceID: string): void;\n  spoofDriverVersion(aDriverVersion: string): void;\n  spoofOSVersion(aVersion: u32): void;\n  spoofOSVersionEx(aMajor: u32, aMinor: u32, aBuild: u32, aRevision: u32): void;\n  spoofMonitorInfo(aScreenCount: u32, aMinRefreshRate: i32, aMaxRefreshRate: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIMockDragServiceController.idl\n\n}  // global\n\ndeclare enum nsIMockDragServiceController_EventType {\n  eDragEnter = 0,\n  eDragOver = 1,\n  eDragExit = 2,\n  eDrop = 3,\n  eMouseDown = 4,\n  eMouseMove = 5,\n  eMouseUp = 6,\n}\n\ndeclare global {\n\nnamespace nsIMockDragServiceController {\n  type EventType = nsIMockDragServiceController_EventType;\n}\n\ninterface nsIMockDragServiceController extends nsISupports, Enums<typeof nsIMockDragServiceController_EventType> {\n  readonly mockDragService: nsIDragService;\n  sendEvent(aBC: BrowsingContext, aEventType: nsIMockDragServiceController.EventType, aScreenX: i32, aScreenY: i32, aKeyModifiers?: u32): void;\n  cancelDrag(aKeyModifiers?: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPaper.idl\n\ninterface nsIPaper extends nsISupports {\n  readonly id: string;\n  readonly name: string;\n  readonly width: double;\n  readonly height: double;\n  readonly unwriteableMargin: Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPaperMargin.idl\n\ninterface nsIPaperMargin extends nsISupports {\n  readonly top: double;\n  readonly right: double;\n  readonly bottom: double;\n  readonly left: double;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrintDialogService.idl\n\ninterface nsIPrintDialogService extends nsISupports {\n  init(): void;\n  showPrintDialog(aParent: mozIDOMWindowProxy, aHaveSelection: boolean, aPrintSettings: nsIPrintSettings): void;\n  showPageSetupDialog(aParent: mozIDOMWindowProxy, aPrintSettings: nsIPrintSettings): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrintSettings.idl\n\n}  // global\n\ndeclare enum nsIPrintSettings_OutputDestinationType {\n  kOutputDestinationPrinter = 0,\n  kOutputDestinationFile = 1,\n  kOutputDestinationStream = 2,\n}\n\ndeclare global {\n\nnamespace nsIPrintSettings {\n  type OutputDestinationType = nsIPrintSettings_OutputDestinationType;\n}\n\ninterface nsIPrintSettings extends nsISupports, Enums<typeof nsIPrintSettings_OutputDestinationType> {\n  readonly kInitSaveHeaderLeft?: 2;\n  readonly kInitSaveHeaderCenter?: 4;\n  readonly kInitSaveHeaderRight?: 8;\n  readonly kInitSaveFooterLeft?: 16;\n  readonly kInitSaveFooterCenter?: 32;\n  readonly kInitSaveFooterRight?: 64;\n  readonly kInitSaveBGColors?: 128;\n  readonly kInitSaveBGImages?: 256;\n  readonly kInitSavePaperSize?: 512;\n  readonly kInitSaveDuplex?: 2048;\n  readonly kInitSaveUnwriteableMargins?: 16384;\n  readonly kInitSaveEdges?: 32768;\n  readonly kInitSaveReversed?: 65536;\n  readonly kInitSaveInColor?: 131072;\n  readonly kInitSaveOrientation?: 262144;\n  readonly kInitSavePrinterName?: 1048576;\n  readonly kInitSavePrintToFile?: 2097152;\n  readonly kInitSaveToFileName?: 4194304;\n  readonly kInitSavePageDelay?: 8388608;\n  readonly kInitSaveMargins?: 16777216;\n  readonly kInitSaveShrinkToFit?: 134217728;\n  readonly kInitSaveScaling?: 268435456;\n  readonly kInitSaveAll?: 4294967295;\n  readonly kGlobalSettings?: 134447614;\n  readonly kPrintDialogPersistSettings?: 428313598;\n  readonly kJustLeft?: 0;\n  readonly kJustCenter?: 1;\n  readonly kJustRight?: 2;\n  readonly kPaperSizeInches?: 0;\n  readonly kPaperSizeMillimeters?: 1;\n  readonly kPortraitOrientation?: 0;\n  readonly kLandscapeOrientation?: 1;\n  readonly kOutputFormatNative?: 0;\n  readonly kOutputFormatPDF?: 2;\n  readonly kDuplexNone?: 0;\n  readonly kDuplexFlipOnLongEdge?: 1;\n  readonly kDuplexFlipOnShortEdge?: 2;\n\n  GetEffectivePageSize(aWidth: OutParam<double>, aHeight: OutParam<double>): void;\n  clone(): nsIPrintSettings;\n  assign(aPS: nsIPrintSettings): void;\n  equivalentTo(aPrintSettings: nsIPrintSettings): boolean;\n  edgeTop: double;\n  edgeLeft: double;\n  edgeBottom: double;\n  edgeRight: double;\n  marginTop: double;\n  marginLeft: double;\n  marginBottom: double;\n  marginRight: double;\n  unwriteableMarginTop: double;\n  unwriteableMarginLeft: double;\n  unwriteableMarginBottom: double;\n  unwriteableMarginRight: double;\n  scaling: double;\n  printBGColors: boolean;\n  printBGImages: boolean;\n  honorPageRuleMargins: boolean;\n  usePageRuleSizeAsPaperSize: boolean;\n  ignoreUnwriteableMargins: boolean;\n  showMarginGuides: boolean;\n  printSelectionOnly: boolean;\n  title: string;\n  docURL: string;\n  headerStrLeft: string;\n  headerStrCenter: string;\n  headerStrRight: string;\n  footerStrLeft: string;\n  footerStrCenter: string;\n  footerStrRight: string;\n  printSilent: boolean;\n  shrinkToFit: boolean;\n  paperId: string;\n  paperWidth: double;\n  paperHeight: double;\n  paperSizeUnit: i16;\n  printReversed: boolean;\n  printInColor: boolean;\n  orientation: i32;\n  numCopies: i32;\n  numPagesPerSheet: i32;\n  outputDestination: nsIPrintSettings.OutputDestinationType;\n  outputFormat: i16;\n  printerName: string;\n  toFileName: string;\n  outputStream: nsIOutputStream;\n  printPageDelay: i32;\n  resolution: i32;\n  duplex: i32;\n  isInitializedFromPrinter: boolean;\n  isInitializedFromPrefs: boolean;\n  pageRanges: i32[];\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsService.idl\n\ninterface nsIPrintSettingsService extends nsISupports {\n  createNewPrintSettings(): nsIPrintSettings;\n  readonly lastUsedPrinterName: string;\n  initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;\n  initPrintSettingsFromPrefs(aPrintSettings: nsIPrintSettings, aUsePrinterNamePrefix: boolean, aFlags: u32): void;\n  maybeSavePrintSettingsToPrefs(aPrintSettings: nsIPrintSettings, aFlags: u32): void;\n  maybeSaveLastUsedPrinterNameToPrefs(aPrinterName: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrinter.idl\n\ninterface nsIPrinterInfo extends nsISupports {\n  readonly paperList: nsIPaper[];\n  readonly defaultSettings: nsIPrintSettings;\n}\n\ninterface nsIPrinter extends nsISupports {\n  readonly name: string;\n  readonly systemName: string;\n  readonly printerInfo: Promise<any>;\n  copyFromWithValidation(aSettingsToCopyFrom: nsIPrintSettings): Promise<any>;\n  readonly supportsDuplex: Promise<any>;\n  readonly supportsColor: Promise<any>;\n  readonly supportsMonochrome: Promise<any>;\n  readonly supportsCollation: Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIPrinterList.idl\n\ninterface nsIPrinterList extends nsISupports {\n  initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;\n  readonly systemDefaultPrinterName: string;\n  getPrinterByName(aPrinterName: string): Promise<any>;\n  getPrinterBySystemName(aPrinterName: string): Promise<any>;\n  getNamedOrDefaultPrinter(aPrinterName: string): Promise<any>;\n  readonly printers: Promise<any>;\n  readonly fallbackPaperList: Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIScreen.idl\n\ninterface nsIScreen extends nsISupports {\n  GetRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  GetAvailRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  GetRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  GetAvailRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;\n  readonly pixelDepth: i32;\n  readonly colorDepth: i32;\n  readonly contentsScaleFactor: double;\n  readonly defaultCSSScaleFactor: double;\n  readonly dpi: float;\n  readonly refreshRate: i32;\n  readonly isPseudoDisplay: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIScreenManager.idl\n\ninterface nsIScreenManager extends nsISupports {\n  screenForRect(left: i32, top: i32, width: i32, height: i32): nsIScreen;\n  readonly primaryScreen: nsIScreen;\n  readonly totalScreenPixels: i64;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsISharePicker.idl\n\ninterface nsISharePicker extends nsISupports {\n  init(openerWindow: mozIDOMWindowProxy): void;\n  readonly openerWindow: mozIDOMWindowProxy;\n  share(title: string, text: string, url: nsIURI): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsISound.idl\n\ninterface nsISound extends nsISupports {\n  readonly EVENT_NEW_MAIL_RECEIVED?: 0;\n  readonly EVENT_ALERT_DIALOG_OPEN?: 1;\n  readonly EVENT_CONFIRM_DIALOG_OPEN?: 2;\n  readonly EVENT_PROMPT_DIALOG_OPEN?: 3;\n  readonly EVENT_SELECT_DIALOG_OPEN?: 4;\n  readonly EVENT_MENU_EXECUTE?: 5;\n  readonly EVENT_MENU_POPUP?: 6;\n  readonly EVENT_EDITOR_MAX_LEN?: 7;\n\n  play(aURL: nsIURL): void;\n  beep(): void;\n  init(): void;\n  playEventSound(aEventId: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsISystemStatusBar.idl\n\ninterface nsISystemStatusBar extends nsISupports {\n  addItem(aMenuElement: Element): void;\n  removeItem(aMenuElement: Element): void;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsITransferable.idl\n\ninterface nsIFlavorDataProvider extends nsISupports {\n  getFlavorData(aTransferable: nsITransferable, aFlavor: string, aData: OutParam<nsISupports>): void;\n}\n\ninterface nsITransferable extends nsISupports {\n  init(aContext: nsILoadContext): void;\n  flavorsTransferableCanExport(): string[];\n  getTransferData(aFlavor: string, aData: OutParam<nsISupports>): void;\n  getAnyTransferData(aFlavor: OutParam<string>, aData: OutParam<nsISupports>): void;\n  flavorsTransferableCanImport(): string[];\n  setTransferData(aFlavor: string, aData: nsISupports): void;\n  clearAllData(): void;\n  addDataFlavor(aDataFlavor: string): void;\n  removeDataFlavor(aDataFlavor: string): void;\n  converter: nsIFormatConverter;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIUserIdleService.idl\n\ninterface nsIUserIdleService extends nsISupports {\n  readonly idleTime: u32;\n  addIdleObserver(observer: nsIObserver, time: u32): void;\n  removeIdleObserver(observer: nsIObserver, time: u32): void;\n  disabled: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/widget/nsIUserIdleServiceInternal.idl\n\ninterface nsIUserIdleServiceInternal extends nsIUserIdleService {\n  resetIdleTimeOut(idleDeltaInMS: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowCreator.idl\n\ninterface nsIWindowCreator extends nsISupports {\n  createChromeWindow(parent: nsIWebBrowserChrome, chromeFlags: u32, aOpenWindowInfo: nsIOpenWindowInfo, cancel: OutParam<boolean>): nsIWebBrowserChrome;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowProvider.idl\n\ninterface nsIWindowProvider extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIDialogParamBlock.idl\n\ninterface nsIDialogParamBlock extends nsISupports {\n  GetInt(inIndex: i32): i32;\n  SetInt(inIndex: i32, inInt: i32): void;\n  SetNumberStrings(inNumStrings: i32): void;\n  GetString(inIndex: i32): string;\n  SetString(inIndex: i32, inString: string): void;\n  objects: nsIMutableArray;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIOpenWindowInfo.idl\n\ninterface nsIOpenWindowInfo extends nsISupports {\n  readonly parent: BrowsingContext;\n  readonly isRemote: boolean;\n  readonly forceNoOpener: boolean;\n  readonly isForPrinting: boolean;\n  readonly isForWindowDotPrint: boolean;\n  readonly isTopLevelCreatedByWebContent: boolean;\n  readonly hasValidUserGestureActivation: boolean;\n  readonly textDirectiveUserActivation: boolean;\n  readonly originAttributes: any;\n  cancel(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptCollection.idl\n\ninterface nsIPromptCollection extends nsISupports {\n  asyncBeforeUnloadCheck(aBrowsingContext: BrowsingContext): Promise<any>;\n  confirmRepost(aBrowsingContext: BrowsingContext): boolean;\n  confirmFolderUpload(aBrowsingContext: BrowsingContext, aDirectoryName: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptFactory.idl\n\ninterface nsIPromptFactory extends nsISupports {\n  getPrompt<T extends nsIID>(aParent: mozIDOMWindowProxy, iid: T): nsQIResult<T>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptService.idl\n\ninterface nsIPromptService extends nsISupports {\n  readonly BUTTON_POS_0?: 1;\n  readonly BUTTON_POS_1?: 256;\n  readonly BUTTON_POS_2?: 65536;\n  readonly BUTTON_TITLE_OK?: 1;\n  readonly BUTTON_TITLE_CANCEL?: 2;\n  readonly BUTTON_TITLE_YES?: 3;\n  readonly BUTTON_TITLE_NO?: 4;\n  readonly BUTTON_TITLE_SAVE?: 5;\n  readonly BUTTON_TITLE_DONT_SAVE?: 6;\n  readonly BUTTON_TITLE_REVERT?: 7;\n  readonly BUTTON_TITLE_IS_STRING?: 127;\n  readonly BUTTON_POS_0_DEFAULT?: 0;\n  readonly BUTTON_POS_1_DEFAULT?: 16777216;\n  readonly BUTTON_POS_2_DEFAULT?: 33554432;\n  readonly BUTTON_DELAY_ENABLE?: 67108864;\n  readonly SHOW_SPINNER?: 134217728;\n  readonly BUTTON_NONE_ENABLE_BIT?: 268435456;\n  readonly BUTTON_NONE?: 268435583;\n  readonly BUTTON_POS_1_IS_SECONDARY?: 536870912;\n  readonly STD_OK_CANCEL_BUTTONS?: 513;\n  readonly STD_YES_NO_BUTTONS?: 1027;\n  readonly MODAL_TYPE_CONTENT?: 1;\n  readonly MODAL_TYPE_TAB?: 2;\n  readonly MODAL_TYPE_WINDOW?: 3;\n  readonly MODAL_TYPE_INTERNAL_WINDOW?: 4;\n\n  alert(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): void;\n  alertBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): void;\n  asyncAlert(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;\n  alertCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;\n  alertCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;\n  asyncAlertCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;\n  confirm(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): boolean;\n  confirmBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): boolean;\n  asyncConfirm(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;\n  confirmCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;\n  confirmCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;\n  asyncConfirmCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;\n  confirmEx(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;\n  confirmExBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;\n  asyncConfirmEx(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: boolean, aExtraArgs?: any): Promise<any>;\n  prompt(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;\n  promptBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;\n  asyncPrompt(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;\n  promptUsernameAndPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;\n  promptUsernameAndPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;\n  asyncPromptUsernameAndPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: string, aPassword: string): Promise<any>;\n  promptPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;\n  promptPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;\n  asyncPromptPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: string): Promise<any>;\n  select(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;\n  selectBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;\n  asyncSelect(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[]): Promise<any>;\n  promptAuth(aParent: mozIDOMWindowProxy, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;\n  promptAuthBC(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;\n  asyncPromptAuth(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): Promise<any>;\n  confirmUserPaste(aWindow: WindowGlobalParent): Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIWindowWatcher.idl\n\ninterface nsIWindowWatcher extends nsISupports {\n  openWindow(aParent: mozIDOMWindowProxy, aUrl: string, aName: string, aFeatures: string, aArguments: nsISupports): mozIDOMWindowProxy;\n  registerNotification(aObserver: nsIObserver): void;\n  unregisterNotification(aObserver: nsIObserver): void;\n  getWindowEnumerator(): nsISimpleEnumerator;\n  getNewPrompter(aParent: mozIDOMWindowProxy): nsIPrompt;\n  getNewAuthPrompter(aParent: mozIDOMWindowProxy): nsIAuthPrompt;\n  setWindowCreator(creator: nsIWindowCreator): void;\n  hasWindowCreator(): boolean;\n  getChromeForWindow(aWindow: mozIDOMWindowProxy): nsIWebBrowserChrome;\n  getWindowByName(aTargetName: string): mozIDOMWindowProxy;\n  readonly activeWindow: mozIDOMWindowProxy;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsPIWindowWatcher.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIAvailableMemoryWatcherBase.idl\n\ninterface nsITabUnloader extends nsISupports {\n  unloadTabAsync(): void;\n}\n\ninterface nsIAvailableMemoryWatcherBase extends nsISupports {\n  registerTabUnloader(aTabUnloader: nsITabUnloader): void;\n  onUnloadAttemptCompleted(aResult: nsresult): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleListener.idl\n\ntype nsIConsoleListener = Callable<{\n  observe(aMessage: nsIConsoleMessage): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleMessage.idl\n\ninterface nsIConsoleMessage extends nsISupports {\n  readonly debug?: 0;\n  readonly info?: 1;\n  readonly warn?: 2;\n  readonly error?: 3;\n\n  readonly logLevel: u32;\n  readonly timeStamp: i64;\n  readonly microSecondTimeStamp: i64;\n  readonly message: string;\n  isForwardedFromContentProcess: boolean;\n  toString(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleService.idl\n\n}  // global\n\ndeclare enum nsIConsoleService_OutputMode {\n  SuppressLog = 0,\n  OutputToLog = 1,\n}\n\ndeclare global {\n\nnamespace nsIConsoleService {\n  type OutputMode = nsIConsoleService_OutputMode;\n}\n\ninterface nsIConsoleService extends nsISupports, Enums<typeof nsIConsoleService_OutputMode> {\n  logMessage(message: nsIConsoleMessage): void;\n  logMessageWithMode(message: nsIConsoleMessage, mode: nsIConsoleService.OutputMode): void;\n  logStringMessage(message: string): void;\n  getMessageArray(): nsIConsoleMessage[];\n  registerListener(listener: nsIConsoleListener): void;\n  unregisterListener(listener: nsIConsoleListener): void;\n  reset(): void;\n  resetWindow(windowInnerId: u64): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsICycleCollectorListener.idl\n\ninterface nsICycleCollectorHandler extends nsISupports {\n  noteRefCountedObject(aAddress: string, aRefCount: u32, aObjectDescription: string): void;\n  noteGCedObject(aAddress: string, aMarked: boolean, aObjectDescription: string, aCompartmentAddress: string): void;\n  noteEdge(aFromAddress: string, aToAddress: string, aEdgeName: string): void;\n  describeRoot(aAddress: string, aKnownEdges: u32): void;\n  describeGarbage(aAddress: string): void;\n}\n\ninterface nsICycleCollectorLogSink extends nsISupports {\n  closeGCLog(): void;\n  closeCCLog(): void;\n  filenameIdentifier: string;\n  processIdentifier: i32;\n  readonly gcLog: nsIFile;\n  readonly ccLog: nsIFile;\n}\n\ninterface nsICycleCollectorListener extends nsISupports {\n  allTraces(): nsICycleCollectorListener;\n  readonly wantAllTraces: boolean;\n  disableLog: boolean;\n  logSink: nsICycleCollectorLogSink;\n  wantAfterProcessing: boolean;\n  processNext(aHandler: nsICycleCollectorHandler): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIDebug2.idl\n\ninterface nsIDebug2 extends nsISupports {\n  readonly isDebugBuild: boolean;\n  readonly assertionCount: i32;\n  readonly isDebuggerAttached: boolean;\n  assertion(aStr: string, aExpr: string, aFile: string, aLine: i32): void;\n  warning(aStr: string, aFile: string, aLine: i32): void;\n  break(aFile: string, aLine: i32): void;\n  abort(aFile: string, aLine: i32): void;\n  rustPanic(aMessage: string): void;\n  rustLog(aTarget: string, aMessage: string): void;\n  crashWithOOM(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIException.idl\n\ninterface nsIStackFrame extends nsISupports {\n  readonly filename: string;\n  readonly name: string;\n  readonly sourceId: i32;\n  readonly lineNumber: i32;\n  readonly columnNumber: i32;\n  readonly asyncCause: string;\n  readonly asyncCaller: nsIStackFrame;\n  readonly caller: nsIStackFrame;\n  readonly formattedStack: string;\n  readonly nativeSavedFrame: any;\n  toString(): string;\n}\n\ninterface nsIException extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIInterfaceRequestor.idl\n\ninterface nsIInterfaceRequestor extends nsISupports {\n  getInterface<T extends nsIID>(uuid: T): nsQIResult<T>;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryInfoDumper.idl\n\ntype nsIFinishDumpingCallback = Callable<{\n  callback(data: nsISupports): void;\n}>\n\ninterface nsIDumpGCAndCCLogsCallback extends nsISupports {\n  onDump(aGCLog: nsIFile, aCCLog: nsIFile, aIsParent: boolean): void;\n  onFinish(): void;\n}\n\ninterface nsIMemoryInfoDumper extends nsISupports {\n  dumpMemoryReportsToNamedFile(aFilename: string, aFinishDumping: nsIFinishDumpingCallback, aFinishDumpingData: nsISupports, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;\n  dumpMemoryInfoToTempDir(aIdentifier: string, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;\n  dumpGCAndCCLogsToFile(aIdentifier: string, aDumpAllTraces: boolean, aDumpChildProcesses: boolean, aCallback: nsIDumpGCAndCCLogsCallback): void;\n  dumpGCAndCCLogsToSink(aDumpAllTraces: boolean, aSink: nsICycleCollectorLogSink): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryReporter.idl\n\ntype nsIHandleReportCallback = Callable<{\n  callback(process: string, path: string, kind: i32, units: i32, amount: i64, description: string, data: nsISupports): void;\n}>\n\ninterface nsIMemoryReporter extends nsISupports {\n  readonly KIND_NONHEAP?: 0;\n  readonly KIND_HEAP?: 1;\n  readonly KIND_OTHER?: 2;\n  readonly UNITS_BYTES?: 0;\n  readonly UNITS_COUNT?: 1;\n  readonly UNITS_COUNT_CUMULATIVE?: 2;\n  readonly UNITS_PERCENTAGE?: 3;\n\n  collectReports(callback: nsIHandleReportCallback, data: nsISupports, anonymize: boolean): void;\n}\n\ntype nsIFinishReportingCallback = Callable<{\n  callback(data: nsISupports): void;\n}>\n\ntype nsIHeapAllocatedCallback = Callable<{\n  callback(bytesAllocated: i64): void;\n}>\n\ninterface nsIMemoryReporterManager extends nsISupports {\n  init(): void;\n  registerStrongReporter(reporter: nsIMemoryReporter): void;\n  registerStrongAsyncReporter(reporter: nsIMemoryReporter): void;\n  registerWeakReporter(reporter: nsIMemoryReporter): void;\n  registerWeakAsyncReporter(reporter: nsIMemoryReporter): void;\n  unregisterStrongReporter(reporter: nsIMemoryReporter): void;\n  unregisterWeakReporter(reporter: nsIMemoryReporter): void;\n  blockRegistrationAndHideExistingReporters(): void;\n  unblockRegistrationAndRestoreOriginalReporters(): void;\n  registerStrongReporterEvenIfBlocked(aReporter: nsIMemoryReporter): void;\n  getReports(handleReport: nsIHandleReportCallback, handleReportData: nsISupports, finishReporting: nsIFinishReportingCallback, finishReportingData: nsISupports, anonymize: boolean): void;\n  getReportsExtended(handleReport: nsIHandleReportCallback, handleReportData: nsISupports, finishReporting: nsIFinishReportingCallback, finishReportingData: nsISupports, anonymize: boolean, minimizeMemoryUsage: boolean, DMDDumpIdent: string): void;\n  readonly vsize: i64;\n  readonly vsizeMaxContiguous: i64;\n  readonly resident: i64;\n  readonly residentFast: i64;\n  readonly residentPeak: i64;\n  readonly residentUnique: i64;\n  readonly heapAllocated: i64;\n  readonly heapOverheadFraction: i64;\n  readonly JSMainRuntimeGCHeap: i64;\n  readonly JSMainRuntimeTemporaryPeak: i64;\n  readonly JSMainRuntimeCompartmentsSystem: i64;\n  readonly JSMainRuntimeCompartmentsUser: i64;\n  readonly JSMainRuntimeRealmsSystem: i64;\n  readonly JSMainRuntimeRealmsUser: i64;\n  readonly imagesContentUsedUncompressed: i64;\n  readonly storageSQLite: i64;\n  readonly lowMemoryEventsPhysical: i64;\n  readonly ghostWindows: i64;\n  readonly pageFaultsHard: i64;\n  readonly hasMozMallocUsableSize: boolean;\n  readonly isDMDEnabled: boolean;\n  readonly isDMDRunning: boolean;\n  minimizeMemoryUsage(callback: nsIRunnable): void;\n  sizeOfTab(window: mozIDOMWindowProxy, jsObjectsSize: OutParam<i64>, jsStringsSize: OutParam<i64>, jsOtherSize: OutParam<i64>, domSize: OutParam<i64>, styleSize: OutParam<i64>, otherSize: OutParam<i64>, totalSize: OutParam<i64>, jsMilliseconds: OutParam<double>, nonJSMilliseconds: OutParam<double>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsISecurityConsoleMessage.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsISupports.idl\n\ninterface nsISupports {\n  QueryInterface?<T extends nsIID>(aIID: T): nsQIResult<T>;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIUUIDGenerator.idl\n\ninterface nsIUUIDGenerator extends nsISupports {\n  generateUUID(): nsID;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIVersionComparator.idl\n\ninterface nsIVersionComparator extends nsISupports {\n  compare(A: string, B: string): i32;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsIWeakReference.idl\n\ninterface nsIWeakReference extends nsISupports {\n  QueryReferent<T extends nsIID>(uuid: T): nsQIResult<T>;\n}\n\ninterface nsISupportsWeakReference extends nsISupports {\n  GetWeakReference(): nsIWeakReference;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/base/nsrootidl.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsICategoryManager.idl\n\ninterface nsICategoryEntry extends nsISupportsCString {\n  readonly entry: string;\n  readonly value: string;\n}\n\ninterface nsICategoryManager extends nsISupports {\n  getCategoryEntry(aCategory: string, aEntry: string): string;\n  addCategoryEntry(aCategory: string, aEntry: string, aValue: string, aPersist: boolean, aReplace: boolean): string;\n  deleteCategoryEntry(aCategory: string, aEntry: string, aPersist: boolean): void;\n  deleteCategory(aCategory: string): void;\n  enumerateCategory(aCategory: string): nsISimpleEnumerator;\n  enumerateCategories(): nsISimpleEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsIClassInfo.idl\n\ninterface nsIClassInfo extends nsISupports {\n  readonly SINGLETON?: 1;\n  readonly THREADSAFE?: 2;\n  readonly SINGLETON_CLASSINFO?: 32;\n  readonly RESERVED?: 2147483648;\n\n  readonly interfaces: nsID[];\n  readonly contractID: string;\n  readonly classDescription: string;\n  readonly classID: nsID;\n  readonly flags: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentManager.idl\n\ninterface nsIComponentManager extends nsISupports {\n  getClassObject<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;\n  getClassObjectByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;\n  getManifestLocations(): nsIArray;\n  getComponentESModules(): nsIUTF8StringEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentRegistrar.idl\n\ninterface nsIComponentRegistrar extends nsISupports {\n  autoRegister(aSpec: nsIFile): void;\n  registerFactory(aClass: nsID, aClassName: string, aContractID: string, aFactory: nsIFactory): void;\n  unregisterFactory(aClass: nsID, aFactory: nsIFactory): void;\n  isCIDRegistered(aClass: nsID): boolean;\n  isContractIDRegistered(aContractID: string): boolean;\n  getContractIDs(): string[];\n  contractIDToCID(aContractID: string): nsID;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsIFactory.idl\n\ninterface nsIFactory extends nsISupports {\n  createInstance<T extends nsIID>(iid: T): nsQIResult<T>;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/components/nsIServiceManager.idl\n\ninterface nsIServiceManager extends nsISupports {\n  getService<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;\n  getServiceByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;\n  isServiceInstantiated(aClass: nsID, aIID: nsID): boolean;\n  isServiceInstantiatedByContractID(aContractID: string, aIID: nsID): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArray.idl\n\ninterface nsIArray extends nsISupports {\n  readonly length: u32;\n  queryElementAt<T extends nsIID>(index: u32, uuid: T): nsQIResult<T>;\n  indexOf(startIndex: u32, element: nsISupports): u32;\n  enumerate(aElemIID?: nsID): nsISimpleEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArrayExtensions.idl\n\ninterface nsIArrayExtensions extends nsIArray {\n  Count(): u32;\n  GetElementAt(index: u32): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIINIParser.idl\n\ninterface nsIINIParser extends nsISupports {\n  initFromString(aData: string): void;\n  getSections(): nsIUTF8StringEnumerator;\n  getKeys(aSection: string): nsIUTF8StringEnumerator;\n  getString(aSection: string, aKey: string): string;\n}\n\ninterface nsIINIParserWriter extends nsISupports {\n  setString(aSection: string, aKey: string, aValue: string): void;\n  writeFile(aINIFile: nsIFile): void;\n  writeToString(): string;\n}\n\ninterface nsIINIParserFactory extends nsISupports {\n  createINIParser(aINIFile?: nsIFile): nsIINIParser;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIMutableArray.idl\n\ninterface nsIMutableArray extends nsIArrayExtensions {\n  appendElement(element: nsISupports): void;\n  removeElementAt(index: u32): void;\n  insertElementAt(element: nsISupports, index: u32): void;\n  replaceElementAt(element: nsISupports, index: u32): void;\n  clear(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserver.idl\n\ntype nsIObserver = Callable<{\n  observe(aSubject: nsISupports, aTopic: string, aData: string): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserverService.idl\n\ninterface nsIObserverService extends nsISupports {\n  addObserver(anObserver: nsIObserver, aTopic: string, ownsWeak?: boolean): void;\n  removeObserver(anObserver: nsIObserver, aTopic: string): void;\n  notifyObservers(aSubject: nsISupports, aTopic: string, someData?: string): void;\n  enumerateObservers(aTopic: string): nsISimpleEnumerator;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPersistentProperties2.idl\n\ninterface nsIPropertyElement extends nsISupports {\n  key: string;\n  value: string;\n}\n\ninterface nsIPersistentProperties extends nsIProperties {\n  load(input: nsIInputStream): void;\n  save(output: nsIOutputStream, header: string): void;\n  enumerate(): nsISimpleEnumerator;\n  getStringProperty(key: string): string;\n  setStringProperty(key: string, value: string): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperties.idl\n\ninterface nsIProperties extends nsISupports {\n  get<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;\n  set(prop: string, value: nsISupports): void;\n  has(prop: string): boolean;\n  undefine(prop: string): void;\n  getKeys(): string[];\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperty.idl\n\ninterface nsIProperty extends nsISupports {\n  readonly name: string;\n  readonly value: nsIVariant;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag.idl\n\ninterface nsIPropertyBag extends nsISupports {\n  readonly enumerator: nsISimpleEnumerator;\n  getProperty(name: string): nsIVariant;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag2.idl\n\ninterface nsIPropertyBag2 extends nsIPropertyBag {\n  getPropertyAsInt32(prop: string): i32;\n  getPropertyAsUint32(prop: string): u32;\n  getPropertyAsInt64(prop: string): i64;\n  getPropertyAsUint64(prop: string): u64;\n  getPropertyAsDouble(prop: string): double;\n  getPropertyAsAString(prop: string): string;\n  getPropertyAsACString(prop: string): string;\n  getPropertyAsAUTF8String(prop: string): string;\n  getPropertyAsBool(prop: string): boolean;\n  getPropertyAsInterface<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;\n  get(prop: string): nsIVariant;\n  hasKey(prop: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsISerializable.idl\n\ninterface nsISerializable extends nsISupports {\n  read(aInputStream: nsIObjectInputStream): void;\n  write(aOutputStream: nsIObjectOutputStream): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsISimpleEnumerator.idl\n\ninterface nsIJSEnumerator extends nsISupports {\n  iterator(): nsIJSEnumerator;\n  next(): any;\n}\n\ninterface nsISimpleEnumeratorBase extends nsISupports {\n  iterator(): nsIJSEnumerator;\n  entries(aIface: nsID): nsIJSEnumerator;\n}\n\ninterface nsISimpleEnumerator extends nsISimpleEnumeratorBase {\n  hasMoreElements(): boolean;\n  getNext(): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIStringEnumerator.idl\n\ninterface nsIStringEnumeratorBase extends nsISupports {\n  iterator(): nsIJSEnumerator;\n}\n\ninterface nsIStringEnumerator extends nsIStringEnumeratorBase {\n  hasMore(): boolean;\n  getNext(): string;\n}\n\ninterface nsIUTF8StringEnumerator extends nsIStringEnumeratorBase {\n  hasMore(): boolean;\n  getNext(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsIterators.idl\n\ninterface nsIOutputIterator extends nsISupports {\n  putElement(anElementToPut: nsISupports): void;\n  stepForward(): void;\n}\n\ninterface nsIInputIterator extends nsISupports {\n  getElement(): nsISupports;\n  stepForward(): void;\n  isEqualTo(anotherIterator: nsISupports): boolean;\n  clone(): nsISupports;\n}\n\ninterface nsIForwardIterator extends nsISupports {\n  getElement(): nsISupports;\n  putElement(anElementToPut: nsISupports): void;\n  stepForward(): void;\n  isEqualTo(anotherIterator: nsISupports): boolean;\n  clone(): nsISupports;\n}\n\ninterface nsIBidirectionalIterator extends nsISupports {\n  getElement(): nsISupports;\n  putElement(anElementToPut: nsISupports): void;\n  stepForward(): void;\n  stepBackward(): void;\n  isEqualTo(anotherIterator: nsISupports): boolean;\n  clone(): nsISupports;\n}\n\ninterface nsIRandomAccessIterator extends nsISupports {\n  getElement(): nsISupports;\n  getElementAt(anOffset: i32): nsISupports;\n  putElement(anElementToPut: nsISupports): void;\n  putElementAt(anOffset: i32, anElementToPut: nsISupports): void;\n  stepForward(): void;\n  stepForwardBy(anOffset: i32): void;\n  stepBackward(): void;\n  stepBackwardBy(anOffset: i32): void;\n  isEqualTo(anotherIterator: nsISupports): boolean;\n  clone(): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsPrimitives.idl\n\ninterface nsISupportsPrimitive extends nsISupports {\n  readonly TYPE_ID?: 1;\n  readonly TYPE_CSTRING?: 2;\n  readonly TYPE_STRING?: 3;\n  readonly TYPE_PRBOOL?: 4;\n  readonly TYPE_PRUINT8?: 5;\n  readonly TYPE_PRUINT16?: 6;\n  readonly TYPE_PRUINT32?: 7;\n  readonly TYPE_PRUINT64?: 8;\n  readonly TYPE_PRTIME?: 9;\n  readonly TYPE_CHAR?: 10;\n  readonly TYPE_PRINT16?: 11;\n  readonly TYPE_PRINT32?: 12;\n  readonly TYPE_PRINT64?: 13;\n  readonly TYPE_FLOAT?: 14;\n  readonly TYPE_DOUBLE?: 15;\n  readonly TYPE_INTERFACE_POINTER?: 17;\n\n  readonly type: u16;\n}\n\ninterface nsISupportsID extends nsISupportsPrimitive {\n  data: nsID;\n  toString(): string;\n}\n\ninterface nsISupportsCString extends nsISupportsPrimitive {\n  data: string;\n  toString(): string;\n}\n\ninterface nsISupportsString extends nsISupportsPrimitive {\n  data: string;\n  toString(): string;\n}\n\ninterface nsISupportsPRBool extends nsISupportsPrimitive {\n  data: boolean;\n  toString(): string;\n}\n\ninterface nsISupportsPRUint8 extends nsISupportsPrimitive {\n  data: u8;\n  toString(): string;\n}\n\ninterface nsISupportsPRUint16 extends nsISupportsPrimitive {\n  data: u16;\n  toString(): string;\n}\n\ninterface nsISupportsPRUint32 extends nsISupportsPrimitive {\n  data: u32;\n  toString(): string;\n}\n\ninterface nsISupportsPRUint64 extends nsISupportsPrimitive {\n  data: u64;\n  toString(): string;\n}\n\ninterface nsISupportsPRTime extends nsISupportsPrimitive {\n  data: PRTime;\n  toString(): string;\n}\n\ninterface nsISupportsChar extends nsISupportsPrimitive {\n  data: string;\n  toString(): string;\n}\n\ninterface nsISupportsPRInt16 extends nsISupportsPrimitive {\n  data: i16;\n  toString(): string;\n}\n\ninterface nsISupportsPRInt32 extends nsISupportsPrimitive {\n  data: i32;\n  toString(): string;\n}\n\ninterface nsISupportsPRInt64 extends nsISupportsPrimitive {\n  data: i64;\n  toString(): string;\n}\n\ninterface nsISupportsFloat extends nsISupportsPrimitive {\n  data: float;\n  toString(): string;\n}\n\ninterface nsISupportsDouble extends nsISupportsPrimitive {\n  data: double;\n  toString(): string;\n}\n\ninterface nsISupportsInterfacePointer extends nsISupportsPrimitive {\n  data: nsISupports;\n  dataIID: nsID;\n  toString(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIVariant.idl\n\ninterface nsIVariant extends nsISupports {\n}\n\ninterface nsIWritableVariant extends nsIVariant {\n  writable: boolean;\n  setAsInt8(aValue: u8): void;\n  setAsInt16(aValue: i16): void;\n  setAsInt32(aValue: i32): void;\n  setAsInt64(aValue: i64): void;\n  setAsUint8(aValue: u8): void;\n  setAsUint16(aValue: u16): void;\n  setAsUint32(aValue: u32): void;\n  setAsUint64(aValue: u64): void;\n  setAsFloat(aValue: float): void;\n  setAsDouble(aValue: double): void;\n  setAsBool(aValue: boolean): void;\n  setAsChar(aValue: string): void;\n  setAsWChar(aValue: string): void;\n  setAsID(aValue: nsID): void;\n  setAsAString(aValue: string): void;\n  setAsACString(aValue: string): void;\n  setAsAUTF8String(aValue: string): void;\n  setAsString(aValue: string): void;\n  setAsWString(aValue: string): void;\n  setAsISupports(aValue: nsISupports): void;\n  setAsStringWithSize(size: u32, str: string): void;\n  setAsWStringWithSize(size: u32, str: string): void;\n  setAsVoid(): void;\n  setAsEmpty(): void;\n  setAsEmptyArray(): void;\n  setFromVariant(aValue: nsIVariant): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag.idl\n\ninterface nsIWritablePropertyBag extends nsIPropertyBag {\n  setProperty(name: string, value: nsIVariant): void;\n  deleteProperty(name: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag2.idl\n\ninterface nsIWritablePropertyBag2 extends nsIPropertyBag2 {\n  setPropertyAsInt32(prop: string, value: i32): void;\n  setPropertyAsUint32(prop: string, value: u32): void;\n  setPropertyAsInt64(prop: string, value: i64): void;\n  setPropertyAsUint64(prop: string, value: u64): void;\n  setPropertyAsDouble(prop: string, value: double): void;\n  setPropertyAsAString(prop: string, value: string): void;\n  setPropertyAsACString(prop: string, value: string): void;\n  setPropertyAsAUTF8String(prop: string, value: string): void;\n  setPropertyAsBool(prop: string, value: boolean): void;\n  setPropertyAsInterface(prop: string, value: nsISupports): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncInputStream.idl\n\ninterface nsIAsyncInputStream extends nsIInputStream {\n  readonly WAIT_CLOSURE_ONLY?: 1;\n\n  closeWithStatus(aStatus: nsresult): void;\n  asyncWait(aCallback: nsIInputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;\n}\n\ntype nsIInputStreamCallback = Callable<{\n  onInputStreamReady(aStream: nsIAsyncInputStream): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncOutputStream.idl\n\ninterface nsIAsyncOutputStream extends nsIOutputStream {\n  readonly WAIT_CLOSURE_ONLY?: 1;\n\n  closeWithStatus(reason: nsresult): void;\n  asyncWait(aCallback: nsIOutputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;\n}\n\ntype nsIOutputStreamCallback = Callable<{\n  onOutputStreamReady(aStream: nsIAsyncOutputStream): void;\n}>\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryInputStream.idl\n\ninterface nsIBinaryInputStream extends nsIInputStream {\n  setInputStream(aInputStream: nsIInputStream): void;\n  readBoolean(): boolean;\n  read8(): u8;\n  read16(): u16;\n  read32(): u32;\n  read64(): u64;\n  readFloat(): float;\n  readDouble(): double;\n  readCString(): string;\n  readString(): string;\n  readBytes(aLength: u32): string;\n  readByteArray(aLength: u32): u8[];\n  readArrayBuffer(aLength: u64, aArrayBuffer: any): u64;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryOutputStream.idl\n\ninterface nsIBinaryOutputStream extends nsIOutputStream {\n  setOutputStream(aOutputStream: nsIOutputStream): void;\n  writeBoolean(aBoolean: boolean): void;\n  write8(aByte: u8): void;\n  write16(a16: u16): void;\n  write32(a32: u32): void;\n  write64(a64: u64): void;\n  writeFloat(aFloat: float): void;\n  writeDouble(aDouble: double): void;\n  writeStringZ(aString: string): void;\n  writeWStringZ(aString: string): void;\n  writeUtf8Z(aString: string): void;\n  writeBytes(aString: string, aLength?: u32): void;\n  writeByteArray(aBytes: u8[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsICloneableInputStream.idl\n\ninterface nsICloneableInputStream extends nsISupports {\n  readonly cloneable: boolean;\n  clone(): nsIInputStream;\n}\n\ninterface nsICloneableInputStreamWithRange extends nsICloneableInputStream {\n  cloneWithRange(start: u64, length: u64): nsIInputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterInputStream.idl\n\ninterface nsIConverterInputStream extends nsIUnicharInputStream {\n  readonly DEFAULT_REPLACEMENT_CHARACTER?: 65533;\n  readonly ERRORS_ARE_FATAL?: 0;\n\n  init(aStream: nsIInputStream, aCharset: string, aBufferSize: i32, aReplacementChar: u16): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterOutputStream.idl\n\ninterface nsIConverterOutputStream extends nsIUnicharOutputStream {\n  init(aOutStream: nsIOutputStream, aCharset: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryEnumerator.idl\n\ninterface nsIDirectoryEnumerator extends nsISimpleEnumerator {\n  readonly nextFile: nsIFile;\n  close(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryService.idl\n\ninterface nsIDirectoryServiceProvider extends nsISupports {\n  getFile(prop: string, persistent: OutParam<boolean>): nsIFile;\n}\n\ninterface nsIDirectoryServiceProvider2 extends nsIDirectoryServiceProvider {\n  getFiles(prop: string): nsISimpleEnumerator;\n}\n\ninterface nsIDirectoryService extends nsISupports {\n  init(): void;\n  registerProvider(prov: nsIDirectoryServiceProvider): void;\n  unregisterProvider(prov: nsIDirectoryServiceProvider): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIFile.idl\n\ninterface nsIFile extends nsISupports {\n  readonly NORMAL_FILE_TYPE?: 0;\n  readonly DIRECTORY_TYPE?: 1;\n  readonly OS_READAHEAD?: 1073741824;\n  readonly DELETE_ON_CLOSE?: 2147483648;\n\n  append(node: string): void;\n  normalize(): void;\n  create(type: u32, permissions: u32, skipAncestors?: boolean): void;\n  leafName: string;\n  readonly displayName: string;\n  hostPath(): Promise<any>;\n  copyTo(newParentDir: nsIFile, newName: string): void;\n  copyToFollowingLinks(newParentDir: nsIFile, newName: string): void;\n  moveTo(newParentDir: nsIFile, newName: string): void;\n  moveToFollowingLinks(newParentDir: nsIFile, newName: string): void;\n  renameTo(newParentDir: nsIFile, newName: string): void;\n  remove(recursive: boolean, removeCount?: InOutParam<u32>): void;\n  permissions: u32;\n  permissionsOfLink: u32;\n  lastAccessedTime: PRTime;\n  lastAccessedTimeOfLink: PRTime;\n  lastModifiedTime: PRTime;\n  lastModifiedTimeOfLink: PRTime;\n  readonly creationTime: PRTime;\n  readonly creationTimeOfLink: PRTime;\n  fileSize: i64;\n  readonly fileSizeOfLink: i64;\n  readonly target: string;\n  readonly path: string;\n  exists(): boolean;\n  isWritable(): boolean;\n  isReadable(): boolean;\n  isExecutable(): boolean;\n  isHidden(): boolean;\n  isDirectory(): boolean;\n  isFile(): boolean;\n  isSymlink(): boolean;\n  isSpecial(): boolean;\n  createUnique(type: u32, permissions: u32): void;\n  clone(): nsIFile;\n  equals(inFile: nsIFile): boolean;\n  contains(inFile: nsIFile): boolean;\n  readonly parent: nsIFile;\n  readonly directoryEntries: nsIDirectoryEnumerator;\n  initWithPath(filePath: string): void;\n  initWithFile(aFile: nsIFile): void;\n  readonly diskSpaceAvailable: i64;\n  readonly diskCapacity: i64;\n  appendRelativePath(relativeFilePath: string): void;\n  persistentDescriptor: string;\n  reveal(): void;\n  launch(): void;\n  getRelativeDescriptor(fromFile: nsIFile): string;\n  setRelativeDescriptor(fromFile: nsIFile, relativeDesc: string): void;\n  getRelativePath(fromFile: nsIFile): string;\n  setRelativePath(fromFile: nsIFile, relativeDesc: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIIOUtil.idl\n\ninterface nsIIOUtil extends nsISupports {\n  inputStreamIsBuffered(aStream: nsIInputStream): boolean;\n  outputStreamIsBuffered(aStream: nsIOutputStream): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStream.idl\n\ninterface nsIInputStream extends nsISupports {\n  close(): void;\n  available(): u64;\n  streamStatus(): void;\n  isNonBlocking(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamLength.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamPriority.idl\n\ninterface nsIInputStreamPriority extends nsISupports {\n  priority: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamTee.idl\n\ninterface nsIInputStreamTee extends nsIInputStream {\n  source: nsIInputStream;\n  sink: nsIOutputStream;\n  eventTarget: nsIEventTarget;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsILineInputStream.idl\n\ninterface nsILineInputStream extends nsISupports {\n  readLine(aLine: OutParam<string>): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileWin.idl\n\ninterface nsILocalFileWin extends nsIFile {\n  initWithCommandLine(aCommandLine: string): void;\n  getVersionInfoField(aField: string): string;\n  readOnly: boolean;\n  useDOSDevicePathSyntax: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIMultiplexInputStream.idl\n\ninterface nsIMultiplexInputStream extends nsISupports {\n  readonly count: u32;\n  appendStream(stream: nsIInputStream): void;\n  getStream(index: u32): nsIInputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectInputStream.idl\n\ninterface nsIObjectInputStream extends nsIBinaryInputStream {\n  readObject(aIsStrongRef: boolean): nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectOutputStream.idl\n\ninterface nsIObjectOutputStream extends nsIBinaryOutputStream {\n  writeObject(aObject: nsISupports, aIsStrongRef: boolean): void;\n  writeSingleRefObject(aObject: nsISupports): void;\n  writeCompoundObject(aObject: nsISupports, aIID: nsID, aIsStrongRef: boolean): void;\n  writeID(aID: nsID): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIOutputStream.idl\n\ninterface nsIOutputStream extends nsISupports {\n  close(): void;\n  flush(): void;\n  streamStatus(): void;\n  write(aBuf: string, aCount: u32): u32;\n  writeFrom(aFromStream: nsIInputStream, aCount: u32): u32;\n  isNonBlocking(): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIPipe.idl\n\ninterface nsIPipe extends nsISupports {\n  init(nonBlockingInput: boolean, nonBlockingOutput: boolean, segmentSize: u32, segmentCount: u32): void;\n  readonly inputStream: nsIAsyncInputStream;\n  readonly outputStream: nsIAsyncOutputStream;\n}\n\ninterface nsISearchableInputStream extends nsISupports {\n  search(forString: string, ignoreCase: boolean, found: OutParam<boolean>, offsetSearchedTo: OutParam<u32>): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIRandomAccessStream.idl\n\ninterface nsIRandomAccessStream extends nsISeekableStream {\n  getInputStream(): nsIInputStream;\n  getOutputStream(): nsIOutputStream;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsISafeOutputStream.idl\n\ninterface nsISafeOutputStream extends nsISupports {\n  finish(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableBase64Encoder.idl\n\ninterface nsIScriptableBase64Encoder extends nsISupports {\n  encodeToCString(stream: nsIInputStream, length: u32): string;\n  encodeToString(stream: nsIInputStream, length: u32): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableInputStream.idl\n\ninterface nsIScriptableInputStream extends nsISupports {\n  close(): void;\n  init(aInputStream: nsIInputStream): void;\n  available(): u64;\n  read(aCount: u32): string;\n  readBytes(aCount: u32): string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsISeekableStream.idl\n\ninterface nsISeekableStream extends nsITellableStream {\n  readonly NS_SEEK_SET?: 0;\n  readonly NS_SEEK_CUR?: 1;\n  readonly NS_SEEK_END?: 2;\n\n  seek(whence: i32, offset: i64): void;\n  setEOF(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIStorageStream.idl\n\ninterface nsIStorageStream extends nsISupports {\n  init(segmentSize: u32, maxSize: u32): void;\n  getOutputStream(startPosition: i32): nsIOutputStream;\n  newInputStream(startPosition: i32): nsIInputStream;\n  length: u32;\n  readonly writeInProgress: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIStreamBufferAccess.idl\n\ninterface nsIStreamBufferAccess extends nsISupports {\n  disableBuffering(): void;\n  enableBuffering(): void;\n  readonly unbufferedStream: nsISupports;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIStringStream.idl\n\ninterface nsIStringInputStream extends nsIInputStream {\n  setByteStringData(data: string): void;\n  setUTF8Data(data: string): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsITellableStream.idl\n\ninterface nsITellableStream extends nsISupports {\n  tell(): i64;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharInputStream.idl\n\ninterface nsIUnicharInputStream extends nsISupports {\n  readString(aCount: u32, aString: OutParam<string>): u32;\n  close(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharLineInputStream.idl\n\ninterface nsIUnicharLineInputStream extends nsISupports {\n  readLine(aLine: OutParam<string>): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharOutputStream.idl\n\ninterface nsIUnicharOutputStream extends nsISupports {\n  write(aCount: u32, c: u16[]): boolean;\n  writeString(str: string): boolean;\n  flush(): void;\n  close(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIBlocklistService.idl\n\ninterface nsIBlocklistService extends nsISupports {\n  readonly STATE_NOT_BLOCKED?: 0;\n  readonly STATE_SOFTBLOCKED?: 1;\n  readonly STATE_BLOCKED?: 2;\n  readonly STATE_MAX?: 3;\n\n  readonly isLoaded: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsICrashReporter.idl\n\ninterface nsICrashReporter extends nsISupports {\n  readonly crashReporterEnabled: boolean;\n  serverURL: nsIURL;\n  minidumpPath: nsIFile;\n  getMinidumpForID(id: string): nsIFile;\n  getExtraFileForID(id: string): nsIFile;\n  annotateCrashReport(key: string, data: any): void;\n  removeCrashReportAnnotation(key: string): void;\n  isAnnotationValid(value: string): boolean;\n  isAnnotationAllowedForPing(value: string): boolean;\n  isAnnotationAllowedForReport(value: string): boolean;\n  appendAppNotesToCrashReport(data: string): void;\n  registerAppMemory(ptr: u64, size: u64): void;\n  submitReports: boolean;\n  UpdateCrashEventsDir(): void;\n  saveMemoryReport(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIDeviceSensors.idl\n\ninterface nsIDeviceSensorData extends nsISupports {\n  readonly TYPE_ORIENTATION?: 0;\n  readonly TYPE_ACCELERATION?: 1;\n  readonly TYPE_PROXIMITY?: 2;\n  readonly TYPE_LINEAR_ACCELERATION?: 3;\n  readonly TYPE_GYROSCOPE?: 4;\n  readonly TYPE_LIGHT?: 5;\n  readonly TYPE_ROTATION_VECTOR?: 6;\n  readonly TYPE_GAME_ROTATION_VECTOR?: 7;\n\n  readonly type: u32;\n  readonly x: double;\n  readonly y: double;\n  readonly z: double;\n}\n\ninterface nsIDeviceSensors extends nsISupports {\n  hasWindowListener(aType: u32, aWindow: nsIDOMWindow): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIGIOService.idl\n\ninterface nsIGIOHandlerApp extends nsIHandlerApp {\n  readonly id: string;\n  launchFile(fileName: string): void;\n  getMozIconURL(): string;\n}\n\ninterface nsIGIOMimeApp extends nsIHandlerApp {\n  readonly EXPECTS_URIS?: 0;\n  readonly EXPECTS_PATHS?: 1;\n  readonly EXPECTS_URIS_FOR_NON_FILES?: 2;\n\n  readonly id: string;\n  readonly command: string;\n  readonly expectsURIs: i32;\n  readonly supportedURISchemes: nsIUTF8StringEnumerator;\n  setAsDefaultForMimeType(mimeType: string): void;\n  setAsDefaultForFileExtensions(extensions: string): void;\n  setAsDefaultForURIScheme(uriScheme: string): void;\n}\n\ninterface nsIGIOService extends nsISupports {\n  getMimeTypeFromExtension(extension: string): string;\n  getAppForURIScheme(aURIScheme: string): nsIHandlerApp;\n  getAppsForURIScheme(aURIScheme: string): nsIMutableArray;\n  getAppForMimeType(mimeType: string): nsIHandlerApp;\n  createHandlerAppFromAppId(appId: string): nsIGIOHandlerApp;\n  createAppFromCommand(cmd: string, appName: string): nsIGIOMimeApp;\n  findAppFromCommand(cmd: string): nsIGIOMimeApp;\n  getDescriptionForMimeType(mimeType: string): string;\n  readonly isRunningUnderFlatpak: boolean;\n  readonly isRunningUnderSnap: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIGSettingsService.idl\n\ninterface nsIGSettingsCollection extends nsISupports {\n  setString(key: string, value: string): void;\n  setBoolean(key: string, value: boolean): void;\n  setInt(key: string, value: i32): void;\n  getString(key: string): string;\n  getBoolean(key: string): boolean;\n  getInt(key: string): i32;\n  getStringList(key: string): nsIArray;\n}\n\ninterface nsIGSettingsService extends nsISupports {\n  getCollectionForSchema(schema: string): nsIGSettingsCollection;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIGeolocationProvider.idl\n\ninterface nsIGeolocationUpdate extends nsISupports {\n  update(position: nsIDOMGeoPosition): void;\n  notifyError(error: u16): void;\n}\n\ninterface nsIGeolocationProvider extends nsISupports {\n  startup(): void;\n  watch(callback: nsIGeolocationUpdate): void;\n  shutdown(): void;\n  setHighAccuracy(enable: boolean): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIHapticFeedback.idl\n\ninterface nsIHapticFeedback extends nsISupports {\n  readonly ShortPress?: 0;\n  readonly LongPress?: 1;\n\n  performSimpleAction(isLongPress: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIPlatformInfo.idl\n\ninterface nsIPlatformInfo extends nsISupports {\n  readonly platformVersion: string;\n  readonly platformBuildID: string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsISystemInfo.idl\n\ninterface nsISystemInfo extends nsISupports {\n  readonly diskInfo: Promise<any>;\n  readonly countryCode: Promise<any>;\n  readonly osInfo: Promise<any>;\n  readonly processInfo: Promise<any>;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULAppInfo.idl\n\ninterface nsIXULAppInfo extends nsIPlatformInfo {\n  readonly vendor: string;\n  readonly name: string;\n  readonly ID: string;\n  readonly version: string;\n  readonly appBuildID: string;\n  readonly UAName: string;\n  readonly sourceURL: string;\n  readonly updateURL: string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULRuntime.idl\n\n}  // global\n\ndeclare enum nsIXULRuntime_ExperimentStatus {\n  eExperimentStatusUnenrolled = 0,\n  eExperimentStatusControl = 1,\n  eExperimentStatusTreatment = 2,\n  eExperimentStatusDisqualified = 3,\n  eExperimentStatusRollout = 4,\n  eExperimentStatusCount = 5,\n}\n\ndeclare enum nsIXULRuntime_ContentWin32kLockdownState {\n  LockdownEnabled = 1,\n  MissingWebRender = 2,\n  OperatingSystemNotSupported = 3,\n  PrefNotSet = 4,\n  MissingRemoteWebGL = 5,\n  MissingNonNativeTheming = 6,\n  DisabledByEnvVar = 7,\n  DisabledByE10S = 9,\n  DisabledByUserPref = 10,\n  EnabledByUserPref = 11,\n  DisabledByControlGroup = 12,\n  EnabledByTreatmentGroup = 13,\n  DisabledByDefault = 14,\n  EnabledByDefault = 15,\n  DecodersArentRemote = 16,\n  IncompatibleMitigationPolicy = 17,\n}\n\ndeclare enum nsIXULRuntime_FissionDecisionStatus {\n  eFissionStatusUnknown = 0,\n  eFissionDisabledByE10sEnv = 3,\n  eFissionEnabledByEnv = 4,\n  eFissionDisabledByEnv = 5,\n  eFissionEnabledByDefault = 7,\n  eFissionDisabledByDefault = 8,\n  eFissionEnabledByUserPref = 9,\n  eFissionDisabledByUserPref = 10,\n  eFissionDisabledByE10sOther = 11,\n}\n\ndeclare global {\n\nnamespace nsIXULRuntime {\n  type ExperimentStatus = nsIXULRuntime_ExperimentStatus;\n  type ContentWin32kLockdownState = nsIXULRuntime_ContentWin32kLockdownState;\n  type FissionDecisionStatus = nsIXULRuntime_FissionDecisionStatus;\n}\n\ninterface nsIXULRuntime extends nsISupports, Enums<typeof nsIXULRuntime_ExperimentStatus & typeof nsIXULRuntime_ContentWin32kLockdownState & typeof nsIXULRuntime_FissionDecisionStatus> {\n  readonly PROCESS_TYPE_DEFAULT?: 0;\n  readonly PROCESS_TYPE_CONTENT?: 2;\n  readonly PROCESS_TYPE_IPDLUNITTEST?: 3;\n  readonly PROCESS_TYPE_GMPLUGIN?: 4;\n  readonly PROCESS_TYPE_GPU?: 5;\n  readonly PROCESS_TYPE_VR?: 6;\n  readonly PROCESS_TYPE_RDD?: 7;\n  readonly PROCESS_TYPE_SOCKET?: 8;\n  readonly PROCESS_TYPE_FORKSERVER?: 10;\n  readonly PROCESS_TYPE_UTILITY?: 11;\n  readonly E10S_MULTI_EXPERIMENT?: 1;\n\n  readonly inSafeMode: boolean;\n  readonly win32kExperimentStatus: nsIXULRuntime.ExperimentStatus;\n  readonly win32kLiveStatusTestingOnly: nsIXULRuntime.ContentWin32kLockdownState;\n  readonly win32kSessionStatus: nsIXULRuntime.ContentWin32kLockdownState;\n  readonly fissionAutostart: boolean;\n  readonly fissionDecisionStatus: nsIXULRuntime.FissionDecisionStatus;\n  readonly fissionDecisionStatusString: string;\n  readonly sessionHistoryInParent: boolean;\n  readonly sessionStorePlatformCollection: boolean;\n  logConsoleErrors: boolean;\n  readonly OS: string;\n  readonly XPCOMABI: string;\n  readonly widgetToolkit: string;\n  readonly processType: u32;\n  readonly processID: u32;\n  readonly uniqueProcessID: u64;\n  readonly remoteType: string;\n  readonly browserTabsRemoteAutostart: boolean;\n  readonly maxWebProcessCount: u32;\n  readonly accessibilityEnabled: boolean;\n  readonly accessibilityInstantiator: string;\n  readonly is64Bit: boolean;\n  readonly isTextRecognitionSupported: boolean;\n  invalidateCachesOnRestart(): void;\n  readonly replacedLockTime: PRTime;\n  readonly defaultUpdateChannel: string;\n  readonly distributionID: string;\n  readonly windowsDLLBlocklistStatus: boolean;\n  readonly restartedByOS: boolean;\n  readonly nativeMenubar: boolean;\n  readonly chromeColorSchemeIsDark: boolean;\n  readonly contentThemeDerivedColorSchemeIsDark: boolean;\n  readonly prefersReducedMotion: boolean;\n  readonly drawInTitlebar: boolean;\n  readonly caretBlinkCount: i32;\n  readonly caretBlinkTime: i32;\n  readonly desktopEnvironment: string;\n  readonly isWayland: boolean;\n  readonly processStartupShortcut: string;\n  readonly launcherProcessState: u32;\n  readonly lastAppVersion: string;\n  readonly lastAppBuildID: string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIDirectTaskDispatcher.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEnvironment.idl\n\ninterface nsIEnvironment extends nsISupports {\n  set(aName: string, aValue: string): void;\n  get(aName: string): string;\n  exists(aName: string): boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEventTarget.idl\n\ninterface nsIEventTarget extends nsISupports {\n  readonly DISPATCH_NORMAL?: 0;\n  readonly DISPATCH_AT_END?: 2;\n  readonly DISPATCH_EVENT_MAY_BLOCK?: 4;\n  readonly DISPATCH_IGNORE_BLOCK_DISPATCH?: 8;\n\n  isOnCurrentThread(): boolean;\n  dispatch(event: nsIRunnable, flags: u32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIIdlePeriod.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsINamed.idl\n\ninterface nsINamed extends nsISupports {\n  readonly name: string;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIProcess.idl\n\ninterface nsIProcess extends nsISupports {\n  init(executable: nsIFile): void;\n  kill(): void;\n  run(blocking: boolean, args: string[], count: u32): void;\n  runAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;\n  runw(blocking: boolean, args: string[], count: u32): void;\n  runwAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;\n  startHidden: boolean;\n  noShell: boolean;\n  readonly pid: u32;\n  readonly exitValue: i32;\n  readonly isRunning: boolean;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIRunnable.idl\n\ntype nsIRunnable = Callable<{\n  run(): void;\n}>\n\ninterface nsIRunnablePriority extends nsISupports {\n  readonly PRIORITY_IDLE?: 0;\n  readonly PRIORITY_DEFERRED_TIMERS?: 1;\n  readonly PRIORITY_LOW?: 2;\n  readonly PRIORITY_NORMAL?: 4;\n  readonly PRIORITY_MEDIUMHIGH?: 5;\n  readonly PRIORITY_INPUT_HIGH?: 6;\n  readonly PRIORITY_VSYNC?: 7;\n  readonly PRIORITY_RENDER_BLOCKING?: 9;\n  readonly PRIORITY_CONTROL?: 10;\n\n  readonly priority: u32;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsISerialEventTarget.idl\n\ninterface nsISerialEventTarget extends nsIEventTarget {\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsISupportsPriority.idl\n\ninterface nsISupportsPriority extends nsISupports {\n  readonly PRIORITY_HIGHEST?: -20;\n  readonly PRIORITY_HIGH?: -10;\n  readonly PRIORITY_NORMAL?: 0;\n  readonly PRIORITY_LOW?: 10;\n  readonly PRIORITY_LOWEST?: 20;\n\n  priority: i32;\n  adjustPriority(delta: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThread.idl\n\n}  // global\n\ndeclare enum nsIThread_QoSPriority {\n  QOS_PRIORITY_NORMAL = 0,\n  QOS_PRIORITY_LOW = 1,\n}\n\ndeclare global {\n\nnamespace nsIThread {\n  type QoSPriority = nsIThread_QoSPriority;\n}\n\ninterface nsIThread extends nsISerialEventTarget, Enums<typeof nsIThread_QoSPriority> {\n  shutdown(): void;\n  hasPendingEvents(): boolean;\n  hasPendingHighPriorityEvents(): boolean;\n  processNextEvent(mayWait: boolean): boolean;\n  asyncShutdown(): void;\n  beginShutdown(): nsIThreadShutdown;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadInternal.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadManager.idl\n\ntype nsINestedEventLoopCondition = Callable<{\n  isDone(): boolean;\n}>\n\ninterface nsIThreadManager extends nsISupports {\n  readonly mainThread: nsIThread;\n  readonly currentThread: nsIThread;\n  dispatchToMainThread(event: nsIRunnable, priority?: u32): void;\n  dispatchToMainThreadWithMicroTask(event: nsIRunnable, priority?: u32): void;\n  idleDispatchToMainThread(event: nsIRunnable, timeout?: u32): void;\n  dispatchDirectTaskToCurrentThread(event: nsIRunnable): void;\n  spinEventLoopUntil(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;\n  spinEventLoopUntilOrQuit(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;\n  spinEventLoopUntilEmpty(): void;\n  readonly mainThreadEventTarget: nsIEventTarget;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadPool.idl\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadShutdown.idl\n\ninterface nsIThreadShutdown extends nsISupports {\n  onCompletion(aEvent: nsIRunnable): void;\n  readonly completed: boolean;\n  stopWaitingAndLeakThread(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/threads/nsITimer.idl\n\ntype nsITimerCallback = Callable<{\n  notify(timer: nsITimer): void;\n}>\n\ninterface nsITimer extends nsISupports {\n  readonly TYPE_ONE_SHOT?: 0;\n  readonly TYPE_REPEATING_SLACK?: 1;\n  readonly TYPE_REPEATING_PRECISE?: 2;\n  readonly TYPE_REPEATING_PRECISE_CAN_SKIP?: 3;\n  readonly TYPE_REPEATING_SLACK_LOW_PRIORITY?: 4;\n  readonly TYPE_ONE_SHOT_LOW_PRIORITY?: 5;\n\n  init(aObserver: nsIObserver, aDelayInMs: u32, aType: u32): void;\n  initWithCallback(aCallback: nsITimerCallback, aDelayInMs: u32, aType: u32): void;\n  cancel(): void;\n  delay: u32;\n  type: u32;\n  readonly callback: nsITimerCallback;\n  target: nsIEventTarget;\n  readonly name: string;\n}\n\ninterface nsITimerManager extends nsISupports {\n  getTimers(): nsITimer[];\n}\n\n// https://searchfox.org/mozilla-central/source/xpcom/tests/NotXPCOMTest.idl\n\ninterface nsIScriptableOK extends nsISupports {\n  method1(): void;\n}\n\ninterface nsIScriptableWithNotXPCOM extends nsISupports {\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/idl/mozIJSSubScriptLoader.idl\n\ninterface mozIJSSubScriptLoader extends nsISupports {\n  loadSubScript(url: string, obj?: any): any;\n  loadSubScriptWithOptions(url: string, options: any): any;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/idl/nsIXPCScriptable.idl\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpcIJSWeakReference.idl\n\ninterface xpcIJSWeakReference extends nsISupports {\n  get(): any;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpccomponents.idl\n\ninterface nsIXPCComponents_Classes extends nsISupports {\n}\n\ninterface nsIXPCComponents_Results extends nsISupports {\n}\n\ninterface nsIXPCComponents_ID extends nsISupports {\n}\n\ninterface nsIXPCComponents_Exception extends nsISupports {\n}\n\ninterface nsIXPCComponents_Constructor extends nsISupports {\n}\n\ninterface nsIXPCComponents_utils_Sandbox extends nsISupports {\n}\n\ntype nsIScheduledGCCallback = Callable<{\n  callback(): void;\n}>\n\ninterface nsIXPCComponents_Utils extends nsISupports {\n  printStderr(message: string): void;\n  reportError(error: any, stack?: any): void;\n  readonly Sandbox: nsIXPCComponents_utils_Sandbox;\n  evalInSandbox(source: string, sandbox: any, version?: any, filename?: string, lineNo?: i32, enforceFilenameRestrictions?: boolean): any;\n  getUAWidgetScope(principal: nsIPrincipal): any;\n  getSandboxMetadata(sandbox: any): any;\n  setSandboxMetadata(sandbox: any, metadata: any): void;\n  isESModuleLoaded(aResourceURI: string): boolean;\n  importGlobalProperties(aPropertyList: any): void;\n  getWeakReference(obj: any): xpcIJSWeakReference;\n  forceGC(): void;\n  forceCC(aListener?: nsICycleCollectorListener): void;\n  createCCLogger(): nsICycleCollectorListener;\n  finishCC(): void;\n  ccSlice(budget: i64): void;\n  getMaxCCSliceTimeSinceClear(): i32;\n  clearMaxCCTime(): void;\n  forceShrinkingGC(): void;\n  schedulePreciseGC(callback: nsIScheduledGCCallback): void;\n  schedulePreciseShrinkingGC(callback: nsIScheduledGCCallback): void;\n  unlinkGhostWindows(): void;\n  intentionallyLeak(): void;\n  getJSTestingFunctions(): any;\n  getFunctionSourceLocation(func: any): any;\n  callFunctionWithAsyncStack(func: any, stack: nsIStackFrame, asyncCause: string): any;\n  getGlobalForObject(obj: any): any;\n  isProxy(vobject: any): boolean;\n  exportFunction(vfunction: any, vscope: any, voptions?: any): any;\n  createObjectIn(vobj: any, voptions?: any): any;\n  makeObjectPropsNormal(vobj: any): void;\n  isDeadWrapper(obj: any): boolean;\n  isRemoteProxy(val: any): boolean;\n  recomputeWrappers(vobj?: any): void;\n  setWantXrays(vscope: any): void;\n  dispatch(runnable: any, scope?: any): void;\n  readonly isInAutomation: boolean;\n  exitIfInAutomation(): void;\n  crashIfNotInAutomation(): void;\n  setGCZeal(zeal: i32): void;\n  nukeSandbox(obj: any): void;\n  blockScriptForGlobal(global: any): void;\n  unblockScriptForGlobal(global: any): void;\n  isOpaqueWrapper(obj: any): boolean;\n  isXrayWrapper(obj: any): boolean;\n  waiveXrays(aVal: any): any;\n  unwaiveXrays(aVal: any): any;\n  getClassName(aObj: any, aUnwrap: boolean): string;\n  getIncumbentGlobal(callback?: any): any;\n  getDebugName(obj: any): string;\n  getWatchdogTimestamp(aCategory: string): PRTime;\n  getJSEngineTelemetryValue(): any;\n  cloneInto(value: any, scope: any, options?: any): any;\n  getWebIDLCallerPrincipal(): nsIPrincipal;\n  getObjectPrincipal(obj: any): nsIPrincipal;\n  getRealmLocation(obj: any): string;\n  now(): double;\n  readUTF8File(file: nsIFile): string;\n  readUTF8URI(url: nsIURI): string;\n  createSpellChecker(): nsIEditorSpellCheck;\n  createCommandLine(args: string[], workingDir: nsIFile, state: u32): nsISupports;\n  createCommandParams(): nsICommandParams;\n  createLoadContext(): nsILoadContext;\n  createPrivateLoadContext(): nsILoadContext;\n  createPersistentProperties(): nsIPersistentProperties;\n  createDocumentEncoder(contentType: string): nsIDocumentEncoder;\n  createHTMLCopyEncoder(): nsIDocumentEncoder;\n  readonly loadedESModules: string[];\n  getModuleImportStack(aLocation: string): string;\n}\n\ninterface nsIXPCComponents extends nsISupports {\n  readonly interfaces: nsIXPCComponents_Interfaces;\n  readonly results: nsIXPCComponents_Results;\n  isSuccessCode(result: nsresult): boolean;\n  readonly classes: nsIXPCComponents_Classes;\n  readonly stack: nsIStackFrame;\n  readonly manager: nsIComponentManager;\n  readonly utils: nsIXPCComponents_Utils;\n  readonly ID: nsIXPCComponents_ID;\n  readonly Exception: nsIXPCComponents_Exception;\n  readonly Constructor: nsIXPCComponents_Constructor;\n  returnCode: any;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_attributes.idl\n\ninterface nsIXPCTestObjectReadOnly extends nsISupports {\n  readonly strReadOnly: string;\n  readonly boolReadOnly: boolean;\n  readonly shortReadOnly: i16;\n  readonly longReadOnly: i32;\n  readonly floatReadOnly: float;\n  readonly charReadOnly: string;\n  readonly timeReadOnly: PRTime;\n}\n\ninterface nsIXPCTestObjectReadWrite extends nsISupports {\n  stringProperty: string;\n  booleanProperty: boolean;\n  shortProperty: i16;\n  longProperty: i32;\n  floatProperty: float;\n  charProperty: string;\n  timeProperty: PRTime;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_bug809674.idl\n\ninterface nsIXPCTestBug809674 extends nsISupports {\n  addArgs(x: u32, y: u32): u32;\n  addSubMulArgs(x: u32, y: u32, subOut: OutParam<u32>, mulOut: OutParam<u32>): u32;\n  addVals(x: any, y: any): any;\n  methodNoArgs(): u32;\n  methodNoArgsNoRetVal(): void;\n  addMany(x1: u32, x2: u32, x3: u32, x4: u32, x5: u32, x6: u32, x7: u32, x8: u32): u32;\n  valProperty: any;\n  uintProperty: u32;\n  methodWithOptionalArgc(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_cenums.idl\n\n}  // global\n\ndeclare enum nsIXPCTestCEnums_testFlagsExplicit {\n  shouldBe1Explicit = 1,\n  shouldBe2Explicit = 2,\n  shouldBe4Explicit = 4,\n  shouldBe8Explicit = 8,\n  shouldBe12Explicit = 12,\n}\n\ndeclare enum nsIXPCTestCEnums_testFlagsImplicit {\n  shouldBe0Implicit = 0,\n  shouldBe1Implicit = 1,\n  shouldBe2Implicit = 2,\n  shouldBe3Implicit = 3,\n  shouldBe5Implicit = 5,\n  shouldBe6Implicit = 6,\n  shouldBe2AgainImplicit = 2,\n  shouldBe3AgainImplicit = 3,\n}\n\ndeclare global {\n\nnamespace nsIXPCTestCEnums {\n  type testFlagsExplicit = nsIXPCTestCEnums_testFlagsExplicit;\n  type testFlagsImplicit = nsIXPCTestCEnums_testFlagsImplicit;\n}\n\ninterface nsIXPCTestCEnums extends nsISupports, Enums<typeof nsIXPCTestCEnums_testFlagsExplicit & typeof nsIXPCTestCEnums_testFlagsImplicit> {\n  readonly testConst?: 1;\n\n  testCEnumInput(abc: nsIXPCTestCEnums.testFlagsExplicit): void;\n  testCEnumOutput(): nsIXPCTestCEnums.testFlagsExplicit;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_interfaces.idl\n\ninterface nsIXPCTestInterfaceA extends nsISupports {\n  name: string;\n}\n\ninterface nsIXPCTestInterfaceB extends nsISupports {\n  name: string;\n}\n\ninterface nsIXPCTestInterfaceC extends nsISupports {\n  someInteger: i32;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_params.idl\n\ninterface nsIXPCTestParams extends nsISupports {\n  testBoolean(a: boolean, b: InOutParam<boolean>): boolean;\n  testOctet(a: u8, b: InOutParam<u8>): u8;\n  testShort(a: i16, b: InOutParam<i16>): i16;\n  testLong(a: i32, b: InOutParam<i32>): i32;\n  testLongLong(a: i64, b: InOutParam<i64>): i64;\n  testUnsignedShort(a: u16, b: InOutParam<u16>): u16;\n  testUnsignedLong(a: u32, b: InOutParam<u32>): u32;\n  testUnsignedLongLong(a: u64, b: InOutParam<u64>): u64;\n  testFloat(a: float, b: InOutParam<float>): float;\n  testDouble(a: double, b: InOutParam<float>): double;\n  testChar(a: string, b: InOutParam<string>): string;\n  testString(a: string, b: InOutParam<string>): string;\n  testWchar(a: string, b: InOutParam<string>): string;\n  testWstring(a: string, b: InOutParam<string>): string;\n  testAString(a: string, b: InOutParam<string>): string;\n  testAUTF8String(a: string, b: InOutParam<string>): string;\n  testACString(a: string, b: InOutParam<string>): string;\n  testJsval(a: any, b: InOutParam<any>): any;\n  testShortSequence(a: i16[], b: InOutParam<i16[]>): i16[];\n  testDoubleSequence(a: double[], b: InOutParam<double[]>): double[];\n  testInterfaceSequence(a: nsIXPCTestInterfaceA[], b: InOutParam<nsIXPCTestInterfaceA[]>): nsIXPCTestInterfaceA[];\n  testAStringSequence(a: string[], b: InOutParam<string[]>): string[];\n  testACStringSequence(a: string[], b: InOutParam<string[]>): string[];\n  testJsvalSequence(a: any[], b: InOutParam<any[]>): any[];\n  testSequenceSequence(a: i16[][], b: InOutParam<i16[][]>): i16[][];\n  testOptionalSequence(arr?: u8[]): u8[];\n  testShortArray(aLength: u32, a: i16[], bLength: InOutParam<u32>, b: InOutParam<i16[]>, rvLength: OutParam<u32>): i16[];\n  testDoubleArray(aLength: u32, a: double[], bLength: InOutParam<u32>, b: InOutParam<double[]>, rvLength: OutParam<u32>): double[];\n  testStringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): string[];\n  testWstringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): string[];\n  testInterfaceArray(aLength: u32, a: nsIXPCTestInterfaceA[], bLength: InOutParam<u32>, b: InOutParam<nsIXPCTestInterfaceA[]>, rvLength: OutParam<u32>): nsIXPCTestInterfaceA[];\n  testByteArrayOptionalLength(a: u8[], aLength?: u32): u32;\n  testSizedString(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): string;\n  testSizedWstring(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): string;\n  testJsvalArray(aLength: u32, a: any[], bLength: InOutParam<u32>, b: InOutParam<any[]>, rvLength: OutParam<u32>): any[];\n  testOutAString(o: OutParam<string>): void;\n  testStringArrayOptionalSize(a: string[], aLength?: u32): string;\n  testOmittedOptionalOut(aJSObj: nsIXPCTestParams, aOut?: OutParam<nsIURI>): void;\n  readonly testNaN: double;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_returncode.idl\n\ninterface nsIXPCTestReturnCodeParent extends nsISupports {\n  callChild(childBehavior: i32): nsresult;\n}\n\ninterface nsIXPCTestReturnCodeChild extends nsISupports {\n  readonly CHILD_SHOULD_THROW?: 0;\n  readonly CHILD_SHOULD_RETURN_SUCCESS?: 1;\n  readonly CHILD_SHOULD_RETURN_RESULTCODE?: 2;\n  readonly CHILD_SHOULD_NEST_RESULTCODES?: 3;\n\n  doIt(behavior: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_utils.idl\n\ntype nsIXPCTestFunctionInterface = Callable<{\n  echo(arg: string): string;\n}>\n\ninterface nsIXPCTestUtils extends nsISupports {\n  doubleWrapFunction(f: nsIXPCTestFunctionInterface): nsIXPCTestFunctionInterface;\n}\n\ninterface nsIXPCTestTypeScript extends nsISupports {\n  exposedProp: i32;\n  exposedMethod(arg: i32): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/xul/nsIBrowserController.idl\n\ninterface nsIBrowserController extends nsISupports {\n  enableDisableCommands(action: string, enabledCommands: string[], disabledCommands: string[]): void;\n}\n\n// https://searchfox.org/mozilla-central/source/dom/xul/nsIController.idl\n\ninterface nsIController extends nsISupports {\n  isCommandEnabled(command: string): boolean;\n  supportsCommand(command: string): boolean;\n  doCommand(command: string): void;\n  onEvent(eventName: string): void;\n}\n\ninterface nsICommandController extends nsISupports {\n  getCommandStateWithParams(command: string, aCommandParams: nsICommandParams): void;\n  doCommandWithParams(command: string, aCommandParams: nsICommandParams): void;\n  getSupportedCommands(): string[];\n}\n\n// https://searchfox.org/mozilla-central/source/dom/xul/nsIControllers.idl\n\ninterface nsIControllers extends nsISupports {\n  getControllerForCommand(command: string): nsIController;\n  insertControllerAt(index: u32, controller: nsIController): void;\n  removeControllerAt(index: u32): nsIController;\n  getControllerAt(index: u32): nsIController;\n  appendController(controller: nsIController): void;\n  removeController(controller: nsIController): void;\n  getControllerId(controller: nsIController): u32;\n  getControllerById(controllerID: u32): nsIController;\n  getControllerCount(): u32;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/xre/nsINativeAppSupport.idl\n\ninterface nsINativeAppSupport extends nsISupports {\n  start(): boolean;\n  enable(): void;\n  onLastWindowClosing(): void;\n  ReOpen(): void;\n}\n\n// https://searchfox.org/mozilla-central/source/toolkit/xre/nsIXREDirProvider.idl\n\ninterface nsIXREDirProvider extends nsISupports {\n  setUserDataDirectory(aFile: nsIFile, aLocal: boolean): void;\n  getInstallHash(): string;\n}\n\n// https://searchfox.org/mozilla-central/source/modules/libjar/zipwriter/nsIZipWriter.idl\n\ninterface nsIZipWriter extends nsISupports {\n  readonly COMPRESSION_NONE?: 0;\n  readonly COMPRESSION_FASTEST?: 1;\n  readonly COMPRESSION_DEFAULT?: 6;\n  readonly COMPRESSION_BEST?: 9;\n\n  comment: string;\n  readonly inQueue: boolean;\n  readonly file: nsIFile;\n  open(aFile: nsIFile, aIoFlags: i32): void;\n  getEntry(aZipEntry: string): nsIZipEntry;\n  hasEntry(aZipEntry: string): boolean;\n  addEntryDirectory(aZipEntry: string, aModTime: PRTime, aQueue: boolean): void;\n  addEntryFile(aZipEntry: string, aCompression: i32, aFile: nsIFile, aQueue: boolean): void;\n  addEntryChannel(aZipEntry: string, aModTime: PRTime, aCompression: i32, aChannel: nsIChannel, aQueue: boolean): void;\n  addEntryStream(aZipEntry: string, aModTime: PRTime, aCompression: i32, aStream: nsIInputStream, aQueue: boolean): void;\n  removeEntry(aZipEntry: string, aQueue: boolean): void;\n  processQueue(aObserver: nsIRequestObserver, aContext: nsISupports): void;\n  close(): void;\n  alignStoredFiles(aAlignSize: u16): void;\n}\n\ninterface nsIXPCComponents_Interfaces {\n  nsIBits: nsJSIID<nsIBits>;\n  nsIBitsNewRequestCallback: nsJSIID<nsIBitsNewRequestCallback>;\n  nsIBitsRequest: nsJSIID<nsIBitsRequest>;\n  nsIBitsCallback: nsJSIID<nsIBitsCallback>;\n  nsIAccessibilityService: nsJSIID<nsIAccessibilityService>;\n  nsIAccessible: nsJSIID<nsIAccessible>;\n  nsIAccessibleAnnouncementEvent: nsJSIID<nsIAccessibleAnnouncementEvent>;\n  nsIAccessibleApplication: nsJSIID<nsIAccessibleApplication>;\n  nsIAccessibleCaretMoveEvent: nsJSIID<nsIAccessibleCaretMoveEvent>;\n  nsIAccessibleDocument: nsJSIID<nsIAccessibleDocument>;\n  nsIAccessibleEditableText: nsJSIID<nsIAccessibleEditableText>;\n  nsIAccessibleEvent: nsJSIID<nsIAccessibleEvent>;\n  nsIAccessibleHideEvent: nsJSIID<nsIAccessibleHideEvent>;\n  nsIAccessibleHyperLink: nsJSIID<nsIAccessibleHyperLink>;\n  nsIAccessibleHyperText: nsJSIID<nsIAccessibleHyperText>;\n  nsIAccessibleImage: nsJSIID<nsIAccessibleImage>;\n  nsIAccessibleObjectAttributeChangedEvent: nsJSIID<nsIAccessibleObjectAttributeChangedEvent>;\n  nsIAccessiblePivot: nsJSIID<nsIAccessiblePivot>;\n  nsIAccessibleTraversalRule: nsJSIID<nsIAccessibleTraversalRule>;\n  nsIAccessibleRelation: nsJSIID<nsIAccessibleRelation>;\n  nsIAccessibleRole: nsJSIID<nsIAccessibleRole>;\n  nsIAccessibleScrollingEvent: nsJSIID<nsIAccessibleScrollingEvent>;\n  nsIAccessibleSelectable: nsJSIID<nsIAccessibleSelectable>;\n  nsIAccessibleStateChangeEvent: nsJSIID<nsIAccessibleStateChangeEvent>;\n  nsIAccessibleStates: nsJSIID<nsIAccessibleStates>;\n  nsIAccessibleTable: nsJSIID<nsIAccessibleTable>;\n  nsIAccessibleTableCell: nsJSIID<nsIAccessibleTableCell>;\n  nsIAccessibleTableChangeEvent: nsJSIID<nsIAccessibleTableChangeEvent>;\n  nsIAccessibleText: nsJSIID<nsIAccessibleText>;\n  nsIAccessibleTextChangeEvent: nsJSIID<nsIAccessibleTextChangeEvent>;\n  nsIAccessibleTextLeafPoint: nsJSIID<nsIAccessibleTextLeafPoint>;\n  nsIAccessibleTextRange: nsJSIID<nsIAccessibleTextRange>;\n  nsIAccessibleTextSelectionChangeEvent: nsJSIID<nsIAccessibleTextSelectionChangeEvent>;\n  nsIAccessibleScrollType: nsJSIID<nsIAccessibleScrollType>;\n  nsIAccessibleCoordinateType: nsJSIID<nsIAccessibleCoordinateType>;\n  nsIAccessibleValue: nsJSIID<nsIAccessibleValue>;\n  nsIAlertNotificationImageListener: nsJSIID<nsIAlertNotificationImageListener>;\n  nsIAlertAction: nsJSIID<nsIAlertAction>;\n  nsIAlertNotification: nsJSIID<nsIAlertNotification>;\n  nsIAlertsService: nsJSIID<nsIAlertsService>;\n  nsIAlertsDoNotDisturb: nsJSIID<nsIAlertsDoNotDisturb>;\n  nsIAppShellService: nsJSIID<nsIAppShellService>;\n  nsIAppWindow: nsJSIID<nsIAppWindow>;\n  nsIWindowMediator: nsJSIID<nsIWindowMediator>;\n  nsIWindowMediatorListener: nsJSIID<nsIWindowMediatorListener>;\n  nsIWindowlessBrowser: nsJSIID<nsIWindowlessBrowser>;\n  nsIXULBrowserWindow: nsJSIID<nsIXULBrowserWindow>;\n  nsIAppStartup: nsJSIID<nsIAppStartup, typeof nsIAppStartup_IDLShutdownPhase>;\n  nsIAutoCompleteController: nsJSIID<nsIAutoCompleteController>;\n  nsIAutoCompleteInput: nsJSIID<nsIAutoCompleteInput>;\n  nsIAutoCompletePopup: nsJSIID<nsIAutoCompletePopup>;\n  nsIAutoCompleteResult: nsJSIID<nsIAutoCompleteResult>;\n  nsIAutoCompleteSearch: nsJSIID<nsIAutoCompleteSearch>;\n  nsIAutoCompleteObserver: nsJSIID<nsIAutoCompleteObserver>;\n  nsIAutoCompleteSimpleResult: nsJSIID<nsIAutoCompleteSimpleResult>;\n  nsIAutoCompleteSimpleResultListener: nsJSIID<nsIAutoCompleteSimpleResultListener>;\n  nsIAutoCompleteSimpleSearch: nsJSIID<nsIAutoCompleteSimpleSearch>;\n  nsIAutoplay: nsJSIID<nsIAutoplay>;\n  nsIHangDetails: nsJSIID<nsIHangDetails>;\n  nsIBrowserHandler: nsJSIID<nsIBrowserHandler>;\n  nsIAddonPolicyService: nsJSIID<nsIAddonPolicyService>;\n  nsIAddonContentPolicy: nsJSIID<nsIAddonContentPolicy>;\n  nsIDomainPolicy: nsJSIID<nsIDomainPolicy>;\n  nsIDomainSet: nsJSIID<nsIDomainSet>;\n  nsIPrincipal: nsJSIID<nsIPrincipal>;\n  nsIScriptSecurityManager: nsJSIID<nsIScriptSecurityManager>;\n  nsICaptivePortalCallback: nsJSIID<nsICaptivePortalCallback>;\n  nsICaptivePortalDetector: nsJSIID<nsICaptivePortalDetector>;\n  nsICascadeFilter: nsJSIID<nsICascadeFilter>;\n  nsIChromeRegistry: nsJSIID<nsIChromeRegistry>;\n  nsIXULChromeRegistry: nsJSIID<nsIXULChromeRegistry>;\n  nsIToolkitChromeRegistry: nsJSIID<nsIToolkitChromeRegistry>;\n  nsICommandManager: nsJSIID<nsICommandManager>;\n  nsICommandParams: nsJSIID<nsICommandParams>;\n  nsIControllerCommand: nsJSIID<nsIControllerCommand>;\n  nsIControllerCommandTable: nsJSIID<nsIControllerCommandTable>;\n  nsIControllerContext: nsJSIID<nsIControllerContext>;\n  nsICommandLine: nsJSIID<nsICommandLine>;\n  nsICommandLineHandler: nsJSIID<nsICommandLineHandler>;\n  nsICommandLineValidator: nsJSIID<nsICommandLineValidator>;\n  nsIEditingSession: nsJSIID<nsIEditingSession>;\n  nsIEventListenerChange: nsJSIID<nsIEventListenerChange>;\n  nsIListenerChangeListener: nsJSIID<nsIListenerChangeListener>;\n  nsIEventListenerInfo: nsJSIID<nsIEventListenerInfo>;\n  nsIEventListenerService: nsJSIID<nsIEventListenerService>;\n  mozIGeckoMediaPluginChromeService: nsJSIID<mozIGeckoMediaPluginChromeService>;\n  mozIGeckoMediaPluginService: nsJSIID<mozIGeckoMediaPluginService>;\n  nsIDocShell: nsJSIID<nsIDocShell, typeof nsIDocShell_DocShellEnumeratorDirection & typeof nsIDocShell_AppType & typeof nsIDocShell_BusyFlags & typeof nsIDocShell_LoadCommand>;\n  nsIDocShellTreeItem: nsJSIID<nsIDocShellTreeItem>;\n  nsIDocShellTreeOwner: nsJSIID<nsIDocShellTreeOwner>;\n  nsIDocumentLoaderFactory: nsJSIID<nsIDocumentLoaderFactory>;\n  nsIDocumentViewer: nsJSIID<nsIDocumentViewer, typeof nsIDocumentViewer_PermitUnloadAction & typeof nsIDocumentViewer_PermitUnloadResult>;\n  nsIDocumentViewerEdit: nsJSIID<nsIDocumentViewerEdit>;\n  nsILoadContext: nsJSIID<nsILoadContext>;\n  nsILoadURIDelegate: nsJSIID<nsILoadURIDelegate>;\n  nsIPrivacyTransitionObserver: nsJSIID<nsIPrivacyTransitionObserver>;\n  nsIReflowObserver: nsJSIID<nsIReflowObserver>;\n  nsIRefreshURI: nsJSIID<nsIRefreshURI>;\n  nsITooltipListener: nsJSIID<nsITooltipListener>;\n  nsITooltipTextProvider: nsJSIID<nsITooltipTextProvider>;\n  nsIURIFixupInfo: nsJSIID<nsIURIFixupInfo>;\n  nsIURIFixup: nsJSIID<nsIURIFixup>;\n  nsIWebNavigation: nsJSIID<nsIWebNavigation>;\n  nsIWebNavigationInfo: nsJSIID<nsIWebNavigationInfo>;\n  nsIWebPageDescriptor: nsJSIID<nsIWebPageDescriptor>;\n  mozIDOMWindow: nsJSIID<mozIDOMWindow>;\n  mozIDOMWindowProxy: nsJSIID<mozIDOMWindowProxy>;\n  nsIContentPolicy: nsJSIID<nsIContentPolicy, typeof nsIContentPolicy_nsContentPolicyType>;\n  nsIDroppedLinkItem: nsJSIID<nsIDroppedLinkItem>;\n  nsIDroppedLinkHandler: nsJSIID<nsIDroppedLinkHandler>;\n  nsIEventSourceEventListener: nsJSIID<nsIEventSourceEventListener>;\n  nsIEventSourceEventService: nsJSIID<nsIEventSourceEventService>;\n  nsIImageLoadingContent: nsJSIID<nsIImageLoadingContent>;\n  nsIMessageSender: nsJSIID<nsIMessageSender>;\n  nsIObjectLoadingContent: nsJSIID<nsIObjectLoadingContent>;\n  nsIScriptableContentIterator: nsJSIID<nsIScriptableContentIterator, typeof nsIScriptableContentIterator_IteratorType>;\n  nsISelectionController: nsJSIID<nsISelectionController, typeof nsISelectionController_ControllerScrollFlags>;\n  nsISelectionDisplay: nsJSIID<nsISelectionDisplay>;\n  nsISelectionListener: nsJSIID<nsISelectionListener>;\n  nsISlowScriptDebugCallback: nsJSIID<nsISlowScriptDebugCallback>;\n  nsISlowScriptDebuggerStartupCallback: nsJSIID<nsISlowScriptDebuggerStartupCallback>;\n  nsISlowScriptDebugRemoteCallback: nsJSIID<nsISlowScriptDebugRemoteCallback>;\n  nsISlowScriptDebug: nsJSIID<nsISlowScriptDebug>;\n  nsIConsoleAPIStorage: nsJSIID<nsIConsoleAPIStorage>;\n  mozIRemoteLazyInputStream: nsJSIID<mozIRemoteLazyInputStream>;\n  nsIDOMProcessChild: nsJSIID<nsIDOMProcessChild>;\n  nsIDOMProcessParent: nsJSIID<nsIDOMProcessParent>;\n  nsIContentParentKeepAlive: nsJSIID<nsIContentParentKeepAlive>;\n  nsIHangReport: nsJSIID<nsIHangReport>;\n  nsILoginDetectionService: nsJSIID<nsILoginDetectionService>;\n  nsISuspendedTypes: nsJSIID<nsISuspendedTypes>;\n  nsIBrowser: nsJSIID<nsIBrowser>;\n  nsIBrowserChild: nsJSIID<nsIBrowserChild>;\n  nsIOpenURIInFrameParams: nsJSIID<nsIOpenURIInFrameParams>;\n  nsIBrowserDOMWindow: nsJSIID<nsIBrowserDOMWindow>;\n  nsIBrowserUsage: nsJSIID<nsIBrowserUsage>;\n  nsIContentPermissionType: nsJSIID<nsIContentPermissionType>;\n  nsIContentPermissionRequest: nsJSIID<nsIContentPermissionRequest>;\n  nsIContentPermissionPrompt: nsJSIID<nsIContentPermissionPrompt>;\n  nsIContentPrefObserver: nsJSIID<nsIContentPrefObserver>;\n  nsIContentPrefService2: nsJSIID<nsIContentPrefService2>;\n  nsIContentPrefCallback2: nsJSIID<nsIContentPrefCallback2>;\n  nsIContentPref: nsJSIID<nsIContentPref>;\n  nsIDOMGlobalPropertyInitializer: nsJSIID<nsIDOMGlobalPropertyInitializer>;\n  nsIDOMWindow: nsJSIID<nsIDOMWindow>;\n  nsISynthesizedEventCallback: nsJSIID<nsISynthesizedEventCallback>;\n  nsIDOMWindowUtils: nsJSIID<nsIDOMWindowUtils>;\n  nsITranslationNodeList: nsJSIID<nsITranslationNodeList>;\n  nsIJSRAIIHelper: nsJSIID<nsIJSRAIIHelper>;\n  nsIFocusManager: nsJSIID<nsIFocusManager>;\n  nsIGeckoViewServiceWorker: nsJSIID<nsIGeckoViewServiceWorker>;\n  nsIPermissionDelegateHandler: nsJSIID<nsIPermissionDelegateHandler>;\n  nsIQueryContentEventResult: nsJSIID<nsIQueryContentEventResult>;\n  nsIRemoteTab: nsJSIID<nsIRemoteTab, typeof nsIRemoteTab_NavigationType>;\n  nsIServiceWorkerUnregisterCallback: nsJSIID<nsIServiceWorkerUnregisterCallback>;\n  nsIServiceWorkerInfo: nsJSIID<nsIServiceWorkerInfo>;\n  nsIServiceWorkerRegistrationInfoListener: nsJSIID<nsIServiceWorkerRegistrationInfoListener>;\n  nsIServiceWorkerRegistrationInfo: nsJSIID<nsIServiceWorkerRegistrationInfo>;\n  nsIServiceWorkerManagerListener: nsJSIID<nsIServiceWorkerManagerListener>;\n  nsIServiceWorkerManager: nsJSIID<nsIServiceWorkerManager>;\n  nsIStructuredCloneContainer: nsJSIID<nsIStructuredCloneContainer>;\n  nsITextInputProcessor: nsJSIID<nsITextInputProcessor>;\n  nsITextInputProcessorNotification: nsJSIID<nsITextInputProcessorNotification>;\n  nsITextInputProcessorCallback: nsJSIID<nsITextInputProcessorCallback>;\n  nsIScriptErrorNote: nsJSIID<nsIScriptErrorNote>;\n  nsIScriptError: nsJSIID<nsIScriptError>;\n  nsIDOMGeoPosition: nsJSIID<nsIDOMGeoPosition>;\n  nsIDOMGeoPositionCallback: nsJSIID<nsIDOMGeoPositionCallback>;\n  nsIDOMGeoPositionCoords: nsJSIID<nsIDOMGeoPositionCoords>;\n  nsIDOMGeoPositionErrorCallback: nsJSIID<nsIDOMGeoPositionErrorCallback>;\n  nsICredentialChooserService: nsJSIID<nsICredentialChooserService>;\n  nsICredentialChosenCallback: nsJSIID<nsICredentialChosenCallback>;\n  nsIIdentityCredentialPromptService: nsJSIID<nsIIdentityCredentialPromptService>;\n  nsIIdentityCredentialStorageService: nsJSIID<nsIIdentityCredentialStorageService>;\n  nsIIDBPermissionsRequest: nsJSIID<nsIIDBPermissionsRequest>;\n  nsIIndexedDatabaseManager: nsJSIID<nsIIndexedDatabaseManager>;\n  nsILocalStorageManager: nsJSIID<nsILocalStorageManager>;\n  nsIAudioDeviceInfo: nsJSIID<nsIAudioDeviceInfo>;\n  nsIMediaDevice: nsJSIID<nsIMediaDevice>;\n  nsIMediaManagerService: nsJSIID<nsIMediaManagerService>;\n  nsITCPSocketCallback: nsJSIID<nsITCPSocketCallback>;\n  nsIUDPSocketInternal: nsJSIID<nsIUDPSocketInternal>;\n  nsINotificationActionStorageEntry: nsJSIID<nsINotificationActionStorageEntry>;\n  nsINotificationStorageEntry: nsJSIID<nsINotificationStorageEntry>;\n  nsINotificationStorageCallback: nsJSIID<nsINotificationStorageCallback>;\n  nsINotificationStorage: nsJSIID<nsINotificationStorage>;\n  nsINotificationHandler: nsJSIID<nsINotificationHandler>;\n  nsIPaymentResponseData: nsJSIID<nsIPaymentResponseData>;\n  nsIGeneralResponseData: nsJSIID<nsIGeneralResponseData>;\n  nsIBasicCardResponseData: nsJSIID<nsIBasicCardResponseData>;\n  nsIPaymentActionResponse: nsJSIID<nsIPaymentActionResponse>;\n  nsIPaymentCanMakeActionResponse: nsJSIID<nsIPaymentCanMakeActionResponse>;\n  nsIPaymentShowActionResponse: nsJSIID<nsIPaymentShowActionResponse>;\n  nsIPaymentAbortActionResponse: nsJSIID<nsIPaymentAbortActionResponse>;\n  nsIPaymentCompleteActionResponse: nsJSIID<nsIPaymentCompleteActionResponse>;\n  nsIMethodChangeDetails: nsJSIID<nsIMethodChangeDetails>;\n  nsIGeneralChangeDetails: nsJSIID<nsIGeneralChangeDetails>;\n  nsIBasicCardChangeDetails: nsJSIID<nsIBasicCardChangeDetails>;\n  nsIPaymentAddress: nsJSIID<nsIPaymentAddress>;\n  nsIPaymentMethodData: nsJSIID<nsIPaymentMethodData>;\n  nsIPaymentCurrencyAmount: nsJSIID<nsIPaymentCurrencyAmount>;\n  nsIPaymentItem: nsJSIID<nsIPaymentItem>;\n  nsIPaymentDetailsModifier: nsJSIID<nsIPaymentDetailsModifier>;\n  nsIPaymentShippingOption: nsJSIID<nsIPaymentShippingOption>;\n  nsIPaymentDetails: nsJSIID<nsIPaymentDetails>;\n  nsIPaymentOptions: nsJSIID<nsIPaymentOptions>;\n  nsIPaymentRequest: nsJSIID<nsIPaymentRequest>;\n  nsIPaymentRequestService: nsJSIID<nsIPaymentRequestService>;\n  nsIPaymentUIService: nsJSIID<nsIPaymentUIService>;\n  nsIDOMMozWakeLockListener: nsJSIID<nsIDOMMozWakeLockListener>;\n  nsIPowerManagerService: nsJSIID<nsIPowerManagerService>;\n  nsIWakeLock: nsJSIID<nsIWakeLock>;\n  nsIPushErrorReporter: nsJSIID<nsIPushErrorReporter>;\n  nsIPushNotifier: nsJSIID<nsIPushNotifier>;\n  nsIPushData: nsJSIID<nsIPushData>;\n  nsIPushMessage: nsJSIID<nsIPushMessage>;\n  nsIPushSubscription: nsJSIID<nsIPushSubscription>;\n  nsIPushSubscriptionCallback: nsJSIID<nsIPushSubscriptionCallback>;\n  nsIUnsubscribeResultCallback: nsJSIID<nsIUnsubscribeResultCallback>;\n  nsIPushClearResultCallback: nsJSIID<nsIPushClearResultCallback>;\n  nsIPushService: nsJSIID<nsIPushService>;\n  nsIPushQuotaManager: nsJSIID<nsIPushQuotaManager>;\n  nsIQuotaArtificialFailure: nsJSIID<nsIQuotaArtificialFailure, typeof nsIQuotaArtificialFailure_Category>;\n  nsIQuotaUsageCallback: nsJSIID<nsIQuotaUsageCallback>;\n  nsIQuotaCallback: nsJSIID<nsIQuotaCallback>;\n  nsIQuotaManagerService: nsJSIID<nsIQuotaManagerService>;\n  nsIQuotaManagerServiceInternal: nsJSIID<nsIQuotaManagerServiceInternal>;\n  nsIQuotaRequestBase: nsJSIID<nsIQuotaRequestBase>;\n  nsIQuotaUsageRequest: nsJSIID<nsIQuotaUsageRequest>;\n  nsIQuotaRequest: nsJSIID<nsIQuotaRequest>;\n  nsIQuotaFullOriginMetadataResult: nsJSIID<nsIQuotaFullOriginMetadataResult>;\n  nsIQuotaUsageResult: nsJSIID<nsIQuotaUsageResult>;\n  nsIQuotaOriginUsageResult: nsJSIID<nsIQuotaOriginUsageResult>;\n  nsIQuotaEstimateResult: nsJSIID<nsIQuotaEstimateResult>;\n  nsIQuotaUtilsService: nsJSIID<nsIQuotaUtilsService>;\n  nsIContentSecurityManager: nsJSIID<nsIContentSecurityManager>;\n  nsIContentSecurityPolicy: nsJSIID<nsIContentSecurityPolicy, typeof nsIContentSecurityPolicy_CSPDirective & typeof nsIContentSecurityPolicy_RequireTrustedTypesForDirectiveState>;\n  nsICSPEventListener: nsJSIID<nsICSPEventListener>;\n  nsIIntegrityPolicy: nsJSIID<nsIIntegrityPolicy>;\n  nsIReferrerInfo: nsJSIID<nsIReferrerInfo, typeof nsIReferrerInfo_ReferrerPolicyIDL>;\n  nsIHttpsOnlyModePermission: nsJSIID<nsIHttpsOnlyModePermission>;\n  nsIDocumentEncoderNodeFixup: nsJSIID<nsIDocumentEncoderNodeFixup>;\n  nsIDocumentEncoder: nsJSIID<nsIDocumentEncoder>;\n  nsIWebProtocolHandlerRegistrar: nsJSIID<nsIWebProtocolHandlerRegistrar>;\n  nsISDBCallback: nsJSIID<nsISDBCallback>;\n  nsISDBCloseCallback: nsJSIID<nsISDBCloseCallback>;\n  nsISDBConnection: nsJSIID<nsISDBConnection>;\n  nsISDBRequest: nsJSIID<nsISDBRequest>;\n  nsISDBResult: nsJSIID<nsISDBResult>;\n  nsIDOMStorageManager: nsJSIID<nsIDOMStorageManager>;\n  nsIStorageActivityService: nsJSIID<nsIStorageActivityService>;\n  nsISessionStorageService: nsJSIID<nsISessionStorageService>;\n  nsIOSPermissionRequest: nsJSIID<nsIOSPermissionRequest>;\n  nsICredentialParameters: nsJSIID<nsICredentialParameters>;\n  nsIWebAuthnAutoFillEntry: nsJSIID<nsIWebAuthnAutoFillEntry>;\n  nsIWebAuthnService: nsJSIID<nsIWebAuthnService>;\n  nsISpeechTaskCallback: nsJSIID<nsISpeechTaskCallback>;\n  nsISpeechTask: nsJSIID<nsISpeechTask>;\n  nsISpeechService: nsJSIID<nsISpeechService>;\n  nsISynthVoiceRegistry: nsJSIID<nsISynthVoiceRegistry>;\n  nsIWorkerChannelLoadInfo: nsJSIID<nsIWorkerChannelLoadInfo>;\n  nsIWorkerChannelInfo: nsJSIID<nsIWorkerChannelInfo>;\n  nsIWorkerDebuggerListener: nsJSIID<nsIWorkerDebuggerListener>;\n  nsIWorkerDebugger: nsJSIID<nsIWorkerDebugger>;\n  nsIWorkerDebuggerManagerListener: nsJSIID<nsIWorkerDebuggerManagerListener>;\n  nsIWorkerDebuggerManager: nsJSIID<nsIWorkerDebuggerManager>;\n  txIEXSLTFunctions: nsJSIID<txIEXSLTFunctions>;\n  nsIDOMXULButtonElement: nsJSIID<nsIDOMXULButtonElement>;\n  nsIDOMXULCommandDispatcher: nsJSIID<nsIDOMXULCommandDispatcher>;\n  nsIDOMXULContainerItemElement: nsJSIID<nsIDOMXULContainerItemElement>;\n  nsIDOMXULContainerElement: nsJSIID<nsIDOMXULContainerElement>;\n  nsIDOMXULControlElement: nsJSIID<nsIDOMXULControlElement>;\n  nsIDOMXULMenuListElement: nsJSIID<nsIDOMXULMenuListElement>;\n  nsIDOMXULMultiSelectControlElement: nsJSIID<nsIDOMXULMultiSelectControlElement>;\n  nsIDOMXULRadioGroupElement: nsJSIID<nsIDOMXULRadioGroupElement>;\n  nsIDOMXULRelatedElement: nsJSIID<nsIDOMXULRelatedElement>;\n  nsIDOMXULSelectControlElement: nsJSIID<nsIDOMXULSelectControlElement>;\n  nsIDOMXULSelectControlItemElement: nsJSIID<nsIDOMXULSelectControlItemElement>;\n  mozIDownloadPlatform: nsJSIID<mozIDownloadPlatform>;\n  nsIDocumentStateListener: nsJSIID<nsIDocumentStateListener>;\n  nsIEditActionListener: nsJSIID<nsIEditActionListener>;\n  nsIEditor: nsJSIID<nsIEditor>;\n  nsIEditorMailSupport: nsJSIID<nsIEditorMailSupport>;\n  nsIEditorSpellCheck: nsJSIID<nsIEditorSpellCheck>;\n  nsIEditorSpellCheckCallback: nsJSIID<nsIEditorSpellCheckCallback>;\n  nsIHTMLAbsPosEditor: nsJSIID<nsIHTMLAbsPosEditor>;\n  nsIHTMLEditor: nsJSIID<nsIHTMLEditor>;\n  nsIHTMLInlineTableEditor: nsJSIID<nsIHTMLInlineTableEditor>;\n  nsIHTMLObjectResizer: nsJSIID<nsIHTMLObjectResizer>;\n  nsITableEditor: nsJSIID<nsITableEditor>;\n  nsIEnterprisePolicies: nsJSIID<nsIEnterprisePolicies>;\n  amIAddonManagerStartup: nsJSIID<amIAddonManagerStartup>;\n  amIWebInstallPrompt: nsJSIID<amIWebInstallPrompt>;\n  nsIContentDispatchChooser: nsJSIID<nsIContentDispatchChooser>;\n  nsIExternalHelperAppService: nsJSIID<nsIExternalHelperAppService>;\n  nsPIExternalAppLauncher: nsJSIID<nsPIExternalAppLauncher>;\n  nsIHelperAppLauncher: nsJSIID<nsIHelperAppLauncher>;\n  nsIExternalProtocolService: nsJSIID<nsIExternalProtocolService>;\n  nsIHandlerService: nsJSIID<nsIHandlerService>;\n  nsIHelperAppLauncherDialog: nsJSIID<nsIHelperAppLauncherDialog>;\n  nsISharingHandlerApp: nsJSIID<nsISharingHandlerApp>;\n  nsITypeAheadFind: nsJSIID<nsITypeAheadFind>;\n  nsIFOG: nsJSIID<nsIFOG>;\n  nsIGleanPingTestCallback: nsJSIID<nsIGleanPingTestCallback>;\n  nsIGleanPingSubmitCallback: nsJSIID<nsIGleanPingSubmitCallback>;\n  nsIGleanPing: nsJSIID<nsIGleanPing>;\n  nsIFontEnumerator: nsJSIID<nsIFontEnumerator>;\n  nsIParserUtils: nsJSIID<nsIParserUtils>;\n  nsIExpatSink: nsJSIID<nsIExpatSink>;\n  nsISFVBareItem: nsJSIID<nsISFVBareItem>;\n  nsISFVInteger: nsJSIID<nsISFVInteger>;\n  nsISFVString: nsJSIID<nsISFVString>;\n  nsISFVBool: nsJSIID<nsISFVBool>;\n  nsISFVDecimal: nsJSIID<nsISFVDecimal>;\n  nsISFVToken: nsJSIID<nsISFVToken>;\n  nsISFVByteSeq: nsJSIID<nsISFVByteSeq>;\n  nsISFVParams: nsJSIID<nsISFVParams>;\n  nsISFVParametrizable: nsJSIID<nsISFVParametrizable>;\n  nsISFVItemOrInnerList: nsJSIID<nsISFVItemOrInnerList>;\n  nsISFVSerialize: nsJSIID<nsISFVSerialize>;\n  nsISFVItem: nsJSIID<nsISFVItem>;\n  nsISFVInnerList: nsJSIID<nsISFVInnerList>;\n  nsISFVList: nsJSIID<nsISFVList>;\n  nsISFVDictionary: nsJSIID<nsISFVDictionary>;\n  nsISFVService: nsJSIID<nsISFVService>;\n  imgICache: nsJSIID<imgICache>;\n  imgIContainer: nsJSIID<imgIContainer, typeof imgIContainer_DecodeResult>;\n  imgIContainerDebug: nsJSIID<imgIContainerDebug>;\n  imgIEncoder: nsJSIID<imgIEncoder>;\n  imgILoader: nsJSIID<imgILoader>;\n  imgINotificationObserver: nsJSIID<imgINotificationObserver>;\n  imgIRequest: nsJSIID<imgIRequest>;\n  imgIScriptedNotificationObserver: nsJSIID<imgIScriptedNotificationObserver>;\n  imgITools: nsJSIID<imgITools>;\n  imgIContainerCallback: nsJSIID<imgIContainerCallback>;\n  nsIMozIconURI: nsJSIID<nsIMozIconURI>;\n  inIDeepTreeWalker: nsJSIID<inIDeepTreeWalker>;\n  nsIStringBundle: nsJSIID<nsIStringBundle>;\n  nsIStringBundleService: nsJSIID<nsIStringBundleService>;\n  nsIJARChannel: nsJSIID<nsIJARChannel>;\n  nsIJARURI: nsJSIID<nsIJARURI>;\n  nsIZipEntry: nsJSIID<nsIZipEntry>;\n  nsIZipReader: nsJSIID<nsIZipReader>;\n  nsIZipReaderCache: nsJSIID<nsIZipReaderCache>;\n  IJSDebugger: nsJSIID<IJSDebugger>;\n  nsIJSInspector: nsJSIID<nsIJSInspector>;\n  nsIKeyValueService: nsJSIID<nsIKeyValueService, typeof nsIKeyValueService_RecoveryStrategy>;\n  nsIKeyValueImportSourceSpec: nsJSIID<nsIKeyValueImportSourceSpec>;\n  nsIKeyValueImporter: nsJSIID<nsIKeyValueImporter, typeof nsIKeyValueImporter_ConflictPolicy & typeof nsIKeyValueImporter_CleanupPolicy>;\n  nsIKeyValueDatabaseImportOptions: nsJSIID<nsIKeyValueDatabaseImportOptions>;\n  nsIKeyValueDatabase: nsJSIID<nsIKeyValueDatabase>;\n  nsIKeyValuePair: nsJSIID<nsIKeyValuePair>;\n  nsIKeyValueEnumerator: nsJSIID<nsIKeyValueEnumerator>;\n  nsIKeyValueDatabaseCallback: nsJSIID<nsIKeyValueDatabaseCallback>;\n  nsIKeyValueEnumeratorCallback: nsJSIID<nsIKeyValueEnumeratorCallback>;\n  nsIKeyValuePairCallback: nsJSIID<nsIKeyValuePairCallback>;\n  nsIKeyValueVariantCallback: nsJSIID<nsIKeyValueVariantCallback>;\n  nsIKeyValueVoidCallback: nsJSIID<nsIKeyValueVoidCallback>;\n  nsILayoutHistoryState: nsJSIID<nsILayoutHistoryState>;\n  nsIPreloadedStyleSheet: nsJSIID<nsIPreloadedStyleSheet>;\n  nsISVGPaintContext: nsJSIID<nsISVGPaintContext>;\n  nsIStyleSheetService: nsJSIID<nsIStyleSheetService>;\n  nsITreeSelection: nsJSIID<nsITreeSelection>;\n  nsITreeView: nsJSIID<nsITreeView>;\n  mozILocaleService: nsJSIID<mozILocaleService>;\n  mozIOSPreferences: nsJSIID<mozIOSPreferences>;\n  nsILoginInfo: nsJSIID<nsILoginInfo>;\n  nsILoginSearchCallback: nsJSIID<nsILoginSearchCallback>;\n  nsILoginManager: nsJSIID<nsILoginManager>;\n  nsILoginManagerAuthPrompter: nsJSIID<nsILoginManagerAuthPrompter>;\n  nsILoginManagerCrypto: nsJSIID<nsILoginManagerCrypto>;\n  nsILoginManagerPrompter: nsJSIID<nsILoginManagerPrompter>;\n  nsILoginMetaInfo: nsJSIID<nsILoginMetaInfo>;\n  nsIPromptInstance: nsJSIID<nsIPromptInstance>;\n  nsIEdgeMigrationUtils: nsJSIID<nsIEdgeMigrationUtils>;\n  nsIMIMEHeaderParam: nsJSIID<nsIMIMEHeaderParam>;\n  nsIHandlerInfo: nsJSIID<nsIHandlerInfo>;\n  nsIMIMEInfo: nsJSIID<nsIMIMEInfo>;\n  nsIHandlerApp: nsJSIID<nsIHandlerApp>;\n  nsILocalHandlerApp: nsJSIID<nsILocalHandlerApp>;\n  nsIWebHandlerApp: nsJSIID<nsIWebHandlerApp>;\n  nsIDBusHandlerApp: nsJSIID<nsIDBusHandlerApp>;\n  nsIMIMEService: nsJSIID<nsIMIMEService>;\n  nsIMLUtils: nsJSIID<nsIMLUtils>;\n  nsIFind: nsJSIID<nsIFind>;\n  nsIFindService: nsJSIID<nsIFindService>;\n  nsIWebBrowserFind: nsJSIID<nsIWebBrowserFind>;\n  nsIWebBrowserFindInFrames: nsJSIID<nsIWebBrowserFindInFrames>;\n  mozIMozIntl: nsJSIID<mozIMozIntl>;\n  mozIMozIntlHelper: nsJSIID<mozIMozIntlHelper>;\n  mozIThirdPartyUtil: nsJSIID<mozIThirdPartyUtil>;\n  nsIAndroidContentInputStream: nsJSIID<nsIAndroidContentInputStream>;\n  nsIArrayBufferInputStream: nsJSIID<nsIArrayBufferInputStream>;\n  nsIAsyncStreamCopier: nsJSIID<nsIAsyncStreamCopier>;\n  nsIAsyncStreamCopier2: nsJSIID<nsIAsyncStreamCopier2>;\n  nsIAsyncVerifyRedirectCallback: nsJSIID<nsIAsyncVerifyRedirectCallback>;\n  nsIAuthInformation: nsJSIID<nsIAuthInformation>;\n  nsIAuthPrompt: nsJSIID<nsIAuthPrompt>;\n  nsIAuthPrompt2: nsJSIID<nsIAuthPrompt2>;\n  nsIAuthPromptAdapterFactory: nsJSIID<nsIAuthPromptAdapterFactory>;\n  nsIAuthPromptCallback: nsJSIID<nsIAuthPromptCallback>;\n  nsIAuthPromptProvider: nsJSIID<nsIAuthPromptProvider>;\n  nsIBackgroundFileSaver: nsJSIID<nsIBackgroundFileSaver>;\n  nsIBackgroundFileSaverObserver: nsJSIID<nsIBackgroundFileSaverObserver>;\n  nsIBufferedInputStream: nsJSIID<nsIBufferedInputStream>;\n  nsIBufferedOutputStream: nsJSIID<nsIBufferedOutputStream>;\n  nsIByteRangeRequest: nsJSIID<nsIByteRangeRequest>;\n  nsIInputStreamReceiver: nsJSIID<nsIInputStreamReceiver>;\n  nsICacheInfoChannel: nsJSIID<nsICacheInfoChannel, typeof nsICacheInfoChannel_PreferredAlternativeDataDeliveryType>;\n  nsICachingChannel: nsJSIID<nsICachingChannel>;\n  nsICancelable: nsJSIID<nsICancelable>;\n  nsICaptivePortalServiceCallback: nsJSIID<nsICaptivePortalServiceCallback>;\n  nsICaptivePortalService: nsJSIID<nsICaptivePortalService>;\n  nsIChannel: nsJSIID<nsIChannel>;\n  nsIIdentChannel: nsJSIID<nsIIdentChannel>;\n  nsIChannelEventSink: nsJSIID<nsIChannelEventSink>;\n  nsIChildChannel: nsJSIID<nsIChildChannel>;\n  nsIClassOfService: nsJSIID<nsIClassOfService, typeof nsIClassOfService_FetchPriority>;\n  nsIClassifiedChannel: nsJSIID<nsIClassifiedChannel, typeof nsIClassifiedChannel_ClassificationFlags>;\n  nsIContentSniffer: nsJSIID<nsIContentSniffer>;\n  nsIDHCPClient: nsJSIID<nsIDHCPClient>;\n  nsINetDashboardCallback: nsJSIID<nsINetDashboardCallback>;\n  nsIDashboard: nsJSIID<nsIDashboard>;\n  nsIDownloader: nsJSIID<nsIDownloader>;\n  nsIDownloadObserver: nsJSIID<nsIDownloadObserver>;\n  nsIEncodedChannel: nsJSIID<nsIEncodedChannel>;\n  nsIExternalProtocolHandler: nsJSIID<nsIExternalProtocolHandler>;\n  nsIFileInputStream: nsJSIID<nsIFileInputStream>;\n  nsIFileOutputStream: nsJSIID<nsIFileOutputStream>;\n  nsIFileRandomAccessStream: nsJSIID<nsIFileRandomAccessStream>;\n  nsIFileMetadata: nsJSIID<nsIFileMetadata>;\n  nsIAsyncFileMetadata: nsJSIID<nsIAsyncFileMetadata>;\n  nsIFileMetadataCallback: nsJSIID<nsIFileMetadataCallback>;\n  nsIFileURL: nsJSIID<nsIFileURL>;\n  nsIFileURLMutator: nsJSIID<nsIFileURLMutator>;\n  nsIFormPOSTActionChannel: nsJSIID<nsIFormPOSTActionChannel>;\n  nsIIOService: nsJSIID<nsIIOService>;\n  nsIIncrementalDownload: nsJSIID<nsIIncrementalDownload>;\n  nsIIncrementalStreamLoaderObserver: nsJSIID<nsIIncrementalStreamLoaderObserver>;\n  nsIIncrementalStreamLoader: nsJSIID<nsIIncrementalStreamLoader>;\n  nsIInputStreamChannel: nsJSIID<nsIInputStreamChannel>;\n  nsIInputStreamPump: nsJSIID<nsIInputStreamPump>;\n  nsIInterceptionInfo: nsJSIID<nsIInterceptionInfo>;\n  nsILoadContextInfo: nsJSIID<nsILoadContextInfo>;\n  nsILoadContextInfoFactory: nsJSIID<nsILoadContextInfoFactory>;\n  nsILoadGroup: nsJSIID<nsILoadGroup>;\n  nsILoadGroupChild: nsJSIID<nsILoadGroupChild>;\n  nsILoadInfo: nsJSIID<nsILoadInfo, typeof nsILoadInfo_StoragePermissionState & typeof nsILoadInfo_IPAddressSpace & typeof nsILoadInfo_CrossOriginOpenerPolicy & typeof nsILoadInfo_CrossOriginEmbedderPolicy & typeof nsILoadInfo_SchemelessInputType & typeof nsILoadInfo_HTTPSUpgradeTelemetryType>;\n  nsIMIMEInputStream: nsJSIID<nsIMIMEInputStream>;\n  nsIMockNetworkLayerController: nsJSIID<nsIMockNetworkLayerController>;\n  nsIMultiPartChannel: nsJSIID<nsIMultiPartChannel>;\n  nsIMultiPartChannelListener: nsJSIID<nsIMultiPartChannelListener>;\n  nsINestedURI: nsJSIID<nsINestedURI>;\n  nsINestedURIMutator: nsJSIID<nsINestedURIMutator>;\n  nsINestedAboutURIMutator: nsJSIID<nsINestedAboutURIMutator>;\n  nsIJSURIMutator: nsJSIID<nsIJSURIMutator>;\n  nsINetAddr: nsJSIID<nsINetAddr>;\n  nsINetUtil: nsJSIID<nsINetUtil>;\n  nsINetworkConnectivityService: nsJSIID<nsINetworkConnectivityService, typeof nsINetworkConnectivityService_ConnectivityState>;\n  nsIListNetworkAddressesListener: nsJSIID<nsIListNetworkAddressesListener>;\n  nsIGetHostnameListener: nsJSIID<nsIGetHostnameListener>;\n  nsINetworkInfoService: nsJSIID<nsINetworkInfoService>;\n  nsIInterceptedBodyCallback: nsJSIID<nsIInterceptedBodyCallback>;\n  nsIInterceptedChannel: nsJSIID<nsIInterceptedChannel>;\n  nsINetworkInterceptController: nsJSIID<nsINetworkInterceptController>;\n  nsINetworkLinkService: nsJSIID<nsINetworkLinkService>;\n  nsINetworkPredictor: nsJSIID<nsINetworkPredictor>;\n  nsINetworkPredictorVerifier: nsJSIID<nsINetworkPredictorVerifier>;\n  nsINullChannel: nsJSIID<nsINullChannel>;\n  nsIParentChannel: nsJSIID<nsIParentChannel>;\n  nsIPermission: nsJSIID<nsIPermission>;\n  nsIPermissionManager: nsJSIID<nsIPermissionManager>;\n  nsIPrivateBrowsingChannel: nsJSIID<nsIPrivateBrowsingChannel>;\n  nsIProgressEventSink: nsJSIID<nsIProgressEventSink>;\n  nsIPrompt: nsJSIID<nsIPrompt>;\n  nsIProtocolHandlerWithDynamicFlags: nsJSIID<nsIProtocolHandlerWithDynamicFlags>;\n  nsIProtocolHandler: nsJSIID<nsIProtocolHandler>;\n  nsIProtocolProxyCallback: nsJSIID<nsIProtocolProxyCallback>;\n  nsIProxyProtocolFilterResult: nsJSIID<nsIProxyProtocolFilterResult>;\n  nsIProtocolProxyFilter: nsJSIID<nsIProtocolProxyFilter>;\n  nsIProtocolProxyChannelFilter: nsJSIID<nsIProtocolProxyChannelFilter>;\n  nsIProxyConfigChangedCallback: nsJSIID<nsIProxyConfigChangedCallback>;\n  nsIProtocolProxyService: nsJSIID<nsIProtocolProxyService>;\n  nsIProtocolProxyService2: nsJSIID<nsIProtocolProxyService2>;\n  nsIProxiedChannel: nsJSIID<nsIProxiedChannel>;\n  nsIProxiedProtocolHandler: nsJSIID<nsIProxiedProtocolHandler>;\n  nsIProxyInfo: nsJSIID<nsIProxyInfo>;\n  nsIRandomGenerator: nsJSIID<nsIRandomGenerator>;\n  nsIRedirectChannelRegistrar: nsJSIID<nsIRedirectChannelRegistrar>;\n  nsIRedirectHistoryEntry: nsJSIID<nsIRedirectHistoryEntry>;\n  nsIRedirectResultListener: nsJSIID<nsIRedirectResultListener>;\n  nsIRequest: nsJSIID<nsIRequest, typeof nsIRequest_TRRMode>;\n  nsIRequestObserver: nsJSIID<nsIRequestObserver>;\n  nsIRequestObserverProxy: nsJSIID<nsIRequestObserverProxy>;\n  nsIResumableChannel: nsJSIID<nsIResumableChannel>;\n  nsISecCheckWrapChannel: nsJSIID<nsISecCheckWrapChannel>;\n  nsISecureBrowserUI: nsJSIID<nsISecureBrowserUI>;\n  nsISensitiveInfoHiddenURI: nsJSIID<nsISensitiveInfoHiddenURI>;\n  nsISerializationHelper: nsJSIID<nsISerializationHelper>;\n  nsIServerSocket: nsJSIID<nsIServerSocket>;\n  nsIServerSocketListener: nsJSIID<nsIServerSocketListener>;\n  nsISimpleStreamListener: nsJSIID<nsISimpleStreamListener>;\n  nsISimpleURIMutator: nsJSIID<nsISimpleURIMutator>;\n  nsISocketTransport: nsJSIID<nsISocketTransport>;\n  nsISTSShutdownObserver: nsJSIID<nsISTSShutdownObserver>;\n  nsISocketTransportService: nsJSIID<nsISocketTransportService>;\n  nsIRoutedSocketTransportService: nsJSIID<nsIRoutedSocketTransportService>;\n  nsISpeculativeConnect: nsJSIID<nsISpeculativeConnect>;\n  nsIStandardURL: nsJSIID<nsIStandardURL>;\n  nsIStandardURLMutator: nsJSIID<nsIStandardURLMutator>;\n  nsIStreamListener: nsJSIID<nsIStreamListener>;\n  nsIStreamListenerTee: nsJSIID<nsIStreamListenerTee>;\n  nsIStreamLoaderObserver: nsJSIID<nsIStreamLoaderObserver>;\n  nsIStreamLoader: nsJSIID<nsIStreamLoader>;\n  nsIStreamTransportService: nsJSIID<nsIStreamTransportService>;\n  nsISuspendableChannelWrapper: nsJSIID<nsISuspendableChannelWrapper>;\n  nsISyncStreamListener: nsJSIID<nsISyncStreamListener>;\n  nsISystemProxySettings: nsJSIID<nsISystemProxySettings>;\n  nsITLSServerSocket: nsJSIID<nsITLSServerSocket>;\n  nsITLSClientStatus: nsJSIID<nsITLSClientStatus>;\n  nsITLSServerConnectionInfo: nsJSIID<nsITLSServerConnectionInfo>;\n  nsITLSServerSecurityObserver: nsJSIID<nsITLSServerSecurityObserver>;\n  nsIThreadRetargetableStreamListener: nsJSIID<nsIThreadRetargetableStreamListener>;\n  nsIInputChannelThrottleQueue: nsJSIID<nsIInputChannelThrottleQueue>;\n  nsIThrottledInputChannel: nsJSIID<nsIThrottledInputChannel>;\n  nsIServerTiming: nsJSIID<nsIServerTiming>;\n  nsITimedChannel: nsJSIID<nsITimedChannel, typeof nsITimedChannel_BodyInfoAccess>;\n  nsITraceableChannel: nsJSIID<nsITraceableChannel>;\n  nsITransport: nsJSIID<nsITransport>;\n  nsITransportEventSink: nsJSIID<nsITransportEventSink>;\n  nsIUDPSocket: nsJSIID<nsIUDPSocket>;\n  nsIUDPSocketListener: nsJSIID<nsIUDPSocketListener>;\n  nsIUDPMessage: nsJSIID<nsIUDPMessage>;\n  nsIURI: nsJSIID<nsIURI>;\n  nsIURISetSpec: nsJSIID<nsIURISetSpec>;\n  nsIURISetters: nsJSIID<nsIURISetters>;\n  nsIURIMutator: nsJSIID<nsIURIMutator>;\n  nsIURIWithSpecialOrigin: nsJSIID<nsIURIWithSpecialOrigin>;\n  nsIURL: nsJSIID<nsIURL>;\n  nsIURLMutator: nsJSIID<nsIURLMutator>;\n  nsIURLParser: nsJSIID<nsIURLParser>;\n  nsIUploadChannel: nsJSIID<nsIUploadChannel>;\n  nsIUploadChannel2: nsJSIID<nsIUploadChannel2>;\n  nsPISocketTransportService: nsJSIID<nsPISocketTransportService>;\n  nsIAboutModule: nsJSIID<nsIAboutModule>;\n  nsICacheEntry: nsJSIID<nsICacheEntry>;\n  nsICacheEntryMetaDataVisitor: nsJSIID<nsICacheEntryMetaDataVisitor>;\n  nsICacheEntryDoomCallback: nsJSIID<nsICacheEntryDoomCallback>;\n  nsICacheEntryOpenCallback: nsJSIID<nsICacheEntryOpenCallback>;\n  nsICachePurgeLock: nsJSIID<nsICachePurgeLock>;\n  nsICacheStorage: nsJSIID<nsICacheStorage>;\n  nsICacheStorageService: nsJSIID<nsICacheStorageService>;\n  nsICacheStorageConsumptionObserver: nsJSIID<nsICacheStorageConsumptionObserver>;\n  nsICacheStorageVisitor: nsJSIID<nsICacheStorageVisitor>;\n  nsICacheTesting: nsJSIID<nsICacheTesting>;\n  nsICookie: nsJSIID<nsICookie, typeof nsICookie_schemeType>;\n  nsICookieJarSettings: nsJSIID<nsICookieJarSettings>;\n  nsICookieManager: nsJSIID<nsICookieManager>;\n  nsICookieNotification: nsJSIID<nsICookieNotification, typeof nsICookieNotification_Action>;\n  nsICookiePermission: nsJSIID<nsICookiePermission>;\n  nsICookieTransactionCallback: nsJSIID<nsICookieTransactionCallback>;\n  nsICookieService: nsJSIID<nsICookieService>;\n  nsICookieValidation: nsJSIID<nsICookieValidation, typeof nsICookieValidation_ValidationError>;\n  nsIThirdPartyCookieBlockingExceptionListService: nsJSIID<nsIThirdPartyCookieBlockingExceptionListService>;\n  nsIThirdPartyCookieExceptionEntry: nsJSIID<nsIThirdPartyCookieExceptionEntry>;\n  nsIDNSAdditionalInfo: nsJSIID<nsIDNSAdditionalInfo>;\n  nsIDNSByTypeRecord: nsJSIID<nsIDNSByTypeRecord>;\n  nsIDNSTXTRecord: nsJSIID<nsIDNSTXTRecord>;\n  nsISVCParam: nsJSIID<nsISVCParam>;\n  nsISVCParamAlpn: nsJSIID<nsISVCParamAlpn>;\n  nsISVCParamNoDefaultAlpn: nsJSIID<nsISVCParamNoDefaultAlpn>;\n  nsISVCParamPort: nsJSIID<nsISVCParamPort>;\n  nsISVCParamIPv4Hint: nsJSIID<nsISVCParamIPv4Hint>;\n  nsISVCParamEchConfig: nsJSIID<nsISVCParamEchConfig>;\n  nsISVCParamIPv6Hint: nsJSIID<nsISVCParamIPv6Hint>;\n  nsISVCParamODoHConfig: nsJSIID<nsISVCParamODoHConfig>;\n  nsISVCBRecord: nsJSIID<nsISVCBRecord>;\n  nsIDNSHTTPSSVCRecord: nsJSIID<nsIDNSHTTPSSVCRecord>;\n  nsIDNSListener: nsJSIID<nsIDNSListener>;\n  nsIDNSRecord: nsJSIID<nsIDNSRecord>;\n  nsIDNSAddrRecord: nsJSIID<nsIDNSAddrRecord>;\n  nsIDNSService: nsJSIID<nsIDNSService, typeof nsIDNSService_ResolveType & typeof nsIDNSService_ResolverMode & typeof nsIDNSService_DNSFlags & typeof nsIDNSService_ConfirmationState>;\n  nsIEffectiveTLDService: nsJSIID<nsIEffectiveTLDService>;\n  nsIIDNService: nsJSIID<nsIIDNService>;\n  nsINativeDNSResolverOverride: nsJSIID<nsINativeDNSResolverOverride>;\n  nsITRRSkipReason: nsJSIID<nsITRRSkipReason, typeof nsITRRSkipReason_value>;\n  nsPIDNSService: nsJSIID<nsPIDNSService>;\n  nsIFileChannel: nsJSIID<nsIFileChannel>;\n  nsIFileProtocolHandler: nsJSIID<nsIFileProtocolHandler>;\n  nsIDataChannel: nsJSIID<nsIDataChannel>;\n  nsIBinaryHttpRequest: nsJSIID<nsIBinaryHttpRequest>;\n  nsIBinaryHttpResponse: nsJSIID<nsIBinaryHttpResponse>;\n  nsIBinaryHttp: nsJSIID<nsIBinaryHttp>;\n  nsICORSPreflightCache: nsJSIID<nsICORSPreflightCache>;\n  nsICORSPreflightCacheEntry: nsJSIID<nsICORSPreflightCacheEntry>;\n  nsIEarlyHintObserver: nsJSIID<nsIEarlyHintObserver>;\n  nsIHttpActivityObserver: nsJSIID<nsIHttpActivityObserver>;\n  nsIHttpActivityDistributor: nsJSIID<nsIHttpActivityDistributor>;\n  nsIHttpAuthManager: nsJSIID<nsIHttpAuthManager>;\n  nsIHttpChannel: nsJSIID<nsIHttpChannel>;\n  nsIHttpUpgradeListener: nsJSIID<nsIHttpUpgradeListener>;\n  nsIHttpChannelInternal: nsJSIID<nsIHttpChannelInternal>;\n  nsIHttpHeaderVisitor: nsJSIID<nsIHttpHeaderVisitor>;\n  nsIHttpProtocolHandler: nsJSIID<nsIHttpProtocolHandler>;\n  nsINetworkErrorLogging: nsJSIID<nsINetworkErrorLogging>;\n  nsIObliviousHttpClientResponse: nsJSIID<nsIObliviousHttpClientResponse>;\n  nsIObliviousHttpClientRequest: nsJSIID<nsIObliviousHttpClientRequest>;\n  nsIObliviousHttpServerResponse: nsJSIID<nsIObliviousHttpServerResponse>;\n  nsIObliviousHttpServer: nsJSIID<nsIObliviousHttpServer>;\n  nsIObliviousHttp: nsJSIID<nsIObliviousHttp>;\n  nsIObliviousHttpService: nsJSIID<nsIObliviousHttpService>;\n  nsIObliviousHttpChannel: nsJSIID<nsIObliviousHttpChannel>;\n  nsIRaceCacheWithNetwork: nsJSIID<nsIRaceCacheWithNetwork>;\n  nsIReplacedHttpResponse: nsJSIID<nsIReplacedHttpResponse>;\n  nsIWellKnownOpportunisticUtils: nsJSIID<nsIWellKnownOpportunisticUtils>;\n  nsICompressConvStats: nsJSIID<nsICompressConvStats>;\n  nsIResProtocolHandler: nsJSIID<nsIResProtocolHandler>;\n  nsISubstitutingProtocolHandler: nsJSIID<nsISubstitutingProtocolHandler>;\n  nsISocketProvider: nsJSIID<nsISocketProvider>;\n  nsISocketProviderService: nsJSIID<nsISocketProviderService>;\n  mozITXTToHTMLConv: nsJSIID<mozITXTToHTMLConv>;\n  nsIDirIndex: nsJSIID<nsIDirIndex>;\n  nsIDirIndexListener: nsJSIID<nsIDirIndexListener>;\n  nsIDirIndexParser: nsJSIID<nsIDirIndexParser>;\n  nsIStreamConverter: nsJSIID<nsIStreamConverter>;\n  nsIStreamConverterService: nsJSIID<nsIStreamConverterService>;\n  nsITXTToHTMLConv: nsJSIID<nsITXTToHTMLConv>;\n  nsITransportProvider: nsJSIID<nsITransportProvider>;\n  nsIWebSocketChannel: nsJSIID<nsIWebSocketChannel>;\n  nsIWebSocketFrame: nsJSIID<nsIWebSocketFrame>;\n  nsIWebSocketEventListener: nsJSIID<nsIWebSocketEventListener>;\n  nsIWebSocketEventService: nsJSIID<nsIWebSocketEventService>;\n  nsIWebSocketImpl: nsJSIID<nsIWebSocketImpl>;\n  nsIWebSocketListener: nsJSIID<nsIWebSocketListener>;\n  nsIWebTransport: nsJSIID<nsIWebTransport, typeof nsIWebTransport_WebTransportError & typeof nsIWebTransport_HTTPVersion>;\n  WebTransportSessionEventListener: nsJSIID<WebTransportSessionEventListener, typeof WebTransportSessionEventListener_DatagramOutcome>;\n  nsIWebTransportStreamCallback: nsJSIID<nsIWebTransportStreamCallback>;\n  nsIWebTransportHash: nsJSIID<nsIWebTransportHash>;\n  nsIWebTransportSendStreamStats: nsJSIID<nsIWebTransportSendStreamStats>;\n  nsIWebTransportReceiveStreamStats: nsJSIID<nsIWebTransportReceiveStreamStats>;\n  nsIWebTransportStreamStatsCallback: nsJSIID<nsIWebTransportStreamStatsCallback>;\n  nsIWebTransportReceiveStream: nsJSIID<nsIWebTransportReceiveStream>;\n  nsIWebTransportSendStream: nsJSIID<nsIWebTransportSendStream>;\n  nsIWebTransportBidirectionalStream: nsJSIID<nsIWebTransportBidirectionalStream>;\n  nsIWifiAccessPoint: nsJSIID<nsIWifiAccessPoint>;\n  nsIWifiListener: nsJSIID<nsIWifiListener>;\n  nsIWifiMonitor: nsJSIID<nsIWifiMonitor>;\n  nsIParentalControlsService: nsJSIID<nsIParentalControlsService>;\n  IPeerConnectionObserver: nsJSIID<IPeerConnectionObserver>;\n  IPeerConnection: nsJSIID<IPeerConnection>;\n  nsIRemotePermissionService: nsJSIID<nsIRemotePermissionService>;\n  nsICertOverride: nsJSIID<nsICertOverride>;\n  nsICertOverrideService: nsJSIID<nsICertOverrideService>;\n  nsICertStorageCallback: nsJSIID<nsICertStorageCallback>;\n  nsIRevocationState: nsJSIID<nsIRevocationState>;\n  nsIIssuerAndSerialRevocationState: nsJSIID<nsIIssuerAndSerialRevocationState>;\n  nsISubjectAndPubKeyRevocationState: nsJSIID<nsISubjectAndPubKeyRevocationState>;\n  nsICertInfo: nsJSIID<nsICertInfo>;\n  nsICertStorage: nsJSIID<nsICertStorage>;\n  nsICertTreeItem: nsJSIID<nsICertTreeItem>;\n  nsICertTree: nsJSIID<nsICertTree>;\n  nsICertificateDialogs: nsJSIID<nsICertificateDialogs>;\n  nsIClientAuthDialogCallback: nsJSIID<nsIClientAuthDialogCallback>;\n  nsIClientAuthDialogService: nsJSIID<nsIClientAuthDialogService>;\n  nsIClientAuthRememberRecord: nsJSIID<nsIClientAuthRememberRecord>;\n  nsIClientAuthRememberService: nsJSIID<nsIClientAuthRememberService, typeof nsIClientAuthRememberService_Duration>;\n  nsIContentSignatureVerifier: nsJSIID<nsIContentSignatureVerifier>;\n  nsICryptoHash: nsJSIID<nsICryptoHash>;\n  nsIDataStorageManager: nsJSIID<nsIDataStorageManager, typeof nsIDataStorageManager_DataStorage>;\n  nsIDataStorage: nsJSIID<nsIDataStorage, typeof nsIDataStorage_DataType>;\n  nsIDataStorageItem: nsJSIID<nsIDataStorageItem>;\n  nsINSSComponent: nsJSIID<nsINSSComponent>;\n  nsINSSErrorsService: nsJSIID<nsINSSErrorsService>;\n  nsINSSVersion: nsJSIID<nsINSSVersion>;\n  nsIOSKeyStore: nsJSIID<nsIOSKeyStore>;\n  nsIOSReauthenticator: nsJSIID<nsIOSReauthenticator>;\n  nsIPK11Token: nsJSIID<nsIPK11Token>;\n  nsIPK11TokenDB: nsJSIID<nsIPK11TokenDB>;\n  nsIPKCS11Module: nsJSIID<nsIPKCS11Module>;\n  nsIPKCS11ModuleDB: nsJSIID<nsIPKCS11ModuleDB>;\n  nsIPKCS11Slot: nsJSIID<nsIPKCS11Slot>;\n  nsIPublicKeyPinningService: nsJSIID<nsIPublicKeyPinningService>;\n  nsISecretDecoderRing: nsJSIID<nsISecretDecoderRing>;\n  nsISecurityUITelemetry: nsJSIID<nsISecurityUITelemetry>;\n  nsISiteSecurityService: nsJSIID<nsISiteSecurityService, typeof nsISiteSecurityService_ResetStateBy>;\n  nsITLSSocketControl: nsJSIID<nsITLSSocketControl>;\n  nsITokenPasswordDialogs: nsJSIID<nsITokenPasswordDialogs>;\n  nsITransportSecurityInfo: nsJSIID<nsITransportSecurityInfo, typeof nsITransportSecurityInfo_OverridableErrorCategory>;\n  nsIX509Cert: nsJSIID<nsIX509Cert>;\n  nsIAppSignatureInfo: nsJSIID<nsIAppSignatureInfo, typeof nsIAppSignatureInfo_SignatureAlgorithm>;\n  nsIOpenSignedAppFileCallback: nsJSIID<nsIOpenSignedAppFileCallback>;\n  nsIAsyncBoolCallback: nsJSIID<nsIAsyncBoolCallback>;\n  nsICertVerificationCallback: nsJSIID<nsICertVerificationCallback>;\n  nsIX509CertDB: nsJSIID<nsIX509CertDB, typeof nsIX509CertDB_VerifyUsage>;\n  nsIX509CertValidity: nsJSIID<nsIX509CertValidity>;\n  mozIVisitInfo: nsJSIID<mozIVisitInfo>;\n  mozIPlaceInfo: nsJSIID<mozIPlaceInfo>;\n  mozIVisitInfoCallback: nsJSIID<mozIVisitInfoCallback>;\n  mozIVisitedStatusCallback: nsJSIID<mozIVisitedStatusCallback>;\n  mozIAsyncHistory: nsJSIID<mozIAsyncHistory>;\n  mozIPlacesAutoComplete: nsJSIID<mozIPlacesAutoComplete>;\n  mozIPlacesPendingOperation: nsJSIID<mozIPlacesPendingOperation>;\n  mozISyncedBookmarksMirrorProgressListener: nsJSIID<mozISyncedBookmarksMirrorProgressListener>;\n  mozISyncedBookmarksMirrorCallback: nsJSIID<mozISyncedBookmarksMirrorCallback>;\n  mozISyncedBookmarksMirrorLogger: nsJSIID<mozISyncedBookmarksMirrorLogger>;\n  mozISyncedBookmarksMerger: nsJSIID<mozISyncedBookmarksMerger, typeof mozISyncedBookmarksMerger_SyncedItemKinds & typeof mozISyncedBookmarksMerger_SyncedItemValidity>;\n  nsIFaviconService: nsJSIID<nsIFaviconService>;\n  nsIFavicon: nsJSIID<nsIFavicon>;\n  nsINavBookmarksService: nsJSIID<nsINavBookmarksService, typeof nsINavBookmarksService_ChangeSource>;\n  nsINavHistoryResultNode: nsJSIID<nsINavHistoryResultNode, typeof nsINavHistoryResultNode_ResultType>;\n  nsINavHistoryContainerResultNode: nsJSIID<nsINavHistoryContainerResultNode>;\n  nsINavHistoryQueryResultNode: nsJSIID<nsINavHistoryQueryResultNode>;\n  nsINavHistoryResultObserver: nsJSIID<nsINavHistoryResultObserver>;\n  nsINavHistoryResult: nsJSIID<nsINavHistoryResult>;\n  nsINavHistoryQuery: nsJSIID<nsINavHistoryQuery>;\n  nsINavHistoryQueryOptions: nsJSIID<nsINavHistoryQueryOptions>;\n  nsINavHistoryService: nsJSIID<nsINavHistoryService, typeof nsINavHistoryService_TransitionType>;\n  nsIPlacesPreviewsHelperService: nsJSIID<nsIPlacesPreviewsHelperService>;\n  nsITaggingService: nsJSIID<nsITaggingService>;\n  nsIPrefBranch: nsJSIID<nsIPrefBranch>;\n  nsIPrefLocalizedString: nsJSIID<nsIPrefLocalizedString>;\n  nsIPrefStatsCallback: nsJSIID<nsIPrefStatsCallback>;\n  nsIPrefObserver: nsJSIID<nsIPrefObserver>;\n  nsIPrefService: nsJSIID<nsIPrefService>;\n  nsIRelativeFilePref: nsJSIID<nsIRelativeFilePref>;\n  nsIPrefetchService: nsJSIID<nsIPrefetchService>;\n  nsIPrivateAttributionService: nsJSIID<nsIPrivateAttributionService>;\n  nsIProfilerStartParams: nsJSIID<nsIProfilerStartParams>;\n  nsIProfiler: nsJSIID<nsIProfiler>;\n  nsIRddProcessTest: nsJSIID<nsIRddProcessTest>;\n  nsIMarionette: nsJSIID<nsIMarionette>;\n  nsIRemoteAgent: nsJSIID<nsIRemoteAgent>;\n  nsIApplicationReputationService: nsJSIID<nsIApplicationReputationService>;\n  nsIApplicationReputationQuery: nsJSIID<nsIApplicationReputationQuery>;\n  nsIApplicationReputationCallback: nsJSIID<nsIApplicationReputationCallback>;\n  mozISandboxSettings: nsJSIID<mozISandboxSettings>;\n  nsIFormFillController: nsJSIID<nsIFormFillController>;\n  nsIFormFillCompleteObserver: nsJSIID<nsIFormFillCompleteObserver>;\n  mozIAppServicesLogger: nsJSIID<mozIAppServicesLogger>;\n  mozIBridgedSyncEngineCallback: nsJSIID<mozIBridgedSyncEngineCallback>;\n  mozIBridgedSyncEngineApplyCallback: nsJSIID<mozIBridgedSyncEngineApplyCallback>;\n  mozIBridgedSyncEngine: nsJSIID<mozIBridgedSyncEngine>;\n  mozIInterruptible: nsJSIID<mozIInterruptible>;\n  mozIServicesLogSink: nsJSIID<mozIServicesLogSink>;\n  nsISessionStoreFunctions: nsJSIID<nsISessionStoreFunctions>;\n  nsISessionStoreRestoreData: nsJSIID<nsISessionStoreRestoreData>;\n  nsIShellService: nsJSIID<nsIShellService>;\n  nsIBFCacheEntry: nsJSIID<nsIBFCacheEntry>;\n  nsISHEntry: nsJSIID<nsISHEntry>;\n  nsISHistory: nsJSIID<nsISHistory>;\n  nsISHistoryListener: nsJSIID<nsISHistoryListener>;\n  mozIPersonalDictionary: nsJSIID<mozIPersonalDictionary>;\n  mozISpellCheckingEngine: nsJSIID<mozISpellCheckingEngine>;\n  nsIStartupCacheInfo: nsJSIID<nsIStartupCacheInfo>;\n  mozIStorageAsyncConnection: nsJSIID<mozIStorageAsyncConnection>;\n  mozIStorageAsyncStatement: nsJSIID<mozIStorageAsyncStatement>;\n  mozIStorageBaseStatement: nsJSIID<mozIStorageBaseStatement>;\n  mozIStorageBindingParams: nsJSIID<mozIStorageBindingParams>;\n  mozIStorageBindingParamsArray: nsJSIID<mozIStorageBindingParamsArray>;\n  mozIStorageCompletionCallback: nsJSIID<mozIStorageCompletionCallback>;\n  mozIStorageConnection: nsJSIID<mozIStorageConnection>;\n  mozIStorageError: nsJSIID<mozIStorageError>;\n  mozIStorageFunction: nsJSIID<mozIStorageFunction>;\n  mozIStoragePendingStatement: nsJSIID<mozIStoragePendingStatement>;\n  mozIStorageProgressHandler: nsJSIID<mozIStorageProgressHandler>;\n  mozIStorageResultSet: nsJSIID<mozIStorageResultSet>;\n  mozIStorageRow: nsJSIID<mozIStorageRow>;\n  mozIStorageService: nsJSIID<mozIStorageService>;\n  mozIStorageStatement: nsJSIID<mozIStorageStatement>;\n  mozIStorageStatementCallback: nsJSIID<mozIStorageStatementCallback>;\n  mozIStorageVacuumParticipant: nsJSIID<mozIStorageVacuumParticipant>;\n  mozIStorageValueArray: nsJSIID<mozIStorageValueArray>;\n  nsIFetchTelemetryDataCallback: nsJSIID<nsIFetchTelemetryDataCallback>;\n  nsITelemetry: nsJSIID<nsITelemetry>;\n  nsIDAPTelemetry: nsJSIID<nsIDAPTelemetry>;\n  nsIHttpServer: nsJSIID<nsIHttpServer>;\n  nsIHttpServerStoppedCallback: nsJSIID<nsIHttpServerStoppedCallback>;\n  nsIHttpServerIdentity: nsJSIID<nsIHttpServerIdentity>;\n  nsIHttpRequestHandler: nsJSIID<nsIHttpRequestHandler>;\n  nsIHttpRequest: nsJSIID<nsIHttpRequest>;\n  nsIHttpResponse: nsJSIID<nsIHttpResponse>;\n  nsIPageThumbsStorageService: nsJSIID<nsIPageThumbsStorageService>;\n  nsIBTPRemoteExceptionList: nsJSIID<nsIBTPRemoteExceptionList>;\n  nsIBounceTrackingMapEntry: nsJSIID<nsIBounceTrackingMapEntry>;\n  nsIBounceTrackingPurgeEntry: nsJSIID<nsIBounceTrackingPurgeEntry>;\n  nsIBounceTrackingProtection: nsJSIID<nsIBounceTrackingProtection, typeof nsIBounceTrackingProtection_Modes>;\n  nsIContentBlockingAllowList: nsJSIID<nsIContentBlockingAllowList>;\n  nsIPartitioningExceptionListObserver: nsJSIID<nsIPartitioningExceptionListObserver>;\n  nsIPartitioningExceptionListService: nsJSIID<nsIPartitioningExceptionListService>;\n  nsIPurgeTrackerService: nsJSIID<nsIPurgeTrackerService>;\n  nsITrackingDBService: nsJSIID<nsITrackingDBService>;\n  nsIURLDecorationAnnotationsService: nsJSIID<nsIURLDecorationAnnotationsService>;\n  nsIURLQueryStringStripper: nsJSIID<nsIURLQueryStringStripper>;\n  nsIURLQueryStrippingListObserver: nsJSIID<nsIURLQueryStrippingListObserver>;\n  nsIURLQueryStrippingListService: nsJSIID<nsIURLQueryStrippingListService>;\n  nsIAsyncShutdownBlocker: nsJSIID<nsIAsyncShutdownBlocker>;\n  nsIAsyncShutdownClient: nsJSIID<nsIAsyncShutdownClient>;\n  nsIAsyncShutdownCompletionCallback: nsJSIID<nsIAsyncShutdownCompletionCallback>;\n  nsIAsyncShutdownBarrier: nsJSIID<nsIAsyncShutdownBarrier>;\n  nsIAsyncShutdownService: nsJSIID<nsIAsyncShutdownService>;\n  nsIBackgroundTasks: nsJSIID<nsIBackgroundTasks>;\n  nsIBackgroundTasksManager: nsJSIID<nsIBackgroundTasksManager>;\n  nsIBackgroundTasksRunner: nsJSIID<nsIBackgroundTasksRunner>;\n  nsIClearBySiteEntry: nsJSIID<nsIClearBySiteEntry>;\n  nsIClearDataService: nsJSIID<nsIClearDataService>;\n  nsIClearDataCallback: nsJSIID<nsIClearDataCallback>;\n  nsIContentAnalysisAcknowledgement: nsJSIID<nsIContentAnalysisAcknowledgement, typeof nsIContentAnalysisAcknowledgement_Result & typeof nsIContentAnalysisAcknowledgement_FinalAction>;\n  nsIContentAnalysisResult: nsJSIID<nsIContentAnalysisResult>;\n  nsIContentAnalysisResponse: nsJSIID<nsIContentAnalysisResponse, typeof nsIContentAnalysisResponse_Action & typeof nsIContentAnalysisResponse_CancelError>;\n  nsIClientDownloadResource: nsJSIID<nsIClientDownloadResource>;\n  nsIContentAnalysisRequest: nsJSIID<nsIContentAnalysisRequest, typeof nsIContentAnalysisRequest_AnalysisType & typeof nsIContentAnalysisRequest_Reason & typeof nsIContentAnalysisRequest_OperationType>;\n  nsIContentAnalysisCallback: nsJSIID<nsIContentAnalysisCallback>;\n  nsIContentAnalysisDiagnosticInfo: nsJSIID<nsIContentAnalysisDiagnosticInfo>;\n  nsIContentAnalysis: nsJSIID<nsIContentAnalysis>;\n  nsIClickRule: nsJSIID<nsIClickRule, typeof nsIClickRule_RunContext>;\n  nsICookieBannerListService: nsJSIID<nsICookieBannerListService>;\n  nsICookieBannerRule: nsJSIID<nsICookieBannerRule>;\n  nsICookieBannerService: nsJSIID<nsICookieBannerService, typeof nsICookieBannerService_Modes>;\n  nsICookieBannerTelemetryService: nsJSIID<nsICookieBannerTelemetryService>;\n  nsICookieRule: nsJSIID<nsICookieRule>;\n  nsICrashService: nsJSIID<nsICrashService>;\n  nsIFinalizationWitnessService: nsJSIID<nsIFinalizationWitnessService>;\n  nsIOriginStatusEntry: nsJSIID<nsIOriginStatusEntry>;\n  nsIOriginsListLoadCallback: nsJSIID<nsIOriginsListLoadCallback>;\n  nsIWindowsMediaFoundationCDMOriginsListService: nsJSIID<nsIWindowsMediaFoundationCDMOriginsListService>;\n  nsIVisibleTab: nsJSIID<nsIVisibleTab>;\n  nsIBrowserWindowTracker: nsJSIID<nsIBrowserWindowTracker>;\n  nsIRegion: nsJSIID<nsIRegion>;\n  nsIProcessToolsService: nsJSIID<nsIProcessToolsService>;\n  nsIFingerprintingOverride: nsJSIID<nsIFingerprintingOverride>;\n  nsIFingerprintingWebCompatService: nsJSIID<nsIFingerprintingWebCompatService>;\n  nsIRFPService: nsJSIID<nsIRFPService>;\n  nsIRFPTargetSetIDL: nsJSIID<nsIRFPTargetSetIDL>;\n  nsIUserCharacteristicsPageService: nsJSIID<nsIUserCharacteristicsPageService>;\n  nsISearchSubmission: nsJSIID<nsISearchSubmission>;\n  nsISearchEngine: nsJSIID<nsISearchEngine>;\n  nsISearchParseSubmissionResult: nsJSIID<nsISearchParseSubmissionResult>;\n  nsISearchService: nsJSIID<nsISearchService, typeof nsISearchService_OpenSearchInstallErrors & typeof nsISearchService_DefaultEngineChangeReason>;\n  nsIToolkitShellService: nsJSIID<nsIToolkitShellService>;\n  nsITerminatorTest: nsJSIID<nsITerminatorTest>;\n  nsIXULStore: nsJSIID<nsIXULStore>;\n  nsIProfileStartup: nsJSIID<nsIProfileStartup>;\n  nsIProfileMigrator: nsJSIID<nsIProfileMigrator>;\n  nsIProfileUnlocker: nsJSIID<nsIProfileUnlocker>;\n  nsIProfileLock: nsJSIID<nsIProfileLock>;\n  nsIToolkitProfile: nsJSIID<nsIToolkitProfile>;\n  nsIToolkitProfileService: nsJSIID<nsIToolkitProfileService, typeof nsIToolkitProfileService_downgradeUIFlags & typeof nsIToolkitProfileService_downgradeUIChoice & typeof nsIToolkitProfileService_profileManagerResult>;\n  nsIRemoteService: nsJSIID<nsIRemoteService>;\n  nsITransaction: nsJSIID<nsITransaction>;\n  nsITransactionManager: nsJSIID<nsITransactionManager>;\n  nsIInlineSpellChecker: nsJSIID<nsIInlineSpellChecker>;\n  nsIScriptableUnicodeConverter: nsJSIID<nsIScriptableUnicodeConverter>;\n  nsITextToSubURI: nsJSIID<nsITextToSubURI>;\n  nsIUpdateTimerManager: nsJSIID<nsIUpdateTimerManager>;\n  nsIUpdatePatch: nsJSIID<nsIUpdatePatch>;\n  nsIUpdate: nsJSIID<nsIUpdate>;\n  nsIUpdateCheckResult: nsJSIID<nsIUpdateCheckResult>;\n  nsIUpdateCheck: nsJSIID<nsIUpdateCheck>;\n  nsIUpdateCheckerInternal: nsJSIID<nsIUpdateCheckerInternal>;\n  nsIUpdateChecker: nsJSIID<nsIUpdateChecker>;\n  nsIApplicationUpdateServiceInternal: nsJSIID<nsIApplicationUpdateServiceInternal>;\n  nsIApplicationUpdateService: nsJSIID<nsIApplicationUpdateService>;\n  nsIUpdateProcessor: nsJSIID<nsIUpdateProcessor>;\n  nsIUpdateSyncManager: nsJSIID<nsIUpdateSyncManager>;\n  nsIUpdateMutex: nsJSIID<nsIUpdateMutex>;\n  nsIUpdateManagerInternal: nsJSIID<nsIUpdateManagerInternal>;\n  nsIUpdateManager: nsJSIID<nsIUpdateManager>;\n  nsIApplicationUpdateServiceStub: nsJSIID<nsIApplicationUpdateServiceStub>;\n  nsIContentHandler: nsJSIID<nsIContentHandler>;\n  nsIDocumentLoader: nsJSIID<nsIDocumentLoader>;\n  nsITransfer: nsJSIID<nsITransfer>;\n  nsIURIContentListener: nsJSIID<nsIURIContentListener>;\n  nsIURILoader: nsJSIID<nsIURILoader>;\n  nsIWebProgress: nsJSIID<nsIWebProgress>;\n  nsIWebProgressListener: nsJSIID<nsIWebProgressListener>;\n  nsIWebProgressListener2: nsJSIID<nsIWebProgressListener2>;\n  nsIUrlClassifierBlockedChannel: nsJSIID<nsIUrlClassifierBlockedChannel>;\n  nsIChannelClassifierService: nsJSIID<nsIChannelClassifierService>;\n  nsIURIClassifierCallback: nsJSIID<nsIURIClassifierCallback>;\n  nsIURIClassifier: nsJSIID<nsIURIClassifier>;\n  nsIUrlClassifierExceptionList: nsJSIID<nsIUrlClassifierExceptionList>;\n  nsIUrlClassifierExceptionListEntry: nsJSIID<nsIUrlClassifierExceptionListEntry, typeof nsIUrlClassifierExceptionListEntry_Category>;\n  nsIUrlClassifierExceptionListObserver: nsJSIID<nsIUrlClassifierExceptionListObserver>;\n  nsIUrlClassifierExceptionListService: nsJSIID<nsIUrlClassifierExceptionListService>;\n  nsIUrlClassifierFeature: nsJSIID<nsIUrlClassifierFeature, typeof nsIUrlClassifierFeature_listType & typeof nsIUrlClassifierFeature_URIType>;\n  nsIUrlClassifierFeatureResult: nsJSIID<nsIUrlClassifierFeatureResult>;\n  nsIUrlClassifierFeatureCallback: nsJSIID<nsIUrlClassifierFeatureCallback>;\n  IUrlClassifierUITelemetry: nsJSIID<IUrlClassifierUITelemetry>;\n  nsIUrlClassifierCallback: nsJSIID<nsIUrlClassifierCallback>;\n  nsIUrlClassifierUpdateObserver: nsJSIID<nsIUrlClassifierUpdateObserver>;\n  nsIUrlClassifierDBService: nsJSIID<nsIUrlClassifierDBService>;\n  nsIFullHashMatch: nsJSIID<nsIFullHashMatch>;\n  nsIUrlClassifierHashCompleterCallback: nsJSIID<nsIUrlClassifierHashCompleterCallback>;\n  nsIUrlClassifierHashCompleter: nsJSIID<nsIUrlClassifierHashCompleter>;\n  nsIUrlClassifierPositiveCacheEntry: nsJSIID<nsIUrlClassifierPositiveCacheEntry>;\n  nsIUrlClassifierCacheEntry: nsJSIID<nsIUrlClassifierCacheEntry>;\n  nsIUrlClassifierCacheInfo: nsJSIID<nsIUrlClassifierCacheInfo>;\n  nsIUrlClassifierGetCacheCallback: nsJSIID<nsIUrlClassifierGetCacheCallback>;\n  nsIUrlClassifierInfo: nsJSIID<nsIUrlClassifierInfo>;\n  nsIUrlClassifierPrefixSet: nsJSIID<nsIUrlClassifierPrefixSet>;\n  nsIUrlClassifierRemoteSettingsService: nsJSIID<nsIUrlClassifierRemoteSettingsService>;\n  nsIUrlClassifierStreamUpdater: nsJSIID<nsIUrlClassifierStreamUpdater>;\n  nsIUrlClassifierParseFindFullHashCallback: nsJSIID<nsIUrlClassifierParseFindFullHashCallback>;\n  nsIUrlClassifierUtils: nsJSIID<nsIUrlClassifierUtils>;\n  nsIUrlListManager: nsJSIID<nsIUrlListManager>;\n  nsIURLFormatter: nsJSIID<nsIURLFormatter>;\n  nsIUtilityProcessTest: nsJSIID<nsIUtilityProcessTest>;\n  nsIWebBrowser: nsJSIID<nsIWebBrowser>;\n  nsIWebBrowserChrome: nsJSIID<nsIWebBrowserChrome>;\n  nsIWebBrowserPrint: nsJSIID<nsIWebBrowserPrint>;\n  nsIWebBrowserPersist: nsJSIID<nsIWebBrowserPersist>;\n  nsIWebBrowserPersistURIMap: nsJSIID<nsIWebBrowserPersistURIMap>;\n  nsIWebBrowserPersistDocument: nsJSIID<nsIWebBrowserPersistDocument>;\n  nsIWebBrowserPersistResourceVisitor: nsJSIID<nsIWebBrowserPersistResourceVisitor>;\n  nsIWebBrowserPersistWriteCompletion: nsJSIID<nsIWebBrowserPersistWriteCompletion>;\n  nsIWebBrowserPersistDocumentReceiver: nsJSIID<nsIWebBrowserPersistDocumentReceiver>;\n  extIWebNavigation: nsJSIID<extIWebNavigation>;\n  mozIExtensionServiceWorkerInfo: nsJSIID<mozIExtensionServiceWorkerInfo>;\n  mozIExtensionListenerCallOptions: nsJSIID<mozIExtensionListenerCallOptions, typeof mozIExtensionListenerCallOptions_APIObjectType & typeof mozIExtensionListenerCallOptions_CallbackType>;\n  mozIExtensionEventListener: nsJSIID<mozIExtensionEventListener>;\n  mozIExtensionAPIRequest: nsJSIID<mozIExtensionAPIRequest, typeof mozIExtensionAPIRequest_RequestType>;\n  mozIExtensionAPIRequestResult: nsJSIID<mozIExtensionAPIRequestResult, typeof mozIExtensionAPIRequestResult_ResultType>;\n  mozIExtensionAPIRequestHandler: nsJSIID<mozIExtensionAPIRequestHandler>;\n  mozIExtensionProcessScript: nsJSIID<mozIExtensionProcessScript>;\n  nsINativeMessagingPortal: nsJSIID<nsINativeMessagingPortal>;\n  nsIWebVTTListener: nsJSIID<nsIWebVTTListener>;\n  nsIWebVTTParserWrapper: nsJSIID<nsIWebVTTParserWrapper>;\n  nsIBaseWindow: nsJSIID<nsIBaseWindow>;\n  nsIBidiKeyboard: nsJSIID<nsIBidiKeyboard>;\n  nsIAsyncSetClipboardData: nsJSIID<nsIAsyncSetClipboardData>;\n  nsIAsyncClipboardRequestCallback: nsJSIID<nsIAsyncClipboardRequestCallback>;\n  nsIClipboardDataSnapshot: nsJSIID<nsIClipboardDataSnapshot>;\n  nsIClipboardGetDataSnapshotCallback: nsJSIID<nsIClipboardGetDataSnapshotCallback>;\n  nsIClipboard: nsJSIID<nsIClipboard, typeof nsIClipboard_ClipboardType>;\n  nsIClipboardHelper: nsJSIID<nsIClipboardHelper, typeof nsIClipboardHelper_SensitiveData>;\n  nsIClipboardOwner: nsJSIID<nsIClipboardOwner>;\n  nsIColorPickerShownCallback: nsJSIID<nsIColorPickerShownCallback>;\n  nsIColorPicker: nsJSIID<nsIColorPicker>;\n  nsIDisplayInfo: nsJSIID<nsIDisplayInfo>;\n  nsIDragService: nsJSIID<nsIDragService>;\n  nsIDragSession: nsJSIID<nsIDragSession>;\n  nsIFilePicker: nsJSIID<nsIFilePicker, typeof nsIFilePicker_Mode & typeof nsIFilePicker_ResultCode & typeof nsIFilePicker_CaptureTarget>;\n  nsIFilePickerShownCallback: nsJSIID<nsIFilePickerShownCallback>;\n  nsIFormatConverter: nsJSIID<nsIFormatConverter>;\n  nsIGfxInfo: nsJSIID<nsIGfxInfo, typeof nsIGfxInfo_FontVisibilityDeviceDetermination>;\n  nsIGfxInfoDebug: nsJSIID<nsIGfxInfoDebug>;\n  nsIMockDragServiceController: nsJSIID<nsIMockDragServiceController, typeof nsIMockDragServiceController_EventType>;\n  nsIPaper: nsJSIID<nsIPaper>;\n  nsIPaperMargin: nsJSIID<nsIPaperMargin>;\n  nsIPrintDialogService: nsJSIID<nsIPrintDialogService>;\n  nsIPrintSettings: nsJSIID<nsIPrintSettings, typeof nsIPrintSettings_OutputDestinationType>;\n  nsIPrintSettingsService: nsJSIID<nsIPrintSettingsService>;\n  nsIPrinterInfo: nsJSIID<nsIPrinterInfo>;\n  nsIPrinter: nsJSIID<nsIPrinter>;\n  nsIPrinterList: nsJSIID<nsIPrinterList>;\n  nsIScreen: nsJSIID<nsIScreen>;\n  nsIScreenManager: nsJSIID<nsIScreenManager>;\n  nsISharePicker: nsJSIID<nsISharePicker>;\n  nsISound: nsJSIID<nsISound>;\n  nsISystemStatusBar: nsJSIID<nsISystemStatusBar>;\n  nsIFlavorDataProvider: nsJSIID<nsIFlavorDataProvider>;\n  nsITransferable: nsJSIID<nsITransferable>;\n  nsIUserIdleService: nsJSIID<nsIUserIdleService>;\n  nsIUserIdleServiceInternal: nsJSIID<nsIUserIdleServiceInternal>;\n  nsIWindowCreator: nsJSIID<nsIWindowCreator>;\n  nsIWindowProvider: nsJSIID<nsIWindowProvider>;\n  nsIDialogParamBlock: nsJSIID<nsIDialogParamBlock>;\n  nsIOpenWindowInfo: nsJSIID<nsIOpenWindowInfo>;\n  nsIPromptCollection: nsJSIID<nsIPromptCollection>;\n  nsIPromptFactory: nsJSIID<nsIPromptFactory>;\n  nsIPromptService: nsJSIID<nsIPromptService>;\n  nsIWindowWatcher: nsJSIID<nsIWindowWatcher>;\n  nsITabUnloader: nsJSIID<nsITabUnloader>;\n  nsIAvailableMemoryWatcherBase: nsJSIID<nsIAvailableMemoryWatcherBase>;\n  nsIConsoleListener: nsJSIID<nsIConsoleListener>;\n  nsIConsoleMessage: nsJSIID<nsIConsoleMessage>;\n  nsIConsoleService: nsJSIID<nsIConsoleService, typeof nsIConsoleService_OutputMode>;\n  nsICycleCollectorHandler: nsJSIID<nsICycleCollectorHandler>;\n  nsICycleCollectorLogSink: nsJSIID<nsICycleCollectorLogSink>;\n  nsICycleCollectorListener: nsJSIID<nsICycleCollectorListener>;\n  nsIDebug2: nsJSIID<nsIDebug2>;\n  nsIStackFrame: nsJSIID<nsIStackFrame>;\n  nsIException: nsJSIID<nsIException>;\n  nsIInterfaceRequestor: nsJSIID<nsIInterfaceRequestor>;\n  nsIFinishDumpingCallback: nsJSIID<nsIFinishDumpingCallback>;\n  nsIDumpGCAndCCLogsCallback: nsJSIID<nsIDumpGCAndCCLogsCallback>;\n  nsIMemoryInfoDumper: nsJSIID<nsIMemoryInfoDumper>;\n  nsIHandleReportCallback: nsJSIID<nsIHandleReportCallback>;\n  nsIMemoryReporter: nsJSIID<nsIMemoryReporter>;\n  nsIFinishReportingCallback: nsJSIID<nsIFinishReportingCallback>;\n  nsIHeapAllocatedCallback: nsJSIID<nsIHeapAllocatedCallback>;\n  nsIMemoryReporterManager: nsJSIID<nsIMemoryReporterManager>;\n  nsISupports: nsJSIID<nsISupports>;\n  nsIUUIDGenerator: nsJSIID<nsIUUIDGenerator>;\n  nsIVersionComparator: nsJSIID<nsIVersionComparator>;\n  nsIWeakReference: nsJSIID<nsIWeakReference>;\n  nsISupportsWeakReference: nsJSIID<nsISupportsWeakReference>;\n  nsICategoryEntry: nsJSIID<nsICategoryEntry>;\n  nsICategoryManager: nsJSIID<nsICategoryManager>;\n  nsIClassInfo: nsJSIID<nsIClassInfo>;\n  nsIComponentManager: nsJSIID<nsIComponentManager>;\n  nsIComponentRegistrar: nsJSIID<nsIComponentRegistrar>;\n  nsIFactory: nsJSIID<nsIFactory>;\n  nsIServiceManager: nsJSIID<nsIServiceManager>;\n  nsIArray: nsJSIID<nsIArray>;\n  nsIArrayExtensions: nsJSIID<nsIArrayExtensions>;\n  nsIINIParser: nsJSIID<nsIINIParser>;\n  nsIINIParserWriter: nsJSIID<nsIINIParserWriter>;\n  nsIINIParserFactory: nsJSIID<nsIINIParserFactory>;\n  nsIMutableArray: nsJSIID<nsIMutableArray>;\n  nsIObserver: nsJSIID<nsIObserver>;\n  nsIObserverService: nsJSIID<nsIObserverService>;\n  nsIPropertyElement: nsJSIID<nsIPropertyElement>;\n  nsIPersistentProperties: nsJSIID<nsIPersistentProperties>;\n  nsIProperties: nsJSIID<nsIProperties>;\n  nsIProperty: nsJSIID<nsIProperty>;\n  nsIPropertyBag: nsJSIID<nsIPropertyBag>;\n  nsIPropertyBag2: nsJSIID<nsIPropertyBag2>;\n  nsISerializable: nsJSIID<nsISerializable>;\n  nsIJSEnumerator: nsJSIID<nsIJSEnumerator>;\n  nsISimpleEnumeratorBase: nsJSIID<nsISimpleEnumeratorBase>;\n  nsISimpleEnumerator: nsJSIID<nsISimpleEnumerator>;\n  nsIStringEnumeratorBase: nsJSIID<nsIStringEnumeratorBase>;\n  nsIStringEnumerator: nsJSIID<nsIStringEnumerator>;\n  nsIUTF8StringEnumerator: nsJSIID<nsIUTF8StringEnumerator>;\n  nsIOutputIterator: nsJSIID<nsIOutputIterator>;\n  nsIInputIterator: nsJSIID<nsIInputIterator>;\n  nsIForwardIterator: nsJSIID<nsIForwardIterator>;\n  nsIBidirectionalIterator: nsJSIID<nsIBidirectionalIterator>;\n  nsIRandomAccessIterator: nsJSIID<nsIRandomAccessIterator>;\n  nsISupportsPrimitive: nsJSIID<nsISupportsPrimitive>;\n  nsISupportsID: nsJSIID<nsISupportsID>;\n  nsISupportsCString: nsJSIID<nsISupportsCString>;\n  nsISupportsString: nsJSIID<nsISupportsString>;\n  nsISupportsPRBool: nsJSIID<nsISupportsPRBool>;\n  nsISupportsPRUint8: nsJSIID<nsISupportsPRUint8>;\n  nsISupportsPRUint16: nsJSIID<nsISupportsPRUint16>;\n  nsISupportsPRUint32: nsJSIID<nsISupportsPRUint32>;\n  nsISupportsPRUint64: nsJSIID<nsISupportsPRUint64>;\n  nsISupportsPRTime: nsJSIID<nsISupportsPRTime>;\n  nsISupportsChar: nsJSIID<nsISupportsChar>;\n  nsISupportsPRInt16: nsJSIID<nsISupportsPRInt16>;\n  nsISupportsPRInt32: nsJSIID<nsISupportsPRInt32>;\n  nsISupportsPRInt64: nsJSIID<nsISupportsPRInt64>;\n  nsISupportsFloat: nsJSIID<nsISupportsFloat>;\n  nsISupportsDouble: nsJSIID<nsISupportsDouble>;\n  nsISupportsInterfacePointer: nsJSIID<nsISupportsInterfacePointer>;\n  nsIVariant: nsJSIID<nsIVariant>;\n  nsIWritableVariant: nsJSIID<nsIWritableVariant>;\n  nsIWritablePropertyBag: nsJSIID<nsIWritablePropertyBag>;\n  nsIWritablePropertyBag2: nsJSIID<nsIWritablePropertyBag2>;\n  nsIAsyncInputStream: nsJSIID<nsIAsyncInputStream>;\n  nsIInputStreamCallback: nsJSIID<nsIInputStreamCallback>;\n  nsIAsyncOutputStream: nsJSIID<nsIAsyncOutputStream>;\n  nsIOutputStreamCallback: nsJSIID<nsIOutputStreamCallback>;\n  nsIBinaryInputStream: nsJSIID<nsIBinaryInputStream>;\n  nsIBinaryOutputStream: nsJSIID<nsIBinaryOutputStream>;\n  nsICloneableInputStream: nsJSIID<nsICloneableInputStream>;\n  nsICloneableInputStreamWithRange: nsJSIID<nsICloneableInputStreamWithRange>;\n  nsIConverterInputStream: nsJSIID<nsIConverterInputStream>;\n  nsIConverterOutputStream: nsJSIID<nsIConverterOutputStream>;\n  nsIDirectoryEnumerator: nsJSIID<nsIDirectoryEnumerator>;\n  nsIDirectoryServiceProvider: nsJSIID<nsIDirectoryServiceProvider>;\n  nsIDirectoryServiceProvider2: nsJSIID<nsIDirectoryServiceProvider2>;\n  nsIDirectoryService: nsJSIID<nsIDirectoryService>;\n  nsIFile: nsJSIID<nsIFile>;\n  nsIIOUtil: nsJSIID<nsIIOUtil>;\n  nsIInputStream: nsJSIID<nsIInputStream>;\n  nsIInputStreamPriority: nsJSIID<nsIInputStreamPriority>;\n  nsIInputStreamTee: nsJSIID<nsIInputStreamTee>;\n  nsILineInputStream: nsJSIID<nsILineInputStream>;\n  nsILocalFileWin: nsJSIID<nsILocalFileWin>;\n  nsIMultiplexInputStream: nsJSIID<nsIMultiplexInputStream>;\n  nsIObjectInputStream: nsJSIID<nsIObjectInputStream>;\n  nsIObjectOutputStream: nsJSIID<nsIObjectOutputStream>;\n  nsIOutputStream: nsJSIID<nsIOutputStream>;\n  nsIPipe: nsJSIID<nsIPipe>;\n  nsISearchableInputStream: nsJSIID<nsISearchableInputStream>;\n  nsIRandomAccessStream: nsJSIID<nsIRandomAccessStream>;\n  nsISafeOutputStream: nsJSIID<nsISafeOutputStream>;\n  nsIScriptableBase64Encoder: nsJSIID<nsIScriptableBase64Encoder>;\n  nsIScriptableInputStream: nsJSIID<nsIScriptableInputStream>;\n  nsISeekableStream: nsJSIID<nsISeekableStream>;\n  nsIStorageStream: nsJSIID<nsIStorageStream>;\n  nsIStreamBufferAccess: nsJSIID<nsIStreamBufferAccess>;\n  nsIStringInputStream: nsJSIID<nsIStringInputStream>;\n  nsITellableStream: nsJSIID<nsITellableStream>;\n  nsIUnicharInputStream: nsJSIID<nsIUnicharInputStream>;\n  nsIUnicharLineInputStream: nsJSIID<nsIUnicharLineInputStream>;\n  nsIUnicharOutputStream: nsJSIID<nsIUnicharOutputStream>;\n  nsIBlocklistService: nsJSIID<nsIBlocklistService>;\n  nsICrashReporter: nsJSIID<nsICrashReporter>;\n  nsIDeviceSensorData: nsJSIID<nsIDeviceSensorData>;\n  nsIDeviceSensors: nsJSIID<nsIDeviceSensors>;\n  nsIGIOHandlerApp: nsJSIID<nsIGIOHandlerApp>;\n  nsIGIOMimeApp: nsJSIID<nsIGIOMimeApp>;\n  nsIGIOService: nsJSIID<nsIGIOService>;\n  nsIGSettingsCollection: nsJSIID<nsIGSettingsCollection>;\n  nsIGSettingsService: nsJSIID<nsIGSettingsService>;\n  nsIGeolocationUpdate: nsJSIID<nsIGeolocationUpdate>;\n  nsIGeolocationProvider: nsJSIID<nsIGeolocationProvider>;\n  nsIHapticFeedback: nsJSIID<nsIHapticFeedback>;\n  nsIPlatformInfo: nsJSIID<nsIPlatformInfo>;\n  nsISystemInfo: nsJSIID<nsISystemInfo>;\n  nsIXULAppInfo: nsJSIID<nsIXULAppInfo>;\n  nsIXULRuntime: nsJSIID<nsIXULRuntime, typeof nsIXULRuntime_ExperimentStatus & typeof nsIXULRuntime_ContentWin32kLockdownState & typeof nsIXULRuntime_FissionDecisionStatus>;\n  nsIEnvironment: nsJSIID<nsIEnvironment>;\n  nsIEventTarget: nsJSIID<nsIEventTarget>;\n  nsINamed: nsJSIID<nsINamed>;\n  nsIProcess: nsJSIID<nsIProcess>;\n  nsIRunnable: nsJSIID<nsIRunnable>;\n  nsIRunnablePriority: nsJSIID<nsIRunnablePriority>;\n  nsISerialEventTarget: nsJSIID<nsISerialEventTarget>;\n  nsISupportsPriority: nsJSIID<nsISupportsPriority>;\n  nsIThread: nsJSIID<nsIThread, typeof nsIThread_QoSPriority>;\n  nsINestedEventLoopCondition: nsJSIID<nsINestedEventLoopCondition>;\n  nsIThreadManager: nsJSIID<nsIThreadManager>;\n  nsIThreadShutdown: nsJSIID<nsIThreadShutdown>;\n  nsITimerCallback: nsJSIID<nsITimerCallback>;\n  nsITimer: nsJSIID<nsITimer>;\n  nsITimerManager: nsJSIID<nsITimerManager>;\n  nsIScriptableOK: nsJSIID<nsIScriptableOK>;\n  nsIScriptableWithNotXPCOM: nsJSIID<nsIScriptableWithNotXPCOM>;\n  mozIJSSubScriptLoader: nsJSIID<mozIJSSubScriptLoader>;\n  xpcIJSWeakReference: nsJSIID<xpcIJSWeakReference>;\n  nsIXPCComponents_Classes: nsJSIID<nsIXPCComponents_Classes>;\n  nsIXPCComponents_Results: nsJSIID<nsIXPCComponents_Results>;\n  nsIXPCComponents_ID: nsJSIID<nsIXPCComponents_ID>;\n  nsIXPCComponents_Exception: nsJSIID<nsIXPCComponents_Exception>;\n  nsIXPCComponents_Constructor: nsJSIID<nsIXPCComponents_Constructor>;\n  nsIXPCComponents_utils_Sandbox: nsJSIID<nsIXPCComponents_utils_Sandbox>;\n  nsIScheduledGCCallback: nsJSIID<nsIScheduledGCCallback>;\n  nsIXPCComponents_Utils: nsJSIID<nsIXPCComponents_Utils>;\n  nsIXPCComponents: nsJSIID<nsIXPCComponents>;\n  nsIXPCTestObjectReadOnly: nsJSIID<nsIXPCTestObjectReadOnly>;\n  nsIXPCTestObjectReadWrite: nsJSIID<nsIXPCTestObjectReadWrite>;\n  nsIXPCTestBug809674: nsJSIID<nsIXPCTestBug809674>;\n  nsIXPCTestCEnums: nsJSIID<nsIXPCTestCEnums, typeof nsIXPCTestCEnums_testFlagsExplicit & typeof nsIXPCTestCEnums_testFlagsImplicit>;\n  nsIXPCTestInterfaceA: nsJSIID<nsIXPCTestInterfaceA>;\n  nsIXPCTestInterfaceB: nsJSIID<nsIXPCTestInterfaceB>;\n  nsIXPCTestInterfaceC: nsJSIID<nsIXPCTestInterfaceC>;\n  nsIXPCTestParams: nsJSIID<nsIXPCTestParams>;\n  nsIXPCTestReturnCodeParent: nsJSIID<nsIXPCTestReturnCodeParent>;\n  nsIXPCTestReturnCodeChild: nsJSIID<nsIXPCTestReturnCodeChild>;\n  nsIXPCTestFunctionInterface: nsJSIID<nsIXPCTestFunctionInterface>;\n  nsIXPCTestUtils: nsJSIID<nsIXPCTestUtils>;\n  nsIXPCTestTypeScript: nsJSIID<nsIXPCTestTypeScript>;\n  nsIBrowserController: nsJSIID<nsIBrowserController>;\n  nsIController: nsJSIID<nsIController>;\n  nsICommandController: nsJSIID<nsICommandController>;\n  nsIControllers: nsJSIID<nsIControllers>;\n  nsINativeAppSupport: nsJSIID<nsINativeAppSupport>;\n  nsIXREDirProvider: nsJSIID<nsIXREDirProvider>;\n  nsIZipWriter: nsJSIID<nsIZipWriter>;\n}\n\n}  // global\n\n// Typedefs from xpidl.\ntype AccessibleTextBoundary = i32;\ntype AppTrustedRoot = u32;\ntype COSEAlgorithmIdentifier = i32;\ntype CSPDirective = nsIContentSecurityPolicy.CSPDirective;\ntype DOMHighResTimeStamp = double;\ntype DOMTimeStamp = u64;\ntype EpochTimeStamp = u64;\ntype PRTime = i64;\ntype PivotMoveReason = i16;\ntype PredictorLearnReason = u32;\ntype PredictorPredictReason = u32;\ntype RequireTrustedTypesForDirectiveState = nsIContentSecurityPolicy.RequireTrustedTypesForDirectiveState;\ntype nsBitsErrorAction = i32;\ntype nsBitsErrorStage = i32;\ntype nsBitsErrorType = i32;\ntype nsContentPolicyType = nsIContentPolicy.nsContentPolicyType;\ntype nsCookieAccess = i32;\ntype nsCookiePolicy = i32;\ntype nsCookieStatus = i32;\ntype nsHandlerInfoAction = i32;\ntype nsLoadFlags = u32;\ntype nsProxyUsage = i32;\ntype nsSecurityFlags = u32;\ntype nsServerSocketFlag = u32;\ntype nsSuspendedTypes = u32;\ntype nsViewID = u64;\n\n// XPCOM internal utility types.\n\n/** XPCOM inout param is passed in as a js object with a value property. */\ntype InOutParam<T> = { value: T };\n\n/** XPCOM out param is written to the passed in object's value property. */\ntype OutParam<T> = { value?: T };\n\n/** Enable interfaces to inherit from enums: pick variants as optional. */\ntype Enums<enums> = Partial<Pick<enums, keyof enums>>;\n\n/** Callable accepts either form of a [function] interface. */\ntype Callable<iface> = iface | Extract<iface[keyof iface], Function>\n\n\n// @ts-nocheck\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n\n\n\n\ndeclare global {\n  const Cc: nsXPCComponents_Classes;\n  const Ci: nsIXPCComponents_Interfaces;\n  const Components: nsIXPCComponents;\n  const Cr: nsIXPCComponents_Results;\n\n  // Resolve typed generic overloads before the generated ones.\n  const Cu: nsXPCComponents_Utils & nsIXPCComponents_Utils;\n\n  const Services: JSServices;\n  const uneval: (any) => string;\n}\n\n\n// @ts-nocheck\n/**\n * Custom artisanal types, handcrafted especially for Gecko.\n */\n\ndeclare global {\n  type DeclaredLazy<T> = {\n    [P in keyof T]: T[P] extends () => infer U\n      ? U\n      : T[P] extends keyof LazyModules\n        ? Exports<T[P], P>\n        : T[P] extends { pref: string; default?: infer U }\n          ? Widen<U>\n          : T[P] extends { service: string; iid?: infer U }\n            ? nsQIResult<U>\n            : never;\n  };\n\n  type LazyDefinition = Record<\n    string,\n    | string\n    | (() => any)\n    | { service: string; iid: nsIID }\n    | { pref: string; default?; onUpdate?; transform? }\n  >;\n}\n\ntype Exports<M, P> = M extends keyof LazyModules\n  ? IfKey<LazyModules[M], P>\n  : never;\ntype IfKey<T, K> = K extends keyof T ? T[K] : never;\n\ntype LazyModules = import(\"./generated/lib.gecko.modules\").LazyModules;\n\ntype Widen<T> = T extends boolean\n  ? boolean\n  : T extends number\n    ? number\n    : T extends string\n      ? string\n      : never;\n\n\n// @ts-nocheck\ndeclare var Glean: GleanImpl;\ndeclare var GleanPings: GleanPingsImpl;\ndeclare var InstallTrigger: InstallTriggerImpl | null;\ndeclare var browserDOMWindow: nsIBrowserDOMWindow | null;\ndeclare var browsingContext: BrowsingContext;\ndeclare var clientInformation: Navigator;\ndeclare var clientPrincipal: Principal | null;\ndeclare var closed: boolean;\ndeclare var content: any;\ndeclare var controllers: XULControllers;\ndeclare var cookieStore: CookieStore;\ndeclare var customElements: CustomElementRegistry;\ndeclare var desktopToDeviceScale: number;\ndeclare var devicePixelRatio: number;\ndeclare var docShell: nsIDocShell | null;\ndeclare var document: Document | null;\ndeclare var event: Event | undefined;\ndeclare var external: External;\ndeclare var frameElement: Element | null;\ndeclare var frames: WindowProxy;\ndeclare var fullScreen: boolean;\ndeclare var history: History;\ndeclare var innerHeight: number;\ndeclare var innerWidth: number;\ndeclare var intlUtils: IntlUtils;\ndeclare var isChromeWindow: boolean;\ndeclare var isFullyOccluded: boolean;\ndeclare var isInFullScreenTransition: boolean;\ndeclare var length: number;\ndeclare var location: Location;\ndeclare var locationbar: BarProp;\ndeclare var menubar: BarProp;\ndeclare var messageManager: ChromeMessageBroadcaster;\ndeclare var mozInnerScreenX: number;\ndeclare var mozInnerScreenY: number;\n/** @deprecated */\ndeclare const name: void;\ndeclare var navigation: Navigation;\ndeclare var navigator: Navigator;\ndeclare var ondevicelight: ((this: Window, ev: Event) => any) | null;\ndeclare var ondevicemotion: ((this: Window, ev: Event) => any) | null;\ndeclare var ondeviceorientation: ((this: Window, ev: Event) => any) | null;\ndeclare var ondeviceorientationabsolute: ((this: Window, ev: Event) => any) | null;\ndeclare var onorientationchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onuserproximity: ((this: Window, ev: Event) => any) | null;\ndeclare var onvrdisplayactivate: ((this: Window, ev: Event) => any) | null;\ndeclare var onvrdisplayconnect: ((this: Window, ev: Event) => any) | null;\ndeclare var onvrdisplaydeactivate: ((this: Window, ev: Event) => any) | null;\ndeclare var onvrdisplaydisconnect: ((this: Window, ev: Event) => any) | null;\ndeclare var onvrdisplaypresentchange: ((this: Window, ev: Event) => any) | null;\ndeclare var opener: any;\ndeclare var orientation: number;\ndeclare var originAgentCluster: boolean;\ndeclare var outerHeight: number;\ndeclare var outerWidth: number;\ndeclare var pageXOffset: number;\ndeclare var pageYOffset: number;\ndeclare var paintWorklet: Worklet;\ndeclare var parent: WindowProxy | null;\ndeclare var performance: Performance | null;\ndeclare var personalbar: BarProp;\ndeclare var realFrameElement: Element | null;\ndeclare var screen: Screen;\ndeclare var screenEdgeSlopX: number;\ndeclare var screenEdgeSlopY: number;\ndeclare var screenLeft: number;\ndeclare var screenTop: number;\ndeclare var screenX: number;\ndeclare var screenY: number;\ndeclare var scrollMaxX: number;\ndeclare var scrollMaxY: number;\ndeclare var scrollMinX: number;\ndeclare var scrollMinY: number;\ndeclare var scrollX: number;\ndeclare var scrollY: number;\ndeclare var scrollbars: BarProp;\ndeclare var self: WindowProxy;\ndeclare var status: string;\ndeclare var statusbar: BarProp;\ndeclare var toolbar: BarProp;\ndeclare var top: WindowProxy | null;\ndeclare var visualViewport: VisualViewport;\ndeclare var window: WindowProxy;\ndeclare var windowGlobalChild: WindowGlobalChild | null;\ndeclare var windowRoot: WindowRoot | null;\ndeclare var windowState: number;\ndeclare var windowUtils: nsIDOMWindowUtils;\ndeclare function alert(): void;\ndeclare function alert(message: string): void;\ndeclare function blur(): void;\ndeclare function cancelIdleCallback(handle: number): void;\ndeclare function captureEvents(): void;\ndeclare function close(): void;\ndeclare function confirm(message?: string): boolean;\ndeclare function dump(str: string): void;\ndeclare function find(str?: string, caseSensitive?: boolean, backwards?: boolean, wrapAround?: boolean, wholeWord?: boolean, searchInFrames?: boolean, showDialog?: boolean): boolean;\ndeclare function focus(): void;\ndeclare function getAttention(): void;\ndeclare function getAttentionWithCycleCount(aCycleCount: number): void;\ndeclare function getComputedStyle(elt: Element, pseudoElt?: string | null): CSSStyleDeclaration | null;\ndeclare function getDefaultComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration | null;\ndeclare function getGroupMessageManager(aGroup: string): ChromeMessageBroadcaster;\ndeclare function getInterface(iid: any): any;\ndeclare function getRegionalPrefsLocales(): string[];\ndeclare function getSelection(): Selection | null;\ndeclare function getWebExposedLocales(): string[];\ndeclare function getWorkspaceID(): string;\ndeclare function matchMedia(query: string): MediaQueryList | null;\ndeclare function maximize(): void;\ndeclare function minimize(): void;\ndeclare function moveBy(x: number, y: number): void;\ndeclare function moveTo(x: number, y: number): void;\ndeclare function moveToWorkspace(workspaceID: string): void;\ndeclare function mozScrollSnap(): void;\ndeclare function notifyDefaultButtonLoaded(defaultButton: Element): void;\ndeclare function open(url?: string | URL, target?: string, features?: string): WindowProxy | null;\ndeclare function openDialog(url?: string, name?: string, options?: string, ...extraArguments: any[]): WindowProxy | null;\ndeclare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void;\ndeclare function postMessage(message: any, options?: WindowPostMessageOptions): void;\ndeclare function print(): void;\ndeclare function printPreview(settings?: nsIPrintSettings | null, listener?: nsIWebProgressListener | null, docShellToPreviewInto?: nsIDocShell | null): WindowProxy | null;\ndeclare function promiseDocumentFlushed(callback: PromiseDocumentFlushedCallback): Promise<any>;\ndeclare function prompt(message?: string, _default?: string): string | null;\ndeclare function releaseEvents(): void;\ndeclare function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;\ndeclare function resizeBy(x: number, y: number): void;\ndeclare function resizeTo(x: number, y: number): void;\ndeclare function restore(): void;\ndeclare function scroll(x: number, y: number): void;\ndeclare function scroll(options?: ScrollToOptions): void;\ndeclare function scrollBy(x: number, y: number): void;\ndeclare function scrollBy(options?: ScrollToOptions): void;\ndeclare function scrollByLines(numLines: number, options?: ScrollOptions): void;\ndeclare function scrollByPages(numPages: number, options?: ScrollOptions): void;\ndeclare function scrollTo(x: number, y: number): void;\ndeclare function scrollTo(options?: ScrollToOptions): void;\ndeclare function setCursor(cursor: string): void;\ndeclare function setResizable(resizable: boolean): void;\ndeclare function setScrollMarks(marks: number[], onHorizontalScrollbar?: boolean): void;\ndeclare function shouldReportForServiceWorkerScope(aScope: string): boolean;\ndeclare function sizeToContent(constraints?: SizeToContentConstraints): void;\ndeclare function stop(): void;\ndeclare function updateCommands(action: string): void;\ndeclare function toString(): string;\ndeclare var ownerGlobal: WindowProxy | null;\ndeclare function dispatchEvent(event: Event): boolean;\ndeclare function getEventHandler(type: string): EventHandler;\ndeclare function setEventHandler(type: string, handler: EventHandler): void;\ndeclare function cancelAnimationFrame(handle: number): void;\ndeclare function requestAnimationFrame(callback: FrameRequestCallback): number;\ndeclare var crypto: Crypto;\ndeclare var onabort: ((this: Window, ev: Event) => any) | null;\ndeclare var onanimationcancel: ((this: Window, ev: Event) => any) | null;\ndeclare var onanimationend: ((this: Window, ev: Event) => any) | null;\ndeclare var onanimationiteration: ((this: Window, ev: Event) => any) | null;\ndeclare var onanimationstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onauxclick: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforeinput: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforematch: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforetoggle: ((this: Window, ev: Event) => any) | null;\ndeclare var onblur: ((this: Window, ev: Event) => any) | null;\ndeclare var oncancel: ((this: Window, ev: Event) => any) | null;\ndeclare var oncanplay: ((this: Window, ev: Event) => any) | null;\ndeclare var oncanplaythrough: ((this: Window, ev: Event) => any) | null;\ndeclare var onchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onclick: ((this: Window, ev: Event) => any) | null;\ndeclare var onclose: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontentvisibilityautostatechange: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontextlost: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontextmenu: ((this: Window, ev: Event) => any) | null;\ndeclare var oncontextrestored: ((this: Window, ev: Event) => any) | null;\ndeclare var oncopy: ((this: Window, ev: Event) => any) | null;\ndeclare var oncuechange: ((this: Window, ev: Event) => any) | null;\ndeclare var oncut: ((this: Window, ev: Event) => any) | null;\ndeclare var ondblclick: ((this: Window, ev: Event) => any) | null;\ndeclare var ondrag: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragend: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragenter: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragexit: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragleave: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragover: ((this: Window, ev: Event) => any) | null;\ndeclare var ondragstart: ((this: Window, ev: Event) => any) | null;\ndeclare var ondrop: ((this: Window, ev: Event) => any) | null;\ndeclare var ondurationchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onemptied: ((this: Window, ev: Event) => any) | null;\ndeclare var onended: ((this: Window, ev: Event) => any) | null;\ndeclare var onfocus: ((this: Window, ev: Event) => any) | null;\ndeclare var onformdata: ((this: Window, ev: Event) => any) | null;\ndeclare var ongotpointercapture: ((this: Window, ev: Event) => any) | null;\ndeclare var oninput: ((this: Window, ev: Event) => any) | null;\ndeclare var oninvalid: ((this: Window, ev: Event) => any) | null;\ndeclare var onkeydown: ((this: Window, ev: Event) => any) | null;\ndeclare var onkeypress: ((this: Window, ev: Event) => any) | null;\ndeclare var onkeyup: ((this: Window, ev: Event) => any) | null;\ndeclare var onload: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadeddata: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadedmetadata: ((this: Window, ev: Event) => any) | null;\ndeclare var onloadstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onlostpointercapture: ((this: Window, ev: Event) => any) | null;\ndeclare var onmousedown: ((this: Window, ev: Event) => any) | null;\ndeclare var onmouseenter: ((this: Window, ev: Event) => any) | null;\ndeclare var onmouseleave: ((this: Window, ev: Event) => any) | null;\ndeclare var onmousemove: ((this: Window, ev: Event) => any) | null;\ndeclare var onmouseout: ((this: Window, ev: Event) => any) | null;\ndeclare var onmouseover: ((this: Window, ev: Event) => any) | null;\ndeclare var onmouseup: ((this: Window, ev: Event) => any) | null;\ndeclare var onmozfullscreenchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onmozfullscreenerror: ((this: Window, ev: Event) => any) | null;\ndeclare var onpaste: ((this: Window, ev: Event) => any) | null;\ndeclare var onpause: ((this: Window, ev: Event) => any) | null;\ndeclare var onplay: ((this: Window, ev: Event) => any) | null;\ndeclare var onplaying: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointercancel: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerdown: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerenter: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerleave: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointermove: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerout: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerover: ((this: Window, ev: Event) => any) | null;\n/** Available only in secure contexts. */\ndeclare var onpointerrawupdate: ((this: Window, ev: Event) => any) | null;\ndeclare var onpointerup: ((this: Window, ev: Event) => any) | null;\ndeclare var onprogress: ((this: Window, ev: Event) => any) | null;\ndeclare var onratechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onreset: ((this: Window, ev: Event) => any) | null;\ndeclare var onresize: ((this: Window, ev: Event) => any) | null;\ndeclare var onscroll: ((this: Window, ev: Event) => any) | null;\ndeclare var onscrollend: ((this: Window, ev: Event) => any) | null;\ndeclare var onsecuritypolicyviolation: ((this: Window, ev: Event) => any) | null;\ndeclare var onseeked: ((this: Window, ev: Event) => any) | null;\ndeclare var onseeking: ((this: Window, ev: Event) => any) | null;\ndeclare var onselect: ((this: Window, ev: Event) => any) | null;\ndeclare var onselectionchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onselectstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onslotchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onstalled: ((this: Window, ev: Event) => any) | null;\ndeclare var onsubmit: ((this: Window, ev: Event) => any) | null;\ndeclare var onsuspend: ((this: Window, ev: Event) => any) | null;\ndeclare var ontimeupdate: ((this: Window, ev: Event) => any) | null;\ndeclare var ontoggle: ((this: Window, ev: Event) => any) | null;\ndeclare var ontransitioncancel: ((this: Window, ev: Event) => any) | null;\ndeclare var ontransitionend: ((this: Window, ev: Event) => any) | null;\ndeclare var ontransitionrun: ((this: Window, ev: Event) => any) | null;\ndeclare var ontransitionstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onvolumechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onwaiting: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationend: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationiteration: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkitanimationstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onwebkittransitionend: ((this: Window, ev: Event) => any) | null;\ndeclare var onwheel: ((this: Window, ev: Event) => any) | null;\ndeclare var onerror: ((this: Window, ev: Event) => any) | null;\ndeclare var speechSynthesis: SpeechSynthesis;\ndeclare var ontouchcancel: ((this: Window, ev: Event) => any) | null;\ndeclare var ontouchend: ((this: Window, ev: Event) => any) | null;\ndeclare var ontouchmove: ((this: Window, ev: Event) => any) | null;\ndeclare var ontouchstart: ((this: Window, ev: Event) => any) | null;\ndeclare var onafterprint: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforeprint: ((this: Window, ev: Event) => any) | null;\ndeclare var onbeforeunload: ((this: Window, ev: Event) => any) | null;\ndeclare var ongamepadconnected: ((this: Window, ev: Event) => any) | null;\ndeclare var ongamepaddisconnected: ((this: Window, ev: Event) => any) | null;\ndeclare var onhashchange: ((this: Window, ev: Event) => any) | null;\ndeclare var onlanguagechange: ((this: Window, ev: Event) => any) | null;\ndeclare var onmessage: ((this: Window, ev: Event) => any) | null;\ndeclare var onmessageerror: ((this: Window, ev: Event) => any) | null;\ndeclare var onoffline: ((this: Window, ev: Event) => any) | null;\ndeclare var ononline: ((this: Window, ev: Event) => any) | null;\ndeclare var onpagehide: ((this: Window, ev: Event) => any) | null;\ndeclare var onpageshow: ((this: Window, ev: Event) => any) | null;\ndeclare var onpopstate: ((this: Window, ev: Event) => any) | null;\ndeclare var onrejectionhandled: ((this: Window, ev: Event) => any) | null;\ndeclare var onstorage: ((this: Window, ev: Event) => any) | null;\ndeclare var onunhandledrejection: ((this: Window, ev: Event) => any) | null;\ndeclare var onunload: ((this: Window, ev: Event) => any) | null;\ndeclare var localStorage: Storage | null;\ndeclare var caches: CacheStorage;\ndeclare var crossOriginIsolated: boolean;\ndeclare var indexedDB: IDBFactory | null;\ndeclare var isSecureContext: boolean;\ndeclare var origin: string;\ndeclare var scheduler: Scheduler;\ndeclare var trustedTypes: TrustedTypePolicyFactory;\ndeclare function atob(atob: string): string;\ndeclare function btoa(btoa: string): string;\ndeclare function clearInterval(handle?: number): void;\ndeclare function clearTimeout(handle?: number): void;\ndeclare function createImageBitmap(aImage: ImageBitmapSource, aOptions?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function createImageBitmap(aImage: ImageBitmapSource, aSx: number, aSy: number, aSw: number, aSh: number, aOptions?: ImageBitmapOptions): Promise<ImageBitmap>;\ndeclare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;\ndeclare function queueMicrotask(callback: VoidFunction): void;\ndeclare function reportError(e: any): void;\ndeclare function setInterval(handler: TimerHandler, timeout?: number, ...unused: any[]): number;\ndeclare function setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[]): number;\ndeclare function structuredClone(value: any, options?: StructuredSerializeOptions): any;\ndeclare var sessionStorage: Storage | null;\ndeclare function addEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\ndeclare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\ndeclare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n// @ts-nocheck\n/**\n * Gecko generic/specialized adjustments for xpcom and webidl types.\n */\n\n// More specific types for parent process browsing contexts.\ninterface CanonicalBrowsingContext extends LoadContextMixin {\n  embedderElement: XULBrowserElement;\n  currentWindowContext: WindowGlobalParent;\n  parent: CanonicalBrowsingContext;\n  parentWindowContext: WindowGlobalParent;\n  top: CanonicalBrowsingContext;\n  topWindowContext: WindowGlobalParent;\n}\n\ninterface ChromeWindow extends Window {\n  isChromeWindow: true;\n}\n\ninterface Document {\n  createXULElement(name: \"browser\"): XULBrowserElement;\n}\n\ntype nsIGleanPingNoReason = {\n  [K in keyof nsIGleanPing]: K extends \"submit\"\n    ? (_?: never) => void\n    : nsIGleanPing[K];\n};\n\ntype nsIGleanPingWithReason<T> = {\n  [K in keyof nsIGleanPing]: K extends \"submit\"\n    ? (reason: T) => void\n    : nsIGleanPing[K];\n};\n\ninterface MessageListenerManagerMixin {\n  // Overloads that define `data` arg as required, since it's ~always expected.\n  addMessageListener(\n    msg: string,\n    listener: { receiveMessage(_: ReceiveMessageArgument & { data }) }\n  );\n  removeMessageListener(\n    msg: string,\n    listener: { receiveMessage(_: ReceiveMessageArgument & { data }) }\n  );\n}\n\ninterface MozQueryInterface {\n  <T>(iid: T): nsQIResult<T>;\n}\n\ninterface nsICryptoHash extends nsISupports {\n  // Accepts a TypedArray.\n  update(aData: ArrayLike<number>, aLen: number): void;\n}\n\ninterface nsIDOMWindow extends Window {}\n\ninterface nsISimpleEnumerator extends Iterable<any> {}\n\ninterface nsISupports {\n  wrappedJSObject?: object;\n}\n\ninterface nsIXPCComponents_Constructor {\n  <const T, IIDs = nsIXPCComponents_Interfaces>(\n    cid,\n    id: T,\n    init?\n  ): {\n    new (...any): nsQIResult<T extends keyof IIDs ? IIDs[T] : T>;\n    (...any): nsQIResult<T extends keyof IIDs ? IIDs[T] : T>;\n  };\n}\n\ninterface ComponentsExceptionOptions {\n  result?: number;\n  stack?: nsIStackFrame;\n  data?: object;\n}\n\ninterface nsIException extends Exception {}\n\ninterface nsIXPCComponents_Exception {\n  (\n    message?: string,\n    resultOrOptions?: number | ComponentsExceptionOptions,\n    stack?: nsIStackFrame,\n    data?: object\n  ): nsIException;\n}\n\ninterface nsIXPCComponents_ID {\n  (uuid: string): nsID;\n}\n\ninterface nsIXPCComponents_utils_Sandbox {\n  (principal: nsIPrincipal | nsIPrincipal[], options: object): Sandbox;\n}\n\ninterface nsXPCComponents_Classes {\n  [cid: string]: {\n    createInstance<T>(aID: T): nsQIResult<T>;\n    getService<T>(aID?: T): unknown extends T ? nsISupports : nsQIResult<T>;\n  };\n}\n\n// Generic overloads.\ninterface nsXPCComponents_Utils {\n  cloneInto<T>(value: T, ...any): T;\n  createObjectIn<T = object>(_, object?: T): T;\n  exportFunction<T>(func: T, ...any): T;\n  getWeakReference<T>(value: T): { get(): T };\n  waiveXrays<T>(object: T): T;\n}\n\ntype Sandbox = typeof globalThis & nsISupports;\n\ninterface WindowGlobalParent extends WindowContext {\n  readonly browsingContext: CanonicalBrowsingContext;\n}\n\n// Hand-crafted artisanal types.\ninterface XULBrowserElement extends XULFrameElement, FrameLoader {\n  currentURI: nsIURI;\n  docShellIsActive: boolean;\n  isRemoteBrowser: boolean;\n  remoteType: string;\n}\n\n// https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1736\ninterface Localization {\n  formatValuesSync(aKeys: L10nKey[]): (string | null)[];\n}\n\n/**\n * Redefine the DOMStringMap interface to match its implementation.\n * xref Bug 1965336.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMStringMap)\n */\ninterface DOMStringMap {\n  [name: string]: string | undefined;\n}\n\n/**\n * Define base64/hex methods for Uint8Array\n * https://github.com/microsoft/TypeScript/issues/61695\n */\ninterface Uint8Array<TArrayBuffer extends ArrayBufferLike> {\n  setFromBase64(\n    string: string,\n    options?: { alphabet?: string; lastChunkHandling: string }\n  ): { read: number; written: number };\n  setFromHex(string: string): { read: number; written: number };\n  toBase64(options?: { alphabet?: string; omitPadding: boolean }): string;\n  toHex(): string;\n}\n\n// @ts-nocheck\n/**\n * Gecko XPIDL base types.\n */\n\n/**\n * Generic IDs are created by most code which passes a nsID to js.\n * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#24\n */\ninterface nsID<uuid = string> {\n  readonly number: uuid;\n}\n\n/**\n * In addition to nsID, interface IIDs support instanceof type guards,\n * and expose constants defined on the class, including variants from enums.\n * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#45\n */\ntype nsJSIID<iface, enums = {}> = nsID &\n  Constants<iface> &\n  enums & {\n    new (_: never): void;\n    prototype: iface;\n  };\n\n/** A union type of all known interface IIDs. */\ntype nsIID = nsIXPCComponents_Interfaces[keyof nsIXPCComponents_Interfaces];\n\n/** A generic to resolve QueryInterface return type from a nsIID. */\ntype nsQIResult<iid> = iid extends { prototype: infer U } ? U : never;\n\n/** Picks only const number properties from T. */\ntype Constants<T> = { [K in keyof T as IfConst<K, T[K]>]: T[K] };\n\n/** Resolves only for keys K whose corresponding type T is a narrow number. */\ntype IfConst<K, T> = T extends number ? (number extends T ? never : K) : never;\n\n/** u32 */\ntype nsresult = u32;\n\n// Numeric typedefs, useful as a quick reference in method signatures.\ntype double = number;\ntype float = number;\ntype i16 = number;\ntype i32 = number;\ntype i64 = number;\ntype u16 = number;\ntype u32 = number;\ntype u64 = number;\ntype u8 = number;\n\n/**\n * Tweaks to the Gecko types to make them compatible with the current version of Zotero.\n */\n\n\ndeclare namespace ChromeUtils {\n  /**\n   * @deprecated Use `ChromeUtils.importESModule` instead. See https://firefox-source-docs.mozilla.org/jsloader/jsloader-api.html#synchronous-module-import\n   * @param aResourceURI\n   * @param targetObj\n   */\n  function _import(aResourceURI: string, targetObj?: any): any;\n  }\n\ninterface nsIXPCComponents_Utils {\n  /**\n   * @deprecated Use `ChromeUtils.importESModule` instead. See https://firefox-source-docs.mozilla.org/jsloader/jsloader-api.html#synchronous-module-import\n   * @param aResourceURI\n   * @param targetObj\n   */\n  import(aResourceURI: string, targetObj?: any): any;\n}\n\ninterface DOMStringMap {\n  [name: string]: string | undefined;\n}\n\ninterface EventSourceEventMap {\n  /**\n   * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.\n   * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext(\"2d\"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext(\"experimental-webgl\");\n   *\n   * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext)\n   */\n  getContext(\n    contextId: \"2d\",\n    options?: CanvasRenderingContext2DSettings,\n  ): CanvasRenderingContext2D | null;\n  getContext(\n    contextId: \"bitmaprenderer\",\n    options?: ImageBitmapRenderingContext,\n  ): ImageBitmapRenderingContext | null;\n  getContext(\n    contextId: \"webgl\",\n    options?: WebGLContextAttributes,\n  ): WebGLRenderingContext | null;\n  getContext(\n    contextId: \"webgl2\",\n    options?: WebGLContextAttributes,\n  ): WebGL2RenderingContext | null;\n  getContext(contextId: string, options?: any): WebGLRenderingContext | null;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface ItemTree extends LibraryTree {\n    [attr: string]: any;\n  }\n\n  interface ItemTreeRow extends TreeRow {\n    new (ref: Zotero.DataObject, level: number, isOpen: boolean): this;\n    getField(\n      field: _ZoteroTypes.Item.ItemField | number,\n      unformatted?: boolean,\n    ): string;\n    numNotes(): number;\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  interface TreeRow {\n    isOpen: boolean;\n    level: number;\n  }\n  interface LibraryTree extends React.Component {\n    [attr: string]: any;\n\n    get window(): Window;\n    // get selection():TreeSelectionStub;\n    get rowCount(): number;\n    componentDidCatch(error: unknown, info: unknown): void;\n    focus(): void;\n    getParentIndex(index: number): number;\n    getLevel(index: number): number;\n\n    /**\n     * Return a reference to the tree row at a given row\n     *\n     * @return {TreeRow}\n     */\n    getRow(index: number): TreeRow;\n\n    /**\n     * Return the index of the row with a given ID (e.g., \"C123\" for collection 123)\n     *\n     * @param {String} - Row id\n     * @return {Integer|false}\n     */\n    getRowIndexByID(id: string): number | false;\n\n    /**\n     * Add a tree row to the main array, update the row count, tell the treebox that the row\n     * count changed, and update the row map\n     *\n     * @param {TreeRow} treeRow\n     * @param {Number} [beforeRow] - Row index to insert new row before\n     */\n    _addRow(\n      treeRow: TreeRow,\n      beforeRow: number,\n      skipRowMapRefresh?: boolean,\n    ): void;\n\n    /**\n     * Remove a row from the main array and parent row children arrays,\n     * delete the row from the map, and optionally update all rows above it in the map\n     */\n    _removeRow(index: number, skipMapUpdate?: boolean): void;\n\n    _removeRows(rows: number[]): void;\n    _refreshRowMap(): void;\n    _onSelectionChange(): void;\n    _onSelectionChangeDebounced(): void;\n    ensureRowIsVisible(index: number): void;\n    _updateHeight(): void;\n    updateHeight(): void;\n    updateFontSize(): void;\n\n    /**\n     * On Windows (in Fx26), Firefox uses 'move' for unmodified drags\n     * and 'copy'/'link' for drags with system-default modifier keys\n     * as long as the actions are allowed by the initial effectAllowed set\n     * in onDragStart, regardless of the effectAllowed or dropEffect set\n     * in onDragOver. It doesn't seem to be possible to use 'copy' for\n     * the default and 'move' for modified, as we need to in the collections\n     * tree. To prevent inaccurate cursor feedback, we set effectAllowed to\n     * 'copy' in onDragStart, which locks the cursor at 'copy'. ('none' still\n     * changes the cursor, but 'move'/'link' do not.) It'd be better to use\n     * the unadorned 'move', but we use 'copy' instead because with 'move' text\n     * can't be dragged to some external programs (e.g., Chrome, Notepad++),\n     * which seems worse than always showing 'copy' feedback.\n     * However, since effectAllowed is enforced, leaving it at 'copy'\n     * would prevent our modified 'move' in the collections tree from working,\n     * so we also have to set effectAllowed here (called from onDragOver) to\n     * the same action as the dropEffect. This allows the dropEffect setting\n     * (which we use in the tree's canDrop() and drop() to determine the desired\n     * action) to be changed, even if the cursor doesn't reflect the new setting.\n     */\n    setDropEffect(event: unknown, effect: unknown): void;\n\n    selectLibrary(libraryID?: number): Promise<boolean>;\n  }\n}\n\n\ndeclare const ZoteroContextPane: _ZoteroTypes.ZoteroContextPane;\n\n\n\ndeclare const Zotero_Tabs: _ZoteroTypes.Zotero_Tabs;\n\n\ndeclare const ZoteroPane: _ZoteroTypes.ZoteroPane;\ndeclare const ZoteroPane_Local: _ZoteroTypes.ZoteroPane;\n\n\n// Type definitions for Zotero platform (Mozilla Firefox 60/102)\n\ndeclare const NetUtil: any;\n\n// https://github.com/retorquere/zotero-better-bibtex/blob/master/typings/global.d.ts\ndeclare interface DirectoryIterator {\n  forEach(handler: any): Promise<void>;\n  close(): void;\n  next(): any;\n}\ndeclare interface DirectoryIteratorConstructable {\n  new (path: string): DirectoryIterator;\n}\n\ndeclare namespace OS {\n  namespace File {\n    type Entry = {\n      isDir: boolean;\n      size: number;\n      path: string;\n      unixMode?: number;\n      name: string;\n    };\n    type FileInfo = {\n      isDir: boolean;\n      size: number;\n      unixMode?: number;\n      lastModificationDate: Date;\n    };\n  }\n}\ndeclare const OS: {\n  /**\n   * @deprecated This namespace is deprecated and is removed in Firefox 115.\n   * Please use the `Zotero.File` or `IOUtils` instead.\n   * @see {@link https://groups.google.com/g/zotero-dev/c/t0oP9NECX54}\n   * @see {@link https://firefox-source-docs.mozilla.org/dom/ioutils_migration.html | Migration Guide}\n   * @see {@link https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm/OS.File_for_the_main_thread}\n   */\n  File: {\n    exists(path: string): boolean | Promise<boolean>;\n    read: (\n      path: string | BufferSource,\n      options?: { encoding?: string },\n    ) =>\n      | string\n      | Promise<string>\n      | Uint8Array\n      | Promise<Uint8Array>\n      | Promise<BufferSource>;\n    move(from: string, to: string): void | Promise<void>;\n    remove: (\n      path: string,\n      options?: { ignoreAbsent: boolean },\n    ) => Promise<void>;\n    writeAtomic: (\n      path: string,\n      data: Uint8Array | string,\n      options?: { tmpPath?: string; encoding?: string },\n    ) => void | Promise<void>;\n    makeDir: (\n      path: string,\n      options?: { ignoreExisting?: boolean },\n    ) => void | Promise<void>;\n    stat(path: string): OS.File.FileInfo | Promise<OS.File.FileInfo>;\n    copy: (\n      src: string,\n      tgt: string,\n      options?: { noOverwrite?: boolean },\n    ) => void;\n    removeDir: (\n      path: string,\n      options?: { ignoreAbsent?: boolean; ignorePermissions?: boolean },\n    ) => void;\n\n    DirectoryIterator: DirectoryIteratorConstructable;\n  };\n\n  /**\n   * @deprecated This namespace is deprecated and is removed in Firefox 115.\n   * Please use the `Zotero.File` or `PathUtils` instead.\n   * @see {@link https://groups.google.com/g/zotero-dev/c/t0oP9NECX54}\n   * @see {@link https://firefox-source-docs.mozilla.org/dom/ioutils_migration.html | Migration Guide}\n   * @see {@link https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm/OS.Path}\n   */\n  Path: {\n    join(...args: string[]): string;\n    dirname(path: string): string;\n    basename(path: string): string;\n    normalize(path: string): string;\n    split: (path: string) => {\n      absolute: boolean;\n      components: string[];\n      winDrive?: string;\n    };\n    toFileURI(path: string): string;\n  };\n\n  /**\n   * @deprecated This namespace is deprecated.\n   * Please use `FileUtils` instead.\n   */\n  Constants: {\n    Path: {\n      /**\n       * @deprecated This property is deprecated.\n       * use `FileUtils.getDir(\"Home\", []).path` instead.\n       */\n      readonly homeDir: string;\n      /**\n       * @deprecated This property is deprecated.\n       * use `FileUtils.getDir(\"GreBinD\", []).path` instead.\n       */\n      readonly libDir: string;\n      /**\n       * @deprecated This property is deprecated.\n       * use `FileUtils.getDir(\"ProfD\", []).path` instead.\n       */\n      readonly profileDir: string;\n      /**\n       * @deprecated This property is deprecated.\n       * use `FileUtils.getDir(\"TmpD\", []).path` instead.\n       */\n      readonly tmpDir: string;\n    };\n  };\n};\n\ndeclare namespace _ZoteroTypes {\n  namespace FileUtils {\n    function getDir(\n      key: string,\n      pathArray: string[],\n      shouldCreate?: boolean,\n    ): nsIFile;\n    function getFile(key: string, pathArray: string[]): nsIFile;\n  }\n}\n\ndeclare namespace Zotero {\n  /**\n   * @deprecated Use standard Promise instead.\n   */\n  const Promise: _ZoteroTypes.Promise.Promise &\n    _ZoteroTypes.Promise.PromiseConstructor<() => void>;\n}\n\ndeclare namespace _ZoteroTypes {\n  /**\n   * @deprecated Use standard Promise instead.\n   */\n  namespace Promise {\n    type Bluebird<T> = import(\"bluebird\")<T>;\n\n    /**\n     * @deprecated\n     */\n    type PromiseObject = DeferredPromise<unknown>;\n\n    interface DeferredPromise<T> {\n      promise: Bluebird<T>;\n      resolve(value?: T): void;\n      reject(reason?: T): void;\n    }\n\n    interface Promise<T = void> extends _ZoteroTypes.Promise.Bluebird<T> {\n      method(fn: Function): () => _ZoteroTypes.Promise.Bluebird<T>;\n      defer(): _ZoteroTypes.Promise.DeferredPromise<T>;\n    }\n\n    interface PromiseConstructor<T extends (...args: any) => any> {\n      new (fn: T): _ZoteroTypes.Promise.Promise<ReturnType<T>>;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class AnnotationManager {\n      _authorName: string;\n      _readOnly: boolean;\n      _annotations: Annotation[];\n      _onChangeFilter: Function;\n      _onSave: Function;\n      _onDelete: Function;\n      _unsavedAnnotations: Annotation[];\n      _filter: Filter;\n\n      constructor(options: {\n        readOnly: boolean;\n        authorName: string;\n        onSave: Function;\n        onDelete: Function;\n        onChangeFilter: (filter: Filter) => void;\n        onRender: (annotations: Annotation[]) => void;\n        annotations: Annotation[];\n      });\n\n      render(): void;\n      setReadOnly(readOnly: boolean): void;\n      _debounceSave(): void;\n\n      /**\n       * Called when changes come from the client side\n       */\n      setAnnotations(annotations: Annotation[]): Promise<void>;\n\n      /**\n       * Called when deletions come from the client side\n       */\n      unsetAnnotations(ids: string[]): void;\n\n      addAnnotation(\n        annotation: Partial<Annotation> & { color: string; sortIndex: string },\n      ): Required<Annotation> | null;\n      updateAnnotations(annotations: Annotation[]): void;\n      deleteAnnotations(ids: string[]): void;\n      _generateObjectKey(): string;\n      _save(annotation: Annotation, instant?: boolean): void;\n      _getAnnotationByID(id: string): Annotation | undefined;\n      setFilter(filter: Filter): Promise<void>;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    function debounce<F extends CallableFunction>(\n      func: F,\n      wait?: number,\n      options?: {\n        leading?: boolean;\n        maxWait?: number;\n        trailing?: boolean;\n      },\n    ): F & DebounceResult;\n\n    interface DebounceResult {\n      cancel(): void;\n\n      flush(): void;\n\n      pending(): boolean;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    interface Filter {\n      query: string;\n      colors: string[];\n      tags: string[];\n      authors: string[];\n    }\n    interface InternalReaderTools {\n      pointer: {\n        type: \"pointer\";\n      };\n      hand: {\n        type: \"hand\";\n      };\n      highlight: {\n        type: \"highlight\";\n        color: string;\n      };\n      underline: {\n        type: \"underline\";\n        color: string;\n      };\n      note: {\n        type: \"note\";\n        color: string;\n      };\n      image: {\n        type: \"image\";\n        color: string;\n      };\n      text: {\n        type: \"text\";\n        color: string;\n      };\n      ink: {\n        type: \"ink\";\n        color: string;\n        size: number;\n      };\n      eraser: {\n        type: \"eraser\";\n        size: number;\n      };\n    }\n    interface ViewTypeMap {\n      pdf: PDFView;\n      epub: EPUBView;\n      snapshot: SnapshotView;\n    }\n\n    interface InternalReader<T extends keyof ViewTypeMap> {\n      _type: T;\n      _platform: \"zotero\";\n      _readerRef: React.RefObject<anyObj>;\n      _primaryView: ViewTypeMap[T];\n      _secondaryView?: ViewTypeMap[T];\n      _lastViewPrimary: boolean;\n      _splitViewContainer: HTMLDivElement;\n      _primaryViewContainer: HTMLDivElement;\n      _secondaryViewContainer: HTMLDivElement;\n      _portalViewContainer: HTMLDivElement;\n      _lastPortalRect: [number, number, number, number];\n      _enableAnnotationDeletionFromComment: boolean;\n      _annotationSelectionTriggeredFromView: boolean;\n      _tools: InternalReaderTools;\n      _state: {\n        splitType?: \"horizontal\" | \"vertical\";\n        splitSize?: string;\n        primary: boolean;\n        freeze: boolean;\n        errorMessages: string;\n        annotations: Reader.Annotation[];\n        selectedAnnotationIDs: string[];\n        filter: Filter;\n        readOnly: boolean;\n        authorName: string;\n        fontSize: number;\n        fontFamily: string;\n        showAnnotations: boolean;\n        tool: InternalReaderTools[keyof InternalReaderTools];\n        thumbnails: [];\n        outline: Array<OutlineItem>;\n        pageLabels: anyObj;\n        sidebarOpen: boolean;\n        sidebarWidth: number;\n        sidebarView: \"annotations\" | \"outline\" | \"thumbnails\";\n        bottomPlaceholderHeight: number;\n        toolbarPlaceholderWidth: number;\n        enableAddToNote: boolean;\n        primaryViewState: State | DOMViewState;\n        primaryViewStats: ViewStats;\n        primaryViewFindState: FindState;\n        secondaryViewState: State | DOMViewState;\n        secondaryViewStats: ViewStats;\n        secondaryViewFindState: FindState;\n      };\n      _focusManager: anyObj;\n      _keyboardManager: anyObj;\n      _annotationManager: AnnotationManager;\n\n      readonly _lastView: ViewTypeMap[T];\n      readonly splitType: \"horizontal\" | \"vertical\" | null;\n      readonly toolType: keyof InternalReaderTools;\n      readonly zoomAutoEnabled: boolean;\n      readonly zoomPageHeightEnabled: boolean;\n      readonly zoomPageWidthEnabled: boolean;\n      readonly canCopy: boolean;\n      readonly canNavigateBack: boolean;\n      readonly canNavigateForward: boolean;\n      readonly canNavigateToFirstPage: boolean;\n      readonly canNavigateToLastPage: boolean;\n      readonly canNavigateToNextPage: boolean;\n      readonly canNavigateToPreviousPage: boolean;\n      readonly canZoomIn: boolean;\n      readonly canZoomOut: boolean;\n      readonly canZoomReset: boolean;\n      readonly canNavigateToPreviousSection: boolean;\n      readonly canNavigateToNextSection: boolean;\n      flowMode: FlowMode;\n      scrollMode?: 0 | 1 | 2;\n      spreadMode: SpreadMode;\n\n      disableSplitView(): void;\n      toggleHorizontalSplit(enable: boolean): void;\n      toggleVerticalSplit(enable: boolean): void;\n      showAnnotations(enable: boolean): void;\n      setReadOnly(enable: boolean): void;\n      toggleHandTool(enable: boolean): void;\n      enableAddToNote(enable: boolean): void;\n      closeContextMenu(): void;\n      findNext(primary: boolean): void;\n      findPrevious(primary: boolean): void;\n      toggleFindPopup({\n        primary,\n        open,\n      }?: {\n        primary: boolean;\n        open: boolean;\n      }): void;\n      _getString(name: string): string;\n      setErrorMessage(errorMessage: string): void;\n      copy(): void;\n      zoomIn(): void;\n      zoomOut(): void;\n      zoomReset(): void;\n      zoomAuto(): void;\n      zoomPageWidth(): void;\n      zoomPageHeight(): void;\n      navigate(location: Location): Promise<void>;\n      navigateBack(): void;\n      navigateForward(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      navigateToNextPage(): void;\n      navigateToPreviousPage(): void;\n      navigateToNextSection(): void;\n      navigateToPreviousSection(): void;\n      setFontSize(fontSize: number): void;\n      setFontFamily(fontFamily: string): void;\n      toggleSidebar(open: boolean): void;\n      setSidebarWidth(width: number): void;\n      setSidebarView(view: string): void;\n      setSplitViewSize(size: string): void;\n      setBottomPlaceholderHeight(height: number): void;\n      setToolbarPlaceholderWidth(width: number): void;\n      focusView(primary?: boolean): void;\n      focus(): void;\n      freeze(): void;\n      unfreeze(): void;\n      print(): void;\n      abortPrint(): void;\n      rotatePageLeft(): void;\n      rotatePageRight(): void;\n      rotatePages(pageIndexes: number[], degrees: number): void;\n      deletePages(pageIndexes: number[], degrees: number): void;\n    }\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    // We generate and support a very limited subset of the Web Annotation Data Model:\n    // https://www.w3.org/TR/annotation-model/#selectors\n    // Specifically, EPUB annotations are expressed in terms of FragmentSelectors with epubcfi values,\n    // and snapshot annotations are CssSelectors refined by TextQuoteSelectors, or simply TextQuoteSelectors\n    // if no good CSS selector base can be found.\n\n    // https://www.w3.org/TR/annotation-model/#fragment-selector\n    type FragmentSelector = {\n      type: \"FragmentSelector\";\n      conformsTo: FragmentSelectorConformsTo;\n      value: string;\n      refinedBy?: Selector;\n    };\n\n    enum FragmentSelectorConformsTo {\n      // Skipping: HTML, PDF, Plain Text, XML, RDF/XML, CSV, Media, SVG\n      EPUB3 = \"http://www.idpf.org/epub/linking/cfi/epub-cfi.html\",\n    }\n\n    // https://www.w3.org/TR/annotation-model/#css-selector\n    type CssSelector = {\n      type: \"CssSelector\";\n      value: string;\n      refinedBy?: Selector;\n    };\n\n    // Skipping: XPath Selector\n\n    // https://www.w3.org/TR/annotation-model/#text-quote-selector\n    type TextQuoteSelector = {\n      type: \"TextQuoteSelector\";\n      exact: string;\n      prefix?: string;\n      suffix?: string;\n      refinedBy?: Selector;\n    };\n\n    // https://www.w3.org/TR/annotation-model/#text-position-selector\n    type TextPositionSelector = {\n      type: \"TextPositionSelector\";\n      start: number;\n      end: number;\n      refinedBy?: Selector;\n    };\n\n    // Skipping: Data Position Selector, SVG Selector, Range Selector\n\n    type Selector =\n      | FragmentSelector\n      | CssSelector\n      | TextQuoteSelector\n      | TextPositionSelector;\n\n    type ToolType =\n      | \"highlight\"\n      | \"underline\"\n      | \"note\"\n      | \"image\"\n      | \"text\"\n      | \"ink\"\n      | \"eraser\"\n      | \"pointer\";\n\n    type Tool = {\n      type: ToolType;\n      color?: string;\n    };\n\n    type AnnotationType =\n      | \"highlight\"\n      | \"underline\"\n      | \"note\"\n      | \"image\"\n      | \"text\"\n      | \"ink\"\n      | \"eraser\";\n\n    interface Annotation {\n      id: string;\n      type: AnnotationType;\n      color?: string;\n      sortIndex: string;\n      pageLabel?: string;\n      position: Position;\n      text?: string;\n      comment?: string;\n      tags: string[];\n      dateCreated: string;\n      dateModified: string;\n      readOnly?: boolean;\n      authorName?: string;\n      isAuthorNameAuthoritative?: boolean;\n      image?: string;\n    }\n\n    interface PDFAnnotation extends Annotation {\n      position: PDFPosition;\n    }\n\n    interface WADMAnnotation extends Annotation {\n      position: Selector;\n    }\n\n    type NavLocation = {\n      pageNumber?: string;\n      annotationID?: string;\n      position?: Position;\n      href?: string;\n    };\n\n    type Position = PDFPosition | Selector;\n\n    type PDFPosition = {\n      pageIndex: number;\n      rects?: number[][];\n      paths?: number[][];\n    };\n\n    type NewAnnotationOptionalFields =\n      | \"id\"\n      | \"tags\"\n      | \"dateCreated\"\n      | \"dateModified\"\n      | \"authorName\"\n      | \"isAuthorNameAuthoritative\";\n\n    type NewAnnotation<A extends Annotation = Annotation> = Omit<\n      A,\n      NewAnnotationOptionalFields\n    > &\n      Partial<Pick<A, NewAnnotationOptionalFields>>;\n\n    type OutlineItem = {\n      title: string;\n      // The whole location will be passed to navigate() once user clicks the item\n      location: NavLocation;\n      items?: OutlineItem[];\n      expanded?: boolean;\n    };\n\n    type ViewStats = {\n      pageIndex?: number;\n      pageLabel?: string;\n      pagesCount?: number;\n      usePhysicalPageNumbers?: boolean;\n      canCopy: boolean;\n      canZoomOut: boolean;\n      canZoomIn: boolean;\n      canZoomReset: boolean;\n      canNavigateBack?: boolean;\n      canNavigateForward?: boolean;\n      canNavigateToFirstPage?: boolean;\n      canNavigateToLastPage?: boolean;\n      canNavigateToPreviousPage?: boolean;\n      canNavigateToNextPage?: boolean;\n      canNavigateToPreviousSection?: boolean;\n      canNavigateToNextSection?: boolean;\n      zoomAutoEnabled?: boolean;\n      zoomPageWidthEnabled?: boolean;\n      zoomPageHeightEnabled?: boolean;\n      scrollMode?: number;\n      spreadMode?: number;\n      flowMode?: string;\n      fontFamily?: string;\n    };\n\n    type AnnotationPopupParams<A extends Annotation = Annotation> = {\n      rect: ArrayRect;\n      annotation?: A | null;\n    };\n\n    type SelectionPopupParams<A extends Annotation = Annotation> = {\n      rect: ArrayRect;\n      annotation?: NewAnnotation<A> | null;\n    };\n\n    type OverlayPopupParams = {\n      type: string;\n      url: string;\n      rect: ArrayRect;\n      ref: Node;\n    };\n\n    type ArrayRect = [left: number, top: number, right: number, bottom: number];\n\n    type FindState = {\n      popupOpen: boolean;\n      active: boolean;\n      query: string;\n      highlightAll: boolean;\n      caseSensitive: boolean;\n      entireWord: boolean;\n      // For mobile app to focus specific result\n      index: number | null;\n      result: {\n        total: number;\n        index: number;\n        // Mobile app lists all results in a popup\n        snippets: string[];\n      } | null;\n    };\n\n    type MaybePromise<T> = Promise<T> | T;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type DisplayedAnnotation = {\n      id?: string;\n      sourceID?: string;\n      type: AnnotationType;\n      color?: string;\n      sortIndex?: string;\n      text?: string;\n      comment?: string;\n      readOnly?: boolean;\n      key: string;\n      range: Range;\n    };\n    type AnnotationOverlayProps = {\n      iframe: HTMLIFrameElement;\n      annotations: DisplayedAnnotation[];\n      selectedAnnotationIDs: string[];\n      onPointerDown: (id: string, event: React.PointerEvent) => void;\n      onPointerUp: (id: string, event: React.PointerEvent) => void;\n      onDragStart: (id: string, dataTransfer: DataTransfer) => void;\n      onResizeStart: (id: string) => void;\n      onResizeEnd: (id: string, range: Range, cancelled: boolean) => void;\n      disablePointerEvents: boolean;\n    };\n    type HighlightOrUnderlineProps = {\n      annotation: DisplayedAnnotation;\n      selected: boolean;\n      singleSelection: boolean;\n      onPointerDown?: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onPointerUp?: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onDragStart?: (\n        annotation: DisplayedAnnotation,\n        dataTransfer: DataTransfer,\n      ) => void;\n      onResizeStart?: (annotation: DisplayedAnnotation) => void;\n      onResizeEnd?: (\n        annotation: DisplayedAnnotation,\n        range: Range,\n        cancelled: boolean,\n      ) => void;\n      pointerEventsSuppressed: boolean;\n      widgetContainer: Element | null;\n    };\n    type NoteProps = {\n      annotation: DisplayedAnnotation;\n      staggerIndex?: number;\n      selected: boolean;\n      onPointerDown?: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onPointerUp?: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onDragStart?: (\n        annotation: DisplayedAnnotation,\n        dataTransfer: DataTransfer,\n      ) => void;\n      disablePointerEvents: boolean;\n    };\n    type NotePreviewProps = {\n      annotation: DisplayedAnnotation;\n    };\n    type StaggeredNotesProps = {\n      annotations: DisplayedAnnotation[];\n      selectedAnnotationIDs: string[];\n      onPointerDown: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onPointerUp: (\n        annotation: DisplayedAnnotation,\n        event: React.PointerEvent,\n      ) => void;\n      onDragStart: (\n        annotation: DisplayedAnnotation,\n        dataTransfer: DataTransfer,\n      ) => void;\n      pointerEventsSuppressed: boolean;\n    };\n    type SelectionBorderProps = {\n      rect: DOMRect;\n      preview?: boolean;\n    };\n    type RangeSelectionBorderProps = {\n      range: Range;\n    };\n    type ResizerProps = {\n      annotation: DisplayedAnnotation;\n      highlightRects: DOMRect[];\n      onResizeStart: (annotation: DisplayedAnnotation) => void;\n      onResizeEnd: (\n        annotation: DisplayedAnnotation,\n        cancelled: boolean,\n      ) => void;\n      onResize: (annotation: DisplayedAnnotation, range: Range) => void;\n    };\n    type CommentIconProps = {\n      annotation?: { id?: string };\n      x: number;\n      y: number;\n      color: string;\n      opacity?: string | number;\n      selected?: boolean;\n      large?: boolean;\n      onPointerDown?: (event: React.PointerEvent) => void;\n      onPointerUp?: (event: React.PointerEvent) => void;\n      onDragStart?: (event: React.DragEvent) => void;\n      onDragEnd?: (event: React.DragEvent) => void;\n    };\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type DOMViewOptions<State extends DOMViewState, Data> = {\n      portal?: boolean;\n      container: Element;\n      tool: Tool;\n      selectedAnnotationIDs: string[];\n      annotations: WADMAnnotation[];\n      showAnnotations: boolean;\n      annotationPopup: AnnotationPopupParams<WADMAnnotation> | null;\n      selectionPopup: SelectionPopupParams<WADMAnnotation> | null;\n      overlayPopup: OverlayPopupParams | null;\n      findState: FindState;\n      viewState?: State;\n      fontFamily?: string;\n      onSetOutline: (outline: OutlineItem[]) => void;\n      onChangeViewState: (state: State, primary?: boolean) => void;\n      onChangeViewStats: (stats: ViewStats) => void;\n      onSetDataTransferAnnotations: (\n        dataTransfer: DataTransfer,\n        annotation:\n          | NewAnnotation<WADMAnnotation>\n          | NewAnnotation<WADMAnnotation>[],\n        fromText?: boolean,\n      ) => void;\n      onAddAnnotation: (\n        annotation: NewAnnotation<WADMAnnotation>,\n        select?: boolean,\n      ) => void;\n      onUpdateAnnotations: (annotations: Annotation[]) => void;\n      onOpenLink: (url: string) => void;\n      onSelectAnnotations: (\n        ids: string[],\n        triggeringEvent?: KeyboardEvent | MouseEvent,\n      ) => void;\n      onSetSelectionPopup: (\n        params?: SelectionPopupParams<WADMAnnotation> | null,\n      ) => void;\n      onSetAnnotationPopup: (\n        params?: AnnotationPopupParams<WADMAnnotation> | null,\n      ) => void;\n      onSetOverlayPopup: (params?: OverlayPopupParams) => void;\n      onSetFindState: (state?: FindState) => void;\n      onOpenViewContextMenu: (params: { x: number; y: number }) => void;\n      onOpenAnnotationContextMenu: (params: {\n        ids: string[];\n        x: number;\n        y: number;\n        view: boolean;\n      }) => void;\n      onFocus: () => void;\n      onTabOut: (isShiftTab?: boolean) => void;\n      onKeyUp: (event: KeyboardEvent) => void;\n      onKeyDown: (event: KeyboardEvent) => void;\n      data: Data & {\n        buf?: Uint8Array;\n        baseURI?: string;\n      };\n    };\n\n    interface DOMViewState {\n      scale?: number;\n    }\n\n    interface CustomScrollIntoViewOptions\n      extends Omit<ScrollIntoViewOptions, \"inline\"> {\n      block?: \"center\" | \"start\";\n      ifNeeded?: boolean;\n      offsetY?: number;\n    }\n\n    interface NavigateOptions extends CustomScrollIntoViewOptions {\n      skipNavStack?: boolean;\n    }\n\n    abstract class DOMView<State extends DOMViewState, Data> {\n      initializedPromise: Promise<void>;\n      protected readonly _container: Element;\n      protected readonly _iframe: HTMLIFrameElement;\n      protected _iframeWindow: Window & typeof globalThis;\n      protected _iframeDocument: Document;\n      protected _tool: Tool;\n      protected _selectedAnnotationIDs: string[];\n      protected _annotations: WADMAnnotation[];\n      protected _annotationsByID: Map<string, WADMAnnotation>;\n      protected _showAnnotations: boolean;\n      protected _annotationPopup: AnnotationPopupParams<WADMAnnotation> | null;\n      protected _selectionPopup: SelectionPopupParams<WADMAnnotation> | null;\n      protected _overlayPopup: OverlayPopupParams | null;\n      protected _findState: FindState | null;\n      protected abstract _find: FindProcessor | null;\n      protected readonly _options: DOMViewOptions<State, Data>;\n      protected _overlayPopupDelayer: anyObj;\n      protected _disableAnnotationPointerEvents: boolean;\n      protected _highlightedPosition: Selector | null;\n      protected _pointerMovedWhileDown: boolean;\n      protected _gotPointerUp: boolean;\n      protected _handledPointerIDs: Set<number>;\n      protected _previewAnnotation: NewAnnotation<WADMAnnotation> | null;\n      protected _draggingNoteAnnotation: WADMAnnotation | null;\n      protected _resizing: boolean;\n      protected constructor(options: DOMViewOptions<State, Data>);\n\n      protected _initialize(): Promise<void>;\n      protected _getCSP(): string;\n      protected abstract _getSrcDoc(): string;\n      abstract getData(): Data;\n      protected abstract _onInitialDisplay(\n        viewState: Partial<Readonly<State>>,\n      ): MaybePromise<void>;\n\n      // ***\n      // Utilities for annotations - abstractions over the specific types of selectors used by the two views\n      // ***\n      abstract toSelector(range: Range): Selector | null;\n      abstract toDisplayedRange(selector: Selector): Range | null;\n      protected abstract _navigateToSelector(\n        selector: Selector,\n        options?: NavigateOptions,\n      ): void;\n\n      // ***\n      // Abstractions over document structure\n      // ***\n      protected abstract _getAnnotationFromRange(\n        range: Range,\n        type: AnnotationType,\n        color?: string,\n      ): NewAnnotation<WADMAnnotation> | null;\n      protected abstract _updateViewState(): void;\n      protected abstract _updateViewStats(): void;\n\n      // ***\n      // Utilities - called in appropriate event handlers\n      // ***\n      protected _isExternalLink(link: HTMLAnchorElement): boolean;\n      protected _getViewportBoundingRect(range: Range): DOMRect;\n      protected _getAnnotationFromTextSelection(\n        type: AnnotationType,\n        color?: string,\n      ): NewAnnotation<WADMAnnotation> | null;\n      protected _tryUseTool(): void;\n      protected _tryUseToolDebounced: typeof this._tryUseTool;\n      protected _handleViewUpdate(): void;\n      protected _repositionPopups(): void;\n      protected _renderAnnotations(): void;\n      protected _openSelectionPopup(selection: Selection): void;\n      protected _openAnnotationPopup(annotation: WADMAnnotation): void;\n      protected _openExternalLinkOverlayPopup(\n        linkNode: HTMLAnchorElement,\n      ): void;\n\n      /**\n       * For use in the console during development.\n       */\n      protected _normalizeAnnotations(): void;\n\n      // ***\n      // Event handlers\n      // ***\n      protected _handleIFrameLoad(): Promise<void>;\n      protected _handlePointerOver(event: PointerEvent): void;\n      protected _handleDragEnter(event: DragEvent): void;\n      protected _handleDragOver(event: DragEvent): void;\n      protected _handleDrop(): void;\n      protected _getNoteTargetRange(\n        event: PointerEvent | DragEvent,\n      ): Range | null;\n      protected _handleClick(event: MouseEvent): void;\n      protected abstract _handleInternalLinkClick(\n        link: HTMLAnchorElement,\n      ): void;\n      protected _handleKeyDown(event: KeyboardEvent): void;\n      private _handleDragStart(event: DragEvent): void;\n      private _handleDragEnd(_event: DragEvent): void;\n      private _handleContextMenu(event: MouseEvent): void;\n      private _handleSelectionChange(): void;\n      private _handleAnnotationPointerDown(\n        id: string,\n        event: React.PointerEvent,\n      ): void;\n      private _handleAnnotationPointerUp(\n        id: string,\n        event: React.PointerEvent,\n      ): void;\n      private _getAnnotationsAtPoint(\n        clientX: number,\n        clientY: number,\n      ): string[];\n      private _handleAnnotationDragStart(\n        id: string,\n        dataTransfer: DataTransfer,\n      ): void;\n      private _handleAnnotationResizeStart(_id: string): void;\n      private _handleAnnotationResizeEnd(\n        id: string,\n        range: Range,\n        cancelled: boolean,\n      ): void;\n      protected _handleCopy(event: ClipboardEvent): void;\n      protected _handlePointerDown(event: PointerEvent): void;\n      protected _handlePointerMove(event: PointerEvent): void;\n      protected _handlePointerUp(event: PointerEvent): void;\n      protected _handleResize(): void;\n      protected _handleScroll(): void;\n      private _handleFocus(): void;\n\n      // ***\n      // Setters that get called once there are changes in reader._state\n      // ***\n      setTool(tool: Tool): void;\n      setAnnotations(annotations: WADMAnnotation[]): void;\n      setShowAnnotations(show: boolean): void;\n      setSelectedAnnotationIDs(ids: string[]): void;\n      setAnnotationPopup(popup: AnnotationPopupParams<WADMAnnotation>): void;\n      setSelectionPopup(popup: SelectionPopupParams<WADMAnnotation>): void;\n      setOverlayPopup(popup: OverlayPopupParams): void;\n\n      // ***\n      // Public methods to control the view from the outside\n      // ***\n      focus(): void;\n      navigate(location: NavLocation, options?: NavigateOptions): void;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type FindResult = {\n      range: Range;\n      highlight: DisplayedAnnotation;\n    };\n    interface FindProcessor {\n      getAnnotations(): DisplayedAnnotation[];\n      prev(): FindResult | null;\n      next(): FindResult | null;\n    }\n\n    class DefaultFindProcessor implements FindProcessor {\n      readonly findState: FindState;\n      private readonly _buf: FindResult[];\n      private _pos: number | null;\n      private _initialPos: number | null;\n      private readonly _onSetFindState?: (state?: FindState) => void;\n      private readonly _annotationKeyPrefix?: string;\n\n      constructor(options: {\n        searchContext: SearchContext;\n        startRange?: Range;\n        findState: FindState;\n        onSetFindState?: (state?: FindState) => void;\n        annotationKeyPrefix?: string;\n      });\n      prev(loop?: boolean): FindResult | null;\n      next(loop?: boolean): FindResult | null;\n\n      position: number | null;\n      readonly initialPosition: number | null;\n      readonly current: FindResult | null;\n      getResults(): FindResult[];\n      getAnnotations(): DisplayedAnnotation[];\n      getSnippets(): string[];\n    }\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type SearchContext = {\n      text: string;\n      charDataRanges: CharDataRange[];\n    };\n\n    type CharDataRange = {\n      charData: CharacterData;\n      start: number;\n      end: number;\n    };\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class NavStack<T> {\n      private _backStack: T[];\n      private _forwardStack: T[];\n      canPopBack(): boolean;\n      canPopForward(): boolean;\n      push(value: T): void;\n      popBack(): T;\n      popForward(): T;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type FlowMode = \"paginated\" | \"scrolled\";\n    interface EPUBViewState extends DOMViewState {\n      cfi?: string;\n      cfiElementOffset?: number;\n      savedPageMapping?: string;\n      flowMode?: FlowMode;\n    }\n    interface EPUBViewData {\n      book?: ePubJS.Book;\n    }\n    enum SpreadMode {\n      Unknown = -1,\n      None = 0,\n      Odd = 1,\n      Even = 2,\n    }\n\n    /**\n     * Wraps the properties of a Range object in a static structure so that they don't change when the DOM changes.\n     * (Range objects automatically normalize their start/end points when the DOM changes, which is not what we want -\n     * even if the start or end is removed from the DOM temporarily, we want to keep our ranges unchanged.)\n     */\n    class PersistentRange {\n      startContainer: Node;\n      startOffset: number;\n      endContainer: Node;\n      endOffset: number;\n\n      constructor(range: Omit<AbstractRange, \"collapsed\">);\n\n      compareBoundaryPoints(\n        how: number,\n        other: Range | PersistentRange,\n      ): number;\n\n      getClientRects(): DOMRectList;\n\n      getBoundingClientRect(): DOMRect;\n\n      toRange(): Range;\n\n      toString(): string;\n    }\n\n    /**\n     * - All views use iframe to render and isolate the view from the parent window\n     * - If need to add additional build steps, a submodule or additional files see pdfjs/\n     *   directory in the project root and \"scripts\" part in packages.json\n     * - If view needs styling, it should provide and load its own CSS file like pdfjs/viewer.css,\n     *   because SCSS in src/common/stylesheets is only for the main window\n     * - Update demo data in demo/epub and demo/snapshot directories:\n     *   - Add demo annotations\n     */\n    class EPUBView extends DOMView<EPUBViewState, EPUBViewData> {\n      protected _find: EPUBFindProcessor | null;\n      readonly book: ePubJS.Book;\n      flow: Flow;\n      spreadMode: SpreadMode.None | SpreadMode.Odd;\n      readonly pageMapping: PageMapping;\n      scale: number;\n      private _sectionsContainer: HTMLElement;\n      private readonly _sectionViews: SectionView[];\n      private readonly _navStack: NavStack<string>;\n      private readonly _pageMapping: PageMapping;\n      private readonly _rangeCache: Map<string, Range>;\n      private _pageProgressionRTL: boolean;\n      private _scale: number;\n      private _flowMode: FlowMode;\n      private _savedPageMapping: string;\n      constructor(options: DOMViewOptions<EPUBViewState, EPUBViewData>);\n      protected _getSrcDoc(): \"<!DOCTYPE html><html><body></body></html>\";\n      getData(): { book: ePubJS.Book };\n      protected _onInitialDisplay(\n        viewState: Partial<Readonly<EPUBViewState>>,\n      ): Promise<void>;\n      private _initPageMapping(\n        viewState: Partial<Readonly<EPUBViewState>>,\n      ): Promise<void>;\n      private _initOutline(): void;\n      getCFI(rangeOrNode: Range | Node): ePubJS.EpubCFI | null;\n      getRange(cfi: ePubJS.EpubCFI | string): PersistentRange | null;\n      override toSelector(range: Range): FragmentSelector | null;\n      override toDisplayedRange(selector: Selector): Range | null;\n      readonly views: SectionView[];\n      private _pushCurrentLocationToNavStack(): void;\n      protected _navigateToSelector(\n        selector: Selector,\n        options?: NavigateOptions,\n      ): void;\n      protected _getAnnotationFromRange(\n        range: Range,\n        type: AnnotationType,\n        color?: string,\n      ): NewAnnotation<WADMAnnotation> | null;\n\n      // ***\n      // Event handlers\n      // ***\n      protected override _handleResize(): void;\n      protected override _handleScroll(): void;\n      protected _handleInternalLinkClick(link: HTMLAnchorElement): void;\n      protected override _handleKeyDown(event: KeyboardEvent): void;\n      protected override _updateViewState(): void;\n      protected override _updateViewStats(): void; // View stats provide information about the view\n      protected override _handleViewUpdate(): void;\n\n      // ***\n      // Setters that get called once there are changes in reader._state\n      // ***\n      /**\n       * Unlike annotation, selection and overlay popups, find popup open state is determined\n       * with .open property. All popup properties are preserved even when it's closed\n       */\n      setFindState(state: FindState): void;\n      setFlowMode(flowMode: FlowMode): void;\n      setFontFamily(fontFamily: string): void;\n\n      // ***\n      // Public methods to control the view from the outside\n      // ***\n      findNext(): Promise<void>;\n      findPrevious(): Promise<void>;\n      zoomIn(): void;\n      zoomOut(): void;\n      zoomReset(): void;\n      private _setScale(scale: number): void;\n      override navigate(location: NavLocation, options?: NavigateOptions): void;\n\n      /**\n       * This is like back/forward navigation in browsers. Try Cmd-ArrowLeft and Cmd-ArrowRight in PDF view\n       */\n      navigateBack(): void;\n      navigateForward(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      navigateToPreviousPage(): void;\n      navigateToNextPage(): void;\n      canNavigateToPreviousPage(): boolean;\n      canNavigateToNextPage(): boolean;\n      canNavigateToPreviousSection(): boolean;\n      canNavigateToNextSection(): boolean;\n      navigateToPreviousSection(): void;\n      navigateToNextSection(): void;\n\n      print(): void;\n      setSidebarOpen(_sidebarOpen: boolean): void;\n    }\n  }\n}\n\ndeclare namespace ePubJS {\n  type Book = import(\"epubjs\").Book;\n  type EpubCFI = import(\"epubjs\").EpubCFI;\n  type Section = import(\"epubjs/types/section\").default;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class EPUBFindProcessor implements FindProcessor {\n      readonly view: EPUBView;\n      readonly findState: FindState;\n      private _processors: DefaultFindProcessor[];\n      private _selectedProcessor: DefaultFindProcessor | null;\n      private _totalResults: number;\n      private readonly _onSetFindState?: (state?: FindState) => void;\n      constructor(options: {\n        view: EPUBView;\n        startRange: Range;\n        findState: FindState;\n        onSetFindState?: (state?: FindState) => void;\n      });\n      prev(): FindResult | null;\n      next(): FindResult | null;\n      getAnnotations(): DisplayedAnnotation[];\n      handleViewUpdate(): void;\n      private _processViews(\n        views: SectionView[],\n        startRange?: Range,\n        maxResults?: number,\n      ): void;\n      private _getOrCreateProcessor(\n        view: SectionView,\n        startRange?: Range,\n      ): DefaultFindProcessor;\n      private _setFindState(): void;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    interface Flow {\n      readonly startView: SectionView | null;\n      readonly startRange: Range | null;\n      readonly startCFI: ePubJS.EpubCFI | null;\n      readonly startCFIOffsetY: number | null;\n      readonly startRangeIsBeforeFirstMapping: boolean;\n      readonly endView: SectionView | null;\n      readonly visibleViews: SectionView[];\n      scrollIntoView(\n        target: Range | HTMLElement,\n        options?: CustomScrollIntoViewOptions,\n      ): void;\n      canNavigateToPreviousPage(): boolean;\n      canNavigateToNextPage(): boolean;\n      navigateToPreviousPage(): void;\n      navigateToNextPage(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      invalidate: ReturnType<typeof debounce<() => void>>;\n      setScale(scale: number): void;\n      destroy(): void;\n    }\n\n    abstract class AbstractFlow implements Flow {\n      protected _cachedStartView: SectionView | null;\n      protected _cachedStartRange: Range | null;\n      protected _cachedStartCFI: ePubJS.EpubCFI | null;\n      protected _cachedStartCFIOffsetY: number | null;\n      protected _cachedEndView: SectionView | null;\n      protected _sectionViews: SectionView[];\n      protected _pageMapping: PageMapping;\n      protected _iframe: HTMLIFrameElement;\n      protected _iframeWindow: Window & typeof globalThis;\n      protected _iframeDocument: Document;\n      protected _scale: number;\n      protected _onUpdateViewState: () => void;\n      protected _onUpdateViewStats: () => void;\n      protected _onViewUpdate: () => void;\n\n      constructor(options: {\n        sectionViews: SectionView[];\n        pageMapping: PageMapping;\n        iframe: HTMLIFrameElement;\n        scale: number;\n        onUpdateViewState: () => void;\n        onUpdateViewStats: () => void;\n        onViewUpdate: () => void;\n      });\n\n      readonly startView: SectionView | null;\n      readonly startRange: Range | null;\n      readonly startCFI: ePubJS.EpubCFI | null;\n      readonly startCFIOffsetY: number | null;\n      readonly startRangeIsBeforeFirstMapping: boolean;\n      readonly endView: SectionView | null;\n      readonly visibleViews: SectionView[];\n\n      abstract scrollIntoView(\n        target: Range | HTMLElement,\n        options?: CustomScrollIntoViewOptions,\n      ): void;\n      abstract canNavigateToNextPage(): boolean;\n      abstract canNavigateToPreviousPage(): boolean;\n      abstract navigateToNextPage(): void;\n      abstract navigateToPreviousPage(): void;\n      abstract navigateToFirstPage(): void;\n      abstract navigateToLastPage(): void;\n      abstract destroy(): void;\n      invalidate: ReturnType<typeof debounce<() => void>>;\n      setScale(scale: number): void;\n      protected abstract update(): void;\n    }\n\n    class ScrolledFlow extends AbstractFlow {\n      static readonly SCROLL_PADDING_UNSCALED = 35;\n      scrollIntoView(\n        target: Range | HTMLElement,\n        options?: CustomScrollIntoViewOptions,\n      ): void;\n      readonly scrollPadding: number;\n      canNavigateToPreviousPage(): boolean;\n      canNavigateToNextPage(): boolean;\n      navigateToPreviousPage(): void;\n      navigateToNextPage(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      update(): void;\n      destroy(): void;\n    }\n\n    class PaginatedFlow extends AbstractFlow {\n      private _sectionsContainer: HTMLElement;\n      private _touchStartID: number | null;\n      private _touchStartX: number;\n      scrollIntoView(target: Range | HTMLElement): void;\n      canNavigateToPreviousPage(): boolean;\n      canNavigateToNextPage(): boolean;\n      navigateToPreviousPage(): void;\n      navigateToNextPage(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      private _handleKeyDown(event: KeyboardEvent): void;\n      private _handleTouchStart(event: TouchEvent): void;\n      private _handleTouchMove(event: TouchEvent): void;\n      private _handleTouchEnd(event: TouchEvent): void;\n      update(): void;\n      destroy(): void;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class PageMapping {\n      static readonly VERSION = 5;\n      private _isPhysical: boolean;\n      readonly length: number;\n      readonly isPhysical: boolean;\n\n      generate(views: SectionView[]): void;\n      private _addPhysicalPages(views: Iterable<SectionView>): void;\n      private _addEPUBLocations(views: Iterable<SectionView>): void;\n      getPageIndex(range: Range): number | null;\n      getPageLabel(range: Range): string | null;\n      getRange(pageLabel: string): Range | null;\n      save(view: EPUBView): string;\n      load(saved: string, view: EPUBView): boolean;\n    }\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type SheetMetadata = {\n      sheet?: CSSStyleSheet;\n      scopeClass: string;\n    };\n    class StyleScoper {\n      private _document: Document;\n      private _sheets: Map<string, SheetMetadata>;\n      private _textCache: Map<string, string>;\n      constructor(document: Document);\n\n      /**\n       * @param css CSS stylesheet code\n       * @return A class to add to the scope element\n       */\n      add(css: string): Promise<string>;\n\n      /**\n       * @param url The URL of a CSS stylesheet\n       * @return A class to add to the scope element\n       */\n      addByURL(url: string): Promise<string>;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class SectionView {\n      readonly section: ePubJS.Section;\n      readonly container: HTMLElement;\n      body: HTMLElement;\n      private readonly _window: Window & typeof globalThis;\n      private readonly _document: Document;\n      private readonly _styleScoper: StyleScoper;\n      private _searchContext: SearchContext | null;\n      constructor(options: {\n        section: ePubJS.Section;\n        container: HTMLElement;\n        window: Window & typeof globalThis;\n        document: Document;\n        styleScoper: StyleScoper;\n      });\n      render(requestFn: Function): Promise<void>;\n      getFirstVisibleRange(\n        isHorizontal: boolean,\n        textNodesOnly: boolean,\n      ): Range | null;\n      get searchContext(): SearchContext;\n    }\n  }\n}\n\n\n\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    interface SnapshotViewState extends DOMViewState {\n      scrollYPercent?: number;\n    }\n\n    interface SnapshotViewData {\n      srcDoc?: string;\n    }\n\n    class SnapshotView extends DOMView<SnapshotViewState, SnapshotViewData> {\n      private readonly _navStack: NavStack<[number, number]>;\n      protected _find: DefaultFindProcessor | null;\n      private _searchContext: SearchContext | null;\n      private _scale: number;\n\n      protected _getSrcDoc(): string;\n      getData(): { srcDoc: string; baseURI?: string };\n      protected _onInitialDisplay(\n        viewState: Partial<Readonly<SnapshotViewState>>,\n      ): void;\n      protected _getAnnotationFromRange(\n        range: Range,\n        type: AnnotationType,\n        color?: string,\n      ): NewAnnotation<WADMAnnotation> | null;\n      private _getSortIndex(range: Range): string;\n      toSelector(range: Range): Selector | null;\n      toDisplayedRange(selector: Selector): Range | null;\n      private _getSearchContext(): SearchContext;\n\n      // Popups:\n      // - For each popup (except find popup) 'rect' bounding box has to be provided.\n      // \t The popup is then automatically positioned around this rect.\n      // - If popup needs to be updated (i.e. its position), just reopen it.\n      // - Popup has to be updated (reopened) each time when the view is scrolled or resized.\n      // - annotation, selection and overlay popups are closed by calling this._onSetSomePopup()\n      //   with no arguments\n      _pushCurrentLocationToNavStack(): void;\n      protected _navigateToSelector(\n        selector: Selector,\n        options?: NavigateOptions,\n      ): void;\n      protected override _updateViewState(): void;\n      protected override _updateViewStats(): void;\n\n      // ***\n      // Event handlers\n      // ***\n      protected _handleInternalLinkClick(link: HTMLAnchorElement): void;\n      protected override _handleScroll(): void;\n\n      // ***\n      // Setters that get called once there are changes in reader._state\n      // ***\n      /**\n       * Unlike annotation, selection and overlay popups, find popup open state is determined\n       * with .open property. All popup properties are preserved even when it's closed\n       */\n      setFindState(state: FindState): void;\n\n      // ***\n      // Public methods to control the view from the outside\n      // ***\n      findNext(): void;\n      findPrevious(): void;\n      zoomIn(): void;\n      zoomOut(): void;\n      zoomReset(): void;\n      private _setScale(scale: number): void;\n      override navigate(location: NavLocation, options?: NavigateOptions): void;\n      navigateBack(): void;\n      navigateForward(): void;\n      print(): void;\n      setSidebarOpen(_sidebarOpen: boolean): void;\n    }\n  }\n}\n\n\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    class Page {\n      constructor(layer: PDFView, originalPage: anyObj);\n      layer: PDFView;\n      originalPage: anyObj;\n      pageIndex: number;\n      overlays: anyObj[];\n      chars: anyObj[];\n      selectionColor: \"#bad6fb\";\n      previouslyAffected: boolean;\n      originalCanvas: HTMLCanvasElement;\n      originalContext: CanvasRenderingContext2D;\n      actualContext: CanvasRenderingContext2D;\n      readonly transform: number[];\n\n      redrawOriginalPage(): Promise<void>;\n      drawNote(ctx: CanvasRenderingContext2D, color: string): void;\n      drawCommentIndicators(annotations: Annotation[]): void;\n\n      _renderInk(annotation: Annotation): void;\n      _renderImage(annotation: Annotation): void;\n      _renderHighlight(annotation: Annotation): void;\n      _renderUnderline(annotation: Annotation): void;\n      _renderNote(annotation: Annotation): void;\n\n      render(): void;\n      renderAnnotationOnCanvas(\n        annotation: Annotation,\n        canvas: HTMLCanvasElement,\n      ): void;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    interface PDFView {\n      _iframe: HTMLIFrameElement;\n      _iframeWindow?: Window & {\n        PDFViewerApplication: PDFViewerApplication;\n        PDFViewerApplicationConstants: anyObj;\n        pdfjsLib: pdfjs;\n      };\n      initializedPromise: Promise<void>;\n      focus(): void;\n      findNext(): void;\n      findPrevious(): void;\n      zoomReset(): void;\n      zoomIn(): void;\n      zoomOut(): void;\n      zoomPageWidth(): void;\n      zoomPageHeight(): void;\n      zoomAuto(): void;\n      navigateBack(): void;\n      navigateForward(): void;\n      navigateToFirstPage(): void;\n      navigateToLastPage(): void;\n      navigateToNextPage(): void;\n      navigateToPreviousPage(): void;\n      getSelectedAnnotations(): anyObj[];\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    type pdfjs = typeof import(\"pdfjs-dist\");\n    type PromiseCapability = {\n      promise: Promise<unknown>;\n      resolve: (value: unknown) => void;\n      reject: (reason?: any) => void;\n      settled: boolean;\n    };\n    type PDFPageProxy = import(\"pdfjs-dist/types/src/display/api\").PDFPageProxy;\n    type PDFDocumentProxy =\n      import(\"pdfjs-dist/types/src/display/api\").PDFDocumentProxy;\n    type PDFDocumentLoadingTask =\n      import(\"pdfjs-dist/types/src/display/api\").PDFDocumentLoadingTask;\n    type PDFViewer = import(\"pdfjs-dist/types/web/pdf_viewer\").PDFViewer;\n    type PDFThumbnailViewer =\n      import(\"pdfjs-dist/types/web/pdf_thumbnail_viewer\").PDFThumbnailViewer;\n    type PDFLinkService =\n      import(\"pdfjs-dist/types/web/pdf_link_service\").PDFLinkService;\n    type PDFHistory = import(\"pdfjs-dist/types/web/pdf_history\").PDFHistory;\n    type PDFFindController =\n      import(\"pdfjs-dist/types/web/pdf_find_controller\").PDFFindController;\n    type PDFRenderingQueue =\n      import(\"pdfjs-dist/types/web/pdf_rendering_queue\").PDFRenderingQueue;\n    type PDFScriptingManager =\n      import(\"pdfjs-dist/types/web/pdf_scripting_manager\").PDFScriptingManager;\n    type EventBus = import(\"pdfjs-dist/types/web/event_utils\").EventBus;\n\n    interface PDFViewerApplication extends anyObj {\n      pdfDocument?: PDFDocumentProxy;\n      pdfLoadingTask?: PDFDocumentLoadingTask;\n      pdfViewer?: PDFViewer;\n      pdfThumbnailViewer?: PDFThumbnailViewer;\n      pdfLinkService?: PDFLinkService;\n      pdfHistory?: PDFHistory;\n      pdfScriptingManager?: PDFScriptingManager;\n      findController?: PDFFindController;\n      eventBus?: EventBus;\n      url: string;\n      baseUrl: string;\n      _initializedCapability: PromiseCapability;\n      readonly initialized: boolean;\n      readonly initializedPromise: Promise<void>;\n      zoomReset(): void;\n      readonly pagesCount: number;\n      page: number;\n      readonly supportsPrinting: boolean;\n      readonly supportsFullscreen: boolean;\n      readonly supportsIntegratedFind: boolean;\n      readonly supportsDocumentFonts: boolean;\n      readonly supportsPinchToZoom: boolean;\n      initPassiveLoading(): void;\n      setTitleUsingUrl(url?: string, downloadUrl?: string): void;\n      setTitle(title?: string): void;\n      readonly _docFilename: string;\n      _hideViewBookmark(): void;\n      close(): Promise<void>;\n      open(args?: anyObj): Promise<void>;\n      _ensureDownloadComplete(): void;\n      download(options?: anyObj): Promise<void>;\n      save(options?: anyObj): Promise<void>;\n      downloadOrSave(options?: anyObj): void;\n      openInExternalApp(): void;\n      _documentError(message: string, moreInfo?: anyObj): void;\n\n      /**\n       * Report the error; used for errors affecting e.g. only a single page.\n       * @param {string} message - A message that is human readable.\n       * @param {Object} [moreInfo] - Further information about the error that is\n       *                              more technical. Should have a 'message' and\n       *                              optionally a 'stack' property.\n       */\n      _otherError(message: string, moreInfo?: anyObj): void;\n\n      progress(level: number): void;\n      load(pdfDocument: PDFDocumentProxy): void;\n      _scriptingDocProperties(pdfDocument: PDFDocumentProxy): Promise<anyObj>;\n      _initializeMetadata(pdfDocument: PDFDocumentProxy): Promise<void>;\n      _initializePageLabels(pdfDocument: PDFDocumentProxy): Promise<void>;\n      _initializePdfHistory({\n        fingerprint,\n        viewOnLoad,\n        initialDest,\n      }: anyObj): void;\n      _initializeAnnotationStorageCallbacks(\n        pdfDocument: PDFDocumentProxy,\n      ): void;\n      _cleanup(): void;\n      forceRendering(): void;\n      beforePrint(): void;\n      afterPrint(): void;\n      rotatePages(delta: number): void;\n      requestPresentationMode(): void;\n      triggerPrinting(): void;\n      bindEvents(): void;\n      bindWindowEvents(): void;\n      unbindEvents(): void;\n      unbindWindowEvents(): void;\n\n      /**\n       * Used together with the integration-tests, to enable awaiting full\n       * initialization of the scripting/sandbox.\n       */\n      readonly scriptingReady: boolean;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Annotations {\n    type AnnotationType =\n      | \"highlight\"\n      | \"image\"\n      | \"ink\"\n      | \"note\"\n      | \"underline\"\n      | \"text\";\n    interface AnnotationJson {\n      id: string;\n      text: string;\n      libraryID: number;\n      key: string;\n      type: Annotations.AnnotationType;\n      isExternal?: boolean;\n      authorName?: string;\n      lastModifiedByUser?: string;\n      isAuthorNameAuthoritative?: boolean;\n      readOnly: boolean;\n      image?: string;\n      comment?: string;\n      pageLabel: string;\n      color: string;\n      sortIndex: string;\n      position: { pageIndex: number; rects: number[][] } & anyObj;\n      tags?: { name: string; color: string };\n      dateModified: string;\n      relations?: Record<RelationsPredicate, ZoteroObjectURI>;\n    }\n  }\n\n  interface Annotations {\n    [key: string]: unknown;\n    ANNOTATION_POSITION_MAX_SIZE: 65000;\n    ANNOTATION_TYPE_HIGHLIGHT: 1;\n    ANNOTATION_TYPE_NOTE: 2;\n    ANNOTATION_TYPE_IMAGE: 3;\n    ANNOTATION_TYPE_INK: 4;\n    ANNOTATION_TYPE_UNDERLINE: 5;\n    ANNOTATION_TYPE_TEXT: 6;\n    DEFAULT_COLOR: \"#ffd400\";\n    readonly PROPS: [\n      \"type\",\n      \"authorName\",\n      \"text\",\n      \"comment\",\n      \"color\",\n      \"pageLabel\",\n      \"sortIndex\",\n      \"position\",\n    ];\n\n    getCacheImagePath(\n      annotation: object & { libraryID: number; key: string },\n    ): string;\n    hasCacheImage(\n      item: object & { libraryID: number; key: string },\n    ): Promise<boolean>;\n    saveCacheImage(\n      annotation: object & { libraryID: number; key: string },\n      blob: Blob,\n    ): Promise<string>;\n    removeCacheImage(\n      annotation: object & { libraryID: number; key: string },\n    ): Promise<void>;\n\n    /**\n     * Remove cache files that are no longer in use\n     */\n    removeOrphanedCacheFiles(): Promise<void>;\n\n    /**\n     * Remove all cache files for a given library\n     */\n    removeLibraryCacheFiles(libraryID: number): Promise<void>;\n\n    _getLibraryCacheDirectory(libraryID: number): string;\n    toJSON(item: Zotero.Item): Promise<Annotations.AnnotationJson>;\n\n    /**\n     * @param {Zotero.Item} attachment - Saved parent attachment item\n     * @param {Object} json\n     * @return {Promise<Zotero.Item>} - Promise for an annotation item\n     */\n    saveFromJSON(\n      attachment: Zotero.Item,\n      json: Annotations.AnnotationJson,\n      saveOptions?: Zotero.DataObject.SaveOptions,\n    ): Promise<Zotero.Item>;\n\n    /**\n     * Split annotation if position exceed the limit\n     *\n     * @param {Object} annotation\n     * @returns {Array<Object>} annotations\n     */\n    splitAnnotationJSON(\n      annotation: Zotero.Item | Annotations.AnnotationJson,\n    ): Annotations.AnnotationJson[];\n\n    /**\n     * Split annotations\n     *\n     * @param {Zotero.Item[]} items\n     * @returns {Promise<void>}\n     */\n    splitAnnotations(items: Zotero.Item[]): Promise<void>;\n  }\n}\n\ndeclare namespace Zotero {\n  const Annotations: _ZoteroTypes.Annotations;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Attachments {\n    enum LinkMode {\n      importedFile = 0,\n      importedUrl,\n      linkedFile,\n      linkedUrl,\n      embeddedImage,\n    }\n\n    interface OptionsFromFile {\n      file: nsIFile | string;\n      parentItemID?: number;\n      title?: string;\n      collections?: Array<string | number>;\n      contentType?: string;\n      charset?: string;\n      saveOptions?: Zotero.DataObject.SaveOptions;\n    }\n\n    type AccessMethod = \"doi\" | \"url\" | \"oa\" | \"custom\";\n    interface UrlResolver {\n      pageURL?: string;\n      url?: string;\n      accessMethod: AccessMethod;\n      articleVersion?: unknown;\n      referrer?: string;\n    }\n  }\n  interface Attachments {\n    [key: string]: unknown;\n    LINK_MODE_IMPORTED_FILE: 0;\n    LINK_MODE_IMPORTED_URL: 1;\n    LINK_MODE_LINKED_FILE: 2;\n    LINK_MODE_LINKED_URL: 3;\n    LINK_MODE_EMBEDDED_IMAGE: 4;\n    BASE_PATH_PLACEHOLDER: \"attachments:\";\n\n    /**\n     * @param {Object} options\n     * @param {nsIFile|String} [options.file] - File to add\n     * @param {Integer} [options.libraryID]\n     * @param {Integer[]|String[]} [options.parentItemID] - Parent item to add item to\n     * @param {String} [options.title]\n     * @param {Integer[]} [options.collections] - Collection keys or ids to add new item to\n     * @param {String} [options.fileBaseName]\n     * @param {String} [options.contentType]\n     * @param {String} [options.charset]\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    importFromFile(\n      options: Attachments.OptionsFromFile & {\n        libraryID?: number;\n        fileBaseName?: string;\n      },\n    ): Promise<Zotero.Item>;\n\n    /**\n     * @param {nsIFile|String} options.file - File to add\n     * @param {Integer[]|String[]} [options.parentItemID] - Parent item to add item to\n     * @param {String} [options.title]\n     * @param {Integer[]} [options.collections] - Collection keys or ids to add new item to\n     * @param {String} [options.contentType] - Content type\n     * @param {String} [options.charset] - Character set\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    linkFromFile(options: Attachments.OptionsFromFile): Promise<Zotero.Item>;\n\n    /**\n     * @param {String} options.path - Relative path to file\n     * @param {String} options.title\n     * @param {String} options.contentType\n     * @param {Integer[]|String[]} [options.parentItemID] - Parent item to add item to\n     * @param {Integer[]} [options.collections] - Collection keys or ids to add new item to\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    linkFromFileWithRelativePath(\n      options: Attachments.OptionsFromFile,\n    ): Promise<Zotero.Item>;\n\n    /**\n     * Saves an image for a parent note or image annotation\n     *\n     * Emerging formats like WebP and AVIF are supported here,\n     * but should be filtered on the calling logic for now\n     *\n     * @param {Object} params\n     * @param {Blob} params.blob - Image to save\n     * @param {Integer} params.parentItemID - Note or annotation item to add item to\n     * @param {Object} [params.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    importEmbeddedImage(params: {\n      blob: Blob;\n      parentItemID: number;\n      saveOptions?: Zotero.DataObject.SaveOptions;\n    }): Promise<Zotero.Item>;\n\n    /**\n     * Copy an image from one note to another\n     *\n     * @param {Object} params\n     * @param {Zotero.Item} params.attachment - Image attachment to copy\n     * @param {Zotero.Item} params.note - Note item to add attachment to\n     * @param {Object} [params.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    copyEmbeddedImage(params: {\n      attachment: Zotero.Item;\n      note: Zotero.Item;\n      saveOptions?: Zotero.DataObject.SaveOptions;\n    }): Promise<Zotero.Item>;\n\n    /**\n     * @param {Object} options\n     * @param {Integer} options.libraryID\n     * @param {String} options.url\n     * @param {Integer} [options.parentItemID]\n     * @param {Integer[]} [options.collections]\n     * @param {String} [options.title]\n     * @param {String} [options.fileBaseName]\n     * @param {Boolean} [options.renameIfAllowedType=false]\n     * @param {String} [options.contentType]\n     * @param {String} [options.referrer]\n     * @param {CookieSandbox} [options.cookieSandbox]\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>} - A promise for the created attachment item\n     */\n    importFromURL(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * Create an imported-URL attachment using a file downloaded to a temporary directory\n     * in 'storage', moving the directory into place\n     *\n     * We download files to temporary 'storage' directories rather than the normal temporary\n     * directory because people might have their storage directory on another device, which\n     * would make the move a copy.\n     *\n     * @param {Object} options\n     * @param {String} options.directory\n     * @param {Number} options.libraryID\n     * @param {String} options.filename\n     * @param {String} options.url\n     * @param {Number} [options.parentItemID]\n     * @param {String} [options.title]\n     * @param {String} options.contentType\n     * @param {String[]} [options.collections]\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Zotero.Item}\n     */\n    createURLAttachmentFromTemporaryStorageDirectory(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * Create a link attachment from a URL\n     *\n     * @param {Object} options - 'url', 'parentItemID', 'contentType', 'title', 'collections'\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>} - A promise for the created attachment item\n     */\n    linkFromURL(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * TODO: what if called on file:// document?\n     *\n     * @param {Object} options - 'document', 'parentItemID', 'collections'\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>}\n     */\n    linkFromDocument(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * Save a snapshot from a Document\n     *\n     * @param {Object} options - 'libraryID', 'document', 'parentItemID', 'forceTitle', 'collections'\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>} - A promise for the created attachment item\n     */\n    importFromDocument(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * Save a snapshot from HTML page content given by SingleFile\n     *\n     * @param {Object} options\n     * @param {String} options.url\n     * @param {Object} options.snapshotContent - HTML content from SingleFile\n     * @param {Integer} [options.parentItemID]\n     * @param {Integer[]} [options.collections]\n     * @param {String} [options.title]\n     * @param {Object} [options.saveOptions] - Options to pass to Zotero.Item::save()\n     * @return {Promise<Zotero.Item>} - A promise for the created attachment item\n     */\n    importFromSnapshotContent(options: {}): Promise<Zotero.Item>;\n\n    /**\n     * @param {String} url\n     * @param {String} path\n     * @param {Object} [options]\n     * @param {Object} [options.cookieSandbox]\n     * @param {String} [options.referrer]\n     * @param {Boolean} [options.isPDF] - Delete file if not PDF\n     */\n    downloadFile(\n      url: string,\n      path: string,\n      options?: { cookieSandbox?: object; referrer?: string },\n    ): Promise<boolean>;\n\n    /**\n     * @param {String} url\n     * @param {String} path\n     * @param {Object} [options]\n     * @param {Object} [options.cookieSandbox]\n     */\n    downloadPDFViaBrowser(\n      url: string,\n      path: string,\n      options?: { cookieSandbox?: object },\n    ): Promise<boolean>;\n\n    InvalidPDFException: typeof Error & {\n      message: \"Downloaded PDF was not a PDF\";\n      stack: string;\n    };\n\n    canFindPDFForItem(item: Zotero.Item): boolean;\n\n    /**\n     * Get the PDF resolvers that can be used for a given item based on the available fields\n     *\n     * @param {Zotero.Item} item\n     * @param {String[]} [methods=['doi', 'url', 'oa', 'custom']]\n     * @param {Boolean} [automatic=false] - Only include custom resolvers with `automatic: true`\n     * @return {Object[]} - An array of urlResolvers (see downloadFirstAvailableFile())\n     */\n    getPDFResolvers(\n      item: Zotero.Item,\n      methods?: Attachments.AccessMethod[],\n      automatic?: boolean,\n    ): Attachments.UrlResolver[];\n\n    /**\n     * Look for available PDFs for items and add as attachments\n     *\n     * @param {Zotero.Item[]} items\n     * @param {Object} [options]\n     * @param {String[]} [options.methods] - See getPDFResolvers()\n     * @param {Number} [options.sameDomainRequestDelay=1000] - Minimum number of milliseconds\n     *     between requests to the same domain (used in tests)\n     * @return {Promise}\n     */\n    addAvailableFiles(\n      items: Zotero.Item[],\n      options?: {\n        methods?: Attachments.AccessMethod[];\n        sameDomainRequestDelay?: number;\n      },\n    ): Promise<void>;\n\n    /**\n     * @deprecated Use addAvailableFiles()\n     */\n    addAvailablePDFs(\n      items: Zotero.Item[],\n      options?: {\n        methods?: Attachments.AccessMethod[];\n        sameDomainRequestDelay?: number;\n      },\n    ): Promise<void>;\n\n    /**\n     * Look for an available PDF for an item and add it as an attachment\n     *\n     * @param {Zotero.Item} item\n     * @param {Object} [options]\n     * @param {String[]} [options.methods] - See getPDFResolvers()\n     * @return {Zotero.Item|false} - New Zotero.Item, or false if unsuccessful\n     */\n    addAvailableFile(\n      item: Zotero.Item,\n      options?: { methods: Attachments.AccessMethod[] },\n    ): Promise<Zotero.Item | false>;\n\n    /**\n     * @deprecated Use addAvailableFile()\n     */\n    addAvailablePDF(\n      item: Zotero.Item,\n      options?: { methods: Attachments.AccessMethod[] },\n    ): Promise<Zotero.Item | false>;\n\n    /**\n     * Try to add a PDF to an item from a set of URL resolvers\n     *\n     * @param {Zotero.Item} item\n     * @param {(String|Object|Function)[]} urlResolvers - See downloadFirstAvailableFile()\n     * @param {Object} [options]\n     * @param {Function} [options.onAccessMethodStart] - Function to run when a new access method\n     *     is started, taking the access method name as an argument\n     * @return {Zotero.Item|false} - New Zotero.Item, or false if unsuccessful\n     */\n    addPDFFromURLs(\n      item: Zotero.Item,\n      urlResolvers: Attachments.UrlResolver[],\n      options?: { onAccessMethodStart: Function },\n    ): Promise<Zotero.Item | false>;\n\n    /**\n     * Try to download a file from a set of URL resolvers, keeping the first one that succeeds\n     *\n     * URLs are only tried once.\n     *\n     * @param {(String|Object|Function)[]} urlResolvers - An array of URLs, objects, or functions\n     *    that return arrays of objects. Objects should contain 'url' and/or 'pageURL' (the latter\n     *    being a webpage that might contain a translatable PDF link), 'accessMethod' (which will\n     *    be displayed in the save popup), and an optional 'articleVersion' ('submittedVersion',\n     *    'acceptedVersion', or 'publishedVersion'). Functions that return promises are waited for,\n     *    and functions aren't called unless a file hasn't yet been found from an earlier entry.\n     * @param {String} path - Path to save file to\n     * @param {Object} [options]\n     * @param {Function} [options.onBeforeRequest] - Async function that runs before a request\n     * @param {Function} [options.onAfterRequest] - Function that runs after a request\n     * @param {Function} [options.onRequestError] - Function that runs when a request fails.\n     *     Return true to retry request and false to skip.\n     * @return {Object|false} - Object with successful 'url' and 'props' from the associated urlResolver,\n     *     or false if no file could be downloaded\n     */\n    downloadFirstAvailableFile(\n      urlResolvers: Array<\n        | string\n        | Attachments.UrlResolver\n        | (() => Promise<Attachments.UrlResolver>)\n      >,\n      path: string,\n      options: {\n        onBeforeRequest: Function;\n        onAfterRequest: Function;\n        onRequestError: Function;\n      },\n    ): Promise<false | { url: string; props: unknown }>;\n\n    /**\n     * Returns a formatted string to use as the basename of an attachment\n     * based on the metadata of the specified item and a format string\n     *\n     * (Optional) |formatString| specifies the format string -- otherwise\n     * the 'attachmentRenameFormatString' pref is used\n     *\n     * Valid substitution markers:\n     *\n     * %c -- firstCreator\n     * %y -- year (extracted from Date field)\n     * %t -- title\n     *\n     * Fields can be truncated to a certain length by appending an integer\n     * within curly brackets -- e.g. %t{50} truncates the title to 50 characters\n     *\n     * @param {Zotero.Item} item\n     * @param {String} formatString\n     */\n    getFileBaseNameFromItem(item: Zotero.Item, formatString?: string): string;\n\n    shouldAutoRenameFile(isLink: boolean): boolean;\n    getRenamedFileTypes(): string[];\n    getRenamedFileBaseNameIfAllowedType(\n      parentItem: Zotero.Item,\n      file: string,\n    ): Promise<string>;\n\n    /**\n     * Create directory for attachment files within storage directory\n     *\n     * If a directory exists, delete and recreate\n     *\n     * @param {Number} itemID - Item id\n     * @return {Promise<String>} - Path of new directory\n     */\n    createDirectoryForItem(item: Zotero.Item): Promise<string>;\n\n    getStorageDirectory(item: Zotero.Item): nsIFile;\n    getStorageDirectoryByID(itemID: number): nsIFile;\n    getStorageDirectoryByLibraryAndKey(libraryID: number, key: string): nsIFile;\n    createTemporaryStorageDirectory(): Promise<nsIFile>;\n\n    /**\n     * If path is within the attachment base directory, return a relative\n     * path prefixed by BASE_PATH_PLACEHOLDER. Otherwise, return unchanged.\n     */\n    getBaseDirectoryRelativePath(path: string): string;\n\n    /**\n     * Get an absolute path from this base-dir relative path, if we can\n     *\n     * @param {String} path - Absolute path or relative path prefixed by BASE_PATH_PLACEHOLDER\n     * @return {String|false} - Absolute path, or FALSE if no path\n     */\n    resolveRelativePath(path: string): string | false;\n\n    fixPathSlashes(path: string): string;\n    hasMultipleFiles(item: Zotero.Item): Promise<boolean>;\n\n    /**\n     * Returns the number of files in the attachment directory\n     *\n     * Only counts if MIME type is text/html\n     *\n     * @param\t{Zotero.Item}\titem\tAttachment item\n     */\n    getNumFiles(item: Zotero.Item): Promise<number>;\n\n    /**\n     * @param {Zotero.Item} item\n     * @param {Boolean} [skipHidden=true] - Don't count hidden files\n     * @return {Promise<Integer>} - Promise for the total file size in bytes\n     */\n    getTotalFileSize(item: Zotero.Item, skipHidden?: boolean): Promise<number>;\n\n    /**\n     * Move attachment item, including file, to another library\n     */\n    moveAttachmentToLibrary(\n      attachment: Zotero.Item,\n      libraryID: number,\n      parentItemID?: number,\n    ): Promise<number>;\n\n    /**\n     * Copy attachment item, including file, to another library\n     *\n     * @return {Zotero.Item} - The new attachment\n     */\n    copyAttachmentToLibrary(\n      attachment: Zotero.Item,\n      libraryID: number,\n      parentItemID?: number,\n    ): Promise<Zotero.Item>;\n\n    convertLinkedFileToStoredFile(\n      item: Zotero.Item,\n      options?: { move: boolean },\n    ): Promise<Zotero.Item>;\n    _getFileNameFromURL(url: string, contentType: string): string;\n    _getExtensionFromURL(url: string, contentType: string): string;\n\n    /**\n     * Determines if a given document is an instance of PDFJS\n     * @return {Boolean}\n     */\n    isPDFJS(doc: object): boolean;\n\n    linkModeToName(linkMode: number): string;\n    linkModeFromName(linkModeName: string): Attachments.LinkMode;\n  }\n}\n\ndeclare namespace Zotero {\n  const Attachments: _ZoteroTypes.Attachments;\n}\n\n\ndeclare namespace Zotero {\n  interface CollectionTreeRow extends _ZoteroTypes.TreeRow {\n    new (\n      collectionTreeView: _ZoteroTypes.CollectionTree,\n      type: _ZoteroTypes.CollectionTreeRow.Type,\n      ref: unknown,\n      level: number,\n      isOpen: boolean,\n    ): this;\n    view: _ZoteroTypes.CollectionTree;\n    type: _ZoteroTypes.CollectionTreeRow.Type;\n    onUnload?: () => Promise<void>;\n    ref: DataObject | _ZoteroTypes.anyObj;\n    get id(): string;\n\n    isLibrary(includeGlobal?: boolean): boolean;\n    isCollection(): boolean;\n    isSearch(): boolean;\n    isDuplicates(): boolean;\n    isUnfiled(): boolean;\n    isRetracted(): boolean;\n    isTrash(): boolean;\n    isHeader(): boolean;\n    isPublications(): boolean;\n    isGroup(): boolean;\n    isFeed(): boolean;\n    isSeparator(): boolean;\n    isBucket(): boolean;\n    isShare(): boolean;\n    isContainer(): boolean;\n    isWithinGroup(): boolean;\n    isWithinEditableGroup(): boolean;\n\n    get editable(): boolean;\n    get filesEditable(): boolean;\n    get visibilityGroup(): \"feed\" | \"feeds\" | \"default\";\n    getName(): string;\n    getChildren(): Zotero.Collection | Zotero.Feed | undefined;\n    getItems(): Promise<Array<Item | unknown>>; //\n    getSearchResults(asTempTable?: false): Promise<number[]>;\n    getSearchResults(asTempTable: true): Promise<string>;\n\n    /*\n     * Returns the search object for the currently display\n     *\n     * This accounts for the collection, saved search, quicksearch, tags, etc.\n     */\n    getSearchObject(): Promise<Zotero.Search>;\n\n    /**\n     * Returns all the tags used by items in the current view\n     *\n     * @return {Promise<Object[]>}\n     */\n    getTags(\n      types: number[],\n      tagIDs: number[],\n    ): Promise<_ZoteroTypes.Tags.TagJson[]>;\n\n    searchText?: string;\n    setSearch(searchText: string): void;\n    setTags(tags: Set<string>): void; //\n\n    /*\n     * Returns TRUE if saved search, quicksearch or tag filter\n     */\n    isSearchMode(): boolean;\n  }\n\n  const CollectionTreeCache: _ZoteroTypes.CollectionTreeCache;\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace CollectionTreeRow {\n    type Type =\n      | \"library\"\n      | \"group\"\n      | \"feed\"\n      | \"collection\"\n      | \"search\"\n      | \"duplicates\"\n      | \"unfiled\"\n      | \"retracted\"\n      | \"publications\"\n      | \"trash\"\n      | \"feeds\"\n      | \"header\"\n      | \"separator\"\n      | \"bucket\"\n      | \"share\";\n  }\n\n  interface CollectionTreeCache {\n    lastTreeRow?: Zotero.CollectionTreeRow;\n    lastSearch?: Zotero.Search;\n    lastTempTable?: string;\n    lastResults?: number[];\n    error: boolean;\n    clear(): void;\n  }\n}\n\ndeclare namespace Zotero {\n  /**\n   * Manage cookies in a sandboxed fashion\n   *\n   * @constructor\n   * @param {browser} [browser] Hidden browser object\n   * @param {String|nsIURI} uri URI of page to manage cookies for (cookies for domains that are not\n   *                     subdomains of this URI are ignored)\n   * @param {String} cookieData Cookies with which to initiate the sandbox\n   * @param {String} userAgent User agent to use for sandboxed requests\n   */\n  interface CookieSandbox {\n    new (\n      browser: unknown,\n      uri: string | URL,\n      cookieData: string,\n      userAgent: string,\n    ): this;\n\n    /**\n     * Normalizes the host string: lower-case, remove leading period, some more cleanup\n     * @param {string} host\n     * @returns {string}\n     */\n    normalizeHost(host: string): string;\n\n    /**\n     * Normalizes the path string\n     * @param {string} path\n     * @returns {string}\n     */\n    normalizePath(path: string): string;\n\n    /**\n     * Generates a semicolon-separated string of cookie values from a list of cookies\n     * @param {Object} cookies Object containing key: value cookie pairs\n     * @returns {string}\n     */\n    generateCookieString(cookies: { [key: string]: string }): string;\n  }\n}\n\n\ndeclare namespace Zotero {\n  /*\n   * Base function for retrieving ids and names of static types stored in the DB\n   * (e.g. creatorType, fileType, charset, itemType)\n   *\n   * Extend using the following code within a child constructor:\n   *\n   * \tZotero.CachedTypes.apply(this, arguments);\n   *  this.constructor.prototype = new Zotero.CachedTypes();\n   *\n   * And the following properties:\n   *\n   *\tthis._typeDesc = '';\n   *\tthis._typeDescPlural = '';\n   *\tthis._idCol = '';\n   *\tthis._nameCol = '';\n   *\tthis._table = '';\n   *\n   * Optional properties:\n   *\n   *  this._allowAdd: Allow new types to be added via .add(name)\n   *\tthis._ignoreCase: Ignore case when looking for types, and add new types as lowercase\n   *\n   * And add .init() to zotero.js\n   */\n  interface CachedTypes {\n    new (): this;\n    _types: { [idOrName: string]: _ZoteroTypes.CachedTypes.Type };\n    _typesArray: _ZoteroTypes.CachedTypes.Type[];\n    _typeDesc: string;\n    _idCol: string;\n    _nameCol: string;\n    _table: string;\n    _allowAdd: boolean;\n    _ignoreCase: boolean;\n    _hasCustom: boolean;\n\n    /**\n     * Add a new type to the data and return its id. If the type already exists, return its id.\n     *\n     * @param {String} name - Type name to add\n     * @return {Integer|False} - The type id (new or existing), or false if invalid type name\n     */\n    add(name: string): Promise<number | false>;\n\n    init(): Promise<void>;\n    getName(idOrName: number | string): string;\n    getID(idOrName: number | string): number | false;\n    getAll(): _ZoteroTypes.CachedTypes.Type[];\n    getTypes(): _ZoteroTypes.CachedTypes.Type[];\n    isCustom(idOrName: number | string): boolean; // Currently used only for item types\n    _getTypesFromDB(where: string, params?: object): Promise<unknown>;\n    _cacheTypeData(type: _ZoteroTypes.CachedTypes.Type): void;\n  }\n\n  const CreatorTypes: _ZoteroTypes.CreatorTypes;\n  const ItemTypes: _ZoteroTypes.ItemTypes;\n  const FileTypes: _ZoteroTypes.FileTypes;\n  const CharacterSets: _ZoteroTypes.CharacterSets;\n  const RelationPredicates: _ZoteroTypes.RelationPredicates;\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace CachedTypes {\n    interface Type {\n      custom?: boolean;\n      id: number;\n      name: string;\n    }\n  }\n\n  interface CreatorTypes extends Zotero.CachedTypes {\n    _typeDesc: \"creator type\";\n    _typeDescPlural: \"creator types\";\n    _idCol: \"creatorTypeID\";\n    _nameCol: \"creatorType\";\n    _table: \"creatorTypes\";\n    getTypesForItemType(itemTypeID: number): _ZoteroTypes.CachedTypes.Type[];\n    isValidForItemType(creatorTypeID: number, itemTypeID: number): boolean;\n    getLocalizedString(idOrName: number | string): string;\n    itemTypeHasCreators(itemTypeID: number): boolean;\n    getPrimaryIDForType(itemTypeID: number): number | false;\n  }\n\n  namespace ItemTypes {\n    type PrimaryTypeName =\n      | \"book\"\n      | \"bookSection\"\n      | \"journalArticle\"\n      | \"newspaperArticle\"\n      | \"document\";\n    type HiddenTypeName = \"webpage\" | \"attachment\" | \"note\" | \"annotation\";\n  }\n\n  interface ItemTypes extends Zotero.CachedTypes {\n    customIDOffset: 10000;\n    _typeDesc: \"item type\";\n    _typeDescPlural: \"item types\";\n    _idCol: \"itemTypeID\";\n    _nameCol: \"typeName\";\n    _table: \"itemTypesCombined\";\n    _hasCustom: true;\n\n    getPrimaryTypes(): _ZoteroTypes.CachedTypes.Type[];\n    getSecondaryTypes(): _ZoteroTypes.CachedTypes.Type[];\n    getHiddenTypes(): _ZoteroTypes.CachedTypes.Type[];\n    getLocalizedString(idOrName: number | string): string;\n    getImageSrc(itemType: _ZoteroTypes.Item.ItemType): _ZoteroTypes.IconURI;\n  }\n\n  interface FileTypes extends Zotero.CachedTypes {\n    _typeDesc: \"file type\";\n    _typeDescPlural: \"file types\";\n    _idCol: \"fileTypeID\";\n    _nameCol: \"fileType\";\n    _table: \"fileTypes\";\n\n    /**\n     * @return {Promise<Integer>} fileTypeID\n     */\n    getIDFromMIMEType(mimeType: string): Promise<number>;\n  }\n\n  interface CharacterSets extends Zotero.CachedTypes {\n    _typeDesc: \"character set\";\n    _typeDescPlural: \"character sets\";\n    _idCol: \"charsetID\";\n    _nameCol: \"charset\";\n    _table: \"charsets\";\n    _ignoreCase: true;\n\n    /**\n     * Converts charset label to charset name\n     * @link https://encoding.spec.whatwg.org/#names-and-labels\n     * @param {String} charset\n     * @return {String|Boolean} Normalized charset name or FALSE if not recognized\n     */\n    toCanonical(charset: string): string | false;\n\n    /**\n     * Normalizes charset label to conform to DOM standards\n     * @link https://dom.spec.whatwg.org/#dom-document-characterset\n     * @param {String} charset\n     * @param {Boolean} mozCompat Whether to return a Mozilla-compatible label\n     *   for use in Gecko internal APIs.\n     *   https://developer.mozilla.org/en-US/docs/Gecko/Character_sets_supported_by_Gecko\n     * @return {String|Boolean} Normalized label or FALSE is not recognized\n     */\n    toLabel(charset: string, mozCompat?: boolean): string | false;\n  }\n\n  interface RelationPredicates extends Zotero.CachedTypes {\n    _typeDesc: \"relation predicate\";\n    _typeDescPlural: \"relation predicates\";\n    _idCol: \"predicateID\";\n    _nameCol: \"predicate\";\n    _table: \"relationPredicates\";\n    _ignoreCase: false;\n    _allowAdd: true;\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Collection {\n    type DataType =\n      | \"primaryData\"\n      | \"childCollections\"\n      | \"childItems\"\n      | \"relations\";\n    type DescendentType = \"item\" | \"collection\";\n    interface Descendent {\n      id: number;\n      key: string;\n      level: number;\n      name: string;\n      parent: number;\n      type: Collection.DescendentType;\n    }\n  }\n}\n\ndeclare namespace Zotero {\n  class Collection extends Zotero.DataObject {\n    static prototype: Collection;\n    constructor(params?: {\n      name?: string;\n      libraryID?: number;\n      parentID?: number;\n      parentKey?: string;\n    });\n    _childCollections: Set<number>;\n    _childItems: Set<number>;\n    _objectType: \"collection\";\n    _dataTypes: Array<_ZoteroTypes.Collection.DataType>;\n    ChildObjects: _ZoteroTypes.Items;\n    name: string;\n    version: number;\n    synced: boolean;\n    parentID: number;\n    parentKey: string;\n    treeViewID: string;\n    treeViewImage: string;\n\n    /*\n     * Populate collection data from a database row\n     */\n    loadFromRow(row: object): void;\n\n    hasChildCollections(includeTrashed?: boolean): boolean;\n    hasChildItems(): boolean;\n\n    /**\n     * Returns subcollections of this collection\n     *\n     * @param {Boolean} [asIDs=false] Return as collectionIDs\n     * @return {Zotero.Collection[]|Integer[]}\n     */\n    getChildCollections(\n      asIDs?: false,\n      includeTrashed?: boolean,\n    ): Zotero.Collection[];\n    getChildCollections(asIDs: true, includeTrashed?: boolean): number[];\n\n    /**\n     * Returns child items of this collection\n     *\n     * @param\t{Boolean}\tasIDs\t\t\tReturn as itemIDs\n     * @param\t{Boolean}\tincludeDeleted\tInclude items in Trash\n     * @return {Zotero.Item[]|Integer[]} - Array of Zotero.Item instances or itemIDs\n     */\n    getChildItems(asIDs?: false, includeDeleted?: boolean): Zotero.Item[];\n    getChildItems(asIDs: true, includeDeleted?: boolean): number[];\n\n    _saveData(env: unknown): Promise<void>;\n\n    /**\n     * @param {Number} itemID\n     * @return {Promise}\n     */\n    addItem(itemID: number, options?: DataObject.SaveOptions): Promise<void>; // do not require save\n\n    /**\n     * Add multiple items to the collection in batch\n     *\n     * Requires a transaction\n     * Does not require a separate save()\n     *\n     * @param {Number[]} itemIDs\n     * @return {Promise}\n     */\n    addItems(\n      itemIDs: number[],\n      options?: DataObject.SaveOptions,\n    ): Promise<void>; // do not require save\n\n    /**\n     * Remove a item from the collection. The item is not deleted from the library.\n     *\n     * Requires a transaction\n     * Does not require a separate save()\n     *\n     * @return {Promise}\n     */\n    removeItem(\n      itemID: number,\n      options?: DataObject.SaveOptions & { skipEditCheck?: boolean },\n    ): Promise<void>;\n    /**\n     * Remove multiple items from the collection in batch.\n     * The items are not deleted from the library.\n     *\n     * Does not require a separate save()\n     */\n    removeItems(\n      itemIDs: number[],\n      options?: DataObject.SaveOptions & { skipEditCheck?: boolean },\n    ): Promise<void>;\n\n    /**\n     * Check if an item belongs to the collection\n     *\n     * @param {Zotero.Item|Number} item - Item or itemID\n     */\n    hasItem(item: number | Zotero.Item): boolean;\n\n    hasDescendent(\n      type: _ZoteroTypes.Collection.DescendentType,\n      id: number,\n    ): boolean;\n\n    /**\n     * Returns an unsaved copy of the collection without id and key\n     *\n     * Doesn't duplicate subcollections or items, because the collection isn't saved\n     */\n    clone(libraryID?: number): Zotero.Collection; // not saved\n\n    /**\n     * Deletes collection and all descendent collections (and optionally items)\n     */\n    _eraseData(env: unknown): Promise<void>;\n\n    isCollection(): true;\n    serialize(nested?: boolean): {\n      primary: {\n        collectionID: number;\n        libraryID: number;\n        key: string;\n      };\n      fields: {\n        name: string;\n        parentKey: string;\n      };\n      childCollections: number[];\n      childItems: number[];\n      descendents: _ZoteroTypes.Collection.Descendent[];\n    };\n\n    /**\n     * Populate the object's data from an API JSON data object\n     *\n     * If this object is identified (has an id or library/key), loadAllData() must have been called.\n     */\n    fromJSON(json: object, options?: { strict: boolean }): void;\n    toJSON(options?: object): {\n      key: string;\n      name: string;\n      version: 68;\n      parentCollection: string | false;\n      relations: _ZoteroTypes.ObjectRelations;\n    };\n\n    /**\n     * Returns an array of descendent collections and items\n     *\n     * @param\t{Boolean}\t[nested=false]\t\tReturn multidimensional array with 'children'\n     *\t\t\t\t\t\t\t\t\t\t\tnodes instead of flat array\n     * @param\t{String}\t[type]\t\t\t\t'item', 'collection', or NULL for both\n     * @param\t{Boolean}\t[includeDeletedItems=false]\t\tInclude items in Trash\n     * @param {Number}  [level=1]\n     * @return\t{Object[]} - An array of objects with 'id', 'key', 'type' ('item' or 'collection'),\n     *     'parent', and, if collection, 'name' and the nesting 'level'\n     */\n    getDescendents(\n      nested?: boolean,\n      type?: _ZoteroTypes.Collection.DescendentType | null,\n      includeDeletedItems?: boolean,\n      level?: number,\n    ): _ZoteroTypes.Collection.Descendent[];\n\n    /**\n     * Return a collection in the specified library equivalent to this collection\n     *\n     * @return {Promise<Zotero.Collection>}\n     */\n    getLinkedCollection(\n      libraryID: number,\n      bidrectional?: boolean,\n    ): Promise<Zotero.Collection | false>;\n    /**\n     * Add a linked-object relation pointing to the given collection\n     *\n     * Does not require a separate save()\n     */\n    addLinkedCollection(collection: Zotero.Collection): Promise<boolean>;\n\n    /**\n     * Add a collection to the cached child collections list if loaded\n     */\n    _registerChildCollection(collectionID: number): void;\n\n    /**\n     * Remove a collection from the cached child collections list if loaded\n     */\n    _unregisterChildCollection(collectionID: number): void;\n\n    /**\n     * Add an item to the cached child items list if loaded\n     */\n    _registerChildItem(itemID: number): void;\n\n    /**\n     * Remove an item from the cached child items list if loaded\n     */\n    _unregisterChildItem(itemID: number): void;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  /*\n   * Primary interface for accessing Zotero collection\n   */\n  interface Collections extends DataObjects<Zotero.Collection> {\n    _objectCache: { [i: number]: Zotero.Collection };\n    ObjectClass: Zotero.Collection;\n    _ZDO_object: \"collection\";\n    _primaryDataSQLParts: {\n      collectionID: \"O.collectionID\";\n      name: \"O.collectionName AS name\";\n      libraryID: \"O.libraryID\";\n      key: \"O.key\";\n      version: \"O.version\";\n      synced: \"O.synced\";\n\n      deleted: \"DC.collectionID IS NOT NULL AS deleted\";\n\n      parentID: \"O.parentCollectionID AS parentID\";\n      parentKey: \"CP.key AS parentKey\";\n\n      hasChildCollections: \"(SELECT COUNT(*) FROM collections WHERE parentCollectionID=O.collectionID) != 0 AS hasChildCollections\";\n      hasChildItems: \"(SELECT COUNT(*) FROM collectionItems WHERE collectionID=O.collectionID) != 0 AS hasChildItems\";\n    };\n    _primaryDataSQLFrom: string;\n    _relationsTable: \"collectionRelations\";\n\n    /**\n     * Get collections within a library\n     *\n     * Either libraryID or parentID must be provided\n     *\n     * @param {Integer} libraryID\n     * @param {Boolean} [recursive=false]\n     * @return {Zotero.Collection[]}\n     */\n    getByLibrary(libraryID: number, recursive?: boolean): Zotero.Collection[];\n\n    /**\n     * Get collections that are subcollection of a given collection\n     *\n     * @param {Integer} parentCollectionID\n     * @param {Boolean} [recursive=false]\n     * @return {Zotero.Collection[]}\n     */\n    getByParent(\n      parentCollectionID: number,\n      recursive?: boolean,\n    ): Zotero.Collection[];\n\n    getCollectionsContainingItems(\n      itemIDs: number[],\n      asIDs?: false,\n    ): Promise<Zotero.Item[]>;\n    getCollectionsContainingItems(\n      itemIDs: number[],\n      asIDs: true,\n    ): Promise<number[]>;\n    _loadChildCollections(libraryID: number, ids: number[]): Promise<void>;\n    _loadChildItems(\n      libraryID: number,\n      ids: number[],\n      idSQL: string,\n    ): Promise<void>;\n    registerChildCollection(\n      collectionID: number,\n      childCollectionID: number,\n    ): void;\n    unregisterChildCollection(\n      collectionID: number,\n      childCollectionID: number,\n    ): void;\n    registerChildItem(collectionID: number, itemID: number): void;\n    unregisterChildItem(collectionID: number, itemID: number): void;\n  }\n}\n\ndeclare namespace Zotero {\n  const Collections: _ZoteroTypes.Collections;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface Creators {\n    fields: [\"firstName\", \"lastName\", \"fieldMode\"];\n    totes: number;\n    init(): Promise<void>;\n\n    /*\n     * Returns creator data in internal format for a given creatorID\n     */\n    get(creatorID: number): _ZoteroTypes.Item.Creator;\n\n    getItemsWithCreator(creatorID: number): Promise<number[]>;\n    countItemAssociations(creatorID: number): Promise<number>;\n\n    /**\n     * Returns the creatorID matching given fields, or creates a new creator and returns its id\n     *\n     * @requireTransaction\n     * @param {Object} data  Creator data in API JSON format\n     * @param {Boolean} [create=false]  If no matching creator, create one\n     * @return {Promise<Integer>}  creatorID\n     */\n    getIDFromData(\n      data: _ZoteroTypes.Item.CreatorJSON,\n      create?: boolean,\n    ): Promise<number | null>;\n\n    updateCreator(\n      creatorID: number,\n      creatorData: _ZoteroTypes.Item.Creator,\n    ): Promise<unknown>;\n\n    /**\n     * Delete obsolete creator rows from database and clear internal cache entries\n     *\n     * @return {Promise}\n     */\n    purge(): Promise<void>;\n\n    equals(\n      data1: _ZoteroTypes.Item.Creator,\n      data2: _ZoteroTypes.Item.Creator,\n    ): boolean;\n    cleanData(\n      data: _ZoteroTypes.Item.Creator,\n      options?: { strict: boolean },\n    ): _ZoteroTypes.Item.Creator;\n    internalToJSON(\n      fields: _ZoteroTypes.Item.Creator,\n    ): _ZoteroTypes.Item.CreatorJSON;\n  }\n}\n\ndeclare namespace Zotero {\n  const Creators: _ZoteroTypes.Creators;\n}\n\n\ndeclare namespace Zotero {\n  namespace DataObject {\n    interface SaveOptions {\n      /**\n       * Don't save add new object to the cache; if set, object is disabled after save\n       */\n      skipCache?: boolean;\n\n      skipDateModifiedUpdate?: boolean;\n      skipClientDateModifiedUpdate?: boolean;\n\n      /**\n       * Don't trigger Zotero.Notifier events\n       */\n      skipNotifier?: boolean;\n\n      /**\n       * Don't select object automatically in trees\n       */\n      skipSelect?: boolean;\n\n      /**\n       * Don't automatically set 'synced' to false\n       */\n      skipSyncedUpdate?: boolean;\n\n      /**\n       * Pass along any 'notifierData' values, which become 'extraData' in notifier events\n       */\n      notifierData?: any;\n\n      tx?: boolean;\n    }\n    interface EraseOptions {\n      /**\n       * Move descendant items to trash (Collection only)\n       */\n      deleteItems?: boolean;\n      /**\n       * Don't add to sync delete log\n       */\n      skipDeleteLog?: boolean;\n      tx?: boolean;\n    }\n  }\n\n  /**\n   * @property {String} (readOnly) objectType\n   * @property {String} (readOnly) libraryKey\n   * @property {String|false|undefined} parentKey - False if no parent, or undefined if not\n   *                                                applicable (e.g. search objects)\n   * @property {Integer|false|undefined} parentID - False if no parent, or undefined if not\n   *                                                applicable (e.g. search objects)\n   */\n  class DataObject {\n    readonly objectType: string;\n    readonly libraryKey: string;\n    readonly id: number;\n    readonly libraryID: number;\n    readonly library: Zotero.Library;\n    readonly key: string;\n    deleted: boolean;\n\n    /**\n     *  @property {Integer|false|undefined} parentKey - False if no parent, or undefined if not\n     *                                                 applicable (e.g. search objects)\n     */\n    parentKey: string | false | undefined;\n\n    /**\n     *  @property {Integer|false|undefined} parentID - False if no parent, or undefined if not\n     *                                                 applicable (e.g. search objects)\n     */\n    parentID: number | false | undefined;\n\n    readonly _canHaveParent: boolean;\n    ObjectsClass: this extends Zotero.Item\n      ? _ZoteroTypes.Items\n      : this extends Zotero.Collection\n        ? _ZoteroTypes.Collections\n        : this extends Zotero.Search\n          ? _ZoteroTypes.Searches\n          : _ZoteroTypes.DataObjects;\n    itemTypeID: number;\n\n    /**\n     * Returns all relations of the object\n     * @return {Object} - Object with predicates as keys and arrays of values\n     */\n    getRelations(): _ZoteroTypes.ObjectRelations;\n\n    /**\n     * Returns all relations of the object with a given predicate\n     * @return {String[]} - URIs linked to this object with the given predicate\n     */\n    getRelationsByPredicate(\n      predicate: _ZoteroTypes.RelationsPredicate,\n    ): _ZoteroTypes.ZoteroObjectURI[];\n\n    /**\n     * @return {Boolean} - True if the relation has been queued, false if it already exists\n     */\n    addRelation(\n      predicate: _ZoteroTypes.RelationsPredicate,\n      object: _ZoteroTypes.ZoteroObjectURI,\n    ): boolean;\n\n    hasRelation(\n      predicate: _ZoteroTypes.RelationsPredicate,\n      object: _ZoteroTypes.ZoteroObjectURI,\n    ): boolean;\n    removeRelation(\n      predicate: _ZoteroTypes.RelationsPredicate,\n      object: _ZoteroTypes.ZoteroObjectURI,\n    ): boolean;\n\n    /**\n     * Updates the object's relations\n     *\n     * @param {Object} newRelations Object with predicates as keys and URI[] as values\n     * @return {Boolean} True if changed, false if stayed the same\n     */\n    setRelations(newRelations: _ZoteroTypes.ObjectRelations): boolean;\n\n    /**\n     * Add a linked-item relation to a pair of objects\n     *\n     * A separate save() is not required.\n     *\n     * @param {Zotero.DataObject} object\n     * @return {Promise<Boolean>}\n     */\n    _addLinkedObject(object: Zotero.DataObject): Promise<boolean>;\n\n    /**\n     * Bulk data loading functions\n     * These are called by @function Zotero.DataObjects.prototype.loadDataType().\n     */\n    loadPrimaryData(reload: boolean, failOnMissing?: boolean): Promise<void>;\n\n    /**\n     * Reloads loaded, changed data\n     *\n     * @param {String[]} [dataTypes] - Data types to reload, or all loaded types if not provide\n     * @param {Boolean} [reloadUnchanged=false] - Reload even data that hasn't changed internally.\n     *                                            This should be set to true for data that was\n     *                                            changed externally (e.g., globally renamed tags).\n     */\n    reload(dataTypes: string[], reloadUnchanged: boolean): Promise<void>;\n\n    /**\n     * Checks whether a given data type has been loaded\n     *\n     * @param {String} [dataType=primaryData] Data type to check\n     * @throws {Zotero.DataObjects.UnloadedDataException} If not loaded, unless the\n     *   data has not yet been \"identified\"\n     */\n    _requireData(dataType: string): void;\n\n    /**\n     * Loads data for a given data type\n     * @param {String} dataType\n     * @param {Boolean} reload\n     * @param {Promise}\n     */\n    loadDataType(dataType: string): Promise<void>;\n\n    loadAllData(): void;\n    _markAllDataTypeLoadStates(loaded: boolean): void;\n    _hasFieldChanged(field: string): boolean;\n    _getChangedField(field: string): unknown;\n\n    /**\n     *  Get either the unsaved value of a field or the saved value if unchanged since the last save\n     */\n    _getLatestField(field: string): unknown; // any type of this._ properties\n\n    /**\n     * Save old version of data that's being changed, to pass to the notifier\n     * @param {String} field\n     * @param {} value - Old value for old-style 'changed' fields, and new value for 'changedData' fields\n     */\n    _markFieldChange(field: string, value: [] | {}): void;\n\n    hasChanged(): boolean;\n\n    /**\n     * Clears log of changed values\n     * @param {String} [dataType] data type/field to clear. Defaults to clearing everything\n     */\n    _clearChanged(dataType?: string): void;\n\n    /**\n     * Clears field change log\n     * @param {String} field\n     */\n    _clearFieldChange(field: string): void;\n\n    /**\n     * Mark a data type as requiring a reload when the current save finishes. The changed state is cleared\n     * before the new data is saved to the database (so that further updates during the save process don't\n     * get lost), so we need to separately keep track of what changed.\n     */\n    _markForReload(dataType: string): void;\n\n    /**\n     * @param {String} [op='edit'] - Operation to check; if not provided, check edit privileges for\n     *     library\n     */\n    isEditable(op?: string): boolean;\n\n    /**\n     * Save changes to database\n     *\n     * @param {Object} [options]\n     * @param {Boolean} [options.skipCache] - Don't save add new object to the cache; if set, object\n     *                                         is disabled after save\n     * @param {Boolean} [options.skipDateModifiedUpdate]\n     * @param {Boolean} [options.skipClientDateModifiedUpdate]\n     * @param {Boolean} [options.skipNotifier] - Don't trigger Zotero.Notifier events\n     * @param {Boolean} [options.skipSelect] - Don't select object automatically in trees\n     * @param {Boolean} [options.skipSyncedUpdate] - Don't automatically set 'synced' to false\n     * @return {Promise<Integer|Boolean>}  Promise for itemID of new item,\n     *                                     TRUE on item update, or FALSE if item was unchanged\n     */\n    save(options?: DataObject.SaveOptions): Promise<boolean | number>;\n    saveTx(options?: DataObject.SaveOptions): Promise<boolean | number>;\n    _saveData(env: unknown): void;\n    _finalizeSave(env: unknown): Promise<void>;\n    /**\n     * Actions to perform after DB transaction\n     */\n    _postSave(env: unknown): void;\n    _recoverFromSaveError(): Promise<void>;\n\n    /**\n     * Update object version, efficiently\n     *\n     * Used by sync code\n     *\n     * @param {Integer} version\n     * @param {Boolean} [skipDB=false]\n     */\n    updateVersion(version: number, skipDB?: false): void;\n\n    /**\n     * Update object sync status, efficiently\n     *\n     * Used by sync code\n     *\n     * @param {Boolean} synced\n     * @param {Boolean} [skipDB=false]\n     */\n    updateSynced(synced: boolean, skipDB?: boolean): Promise<void>;\n\n    eraseTx(options?: DataObject.EraseOptions): Promise<boolean>;\n    /**\n     * Delete object from database\n     *\n     * @param {Object} [options]\n     * @param {Boolean} [options.deleteItems] - Move descendant items to trash (Collection only)\n     * @param {Boolean} [options.skipDeleteLog] - Don't add to sync delete log\n     */\n    erase(options?: DataObject.EraseOptions): Promise<boolean>;\n\n    _finalizeErase(env: unknown): Promise<void>;\n    toResponseJSON(options?: {}): {\n      key: string;\n      version: number;\n      meta: _ZoteroTypes.anyObj;\n      data: _ZoteroTypes.anyObj;\n    };\n\n    /**\n     * Generates data object key\n     * @return {String} key\n     */\n    _generateKey(): string;\n\n    _disabledCheck(): void;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface DataObjects<T extends Zotero.DataObject = Zotero.DataObject> {\n    idColumn: string;\n    table: string;\n    relationsTable: string;\n    primaryFields: string[];\n    _primaryDataSQLWhere: \"WHERE 1\";\n    primaryDataSQLFrom: string;\n    primaryDataSQL: string;\n\n    init(): Promise<void>;\n    _loadIDsAndKeys(): Promise<void>;\n    isPrimaryField(field: string): boolean;\n\n    /**\n     * Retrieves one or more already-loaded items\n     *\n     * If an item hasn't been loaded, an error is thrown\n     *\n     * @param {Array|Integer} ids  An individual object id or an array of object ids\n     * @return {Zotero.[Object]|Array<Zotero.[Object]>} A Zotero.[Object], if a scalar id was passed;\n     *                                          otherwise, an array of Zotero.[Object]\n     */\n    get(id: number): T;\n    get(ids: number[]): T[];\n\n    /**\n     * Retrieves (and loads, if necessary) one or more items\n     *\n     * @param {Array|Integer} ids  An individual object id or an array of object ids\n     * @param {Object} [options]\n     * @param {Boolean} [options.noCache=false] - Don't add object to cache after loading\n     * @return {Promise<Zotero.DataObject|Zotero.DataObject[]>} - A promise for either a data object,\n     *     if a scalar id was passed, or an array of data objects, if an array of ids was passed\n     */\n    getAsync(id: number, options?: { noCache: boolean }): Promise<T>;\n    getAsync(ids: number[], options?: { noCache: boolean }): Promise<T[]>;\n\n    /**\n     * Get all loaded objects\n     *\n     * @return {Zotero.DataObject[]}\n     */\n    getLoaded(): T[];\n\n    /**\n     * Return objects in the trash\n     *\n     * @param {Integer} libraryID - Library to search\n     * @param {Boolean} [asIDs] - Return object ids instead of objects\n     * @param {Integer} [days]\n     * @param {Integer} [limit]\n     * @return {Promise<Zotero.DataObject[]|Integer[]>}\n     */\n    getDeleted(\n      libraryID: number,\n      asIDs?: boolean,\n      days?: number,\n      limit?: number,\n    ): Promise<Array<number | T>>;\n\n    getAllIDs(libraryID: number): Promise<number[]>;\n    getAllKeys(libraryID: number): Promise<string[]>;\n    parseLibraryKey(libraryKey: string): { libraryID: number; key: string };\n\n    /**\n     * Retrieves an object by its libraryID and key\n     *\n     * @param\t{Integer}\t\tlibraryID\n     * @param\t{String}\t\t\tkey\n     * @return\t{Zotero.DataObject}\t\t\tZotero data object, or FALSE if not found\n     */\n    getByLibraryAndKey(\n      libraryID: number,\n      key: string,\n      options?: unknown,\n    ): T | false;\n\n    /**\n     * Asynchronously retrieves an object by its libraryID and key\n     *\n     * @param {Integer} libraryID\n     * @param {String} key\n     * @param {Object} [options]\n     * @param {Boolean} [options.noCache=false] - Don't add object to cache after loading\n     * @return {Promise<Zotero.DataObject>} - Promise for a data object, or FALSE if not found\n     */\n    getByLibraryAndKeyAsync(\n      libraryID: number,\n      key: string,\n      options?: { noCache: boolean },\n    ): Promise<T | false>;\n\n    exists(id: number): boolean;\n\n    /**\n     * @return {Object} Object with 'libraryID' and 'key'\n     */\n    getLibraryAndKeyFromID(\n      id: number,\n    ): false | { libraryID: number; key: string };\n\n    getIDFromLibraryAndKey(libraryID: number, key: string): number | false;\n\n    /**\n     * @returns Array of id of object\n     */\n    getOlder(libraryID: number, date: Date): Promise<number[]>;\n    /**\n     * @returns Array of id of object\n     */\n    getNewer(\n      libraryID: number,\n      date: Date,\n      ignoreFutureDates?: boolean,\n    ): Promise<number[]>;\n\n    /**\n     * Gets the latest version for each object of a given type in the given library\n     *\n     * @return {Promise<Object>} - A promise for an object with object keys as keys and versions\n     *                             as properties\n     */\n    getObjectVersions(\n      libraryID: number,\n      keys?: string[],\n    ): Promise<{ [key: string]: number }>;\n\n    /**\n     * Bulk-load data type(s) of given objects if not loaded\n     *\n     * This would generally be used to load necessary data for cross-library search results, since those\n     * results might include objects in libraries that haven't yet been loaded.\n     *\n     * @param {Zotero.DataObject[]} objects\n     * @param {String[]} [dataTypes] - Data types to load, defaulting to all types\n     * @return {Promise}\n     */\n    loadDataTypes(objects: T[], dataTypes?: string[]): Promise<void>;\n\n    /**\n     * Loads data for a given data type\n     * @param {String} dataType\n     * @param {Integer} libraryID\n     * @param {Integer[]} [ids]\n     */\n    _loadDataTypeInLibrary(\n      dataType: string,\n      libraryID: number,\n      ids: number[],\n    ): Promise<void>;\n\n    loadAll(libraryID: number, ids?: number[]): Promise<void>;\n\n    /**\n     * Sort an array of collections or items from top-level to deepest, grouped by level\n     *\n     * All top-level objects are returned, followed by all second-level objects, followed by\n     * third-level, etc. The order within each level is undefined.\n     *\n     * This is used to sort higher-level objects first in upload JSON, since otherwise the API would\n     * reject lower-level objects for having missing parents.\n     *\n     * @param {Zotero.DataObject[]} objects - An array of objects\n     * @return {Zotero.DataObject[]} - A sorted array of objects\n     */\n    sortByLevel<T>(objects: T[]): T[];\n\n    /**\n     * Sort an array of collections or items from top-level to deepest, grouped by parent\n     *\n     * Child objects are included before any sibling objects. The order within each level is undefined.\n     *\n     * This is used to sort higher-level objects first in upload JSON, since otherwise the API would\n     * reject lower-level objects for having missing parents.\n     *\n     * @param {Zotero.DataObject[]} objects - An array of data objects\n     * @return {Zotero.DataObject[]} - A sorted array of data objects\n     */\n    sortByParent<T>(objects: T[]): T[];\n\n    /**\n     * Flatten API JSON relations object into an array of unique predicate-object pairs\n     *\n     * @param {Object} relations - Relations object in API JSON format, with predicates as keys\n     *                             and arrays of URIs as objects\n     * @return {Array[]} - Predicate-object pairs\n     */\n    flattenRelations(\n      relations: ObjectRelations,\n    ): Array<[RelationsPredicate, ZoteroObjectURI]>;\n\n    /**\n     * Reload loaded data of loaded objects\n     *\n     * @param {Array|Number} ids - An id or array of ids\n     * @param {Array} [dataTypes] - Data types to reload (e.g., 'primaryData'), or all loaded\n     *                              types if not provided\n     * @param {Boolean} [reloadUnchanged=false] - Reload even data that hasn't changed internally.\n     *                                            This should be set to true for data that was\n     *                                            changed externally (e.g., globally renamed tags).\n     */\n    reload(\n      ids: number,\n      dataTypes: string[],\n      reloadUnchanged?: boolean,\n    ): Promise<undefined | true>;\n\n    reloadAll(libraryID: number): Promise<void>;\n    registerObject(obj: T): void;\n    dropDeadObjectsFromCache(): void;\n\n    /**\n     * Clear object from internal array\n     *\n     * @param\tint[]\tids\t\tobjectIDs\n     */\n    unload(ids: number[]): void;\n\n    /**\n     * Set the version of objects, efficiently\n     *\n     * @param {Integer[]} ids - Ids of objects to update\n     * @param {Boolean} version\n     */\n    updateVersion(ids: number[], version: number): Promise<void>;\n\n    /**\n     * Set the sync state of objects, efficiently\n     *\n     * @param {Integer[]} ids - Ids of objects to update\n     * @param {Boolean} synced\n     */\n    updateSynced(ids: number[], synced?: boolean): Promise<void>;\n\n    isEditable(obj: T): boolean;\n    getPrimaryDataSQLPart(part: string): string;\n\n    /**\n     * Delete one or more objects from the database and caches\n     *\n     * @param {Integer|Integer[]} ids - Object ids\n     * @param {Object} [options] - See Zotero.DataObject.prototype.erase\n     * @param {Function} [options.onProgress] - f(progress, progressMax)\n     * @return {Promise}\n     */\n    erase(\n      ids: number | number[],\n      options?: Zotero.DataObject.EraseOptions & {\n        onProgress?: (progress: number, progressMax: number) => void;\n      },\n    ): Promise<void>;\n\n    _loadIDsAndKeys(): Promise<void>;\n  }\n\n  type ObjectType = \"collection\" | \"item\" | \"search\";\n}\n\ndeclare namespace Zotero {\n  const DataObjects: _ZoteroTypes.DataObjects;\n}\n\n\ndeclare namespace Zotero {\n  /**\n   * Zotero.Feed, extends Zotero.Library\n   *\n   * Custom parameters:\n   * - name - name of the feed displayed in the collection tree\n   * - url\n   * - cleanupReadAfter - number of days after which read items should be removed\n   * - cleanupUnreadAfter - number of days after which unread items should be removed\n   * - refreshInterval - in terms of hours\n   *\n   * @param params\n   * @returns Zotero.Feed\n   * @constructor\n   */\n  class Feed extends Zotero.Library {\n    constructor(params?: _ZoteroTypes.Feed.Params);\n    static prototype: Zotero.Feed;\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Feed {\n    interface Params extends _ZoteroTypes.Library.Params {\n      name: string;\n      url: string;\n      refreshInterval: number;\n      cleanupReadAfter: boolean;\n      cleanupUnreadAfter: boolean;\n    }\n  }\n}\n\n\ndeclare namespace Zotero {\n  class FeedItem extends Zotero.Item {\n    constructor(\n      itemTypeOrID?: _ZoteroTypes.Item.ItemType | number,\n      params?: object,\n    );\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  /**\n   * Mimics Zotero.Libraries\n   */\n  interface Feeds extends anyObj {}\n}\n\ndeclare namespace Zotero {\n  const Feeds: _ZoteroTypes.Feeds;\n}\n\n/**\n    ***** BEGIN LICENSE BLOCK *****\n    \n    Copyright © 2009 Center for History and New Media\n                     George Mason University, Fairfax, Virginia, USA\n                     http://zotero.org\n    \n    This file is part of Zotero.\n    \n    Zotero is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n    \n    Zotero 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 Zotero.  If not, see <http://www.gnu.org/licenses/>.\n    \n    ***** END LICENSE BLOCK *****\n*/\n\ndeclare namespace _ZoteroTypes {\n  namespace Group {\n    /**\n     * A parameter object for constructing or updating a Zotero.Group.\n     */\n    interface GroupParams {\n      groupID?: number;\n      name?: string;\n      description?: string;\n      version?: number;\n      libraryID?: number;\n      /**\n       * Will be set to 'group' internally. May be provided externally but not required.\n       */\n      libraryType?: string;\n    }\n  }\n}\n\ndeclare namespace Zotero {\n  /**\n   * A Zotero Group object, extending Zotero.Library, with additional group-specific\n   * properties and methods.\n   */\n  class Group\n    extends _ZoteroTypes.Library.LibraryAbstract\n    implements _ZoteroTypes.Group.GroupParams\n  {\n    _childObjectTypes: [\"item\", \"collection\", \"search\"];\n    fixedLibraries: [\"user\"];\n    libraryType: \"user\" | \"group\" | \"feed\";\n    groupID?: number;\n    description?: string;\n    version?: number;\n    /**\n     * Group constructor.\n     *\n     * @param params - Initial parameters for the group, such as name, description, etc.\n     *                 `params.libraryType` will be forced to 'group'.\n     */\n    constructor(params?: _ZoteroTypes.Group.GroupParams);\n\n    /**\n     * Maps database columns to object properties.\n     *\n     * Non-prototype property:\n     *\n     * @example\n     * Zotero.Group._dbColumns // ['name', 'description', 'version']\n     */\n    static readonly _dbColumns: [\"name\", \"description\", \"version\"];\n\n    /**\n     * A helper method to convert a column name into its corresponding property name.\n     *\n     * Non-prototype function:\n     */\n    static _colToProp(c: string): string;\n\n    /**\n     * A static definition for selecting columns in SQL.\n     *\n     * Non-prototype property:\n     */\n    static readonly _rowSQLSelect: string;\n\n    /**\n     * A static definition for the base SELECT SQL for groups.\n     *\n     * Non-prototype property:\n     */\n    static readonly _rowSQL: string;\n\n    /**\n     * A constant used to label the object type.\n     */\n    readonly _objectType: \"group\";\n\n    /**\n     * Extends the library types from the super class to include 'group'.\n     */\n    readonly libraryTypes: [\"user\", \"group\"];\n\n    /**\n     * Indicates whether this group allows linked files. Always false.\n     */\n    readonly allowsLinkedFiles: boolean;\n\n    /**\n     * Checks if a property name corresponds to a valid group property.\n     *\n     * @param prop - The property name\n     * @returns True if valid group property; otherwise false.\n     */\n    _isValidGroupProp(prop: string): boolean;\n\n    /**\n     * Checks if a property name is valid for this group or its superclass.\n     *\n     * @param prop - The property name\n     * @returns True if valid property; otherwise false.\n     */\n    _isValidProp(prop: string): boolean;\n\n    /*\n     * Populate group data from a database row\n     */\n    _loadDataFromRow(row: any): void;\n\n    /**\n     * Custom setter logic for internal group properties, such as version or name.\n     *\n     * @param prop - The property name (e.g. '_groupName')\n     * @param val - The new value for that property\n     * @throws Error on invalid values or disallowed decreases for version\n     */\n    _set(prop: string, val: any): any;\n\n    /**\n     * Reloads group data from the database.\n     */\n    _reloadFromDB(): Promise<void>;\n\n    /**\n     * Initializes a save operation. Checks required fields.\n     *\n     * @param env - Internal environment for the save operation\n     * @returns true if valid for saving, otherwise throws an error\n     */\n    _initSave(env: any): Promise<boolean>;\n\n    /**\n     * Saves changes to the group into the database.\n     *\n     * @param env - Internal environment for the save operation\n     */\n    _saveData(env: any): Promise<void>;\n\n    /**\n     * Finalizes the save operation, e.g., registering new groups in Zotero.Groups.\n     *\n     * @param env - Internal environment for the save operation\n     */\n    _finalizeSave(env: any): Promise<void>;\n\n    /**\n     * Finalizes erasing/deleting the group, including unregistering from Zotero.Groups\n     * and queueing a delete notification.\n     *\n     * @param env - Internal environment for the erase operation\n     */\n    _finalizeErase(env: any): Promise<void>;\n\n    /**\n     * Converts the group to a JSON object suitable for responses.\n     *\n     * @param options - Options object.\n     *                  If `options.includeGroupDetails` is true, returns more detail\n     */\n    toResponseJSON(options?: any): any;\n\n    /**\n     * An async variation of `toResponseJSON`. When `options.includeGroupDetails` is set,\n     * adds a `meta.numItems` value by querying the database.\n     *\n     * @param options - Options object\n     * @returns A Promise that resolves to the response JSON\n     */\n    toResponseJSONAsync(options?: any): Promise<any>;\n\n    /**\n     * Updates this group from a JSON object, potentially including user-based editing checks.\n     *\n     * @param json - The JSON object containing updated fields like name or description\n     * @param userID - The user attempting to update the group\n     */\n    fromJSON(json: any, userID?: number): void;\n\n    /**\n     * Preps a field for change, marking it as changed and optionally storing previous data.\n     *\n     * @param field - The internal field name to mark as changed\n     */\n    _prepFieldChange(field: string): void;\n  }\n}\n\ndeclare namespace Zotero {\n  /**\n   * Contains logic for working with Zotero groups: registration, retrieval,\n   * cache management, and permissions.\n   */\n  namespace Groups {\n    /**\n     * The URL where a user may add new groups\n     */\n    const addGroupURL: string;\n\n    /**\n     * Registers a new group in the Zotero.Groups cache.\n     *\n     * @param group - The group object to register\n     * @throws Error if cache is not initialized\n     */\n    function register(group: Group): void;\n\n    /**\n     * Unregisters a group by its ID from the Zotero.Groups cache.\n     *\n     * @param groupID - The group ID\n     * @throws Error if cache is not initialized\n     */\n    function unregister(groupID: number): void;\n\n    /**\n     * Initializes the Zotero.Groups cache. This is called from Zotero.Libraries.\n     * Returns a Promise that resolves once initialization is complete.\n     */\n    function init(): Promise<void>;\n\n    /**\n     * @param id - Group id\n     * @return {Zotero.Group} The group associated with the given ID\n     */\n    function get(id: number): Group;\n\n    /**\n     * Get all groups, sorted by name.\n     *\n     * @return {Zotero.Group[]} An array of all groups\n     * @throws Error if cache is not initialized\n     */\n    function getAll(): Group[];\n\n    /**\n     * Gets a group by its library ID.\n     *\n     * @param libraryID - The library ID of the group\n     * @return {Zotero.Group} The group object\n     */\n    function getByLibraryID(libraryID: number): Group;\n\n    /**\n     * Determines if a group exists in the cache.\n     *\n     * @param groupID - The group ID to check\n     * @returns true if the group is registered; otherwise false\n     * @throws Error if cache is not initialized\n     */\n    function exists(groupID: number): boolean;\n\n    /**\n     * Returns the group ID for the given library ID.\n     *\n     * @param libraryID - The library ID of the group\n     * @returns The group ID\n     * @throws Error if the group does not exist or cache is not initialized\n     */\n    function getGroupIDFromLibraryID(libraryID: number): number;\n\n    /**\n     * Returns the library ID for the given group ID.\n     *\n     * @param groupID - The group ID\n     * @returns The library ID or false if the group isn't found\n     * @throws Error if cache is not initialized\n     */\n    function getLibraryIDFromGroupID(groupID: number): number | false;\n\n    /**\n     * Calculates the permissions for a given group JSON and user.\n     *\n     * @param json - The JSON containing group data\n     * @param userID - The userID to check permissions for\n     * @returns An object indicating whether the user can edit the library and files\n     * @throws Error if JSON is invalid or userID not provided\n     */\n    function getPermissionsFromJSON(\n      json: _ZoteroTypes.Groups.GroupJSON,\n      userID: number,\n    ): { editable: boolean; filesEditable: boolean };\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Groups {\n    /**\n     * The JSON structure that contains group information for permissions.\n     */\n    interface GroupJSON {\n      /**\n       * The userID of the group's owner\n       */\n      owner: number;\n\n      /**\n       * Array of userIDs that are admins of this group\n       */\n      admins?: number[];\n\n      /**\n       * Array of userIDs that are members of this group\n       */\n      members?: number[];\n\n      /**\n       * Library editing setting (e.g., 'members', 'none')\n       */\n      libraryEditing?: string;\n\n      /**\n       * File editing setting (e.g., 'members', 'none')\n       */\n      fileEditing?: string;\n    }\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  /*\n   * Constructor for Item object\n   */\n  namespace Item {\n    type DataType =\n      | \"primaryData\"\n      | \"creators\"\n      | \"itemData\"\n      | \"note\"\n      | \"annotation\"\n      | \"annotationDeferred\"\n      | \"childItems\"\n      | \"tags\"\n      | \"collections\"\n      | \"relations\";\n    type ItemType =\n      | \"attachment-file\"\n      | \"document\"\n      | \"attachment-link\"\n      | \"attachment-pdf\"\n      | \"attachment-pdf-link\"\n      | \"attachment-snapshot\"\n      | \"attachment-web-link\"\n      | \"artwork\"\n      | \"audioRecording\"\n      | \"bill\"\n      | \"blogPost\"\n      | \"book\"\n      | \"bookSection\"\n      | \"case\"\n      | \"computerProgram\"\n      | \"conferencePaper\"\n      | \"dictionaryEntry\"\n      | \"email\"\n      | \"encyclopediaArticle\"\n      | \"film\"\n      | \"forumPost\"\n      | \"hearing\"\n      | \"instantMessage\"\n      | \"interview\"\n      | \"journalArticle\"\n      | \"letter\"\n      | \"magazineArticle\"\n      | \"manuscript\"\n      | \"newspaperArticle\"\n      | \"note\"\n      | \"patent\"\n      | \"preprint\"\n      | \"presentation\"\n      | \"report\"\n      | \"statute\"\n      | \"thesis\"\n      | \"webpage\"\n      | \"map\"\n      | \"podcast\"\n      | \"radioBroadcast\"\n      | \"tvBroadcast\"\n      | \"videoRecording\";\n    type PrimaryField =\n      | \"itemID\"\n      | \"itemTypeID\"\n      | \"dateAdded\"\n      | \"dateModified\"\n      | \"libraryID\"\n      | \"key\"\n      | \"version\"\n      | \"synced\"\n      | \"createdByUserID\"\n      | \"lastModifiedByUserID\"\n      | \"firstCreator\"\n      | \"sortCreator\"\n      | \"deleted\"\n      | \"inPublications\"\n      | \"parentID\"\n      | \"parentKey\"\n      | \"attachmentCharset\"\n      | \"attachmentLinkMode\"\n      | \"attachmentContentType\"\n      | \"attachmentPath\"\n      | \"attachmentSyncState\"\n      | \"attachmentSyncedModificationTime\"\n      | \"attachmentSyncedHash\"\n      | \"attachmentLastProcessedModificationTime\"\n      | \"feedItemGUID\"\n      | \"feedItemReadTime\"\n      | \"feedItemTranslatedTime\";\n    type ItemField =\n      | \"title\"\n      | \"firstCreator\"\n      | \"abstractNote\"\n      | \"artworkMedium\"\n      | \"medium\"\n      | \"artworkSize\"\n      | \"date\"\n      | \"language\"\n      | \"shortTitle\"\n      | \"archive\"\n      | \"archiveLocation\"\n      | \"libraryCatalog\"\n      | \"callNumber\"\n      | \"url\"\n      | \"accessDate\"\n      | \"rights\"\n      | \"extra\"\n      | \"audioRecordingFormat\"\n      | \"seriesTitle\"\n      | \"volume\"\n      | \"numberOfVolumes\"\n      | \"place\"\n      | \"label\"\n      | \"publisher\"\n      | \"runningTime\"\n      | \"ISBN\"\n      | \"billNumber\"\n      | \"number\"\n      | \"code\"\n      | \"codeVolume\"\n      | \"section\"\n      | \"codePages\"\n      | \"pages\"\n      | \"legislativeBody\"\n      | \"session\"\n      | \"history\"\n      | \"blogTitle\"\n      | \"publicationTitle\"\n      | \"websiteType\"\n      | \"type\"\n      | \"series\"\n      | \"seriesNumber\"\n      | \"edition\"\n      | \"numPages\"\n      | \"bookTitle\"\n      | \"caseName\"\n      | \"court\"\n      | \"dateDecided\"\n      | \"docketNumber\"\n      | \"reporter\"\n      | \"reporterVolume\"\n      | \"firstPage\"\n      | \"versionNumber\"\n      | \"system\"\n      | \"company\"\n      | \"programmingLanguage\"\n      | \"proceedingsTitle\"\n      | \"conferenceName\"\n      | \"DOI\"\n      | \"dictionaryTitle\"\n      | \"subject\"\n      | \"encyclopediaTitle\"\n      | \"distributor\"\n      | \"genre\"\n      | \"videoRecordingFormat\"\n      | \"forumTitle\"\n      | \"postType\"\n      | \"committee\"\n      | \"documentNumber\"\n      | \"interviewMedium\"\n      | \"issue\"\n      | \"seriesText\"\n      | \"journalAbbreviation\"\n      | \"ISSN\"\n      | \"letterType\"\n      | \"manuscriptType\"\n      | \"mapType\"\n      | \"scale\"\n      | \"country\"\n      | \"assignee\"\n      | \"issuingAuthority\"\n      | \"patentNumber\"\n      | \"filingDate\"\n      | \"applicationNumber\"\n      | \"priorityNumbers\"\n      | \"issueDate\"\n      | \"references\"\n      | \"legalStatus\"\n      | \"episodeNumber\"\n      | \"audioFileType\"\n      | \"repository\"\n      | \"archiveID\"\n      | \"citationKey\"\n      | \"presentationType\"\n      | \"meetingName\"\n      | \"programTitle\"\n      | \"network\"\n      | \"reportNumber\"\n      | \"reportType\"\n      | \"institution\"\n      | \"nameOfAct\"\n      | \"codeNumber\"\n      | \"publicLawNumber\"\n      | \"dateEnacted\"\n      | \"thesisType\"\n      | \"university\"\n      | \"studio\"\n      | \"websiteTitle\";\n\n    // [...new Set(Object.values(Zotero.ItemTypes._types).map(t => `${t.id}: \"${t.name}\"`))].join(';\\n')\n    type ItemTypeMapping = {\n      1: \"annotation\";\n      2: \"artwork\";\n      3: \"attachment\";\n      4: \"audioRecording\";\n      5: \"bill\";\n      6: \"blogPost\";\n      7: \"book\";\n      8: \"bookSection\";\n      9: \"case\";\n      10: \"computerProgram\";\n      11: \"conferencePaper\";\n      12: \"dictionaryEntry\";\n      13: \"document\";\n      14: \"email\";\n      15: \"encyclopediaArticle\";\n      16: \"film\";\n      17: \"forumPost\";\n      18: \"hearing\";\n      19: \"instantMessage\";\n      20: \"interview\";\n      21: \"journalArticle\";\n      22: \"letter\";\n      23: \"magazineArticle\";\n      24: \"manuscript\";\n      25: \"map\";\n      26: \"newspaperArticle\";\n      27: \"note\";\n      28: \"patent\";\n      29: \"podcast\";\n      30: \"preprint\";\n      31: \"presentation\";\n      32: \"radioBroadcast\";\n      33: \"report\";\n      34: \"statute\";\n      35: \"thesis\";\n      36: \"tvBroadcast\";\n      37: \"videoRecording\";\n      38: \"webpage\";\n      39: \"dataset\";\n      40: \"standard\";\n    };\n\n    type CreatorTypeMapping = {\n      1: \"artist\";\n      2: \"contributor\";\n      3: \"performer\";\n      4: \"composer\";\n      5: \"wordsBy\";\n      6: \"sponsor\";\n      7: \"cosponsor\";\n      8: \"author\";\n      9: \"commenter\";\n      10: \"editor\";\n      11: \"translator\";\n      12: \"seriesEditor\";\n      13: \"bookAuthor\";\n      14: \"counsel\";\n      15: \"programmer\";\n      16: \"reviewedAuthor\";\n      17: \"recipient\";\n      18: \"director\";\n      19: \"scriptwriter\";\n      20: \"producer\";\n      21: \"interviewee\";\n      22: \"interviewer\";\n      23: \"cartographer\";\n      24: \"inventor\";\n      25: \"attorneyAgent\";\n      26: \"podcaster\";\n      27: \"guest\";\n      28: \"presenter\";\n      29: \"castMember\";\n    };\n\n    type CreatorTypeID = keyof CreatorTypeMapping;\n    type CreatorType = CreatorTypeMapping[keyof CreatorTypeMapping];\n\n    /**\n     * Creator json for API\n     * When Creator.fieldMode == 1, CreatorJSON.name == string,\n     * else CreatosJSON.firstName and Creator.lastName == string\n     */\n    interface CreatorJSON {\n      creatorType: CreatorTypeMapping[keyof CreatorTypeMapping];\n      firstName?: string;\n      name?: string;\n      lastName?: string;\n    }\n    interface Creator {\n      creatorTypeID: keyof CreatorTypeMapping;\n      fieldMode: 0 | 1;\n      firstName: string;\n      lastName: string;\n    }\n  }\n}\n\ndeclare namespace Zotero {\n  class Item extends Zotero.DataObject {\n    static prototype: Zotero.Item;\n    constructor(\n      itemTypeOrID?:\n        | keyof _ZoteroTypes.Item.ItemTypeMapping\n        | _ZoteroTypes.Item.ItemTypeMapping[keyof _ZoteroTypes.Item.ItemTypeMapping],\n    );\n    _objectType: \"item\";\n    readonly ContainerObjectsClass: Zotero.Collection;\n    id: number;\n    key: string;\n    libraryID: number;\n    dateAdded: string;\n    dateModified: string;\n    version: number;\n    synced: boolean;\n    inPublications: boolean;\n    createdByUserID?: number;\n    lastModifiedByUserID?: number;\n    readonly itemTypeID: number;\n    readonly itemType: _ZoteroTypes.Item.ItemType;\n    parentItemID?: number | false;\n    parentItemKey?: string | false;\n    readonly parentItem?: Zotero.Item;\n    readonly topLevelItem: Zotero.Item;\n    readonly firstCreator: string;\n    readonly sortCreator: string;\n    readonly relatedItems: string[];\n    readonly treeViewID: number;\n    readonly note: string;\n    isFeedItem: boolean;\n\n    loadAllData(reload?: boolean): Promise<void>;\n\n    isRegularItem(): boolean;\n    isTopLevelItem(): boolean;\n\n    ////////////////////////////////////////////////////////\n    //\n    //\n    // Attachment methods\n    //\n    // save() is not required for attachment functions\n    //\n    //\n    ///////////////////////////////////////////////////////\n\n    /**\n     * Determine if an item is an attachment\n     **/\n    isAttachment(): boolean;\n\n    /**\n     * Determine if an item is an annotation\n     *\n     * @return {Boolean}\n     **/\n    isAnnotation(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a snapshot\n     */\n    isSnapshotAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a stored or linked PDF attachment\n     */\n    isPDFAttachment(): boolean;\n\n    isEmbeddedImageAttachment(): boolean;\n    isImportedAttachment(): boolean;\n    isStoredFileAttachment(): boolean;\n    isWebAttachment(): boolean;\n    isFileAttachment(): boolean;\n    isLinkedFileAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a stored or linked EPUB attachment\n     */\n    isEPUBAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a stored or linked image attachment\n     */\n    isImageAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a stored or linked video attachment\n     */\n    isVideoAttachment(): boolean;\n\n    /**\n     * Returns number of child attachments of item\n     *\n     * @param\t{Boolean}\tincludeTrashed\t\tInclude trashed child items in count\n     * @return\t<Integer>\n     */\n    numAttachments(includeTrashed?: boolean): number;\n\n    /**\n     * Returns the number of file attachments of an item\n     *\n     * @return <Integer>\n     */\n    numFileAttachments(): number;\n\n    addTag(name: string, type: number): boolean;\n    removeTag(tag: string): boolean;\n    // Only regular item\n    addToCollection(id: number): void;\n    getCollections(): number[];\n    numChildren(includeTrashed?: boolean): number;\n    numNonHTMLFileAttachments(): number;\n    numPDFAttachments(): number;\n    numAnnotations(includeTrashed?: boolean): number;\n\n    /**\n     * Returns number of child attachments of item\n     *\n     * @param\t{Boolean}\tincludeTrashed\t\tInclude trashed child items in count\n     * @return\t<Integer>\n     */\n    numAttachments(includeTrashed?: boolean): number;\n\n    isFieldOfBase(\n      field: _ZoteroTypes.Item.ItemField | number,\n      baseField: _ZoteroTypes.Item.ItemField | number,\n    ): boolean;\n\n    /**\n     * Retrieves an itemData field value\n     *\n     * @param {String|Integer} field fieldID or fieldName\n     * @param {Boolean} [unformatted] Skip any special processing of DB value\n     *   (e.g. multipart date field)\n     * @param {Boolean} includeBaseMapped If true and field is a base field, returns\n     *   value of type-specific field instead\n     *   (e.g. 'label' for 'publisher' in 'audioRecording')\n     * @return {String} Value as string or empty string if value is not present\n     */\n    getField(\n      field: _ZoteroTypes.Item.ItemField | number,\n      unformatted?: boolean,\n      includeBaseMapped?: boolean,\n    ): string;\n    getField(\n      field: string,\n      unformatted?: boolean,\n      includeBaseMapped?: boolean,\n    ): string;\n\n    getExtraField(fieldName: string): string;\n\n    /**\n     * @param\t{Boolean} asNames\n     * @return\t{Integer[]|String[]}\n     */\n    getUsedFields(asNames?: false): number[];\n    getUsedFields(asNames: true): string[];\n\n    /*\n     * Populate basic item data from a database row\n     */\n    loadFromRow(\n      row: { [col in _ZoteroTypes.Item.PrimaryField]?: unknown },\n      reload?: boolean,\n    ): void;\n\n    /*\n     * Set or change the item's type\n     */\n    setType(itemTypeID: number, loadIn?: boolean): boolean;\n\n    /*\n     * Find existing fields from current type that aren't in another\n     *\n     * If _allowBaseConversion_, don't return fields that can be converted\n     * via base fields (e.g. label => publisher => studio)\n     */\n    getFieldsNotInType(\n      itemTypeID: number,\n      allowBaseConversion?: boolean,\n    ): number[];\n\n    /*\n     * Set a field value, loading existing itemData first if necessary\n     *\n     * Field can be passed as fieldID or fieldName\n     */\n    setField(\n      field: _ZoteroTypes.Item.ItemField | number,\n      value: string | number | boolean,\n      loadIn?: boolean,\n    ): void;\n    setField(\n      field: string,\n      value: string | number | boolean,\n      loadIn?: boolean,\n    ): void;\n\n    /*\n     * Get the title for an item for display in the interface\n     *\n     * This is the same as the standard title field (with includeBaseMapped on)\n     * except for letters and interviews, which get placeholder titles in\n     * square braces (e.g. \"[Letter to Thoreau]\"), and cases\n     */\n    getDisplayTitle(): string;\n\n    /**\n     * Update the generated display title from the loaded data\n     */\n    updateDisplayTitle(): void;\n\n    /*\n     * Returns the number of creators for this item\n     */\n    numCreators(): number;\n\n    hasCreatorAt(pos: number): boolean;\n\n    /**\n     * @param  {Integer} pos\n     * @return {Object|Boolean} The internal creator data object at the given position, or FALSE if none\n     */\n    getCreator(pos: number): _ZoteroTypes.Item.Creator | false;\n\n    /**\n     * @param  {Integer} pos\n     * @return {Object|Boolean} The API JSON creator data at the given position, or FALSE if none\n     */\n    getCreatorJSON(pos: number): _ZoteroTypes.Item.CreatorJSON;\n\n    /**\n     * Returns creator data in internal format\n     *\n     * @return {Array<Object>}  An array of internal creator data objects\n     *                          ('firstName', 'lastName', 'fieldMode', 'creatorTypeID')\n     */\n    getCreators(): _ZoteroTypes.Item.Creator[];\n\n    /**\n     * @return {Array<Object>} An array of creator data objects in API JSON format\n     *                         ('firstName'/'lastName' or 'name', 'creatorType')\n     */\n    getCreatorsJSON(): _ZoteroTypes.Item.CreatorJSON[];\n\n    /**\n     * Set or update the creator at the specified position\n     *\n     * @param {Integer} orderIndex\n     * @param {Object} Creator data in internal or API JSON format:\n     *                   <ul>\n     *                     <li>'name' or 'firstName'/'lastName', or 'firstName'/'lastName'/'fieldMode'</li>\n     *                     <li>'creatorType' (can be name or id) or 'creatorTypeID'</li>\n     *                   </ul>\n     * @param {Object} [options]\n     * @param {Boolean} [options.strict] - Throw on invalid creator type\n     */\n    setCreator(\n      orderIndex: number,\n      data: _ZoteroTypes.Item.CreatorJSON | _ZoteroTypes.Item.Creator,\n      options?: { strict: boolean },\n    ): boolean;\n\n    /**\n     * @param {Object[]} data - An array of creator data in internal or API JSON format\n     */\n    setCreators(\n      data: Array<_ZoteroTypes.Item.CreatorJSON | _ZoteroTypes.Item.Creator>,\n      options?: { strict: boolean },\n    ): void;\n\n    /*\n     * Remove a creator and shift others down\n     */\n    removeCreator(orderIndex: number, allowMissing?: boolean): never | true;\n\n    /**\n     * Relate this item to another. A separate save is required.\n     *\n     * @param {Zotero.Item} item\n     * @return {Boolean}\n     */\n    addRelatedItem(item: Zotero.Item): boolean;\n\n    removeRelatedItem(item: Zotero.Item): Promise<boolean>;\n\n    /**\n     * @param {String} [op='edit'] - Operation to check; if not provided, check edit privileges for\n     *     library\n     */\n    isEditable(op?: \"edit\" | \"erase\"): boolean;\n\n    /**\n     * Returns child attachments of this item\n     *\n     * @param\t{Boolean}\tincludeTrashed\t\tInclude trashed child items\n     * @return\t{Integer[]}\t\t\t\t\t\tArray of itemIDs\n     */\n    getAttachments(includeTrashed?: boolean): number[];\n\n    /**\n     * Looks for attachment in the following order: oldest PDF attachment matching parent URL,\n     * oldest non-PDF attachment matching parent URL, oldest PDF attachment not matching URL,\n     * old non-PDF attachment not matching URL\n     *\n     * @return {Promise<Zotero.Item|FALSE>} - A promise for attachment item or FALSE if none\n     */\n    getBestAttachment(): Promise<Zotero.Item | false>;\n\n    /**\n     * Looks for attachment in the following order: oldest PDF attachment matching parent URL,\n     * oldest PDF attachment not matching parent URL, oldest non-PDF attachment matching parent URL,\n     * old non-PDF attachment not matching parent URL\n     *\n     * @return {Promise<Zotero.Item[]>} - A promise for an array of Zotero items\n     */\n    getBestAttachments(): Promise<Zotero.Item[]>;\n\n    /**\n     * Return state of best attachment (or this item if it's a standalone attachment)\n     *\n     * @return {Promise<Object>} - Promise for object with string 'type' ('none'|'pdf'|'snapshot'|'other')\n     *     and boolean 'exists'\n     */\n    getBestAttachmentState(): Promise<{\n      type: \"none\" | \"pdf\" | \"snapshot\" | \"other\";\n      exists: boolean;\n    }>;\n\n    /**\n     * Return cached state of best attachment for use in items view\n     *\n     * @return {Object|null} - Resolved value from getBestAttachmentState() or { type: null } if\n     *     unavailable\n     */\n    getBestAttachmentStateCached():\n      | { type: \"none\" | \"pdf\" | \"snapshot\" | \"other\"; exists: boolean }\n      | { type: null };\n\n    clearBestAttachmentState(): void;\n\n    // Only image annotation & attachment item\n    isImportedAttachment(): boolean;\n    isStoredFileAttachment(): boolean;\n    isWebAttachment(): boolean;\n    isFileAttachment(): boolean;\n    isLinkedFileAttachment(): boolean;\n    isEmbeddedImageAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a snapshot\n     */\n    isSnapshotAttachment(): boolean;\n\n    /**\n     * @return {Boolean} - Returns true if item is a stored or linked PDF attachment\n     */\n    isPDFAttachment(): boolean;\n\n    /**\n     * Get the absolute file path for the attachment\n     *\n     * @return {string|false} - The absolute file path of the attachment, or false for invalid paths\n     */\n    getFilePath(): string | false;\n\n    /**\n     * Get the absolute path for the attachment, if the file exists\n     *\n     * @return {Promise<String|false>} - A promise for either the absolute path of the attachment\n     *                                   or false for invalid paths or if the file doesn't exist\n     */\n    getFilePathAsync(): Promise<string | false>;\n\n    /**\n     * Update file existence state of this item and best attachment state of parent item\n     */\n    _updateAttachmentStates(exists: boolean): void;\n\n    /**\n     * Asynchronous check for file existence\n     */\n    fileExists(): Promise<boolean>;\n\n    /**\n     * Rename file associated with an attachment\n     *\n     * @param {String} newName\n     * @param {Boolean} [overwrite=false] - Overwrite file if one exists\n     * @param {Boolean} [unique=false] - Add suffix to create unique filename if necessary\n     * @return {Number|false} -- true - Rename successful\n     *                           -1 - Destination file exists; use _force_ to overwrite\n     *                           -2 - Error renaming\n     *                           false - Attachment file not found\n     */\n    renameAttachmentFile(\n      newName: string,\n      overwrite?: boolean,\n      unique?: boolean,\n    ): Promise<boolean | -1 | -2>;\n\n    /**\n     * @param {string} path  File path\n     * @param {Boolean} [skipItemUpdate] Don't update attachment item mod time, so that item doesn't\n     *     sync. Used when a file needs to be renamed to be accessible but the user doesn't have\n     *     access to modify the attachment metadata. This also allows a save when the library is\n     *     read-only.\n     */\n    relinkAttachmentFile(\n      path: string,\n      skipItemUpdate?: boolean,\n    ): Promise<boolean>;\n\n    deleteAttachmentFile(): Promise<boolean>;\n\n    /*\n     * Return a file:/// URL path to files and snapshots\n     */\n    getLocalFileURL(): string;\n\n    readonly attachmentReaderType: keyof _ZoteroTypes.Reader.ViewTypeMap;\n\n    /**\n     * Link mode of an attachment\n     *\n     * Possible values specified as constants in Zotero.Attachments\n     * (e.g. Zotero.Attachments.LINK_MODE_LINKED_FILE)\n     */\n    attachmentLinkMode: _ZoteroTypes.Attachments.LinkMode;\n\n    /**\n     * Content type of an attachment (e.g. 'text/plain')\n     */\n    attachmentContentType: string;\n\n    /**\n     * Character set of an attachment\n     */\n    attachmentCharset: string;\n\n    /**\n     * Get or set the filename of file attachments\n     *\n     * This will return the filename for all file attachments, but the filename can only be set\n     * for stored file attachments. Linked file attachments should be set using .attachmentPath.\n     */\n    attachmentFilename: string;\n\n    /**\n     * Returns raw attachment path string as stored in DB\n     * (e.g., \"storage:foo.pdf\", \"attachments:foo/bar.pdf\", \"/Users/foo/Desktop/bar.pdf\")\n     *\n     * Can be set as absolute path or prefixed string (\"storage:foo.pdf\")\n     */\n    attachmentPath: string;\n\n    attachmentSyncState:\n      | number\n      | (\n          | \"to_upload\"\n          | \"to_download\"\n          | \"in_sync\"\n          | \"force_upload\"\n          | \"force_download\"\n          | \"in_conflict\"\n        );\n    attachmentSyncedModificationTime: number;\n    attachmentSyncedHash: string;\n    attachmentLastProcessedModificationTime: number;\n    getAttachmentLastPageIndex(): number;\n    setAttachmentLastPageIndex(val: number): Promise<boolean>;\n\n    /**\n     * Get the key for the item's pageIndex synced setting\n     *\n     * E.g., 'lastPageIndex_u_ABCD2345' or 'lastPageIndex_g123_ABCD2345'\n     */\n    _getLastPageIndexSettingKey(ignoreInvalid?: boolean): string;\n\n    /**\n     * Modification time of an attachment file\n     *\n     * Note: This is the mod time of the file itself, not the last-known mod time\n     * of the file on the storage server as stored in the database\n     *\n     * @return {Promise<Number|undefined>} File modification time as timestamp in milliseconds,\n     *                                     or undefined if no file\n     */\n    readonly attachmentModificationTime: Promise<number | undefined>;\n\n    /**\n     * MD5 hash of an attachment file\n     *\n     * Note: This is the hash of the file itself, not the last-known hash\n     * of the file on the storage server as stored in the database\n     *\n     * @return {Promise<String>} - MD5 hash of file as hex string\n     */\n    readonly attachmentHash: Promise<string>;\n\n    /**\n     * Return plain text of attachment content\n     *\n     * - Currently works on HTML, PDF and plaintext attachments\n     * - Paragraph breaks will be lost in PDF content\n     *\n     * @return {Promise<String>} - A promise for attachment text or empty string if unavailable\n     */\n    readonly attachmentText: Promise<string>;\n\n    /**\n     * Return dataURI of attachment content\n     *\n     * @return {Promise<String>} - A promise for attachment dataURI or empty string if unavailable\n     */\n    readonly attachmentDataURI: Promise<string>;\n\n    // Only notes\n    /**\n     * Set an item note\n     *\n     * Note: This can only be called on notes and attachments\n     */\n    setNote(content: string): boolean;\n\n    getNoteTitle(): string;\n\n    /**\n     * Determine if an item is a note\n     */\n    isNote(): boolean;\n\n    /**\n     * Returns number of child notes of item\n     *\n     * @param\t{Boolean}\tincludeTrashed\t\tInclude trashed child items in count\n     * @param\t{Boolean}\tincludeEmbedded\t\tInclude notes embedded in attachments\n     * @return\t{Integer}\n     */\n    numNotes(includeTrashed?: boolean, includeEmbedded?: boolean): number;\n\n    /**\n     * Get the first line of the note for display in the items list\n     *\n     * @return\t{String}\n     */\n    getNoteTitle(): string;\n\n    /**\n     * Get the text of an item note\n     **/\n    getNote(): string;\n\n    /**\n     * Returns child notes of this item\n     *\n     * @param\t{Boolean}\tincludeTrashed\t\tInclude trashed child items\n     * @param\t{Boolean}\tincludeEmbedded\t\tInclude embedded attachment notes\n     * @return\t{Integer[]}\t\t\t\t\t\tArray of itemIDs\n     */\n    getNotes(includeTrashed?: boolean): number[];\n\n    hasNote(): Promise<boolean>;\n\n    // Only Annotation\n    getAnnotations(\n      /**\n       * Include trashed items.\n       * @default true\n       */\n      includeTrashed?: boolean,\n    ): Zotero.Item[];\n\n    annotationType: _ZoteroTypes.Annotations.AnnotationType;\n    annotationAuthorName: string;\n    annotationComment: string;\n    annotationText: string;\n    annotationPosition: string;\n    annotationColor: string;\n    annotationPageLabel: string;\n    annotationSortIndex: number;\n    annotationIsExternal: boolean;\n\n    isAnnotationSupportingImage(): boolean;\n\n    /**\n     * Returns child annotations for an attachment item\n     *\n     * @param {Boolean} [includeTrashed=false] - Include annotations in trash\n     * @return {Zotero.Item[]}\n     */\n    getAnnotations(includeTrashed?: boolean): Zotero.Item[];\n\n    /**\n     * Determine if the item is a PDF attachment that exists on disk and contains\n     * embedded markup annotations.\n     *\n     * @return {Promise<Boolean>}\n     */\n    hasEmbeddedAnnotations(): Promise<boolean>;\n\n    //\n    // Methods dealing with item tags\n    //\n\n    /**\n     * Returns all tags assigned to an item\n     *\n     * @return {Array} Array of tag data in API JSON format\n     */\n    getTags(): Array<{ tag: string; type?: number }>;\n\n    /**\n     * Check if the item has a given tag\n     *\n     * @param {String} tagName\n     * @return {Boolean}\n     */\n    hasTag(tagName: string): boolean;\n\n    /**\n     * Get the assigned type for a given tag of the item\n     */\n    getTagType(tagName: string): number | null;\n\n    /**\n     * Set the item's tags\n     *\n     * A separate save() is required to update the database.\n     *\n     * @param {String[]|Object[]} tags - Array of strings or object in API JSON format\n     *                                   (e.g., [{tag: 'tag', type: 1}])\n     */\n    setTags(tags: Array<string | { tag: string; type: number }>): void;\n\n    /**\n     * Add a single tag to the item. If type is 1 and an automatic tag with the same name already\n     * exists, replace it with a manual one.\n     *\n     * A separate save() is required to update the database.\n     *\n     * @param {String} name\n     * @param {Number} [type=0]\n     * @return {Boolean} - True if the tag was added; false if the item already had the tag\n     */\n    addTag(name: string, type?: number): boolean;\n\n    /**\n     * Replace an existing tag with a new manual tag\n     *\n     * A separate save() is required to update the database.\n     *\n     * @param {String} oldTag\n     * @param {String} newTag\n     */\n    replaceTag(oldTag: string, newTag: string): boolean;\n\n    /**\n     * Remove a tag from the item\n     *\n     * A separate save() is required to update the database.\n     *\n     * @param {String} tagName\n     * @return {Boolean} - True if the tag was removed; false if the item didn't have the tag\n     */\n    removeTag(tagName: string): boolean;\n\n    /**\n     * Remove all tags from the item\n     *\n     * A separate save() is required to update the database.\n     */\n    removeAllTags(): void;\n\n    //\n    // Methods dealing with collections\n    //\n\n    /**\n     * Gets the collections the item is in\n     *\n     * @return {Array<Integer>}  An array of collectionIDs for all collections the item belongs to\n     */\n    getCollections(): number[];\n\n    /**\n     * Sets the collections the item is in\n     *\n     * A separate save() (with options.skipDateModifiedUpdate, possibly) is required to save changes.\n     *\n     * @param {Array<String|Integer>} collectionIDsOrKeys Collection ids or keys\n     */\n    setCollections(collectionIDsOrKeys: Array<string | number>): void;\n\n    /**\n     * Add this item to a collection\n     *\n     * A separate save() (with options.skipDateModifiedUpdate, possibly) is required to save changes.\n     *\n     * @param {Number} collectionID\n     */\n    addToCollection(collectionIDOrKey: number | string): void;\n\n    /**\n     * Remove this item from a collection\n     *\n     * A separate save() (with options.skipDateModifiedUpdate, possibly) is required to save changes.\n     *\n     * @param {Number} collectionID\n     */\n    removeFromCollection(collectionIDOrKey: number | string): void;\n\n    /**\n     * Determine whether the item belongs to a given collectionID\n     */\n    inCollection(collectionID: number): boolean;\n\n    /**\n     * Update item deleted (i.e., trash) state without marking as changed or modifying DB\n     *\n     * This is used by Zotero.Items.trash().\n     *\n     * Database state must be set separately!\n     *\n     * @param {Boolean} deleted\n     */\n    setDeleted(deleted?: boolean): void;\n\n    /**\n     * Update item publications state without marking as changed or modifying DB\n     *\n     * This is used by Zotero.Items.addToPublications()/removeFromPublications()\n     *\n     * Database state must be set separately!\n     *\n     * @param {Boolean} inPublications\n     */\n    setPublications(inPublications: boolean): void;\n\n    getItemTypeIconName(): _ZoteroTypes.Item.ItemType;\n    getImageSrc(): _ZoteroTypes.IconURI;\n\n    /**\n     * Return tags and colors\n     *\n     * @return {Object[]} - Array of object with 'tag' and 'color' properties\n     */\n    getColoredTags(): { tag: string; color: string };\n\n    /**\n     * Compare multiple items against this item and return fields that differ\n     *\n     * Currently compares only item data, not primary fields\n     */\n    multiDiff(\n      otherItems: Zotero.Item[],\n      ignoreFields?: string[],\n    ):\n      | false\n      | {\n          [field in _ZoteroTypes.Item.ItemField]?: Array<\n            string | _ZoteroTypes.anyObj\n          >;\n        };\n\n    /**\n     * Returns an unsaved copy of the item without itemID and key\n     *\n     * This is used to duplicate items and copy them between libraries.\n     *\n     * @param {Number} [libraryID] - libraryID of the new item, or the same as original if omitted\n     * @param {Boolean} [options.skipTags=false] - Skip tags\n     * @param {Boolean} [options.includeCollections=false] - Add new item to all collections\n     * @return {Zotero.Item}\n     */\n    clone(\n      libraryID: number,\n      options?: { skipTags?: boolean; includeCollections?: boolean },\n    ): Zotero.Item;\n\n    /**\n     * @param {Integer} libraryID\n     * @return {Zotero.Item} - New item\n     */\n    moveToLibrary(\n      libraryID: number,\n      onSkippedAttachment?: boolean,\n    ): Promise<Zotero.Item>;\n\n    isCollection(): false;\n\n    /**\n     * Populate the object's data from an API JSON data object\n     *\n     * @param {Object} json\n     * @param {Object} [options]\n     * @param {Boolean} [options.strict = false] - Throw on unknown field or invalid field for type\n     */\n    fromJSON(json: object, options?: { strict: boolean }): void;\n\n    toJSON(options?: object): {\n      [field in _ZoteroTypes.Item.ItemField]: string | unknown;\n    };\n\n    /**\n     * Migrate valid fields in Extra to real fields\n     *\n     * A separate save is required\n     */\n    migrateExtraFields(): boolean;\n\n    /**\n     * Return an item in the specified library equivalent to this item\n     *\n     * @return {Promise<Zotero.Item>}\n     */\n    getLinkedItem(\n      libraryID: number,\n      bidirectional?: boolean,\n    ): Promise<Zotero.Item | false>;\n\n    /**\n     * Add a linked-object relation pointing to the given item\n     *\n     * Does not require a separate save()\n     *\n     * @return {Promise}\n     */\n    addLinkedItem(item: Zotero.Item): Promise<boolean>;\n\n    /**\n     * Update createdByUserID/lastModifiedByUserID, efficiently\n     *\n     * Used by sync code\n     */\n    updateCreatedByUser(\n      createdByUserID: number,\n      lastModifiedByUserID: number,\n    ): Promise<void>;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  /*\n   * Primary interface for accessing Zotero items\n   */\n  interface Items extends DataObjects<Zotero.Item> {\n    [attr: string]: any;\n    _ZDO_object: \"item\";\n    _objectCache: { [i: number]: Zotero.Item };\n    ObjectClass: Zotero.Item;\n\n    /**\n     * This needs to wait until all Zotero components are loaded to initialize,\n     * but otherwise it can be just a simple property\n     */\n    _primaryDataSQLParts: {\n      itemID: \"O.itemID\";\n      itemTypeID: \"O.itemTypeID\";\n      dateAdded: \"O.dateAdded\";\n      dateModified: \"O.dateModified\";\n      libraryID: \"O.libraryID\";\n      key: \"O.key\";\n      version: \"O.version\";\n      synced: \"O.synced\";\n\n      createdByUserID: \"createdByUserID\";\n      lastModifiedByUserID: \"lastModifiedByUserID\";\n\n      firstCreator: string;\n      sortCreator: string;\n\n      deleted: \"DI.itemID IS NOT NULL AS deleted\";\n      inPublications: \"PI.itemID IS NOT NULL AS inPublications\";\n\n      parentID: string;\n\n      attachmentCharset: \"CS.charset AS attachmentCharset\";\n      attachmentLinkMode: \"IA.linkMode AS attachmentLinkMode\";\n      attachmentContentType: \"IA.contentType AS attachmentContentType\";\n      attachmentPath: \"IA.path AS attachmentPath\";\n      attachmentSyncState: \"IA.syncState AS attachmentSyncState\";\n      attachmentSyncedModificationTime: \"IA.storageModTime AS attachmentSyncedModificationTime\";\n      attachmentSyncedHash: \"IA.storageHash AS attachmentSyncedHash\";\n      attachmentLastProcessedModificationTime: \"IA.lastProcessedModificationTime AS attachmentLastProcessedModificationTime\";\n    };\n\n    _relationsTable: \"itemRelations\";\n\n    /**\n     * @param {Integer} libraryID\n     * @return {Promise<Boolean>} - True if library has items in trash, false otherwise\n     */\n    hasDeleted(libraryID: number): Promise<boolean>;\n\n    get(ids: number | string): Zotero.Item;\n    get(ids: number[] | string[]): Zotero.Item[];\n\n    getAsync(ids: number | string): Promise<Zotero.Item>;\n    getAsync(ids: number[] | string[]): Promise<Zotero.Item[]>;\n\n    /**\n     * Returns all items in a given library\n     *\n     * @param  {Integer}  libraryID\n     * @param  {Boolean}  [onlyTopLevel=false]   If true, don't include child items\n     * @param  {Boolean}  [includeDeleted=false] If true, include deleted items\n     * @param  {Boolean}  [asIDs=false] \t\t If true, resolves only with IDs\n     * @return {Promise<Array<Zotero.Item|Integer>>}\n     */\n    getAll(\n      libraryID: number,\n      onlyTopLevel?: boolean,\n      includeDeleted?: boolean,\n      asIDs?: false,\n    ): Promise<Zotero.Item[]>;\n    getAll(\n      libraryID: number,\n      onlyTopLevel: boolean,\n      includeDeleted: boolean,\n      asIDs: true,\n    ): Promise<number[]>;\n\n    /**\n     * Zotero.Utilities.Internal.getAsyncInputStream-compatible generator that yields item data\n     * in web API format as strings\n     *\n     * @param {Object} params - Request parameters from Zotero.API.parsePath()\n     */\n    apiDataGenerator(params: object): Promise<string>;\n\n    /**\n     * Copy child items from one item to another (e.g., in another library)\n     *\n     * Requires a transaction\n     */\n    copyChildItems(fromItem: Zotero.Item, toItem: Zotero.Item): Promise<void>;\n\n    /**\n     * Move child items from one item to another\n     *\n     * Requires a transaction\n     *\n     * @param {Zotero.Item} fromItem\n     * @param {Zotero.Item} toItem\n     * @param {Boolean} [includeTrashed=false]\n     * @return {Promise}\n     */\n    moveChildItems(\n      fromItem: Zotero.Item,\n      toItem: Zotero.Item,\n      includeTrashed?: boolean,\n    ): Promise<void>;\n\n    merge(item: Zotero.Item, otherItems: Zotero.Item[]): Promise<any>;\n\n    /**\n     * Hash each attachment of the provided item. Return a map from hashes to\n     * attachment IDs.\n     *\n     * @param {Zotero.Item} item\n     * @param {String} hashType 'bytes' or 'text'\n     * @return {Promise<Map<String, String>>}\n     */\n    _hashItem(\n      item: Zotero.Item,\n      hashType: \"bytes\" | \"text\",\n    ): Promise<Map<string, string>>;\n\n    /**\n     * Hash an attachment by the most common words in its text.\n     * @param {Zotero.Item} attachment\n     * @return {Promise<String>}\n     */\n    _hashAttachmentText(attachment: Zotero.Item): Promise<string>;\n\n    /**\n     * Get the n most common words in s in descending order of frequency.\n     * If s contains fewer than n unique words, the size of the returned array\n     * will be less than n.\n     *\n     * @param {String} s\n     * @param {Number} n\n     * @return {String[]}\n     */\n    _getMostCommonWords(s: string, n: number): string[];\n\n    /**\n     * Move fromItem's embedded note, if it has one, to toItem.\n     * If toItem already has an embedded note, the note will be added as a new\n     * child note item on toItem's parent.\n     * Requires a transaction.\n     */\n    _moveEmbeddedNote(\n      fromItem: Zotero.Item,\n      toItem: Zotero.Item,\n    ): Promise<void>;\n\n    /**\n     * Move fromItem's relations to toItem as part of a merge.\n     * Requires a transaction.\n     *\n     * @param {Zotero.Item} fromItem\n     * @param {Zotero.Item} toItem\n     * @return {Promise}\n     */\n    _moveRelations(fromItem: Zotero.Item, toItem: Zotero.Item): Promise<void>;\n\n    trash(ids: number | number[]): Promise<void>;\n    trashTx(ids: number | number[]): Promise<void>;\n\n    /**\n     * @param {Integer} libraryID - Library to delete from\n     * @param {Object} [options]\n     * @param {Function} [options.onProgress] - fn(progress, progressMax)\n     * @param {Integer} [options.days] - Only delete items deleted more than this many days ago\n     * @param {Integer} [options.limit] - Number of items to delete\n     * @returns deleted items count\n     */\n    emptyTrash(\n      libraryID: number,\n      options?: {\n        onProgress?: (progress: number, progressMax: number) => void;\n        days?: number;\n        limit?: number;\n      },\n    ): Promise<number>;\n\n    addToPublications(items: Zotero.Item[], options?: object): Promise<void>;\n    removeFromPublications(items: Zotero.Item[]): Promise<void>;\n    purge(): Promise<void>; // Purge unused data values\n\n    /**\n     * Return a firstCreator string from internal creators data (from Zotero.Item::getCreators()).\n     *\n     * Used in Zotero.Item::getField() for unsaved items\n     *\n     * @param {Integer} itemTypeID\n     * @param {Object} creatorsData\n     * @return {String}\n     */\n    getFirstCreatorFromData(\n      itemTypeID: number,\n      creatorsData: _ZoteroTypes.Item.Creator[],\n    ): string;\n\n    /**\n     * Get the top-level items of all passed items\n     *\n     * @param {Zotero.Item[]} items\n     * @return {Zotero.Item[]}\n     */\n    getTopLevel(items: Zotero.Item[]): Zotero.Item[];\n\n    /**\n     * Return an array of items with descendants of selected top-level items removed\n     *\n     * Non-top-level items that aren't descendents of selected items are kept.\n     *\n     * @param {Zotero.Item[]}\n     * @return {Zotero.Item[]}\n     */\n    keepTopLevel(items: Zotero.Item[]): Zotero.Item[];\n\n    getSortTitle(title: string | number): string;\n\n    /**\n     * Find attachment items whose paths begin with the passed `pathPrefix` and don't exist on disk\n     *\n     * @param {Number} libraryID\n     * @param {String} pathPrefix\n     * @return {Zotero.Item[]}\n     */\n    findMissingLinkedFiles(\n      libraryID: number,\n      pathPrefix: string,\n    ): Promise<Zotero.Item[]>;\n  }\n}\n\ndeclare namespace Zotero {\n  const Items: _ZoteroTypes.Items;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface Libraries {\n    readonly userLibraryID: number;\n    readonly userLibrary: Zotero.Library;\n    _cache?: { [i: number]: Library.LibraryLike };\n    register(library: Library.LibraryLike): void;\n    unregister(libraryID: number): void;\n    _addToCache(\n      cache: { [i: number]: Library.LibraryLike },\n      library: Library.LibraryLike,\n    ): void;\n\n    /**\n     * Loads all libraries from DB. Groups, Feeds, etc. should not maintain an\n     * independent cache.\n     */\n    init(): Promise<void>;\n\n    /**\n     * @param {Integer} libraryID\n     * @return {Boolean}\n     */\n    exists(libraryID: number): boolean;\n\n    _ensureExists(libraryID: number): void | never;\n\n    /**\n     * @return {Array<Zotero.Library | Zotero.Group | Zotero.Feed>} - All libraries\n     */\n    getAll(): Library.LibraryLike[];\n\n    /**\n     * Get an existing library\n     *\n     * @param {Integer} libraryID\n     * @return {Library.LibraryLike[] | Library.LibraryLike}\n     */\n    get(libraryID: number): Library.LibraryLike | false;\n\n    getName(libraryID: number): string;\n    getType(libraryID: number): \"group\" | \"user\" | \"feed\";\n    getLastSyncTime(libraryID: number): Date;\n    getVersion(libraryID: number): number;\n    hasTrash(libraryID: number): boolean;\n    isEditable(libraryID: number): boolean;\n    isFilesEditable(libraryID: number): boolean;\n    isGroupLibrary(libraryID: number): boolean;\n  }\n}\n\ndeclare namespace Zotero {\n  const Libraries: _ZoteroTypes.Libraries;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Library {\n    interface Params {\n      libraryType?: string;\n      editable?: boolean;\n      filesEditable?: boolean;\n      libraryVersion?: number;\n      storageVersion?: number;\n      lastSync?: Date;\n      archived?: boolean;\n    }\n\n    abstract class LibraryAbstract {\n      abstract _objectType: string;\n      abstract readonly _childObjectTypes: [\"item\", \"collection\", \"search\"];\n\n      // Immutable libraries\n      abstract readonly fixedLibraries: [\"user\"];\n\n      // Valid library types\n      abstract readonly libraryTypes: string[];\n\n      abstract libraryType: \"user\" | \"group\" | \"feed\";\n\n      // Converts DB column name to (internal) object property\n      static _colToProp(c: string): string;\n\n      static readonly _dbColumns: string[];\n\n      // Select all columns in a unique manner, so we can JOIN tables with same column names (e.g. version)\n      static readonly _rowSQLSelect: string;\n\n      // The actual select statement for above columns\n      static readonly _rowSQL: string;\n\n      static prototype: Zotero.Library;\n\n      constructor(params?: _ZoteroTypes.Library.Params);\n\n      readonly libraryID: number;\n      id: number;\n\n      /**\n       * Get the library-type-specific id for the library (e.g., userID for user library,\n       * groupID for group library)\n       *\n       * @property\n       */\n      readonly libraryTypeID: number;\n\n      readonly isGroup: boolean;\n      libraryVersion: number;\n      readonly syncable: boolean;\n      readonly lastSync: Date;\n      readonly name: string;\n      readonly treeViewID: string;\n      readonly treeViewImage: _ZoteroTypes.IconURI;\n      readonly hasTrash: boolean;\n      readonly allowsLinkedFiles: boolean;\n      editable: boolean;\n      filesEditable: boolean;\n      storageVersion: number;\n      archived: boolean;\n      storageDownloadNeeded: boolean;\n      _isValidProp(prop: string): boolean;\n      _loadDataFromRow(row: object): void;\n      _reloadFromDB(): Promise<void>;\n\n      /**\n       * Load object data in this library\n       */\n      loadAllDataTypes(): Promise<void>;\n\n      getDataLoaded(objectType: _ZoteroTypes.ObjectType): boolean;\n      setDataLoading(objectType: _ZoteroTypes.ObjectType): void;\n      getDataLoadedPromise(\n        objectType: _ZoteroTypes.ObjectType,\n      ): Promise<unknown> | null;\n      setDataLoaded(objectType: _ZoteroTypes.ObjectType): void;\n\n      /**\n       * Wait for a given data type to load, loading it now if necessary\n       */\n      waitForDataLoad(objectType: _ZoteroTypes.ObjectType): Promise<void>;\n\n      isChildObjectAllowed(type: _ZoteroTypes.ObjectType): boolean;\n      updateLastSyncTime(): void;\n      save(options?: object): Promise<false | void>;\n      saveTx(options?: object): Promise<false | void>;\n      eraseTx(options?: object): Promise<false | void>;\n      erase(options?: object): Promise<false | void>;\n      hasCollections(): boolean;\n      updateCollections(): Promise<void>;\n      hasSearches(): boolean;\n      updateSearches(): Promise<void>;\n      hasItems(): Promise<boolean>;\n      hasItem(item: Zotero.Item): boolean;\n    }\n\n    type LibraryLike = Zotero.Library | Zotero.Group | Zotero.Feed;\n  }\n}\ndeclare namespace Zotero {\n  class Library extends _ZoteroTypes.Library.LibraryAbstract {\n    _objectType: \"library\";\n    _childObjectTypes: [\"item\", \"collection\", \"search\"];\n    fixedLibraries: [\"user\"];\n    libraryTypes: [\"user\"];\n    libraryType: \"user\" | \"group\" | \"feed\";\n\n    static readonly _dbColumns: [\n      \"type\",\n      \"editable\",\n      \"filesEditable\",\n      \"version\",\n      \"storageVersion\",\n      \"lastSync\",\n      \"archived\",\n    ];\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  // chrome/content/zotero/xpcom/data/notes.js\n  interface Notes {\n    [attr: string]: any;\n    AUTO_SYNC_DELAY: 15;\n    MAX_TITLE_LENGTH: 120;\n    defaultNote: '<div class=\"zotero-note znv1\"></div>';\n    notePrefix: '<div class=\"zotero-note znv1\">';\n    noteSuffix: \"</div>\";\n    _editorInstances: Zotero.EditorInstance[];\n    _downloadInProgressPromise: Promise<void> | null;\n    registerEditorInstance(instance: Zotero.EditorInstance): void;\n    unregisterEditorInstance(instance: Zotero.EditorInstance): Promise<void>;\n    open(\n      itemID: number,\n      location: any,\n      options?: {\n        title?: string;\n        tabIndex?: number;\n        tabID?: string;\n        openInBackground?: boolean;\n        openInWindow?: boolean;\n        allowDuplicate?: boolean;\n        preventJumpback?: boolean;\n        parentItemKey?: string;\n      },\n    ): Promise<Zotero.EditorInstance>;\n    getByTabID(tabID: string): Zotero.EditorInstance | null;\n\n    /**\n     * Replace local URIs for citations and highlights\n     * in all notes. Cut-off note saving for the opened\n     * notes and then trigger notification to refresh\n     *\n     * @param {Number} fromUserID\n     * @param {Number} toUserID\n     * @returns {Promise<void>}\n     */\n    updateUser(fromUserID: number, toUserID: number): Promise<void>;\n\n    /**\n     * Update item key URLs in the item's note, replacing all instances of each\n     * key in itemKeyMap with the associated value.\n     * Passed item should have an embedded note or be a note item.\n     *\n     * @param {Zotero.Item} item\n     * @param {Map<String, String>} itemKeyMap\n     */\n    replaceAllItemKeys(\n      item: Zotero.Item,\n      itemKeyMap: Map<string, string>,\n    ): void;\n\n    /**\n     * Convenience function to call replaceAllItemKeys with a single key-value pair.\n     *\n     * @param {Zotero.Item} item\n     * @param {String} fromItemKey\n     * @param {String} toItemKey\n     */\n    replaceItemKey(\n      item: Zotero.Item,\n      fromItemKey: string,\n      toItemKey: string,\n    ): void;\n\n    getExportableNote(item: Zotero.Item): Promise<string>;\n\n    /**\n     * Download embedded images if they don't exist locally\n     *\n     * @param {Zotero.Item} item\n     * @returns {Promise<boolean>}\n     */\n    ensureEmbeddedImagesAreAvailable(item: Zotero.Item): Promise<boolean>;\n\n    /**\n     * Copy embedded images from one note to another and update\n     * item keys in note HTML.\n     *\n     * Must be called after copying a note\n     *\n     * @param {Zotero.Item} fromNote\n     * @param {Zotero.Item} toNote\n     * @returns {Promise}\n     */\n    copyEmbeddedImages(\n      fromNote: Zotero.Item,\n      toNote: Zotero.Item,\n    ): Promise<void>;\n\n    promptToIgnoreMissingImage(): boolean;\n    deleteUnusedEmbeddedImages(item: Zotero.Item): Promise<void>;\n    hasSchemaVersion(note: string): boolean;\n\n    /**\n     * Upgrade v1 notes:\n     * - Pull itemData from citations, highlights, images into metadata container\n     * - For `data-annotation` keep only the following fields:\n     *    - uri\n     *    - text\n     *    - color\n     *    - pageLabel\n     *    - position\n     *    - citationItem\n     * - Increase schema version number\n     *\n     * @param {Zotero.Item} item\n     * @returns {Promise<boolean>}\n     */\n    upgradeSchemaV1(item: Zotero.Item): Promise<boolean>;\n  }\n}\n\ndeclare namespace Zotero {\n  const Notes: _ZoteroTypes.Notes;\n}\n\n\n\ndeclare namespace Zotero {\n  class Search extends Zotero.DataObject {\n    static prototype: Search;\n    constructor(params?: { name?: string; libraryID?: number });\n    _name: string | null;\n    _scope?: Search;\n    _scopeIncludeChildren?: boolean;\n    _sql: string;\n    _sqlParams: object[];\n    _maxSearchConditionID: number;\n    _conditions: {};\n    _hasPrimaryConditions: boolean;\n    _objectType: \"search\";\n    _dataTypes: _ZoteroTypes.Search.DataType;\n    name: string;\n    version: string | null;\n    synced: boolean;\n    conditions: { [id: number]: _ZoteroTypes.Search.ConditionType };\n    readonly treeViewID: string;\n    readonly treeViewImage: string;\n\n    loadFromRow(row: object): void;\n    _initSave(env: _ZoteroTypes.Search.EnvType): Promise<void>;\n\n    // _finalizeSave(env: Search.EnvType): Promise<boolean | number>;\n\n    clone(libraryID: number): Search;\n\n    _eraseData(env: _ZoteroTypes.Search.EnvType): Promise<void>;\n\n    addCondition(\n      condition: _ZoteroTypes.Search.Conditions,\n      operator: _ZoteroTypes.Search.Operator,\n      value: string | number,\n      required?: boolean,\n    ): number;\n    addCondition(\n      condition: string,\n      operator: _ZoteroTypes.Search.Operator,\n      value?: string | number,\n      required?: boolean,\n    ): number;\n    addCondition(condition: \"blockStart\" | \"blockEnd\"): number;\n\n    /**\n     * Sets scope of search to the results of the passed Search object\n     */\n    setScope(searchObj: Search, includeChildren: boolean): void;\n\n    /**\n     * @param {Number} searchConditionID\n     * @param {String} condition\n     * @param {String} operator\n     * @param {String} value\n     * @param {Boolean} [required]\n     * @return {Promise}\n     */\n    updateCondition(\n      searchConditionID: number,\n      condition: string,\n      operator: string,\n      value: string,\n      required: boolean,\n    ): void;\n\n    removeCondition(searchConditionID: number): void;\n\n    /**\n     * Returns an array with 'condition', 'operator', 'value', 'required'\n     * for the given searchConditionID\n     */\n    getCondition(searchConditionID: number): _ZoteroTypes.Search.ConditionType;\n\n    /**\n     * Returns an object of conditions/operator/value sets used in the search,\n     * indexed by searchConditionID\n     */\n    getConditions(): { [id: number]: _ZoteroTypes.Search.ConditionType };\n\n    hasPostSearchFilter(): boolean;\n\n    /**\n     * Run the search and return an array of item ids for results\n     *\n     * @param {Boolean} [asTempTable=false]\n     * @return {Promise}\n     */\n    search(asTempTable?: false): Promise<number[]>;\n    search(asTempTable: true): Promise<string>;\n\n    /**\n     * Populate the object's data from an API JSON data object\n     *\n     * If this object is identified (has an id or library/key), loadAll() must have been called.\n     *\n     * @param {Object} json\n     * @param {Object} [options]\n     * @param {Boolean} [options.strict = false] - Throw on unknown property\n     */\n    fromJSON(json: object, options?: { strict: boolean }): void;\n\n    toJSON(option: object): object;\n  }\n}\n\ndeclare namespace _ZoteroTypes {\n  namespace Search {\n    type DataType = [\"primaryData\", \"conditions\"];\n    type ConditionType = {\n      id: number;\n      condition: Conditions;\n      mode: boolean;\n      operator: Operator;\n      value: string;\n      required: boolean;\n    };\n    type EnvType = {\n      options: Zotero.DataObject.SaveOptions;\n      transactionOptions: object;\n      isNew: boolean;\n    };\n    type Operator =\n      | \"is\"\n      | \"isNot\"\n      | \"true\"\n      | \"false\"\n      | \"isInTheLast\"\n      | \"isBefore\"\n      | \"isAfter\"\n      | \"contains\"\n      | \"doesNotContain\"\n      | \"beginsWith\"\n      | \"isLessThan\"\n      | \"isGreaterThan\"\n      | \"any\"\n      | \"all\"\n      | \"true\"\n      | \"false\";\n    // Zotero.SearchConditions.getStandardConditions().map((c) => `'${c.name}'`).join(\" | \");\n    type Conditions =\n      | \"numPages\"\n      | \"numberOfVolumes\"\n      | \"abstractNote\"\n      | \"anyField\"\n      | \"accessDate\"\n      | \"applicationNumber\"\n      | \"archive\"\n      | \"artworkSize\"\n      | \"assignee\"\n      | \"fulltextContent\"\n      | \"fileTypeID\"\n      | \"author\"\n      | \"authority\"\n      | \"bookAuthor\"\n      | \"callNumber\"\n      | \"childNote\"\n      | \"citationKey\"\n      | \"code\"\n      | \"codeNumber\"\n      | \"collection\"\n      | \"committee\"\n      | \"conferenceName\"\n      | \"country\"\n      | \"creator\"\n      | \"date\"\n      | \"dateAdded\"\n      | \"dateModified\"\n      | \"DOI\"\n      | \"edition\"\n      | \"editor\"\n      | \"extra\"\n      | \"filingDate\"\n      | \"history\"\n      | \"ISBN\"\n      | \"ISSN\"\n      | \"issue\"\n      | \"itemType\"\n      | \"journalAbbreviation\"\n      | \"language\"\n      | \"libraryCatalog\"\n      | \"archiveLocation\"\n      | \"medium\"\n      | \"meetingName\"\n      | \"note\"\n      | \"number\"\n      | \"pages\"\n      | \"place\"\n      | \"priorityNumbers\"\n      | \"programmingLanguage\"\n      | \"publicationTitle\"\n      | \"publisher\"\n      | \"references\"\n      | \"reporter\"\n      | \"rights\"\n      | \"runningTime\"\n      | \"scale\"\n      | \"section\"\n      | \"series\"\n      | \"seriesNumber\"\n      | \"seriesText\"\n      | \"seriesTitle\"\n      | \"session\"\n      | \"shortTitle\"\n      | \"status\"\n      | \"system\"\n      | \"tag\"\n      | \"title\"\n      | \"type\"\n      | \"url\"\n      | \"versionNumber\"\n      | \"volume\"\n      | \"deleted\"\n      | \"noChildren\"\n      | \"unfiled\"\n      | \"retracted\"\n      | \"publications\"\n      | \"feed\"\n      | \"includeParentsAndChildren\"\n      | \"includeParents\"\n      | \"includeChildren\"\n      | \"recursive\"\n      | \"joinMode\"\n      | \"quicksearch-titleCreatorYear\"\n      | \"quicksearch-titleCreatorYearNote\"\n      | \"quicksearch-fields\"\n      | \"quicksearch-everything\"\n      | \"quicksearch\"\n      | \"blockStart\"\n      | \"blockEnd\"\n      | \"collectionID\"\n      | \"savedSearchID\"\n      | \"savedSearch\"\n      | \"itemTypeID\"\n      | \"tagID\"\n      | \"lastName\"\n      | \"field\"\n      | \"datefield\"\n      | \"year\"\n      | \"numberfield\"\n      | \"libraryID\"\n      | \"key\"\n      | \"itemID\"\n      | \"annotationText\"\n      | \"annotationComment\"\n      | \"fulltextWord\"\n      | \"tempTable\";\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface Searches extends DataObjects<Zotero.Search> {\n    readonly ObjectClass: Zotero.Search;\n    readonly primaryFields: [\n      \"savedSearchID\",\n      \"name\",\n      \"libraryID\",\n      \"key\",\n      \"version\",\n      \"synced\",\n      \"deleted\",\n    ];\n  }\n}\n\ndeclare namespace Zotero {\n  const Searches: _ZoteroTypes.Searches;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Tags {\n    interface TagJson {\n      tag: string;\n      type?: 0 | 1;\n    }\n  }\n\n  interface Tags {\n    [attr: string]: any;\n    MAX_COLORED_TAGS: number;\n    MAX_SYNC_LENGTH: number;\n    init(): Promise<void>;\n\n    /**\n     * Returns a tag for a given tagID\n     *\n     * @param {Integer} tagID\n     * @return {Promise<String|false>} - A tag name, or false if tag with id not found\n     */\n    getName(tagID: number): string | false;\n\n    /**\n     * Returns the tagID matching given fields, or false if none\n     *\n     * @param {String} name - Tag data in API JSON format\n     * @return {Integer} tagID\n     */\n    getID(name: string): number | false;\n\n    /**\n     * Returns the tagID matching given fields, or creates one and returns its id\n     *\n     * Requires a wrapping transaction\n     *\n     * @param {String} name - Tag data in API JSON format\n     * @return {Promise<Integer>} tagID\n     */\n    create(name: string): Promise<number>;\n\n    getLongTagsInLibrary(libraryID: number): Promise<number[]>;\n\n    /**\n     * Get all tags in library\n     *\n     * @param {Number} libraryID\n     * @param {Number[]} [types] - Tag types to fetch\n     * @return {Promise<Array>}   A promise for an array containing tag objects in API JSON format\n     *                            [{ tag: \"foo\" }, { tag: \"bar\", type: 1 }]\n     */\n    getAll(libraryID: number, types?: number[]): Promise<Tags.TagJson[]>;\n\n    /**\n     * Get all tags within the items of a temporary table of search results\n     *\n     * @param {Object}\n     * @param {Object.Number} libraryID\n     * @param {Object.String} tmpTable - Temporary table with items to use\n     * @param {Object.Number[]} [types] - Array of tag types to fetch\n     * @param {Object.Number[]} [tagIDs] - Array of tagIDs to limit the result to\n     * @return {Promise<Array[]>} - Promise for an array of tag objects in API JSON format\n     */\n    getAllWithin(object: {\n      libraryID: number;\n      tmpTable?: string;\n      types?: number[];\n      tagIDs?: number[];\n    }): Promise<Tags.TagJson[]>;\n\n    /**\n     * Get the items associated with the given tag\n     *\n     * @param  {Number} tagID\n     * @return {Promise<Number[]>}  A promise for an array of itemIDs\n     */\n    getTagItems(libraryID: number, tagID: number): Promise<number[]>;\n\n    search(str: string): Promise<{ tag: string; type: number }[]>;\n\n    /**\n     * Rename a tag and update the tag colors setting accordingly if necessary\n     *\n     * @param {Number} tagID\n     * @param {String} newName\n     * @return {Promise}\n     */\n    rename(libraryID: number, oldName: string, newName: string): Promise<void>;\n\n    /**\n     * @param {Integer} libraryID\n     * @param {Integer[]} tagIDs\n     * @param {Function} [onProgress]\n     * @param {Integer[]} [types]\n     * @return {Promise}\n     */\n    removeFromLibrary(\n      libraryID: number,\n      tagIDs: number[],\n      onProgress: Function,\n      types: number[],\n    ): Promise<void>;\n\n    /**\n     * @param {Integer} libraryID\n     * @return {Integer[]} - An array of tagIDs\n     */\n    getAutomaticInLibrary(libraryID: number): Promise<number[]>;\n\n    /**\n     * Remove all automatic tags in the given library\n     */\n    removeAutomaticFromLibrary(\n      libraryID: number,\n      onProgress: Function,\n    ): Promise<void>;\n\n    /**\n     * Delete obsolete tags from database\n     *\n     * @param {Number|Number[]} [tagIDs] - tagID or array of tagIDs to purge\n     * @return {Promise}\n     */\n    purge(tagIDs: number[]): Promise<void>;\n\n    /**\n     *\n     * @param {Integer} libraryID\n     * @param {String} name Tag name\n     * @return {Object|false} An object containing 'color' as a hex string (e.g., '#990000') and\n     *     'position', or false if no colored tag with that name\n     */\n    getColor(libraryID: number, name: string): Tags.TagJson | false;\n\n    /**\n     * Get color data by position (number key - 1)\n     *\n     * @param {Integer} libraryID\n     * @param {Integer} position The position of the tag, starting at 0\n     * @return {Object|false} An object containing 'name' and 'color', or false if no color at\n     *     the given position\n     */\n    getColorByPosition(\n      libraryID: number,\n      position: number,\n    ): { name: string; color: string } | false;\n\n    /**\n     * Get colored tags within a given library\n     *\n     * @param {Integer} libraryID\n     * @return {Map} - A Map with tag names as keys and objects containing 'color' and 'position'\n     *     as values\n     */\n    getColors(\n      libraryID: number,\n    ): Map<string, { color: string; position: number }>;\n\n    /**\n     * Assign a color to a tag\n     *\n     * @return {Promise}\n     */\n    setColor(\n      libraryID: number,\n      name: string,\n      color: string,\n      position: number,\n    ): Promise<void>;\n\n    /**\n     * Update caches and trigger redrawing of items in the items list\n     * when a 'tagColors' setting is modified\n     */\n    notify(\n      event: string,\n      type: string,\n      ids: string[],\n      extraData: { [key: string]: any },\n    ): Promise<void>;\n\n    toggleItemsListTags(items: Zotero.Item[], tagName: string): Promise<void>;\n\n    /**\n     * @param {Zotero.Item[]}\n     * @return {Promise}\n     */\n    removeColoredTagsFromItems(items: Zotero.Item[]): Promise<void>;\n\n    /**\n     * A tree cell can show only one image, and (as of Fx19) it can't be an SVG,\n     * so we need to generate a composite image containing the existing item type\n     * icon and one or more tag color swatches.\n     *\n     * @params {String[]} colors - Array of swatch colors\n     * @params {String} extraImage - chrome:// URL of image to add to final image\n     * @params {Boolean} [retracted = false] - If true, show an icon indicating the item was retracted\n     * @return {Promise<String>} - A promise for a data: URL for a PNG\n     */\n    generateItemsListImage(\n      colors: string[],\n      extraImage: string,\n      retracted?: boolean,\n    ): Promise<string>;\n\n    /**\n     * From http://js-bits.blogspot.com/2010/07/canvas-rounded-corner-rectangles.html\n     *\n     * Draws a rounded rectangle using the current state of the canvas.\n     * If you omit the last three params, it will draw a rectangle\n     * outline with a 5 pixel border radius\n     *\n     * @param {CanvasRenderingContext2D} ctx\n     * @param {Number} x The top left x coordinate\n     * @param {Number} y The top left y coordinate\n     * @param {Number} width The width of the rectangle\n     * @param {Number} height The height of the rectangle\n     * @param {Number} radius The corner radius. Defaults to 5;\n     * @param {Boolean} fill Whether to fill the rectangle. Defaults to false.\n     * @param {Boolean} stroke Whether to stroke the rectangle. Defaults to true.\n     */\n    _canvasRoundRect(\n      ctx: number,\n      x: number,\n      y: number,\n      width: number,\n      height: number,\n      radius: number,\n      fill: boolean,\n      stroke: boolean,\n    ): void;\n\n    /**\n     * Compare two API JSON tag objects\n     */\n    equals(data1: object, data2: object, option: {}): boolean;\n\n    cleanData(data: object): object;\n\n    purge(tagIDs?: number[]): Promise<void>;\n  }\n}\n\ndeclare namespace Zotero {\n  const Tags: _ZoteroTypes.Tags;\n}\n\ndeclare namespace Zotero {\n  namespace DataDirectory {\n    let dir: string;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace DB {\n    type QueryParams = MaybeArray<string | number | object | null | undefined>;\n  }\n\n  interface DB {\n    DB_CORRUPTION_STRINGS: string[];\n    MAX_BOUND_PARAMETERS: number;\n    Sqlite: object;\n\n    get path(): string;\n\n    /**\n     * Test a read-only connection to the database, throwing any errors that occur\n     *\n     * @return\tvoid\n     */\n    test(): Promise<void>;\n\n    parseQueryAndParams(\n      sql: string,\n      params: DB.QueryParams,\n    ): [string, DB.QueryParams];\n\n    addCallback(\n      type: \"begin\" | \"commit\" | \"rollback\",\n      cb: (id: string) => void,\n    ): number;\n\n    addCurrentCallback(\n      type: \"commit\" | \"rollback\",\n      cb: (id: string) => void,\n    ): void;\n\n    removeCallback(type: \"begin\" | \"commit\" | \"rollback\", id: number): void;\n\n    /*\n     * Used on shutdown to rollback all open transactions\n     *\n     * TODO: update or remove\n     */\n    rollbackAllTransactions(): number | boolean;\n\n    getColumns(table: string): Promise<object[] | false>;\n\n    /**\n     * Find the next lowest numeric suffix for a value in table column\n     *\n     * For example, if \"Untitled\" and \"Untitled 2\" and \"Untitled 4\",\n     * returns \"Untitled 3\"\n     *\n     * If _name_ alone is available, returns that\n     **/\n    getNextName(\n      libraryID: number,\n      table: string,\n      field: string,\n      name: string,\n    ): Promise<string>;\n\n    /**\n     * @param {Function} func - Async function containing `await Zotero.DB.queryAsync()` and similar\n     * @param {object} [options]\n     * @param {Boolean} [options.disableForeignKeys] - Disable foreign key constraints before\n     *    transaction and re-enable after. (`PRAGMA foreign_keys=0|1` is a no-op during a transaction.)\n     * @return {Promise} - Promise for result of generator function\n     */\n    executeTransaction<T = anyObj>(\n      func: () => T | Promise<T>,\n      options?: {\n        disbledForeignKeys: boolean;\n        timeout: number;\n        vacuumOnCommit: boolean;\n        inBackup: boolean;\n        onCommit: (id: string) => void;\n        onRollback: (id: string) => void;\n      },\n    ): Promise<T>;\n\n    inTransaction(): boolean;\n\n    waitForTransaction(id: number): Promise<void>;\n\n    requireTransaction(): void;\n\n    /**\n     * @param {String} sql SQL statement to run\n     * @param {Array|String|Integer} [params] SQL parameters to bind\n     * @return {Promise|Array} A promise for an array of rows. The individual\n     *                         rows are Proxy objects that return values from the\n     *                         underlying mozIStorageRows based on column names.\n     */\n    queryAsync(\n      sql: string,\n      params?: DB.QueryParams,\n      options?: {\n        inBackup?: boolean;\n        noParseParams?: boolean;\n        onRow?: (row: unknown, cancel: unknown) => void;\n        noCache?: boolean;\n      },\n    ): Promise<anyObj[] | undefined>;\n\n    queryTx(\n      sql: string,\n      params?: DB.QueryParams,\n      options?: {\n        inBackup?: boolean;\n        noParseParams?: boolean;\n        onRow?: (row: unknown, cancel: unknown) => void;\n        noCache?: boolean;\n      },\n    ): Promise<anyObj[] | undefined>;\n\n    /**\n     * @param {String} sql  SQL statement to run\n     * @param {Array|String|Integer} [params]  SQL parameters to bind\n     * @return {Promise<Array|Boolean>}  A promise for either the value or FALSE if no result\n     */\n    valueQueryAsync<T = anyObj>(\n      sql: string,\n      params?: DB.QueryParams,\n      options?: { inBackup?: boolean; noCache?: boolean },\n    ): Promise<T | boolean>;\n\n    /**\n     * @param {String} sql SQL statement to run\n     * @param {Array|String|Integer} [params] SQL parameters to bind\n     * @return {Promise<object>}  A promise for a proxied storage row\n     */\n    rowQueryAsync(\n      sql: string,\n      params?: DB.QueryParams,\n    ): Promise<object | boolean>;\n\n    /**\n     * @param {String} sql SQL statement to run\n     * @param {Array|String|Integer} [params] SQL parameters to bind\n     * @return {Promise<Array>}  A promise for an array of values in the column\n     */\n    columnQueryAsync<T = anyObj>(\n      sql: string,\n      params?: DB.QueryParams,\n      options?: {\n        inBackup?: boolean;\n        noCache?: boolean;\n        debug?: boolean;\n        debugParams?: boolean;\n      },\n    ): Promise<T[]>;\n\n    logQuery(\n      sql: string,\n      params?: DB.QueryParams,\n      options?: { debug?: boolean; debugParams?: boolean },\n    ): void;\n\n    tableExists(table: string, db?: string): Promise<boolean>;\n\n    columnExists(table: string, column: string): Promise<boolean>;\n\n    indexExists(index: string, db?: string): Promise<boolean>;\n\n    parseSQLFile(sql: string): string[];\n\n    /**\n     * Parse SQL string and execute transaction with all statements\n     *\n     * @return {Promise}\n     */\n    executeSQLFile(sql: string): Promise<void>;\n\n    /*\n     * Implements nsIObserver\n     */\n    observe(subject: unknown, topic: \"idle\", data: unknown): void;\n\n    numCachedStatements(): number;\n\n    getCachedStatements(): string[];\n\n    // TEMP\n    vacuum(): Promise<void>;\n\n    // TEMP\n    info(): Promise<{\n      auto_vaccum: number;\n      cache_size: number;\n      \"main.locking_mode\": string;\n      page_size: number;\n    }>;\n\n    quickCheck(): Promise<boolean>;\n\n    integrityCheck(): Promise<boolean>;\n\n    isCorruptionError(e: Error): boolean;\n\n    /**\n     * Close the database\n     * @param {Boolean} [permanent] If true, throw an error instead of\n     *     allowing code to re-open the database again\n     */\n    closeDatabase(permanent: boolean): Promise<void>;\n\n    backupDatabase(suffix: boolean | string, force: boolean): boolean;\n\n    /**\n     * Escape '_', '%', and '\\' in an SQL LIKE expression so that it can be used with ESCAPE '\\' to\n     * prevent the wildcards from having special meaning\n     */\n    escapeSQLExpression(expr: string): string;\n\n    /////////////////////////////////////////////////////////////////\n    //\n    // Private methods\n    //\n    /////////////////////////////////////////////////////////////////\n\n    _getConnection(options?: { inBackup: boolean }): object | boolean;\n\n    /*\n     * Retrieve a link to the data store asynchronously\n     */\n    _getConnectionAsync(options?: { inBackup: boolean }): Promise<object>;\n\n    _checkException(e: Error): Promise<boolean>;\n\n    /**\n     * @return {Boolean} - True if recovered, false if not\n     */\n    _handleCorruptionMarker(): Promise<void>;\n\n    _debug(str: string, level?: number): void;\n  }\n\n  interface DBConnection extends DB {\n    new (dbNameOrPath: string): this;\n  }\n}\n\ndeclare namespace Zotero {\n  const DB: _ZoteroTypes.DB;\n  const DBConnection: _ZoteroTypes.DBConnection;\n}\n\n\ndeclare namespace Zotero {\n  // chrome/content/zotero/xpcom/editorInstance.js\n  interface EditorInstance {\n    [attr: string]: any;\n    new (): this;\n    init: (options: {\n      onNavigate?: Function;\n      item?: Zotero.Item;\n      reloaded?: boolean;\n      viewMode?: string;\n      readOnly?: boolean;\n      disableUI?: boolean;\n      onReturn?: Function;\n      iframeWindow?: Window;\n      popup?: any;\n      state?: any;\n      placeholder?: any;\n    }) => Promise<void>;\n    uninit(): Promise<void>;\n    focus(): void;\n    notify: _ZoteroTypes.Notifier.Notify;\n    saveSync(): void;\n    insertAnnotations(annotations: any): Promise<void>;\n    _postMessage(message: any): void;\n    _isReadOnly(): boolean;\n    _getFont(): { fontSize: number; fontFamily: string };\n    _handleFontChange(): void;\n    _handleStyleChange(): void;\n    _handleSpellCheckChange(): void;\n    _showInLibrary(ids: number | number[]): void;\n    importImages(annotations: any): Promise<void>;\n    _digestItems(ids: number[]): string | null;\n    _messageHandler(e: MessageEvent): Promise<void>;\n    _updateCitationItems(citationItemsList: object[]): Promise<void>;\n    _feedSubscription(subscription: object): Promise<void>;\n    _importImage(src: string, download: boolean): Promise<string>;\n    _openPopup: (\n      x: number,\n      y: number,\n      pos: any,\n      itemGroups: any,\n    ) => Promise<void>;\n    _getSpellChecker(): any;\n    _ensureNoteCreated(): Promise<void>;\n    _save(noteData: object, skipDateModifiedUpdate: boolean): Promise<void>;\n    _arrayBufferToBase64: (buffer: BufferSource) => string;\n    _dataURLtoBlob(dataurl: string): Blob | null;\n    _getDataURL(item: Zotero.Item): Promise<string>;\n    _openQuickFormatDialog: (\n      nodeID: number,\n      citationData: any,\n      filterLibraryIDs: any,\n      openedEmpty: any,\n    ) => Promise<void>;\n    getItemFromURIs(uris: string[]): Promise<Zotero.Item>;\n    createNoteFromAnnotations: (\n      annotations: Zotero.Item[],\n      parentID: number,\n    ) => Promise<Zotero.Item>;\n    _iframeWindow: Window;\n    _item: Zotero.Item;\n    _initPromise: Promise<any>;\n    _viewMode: string;\n    _reloaded: boolean;\n    _readOnly: boolean;\n    _filesReadOnly: boolean;\n    _disableUI: boolean;\n    _onReturn: Function;\n    _popup: any;\n    _state: any;\n    _disableSaving: boolean;\n    _subscriptions: [];\n    _quickFormatWindow: any;\n    _citationItemsList: any;\n    _prefObserverIDs: any[];\n  }\n\n  const EditorInstanceUtilities: _ZoteroTypes.EditorInstanceUtilities;\n}\n\ndeclare namespace _ZoteroTypes {\n  interface EditorInstanceUtilities {\n    serializeAnnotations: (\n      annotations: object[],\n      skipEmbeddingItemData?: boolean,\n    ) => { html: string; citationItems: Zotero.Item[] };\n    _transformTextToHTML(text: string): string;\n    _formatCitationItemPreview(citationItem: Zotero.Item): string;\n    formatCitation(citation: object): string;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface File {\n    pathToFile(pathOrFile: string | nsIFile): nsIFile;\n    pathToFileURI(path: string): string;\n    encodeFilePath(path: string): string;\n    getExtension(file: string | nsIFile): string;\n    getClosestDirectory(file: string): string | false;\n    getSample: (\n      file: nsIFile | string,\n    ) =>\n      | string\n      | Promise<string>\n      | Uint8Array\n      | Promise<Uint8Array>\n      | Promise<BufferSource>;\n    getBinaryContentsAsync: (\n      source: string | nsIFile,\n      maxLength?: number,\n    ) => Promise<string>;\n    getContentsAsync: (\n      source: string | nsIFile | nsIInputStream,\n      charset?: string,\n      maxLength?: number,\n    ) =>\n      | string\n      | Promise<string>\n      | Uint8Array\n      | Promise<Uint8Array>\n      | Promise<BufferSource>\n      | Promise<void>;\n    getContentsFromURL(url: string): string;\n    getContentsFromURLAsync(url: string, options?: any): Promise<string>;\n    getResource(url: string): string;\n    getResourceAsync(url: string): Promise<string>;\n    putContents(file: nsIFile, str: string): void;\n    putContentsAsync: (\n      path: string | nsIFile,\n      data: string | nsIInputStream | ArrayBuffer,\n      charset?: string,\n    ) => Promise<void>;\n    download(uri: string, path: string): Promise<void>;\n    rename: (\n      file: string,\n      newName: string,\n      options?: { overwrite?: boolean; unique: boolean },\n    ) => Promise<string | false>;\n    removeIfExists(path: string): Promise<void>;\n    directoryIsEmpty(path: string): Promise<boolean>;\n    iterateDirectory(\n      path: string,\n      onEntry: (entry: OS.File.Entry) => void,\n    ): Promise<void>;\n    canMoveDirectoryWithCommand(): boolean;\n    canMoveDirectoryWithFunction(): boolean;\n    moveDirectory: (\n      oldDir: string,\n      newDir: string,\n      options?: object,\n    ) => Promise<void | Error[]>;\n    generateDataURI(file: string, contentType: string): string;\n    setNormalFilePermissions(file: string): void | Promise<void>;\n    createShortened: (\n      file: string,\n      type: any,\n      mode: any,\n      maxBytes: number,\n    ) => string;\n    moveToUnique(file: string, newFile: string): Promise<string>;\n    copyToUnique(file: string, newFile: string): Promise<OS.File.Entry>;\n    copyDirectory: (\n      source: string | nsIFile,\n      target: string | nsIFile,\n    ) => Promise<void>;\n    createDirectoryIfMissing(dir: string): void;\n    createDirectoryIfMissingAsync(path: string, options?: any): Promise<void>;\n    normalizeToUnix(path: string): string;\n    directoryContains(dir: string, file: string): boolean;\n    zipDirectory: (\n      dirPath: string,\n      zipPath: string,\n      observer: any,\n    ) => Promise<void | false>;\n    truncateFileName(fileName: string, maxLength: number): string;\n    getCharsetFromFile: (\n      file: typeof OS.File,\n      mimeType: string,\n      callback: Function,\n      args: any,\n    ) => void;\n    checkFileAccessError: (\n      e: Error | any,\n      file: string | nsIFile,\n      operation: \"create\" | \"delete\" | any,\n    ) => void;\n    getEvictedICloudPath(path: string): string;\n    isCloudStorageFolder(path: string): boolean;\n    reveal(file: string): Promise<void>;\n  }\n\n  class Zotero_File_Interface {\n    exportItemsToClipboard(items: Zotero.Item[], translatorID: string): void;\n    importFile(options: {\n      file: nsIFile | string | null;\n      createNewCollection?: boolean;\n    }): Promise<void>;\n  }\n}\n\ndeclare const Zotero_File_Interface: _ZoteroTypes.Zotero_File_Interface;\n\ndeclare namespace Zotero {\n  const File: _ZoteroTypes.File;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace FileHandlers {\n    interface Location {\n      annotationID?: string;\n      pageIndex?: number;\n      position?: { value: string };\n    }\n\n    interface OpenParams {\n      location?: Location;\n      openInWindow?: boolean;\n    }\n\n    interface FileHandlerOpenOptions {\n      filePath: string;\n      location?: Location;\n      page?: number;\n    }\n\n    interface FileHandler {\n      name: RegExp;\n      fallback?: boolean;\n      open(\n        appPath: string | null,\n        options: FileHandlerOpenOptions,\n      ): Promise<void>;\n    }\n\n    interface Platform {\n      pdf: FileHandler[];\n      epub: FileHandler[];\n    }\n  }\n\n  interface FileHandlers {\n    open(item: Zotero.Item, params?: FileHandlers.OpenParams): Promise<boolean>;\n    _handlersMac: FileHandlers.Platform;\n    _handlersWin: FileHandlers.Platform;\n    _handlersLinux: FileHandlers.Platform;\n    _getSystemHandler(mimeType: string): string | false;\n    _getSystemHandlerWin(mimeType: string): string | false;\n    _getSystemHandlerPOSIX(mimeType: string): string | false;\n    _checkAndExecWithoutBlocking(\n      command: string,\n      args: string[],\n    ): Promise<void>;\n  }\n}\n\ndeclare namespace Zotero {\n  const FileHandlers: _ZoteroTypes.FileHandlers;\n\n  namespace OpenPDF {\n    /**\n     * @deprecated - use Zotero.FileHandlers.open\n     */\n    function openToPage(\n      item: Zotero.Item,\n      page: number,\n      annotationKey?: string,\n    ): Promise<void>;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface FullText {\n    readonly fulltextCacheFile: \".zotero-ft-cache\";\n\n    readonly INDEX_STATE_UNAVAILABLE: 0;\n    readonly INDEX_STATE_UNINDEXED: 1;\n    readonly INDEX_STATE_PARTIAL: 2;\n    readonly INDEX_STATE_INDEXED: 3;\n    readonly INDEX_STATE_QUEUED: 4;\n\n    readonly SYNC_STATE_UNSYNCED: 0;\n    readonly SYNC_STATE_IN_SYNC: 1;\n    readonly SYNC_STATE_TO_PROCESS: 2;\n    readonly SYNC_STATE_TO_DOWNLOAD: 3;\n    readonly SYNC_STATE_MISSING: 4;\n\n    init(): Promise<void>;\n    setPDFConverterPath(path: string): void;\n    setPDFInfoPath(path: string): void;\n    setPDFDataPath(path: string): void;\n    getLibraryVersion(libraryID: number): Promise<number>;\n    setLibraryVersion(libraryID: number, version: number): Promise<void>;\n    clearLibraryVersion(libraryID: number): Promise<void>;\n    getItemVersion(itemID: number): Promise<number>;\n    setItemSynced(itemID: number, version: number): Promise<void>;\n    getPDFConverterExecAndArgs(): { exec: string; args: string[] };\n    isCachedMIMEType(mimeType: string): boolean;\n    indexItems(\n      itemIDs: number[],\n      options?: { complete?: boolean; ignoreErrors?: boolean },\n    ): Promise<void>;\n    rebuildIndex(unindexedOnly: boolean): Promise<void>;\n    clearIndex(skipLinkedURLs?: boolean): Promise<void>;\n    purgeUnusedWords(): Promise<void>;\n    canIndex(item: Zotero.Item): boolean;\n    canReindex(item: Zotero.Item): Promise<boolean>;\n    getIndexedState(item: Zotero.Item): Promise<number>;\n    isFullyIndexed(item: Zotero.Item): Promise<boolean>;\n    getIndexStats(): Promise<{\n      indexed: number;\n      partial: number;\n      unindexed: number;\n      words: number;\n    }>;\n    getItemCacheFile(item: Zotero.Item): nsIFile;\n    getItemProcessorCacheFile(item: Zotero.Item): nsIFile;\n    transferItemIndex(\n      fromItem: Zotero.Item,\n      toItem: Zotero.Item,\n    ): Promise<void>;\n    getPages(itemID: number): Promise<false | { total: number }>;\n    indexDocument(document: Document, itemID: number): Promise<boolean | void>;\n    indexPDF(\n      filePath: string,\n      itemID: number,\n      allPages?: boolean,\n    ): Promise<boolean>;\n    indexEPUB(\n      filePath: string,\n      itemID: number,\n      allText?: boolean,\n    ): Promise<boolean>;\n    indexItems(\n      itemIDs: number | number[],\n      options?: { complete?: boolean; ignoreErrors?: boolean },\n    ): Promise<void>;\n    indexFromProcessorCache(itemID: number): Promise<boolean>;\n    clearItemWords(itemID: number, force?: boolean): Promise<void>;\n    semanticSplitter(text: string, charset?: string): string[];\n  }\n}\ndeclare namespace Zotero {\n  const Fulltext: _ZoteroTypes.FullText;\n  const FullText: _ZoteroTypes.FullText;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  /**\n   * Functions for performing HTTP requests, both via XMLHTTPRequest and using a hidden browser\n   * @namespace\n   */\n  interface HTTP {\n    /**\n     * Get a promise for a HTTP request\n     *\n     * @param {String} method - The method of the request (\"GET\", \"POST\", etc.)\n     * @param {nsIURI|String} url - URL to request\n     * @param {Object} [options] Options for HTTP request:\n     * @param {String} [options.body] - The body of a POST request\n     * @param {Object | Headers} [options.headers] - HTTP headers to send with the request\n     * @param {Boolean} [options.followRedirects = true] - Object of HTTP headers to send with the\n     *     request\n     * @param {Zotero.CookieSandbox} [options.cookieSandbox] - The sandbox from which cookies should\n     *     be taken\n     * @param {Boolean} [options.debug] - Log response text and status code\n     * @param {Boolean} [options.noCache] - If set, specifies that the request should not be\n     *     fulfilled from the cache\n     * @param {Boolean} [options.dontCache] - Deprecated\n     * @param {Boolean} [options.foreground] - Make a foreground request, showing\n     *     certificate/authentication dialogs if necessary\n     * @param {Number} [options.logBodyLength=1024] - Length of request body to log\n     * @param {Function} [options.requestObserver] - Callback to receive XMLHttpRequest after open()\n     * @param {Function} [options.cancellerReceiver] - Callback to receive a function to cancel\n     *     the operation\n     * @param {String} [options.responseType] - The type of the response. See XHR 2 documentation\n     *     for legal values\n     * @param {String} [options.responseCharset] - The charset the response should be interpreted as\n     * @param {Number[]|false} [options.successCodes] - HTTP status codes that are considered\n     *     successful, or FALSE to allow all\n     * @param {Zotero.CookieSandbox} [options.cookieSandbox] - Cookie sandbox object\n     * @param {Number} [options.timeout = 30000] - Request timeout specified in milliseconds, or 0\n     *     for no timeout\n     * @param {Number[]} [options.errorDelayIntervals] - Array of milliseconds to wait before\n     *     retrying after 5xx error; if unspecified, a default set is used\n     * @param {Number} [options.errorDelayMax = 3600000] - Milliseconds to wait before stopping\n     *     5xx retries; set to 0 to disable retrying\n     * @return {Promise<XMLHttpRequest>} - A promise resolved with the XMLHttpRequest object if the\n     *     request succeeds or rejected if the browser is offline or a non-2XX status response\n     *     code is received (or a code not in options.successCodes if provided).\n     */\n    request(\n      method: string,\n      url: string,\n      options?: {\n        body?: string | Uint8Array;\n        headers?: any;\n        followRedirects?: boolean;\n        cookieSandbox?: Zotero.CookieSandbox;\n        debug?: boolean;\n        noCache?: boolean;\n        dontCache?: boolean;\n        foreground?: boolean;\n        logBodyLength?: number;\n        requestObserver?: Function;\n        cancellerReceiver?: Function;\n        responseType?: string;\n        responseCharset?: string;\n        successCodes?: number[] | false;\n        timeout?: number;\n        errorDelayIntervals?: number[];\n        errorDelayMax?: number;\n      },\n    ): Promise<XMLHttpRequest>;\n\n    /**\n     * Send an HTTP GET request via XMLHTTPRequest\n     *\n     * @param {nsIURI|String}\turl\t\t\t\tURL to request\n     * @param {Function} \t\tonDone\t\t\tCallback to be executed upon request completion\n     * @param {String} \t\tresponseCharset\tCharacter set to force on the response\n     * @param {Zotero.CookieSandbox} [cookieSandbox] Cookie sandbox object\n     * @param {Object} requestHeaders HTTP headers to include with request\n     * @return {XMLHttpRequest} The XMLHttpRequest object if the request was sent, or\n     *     false if the browser is offline\n     * @deprecated Use {@link Zotero.HTTP.request}\n     */\n    doGet(\n      url: string | URL,\n      onDone: (xhr: XMLHttpRequest) => void | Promise<void>,\n      responseCharset: string,\n      cookieSandbox?: Zotero.CookieSandbox,\n      requestHeaders?: Record<string, string>,\n    ): XMLHttpRequest;\n\n    /**\n     * Send an HTTP POST request via XMLHTTPRequest\n     *\n     * @param {String} url URL to request\n     * @param {String} body Request body\n     * @param {Function} onDone Callback to be executed upon request completion\n     * @param {String} headers Request HTTP headers\n     * @param {String} responseCharset Character set to force on the response\n     * @param {Zotero.CookieSandbox} [cookieSandbox] Cookie sandbox object\n     * @return {XMLHttpRequest} The XMLHttpRequest object if the request was sent, or\n     *     false if the browser is offline\n     * @deprecated Use {@link Zotero.HTTP.request}\n     */\n    doPost(\n      url: string | URL,\n      body: string,\n      onDone: (xhr: XMLHttpRequest) => void | Promise<void>,\n      headers: Record<string, string>,\n      responseCharset: string,\n      cookieSandbox?: Zotero.CookieSandbox,\n    ): XMLHttpRequest;\n\n    /**\n     * Send an HTTP HEAD request via XMLHTTPRequest\n     *\n     * @param {String} url URL to request\n     * @param {Function} onDone Callback to be executed upon request completion\n     * @param {Object} requestHeaders HTTP headers to include with request\n     * @param {Zotero.CookieSandbox} [cookieSandbox] Cookie sandbox object\n     * @return {XMLHttpRequest} The XMLHttpRequest object if the request was sent, or\n     *     false if the browser is offline\n     * @deprecated Use {@link Zotero.HTTP.request}\n     */\n    doHead(\n      url: string | URL,\n      onDone: (xhr: XMLHttpRequest) => void | Promise<void>,\n      requestHeaders: Record<string, string>,\n      cookieSandbox?: Zotero.CookieSandbox,\n    ): XMLHttpRequest;\n\n    /**\n     * Send an HTTP OPTIONS request via XMLHTTPRequest\n     *\n     * @param\t{nsIURI}\t\turl\n     * @param\t{Function}\tonDone\n     * @return\t{XMLHTTPRequest}\n     * @deprecated Use {@link Zotero.HTTP.request}\n     */\n    doOptions(\n      url: string | URL,\n      onDone: (xhr: XMLHttpRequest) => void | Promise<void>,\n    ): XMLHttpRequest;\n\n    /**\n     * Make a foreground HTTP request in order to trigger a proxy authentication dialog\n     *\n     * Other Zotero.HTTP requests are background requests by default, and\n     * background requests don't trigger a proxy auth prompt, so we make a\n     * foreground request on startup and resolve the promise\n     * Zotero.proxyAuthComplete when we're done. Any network requests that want\n     * to wait for proxy authentication can wait for that promise.\n     */\n    triggerProxyAuth(): false | undefined;\n\n    /**\n     * Checks if the browser is currently in \"Offline\" mode\n     *\n     * @type Boolean\n     */\n    browserIsOffline(): boolean;\n\n    /**\n     * Load one or more documents using XMLHttpRequest\n     *\n     * This should stay in sync with the equivalent function in the connector\n     *\n     * @param {String|String[]} urls URL(s) of documents to load\n     * @param {Function} processor - Callback to be executed for each document loaded; if function returns\n     *     a promise, it's waited for before continuing\n     * @param {Object} [options]\n     * @param {Zotero.CookieSandbox} [options.cookieSandbox] - Cookie sandbox object\n     * @param {Object} [options.headers] - Headers to include in the request\n     * @return {Promise<Array>} - A promise for an array of results from the processor runs\n     */\n    processDocuments<T>(\n      urls: string | string[],\n      processor: (doc: Document, responseURL: string) => T | Promise<T>,\n      options?: {\n        cookieSandbox?: Zotero.CookieSandbox;\n        headers?: Record<string, string>;\n      },\n    ): Promise<T[]>;\n\n    /**\n     * Wraps an HTMLDocument object returned by XMLHttpRequest DOMParser to make it look more like it belongs\n     * to a browser. This is necessary if the document is to be passed to Zotero.Translate.\n     * @param {HTMLDocument} doc Document returned by\n     * @param {nsIURL|String} url\n     */\n    wrapDocument(doc: Document, url: string | URL): Document;\n\n    Location: (url: URL) => Location;\n    Window: (url: URL) => Window;\n  }\n}\n\ndeclare namespace Zotero {\n  const HTTP: _ZoteroTypes.HTTP;\n}\n\n\ndeclare namespace Zotero {\n  /**\n   * The MIME namespace provides various utility functions for determining\n   * MIME types based on file data, file extensions, and HTTP metadata.\n   */\n  namespace MIME {\n    /**\n     * Checks if the given MIME type is a text type.\n     *\n     * @param mimeType\n     * @returns true if the MIME type is a text type; otherwise false.\n     */\n    function isTextType(mimeType: string): boolean;\n\n    /**\n     * Checks if the given MIME type is considered a web page type.\n     *\n     * @param mimeType\n     * @returns true if the MIME type is a web page type; otherwise false.\n     */\n    function isWebPageType(mimeType: string): boolean;\n\n    /*\n     * Our own wrapper around the MIME service's getPrimaryExtension() that\n     * works a little better\n     */\n    function getPrimaryExtension(mimeType: string, ext: string): string;\n\n    /*\n     * Searches string for embedded nulls\n     *\n     * Returns 'application/octet-stream' or 'text/plain'\n     */\n    function sniffForBinary(str: string): string;\n\n    /*\n     * Searches string for magic numbers\n     */\n    function sniffForMIMEType(str: string): string | false;\n\n    /*\n     * Try to determine the MIME type of a string, using a few different\n     * techniques\n     *\n     * ext is an optional file extension hint if data sniffing is unsuccessful\n     */\n    function getMIMETypeFromData(str: string, ext?: string): string;\n\n    /**\n     * Try to find a MIME type associated with a given file extension.\n     *\n     * @param ext The file extension without the leading dot.\n     * @returns The resolved MIME type or false if not found.\n     */\n    function getMIMETypeFromExtension(ext: string): string | false;\n\n    /*\n     * Try to determine the MIME type of the file, using a few different\n     * techniques\n     */\n    function getMIMETypeFromFile(file: any): Promise<string>;\n\n    /**\n     * @param {String} url\n     * @param {Zotero.CookieSandbox} [cookieSandbox]\n     * @return {Promise<[string, boolean]>} Resolves with [mimeType, hasNativeHandler]\n     */\n    function getMIMETypeFromURL(\n      url: string,\n      cookieSandbox?: any,\n    ): Promise<[string, boolean]>;\n\n    /*\n     * Determine if a MIME type can be handled natively\n     * or if it needs to be passed off to a plugin or external helper app\n     *\n     * ext is an optional extension hint (only needed for text files\n     * that should be forced to open externally)\n     *\n     * Note: it certainly seems there should be a more native way of doing this\n     * without replicating all the Mozilla functionality\n     *\n     * Note: nsIMIMEInfo provides a hasDefaultHandler() method, but it doesn't\n     * do what we need\n     */\n    function hasNativeHandler(mimeType: string, ext?: string): boolean;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Notifier {\n    type Event =\n      | \"add\"\n      | \"modify\"\n      | \"delete\"\n      | \"move\"\n      | \"remove\"\n      | \"refresh\"\n      | \"redraw\"\n      | \"trash\"\n      | \"unreadCountUpdated\"\n      | \"index\"\n      | \"open\"\n      | \"close\"\n      | \"select\";\n    type Type =\n      | \"collection\"\n      | \"search\"\n      | \"share\"\n      | \"share-items\"\n      | \"item\"\n      | \"file\"\n      | \"collection-item\"\n      | \"item-tag\"\n      | \"tag\"\n      | \"setting\"\n      | \"group\"\n      | \"trash\"\n      | \"bucket\"\n      | \"relation\"\n      | \"feed\"\n      | \"feedItem\"\n      | \"sync\"\n      | \"api-key\"\n      | \"tab\"\n      | \"itemtree\"\n      | \"itempane\";\n    type Notify = (\n      event: Event,\n      type: Type,\n      ids: string[] | number[],\n      extraData: anyObj,\n    ) => void | Promise<void>;\n    interface Queue {\n      id: string;\n      _queue: { [type in Type]: Array<{ ids: string[]; data: anyObj }> };\n      size: number;\n      options: object;\n      new (options?: object): this;\n    }\n  }\n  interface Notifier {\n    readonly EVENT_LEVEL_OPTIONS: [\"autoSyncDelay\", \"skipAutoSync\"];\n\n    /**\n     * @param {Object} [ref] signature {notify: function(event, type, ids, extraData) {}}\n     * @param {Array} [types] a list of types of events observer should be triggered on\n     * @param {String} [id] an id of the observer used in debug output\n     * @param {Integer} [priority] lower numbers correspond to higher priority of observer execution\n     * @returns {string}\n     */\n    registerObserver(\n      ref: { notify: Notifier.Notify },\n      types?: Notifier.Type[],\n      id?: string,\n      priority?: number,\n    ): string;\n\n    unregisterObserver(id: string): void;\n\n    /**\n     * Trigger a notification to the appropriate observers\n     *\n     * Possible values:\n     *\n     * \tevent: 'add', 'modify', 'delete', 'move' ('c', for changing parent),\n     *\t\t'remove' (ci, it), 'refresh', 'redraw', 'trash', 'unreadCountUpdated', 'index'\n     * \ttype - 'collection', 'search', 'item', 'collection-item', 'item-tag', 'tag',\n     *\t\t'group', 'relation', 'feed', 'feedItem'\n     * \tids - single id or array of ids\n     *\n     * Notes:\n     *\n     * - If event queuing is on, events will not fire until commit() is called\n     * unless _force_ is true.\n     *\n     * - New events and types should be added to the order arrays in commit()\n     **/\n    trigger(\n      event: Notifier.Event,\n      type: Notifier.Type,\n      ids: number | number[],\n      extraData?: anyObj,\n      force?: boolean,\n    ): Promise<void | true>;\n\n    /**\n     * Queue an event until the end of the current notifier transaction\n     *\n     * Takes the same parameters as trigger()\n     *\n     * @throws If a notifier transaction isn't currently open\n     */\n    queue(\n      event: Notifier.Event,\n      type: Notifier.Type,\n      ids: string[],\n      extraData: { [option in \"autoSyncDelay\" | \"skipAutoSync\"]: unknown },\n      queue: Notifier.Queue,\n    ): void;\n\n    /**\n     * Begin queueing event notifications (i.e. don't notify the observers)\n     *\n     * Note: Be sure the matching commit() gets called (e.g. in a finally{...} block) or\n     * notifications will break until Firefox is restarted or commit(true)/reset() is called manually\n     *\n     * @param {String} [transactionID]\n     */\n    begin(transactionID?: boolean): void;\n\n    /**\n     * Send notifications for ids in the event queue\n     *\n     * @param {Zotero.Notifier.Queue|Zotero.Notifier.Queue[]} [queues] - One or more queues to use\n     *     instead of the internal queue\n     * @param {String} [transactionID]\n     */\n    commit(\n      queues?: Notifier.Queue | Notifier.Queue[],\n      transactionID?: boolean,\n    ): Promise<void>;\n\n    /*\n     * Reset the event queue\n     */\n    reset(transactionID?: boolean): void;\n  }\n}\n\ndeclare namespace Zotero {\n  const Notifier: _ZoteroTypes.Notifier;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface ItemPaneManager {\n    registerSection<T extends string>(\n      options: ItemPaneManagerSection.ItemDetailsSectionOptions<T>,\n    ): false | string;\n\n    unregisterSection(key: string): boolean;\n\n    registerInfoRow<T extends string>(\n      options: ItemPaneManagerInfoRow.InfoRowOptions<T>,\n    ): false | string;\n\n    unregisterInfoRow(key: string): boolean;\n\n    refreshInfoRow(rowID: string): void;\n  }\n  namespace ItemPaneManagerSection {\n    type Icon16px = string | IconURI;\n    type Icon20px = string | IconURI;\n\n    type BuiltInPaneID =\n      | \"info\"\n      | \"abstract\"\n      | \"attachments\"\n      | \"notes\"\n      | \"attachment-info\"\n      | \"attachment-annotations\"\n      | \"libraries-collections\"\n      | \"tags\"\n      | \"related\";\n    type ExcludeBuiltInIDs<T extends string> = T extends BuiltInPaneID\n      ? never\n      : T;\n\n    type ValidDOMString<T extends string> =\n      T extends `${infer _Prefix},${infer _Suffix}` ? never : T;\n\n    interface SectionHook {\n      init(props: SectionInitHookArgs): void;\n      destroy(props: BasicHookArgs): void;\n      render(props: SectionHookArgs): void;\n      itemChange(props: SectionHookArgs): void;\n      asyncRender(props: SectionHookArgs): MaybePromise<void>;\n      toggle(props: SectionEventHookArgs): void;\n    }\n\n    interface SectionButton {\n      /** Button type, must be valid DOMString and without \",\" */\n      type: ValidDOMString<string>; // TODO\n      /** 16*16 Icon URI for section button in light mode */\n      icon: Icon16px;\n      /** 16*16 Icon URI for section button in dark mode. If not set, use icon */\n      darkIcon?: Icon16px;\n      /** data-l10n-id for localization of button tooltip text */\n      l10nID?: string;\n      /** Button click callback */\n      onClick(props: SectionEventHookArgs): void;\n    }\n\n    interface BasicHookArgs {\n      /** Registered pane id */\n      paneID: string;\n      /** Document of section */\n      doc: Document;\n      /** Section body */\n      body: HTMLDivElement;\n    }\n\n    interface UIHookArgs {\n      item: Zotero.Item;\n      tabType: \"library\" | \"reader\" | \"note\" | string;\n      editable: boolean;\n\n      /** Set l10n args for section header */\n      setL10nArgs(l10nArgs: string): void;\n      /** Set pane enabled state */\n      setEnabled<T extends boolean>(enabled: T): T extends true ? false : true;\n      /** Set summary in header */\n      setSectionSummary<T extends string>(summary: T): T;\n      /** Set the status of buttons */\n      setSectionButtonStatus(\n        buttonType: string,\n        status: {\n          disabled?: boolean;\n          hidden?: boolean;\n        },\n      ): void;\n    }\n\n    interface SectionHookArgs\n      extends Readonly<BasicHookArgs>,\n        Readonly<UIHookArgs> {}\n\n    interface SectionInitHookArgs extends SectionHookArgs {\n      /** A `refresh` is exposed to plugins to allows plugins to refresh the section when necessary */\n      refresh(): Promise<void>;\n    }\n\n    type SectionEventHookArgs = SectionHookArgs & { readonly event: Event };\n\n    interface UIOptions {\n      /** Icon URI in light mode */\n      icon: string;\n      darkIcon?: string;\n      /** Pane data-l10n-id for localization of section head `label` or Sidenav data-l10n-id for localization of sidenav `tooltiptext` */\n      l10nID: string;\n      l10nArgs?: string;\n    }\n\n    interface ItemDetailsSectionOptions<T extends string> {\n      /** Unique pane ID */\n      paneID: ExcludeBuiltInIDs<T>;\n      /** Set plugin ID to auto remove section when plugin is disabled/removed */\n      pluginID: string;\n      sidenav: UIOptions;\n      header: UIOptions;\n      onRender?: SectionHook[\"render\"];\n      onAsyncRender?: SectionHook[\"asyncRender\"];\n      onInit?: SectionHook[\"init\"];\n      onDestroy?: SectionHook[\"destroy\"];\n      onItemChange?: SectionHook[\"itemChange\"];\n      onToggle?: SectionHook[\"toggle\"];\n\n      /** Pane fragment as string */\n      bodyXHTML?: string;\n      sectionButtons?: SectionButton[];\n    }\n  }\n\n  namespace ItemPaneManagerInfoRow {\n    type ExcludeBuiltFields<T extends string> =\n      T extends _ZoteroTypes.Item.ItemField ? never : T;\n\n    interface BasicHookArgs {\n      rowID: string;\n      item: Zotero.Item;\n      tabType: \"library\" | \"reader\" | \"note\" | string;\n      editable: boolean;\n    }\n\n    interface SetDataHookArgs extends BasicHookArgs {\n      value: string;\n    }\n\n    interface ItemChangeHookArgs extends BasicHookArgs {\n      setEnabled: (enabled: boolean) => void;\n      setEditable: (editable: boolean) => void;\n    }\n\n    interface InfoRowOptions<T extends string> {\n      rowID: ExcludeBuiltFields<T>;\n      pluginID: string;\n      label: {\n        l10nID: string;\n      };\n      position?: \"start\" | \"afterCreators\" | \"end\";\n      multiline?: boolean;\n      nowrap?: boolean;\n      editable?: boolean;\n      onGetData: (options: BasicHookArgs) => string;\n      onSetData?: (options: SetDataHookArgs) => void;\n      onItemChange?: (options: ItemChangeHookArgs) => void;\n    }\n  }\n}\n\ndeclare namespace Zotero {\n  const ItemPaneManager: _ZoteroTypes.ItemPaneManager;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace ItemTreeManager {\n    /**\n     * @type {object}\n     * @property {string} dataKey - Required, see use in ItemTree#_getRowData()\n     * @property {string} label - The column label. Either a string or the id to an i18n string.\n     * @property {string} [pluginID] - Set plugin ID to auto remove column when plugin is removed.\n     * @property {string[]} [enabledTreeIDs=[]] - Which tree ids the column should be enabled in. If undefined, enabled in main tree. If [\"*\"], enabled in all trees.\n     * @property {string[]} [defaultIn] - Will be deprecated. Types of trees the column is default in. Can be [default, feed];\n     * @property {string[]} [disabledIn] - Will be deprecated. Types of trees where the column is not available\n     * @property {boolean} [sortReverse=false] - Default: false. Set to true to reverse the sort order\n     * @property {number} [flex=1] - Default: 1. When the column is added to the tree how much space it should occupy as a flex ratio\n     * @property {string} [width] - A column width instead of flex ratio. See above.\n     * @property {boolean} [fixedWidth] - Default: false. Set to true to disable column resizing\n     * @property {boolean} [staticWidth] - Default: false. Set to true to prevent columns from changing width when the width of the tree increases or decreases\n     * @property {number} [minWidth] - Override the default [20px] column min-width for resizing\n     * @property {React.Component} [iconLabel] - Set an Icon label instead of a text-based one\n     * @property {string} [iconPath] - Set an Icon path, overrides {iconLabel}\n     * @property {string | React.Component} [htmlLabel] - Set an HTML label, overrides {iconLabel} and {label}. Can be a HTML string or a React component.\n     * @property {boolean} [showInColumnPicker=true] - Default: true. Set to true to show in column picker.\n     * @property {boolean} [columnPickerSubMenu=false] - Default: false. Set to true to display the column in \"More Columns\" submenu of column picker.\n     * @property {boolean} [primary] - Should only be one column at the time. Title is the primary column\n     * @property {(item: Zotero.Item, dataKey: string) => string} [dataProvider] - Custom data provider that is called when rendering cells\n     * @property {(index: number, data: string, column: ItemTreeColumnOptions & {className: string}, isFirstColumn: boolean, doc: Document) => HTMLElement} [renderCell] - The cell renderer function\n     * @property {string[]} [zoteroPersist] - Which column properties should be persisted between zotero close\n     */\n    interface ItemTreeColumnOptions {\n      dataKey: string;\n      label: string;\n      pluginID?: string;\n      enabledTreeIDs?: string[];\n      defaultIn?: string[];\n      disabledIn?: string[];\n      sortReverse?: boolean;\n      flex?: number;\n      width?: string;\n      fixedWidth?: boolean;\n      staticWidth?: boolean;\n      minWidth?: number;\n      iconLabel?: React.ReactElement;\n      iconPath?: string;\n      htmlLabel?: string | React.ReactElement;\n      showInColumnPicker?: boolean;\n      columnPickerSubMenu?: boolean;\n      primary?: boolean;\n      custom?: boolean;\n      dataProvider?: (item: Zotero.Item, dataKey: string) => string;\n      renderCell?: (\n        index: number,\n        data: string,\n        column: ItemTreeColumnOptions & { className: string },\n        isFirstColumn: boolean,\n        doc: Document,\n      ) => HTMLElement;\n      zoteroPersist?: string[];\n    }\n\n    type RequiredCustomColumnOptionKeys = \"dataKey\" | \"label\" | \"pluginID\";\n    type RequiredCustomColumnOptionsPartial = Required<\n      Pick<ItemTreeColumnOptions, RequiredCustomColumnOptionKeys>\n    >;\n    type CustomColumnOptionsPartial = Omit<\n      ItemTreeColumnOptions,\n      RequiredCustomColumnOptionKeys\n    >;\n    type ItemTreeCustomColumnOptions = RequiredCustomColumnOptionsPartial &\n      CustomColumnOptionsPartial;\n    type ItemTreeCustomColumnFilters = Partial<\n      Omit<ItemTreeCustomColumnOptions, \"enabledTreeIDs\">\n    >;\n  }\n  interface ItemTreeManager {\n    _observerAdded: boolean;\n    _customColumns: Record<string, ItemTreeManager.ItemTreeCustomColumnOptions>;\n\n    /**\n     * Register a custom column. All registered columns must be valid, and must have a unique dataKey.\n     * Although it's async, resolving does not promise the item trees are updated.\n     *\n     * Note that the `dataKey` you use here may be different from the one returned by the function.\n     * This is because the `dataKey` is prefixed with the `pluginID` to avoid conflicts after the column is registered.\n     * @param {ItemTreeCustomColumnOptions} options - An option to register\n     * @returns {string | false} - The dataKey(s) of the added column(s) or false if no columns were added\n     * @example\n     * A minimal custom column:\n     * ```js\n     * // You can unregister the column later with Zotero.ItemTreeManager.unregisterColumns(registeredDataKey);\n     * const registeredDataKey = await Zotero.ItemTreeManager.registerColumn(\n     * {\n     *     dataKey: 'rtitle',\n     *     label: 'Reversed Title',\n     *     pluginID: 'make-it-red@zotero.org', // Replace with your plugin ID\n     *     dataProvider: (item, dataKey) => {\n     *         return item.getField('title').split('').reverse().join('');\n     *     },\n     * });\n     * ```\n     * @example\n     * A custom column using all available options.\n     * Note that the column will only be shown in the main item tree.\n     * ```js\n     * const registeredDataKey = await Zotero.ItemTreeManager.registerColumn(\n     * {\n     *     dataKey: 'rtitle',\n     *     label: 'Reversed Title',\n     *     enabledTreeIDs: ['main'], // only show in the main item tree\n     *     sortReverse: true, // sort by increasing order\n     *     flex: 0, // don't take up all available space\n     *     width: 100, // assign fixed width in pixels\n     *     fixedWidth: true, // don't allow user to resize\n     *     staticWidth: true, // don't allow column to be resized when the tree is resized\n     *     minWidth: 50, // minimum width in pixels\n     *     iconPath: 'chrome://zotero/skin/tick.png', // icon to show in the column header\n     *     htmlLabel: '<span style=\"color: red;\">reversed title</span>', // use HTML in the label. This will override the label and iconPath property\n     *     showInColumnPicker: true, // show in the column picker\n     *     columnPickerSubMenu: true, // show in the column picker submenu\n     *     pluginID: 'make-it-red@zotero.org', // plugin ID, which will be used to unregister the column when the plugin is unloaded\n     *     dataProvider: (item, dataKey) => {\n     *         // item: the current item in the row\n     *         // dataKey: the dataKey of the column\n     *         // return: the data to display in the column\n     *         return item.getField('title').split('').reverse().join('');\n     *     },\n     * \t   renderCell: (index, data, column) => {\n     *         // index: the index of the row\n     *         // data: the data to display in the column, return of `dataProvider`\n     *         // column: the column options\n     *         // return: the HTML to display in the cell\n     *         const cell = document.createElement('span');\n     *         cell.className = `cell ${column.className}`;\n     *         cell.textContent = data;\n     *         cell.style.color = 'red';\n     *         return cell;\n     *     },\n     *     zoteroPersist: ['width', 'hidden', 'sortDirection'], // persist the column properties\n     * });\n     * ```\n     */\n    registerColumn(\n      options: ItemTreeManager.ItemTreeCustomColumnOptions,\n    ): string | false;\n\n    /**\n     * @deprecated Use `registerColumn` instead\n     */\n    registerColumns(\n      options: ItemTreeManager.ItemTreeCustomColumnOptions,\n    ): Promise<string | false>;\n\n    /**\n     * @deprecated Use `registerColumn` instead\n     */\n    registerColumns(\n      options: ItemTreeManager.ItemTreeCustomColumnOptions[],\n    ): Promise<string[] | false>;\n\n    /**\n     * Unregister a custom column.\n     * Although it's async, resolving does not promise the item trees are updated.\n     * @param {string} dataKeys - The dataKey of the column to unregister\n     * @returns {boolean} true if the column are unregistered\n     * @example\n     * ```js\n     * Zotero.ItemTreeManager.unregisterColumn(registeredDataKey);\n     * ```\n     */\n    unregisterColumn(dataKey: string): boolean;\n\n    /**\n     * @deprecated Use `unregisterColumn` instead\n     */\n    unregisterColumns(dataKeys: string | string[]): Promise<boolean>;\n\n    /**\n     * Check if a column is registered as a custom column\n     * @param {string} dataKey - The dataKey of the column\n     * @returns {boolean} true if the column is registered as a custom column\n     */\n    isCustomColumn(dataKey: string): boolean;\n\n    /**\n     * A centralized data source for custom columns. This is used by the ItemTreeRow to get data.\n     * @param {Zotero.Item} item - The item to get data from\n     * @param {string} dataKey - The dataKey of the column\n     * @returns {string}\n     */\n    getCustomCellData(item: Zotero.Item, dataKey: string): string;\n\n    refreshColumns(): void;\n  }\n}\n\ndeclare namespace Zotero {\n  const ItemTreeManager: _ZoteroTypes.ItemTreeManager;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace MenuManager {\n    // Target type groups for better organization\n    type MainMenubarTarget =\n      | \"main/menubar/file\"\n      | \"main/menubar/edit\"\n      | \"main/menubar/view\"\n      | \"main/menubar/go\"\n      | \"main/menubar/tools\"\n      | \"main/menubar/help\";\n\n    type ReaderMenubarTarget =\n      | \"reader/menubar/file\"\n      | \"reader/menubar/edit\"\n      | \"reader/menubar/view\"\n      | \"reader/menubar/go\"\n      | \"reader/menubar/window\";\n\n    type LibraryTarget =\n      | \"main/library/item\"\n      | \"main/library/collection\"\n      | \"main/library/addAttachment\"\n      | \"main/library/addNote\";\n\n    type NotesPaneTarget =\n      | \"notesPane/addItemNote\"\n      | \"notesPane/addStandaloneNote\";\n\n    /**\n     * Valid menu targets where custom menus can be registered\n     */\n    type ValidTarget =\n      | MainMenubarTarget\n      | ReaderMenubarTarget\n      | LibraryTarget\n      | NotesPaneTarget\n      | \"main/tab\"\n      | \"itemPane/info/row\"\n      | \"sidenav/locate\";\n\n    /**\n     * Valid menu item types\n     */\n    type MenuType = \"menuitem\" | \"separator\" | \"submenu\";\n\n    /**\n     * Valid tab types for enableForTabTypes property\n     */\n    type TabType =\n      | \"library\"\n      | \"reader/*\"\n      | \"reader/pdf\"\n      | \"reader/epub\"\n      | \"reader/snapshot\"\n      | \"note\"\n      | string;\n\n    /**\n     * Base context object provided to menu event handlers\n     */\n    interface BaseMenuContext {\n      /** Reference to the menu element */\n      readonly menuElem: XULElement;\n      /** Set l10n arguments for the menu item */\n      setL10nArgs(l10nArgs: object): void;\n      /** Enable or disable the menu item */\n      setEnabled(enabled: boolean): void;\n      /** Show or hide the menu item */\n      setVisible(visible: boolean): void;\n      /** Set the icon for the menu item */\n      setIcon(icon: string, darkIcon?: string): void;\n    }\n\n    /**\n     * Common tab-related properties\n     */\n    interface TabProperties {\n      /** Type of the tab */\n      tabType: string;\n      /** ID of the tab */\n      tabID: string;\n      /** Subtype of the tab (e.g., reader type) */\n      tabSubType?: string;\n    }\n\n    /**\n     * Common item-related properties\n     */\n    interface ItemProperties {\n      /** Array of items */\n      items: Zotero.Item[];\n    }\n\n    /**\n     * Context object for main window tab menus\n     */\n    interface TabMenuContext\n      extends BaseMenuContext,\n        TabProperties,\n        ItemProperties {}\n\n    /**\n     * Context object for library menus (item, collection, addAttachment, addNote)\n     */\n    interface LibraryMenuContext extends BaseMenuContext {\n      /** Array of selected items */\n      items?: Zotero.Item[];\n      /** Collection tree row (for collection menus) */\n      collectionTreeRow?: any;\n      /** Type of the tab */\n      tabType: \"library\";\n      /** Subtype of the tab */\n      tabSubType: undefined;\n      /** ID of the tab */\n      tabID: \"zotero-pane\";\n    }\n\n    /**\n     * Context object for item pane info row menus\n     */\n    interface ItemPaneMenuContext\n      extends BaseMenuContext,\n        TabProperties,\n        ItemProperties {\n      /** Whether the field is editable */\n      editable: boolean;\n      /** Name of the field */\n      fieldName: string;\n      /** Weak reference to the target element */\n      targetElem?: WeakRef<Element>;\n    }\n\n    /**\n     * Context object for sidenav locate menus\n     */\n    interface SidenavMenuContext extends BaseMenuContext, ItemProperties {\n      /** Type of the tab */\n      tabType?: string;\n      /** ID of the tab */\n      tabID?: string;\n      /** Subtype of the tab */\n      tabSubType?: string;\n    }\n\n    /**\n     * Context object for notes pane menus\n     */\n    interface NotesPaneMenuContext extends BaseMenuContext, ItemProperties {\n      /** ID of the tab */\n      tabID?: string;\n      /** Type of the tab */\n      tabType?: string;\n      /** Subtype of the tab */\n      tabSubType?: string;\n    }\n\n    /**\n     * Context object for menubar menus (main window and reader)\n     */\n    interface MenubarMenuContext extends BaseMenuContext, ItemProperties {\n      /** Type of the tab */\n      tabType: string;\n      /** Subtype of the tab */\n      tabSubType?: string;\n      /** ID of the tab */\n      tabID?: string;\n    }\n\n    /**\n     * Union type for all possible menu contexts\n     */\n    type MenuContext =\n      | TabMenuContext\n      | LibraryMenuContext\n      | ItemPaneMenuContext\n      | SidenavMenuContext\n      | NotesPaneMenuContext\n      | MenubarMenuContext\n      | (BaseMenuContext & Record<string, any>);\n\n    /**\n     * Mapping of target types to their corresponding context types\n     */\n    type TargetToContextMap = {\n      \"main/tab\": TabMenuContext;\n      \"main/library/item\": LibraryMenuContext;\n      \"main/library/collection\": LibraryMenuContext;\n      \"main/library/addAttachment\": LibraryMenuContext;\n      \"main/library/addNote\": LibraryMenuContext;\n      \"itemPane/info/row\": ItemPaneMenuContext;\n      \"sidenav/locate\": SidenavMenuContext;\n      \"notesPane/addItemNote\": NotesPaneMenuContext;\n      \"notesPane/addStandaloneNote\": NotesPaneMenuContext;\n    } & {\n      [K in MainMenubarTarget]: MenubarMenuContext;\n    } & {\n      [K in ReaderMenubarTarget]: MenubarMenuContext;\n    };\n\n    /**\n     * Generic menu data interface with context-specific event handlers\n     */\n    interface MenuData<TContext = MenuContext> {\n      menuType: MenuType;\n      l10nID?: string;\n      l10nArgs?: object;\n      icon?: string;\n      darkIcon?: string;\n      enableForTabTypes?: TabType[];\n      onShowing?: (event: Event, context: TContext) => void;\n      onShown?: (event: Event, context: TContext) => void;\n      onHiding?: (event: Event, context: TContext) => void;\n      onHidden?: (event: Event, context: TContext) => void;\n      onCommand?: (event: Event, context: TContext) => void;\n      menus?: MenuData<TContext>[];\n      /** @internal Generated unique key for the menu item */\n      _key?: string;\n    }\n\n    /**\n     * Generic menu options interface that infers context type from target\n     */\n    interface MenuOptions<T extends ValidTarget = ValidTarget> {\n      menuID: string;\n      pluginID: string;\n      target: T;\n      menus: MenuData<TargetToContextMap[T]>[];\n      // l10nFiles?: string[];\n    }\n\n    // Specific menu option types for better type inference\n    type TabMenuOptions = MenuOptions<\"main/tab\">;\n    type LibraryMenuOptions = MenuOptions<LibraryTarget>;\n    type ItemPaneMenuOptions = MenuOptions<\"itemPane/info/row\">;\n    type SidenavMenuOptions = MenuOptions<\"sidenav/locate\">;\n    type NotesPaneMenuOptions = MenuOptions<NotesPaneTarget>;\n    type MenubarMenuOptions = MenuOptions<\n      MainMenubarTarget | ReaderMenubarTarget\n    >;\n\n    /**\n     * Union type for all menu options with proper context typing\n     */\n    type AllMenuOptions = MenuOptions<ValidTarget>;\n\n    /**\n     * Arguments for updating menu popup\n     */\n    interface UpdateMenuPopupArgs {\n      /** The event that triggered the menu creation */\n      event?: Event;\n      /** Function to get the context object for the menu */\n      getContext?: () => Partial<MenuContext>;\n      /** The type of the tab, only for main window menubar menus */\n      tabType?: string;\n      /** The subtype of the tab/reader type, only for main window menubar menus and reader window menubar menus */\n      tabSubType?: string;\n      /** ID of the tab */\n      tabID?: string;\n      /** Whether to skip grouping the menus */\n      skipGrouping?: boolean;\n    }\n\n    // Utility types for backwards compatibility and internal use\n    type RequiredMenuOptionKeys = \"menuID\" | \"pluginID\" | \"target\";\n    type MenuCustomOptions = Omit<AllMenuOptions, \"menus\"> & {\n      menus?: AllMenuOptions[\"menus\"];\n    };\n  }\n\n  interface MenuManager {\n    /**\n     * Register a custom menu. All registered menus must be valid and have a unique menuID.\n     * The context type is automatically inferred based on the target type.\n     *\n     * @param {MenuOptions} options - Menu registration options\n     * @returns {string | false} - The menuID of the registered menu or false if registration failed\n     * @example\n     * A minimal custom menu for library items:\n     * ```js\n     * const registeredMenuID = Zotero.MenuManager.registerMenu({\n     *   menuID: 'my-custom-menu',\n     *   pluginID: 'my-plugin@example.com',\n     *   target: 'main/library/item', // LibraryMenuContext is inferred\n     *   menus: [{\n     *     menuType: 'menuitem',\n     *     l10nID: 'my-menu-item-label',\n     *     onCommand: (event, context) => {\n     *       // context is LibraryMenuContext with full type safety\n     *       console.log('Processing', context.items?.length, 'items');\n     *       console.log('Tab type:', context.tabType); // \"library\"\n     *     }\n     *   }]\n     * });\n     * ```\n     * @example\n     * A menu for item pane with field-specific context:\n     * ```js\n     * const registeredMenuID = Zotero.MenuManager.registerMenu({\n     *   menuID: 'field-menu',\n     *   pluginID: 'my-plugin@example.com',\n     *   target: 'itemPane/info/row', // ItemPaneMenuContext is inferred\n     *   menus: [{\n     *     menuType: 'menuitem',\n     *     l10nID: 'edit-field',\n     *     onShowing: (event, context) => {\n     *       // context is ItemPaneMenuContext with field-specific properties\n     *       context.setEnabled(context.editable);\n     *       console.log('Field:', context.fieldName, 'Items:', context.items);\n     *     },\n     *     onCommand: (event, context) => {\n     *       // Edit the specific field with full type safety\n     *       editField(context.items[0], context.fieldName);\n     *     }\n     *   }]\n     * });\n     * ```\n     * @example\n     * A complex custom menu for tab context with proper typing:\n     * ```js\n     * const registeredMenuID = Zotero.MenuManager.registerMenu({\n     *   menuID: 'tab-menu',\n     *   pluginID: 'my-plugin@example.com',\n     *   target: 'main/tab', // TabMenuContext is inferred\n     *   menus: [{\n     *     menuType: 'menuitem',\n     *     l10nID: 'tab-action',\n     *     onCommand: (event, context) => {\n     *       // context is TabMenuContext with tab-specific properties\n     *       console.log('Tab ID:', context.tabID);\n     *       console.log('Tab Type:', context.tabType);\n     *       console.log('Tab SubType:', context.tabSubType);\n     *       processTabItem(context.items[0]);\n     *     }\n     *   }]\n     * });\n     * ```\n     */\n    registerMenu<T extends MenuManager.ValidTarget>(\n      options: MenuManager.MenuOptions<T>,\n    ): string | false;\n\n    /**\n     * Unregister a custom menu by menuID.\n     *\n     * @param {string} menuID - The menuID of the menu to unregister\n     * @returns {boolean} - True if the menu was successfully unregistered\n     * @example\n     * ```js\n     * Zotero.MenuManager.unregisterMenu('my-custom-menu');\n     * ```\n     */\n    unregisterMenu(menuID: string): boolean;\n\n    /**\n     * Update a popup element with custom menu items for the specified target type.\n     * This method is typically called internally by Zotero when menus are shown.\n     *\n     * @param {XULPopupElement} popupElem - The popup element to update\n     * @param {string} targetType - The target type of the menu\n     * @param {UpdateMenuPopupArgs} [args] - Additional options for updating the popup\n     * @example\n     * ```js\n     * // For main window tab context menu\n     * Zotero.MenuManager.updateMenuPopup(popup, 'main/tab', {\n     *   getContext: () => {\n     *     let item = Zotero.Items.get(tab.data.itemID);\n     *     return {\n     *       items: [item],\n     *       tabType: tab.type,\n     *       tabID: id,\n     *       tabSubType: item.attachmentReaderType,\n     *     };\n     *   }\n     * });\n     * ```\n     * @example\n     * ```js\n     * // For library item context menu\n     * Zotero.MenuManager.updateMenuPopup(menu, 'main/library/item', {\n     *   getContext: () => ({\n     *     collectionTreeRow,\n     *     items,\n     *     tabType: 'library',\n     *     tabSubType: undefined,\n     *     tabID: 'zotero-pane',\n     *   })\n     * });\n     * ```\n     * @example\n     * ```js\n     * // For item pane info row menu\n     * Zotero.MenuManager.updateMenuPopup(popup, 'itemPane/info/row', {\n     *   event: undefined,\n     *   getContext: () => ({\n     *     items: [this.item],\n     *     tabID,\n     *     tabType: this.tabType,\n     *     tabSubType,\n     *     editable: this.editable,\n     *     fieldName,\n     *     targetElem: targetElem ? new WeakRef(targetElem) : undefined,\n     *   })\n     * });\n     * ```\n     */\n    updateMenuPopup(\n      popupElem: XULPopupElement,\n      targetType: MenuManager.ValidTarget,\n      args?: MenuManager.UpdateMenuPopupArgs,\n    ): void;\n  }\n}\n\ndeclare namespace Zotero {\n  const MenuManager: _ZoteroTypes.MenuManager;\n}\n\ndeclare namespace _ZoteroTypes {\n  interface Plugins {\n    init(): Promise<void>;\n    getRootURI(id: string): Promise<string>;\n    resolveURI(id: string, uri: string | URL): Promise<string>;\n    getName(id: string): Promise<string>;\n    getIconURI(id: string, idealSize: number): Promise<string | null>;\n    addObserver(observer: Plugins.observer): void;\n    removeObserver(observer: Plugins.observer): void;\n  }\n\n  namespace Plugins {\n    type _observerFunction = (\n      params: { id: string; version: string; rootURI: string },\n      reason: number,\n    ) => void;\n\n    type observer = {\n      install?: _observerFunction;\n      startup?: _observerFunction;\n      shutdown?: _observerFunction;\n      uninstall?: _observerFunction;\n    };\n  }\n}\n\ndeclare namespace Zotero {\n  const Plugins: _ZoteroTypes.Plugins;\n}\n\ndeclare namespace _ZoteroTypes {\n  interface PreferencePanes {\n    builtInPanes: _ZoteroTypes._PreferencePaneOption[];\n    pluginPanes: _ZoteroTypes._PreferencePaneOption[];\n\n    /**\n     * Register a pane to be displayed in the preferences. The pane XHTML (`src`)\n     * is loaded as a fragment, not a full document, with XUL as the default\n     * namespace and (X)HTML tags available under `html:`.\n     *\n     * The pane will be unregistered automatically when the registering plugin\n     * shuts down.\n     *\n     * @param {Object} options\n     * @param {String} options.pluginID ID of the plugin registering the pane\n     * @param {String} options.src URI of an XHTML fragment, optionally relative to the plugin's root\n     * @param {String} [options.id] Represents the pane and must be unique. Automatically generated if not provided\n     * @param {String} [options.parent] ID of parent pane (if provided, pane is hidden from the sidebar)\n     * @param {String} [options.label] Displayed as the pane's label in the sidebar.\n     * \t\tIf not provided, the plugin's name is used\n     * @param {String} [options.image] URI of an icon to be displayed in the navigation sidebar, optionally relative to\n     * \t\tthe plugin's root. If not provided, the plugin's icon (from manifest.json) is used.\n     * @param {String[]} [options.scripts] Array of URIs of scripts to load along with the pane, optionally relative to\n     * \t\tthe plugin's root\n     * @param {String[]} [options.stylesheets] Array of URIs of CSS stylesheets to load along with the pane, optionally\n     * \t\trelative to the plugin's root\n     * @param {String} [options.helpURL] If provided, a help button will be displayed under the pane\n     * \t\tand the provided URL will open when it is clicked\n     * @return {Promise<String>} Resolves to the ID of the pane if successfully added\n     */\n    register(options: _ZoteroTypes._PreferencePaneOption): Promise<string>;\n\n    /**\n     * Called automatically on plugin shutdown.\n     *\n     * @param {String} id\n     */\n    unregister(id: string): void;\n\n    _refreshPreferences(): void;\n\n    _ensureObserverAdded(): void;\n  }\n\n  type _PreferencePaneOption = {\n    pluginID: string;\n    src: string;\n    id?: string;\n    parent?: string;\n    label?: string;\n    image?: string;\n    scripts?: string[];\n    stylesheets?: string[];\n    helpURL?: string;\n    defaultXUL?: boolean;\n  };\n}\n\ndeclare namespace Zotero {\n  const PreferencePanes: _ZoteroTypes.PreferencePanes;\n}\n\n\ndeclare namespace Zotero {\n  namespace Prefs {\n    /**\n     * Retrieve a preference\n     */\n    function get(\n      pref: string,\n      global?: boolean,\n    ): boolean | string | number | undefined;\n\n    /**\n     * Set a preference\n     */\n    function set(\n      pref: string,\n      value: boolean | string | number,\n      global?: boolean,\n    ): any;\n\n    function clear(pref: string, global?: boolean): void;\n\n    function resetBranch(exclude?: string[], branch?: string): void;\n\n    /**\n     * @param {String} name - Preference name; if not global, this is on the extensions.zotero branch\n     * @param {Function} handler\n     * @param {Boolean} [global]\n     * @return {Symbol} - Symbol to pass to unregisterObserver()\n     */\n    function registerObserver(\n      name: string,\n      handler: Function,\n      global?: boolean,\n    ): symbol;\n\n    /**\n     * @param {Symbol} symbol - Symbol returned from registerObserver()\n     */\n    function unregisterObserver(symbol: symbol): void;\n\n    const rootBranch: nsIPrefBranch;\n  }\n}\n\n\ndeclare namespace Zotero {\n  class ProgressWindow {\n    constructor(options?: { window?: Window; closeOnClick?: boolean });\n\n    /**\n     * Shows the progress window\n     */\n    show(): boolean;\n\n    /**\n     * Changes the \"headline\" shown at the top of the progress window\n     */\n    changeHeadline(text: string, icon?: string, postText?: string): void;\n\n    /**\n     * Adds a line to the progress window with the specified icon\n     */\n    addLines(\n      labels: string | { [key: string | number | symbol]: string },\n      icons: string | { [key: string | number | symbol]: string },\n    ): void;\n\n    /**\n     * Add a description to the progress window\n     *\n     * <a> elements are turned into XUL links\n     */\n    addDescription(text: string): void;\n\n    /**\n     * Sets a timer to close the progress window. If a previous close timer was set,\n     * clears it.\n     * @param {Integer} ms The number of milliseconds to wait before closing the progress\n     *     window.\n     * @param {Boolean} [requireMouseOver] If true, wait until the mouse has touched the\n     *     window before closing.\n     */\n    startCloseTimer(ms: number, requireMouseOver?: boolean): void;\n\n    /**\n     * Immediately closes the progress window if it is open.\n     */\n    close(): void;\n\n    ItemProgress: _ZoteroTypes.ItemProgress;\n  }\n\n  const ProgressWindowSet: {\n    closeAll(): void;\n  };\n}\n\ndeclare namespace _ZoteroTypes {\n  type ItemProgress = {\n    /**\n     * Creates a new object representing a line in the progressWindow. This is the OO\n     * version of addLines() above.\n     */\n    new (\n      iconSrc: string,\n      text: string,\n      parentItemProgress?: ItemProgress,\n    ): ItemProgress;\n\n    /**\n     * Sets the current save progress for this item.\n     * @param {Integer} percent A percentage from 0 to 100.\n     */\n    setProgress(percent: number): void;\n\n    /**\n     * Sets the icon for this item.\n     * @param {String} iconSrc\n     */\n    setIcon(iconSrc: string): void;\n\n    setText(text: string): void;\n\n    /**\n     * Indicates that an error occurred saving this item.\n     */\n    setError(): void;\n\n    Translation: {\n      operationInProgress(): void;\n      cannotEditCollection(): void;\n      cannotAddToPublications(): void;\n      cannotAddToFeed(): void;\n      scrapingTo(libraryID?: number, collection?: Zotero.Collection): void;\n      doneHandler(obj?: any, returnValue?: boolean): void;\n      _scrapeError(description: string): void;\n    };\n  };\n}\n\n\n// chrome/content/zotero/xpcom/reader.js\n\ndeclare namespace _ZoteroTypes {\n  namespace Reader {\n    interface State {\n      pageIndex: number;\n      scale: number | \"auto\" | \"page-width\" | \"page-fit\";\n      top: number;\n      left: number;\n      scrollMode: number;\n      spreadMode: 0 | 1 | 2;\n    }\n\n    interface SecondViewState {\n      splitSize: string;\n      splitType: string;\n      pageIndex: number;\n      scale: number;\n      top: number;\n      left: number;\n    }\n\n    interface Location {\n      annotationKey?: string;\n      id?: string;\n      pageIndex?: number;\n      pageLabel?: string;\n      position?: {\n        pageIndex?: number;\n        rects?: Array<number[]>;\n        paths?: unknown;\n      };\n    }\n\n    interface OpenOptions {\n      title?: string;\n      tabIndex?: number;\n      tabID?: string;\n      openInBackground?: boolean;\n      openInWindow?: boolean;\n      allowDuplicate?: boolean;\n    }\n\n    /**\n     * @deprecated Use `EventHandler` instead.\n     * @see EventHandler\n     */\n    type ReaderEventHandler<\n      ParamsType = {},\n      AppendType = () => void,\n      EventType = \"\",\n    > = (event: {\n      reader: _ZoteroTypes.ReaderInstance;\n      doc: Document;\n      params: ParamsType;\n      append: AppendType;\n      type: EventType;\n    }) => void | Promise<void>;\n    type _EventKey = keyof _ZoteroTypes.Reader.ReaderEventMap; // internal type\n    type EventParams<T extends _EventKey> = {\n      reader: ReaderInstance;\n      doc: Document;\n      params: _ZoteroTypes.Reader.ReaderEventMap[T];\n      append: _ZoteroTypes.Reader.ReaderAppendMap[T];\n      type: T;\n    };\n    type EventHandler<T extends _EventKey> = (\n      event: EventParams<T>,\n    ) => void | Promise<void>;\n\n    interface ReaderEventMap {\n      renderTextSelectionPopup: {\n        annotation: _ZoteroTypes.Annotations.AnnotationJson;\n      };\n      renderSidebarAnnotationHeader: {\n        annotation: _ZoteroTypes.Annotations.AnnotationJson;\n      };\n      renderToolbar: {};\n      createColorContextMenu: { x: number; y: number };\n      createViewContextMenu: { x: number; y: number };\n      createAnnotationContextMenu: {\n        ids: string[];\n        currentID: string;\n        x: number;\n        y: number;\n      };\n      createThumbnailContextMenu: {\n        x: number;\n        y: number;\n        pageIndexes: number[];\n      };\n      createSelectorContextMenu: { x: number; y: number };\n    }\n\n    interface ReaderAppendType {\n      appendDOM: (...node: Array<Node | string>) => void;\n      appendMenu: (params: {\n        slider?: boolean;\n        size?: number;\n        label: string;\n        disabled?: boolean;\n        persistent?: boolean;\n        onCommand: (width?: number) => void;\n      }) => void;\n    }\n\n    interface ReaderAppendMap {\n      renderTextSelectionPopup: ReaderAppendType[\"appendDOM\"];\n      renderSidebarAnnotationHeader: ReaderAppendType[\"appendDOM\"];\n      renderToolbar: ReaderAppendType[\"appendDOM\"];\n      createColorContextMenu: ReaderAppendType[\"appendMenu\"];\n      createViewContextMenu: ReaderAppendType[\"appendMenu\"];\n      createAnnotationContextMenu: ReaderAppendType[\"appendMenu\"];\n      createThumbnailContextMenu: ReaderAppendType[\"appendMenu\"];\n      createSelectorContextMenu: ReaderAppendType[\"appendMenu\"];\n    }\n  }\n\n  interface ReaderInstance<\n    T extends keyof Reader.ViewTypeMap = \"pdf\" | \"epub\" | \"snapshot\",\n  > extends Reader.InternalReader<T> {\n    pdfStateFileName: string;\n    annotationItemIDs: number[];\n    itemID?: number;\n    state: Reader.State;\n    _instanceID: string;\n    _window?: Window;\n    _iframe?: XUL.Element & _ZoteroTypes.anyObj;\n    _iframeWindow?: Window;\n    _title: string;\n    _isReaderInitialized: boolean;\n    _showItemPaneToggle: boolean;\n    _initPromise: Promise<any>;\n    _internalReader: Reader.InternalReader<T>;\n    _item: Zotero.Item;\n    _bottomPlaceholderHeight: number;\n    _sidebarOpen: boolean;\n    _sidebarWidth: number;\n    _tabContainer: XUL.Box;\n    readonly type: T;\n    stateFileName: string;\n    tabID: string;\n    focus(): void;\n    getSecondViewState(): Reader.SecondViewState | undefined;\n    migrateMendeleyColors(\n      libraryID: number,\n      annotations: Array<{ id: string; color: string }>,\n    ): Promise<boolean>;\n    open(options: {\n      itemID: number;\n      state: Reader.State;\n      location?: Reader.Location;\n      secondViewState?: Reader.SecondViewState;\n    }): Promise<boolean>;\n    uninit(): void;\n    updateTitle(): void;\n    setAnnotations(items: Zotero.Item[]): void;\n    unsetAnnotations(keys: readonly number[] | string[]): void;\n    navigate(location: Reader.Location): Promise<void>;\n    enableAddToNote(enable: boolean): void;\n    setSidebarWidth(width: number): void;\n    setSidebarOpen(open: boolean): void;\n    focusLastToolbarButton(): void;\n    tabToolbar(reverse: boolean): void;\n    focusFirst(): void;\n    setBottomPlaceholderHeight(height: number): Promise<void>;\n    setToolbarPlaceholderWidth(height: number): Promise<void>;\n    isHandToolActive(): boolean;\n    isZoomAutoActive(): boolean;\n    isZoomPageWidthActive(): boolean;\n    isZoomPageHeightActive(): boolean;\n    isSplitVerticallyActive(): boolean;\n    isSplitHorizontallyActive(): boolean;\n    allowNavigateFirstPage(): boolean;\n    allowNavigateLastPage(): boolean;\n    allowNavigateBack(): boolean;\n    allowNavigateForward(): boolean;\n    promptToTransferAnnotations(): boolean;\n    promptToDeletePages(num: number): boolean;\n    reload(data: { rotatedPageIndexes: number[] }): Promise<void>;\n    menuCmd(\n      cmd:\n        | \"transferFromPDF\"\n        | \"export\"\n        | \"showInLibrary\"\n        | \"rotateLeft\"\n        | \"rotateRight\"\n        | \"rotate180\"\n        | \"splitVertically\"\n        | \"splitHorizontally\",\n    ): Promise<void>;\n    _initIframeWindow(): boolean;\n    _setState(state: Reader.State): Promise<void>;\n    _getState(): Promise<Reader.State | null>;\n    _isReadOnly(): boolean;\n    _dataURLtoBlob(dataurl: string): Blob;\n    _getColorIcon(color: string, selected: boolean): string;\n    _rotateCurrentPage(degrees: number): Promise<void>;\n    _splitVertically(): void;\n    _splitHorizontally(): void;\n    _openTagsPopup(item: Zotero.Item, selector: string): void;\n    _openPagePopup(data: unknown, secondView?: boolean): void;\n    _openAnnotationPopup(data: unknown): void;\n    _openColorPopup(data: unknown): void;\n    _openThumbnailPopup(data: unknown): void;\n    _openSelectorPopup(data: unknown): void;\n    _postMessage(\n      message: object,\n      transfer?: unknown[],\n      secondView?: boolean,\n    ): Promise<void>;\n    _handleMessage(event: MessageEvent): Promise<void>;\n    _updateSecondViewState(): void;\n    _waitForReader(): Promise<void>;\n\n    /**\n     * Return item JSON in the pdf-reader ready format\n     *\n     * @param {Zotero.Item} item\n     * @returns {Object|null}\n     */\n    _getAnnotation(item: Zotero.Item): _ZoteroTypes.anyObj | null;\n  }\n\n  interface ReaderTab extends ReaderInstance {\n    new (options: {\n      itemID: number;\n      title: string;\n      sidebarWidth: number;\n      sidebarOpen: boolean;\n      bottomPlaceholderHeight: number;\n      index: number;\n      tabID: string;\n      background: boolean;\n    }): this;\n    close(): void;\n    _toggleNoteSidebar(isToggled?: boolean): void;\n    _setTitleValue(title: string): void;\n    _addToNote(annotations: unknown): void;\n  }\n\n  interface ReaderWindow extends ReaderInstance {\n    new (options: {\n      sidebarWidth: number;\n      sidebarOpen: boolean;\n      bottomPlaceholderHeigh?: number;\n    }): this;\n    init(): void;\n    close(): void;\n    _setTitleValue(title: string): void;\n    _handleKeyPress(event: KeyboardEvent): void;\n    _onViewMenuOpen(): void;\n    _onGoMenuOpen(): void;\n  }\n  class Reader {\n    [attr: string]: any;\n    constructor();\n    _readers: _ZoteroTypes.ReaderInstance[];\n    _sidebarWidth: number;\n    _sidebarOpen: boolean;\n    _bottomPlaceholderHeight: number;\n    _notifierID: string;\n    onChangeSidebarWidth(width: number): void;\n    onChangeSidebarOpen(open: boolean): void;\n    getSidebarWidth(): number;\n    init(): Promise<void>;\n    _loadSidebarState(): void;\n    _setSidebarState(): void;\n    getSidebarOpen(): boolean;\n    setSidebarWidth(width: number): void;\n    setSidebarOpen(open: boolean): void;\n    setBottomPlaceholderHeight(height: number): void;\n    notify: _ZoteroTypes.Notifier.Notify;\n    getByTabID(tabID: string): _ZoteroTypes.ReaderInstance;\n    getWindowStates(): {\n      type: \"reader\";\n      itemID: number;\n      title: string;\n      secondViewState: Reader.SecondViewState;\n    }[];\n    openURI: (\n      itemURI: _ZoteroTypes.ZoteroObjectURI,\n      location?: _ZoteroTypes.Reader.Location,\n      options?: Reader.OpenOptions,\n    ) => Promise<void | ReaderInstance>;\n    open: (\n      itemID: number,\n      location?: _ZoteroTypes.Reader.Location,\n      options?: Reader.OpenOptions,\n    ) => Promise<void | ReaderInstance>;\n\n    /**\n     * Trigger annotations import\n     *\n     * @param {Integer} itemID Attachment item id\n     * @returns {Promise}\n     */\n    triggerAnnotationsImportCheck(itemID: number): Promise<void>;\n\n    /**\n     * Inject DOM nodes to reader UI parts:\n     * - renderTextSelectionPopup\n     * - renderSidebarAnnotationHeader\n     * - renderToolbar\n     *\n     * Zotero.Reader.registerEventListener('renderTextSelectionPopup', (event) => {\n     * \tlet { reader, doc, params, append } = event;\n     * \tlet container = doc.createElement('div');\n     * \tcontainer.append('Loading…');\n     * \tappend(container);\n     * \tsetTimeout(() => container.replaceChildren('Translated text: ' + params.annotation.text), 1000);\n     * });\n     *\n     *\n     * Add options to context menus:\n     * - createColorContextMenu\n     * - createViewContextMenu\n     * - createAnnotationContextMenu\n     * - createThumbnailContextMenu\n     * - createSelectorContextMenu\n     *\n     * Zotero.Reader.registerEventListener('createAnnotationContextMenu', (event) => {\n     * \tlet { reader, params, append } = event;\n     * \tappend({\n     * \t\tlabel: 'Test',\n     * \t\tonCommand(){ reader._iframeWindow.alert('Selected annotations: ' + params.ids.join(', ')); }\n     * \t});\n     * });\n     */\n    registerEventListener<T extends Reader._EventKey>(\n      type: T,\n      handler: Reader.EventHandler<T>,\n      pluginID?: string,\n    ): void;\n\n    unregisterEventListener<T extends Reader._EventKey>(\n      type: T,\n      handler: Reader.EventHandler<T>,\n    ): void;\n  }\n}\n\ndeclare namespace Zotero {\n  const Reader: _ZoteroTypes.Reader;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface Server {\n    responseCodes: {\n      200: \"OK\";\n      201: \"Created\";\n      204: \"No Content\";\n      300: \"Multiple Choices\";\n      400: \"Bad Request\";\n      403: \"Forbidden\";\n      404: \"Not Found\";\n      409: \"Conflict\";\n      412: \"Precondition Failed\";\n      500: \"Internal Server Error\";\n      501: \"Not Implemented\";\n      503: \"Service Unavailable\";\n      504: \"Gateway Timeout\";\n    };\n\n    close(): void;\n\n    /**\n     * Parses a query string into a key => value object\n     * @param {String} queryString Query string\n     */\n    decodeQueryString(queryString: string): Record<string, string>;\n\n    /**\n     * Endpoints for the HTTP server\n     *\n     * Each endpoint should take the form of an object. The init() method of this object will be passed:\n     *     method - the method of the request (\"GET\" or \"POST\")\n     *     data - the query string (for a \"GET\" request) or POST data (for a \"POST\" request)\n     *     sendResponseCallback - a function to send a response to the HTTP request. This can be passed\n     *                            a response code alone (e.g., sendResponseCallback(404)) or a response\n     *                            code, MIME type, and response body\n     *                            (e.g., sendResponseCallback(200, \"text/plain\", \"Hello World!\"))\n     *\n     * See connector/server_connector.js for examples\n     */\n    Endpoints: Record<string, typeof Server.Endpoint | Function>;\n  }\n\n  namespace Server {\n    class Endpoint {\n      supportedMethods?: string[];\n      supportedDataTypes?: Array<\n        | \"application/json\"\n        | \"application/x-www-form-urlencoded\"\n        | \"multipart/form-data\"\n        | string\n      >;\n      permitBookmarklet?: boolean;\n\n      init: initMethodEvent | initMethodPromise;\n    }\n\n    type initMethodPromise = (options: {\n      method: \"GET\" | \"POST\";\n      pathname: string;\n      query: Record<string, string>;\n      headers: Record<string, string>;\n      data: any;\n    }) => MaybePromise<\n      | number\n      | [\n          code: number,\n          contentTypeOrHeaders?: string | Record<string, string>,\n          body?: string,\n        ]\n    >;\n\n    type initMethodEvent = (\n      data: string,\n      sendResponseCallback: (\n        code: number,\n        contentTypeOrHeaders?: string | Record<string, string>,\n        body?: string,\n      ) => void,\n    ) => void;\n  }\n}\n\ndeclare namespace Zotero {\n  const Server: _ZoteroTypes.Server;\n}\n\ndeclare namespace Zotero {\n  namespace Session {\n    const state: Record<string, any>;\n\n    function init(): Promise<void>;\n    function save(): Promise<void>;\n    function debounceSave(): Promise<void>;\n    function setLastClosedZoteroPaneState(): void;\n  }\n}\n\ndeclare namespace Zotero {\n  namespace UIProperties {\n    function registerRoot(root: Element): void;\n    function setAll(): void;\n    function set(root: Element): void;\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface URI {\n    defaultPrefix: {\n      value: \"http://zotero.org/\";\n    };\n    getLocalUserURI(): _ZoteroTypes.ZoteroObjectURI;\n    getCurrentUserURI(): _ZoteroTypes.ZoteroObjectURI;\n    getCurrentUserLibraryURI(): _ZoteroTypes.ZoteroObjectURI;\n    getLibraryURI(libraryID: number): _ZoteroTypes.ZoteroObjectURI;\n    /**\n     * Get path portion of library URI (e.g., users/6 or groups/1)\n     */\n    getLibraryPath(libraryID: number): string;\n    /**\n     * Get library from path (e.g., users/6 or groups/1)\n     */\n    getPathLibrary(path: string): Zotero.Library | false;\n    /**\n     * Return URI of item, which might be a local URI if user hasn't synced\n     */\n    getItemURI(item: Zotero.Item): _ZoteroTypes.ZoteroObjectURI;\n    /**\n     * Get path portion of item URI (e.g., users/6/items/ABCD1234 or groups/1/items/ABCD1234)\n     */\n    getItemPath(item: Zotero.Item): string;\n    getFeedItemURI(feedItem: Zotero.Item): _ZoteroTypes.ZoteroObjectURI;\n    getFeedItemPath(feedItem: Zotero.Item): string;\n    /**\n     * Return URI of collection, which might be a local URI if user hasn't synced\n     */\n    getCollectionURI(feedItem: Zotero.Collection): _ZoteroTypes.ZoteroObjectURI;\n    /**\n     * Get path portion of collection URI (e.g., users/6/collections/ABCD1234 or groups/1/collections/ABCD1234)\n     */\n    getCollectionPath(feedItem: Zotero.Collection): string;\n    getFeedURI(feed: Zotero.DataObject): _ZoteroTypes.ZoteroObjectURI;\n    getFeedPath(feed: Zotero.DataObject): string;\n    getGroupsURL(): string;\n    getGroupURI(group: Zotero.Collection): _ZoteroTypes.ZoteroObjectURI;\n    _getObjectPath: (\n      obj: Zotero.Library | Zotero.Collection | Zotero.Item,\n    ) => string;\n    _getObjectURI: (\n      obj: Zotero.Library | Zotero.Collection | Zotero.Item,\n    ) => _ZoteroTypes.ZoteroObjectURI;\n    /**\n     * Convert an item URI into an item\n     */\n    getURIItem(itemURI: _ZoteroTypes.ZoteroObjectURI): Promise<Zotero.Item>;\n    getURIItemLibraryKey: (\n      itemURI: _ZoteroTypes.ZoteroObjectURI,\n    ) => { libraryID: number; key?: string; objectType?: string } | false;\n    /**\n     * Convert an item URI into a libraryID and key from the database, without relying on global state\n     *\n     * Note that while the URI must point to a valid library, the item doesn't need to exist\n     */\n    getURIItemLibraryKeyFromDB(itemURI: _ZoteroTypes.ZoteroObjectURI): any;\n    getURIItemID(itemURI: _ZoteroTypes.ZoteroObjectURI): number | false;\n    /**\n     * Convert a collection URI into a collection\n     */\n    getURICollection: (\n      collectionURI: _ZoteroTypes.ZoteroObjectURI,\n    ) => Promise<Zotero.Collection | false>;\n    getURICollectionLibraryKey: (\n      collectionURI: _ZoteroTypes.ZoteroObjectURI,\n    ) => { libraryID: number; key?: string; objectType?: string } | false;\n    getURICollectionID(\n      collectionURI: _ZoteroTypes.ZoteroObjectURI,\n    ): number | false;\n    getURILibrary(libraryURI: _ZoteroTypes.ZoteroObjectURI): number | false;\n    getURIFeed(feedURI: _ZoteroTypes.ZoteroObjectURI): Zotero.Library | false;\n    /**\n     * Convert an object URI into an object containing libraryID and key\n     */\n    _getURIObject: (\n      objectURI: _ZoteroTypes.ZoteroObjectURI,\n      type: string,\n    ) => { libraryID: number; key?: string; objectType?: string } | false;\n    /**\n     * Convert an object URI into a Zotero.Library that the object is in\n     */\n    _getURIObjectLibrary(\n      objectURI: _ZoteroTypes.ZoteroObjectURI,\n    ): Zotero.Library | false;\n    /**\n     * Convert an object URI into a libraryID from the database, without relying on global state\n     */\n    _getURIObjectLibraryID(\n      objectURI: _ZoteroTypes.ZoteroObjectURI,\n    ): Promise<number | false>;\n    /**\n     * Convert an object URI into a libraryID and key from the database, without relying on global state\n     *\n     * Note that while the URI must point to a valid library, the object doesn't need to exist\n     */\n    _getURIObjectLibraryKeyFromDB: (\n      objectURI: _ZoteroTypes.ZoteroObjectURI,\n      type: string,\n    ) => Promise<\n      { libraryID: number; key?: string; objectType?: string } | false\n    >;\n  }\n}\n\ndeclare namespace Zotero {\n  const URI: _ZoteroTypes.URI;\n}\n\ndeclare namespace _ZoteroTypes {\n  interface Users {\n    init(): Promise<void>;\n    getCurrentUserID(): number;\n    setCurrentUserID(val: number): Promise<void>;\n    getCurrentUsername(): string;\n    setCurrentUsername(val: string): Promise<void>;\n    getCurrentName(): string;\n    setCurrentName(name: string): Promise<void>;\n    getLocalUserKey(): string;\n    getName(userID: number | string): string;\n    setName(userID: number, name: string): Promise<void>;\n  }\n}\n\ndeclare namespace Zotero {\n  const Users: _ZoteroTypes.Users;\n}\n\ndeclare namespace _ZoteroTypes {\n  interface Utilities_Date {\n    /**\n     * Initializes localized months for strToDate month parsing\n     * @param dateFormatsJSON {Object} the JSON from resource/dateFormats.json\n     */\n    init(dateFormatsJSON: object): void;\n\n    /**\n     * @param {Boolean} [withEnglish = false] - Include English months\n     * @return {Object} - Object with 'short' and 'long' arrays\n     */\n    getMonths(withEnglish: boolean): {\n      short: string[];\n      long: string[];\n    };\n\n    /**\n     * Convert an SQL date in the form '2006-06-13 11:03:05' into a JS Date object\n     *\n     * Can also accept just the date part (e.g. '2006-06-13')\n     **/\n    sqlToDate(sqldate: string, isUTC?: boolean): Date | false;\n\n    /**\n     * Convert a JS Date object to an SQL date in the form '2006-06-13 11:03:05'\n     *\n     * If _toUTC_ is true, creates a UTC date\n     **/\n    dateToSQL(date: Date, toUTC?: boolean): string;\n\n    /**\n     * Convert a JS Date object to an ISO 8601 UTC date/time\n     *\n     * @param\t{Date}\t\tdate\t\tJS Date object\n     * @return\t{String}\t\t\t\tISO 8601 UTC date/time\n     *\t\t\t\t\t\t\t\t\te.g. 2008-08-15T20:00:00Z\n     */\n    dateToISO(date: Date): string;\n\n    /**\n     * @return {Boolean} - True if string is an ISO 8601 date, false if not\n     */\n    isISODate(str: string): boolean;\n\n    /**\n     * Convert an ISO 8601–formatted date/time to a JS Date\n     *\n     * @param\t{String}\t\tisoDate\t\tISO 8601 date\n     * @return {Date|False} - JS Date, or false if not a valid date\n     */\n    isoToDate(isoDate: string): Date | false;\n\n    isoToSQL(isoDate: string): string;\n\n    /*\n     * converts a string to an object containing:\n     *    day: integer form of the day\n     *    month: integer form of the month (indexed from 0, not 1)\n     *    year: 4 digit year (or, year + BC/AD/etc.)\n     *    part: anything that does not fall under any of the above categories\n     *          (e.g., \"Summer,\" etc.)\n     *\n     * Note: the returned object is *not* a JS Date object\n     */\n    strToDate(string: string): Utilities_Date.Date;\n\n    isHTTPDate(str: string): boolean;\n\n    /**\n     * does pretty formatting of a date object returned by strToDate()\n     *\n     * @param {Object} date A date object, as returned from strToDate()\n     * @param {Boolean} shortFormat Whether to return a short (12/1/95) date\n     * @return A formatted date string\n     * @type String\n     **/\n    formatDate(date: Utilities_Date.Date, shortFormat: boolean): string;\n\n    strToISO(str: string): string | false;\n\n    sqlToISO8601(sqlDate: string): string;\n\n    strToMultipart(str: string): string;\n\n    /**\n     * Tests if a string is a multipart date string\n     * e.g. '2006-11-03 November 3rd, 2006'\n     */\n    isMultipart(str: string): boolean;\n\n    /**\n     * Returns the SQL part of a multipart date string\n     * (e.g. '2006-11-03 November 3rd, 2006' returns '2006-11-03')\n     */\n    multipartToSQL(multi: string): string;\n\n    /**\n     * Returns the user part of a multipart date string\n     * (e.g. '2006-11-03 November 3rd, 2006' returns 'November 3rd, 2006')\n     */\n    multipartToStr(multi: string): string;\n\n    /**\n     * Convert 'yesterday'/'today'/'tomorrow' to SQL date, or else return original string\n     *\n     * @param {String} str\n     * @return {String}\n     */\n    parseDescriptiveString(str: string): string;\n\n    isSQLDate(str: string, allowZeroes?: boolean): boolean;\n\n    isSQLDateTime(str: string): boolean;\n\n    isSQLDateTimeWithoutSeconds(str: string): boolean;\n\n    sqlHasYear(sqldate: string): boolean;\n\n    sqlHasMonth(sqldate: string): boolean;\n\n    sqlHasDay(sqldate: string): boolean;\n\n    getUnixTimestamp(): number;\n\n    toUnixTimestamp(date: string): number;\n\n    /**\n     * Convert a JS Date to a relative date (e.g., \"5 minutes ago\")\n     *\n     * Adapted from http://snipplr.com/view/10290/javascript-parse-relative-date/\n     *\n     * @param\t{Date}\tdate\n     * @return\t{String}\n     */\n    toRelativeDate(date: Date): string;\n\n    toFriendlyDate(date: Date): string;\n\n    // The following three methods exist in the source code but are not exposed in `Zotero.Date`\n    // isToday();\n    // isThisWeek();\n    // getWeekNumber();\n\n    getFileDateString(file: nsIFile): string;\n    getFileTimeString(file: nsIFile): string;\n    /**\n     * Get the order of the date components based on the current locale\n     *\n     * Returns a string with y, m, and d (e.g. 'ymd', 'mdy')\n     */\n    getLocaleDateOrder(): \"mdy\" | \"ymd\" | \"dmy\";\n  }\n\n  namespace Utilities_Date {\n    interface Date {\n      year?: string;\n      month?: number;\n      day?: number;\n      part?: string;\n      order?: string;\n    }\n  }\n}\n\ndeclare namespace Zotero {\n  const Date: _ZoteroTypes.Utilities_Date;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  interface Utilities {\n    Internal: Utilities.Internal;\n\n    XRegExp: any;\n    Item: anyObj;\n\n    /**\n     * Returns a function which will execute `fn` with provided arguments after `delay` milliseconds and not more\n     * than once, if called multiple times. See\n     * http://stackoverflow.com/questions/24004791/can-someone-explain-the-debounce-function-in-javascript\n     * @param fn {Function} function to debounce\n     * @param delay {Integer} number of milliseconds to delay the function execution\n     * @returns {Function}\n     */\n    debounce<F extends Function>(fn: F, delay?: number): F;\n\n    /**\n     *  Creates and returns a new, throttled version of the\n     *  passed function, that, when invoked repeatedly,\n     *  will only actually call the original function at most\n     *  once per every wait milliseconds\n     *\n     *  By default, throttle will execute the function as soon\n     *  as you call it for the first time, and, if you call it\n     *  again any number of times during the wait period, as soon\n     *  as that period is over. If you'd like to disable the\n     *  leading-edge call, pass {leading: false}, and if you'd\n     *  like to disable the execution on the trailing-edge,\n     *  pass {trailing: false}. See\n     *  https://underscorejs.org/#throttle\n     *  https://github.com/jashkenas/underscore/blob/master/underscore.js\n     *  (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n     *  Underscore may be freely distributed under the MIT license.\n     *\n     *  @param {Function} func Function to throttle\n     *  @param {Integer} wait Wait period in milliseconds\n     *  @param {Boolean} [options.leading] Call at the beginning of the wait period\n     *  @param {Boolean} [options.trailing] Call at the end of the wait period\n     */\n    throttle(\n      func: Function,\n      wait: number,\n      options?: { leading: boolean; trailing: boolean },\n    ): Function;\n\n    sentenceCase(str: string): string;\n\n    /**\n     * Fixes author name capitalization.\n     * Currently for all uppercase names only\n     *\n     * JOHN -> John\n     * GUTIÉRREZ-ALBILLA -> Gutiérrez-Albilla\n     * O'NEAL -> O'Neal\n     *\n     * @param {String} string Uppercase author name\n     * @return {String} Title-cased author name\n     */\n    capitalizeName(str: string): string;\n\n    /**\n     * Cleans extraneous punctuation off a creator name and parse into first and last name\n     *\n     * @param {String} author Creator string\n     * @param {String} type Creator type string (e.g., \"author\" or \"editor\")\n     * @param {Boolean} useComma Whether the creator string is in inverted (Last, First) format\n     * @return {Object} firstName, lastName, and creatorType\n     */\n    cleanAuthor(\n      author: string,\n      type: string,\n      useComma?: boolean,\n    ): { firstName: string; lastName: string; creatorType: string };\n\n    /**\n     * Removes leading and trailing whitespace from a string\n     * @type String\n     */\n    trim(s: string): string;\n\n    /**\n     * Cleans whitespace off a string and replaces multiple spaces with one\n     * @type String\n     */\n    trimInternal(s: string): string;\n\n    /**\n     * Cleans any non-word non-parenthesis characters off the ends of a string\n     * @type String\n     */\n    superCleanString(x: string): string;\n\n    isHTTPURL(url: string, allowNoScheme?: boolean): boolean;\n\n    /**\n     * Cleans a http url string\n     * @param {String} url\n     * @param {Boolean} tryHttp Attempt prepending 'http://' to the url\n     * @returns {String}\n     */\n    cleanURL(url: string, tryHttp?: boolean): string;\n\n    /**\n     * Eliminates HTML tags, replacing &lt;br&gt;s with newlines\n     * @type String\n     */\n    cleanTags(x: string): string;\n\n    /**\n     * Extract item identifiers (DOI, ISBN, arXiv, ADS Bibcode, PMID) from a string.\n     * @type String\n     */\n    extractIdentifiers(\n      text: string,\n    ): (\n      | { DOI: string }\n      | { ISBN: string }\n      | { arXiv: string }\n      | { adsBibcode: string }\n      | { PMID: string }\n    )[];\n\n    /**\n     * Strip info:doi prefix and any suffixes from a DOI\n     * @type String\n     */\n    cleanDOI(x: string): null | string;\n\n    /**\n     * Clean and validate ISBN.\n     * Return isbn if valid, otherwise return false\n     * @param {String} isbn\n     * @param {Boolean} [dontValidate=false] Do not validate check digit\n     * @return {String|Boolean} Valid ISBN or false\n     */\n    cleanISBN(isbn: string, dontValidate?: boolean): string | false;\n\n    /**\n     * Convert ISBN 10 to ISBN 13\n     * @param {String} isbn ISBN 10 or ISBN 13 cleanISBN\n     * @return {String} ISBN-13\n     */\n    toISBN13(isbnStr: string): string;\n\n    /**\n     * Clean and validate ISSN.\n     * Return issn if valid, otherwise return false\n     */\n    cleanISSN(issnStr: string): string | false;\n\n    /**\n     * Convert plain text to HTML by replacing special characters and replacing newlines with BRs or\n     * P tags\n     * @param {String} str Plain text string\n     * @param {Boolean} singleNewlineIsParagraph Whether single newlines should be considered as\n     *     paragraphs. If true, each newline is replaced with a P tag. If false, double newlines\n     *     are replaced with P tags, while single newlines are replaced with BR tags.\n     * @type String\n     */\n    text2html(str: string, singleNewlineIsParagraph?: boolean): string;\n\n    /**\n     * Encode special XML/HTML characters\n     * Certain entities can be inserted manually:\n     *   <ZOTEROBREAK/> => <br/>\n     *   <ZOTEROHELLIP/> => &#8230;\n     *\n     * @param {String} str\n     * @return {String}\n     */\n    htmlSpecialChars(str: string): string;\n\n    /**\n     * Wrap URLs and DOIs in <a href=\"\"> links in plain text\n     *\n     * Ignore URLs preceded by '>', just in case there are already links\n     * @type String\n     */\n    autoLink(str: string): string;\n\n    /**\n     * Parses a text string for HTML/XUL markup and returns an array of parts. Currently only finds\n     * HTML links (&lt;a&gt; tags)\n     *\n     * @return {Array} An array of objects with the following form:<br>\n     * <pre>   {\n     *         type: 'text'|'link',\n     *         text: \"text content\",\n     *         [ attributes: { key1: val [ , key2: val, ...] }\n     *    }</pre>\n     */\n    parseMarkup(str: string): {\n      type: \"text\" | \"link\";\n      text: string;\n      attributes?: { [attr: string]: unknown };\n    };\n\n    /**\n     * Calculates the Levenshtein distance between two strings\n     * @type Number\n     */\n    levenshtein(a: string, b: string): number;\n\n    /**\n     * Test if an object is empty\n     *\n     * @param {Object} obj\n     * @type Boolean\n     */\n    isEmpty(obj: object): boolean;\n\n    /**\n     * Compares an array with another and returns an array with\n     *\tthe values from array1 that don't exist in array2\n     *\n     * @param\t{Array}\t\tarray1\n     * @param\t{Array}\t\tarray2\n     * @param\t{Boolean}\tuseIndex\t\tIf true, return an array containing just\n     *\t\t\t\t\t\t\t\t\t\tthe index of array2's elements;\n     *\t\t\t\t\t\t\t\t\t\totherwise return the values\n     */\n    arrayDiff<T>(array1: T[], array2: T[], useIndex?: false): T[];\n    arrayDiff(array1: [], array2: [], useIndex: true): number[];\n\n    /**\n     * Determine whether two arrays are identical\n     *\n     * Modified from http://stackoverflow.com/a/14853974\n     *\n     * @return {Boolean}\n     */\n    arrayEquals(array1: [], array2: []): boolean;\n\n    /**\n     * Return new array with values shuffled\n     *\n     * From http://stackoverflow.com/a/6274398\n     *\n     * @param {Array} arr\n     * @return {Array}\n     */\n    arrayShuffle<T>(arr: T[]): T[];\n\n    /**\n     * Return new array with duplicate values removed\n     *\n     * @param\t{Array}\t\tarray\n     * @return\t{Array}\n     */\n    arrayUnique<T>(array: T[]): T[];\n\n    /**\n     * Generate a random integer between min and max inclusive\n     *\n     * @param\t{Integer}\tmin\n     * @param\t{Integer}\tmax\n     * @return\t{Integer}\n     */\n    rand(min: number, max: number): number;\n\n    /**\n     * Parse a page range\n     *\n     * @param {String} Page range to parse\n     * @return {Integer[]} Start and end pages\n     */\n    getPageRange(pages: string): [start: number, end: number];\n\n    /**\n     * Pads a number or other string with a given string on the left\n     *\n     * @param {String} string String to pad\n     * @param {String} pad String to use as padding\n     * @length {Integer} length Length of new padded string\n     * @type String\n     */\n    lpad(str: string, pad: string, length: number): string;\n\n    /**\n     * Shorten and add an ellipsis to a string if necessary\n     *\n     * @param {String}\tstr\n     * @param {Integer}\tlen\n     * @param {Boolean} [wordBoundary=false]\n     * @param {Boolean} [countChars=false]\n     */\n    ellipsize(\n      str: string,\n      len: number,\n      wordBoundary?: boolean,\n      countChars?: boolean,\n    ): string;\n\n    /**\n     * Return the proper plural form of a string\n     *\n     * For now, this is only used for debug output in English.\n     *\n     * @param {Integer} num\n     * @param {String[]|String} forms - If an array, an array of plural forms (e.g., ['object', 'objects']);\n     *     currently only the two English forms are supported, for 1 and 0/many. If a single string,\n     *     's' is added automatically for 0/many.\n     * @return {String}\n     */\n    pluralize(num: number, forms: string | string[]): string;\n\n    /**\n     * Port of PHP's number_format()\n     *\n     * MIT Licensed\n     *\n     * From http://kevin.vanzonneveld.net\n     * +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)\n     * +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n     * +     bugfix by: Michael White (http://getsprink.com)\n     * +     bugfix by: Benjamin Lupton\n     * +     bugfix by: Allan Jensen (http://www.winternet.no)\n     * +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)\n     * +     bugfix by: Howard Yeend\n     * *     example 1: number_format(1234.5678, 2, '.', '');\n     * *     returns 1: 1234.57\n     */\n    numberFormat(\n      number: number,\n      decimals: number,\n      dec_point?: string,\n      thousands_sep?: string,\n    ): string;\n\n    /**\n     * Cleans a title, converting it to title case and replacing \" :\" with \":\"\n     *\n     * @param {String} string\n     * @param {Boolean} force Forces title case conversion, even if the capitalizeTitles pref is off\n     * @type String\n     */\n    capitalizeTitle(str: string, force?: boolean): string;\n\n    capitalize(str: string): string;\n\n    /**\n     * Replaces accented characters in a string with ASCII equivalents\n     *\n     * @param {String} str\n     * @param {Boolean} [lowercaseOnly]  Limit conversions to lowercase characters\n     *                                   (for improved performance on lowercase input)\n     * @return {String}\n     *\n     * From http://lehelk.com/2011/05/06/script-to-remove-diacritics/\n     */\n    removeDiacritics(str: string, lowercaseOnly?: boolean): string;\n\n    /**\n     * Performs a deep copy of a JavaScript object\n     * @param {Object} obj\n     * @return {Object}\n     */\n    deepCopy(obj: object): _ZoteroTypes.anyObj;\n\n    /**\n     * Find valid creator types for a given item type\n     *\n     * @param {String} type Item type\n     * @return {String[]} Creator types\n     */\n    getCreatorsForType(type: _ZoteroTypes.Item.ItemType): string[];\n\n    /**\n     * Determine whether a given field is valid for a given item type\n     *\n     * @param {String} field Field name\n     * @param {String} type Item type\n     * @type Boolean\n     */\n    fieldIsValidForType(\n      field: string,\n      type: _ZoteroTypes.Item.ItemType,\n    ): boolean;\n\n    /**\n     * Gets a creator type name, localized to the current locale\n     *\n     * @param {String} type Creator type\n     * @param {String} Localized creator type\n     * @type Boolean\n     */\n    getLocalizedCreatorType(type: string): string | false;\n\n    /**\n     * Escapes metacharacters in a literal so that it may be used in a regular expression\n     */\n    quotemeta(literal: string): string;\n\n    /**\n     * Generate a random string of length 'len' (defaults to 8)\n     **/\n    randomString(len?: number, chars?: string): string;\n\n    /**\n     * Adds a string to a given array at a given offset, converted to UTF-8\n     * @param {String} string The string to convert to UTF-8\n     * @param {Array|Uint8Array} array The array to which to add the string\n     * @param {Integer} [offset] Offset at which to add the string\n     */\n    stringToUTF8Array(str: string, array: Uint8Array, offset?: number): void;\n\n    /**\n     * Gets the byte length of the UTF-8 representation of a given string\n     * @param {String} string\n     * @return {Integer}\n     */\n    getStringByteLength(str: string): number;\n\n    semverCompare(a: string, b: string): number;\n    allowedKeyChars: \"23456789ABCDEFGHIJKLMNPQRSTUVWXYZ\";\n\n    /**\n     * Generates a valid object key for the server API\n     */\n    generateObjectKey(): string;\n\n    /**\n     * Check if an object key is in a valid format\n     */\n    isValidObjectKey(key: string): boolean;\n\n    /**\n     * Walk the DOM and the contents of JSON data attributes in the HTML representation\n     * of a note, calling visitor functions that might modify it and returning\n     * the resulting HTML.\n     *\n     * Elements are visited in depth-first order. First the element itself is visited,\n     * then its data attributes, then the URIs in its JSON attributes, then its subtree.\n     *\n     * @param {String} note Note HTML\n     * @param {Object} visitors\n     * @param {Function} [visitors.visitContainer]\n     * @param {Function} [visitors.visitAnnotation]\n     * @param {Function} [visitors.visitCitation]\n     * @param {Function} [visitors.visitOtherElement]\n     * @param {Function} [visitors.visitDataAttribute]\n     * @param {Function} [visitors.visitURI] Return a replacement for the passed URI\n     * @return {String} Potentially modified note HTML\n     */\n    walkNoteDOM(\n      note: string,\n      visitors: {\n        visitContainer?: Function;\n        visitAnnotation?: Function;\n        visitCitation?: Function;\n        visitOtherElement?: Function;\n        visitDataAttribute?: Function;\n        visitURI?: Function;\n      },\n    ): string;\n\n    /**\n     * Evaluate an XPath\n     *\n     * @param {element|element[]} node The element(s) to use as the context for the XPath\n     * @param {String} xstring The XPath expression\n     * @param {Object} [namespaces] An object whose keys represent namespace prefixes, and whose\n     *                              values represent their URIs\n     * @return {element[]} DOM elements matching XPath\n     */\n    xpath(\n      node: HTMLElement | Document,\n      xstring: string,\n      namespaces?: any,\n    ): HTMLElement[] | [];\n\n    /**\n     * Input xpath string, find corresponding HTML elements value/textContent/innerText/text/nodeValue.\n     * When node is an array of element, the returned output is obtained by concatenating\n     * the string of each element, and the default separator is ', '.\n     *\n     * @param node The node representing the document and context\n     * @param xstring, xpath The XPath expression\n     * @param namespaces An object whose keys represent namespace prefixes, and whose values represent their URIs\n     * @param delimiter The string with which to join multiple matching nodes\n     * @returns DOM elements matching XPath, or null if no elements exist\n     */\n    xpathText(\n      node: HTMLElement | Document,\n      xstring: string,\n      namespaces?: any,\n      delimiter?: undefined | string,\n    ): string | null;\n  }\n}\n\ndeclare namespace Zotero {\n  const Utilities: _ZoteroTypes.Utilities;\n}\n\n\ndeclare namespace _ZoteroTypes {\n  namespace Utilities {\n    /**\n     * @class Utility functions not made available to translators\n     */\n    interface Internal {\n      SNAPSHOT_SAVE_TIMEOUT: 30000;\n\n      /**\n       * Copy a text string to the clipboard\n       */\n      copyTextToClipboard(str: string): void;\n\n      /**\n       * Adapted from http://developer.mozilla.org/en/docs/nsICryptoHash\n       *\n       * @param\t{String|nsIFile}\tstrOrFile\n       * @param\t{Boolean}\t\t\t[base64=false]\tReturn as base-64-encoded string rather than hex string\n       * @return\t{String}\n       */\n      md5(strOrFile: string | nsIFile, base64?: boolean): string;\n\n      /**\n       * @param {OS.File|nsIFile|String} file  File or file path\n       * @param {Boolean} [base64=FALSE]  Return as base-64-encoded string\n       *                                  rather than hex string\n       */\n      md5Async(\n        file: typeof OS.File | nsIFile | string,\n        base64?: boolean,\n      ): Promise<string>;\n\n      /**\n       * Adapted from http://developer.mozilla.org/en/docs/nsICryptoHash\n       *\n       * @param {String} str\n       * @return\t{String}\n       */\n      sha1(str: string): string;\n\n      /**\n       * Decode a binary string into a typed Uint8Array\n       *\n       * @param {String} data - Binary string to decode\n       * @return {Uint8Array} Typed array holding data\n       */\n      _decodeToUint8Array(data: string): Uint8Array;\n\n      /**\n       * Decode a binary string to UTF-8 string\n       *\n       * @param {String} data - Binary string to decode\n       * @return {String} UTF-8 encoded string\n       */\n      decodeUTF8(data: string): string;\n\n      /**\n       * Return the byte length of a UTF-8 string\n       *\n       * http://stackoverflow.com/a/23329386\n       */\n      byteLength(str: string): number;\n\n      isOnlyEmoji(str: string): string;\n\n      /**\n       * Display a prompt from an error with custom buttons and a callback\n       */\n      errorPrompt(title: string, e: Error): void;\n\n      saveDocument(doc: Document, destFile: string): Promise<void>;\n\n      /**\n       * Takes in a document, creates a JS Sandbox and executes the SingleFile\n       * extension to save the page as one single file without JavaScript.\n       *\n       * @param {Object} document\n       * @return {String} Snapshot of the page as a single file\n       */\n      snapshotDocument(doc: Document): string;\n\n      createSnapshotSandbox(view: Window): unknown;\n\n      /**\n       * Launch a process\n       * @param {nsIFile|String} cmd Path to command to launch\n       * @param {String[]} args Arguments given\n       * @return {Promise} Promise resolved to true if command succeeds, or an error otherwise\n       */\n      exec(cmd: string | nsIFile, args: string[]): Promise<true | Error>;\n\n      /**\n       * Get string data from the clipboard\n       * @param {String[]} mimeType MIME type of data to get\n       * @return {String|null} Clipboard data, or null if none was available\n       */\n      getClipboard(mimeType: string): string | null;\n\n      /**\n       * Determine if one Window is a descendant of another Window\n       * @param {DOMWindow} suspected child window\n       * @param {DOMWindow} suspected parent window\n       * @return {boolean}\n       */\n      isIframeOf(childWindow: Window, parentWindow: Window): boolean;\n\n      /**\n       * Returns a DOMDocument object not attached to any window\n       */\n      getDOMDocument(): Document;\n\n      /**\n       * Update HTML links within XUL\n       *\n       * @param {HTMLElement} elem - HTML element to modify\n       * @param {Object} [options] - Properties:\n       *                                 .linkEvent - An object to pass to ZoteroPane.loadURI() to\n       *                                 simulate modifier keys for link clicks. For example, to\n       *                                 force links to open in new windows, pass with\n       *                                 .shiftKey = true. If not provided, the actual event will\n       *                                 be used instead.\n       *                                 .callback - Function to call after launching URL\n       */\n      updateHTMLInXUL(\n        elem: HTMLElement,\n        options?: {\n          updateHTMLInXUL?: unknown;\n          shiftKey?: boolean;\n          callback?: Function;\n        },\n      ): void;\n\n      /**\n       * Parse a Blob (e.g., as received from Zotero.HTTP.request()) into an HTML Document\n       */\n      blobToHTMLDocument(blob: Blob, url: string): Document;\n\n      blobToText(blob: Blob, charset?: string): Promise<string>;\n\n      /**\n       * Converts Zotero.Item to a format expected by translators\n       * This is mostly the Zotero web API item JSON format, but with an attachments\n       * and notes arrays and optional compatibility mappings for older translators.\n       *\n       * @param {Zotero.Item} zoteroItem\n       * @param {Boolean} legacy Add mappings for legacy (pre-4.0.27) translators\n       * @return {Object}\n       */\n      itemToExportFormat(\n        zoteroItem: Zotero.Item,\n        legacy?: boolean,\n        skipChildItems?: boolean,\n      ): _ZoteroTypes.anyObj;\n\n      /**\n       * Find valid item fields in Extra field text\n       *\n       * There are a couple differences from citeproc-js behavior:\n       *\n       * 1) Key-value pairs can appear at the beginning of any line in Extra, not just the first two.\n       * 2) For fields, the first occurrence of a valid field is used, not the last.\n       *\n       * @param {String} extra\n       * @param {Zotero.Item} [item = null]\n       * @param {String[]} [additionalFields] - Additional fields to skip other than those already\n       *     on the provided item\n       * @return {Object} - An object with 1) 'itemType', which may be null, 2) 'fields', a Map of\n       *     field name to value, 3) 'creators', in API JSON syntax, and 4) 'extra', the remaining\n       *     Extra string after removing the extracted values\n       */\n      extractExtraFields(\n        extra: string,\n        item?: Zotero.Item,\n        additionalFields?: string[],\n      ): {\n        itemType?: _ZoteroTypes.Item.ItemType;\n        fields: Map<keyof _ZoteroTypes.Item.ItemField, unknown>;\n        creators: object;\n        extra: string;\n      };\n\n      /**\n       * @param {String} extra\n       * @param {Map} fieldMap\n       * @return {String}\n       */\n      combineExtraFields(\n        extra: string,\n        fieldMap: Map<keyof _ZoteroTypes.Item.ItemField, unknown>,\n      ): string;\n\n      _normalizeExtraKey(key: string): string;\n\n      /**\n       * Look for open-access PDFs for a given DOI using Zotero's Unpaywall mirror\n       *\n       * Note: This uses a private API. Please use Unpaywall directly for non-Zotero projects.\n       *\n       * @param {String} doi\n       * @param {Object} [options]\n       * @param {Number} [options.timeout] - Request timeout in milliseconds\n       * @return {Object[]} - An array of objects with 'url' and/or 'pageURL' and 'version'\n       *     ('submittedVersion', 'acceptedVersion', 'publishedVersion')\n       */\n      getOpenAccessPDFURLs(\n        doi: string,\n        options?: { timeout: number },\n      ): Array<{\n        url?: string;\n        pageURL?: string;\n        version: string;\n      }>;\n\n      /**\n       * Run translation on a Document to try to find a PDF URL\n       *\n       * @param {doc} Document\n       * @return {String|false} - PDF URL, or false if none found\n       */\n      getPDFFromDocument(doc: Document): string | false;\n\n      /**\n       * Hyphenate an ISBN based on the registrant table available from\n       * https://www.isbn-international.org/range_file_generation\n       * See isbn.js\n       *\n       * @param {String} isbn ISBN-10 or ISBN-13\n       * @param {Boolean} dontValidate Do not attempt to validate check digit\n       * @return {String} Hyphenated ISBN or empty string if invalid ISBN is supplied\n       */\n      hyphenateISBN(isbn: string, dontValidate?: boolean): string;\n\n      camelToTitleCase(str: string): string;\n\n      /**\n       * Adds a localized colon to a string (which is usually just a colon, but, e.g., in French\n       * there's a space before it)\n       *\n       * @param {String}\n       * @return {String}\n       */\n      stringWithColon(str: string): string;\n\n      resolveLocale(\n        locale: _ZoteroTypes.AvailableLocales,\n        locales: _ZoteroTypes.AvailableLocales[],\n      ): _ZoteroTypes.AvailableLocales;\n\n      /**\n       * Get the next available numbered name that matches a base name, for use when duplicating\n       *\n       * - Given 'Foo' and ['Foo'], returns 'Foo 1'.\n       * - Given 'Foo' and ['Foo', 'Foo 1'], returns 'Foo 2'.\n       * - Given 'Foo' and ['Foo', 'Foo 1'], returns 'Foo 2'.\n       * - Given 'Foo 1', ['Foo', 'Foo 1'], and trim=true, returns 'Foo 2'\n       * - Given 'Foo' and ['Foo', 'Foo 2'], returns 'Foo 1'\n       */\n      getNextName(\n        name: string,\n        existingNames: string[],\n        trim?: boolean,\n      ): string;\n\n      /**\n       * Create a libraryOrCollection DOM tree to place in <menupopup> element.\n       * If has no children, returns a <menuitem> element, otherwise <menu>.\n       *\n       * @param {Library|Collection} libraryOrCollection\n       * @param {Node<menupopup>} elem Parent element\n       * @param {Zotero.Library|Zotero.Collection} currentTarget Currently selected item (displays as checked)\n       * @param {Function} clickAction function to execute on clicking the menuitem.\n       * \t\tReceives the event and libraryOrCollection for given item.\n       * @param {Function} disabledPred If provided, called on each library/collection\n       * \t\tto determine whether disabled\n       *\n       * @return {Node<menuitem>|Node<menu>} appended node\n       */\n      createMenuForTarget(\n        libraryOrCollection: Zotero.Library | Zotero.Collection,\n        elem: XUL.MenuPopup,\n        currentTarget: Zotero.Library | Zotero.Collection,\n        clickAction: Function,\n        disabledPred?: Function,\n      ): XUL.MenuItem | XUL.Menu;\n\n      openPreferences(paneID: string, options?: object): Window | null;\n      filterStack(str: string): string;\n\n      /**\n       * Generate a function that produces a static output\n       *\n       * Zotero.lazy(fn) returns a function. The first time this function\n       * is called, it calls fn() and returns its output. Subsequent\n       * calls return the same output as the first without calling fn()\n       * again.\n       */\n      lazy(fn: Function): Function;\n\n      serial(fn: Function): Function;\n\n      spawn(generator: GeneratorFunction, thisObj: object): Function;\n\n      /**\n       * Defines property on the object\n       * More compact way to do Object.defineProperty\n       *\n       * @param {Object} obj Target object\n       * @param {String} prop Property to be defined\n       * @param {Object} desc Property descriptor. If not overridden, \"enumerable\" is true\n       * @param {Object} opts Options:\n       *   lazy {Boolean} If true, the _getter_ is intended for late\n       *     initialization of the property. The getter is replaced with a simple\n       *     property once initialized.\n       */\n      defineProperty(\n        obj: object,\n        prop: string,\n        desc: object,\n        opts?: { lazy: boolean },\n      ): void;\n\n      extendClass(superClass: object, newClass: object): void;\n\n      /*\n       * Flattens mixed arrays/values in a passed _arguments_ object and returns\n       * an array of values -- allows for functions to accept both arrays of\n       * values and/or an arbitrary number of individual values\n       */\n      flattenArguments(args: unknown[]): unknown[];\n\n      /*\n       * Sets font size based on prefs -- intended for use on root element\n       *  (zotero-pane, note window, etc.)\n       */\n      setFontSize(rootElement: Element): void;\n\n      getAncestorByTagName(elem: Element, tagName: string): Element | null;\n\n      /**\n       * Quits the program, optionally restarting.\n       * @param {Boolean} [restart=false]\n       */\n      quit(restart?: boolean): void;\n\n      /**\n       * Assign properties to an object\n       *\n       * @param {Object} target\n       * @param {Object} source\n       * @param {String[]} [props] Properties to assign. Assign all otherwise\n       */\n      assignProps(target: object, source: object, props?: string[]): void;\n\n      /**\n       * Get the real target URL from an intermediate URL\n       */\n      resolveIntermediateURL(str: string): string;\n\n      /**\n       * Gets the icon for a JSON-style attachment\n       */\n      determineAttachmentIcon(\n        attachment: object & { linkMode: string; mimeType: string },\n      ): string;\n\n      /**\n       * A basic templating engine\n       *\n       * - 'if' statement does case-insensitive string comparison\n       * - Spaces around '==' are necessary in 'if' statement\n       *\n       * Vars example:\n       *  {\n       * \t  color: '#ff6666',\n       * \t  highlight: '<span class=\"highlight\">This is a highlight</span>,\n       *    comment: 'This is a comment',\n       *    citation: '<span class=\"citation\">(Author, 1900)</citation>',\n       *    image: '<img src=\"…\"/>',\n       *    tags: (attrs) => ['tag1', 'tag2'].map(tag => tag.name).join(attrs.join || ' ')\n       *  }\n       *\n       * Template example:\n       *  {{if color == '#ff6666'}}\n       *    <h2>{{highlight}}</h2>\n       *  {{elseif color == '#2ea8e5'}}\n       *    {{if comment}}<p>{{comment}}:</p>{{endif}}<blockquote>{{highlight}}</blockquote><p>{{citation}}</p>\n       *  {{else}}\n       *    <p>{{highlight}} {{citation}} {{comment}} {{if tags}} #{{tags join=' #'}}{{endif}}</p>\n       *  {{endif}}\n       *\n       * @param {String} template\n       * @param {Object} vars\n       * @returns {String} HTML\n       */\n      generateHTMLFromTemplate(template: string, vars: object): string;\n\n      sendToBack(): void;\n      getProcessID: number;\n      Base64: {\n        encode(input: string): string;\n        decode(input: string): string;\n      };\n      OpenURL: {\n        /**\n         * Returns a URL to look up an item in the OpenURL resolver\n         */\n        resolve(item: object): string | false;\n\n        /**\n         * Fetch list of resolvers from the Zotero wiki\n         *\n         * https://www.zotero.org/support/locate/openurl_resolvers\n         */\n        getResolvers(): Promise<\n          Array<{\n            continent: string;\n            country: string;\n            name: string;\n            url: string;\n            version: \"1.0\";\n          }>\n        >;\n      };\n    }\n  }\n}\n\n\n/** @deprecated - use XUL element interfaces directly */\ndeclare namespace XUL {\n  interface IDisabled {\n    disabled: boolean;\n  }\n  interface ICrop {\n    crop: \"start\" | \"end\" | \"center\" | \"none\";\n  }\n  interface IValue {\n    value: string;\n  }\n  interface ILabel {\n    label: string;\n  }\n  interface ISelectedIndex {\n    selectedIndex: number;\n  }\n  interface IProperties {\n    properties: string;\n  }\n\n  /** @deprecated - use XULElement */\n  interface Element extends XULElement {}\n\n  /** @deprecated - use XULDescriptionElement */\n  interface Description extends XULDescriptionElement {}\n\n  /** @deprecated - use XULLabelElement */\n  interface Label extends XULLabelElement {}\n\n  /** @deprecated - use XULTextBoxElement */\n  interface Textbox extends XULTextBoxElement {}\n\n  /** @deprecated - use XULCheckboxElement */\n  interface Checkbox extends XULCheckboxElement {}\n\n  /** @deprecated - use XULRadioElement */\n  interface Radio extends XULRadioElement {}\n\n  /** @deprecated - use XULRadioGroupElement */\n  interface RadioGroup extends XULRadioGroupElement {}\n\n  /** @deprecated - use XULGroupBoxElement */\n  interface GroupBox extends XULGroupBoxElement {}\n\n  /** @deprecated - use XULStatusBarElement */\n  interface StatusBar extends XULStatusBarElement {}\n\n  /** @deprecated - use XULStatusBarPanelElement */\n  interface StatusBarPanel extends XULStatusBarPanelElement {}\n\n  /** @deprecated - use XULSeparatorElement */\n  interface Separator extends XULSeparatorElement {}\n\n  /** @deprecated - use XULSpacerElement */\n  interface Spacer extends XULSpacerElement {}\n\n  /** @deprecated - use XULProgressMeterElement */\n  interface ProgressMeter extends XULProgressMeterElement {}\n\n  /** @deprecated - use XULMenuBarElement */\n  interface MenuBar extends XULMenuBarElement {}\n\n  /** @deprecated - use XULMenuElement */\n  interface Menu extends XULMenuElement {}\n\n  /** @deprecated - use XULMenuPopupElement */\n  interface MenuPopup extends XULMenuPopupElement {}\n\n  /** @deprecated - use XULMenuItemElement */\n  interface MenuItem extends XULMenuItemElement {}\n\n  /** @deprecated - use XULMenuListElement */\n  interface MenuList extends XULMenuListElement {}\n\n  /** @deprecated - use XULMenuSeparatorElement */\n  interface MenuSeparator extends XULMenuSeparatorElement {}\n\n  /** @deprecated - use XULTooltipElement */\n  interface Tooltip extends XULTooltipElement {}\n\n  /** @deprecated - use XULToolBoxElement */\n  interface ToolBox extends XULToolBoxElement {}\n\n  /** @deprecated - use XULToolBarElement */\n  interface ToolBar extends XULToolBarElement {}\n\n  /** @deprecated - use XULToolBarPaletteElement */\n  interface ToolBarPalette extends XULToolBarPaletteElement {}\n\n  /** @deprecated - use XULToolBarSetElement */\n  interface ToolBarSet extends XULToolBarSetElement {}\n\n  /** @deprecated - use XULToolBarButtonElement */\n  interface ToolBarButton extends XULToolBarButtonElement {}\n\n  /** @deprecated - use XULToolBarItemElement */\n  interface ToolBarItem extends XULToolBarItemElement {}\n\n  /** @deprecated - use XULToolBarSeparatorElement */\n  interface ToolBarSeparator extends XULToolBarSeparatorElement {}\n\n  /** @deprecated - use XULToolBarSpacerElement */\n  interface ToolBarSpacer extends XULToolBarSpacerElement {}\n\n  /** @deprecated - use XULToolBarSpringElement */\n  interface ToolBarSpring extends XULToolBarSpringElement {}\n\n  /** @deprecated - use XULToolBarGrippyElement */\n  interface ToolBarGrippy extends XULToolBarGrippyElement {}\n\n  /** @deprecated - use XULBoxElement */\n  interface Box extends XULBoxElement {}\n\n  /** @deprecated - use XULDeckElement */\n  interface Deck extends XULDeckElement {}\n\n  /** @deprecated - use XULTabElement */\n  interface Tab extends XULTabElement {}\n\n  /** @deprecated - use XULTabsElement */\n  interface Tabs extends XULTabsElement {}\n\n  /** @deprecated - use XULTabPanelElement */\n  interface TabPanel extends XULTabPanelElement {}\n\n  /** @deprecated - use XULTabPanelsElement */\n  interface TabPanels extends XULTabPanelsElement {}\n\n  /** @deprecated - use XULTabBoxElement */\n  interface TabBox extends XULTabBoxElement {}\n\n  /** @deprecated - use XULButtonElement */\n  interface Button extends XULButtonElement {}\n\n  /** @deprecated - use XULListItemElement */\n  interface ListItem extends XULListItemElement {}\n\n  /** @deprecated - use XULTreeSeparatorElement */\n  interface TreeSeparator extends XULTreeSeparatorElement {}\n\n  /** @deprecated - use XULTreeRowElement */\n  interface TreeRow extends XULTreeRowElement {}\n\n  /** @deprecated - use XULTreeCellElement */\n  interface TreeCell extends XULTreeCellElement {}\n\n  /** @deprecated - use XULTreeItemElement */\n  interface TreeItem extends XULTreeItemElement {}\n\n  /** @deprecated - use XULTreeChildrenElement */\n  interface TreeChildren extends XULTreeChildrenElement {}\n\n  /** @deprecated - use XULTreeColElement */\n  interface TreeCol extends XULTreeColElement {}\n\n  /** @deprecated - use XULTreeColsElement */\n  interface TreeCols extends XULTreeColsElement {}\n\n  /** @deprecated - use XULTreeElement */\n  interface Tree extends XULTreeElement {}\n\n  /** @deprecated - use XULScrollBarElement */\n  interface ScrollBar extends XULScrollBarElement {}\n\n  /** @deprecated - use XULGrippyElement */\n  interface Grippy extends XULGrippyElement {}\n\n  /** @deprecated - use XULSplitterElement */\n  interface Splitter extends XULSplitterElement {}\n\n  /** @deprecated - use XULColorPickerElement */\n  interface ColorPicker extends XULColorPickerElement {}\n\n  /** @deprecated - use XULCommandElement */\n  interface Command extends XULCommandElement {}\n\n  /** @deprecated - use XULWindowElement */\n  interface XULWindow extends XULWindowElement {}\n\n  /** @deprecated - use Event */\n  interface XULEvent extends Event {}\n}\n\ndeclare interface XULElement\n  extends Element,\n    ElementCSSInlineStyle,\n    GlobalEventHandlers,\n    HTMLOrForeignElement,\n    OnErrorEventHandlerForNodes,\n    TouchEventHandlers {\n  width: number | string;\n  height: number | string;\n  top: number | string;\n  left: number | string;\n  flex: number | string;\n  align: \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\";\n}\n\ndeclare interface XULDescriptionElement\n  extends XULElement,\n    XUL.IDisabled,\n    XUL.ICrop,\n    XUL.IValue {\n  control: string;\n}\n\ndeclare interface XULLabelElement extends XULElement, XUL.Description {}\n\ndeclare interface XULTextBoxElement\n  extends XULElement,\n    XUL.IValue,\n    XUL.ILabel,\n    XUL.IDisabled {\n  readOnly: boolean;\n  maxLength: number;\n  clickSelectsAll: boolean;\n  defaultValue: string;\n  selectionStart: number;\n  selectionEnd: number;\n  type: \"autocomplete\" | \"number\" | \"password\" | \"search\";\n  placeholder: string;\n  size: number;\n  readonly inputField: HTMLInputElement;\n  reset(): void;\n  select(): void;\n  setSelectionRange(start: number, end: number): void;\n}\n\ndeclare interface XULCheckboxElement\n  extends XULElement,\n    XUL.ILabel,\n    XUL.IDisabled {\n  checked: boolean;\n}\n\ndeclare interface XULRadioElement\n  extends XULElement,\n    XUL.ILabel,\n    XUL.IDisabled {\n  selected: boolean;\n  command: XUL.Command;\n}\n\ndeclare interface XULRadioGroupElement\n  extends XULElement,\n    XUL.IDisabled,\n    XUL.IValue,\n    XUL.ISelectedIndex {\n  selectedIndex: number;\n  selectedItem: XULRadioElement;\n  appendItem(label: string, value?: string): XULRadioElement;\n  insertItemAt(index: number, label: string, value?: string): XULRadioElement;\n  removeItemAt(index: number): XULRadioElement;\n}\n\ndeclare interface XULGroupBoxElement\n  extends XULElement,\n    XUL.ICrop,\n    XUL.ILabel {}\n\ndeclare interface XULStatusBarElement extends XULElement {}\n\ndeclare interface XULStatusBarPanelElement extends XULElement, XUL.ILabel {}\n\ndeclare interface XULSeparatorElement extends XULElement {}\n\ndeclare interface XULSpacerElement extends XULElement {}\n\ndeclare interface XULProgressMeterElement extends XULElement {\n  mode: \"determined\" | \"undetermined\";\n  value: number;\n}\n\ndeclare interface XULMenuBarElement extends XULElement {}\n\ndeclare interface XULMenuElement extends XULElement, XUL.IValue {}\n\ndeclare interface XULPopupElement extends XULElement {\n  // @ts-ignore - Override XULElement open property\n  position:\n    | \"after_start\"\n    | \"after_end\"\n    | \"before_start\"\n    | \"before_end\"\n    | \"end_after\"\n    | \"end_before\"\n    | \"start_after\"\n    | \"start_before\"\n    | \"overlap\"\n    | \"at_pointer\"\n    | \"after_pointer\";\n\n  /**\n   * This read only property indicates whether the popup is open or not. Four values are possible:\n   * - closed: The popup is closed and not visible.\n   * - open: The popup is open and visible on screen.\n   * - showing: A request has been made to open the popup, but it has not yet been shown. This state will occur during the popupshowing event.\n   * - hiding: The popup is about to be hidden. This state will occur during the popuphiding event.\n   */\n  // @ts-ignore - Override XULElement state property\n  readonly state: \"closed\" | \"open\" | \"showing\" | \"hiding\";\n}\n\ndeclare interface XULMenuPopupElement extends XULPopupElement {}\n\ndeclare interface XULMenuItemElement\n  extends XULElement,\n    XUL.ICrop,\n    XUL.IValue,\n    XUL.ILabel,\n    XUL.IDisabled {\n  command: string | XUL.Command;\n  allowEvents: boolean;\n  selected: boolean;\n}\n\ndeclare interface XULMenuListElement\n  extends XULElement,\n    XUL.ICrop,\n    XUL.IValue,\n    XUL.IDisabled,\n    XUL.ILabel,\n    XUL.ISelectedIndex {\n  selectedItem: XULMenuItemElement;\n  itemCount: number;\n  description: string;\n  open: false;\n  readonly inputField: XULTextBoxElement;\n\n  getItemAtIndex(i: number): XUL.MenuItem;\n  appendItem: (\n    label: string,\n    value?: string,\n    description?: string,\n  ) => XUL.MenuItem;\n  insertItemAt: (\n    index: number,\n    label: string,\n    value?: string,\n    description?: string,\n  ) => XUL.MenuItem;\n}\n\ndeclare interface XULMenuSeparatorElement extends XULElement {}\n\ndeclare interface XULTooltipElement extends XULPopupElement, XUL.ILabel {}\n\ndeclare interface XULToolBoxElement extends XULElement {}\n\ndeclare interface XULToolBarElement extends XULElement {}\n\ndeclare interface XULToolBarPaletteElement extends XULElement {}\n\ndeclare interface XULToolBarSetElement extends XULElement {}\n\ndeclare interface XULToolBarButtonElement extends XULButtonElement {}\n\ndeclare interface XULToolBarItemElement extends XULElement {}\n\ndeclare interface XULToolBarSeparatorElement extends XULElement {}\n\ndeclare interface XULToolBarSpacerElement extends XULSpacerElement {}\n\ndeclare interface XULToolBarSpringElement extends XULElement {}\n\ndeclare interface XULToolBarGrippyElement extends XULGrippyElement {}\n\ndeclare interface XULBoxElement extends XULElement, XUL.ICrop {\n  orient: \"horizontal\" | \"vertical\";\n  pack: \"start\" | \"center\" | \"end\";\n  maxHeight: number;\n  minHeight: number;\n  maxWidth: number;\n  minWidth: number;\n}\n\ndeclare interface XULDeckElement extends XULElement, XUL.ISelectedIndex {\n  selectedPanel: XULElement;\n  selectedIndex: number;\n}\n\ndeclare interface XULTabElement extends XULElement {\n  readonly selected: boolean;\n  readonly control: XULTabsElement;\n}\n\ndeclare interface XULTabsElement extends XULElement, XUL.ISelectedIndex {\n  itemCount: number;\n  selectedItem: XULTabElement;\n\n  /**\n   * @param dir\n   * If the argument dir is set to 1, the currently selected tab changes to the next tab.\n   * If the argument dir is set to -1, the currently selected tab changes to the previous tab.\n   * @param wrap\n   * If the wrap argument is true, the adjustment will wrap around when the first or last tab is reached.\n   */\n  advanceSelectedTab(dir: number, wrap: boolean): void;\n\n  /**\n   * Creates a new item and adds it to the end of the existing list of items.\n   * You may optionally set a value.\n   * @returns The function returns the newly created element.\n   */\n  appendItem(label: string, value: string): XULTabElement;\n\n  /**\n   * This method creates a new item and inserts it at the specified position.\n   * You may optionally set a value.\n   * @returns The new item element is returned.\n   */\n  insertItemAt(index: number, label: string, value: string): XULTabElement;\n\n  /**\n   * Removes the child item in the element at the specified index.\n   * @returns The method returns the removed item.\n   */\n  removeItemAt(index: number): XULTabElement;\n}\n\ndeclare interface XULTabPanelElement extends XULElement {}\n\ndeclare interface XULTabPanelsElement extends XULElement, XUL.ISelectedIndex {\n  selectedPanel: XULElement;\n}\n\ndeclare interface XULTabBoxElement extends XULElement, XUL.ISelectedIndex {\n  handleCtrlPageUpDown: boolean;\n  handleCtrlTab: boolean;\n  accessibleType: number;\n  selectedPanel: Element;\n  selectedTab: XULTabElement;\n  tabs: XULTabsElement;\n  tabpanels: XULTabPanelsElement;\n}\n\ndeclare interface XULButtonElement\n  extends XULElement,\n    XUL.IDisabled,\n    XUL.ICrop,\n    XUL.ILabel {\n  checked: boolean;\n  type: string;\n  tooltiptext: string;\n  autoCheck: boolean;\n  checkState: number;\n  dlgType: string;\n  group: string;\n  open: boolean;\n}\n\ndeclare interface XULListItemElement extends XULElement {\n  selectedItem: XULElement;\n}\n\n/**\n * Used to place a seperator row in a tree.\n */\ndeclare interface XULTreeSeparatorElement extends XULElement, XUL.IProperties {}\n\n/**\n * A single row in a tree. It should be placed inside a treeitem element.\n * Children of the treerow should be treecell elements.\n * If child rows are necessary, they should be placed in a treechildren element inside the parent treeitem.\n */\ndeclare interface XULTreeRowElement extends XULElement, XUL.IProperties {}\n\n/**\n * A single cell in a tree. This element should be placed inside a treerow.\n * You can set the text for the cell using the label attribute.\n */\ndeclare interface XULTreeCellElement\n  extends XULElement,\n    XUL.IProperties,\n    XUL.ILabel {\n  mode: \"none\" | \"normal\" | \"undetermined\";\n}\n\n/**\n * A treeitem should be placed inside a treechildren element and should contain treerow elements.\n * The treeitem can be clicked by the user to select the row of the tree.\n * The treeitem contains a single row and all of what appear to the user as that row's descendants.\n */\ndeclare interface XULTreeItemElement extends XULElement, XUL.ILabel {\n  open: boolean;\n}\n\n/**\n * This element is the body of the tree. For content trees, the content will be placed inside this element.\n * This element is also used to define container rows in the tree.\n */\ndeclare interface XULTreeChildrenElement extends XULElement {\n  alternatingbackground: boolean;\n}\n\n/**\n * A column of a tree.\n * It displays the column header and holds the size and other information about the column.\n * You can also place splitter elements between the columns to allow column resizing.\n * You should always place an id attribute on a treecol element to ensure that the column positioning is handled properly.\n */\ndeclare interface XULTreeColElement extends XULElement, XUL.ICrop, XUL.ILabel {\n  cycler: boolean;\n  dragging: boolean;\n  fixed: boolean;\n  hideheader: boolean;\n  ignoreincolumnpicker: boolean;\n  primary: boolean;\n  src: string;\n  type: \"checkbox\" | \"progressmeter\" | \"text\";\n}\n\n/**\n * A group of treecol elements. There should one and only one treecols element in a tree.\n */\ndeclare interface XULTreeColsElement extends XULElement, XUL.ILabel {\n  pickertooltiptext: string;\n}\n\ndeclare interface XULTreeElement extends XULElement {\n  disableKeyNavigation: boolean;\n  enableColumnDrag: boolean;\n  hidecolumnpicker: boolean;\n  rows: number;\n  selstyle: string;\n  seltype: \"single\" | \"multiple\";\n  currentIndex: number;\n  firstOrdinalColumn: XULTreeColElement;\n}\n\ndeclare interface XULScrollBarElement extends XULElement {}\n\ndeclare interface XULGrippyElement extends XULElement {}\n\ndeclare interface XULSplitterElement extends XULElement {}\n\ndeclare interface XULColorPickerElement extends XULElement, XUL.IDisabled {\n  color: string;\n}\n\ndeclare interface XULCommandElement extends XULElement, XUL.ILabel {}\n\n// @ts-ignore - Allow extending native Window\ndeclare interface XULWindowElement extends XULElement, Window {\n  arguments: any;\n  title: string;\n  onclose(): any;\n}\n\ndeclare interface GlobalEventHandlers {\n  oncommand: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n}\n\n\ndeclare namespace Zotero {\n  /**\n   * Debug logging function\n   *\n   * Uses prefs e.z.debug.log and e.z.debug.level (restart required)\n   *\n   * @param {} message\n   * @param {Integer} [level=3]\n   * @param {Integer} [maxDepth]\n   * @param {Boolean|Integer} [stack] Whether to display the calling stack.\n   *   If true, stack is displayed starting from the caller. If an integer,\n   *   that many stack levels will be omitted starting from the caller.\n   */\n  function debug(\n    message: any,\n    level?: number,\n    maxDepth?: number,\n    stack?: number | boolean,\n  ): void;\n\n  /**\n   * Log a message to the Mozilla JS error console\n   *\n   * |type| is a string with one of the flag types in nsIScriptError:\n   *    'error', 'warning', 'exception', 'strict'\n   */\n  function log(\n    message: any,\n    type?: \"error\" | \"warning\" | \"exception\" | \"strict\",\n    sourceName?: string,\n    sourceLine?: string | number,\n    lineNumber?: number,\n    columnNumber?: number,\n  ): void;\n\n  /**\n   * Log a JS error to the Mozilla error console and debug output\n   * @param {Exception} err\n   */\n  function logError(err: Error): void;\n\n  function warn(err: Error): void;\n\n  /**\n   * Display an alert in a given window\n   *\n   * @param {Window}\n   * @param {String} title\n   * @param {String} msg\n   */\n  function alert(window: Window, title: string, msg: string): void;\n\n  function getMainWindow(): _ZoteroTypes.MainWindow;\n  function getMainWindows(): _ZoteroTypes.MainWindow[];\n  function getZoteroPanes(): _ZoteroTypes.ZoteroPane[];\n  function getActiveZoteroPane(): _ZoteroTypes.ZoteroPane;\n  function getStorageDirectory(): nsIFile;\n  const setFontSize: typeof Utilities.Internal.setFontSize;\n  const flattenArguments: typeof Utilities.Internal.flattenArguments;\n  const getAncestorByTagName: typeof Utilities.Internal.getAncestorByTagName;\n  const startupErrorHandler: () => void | undefined;\n  const appName: string;\n  const clientName: string;\n  const resourcesDir: string;\n  const locale: keyof _ZoteroTypes.AvailableLocales;\n  const dir: \"ltr\" | \"rtl\";\n  const platform: string;\n  const platformMajorVersion: number;\n  const version: string;\n  const isMac: boolean;\n  const isWin: boolean;\n  const isLinux: boolean;\n  const initialized: boolean;\n  const skipLoading: boolean;\n  const hiDPISuffix: string;\n  const hiDPI: boolean;\n\n  const initializationPromise: Promise<void>;\n  const unlockPromise: Promise<void>;\n  const uiReadyPromise: Promise<void>;\n  const proxyAuthComplete: Promise<void>;\n\n  /**\n   * @property {Boolean} crashed - True if the application needs to be restarted\n   */\n  const crashed: boolean;\n\n  /**\n   * @property\t{Boolean}\tclosing\t\tTrue if the application is closing.\n   */\n  const closing: boolean;\n\n  /**\n   * @property\t{Boolean}\tlocked\t\tWhether all Zotero panes are locked\n   *\t\t\t\t\t\t\t\t\t\twith an overlay\n   */\n  const locked: boolean;\n\n  /**\n   * Initialize the extension\n   *\n   * @return {Promise<Boolean>}\n   */\n  function init(options?: object): Promise<boolean>;\n\n  /**\n   * Shuts down Zotero, calls a callback (that may return a promise),\n   * then reinitializes Zotero. Returns a promise that is resolved\n   * when this process completes.\n   */\n  function reinit(cbk: Function, options?: object): void | Promise<void>;\n\n  /**\n   * Triggers events when initialization finishes\n   */\n  function initComplete(): void;\n\n  function uiIsReady(): void;\n  function shutdown(): Promise<void>;\n  function getProfileDirectory(): nsIFile;\n  function getZoteroDirectory(): nsIFile;\n  function getZoteroDatabase(): nsIFile;\n  function getStylesDirectory(): nsIFile;\n  function getTranslatorsDirectory(): nsIFile;\n  function getTempDirectory(): nsIFile;\n  function removeTempDirectory(): Promise<boolean>;\n\n  function openMainWindow(): void;\n  function openCheckForUpdatesWindow(): void;\n\n  /**\n   * Launch a file, the best way we can\n   */\n  function launchFile(file: string): void;\n\n  /**\n   * Launch a file with the given application\n   */\n  function launchFileWithApplication(\n    filePath: string,\n    applicationPath: string,\n  ): void;\n\n  /**\n   * Launch a URL externally, the best way we can\n   */\n  function launchURL(url: string): void;\n\n  /**\n   * Opens a URL in the basic viewer, and optionally run a callback on load\n   *\n   * @param {String} uri\n   * @param {Object} [options]\n   * @param {Function} [options.onLoad] - Function to run once URI is loaded; passed the loaded document\n   * @param {Object} [options.cookieSandbox] - Attach a cookie sandbox to the browser\n   * @param {Boolean} [options.allowJavaScript] - Set to false to disable JavaScript\n   */\n  function openInViewer(\n    uri: string,\n    options?: {\n      onLoad?: (doc: Document) => void;\n      cookieSandbox?: Zotero.CookieSandbox;\n      allowJavaScript?: boolean;\n    },\n  ): void;\n\n  /**\n   * Display an error message saying that an error has occurred and Zotero needs to be restarted.\n   *\n   * If |popup| is TRUE, display in popup progress window; otherwise, display as items pane message\n   */\n  function crash(popup?: boolean): void;\n\n  function getErrors(asStrings?: false): unknown[];\n  function getErrors(asStrings: true): string[];\n\n  function isWin64EmulatedOnArm(): boolean;\n\n  /**\n   * Get versions, platform, etc.\n   */\n  function getSystemInfo(): Promise<string>;\n\n  function getOSVersion(): Promise<string>;\n\n  /**\n   * @return {Promise<String[]>} - Promise for an array of extension names and versions\n   */\n  function getInstalledExtensions(): Promise<string[]>;\n\n  const getString: typeof Intl.getString;\n\n  function defineProperty(\n    obj: object,\n    prop: string,\n    desc: object,\n    opts?: { lazy: boolean },\n  ): void;\n  function extendClass(superClass: object, newClass: object): void;\n\n  function getLocaleCollation(): Intl.Collator;\n  function localeCompare(a: string, b: string): number;\n  function randomString(len?: number, chars?: string): string;\n  const lazy: typeof Utilities.Internal.lazy;\n  const serial: typeof Utilities.Internal.serial;\n  /**\n   * @deprecated Removed in fx140 (Zotero 8.0)\n   */\n  const spawn: typeof Utilities.Internal.spawn;\n\n  /**\n   * Emulates the behavior of window.setTimeout\n   *\n   * @param {Function} func\t\t\tThe function to be called\n   * @param {Integer} ms\t\t\t\tThe number of milliseconds to wait before calling func\n   * @return {Integer} - ID of timer to be passed to clearTimeout()\n   */\n  function setTimeout(func: Function, ms: number): number;\n\n  function clearTimeout(id: number): void;\n\n  /**\n   * Show Zotero pane overlay and progress bar in all windows\n   *\n   * @param {String} msg\n   * @param {Boolean} [determinate=false]\n   * @param {Boolean} [modalOnly=false] - Don't use popup if Zotero pane isn't showing\n   * @return\t{void}\n   */\n  function showZoteroPaneProgressMeter(\n    msg: string,\n    determinate?: boolean,\n    modalOnly?: boolean,\n  ): void;\n\n  /**\n   * @param\t{Number}\tpercentage\t\tPercentage complete as integer or float\n   */\n  function updateZoteroPaneProgressMeter(percentage: number): void;\n\n  /**\n   * Hide Zotero pane overlay in all windows\n   */\n  function hideZoteroPaneOverlays(): void;\n\n  /**\n   * Adds a listener to be called when Zotero shuts down (even if Firefox is not shut down)\n   */\n  function addShutdownListener(listener: Function): void;\n\n  function updateQuickSearchBox(doc: Document): void;\n\n  /**\n   * Clear entries that no longer exist from various tables\n   */\n  function purgeDataObjects(): Promise<void>;\n\n  function reloadDataObjects(): Promise<void>;\n\n  /**\n   * Brings Zotero Standalone to the foreground\n   */\n  function activateStandalone(): void;\n\n  const Locale: {\n    readonly availableLocales: _ZoteroTypes.AvailableLocales;\n    defaultScriptDirection(\n      locale: _ZoteroTypes.AvailableLocales,\n    ): \"ltr\" | \"rtl\";\n  };\n\n  const Intl: {\n    strings: {\n      [key: string]: string;\n    };\n\n    collation: {\n      compareString: (_: number, a: string, b: string) => number;\n    };\n\n    /**\n     * @param {String} name\n     * @param {String[]} [params=[]] - Strings to substitute for placeholders\n     * @param {Number} [num] - Number (also appearing in `params`) to use when determining which plural\n     *     form of the string to use; localized strings should include all forms in the order specified\n     *     in https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals,\n     *     separated by semicolons\n     */\n    getString: (\n      name: string,\n      params?: string | string[],\n      num?: number,\n    ) => string;\n  };\n}\n\n// Below are not implemented types\ndeclare namespace Zotero {\n  let API: any;\n  let Cite: any;\n  let Debug: any;\n  let Integration: any;\n  let ItemFields: any;\n  let PDFWorker: any;\n  let QuickCopy: any;\n  let Schema: any;\n  let SearchConditions: any;\n  let Styles: any;\n  let Sync: any;\n  let Translate: any;\n  let Translators: any;\n}\n\ndeclare namespace _ZoteroTypes {\n  /**\n   * @example\n   * var Zotero: _ZoteroConstructable = Components.classes[\n   *  \"@zotero.org/Zotero;1\"\n   * ].getService(Components.interfaces.nsISupports).wrappedJSObject;\n   */\n  type _ZoteroConstructable = typeof Zotero;\n  type Zotero = _ZoteroConstructable;\n\n  interface AvailableLocales {\n    ar: \"عربي\";\n    \"bg-BG\": \"Български\";\n    br: \"brezhoneg\";\n    \"ca-AD\": \"Català\";\n    \"cs-CZ\": \"Čeština\";\n    \"da-DK\": \"Dansk\";\n    de: \"Deutsch\";\n    \"el-GR\": \"Ελληνικά\";\n    \"en-AU\": \"English (Australian)\";\n    \"en-CA\": \"English (Canada)\";\n    \"en-US\": \"English\";\n    \"en-GB\": \"English (UK)\";\n    \"en-NZ\": \"English (New Zealand)\";\n    \"es-ES\": \"Español\";\n    \"et-EE\": \"Eesti keel\";\n    \"eu-ES\": \"Euskara\";\n    fa: \"فارسی\";\n    \"fi-FI\": \"suomi\";\n    \"fr-FR\": \"Français\";\n    \"gl-ES\": \"Galego\";\n    \"hu-HU\": \"magyar\";\n    \"id-ID\": \"Bahasa Indonesia\";\n    \"is-IS\": \"íslenska\";\n    \"it-IT\": \"Italiano\";\n    \"ja-JP\": \"日本語\";\n    km: \"ខ្មែរ\";\n    \"ko-KR\": \"한국어\";\n    \"lt-LT\": \"Lietuvių\";\n    \"nl-NL\": \"Nederlands\";\n    \"nb-NO\": \"Norsk bokmål\";\n    \"pl-PL\": \"Polski\";\n    \"pt-BR\": \"Português (do Brasil)\";\n    \"pt-PT\": \"Português (Europeu)\";\n    \"ro-RO\": \"Română\";\n    \"ru-RU\": \"Русский\";\n    \"sk-SK\": \"slovenčina\";\n    \"sl-SI\": \"Slovenščina\";\n    \"sr-RS\": \"Српски\";\n    \"sv-SE\": \"Svenska\";\n    \"th-TH\": \"ไทย\";\n    \"tr-TR\": \"Türkçe\";\n    \"uk-UA\": \"Українська\";\n    \"vi-VN\": \"Tiếng Việt\";\n    \"zh-CN\": \"中文 (简体)\";\n    \"zh-TW\": \"正體中文 (繁體)\";\n  }\n}\n\n\ndeclare namespace _ZoteroTypes {\n  class ZoteroContextPane {\n    readonly activeEditor?: Zotero.EditorInstance;\n    readonly sidenav: XULElement;\n    readonly splitter: XULElement;\n    // TODO: complete type\n    readonly context: any;\n    showLoadingMessage(isShow: boolean): void;\n    init(): void;\n    destroy(): void;\n    update(): void;\n    focus(): void;\n    togglePane(): void;\n    collapsed: boolean;\n    updateAddToNote(): void;\n  }\n}\n\n\n// chrome/content/zotero/zoteroPane.js\n\ndeclare namespace _ZoteroTypes {\n  class ZoteroPane {\n    [attr: string]: any;\n    document: Document & { body: null; head: null };\n    collectionsView: CollectionTree | false;\n    itemsView: ItemTree | false;\n    itemPane: ItemPane | false;\n    progressWindow: Zotero.ProgressWindow | false;\n\n    newCollection(parentKey: string): Promise<undefined | Zotero.Collection>;\n    openAdvancedSearchWindow(): void;\n    updateTagFilter(): Promise<undefined>;\n    toggleTagSelector(): void;\n    tagSelectorShown(): undefined | boolean;\n    getSelectedLibraryID(): number;\n    getSelectedGroup(): Zotero.Collection;\n    getSelectedGroup(asID: boolean): Zotero.Collection | number;\n    getSelectedSavedSearch(): Zotero.Collection;\n    getSelectedSavedSearch(asID: boolean): Zotero.Collection | number;\n    getSelectedCollection(asID?: false): Zotero.Collection | undefined;\n    getSelectedCollection(asID: true): number | undefined;\n    selectItem(itemID: number, inLibraryRoot?: boolean): undefined | boolean;\n    selectItems: (\n      itemIDs: Array<number>,\n      inLibraryRoot?: boolean,\n    ) => Promise<undefined | boolean>;\n    copySelectedItemsToClipboard(asCitations: boolean): void;\n    refreshFeed(): undefined | Promise<any>;\n    emptyTrash(): Promise<void>;\n    mergeSelectedItems(): void;\n    deleteSelectedCollection(deleteItems: boolean): void | Promise<void>;\n    duplicateSelectedItem(): Promise<Zotero.Item>;\n    duplicateAndConvertSelectedItem(): Promise<Zotero.Item | boolean>;\n    restoreSelectedItems(): Promise<void>;\n    updateNoteButtonMenu(): Promise<void>;\n    getCollectionTreeRow(): undefined | CollectionTree;\n    showOriginalItem(): void;\n    search(runAdvanced: boolean): Promise<void>;\n    sync(): void;\n    showSetUpSyncReminder(): void;\n    showAutoSyncReminder(): void;\n    displayCannotEditLibraryMessage(): void;\n    displayCannotEditLibraryFilesMessage(): void;\n    displayCannotAddToMyPublicationsMessage(): void;\n    displayCannotAddShortcutMessage(path?: string): void;\n    recognizeSelected(): void;\n    unrecognizeSelected(): Promise<void>;\n    createParentItemsFromSelected(): Promise<void | false>;\n    addNoteFromAnnotationsForAttachment: (\n      attachment: Zotero.Item,\n      opt?: { skipSelect?: boolean },\n    ) => Promise<Zotero.Item>;\n    createStandaloneNoteFromAnnotationsFromSelected(): Promise<void>;\n    createEmptyParent(item: Zotero.Item): Promise<void>;\n    exportPDF(itemID: number): Promise<void>;\n    exportSelectedFiles(): Promise<void>;\n    renameSelectedAttachmentsFromParents(): Promise<boolean>;\n    convertLinkedFilesToStoredFiles(): Promise<void>;\n    relinkAttachment(itemID: number): Promise<void>;\n    updateReadLabel(): void;\n    reportErrors(): void;\n    displayStartupError(): void;\n    hideRetractionBanner(): void;\n    getState(): { type: \"pane\"; tabs: _ZoteroTypes.TabInstance[] };\n    updateWindow(): void;\n    openAboutDialog(): void;\n    setItemPaneMessage(content: XUL.Element | string): void;\n    addSelectedItemsToCollection: (\n      collection: Zotero.Collection | null,\n      createNew?: boolean,\n    ) => Promise<void>;\n    attachmentsWithExtractableAnnotations: (\n      item: Zotero.Item,\n    ) => Array<Zotero.Item>;\n    isAttachmentWithExtractableAnnotations(item: Zotero.Item): boolean;\n    /** @deprecated use openNote() with openInWindow option */\n    openNoteWindow(itemID: number, col?: number, parentKey?: string): void;\n    openNote(\n      itemID: number,\n      options?: {\n        col?: number;\n        parentKey?: string;\n        openInWindow?: boolean;\n      },\n    ): void;\n    viewPDF(\n      itemID: number,\n      location: _ZoteroTypes.Reader.Location,\n    ): Promise<void>;\n    showAttachmentInFilesystem: (\n      itemID: number,\n      noLocateOnMissing?: boolean,\n    ) => Promise<void>;\n    getSortField(): false | string;\n    getSortDirection(): false | 1 | -1;\n\n    /**\n     * Set the tags scope to the items in the current view\n     * Passed to the items tree to trigger on changes\n     */\n    setTagScope(): void;\n\n    /**\n     * @return {Promise<Boolean>} - Promise that resolves to true if an item was selected,\n     *                              or false if not (used for tests, though there could possibly\n     *                              be a better test for whether the item pane changed)\n     */\n    itemSelected(): Promise<boolean>;\n\n    /**\n     * Update the <command> elements that control the shortcut keys and the enabled state of the\n     * \"Copy Citation\"/\"Copy Bibliography\"/\"Copy as\"/\"Copy Note\" menu options. When disabled, the shortcuts are\n     * still caught in handleKeyPress so that we can show an alert about not having references selected.\n     */\n    updateQuickCopyCommands(selectedItems: Array<Zotero.Item>): void;\n\n    /**\n     * Return whether every selected item can be deleted from the current\n     * collection context (library, trash, collection, etc.).\n     *\n     * @return {Boolean}\n     */\n    canDeleteSelectedItems(): boolean;\n\n    /**\n     * Check whether every selected item can be restored from trash\n     *\n     * @return {Boolean}\n     */\n    canRestoreSelectedItems(): boolean;\n\n    /*\n     * Remove, trash, or delete item(s), depending on context\n     *\n     * @param  {Boolean}  [force=false]     Trash or delete even if in a collection or search,\n     *                                      or trash without prompt in library\n     * @param  {Boolean}  [fromMenu=false]  If triggered from context menu, which always prompts for deletes\n     */\n    deleteSelectedItems(force?: boolean, fromMenu?: boolean): void;\n\n    /**\n     * Currently only works on searches\n     */\n    duplicateSelectedCollection(): Promise<void>;\n\n    /**\n     * Configure the UI and show the sync reminder panel for a given type of reminder\n     *\n     * @param {String} reminderType - Possible values: 'setUp' or 'autoSync'\n     * @param {Object} [options]\n     * @param {String} [options.learnMoreURL] - Show \"Learn More\" link to this URL\n     */\n    showSyncReminder: (\n      reminderType: string,\n      options?: { learnMoreURL: string },\n    ) => void;\n\n    /**\n     * Hide the currently displayed sync reminder and update its associated\n     * lastDisplayed time.\n     */\n    hideSyncReminder(): void;\n\n    /**\n     * Adds or removes a function to be called when Zotero is reloaded by switching into or out of\n     * the connector\n     */\n    addReloadListener(func: Function): void;\n\n    /**\n     * Adds or removes a function to be called just before Zotero is reloaded by switching into or\n     * out of the connector\n     */\n    addBeforeReloadListener(func: Function): void;\n\n    /**\n     * Moves around the toolbar when the user moves around the pane\n     */\n    updateToolbarPosition(): void;\n\n    /**\n     * Unserializes zotero-persist elements from preferences\n     */\n    unserializePersist(): void;\n\n    /**\n     * Serializes zotero-persist elements to preferences\n     */\n    serializePersist(): void;\n\n    /**\n     * Sets the layout to either a three-vertical-pane layout and a layout where itemsPane is above itemPane\n     */\n    updateLayout(): void;\n\n    /**\n     * Attempt to find a file in the LABD matching the passed attachment\n     * by searching successive subdirectories. Prompt the user if a match is\n     * found and offer to relink one or all matching files in the directory.\n     * The user can also choose to relink manually, which opens a file picker.\n     *\n     * If the synced path is 'C:\\Users\\user\\Documents\\Dissertation\\Files\\Paper.pdf',\n     * the LABD is '/Users/user/Documents', and the (not yet known) correct local\n     * path is '/Users/user/Documents/Dissertation/Files/Paper.pdf', check:\n     *\n     * 1. /Users/user/Documents/Users/user/Documents/Dissertation/Files/Paper.pdf\n     * 2. /Users/user/Documents/user/Documents/Dissertation/Files/Paper.pdf\n     * 3. /Users/user/Documents/Documents/Dissertation/Files/Paper.pdf\n     * 4. /Users/user/Documents/Dissertation/Files/Paper.pdf\n     *\n     * If line 4 had not been the correct local path (in other words, if no file\n     * existed at that path), we would have continued on to check\n     * '/Users/user/Documents/Dissertation/Paper.pdf'. If that did not match,\n     * with no more segments in the synced path to drop, we would have given up.\n     *\n     * Once we find the file, check for other linked files beginning with\n     * C:\\Users\\user\\Documents\\Dissertation\\Files and see if they exist relative\n     * to /Users/user/Documents/Dissertation/Files, and prompt to relink them\n     * all if so.\n     *\n     * @param {Zotero.Item} item\n     * @return {Promise<Boolean>} True if relinked successfully or canceled\n     */\n    checkForLinkedFilesToRelink(item: Zotero.Item): Promise<boolean>;\n\n    /**\n     * Add a single child note with the annotations from all selected items, including from all\n     * child attachments of a selected regular item\n     *\n     * Selected items must all have the same top-level item\n     */\n    addNoteFromAnnotationsFromSelected(): Promise<void>;\n\n    /**\n     * Create separate child notes for each selected item, including all child attachments of\n     * selected regular items\n     *\n     * No longer exposed via UI\n     */\n    addNotesFromAnnotationsFromSelected(): Promise<void>;\n\n    /**\n     * Prompt the user to relink one or all of the attachment files found in\n     * the LABD.\n     *\n     * @param {Zotero.Item} item\n     * @param {String} path Path to the file matching `item`\n     * @param {Number} numOthers If zero, \"Relink All\" option is not offered\n     * @return {'one' | 'all' | 'manual' | 'cancel'}\n     */\n    showLinkedFileFoundAutomaticallyDialog: (\n      item: Zotero.Item,\n      path: string,\n      numOthers: number,\n    ) => \"one\" | \"all\" | \"manual\" | \"cancel\";\n\n    /**\n     * Return an array of Item objects for selected items\n     * If asIDs is true, return an array of itemIDs instead\n     * @param {boolean} [asIDs = false]\n     */\n    getSelectedItems(asIDs?: false): Array<Zotero.Item>;\n    getSelectedItems(asIDs: true): Array<number>;\n\n    /**\n     * Returns an array of Zotero.Item objects of visible items in current sort order\n     *\n     * If asIDs is true, return an array of itemIDs instead\n     */\n    getSortedItems(asIDs?: false): Array<Zotero.Item>;\n    getSortedItems(asIDs: true): Array<number>;\n\n    /**\n     * Loads a URL following the standard modifier key behavior\n     *  (e.g. meta-click == new background tab, meta-shift-click == new front tab,\n     *  shift-click == new window, no modifier == frontmost tab\n     */\n    loadURI(uris: string | Array<string>): void;\n\n    /**\n     * @return {Promise<Integer|null|false>} - The id of the new note in non-popup mode, null in\n     *     popup mode (where a note isn't created immediately), or false if library isn't editable\n     */\n    newNote: (\n      popup?: boolean,\n      parentKey?: string,\n      text?: string,\n      citeURI?: string,\n    ) => Promise<number>;\n\n    /**\n     * Creates a child note for the selected item or the selected item's parent\n     *\n     * @return {Promise}\n     */\n    newChildNote(popup?: boolean): void;\n\n    /**\n     * @param\t{Document} doc\n     * @param\t{String|Integer} [itemType='webpage']\tItem type id or name\n     * @param\t{Boolean} [saveSnapshot] Force saving or non-saving of a snapshot,\n     * regardless of automaticSnapshots pref\n     * @return {Promise<Zotero.Item>|false}\n     */\n    addItemFromDocument: (\n      doc: Document,\n      itemType?: _ZoteroTypes.Item.ItemType,\n      saveSnapshot?: boolean,\n      row?: Zotero.Collection,\n    ) => Promise<Zotero.Item> | false;\n\n    /**\n     * @param\t{String|Integer} [itemType='webpage']\tItem type id or name\n     * @param\t{Boolean} [saveSnapshot] Force saving or non-saving of a snapshot,\n     * regardless of automaticSnapshots pref\n     * @return {Zotero.Item|false} - The saved item, or false if item can't be saved\n     */\n    addItemFromURL: (\n      url: string,\n      itemType?: _ZoteroTypes.Item.ItemType,\n      saveSnapshot?: boolean,\n      row?: Zotero.Collection,\n    ) => Promise<Zotero.Item> | false;\n\n    /**\n     * Test if the user can edit the currently selected view\n     *\n     * @param {Integer}\t[row]\n     *\n     * @return  {Boolean}\t\tTRUE if user can edit, FALSE if not\n     */\n    canEdit(row?: number): boolean;\n\n    /**\n     * Test if the user can edit the parent library of the selected view\n     *\n     * @param\t{Integer}\t[row]\n     * @return\t{Boolean}\t\tTRUE if user can edit, FALSE if not\n     */\n    canEditLibrary(row?: number): boolean;\n\n    /**\n     * Test if the user can edit the currently selected library/collection\n     *\n     * @param\t{Integer}\t[row]\n     *\n     * @return\t{Boolean}\t\tTRUE if user can edit, FALSE if not\n     */\n    canEditFiles(row?: number): boolean;\n  }\n}\n\n\n// chrome/content/zotero/tabs.js\n\ndeclare namespace _ZoteroTypes {\n  interface TabInstance {\n    id: string;\n    type: string;\n    title: string;\n    data?: any;\n    selected?: boolean;\n  }\n\n  class Zotero_Tabs {\n    readonly selectedID: string;\n    readonly selectedType: string;\n    readonly selectedIndex: number;\n    readonly deck: XUL.Element;\n    readonly numTabs: number;\n    readonly tabsMenuList: XUL.Box;\n    readonly tabsMenuPanel: XUL.Element;\n    _tabsMenuFilter: string;\n    _tabs: _ZoteroTypes.TabInstance[];\n\n    _getTab(tabId: string): { tab: _ZoteroTypes.TabInstance; tabIndex: number };\n    getTabInfo(tabID?: string): TabInstance & { subType?: string };\n    getSidebarState(tabType: string): { open?: boolean; width: number };\n    updateSidebarLayout(state?: { width?: number | boolean }): void;\n    _update(): void;\n    getTabIDByItemID(itemID: number): string;\n    init(): void;\n    getState(): _ZoteroTypes.TabInstance[];\n    restoreState(tabs: _ZoteroTypes.TabInstance[]): void;\n    add: (options: {\n      id?: string;\n      type: string;\n      title: string;\n      data?: any;\n      index?: number;\n      select?: boolean;\n      onClose?: Function;\n    }) => { id: string; container: XUL.Box };\n    rename(id: string, title: string): void;\n    updateLibraryTabIcon(): void;\n    close(ids: string | string[]): void;\n    closeAll(): void;\n    undoClose(): void;\n    move(id: string, newIndex: number): void;\n    select(id: string, reopening?: boolean, options?: any): void;\n    unload(id: string): void;\n    unloadUnusedTabs(): void;\n    selectPrev(): void;\n    selectNext(): void;\n    selectLast(): void;\n    jump(index: number): void;\n    _openMenu(x: number, y: number, id: string): void;\n    _updateTabBar(): void;\n    _showTabBar(): void;\n    _hideTabBar(): void;\n\n    /**\n     * Create the list of opened tabs in tabs menu.\n     */\n    refreshTabsMenuList(): void;\n\n    isTabsMenuVisible(): boolean;\n  }\n}\n\n/**\n * Template-specific global variables for Better Notes templates\n * Based on the note template documentation\n */\n\n// Shared environment variable for all templates\ndeclare const _env: {\n  /** True in preview mode (template editor), false during actual template execution */\n  dryRun: boolean;\n};\n\n// === Item Template Variables ===\n\n// Variables available in beforeloop stage\ndeclare const items: Zotero.Item[];\ndeclare const targetNoteItem: Zotero.Item | undefined;\ndeclare const copyNoteImage: (noteItem: Zotero.Item) => void;\ndeclare const sharedObj: Record<string, any>;\n\n// Variables available in default stage (item loop)\ndeclare const topItem: Zotero.Item;\ndeclare const item: Zotero.Item;\n/** @deprecated Use topItem instead */\ndeclare const itemNotes: Zotero.Item[];\n\n// Variables available in afterloop stage\n// items, targetNoteItem, copyNoteImage, sharedObj (already declared above)\n\n// === Text Template Variables ===\n// targetNoteItem, sharedObj (already declared above)\n\n// === Builtin Template Variables ===\n\n// QuickInsertV3 template variables\ndeclare const link: string;\ndeclare const linkText: string;\ndeclare const subNoteItem: Zotero.Item;\ndeclare const noteItem: Zotero.Item;\ndeclare const lineIndex: number;\ndeclare const sectionName: string;\n\n// QuickImportV2 template variables\n// link, noteItem (already declared above)\n\n// QuickNoteV5 template variables\ndeclare const annotationItem: Zotero.Item;\n// topItem, noteItem (already declared above)\n\n// ExportMDFileNameV2 template variables\n// noteItem (already declared above)\n\n// ExportMDFileHeaderV2 template variables\n// noteItem (already declared above)\n\n// ExportMDFileContent template variables\ndeclare const mdContent: string;\n// noteItem (already declared above)\n\n// ExportLatexFileContent template variables\ndeclare const latexContent: string;\n// noteItem (already declared above)\n"
  },
  {
    "path": "addon/chrome/content/linkCreator.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://__addonRef__/content/styles/linkCreator/linkCreator.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE window>\n<window\n  xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  id=\"bn-note-picker\"\n  data-l10n-id=\"title\"\n  windowtype=\"__addonRef__-link-note\"\n  persist=\"screenX screenY width height sizemode\"\n  style=\"min-width: 40em; min-height: 40em\"\n  drawintitlebar-platforms=\"mac\"\n>\n  <xul:linkset>\n    <html:link rel=\"localization\" href=\"browser/menubar.ftl\" />\n    <html:link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n    <html:link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n    <html:link rel=\"localization\" href=\"zotero.ftl\" />\n    <html:link rel=\"localization\" href=\"__addonRef__-linkCreator.ftl\" />\n  </xul:linkset>\n\n  <xul:commandset id=\"mainCommandSet\">\n    <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n  </xul:commandset>\n  <xul:keyset id=\"mainKeyset\">\n    <xul:key\n      id=\"key_close\"\n      data-l10n-id=\"close-shortcut\"\n      command=\"cmd_close\"\n      modifiers=\"accel\"\n      reserved=\"true\"\n    />\n  </xul:keyset>\n\n  <script src=\"chrome://zotero/content/include.js\"></script>\n  <script src=\"chrome://zotero/content/titlebar.js\"></script>\n  <script src=\"chrome://zotero/content/customElements.js\"></script>\n  <script src=\"chrome://__addonRef__/content/scripts/customElements.js\"></script>\n  <script src=\"chrome://__addonRef__/content/scripts/linkCreator.js\"></script>\n\n  <dialog buttons=\"accept, cancel\">\n    <tabbox id=\"top-container\" class=\"container\">\n      <tabs>\n        <tab data-l10n-id=\"tab-inbound\"></tab>\n        <tab data-l10n-id=\"tab-outbound\"></tab>\n      </tabs>\n      <tabpanels class=\"container\">\n        <tabpanel class=\"content-container\">\n          <bn-inbound-creator\n            id=\"bn-inbound-creator\"\n            data-bn-type=\"content\"\n          ></bn-inbound-creator>\n        </tabpanel>\n        <tabpanel class=\"content-container\">\n          <bn-outbound-creator\n            id=\"bn-outbound-creator\"\n            data-bn-type=\"content\"\n          ></bn-outbound-creator>\n        </tabpanel>\n      </tabpanels>\n    </tabbox>\n  </dialog>\n</window>\n"
  },
  {
    "path": "addon/chrome/content/mindMap.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <body>\n    <script src=\"chrome://__addonRef__/content/lib/js/go.js\"></script>\n    <style>\n      html,\n      body,\n      div {\n        height: 100%;\n        width: 100%;\n        padding: 0;\n        margin: 0;\n      }\n      #canvas {\n        position: absolute;\n        height: 100%;\n        width: 100%;\n      }\n    </style>\n    <div id=\"allSampleContent\" class=\"p-4 w-full\">\n      <script id=\"code\">\n        var Diagram;\n        function init() {\n          window.addEventListener(\"message\", handler, false);\n\n          // Since 2.2 you can also author concise templates with method chaining instead of GraphObject.make\n          // For details, see https://gojs.net/latest/intro/buildingObjects.html\n          const $ = go.GraphObject.make;\n\n          Diagram = $(go.Diagram, \"DiagramDiv\", {\n            \"commandHandler.copiesTree\": true,\n            \"commandHandler.copiesParentKey\": true,\n            \"commandHandler.deletesTree\": true,\n            \"draggingTool.dragsTree\": true,\n            \"undoManager.isEnabled\": true,\n            initialAutoScale: go.Diagram.UniformToFill,\n            layout: $(go.TreeLayout, {\n              comparer: go.LayoutVertex.smartComparer,\n            }),\n          });\n\n          // a node consists of some text with a line shape underneath\n          Diagram.nodeTemplate = $(\n            go.Node,\n            \"Vertical\",\n            { selectionObjectName: \"TEXT\" },\n            $(\n              go.TextBlock,\n              {\n                name: \"TEXT\",\n                minSize: new go.Size(30, 15),\n                editable: true,\n                textEdited: editNode,\n              },\n              // remember not only the text string but the scale and the font in the node data\n              new go.Binding(\"text\", \"text\").makeTwoWay(),\n              new go.Binding(\"scale\", \"scale\").makeTwoWay(),\n              new go.Binding(\"font\", \"font\").makeTwoWay(),\n              new go.Binding(\"stroke\", \"stroke\").makeTwoWay(),\n            ),\n            $(\n              go.Shape,\n              \"LineH\",\n              {\n                stretch: go.GraphObject.Horizontal,\n                strokeWidth: 3,\n                height: 3,\n                // this line shape is the port -- what links connect with\n                portId: \"\",\n                fromSpot: go.Spot.LeftRightSides,\n                toSpot: go.Spot.LeftRightSides,\n              },\n              new go.Binding(\"stroke\", \"brush\"),\n              // make sure links come in from the proper direction and go out appropriately\n              new go.Binding(\"fromSpot\", \"dir\", (d) => spotConverter(d, true)),\n              new go.Binding(\"toSpot\", \"dir\", (d) => spotConverter(d, false)),\n            ),\n            // remember the locations of each node in the node data\n            new go.Binding(\"location\", \"loc\", go.Point.parse).makeTwoWay(\n              go.Point.stringify,\n            ),\n            // make sure text \"grows\" in the desired direction\n            new go.Binding(\"locationSpot\", \"dir\", (d) =>\n              spotConverter(d, false),\n            ),\n          );\n\n          // selected nodes show a button for adding children\n          Diagram.nodeTemplate.selectionAdornmentTemplate = $(\n            go.Adornment,\n            \"Spot\",\n            $(\n              go.Panel,\n              \"Auto\",\n              // this Adornment has a rectangular blue Shape around the selected node\n              $(go.Shape, { fill: null, stroke: \"dodgerblue\", strokeWidth: 3 }),\n              $(go.Placeholder, { margin: new go.Margin(4, 4, 0, 4) }),\n            ),\n            // and this Adornment has a Button to the right of the selected node\n            $(\n              \"Button\",\n              {\n                alignment: go.Spot.Right,\n                alignmentFocus: go.Spot.Left,\n                click: jumpNode, // define click behavior for this Button in the Adornment\n              },\n              $(\n                go.TextBlock,\n                \"↗️\", // the Button content\n                { font: \"bold 8pt sans-serif\" },\n              ),\n            ),\n          );\n\n          // a link is just a Bezier-curved line of the same color as the node to which it is connected\n          Diagram.linkTemplate = $(\n            go.Link,\n            {\n              curve: go.Link.Bezier,\n              fromShortLength: -2,\n              toShortLength: -2,\n              selectable: false,\n            },\n            $(\n              go.Shape,\n              { strokeWidth: 3 },\n              new go.Binding(\"stroke\", \"toNode\", (n) => {\n                if (n.data.brush) return n.data.brush;\n                return \"black\";\n              }).ofObject(),\n            ),\n          );\n\n          Diagram.addDiagramListener(\"SelectionMoved\", (e) => {\n            var rootX = Diagram.findNodeForKey(0).location.x;\n            Diagram.selection.each((node) => {\n              if (node.data.parent !== 0) return; // Only consider nodes connected to the root\n              var nodeX = node.location.x;\n              if (rootX < nodeX && node.data.dir !== \"right\") {\n                updateNodeDirection(node, \"right\");\n              } else if (rootX > nodeX && node.data.dir !== \"left\") {\n                updateNodeDirection(node, \"left\");\n              }\n              layoutTree(node);\n            });\n          });\n\n          // read in the predefined graph using the JSON format data held in the \"mySavedModel\" textarea\n          window.postMessage({ type: \"ready\" }, \"*\");\n          getData();\n        }\n\n        function spotConverter(dir, from) {\n          if (dir === \"left\") {\n            return from ? go.Spot.Left : go.Spot.Right;\n          } else {\n            return from ? go.Spot.Right : go.Spot.Left;\n          }\n        }\n\n        function changeTextSize(obj, factor) {\n          var adorn = obj.part;\n          adorn.diagram.startTransaction(\"Change Text Size\");\n          var node = adorn.adornedPart;\n          var tb = node.findObject(\"TEXT\");\n          tb.scale *= factor;\n          adorn.diagram.commitTransaction(\"Change Text Size\");\n        }\n\n        function toggleTextWeight(obj) {\n          var adorn = obj.part;\n          adorn.diagram.startTransaction(\"Change Text Weight\");\n          var node = adorn.adornedPart;\n          var tb = node.findObject(\"TEXT\");\n          // assume \"bold\" is at the start of the font specifier\n          var idx = tb.font.indexOf(\"bold\");\n          if (idx < 0) {\n            tb.font = \"bold \" + tb.font;\n          } else {\n            tb.font = tb.font.slice(idx + 5);\n          }\n          adorn.diagram.commitTransaction(\"Change Text Weight\");\n        }\n\n        function updateNodeDirection(node, dir) {\n          Diagram.model.setDataProperty(node.data, \"dir\", dir);\n          // recursively update the direction of the child nodes\n          var chl = node.findTreeChildrenNodes(); // gives us an iterator of the child nodes related to this particular node\n          while (chl.next()) {\n            updateNodeDirection(chl.value, dir);\n          }\n        }\n\n        function layoutTree(node) {\n          if (node.data.key === 0) {\n            // adding to the root?\n            layoutAll(); // lay out everything\n          } else {\n            // otherwise lay out only the subtree starting at this parent node\n            var parts = node.findTreeParts();\n            layoutAngle(parts, node.data.dir === \"left\" ? 180 : 0);\n          }\n        }\n\n        function layoutAngle(parts, angle) {\n          var layout = go.GraphObject.make(go.TreeLayout, {\n            angle: angle,\n            arrangement: go.TreeLayout.ArrangementFixedRoots,\n            nodeSpacing: 5,\n            layerSpacing: 20,\n            setsPortSpot: false, // don't set port spots since we're managing them with our spotConverter function\n            setsChildPortSpot: false,\n          });\n          layout.doLayout(parts);\n        }\n\n        function layoutAll() {\n          var root = Diagram.findNodeForKey(0);\n          if (root === null) return;\n          Diagram.startTransaction(\"Layout\");\n          // split the nodes and links into two collections\n          var rightward = new go.Set(/*go.Part*/);\n          var leftward = new go.Set(/*go.Part*/);\n          root.findLinksConnected().each((link) => {\n            var child = link.toNode;\n            if (child.data.dir === \"left\") {\n              leftward.add(root); // the root node is in both collections\n              leftward.add(link);\n              leftward.addAll(child.findTreeParts());\n            } else {\n              rightward.add(root); // the root node is in both collections\n              rightward.add(link);\n              rightward.addAll(child.findTreeParts());\n            }\n          });\n          // do one layout and then the other without moving the shared root node\n          layoutAngle(rightward, 0);\n          layoutAngle(leftward, 180);\n          Diagram.commitTransaction(\"Layout\");\n        }\n\n        function getData() {\n          window.postMessage({ type: \"getMindMapData\" }, \"*\");\n        }\n\n        function setData(nodes) {\n          const data = {\n            class: \"go.TreeModel\",\n            nodeDataArray: [{ key: 999, text: \"📄\", parent: undefined }],\n          };\n          const colors = [];\n          const wrapText = (text) => {\n            let wrappedText = \"\";\n            for (let i = 0; i < text.length / 50; i++) {\n              wrappedText += text.slice(50 * i, 50 * i + 50);\n              wrappedText += \"\\n\";\n            }\n            return wrappedText;\n          };\n          for (const node of nodes) {\n            const parent =\n              node.parent.model.id === -1 ? 999 : node.parent.model.id;\n            data.nodeDataArray.push({\n              key: node.model.id,\n              text: `${node.model.level === 7 ? \"🔗\" : \"\"}${wrapText(\n                node.model.name,\n              )}`,\n              stroke: \"-moz-DialogText\",\n              parent: parent,\n              lineIndex: node.model.lineIndex,\n              level: node.model.level,\n              noteLink: node.model.level === 7 ? node.model.link : \"\",\n              brush: go.Brush.randomColor(),\n            });\n          }\n          Diagram.model = go.Model.fromJson(data);\n        }\n\n        function jumpNode(e, obj) {\n          var adorn = obj.part;\n          var oldnode = adorn.adornedPart;\n          var olddata = oldnode.data;\n          if (olddata.noteLink) {\n            window.postMessage(\n              { type: \"openNote\", link: olddata.noteLink, id: olddata.key },\n              \"*\",\n            );\n          } else {\n            window.postMessage(\n              {\n                type: \"jumpNode\",\n                lineIndex: olddata.lineIndex,\n                id: olddata.key,\n              },\n              \"*\",\n            );\n          }\n        }\n\n        function editNode(textBlock, previousText, currentText) {\n          const adorn = textBlock.part;\n          const data = adorn.data;\n          if (data.level === 7) {\n            alert(\"Link cannot be edited in mind map\");\n            return false;\n          }\n          window.postMessage(\n            {\n              type: \"editNode\",\n              lineIndex: data.lineIndex,\n              text: data.text,\n            },\n            \"*\",\n          );\n        }\n\n        function handler(e) {\n          console.log(e);\n          switch (e.data.type) {\n            case \"setMindMapData\":\n              setData(e.data.nodes);\n              break;\n            case \"saveImage\":\n              const imgString = Diagram.makeImageData({\n                scale: 1,\n              });\n              window.postMessage(\n                {\n                  type: \"saveImageReturn\",\n                  image: imgString,\n                },\n                \"*\",\n              );\n              break;\n            case \"saveSVG\":\n              const svgElement = Diagram.makeSvg({\n                scale: 1,\n              });\n              window.postMessage(\n                {\n                  type: \"saveSVGReturn\",\n                  image: svgElement.outerHTML,\n                },\n                \"*\",\n              );\n              break;\n            default:\n              break;\n          }\n        }\n\n        window.addEventListener(\"DOMContentLoaded\", () => {\n          try {\n            init();\n          } catch (e) {\n            window.postMessage({ type: \"error\", event: e }, \"*\");\n          }\n        });\n\n        var resizeTime = new Date().getTime();\n        window.addEventListener(\"resize\", (e) => {\n          const canvas = document.getElementsByTagName(\"canvas\")[0];\n          const div = document.getElementById(\"DiagramDiv\");\n          canvas.setAttribute(\"height\", div.getAttribute(\"height\"));\n          canvas.setAttribute(\"width\", div.getAttribute(\"width\"));\n          const currentResize = new Date().getTime();\n          resizeTime = currentResize;\n          // Delay update\n          setTimeout(() => {\n            if (resizeTime === currentResize) {\n              getData();\n            }\n          }, 500);\n        });\n      </script>\n\n      <div id=\"sample\">\n        <div\n          id=\"DiagramDiv\"\n          style=\"\n            width: 100%;\n            position: relative;\n            -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n            cursor: auto;\n            font: 13px sans-serif;\n            overflow: hidden;\n          \"\n        >\n          <canvas\n            tabindex=\"0\"\n            style=\"\n              position: absolute;\n              top: 0px;\n              left: 0px;\n              z-index: 2;\n              user-select: none;\n              touch-action: none;\n              cursor: auto;\n            \"\n            >This text is displayed if your browser does not support the Canvas\n            HTML element.</canvas\n          >\n        </div>\n      </div>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/preferences.xhtml",
    "content": "<linkset>\n  <html:link rel=\"localization\" href=\"__addonRef__-preferences.ftl\" />\n</linkset>\n<script>\n  Zotero.__addonInstance__.hooks.onPrefsEvent(\"load\", { window });\n</script>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"basic-title\"></html:h2></label>\n  <checkbox\n    data-l10n-id=\"basic-exportNotes-takeover\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.exportNotes.takeover\"\n  />\n</groupbox>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"editor-title\"></html:h2></label>\n  <hbox align=\"center\">\n    <html:label\n      for=\"__addonRef__-editor-expandLevel\"\n      data-l10n-id=\"editor-expandLevel-label\"\n    ></html:label>\n    <html:input\n      type=\"number\"\n      min=\"1\"\n      max=\"6\"\n      step=\"1\"\n      id=\"__addonRef__-editor-expandLevel\"\n      preference=\"__prefsPrefix__.workspace.outline.expandLevel\"\n    ></html:input>\n  </hbox>\n  <checkbox\n    data-l10n-id=\"editor-keepLinks\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.workspace.outline.keepLinks\"\n  />\n  <hbox align=\"center\">\n    <html:label\n      data-l10n-id=\"editor-noteLinkPreviewType\"\n      for=\"__addonRef__-editor-noteLinkPreviewType\"\n    ></html:label>\n    <radiogroup\n      id=\"__addonRef__-editor-noteLinkPreviewType\"\n      preference=\"__prefsPrefix__.editor.noteLinkPreviewType\"\n      orient=\"horizontal\"\n      oncommand=\"Zotero.__addonInstance__.api.utils.requireRestart();\"\n    >\n      <radio data-l10n-id=\"editor-noteLinkPreview-hover\" value=\"hover\" />\n      <radio data-l10n-id=\"editor-noteLinkPreview-ctrl\" value=\"ctrl\" />\n      <radio data-l10n-id=\"editor-noteLinkPreview-disable\" value=\"disable\" />\n    </radiogroup>\n  </hbox>\n  <checkbox\n    data-l10n-id=\"editor-useMagicKey\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.editor.useMagicKey\"\n  />\n  <checkbox\n    data-l10n-id=\"editor-useMagicKeyShortcut\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.editor.useMagicKeyShortcut\"\n  />\n  <checkbox\n    data-l10n-id=\"editor-useMarkdownPaste\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.editor.useMarkdownPaste\"\n  />\n  <hbox align=\"center\">\n    <html:label\n      for=\"__addonRef__-editor-pinTable\"\n      data-l10n-id=\"editor-pinTable-label\"\n    ></html:label>\n    <checkbox\n      data-l10n-id=\"__addonRef__-editor-pinTableLeft\"\n      native=\"true\"\n      preference=\"__prefsPrefix__.editor.pinTableLeft\"\n    />\n    <checkbox\n      data-l10n-id=\"__addonRef__-editor-pinTableTop\"\n      native=\"true\"\n      preference=\"__prefsPrefix__.editor.pinTableTop\"\n    />\n  </hbox>\n</groupbox>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"sync-title\"></html:h2></label>\n  <hbox align=\"center\">\n    <html:label\n      for=\"__addonRef__-sync-period\"\n      data-l10n-id=\"sync-period-label\"\n    ></html:label>\n    <html:input\n      type=\"number\"\n      min=\"-1\"\n      max=\"3600\"\n      step=\"1\"\n      placeholder=\"-1 for disable\"\n      id=\"__addonRef__-sync-period\"\n      preference=\"__prefsPrefix__.syncPeriodSeconds\"\n      onchange=\"Zotero.__addonInstance__.api.utils.requireRestart();\"\n    ></html:input>\n  </hbox>\n  <hbox align=\"center\">\n    <html:label\n      for=\"__addonRef__-sync-attachmentFolder\"\n      data-l10n-id=\"sync-attachmentFolder-label\"\n    ></html:label>\n    <html:input\n      id=\"__addonRef__-sync-attachmentFolder\"\n      preference=\"__prefsPrefix__.syncAttachmentFolder\"\n    ></html:input>\n  </hbox>\n  <hbox align=\"center\">\n    <button\n      onclick=\"Zotero.__addonInstance__.hooks.onShowSyncManager()\"\n      data-l10n-id=\"sync-manager\"\n    ></button>\n  </hbox>\n</groupbox>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"template-title\"></html:h2></label>\n  <hbox align=\"center\">\n    <button\n      onclick=\"Zotero.__addonInstance__.hooks.onShowTemplateEditor()\"\n      data-l10n-id=\"template-editor\"\n    ></button>\n  </hbox>\n</groupbox>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"annotationNote-title\"></html:h2></label>\n  <checkbox\n    data-l10n-id=\"annotationNote-enableTagSync\"\n    native=\"true\"\n    preference=\"__prefsPrefix__.annotationNote.enableTagSync\"\n  />\n</groupbox>\n<groupbox>\n  <label><html:h2 data-l10n-id=\"about-title\"></html:h2></label>\n\n  <hbox>\n    <label\n      class=\"zotero-text-link keyboard-clickable\"\n      is=\"zotero-text-link\"\n      role=\"link\"\n      href=\"https://github.com/windingwind/zotero-better-notes\"\n      value=\"Homepage - GitHub\"\n    ></label>\n    <label value=\"|\"></label>\n    <label\n      class=\"zotero-text-link keyboard-clickable\"\n      is=\"zotero-text-link\"\n      role=\"link\"\n      href=\"https://github.com/windingwind/zotero-better-notes/issues\"\n      value=\"Bug Report, Feature Request\"\n    ></label>\n    <label value=\"|\"></label>\n    <label\n      class=\"zotero-text-link keyboard-clickable\"\n      is=\"zotero-text-link\"\n      role=\"link\"\n      href=\"https://github.com/windingwind/zotero-better-notes/discussions/categories/q-a\"\n      value=\"Q&amp;A\"\n    ></label>\n  </hbox>\n  <label\n    data-l10n-id=\"help\"\n    data-l10n-args='{\"time\": \"__buildTime__\",\"name\": \"__addonName__\",\"version\":\"__buildVersion__\"}'\n  ></label>\n</groupbox>\n"
  },
  {
    "path": "addon/chrome/content/printTemplate.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE html>\n<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://__addonRef__/content/lib/css/github-markdown.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      href=\"chrome://__addonRef__/content/lib/css/katex.min.css\"\n      crossorigin=\"anonymous\"\n    />\n    <script>\n      // Add message to print window\n      window.onmessage = async function (e) {\n        if (e.data.type === \"print\") {\n          // Serialize the HTMLDocument as an XHTML string\n          var parser = new DOMParser();\n          var serializer = new XMLSerializer();\n          var htmlString = e.data.html;\n          const styleString = e.data.style;\n          const style = document.createElement(\"style\");\n          style.innerHTML = styleString;\n          document.head.appendChild(style);\n          var htmlDoc = parser.parseFromString(htmlString, \"text/html\");\n          var xhtmlString = serializer.serializeToString(htmlDoc);\n          document.querySelector(\".markdown-body\").innerHTML = xhtmlString;\n        }\n      };\n    </script>\n    <style>\n      @page {\n        margin: 25mm 20mm 25mm 20mm;\n        size: A4;\n      }\n      @media print {\n        body {\n          height: auto;\n          margin: 0;\n          -webkit-print-color-adjust: exact;\n          color-adjust: exact;\n        }\n\n        @page: footer {\n          display: none;\n        }\n        @page: header {\n          display: none;\n        }\n      }\n      .markdown-body {\n        box-sizing: border-box;\n        min-width: 200px;\n        max-width: 980px;\n        margin: 0 auto;\n        padding: 0px;\n      }\n\n      td,\n      th {\n        word-break: break-all;\n      }\n\n      @media (max-width: 767px) {\n        .markdown-body {\n          padding: 15px;\n        }\n      }\n    </style>\n  </head>\n  <body>\n    <article class=\"markdown-body\">\n      <h1>Print to PDF</h1>\n      <p>Waiting for data...</p>\n    </article>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/relationGraph.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <title>Force-Directed Tree</title>\n    <script src=\"chrome://__addonRef__/content/lib/js/d3.v7.min.js\"></script>\n    <link rel=\"stylesheet\" href=\"chrome://zotero-platform/content/zotero.css\" />\n    <style>\n      html,\n      body {\n        overflow: hidden;\n        background: var(--material-background);\n      }\n\n      .node:hover {\n        cursor: pointer;\n      }\n\n      @media (prefers-color-scheme: light) {\n        :root {\n          --text-color: black;\n        }\n      }\n      @media (prefers-color-scheme: dark) {\n        :root {\n          --text-color: white;\n        }\n      }\n    </style>\n    <script>\n      window.addEventListener(\"message\", (ev) => {\n        if (ev.data.type === \"render\") {\n          render(ev.data.graph);\n        }\n      });\n      function render(data) {\n        // Define the data for the nodes and links\n        // Specify the dimensions of the chart.\n        var width = window.innerWidth;\n        var height = window.innerHeight;\n        // 2: 100; 22: 50\n        function distance() {\n          if (data.nodes.length > 22) {\n            return 50;\n          }\n          return 105 - 2.5 * data.nodes.length;\n        }\n\n        // Specify the color scale.\n        const color = d3.scaleOrdinal([1, 2], [\"grey\", \"#A88F6A\"]);\n\n        // The force simulation mutates links and nodes, so create a copy\n        // so that re-evaluating this cell produces the same result.\n        const links = data.links.map((d) => ({ ...d }));\n        const nodes = data.nodes.map((d) => ({ ...d }));\n        const linkColor = \"#e8af59\";\n        // Create a simulation with several forces.\n        const simulation = d3\n          .forceSimulation(nodes)\n          .force(\n            \"link\",\n            d3\n              .forceLink(links)\n              .id((d) => d.id)\n              .distance(distance()),\n          )\n          .force(\"charge\", d3.forceManyBody().strength(-400))\n          .force(\"x\", d3.forceX())\n          .force(\"y\", d3.forceY());\n\n        // Create the SVG container.\n        const svg = d3\n          .create(\"svg\")\n          .attr(\"width\", width)\n          .attr(\"height\", height)\n          .attr(\"viewBox\", [-width / 2, -height / 2, width, height])\n          .attr(\"style\", \"max-width: 100%; height: auto;\");\n\n        svg\n          .append(\"defs\")\n          .append(\"marker\")\n          .attr(\"id\", \"arrowhead\")\n          .attr(\"refX\", 25)\n          .attr(\"refY\", 6)\n          .attr(\"orient\", \"auto-start-reverse\")\n          .attr(\"markerWidth\", 20)\n          .attr(\"markerHeight\", 12)\n          .attr(\"markerUnits\", \"userSpaceOnUse\")\n          .append(\"path\")\n          .attr(\"d\", \"M 1 1 L 18 6 L 1 11 Z\")\n          .attr(\"fill\", linkColor)\n          .attr(\"stroke\", linkColor)\n          .attr(\"class\", \"arrow-head\");\n\n        const link = svg\n          .append(\"g\")\n          .attr(\"fill\", \"none\")\n          .selectAll(\"path\")\n          .data(links)\n          .join(\"line\")\n          .attr(\"stroke-width\", (d) => Math.sqrt(d.value))\n          .attr(\"stroke\", linkColor)\n          .attr(\"marker-start\", (d) =>\n            d.type === \"both\" ? \"url(#arrowhead)\" : \"\",\n          )\n          .attr(\"marker-end\", \"url(#arrowhead)\");\n\n        const node = svg\n          .append(\"g\")\n          .attr(\"stroke\", \"#fff\")\n          .attr(\"stroke-width\", 1.5)\n          .selectAll(\"circle\")\n          .data(nodes)\n          .join(\"g\") // Append a 'g' element for each node\n          .attr(\"class\", \"node\"); // Assign a class for styling if needed\n\n        node\n          .append(\"circle\")\n          .attr(\"r\", 7)\n          .attr(\"fill\", (d) => color(d.group));\n\n        node\n          .append(\"text\")\n          .attr(\"x\", 0) // Center the text horizontally\n          .attr(\"y\", 18) // Position the text below the circle\n          .attr(\"text-anchor\", \"middle\") // Ensure the text is centered\n          .attr(\"fill\", \"var(--text-color)\")\n          .attr(\"stroke\", \"none\")\n          .text((d) => (d.group === 1 ? \"\" : d.shortTitle));\n\n        node.append(\"title\").text((d) => d.title);\n\n        // Add a drag behavior.\n        node.call(\n          d3\n            .drag()\n            .on(\"start\", dragstarted)\n            .on(\"drag\", dragged)\n            .on(\"end\", dragended),\n        );\n\n        // Set the position attributes of links and nodes each time the simulation ticks.\n        simulation.on(\"tick\", () => {\n          link\n            .attr(\"x1\", (d) => d.source.x)\n            .attr(\"y1\", (d) => d.source.y)\n            .attr(\"x2\", (d) => d.target.x)\n            .attr(\"y2\", (d) => d.target.y);\n\n          node.attr(\"transform\", (d) => `translate(${d.x},${d.y})`);\n        });\n\n        // Reheat the simulation when drag starts, and fix the subject position.\n        function dragstarted(event) {\n          if (!event.active) simulation.alphaTarget(0.3).restart();\n          event.subject.fx = event.subject.x;\n          event.subject.fy = event.subject.y;\n        }\n\n        // Update the subject (dragged node) position during drag.\n        function dragged(event) {\n          event.subject.fx = event.x;\n          event.subject.fy = event.y;\n        }\n\n        // Restore the target alpha so the simulation cools after dragging ends.\n        // Unfix the subject position now that it’s no longer being dragged.\n        function dragended(event) {\n          if (!event.active) simulation.alphaTarget(0);\n          event.subject.fx = null;\n          event.subject.fy = null;\n        }\n\n        // Add the hover interaction\n        node\n          .on(\"mouseover\", function (event, d) {\n            // Enlarge the node circle\n            d3.select(this)\n              .select(\"circle\")\n              .transition()\n              .duration(200)\n              .attr(\"r\", 10); // New, larger radius\n            d3.select(this)\n              .select(\"text\")\n              .text((d) => d.title);\n          })\n          .on(\"mouseout\", function (event, d) {\n            // Shrink the node circle back to original size\n            d3.select(this)\n              .select(\"circle\")\n              .transition()\n              .duration(500)\n              .attr(\"r\", 7); // Original radius\n            d3.select(this)\n              .select(\"text\")\n              .text((d) => (d.group === 1 ? \"\" : d.shortTitle));\n          })\n          .on(\"click\", function (event, d) {\n            window.postMessage(\n              { type: \"openNote\", isShift: !!event.shiftKey, id: d.id },\n              \"*\",\n            );\n          });\n\n        document.body.replaceChildren(svg.node());\n      }\n\n      d3.select(window).on(\"resize\", function () {\n        width = window.innerWidth;\n        height = window.innerHeight;\n        d3.select(document.querySelector(\"svg\"))\n          .attr(\"width\", width)\n          .attr(\"height\", height)\n          .attr(\"viewBox\", [-width / 2, -height / 2, width, height]);\n      });\n    </script>\n  </head>\n  <body></body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/styles/editor.css",
    "content": ".primary-editor > h1::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3E%E6%9C%AA%E6%A0%87%E9%A2%98-1%3C%2Ftitle%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M12.29%2C16.8H11.14V12.33H6.07V16.8H4.92V7H6.07v4.3h5.07V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M18.05%2C16.8H16.93V8.41a4%2C4%2C0%2C0%2C1-.9.53%2C6.52%2C6.52%2C0%2C0%2C1-1.14.44l-.32-1a8.2%2C8.2%2C0%2C0%2C0%2C1.67-.67%2C6.31%2C6.31%2C0%2C0%2C0%2C1.39-1h.42Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > h2::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22a%22%20d%3D%22M11.17%2C16.8H10V12.33H5V16.8H3.8V7H5v4.3H10V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M14.14%2C16.8v-.48a4.1%2C4.1%2C0%2C0%2C1%2C.14-1.11%2C2.86%2C2.86%2C0%2C0%2C1%2C.45-.91%2C5.49%2C5.49%2C0%2C0%2C1%2C.83-.86c.33-.29.75-.61%2C1.24-1a7.43%2C7.43%2C0%2C0%2C0%2C.9-.73%2C3.9%2C3.9%2C0%2C0%2C0%2C.57-.7%2C2.22%2C2.22%2C0%2C0%2C0%2C.3-.66%2C2.87%2C2.87%2C0%2C0%2C0%2C.11-.77%2C1.89%2C1.89%2C0%2C0%2C0-.47-1.32%2C1.66%2C1.66%2C0%2C0%2C0-1.28-.5A3.17%2C3.17%2C0%2C0%2C0%2C15.7%2C8a3.49%2C3.49%2C0%2C0%2C0-1.08.76l-.68-.65a4.26%2C4.26%2C0%2C0%2C1%2C1.39-1A4%2C4%2C0%2C0%2C1%2C17%2C6.84a2.62%2C2.62%2C0%2C0%2C1%2C2.83%2C2.67%2C3.58%2C3.58%2C0%2C0%2C1-.15%2C1%2C3.09%2C3.09%2C0%2C0%2C1-.41.9%2C5.53%2C5.53%2C0%2C0%2C1-.67.81%2C9%2C9%2C0%2C0%2C1-.95.79c-.46.32-.84.59-1.13.82a4.68%2C4.68%2C0%2C0%2C0-.71.64%2C2%2C2%2C0%2C0%2C0-.38.6%2C2.08%2C2.08%2C0%2C0%2C0-.11.69h4.88v1Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22a%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > h3::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M11.17%2C16.8H10V12.33H5V16.8H3.8V7H5v4.3H10V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M14%2C16.14l.51-.8a4.75%2C4.75%2C0%2C0%2C0%2C1.1.52%2C4.27%2C4.27%2C0%2C0%2C0%2C1.12.16%2C2.29%2C2.29%2C0%2C0%2C0%2C1.64-.52A1.77%2C1.77%2C0%2C0%2C0%2C19%2C14.17a1.7%2C1.7%2C0%2C0%2C0-.68-1.48%2C3.6%2C3.6%2C0%2C0%2C0-2.06-.48H15.4v-1h.77A3%2C3%2C0%2C0%2C0%2C18%2C10.81a1.65%2C1.65%2C0%2C0%2C0%2C.6-1.41%2C1.47%2C1.47%2C0%2C0%2C0-.47-1.19A1.67%2C1.67%2C0%2C0%2C0%2C17%2C7.79a3.33%2C3.33%2C0%2C0%2C0-2.08.73l-.59-.75a4.4%2C4.4%2C0%2C0%2C1%2C1.28-.71A4.35%2C4.35%2C0%2C0%2C1%2C17%2C6.84a2.84%2C2.84%2C0%2C0%2C1%2C2%2C.65%2C2.21%2C2.21%2C0%2C0%2C1%2C.74%2C1.78%2C2.35%2C2.35%2C0%2C0%2C1-.49%2C1.5%2C2.7%2C2.7%2C0%2C0%2C1-1.46.89v0a2.74%2C2.74%2C0%2C0%2C1%2C1.65.74%2C2.15%2C2.15%2C0%2C0%2C1%2C.66%2C1.65%2C2.64%2C2.64%2C0%2C0%2C1-.9%2C2.12%2C3.44%2C3.44%2C0%2C0%2C1-2.34.78%2C5.3%2C5.3%2C0%2C0%2C1-1.48-.2A5%2C5%2C0%2C0%2C1%2C14%2C16.14Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > h4::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M11.17%2C16.8H10V12.33H5V16.8H3.8V7H5v4.3H10V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M19.43%2C6.92v6.59h1.05v1.05H19.43V16.9H18.31V14.56H13.66v-1c.43-.49.87-1%2C1.31-1.57s.87-1.13%2C1.27-1.7S17%2C9.14%2C17.36%2C8.57a16.51%2C16.51%2C0%2C0%2C0%2C.86-1.65Zm-4.49%2C6.59h3.37V8.63c-.34.61-.67%2C1.15-1%2C1.63s-.6.91-.87%2C1.3-.56.74-.81%2C1Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > h5::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M11.17%2C16.8H10V12.33H5V16.8H3.8V7H5v4.3H10V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M14%2C16l.58-.76a3.67%2C3.67%2C0%2C0%2C0%2C1%2C.58A3.44%2C3.44%2C0%2C0%2C0%2C16.8%2C16a2.17%2C2.17%2C0%2C0%2C0%2C1.58-.6A2%2C2%2C0%2C0%2C0%2C19%2C13.88a1.85%2C1.85%2C0%2C0%2C0-.64-1.5%2C2.83%2C2.83%2C0%2C0%2C0-1.86-.54c-.27%2C0-.55%2C0-.86%2C0s-.58%2C0-.81.06L15.17%2C7H19.7V8H16.14l-.2%2C2.88.47%2C0h.43a3.5%2C3.5%2C0%2C0%2C1%2C2.43.79%2C2.74%2C2.74%2C0%2C0%2C1%2C.88%2C2.16%2C3%2C3%2C0%2C0%2C1-.94%2C2.3%2C3.41%2C3.41%2C0%2C0%2C1-2.4.87%2C4.45%2C4.45%2C0%2C0%2C1-1.5-.24A4.81%2C4.81%2C0%2C0%2C1%2C14%2C16Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > h6::before {\n  margin-left: -64px !important;\n  padding-left: 40px !important;\n  content: url(\"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2218px%22%20height%3D%2218px%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2015.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23666%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M11.17%2C16.8H10V12.33H5V16.8H3.8V7H5v4.3H10V7h1.15Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M20.18%2C13.7a3.24%2C3.24%2C0%2C0%2C1-.88%2C2.38%2C2.94%2C2.94%2C0%2C0%2C1-2.2.9%2C2.69%2C2.69%2C0%2C0%2C1-2.31-1.17A5.59%2C5.59%2C0%2C0%2C1%2C14%2C12.49a12.18%2C12.18%2C0%2C0%2C1%2C.2-2.14%2C5.16%2C5.16%2C0%2C0%2C1%2C.84-2A3.65%2C3.65%2C0%2C0%2C1%2C16.27%2C7.2%2C3.71%2C3.71%2C0%2C0%2C1%2C18%2C6.84%2C3.14%2C3.14%2C0%2C0%2C1%2C19%2C7a3.59%2C3.59%2C0%2C0%2C1%2C1%2C.5l-.56.77a2.3%2C2.3%2C0%2C0%2C0-1.49-.48A2.3%2C2.3%2C0%2C0%2C0%2C16.79%2C8a3%2C3%2C0%2C0%2C0-.92.85%2C3.79%2C3.79%2C0%2C0%2C0-.56%2C1.25%2C6.56%2C6.56%2C0%2C0%2C0-.19%2C1.65h0a2.61%2C2.61%2C0%2C0%2C1%2C1-.84%2C2.91%2C2.91%2C0%2C0%2C1%2C1.23-.28%2C2.63%2C2.63%2C0%2C0%2C1%2C2%2C.85A3.09%2C3.09%2C0%2C0%2C1%2C20.18%2C13.7ZM19%2C13.78a2.28%2C2.28%2C0%2C0%2C0-.5-1.62%2C1.67%2C1.67%2C0%2C0%2C0-1.29-.54%2C2%2C2%2C0%2C0%2C0-1.5.58%2C2%2C2%2C0%2C0%2C0-.56%2C1.4%2C2.65%2C2.65%2C0%2C0%2C0%2C.55%2C1.74%2C1.85%2C1.85%2C0%2C0%2C0%2C2.78.1A2.38%2C2.38%2C0%2C0%2C0%2C19%2C13.78Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21%2C5a2.25%2C2.25%2C0%2C0%2C1%2C2.25%2C2.25v9.56A2.25%2C2.25%2C0%2C0%2C1%2C21%2C19H3A2.25%2C2.25%2C0%2C0%2C1%2C.75%2C16.78V7.22A2.25%2C2.25%2C0%2C0%2C1%2C3%2C5H21m0-.75H3a3%2C3%2C0%2C0%2C0-3%2C3v9.56a3%2C3%2C0%2C0%2C0%2C3%2C3H21a3%2C3%2C0%2C0%2C0%2C3-3V7.22a3%2C3%2C0%2C0%2C0-3-3Z%22%20transform%3D%22translate(0%20-4.22)%22%2F%3E%3C%2Fsvg%3E\") !important;\n}\n.primary-editor > p,\n.primary-editor h1,\n.primary-editor h2,\n.primary-editor h3,\n.primary-editor h4,\n.primary-editor h5,\n.primary-editor h6,\n.primary-editor pre,\n.primary-editor blockquote,\n.primary-editor table,\n.primary-editor ul,\n.primary-editor ol,\n.primary-editor hr {\n  max-width: unset;\n}\n\n.toolbar .end,\n.toolbar .start {\n  width: auto;\n  gap: 4px;\n}\n\n.tableWrapper {\n  overflow-x: auto;\n  position: relative; /* Needed for sticky positioning */\n  max-height: var(--editor-max-height);\n}\n\n.tableWrapper table {\n  width: 100%;\n  table-layout: fixed; /* Enforces fixed layout */\n}\n\n.tableWrapper td,\n.tableWrapper th {\n  min-width: 80px !important;\n  min-height: 30px !important;\n  padding: 5px;\n  box-sizing: border-box;\n  border: 1px solid #ddd;\n  position: relative; /* So that sticky children work properly */\n}\n\n/* Fixed first column (active when .fixed-first-column is applied) */\nbody.pin-table-left .tableWrapper tbody tr td:first-child {\n  position: sticky;\n  left: 0;\n  z-index: 1;\n  box-shadow: 0 2px 5px var(--color-border);\n  background-color: var(--material-background);\n}\n\n/* Fixed header row (active when .fixed-first-row is applied) */\nbody.pin-table-top .tableWrapper tbody tr:first-child th,\nbody.pin-table-top .tableWrapper tbody tr:first-child td {\n  position: sticky;\n  top: 0;\n  z-index: 2;\n  box-shadow: 2px 0 5px var(--color-border);\n  background-color: var(--material-background);\n}\n\n/* Top left cell: highest z-index */\nbody.pin-table-left.pin-table-top\n  .tableWrapper\n  tbody\n  tr:first-child\n  td:first-child,\nbody.pin-table-left.pin-table-top\n  .tableWrapper\n  tbody\n  tr:first-child\n  th:first-child {\n  z-index: 3;\n}\n\n.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),\n.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging) {\n  /* if there's no explicit width set and the column is not being resized, set a default width */\n  min-width: var(--default-cell-min-width);\n}\n\n.ProseMirror .column-resize-handle {\n  position: absolute;\n  right: -2px;\n  top: 0;\n  bottom: 0;\n  width: 4px;\n  z-index: 20;\n  background-color: #adf;\n  pointer-events: none;\n}\n.ProseMirror.resize-cursor {\n  cursor: ew-resize;\n  cursor: col-resize;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/exportNotes.css",
    "content": "dialog {\n  -moz-window-dragging: drag;\n}\n\n#markdown-autoSync {\n  margin-inline-start: 18px;\n  margin-block-end: 24px;\n}\n\n#buttons {\n  margin-block-start: 24px;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/inboundCreator.css",
    "content": "bn-inbound-creator {\n  gap: 16px;\n  overflow: auto;\n\n  bn-note-picker {\n    border: var(--material-border);\n    min-width: 600px;\n  }\n\n  bn-note-outline {\n    border: var(--material-border);\n    min-width: 300px;\n  }\n\n  bn-note-preview {\n    border: var(--material-border);\n    min-width: 450px;\n  }\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/linkCreator.css",
    "content": ".container {\n  min-height: 0;\n  height: 100%;\n  margin: 0;\n}\n\n.content-container {\n  overflow: auto;\n}\n\nwindow {\n  -moz-window-dragging: drag;\n}\n\n#top-container {\n  -moz-window-dragging: no-drag;\n}\n\n/* TODO: remove fx115 workaround */\ntab {\n  color: unset !important;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/noteOutline.css",
    "content": "bn-note-outline {\n  flex-direction: column;\n\n  #bn-select-note-outline-container {\n    flex: 1;\n    flex-direction: column;\n  }\n\n  #bn-select-note-outline-content {\n    min-height: 100%;\n  }\n\n  #bn-link-insert-position-container {\n    align-items: center;\n  }\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/notePicker.css",
    "content": "bn-note-picker {\n  flex-direction: column;\n\n  #collections-items-container {\n    display: flex;\n    height: 100%;\n    max-height: 50%;\n    border-bottom: var(--material-border);\n    user-select: none;\n  }\n\n  #zotero-collections-tree {\n    background: var(--material-sidepane);\n  }\n\n  #select-items-dialog {\n    display: flex;\n    padding: 0;\n\n    #zotero-select-items-container {\n      gap: 0;\n    }\n\n    #collections-items-container {\n      margin-bottom: 0;\n    }\n    #zotero-items-pane-content {\n      min-height: 100%;\n    }\n  }\n\n  #bn-select-opened-notes-container {\n    min-width: 200px;\n    max-height: 50%;\n  }\n\n  .bn-note-list-container {\n    width: 100%;\n  }\n\n  #bn-select-recent-notes-content {\n    border-left: var(--material-border-quarternary);\n  }\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/notePreview.css",
    "content": "bn-note-preview {\n  flex-direction: column;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/outboundCreator.css",
    "content": "bn-outbound-creator {\n  gap: 16px;\n  overflow: auto;\n\n  bn-note-picker {\n    border: var(--material-border);\n    min-width: 600px;\n  }\n\n  bn-note-outline {\n    border: var(--material-border);\n    min-width: 300px;\n  }\n\n  bn-note-preview {\n    border: var(--material-border);\n    min-width: 450px;\n  }\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/linkCreator/toolbar.css",
    "content": ".toolbar {\n  background: var(--material-toolbar);\n  border-bottom: var(--material-border);\n  padding: 6px;\n  align-items: center;\n  justify-content: space-between !important;\n}\n\n.toolbar-start,\n.toolbar-middle,\n.toolbar-end {\n  align-items: center;\n}\n\n.toolbar-header {\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 1;\n  overflow: hidden;\n  color: var(--fill-secondary);\n  text-overflow: ellipsis;\n  overflow-wrap: anywhere;\n  line-break: anywhere;\n  font-size: calc(var(--zotero-font-size) * 1.2);\n}\n\n.toolbar-header.content {\n  flex-shrink: 0;\n}\n\n.toolbar-header.highlight {\n  font-size: var(--zotero-font-size);\n  padding: 4px;\n  border: var(--material-border);\n  box-shadow: 0 2px 5px\n    color-mix(in srgb, var(--material-background) 15%, transparent);\n  border-radius: 4px;\n  background: var(--material-background);\n  transition: all 0.3s ease;\n}\n.toolbar-header.highlight:hover {\n  box-shadow: 0 5px 15px\n    color-mix(in srgb, var(--material-background) 20%, transparent);\n  background: var(--color-background50);\n}\n.toolbar-header.highlight:empty {\n  display: none;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/syncDiff.css",
    "content": ":root {\n  --footer-height: 45px;\n  --header-height: 45px;\n  --panel-header-height: 30px;\n}\nhtml,\nbody,\n.viewport {\n  padding: 0;\n  margin: 0;\n  height: 100%;\n  overflow-x: hidden;\n  overflow-y: auto;\n  word-wrap: break-word;\n}\nbody {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n.top-container {\n  padding: 0;\n  margin: 0;\n  height: calc(100% - var(--footer-height));\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n.header-container {\n  margin: 0;\n  height: var(--header-height);\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  flex-shrink: 0;\n}\n.body-container {\n  display: flex;\n  flex-direction: row;\n  height: calc(100% - var(--header-height));\n  background: var(--material-background);\n}\n.panel-container {\n  padding: 0;\n  margin: 0;\n  height: 100%;\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  border-right: var(--material-panedivider);\n}\n.panel-header {\n  height: var(--panel-header-height);\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  flex-shrink: 0;\n  gap: 8px;\n  padding-inline: 8px;\n  background: var(--material-background);\n  border-bottom: var(--material-panedivider);\n}\n.panel-content {\n  display: flex;\n  height: calc(100% - var(--panel-header-height));\n  display: flex;\n  flex-direction: column;\n}\n.footer-container {\n  justify-content: flex-start;\n  padding-inline: 16px;\n  gap: 8px;\n  margin: 0;\n  height: calc(var(--footer-height));\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  overflow: hidden;\n}\n.added {\n  background-color: rgb(230, 255, 236);\n  color: green;\n}\n.removed {\n  background-color: rgb(255, 235, 233);\n  color: red;\n}\n.added-list-item {\n  background-color: rgb(230, 255, 236);\n}\n.removed-list-item {\n  background-color: rgb(255, 235, 233);\n}\n.normal {\n  color: darkgray;\n}\n.selected-data,\n.options {\n  margin-top: 20px;\n  padding: 20px;\n  background-color: rgba(191, 191, 191, 0.15);\n}\n\n.selected-data .caption {\n  font-weight: bold;\n  font-size: 115%;\n}\n\n.options .caption {\n  font-size: 18px;\n  font-weight: 500;\n}\n\n.option {\n  margin-top: 10px;\n}\n\n.option > span {\n  width: 120px;\n  display: inline-block;\n}\n\nimg {\n  width: auto !important;\n}\na {\n  color: blue;\n  text-decoration: underline;\n}\n\n#table-container {\n  height: 100%;\n}\n\n.virtualized-table {\n  height: 100%;\n}\n\n.virtualized-table-body .cell {\n  pointer-events: initial;\n  user-select: none;\n}\n\n.virtualized-table-body .row.diff-added {\n  color: var(--accent-green);\n}\n\n.virtualized-table-body .row.diff-removed {\n  color: var(--accent-red);\n}\n\n.list-header {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  gap: 8px;\n  margin: 8px;\n  padding-inline-start: 8px;\n}\n\n.list-header #added-count {\n  color: var(--accent-green);\n}\n\n.list-header #removed-count {\n  color: var(--accent-red);\n}\n\n.diff-viewport {\n  padding: 8px;\n}\n\n#diff-status {\n  height: 100%;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n}\n\n.diff-btn {\n  min-width: 0;\n}\n\n.diff-btn.selected {\n  color: var(--accent-green);\n}\n\n.diff-btn .diff-btn-inner {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  height: 19px;\n  gap: 4px;\n}\n\n.diff-btn .diff-btn-img {\n  flex-shrink: 0;\n}\n\n.diff-btn .diff-btn-img.md-icon {\n  background-image: url(\"chrome://__addonRef__/content/icons/markdown-16.svg\");\n}\n\n.diff-btn .diff-btn-inner-text {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.diff-btn#diff-both-btn {\n  flex-shrink: 0;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/templateEditor.css",
    "content": "html,\nbody {\n  min-width: 600px;\n  min-height: 400px;\n}\nhtml,\nbody,\n.viewport {\n  padding: 0;\n  margin: 0;\n  height: 100%;\n  word-wrap: break-word;\n}\n.viewport {\n  flex-grow: 1;\n  flex-shrink: 1;\n  margin: 0 5px 0 5px;\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.viewport-container {\n  padding: 0;\n  margin: 0;\n  height: calc(100% - 50px);\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  overflow: hidden;\n  border-bottom: var(--material-border);\n  background: var(--material-background);\n}\n.footer-container {\n  padding: 5px;\n}\n.list-viewport {\n  width: calc(30% - 10px);\n  height: 100%;\n  overflow: hidden;\n}\n#table-container {\n  height: 100%;\n  width: 100%;\n  overflow: auto;\n}\n#templates-table {\n  height: 100%;\n}\n.editor-viewport {\n  display: flex;\n  flex-direction: column;\n  width: calc(40% - 10px);\n  padding: 5px;\n}\n.preview-viewport {\n  display: flex;\n  flex-direction: column;\n  width: calc(30% - 10px);\n  padding: 5px;\n}\n.markdown-body {\n  box-sizing: border-box;\n  min-width: 200px;\n  max-width: 980px;\n  margin: 0 auto;\n  padding: 0px;\n}\n.help-button {\n  appearance: auto;\n  -moz-default-appearance: -moz-mac-help-button;\n  min-width: 0;\n}\n.editor-button-container {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 4px;\n  padding: 4px;\n}\n.editor-button-container[hidden] {\n  display: none;\n}\n.format {\n  width: 28px;\n  height: 28px;\n  border-radius: 5px;\n  flex-grow: 0;\n  flex-shrink: 0;\n  margin: 0;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.format:hover {\n  background-color: var(--fill-quinary);\n}\n.format:active {\n  background-color: var(--fill-quarternary);\n}\n.snippet {\n  border: var(--material-panedivider);\n  border-radius: 4px;\n  cursor: pointer;\n  font-size: 0.916666667em;\n  line-height: 1.272727273;\n  overflow: hidden;\n  padding: 1px 4px;\n  text-overflow: ellipsis;\n  white-space: pre;\n  box-sizing: border-box;\n  color: var(--fill-primary);\n}\n.snippet.syntax {\n  background-color: color-mix(\n    in srgb,\n    var(--accent-yellow) 50%,\n    transparent 50%\n  );\n}\n.snippet.expression {\n  background-color: color-mix(\n    in srgb,\n    var(--accent-green) 50%,\n    transparent 50%\n  );\n}\n.snippet.variable {\n  background-color: color-mix(\n    in srgb,\n    var(--accent-azure) 50%,\n    transparent 50%\n  );\n}\n.snippet:hover {\n  background-color: var(--fill-quinary);\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/templatePicker.css",
    "content": "dialog {\n  -moz-window-dragging: drag;\n  max-height: 700px;\n}\n\n.viewport-container {\n  -moz-window-dragging: no-drag;\n  height: 100%;\n}\n\n.viewport {\n  width: 100%;\n}\n\n#table-container {\n  width: 100%;\n  height: 100%;\n  overflow: auto;\n  background: var(--material-background);\n}\n\n.virtualized-table {\n  height: 100%;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/context.css",
    "content": "bn-context {\n  min-width: 360px;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/details.css",
    "content": "bn-details pane-header {\n  display: none;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/outline.css",
    "content": "bn-outline,\n.container {\n  width: 100%;\n  height: 100%;\n  background: var(--material-sidepane);\n}\n\nbn-outline {\n  min-width: 140px;\n  flex-direction: column;\n\n  .zotero-tb-button {\n    width: 28px;\n    height: 28px;\n    margin: 0px 4px 0px 4px;\n    padding: 0px 4px 0px 4px;\n    fill: currentColor;\n    -moz-context-properties: fill, fill-opacity;\n  }\n\n  .zotero-tb-button[type=\"menu\"] {\n    width: 40px;\n  }\n}\n\n@media (-moz-platform: macos) {\n  #__addonRef__-left-toolbar {\n    -moz-window-dragging: drag;\n  }\n}\n\n#__addonRef__-left-toolbar {\n  background: var(--material-toolbar);\n  border-bottom: var(--material-panedivider);\n  padding: 6px 0px;\n}\n\n#__addonRef__-toggleOutlinePane {\n  list-style-image: url(\"chrome://zotero/skin/20/universal/sidebar.svg\");\n  fill: currentColor;\n  -moz-context-properties: fill, fill-opacity;\n}\n\n#__addonRef__-setOutline {\n  list-style-image: url(\"chrome://__addonRef__/content/icons/outline-20.svg\");\n}\n\n#__addonRef__-saveOutline {\n  list-style-image: url(\"chrome://__addonRef__/content/icons/save-20.svg\");\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/related.css",
    "content": "bn-related-box {\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n\n  &[hidden] {\n    display: none;\n  }\n\n  &[readonly] {\n    .add {\n      display: none;\n    }\n  }\n}\n\nbn-related-box .body,\nitem-pane-custom-section .bn-link-body {\n  display: flex;\n  flex-direction: column;\n  padding-inline-start: 12px;\n\n  .row {\n    display: flex;\n    gap: 4px;\n    align-items: flex-start;\n\n    [zoteroUIDensity=\"comfortable\"] & {\n      padding-block: 2px;\n    }\n\n    .box {\n      display: flex;\n      align-items: flex-start;\n      gap: 4px;\n      padding-inline-start: 4px;\n      overflow: hidden;\n      border-radius: 5px;\n\n      &:not([disabled]):hover {\n        background-color: var(--fill-quinary);\n      }\n\n      &:not([disabled]):active {\n        background-color: var(--fill-quarternary);\n      }\n\n      .icon {\n        height: calc(1.3333333333 * var(--zotero-font-size));\n      }\n\n      .label {\n        display: -webkit-box;\n        -webkit-box-orient: vertical;\n        -webkit-line-clamp: 10;\n        width: 0;\n        flex: 1;\n        overflow: hidden;\n\n        .position-label {\n          color: var(--fill-secondary);\n        }\n      }\n\n      .icon,\n      .label {\n        padding-block: 2px;\n      }\n      flex: 1;\n    }\n\n    toolbarbutton {\n      margin-inline-start: auto;\n      visibility: hidden;\n    }\n\n    &:is(:hover, :focus-within) toolbarbutton {\n      visibility: visible;\n    }\n  }\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/relation.css",
    "content": "#bn-relation-graph {\n  width: 100%;\n  height: 250px;\n  border-radius: 8px;\n}\n"
  },
  {
    "path": "addon/chrome/content/styles/workspace/workspace.css",
    "content": "bn-workspace,\n.container {\n  width: 100%;\n  height: 100%;\n  background: var(--material-sidepane);\n  flex-grow: 1;\n}\n\nbn-workspace #__addonRef__-editor-main #links-container,\n.bn-note-preview #links-container {\n  display: none;\n}\n\nbn-workspace #__addonRef__-center-container {\n  min-width: fit-content;\n}\n\nbn-workspace #__addonRef__-center-container #__addonRef__-editor-main {\n  min-width: 370px;\n}\n\n.bn-note-preview iframe {\n  height: var(--details-height, 450px);\n  border-radius: 8px;\n}\n"
  },
  {
    "path": "addon/chrome/content/syncDiff.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<html\n  lang=\"en\"\n  xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n>\n  <head>\n    <title data-l10n-id=\"title\"></title>\n    <xul:linkset>\n      <html:link rel=\"localization\" href=\"browser/menubar.ftl\" />\n      <html:link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n      <html:link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n      <html:link rel=\"localization\" href=\"zotero.ftl\" />\n      <html:link rel=\"localization\" href=\"__addonRef__-syncDiff.ftl\" />\n    </xul:linkset>\n\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://global/skin/global.css\"\n    />\n\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://zotero/skin/zotero.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://zotero-platform/content/zotero.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://__addonRef__/content/styles/syncDiff.css\"\n    />\n\n    <script src=\"chrome://zotero/content/include.js\"></script>\n    <script src=\"chrome://zotero/content/customElements.js\"></script>\n    <script src=\"chrome://__addonRef__/content/scripts/syncDiff.js\"></script>\n  </head>\n  <body>\n    <div class=\"top-container\">\n      <div class=\"header-container\">\n        <div id=\"diff-status\">\n          <span\n            id=\"diff-desc\"\n            style=\"flex-shrink: 0\"\n            data-l10n-id=\"diff-desc\"\n          ></span>\n          <button id=\"diff-note-btn\" class=\"diff-btn\" data-l10n-id=\"diff-note\">\n            <div class=\"diff-btn-inner\">\n              <span class=\"diff-btn-img\"></span>\n              <span class=\"diff-btn-inner-text\"></span>\n            </div>\n          </button>\n          <button id=\"diff-md-btn\" class=\"diff-btn\" data-l10n-id=\"diff-md\">\n            <div class=\"diff-btn-inner\">\n              <span\n                class=\"icon icon-css icon-item-type diff-btn-img md-icon\"\n              ></span>\n              <span class=\"diff-btn-inner-text\"></span>\n            </div>\n          </button>\n          <button id=\"diff-both-btn\" class=\"diff-btn\" data-l10n-id=\"diff-both\">\n            <div class=\"diff-btn-inner\">\n              <span class=\"diff-btn-inner-text\"></span>\n            </div>\n          </button>\n        </div>\n      </div>\n      <div class=\"body-container\">\n        <div class=\"list-container viewport panel-container\">\n          <div class=\"panel-header\" data-l10n-id=\"list-header\"></div>\n          <div class=\"panel-content\">\n            <div class=\"list-header\">\n              <input type=\"checkbox\" id=\"select-all\" />\n              <span data-l10n-id=\"list-selectAll\"></span>\n              <div id=\"added-count\" class=\"list-header-item\"></div>\n              <div id=\"removed-count\" class=\"list-header-item\"></div>\n            </div>\n            <div class=\"viewport list-viewport\">\n              <div id=\"table-container\"></div>\n            </div>\n          </div>\n        </div>\n        <div class=\"diff-container viewport panel-container\">\n          <div class=\"panel-header\" data-l10n-id=\"diff-header\"></div>\n          <div class=\"diff-viewport viewport panel-content\"></div>\n        </div>\n        <div class=\"render-container viewport panel-container\">\n          <div class=\"panel-header\" data-l10n-id=\"rendered-header\"></div>\n          <xul:note-editor\n            id=\"note-editor\"\n            class=\"render-viewport viewport panel-content\"\n            style=\"width: 100%; height: 100%\"\n          ></xul:note-editor>\n        </div>\n      </div>\n    </div>\n    <div class=\"footer-container\">\n      <xul:button\n        class=\"tool-button\"\n        id=\"finish\"\n        default=\"true\"\n        data-l10n-id=\"finish\"\n      >\n      </xul:button>\n      <xul:button class=\"tool-button\" id=\"unsync\" data-l10n-id=\"unsync\">\n      </xul:button>\n      <xul:button class=\"tool-button\" id=\"skip\" data-l10n-id=\"skip\">\n      </xul:button>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/syncManager.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero-react-client.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE html>\n<html\n  id=\"__addonRef__-syncManager\"\n  lang=\"en\"\n  xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  windowtype=\"__addonRef__-syncManager\"\n  sizemode=\"normal\"\n  scrolling=\"false\"\n  persist=\"screenX screenY width height sizemode\"\n>\n  <head>\n    <title data-l10n-id=\"title\"></title>\n    <meta charset=\"utf-8\" />\n    <xul:linkset>\n      <link rel=\"localization\" href=\"browser/menubar.ftl\" />\n      <link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n      <link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n      <link rel=\"localization\" href=\"zotero.ftl\" />\n      <link rel=\"localization\" href=\"__addonRef__-syncManager.ftl\" />\n    </xul:linkset>\n    <xul:commandset id=\"mainCommandSet\">\n      <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n    </xul:commandset>\n    <xul:keyset id=\"mainKeyset\">\n      <xul:key\n        id=\"key_close\"\n        data-l10n-id=\"close-shortcut\"\n        command=\"cmd_close\"\n        modifiers=\"accel\"\n        reserved=\"true\"\n      />\n    </xul:keyset>\n    <script>\n      document.addEventListener(\"DOMContentLoaded\", (ev) => {\n        Services.scriptloader.loadSubScript(\n          \"chrome://zotero/content/include.js\",\n          this,\n        );\n        window.arguments[0]._initPromise.resolve();\n      });\n    </script>\n    <style>\n      html,\n      body {\n        min-width: 800px;\n        min-height: 400px;\n      }\n      html,\n      body,\n      .viewport {\n        padding: 0;\n        margin: 0;\n        height: 100%;\n        overflow: hidden;\n        word-wrap: break-word;\n        user-select: none;\n      }\n      .viewport {\n        margin: 0 5px 0 5px;\n        overflow-y: auto;\n      }\n      .viewport-container {\n        padding: 0;\n        margin: 0;\n        height: calc(100% - 50px);\n        width: 100%;\n        display: flex;\n        flex-direction: row;\n        overflow: hidden;\n        background: var(--material-background);\n      }\n      .list-viewport {\n        width: 100%;\n        overflow: hidden;\n      }\n      #table-container {\n        height: 100%;\n        width: 100%;\n        overflow: auto;\n      }\n      #manager-table {\n        height: 100%;\n      }\n    </style>\n  </head>\n  <body class=\"zotero-window\">\n    <div class=\"viewport-container\">\n      <div id=\"list-container\" class=\"viewport list-viewport\">\n        <div id=\"table-container\"></div>\n      </div>\n    </div>\n    <div\n      class=\"footer-container\"\n      style=\"justify-content: flex-start; padding: 10px; gap: 8px\"\n      xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n    >\n      <button id=\"refresh\" data-l10n-id=\"refresh\"></button>\n      <button id=\"sync\" data-l10n-id=\"sync\"></button>\n      <button id=\"unSync\" data-l10n-id=\"unSync\"></button>\n      <button id=\"detect\" data-l10n-id=\"detect\"></button>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/templateEditor.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero-react-client.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE html>\n<html\n  id=\"__addonRef__-templateEditor\"\n  lang=\"en\"\n  xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  windowtype=\"__addonRef__-templateEditor\"\n  sizemode=\"normal\"\n  scrolling=\"false\"\n  persist=\"screenX screenY width height sizemode\"\n>\n  <head>\n    <title data-l10n-id=\"title\"></title>\n    <meta charset=\"utf-8\" />\n    <meta name=\"referrer\" content=\"no-referrer\" />\n    <xul:linkset>\n      <link rel=\"localization\" href=\"browser/menubar.ftl\" />\n      <link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n      <link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n      <link rel=\"localization\" href=\"zotero.ftl\" />\n      <link rel=\"localization\" href=\"__addonRef__-templateEditor.ftl\" />\n    </xul:linkset>\n    <xul:commandset id=\"mainCommandSet\">\n      <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n    </xul:commandset>\n    <xul:keyset id=\"mainKeyset\">\n      <xul:key\n        id=\"key_close\"\n        data-l10n-id=\"close-shortcut\"\n        command=\"cmd_close\"\n        modifiers=\"accel\"\n        reserved=\"true\"\n      />\n    </xul:keyset>\n    <script>\n      document.addEventListener(\"DOMContentLoaded\", (ev) => {\n        Services.scriptloader.loadSubScript(\n          \"chrome://zotero/content/include.js\",\n          this,\n        );\n        window.arguments[0]._initPromise.resolve();\n      });\n    </script>\n    <link\n      rel=\"stylesheet\"\n      href=\"chrome://__addonRef__/content/lib/css/github-markdown.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      href=\"chrome://__addonRef__/content/lib/css/katex.min.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      href=\"chrome://__addonRef__/content/styles/templateEditor.css\"\n    />\n  </head>\n  <body class=\"zotero-window\">\n    <div class=\"viewport-container\">\n      <xul:hbox id=\"list-container\" class=\"viewport list-viewport\">\n        <div id=\"table-container\"></div>\n      </xul:hbox>\n      <xul:splitter\n        state=\"open\"\n        collapse=\"before\"\n        orient=\"horizontal\"\n      ></xul:splitter>\n      <xul:hbox class=\"viewport editor-viewport\">\n        <xul:hbox align=\"center\">\n          <div style=\"flex-shrink: 0\" data-l10n-id=\"templateType\"></div>\n          <xul:menulist id=\"editor-type\" native=\"true\">\n            <xul:menupopup>\n              <xul:menuitem\n                data-l10n-id=\"templateType-unknown\"\n                value=\"unknown\"\n              ></xul:menuitem>\n              <xul:menuitem\n                data-l10n-id=\"templateType-system\"\n                value=\"system\"\n                hidden=\"true\"\n              ></xul:menuitem>\n              <xul:menuitem\n                data-l10n-id=\"templateType-item\"\n                value=\"item\"\n              ></xul:menuitem>\n              <xul:menuitem\n                data-l10n-id=\"templateType-text\"\n                value=\"text\"\n              ></xul:menuitem>\n            </xul:menupopup>\n          </xul:menulist>\n          <xul:button\n            id=\"templateType-help\"\n            data-l10n-id=\"templateType-help\"\n            class=\"help-button\"\n          ></xul:button>\n        </xul:hbox>\n        <xul:hbox align=\"center\">\n          <div style=\"flex-shrink: 0\" data-l10n-id=\"templateName\"></div>\n          <input id=\"editor-name\" type=\"text\" style=\"width: 100%\" />\n        </xul:hbox>\n        <div id=\"formats-container\" class=\"editor-button-container\"></div>\n        <div style=\"display: flex; flex-direction: column; height: 100%\">\n          <iframe\n            id=\"editor\"\n            src=\"chrome://scaffold/content/monaco/monaco.html\"\n            style=\"width: 100%; height: 100%; border: none\"\n            onmousedown=\"this.focus()\"\n          ></iframe>\n        </div>\n        <div id=\"snippets-container\" class=\"editor-button-container\"></div>\n      </xul:hbox>\n      <xul:splitter\n        state=\"open\"\n        collapse=\"after\"\n        orient=\"horizontal\"\n      ></xul:splitter>\n      <xul:hbox class=\"viewport preview-viewport\">\n        <div style=\"display: flex\">\n          <div style=\"flex-shrink: 0\" data-l10n-id=\"previewContainer\"></div>\n        </div>\n        <article id=\"preview-container\" class=\"markdown-body\"></article>\n      </xul:hbox>\n    </div>\n    <div\n      class=\"footer-container\"\n      style=\"justify-content: flex-start; padding: 10px; gap: 8px\"\n      xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n    >\n      <button id=\"create\" data-l10n-id=\"create\"></button>\n      <button id=\"save\" data-l10n-id=\"save\"></button>\n      <button id=\"delete\" data-l10n-id=\"delete\"></button>\n      <button id=\"reset\" data-l10n-id=\"reset\"></button>\n      <button id=\"share\" data-l10n-id=\"share\"></button>\n      <button id=\"more\" data-l10n-id=\"more\"></button>\n      <button\n        id=\"options\"\n        data-l10n-id=\"options\"\n        tabindex=\"-1\"\n        type=\"menu\"\n        wantdropmarker=\"true\"\n      >\n        <menupopup>\n          <menuitem\n            id=\"importClipboard\"\n            data-l10n-id=\"importClipboard\"\n          ></menuitem>\n          <menuitem id=\"importNote\" data-l10n-id=\"importNote\"></menuitem>\n          <menuseparator />\n          <menuitem id=\"backup\" data-l10n-id=\"backup\"></menuitem>\n          <menuitem id=\"restore\" data-l10n-id=\"restore\"></menuitem>\n          <menuseparator />\n          <menuitem id=\"help\" data-l10n-id=\"help\"></menuitem>\n        </menupopup>\n      </button>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/templatePicker.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://__addonRef__/content/styles/templatePicker.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE window>\n<window\n  xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  id=\"bn-note-picker\"\n  data-l10n-id=\"title\"\n  windowtype=\"__addonRef__-templatePicker\"\n  persist=\"screenX screenY width height sizemode\"\n  style=\"min-width: 20em; min-height: 200px\"\n  drawintitlebar-platforms=\"mac\"\n>\n  <xul:linkset>\n    <html:link rel=\"localization\" href=\"browser/menubar.ftl\" />\n    <html:link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n    <html:link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n    <html:link rel=\"localization\" href=\"zotero.ftl\" />\n    <html:link rel=\"localization\" href=\"__addonRef__-templatePicker.ftl\" />\n  </xul:linkset>\n\n  <xul:commandset id=\"mainCommandSet\">\n    <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n  </xul:commandset>\n  <xul:keyset id=\"mainKeyset\">\n    <xul:key\n      id=\"key_close\"\n      data-l10n-id=\"close-shortcut\"\n      command=\"cmd_close\"\n      modifiers=\"accel\"\n      reserved=\"true\"\n    />\n  </xul:keyset>\n\n  <script src=\"chrome://zotero/content/include.js\"></script>\n  <script src=\"chrome://zotero/content/titlebar.js\"></script>\n  <script src=\"chrome://zotero/content/customElements.js\"></script>\n  <script src=\"chrome://__addonRef__/content/scripts/customElements.js\"></script>\n  <script src=\"chrome://__addonRef__/content/scripts/templatePicker.js\"></script>\n\n  <dialog buttons=\"accept, cancel\">\n    <hbox class=\"viewport-container\">\n      <hbox id=\"list-container\" class=\"viewport list-viewport\">\n        <html:div id=\"table-container\"></html:div>\n      </hbox>\n    </hbox>\n  </dialog>\n</window>\n"
  },
  {
    "path": "addon/chrome/content/treeView.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <body>\n    <script src=\"chrome://__addonRef__/content/lib/js/jquery.min.js\"></script>\n    <script src=\"chrome://__addonRef__/content/lib/js/dx.all.js\"></script>\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://zotero-platform/content/zotero.css\"\n    />\n    <link\n      rel=\"stylesheet\"\n      type=\"text/css\"\n      href=\"chrome://__addonRef__/content/lib/css/dx.light.compact.css\"\n    />\n    <style>\n      html,\n      body,\n      div {\n        height: 100%;\n        width: 100%;\n        padding: 0;\n        margin: 0;\n        animation: append-animate 0.3s ease-in-out;\n      }\n\n      body {\n        overflow: hidden;\n      }\n\n      @keyframes append-animate {\n        from {\n          opacity: 0;\n        }\n        to {\n          opacity: 1;\n        }\n      }\n\n      .form {\n        display: flex;\n      }\n\n      .form > div {\n        display: inline-block;\n        vertical-align: top;\n      }\n\n      #treeview {\n        padding: 8px 0 0 16px;\n      }\n\n      .drive-header {\n        min-height: auto;\n        padding: 0;\n        cursor: default;\n      }\n\n      .drive-panel {\n        font-size: 115%;\n        font-weight: bold;\n        border-right: 1px solid rgba(165, 165, 165, 0.4);\n        height: 100%;\n      }\n\n      .drive-panel:last-of-type {\n        border-right: none;\n      }\n\n      ul,\n      li {\n        display: list-item;\n      }\n\n      #outline-container {\n        color: var(--fill-primary);\n      }\n\n      .dx-treeview-item {\n        border-radius: 5px;\n        cursor: auto;\n      }\n\n      .dx-scrollable-container {\n        padding-right: 8px;\n      }\n\n      .dx-treeview-toggle-item-visibility {\n        color: var(--fill-primary);\n      }\n\n      .dx-treeview-toggle-item-visibility::before {\n        content: \"\";\n        position: absolute;\n        display: block;\n        top: 50%;\n        margin-top: -8px;\n        left: 50%;\n        margin-left: -8px;\n        width: 16px;\n        height: 16px;\n        padding: 4px;\n        box-sizing: border-box;\n        background: url(\"chrome://zotero/skin/8/universal/chevron-8.svg\")\n          content-box no-repeat;\n        -moz-context-properties: fill, fill-opacity;\n        fill: var(--fill-secondary);\n        transition: transform 0.125s ease;\n        transform: rotate(-90deg);\n      }\n\n      .dx-treeview-toggle-item-visibility.dx-treeview-toggle-item-visibility-opened::before {\n        content: \"\";\n        margin-top: -8px;\n        margin-left: -8px;\n        width: 16px;\n        height: 16px;\n        transform: rotate(0deg);\n      }\n\n      :not(.dx-state-focused) > .dx-treeview-item.dx-state-hover {\n        color: var(--fill-primary);\n        background-color: transparent;\n      }\n\n      .dx-state-focused > .dx-treeview-item {\n        background-color: var(--color-accent) !important;\n      }\n    </style>\n    <div\n      class=\"dx-viewport\"\n      id=\"outline-container\"\n      style=\"background-color: inherit; overflow: hidden\"\n    >\n      <script id=\"code\">\n        var cachedNodes = null;\n        function init() {\n          window.addEventListener(\"message\", handler, false);\n          window.postMessage({ type: \"ready\" }, \"*\");\n          getData();\n        }\n\n        function createTreeView(selector, items) {\n          $(selector).dxTreeView({\n            items,\n            expandNodesRecursive: false,\n            dataStructure: \"plain\",\n            height: $(\"window\").height(),\n            displayExpr: \"name\",\n            noDataText: \"Outline is Empty\",\n            onItemClick: jumpNode,\n          });\n        }\n\n        function createSortable(selector, driveName) {\n          $(selector).dxSortable({\n            filter: \".dx-treeview-item\",\n            group: \"shared\",\n            data: driveName,\n            allowDropInsideItem: true,\n            allowReordering: true,\n            onDragChange: (e) => {\n              if (e.fromComponent === e.toComponent) {\n                const $nodes = e.element.find(\".dx-treeview-node\");\n                const isDragIntoChild =\n                  $nodes.eq(e.fromIndex).find($nodes.eq(e.toIndex)).length > 0;\n                if (isDragIntoChild) {\n                  e.cancel = true;\n                }\n              }\n            },\n            onDragEnd: (e) => {\n              if (\n                e.fromComponent === e.toComponent &&\n                e.fromIndex === e.toIndex\n              ) {\n                return;\n              }\n              window._e = e;\n\n              const fromTreeView = getTreeView();\n              const toTreeView = getTreeView();\n\n              const fromNode = findNode(fromTreeView, e.fromIndex);\n              const toNode = findNode(toTreeView, calculateToIndex(e));\n\n              if (\n                e.dropInsideItem &&\n                toNode !== null &&\n                // !toNode.itemData.isDirectory &&\n                toNode.itemData.level === 7\n              ) {\n                return;\n              }\n\n              window.postMessage(\n                {\n                  type: \"moveNode\",\n                  fromID: parseInt(fromNode.itemData.id),\n                  toID: toNode\n                    ? parseInt(toNode.itemData.id)\n                    : toItems[toItems.length - 1].itemData.id,\n                  moveType: e.dropInsideItem ? \"child\" : \"before\",\n                },\n                \"*\",\n              );\n\n              const fromTopVisibleNode = getTopVisibleNode(fromTreeView);\n              const toTopVisibleNode = getTopVisibleNode(toTreeView);\n\n              const fromItems = fromTreeView.option(\"items\");\n              const toItems = toTreeView.option(\"items\");\n              moveNode(fromNode, toNode, fromItems, toItems, e.dropInsideItem);\n\n              fromTreeView.option(\"items\", fromItems);\n              toTreeView.option(\"items\", toItems);\n              fromTreeView.scrollToItem(fromTopVisibleNode);\n              toTreeView.scrollToItem(toTopVisibleNode);\n            },\n          });\n        }\n\n        function getTreeView() {\n          try {\n            return $(\"#treeview\").dxTreeView(\"instance\");\n          } catch {\n            return undefined;\n          }\n        }\n\n        function calculateToIndex(e) {\n          if (e.fromComponent !== e.toComponent || e.dropInsideItem) {\n            return e.toIndex;\n          }\n\n          return e.fromIndex >= e.toIndex ? e.toIndex : e.toIndex + 1;\n        }\n\n        function findNode(treeView, index) {\n          const nodeElement = treeView.element().find(\".dx-treeview-node\")[\n            index\n          ];\n          if (nodeElement) {\n            return findNodeById(\n              treeView.getNodes(),\n              nodeElement.getAttribute(\"data-item-id\"),\n            );\n          }\n          return null;\n        }\n\n        function findNodeById(nodes, id) {\n          for (let i = 0; i < nodes.length; i += 1) {\n            if (nodes[i].itemData.id === id) {\n              return nodes[i];\n            }\n            if (nodes[i].children) {\n              const node = findNodeById(nodes[i].children, id);\n              if (node != null) {\n                return node;\n              }\n            }\n          }\n          return null;\n        }\n\n        function moveNode(\n          fromNode,\n          toNode,\n          fromItems,\n          toItems,\n          isDropInsideItem,\n        ) {\n          const fromIndex = findIndex(fromItems, fromNode.itemData.id);\n          fromItems.splice(fromIndex, 1);\n\n          const toIndex =\n            toNode === null || isDropInsideItem\n              ? toItems.length\n              : findIndex(toItems, toNode.itemData.id);\n\n          toItems.splice(toIndex, 0, fromNode.itemData);\n\n          moveChildren(fromNode, fromItems, toItems);\n          if (isDropInsideItem) {\n            fromNode.itemData.parentId = toNode.itemData.id;\n          } else {\n            fromNode.itemData.parentId =\n              toNode != null ? toNode.itemData.parentId : undefined;\n          }\n        }\n\n        function moveChildren(node, fromItems, toItems) {\n          if (!node.itemData.isDirectory) {\n            return;\n          }\n\n          node.children.forEach((child) => {\n            if (child.itemData.isDirectory) {\n              moveChildren(child, fromItems, toItems);\n            }\n\n            const fromIndex = findIndex(fromItems, child.itemData.id);\n            fromItems.splice(fromIndex, 1);\n            toItems.splice(toItems.length, 0, child.itemData);\n          });\n        }\n\n        function findIndex(array, id) {\n          const idsArray = array.map((elem) => elem.id);\n          return idsArray.indexOf(id);\n        }\n\n        function getTopVisibleNode(component) {\n          const treeViewElement = component.element().get(0);\n          const treeViewTopPosition =\n            treeViewElement.getBoundingClientRect().top;\n          const nodes = treeViewElement.querySelectorAll(\".dx-treeview-node\");\n          for (let i = 0; i < nodes.length; i += 1) {\n            const nodeTopPosition = nodes[i].getBoundingClientRect().top;\n            if (nodeTopPosition >= treeViewTopPosition) {\n              return nodes[i];\n            }\n          }\n\n          return null;\n        }\n\n        function walkNode(node, callback) {\n          if (!node) {\n            return;\n          }\n          callback(node);\n          node.children.forEach((child) => walkNode(child, callback));\n        }\n\n        function jumpNode(e) {\n          var itemData = e.itemData;\n          if (itemData.noteLink) {\n            window.postMessage(\n              {\n                type: \"openNote\",\n                link: itemData.noteLink,\n                id: parseInt(itemData.id),\n              },\n              \"*\",\n            );\n          } else {\n            window.postMessage(\n              {\n                type: \"jumpNode\",\n                lineIndex: itemData.lineIndex,\n                id: parseInt(itemData.id),\n              },\n              \"*\",\n            );\n          }\n        }\n\n        const noteIcon = `<svg t=\"1652008007954\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"10521\" width=\"18\" height=\"18\"><defs><style>path{fill:currentColor;}</style></defs><path d=\"M574.3 896H159.7c-17.6 0-31.9-14.3-31.9-32V160c0-17.7 14.3-32 31.9-32h382.7v160c0 35.3 28.6 64 63.8 64h159.5v192c0 17.7 14.3 32 31.9 32 17.6 0 31.9-14.3 31.9-32V270.2c0-8.5-3.3-16.6-9.3-22.6L647.4 73.4c-6-6-14.1-9.4-22.6-9.4h-497C92.6 64 64 92.7 64 128v768c0 35.3 28.6 64 63.8 64h446.5c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM638.1 288c-17.6 0-31.9-14.3-31.9-32V128l159.5 160H638.1z\" p-id=\"10522\"></path><path d=\"M418.8 673H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h193.3c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM608.2 481H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h382.7c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM225.5 353h191.4c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32zM862.7 959.4c-23.6 0-47-8.8-64.8-26.6l-24.4-24.4c-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0l24.4 24.4c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3L749.2 702.6c-11.3-11.4-30.7-10.4-43.2 2.1-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4 12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0c-36.2-36.3-35.2-96.3 2.1-133.8 37.4-37.5 97.2-38.4 133.4-2.1l139.1 139.5c36.2 36.3 35.2 96.3-2.1 133.8-19 19.2-43.9 28.8-68.6 28.8z\" p-id=\"10523\"></path><path d=\"M696.3 883.1c-23.6 0-47-8.8-64.8-26.6l-139-139.6c-17.7-17.8-27.2-41.7-26.6-67.2 0.6-25 10.8-48.6 28.7-66.6 17.9-17.9 41.5-28.2 66.4-28.8 25.5-0.6 49.3 8.9 67 26.6l24.4 24.4c12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0l-24.4-24.4c-5.3-5.3-12.5-8.1-20.4-7.9-8.4 0.2-16.5 3.8-22.8 10-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4L676.7 811c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0c36.2 36.3 35.3 96.3-2.1 133.8-19.1 19.3-44 29-68.7 29z\" p-id=\"10524\"></path></svg>`;\n\n        function getData() {\n          window.postMessage({ type: \"getMindMapData\" }, \"*\");\n        }\n\n        function setData(nodes, expandLevel) {\n          console.log(nodes);\n          const tree = getTreeView();\n          const expandedStatus = {};\n          if (tree) {\n            const rootNodes = tree.getNodes();\n            console.log(tree, rootNodes);\n            rootNodes.forEach((root) => {\n              walkNode(root, (node) => {\n                expandedStatus[node.itemData.name] = node.itemData.expanded;\n              });\n            });\n          }\n          if (cachedNodes?.length === nodes?.length) {\n            let isSame = true;\n            for (let i = 0; i < nodes.length; i += 1) {\n              const current = nodes[i];\n              const cached = cachedNodes[i];\n              if (\n                current.model.name !== cached.model.name ||\n                current.model.level !== cached.model.level ||\n                current.model.lineIndex !== cached.model.lineIndex ||\n                current.model.endIndex !== cached.model.endIndex\n              ) {\n                isSame = false;\n                break;\n              }\n            }\n            if (isSame) {\n              return;\n            }\n          }\n          cachedNodes = nodes;\n          console.log(expandedStatus);\n          const treeData = [];\n          nodes.forEach((node) => {\n            treeData.push({\n              id: String(node.model.id),\n              name: node.model.name,\n              level: node.model.level,\n              icon: node.model.level === 7 ? noteIcon : undefined,\n              lineIndex: node.model.lineIndex,\n              endIndex: node.model.endIndex,\n              isDirectory: node.children.length > 0,\n              expanded:\n                node.model.name in expandedStatus\n                  ? expandedStatus[node.model.name]\n                  : node.model.level < expandLevel,\n              parentId:\n                node.parent.model.id !== -1\n                  ? String(node.parent.model.id)\n                  : undefined,\n            });\n          });\n          $(() => {\n            createTreeView(\"#treeview\", treeData);\n            createSortable(\"#treeview\", \"treeData\");\n          });\n        }\n\n        function handler(e) {\n          console.log(e);\n          if (e.data.type === \"setMindMapData\") {\n            setData(e.data.nodes, e.data.expandLevel);\n          }\n        }\n\n        window.addEventListener(\"DOMContentLoaded\", () => {\n          try {\n            init();\n          } catch (e) {\n            window.postMessage({ type: \"error\", event: e }, \"*\");\n          }\n        });\n      </script>\n      <div class=\"demo-container\">\n        <div class=\"form\">\n          <div class=\"drive-panel\">\n            <div id=\"treeview\" style=\"color: currentColor\"></div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/chrome/content/workspaceWindow.xhtml",
    "content": "<?xml version=\"1.0\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://global/skin/\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero/skin/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<?xml-stylesheet href=\"chrome://zotero-platform/content/zotero.css\" type=\"text/css\"?>\n<!-- prettier-ignore -->\n<!DOCTYPE html>\n<html\n  id=\"workspaceWindow\"\n  lang=\"en\"\n  xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:xul=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n  windowtype=\"__addonRef__-workspaceWindow\"\n  sizemode=\"normal\"\n  scrolling=\"false\"\n  persist=\"screenX screenY width height sizemode\"\n>\n  <head>\n    <title data-l10n-id=\"title\"></title>\n    <meta charset=\"utf-8\" />\n    <script src=\"chrome://zotero/content/include.js\"></script>\n    <script src=\"chrome://zotero/content/customElements.js\"></script>\n    <script src=\"chrome://__addonRef__/content/scripts/customElements.js\"></script>\n    <script src=\"chrome://__addonRef__/content/scripts/workspaceWindow.js\"></script>\n    <xul:linkset>\n      <link rel=\"localization\" href=\"browser/menubar.ftl\" />\n      <link rel=\"localization\" href=\"browser/browserSets.ftl\" />\n      <link rel=\"localization\" href=\"toolkit/global/textActions.ftl\" />\n      <link rel=\"localization\" href=\"zotero.ftl\" />\n      <link rel=\"localization\" href=\"__addonRef__-workspaceWindow.ftl\" />\n    </xul:linkset>\n    <xul:commandset id=\"mainCommandSet\">\n      <xul:command id=\"cmd_close\" oncommand=\"window.close();\" />\n    </xul:commandset>\n    <xul:keyset id=\"mainKeyset\">\n      <xul:key\n        id=\"key_close\"\n        data-l10n-id=\"close-shortcut\"\n        command=\"cmd_close\"\n        modifiers=\"accel\"\n        reserved=\"true\"\n      />\n    </xul:keyset>\n    <style>\n      html,\n      body {\n        padding: 0;\n        margin: 0;\n        height: 100%;\n        overflow-x: hidden;\n        overflow-y: auto;\n        word-wrap: break-word;\n        min-width: 800px;\n        min-height: 400px;\n      }\n      #workspace-container {\n        padding: 0;\n        margin: 0;\n        height: 100%;\n        width: 100%;\n        overflow: hidden;\n      }\n    </style>\n  </head>\n  <body class=\"zotero-window workspace-window\">\n    <xul:popupset>\n      <xul:tooltip id=\"html-tooltip\" page=\"true\" />\n    </xul:popupset>\n    <div id=\"workspace-container\"></div>\n  </body>\n</html>\n"
  },
  {
    "path": "addon/locale/de/addon.ftl",
    "content": "pref-title = Better Notes\n\nmenuEditor-resizeImage = Bildgröße ändern\nmenuEditor-copy = Notizlink kopieren...\nmenuEditor-copyLine = Zeilenlink kopieren { $line }\nmenuEditor-copySection = Abschnittslink kopieren { $section }\n\ntemplateEditor-templateType = Typ\ntemplateEditor-templateName = Name\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Schnelles Einfügen (Link)\n    .QuickImportV2 = Schnellimport (Einbettung)\n    .QuickNoteV5 = Schnellnotiz (Aus Anmerkungen)\n    .ExportMDFileNameV2 = Dateinamen importieren\n    .ExportMDFileHeaderV2 = MD-Datei-Header exportieren\n    .ExportMDFileContent = MD-Dateiinhalt exportieren\n    .ExportLatexFileContent = LaTeX-Dateiinhalt exportieren\n\ntemplateEditor-templateDisplayType =\n    .system = Voreinstellung\n    .item = Eintrag\n    .text = Text\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = Für bestimmte Zwecke, z.B. um einen Notizlink zu generieren.\n    .item = Kann Notizfragmente aus einem oder mehreren Einträgen als Eingabe erzeugen.\n    .text = Kann Notizfragmente erzeugen. Benötigt keine Eingabe.\n\neditor-resizeImage-title = Bildgröße ändern\neditor-resizeImage-prompt = Bildbreite ändern zu:\neditor-previewImage-title = Bildvorschau\n\nsyncManager-noteName = Notizname\nsyncManager-lastSync = Zuletzt synchronisiert\nsyncManager-filePath = Markdown-Pfad\nsyncManager-detectConfirmInfo = {$total} synchronisierte Markdown-Dateien in {$dir} gefunden.\n    {$new} neu, {$current} werden aktualisiert.\n    Möchtest Du die Änderungen übernehmen?\n\nsyncInfo-syncTo = Markdown-Pfad\nsyncInfo-lastSync = Zuletzt Aktualisiert\nsyncInfo-sync = Synchronisieren\nsyncInfo-unSync = Synchronisation beenden\nsyncInfo-reveal = Im Ordner anzeigen\nsyncInfo-manager = Sync-Manager\nsyncInfo-export = Exportieren als...\nsyncInfo-cancel = Schließen\n\nfileInterface-sync = Synchronisieren mit\n\nsync-start-hint = Notizen Auto-Synchronisation erfolgt alle\nsync-stop-hint = Notizen Auto-Synchronisation ist deaktiviert\nsync-running-hint-title = Notizen-Synchronisation\nsync-running-hint-check = Status überprüfen\nsync-running-hint-updateMD = Markdown aktualisieren\nsync-running-hint-updateNote = Notiz aktualisieren\nsync-running-hint-diff = Zusammenführung bestätigen\nsync-running-hint-finish = Beenden\nsync-running-hint-synced = Synchronisiert\nsync-running-hint-upToDate = Aktuell\n\nworkspace-switchOutline = Gliederungsmodus umschalten\nworkspace-saveOutlineImage = Bild speichern\nworkspace-saveOutlineFreeMind = Mindmap speichern\nworkspace-emptyWorkspaceGuideInfo = Keine Notiz im Workspace geöffnet.\nworkspace-emptyWorkspaceGuideOpen = Wähle eine Notiz zum Öffnen\nworkspace-emptyWorkspaceGuideOr = oder\nworkspace-emptyWorkspaceGuideCreate = Erstelle eine neue Notiz\n\neditor-toolbar-settings-openAsTab = Notiz in neues Tab öffnen\neditor-toolbar-settings-openAsWindow = Notiz in neues BN-Fenster öffnen\neditor-toolbar-settings-showInLibrary = In Bibliothek anzeigen\neditor-toolbar-settings-insertTemplate = Vorlage einsetzen\neditor-toolbar-settings-refreshTemplates = Inhalt aus Vorlage aktualisieren\neditor-toolbar-settings-copyLink = Link kopieren (L{ $line })\neditor-toolbar-settings-copyLinkAtSection = Link kopieren (Sec. { $section })\neditor-toolbar-settings-openParent = Anhang öffnen\neditor-toolbar-settings-export = Aktuelle Notiz exportieren\neditor-toolbar-settings-refreshSyncing = Jetzt synchronisieren\neditor-toolbar-settings-updateRelatedNotes = Verwandte Notizen aktualisieren\n\ntemplatePicker-itemData-info = sind in der Bibliothek ausgewählt. Wähle bitte die Datenquelle:\ntemplatePicker-itemData-useLibrary = Benutze ausgewählte Einträge in der Bibliothek\ntemplatePicker-itemData-useCustom = Wähle andere.\ntemplatePicker-itemData-title = Wähle die Datenquelle der Eintrags-Vorlage.\n\nalert-notValidCollectionError = Wähle bitte eine gültige Sammlung.\nalert-notValidParentItemError = Kein gültiger übergeordneter Eintrag.\nalert-syncImportedNotes = Importierte Notizen mit Markdown-Dateien synchronisiert belassen?\nalert-linkCreator-emptyNote = Kann keinen Link von/zu leerer Notiz erstellen. \nalert-templateEditor-shouldImport = Es scheint als würdest Du versuchen, einen Notizenvorlagen-Freigabecode direkt zu speichern. Möchtest du stattdessen die Vorlage importieren?\nalert-templateEditor-unsaved = Du hast ungespeicherte Änderungen in deinem Vorlagen-Editor. Möchtest Du sie speichern?\n\nuserGuide-start-title = Willkommen bei Better Notes!\nuserGuide-start-desc = Better Notes ist ein leistungsstarkes Tool zum Erstellen von Notizen, mit dem Du Deine Gedanken und Ideen beim Lesen von Dokumenten organisieren kannst. Dieser Leitfaden hilft Dir beim Einstieg in Better Notes und zeigt Dir, wie Du die Funktionen optimal nutzen kannst.\nuserGuide-start-close = Später erinnern\nuserGuide-createNoteButton-title = Neue Notiz erstellen\nuserGuide-createNoteButton-desc = Du kannst hier eine neue Notiz erstellen, leer oder aus einer Vorlage.\nuserGuide-createNote-title = Neue Notiz erstellen\nuserGuide-createNote-desc = Es scheint, als hättest Du noch keine Notizen. Lass uns eine erstellen.\nuserGuide-createNoteFound-desc = Notizen in deiner Bibliothek gefunden. Lass uns eine als Beispiel öffnen.\nuserGuide-openNote-title = Notiz öffnen\nuserGuide-openNote-desc = Du kannst mit Doppelklick eine Notiz im Better Notes Workspace-Tab öffnen.\nuserGuide-openNote-next = Notiz öffnen\nuserGuide-workspace-title = Notiz Workspace-Tab\nuserGuide-workspace-desc = Im Notizen-Tab kannst du den Inhalt deiner Notiz bearbeiten, die Gliederung einsehen und die Verbindungen verwalten.\nuserGuide-workspaceEditor-title = Notizen-Editor\nuserGuide-workspaceEditor-desc = Der Notizen-Editor unterstützt Rich-Text-Bearbeitungen, Code-Blöcke, Mathe-Syntax und mehr.\nuserGuide-workspaceEditorToolbar-title = Notizen-Editor - Toolbar\nuserGuide-workspaceEditorToolbar-desc = Die Toolbar bietet Schnellzugriff auf alle häufigsten Bearbeitungsfunktionen.\n    Du kannst hier Überschriften, Text- und Hintergrundfarben und Text-Stile setzen, sowie Links oder Verweise einfügen.\nuserGuide-workspaceEditorLinkCreator-title = Notizen-Editor - Link-Ersteller\nuserGuide-workspaceEditorLinkCreator-desc = Du kannst mittels des Link-Erstellers einen Link von/zu einer anderen Notiz erstellen.\nuserGuide-workspaceEditorMoreOptions-title = Notizen-Editor - Mehr Optionen\nuserGuide-workspaceEditorMoreOptions-desc = Notiz in neuem Fenster öffnen, in der Bibliothek anzeigen, Vorlage einsetzen, Link kopieren und mehr.\nuserGuide-workspaceOutline-title = Gliederung\nuserGuide-workspaceOutline-desc = Die Gliederung zeigt die Struktur der Notiz. Du kannst die Abschnitte anklicken um zu ihnen zu springen.\nuserGuide-workspaceOutlineMode-title = Gliederungsmodus\nuserGuide-workspaceOutlineMode-desc = Wechsle zum Gliederungsmodus, um die Struktur der Notiz in einer kompakteren Form anzusehen.\nuserGuide-workspaceOutlineSaveAs-title = Speichern als\nuserGuide-workspaceOutlineSaveAs-desc = Du kannst die Notiz in mehrere Formate exportieren, PDF, Markdown, MS Word, Mindmap, und mehr.\nuserGuide-workspaceNoteInfo-title = Notizinfo\nuserGuide-workspaceNoteInfo-desc = Du kannst die Tags, Verbindungen und Links der Notiz ansehen, bearbeiten und vewalten.\nuserGuide-finish-title = Wir sind fertig!\nuserGuide-finish-desc = Viel Spaß beim Notieren mit Better Notes!\n    Du kannst dieses Tutorial über das Hilfe-Menü jederzeit erneut starten.\n"
  },
  {
    "path": "addon/locale/de/exportNotes.ftl",
    "content": "title =\n    .title = Notizen mit Better Notes exportieren\n\ntarget =\n    .value = Ziel: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }und {$left} mehr.\n    }\nformat =\n    .value = Format:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = Mind-Map\nformat-note = \n    .label = Zotero Notiz\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = Notizlinks beibehalten(zotero://note/)\nlinks-embed =\n    .label = Verlinkte Notizen im Inhalt einbetten\nlinks-standalone =\n    .label = Verlinkte Notizen in separate Exporte konvertieren\nlinks-remove =\n    .label = Notizlinks entfernen\n\nmarkdown-autoSync =\n    .label = Auto-Sync für jede Notiz setzen\n    .title = Auto-Sync ist für den \"Verlinkte Notizen in separate Exporte konvertieren\"-Modus verfügbar.\nmarkdown-withYAMLHeader =\n    .label = Mit YAML Kopfzeilen\nmarkdown-autoFilename =\n    .label = Dateinamen automatisch generieren\n\nuseDefaultExport =\n    .label = Zoteros Standard-Export verwenden\n    .tooltiptext = Notiz ohne die von Better Notes bereitgestellten Zusatzoptionen exportieren.\n\nlatex-merge =\n    .label = In eine tex-Datei zusammenführen\n"
  },
  {
    "path": "addon/locale/de/linkCreator.ftl",
    "content": "title =\n    .title = Link-Ersteller\ntab-inbound =\n    .label = Erwähnen in\ntab-outbound =\n    .label = Verknüpfen mit\n\ninbound-step1-content = Schritt 1. Erwähnen in Notiz:\ninbound-step2-content = Schritt 2. Einfügen in:\ninbound-step3-content = Schritt 3. Vorschau:\ninbound-step3-middle =\n    { $show ->\n        [true] mentions\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = Schritt 1. Mit Notiz verknüpfen:\noutbound-step2-content = Schritt 2. Einfügen in:\noutbound-step3-content = Schritt 3. Vorschau:\noutbound-step3-middle =\n    { $show ->\n        [true] Verknüpfungen zu\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️Cursor (L{ $line })\n"
  },
  {
    "path": "addon/locale/de/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = Sync-Manager\nmenuTools-templateEditor =\n    .label = Vorlagen-Editor\nmenuTools-importTemplateFromClipboard =\n    .label = Neue Vorlage aus der Zwischenablage\n\nmenuFile-exportTemplate =\n    .label = Vorlage exportieren...\n\nmenuHelp-openUserGuide =\n    .label = Better Notes Nutzerhandbuch öffnen\n\nmenuAddNote-importMD =\n    .label = Aus Markdown-Datei importieren\nmenuAddNote-newTemplateStandaloneNote =\n    .label = Neue separate Notiz aus Vorlage\nmenuAddNote-newTemplateItemNote =\n    .label = Neue Eintrags-Notiz aus Vorlage\n\nmenuTab-moveNewWindow =\n    .label = In neues BN-Fenster verschieben\nmenu-openNoteAsBNWindow =\n    .label = Notiz in neues BN-Fenster öffnen\n"
  },
  {
    "path": "addon/locale/de/notePreview.ftl",
    "content": "note-preview-header =\n    .label = Notizenvorschau\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = Notiz öffnen\nnote-preview-close =\n    .tooltiptext = Schließen\nnote-preview-full =\n    .tooltiptext = Vollbild anzeigen\n"
  },
  {
    "path": "addon/locale/de/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = Verbindungs-Graph\nnote-relation-sidenav =\n    .tooltiptext = Verbindungs-Graph\nnote-relation-refresh =\n    .tooltiptext = Aktualisieren\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count } eingehende Verbindung\n            *[other] { $count } ausgehende Verbindungen\n        }\nnote-inbound-sidenav =\n    .tooltiptext = Eingehende Verbindungen\nnote-inbound-refresh =\n    .tooltiptext = Aktualisieren\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count } ausgehende Verbindung\n            *[other] { $count } ausgehende Verbindungen\n        }\nnote-outbound-sidenav =\n    .tooltiptext = Ausgehende Verbindungen\nnote-outbound-refresh =\n    .tooltiptext = Aktualisieren\n"
  },
  {
    "path": "addon/locale/de/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = Gliederungsfenster umschalten\nsetOutline =\n    .tooltiptext = Gliederungsmodus umschalten\nuseTreeView = \n    .label = Verzeichnisansicht\nuseMindMap = \n    .label = Mind-Map\nuseBubbleMap = \n    .label = Bubble-Map\nsaveOutline =\n    .tooltiptext = Speichern als...\nsaveOutlineImage =\n    .label = Gliederung als Bild\n    .tooltiptext = Nur in Mind-Map/Bubble-Map-Modus\nsaveOutlineSVG =\n    .label = Gliederung als SVG\n    .tooltiptext = Nur in Mind-Map/Bubble-Map-Modus\nsaveOutlineFreeMind =\n    .label = Gliederung als FreeMind\nsaveMore =\n    .label = Markdown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/de/preferences.ftl",
    "content": "basic-title = Basic\nbasic-exportNotes-takeover =\n    .label = Notizenexport übernehmen\n\neditor-title = Notizen-Editor\neditor-expandLevel-label = Gliederung auf Überschriftenebene erweitern\neditor-keepLinks = \n    .label = Notizlinks in der Gliederung zeigen\neditor-noteLinkPreviewType = Vorschau für Notizlinks anzeigen bei:\neditor-noteLinkPreview-hover = \n    .label = Hover\neditor-noteLinkPreview-ctrl = \n    .label = Tastenkombination { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = Nie\neditor-useMagicKey = \n    .label = Zaubertaste \"/\" verwenden um Befehlspalette anzuzeigen\neditor-useMagicKeyShortcut = \n    .label = Nutze { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" um Befehlspalette anzuzeigen\neditor-useMarkdownPaste = \n    .label = Erweitertes Markdown-Enfügen benutzen\neditor-pinTable-label = Bei Tabellen anheften:\neditor-pinTableLeft =\n    .label = Erste Spalte\neditor-pinTableTop =\n    .label = Erste Zeile beim Blättern\n\nsync-title = Synchronisation\nsync-period-label = Abstand automatischer Synchronisierungen (Sekunden)\nsync-attachmentFolder-label = Anhangs-Ordner\nsync-manager =\n    .label = Synchronisations-Manager öffnen\ntemplate-title = Vorlage\ntemplate-editor =\n    .label = Vorlagen-Editor öffnen\nannotation-title = PDF-Anmerkungen\nannotation-autoAnnotation =\n    .label = Automatisch neue Anmerkungen zur Workspace-Notiz hinzufügen\n\nannotationNote-title = Notiz aus Anmerkungen\nannotationNote-enableTagSync = \n    .label = Tags der Anmerkungen-Notiz mit der originalen Anmerkung synchronisieren.\n\nabout-title = Über\nhelp =\n    .value = { $name } VERSION { $version } Build { $time }"
  },
  {
    "path": "addon/locale/de/syncDiff.ftl",
    "content": "title = Notizen-Synchronisations-Konfliktklärung\n\ndiff-desc = Änderungen zusammenführen von:\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = Beide behalten\n    .title = Änderungen beider Seiten behalten\n\nlist-header = Zu behaltende Änderungen auswählen\nlist-selectAll = Alle auswählen\n\ndiff-header = Notiz - Raw\n\nrendered-header = Notiz - Rendered\n\nfinish =\n    .label = Konflikt lösen\n    .tooltiptext = Ausgewählte Änderungen speichern und Notiz und Markdown-Datei aktualisieren.\nunsync =\n    .label = Diese Notiz nicht mehr synchronisieren.\n    .tooltiptext = Notiz aus der Synchronisationsliste entfernen und lokale Änderungen behalten.\nskip =\n    .label = Vorerst überspringen\n    .tooltiptext = Diese Notiz überspringen und lokale Änderungen bis zur nächsten Synchronisation beibehalten."
  },
  {
    "path": "addon/locale/de/syncManager.ftl",
    "content": "title = Sync-Manager\nrefresh = \n    .label = Neu laden\n    .tooltiptext = Notizenliste neuladen\nsync = \n    .label = Synchronisieren\n    .tooltiptext = Ausgewählte Notizen sofort synchronisieren\nunSync = \n    .label = Nicht mehr synchronisieren\n    .tooltiptext = Ausgewählte Notizen nicht mehr synchronisieren\ndetect = \n    .label = Detektieren...\n    .tooltiptext = Synchronisierte Notizen im Ordner detektieren\n"
  },
  {
    "path": "addon/locale/de/templateEditor.ftl",
    "content": "title = Template Editor\n\ntemplateType = Template Type\n\ntemplateType-item =\n    .label = Eintrag\ntemplateType-text =\n    .label = Text\ntemplateType-system =\n    .label = Builtin\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = Detaillierte Erklärung der Vorlagen-Typen\n\ntemplateName = Vorlagenname\n\npreviewContainer = \n    .label = Vorschau\ncreate = \n    .label = Neu\nsave = \n    .label = Speichern\ndelete = \n    .label = Löschen\nreset = \n    .label = Zurücksetzen\nshare = \n    .label = Teilen\n    .tooltiptext = Vorlagen-Freigabecode in Zwischenablage kopieren\nmore = \n    .label = Weitere Vorlagen\n    .title = Weitere Vorlagen online beziehen\n\noptions = \n    .label = Optionen\nimportClipboard = \n    .label = Vorlage importieren: aus Vorlagen-Freigabecode in Zwischenablage importieren\nimportNote = \n    .label = Vorlage importieren: aus bestehender Notiz\nbackup = \n    .label = Backup-Datei exportieren\nrestore = \n    .label = Aus Backup-Datei wiederherstellen\nhelp = \n    .label = Hilfe\n\nformat-bold = \n    .title = Fett\nformat-italic =\n    .title = Kursiv\nformat-strikethrough =\n    .title = Durchgestrichen\nformat-underline =\n    .title = Unterstrichen\nformat-superscript =\n    .title = Hochgestellt\nformat-subscript =\n    .title = Tiefgestellt\nformat-textColor =\n    .title = Textfarbe\nformat-link =\n    .title = Link\nformat-quote =\n    .title = Zitat\nformat-monospaced =\n    .title = Feste Zeichenbreite\nformat-code =\n    .title = Code-Block\nformat-table =\n    .title = Tabelle\nformat-h1 =\n    .title = Überschrift Ebene 1\nformat-h2 =\n    .title = Überschrift Ebene 2\nformat-h3 =\n    .title = Überschrift Ebene 3\nformat-bullet =\n    .title = Aufzählung\nformat-numbered =\n    .title = Nummerierung\nformat-inlineMath =\n    .title = Formel in Zeile\nformat-blockMath =\n    .title = Formel als Block\nformat-inlineScript =\n    .title = Eingebettetes JS-Skript, dessen Ergebnis in die Notiz eingefügt wird.\nformat-blockScript =\n    .title = JS-Skript als Block einfügen, dessen Ergebnis in die Notiz eingefügt wird.\n\nsnippet-useMarkdown = Markdown benutzen\n    .title = Vorlage als Markdown parsen\nsnippet-useRefresh = Aktualisierung nutzen\n    .title = Erlaube Aktualisierungen für den Vorlagen-generierten Inhalt.\nsnippet-dryRunFlag = Probelauf-Modus\n    .title = Prüfe im Probelauf-Modus, ob die Vorlage funktionert, z.B. für die Vorschau. Im Probelauf-Modus sollte der Skript keine Nebenwirkungen haben.\nsnippet-itemBeforeLoop = vor dem Durchlauf (beforeLoop)\n    .title = Inhalt der ovr dem Durchlauf der Einträge gerendert wird\nsnippet-itemInLoop = während des Durchlaufs (inLoop)\n    .title = Inhalt, der für jeden Eintrag während des Durchlaufs gerendert wird\nsnippet-itemAfterLoop = nach dem Durchlauf (afterLoop)\n    .title = Inhalt, der nach dem Durchlauf der Einträge gerendert wird.\n\n-variable-type = Typ\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = string\n-variable-object = object\n-variable-function = function\n\nsnippet-itemItems = items\n    .title = { -variable-type }: { -variable-item }[]. Der Array der Einträge, die gerendert werden solle, in beforeLoop- und afterLoop-Phase verfügbar\nsnippet-itemItem = item\n    .title = { -variable-type }: { -variable-item }. Der derzeitige Eintrag, der gerendert werden soll, in der inLoop-Phase verfügbar\nsnippet-itemTopItem = top item\n    .title = { -variable-type }: { -variable-item }. Der übergeodnete Eintrag der Variable `item`, in der inLoop-Phase verfügbar\nsnippet-itemTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, mit dem die Vorlage verknüpft ist, in jeder Phase verfügbar\nsnippet-itemCopyNoteImage = Notizbild kopieren\n    .title = { -variable-type }: { -variable-function }. Bild der Notiz in Zwischenablage kopieren, in jeder Phase verfügbar\nsnippet-itemSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. Ein geteiltes Objekt das verwendet werden kann, um Daten phasenübergreifend zu speichern.\nsnippet-itemFieldTitle = title\n    .title = { -variable-type }: { -variable-string }. Der Titel des übergeordneten Eintrags\nsnippet-itemFieldAbstract = abstract\n    .title = { -variable-type }: { -variable-string }. Die Zusammenfassung des übergeordneten Eintrags\nsnippet-itemFieldCitKey = citation key\n    .title = { -variable-type }: { -variable-string }. Der Zitierschlüssel des übergeordneten Eintrags\nsnippet-itemFieldDate = date\n    .title = { -variable-type }: { -variable-string }. Das Veröffentlichungsdatum des übergeordneten Eintrags\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }: { -variable-string }. Die DOI des übergeordneten Eintrags\nsnippet-itemFieldDOIURL = DOI or URL\n    .title = { -variable-type }: { -variable-string }. Die DOI oder URL des übergeordneten Eintrags\nsnippet-itemFieldAuthors = authors\n    .title = { -variable-type }: { -variable-string }. Die Autoren des übergeordneten Eintrags\nsnippet-itemFieldJournal = journal\n    .title = { -variable-type }: { -variable-string }. Das Journal des übergeordneten Eintrags\nsnippet-itemFieldTitleTranslation = title translation\n    .title = { -variable-type }: { -variable-string }. Die Titelübersetzung des übergeordneten Eintrags\nsnippet-textTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, mit dem die Vorlage verknüpft ist\nsnippet-textSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. Ein geteiltes Objekt das zur Datenspeicherung verwendet werden kann.\nsnippet-quickInsertLink = note link\n    .title = { -variable-type }: { -variable-string }. Ein Link zu der zu verknüpfenden Notiz\nsnippet-quickInsertLinkText = link text\n    .title = { -variable-type }: { -variable-string }. Das Standard-Label des Links\nsnippet-quickInsertSubNoteItem = linked note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, auf den verlinkt werden soll\nsnippet-quickInsertNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, mit dem die Vorlage verknüpft ist\nsnippet-quickImportLink = note link\n    .title = { -variable-type }: { -variable-string }. Der Link des Notizeneintrags, der importiert werden soll\nsnippet-quickImportNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, mit dem die Vorlage verknüpft ist\nsnippet-quickNoteAnnotationItem = annotation\n    .title = { -variable-type }: { -variable-annotation }. Der Anmerkungseintrag, der zu einer Notiz umgewandelt werden soll\nsnippet-quickNoteTopItem = top item\n    .title = { -variable-type }: { -variable-item }. Der übergeordnete Eintrag der Variable `annotationItem`\nsnippet-quickNoteNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der Notizeneintrag, mit dem die Vorlage verknüpft ist\nsnippet-exportMDFileNameNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der zu exportierende Notizeneintrag\nsnippet-exportMDFileHeaderNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der zu exportierende Notizeneintrag\nsnippet-exportMDFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der zu exportierende Notizeneintrag\nsnippet-exportMDFileContentMDContent = markdown content\n    .title = { -variable-type }: { -variable-string }. The markdown content to be exported\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. Der zu exportierende Notizeneintrag\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. Der zu exporterende LaTex-Inhalt\n"
  },
  {
    "path": "addon/locale/de/workspaceWindow.ftl",
    "content": "title = Notizen-Workspace\n"
  },
  {
    "path": "addon/locale/en-US/addon.ftl",
    "content": "pref-title = Better Notes\n\nmenuEditor-resizeImage = Resize Image\nmenuEditor-copy = Copy Note Link...\nmenuEditor-copyLine = Copy Link of Line { $line }\nmenuEditor-copySection = Copy Link of Section { $section }\n\ntemplateEditor-templateType = Type\ntemplateEditor-templateName = Name\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Quick Insert (Link)\n    .QuickImportV2 = Quick Import (Embed)\n    .QuickNoteV5 = Quick Note (From Annotation)\n    .ExportMDFileNameV2 = Export File Name\n    .ExportMDFileHeaderV2 = Export MD File Header\n    .ExportMDFileContent = Export MD File Content\n    .ExportLatexFileContent = Export Latex File Content\n\ntemplateEditor-templateDisplayType =\n    .system = Builtin\n    .item = Item\n    .text = Text\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = For specific purposes, e.g., generating note link.\n    .item = Can generate note fragments from one or more selected items as input.\n    .text = Can generate note fragments. It doesn't require any input.\n\neditor-resizeImage-title = Resize Image\neditor-resizeImage-prompt = Resize image width to:\neditor-previewImage-title = Preview Image\n\nsyncManager-noteName = Note Name\nsyncManager-lastSync = Last Sync\nsyncManager-filePath = Markdown Path\nsyncManager-detectConfirmInfo = {$total} synced markdown files detected in {$dir}\n    {$new} new, {$current} will be updated.\n    Do you want to apply the changes?\n\nsyncInfo-syncTo = Markdown Path\nsyncInfo-lastSync = Last Sync\nsyncInfo-sync = Sync\nsyncInfo-unSync = Unsync\nsyncInfo-reveal = Show in Folder\nsyncInfo-manager = Sync Manager\nsyncInfo-export = Export As...\nsyncInfo-cancel = Close\n\nfileInterface-sync = Sync to\n\nsync-start-hint = Note Auto-Sync is enabled every\nsync-stop-hint = Note Auto-Sync is disabled\nsync-running-hint-title = Note Syncing\nsync-running-hint-check = Check Status\nsync-running-hint-updateMD = Update Markdown\nsync-running-hint-updateNote = Update Note\nsync-running-hint-diff = Confirm Merge\nsync-running-hint-finish = Finish\nsync-running-hint-synced = Synced\nsync-running-hint-upToDate = Up To Date\n\nworkspace-switchOutline = Switch Outline Mode\nworkspace-saveOutlineImage = Save Image\nworkspace-saveOutlineFreeMind = Save MindMap\nworkspace-emptyWorkspaceGuideInfo = No note opened in workspace.\nworkspace-emptyWorkspaceGuideOpen = Choose a note to open\nworkspace-emptyWorkspaceGuideOr = or\nworkspace-emptyWorkspaceGuideCreate = Create a new note\n\neditor-toolbar-settings-openAsTab = Open Note in New Tab\neditor-toolbar-settings-openAsWindow = Open Note in BN New Window\neditor-toolbar-settings-showInLibrary = Show in Library\neditor-toolbar-settings-insertTemplate = Insert template\neditor-toolbar-settings-refreshTemplates = Update content from templates\neditor-toolbar-settings-copyLink = Copy link (L{ $line })\neditor-toolbar-settings-copyLinkAtSection = Copy link (Sec. { $section })\neditor-toolbar-settings-openParent = Open Attachment\neditor-toolbar-settings-export = Export Current Note...\neditor-toolbar-settings-refreshSyncing = Sync Now\neditor-toolbar-settings-updateRelatedNotes = Update Related Notes\n\ntemplatePicker-itemData-info = are selected in library. Please choose the data source:\ntemplatePicker-itemData-useLibrary = Use selected items in library\ntemplatePicker-itemData-useCustom = Choose another.\ntemplatePicker-itemData-title = Choose Item Template Data Source\n\nalert-notValidCollectionError = Please select a valid collection.\nalert-notValidParentItemError = No valid parent item.\nalert-syncImportedNotes = Keep imported notes in sync with Markdown files?\nalert-linkCreator-emptyNote = Cannot create link from/to an empty note. \nalert-templateEditor-shouldImport = Seems like you are trying to directly save a note template share code. Do you want to import it as a template?\nalert-templateEditor-unsaved = You have unsaved changes in the template editor. Do you want to save them?\n\nuserGuide-start-title = Welcome to Better Notes!\nuserGuide-start-desc = Better Notes is a powerful note-taking tool that helps you organize your thoughts and ideas while reading papers. This guide will help you get started with Better Notes and show you how to make the most of its features.\nuserGuide-start-close = Remind me later\nuserGuide-createNoteButton-title = Create a New Note\nuserGuide-createNoteButton-desc = You can create a note here: blank or from a template.\nuserGuide-createNote-title = Create a New Note\nuserGuide-createNote-desc = Seems like you don't have any notes yet, let's create one.\nuserGuide-createNoteFound-desc = Found notes in your library. Let's open one as an example.\nuserGuide-openNote-title = Open note\nuserGuide-openNote-desc = You can open a note in Better Notes workspace tab by double-clicking it.\nuserGuide-openNote-next = Open Note\nuserGuide-workspace-title = Note Workspace Tab\nuserGuide-workspace-desc = The note tab is where you can edit your note content, view the outline, and manage the relations.\nuserGuide-workspaceEditor-title = Note Editor\nuserGuide-workspaceEditor-desc = The editor supports rich text editing, code block, math block, and more.\nuserGuide-workspaceEditorToolbar-title = Note Editor - Toolbar\nuserGuide-workspaceEditorToolbar-desc = The toolbar provides quick access to common editing functions.\n    You can set the heading, text/background color, text style, insert link or reference here.\nuserGuide-workspaceEditorLinkCreator-title = Note Editor - Link Creator\nuserGuide-workspaceEditorLinkCreator-desc = You can create a link from/to another note via the link creator.\nuserGuide-workspaceEditorMoreOptions-title = Note Editor - More Options\nuserGuide-workspaceEditorMoreOptions-desc = Open the note in a new window, show it in the library, insert a template, copy the link, export the note, and more.\nuserGuide-workspaceOutline-title = Outline\nuserGuide-workspaceOutline-desc = The outline shows the structure of the note. You can navigate to a section by clicking on it.\nuserGuide-workspaceOutlineMode-title = Outline Mode\nuserGuide-workspaceOutlineMode-desc = Switch to outline mode to view the note structure in a more compact way.\nuserGuide-workspaceOutlineSaveAs-title = Save As\nuserGuide-workspaceOutlineSaveAs-desc = You can export the note to multiple formats, including PDF, Markdown, MS Word, mind map, and more.\nuserGuide-workspaceNoteInfo-title = Note Info\nuserGuide-workspaceNoteInfo-desc = You can view, edit, and manage the note's tags, relations, and links.\nuserGuide-finish-title = We are all set!\nuserGuide-finish-desc = Enjoy your note-taking journey with Better Notes!\n    You can always run this guide again from the Help menu.\n"
  },
  {
    "path": "addon/locale/en-US/exportNotes.ftl",
    "content": "title =\n    .title = Export Notes with Better Notes\n\ntarget =\n    .value = Target: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }and {$left} more.\n    }\nformat =\n    .value = Format:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = Mind Map\nformat-note = \n    .label = Zotero Note\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = Keep note links(zotero://note/)\nlinks-embed =\n    .label = Embed linked notes in the content\nlinks-standalone =\n    .label = Convert linked notes to standalone exports\nlinks-remove =\n    .label = Remove note links\n\nmarkdown-autoSync =\n    .label = Set auto-sync for each note\n    .title = Auto-sync is available for \"Convert linked notes to standalone exports\" mode.\nmarkdown-withYAMLHeader =\n    .label = With YAML header\nmarkdown-autoFilename =\n    .label = Auto generate file name\n\nuseDefaultExport =\n    .label = Use Zotero's default export\n    .tooltiptext = Export notes without advanced options provided by Better Notes.\n\nlatex-merge =\n    .label = Merge into one tex file\n"
  },
  {
    "path": "addon/locale/en-US/linkCreator.ftl",
    "content": "title =\n    .title = Link Creator\ntab-inbound =\n    .label = Mention in\ntab-outbound =\n    .label = Link to\n\ninbound-step1-content = Step 1. Mention in note:\ninbound-step2-content = Step 2. Insert to:\ninbound-step3-content = Step 3. Preview:\ninbound-step3-middle =\n    { $show ->\n        [true] mentions\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = Step 1. Link to note:\noutbound-step2-content = Step 2. Insert to:\noutbound-step3-content = Step 3. Preview:\noutbound-step3-middle =\n    { $show ->\n        [true] links to\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️Cursor (L{ $line })\n"
  },
  {
    "path": "addon/locale/en-US/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = Sync Manager\nmenuTools-templateEditor =\n    .label = Template Editor\nmenuTools-importTemplateFromClipboard =\n    .label = New Template from Clipboard\n\nmenuFile-exportTemplate =\n    .label = Export Template...\n\nmenuHelp-openUserGuide =\n    .label = Open Better Notes User Guide\n\nmenuAddNote-importMD =\n    .label = Import from MarkDown File\nmenuAddNote-newTemplateStandaloneNote =\n    .label = New Standalone Note from Template\nmenuAddNote-newTemplateItemNote =\n    .label = New Item Note from Template\n\nmenuTab-moveNewWindow =\n    .label = Move to BN New Window\nmenu-openNoteAsBNWindow =\n    .label = Open Note in BN New Window\n"
  },
  {
    "path": "addon/locale/en-US/notePreview.ftl",
    "content": "note-preview-header =\n    .label = Note Preview\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = Open note\nnote-preview-close =\n    .tooltiptext = Close\nnote-preview-full =\n    .tooltiptext = Toggle full height\n"
  },
  {
    "path": "addon/locale/en-US/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = Relation Graph\nnote-relation-sidenav =\n    .tooltiptext = Relation Graph\nnote-relation-refresh =\n    .tooltiptext = Refresh\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Inbound Link\n            *[other] { $count } Inbound Links\n        }\nnote-inbound-sidenav =\n    .tooltiptext = Inbound Links\nnote-inbound-refresh =\n    .tooltiptext = Refresh\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Outbound Link\n            *[other] { $count } Outbound Links\n        }\nnote-outbound-sidenav =\n    .tooltiptext = Outbound Links\nnote-outbound-refresh =\n    .tooltiptext = Refresh\n"
  },
  {
    "path": "addon/locale/en-US/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = Toggle Outline Pane\nsetOutline =\n    .tooltiptext = Change outline mode\nuseTreeView = \n    .label = Tree View\nuseMindMap = \n    .label = Mind Map\nuseBubbleMap = \n    .label = Bubble Map\nsaveOutline =\n    .tooltiptext = Save as...\nsaveOutlineImage =\n    .label = Outline image\n    .tooltiptext = Only in mind map/bubble map mode\nsaveOutlineSVG =\n    .label = Outline SVG\n    .tooltiptext = Only in mind map/bubble map mode\nsaveOutlineFreeMind =\n    .label = Outline FreeMind\nsaveMore =\n    .label = Markdown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/en-US/preferences.ftl",
    "content": "basic-title = Basic\nbasic-exportNotes-takeover =\n    .label = Take over exporting notes\n\neditor-title = Note Editor\neditor-expandLevel-label = Outline expand to heading level\neditor-keepLinks = \n    .label = Show note links in outline\neditor-noteLinkPreviewType = Show preview for note link when:\neditor-noteLinkPreview-hover = \n    .label = Hover\neditor-noteLinkPreview-ctrl = \n    .label = Press { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = Never\neditor-useMagicKey = \n    .label = Use magic key \"/\" to show command palette\neditor-useMagicKeyShortcut = \n    .label = Use { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" to show command palette\neditor-useMarkdownPaste = \n    .label = Use enhanced markdown paste\neditor-pinTable-label = Pin table's\neditor-pinTableLeft =\n    .label = First column\neditor-pinTableTop =\n    .label = First row when scrolling\n\nsync-title = Sync\nsync-period-label = Auto-sync period (seconds)\nsync-attachmentFolder-label = Attachment folder\nsync-manager =\n    .label = Open Sync Manager\ntemplate-title = Template\ntemplate-editor =\n    .label = Open Template Editor\nannotation-title = PDF Annotation\nannotation-autoAnnotation =\n    .label = Automatically add new annotations to workspace note\n\nannotationNote-title = Note from Annotation\nannotationNote-enableTagSync = \n    .label = Keep tags of note from annotation in sync with the original annotation\n\nabout-title = About\nhelp =\n    .value = { $name } VERSION { $version } Build { $time }"
  },
  {
    "path": "addon/locale/en-US/syncDiff.ftl",
    "content": "title = Note Sync Conflict Resolution\n\ndiff-desc = Merge the changes from:\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = Keep Both\n    .title = Keep changes from both sides\n\nlist-header = Pick Changes to Keep\nlist-selectAll = Select All\n\ndiff-header = Raw Note\n\nrendered-header = Rendered Note\n\nfinish =\n    .label = Resolve Conflict\n    .tooltiptext = Save the selected changes and update the note and the markdown file.\nunsync =\n    .label = Stop Syncing This Note\n    .tooltiptext = Remove the note from the sync list and keep the local changes.\nskip =\n    .label = Skip For Now\n    .tooltiptext = Skip this note and keep the local changes until the next sync."
  },
  {
    "path": "addon/locale/en-US/syncManager.ftl",
    "content": "title = Sync Manager\nrefresh = \n    .label = Refresh\n    .tooltiptext = Refresh the list of notes\nsync = \n    .label = Sync\n    .tooltiptext = Sync the selected notes immediately\nunSync = \n    .label = Unsync\n    .tooltiptext = Unsync the selected notes\ndetect = \n    .label = Detect...\n    .tooltiptext = Detect synced notes from folder\n"
  },
  {
    "path": "addon/locale/en-US/templateEditor.ftl",
    "content": "title = Template Editor\n\ntemplateType = Template Type\n\ntemplateType-item =\n    .label = Item\ntemplateType-text =\n    .label = Text\ntemplateType-system =\n    .label = Builtin\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = Detailed explanation of template types\n\ntemplateName = Template Name\n\npreviewContainer = \n    .label = Preview\ncreate = \n    .label = New\nsave = \n    .label = Save\ndelete = \n    .label = Delete\nreset = \n    .label = Reset\nshare = \n    .label = Share\n    .tooltiptext = Copy template share code to clipboard\nmore = \n    .label = More Templates\n    .title = Get more templates online\n\noptions = \n    .label = Options\nimportClipboard = \n    .label = Import template: from template share code in clipboard\nimportNote = \n    .label = Import template: from existing note\nbackup = \n    .label = Export backup file\nrestore = \n    .label = Restore from backup file\nhelp = \n    .label = Help\n\nformat-bold = \n    .title = Bold\nformat-italic =\n    .title = Italic\nformat-strikethrough =\n    .title = Strike-through\nformat-underline =\n    .title = Underline\nformat-superscript =\n    .title = Superscript\nformat-subscript =\n    .title = Subscript\nformat-textColor =\n    .title = Text color\nformat-link =\n    .title = Link\nformat-quote =\n    .title = Quote\nformat-monospaced =\n    .title = Monospace\nformat-code =\n    .title = Code block\nformat-table =\n    .title = Table\nformat-h1 =\n    .title = Level 1 heading\nformat-h2 =\n    .title = Level 2 heading\nformat-h3 =\n    .title = Level 3 heading\nformat-bullet =\n    .title = Bullet list\nformat-numbered =\n    .title = Numbered list\nformat-inlineMath =\n    .title = Inline math formula\nformat-blockMath =\n    .title = Multi-line math formula\nformat-inlineScript =\n    .title = Add an inline JS script, the result of which will be embedded in the note\nformat-blockScript =\n    .title = Add a multi-line async JS script, the return value of which will be embedded in the note\n\nsnippet-useMarkdown = use markdown\n    .title = Parse the template as markdown\nsnippet-useRefresh = use refresh\n    .title = Allow the content generated by the template to be refreshed\nsnippet-dryRunFlag = dry run flag\n    .title = Check if the template is running in dry run mode, e.g. for preview. In dry run mode, the script should not have side effects.\nsnippet-itemBeforeLoop = before loop\n    .title = Content to be rendered before the loop of items\nsnippet-itemInLoop = in loop\n    .title = Content to be rendered for each item in the loop\nsnippet-itemAfterLoop = after loop\n    .title = Content to be rendered after the loop of items\n\n-variable-type = Type\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = string\n-variable-object = object\n-variable-function = function\n\nsnippet-itemItems = items\n    .title = { -variable-type }: { -variable-item }[]. The array of items to be rendered, available in beforeLoop and afterLoop stage\nsnippet-itemItem = item\n    .title = { -variable-type }: { -variable-item }. The current item to be rendered, available in inLoop stage\nsnippet-itemTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `item`, available in inLoop stage\nsnippet-itemTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached, available in any stage\nsnippet-itemCopyNoteImage = copy note image\n    .title = { -variable-type }: { -variable-function }. Copy the image of the note to the clipboard, available in any stage\nsnippet-itemSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data across different stages\nsnippet-itemFieldTitle = title\n    .title = { -variable-type }: { -variable-string }. The title of the top item\nsnippet-itemFieldAbstract = abstract\n    .title = { -variable-type }: { -variable-string }. The abstract of the top item\nsnippet-itemFieldCitKey = citation key\n    .title = { -variable-type }: { -variable-string }. The citation key of the top item\nsnippet-itemFieldDate = date\n    .title = { -variable-type }: { -variable-string }. The publication date of the top item\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }: { -variable-string }. The DOI of the top item\nsnippet-itemFieldDOIURL = DOI or URL\n    .title = { -variable-type }: { -variable-string }. The DOI or URL of the top item\nsnippet-itemFieldAuthors = authors\n    .title = { -variable-type }: { -variable-string }. The authors of the top item\nsnippet-itemFieldJournal = journal\n    .title = { -variable-type }: { -variable-string }. The journal of the top item\nsnippet-itemFieldTitleTranslation = title translation\n    .title = { -variable-type }: { -variable-string }. The title translation of the top item\nsnippet-textTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-textSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data\nsnippet-quickInsertLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be linked\nsnippet-quickInsertLinkText = link text\n    .title = { -variable-type }: { -variable-string }. The default label of the link\nsnippet-quickInsertSubNoteItem = linked note\n    .title = { -variable-type }: { -variable-note }. The note item to be linked to\nsnippet-quickInsertNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickImportLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be imported\nsnippet-quickImportNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickNoteAnnotationItem = annotation\n    .title = { -variable-type }: { -variable-annotation }. The annotation item to be converted to a note\nsnippet-quickNoteTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `annotationItem`\nsnippet-quickNoteNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-exportMDFileNameNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileHeaderNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentMDContent = markdown content\n    .title = { -variable-type }: { -variable-string }. The markdown content to be exported\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. The LaTeX content to be exported\n"
  },
  {
    "path": "addon/locale/en-US/workspaceWindow.ftl",
    "content": "title = Note Workspace\n"
  },
  {
    "path": "addon/locale/it-IT/addon.ftl",
    "content": "pref-title = Better Notes\n\nmenuEditor-resizeImage = Ridimensiona immagine\nmenuEditor-copy =  Copia link della nota...\nmenuEditor-copyLine = Copia link della riga { $line }\nmenuEditor-copySection = Copia link della sezione { $section }\n\ntemplateEditor-templateType = Tipo\ntemplateEditor-templateName = Nome\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Inserimento rapido (Link)\n    .QuickImportV2 = Importazione rapida (Inserisci)\n    .QuickNoteV5 = Nota rapida (Da annotazione)\n    .ExportMDFileNameV2 = Esporta il nome del file\n    .ExportMDFileHeaderV2 = Esporta l'intestazione del file MD\n    .ExportMDFileContent = Esporta il contenuto del file MD\n    .ExportLatexFileContent = Export Latex File Content\n\ntemplateEditor-templateDisplayType =\n    .system = Integrato\n    .item = Elemento\n    .text = Testo\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = Per scopi specifici, ad esempio generare link a una nota.\n    .item = Può generare una porzione di nota da uno o più elementi di origine.\n    .text = Può generare una porzione di nota. Non richiede alcun input.\n\nsyncManager-noteName = Nome nota\nsyncManager-lastSync = Ultima sincronizzazione\nsyncManager-filePath = Percorso MarkDown\nsyncManager-detectConfirmInfo = Individuati {$total} file markdown sincronizzati nella cartella {$dir}\n    {$new} nuovo/i, {$current} da aggiornare.\n    Vuoi procedere con la modifica?\n\nsyncInfo-syncTo = Percorso MarkDown\nsyncInfo-lastSync = Ultima sincronizzazione\nsyncInfo-sync = Sincronizza\nsyncInfo-unSync = Interrompi sincronizzazione\nsyncInfo-reveal = Mostra nella cartella\nsyncInfo-manager = Manager di sincronizzazione\nsyncInfo-export = Esporta come...\nsyncInfo-cancel = Chiudi\n\nfileInterface-sync = Sincronizza in\n\nsync-start-hint = La sincronizzazione automatica delle note è avviata ogni\nsync-stop-hint = La sincronizzazione automatica delle note è disabilitata\nsync-running-hint-title = Sincronizzazione note\nsync-running-hint-check = Controlla status\nsync-running-hint-updateMD = Aggiorna MarkDown\nsync-running-hint-updateNote = Aggiorna Note\nsync-running-hint-diff = Conferma unione\nsync-running-hint-finish = Terminato\nsync-running-hint-synced = Sincronizzato\nsync-running-hint-upToDate = Aggiornato\n\nworkspace-switchOutline = Cambia modalità dello schema\nworkspace-saveOutlineImage = Salva immagine\nworkspace-saveOutlineFreeMind = Salva mappa mentale\nworkspace-emptyWorkspaceGuideInfo = Nessuna nota aperta nello spazio di lavoro.\nworkspace-emptyWorkspaceGuideOpen = Scegli una nota da aprire\nworkspace-emptyWorkspaceGuideOr = o\nworkspace-emptyWorkspaceGuideCreate = Crea una nuova nota\n\neditor-toolbar-settings-openAsTab = Apri Nota in nuova scheda\neditor-toolbar-settings-openAsWindow = Apri Nota in nuova finestra di BN\neditor-toolbar-settings-showInLibrary = Mostra nella biblioteca\neditor-toolbar-settings-insertTemplate = Inserisci template\neditor-toolbar-settings-refreshTemplates = Aggiorna il contenuto dal template\neditor-toolbar-settings-copyLink = Copia link (L{ $line })\neditor-toolbar-settings-copyLinkAtSection = Copia link (Sez. { $section })\neditor-toolbar-settings-openParent = Apri allegato\neditor-toolbar-settings-export = Esporta nota corrente...\neditor-toolbar-settings-refreshSyncing = Sincronizza ora\neditor-toolbar-settings-updateRelatedNotes = Aggiorna note correlate\n\ntemplatePicker-itemData-info = sono in uso nella biblioteca. Si prega di selezionare la sorgente dei dati:\ntemplatePicker-itemData-useLibrary = Usa gli elementi selezionati nella biblioteca\ntemplatePicker-itemData-useCustom = Altro.\ntemplatePicker-itemData-title = Scegli la sorgente dei dati del template dell'elemento\n\nalert-notValidCollectionError = Si prega di scegliere una collezione valida.\nalert-notValidParentItemError = Nessun elemento genitore valido.\nalert-syncImportedNotes = Si desidera sincronizzare le note importate con i file markdown?\nalert-linkCreator-emptyNote = Non è possibile creare un link da/a una nota vuota. \nalert-templateEditor-shouldImport = Sembra che tu stia cercando di salvare direttamente un codice di condivisione di un template di nota. Vuoi importarlo come template?\nalert-templateEditor-unsaved = You have unsaved changes in the template editor. Do you want to save them?\n\nuserGuide-start-title = Questo è Better Notes!\nuserGuide-start-desc = Better Notes è un potente strumento di gestione delle note che ti può aiutare a organizzare pensieri e idee durante la lettura di articoli scientifici. Questa guida ti aiuterà a prendere confidenza con Better Notes e ti mostrerà come usare al meglio le sue funzioni.\nuserGuide-start-close = Ricordami più tardi\nuserGuide-createNoteButton-title = Crea una nuova nota\nuserGuide-createNoteButton-desc = Puoi creare una nuova nota da qui: vuota o da un template.\nuserGuide-createNote-title = Crea una nuova nota\nuserGuide-createNote-desc = Sembra che tu non abbia ancora alcuna nota, creiamone una.\nuserGuide-createNoteFound-desc = Sono state trovate delle note nella tua biblioteca. Apriamone una come esempio.\nuserGuide-openNote-title = Apri nota\nuserGuide-openNote-desc = Puoi aprire una nota nella scheda di lavoro di Better Notes facendo doppio click su di essa.\nuserGuide-openNote-next = Apri nota\nuserGuide-workspace-title = Scheda della nota di lavoro\nuserGuide-workspace-desc = La scheda della nota è il luogo dove puoi modificare il contenuto della nota, vederne lo schema e gestirne le relazioni.\nuserGuide-workspaceEditor-title = Editor delle note\nuserGuide-workspaceEditor-desc = L'editor supporta testo ricco, righe di codice, codice matematico e altro.\nuserGuide-workspaceEditorToolbar-title = Editor delle note - Barra degli strumenti\nuserGuide-workspaceEditorToolbar-desc = La Barra degli strumenti fornisce un rapido accesso alle funzioni di editing più comuni.\n    Puoi impostare le intestazioni, il colore del testo o dello sfondo, lo stile e inserire link o riferimenti.\nuserGuide-workspaceEditorLinkCreator-title = Editor delle note - Creazione guidata link\nuserGuide-workspaceEditorLinkCreator-desc = Con la creazione guidata dei link puoi creare un collegamento da/a un'altra nota.\nuserGuide-workspaceEditorMoreOptions-title = Editor delle note - Altre opzioni\nuserGuide-workspaceEditorMoreOptions-desc = Apri la nota in una nuova finestra, mostrala nella biblioteca, inserisci un template, copia il link, esporta la nota e altro.\nuserGuide-workspaceOutline-title = Schema\nuserGuide-workspaceOutline-desc = Lo schema mostra la struttura della nota. Puoi navigare tra le sezioni facendo click su una di esse.\nuserGuide-workspaceOutlineMode-title = Modalità dello schema\nuserGuide-workspaceOutlineMode-desc = Cambia la modalità dello schema per visualizzare la struttura della nota in modi diversi.\nuserGuide-workspaceOutlineSaveAs-title = Salva come\nuserGuide-workspaceOutlineSaveAs-desc = Puoi esportare la nota in diversi formati, come PDF, Markdown, MS Word, mind map e altri.\nuserGuide-workspaceNoteInfo-title = Informazioni della nota\nuserGuide-workspaceNoteInfo-desc = Puoi vedere, modificare e gestire i tag della nota, le relazioni e i link.\nuserGuide-finish-title = Fine del tutorial!\nuserGuide-finish-desc = Divertiti a usare Better Notes!\n    Puoi visualizzare nuovamente il tutorial dal menu aiuto.\n"
  },
  {
    "path": "addon/locale/it-IT/exportNotes.ftl",
    "content": "title =\n    .title = Esporta Note con Better Notes\n\ntarget =\n    .value = Destinazione: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }e {$left} in più.\n    }\nformat =\n    .value = Formato:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = Mappa Mentale\nformat-note = \n    .label = Nota Zotero\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = Mantieni collegamenti alle note(zotero://note/)\nlinks-embed =\n    .label = Incorpora note collegate nel contenuto\nlinks-standalone =\n    .label = Converti note collegate in esportazioni autonome\nlinks-remove =\n    .label = Rimuovi collegamenti alle note\n\nmarkdown-autoSync =\n    .label = Imposta sincronizzazione automatica per ogni nota\n    .title = La sincronizzazione automatica è disponibile per la modalità \"Converti note collegate in esportazioni autonome\".\nmarkdown-withYAMLHeader =\n    .label = Con intestazione YAML\nmarkdown-autoFilename =\n    .label = Genera automaticamente il nome del file\n\nuseDefaultExport =\n    .label = Usa l'esportazione predefinita di Zotero\n    .tooltiptext = Esporta note senza le opzioni avanzate fornite da Better Notes.\n\nlatex-merge =\n    .label = Unisci in un unico file tex"
  },
  {
    "path": "addon/locale/it-IT/linkCreator.ftl",
    "content": "title =\n    .title = Creazione guidata link\ntab-inbound =\n    .label = Riferimento in\ntab-outbound =\n    .label = Collega a\n\ninbound-step1-content = Step 1. Riferimento nella nota:\ninbound-step2-content = Step 2. Inserisci link a:\ninbound-step3-content = Step 3. Anteprima:\ninbound-step3-middle =\n    { $show ->\n        [true] riferimenti\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = Step 1. Link alla nota:\noutbound-step2-content = Step 2. Inserisci link a:\noutbound-step3-content = Step 3. Anteprima:\noutbound-step3-middle =\n    { $show ->\n        [true] link a\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️Cursore (L{ $line })\n"
  },
  {
    "path": "addon/locale/it-IT/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = Gestione Sincronizzazione\nmenuTools-templateEditor =\n    .label = Editor Template\nmenuTools-importTemplateFromClipboard =\n    .label = Nuovo Template dagli Appunti\n\nmenuFile-exportTemplate =\n    .label = Esporta Template...\n\nmenuHelp-openUserGuide =\n    .label = Apri Guida Utente Better Notes\n\nmenuAddNote-importMD =\n    .label = Importa da File MarkDown\nmenuAddNote-newTemplateStandaloneNote =\n    .label = Nuova Nota Indipendente da Template\nmenuAddNote-newTemplateItemNote =\n    .label = Nuova Nota Elemento da Template\n\nmenuTab-moveNewWindow =\n    .label = Move to BN New Window\nmenu-openNoteAsBNWindow =\n    .label = Apri Nota in nuova finestra di BN\n"
  },
  {
    "path": "addon/locale/it-IT/notePreview.ftl",
    "content": "note-preview-header =\n    .label = Anteprima della nota\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = Apri nota\nnote-preview-close =\n    .tooltiptext = Chiudi\nnote-preview-full =\n    .tooltiptext = Passa ad altezza piena\n"
  },
  {
    "path": "addon/locale/it-IT/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = Grafico delle relazioni\nnote-relation-sidenav =\n    .tooltiptext = Grafico delle relazioni\nnote-relation-refresh =\n    .tooltiptext = Aggiorna\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Link in ingresso\n            *[other] { $count } Link in ingresso\n        }\nnote-inbound-sidenav =\n    .tooltiptext = Link in ingresso\nnote-inbound-refresh =\n    .tooltiptext = Aggiorna\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Link in uscita\n            *[other] { $count } Link in uscita\n        }\nnote-outbound-sidenav =\n    .tooltiptext = Link in uscita\nnote-outbound-refresh =\n    .tooltiptext = Aggiorna\n"
  },
  {
    "path": "addon/locale/it-IT/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = Toggle Outline Pane\nsetOutline =\n    .tooltiptext = Cambia modalità dello schema\nuseTreeView = \n    .label = Vista ad albero\nuseMindMap = \n    .label = Mappa mentale\nuseBubbleMap = \n    .label = Mappa a bolle\nsaveOutline =\n    .tooltiptext = Salva come...\nsaveOutlineImage =\n    .label = Immagine dello schema\n    .tooltiptext = Solo in modalità mappa mentale/a bolle\nsaveOutlineSVG =\n    .label = SVG dello schema\n    .tooltiptext = Solo in modalità mappa mentale/a bolle\nsaveOutlineFreeMind =\n    .label = Schema FreeMind\nsaveMore =\n    .label = MarkDown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/it-IT/preferences.ftl",
    "content": "basic-title = Basic\nbasic-exportNotes-takeover =\n    .label = Take over exporting notes\n\neditor-title = Editor delle note\neditor-expandLevel-label = Espansione dello schema al livello delle intestazioni\neditor-keepLinks = \n    .label = Mostra i collegamenti delle note nello schema\neditor-noteLinkPreviewType = Show preview for note link when:\neditor-noteLinkPreview-hover = \n    .label = Hover\neditor-noteLinkPreview-ctrl = \n    .label = Press { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = Never\neditor-useMagicKey = \n    .label = Usa il tasto magico \"/\" per mostrare il pannello dei comandi\neditor-useMagicKeyShortcut = \n    .label = Usa il tasto { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" per mostrare il pannello dei comandi\neditor-useMarkdownPaste = \n    .label = Usa l'incolla markdown avanzato\neditor-pinTable-label = Pin table's\neditor-pinTableLeft =\n    .label = First column\neditor-pinTableTop =\n    .label = First row when scrolling\n\nsync-title = Sincronizzazione\nsync-period-label = Intervallo della sincronizzazione automatica (secondi)\nsync-attachmentFolder-label = Cartella degli allegati\nsync-manager =\n    .label = Apri Manager di sincronizzazione\ntemplate-title = Template\ntemplate-editor =\n    .label = Apri Editor dei template\nannotation-title = Annotazione PDF\nannotation-autoAnnotation =\n    .label = Aggiungi automaticamente le nuove annotazioni alla nota di lavoro\n\nannotationNote-title = Note from Annotation\nannotationNote-enableTagSync = \n    .label = Mantieni i tag di una nota derivata da un'annotazione sincronizzati con l'annotazione di origine\n\nabout-title = Informazioni su Better Notes\nhelp =\n    .value = { $name } VERSION { $version } Build { $time }\n"
  },
  {
    "path": "addon/locale/it-IT/syncDiff.ftl",
    "content": "title = Note Sync Conflict Resolution\n\ndiff-desc = Merge the changes from:\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = Keep Both\n    .title = Keep changes from both sides\n\nlist-header = Pick Changes to Keep\nlist-selectAll = Select All\n\ndiff-header = Raw Note\n\nrendered-header = Rendered Note\n\nfinish =\n    .label = Resolve Conflict\n    .tooltiptext = Save the selected changes and update the note and the markdown file.\nunsync =\n    .label = Stop Syncing This Note\n    .tooltiptext = Remove the note from the sync list and keep the local changes.\nskip =\n    .label = Skip For Now\n    .tooltiptext = Skip this note and keep the local changes until the next sync.\n"
  },
  {
    "path": "addon/locale/it-IT/syncManager.ftl",
    "content": "title = Manager di sincronizzazione\nrefresh = \n    .label = Aggiorna\n    .tooltiptext = Aggiorna la lista delle note\nsync = \n    .label = Sincronizza\n    .tooltiptext = Sincronizza ora le note selezionate\nunSync = \n    .label = Interrompi sincronizzazione\n    .tooltiptext = Interrompi la sincronizzazione per le note selezionate\ndetect = \n    .label = Individua...\n    .tooltiptext = Individua note sincronizzate nella cartella\n"
  },
  {
    "path": "addon/locale/it-IT/templateEditor.ftl",
    "content": "title = Editor dei template\n\ntemplateType = Tipo di Template\n\ntemplateType-item =\n    .label = Elemento\ntemplateType-text =\n    .label = Testo\ntemplateType-system =\n    .label = Integrato\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = Spiegazioni dettagliate sui tipi di template\n\ntemplateName = Nome template\n\npreviewContainer = \n    .label = Anteprima\ncreate = \n    .label = Nuovo\nsave = \n    .label = Salva\ndelete = \n    .label = Elimina\nreset = \n    .label = Ripristina\nshare = \n    .label = Share\n    .tooltiptext = Copia codice di condivisione template negli appunti\nmore = \n    .label = Altri Template\n    .title = Ottieni altri template online\n\noptions = \n    .label = Opzioni\nimportClipboard = \n    .label = Importa template: da il codice di condivisione template negli appunti\nimportNote = \n    .label = Importa template: da nota esistente\nbackup = \n    .label = Esporta file di backup\nrestore = \n    .label = Ripristina da file di backup\nhelp = \n    .label = Aiuto\n\nformat-bold = \n    .title = Grassetto\nformat-italic =\n    .title = Corsivo\nformat-strikethrough =\n    .title = Barrato\nformat-underline =\n    .title = Sottolineato\nformat-superscript =\n    .title = Apice\nformat-subscript =\n    .title = Pedice\nformat-textColor =\n    .title = Colore del testo\nformat-link =\n    .title = Link\nformat-quote =\n    .title = Citazione\nformat-monospaced =\n    .title = Testo monospaziato\nformat-code =\n    .title = Codice\nformat-table =\n    .title = Tabella\nformat-h1 =\n    .title = Intestazione di livello 1\nformat-h2 =\n    .title = Intestazione di livello 2\nformat-h3 =\n    .title = Intestazione di livello 3\nformat-bullet =\n    .title = Elenco puntato\nformat-numbered =\n    .title = Elenco numerato\nformat-inlineMath =\n    .title = Formula matematica in linea\nformat-blockMath =\n    .title = Formula matematica multilinea\nformat-inlineScript =\n    .title = Aggiungi uno script JS in-linea, e inserisci il risultato nella nota\nformat-blockScript =\n    .title = Aggiungi uno script JS multi-linea, e inserisci il valore risultante nella nota\n\nsnippet-useMarkdown = usa markdown\n    .title = Elabora il template come markdown\nsnippet-useRefresh = abilita aggiornamento\n    .title = Permetti al contenuto generato dal template di essere aggiornato\nsnippet-dryRunFlag = esecuzione simulata\n    .title = Verifica che il template sia in modalità simulata, ad esempio come anteprima. In modalità di esecuzione simulata, lo script non apporta modifiche e quindi non dovrebbe avere effetti indesiderati.\nsnippet-itemBeforeLoop = prima del loop\n    .title = Contenuto da renderizzare prima del loop degli elementi\nsnippet-itemInLoop = nel loop\n    .title = Contenuto da renderizzare per ogni elemento del loop\nsnippet-itemAfterLoop = dopo il loop\n    .title = Contenuto da renderizzare dopo il loop degli elementi\n    .title = Markdown link, type `[` at the beginning and `](url)` at the end of your text. Should be used in markdown mode\n\n-variable-type = Type\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = string\n-variable-object = object\n-variable-function = function\n\nsnippet-itemItems = elementi\n    .title = { -variable-type }: { -variable-item }[]. L'array di elementi da renderizzare, disponibile negli stadi prima o dopo il loop\nsnippet-itemItem = elemento\n    .title = { -variable-type }: { -variable-item }. L'elemento da renderizzare, disponibile nello stadio nel loop\nsnippet-itemTopItem = elemento superiore\n    .title = { -variable-type }: { -variable-item }. Il genitore della variabile `elemento`, disponibile nello stadio nel loop\nsnippet-itemTargetNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota a cui è allegato il template, disponibile a qualsiasi stadio\nsnippet-itemCopyNoteImage = copia l'immagine della nota\n    .title = { -variable-type }: { -variable-function }. Copia l'immagine della nota negli appunti, disponibile a qualsiasi stadio\nsnippet-itemSharedObj = oggetto condiviso\n    .title = { -variable-type }: { -variable-object }. Un oggetto condiviso che può essere usato per memorizzare informazioni attraverso stadi differenti\nsnippet-itemFieldTitle = titolo\n    .title = { -variable-type }: { -variable-string }. Il titolo dell'elemento superiore\nsnippet-itemFieldAbstract = abstract\n    .title = { -variable-type }: { -variable-string }. L'abstract dell'elemento superiore\nsnippet-itemFieldCitKey = chiave di citazione\n    .title = { -variable-type }: { -variable-string }. La chiave di citazione dell'elemento superiore\nsnippet-itemFieldDate = data\n    .title = { -variable-type }: { -variable-string }. La data di pubblicazione dell'elemento superiore\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }: { -variable-string }. Il DOI dell'elemento superiore\nsnippet-itemFieldDOIURL = DOI o URL\n    .title = { -variable-type }: { -variable-string }. Il DOI o l'URLdell'elemento superiore\nsnippet-itemFieldAuthors = autori\n    .title = { -variable-type }: { -variable-string }. Gli autori dell'elemento superiore\nsnippet-itemFieldJournal = rivista\n    .title = { -variable-type }: { -variable-string }. La rivista dell'elemento superiore\nsnippet-itemFieldTitleTranslation = traduzione del titolo\n    .title = { -variable-type }: { -variable-string }. La traduzione del titolo dell'elemento superiore\nsnippet-textTargetNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota bersaglio dell'elemento superiore\nsnippet-textSharedObj = oggetto condiviso\n    .title = { -variable-type }: { -variable-object }. Un oggetto condiviso che può essere usato per memorizzare informazioni\nsnippet-quickInsertLink = link della nota\n    .title = { -variable-type }: { -variable-string }. Il link della nota da collegare\nsnippet-quickInsertLinkText = testo del link\n    .title = { -variable-type }: { -variable-string }. L'etichetta predefinita del link\nsnippet-quickInsertSubNoteItem = nota collegata\n    .title = { -variable-type }: { -variable-note }. La nota a cui puntare il link\nsnippet-quickInsertNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota a cui allegare il template\nsnippet-quickImportLink = link della nota\n    .title = { -variable-type }: { -variable-string }. Il link della nota da importare\nsnippet-quickImportNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota a cui allegare il template\nsnippet-quickNoteAnnotationItem = annotazione\n    .title = { -variable-type }: { -variable-annotation }. L'annotazione da convertire in nota\nsnippet-quickNoteTopItem = elemento superiore\n    .title = { -variable-type }: { -variable-item }. L'elemento superiore della variabile `annotationItem`\nsnippet-quickNoteNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota a cui allegare il template\nsnippet-exportMDFileNameNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota da esportare\nsnippet-exportMDFileHeaderNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota da esportare\nsnippet-exportMDFileContentNoteItem = nota bersaglio\n    .title = { -variable-type }: { -variable-note }. La nota da esportare\nsnippet-exportMDFileContentMDContent = contenuto markdown\n    .title = { -variable-type }: { -variable-string }. Il contenuto markdown da esportare\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. The latex content to be exported\n"
  },
  {
    "path": "addon/locale/it-IT/workspaceWindow.ftl",
    "content": "title = Nota di lavoro\n"
  },
  {
    "path": "addon/locale/ru-RU/addon.ftl",
    "content": "pref-title=Better Notes\n\nmenuEditor-resizeImage=Изменить размер изображения\nmenuEditor-copy = Копировать ссылку на заметку...\nmenuEditor-copyLine = Копировать ссылку на строку { $line }\nmenuEditor-copySection = Копировать ссылку на раздел { $section }\n\ntemplateEditor-templateType = Type\ntemplateEditor-templateName = Name\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Quick Insert (Link)\n    .QuickImportV2 = Quick Import (Embed)\n    .QuickNoteV5 = Quick Note (From Annotation)\n    .ExportMDFileNameV2 = Export File Name\n    .ExportMDFileHeaderV2 = Export MD File Header\n    .ExportMDFileContent = Export MD File Content\n    .ExportLatexFileContent = Export Latex File Content\n\ntemplateEditor-templateDisplayType =\n    .system = Builtin\n    .item = Item\n    .text = Text\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = For specific purposes, e.g., generating note link.\n    .item = Can generate note fragments from one or more selected items as input.\n    .text = Can generate note fragments. It doesn't require any input.\n\neditor-resizeImage-title = Resize Image\neditor-resizeImage-prompt = Resize image width to:\neditor-previewImage-title = Preview Image\n\nsyncManager-noteName=Имя заметки\nsyncManager-lastSync=Последний Синк\nsyncManager-filePath=MarkDown путь\nsyncManager-detectConfirmInfo = {$total} synced markdown files detected in {$dir}\n    {$new} new, {$current} will be updated.\n    Do you want to apply the changes?\n\nsyncInfo-syncTo=MarkDown путь\nsyncInfo-lastSync=Последний Синк\nsyncInfo-sync=Синк\nsyncInfo-unSync=ДеСинк\nsyncInfo-reveal=Показать в папке\nsyncInfo-manager=Синк Менеджер\nsyncInfo-export=Экспортировать как...\nsyncInfo-cancel=Закрыть\n\nfileInterface-sync=Синк to\n\nsync-start-hint=Авто-Синк заметок включен каждые\nsync-stop-hint=Авто-Синк заметок отключен\nsync-running-hint-title=Синхронизация заметок\nsync-running-hint-check=Проверить статус\nsync-running-hint-updateMD=Обновить MarkDown\nsync-running-hint-updateNote=Обновить заметку\nsync-running-hint-diff=Подтвердить слияние\nsync-running-hint-finish=Финиш\nsync-running-hint-synced=Синхронизировано\nsync-running-hint-upToDate=Обновить\n\nworkspace-switchOutline=Переключить режим Набросок\nworkspace-saveOutlineImage=Сохранить изображение\nworkspace-saveOutlineFreeMind=Сохранить MindMap\nworkspace-emptyWorkspaceGuideInfo = No note opened in workspace.\nworkspace-emptyWorkspaceGuideOpen = Choose a note to open\nworkspace-emptyWorkspaceGuideOr = or\nworkspace-emptyWorkspaceGuideCreate = Create a new note\n\neditor-toolbar-settings-openAsTab = Open Заметка в новой вкладке\neditor-toolbar-settings-openAsWindow = Open Заметка в BN новом окне\neditor-toolbar-settings-showInLibrary = Показать в библиотеке\neditor-toolbar-settings-insertTemplate=Вставить шаблон\neditor-toolbar-settings-refreshTemplates = Update content from templates\neditor-toolbar-settings-copyLink = Копировать Ссылку (L{ $line })\neditor-toolbar-settings-copyLinkAtSection = Копировать Ссылку (Sec. { $section })\neditor-toolbar-settings-openParent=Открыть вложение\neditor-toolbar-settings-export=Экспортировать текущую заметку...\neditor-toolbar-settings-refreshSyncing=Синхронизировать сейчас\neditor-toolbar-settings-updateRelatedNotes = Update Related Notes\n\ntemplatePicker-itemData-info=выбрано в библиотеке. Выберите источник данных:\ntemplatePicker-itemData-useLibrary=Использовать выбранные записи в библиотеке\ntemplatePicker-itemData-useCustom=Выбрать другой...\ntemplatePicker-itemData-title=Выбрать источник данных шаблона записи\n\nalert-notValidCollectionError=Выберите валидную коллекцию.\nalert-notValidParentItemError=Нет валидного родительского элемента.\nalert-syncImportedNotes = Синхронизировать импортированные заметки с файлами MarkDown?\nalert-linkCreator-emptyNote = Cannot create link from/to an empty note. \nalert-templateEditor-shouldImport = Вы пытаетесь сохранить код шаблона заметки. Хотите импортировать его как шаблон?\nalert-templateEditor-unsaved = You have unsaved changes in the template editor. Do you want to save them?\n\nuserGuide-start-title = Welcome to Better Notes!\nuserGuide-start-desc = Better Notes is a powerful note-taking tool that helps you organize your thoughts and ideas while reading papers. This guide will help you get started with Better Notes and show you how to make the most of its features.\nuserGuide-start-close = Remind me later\nuserGuide-createNoteButton-title = Create a New Note\nuserGuide-createNoteButton-desc = You can create a note here: blank or from a template.\nuserGuide-createNote-title = Create a New Note\nuserGuide-createNote-desc = Seems like you don't have any notes yet, let's create one.\nuserGuide-createNoteFound-desc = Found notes in your library. Let's open one as an example.\nuserGuide-openNote-title = Open note\nuserGuide-openNote-desc = You can open a note in Better Notes workspace tab by double-clicking it.\nuserGuide-openNote-next = Open Note\nuserGuide-workspace-title = Note Workspace Tab\nuserGuide-workspace-desc = The note tab is where you can edit your note content, view the outline, and manage the relations.\nuserGuide-workspaceEditor-title = Note Editor\nuserGuide-workspaceEditor-desc = The editor supports rich text editing, code block, math block, and more.\nuserGuide-workspaceEditorToolbar-title = Note Editor - Toolbar\nuserGuide-workspaceEditorToolbar-desc = The toolbar provides quick access to common editing functions.\n    You can set the heading, text/background color, text style, insert link or reference here.\nuserGuide-workspaceEditorLinkCreator-title = Note Editor - Link Creator\nuserGuide-workspaceEditorLinkCreator-desc = You can create a link from/to another note via the link creator.\nuserGuide-workspaceEditorMoreOptions-title = Note Editor - More Options\nuserGuide-workspaceEditorMoreOptions-desc = Open the note in a new window, show it in the library, insert a template, copy the link, export the note, and more.\nuserGuide-workspaceOutline-title = Outline\nuserGuide-workspaceOutline-desc = The outline shows the structure of the note. You can navigate to a section by clicking on it.\nuserGuide-workspaceOutlineMode-title = Outline Mode\nuserGuide-workspaceOutlineMode-desc = Switch to outline mode to view the note structure in a more compact way.\nuserGuide-workspaceOutlineSaveAs-title = Save As\nuserGuide-workspaceOutlineSaveAs-desc = You can export the note to multiple formats, including PDF, Markdown, MS Word, mind map, and more.\nuserGuide-workspaceNoteInfo-title = Note Info\nuserGuide-workspaceNoteInfo-desc = You can view, edit, and manage the note's tags, relations, and links.\nuserGuide-finish-title = We are all set!\nuserGuide-finish-desc = Enjoy your note-taking journey with Better Notes!\n    You can always run this guide again from the Help menu.\n"
  },
  {
    "path": "addon/locale/ru-RU/export.ftl",
    "content": "title=Экспорт Заметок\noptions-linkMode=Режим связанных заметок\noptions-MD=MarkDown(.md)\noptions-Docx=MS Word(.docx)\noptions-PDF=PDF(.pdf)\noptions-mm=Mind Map\noptions-note=Zotero Note\nembedLink=Все внедрённые в одном экспорте\nstandaloneLink=Каждый конвертированный в отдельный экспорт\nkeepLink=Сохранять Zotero ссылки(zotero://note/)\nexportMD=Экспорт MD файл(-ов)\nsetAutoSync=Установить Авто-синк\n    .title = Auto-Sync is available for \"Each Converted to Standalone Exports\" mode.\nwithYAMLHeader=С YAML заголовком\nautoMDFileName = Авто-имя MD файла\nexportDocx=Экспорт Docx файл\nexportPDF=Экспорт PDF файл\nexportFreeMind=Экспорт FreeMind файл\nexportNote=Экспорт в новый пункт Zotero Note\nconfirm=Экспорт\ncancel=Закрыть\ntarget=Цель: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }and {$left} more\n    }"
  },
  {
    "path": "addon/locale/ru-RU/exportNotes.ftl",
    "content": "title =\n    .title = Экспорт заметок с Better Notes\n\ntarget =\n    .value = Цель: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }и еще {$left}.\n    }\nformat =\n    .value = Формат:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = Карта разума\nformat-note = \n    .label = Заметка Zotero\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = Сохранить ссылки на заметки(zotero://note/)\nlinks-embed =\n    .label = Встроить связанные заметки в содержимое\nlinks-standalone =\n    .label = Преобразовать связанные заметки в автономные экспорты\nlinks-remove =\n    .label = Удалить ссылки на заметки\n\nmarkdown-autoSync =\n    .label = Установить авто-синхронизацию для каждой заметки\n    .title = Авто-синхронизация доступна в режиме \"Преобразовать связанные заметки в автономные экспорты\".\nmarkdown-withYAMLHeader =\n    .label = С YAML заголовком\nmarkdown-autoFilename =\n    .label = Автоматически генерировать имя файла\n\nuseDefaultExport =\n    .label = Использовать стандартный экспорт Zotero\n    .tooltiptext = Экспортировать заметки без расширенных опций, предоставленных Better Notes.\n\nlatex-merge =\n    .label = Объединить в один tex-файл"
  },
  {
    "path": "addon/locale/ru-RU/linkCreator.ftl",
    "content": "title =\n    .title = Link Creator\ntab-inbound =\n    .label = Mention in\ntab-outbound =\n    .label = Link to\n\ninbound-step1-content = Step 1. Mention in note:\ninbound-step2-content = Step 2. Insert link to:\ninbound-step3-content = Step 3. Preview:\ninbound-step3-middle =\n    { $show ->\n        [true] mentions\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = Step 1. Link to note:\noutbound-step2-content = Step 2. Insert link to:\noutbound-step3-content = Step 3. Preview:\noutbound-step3-middle =\n    { $show ->\n        [true] links to\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️Cursor (L{ $line })\n"
  },
  {
    "path": "addon/locale/ru-RU/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = Менеджер синхронизации\nmenuTools-templateEditor =\n    .label = Редактор шаблонов\nmenuTools-importTemplateFromClipboard =\n    .label = Новый шаблон из буфера обмена\n\nmenuFile-exportTemplate =\n    .label = Экспорт шаблона...\n\nmenuHelp-openUserGuide =\n    .label = Открыть руководство пользователя Better Notes\n\nmenuAddNote-importMD =\n    .label = Импорт из файла MarkDown\nmenuAddNote-newTemplateStandaloneNote =\n    .label = Новая отдельная заметка из шаблона\nmenuAddNote-newTemplateItemNote =\n    .label = Новая заметка элемента из шаблона\n\nmenuTab-moveNewWindow =\n    .label = Move to BN New Window\nmenu-openNoteAsBNWindow =\n    .label = Open Заметка в BN новом окне\n"
  },
  {
    "path": "addon/locale/ru-RU/notePreview.ftl",
    "content": "note-preview-header =\n    .label = Note Preview\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = Open note\nnote-preview-close =\n    .tooltiptext = Close\nnote-preview-full =\n    .tooltiptext = Toggle full height\n"
  },
  {
    "path": "addon/locale/ru-RU/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = Relation Graph\nnote-relation-sidenav =\n    .tooltiptext = Relation Graph\nnote-relation-refresh =\n    .tooltiptext = Refresh\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Inbound Link\n            *[other] { $count } Inbound Links\n        }\nnote-inbound-sidenav =\n    .tooltiptext = Inbound Links\nnote-inbound-refresh =\n    .tooltiptext = Refresh\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Outbound Link\n            *[other] { $count } Outbound Links\n        }\nnote-outbound-sidenav =\n    .tooltiptext = Outbound Links\nnote-outbound-refresh =\n    .tooltiptext = Refresh\n"
  },
  {
    "path": "addon/locale/ru-RU/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = Toggle Outline Pane\nsetOutline =\n    .tooltiptext = Change outline mode\nuseTreeView = \n    .label = Tree View\nuseMindMap = \n    .label = Mind Map\nuseBubbleMap = \n    .label = Bubble Map\nsaveOutline =\n    .tooltiptext = Save as...\nsaveOutlineImage =\n    .label = Outline image\n    .tooltiptext = Only in mind map/bubble map mode\nsaveOutlineSVG =\n    .label = Outline SVG\n    .tooltiptext = Only in mind map/bubble map mode\nsaveOutlineFreeMind =\n    .label = Outline FreeMind\nsaveMore =\n    .label = MarkDown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/ru-RU/preferences.ftl",
    "content": "basic-title = Basic\nbasic-exportNotes-takeover =\n    .label = Take over exporting notes\n\neditor-title = Note Editor\neditor-expandLevel-label = Outline расширить до уровня заголовка\neditor-keepLinks = \n    .label = Сохранить ссылки\neditor-noteLinkPreviewType = Show preview for note link when:\neditor-noteLinkPreview-hover = \n    .label = Hover\neditor-noteLinkPreview-ctrl = \n    .label = Press { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = Never\neditor-useMagicKey =\n    .label = Использовать магическую клавишу \"/\" для отображения панели команд\neditor-useMagicKeyShortcut = \n    .label = Использовать клавишу { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" для отображения панели команд\neditor-useMarkdownPaste = \n    .label = Использовать расширенное вставление Markdown\neditor-pinTable-label = Pin table's\neditor-pinTableLeft =\n    .label = First column\neditor-pinTableTop =\n    .label = First row when scrolling\n\nsync-title = Синк\nsync-period-label = Авто-синк период (сек)\nsync-attachmentFolder-label = Attachment folder\nsync-manager =\n    .label = Открыть Синк менеджер\ntemplate-title = Шаблон\ntemplate-editor =\n    .label = Открыть  редактор шаблонов\nannotation-title = PDF Аннотация\nannotation-autoAnnotation =\n    .label = Автодобавлять новые аннотации к заметкам раб.пространства\n\nannotationNote-title = Note from Annotation\nannotationNote-enableTagSync = \n    .label = Keep tags of note from annotation in sync with the original annotation\n\nabout-title = About\nhelp =\n    .value = { $name } VERSION { $version } Build { $time }"
  },
  {
    "path": "addon/locale/ru-RU/syncDiff.ftl",
    "content": "title = Note Sync Conflict Resolution\n\ndiff-desc = Merge the changes from:\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = Keep Both\n    .title = Keep changes from both sides\n\nlist-header = Pick Changes to Keep\nlist-selectAll = Select All\n\ndiff-header = Raw Note\n\nrendered-header = Rendered Note\n\nfinish =\n    .label = Resolve Conflict\n    .tooltiptext = Save the selected changes and update the note and the markdown file.\nunsync =\n    .label = Stop Syncing This Note\n    .tooltiptext = Remove the note from the sync list and keep the local changes.\nskip =\n    .label = Skip For Now\n    .tooltiptext = Skip this note and keep the local changes until the next sync.\n"
  },
  {
    "path": "addon/locale/ru-RU/syncManager.ftl",
    "content": "title = Синк Менеджер\nrefresh = \n    .label = Обновить\n    .tooltiptext = Refresh the list of notes\nsync = \n    .label = Синк\n    .tooltiptext = Sync the selected notes immediately\nunSync = \n    .label = ДеСинк\n    .tooltiptext = Unsync the selected notes\ndetect = \n    .label = Detect...\n    .tooltiptext = Detect synced notes from folder\n"
  },
  {
    "path": "addon/locale/ru-RU/templateEditor.ftl",
    "content": "title = Редактор шаблонов\n\ntemplateType = Template Type\n\ntemplateType-item =\n    .label = Item\ntemplateType-text =\n    .label = Text\ntemplateType-system =\n    .label = Builtin\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = Detailed explanation of template types\n\ntemplateName = Имя шаблона\n\npreviewContainer = \n    .label = Предпросмотр\ncreate = \n    .label = Новая\nsave = \n    .label = Сохранить\ndelete = \n    .label = Удалить\nreset = \n    .label = Сброс\nshare = \n    .label = Share\n    .tooltiptext = Copy template share code to clipboard\nmore = \n    .label = Больше шаблонов\n    .title = Get more templates online\n\noptions = \n    .label = Options\nimportClipboard = \n    .label = Import template: from template share code in clipboard\nimportNote = \n    .label = Import template: from existing note\nbackup = \n    .label = Export backup file\nrestore = \n    .label = Restore from backup file\nhelp = \n    .label = Помощь\n\nformat-bold = \n    .title = Bold\nformat-italic =\n    .title = Italic\nformat-strikethrough =\n    .title = Strike-through\nformat-underline =\n    .title = Underline\nformat-superscript =\n    .title = Superscript\nformat-subscript =\n    .title = Subscript\nformat-textColor =\n    .title = Text color\nformat-link =\n    .title = Link\nformat-quote =\n    .title = Quote\nformat-monospaced =\n    .title = Monospace\nformat-code =\n    .title = Code block\nformat-table =\n    .title = Table\nformat-h1 =\n    .title = Level 1 heading\nformat-h2 =\n    .title = Level 2 heading\nformat-h3 =\n    .title = Level 3 heading\nformat-bullet =\n    .title = Bullet list\nformat-numbered =\n    .title = Numbered list\nformat-inlineMath =\n    .title = Inline math formula\nformat-blockMath =\n    .title = Multi-line math formula\nformat-inlineScript =\n    .title = Add an inline JS script, the result of which will be embedded in the note\nformat-blockScript =\n    .title = Add a multi-line async JS script, the return value of which will be embedded in the note\n\nsnippet-useMarkdown = use markdown\n    .title = Parse the template as markdown\nsnippet-useRefresh = use refresh\n    .title = Allow the content generated by the template to be refreshed\nsnippet-dryRunFlag = dry run flag\n    .title = Check if the template is running in dry run mode, e.g. for preview. In dry run mode, the script should not have side effects.\nsnippet-itemBeforeLoop = before loop\n    .title = Content to be rendered before the loop of items\nsnippet-itemInLoop = in loop\n    .title = Content to be rendered for each item in the loop\nsnippet-itemAfterLoop = after loop\n    .title = Content to be rendered after the loop of items\n\n-variable-type = Type\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = string\n-variable-object = object\n-variable-function = function\n\nsnippet-itemItems = items\n    .title = { -variable-type }: { -variable-item }[]. The array of items to be rendered, available in beforeLoop and afterLoop stage\nsnippet-itemItem = item\n    .title = { -variable-type }: { -variable-item }. The current item to be rendered, available in inLoop stage\nsnippet-itemTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `item`, available in inLoop stage\nsnippet-itemTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached, available in any stage\nsnippet-itemCopyNoteImage = copy note image\n    .title = { -variable-type }: { -variable-function }. Copy the image of the note to the clipboard, available in any stage\nsnippet-itemSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data across different stages\nsnippet-itemFieldTitle = title\n    .title = { -variable-type }: { -variable-string }. The title of the top item\nsnippet-itemFieldAbstract = abstract\n    .title = { -variable-type }: { -variable-string }. The abstract of the top item\nsnippet-itemFieldCitKey = citation key\n    .title = { -variable-type }: { -variable-string }. The citation key of the top item\nsnippet-itemFieldDate = date\n    .title = { -variable-type }: { -variable-string }. The publication date of the top item\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }: { -variable-string }. The DOI of the top item\nsnippet-itemFieldDOIURL = DOI or URL\n    .title = { -variable-type }: { -variable-string }. The DOI or URL of the top item\nsnippet-itemFieldAuthors = authors\n    .title = { -variable-type }: { -variable-string }. The authors of the top item\nsnippet-itemFieldJournal = journal\n    .title = { -variable-type }: { -variable-string }. The journal of the top item\nsnippet-itemFieldTitleTranslation = title translation\n    .title = { -variable-type }: { -variable-string }. The title translation of the top item\nsnippet-textTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-textSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data\nsnippet-quickInsertLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be linked\nsnippet-quickInsertLinkText = link text\n    .title = { -variable-type }: { -variable-string }. The default label of the link\nsnippet-quickInsertSubNoteItem = linked note\n    .title = { -variable-type }: { -variable-note }. The note item to be linked to\nsnippet-quickInsertNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickImportLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be imported\nsnippet-quickImportNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickNoteAnnotationItem = annotation\n    .title = { -variable-type }: { -variable-annotation }. The annotation item to be converted to a note\nsnippet-quickNoteTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `annotationItem`\nsnippet-quickNoteNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-exportMDFileNameNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileHeaderNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentMDContent = markdown content\n    .title = { -variable-type }: { -variable-string }. The markdown content to be exported\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. The latex content to be exported\n"
  },
  {
    "path": "addon/locale/ru-RU/workspaceWindow.ftl",
    "content": "title = Раб. пространство заметок\n"
  },
  {
    "path": "addon/locale/tr-TR/addon.ftl",
    "content": "pref-title = Better Notes\n\nmenuEditor-resizeImage = Resmi Boyutlandır\nmenuEditor-copy = Not Bağlantısını Kopyala...\nmenuEditor-copyLine = Bağlantıyı Kopyala (Satır { $line })\nmenuEditor-copySection = Bağlantıyı Kopyala (Başlık { $section })\n\ntemplateEditor-templateType = Type\ntemplateEditor-templateName = Name\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Quick Insert (Link)\n    .QuickImportV2 = Quick Import (Embed)\n    .QuickNoteV5 = Quick Note (From Annotation)\n    .ExportMDFileNameV2 = Export File Name\n    .ExportMDFileHeaderV2 = Export MD File Header\n    .ExportMDFileContent = Export MD File Content\n    .ExportLatexFileContent = Export Latex File Content\n\ntemplateEditor-templateDisplayType =\n    .system = Builtin\n    .item = Item\n    .text = Text\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = For specific purposes, e.g., generating note link.\n    .item = Can generate note fragments from one or more selected items as input.\n    .text = Can generate note fragments. It doesn't require any input.\n\neditor-resizeImage-title = Resmi Boyutlandır\neditor-resizeImage-prompt = Resmi Şuna Boyutlandır:\neditor-previewImage-title = Resmi Önizle\n\nsyncManager-noteName = Not Adı\nsyncManager-lastSync = Son Eşitleme\nsyncManager-filePath = MarkDown Dosya Yolu\nsyncManager-detectConfirmInfo = {$dir} dosya yolunda toplam {$total} adet eşitlenmiş Markdown dosyası bulundu. \n    {$new} Yeni, {$current} dosya güncellenecek.\n    Değişiklikleri uygulamak istediğinizden emin misiniz?\n\nsyncInfo-syncTo = MarkDown Dosya Yolu\nsyncInfo-lastSync = Son Eşitleme\nsyncInfo-sync = Eşitle\nsyncInfo-unSync = Eşitlemeyi Kaldır\nsyncInfo-reveal = Klasörde Göster\nsyncInfo-manager = Eşitleme Yöneticisi\nsyncInfo-export = ...olarak dışa aktar\nsyncInfo-cancel = Kapat\n\nfileInterface-sync = Şuna Senkronize Et\n\nsync-start-hint = Not Oto Senkronizasyonu her bir için aktive edildi\nsync-stop-hint = Not Oto Senkronizasyonu Devre Dışı\nsync-running-hint-title = Not Senkronizasyonu\nsync-running-hint-check = Durumu Kontrol Et\nsync-running-hint-updateMD = MarkDownu Güncelle\nsync-running-hint-updateNote = Notu Güncelle\nsync-running-hint-diff = Birleşmeyi Onayla\nsync-running-hint-finish = Bitir\nsync-running-hint-synced = Senkronize Edildi\nsync-running-hint-upToDate = Güncel\n\nworkspace-switchOutline = Anahat Moduna Geç\nworkspace-saveOutlineImage = Resmi Kaydet\nworkspace-saveOutlineFreeMind = Zihin Haritasını Kaydet\nworkspace-emptyWorkspaceGuideInfo = Çalışma alanında açık not yok.\nworkspace-emptyWorkspaceGuideOpen = Açmak için bir not seçin\nworkspace-emptyWorkspaceGuideOr = ya da\nworkspace-emptyWorkspaceGuideCreate = Yeni bir not oluşturun\n\neditor-toolbar-settings-openAsTab = Notu Yeni Sekmeinde Aç\neditor-toolbar-settings-openAsWindow = Notu BN Yeni Pencereinde Aç\neditor-toolbar-settings-showInLibrary = Kitaplıkta Göster\neditor-toolbar-settings-insertTemplate = Şablon Uygula\neditor-toolbar-settings-refreshTemplates = İçeriği Şablona Göre Güncelle\neditor-toolbar-settings-copyLink = Bağlantıyı Kopyala (Satır { $line })\neditor-toolbar-settings-copyLinkAtSection = Bağlantıyı Kopyala (Başlık { $section })\neditor-toolbar-settings-openParent = Eki Aç\neditor-toolbar-settings-export = Bu Notu Dışa Aktar...\neditor-toolbar-settings-refreshSyncing = Eşitle\neditor-toolbar-settings-updateRelatedNotes = İlişkili Notları Güncelle\n\ntemplatePicker-itemData-info = kütphanede seçili. Lütfen veri kaynağı seçin:\ntemplatePicker-itemData-useLibrary = Seçili ögeleri kitaplıkta kullan\ntemplatePicker-itemData-useCustom = Başka bir tane seç.\ntemplatePicker-itemData-title = Eser Şablonu İçin Veri Kaynağı Seç\n\nalert-notValidCollectionError = Lütfen geçerli bir derme seçin.\nalert-notValidParentItemError = Geçerli ana eser yok.\nalert-syncImportedNotes = İçe aktarılmış notları Markdown dosyalarıyla eşitlemede tutmak ister misiniz?\nalert-linkCreator-emptyNote = Boş bir nota/nottan bağlantı oluşturulamaz. note. \nalert-templateEditor-shouldImport = Şablon kodunu doğrudan kaydetmeye çalışıyorsunuz gibi görünüyor. Şablon olarak içe aktarmak ister misiniz?\nalert-templateEditor-unsaved = You have unsaved changes in the template editor. Do you want to save them?\n\nuserGuide-start-title = Better Notes'a hoş geldiniz!\nuserGuide-start-desc = Better Notes düşüncelerinizi ve tasarılarınızı düzenlemenize yardımcı olan güçlü bir not alma aracıdır. Kullanımı kolay ve yalın biçimde tasarlanmış olsa da karmaşık not alma işlerini görebilecek kadar da esnektir. Bu rehber size Better Notes'u kullanmaya başlamanıza ve ileri düzey işlevleri verimli kullanmanıza yardımcı olacaktır.\nuserGuide-start-close = Daha sonra hatırlat\nuserGuide-createNoteButton-title = Yeni bir not oluştur\nuserGuide-createNoteButton-desc = Buradan boş ya da şablondan yeni bir not oluşturabilirsiniz.\nuserGuide-createNote-title = Yeni Not Oluştur.\nuserGuide-createNote-desc = Görünen o ki hiçbir notunuz yok, hadi bir tane oluşturalım.\nuserGuide-createNote-next = Not Oluştur\nuserGuide-openNote-title = Notu Aç\nuserGuide-openNote-desc = Herhangi bir nota çift tıklayarak notu yeni bir Better Notes çalışma alanı sekmesinde açabilirsiniz.\nuserGuide-openNote-next = Notu Aç\nuserGuide-workspace-title = Not Çalışma Alanı Sekmesi \nuserGuide-workspace-desc = Not çalışma alanı içeriğinizi düzenleyebileceğiniz, notunuzun anahattımı görüntüleyebileceğiniz ve not ilişkilerini yönetebileceğiniz bir sekmedir.\nuserGuide-workspaceEditor-title = Not Düzenleyici\nuserGuide-workspaceEditor-desc = Not düzenleyici zengin metinleri, kod bloklarını, matematik bloklarını ve daha fazlasını düzenlemeyi destekler.\nuserGuide-workspaceEditorToolbar-title = Not Düzenleyici - Araç Çubuğu\nuserGuide-workspaceEditorToolbar-desc = Araç çubuğu sık kullanılan düzenleme işlevlerine çabuk erişebilmenizi sağlar.\n    You can set Buradan başlık düzeyi belirleyebilir, metin/arka plan rengi seçebilir, metne biçim uygulayabilir, bağlantı ya da atıf ekleyebilirsiniz.\nuserGuide-workspaceEditorLinkCreator-title = Not Düzenleyici - Bağlantı Oluşturucu\nuserGuide-workspaceEditorLinkCreator-desc = Buradan bağlantı oluşturucuyu kullanarak başka bir nota/nottan bağlantı oluşturabilirsiniz.\nuserGuide-workspaceEditorMoreOptions-title = Not Düzenleyici - Diğer Seçenekler\nuserGuide-workspaceEditorMoreOptions-desc = Notu yeni bir pencerede açma, kitaplıkta gösterme, nota şablon uygulama, not bağlantısını kopyalama, notu dışa aktarma ve daha fazlasını yapabilirsiniz.\nuserGuide-workspaceOutline-title = Anahat\nuserGuide-workspaceOutline-desc = Anahat, notun yapısını gösterir. Üzerien tıklayarak herhangi bir başlığa gidebilirsiniz. The outline shows the structure of the note. You can navigate to a section by clicking on it.\nuserGuide-workspaceOutlineMode-title = Anahat Görünümü\nuserGuide-workspaceOutlineMode-desc = Notun yapısını anahat görünümünde daha öz biçimde görüntüleyebilirsiniz.\nuserGuide-workspaceOutlineSaveAs-title = Farklı Kaydet\nuserGuide-workspaceOutlineSaveAs-desc = Notunuzu PDF, Markdown, MS Word, zihin haritası veya başka biçimlerde dışarı aktarabilirsiniz.\nuserGuide-workspaceNoteInfo-title = Not Bilgisi\nuserGuide-workspaceNoteInfo-desc = Notunuz hakkındaki etiket, ilişki ve bağlantı bilgilerini görüntüleyebilir ve düzenleyebilirsiniz.\nuserGuide-finish-title = Hazırız!\nuserGuide-finish-desc = Better Notes ile not alma yolculuğunuzun tadını çıkartın!\n    Bu rehbere her yardım menüsünden her zaman ulaşabilirsiniz.\n"
  },
  {
    "path": "addon/locale/tr-TR/exportNotes.ftl",
    "content": "title =\n    .title = Notları Better Notes ile Dışa Aktar\n\ntarget =\n    .value = Hedef: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" }ve {$left} daha.\n    }\nformat =\n    .value = Biçim:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = Zihin Haritası\nformat-note = \n    .label = Zotero Notu\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = Not bağlantılarını koru(zotero://note/)\nlinks-embed =\n    .label = Bağlantılı notları içeriğe göm\nlinks-standalone =\n    .label = Bağlantılı notları bağımsız dışa aktarımlara dönüştür\nlinks-remove =\n    .label = Not bağlantılarını kaldır\n\nmarkdown-autoSync =\n    .label = Her not için otomatik senkronizasyon ayarla\n    .title = Otomatik senkronizasyon \"Bağlantılı notları bağımsız dışa aktarımlara dönüştür\" modu için kullanılabilir.\nmarkdown-withYAMLHeader =\n    .label = YAML başlığı ile\nmarkdown-autoFilename =\n    .label = Dosya adını otomatik oluştur\n\nuseDefaultExport =\n    .label = Zotero'nun varsayılan dışa aktarımını kullan\n    .tooltiptext = Better Notes tarafından sağlanan gelişmiş seçenekler olmadan notları dışa aktar.\n\nlatex-merge =\n    .label = Tek tex dosyasında birleştir"
  },
  {
    "path": "addon/locale/tr-TR/linkCreator.ftl",
    "content": "title =\n    .title = Bağlantı Oluşturucu\ntab-inbound =\n    .label = Burada Bahset\ntab-outbound =\n    .label = Burada Bağlantı Oluştur\n\ninbound-step1-content = Step 1. Notta bahset:\ninbound-step2-content = Step 2. Nota bağlantı ekle:\ninbound-step3-content = Step 3. Ön izleme:\ninbound-step3-middle =\n    { $show ->\n        [true] mentions\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = Step 1. Nota bağlantı ekle:\noutbound-step2-content = Step 2. Notta bahset:\noutbound-step3-content = Step 3. Ön izleme:\noutbound-step3-middle =\n    { $show ->\n        [true] links to\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️İmleç (Satır{ $line })\n"
  },
  {
    "path": "addon/locale/tr-TR/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = Senkronizasyon Yöneticisi\nmenuTools-templateEditor =\n    .label = Şablon Düzenleyici\nmenuTools-importTemplateFromClipboard =\n    .label = Panodan Yeni Şablon\n\nmenuFile-exportTemplate =\n    .label = Şablonu Dışa Aktar...\n\nmenuHelp-openUserGuide =\n    .label = Better Notes Kullanıcı Kılavuzunu Aç\n\nmenuAddNote-importMD =\n    .label = MarkDown Dosyasından İçe Aktar\nmenuAddNote-newTemplateStandaloneNote =\n    .label = Şablondan Yeni Bağımsız Not\nmenuAddNote-newTemplateItemNote =\n    .label = Şablondan Yeni Öğe Notu\n\nmenuTab-moveNewWindow =\n    .label = Move to BN New Window\nmenu-openNoteAsBNWindow =\n    .label = Notu BN Yeni Pencereinde Aç\n"
  },
  {
    "path": "addon/locale/tr-TR/notePreview.ftl",
    "content": "note-preview-header =\n    .label = Not Ön İzlemesi\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = Notu Aç\nnote-preview-close =\n    .tooltiptext = Kapat\nnote-preview-full =\n    .tooltiptext = Genişlet\n"
  },
  {
    "path": "addon/locale/tr-TR/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = İlişki Haritası\nnote-relation-sidenav =\n    .tooltiptext = İlişki Haritası\nnote-relation-refresh =\n    .tooltiptext = Yenile\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Gelen Bağlantı\n            *[other] { $count } Gelen Bağlantılar\n        }\nnote-inbound-sidenav =\n    .tooltiptext = Gelen Bağlantılar\nnote-inbound-refresh =\n    .tooltiptext = Yenile\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count } Giden Bağlantı\n            *[other] { $count } Giden Bağlantılar\n        }\nnote-outbound-sidenav =\n    .tooltiptext = Giden Bağlantılar\nnote-outbound-refresh =\n    .tooltiptext = Yenile\n"
  },
  {
    "path": "addon/locale/tr-TR/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = Toggle Outline Pane\nsetOutline =\n    .tooltiptext = Anahat görünümünü değiştir\nuseTreeView = \n    .label = Ağaç Görünümü\nuseMindMap = \n    .label = Zihin Haritası\nuseBubbleMap = \n    .label = Baloncuk Haritası\nsaveOutline =\n    .tooltiptext = Farklı kaydet...\nsaveOutlineImage =\n    .label = Anahat görseli\n    .tooltiptext = Yalnızca zihin haritası ve baloncuk haritası görünümlerinde\nsaveOutlineSVG =\n    .label = Anahat SVG\n    .tooltiptext = Yalnızca zihin haritası ve baloncuk haritası görünümlerinde\nsaveOutlineFreeMind =\n    .label = Anahat FreeMind\nsaveMore =\n    .label = MarkDown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/tr-TR/preferences.ftl",
    "content": "basic-title = Temel\nbasic-exportNotes-takeover =\n    .label = Take over exporting notes\n\neditor-title = Not Düzenleyici\neditor-expandLevel-label = Anahatta gösterilecek başlık düzeyleri\neditor-keepLinks = \n    .label = Not bağlantılarını anahatta göster\neditor-noteLinkPreviewType = Show preview for note link when:\neditor-noteLinkPreview-hover = \n    .label = Hover\neditor-noteLinkPreview-ctrl = \n    .label = Press { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = Never\neditor-useMagicKey =\n    .label = Komut panelini göstermek için sihirli tuş \"/\" kullan\neditor-useMagicKeyShortcut = \n    .label = Komut panelini göstermek için { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" kullan\neditor-useMarkdownPaste =\n    .label = Gelişmiş markdown yapıştırma kullan\neditor-pinTable-label = Pin table's\neditor-pinTableLeft =\n    .label = First column\neditor-pinTableTop =\n    .label = First row when scrolling\n\nsync-title = Eşitle\nsync-period-label = Otomatik Eşitleme Sıklığı (saniye)\nsync-attachmentFolder-label = Ek Klasörü\nsync-manager =\n    .label = Eşitleme Yöneticisini Aç\ntemplate-title = Şablon\ntemplate-editor =\n    .label = Şablon Düzenleyiciyi Aç\nannotation-title = PDF Ek Açıklamaları\nannotation-autoAnnotation =\n    .label = Çalışma alanı notuna otomatik olarak yeni ek açıklamaları ekle\n\nannotationNote-title = Note from Annotation\nannotationNote-enableTagSync = \n    .label = Keep tags of note from annotation in sync with the original annotation\n\nabout-title = Hakkında\nhelp =\n    .value = { $name } Sürüm { $version } Yapı Numarası { $time }\n"
  },
  {
    "path": "addon/locale/tr-TR/syncDiff.ftl",
    "content": "title = Note Sync Conflict Resolution\n\ndiff-desc = Merge the changes from:\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = Keep Both\n    .title = Keep changes from both sides\n\nlist-header = Pick Changes to Keep\nlist-selectAll = Select All\n\ndiff-header = Raw Note\n\nrendered-header = Rendered Note\n\nfinish =\n    .label = Resolve Conflict\n    .tooltiptext = Save the selected changes and update the note and the markdown file.\nunsync =\n    .label = Stop Syncing This Note\n    .tooltiptext = Remove the note from the sync list and keep the local changes.\nskip =\n    .label = Skip For Now\n    .tooltiptext = Skip this note and keep the local changes until the next sync.\n"
  },
  {
    "path": "addon/locale/tr-TR/syncManager.ftl",
    "content": "title = Eşitleme Yöneticisi\nrefresh = \n    .label = Yenile\n    .tooltiptext = Not listesini yenile\nsync = \n    .label = Eşitle\n    .tooltiptext = Seçili notları şimdi eşitle\nunSync = \n    .label = Eşitlemeyi Kaldır\n    .tooltiptext = Seçili notların eşitlemesini kaldır\ndetect = \n    .label = Algıla...\n    .tooltiptext = Klasördeki eşitlenen notları algıla\n"
  },
  {
    "path": "addon/locale/tr-TR/templateEditor.ftl",
    "content": "title = Şablon Düzenleyici\n\ntemplateType = Template Type\n\ntemplateType-item =\n    .label = Item\ntemplateType-text =\n    .label = Text\ntemplateType-system =\n    .label = Builtin\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = Detailed explanation of template types\n\ntemplateName = Şablon Adı\n\npreviewContainer = \n    .label = Ön İzle\ncreate = \n    .label = Yeni\nsave = \n    .label = Kaydet\ndelete = \n    .label = Sil\nreset = \n    .label = Sıfırla\nshare = \n    .label = Share\n    .tooltiptext = Şablon paylaşım kodunu panoya kopyala\nmore = \n    .label = Daha Fazla Şablon\n    .title = Daha Fazla Çevrimiçi Şablon Bul\n\noptions = \n    .label = Seçenekler\nimportClipboard = \n    .label = Şablonu İçe Aktar: panodaki şablon paylaşım kodu ile\nimportNote = \n    .label = Şablonu İçe Aktar: var olan bir nottan\nbackup = \n    .label = Yedek dosyasını dışa aktar\nrestore = \n    .label = Yedek dosyasından geri yükle\nhelp = \n    .label = Yardım\n\nformat-bold = \n    .title = Bold\nformat-italic =\n    .title = Italic\nformat-strikethrough =\n    .title = Strike-through\nformat-underline =\n    .title = Underline\nformat-superscript =\n    .title = Superscript\nformat-subscript =\n    .title = Subscript\nformat-textColor =\n    .title = Text color\nformat-link =\n    .title = Link\nformat-quote =\n    .title = Quote\nformat-monospaced =\n    .title = Monospace\nformat-code =\n    .title = Code block\nformat-table =\n    .title = Table\nformat-h1 =\n    .title = Level 1 heading\nformat-h2 =\n    .title = Level 2 heading\nformat-h3 =\n    .title = Level 3 heading\nformat-bullet =\n    .title = Bullet list\nformat-numbered =\n    .title = Numbered list\nformat-inlineMath =\n    .title = Inline math formula\nformat-blockMath =\n    .title = Multi-line math formula\nformat-inlineScript =\n    .title = Add an inline JS script, the result of which will be embedded in the note\nformat-blockScript =\n    .title = Add a multi-line async JS script, the return value of which will be embedded in the note\n\nsnippet-useMarkdown = use markdown\n    .title = Parse the template as markdown\nsnippet-useRefresh = use refresh\n    .title = Allow the content generated by the template to be refreshed\nsnippet-dryRunFlag = dry run flag\n    .title = Check if the template is running in dry run mode, e.g. for preview. In dry run mode, the script should not have side effects.\nsnippet-itemBeforeLoop = before loop\n    .title = Content to be rendered before the loop of items\nsnippet-itemInLoop = in loop\n    .title = Content to be rendered for each item in the loop\nsnippet-itemAfterLoop = after loop\n    .title = Content to be rendered after the loop of items\n\n-variable-type = Type\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = string\n-variable-object = object\n-variable-function = function\n\nsnippet-itemItems = items\n    .title = { -variable-type }: { -variable-item }[]. The array of items to be rendered, available in beforeLoop and afterLoop stage\nsnippet-itemItem = item\n    .title = { -variable-type }: { -variable-item }. The current item to be rendered, available in inLoop stage\nsnippet-itemTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `item`, available in inLoop stage\nsnippet-itemTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached, available in any stage\nsnippet-itemCopyNoteImage = copy note image\n    .title = { -variable-type }: { -variable-function }. Copy the image of the note to the clipboard, available in any stage\nsnippet-itemSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data across different stages\nsnippet-itemFieldTitle = title\n    .title = { -variable-type }: { -variable-string }. The title of the top item\nsnippet-itemFieldAbstract = abstract\n    .title = { -variable-type }: { -variable-string }. The abstract of the top item\nsnippet-itemFieldCitKey = citation key\n    .title = { -variable-type }: { -variable-string }. The citation key of the top item\nsnippet-itemFieldDate = date\n    .title = { -variable-type }: { -variable-string }. The publication date of the top item\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }: { -variable-string }. The DOI of the top item\nsnippet-itemFieldDOIURL = DOI or URL\n    .title = { -variable-type }: { -variable-string }. The DOI or URL of the top item\nsnippet-itemFieldAuthors = authors\n    .title = { -variable-type }: { -variable-string }. The authors of the top item\nsnippet-itemFieldJournal = journal\n    .title = { -variable-type }: { -variable-string }. The journal of the top item\nsnippet-itemFieldTitleTranslation = title translation\n    .title = { -variable-type }: { -variable-string }. The title translation of the top item\nsnippet-textTargetNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-textSharedObj = shared object\n    .title = { -variable-type }: { -variable-object }. A shared object that can be used to store data\nsnippet-quickInsertLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be linked\nsnippet-quickInsertLinkText = link text\n    .title = { -variable-type }: { -variable-string }. The default label of the link\nsnippet-quickInsertSubNoteItem = linked note\n    .title = { -variable-type }: { -variable-note }. The note item to be linked to\nsnippet-quickInsertNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickImportLink = note link\n    .title = { -variable-type }: { -variable-string }. The link of the note item to be imported\nsnippet-quickImportNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-quickNoteAnnotationItem = annotation\n    .title = { -variable-type }: { -variable-annotation }. The annotation item to be converted to a note\nsnippet-quickNoteTopItem = top item\n    .title = { -variable-type }: { -variable-item }. The top-level parent of the variable `annotationItem`\nsnippet-quickNoteNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to which the template is attached\nsnippet-exportMDFileNameNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileHeaderNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportMDFileContentMDContent = markdown content\n    .title = { -variable-type }: { -variable-string }. The markdown content to be exported\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. The latex content to be exported\n"
  },
  {
    "path": "addon/locale/tr-TR/workspaceWindow.ftl",
    "content": "title = Not Çalışma Alanı\n"
  },
  {
    "path": "addon/locale/zh-CN/addon.ftl",
    "content": "pref-title=Better Notes\n\nmenuEditor-resizeImage=缩放图片\nmenuEditor-copy = 复制笔记链接...\nmenuEditor-copyLine = 复制行链接 (L{ $line })\nmenuEditor-copySection = 复制节链接 (Sec. { $section })\n\ntemplateEditor-templateType = 类型\ntemplateEditor-templateName = 名称\n\ntemplateEditor-templateDisplayName =\n    .QuickInsertV3 = Quick Insert (插入链接)\n    .QuickImportV2 = Quick Import (嵌入链接笔记)\n    .QuickNoteV5 = Quick Note (从批注创建笔记)\n    .ExportMDFileNameV2 = Export File Name (导出文件名)\n    .ExportMDFileHeaderV2 = Export MD File Header (导出MD头)\n    .ExportMDFileContent = Export MD File Content (导出MD正文)\n    .ExportLatexFileContent = Export Latex File Content (导出Latex正文)\n\ntemplateEditor-templateDisplayType =\n    .system = 内置\n    .item = 条目\n    .text = 文本\n    .unknown = ?\n\ntemplateEditor-templateHelp =\n    .system = 用于特定目的，例如生成笔记链接。\n    .item = 可以从一个或多个选定的条目生成笔记片段。\n    .text = 可以生成笔记片段。不需要任何输入。\n\neditor-resizeImage-title = 缩放图片\neditor-resizeImage-prompt = 缩放图片宽度为：\neditor-previewImage-title = 预览图片\n\nsyncManager-noteName=笔记名称\nsyncManager-lastSync=最近同步\nsyncManager-filePath=MarkDown路径\nsyncManager-detectConfirmInfo = 扫描到{$total}项由本插件同步的markdown文件 (来自{$dir})\n    将要新同步{$new}项, 将要覆盖{$current}项\n    确定应用这些更改吗?\n\nsyncInfo-syncTo=MarkDown路径\nsyncInfo-lastSync=最近同步\nsyncInfo-sync=同步\nsyncInfo-unSync=取消同步\nsyncInfo-reveal=在文件夹中显示\nsyncInfo-manager=同步管理\nsyncInfo-export=导出为...\nsyncInfo-cancel=关闭\n\nsync-start-hint=自动同步已启用, 间隔\nsync-stop-hint=自动同步已停止\nsync-running-hint-title=笔记同步\nsync-running-hint-check=检查状态\nsync-running-hint-updateMD=更新MarkDown\nsync-running-hint-updateNote=更新笔记\nsync-running-hint-diff=确认合并\nsync-running-hint-finish=同步完成\nsync-running-hint-synced=已同步\nsync-running-hint-upToDate=已最新\n\nfileInterface-sync=同步到\n\nworkspace-switchOutline=切换大纲模式\nworkspace-saveOutlineImage=保存图片\nworkspace-saveOutlineFreeMind=保存思维导图\nworkspace-emptyWorkspaceGuideInfo = 没有打开的工作区笔记。您可以：\nworkspace-emptyWorkspaceGuideOpen = 打开现有笔记\nworkspace-emptyWorkspaceGuideOr = 或\nworkspace-emptyWorkspaceGuideCreate = 创建新笔记\n\neditor-toolbar-settings-openAsTab = 打开笔记到新标签页\neditor-toolbar-settings-openAsWindow = 打开笔记到 BN 新窗口\neditor-toolbar-settings-showInLibrary = 在文库中显示\neditor-toolbar-settings-insertTemplate=插入模板\neditor-toolbar-settings-refreshTemplates = 更新模板生成内容\neditor-toolbar-settings-copyLink=复制行(L{ $line })\neditor-toolbar-settings-copyLinkAtSection=复制节(Sec. { $section })\neditor-toolbar-settings-openParent=打开附件\neditor-toolbar-settings-export=导出当前笔记...\neditor-toolbar-settings-refreshSyncing=立即同步\neditor-toolbar-settings-updateRelatedNotes = 更新关联笔记\n\ntemplatePicker-itemData-info=在文库中被选中。请选择模板数据源：\ntemplatePicker-itemData-useLibrary=使用文库中选中的条目\ntemplatePicker-itemData-useCustom=另作选择...\ntemplatePicker-itemData-title=选择条目模板数据源\n\nalert-notValidCollectionError=请选择一个有效的分类。\nalert-notValidParentItemError=无效的父条目。\nalert-syncImportedNotes = 保持导入的笔记与 MarkDown 文件同步？\nalert-linkCreator-emptyNote = 无法从/向空笔记创建链接。\nalert-templateEditor-shouldImport = 似乎您正在尝试直接保存一个笔记模板分享代码。您想要将其导入为模板吗？\nalert-templateEditor-unsaved = 您在模板编辑器中有未保存的更改。您想要保存它们吗？\n\nuserGuide-start-title = 欢迎使用Better Notes！\nuserGuide-start-desc = Better Notes是一个强大的笔记工具，帮助您组织阅读论文时的概念和想法。本指南将帮助您开始使用Better Notes，并向您展示如何充分利用其功能。\nuserGuide-start-close = 稍后提醒我\nuserGuide-createNoteButton-title = 创建新笔记\nuserGuide-createNoteButton-desc = 您可以在这里创建笔记：空白或从模板创建。\nuserGuide-createNote-title = 创建新笔记\nuserGuide-createNote-desc = 看来您还没有任何笔记，让我们创建一个。\nuserGuide-createNoteFound-desc = 在您的库中找到了一些笔记。将打开其中一个作为例子。\nuserGuide-openNote-title = 打开笔记\nuserGuide-openNote-desc = 您可以通过双击在Better Notes标签页中打开一个笔记。\nuserGuide-openNote-next = 打开笔记\nuserGuide-workspace-title = 笔记标签页\nuserGuide-workspace-desc = 笔记标签页（原工作区）是您可以编辑笔记内容、查看大纲和管理笔记链接关系的地方。\nuserGuide-workspaceEditor-title = 笔记编辑器\nuserGuide-workspaceEditor-desc = 编辑器支持富文本编辑、代码块、数学块等。\nuserGuide-workspaceEditorToolbar-title = 笔记编辑器 - 工具栏\nuserGuide-workspaceEditorToolbar-desc = 工具栏提供对常见编辑功能的快速访问。\n    您可以在这里设置标题、文本/背景颜色、文本样式、插入链接或引用。\nuserGuide-workspaceEditorLinkCreator-title = 笔记编辑器 - 链接精灵\nuserGuide-workspaceEditorLinkCreator-desc = 您可以通过链接精灵创建从/到另一个笔记的链接。\nuserGuide-workspaceEditorMoreOptions-title = 笔记编辑器 - 更多选项\nuserGuide-workspaceEditorMoreOptions-desc = 在新窗口中打开笔记，显示在库中，插入模板，复制链接，导出笔记等。\nuserGuide-workspaceOutline-title = 大纲\nuserGuide-workspaceOutline-desc = 大纲显示了笔记的结构。您可以通过点击它来导航到一个部分。\nuserGuide-workspaceOutlineMode-title = 大纲模式\nuserGuide-workspaceOutlineMode-desc = 切换到大纲模式以不同的方式查看笔记结构。\nuserGuide-workspaceOutlineSaveAs-title = 另存为\nuserGuide-workspaceOutlineSaveAs-desc = 您可以将笔记导出为多种格式，包括PDF、Markdown、MS Word、思维导图等。\nuserGuide-workspaceNoteInfo-title = 笔记信息\nuserGuide-workspaceNoteInfo-desc = 您可以查看、编辑和管理笔记的标签、关系和链接。\nuserGuide-finish-title = 准备完成！\nuserGuide-finish-desc = 享受您与Better Notes的笔记旅程！\n    您可以随时从菜单栏 - 帮助再次运行此指南。\n"
  },
  {
    "path": "addon/locale/zh-CN/exportNotes.ftl",
    "content": "title =\n    .title = 使用 Better Notes 导出笔记\n\ntarget =\n    .value = 目标: {$title}{ $left ->\n        [0]{ \"\" }\n        *[other] { \" \" } 以及其他 {$left} 个。\n    }\nformat =\n    .value = 格式:\nformat-markdown =\n    .label = MarkDown(.md)\nformat-msword =\n    .label = MS Word(.docx)\nformat-pdf =\n    .label = PDF(.pdf)\nformat-freemind = \n    .label = 思维导图\nformat-note = \n    .label = Zotero 笔记\nformat-latex =\n    .label = LaTeX(.tex)\n\nlinks-keep =\n    .label = 保留笔记链接(zotero://note/)\nlinks-embed =\n    .label = 嵌入链接的笔记内容\nlinks-standalone =\n    .label = 将链接的笔记分别导出\nlinks-remove =\n    .label = 移除笔记链接\n\nmarkdown-autoSync =\n    .label = 为每个笔记设置自动同步\n    .title = 自动同步适用于“将链接的笔记分别导出”模式。\nmarkdown-withYAMLHeader =\n    .label = 包含 YAML 头\nmarkdown-autoFilename =\n    .label = 自动生成文件名\n\nuseDefaultExport =\n    .label = 使用 Zotero 的默认导出\n    .tooltiptext = 导出笔记时不使用 Better Notes 提供的高级选项。\n\nlatex-merge =\n    .label = 合并为一个tex文件"
  },
  {
    "path": "addon/locale/zh-CN/linkCreator.ftl",
    "content": "title =\n    .title = 链接精灵\ntab-inbound =\n    .label = 提及\ntab-outbound =\n    .label = 指向\n\ninbound-step1-content = 第一步-在此处提及:\ninbound-step2-content = 第二步-插入链接到:\ninbound-step3-content = 第三步-预览:\ninbound-step3-middle =\n    { $show ->\n        [true] 提及了\n        *[other] { \"\" }\n    }\n\noutbound-step1-content = 第一步-链接指向:\noutbound-step2-content = 第二步-插入链接到:\noutbound-step3-content = 第三步-预览:\noutbound-step3-middle =\n    { $show ->\n        [true] 指向了\n        *[other] { \"\" }\n    }\n\noutlinePicker-cursorLine = 🖋️光标位置 (行{ $line })\n"
  },
  {
    "path": "addon/locale/zh-CN/mainWindow.ftl",
    "content": "menuTools-syncManager =\n    .label = 同步管理器\nmenuTools-templateEditor =\n    .label = 模板编辑器\nmenuTools-importTemplateFromClipboard =\n    .label = 从剪贴板新建模板\n\nmenuFile-exportTemplate =\n    .label = 导出模板...\n\nmenuHelp-openUserGuide =\n    .label = 打开 Better Notes 用户指南\n\nmenuAddNote-importMD =\n    .label = 从 MarkDown 文件导入\nmenuAddNote-newTemplateStandaloneNote =\n    .label = 从模板新建独立笔记\nmenuAddNote-newTemplateItemNote =\n    .label = 从模板新建条目笔记\n\nmenuTab-moveNewWindow =\n    .label = 移动到 BN 新窗口\nmenu-openNoteAsBNWindow =\n    .label = 打开笔记到 BN 新窗口\n"
  },
  {
    "path": "addon/locale/zh-CN/notePreview.ftl",
    "content": "note-preview-header =\n    .label = 笔记预览\nnote-preview-sidenav =\n    .tooltiptext = {$title}\nnote-preview-open =\n    .tooltiptext = 打开笔记\nnote-preview-close =\n    .tooltiptext = 关闭\nnote-preview-full =\n    .tooltiptext = 切换全屏高度\n"
  },
  {
    "path": "addon/locale/zh-CN/noteRelation.ftl",
    "content": "note-relation-header =\n    .label = 关系图\nnote-relation-sidenav =\n    .tooltiptext = 关系网\nnote-relation-refresh =\n    .tooltiptext = 刷新\n\nnote-inbound-header =\n    .label =\n        { $count ->\n            [one] { $count }条入链\n            *[other] { $count }条入链\n        }\nnote-inbound-sidenav =\n    .tooltiptext = 入链\nnote-inbound-refresh =\n    .tooltiptext = 刷新\n\nnote-outbound-header =\n    .label =\n        { $count ->\n            [one] { $count }条出链\n            *[other] { $count }条出链\n        }\nnote-outbound-sidenav =\n    .tooltiptext = 出链\nnote-outbound-refresh =\n    .tooltiptext = 刷新\n"
  },
  {
    "path": "addon/locale/zh-CN/outline.ftl",
    "content": "toggleOutlinePane =\n    .tooltiptext = 展开/折叠大纲栏\nsetOutline =\n    .tooltiptext = 切换大纲模式\nuseTreeView = \n    .label = 目录树\nuseMindMap = \n    .label = 思维导图\nuseBubbleMap = \n    .label = 气泡关系图\nsaveOutline =\n    .tooltiptext = 另存为...\nsaveOutlineImage =\n    .label = 大纲图片\n    .tooltiptext = 仅适用于思维导图/气泡关系图模式\nsaveOutlineSVG =\n    .label = 大纲SVG\n    .tooltiptext = 仅适用于思维导图/气泡关系图模式\nsaveOutlineFreeMind =\n    .label = 大纲FreeMind思维导图\nsaveMore =\n    .label = MarkDown, Docx, PDF...\n"
  },
  {
    "path": "addon/locale/zh-CN/preferences.ftl",
    "content": "basic-title = 基本\nbasic-exportNotes-takeover =\n    .label = 接管导出笔记\n\neditor-title = 笔记编辑器\neditor-expandLevel-label = 大纲展开至标题层级\neditor-keepLinks = \n    .label = 在大纲中显示笔记链接\neditor-noteLinkPreviewType = 笔记链接预览触发方式:\neditor-noteLinkPreview-hover = \n    .label = 鼠标悬停\neditor-noteLinkPreview-ctrl = \n    .label = 按下 { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    }\neditor-noteLinkPreview-disable = \n    .label = 从不\neditor-useMagicKey =\n    .label = 使用魔法键 \"/\" 显示命令面板\neditor-useMagicKeyShortcut = \n    .label = 使用 { PLATFORM() ->\n        [macos] ⌘\n       *[other] Ctrl\n    } + \"/\" 显示命令面板\neditor-useMarkdownPaste = \n    .label = 使用增强的Markdown粘贴\neditor-pinTable-label = 鼠标滚动时固定表格的\neditor-pinTableLeft =\n    .label = 首列\neditor-pinTableTop =\n    .label = 首行\n\nsync-title = 同步\nsync-period-label = 自动同步周期 (秒)\nsync-attachmentFolder-label = 附件文件夹\nsync-manager =\n    .label = 打开同步管理器\ntemplate-title = 模板\ntemplate-editor =\n    .label = 打开模板编辑器\nannotation-title = PDF批注\nannotation-autoAnnotation =\n    .label = 自动添加新批注到工作区笔记\n\nannotationNote-title = 从注释生成笔记\nannotationNote-enableTagSync = \n    .label = 保持注释生成的笔记的标签与原始注释同步\n\nabout-title = 关于\nhelp =\n    .value = { $name } 版本 { $version } 构建 { $time }"
  },
  {
    "path": "addon/locale/zh-CN/syncDiff.ftl",
    "content": "title = 笔记同步冲突解决\n\ndiff-desc = 合并以下更改：\n    .title = { $title }\ndiff-note =\n    .title = { $title }\ndiff-md =\n    .title = { $title }\ndiff-both = 保留两者\n    .title = 保留两者的更改\n\nlist-header = 选择要保留的更改\nlist-selectAll = 全选\n\ndiff-header = 笔记源码\n\nrendered-header = 渲染结果\n\nfinish =\n    .label = 解决冲突\n    .tooltiptext = 保存所选更改并更新笔记和 Markdown 文件。\nunsync =\n    .label = 停止同步此笔记\n    .tooltiptext = 从同步列表中删除笔记并保留本地更改。\nskip =\n    .label = 暂时跳过\n    .tooltiptext = 跳过此笔记并保留本地更改，直到下次同步。\n"
  },
  {
    "path": "addon/locale/zh-CN/syncManager.ftl",
    "content": "title = 同步管理\nrefresh = \n    .label = 刷新\n    .tooltiptext = 刷新同步笔记列表\nsync = \n    .label = 同步\n    .tooltiptext = 立刻同步选中的笔记\nunSync = \n    .label = 取消同步\n    .tooltiptext = 不再同步选中的笔记\ndetect = \n    .label = 扫描...\n    .tooltiptext = 从文件夹扫描已同步的笔记\n"
  },
  {
    "path": "addon/locale/zh-CN/templateEditor.ftl",
    "content": "title = 模板编辑器\n\ntemplateType = 模板{ -variable-type }\n\ntemplateType-item =\n    .label = 条目\ntemplateType-text =\n    .label = 文本\ntemplateType-system =\n    .label = 内置\ntemplateType-unknown =\n    .label = ?\ntemplateType-help =\n    .label = ?\n    .title = 模板{ -variable-type }的详细解释\n\ntemplateName = 模板名称\n\npreviewContainer = \n    .label = 预览\ncreate = \n    .label = 新建\nsave = \n    .label = 保存\ndelete = \n    .label = 删除\nreset = \n    .label = 重置\nshare = \n    .label = 分享\n    .tooltiptext = 复制模板分享代码到剪贴板\nmore = \n    .label = 更多模板\n\noptions = \n    .label = 选项\nimportClipboard = \n    .label = 导入笔记模板: 剪贴板中的模板分享代码\nimportNote = \n    .label = 导入笔记模板: 从现有笔记\nbackup = \n    .label = 导出模板备份文件\nrestore = \n    .label = 从备份文件恢复\nhelp = \n    .label = 帮助\n\nformat-bold = \n    .title = 加粗\nformat-italic =\n    .title = 斜体\nformat-strikethrough =\n    .title = 删除线\nformat-underline =\n    .title = 下划线\nformat-superscript =\n    .title = 上标\nformat-subscript =\n    .title = 下标\nformat-textColor =\n    .title = 文本颜色\nformat-link =\n    .title = 添加链接\nformat-quote =\n    .title = 引用文本\nformat-monospaced =\n    .title = 单行\nformat-code =\n    .title = 多行代码\nformat-table =\n    .title = 添加表格\nformat-h1 =\n    .title = 一级标题\nformat-h2 =\n    .title = 二级标题\nformat-h3 =\n    .title = 三级标题\nformat-bullet =\n    .title = 无序列表\nformat-numbered =\n    .title = 有序列表\nformat-inlineMath =\n    .title = 行内数学公式\nformat-blockMath =\n    .title = 多行数学公式\nformat-inlineScript =\n    .title = 添加行内JS脚本，结果将嵌入到笔记中\nformat-blockScript =\n    .title = 添加多行异步JS脚本，返回值将嵌入到笔记中\n\nsnippet-useMarkdown = 使用 markdown\n    .title = 将模板解析为 markdown\nsnippet-useRefresh = 允许内容刷新\n    .title = 允许模板生成的内容刷新\nsnippet-dryRunFlag = dry run标志\n    .title = 检查模板是否在dry run模式下运行，例如用于预览。在dry run模式下，脚本不应有副作用。\nsnippet-itemBeforeLoop = 循环前\n    .title = 在条目循环之前渲染的内容\nsnippet-itemInLoop = 循环中\n    .title = 为循环中的每个条目渲染的内容\nsnippet-itemAfterLoop = 循环后\n    .title = 在条目循环之后渲染的内容\n\n-variable-type = 类型\n-variable-item = Zotero.Item\n-variable-note = Zotero.NoteItem\n-variable-annotation = Zotero.AnnotationItem\n-variable-string = 字符串\n-variable-object = 对象\n-variable-function = 函数\n\nsnippet-itemItems = 所有条目\n    .title = { -variable-type }：{ -variable-item }[]。要渲染的条目数组，可在 beforeLoop 和 afterLoop 阶段使用\nsnippet-itemItem = 当前条目\n    .title = { -variable-type }：{ -variable-item }。要渲染的当前条目，可在 inLoop 阶段使用\nsnippet-itemTopItem = 顶级条目\n    .title = { -variable-type }：{ -variable-item }。变量 `item` 的顶级父级，可在 inLoop 阶段使用\nsnippet-itemTargetNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。模板插入到的笔记条目，可在任何阶段使用\nsnippet-itemCopyNoteImage = 复制笔记图片\n    .title = { -variable-type }：{ -variable-function }。将笔记的图片复制到剪贴板，可在任何阶段使用\nsnippet-itemSharedObj = 共享对象\n    .title = { -variable-type }：{ -variable-object }。可用于在不同阶段存储数据的共享对象\nsnippet-itemFieldTitle = 标题\n    .title = { -variable-type }：{ -variable-string }。顶级条目的标题。可在 inLoop 阶段使用\nsnippet-itemFieldAbstract = 摘要\n    .title = { -variable-type }：{ -variable-string }。顶级条目的摘要。可在 inLoop 阶段使用\nsnippet-itemFieldCitKey = citation key\n    .title = { -variable-type }：{ -variable-string }。顶级条目的 citation key。可在 inLoop 阶段使用\nsnippet-itemFieldDate = 日期\n    .title = { -variable-type }：{ -variable-string }。顶级条目的发布日期。可在 inLoop 阶段使用\nsnippet-itemFieldDOI = DOI\n    .title = { -variable-type }：{ -variable-string }。顶级条目的DOI。可在 inLoop 阶段使用\nsnippet-itemFieldDOIURL = DOI或URL\n    .title = { -variable-type }：{ -variable-string }。顶级条目的DOI或URL。可在 inLoop 阶段使用\nsnippet-itemFieldAuthors = 作者\n    .title = { -variable-type }：{ -variable-string }。顶级条目的作者。可在 inLoop 阶段使用\nsnippet-itemFieldJournal = 期刊\n    .title = { -variable-type }：{ -variable-string }。顶级条目的期刊。可在 inLoop 阶段使用\nsnippet-itemFieldTitleTranslation = 标题翻译\n    .title = { -variable-type }：{ -variable-string }。顶级条目的标题翻译*需要Translate for Zotero插件。可在 inLoop 阶段使用\nsnippet-textTargetNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。模板插入到的笔记条目\nsnippet-textSharedObj = 共享对象\n    .title = { -variable-type }：{ -variable-object }。可用于存储数据的共享对象\nsnippet-quickInsertLink = 笔记链接\n    .title = { -variable-type }：{ -variable-string }。要链接的笔记条目的链接\nsnippet-quickInsertLinkText = 链接文本\n    .title = { -variable-type }：{ -variable-string }。链接的默认标签\nsnippet-quickInsertSubNoteItem = 链接的笔记\n    .title = { -variable-type }：{ -variable-note }。要链接到的笔记条目\nsnippet-quickInsertNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。模板插入到的笔记条目\nsnippet-quickImportLink = 笔记链接\n    .title = { -variable-type }：{ -variable-string }。要导入的笔记条目的链接\nsnippet-quickImportNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。模板插入到的笔记条目\nsnippet-quickNoteAnnotationItem = 注释\n    .title = { -variable-type }：{ -variable-annotation }。要转换为笔记的注释条目\nsnippet-quickNoteTopItem = 顶级条目\n    .title = { -variable-type }：{ -variable-item }。变量 `annotationItem` 的顶级父级\nsnippet-quickNoteNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。模板插入到的笔记条目\nsnippet-exportMDFileNameNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。要导出的笔记条目\nsnippet-exportMDFileHeaderNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。要导出的笔记条目\nsnippet-exportMDFileContentNoteItem = 目标笔记\n    .title = { -variable-type }：{ -variable-note }。要导出的笔记条目\nsnippet-exportMDFileContentMDContent = markdown 内容\n    .title = { -variable-type }：{ -variable-string }。要导出的 markdown 内容\nsnippet-exportLatexFileContentNoteItem = target note\n    .title = { -variable-type }: { -variable-note }. The note item to be exported\nsnippet-exportLatexFileContentLatexContent = latex content\n    .title = { -variable-type }: { -variable-string }. The latex content to be exported\n"
  },
  {
    "path": "addon/locale/zh-CN/workspaceWindow.ftl",
    "content": "title = 笔记工作区\n"
  },
  {
    "path": "addon/manifest.json",
    "content": "{\n  \"manifest_version\": 2,\n  \"name\": \"__addonName__\",\n  \"version\": \"__buildVersion__\",\n  \"description\": \"__description__\",\n  \"author\": \"__author__\",\n  \"homepage_url\": \"__homepage__\",\n  \"icons\": {\n    \"48\": \"chrome/content/icons/favicon@0.5x.png\",\n    \"96\": \"chrome/content/icons/favicon.png\"\n  },\n  \"applications\": {\n    \"zotero\": {\n      \"id\": \"__addonID__\",\n      \"update_url\": \"__updateURL__\",\n      \"strict_min_version\": \"8.0-beta.21\",\n      \"strict_max_version\": \"9.99.99\"\n    }\n  }\n}\n"
  },
  {
    "path": "addon/prefs.js",
    "content": "pref(\"__prefsPrefix__.syncNoteIds\", \"\");\npref(\"__prefsPrefix__.syncPeriodSeconds\", 30);\npref(\"__prefsPrefix__.syncAttachmentFolder\", \"attachments\");\n\npref(\"__prefsPrefix__.autoAnnotation\", false);\n\npref(\"__prefsPrefix__.insertLinkPosition\", \"end\");\n\npref(\"__prefsPrefix__.workspace.outline.expandLevel\", 2);\npref(\"__prefsPrefix__.workspace.outline.keepLinks\", true);\n\npref(\"__prefsPrefix__.editor.noteLinkPreviewType\", \"hover\");\npref(\"__prefsPrefix__.editor.useMagicKey\", true);\npref(\"__prefsPrefix__.editor.useMagicKeyShortcut\", true);\npref(\"__prefsPrefix__.editor.useMarkdownPaste\", true);\npref(\"__prefsPrefix__.editor.pinTableLeft\", true);\npref(\"__prefsPrefix__.editor.pinTableTop\", true);\n\npref(\"__prefsPrefix__.exportNotes.takeover\", true);\n\npref(\"__prefsPrefix__.annotationNote.enableTagSync\", true);\n"
  },
  {
    "path": "docs/about-note-template.md",
    "content": "# Use Note Template\n\nYou can search and find note templates from the community [here](https://github.com/windingwind/zotero-better-notes/discussions/categories/note-templates).\n\n## Import Note Template\n\nOne-click to import.\n\n1. Copy the template below (just an example).\n<details style=\"text-indent: 2em\">\n<summary>Click to show the example template</summary>\n\n```yaml\n# This template is specifically for importing/sharing, using better\n# notes 'import from clipboard': copy the content and\n# goto Zotero menu bar, click Tools->New Template from Clipboard.\n# Do not copy-paste this to better notes template editor directly.\nname: \"[Text] Current Time\"\ncontent: |-\n  // @use-markdown\n  // @author windingwind\n  // @link https://github.com/windingwind/zotero-better-notes/blob/master/docs/about-note-template.md\n\n  # Template Example: Current Time\n\n  > Author: windingwind\n  >\n  > from: [GitHub-Zotero Better Notes: Write Note Template](https://github.com/windingwind/zotero-better-notes/blob/master/docs/about-note-template.md)\n\n  **Current Time**: ${new Date().toLocaleString()}\n```\n\n</details>\n\n2. Goto Zotero menubar, click `Tools`->`New Template from Clipboard`.\n3. Click OK.\n\nNow you can open a note/the workspace and in editor toolbar, click `Insert Template to cursor line`. Select the template, it is inserted to the note.\n\n## Share Note Template\n\n> Only available in Better Notes v1.1.4-2 or higher\n\nCopy the template code for importing by:\n\n1. Open template editor via menu->`Note Template Editor`\n2. Select the template you want to share in the template list\n3. Click `Options`->`Copy share code`\n\n# Write Note Template\n\n## What is this?\n\nThis section aims to help you writing a note template of Better Notes. See [here](../README.md#note-template) for the introduction of the note template.\n\nUse [Markdown](https://www.markdownguide.org/cheat-sheet/)/[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) to write a note template. If you want to execute scripts in the template, you may want to use [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript).\n\n> 💡It's OK if you don't know them. Creating your own template is very easy!\n\n## Overview\n\n- [Note Template Structure](#note-template-structure)\n- [Pragma](#pragma)\n- [Script in Note Template](#script-in-note-template)\n- [Template Type](#template-type)\n- [Style Syntax](#style-syntax)\n- [Script Syntax](#script-syntax)\n- [Share Your Template](#share-your-template)\n\n## Note Template Structure\n\nA template consists of two parts:\n\n**Name**: The name of template. starts with `[TYPE]`, where the `TYPE` should be the actual type of the template, e.g. `Item`, `Text`, etc.\n\n**Content**: The template code.\n\n## Pragma\n\nPragmas are lines start with `// @`. They have special effect and will not be rendered.\n\n### `// @use-markdown`\n\nLet the compiler know you are using markdown. Otherwise the template will be processed as HTML.\n\n### `// @use-refresh`\n\nAllow the generated content to be updated using the `Update content from templates` in the note editor.\nThe generated content will be wrapped in separators with a YAML metadata section for update.\n\nThe template with this pragma should not contain any separator (`---` or `<hr>`) in the content.\n\n> Since the first line of the content is a separator, the note generated from a template with this pragma will have a blank note title. See the solution [here](https://github.com/windingwind/zotero-better-notes/issues/1247#issuecomment-2573739339).\n\n### `// @author`\n\nMark the code belongs to you. Your GitHub account or your email.\n\n### `// @link`\n\nLink to the page where the template is published so that users can contact you and give feedback.\n\n### `// @${stage}-begin` and `// @${stage}-end`\n\nThe `Item` template supports three stages and others only support `default` stage.\n\nIf not specified, the whole template will be recognized as `default`.\n\nCode wrapped by `// @${stage}-begin` and `// @${stage}-end` will be processed during the corresponding stage. Here the `${stage}` should be replaced by the actual stage name, like `beforeloop`.\n\n## Script in Note Template\n\nNote template supports JavaScript.\n\n### One-Line Code\n\nWrap one-line code with `${code here}`. The example in [Import Note Template](#import-note-template) uses `${new Date().toLocaleString()}` to render the current time.\n\n### Multi-Line Code (Function)\n\nWrap lines with `${{code here}}$`. The example below will be rendered as `3` (the return value of the function).\n\n```js\n${{\n  const a = 1;\n  const b = 2;\n  return a + b;\n}}$\n```\n\n### Global Variables\n\nEach template has its own global variables. See [Template Type](#template-type) for more information.\n\nAll templates share a global variable `_env = {dryRun: boolean}`. In preview mode (in template editor), the `_env.dryRun` is `true` and in that case you must not modify the library.\n\n## Template Type\n\n### Item\n\nProcess one or more item(s). The input items are from the item picker window or the selected items.\n\nThere are three stages (`beforeloop`, `default`, `afterloop`) in this template. Use pragmas to wrap the template code to indicate on which stage it should be processed.\n\nIf no stage pragma is given, the whole template will be processed on the default stage.\n\n<details>\n<summary>Click to show the example template</summary>\n\n```yaml\n# This template is specifically for importing/sharing, using better\n# notes 'import from clipboard': copy the content and\n# goto Zotero menu bar, click Tools->New Template from Clipboard.\n# Do not copy-paste this to better notes template editor directly.\nname: \"[Item] Example Item Template\"\ncontent: |-\n  // @beforeloop-begin\n  // @use-markdown\n  # Hi! This only renders once\n  // @beforeloop-end\n  // @default-begin\n  <p>Title: <span style=\"color: #ffcb00\">${topItem.getField(\"title\")}</span></p>\n  // @default-end\n  // @afterloop-begin\n  > Done! But Markdown is not rendered correctly. Try to add \n  \\`// @use-markdown\\` pragma before this line.\n  // @afterloop-end\n```\n\n</details>\n\n**Stages and Global Variables**\n\n`beforeloop` stage:\nProcessed before loop.\n\n- items: an array of Zotero item, the input\n- targetNoteItem: The note item that accepts the rendered template. Undefined in preview mode (`_env.dryRun` is `true`)\n- copyNoteImage: a function that accepts a Zotero item. If the rendered result contains contents from another note, you should call `copyNoteImage(anotherNote)` to copy images from `anotherNote`.\n- sharedObj: for temporary variables, shared between all stages\n\n`default` stage:\nProcessed in a loop of input items. Run once for each item.\n\n- topItem: Current item\n- targetNoteItem\n- itemNotes: The child notes of current item (Deprecated)\n- copyNoteImage\n- sharedObj\n\n`afterloop` stage:\nProcessed after loop.\n\n- items\n- targetNoteItem\n- copyNoteImage\n- sharedObj\n\n### Text\n\nBasic user template.\n\n**Global Variables**\n\n- targetNoteItem\n- sharedObj\n\n### Builtin Templates\n\nThe name of builtin templates are not allowed to be modified.\n\n> Every time there is a breaking change, the corresponding builtin template will be updated and renamed to `{TEMPLATE_NAME}V{n+1}`, where `n` is the version number of the old builtin template and `{TEMPLATE_NAME}` is the name of the template. The old builtin template will be kept for compatibility.\n>\n> For example, the builtin template `[ExportMDFileNameV2]` may be renamed to `[ExportMDFileNameV3]` in the future.\n\n| Name                   | Description                                              | Variables                                                     |\n| ---------------------- | -------------------------------------------------------- | ------------------------------------------------------------- |\n| QuickInsert            | For note link generation.                                | link, linkText, subNoteItem, noteItem, lineIndex, sectionName |\n| QuickImport            | For importing note link content.                         | link, noteItem                                                |\n| QuickNote              | For generating note from annotation.                     | annotationItem, topItem, noteItem                             |\n| ExportMDFileName       | For generating file name when exporting.                 | noteItem                                                      |\n| ExportMDFileHeader     | For generating Markdown file yaml header when exporting. | noteItem                                                      |\n| ExportMDFileContent    | For processing Markdown file content when exporting.     | noteItem, mdContent                                           |\n| ExportLatexFileContent | For processing LaTeX file content when exporting.        | noteItem, latexContent                                        |\n\n## Style Syntax\n\nWe recommend using Markdown for styles.\n\n| Element                                                                         | Markdown Syntax                                               |\n| ------------------------------------------------------------------------------- | ------------------------------------------------------------- |\n| [Heading](https://www.markdownguide.org/basic-syntax/#headings)                 | `# H1`<br/>`## H2`<br/>`### H3`                               |\n| [Bold](https://www.markdownguide.org/basic-syntax/#bold)                        | `**bold text**`                                               |\n| [Italic](https://www.markdownguide.org/basic-syntax/#italic)                    | `*italicized text*`                                           |\n| Underline                                                                       | `<u>Underline Text</u>`                                       |\n| Strike Trough                                                                   | `~~Deleted Text~~`                                            |\n| Superscript                                                                     | `N/m<sup>2</sup>`                                             |\n| Subscript                                                                       | `x<sub>i</sub>`                                               |\n| [Blockquote](https://www.markdownguide.org/basic-syntax/#blockquotes-1)         | `> blockquote`                                                |\n| [Ordered List](https://www.markdownguide.org/basic-syntax/#ordered-lists)       | `1. First item`<br/>`2. Second item`<br/>`3. Third item`      |\n| [Unordered List](https://www.markdownguide.org/basic-syntax/#unordered-lists)   | `- First item`<br/>`- Second item`<br/>`- Third item`         |\n| [Code](https://www.markdownguide.org/basic-syntax/#code)                        | `` `code` ``                                                  |\n| Code Block (Monospaced)                                                         | ` ``` `<br/>`function add(x)`<br/>`{return x+1}`<br/>` ``` `  |\n| [Horizontal Rule](https://www.markdownguide.org/basic-syntax/#horizontal-rules) | `---`                                                         |\n| [Link](https://www.markdownguide.org/basic-syntax/#links)                       | `[title](https://www.example.com)`                            |\n| Highlight Text                                                                  | `<span style=\"background-color: #5fb23680\">highlighted<span>` |\n| Text Color                                                                      | `<span style=\"color: #ffcb00\">colored<span>`                  |\n| Math Inline                                                                     | `$y=x^2$`                                                     |\n| Math Block                                                                      | `$$y=x^2$$`                                                   |\n\n## Script Syntax\n\nJS scripts are supported. Here are some helpful script snippets.\n\n<table>\n<th>\n<td>Script</td>\n<td>Scope</td>\n</th>\n<tr>\n<td>Get array of tags from current item</td>\n<td>\n\n```js\n${topItem.getTags().map(tagObj=>tagObj.tag)}`\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get title of current item</td>\n<td>\n\n```js\n${topItem.getField(\"title\")}\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get authors of current item</td>\n<td>\n\n```js\n${topItem.getCreators().map((au) => au.firstName + \" \" + au.lastName).join(\"; \")}\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get PDF link of current item</td>\n<td>\n\n<details>\n<summary>Click to show</summary>\n\n```js\n${{\n  async function getPDFLink(item) {\n    const att = await item.getBestAttachment();\n    if (!att || !att.isPDFAttachment()) {\n      return \"\";\n    }\n    key = att.key;\n    if (att.libraryID === 1) {\n      return `zotero://open/library/items/${key}`;\n    } else {\n      groupID = Zotero.Libraries.get(att.libraryID).id;\n      return `zotero://open/groups/${groupID}/items/${key}`;\n    }\n  }\n  sharedObj.getPDFLink = getPDFLink;\n  return await getPDFLink(topItem);\n}}$\n```\n\n</details>\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get (author, year) with PDF link of current item</td>\n<td>\n\n<details>\n<summary>Click to show</summary>\n\n```js\n${{\n  const creators = topItem.getCreators();\n  let content = \"\";\n  const year = topItem.getField(\"year\");\n  if (creators.length === 0) {\n    content = \"no author\";\n  } else if (creators.length === 1) {\n    content = `${creators[0].lastName}, ${year}`;\n  } else {\n    content = `${creators[0].lastName} etal., ${year}`;\n  }\n  // The getPDFLink is from above\n  const link = await sharedObj.getPDFLink(topItem);\n  let str = `<a href=\"${link}\">${content}</a>`;\n  return str;\n}}$\n```\n\n</details>\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get pub date of current item</td>\n<td>\n\n```js\n${topItem.getField(\"date\")}\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get DOI of current item</td>\n<td>\n\n```js\n[${topItem.getField(\"DOI\")}](\"https://doi.org/${topItem.getField('DOI')}\")\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get other fields of current item</td>\n<td>\n\n```js\n${topItem.getField(\"FIELD_KEY\")}\n```\n\n`FIELD_KEY` can be found here: https://aurimasv.github.io/z2csl/typeMap.xml\n\n</td>\n<td>Item:default</td>\n</tr>\n<tr>\n<td>Get CitationKey of current item</td>\n<td>\n\n```js\n${topItem.citationKey ? topItem.citationKey : \"\"}\n```\n\n</td>\n<td>Item:default</td>\n</tr>\n</table>\n\n## Share Your Template\n\nUsers can use [Import Note Template](#import-note-template) to copy and import the published templates.\n\nA template snippet should be in YAML format (YAML has better support for multi-line content):\n\n```yaml\n# This template is specifically for importing/sharing, using better\n# notes 'import from clipboard': copy the content and\n# goto Zotero menu bar, click Tools->New Template from Clipboard.\n# Do not copy-paste this to better notes template editor directly.\nname: \"[TYPE] TEMPLATE NAME\"\ncontent: |-\n  // @author YOUR NAME\n  // @link PUBLISH PAGE URL\n  TEMPLATE CONTENT HERE\n```\n\nor JSON format:\n\n```json\n{\n  \"name\": \"[TYPE] TEMPLATE NAME\",\n  \"content\": \"// @author YOUR NAME\\n// @link PUBLISH PAGE URL\\nTEMPLATE CONTENT HERE\"\n}\n```\n\nAll templates should be posted [here](https://github.com/windingwind/zotero-better-notes/discussions/categories/note-templates)\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"zotero-better-notes\",\n  \"version\": \"3.0.3\",\n  \"description\": \"Everything about note management. All in Zotero.\",\n  \"config\": {\n    \"addonName\": \"Better Notes for Zotero\",\n    \"addonID\": \"Knowledge4Zotero@windingwind.com\",\n    \"addonRef\": \"BetterNotes\",\n    \"prefsPrefix\": \"extensions.zotero.Knowledge4Zotero\",\n    \"addonInstance\": \"BetterNotes\",\n    \"dataSchemaVersion\": \"9\"\n  },\n  \"main\": \"src/index.ts\",\n  \"scripts\": {\n    \"start\": \"zotero-plugin serve\",\n    \"build\": \"tsc --noEmit && zotero-plugin build\",\n    \"build-dev\": \"tsc --noEmit && zotero-plugin build --dev && cd build/addon && zip -r ../zotero-better-notes-dev.xpi .\",\n    \"release\": \"zotero-plugin release\",\n    \"lint\": \"prettier --write . && eslint . --ext .ts --fix\",\n    \"test\": \"zotero-plugin test  --abort-on-fail --exit-on-finish\",\n    \"test-dev\": \"zotero-plugin test  --abort-on-fail\",\n    \"update-deps\": \"npm update --save\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/windingwind/zotero-better-notes.git\"\n  },\n  \"author\": \"windingwind\",\n  \"license\": \"AGPL-3.0-or-later\",\n  \"bugs\": {\n    \"url\": \"https://github.com/windingwind/zotero-better-notes/issues\"\n  },\n  \"homepage\": \"https://github.com/windingwind/zotero-better-notes#readme\",\n  \"dependencies\": {\n    \"asciidoctor\": \"^3.0.4\",\n    \"dexie\": \"^4.0.11\",\n    \"diff\": \"^5.2.0\",\n    \"hast-util-to-html\": \"^9.0.5\",\n    \"hast-util-to-mdast\": \"^8.4.1\",\n    \"hast-util-to-text\": \"^4.0.2\",\n    \"hastscript\": \"^8.0.0\",\n    \"html-docx-js\": \"^0.3.1\",\n    \"html-docx-js-typescript\": \"^0.1.5\",\n    \"katex\": \"^0.16.22\",\n    \"linkedom\": \"^0.18.11\",\n    \"path-browserify\": \"^1.0.1\",\n    \"prosemirror-tables\": \"^1.7.1\",\n    \"rehype-format\": \"^4.0.1\",\n    \"rehype-parse\": \"^8.0.5\",\n    \"rehype-remark\": \"^9.1.2\",\n    \"rehype-stringify\": \"^9.0.4\",\n    \"remark-gfm\": \"^3.0.1\",\n    \"remark-math\": \"^5.1.1\",\n    \"remark-parse\": \"^10.0.2\",\n    \"remark-rehype\": \"^10.1.0\",\n    \"remark-stringify\": \"^10.0.3\",\n    \"seedrandom\": \"^3.0.5\",\n    \"tree-model\": \"^1.0.7\",\n    \"unified\": \"^10.1.2\",\n    \"unist-util-visit\": \"^5.0.0\",\n    \"unist-util-visit-parents\": \"^6.0.1\",\n    \"yamljs\": \"^0.3.0\",\n    \"zotero-plugin-toolkit\": \"^5.1.0-beta.4\"\n  },\n  \"devDependencies\": {\n    \"@esbuild-plugins/node-globals-polyfill\": \"^0.2.3\",\n    \"@prettier/plugin-xml\": \"^3.4.2\",\n    \"@types/browser-or-node\": \"^1.3.2\",\n    \"@types/chai\": \"^5.2.2\",\n    \"@types/diff\": \"^5.2.3\",\n    \"@types/html-docx-js\": \"^0.3.4\",\n    \"@types/katex\": \"^0.16.7\",\n    \"@types/mocha\": \"^10.0.10\",\n    \"@types/node\": \"^20.19.9\",\n    \"@types/path-browserify\": \"^1.0.3\",\n    \"@types/seedrandom\": \"^3.0.8\",\n    \"@types/yamljs\": \"^0.2.34\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.21.0\",\n    \"@typescript-eslint/parser\": \"^6.21.0\",\n    \"chokidar-cli\": \"^3.0.0\",\n    \"concurrently\": \"^8.2.2\",\n    \"cross-env\": \"^7.0.3\",\n    \"eslint\": \"^8.57.1\",\n    \"eslint-config-prettier\": \"^9.1.2\",\n    \"prettier\": \"^3.6.2\",\n    \"prosemirror-model\": \"^1.25.2\",\n    \"prosemirror-state\": \"^1.4.3\",\n    \"prosemirror-transform\": \"^1.10.4\",\n    \"prosemirror-view\": \"^1.40.1\",\n    \"replace-in-file\": \"^7.2.0\",\n    \"typescript\": \"^5.9.2\",\n    \"xslt3\": \"^2.7.0\",\n    \"zotero-plugin-scaffold\": \"^0.8.0\",\n    \"zotero-types\": \"^4.1.0-beta.8\"\n  },\n  \"eslintConfig\": {\n    \"env\": {\n      \"browser\": true,\n      \"es2021\": true\n    },\n    \"root\": true,\n    \"extends\": [\n      \"eslint:recommended\",\n      \"plugin:@typescript-eslint/recommended\",\n      \"prettier\"\n    ],\n    \"overrides\": [],\n    \"parser\": \"@typescript-eslint/parser\",\n    \"parserOptions\": {\n      \"ecmaVersion\": \"latest\",\n      \"sourceType\": \"module\"\n    },\n    \"plugins\": [\n      \"@typescript-eslint\"\n    ],\n    \"rules\": {\n      \"@typescript-eslint/ban-ts-comment\": [\n        \"warn\",\n        {\n          \"ts-expect-error\": \"allow-with-description\",\n          \"ts-ignore\": \"allow-with-description\",\n          \"ts-nocheck\": \"allow-with-description\",\n          \"ts-check\": \"allow-with-description\"\n        }\n      ],\n      \"@typescript-eslint/no-unused-vars\": \"off\",\n      \"@typescript-eslint/no-explicit-any\": [\n        \"off\",\n        {\n          \"ignoreRestArgs\": true\n        }\n      ],\n      \"@typescript-eslint/no-non-null-assertion\": \"off\"\n    },\n    \"ignorePatterns\": [\n      \"**/build/**\",\n      \"**/logs/**\",\n      \"**/dist/**\",\n      \"**/node_modules/**\",\n      \"**/scripts/**\",\n      \"**/addon/chrome/content/lib/**\",\n      \"**/*.js\",\n      \"**/*.bak\"\n    ]\n  },\n  \"prettier\": {\n    \"printWidth\": 80,\n    \"tabWidth\": 2,\n    \"endOfLine\": \"lf\",\n    \"overrides\": [\n      {\n        \"files\": [\n          \"*.xhtml\"\n        ],\n        \"options\": {\n          \"htmlWhitespaceSensitivity\": \"css\"\n        }\n      }\n    ]\n  },\n  \"release-it\": {\n    \"git\": {\n      \"tagName\": \"v${version}\"\n    },\n    \"npm\": {\n      \"publish\": false\n    },\n    \"github\": {\n      \"release\": false,\n      \"assets\": [\n        \"build/*.xpi\"\n      ]\n    },\n    \"hooks\": {\n      \"before:init\": \"npm run lint\",\n      \"after:bump\": \"npm run build\",\n      \"after:release\": \"echo Successfully released ${name} v${version} to ${repo.repository}.\"\n    }\n  }\n}\n"
  },
  {
    "path": "scripts/docx/build-mml2omml.sh",
    "content": "npx xslt3 -t -xsl:scripts/docx/mml2omml.xsl -export:addon/chrome/content/lib/js/mml2omml.sef.json -nogo -relocate:on -ns:##html5"
  },
  {
    "path": "scripts/docx/mml2omml.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"\n\txmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\">\n  <xsl:output method=\"xml\" encoding=\"UTF-8\" />\n\n\n  <xsl:variable name=\"StrUCAlphabet\">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>\n  <xsl:variable name=\"StrLCAlphabet\">abcdefghijklmnopqrstuvwxyz</xsl:variable>\n\n  <!-- %%Template: match *\n\n\t\tThe catch all template, just passes through \n\t-->\n  <xsl:template match=\"*\">\n    <xsl:apply-templates select=\"*\" />\n  </xsl:template>\n\n  <!-- %%Template: match *\n\n\t\tAnother catch all template, just passes through \n\t-->\n  <xsl:template match=\"/\">\n    <m:oMath>\n      <xsl:apply-templates select=\"*\" />\n    </m:oMath>\n  </xsl:template>\n\n  <!-- %%Template: SReplace\n\n\t\tReplace all occurences of sOrig in sInput with sReplacement\n\t\tand return the resulting string. -->\n  <xsl:template name=\"SReplace\">\n    <xsl:param name=\"sInput\" />\n    <xsl:param name=\"sOrig\" />\n    <xsl:param name=\"sReplacement\" />\n\n    <xsl:choose>\n      <xsl:when test=\"not(contains($sInput, $sOrig))\">\n        <xsl:value-of select=\"$sInput\" />\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:variable name=\"sBefore\" select=\"substring-before($sInput, $sOrig)\" />\n        <xsl:variable name=\"sAfter\" select=\"substring-after($sInput, $sOrig)\" />\n        <xsl:variable name=\"sAfterProcessed\">\n          <xsl:call-template name=\"SReplace\">\n            <xsl:with-param name=\"sInput\" select=\"$sAfter\" />\n            <xsl:with-param name=\"sOrig\" select=\"$sOrig\" />\n            <xsl:with-param name=\"sReplacement\" select=\"$sReplacement\" />\n          </xsl:call-template>\n        </xsl:variable>\n\n        <xsl:value-of select=\"concat($sBefore, concat($sReplacement, $sAfterProcessed))\" />\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: OutputText\n\n\t\tPost processing on the string given and otherwise do\n\t\ta xsl:value-of on it -->\n  <xsl:template name=\"OutputText\">\n    <xsl:param name=\"sInput\" />\n\n    <!-- Add local variable as you add new post processing tasks -->\n\n    <!-- 1. Remove any unwanted characters -->\n    <xsl:variable name=\"sCharStrip\">\n      <xsl:value-of select=\"translate($sInput, '&#x2062;&#x200B;', '')\" />\n    </xsl:variable>\n\n    <!-- 2. Replace any characters as needed -->\n    <!--\tReplace &#x2A75; <-> ==\t\t\t -->\n    <xsl:variable name=\"sCharReplace\">\n      <xsl:call-template name=\"SReplace\">\n        <xsl:with-param name=\"sInput\" select=\"$sCharStrip\" />\n        <xsl:with-param name=\"sOrig\" select=\"'&#x2A75;'\" />\n        <xsl:with-param name=\"sReplacement\" select=\"'=='\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!-- Replace &#xa0; (non-breaking space) with ' ' -->\n    <xsl:variable name=\"sCharReplaceFinal\" select=\"translate($sCharReplace, '&#xa0;', ' ')\" />\n\n    <!-- Finally, return the last value -->\n    <xsl:value-of select=\"$sCharReplaceFinal\" />\n  </xsl:template>\n\n\n  <!-- Template that determines whether or the given node \n\t     ndCur is a token element that doesn't have an mglyph as \n\t\t\t a child.\n\t-->\n  <xsl:template name=\"FNonGlyphToken\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"$ndCur/self::mml:mi[not(child::mml:mglyph)] | \n\t                     $ndCur/self::mml:mn[not(child::mml:mglyph)] | \n\t                     $ndCur/self::mml:mo[not(child::mml:mglyph)] | \n\t                     $ndCur/self::mml:ms[not(child::mml:mglyph)] |\n                       $ndCur/self::mml:mtext[not(child::mml:mglyph)]\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Template used to determine if the current token element (ndCur) is the beginning of a run. \n\t\t\t A token element is the beginning of if:\n\t\t\t \n\t\t\t the count of preceding elements is 0 \n\t\t\t or \n\t\t\t the directory preceding element is not a non-glyph token.\n\t-->\n  <xsl:template name=\"FStartOfRun\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:variable name=\"fPrecSibNonGlyphToken\">\n      <xsl:call-template name=\"FNonGlyphToken\">\n        <xsl:with-param name=\"ndCur\" select=\"$ndCur/preceding-sibling::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"count($ndCur/preceding-sibling::*)=0 \n\t\t\t\t\t\t\t\t\t\t\tor $fPrecSibNonGlyphToken=0\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- Template that determines if ndCur is the argument of an nary expression. \n\t\t\t \n\t\t\t ndCur is the argument of an nary expression if:\n\t\t\t \n\t\t\t 1.  The preceding sibling is one of the following:  munder, mover, msub, msup, munder, msubsup, munderover\n\t\t\t and\n\t\t\t 2.  The preceding sibling's child is an nary char as specified by the template \"isNary\"\n\t-->\n  <xsl:template name=\"FIsNaryArgument\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"$ndCur/preceding-sibling::*[1]/child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"preceding-sibling::*[1][self::mml:munder or self::mml:mover or self::mml:munderover or\n                                                    self::mml:msub or self::mml:msup or self::mml:msubsup]\n\t\t\t\t\t\t\t      and $fNary='true'\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: mml:mrow | mml:mstyle\n\n\t\t if this row is the next sibling of an n-ary (i.e. any of \n         mover, munder, munderover, msupsub, msup, or msub with \n         the base being an n-ary operator) then ignore this. Otherwise\n         pass through -->\n  <xsl:template match=\"mml:mrow|mml:mstyle\">\n    <xsl:variable name=\"fNaryArgument\">\n      <xsl:call-template name=\"FIsNaryArgument\">\n        <xsl:with-param name=\"ndCur\" select=\".\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"$fNaryArgument=0\">\n      <xsl:variable name=\"fLinearFrac\">\n        <xsl:call-template name=\"FLinearFrac\">\n          <xsl:with-param name=\"ndCur\" select=\".\" />\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$fLinearFrac=1\">\n          <xsl:call-template name=\"MakeLinearFraction\">\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:variable name=\"fFunc\">\n            <xsl:call-template name=\"FIsFunc\">\n              <xsl:with-param name=\"ndCur\" select=\".\" />\n            </xsl:call-template>\n          </xsl:variable>\n          <xsl:choose>\n            <xsl:when test=\"$fFunc=1\">\n              <xsl:call-template name=\"WriteFunc\">\n                <xsl:with-param name=\"ndCur\" select=\".\" />\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"*\" />\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:template>\n  <xsl:template match=\"mml:mi[not(child::mml:mglyph)] | \n\t                     mml:mn[not(child::mml:mglyph)] | \n\t                     mml:mo[not(child::mml:mglyph)] | \n\t                     mml:ms[not(child::mml:mglyph)] |\n                       mml:mtext[not(child::mml:mglyph)]\">\n\n    <!-- tokens with mglyphs as children are tranformed\n\t\t\t in a different manner than \"normal\" token elements.  \n\t\t\t Where normal token elements are token elements that\n\t\t\t contain only text -->\n    <xsl:variable name=\"fStartOfRun\">\n      <xsl:call-template name=\"FStartOfRun\">\n        <xsl:with-param name=\"ndCur\" select=\".\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!--In MathML, successive characters that are all part of one string are sometimes listed as separate \n\t\t\ttags based on their type (identifier (mi), name (mn), operator (mo), quoted (ms), literal text (mtext)), \n\t\t\twhere said tags act to link one another into one logical run.  In order to wrap the text of successive mi's, \n\t\t\tmn's, and mo's into one m:t, we need to denote where a run begins.  The beginning of a run is the first mi, mn, \n\t\t\tor mo whose immediately preceding sibling either doesn't exist or is something other than a \"normal\" mi, mn, mo, \n\t\t\tms, or mtext tag-->\n\n    <!-- If this mi/mo/mn/ms . . . is part the numerator or denominator of a linear fraction, then don't collect. -->\n    <xsl:variable name=\"fLinearFracParent\">\n      <xsl:call-template name=\"FLinearFrac\">\n        <xsl:with-param name=\"ndCur\" select=\"parent::*\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <!-- If this mi/mo/mn/ms . . . is part of the name of a function, then don't collect. -->\n    <xsl:variable name=\"fFunctionName\">\n      <xsl:call-template name=\"FIsFunc\">\n        <xsl:with-param name=\"ndCur\" select=\"parent::*\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:variable name=\"fShouldCollect\"\n\t\t\t\t\tselect=\"($fLinearFracParent=0 and $fFunctionName=0) and (parent::mml:mrow or parent::mml:mstyle or \n\t\t\t\t\tparent::mml:msqrt or parent::mml:menclose or\n\t\t\t\t\tparent::mml:math or parent::mml:mphantom or \n\t\t\t\t\tparent::mml:mtd or parent::mml:maction)\" />\n\n    <!--In MathML, the meaning of the different parts that make up mathematical structures, such as a fraction \n\t\t\thaving a numerator and a denominator, is determined by the relative order of those different parts.  \n\t\t\tFor instance, In a fraction, the numerator is the first child and the denominator is the second child.  \n\t\t\tTo allow for more complex structures, MathML allows one to link a group of mi, mn, and mo's together \n\t\t\tusing the mrow, or mstyle tags.  The mi, mn, and mo's found within any of the above tags are considered \n\t\t\tone run.  Therefore, if the parent of any mi, mn, or mo is found to be an mrow or mstyle, then the contiguous \n\t\t\tmi, mn, and mo's will be considered one run.-->\n    <xsl:choose>\n      <xsl:when test=\"$fShouldCollect\">\n        <xsl:choose>\n          <xsl:when test=\"$fStartOfRun=1\">\n            <!--If this is the beginning of the run, pass all run attributes to CreateRunWithSameProp.-->\n            <xsl:call-template name=\"CreateRunWithSameProp\">\n              <xsl:with-param name=\"mathbackground\">\n                <!-- Look for the unqualified mathml attribute mathbackground.\n\t\t\t\t\t\t\t\t\t\t Fall back to the qualified mathml attribute if necessary.\n\t\t\t\t\t\t\t\t\t\t This priority of unqualified over qualified will be \n\t\t\t\t\t\t\t\t\t\t followed throughout this xslt. -->\n                <xsl:choose>\n                  <xsl:when test=\"@mathbackground\">\n                    <xsl:value-of select=\"@mathbackground\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:mathbackground\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"mathcolor\">\n                <xsl:choose>\n                  <xsl:when test=\"@mathcolor\">\n                    <xsl:value-of select=\"@mathcolor\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:mathcolor\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"mathvariant\">\n                <xsl:choose>\n                  <xsl:when test=\"@mathvariant\">\n                    <xsl:value-of select=\"@mathvariant\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:mathvariant\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"color\">\n                <xsl:choose>\n                  <xsl:when test=\"@color\">\n                    <xsl:value-of select=\"@color\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:color\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"font-family\">\n                <xsl:choose>\n                  <xsl:when test=\"@font-family\">\n                    <xsl:value-of select=\"@font-family\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:font-family\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"fontsize\">\n                <xsl:choose>\n                  <xsl:when test=\"@fontsize\">\n                    <xsl:value-of select=\"@fontsize\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:fontsize\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"fontstyle\">\n                <xsl:choose>\n                  <xsl:when test=\"@fontstyle\">\n                    <xsl:value-of select=\"@fontstyle\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:fontstyle\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"fontweight\">\n                <xsl:choose>\n                  <xsl:when test=\"@fontweight\">\n                    <xsl:value-of select=\"@fontweight\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:fontweight\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"mathsize\">\n                <xsl:choose>\n                  <xsl:when test=\"@mathsize\">\n                    <xsl:value-of select=\"@mathsize\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@mml:mathsize\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n              <xsl:with-param name=\"ndTokenFirst\" select=\".\" />\n            </xsl:call-template>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <!--Only one element will be part of run-->\n        <xsl:element name=\"m:r\">\n          <!--Create Run Properties based on current node's attributes-->\n          <xsl:call-template name=\"CreateRunProp\">\n            <xsl:with-param name=\"mathvariant\">\n              <xsl:choose>\n                <xsl:when test=\"@mathvariant\">\n                  <xsl:value-of select=\"@mathvariant\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:mathvariant\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"fontstyle\">\n              <xsl:choose>\n                <xsl:when test=\"@fontstyle\">\n                  <xsl:value-of select=\"@fontstyle\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:fontstyle\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"fontweight\">\n              <xsl:choose>\n                <xsl:when test=\"@fontweight\">\n                  <xsl:value-of select=\"@fontweight\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:fontweight\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"mathcolor\">\n              <xsl:choose>\n                <xsl:when test=\"@mathcolor\">\n                  <xsl:value-of select=\"@mathcolor\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:mathcolor\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"mathsize\">\n              <xsl:choose>\n                <xsl:when test=\"@mathsize\">\n                  <xsl:value-of select=\"@mathsize\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:mathsize\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"color\">\n              <xsl:choose>\n                <xsl:when test=\"@color\">\n                  <xsl:value-of select=\"@color\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:color\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"fontsize\">\n              <xsl:choose>\n                <xsl:when test=\"@fontsize\">\n                  <xsl:value-of select=\"@fontsize\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@mml:fontsize\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n            <xsl:with-param name=\"fNor\">\n              <xsl:call-template name=\"FNor\">\n                <xsl:with-param name=\"ndCur\" select=\".\" />\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n          <xsl:element name=\"m:t\">\n            <xsl:call-template name=\"OutputText\">\n              <xsl:with-param name=\"sInput\" select=\"normalize-space(.)\" />\n            </xsl:call-template>\n          </xsl:element>\n        </xsl:element>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: CreateRunWithSameProp\n\t-->\n  <xsl:template name=\"CreateRunWithSameProp\">\n    <xsl:param name=\"mathbackground\" />\n    <xsl:param name=\"mathcolor\" />\n    <xsl:param name=\"mathvariant\" />\n    <xsl:param name=\"color\" />\n    <xsl:param name=\"font-family\" />\n    <xsl:param name=\"fontsize\" />\n    <xsl:param name=\"fontstyle\" />\n    <xsl:param name=\"fontweight\" />\n    <xsl:param name=\"mathsize\" />\n    <xsl:param name=\"ndTokenFirst\" />\n\n    <!--Given mathcolor, color, mstyle's (ancestor) color, and precedence of \n\t\t\tsaid attributes, determine the actual color of the current run-->\n    <xsl:variable name=\"sColorPropCur\">\n      <xsl:choose>\n        <xsl:when test=\"$mathcolor!=''\">\n          <xsl:value-of select=\"$mathcolor\" />\n        </xsl:when>\n        <xsl:when test=\"$color!=''\">\n          <xsl:value-of select=\"$color\" />\n        </xsl:when>\n        <xsl:when test=\"$ndTokenFirst/ancestor::mml:mstyle[@color][1]/@color!=''\">\n          <xsl:value-of select=\"$ndTokenFirst/ancestor::mml:mstyle[@color][1]/@color\" />\n        </xsl:when>\n        <xsl:when test=\"$ndTokenFirst/ancestor::mml:mstyle[@mml:color][1]/@mml:color!=''\">\n          <xsl:value-of select=\"$ndTokenFirst/ancestor::mml:mstyle[@color][1]/@mml:color\" />\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"''\" />\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <!--Given mathsize, and fontsize and precedence of said attributes, \n\t\t\tdetermine the actual font size of the current run-->\n    <xsl:variable name=\"sSzCur\">\n      <xsl:choose>\n        <xsl:when test=\"$mathsize!=''\">\n          <xsl:value-of select=\"$mathsize\" />\n        </xsl:when>\n        <xsl:when test=\"$fontsize!=''\">\n          <xsl:value-of select=\"$fontsize\" />\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"''\" />\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <!--Given mathvariant, fontstyle, and fontweight, and precedence of \n\t\t\tthe attributes, determine the actual font of the current run-->\n    <xsl:variable name=\"sFontCur\">\n      <xsl:call-template name=\"GetFontCur\">\n        <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n        <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n        <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n        <xsl:with-param name=\"ndCur\" select=\"$ndTokenFirst\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!-- The omml equivalent structure for mml:mtext is an omml run with the run property m:nor (normal) set.\n         Therefore, we can only collect mtexts with  other mtext elements.  Suppose the $ndTokenFirst is an \n         mml:mtext, then if any of its following siblings are to be grouped, they must also be mml:text elements.  \n         The inverse is also true, suppose the $ndTokenFirst isn't an mml:mtext, then if any of its following siblings \n         are to be grouped with $ndTokenFirst, they can't be mml:mtext elements-->\n    <xsl:variable name=\"fNdTokenFirstIsMText\">\n      <xsl:choose>\n        <xsl:when test=\"$ndTokenFirst/self::mml:mtext\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <!--In order to determine the length of the run, we will find the number of nodes before the inital node in the run and\n\t\t\tthe number of nodes before the first node that DOES NOT belong to the current run.  The number of nodes that will\n\t\t\tbe printed is One Less than the difference between the latter and the former-->\n\n    <!--Find index of current node-->\n    <xsl:variable name=\"nndBeforeFirst\" select=\"count($ndTokenFirst/preceding-sibling::*)\" />\n\n    <!--Find index of next change in run properties.\n\t\t\n\t\t    The basic idea is that we want to find the position of the last node in the longest \n\t\t\t\tsequence of nodes, starting from ndTokenFirst, that can be grouped into a run.  For\n\t\t\t\texample, nodes A and B can be grouped together into the same run iff they have the same \n\t\t\t\tprops.\n\t\t\t\t\n\t\t\t\tTo accomplish this grouping, we want to find the next sibling to ndTokenFirst that shouldn't be \n\t\t\t\tincluded in the run of text.  We do this by counting the number of elements that precede the first\n\t\t\t\tsuch element that doesn't belong.  The xpath that accomplishes this is below.\n\t\t\t\t    \n\t\t\t\t\t\tCount the number of siblings the precede the first element after ndTokenFirst that shouldn't belong.\n\t\t\t\t\t\tcount($ndTokenFirst/following-sibling::*[ . . . ][1]/preceding-sibling::*)\n\t\t\t\t\t\t\n\t\t\t\tNow, the hard part to this is what is represented by the '. . .' above.  This conditional expression is \n\t\t\t\tdefining what elements *don't* belong to the current run.  The conditions are as follows:\n\t\t\t\t\n\t\t\t\tThe element is not a token element (mi, mn, mo, ms, or mtext)\n\t\t\t\t\n\t\t\t\tor\n\t\t\t\t\n\t\t\t\tThe token element contains a glyph child (this is handled separately).\n\t\t\t\t\n\t\t\t\tor\n\t\t\t\t\n\t\t\t\tThe token is an mtext and the run didn't start with an mtext, or the token isn't an mtext and the run started \n\t\t\t\twith an mtext.  We do this check because mtext transforms into an omml m:nor property, and thus, these mtext\n\t\t\t\ttoken elements need to be grouped separately from other token elements.\n\t\t\t\t\n\t\t\t\t// We do an or not( . . . ), because it was easier to define what token elements match than how they don't match.\n\t\t\t\t// Thus, this inner '. . .' defines how token attributes equate to one another.  We add the 'not' outside of to accomplish\n\t\t\t\t// the goal of the outer '. . .', which is the find the next element that *doesn't* match.\n\t\t\t\tor not(\n\t\t\t\t   The background colors match.\n\t\t\t\t\t \n\t\t\t\t\t and\n\t\t\t\t\t \n\t\t\t\t\t\t\tThe current font (sFontCur) matches the mathvariant\n\t\t\t\t\t \n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tsFontCur is normal and matches the current font characteristics\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tor \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tsFontCur is italic and matches the current font characteristics\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tor \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t. . .\n\t\t\t\t\n\t\t\t\t\t and\n\t\t\t\t\t \n\t\t\t\t\t The font family matches the current font family.\n\t\t\t\t\t ) // end of not().-->\n    <xsl:variable name=\"nndBeforeLim\" select=\"count($ndTokenFirst/following-sibling::*\n\t\t\t\t\t[(not(self::mml:mi) and not(self::mml:mn) and not(self::mml:mo) and not(self::mml:ms) and not(self::mml:mtext))\n\t\t\t\t\tor\n\t\t\t\t\t(self::mml:mi[child::mml:mglyph] or self::mml:mn[child::mml:mglyph] or self::mml:mo[child::mml:mglyph] or self::mml:ms[child::mml:mglyph] or self::mml:mtext[child::mml:mglyph])\n\t\t\t\t\tor\n\t\t\t\t\t(($fNdTokenFirstIsMText=1 and not(self::mml:mtext)) or ($fNdTokenFirstIsMText=0 and self::mml:mtext))\n\t\t\t\t\tor  \n\t\t\t\t\tnot(\n\t\t\t\t\t\t((($sFontCur=@mathvariant or $sFontCur=@mml:mathvariant)\n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t\t($sFontCur='normal'\n\t\t\t\t\t\t\t and ((@mathvariant='normal' or @mml:mathvariant='normal')\n\t\t\t\t\t\t\t\t\t  or (((not(@mathvariant) or @mathvariant='') and (not(@mml:mathvariant) or @mml:mathvariant=''))\n\t\t\t\t\t\t\t\t\t\t\t  and (\n\t\t\t\t\t\t\t\t\t           ((@fontstyle='normal' or @mml:fontstyle='normal') and (not(@fontweight='bold') and not(@mml:fontweight='bold')))\n\t\t\t\t\t\t\t\t\t           or (self::mml:mi and string-length(normalize-space(.)) &gt; 1)\n\t\t\t\t\t\t\t\t\t           or (self::mml:mn and string(number(self::mml:mn/text()))='NaN')\n\t\t\t\t\t\t\t\t\t          )\n\t\t\t\t\t\t\t\t\t     )\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t\t($sFontCur='italic' \n\t\t\t\t\t\t\t and ((@mathvariant='italic' or @mml:mathvariant='italic')\n\t\t\t\t\t\t\t\t\t  or (((not(@mathvariant) or @mathvariant='') and (not(@mml:mathvariant) or @mml:mathvariant=''))\n\t\t\t\t\t\t\t\t\t\t\t\tand (\n\t\t\t\t\t\t\t\t\t           ((@fontstyle='italic' or @mml:fontstyle='italic') and (not(@fontweight='bold') and not(@mml:fontweight='bold')))\n\t\t\t\t\t\t\t\t\t\t         or  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t((self::mml:mn and string(number(self::mml:mn/text()))!='NaN')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t or self::mml:mo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t or (self::mml:mi and string-length(normalize-space(.)) &lt;= 1)\n\t\t\t\t\t\t\t\t\t            )\n\t\t\t\t\t\t\t\t\t          )\n\t\t\t\t\t\t\t\t\t     )\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t) \n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t\t($sFontCur='bold'\n\t\t\t\t\t\t\t and ((@mathvariant='bold' or @mml:mathvariant='bold')\n\t\t\t\t\t\t\t\t\t  or (((not(@mathvariant) or @mathvariant='') and (not(@mml:mathvariant) or @mml:mathvariant=''))\n\t\t\t\t\t\t\t\t\t      and (\n\t\t\t\t\t\t\t\t\t           ((@fontweight='bold' or @mml:fontweight='bold')\n\t\t\t\t\t\t\t\t\t           and ((@fontstyle='normal' or @mml:fontstyle='normal') or (self::mml:mi and string-length(normalize-space(.)) &lt;= 1))\n\t\t\t\t\t\t\t\t\t          )\n\t\t\t\t\t\t\t\t\t     )\n\t\t\t\t\t\t\t\t\t   )  \n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t  or\n\t\t\t\t\t\t\t(($sFontCur='bi' or $sFontCur='bold-italic')\n\t\t\t\t\t\t\t and (\n\t\t\t\t\t\t\t\t\t  (@mathvariant='bold-italic' or @mml:mathvariant='bold-italic')\n\t\t\t\t\t\t\t\t\t  or (((not(@mathvariant) or @mathvariant='') and (not(@mml:mathvariant) or @mml:mathvariant=''))\n\t\t\t\t\t\t\t\t\t\t\t\tand (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ((@fontweight='bold' or @mml:fontweight='bold') and (@fontstyle='italic' or @mml:fontstyle='italic'))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t or ((@fontweight='bold' or @mml:fontweight='bold')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t and (self::mml:mn \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t  or self::mml:mo \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tor (self::mml:mi and string-length(normalize-space(.)) &lt;= 1)))\n\t\t\t\t\t\t\t\t\t          )\n\t\t\t\t\t\t\t\t\t     )\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t)\t\t     \n\t\t\t\t\t\t\tor\n              (($sFontCur='' \n                 and (\n                     ((not(@mathvariant) or @mathvariant='')\n                        and (not(@mml:mathvariant) or @mml:mathvariant='')\n                        and (not(@fontstyle) or @fontstyle='')\n                        and (not(@mml:fontstyle) or @mml:fontstyle='')\n                        and (not(@fontweight)or @fontweight='')\n                        and (not(@mml:fontweight) or @mml:fontweight='')\n\t\t              ) \n                      or \n                        (@mathvariant='italic' or @mml:mathvariant='italic')  \n                      or (\n                           ((not(@mathvariant) or @mathvariant='') and (not(@mml:mathvariant) or @mml:mathvariant=''))\n                               and (\n\t                                 (((@fontweight='normal' or @mml:fontweight='normal') \n\t\t                                and (@fontstyle='italic' or @mml:fontstyle='italic'))\n\t                                 )\n\t                                 or\n\t\t                                ((not(@fontweight) or @fontweight='') and (not(@mml:fontweight) or @mml:fontweight=''))\n\t\t\t                                and (@fontstyle='italic' or @mml:fontstyle='italic')\n\t                                 or\n\t\t                                ((not(@fontweight) or @fontweight='') and (not(@mml:fontweight) or @mml:fontweight=''))\n\t\t\t                                and (not(@fontstyle) or @fontstyle='')\n\t\t\t                                and (not(@mml:fontstyle) or @mml:fontstyle=''))\n                            )\n\t\t              )\n\n              ))\n\t\t\t\t\t\t\tor\n              ($sFontCur='normal' \n               and ((self::mml:mi \n                     and (not(@mathvariant) or @mathvariant='')\n\t                 and (not(@mml:mathvariant) or @mml:mathvariant)\n\t                 and (not(@fontstyle) or @fontstyle='') \n\t                 and (not(@mml:fontstyle) or @mml:fontstyle='')\n\t                 and (not(@fontweight) or @fontweight='') \n\t                 and (not(@mml:fontweight) or @mml:fontweight='')\n\t                 and (string-length(normalize-space(.)) &gt; 1)\n\t                 )\n\t                or ((self::mml:ms or self::mml:mtext) \n\t\t                and (not(@mathvariant) or @mathvariant='')\n\t\t                and (not(@mml:mathvariant) or @mml:mathvariant)\n\t\t                and (not(@fontstyle) or @fontstyle)\n\t\t                and (not(@fontstyle) or @fontstyle='')\n\t\t                and (not(@fontweight) or @fontweight)\n\t\t                and (not(@mml:fontweight) or @mml:fontweight='')\n\t\t                )\n\t                )\n              )\t\t\t \n\t\t\t\t\t\t)\n\t\t\t\t\t\tand\n            (($font-family = @font-family or $font-family = @mml:font-family)\n              or (($font-family='' or not($font-family))\n\t              and (not(@font-family) or @font-family='')\n\t              and (not(@mml:font-family) or @mml:font-family='')\n\t             ) \n            )\n\t\t\t\t\t))\n\t\t\t\t\t][1]/preceding-sibling::*)\" />\n\n    <xsl:variable name=\"cndRun\" select=\"$nndBeforeLim - $nndBeforeFirst\" />\n\n    <!--Contiguous groups of like-property mi, mn, and mo's are separated by non- mi, mn, mo tags, or mi,mn, or mo\n\t\t\ttags with different properties.  nndBeforeLim is the number of nodes before the next tag which separates contiguous \n\t\t\tgroups of like-property mi, mn, and mo's.  Knowing this delimiting tag allows for the aggregation of the correct \n\t\t\tnumber of mi, mn, and mo tags.-->\n    <xsl:element name=\"m:r\">\n\n      <!--The beginning and ending of the current run has been established. Now we should open a run element-->\n      <xsl:choose>\n\n        <!--If cndRun > 0, then there is a following diffrent prop, or non- Token, \n\t\t\t\t\t\talthough there may or may not have been a preceding different prop, or non-\n\t\t\t\t\t\tToken-->\n        <xsl:when test=\"$cndRun &gt; 0\">\n          <xsl:call-template name=\"CreateRunProp\">\n            <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n            <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n            <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n            <xsl:with-param name=\"mathcolor\" select=\"$mathcolor\" />\n            <xsl:with-param name=\"mathsize\" select=\"$mathsize\" />\n            <xsl:with-param name=\"color\" select=\"$color\" />\n            <xsl:with-param name=\"fontsize\" select=\"$fontsize\" />\n            <xsl:with-param name=\"ndCur\" select=\"$ndTokenFirst\" />\n            <xsl:with-param name=\"fNor\">\n              <xsl:call-template name=\"FNor\">\n                <xsl:with-param name=\"ndCur\" select=\"$ndTokenFirst\" />\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n          <xsl:element name=\"m:t\">\n            <xsl:call-template name=\"OutputText\">\n              <xsl:with-param name=\"sInput\">\n                <xsl:choose>\n                  <xsl:when test=\"namespace-uri($ndTokenFirst) = 'http://www.w3.org/1998/Math/MathML' and local-name($ndTokenFirst) = 'ms'\">\n                    <xsl:call-template name=\"OutputMs\">\n                      <xsl:with-param name=\"msCur\" select=\"$ndTokenFirst\" />\n                    </xsl:call-template>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"normalize-space($ndTokenFirst)\" />\n                  </xsl:otherwise>\n                </xsl:choose>\n                <xsl:for-each select=\"$ndTokenFirst/following-sibling::*[position() &lt; $cndRun]\">\n                  <xsl:choose>\n                    <xsl:when test=\"namespace-uri(.) = 'http://www.w3.org/1998/Math/MathML' and \n\t\t\t\t\t\t\t\t\t\t\t\t\tlocal-name(.) = 'ms'\">\n                      <xsl:call-template name=\"OutputMs\">\n                        <xsl:with-param name=\"msCur\" select=\".\" />\n                      </xsl:call-template>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:value-of select=\"normalize-space(.)\" />\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </xsl:for-each>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:element>\n        </xsl:when>\n        <xsl:otherwise>\n\n          <!--if cndRun lt;= 0, then iNextNonToken = 0, \n\t\t\t\t\t\tand iPrecNonToken gt;= 0.  In either case, b/c there \n\t\t\t\t\t\tis no next different property or non-Token \n\t\t\t\t\t\t(which is implied by the nndBeforeLast being equal to 0) \n\t\t\t\t\t\tyou can put all the remaining mi, mn, and mo's into one \n\t\t\t\t\t\tgroup.-->\n          <xsl:call-template name=\"CreateRunProp\">\n            <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n            <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n            <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n            <xsl:with-param name=\"mathcolor\" select=\"$mathcolor\" />\n            <xsl:with-param name=\"mathsize\" select=\"$mathsize\" />\n            <xsl:with-param name=\"color\" select=\"$color\" />\n            <xsl:with-param name=\"fontsize\" select=\"$fontsize\" />\n            <xsl:with-param name=\"ndCur\" select=\"$ndTokenFirst\" />\n            <xsl:with-param name=\"fNor\">\n              <xsl:call-template name=\"FNor\">\n                <xsl:with-param name=\"ndCur\" select=\"$ndTokenFirst\" />\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n          <xsl:element name=\"m:t\">\n\n            <!--Create the Run, first output current, then in a \n\t\t\t\t\t\t\tfor-each, because all the following siblings are\n\t\t\t\t\t\t\tmn, mi, and mo's that conform to the run's properties,\n\t\t\t\t\t\t\tgroup them together-->\n            <xsl:call-template name=\"OutputText\">\n              <xsl:with-param name=\"sInput\">\n                <xsl:choose>\n                  <xsl:when test=\"namespace-uri($ndTokenFirst) = 'http://www.w3.org/1998/Math/MathML' and \n\t\t\t\t\t\t\t\t\t\t\t\t\tlocal-name($ndTokenFirst) = 'ms'\">\n                    <xsl:call-template name=\"OutputMs\">\n                      <xsl:with-param name=\"msCur\" select=\"$ndTokenFirst\" />\n                    </xsl:call-template>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"normalize-space($ndTokenFirst)\" />\n                  </xsl:otherwise>\n                </xsl:choose>\n                <xsl:for-each select=\"$ndTokenFirst/following-sibling::*[self::mml:mi or self::mml:mn or self::mml:mo or self::mml:ms or self::mml:mtext]\">\n                  <xsl:choose>\n                    <xsl:when test=\"namespace-uri(.) = 'http://www.w3.org/1998/Math/MathML' and \n\t\t\t\t\t\t\t\t\t\t\t\t\tlocal-name(.) = 'ms'\">\n                      <xsl:call-template name=\"OutputMs\">\n                        <xsl:with-param name=\"msCur\" select=\".\" />\n                      </xsl:call-template>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:value-of select=\"normalize-space(.)\" />\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </xsl:for-each>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:element>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:element>\n\n    <!--The run was terminated by an mi, mn, mo, ms, or mtext with different properties, \n\t\t\t\ttherefore, call-template CreateRunWithSameProp, using cndRun+1 node as new start node-->\n    <xsl:if test=\"$nndBeforeLim!=0 \n           and ($ndTokenFirst/following-sibling::*[$cndRun]/self::mml:mi or \n\t\t\t\t\t      $ndTokenFirst/following-sibling::*[$cndRun]/self::mml:mn or\n\t\t\t\t\t      $ndTokenFirst/following-sibling::*[$cndRun]/self::mml:mo or\n\t\t\t\t\t      $ndTokenFirst/following-sibling::*[$cndRun]/self::mml:ms or\n                $ndTokenFirst/following-sibling::*[$cndRun]/self::mml:mtext) \n            and (count($ndTokenFirst/following-sibling::*[$cndRun]/mml:mglyph) = 0)\">\n      <xsl:call-template name=\"CreateRunWithSameProp\">\n        <xsl:with-param name=\"mathbackground\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathbackground\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathbackground\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:mathbackground\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"mathcolor\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathcolor\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathcolor\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:mathcolor\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"mathvariant\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathvariant\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathvariant\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:mathvariant\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"color\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@color\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@color\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:color\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"font-family\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@font-family\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@font-family\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:font-family\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"fontsize\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontsize\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontsize\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:fontsize\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"fontstyle\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontstyle\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontstyle\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:fontstyle\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"fontweight\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontweight\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@fontweight\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:fontweight\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"mathsize\">\n          <xsl:choose>\n            <xsl:when test=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathsize\">\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mathsize\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"$ndTokenFirst/following-sibling::*[$cndRun]/@mml:mathsize\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"ndTokenFirst\" select=\"$ndTokenFirst/following-sibling::*[$cndRun]\" />\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:template>\n\n  <!-- %%Template: FNor\n\t\t\t\t Given the context of ndCur, determine if ndCur should be omml's normal style.\n\t-->\n  <xsl:template name=\"FNor\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:choose>\n      <!-- Is the current node an mml:mtext, or if this is an mglyph whose parent is \n             an mml:mtext. -->\n      <xsl:when test=\"$ndCur/self::mml:mtext or ($ndCur/self::mml:mglyph and parent::mml:mtext)\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: CreateRunProp\n\t-->\n  <xsl:template name=\"CreateRunProp\">\n    <xsl:param name=\"mathbackground\" />\n    <xsl:param name=\"mathcolor\" />\n    <xsl:param name=\"mathvariant\" />\n    <xsl:param name=\"color\" />\n    <xsl:param name=\"font-family\" />\n    <xsl:param name=\"fontsize\" />\n    <xsl:param name=\"fontstyle\" />\n    <xsl:param name=\"fontweight\" />\n    <xsl:param name=\"mathsize\" />\n    <xsl:param name=\"ndCur\" />\n    <xsl:param name=\"fontfamily\" />\n    <xsl:param name=\"fNor\" />\n    <xsl:variable name=\"mstyleColor\">\n      <xsl:if test=\"not(not($ndCur))\">\n        <xsl:choose>\n          <xsl:when test=\"$ndCur/ancestor::mml:mstyle[@color][1]/@color\">\n            <xsl:value-of select=\"$ndCur/ancestor::mml:mstyle[@color][1]/@color\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$ndCur/ancestor::mml:mstyle[@color][1]/@mml:color\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:variable>\n    <xsl:call-template name=\"CreateMathRPR\">\n      <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n      <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n      <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n      <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n      <xsl:with-param name=\"fNor\" select=\"$fNor\" />\n    </xsl:call-template>\n  </xsl:template>\n\n  <!-- %%Template: CreateMathRPR\n\t-->\n  <xsl:template name=\"CreateMathRPR\">\n    <xsl:param name=\"mathvariant\" />\n    <xsl:param name=\"fontstyle\" />\n    <xsl:param name=\"fontweight\" />\n    <xsl:param name=\"ndCur\" />\n    <xsl:param name=\"fNor\" />\n    <xsl:variable name=\"sFontCur\">\n      <xsl:call-template name=\"GetFontCur\">\n        <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n        <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n        <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n        <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"$fNor=1 or ($sFontCur!='italic' and $sFontCur!='')\">\n      <xsl:element name=\"m:rPr\">\n        <xsl:if test=\"$fNor=1\">\n          <m:nor />\n        </xsl:if>\n        <xsl:call-template name=\"CreateMathScrStyProp\">\n          <xsl:with-param name=\"font\" select=\"$sFontCur\" />\n          <xsl:with-param name=\"fNor\" select=\"$fNor\" />\n        </xsl:call-template>\n      </xsl:element>\n    </xsl:if>\n  </xsl:template>\n\n  <!-- %%Template: GetFontCur\n\t-->\n  <xsl:template name=\"GetFontCur\">\n    <xsl:param name=\"ndCur\" />\n    <xsl:param name=\"mathvariant\" />\n    <xsl:param name=\"fontstyle\" />\n    <xsl:param name=\"fontweight\" />\n    <xsl:choose>\n      <xsl:when test=\"$mathvariant!=''\">\n        <xsl:value-of select=\"$mathvariant\" />\n      </xsl:when>\n      <xsl:when test=\"not($ndCur)\">\n        <xsl:value-of select=\"'italic'\" />\n      </xsl:when>\n      <xsl:when test=\"$ndCur/self::mml:mi and (string-length(normalize-space($ndCur)) &lt;= 1)\n\t\t\t\t\t\t\t\t      or $ndCur/self::mml:mn and string(number($ndCur/text()))!='NaN'\n\t\t\t\t\t\t\t\t      or $ndCur/self::mml:mo\">\n\n        <!-- The default for the above three cases is fontstyle=italic fontweight=normal.-->\n        <xsl:choose>\n          <xsl:when test=\"$fontstyle='normal' and $fontweight='bold'\">\n            <!-- In omml, a sty of 'b' (which is what bold is translated into)\n\t\t\t\t\t\t     implies a normal fontstyle -->\n            <xsl:value-of select=\"'bold'\" />\n          </xsl:when>\n          <xsl:when test=\"$fontstyle='normal'\">\n            <xsl:value-of select=\"'normal'\" />\n          </xsl:when>\n          <xsl:when test=\"$fontweight='bold'\">\n            <xsl:value-of select=\"'bi'\" />\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"'italic'\" />\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <!--Default is fontweight = 'normal' and fontstyle='normal'-->\n        <xsl:choose>\n          <xsl:when test=\"$fontstyle='italic' and $fontweight='bold'\">\n            <xsl:value-of select=\"'bi'\" />\n          </xsl:when>\n          <xsl:when test=\"$fontstyle='italic'\">\n            <xsl:value-of select=\"'italic'\" />\n          </xsl:when>\n          <xsl:when test=\"$fontweight='bold'\">\n            <xsl:value-of select=\"'bold'\" />\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"'normal'\" />\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: CreateMathScrStyProp\n\t-->\n  <xsl:template name=\"CreateMathScrStyProp\">\n    <xsl:param name=\"font\" />\n    <xsl:param name=\"fNor\" select=\"0\"/>\n    <xsl:choose>\n      <xsl:when test=\"$font='normal' and $fNor=0\">\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">p</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='bold'\">\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">b</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='italic'\">\n      </xsl:when>\n      <xsl:when test=\"$font='script'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">script</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='bold-script'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">script</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">b</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='double-struck'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">double-struck</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">p</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='fraktur'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">fraktur</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">p</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='bold-fraktur'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">fraktur</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">b</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='sans-serif'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">sans-serif</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">p</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='bold-sans-serif'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">sans-serif</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">b</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='sans-serif-italic'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">sans-serif</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='sans-serif-bold-italic'\">\n        <xsl:element name=\"m:scr\">\n          <xsl:attribute name=\"m:val\">sans-serif</xsl:attribute>\n        </xsl:element>\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">bi</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='monospace'\" />\n      <!-- We can't do monospace, so leave empty -->\n      <xsl:when test=\"$font='bold'\">\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">b</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n      <xsl:when test=\"$font='bi' or $font='bold-italic'\">\n        <xsl:element name=\"m:sty\">\n          <xsl:attribute name=\"m:val\">bi</xsl:attribute>\n        </xsl:element>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"FBar\">\n    <xsl:param name=\"sLineThickness\" />\n    <xsl:variable name=\"sLowerLineThickness\" select=\"translate($sLineThickness, $StrUCAlphabet, $StrLCAlphabet)\" />\n    <xsl:choose>\n      <xsl:when test=\"string-length($sLowerLineThickness)=0\n                      or $sLowerLineThickness='thin' \n                      or $sLowerLineThickness='medium' \n                      or $sLowerLineThickness='thick'\">1</xsl:when>\n      <xsl:otherwise>\n        <xsl:variable name=\"fStrContainsNonZeroDigit\">\n          <xsl:call-template name=\"FStrContainsNonZeroDigit\">\n            <xsl:with-param name=\"s\" select=\"$sLowerLineThickness\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$fStrContainsNonZeroDigit=1\">1</xsl:when>\n          <xsl:otherwise>0</xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: match mfrac \n\t\t-->\n  <xsl:template match=\"mml:mfrac\">\n    <xsl:variable name=\"fBar\">\n      <xsl:call-template name=\"FBar\">\n        <xsl:with-param name=\"sLineThickness\">\n          <xsl:choose>\n            <xsl:when test=\"@linethickness\">\n              <xsl:value-of select=\"@linethickness\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:linethickness\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:element name=\"m:f\">\n      <xsl:element name=\"m:fPr\">\n        <xsl:element name=\"m:type\">\n          <xsl:attribute name=\"m:val\">\n            <xsl:choose>\n              <xsl:when test=\"$fBar=0\">noBar</xsl:when>\n              <xsl:when test=\"@bevelled='true' or @mml:bevelled='true'\">skw</xsl:when>\n              <xsl:otherwise>bar</xsl:otherwise>\n            </xsl:choose>\n          </xsl:attribute>\n        </xsl:element>\n      </xsl:element>\n      <xsl:element name=\"m:num\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"child::*[1]\" />\n      </xsl:element>\n      <xsl:element name=\"m:den\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"child::*[2]\" />\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n  <!-- %%Template: match menclose msqrt\n\t-->\n  <xsl:template match=\"mml:menclose | mml:msqrt\">\n    <xsl:variable name=\"sLowerCaseNotation\">\n      <xsl:choose>\n        <xsl:when test=\"@notation\">\n          <xsl:value-of select=\"translate(@notation, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"translate(@mml:notation, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:choose>\n      <!-- Take care of default -->\n      <xsl:when test=\"$sLowerCaseNotation='radical' \n                      or not($sLowerCaseNotation) \n                      or $sLowerCaseNotation='' \n                      or self::mml:msqrt\">\n        <xsl:element name=\"m:rad\">\n          <xsl:element name=\"m:radPr\">\n            <xsl:element name=\"m:degHide\">\n              <xsl:attribute name=\"m:val\">on</xsl:attribute>\n            </xsl:element>\n          </xsl:element>\n          <xsl:element name=\"m:deg\">\n            <xsl:call-template name=\"CreateArgProp\" />\n          </xsl:element>\n          <xsl:element name=\"m:e\">\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"*\" />\n          </xsl:element>\n        </xsl:element>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:choose>\n          <xsl:when test=\"$sLowerCaseNotation='actuarial' or $sLowerCaseNotation='longdiv'\" />\n          <xsl:otherwise>\n            <xsl:element name=\"m:borderBox\">\n              <!-- Dealing with more complex notation attribute -->\n              <xsl:variable name=\"fBox\">\n                <xsl:choose>\n                  <!-- Word doesn't have circle and roundedbox concepts, therefore, map both to a \n                       box. -->\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'box')\n                                  or contains($sLowerCaseNotation, 'circle')\n                                  or contains($sLowerCaseNotation, 'roundedbox')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fTop\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'top')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fBot\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'bottom')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fLeft\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'left')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fRight\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'right')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fStrikeH\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'horizontalstrike')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fStrikeV\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'verticalstrike')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fStrikeBLTR\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'updiagonalstrike')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n              <xsl:variable name=\"fStrikeTLBR\">\n                <xsl:choose>\n                  <xsl:when test=\"contains($sLowerCaseNotation, 'downdiagonalstrike')\">1</xsl:when>\n                  <xsl:otherwise>0</xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n\n              <!-- Should we create borderBoxPr? \n                   We should if the enclosure isn't Word's default, which is\n                   a plain box -->\n              <xsl:if test=\"$fStrikeH=1 \n                          or $fStrikeV=1\n                          or $fStrikeBLTR=1 \n                          or $fStrikeTLBR=1\n                          or ($fBox=0\n                              and not($fTop=1 \n                                      and $fBot=1\n                                      and $fLeft=1\n                                      and $fRight=1)\n                              )\">\n                <xsl:element name=\"m:borderBoxPr\">\n                  <xsl:if test=\"$fBox=0\">\n                    <xsl:if test=\"$fTop=0\">\n                      <xsl:element name=\"m:hideTop\">\n                        <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                      </xsl:element>\n                    </xsl:if>\n                    <xsl:if test=\"$fBot=0\">\n                      <xsl:element name=\"m:hideBot\">\n                        <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                      </xsl:element>\n                    </xsl:if>\n                    <xsl:if test=\"$fLeft=0\">\n                      <xsl:element name=\"m:hideLeft\">\n                        <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                      </xsl:element>\n                    </xsl:if>\n                    <xsl:if test=\"$fRight=0\">\n                      <xsl:element name=\"m:hideRight\">\n                        <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                      </xsl:element>\n                    </xsl:if>\n                  </xsl:if>\n                  <xsl:if test=\"$fStrikeH=1\">\n                    <xsl:element name=\"m:strikeH\">\n                      <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                    </xsl:element>\n                  </xsl:if>\n                  <xsl:if test=\"$fStrikeV=1\">\n                    <xsl:element name=\"m:strikeV\">\n                      <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                    </xsl:element>\n                  </xsl:if>\n                  <xsl:if test=\"$fStrikeBLTR=1\">\n                    <xsl:element name=\"m:strikeBLTR\">\n                      <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                    </xsl:element>\n                  </xsl:if>\n                  <xsl:if test=\"$fStrikeTLBR=1\">\n                    <xsl:element name=\"m:strikeTLBR\">\n                      <xsl:attribute name=\"m:val\">on</xsl:attribute>\n                    </xsl:element>\n                  </xsl:if>\n                </xsl:element>\n              </xsl:if>\n              <xsl:element name=\"m:e\">\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"*\" />\n              </xsl:element>\n            </xsl:element>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: CreateArgProp\n\t-->\n  <xsl:template name=\"CreateArgProp\">\n    <xsl:if test=\"not(count(ancestor-or-self::mml:mstyle[@scriptlevel='0' or @scriptlevel='1' or @scriptlevel='2'])=0)\n                  or not(count(ancestor-or-self::mml:mstyle[@mml:scriptlevel='0' or @mml:scriptlevel='1' or @mml:scriptlevel='2'])=0)\">\n      <xsl:element name=\"m:argPr\">\n        <xsl:element name=\"m:scrLvl\">\n          <xsl:attribute name=\"m:val\">\n            <xsl:choose>\n              <xsl:when test=\"ancestor-or-self::mml:mstyle[@scriptlevel][1]/@scriptlevel\">\n                <xsl:value-of select=\"ancestor-or-self::mml:mstyle[@scriptlevel][1]/@scriptlevel\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"ancestor-or-self::mml:mstyle[@scriptlevel][1]/@mml:scriptlevel\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:attribute>\n        </xsl:element>\n      </xsl:element>\n    </xsl:if>\n  </xsl:template>\n\n  <!-- %%Template: match mroot\n\t-->\n  <xsl:template match=\"mml:mroot\">\n    <xsl:element name=\"m:rad\">\n      <xsl:element name=\"m:radPr\">\n        <xsl:element name=\"m:degHide\">\n          <xsl:attribute name=\"m:val\">off</xsl:attribute>\n        </xsl:element>\n      </xsl:element>\n      <xsl:element name=\"m:deg\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"child::*[2]\" />\n      </xsl:element>\n      <xsl:element name=\"m:e\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"child::*[1]\" />\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n  <!-- MathML has no concept of a linear fraction.  When transforming a linear fraction\n       from Omml to MathML, we create the following MathML:\n       \n       <mml:mrow>\n         <mml:mrow>\n            // numerator\n         </mml:mrow>\n         <mml:mo>/</mml:mo>\n         <mml:mrow>\n            // denominator\n         </mml:mrow>\n       </mml:mrow>\n       \n       This template looks for four things:\n          1.  ndCur is an mml:mrow\n          2.  ndCur has three children\n          3.  The second child is an <mml:mo>\n          4.  The second child's text is '/'\n       \n       -->\n  <xsl:template name=\"FLinearFrac\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:variable name=\"sNdText\">\n      <xsl:value-of select=\"normalize-space($ndCur/*[2])\"/>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- I spy a linear fraction -->\n      <xsl:when test=\"$ndCur/self::mml:mrow\n                      and count($ndCur/*)=3\n                      and $ndCur/*[2][self::mml:mo]\n                      and $sNdText='/'\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Though presentation mathml can certainly typeset any generic function with the\n\t     appropriate function operator spacing, presentation MathML has no concept of \n\t\t\t a function structure like omml does.  In order to preserve the omml <func> \n\t\t\t element, we must establish how an omml <func> element looks in mml.  This \n\t\t\t is shown below:\n       \n       <mml:mrow>\n         <mml:mrow>\n            // function name\n         </mml:mrow>\n         <mml:mo>&#x02061;</mml:mo>\n         <mml:mrow>\n            // function argument\n         </mml:mrow>\n       </mml:mrow>\n       \n       This template looks for six things to be true:\n\t\t\t\t\t1.  ndCur is an mml:mrow\n\t\t\t\t\t2.  ndCur has three children\n\t\t\t\t\t3.  The first child is an <mml:mrow>\n\t\t\t\t\t4.  The second child is an <mml:mo>\n\t\t\t\t\t5.  The third child is an <mml:mrow>\n\t\t\t\t\t6.  The second child's text is '&#x02061;'\n       -->\n  <xsl:template name=\"FIsFunc\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:variable name=\"sNdText\">\n      <xsl:value-of select=\"normalize-space($ndCur/*[2])\"/>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- Is this an omml function -->\n      <xsl:when test=\"count($ndCur/*)=3\n\t\t\t\t\t\t\t\t      and $ndCur/self::*[self::mml:mrow]\n                      and $ndCur/*[2][self::mml:mo]\n                      and $sNdText='&#x02061;'\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Given the node of the linear fraction's parent mrow, \n       make a linear fraction -->\n  <xsl:template name=\"MakeLinearFraction\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:element name=\"m:f\">\n      <xsl:element name=\"m:fPr\">\n        <xsl:element name=\"m:type\">\n          <xsl:attribute name=\"m:val\">lin</xsl:attribute>\n        </xsl:element>\n      </xsl:element>\n      <xsl:element name=\"m:num\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"$ndCur/*[1]\" />\n      </xsl:element>\n      <xsl:element name=\"m:den\">\n        <xsl:call-template name=\"CreateArgProp\" />\n        <xsl:apply-templates select=\"$ndCur/*[3]\" />\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n\n  <!-- Given the node of the function's parent mrow, \n       make an omml function -->\n  <xsl:template name=\"WriteFunc\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:element name=\"m:func\">\n      <xsl:element name=\"m:fName\">\n        <xsl:apply-templates select=\"$ndCur/child::*[1]\" />\n      </xsl:element>\n      <xsl:element name=\"m:e\">\n        <xsl:apply-templates select=\"$ndCur/child::*[3]\" />\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n\n  <!-- MathML doesn't have the concept of nAry structures.  The best approximation\n       to these is to have some under/over or sub/sup followed by an mrow or mstyle.\n       \n       In the case that we've come across some under/over or sub/sup that contains an \n       nAry operator, this function handles the following sibling to the nAry structure.\n       \n       If the following sibling is:\n       \n          mml:mstyle, then apply templates to the children of this mml:mstyle\n          \n          mml:mrow, determine if this mrow is a linear fraction \n          (see comments for FlinearFrac template).\n              If so, make an Omml linear fraction.\n              If not, apply templates as was done for mml:mstyle.\n       \n       -->\n  <xsl:template name=\"NaryHandleMrowMstyle\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <!-- if the next sibling is an mrow, pull it in by \n\t\t\t\t\t\t\tdoing whatever we would have done to its children. \n\t\t\t\t\t\t\tThe mrow itself will be skipped, see template above. -->\n    <xsl:choose>\n      <xsl:when test=\"$ndCur[self::mml:mrow]\">\n        <!-- Check for linear fraction -->\n        <xsl:variable name=\"fLinearFrac\">\n          <xsl:call-template name=\"FLinearFrac\">\n            <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$fLinearFrac=1\">\n            <xsl:call-template name=\"MakeLinearFraction\">\n              <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n            </xsl:call-template>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:variable name=\"fFunc\">\n              <xsl:call-template name=\"FIsFunc\">\n                <xsl:with-param name=\"ndCur\" select=\".\" />\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:choose>\n              <xsl:when test=\"$fFunc=1\">\n                <xsl:call-template name=\"WriteFunc\">\n                  <xsl:with-param name=\"ndCur\" select=\".\" />\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:apply-templates select=\"$ndCur/*\" />\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:when test=\"$ndCur[self::mml:mstyle]\">\n        <xsl:apply-templates select=\"$ndCur/*\" />\n      </xsl:when>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- MathML munder/mover can represent several Omml constructs \n       (m:bar, m:limLow, m:limUpp, m:acc, m:groupChr, etc.).  The following \n       templates (FIsBar, FIsAcc, and FIsGroupChr) are used to determine \n\t\t\t which of these Omml constructs an munder/mover should be translated into. -->\n\n  <!-- Note:  ndCur should only be an munder/mover MathML element.\n  \n       ndCur should be interpretted as an m:bar if\n          1)  its respective accent attribute is not true\n          2)  its second child is an mml:mo\n          3)  the character of the mml:mo is the correct under/over bar. -->\n  <xsl:template name=\"FIsBar\">\n    <xsl:param name=\"ndCur\" />\n    <xsl:variable name=\"fUnder\">\n      <xsl:choose>\n        <xsl:when test=\"$ndCur[self::mml:munder]\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"sLowerCaseAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$fUnder=1\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/@accentunder\">\n              <xsl:value-of select=\"translate($ndCur/@accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/@mml:accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/@accent\">\n              <xsl:value-of select=\"translate($ndCur/@accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/@mml:accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$sLowerCaseAccent='true'\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- The script is unaccented and the second child is an mo -->\n      <xsl:when test=\"$fAccent = 0 \n                      and $ndCur/child::*[2]/self::mml:mo\">\n        <xsl:variable name=\"sOperator\">\n          <xsl:value-of select=\"$ndCur/child::*[2]\" />\n        </xsl:variable>\n        <xsl:choose>\n          <!-- Should we write an underbar? -->\n          <xsl:when test=\"$fUnder = 1\">\n            <xsl:choose>\n              <xsl:when test=\"$sOperator = '&#x0332;' or $sOperator = '&#x005F;'\">1</xsl:when>\n              <xsl:otherwise>0</xsl:otherwise>\n            </xsl:choose>\n          </xsl:when>\n          <!-- Should we write an overbar? -->\n          <xsl:otherwise>\n            <xsl:choose>\n              <xsl:when test=\"$sOperator = '&#x0305;' or $sOperator = '&#x00AF;'\">1</xsl:when>\n              <xsl:otherwise>0</xsl:otherwise>\n            </xsl:choose>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- Note:  ndCur should only be an mover MathML element.\n  \n       ndCur should be interpretted as an m:acc if\n          1)  its accent attribute is true\n          2)  its second child is an mml:mo\n          3)  there is only zero or one character in the mml:mo -->\n  <xsl:template name=\"FIsAcc\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:variable name=\"sLowerCaseAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$ndCur/@accent\">\n          <xsl:value-of select=\"translate($ndCur/@accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"translate($ndCur/@mml:accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"sLowerCaseMoAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$ndCur/child::*[2] = mml:mo and $ndCur/child::*[2]/@accent\">\n          <xsl:value-of select=\"translate($ndCur/child::*[2]/@accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:when>\n        <xsl:when test=\"$ndCur/child::*[2] = mml:mo and $ndCur/child::*[2]/@mml:accent\">\n          <xsl:value-of select=\"translate($ndCur/child::*[2]/@mml:accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:when>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$sLowerCaseMoAccent='true' or ($sLowerCaseMoAccent='' and $sLowerCaseAccent='true')\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- The script is accented and the second child is an mo -->\n      <xsl:when test=\"$fAccent = 1 \n                      and $ndCur/child::*[2] = mml:mo\">\n        <xsl:variable name=\"sOperator\">\n          <xsl:value-of select=\"$ndCur/child::*[2]\" />\n        </xsl:variable>\n        <xsl:choose>\n          <!-- There is only one operator, this is a valid Omml accent! -->\n          <xsl:when test=\"string-length($sOperator) &lt;= 1\">1</xsl:when>\n          <!-- More than one accented operator.  This isn't a valid\n               omml accent -->\n          <xsl:otherwise>0</xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <!-- Not accented, not an operator, or both, but in any case, this is\n           not an Omml accent. -->\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Is ndCur a groupChr? \n\t\t\t ndCur is a groupChr if:\n\t\t\t \n\t\t\t\t 1.  The accent is false (note:  accent attribute \n\t\t\t\t\t\t for munder is accentunder). \n\t\t\t\t 2.  ndCur is an munder or mover.\n\t\t\t\t 3.  ndCur has two children\n\t\t\t\t 4.  Of these two children, one is an mml:mo and the other is an mml:mrow\n\t\t\t\t 5.  The number of characters in the mml:mo is 1.\n\t\t\t \n\t\t\t If all of the above are true, then return 1, else return 0.\n\t-->\n  <xsl:template name=\"FIsGroupChr\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:variable name=\"fUnder\">\n      <xsl:choose>\n        <xsl:when test=\"$ndCur[self::mml:munder]\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"sLowerCaseAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$fUnder=1\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/@accentunder\">\n              <xsl:value-of select=\"translate($ndCur/@accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/@mml:accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/@accent\">\n              <xsl:value-of select=\"translate($ndCur/@accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/@mml:accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:variable name=\"fAccentFalse\">\n      <xsl:choose>\n        <xsl:when test=\"$sLowerCaseAccent='false'\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:choose>\n      <xsl:when test=\"$fAccentFalse=1\n                      and $ndCur[self::mml:munder or self::mml:mover] \n                      and count($ndCur/child::*)=2 \n                      and (($ndCur/child::*[1][self::mml:mrow] and $ndCur/child::*[2][self::mml:mo]) \n                            or ($ndCur/child::*[1][self::mml:mo] and $ndCur/child::*[2][self::mml:mrow]))\">\n        <xsl:variable name=\"sOperator\">\n          <xsl:value-of select=\"$ndCur/child::mml:mo\" />\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"string-length($sOperator) &lt;= 1\">1</xsl:when>\n          <xsl:otherwise>0</xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: match munder\n\t-->\n  <xsl:template match=\"mml:munder\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'munder'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- Should this munder be interpreted as an OMML m:bar? -->\n        <xsl:variable name=\"fIsBar\">\n          <xsl:call-template name=\"FIsBar\">\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$fIsBar=1\">\n            <m:bar>\n              <m:barPr>\n                <m:pos m:val=\"bot\" />\n              </m:barPr>\n              <m:e>\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </m:e>\n            </m:bar>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- It isn't an integral or underbar, is this a groupChr? -->\n            <xsl:variable name=\"fGroupChr\">\n              <xsl:call-template name=\"FIsGroupChr\">\n                <xsl:with-param name=\"ndCur\" select=\".\" />\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:choose>\n              <xsl:when test=\"$fGroupChr=1\">\n                <xsl:element name=\"m:groupChr\">\n                  <xsl:call-template name=\"CreateGroupChrPr\">\n                    <xsl:with-param name=\"chr\">\n                      <xsl:value-of select=\"mml:mo\" />\n                    </xsl:with-param>\n                    <xsl:with-param name=\"pos\">\n                      <xsl:choose>\n                        <xsl:when test=\"child::*[1][self::mml:mrow]\">bot</xsl:when>\n                        <xsl:otherwise>top</xsl:otherwise>\n                      </xsl:choose>\n                    </xsl:with-param>\n                    <xsl:with-param name=\"vertJc\">top</xsl:with-param>\n                  </xsl:call-template>\n                  <xsl:element name=\"m:e\">\n                    <xsl:apply-templates select=\"mml:mrow\" />\n                  </xsl:element>\n                </xsl:element>\n              </xsl:when>\n              <xsl:otherwise>\n                <!-- Generic munder -->\n                <xsl:element name=\"m:limLow\">\n                  <xsl:element name=\"m:e\">\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[1]\" />\n                  </xsl:element>\n                  <xsl:element name=\"m:lim\">\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[2]\" />\n                  </xsl:element>\n                </xsl:element>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Given the values for chr, pos, and vertJc, create an omml\n\t     groupChr's groupChrPr -->\n  <xsl:template name=\"CreateGroupChrPr\">\n    <xsl:param name=\"chr\">&#x23df;</xsl:param>\n    <xsl:param name=\"pos\" select=\"bot\" />\n    <xsl:param name=\"vertJc\" select=\"top\" />\n    <xsl:element name=\"m:groupChrPr\">\n      <xsl:element name=\"m:chr\">\n        <xsl:attribute name=\"m:val\">\n          <xsl:value-of select=\"$chr\"/>\n        </xsl:attribute>\n      </xsl:element>\n      <xsl:element name=\"m:pos\">\n        <xsl:attribute name=\"m:val\">\n          <xsl:value-of select=\"$pos\"/>\n        </xsl:attribute>\n      </xsl:element>\n      <xsl:element name=\"m:vertJc\">\n        <xsl:attribute name=\"m:val\">\n          <xsl:value-of select=\"$vertJc\"/>\n        </xsl:attribute>\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n\n  <!--\n      Convert a non-combining character into its upper combining\n      couterpart.\n      \n      { Non-combining, Upper-combining }\n      {U+02D8, U+0306}, // BREVE\n      {U+00B8, U+0312}, // CEDILLA\n      {U+0060, U+0300}, // GRAVE ACCENT\n      {U+002D, U+0305}, // HYPHEN-MINUS/OVERLINE\n      {U+2212, U+0305}, // MINUS SIGN/OVERLINE\n      {U+002E, U+0305}, // FULL STOP/DOT ABOVE\n      {U+02D9, U+0307}, // DOT ABOVE\n      {U+02DD, U+030B}, // DOUBLE ACUTE ACCENT\n      {U+00B4, U+0301}, // ACUTE ACCENT\n      {U+007E, U+0303}, // TILDE\n      {U+02DC, U+0303}, // SMALL TILDE\n      {U+00A8, U+0308}, // DIAERESIS\n      {U+02C7, U+030C}, // CARON\n      {U+005E, U+0302}, // CIRCUMFLEX ACCENT\n      {U+00AF, U+0305}, // MACRON\n      {U+005F, ::::::}, // LOW LINE\n      {U+2192, U+20D7}, // RIGHTWARDS ARROW\n      {U+27F6, U+20D7}, // LONG RIGHTWARDS ARROW\n      {U+2190, U+20D6}, // LEFT ARROW\n  -->\n  <xsl:template name=\"ToUpperCombining\">\n    <xsl:param name=\"ch\" />\n    <xsl:choose>\n      <!-- BREVE -->\n      <xsl:when test=\"$ch='&#x02D8;'\">&#x0306;</xsl:when>\n      <!-- CEDILLA -->\n      <xsl:when test=\"$ch='&#x00B8;'\">&#x0312;</xsl:when>\n      <!-- GRAVE ACCENT -->\n      <xsl:when test=\"$ch='&#x0060;'\">&#x0300;</xsl:when>\n      <!-- HYPHEN-MINUS/OVERLINE -->\n      <xsl:when test=\"$ch='&#x002D;'\">&#x0305;</xsl:when>\n      <!-- MINUS SIGN/OVERLINE -->\n      <xsl:when test=\"$ch='&#x2212;'\">&#x0305;</xsl:when>\n      <!-- FULL STOP/DOT ABOVE -->\n      <xsl:when test=\"$ch='&#x002E;'\">&#x0307;</xsl:when>\n      <!-- DOT ABOVE -->\n      <xsl:when test=\"$ch='&#x02D9;'\">&#x0307;</xsl:when>\n      <!-- DOUBLE ACUTE ACCENT -->\n      <xsl:when test=\"$ch='&#x02DD;'\">&#x030B;</xsl:when>\n      <!-- ACUTE ACCENT -->\n      <xsl:when test=\"$ch='&#x00B4;'\">&#x0301;</xsl:when>\n      <!-- TILDE -->\n      <xsl:when test=\"$ch='&#x007E;'\">&#x0303;</xsl:when>\n      <!-- SMALL TILDE -->\n      <xsl:when test=\"$ch='&#x02DC;'\">&#x0303;</xsl:when>\n      <!-- DIAERESIS -->\n      <xsl:when test=\"$ch='&#x00A8;'\">&#x0308;</xsl:when>\n      <!-- CARON -->\n      <xsl:when test=\"$ch='&#x02C7;'\">&#x030C;</xsl:when>\n      <!-- CIRCUMFLEX ACCENT -->\n      <xsl:when test=\"$ch='&#x005E;'\">&#x0302;</xsl:when>\n      <!-- MACRON -->\n      <xsl:when test=\"$ch='&#x00AF;'\">&#x0305;</xsl:when>\n      \n      <!-- LOW LINE -->\n      \n      <!-- RIGHTWARDS ARROW -->\n      <xsl:when test=\"$ch='&#x2192;'\">&#x20D7;</xsl:when>\n      <!-- LONG RIGHTWARDS ARROW -->\n      <xsl:when test=\"$ch='&#x27F6;'\">&#x20D7;</xsl:when>\n      <!-- LEFT ARROW -->\n      <xsl:when test=\"$ch='&#x2190;'\">&#x20D6;</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$ch\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: match mover\n\t-->\n  <xsl:template match=\"mml:mover\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'mover'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- Should this munder be interpreted as an OMML m:bar or m:acc? -->\n\n        <!-- Check to see if this is an m:bar -->\n        <xsl:variable name=\"fIsBar\">\n          <xsl:call-template name=\"FIsBar\">\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$fIsBar = 1\">\n            <m:bar>\n              <m:barPr>\n                <m:pos m:val=\"top\" />\n              </m:barPr>\n              <m:e>\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </m:e>\n            </m:bar>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- Not an m:bar, should it be an m:acc? -->\n            <xsl:variable name=\"fIsAcc\">\n              <xsl:call-template name=\"FIsAcc\">\n                <xsl:with-param name=\"ndCur\" select=\".\" />\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:choose>\n              <xsl:when test=\"$fIsAcc=1\">\n                <m:acc>\n                  <m:accPr>\n                    <m:chr>\n                      <xsl:variable name=\"ch\">\n                        <xsl:value-of select=\"child::*[2]\" />\n                      </xsl:variable>\n                      <xsl:variable name=\"chComb\">\n                        <xsl:call-template name=\"ToUpperCombining\">\n                          <xsl:with-param name=\"ch\" select=\"$ch\" />\n                        </xsl:call-template>\n                      </xsl:variable>\n                      <xsl:attribute name=\"m:val\">\n                        <xsl:value-of select=\"$chComb\" />\n                      </xsl:attribute>\n                    </m:chr>\n                  </m:accPr>\n                  <m:e>\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[1]\" />\n                  </m:e>\n                </m:acc>\n              </xsl:when>\n              <xsl:otherwise>\n                <!-- This isn't an integral, overbar or accent, \n\t\t\t\t\t\t\t\t     could it be a groupChr? -->\n                <xsl:variable name=\"fGroupChr\">\n                  <xsl:call-template name=\"FIsGroupChr\">\n                    <xsl:with-param name=\"ndCur\" select=\".\" />\n                  </xsl:call-template>\n                </xsl:variable>\n                <xsl:choose>\n                  <xsl:when test=\"$fGroupChr=1\">\n                    <xsl:element name=\"m:groupChr\">\n                      <xsl:call-template name=\"CreateGroupChrPr\">\n                        <xsl:with-param name=\"chr\">\n                          <xsl:value-of select=\"mml:mo\" />\n                        </xsl:with-param>\n                        <xsl:with-param name=\"pos\">\n                          <xsl:choose>\n                            <xsl:when test=\"child::*[1][self::mml:mrow]\">top</xsl:when>\n                            <xsl:otherwise>bot</xsl:otherwise>\n                          </xsl:choose>\n                        </xsl:with-param>\n                        <xsl:with-param name=\"vertJc\">bot</xsl:with-param>\n                      </xsl:call-template>\n                      <xsl:element name=\"m:e\">\n                        <xsl:apply-templates select=\"mml:mrow\" />\n                      </xsl:element>\n                    </xsl:element>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <!-- Generic mover -->\n                    <xsl:element name=\"m:limUpp\">\n                      <xsl:element name=\"m:e\">\n                        <xsl:call-template name=\"CreateArgProp\" />\n                        <xsl:apply-templates select=\"child::*[1]\" />\n                      </xsl:element>\n                      <xsl:element name=\"m:lim\">\n                        <xsl:call-template name=\"CreateArgProp\" />\n                        <xsl:apply-templates select=\"child::*[2]\" />\n                      </xsl:element>\n                    </xsl:element>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- %%Template: match munderover\n\t-->\n  <xsl:template match=\"mml:munderover\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'munderover'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[3]\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:element name=\"m:limUpp\">\n          <xsl:element name=\"m:e\">\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:element name=\"m:limLow\">\n              <xsl:element name=\"m:e\">\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </xsl:element>\n              <xsl:element name=\"m:lim\">\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[2]\" />\n              </xsl:element>\n            </xsl:element>\n          </xsl:element>\n          <xsl:element name=\"m:lim\">\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[3]\" />\n          </xsl:element>\n        </xsl:element>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: match mfenced -->\n  <xsl:template match=\"mml:mfenced\">\n    <m:d>\n      <xsl:call-template name=\"CreateDelimProp\">\n        <xsl:with-param name=\"fChOpenValid\">\n          <xsl:choose>\n            <xsl:when test=\"@open\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:when test=\"@mml:open\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"0\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"chOpen\">\n          <xsl:choose>\n            <xsl:when test=\"@open\">\n              <xsl:value-of select=\"@open\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:open\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"fChSeparatorsValid\">\n          <xsl:choose>\n            <xsl:when test=\"@separators\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:when test=\"@mml:separators\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"0\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"chSeparators\">\n          <xsl:choose>\n            <xsl:when test=\"@separators\">\n              <xsl:value-of select=\"@separators\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:separators\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"fChCloseValid\">\n          <xsl:choose>\n            <xsl:when test=\"@close\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:when test=\"@mml:close\">\n              <xsl:value-of select=\"1\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"0\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"chClose\">\n          <xsl:choose>\n            <xsl:when test=\"@close\">\n              <xsl:value-of select=\"@close\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:close\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:for-each select=\"*\">\n        <m:e>\n          <xsl:call-template name=\"CreateArgProp\" />\n          <xsl:apply-templates select=\".\"/>\n        </m:e>\n      </xsl:for-each>\n    </m:d>\n  </xsl:template>\n\n  <!-- %%Template: CreateDelimProp\n\t\n\t\tGiven the characters to use as open, close and separators for \n\t\tthe delim object, create the m:dPr (delim properties). \t\t\n\t\t\n\t\tMathML can have any number of separators in an mfenced object, but \n\t\tOMML can only represent one separator for each d (delim) object.\n\t\tSo, we pick the first separator specified. \t\t\n\t-->\n  <xsl:template name=\"CreateDelimProp\">\n    <xsl:param name=\"fChOpenValid\" />\n    <xsl:param name=\"chOpen\" />\n    <xsl:param name=\"fChSeparatorsValid\" />\n    <xsl:param name=\"chSeparators\" />\n    <xsl:param name=\"fChCloseValid\" />\n    <xsl:param name=\"chClose\" />\n    <xsl:variable name=\"chSep\" select=\"substring($chSeparators, 1, 1)\" />\n\n    <!-- do we need a dPr at all? If everything's at its default value, then \n\t\t\tdon't bother at all -->\n    <xsl:if test=\"($fChOpenValid=1 and not($chOpen = '(')) or\n\t\t\t\t\t\t  ($fChCloseValid=1 and not($chClose = ')')) or \n\t\t\t\t\t\t  not($chSep = '|')\">\n      <m:dPr>\n        <!-- the default for MathML and OMML is '('. -->\n        <xsl:if test=\"$fChOpenValid=1 and not($chOpen = '(')\">\n          <m:begChr>\n            <xsl:attribute name=\"m:val\">\n              <xsl:value-of select=\"$chOpen\" />\n            </xsl:attribute>\n          </m:begChr>\n        </xsl:if>\n\n        <!-- the default for MathML is ',' and for OMML is '|' -->\n\n        <xsl:choose>\n          <!-- matches OMML's default, don't bother to write anything out -->\n          <xsl:when test=\"$chSep = '|'\" />\n\n          <!-- Not specified, use MathML's default. We test against \n\t\t\t\t\tthe existence of the actual attribute, not the substring -->\n          <xsl:when test=\"$fChSeparatorsValid=0\">\n            <m:sepChr m:val=',' />\n          </xsl:when>\n\n          <xsl:otherwise>\n            <m:sepChr>\n              <xsl:attribute name=\"m:val\">\n                <xsl:value-of select=\"$chSep\" />\n              </xsl:attribute>\n            </m:sepChr>\n          </xsl:otherwise>\n        </xsl:choose>\n\n        <!-- the default for MathML and OMML is ')'. -->\n        <xsl:if test=\"$fChCloseValid=1 and not($chClose = ')')\">\n          <m:endChr>\n            <xsl:attribute name=\"m:val\">\n              <xsl:value-of select=\"$chClose\" />\n            </xsl:attribute>\n          </m:endChr>\n        </xsl:if>\n      </m:dPr>\n    </xsl:if>\n  </xsl:template>\n\n  <xsl:template name=\"LQuoteFromMs\">\n    <xsl:param name=\"msCur\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"(not($msCur/@lquote) or $msCur/@lquote='')\n                      and (not($msCur/@mml:lquote) or $msCur/@mml:lquote='')\">\n        <xsl:text>\"</xsl:text>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:choose>\n          <xsl:when test=\"$msCur/@lquote\">\n            <xsl:value-of select=\"$msCur/@lquote\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$msCur/@mml:lquote\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"RQuoteFromMs\">\n    <xsl:param name=\"msCur\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"(not($msCur/@rquote) or $msCur/@rquote='')\n                       and (not($msCur/@mml:rquote) or $msCur/@mml:rquote='')\">\n        <xsl:text>\"</xsl:text>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:choose>\n          <xsl:when test=\"$msCur/@rquote\">\n            <xsl:value-of select=\"$msCur/@rquote\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$msCur/@mml:rquote\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: OutputMs\n\t-->\n  <xsl:template name=\"OutputMs\">\n    <xsl:param name=\"msCur\" />\n\n    <xsl:variable name=\"chLquote\">\n      <xsl:call-template name=\"LQuoteFromMs\">\n        <xsl:with-param name=\"msCur\" select=\"$msCur\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"chRquote\">\n      <xsl:call-template name=\"RQuoteFromMs\">\n        <xsl:with-param name=\"msCur\" select=\"$msCur\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:value-of select=\"$chLquote\"/>\n    <xsl:value-of select=\"normalize-space($msCur)\" />\n    <xsl:value-of select=\"$chRquote\"/>\n  </xsl:template>\n\n  <!-- %%Template: match msub\n\t-->\n  <xsl:template match=\"mml:msub\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'msub'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <m:sSub>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[1]\" />\n          </m:e>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n        </m:sSub>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: match msup\n\t-->\n  <xsl:template match=\"mml:msup\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'msup'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <m:sSup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[1]\" />\n          </m:e>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sup>\n        </m:sSup>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: match msubsup\n\t-->\n  <xsl:template match=\"mml:msubsup\">\n    <xsl:variable name=\"fNary\">\n      <xsl:call-template name=\"isNary\">\n        <xsl:with-param name=\"ndCur\" select=\"child::*[1]\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fNary='true'\">\n        <m:nary>\n          <xsl:call-template name=\"CreateNaryProp\">\n            <xsl:with-param name=\"chr\">\n              <xsl:value-of select=\"normalize-space(child::*[1])\" />\n            </xsl:with-param>\n            <xsl:with-param name=\"sMathmlType\" select=\"'msubsup'\" />\n          </xsl:call-template>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[3]\" />\n          </m:sup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:call-template name=\"NaryHandleMrowMstyle\">\n              <xsl:with-param name=\"ndCur\" select=\"following-sibling::*[1]\" />\n            </xsl:call-template>\n          </m:e>\n        </m:nary>\n      </xsl:when>\n      <xsl:otherwise>\n        <m:sSubSup>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[1]\" />\n          </m:e>\n          <m:sub>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[2]\" />\n          </m:sub>\n          <m:sup>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[3]\" />\n          </m:sup>\n        </m:sSubSup>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- %%Template: SplitScripts \n\t\n\t\tTakes an collection of nodes, and splits them\n\t\todd and even into sup and sub scripts. Used for dealing with\n\t\tmmultiscript.\n\t\t\n\t\tThis template assumes you want to output both a sub and sup element.\n\t\t-->\n  <xsl:template name=\"SplitScripts\">\n    <xsl:param name=\"ndScripts\" />\n    <m:sub>\n      <xsl:call-template name=\"CreateArgProp\" />\n      <xsl:apply-templates select=\"$ndScripts[(position() mod 2) = 1]\" />\n    </m:sub>\n    <m:sup>\n      <xsl:call-template name=\"CreateArgProp\" />\n      <xsl:apply-templates select=\"$ndScripts[(position() mod 2) = 0]\" />\n    </m:sup>\n  </xsl:template>\n\n  <!-- %%Template: match mmultiscripts\n\t\n\t\tThere is some subtlety with the mml:mprescripts element. Everything that comes before \n\t\tthat is considered a script (as opposed to a pre-script), but it need not be present.\n\t-->\n  <xsl:template match=\"mml:mmultiscripts\">\n\n    <!-- count the nodes. Everything that comes after a mml:mprescripts is considered a pre-script;\n\t\t\tEverything that does not have an mml:mprescript as a preceding-sibling (and is not itself \n\t\t\tmml:mprescript) is a script, except for the first child which is always the base.\n\t\t\tThe mml:none element is a place holder for a sub/sup element slot.\n\t\t\t\n\t\t\tmmultisript pattern:\n\t\t\t<mmultiscript>\n\t\t\t\t(base)\n\t\t\t\t(sub sup)* // Where <none/> can replace a sub/sup entry to preserve pattern.\n\t\t\t\t<mprescripts />\n\t\t\t\t(presub presup)*\n\t\t\t</mmultiscript>\n\t\t\t-->\n    <!-- Count of presecript nodes that we'd print (this is essentially anything but the none placeholder. -->\n    <xsl:variable name=\"cndPrescriptStrict\" select=\"count(mml:mprescripts[1]/following-sibling::*[not(self::mml:none)])\" />\n    <!-- Count of all super script excluding mml:none -->\n    <xsl:variable name=\"cndSuperScript\" select=\"count(*[not(preceding-sibling::mml:mprescripts)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand not(self::mml:mprescripts)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ((position() mod 2) = 1) \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand not(self::mml:none)]) - 1\"/>\n    <!-- Count of all sup script excluding mml:none -->\n    <xsl:variable name=\"cndSubScript\" select=\"count(*[not(preceding-sibling::mml:mprescripts)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand not(self::mml:mprescripts)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ((position() mod 2) = 0) \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand not(self::mml:none)])\"/>\n    <!-- Count of all scripts excluding mml:none -->\n    <xsl:variable name=\"cndScriptStrict\" select=\"$cndSuperScript + $cndSubScript\" />\n    <!-- Count of all scripts including mml:none.  This is essentially all nodes before the \n\t\tfirst mml:mprescripts except the base. -->\n    <xsl:variable name=\"cndScript\" select=\"count(*[not(preceding-sibling::mml:mprescripts) and not(self::mml:mprescripts)]) - 1\" />\n\n    <xsl:choose>\n      <!-- The easy case first. No prescripts, and no script ... just a base -->\n      <xsl:when test=\"$cndPrescriptStrict &lt;= 0 and $cndScriptStrict &lt;= 0\">\n        <xsl:apply-templates select=\"*[1]\" />\n      </xsl:when>\n\n      <!-- Next, if there are no prescripts -->\n      <xsl:when test=\"$cndPrescriptStrict &lt;= 0\">\n        <!-- we know we have some scripts or else we would have taken the earlier\n\t\t\t\t\t  branch. -->\n        <xsl:choose>\n          <!-- We have both sub and super scripts-->\n          <xsl:when test=\"$cndSuperScript &gt; 0 and $cndSubScript &gt; 0\">\n            <m:sSubSup>\n              <m:e>\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </m:e>\n\n              <!-- Every child except the first is a script.  Do the split -->\n              <xsl:call-template name=\"SplitScripts\">\n                <xsl:with-param name=\"ndScripts\" select=\"*[position() &gt; 1]\" />\n              </xsl:call-template>\n            </m:sSubSup>\n          </xsl:when>\n          <!-- Just a sub script -->\n          <xsl:when test=\"$cndSubScript &gt; 0\">\n            <m:sSub>\n              <m:e>\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </m:e>\n\n              <!-- No prescripts and no super scripts, therefore, it's a sub. -->\n              <m:sub>\n                <xsl:apply-templates select=\"*[position() &gt; 1]\" />\n              </m:sub>\n            </m:sSub>\n          </xsl:when>\n          <!-- Just super script -->\n          <xsl:otherwise>\n            <m:sSup>\n              <m:e>\n                <xsl:call-template name=\"CreateArgProp\" />\n                <xsl:apply-templates select=\"child::*[1]\" />\n              </m:e>\n\n              <!-- No prescripts and no sub scripts, therefore, it's a sup. -->\n              <m:sup>\n                <xsl:apply-templates select=\"*[position() &gt; 1]\" />\n              </m:sup>\n            </m:sSup>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n\n      <!-- Next, if there are no scripts -->\n      <xsl:when test=\"$cndScriptStrict &lt;= 0\">\n        <!-- we know we have some prescripts or else we would have taken the earlier\n\t\t\t\t\t  branch. So, create an sPre and split the elements -->\n        <m:sPre>\n          <m:e>\n            <xsl:call-template name=\"CreateArgProp\" />\n            <xsl:apply-templates select=\"child::*[1]\" />\n          </m:e>\n\n          <!-- The prescripts come after the mml:mprescript and if we get here\n\t\t\t\t\t\t\twe know there exists some elements after the mml:mprescript element. \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tThe prescript element has no sub/subsup variation, therefore, even if\n\t\t\t\t\t\t\twe're only writing sub, we need to write out both the sub and sup element.\n\t\t\t\t\t\t\t-->\n          <xsl:call-template name=\"SplitScripts\">\n            <xsl:with-param name=\"ndScripts\" select=\"mml:mprescripts[1]/following-sibling::*\" />\n          </xsl:call-template>\n        </m:sPre>\n      </xsl:when>\n\n      <!-- Finally, the case with both prescripts and scripts. Create an sPre \n\t\t\t\telement to house the prescripts, with a sub/sup/subsup element at its base. -->\n      <xsl:otherwise>\n        <m:sPre>\n          <m:e>\n            <xsl:choose>\n              <!-- We have both sub and super scripts-->\n              <xsl:when test=\"$cndSuperScript &gt; 0 and $cndSubScript &gt; 0\">\n                <m:sSubSup>\n                  <m:e>\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[1]\" />\n                  </m:e>\n\n                  <!-- scripts come before the mml:mprescript but after the first child, so their\n\t\t\t\t\t\t\t\t positions will be 2, 3, ... ($nndScript + 1) -->\n                  <xsl:call-template name=\"SplitScripts\">\n                    <xsl:with-param name=\"ndScripts\" select=\"*[(position() &gt; 1) and (position() &lt;= ($cndScript + 1))]\" />\n                  </xsl:call-template>\n                </m:sSubSup>\n              </xsl:when>\n              <!-- Just a sub script -->\n              <xsl:when test=\"$cndSubScript &gt; 0\">\n                <m:sSub>\n                  <m:e>\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[1]\" />\n                  </m:e>\n\n                  <!-- We have prescripts but no super scripts, therefore, do a sub \n\t\t\t\t\t\t\t\t\tand apply templates to all tokens counted by cndScript. -->\n                  <m:sub>\n                    <xsl:apply-templates select=\"*[position() &gt; 1 and (position() &lt;= ($cndScript + 1))]\" />\n                  </m:sub>\n                </m:sSub>\n              </xsl:when>\n              <!-- Just super script -->\n              <xsl:otherwise>\n                <m:sSup>\n                  <m:e>\n                    <xsl:call-template name=\"CreateArgProp\" />\n                    <xsl:apply-templates select=\"child::*[1]\" />\n                  </m:e>\n\n                  <!-- We have prescripts but no sub scripts, therefore, do a sub \n\t\t\t\t\t\t\t\t\tand apply templates to all tokens counted by cndScript. -->\n                  <m:sup>\n                    <xsl:apply-templates select=\"*[position() &gt; 1 and (position() &lt;= ($cndScript + 1))]\" />\n                  </m:sup>\n                </m:sSup>\n              </xsl:otherwise>\n            </xsl:choose>\n          </m:e>\n\n          <!-- The prescripts come after the mml:mprescript and if we get here\n\t\t\t\t\t\t\twe know there exists one such element -->\n          <xsl:call-template name=\"SplitScripts\">\n            <xsl:with-param name=\"ndScripts\" select=\"mml:mprescripts[1]/following-sibling::*\" />\n          </xsl:call-template>\n        </m:sPre>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- Template that determines if ndCur is an equation array.\n\t\t\t\t\n\t\t\t ndCur is an equation array if:\n\t\t\t \n\t\t\t 1.  There are are no frame lines\n\t\t\t 2.  There are no column lines\n\t\t\t 3.  There are no row lines\n\t\t\t 4.  There is no row with more than 1 column  \n\t\t\t 5.  There is no row with fewer than 1 column\n\t\t\t 6.  There are no labeled rows.\n\t\t\t \n\t-->\n  <xsl:template name=\"FIsEqArray\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <!-- There should be no frame, columnlines, or rowlines -->\n    <xsl:choose>\n      <xsl:when test=\"(not($ndCur/@frame) or $ndCur/@frame='' or $ndCur/@frame='none')\n                      and (not($ndCur/@mml:frame) or $ndCur/@mml:frame='' or $ndCur/@mml:frame='none')\n\t\t\t\t\t\t\t\t      and (not($ndCur/@columnlines) or $ndCur/@columnlines='' or $ndCur/@columnlines='none')\n                      and (not($ndCur/@mml:columnlines) or $ndCur/@mml:columnlines='' or $ndCur/@mml:columnlines='none')\n\t\t\t\t\t\t\t\t      and (not($ndCur/@rowlines) or $ndCur/@rowlines='' or $ndCur/@rowlines='none')\n                      and (not($ndCur/@mml:rowlines) or $ndCur/@mml:rowlines='' or $ndCur/@mml:rowlines='none')\n\t\t\t\t\t\t\t\t      and not($ndCur/mml:mtr[count(mml:mtd) &gt; 1])\n\t\t\t\t\t\t\t\t\t\t\tand not($ndCur/mml:mtr[count(mml:mtd) &lt; 1])\n\t\t\t\t\t\t\t\t      and not($ndCur/mml:mlabeledtr)\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- Template used to determine if we should ignore a collection when iterating through \n\t     a mathml equation array row.\n\t\n\t\t\t So far, the only thing that needs to be ignored is the argument of an nary.  We\n\t\t\t can ignore this since it is output when we apply-templates to the munder[over]/msub[sup].\n\t-->\n  <xsl:template name=\"FIgnoreCollection\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:variable name=\"fNaryArgument\">\n      <xsl:call-template name=\"FIsNaryArgument\">\n        <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:choose>\n      <xsl:when test=\"$fNaryArgument=1\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- Template used to determine if we've already encountered an maligngroup or malignmark.\n\t\n\t\t\t This is needed because omml has an implicit spacing alignment (omml spacing alignment = \n\t\t\t mathml's maligngroup element) at the beginning of each equation array row.  Therefore, \n\t\t\t the first maligngroup (implied or explicit) we encounter does not need to be output.  \n\t\t\t This template recursively searches up the xml tree and looks at previous siblings to see \n\t\t\t if they have a descendant that is an maligngroup or malignmark.  We look for the malignmark \n\t\t\t to find the implicit maligngroup.\n\t-->\n  <xsl:template name=\"FFirstAlignAlreadyFound\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:choose>\n      <xsl:when test=\"count($ndCur/preceding-sibling::*[descendant-or-self::mml:maligngroup\n\t\t\t\t\t\t\t\t                                        or descendant-or-self::mml:malignmark]) &gt; 0\">1</xsl:when>\n      <xsl:when test=\"not($ndCur/parent::mml:mtd)\">\n        <xsl:call-template name=\"FFirstAlignAlreadyFound\">\n          <xsl:with-param name=\"ndCur\" select=\"$ndCur/parent::*\" />\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- This template builds a string that is result of concatenating a given string several times. \n\t\n\t\t\t Given strToRepeat, create a string that has strToRepeat repeated iRepitions times. \n\t-->\n  <xsl:template name=\"ConcatStringRepeat\">\n    <xsl:param name=\"strToRepeat\" select=\"''\" />\n    <xsl:param name=\"iRepetitions\" select=\"0\" />\n    <xsl:param name=\"strBuilding\" select=\"''\" />\n\n    <xsl:choose>\n      <xsl:when test=\"$iRepetitions &lt;= 0\">\n        <xsl:value-of select=\"$strBuilding\" />\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"ConcatStringRepeat\">\n          <xsl:with-param name=\"strToRepeat\" select=\"$strToRepeat\" />\n          <xsl:with-param name=\"iRepetitions\" select=\"$iRepetitions - 1\" />\n          <xsl:with-param name=\"strBuilding\" select=\"concat($strBuilding, $strToRepeat)\" />\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- This template determines if ndCur is a special collection.\n\t\t\t By special collection, I mean is ndCur the outer element of some special grouping \n\t\t\t of mathml elements that actually represents some over all omml structure.\n\t\t\t \n\t\t\t For instance, is ndCur a linear fraction, or an omml function.\n\t-->\n  <xsl:template name=\"FSpecialCollection\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"$ndCur/self::mml:mrow\">\n        <xsl:variable name=\"fLinearFraction\">\n          <xsl:call-template name=\"FLinearFrac\">\n            <xsl:with-param name=\"ndCur\" select=\"$ndCur\"/>\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"fFunc\">\n          <xsl:call-template name=\"FIsFunc\">\n            <xsl:with-param name=\"ndCur\" select=\"$ndCur\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$fLinearFraction=1 or $fFunc=1\">1</xsl:when>\n          <xsl:otherwise>0</xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <!-- This template iterates through the children of an equation array row (mtr) and outputs\n\t     the equation.\n\t\t\t \n\t\t\t This template does all the work to output ampersands and skip the right elements when needed.\n\t-->\n  <xsl:template name=\"ProcessEqArrayRow\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n\n    <xsl:for-each select=\"$ndCur/*\">\n      <xsl:variable name=\"fSpecialCollection\">\n        <xsl:call-template name=\"FSpecialCollection\">\n          <xsl:with-param name=\"ndCur\" select=\".\" />\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:variable name=\"fIgnoreCollection\">\n        <xsl:call-template name=\"FIgnoreCollection\">\n          <xsl:with-param name=\"ndCur\" select=\".\" />\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <!-- If we have an alignment element output the ampersand. -->\n        <xsl:when test=\"self::mml:maligngroup or self::mml:malignmark\">\n          <!-- Omml has an implied spacing alignment at the beginning of each equation.\n\t\t\t\t\t     Therefore, if this is the first ampersand to be output, don't actually output. -->\n          <xsl:variable name=\"fFirstAlignAlreadyFound\">\n            <xsl:call-template name=\"FFirstAlignAlreadyFound\">\n              <xsl:with-param name=\"ndCur\" select=\".\" />\n            </xsl:call-template>\n          </xsl:variable>\n          <!-- Don't output unless it is an malignmark or we have already previously found an alignment point. -->\n          <xsl:if test=\"self::mml:malignmark or $fFirstAlignAlreadyFound=1\">\n            <m:r>\n              <m:t>&amp;</m:t>\n            </m:r>\n          </xsl:if>\n        </xsl:when>\n        <!-- If this node is an non-special mrow or mstyle and we aren't supposed to ignore this collection, then\n\t\t\t\t     go ahead an apply templates to this node. -->\n        <xsl:when test=\"$fIgnoreCollection=0 and ((self::mml:mrow and $fSpecialCollection=0) or self::mml:mstyle)\">\n          <xsl:call-template name=\"ProcessEqArrayRow\">\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n          </xsl:call-template>\n        </xsl:when>\n        <!-- At this point we have some mathml structure (fraction, nary, non-grouping element, etc.) -->\n        <!-- If this mathml structure has alignment groups or marks as children, then extract those since\n\t\t\t\t     omml can't handle that. -->\n        <xsl:when test=\"descendant::mml:maligngroup or descendant::mml:malignmark\">\n          <xsl:variable name=\"cMalignGroups\">\n            <xsl:value-of select=\"count(descendant::mml:maligngroup)\" />\n          </xsl:variable>\n          <xsl:variable name=\"cMalignMarks\">\n            <xsl:value-of select=\"count(descendant::mml:malignmark)\" />\n          </xsl:variable>\n          <!-- Output all maligngroups and malignmarks as '&' -->\n          <xsl:if test=\"$cMalignGroups + $cMalignMarks &gt; 0\">\n            <xsl:variable name=\"str\">\n              <xsl:call-template name=\"ConcatStringRepeat\">\n                <xsl:with-param name=\"strToRepeat\" select=\"'&amp;'\" />\n                <xsl:with-param name=\"iRepetitions\" select=\"$cMalignGroups + $cMalignMarks\" />\n                <xsl:with-param name=\"strBuilding\" select=\"''\" />\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:element name=\"m:r\">\n              <xsl:element name=\"m:t\">\n                <xsl:call-template name=\"OutputText\">\n                  <xsl:with-param name=\"sInput\" select=\"$str\" />\n                </xsl:call-template>\n              </xsl:element>\n            </xsl:element>\n          </xsl:if>\n          <!-- Now that the '&' have been extracted, just apply-templates to this node.-->\n          <xsl:apply-templates select=\".\" />\n        </xsl:when>\n        <!-- If there are no alignment points as descendants, then go ahead and output this node. -->\n        <xsl:otherwise>\n          <xsl:apply-templates select=\".\" />\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:template>\n\n  <!-- This template transforms mtable into its appropriate omml type.\n\t\n\t\t\t There are two possible omml constructs that an mtable can become:  a matrix or \n\t\t\t an equation array.\n\t\t\t \n\t\t\t Because omml has no generic table construct, the omml matrix is the best approximate\n\t\t\t for a mathml table.\n\t\t\t \n\t\t\t Our equation array transformation is very simple.  The main goal of this transform is to\n\t\t\t allow roundtripping omml eq arrays through mathml.  The template ProcessEqArrayRow was never\n\t\t\t intended to account for many of the alignment flexibilities that are present in mathml like \n\t\t\t using the alig attribute, using alignmark attribute in token elements, etc.\n\t\t\t \n\t\t\t The restrictions on this transform require <malignmark> and <maligngroup> elements to be outside of\n\t\t\t any non-grouping mathml elements (that is, mrow and mstyle).  Moreover, these elements cannot be the children of\n\t\t\t mrows that represent linear fractions or functions.  Also, <malignmark> cannot be a child\n\t\t\t of token attributes.\n\t\t\t \n\t\t\t In the case that the above \n\t\n\t-->\n  <xsl:template match=\"mml:mtable\">\n    <xsl:variable name=\"fEqArray\">\n      <xsl:call-template name=\"FIsEqArray\">\n        <xsl:with-param name=\"ndCur\" select=\".\" />\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$fEqArray=1\">\n        <xsl:element name=\"m:eqArr\">\n          <xsl:for-each select=\"mml:mtr\">\n            <xsl:element name=\"m:e\">\n              <xsl:call-template name=\"ProcessEqArrayRow\">\n                <xsl:with-param name=\"ndCur\" select=\"mml:mtd\" />\n              </xsl:call-template>\n            </xsl:element>\n          </xsl:for-each>\n        </xsl:element>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:variable name=\"cMaxElmtsInRow\">\n          <xsl:call-template name=\"CountMaxElmtsInRow\">\n            <xsl:with-param name=\"ndCur\" select=\"*[1]\" />\n            <xsl:with-param name=\"cMaxElmtsInRow\" select=\"0\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <m:m>\n          <m:mPr>\n            <m:baseJc m:val=\"center\" />\n            <m:plcHide m:val=\"on\" />\n            <m:mcs>\n              <m:mc>\n                <m:mcPr>\n                  <m:count>\n                    <xsl:attribute name=\"m:val\">\n                      <xsl:value-of select=\"$cMaxElmtsInRow\" />\n                    </xsl:attribute>\n                  </m:count>\n                  <m:mcJc m:val=\"center\" />\n                </m:mcPr>\n              </m:mc>\n            </m:mcs>\n          </m:mPr>\n          <xsl:for-each select=\"*\">\n            <xsl:choose>\n              <xsl:when test=\"self::mml:mtr or self::mml:mlabeledtr\">\n                <m:mr>\n                  <xsl:choose>\n                    <xsl:when test=\"self::mml:mtr\">\n                      <xsl:for-each select=\"*\">\n                        <m:e>\n                          <xsl:apply-templates select=\".\" />\n                        </m:e>\n                      </xsl:for-each>\n                      <xsl:call-template name=\"CreateEmptyElmt\">\n                        <xsl:with-param name=\"cEmptyMtd\" select=\"$cMaxElmtsInRow - count(*)\" />\n                      </xsl:call-template>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:for-each select=\"*[position() &gt; 1]\">\n                        <m:e>\n                          <xsl:apply-templates select=\".\" />\n                        </m:e>\n                      </xsl:for-each>\n                      <xsl:call-template name=\"CreateEmptyElmt\">\n                        <xsl:with-param name=\"cEmptyMtd\" select=\"$cMaxElmtsInRow - (count(*) - 1)\" />\n                      </xsl:call-template>\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </m:mr>\n              </xsl:when>\n              <xsl:otherwise>\n                <m:mr>\n                  <m:e>\n                    <xsl:apply-templates select=\".\" />\n                  </m:e>\n                  <xsl:call-template name=\"CreateEmptyElmt\">\n                    <xsl:with-param name=\"cEmptyMtd\" select=\"$cMaxElmtsInRow - 1\" />\n                  </xsl:call-template>\n                </m:mr>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:for-each>\n        </m:m>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n  <xsl:template match=\"m:mtd\">\n    <xsl:apply-templates select=\"*\" />\n  </xsl:template>\n  <xsl:template name=\"CreateEmptyElmt\">\n    <xsl:param name=\"cEmptyMtd\" />\n    <xsl:if test=\"$cEmptyMtd &gt; 0\">\n      <m:e></m:e>\n      <xsl:call-template name=\"CreateEmptyElmt\">\n        <xsl:with-param name=\"cEmptyMtd\" select=\"$cEmptyMtd - 1\" />\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:template>\n  <xsl:template name=\"CountMaxElmtsInRow\">\n    <xsl:param name=\"ndCur\" />\n    <xsl:param name=\"cMaxElmtsInRow\" select=\"0\" />\n    <xsl:choose>\n      <xsl:when test=\"not($ndCur)\">\n        <xsl:value-of select=\"$cMaxElmtsInRow\" />\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"CountMaxElmtsInRow\">\n          <xsl:with-param name=\"ndCur\" select=\"$ndCur/following-sibling::*[1]\" />\n          <xsl:with-param name=\"cMaxElmtsInRow\">\n            <xsl:choose>\n              <xsl:when test=\"local-name($ndCur) = 'mlabeledtr' and \n\t\t\t\t\t\t\t\t            namespace-uri($ndCur) = 'http://www.w3.org/1998/Math/MathML'\">\n                <xsl:choose>\n                  <xsl:when test=\"(count($ndCur/*) - 1) &gt; $cMaxElmtsInRow\">\n                    <xsl:value-of select=\"count($ndCur/*) - 1\" />\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"$cMaxElmtsInRow\" />\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:when>\n              <xsl:when test=\"local-name($ndCur) = 'mtr' and \n\t\t\t\t\t\t\t\t            namespace-uri($ndCur) = 'http://www.w3.org/1998/Math/MathML'\">\n                <xsl:choose>\n                  <xsl:when test=\"count($ndCur/*) &gt; $cMaxElmtsInRow\">\n                    <xsl:value-of select=\"count($ndCur/*)\" />\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"$cMaxElmtsInRow\" />\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:choose>\n                  <xsl:when test=\"1 &gt; $cMaxElmtsInRow\">\n                    <xsl:value-of select=\"1\" />\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"$cMaxElmtsInRow\" />\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"GetMglyphAltText\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:choose>\n      <xsl:when test=\"$ndCur/@alt\">\n        <xsl:value-of select=\"normalize-space($ndCur/@alt)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"normalize-space($ndCur/@mml:alt)\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template match=\"mml:mglyph\">\n    <xsl:element name=\"m:r\">\n      <xsl:element name=\"m:rPr\">\n        <xsl:element name=\"m:nor\" />\n      </xsl:element>\n      <xsl:element name=\"m:t\">\n        <xsl:call-template name=\"OutputText\">\n          <xsl:with-param name=\"sInput\">\n            <xsl:call-template name=\"GetMglyphAltText\">\n              <xsl:with-param name=\"ndCur\" select=\".\" />\n            </xsl:call-template>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:element>\n    </xsl:element>\n  </xsl:template>\n\n  <!-- Omml doesn't really support mglyph, so just output the alt text -->\n  <xsl:template match=\"mml:mi[child::mml:mglyph] | \n\t                     mml:mn[child::mml:mglyph] | \n\t                     mml:mo[child::mml:mglyph] | \n\t                     mml:ms[child::mml:mglyph] | \n\t                     mml:mtext[child::mml:mglyph]\">\n    <xsl:variable name=\"mathvariant\">\n      <xsl:choose>\n        <xsl:when test=\"@mathvariant\">\n          <xsl:value-of select=\"@mathvariant\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:mathvariant\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fontstyle\">\n      <xsl:choose>\n        <xsl:when test=\"@fontstyle\">\n          <xsl:value-of select=\"@fontstyle\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:fontstyle\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fontweight\">\n      <xsl:choose>\n        <xsl:when test=\"@fontweight\">\n          <xsl:value-of select=\"@fontweight\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:fontweight\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"mathcolor\">\n      <xsl:choose>\n        <xsl:when test=\"@mathcolor\">\n          <xsl:value-of select=\"@mathcolor\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:mathcolor\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"mathsize\">\n      <xsl:choose>\n        <xsl:when test=\"@mathsize\">\n          <xsl:value-of select=\"@mathsize\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:mathsize\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"color\">\n      <xsl:choose>\n        <xsl:when test=\"@color\">\n          <xsl:value-of select=\"@color\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:color\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fontsize\">\n      <xsl:choose>\n        <xsl:when test=\"@fontsize\">\n          <xsl:value-of select=\"@fontsize\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@mml:fontsize\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"fNor\">\n      <xsl:call-template name=\"FNor\">\n        <xsl:with-param name=\"ndCur\" select=\".\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!-- Output MS Left Quote (if need be) -->\n    <xsl:if test=\"self::mml:ms\">\n      <xsl:variable name=\"chLquote\">\n        <xsl:call-template name=\"LQuoteFromMs\">\n          <xsl:with-param name=\"curMs\" select=\".\" />\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:element name=\"m:r\">\n        <xsl:call-template name=\"CreateRunProp\">\n          <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n          <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n          <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n          <xsl:with-param name=\"mathcolor\" select=\"$mathcolor\" />\n          <xsl:with-param name=\"mathsize\" select=\"$mathsize\" />\n          <xsl:with-param name=\"color\" select=\"$color\" />\n          <xsl:with-param name=\"fontsize\" select=\"$fontsize\" />\n          <xsl:with-param name=\"fNor\" select=\"$fNor\" />\n          <xsl:with-param name=\"ndCur\" select=\".\" />\n        </xsl:call-template>\n        <xsl:element name=\"m:t\">\n          <xsl:call-template name=\"OutputText\">\n            <xsl:with-param name=\"sInput\" select=\"$chLquote\"/>\n          </xsl:call-template>\n        </xsl:element>\n      </xsl:element>\n    </xsl:if>\n    <xsl:for-each select=\"mml:mglyph | text()\">\n      <xsl:variable name=\"fForceNor\">\n        <xsl:choose>\n          <xsl:when test=\"self::mml:mglyph\">1</xsl:when>\n          <xsl:otherwise>0</xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"str\">\n        <xsl:choose>\n          <xsl:when test=\"self::mml:mglyph\">\n            <xsl:call-template name=\"GetMglyphAltText\">\n              <xsl:with-param name=\"ndCur\" select=\".\" />\n            </xsl:call-template>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"normalize-space(.)\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n      <xsl:if test=\"string-length($str) &gt; 0\">\n        <xsl:element name=\"m:r\">\n          <xsl:call-template name=\"CreateRunProp\">\n            <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n            <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n            <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n            <xsl:with-param name=\"mathcolor\" select=\"$mathcolor\" />\n            <xsl:with-param name=\"mathsize\" select=\"$mathsize\" />\n            <xsl:with-param name=\"color\" select=\"$color\" />\n            <xsl:with-param name=\"fontsize\" select=\"$fontsize\" />\n            <xsl:with-param name=\"fNor\">\n              <xsl:choose>\n                <xsl:when test=\"$fForceNor=1\">1</xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"$fNor\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"ndCur\" select=\".\" />\n          </xsl:call-template>\n          <xsl:element name=\"m:t\">\n            <xsl:call-template name=\"OutputText\">\n              <xsl:with-param name=\"sInput\" select=\"$str\"/>\n            </xsl:call-template>\n          </xsl:element>\n        </xsl:element>\n      </xsl:if>\n    </xsl:for-each>\n\n    <!-- Output MS Right Quote (if need be) -->\n    <xsl:if test=\"self::mml:ms\">\n      <xsl:variable name=\"chRquote\">\n        <xsl:call-template name=\"RQuoteFromMs\">\n          <xsl:with-param name=\"curMs\" select=\".\" />\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:element name=\"m:r\">\n        <xsl:call-template name=\"CreateRunProp\">\n          <xsl:with-param name=\"mathvariant\" select=\"$mathvariant\" />\n          <xsl:with-param name=\"fontstyle\" select=\"$fontstyle\" />\n          <xsl:with-param name=\"fontweight\" select=\"$fontweight\" />\n          <xsl:with-param name=\"mathcolor\" select=\"$mathcolor\" />\n          <xsl:with-param name=\"mathsize\" select=\"$mathsize\" />\n          <xsl:with-param name=\"color\" select=\"$color\" />\n          <xsl:with-param name=\"fontsize\" select=\"$fontsize\" />\n          <xsl:with-param name=\"fNor\" select=\"$fNor\" />\n          <xsl:with-param name=\"ndCur\" select=\".\" />\n        </xsl:call-template>\n        <xsl:element name=\"m:t\">\n          <xsl:call-template name=\"OutputText\">\n            <xsl:with-param name=\"sInput\" select=\"$chRquote\"/>\n          </xsl:call-template>\n        </xsl:element>\n      </xsl:element>\n    </xsl:if>\n  </xsl:template>\n\n  <xsl:template name=\"FStrContainsNonZeroDigit\">\n    <xsl:param name=\"s\" />\n\n    <!-- Translate any nonzero digit into a 9 -->\n    <xsl:variable name=\"sNonZeroDigitsToNineDigit\" select=\"translate($s, '12345678', '99999999')\" />\n    <xsl:choose>\n      <!-- Search for 9s -->\n      <xsl:when test=\"contains($sNonZeroDigitsToNineDigit, '9')\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"FStrContainsDigits\">\n    <xsl:param name=\"s\" />\n\n    <!-- Translate any digit into a 0 -->\n    <xsl:variable name=\"sDigitsToZeroDigit\" select=\"translate($s, '123456789', '000000000')\" />\n    <xsl:choose>\n      <!-- Search for 0s -->\n      <xsl:when test=\"contains($sDigitsToZeroDigit, '0')\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Used to determine if mpadded attribute {width, height, depth } \n       indicates to show everything. \n       \n       Unlike mathml, whose mpadded structure has great flexibility in modifying the \n       bounding box's width, height, and depth, Word can only have zero or full width, height, and depth.\n       Thus, if the width, height, or depth attributes indicate any kind of nonzero width, height, \n       or depth, we'll translate that into a show full width, height, or depth for OMML.  Only if the attribute\n       indicates a zero width, height, or depth, will we report back FFull as false.\n       \n       Example:  s=0%    ->  FFull returns 0.\n                 s=2%    ->  FFull returns 1.\n                 s=0.1em ->  FFull returns 1.     \n       \n       -->\n  <xsl:template name=\"FFull\">\n    <xsl:param name=\"s\" />\n\n    <xsl:variable name=\"fStrContainsNonZeroDigit\">\n      <xsl:call-template name=\"FStrContainsNonZeroDigit\">\n        <xsl:with-param name=\"s\" select=\"$s\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"fStrContainsDigits\">\n      <xsl:call-template name=\"FStrContainsDigits\">\n        <xsl:with-param name=\"s\" select=\"$s\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- String contained non-zero digit -->\n      <xsl:when test=\"$fStrContainsNonZeroDigit=1\">1</xsl:when>\n      <!-- String didn't contain a non-zero digit, but it did contain digits.\n           This must mean that all digits in the string were 0s. -->\n      <xsl:when test=\"$fStrContainsDigits=1\">0</xsl:when>\n      <!-- Else, no digits, therefore, return true.\n           We return true in the otherwise condition to take account for the possibility\n           in MathML to say something like width=\"height\". -->\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n  <!-- Just outputs phant properties, doesn't do any fancy \n       thinking of its own, just obeys the defaults of \n       phants. -->\n  <xsl:template name=\"CreatePhantPropertiesCore\">\n    <xsl:param name=\"fShow\" select=\"1\" />\n    <xsl:param name=\"fFullWidth\" select=\"1\" />\n    <xsl:param name=\"fFullHeight\" select=\"1\" />\n    <xsl:param name=\"fFullDepth\" select=\"1\" />\n\n    <xsl:if test=\"$fShow=0 \n                    or $fFullWidth=0 \n                    or $fFullHeight=0\n                    or $fFullDepth=0\">\n      <xsl:element name=\"m:phantPr\">\n        <xsl:if test=\"$fShow=0\">\n          <xsl:element name=\"m:show\">\n            <xsl:attribute name=\"m:val\">off</xsl:attribute>\n          </xsl:element>\n        </xsl:if>\n        <xsl:if test=\"$fFullWidth=0\">\n          <xsl:element name=\"m:zeroWid\">\n            <xsl:attribute name=\"m:val\">on</xsl:attribute>\n          </xsl:element>\n        </xsl:if>\n        <xsl:if test=\"$fFullHeight=0\">\n          <xsl:element name=\"m:zeroAsc\">\n            <xsl:attribute name=\"m:val\">on</xsl:attribute>\n          </xsl:element>\n        </xsl:if>\n        <xsl:if test=\"$fFullDepth=0\">\n          <xsl:element name=\"m:zeroDesc\">\n            <xsl:attribute name=\"m:val\">on</xsl:attribute>\n          </xsl:element>\n        </xsl:if>\n      </xsl:element>\n    </xsl:if>\n  </xsl:template>\n\n  <!-- Figures out if we should factor in width, height, and depth attributes.  \n  \n       If so, then it \n       gets these attributes, does some processing to figure out what the attributes indicate, \n       then passes these indications to CreatePhantPropertiesCore.  \n       \n       If we aren't supposed to factor in width, height, or depth, then we'll just output the show\n       attribute. -->\n  <xsl:template name=\"CreatePhantProperties\">\n    <xsl:param name=\"ndCur\" select=\".\" />\n    <xsl:param name=\"fShow\" select=\"1\"/>\n\n    <xsl:choose>\n      <!-- In the special case that we have an mphantom with one child which is an mpadded, then we should \n           subsume the mpadded attributes into the mphantom attributes.  The test statement below imples the \n           'one child which is an mpadded'.  The first part, that the parent of mpadded is an mphantom, is implied\n           by being in this template, which is only called when we've encountered an mphantom.\n           \n           Word outputs its invisible phantoms with smashing as \n\n              <mml:mphantom>\n                <mml:mpadded . . . >\n                  \n                </mml:mpadded>\n              </mml:mphantom>\n\n            This test is used to allow roundtripping smashed invisible phantoms. -->\n      <xsl:when test=\"count($ndCur/child::*)=1 and count($ndCur/mml:mpadded)=1\">\n        <xsl:variable name=\"sLowerCaseWidth\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/mml:mpadded/@width\">\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@width, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@mml:width, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n        <xsl:variable name=\"sLowerCaseHeight\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/mml:mpadded/@height\">\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@height, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@mml:height, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n        <xsl:variable name=\"sLowerCaseDepth\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/mml:mpadded/@depth\">\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@depth, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/mml:mpadded/@mml:depth, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <xsl:variable name=\"fFullWidth\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseWidth\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"fFullHeight\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseHeight\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"fFullDepth\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseDepth\" />\n          </xsl:call-template>\n        </xsl:variable>\n\n        <xsl:call-template name=\"CreatePhantPropertiesCore\">\n          <xsl:with-param name=\"fShow\" select=\"$fShow\"/>\n          <xsl:with-param name=\"fFullWidth\" select=\"$fFullWidth\" />\n          <xsl:with-param name=\"fFullHeight\" select=\"$fFullHeight\" />\n          <xsl:with-param name=\"fFullDepth\" select=\"$fFullDepth\" />\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"CreatePhantPropertiesCore\">\n          <xsl:with-param name=\"fShow\" select=\"$fShow\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template match=\"mml:mpadded\">\n    <xsl:choose>\n      <xsl:when test=\"count(parent::mml:mphantom)=1 and count(preceding-sibling::*)=0 and count(following-sibling::*)=0\">\n        <!-- This mpadded is inside an mphantom that has already setup phantom attributes, therefore, just apply templates -->\n        <xsl:apply-templates select=\"*\" />\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:variable name=\"sLowerCaseWidth\">\n          <xsl:choose>\n            <xsl:when test=\"@width\">\n              <xsl:value-of select=\"@width\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:width\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n        <xsl:variable name=\"sLowerCaseHeight\">\n          <xsl:choose>\n            <xsl:when test=\"@height\">\n              <xsl:value-of select=\"@height\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:height\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n        <xsl:variable name=\"sLowerCaseDepth\">\n          <xsl:choose>\n            <xsl:when test=\"@depth\">\n              <xsl:value-of select=\"@depth\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"@mml:depth\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <xsl:variable name=\"fFullWidth\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseWidth\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"fFullHeight\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseHeight\" />\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"fFullDepth\">\n          <xsl:call-template name=\"FFull\">\n            <xsl:with-param name=\"s\" select=\"$sLowerCaseDepth\" />\n          </xsl:call-template>\n        </xsl:variable>\n\n        <xsl:element name=\"m:phant\">\n          <xsl:call-template name=\"CreatePhantPropertiesCore\">\n            <xsl:with-param name=\"fShow\" select=\"1\"/>\n            <xsl:with-param name=\"fFullWidth\" select=\"$fFullWidth\" />\n            <xsl:with-param name=\"fFullHeight\" select=\"$fFullHeight\" />\n            <xsl:with-param name=\"fFullDepth\" select=\"$fFullDepth\" />\n          </xsl:call-template>\n          <m:e>\n            <xsl:apply-templates select=\"*\" />\n          </m:e>\n        </xsl:element>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template match=\"mml:mphantom\">\n    <xsl:element name=\"m:phant\">\n      <xsl:call-template name=\"CreatePhantProperties\">\n        <xsl:with-param name=\"ndCur\" select=\".\" />\n        <xsl:with-param name=\"fShow\" select=\"0\" />\n      </xsl:call-template>\n      <m:e>\n        <xsl:apply-templates select=\"*\" />\n      </m:e>\n    </xsl:element>\n  </xsl:template>\n\n  <xsl:template name=\"isNaryOper\">\n    <xsl:param name=\"sNdCur\" />\n    <xsl:value-of select=\"($sNdCur = '&#x222B;' \n                            or $sNdCur = '&#x222C;' \n                            or $sNdCur = '&#x222D;' \n                            or $sNdCur = '&#x222E;' \n                            or $sNdCur = '&#x222F;' \n                            or $sNdCur = '&#x2230;' \n                            or $sNdCur = '&#x2232;' \n                            or $sNdCur = '&#x2233;' \n                            or $sNdCur = '&#x2231;' \n                            or $sNdCur = '&#x2229;' \n                            or $sNdCur = '&#x222A;' \n                            or $sNdCur = '&#x220F;' \n                            or $sNdCur = '&#x2210;' \n                            or $sNdCur = '&#x2211;' \n                            or $sNdCur = '&#x22C0;' \n                            or $sNdCur = '&#x22C1;' \n                            or $sNdCur = '&#x22C2;' \n                            or $sNdCur = '&#x22C3;')\" />\n  </xsl:template>\n\n\n  <xsl:template name=\"isNary\">\n    <!-- ndCur is the element around the nAry operator -->\n    <xsl:param name=\"ndCur\" />\n    <xsl:variable name=\"sNdCur\">\n      <xsl:value-of select=\"normalize-space($ndCur)\" />\n    </xsl:variable>\n\n    <xsl:variable name=\"fNaryOper\">\n      <xsl:call-template name=\"isNaryOper\">\n        <xsl:with-param name=\"sNdCur\" select=\"$sNdCur\" />\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!-- Narys shouldn't be MathML accents.  -->\n    <xsl:variable name=\"fUnder\">\n      <xsl:choose>\n        <xsl:when test=\"$ndCur/parent::*[self::mml:munder]\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:variable name=\"sLowerCaseAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$fUnder=1\">\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/parent::*[self::mml:munder]/@accentunder\">\n              <xsl:value-of select=\"translate($ndCur/parent::*[self::mml:munder]/@accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/parent::*[self::mml:munder]/@mml:accentunder, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$ndCur/parent::*/@accent\">\n              <xsl:value-of select=\"translate($ndCur/parent::*/@accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"translate($ndCur/parent::*/@mml:accent, $StrUCAlphabet, $StrLCAlphabet)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:variable name=\"fAccent\">\n      <xsl:choose>\n        <xsl:when test=\"$sLowerCaseAccent='true'\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:choose>\n      <!-- This ndCur is in fact part of an nAry if\n      \n           1)  The last descendant of ndCur (which could be ndCur itself) is an operator.\n           2)  Along that chain of descendants we only encounter mml:mo, mml:mstyle, and mml:mrow elements.\n           3)  the operator in mml:mo is a valid nAry operator\n           4)  The nAry is not accented.\n           -->\n      <xsl:when test=\"$fNaryOper = 'true'\n                      and $fAccent=0\n                      and $ndCur/descendant-or-self::*[last()]/self::mml:mo\n                      and not($ndCur/descendant-or-self::*[not(self::mml:mo or \n\t\t\t                                                     self::mml:mstyle or \n\t\t\t                                                     self::mml:mrow)])\">\n        <xsl:value-of select=\"true()\" />\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"false()\" />\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"CreateNaryProp\">\n    <xsl:param name=\"chr\" />\n    <xsl:param name=\"sMathmlType\" />\n    <xsl:param name=\"sGrow\">\n      <xsl:choose>\n        <xsl:when test=\"child::*[1]/@stretchy\">\n          <xsl:value-of select=\"translate(child::*[1]/@stretchy, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"translate(child::*[1]/@mml:stretchy, $StrUCAlphabet, $StrLCAlphabet)\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:param>\n    <m:naryPr>\n      <m:chr>\n        <xsl:attribute name=\"m:val\">\n          <xsl:value-of select=\"$chr\" />\n        </xsl:attribute>\n      </m:chr>\n      <m:limLoc>\n        <xsl:attribute name=\"m:val\">\n          <xsl:choose>\n            <xsl:when test=\"$sMathmlType='munder' or \n\t\t\t\t\t\t\t\t\t$sMathmlType='mover' or \n\t\t\t\t\t\t\t\t\t$sMathmlType='munderover'\">\n              <xsl:text>undOvr</xsl:text>\n            </xsl:when>\n            <xsl:when test=\"$sMathmlType='msub' or\n\t\t\t\t\t                $sMathmlType='msup' or\n\t\t\t\t\t                $sMathmlType='msubsup'\">\n              <xsl:text>subSup</xsl:text>\n            </xsl:when>\n          </xsl:choose>\n        </xsl:attribute>\n      </m:limLoc>\n      <m:grow>\n        <xsl:attribute name=\"m:val\">\n          <xsl:choose>\n            <xsl:when test=\"$sGrow='true'\">1</xsl:when>\n            <xsl:when test=\"$sGrow='false'\">0</xsl:when>\n            <xsl:when test=\"$chr='&#x222B;' \n                            or $chr='&#x222E;' \n                            or $chr='&#x222F;' \n                            or $chr='&#x2232;' \n                            or $chr='&#x2233;'\n                            or $chr='&#x2229;'\n                            or $chr='&#x222A;' \n                            or $chr='&#x220F;' \n                            or $chr='&#x2211;' \n                            or $chr='&#x22C0;'\n                            or $chr='&#x22C1;' \n                            or $chr='&#x22C2;'\n                            or $chr='&#x22C3;'\">1</xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n        </xsl:attribute>\n      </m:grow>\n      <m:subHide>\n        <xsl:attribute name=\"m:val\">\n          <xsl:choose>\n            <xsl:when test=\"$sMathmlType='mover' or\n\t\t\t\t\t\t                $sMathmlType='msup'\">\n              <xsl:text>on</xsl:text>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:text>off</xsl:text>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:attribute>\n      </m:subHide>\n      <m:supHide>\n        <xsl:attribute name=\"m:val\">\n          <xsl:choose>\n            <xsl:when test=\"$sMathmlType='munder' or\n\t\t\t\t\t\t                $sMathmlType='msub'\">\n              <xsl:text>on</xsl:text>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:text>off</xsl:text>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:attribute>\n      </m:supHide>\n    </m:naryPr>\n  </xsl:template>\n</xsl:stylesheet>"
  },
  {
    "path": "scripts/types/bundleTypes.mjs",
    "content": "import { promises as fs } from \"fs\";\nimport path from \"path\";\n\nasync function readDir(dir, files = []) {\n  const dirents = await fs.readdir(dir, { withFileTypes: true });\n  for (const dirent of dirents) {\n    const res = path.join(dir, dirent.name);\n    // console.log(res);\n    if (dirent.isDirectory()) {\n      await readDir(res, files);\n    } else {\n      files.push(res);\n    }\n  }\n  return files;\n}\n\nasync function bundle() {\n  const dir = \"node_modules/zotero-types\";\n  const files = await readDir(dir);\n  const dtsFiles = files.filter((file) => file.endsWith(\".d.ts\"));\n  // Add the ztypes.d.ts file\n  dtsFiles.push(\"scripts/types/templates.d.ts\");\n  const fileContents = await Promise.all(\n    dtsFiles.map((file) => fs.readFile(file, \"utf-8\")),\n  );\n  let content = fileContents.join(\"\\n\");\n  // Remove all lines starts with `/// `\n  content = content.replace(/^\\/\\/\\/ .*\\n/gm, \"\");\n  // Remove all `export {};` lines, which breaks the language server\n  content = content.replace(/export .*\\n/g, \"\");\n  // Read and compare if the content is different\n  let existingContent = \"\";\n  try {\n    existingContent = await fs.readFile(\n      \"addon/chrome/content/lib/js/ztypes.d.ts\",\n      \"utf-8\",\n    );\n  } catch (e) {\n    // File does not exist, we will create it\n  }\n  if (existingContent === content) {\n    console.log(\"No changes in ztypes.d.ts, skipping write.\");\n    return;\n  }\n\n  await fs.writeFile(\"addon/chrome/content/lib/js/ztypes.d.ts\", content);\n}\n\nexport { bundle as default, bundle as bundleTypes };\n"
  },
  {
    "path": "scripts/types/templates.d.ts",
    "content": "/**\n * Template-specific global variables for Better Notes templates\n * Based on the note template documentation\n */\n\n// Shared environment variable for all templates\ndeclare const _env: {\n  /** True in preview mode (template editor), false during actual template execution */\n  dryRun: boolean;\n};\n\n// === Item Template Variables ===\n\n// Variables available in beforeloop stage\ndeclare const items: Zotero.Item[];\ndeclare const targetNoteItem: Zotero.Item | undefined;\ndeclare const copyNoteImage: (noteItem: Zotero.Item) => void;\ndeclare const sharedObj: Record<string, any>;\n\n// Variables available in default stage (item loop)\ndeclare const topItem: Zotero.Item;\ndeclare const item: Zotero.Item;\n/** @deprecated Use topItem instead */\ndeclare const itemNotes: Zotero.Item[];\n\n// Variables available in afterloop stage\n// items, targetNoteItem, copyNoteImage, sharedObj (already declared above)\n\n// === Text Template Variables ===\n// targetNoteItem, sharedObj (already declared above)\n\n// === Builtin Template Variables ===\n\n// QuickInsertV3 template variables\ndeclare const link: string;\ndeclare const linkText: string;\ndeclare const subNoteItem: Zotero.Item;\ndeclare const noteItem: Zotero.Item;\ndeclare const lineIndex: number;\ndeclare const sectionName: string;\n\n// QuickImportV2 template variables\n// link, noteItem (already declared above)\n\n// QuickNoteV5 template variables\ndeclare const annotationItem: Zotero.Item;\n// topItem, noteItem (already declared above)\n\n// ExportMDFileNameV2 template variables\n// noteItem (already declared above)\n\n// ExportMDFileHeaderV2 template variables\n// noteItem (already declared above)\n\n// ExportMDFileContent template variables\ndeclare const mdContent: string;\n// noteItem (already declared above)\n\n// ExportLatexFileContent template variables\ndeclare const latexContent: string;\n// noteItem (already declared above)\n"
  },
  {
    "path": "src/addon.ts",
    "content": "import { VirtualizedTableHelper } from \"zotero-plugin-toolkit\";\nimport { LargePrefHelper } from \"zotero-plugin-toolkit\";\n\nimport { SyncDataType } from \"./modules/sync/managerWindow\";\nimport hooks from \"./hooks\";\nimport api from \"./api\";\nimport { createZToolkit } from \"./utils/ztoolkit\";\nimport { MessageHelper } from \"zotero-plugin-toolkit/dist/helpers/message\";\nimport type { handlers as parsingHandlers } from \"./extras/parsingWorker\";\nimport type { handlers as relationHandlers } from \"./extras/relationWorker\";\nimport type { handlers as convertHandlers } from \"./extras/convertWorker/main\";\n\nclass Addon {\n  public data: {\n    uid: string;\n    alive: boolean;\n    env: \"development\" | \"production\" | \"test\";\n    initialized?: boolean;\n    ztoolkit: ZToolkit;\n    // ztoolkit: ZoteroToolkit;\n    locale?: {\n      current: any;\n    };\n    prefs?: {\n      window: Window;\n    };\n    export: {\n      pdf: { promise?: _ZoteroTypes.Promise.PromiseObject };\n    };\n    sync: {\n      data?: LargePrefHelper;\n      lock: boolean;\n      manager: {\n        window?: Window;\n        tableHelper?: VirtualizedTableHelper;\n        data: SyncDataType[];\n        columnIndex: number;\n        columnAscending: boolean;\n      };\n      diff: {\n        window?: Window;\n      };\n    };\n    notify: Array<Parameters<_ZoteroTypes.Notifier.Notify>>;\n    workspace: {\n      instances: Record<string, WeakRef<HTMLElement>>;\n    };\n    imageViewer: {\n      window?: Window;\n      srcList: string[];\n      idx: number;\n      scaling: number;\n      title: string;\n      pined: boolean;\n      anchorPosition?: {\n        left: number;\n        top: number;\n      };\n    };\n    template: {\n      data?: LargePrefHelper;\n      editor: {\n        window?: Window;\n        tableHelper?: VirtualizedTableHelper;\n        editor?: any;\n        monaco?: any;\n        templates: string[];\n      };\n      picker: {\n        mode: \"insert\" | \"create\" | \"export\" | \"pick\";\n        data: Record<string, any>;\n      };\n    };\n    relation: {\n      worker?: Worker;\n      server?: MessageHelper<typeof relationHandlers>;\n    };\n    parsing: {\n      server?: MessageHelper<typeof parsingHandlers>;\n    };\n    convert: {\n      server?: MessageHelper<typeof convertHandlers>;\n    };\n    imageCache: Record<number, string>;\n    hint: {\n      silent: boolean;\n    };\n  } = {\n    uid: Zotero.Utilities.randomString(8),\n    alive: true,\n    env: __env__,\n    ztoolkit: createZToolkit(),\n    // ztoolkit: new ZoteroToolkit(),\n    export: {\n      pdf: { promise: undefined },\n    },\n    sync: {\n      lock: false,\n      manager: {\n        data: [],\n        columnAscending: true,\n        columnIndex: 0,\n      },\n      diff: {},\n    },\n    notify: [],\n    workspace: {\n      instances: {},\n    },\n    imageViewer: {\n      window: undefined,\n      srcList: [],\n      idx: -1,\n      scaling: 1,\n      title: \"Note\",\n      pined: false,\n      anchorPosition: undefined,\n    },\n    template: {\n      editor: {\n        window: undefined,\n        tableHelper: undefined,\n        templates: [],\n      },\n      picker: {\n        mode: \"insert\",\n        data: {},\n      },\n    },\n    relation: {},\n    parsing: {},\n    convert: {},\n    imageCache: {},\n    hint: {\n      silent: false,\n    },\n  };\n  // Lifecycle hooks\n  public hooks: typeof hooks;\n  // APIs\n  public api: typeof api;\n\n  constructor() {\n    this.hooks = hooks;\n    this.api = api;\n  }\n}\n\nexport default Addon;\n"
  },
  {
    "path": "src/api.ts",
    "content": "import {\n  md2note,\n  note2md,\n  note2noteDiff,\n  note2link,\n  link2note,\n  link2html,\n  md2html,\n  html2md,\n  annotations2html,\n  note2html,\n  link2params,\n  note2latex,\n  content2diff,\n} from \"./utils/convert\";\nimport { exportNotes } from \"./modules/export/api\";\nimport { saveDocx } from \"./modules/export/docx\";\nimport { saveFreeMind } from \"./modules/export/freemind\";\nimport { saveMD, syncMDBatch } from \"./modules/export/markdown\";\nimport { savePDF } from \"./modules/export/pdf\";\nimport { saveLatex, saveMergedLatex } from \"./modules/export/latex\";\nimport { fromMD } from \"./modules/import/markdown\";\nimport {\n  isSyncNote,\n  getSyncNoteIds,\n  addSyncNote,\n  updateSyncStatus,\n  removeSyncNote,\n  getSyncStatus,\n  getNoteStatus,\n  getMDStatus,\n  getMDStatusFromContent,\n  getMDFileName,\n  findAllSyncedFiles,\n} from \"./modules/sync/api\";\nimport {\n  runTemplate,\n  runTextTemplate,\n  runItemTemplate,\n  runQuickInsertTemplate,\n} from \"./modules/template/api\";\nimport {\n  getTemplateKeys,\n  getTemplateText,\n  setTemplate,\n  removeTemplate,\n} from \"./modules/template/controller\";\nimport {\n  SYSTEM_TEMPLATE_NAMES,\n  DEFAULT_TEMPLATES,\n} from \"./modules/template/data\";\nimport { renderTemplatePreview } from \"./modules/template/preview\";\nimport { parseCitationHTML } from \"./utils/citation\";\nimport {\n  getEditorInstance,\n  insert,\n  del,\n  scroll,\n  scrollToSection,\n  getTextBetweenLines,\n  getLineAtCursor,\n  getSectionAtCursor,\n  getPositionAtLine,\n  getTextBetween,\n  getRangeAtCursor,\n  move,\n  replace,\n  moveHeading,\n  updateHeadingTextAtLine,\n  getLineCount,\n} from \"./utils/editor\";\nimport {\n  addLineToNote,\n  getNoteTree,\n  getNoteTreeFlattened,\n  getNoteTreeNodeById,\n  getLinesInNote,\n} from \"./utils/note\";\nimport {\n  getAnnotationByLinkTarget,\n  getLinkTargetByAnnotation,\n  getNoteLinkInboundRelation,\n  getNoteLinkOutboundRelation,\n  linkAnnotationToTarget,\n  updateNoteLinkRelation,\n} from \"./utils/relation\";\nimport { getWorkspaceByUID } from \"./utils/workspace\";\nimport { getString } from \"./utils/locale\";\nimport { showRestartHint } from \"./utils/hint\";\n\nconst workspace = {\n  getWorkspaceByUID,\n};\n\nconst sync = {\n  isSyncNote,\n  getSyncNoteIds,\n  addSyncNote,\n  updateSyncStatus,\n  removeSyncNote,\n  getSyncStatus,\n  getNoteStatus,\n  getMDStatus,\n  getMDStatusFromContent,\n  getMDFileName,\n  findAllSyncedFiles,\n};\n\nconst convert = {\n  md2note,\n  note2md,\n  note2noteDiff,\n  note2link,\n  link2note,\n  link2params,\n  link2html,\n  md2html,\n  html2md,\n  annotations2html,\n  note2html,\n  item2citation: parseCitationHTML,\n  note2latex,\n  content2diff,\n};\n\nconst template = {\n  SYSTEM_TEMPLATE_NAMES,\n  DEFAULT_TEMPLATES,\n  runTemplate,\n  runTextTemplate,\n  runItemTemplate,\n  runQuickInsertTemplate,\n  getTemplateKeys,\n  getTemplateText,\n  setTemplate,\n  removeTemplate,\n  renderTemplatePreview,\n};\n\nconst $export = {\n  exportNotes,\n  saveMD,\n  syncMDBatch,\n  saveFreeMind,\n  saveDocx,\n  savePDF,\n  saveLatex,\n  saveMergedLatex,\n};\n\nconst $import = {\n  fromMD,\n};\n\nconst editor = {\n  getEditorInstance,\n  insert,\n  del,\n  move,\n  replace,\n  scroll,\n  scrollToSection,\n  getRangeAtCursor,\n  getLineAtCursor,\n  getSectionAtCursor,\n  getPositionAtLine,\n  getLineCount,\n  getTextBetween,\n  getTextBetweenLines,\n  moveHeading,\n  updateHeadingTextAtLine,\n};\n\nconst note = {\n  insert: addLineToNote,\n  getLinesInNote,\n  getNoteTree,\n  getNoteTreeFlattened,\n  getNoteTreeNodeById,\n};\n\nconst relation = {\n  getNoteLinkInboundRelation,\n  getNoteLinkOutboundRelation,\n  updateNoteLinkRelation,\n  linkAnnotationToTarget,\n  getLinkTargetByAnnotation,\n  getAnnotationByLinkTarget,\n};\n\nconst utils = {\n  getString,\n  requireRestart: showRestartHint,\n};\n\nexport default {\n  workspace,\n  sync,\n  convert,\n  template,\n  $export,\n  $import,\n  editor,\n  note,\n  relation,\n  utils,\n};\n"
  },
  {
    "path": "src/elements/base.ts",
    "content": "import { config } from \"../../package.json\";\n\nexport class PluginCEBase extends XULElementBase {\n  _addon!: typeof addon;\n  useShadowRoot = false;\n\n  connectedCallback(): void {\n    // @ts-ignore - plugin instance\n    this._addon = Zotero[config.addonInstance];\n    Zotero.UIProperties.registerRoot(this);\n    if (!this.useShadowRoot) {\n      super.connectedCallback();\n      return;\n    }\n    this.attachShadow({ mode: \"open\" });\n    // Following the connectedCallback from XULElementBase\n    let content: Node = this.content;\n    if (content) {\n      content = document.importNode(content, true);\n      this.shadowRoot?.append(content);\n    }\n\n    MozXULElement.insertFTLIfNeeded(\"branding/brand.ftl\");\n    MozXULElement.insertFTLIfNeeded(\"zotero.ftl\");\n    if (document.l10n && this.shadowRoot) {\n      document.l10n.connectRoot(this.shadowRoot);\n    }\n\n    // @ts-ignore\n    window.addEventListener(\"unload\", this._handleWindowUnload);\n\n    // @ts-ignore\n    this.initialized = true;\n    this.init();\n  }\n\n  _wrapID(key: string) {\n    if (key.startsWith(config.addonRef)) {\n      return key;\n    }\n    return `${config.addonRef}-${key}`;\n  }\n\n  _unwrapID(id: string) {\n    if (id.startsWith(config.addonRef)) {\n      return id.slice(config.addonRef.length + 1);\n    }\n    return id;\n  }\n\n  _queryID(key: string) {\n    const selector = `#${this._wrapID(key)}`;\n    return (this.querySelector(selector) ||\n      this.shadowRoot?.querySelector(selector)) as\n      | XULElement\n      | HTMLElement\n      | null;\n  }\n\n  _parseContentID(dom: DocumentFragment) {\n    dom.querySelectorAll(\"*[id]\").forEach((elem) => {\n      elem.id = this._wrapID(elem.id);\n    });\n    return dom;\n  }\n}\n"
  },
  {
    "path": "src/elements/linkCreator/inboundCreator.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { PluginCEBase } from \"../base\";\nimport { NotePicker } from \"./notePicker\";\nimport { NotePreview } from \"./notePreview\";\nimport { OutlinePicker } from \"./outlinePicker\";\nimport { getPref, setPref } from \"../../utils/prefs\";\n\nexport class InboundCreator extends PluginCEBase {\n  notePicker!: NotePicker;\n  noteOutline!: OutlinePicker;\n  notePreview!: NotePreview;\n\n  // Where the link is generated from\n  currentNote: Zotero.Item | undefined;\n  // Where the link is inserted to\n  targetNote: Zotero.Item | undefined;\n\n  positionData: NoteNodeData | undefined;\n\n  _openedNoteIDs: number[] = [];\n\n  loaded: boolean = false;\n\n  get content() {\n    return MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/linkCreator/inboundCreator.css\"\n  ></html:link>\n</linkset>\n<bn-note-picker></bn-note-picker>\n<bn-note-outline></bn-note-outline>\n<bn-note-preview></bn-note-preview>\n`);\n  }\n\n  get openedNoteIDs() {\n    return this._openedNoteIDs;\n  }\n\n  set openedNoteIDs(val) {\n    this._openedNoteIDs = val;\n  }\n\n  get item() {\n    return this.currentNote;\n  }\n\n  set item(val) {\n    this.currentNote = val;\n  }\n\n  async load(io: any) {\n    if (this.loaded) return;\n    this.openedNoteIDs = io.openedNoteIDs || [];\n    this.item = Zotero.Items.get(io.currentNoteID);\n    this.loadNotePicker();\n    this.loadNoteOutline();\n    this.loadNotePreview();\n    this.loadInsertPosition();\n    this.loaded = true;\n\n    this.scrollToSection(\"picker\");\n  }\n\n  async accept(io: any) {\n    if (!this.targetNote) return;\n    this.notePicker.saveRecentNotes();\n\n    io.targetNoteID = this.targetNote.id;\n    io.sourceNoteIDs = [this.currentNote!.id];\n    io.lineIndex = this.getIndexToInsert();\n  }\n\n  async loadNotePicker() {\n    this.notePicker = this.querySelector(\"bn-note-picker\") as NotePicker;\n    this.notePicker.openedNoteIDs = this.openedNoteIDs;\n    await this.notePicker.load();\n\n    this.notePicker.addEventListener(\"selectionchange\", (event: any) => {\n      this.targetNote = event.detail.selectedNotes[0];\n      this.updatePickerTitle(this.targetNote);\n      this.noteOutline.item = this.targetNote;\n      this.noteOutline.render();\n      this.positionData = undefined;\n      if (this.targetNote) this.scrollToSection(\"outline\");\n    });\n\n    const content = document.createElement(\"span\");\n    content.dataset.l10nId = `${config.addonRef}-inbound-step1-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n    const title = document.createElement(\"span\");\n    title.id = \"selected-note-title\";\n    title.classList.add(\"toolbar-header\", \"highlight\");\n    this.notePicker\n      .querySelector(\"#search-toolbar .toolbar-start\")\n      ?.append(content, title);\n  }\n\n  loadNoteOutline() {\n    this.noteOutline = this.querySelector(\"bn-note-outline\") as OutlinePicker;\n\n    this.noteOutline.load();\n\n    this.noteOutline.addEventListener(\"selectionchange\", (event: any) => {\n      this.positionData = event.detail.selectedSection;\n      this.updateNotePreview();\n      this.updateOutlineTitle();\n    });\n\n    const content = document.createElement(\"span\");\n    content.dataset.l10nId = `${config.addonRef}-inbound-step2-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n    const title = document.createElement(\"span\");\n    title.id = \"selected-outline-title\";\n    title.classList.add(\"toolbar-header\", \"highlight\");\n    this.noteOutline\n      .querySelector(\".toolbar .toolbar-start\")\n      ?.append(content, title);\n  }\n\n  loadInsertPosition() {\n    const insertPosition = this.querySelector(\n      \"#bn-link-insert-position\",\n    ) as HTMLSelectElement;\n    insertPosition.value = getPref(\"insertLinkPosition\") as string;\n\n    insertPosition.addEventListener(\"command\", () => {\n      setPref(\"insertLinkPosition\", insertPosition.value);\n      this.updateNotePreview();\n    });\n  }\n\n  loadNotePreview() {\n    this.notePreview = this.querySelector(\"bn-note-preview\") as NotePreview;\n\n    const content = document.createElement(\"span\");\n    content.dataset.l10nId = `${config.addonRef}-inbound-step3-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n\n    const fromTitle = document.createElement(\"span\");\n    fromTitle.id = \"preview-note-from-title\";\n    fromTitle.classList.add(\"toolbar-header\", \"highlight\");\n\n    const middleTitle = document.createElement(\"span\");\n    middleTitle.id = \"preview-note-middle-title\";\n    middleTitle.dataset.l10nId = `${config.addonRef}-inbound-step3-middle`;\n    middleTitle.classList.add(\"toolbar-header\", \"content\");\n\n    const toTitle = document.createElement(\"span\");\n    toTitle.id = \"preview-note-to-title\";\n    toTitle.classList.add(\"toolbar-header\", \"highlight\");\n    this.notePreview\n      .querySelector(\".toolbar .toolbar-start\")\n      ?.append(content, fromTitle, middleTitle, toTitle);\n  }\n\n  updatePickerTitle(noteItem?: Zotero.Item) {\n    const title = noteItem ? noteItem.getNoteTitle() : \"\";\n    this.querySelector(\"#selected-note-title\")!.textContent = title;\n  }\n\n  updateOutlineTitle() {\n    const title = this.positionData?.name || \"\";\n    this.querySelector(\"#selected-outline-title\")!.textContent = title;\n  }\n\n  updatePreviewTitle() {\n    this.querySelector(\"#preview-note-from-title\")!.textContent =\n      this.targetNote?.getNoteTitle() || \"No title\";\n    (\n      this.querySelector(\"#preview-note-middle-title\") as HTMLElement\n    ).dataset.l10nArgs = `{\"show\": \"true\"}`;\n    this.querySelector(\"#preview-note-to-title\")!.textContent =\n      this.currentNote?.getNoteTitle() || \"No title\";\n  }\n\n  async updateNotePreview() {\n    if (!this.loaded || !this.targetNote) return;\n\n    const lines = await this._addon.api.note.getLinesInNote(this.targetNote, {\n      convertToHTML: true,\n    });\n    let index = this.getIndexToInsert();\n    if (index < 0) {\n      index = lines.length;\n    } else {\n      this.scrollToSection(\"preview\");\n    }\n    const before = lines.slice(0, index).join(\"\\n\");\n    const after = lines.slice(index).join(\"\\n\");\n\n    // TODO: use index or section\n    const middle = await this.getContentToInsert();\n\n    this.notePreview.render({ before, middle, after });\n    this.updatePreviewTitle();\n  }\n\n  scrollToSection(type: \"picker\" | \"outline\" | \"preview\") {\n    if (!this.loaded) return;\n    const querier = {\n      picker: \"bn-note-picker\",\n      outline: \"bn-note-outline\",\n      preview: \"bn-note-preview\",\n    };\n    const container = this.querySelector(querier[type]);\n    if (!container) return;\n    container.scrollIntoView({\n      behavior: \"smooth\",\n      inline: \"center\",\n    });\n  }\n\n  async getContentToInsert() {\n    if (!this.currentNote || !this.targetNote) return \"\";\n    return await this._addon.api.template.runQuickInsertTemplate(\n      this.currentNote,\n      this.targetNote,\n      { dryRun: true },\n    );\n  }\n\n  getIndexToInsert() {\n    if (!this.positionData) return -1;\n    let position = getPref(\"insertLinkPosition\") as string;\n    if (![\"start\", \"end\"].includes(position)) {\n      position = \"end\";\n    }\n    let index = {\n      start: this.positionData.lineIndex + 1,\n      end: this.positionData.endIndex + 1,\n    }[position];\n    if (index === undefined) {\n      index = -1;\n    }\n    return index;\n  }\n}\n"
  },
  {
    "path": "src/elements/linkCreator/notePicker.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { VirtualizedTableHelper } from \"zotero-plugin-toolkit\";\nimport { PluginCEBase } from \"../base\";\nimport {\n  getPref,\n  getPrefJSON,\n  registerPrefObserver,\n  setPref,\n  unregisterPrefObserver,\n} from \"../../utils/prefs\";\n\nconst _require = window.require;\nconst CollectionTree = _require(\"chrome://zotero/content/collectionTree.js\");\nconst ItemTree = _require(\"chrome://zotero/content/itemTree.js\");\nconst { getCSSItemTypeIcon } = _require(\"components/icons\");\n\nconst persistKey = \"persist.notePicker\";\n\nexport class NotePicker extends PluginCEBase {\n  itemsView!: _ZoteroTypes.ItemTree;\n  collectionsView!: _ZoteroTypes.CollectionTree;\n  openedNotesView!: VirtualizedTableHelper;\n  recentNotesView!: VirtualizedTableHelper;\n\n  _collectionsList!: XULBoxElement;\n\n  openedNotes: Zotero.Item[] = [];\n\n  recentNotes: Zotero.Item[] = [];\n\n  activeSelectionType: \"library\" | \"tabs\" | \"recent\" | \"none\" = \"none\";\n\n  uid = Zotero.Utilities.randomString(8);\n\n  _prefObserverID!: symbol;\n\n  _cachedLibraryIDs: number[] = [];\n\n  _cachedSelectedNoteIDs: number[] = [];\n\n  _disableSelectionChange = false;\n\n  get content() {\n    return MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/linkCreator/notePicker.css\"\n  ></html:link>\n</linkset>\n<vbox id=\"select-items-dialog\" class=\"container\">\n  <vbox id=\"zotero-select-items-container\" class=\"container\" flex=\"1\">\n    <hbox id=\"search-toolbar\" class=\"toolbar\">\n      <hbox class=\"toolbar-start\"></hbox>\n      <hbox class=\"toolbar-middle\"></hbox>\n      <hbox class=\"toolbar-end\"></hbox>\n    </hbox>\n    <vbox class=\"container\">\n      <hbox id=\"collections-items-container\">\n        <vbox\n          id=\"zotero-collections-tree-container\"\n          class=\"virtualized-table-container\"\n        >\n          <html:div id=\"zotero-collections-tree\"></html:div>\n        </vbox>\n        <splitter id=\"collections-items-splitter\" orient=\"horizontal\" collapse=\"after\"></splitter>\n        <hbox\n          id=\"zotero-items-pane-content\"\n          class=\"virtualized-table-container\"\n          flex=\"1\"\n        >\n          <html:div id=\"zotero-items-tree\"></html:div>\n        </hbox>\n      </hbox>\n      <hbox id=\"bn-select-opened-notes-container\" class=\"container\">\n        <vbox\n          id=\"bn-select-opened-notes-content\"\n          class=\"container virtualized-table-container bn-note-list-container\"\n        >\n          <html:div id=\"bn-select-opened-notes-tree-${this.uid}\"></html:div>\n        </vbox>\n         <vbox\n          id=\"bn-select-recent-notes-content\"\n          class=\"container virtualized-table-container bn-note-list-container\"\n        >\n          <html:div id=\"bn-select-recent-notes-tree-${this.uid}\"></html:div>\n        </vbox>\n      </hbox>\n    </vbox>\n  </vbox>\n</vbox>\n`);\n  }\n\n  set openedNoteIDs(ids: number[]) {\n    this.openedNotes = Zotero.Items.get(ids).filter((item) => item.isNote());\n    if (this.openedNotesView) {\n      this.openedNotesView.render();\n      return;\n    }\n  }\n\n  async init() {\n    window.addEventListener(\"unload\", () => {\n      this.destroy();\n    });\n\n    this._collectionsList = this.querySelector(\n      \"#zotero-collections-tree-container\",\n    ) as XULBoxElement;\n\n    this._restoreState();\n\n    this.querySelector(\"#collections-items-splitter\")?.addEventListener(\n      \"mouseup\",\n      () => {\n        this._persistState();\n      },\n    );\n\n    this._prefObserverID = registerPrefObserver(\n      persistKey,\n      this._restoreState.bind(this),\n    );\n  }\n\n  destroy(): void {\n    this.collectionsView?.unregister();\n    this.itemsView?.unregister();\n    unregisterPrefObserver(this._prefObserverID);\n  }\n\n  async load() {\n    await this.loadLibraryNotes();\n    this.loadQuickSearch();\n    await this.loadOpenedNotes();\n\n    this.recentNotes = this.getRecentNotes();\n\n    await this.loadRecentNotes();\n  }\n\n  async loadLibraryNotes() {\n    this.itemsView = await ItemTree.init(\n      this.querySelector(\"#zotero-items-tree\"),\n      {\n        onSelectionChange: () => {\n          this.onItemSelected();\n        },\n        id: \"select-items-dialog\",\n        dragAndDrop: false,\n        persistColumns: true,\n        columnPicker: true,\n        emptyMessage: Zotero.getString(\"pane.items.loading\"),\n      },\n    );\n    this.itemsView.isSelectable = (index: number, selectAll = false) => {\n      const row = this.itemsView.getRow(index);\n      if (!row) {\n        return false;\n      }\n      // @ts-ignore\n      if (!row.ref.isNote()) return false;\n      if (this.itemsView.collectionTreeRow.isTrash()) {\n        // @ts-ignore\n        return row.ref.deleted;\n      } else {\n        // @ts-ignore\n        return this.itemsView._searchItemIDs.has(row.id);\n      }\n    };\n    this.itemsView.setItemsPaneMessage(Zotero.getString(\"pane.items.loading\"));\n\n    // Wait otherwise the collection tree will not be initialized\n    await Zotero.Promise.delay(10);\n    this.collectionsView = await CollectionTree.init(\n      this.querySelector(\"#zotero-collections-tree\"),\n      {\n        onSelectionChange: Zotero.Utilities.debounce(\n          () => this.onCollectionSelected(),\n          100,\n        ),\n      },\n    );\n    this.collectionsView.hideSources = [\"duplicates\", \"trash\", \"feeds\"];\n\n    await this.collectionsView.makeVisible();\n  }\n\n  loadQuickSearch() {\n    const searchBox = document.createXULElement(\"quick-search-textbox\");\n    searchBox.id = \"zotero-tb-search\";\n    searchBox.setAttribute(\"timeout\", \"250\");\n    searchBox.setAttribute(\"dir\", \"reverse\");\n    searchBox.addEventListener(\"command\", () => this.onSearch());\n    this.querySelector(\"#search-toolbar > .toolbar-end\")?.appendChild(\n      searchBox,\n    );\n\n    // @ts-ignore\n    searchBox.updateMode();\n  }\n\n  async loadOpenedNotes() {\n    const renderLock = Zotero.Promise.defer();\n    this.openedNotesView = new VirtualizedTableHelper(window)\n      .setContainerId(`bn-select-opened-notes-tree-${this.uid}`)\n      .setProp({\n        id: `bn-select-opened-notes-table-${this.uid}`,\n        columns: [\n          {\n            dataKey: \"title\",\n            label: \"Opened Notes\",\n            flex: 1,\n          },\n        ],\n        showHeader: true,\n        multiSelect: false,\n        staticColumns: true,\n        disableFontSizeScaling: true,\n      })\n      .setProp(\"getRowCount\", () => this.openedNotes.length || 0)\n      .setProp(\"getRowData\", (index) => {\n        const note = this.openedNotes[index];\n        return {\n          title: note.getNoteTitle(),\n        };\n      })\n      .setProp(\"onSelectionChange\", (selection) => {\n        this.onOpenedNoteSelected(selection);\n      })\n      // For find-as-you-type\n      .setProp(\n        \"getRowString\",\n        (index) => this.openedNotes[index].getNoteTitle() || \"\",\n      )\n      .setProp(\"renderItem\", (index, selection, oldElem, columns) => {\n        let div;\n        if (oldElem) {\n          div = oldElem;\n          div.innerHTML = \"\";\n        } else {\n          div = document.createElement(\"div\");\n          div.className = \"row\";\n        }\n\n        div.classList.toggle(\"selected\", selection.isSelected(index));\n        div.classList.toggle(\"focused\", selection.focused == index);\n        const rowData = this.openedNotes[index];\n\n        for (const column of columns) {\n          const span = document.createElement(\"span\");\n          // @ts-ignore\n          span.className = `cell ${column?.className}`;\n          span.textContent = rowData.getNoteTitle();\n          const icon = getCSSItemTypeIcon(\"note\");\n          icon.classList.add(\"cell-icon\");\n          span.prepend(icon);\n          div.append(span);\n        }\n        return div;\n      })\n      .render(-1, () => {\n        renderLock.resolve();\n      });\n    await renderLock.promise;\n\n    // if (this.openedNotes.length === 1) {\n    //   this.openedNotesView.treeInstance.selection.select(0);\n    // }\n  }\n\n  async loadRecentNotes() {\n    const renderLock = Zotero.Promise.defer();\n    this.recentNotesView = new VirtualizedTableHelper(window)\n      .setContainerId(`bn-select-recent-notes-tree-${this.uid}`)\n      .setProp({\n        id: `bn-select-recent-notes-table-${this.uid}`,\n        columns: [\n          {\n            dataKey: \"title\",\n            label: \"Recent Notes\",\n            flex: 1,\n          },\n        ],\n        showHeader: true,\n        multiSelect: false,\n        staticColumns: true,\n        disableFontSizeScaling: true,\n      })\n      .setProp(\"getRowCount\", () => this.recentNotes.length || 0)\n      .setProp(\"getRowData\", (index) => {\n        const note = this.recentNotes[index];\n        return {\n          title: note.getNoteTitle(),\n        };\n      })\n      .setProp(\"onSelectionChange\", (selection) => {\n        this.onRecentNoteSelected(selection);\n      })\n      // For find-as-you-type\n      .setProp(\n        \"getRowString\",\n        (index) => this.recentNotes[index].getNoteTitle() || \"\",\n      )\n      .setProp(\"renderItem\", (index, selection, oldElem, columns) => {\n        let div;\n        if (oldElem) {\n          div = oldElem;\n          div.innerHTML = \"\";\n        } else {\n          div = document.createElement(\"div\");\n          div.className = \"row\";\n        }\n\n        div.classList.toggle(\"selected\", selection.isSelected(index));\n        div.classList.toggle(\"focused\", selection.focused == index);\n        const rowData = this.recentNotes[index];\n\n        for (const column of columns) {\n          const span = document.createElement(\"span\");\n          // @ts-ignore\n          span.className = `cell ${column?.className}`;\n          span.textContent = rowData.getNoteTitle();\n          const icon = getCSSItemTypeIcon(\"note\");\n          icon.classList.add(\"cell-icon\");\n          span.prepend(icon);\n          div.append(span);\n        }\n        return div;\n      })\n      .render(-1, () => {\n        renderLock.resolve();\n      });\n    await renderLock.promise;\n\n    if (this.recentNotes.length > 0) {\n      setTimeout(() => {\n        this.recentNotesView.treeInstance.selection.select(0);\n        this.onRecentNoteSelected(this.recentNotesView.treeInstance.selection);\n      }, 200);\n    }\n  }\n\n  onSearch() {\n    if (this.itemsView) {\n      const searchVal = (\n        this.querySelector(\"#zotero-tb-search-textbox\") as HTMLInputElement\n      )?.value;\n      this.itemsView.setFilter(\"search\", searchVal);\n    }\n  }\n\n  async onCollectionSelected() {\n    const collectionTreeRow = this.collectionsView.getRow(\n      this.collectionsView.selection.focused,\n    );\n    if (!this.collectionsView.selection.count) return;\n    // Collection not changed\n    if (\n      this.itemsView &&\n      this.itemsView.collectionTreeRow &&\n      this.itemsView.collectionTreeRow.id == collectionTreeRow.id\n    ) {\n      return;\n    }\n    // @ts-ignore\n    if (!collectionTreeRow._bnPatched) {\n      // @ts-ignore\n      collectionTreeRow._bnPatched = true;\n      const getItems = collectionTreeRow.getItems.bind(collectionTreeRow);\n      // @ts-ignore\n      collectionTreeRow.getItems = async function () {\n        const items = (await getItems()) as Zotero.Item[];\n        return items.filter((item) => item.isNote()) as unknown[];\n      };\n    }\n    collectionTreeRow.setSearch(\"\");\n    Zotero.Prefs.set(\"lastViewedFolder\", collectionTreeRow.id);\n\n    this.itemsView.setItemsPaneMessage(Zotero.getString(\"pane.items.loading\"));\n\n    // Load library data if necessary\n    const library = Zotero.Libraries.get(collectionTreeRow.ref.libraryID);\n    if (library) {\n      if (!library.getDataLoaded(\"item\")) {\n        Zotero.debug(\n          \"Waiting for items to load for library \" + library.libraryID,\n        );\n        await library.waitForDataLoad(\"item\");\n      }\n    }\n\n    await this.itemsView.changeCollectionTreeRow(collectionTreeRow);\n\n    this.itemsView.clearItemsPaneMessage();\n\n    this.collectionsView.runListeners(\"select\");\n  }\n\n  onItemSelected() {\n    if (this._disableSelectionChange) {\n      return;\n    }\n    this.activeSelectionType = \"library\";\n    const selectedIDs = this.itemsView.getSelectedItems(true) as number[];\n    // Compare the selected IDs with the cached IDs\n    // Since the library selection change can be triggered multiple times or with no change\n    if (arraysEqual(this._cachedLibraryIDs, selectedIDs)) {\n      return;\n    }\n    this.deselectOtherPanes();\n    this.dispatchSelectionChange();\n  }\n\n  onOpenedNoteSelected(selection: { selected: Set<number> }) {\n    if (this._disableSelectionChange) {\n      return;\n    }\n    this.activeSelectionType = \"tabs\";\n    this.deselectOtherPanes();\n    this.dispatchSelectionChange(selection);\n  }\n\n  onRecentNoteSelected(selection: { selected: Set<number> }) {\n    if (this._disableSelectionChange) {\n      return;\n    }\n    this.activeSelectionType = \"recent\";\n    this.deselectOtherPanes();\n    this.dispatchSelectionChange(selection);\n  }\n\n  deselectItemsPane() {\n    this.itemsView?.selection?.clearSelection();\n  }\n\n  deselectOpenedNotePane() {\n    this.openedNotesView?.treeInstance?.selection?.clearSelection();\n  }\n\n  deselectRecentNotePane() {\n    this.recentNotesView?.treeInstance?.selection?.clearSelection();\n  }\n\n  deselectOtherPanes() {\n    this._disableSelectionChange = true;\n    if (this.activeSelectionType !== \"library\") this.deselectItemsPane();\n    if (this.activeSelectionType !== \"tabs\") this.deselectOpenedNotePane();\n    if (this.activeSelectionType !== \"recent\") this.deselectRecentNotePane();\n    this._disableSelectionChange = false;\n  }\n\n  getRecentNotes() {\n    return ((getPref(\"linkCreator.recentNotes\") as string) || \"\")\n      .split(\",\")\n      .map((id) => Zotero.Items.get(parseInt(id)))\n      .filter((item) => item && item.isNote());\n  }\n\n  saveRecentNotes() {\n    const selectedNotes = this.getSelectedNotes();\n    if (!selectedNotes.length) {\n      return;\n    }\n    const recentNotes: number[] = [...selectedNotes.map((note) => note.id)];\n    for (const note of this.recentNotes) {\n      if (!recentNotes.includes(note.id)) {\n        recentNotes.push(note.id);\n      }\n    }\n    // Save only 10 recent notes\n    setPref(\"linkCreator.recentNotes\", recentNotes.slice(0, 10).join(\",\"));\n  }\n\n  dispatchSelectionChange(selection?: { selected: Set<number> }) {\n    if (this._disableSelectionChange) {\n      return false;\n    }\n    const selectedNotes = this.getSelectedNotes(selection);\n    const selectedNoteIDs = selectedNotes.map((n) => n.id);\n    if (arraysEqual(this._cachedSelectedNoteIDs, selectedNoteIDs)) {\n      return false;\n    }\n    this._cachedSelectedNoteIDs = selectedNoteIDs;\n    this.dispatchEvent(\n      new CustomEvent(\"selectionchange\", {\n        detail: {\n          selectedNotes,\n        },\n      }),\n    );\n    return true;\n  }\n\n  getSelectedNotes(selection?: { selected: Set<number> }): Zotero.Item[] {\n    if (this.activeSelectionType == \"none\") {\n      return [];\n    } else if (this.activeSelectionType == \"library\") {\n      return this.itemsView.getSelectedItems();\n    } else if (this.activeSelectionType == \"tabs\") {\n      return Array.from(\n        (selection || this.openedNotesView.treeInstance.selection).selected,\n      ).map((index) => this.openedNotes[index]);\n    } else if (this.activeSelectionType == \"recent\") {\n      return Array.from(\n        (selection || this.recentNotesView.treeInstance.selection).selected,\n      ).map((index) => this.recentNotes[index]);\n    }\n    return [];\n  }\n\n  _persistState() {\n    let state = getPrefJSON(persistKey);\n\n    const collectionsListWidth = getComputedStyle(this._collectionsList)?.width;\n    if (state?.collectionsListWidth === collectionsListWidth) {\n      return;\n    }\n\n    state = {\n      ...state,\n      collectionsListWidth,\n    };\n\n    setPref(persistKey, JSON.stringify(state));\n  }\n\n  _restoreState() {\n    const state = getPrefJSON(persistKey);\n    if (\n      typeof state.collectionsListWidth === \"string\" &&\n      state.collectionsListWidth !==\n        Number(getComputedStyle(this._collectionsList)?.width)\n    ) {\n      this._collectionsList.style.width = state.collectionsListWidth;\n    }\n  }\n}\n\nfunction arraysEqual(arr1: number[], arr2: number[]): boolean {\n  if (arr1.length !== arr2.length) return false;\n\n  const set1 = new Set(arr1);\n  const set2 = new Set(arr2);\n\n  if (set1.size !== set2.size) return false;\n\n  for (const item of set1) {\n    if (!set2.has(item)) return false;\n  }\n\n  return true;\n}\n"
  },
  {
    "path": "src/elements/linkCreator/notePreview.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { VirtualizedTableHelper } from \"zotero-plugin-toolkit\";\nimport { PluginCEBase } from \"../base\";\nimport TreeModel = require(\"tree-model\");\nimport { waitUtilAsync } from \"../../utils/wait\";\n\nexport class NotePreview extends PluginCEBase {\n  _item?: Zotero.Item;\n  noteOutlineView!: VirtualizedTableHelper;\n  noteOutline: TreeModel.Node<NoteNodeData>[] = [];\n\n  get content() {\n    return MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/linkCreator/notePreview.css\"\n  ></html:link>\n</linkset>\n<hbox class=\"toolbar\">\n  <hbox class=\"toolbar-start\"></hbox>\n  <hbox class=\"toolbar-middle\"></hbox>\n  <hbox class=\"toolbar-end\"></hbox>\n</hbox>\n<vbox id=\"bn-note-preview-content\" class=\"container\">\n  <iframe\n    id=\"bn-note-preview\"\n    class=\"container\"\n    type=\"content\"\n  ></iframe>\n</vbox>\n`);\n  }\n\n  async init() {}\n\n  async render(options: { before: string; middle: string; after: string }) {\n    const iframe = this.querySelector(\"#bn-note-preview\") as HTMLIFrameElement;\n\n    const activeElement = document.activeElement as HTMLElement;\n\n    iframe!.contentDocument!.documentElement.innerHTML = `<html>\n    <head>\n      <title></title>\n      <link\n        rel=\"stylesheet\"\n        type=\"text/css\"\n        href=\"chrome://zotero-platform/content/zotero.css\"\n      />\n      <link\n        rel=\"stylesheet\"\n        type=\"text/css\"\n        href=\"chrome://${config.addonRef}/content/lib/css/github-markdown.css\"\n      />\n      <link\n        rel=\"stylesheet\"\n        href=\"chrome://${config.addonRef}/content/lib/css/katex.min.css\"\n        crossorigin=\"anonymous\"\n      />\n      <style>\n        html {\n          color-scheme: light dark;\n          background: var(--material-sidepane);\n        }\n        body {\n          overflow-x: clip;\n        }\n        #inserted {\n          border: var(--material-border);\n          box-shadow: 0 2px 5px color-mix(in srgb, var(--material-background) 15%, transparent);\n          border-radius: 4px;\n          background: var(--material-background);\n          padding: 10px;\n          transition: all 0.3s ease;\n        }\n        #inserted:hover {\n          box-shadow: 0 5px 15px color-mix(in srgb, var(--material-background) 20%, transparent);\n          background: var(--color-background50);\n        }\n      </style>\n    </head>\n    <body>\n      <div>${options.before}</div>\n      <div id=\"inserted\">${options.middle}</div>\n      <div>${options.after}</div>\n    </body>\n  </html>\n  `;\n    activeElement?.focus();\n    await waitUtilAsync(\n      () => iframe.contentDocument?.readyState === \"complete\",\n    );\n\n    // Scroll the inserted section into the center of the iframe\n    const inserted = iframe.contentDocument?.getElementById(\"inserted\");\n    if (inserted) {\n      const rect = inserted.getBoundingClientRect();\n      const container = inserted.parentElement!;\n      container.scrollTo({\n        top:\n          container.scrollTop +\n          rect.top -\n          container.clientHeight / 2 +\n          rect.height,\n        behavior: \"smooth\",\n      });\n    }\n  }\n}\n"
  },
  {
    "path": "src/elements/linkCreator/outboundCreator.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { PluginCEBase } from \"../base\";\nimport { NotePicker } from \"./notePicker\";\nimport { NotePreview } from \"./notePreview\";\nimport { OutlinePicker } from \"./outlinePicker\";\nimport { getPref, setPref } from \"../../utils/prefs\";\n\nexport class OutboundCreator extends PluginCEBase {\n  notePicker!: NotePicker;\n  noteOutline!: OutlinePicker;\n  notePreview!: NotePreview;\n\n  // Where the link is inserted to\n  currentNote: Zotero.Item | undefined;\n  // Where the link is generated from\n  targetNotes: Zotero.Item[] | undefined;\n\n  positionData: NoteNodeData | undefined;\n\n  _openedNoteIDs: number[] = [];\n\n  _currentLineIndex: number | undefined;\n\n  loaded: boolean = false;\n\n  get content() {\n    return MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/linkCreator/outboundCreator.css\"\n  ></html:link>\n</linkset>\n<bn-note-picker></bn-note-picker>\n<bn-note-outline></bn-note-outline>\n<bn-note-preview></bn-note-preview>\n`);\n  }\n\n  get openedNoteIDs() {\n    return this._openedNoteIDs;\n  }\n\n  set openedNoteIDs(val) {\n    this._openedNoteIDs = val;\n  }\n\n  get item() {\n    return this.currentNote;\n  }\n\n  set item(val) {\n    this.currentNote = val;\n  }\n\n  async load(io: any) {\n    if (this.loaded) return;\n    this.openedNoteIDs = io.openedNoteIDs || [];\n    this._currentLineIndex = io.currentLineIndex;\n    this.item = Zotero.Items.get(io.currentNoteID);\n    this.loadNotePicker();\n    this.loadNoteOutline();\n    this.loadNotePreview();\n    this.loadInsertPosition();\n    this.loaded = true;\n\n    this.scrollToSection(\"picker\");\n  }\n\n  async accept(io: any) {\n    if (!this.targetNotes) return;\n    this.notePicker.saveRecentNotes();\n\n    io.targetNoteID = this.currentNote!.id;\n    io.sourceNoteIDs = this.targetNotes.map((item) => item.id).filter(Boolean);\n    io.content = content;\n    io.lineIndex = this.getIndexToInsert();\n  }\n\n  async loadNotePicker() {\n    this.notePicker = this.querySelector(\"bn-note-picker\") as NotePicker;\n    this.notePicker.openedNoteIDs = this.openedNoteIDs;\n    await this.notePicker.load();\n\n    this.notePicker.addEventListener(\"selectionchange\", (event: any) => {\n      this.targetNotes = this.notePicker.getSelectedNotes();\n      this.updatePickerTitle(this.targetNotes);\n      this.updateNotePreview();\n      if (this.targetNotes) this.scrollToSection(\"outline\");\n    });\n\n    const content = document.createElement(\"span\");\n    content.innerHTML = \"\";\n    content.dataset.l10nId = `${config.addonRef}-outbound-step1-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n    const title = document.createElement(\"span\");\n    title.id = \"selected-note-title\";\n    title.classList.add(\"toolbar-header\", \"highlight\");\n    this.notePicker\n      .querySelector(\"#search-toolbar .toolbar-start\")\n      ?.append(content, title);\n  }\n\n  loadNoteOutline() {\n    this.noteOutline = this.querySelector(\"bn-note-outline\") as OutlinePicker;\n\n    this.noteOutline.load();\n    this.noteOutline.item = this.currentNote;\n    if (typeof this._currentLineIndex === \"number\") {\n      this.noteOutline.lineIndex = this._currentLineIndex;\n    }\n    this.noteOutline.render();\n    this.positionData = undefined;\n    this.updateNotePreview();\n\n    this.noteOutline.addEventListener(\"selectionchange\", (event: any) => {\n      this.positionData = event.detail.selectedSection;\n      this.updateNotePreview();\n      this.updateOutlineTitle();\n    });\n\n    const content = document.createElement(\"span\");\n    content.dataset.l10nId = `${config.addonRef}-outbound-step2-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n    const title = document.createElement(\"span\");\n    title.id = \"selected-outline-title\";\n    title.classList.add(\"toolbar-header\", \"highlight\");\n    this.noteOutline\n      .querySelector(\".toolbar .toolbar-start\")\n      ?.append(content, title);\n  }\n\n  loadInsertPosition() {\n    const insertPosition = this.querySelector(\n      \"#bn-link-insert-position\",\n    ) as HTMLSelectElement;\n    insertPosition.value = getPref(\"insertLinkPosition\") as string;\n\n    insertPosition.addEventListener(\"command\", () => {\n      setPref(\"insertLinkPosition\", insertPosition.value);\n      this.updateNotePreview();\n    });\n  }\n\n  loadNotePreview() {\n    this.notePreview = this.querySelector(\"bn-note-preview\") as NotePreview;\n\n    const content = document.createElement(\"span\");\n    content.dataset.l10nId = `${config.addonRef}-outbound-step3-content`;\n    content.classList.add(\"toolbar-header\", \"content\");\n\n    const fromTitle = document.createElement(\"span\");\n    fromTitle.id = \"preview-note-from-title\";\n    fromTitle.classList.add(\"toolbar-header\", \"highlight\");\n\n    const middleTitle = document.createElement(\"span\");\n    middleTitle.id = \"preview-note-middle-title\";\n    middleTitle.dataset.l10nId = `${config.addonRef}-outbound-step3-middle`;\n    middleTitle.classList.add(\"toolbar-header\", \"content\");\n\n    const toTitle = document.createElement(\"span\");\n    toTitle.id = \"preview-note-to-title\";\n    toTitle.classList.add(\"toolbar-header\", \"highlight\");\n    this.notePreview\n      .querySelector(\".toolbar .toolbar-start\")\n      ?.append(content, fromTitle, middleTitle, toTitle);\n  }\n\n  getPickedNotesTitle(noteItems?: Zotero.Item[]) {\n    let title = \"\";\n    if (!noteItems?.length) {\n      title = \"-\";\n    }\n    if (noteItems?.length === 1) {\n      title = noteItems[0].getNoteTitle();\n    } else {\n      title = `${noteItems?.length} notes`;\n    }\n    return title;\n  }\n\n  updatePickerTitle(noteItems?: Zotero.Item[]) {\n    this.querySelector(\"#selected-note-title\")!.textContent =\n      this.getPickedNotesTitle(noteItems);\n  }\n\n  updateOutlineTitle() {\n    const title = this.positionData?.name || \"\";\n    this.querySelector(\"#selected-outline-title\")!.textContent = title;\n  }\n\n  updatePreviewTitle() {\n    this.querySelector(\"#preview-note-from-title\")!.textContent =\n      this.currentNote?.getNoteTitle() || \"No title\";\n    (\n      this.querySelector(\"#preview-note-middle-title\") as HTMLElement\n    ).dataset.l10nArgs = `{\"show\": \"true\"}`;\n    this.querySelector(\"#preview-note-to-title\")!.textContent =\n      this.getPickedNotesTitle(this.targetNotes);\n  }\n\n  async updateNotePreview() {\n    if (!this.loaded || !this.currentNote) return;\n\n    const lines = await this._addon.api.note.getLinesInNote(this.currentNote, {\n      convertToHTML: true,\n    });\n    let index = this.getIndexToInsert();\n    if (index < 0) {\n      index = lines.length;\n    } else {\n      this.scrollToSection(\"preview\");\n    }\n    const before = lines.slice(0, index).join(\"\\n\");\n    const after = lines.slice(index).join(\"\\n\");\n\n    // TODO: use index or section\n    const middle = await this.getContentToInsert();\n\n    this.notePreview.render({ before, middle, after });\n    this.updatePreviewTitle();\n  }\n\n  scrollToSection(type: \"picker\" | \"outline\" | \"preview\") {\n    if (!this.loaded) return;\n    const querier = {\n      picker: \"bn-note-picker\",\n      outline: \"bn-note-outline\",\n      preview: \"bn-note-preview\",\n    };\n    const container = this.querySelector(querier[type]);\n    if (!container) return;\n    container.scrollIntoView({\n      behavior: \"smooth\",\n      inline: \"center\",\n    });\n  }\n\n  async getContentToInsert() {\n    if (!this.currentNote || !this.targetNotes?.length) return \"\";\n    let content = \"\";\n    for (const note of this.targetNotes) {\n      content += await this._addon.api.template.runQuickInsertTemplate(\n        note,\n        this.currentNote,\n        { dryRun: true },\n      );\n      content += \"\\n\";\n    }\n\n    return content;\n  }\n\n  getIndexToInsert() {\n    if (!this.positionData) return -1;\n    let position = getPref(\"insertLinkPosition\") as string;\n    if (![\"start\", \"end\"].includes(position)) {\n      position = \"end\";\n    }\n    let index = {\n      start: this.positionData.lineIndex + 1,\n      end: this.positionData.endIndex + 1,\n    }[position];\n    if (index === undefined) {\n      index = -1;\n    }\n    return index;\n  }\n}\n"
  },
  {
    "path": "src/elements/linkCreator/outlinePicker.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { VirtualizedTableHelper } from \"zotero-plugin-toolkit\";\nimport { PluginCEBase } from \"../base\";\nimport TreeModel = require(\"tree-model\");\n\nexport class OutlinePicker extends PluginCEBase {\n  _item?: Zotero.Item;\n  _lineIndex?: number;\n\n  noteOutlineView!: VirtualizedTableHelper;\n  noteOutline: TreeModel.Node<NoteNodeData>[] = [];\n\n  uid = Zotero.Utilities.randomString(8);\n\n  get content() {\n    return MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/linkCreator/noteOutline.css\"\n  ></html:link>\n</linkset>\n<hbox class=\"toolbar\">\n  <hbox class=\"toolbar-start\"></hbox>\n  <hbox class=\"toolbar-middle\"></hbox>\n  <hbox class=\"toolbar-end\"></hbox>\n</hbox>\n<vbox id=\"bn-select-note-outline-container\">\n  <vbox\n    id=\"bn-select-note-outline-content\"\n    class=\"virtualized-table-container\"\n  >\n    <html:div id=\"bn-select-note-outline-tree-${this.uid}\"></html:div>\n  </vbox>\n</vbox>\n<hbox id=\"bn-link-insert-position-container\">\n  <label>At section</label>\n  <radiogroup id=\"bn-link-insert-position\" orient=\"horizontal\">\n    <radio\n      id=\"bn-link-insert-position-top\"\n      label=\"Start\"\n      value=\"start\"\n    ></radio>\n    <radio\n      id=\"bn-link-insert-position-bottom\"\n      label=\"End\"\n      value=\"end\"\n    ></radio>\n  </radiogroup>\n</hbox>\n`);\n  }\n\n  get item() {\n    return this._item;\n  }\n\n  set item(item: Zotero.Item | undefined) {\n    this._item = item;\n  }\n\n  set lineIndex(index: number | undefined) {\n    this._lineIndex = index;\n  }\n\n  get lineIndex() {\n    return this._lineIndex;\n  }\n\n  async load() {\n    this.loadNoteOutline();\n  }\n\n  async loadNoteOutline() {\n    const renderLock = Zotero.Promise.defer();\n    this.noteOutlineView = new VirtualizedTableHelper(window)\n      .setContainerId(`bn-select-note-outline-tree-${this.uid}`)\n      .setProp({\n        id: `bn-select-note-outline-table-${this.uid}`,\n        columns: [\n          {\n            dataKey: \"level\",\n            label: \"Level\",\n            width: 50,\n            staticWidth: true,\n          },\n          {\n            dataKey: \"name\",\n            label: \"Table of Contents\",\n            flex: 1,\n          },\n        ],\n        showHeader: true,\n        multiSelect: false,\n        staticColumns: true,\n        disableFontSizeScaling: true,\n      })\n      .setProp(\"getRowCount\", () => this.noteOutline.length || 0)\n      .setProp(\"getRowData\", (index) => {\n        const model = this.noteOutline[index]?.model;\n        if (!model) return { level: 0, name: \"**Unknown**\" };\n        return {\n          level: model.level,\n          name:\n            (model.level > 0 ? \"··\".repeat(model.level - 1) : \"\") + model.name,\n        };\n      })\n      .setProp(\"onSelectionChange\", (selection) => {\n        this.onOutlineSelected(selection);\n      })\n      // For find-as-you-type\n      .setProp(\n        \"getRowString\",\n        (index) => this.noteOutline[index]?.model.name || \"\",\n      )\n      .render(-1, () => {\n        renderLock.resolve();\n      });\n    await renderLock.promise;\n\n    // if (openedNotes.length === 1) {\n    //   openedNotesView.treeInstance.selection.select(0);\n    // }\n  }\n\n  onOutlineSelected(selection: { selected: Set<number> }) {\n    this.dispatchSelectionChange(selection);\n  }\n\n  async render() {\n    if (!this.item) {\n      return;\n    }\n    this.noteOutline = await this._addon.api.note.getNoteTreeFlattened(\n      this.item,\n    );\n    // Fake a cursor position\n    if (typeof this.lineIndex === \"number\") {\n      // @ts-ignore - formatValues is not in the types\n      const [name] = (await document?.l10n?.formatValues([\n        {\n          id: `${config.addonRef}-outlinePicker-cursorLine`,\n          args: { line: this.lineIndex },\n        },\n      ])) as string[];\n      this.noteOutline.unshift({\n        model: {\n          level: 0,\n          name,\n          lineIndex: this._lineIndex,\n          endIndex: this._lineIndex,\n        },\n      } as any);\n    }\n\n    this.noteOutlineView?.render(undefined);\n  }\n\n  dispatchSelectionChange(selection: { selected: Set<number> }) {\n    this.dispatchEvent(\n      new CustomEvent(\"selectionchange\", {\n        detail: {\n          selectedSection: this.getSelectedSection(selection),\n        },\n      }),\n    );\n  }\n\n  getSelectedSection(selection?: { selected: Set<number> }): NoteNodeData {\n    const selected = (\n      selection || this.noteOutlineView.treeInstance.selection\n    ).selected\n      .values()\n      .next().value;\n    return this.noteOutline[selected!]?.model;\n  }\n}\n"
  },
  {
    "path": "src/elements/workspace/contextPane.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { PluginCEBase } from \"../base\";\nimport { DetailsPane } from \"./detailsPane\";\n\nexport class ContextPane extends PluginCEBase {\n  _item?: Zotero.Item;\n\n  _details!: DetailsPane;\n  _sidenav: any;\n\n  get item() {\n    return this._item;\n  }\n\n  set item(val) {\n    this._item = val;\n  }\n\n  get content() {\n    return this._parseContentID(\n      MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/context.css\"\n  ></html:link>\n</linkset>\n<bn-details id=\"container\" class=\"container\"></bn-details>\n<item-pane-sidenav id=\"sidenav\"></item-pane-sidenav>\n`),\n    );\n  }\n\n  init(): void {\n    this._details = this._queryID(\"container\") as unknown as DetailsPane;\n    this._sidenav = this._queryID(\"sidenav\");\n\n    // Make sure the item-pane-sidenav works after https://github.com/zotero/zotero/commit/3102b6b67a3866514e062c653c4c4d7d03f4e1fb\n    if (typeof (globalThis as any).Zotero_Tabs === \"undefined\") {\n      (globalThis as any).Zotero_Tabs = {\n        selectedType: \"unknown\",\n      };\n    }\n  }\n\n  render() {\n    if (!this.item) return;\n    this._details.editable = this.item.isEditable();\n    this._details.item = this.item;\n    this._details.parentID = this.item.parentID;\n    this._details.sidenav = this._sidenav;\n    this._details.render();\n    this._sidenav.toggleDefaultStatus();\n  }\n}\n"
  },
  {
    "path": "src/elements/workspace/detailsPane.ts",
    "content": "import { config } from \"../../../package.json\";\nimport {\n  getPrefJSON,\n  registerPrefObserver,\n  setPref,\n  unregisterPrefObserver,\n} from \"../../utils/prefs\";\n\nconst ItemDetails = document.createXULElement(\"item-details\")\n  .constructor! as any;\n\nconst persistKey = \"persist.workspaceContext\";\n\nexport class DetailsPane extends ItemDetails {\n  _prefObserverID!: symbol;\n\n  get pinnedPane() {\n    // @ts-ignore super\n    return super.pinnedPane;\n  }\n\n  set pinnedPane(val) {\n    // @ts-ignore super\n    super.pinnedPane = val;\n    this._persistState();\n  }\n\n  content = MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/details.css\"\n  ></html:link>\n</linkset>\n<hbox id=\"zotero-view-item-container\" class=\"zotero-view-item-container\" flex=\"1\">\n  <html:div class=\"zotero-view-item-main\">\n\t\t<pane-header id=\"zotero-item-pane-header\" />\n    <html:div id=\"zotero-view-item\" class=\"zotero-view-item\" tabindex=\"0\">\n      <tags-box id=\"zotero-editpane-tags\" class=\"zotero-editpane-tags\" data-pane=\"tags\" />\n\n      <bn-related-box id=\"zotero-editpane-related\" class=\"zotero-editpane-related\"\n        data-pane=\"related\" />\n    </html:div>\n  </html:div>\n</hbox>`);\n\n  init() {\n    MozXULElement.insertFTLIfNeeded(`${config.addonRef}-notePreview.ftl`);\n    MozXULElement.insertFTLIfNeeded(`${config.addonRef}-noteRelation.ftl`);\n\n    this._prefObserverID = registerPrefObserver(\n      persistKey,\n      this._restoreState.bind(this),\n    );\n    super.init();\n  }\n\n  destroy() {\n    unregisterPrefObserver(this._prefObserverID);\n    super.destroy();\n  }\n\n  render() {\n    super.render();\n    this._restoreState();\n  }\n\n  forceUpdateSideNav() {\n    this._sidenav\n      .querySelectorAll(\"toolbarbutton\")\n      .forEach((elem: HTMLElement) => (elem.parentElement!.hidden = true));\n    super.forceUpdateSideNav();\n  }\n\n  _restorePinnedPane() {}\n\n  _persistState() {\n    let state = getPrefJSON(persistKey);\n\n    if (state?.pinnedPane === this.pinnedPane) {\n      return;\n    }\n\n    state = {\n      ...state,\n      pinnedPane: this.pinnedPane,\n    };\n\n    setPref(persistKey, JSON.stringify(state));\n  }\n\n  _restoreState() {\n    const state = getPrefJSON(persistKey);\n\n    this.pinnedPane = state?.pinnedPane;\n    this.scrollToPane(this.pinnedPane);\n  }\n}\n"
  },
  {
    "path": "src/elements/workspace/outlinePane.ts",
    "content": "import { FilePickerHelper } from \"zotero-plugin-toolkit\";\nimport { config } from \"../../../package.json\";\nimport { formatPath } from \"../../utils/str\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { getWorkspaceByUID, OutlineType } from \"../../utils/workspace\";\nimport { PluginCEBase } from \"../base\";\nimport {\n  getPref,\n  getPrefJSON,\n  registerPrefObserver,\n  setPref,\n  unregisterPrefObserver,\n} from \"../../utils/prefs\";\nimport { showHintWithLink } from \"../../utils/hint\";\n\nconst persistKey = \"persist.workspaceOutline\";\n\nexport class OutlinePane extends PluginCEBase {\n  _outlineType: OutlineType = OutlineType.empty;\n  _item?: Zotero.Item;\n  _editorElement!: EditorElement;\n\n  _outlineContainer!: HTMLIFrameElement;\n  _notifierID!: string;\n\n  _prefObserverID!: symbol;\n\n  static outlineSources = [\n    \"\",\n    `chrome://${config.addonRef}/content/treeView.html`,\n    `chrome://${config.addonRef}/content/mindMap.html`,\n    `chrome://${config.addonRef}/content/bubbleMap.html`,\n  ];\n\n  static outlineMenuIDs = {\n    \"\": OutlineType.empty,\n    useTreeView: OutlineType.treeView,\n    useMindMap: OutlineType.mindMap,\n    useBubbleMap: OutlineType.bubbleMap,\n  };\n\n  get content() {\n    return this._parseContentID(\n      MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/outline.css\"\n  ></html:link>\n</linkset>\n<hbox id=\"left-toolbar\">\n  <toolbarbutton\n    id=\"toggleOutlinePane\"\n    class=\"zotero-tb-button\"\n    data-l10n-id=\"${config.addonRef}-toggleOutlinePane\"\n  ></toolbarbutton>\n  <toolbarbutton\n    id=\"setOutline\"\n    class=\"zotero-tb-button\"\n    data-l10n-id=\"${config.addonRef}-setOutline\"\n    type=\"menu\"\n    wantdropmarker=\"true\"\n  >\n    <menupopup id=\"setOutlinePopup\">\n      <menuitem\n        id=\"useTreeView\"\n        type=\"radio\"\n        data-l10n-id=\"${config.addonRef}-useTreeView\"\n      ></menuitem>\n      <menuitem\n        id=\"useMindMap\"\n        type=\"radio\"\n        data-l10n-id=\"${config.addonRef}-useMindMap\"\n      ></menuitem>\n      <menuitem\n        id=\"useBubbleMap\"\n        type=\"radio\"\n        data-l10n-id=\"${config.addonRef}-useBubbleMap\"\n      ></menuitem>\n    </menupopup>\n  </toolbarbutton>\n  <toolbarbutton\n    id=\"saveOutline\"\n    class=\"zotero-tb-button\"\n    data-l10n-id=\"${config.addonRef}-saveOutline\"\n    type=\"menu\"\n    wantdropmarker=\"true\"\n  >\n    <menupopup id=\"saveOutlinePopup\">\n      <menuitem\n        id=\"saveImage\"\n        data-l10n-id=\"${config.addonRef}-saveOutlineImage\"\n      ></menuitem>\n      <menuitem\n        id=\"saveSVG\"\n        data-l10n-id=\"${config.addonRef}-saveOutlineSVG\"\n      ></menuitem>\n      <menuitem\n        id=\"saveFreeMind\"\n        data-l10n-id=\"${config.addonRef}-saveOutlineFreeMind\"\n      ></menuitem>\n      <menuitem\n        id=\"saveMore\"\n        data-l10n-id=\"${config.addonRef}-saveMore\"\n      ></menuitem>\n    </menupopup>\n  </toolbarbutton>\n</hbox>\n<iframe id=\"outline\" class=\"container\"></iframe>`),\n    );\n  }\n\n  get outlineType() {\n    return this._outlineType;\n  }\n\n  set outlineType(newType) {\n    if (newType === OutlineType.empty) {\n      newType = OutlineType.treeView;\n    }\n    if (newType > OutlineType.bubbleMap) {\n      newType = OutlineType.treeView;\n    }\n\n    this._outlineType = newType;\n    this._persistState();\n  }\n\n  get item() {\n    return this._item;\n  }\n\n  set item(val) {\n    this._item = val;\n  }\n\n  get editor() {\n    return this._editorElement._editorInstance;\n  }\n\n  init(): void {\n    MozXULElement.insertFTLIfNeeded(`${config.addonRef}-outline.ftl`);\n\n    this._outlineContainer = this._queryID(\n      \"outline\",\n    ) as unknown as HTMLIFrameElement;\n\n    this._queryID(\"left-toolbar\")?.addEventListener(\n      \"command\",\n      this.toolbarButtonCommandHandler,\n    );\n\n    this._notifierID = Zotero.Notifier.registerObserver(\n      this,\n      [\"item\"],\n      \"bn-outline\",\n    );\n\n    this._prefObserverID = registerPrefObserver(\n      persistKey,\n      this._restoreState.bind(this),\n    );\n  }\n\n  destroy(): void {\n    unregisterPrefObserver(this._prefObserverID);\n    Zotero.Notifier.unregisterObserver(this._notifierID);\n    this._outlineContainer.contentWindow?.removeEventListener(\n      \"message\",\n      this.messageHandler,\n    );\n  }\n\n  notify(\n    event: string,\n    type: string,\n    ids: number[] | string[],\n    extraData: { [key: string]: any },\n  ) {\n    if (!this.item) return;\n    if (extraData.skipBN) return;\n    if (event === \"modify\" && type === \"item\") {\n      if ((ids as number[]).includes(this.item.id)) {\n        this.updateOutline();\n      }\n    }\n  }\n\n  async render() {\n    this._restoreState();\n    if (this.outlineType === OutlineType.empty) {\n      this.outlineType = OutlineType.treeView;\n    }\n    await this.updateOutline();\n  }\n\n  async updateOutline() {\n    if (!this.item) return;\n\n    const toggleOutlinePane = this.querySelector(\n      `#${this._wrapID(\"toggleOutlinePane\")}`,\n    );\n    if (this.editor?._tabID) {\n      toggleOutlinePane?.removeAttribute(\"hidden\");\n    } else {\n      toggleOutlinePane?.setAttribute(\"hidden\", \"true\");\n    }\n\n    this._outlineContainer.contentWindow?.removeEventListener(\n      \"message\",\n      this.messageHandler,\n    );\n\n    this._outlineContainer.setAttribute(\n      \"src\",\n      OutlinePane.outlineSources[this.outlineType],\n    );\n\n    await waitUtilAsync(\n      () =>\n        this._outlineContainer.contentWindow?.document.readyState ===\n        \"complete\",\n    );\n    this._outlineContainer.contentWindow?.addEventListener(\n      \"message\",\n      this.messageHandler,\n    );\n    const nodes = await this._addon.api.note.getNoteTreeFlattened(this.item, {\n      keepLink: !!getPref(\"workspace.outline.keepLinks\"),\n    });\n    this._outlineContainer.contentWindow?.postMessage(\n      {\n        type: \"setMindMapData\",\n        nodes,\n        expandLevel: getPref(\"workspace.outline.expandLevel\"),\n      },\n      \"*\",\n    );\n\n    // Update button hidden\n    const isTreeView = this.outlineType === OutlineType.treeView;\n    for (const key of [\"saveImage\", \"saveSVG\"]) {\n      const elem = this._queryID(key);\n      if (isTreeView) {\n        elem?.setAttribute(\"disabled\", \"true\");\n      } else {\n        elem?.removeAttribute(\"disabled\");\n      }\n    }\n\n    // Update set outline menu\n    this._queryID(\"setOutlinePopup\")?.childNodes.forEach((elem) =>\n      (elem as XULMenuItemElement).removeAttribute(\"checked\"),\n    );\n    this._queryID(\n      Object.keys(OutlinePane.outlineMenuIDs)[this.outlineType],\n    )?.setAttribute(\"checked\", \"true\");\n  }\n\n  saveImage(type: \"saveSVG\" | \"saveImage\") {\n    this._outlineContainer.contentWindow?.postMessage(\n      {\n        type,\n      },\n      \"*\",\n    );\n  }\n\n  async saveFreeMind() {\n    if (!this.item?.id) return;\n    // TODO: uncouple this part\n    const filename = await new FilePickerHelper(\n      `${Zotero.getString(\"fileInterface.export\")} FreeMind XML`,\n      \"save\",\n      [[\"FreeMind XML File(*.mm)\", \"*.mm\"]],\n      `${this.item.getNoteTitle()}.mm`,\n    ).open();\n    if (filename) {\n      await this._addon.api.$export.saveFreeMind(filename, this.item.id);\n    }\n  }\n\n  toolbarButtonCommandHandler = async (ev: Event) => {\n    if (!this.item) return;\n    const type = this._unwrapID((ev.target as XULToolBarButtonElement).id);\n    switch (type) {\n      case \"toggleOutlinePane\": {\n        const workspace = getWorkspaceByUID(this.editor?._tabID || \"\");\n        if (!workspace) return;\n        workspace.toggleOutline(false);\n        break;\n      }\n      case \"useTreeView\":\n      case \"useMindMap\":\n      case \"useBubbleMap\": {\n        this.outlineType = OutlinePane.outlineMenuIDs[type];\n        await this.updateOutline();\n        break;\n      }\n      case \"saveImage\":\n      case \"saveSVG\": {\n        this.saveImage(type);\n        break;\n      }\n      case \"saveFreeMind\": {\n        this.saveFreeMind();\n        break;\n      }\n      case \"saveMore\": {\n        this._addon.hooks.onShowExportNoteOptions([this.item.id]);\n        break;\n      }\n      default: {\n        break;\n      }\n    }\n  };\n\n  messageHandler = async (ev: MessageEvent) => {\n    switch (ev.data.type) {\n      case \"jumpNode\": {\n        if (!this.editor) {\n          return;\n        }\n        this._addon.api.editor.scroll(this.editor, ev.data.lineIndex);\n        return;\n      }\n      case \"openNote\": {\n        const linkParams = this._addon.api.convert.link2params(ev.data.link);\n        if (!linkParams.noteItem) {\n          return;\n        }\n        this._addon.hooks.onOpenNote(linkParams.noteItem.id, \"preview\", {\n          lineIndex: linkParams.lineIndex || undefined,\n        });\n        return;\n      }\n      case \"moveNode\": {\n        if (!this.item) return;\n        const tree = await this._addon.api.note.getNoteTree(this.item);\n        const fromNode = await this._addon.api.note.getNoteTreeNodeById(\n          this.item,\n          ev.data.fromID,\n          tree,\n        );\n        const toNode = await this._addon.api.note.getNoteTreeNodeById(\n          this.item,\n          ev.data.toID,\n          tree,\n        );\n        this._addon.api.editor.moveHeading(\n          this._addon.api.editor.getEditorInstance(this.item.id),\n          fromNode!,\n          toNode!,\n          ev.data.moveType,\n        );\n        return;\n      }\n      case \"editNode\": {\n        if (!this.editor) {\n          return;\n        }\n        this._addon.api.editor.updateHeadingTextAtLine(\n          this.editor,\n          ev.data.lineIndex,\n          ev.data.text.replace(/[\\r\\n]/g, \"\"),\n        );\n        return;\n      }\n      case \"saveSVGReturn\": {\n        const filename = await new FilePickerHelper(\n          `${Zotero.getString(\"fileInterface.export\")} SVG Image`,\n          \"save\",\n          [[\"SVG File(*.svg)\", \"*.svg\"]],\n          `${this.item?.getNoteTitle()}.svg`,\n        ).open();\n        if (filename) {\n          await Zotero.File.putContentsAsync(\n            formatPath(filename),\n            ev.data.image,\n          );\n          showHintWithLink(\n            `Image Saved to ${filename}`,\n            \"Show in Folder\",\n            (ev) => {\n              Zotero.File.reveal(filename);\n            },\n          );\n        }\n        return;\n      }\n      case \"saveImageReturn\": {\n        const filename = await new FilePickerHelper(\n          `${Zotero.getString(\"fileInterface.export\")} PNG Image`,\n          \"save\",\n          [[\"PNG File(*.png)\", \"*.png\"]],\n          `${this.item?.getNoteTitle()}.png`,\n        ).open();\n        if (filename) {\n          const parts = ev.data.image.split(\",\");\n          const bstr = atob(parts[1]);\n          let n = bstr.length;\n          const u8arr = new Uint8Array(n);\n          while (n--) {\n            u8arr[n] = bstr.charCodeAt(n);\n          }\n          await IOUtils.write(formatPath(filename), u8arr);\n          showHintWithLink(\n            `Image Saved to ${filename}`,\n            \"Show in Folder\",\n            (ev) => {\n              Zotero.File.reveal(filename);\n            },\n          );\n        }\n        return;\n      }\n      default:\n        return;\n    }\n  };\n\n  _persistState() {\n    // Tab outline use Zotero_Tabs state\n    if (this.editor?._tabID) return;\n    let state = getPrefJSON(persistKey);\n\n    if (state?.outlineType === this.outlineType) {\n      return;\n    }\n\n    state = {\n      ...state,\n      outlineType: this.outlineType,\n    };\n\n    setPref(persistKey, JSON.stringify(state));\n  }\n\n  _restoreState() {\n    // Tab outline use Zotero_Tabs state\n    if (this.editor?._tabID) return;\n    const state = getPrefJSON(persistKey);\n    if (\n      typeof state.outlineType === \"number\" &&\n      state.outlineType !== this.outlineType\n    ) {\n      this.outlineType = state.outlineType;\n      this.updateOutline();\n    }\n  }\n}\n"
  },
  {
    "path": "src/elements/workspace/related.ts",
    "content": "// @ts-nocheck\nimport { config } from \"../../../package.json\";\nimport { getWorkspaceUID } from \"../../utils/workspace\";\n\nconst RelatedBox = document.createXULElement(\"related-box\")\n  .constructor! as typeof XULElementBase;\n\nconst _require = window.require;\nconst { getCSSItemTypeIcon } = _require(\"components/icons\");\n\nexport class NoteRelatedBox extends RelatedBox {\n  content = MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/related.css\"\n  ></html:link>\n</linkset>\n<collapsible-section\n  data-l10n-id=\"section-related\"\n  data-pane=\"related\"\n  extra-buttons=\"add\"\n>\n  <html:div class=\"body\" />\n</collapsible-section>`);\n\n  // Following code is from chrome/content/zotero/elements/relatedBox.js\n  render() {\n    if (!this.item) return;\n    if (this._isAlreadyRendered()) return;\n\n    const body = this.querySelector(\".body\");\n    body.replaceChildren();\n\n    if (this._item) {\n      const relatedKeys = this._item.relatedItems;\n      for (let i = 0; i < relatedKeys.length; i++) {\n        const key = relatedKeys[i];\n        const relatedItem = Zotero.Items.getByLibraryAndKey(\n          this._item.libraryID,\n          key,\n        );\n        if (!relatedItem) {\n          Zotero.debug(\n            `Related item ${this._item.libraryID}/${key} not found ` +\n              `for item ${this._item.libraryKey}`,\n            2,\n          );\n          continue;\n        }\n        const id = relatedItem.id;\n\n        const row = document.createElement(\"div\");\n        row.className = \"row\";\n\n        const icon = getCSSItemTypeIcon(relatedItem.getItemTypeIconName());\n\n        const label = document.createElement(\"span\");\n        label.className = \"label\";\n        label.append(relatedItem.getDisplayTitle());\n\n        const box = document.createElement(\"div\");\n        box.addEventListener(\"click\", () => this._handleShowItem(id));\n        box.setAttribute(\"tabindex\", \"0\");\n        box.className = \"box keyboard-clickable\";\n        box.appendChild(icon);\n        box.appendChild(label);\n        row.append(box);\n\n        // Extra button to open note\n        if (relatedItem.isNote()) {\n          const openNote = document.createXULElement(\"toolbarbutton\");\n          openNote.addEventListener(\"command\", (event) => {\n            const position = event.shiftKey ? \"window\" : \"tab\";\n            Zotero[config.addonRef].hooks.onOpenNote(id, position);\n          });\n          openNote.className = \"zotero-clicky zotero-clicky-open-link\";\n          openNote.setAttribute(\"tabindex\", \"0\");\n          row.append(openNote);\n        }\n\n        if (this.editable) {\n          const remove = document.createXULElement(\"toolbarbutton\");\n          remove.addEventListener(\"command\", () => this._handleRemove(id));\n          remove.className = \"zotero-clicky zotero-clicky-minus\";\n          remove.setAttribute(\"tabindex\", \"0\");\n          row.append(remove);\n        }\n\n        body.append(row);\n      }\n      this._updateCount();\n    }\n  }\n\n  _handleShowItem(id: number) {\n    const item = Zotero.Items.get(id);\n    if (!item) return;\n    if (!item.isNote()) {\n      // @ts-ignore\n      return super._handleShowItem(id);\n    }\n    Zotero[config.addonRef].hooks.onOpenNote(item.id, \"preview\", {\n      workspaceUID: getWorkspaceUID(this),\n    });\n  }\n}\n"
  },
  {
    "path": "src/elements/workspace/workspace.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { ICONS } from \"../../utils/config\";\nimport {\n  getPrefJSON,\n  registerPrefObserver,\n  setPref,\n  unregisterPrefObserver,\n} from \"../../utils/prefs\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { VirtualWorkspace } from \"../../utils/workspace\";\nimport { PluginCEBase } from \"../base\";\nimport { ContextPane } from \"./contextPane\";\nimport { OutlinePane } from \"./outlinePane\";\n\nconst persistKey = \"persist.workspace\";\n\nexport class Workspace extends PluginCEBase implements VirtualWorkspace {\n  uid: string = Zotero.Utilities.randomString(8);\n  _item?: Zotero.Item;\n\n  _prefObserverID!: symbol;\n\n  _editorElement!: EditorElement;\n  _outline!: OutlinePane;\n  _editorContainer!: XULBoxElement;\n  _context!: ContextPane;\n\n  _leftSplitter!: XULSplitterElement;\n  _rightSplitter!: XULSplitterElement;\n\n  resizeOb!: ResizeObserver;\n\n  get content() {\n    return this._parseContentID(\n      MozXULElement.parseXULToFragment(`\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/workspace.css\"\n  ></html:link>\n</linkset>\n<hbox id=\"top-container\" class=\"container\">\n  <bn-outline id=\"left-container\" class=\"container\" zotero-persist=\"width\">\n  </bn-outline>\n  <splitter\n    id=\"left-splitter\"\n    collapse=\"before\"\n    zotero-persist=\"state\"\n  ></splitter>\n  <vbox id=\"center-container\" class=\"container\" zotero-persist=\"width\">\n    <note-editor id=\"editor-main\" class=\"container\"></note-editor>\n  </vbox>\n  <splitter\n    id=\"right-splitter\"\n    collapse=\"after\"\n    zotero-persist=\"state\"\n  ></splitter>\n  <bn-context id=\"right-container\" class=\"container\" zotero-persist=\"width\"></bn-context>\n</hbox>  \n`),\n    );\n  }\n\n  get containerType() {\n    return this.getAttribute(\"container-type\") || \"\";\n  }\n\n  set containerType(val: string) {\n    this.setAttribute(\"container-type\", val);\n  }\n\n  get item() {\n    return this._item;\n  }\n\n  set item(val) {\n    if (!val) return;\n    this._addon.api.relation.updateNoteLinkRelation(val.id);\n    this._item = val;\n    this._outline.item = val;\n    this._context.item = val;\n  }\n\n  get editor() {\n    return this._editorElement._editorInstance;\n  }\n\n  init(): void {\n    // MozXULElement.insertFTLIfNeeded(`${config.addonRef}-workspace.ftl`);\n\n    // For note preview section enabled decision\n    this.dataset.uid = this.uid;\n    this._addon.data.workspace.instances[this.uid] = new WeakRef(this);\n\n    this._outline = this._queryID(\"left-container\") as unknown as OutlinePane;\n\n    this._editorContainer = this._queryID(\"center-container\") as XULBoxElement;\n    this._editorElement = this._queryID(\"editor-main\") as EditorElement;\n    this._outline._editorElement = this._editorElement;\n\n    this._context = this._queryID(\"right-container\") as unknown as ContextPane;\n\n    this._leftSplitter = this._queryID(\"left-splitter\") as XULSplitterElement;\n    this._rightSplitter = this._queryID(\"right-splitter\") as XULSplitterElement;\n\n    this._leftSplitter.addEventListener(\"mouseup\", () => {\n      this._persistState();\n    });\n    this._rightSplitter.addEventListener(\"mouseup\", () => {\n      this._persistState();\n    });\n\n    this._initEditor();\n\n    this.resizeOb = new ResizeObserver(() => {\n      if (!this.editor) return;\n      this._addon.api.editor.scroll(\n        this.editor,\n        this._addon.api.editor.getLineAtCursor(this.editor),\n      );\n    });\n    this.resizeOb.observe(this._editorElement);\n\n    this._prefObserverID = registerPrefObserver(\n      persistKey,\n      this._restoreState.bind(this),\n    );\n  }\n\n  destroy(): void {\n    unregisterPrefObserver(this._prefObserverID);\n    this.resizeOb.disconnect();\n    delete this._addon.data.workspace.instances[this.uid];\n  }\n\n  async render() {\n    await this._outline.render();\n    await this.updateEditor();\n    await this._context.render();\n\n    this._restoreState();\n  }\n\n  async updateEditor() {\n    await waitUtilAsync(() => Boolean(this._editorElement._initialized));\n    if (!this._editorElement._initialized) {\n      throw new Error(\"initNoteEditor: waiting initialization failed\");\n    }\n    this._editorElement.mode = \"edit\";\n    this._editorElement.viewMode = \"library\";\n    this._editorElement.parent = this.item?.parentItem;\n    this._editorElement.item = this.item;\n    await waitUtilAsync(() => Boolean(this._editorElement._editorInstance));\n    await this._editorElement._editorInstance._initPromise;\n    return;\n  }\n\n  scrollEditorTo(options: { lineIndex?: number; sectionName?: string } = {}) {\n    if (typeof options.lineIndex === \"number\") {\n      this._addon.api.editor.scroll(this.editor, options.lineIndex);\n    }\n    if (typeof options.sectionName === \"string\") {\n      this._addon.api.editor.scrollToSection(this.editor, options.sectionName);\n    }\n  }\n\n  toggleOutline(open?: boolean) {\n    if (typeof open !== \"boolean\") {\n      open = this._leftSplitter.getAttribute(\"state\") === \"collapsed\";\n    }\n\n    this._leftSplitter.setAttribute(\"state\", open ? \"open\" : \"collapsed\");\n    this._persistState();\n  }\n\n  toggleContext(open?: boolean) {\n    if (typeof open !== \"boolean\") {\n      open = this._rightSplitter.getAttribute(\"state\") === \"collapsed\";\n    }\n\n    this._rightSplitter.setAttribute(\"state\", open ? \"open\" : \"collapsed\");\n    this._persistState();\n  }\n\n  scrollToPane(key: string) {\n    const itemDetails = this._context._details;\n    return itemDetails.scrollToPane(key);\n  }\n\n  getPreviewEditor(itemID: number): EditorElement | undefined {\n    return this.querySelector(\n      `note-editor[data-id=\"${itemID}\"]`,\n    ) as EditorElement;\n  }\n\n  async _initEditor() {\n    await waitUtilAsync(() => !!this._editorElement._editorInstance);\n    const editor = this._editorElement._editorInstance;\n    await editor._initPromise;\n\n    const _document = editor._iframeWindow.document;\n    await waitUtilAsync(() => !!_document.querySelector(\".toolbar\"));\n    const toolbar = _document.querySelector(\".toolbar\") as HTMLDivElement;\n\n    const toggleOutline = this._addon.data.ztoolkit.UI.createElement(\n      _document,\n      \"button\",\n      {\n        classList: [\"toolbar-button\"],\n        properties: {\n          innerHTML: ICONS.workspaceToggle,\n          title: \"Toggle left pane\",\n        },\n        listeners: [\n          {\n            type: \"click\",\n            listener: (e) => {\n              this.toggleOutline();\n            },\n          },\n        ],\n      },\n    );\n\n    toolbar.querySelector(\".start\")?.append(toggleOutline);\n\n    const toggleContext = this._addon.data.ztoolkit.UI.createElement(\n      _document,\n      \"button\",\n      {\n        classList: [\"toolbar-button\"],\n        properties: {\n          innerHTML: ICONS.workspaceToggle,\n          title: \"Toggle right pane\",\n        },\n        styles: {\n          transform: \"rotate(180deg)\",\n        },\n        listeners: [\n          {\n            type: \"click\",\n            listener: (e) => {\n              this.toggleContext();\n            },\n          },\n        ],\n      },\n    );\n\n    toolbar.querySelector(\".end\")?.prepend(toggleContext);\n  }\n\n  _persistState() {\n    const state = {\n      leftState: this._leftSplitter.getAttribute(\"state\"),\n      rightState: this._rightSplitter.getAttribute(\"state\"),\n      leftWidth: window.getComputedStyle(this._outline)?.width,\n      centerWidth: window.getComputedStyle(this._editorContainer)?.width,\n      rightWidth: window.getComputedStyle(this._context)?.width,\n    };\n    setPref(persistKey, JSON.stringify(state));\n  }\n\n  _restoreState() {\n    const state = getPrefJSON(persistKey);\n    if (typeof state.leftState === \"string\") {\n      this._leftSplitter.setAttribute(\"state\", state.leftState);\n    }\n    if (typeof state.rightState === \"string\") {\n      this._rightSplitter.setAttribute(\"state\", state.rightState);\n    }\n    if (state.leftWidth) {\n      this._outline.style.width = state.leftWidth;\n    }\n    if (state.centerWidth) {\n      this._editorContainer.style.width = state.centerWidth;\n    }\n    if (state.rightWidth) {\n      this._context.style.width = state.rightWidth;\n    }\n  }\n}\n"
  },
  {
    "path": "src/extras/convert.ts",
    "content": "import { unified } from \"unified\";\nimport rehypeParse from \"rehype-parse\";\nimport rehypeRemark, { all } from \"rehype-remark\";\nimport remarkRehype from \"remark-rehype\";\nimport rehypeStringify from \"rehype-stringify\";\nimport remarkParse from \"remark-parse\";\nimport remarkStringify from \"remark-stringify\";\nimport { defaultHandlers as rehype2remarkDefaultHandlers } from \"hast-util-to-mdast\";\nimport { toMarkdown } from \"mdast-util-to-markdown\";\nimport { gfmTableToMarkdown } from \"mdast-util-gfm-table\";\nimport { toHtml } from \"hast-util-to-html\";\nimport { toText } from \"hast-util-to-text\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkMath from \"remark-math\";\n// visit may push nodes twice, use new Array(...new Set(nodes))\n// if the you want to process nodes outside visit\nimport { visit } from \"unist-util-visit\";\nimport { visitParents } from \"unist-util-visit-parents\";\nimport { h } from \"hastscript\";\n\nimport { Root as HRoot, RootContent } from \"hast\";\nimport { ListContent, Root as MRoot, TableContent } from \"mdast\";\nimport { Nodes } from \"hast-util-to-text/lib\";\n\nimport { diffChars } from \"diff\";\n\nexport {\n  note2rehype,\n  rehype2remark,\n  rehype2note,\n  remark2rehype,\n  remark2md,\n  remark2latex,\n  md2remark,\n  content2diff,\n  md2html,\n};\n\nfunction replace(targetNode: any, sourceNode: any) {\n  targetNode.type = sourceNode.type;\n  targetNode.tagName = sourceNode.tagName;\n  targetNode.properties = sourceNode.properties;\n  targetNode.value = sourceNode.value;\n  targetNode.children = sourceNode.children;\n}\n\nfunction note2rehype(str: string) {\n  const rehype = unified()\n    .use(remarkGfm)\n    .use(remarkMath)\n    .use(rehypeParse, { fragment: true })\n    .parse(str);\n\n  // Make sure <br> is inline break. Remove \\n before/after <br>\n  const removeBlank = (node: any, parentNode: any, offset: number) => {\n    const idx = parentNode.children.indexOf(node);\n    const target = parentNode.children[idx + offset];\n    if (\n      target &&\n      target.type === \"text\" &&\n      !target.value.replace(/[\\r\\n]/g, \"\")\n    ) {\n      (parentNode.children as any[]).splice(idx + offset, 1);\n    }\n  };\n  visitParents(\n    rehype,\n    (_n: any) => _n.type === \"element\" && _n.tagName === \"br\",\n    (_n: any, ancestors) => {\n      if (ancestors.length) {\n        const parentNode = ancestors[ancestors.length - 1];\n        removeBlank(_n, parentNode, -1);\n        removeBlank(_n, parentNode, 1);\n      }\n    },\n  );\n\n  // Make sure <span> and <img> wrapped by <p>\n  visitParents(\n    rehype,\n    (_n: any) =>\n      _n.type === \"element\" && (_n.tagName === \"span\" || _n.tagName === \"img\"),\n    (_n: any, ancestors) => {\n      if (ancestors.length) {\n        const parentNode = ancestors[ancestors.length - 1];\n        if (parentNode === rehype) {\n          const newChild = h(\"span\");\n          replace(newChild, _n);\n          const p = h(\"p\", [newChild]);\n          replace(_n, p);\n        }\n      }\n    },\n  );\n\n  // Make sure empty <p> under root node is removed\n  visitParents(\n    rehype,\n    (_n: any) => _n.type === \"element\" && _n.tagName === \"p\",\n    (_n: any, ancestors) => {\n      if (ancestors.length) {\n        const parentNode = ancestors[ancestors.length - 1];\n        if (parentNode === rehype && !_n.children.length && !toText(_n)) {\n          parentNode.children.splice(parentNode.children.indexOf(_n), 1);\n        }\n      }\n    },\n  );\n  return rehype;\n}\n\nasync function rehype2remark(rehype: HRoot) {\n  return await unified()\n    .use(rehypeRemark, {\n      handlers: {\n        span: (h, node) => {\n          if (\n            node.properties?.style?.includes(\"text-decoration: line-through\")\n          ) {\n            return h(node, \"delete\", all(h, node));\n          } else if (node.properties?.style?.includes(\"background-color\")) {\n            return h(node, \"html\", toHtml(node));\n          } else if (node.properties?.style?.includes(\"color\")) {\n            return h(node, \"html\", toHtml(node));\n          } else if (node.properties?.className?.includes(\"math\")) {\n            return h(node, \"inlineMath\", toText(node).slice(1, -1));\n          } else {\n            return h(node, \"paragraph\", all(h, node));\n          }\n        },\n        pre: (h, node) => {\n          if (node.properties?.className?.includes(\"math\")) {\n            return h(node, \"math\", toText(node).slice(2, -2));\n          } else {\n            const ret = rehype2remarkDefaultHandlers.pre(h, node);\n            return ret;\n          }\n        },\n        u: (h, node) => {\n          return h(node, \"u\", toText(node));\n        },\n        sub: (h, node) => {\n          return h(node, \"sub\", toText(node));\n        },\n        sup: (h, node) => {\n          return h(node, \"sup\", toText(node));\n        },\n        table: (h, node) => {\n          let hasStyle = false;\n          let hasHeader = false;\n          visit(\n            node,\n            (_n) =>\n              _n.type === \"element\" &&\n              [\"tr\", \"td\", \"th\"].includes((_n as any).tagName),\n            (node) => {\n              if (node.properties.style) {\n                hasStyle = true;\n              }\n              if (!hasHeader && node.tagName === \"th\") {\n                hasHeader = true;\n              }\n            },\n          );\n          // if (0 && hasStyle) {\n          //   return h(node, \"styleTable\", toHtml(node));\n          // } else {\n          const tableNode = rehype2remarkDefaultHandlers.table(\n            h,\n            node,\n          ) as TableContent;\n          // Remove empty thead\n          if (!hasHeader) {\n            if (!tableNode.data) {\n              tableNode.data = {};\n            }\n            tableNode.data.bnRemove = true;\n          }\n          return tableNode;\n          // }\n        },\n        /*\n         * See https://github.com/windingwind/zotero-better-notes/issues/820\n         * The text content separated by non-text content (e.g. inline math)\n         * inside `li`(rehype) will be converted to `paragraph`(remark),\n         * which will be turned to line with \\n in MD:\n         * ```rehype\n         * li: [text, text, inline-math, text]\n         * ```\n         * to\n         * ```remark\n         * listitem: [paragraph, inline-math, paragraph]\n         * ```\n         * to\n         * ```md\n         *  * text text\n         *    inline-math\n         *    text\n         * ```\n         */\n        li: (h, node) => {\n          const mNode = rehype2remarkDefaultHandlers.li(h, node) as ListContent;\n          // If no more than 1 children, skip\n          if (!mNode || mNode.children.length < 2) {\n            return mNode;\n          }\n          const children: any[] = [];\n          const paragraphNodes = [\"list\", \"code\", \"math\", \"table\"];\n          // Merge none-list nodes inside li into the previous paragraph node to avoid line break\n          while (mNode.children.length > 0) {\n            const current = mNode.children.shift();\n            let cached = children[children.length - 1];\n            // https://github.com/windingwind/zotero-better-notes/issues/1207\n            // Create a new paragraph node\n            if (cached?.type !== \"paragraph\") {\n              cached = {\n                type: \"paragraph\",\n                children: [],\n              };\n              children.push(cached);\n            }\n            if (current?.type === \"paragraph\") {\n              cached.children.push(...current.children);\n            }\n            // https://github.com/windingwind/zotero-better-notes/issues/1300\n            // @ts-ignore inlineMath is not in mdast\n            else if (current?.type === \"inlineMath\") {\n              cached.children.push({\n                type: \"text\",\n                value: \" \",\n              });\n              cached.children.push(current);\n              cached.children.push({\n                type: \"text\",\n                value: \" \",\n              });\n            } else if (\n              current?.type &&\n              !paragraphNodes.includes(current?.type)\n            ) {\n              cached.children.push(current);\n            } else {\n              children.push(current);\n            }\n          }\n          mNode.children.push(...children);\n          return mNode;\n        },\n        wrapper: (h, node) => {\n          return h(node, \"wrapper\", toText(node));\n        },\n        wrapperleft: (h, node) => {\n          return h(node, \"wrapperleft\", toText(node));\n        },\n        wrapperright: (h, node) => {\n          return h(node, \"wrapperright\", toText(node));\n        },\n        zhighlight: (h, node) => {\n          return h(node, \"zhighlight\", toHtml(node));\n        },\n        zcitation: (h, node) => {\n          return h(node, \"zcitation\", toHtml(node));\n        },\n        znotelink: (h, node) => {\n          return h(node, \"znotelink\", toHtml(node));\n        },\n        zimage: (h, node) => {\n          return h(node, \"zimage\", toHtml(node));\n        },\n      },\n    })\n    .run(rehype as any);\n}\n\nfunction remark2md(remark: MRoot) {\n  const handlers = {\n    code: (node: { value: string }) => {\n      return \"```\\n\" + node.value + \"\\n```\";\n    },\n    u: (node: { value: string }) => {\n      return \"<u>\" + node.value + \"</u>\";\n    },\n    sub: (node: { value: string }) => {\n      return \"<sub>\" + node.value + \"</sub>\";\n    },\n    sup: (node: { value: string }) => {\n      return \"<sup>\" + node.value + \"</sup>\";\n    },\n    inlineMath: (node: { value: string }) => {\n      return \"$\" + node.value + \"$\";\n    },\n    styleTable: (node: { value: any }) => {\n      return node.value;\n    },\n    wrapper: (node: { value: string }) => {\n      return \"\\n<!-- \" + node.value + \" -->\\n\";\n    },\n    wrapperleft: (node: { value: string }) => {\n      return \"<!-- \" + node.value + \" -->\\n\";\n    },\n    wrapperright: (node: { value: string }) => {\n      return \"\\n<!-- \" + node.value + \" -->\";\n    },\n    zhighlight: (node: { value: string }) => {\n      return node.value.replace(/(^<zhighlight>|<\\/zhighlight>$)/g, \"\");\n    },\n    zcitation: (node: { value: string }) => {\n      return node.value.replace(/(^<zcitation>|<\\/zcitation>$)/g, \"\");\n    },\n    znotelink: (node: { value: string }) => {\n      return node.value.replace(/(^<znotelink>|<\\/znotelink>$)/g, \"\");\n    },\n    zimage: (node: { value: string }) => {\n      return node.value.replace(/(^<zimage>|<\\/zimage>$)/g, \"\");\n    },\n  };\n  const tableHandler = (node: any) => {\n    const tbl = gfmTableToMarkdown();\n    // table must use same handlers as rest of pipeline\n    const txt = toMarkdown(node, {\n      extensions: [tbl],\n      // Use the same handlers as the rest of the pipeline\n      handlers,\n    });\n\n    if (node.data?.bnRemove) {\n      const lines = txt.split(\"\\n\");\n      // Replace the first line cells from `|{multiple spaces}|{multiple spaces}|...` to `| <!-- --> | <!-- --> |...`\n      lines[0] = lines[0].replace(/(\\| +)+/g, (s) => {\n        return s.replace(/ +/g, \" <!-- --> \");\n      });\n      return lines.join(\"\\n\");\n    }\n    return txt;\n  };\n  return String(\n    unified()\n      .use(remarkGfm)\n      .use(remarkMath)\n      .use(remarkStringify, {\n        // Prevent recursive call\n        handlers: Object.assign({}, handlers, {\n          table: tableHandler,\n        }),\n      } as any)\n      .stringify(remark as any),\n  );\n}\n\nfunction remark2latex(remark: MRoot) {\n  return String(\n    unified()\n      .use(remarkGfm)\n      .use(remarkMath)\n      .use(remarkStringify, {\n        handlers: {\n          text: (node: { value: string }) => {\n            return node.value;\n          },\n        },\n      } as any)\n      .stringify(remark as any),\n  );\n}\n\nfunction md2remark(str: string) {\n  // Parse Obsidian-style image ![[xxx.png]]\n  // Encode spaces in link, otherwise it cannot be parsed to image node\n  str = str\n    .replace(/!\\[\\[(.*)\\]\\]/g, (s: string) => `![](${s.slice(3, -2)})`)\n    .replace(\n      /!\\[(.*)\\]\\((.*)\\)/g,\n      (match, altText, imageURL) =>\n        `![${altText}](${encodeURI(decodeURI(imageURL))})`,\n    );\n  const remark = unified()\n    .use(remarkGfm)\n    .use(remarkMath)\n    .use(remarkParse)\n    .parse(str);\n  // visit(\n  //   remark,\n  //   (_n) => _n.type === \"image\",\n  //   (_n: any) => {\n  //     _n.type = \"html\";\n  //     _n.value = toHtml(\n  //       h(\"img\", {\n  //         src: _n.url,\n  //       })\n  //     );\n  //   }\n  // );\n  return remark;\n}\n\nasync function remark2rehype(remark: any) {\n  return await unified()\n    .use(remarkRehype, {\n      allowDangerousHtml: true,\n      // handlers: {\n      //   code: (h, node) => {\n      //     return h(node, \"pre\", [h(node, \"text\", node.value)]);\n      //   },\n      // },\n    })\n    .run(remark);\n}\n\nfunction rehype2note(rehype: HRoot) {\n  // Del node\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && (node as any).tagName === \"del\",\n    (node: any) => {\n      node.tagName = \"span\";\n      node.properties.style = \"text-decoration: line-through\";\n    },\n  );\n\n  // Code node\n  visitParents(\n    rehype,\n    (node: any) => node.type === \"element\" && (node as any).tagName === \"code\",\n    (node: any, ancestors) => {\n      const parent = ancestors.length\n        ? ancestors[ancestors.length - 1]\n        : undefined;\n      if (parent?.type == \"element\" && parent?.tagName === \"pre\") {\n        node.value = toText(node, { whitespace: \"pre-wrap\" });\n        // Remove \\n at the end of code block, which is redundant\n        if (node.value.endsWith(\"\\n\")) {\n          node.value = node.value.slice(0, -1);\n        }\n        node.type = \"text\";\n      }\n    },\n  );\n\n  // Table node with style\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && (node as any).tagName === \"table\",\n    (node: any) => {\n      let hasStyle = false;\n      let hasHeader = false;\n      visit(\n        node,\n        (_n: any) =>\n          _n.type === \"element\" &&\n          [\"tr\", \"td\", \"th\"].includes((_n as any).tagName),\n        (node: any) => {\n          if (node.properties.style) {\n            hasStyle = true;\n          }\n          if (\n            !hasHeader &&\n            node.tagName === \"th\" &&\n            node.children[0]?.value !== \"<!-- -->\"\n          ) {\n            hasHeader = true;\n          }\n        },\n      );\n      if (hasStyle) {\n        node.value = toHtml(node).replace(/[\\r\\n]/g, \"\");\n        node.children = [];\n        node.type = \"raw\";\n      }\n      if (!hasHeader) {\n        const index = node.children.findIndex(\n          (_n: any) => _n.tagName === \"thead\",\n        );\n        // Remove children before thead\n        if (index > -1) {\n          node.children = node.children.slice(index + 1);\n        }\n      }\n    },\n  );\n\n  // Convert thead to tbody\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && (node as any).tagName === \"thead\",\n    (node: any) => {\n      node.value = toHtml(node).slice(7, -8);\n      node.children = [];\n      node.type = \"raw\";\n    },\n  );\n\n  // Wrap lines in list with <span> (for diff)\n  visitParents(rehype, \"text\", (node: any, ancestors) => {\n    const parent = ancestors.length\n      ? ancestors[ancestors.length - 1]\n      : undefined;\n    if (\n      parent?.type == \"element\" &&\n      [\"li\", \"td\"].includes(parent?.tagName) &&\n      node.value.replace(/[\\r\\n]/g, \"\")\n    ) {\n      node.type = \"element\";\n      node.tagName = \"span\";\n      node.children = [\n        { type: \"text\", value: node.value.replace(/[\\r\\n]/g, \"\") },\n      ];\n      node.value = undefined;\n    }\n  });\n\n  // No empty breakline text node in list (for diff)\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      ((node as any).tagName === \"li\" || (node as any).tagName === \"td\"),\n    (node: any) => {\n      node.children = node.children.filter(\n        (_n: { type: string; value: string }) =>\n          _n.type === \"element\" ||\n          (_n.type === \"text\" && _n.value.replace(/[\\r\\n]/g, \"\")),\n      );\n\n      // https://github.com/windingwind/zotero-better-notes/issues/1300\n      // For all math-inline node in list, remove 1 space from its sibling text node\n      if (node.tagName === \"li\") {\n        for (const p of node.children) {\n          for (let idx = 0; idx < p.children.length; idx++) {\n            const _n = p.children[idx];\n            if (_n.properties?.className?.includes(\"math-inline\")) {\n              if (idx > 0) {\n                const prev = p.children[idx - 1];\n                if (prev.type === \"text\" && prev.value.endsWith(\" \")) {\n                  prev.value = prev.value.slice(0, -1);\n                }\n              }\n              if (idx < p.children.length - 1) {\n                const next = p.children[idx + 1];\n                if (next.type === \"text\" && next.value.startsWith(\" \")) {\n                  next.value = next.value.slice(1);\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n  );\n\n  // Math node\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      ((node as any).properties?.className?.includes(\"math-inline\") ||\n        (node as any).properties?.className?.includes(\"math-display\")),\n    (node: any) => {\n      if (node.properties.className.includes(\"math-inline\")) {\n        node.children = [\n          { type: \"text\", value: \"$\" },\n          ...node.children,\n          { type: \"text\", value: \"$\" },\n        ];\n      } else if (node.properties.className.includes(\"math-display\")) {\n        node.children = [\n          { type: \"text\", value: \"$$\" },\n          ...node.children,\n          { type: \"text\", value: \"$$\" },\n        ];\n        node.tagName = \"pre\";\n      }\n      node.properties.className = \"math\";\n    },\n  );\n\n  // Ignore link rel attribute, which exists in note\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && (node as any).tagName === \"a\",\n    (node: any) => {\n      node.properties.rel = undefined;\n    },\n  );\n\n  // Ignore empty lines, as they are not parsed to md\n  const tempChildren: RootContent[] = [];\n  const isEmptyNode = (_n: Nodes) =>\n    (_n.type === \"text\" && !_n.value.trim()) ||\n    (_n.type === \"element\" &&\n      _n.tagName === \"p\" &&\n      !_n.children.length &&\n      !toText(_n).trim());\n  for (const child of rehype.children) {\n    if (\n      tempChildren.length &&\n      isEmptyNode(tempChildren[tempChildren.length - 1] as Nodes) &&\n      isEmptyNode(child as Nodes)\n    ) {\n      continue;\n    }\n    tempChildren.push(child);\n  }\n\n  rehype.children = tempChildren;\n\n  return unified()\n    .use(rehypeStringify, {\n      allowDangerousCharacters: true,\n      allowDangerousHtml: true,\n    })\n    .stringify(rehype as any);\n}\n\nfunction content2diff(oldStr: string, newStr: string) {\n  const diff = diffChars(oldStr, newStr);\n  if (!diff) return [];\n  return diff;\n}\n\nasync function md2html(md: string) {\n  const remark = md2remark(md);\n  const rehype = await remark2rehype(remark);\n  const html = rehype2note(rehype as HRoot);\n  const parsedHTML = await parseKatexHTML(html);\n  return parsedHTML;\n}\n\nasync function parseKatexHTML(html: string) {\n  const doc = new DOMParser().parseFromString(html, \"text/html\");\n  // https://github.com/windingwind/zotero-better-notes/issues/1356\n  doc\n    .querySelectorAll(\"span.katex, span.katex-display\")\n    .forEach((katexSpan) => {\n      // Look for the annotation element that holds the original TeX code.\n      const annotation = katexSpan.querySelector(\n        'annotation[encoding=\"application/x-tex\"]',\n      );\n      if (annotation) {\n        const isBlock = !!katexSpan.querySelector(\"math[display=block]\");\n\n        let container: HTMLElement;\n\n        if (isBlock) {\n          container = doc.createElement(\"pre\");\n          container.innerHTML = `$$${annotation.textContent}$$`;\n        } else {\n          container = doc.createElement(\"span\");\n          container.innerHTML = `$${annotation.textContent}$`;\n        }\n        container.classList.add(\"math\");\n        // Replace the entire KaTeX span with the inline math string.\n        katexSpan.parentNode?.replaceChild(container, katexSpan);\n      }\n    });\n  // linkedom does not support doc.body.innerHTML\n  // @ts-ignore\n  return globalThis._fakeDOM ? doc.toString() : doc.body.innerHTML;\n}\n"
  },
  {
    "path": "src/extras/convertWorker/env.ts",
    "content": "import { parseHTML, DOMParser } from \"linkedom\";\n\nglobalThis.document = parseHTML(\"...\").document;\n// @ts-ignore\nglobalThis.DOMParser = DOMParser;\n// @ts-ignore\nglobalThis._fakeDOM = true;\n"
  },
  {
    "path": "src/extras/convertWorker/main.ts",
    "content": "import { MessageHelper } from \"zotero-plugin-toolkit\";\n\nimport {\n  note2rehype,\n  rehype2remark,\n  rehype2note,\n  remark2rehype,\n  remark2md,\n  remark2latex,\n  md2remark,\n  content2diff,\n  md2html,\n} from \"../convert\";\n\nexport { handlers };\n\nconst handlers = {\n  note2rehype,\n  rehype2remark,\n  rehype2note,\n  remark2rehype,\n  remark2md,\n  remark2latex,\n  md2remark,\n  content2diff,\n  md2html,\n};\n\nconst messageServer = new MessageHelper({\n  canBeDestroyed: true,\n  dev: true,\n  name: \"convertWorker\",\n  target: self,\n  handlers,\n});\n\nmessageServer.start();\n"
  },
  {
    "path": "src/extras/convertWorker.ts",
    "content": "import \"./convertWorker/env\";\nimport \"./convertWorker/main\";\n"
  },
  {
    "path": "src/extras/customElements.ts",
    "content": "import { ContextPane } from \"../elements/workspace/contextPane\";\nimport { DetailsPane } from \"../elements/workspace/detailsPane\";\nimport { OutlinePicker } from \"../elements/linkCreator/outlinePicker\";\nimport { NotePicker } from \"../elements/linkCreator/notePicker\";\nimport { NotePreview } from \"../elements/linkCreator/notePreview\";\nimport { OutlinePane } from \"../elements/workspace/outlinePane\";\nimport { NoteRelatedBox } from \"../elements/workspace/related\";\nimport { Workspace } from \"../elements/workspace/workspace\";\nimport { InboundCreator } from \"../elements/linkCreator/inboundCreator\";\nimport { OutboundCreator } from \"../elements/linkCreator/outboundCreator\";\n\nconst elements = {\n  \"bn-context\": ContextPane,\n  \"bn-outline\": OutlinePane,\n  \"bn-details\": DetailsPane,\n  \"bn-workspace\": Workspace,\n  \"bn-note-picker\": NotePicker,\n  \"bn-note-outline\": OutlinePicker,\n  \"bn-note-preview\": NotePreview,\n  \"bn-inbound-creator\": InboundCreator,\n  \"bn-outbound-creator\": OutboundCreator,\n  \"bn-related-box\": NoteRelatedBox,\n} as unknown as Record<string, CustomElementConstructor>;\n\nfor (const [key, constructor] of Object.entries(elements)) {\n  if (!customElements.get(key)) {\n    customElements.define(key, constructor);\n  }\n}\n"
  },
  {
    "path": "src/extras/docxWorker.ts",
    "content": "import { config } from \"../../package.json\";\n\n// @ts-ignore defined by html-docx-js\nimport htmlDocx from \"html-docx-js/dist/html-docx\";\n\nconst XSL_PATH = `chrome://${config.addonRef}/content/lib/js/mml2omml.sef.json`;\n\n// this runs in a iframe. accept input message\n// and return output message\nonmessage = async ({ data: { type, jobID, message } }) => {\n  if (type === \"parseDocx\") {\n    console.log(\"DOCX Worker\", type, jobID, message);\n    const blob = htmlDocx.asBlob(message);\n    postMessage({ type: \"parseDocxReturn\", jobID, message: blob }, \"*\");\n  } else if (type === \"parseMML\") {\n    console.log(\"MML Worker\", type, jobID, message);\n    // @ts-ignore defined by SaxonJS\n    const result = await SaxonJS.transform(\n      {\n        stylesheetLocation: XSL_PATH,\n        sourceType: \"xml\",\n        sourceText: message,\n        destination: \"serialized\",\n      },\n      \"async\",\n    );\n    postMessage(\n      { type: \"parseMMLReturn\", jobID, message: result.principalResult },\n      \"*\",\n    );\n  }\n};\n"
  },
  {
    "path": "src/extras/editor/columnResizing.ts",
    "content": "import { Attrs, Node as ProsemirrorNode } from \"prosemirror-model\";\nimport {\n  EditorState,\n  Plugin,\n  PluginKey,\n  TextSelection,\n  Transaction,\n} from \"prosemirror-state\";\nimport {\n  Decoration,\n  DecorationSet,\n  EditorView,\n  NodeView,\n} from \"prosemirror-view\";\nimport { tableNodeTypes } from \"prosemirror-tables\";\nimport { TableMap } from \"prosemirror-tables\";\nimport { TableView, updateColumnsOnResize } from \"prosemirror-tables\";\nimport { cellAround, pointsAtCell } from \"prosemirror-tables\";\n\n/**\n * Major changes:\n * - Add `selecting` property to `ResizeState` class to disable resizing when selecting text\n * - Skip handle update if the view has non-empty selection in table\n * - Restore selection after resizing\n */\n\ninterface CellAttrs {\n  colspan: number;\n  rowspan: number;\n  colwidth: number[] | null;\n}\n\n/**\n * @public\n */\nexport const columnResizingPluginKey = new PluginKey<ResizeState>(\n  \"tableColumnResizing\",\n);\n\n/**\n * @public\n */\nexport type ColumnResizingOptions = {\n  handleWidth?: number;\n  /**\n   * Minimum width of a cell /column. The column cannot be resized smaller than this.\n   */\n  cellMinWidth?: number;\n  /**\n   * The default minWidth of a cell / column when it doesn't have an explicit width (i.e.: it has not been resized manually)\n   */\n  defaultCellMinWidth?: number;\n  lastColumnResizable?: boolean;\n  /**\n   * A custom node view for the rendering table nodes. By default, the plugin\n   * uses the {@link TableView} class. You can explicitly set this to `null` to\n   * not use a custom node view.\n   */\n  View?:\n    | (new (\n        node: ProsemirrorNode,\n        cellMinWidth: number,\n        view: EditorView,\n      ) => NodeView)\n    | null;\n};\n\n/**\n * @public\n */\nexport type Dragging = { startX: number; startWidth: number };\n\n/**\n * @public\n */\nexport function columnResizing({\n  handleWidth = 5,\n  cellMinWidth = 25,\n  defaultCellMinWidth = 100,\n  View = TableView as any,\n  lastColumnResizable = true,\n}: ColumnResizingOptions = {}): Plugin {\n  const plugin = new Plugin<ResizeState>({\n    key: columnResizingPluginKey,\n    state: {\n      init(_, state) {\n        const nodeViews = plugin.spec?.props?.nodeViews;\n        const tableName = tableNodeTypes(state.schema).table.name;\n        if (View && nodeViews) {\n          nodeViews[tableName] = (node, view) => {\n            return new View(node, defaultCellMinWidth, view);\n          };\n        }\n        return new ResizeState(-1, false, false);\n      },\n      apply(tr, prev) {\n        return prev.apply(tr);\n      },\n    },\n    props: {\n      attributes: (state): Record<string, string> => {\n        const pluginState = columnResizingPluginKey.getState(state);\n        return pluginState && pluginState.activeHandle > -1\n          ? { class: \"resize-cursor\" }\n          : {};\n      },\n\n      handleDOMEvents: {\n        mousemove: (view, event) => {\n          handleMouseMove(view, event, handleWidth, lastColumnResizable);\n        },\n        mouseleave: (view) => {\n          handleMouseLeave(view);\n        },\n        mousedown: (view, event) => {\n          handleMouseDown(view, event, cellMinWidth, defaultCellMinWidth);\n        },\n      },\n\n      decorations: (state) => {\n        const pluginState = columnResizingPluginKey.getState(state);\n        if (pluginState && pluginState.activeHandle > -1) {\n          return handleDecorations(state, pluginState.activeHandle);\n        }\n      },\n\n      nodeViews: {},\n    },\n  });\n  return plugin;\n}\n\n/**\n * @public\n */\nexport class ResizeState {\n  constructor(\n    public activeHandle: number,\n    public dragging: Dragging | false,\n    public selecting: boolean,\n    public position: number = 0,\n  ) {}\n\n  apply(tr: Transaction): ResizeState {\n    // eslint-disable-next-line @typescript-eslint/no-this-alias\n    const state = this;\n    const action = tr.getMeta(columnResizingPluginKey);\n\n    // If action provides a selecting flag, update it; otherwise keep the current one.\n    const newSelecting =\n      action && typeof action.selecting === \"boolean\"\n        ? action.selecting\n        : state.selecting;\n\n    // Only update the handle if a setHandle is provided AND we're not in selecting mode.\n    if (action && action.setHandle != null && !newSelecting) {\n      return new ResizeState(\n        action.setHandle,\n        false,\n        newSelecting,\n        state.position,\n      );\n    }\n    if (action && action.setDragging !== undefined) {\n      return new ResizeState(\n        action.setDragging === null ? -1 : state.activeHandle,\n        action.setDragging,\n        newSelecting,\n        action.setDragging\n          ? // @ts-ignore\n            _currentEditorInstance._editorCore.view.state.selection.$anchor.pos\n          : 0,\n      );\n    }\n    if (state.activeHandle > -1 && tr.docChanged) {\n      let handle = tr.mapping.map(state.activeHandle, -1);\n      if (!pointsAtCell(tr.doc.resolve(handle))) {\n        handle = -1;\n      }\n      return new ResizeState(\n        handle,\n        state.dragging,\n        newSelecting,\n        state.position,\n      );\n    }\n\n    return new ResizeState(\n      state.activeHandle,\n      state.dragging,\n      newSelecting,\n      state.position,\n    );\n  }\n}\n\nfunction handleMouseMove(\n  view: EditorView,\n  event: MouseEvent,\n  handleWidth: number,\n  lastColumnResizable: boolean,\n): void {\n  if (!view.editable) return;\n\n  const pluginState = columnResizingPluginKey.getState(view.state);\n  if (!pluginState) return;\n\n  if (!pluginState.dragging) {\n    const target = domCellAround(event.target as HTMLElement);\n    let cell = -1;\n    if (target) {\n      const { left, right } = target.getBoundingClientRect();\n      if (event.clientX - left <= handleWidth)\n        cell = edgeCell(view, event, \"left\", handleWidth);\n      else if (right - event.clientX <= handleWidth)\n        cell = edgeCell(view, event, \"right\", handleWidth);\n    }\n\n    if (cell != pluginState.activeHandle) {\n      if (!lastColumnResizable && cell !== -1) {\n        const $cell = view.state.doc.resolve(cell);\n        const table = $cell.node(-1);\n        const map = TableMap.get(table);\n        const tableStart = $cell.start(-1);\n        const col =\n          map.colCount($cell.pos - tableStart) +\n          $cell.nodeAfter!.attrs.colspan -\n          1;\n\n        if (col == map.width - 1) {\n          return;\n        }\n      }\n\n      updateHandle(view, cell);\n    }\n  }\n}\n\nfunction handleMouseLeave(view: EditorView): void {\n  if (!view.editable) return;\n\n  const pluginState = columnResizingPluginKey.getState(view.state);\n  if (pluginState && pluginState.activeHandle > -1 && !pluginState.dragging)\n    updateHandle(view, -1);\n}\n\nfunction handleMouseDown(\n  view: EditorView,\n  event: MouseEvent,\n  cellMinWidth: number,\n  defaultCellMinWidth: number,\n): boolean {\n  if (!view.editable) return false;\n\n  const win = view.dom.ownerDocument.defaultView ?? window;\n\n  const pluginState = columnResizingPluginKey.getState(view.state);\n  if (!pluginState || pluginState.activeHandle == -1) {\n    if (pluginState?.dragging) {\n      return false;\n    }\n\n    // If the mousedown event is not on a resize handle, record being in non-resize drag mode\n    view.dispatch(\n      view.state.tr.setMeta(columnResizingPluginKey, {\n        selecting: true,\n      }),\n    );\n  } else {\n    const cell = view.state.doc.nodeAt(pluginState.activeHandle)!;\n    const width = currentColWidth(view, pluginState.activeHandle, cell.attrs);\n\n    view.dispatch(\n      view.state.tr.setMeta(columnResizingPluginKey, {\n        setDragging: { startX: event.clientX, startWidth: width },\n      }),\n    );\n\n    displayColumnWidth(\n      view,\n      pluginState.activeHandle,\n      width,\n      defaultCellMinWidth,\n    );\n\n    event.preventDefault();\n  }\n\n  function finish(event: MouseEvent) {\n    win.removeEventListener(\"mouseup\", finish);\n    win.removeEventListener(\"mousemove\", move);\n    const pluginState = columnResizingPluginKey.getState(view.state);\n    if (pluginState?.dragging) {\n      const tr = updateColumnWidth(\n        view,\n        pluginState.activeHandle,\n        draggedWidth(pluginState.dragging, event, cellMinWidth),\n      );\n      tr.setMeta(columnResizingPluginKey, {\n        setDragging: null,\n        selecting: false,\n      });\n      // Reset selection to prevent dragging text\n      tr.setSelection(TextSelection.create(tr.doc, pluginState?.position || 0));\n      view.dispatch(tr);\n    } else {\n      view.dispatch(\n        view.state.tr.setMeta(columnResizingPluginKey, {\n          selecting: false,\n        }),\n      );\n    }\n  }\n\n  function move(event: MouseEvent): void {\n    if (!event.which) return finish(event);\n    const pluginState = columnResizingPluginKey.getState(view.state);\n    if (!pluginState) return;\n    if (pluginState.dragging) {\n      const dragged = draggedWidth(pluginState.dragging, event, cellMinWidth);\n      displayColumnWidth(\n        view,\n        pluginState.activeHandle,\n        dragged,\n        defaultCellMinWidth,\n      );\n    }\n  }\n\n  win.addEventListener(\"mouseup\", finish);\n  win.addEventListener(\"mousemove\", move);\n  return true;\n}\n\nfunction currentColWidth(\n  view: EditorView,\n  cellPos: number,\n  { colspan, colwidth }: Attrs,\n): number {\n  const width = colwidth && colwidth[colwidth.length - 1];\n  if (width) return width;\n  const dom = view.domAtPos(cellPos);\n  const node = dom.node.childNodes[dom.offset] as HTMLElement;\n  let domWidth = node.offsetWidth,\n    parts = colspan;\n  if (colwidth)\n    for (let i = 0; i < colspan; i++)\n      if (colwidth[i]) {\n        domWidth -= colwidth[i];\n        parts--;\n      }\n  return domWidth / parts;\n}\n\nfunction domCellAround(target: HTMLElement | null): HTMLElement | null {\n  while (target && target.nodeName != \"TD\" && target.nodeName != \"TH\")\n    target =\n      target.classList && target.classList.contains(\"ProseMirror\")\n        ? null\n        : (target.parentNode as HTMLElement);\n  return target;\n}\n\nfunction edgeCell(\n  view: EditorView,\n  event: MouseEvent,\n  side: \"left\" | \"right\",\n  handleWidth: number,\n): number {\n  // posAtCoords returns inconsistent positions when cursor is moving\n  // across a collapsed table border. Use an offset to adjust the\n  // target viewport coordinates away from the table border.\n  const offset = side == \"right\" ? -handleWidth : handleWidth;\n  const found = view.posAtCoords({\n    left: event.clientX + offset,\n    top: event.clientY,\n  });\n  if (!found) return -1;\n  const { pos } = found;\n  const $cell = cellAround(view.state.doc.resolve(pos));\n  if (!$cell) return -1;\n  if (side == \"right\") return $cell.pos;\n  const map = TableMap.get($cell.node(-1)),\n    start = $cell.start(-1);\n  const index = map.map.indexOf($cell.pos - start);\n  return index % map.width == 0 ? -1 : start + map.map[index - 1];\n}\n\nfunction draggedWidth(\n  dragging: Dragging,\n  event: MouseEvent,\n  resizeMinWidth: number,\n): number {\n  const offset = event.clientX - dragging.startX;\n  return Math.max(resizeMinWidth, dragging.startWidth + offset);\n}\n\nfunction updateHandle(view: EditorView, value: number): void {\n  // If the view has non-empty selection in table, don't update the handle\n  if (view.state.selection.from !== view.state.selection.to) {\n    return;\n  }\n  view.dispatch(\n    view.state.tr.setMeta(columnResizingPluginKey, { setHandle: value }),\n  );\n}\n\nfunction updateColumnWidth(\n  view: EditorView,\n  cell: number,\n  width: number,\n): Transaction {\n  const $cell = view.state.doc.resolve(cell);\n  const table = $cell.node(-1),\n    map = TableMap.get(table),\n    start = $cell.start(-1);\n  const col =\n    map.colCount($cell.pos - start) + $cell.nodeAfter!.attrs.colspan - 1;\n  const tr = view.state.tr;\n  for (let row = 0; row < map.height; row++) {\n    const mapIndex = row * map.width + col;\n    // Rowspanning cell that has already been handled\n    if (row && map.map[mapIndex] == map.map[mapIndex - map.width]) continue;\n    const pos = map.map[mapIndex];\n    const attrs = table.nodeAt(pos)!.attrs as CellAttrs;\n    const index = attrs.colspan == 1 ? 0 : col - map.colCount(pos);\n    if (attrs.colwidth && attrs.colwidth[index] == width) continue;\n    const colwidth = attrs.colwidth\n      ? attrs.colwidth.slice()\n      : zeroes(attrs.colspan);\n    colwidth[index] = width;\n    tr.setNodeMarkup(start + pos, null, { ...attrs, colwidth: colwidth });\n  }\n  return tr;\n}\n\nfunction displayColumnWidth(\n  view: EditorView,\n  cell: number,\n  width: number,\n  defaultCellMinWidth: number,\n): void {\n  const $cell = view.state.doc.resolve(cell);\n  const table = $cell.node(-1),\n    start = $cell.start(-1);\n  const col =\n    TableMap.get(table).colCount($cell.pos - start) +\n    $cell.nodeAfter!.attrs.colspan -\n    1;\n  let dom: Node | null = view.domAtPos($cell.start(-1)).node;\n  while (dom && dom.nodeName != \"TABLE\") {\n    dom = dom.parentNode;\n  }\n\n  if (!dom) return;\n\n  updateColumnsOnResize(\n    table,\n    dom.firstChild as HTMLTableColElement,\n    dom as HTMLTableElement,\n    defaultCellMinWidth,\n    col,\n    width,\n  );\n}\n\nfunction zeroes(n: number): 0[] {\n  return Array(n).fill(0);\n}\n\nexport function handleDecorations(\n  state: EditorState,\n  cell: number,\n): DecorationSet {\n  const decorations = [];\n  const $cell = state.doc.resolve(cell);\n  const table = $cell.node(-1);\n  if (!table) {\n    return DecorationSet.empty;\n  }\n  const map = TableMap.get(table);\n  const start = $cell.start(-1);\n  const col =\n    map.colCount($cell.pos - start) + $cell.nodeAfter!.attrs.colspan - 1;\n  for (let row = 0; row < map.height; row++) {\n    const index = col + row * map.width;\n    // For positions that have either a different cell or the end\n    // of the table to their right, and either the top of the table or\n    // a different cell above them, add a decoration\n    if (\n      (col == map.width - 1 || map.map[index] != map.map[index + 1]) &&\n      (row == 0 || map.map[index] != map.map[index - map.width])\n    ) {\n      const cellPos = map.map[index];\n      const pos = start + cellPos + table.nodeAt(cellPos)!.nodeSize - 1;\n      const dom = document.createElement(\"div\");\n      dom.className = \"column-resize-handle\";\n      if (columnResizingPluginKey.getState(state)?.dragging) {\n        decorations.push(\n          Decoration.node(\n            start + cellPos,\n            start + cellPos + table.nodeAt(cellPos)!.nodeSize,\n            {\n              class: \"column-resize-dragging\",\n            },\n          ),\n        );\n      }\n\n      decorations.push(Decoration.widget(pos, dom));\n    }\n  }\n  return DecorationSet.create(state.doc, decorations);\n}\n"
  },
  {
    "path": "src/extras/editor/editorStrings.ts",
    "content": "import { insert } from \"../../utils/editor\";\n\nexport { formatMessage };\n\nfunction formatMessage(message: string, locale: string) {\n  const stringObj = editorStrings[message as keyof typeof editorStrings];\n  if (!stringObj) {\n    return message;\n  }\n\n  return stringObj[locale as \"en-US\" | \"zh-CN\"] || message;\n}\n\nconst editorStrings = {\n  insertTemplate: {\n    \"en-US\": \"Insert Template\",\n    \"zh-CN\": \"插入模板\",\n  },\n  outboundLink: {\n    \"en-US\": \"Insert Outbound Link (Link to another note)\",\n    \"zh-CN\": \"插入出链 (链接到另一个笔记)\",\n  },\n  inboundLink: {\n    \"en-US\": \"Insert Inbound Link in another note (Link to this note)\",\n    \"zh-CN\": \"插入入链到另一笔记 (链接到本笔记)\",\n  },\n  insertCitation: {\n    \"en-US\": \"Insert Citation\",\n    \"zh-CN\": \"插入引用\",\n  },\n  openAttachment: {\n    \"en-US\": \"Open attachment of parent item\",\n    \"zh-CN\": \"打开父条目的附件\",\n  },\n  copySectionLink: {\n    \"en-US\": \"Copy Section Link\",\n    \"zh-CN\": \"复制章节链接\",\n  },\n  copyLineLink: {\n    \"en-US\": \"Copy Line Link\",\n    \"zh-CN\": \"复制行链接\",\n  },\n  refreshTemplates: {\n    \"en-US\": \"Update content from templates\",\n    \"zh-CN\": \"更新模板生成内容\",\n  },\n  heading1: {\n    \"en-US\": \"Heading 1\",\n    \"zh-CN\": \"一级标题\",\n  },\n  heading2: {\n    \"en-US\": \"Heading 2\",\n    \"zh-CN\": \"二级标题\",\n  },\n  heading3: {\n    \"en-US\": \"Heading 3\",\n    \"zh-CN\": \"三级标题\",\n  },\n  paragraph: {\n    \"en-US\": \"Paragraph\",\n    \"zh-CN\": \"段落\",\n  },\n  monospaced: {\n    \"en-US\": \"Monospaced\",\n    \"zh-CN\": \"等宽\",\n  },\n  bulletList: {\n    \"en-US\": \"Bullet List\",\n    \"zh-CN\": \"无序列表\",\n  },\n  orderedList: {\n    \"en-US\": \"Ordered List\",\n    \"zh-CN\": \"有序列表\",\n  },\n  blockquote: {\n    \"en-US\": \"Blockquote\",\n    \"zh-CN\": \"引用\",\n  },\n  mathBlock: {\n    \"en-US\": \"Math Block\",\n    \"zh-CN\": \"数学\",\n  },\n  clearFormatting: {\n    \"en-US\": \"Clear Format\",\n    \"zh-CN\": \"清除格式\",\n  },\n  table: {\n    \"en-US\": \"Table\",\n    \"zh-CN\": \"表格\",\n  },\n};\n"
  },
  {
    "path": "src/extras/editor/linkPreview.ts",
    "content": "import { EditorState, Plugin, PluginKey } from \"prosemirror-state\";\nimport { Popup } from \"./popup\";\n\nexport { initLinkPreviewPlugin, LinkPreviewOptions };\n\ndeclare const _currentEditorInstance: {\n  _editorCore: EditorCore;\n};\n\ninterface LinkPreviewOptions {\n  setPreviewContent: (\n    link: string,\n    setContent: (content: string) => void,\n  ) => void;\n\n  openURL: (url: string) => void;\n\n  previewType: \"hover\" | \"ctrl\" | \"disable\";\n}\n\nclass PluginState {\n  state: EditorState;\n\n  options: LinkPreviewOptions;\n\n  popup: Popup | null = null;\n\n  node: HTMLElement | null = null;\n\n  currentLink: string | null = null;\n\n  hasHover = false;\n\n  constructor(state: EditorState, options: LinkPreviewOptions) {\n    this.state = state;\n    this.options = options;\n    this.update(state);\n  }\n\n  update(state: EditorState, prevState?: EditorState) {\n    this.state = state;\n\n    if (this.options.previewType === \"disable\") {\n      return;\n    }\n\n    if (\n      prevState &&\n      prevState.doc.eq(state.doc) &&\n      prevState.selection.eq(state.selection)\n    ) {\n      return;\n    }\n    // Handle selection change\n    setTimeout(() => {\n      this.popup?.layoutPopup(this);\n    }, 10);\n  }\n\n  destroy() {\n    this.popup?.remove();\n  }\n\n  handleMouseMove = async (event: MouseEvent) => {\n    if (this.options.previewType === \"disable\") {\n      return;\n    }\n\n    const { target } = event;\n\n    let isValid = false;\n    if (target instanceof HTMLElement) {\n      const href = target.closest(\"a\")?.getAttribute(\"href\");\n      if (href?.startsWith(\"zotero://note/\")) {\n        isValid = true;\n        if (this.currentLink !== href) {\n          this.node = target;\n          this.currentLink = href;\n          this.hasHover = true;\n          this.tryOpenPopupByHover();\n        }\n      }\n    }\n\n    if (!isValid && this.currentLink) {\n      this.hasHover = false;\n      this.currentLink = null;\n      this.tryClosePopup();\n    }\n  };\n\n  handleKeydown = async (event: KeyboardEvent) => {\n    if (this.options.previewType !== \"ctrl\") {\n      return;\n    }\n\n    if (!this.hasHover || !this.currentLink) {\n      return;\n    }\n    const isMac =\n      typeof navigator != \"undefined\" ? /Mac/.test(navigator.platform) : false;\n    if ((isMac && event.metaKey) || (!isMac && event.ctrlKey)) {\n      this.tryTogglePopupByKey();\n    }\n  };\n\n  tryOpenPopupByHover() {\n    if (this.options.previewType !== \"hover\") {\n      return;\n    }\n\n    const href = this.currentLink!;\n    setTimeout(() => {\n      if (this.currentLink === href) {\n        this._openPopup();\n      }\n    }, 300);\n  }\n\n  tryTogglePopupByKey() {\n    if (this._hasPopup()) {\n      this._closePopup();\n    } else {\n      this._openPopup();\n    }\n  }\n\n  _openPopup() {\n    console.log(\"Enter Link Preview\", this.currentLink, this.options);\n    document.querySelectorAll(\".link-preview\").forEach((el) => el.remove());\n    this.popup = new Popup(document, \"link-preview\", [\n      document.createRange().createContextualFragment(`\n<style>\n  .link-preview > .popup {\n    max-width: 360px;\n    max-height: 360px;\n    overflow: hidden auto;\n  }\n  .link-preview > .popup > * {\n    margin-block: 0;\n  }\n  .link-preview .primary-editor img:not(.ProseMirror-separator) {\n    max-width: 100%;\n    height: auto;\n  }\n  .link-preview .primary-editor li {\n    white-space: normal;\n  }\n</style>`),\n    ]);\n    this.popup.popup.classList.add(\"primary-editor\");\n    this.popup.container.style.display = \"none\";\n\n    this.popup.layoutPopup(this);\n\n    this.options.setPreviewContent(this.currentLink!, (content: string) => {\n      this.popup?.popup.append(\n        document.createRange().createContextualFragment(content),\n      );\n      this.popup!.container.style.removeProperty(\"display\");\n      this.popup?.layoutPopup(this);\n    });\n\n    this.popup.container.addEventListener(\"mouseleave\", () => {\n      this.currentLink = null;\n      this.tryClosePopup();\n    });\n\n    this.popup.container.addEventListener(\"click\", (event) => {\n      event.preventDefault();\n      event.stopPropagation();\n      const target = event.target as HTMLElement;\n      if (target.localName === \"a\") {\n        const href = target.getAttribute(\"href\");\n        if (href) {\n          this.options.openURL(href);\n        }\n      }\n      this._closePopup();\n    });\n  }\n\n  tryClosePopup() {\n    setTimeout(() => {\n      console.log(\"Close Link Preview\", this.currentLink, this.popup?.hasHover);\n      if (this.hasHover || this.popup?.hasHover) {\n        return;\n      }\n      this._closePopup();\n    }, 300);\n  }\n\n  _closePopup() {\n    this.node = null;\n    document.querySelectorAll(\".link-preview\").forEach((el) => el.remove());\n    this.popup = null;\n  }\n\n  _hasPopup() {\n    return !!document.querySelector(\".link-preview\");\n  }\n}\n\nfunction initLinkPreviewPlugin(\n  plugins: readonly Plugin[],\n  options: LinkPreviewOptions,\n) {\n  const core = _currentEditorInstance._editorCore;\n  console.log(\"Init BN Link Preview Plugin\");\n  const key = new PluginKey(\"linkPreviewPlugin\");\n  return [\n    ...plugins,\n    new Plugin({\n      key,\n      state: {\n        init(config, state) {\n          return new PluginState(state, options);\n        },\n        apply: (tr, pluginState, oldState, newState) => {\n          pluginState.update(newState, oldState);\n          return pluginState;\n        },\n      },\n      props: {\n        handleDOMEvents: {\n          mousemove: (view, event) => {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.update(view.state);\n            pluginState.handleMouseMove(event);\n          },\n          keydown: (view, event) => {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.handleKeydown(event);\n          },\n          wheel: (view, event) => {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.popup?.layoutPopup(pluginState);\n          },\n        },\n      },\n      view: (editorView) => {\n        return {\n          update(view, prevState) {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.update(view.state, prevState);\n          },\n          destroy() {\n            const pluginState = key.getState(editorView.state) as PluginState;\n            pluginState.destroy();\n          },\n        };\n      },\n    }),\n  ];\n}\n"
  },
  {
    "path": "src/extras/editor/magicKey.ts",
    "content": "import { EditorState, Plugin, PluginKey, Transaction } from \"prosemirror-state\";\n\nimport { Popup } from \"./popup\";\nimport { formatMessage } from \"./editorStrings\";\nimport { ResolvedPos } from \"prosemirror-model\";\n\nexport { initMagicKeyPlugin, MagicKeyOptions };\n\ndeclare const _currentEditorInstance: {\n  _editorCore: EditorCore;\n};\n\ninterface MagicKeyOptions {\n  insertTemplate?: () => void;\n  refreshTemplates?: () => void;\n  insertLink?: (type: \"inbound\" | \"outbound\") => void;\n  copyLink?: (mode: \"section\" | \"line\") => void;\n  openAttachment?: () => void;\n  canOpenAttachment?: () => boolean;\n  enable?: boolean;\n  enableShortcut?: boolean;\n}\n\ninterface MagicCommand {\n  messageId?: string;\n  searchParts?: string[];\n  title?: string;\n  icon?: string;\n  command: (state: EditorState) => void | Transaction;\n  enabled?: (state: EditorState) => boolean;\n}\n\nclass PluginState {\n  state: EditorState;\n\n  options: MagicKeyOptions;\n\n  _commands: MagicCommand[] = [\n    {\n      messageId: \"insertTemplate\",\n      searchParts: [\"it\", \"insertTemplate\"],\n      command: (state) => {\n        this.options.insertTemplate?.();\n      },\n    },\n    {\n      messageId: \"outboundLink\",\n      searchParts: [\"ob\", \"obl\", \"outboundLink\"],\n      command: (state) => {\n        this.options.insertLink?.(\"outbound\");\n      },\n    },\n    {\n      messageId: \"inboundLink\",\n      searchParts: [\"ib\", \"ibl\", \"inboundLink\"],\n      command: (state) => {\n        this.options.insertLink?.(\"inbound\");\n      },\n    },\n    {\n      messageId: \"insertCitation\",\n      searchParts: [\"ic\", \"insertCitation\"],\n      command: (state) => {\n        getPlugin(\"citation\")?.insertCitation();\n      },\n    },\n    {\n      messageId: \"openAttachment\",\n      searchParts: [\"oa\", \"openAttachment\"],\n      command: (state) => {\n        this.options.openAttachment?.();\n      },\n      enabled: (state) => {\n        return this.options.canOpenAttachment?.() || false;\n      },\n    },\n    {\n      messageId: \"copySectionLink\",\n      searchParts: [\"csl\", \"copySectionLink\"],\n      command: (state) => {\n        this.options.copyLink?.(\"section\");\n      },\n    },\n    {\n      messageId: \"copyLineLink\",\n      searchParts: [\"cll\", \"copyLineLink\"],\n      command: (state) => {\n        this.options.copyLink?.(\"line\");\n      },\n    },\n    {\n      messageId: \"refreshTemplates\",\n      searchParts: [\"rt\", \"refreshTemplates\"],\n      command: (state) => {\n        this.options.refreshTemplates?.();\n      },\n    },\n    {\n      messageId: \"table\",\n      searchParts: [\"tb\", \"table\"],\n      command: (state) => {\n        const input = prompt(\n          \"Enter the number of rows and columns, separated by a comma (e.g., 3,3)\",\n        );\n        if (!input) {\n          return state.tr;\n        }\n        const splitter = input.includes(\"x\")\n          ? \"x\"\n          : input.includes(\",\")\n            ? \",\"\n            : \" \";\n        const [rows, cols] = input.split(splitter).map((n) => parseInt(n, 10));\n        if (isNaN(rows) || isNaN(cols)) {\n          return state.tr;\n        }\n        const { tr, selection } = state;\n        const { $from, $to } = selection;\n        const { pos } = $from;\n        const table = state.schema.nodes.table.createAndFill(\n          {},\n          Array.from(\n            { length: rows },\n            () =>\n              state.schema.nodes.table_row.createAndFill(\n                {},\n                Array.from(\n                  { length: cols },\n                  () => state.schema.nodes.table_cell.createAndFill()!,\n                ),\n              )!,\n          ),\n        )!;\n        tr.replaceWith(pos, pos, table);\n        _currentEditorInstance._editorCore.view.dispatch(tr);\n      },\n    },\n    {\n      messageId: \"heading1\",\n      searchParts: [\"h1\", \"heading1\"],\n      command: (state) => {\n        getPlugin()?.heading1.run();\n      },\n    },\n    {\n      messageId: \"heading2\",\n      searchParts: [\"h2\", \"heading2\"],\n      command: (state) => {\n        getPlugin()?.heading2.run();\n      },\n    },\n    {\n      messageId: \"heading3\",\n      searchParts: [\"h3\", \"heading3\"],\n      command: (state) => {\n        getPlugin()?.heading3.run();\n      },\n    },\n    {\n      messageId: \"paragraph\",\n      searchParts: [\"pg\", \"paragraph\"],\n      command: (state) => {\n        getPlugin()?.paragraph.run();\n      },\n    },\n    {\n      messageId: \"monospaced\",\n      searchParts: [\"ms\", \"monospaced\"],\n      command: (state) => {\n        getPlugin()?.codeBlock.run();\n      },\n    },\n    {\n      messageId: \"bulletList\",\n      searchParts: [\"ul\", \"bulletList\", \"unorderedList\"],\n      command: (state) => {\n        getPlugin()?.bulletList.run();\n      },\n    },\n    {\n      messageId: \"orderedList\",\n      searchParts: [\"ol\", \"orderedList\"],\n      command: (state) => {\n        getPlugin()?.orderedList.run();\n      },\n    },\n    {\n      messageId: \"blockquote\",\n      searchParts: [\"bq\", \"blockquote\"],\n      command: (state) => {\n        getPlugin()?.blockquote.run();\n      },\n    },\n    {\n      messageId: \"mathBlock\",\n      searchParts: [\"mb\", \"mathBlock\"],\n      command: (state) => {\n        getPlugin()?.math_display.run();\n      },\n    },\n    {\n      messageId: \"clearFormatting\",\n      searchParts: [\"cf\", \"clearFormatting\"],\n      command: (state) => {\n        getPlugin()?.clearFormatting.run();\n      },\n    },\n  ];\n\n  get commands() {\n    return this._commands.filter((command) => {\n      if (command.enabled) {\n        return command.enabled(this.state);\n      }\n      return true;\n    });\n  }\n\n  popup: Popup | null = null;\n\n  selectedCommandIndex = 0;\n\n  get node() {\n    const node =\n      // @ts-ignore - private API\n      _currentEditorInstance._editorCore.view.domSelection().anchorNode;\n    if (node.nodeType === Node.TEXT_NODE) {\n      return node.parentElement;\n    }\n    return node;\n  }\n\n  popupClass = \"command-palette\";\n\n  constructor(state: EditorState, options: MagicKeyOptions) {\n    this.state = state;\n    this.options = options;\n\n    const locale = window.navigator.language || \"en-US\";\n    for (const key in this.commands) {\n      const command = this.commands[key];\n      if (command.messageId) {\n        command.title = formatMessage(command.messageId, locale);\n      }\n    }\n\n    this.update(state);\n  }\n\n  update(state: EditorState, prevState?: EditorState) {\n    this.state = state;\n\n    if (!prevState) {\n      return;\n    }\n\n    // Check if the selection has changed, then try to close the popup\n    if (!prevState.selection.eq(state.selection)) {\n      this._closePopup();\n    }\n\n    if (!this.options.enable) {\n      return;\n    }\n\n    // If the document hasn't changed, we don't need to do anything\n    if (prevState.doc.eq(state.doc)) {\n      return;\n    }\n\n    // When `/` is pressed, we should open the command palette\n    const selectionText = state.doc.textBetween(\n      state.selection.from,\n      state.selection.to,\n    );\n    if (!selectionText) {\n      const { $from } = this.state.selection;\n      const { parent } = $from;\n      // Don't open the popup if we are in the document root\n      if (parent.type.name === \"doc\") {\n        return;\n      }\n      const textBeforeCursor = getTextBeforeCursor($from);\n      if (textBeforeCursor.endsWith(\"/\") && !textBeforeCursor.endsWith(\"//\")) {\n        this._openPopup(state);\n      } else {\n        this._closePopup();\n      }\n    }\n  }\n\n  destroy() {\n    this.popup?.remove();\n  }\n\n  handleKeydown = async (event: KeyboardEvent) => {\n    if (event.key === \"Escape\") {\n      if (this._hasPopup()) {\n        this._closePopup();\n      }\n      return;\n    }\n\n    const isMac =\n      typeof navigator != \"undefined\" ? /Mac/.test(navigator.platform) : false;\n    if (\n      this.options.enableShortcut &&\n      ((isMac && event.metaKey) || (!isMac && event.ctrlKey)) &&\n      event.key === \"/\"\n    ) {\n      if (!this._hasPopup()) {\n        this._openPopup(this.state);\n      } else {\n        this._closePopup();\n      }\n      event.preventDefault();\n      return;\n    }\n  };\n\n  _openPopup(state: EditorState) {\n    if (this._hasPopup()) {\n      return;\n    }\n    this.popup = new Popup(document, this.popupClass, [\n      document.createRange().createContextualFragment(`\n<style>\n  .${this.popupClass} > .popup {\n    max-width: 360px;\n    max-height: 360px;\n    overflow: hidden;\n  }\n  .${this.popupClass} > .popup input {\n    padding: 0 7px;\n    background: var(--material-background);\n    border-radius: 5px;\n    border: var(--material-border-quinary);\n    width: 100%;\n    outline: none;\n    height: 28px;\n    flex-shrink: 0;\n  }\n  .${this.popupClass} > .popup input:focus {\n    outline: none;\n    border-color: rgba(0, 0, 0, 0);\n    box-shadow: 0 0 0 var(--width-focus-border) var(--color-focus-search);\n  }\n  .${this.popupClass} .popup-content {\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    padding: 6px;\n  }\n  .${this.popupClass} .popup-list {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    overflow: hidden auto;\n  }\n  .${this.popupClass} .popup-item {\n    display: flex;\n    align-items: flex-end;\n    padding: 6px;\n    cursor: pointer;\n    border-radius: 5px;\n  }\n  .${this.popupClass} .popup-item[hidden] {\n    display: none !important;\n  }\n  .${this.popupClass} .popup-item-title {\n    flex: 1;\n  }\n  .${this.popupClass} .popup-item-key {\n    margin-left: 12px;\n    font-size: 0.9em;\n    font-family: monospace;\n  }\n  .${this.popupClass} .popup-item:hover {\n    background-color: var(--fill-senary);\n  }\n  .${this.popupClass} .popup-item.selected {\n    background-color: var(--color-accent);\n    color: #fff;\n  }\n</style>\n<div class=\"popup-content\">\n  <input type=\"text\" class=\"popup-input\" placeholder=\"Search commands\" />\n  <div class=\"popup-list\" tabindex=\"-1\">\n    ${Object.entries(this.commands)\n      .map(\n        ([id, command]) => `\n      <div class=\"popup-item\" data-command-id=\"${id}\">\n        <div class=\"popup-item-icon\">${command.icon || \"\"}</div>\n        <div class=\"popup-item-title\">${command.title}</div>\n        <div class=\"popup-item-key\">${command.searchParts![0]}</div>\n      </div>`,\n      )\n      .join(\"\")}\n  </div>\n</div>`),\n    ]);\n\n    this.popup.layoutPopup(this);\n\n    // Focus the input\n    const input = this.popup.container.querySelector(\n      \".popup-input\",\n    ) as HTMLInputElement;\n    input.focus();\n\n    // Handle input\n    input.addEventListener(\"input\", (event) => {\n      const target = event.target as HTMLInputElement;\n      const value = target.value;\n      let numIndex = 0;\n      let itemIndex;\n      for (const [id, command] of Object.entries(this.commands)) {\n        const item = this.popup!.container.querySelector(\n          `.popup-item[data-command-id=\"${id}\"]`,\n        ) as HTMLElement;\n        if (!value) {\n          item.hidden = false;\n          continue;\n        }\n        const matchedIndex = command\n          .title!.toLowerCase()\n          .indexOf(value.toLowerCase());\n        if (\n          matchedIndex < 0 &&\n          // Try to match the search parts\n          !command.searchParts?.some((part) =>\n            part.toLowerCase().includes(value.toLowerCase()),\n          )\n        ) {\n          item.hidden = true;\n        } else {\n          item.hidden = false;\n          if (\n            command.searchParts &&\n            command.searchParts[0].toLowerCase() === value.toLowerCase()\n          ) {\n            itemIndex = numIndex;\n          }\n        }\n        numIndex += 1;\n        if (matchedIndex >= 0) {\n          // Change the matched part to bold\n          const title = command.title!;\n          item.querySelector(\".popup-item-title\")!.innerHTML =\n            title.slice(0, matchedIndex) +\n            `<b>${title.slice(matchedIndex, matchedIndex + value.length)}</b>` +\n            title.slice(matchedIndex + value.length);\n        }\n      }\n      this._selectCommand(itemIndex);\n    });\n\n    input.addEventListener(\"keydown\", (event) => {\n      if (event.key === \"ArrowUp\") {\n        this._selectCommand(this.selectedCommandIndex - 1, \"up\");\n        event.preventDefault();\n      } else if (event.key === \"ArrowDown\") {\n        this._selectCommand(this.selectedCommandIndex + 1, \"down\");\n        event.preventDefault();\n      } else if (event.key === \"ArrowLeft\") {\n        // Select the first command\n        this._selectCommand(this.commands.length, \"up\");\n        event.preventDefault();\n      } else if (event.key === \"ArrowRight\") {\n        // Select the last command\n        this._selectCommand(-1, \"down\");\n        event.preventDefault();\n      } else if (event.key === \"Tab\") {\n        // If has input, autocomplete the selected command to the first space\n        const command = this.commands[this.selectedCommandIndex];\n        if (!command) {\n          return;\n        }\n        if (!input.value) {\n          return;\n        }\n        const title = command.title!;\n        // Compute after the matched part\n        const matchedIndex = title\n          .toLowerCase()\n          .indexOf(input.value.toLowerCase());\n        const spaceIndex = title.indexOf(\n          \" \",\n          matchedIndex + input.value.length,\n        );\n        if (spaceIndex >= 0) {\n          input.value = title.slice(0, spaceIndex);\n        } else {\n          input.value = title;\n        }\n        event.preventDefault();\n      } else if (event.key === \"Enter\") {\n        event.preventDefault();\n        const command = this.commands[this.selectedCommandIndex];\n        if (!command) {\n          this._closePopup();\n          return;\n        }\n        this._executeCommand(this.selectedCommandIndex, state);\n      } else if (event.key === \"Escape\") {\n        event.preventDefault();\n        this._closePopup();\n      } else if (event.key === \"z\" && (event.ctrlKey || event.metaKey)) {\n        this._closePopup();\n        if (this.options.enable) {\n          this.removeInputSlash(state);\n        }\n      }\n    });\n\n    this.popup.container.addEventListener(\"click\", (event) => {\n      event.preventDefault();\n      event.stopPropagation();\n      const target = event.target as HTMLElement;\n      // Find the command\n      const item = target.closest(\".popup-item\") as HTMLElement;\n      if (!item) {\n        return;\n      }\n      const index = parseInt(item.dataset.commandId || \"-1\", 10);\n\n      this._executeCommand(index, state);\n    });\n\n    this._selectCommand(0);\n  }\n\n  _closePopup() {\n    if (!this._hasPopup()) {\n      return;\n    }\n    document\n      .querySelectorAll(`.${this.popupClass}`)\n      .forEach((el) => el.remove());\n    this.popup = null;\n    window.BetterNotesEditorAPI.refocusEditor();\n  }\n\n  _hasPopup() {\n    return !!document.querySelector(`.${this.popupClass}`);\n  }\n\n  _selectCommand(index?: number, direction: \"up\" | \"down\" = \"down\") {\n    if (typeof index === \"undefined\") {\n      index = this.selectedCommandIndex;\n    }\n    // Unselect the previous command\n    this.popup!.container.querySelectorAll(\".popup-item.selected\").forEach(\n      (el) => {\n        el.classList.remove(\"selected\");\n      },\n    );\n\n    if (!this._hasPopup()) {\n      return;\n    }\n    const items = this.popup!.container.querySelectorAll(\n      \".popup-item\",\n    ) as NodeListOf<HTMLElement>;\n    if (items[index]?.hidden) {\n      // Will find the next visible item in the specified direction\n      if (direction === \"up\") {\n        for (let i = index - 1; i >= 0; i--) {\n          if (!items[i].hidden) {\n            index = i;\n            break;\n          }\n        }\n      } else if (direction === \"down\") {\n        for (let i = index + 1; i < items.length; i++) {\n          if (!items[i].hidden) {\n            index = i;\n            break;\n          }\n        }\n      }\n    }\n    if (index >= items.length) {\n      // Find the first visible item with :first-of-type\n      const item = this.popup!.container.querySelector(\n        \".popup-item:not([hidden])\",\n      ) as HTMLElement;\n      index = parseInt(item?.dataset.commandId || \"-1\", 10);\n    } else if (index < 0) {\n      // Find the last visible item with :last-of-type\n      const visibleItems = this.popup!.container.querySelectorAll(\n        \".popup-item:not([hidden])\",\n      );\n      const item = visibleItems[visibleItems.length - 1] as HTMLElement;\n      index = parseInt(item?.dataset.commandId || \"-1\", 10);\n    }\n\n    if (index < 0) {\n      this.selectedCommandIndex = -1;\n      return;\n    }\n    this.selectedCommandIndex = index;\n    items[index].classList.add(\"selected\");\n    // Record the scroll position of the top document\n    const scrollTop = document.querySelector(\".editor-core\")!.scrollTop;\n    items[index].scrollIntoView({\n      block: \"center\",\n    });\n    // Restore the scroll position\n    document.querySelector(\".editor-core\")!.scrollTop = scrollTop;\n  }\n\n  _executeCommand(index: number, state: EditorState) {\n    const command = this.commands[index];\n    if (!command) {\n      return;\n    }\n    if (this.options.enable) {\n      // Remove the current input `/`\n      this.removeInputSlash(state);\n    }\n\n    const newState = _currentEditorInstance._editorCore.view.state;\n\n    // Apply the command\n    try {\n      const mightBeTr = command.command(newState);\n      if (mightBeTr) {\n        _currentEditorInstance._editorCore.view.dispatch(mightBeTr);\n      }\n    } catch (error) {\n      console.error(\"Error applying command\", error);\n    }\n\n    this._closePopup();\n  }\n\n  removeInputSlash(state: EditorState) {\n    const { $from } = state.selection;\n    const { pos } = $from;\n    const textBeforeCursor = getTextBeforeCursor($from);\n    if (textBeforeCursor.endsWith(\"/\") && !textBeforeCursor.endsWith(\"//\")) {\n      const tr = state.tr.delete(pos - 1, pos);\n      _currentEditorInstance._editorCore.view.dispatch(tr);\n    }\n  }\n}\n\nfunction initMagicKeyPlugin(\n  plugins: readonly Plugin[],\n  options: MagicKeyOptions,\n) {\n  console.log(\"Init BN Magic Key Plugin\");\n  const key = new PluginKey(\"linkPreviewPlugin\");\n  return [\n    ...plugins,\n    new Plugin({\n      key,\n      state: {\n        init(config, state) {\n          return new PluginState(state, options);\n        },\n        apply: (tr, pluginState, oldState, newState) => {\n          pluginState.update(newState, oldState);\n          return pluginState;\n        },\n      },\n      props: {\n        handleDOMEvents: {\n          keydown: (view, event) => {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.handleKeydown(event);\n          },\n        },\n      },\n      view: (editorView) => {\n        return {\n          update(view, prevState) {\n            const pluginState = key.getState(view.state) as PluginState;\n            pluginState.update(view.state, prevState);\n          },\n          destroy() {\n            const pluginState = key.getState(editorView.state) as PluginState;\n            pluginState.destroy();\n          },\n        };\n      },\n    }),\n  ];\n}\n\nfunction getPlugin(key = \"menu\") {\n  return _currentEditorInstance._editorCore.pluginState[key] as any;\n}\n\nfunction getTextBeforeCursor(from: ResolvedPos) {\n  const cursorPosInNode = from.parentOffset;\n  return from.parent.textContent.slice(0, cursorPosInNode);\n}\n"
  },
  {
    "path": "src/extras/editor/markdownPaste.ts",
    "content": "import { Plugin, PluginKey } from \"prosemirror-state\";\nimport { md2html } from \"../convert\";\n\nexport { initMarkdownPastePlugin, MarkdownPasteOptions };\n\ndeclare const _currentEditorInstance: {\n  _editorCore: EditorCore;\n};\n\ninterface MarkdownPasteOptions {\n  enable: boolean;\n}\n\nfunction initMarkdownPastePlugin(plugins: readonly Plugin[]) {\n  const core = _currentEditorInstance._editorCore;\n  console.log(\"Init BN Markdown Paste Plugin\");\n  const key = new PluginKey(\"pasteDropPlugin\");\n  const oldPastePluginIndex = plugins.findIndex(\n    (plugin) => plugin.props.handlePaste && plugin.props.handleDrop,\n  );\n  if (oldPastePluginIndex === -1) {\n    console.error(\"Paste plugin not found\");\n    return plugins;\n  }\n  const oldPastePlugin = plugins[oldPastePluginIndex];\n  return [\n    ...plugins.slice(0, oldPastePluginIndex),\n    new Plugin({\n      key,\n      props: {\n        handlePaste: (view, event, slice) => {\n          if (!event.clipboardData) {\n            return false;\n          }\n          const markdown = getMarkdown(event.clipboardData);\n\n          if (!markdown) {\n            // Try the old paste plugin\n            return oldPastePlugin.props.handlePaste?.apply(oldPastePlugin, [\n              view,\n              event,\n              slice,\n            ]);\n          }\n\n          md2html(markdown).then((html: string) => {\n            const slice = window.BetterNotesEditorAPI.getSliceFromHTML(\n              view.state,\n              html,\n            );\n            const tr = view.state.tr.replaceSelection(slice);\n            view.dispatch(tr);\n          });\n          return true;\n        },\n        handleDrop: (view, event, slice, moved) => {\n          if (!event.dataTransfer) {\n            return false;\n          }\n\n          const markdown = getMarkdown(event.dataTransfer);\n          if (!markdown) {\n            // Try the old drop plugin first\n            return oldPastePlugin.props.handleDrop?.apply(oldPastePlugin, [\n              view,\n              event,\n              slice,\n              moved,\n            ]);\n          }\n\n          md2html(markdown).then((html: string) => {\n            const slice = window.BetterNotesEditorAPI.getSliceFromHTML(\n              view.state,\n              html,\n            );\n            const pos = view.posAtCoords({\n              left: event.clientX,\n              top: event.clientY,\n            });\n            if (!pos) {\n              return;\n            }\n            // Insert the slice to the current position\n            const tr = view.state.tr.insert(pos.pos, slice);\n            view.dispatch(tr);\n          });\n\n          return true;\n        },\n      },\n      view: (editorView) => {\n        return {\n          destroy() {},\n        };\n      },\n    }),\n    ...plugins.slice(oldPastePluginIndex + 1),\n  ];\n}\n\nfunction getMarkdown(clipboardData: DataTransfer) {\n  // Skip Zotero internal data\n  if (clipboardData.types.some((type) => type.startsWith(\"zotero/\"))) {\n    return false;\n  }\n\n  if (clipboardData.types.includes(\"text/markdown\")) {\n    return clipboardData.getData(\"text/markdown\");\n  }\n\n  // For Typora\n  if (clipboardData.types.includes(\"text/x-markdown\")) {\n    return clipboardData.getData(\"text/x-markdown\");\n  }\n\n  const html = clipboardData.getData(\"text/html\");\n  if (html) {\n    // https://github.com/windingwind/zotero-better-notes/issues/1342\n    if (\n      // From ProseMirror\n      html.includes(\"data-pm-slice\") ||\n      // From Zotero annotations or citations\n      html.includes(\"data-annotation\") ||\n      html.includes(\"data-citation\")\n    ) {\n      return false;\n    }\n\n    return html;\n  }\n\n  const text = clipboardData.getData(\"text/plain\");\n  if (text) {\n    // Match markdown patterns\n    const markdownPatterns = [\n      /^#/m, // Headers: Lines starting with #\n      /^\\s*[-+*]\\s/m, // Unordered lists: Lines starting with -, +, or *\n      /^\\d+\\.\\s/m, // Ordered lists: Lines starting with numbers followed by a dot\n      /\\[.*\\]\\(.*\\)/, // Links: [text](url)\n      /`[^`]+`/, // Inline code: `code`\n      /^> /m, // Blockquotes: Lines starting with >\n      /```/, // Code blocks: Triple backticks\n      /\\*\\*[^*]+\\*\\*/, // Bold: **text**\n      /\\*[^*]+\\*/, // Italic: *text*\n      /__[^_]+__/, // Bold: __text__\n      /_[^_]+_/, // Italic: _text_\n      /~~[^~]+~~/, // Strikethrough: ~~text~~\n      /\\^[^^]+\\^/, // Superscript: ^text^\n      /~[^~]+~/, // Subscript: ~text~\n      /\\$\\$[\\s\\S]*?\\$\\$/, // Block math: $$...$$\n      /\\$[^$\\n]+\\$/, // Inline math: $...$\n    ];\n\n    for (const pattern of markdownPatterns) {\n      if (pattern.test(text)) {\n        return text;\n      }\n    }\n  }\n  return false;\n}\n"
  },
  {
    "path": "src/extras/editor/nodeViews.ts",
    "content": "import { TableView } from \"prosemirror-tables\";\nimport { EditorView } from \"prosemirror-view\";\n\nexport function initNodeViews(view: EditorView) {\n  // @ts-ignore\n  const tableNodeViewProto = Object.getPrototypeOf(view.nodeViews.table());\n\n  tableNodeViewProto.update = TableView.prototype.update;\n  tableNodeViewProto.ignoreMutation = TableView.prototype.ignoreMutation;\n  tableNodeViewProto.constructor = TableView;\n}\n"
  },
  {
    "path": "src/extras/editor/plugins.ts",
    "content": "import { initLinkPreviewPlugin, LinkPreviewOptions } from \"./linkPreview\";\nimport { initMagicKeyPlugin, MagicKeyOptions } from \"./magicKey\";\nimport { initMarkdownPastePlugin, MarkdownPasteOptions } from \"./markdownPaste\";\n// Use custom column resizing plugin, since the original one breaks\nimport { columnResizing } from \"./columnResizing\";\nimport { initNodeViews } from \"./nodeViews\";\n\nexport { initPlugins };\n\ndeclare const _currentEditorInstance: {\n  _editorCore: EditorCore;\n};\n\nfunction initPlugins(options: {\n  linkPreview: LinkPreviewOptions;\n  magicKey: MagicKeyOptions;\n  markdownPaste: MarkdownPasteOptions;\n}) {\n  const core = _currentEditorInstance._editorCore;\n  let plugins = core.view.state.plugins;\n  if (options.linkPreview.previewType !== \"disable\")\n    plugins = initLinkPreviewPlugin(plugins, options.linkPreview);\n  if (options.markdownPaste.enable) plugins = initMarkdownPastePlugin(plugins);\n  plugins = initMagicKeyPlugin(plugins, options.magicKey);\n  // Collect all plugins and reconfigure the state only once\n  const newState = core.view.state.reconfigure({\n    plugins: [\n      ...plugins,\n      columnResizing({\n        cellMinWidth: 80,\n        handleWidth: 5,\n      }),\n    ],\n  });\n\n  initNodeViews(core.view);\n\n  core.view.updateState(newState);\n}\n"
  },
  {
    "path": "src/extras/editor/popup.ts",
    "content": "export { Popup };\n\nclass Popup {\n  _popup: HTMLDivElement;\n\n  hasHover = false;\n\n  className: string;\n\n  get container() {\n    return this._popup;\n  }\n\n  get popup() {\n    return this._popup.querySelector(\".popup\") as HTMLDivElement;\n  }\n\n  constructor(\n    doc: Document,\n    className?: string,\n    children: (HTMLElement | DocumentFragment)[] = [],\n  ) {\n    this.className = className || \"\";\n    this._popup = doc.createElement(\"div\");\n    this._popup.className = `popup-container ${className}`;\n    this._popup.innerHTML = `\n        <div class=\"popup popup-top\">\n        </div>\n    `;\n    this.popup.append(...children);\n    doc.querySelector(\".relative-container\")?.appendChild(this._popup);\n\n    this._popup.addEventListener(\"mouseenter\", () => {\n      this.hasHover = true;\n    });\n\n    this._popup.addEventListener(\"mouseleave\", () => {\n      this.hasHover = false;\n    });\n  }\n\n  layoutPopup(pluginState: any) {\n    const rect = pluginState.rect || pluginState.node?.getBoundingClientRect();\n    if (!rect) return;\n\n    const padding = 10;\n\n    const editor = document.querySelector(\".editor-core\") as HTMLElement;\n\n    const popupParent = this.container.parentElement!;\n\n    const parentScrollTop = popupParent.scrollTop;\n    const parentTop = popupParent.getBoundingClientRect().top;\n    const popupHeight = this.popup.offsetHeight;\n    const maxWidth = this.container.offsetWidth;\n    const topSpace = rect.top - popupHeight - padding;\n\n    let top;\n\n    if (topSpace < 0) {\n      // Bottom\n      const otherPopupHeight = Array.from(\n        popupParent.querySelectorAll(\n          `.popup-container:not(.${this.className}) > .popup.popup-bottom`,\n        ),\n      ).reduce((acc, el) => acc + (el as HTMLElement).offsetHeight, 0);\n      top =\n        parentScrollTop +\n        (rect.bottom - parentTop) +\n        otherPopupHeight +\n        padding;\n      this.popup.classList.remove(\"popup-top\");\n      this.popup.classList.add(\"popup-bottom\");\n    } else {\n      // Top\n      const otherPopupHeight = Array.from(\n        popupParent.querySelectorAll(\n          `.popup-container:not(.${this.className}) > .popup.popup-top`,\n        ),\n      ).reduce((acc, el) => acc + (el as HTMLElement).offsetHeight, 0);\n      top =\n        parentScrollTop +\n        (rect.top - parentTop) -\n        popupHeight -\n        otherPopupHeight -\n        padding;\n      this.popup.classList.remove(\"popup-bottom\");\n      this.popup.classList.add(\"popup-top\");\n    }\n\n    const width = this.popup.offsetWidth;\n    let left = rect.left + (rect.right - rect.left) / 2 - width / 2 + 1;\n\n    if (left + width >= maxWidth) {\n      left = maxWidth - width;\n    }\n\n    if (left < 2) {\n      left = 2;\n    }\n\n    this.popup.style.top = Math.round(top) + \"px\";\n    this.popup.style.left = Math.round(left) + \"px\";\n\n    // Make sure the popup height is not larger than the editor height\n    // if (editor) {\n    //   const editorRect = editor.getBoundingClientRect();\n    //   const popupRect = this.popup.getBoundingClientRect();\n    //   if (popupRect.bottom > editorRect.bottom + padding) {\n    //     this.popup.style.maxHeight =\n    //       editorRect.bottom - popupRect.top - padding + \"px\";\n    //   } else {\n    //     this.popup.style.maxHeight = \"\";\n    //   }\n    // }\n\n    return this;\n  }\n\n  remove() {\n    this._popup.remove();\n  }\n}\n"
  },
  {
    "path": "src/extras/editorScript.ts",
    "content": "// The prosemirror imports are only for type hint\nimport {\n  Node,\n  NodeType,\n  Mark,\n  MarkType,\n  ResolvedPos,\n  Attrs,\n  DOMParser,\n  Schema,\n} from \"prosemirror-model\";\nimport { EditorState, TextSelection } from \"prosemirror-state\";\nimport { EditorView } from \"prosemirror-view\";\nimport { initPlugins } from \"./editor/plugins\";\n\ndeclare const _currentEditorInstance: {\n  _editorCore: EditorCore;\n};\n\nfunction fromHTML(schema: Schema, html: string, slice?: boolean) {\n  const domNode = document.createElement(\"div\");\n  domNode.innerHTML = html;\n  const fragment = document.createDocumentFragment();\n  while (domNode.firstChild) {\n    fragment.appendChild(domNode.firstChild);\n  }\n  if (slice) {\n    return DOMParser.fromSchema(schema).parseSlice(fragment);\n  } else {\n    return DOMParser.fromSchema(schema).parse(fragment);\n  }\n}\n\nfunction getSliceFromHTML(state: EditorState, html: string) {\n  return fromHTML(state.schema, html, true);\n}\n\nfunction getNodeFromHTML(state: EditorState, html: string) {\n  return fromHTML(state.schema, html);\n}\n\nfunction setSelection(anchor: number, head?: number | undefined) {\n  return (state: EditorState, dispatch?: EditorView[\"dispatch\"]) => {\n    const { tr, selection } = state;\n    const _TextSelection =\n      selection.constructor as unknown as typeof TextSelection;\n    tr.setSelection(_TextSelection.create(tr.doc, anchor, head));\n    dispatch && dispatch(tr);\n  };\n}\n\n// Code from https://github.com/ueberdosis/tiptap/tree/main/packages/core/src/helpers\n\nfunction objectIncludes(object1: any, object2: any) {\n  const keys = Object.keys(object2);\n\n  if (!keys.length) {\n    return true;\n  }\n\n  return !!keys.filter((key) => object2[key] === object1[key]).length;\n}\n\nfunction findMarkInSet(\n  marks: readonly Mark[],\n  type: MarkType,\n  attributes = {},\n) {\n  return marks.find((item) => {\n    return item.type === type && objectIncludes(item.attrs, attributes);\n  });\n}\n\nfunction isMarkInSet(marks: readonly Mark[], type: MarkType, attributes = {}) {\n  return !!findMarkInSet(marks, type, attributes);\n}\n\nfunction getMarkRange($pos: ResolvedPos, type: MarkType, attributes = {}) {\n  if (!$pos || !type) {\n    return;\n  }\n\n  const start = $pos.parent.childAfter($pos.parentOffset);\n\n  if (!start.node) {\n    return;\n  }\n\n  const mark = findMarkInSet(start.node.marks, type, attributes);\n\n  if (!mark) {\n    return;\n  }\n\n  let startIndex = $pos.index();\n  let startPos = $pos.start() + start.offset;\n  let endIndex = startIndex + 1;\n  let endPos = startPos + start.node.nodeSize;\n\n  findMarkInSet(start.node.marks, type, attributes);\n\n  while (\n    startIndex > 0 &&\n    mark.isInSet($pos.parent.child(startIndex - 1).marks)\n  ) {\n    startIndex -= 1;\n    startPos -= $pos.parent.child(startIndex).nodeSize;\n  }\n\n  while (\n    endIndex < $pos.parent.childCount &&\n    isMarkInSet($pos.parent.child(endIndex).marks, type, attributes)\n  ) {\n    endPos += $pos.parent.child(endIndex).nodeSize;\n    endIndex += 1;\n  }\n\n  return {\n    from: startPos,\n    to: endPos,\n  };\n}\n\nfunction getMarkRangeAtCursor(state: EditorState, type: MarkType) {\n  const { selection } = state;\n  const { $from } = selection;\n\n  const start = $from.parent.childAfter($from.parentOffset);\n  if (start.node) {\n    const mark = start.node.marks.find((mark) => mark.type.name === type.name);\n    if (mark) {\n      return getMarkRange($from, type, mark.attrs);\n    }\n  }\n\n  return null;\n}\n\nfunction deleteRange(from: number, to: number) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr } = state;\n    console.log(\"Delete Node\", from, to);\n    tr.delete(from, to);\n    dispatch(tr);\n  };\n}\n\nfunction deleteRangeAtCursor(searchType: MarkType) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const range = getMarkRangeAtCursor(state, searchType);\n    if (range) {\n      const from = range.from;\n      const to = range.to;\n      return deleteRange(from, to)(state, dispatch);\n    }\n  };\n}\n\nfunction replaceRange(\n  from: number,\n  to: number,\n  text: string | undefined,\n  type: MarkType,\n  attrs: Attrs | string,\n) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr } = state;\n    if (typeof attrs === \"string\") {\n      attrs = JSON.parse(attrs) as Attrs;\n    }\n\n    const node = state.schema.text(text || state.doc.textBetween(from, to), [\n      type.create(attrs),\n    ]);\n    console.log(\"Replace Node\", from, to, node);\n    tr.replaceWith(from, to, node);\n    dispatch(tr);\n  };\n}\n\nfunction replaceRangeNode(\n  from: number,\n  to: number,\n  text: string | undefined,\n  nodeType: NodeType,\n  nodeAttrs: Attrs | string,\n  markType?: MarkType,\n  markAttrs?: Attrs | string,\n  select?: boolean,\n) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr } = state;\n    if (typeof nodeAttrs === \"string\") {\n      nodeAttrs = JSON.parse(nodeAttrs) as Attrs;\n    }\n    if (typeof markAttrs === \"string\") {\n      markAttrs = JSON.parse(markAttrs) as Attrs;\n    }\n\n    const node = nodeType.create(\n      nodeAttrs,\n      state.schema.text(text || state.doc.textBetween(from, to)),\n      markType ? [markType.create(markAttrs)] : [],\n    );\n    console.log(\"Replace Node\", from, to, node);\n    tr.replaceWith(from, to, node);\n    if (select) {\n      setSelection(from + node.nodeSize, from)(state);\n    }\n    dispatch(tr);\n  };\n}\n\nfunction replaceRangeAtCursor(\n  text: string | undefined,\n  type: MarkType,\n  attrs: Attrs | string,\n  searchType: MarkType,\n) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const range = getMarkRangeAtCursor(state, searchType);\n    if (range) {\n      const from = range.from;\n      const to = range.to;\n      return replaceRange(from, to, text, type, attrs)(state, dispatch);\n    }\n  };\n}\n\nfunction moveRange(from: number, to: number, delta: number) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr, selection } = state;\n    const _TextSelection =\n      selection.constructor as unknown as typeof TextSelection;\n    const slice = state.doc.slice(from, to);\n    console.log(\"Move Node\", from, to, delta, slice);\n    tr.delete(from, to);\n    tr.insert(from + delta, slice.content);\n    tr.setSelection(_TextSelection.create(tr.doc, from + delta));\n    tr.scrollIntoView();\n    dispatch(tr);\n  };\n}\n\nfunction updateMarkRangeAtCursor(type: MarkType, attrs: Attrs) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr, selection, doc } = state;\n    let { from, to } = selection;\n    const { $from, empty } = selection;\n\n    if (empty) {\n      const range = getMarkRangeAtCursor(state, type);\n      if (range) {\n        from = range.from;\n        to = range.to;\n      }\n    }\n\n    const hasMark = doc.rangeHasMark(from, to, type);\n\n    if (hasMark) {\n      tr.removeMark(from, to, type);\n    }\n\n    tr.addStoredMark(type.create(attrs));\n\n    if (to > from) {\n      tr.addMark(from, to, type.create(attrs));\n    }\n\n    dispatch(tr);\n  };\n}\n\nfunction removeMarkRangeAtCursor(type: MarkType) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    const { tr, selection } = state;\n    let { from, to } = selection;\n    const { $from, empty } = selection;\n\n    if (empty) {\n      const range = getMarkRangeAtCursor(state, type);\n      if (range) {\n        from = range.from;\n        to = range.to;\n      }\n    }\n\n    tr.ensureMarks([]);\n    if (to > from) {\n      tr.removeMark(from, to, type);\n    }\n    dispatch(tr);\n  };\n}\n\nfunction getHeadingLevelInRange(from: number, to: number) {\n  return (state: EditorState) => {\n    let level = -1;\n    state.doc.nodesBetween(from, to, (node, pos) => {\n      if (node.type.name === \"heading\") {\n        level = node.attrs.level;\n      }\n    });\n    return level;\n  };\n}\n\nfunction updateHeadingsInRange(from: number, to: number, levelOffset: number) {\n  return (state: EditorState, dispatch: EditorView[\"dispatch\"]) => {\n    let { tr } = state;\n    state.doc.nodesBetween(from, to, (node, pos) => {\n      if (node.type.name === \"heading\") {\n        tr = tr.setNodeMarkup(pos, state.schema.nodes.heading, {\n          level: node.attrs.level + levelOffset,\n        });\n      }\n    });\n    dispatch(tr);\n  };\n}\n\nfunction refocusEditor(callback: (args: void) => void) {\n  const scrollTop = document.querySelector(\".editor-core\")!.scrollTop;\n  const input = document.createElement(\"input\");\n  input.style.position = \"absolute\";\n  input.style.opacity = \"0\";\n  document.body.append(input);\n  input.focus();\n  input.offsetTop;\n  setTimeout(() => {\n    (document.querySelector(\".primary-editor\") as any).focus();\n    input.remove();\n    document.querySelector(\".editor-core\")!.scrollTop = scrollTop;\n    setTimeout(callback, 0);\n  }, 0);\n}\n\nfunction updateImageDimensions(\n  nodeID: string,\n  width: number,\n  height: number | undefined,\n  state: EditorState,\n  dispatch: EditorView[\"dispatch\"],\n) {\n  const { tr } = state;\n  state.doc.descendants((node: Node, pos: number) => {\n    if (node.type.name === \"image\" && node.attrs.nodeID === nodeID) {\n      // tr.step(new SetAttrsStep(pos, { ...node.attrs, width, height }));\n      // tr.setMeta(\"addToHistory\", false);\n      // tr.setMeta(\"system\", true);\n      tr.setNodeMarkup(\n        pos,\n        node.type,\n        { ...node.attrs, width, height },\n        node.marks,\n      );\n      dispatch(tr);\n      return false;\n    }\n  });\n}\n\nfunction updateTableSize(pinLeft?: boolean, pinTop?: boolean) {\n  const view = _currentEditorInstance._editorCore.view;\n  console.log(\"Update table size\");\n  // Get document height and store in CSS variable\n  const height = view.dom.parentElement?.clientHeight;\n  document.body.style.setProperty(\"--editor-max-height\", `${height}px`);\n  if (typeof pinLeft === \"boolean\") {\n    document.body.classList.toggle(\"pin-table-left\", pinLeft);\n  }\n  if (typeof pinTop === \"boolean\") {\n    document.body.classList.toggle(\"pin-table-top\", pinTop);\n  }\n}\n\nwindow.addEventListener(\"resize\", () => updateTableSize());\n\nexport const BetterNotesEditorAPI = {\n  deleteRange,\n  deleteRangeAtCursor,\n  replaceRange,\n  replaceRangeNode,\n  replaceRangeAtCursor,\n  moveRange,\n  updateMarkRangeAtCursor,\n  removeMarkRangeAtCursor,\n  refocusEditor,\n  updateImageDimensions,\n  getHeadingLevelInRange,\n  updateHeadingsInRange,\n  getSliceFromHTML,\n  getNodeFromHTML,\n  setSelection,\n  initPlugins,\n  updateTableSize,\n};\n\n// @ts-ignore\nwindow.BetterNotesEditorAPI = BetterNotesEditorAPI;\n"
  },
  {
    "path": "src/extras/exportNotes.ts",
    "content": "import { getPref, setPref } from \"../utils/prefs\";\n\nlet io: {\n  targetData: {\n    left: number;\n    title: string;\n  };\n  accepted: boolean;\n  useBuiltInExport: boolean;\n  deferred: _ZoteroTypes.Promise.DeferredPromise<void>;\n  embedLink: boolean;\n  standaloneLink: boolean;\n  exportNote: boolean;\n  exportMD: boolean;\n  setAutoSync: boolean;\n  autoMDFileName: boolean;\n  withYAMLHeader: boolean;\n  exportDocx: boolean;\n  exportPDF: boolean;\n  exportFreeMind: boolean;\n  exportLatex: boolean;\n  mergeLatex: boolean;\n};\n\nwindow.onload = async function () {\n  if (document.readyState === \"complete\") {\n    setTimeout(init, 0);\n    return;\n  }\n  document.addEventListener(\"DOMContentLoaded\", init, { once: true });\n};\n\nwindow.onunload = function () {\n  io.deferred && io.deferred.resolve();\n};\n\nfunction init() {\n  const dialog = document.querySelector(\"dialog\")!;\n  Zotero.UIProperties.registerRoot(dialog);\n\n  io = window.arguments[0];\n\n  window.addEventListener(\"dialogaccept\", doAccept);\n  window.addEventListener(\"dialogextra1\", () => doUseBuiltInExport());\n\n  document\n    .querySelector(\"#format\")!\n    .addEventListener(\"command\", onFormatChange);\n\n  document\n    .querySelector(\"#linkMode\")!\n    .addEventListener(\"command\", updateMarkdownOptions);\n\n  document\n    .querySelector(\"#markdown-autoSync\")!\n    .addEventListener(\"command\", updateMarkdownOptions);\n\n  document\n    .querySelector(\"#useDefaultExport\")!\n    .addEventListener(\"command\", () => {\n      doUseBuiltInExport();\n    });\n\n  (document.querySelector(\"#target\") as XULElement).dataset.l10nArgs =\n    JSON.stringify(io.targetData);\n\n  restore();\n\n  onFormatChange();\n  updateMarkdownOptions();\n}\n\nfunction restore() {\n  let format = getPref(\"export.format\") as string;\n  if (\n    ![\"markdown\", \"msword\", \"pdf\", \"freemind\", \"note\", \"latex\"].includes(format)\n  ) {\n    format = \"markdown\";\n  }\n  (document.querySelector(\"#format\") as XULMenuListElement).value = format;\n\n  let linkMode = getPref(\"export.linkMode\") as string;\n  if (![\"keep\", \"embed\", \"standalone\", \"remove\"].includes(linkMode)) {\n    linkMode = \"keep\";\n  }\n  (document.querySelector(\"#linkMode\") as XULRadioGroupElement).value =\n    linkMode;\n\n  const markdownPrefs = [\"autoSync\", \"withYAMLHeader\", \"autoFilename\"];\n  for (const pref of markdownPrefs) {\n    (\n      document.querySelector(`#markdown-${pref}`) as XULCheckboxElement\n    ).checked = getPref(`export.markdown-${pref}`) as boolean;\n  }\n}\n\nfunction cache() {\n  setPref(\n    \"export.format\",\n    (document.querySelector(\"#format\") as XULMenuListElement).value,\n  );\n  setPref(\n    \"export.linkMode\",\n    (document.querySelector(\"#linkMode\") as XULRadioGroupElement).value,\n  );\n\n  const markdownPrefs = [\"autoSync\", \"withYAMLHeader\", \"autoFilename\"];\n  for (const pref of markdownPrefs) {\n    setPref(\n      `export.markdown-${pref}`,\n      (document.querySelector(`#markdown-${pref}`) as XULCheckboxElement)\n        .checked,\n    );\n  }\n}\n\nfunction onFormatChange() {\n  const format = (document.querySelector(\"#format\") as XULMenuListElement)\n    .value;\n  const isMD = format === \"markdown\";\n  const isLaTeX = format === \"latex\";\n\n  const noteItems = Zotero.getMainWindow().ZoteroPane.getSelectedItems();\n\n  (document.querySelector(\"#markdown-options\") as XULBoxElement).hidden = !isMD;\n  (document.querySelector(\"#latex-options\") as XULBoxElement).hidden =\n    !isLaTeX || noteItems.length == 1;\n\n  window.sizeToContent();\n}\n\nfunction updateMarkdownOptions() {\n  const linkModeRadio = document.querySelector(\n    \"#linkMode\",\n  ) as XULRadioGroupElement;\n  const autoSyncRadio = document.querySelector(\n    \"#markdown-autoSync\",\n  ) as XULCheckboxElement;\n\n  if (linkModeRadio.value !== \"standalone\") {\n    autoSyncRadio.checked = false;\n    autoSyncRadio.disabled = true;\n  } else {\n    autoSyncRadio.disabled = false;\n  }\n\n  const autoFilename = document.querySelector(\n    \"#markdown-autoFilename\",\n  ) as XULCheckboxElement;\n  const withYAMLHeader = document.querySelector(\n    \"#markdown-withYAMLHeader\",\n  ) as XULCheckboxElement;\n\n  if (autoSyncRadio.checked) {\n    autoFilename.checked = true;\n    autoFilename.disabled = true;\n    withYAMLHeader.checked = true;\n    withYAMLHeader.disabled = true;\n  } else {\n    autoFilename.disabled = false;\n    withYAMLHeader.disabled = false;\n  }\n}\n\nfunction doAccept() {\n  cache();\n\n  // Format\n  const format = (document.querySelector(\"#format\") as XULMenuListElement)\n    .value;\n  io.exportMD = format === \"markdown\";\n  io.exportDocx = format === \"msword\";\n  io.exportPDF = format === \"pdf\";\n  io.exportFreeMind = format === \"freemind\";\n  io.exportNote = format === \"note\";\n  io.exportLatex = format === \"latex\";\n\n  // Markdown options\n  io.autoMDFileName = (\n    document.querySelector(\"#markdown-autoFilename\") as XULCheckboxElement\n  ).checked;\n  io.withYAMLHeader = (\n    document.querySelector(\"#markdown-withYAMLHeader\") as XULCheckboxElement\n  ).checked;\n  io.setAutoSync = (\n    document.querySelector(\"#markdown-autoSync\") as XULCheckboxElement\n  ).checked;\n\n  // LaTeX options\n  io.mergeLatex = (\n    document.querySelector(\"#latex-merge\") as XULCheckboxElement\n  ).checked;\n\n  // Link mode\n  const linkMode = (document.querySelector(\"#linkMode\") as XULRadioGroupElement)\n    .value;\n  io.embedLink = linkMode === \"embed\";\n  io.standaloneLink = linkMode === \"standalone\";\n\n  io.accepted = true;\n}\n\nfunction doUseBuiltInExport() {\n  io.useBuiltInExport = true;\n  window.close();\n}\n"
  },
  {
    "path": "src/extras/linkCreator.ts",
    "content": "import { getPref, setPref } from \"../utils/prefs\";\nimport { InboundCreator } from \"../elements/linkCreator/inboundCreator\";\nimport { OutboundCreator } from \"../elements/linkCreator/outboundCreator\";\n\nlet tabbox: XULTabBoxElement;\nlet inboundCreator: InboundCreator;\nlet outboundCreator: OutboundCreator;\n\nlet io: {\n  currentNoteID: number;\n  currentLineIndex?: number;\n  openedNoteIDs?: number[];\n  deferred: _ZoteroTypes.Promise.DeferredPromise<void>;\n\n  targetNoteID?: number;\n  content?: string;\n  lineIndex?: number;\n  mode?: \"inbound\" | \"outbound\";\n};\n\nwindow.onload = async function () {\n  if (document.readyState === \"complete\") {\n    setTimeout(init, 0);\n    return;\n  }\n  document.addEventListener(\"DOMContentLoaded\", init, { once: true });\n};\n\nwindow.onunload = function () {\n  io.deferred && io.deferred.resolve();\n  setPref(\n    \"windows.linkCreator.size\",\n    `${document.documentElement.getAttribute(\n      \"width\",\n    )},${document.documentElement.getAttribute(\"height\")}`,\n  );\n  setPref(\"windows.linkCreator.tabIndex\", tabbox.selectedIndex);\n};\n\nfunction init() {\n  // Set font size from pref\n  const sbc = document.getElementById(\"top-container\");\n  Zotero.UIProperties.registerRoot(sbc!);\n\n  setTimeout(() => {\n    const size = ((getPref(\"windows.linkCreator.size\") as string) || \"\").split(\n      \",\",\n    );\n    if (size.length === 2) {\n      window.resizeTo(Number(size[0] || \"800\"), Number(size[1] || \"600\"));\n    } else {\n      window.sizeToContent();\n    }\n  }, 0);\n\n  io = window.arguments[0];\n\n  if (!io.deferred) {\n    // @ts-ignore\n    io = io.wrappedJSObject;\n  }\n\n  tabbox = document.querySelector(\"#top-container\")!;\n\n  if (io.mode) {\n    tabbox.selectedIndex = io.mode === \"inbound\" ? 0 : 1;\n  } else {\n    tabbox.selectedIndex =\n      (getPref(\"windows.linkCreator.tabIndex\") as number) || 0;\n  }\n\n  tabbox.addEventListener(\"select\", loadSelectedPanel);\n\n  inboundCreator = document.querySelector(\n    \"bn-inbound-creator\",\n  ) as InboundCreator;\n  outboundCreator = document.querySelector(\n    \"bn-outbound-creator\",\n  ) as OutboundCreator;\n  loadSelectedPanel();\n\n  document.addEventListener(\"dialogaccept\", doAccept);\n}\n\nasync function loadSelectedPanel() {\n  const content = getSelectedContent();\n  await content.load(io);\n}\n\nasync function acceptSelectedPanel() {\n  await getSelectedContent().accept(io);\n}\n\nfunction getSelectedContent() {\n  return tabbox.selectedPanel.querySelector(\"[data-bn-type=content]\") as any;\n}\n\nasync function doAccept() {\n  await acceptSelectedPanel();\n}\n"
  },
  {
    "path": "src/extras/parsingWorker.ts",
    "content": "import { MessageHelper } from \"zotero-plugin-toolkit\";\n\nexport { handlers };\n\nfunction parseHTMLLines(html: string): string[] {\n  const randomString: string = `${Math.random()}`;\n  console.time(`parseHTMLLines-${randomString}`);\n\n  // Remove container with one of the attrs named data-schema-version if exists\n  if (html.includes(\"data-schema-version\")) {\n    html = html.replace(/<div[^>]*data-schema-version[^>]*>/, \"\");\n    html = html.replace(/<\\/div>/, \"\");\n  }\n  const noteLines = html.split(\"\\n\").filter((e) => e);\n\n  // A cache for temporarily stored lines\n  let previousLineCache = [];\n  let nextLineCache = [];\n\n  const forceInline = [\"table\", \"blockquote\", \"pre\", \"ol\", \"ul\"];\n  const selfInline: string[] = [];\n  const forceInlineStack = [];\n  let forceInlineFlag = false;\n  let selfInlineFlag = false;\n\n  const parsedLines = [];\n  for (const line of noteLines) {\n    // restore self inline flag\n    selfInlineFlag = false;\n\n    // For force inline tags, set flag to append lines to current line\n    for (const tag of forceInline) {\n      const startReg = `<${tag}`;\n      const isStart = line.includes(startReg);\n      const endReg = `</${tag}>`;\n      const isEnd = line.includes(endReg);\n      if (isStart && !isEnd) {\n        forceInlineStack.push(tag);\n        // console.log(\"push\", tag, line, forceInlineStack);\n        forceInlineFlag = true;\n        break;\n      }\n      if (isEnd && !isStart) {\n        forceInlineStack.pop();\n        // console.log(\"pop\", tag, line, forceInlineStack);\n        // Exit force inline mode if the stack is empty\n        if (forceInlineStack.length === 0) {\n          forceInlineFlag = false;\n        }\n        break;\n      }\n    }\n\n    if (forceInlineFlag) {\n      nextLineCache.push(line);\n    } else {\n      // For self inline tags, cache start as previous line and end as next line\n      for (const tag of selfInline) {\n        const isStart = line.includes(`<${tag}`);\n        const isEnd = line.includes(`</${tag}>`);\n        if (isStart && !isEnd) {\n          selfInlineFlag = true;\n          nextLineCache.push(line);\n          break;\n        }\n        if (!isStart && isEnd) {\n          selfInlineFlag = true;\n          previousLineCache.push(line);\n          break;\n        }\n      }\n\n      if (!selfInlineFlag) {\n        // Append cache to previous line\n        if (previousLineCache.length) {\n          parsedLines[parsedLines.length - 1] += `\\n${previousLineCache.join(\n            \"\\n\",\n          )}`;\n          previousLineCache = [];\n        }\n        let nextLine = \"\";\n        // Append cache to next line\n        if (nextLineCache.length) {\n          nextLine = nextLineCache.join(\"\\n\");\n          nextLineCache = [];\n        }\n        if (nextLine) {\n          nextLine += \"\\n\";\n        }\n        nextLine += `${line}`;\n        parsedLines.push(nextLine);\n      }\n    }\n  }\n  console.timeEnd(`parseHTMLLines-${randomString}`);\n\n  return parsedLines;\n}\n\nconst handlers = {\n  parseHTMLLines,\n};\n\nconst messageServer = new MessageHelper({\n  canBeDestroyed: true,\n  dev: true,\n  name: \"parsingWorker\",\n  target: self,\n  handlers,\n});\n\nmessageServer.start();\n"
  },
  {
    "path": "src/extras/relationWorker.ts",
    "content": "import Dexie from \"dexie\";\nimport { MessageHelper } from \"zotero-plugin-toolkit\";\n\nexport { handlers };\n\nconst db = new Dexie(\"BN_Two_Way_Relation\") as Dexie & {\n  link: Dexie.Table<LinkModel>;\n  annotation: Dexie.Table<AnnotationModel>;\n};\n\ndb.version(2).stores({\n  link: \"++id, fromLibID, fromKey, toLibID, toKey, fromLine, toLine, toSection, url\",\n  annotation: \"++id, fromLibID, fromKey, toLibID, toKey, url\",\n});\n\nlog(\"Using Dexie v\" + Dexie.semVer, db);\n\nconst handlers = {\n  addLink,\n  bulkAddLink,\n  rebuildLinkForNote,\n  getOutboundLinks,\n  getInboundLinks,\n  linkAnnotationToTarget,\n  getLinkTargetByAnnotation,\n  getAnnotationByLinkTarget,\n};\n\nconst messageServer = new MessageHelper({\n  canBeDestroyed: true,\n  dev: true,\n  name: \"parsingWorker\",\n  target: self,\n  handlers,\n});\n\nmessageServer.start();\n\nasync function addLink(model: LinkModel) {\n  await db.link.add(model);\n  log(\"addLink\", model);\n}\n\nasync function bulkAddLink(models: LinkModel[]) {\n  await db.link.bulkAdd(models);\n  log(\"bulkAddLink\", models);\n}\n\nasync function rebuildLinkForNote(\n  fromLibID: number,\n  fromKey: string,\n  links: LinkModel[],\n) {\n  log(\"rebuildLinkForNote\", fromLibID, fromKey, links);\n\n  return db.transaction(\"rw\", db.link, async () => {\n    const collection = db.link.where({ fromLibID, fromKey });\n    const oldOutboundLinks = await collection.toArray();\n    await collection.delete().then((deleteCount) => {\n      log(\"Deleted \" + deleteCount + \" objects\");\n      return bulkAddLink(links);\n    });\n    return {\n      oldOutboundLinks,\n    };\n  });\n}\n\nasync function getOutboundLinks(fromLibID: number, fromKey: string) {\n  log(\"getOutboundLinks\", fromLibID, fromKey);\n  return db.link.where({ fromLibID, fromKey }).toArray();\n}\n\nasync function getInboundLinks(toLibID: number, toKey: string) {\n  log(\"getInboundLinks\", toLibID, toKey);\n  return db.link.where({ toLibID, toKey }).toArray();\n}\n\nasync function linkAnnotationToTarget(model: AnnotationModel) {\n  log(\"linkAnnotationToTarget\", model);\n  const collection = db.annotation.where({\n    fromLibID: model.fromLibID,\n    fromKey: model.fromKey,\n  });\n  await collection.delete().then(() => {\n    return db.annotation.add(model);\n  });\n}\n\nasync function getLinkTargetByAnnotation(fromLibID: number, fromKey: string) {\n  log(\"getLinkTargetByAnnotation\", fromLibID, fromKey);\n  return db.annotation.get({ fromLibID, fromKey });\n}\n\nasync function getAnnotationByLinkTarget(toLibID: number, toKey: string) {\n  log(\"getAnnotationByLinkTarget\", toLibID, toKey);\n  return db.annotation.get({ toLibID, toKey });\n}\n\nfunction log(...args: any[]) {\n  if (__env__ === \"development\") console.log(\"[relationWorker]\", ...args);\n}\n\ninterface LinkModel {\n  fromLibID: number;\n  fromKey: string;\n  toLibID: number;\n  toKey: string;\n  fromLine: number;\n  toLine: number | null;\n  toSection: string | null;\n  url: string;\n}\n\ninterface AnnotationModel {\n  fromLibID: number;\n  fromKey: string;\n  toLibID: number;\n  toKey: string;\n  url: string;\n}\n"
  },
  {
    "path": "src/extras/syncDiff.ts",
    "content": "import { Change } from \"diff\";\nimport { VirtualizedTableHelper, wait } from \"zotero-plugin-toolkit\";\n\nconst _require = window.require;\nconst { getCSSItemTypeIcon } = _require(\"components/icons\");\n\nwindow.goBuildEditContextMenu = () => {};\n\ntype DiffData = Change & {\n  id: number;\n  text: string;\n};\n\nconst io: {\n  defer: _ZoteroTypes.Promise.DeferredPromise<void>;\n  result: string;\n  type: \"skip\" | \"finish\" | \"unsync\";\n  imageData: Record<string, string>;\n  diffData: DiffData[];\n  syncInfo: {\n    noteName: string;\n    noteModify: string;\n    mdName: string;\n    mdModify: string;\n    syncTime: string;\n  };\n} = window.arguments[0].wrappedJSObject;\nconst checkedIDs: Set<number> = new Set();\nconst changedDiffData: DiffData[] = io.diffData.filter(\n  (diff) => diff.added || diff.removed,\n);\n\nfunction initSyncInfo() {\n  console.log(io.syncInfo);\n  const diffDesc = document.querySelector(\"#diff-desc\") as HTMLSpanElement;\n  diffDesc.dataset.l10nArgs = JSON.stringify({\n    title: `Last sync time: ${io.syncInfo.syncTime}`,\n  });\n\n  const diffNoteBtn = document.querySelector(\n    \"#diff-note-btn\",\n  ) as HTMLButtonElement;\n  const diffNoteBtnImg = getCSSItemTypeIcon(\"note\");\n  diffNoteBtnImg.classList.add(\"diff-btn-img\");\n  diffNoteBtn\n    .querySelector(\".diff-btn-inner\")\n    ?.replaceChild(diffNoteBtnImg, diffNoteBtn.querySelector(\".diff-btn-img\")!);\n  diffNoteBtn.querySelector(\".diff-btn-inner-text\")!.textContent =\n    io.syncInfo.noteName;\n  diffNoteBtn.dataset.l10nArgs = JSON.stringify({\n    title: io.syncInfo.noteModify,\n  });\n  diffNoteBtn.addEventListener(\"click\", (e) => {\n    toggleAll(false);\n  });\n\n  const diffMdBtn = document.querySelector(\"#diff-md-btn\") as HTMLButtonElement;\n  diffMdBtn.querySelector(\".diff-btn-inner-text\")!.textContent =\n    io.syncInfo.mdName;\n  diffMdBtn.dataset.l10nArgs = JSON.stringify({\n    title: io.syncInfo.mdModify,\n  });\n  diffMdBtn.addEventListener(\"click\", (e) => {\n    toggleAll(true);\n  });\n\n  const diffBothBtn = document.querySelector(\n    \"#diff-both-btn\",\n  ) as HTMLButtonElement;\n  diffBothBtn.addEventListener(\"click\", (e) => {\n    checkedIDs.clear();\n    for (const diff of changedDiffData) {\n      if (diff.added) {\n        checkedIDs.add(diff.id);\n      }\n    }\n    updateDiffRender();\n    vtableHelper.render();\n  });\n\n  (document.querySelector(\"#added-count\") as HTMLDivElement).textContent =\n    \"+\" + io.diffData.filter((diff) => diff.added).length.toString();\n  (document.querySelector(\"#removed-count\") as HTMLDivElement).textContent =\n    \"-\" + io.diffData.filter((diff) => diff.removed).length.toString();\n}\n\nlet vtableHelper: VirtualizedTableHelper;\n\nfunction initList() {\n  document.querySelector(\"#select-all\")?.addEventListener(\"change\", (e) => {\n    toggleAll((e.target as HTMLInputElement).checked);\n  });\n\n  vtableHelper = new VirtualizedTableHelper(window)\n    .setContainerId(\"table-container\")\n    .setProp({\n      id: \"bn-sync-diff\",\n      columns: [\n        {\n          dataKey: \"value\",\n          label: \"Changes\",\n          fixedWidth: false,\n        },\n      ],\n      showHeader: false,\n      multiSelect: false,\n      staticColumns: true,\n      disableFontSizeScaling: true,\n    })\n    .setProp(\"getRowCount\", () => changedDiffData.length)\n    .setProp(\"getRowData\", (index) => {\n      const diff = changedDiffData[index];\n      return {\n        value: diff?.value || \"\",\n      };\n    })\n    .setProp(\"onKeyDown\", (e) => {\n      if (e.key === \"Enter\") {\n        const index = vtableHelper.treeInstance.selection.focused;\n        toggleRow(changedDiffData[index].id);\n        return false;\n      }\n      return true;\n    })\n    .setProp(\"onActivate\", (e) => {\n      const index = vtableHelper.treeInstance.selection.focused;\n      toggleRow(changedDiffData[index].id);\n      return false;\n    })\n    .setProp(\"renderItem\", (index, selection, oldElem, columns) => {\n      const diff = changedDiffData[index];\n      if (!diff) {\n        return document.createElement(\"div\");\n      }\n      let div: HTMLDivElement;\n      if (oldElem) {\n        div = oldElem as HTMLDivElement;\n        div.innerHTML = \"\";\n      } else {\n        div = document.createElement(\"div\");\n        div.className = \"row\";\n      }\n\n      div.classList.toggle(\"selected\", selection.isSelected(index));\n      div.classList.toggle(\"focused\", selection.focused == index);\n      div.classList.toggle(\"diff-added\", !!diff.added);\n      div.classList.toggle(\"diff-removed\", !!diff.removed);\n\n      // Only one column\n      const column = columns[0];\n      const cell = document.createElement(\"div\");\n      // @ts-ignore\n      cell.className = `cell ${column.className}`;\n\n      // Append a checkbox before the text\n      const checkbox = document.createElement(\"input\");\n      checkbox.type = \"checkbox\";\n      checkbox.checked = checkedIDs.has(diff.id);\n      checkbox.addEventListener(\"change\", (e) => {\n        if (checkbox.checked) {\n          checkedIDs.add(diff.id);\n        } else {\n          checkedIDs.delete(diff.id);\n        }\n        updateDiffRender();\n      });\n      cell.appendChild(checkbox);\n\n      const span = document.createElement(\"span\");\n      span.textContent = diff.value;\n      cell.appendChild(span);\n\n      div.appendChild(cell);\n      return div;\n    })\n    .render();\n}\n\nfunction toggleRow(index: number) {\n  if (checkedIDs.has(index)) {\n    checkedIDs.delete(index);\n  } else {\n    checkedIDs.add(index);\n  }\n  updateDiffRender();\n  vtableHelper.render();\n}\n\nfunction toggleAll(force?: boolean) {\n  if (force === undefined) {\n    force = checkedIDs.size < changedDiffData.length;\n  }\n  if (force) {\n    for (const diff of changedDiffData) {\n      checkedIDs.add(diff.id);\n    }\n  } else {\n    checkedIDs.clear();\n  }\n  updateDiffRender();\n  vtableHelper.render();\n}\n\nfunction initDiffViewer() {\n  const diffViewer = document.querySelector(\".diff-viewport\");\n  if (!diffViewer) {\n    return;\n  }\n  diffViewer.innerHTML = \"\";\n  const frag = document.createDocumentFragment();\n  io.diffData.forEach((diff) => {\n    const span = document.createElement(\"span\");\n    span.className = diff.added ? \"added\" : diff.removed ? \"removed\" : \"normal\";\n    span.innerText = diff.value;\n    frag.append(span);\n  });\n  diffViewer.append(frag);\n}\n\nasync function updateDiffRender() {\n  console.log(\"update render\");\n  console.log(checkedIDs);\n  const result = io.diffData\n    .filter((diff) => {\n      return (\n        (diff.added && checkedIDs.has(diff.id)) ||\n        (diff.removed && !checkedIDs.has(diff.id)) ||\n        (!diff.added && !diff.removed)\n      );\n    })\n    .map((diff) => diff.value)\n    .join(\"\");\n  const renderViewer = document.querySelector(\n    \".render-viewport\",\n  ) as EditorElement;\n  renderViewer.mode = \"merge\";\n  const item = new Zotero.Item(\"note\");\n  item.libraryID = 1;\n  item.setNote(result);\n  renderViewer.item = item;\n\n  await wait.waitUtilAsync(() => !!renderViewer._editorInstance);\n  await renderViewer._editorInstance._initPromise;\n\n  renderViewer._iframe.contentDocument\n    ?.querySelectorAll(\"img[data-attachment-key]\")\n    .forEach((e) => {\n      (e as HTMLImageElement).src =\n        io.imageData[e.getAttribute(\"data-attachment-key\") as string];\n    });\n  io.result = result;\n\n  const diffViewer = document.querySelector(\".diff-viewport\") as HTMLElement;\n\n  syncScroller(\n    diffViewer,\n    renderViewer._iframe.contentDocument!.querySelector(\".editor-core\")!,\n  );\n\n  // Update check all status\n  const selectAll = document.querySelector(\"#select-all\") as HTMLInputElement;\n  const allSelected = checkedIDs.size >= changedDiffData.length;\n  let bothKept = false;\n  if (!allSelected) {\n    // All added are selected and all removed are not selected\n    bothKept = !changedDiffData.find((diff) => {\n      return (\n        (diff.added && !checkedIDs.has(diff.id)) ||\n        (diff.removed && checkedIDs.has(diff.id))\n      );\n    });\n  }\n  selectAll.checked = allSelected;\n\n  // Update button status\n  const noteBtn = document.querySelector(\"#diff-note-btn\") as HTMLButtonElement;\n  const mdBtn = document.querySelector(\"#diff-md-btn\") as HTMLButtonElement;\n  const bothBtn = document.querySelector(\"#diff-both-btn\") as HTMLButtonElement;\n  noteBtn.classList.toggle(\"selected\", checkedIDs.size === 0);\n  mdBtn.classList.toggle(\"selected\", allSelected);\n  bothBtn.classList.toggle(\"selected\", bothKept);\n}\n\nconst syncScrollNodes: HTMLElement[] = [];\n\n// https://juejin.cn/post/6844904020281147405\nconst syncScroller = function (...nodes: HTMLElement[]) {\n  const max = nodes.length;\n  if (!max || max === 1) return;\n  syncScrollNodes.splice(0, syncScrollNodes.length, ...nodes);\n  let sign = 0;\n  nodes.forEach((ele) => {\n    if (!ele) return;\n    if (ele.dataset.scrollSync) return;\n    ele.dataset.scrollSync = \"true\";\n    ele.addEventListener(\"scroll\", function (event) {\n      const target = event.target as HTMLElement;\n      if (target !== ele) return;\n      if (!sign) {\n        sign = max - 1;\n        const top =\n          target.scrollTop / (target.scrollHeight - target.clientHeight);\n        const left =\n          target.scrollLeft / (target.scrollWidth - target.clientWidth);\n        for (const node of syncScrollNodes) {\n          if (node == target) continue;\n          node.scrollTo(\n            left * (node.scrollWidth - node.clientWidth),\n            top * (node.scrollHeight - node.clientHeight),\n          );\n        }\n      } else --sign;\n    });\n  });\n};\n\nwindow.addEventListener(\"DOMContentLoaded\", async (e) => {\n  if (e.target !== document) {\n    return;\n  }\n  initSyncInfo();\n  initList();\n  initDiffViewer();\n  await updateDiffRender();\n\n  document.querySelector(\"#finish\")?.addEventListener(\"click\", (e) => {\n    io.type = \"finish\";\n    window.close();\n  });\n  document.querySelector(\"#unsync\")?.addEventListener(\"click\", (e) => {\n    if (confirm(\"This note will not be synced any more. Continue?\")) {\n      io.type = \"unsync\";\n      window.close();\n    }\n  });\n  document.querySelector(\"#skip\")?.addEventListener(\"click\", (e) => {\n    io.type = \"skip\";\n    window.close();\n  });\n});\n\nwindow.addEventListener(\"unload\", (e) => {\n  io.defer.resolve();\n});\n"
  },
  {
    "path": "src/extras/templatePicker.ts",
    "content": "import { VirtualizedTableHelper } from \"zotero-plugin-toolkit\";\nimport { config } from \"../../package.json\";\n\ndocument.addEventListener(\"DOMContentLoaded\", (ev) => {\n  init();\n});\n\ndocument.addEventListener(\"dialogaccept\", () => accept());\n\nlet args = window.arguments[0] as any;\nif (!args._initPromise) {\n  args = args.wrappedJSObject;\n}\nconst templateData = (args.templates as string[]) || [];\ntemplateData.sort();\nconst multiSelect = args.multiSelect;\nlet tableHelper: VirtualizedTableHelper;\n\nfunction init() {\n  args._initPromise.resolve();\n  initTable();\n  requestIdleCallback(() => {\n    window.sizeToContent();\n  });\n}\n\nfunction accept() {\n  const selected = tableHelper.treeInstance.selection.selected;\n  args.selected = Array.from(selected).map(\n    (index: number) => templateData[index],\n  );\n}\n\n// @ts-ignore - plugin instance\nconst getString = (Zotero[config.addonRef] as typeof addon).api.utils.getString;\n\nfunction initTable() {\n  tableHelper = new VirtualizedTableHelper(window)\n    .setContainerId(\"table-container\")\n    .setProp({\n      id: \"templates-table\",\n      // Do not use setLocale, as it modifies the Zotero.Intl.strings\n      // Set locales directly to columns\n      columns: [\n        {\n          dataKey: \"type\",\n          label: \"templateEditor-templateType\",\n          width: 60,\n          fixedWidth: true,\n        },\n        {\n          dataKey: \"name\",\n          label: \"templateEditor-templateName\",\n          fixedWidth: false,\n        },\n      ].map((column) =>\n        Object.assign(column, {\n          label: getString(column.label),\n        }),\n      ),\n      showHeader: true,\n      multiSelect: multiSelect,\n      staticColumns: true,\n      disableFontSizeScaling: true,\n    })\n    .setProp(\"getRowCount\", () => templateData.length)\n    .setProp(\"getRowData\", getRowData)\n    .setProp(\"getRowString\", (index) => templateData[index] || \"\")\n    .setProp(\"renderItem\", (index, selection, oldElem, columns) => {\n      let div;\n      if (oldElem) {\n        div = oldElem;\n        div.innerHTML = \"\";\n      } else {\n        div = document.createElement(\"div\");\n        div.className = \"row\";\n      }\n\n      div.classList.toggle(\"selected\", selection.isSelected(index));\n      div.classList.toggle(\"focused\", selection.focused == index);\n      const rowData = getRowData(index);\n\n      for (const column of columns) {\n        const span = document.createElement(\"span\");\n        // @ts-ignore\n        span.className = `cell ${column?.className}`;\n        const cellData = rowData[column.dataKey as keyof typeof rowData];\n        span.textContent = cellData;\n        if (column.dataKey === \"type\") {\n          span.style.backgroundColor = getRowLabelColor(cellData);\n          span.style.borderRadius = \"4px\";\n          span.style.paddingInline = \"4px\";\n          span.style.marginInline = \"2px -2px\";\n          span.style.textAlign = \"center\";\n          span.textContent = getString(\n            \"templateEditor-templateDisplayType\",\n            cellData,\n          );\n        }\n        div.append(span);\n      }\n      return div;\n    })\n    .render();\n}\n\nfunction getRowData(index: number) {\n  const rowData = templateData[index];\n  if (!rowData) {\n    return {\n      name: \"\",\n      type: \"unknown\",\n    };\n  }\n  let templateType = \"unknown\";\n  let templateDisplayName = rowData;\n  if (rowData.toLowerCase().startsWith(\"[item]\")) {\n    templateType = \"item\";\n    templateDisplayName = rowData.slice(6);\n  } else if (rowData.toLowerCase().startsWith(\"[text]\")) {\n    templateType = \"text\";\n    templateDisplayName = rowData.slice(6);\n  }\n  return {\n    name: templateDisplayName,\n    type: templateType,\n  };\n}\n\nfunction getRowLabelColor(type: string) {\n  switch (type) {\n    case \"system\":\n      return \"var(--accent-yellow)\";\n    case \"item\":\n      return \"var(--accent-green)\";\n    case \"text\":\n      return \"var(--accent-azure)\";\n    default:\n      return \"var(--accent-red)\";\n  }\n}\n"
  },
  {
    "path": "src/extras/workspaceWindow.ts",
    "content": "window.addEventListener(\"DOMContentLoaded\", () => {\n  const registeredKey = Zotero.Notifier.registerObserver({\n    notify(action, type, ids, extraData) {\n      if (action === \"modify\" && type === \"item\") {\n        const item = getItem();\n        if ((ids as number[]).includes(item.id)) {\n          updateTitle();\n        }\n      }\n    },\n  });\n\n  window.addEventListener(\n    \"unload\",\n    () => {\n      Zotero.Notifier.unregisterObserver(registeredKey);\n    },\n    { once: true },\n  );\n\n  window.arguments[0]._initPromise.resolve();\n});\n\nfunction updateTitle() {\n  const item = getItem();\n  if (item?.isNote()) {\n    document.title = item.getNoteTitle();\n  }\n}\n\nfunction getItem() {\n  // @ts-ignore\n  return document.querySelector(\"bn-workspace\")?.item as Zotero.Item;\n}\n\nwindow.updateTitle = updateTitle;\n"
  },
  {
    "path": "src/hooks.ts",
    "content": "import { config } from \"../package.json\";\nimport { initLocale } from \"./utils/locale\";\nimport { registerPrefsWindow } from \"./modules/preferenceWindow\";\nimport { registerNoteLinkProxyHandler } from \"./modules/noteLink\";\nimport {\n  registerEditorInstanceHook,\n  unregisterEditorInstanceHook,\n} from \"./modules/editor/initalize\";\nimport {\n  importTemplateFromClipboard,\n  initTemplates,\n} from \"./modules/template/controller\";\nimport { registerMenus } from \"./modules/menu\";\nimport { initWorkspace } from \"./modules/workspace/content\";\nimport { openWorkspaceWindow } from \"./modules/workspace/window\";\nimport { openNotePreview } from \"./modules/workspace/preview\";\nimport { registerNotify } from \"./modules/notify\";\nimport {\n  registerReaderAnnotationButton,\n  syncAnnotationNoteTags,\n} from \"./modules/annotationNote\";\nimport { setSyncing, callSyncing } from \"./modules/sync/hooks\";\nimport { showTemplatePicker } from \"./modules/template/picker\";\nimport { showImageViewer } from \"./modules/imageViewer\";\nimport { showExportNoteOptions } from \"./modules/export/exportWindow\";\nimport { showSyncDiff } from \"./modules/sync/diffWindow\";\nimport { showSyncInfo } from \"./modules/sync/infoWindow\";\nimport { showSyncManager } from \"./modules/sync/managerWindow\";\nimport { showTemplateEditor } from \"./modules/template/editorWindow\";\nimport {\n  createNoteFromTemplate,\n  createNoteFromMD,\n  createNote,\n} from \"./modules/createNote\";\nimport { createZToolkit } from \"./utils/ztoolkit\";\nimport { waitUtilAsync } from \"./utils/wait\";\nimport { initSyncList } from \"./modules/sync/api\";\nimport { getFocusedWindow } from \"./utils/window\";\nimport { registerNoteRelation } from \"./modules/workspace/relation\";\nimport { closeRelationServer } from \"./utils/relation\";\nimport { registerNoteLinkSection } from \"./modules/workspace/link\";\nimport { showUserGuide } from \"./modules/userGuide\";\nimport { refreshTemplatesInNote } from \"./modules/template/refresh\";\nimport { closeParsingServer } from \"./utils/parsing\";\nimport { patchExportItems } from \"./modules/patches/exportItems\";\nimport { closeConvertServer } from \"./utils/convert\";\nimport { patchNoteEditorCE } from \"./modules/patches/noteEditor\";\nimport { patchNotes } from \"./modules/patches/notes\";\n\nasync function onStartup() {\n  await Promise.all([\n    Zotero.initializationPromise,\n    Zotero.unlockPromise,\n    Zotero.uiReadyPromise,\n  ]);\n  initLocale();\n  ztoolkit.ProgressWindow.setIconURI(\n    \"default\",\n    `chrome://${config.addonRef}/content/icons/favicon.png`,\n  );\n\n  registerMenus();\n\n  registerNoteLinkProxyHandler();\n\n  registerEditorInstanceHook();\n\n  registerPrefsWindow();\n\n  registerReaderAnnotationButton();\n\n  registerNoteRelation();\n\n  registerNoteLinkSection(\"inbound\");\n  registerNoteLinkSection(\"outbound\");\n\n  patchNotes();\n\n  initSyncList();\n\n  setSyncing();\n\n  await Promise.all(Zotero.getMainWindows().map(onMainWindowLoad));\n\n  // For testing\n  addon.data.initialized = true;\n}\n\nasync function onMainWindowLoad(win: _ZoteroTypes.MainWindow): Promise<void> {\n  await waitUtilAsync(() => win.document.readyState === \"complete\");\n\n  Services.scriptloader.loadSubScript(\n    `chrome://${config.addonRef}/content/scripts/customElements.js`,\n    win,\n  );\n\n  win.MozXULElement.insertFTLIfNeeded(`${config.addonRef}-mainWindow.ftl`);\n\n  // Create ztoolkit for every window\n  addon.data.ztoolkit = createZToolkit();\n\n  registerNotify([\"tab\", \"item\", \"item-tag\"], win);\n\n  initTemplates();\n\n  patchExportItems(win);\n\n  patchNoteEditorCE(win);\n\n  showUserGuide(win);\n}\n\nasync function onMainWindowUnload(win: Window): Promise<void> {\n  win.document\n    .querySelector(`[href=\"${config.addonRef}-mainWindow.ftl\"]`)\n    ?.remove();\n  ztoolkit.unregisterAll();\n}\n\nfunction onShutdown(): void {\n  closeRelationServer();\n  closeParsingServer();\n  closeConvertServer();\n\n  unregisterEditorInstanceHook();\n\n  Zotero.getMainWindows().forEach((win) => {\n    onMainWindowUnload(win);\n  });\n\n  ztoolkit.unregisterAll();\n  // Remove addon object\n  addon.data.alive = false;\n  // @ts-ignore plugin instance\n  delete Zotero[config.addonInstance];\n}\n\n/**\n * This function is just an example of dispatcher for Notify events.\n * Any operations should be placed in a function to keep this funcion clear.\n */\nasync function onNotify(\n  event: Parameters<_ZoteroTypes.Notifier.Notify>[\"0\"],\n  type: Parameters<_ZoteroTypes.Notifier.Notify>[\"1\"],\n  ids: Parameters<_ZoteroTypes.Notifier.Notify>[\"2\"],\n  extraData: Parameters<_ZoteroTypes.Notifier.Notify>[\"3\"],\n) {\n  if (extraData?.skipBN) {\n    return;\n  }\n  if (\n    [\"add\", \"close\"].includes(event) &&\n    type === \"tab\" &&\n    extraData[ids[0]]?.type === \"note\"\n  ) {\n    Zotero.Session.debounceSave();\n  }\n  if (event === \"modify\" && type === \"item\") {\n    const modifiedNotes = Zotero.Items.get(ids).filter((item) => item.isNote());\n    if (modifiedNotes.length) {\n      addon.hooks.onSyncing(modifiedNotes, {\n        quiet: true,\n        skipActive: true,\n        reason: \"item-modify\",\n      });\n      for (const item of modifiedNotes) {\n        await addon.api.relation.updateNoteLinkRelation(item.id);\n      }\n    }\n  }\n  if (type === \"item-tag\") {\n    for (const itemTagID of ids) {\n      await syncAnnotationNoteTags(\n        Number((itemTagID as string).split(\"-\")[0]),\n        event as \"add\" | \"remove\",\n        extraData[itemTagID],\n      );\n    }\n  }\n}\n\n/**\n * This function is just an example of dispatcher for Preference UI events.\n * Any operations should be placed in a function to keep this funcion clear.\n * @param type event type\n * @param data event data\n */\nasync function onPrefsEvent(type: string, data: { [key: string]: any }) {\n  switch (type) {\n    case \"load\":\n      // registerPrefsScripts(data.window);\n      break;\n    default:\n      return;\n  }\n}\n\ninterface OpenNoteReturns {\n  auto: Window | string | void;\n  preview: void;\n  tab: string | void;\n  window: Window | void;\n  builtin: void;\n}\n\nasync function onOpenNote<K extends keyof OpenNoteReturns>(\n  noteId: number,\n  mode: K = \"auto\" as K,\n  options: {\n    workspaceUID?: string;\n    lineIndex?: number;\n    sectionName?: string;\n    forceTakeover?: boolean;\n  } = {},\n): Promise<OpenNoteReturns[K]> {\n  const win = Zotero.getMainWindow();\n  if (!win) {\n    return;\n  }\n  if (!options.forceTakeover) {\n    win.ZoteroPane.openNote(noteId);\n    return;\n  }\n  let { workspaceUID } = options;\n  const noteItem = Zotero.Items.get(noteId);\n  if (!noteItem?.isNote()) {\n    ztoolkit.log(`onOpenNote: ${noteId} is not a note.`);\n    return;\n  }\n  if (mode === \"auto\") {\n    const currentWindow = getFocusedWindow();\n\n    if (\n      (currentWindow as _ZoteroTypes.MainWindow)?.Zotero_Tabs?.selectedType ===\n      \"note\"\n    ) {\n      mode = \"preview\" as K;\n      workspaceUID = (\n        currentWindow as _ZoteroTypes.MainWindow\n      ).Zotero_Tabs.getTabInfo().id;\n    } else if (currentWindow?.document.querySelector(\"body.workspace-window\")) {\n      mode = \"preview\" as K;\n      workspaceUID = (\n        currentWindow.document.querySelector(\"bn-workspace\") as\n          | HTMLElement\n          | undefined\n      )?.dataset.uid;\n    } else {\n      mode = \"tab\" as K;\n    }\n  }\n  switch (mode) {\n    case \"preview\":\n      if (!workspaceUID) {\n        throw new Error(\n          \"Better Notes onOpenNote mode=preview must have workspaceUID provided.\",\n        );\n      }\n      openNotePreview(noteItem, workspaceUID, options);\n      break;\n    case \"tab\":\n      return win.ZoteroPane.openNote(noteId, { openInWindow: false }) as any;\n      break;\n    case \"window\":\n      return (await openWorkspaceWindow(noteItem, options)) as any;\n      break;\n    case \"builtin\":\n      win.ZoteroPane.openNote(noteId);\n      break;\n    default:\n      break;\n  }\n}\n\nconst onInitWorkspace = initWorkspace;\n\nconst onSyncing = callSyncing;\n\nconst onShowTemplatePicker = showTemplatePicker;\n\nconst onImportTemplateFromClipboard = importTemplateFromClipboard;\n\nconst onRefreshTemplatesInNote = refreshTemplatesInNote;\n\nconst onShowImageViewer = showImageViewer;\n\nconst onShowExportNoteOptions = showExportNoteOptions;\n\nconst onShowSyncInfo = showSyncInfo;\n\nconst onShowSyncManager = showSyncManager;\n\nconst onShowSyncDiff = showSyncDiff;\n\nconst onShowTemplateEditor = showTemplateEditor;\n\nconst onCreateNoteFromTemplate = createNoteFromTemplate;\n\nconst onCreateNote = createNote;\n\nconst onCreateNoteFromMD = createNoteFromMD;\n\nconst onShowUserGuide = showUserGuide;\n\n// Add your hooks here. For element click, etc.\n// Keep in mind hooks only do dispatch. Don't add code that does real jobs in hooks.\n// Otherwise the code would be hard to read and maintain.\n\nexport default {\n  onStartup,\n  onMainWindowLoad,\n  onMainWindowUnload,\n  onShutdown,\n  onNotify,\n  onPrefsEvent,\n  onOpenNote,\n  onInitWorkspace,\n  onSyncing,\n  onShowTemplatePicker,\n  onImportTemplateFromClipboard,\n  onRefreshTemplatesInNote,\n  onShowImageViewer,\n  onShowExportNoteOptions,\n  onShowSyncDiff,\n  onShowSyncInfo,\n  onShowSyncManager,\n  onShowTemplateEditor,\n  onCreateNoteFromTemplate,\n  onCreateNoteFromMD,\n  onCreateNote,\n  onShowUserGuide,\n};\n"
  },
  {
    "path": "src/index.ts",
    "content": "import { BasicTool } from \"zotero-plugin-toolkit\";\nimport Addon from \"./addon\";\nimport { config } from \"../package.json\";\n\nconst basicTool = new BasicTool();\n\n// @ts-ignore - plugin instance\nif (!basicTool.getGlobal(\"Zotero\")[config.addonInstance]) {\n  // Set global variables\n  defineGlobal(\"window\");\n  defineGlobal(\"document\");\n  defineGlobal(\"ZoteroPane\");\n  defineGlobal(\"Zotero_Tabs\");\n  _globalThis.addon = new Addon();\n  Object.defineProperty(_globalThis, \"ztoolkit\", {\n    get() {\n      return _globalThis.addon.data.ztoolkit;\n    },\n  });\n  // @ts-ignore - plugin instance\n  Zotero[config.addonInstance] = addon;\n}\n\nfunction defineGlobal(name: Parameters<BasicTool[\"getGlobal\"]>[0]) {\n  Object.defineProperty(_globalThis, name, {\n    get() {\n      return basicTool.getGlobal(name);\n    },\n  });\n}\n"
  },
  {
    "path": "src/modules/annotationNote.ts",
    "content": "import { config } from \"../../package.json\";\nimport { ICONS } from \"../utils/config\";\nimport { getNoteLinkParams } from \"../utils/link\";\nimport { addLineToNote } from \"../utils/note\";\nimport { getPref } from \"../utils/prefs\";\n\nexport { registerReaderAnnotationButton, syncAnnotationNoteTags };\n\nfunction registerReaderAnnotationButton() {\n  Zotero.Reader.registerEventListener(\n    \"renderSidebarAnnotationHeader\",\n    (event) => {\n      const { doc, append, params, reader } = event;\n      // TEMP: If not many annotations, create the button immediately\n      if (reader._item.numAnnotations() < 200) {\n        createNoteFromAnnotationButton(doc, reader, params.annotation, append);\n        return;\n      }\n      const annotationData = params.annotation;\n      const placeholder = doc.createElement(\"img\");\n      placeholder.src = \"chrome://zotero/error.png\";\n      placeholder.dataset.annotationId = annotationData.id;\n      placeholder.dataset.libraryId = reader._item.libraryID.toString();\n      // TEMP: Use error event to delay the button creation to avoid blocking the main thread\n      placeholder.addEventListener(\"error\", (event) => {\n        const placeholder = event.currentTarget as HTMLElement;\n        placeholder.ownerGlobal?.requestIdleCallback(() => {\n          const annotationID = placeholder.dataset.annotationId;\n          const libraryID = parseInt(placeholder.dataset.libraryId || \"\");\n          const button = doc.createElement(\"div\");\n          button.classList.add(\"icon\");\n          button.innerHTML = getAnnotationNoteButtonInnerHTML(false);\n          button.title = getAnnotationNoteButtonTitle(false);\n          button.dataset.annotationId = annotationID;\n          button.dataset.libraryId = libraryID.toString();\n          button.addEventListener(\"click\", (e) => {\n            const button = e.currentTarget as HTMLElement;\n            createNoteFromAnnotation(\n              reader._item.libraryID,\n              annotationID!,\n              (e as MouseEvent).shiftKey ? \"window\" : \"builtin\",\n            );\n            button.innerHTML = getAnnotationNoteButtonInnerHTML(true);\n            e.preventDefault();\n          });\n          placeholder.replaceWith(button);\n          placeholder.ownerGlobal?.requestIdleCallback(() => {\n            updateAnnotationNoteButton(button, libraryID, annotationID!);\n          });\n        });\n      });\n      append(placeholder);\n    },\n    config.addonID,\n  );\n}\n\nfunction createNoteFromAnnotationButton(\n  doc: Document,\n  reader: _ZoteroTypes.ReaderInstance,\n  annotationData: any,\n  append: (element: HTMLElement) => void,\n) {\n  const button = ztoolkit.UI.createElement(doc, \"div\", {\n    classList: [\"icon\"],\n    properties: {\n      innerHTML: getAnnotationNoteButtonInnerHTML(false),\n      title: getAnnotationNoteButtonTitle(false),\n    },\n    listeners: [\n      {\n        type: \"click\",\n        listener: (e) => {\n          const button = e.currentTarget as HTMLElement;\n          createNoteFromAnnotation(\n            reader._item.libraryID,\n            annotationData.id,\n            (e as MouseEvent).shiftKey ? \"window\" : \"builtin\",\n          );\n          button.innerHTML = getAnnotationNoteButtonInnerHTML(true);\n          e.preventDefault();\n        },\n      },\n    ],\n    enableElementRecord: false,\n  });\n  updateAnnotationNoteButton(button, reader._item.libraryID, annotationData.id);\n  append(button);\n}\n\nfunction getAnnotationNoteButtonInnerHTML(hasNote: boolean) {\n  return `${hasNote ? ICONS.openInNewWindow : ICONS.readerQuickNote}\n<style>\n  .icon {\n    border-radius: 4px;\n    color: #ffd400;\n  }\n  .icon:hover {\n    background-color: var(--fill-quinary);\n    outline: 2px solid var(--fill-quinary);\n  }\n  .icon:active {\n    background-color: var(--fill-quarternary);\n  }\n</style>\n  `;\n}\n\nfunction getAnnotationNoteButtonTitle(hasNote: boolean) {\n  return hasNote ? \"Open note\" : \"Create note from annotation\";\n}\n\nfunction updateAnnotationNoteButton(\n  button: HTMLElement,\n  libraryID: number,\n  itemKey: string,\n) {\n  hasNoteFromAnnotation(libraryID, itemKey).then((hasNote) => {\n    button.innerHTML = getAnnotationNoteButtonInnerHTML(hasNote);\n    button.title = getAnnotationNoteButtonTitle(hasNote);\n  });\n}\n\nasync function hasNoteFromAnnotation(\n  libraryID: number,\n  itemKey: string,\n): Promise<boolean> {\n  const annotationItem = Zotero.Items.getByLibraryAndKey(\n    libraryID,\n    itemKey,\n  ) as Zotero.Item;\n  if (!annotationItem) {\n    return false;\n  }\n\n  const linkTarget = await addon.api.relation.getLinkTargetByAnnotation(\n    annotationItem.libraryID,\n    annotationItem.key,\n  );\n  if (linkTarget) {\n    const targetItem = Zotero.Items.getByLibraryAndKey(\n      linkTarget.toLibID,\n      linkTarget.toKey,\n    );\n    if (targetItem) {\n      return true;\n    }\n  }\n  return false;\n}\n\nasync function createNoteFromAnnotation(\n  libraryID: number,\n  itemKey: string,\n  openMode: \"window\" | \"builtin\" | undefined,\n) {\n  const annotationItem = Zotero.Items.getByLibraryAndKey(\n    libraryID,\n    itemKey,\n  ) as Zotero.Item;\n  if (!annotationItem) {\n    return;\n  }\n\n  // Check if the annotation has a note link tag\n  const annotationTags = annotationItem.getTags().map((_) => _.tag);\n  const linkRegex = new RegExp(\"^zotero://note/(.*)$\");\n  for (const tag of annotationTags) {\n    if (linkRegex.test(tag)) {\n      const linkParams = getNoteLinkParams(tag);\n      if (linkParams.noteItem && linkParams.noteItem.isNote()) {\n        addon.hooks.onOpenNote(linkParams.noteItem.id, openMode || \"tab\", {\n          lineIndex: linkParams.lineIndex || undefined,\n        });\n        // Remove deprecated link tag and create a link in IndexedDB\n        await addon.api.relation.linkAnnotationToTarget({\n          fromLibID: annotationItem.libraryID,\n          fromKey: annotationItem.key,\n          toLibID: linkParams.libraryID,\n          toKey: linkParams.noteKey!,\n          url: tag,\n        });\n        annotationItem.removeTag(tag);\n        await annotationItem.saveTx();\n        return;\n      } else {\n        annotationItem.removeTag(tag);\n        await annotationItem.saveTx();\n      }\n    }\n  }\n\n  const linkTarget = await addon.api.relation.getLinkTargetByAnnotation(\n    annotationItem.libraryID,\n    annotationItem.key,\n  );\n  if (linkTarget) {\n    const targetItem = Zotero.Items.getByLibraryAndKey(\n      linkTarget.toLibID,\n      linkTarget.toKey,\n    );\n    if (targetItem) {\n      addon.hooks.onOpenNote(targetItem.id, openMode || \"builtin\", {});\n      return;\n    }\n  }\n\n  const note: Zotero.Item = new Zotero.Item(\"note\");\n  note.libraryID = annotationItem.libraryID;\n  note.parentID = annotationItem.parentItem!.parentID;\n  await note.saveTx();\n\n  const renderedTemplate = await addon.api.template.runTemplate(\n    \"[QuickNoteV5]\",\n    \"annotationItem, topItem, noteItem\",\n    [annotationItem, annotationItem.parentItem!.parentItem, note],\n  );\n  await addLineToNote(note, renderedTemplate);\n\n  const tags = annotationItem.getTags();\n  for (const tag of tags) {\n    note.addTag(tag.tag, tag.type);\n  }\n  await note.saveTx();\n\n  await addon.api.relation.linkAnnotationToTarget({\n    fromLibID: annotationItem.libraryID,\n    fromKey: annotationItem.key,\n    toLibID: note.libraryID,\n    toKey: note.key,\n    url: addon.api.convert.note2link(note, { ignore: true })!,\n  });\n\n  addon.hooks.onOpenNote(note.id, \"builtin\", {});\n}\n\nasync function syncAnnotationNoteTags(\n  itemID: number,\n  action: \"add\" | \"remove\",\n  tagData: { tag: string; type: number },\n) {\n  if (!getPref(\"annotationNote.enableTagSync\")) {\n    return;\n  }\n  const item = Zotero.Items.get(itemID);\n  if (!item || (!item.isAnnotation() && !item.isNote())) {\n    return;\n  }\n  let targetItem: Zotero.Item;\n  if (item.isAnnotation()) {\n    const annotationModel = await addon.api.relation.getLinkTargetByAnnotation(\n      item.libraryID,\n      item.key,\n    );\n    if (!annotationModel) {\n      return;\n    }\n    targetItem = Zotero.Items.getByLibraryAndKey(\n      annotationModel.toLibID,\n      annotationModel.toKey,\n    ) as Zotero.Item;\n  } else {\n    const annotationModel = await addon.api.relation.getAnnotationByLinkTarget(\n      item.libraryID,\n      item.key,\n    );\n    if (!annotationModel) {\n      return;\n    }\n    targetItem = Zotero.Items.getByLibraryAndKey(\n      annotationModel.fromLibID,\n      annotationModel.fromKey,\n    ) as Zotero.Item;\n  }\n  if (!targetItem) {\n    return;\n  }\n\n  if (action === \"add\") {\n    targetItem.addTag(tagData.tag, tagData.type);\n  } else {\n    targetItem.removeTag(tagData.tag);\n  }\n\n  await targetItem.saveTx();\n}\n"
  },
  {
    "path": "src/modules/createNote.ts",
    "content": "import { getString } from \"../utils/locale\";\nimport { formatPath } from \"../utils/str\";\n\nexport { createNoteFromTemplate, createNoteFromMD, createNote };\n\nfunction getLibraryParentId() {\n  return Zotero.getMainWindow()\n    .ZoteroPane.getSelectedItems()\n    .filter((item) => item.isRegularItem())[0]?.id;\n}\n\nfunction getReaderParentId() {\n  const currentReader = Zotero.Reader.getByTabID(\n    Zotero.getMainWindow().Zotero_Tabs.selectedID,\n  );\n  const parentItemId = Zotero.Items.get(\n    currentReader?.itemID || -1,\n  ).parentItemID;\n  return parentItemId;\n}\n\nasync function createNoteFromTemplate(noteType: \"standalone\"): Promise<void>;\nasync function createNoteFromTemplate(\n  noteType: \"item\",\n  parentType: \"reader\" | \"library\",\n): Promise<void>;\nasync function createNoteFromTemplate(\n  noteType: \"standalone\" | \"item\",\n  parentType?: \"reader\" | \"library\",\n) {\n  if (noteType === \"item\") {\n    const parentItemId =\n      parentType === \"reader\" ? getReaderParentId() : getLibraryParentId();\n    if (!parentItemId) {\n      Zotero.getMainWindow().alert(getString(\"alert-notValidParentItemError\"));\n      return;\n    }\n    addon.hooks.onShowTemplatePicker(\"create\", {\n      noteType,\n      parentItemId,\n      // Only pre-select the top item if the parent is a reader item\n      topItemIds: parentType === \"reader\" ? [parentItemId] : undefined,\n    });\n  } else {\n    addon.hooks.onShowTemplatePicker(\"create\", {\n      noteType,\n    });\n  }\n}\n\nasync function createNoteFromMD() {\n  // Check if we can create a note\n  if (!(await createNote({ dryRun: true }))) {\n    return;\n  }\n\n  const syncNotes = Zotero.getMainWindow().confirm(\n    getString(\"alert-syncImportedNotes\"),\n  );\n\n  const filepaths = await new ztoolkit.FilePicker(\n    \"Import MarkDown\",\n    \"multiple\",\n    [\n      [`MarkDown(*.md)`, `*.md`],\n      [\"All Files\", \"*\"],\n    ],\n  ).open();\n\n  if (!filepaths) {\n    return;\n  }\n\n  for (const filepath of filepaths) {\n    const noteItem = await createNote();\n    if (!noteItem) {\n      continue;\n    }\n    await addon.api.$import.fromMD(filepath, {\n      noteId: noteItem.id,\n      ignoreVersion: true,\n    });\n    if (noteItem && syncNotes) {\n      const pathSplit = PathUtils.split(formatPath(filepath));\n      addon.api.sync.updateSyncStatus(noteItem.id, {\n        itemID: noteItem.id,\n        path: formatPath(pathSplit.slice(0, -1).join(\"/\")),\n        filename: pathSplit.pop() || \"\",\n        lastsync: new Date().getTime(),\n        md5: \"\",\n        noteMd5: Zotero.Utilities.Internal.md5(noteItem.getNote(), false),\n      });\n    }\n  }\n}\n\nasync function createNote(): Promise<Zotero.Item | false>;\nasync function createNote(options: {\n  dryRun: true;\n  noSave?: boolean;\n}): Promise<boolean>;\nasync function createNote(options: {\n  dryRun?: false;\n  noSave?: boolean;\n}): Promise<Zotero.Item | false>;\nasync function createNote(\n  options: { dryRun?: boolean; noSave?: boolean } = {},\n) {\n  let noteItem: Zotero.Item;\n  const ZoteroPane = Zotero.getActiveZoteroPane();\n\n  const cView = ZoteroPane.collectionsView;\n  if (!cView) {\n    Zotero.getMainWindow().alert(getString(\"alert-notValidCollectionError\"));\n    return false;\n  }\n  const cRow = cView.selectedTreeRow;\n  if ([\"library\", \"group\", \"collection\"].includes(cRow.type)) {\n    if (options.dryRun) {\n      return true;\n    }\n    noteItem = new Zotero.Item(\"note\");\n    noteItem.libraryID = ZoteroPane.getSelectedLibraryID();\n    if (cRow.type === \"collection\") {\n      noteItem.addToCollection(cRow.ref.id);\n    }\n  } else {\n    Zotero.getMainWindow().alert(getString(\"alert-notValidCollectionError\"));\n    return false;\n  }\n\n  if (!options.noSave) {\n    await noteItem.saveTx();\n  }\n  return noteItem;\n}\n"
  },
  {
    "path": "src/modules/editor/image.ts",
    "content": "import { getPref } from \"../../utils/prefs\";\n\nexport function initEditorImagePreviewer(editor: Zotero.EditorInstance) {\n  const openPreview = (e: MouseEvent) => {\n    const imgs = editor._iframeWindow.document\n      .querySelector(\".primary-editor\")\n      ?.querySelectorAll(\"img\");\n    if (!imgs?.length) {\n      return;\n    }\n    const imageList = Array.from(imgs);\n    addon.hooks.onShowImageViewer(\n      imageList.map((elem) => (elem as HTMLImageElement)?.src),\n      imageList.indexOf(e.target as HTMLImageElement),\n      editor._item.getNoteTitle(),\n    );\n  };\n  editor._iframeWindow.document.addEventListener(\"dblclick\", (e) => {\n    if ((e.target as HTMLElement).tagName === \"IMG\") {\n      openPreview(e);\n    }\n  });\n  editor._iframeWindow.document.addEventListener(\"click\", (e) => {\n    if ((e.target as HTMLElement).tagName === \"IMG\" && e.ctrlKey) {\n      openPreview(e);\n    }\n  });\n}\n"
  },
  {
    "path": "src/modules/editor/initalize.ts",
    "content": "import { initEditorImagePreviewer } from \"./image\";\nimport { injectEditorCSS, injectEditorScripts } from \"./inject\";\nimport { initEditorPlugins } from \"./plugins\";\nimport { initEditorMenu } from \"./menu\";\nimport { initEditorPopup } from \"./popup\";\nimport { initEditorToolbar } from \"./toolbar\";\n\nlet prefsObserver = Symbol();\n\nexport function registerEditorInstanceHook() {\n  Zotero.Notes.registerEditorInstance = new Proxy(\n    Zotero.Notes.registerEditorInstance,\n    {\n      apply: (\n        target,\n        thisArg,\n        argumentsList: [instance: Zotero.EditorInstance],\n      ) => {\n        target.apply(thisArg, argumentsList);\n        argumentsList.forEach(onEditorInstanceCreated);\n      },\n    },\n  );\n  Zotero.Notes._editorInstances.forEach(onEditorInstanceCreated);\n\n  // For unknown reasons, the css becomes undefined after font size change\n  prefsObserver = Zotero.Prefs.registerObserver(\"note.fontSize\", () => {\n    Zotero.Notes._editorInstances.forEach((editor) => {\n      injectEditorCSS(editor._iframeWindow);\n    });\n  });\n}\n\nexport function unregisterEditorInstanceHook() {\n  Zotero.Prefs.unregisterObserver(prefsObserver);\n}\n\nasync function onEditorInstanceCreated(editor: Zotero.EditorInstance) {\n  await editor._initPromise;\n  if (!addon.data.alive) {\n    return;\n  }\n\n  // item.getNote may not be initialized yet\n  if (Zotero.ItemTypes.getID(\"note\") !== editor._item.itemTypeID) {\n    return;\n  }\n  await injectEditorScripts(editor._iframeWindow);\n  injectEditorCSS(editor._iframeWindow);\n  initEditorImagePreviewer(editor);\n  await initEditorToolbar(editor);\n  initEditorPopup(editor);\n  initEditorMenu(editor);\n  initEditorPlugins(editor);\n}\n"
  },
  {
    "path": "src/modules/editor/inject.ts",
    "content": "import { getFileContent } from \"../../utils/str\";\n\nexport async function injectEditorScripts(win: Window) {\n  ztoolkit.UI.appendElement(\n    {\n      tag: \"script\",\n      id: \"betternotes-script\",\n      properties: {\n        innerHTML: await getFileContent(\n          rootURI + \"chrome/content/scripts/editorScript.js\",\n        ),\n      },\n      ignoreIfExists: true,\n    },\n    win.document.head,\n  );\n}\n\nexport async function injectEditorCSS(win: Window) {\n  ztoolkit.UI.appendElement(\n    {\n      tag: \"style\",\n      id: \"betternotes-style\",\n      properties: {\n        innerHTML: await getFileContent(\n          rootURI + \"chrome/content/styles/editor.css\",\n        ),\n      },\n      removeIfExists: true,\n    },\n    win.document.head,\n  );\n}\n"
  },
  {
    "path": "src/modules/editor/menu.ts",
    "content": "import { config } from \"../../../package.json\";\nimport {\n  copyNoteLink,\n  getLineAtCursor,\n  getSectionAtCursor,\n  isImageAtCursor,\n  updateImageDimensionsAtCursor,\n} from \"../../utils/editor\";\nimport { getString } from \"../../utils/locale\";\nimport { getEditorCore } from \"../../utils/editor\";\n\nexport function initEditorMenu(editor: Zotero.EditorInstance) {\n  const makeId = (key: string) =>\n    `${config.addonRef}-editor-menu-${editor.instanceID}-${key}`;\n\n  if (editor._popup.dataset.bnMenuInitialized === \"true\") {\n    return;\n  }\n  editor._popup.dataset.bnMenuInitialized = \"true\";\n  (editor._popup as XULMenuElement).addEventListener(\n    \"popupshowing\",\n    async (ev) => {\n      if (ev.target !== editor._popup) {\n        return;\n      }\n      (editor._popup as XULMenuElement)\n        .querySelectorAll(`.${config.addonRef}`)\n        .forEach((elem) => {\n          elem.remove();\n        });\n\n      if (isImageAtCursor(editor)) {\n        ztoolkit.Menu.register(editor._popup, {\n          tag: \"menuitem\",\n          id: makeId(\"resizeImage\"),\n          classList: [config.addonRef],\n          label: getString(\"menuEditor-resizeImage\"),\n          icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n          commandListener: (ev) => {\n            const newWidth = parseFloat(\n              editor._iframeWindow.prompt(\n                getString(\"editor-resizeImage-prompt\"),\n                // @ts-ignore\n                getEditorCore(editor).view.state.selection.node?.attrs?.width,\n              ) || \"\",\n            );\n            if (newWidth && newWidth > 10) {\n              updateImageDimensionsAtCursor(editor, newWidth);\n            }\n          },\n        });\n      }\n\n      const currentLine = getLineAtCursor(editor);\n      const currentSection = (await getSectionAtCursor(editor)) || \"\";\n\n      ztoolkit.Menu.register(editor._popup, {\n        tag: \"menu\",\n        id: makeId(\"copyMenus\"),\n        classList: [config.addonRef],\n        label: getString(\"menuEditor-copy\"),\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        children: [\n          {\n            tag: \"menuitem\",\n            id: makeId(\"copyLine\"),\n            classList: [config.addonRef],\n            label: getString(\"menuEditor-copyLine\", {\n              args: {\n                line: currentLine,\n              },\n            }),\n            commandListener: (ev) => {\n              copyNoteLink(editor, \"line\");\n            },\n          },\n          {\n            tag: \"menuitem\",\n            id: makeId(\"copySection\"),\n            classList: [config.addonRef],\n            label: getString(\"menuEditor-copySection\", {\n              args: {\n                section: currentSection,\n              },\n            }),\n            commandListener: (ev) => {\n              copyNoteLink(editor, \"section\");\n            },\n          },\n        ],\n      });\n    },\n  );\n}\n"
  },
  {
    "path": "src/modules/editor/plugins.ts",
    "content": "import { initEditorPlugins as initEditorPluginsIntl } from \"../../utils/editor\";\n\nexport function initEditorPlugins(editor: Zotero.EditorInstance) {\n  initEditorPluginsIntl(editor);\n}\n"
  },
  {
    "path": "src/modules/editor/popup.ts",
    "content": "import { ICONS } from \"../../utils/config\";\nimport {\n  del,\n  getEditorCore,\n  getLineAtCursor,\n  getPositionAtLine,\n  getURLAtCursor,\n  insert,\n  updateImageDimensionsAtCursor,\n  updateURLAtCursor,\n} from \"../../utils/editor\";\nimport { getNoteLink, getNoteLinkParams } from \"../../utils/link\";\nimport { getString } from \"../../utils/locale\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { getWorkspaceUID } from \"../../utils/workspace\";\n\nexport function initEditorPopup(editor: Zotero.EditorInstance) {\n  if (editor._disableUI) {\n    return;\n  }\n  const ob = new (ztoolkit.getGlobal(\"MutationObserver\"))((muts) => {\n    for (const mut of muts) {\n      ztoolkit.log(mut);\n      if (\n        (mut.addedNodes.length &&\n          mut.addedNodes[0]?.hasChildNodes() &&\n          (mut.addedNodes[0] as HTMLElement)?.querySelector(\".link-popup\")) ||\n        (mut.attributeName === \"href\" &&\n          mut.target.parentElement?.classList.contains(\"link\"))\n      ) {\n        updateEditorLinkPopup(editor);\n      } else if (\n        mut.addedNodes.length &&\n        mut.addedNodes[0]?.hasChildNodes() &&\n        (mut.addedNodes[0] as HTMLElement)?.querySelector(\".image-popup\")\n      ) {\n        updateEditorImagePopup(editor);\n      }\n    }\n  });\n  ob.observe(\n    editor._iframeWindow.document.querySelector(\".relative-container\")!,\n    {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: [\"href\"],\n    },\n  );\n}\n\nasync function updateEditorLinkPopup(editor: Zotero.EditorInstance) {\n  const _window = editor._iframeWindow;\n  const link = getURLAtCursor(editor);\n  const linkParams = getNoteLinkParams(link);\n  Object.assign(linkParams, {\n    forceTakeover: true,\n    workspaceUID: getWorkspaceUID(editor._popup)!,\n  });\n  const linkNote = linkParams.noteItem;\n  const editorNote = editor._item;\n  // If the note is invalid, we remove the buttons\n  if (linkNote) {\n    const insertButton = ztoolkit.UI.createElement(_window.document, \"button\", {\n      id: \"link-popup-insert\",\n      properties: {\n        title: `Import Linked Note: ${linkNote.getNoteTitle()}`,\n        innerHTML: ICONS[\"embedLinkContent\"],\n      },\n      classList: [\"link-popup-extra\"],\n      removeIfExists: true,\n      // The popup is removed when link is not in selection. Do not need to record it.\n      enableElementRecord: false,\n      listeners: [\n        {\n          type: \"click\",\n          listener: async (e) => {\n            if (!linkParams.ignore) {\n              const templateText = await addon.api.template.runTemplate(\n                \"[QuickImportV2]\",\n                \"link, noteItem\",\n                [link, editorNote],\n              );\n              // auto insert to anchor position\n              updateURLAtCursor(\n                editor,\n                undefined,\n                getNoteLink(\n                  linkNote,\n                  Object.assign({}, linkParams, { ignore: true }),\n                )!,\n              );\n              insert(editor, templateText);\n            } else {\n              updateURLAtCursor(\n                editor,\n                undefined,\n                getNoteLink(\n                  linkNote,\n                  Object.assign({}, linkParams, { ignore: null }),\n                )!,\n              );\n              const lineIndex = getLineAtCursor(editor);\n              del(\n                editor,\n                getPositionAtLine(editor, lineIndex),\n                getPositionAtLine(editor, lineIndex + 1),\n              );\n            }\n          },\n        },\n      ],\n    });\n\n    const updateButton = ztoolkit.UI.createElement(_window.document, \"button\", {\n      id: \"link-popup-update\",\n      properties: {\n        title: `Update Link Text: ${linkNote.getNoteTitle()}`,\n        innerHTML: ICONS[\"updateLinkText\"],\n      },\n      classList: [\"link-popup-extra\"],\n      removeIfExists: true,\n      enableElementRecord: false,\n      listeners: [\n        {\n          type: \"click\",\n          listener: async (e) => {\n            updateURLAtCursor(\n              editor,\n              linkNote.getNoteTitle(),\n              getURLAtCursor(editor),\n            );\n          },\n        },\n      ],\n    });\n\n    const openButton = ztoolkit.UI.createElement(_window.document, \"button\", {\n      id: \"link-popup-open\",\n      properties: {\n        title: \"Open in preview pane (Click) or new BN window (Shift+Click)\",\n        innerHTML: ICONS[\"openInNewWindow\"],\n      },\n      classList: [\"link-popup-extra\"],\n      removeIfExists: true,\n      enableElementRecord: false,\n      listeners: [\n        {\n          type: \"click\",\n          listener: async (e) => {\n            addon.hooks.onOpenNote(\n              linkNote.id,\n              (e as MouseEvent).shiftKey ? \"window\" : \"preview\",\n              linkParams,\n            );\n          },\n        },\n      ],\n    });\n\n    const linkPopup = _window.document.querySelector(\".link-popup\");\n    if (!linkPopup) {\n      return;\n    }\n    // Ensure the builtin buttons are appended\n    await waitUtilAsync(() => linkPopup.querySelectorAll(\"button\").length >= 2);\n    linkPopup?.append(insertButton, updateButton, openButton);\n  } else {\n    Array.from(_window.document.querySelectorAll(\".link-popup-extra\")).forEach(\n      (elem) => (elem as HTMLElement)?.remove(),\n    );\n  }\n}\n\nfunction updateEditorImagePopup(editor: Zotero.EditorInstance) {\n  ztoolkit.UI.appendElement(\n    {\n      tag: \"fragment\",\n      children: [\n        {\n          tag: \"button\",\n          id: \"image-popup-preview\",\n          properties: {\n            innerHTML: ICONS.previewImage,\n            title: getString(\"editor-previewImage-title\"),\n          },\n          removeIfExists: true,\n          enableElementRecord: false,\n          listeners: [\n            {\n              type: \"click\",\n              listener: (e) => {\n                const imgs = editor._iframeWindow.document\n                  .querySelector(\".primary-editor\")\n                  ?.querySelectorAll(\"img\");\n                if (!imgs) {\n                  return;\n                }\n                const imageList = Array.from(imgs);\n                addon.hooks.onShowImageViewer(\n                  imageList.map((elem) => (elem as HTMLImageElement)?.src),\n                  imageList.indexOf(\n                    editor._iframeWindow.document\n                      .querySelector(\".primary-editor\")\n                      ?.querySelector(\".selected\")\n                      ?.querySelector(\"img\") as HTMLImageElement,\n                  ),\n                  editor._item.getNoteTitle(),\n                );\n              },\n            },\n          ],\n        },\n        {\n          tag: \"button\",\n          id: \"image-popup-resize\",\n          properties: {\n            innerHTML: ICONS.resizeImage,\n            title: getString(\"editor-resizeImage-title\"),\n          },\n          removeIfExists: true,\n          listeners: [\n            {\n              type: \"click\",\n              listener: (e) => {\n                const newWidth = parseFloat(\n                  editor._iframeWindow.prompt(\n                    getString(\"editor-resizeImage-prompt\"),\n                    // @ts-ignore\n                    getEditorCore(editor).view.state.selection.node?.attrs\n                      ?.width,\n                  ) || \"\",\n                );\n                if (newWidth && newWidth > 10) {\n                  updateImageDimensionsAtCursor(editor, newWidth);\n                }\n              },\n            },\n          ],\n        },\n      ],\n    },\n    editor._iframeWindow.document.querySelector(\".image-popup\")!,\n  );\n}\n"
  },
  {
    "path": "src/modules/editor/toolbar.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { ICONS } from \"../../utils/config\";\nimport {\n  copyNoteLink,\n  getLineAtCursor,\n  getSectionAtCursor,\n} from \"../../utils/editor\";\nimport { getString } from \"../../utils/locale\";\nimport { openLinkCreator } from \"../../utils/linkCreator\";\nimport { slice } from \"../../utils/str\";\nimport { waitUtilAsync } from \"../../utils/wait\";\n\nexport async function initEditorToolbar(editor: Zotero.EditorInstance) {\n  if (editor._disableUI) {\n    return;\n  }\n\n  const noteItem = editor._item;\n\n  const _document = editor._iframeWindow.document;\n  try {\n    await waitUtilAsync(() => !!_document.querySelector(\".toolbar\"));\n  } catch (e) {\n    ztoolkit.log(\"Editor toolbar not found\");\n  }\n  const toolbar = _document.querySelector(\".toolbar\") as HTMLDivElement;\n  if (!toolbar) {\n    ztoolkit.log(\"Editor toolbar not found\");\n    return;\n  }\n  // Link creator\n  registerEditorToolbarElement(\n    editor,\n    toolbar,\n    \"start\",\n    ztoolkit.UI.createElement(_document, \"button\", {\n      classList: [\"toolbar-button\"],\n      properties: {\n        innerHTML: ICONS.linkCreator,\n        title: \"Link creator\",\n      },\n      listeners: [\n        {\n          type: \"click\",\n          listener: (e) => {\n            editor.saveSync();\n            openLinkCreator(noteItem, {\n              lineIndex: getLineAtCursor(editor),\n            });\n          },\n        },\n      ],\n    }) as HTMLButtonElement,\n  );\n\n  if (editor._tabID) {\n    const sidebarState =\n      Zotero.getMainWindow().Zotero_Tabs.getSidebarState(\"note\");\n    registerEditorToolbarElement(\n      editor,\n      toolbar,\n      \"start\",\n      ztoolkit.UI.createElement(_document, \"button\", {\n        classList: [\"toolbar-button\", \"bn-toggle-left-pane\"],\n        properties: {\n          innerHTML: ICONS.workspaceToggle,\n          title: \"Toggle left pane\",\n        },\n        styles: {\n          display: sidebarState.open ? \"none\" : \"inherit\",\n        },\n        listeners: [\n          {\n            type: \"click\",\n            listener: () => {\n              Zotero.Notes.toggleSidebar(true);\n            },\n          },\n        ],\n      }),\n    );\n  }\n\n  const settingsButton = editor._iframeWindow.document.querySelector(\n    \".toolbar .end .dropdown .toolbar-button\",\n  ) as HTMLDivElement;\n\n  const MutationObserver = // @ts-ignore\n    editor._iframeWindow.MutationObserver as typeof window.MutationObserver;\n  const observer = new MutationObserver((mutations) => {\n    mutations.forEach(async (mutation) => {\n      if (\n        mutation.type === \"attributes\" &&\n        mutation.attributeName === \"class\" &&\n        mutation.target === settingsButton\n      ) {\n        if (settingsButton.classList.contains(\"active\")) {\n          const dropdown = settingsButton.parentElement!;\n          const popup = dropdown.querySelector(\".popup\") as HTMLDivElement;\n          ztoolkit.log(popup);\n          registerEditorToolbarPopup(editor, popup, await getMenuData(editor));\n        }\n      }\n    });\n  });\n  observer.observe(settingsButton, {\n    attributes: true,\n    attributeFilter: [\"class\"],\n  });\n}\n\nasync function getMenuData(editor: Zotero.EditorInstance) {\n  const noteItem = editor._item;\n\n  const currentLine = getLineAtCursor(editor);\n  const currentSection = (await getSectionAtCursor(editor)) || \"\";\n  const settingsMenuData: PopupData[] = [\n    {\n      id: makeId(\"settings-openAsTab\"),\n      text: getString(\"editor-toolbar-settings-openAsTab\"),\n      callback: (e) => {\n        addon.hooks.onOpenNote(noteItem.id, \"tab\");\n      },\n    },\n    {\n      id: makeId(\"settings-openAsWindow\"),\n      text: getString(\"editor-toolbar-settings-openAsWindow\"),\n      callback: (e) => {\n        addon.hooks.onOpenNote(noteItem.id, \"window\", { forceTakeover: true });\n      },\n    },\n    {\n      id: makeId(\"settings-showInLibrary\"),\n      text: getString(\"editor-toolbar-settings-showInLibrary\"),\n      callback: (e) => {\n        Zotero.getMainWindow().ZoteroPane.selectItems([e.editor._item.id]);\n      },\n    },\n  ];\n\n  if (currentLine >= 0) {\n    settingsMenuData.push(\n      ...(<PopupData[]>[\n        {\n          type: \"splitter\",\n        },\n        {\n          id: makeId(\"settings-export\"),\n          text: getString(\"editor-toolbar-settings-export\"),\n          callback: (e) => {\n            if (addon.api.sync.isSyncNote(noteItem.id)) {\n              addon.hooks.onShowSyncInfo(noteItem.id);\n            } else {\n              addon.hooks.onShowExportNoteOptions([noteItem.id]);\n            }\n          },\n        },\n        {\n          type: \"splitter\",\n        },\n        {\n          id: makeId(\"settings-insertTemplate\"),\n          text: getString(\"editor-toolbar-settings-insertTemplate\"),\n          callback: (e) => {\n            addon.hooks.onShowTemplatePicker(\"insert\", {\n              noteId: e.editor._item.id,\n              lineIndex: currentLine,\n            });\n          },\n        },\n        {\n          id: makeId(\"settings-refreshTemplates\"),\n          text: getString(\"editor-toolbar-settings-refreshTemplates\"),\n          callback: (e) => {\n            addon.hooks.onRefreshTemplatesInNote(e.editor);\n          },\n        },\n        {\n          type: \"splitter\",\n        },\n        {\n          id: makeId(\"settings-copyLink\"),\n          text: getString(\"editor-toolbar-settings-copyLink\", {\n            args: {\n              line: currentLine,\n            },\n          }),\n          callback: (e) => {\n            copyNoteLink(e.editor, \"line\");\n          },\n        },\n        {\n          id: makeId(\"settings-copyLinkAtSection\"),\n          text: getString(\"editor-toolbar-settings-copyLinkAtSection\", {\n            args: {\n              section: slice(currentSection, 10),\n            },\n          }),\n          callback: (e) => {\n            copyNoteLink(e.editor, \"section\");\n          },\n        },\n        {\n          id: makeId(\"settings-updateRelatedNotes\"),\n          text: getString(\"editor-toolbar-settings-updateRelatedNotes\"),\n          callback: (e) => {\n            addon.api.relation.updateNoteLinkRelation(e.editor._item.id);\n          },\n        },\n      ]),\n    );\n  }\n\n  const parentAttachment = await noteItem.parentItem?.getBestAttachment();\n  if (parentAttachment) {\n    settingsMenuData.push(\n      ...(<PopupData[]>[\n        {\n          type: \"splitter\",\n        },\n        {\n          id: makeId(\"settings-openParent\"),\n          text: getString(\"editor-toolbar-settings-openParent\"),\n          callback: (e) => {\n            Zotero.getMainWindow().ZoteroPane.viewAttachment([\n              parentAttachment.id,\n            ]);\n            Zotero.Notifier.trigger(\"open\", \"file\", parentAttachment.id);\n          },\n        },\n      ]),\n    );\n  }\n\n  if (addon.api.sync.isSyncNote(noteItem.id)) {\n    settingsMenuData.splice(5, 0, {\n      id: makeId(\"settings-refreshSyncing\"),\n      text: getString(\"editor-toolbar-settings-refreshSyncing\"),\n      callback: (e) => {\n        addon.hooks.onSyncing([noteItem], {\n          quiet: false,\n          skipActive: false,\n          reason: \"manual-editor\",\n        });\n      },\n    });\n  }\n\n  return settingsMenuData;\n}\n\ndeclare interface PopupData {\n  type?: \"item\" | \"splitter\";\n  id?: string;\n  text?: string;\n  prefix?: string;\n  suffix?: string;\n  callback?: (e: MouseEvent & { editor: Zotero.EditorInstance }) => any;\n}\n\nasync function registerEditorToolbarPopup(\n  editor: Zotero.EditorInstance,\n  popup: HTMLDivElement,\n  popupLines: PopupData[],\n) {\n  await editor._initPromise;\n  ztoolkit.UI.appendElement(\n    {\n      tag: \"fragment\",\n      children: popupLines.map((props) => {\n        return props.type === \"splitter\"\n          ? {\n              tag: \"div\",\n              classList: [\"separator\"],\n              properties: {\n                id: props.id,\n              },\n            }\n          : {\n              tag: \"button\",\n              classList: [\"option\"],\n              properties: {\n                id: props.id,\n                innerHTML:\n                  slice((props.prefix || \"\") + props.text, 50) +\n                  (props.suffix || \"\"),\n                title: \"\",\n              },\n              listeners: [\n                {\n                  type: \"click\",\n                  listener: (e) => {\n                    Object.assign(e, { editor });\n                    props.callback &&\n                      props.callback(\n                        e as any as MouseEvent & {\n                          editor: Zotero.EditorInstance;\n                        },\n                      );\n                  },\n                },\n              ],\n            };\n      }),\n    },\n    popup,\n  ) as HTMLDivElement;\n\n  popup.style.removeProperty(\"left\");\n  popup.style.right = \"0px\";\n}\n\nasync function registerEditorToolbarElement(\n  editor: Zotero.EditorInstance,\n  toolbar: HTMLDivElement,\n  position: \"start\" | \"middle\" | \"end\",\n  elem: HTMLElement,\n  after: boolean = false,\n) {\n  await editor._initPromise;\n  const target = toolbar.querySelector(`.${position}`);\n  if (target) {\n    if (after) {\n      target.append(elem);\n    } else {\n      target.prepend(elem);\n    }\n  }\n  return elem;\n}\n\nfunction makeId(key: string) {\n  return `${config.addonRef}-${key}`;\n}\n"
  },
  {
    "path": "src/modules/export/api.ts",
    "content": "import {\n  getLinkedNotesRecursively,\n  getNoteLink,\n  getNoteLinkParams,\n} from \"../../utils/link\";\nimport { getString } from \"../../utils/locale\";\nimport { getLinesInNote } from \"../../utils/note\";\nimport { formatPath, jointPath, tryDecodeParse } from \"../../utils/str\";\n\nexport { exportNotes };\n\nasync function exportNotes(\n  noteItems: Zotero.Item[],\n  options: {\n    embedLink?: boolean;\n    standaloneLink?: boolean;\n    exportNote?: boolean;\n    exportMD?: boolean;\n    setAutoSync?: boolean;\n    autoMDFileName?: boolean;\n    syncDir?: string;\n    withYAMLHeader?: boolean;\n    exportDocx?: boolean;\n    exportPDF?: boolean;\n    exportFreeMind?: boolean;\n    exportLatex?: boolean;\n    mergeLatex?: boolean;\n  },\n) {\n  const ZoteroPane = Zotero.getMainWindow().ZoteroPane;\n  let inputNoteItems = noteItems;\n  // If embedLink or exportNote, create a new note item\n  if ((options.embedLink || options.exportNote) && !options.setAutoSync) {\n    inputNoteItems = [];\n    for (const noteItem of noteItems) {\n      const noteID = await ZoteroPane.newNote();\n      const newNote = Zotero.Items.get(noteID);\n      newNote.setNote(noteItem.getNote());\n      await newNote.saveTx({\n        skipSelect: true,\n        skipNotifier: true,\n        skipSyncedUpdate: true,\n      });\n      await Zotero.DB.executeTransaction(async () => {\n        await Zotero.Notes.copyEmbeddedImages(noteItem, newNote);\n      });\n      if (options.embedLink) {\n        newNote.setNote(await embedLinkedNotes(newNote));\n      }\n      await newNote.saveTx();\n      inputNoteItems.push(newNote);\n    }\n  }\n  let linkedNoteItems = [] as Zotero.Item[];\n  if (options.standaloneLink) {\n    const linkedNoteIds = [] as number[];\n    for (const noteItem of inputNoteItems) {\n      const linkedIds: number[] = getLinkedNotesRecursively(\n        getNoteLink(noteItem) || \"\",\n        linkedNoteIds,\n      );\n      linkedNoteIds.push(...linkedIds);\n    }\n    const targetNoteItemIds = inputNoteItems.map((item) => item.id);\n    linkedNoteItems = Zotero.Items.get(\n      linkedNoteIds.filter((id) => !targetNoteItemIds.includes(id)),\n    );\n  }\n\n  const allNoteItems = Array.from(\n    new Set(inputNoteItems.concat(linkedNoteItems)),\n  );\n  if (options.exportMD) {\n    if (options.setAutoSync) {\n      const raw = await new ztoolkit.FilePicker(\n        `${getString(\"fileInterface-sync\")} MarkDown File`,\n        \"folder\",\n      ).open();\n      if (raw) {\n        const syncDir = formatPath(raw);\n        // Hard reset sync status for input notes\n        for (const noteItem of inputNoteItems) {\n          await toSync(noteItem, syncDir, true);\n        }\n\n        // Find linked notes that are not synced and include them in sync\n        for (const noteItem of linkedNoteItems) {\n          await toSync(noteItem, syncDir, false);\n        }\n\n        await addon.hooks.onSyncing(allNoteItems, {\n          quiet: true,\n          skipActive: false,\n          reason: \"export\",\n        });\n      }\n    } else {\n      let exportDir: string | false = false;\n      if (options.autoMDFileName) {\n        const raw = await new ztoolkit.FilePicker(\n          `${getString(\"fileInterface-export\")} MarkDown File`,\n          \"folder\",\n        ).open();\n        exportDir = raw && formatPath(raw);\n      }\n\n      for (const noteItem of allNoteItems) {\n        await toMD(noteItem, {\n          filename:\n            (exportDir &&\n              jointPath(\n                exportDir,\n                await addon.api.sync.getMDFileName(noteItem.id, exportDir),\n              )) ||\n            undefined,\n          withYAMLHeader: options.withYAMLHeader,\n          keepNoteLink: true,\n        });\n      }\n    }\n  }\n  if (options.exportLatex) {\n    if (allNoteItems.length > 1 && options.mergeLatex) {\n      await toMergedLatex(allNoteItems);\n    } else {\n      for (const noteItem of allNoteItems) {\n        await toLatex(noteItem);\n      }\n    }\n  }\n  if (options.exportDocx) {\n    for (const noteItem of allNoteItems) {\n      await toDocx(noteItem);\n    }\n  }\n  if (options.exportFreeMind) {\n    for (const noteItem of allNoteItems) {\n      await toFreeMind(noteItem);\n    }\n  }\n  if (options.exportPDF) {\n    for (const noteItem of allNoteItems) {\n      await addon.api.$export.savePDF(noteItem.id);\n    }\n  }\n  if (options.embedLink && !options.exportNote) {\n    // If not exportNote, delete temp notes\n    for (const noteItem of allNoteItems) {\n      const _w: Window = ZoteroPane.findNoteWindow(noteItem.id);\n      if (_w) {\n        _w.close();\n      }\n      await Zotero.Items.erase(noteItem.id);\n    }\n  } else if (options.exportNote) {\n    for (const noteItem of allNoteItems) {\n      ZoteroPane.openNoteWindow(noteItem.id);\n    }\n  }\n}\n\nasync function toMD(\n  noteItem: Zotero.Item,\n  options: {\n    filename?: string;\n    keepNoteLink?: boolean;\n    withYAMLHeader?: boolean;\n  } = {},\n) {\n  let filename = options.filename;\n  if (!filename) {\n    const raw = await new ztoolkit.FilePicker(\n      `${Zotero.getString(\"fileInterface.export\")} MarkDown File`,\n      \"save\",\n      [\n        [\"MarkDown File(*.md)\", \"*.md\"],\n        [\"All Files\", \"*\"],\n      ],\n      `${noteItem.getNoteTitle()}.md`,\n    ).open();\n    if (!raw) return;\n    filename = formatPath(raw, \".md\");\n  }\n  await addon.api.$export.saveMD(filename, noteItem.id, options);\n}\n\nasync function toLatex(\n  noteItem: Zotero.Item,\n  options: {\n    filename?: string;\n    keepNoteLink?: boolean;\n  } = {},\n) {\n  let filename = options.filename;\n  if (!filename) {\n    const raw = await new ztoolkit.FilePicker(\n      `${Zotero.getString(\"fileInterface.export\")} Latex File`,\n      \"save\",\n      [\n        [\"Latex File(*.tex)\", \"*.tex\"],\n        [\"All Files\", \"*\"],\n      ],\n      `${noteItem.getNoteTitle()}.tex`,\n    ).open();\n    if (!raw) return;\n    filename = formatPath(raw, \".tex\");\n  }\n  await addon.api.$export.saveLatex(filename, noteItem.id, options);\n}\n\nasync function toMergedLatex(\n  noteItems: Zotero.Item[],\n  options: {\n    filename?: string;\n    keepNoteLink?: boolean;\n  } = {},\n) {\n  let filename = options.filename;\n  if (!filename) {\n    const raw = await new ztoolkit.FilePicker(\n      `${Zotero.getString(\"fileInterface.export\")} Latex File`,\n      \"save\",\n      [\n        [\"Latex File(*.tex)\", \"*.tex\"],\n        [\"All Files\", \"*\"],\n      ],\n      `export-notes-to-one-latex.tex`,\n    ).open();\n    if (!raw) return;\n    filename = formatPath(raw, \".tex\");\n  }\n  const noteIds = noteItems.map((item) => item.id);\n  await addon.api.$export.saveMergedLatex(filename, noteIds);\n}\n\nasync function toSync(\n  noteItem: Zotero.Item,\n  syncDir: string,\n  overwrite: boolean = false,\n) {\n  if (!overwrite && addon.api.sync.isSyncNote(noteItem.id)) {\n    return;\n  }\n  addon.api.sync.updateSyncStatus(noteItem.id, {\n    path: syncDir,\n    filename: await addon.api.sync.getMDFileName(noteItem.id, syncDir),\n    md5: \"\",\n    noteMd5: Zotero.Utilities.Internal.md5(noteItem.getNote(), false),\n    lastsync: 0,\n    itemID: noteItem.id,\n  });\n}\n\nasync function toDocx(noteItem: Zotero.Item) {\n  const raw = await new ztoolkit.FilePicker(\n    `${Zotero.getString(\"fileInterface.export\")} MS Word Docx`,\n    \"save\",\n    [[\"MS Word Docx File(*.docx)\", \"*.docx\"]],\n    `${noteItem.getNoteTitle()}.docx`,\n  ).open();\n  if (!raw) return;\n  const filename = formatPath(raw, \".docx\");\n  await addon.api.$export.saveDocx(filename, noteItem.id);\n}\n\nasync function toFreeMind(noteItem: Zotero.Item) {\n  const raw = await new ztoolkit.FilePicker(\n    `${Zotero.getString(\"fileInterface.export\")} FreeMind XML`,\n    \"save\",\n    [[\"FreeMind XML File(*.mm)\", \"*.mm\"]],\n    `${noteItem.getNoteTitle()}.mm`,\n  ).open();\n  if (!raw) return;\n  const filename = formatPath(raw, \".mm\");\n  await addon.api.$export.saveFreeMind(filename, noteItem.id);\n}\n\nasync function embedLinkedNotes(noteItem: Zotero.Item): Promise<string> {\n  const parser = new DOMParser();\n\n  const globalCitationData = getNoteCitationData(noteItem as Zotero.Item);\n\n  const newLines: string[] = [];\n  const noteLines = await getLinesInNote(noteItem);\n  for (const i in noteLines) {\n    newLines.push(noteLines[i]);\n    const doc = parser.parseFromString(noteLines[i], \"text/html\");\n    const linkParams = (\n      Array.from(doc.querySelectorAll(\"a\")) as HTMLAnchorElement[]\n    )\n      .filter((a) => a?.href.startsWith(\"zotero://note/\"))\n      .map((a) => getNoteLinkParams(a?.href))\n      .filter((p) => p.noteItem && !p.ignore);\n    for (const linkParam of linkParams) {\n      const html = await addon.api.template.runTemplate(\n        \"[QuickImportV2]\",\n        \"link, noteItem\",\n        [linkParam.link, noteItem],\n      );\n      newLines.push(html);\n      const citationData = getNoteCitationData(\n        linkParam.noteItem as Zotero.Item,\n      );\n      globalCitationData.items.push(...citationData.items);\n    }\n  }\n  // Clean up globalCitationItems\n  const seenCitationItemIDs = [] as string[];\n  const finalCitationItems = [];\n  for (const citationItem of globalCitationData.items) {\n    const currentID = citationItem.uris[0];\n    if (!(currentID in seenCitationItemIDs)) {\n      finalCitationItems.push(citationItem);\n      seenCitationItemIDs.push(currentID);\n    }\n  }\n  return `<div data-schema-version=\"${\n    globalCitationData.schemaVersion\n  }\" data-citation-items=\"${encodeURIComponent(\n    JSON.stringify(finalCitationItems),\n  )}\">${newLines.join(\"\\n\")}</div>`;\n}\n\nfunction getNoteCitationData(noteItem: Zotero.Item) {\n  const parser = new DOMParser();\n  const doc = parser.parseFromString(noteItem.getNote(), \"text/html\");\n  const citationItems = tryDecodeParse(\n    doc\n      .querySelector(\"div[data-citation-items]\")\n      ?.getAttribute(\"data-citation-items\") || \"[]\",\n  ) as unknown as Array<{\n    uris: string[];\n    itemData: Record<string, any>;\n    schemaVersion: string;\n  }>;\n\n  const citationData = {\n    items: citationItems,\n    schemaVersion:\n      doc\n        .querySelector(\"div[data-schema-version]\")\n        ?.getAttribute(\"data-schema-version\") || \"\",\n  };\n\n  return citationData;\n}\n"
  },
  {
    "path": "src/modules/export/docx.ts",
    "content": "import { showHintWithLink } from \"../../utils/hint\";\nimport { renderNoteHTML } from \"../../utils/note\";\nimport {\n  htmlEscape,\n  htmlUnescape,\n  randomString,\n  tryDecodeParse,\n} from \"../../utils/str\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { config } from \"../../../package.json\";\n\nexport async function saveDocx(filename: string, noteId: number) {\n  const noteItem = Zotero.Items.get(noteId);\n  await Zotero.File.putContentsAsync(filename, await note2docx(noteItem));\n  showHintWithLink(`Note Saved to ${filename}`, \"Show in Folder\", (ev) => {\n    Zotero.File.reveal(filename);\n  });\n}\n\nasync function note2docx(noteItem: Zotero.Item) {\n  const worker = await getWorker();\n\n  const renderedContent = await parseDocxFields(\n    await renderNoteHTML(noteItem),\n    worker,\n  );\n  let htmlDoc =\n    '<!DOCTYPE html>\\n<html lang=\"en\"><head><meta charset=\"UTF-8\"></head>\\n';\n  htmlDoc += renderedContent;\n  htmlDoc += \"\\n</html>\";\n\n  ztoolkit.log(`[Note2DOCX] ${htmlDoc}`);\n\n  const blob = await sendWorkerTask(worker, \"parseDocx\", htmlDoc);\n  destroyWorker(worker);\n  return blob!;\n}\n\ntype CitationCache = Record<string, { field: string; text: string }>;\n\nasync function parseDocxFields(html: string, worker: HTMLIFrameElement) {\n  const parser = new DOMParser();\n  const doc = parser.parseFromString(html, \"text/html\");\n\n  // Remove katex html elements to prevent duplicate rendering\n  doc.querySelectorAll(\".katex-html\").forEach((elem) => {\n    elem.remove();\n  });\n\n  const mathCache = {} as MathCache;\n\n  for (const elem of Array.from(\n    doc.querySelectorAll(\"math\"),\n  ) as MathMLElement[]) {\n    let str = (await sendWorkerTask(\n      worker,\n      \"parseMML\",\n      htmlUnescape(elem.outerHTML),\n    )) as string;\n    if (!str) {\n      continue;\n    }\n    str = str.replaceAll('<?xml version=\"1.0\" encoding=\"UTF-8\"?>', \"\");\n    if (elem.getAttribute(\"display\") === \"block\") {\n      str = `<m:oMathPara xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\">${str}</m:oMathPara>`;\n    }\n    const newElem = doc.createElement(\"span\");\n    const mathID = getCacheID(mathCache, {\n      math: \"\",\n    });\n    mathCache[mathID].math = str;\n    newElem.setAttribute(\"data-bn-math-index\", mathID);\n    elem.parentNode!.replaceChild(newElem, elem);\n  }\n\n  const citationCache = {} as CitationCache;\n  /*\n  [\n    {\n      \"uris\": [\"http://zotero.org/users/6099279/items/922WYJ9X\"],\n      \"itemData\": {\n        \"id\": \"http://zotero.org/users/6099279/items/922WYJ9X\",\n        \"type\": \"paper-conference\",\n        \"event-title\": \"Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition\",\n        \"page\": \"4104-4113\",\n        \"source\": \"www.cv-foundation.org\",\n        \"title\": \"Structure-From-Motion Revisited\",\n        \"URL\": \"https://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Schonberger_Structure-From-Motion_Revisited_CVPR_2016_paper.html\",\n        \"author\": [\n          { \"family\": \"Schonberger\", \"given\": \"Johannes L.\" },\n          { \"family\": \"Frahm\", \"given\": \"Jan-Michael\" }\n        ],\n        \"accessed\": { \"date-parts\": [[\"2022\", 11, 16]] },\n        \"issued\": { \"date-parts\": [[\"2016\"]] }\n      }\n    }\n  ]\n  */\n  const globalCitationItems = tryDecodeParse(\n    doc\n      .querySelector(\"div[data-citation-items]\")\n      ?.getAttribute(\"data-citation-items\") || \"[]\",\n  );\n  const citationElements = Array.from(\n    doc.querySelectorAll(\".citation[data-citation]\"),\n  ) as HTMLElement[];\n  for (let i = 0; i < citationElements.length; i++) {\n    const elem = citationElements[i];\n    /*\n    {\n      \"citationItems\": [\n        { \"uris\": [\"http://zotero.org/users/6099279/items/U7HUIWS8\"] },\n        { \"uris\": [\"http://zotero.org/users/6099279/items/KA7GRTJV\"] }\n      ],\n      \"properties\": {}\n    }\n    */\n    const citation = tryDecodeParse(elem.getAttribute(\"data-citation\") || \"{}\");\n    const citationItems = [];\n    for (const citationItem of citation.citationItems) {\n      const item = globalCitationItems.find(\n        (item: any) => item.uris[0] === citationItem.uris[0],\n      );\n      citationItems.push(item);\n    }\n    const properties = citation.properties;\n    const formattedCitation = `${\n      elem.textContent || \"Zotero Citation\"\n    } - Please click Zotero - Refresh in Word/LibreOffice to update all fields.`;\n    properties.formattedCitation = formattedCitation;\n    properties.plainCitation = formattedCitation + \" \";\n    properties.noteIndex = 0;\n    const citationID = getCacheID(citationCache, {\n      field: \"\",\n      text: \"\",\n    });\n\n    const csl = {\n      citationID,\n      citationItems,\n      properties,\n      schema:\n        \"https://github.com/citation-style-language/schema/raw/master/csl-citation.json\",\n    };\n    const newElem = doc.createElement(\"span\");\n    citationCache[citationID].field = JSON.stringify(csl);\n    citationCache[citationID].text = formattedCitation;\n    newElem.setAttribute(\"data-bn-citation-index\", citationID);\n    elem.parentNode!.replaceChild(newElem, elem);\n\n    /*\n    <!--[if supportFields]>\n    <span style='mso-element:field-begin'></span>\n    <span style='mso-spacerun:yes'> </span>\n    ADDIN ZOTERO_ITEM CSL_CITATION {...}\n    <span style='mso-element:field-separator'></span>\n    <span style='mso-no-proof:yes'>\n        Zotero Citation - Please select all using CTRL+T and press F9 to update all fields.\n    </span>\n    <span style='mso-element:field-end'></span>\n    <![endif]-->\n    {\n      \"citationID\": \"T21wEH05\",\n      \"properties\": { \"formattedCitation\": \"[15]\", \"plainCitation\": \"[15]\", \"noteIndex\": 0 },\n      \"citationItems\": [\n        {\n          \"id\": 5,\n          \"uris\": [\"http://zotero.org/users/6099279/items/YS6VW4KZ\"],\n          \"itemData\": {\n            \"id\": 5,\n            \"type\": \"article\",\n            \"abstract\": \"Neural fields have achieved impressive advancements in view synthesis and scene reconstruction. However, editing these neural fields remains challenging due to the implicit encoding of geometry and texture information. In this paper, we propose DreamEditor, a novel framework that enables users to perform controlled editing of neural fields using text prompts. By representing scenes as mesh-based neural fields, DreamEditor allows localized editing within specific regions. DreamEditor utilizes the text encoder of a pretrained text-to-Image diffusion model to automatically identify the regions to be edited based on the semantics of the text prompts. Subsequently, DreamEditor optimizes the editing region and aligns its geometry and texture with the text prompts through score distillation sampling [29]. Extensive experiments have demonstrated that DreamEditor can accurately edit neural fields of real-world scenes according to the given text prompts while ensuring consistency in irrelevant areas. DreamEditor generates highly realistic textures and geometry, significantly surpassing previous works in both quantitative and qualitative evaluations.\",\n            \"note\": \"arXiv:2306.13455 [cs]\",\n            \"number\": \"arXiv:2306.13455\",\n            \"publisher\": \"arXiv\",\n            \"source\": \"arXiv.org\",\n            \"title\": \"DreamEditor: Text-Driven 3D Scene Editing with Neural Fields\",\n            \"title-short\": \"DreamEditor\",\n            \"URL\": \"http://arxiv.org/abs/2306.13455\",\n            \"author\": [\n              { \"family\": \"Zhuang\", \"given\": \"Jingyu\" },\n              { \"family\": \"Wang\", \"given\": \"Chen\" },\n              { \"family\": \"Liu\", \"given\": \"Lingjie\" },\n              { \"family\": \"Lin\", \"given\": \"Liang\" },\n              { \"family\": \"Li\", \"given\": \"Guanbin\" }\n            ],\n            \"accessed\": { \"date-parts\": [[\"2023\", 7, 11]] },\n            \"issued\": { \"date-parts\": [[\"2023\", 6, 29]] }\n          }\n        }\n      ],\n      \"schema\": \"https://github.com/citation-style-language/schema/raw/master/csl-citation.json\"\n    }\n    */\n  }\n\n  let str = doc.body.innerHTML;\n\n  // Replace all <span data-bn-math-index=\"T21wEH05\"></span> with <!--[if gte msEquation 12]><m:oMath...</m:oMath><![endif]-->\n  const mathRegexp = /<span data-bn-math-index=\"([^\"]+)\"><\\/span>/g;\n  str = str.replace(mathRegexp, (match, p1) => {\n    return `<!--[if gte msEquation 12]>${mathCache[p1].math}<![endif]-->`;\n  });\n\n  str = str.replaceAll(\n    \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\n    \"http://schemas.microsoft.com/office/2004/12/omml\",\n  );\n\n  // Replace all <span data-bn-citation-index=\"T21wEH05\"></span> with ADDIN ZOTERO_ITEM CSL_CITATION {...}\n  const citationRegexp = /<span data-bn-citation-index=\"([^\"]+)\"><\\/span>/g;\n  str = str.replace(citationRegexp, (match, p1) => {\n    return generateDocxField(\n      `ADDIN ZOTERO_ITEM CSL_CITATION ${htmlEscape(\n        doc,\n        citationCache[p1].field,\n      )}`,\n      htmlEscape(doc, citationCache[p1].text),\n    );\n  });\n\n  if (Object.keys(citationCache).length > 0) {\n    str += generateDocxField(\n      `ADDIN ZOTERO_BIBL {\"uncited\":[],\"omitted\":[],\"custom\":[]} CSL_BIBLIOGRAPHY`,\n      \"[BIBLIOGRAPHY] Please click Zotero - Refresh in Word/LibreOffice to update all fields\",\n    );\n  }\n\n  return str;\n}\n\nfunction getCacheID(cache: Record<string, any>, defaultValue: any) {\n  let id = Zotero.Utilities.randomString();\n  while (id in cache) {\n    id = Zotero.Utilities.randomString();\n  }\n  cache[id] = defaultValue;\n  return id;\n}\n\nfunction generateDocxField(fieldCode: string, text: string) {\n  return `<!--[if supportFields]>\n<span style='mso-element:field-begin'></span>\n<span style='mso-spacerun:yes'> </span>\n${fieldCode}\n<span style='mso-element:field-separator'></span>\n<span style='mso-no-proof:yes'>\n${text}\n</span>\n<span style='mso-element:field-end'></span>\n<![endif]-->`;\n}\n\ntype MathCache = Record<string, { math: string }>;\n\nasync function getWorker(): Promise<HTMLIFrameElement> {\n  const worker = ztoolkit.UI.createElement(document, \"iframe\", {\n    properties: {\n      src: `chrome://${config.addonRef}/content/docxExport.html`,\n    },\n    styles: {\n      width: \"0\",\n      height: \"0\",\n      border: \"0\",\n      position: \"absolute\",\n    },\n  });\n  Zotero.getMainWindow().document.documentElement.appendChild(worker);\n  await waitUtilAsync(() => worker.contentDocument?.readyState === \"complete\");\n  return worker;\n}\n\nasync function sendWorkerTask(\n  worker: HTMLIFrameElement,\n  type: string,\n  message: any,\n): Promise<any> {\n  const jobID = randomString(6, new Date().toUTCString());\n  const lock = Zotero.Promise.defer();\n  let retMessage: any;\n  const listener = (ev: MessageEvent) => {\n    if (ev.data.type === `${type}Return` && ev.data.jobID === jobID) {\n      retMessage = ev.data.message;\n      lock.resolve();\n    }\n  };\n  worker.contentWindow?.addEventListener(\"message\", listener);\n  worker.contentWindow?.postMessage(\n    {\n      type,\n      jobID,\n      message,\n    },\n    \"*\",\n  );\n  await lock.promise;\n  worker.contentWindow?.removeEventListener(\"message\", listener);\n  return retMessage;\n}\n\nfunction destroyWorker(worker: any) {\n  worker.parentNode.removeChild(worker);\n  worker = null;\n}\n"
  },
  {
    "path": "src/modules/export/exportWindow.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { fill, slice } from \"../../utils/str\";\n\nexport async function showExportNoteOptions(\n  noteIds: number[],\n  overwriteOptions: Record<string, any> = {},\n) {\n  const items = Zotero.Items.get(noteIds);\n  const noteItems: Zotero.Item[] = [];\n  items.forEach((item) => {\n    if (item.isNote()) {\n      noteItems.push(item);\n    }\n    if (item.isRegularItem()) {\n      noteItems.splice(0, 0, ...Zotero.Items.get(item.getNotes()));\n    }\n  });\n  if (noteItems.length === 0) {\n    return;\n  }\n\n  const io = {\n    targetData: {\n      left: noteItems.length - 1,\n      title: fill(slice(noteItems[0].getNoteTitle(), 40), 40),\n    },\n    deferred: Zotero.Promise.defer(),\n    accepted: false,\n    useBuiltInExport: false,\n  };\n\n  Zotero.getMainWindow().openDialog(\n    `chrome://${config.addonRef}/content/exportNotes.xhtml`,\n    `${config.addonRef}-exportNotes`,\n    \"chrome,centerscreen,resizable\",\n    io,\n  );\n\n  await io.deferred.promise;\n\n  if (io.accepted) {\n    await addon.api.$export.exportNotes(\n      noteItems,\n      Object.assign(io as any, overwriteOptions),\n    );\n  }\n  if (io.useBuiltInExport) {\n    const exporter = new (Zotero.getMainWindow().Zotero_File_Exporter)();\n    exporter.items = Zotero.Items.get(noteIds);\n    if (!exporter.items || !exporter.items.length)\n      throw \"no items currently selected\";\n    exporter.save();\n  }\n}\n"
  },
  {
    "path": "src/modules/export/freemind.ts",
    "content": "import TreeModel = require(\"tree-model\");\nimport { showHintWithLink } from \"../../utils/hint\";\nimport { getNoteTree, parseHTMLLines, renderNoteHTML } from \"../../utils/note\";\nimport { htmlEscape, htmlUnescape } from \"../../utils/str\";\n\nexport async function saveFreeMind(filename: string, noteId: number) {\n  const noteItem = Zotero.Items.get(noteId);\n  await Zotero.File.putContentsAsync(filename, await note2mm(noteItem));\n  showHintWithLink(`Note Saved to ${filename}`, \"Show in Folder\", (ev) => {\n    Zotero.File.reveal(filename);\n  });\n}\n\nasync function note2mm(\n  noteItem: Zotero.Item,\n  options: { withContent?: boolean } = { withContent: true },\n) {\n  const root = await getNoteTree(noteItem, false);\n  const textNodeForEach = (e: Node, callbackfn: (e: any) => void) => {\n    if (e.nodeType === Zotero.getMainWindow().document.TEXT_NODE) {\n      callbackfn(e);\n      return;\n    }\n    e.childNodes.forEach((_e) => textNodeForEach(_e, callbackfn));\n  };\n  let lines: string[] = [];\n  if (options.withContent) {\n    const doc = new DOMParser().parseFromString(\n      await renderNoteHTML(noteItem),\n      \"text/html\",\n    );\n    textNodeForEach(doc.body, (e: Text) => {\n      e.data = htmlEscape(doc, e.data);\n    });\n    lines = (await parseHTMLLines(doc.body.innerHTML)).map((line) =>\n      htmlUnescape(line),\n    );\n  }\n  const convertClosingTags = (htmlStr: string) => {\n    const regConfs = [\n      {\n        reg: /<br[^>]*?>/g,\n        cbk: (str: string) => \"<br></br>\",\n      },\n      {\n        reg: /<img[^>]*?>/g,\n        cbk: (str: string) => {\n          return `<img ${str.match(/src=\"[^\"]+\"/g)}></img>`;\n        },\n      },\n    ];\n    for (const regConf of regConfs) {\n      htmlStr = htmlStr.replace(regConf.reg, regConf.cbk);\n    }\n    return htmlStr;\n  };\n  const convertNode = (node: TreeModel.Node<NoteNodeData>) => {\n    mmXML += `<node ID=\"${node.model.id}\" TEXT=\"${htmlEscape(\n      Zotero.getMainWindow().document,\n      node.model.name || noteItem.getNoteTitle(),\n    )}\"><hook NAME=\"AlwaysUnfoldedNode\" />`;\n    if (\n      options.withContent &&\n      node.model.lineIndex >= 0 &&\n      node.model.endIndex >= 0\n    ) {\n      mmXML += `<richcontent TYPE=\"NOTE\" CONTENT-TYPE=\"xml/\"><html><head></head><body>${convertClosingTags(\n        lines\n          .slice(\n            node.model.lineIndex,\n            node.hasChildren()\n              ? node.children[0].model.lineIndex\n              : node.model.endIndex + 1,\n          )\n          .join(\"\\n\"),\n      )}</body></html></richcontent>`;\n    }\n    if (node.hasChildren()) {\n      node.children.forEach((child: TreeModel.Node<NoteNodeData>) => {\n        convertNode(child);\n      });\n    }\n    mmXML += \"</node>\";\n  };\n  let mmXML = '<map version=\"freeplane 1.9.0\">';\n  convertNode(root);\n  mmXML += \"</map>\";\n  ztoolkit.log(mmXML);\n  return mmXML;\n}\n"
  },
  {
    "path": "src/modules/export/latex.ts",
    "content": "import { showHintWithLink } from \"../../utils/hint\";\nimport { getPref } from \"../../utils/prefs\";\nimport { formatPath, jointPath } from \"../../utils/str\";\n\nexport async function saveLatex(\n  filename: string,\n  noteId: number,\n  options: {\n    keepNoteLink?: boolean;\n  } = {},\n) {\n  const noteItem = Zotero.Items.get(noteId);\n  const dir = jointPath(...PathUtils.split(formatPath(filename)).slice(0, -1));\n  await IOUtils.makeDirectory(dir);\n  const hasImage = noteItem.getNote().includes(\"<img\");\n  if (hasImage) {\n    const attachmentsDir = jointPath(\n      dir,\n      getPref(\"syncAttachmentFolder\") as string,\n    );\n    await IOUtils.makeDirectory(attachmentsDir);\n  }\n  const [latexContent, bibString] = await addon.api.convert.note2latex(\n    noteItem,\n    dir,\n    options,\n  );\n  await Zotero.File.putContentsAsync(filename, latexContent);\n\n  showHintWithLink(`Note Saved to ${filename}`, \"Show in Folder\", (ev) => {\n    Zotero.File.reveal(filename);\n  });\n\n  if (bibString && bibString.length > 0) {\n    const raw = await new ztoolkit.FilePicker(\n      `${Zotero.getString(\"fileInterface.export\")} Bibtex File`,\n      \"save\",\n      [[\"Bibtex File(*.bib)\", \"*.bib\"]],\n      `references.bib`,\n    ).open();\n    if (!raw) {\n      ztoolkit.log(\"[Bib Export] Bib file export canceled.\");\n      return;\n    }\n    const bibFilename = formatPath(raw, \".bib\");\n    await Zotero.File.putContentsAsync(bibFilename, bibString);\n    showHintWithLink(\n      `Bibliographic Saved to ${bibFilename}`,\n      \"Show in Folder\",\n      (ev) => {\n        Zotero.File.reveal(bibFilename);\n      },\n    );\n  }\n}\n\nexport async function saveMergedLatex(filename: string, noteIds: number[]) {\n  const noteItems = noteIds.map((noteId) => Zotero.Items.get(noteId));\n  const dir = jointPath(...PathUtils.split(formatPath(filename)).slice(0, -1));\n  await IOUtils.makeDirectory(dir);\n  const hasImage = noteItems.some((item) => item.getNote().includes(\"<img\"));\n  if (hasImage) {\n    const attachmentsDir = jointPath(\n      dir,\n      getPref(\"syncAttachmentFolder\") as string,\n    );\n    await IOUtils.makeDirectory(attachmentsDir);\n  }\n  let latexContent = \"\";\n  let bibString = \"\";\n  const separatedString = \"\\n\\n\";\n  for (const noteItem of noteItems) {\n    const [latexContent_, bibString_] = await addon.api.convert.note2latex(\n      noteItem,\n      dir,\n      {},\n    );\n    latexContent += latexContent_;\n    latexContent += separatedString;\n    if (bibString_.length > 0) {\n      bibString += bibString_;\n      bibString += separatedString;\n    }\n  }\n\n  await Zotero.File.putContentsAsync(filename, latexContent);\n\n  showHintWithLink(`Note Saved to ${filename}`, \"Show in Folder\", (ev) => {\n    Zotero.File.reveal(filename);\n  });\n\n  if (bibString.length > 0) {\n    const raw = await new ztoolkit.FilePicker(\n      `${Zotero.getString(\"fileInterface.export\")} Bibtex File`,\n      \"save\",\n      [[\"Bibtex File(*.bib)\", \"*.bib\"]],\n      `references.bib`,\n    ).open();\n    if (!raw) {\n      ztoolkit.log(\"[Bib Export] Bib file export canceled.\");\n      return;\n    }\n    const bibFilename = formatPath(raw, \".bib\");\n    await Zotero.File.putContentsAsync(bibFilename, bibString);\n    showHintWithLink(\n      `Bibliographic Saved to ${bibFilename}`,\n      \"Show in Folder\",\n      (ev) => {\n        Zotero.File.reveal(bibFilename);\n      },\n    );\n  }\n}\n"
  },
  {
    "path": "src/modules/export/markdown.ts",
    "content": "import { showHintWithLink } from \"../../utils/hint\";\nimport { getPref } from \"../../utils/prefs\";\nimport { formatPath, jointPath } from \"../../utils/str\";\n\nexport async function saveMD(\n  filename: string,\n  noteId: number,\n  options: {\n    keepNoteLink?: boolean;\n    withYAMLHeader?: boolean;\n  } = {},\n) {\n  const noteItem = Zotero.Items.get(noteId);\n  const dir = jointPath(...PathUtils.split(formatPath(filename)).slice(0, -1));\n  await IOUtils.makeDirectory(dir);\n  const hasImage = noteItem.getNote().includes(\"<img\");\n  if (hasImage) {\n    const attachmentsDir = jointPath(\n      dir,\n      getPref(\"syncAttachmentFolder\") as string,\n    );\n    await IOUtils.makeDirectory(attachmentsDir);\n  }\n  await Zotero.File.putContentsAsync(\n    filename,\n    await addon.api.convert.note2md(noteItem, dir, options),\n  );\n\n  showHintWithLink(`Note Saved to ${filename}`, \"Show in Folder\", (ev) => {\n    Zotero.File.reveal(filename);\n  });\n}\n\nexport async function syncMDBatch(\n  saveDir: string,\n  noteIds: number[],\n  metaList?: Record<string, any>[],\n) {\n  const noteItems = Zotero.Items.get(noteIds);\n  await IOUtils.makeDirectory(saveDir);\n  const attachmentsDir = jointPath(\n    saveDir,\n    getPref(\"syncAttachmentFolder\") as string,\n  );\n  const hasImage = noteItems.some((noteItem) =>\n    noteItem.getNote().includes(\"<img\"),\n  );\n  if (hasImage) {\n    await IOUtils.makeDirectory(attachmentsDir);\n  }\n  let i = 0;\n  for (const noteItem of noteItems) {\n    const filename = await addon.api.sync.getMDFileName(noteItem.id, saveDir);\n    const filePath = jointPath(saveDir, filename);\n    const content = await addon.api.convert.note2md(noteItem, saveDir, {\n      keepNoteLink: false,\n      withYAMLHeader: true,\n      cachedYAMLHeader: metaList?.[i],\n    });\n    await Zotero.File.putContentsAsync(filePath, content);\n    addon.api.sync.updateSyncStatus(noteItem.id, {\n      path: saveDir,\n      filename,\n      itemID: noteItem.id,\n      md5: Zotero.Utilities.Internal.md5(\n        addon.api.sync.getMDStatusFromContent(content).content,\n        false,\n      ),\n      noteMd5: Zotero.Utilities.Internal.md5(noteItem.getNote(), false),\n      lastsync: new Date().getTime(),\n    });\n    i += 1;\n  }\n}\n"
  },
  {
    "path": "src/modules/export/pdf.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { showHint } from \"../../utils/hint\";\nimport { renderNoteHTML } from \"../../utils/note\";\n\nexport async function savePDF(noteId: number) {\n  const html = await renderNoteHTML(Zotero.Items.get(noteId));\n  disablePrintFooterHeader();\n\n  const { HiddenBrowser } = ChromeUtils.importESModule(\n    \"chrome://zotero/content/HiddenBrowser.mjs\",\n  );\n  const browser = new HiddenBrowser({\n    useHiddenFrame: false,\n  });\n\n  await browser.load(\n    `chrome://${config.addonRef}/content/printTemplate.xhtml`,\n    {\n      requireSuccessfulStatus: true,\n    },\n  );\n  await browser.waitForDocument();\n\n  browser.contentWindow.postMessage(\n    { type: \"print\", html, style: Zotero.Prefs.get(\"note.css\") || \"\" },\n    \"*\",\n  );\n\n  browser.print();\n\n  showHint(\"Note Saved as PDF\");\n}\n\nfunction disablePrintFooterHeader() {\n  Zotero.Prefs.resetBranch([], \"print\");\n  Zotero.Prefs.set(\"print.print_footercenter\", \"\", true);\n  Zotero.Prefs.set(\"print.print_footerleft\", \"\", true);\n  Zotero.Prefs.set(\"print.print_footerright\", \"\", true);\n  Zotero.Prefs.set(\"print.print_headercenter\", \"\", true);\n  Zotero.Prefs.set(\"print.print_headerleft\", \"\", true);\n  Zotero.Prefs.set(\"print.print_headerright\", \"\", true);\n}\n"
  },
  {
    "path": "src/modules/imageViewer.ts",
    "content": "import { config } from \"../../package.json\";\nimport { ICONS } from \"../utils/config\";\nimport { showHint, showHintWithLink } from \"../utils/hint\";\nimport { formatPath } from \"../utils/str\";\nimport { waitUtilAsync } from \"../utils/wait\";\n\nexport async function showImageViewer(\n  srcList: string[],\n  idx: number,\n  title: string,\n) {\n  if (\n    !addon.data.imageViewer.window ||\n    Components.utils.isDeadWrapper(addon.data.imageViewer.window) ||\n    addon.data.imageViewer.window.closed\n  ) {\n    addon.data.imageViewer.window = Services.ww.openWindow(\n      // @ts-ignore\n      null,\n      `chrome://${config.addonRef}/content/imageViewer.html`,\n      `${config.addonRef}-imageViewer`,\n      `chrome,centerscreen,resizable,status,width=500,height=550,dialog=no${\n        addon.data.imageViewer.pined ? \",alwaysRaised=yes\" : \"\"\n      }`,\n      {},\n    ) as Window;\n    await waitUtilAsync(\n      () => addon.data.imageViewer.window?.document.readyState === \"complete\",\n    );\n    const container = addon.data.imageViewer.window.document.querySelector(\n      \".container\",\n    ) as HTMLDivElement;\n    const img = addon.data.imageViewer.window.document.querySelector(\n      \"#image\",\n    ) as HTMLImageElement;\n\n    addon.data.imageViewer.window.document\n      .querySelector(\"#left\")\n      ?.addEventListener(\"click\", (e) => {\n        setIndex(\"left\");\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#bigger\")\n      ?.addEventListener(\"click\", (e) => {\n        addon.data.imageViewer.anchorPosition = {\n          left: img.scrollWidth / 2 - container.scrollLeft / 2,\n          top: img.scrollHeight / 2 - container.scrollLeft / 2,\n        };\n        setScale(addon.data.imageViewer.scaling * 1.1);\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#smaller\")\n      ?.addEventListener(\"click\", (e) => {\n        addon.data.imageViewer.anchorPosition = {\n          left: img.scrollWidth / 2 - container.scrollLeft / 2,\n          top: img.scrollHeight / 2 - container.scrollLeft / 2,\n        };\n        setScale(addon.data.imageViewer.scaling / 1.1);\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#resetwidth\")\n      ?.addEventListener(\"click\", (e) => {\n        setScale(1);\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#right\")\n      ?.addEventListener(\"click\", (e) => {\n        setIndex(\"right\");\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#copy\")\n      ?.addEventListener(\"click\", (e) => {\n        new ztoolkit.Clipboard()\n          .addImage(addon.data.imageViewer.srcList[addon.data.imageViewer.idx])\n          .copy();\n        showHint(\"Image Copied.\");\n      });\n    addon.data.imageViewer.window.document\n      .querySelector(\"#save\")\n      ?.addEventListener(\"click\", async (e) => {\n        const parts =\n          addon.data.imageViewer.srcList[addon.data.imageViewer.idx].split(\",\");\n        if (!parts[0].includes(\"base64\")) {\n          return;\n        }\n        const mime = parts[0].match(/:(.*?);/)![1];\n        const bstr = atob(parts[1]);\n        let n = bstr.length;\n        const u8arr = new Uint8Array(n);\n        while (n--) {\n          u8arr[n] = bstr.charCodeAt(n);\n        }\n        const ext = Zotero.MIME.getPrimaryExtension(mime, \"\");\n        const filename = await new ztoolkit.FilePicker(\n          Zotero.getString(\"noteEditor.saveImageAs\"),\n          \"save\",\n          [[`Image(*.${ext})`, `*.${ext}`]],\n          `Image.${ext}`,\n          addon.data.imageViewer.window,\n          \"images\",\n        ).open();\n        if (filename) {\n          await IOUtils.write(formatPath(filename), u8arr);\n          showHintWithLink(\n            `Image Saved to ${filename}`,\n            \"Show in Folder\",\n            (ev) => {\n              Zotero.File.reveal(filename);\n            },\n          );\n        }\n      });\n    const pin = addon.data.imageViewer.window.document.querySelector(\n      \"#pin\",\n    ) as HTMLButtonElement;\n    pin.innerHTML = addon.data.imageViewer.pined\n      ? ICONS.imageViewerPined\n      : ICONS.imageViewerPin;\n    pin.title = addon.data.imageViewer.pined ? \"Unpin\" : \"Pin\";\n    pin?.addEventListener(\"click\", (e) => {\n      setPin();\n    });\n    addon.data.imageViewer.window.addEventListener(\"keydown\", (e) => {\n      const isCtrl =\n        (Zotero.isMac && e.metaKey) || (!Zotero.isMac && e.ctrlKey);\n      // ctrl+w or esc\n      if ((e.key === \"w\" && isCtrl) || e.keyCode === 27) {\n        addon.data.imageViewer.window?.close();\n      }\n      addon.data.imageViewer.anchorPosition = {\n        left: img.scrollWidth / 2 - container.scrollLeft / 2,\n        top: img.scrollHeight / 2 - container.scrollLeft / 2,\n      };\n      if (e.keyCode === 37 || e.keyCode === 40) {\n        setIndex(\"left\");\n      }\n      if (e.keyCode === 38 || e.keyCode === 39) {\n        setIndex(\"right\");\n      }\n      if (e.key === \"0\") {\n        setScale(1);\n      } else if (e.keyCode === 107 || e.keyCode === 187 || e.key === \"=\") {\n        setScale(addon.data.imageViewer.scaling * 1.1);\n      } else if (e.key === \"-\") {\n        setScale(addon.data.imageViewer.scaling / 1.1);\n      }\n    });\n    addon.data.imageViewer.window.addEventListener(\"wheel\", async (e) => {\n      addon.data.imageViewer.anchorPosition = {\n        left: e.pageX - container.offsetLeft,\n        top: e.pageY - container.offsetTop,\n      };\n      function normalizeWheelEventDirection(evt: WheelEvent) {\n        let delta = Math.hypot(evt.deltaX, evt.deltaY);\n        const angle = Math.atan2(evt.deltaY, evt.deltaX);\n        if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n          // All that is left-up oriented has to change the sign.\n          delta = -delta;\n        }\n        return delta;\n      }\n      const delta = normalizeWheelEventDirection(e);\n      if (e.ctrlKey) {\n        setScale(\n          addon.data.imageViewer.scaling *\n            Math.pow(delta > 0 ? 1.1 : 1 / 1.1, Math.round(Math.abs(delta))),\n        );\n      } else if (e.shiftKey) {\n        container.scrollLeft -= delta * 10;\n      } else {\n        container.scrollLeft += e.deltaX * 10;\n        container.scrollTop += e.deltaY * 10;\n      }\n    });\n    img.addEventListener(\"mousedown\", (e) => {\n      e.preventDefault();\n      // if (addon.data.imageViewer.scaling <= 1) {\n      //   return;\n      // }\n      img.onmousemove = (e) => {\n        e.preventDefault();\n        container.scrollLeft -= e.movementX;\n        container.scrollTop -= e.movementY;\n      };\n      img.onmouseleave = () => {\n        img.onmousemove = null;\n        img.onmouseup = null;\n      };\n      img.onmouseup = () => {\n        img.onmousemove = null;\n        img.onmouseup = null;\n      };\n    });\n  }\n\n  addon.data.imageViewer.srcList = srcList;\n  addon.data.imageViewer.idx = idx;\n  addon.data.imageViewer.title = title || \"Note\";\n  await setImage();\n  setScale(1);\n  addon.data.imageViewer.window.focus();\n}\n\nasync function setImage() {\n  const doc = addon.data.imageViewer.window?.document;\n  if (!doc) {\n    return;\n  }\n  await waitUtilAsync(() => doc.readyState === \"complete\");\n  (doc.querySelector(\"#image\") as HTMLImageElement).src =\n    addon.data.imageViewer.srcList[addon.data.imageViewer.idx];\n  setTitle();\n  (doc.querySelector(\"#left\") as HTMLButtonElement).style.opacity =\n    addon.data.imageViewer.idx === 0 ? \"0.5\" : \"1\";\n  (doc.querySelector(\"#right\") as HTMLButtonElement).style.opacity =\n    addon.data.imageViewer.idx === addon.data.imageViewer.srcList.length - 1\n      ? \"0.5\"\n      : \"1\";\n}\n\nasync function setIndex(type: \"left\" | \"right\") {\n  if (type === \"left\") {\n    addon.data.imageViewer.idx > 0\n      ? (addon.data.imageViewer.idx -= 1)\n      : undefined;\n  }\n  if (type === \"right\") {\n    addon.data.imageViewer.idx < addon.data.imageViewer.srcList.length - 1\n      ? (addon.data.imageViewer.idx += 1)\n      : undefined;\n  }\n  await setImage();\n}\n\nfunction setScale(scaling: number) {\n  const oldScale = addon.data.imageViewer.scaling;\n  addon.data.imageViewer.scaling = scaling;\n  if (addon.data.imageViewer.scaling > 10) {\n    addon.data.imageViewer.scaling = 10;\n  }\n  if (addon.data.imageViewer.scaling < 0.1) {\n    addon.data.imageViewer.scaling = 0.1;\n  }\n  const container = addon.data.imageViewer.window?.document.querySelector(\n    \".container\",\n  ) as HTMLDivElement;\n  (\n    addon.data.imageViewer.window?.document.querySelector(\n      \"#image\",\n    ) as HTMLImageElement\n  ).style.width = `calc(100% * ${addon.data.imageViewer.scaling})`;\n  if (addon.data.imageViewer.scaling > 1) {\n    container.scrollLeft +=\n      addon.data.imageViewer.anchorPosition!.left *\n      (addon.data.imageViewer.scaling - oldScale);\n    container.scrollTop +=\n      addon.data.imageViewer.anchorPosition!.top *\n      (addon.data.imageViewer.scaling - oldScale);\n  }\n  (\n    addon.data.imageViewer.window?.document.querySelector(\n      \"#bigger\",\n    ) as HTMLButtonElement\n  ).style.opacity = addon.data.imageViewer.scaling === 10 ? \"0.5\" : \"1\";\n  (\n    addon.data.imageViewer.window?.document.querySelector(\n      \"#smaller\",\n    ) as HTMLButtonElement\n  ).style.opacity = addon.data.imageViewer.scaling === 0.1 ? \"0.5\" : \"1\";\n  // (\n  //   addon.data.imageViewer.window.document.querySelector(\"#image\") as HTMLImageElement\n  // ).style.cursor = addon.data.imageViewer.scaling <= 1 ? \"default\" : \"move\";\n}\n\nfunction setTitle() {\n  addon.data.imageViewer.window!.document.querySelector(\"title\")!.innerText! =\n    `${addon.data.imageViewer.idx + 1}/${\n      addon.data.imageViewer.srcList.length\n    }:${addon.data.imageViewer.title}`;\n}\n\nfunction setPin() {\n  addon.data.imageViewer.window?.close();\n  addon.data.imageViewer.pined = !addon.data.imageViewer.pined;\n  showImageViewer(\n    addon.data.imageViewer.srcList,\n    addon.data.imageViewer.idx,\n    addon.data.imageViewer.title,\n  );\n}\n"
  },
  {
    "path": "src/modules/import/markdown.ts",
    "content": "import { addLineToNote } from \"../../utils/note\";\nimport { config } from \"../../../package.json\";\n\nexport async function fromMD(\n  filepath: string,\n  options: {\n    noteId?: number;\n    ignoreVersion?: boolean;\n    append?: boolean;\n    appendLineIndex?: number;\n  } = {},\n) {\n  let mdStatus: MDStatus;\n  try {\n    mdStatus = await addon.api.sync.getMDStatus(filepath);\n  } catch (e) {\n    ztoolkit.log(`Import Error: ${String(e)}`);\n    return;\n  }\n  let noteItem = options.noteId ? Zotero.Items.get(options.noteId) : undefined;\n  if (\n    !options.ignoreVersion &&\n    typeof mdStatus.meta?.$version === \"number\" &&\n    typeof noteItem?.version === \"number\" &&\n    mdStatus.meta?.$version < noteItem?.version\n  ) {\n    if (\n      !Zotero.getMainWindow().confirm(\n        `The target note seems to be newer than the file ${filepath}. Are you sure you want to import it anyway?`,\n      )\n    ) {\n      return;\n    }\n  }\n  const noteStatus = noteItem\n    ? addon.api.sync.getNoteStatus(noteItem.id)\n    : {\n        meta: `<div data-schema-version=\"${config.dataSchemaVersion}\">`,\n        content: \"\",\n        tail: \"</div>\",\n      };\n\n  if (!noteItem) {\n    const _noteItem = await addon.hooks.onCreateNote({\n      noSave: true,\n    });\n    if (!_noteItem) {\n      return;\n    }\n    noteItem = _noteItem;\n    await noteItem.saveTx({\n      notifierData: {\n        autoSyncDelay: Zotero.Notes.AUTO_SYNC_DELAY,\n      },\n    });\n  }\n  const parsedContent = await addon.api.convert.md2note(mdStatus, noteItem, {\n    isImport: true,\n  });\n  ztoolkit.log(\"import\", noteStatus);\n\n  if (options.append) {\n    await addLineToNote(noteItem, parsedContent, options.appendLineIndex || -1);\n  } else {\n    noteItem.setNote(noteStatus!.meta + parsedContent + noteStatus!.tail);\n    await noteItem.saveTx({\n      notifierData: {\n        autoSyncDelay: Zotero.Notes.AUTO_SYNC_DELAY,\n      },\n    });\n  }\n  return noteItem;\n}\n"
  },
  {
    "path": "src/modules/menu.ts",
    "content": "import { config } from \"../../package.json\";\n\nexport function registerMenus() {\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuTools`,\n    pluginID: config.addonID,\n    target: \"main/menubar/tools\",\n    menus: [\n      {\n        menuType: \"separator\",\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuTools-syncManager`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => {\n          addon.hooks.onShowSyncManager();\n        },\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuTools-templateEditor`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => {\n          addon.hooks.onShowTemplateEditor();\n        },\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuTools-importTemplateFromClipboard`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => {\n          addon.hooks.onImportTemplateFromClipboard();\n        },\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuFile`,\n    pluginID: config.addonID,\n    target: \"main/menubar/file\",\n    menus: [\n      {\n        menuType: \"separator\",\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuFile-exportTemplate`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => {\n          addon.hooks.onShowTemplatePicker(\"export\");\n        },\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuNewNote`,\n    pluginID: config.addonID,\n    target: \"main/library/addNote\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuAddNote-importMD`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => addon.hooks.onCreateNoteFromMD(),\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuAddNote-newTemplateItemNote`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () =>\n          addon.hooks.onCreateNoteFromTemplate(\"item\", \"library\"),\n      },\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuAddNote-newTemplateStandaloneNote`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => addon.hooks.onCreateNoteFromTemplate(\"standalone\"),\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuHelp`,\n    pluginID: config.addonID,\n    target: \"main/menubar/help\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuHelp-openUserGuide`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () =>\n          addon.hooks.onShowUserGuide(Zotero.getMainWindow(), true),\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuAddNotesPaneStandaloneNote`,\n    pluginID: config.addonID,\n    target: \"notesPane/addStandaloneNote\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuAddNote-newTemplateStandaloneNote`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => addon.hooks.onCreateNoteFromTemplate(\"standalone\"),\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuAddNotesPaneItemNote`,\n    pluginID: config.addonID,\n    target: \"notesPane/addItemNote\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuAddNote-newTemplateItemNote`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onCommand: () => addon.hooks.onCreateNoteFromTemplate(\"item\", \"reader\"),\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-menuTabMoveNewWindow`,\n    pluginID: config.addonID,\n    target: \"main/tab\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menuTab-moveNewWindow`,\n        onShowing(_, context) {\n          context.setVisible(context.tabType.startsWith(\"note\"));\n        },\n        onCommand: (_, context) => {\n          addon.hooks.onOpenNote(context.items[0].id, \"window\", {\n            forceTakeover: true,\n          });\n          (\n            context.menuElem.ownerGlobal as _ZoteroTypes.MainWindow\n          ).Zotero_Tabs.close(context.tabID);\n        },\n      },\n    ],\n  });\n\n  Zotero.MenuManager.registerMenu({\n    menuID: `${config.addonRef}-openNoteAsBNWindow`,\n    pluginID: config.addonID,\n    target: \"main/library/item\",\n    menus: [\n      {\n        menuType: \"menuitem\",\n        l10nID: `${config.addonRef}-menu-openNoteAsBNWindow`,\n        icon: `chrome://${config.addonRef}/content/icons/favicon.png`,\n        onShowing: (_, context) => {\n          context.setVisible(!!context.items?.every((item) => item.isNote()));\n        },\n        onCommand: (_, context) => {\n          if (!context.items?.length) {\n            return;\n          }\n          addon.hooks.onOpenNote(context.items[0].id, \"window\", {\n            forceTakeover: true,\n          });\n        },\n      },\n    ],\n  });\n}\n"
  },
  {
    "path": "src/modules/noteLink.ts",
    "content": "import { getNoteLinkParams } from \"../utils/link\";\n\nexport function registerNoteLinkProxyHandler() {\n  const openNoteExtension = {\n    noContent: true,\n    doAction: async (uri: any) => {\n      const linkParams = getNoteLinkParams(uri.spec);\n      if (linkParams.noteItem) {\n        addon.hooks.onOpenNote(linkParams.noteItem.id, \"auto\", {\n          lineIndex: linkParams.lineIndex,\n          sectionName: linkParams.sectionName,\n        });\n      }\n    },\n    newChannel: function (uri: any) {\n      this.doAction(uri);\n    },\n  };\n  // @ts-ignore\n  Services.io.getProtocolHandler(\"zotero\").wrappedJSObject._extensions[\n    \"zotero://note\"\n  ] = openNoteExtension;\n}\n"
  },
  {
    "path": "src/modules/notify.ts",
    "content": "export function registerNotify(\n  types: _ZoteroTypes.Notifier.Type[],\n  win: Window,\n) {\n  const callback = {\n    notify: async (...data: Parameters<_ZoteroTypes.Notifier.Notify>) => {\n      if (!addon?.data.alive) {\n        unregisterNotify(notifyID);\n        return;\n      }\n      addon.hooks.onNotify(...data);\n    },\n  };\n\n  // Register the callback in Zotero as an item observer\n  const notifyID = Zotero.Notifier.registerObserver(callback, types);\n\n  // Unregister callback when the window closes (important to avoid a memory leak)\n  win.addEventListener(\n    \"unload\",\n    (e: Event) => {\n      unregisterNotify(notifyID);\n    },\n    false,\n  );\n}\n\nfunction unregisterNotify(notifyID: string) {\n  Zotero.Notifier.unregisterObserver(notifyID);\n}\n"
  },
  {
    "path": "src/modules/patches/exportItems.ts",
    "content": "import { PatchHelper } from \"zotero-plugin-toolkit\";\nimport { getPref } from \"../../utils/prefs\";\n\nexport function patchExportItems(win: _ZoteroTypes.MainWindow) {\n  const Zotero_File_Interface = win.Zotero_File_Interface;\n  new PatchHelper().setData({\n    target: Zotero_File_Interface,\n    // @ts-ignore\n    funcSign: \"exportItems\",\n    patcher: (origin) =>\n      // @ts-ignore\n      function () {\n        if (!getPref(\"exportNotes.takeover\")) {\n          // @ts-ignore\n          return origin.apply(this);\n        }\n        const items = win.ZoteroPane.getSelectedItems();\n        if (items.every((item) => item.isNote())) {\n          return addon.hooks.onShowExportNoteOptions(\n            items.map((item) => item.id),\n          );\n        }\n        // @ts-ignore\n        return origin.apply(this);\n      },\n    enabled: true,\n  });\n}\n"
  },
  {
    "path": "src/modules/patches/noteEditor.ts",
    "content": "import { PatchHelper, wait } from \"zotero-plugin-toolkit\";\nimport type { OutlinePane } from \"../../elements/workspace/outlinePane\";\nimport { getWorkspaceByUID, WorkspaceTab } from \"../../utils/workspace\";\n\nexport function patchNoteEditorCE(win: _ZoteroTypes.MainWindow) {\n  const NoteEditorProto =\n    win.document.createXULElement(\"note-editor\").constructor.prototype;\n\n  new PatchHelper().setData({\n    target: NoteEditorProto,\n    // @ts-ignore\n    funcSign: \"setBottomPlaceholderHeight\",\n    patcher: (origin) =>\n      // @ts-ignore\n      function (height: number | null = null) {\n        // @ts-ignore\n        const noteEditor = this as any;\n\n        if (!noteEditor.tabID) {\n          // @ts-ignore\n          return origin.apply(this, [height]);\n        }\n\n        const tabContent = noteEditor.closest(\"tab-content\");\n\n        const sideBarState = win.Zotero_Tabs.getSidebarState(\"note\");\n\n        if (!noteEditor._bnPatched) {\n          noteEditor._bnPatched = true;\n          const box = noteEditor.querySelector(\"box\");\n          box.classList.add(\"bn-note-editor-box\");\n          box.style.width = \"100%\";\n          // Adjust when toolbar changes\n          box.style.minWidth = \"328px\";\n          noteEditor.style.height = \"100%\";\n\n          const hbox = win.document.createXULElement(\"hbox\") as XULBoxElement;\n          hbox.setAttribute(\"id\", \"bn-note-editor-tab-container\");\n          hbox.style.height = \"100%\";\n\n          const outlineContainer = win.document.createXULElement(\n            \"bn-outline\",\n          ) as OutlinePane;\n          outlineContainer.setAttribute(\"id\", \"bn-outline-container\");\n          outlineContainer.setAttribute(\n            \"collapsed\",\n            sideBarState.open ? \"false\" : \"true\",\n          );\n          outlineContainer.style.width = `${sideBarState.width}px`;\n\n          const splitter = win.document.createXULElement(\n            \"splitter\",\n          ) as XULSplitterElement;\n          splitter.setAttribute(\"id\", \"bn-outline-splitter\");\n          splitter.setAttribute(\"collapse\", \"before\");\n\n          const splitterHandler = () => {\n            const width = outlineContainer.getBoundingClientRect().width;\n            tabContent.sidebarWidth = width;\n            win.Zotero_Tabs.updateSidebarLayout({ width });\n            win.ZoteroContextPane.update();\n\n            const workspace = getWorkspaceByUID(\n              noteEditor.tabID,\n            ) as WorkspaceTab;\n            if (workspace) {\n              workspace.updateToggleOutlineButton();\n            }\n          };\n          splitter.addEventListener(\"command\", splitterHandler);\n          splitter.addEventListener(\"mousemove\", splitterHandler);\n\n          hbox.appendChild(outlineContainer);\n          hbox.appendChild(splitter);\n          hbox.appendChild(box);\n\n          noteEditor.appendChild(hbox);\n\n          box.querySelector(\"#editor-view\").docShell.windowDraggingAllowed =\n            true;\n\n          wait\n            .waitUntilAsync(() => noteEditor._editorInstance)\n            .then(() => {\n              const editor =\n                noteEditor._editorInstance as Zotero.EditorInstance;\n\n              outlineContainer.item = noteEditor.item;\n              outlineContainer._editorElement = noteEditor;\n              outlineContainer.render();\n            });\n        }\n\n        const box = noteEditor.querySelector(\n          \".bn-note-editor-box\",\n        ) as XULBoxElement;\n        noteEditor._bottomPlaceholder = height;\n        if (typeof height !== \"number\") {\n          height = 0;\n        }\n        box.style.height = `calc(100% - ${height}px)`;\n        noteEditor.setToggleContextPaneButtonMode();\n      },\n    enabled: true,\n  });\n\n  updateExistingNoteTabs(win);\n}\n\nasync function updateExistingNoteTabs(win: _ZoteroTypes.MainWindow) {\n  const tabs = win.Zotero_Tabs._tabs;\n\n  for (const tab of tabs) {\n    if (!tab.type.startsWith(\"note\")) {\n      continue;\n    }\n\n    // Recreate tab to update sidebar state\n    const item = Zotero.Items.get(tab.data.itemID);\n    if (!item || !item.isNote()) {\n      continue;\n    }\n\n    const currentIndex = tabs.indexOf(tab);\n    const isSelected = win.Zotero_Tabs.selectedID === tab.id ? true : false;\n\n    win.Zotero_Tabs.close(tab.id);\n\n    await wait.waitUntilAsync(() => !win.Zotero_Tabs._getTab(tab.id).tab);\n\n    Zotero.Notes.open(\n      item.id,\n      {},\n      {\n        title: tab.title,\n        tabIndex: currentIndex,\n        openInBackground: !isSelected,\n        parentItemKey: tab.data.parentItemKey,\n      },\n    );\n  }\n}\n"
  },
  {
    "path": "src/modules/patches/notes.ts",
    "content": "import type { OutlinePane } from \"../../elements/workspace/outlinePane\";\nimport { getWorkspaceByUID, WorkspaceTab } from \"../../utils/workspace\";\n\nexport function patchNotes() {\n  Zotero.Notes.toggleSidebar = function (open: boolean) {\n    const win = Zotero.getMainWindow();\n    if (!win) {\n      return;\n    }\n    const tabID = win.Zotero_Tabs.selectedID;\n    const workspace = getWorkspaceByUID(tabID);\n    if (!workspace) {\n      return;\n    }\n    workspace.toggleOutline(open);\n  };\n\n  Zotero.Notes.setSidebarWidth = function (width: number) {\n    const win = Zotero.getMainWindow();\n    if (!win) {\n      return;\n    }\n    const tabID = win.Zotero_Tabs.selectedID;\n    const workspace = getWorkspaceByUID(tabID) as WorkspaceTab;\n    if (!workspace) {\n      return;\n    }\n    workspace.toggleOutline(width);\n  };\n}\n"
  },
  {
    "path": "src/modules/preferenceWindow.ts",
    "content": "import { config } from \"../../package.json\";\nimport { getString } from \"../utils/locale\";\n\nexport function registerPrefsWindow() {\n  Zotero.PreferencePanes.register({\n    pluginID: config.addonID,\n    src: rootURI + \"chrome/content/preferences.xhtml\",\n    label: getString(\"pref-title\"),\n    image: `chrome://${config.addonRef}/content/icons/favicon.png`,\n  });\n}\n\nexport function registerPrefsScripts(_window: Window) {\n  // This function is called when the prefs window is opened\n  // See addon/chrome/content/preferences.xul onpaneload\n  if (!addon.data.prefs) {\n    addon.data.prefs = {\n      window: _window,\n    };\n  } else {\n    addon.data.prefs.window = _window;\n  }\n}\n"
  },
  {
    "path": "src/modules/sync/api.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { getPref, setPref } from \"../../utils/prefs\";\nimport { config } from \"../../../package.json\";\nimport { fileExists, formatPath, jointPath } from \"../../utils/str\";\n\nexport {\n  initSyncList,\n  removeSyncNote,\n  isSyncNote,\n  getSyncNoteIds,\n  addSyncNote,\n  updateSyncStatus,\n  getSyncStatus,\n  getNoteStatus,\n  getMDStatus,\n  getMDStatusFromContent,\n  getMDFileName,\n  findAllSyncedFiles,\n};\n\nfunction initSyncList() {\n  const rawKeys = getPref(\"syncNoteIds\") as string;\n  if (!rawKeys.startsWith(\"[\") || !rawKeys.endsWith(\"]\")) {\n    const keys = rawKeys.split(\",\").map((id) => String(id));\n    setPref(\"syncNoteIds\", JSON.stringify(keys));\n  }\n  addon.data.sync.data = new ztoolkit.LargePref(\n    `${config.prefsPrefix}.syncNoteIds`,\n    `${config.prefsPrefix}.syncDetail-`,\n    \"parser\",\n  );\n  // Due to the bug in v1.1.4-22, the sync data may be corrupted\n  const keys = addon.data.sync.data?.getKeys().map((key) => String(key));\n  setPref(\"syncNoteIds\", JSON.stringify(keys));\n}\n\nasync function getSyncNoteIds() {\n  const keys = addon.data.sync.data\n    ?.getKeys()\n    .map((key) => Number(key))\n    .filter((key) => !!key);\n  if (!keys) {\n    return [];\n  }\n  return (await Zotero.Items.getAsync(keys))\n    .filter((item) => item.isNote())\n    .map((item) => item.id);\n}\n\nfunction isSyncNote(noteId: number): boolean {\n  return !!addon.data.sync.data?.hasKey(String(noteId));\n}\n\nfunction addSyncNote(noteId: number) {\n  addon.data.sync.data?.setKey(String(noteId));\n}\n\nfunction removeSyncNote(noteId: number) {\n  addon.data.sync.data?.deleteKey(String(noteId));\n}\n\nfunction updateSyncStatus(noteId: number, status: SyncStatus) {\n  addon.data.sync.data?.setValue(String(noteId), status);\n}\n\nfunction getNoteStatus(noteId: number) {\n  const noteItem = Zotero.Items.get(noteId);\n  if (!noteItem?.isNote()) {\n    return;\n  }\n  const fullContent = noteItem.getNote();\n  const ret = {\n    meta: \"\",\n    content: \"\",\n    tail: \"</div>\",\n    lastmodify: Zotero.Date.sqlToDate(noteItem.dateModified, true),\n  };\n  const metaRegex = /^<div[^>]*>/;\n  // Not wrapped inside div\n  if (!metaRegex.test(fullContent)) {\n    ret.meta = `<div data-schema-version=\"${config.dataSchemaVersion}\">`;\n    ret.content = fullContent || \"\";\n    return ret;\n  }\n  const metaMatch = fullContent.match(metaRegex);\n  ret.meta = metaMatch ? metaMatch[0] : \"\";\n  ret.content = fullContent.substring(\n    ret.meta.length,\n    fullContent.length - ret.tail.length,\n  );\n  return ret;\n}\n\nfunction getSyncStatus(noteId?: number): SyncStatus {\n  const defaultStatus = {\n    path: \"\",\n    filename: \"\",\n    md5: \"\",\n    noteMd5: \"\",\n    lastsync: new Date().getTime(),\n    itemID: -1,\n  };\n  const status = {\n    ...defaultStatus,\n    ...(addon.data.sync.data?.getValue(String(noteId)) as SyncStatus),\n  };\n  status.path = formatPath(status.path);\n  return status;\n}\n\nfunction getMDStatusFromContent(contentRaw: string): MDStatus {\n  contentRaw = contentRaw.replace(/\\r\\n/g, \"\\n\");\n  const result = contentRaw.match(/^---\\n(.*\\n)+?---$/gm);\n  const ret: MDStatus = {\n    meta: { $version: -1 },\n    content: contentRaw,\n    filedir: \"\",\n    filename: \"\",\n    lastmodify: new Date(0),\n  };\n  if (result) {\n    const yaml = result[0].replace(/---/g, \"\");\n    ret.content = contentRaw.slice(result[0].length);\n    try {\n      ret.meta = YAML.parse(yaml);\n    } catch (e) {\n      ztoolkit.log(e);\n    }\n  }\n  return ret;\n}\n\nasync function getMDStatus(\n  source: Zotero.Item | number | string,\n): Promise<MDStatus> {\n  let ret: MDStatus = {\n    meta: null,\n    content: \"\",\n    filedir: \"\",\n    filename: \"\",\n    lastmodify: new Date(0),\n  };\n  try {\n    let filepath = \"\";\n    if (typeof source === \"string\") {\n      filepath = source;\n    } else if (typeof source === \"number\") {\n      const syncStatus = getSyncStatus(source);\n      filepath = jointPath(syncStatus.path, syncStatus.filename);\n    } else if (source.isNote && source.isNote()) {\n      const syncStatus = getSyncStatus(source.id);\n      filepath = jointPath(syncStatus.path, syncStatus.filename);\n    }\n    filepath = formatPath(filepath);\n    if (await fileExists(filepath)) {\n      const contentRaw = (await Zotero.File.getContentsAsync(\n        filepath,\n        \"utf-8\",\n      )) as string;\n      ret = getMDStatusFromContent(contentRaw);\n      const pathSplit = PathUtils.split(filepath);\n      ret.filedir = formatPath(pathSplit.slice(0, -1).join(\"/\"));\n      ret.filename = pathSplit.pop() || \"\";\n      const stat = await IOUtils.stat(filepath);\n      ret.lastmodify = new Date(stat.lastModified || 0);\n    }\n  } catch (e) {\n    ztoolkit.log(e);\n  }\n  return ret;\n}\n\nasync function getMDFileName(noteId: number, searchDir?: string) {\n  const syncStatus = getSyncStatus(noteId);\n  // If the note is already synced, use the filename in sync status\n  if (\n    (!searchDir || searchDir === syncStatus.path) &&\n    syncStatus.filename &&\n    (await fileExists(jointPath(syncStatus.path, syncStatus.filename)))\n  ) {\n    return syncStatus.filename;\n  }\n  // If the note is not synced or the synced file does not exists, search for the latest file with the same key\n  const noteItem = Zotero.Items.get(noteId);\n  if (searchDir !== undefined && (await fileExists(searchDir))) {\n    const mdRegex = /\\.(md|MD|Md|mD)$/;\n    let matchedFileName = null;\n    let matchedDate = 0;\n    await Zotero.File.iterateDirectory(\n      searchDir,\n      async (entry: OS.File.Entry) => {\n        if (entry.isDir) return;\n        if (mdRegex.test(entry.name)) {\n          if (\n            entry.name.split(\".\").shift()?.split(\"-\").pop() === noteItem.key\n          ) {\n            const stat = await IOUtils.stat(entry.path);\n            if (stat.lastModified || 0 > matchedDate) {\n              matchedFileName = entry.name;\n              matchedDate = stat.lastModified || 0;\n            }\n          }\n        }\n      },\n    );\n    if (matchedFileName) {\n      return matchedFileName;\n    }\n  }\n  // If no file found, use the template to generate a new filename\n  let filename = await addon.api.template.runTemplate(\n    \"[ExportMDFileNameV2]\",\n    \"noteItem\",\n    [noteItem],\n  );\n  // trim the filename to remove any leading or trailing spaces or line breaks\n  filename = filename.trim();\n  return filename;\n}\n\nasync function findAllSyncedFiles(searchDir: string) {\n  const results: SyncStatus[] = [];\n  const mdRegex = /\\.(md|MD|Md|mD)$/;\n  await Zotero.File.iterateDirectory(\n    searchDir,\n    async (entry: OS.File.Entry) => {\n      if (entry.isDir) {\n        const subDirResults = await findAllSyncedFiles(entry.path);\n        results.push(...subDirResults);\n        return;\n      }\n      if (mdRegex.test(entry.name)) {\n        const MDStatus = await getMDStatus(entry.path);\n        if (!MDStatus.meta?.$libraryID || !MDStatus.meta?.$itemKey) {\n          return;\n        }\n        const item = await Zotero.Items.getByLibraryAndKeyAsync(\n          MDStatus.meta.$libraryID,\n          MDStatus.meta.$itemKey,\n        );\n        if (!item || !(item as Zotero.Item).isNote()) {\n          return;\n        }\n        results.push({\n          path: MDStatus.filedir,\n          filename: MDStatus.filename,\n          md5: Zotero.Utilities.Internal.md5(MDStatus.content, false),\n          noteMd5: Zotero.Utilities.Internal.md5(\n            (item as Zotero.Item).getNote(),\n            false,\n          ),\n          lastsync: MDStatus.lastmodify.getTime(),\n          itemID: item.id,\n        });\n      }\n    },\n  );\n  return results;\n}\n"
  },
  {
    "path": "src/modules/sync/diffWindow.ts",
    "content": "import { Change } from \"diff\";\nimport { config } from \"../../../package.json\";\nimport { fileExists, formatPath, getItemDataURL } from \"../../utils/str\";\nimport { isWindowAlive } from \"../../utils/window\";\nimport { waitUtilAsync } from \"../../utils/wait\";\n\nexport async function showSyncDiff(noteId: number, mdPath: string) {\n  const noteItem = Zotero.Items.get(noteId);\n  const syncStatus = addon.api.sync.getSyncStatus(noteId);\n  const noteStatus = addon.api.sync.getNoteStatus(noteId)!;\n  mdPath = formatPath(mdPath);\n  if (!noteItem || !noteItem.isNote() || !(await fileExists(mdPath))) {\n    return;\n  }\n  const mdStatus = await addon.api.sync.getMDStatus(mdPath);\n  if (!mdStatus.meta) {\n    return;\n  }\n  const mdNoteContent = await addon.api.convert.md2note(mdStatus, noteItem, {\n    isImport: true,\n  });\n  const noteContent = await addon.api.convert.note2noteDiff(noteItem);\n  ztoolkit.log(mdNoteContent, noteContent);\n  const changes =\n    (await addon.api.convert.content2diff(noteContent, mdNoteContent)) || [];\n  ztoolkit.log(\"changes\", changes);\n\n  const syncDate = new Date(syncStatus.lastsync);\n\n  const io = {\n    defer: Zotero.Promise.defer(),\n    result: \"\",\n    type: \"skip\",\n    syncInfo: {},\n    diffData: [] as Change[],\n    imageData: {},\n  };\n\n  if (!(noteStatus.lastmodify > syncDate && mdStatus.lastmodify > syncDate)) {\n    // If only one kind of changes, merge automatically\n    if (noteStatus.lastmodify >= mdStatus.lastmodify) {\n      // refuse all, keep note\n      io.result = changes\n        .filter((diff) => (!diff.added && !diff.removed) || diff.removed)\n        .map((diff) => diff.value)\n        .join(\"\");\n    } else {\n      // accept all, keep md\n      io.result = changes\n        .filter((diff) => (!diff.added && !diff.removed) || diff.added)\n        .map((diff) => diff.value)\n        .join(\"\");\n    }\n    io.type = \"finish\";\n  } else {\n    // Otherwise, merge manually\n    const imageAttachemnts = Zotero.Items.get(noteItem.getAttachments()).filter(\n      (attch) => attch.isEmbeddedImageAttachment(),\n    );\n    const imageData = {} as Record<string, string>;\n    for (const image of imageAttachemnts) {\n      try {\n        const b64 = await getItemDataURL(image);\n        imageData[image.key] = b64;\n      } catch (e) {\n        ztoolkit.log(e);\n      }\n    }\n\n    io.syncInfo = {\n      noteName: noteItem.getNoteTitle(),\n      noteModify: noteStatus.lastmodify && noteStatus.lastmodify.toISOString(),\n      mdName: mdPath,\n      mdModify: mdStatus.lastmodify && mdStatus.lastmodify.toISOString(),\n      syncTime: syncDate.toISOString(),\n    };\n    io.diffData = changes.map((change, id) =>\n      Object.assign(change, {\n        id: id,\n        text: change.value,\n      }),\n    );\n    io.imageData = imageData;\n\n    if (!isWindowAlive(addon.data.sync.diff.window)) {\n      addon.data.sync.diff.window = Services.ww.openWindow(\n        // @ts-ignore\n        null,\n        `chrome://${config.addonRef}/content/syncDiff.xhtml`,\n        `${config.addonRef}-syncDiff`,\n        `chrome,centerscreen,resizable,status,width=900,height=550`,\n        io,\n      )! as Window;\n      await waitUtilAsync(\n        () => addon.data.sync.diff.window?.document.readyState === \"complete\",\n      );\n    }\n    await io.defer.promise;\n  }\n\n  switch (io.type) {\n    case \"skip\":\n      addon.data.sync.diff.window?.closed ||\n        addon.data.sync.diff.window?.close();\n      break;\n    case \"unsync\":\n      ztoolkit.log(\"remove sync\", noteItem.getNote());\n      await addon.api.sync.removeSyncNote(noteItem.id);\n      break;\n    case \"finish\":\n      ztoolkit.log(\"Diff result:\", io.result);\n      // return io.result;\n      noteItem.setNote(noteStatus.meta + io.result + noteStatus.tail);\n      await noteItem.saveTx({\n        notifierData: {\n          autoSyncDelay: Zotero.Notes.AUTO_SYNC_DELAY,\n        },\n      });\n      await addon.api.$export.syncMDBatch(\n        mdStatus.filedir,\n        [noteItem.id],\n        [mdStatus.meta],\n      );\n      break;\n    default:\n      break;\n  }\n}\n"
  },
  {
    "path": "src/modules/sync/hooks.ts",
    "content": "import { showHint } from \"../../utils/hint\";\nimport { getString } from \"../../utils/locale\";\nimport { getPref } from \"../../utils/prefs\";\nimport { jointPath } from \"../../utils/str\";\nimport { isElementVisible } from \"../../utils/window\";\n\nexport { setSyncing, callSyncing };\n\nfunction setSyncing() {\n  const syncPeriod = getPref(\"syncPeriodSeconds\") as number;\n  const enableHint = addon.data.env === \"development\";\n  if (syncPeriod > 0) {\n    enableHint && showHint(`${getString(\"sync-start-hint\")} ${syncPeriod} s`);\n    const timer = ztoolkit.getGlobal(\"setInterval\")(\n      () => {\n        if (!addon.data.alive) {\n          showHint(getString(\"sync-stop-hint\"));\n          ztoolkit.getGlobal(\"clearInterval\")(timer);\n        }\n        // Only when Zotero is active and focused\n        if (\n          Zotero.getMainWindow().document.hasFocus() &&\n          (getPref(\"syncPeriodSeconds\") as number) > 0\n        ) {\n          callSyncing(undefined, {\n            quiet: true,\n            skipActive: true,\n            reason: \"auto\",\n          });\n        }\n      },\n      Number(syncPeriod) * 1000,\n    );\n  }\n}\n\nasync function callSyncing(\n  items: Zotero.Item[] = [],\n  { quiet, skipActive, reason } = {\n    quiet: true,\n    skipActive: true,\n    reason: \"unknown\",\n  },\n) {\n  // Always log in development mode\n  if (addon.data.env === \"development\") {\n    quiet = false;\n  }\n  if (addon.data.sync.lock) {\n    // Only allow one task\n    return;\n  }\n  let progress;\n  // Wrap the code in try...catch so that the lock can be released anyway\n  try {\n    addon.data.sync.lock = true;\n    let skippedCount = 0;\n    if (!items || !items.length) {\n      items = Zotero.Items.get(await addon.api.sync.getSyncNoteIds());\n    } else {\n      items = items.filter((item) => addon.api.sync.isSyncNote(item.id));\n    }\n    if (items.length === 0) {\n      addon.data.sync.lock = false;\n      return;\n    }\n    if (skipActive) {\n      // Skip active note editors' targets\n      const activeNoteIds = Zotero.Notes._editorInstances\n        .filter((editor) => {\n          const elem = (editor._popup as XULPopupElement).closest(\n            \"note-editor\",\n          );\n          return elem && isElementVisible(elem);\n        })\n        .map((editor) => editor._item.id);\n      const filteredItems = items.filter(\n        (item) => !activeNoteIds.includes(item.id),\n      );\n      skippedCount = items.length - filteredItems.length;\n      items = filteredItems;\n    }\n    ztoolkit.log(\"sync start\", reason, items.length, skippedCount);\n\n    if (!quiet) {\n      progress = new ztoolkit.ProgressWindow(\n        `[${getString(\"sync-running-hint-title\")}] ${\n          addon.data.env === \"development\" ? reason : \"Better Notes\"\n        }`,\n      )\n        .createLine({\n          text: `[${getString(\"sync-running-hint-check\")}] 0/${\n            items.length\n          } ...`,\n          type: \"default\",\n          progress: 1,\n        })\n        .show(-1);\n    }\n    // Export items of same dir in batch\n    const toExport = {} as Record<string, number[]>;\n    const toImport: SyncStatus[] = [];\n    const toDiff: SyncStatus[] = [];\n    const mdStatusMap = {} as Record<number, MDStatus>;\n    let i = 1;\n    for (const item of items) {\n      const syncStatus = addon.api.sync.getSyncStatus(item.id);\n      const filepath = syncStatus.path;\n      const mdStatus = await addon.api.sync.getMDStatus(item.id);\n      mdStatusMap[item.id] = mdStatus;\n\n      const compareResult = await doCompare(item, mdStatus);\n      switch (compareResult) {\n        case SyncCode.NoteAhead:\n          if (Object.keys(toExport).includes(filepath)) {\n            toExport[filepath].push(item.id);\n          } else {\n            toExport[filepath] = [item.id];\n          }\n          break;\n        case SyncCode.MDAhead:\n          toImport.push(syncStatus);\n          break;\n        case SyncCode.NeedDiff:\n          toDiff.push(syncStatus);\n          break;\n        default:\n          break;\n      }\n      progress?.changeLine({\n        text: `[${getString(\"sync-running-hint-check\")}] ${i}/${\n          items.length\n        } ...`,\n        progress: ((i - 1) / items.length) * 100,\n      });\n      i += 1;\n    }\n\n    let totalCount = Object.keys(toExport).length;\n    ztoolkit.log(\"will be synced:\", totalCount, toImport.length, toDiff.length);\n\n    i = 1;\n    for (const filepath of Object.keys(toExport)) {\n      progress?.changeLine({\n        text: `[${getString(\"sync-running-hint-updateMD\")}] ${i}/${\n          items.length\n        } ...`,\n        progress: ((i - 1) / items.length) * 100,\n      });\n      const itemIDs = toExport[filepath];\n      await addon.api.$export.syncMDBatch(\n        filepath,\n        itemIDs,\n        itemIDs.map((id) => mdStatusMap[id].meta!),\n      );\n      i += 1;\n    }\n    i = 1;\n    totalCount = toImport.length;\n    for (const syncStatus of toImport) {\n      progress?.changeLine({\n        text: `[${getString(\n          \"sync-running-hint-updateNote\",\n        )}] ${i}/${totalCount}, ${toDiff.length} queuing...`,\n        progress: ((i - 1) / totalCount) * 100,\n      });\n      const item = Zotero.Items.get(syncStatus.itemID);\n      const filepath = jointPath(syncStatus.path, syncStatus.filename);\n      await addon.api.$import.fromMD(filepath, { noteId: item.id });\n      // Update md file to keep the metadata synced\n      await addon.api.$export.syncMDBatch(\n        syncStatus.path,\n        [item.id],\n        [mdStatusMap[item.id].meta!],\n      );\n      i += 1;\n    }\n    i = 1;\n    totalCount = toDiff.length;\n    for (const syncStatus of toDiff) {\n      progress?.changeLine({\n        text: `[${getString(\"sync-running-hint-diff\")}] ${i}/${totalCount}...`,\n        progress: ((i - 1) / totalCount) * 100,\n      });\n\n      await addon.hooks.onShowSyncDiff(\n        syncStatus.itemID,\n        jointPath(syncStatus.path, syncStatus.filename),\n      );\n      i += 1;\n    }\n    const syncCount =\n      Object.keys(toExport).length + toImport.length + toDiff.length;\n    progress?.changeLine({\n      text:\n        (syncCount\n          ? `[${getString(\n              \"sync-running-hint-finish\",\n            )}] ${syncCount} ${getString(\"sync-running-hint-synced\")}`\n          : `[${getString(\"sync-running-hint-finish\")}] ${getString(\n              \"sync-running-hint-upToDate\",\n            )}`) + (skippedCount ? `, ${skippedCount} skipped.` : \"\"),\n      progress: 100,\n    });\n  } catch (e) {\n    ztoolkit.log(\"[BetterNotes Syncing Error]\", e);\n    showHint(`Sync Error: ${String(e)}`);\n  } finally {\n    progress?.startCloseTimer(5000);\n  }\n  addon.data.sync.lock = false;\n}\n\nasync function doCompare(\n  noteItem: Zotero.Item,\n  mdStatus: MDStatus,\n): Promise<SyncCode> {\n  const syncStatus = addon.api.sync.getSyncStatus(noteItem.id);\n  // No file found\n  if (!mdStatus.meta) {\n    return SyncCode.NoteAhead;\n  }\n  // File meta is unavailable\n  if (mdStatus.meta.$version < 0) {\n    return SyncCode.NeedDiff;\n  }\n  let MDAhead = false;\n  let noteAhead = false;\n  const md5 = Zotero.Utilities.Internal.md5(mdStatus.content, false);\n  const noteMd5 = Zotero.Utilities.Internal.md5(noteItem.getNote(), false);\n  // MD5 doesn't match (md side change)\n  if (md5 !== syncStatus.md5) {\n    MDAhead = true;\n  }\n  // MD5 doesn't match (note side change)\n  if (noteMd5 !== syncStatus.noteMd5) {\n    noteAhead = true;\n  }\n  // Note version doesn't match (note side change)\n  // This might be unreliable when Zotero account is not login\n  if (Number(mdStatus.meta.$version) !== noteItem.version) {\n    noteAhead = true;\n  }\n  if (noteAhead && MDAhead) {\n    return SyncCode.NeedDiff;\n  } else if (noteAhead) {\n    return SyncCode.NoteAhead;\n  } else if (MDAhead) {\n    return SyncCode.MDAhead;\n  } else {\n    // const maxLastModifiedPeriod = 3000;\n    // if (\n    //   mdStatus.lastmodify &&\n    //   syncStatus.lastsync &&\n    //   // If the file is modified after the last sync, it's ahead\n    //   Math.abs(mdStatus.lastmodify.getTime() - syncStatus.lastsync) >\n    //     maxLastModifiedPeriod\n    // ) {\n    //   return SyncCode.MDAhead;\n    // } else {\n    //   return SyncCode.UpToDate;\n    // }\n    return SyncCode.UpToDate;\n  }\n}\n\nenum SyncCode {\n  UpToDate = 0,\n  NoteAhead,\n  MDAhead,\n  NeedDiff,\n}\n"
  },
  {
    "path": "src/modules/sync/infoWindow.ts",
    "content": "import { showHint } from \"../../utils/hint\";\nimport { getString } from \"../../utils/locale\";\nimport { formatPath, jointPath, slice } from \"../../utils/str\";\n\nexport async function showSyncInfo(noteId: number) {\n  const status = addon.api.sync.getSyncStatus(noteId);\n  const data = {} as Record<string, any>;\n\n  const dialog = new ztoolkit.Dialog(4, 1)\n    .setDialogData(data)\n    .addCell(0, 0, {\n      tag: \"h3\",\n      properties: {\n        innerHTML: getString(\"syncInfo-syncTo\"),\n      },\n    })\n    .addCell(1, 0, {\n      tag: \"label\",\n      properties: {\n        innerHTML: formatPath(`${slice(status.path, 30)}${status.filename}`),\n      },\n    })\n    .addCell(2, 0, {\n      tag: \"h3\",\n      properties: {\n        innerHTML: getString(\"syncInfo-lastSync\"),\n      },\n    })\n    .addCell(3, 0, {\n      tag: \"label\",\n      properties: {\n        innerHTML: new Date(status.lastsync).toLocaleString(),\n      },\n    })\n    .addButton(getString(\"syncInfo-sync\"), \"sync\", {\n      noClose: true,\n      callback: (ev) => {\n        addon.hooks.onSyncing(undefined, {\n          quiet: false,\n          skipActive: false,\n          reason: \"manual-info\",\n        });\n      },\n    })\n    .addButton(getString(\"syncInfo-unSync\"), \"unSync\", {\n      callback: async (ev) => {\n        const outLink =\n          await addon.api.relation.getNoteLinkOutboundRelation(noteId);\n        for (const linkData of outLink) {\n          const noteItem = await Zotero.Items.getByLibraryAndKeyAsync(\n            linkData.toLibID,\n            linkData.toKey,\n          );\n          if (!noteItem) continue;\n          addon.api.sync.removeSyncNote(noteItem.id);\n        }\n        showHint(`Cancel sync of ${outLink.length} notes.`);\n      },\n    })\n    .addButton(getString(\"syncInfo-reveal\"), \"reveal\", {\n      noClose: true,\n      callback: (ev) => {\n        Zotero.File.reveal(jointPath(status.path, status.filename));\n      },\n    })\n    .addButton(getString(\"syncInfo-manager\"), \"manager\", {\n      noClose: true,\n      callback: (ev) => {\n        addon.hooks.onShowSyncManager();\n      },\n    })\n    .addButton(getString(\"syncInfo-export\"), \"export\", {\n      callback: (ev) => {\n        addon.hooks.onShowExportNoteOptions([noteId]);\n      },\n    })\n    .addButton(getString(\"syncInfo-cancel\"), \"cancel\")\n    .open(getString(\"export-title\"), {\n      resizable: true,\n      centerscreen: true,\n      fitContent: true,\n    });\n}\n"
  },
  {
    "path": "src/modules/sync/managerWindow.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { getLinkedNotesRecursively, getNoteLink } from \"../../utils/link\";\nimport { getString } from \"../../utils/locale\";\nimport { jointPath } from \"../../utils/str\";\nimport { isWindowAlive } from \"../../utils/window\";\n\nexport interface SyncDataType {\n  noteId: number;\n  noteName: string;\n  lastSync: string;\n  filePath: string;\n}\n\nexport async function showSyncManager() {\n  if (isWindowAlive(addon.data.sync.manager.window)) {\n    addon.data.sync.manager.window?.focus();\n    refresh();\n  } else {\n    const windowArgs = {\n      _initPromise: Zotero.Promise.defer(),\n    };\n    const win = Zotero.getMainWindow().openDialog(\n      `chrome://${config.addonRef}/content/syncManager.xhtml`,\n      `${config.addonRef}-syncManager`,\n      `chrome,centerscreen,resizable,status,dialog=no`,\n      windowArgs,\n    )!;\n    await windowArgs._initPromise.promise;\n    addon.data.sync.manager.window = win;\n    updateData();\n    addon.data.sync.manager.tableHelper = new ztoolkit.VirtualizedTable(win!)\n      .setContainerId(\"table-container\")\n      .setProp({\n        id: \"manager-table\",\n        // Do not use setLocale, as it modifies the Zotero.Intl.strings\n        // Set locales directly to columns\n        columns: [\n          {\n            dataKey: \"noteName\",\n            label: \"syncManager-noteName\",\n            fixedWidth: false,\n          },\n          {\n            dataKey: \"lastSync\",\n            label: \"syncManager-lastSync\",\n            fixedWidth: false,\n          },\n          {\n            dataKey: \"filePath\",\n            label: \"syncManager-filePath\",\n            fixedWidth: false,\n          },\n        ].map((column) =>\n          Object.assign(column, {\n            label: getString(column.label),\n          }),\n        ),\n        showHeader: true,\n        multiSelect: true,\n        staticColumns: false,\n        disableFontSizeScaling: true,\n      })\n      .setProp(\"getRowCount\", () => addon.data.sync.manager.data.length)\n      .setProp(\n        \"getRowData\",\n        (index) =>\n          (addon.data.sync.manager.data[index] as {\n            noteName: string;\n            lastSync: string;\n            filePath: string;\n          }) || {\n            noteName: \"no data\",\n            lastSync: \"no data\",\n            filePath: \"no data\",\n          },\n      )\n      .setProp(\"onSelectionChange\", (selection) => {\n        updateButtons();\n      })\n      .setProp(\"onKeyDown\", (event: KeyboardEvent) => {\n        if (\n          event.key == \"Delete\" ||\n          (Zotero.isMac && event.key == \"Backspace\")\n        ) {\n          unSyncNotes(getSelectedNoteIds());\n          refresh();\n          return false;\n        }\n        return true;\n      })\n      .setProp(\"onActivate\", (ev) => {\n        const noteIds = getSelectedNoteIds();\n        noteIds.forEach((noteId) => addon.hooks.onOpenNote(noteId, \"builtin\"));\n        return true;\n      })\n      .setProp(\n        \"getRowString\",\n        (index) => addon.data.sync.manager?.data[index].noteName || \"\",\n      )\n      .setProp(\"onColumnSort\", async (columnIndex, ascending) => {\n        addon.data.sync.manager.columnIndex = columnIndex;\n        addon.data.sync.manager.columnAscending = ascending > 0;\n        await updateData();\n        await refresh();\n      })\n      .render();\n    const refreshButton = win.document.querySelector(\n      \"#refresh\",\n    ) as HTMLButtonElement;\n    const syncButton = win.document.querySelector(\"#sync\") as HTMLButtonElement;\n    const unSyncButton = win.document.querySelector(\n      \"#unSync\",\n    ) as HTMLButtonElement;\n    const detectButton = win.document.querySelector(\n      \"#detect\",\n    ) as HTMLButtonElement;\n    refreshButton.addEventListener(\"click\", (ev) => {\n      refresh();\n    });\n    syncButton.addEventListener(\"click\", async (ev) => {\n      await addon.hooks.onSyncing(Zotero.Items.get(getSelectedNoteIds()), {\n        quiet: false,\n        skipActive: false,\n        reason: \"manual-manager\",\n      });\n      refresh();\n    });\n    unSyncButton.addEventListener(\"click\", (ev) => {\n      getSelectedNoteIds().forEach((noteId) => {\n        addon.api.sync.removeSyncNote(noteId);\n      });\n      refresh();\n    });\n    detectButton.addEventListener(\"click\", () => {\n      detectSyncedNotes();\n    });\n  }\n}\n\nconst sortDataKeys = [\"noteName\", \"lastSync\", \"filePath\"] as Array<\n  keyof SyncDataType\n>;\n\nasync function updateData() {\n  const sortKey = sortDataKeys[addon.data.sync.manager.columnIndex];\n  addon.data.sync.manager.data = (await addon.api.sync.getSyncNoteIds())\n    .map((noteId) => {\n      const syncStatus = addon.api.sync.getSyncStatus(noteId);\n      return {\n        noteId: noteId,\n        noteName: Zotero.Items.get(noteId).getNoteTitle(),\n        lastSync: new Date(syncStatus.lastsync).toLocaleString(),\n        filePath: jointPath(syncStatus.path, syncStatus.filename),\n      };\n    })\n    .sort((a, b) => {\n      if (!a || !b) {\n        return 0;\n      }\n      const valueA = String(a[sortKey] || \"\");\n      const valueB = String(b[sortKey] || \"\");\n      return addon.data.sync.manager.columnAscending\n        ? valueA.localeCompare(valueB)\n        : valueB.localeCompare(valueA);\n    });\n}\n\nasync function updateTable() {\n  return new Promise<void>((resolve) => {\n    addon.data.sync.manager.tableHelper?.render(undefined, (_) => {\n      resolve();\n    });\n  });\n}\n\nfunction updateButtons() {\n  const win = addon.data.sync.manager.window;\n  if (!win) {\n    return;\n  }\n  const unSyncButton = win.document.querySelector(\n    \"#unSync\",\n  ) as HTMLButtonElement;\n  if (\n    addon.data.sync.manager.tableHelper?.treeInstance.selection.selected.size\n  ) {\n    unSyncButton.disabled = false;\n  } else {\n    unSyncButton.disabled = true;\n  }\n}\n\nasync function refresh() {\n  updateData();\n  await updateTable();\n  updateButtons();\n}\n\nfunction getSelectedNoteIds() {\n  const ids = [];\n  for (const idx of addon.data.sync.manager.tableHelper?.treeInstance.selection.selected?.keys() ||\n    []) {\n    ids.push(addon.data.sync.manager.data[idx].noteId);\n  }\n  return ids;\n}\n\nasync function unSyncNotes(itemIds: number[]) {\n  if (itemIds.length === 0) {\n    return;\n  }\n  const unSyncLinkedNotes = addon.data.sync.manager.window?.confirm(\n    `Un-sync their linked notes?`,\n  );\n  if (unSyncLinkedNotes) {\n    for (const item of Zotero.Items.get(itemIds)) {\n      const linkedIds: number[] = getLinkedNotesRecursively(\n        getNoteLink(item) || \"\",\n        itemIds,\n      );\n      itemIds.push(...linkedIds);\n    }\n  }\n  for (const itemId of itemIds) {\n    await addon.api.sync.removeSyncNote(itemId);\n  }\n  await refresh();\n}\n\nasync function detectSyncedNotes() {\n  const dir = await new addon.data.ztoolkit.FilePicker(\n    \"Select folder to detect\",\n    \"folder\",\n  ).open();\n  if (!dir) return;\n\n  const statusList = await addon.api.sync.findAllSyncedFiles(dir);\n  let current = 0;\n  for (const status of statusList) {\n    if (addon.api.sync.isSyncNote(status.itemID)) {\n      current++;\n    }\n  }\n  const total = statusList.length;\n  const newCount = total - current;\n  if (\n    !addon.data.sync.manager.window?.confirm(\n      getString(\"syncManager-detectConfirmInfo\", {\n        args: {\n          total,\n          new: newCount,\n          current,\n          dir,\n        },\n      }),\n    )\n  )\n    return;\n  for (const status of statusList) {\n    addon.api.sync.updateSyncStatus(status.itemID, status);\n  }\n  await addon.hooks.onSyncing();\n  await refresh();\n}\n"
  },
  {
    "path": "src/modules/template/api.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { itemPicker } from \"../../utils/itemPicker\";\nimport { getString } from \"../../utils/locale\";\nimport { fill, slice } from \"../../utils/str\";\n\nexport {\n  runTemplate,\n  runTextTemplate,\n  runItemTemplate,\n  runQuickInsertTemplate,\n};\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nasync function runTemplate(\n  key: string,\n  argString: string = \"\",\n  argList: any[] = [],\n  options: {\n    useDefault?: boolean;\n    dryRun?: boolean;\n    stage?: string;\n  } = {\n    useDefault: true,\n    dryRun: false,\n    stage: \"default\",\n  },\n): Promise<string> {\n  ztoolkit.log(`runTemplate: ${key}`);\n  if (argList.length > 0) {\n    argString += \", \";\n  }\n  argString += \"_env\";\n  argList.push({\n    dryRun: options.dryRun,\n  });\n  let templateText = addon.api.template.getTemplateText(key);\n  if (options.useDefault && !templateText) {\n    templateText =\n      addon.api.template.DEFAULT_TEMPLATES.find((t) => t.name === key)?.text ||\n      \"\";\n    if (!templateText) {\n      return \"\";\n    }\n  }\n\n  if (!options.stage) {\n    options.stage = \"default\";\n  }\n  let templateLines = templateText.split(/\\r?\\n/);\n  let startIndex = templateLines.indexOf(`// @${options.stage}-begin`),\n    endIndex = templateLines.indexOf(`// @${options.stage}-end`);\n  if (\n    startIndex < 0 &&\n    endIndex < 0 &&\n    typeof options.stage === \"string\" &&\n    options.stage !== \"default\"\n  ) {\n    // Skip this stage\n    return \"\";\n  }\n  if (startIndex < 0) {\n    // We skip the pragma line later\n    startIndex = -1;\n  }\n  if (endIndex < 0) {\n    endIndex = templateLines.length;\n  }\n  // Check the markdown pragma\n  templateLines = templateLines.slice(startIndex + 1, endIndex);\n  let useMarkdown = false;\n  const mdIndex = templateLines.findIndex((line) =>\n    line.startsWith(\"// @use-markdown\"),\n  );\n  if (mdIndex >= 0) {\n    useMarkdown = true;\n  }\n  // Skip other pragmas\n  templateLines = templateLines.filter((line) => !line.startsWith(\"// @\"));\n  templateText = templateLines.join(\"\\n\");\n\n  function constructFunction(content: string) {\n    return `$\\{await (async () => {\n        ${content}\n      })()}`;\n  }\n\n  // Replace string inside ${{}}$ to async function\n  templateText = templateText.replace(\n    /\\$\\{\\{([\\s\\S]*?)\\}\\}\\$/g,\n    (match, content) => {\n      return constructFunction(content);\n    },\n  );\n\n  try {\n    const func = new AsyncFunction(argString, \"return `\" + templateText + \"`\");\n    let res = (await func(...argList)) as string;\n    if (useMarkdown) {\n      res = await addon.api.convert.md2html(res);\n    }\n    ztoolkit.log(res);\n    return res;\n  } catch (e) {\n    ztoolkit.log(e);\n    if (options.dryRun) {\n      return \"Template Preview Error: \" + String(e);\n    }\n    Zotero.getMainWindow().alert(`Template ${key} Error: ${e}`);\n    return \"\";\n  }\n}\n\nasync function runTextTemplate(\n  key: string,\n  options: {\n    targetNoteId?: number;\n    dryRun?: boolean;\n  } = {},\n) {\n  const { targetNoteId, dryRun } = options;\n  const targetNoteItem = Zotero.Items.get(targetNoteId || -1);\n  const sharedObj = {};\n  let renderedString = await runTemplate(\n    key,\n    \"targetNoteItem, sharedObj\",\n    [targetNoteItem, sharedObj],\n    {\n      dryRun,\n    },\n  );\n\n  const templateText = addon.api.template.getTemplateText(key);\n  // Find if any line starts with // @use-refresh using regex\n  if (/\\/\\/ @use-refresh/.test(templateText)) {\n    renderedString = wrapYAMLData(renderedString, {\n      template: key,\n    });\n  }\n  return renderedString;\n}\n\nasync function runItemTemplate(\n  key: string,\n  options: {\n    itemIds?: number[];\n    targetNoteId?: number;\n    dryRun?: boolean;\n  } = {},\n): Promise<string> {\n  /**\n   * args:\n   * beforeloop stage: items, copyNoteImage, sharedObj(for temporary variables, shared by all stages)\n   * default stage: topItem, itemNotes, copyNoteImage, sharedObj\n   * afterloop stage: items, copyNoteImage, sharedObj\n   */\n  let { itemIds } = options;\n  const { targetNoteId, dryRun } = options;\n  if (!itemIds) {\n    itemIds = await getItemTemplateData();\n  }\n  if (itemIds?.length === 0) {\n    return \"\";\n  }\n\n  let targetNoteItem: Zotero.Item | undefined = Zotero.Items.get(\n    targetNoteId || -1,\n  );\n  if (!targetNoteItem) {\n    targetNoteItem = undefined;\n  }\n\n  const items = itemIds?.map((id) => Zotero.Items.get(id)) || [];\n\n  const copyImageRefNotes: Zotero.Item[] = [];\n  const copyNoteImage = (noteItem: Zotero.Item) => {\n    copyImageRefNotes.push(noteItem);\n  };\n\n  const sharedObj = {};\n\n  const results = [];\n\n  results.push(\n    await runTemplate(\n      key,\n      \"items, targetNoteItem, copyNoteImage, sharedObj\",\n      [items, targetNoteItem, copyNoteImage, sharedObj],\n      {\n        stage: \"beforeloop\",\n        useDefault: false,\n        dryRun,\n      },\n    ),\n  );\n\n  for (const topItem of items) {\n    const itemNotes = topItem.isNote()\n      ? []\n      : Zotero.Items.get(topItem.getNotes());\n    results.push(\n      await runTemplate(\n        key,\n        \"topItem, targetNoteItem, itemNotes, copyNoteImage, sharedObj\",\n        [topItem, targetNoteItem, itemNotes, copyNoteImage, sharedObj],\n        {\n          dryRun,\n        },\n      ),\n    );\n  }\n\n  results.push(\n    await runTemplate(\n      key,\n      \"items, targetNoteItem, copyNoteImage, sharedObj\",\n      [items, targetNoteItem, copyNoteImage, sharedObj],\n      {\n        stage: \"afterloop\",\n        useDefault: false,\n        dryRun,\n      },\n    ),\n  );\n\n  const html = results.join(\"\\n\");\n  let renderedString = await addon.api.convert.note2html(copyImageRefNotes, {\n    targetNoteItem,\n    html,\n  });\n\n  const templateText = addon.api.template.getTemplateText(key);\n  // Find if any line starts with // @use-refresh using regex\n  if (/\\/\\/ @use-refresh/.test(templateText)) {\n    renderedString = wrapYAMLData(renderedString, {\n      template: key,\n      items: Array.from(items.map((item) => item.libraryKey)),\n    });\n  }\n  return renderedString;\n}\n\nasync function runQuickInsertTemplate(\n  noteItem: Zotero.Item,\n  targetNoteItem: Zotero.Item | undefined,\n  options: {\n    lineIndex?: number;\n    sectionName?: string;\n    selectionText?: string;\n    // For internal use, store the link result\n    _internal?: any;\n    dryRun?: boolean;\n  } = {},\n) {\n  if (!noteItem) return \"\";\n  const link = addon.api.convert.note2link(noteItem, {\n    lineIndex: options.lineIndex,\n    sectionName: options.sectionName,\n    selectionText: options.selectionText,\n  });\n  if (!link) {\n    ztoolkit.log(\"No link found\");\n    return \"\";\n  }\n\n  if (options._internal) {\n    options._internal.link = link;\n  }\n  const noteTitle = noteItem.getNoteTitle().trim();\n  let linkText: string;\n  if (options.selectionText) {\n    linkText = noteTitle ? `#${options.selectionText} - ${noteTitle}` : link;\n  } else if (options.sectionName) {\n    linkText = noteTitle ? `${options.sectionName} - ${noteTitle}` : link;\n  } else if (options.lineIndex) {\n    linkText = noteTitle ? `L${options.lineIndex} - ${noteTitle}` : link;\n  } else {\n    linkText = noteTitle || link;\n  }\n\n  const content = await runTemplate(\n    \"[QuickInsertV3]\",\n    \"link, linkText, subNoteItem, noteItem, lineIndex, sectionName, selectionText\",\n    [\n      link,\n      linkText,\n      noteItem,\n      targetNoteItem,\n      options.lineIndex,\n      options.sectionName,\n      options.selectionText,\n    ],\n    {\n      dryRun: options.dryRun,\n    },\n  );\n  return content;\n}\n\nasync function getItemTemplateData() {\n  // If topItems are pre-defined, use it without asking\n  if (addon.data.template.picker.data.topItemIds?.length > 0) {\n    return addon.data.template.picker.data.topItemIds;\n  }\n  const librarySelectedIds = addon.data.template.picker.data\n    .librarySelectedIds as number[];\n  // If librarySelectedIds are pre-defined, ask user whether to use it\n  if (librarySelectedIds && librarySelectedIds.length !== 0) {\n    const firstSelectedItem = Zotero.Items.get(librarySelectedIds[0]);\n    const data = {} as Record<string, any>;\n    data;\n    new ztoolkit.Dialog(1, 1)\n      .setDialogData(data)\n      .addCell(0, 0, {\n        tag: \"div\",\n        properties: {\n          innerHTML: `${fill(\n            slice(\n              (firstSelectedItem.getField(\"title\") as string) ||\n                firstSelectedItem.key,\n              40,\n            ),\n            40,\n          )} ${\n            librarySelectedIds.length > 1\n              ? `and ${librarySelectedIds.length - 1} more`\n              : \"\"\n          } ${getString(\"templatePicker-itemData-info\")}`,\n        },\n      })\n      .addButton(getString(\"templatePicker-itemData-useLibrary\"), \"useLibrary\")\n      .addButton(getString(\"templatePicker-itemData-useCustom\"), \"useCustom\")\n      .open(getString(\"templatePicker-itemData-title\"));\n    await data.unloadLock.promise;\n    if (data._lastButtonId === \"useLibrary\") {\n      return librarySelectedIds;\n    } else if (data._lastButtonId == \"useCustom\") {\n      return await itemPicker();\n    } else {\n      return [];\n    }\n  }\n  return await itemPicker();\n}\n\nfunction wrapYAMLData(str: string, data: any) {\n  const yamlContent = YAML.stringify(data, 4);\n  return `<hr>\n<pre>${yamlContent}</pre>${str}\n<hr>`;\n}\n"
  },
  {
    "path": "src/modules/template/controller.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { getPref } from \"../../utils/prefs\";\nimport { showHint } from \"../../utils/hint\";\nimport { config } from \"../../../package.json\";\n\nexport {\n  getTemplateKeys,\n  getTemplateText,\n  setTemplate,\n  removeTemplate,\n  initTemplates,\n  importTemplateFromClipboard,\n};\n\nfunction initTemplates() {\n  addon.data.template.data = new ztoolkit.LargePref(\n    `${config.prefsPrefix}.templateKeys`,\n    `${config.prefsPrefix}.template.`,\n    \"parser\",\n  );\n  // Convert old template keys to new format\n  const raw = getPref(\"templateKeys\") as string;\n  let keys = raw ? JSON.parse(raw) : [];\n  if (keys.length > 0) {\n    keys = keys.map((t: { name: string } | string) => {\n      if (typeof t === \"string\") {\n        return t;\n      }\n      return t.name;\n    });\n    setTemplateKeys(Array.from(new Set(keys)));\n  }\n  // Add default templates\n  const templateKeys = getTemplateKeys();\n  for (const defaultTemplate of addon.api.template.DEFAULT_TEMPLATES) {\n    if (!templateKeys.includes(defaultTemplate.name)) {\n      setTemplate(defaultTemplate);\n    }\n  }\n}\n\nfunction getTemplateKeys(): string[] {\n  return addon.data.template.data?.getKeys() || [];\n}\n\nfunction setTemplateKeys(templateKeys: string[]): void {\n  addon.data.template.data?.setKeys(templateKeys);\n}\n\nfunction getTemplateText(keyName: string): string {\n  return addon.data.template.data?.getValue(keyName) || \"\";\n}\n\nfunction setTemplate(template: NoteTemplate): void {\n  addon.data.template.data?.setValue(template.name, template.text);\n}\n\nfunction removeTemplate(keyName: string | undefined): void {\n  if (!keyName) {\n    return;\n  }\n  addon.data.template.data?.deleteKey(keyName);\n}\n\nfunction importTemplateFromClipboard(\n  text?: string,\n  options: {\n    quiet?: boolean;\n  } = {},\n) {\n  if (!text) {\n    text = Zotero.Utilities.Internal.getClipboard(\"text/plain\") || \"\";\n  }\n  if (!text) {\n    return;\n  }\n  let template: Record<string, string>;\n  try {\n    template = YAML.parse(text);\n  } catch (e) {\n    try {\n      template = JSON.parse(text);\n    } catch (e) {\n      template = { name: \"\", text: \"\" };\n    }\n  }\n  if (!template.name) {\n    showHint(\"The copied template is invalid\");\n    return;\n  }\n  if (\n    !options.quiet &&\n    !window.confirm(`Import template \"${template.name}\"?`)\n  ) {\n    return;\n  }\n  setTemplate({ name: template.name, text: template.content });\n  showHint(`Template ${template.name} saved.`);\n  if (addon.data.template.editor.window) {\n    addon.data.template.editor.window.refresh();\n  }\n  return template.name;\n}\n"
  },
  {
    "path": "src/modules/template/data.ts",
    "content": "// Data\nexport { SYSTEM_TEMPLATE_NAMES, DEFAULT_TEMPLATES };\n\nconst SYSTEM_TEMPLATE_NAMES = [\n  \"[QuickInsertV3]\",\n  \"[QuickImportV2]\",\n  \"[QuickNoteV5]\",\n  \"[ExportMDFileNameV2]\",\n  \"[ExportMDFileHeaderV2]\",\n  \"[ExportMDFileContent]\",\n  \"[ExportLatexFileContent]\",\n];\n\n// Non-system templates are removed from default templates\nconst DEFAULT_TEMPLATES = <NoteTemplate[]>[\n  {\n    name: \"[QuickInsertV3]\",\n    text: `// @use-markdown\n[\\${linkText}](\\${link})`,\n  },\n  {\n    name: \"[QuickImportV2]\",\n    text: `<blockquote>\n\\${{\n  return await Zotero.BetterNotes.api.convert.link2html(link, {noteItem, dryRun: _env.dryRun});\n}}$\n</blockquote>`,\n  },\n  {\n    name: \"[QuickNoteV5]\",\n    text: `\\${{\n  let res = \"\";\n  if (annotationItem.annotationComment) {\n    res += await Zotero.BetterNotes.api.convert.md2html(\n      annotationItem.annotationComment\n    );\n  }\n  res += await Zotero.BetterNotes.api.convert.annotations2html([annotationItem], {noteItem, ignoreComment: true});\n  return res;\n}}$`,\n  },\n  {\n    name: \"[ExportMDFileNameV2]\",\n    text: '${(noteItem.getNoteTitle ? noteItem.getNoteTitle().replace(/[/\\\\\\\\?%*:|\"<> ]/g, \"-\") + \"-\" : \"\")}${noteItem.key}.md',\n  },\n  {\n    name: \"[ExportMDFileHeaderV2]\",\n    text: `\\${{\n  let header = {};\n  header.tags = noteItem.getTags().map((_t) => _t.tag);\n  header.parent = noteItem.parentItem\n    ? noteItem.parentItem.getField(\"title\")\n    : \"\";\n  header.collections = (\n    await Zotero.Collections.getCollectionsContainingItems([\n      (noteItem.parentItem || noteItem).id,\n    ])\n  ).map((c) => c.name);\n  return JSON.stringify(header);\n}}$`,\n  },\n  {\n    name: \"[ExportMDFileContent]\",\n    text: `\\${{\n  return mdContent;\n}}$`,\n  },\n  {\n    name: \"[ExportLatexFileContent]\",\n    text: `\\${{\n  return latexContent;\n}}$`,\n  },\n];\n"
  },
  {
    "path": "src/modules/template/editorWindow.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { config, version } from \"../../../package.json\";\nimport { showHint } from \"../../utils/hint\";\nimport { itemPicker } from \"../../utils/itemPicker\";\nimport { getString } from \"../../utils/locale\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { xhtmlEscape } from \"../../utils/str\";\nimport { initializeTemplateEditor } from \"./monacoEditor\";\n\nexport async function showTemplateEditor() {\n  if (\n    !addon.data.template.editor.window ||\n    Components.utils.isDeadWrapper(addon.data.template.editor.window) ||\n    addon.data.template.editor.window.closed\n  ) {\n    const windowArgs = {\n      _initPromise: Zotero.Promise.defer(),\n    };\n    const _window = Zotero.getMainWindow().openDialog(\n      `chrome://${config.addonRef}/content/templateEditor.xhtml`,\n      `${config.addonRef}-templateEditor`,\n      `chrome,centerscreen,resizable,status,dialog=no`,\n      windowArgs,\n    )!;\n    addon.data.template.editor.window = _window;\n    await windowArgs._initPromise.promise;\n    updateData();\n    addon.data.template.editor.tableHelper = new ztoolkit.VirtualizedTable(\n      _window!,\n    )\n      .setContainerId(\"table-container\")\n      .setProp({\n        id: \"templates-table\",\n        // Do not use setLocale, as it modifies the Zotero.Intl.strings\n        // Set locales directly to columns\n        columns: [\n          {\n            dataKey: \"type\",\n            label: \"templateEditor-templateType\",\n            width: 60,\n            fixedWidth: true,\n          },\n          {\n            dataKey: \"name\",\n            label: \"templateEditor-templateName\",\n            fixedWidth: false,\n          },\n        ].map((column) =>\n          Object.assign(column, {\n            label: getString(column.label),\n          }),\n        ),\n        showHeader: true,\n        multiSelect: false,\n        staticColumns: true,\n        disableFontSizeScaling: true,\n      })\n      .setProp(\"getRowCount\", () => addon.data.template.editor.templates.length)\n      .setProp(\"getRowData\", getRowData)\n      .setProp(\"onSelectionChange\", (selection) => {\n        updateEditor();\n        updatePreview();\n      })\n      .setProp(\"onKeyDown\", (event: KeyboardEvent) => {\n        if (\n          event.key == \"Delete\" ||\n          (Zotero.isMac && event.key == \"Backspace\")\n        ) {\n          addon.api.template.removeTemplate(getSelectedTemplateName());\n          refresh(true);\n          return false;\n        }\n        return true;\n      })\n      .setProp(\n        \"getRowString\",\n        (index) => addon.data.template.editor.templates[index] || \"\",\n      )\n      .setProp(\"renderItem\", (index, selection, oldElem, columns) => {\n        let div;\n        if (oldElem) {\n          div = oldElem;\n          div.innerHTML = \"\";\n        } else {\n          div = document.createElement(\"div\");\n          div.className = \"row\";\n        }\n\n        div.classList.toggle(\"selected\", selection.isSelected(index));\n        div.classList.toggle(\"focused\", selection.focused == index);\n        const rowData = getRowData(index);\n\n        for (const column of columns) {\n          const span = document.createElement(\"span\");\n          // @ts-ignore - className property exists on column\n          span.className = `cell ${column?.className}`;\n          const cellData = rowData[column.dataKey as keyof typeof rowData];\n          span.textContent = cellData;\n          if (column.dataKey === \"type\") {\n            span.style.backgroundColor = getRowLabelColor(cellData);\n            span.style.borderRadius = \"4px\";\n            span.style.paddingInline = \"4px\";\n            span.style.marginInline = \"2px -2px\";\n            span.style.textAlign = \"center\";\n            span.textContent = getString(\n              \"templateEditor-templateDisplayType\",\n              cellData,\n            );\n          }\n          div.append(span);\n        }\n        return div;\n      })\n      .render();\n    _window.document\n      .querySelector(\"#templateType-help\")\n      ?.addEventListener(\"click\", (ev) => {\n        new addon.data.ztoolkit.Guide().highlight(_window.document, {\n          title: \"About Template Types\",\n          description: [\"system\", \"item\", \"text\"]\n            .map(\n              (type) =>\n                `${getString(\n                  \"templateEditor-templateDisplayType\",\n                  type,\n                )}: ${getString(\"templateEditor-templateHelp\", type)}`,\n            )\n            .join(\"\\n\"),\n          onNextClick: () => {\n            Zotero.launchURL(\n              \"https://github.com/windingwind/zotero-better-notes/blob/master/docs/about-note-template.md\",\n            );\n          },\n          showButtons: [\"next\", \"close\"],\n          nextBtnText: \"Learn more\",\n          closeBtnText: \"OK\",\n          position: \"center\",\n        });\n      });\n    _window.document\n      .querySelector(\"#create\")\n      ?.addEventListener(\"click\", (ev) => {\n        createTemplate();\n      });\n    _window.document.querySelector(\"#help\")?.addEventListener(\"click\", (ev) => {\n      Zotero.launchURL(\n        \"https://github.com/windingwind/zotero-better-notes/blob/master/docs/about-note-template.md\",\n      );\n    });\n    _window.document.querySelector(\"#more\")?.addEventListener(\"click\", (ev) => {\n      Zotero.launchURL(\n        \"https://github.com/windingwind/zotero-better-notes/discussions/categories/note-templates\",\n      );\n    });\n    _window.document.querySelector(\"#save\")?.addEventListener(\"click\", (ev) => {\n      saveSelectedTemplate();\n    });\n    _window.document\n      .querySelector(\"#delete\")\n      ?.addEventListener(\"click\", (ev) => {\n        deleteSelectedTemplate();\n      });\n    _window.document\n      .querySelector(\"#reset\")\n      ?.addEventListener(\"click\", (ev) => {\n        resetSelectedTemplate();\n      });\n    _window.document\n      .querySelector(\"#share\")\n      ?.addEventListener(\"click\", (ev) => {\n        shareSelectedTemplate();\n      });\n    _window.document\n      .querySelector(\"#importClipboard\")\n      ?.addEventListener(\"click\", (ev) => {\n        addon.hooks.onImportTemplateFromClipboard();\n      });\n    _window.document\n      .querySelector(\"#importNote\")\n      ?.addEventListener(\"click\", (ev) => {\n        importNoteTemplate();\n      });\n    _window.document\n      .querySelector(\"#backup\")\n      ?.addEventListener(\"click\", (ev) => {\n        backupTemplates();\n      });\n    _window.document\n      .querySelector(\"#restore\")\n      ?.addEventListener(\"click\", (ev) => {\n        restoreTemplates(_window);\n      });\n    _window.document\n      .querySelector(\"#editor-type\")\n      ?.addEventListener(\"command\", (ev) => {\n        updateSnippets((ev.target as XULMenuListElement)?.value);\n      });\n    // An ugly hack to make the editor refresh exposed\n    _window.refresh = refresh;\n    addon.data.template.editor.window?.focus();\n    const editorWin = (_window.document.querySelector(\"#editor\") as any)\n      .contentWindow;\n    await waitUtilAsync(() => editorWin?.loadMonaco);\n    const isDark = editorWin?.matchMedia(\n      \"(prefers-color-scheme: dark)\",\n    ).matches;\n    const { monaco, editor } = await editorWin.loadMonaco({\n      language: \"javascript\",\n      theme: \"vs-\" + (isDark ? \"dark\" : \"light\"),\n    });\n\n    // Register custom language for template syntax\n    const success = initializeTemplateEditor(monaco, editor, isDark);\n    if (!success) {\n      ztoolkit.log(\n        \"Failed to register template language, falling back to default\",\n      );\n    }\n\n    addon.data.template.editor.monaco = monaco;\n    addon.data.template.editor.editor = editor;\n    await initFormats();\n  }\n}\n\nasync function refresh(force = false) {\n  const win = addon.data.template.editor.window;\n  if (!win) {\n    return;\n  }\n  if (!force && isTemplateNotSaved()) {\n    const save = win.confirm(getString(\"alert-templateEditor-unsaved\"));\n    if (save) {\n      saveSelectedTemplate();\n      return;\n    }\n  }\n  updateData();\n  updateTable();\n  updateEditor();\n  await updatePreview();\n}\n\nfunction getRowData(index: number) {\n  const rowData = addon.data.template.editor.templates[index];\n  if (!rowData) {\n    return {\n      name: \"\",\n      type: \"unknown\",\n    };\n  }\n  let templateType = \"unknown\";\n  let templateDisplayName = rowData;\n  if (addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(rowData)) {\n    templateType = \"system\";\n    templateDisplayName = getString(\n      \"templateEditor-templateDisplayName\",\n      // Exclude the first and last character, which are '[' and ']'\n      rowData.slice(1, -1),\n    );\n  } else if (rowData.toLowerCase().startsWith(\"[item]\")) {\n    templateType = \"item\";\n    templateDisplayName = rowData.slice(6);\n  } else if (rowData.toLowerCase().startsWith(\"[text]\")) {\n    templateType = \"text\";\n    templateDisplayName = rowData.slice(6);\n  }\n  return {\n    name: templateDisplayName,\n    type: templateType,\n  };\n}\n\nfunction getRowLabelColor(type: string) {\n  switch (type) {\n    case \"system\":\n      return \"var(--accent-yellow)\";\n    case \"item\":\n      return \"var(--accent-green)\";\n    case \"text\":\n      return \"var(--accent-azure)\";\n    default:\n      return \"var(--accent-red)\";\n  }\n}\n\nfunction isTemplateNotSaved() {\n  const name = getSelectedTemplateName();\n  if (!name) {\n    return false;\n  }\n  const text = addon.data.template.editor.editor?.getValue() as string;\n  const savedText = addon.api.template.getTemplateText(name);\n  if (text !== savedText) {\n    return true;\n  }\n  const { type, name: displayName } = getRowData(getSelectedIndex());\n  const templateType =\n    addon.data.template.editor.window?.document.querySelector(\n      \"#editor-type\",\n    ) as XULMenuListElement;\n  const templateName =\n    addon.data.template.editor.window?.document.querySelector(\n      \"#editor-name\",\n    ) as HTMLInputElement;\n  return type !== templateType.value || displayName !== templateName.value;\n}\n\nfunction updateData() {\n  addon.data.template.editor.templates = addon.api.template.getTemplateKeys();\n}\n\nfunction updateTable(selectId?: number) {\n  addon.data.template.editor.tableHelper?.render(selectId);\n}\n\nfunction updateEditor() {\n  const name = getSelectedTemplateName();\n  const { type, name: displayName } = getRowData(getSelectedIndex());\n  const templateText = addon.api.template.getTemplateText(name);\n  const win = addon.data.template.editor.window;\n  if (!win) {\n    return;\n  }\n\n  const templateType = win.document.querySelector(\n    \"#editor-type\",\n  ) as XULMenuListElement;\n  const templateName = win.document.querySelector(\n    \"#editor-name\",\n  ) as HTMLInputElement;\n  const editor = win?.document.getElementById(\"editor\") as HTMLIFrameElement;\n  const saveTemplate = win?.document.getElementById(\n    \"save\",\n  ) as XULButtonElement | null;\n  const deleteTemplate = win?.document.getElementById(\n    \"delete\",\n  ) as XULButtonElement | null;\n  const resetTemplate = win?.document.getElementById(\n    \"reset\",\n  ) as XULButtonElement | null;\n  const shareTemplate = win?.document.getElementById(\n    \"share\",\n  ) as XULButtonElement | null;\n  const formats = win?.document.getElementById(\n    \"formats-container\",\n  ) as HTMLDivElement;\n  const snippets = win?.document.getElementById(\n    \"snippets-container\",\n  ) as HTMLDivElement;\n  if (!name) {\n    templateType.value = \"unknown\";\n    templateType.setAttribute(\"disabled\", \"true\");\n    templateName.value = \"\";\n    templateName.setAttribute(\"disabled\", \"true\");\n    editor.hidden = true;\n    saveTemplate?.setAttribute(\"disabled\", \"true\");\n    deleteTemplate?.setAttribute(\"disabled\", \"true\");\n    deleteTemplate && (deleteTemplate.hidden = false);\n    shareTemplate?.setAttribute(\"disabled\", \"true\");\n    resetTemplate && (resetTemplate.hidden = true);\n    formats.hidden = true;\n    snippets.hidden = true;\n  } else {\n    templateType.value = type;\n    templateName.value = displayName;\n    if (!addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(name)) {\n      templateType.removeAttribute(\"disabled\");\n      templateName.removeAttribute(\"disabled\");\n      deleteTemplate && (deleteTemplate.hidden = false);\n      resetTemplate && (resetTemplate.hidden = true);\n    } else {\n      templateType.setAttribute(\"disabled\", \"true\");\n      templateName.setAttribute(\"disabled\", \"true\");\n      deleteTemplate?.setAttribute(\"disabled\", \"true\");\n      deleteTemplate && (deleteTemplate.hidden = true);\n      resetTemplate && (resetTemplate.hidden = false);\n    }\n    addon.data.template.editor.editor.setValue(templateText);\n    editor.hidden = false;\n    saveTemplate?.removeAttribute(\"disabled\");\n    deleteTemplate?.removeAttribute(\"disabled\");\n    shareTemplate?.removeAttribute(\"disabled\");\n    formats.hidden = false;\n    snippets.hidden = false;\n    updateSnippets(\n      (type === \"system\"\n        ? name.slice(1, -1)\n        : type) as keyof typeof snippetsStore,\n    );\n  }\n}\n\nasync function initFormats() {\n  const container =\n    addon.data.template.editor.window?.document.querySelector(\n      \"#formats-container\",\n    );\n  if (!container) {\n    return;\n  }\n  container.innerHTML = \"\";\n\n  // Add formats to the container, with each format as a button\n  for (const format of formatStore) {\n    const button = document.createElement(\"div\");\n    button.classList.add(\"format\", format.name);\n    button.style.backgroundImage = `url(\"chrome://${config.addonRef}/content/icons/editor/${format.name}.svg\")`;\n    button.dataset.l10nId = `${config.addonRef}-format-${format.name}`;\n    button.addEventListener(\"click\", () => {\n      const { editor, monaco } = addon.data.template.editor;\n      const selection = editor.getSelection();\n      const range = new monaco.Range(\n        selection.startLineNumber,\n        selection.startColumn,\n        selection.endLineNumber,\n        selection.endColumn,\n      );\n      const textTemplate = format.code;\n      const source =\n        editor.getModel().getValueInRange(range) ||\n        format.defaultText ||\n        \"text\";\n      const text = textTemplate.replace(\"${text}\", source);\n      editor.executeEdits(\"\", [\n        {\n          range,\n          text,\n          forceMoveMarkers: true,\n        },\n      ]);\n      // Keep the selection after inserting the format\n      const textBeforeReplace = textTemplate.split(\"${text}\")[0];\n      const textBeforeLines = textBeforeReplace.split(\"\\n\");\n      const textLines = source.split(\"\\n\");\n\n      // Calculate the new range\n      const startLineNumber =\n        selection.startLineNumber + textBeforeLines.length - 1;\n      const startColumn =\n        textBeforeLines.length === 1\n          ? selection.startColumn + textBeforeReplace.length\n          : textBeforeLines.slice(-1)[0].length + 1;\n      const endLineNumber = startLineNumber + textLines.length - 1;\n      const endColumn =\n        textLines.length === 1\n          ? startColumn + source.length\n          : textLines.slice(-1)[0].length + 1;\n\n      const newRange = new monaco.Range(\n        startLineNumber,\n        startColumn,\n        endLineNumber,\n        endColumn,\n      );\n\n      editor.setSelection(newRange);\n\n      // If editor does not contain a line start with // @use-markdown, insert it\n      if (\n        !editor\n          .getModel()\n          .getLinesContent()\n          .some((line: any) => line.startsWith(\"// @use-markdown\"))\n      ) {\n        editor.executeEdits(\"\", [\n          {\n            range: new monaco.Range(1, 1, 1, 1),\n            text: \"// @use-markdown\\n\",\n            forceMoveMarkers: true,\n          },\n        ]);\n      }\n    });\n    container.appendChild(button);\n  }\n}\n\nasync function updateSnippets(type: string) {\n  const container = addon.data.template.editor.window?.document.querySelector(\n    \"#snippets-container\",\n  );\n  if (!container) {\n    return;\n  }\n  container.innerHTML = \"\";\n\n  const snippets = (\n    snippetsStore[type as keyof typeof snippetsStore] || []\n  ).concat(snippetsStore.global);\n  if (!snippets) {\n    return;\n  }\n\n  // Add snippets to the container, with each snippet as a button\n  // Dragging the button to the editor will insert the snippet\n  for (const snippet of snippets) {\n    const button = document.createElement(\"span\");\n    button.classList.add(\"snippet\", snippet.type);\n    button.dataset.l10nId = `${config.addonRef}-snippet-${snippet.name}`;\n    button.addEventListener(\"click\", () => {\n      const { editor, monaco } = addon.data.template.editor;\n      const selection = editor.getSelection();\n      const range = new monaco.Range(\n        selection.startLineNumber,\n        selection.startColumn,\n        selection.endLineNumber,\n        selection.endColumn,\n      );\n      const text = snippet.code;\n      editor.executeEdits(\"\", [\n        {\n          range,\n          text,\n          forceMoveMarkers: true,\n        },\n      ]);\n      // Select the inserted text, should compute the new range, as the text can be multi-line\n      const newRange = new monaco.Range(\n        selection.startLineNumber,\n        selection.startColumn,\n        selection.startLineNumber + text.split(\"\\n\").length - 1,\n        text.split(\"\\n\").slice(-1)[0].length + 1,\n      );\n      editor.setSelection(newRange);\n    });\n    container.appendChild(button);\n  }\n}\n\nasync function updatePreview() {\n  const name = getSelectedTemplateName();\n  const html = xhtmlEscape(\n    await addon.api.template.renderTemplatePreview(name),\n  );\n\n  const win = addon.data.template.editor.window;\n  const container = win?.document.getElementById(\"preview-container\");\n  if (container) {\n    container.innerHTML = html;\n  }\n}\n\nfunction getSelectedTemplateName() {\n  const selectedTemplate =\n    addon.data.template.editor.templates[getSelectedIndex()];\n  return selectedTemplate || \"\";\n}\n\nfunction getSelectedIndex() {\n  const selectedIndex =\n    addon.data.template.editor.tableHelper?.treeInstance.selection.selected\n      .values()\n      .next().value;\n  return selectedIndex as number;\n}\n\nfunction createTemplate() {\n  const template: NoteTemplate = {\n    name: `New Template: ${new Date().getTime()}`,\n    text: \"\",\n  };\n  addon.api.template.setTemplate(template);\n  refresh();\n}\n\nasync function importNoteTemplate() {\n  const ids = await itemPicker();\n  const note: Zotero.Item = Zotero.Items.get(ids).filter((item: Zotero.Item) =>\n    item.isNote(),\n  )[0];\n  if (!note) {\n    return;\n  }\n  const template: NoteTemplate = {\n    name: `Template from ${note.getNoteTitle()}: ${new Date().getTime()}`,\n    text: addon.api.sync.getNoteStatus(note.id)?.content || \"\",\n  };\n  addon.api.template.setTemplate(template);\n  refresh();\n}\n\nfunction saveSelectedTemplate() {\n  const win = addon.data.template.editor.window;\n  if (!win) {\n    return;\n  }\n\n  const templateType = win.document.querySelector(\n    \"#editor-type\",\n  ) as XULMenuListElement;\n  const templateName = win.document.querySelector(\n    \"#editor-name\",\n  ) as HTMLInputElement;\n\n  const name = getSelectedTemplateName();\n  const type = templateType.value;\n  let modifiedName: string;\n  if (type === \"system\") {\n    modifiedName = name;\n  } else if (type === \"unknown\") {\n    modifiedName = templateName.value;\n  } else {\n    modifiedName = `[${type}]${templateName.value}`;\n  }\n\n  if (\n    addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(name) &&\n    modifiedName !== name\n  ) {\n    showHint(\n      `Template ${name} is a system template. Modifying template name is not allowed.`,\n    );\n    return;\n  }\n\n  const template = {\n    name: modifiedName,\n    text: addon.data.template.editor.editor.getValue() as string,\n  };\n  if (\n    template.text.includes(\n      \"# This template is specifically for importing/sharing\",\n    )\n  ) {\n    const useImport = addon.data.template.editor.window?.confirm(\n      getString(\"alert-templateEditor-shouldImport\"),\n    );\n    if (useImport) {\n      addon.hooks.onImportTemplateFromClipboard(template.text);\n      refresh(true);\n      return;\n    }\n  }\n\n  addon.api.template.setTemplate(template);\n  if (name !== modifiedName) {\n    addon.api.template.removeTemplate(name);\n  }\n  showHint(`Template ${modifiedName} saved.`);\n  const selectedId =\n    addon.data.template.editor.tableHelper?.treeInstance.selection.selected\n      .values()\n      .next().value;\n  refresh(true).then(() => updateTable(selectedId));\n}\n\nfunction deleteSelectedTemplate() {\n  const name = getSelectedTemplateName();\n  if (addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(name)) {\n    showHint(\n      `Template ${name} is a system template. Removing system template is note allowed.`,\n    );\n    return;\n  }\n  addon.api.template.removeTemplate(name);\n  refresh(true);\n}\n\nfunction resetSelectedTemplate() {\n  const name = getSelectedTemplateName();\n  if (addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(name)) {\n    addon.data.template.editor.editor.setValue(\n      addon.api.template.DEFAULT_TEMPLATES.find((t) => t.name === name)?.text ||\n        \"\",\n    );\n    showHint(`Template ${name} is reset. Please save before leaving.`);\n  }\n}\n\nfunction shareSelectedTemplate() {\n  const name = getSelectedTemplateName();\n  if (!name) {\n    return;\n  }\n  saveSelectedTemplate();\n  const content = addon.api.template.getTemplateText(name);\n  const yaml = `# This template is specifically for importing/sharing, using better \n# notes 'import from clipboard': copy the content and\n# goto Zotero menu bar, click Tools->New Template from Clipboard.  \n# Do not copy-paste this to better notes template editor directly.\nname: \"${name}\"\nzoteroVersion: \"${Zotero.version}\"\npluginVersion: \"${version}\"\nsavedAt: \"${new Date().toISOString()}\"\ncontent: |-\n${content\n  .split(\"\\n\")\n  .map((line) => `  ${line}`)\n  .join(\"\\n\")}\n`;\n  new ztoolkit.Clipboard().addText(yaml, \"text/plain\").copy();\n  showHint(\n    `Template ${name} is copied to clipboard. To import it, goto Zotero menu->Tools->New Template from Clipboard.  `,\n  );\n}\n\nasync function backupTemplates() {\n  const time = new Date().toISOString().replace(/:/g, \"-\");\n  const filepath = await new ztoolkit.FilePicker(\n    \"Save backup file\",\n    \"save\",\n    [[\"yaml\", \"*.yaml\"]],\n    `bn-template-backup-${time}.yaml`,\n  ).open();\n  if (!filepath) {\n    return;\n  }\n  const keys = addon.api.template.getTemplateKeys();\n  const templates = keys.map((key) => {\n    return {\n      name: key,\n      text: addon.api.template.getTemplateText(key),\n    };\n  });\n  const yaml = YAML.stringify(templates);\n  await Zotero.File.putContentsAsync(filepath, yaml);\n}\n\nasync function restoreTemplates(win: Window) {\n  const filepath = await new ztoolkit.FilePicker(\n    \"Open backup file\",\n    \"open\",\n    [[\"yaml\", \"*.yaml\"]],\n    undefined,\n    win,\n    \"text\",\n  ).open();\n  if (!filepath) {\n    return;\n  }\n  const yaml = (await Zotero.File.getContentsAsync(filepath)) as string;\n  const templates = YAML.parse(yaml) as NoteTemplate[];\n  const existingNames = addon.api.template.getTemplateKeys();\n\n  for (const t of templates) {\n    if (existingNames.includes(t.name)) {\n      const overwrite = win.confirm(\n        `Template ${t.name} already exists. Overwrite?`,\n      );\n      if (!overwrite) {\n        continue;\n      }\n    }\n    addon.api.template.setTemplate(t);\n  }\n  await refresh(true);\n}\n\nconst formatStore = [\n  {\n    name: \"bold\",\n    code: \"**${text}**\",\n  },\n  {\n    name: \"italic\",\n    code: \"_${text}_\",\n  },\n  {\n    name: \"strikethrough\",\n    code: \"~~${text}~~\",\n  },\n  {\n    name: \"underline\",\n    code: \"<u>${text}</u>\",\n  },\n  {\n    name: \"superscript\",\n    code: \"<sup>${text}</sup>\",\n  },\n  { name: \"subscript\", code: \"<sub>${text}</sub>\" },\n  {\n    name: \"textColor\",\n    code: '<span style=\"color: orange\">${text}</span>',\n  },\n  {\n    name: \"link\",\n    code: \"[${text}](url)\",\n  },\n  {\n    name: \"quote\",\n    code: \"\\n> ${text}\",\n  },\n  {\n    name: \"monospaced\",\n    code: \"<code>${text}</code>\",\n  },\n  {\n    name: \"code\",\n    code: \"\\n<pre>\\n${text}\\n</pre>\\n\",\n  },\n  {\n    name: \"table\",\n    code: \"\\n| ${text} | Header 2 |\\n|----------|----------|\\n| Cell 1   | Cell 2   |\\n\",\n  },\n  {\n    name: \"h1\",\n    code: \"\\n# ${text}\",\n  },\n  {\n    name: \"h2\",\n    code: \"\\n## ${text}\",\n  },\n  {\n    name: \"h3\",\n    code: \"\\n### ${text}\",\n  },\n  {\n    name: \"bullet\",\n    code: \"\\n- ${text}\",\n  },\n  {\n    name: \"numbered\",\n    code: \"\\n1. ${text}\",\n  },\n  {\n    name: \"inlineMath\",\n    code: \"$${text}$\",\n    defaultText: \"e=mc^2\",\n  },\n  {\n    name: \"blockMath\",\n    code: \"\\n$$\\n${text}\\n$$\\n\",\n    defaultText: \"e=mc^2\",\n  },\n  {\n    name: \"inlineScript\",\n    code: \"${ ${text} }\",\n    defaultText: \"Zotero.version\",\n  },\n  {\n    name: \"blockScript\",\n    code: \"\\n${{\\n  ${text}\\n}}$\\n\",\n    defaultText: \"return Zotero.version;\",\n  },\n];\n\nconst snippetsStore = {\n  global: [\n    {\n      name: \"useMarkdown\",\n      code: \"\\n// @use-markdown\\n\",\n      type: \"syntax\",\n    },\n    {\n      name: \"useRefresh\",\n      code: \"\\n// @use-refresh\\n\",\n      type: \"syntax\",\n    },\n    {\n      name: \"dryRunFlag\",\n      code: \"_env.dryRun\",\n      type: \"variable\",\n    },\n  ],\n  item: [\n    {\n      name: \"itemBeforeLoop\",\n      code: \"\\n// @beforeloop-begin\\n\\n// @beforeloop-end\\n\",\n      type: \"syntax\",\n    },\n    {\n      name: \"itemInLoop\",\n      code: \"\\n// @default-begin\\n\\n// @default-end\\n\",\n      type: \"syntax\",\n    },\n    {\n      name: \"itemAfterLoop\",\n      code: \"\\n// @afterloop-begin\\n\\n// @afterloop-end\\n\",\n      type: \"syntax\",\n    },\n    {\n      name: \"itemItems\",\n      code: \"items\",\n      type: \"variable\",\n    },\n    {\n      name: \"itemItem\",\n      code: \"item\",\n      type: \"variable\",\n    },\n    {\n      name: \"itemTopItem\",\n      code: \"topItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"itemTargetNoteItem\",\n      code: \"targetNoteItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"itemCopyNoteImage\",\n      code: \"${copyNoteImage(...)}\",\n      type: \"expression\",\n    },\n    {\n      name: \"itemSharedObj\",\n      code: \"sharedObj\",\n      type: \"variable\",\n    },\n    {\n      name: \"itemFieldTitle\",\n      code: '${topItem.getField(\"title\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldAbstract\",\n      code: '${topItem.getField(\"abstractNote\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldCitKey\",\n      code: '${topItem.getField(\"citationKey\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldDate\",\n      code: '${topItem.getField(\"date\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldDOI\",\n      code: '${topItem.getField(\"DOI\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldDOIURL\",\n      code: `\n\\${{\nconst doi = topItem.getField(\"DOI\");\nconst url = topItem.getField(\"url\");\nif (doi) {\n  return \\`DOI: <a href=\"https://doi.org/\\${doi}\">\\${doi}</a>\\`;\n} else {\n  return \\`URL: <a href=\"\\${url}\">\\${url}</a>\\`;\n}\n}}$\n`,\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldAuthors\",\n      code: '${topItem.getCreators().map((v)=>v.firstName+\" \"+v.lastName).join(\"; \")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldJournal\",\n      code: '${topItem.getField(\"publicationTitle\")}',\n      type: \"expression\",\n    },\n    {\n      name: \"itemFieldTitleTranslation\",\n      code: '${topItem.getField(\"titleTranslation\")}',\n      type: \"expression\",\n    },\n  ],\n  text: [\n    {\n      name: \"textTargetNoteItem\",\n      code: \"targetNoteItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"textSharedObj\",\n      code: \"sharedObj\",\n      type: \"variable\",\n    },\n  ],\n  QuickInsertV3: [\n    {\n      name: \"quickInsertLink\",\n      code: \"link\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickInsertLinkText\",\n      code: \"linkText\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickInsertSubNoteItem\",\n      code: \"subNoteItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickInsertNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n  ],\n  QuickImportV2: [\n    {\n      name: \"quickImportLink\",\n      code: \"link\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickImportNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n  ],\n  QuickNoteV5: [\n    {\n      name: \"quickNoteAnnotationItem\",\n      code: \"annotationItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickNoteTopItem\",\n      code: \"topItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"quickNoteNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n  ],\n  ExportMDFileNameV2: [\n    {\n      name: \"exportMDFileNameNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n  ],\n  ExportMDFileHeaderV2: [\n    {\n      name: \"exportMDFileHeaderNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n  ],\n  ExportMDFileContent: [\n    {\n      name: \"exportMDFileContentNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"exportMDFileContentMDContent\",\n      code: \"mdContent\",\n      type: \"variable\",\n    },\n  ],\n  ExportLatexFileContent: [\n    {\n      name: \"exportLatexFileContentNoteItem\",\n      code: \"noteItem\",\n      type: \"variable\",\n    },\n    {\n      name: \"exportLatexFileContentLatexContent\",\n      code: \"latexContent\",\n      type: \"variable\",\n    },\n  ],\n};\n"
  },
  {
    "path": "src/modules/template/monacoEditor.ts",
    "content": "import { config } from \"../../../package.json\";\n\n/**\n * Monaco Editor integration for template editing\n * Handles custom language registration, syntax highlighting, and auto-completion\n */\n\nexport async function loadTemplateTypings(monaco: any) {\n  try {\n    // Load template-specific TypeScript definitions\n    const response = await Zotero.HTTP.request(\n      \"GET\",\n      `chrome://${config.addonRef}/content/lib/js/ztypes.d.ts`,\n    );\n\n    if (response.status === 200) {\n      const tsLibPath = \"ts:filename/index.d.ts\";\n      // Add TypeScript definitions to Monaco's JavaScript defaults\n      monaco.languages.typescript.javascriptDefaults.addExtraLib(\n        response.responseText,\n        tsLibPath,\n      );\n\n      // Configure TypeScript compiler options for templates\n      monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n        target: monaco.languages.typescript.ScriptTarget.ES2015,\n        allowNonTsExtensions: true,\n        allowJs: true,\n        checkJs: true,\n        strict: false,\n        noImplicitAny: false,\n        noImplicitReturns: false,\n        noEmitOnError: false,\n        module: monaco.languages.typescript.ModuleKind.None,\n      });\n\n      ztoolkit.log(\"Template TypeScript definitions loaded successfully\");\n    }\n  } catch (error) {\n    ztoolkit.log(\"Failed to load template TypeScript definitions:\", error);\n  }\n}\n\nexport function registerTemplateLanguage(monaco: any) {\n  try {\n    // Load TypeScript definitions for template globals\n    loadTemplateTypings(monaco);\n\n    // Register the custom template-markdown language\n    monaco.languages.register({ id: \"template-markdown\" });\n\n    // Function to tokenize JavaScript code using Monaco's built-in tokenizer\n    const tokenizeJavaScript = (code: string) => {\n      try {\n        // Use TypeScript tokenization for better template global support\n        return monaco.editor.tokenize(code, \"javascript\");\n      } catch (e) {\n        ztoolkit.log(\n          \"JavaScript tokenization failed, using fallback highlighting\",\n        );\n        return null;\n      }\n    };\n\n    // Define tokenization rules using the correct Monaco API\n    monaco.languages.setTokensProvider(\"template-markdown\", {\n      getInitialState: () => ({\n        stack: [],\n        inJsBlock: false, // Track if we're inside a JavaScript block ${{...}}$\n        inJsExpr: false, // Track if we're inside a JavaScript expression ${...}\n        jsExprDepth: 0, // Track nesting depth for JavaScript expressions\n        jsBlockDepth: 0, // Track nesting depth for JavaScript expressions\n        clone: function () {\n          return {\n            stack: [...this.stack],\n            inJsBlock: this.inJsBlock,\n            inJsExpr: this.inJsExpr,\n            jsExprDepth: this.jsExprDepth,\n            jsBlockDepth: this.jsBlockDepth,\n            clone: this.clone,\n            equals: this.equals,\n          };\n        },\n        equals: function (other: any) {\n          return (\n            this.stack.length === other.stack.length &&\n            this.stack.every(\n              (item: any, index: number) => item === other.stack[index],\n            ) &&\n            this.inJsBlock === other.inJsBlock &&\n            this.inJsExpr === other.inJsExpr &&\n            this.jsExprDepth === other.jsExprDepth &&\n            this.jsBlockDepth === other.jsBlockDepth\n          );\n        },\n      }),\n      tokenize: (line: string, state: any) => {\n        const tokens: any[] = [];\n        let pos = 0;\n\n        // If we're already inside a JavaScript expression from previous lines\n        if (state.inJsExpr) {\n          let depth = state.jsExprDepth;\n          let i = 0;\n          let foundEnd = false;\n\n          // Parse character by character to find the end of the expression\n          while (i < line.length) {\n            if (line[i] === \"{\") {\n              depth++;\n            } else if (line[i] === \"}\") {\n              depth--;\n              if (depth === 0) {\n                // Found the end of the expression\n                if (i > 0) {\n                  // Tokenize the JavaScript content before the closing }\n                  const jsCode = line.substring(0, i);\n                  const jsLines = tokenizeJavaScript(jsCode);\n                  if (jsLines && jsLines.length > 0) {\n                    const jsTokens = jsLines[0];\n                    for (const jsToken of jsTokens) {\n                      tokens.push({\n                        startIndex: jsToken.offset,\n                        scopes: `${jsToken.type}.embedded.template`,\n                      });\n                    }\n                  } else {\n                    // Fallback highlighting\n                    tokens.push({\n                      startIndex: 0,\n                      scopes: \"source.js.embedded.template\",\n                    });\n                  }\n                }\n                // Add the closing delimiter\n                tokens.push({\n                  startIndex: i,\n                  scopes: \"delimiter.js-expression.template\",\n                });\n                state.inJsExpr = false;\n                state.jsExprDepth = 0;\n                pos = i + 1;\n                foundEnd = true;\n                break;\n              }\n            }\n            i++;\n          }\n\n          if (!foundEnd) {\n            // Entire line is still inside the JavaScript expression\n            state.jsExprDepth = depth;\n            const jsLines = tokenizeJavaScript(line);\n            if (jsLines && jsLines.length > 0) {\n              const jsTokens = jsLines[0];\n              for (const jsToken of jsTokens) {\n                tokens.push({\n                  startIndex: jsToken.offset,\n                  scopes: `${jsToken.type}.embedded.template`,\n                });\n              }\n            } else {\n              // Fallback highlighting\n              tokens.push({\n                startIndex: 0,\n                scopes: \"source.js.embedded.template\",\n              });\n            }\n            return { tokens, endState: state.clone() };\n          }\n        }\n\n        // If we're already inside a JavaScript block from previous lines\n        if (state.inJsBlock) {\n          const endBlockPos = line.indexOf(\"}}$\");\n          if (endBlockPos !== -1) {\n            // We found the end of the block\n            if (endBlockPos > 0) {\n              // Tokenize the JavaScript content before the closing }}$\n              const jsCode = line.substring(0, endBlockPos);\n              const jsLines = tokenizeJavaScript(jsCode);\n              if (jsLines && jsLines.length > 0) {\n                const jsTokens = jsLines[0];\n                for (const jsToken of jsTokens) {\n                  tokens.push({\n                    startIndex: jsToken.offset,\n                    scopes: `${jsToken.type}.embedded.template`,\n                  });\n                }\n              } else {\n                // Fallback highlighting\n                tokens.push({\n                  startIndex: 0,\n                  scopes: \"source.js.embedded.template\",\n                });\n              }\n            }\n            // Add the closing delimiter\n            tokens.push({\n              startIndex: endBlockPos,\n              scopes: \"delimiter.js-block.template\",\n            });\n            state.inJsBlock = false;\n            pos = endBlockPos + 3;\n          } else {\n            // Entire line is JavaScript code\n            const jsLines = tokenizeJavaScript(line);\n            if (jsLines && jsLines.length > 0) {\n              const jsTokens = jsLines[0];\n              for (const jsToken of jsTokens) {\n                tokens.push({\n                  startIndex: jsToken.offset,\n                  scopes: `${jsToken.type}.embedded.template`,\n                });\n              }\n            } else {\n              // Fallback highlighting\n              tokens.push({\n                startIndex: 0,\n                scopes: \"source.js.embedded.template\",\n              });\n            }\n            return { tokens, endState: state.clone() };\n          }\n        }\n\n        // Check for template directives\n        const directiveMatch = line.match(\n          /^\\/\\/\\s*@(use-markdown|use-refresh|beforeloop-begin|beforeloop-end|default-begin|default-end|afterloop-begin|afterloop-end)\\s*$/,\n        );\n        if (directiveMatch) {\n          tokens.push({ startIndex: 0, scopes: \"comment.directive.template\" });\n          return { tokens, endState: state.clone() };\n        }\n\n        // Check for regular comments\n        if (line.trim().startsWith(\"//\")) {\n          tokens.push({ startIndex: 0, scopes: \"comment.line.template\" });\n          return { tokens, endState: state.clone() };\n        }\n\n        // Check for markdown headers\n        const headerMatch = line.match(/^(#{1,6})\\s/);\n        if (headerMatch) {\n          tokens.push({ startIndex: 0, scopes: \"markup.heading.template\" });\n          return { tokens, endState: state.clone() };\n        }\n\n        // Process the line character by character for JavaScript expressions\n        while (pos < line.length) {\n          // Check for JavaScript expressions ${...}\n          if (line.substr(pos, 2) === \"${\" && line.substr(pos, 3) !== \"${{\") {\n            tokens.push({\n              startIndex: pos,\n              scopes: \"delimiter.js-expression.template\",\n            });\n            pos += 2;\n\n            // Find the closing }\n            let depth = 1;\n            const jsStart = pos;\n            let jsEnd = pos;\n            let foundEnd = false;\n\n            while (jsEnd < line.length && depth > 0) {\n              if (line[jsEnd] === \"{\") depth++;\n              else if (line[jsEnd] === \"}\") depth--;\n              if (depth === 0) {\n                foundEnd = true;\n              }\n              jsEnd++;\n            }\n\n            if (foundEnd) {\n              // Single-line JavaScript expression\n              if (jsStart < jsEnd - 1) {\n                // Extract JavaScript code and tokenize it\n                const jsCode = line.substring(jsStart, jsEnd - 1);\n                if (jsCode.trim()) {\n                  const jsLines = tokenizeJavaScript(jsCode);\n                  if (jsLines && jsLines.length > 0) {\n                    // Monaco tokenize returns an array of lines, we only have one line\n                    const jsTokens = jsLines[0];\n                    for (const jsToken of jsTokens) {\n                      tokens.push({\n                        startIndex: jsStart + jsToken.offset,\n                        scopes: `${jsToken.type}.embedded.template`,\n                      });\n                    }\n                  } else {\n                    // Fallback highlighting for JavaScript expressions\n                    const jsCodeForHighlight = jsCode;\n                    const jsKeywords =\n                      /\\b(const|let|var|function|return|if|else|for|while|do|switch|case|break|continue|try|catch|finally|throw|new|this|typeof|instanceof|in|of|true|false|null|undefined)\\b/g;\n                    const jsStrings =\n                      /\"([^\"\\\\]|\\\\.)*\"|'([^'\\\\]|\\\\.)*'|`([^`\\\\]|\\\\.)*`/g;\n                    const jsNumbers = /\\b\\d+(\\.\\d+)?\\b/g;\n\n                    let lastIndex = jsStart;\n                    let match;\n\n                    // Highlight keywords\n                    while (\n                      (match = jsKeywords.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      if (lastIndex < jsStart + match.index) {\n                        tokens.push({\n                          startIndex: lastIndex,\n                          scopes: \"source.js.embedded.template\",\n                        });\n                      }\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"keyword.embedded.template\",\n                      });\n                      lastIndex = jsStart + match.index + match[0].length;\n                    }\n\n                    // Reset regex and highlight strings\n                    jsKeywords.lastIndex = 0;\n                    while (\n                      (match = jsStrings.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"string.embedded.template\",\n                      });\n                    }\n\n                    // Reset regex and highlight numbers\n                    jsStrings.lastIndex = 0;\n                    while (\n                      (match = jsNumbers.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"number.embedded.template\",\n                      });\n                    }\n\n                    // Fill remaining with default JS highlighting\n                    if (lastIndex < jsEnd - 1) {\n                      tokens.push({\n                        startIndex: lastIndex,\n                        scopes: \"source.js.embedded.template\",\n                      });\n                    }\n                  }\n                } else {\n                  tokens.push({\n                    startIndex: jsStart,\n                    scopes: \"source.js.embedded.template\",\n                  });\n                }\n              }\n              tokens.push({\n                startIndex: jsEnd - 1,\n                scopes: \"delimiter.js-expression.template\",\n              });\n              pos = jsEnd;\n              continue;\n            } else {\n              // Multi-line JavaScript expression - mark state and tokenize the rest of the line as JS\n              state.inJsExpr = true;\n              state.jsExprDepth = depth;\n              if (jsStart < line.length) {\n                const jsCode = line.substring(jsStart);\n                const jsLines = tokenizeJavaScript(jsCode);\n                if (jsLines && jsLines.length > 0) {\n                  const jsTokens = jsLines[0];\n                  for (const jsToken of jsTokens) {\n                    tokens.push({\n                      startIndex: jsStart + jsToken.offset,\n                      scopes: `${jsToken.type}.embedded.template`,\n                    });\n                  }\n                } else {\n                  tokens.push({\n                    startIndex: jsStart,\n                    scopes: \"source.js.embedded.template\",\n                  });\n                }\n              }\n              return { tokens, endState: state.clone() };\n            }\n          }\n\n          // Check for JavaScript blocks ${{...}}$\n          if (line.substr(pos, 3) === \"${{\") {\n            tokens.push({\n              startIndex: pos,\n              scopes: \"delimiter.js-block.template\",\n            });\n            pos += 3;\n\n            // Find the closing }}$\n            const jsStart = pos;\n            const endPos = line.indexOf(\"}}$\", pos);\n            if (endPos !== -1) {\n              // Single-line JavaScript block\n              if (jsStart < endPos) {\n                // Extract JavaScript code and tokenize it\n                const jsCode = line.substring(jsStart, endPos);\n                if (jsCode.trim()) {\n                  const jsLines = tokenizeJavaScript(jsCode);\n                  if (jsLines && jsLines.length > 0) {\n                    // Monaco tokenize returns an array of lines, we only have one line\n                    const jsTokens = jsLines[0];\n                    for (const jsToken of jsTokens) {\n                      tokens.push({\n                        startIndex: jsStart + jsToken.offset,\n                        scopes: `${jsToken.type}.embedded.template`,\n                      });\n                    }\n                  } else {\n                    // Fallback highlighting for JavaScript blocks\n                    const jsCodeForHighlight = jsCode;\n                    const jsKeywords =\n                      /\\b(const|let|var|function|return|if|else|for|while|do|switch|case|break|continue|try|catch|finally|throw|new|this|typeof|instanceof|in|of|true|false|null|undefined)\\b/g;\n                    const jsStrings =\n                      /\"([^\"\\\\]|\\\\.)*\"|'([^'\\\\]|\\\\.)*'|`([^`\\\\]|\\\\.)*`/g;\n                    const jsNumbers = /\\b\\d+(\\.\\d+)?\\b/g;\n\n                    let lastIndex = jsStart;\n                    let match;\n\n                    // Highlight keywords\n                    while (\n                      (match = jsKeywords.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      if (lastIndex < jsStart + match.index) {\n                        tokens.push({\n                          startIndex: lastIndex,\n                          scopes: \"source.js.embedded.template\",\n                        });\n                      }\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"keyword.embedded.template\",\n                      });\n                      lastIndex = jsStart + match.index + match[0].length;\n                    }\n\n                    // Reset regex and highlight strings\n                    jsKeywords.lastIndex = 0;\n                    while (\n                      (match = jsStrings.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"string.embedded.template\",\n                      });\n                    }\n\n                    // Reset regex and highlight numbers\n                    jsStrings.lastIndex = 0;\n                    while (\n                      (match = jsNumbers.exec(jsCodeForHighlight)) !== null\n                    ) {\n                      tokens.push({\n                        startIndex: jsStart + match.index,\n                        scopes: \"number.embedded.template\",\n                      });\n                    }\n\n                    // Fill remaining with default JS highlighting\n                    if (lastIndex < endPos) {\n                      tokens.push({\n                        startIndex: lastIndex,\n                        scopes: \"source.js.embedded.template\",\n                      });\n                    }\n                  }\n                } else {\n                  tokens.push({\n                    startIndex: jsStart,\n                    scopes: \"source.js.embedded.template\",\n                  });\n                }\n              }\n              tokens.push({\n                startIndex: endPos,\n                scopes: \"delimiter.js-block.template\",\n              });\n              pos = endPos + 3;\n              continue;\n            } else {\n              // Multi-line JavaScript block - mark state and tokenize the rest of the line as JS\n              state.inJsBlock = true;\n              if (jsStart < line.length) {\n                const jsCode = line.substring(jsStart);\n                const jsLines = tokenizeJavaScript(jsCode);\n                if (jsLines && jsLines.length > 0) {\n                  const jsTokens = jsLines[0];\n                  for (const jsToken of jsTokens) {\n                    tokens.push({\n                      startIndex: jsStart + jsToken.offset,\n                      scopes: `${jsToken.type}.embedded.template`,\n                    });\n                  }\n                } else {\n                  tokens.push({\n                    startIndex: jsStart,\n                    scopes: \"source.js.embedded.template\",\n                  });\n                }\n              }\n              return { tokens, endState: state.clone() };\n            }\n          }\n\n          // Check for markdown bold **text**\n          if (line.substr(pos, 2) === \"**\") {\n            const endPos = line.indexOf(\"**\", pos + 2);\n            if (endPos !== -1) {\n              tokens.push({ startIndex: pos, scopes: \"markup.bold.template\" });\n              pos = endPos + 2;\n              continue;\n            }\n          }\n\n          // Check for markdown italic *text* or _text_\n          if (line[pos] === \"*\" || line[pos] === \"_\") {\n            const char = line[pos];\n            const endPos = line.indexOf(char, pos + 1);\n            if (endPos !== -1 && endPos > pos + 1) {\n              tokens.push({\n                startIndex: pos,\n                scopes: \"markup.italic.template\",\n              });\n              pos = endPos + 1;\n              continue;\n            }\n          }\n\n          // Check for markdown inline code `code`\n          if (line[pos] === \"`\") {\n            const endPos = line.indexOf(\"`\", pos + 1);\n            if (endPos !== -1) {\n              tokens.push({\n                startIndex: pos,\n                scopes: \"markup.inline.raw.template\",\n              });\n              pos = endPos + 1;\n              continue;\n            }\n          }\n\n          // Check for markdown links [text](url)\n          if (line[pos] === \"[\") {\n            const closePos = line.indexOf(\"]\", pos + 1);\n            if (closePos !== -1 && line.substr(closePos + 1, 1) === \"(\") {\n              const urlEndPos = line.indexOf(\")\", closePos + 2);\n              if (urlEndPos !== -1) {\n                tokens.push({\n                  startIndex: pos,\n                  scopes: \"markup.underline.link.template\",\n                });\n                pos = urlEndPos + 1;\n                continue;\n              }\n            }\n          }\n\n          // Check for HTML tags\n          if (line[pos] === \"<\") {\n            const endPos = line.indexOf(\">\", pos + 1);\n            if (endPos !== -1) {\n              tokens.push({ startIndex: pos, scopes: \"tag.template\" });\n              pos = endPos + 1;\n              continue;\n            }\n          }\n\n          pos++;\n        }\n\n        // If no specific tokens were found, mark as text\n        if (tokens.length === 0) {\n          tokens.push({ startIndex: 0, scopes: \"text.template\" });\n        }\n\n        return { tokens, endState: state.clone() };\n      },\n    });\n  } catch (error) {\n    ztoolkit.log(\"Failed to set tokens provider:\", error);\n  }\n\n  // Configure language settings\n  monaco.languages.setLanguageConfiguration(\"template-markdown\", {\n    comments: {\n      lineComment: \"//\",\n    },\n    brackets: [\n      [\"{\", \"}\"],\n      [\"[\", \"]\"],\n      [\"(\", \")\"],\n      [\"${\", \"}\"],\n      [\"${{\", \"}}$\"],\n    ],\n    autoClosingPairs: [\n      { open: \"{\", close: \"}\" },\n      { open: \"[\", close: \"]\" },\n      { open: \"(\", close: \")\" },\n      { open: '\"', close: '\"' },\n      { open: \"'\", close: \"'\" },\n      { open: \"`\", close: \"`\" },\n      { open: \"${\", close: \"}\" },\n      { open: \"${{\", close: \"}}$\" },\n      { open: \"**\", close: \"**\" },\n      { open: \"*\", close: \"*\" },\n      { open: \"_\", close: \"_\" },\n      { open: \"~~\", close: \"~~\" },\n      { open: \"<\", close: \">\" },\n    ],\n    surroundingPairs: [\n      { open: \"{\", close: \"}\" },\n      { open: \"[\", close: \"]\" },\n      { open: \"(\", close: \")\" },\n      { open: '\"', close: '\"' },\n      { open: \"'\", close: \"'\" },\n      { open: \"`\", close: \"`\" },\n      { open: \"**\", close: \"**\" },\n      { open: \"*\", close: \"*\" },\n      { open: \"_\", close: \"_\" },\n      { open: \"~~\", close: \"~~\" },\n    ],\n    indentationRules: {\n      increaseIndentPattern: /^(\\s*)([-*+]|\\d+\\.)\\s+/,\n      decreaseIndentPattern: /^(\\s*)([-*+]|\\d+\\.)\\s+/,\n    },\n    folding: {\n      markers: {\n        start: /^\\s*\\/\\/\\s*@\\w+-begin\\s*$/,\n        end: /^\\s*\\/\\/\\s*@\\w+-end\\s*$/,\n      },\n    },\n  });\n\n  // Define completion provider for template-specific snippets\n  // Note: TypeScript definitions in templates.d.ts provide additional auto-completion\n  monaco.languages.registerCompletionItemProvider(\"template-markdown\", {\n    triggerCharacters: [\"@\", \"$\", \"{\", \"/\", \" \"],\n    provideCompletionItems: async (model: any, position: any) => {\n      // Check if we're inside a JavaScript expression or block by analyzing the context\n      const isInsideJavaScript = () => {\n        const lineNumber = position.lineNumber;\n        const column = position.column;\n\n        // Get all lines up to current position to determine context\n        const lines = model.getLinesContent();\n        let isInJsBlock = false;\n        let isInJsExpr = false;\n        let jsExprDepth = 0;\n\n        // Analyze each line up to current position\n        for (let i = 0; i < lineNumber; i++) {\n          const line = lines[i];\n          let pos = 0;\n\n          // If we're on the current line, only process up to the cursor position\n          const lineEndPos = i === lineNumber - 1 ? column - 1 : line.length;\n\n          while (pos < lineEndPos) {\n            // Check for JavaScript blocks ${{...}}$\n            if (line.substr(pos, 3) === \"${{\" && !isInJsExpr) {\n              const endPos = line.indexOf(\"}}$\", pos + 3);\n              if (endPos !== -1 && endPos < lineEndPos) {\n                // Single-line block, skip it\n                pos = endPos + 3;\n              } else {\n                // Multi-line block starts\n                isInJsBlock = true;\n                pos += 3;\n              }\n              continue;\n            }\n\n            // Check for end of JavaScript block\n            if (isInJsBlock && line.substr(pos, 3) === \"}}$\") {\n              isInJsBlock = false;\n              pos += 3;\n              continue;\n            }\n\n            // Check for JavaScript expressions ${...}\n            if (\n              line.substr(pos, 2) === \"${\" &&\n              line.substr(pos, 3) !== \"${{\" &&\n              !isInJsBlock\n            ) {\n              let depth = 1;\n              let exprPos = pos + 2;\n              let foundEnd = false;\n\n              while (exprPos < lineEndPos && depth > 0) {\n                if (line[exprPos] === \"{\") depth++;\n                else if (line[exprPos] === \"}\") depth--;\n                exprPos++;\n                if (depth === 0) {\n                  foundEnd = true;\n                  break;\n                }\n              }\n\n              if (foundEnd) {\n                // Single-line expression, skip it\n                pos = exprPos;\n              } else {\n                // Multi-line expression starts\n                isInJsExpr = true;\n                jsExprDepth = depth;\n                pos = exprPos;\n              }\n              continue;\n            }\n\n            // If in multi-line expression, track brace depth\n            if (isInJsExpr) {\n              if (line[pos] === \"{\") jsExprDepth++;\n              else if (line[pos] === \"}\") {\n                jsExprDepth--;\n                if (jsExprDepth === 0) {\n                  isInJsExpr = false;\n                }\n              }\n            }\n\n            pos++;\n          }\n        }\n\n        return isInJsBlock || isInJsExpr;\n      };\n\n      if (isInsideJavaScript()) {\n        // We're inside JavaScript/TypeScript code, delegate to built-in JS completion\n        try {\n          // Get JavaScript/TypeScript completions using the language service\n          const jsCompletions = await monaco.languages.typescript\n            .getJavaScriptWorker()\n            .then((worker: any) => worker(model.uri))\n            .then((client: any) => {\n              return client.getCompletionsAtPosition(\n                model.uri.toString(),\n                model.getOffsetAt(position),\n              );\n            });\n\n          if (jsCompletions && jsCompletions.entries) {\n            const suggestions = jsCompletions.entries.map((entry: any) => ({\n              label: entry.name,\n              kind:\n                monaco.languages.CompletionItemKind[entry.kind] ||\n                monaco.languages.CompletionItemKind.Text,\n              insertText: entry.name,\n              documentation: entry.documentation\n                ? entry.documentation.displayParts\n                    ?.map((p: any) => p.text)\n                    .join(\"\")\n                : \"\",\n              detail: entry.kindModifiers || \"JavaScript\",\n            }));\n\n            return { suggestions };\n          }\n\n          // Fallback to empty suggestions if no completions found\n          return { suggestions: [] };\n        } catch (error) {\n          ztoolkit.log(\"Error getting JavaScript completions:\", error);\n          // Fallback to empty suggestions if JS completion fails\n          return { suggestions: [] };\n        }\n      } else {\n        // We're in template/markdown context\n        // Template-specific suggestions that can be triggered by typing\n        const templateSuggestions = [\n          // Template directives\n          {\n            label: \"@use-markdown\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @use-markdown\",\n            documentation: \"Enable markdown processing for this template\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@use-refresh\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @use-refresh\",\n            documentation: \"Enable auto-refresh for this template\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@beforeloop-begin\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @beforeloop-begin\",\n            documentation:\n              \"Marks the beginning of code that executes before processing items\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@beforeloop-end\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @beforeloop-end\",\n            documentation:\n              \"Marks the end of code that executes before processing items\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@default-begin\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @default-begin\",\n            documentation:\n              \"Marks the beginning of the default template content for each item\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@default-end\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @default-end\",\n            documentation:\n              \"Marks the end of the default template content for each item\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@afterloop-begin\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @afterloop-begin\",\n            documentation:\n              \"Marks the beginning of code that executes after processing all items\",\n            detail: \"Template Directive\",\n          },\n          {\n            label: \"@afterloop-end\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @afterloop-end\",\n            documentation:\n              \"Marks the end of code that executes after processing all items\",\n            detail: \"Template Directive\",\n          },\n\n          // Common field expressions\n          {\n            label: \"title\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getField(\"title\")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get the title field from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"authors\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText:\n              '${topItem.getCreators().map((v)=>v.firstName+\" \"+v.lastName).join(\"; \")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get authors from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"doi\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getField(\"DOI\")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get the DOI field from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"url\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getField(\"url\")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get the URL field from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"date\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getField(\"date\")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get the date field from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"abstract\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getField(\"abstractNote\")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get the abstract from the top item\",\n            detail: \"Template Field\",\n          },\n          {\n            label: \"tags\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: '${topItem.getTags().map(t => t.tag).join(\", \")}',\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Get tags from the top item\",\n            detail: \"Template Field\",\n          },\n\n          // Template expressions\n          {\n            label: \"expression\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"${$0}\",\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"JavaScript expression\",\n            detail: \"Template Expression\",\n          },\n          {\n            label: \"block\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"${{\\n\\t$0\\n}}$\",\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"JavaScript block\",\n            detail: \"Template Block\",\n          },\n\n          // Template sections\n          {\n            label: \"beforeloop\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @beforeloop-begin\\n$0\\n// @beforeloop-end\",\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Code to execute before the item loop\",\n            detail: \"Template Section\",\n          },\n          {\n            label: \"defaultloop\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @default-begin\\n$0\\n// @default-end\",\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Default template content for each item\",\n            detail: \"Template Section\",\n          },\n          {\n            label: \"afterloop\",\n            kind: monaco.languages.CompletionItemKind.Snippet,\n            insertText: \"// @afterloop-begin\\n$0\\n// @afterloop-end\",\n            insertTextRules:\n              monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n            documentation: \"Code to execute after the item loop\",\n            detail: \"Template Section\",\n          },\n        ];\n\n        // Filter suggestions based on current input\n        const line = model.getLineContent(position.lineNumber);\n        const lineUpToPosition = line.substring(0, position.column - 1);\n\n        // Debug logging\n        ztoolkit.log(\"Completion triggered at:\", {\n          line,\n          lineUpToPosition,\n          position,\n        });\n\n        // Simple approach - always return all suggestions and let Monaco filter them\n        ztoolkit.log(\"Returning\", templateSuggestions.length, \"suggestions\");\n        return { suggestions: templateSuggestions };\n      }\n\n      return { suggestions: [] };\n    },\n  });\n\n  // Add hover provider for template variables\n  monaco.languages.registerHoverProvider(\"template-markdown\", {\n    provideHover: (model: any, position: any) => {\n      const word = model.getWordAtPosition(position);\n      if (!word) return null;\n\n      const hoverInfo: { [key: string]: string } = {\n        topItem: \"The main Zotero item being processed in the template\",\n        item: \"Current item in the loop iteration\",\n        items: \"Array of all items being processed\",\n        noteItem: \"The current note item\",\n        targetNoteItem: \"The target note item for the operation\",\n        sharedObj: \"Shared object for passing data between template sections\",\n        link: \"Link information for quick operations\",\n        linkText: \"Text content of the link\",\n        copyNoteImage: \"Function to copy images from notes\",\n        _env: \"Template environment object containing execution context\",\n        dryRun: \"Boolean flag indicating if this is a dry run execution\",\n      };\n\n      // Check for template directives\n      const line = model.getLineContent(position.lineNumber);\n      const directiveMatch = line.match(/\\/\\/\\s*@([\\w-]+)/);\n      if (directiveMatch) {\n        const directive = directiveMatch[1];\n        const directiveInfo: { [key: string]: string } = {\n          \"use-markdown\":\n            \"Enables markdown processing for this template. Required for markdown syntax highlighting and rendering.\",\n          \"use-refresh\":\n            \"Enables automatic template refresh when data changes.\",\n          \"beforeloop-begin\":\n            \"Marks the beginning of code that executes before processing items.\",\n          \"beforeloop-end\":\n            \"Marks the end of code that executes before processing items.\",\n          \"default-begin\":\n            \"Marks the beginning of the default template content for each item.\",\n          \"default-end\":\n            \"Marks the end of the default template content for each item.\",\n          \"afterloop-begin\":\n            \"Marks the beginning of code that executes after processing all items.\",\n          \"afterloop-end\":\n            \"Marks the end of code that executes after processing all items.\",\n        };\n\n        if (directiveInfo[directive]) {\n          return {\n            range: new monaco.Range(\n              position.lineNumber,\n              1,\n              position.lineNumber,\n              line.length + 1,\n            ),\n            contents: [\n              { value: `**@${directive}**` },\n              { value: directiveInfo[directive] },\n            ],\n          };\n        }\n      }\n\n      if (hoverInfo[word.word]) {\n        return {\n          range: new monaco.Range(\n            position.lineNumber,\n            word.startColumn,\n            position.lineNumber,\n            word.endColumn,\n          ),\n          contents: [\n            { value: `**${word.word}**` },\n            { value: hoverInfo[word.word] },\n          ],\n        };\n      }\n\n      return null;\n    },\n  });\n\n  // Define custom theme colors for better syntax highlighting\n  monaco.editor.defineTheme(\"template-light\", {\n    base: \"vs\",\n    inherit: true,\n    rules: [\n      {\n        token: \"delimiter.js-expression.template\",\n        foreground: \"0066cc\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"delimiter.js-block.template\",\n        foreground: \"0066cc\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"source.js.embedded.template\",\n        foreground: \"7f0055\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"comment.directive.template\",\n        foreground: \"008000\",\n        fontStyle: \"bold\",\n      },\n      { token: \"comment.line.template\", foreground: \"008000\" },\n      {\n        token: \"markup.heading.template\",\n        foreground: \"800000\",\n        fontStyle: \"bold\",\n      },\n      { token: \"markup.bold.template\", fontStyle: \"bold\" },\n      { token: \"markup.italic.template\", fontStyle: \"italic\" },\n      {\n        token: \"markup.inline.raw.template\",\n        background: \"f8f8f8\",\n        foreground: \"333333\",\n      },\n      {\n        token: \"markup.underline.link.template\",\n        foreground: \"0066cc\",\n        fontStyle: \"underline\",\n      },\n      { token: \"tag.template\", foreground: \"800080\" },\n      { token: \"text.template\", foreground: \"000000\" },\n      // JavaScript tokens embedded in template\n      {\n        token: \"keyword.embedded.template\",\n        foreground: \"0000ff\",\n        fontStyle: \"bold\",\n      },\n      { token: \"string.embedded.template\", foreground: \"a31515\" },\n      { token: \"number.embedded.template\", foreground: \"098658\" },\n      { token: \"comment.embedded.template\", foreground: \"008000\" },\n      { token: \"identifier.embedded.template\", foreground: \"001080\" },\n      { token: \"operator.embedded.template\", foreground: \"000000\" },\n      { token: \"delimiter.bracket.embedded.template\", foreground: \"000000\" },\n    ],\n    colors: {},\n  });\n\n  monaco.editor.defineTheme(\"template-dark\", {\n    base: \"vs-dark\",\n    inherit: true,\n    rules: [\n      {\n        token: \"delimiter.js-expression.template\",\n        foreground: \"4fc3f7\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"delimiter.js-block.template\",\n        foreground: \"4fc3f7\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"source.js.embedded.template\",\n        foreground: \"dcdcaa\",\n        fontStyle: \"bold\",\n      },\n      {\n        token: \"comment.directive.template\",\n        foreground: \"66bb6a\",\n        fontStyle: \"bold\",\n      },\n      { token: \"comment.line.template\", foreground: \"6a9955\" },\n      {\n        token: \"markup.heading.template\",\n        foreground: \"ff8a65\",\n        fontStyle: \"bold\",\n      },\n      { token: \"markup.bold.template\", fontStyle: \"bold\" },\n      { token: \"markup.italic.template\", fontStyle: \"italic\" },\n      {\n        token: \"markup.inline.raw.template\",\n        background: \"2d2d2d\",\n        foreground: \"e0e0e0\",\n      },\n      {\n        token: \"markup.underline.link.template\",\n        foreground: \"4fc3f7\",\n        fontStyle: \"underline\",\n      },\n      { token: \"tag.template\", foreground: \"ce93d8\" },\n      { token: \"text.template\", foreground: \"cccccc\" },\n      // JavaScript tokens embedded in template\n      {\n        token: \"keyword.embedded.template\",\n        foreground: \"569cd6\",\n        fontStyle: \"bold\",\n      },\n      { token: \"string.embedded.template\", foreground: \"ce9178\" },\n      { token: \"number.embedded.template\", foreground: \"b5cea8\" },\n      { token: \"comment.embedded.template\", foreground: \"6a9955\" },\n      { token: \"identifier.embedded.template\", foreground: \"9cdcfe\" },\n      { token: \"operator.embedded.template\", foreground: \"d4d4d4\" },\n      { token: \"delimiter.bracket.embedded.template\", foreground: \"ffd700\" },\n    ],\n    colors: {},\n  });\n}\n\n/**\n * Initialize Monaco editor with template language support\n * @param monaco Monaco editor instance\n * @param editor Editor instance\n * @param isDark Whether to use dark theme\n */\nexport function initializeTemplateEditor(\n  monaco: any,\n  editor: any,\n  isDark: boolean,\n) {\n  try {\n    registerTemplateLanguage(monaco);\n\n    // Set the model language to our custom template language\n    monaco.editor.setModelLanguage(editor.getModel(), \"template-markdown\");\n\n    // Apply the custom theme\n    const customTheme = isDark ? \"template-dark\" : \"template-light\";\n    monaco.editor.setTheme(customTheme);\n\n    ztoolkit.log(\"Template language registered successfully\");\n    return true;\n  } catch (error) {\n    ztoolkit.log(\n      \"Failed to register template language, falling back to default:\",\n      error,\n    );\n    return false;\n  }\n}\n"
  },
  {
    "path": "src/modules/template/picker.ts",
    "content": "import { addLineToNote } from \"../../utils/note\";\nimport { getString } from \"../../utils/locale\";\nimport { openTemplatePicker } from \"../../utils/templatePicker\";\n\nexport { showTemplatePicker };\n\nasync function showTemplatePicker(\n  mode: \"insert\",\n  data?: { noteId?: number; lineIndex?: number },\n): Promise<void>;\nasync function showTemplatePicker(\n  mode: \"create\",\n  data?: {\n    noteType?: \"standalone\" | \"item\";\n    parentItemId?: number;\n    topItemIds?: number[];\n  },\n): Promise<void>;\nasync function showTemplatePicker(\n  mode: \"export\",\n  data?: Record<string, never>,\n): Promise<void>;\nasync function showTemplatePicker(mode: \"pick\"): Promise<string[]>;\nasync function showTemplatePicker(): Promise<any>;\nasync function showTemplatePicker(\n  mode: typeof addon.data.template.picker.mode = \"insert\",\n  data: Record<string, any> = {},\n): Promise<unknown> {\n  addon.data.template.picker.mode = mode;\n  addon.data.template.picker.data = data;\n  const selected = await openTemplatePicker();\n  // For pick mode, return selected templates\n  if (mode === \"pick\") {\n    return selected;\n  }\n  if (!selected.length) {\n    return;\n  }\n  const name = selected[0];\n  await handleTemplateOperation(name);\n}\n\nasync function handleTemplateOperation(name: string) {\n  ztoolkit.log(name);\n  // TODO: add preview when command is selected\n  switch (addon.data.template.picker.mode) {\n    case \"create\":\n      await createTemplateNoteCallback(name);\n      break;\n    case \"export\":\n      await exportTemplateCallback(name);\n      break;\n    case \"insert\":\n    default:\n      await insertTemplateCallback(name);\n      break;\n  }\n  addon.data.template.picker.mode = \"insert\";\n  addon.data.template.picker.data = {};\n}\n\nasync function insertTemplateCallback(name: string) {\n  const targetNoteItem = Zotero.Items.get(\n    addon.data.template.picker.data.noteId,\n  );\n  let html = \"\";\n  if (name.toLowerCase().startsWith(\"[item]\")) {\n    html = await addon.api.template.runItemTemplate(name, {\n      targetNoteId: targetNoteItem.id,\n    });\n  } else {\n    html = await addon.api.template.runTextTemplate(name, {\n      targetNoteId: targetNoteItem.id,\n    });\n  }\n  let lineIndex = addon.data.template.picker.data.lineIndex;\n  // Insert to the end of the line\n  if (lineIndex >= 0) {\n    lineIndex += 1;\n  }\n  await addLineToNote(targetNoteItem, html, lineIndex);\n}\n\nasync function createTemplateNoteCallback(name: string) {\n  addon.data.template.picker.data.librarySelectedIds =\n    Zotero.getMainWindow().ZoteroPane.getSelectedItems(true);\n  switch (addon.data.template.picker.data.noteType) {\n    case \"standalone\": {\n      const noteItem = await addon.hooks.onCreateNote();\n      if (!noteItem) {\n        return;\n      }\n      addon.data.template.picker.data.noteId = noteItem.id;\n      break;\n    }\n    case \"item\": {\n      const parentID = addon.data.template.picker.data.parentItemId;\n      const noteItem = new Zotero.Item(\"note\");\n      noteItem.libraryID = Zotero.Items.get(parentID).libraryID;\n      noteItem.parentID = parentID;\n      await noteItem.saveTx();\n      addon.data.template.picker.data.noteId = noteItem.id;\n      break;\n    }\n    default:\n      return;\n  }\n  await insertTemplateCallback(name);\n}\n\nasync function exportTemplateCallback(name: string) {\n  addon.data.template.picker.data.librarySelectedIds =\n    Zotero.getMainWindow().ZoteroPane.getSelectedItems(true);\n  // Create temp note\n  const noteItem = new Zotero.Item(\"note\");\n  noteItem.libraryID = Zotero.Libraries.userLibraryID;\n  await noteItem.saveTx();\n  addon.data.template.picker.data.noteId = noteItem.id;\n  await insertTemplateCallback(name);\n  // Export note\n  await addon.hooks.onShowExportNoteOptions([noteItem.id], {\n    setAutoSync: false,\n  });\n  // Delete temp note\n  await Zotero.Items.erase(noteItem.id);\n}\n"
  },
  {
    "path": "src/modules/template/preview.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { getNoteLink } from \"../../utils/link\";\nimport { renderNoteHTML } from \"../../utils/note\";\n\nexport { renderTemplatePreview };\n\nasync function renderTemplatePreview(\n  templateName: string,\n  inputItems?: Zotero.Item[],\n): Promise<string> {\n  let html: string = generateWarning(\"Preview not available\");\n  if (!inputItems) {\n    inputItems = Zotero.getMainWindow().ZoteroPane.getSelectedItems();\n  }\n  try {\n    if (templateName.toLowerCase().startsWith(\"[text]\")) {\n      html = await addon.api.template.runTextTemplate(templateName, {\n        dryRun: true,\n      });\n    } else if (templateName.toLowerCase().startsWith(\"[item]\")) {\n      if (inputItems.length === 0) {\n        return messages.noItem;\n      }\n      const data = inputItems?.map((item) => item.id);\n      html = await addon.api.template.runItemTemplate(templateName, {\n        itemIds: data,\n        dryRun: true,\n      });\n    } else if (templateName.includes(\"ExportMDFileName\")) {\n      // noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        html = await addon.api.template.runTemplate(\n          templateName,\n          \"noteItem\",\n          [data],\n          {\n            dryRun: true,\n          },\n        );\n      }\n    } else if (templateName.includes(\"ExportMDFileHeader\")) {\n      // noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        const raw = await addon.api.template.runTemplate(\n          templateName,\n          \"noteItem\",\n          [data],\n          {\n            dryRun: true,\n          },\n        );\n        const header = Object.assign({}, JSON.parse(raw), {\n          version: data.version,\n          libraryID: data.libraryID,\n          itemKey: data.key,\n        });\n        html = `<pre>${YAML.stringify(header, 10)}</pre>`;\n      }\n    } else if (templateName.includes(\"ExportMDFileContent\")) {\n      // noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        html = `<pre>${await addon.api.convert.note2md(\n          data,\n          Zotero.getTempDirectory().path,\n          { withYAMLHeader: false, skipSavingImages: true, keepNoteLink: true },\n        )}</pre>`;\n      }\n    } else if (templateName.includes(\"ExportLatexFileContent\")) {\n      // noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        const [latexContent, bibString] = await addon.api.convert.note2latex(\n          data,\n          Zotero.getTempDirectory().path,\n          { withYAMLHeader: false, skipSavingImages: true, keepNoteLink: true },\n        );\n        html = `<pre>${latexContent}</pre>`;\n      }\n    } else if (templateName.includes(\"QuickInsert\")) {\n      // link, linkText, subNoteItem, noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        const link = getNoteLink(data);\n        const linkText = data.getNoteTitle().trim() || link;\n        const subNoteItem = data;\n        const noteItem = new Zotero.Item(\"note\");\n        html = await addon.api.template.runTemplate(\n          templateName,\n          \"link, linkText, subNoteItem, noteItem\",\n          [link, linkText, subNoteItem, noteItem],\n          {\n            dryRun: true,\n          },\n        );\n      }\n    } else if (templateName.includes(\"QuickImport\")) {\n      // link, noteItem\n      const data = inputItems?.find((item) => item.isNote());\n      if (!data) {\n        html = messages.noNoteItem;\n      } else {\n        const link = getNoteLink(data);\n        const noteItem = new Zotero.Item(\"note\");\n        html = await addon.api.template.runTemplate(\n          templateName,\n          \"link, noteItem\",\n          [link, noteItem],\n          {\n            dryRun: true,\n          },\n        );\n      }\n    } else if (templateName.includes(\"QuickNote\")) {\n      // annotationItem, topItem, noteItem\n      html = generateWarning(\n        `Preview not available for template ${templateName}`,\n      );\n    } else {\n      html = generateWarning(\n        `Preview not available for template ${templateName}`,\n      );\n    }\n  } catch (err: any) {\n    html = generateWarning(`Error: ${err.message || \"Unknown error\"}`);\n  }\n\n  // TODO: might not be stable?\n  html = await renderNoteHTML(html, []);\n\n  return html;\n}\n\nfunction generateWarning(message: string): string {\n  return `<p style=\"color: red;\">${message}</p>`;\n}\n\nconst messages = {\n  noItem: generateWarning(\n    \"No item selected. Please select an item in the library.\",\n  ),\n  noNoteItem: generateWarning(\n    \"No NOTE item selected. Please select a NOTE item in the library.\",\n  ),\n};\n"
  },
  {
    "path": "src/modules/template/refresh.ts",
    "content": "import YAML = require(\"yamljs\");\nimport { htmlUnescape } from \"../../utils/str\";\n\nexport { refreshTemplatesInNote };\n\nasync function refreshTemplatesInNote(editor: Zotero.EditorInstance) {\n  const lines = await addon.api.note.getLinesInNote(editor._item);\n  let startIndex = -1;\n  const matchedIndexPairs: { from: number; to: number }[] = [];\n\n  function isTemplateWrapperStart(index: number) {\n    return (\n      index < lines.length - 1 &&\n      lines[index].trim() === \"<hr>\" &&\n      lines[index + 1].trim().startsWith(\"<pre>\") &&\n      lines[index + 1].includes(\"template: \")\n    );\n  }\n\n  function isTemplateWrapperEnd(index: number) {\n    return startIndex >= 0 && lines[index].trim() === \"<hr>\";\n  }\n\n  for (let i = 0; i < lines.length; i++) {\n    // Match: 1. current line is <hr>; 2. next line is <pre> and contains template key; 3. then contains any number of lines; until end with <hr> line\n    if (isTemplateWrapperStart(i)) {\n      startIndex = i;\n      continue;\n    }\n    if (isTemplateWrapperEnd(i)) {\n      matchedIndexPairs.push({ from: startIndex, to: i });\n      startIndex = -1;\n    }\n  }\n\n  let indexOffset = 0;\n  for (const { from, to } of matchedIndexPairs) {\n    const yamlContent = htmlUnescape(\n      lines[from + 1].replace(\"<pre>\", \"\").replace(\"</pre>\", \"\"),\n      { excludeLineBreak: true },\n    );\n    const { template, items } = YAML.parse(yamlContent) as {\n      template: string;\n      items?: string[];\n    };\n    let html = \"\";\n    if (template.toLowerCase().startsWith(\"[item]\")) {\n      html = await addon.api.template.runItemTemplate(template, {\n        targetNoteId: editor._item.id,\n        itemIds: items\n          ?.map((id) => {\n            const [libraryID, key] = id.split(\"/\");\n            return Zotero.Items.getIDFromLibraryAndKey(Number(libraryID), key);\n          })\n          .filter((id) => !!id) as number[],\n      });\n    } else {\n      html = await addon.api.template.runTextTemplate(template, {\n        targetNoteId: editor._item.id,\n      });\n    }\n    const currentLineCount = addon.api.editor.getLineCount(editor);\n    addon.api.editor.del(\n      editor,\n      addon.api.editor.getPositionAtLine(editor, from + indexOffset, \"start\"),\n      addon.api.editor.getPositionAtLine(editor, to + indexOffset + 1, \"start\"),\n    );\n    const position = addon.api.editor.getPositionAtLine(\n      editor,\n      from + indexOffset,\n      \"start\",\n    );\n    addon.api.editor.insert(editor, html, position);\n\n    const newLineCount = addon.api.editor.getLineCount(editor);\n    indexOffset -= currentLineCount - newLineCount;\n  }\n}\n"
  },
  {
    "path": "src/modules/userGuide.ts",
    "content": "import { config } from \"../../package.json\";\nimport { getString } from \"../utils/locale\";\nimport { clearPref, getPref, setPref } from \"../utils/prefs\";\n\nexport { showUserGuide };\n\nconst LATEST_TOUR_VERSION = 1;\n\nasync function showUserGuide(win: _ZoteroTypes.MainWindow, force = false) {\n  const doc = win.document;\n  if (!force && getPref(\"latestTourVersion\") == LATEST_TOUR_VERSION) return;\n  setPref(\"latestTourVersion\", LATEST_TOUR_VERSION);\n  const exampleNote = `\n# Welcome to Better Notes\n\nThis note is created by the Better Notes user guide.\nYou can always run the user guide again from menu Help -> Better Notes User Guide.\n\n## 📝 Introduction\n\n> Everything about note management. All in Zotero.\n\nBetter Notes (BN) is a plugin for [Zotero](https://zotero.org).\n\nBN streamlines your workflows of:\n\n- paper reading\n- annotating\n- note taking\n- metadata analyzing\n- knowledge exporting\n- AI writing assistant\n\nand:\n\n- works out of the box\n- highly customizable\n- all in Zotero\n\n## 🚀 Get Started\n\nSee the [Quick Start Guide](https://github.com/windingwind/zotero-better-notes?tab=readme-ov-file#-quick-start) to get started.\n\n## 📚 Resources\n\nYou can find more information in the following links:\n\n- [Documentation](https://github.com/windingwind/zotero-better-notes)\n- [Issues](https://github.com/windingwind/zotero-better-notes/issues)\n- [Discussions](https://github.com/windingwind/zotero-better-notes/discussions)\n- [API](https://github.com/windingwind/zotero-better-notes?tab=readme-ov-file#-api)\n`;\n  let noteItem: Zotero.Item | undefined;\n  let tabID: string;\n  addon.data.hint.silent = true;\n  await new ztoolkit.Guide()\n    .addStep({\n      title: getString(\"userGuide-start-title\"),\n      description: `<html:img src='chrome://${\n        config.addonRef\n      }/content/icons/knowledge-app.png' style=\"width: 300px; height: auto;\"></html:img>\n    <html:span style='width: 300px; display: block; margin-top: 10px;'>\n      ${getString(\"userGuide-start-desc\")}\n    </html:span>`,\n      position: \"center\",\n      showButtons: [\"next\", \"close\"],\n      closeBtnText: getString(\"userGuide-start-close\"),\n      showProgress: true,\n      onCloseClick: () => {\n        clearPref(\"latestTourVersion\");\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-createNoteButton-title\"),\n      description: getString(\"userGuide-createNoteButton-desc\"),\n      element: \"#zotero-tb-note-add\",\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n      onBeforeRender: async () => {\n        const Zotero_Tabs = Zotero.getMainWindow().Zotero_Tabs;\n        Zotero_Tabs.select(\"zotero-pane\");\n        const collectionsView = win.ZoteroPane.collectionsView;\n        collectionsView && collectionsView.selectLibrary(1);\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-createNote-title\"),\n      description: getString(\"userGuide-createNote-desc\"),\n      position: \"center\",\n      showButtons: [\"next\"],\n      showProgress: true,\n      onBeforeRender: async ({ state, config }) => {\n        noteItem = (await Zotero.Items.getAll(1)).find((item) => item.isNote());\n        if (noteItem) {\n          await win.ZoteroPane.selectItem(noteItem.id);\n          config.description = getString(\"userGuide-createNoteFound-desc\");\n        }\n      },\n      onExit: async () => {\n        noteItem = new Zotero.Item(\"note\");\n        noteItem.setNote(await addon.api.convert.md2html(exampleNote));\n        await noteItem.saveTx();\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-openNote-title\"),\n      description: getString(\"userGuide-openNote-desc\"),\n      element: \"#item-tree-main-default .row.selected\",\n      showButtons: [\"next\"],\n      nextBtnText: getString(\"userGuide-openNote-next\"),\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-workspace-title\"),\n      description: getString(\"userGuide-workspace-desc\"),\n      position: \"center\",\n      showButtons: [\"next\"],\n      showProgress: true,\n      onBeforeRender: async ({ state: { step, controller } }) => {\n        tabID = (await addon.hooks.onOpenNote(noteItem!.id, \"tab\", {\n          forceTakeover: true,\n        })) as string;\n\n        if (!tabID) {\n          controller.abort();\n          win.alert(\"Failed to open the note.\");\n          return;\n        }\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceEditor-title\"),\n      description: getString(\"userGuide-workspaceEditor-desc\"),\n      element: () =>\n        doc.querySelector(`#${tabID} #${config.addonRef}-editor-main`)!,\n      position: \"center\",\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceEditorToolbar-title\"),\n      description: getString(\"userGuide-workspaceEditorToolbar-desc\"),\n      element: () =>\n        (doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any)!._iframe.contentDocument.querySelector(\".toolbar\")!,\n      onMask: ({ mask }) => {\n        const elem = doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any;\n        mask(elem);\n        mask(elem._iframe.contentDocument.querySelector(\".toolbar\"));\n      },\n    })\n\n    .addStep({\n      title: getString(\"userGuide-workspaceEditorLinkCreator-title\"),\n      description: getString(\"userGuide-workspaceEditorLinkCreator-desc\"),\n      element: () =>\n        (doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any)!._iframe.contentDocument.querySelector(\n          \".toolbar .start button\",\n        )!,\n      onMask: ({ mask }) => {\n        const elem = doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any;\n        mask(elem);\n        mask(\n          elem._iframe.contentDocument.querySelector(\".toolbar .start button\"),\n        );\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceEditorMoreOptions-title\"),\n      description: getString(\"userGuide-workspaceEditorMoreOptions-desc\"),\n      element: () =>\n        (doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any)!._iframe.contentDocument.querySelector(\n          \".toolbar .end .dropdown.more-dropdown\",\n        )!,\n      onMask: ({ mask }) => {\n        const elem = doc.querySelector(\n          `#${tabID} #${config.addonRef}-editor-main`,\n        ) as any;\n        mask(elem);\n        mask(\n          elem._iframe.contentDocument.querySelector(\n            \".toolbar .end .dropdown.more-dropdown\",\n          ),\n        );\n      },\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceOutline-title\"),\n      description: getString(\"userGuide-workspaceOutline-desc\"),\n      element: () => doc.querySelector(`#${tabID} bn-outline`)!,\n      position: \"center\",\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceOutlineMode-title\"),\n      description: getString(\"userGuide-workspaceOutlineMode-desc\"),\n      element: () =>\n        doc.querySelector(\n          `#${tabID} bn-outline #${config.addonRef}-setOutline`,\n        )!,\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceOutlineSaveAs-title\"),\n      description: getString(\"userGuide-workspaceOutlineSaveAs-desc\"),\n      element: () =>\n        doc.querySelector(\n          `#${tabID} bn-outline #${config.addonRef}-saveOutline`,\n        )!,\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-workspaceNoteInfo-title\"),\n      description: getString(\"userGuide-workspaceNoteInfo-desc\"),\n      element: () => doc.querySelector(`#${tabID} bn-context`)!,\n      position: \"center\",\n      showButtons: [\"prev\", \"next\"],\n      showProgress: true,\n    })\n    .addStep({\n      title: getString(\"userGuide-finish-title\"),\n      description: getString(\"userGuide-finish-desc\"),\n      position: \"center\",\n      showButtons: [\"prev\", \"close\"],\n      showProgress: true,\n    })\n    .show(doc);\n\n  addon.data.hint.silent = false;\n}\n"
  },
  {
    "path": "src/modules/workspace/content.ts",
    "content": "import { Workspace } from \"../../elements/workspace/workspace\";\nimport { waitUtilAsync } from \"../../utils/wait\";\n\nexport async function initWorkspace(\n  container: XULBoxElement,\n  item: Zotero.Item,\n) {\n  if (!container) {\n    return;\n  }\n\n  container.style.minWidth = \"0px\";\n  container.style.minHeight = \"0px\";\n\n  // @ts-ignore\n  const customElements = container.ownerGlobal\n    .customElements as CustomElementRegistry;\n\n  await waitUtilAsync(() => !!customElements.get(\"bn-workspace\"));\n\n  const workspace = new (customElements.get(\"bn-workspace\")!)() as Workspace;\n  container.append(workspace);\n  workspace.item = item;\n  workspace.containerType = \"tab\";\n  await workspace.render();\n  return workspace;\n}\n"
  },
  {
    "path": "src/modules/workspace/link.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { getWorkspaceUID } from \"../../utils/workspace\";\n\nexport function registerNoteLinkSection(type: \"inbound\" | \"outbound\") {\n  const key = Zotero.ItemPaneManager.registerSection({\n    paneID: `bn-note-${type}-link`,\n    pluginID: config.addonID,\n    bodyXHTML: `\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/related.css\"\n  ></html:link>\n  <html:link\n    rel=\"localization\"\n    href=\"${config.addonRef}-noteRelation.ftl\"\n  ></html:link>\n</linkset>`,\n    header: {\n      icon: `chrome://${config.addonRef}/content/icons/${type}-link-16.svg`,\n      l10nID: `${config.addonRef}-note-${type}-header`,\n    },\n    sidenav: {\n      icon: `chrome://${config.addonRef}/content/icons/${type}-link-20.svg`,\n      l10nID: `${config.addonRef}-note-${type}-sidenav`,\n    },\n    sectionButtons: [\n      {\n        type: \"refreshGraph\",\n        icon: \"chrome://zotero/skin/16/universal/sync.svg\",\n        l10nID: `${config.addonRef}-note-${type}-refresh`,\n        onClick: ({ body, item, setL10nArgs }) => {\n          renderSection(type, {\n            body,\n            item,\n            setCount: makeSetCount(setL10nArgs),\n          });\n        },\n      },\n    ],\n    onInit({ body, refresh }) {\n      const notifierKey = Zotero.Notifier.registerObserver(\n        {\n          notify: (event, type, ids, extraData) => {\n            const item = Zotero.Items.get(body.dataset.itemID || \"\");\n            if (\n              item &&\n              // @ts-ignore\n              event === \"updateBNRelation\" &&\n              type === \"item\" &&\n              (ids as number[]).includes(item.id)\n            ) {\n              ztoolkit.log(\n                `relation notify refresh link ${type}`,\n                ids,\n                item.id,\n              );\n              refresh();\n            }\n          },\n        },\n        [\"item\"],\n      );\n      body.classList.add(\"bn-link-body\");\n      body.dataset.notifierKey = notifierKey;\n    },\n    onDestroy({ body }) {\n      const notifierKey = body.dataset.notifierKey;\n      if (notifierKey) {\n        Zotero.Notifier.unregisterObserver(notifierKey);\n      }\n    },\n    onItemChange: ({ body, item, tabType, setEnabled }) => {\n      if (\n        (body.closest(\"bn-workspace\") as HTMLElement | undefined) ||\n        tabType === \"note\"\n      ) {\n        setEnabled(true);\n        body.dataset.itemID = String(item.id);\n        return;\n      }\n      setEnabled(false);\n    },\n    onRender: () => {},\n    onAsyncRender: async ({ body, item, setL10nArgs, tabType }) => {\n      if (!item?.isNote()) return;\n      await renderSection(type, {\n        body,\n        item,\n        setCount: makeSetCount(setL10nArgs),\n      });\n    },\n  });\n}\n\nasync function renderSection(\n  type: \"inbound\" | \"outbound\",\n  {\n    body,\n    item,\n    setCount,\n  }: {\n    body: HTMLElement;\n    item: Zotero.Item;\n    setCount: (count: number) => void;\n  },\n) {\n  body.querySelectorAll(\".row\").forEach((elem) => elem.remove());\n  const doc = body.ownerDocument;\n  const api = {\n    inbound: addon.api.relation.getNoteLinkInboundRelation,\n    outbound: addon.api.relation.getNoteLinkOutboundRelation,\n  };\n  const inLinks = await api[type](item.id);\n  let count = 0;\n  for (const linkData of inLinks) {\n    const targetItem = (await Zotero.Items.getByLibraryAndKeyAsync(\n      linkData[\n        { inbound: \"fromLibID\", outbound: \"toLibID\" }[type] as\n          | \"fromLibID\"\n          | \"toLibID\"\n      ],\n      linkData[\n        { inbound: \"fromKey\", outbound: \"toKey\" }[type] as \"fromKey\" | \"toKey\"\n      ],\n    )) as Zotero.Item | false;\n\n    if (!targetItem) {\n      continue;\n    }\n    count++;\n\n    const linkParams = {\n      workspaceUID: getWorkspaceUID(body),\n      lineIndex: linkData.toLine ?? undefined,\n      sectionName: linkData.toSection ?? undefined,\n      forceTakeover: true,\n    };\n\n    const row = doc.createElement(\"div\");\n    row.className = \"row\";\n\n    const icon = ztoolkit\n      .getGlobal(\"require\")(\"components/icons\")\n      .getCSSItemTypeIcon(\"note\");\n\n    const label = doc.createElement(\"div\");\n    label.className = \"label\";\n    const title = doc.createElement(\"span\");\n    title.textContent = targetItem.getNoteTitle();\n    const position = doc.createElement(\"span\");\n    position.className = \"position-label\";\n    if (typeof linkData.toLine === \"number\") {\n      position.textContent = `>Line ${linkData.toLine}`;\n    }\n    if (typeof linkData.toSection === \"string\") {\n      position.textContent = `#${linkData.toSection}`;\n    }\n    label.append(title, position);\n    label.title = linkData.url;\n\n    const box = doc.createElement(\"div\");\n    box.addEventListener(\"click\", () =>\n      addon.hooks.onOpenNote(targetItem.id, \"preview\", linkParams),\n    );\n    box.className = \"box keyboard-clickable\";\n    box.setAttribute(\"tabindex\", \"0\");\n    box.append(icon, label);\n\n    row.append(box);\n\n    const note = (doc as any).createXULElement(\"toolbarbutton\");\n    note.addEventListener(\"command\", (event: MouseEvent) => {\n      const position = event.shiftKey ? \"window\" : \"tab\";\n      addon.hooks.onOpenNote(targetItem.id, position, linkParams);\n    });\n    note.className = \"zotero-clicky zotero-clicky-open-link\";\n    note.setAttribute(\"tabindex\", \"0\");\n    note.setAttribute(\"tooltiptext\", \"Open in new tab (Click) or new BN window (Shift+Click)\");\n    row.append(note);\n\n    body.append(row);\n  }\n\n  setCount(count);\n}\n\nfunction makeSetCount(setL10nArgs: (str: string) => void) {\n  return (count: number) => {\n    setL10nArgs(`{\"count\": \"${count}\"}`);\n  };\n}\n"
  },
  {
    "path": "src/modules/workspace/preview.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { waitUtilAsync } from \"../../utils/wait\";\nimport { getWorkspaceByUID, getWorkspaceUID } from \"../../utils/workspace\";\n\nexport function openNotePreview(\n  noteItem: Zotero.Item,\n  workspaceUID: string,\n  options: {\n    lineIndex?: number;\n    sectionName?: string;\n  } = {},\n) {\n  const key = Zotero.ItemPaneManager.registerSection({\n    paneID: `bn-note-preview-${workspaceUID}-${noteItem.id}`,\n    pluginID: config.addonID,\n    header: {\n      icon: \"chrome://zotero/skin/16/universal/note.svg\",\n      l10nID: `${config.addonRef}-note-preview-header`,\n    },\n    sidenav: {\n      icon: \"chrome://zotero/skin/20/universal/note.svg\",\n      l10nID: `${config.addonRef}-note-preview-sidenav`,\n      l10nArgs: JSON.stringify({ title: noteItem.getNoteTitle() }),\n    },\n    bodyXHTML: `\n<linkset>\n  <html:link\n    rel=\"localization\"\n    href=\"${config.addonRef}-notePreview.ftl\"\n  ></html:link>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/workspace.css\"\n  ></html:link>\n</linkset>\n<note-editor data-id=\"${noteItem.id}\" class=\"bn-note-preview\"></note-editor>`,\n    sectionButtons: [\n      {\n        type: \"openNote\",\n        icon: \"chrome://zotero/skin/16/universal/open-link.svg\",\n        l10nID: `${config.addonRef}-note-preview-open`,\n        onClick: ({ event }) => {\n          const position = (event as MouseEvent).shiftKey ? \"window\" : \"tab\";\n          // @ts-ignore - plugin instance\n          Zotero[config.addonRef].hooks.onOpenNote(noteItem.id, position);\n        },\n      },\n      {\n        type: \"closePreview\",\n        icon: \"chrome://zotero/skin/16/universal/minus.svg\",\n        l10nID: `${config.addonRef}-note-preview-close`,\n        onClick: () => {\n          Zotero.ItemPaneManager.unregisterSection(key || \"\");\n        },\n      },\n      {\n        type: \"fullHeight\",\n        icon: `chrome://${config.addonRef}/content/icons/full-16.svg`,\n        l10nID: `${config.addonRef}-note-preview-full`,\n        onClick: ({ body }) => {\n          const iframe = body.querySelector(\"iframe\");\n          const details = getItemDetails(body);\n          const head = body\n            .closest(\"item-pane-custom-section\")\n            ?.querySelector(\".head\");\n          const heightKey = \"--details-height\";\n          if (iframe?.style.getPropertyValue(heightKey)) {\n            iframe.style.removeProperty(heightKey);\n            // @ts-ignore\n            if (details.pinnedPane === key) {\n              // @ts-ignore\n              details.pinnedPane = \"\";\n            }\n          } else {\n            iframe?.style.setProperty(\n              heightKey,\n              `${details!.clientHeight - head!.clientHeight - 8}px`,\n            );\n            // @ts-ignore\n            details.pinnedPane = key;\n            // @ts-ignore\n            details.scrollToPane(key);\n          }\n        },\n      },\n    ],\n    onItemChange: ({ body, setEnabled }) => {\n      if (getWorkspaceUID(body) !== workspaceUID) {\n        setEnabled(false);\n        return;\n      }\n      body.dataset.enabled = \"true\";\n      setEnabled(true);\n    },\n    onRender: ({ body, setSectionSummary }) => {\n      setSectionSummary(noteItem.getNoteTitle());\n    },\n    onAsyncRender: async ({ body, item }) => {\n      if (!item?.isNote()) return;\n      const editorElement = body.querySelector(\"note-editor\")! as EditorElement;\n      await waitUtilAsync(() => Boolean(editorElement._initialized));\n      if (!editorElement._initialized) {\n        throw new Error(\"initNoteEditor: waiting initialization failed\");\n      }\n      editorElement.mode = \"edit\";\n      editorElement.viewMode = \"library\";\n      editorElement.parent = noteItem?.parentItem;\n      editorElement.item = noteItem;\n      await waitUtilAsync(() => Boolean(editorElement._editorInstance));\n      await editorElement._editorInstance._initPromise;\n\n      if (typeof options.lineIndex === \"number\") {\n        addon.api.editor.scroll(\n          editorElement._editorInstance,\n          options.lineIndex,\n        );\n      }\n      if (typeof options.sectionName === \"string\") {\n        addon.api.editor.scrollToSection(\n          editorElement._editorInstance,\n          options.sectionName,\n        );\n      }\n    },\n    onDestroy: ({ body }) => {\n      if (!body.dataset.enabled) {\n        return;\n      }\n      Zotero.ItemPaneManager.unregisterSection(key || \"\");\n    },\n  });\n\n  const workspace = getWorkspaceByUID(workspaceUID);\n  workspace?.toggleContext(true);\n\n  setTimeout(() => {\n    workspace?.scrollToPane(String(key));\n  }, 500);\n\n  // If registration failed, it is already opened, just scroll to it\n  if (!key) {\n    scrollPreviewEditorTo(noteItem, workspaceUID, options);\n  }\n}\n\nfunction getItemDetails(elem: HTMLElement) {\n  if (elem.ownerGlobal?.Zotero_Tabs) {\n    return elem.ownerGlobal.ZoteroContextPane.context._getItemContext(\n      elem.ownerGlobal.Zotero_Tabs.selectedID,\n    );\n  }\n  return elem.closest(\"bn-details\");\n}\n\nfunction scrollPreviewEditorTo(\n  item: Zotero.Item,\n  workspaceUID: string,\n  options: {\n    lineIndex?: number;\n    sectionName?: string;\n  } = {},\n) {\n  const workspace = getWorkspaceByUID(workspaceUID);\n  if (!workspace) return;\n  const editor = workspace.getPreviewEditor(item.id);\n  if (!editor) return;\n  const section = editor.closest(\"item-pane-custom-section\");\n  // @ts-ignore\n  getItemDetails(editor)?.scrollToPane(section.dataset.pane);\n  if (typeof options.lineIndex === \"number\") {\n    addon.api.editor.scroll(editor._editorInstance, options.lineIndex);\n  }\n  if (typeof options.sectionName === \"string\") {\n    addon.api.editor.scrollToSection(\n      editor._editorInstance,\n      options.sectionName,\n    );\n  }\n}\n"
  },
  {
    "path": "src/modules/workspace/relation.ts",
    "content": "import { config } from \"../../../package.json\";\nimport { slice } from \"../../utils/str\";\nimport { wait } from \"zotero-plugin-toolkit\";\nimport { getWorkspaceUID } from \"../../utils/workspace\";\n\nexport function registerNoteRelation() {\n  const key = Zotero.ItemPaneManager.registerSection({\n    paneID: `bn-note-relation`,\n    pluginID: config.addonID,\n    header: {\n      icon: `chrome://${config.addonRef}/content/icons/relation-16.svg`,\n      l10nID: `${config.addonRef}-note-relation-header`,\n    },\n    sidenav: {\n      icon: `chrome://${config.addonRef}/content/icons/relation-20.svg`,\n      l10nID: `${config.addonRef}-note-relation-sidenav`,\n    },\n    bodyXHTML: `\n<linkset>\n  <html:link\n    rel=\"stylesheet\"\n    href=\"chrome://${config.addonRef}/content/styles/workspace/relation.css\"\n  ></html:link>\n</linkset>`,\n    sectionButtons: [\n      {\n        type: \"refreshGraph\",\n        icon: \"chrome://zotero/skin/16/universal/sync.svg\",\n        l10nID: `${config.addonRef}-note-relation-refresh`,\n        onClick: ({ body, item }) => {\n          renderGraph(body, item);\n        },\n      },\n    ],\n    onInit({ body, refresh }) {\n      const notifierKey = Zotero.Notifier.registerObserver(\n        {\n          notify: (event, type, ids, extraData) => {\n            const item = Zotero.Items.get(body.dataset.itemID || \"\");\n            if (\n              item &&\n              // @ts-ignore\n              event === \"updateBNRelation\" &&\n              type === \"item\" &&\n              (ids as number[]).includes(item.id)\n            ) {\n              ztoolkit.log(\"relation notify refresh graph\", item.id);\n              refresh();\n            }\n          },\n        },\n        [\"item\"],\n      );\n      body.dataset.notifierKey = notifierKey;\n    },\n    onDestroy({ body }) {\n      const notifierKey = body.dataset.notifierKey;\n      if (notifierKey) {\n        Zotero.Notifier.unregisterObserver(notifierKey);\n      }\n    },\n    onItemChange: ({ body, item, tabType, setEnabled }) => {\n      if (getWorkspaceUID(body)) {\n        setEnabled(true);\n        body.dataset.itemID = String(item.id);\n        return;\n      }\n      setEnabled(false);\n    },\n    onRender: () => {},\n    onAsyncRender: async ({ body, item }) => {\n      if (!item?.isNote()) return;\n      if (!body.querySelector(\"#bn-relation-graph\")) {\n        const iframe = body.ownerDocument.createXULElement(\n          \"iframe\",\n        ) as HTMLIFrameElement;\n        iframe.src = `chrome://${config.addonRef}/content/relationGraph.html`;\n        iframe.id = \"bn-relation-graph\";\n        body.appendChild(iframe);\n        iframe.contentWindow?.addEventListener(\"message\", (ev) => {\n          if (ev.data.type === \"openNote\") {\n            addon.hooks.onOpenNote(\n              ev.data.id,\n              ev.data.isShift ? \"window\" : \"tab\",\n              {\n                forceTakeover: true,\n              },\n            );\n          }\n        });\n      }\n      await renderGraph(body, item);\n    },\n  });\n}\n\nasync function renderGraph(body: HTMLElement, item: Zotero.Item) {\n  const data = await getRelationData(item);\n  await wait.waitUtilAsync(\n    () =>\n      body.querySelector(\"iframe\")!.contentDocument?.readyState === \"complete\",\n  );\n  body.querySelector(\"iframe\")!.contentWindow?.postMessage(\n    {\n      type: \"render\",\n      graph: data,\n    },\n    \"*\",\n  );\n}\n\nasync function getRelationData(note: Zotero.Item) {\n  if (!note) return;\n  const inLink = await addon.api.relation.getNoteLinkInboundRelation(note.id);\n  const outLink = await addon.api.relation.getNoteLinkOutboundRelation(note.id);\n\n  const noteSet: Set<number> = new Set();\n\n  const linkModels: Record<number, NoteLinkModal> = {};\n\n  for (const linkData of inLink) {\n    const noteItem = await Zotero.Items.getByLibraryAndKeyAsync(\n      linkData.fromLibID,\n      linkData.fromKey,\n    );\n    if (!noteItem) continue;\n    noteSet.add(noteItem.id);\n    let noteLinks = linkModels[noteItem.id];\n    if (!noteLinks) {\n      noteLinks = {\n        source: noteItem.id,\n        target: note.id,\n        value: 1,\n        type: \"in\",\n      };\n      linkModels[noteItem.id] = noteLinks;\n    } else {\n      noteLinks.value++;\n    }\n  }\n\n  for (const linkData of outLink) {\n    const noteItem = await Zotero.Items.getByLibraryAndKeyAsync(\n      linkData.toLibID,\n      linkData.toKey,\n    );\n    if (!noteItem) continue;\n    noteSet.add(noteItem.id);\n    let noteLinks = linkModels[noteItem.id];\n    if (!noteLinks) {\n      noteLinks = {\n        source: note.id,\n        target: noteItem.id,\n        value: 1,\n        type: \"out\",\n      };\n      linkModels[noteItem.id] = noteLinks;\n    } else {\n      noteLinks.value++;\n      if (noteLinks.type === \"in\") {\n        noteLinks.type = \"both\";\n      }\n    }\n  }\n\n  noteSet.delete(note.id);\n  const nodes = Array.from(noteSet).map((id) => {\n    const item = Zotero.Items.get(id);\n    const title = item.getNoteTitle();\n    return {\n      id: item.id,\n      title,\n      shortTitle: slice(title, 15),\n      group: 2,\n    };\n  });\n\n  const title = note.getNoteTitle();\n  nodes.push({\n    id: note.id,\n    title,\n    shortTitle: slice(title, 15),\n    group: 1,\n  });\n\n  return {\n    nodes,\n    links: Object.values(linkModels),\n  };\n}\n\ninterface NoteLinkModal {\n  source: number;\n  target: number;\n  value: number;\n  type: \"in\" | \"out\" | \"both\";\n}\n"
  },
  {
    "path": "src/modules/workspace/tab.ts",
    "content": "export const TAB_TYPE = \"note\";\n\nfunction scrollTabEditorTo(\n  item: Zotero.Item,\n  options: {\n    lineIndex?: number;\n    sectionName?: string;\n  } = {},\n) {\n  const tab = Zotero.getMainWindow().Zotero_Tabs._tabs.find(\n    (tab) => tab.data?.itemID == item.id,\n  );\n  if (!tab || tab.type !== TAB_TYPE) return;\n  const workspace = Zotero.getMainWindow().document.querySelector(\n    `#${tab.id} > bn-workspace`,\n  );\n  if (!workspace) return;\n  // @ts-ignore\n  workspace.scrollEditorTo(options);\n}\n"
  },
  {
    "path": "src/modules/workspace/window.ts",
    "content": "import { config } from \"../../../package.json\";\n\nexport async function openWorkspaceWindow(\n  item: Zotero.Item,\n  options: { lineIndex?: number; sectionName?: string } = {},\n) {\n  const windowArgs = {\n    _initPromise: Zotero.Promise.defer(),\n  };\n  const win = Zotero.getMainWindow().openDialog(\n    `chrome://${config.addonRef}/content/workspaceWindow.xhtml`,\n    \"_blank\",\n    `chrome,centerscreen,resizable,status,dialog=no`,\n    windowArgs,\n  )!;\n  await windowArgs._initPromise.promise;\n\n  const container = win.document.querySelector(\n    \"#workspace-container\",\n  ) as XULBoxElement;\n  const workspace = await addon.hooks.onInitWorkspace(container, item);\n  workspace?.scrollEditorTo(options);\n\n  win.focus();\n  win.updateTitle();\n  return win;\n}\n"
  },
  {
    "path": "src/utils/annotation.ts",
    "content": "import { importImageToNote } from \"./note\";\n\ndeclare type CustomAnnotationJSON =\n  Partial<_ZoteroTypes.Annotations.AnnotationJson> & {\n    id?: string;\n    attachmentItemID?: number;\n    text?: string;\n    tags: any;\n    imageAttachmentKey?: string | undefined;\n  };\n\nasync function parseAnnotationJSON(annotationItem: Zotero.Item) {\n  try {\n    if (!annotationItem || !annotationItem.isAnnotation()) {\n      return null;\n    }\n    const annotationJSON = await Zotero.Annotations.toJSON(annotationItem);\n    const annotationObj = Object.assign(\n      {},\n      annotationJSON,\n    ) as CustomAnnotationJSON;\n    annotationObj.id = annotationItem.key;\n    annotationObj.attachmentItemID = annotationItem.parentItem?.id;\n    delete annotationObj.key;\n    for (const key in annotationObj) {\n      annotationObj[key as keyof typeof annotationObj] =\n        annotationObj[key as keyof typeof annotationObj] || (\"\" as any);\n    }\n    annotationObj.tags = annotationObj.tags || [];\n    return annotationObj as Required<CustomAnnotationJSON>;\n  } catch (e: unknown) {\n    Zotero.logError(e as Error);\n    return null;\n  }\n}\n\n// Zotero.EditorInstanceUtilities.serializeAnnotations\nfunction serializeAnnotations(\n  annotations: Required<CustomAnnotationJSON>[],\n  skipEmbeddingItemData: boolean = false,\n  skipCitation: boolean = false,\n) {\n  const storedCitationItems: Record<string, any>[] = [];\n  let html = \"\";\n  for (const annotation of annotations) {\n    const attachmentItem = Zotero.Items.get(annotation.attachmentItemID);\n    if (!attachmentItem) {\n      continue;\n    }\n\n    if (\n      (!annotation.text &&\n        !annotation.comment &&\n        !annotation.imageAttachmentKey &&\n        !annotation.image) ||\n      annotation.type === \"ink\"\n    ) {\n      continue;\n    }\n\n    let citationHTML = \"\";\n    let imageHTML = \"\";\n    let highlightHTML = \"\";\n    let quotedHighlightHTML = \"\";\n    let commentHTML = \"\";\n\n    const storedAnnotation: any = {\n      attachmentURI: Zotero.URI.getItemURI(attachmentItem),\n      annotationKey: annotation.id,\n      color: annotation.color,\n      pageLabel: annotation.pageLabel,\n      position: annotation.position,\n    };\n\n    // Citation\n    const parentItem = skipCitation\n      ? undefined\n      : attachmentItem.parentID && Zotero.Items.get(attachmentItem.parentID);\n    if (parentItem) {\n      const uris = [Zotero.URI.getItemURI(parentItem)];\n      const citationItem: any = {\n        uris,\n        locator: annotation.pageLabel,\n      };\n\n      // Note: integration.js` uses `Zotero.Cite.System.prototype.retrieveItem`,\n      // which produces a little bit different CSL JSON\n      // @ts-ignore\n      const itemData = Zotero.Utilities.Item.itemToCSLJSON(parentItem);\n      if (!skipEmbeddingItemData) {\n        citationItem.itemData = itemData;\n      }\n\n      const item = storedCitationItems.find((item) =>\n        item.uris.some((uri: string) => uris.includes(uri)),\n      );\n      if (!item) {\n        storedCitationItems.push({ uris, itemData });\n      }\n\n      storedAnnotation.citationItem = citationItem;\n      const citation = {\n        citationItems: [citationItem],\n        properties: {},\n      };\n\n      const citationWithData = JSON.parse(JSON.stringify(citation));\n      citationWithData.citationItems[0].itemData = itemData;\n      const formatted =\n        Zotero.EditorInstanceUtilities.formatCitation(citationWithData);\n      citationHTML = `<span class=\"citation\" data-citation=\"${encodeURIComponent(\n        JSON.stringify(citation),\n      )}\">${formatted}</span>`;\n    }\n\n    // Image\n    if (annotation.imageAttachmentKey) {\n      // Normalize image dimensions to 1.25 of the print size\n      const rect = annotation.position.rects[0];\n      const rectWidth = rect[2] - rect[0];\n      const rectHeight = rect[3] - rect[1];\n      // Constants from pdf.js\n      const CSS_UNITS = 96.0 / 72.0;\n      const PDFJS_DEFAULT_SCALE = 1.25;\n      const width = Math.round(rectWidth * CSS_UNITS * PDFJS_DEFAULT_SCALE);\n      const height = Math.round((rectHeight * width) / rectWidth);\n      imageHTML = `<img data-attachment-key=\"${\n        annotation.imageAttachmentKey\n      }\" width=\"${width}\" height=\"${height}\" data-annotation=\"${encodeURIComponent(\n        JSON.stringify(storedAnnotation),\n      )}\"/>`;\n    }\n\n    // Image in b64\n    if (annotation.image) {\n      imageHTML = `<img src=\"${annotation.image}\"/>`;\n    }\n\n    // Text\n    if (annotation.text) {\n      const text = Zotero.EditorInstanceUtilities._transformTextToHTML.call(\n        Zotero.EditorInstanceUtilities,\n        annotation.text.trim(),\n      );\n      highlightHTML = `<span class=\"${annotation.type}\" data-annotation=\"${encodeURIComponent(\n        JSON.stringify(storedAnnotation),\n      )}\">${text}</span>`;\n      quotedHighlightHTML = `<span class=\"${annotation.type}\" data-annotation=\"${encodeURIComponent(\n        JSON.stringify(storedAnnotation),\n      )}\">${Zotero.getString(\n        \"punctuation.openingQMark\",\n      )}${text}${Zotero.getString(\"punctuation.closingQMark\")}</span>`;\n    }\n\n    // Note\n    if (annotation.comment) {\n      commentHTML = Zotero.EditorInstanceUtilities._transformTextToHTML.call(\n        Zotero.EditorInstanceUtilities,\n        annotation.comment.trim(),\n      );\n    }\n\n    let template: string = \"\";\n    if ([\"highlight\", \"underline\"].includes(annotation.type)) {\n      template = Zotero.Prefs.get(\n        \"annotations.noteTemplates.highlight\",\n      ) as string;\n    } else if ([\"note\", \"text\"].includes(annotation.type)) {\n      template = Zotero.Prefs.get(\"annotations.noteTemplates.note\") as string;\n    } else if (annotation.type === \"image\") {\n      template = \"<p>{{image}}<br/>{{citation}} {{comment}}</p>\";\n    }\n\n    ztoolkit.log(\"Using note template:\");\n    ztoolkit.log(template);\n\n    template = template.replace(\n      /(<blockquote>[^<>]*?)({{highlight}})([\\s\\S]*?<\\/blockquote>)/g,\n      (match, p1, p2, p3) => p1 + \"{{highlight quotes='false'}}\" + p3,\n    );\n\n    const vars = {\n      color: annotation.color || \"\",\n      // Include quotation marks by default, but allow to disable with `quotes='false'`\n      highlight: (attrs: any) =>\n        attrs.quotes === \"false\" ? highlightHTML : quotedHighlightHTML,\n      comment: commentHTML,\n      citation: citationHTML,\n      image: imageHTML,\n      tags: (attrs: any) =>\n        (\n          (annotation.tags && annotation.tags.map((tag: any) => tag.name)) ||\n          []\n        ).join(attrs.join || \" \"),\n    };\n\n    let templateHTML = Zotero.Utilities.Internal.generateHTMLFromTemplate(\n      template,\n      vars,\n    );\n    // Remove some spaces at the end of paragraph\n    templateHTML = templateHTML.replace(/([\\s]*)(<\\/p)/g, \"$2\");\n    // Remove multiple spaces\n    templateHTML = templateHTML.replace(/\\s\\s+/g, \" \");\n    html += templateHTML;\n  }\n  return { html, citationItems: storedCitationItems };\n}\n\nexport async function importAnnotationImagesToNote(\n  note: Zotero.Item | undefined,\n  annotations: CustomAnnotationJSON[],\n) {\n  for (const annotation of annotations) {\n    if (annotation.image && note) {\n      annotation.imageAttachmentKey =\n        (await importImageToNote(note, annotation.image)) || \"\";\n      delete annotation.image;\n    }\n  }\n}\n\nexport async function parseAnnotationHTML(\n  annotations: Zotero.Item[],\n  options: {\n    noteItem?: Zotero.Item; // If you are sure there are no image annotations, note is not required.\n    ignoreBody?: boolean;\n    ignoreComment?: boolean;\n    skipCitation?: boolean;\n  } = {},\n) {\n  const annotationJSONList: CustomAnnotationJSON[] = [];\n  for (const annot of annotations) {\n    const annotJson = await parseAnnotationJSON(annot);\n    if (options.ignoreComment && annotJson?.comment) {\n      annotJson.comment = \"\";\n    }\n    if (options.ignoreBody && annotJson?.text && annotJson?.comment) {\n      annotJson.text = annotJson.comment;\n      annotJson.comment = \"\";\n    }\n    annotationJSONList.push(annotJson!);\n  }\n\n  await importAnnotationImagesToNote(options.noteItem, annotationJSONList);\n  const html = serializeAnnotations(\n    annotationJSONList as Required<CustomAnnotationJSON>[],\n    false,\n    options.skipCitation,\n  ).html;\n  return html;\n}\n"
  },
  {
    "path": "src/utils/citation.ts",
    "content": "export async function parseCitationHTML(\n  citationIds: number[],\n  args: {\n    locator?: string;\n    label?: string;\n    prefix?: string;\n    suffix?: string;\n  }[] = [],\n) {\n  let html = \"\";\n  if (citationIds.length === 0 || !citationIds.every((id) => id)) {\n    return null;\n  }\n  const items = await Zotero.Items.getAsync(citationIds);\n  for (const item of items) {\n    if (\n      item.isNote() &&\n      !(await Zotero.Notes.ensureEmbeddedImagesAreAvailable(item)) &&\n      !Zotero.Notes.promptToIgnoreMissingImage()\n    ) {\n      return null;\n    }\n  }\n\n  let i = 0;\n  for (const item of items) {\n    if (item.isRegularItem()) {\n      const currentArgs = {\n        locator: args[i].locator || \"\",\n        label: args[i].label || \"\",\n        prefix: args[i].prefix || \"\",\n        suffix: args[i].suffix || \"\",\n      };\n      // @ts-ignore\n      const itemData = Zotero.Utilities.Item.itemToCSLJSON(item);\n      const citation = {\n        citationItems: [\n          {\n            uris: [Zotero.URI.getItemURI(item)],\n            ...currentArgs,\n            itemData,\n          },\n        ],\n        properties: {},\n      };\n      const formatted = Zotero.EditorInstanceUtilities.formatCitation(citation);\n      html += `<p><span class=\"citation\" data-citation=\"${encodeURIComponent(\n        JSON.stringify(citation),\n      )}\">${formatted}</span></p>`;\n      i++;\n    }\n  }\n  return html;\n}\n"
  },
  {
    "path": "src/utils/config.ts",
    "content": "export const ICONS = {\n  linkCreator: `<svg t=\"1651124422933\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3269\" width=\"20\" height=\"20\"><path d=\"M896.00324 352c70.7 0 128-57.3 128-128 0-70.6-57.4-128-128-128-70.7 0-128 57.3-128 128 0 18.8 4.1 36.7 11.3 52.8 2.7 6 1.4 13.1-3.3 17.8l-24.2 24.2c-5.7 5.7-14.9 6.3-21.2 1.2-38.1-30.1-86.3-48-138.6-48-18.8 0-37.1 2.3-54.6 6.7-6.9 1.7-14.1-1.4-17.7-7.5l-6.6-11.4c-3.4-5.8-2.7-13.1 1.6-18.3 18.6-22.6 29.7-51.6 29.3-83.2C543.10324 89 486.30324 32.6 417.00324 32c-70.6-0.6-128.1 56.1-129 126.3-0.9 69.5 56.5 128.6 126 129.6 9.4 0.1 18.5-0.7 27.4-2.5 6.8-1.4 13.6 1.7 17.1 7.7l2.2 3.8c4 7 2.2 15.9-4.2 20.7-42.4 32.3-73 79.4-84 133.6-1.5 7.4-8.1 12.7-15.7 12.7h-94.1c-6.6 0-12.6-4-14.9-10.2-18.1-48-64.3-82.2-118.5-82.8C58.70324 370.3 0.50324 427.6 0.00324 498.1-0.49676 569.2 57.00324 627 128.00324 627c56.7 0 104.8-36.9 121.6-87.9 2.2-6.6 8.3-11.1 15.2-11.1h92c7.6 0 14.2 5.4 15.7 12.9 9.5 46.7 33.5 88 67 119.2 5.4 5 6.6 13.2 2.9 19.6l-21.7 37.6c-3.7 6.3-11.1 9.4-18.2 7.4-11.1-3.1-22.7-4.7-34.8-4.7-69.7 0.1-127 56.8-127.8 126.6-0.8 71.7 57.4 130 129.1 129.4 69.5-0.6 126.3-57.3 126.9-126.8 0.3-28-8.5-53.9-23.5-75.1-3.6-5.1-3.9-11.8-0.8-17.2l24.9-43.1c3.9-6.7 12-9.7 19.3-7 23.7 8.6 49.3 13.2 76 13.2 34.9 0 67.9-8 97.3-22.2 7.6-3.7 16.7-0.9 20.9 6.4l37 64c-26.3 23.5-43 57.7-43 95.8 0 70.9 58 128.5 128.9 128 69.7-0.5 126.2-56.7 127.1-126.3 0.9-70.1-57-129.3-127.1-129.7-6.2 0-12.3 0.4-18.3 1.2-6.5 0.9-12.8-2.2-16.1-7.8l-39.2-67.9c-3.4-5.9-2.7-13.3 1.7-18.4 34.2-39.3 54.9-90.7 54.9-147 0-38.9-9.9-75.5-27.4-107.4-3.4-6.2-2.2-13.9 2.8-18.9l28.4-28.4c4.9-4.9 12.4-6 18.7-2.9 17.4 8.6 36.9 13.5 57.6 13.5z m0-192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM128.00324 563c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z m240 349c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z m464-112c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM416.00324 224c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z m289.1 385.1C674.90324 639.4 634.70324 656 592.00324 656s-82.9-16.6-113.1-46.9C448.60324 578.9 432.00324 538.7 432.00324 496s16.6-82.9 46.9-113.1C509.10324 352.6 549.30324 336 592.00324 336s82.9 16.6 113.1 46.9C735.40324 413.1 752.00324 453.3 752.00324 496s-16.6 82.9-46.9 113.1z\" p-id=\"3270\" fill=\"currentColor\"></path></svg>`,\n  previewImage: `<svg t=\"1679666418098\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4921\" width=\"16\" height=\"16\"><path d=\"M512 819.2c-118.784 0-235.52-55.296-346.112-147.456-38.912-32.768-71.68-65.536-102.4-100.352-10.24-12.288-20.48-22.528-28.672-32.768-4.096-6.144-8.192-10.24-10.24-12.288l-8.192-12.288 8.192-12.288c2.048-2.048 6.144-6.144 10.24-12.288 8.192-10.24 18.432-20.48 28.672-32.768 30.72-34.816 65.536-67.584 102.4-100.352 110.592-92.16 227.328-147.456 346.112-147.456s235.52 55.296 346.112 147.456c38.912 32.768 71.68 65.536 102.4 100.352 10.24 12.288 20.48 22.528 28.672 32.768 4.096 6.144 8.192 10.24 10.24 12.288l8.192 12.288-8.192 12.288c-2.048 2.048-6.144 6.144-10.24 12.288-8.192 10.24-18.432 20.48-28.672 32.768-30.72 34.816-65.536 67.584-102.4 100.352-110.592 92.16-227.328 147.456-346.112 147.456z m-417.792-276.48c28.672 32.768 61.44 65.536 98.304 96.256 102.4 86.016 210.944 139.264 319.488 139.264s217.088-51.2 319.488-139.264c36.864-30.72 69.632-63.488 98.304-96.256 10.24-12.288 18.432-22.528 26.624-30.72-8.192-10.24-16.384-20.48-26.624-30.72-28.672-32.768-61.44-65.536-98.304-96.256-102.4-86.016-210.944-139.264-319.488-139.264s-217.088 51.2-319.488 139.264c-36.864 30.72-69.632 63.488-98.304 96.256-10.24 12.288-18.432 22.528-26.624 30.72 6.144 10.24 16.384 20.48 26.624 30.72z m417.792 174.08c-112.64 0-204.8-92.16-204.8-204.8s92.16-204.8 204.8-204.8 204.8 92.16 204.8 204.8-92.16 204.8-204.8 204.8z m0-40.96c90.112 0 163.84-73.728 163.84-163.84s-73.728-163.84-163.84-163.84-163.84 73.728-163.84 163.84 73.728 163.84 163.84 163.84z\" fill=\"currentColor\" p-id=\"4922\"></path></svg>`,\n  resizeImage: `<svg t=\"1679666293914\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3864\" width=\"16\" height=\"16\"><path d=\"M1024 288h-64V64h-224V0h288v288z\" fill=\"currentColor\" p-id=\"3865\"></path><path d=\"M551.264 427.904L969.6 9.536l45.248 45.248-418.368 418.4zM288 1024H0v-288h64v224h224v64z\" fill=\"currentColor\" p-id=\"3866\"></path><path d=\"M9.28 969.216L427.424 551.04l45.248 45.248L54.528 1014.464zM192 352H128V128h224v64H192v160zM128 416h64v192H128zM416 128h192v64h-192zM896 896h-224v-64h160v-160h64v224zM832 416h64v192h-64zM416 832h192v64h-192z\" fill=\"currentColor\" p-id=\"3867\"></path></svg>`,\n  imageViewerPin: `<svg t=\"1668685819555\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1445\" width=\"18\" height=\"18\"><path d=\"M631.637333 178.432a64 64 0 0 1 19.84 13.504l167.616 167.786667a64 64 0 0 1-19.370666 103.744l-59.392 26.304-111.424 111.552-8.832 122.709333a64 64 0 0 1-109.098667 40.64l-108.202667-108.309333-184.384 185.237333-45.354666-45.162667 184.490666-185.344-111.936-112.021333a64 64 0 0 1 40.512-109.056l126.208-9.429333 109.44-109.568 25.706667-59.306667a64 64 0 0 1 84.181333-33.28z m-25.450666 58.730667l-30.549334 70.464-134.826666 135.04-149.973334 11.157333 265.408 265.6 10.538667-146.474667 136.704-136.874666 70.336-31.146667-167.637333-167.765333z\" p-id=\"1446\" fill=\"currentColor\"></path></svg>`,\n  imageViewerPined: `<svg t=\"1668685864340\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1624\" width=\"18\" height=\"18\"><path d=\"M631.637333 178.432a64 64 0 0 1 19.84 13.504l167.616 167.786667a64 64 0 0 1-19.370666 103.744l-59.392 26.304-111.424 111.552-8.832 122.709333a64 64 0 0 1-109.098667 40.64l-108.202667-108.309333-184.384 185.237333-45.354666-45.162667 184.490666-185.344-111.936-112.021333a64 64 0 0 1 40.512-109.056l126.208-9.429333 109.44-109.568 25.706667-59.306667a64 64 0 0 1 84.181333-33.28z\" p-id=\"1625\" fill=\"currentColor\"></path></svg>`,\n  workspaceToggle: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" fill=\"none\"><path fill=\"currentColor\" d=\"M7 7.25H4V6h3zM7 10.25H4V9h3zM7 13.25H4V12h3z\"></path><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M2.25 3C1.56 3 1 3.56 1 4.25v11.5c0 .69.56 1.25 1.25 1.25h15.5c.69 0 1.25-.56 1.25-1.25V4.25C19 3.56 18.44 3 17.75 3zm15.5 1.25H10v11.5h7.75zm-15.5 0h6.5v11.5h-6.5z\" clip-rule=\"evenodd\"></path></svg>`,\n  readerQuickNote: `<svg t=\"1651630304116\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"14011\" width=\"16\" height=\"16\"><path d=\"M791.30324 369.7c-5 5-6.2 12.7-2.8 18.9 17.5 31.9 27.4 68.5 27.4 107.4 0 56.2-20.7 107.6-54.9 147-4.5 5.1-5.1 12.6-1.8 18.4l39.2 67.9c3.3 5.7 9.6 8.7 16.1 7.8 6-0.8 12.1-1.2 18.3-1.2 70.1 0.5 128 59.7 127.1 129.7-0.9 69.7-57.4 125.9-127.1 126.4-70.9 0.5-128.9-57.1-128.9-128 0-38.1 16.7-72.3 43.1-95.8l-37-64c-4.2-7.3-13.3-10-20.9-6.4-29.3 14.2-62.3 22.2-97.2 22.2-26.7 0-52.3-4.7-76-13.2-7.3-2.6-15.4 0.3-19.3 7l-24.9 43.1c-3.1 5.4-2.8 12.1 0.8 17.2 15 21.2 23.7 47.1 23.5 75.1-0.7 69.5-57.5 126.2-127 126.8-71.6 0.6-129.8-57.7-129.1-129.4 0.8-69.7 58-126.5 127.8-126.6 12 0 23.7 1.6 34.8 4.7 7 2 14.5-1.1 18.2-7.4l21.7-37.6c3.7-6.4 2.5-14.6-2.9-19.6-33.6-31.2-57.5-72.6-67-119.2-1.5-7.5-8-12.9-15.7-12.9h-92c-6.9 0-13.1 4.5-15.2 11.1C232.80324 590.2 184.70324 627 128.00324 627 57.00324 627-0.49676 569.2 0.00324 498.1 0.40324 427.5 58.60324 370.3 129.20324 371c54.2 0.5 100.4 34.8 118.5 82.8C250.00324 460 256.00324 464 262.60324 464h94.1c7.6 0 14.2-5.3 15.7-12.7 11-54.2 41.5-101.3 84-133.6 6.4-4.9 8.2-13.8 4.2-20.8l-2.2-3.8c-3.5-6-10.3-9-17.1-7.7-8.8 1.8-18 2.7-27.4 2.5-69.5-1-126.9-60.1-126-129.6 0.9-70.3 58.4-126.9 129-126.3 69.3 0.6 126 57 127 126.2 0.4 31.6-10.6 60.7-29.3 83.2-4.3 5.2-5 12.5-1.6 18.3l6.6 11.4c3.6 6.2 10.8 9.3 17.7 7.5 17.5-4.4 35.8-6.7 54.6-6.7 52.3 0 100.4 17.9 138.6 48 6.4 5 15.5 4.5 21.2-1.2l24.2-24.2c4.7-4.7 6-11.8 3.3-17.8-7.3-16.1-11.3-34-11.3-52.8 0-70.7 57.3-128 128-128 70.6 0 128 57.4 128 128 0 70.7-57.3 128-128 128-20.7 0-40.2-4.9-57.5-13.6-6.2-3.1-13.7-2-18.7 2.9l-28.4 28.5z\" p-id=\"14012\" fill=\"#ffd400\"></path></svg>`,\n  embedLinkContent: `<svg t=\"1652008007954\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"10521\" width=\"16\" height=\"16\"><path d=\"M574.3 896H159.7c-17.6 0-31.9-14.3-31.9-32V160c0-17.7 14.3-32 31.9-32h382.7v160c0 35.3 28.6 64 63.8 64h159.5v192c0 17.7 14.3 32 31.9 32 17.6 0 31.9-14.3 31.9-32V270.2c0-8.5-3.3-16.6-9.3-22.6L647.4 73.4c-6-6-14.1-9.4-22.6-9.4h-497C92.6 64 64 92.7 64 128v768c0 35.3 28.6 64 63.8 64h446.5c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM638.1 288c-17.6 0-31.9-14.3-31.9-32V128l159.5 160H638.1z\" p-id=\"10522\" style=\"fill: currentColor;\"></path><path d=\"M418.8 673H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h193.3c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM608.2 481H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32h382.7c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32zM225.5 353h191.4c17.6 0 31.9-14.3 31.9-32s-14.3-32-31.9-32H225.5c-17.6 0-31.9 14.3-31.9 32s14.3 32 31.9 32zM862.7 959.4c-23.6 0-47-8.8-64.8-26.6l-24.4-24.4c-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0l24.4 24.4c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3L749.2 702.6c-11.3-11.4-30.7-10.4-43.2 2.1-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4 12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0c-36.2-36.3-35.2-96.3 2.1-133.8 37.4-37.5 97.2-38.4 133.4-2.1l139.1 139.5c36.2 36.3 35.2 96.3-2.1 133.8-19 19.2-43.9 28.8-68.6 28.8z\" p-id=\"10523\" style=\"fill: currentColor;\"></path><path d=\"M696.3 883.1c-23.6 0-47-8.8-64.8-26.6l-139-139.6c-17.7-17.8-27.2-41.7-26.6-67.2 0.6-25 10.8-48.6 28.7-66.6 17.9-17.9 41.5-28.2 66.4-28.8 25.5-0.6 49.3 8.9 67 26.6l24.4 24.4c12.5 12.5 12.5 32.8 0 45.3s-32.7 12.5-45.1 0l-24.4-24.4c-5.3-5.3-12.5-8.1-20.4-7.9-8.4 0.2-16.5 3.8-22.8 10-6.2 6.3-9.8 14.4-10 22.8-0.2 7.9 2.6 15.1 7.9 20.4L676.7 811c11.3 11.4 30.7 10.4 43.2-2.1 12.5-12.5 13.4-31.9 2.1-43.3-12.5-12.5-12.5-32.8 0-45.3s32.7-12.5 45.1 0c36.2 36.3 35.3 96.3-2.1 133.8-19.1 19.3-44 29-68.7 29z\" p-id=\"10524\" style=\"fill: currentColor;\"></path></svg>`,\n  updateLinkText: `<svg t=\"1652685521153\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7063\" width=\"16\" height=\"16\"><path d=\"M271.914667 837.418667C182.314667 756.522667 128 637.653333 128 508.714667 128 304.896 263.338667 129.834667 450.986667 85.333333L469.333333 170.026667c-150.016 35.584-258.304 175.658667-258.304 338.688 0 106.069333 45.866667 203.562667 121.258667 268.373333L426.666667 682.666667v256H170.666667l101.248-101.248zM727.082667 168.917333C831.530667 249.045333 896 377.088 896 517.077333c0 202.922667-135.338667 377.258667-322.986667 421.589334L554.666667 854.357333c150.016-35.456 258.304-174.933333 258.304-337.322666 0-117.12-56.405333-223.786667-146.901334-287.146667L554.666667 341.333333V85.333333h256l-83.584 83.584z\" p-id=\"7064\" style=\"fill: currentColor;\"></path></svg>`,\n  openInNewWindow: `<svg t=\"1665756319579\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9123\" width=\"16\" height=\"16\"><path d=\"M808 896h-592c-48 0-88-41.6-88-92.8V220.8C128 169.6 168 128 216 128h353.6c17.6 0 32 14.4 32 32s-14.4 32-32 32H216c-12.8 0-24 12.8-24 28.8v580.8c0 16 11.2 28.8 24 28.8h592c12.8 0 24-12.8 24-28.8V480c0-17.6 14.4-32 32-32s32 14.4 32 32v323.2c0 51.2-40 92.8-88 92.8z\" p-id=\"9124\" style=\"fill: currentColor;\"></path><path d=\"M416 704c-17.6 0-32-14.4-32-32 0-281.6 230.4-512 512-512 17.6 0 32 14.4 32 32s-14.4 32-32 32c-246.4 0-448 201.6-448 448 0 17.6-14.4 32-32 32z\" p-id=\"9125\" style=\"fill: currentColor;\"></path><path d=\"M784 417.6c-4.8 0-11.2-1.6-16-4.8-16-9.6-20.8-28.8-11.2-43.2l96-166.4-166.4-96c-16-9.6-20.8-28.8-11.2-43.2 9.6-16 28.8-20.8 43.2-11.2l193.6 112c16 9.6 20.8 28.8 11.2 43.2l-112 193.6c-4.8 11.2-16 16-27.2 16z\" p-id=\"9126\" style=\"fill: currentColor;\"></path></svg>`,\n};\n\nexport const PROGRESS_TITLE = \"Better Notes\";\n"
  },
  {
    "path": "src/utils/convert.ts",
    "content": "import { config } from \"../../package.json\";\nimport { unified } from \"unified\";\nimport rehypeParse from \"rehype-parse\";\nimport { toHtml } from \"hast-util-to-html\";\nimport { toText } from \"hast-util-to-text\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkMath from \"remark-math\";\n// visit may push nodes twice, use new Array(...new Set(nodes))\n// if the you want to process nodes outside visit\nimport { visit } from \"unist-util-visit\";\nimport rehypeFormat from \"rehype-format\";\nimport { h } from \"hastscript\";\nimport YAML = require(\"yamljs\");\n\nimport { Root as HRoot } from \"hast\";\nimport { Root as MRoot } from \"mdast\";\nimport { fileExists, formatPath, jointPath, randomString } from \"./str\";\nimport {\n  copyEmbeddedImagesInHTML,\n  importImageToNote,\n  renderNoteHTML,\n} from \"./note\";\nimport {\n  getLinkedNotesRecursively,\n  getNoteLink,\n  getNoteLinkParams,\n} from \"./link\";\nimport { parseAnnotationHTML } from \"./annotation\";\nimport { getPref } from \"./prefs\";\nimport { showHint, showHintWithLink } from \"./hint\";\nimport { MessageHelper, wait } from \"zotero-plugin-toolkit\";\nimport { handlers } from \"../extras/convertWorker/main\";\nimport { Change } from \"diff\";\n\nexport {\n  md2note,\n  note2md,\n  note2noteDiff,\n  note2link,\n  link2note,\n  link2params,\n  link2html,\n  md2html,\n  html2md,\n  annotations2html,\n  note2html,\n  note2latex,\n  content2diff,\n  closeConvertServer,\n};\n\nfunction closeConvertServer() {\n  if (addon.data.convert.server) {\n    addon.data.convert.server.destroy();\n    addon.data.convert.server = undefined;\n  }\n}\n\nasync function getConvertServer() {\n  if (addon.data.convert.server) {\n    return addon.data.convert.server;\n  }\n\n  const worker = new Worker(\n    `chrome://${config.addonRef}/content/scripts/convertWorker.js`,\n    { name: \"convertWorker\" },\n  );\n  const server = new MessageHelper<typeof handlers>({\n    canBeDestroyed: false,\n    dev: __env__ === \"development\",\n    name: \"convertWorkerMain\",\n    target: worker,\n    handlers: {},\n  });\n  server.start();\n  await server.proxy._ping();\n  addon.data.convert.server = server;\n  return server;\n}\n\nasync function note2rehype(\n  ...args: Parameters<(typeof handlers)[\"note2rehype\"]>\n) {\n  const server = await getConvertServer();\n  return await server.proxy.note2rehype(...args);\n}\n\nasync function rehype2remark(\n  ...args: Parameters<(typeof handlers)[\"rehype2remark\"]>\n) {\n  const server = await getConvertServer();\n  return await server.proxy.rehype2remark(...args);\n}\n\nasync function rehype2note(\n  ...args: Parameters<(typeof handlers)[\"rehype2note\"]>\n) {\n  const server = await getConvertServer();\n  return await server.proxy.rehype2note(...args);\n}\n\nasync function remark2rehype(\n  ...args: Parameters<(typeof handlers)[\"remark2rehype\"]>\n) {\n  const server = await getConvertServer();\n  return await server.proxy.remark2rehype(...args);\n}\n\nasync function md2remark(...args: Parameters<(typeof handlers)[\"md2remark\"]>) {\n  const server = await getConvertServer();\n  return await server.proxy.md2remark(...args);\n}\n\nasync function remark2md(...args: Parameters<(typeof handlers)[\"remark2md\"]>) {\n  const server = await getConvertServer();\n  return await server.proxy.remark2md(...args);\n}\n\nasync function remark2latex(\n  ...args: Parameters<(typeof handlers)[\"remark2latex\"]>\n) {\n  const server = await getConvertServer();\n  return await server.proxy.remark2latex(...args);\n}\n\nasync function md2html(...args: Parameters<(typeof handlers)[\"md2html\"]>) {\n  const server = await getConvertServer();\n  return await server.proxy.md2html(...args);\n}\n\nasync function note2md(\n  noteItem: Zotero.Item,\n  dir: string,\n  options: {\n    keepNoteLink?: boolean;\n    withYAMLHeader?: boolean;\n    cachedYAMLHeader?: Record<string, any>;\n    skipSavingImages?: boolean;\n  } = {},\n) {\n  const noteStatus = addon.api.sync.getNoteStatus(noteItem.id)!;\n  const rehype = await note2rehype(noteStatus.content);\n  processN2MRehypeHighlightNodes(\n    getN2MRehypeHighlightNodes(rehype as HRoot),\n    NodeMode.direct,\n  );\n  processN2MRehypeCitationNodes(\n    getN2MRehypeCitationNodes(rehype as HRoot),\n    NodeMode.direct,\n  );\n  await processN2MRehypeNoteLinkNodes(\n    getN2MRehypeNoteLinkNodes(rehype),\n    dir,\n    options.keepNoteLink ? NodeMode.default : NodeMode.direct,\n  );\n  await processN2MRehypeImageNodes(\n    getN2MRehypeImageNodes(rehype),\n    noteItem.libraryID,\n    jointPath(dir, getPref(\"syncAttachmentFolder\") as string),\n    options.skipSavingImages,\n    false,\n    NodeMode.direct,\n  );\n  const remark = await rehype2remark(rehype as HRoot);\n  if (!remark) {\n    throw new Error(\"Parsing Error: Rehype2Remark\");\n  }\n  let md = await remark2md(remark as MRoot);\n  try {\n    md =\n      (await addon.api.template.runTemplate(\n        \"[ExportMDFileContent]\",\n        \"noteItem, mdContent\",\n        [noteItem, md],\n      )) ?? md;\n  } catch (e) {\n    ztoolkit.log(e);\n  }\n\n  if (options.withYAMLHeader) {\n    let header = {} as Record<string, any>;\n    try {\n      header = JSON.parse(\n        await addon.api.template.runTemplate(\n          \"[ExportMDFileHeaderV2]\",\n          \"noteItem\",\n          [noteItem],\n        ),\n      );\n      const cachedHeader = options.cachedYAMLHeader || {};\n      for (const key in cachedHeader) {\n        if ((key === \"tags\" || key.startsWith(\"$\")) && key in header) {\n          // generated header overwrites cached header\n          continue;\n        } else {\n          // otherwise do not overwrite\n          header[key] = cachedHeader[key];\n        }\n      }\n    } catch (e) {\n      ztoolkit.log(e);\n    }\n    Object.assign(header, {\n      $version: noteItem.version,\n      $libraryID: noteItem.libraryID,\n      $itemKey: noteItem.key,\n    });\n    const yamlFrontMatter = `---\\n${YAML.stringify(header, 10)}\\n---`;\n    md = `${yamlFrontMatter}\\n${md}`;\n  }\n  return md;\n}\n\nasync function md2note(\n  mdStatus: MDStatus,\n  noteItem: Zotero.Item,\n  options: { isImport?: boolean } = {},\n) {\n  const remark = await md2remark(mdStatus.content);\n  const _rehype = await remark2rehype(remark);\n  const _note = await rehype2note(_rehype as HRoot);\n  const rehype = await note2rehype(_note);\n\n  // Check if image citation already belongs to note\n  processM2NRehypeMetaImageNodes(getM2NRehypeImageNodes(rehype));\n\n  processM2NRehypeHighlightNodes(getM2NRehypeHighlightNodes(rehype));\n  await processM2NRehypeCitationNodes(\n    getM2NRehypeCitationNodes(rehype),\n    options.isImport,\n  );\n  processM2NRehypeNoteLinkNodes(getM2NRehypeNoteLinkNodes(rehype));\n  await processM2NRehypeImageNodes(\n    getM2NRehypeImageNodes(rehype),\n    noteItem,\n    mdStatus.filedir,\n    options.isImport,\n  );\n  const noteContent = await rehype2note(rehype as HRoot);\n  return noteContent;\n}\n\nasync function note2latex(\n  noteItem: Zotero.Item,\n  dir: string,\n  options: {\n    keepNoteLink?: boolean;\n    withYAMLHeader?: boolean;\n    cachedYAMLHeader?: Record<string, any>;\n    skipSavingImages?: boolean;\n  } = {},\n) {\n  const noteStatus = addon.api.sync.getNoteStatus(noteItem.id)!;\n  const rehype = await note2rehype(noteStatus.content);\n\n  const bibString = await processN2LRehypeCitationNodes(\n    getN2MRehypeCitationNodes(rehype as HRoot),\n  );\n  await processN2LRehypeHeaderNodes(getN2LRehypeHeaderNodes(rehype as HRoot));\n  await processN2LRehypeLinkNodes(getN2LRehypeLinkNodes(rehype as HRoot));\n  await processN2LRehypeListNodes(getN2LRehypeListNodes(rehype as HRoot));\n  await processN2LRehypeTableNodes(getN2LRehypeTableNodes(rehype as HRoot));\n  await processN2LRehypeImageNodes(\n    getN2MRehypeImageNodes(rehype),\n    noteItem.libraryID,\n    jointPath(dir, getPref(\"syncAttachmentFolder\") as string),\n    options.skipSavingImages,\n    false,\n    NodeMode.direct,\n  );\n\n  const remark = await rehype2remark(rehype as HRoot);\n  if (!remark) {\n    throw new Error(\"Parsing Error: Rehype2Remark\");\n  }\n  let latex = await remark2latex(remark as MRoot);\n  try {\n    latex =\n      (await addon.api.template.runTemplate(\n        \"[ExportLatexFileContent]\",\n        \"noteItem, latexContent\",\n        [noteItem, latex],\n      )) ?? latex;\n  } catch (e) {\n    ztoolkit.log(e);\n  }\n\n  return [latex, bibString];\n}\n\nasync function note2noteDiff(noteItem: Zotero.Item) {\n  const noteStatus = addon.api.sync.getNoteStatus(noteItem.id)!;\n  const rehype = await note2rehype(noteStatus.content);\n  await processM2NRehypeCitationNodes(getM2NRehypeCitationNodes(rehype), true);\n  // Parse content like citations\n  return await rehype2note(rehype as HRoot);\n}\n\nasync function content2diff(oldStr: string, newStr: string): Promise<Change[]> {\n  const server = await getConvertServer();\n  const diff = await server.proxy.content2diff(oldStr, newStr);\n  return diff;\n}\n\nfunction note2link(\n  noteItem: Zotero.Item,\n  options: Parameters<typeof getNoteLink>[1] = {},\n) {\n  return getNoteLink(noteItem, options);\n}\n\nfunction link2note(link: string) {\n  return getNoteLinkParams(link).noteItem;\n}\n\nfunction link2params(link: string) {\n  return getNoteLinkParams(link);\n}\n\nasync function link2html(\n  link: string,\n  options: {\n    noteItem?: Zotero.Item;\n    dryRun?: boolean;\n    usePosition?: boolean;\n  } = {},\n) {\n  ztoolkit.log(\n    \"link2html\",\n    link,\n    options.noteItem?.id,\n    options.dryRun,\n    options.usePosition,\n  );\n  const linkParams = getNoteLinkParams(link);\n  if (!linkParams.noteItem) {\n    return \"\";\n  }\n  const refIds = getLinkedNotesRecursively(link);\n  const refNotes = options.noteItem ? Zotero.Items.get(refIds) : [];\n  ztoolkit.log(refIds);\n  let html;\n  if (options.usePosition) {\n    const item = linkParams.noteItem;\n    let lineIndex = linkParams.lineIndex;\n\n    if (typeof linkParams.sectionName === \"string\") {\n      const sectionTree = await addon.api.note.getNoteTreeFlattened(item);\n      const sectionNode = sectionTree.find(\n        (node) => node.model.name.trim() === linkParams.sectionName!.trim(),\n      );\n      lineIndex = sectionNode?.model.lineIndex;\n    }\n    html = (await addon.api.note.getLinesInNote(item))\n      .slice(lineIndex)\n      .join(\"\\n\");\n  } else {\n    html = addon.api.sync.getNoteStatus(linkParams.noteItem.id)?.content || \"\";\n  }\n  if (options.dryRun) {\n    return await renderNoteHTML(html, refNotes);\n  } else {\n    return await copyEmbeddedImagesInHTML(\n      // Only embed the note content\n      html,\n      options.noteItem,\n      refNotes,\n    );\n  }\n}\n\nasync function html2md(html: string) {\n  const rehype = await note2rehype(html);\n  const remark = await rehype2remark(rehype as HRoot);\n  if (!remark) {\n    throw new Error(\"Parsing Error: HTML2MD\");\n  }\n  const md = await remark2md(remark as MRoot);\n  return md;\n}\n\nfunction annotations2html(\n  annotations: Zotero.Item[],\n  options: Parameters<typeof parseAnnotationHTML>[1] = {},\n) {\n  return parseAnnotationHTML(annotations, options);\n}\n\nasync function note2html(\n  noteItems: Zotero.Item | Zotero.Item[],\n  options: {\n    targetNoteItem?: Zotero.Item;\n    html?: string;\n    dryRun?: boolean;\n  } = {},\n) {\n  if (!Array.isArray(noteItems)) {\n    noteItems = [noteItems];\n  }\n  const { targetNoteItem, dryRun } = options;\n  let html = options.html;\n  if (!html) {\n    html = noteItems.map((item) => item.getNote()).join(\"\\n\");\n  }\n  if (!dryRun && targetNoteItem?.isNote()) {\n    const str = await copyEmbeddedImagesInHTML(html, targetNoteItem, noteItems);\n    return str;\n  }\n  return await renderNoteHTML(html, noteItems);\n}\n\nasync function rehype2rehype(rehype: HRoot) {\n  return unified()\n    .use(rehypeFormat)\n    .run(rehype as any);\n}\n\nfunction replace(targetNode: any, sourceNode: any) {\n  targetNode.type = sourceNode.type;\n  targetNode.tagName = sourceNode.tagName;\n  targetNode.properties = sourceNode.properties;\n  targetNode.value = sourceNode.value;\n  targetNode.children = sourceNode.children;\n}\n\nfunction getN2MRehypeHighlightNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      node.properties?.className?.includes(\"highlight\"),\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2MRehypeCitationNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      node.properties?.className?.includes(\"citation\"),\n    (node) => {\n      nodes.push(node);\n    },\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2MRehypeNoteLinkNodes(rehype: any) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      node.tagName === \"a\" &&\n      node.properties?.href &&\n      /zotero:\\/\\/note\\/\\w+\\/\\w+\\//.test(node.properties?.href),\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2MRehypeImageNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      node.tagName === \"img\" &&\n      node.properties?.dataAttachmentKey,\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction processN2MRehypeHighlightNodes(\n  nodes: string | any[],\n  mode: NodeMode = NodeMode.default,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    let annotation;\n    try {\n      annotation = JSON.parse(\n        decodeURIComponent(node.properties.dataAnnotation),\n      );\n    } catch (e) {\n      continue;\n    }\n    if (!annotation) {\n      continue;\n    }\n    // annotation.uri was used before note-editor v4\n    const uri = annotation.attachmentURI || annotation.uri;\n    const position = annotation.position;\n\n    if (typeof uri === \"string\" && typeof position === \"object\") {\n      let openURI;\n      const uriParts = uri.split(\"/\");\n      const libraryType = uriParts[3];\n      const key = uriParts[uriParts.length - 1];\n      if (libraryType === \"users\") {\n        openURI = \"zotero://open/library/items/\" + key;\n      }\n      // groups\n      else {\n        const groupID = uriParts[4];\n        openURI = \"zotero://open/groups/\" + groupID + \"/items/\" + key;\n      }\n\n      openURI +=\n        \"?page=\" +\n        (position.pageIndex + 1) +\n        (annotation.annotationKey\n          ? \"&annotation=\" + annotation.annotationKey\n          : \"\");\n\n      let newNode = h(\"span\", [\n        h(node.tagName, node.properties, node.children),\n        h(\"span\", \" (\"),\n        h(\"a\", { href: openURI }, [\"pdf\"]),\n        h(\"span\", \") \"),\n      ]);\n      const annotKey =\n        annotation.annotationKey ||\n        randomString(\n          8,\n          Zotero.Utilities.Internal.md5(node.properties.dataAnnotation),\n          Zotero.Utilities.allowedKeyChars,\n        );\n\n      if (mode === NodeMode.wrap) {\n        newNode.children.splice(0, 0, h(\"wrapperleft\", `annot:${annotKey}`));\n        newNode.children.push(h(\"wrapperright\", `annot:${annotKey}`));\n      } else if (mode === NodeMode.replace) {\n        newNode = h(\"placeholder\", `annot:${annotKey}`);\n      } else if (mode === NodeMode.direct) {\n        const newChild = h(\"span\") as any;\n        replace(newChild, node);\n        newChild.children = [h(\"a\", { href: openURI }, node.children)];\n        newChild.properties.ztype = \"zhighlight\";\n        newNode = h(\"zhighlight\", [newChild]);\n      }\n      replace(node, newNode);\n    }\n  }\n}\n\nfunction processN2MRehypeCitationNodes(\n  nodes: string | any[],\n  mode: NodeMode = NodeMode.default,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    let citation;\n    try {\n      citation = JSON.parse(decodeURIComponent(node.properties.dataCitation));\n    } catch (e) {\n      continue;\n    }\n    if (!citation?.citationItems?.length) {\n      continue;\n    }\n\n    const uris: any[] = [];\n    for (const citationItem of citation.citationItems) {\n      const uri = citationItem.uris[0];\n      if (typeof uri === \"string\") {\n        const uriParts = uri.split(\"/\");\n        const libraryType = uriParts[3];\n        const key = uriParts[uriParts.length - 1];\n        if (libraryType === \"users\") {\n          uris.push(\"zotero://select/library/items/\" + key);\n        }\n        // groups\n        else {\n          const groupID = uriParts[4];\n          uris.push(\"zotero://select/groups/\" + groupID + \"/items/\" + key);\n        }\n      }\n    }\n\n    let childNodes: any[] = [];\n\n    visit(\n      node,\n      (_n: any) => _n.properties?.className?.includes(\"citation-item\"),\n      (_n: any) => {\n        return childNodes?.push(_n);\n      },\n    );\n\n    // For unknown reasons, the element will be duplicated. Remove them.\n    childNodes = new Array(...new Set(childNodes));\n\n    // Fallback to pre v5 note-editor schema that was serializing citations as plain text i.e.:\n    // <span class=\"citation\" data-citation=\"...\">(Jang et al., 2005, p. 14; Kongsgaard et al., 2009, p. 790)</span>\n    if (!childNodes.length) {\n      childNodes = toText(node).slice(1, -1).split(\"; \");\n    }\n\n    let newNode = h(\"span\", node.properties, [\n      { type: \"text\", value: \"(\" },\n      ...childNodes.map((child, i) => {\n        if (!child) {\n          return h(\"text\", \"\");\n        }\n        const newNode = h(\"span\");\n        replace(newNode, child);\n        newNode.children = [h(\"a\", { href: uris[i] }, child.children)];\n        return newNode;\n      }),\n      { type: \"text\", value: \")\" },\n    ]);\n    const citationKey = randomString(\n      8,\n      Zotero.Utilities.Internal.md5(node.properties.dataCitation),\n      Zotero.Utilities.allowedKeyChars,\n    );\n    if (mode === NodeMode.wrap) {\n      newNode.children.splice(0, 0, h(\"wrapperleft\", `cite:${citationKey}`));\n      newNode.children.push(h(\"wrapperright\", `cite:${citationKey}`));\n    } else if (mode === NodeMode.replace) {\n      newNode = h(\"placeholder\", `cite:${citationKey}`);\n    } else if (mode === NodeMode.direct) {\n      const newChild = h(\"span\") as any;\n      replace(newChild, newNode);\n      newChild.properties.ztype = \"zcitation\";\n      newNode = h(\"zcitation\", [newChild]);\n    }\n    replace(node, newNode);\n  }\n}\n\nasync function processN2MRehypeNoteLinkNodes(\n  nodes: string | any[],\n  dir: string,\n  mode: NodeMode = NodeMode.default,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    const linkParam = getNoteLinkParams(node.properties.href);\n    if (!linkParam.noteItem) {\n      continue;\n    }\n    const link =\n      mode === NodeMode.default ||\n      !addon.api.sync.isSyncNote(linkParam.noteItem.id)\n        ? node.properties.href\n        : `./${await addon.api.sync.getMDFileName(linkParam.noteItem.id, dir)}`;\n    const linkKey = randomString(\n      8,\n      Zotero.Utilities.Internal.md5(node.properties.href),\n      Zotero.Utilities.allowedKeyChars,\n    );\n    if (mode === NodeMode.wrap) {\n      const newNode = h(\"span\", [\n        h(\"wrapperleft\", `note:${linkKey}`),\n        h(\n          node.tagName,\n          Object.assign(node.properties, { href: link }),\n          node.children,\n        ),\n        h(\"wrapperright\", `note:${linkKey}`),\n      ]);\n      replace(node, newNode);\n    } else if (mode === NodeMode.replace) {\n      const newNode = h(\"placeholder\", `note:${linkKey}`);\n      replace(node, newNode);\n    } else if (mode === NodeMode.direct || mode === NodeMode.default) {\n      const newChild = h(\"a\", node.properties, node.children) as any;\n      newChild.properties.zhref = node.properties.href;\n      newChild.properties.href = link;\n      newChild.properties.ztype = \"znotelink\";\n      // required for obsidian compatibility\n      if (!newChild.properties.className?.includes(\"internal-link\")) {\n        if (!newChild.properties.className) {\n          newChild.properties.className = [];\n        }\n        newChild.properties.className.push(\"internal-link\");\n      }\n      const newNode = h(\"znotelink\", [newChild]);\n      replace(node, newNode);\n    }\n  }\n}\n\nasync function processN2MRehypeImageNodes(\n  nodes: string | any[],\n  libraryID: number,\n  dir: string,\n  skipSavingImages: boolean = false,\n  absolutePath: boolean = false,\n  mode: NodeMode = NodeMode.default,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    const imgKey = node.properties.dataAttachmentKey;\n    const width = node.properties.width;\n\n    const attachmentItem = (await Zotero.Items.getByLibraryAndKeyAsync(\n      libraryID,\n      imgKey,\n    )) as Zotero.Item;\n    if (!attachmentItem) {\n      continue;\n    }\n\n    const oldFile = String(await attachmentItem.getFilePathAsync());\n    const ext = oldFile.split(\".\").pop();\n    const newAbsPath = formatPath(`${dir}/${imgKey}.${ext}`);\n    let newFile = oldFile;\n    try {\n      // Don't overwrite\n      if (skipSavingImages || (await fileExists(newAbsPath))) {\n        newFile = newAbsPath;\n      } else {\n        newFile = (await Zotero.File.copyToUnique(oldFile, newAbsPath)).path;\n      }\n      newFile = formatPath(\n        absolutePath\n          ? newFile\n          : jointPath(\n              getPref(\"syncAttachmentFolder\") as string,\n              PathUtils.split(newFile).pop() || \"\",\n            ),\n      );\n    } catch (e) {\n      ztoolkit.log(e);\n    }\n\n    node.properties.src = newFile ? newFile : oldFile;\n    // If on Windows, convert path to Unix style\n    if (Zotero.isWin) {\n      node.properties.src = Zotero.File.normalizeToUnix(node.properties.src);\n    }\n\n    if (mode === NodeMode.direct) {\n      const newChild = h(\"span\") as any;\n      replace(newChild, node);\n      newChild.properties.ztype = \"zimage\";\n      // const newNode = h(\"zimage\", [newChild]);\n      // replace(node, newNode);\n      node.properties.alt = toHtml(newChild);\n      if (width) {\n        node.properties.alt = `${node.properties.alt} | ${width}`;\n      }\n    }\n  }\n}\n\nfunction getM2NRehypeAnnotationNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && node.properties?.dataAnnotation,\n    (node: any) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getM2NRehypeHighlightNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" && node.properties?.ztype === \"zhighlight\",\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getM2NRehypeCitationNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      (node.properties?.ztype === \"zcitation\" || node.properties?.dataCitation),\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getM2NRehypeNoteLinkNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" && node.properties?.ztype === \"znotelink\",\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getM2NRehypeImageNodes(rehype: any) {\n  const nodes: any[] = [];\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && node.tagName === \"img\",\n    (node) => nodes.push(node),\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction processM2NRehypeMetaImageNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n\n  for (const node of nodes) {\n    const alt = node.properties.alt as string;\n    if (/zimage/.test(alt)) {\n      // If alt.split(\"|\")[last] can be parsed to number, it's width\n      const width = Number(alt.split(\"|\").pop() || \"\");\n      let nodeRaw = alt;\n      if (width > 0) {\n        nodeRaw = alt.split(\"|\").slice(0, -1).join(\"|\");\n      }\n\n      const newNode = unified()\n        .use(remarkGfm)\n        .use(remarkMath)\n        .use(rehypeParse, { fragment: true })\n        .parse(nodeRaw).children[0] as any;\n      if (!newNode) {\n        continue;\n      }\n      newNode.properties.src = node.properties.src;\n      if (width > 0) {\n        newNode.properties.width = width;\n      }\n      replace(node, newNode);\n    }\n  }\n}\n\nfunction processM2NRehypeHighlightNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    // node.children[0] is <a>, its children is the real children\n    node.children = node.children[0].children;\n    delete node.properties.ztype;\n  }\n}\n\nasync function processM2NRehypeCitationNodes(\n  nodes: string | any[],\n  isImport: boolean = false,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    let importFailed = false;\n    if (isImport) {\n      try {\n        // {\n        //   \"citationItems\": [\n        //     {\n        //       \"uris\": [\n        //         \"http://zotero.org/users/uid/items/itemkey\"\n        //       ]\n        //     }\n        //   ],\n        //   \"properties\": {}\n        // }\n        const dataCitation = JSON.parse(\n          decodeURIComponent(node.properties.dataCitation),\n        );\n        const ids = dataCitation.citationItems.map((c: { uris: string[] }) =>\n          Zotero.URI.getURIItemID(c.uris[0]),\n        );\n        const html = await addon.api.convert.item2citation(ids, dataCitation);\n        if (html) {\n          const newNode = await note2rehype(html);\n          // root -> p -> span(cite, this is what we actually want)\n          replace(node, (newNode.children[0] as any).children[0]);\n        } else {\n          importFailed = true;\n        }\n      } catch (e) {\n        ztoolkit.log(e);\n      }\n    }\n    if (importFailed || !isImport) {\n      visit(\n        node,\n        (_n: any) => _n.properties?.className?.includes(\"citation-item\"),\n        (_n) => {\n          _n.children = [{ type: \"text\", value: toText(_n) }];\n        },\n      );\n      delete node.properties?.ztype;\n    }\n  }\n}\n\nfunction processM2NRehypeNoteLinkNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    node.properties.href = node.properties.zhref;\n    delete node.properties.class;\n    delete node.properties.zhref;\n    delete node.properties.ztype;\n  }\n}\n\nasync function processM2NRehypeImageNodes(\n  nodes: any[],\n  noteItem: Zotero.Item,\n  fileDir: string,\n  isImport: boolean = false,\n) {\n  if (!nodes.length || (isImport && !noteItem)) {\n    return;\n  }\n\n  let attKeys = [] as string[];\n  if (isImport) {\n    attKeys = Zotero.Items.get(noteItem.getAttachments()).map(\n      (item) => item.key,\n    );\n  }\n\n  for (const node of nodes) {\n    if (isImport) {\n      // If image is already an attachment of note, skip import\n      if (!attKeys.includes(node.properties.dataAttachmentKey)) {\n        // We encode the src in md2remark and decode it here.\n        let src = formatPath(decodeURIComponent(node.properties.src));\n        const srcType = (src as string).startsWith(\"data:\")\n          ? \"b64\"\n          : (src as string).startsWith(\"http\")\n            ? \"url\"\n            : \"file\";\n        if (srcType === \"file\") {\n          if (!PathUtils.isAbsolute(src)) {\n            src = jointPath(fileDir, src);\n          }\n          if (!(await fileExists(src))) {\n            ztoolkit.log(\"parse image, path invalid\", src);\n            continue;\n          }\n        }\n        const key = await importImageToNote(noteItem, src, srcType);\n        node.properties.dataAttachmentKey = key;\n      }\n    }\n    delete node.properties.src;\n    node.properties.ztype && delete node.properties.ztype;\n  }\n}\n\nfunction getN2LRehypeHeaderNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"strong\", \"em\", \"span\"].includes(\n        node.tagName,\n      ),\n    (node) => {\n      nodes.push(node);\n    },\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2LRehypeLinkNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && node.tagName === \"a\",\n    (node) => {\n      nodes.push(node);\n    },\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2LRehypeListNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) =>\n      node.type === \"element\" &&\n      (node.tagName === \"ul\" || node.tagName === \"ol\"),\n    (node) => {\n      nodes.push(node);\n    },\n  );\n  return new Array(...new Set(nodes));\n}\n\nfunction getN2LRehypeTableNodes(rehype: HRoot) {\n  const nodes: any[] | null | undefined = [];\n  visit(\n    rehype,\n    (node: any) => node.type === \"element\" && node.tagName === \"table\",\n    (node) => {\n      nodes.push(node);\n    },\n  );\n  return new Array(...new Set(nodes));\n}\n\nasync function processN2LRehypeCitationNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return \"\";\n  }\n  const items: Zotero.Item[] = [];\n  const libIdAndCitationKeys: Map<number, Set<string>> = new Map();\n  for (const node of nodes) {\n    let citation;\n    try {\n      citation = JSON.parse(decodeURIComponent(node.properties.dataCitation));\n    } catch (e) {\n      ztoolkit.log(\"citation parse error: \" + e);\n      continue;\n    }\n    if (!citation?.citationItems?.length) {\n      ztoolkit.log(citation?.citationItems);\n      continue;\n    }\n\n    const citationKeys: string[] = [];\n    for (const citationItem of citation.citationItems) {\n      const uri = citationItem.uris[0];\n      if (typeof uri === \"string\") {\n        const uriParts = uri.split(\"/\");\n        let libID: number | boolean;\n        if (uriParts[3] === \"groups\") {\n          libID = Zotero.Groups.getLibraryIDFromGroupID(Number(uriParts[4]));\n        } else {\n          libID = Zotero.Libraries.userLibraryID;\n        }\n        if (!libID) {\n          ztoolkit.log(\n            \"[Bid Export] Library not found, groups ID = \" + uriParts[4],\n          );\n          continue;\n        }\n        const key = uriParts[uriParts.length - 1];\n        const item_ = Zotero.Items.getByLibraryAndKey(libID, key);\n        if (!item_) {\n          ztoolkit.log(\"[Bid Export] Item not found, key = \" + key);\n          continue;\n        }\n        items.push(item_);\n        const citationKey = item_.getField(\"citationKey\");\n        if (citationKey === \"\") {\n          ztoolkit.log(\"[Bid Export] Detect empty citationKey.\");\n          continue;\n        }\n\n        if (!libIdAndCitationKeys.has(libID as number)) {\n          libIdAndCitationKeys.set(libID as number, new Set());\n        }\n\n        const existingKeys =\n          libIdAndCitationKeys.get(libID as number) || new Set();\n        existingKeys.add(citationKey);\n        libIdAndCitationKeys.set(libID as number, existingKeys);\n\n        citationKeys.push(citationKey);\n      }\n    }\n\n    node.type = \"text\";\n    node.value = \"\\\\cite{\" + citationKeys.join(\",\") + \"}\";\n  }\n\n  // convert the citation into string using Better BibTex for Zotero\n  const bibString = await convertToBibString(libIdAndCitationKeys);\n  return bibString;\n}\n\nasync function convertToBibString(\n  libIdAndCitationKeys: Map<number, Set<string>>,\n) {\n  const BBT = \"Better BibTex for Zotero\";\n  const installedExtensions = await Zotero.getInstalledExtensions();\n  const installedAndEnabled = installedExtensions.some(\n    (item) => item.includes(BBT) && !item.includes(\"disabled\"),\n  );\n  if (!installedAndEnabled) {\n    ztoolkit.log(\"Better BibTex for Zotero is not installed.\");\n    showHint(\n      \"Export Error: Better BibTex for Zotero is needed for exporting the .bib file. Please install and enable it first.\",\n    );\n    return \"\";\n  }\n\n  const res = await exportToBibtex(libIdAndCitationKeys);\n  return res;\n}\n\nasync function exportToBibtex(\n  libCitationMap: Map<number, Set<string>>,\n): Promise<string> {\n  const port = Services.prefs.getIntPref(\"extensions.zotero.httpServer.port\");\n\n  const promises: Promise<string>[] = [];\n\n  libCitationMap.forEach((citationKeys, libId) => {\n    const citationKeysArray = Array.from(citationKeys);\n\n    const data = {\n      jsonrpc: \"2.0\",\n      method: \"item.export\",\n      params: [citationKeysArray, \"bibtex\", libId],\n    };\n\n    const promise = fetch(`http://localhost:${port}/better-bibtex/json-rpc`, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Accept: \"application/json\",\n      },\n      body: JSON.stringify(data),\n    })\n      .then((response) => {\n        if (!response.ok) {\n          ztoolkit.log(\n            `[Bib Export] Network response was not ok for libId ${libId}`,\n          );\n          throw new Error(`Network response was not ok for libId ${libId}`);\n        }\n        return response.json();\n      })\n      .then((result) => {\n        ztoolkit.log(\n          `[Bib Export] Response data for libId ${libId}: ` +\n            JSON.stringify(result),\n        );\n        return \"result\" in result ? (result.result as string) : \"\";\n      });\n\n    promises.push(promise);\n  });\n\n  return Promise.all(promises)\n    .then((results) => results.join(\"\\n\"))\n    .catch((error) => {\n      ztoolkit.log(\"[Bib Export] Fetch error: \" + error.message);\n      return \"[Bib Export] Fetch error: \" + error.message;\n    });\n}\n\nasync function processN2LRehypeHeaderNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    let hx = \"\";\n    if (node.tagName === \"h1\") {\n      hx = \"\\\\section{\" + getTextFromNode(node) + \"}\\n\";\n    } else if (node.tagName === \"h2\") {\n      hx = \"\\\\subsection{\" + getTextFromNode(node) + \"}\\n\";\n    } else if (node.tagName === \"h3\") {\n      hx = \"\\\\subsubsection{\" + getTextFromNode(node) + \"}\\n\";\n    } else if ([\"h4\", \"h5\", \"h6\"].includes(node.tagName)) {\n      hx = \"\\\\textbf{\" + getTextFromNode(node) + \"}\\n\";\n    } else if (node.tagName === \"strong\") {\n      hx = \"\\\\textbf{\" + getTextFromNode(node) + \"}\";\n    } else if (node.tagName === \"em\") {\n      hx = \"\\\\textit{\" + getTextFromNode(node) + \"}\";\n    } else if (node.tagName === \"span\") {\n      hx = getTextFromNode(node);\n    } else {\n      hx = getTextFromNode(node);\n    }\n\n    node.type = \"text\";\n    node.value = hx;\n  }\n}\n\nasync function processN2LRehypeLinkNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    node.type = \"text\";\n    node.value = `\\\\href{${node.properties.href}}{${getTextFromNode(node)}}`;\n  }\n}\n\nasync function processN2LRehypeListNodes(nodes: string | any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    const item_str: string[] = [];\n    for (const itemKey in node.children) {\n      const itemNode = node.children[itemKey];\n      if (itemNode.type === \"element\" && itemNode.tagName === \"li\") {\n        item_str.push(getTextFromNode(itemNode));\n      }\n    }\n\n    const join_str = item_str.join(\"\\n\\\\item\");\n    let listStr;\n    if (node.tagName === \"ul\") {\n      const ulStr = `\\\\begin{itemize}\\n\\\\item ${join_str} \\n\\\\end{itemize}`;\n      listStr = ulStr;\n    } else if (node.tagName === \"ol\") {\n      const olStr = `\\\\begin{enumerate}\\n\\\\item ${join_str} \\n\\\\end{enumerate}`;\n      listStr = olStr;\n    }\n\n    node.type = \"text\";\n    node.value = listStr;\n  }\n}\n\nasync function processN2LRehypeTableNodes(nodes: any[]) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    if (node.type === \"element\" && node.tagName === \"table\") {\n      const latexTable = convertHtmlTableToLatex(node.children[1]);\n      node.type = \"text\";\n      node.value = latexTable;\n    }\n  }\n}\n\nfunction convertHtmlTableToLatex(tableNode: any): string {\n  let colCount = 0;\n  let rowCount = 0;\n  const tableData: string[][] = [];\n\n  for (const child of tableNode.children) {\n    if (child.type === \"element\" && child.tagName === \"tr\") {\n      rowCount++;\n      const rowData: string[] = [];\n      for (const td of child.children) {\n        if (\n          td.type === \"element\" &&\n          (td.tagName === \"td\" || td.tagName === \"th\")\n        ) {\n          colCount = Math.max(colCount, rowData.length + 1);\n          rowData.push(getTextFromNode(td));\n        }\n      }\n      tableData.push(rowData);\n    }\n  }\n\n  let columnFormat = \"|\";\n  for (let i = 0; i < colCount; i++) {\n    columnFormat += \"l|\"; // Assuming left alignment for all columns\n  }\n\n  const latexRows: string[] = [];\n  latexRows.push(\"\\\\hline\");\n  for (const row of tableData) {\n    const rowContent = row\n      .map((cell) => cell.replace(/_/g, \"\\\\_\").replace(/&/g, \"\\\\&\"))\n      .join(\" & \");\n    latexRows.push(rowContent + \" \\\\\\\\\");\n    latexRows.push(\"\\\\hline\");\n  }\n\n  const latexTableStr = `\\\\begin{table}[htbp]\\n\\\\centering\\n\\\\caption{Caption}\\n\\\\label{tab:simple_table}\\n\\\\begin{tabular}{${columnFormat}}\n${latexRows.join(\"\\n\")}\n\\\\end{tabular}\\n\\\\end{table}`;\n\n  return latexTableStr;\n}\n\nfunction getTextFromNode(node: any): string {\n  let text = \"\";\n  for (const child of node.children) {\n    if (child.type === \"text\") {\n      text += child.value === \"\\n \" ? \"\" : child.value;\n    } else if (child.children) {\n      text += getTextFromNode(child);\n    }\n  }\n  return text;\n}\n\nasync function processN2LRehypeImageNodes(\n  nodes: string | any[],\n  libraryID: number,\n  dir: string,\n  skipSavingImages: boolean = false,\n  absolutePath: boolean = false,\n  mode: NodeMode = NodeMode.default,\n) {\n  if (!nodes.length) {\n    return;\n  }\n  for (const node of nodes) {\n    const imgKey = node.properties.dataAttachmentKey;\n    const attachmentItem = (await Zotero.Items.getByLibraryAndKeyAsync(\n      libraryID,\n      imgKey,\n    )) as Zotero.Item;\n    if (!attachmentItem) {\n      continue;\n    }\n\n    const oldFile = String(await attachmentItem.getFilePathAsync());\n    const ext = oldFile.split(\".\").pop();\n    const newAbsPath = formatPath(`${dir}/${imgKey}.${ext}`);\n    let newFile = oldFile;\n    try {\n      // Don't overwrite\n      if (skipSavingImages || (await fileExists(newAbsPath))) {\n        newFile = newAbsPath;\n      } else {\n        newFile = (await Zotero.File.copyToUnique(oldFile, newAbsPath)).path;\n      }\n      newFile = formatPath(\n        absolutePath\n          ? newFile\n          : jointPath(\n              getPref(\"syncAttachmentFolder\") as string,\n              PathUtils.split(newFile).pop() || \"\",\n            ),\n      );\n    } catch (e) {\n      ztoolkit.log(e);\n    }\n\n    let filename = newFile ? newFile : oldFile;\n    // If on Windows, convert path to Unix style\n    if (Zotero.isWin) {\n      filename = Zotero.File.normalizeToUnix(filename);\n    }\n\n    const imgStr = `\\\\begin{figure}[!t]\n\\\\centering\n\\\\includegraphics[width=4.5in]{{./${filename}}}\n\\\\caption{}\n\\\\label{${imgKey}}\n\\\\end{figure}`;\n    node.type = \"text\";\n    node.value = imgStr;\n  }\n}\n\nenum NodeMode {\n  default = 0,\n  wrap,\n  replace,\n  direct,\n}\n"
  },
  {
    "path": "src/utils/editor.ts",
    "content": "import TreeModel = require(\"tree-model\");\nimport { TextSelection } from \"prosemirror-state\";\nimport { getNoteTreeFlattened } from \"./note\";\nimport { getPref } from \"./prefs\";\nimport { openLinkCreator } from \"./linkCreator\";\nimport { getNoteLink } from \"./link\";\nimport { showHint } from \"./hint\";\n\nexport {\n  insert,\n  del,\n  move,\n  replace,\n  scroll,\n  scrollToSection,\n  getEditorInstance,\n  copyNoteLink,\n  moveHeading,\n  updateHeadingTextAtLine,\n  getEditorCore,\n  getRangeAtCursor,\n  getLineAtCursor,\n  getSectionAtCursor,\n  getPositionAtLine,\n  getPositionAtCursor,\n  getLineCount,\n  getURLAtCursor,\n  updateImageDimensionsAtCursor,\n  updateURLAtCursor,\n  getTextBetween,\n  getTextBetweenLines,\n  isImageAtCursor,\n  initEditorPlugins,\n};\n\nfunction insert(\n  editor: Zotero.EditorInstance,\n  content: string = \"\",\n  position: number | \"end\" | \"start\" | \"cursor\" = \"cursor\",\n  select?: boolean,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  if (position === \"cursor\") {\n    position = getPositionAtCursor(editor);\n  } else if (position === \"end\") {\n    position = core.view.state.doc.content.size;\n  } else if (position === \"start\") {\n    position = 0;\n  }\n  position = Math.max(0, Math.min(position, core.view.state.doc.content.size));\n  (core as any).insertHTML(position, content);\n  if (select) {\n    const slice = EditorAPI.getSliceFromHTML(core.view.state, content);\n    EditorAPI.refocusEditor(() => {\n      EditorAPI.setSelection(\n        (position as number) + slice.content.size,\n        position as number,\n      )(core.view.state, core.view.dispatch);\n    });\n  }\n}\n\nfunction del(editor: Zotero.EditorInstance, from: number, to: number) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  EditorAPI.deleteRange(from, to)(core.view.state, core.view.dispatch);\n}\n\nfunction move(\n  editor: Zotero.EditorInstance,\n  from: number,\n  to: number,\n  delta: number,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  EditorAPI.moveRange(from, to, delta)(core.view.state, core.view.dispatch);\n}\n\nfunction replace(\n  editor: Zotero.EditorInstance,\n  from: number,\n  to: number,\n  text: string | undefined,\n  nodeTypeName:\n    | \"doc\"\n    | \"paragraph\"\n    | \"heading\"\n    | \"math_display\"\n    | \"codeBlock\"\n    | \"blockquote\"\n    | \"horizontalRule\"\n    | \"orderedList\"\n    | \"bulletList\"\n    | \"listItem\"\n    | \"table\"\n    | \"table_row\"\n    | \"table_cell\"\n    | \"table_header\"\n    | \"text\"\n    | \"hardBreak\"\n    | \"image\"\n    | \"citation\"\n    | \"highlight\"\n    | \"math_inline\",\n  nodeAttrs: Record<string, any>,\n  markTypeName:\n    | \"strong\"\n    | \"em\"\n    | \"underline\"\n    | \"strike\"\n    | \"subsup\"\n    | \"textColor\"\n    | \"backgroundColor\"\n    | \"link\"\n    | \"code\",\n  markAttrs: Record<string, any>,\n  select?: boolean,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  const schema = core.view.state.schema;\n  EditorAPI.replaceRangeNode(\n    from,\n    to,\n    text,\n    schema.nodes[nodeTypeName],\n    JSON.stringify(nodeAttrs),\n    schema.marks[markTypeName],\n    JSON.stringify(markAttrs),\n    select,\n  )(core.view.state, core.view.dispatch);\n}\n\nfunction scroll(editor: Zotero.EditorInstance, lineIndex: number) {\n  const core = getEditorCore(editor);\n  const dom = getDOMAtLine(editor, lineIndex);\n  const offset = dom.offsetTop;\n  core.view.dom.parentElement?.scrollTo(0, offset);\n}\n\nasync function scrollToSection(\n  editor: Zotero.EditorInstance,\n  sectionName: string,\n) {\n  const item = editor._item;\n  const sectionTree = await getNoteTreeFlattened(item);\n  const sectionNode = sectionTree.find(\n    (node) => node.model.name.trim() === sectionName.trim(),\n  );\n  if (!sectionNode) return;\n  scroll(editor, sectionNode.model.lineIndex);\n}\n\nfunction getEditorInstance(noteId: number) {\n  const editor = Zotero.Notes._editorInstances.find(\n    (e) =>\n      e._item.id === noteId && !Components.utils.isDeadWrapper(e._iframeWindow),\n  );\n  return editor;\n}\n\nfunction getEditorCore(editor: Zotero.EditorInstance): EditorCore {\n  return (editor._iframeWindow as any).wrappedJSObject._currentEditorInstance\n    ._editorCore;\n}\n\nfunction getEditorAPI(editor: Zotero.EditorInstance) {\n  return (editor._iframeWindow as any).wrappedJSObject\n    .BetterNotesEditorAPI as EditorAPI;\n}\n\nfunction getPositionAtCursor(editor: Zotero.EditorInstance) {\n  const selection = getEditorCore(editor).view.state.selection;\n  try {\n    return selection.$anchor.after(selection.$anchor.depth);\n  } catch (e) {\n    return -1;\n  }\n}\n\nfunction getRangeAtCursor(editor: Zotero.EditorInstance) {\n  const selection = getEditorCore(editor).view.state.selection;\n  return {\n    from: selection.from,\n    to: selection.to,\n  };\n}\n\nfunction getLineAtCursor(editor: Zotero.EditorInstance) {\n  const position = getPositionAtCursor(editor);\n  if (position < 0) {\n    return -1;\n  }\n  const lastPos = getEditorCore(editor).view.state.tr.doc.content.size;\n  let i = 0;\n  let currentPos = getPositionAtLine(editor, 0);\n  while (currentPos <= lastPos) {\n    if (position <= currentPos) {\n      break;\n    }\n    i += 1;\n    currentPos = getPositionAtLine(editor, i);\n  }\n  return i;\n}\n\nasync function getSectionAtCursor(\n  editor: Zotero.EditorInstance,\n): Promise<string | undefined> {\n  const lineIndex = getLineAtCursor(editor);\n  if (lineIndex < 0) return undefined;\n  const item = editor._item;\n  const sectionTree = await getNoteTreeFlattened(item);\n  let sectionNode;\n  for (let i = 0; i < sectionTree.length; i++) {\n    if (\n      // Is before cursor\n      sectionTree[i].model.lineIndex <= lineIndex &&\n      // Is last node, or next node is after cursor\n      (i === sectionTree.length - 1 ||\n        sectionTree[i + 1].model.lineIndex > lineIndex)\n    ) {\n      sectionNode = sectionTree[i];\n      break;\n    }\n  }\n  return sectionNode?.model.name;\n}\n\nfunction getDOMAtLine(\n  editor: Zotero.EditorInstance,\n  lineIndex: number,\n): HTMLElement {\n  const core = getEditorCore(editor);\n  const lineNodeDesc =\n    core.view.docView.children[\n      Math.max(0, Math.min(core.view.docView.children.length - 1, lineIndex))\n    ];\n  return lineNodeDesc?.dom;\n}\n\nfunction getPositionAtLine(\n  editor: Zotero.EditorInstance,\n  lineIndex: number,\n  type: \"start\" | \"end\" = \"end\",\n): number {\n  const core = getEditorCore(editor);\n  const lineCount = getLineCount(editor);\n  if (lineIndex < 0) {\n    return 0;\n  }\n  if (lineIndex >= lineCount) {\n    return core.view.state.doc.content.size;\n  }\n  const lineNodeDesc =\n    core.view.docView.children[\n      Math.max(0, Math.min(core.view.docView.children.length - 1, lineIndex))\n    ];\n  const linePos = lineNodeDesc ? core.view.posAtDOM(lineNodeDesc.dom, 0) : 0;\n  return Math.max(\n    0,\n    Math.min(\n      type === \"end\" ? linePos + lineNodeDesc.size - 1 : linePos - 1,\n      core.view.state.tr.doc.content.size,\n    ),\n  );\n}\n\nfunction getLineCount(editor: Zotero.EditorInstance) {\n  return getEditorCore(editor).view.docView.children.length;\n}\n\nfunction getURLAtCursor(editor: Zotero.EditorInstance) {\n  const core = getEditorCore(editor);\n  return core.pluginState.link.getHref(core.view.state);\n}\n\nfunction updateURLAtCursor(\n  editor: Zotero.EditorInstance,\n  text: string | undefined,\n  url: string,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  const from = core.view.state.selection.from;\n  const to = core.view.state.selection.to;\n  const schema = core.view.state.schema;\n  if (!url) {\n    return;\n  }\n\n  EditorAPI.replaceRangeAtCursor(\n    text,\n    schema.marks.link,\n    JSON.stringify({ href: url }),\n    schema.marks.link,\n  )(core.view.state, core.view.dispatch);\n  EditorAPI.refocusEditor(() => {\n    core.view.dispatch(\n      core.view.state.tr.setSelection(\n        TextSelection.create(core.view.state.tr.doc, from, to),\n      ),\n    );\n  });\n}\n\nfunction updateHeadingTextAtLine(\n  editor: Zotero.EditorInstance,\n  lineIndex: number,\n  text: string,\n) {\n  const core = getEditorCore(editor);\n  const schema = core.view.state.schema;\n  const EditorAPI = getEditorAPI(editor);\n\n  const from = getPositionAtLine(editor, lineIndex, \"start\");\n  const to = getPositionAtLine(editor, lineIndex, \"end\");\n  const level = EditorAPI.getHeadingLevelInRange(from, to)(core.view.state);\n  EditorAPI.replaceRangeNode(\n    from,\n    to,\n    text,\n    schema.nodes.heading,\n    JSON.stringify({ level }),\n  )(core.view.state, core.view.dispatch);\n  EditorAPI.refocusEditor(() => {\n    core.view.dispatch(\n      core.view.state.tr.setSelection(\n        TextSelection.create(core.view.state.tr.doc, from, from + text.length),\n      ),\n    );\n  });\n}\n\nfunction isImageAtCursor(editor: Zotero.EditorInstance) {\n  return (\n    // @ts-ignore\n    getEditorCore(editor).view.state.selection.node?.type?.name === \"image\"\n  );\n}\n\nfunction updateImageDimensionsAtCursor(\n  editor: Zotero.EditorInstance,\n  width: number,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  EditorAPI.updateImageDimensions(\n    // @ts-ignore\n    core.view.state.selection.node.attrs.nodeID,\n    width,\n    undefined,\n    core.view.state,\n    core.view.dispatch,\n  );\n}\n\nfunction moveLines(\n  editor: Zotero.EditorInstance,\n  fromIndex: number,\n  toIndex: number,\n  targetIndex: number,\n) {\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  const from = getPositionAtLine(editor, fromIndex, \"start\");\n  const to = getPositionAtLine(editor, toIndex, \"end\");\n  const target = getPositionAtLine(editor, targetIndex, \"start\");\n  let delta = 0;\n  if (target < from) {\n    delta = target - from;\n  } else if (target > to) {\n    delta = target - to;\n  } else {\n    throw new Error(\"Invalid move\");\n  }\n  EditorAPI.moveRange(from, to, delta)(core.view.state, core.view.dispatch);\n  EditorAPI.refocusEditor(() => {\n    core.view.dispatch(\n      core.view.state.tr.setSelection(\n        TextSelection.create(\n          core.view.state.tr.doc,\n          target,\n          target + to - from,\n        ),\n      ),\n    );\n  });\n}\n\nfunction moveHeading(\n  editor: Zotero.EditorInstance | undefined,\n  currentNode: TreeModel.Node<NoteNodeData>,\n  targetNode: TreeModel.Node<NoteNodeData>,\n  as: \"child\" | \"before\" | \"after\",\n) {\n  if (!editor || targetNode.getPath().indexOf(currentNode) >= 0) {\n    return;\n  }\n\n  let targetIndex = 0;\n  let targetLevel = 1;\n\n  if (as === \"child\") {\n    targetIndex = targetNode.model.endIndex + 1;\n    targetLevel = targetNode.model.level === 6 ? 6 : targetNode.model.level + 1;\n  } else if (as === \"before\") {\n    targetIndex = targetNode.model.lineIndex;\n    targetLevel =\n      targetNode.model.level === 7\n        ? targetNode.parent.model.level === 6\n          ? 6\n          : targetNode.parent.model.level + 1\n        : targetNode.model.level;\n  } else if (as === \"after\") {\n    targetIndex = targetNode.model.endIndex + 1;\n    targetLevel =\n      targetNode.model.level === 7\n        ? targetNode.parent.model.level === 6\n          ? 6\n          : targetNode.parent.model.level + 1\n        : targetNode.model.level;\n  }\n\n  const fromIndex = currentNode.model.lineIndex;\n  const toIndex = currentNode.model.endIndex;\n  const levelChange = targetLevel - currentNode.model.level;\n  const core = getEditorCore(editor);\n  const EditorAPI = getEditorAPI(editor);\n  EditorAPI.updateHeadingsInRange(\n    getPositionAtLine(editor, fromIndex, \"start\"),\n    getPositionAtLine(editor, toIndex, \"end\"),\n    levelChange,\n  )(core.view.state, core.view.dispatch);\n  moveLines(editor, fromIndex, toIndex, targetIndex);\n}\n\nfunction getTextBetween(\n  editor: Zotero.EditorInstance,\n  from: number,\n  to: number,\n) {\n  const core = getEditorCore(editor);\n  return core.view.state.doc.textBetween(from, to);\n}\n\nfunction getTextBetweenLines(\n  editor: Zotero.EditorInstance,\n  fromIndex: number,\n  toIndex: number,\n) {\n  const core = getEditorCore(editor);\n  const from = getPositionAtLine(editor, fromIndex, \"start\");\n  const to = getPositionAtLine(editor, toIndex, \"end\");\n  return core.view.state.doc.textBetween(from, to);\n}\n\nasync function copyNoteLink(\n  editor: Zotero.EditorInstance,\n  mode: \"section\" | \"line\",\n) {\n  const currentLine = getLineAtCursor(editor);\n  const currentSection = (await getSectionAtCursor(editor)) || \"\";\n\n  const sectionName = mode === \"section\" ? currentSection : undefined;\n  const lineIndex = mode === \"line\" ? currentLine : undefined;\n\n  // Hack to get the link\n  const _internal = {\n    link: \"\",\n  };\n\n  const html = await addon.api.template.runQuickInsertTemplate(\n    editor._item,\n    undefined,\n    {\n      lineIndex,\n      sectionName,\n      dryRun: false,\n      _internal,\n    },\n  );\n\n  const link = _internal.link;\n\n  if (!link) {\n    showHint(\"No note link found\");\n    return;\n  }\n\n  new ztoolkit.Clipboard()\n    .addText(link, \"text/plain\")\n    .addText(html, \"text/html\")\n    .copy();\n  showHint(`Link ${link} copied`);\n}\n\nfunction initEditorPlugins(editor: Zotero.EditorInstance) {\n  if (editor._disableUI) {\n    return;\n  }\n  const previewType = getPref(\"editor.noteLinkPreviewType\") as string;\n  if (![\"hover\", \"ctrl\"].includes(previewType)) {\n    return;\n  }\n  const EditorAPI = getEditorAPI(editor);\n  safeCall(() =>\n    EditorAPI.initPlugins(\n      Components.utils.cloneInto(\n        {\n          linkPreview: {\n            setPreviewContent: (\n              link: string,\n              setContent: (content: string) => void,\n            ) => {\n              const note = addon.api.convert.link2note(link);\n              if (!note) {\n                setContent(\n                  `<p style=\"color: red;\">Invalid note link: ${link}</p>`,\n                );\n                return;\n              }\n              addon.api.convert\n                .link2html(link, {\n                  noteItem: note,\n                  dryRun: true,\n                  usePosition: true,\n                })\n                .then((content) => setContent(content));\n            },\n            openURL: (url: string) => {\n              Zotero.getActiveZoteroPane().loadURI(url);\n            },\n            previewType,\n          },\n          magicKey: {\n            insertTemplate: () => {\n              addon.hooks.onShowTemplatePicker(\"insert\", {\n                noteId: editor._item.id,\n                lineIndex: getLineAtCursor(editor),\n              });\n            },\n            refreshTemplates: () => {\n              addon.hooks.onRefreshTemplatesInNote(editor);\n            },\n            insertLink: (mode: \"inbound\" | \"outbound\") => {\n              openLinkCreator(editor._item, {\n                lineIndex: getLineAtCursor(editor),\n                mode,\n              });\n            },\n            copyLink: (mode: \"section\" | \"line\") => {\n              copyNoteLink(editor, mode);\n            },\n            openAttachment: () => {\n              editor._item.parentItem\n                ?.getBestAttachment()\n                .then((attachment) => {\n                  if (!attachment) {\n                    return;\n                  }\n                  Zotero.getActiveZoteroPane().viewAttachment([attachment.id]);\n                  Zotero.Notifier.trigger(\"open\", \"file\", attachment.id);\n                });\n            },\n            canOpenAttachment: () => {\n              const parentItem = editor._item.parentItem;\n              if (!parentItem) {\n                return false;\n              }\n              return (\n                (editor._item.parentItem as Zotero.Item).numAttachments() > 0\n              );\n            },\n            enable: getPref(\"editor.useMagicKey\") as boolean,\n            enableShortcut: getPref(\"editor.useMagicKeyShortcut\") as boolean,\n          },\n          markdownPaste: {\n            enable: getPref(\"editor.useMarkdownPaste\") as boolean,\n          },\n        },\n        editor._iframeWindow,\n        { wrapReflectors: true, cloneFunctions: true },\n      ),\n    ),\n  );\n  EditorAPI.updateTableSize(\n    getPref(\"editor.pinTableLeft\"),\n    getPref(\"editor.pinTableTop\"),\n  );\n}\n\nfunction safeCall(callback: () => void) {\n  try {\n    callback();\n  } catch (e) {\n    ztoolkit.log(e as Error);\n  }\n}\n"
  },
  {
    "path": "src/utils/hint.ts",
    "content": "import { config } from \"../../package.json\";\nimport { ProgressWindowHelper } from \"zotero-plugin-toolkit\";\nimport { PROGRESS_TITLE } from \"./config\";\nimport { waitUtilAsync } from \"./wait\";\n\nProgressWindowHelper.setIconURI(\n  \"default\",\n  `chrome://${config.addonRef}/content/icons/favicon.png`,\n);\n\nfunction showHint(text: string) {\n  if (addon.data.hint.silent) return;\n  return new ProgressWindowHelper(PROGRESS_TITLE)\n    .createLine({ text, progress: 100, type: \"default\" })\n    .show();\n}\n\nasync function showHintWithLink(\n  text: string,\n  linkText: string,\n  linkCallback: (ev: MouseEvent) => any,\n) {\n  if (addon.data.hint.silent) return;\n  const progress = new ProgressWindowHelper(PROGRESS_TITLE)\n    .createLine({ text, progress: 100, type: \"default\" })\n    .show(-1);\n  // Just a placeholder\n  progress.addDescription(`<a href=\"https://zotero.org\">${linkText}</a>`);\n\n  await waitUtilAsync(() =>\n    // @ts-ignore\n    Boolean(progress.lines && progress.lines[0]._itemText),\n  );\n  // @ts-ignore\n  progress.lines[0]._hbox.ownerDocument\n    .querySelector(\"label[href]\")\n    .addEventListener(\"click\", async (ev: MouseEvent) => {\n      ev.stopPropagation();\n      ev.preventDefault();\n      linkCallback(ev);\n    });\n  return progress;\n}\n\nfunction showRestartHint() {\n  const ps = Services.prompt;\n  const buttonFlags =\n    ps.BUTTON_POS_0! * ps.BUTTON_TITLE_IS_STRING! +\n    ps.BUTTON_POS_1! * ps.BUTTON_TITLE_IS_STRING!;\n  const index = ps.confirmEx(\n    // @ts-ignore\n    null,\n    Zotero.getString(\"general.restartRequired\"),\n    Zotero.getString(\"general.restartRequiredForChange\", Zotero.appName),\n    buttonFlags,\n    Zotero.getString(\"general.restartNow\"),\n    Zotero.getString(\"general.restartLater\"),\n    null,\n    null,\n    {},\n  );\n\n  if (index == 0) {\n    Zotero.Utilities.Internal.quit(true);\n  }\n}\n\nexport { showHint, showHintWithLink, showRestartHint };\n"
  },
  {
    "path": "src/utils/itemPicker.ts",
    "content": "export async function itemPicker() {\n  const io = {\n    singleSelection: false,\n    dataIn: null as unknown,\n    dataOut: null as unknown,\n    deferred: Zotero.Promise.defer(),\n  };\n\n  Zotero.getMainWindow().openDialog(\n    \"chrome://zotero/content/selectItemsDialog.xhtml\",\n    \"\",\n    \"chrome,dialog=no,centerscreen,resizable=yes\",\n    io,\n  );\n  await io.deferred.promise;\n\n  const itemIds = io.dataOut as number[];\n  return itemIds;\n}\n"
  },
  {
    "path": "src/utils/link.ts",
    "content": "export function getNoteLinkParams(link: string) {\n  try {\n    const url = new (ztoolkit.getGlobal(\"URL\"))(link);\n    const pathList = url.pathname.split(\"/\").filter((s) => s);\n    const noteKey = pathList.pop();\n    const id = pathList.pop();\n    let libraryID: number;\n    if (id === \"u\") {\n      libraryID = Zotero.Libraries.userLibraryID;\n    } else {\n      const libID = Zotero.Groups.getLibraryIDFromGroupID(Number(id));\n      if (!libID) {\n        throw new Error(\"Invalid group ID\");\n      }\n      libraryID = libID;\n    }\n    const line = url.searchParams.get(\"line\");\n    return {\n      link,\n      libraryID,\n      noteKey,\n      noteItem: Zotero.Items.getByLibraryAndKey(libraryID, noteKey || \"\") as\n        | Zotero.Item\n        | false,\n      ignore: Boolean(url.searchParams.get(\"ignore\")) || undefined,\n      lineIndex: typeof line === \"string\" ? parseInt(line) : undefined,\n      sectionName: url.searchParams.get(\"section\") || undefined,\n      selectionText: url.hash.slice(1) || undefined,\n    };\n  } catch (e: unknown) {\n    return {\n      link,\n      libraryID: -1,\n      noteKey: undefined,\n      noteItem: false as const,\n      ignore: undefined,\n      lineIndex: undefined,\n      sectionName: undefined,\n      selectionText: undefined,\n    };\n  }\n}\n\nexport function getNoteLink(\n  noteItem: Zotero.Item,\n  options: {\n    ignore?: boolean;\n    lineIndex?: number;\n    sectionName?: string;\n    selectionText?: string;\n  } = {},\n) {\n  const libraryID = noteItem.libraryID;\n  const library = Zotero.Libraries.get(libraryID);\n  if (!library) {\n    return;\n  }\n  let groupID: string;\n  if (library.libraryType === \"user\") {\n    groupID = \"u\";\n  } else if (library.libraryType === \"group\") {\n    groupID = `${library.id}`;\n  } else {\n    return \"\";\n  }\n  const noteKey = noteItem.key;\n  let link = `zotero://note/${groupID}/${noteKey}/`;\n  const addParam = (link: string, param: string): string => {\n    const lastChar = link[link.length - 1];\n    if (lastChar === \"/\") {\n      link += \"?\";\n    } else if (lastChar !== \"?\" && lastChar !== \"&\") {\n      link += \"&\";\n    }\n    return `${link}${param}`;\n  };\n  if (Object.keys(options).length) {\n    if (options.ignore) {\n      link = addParam(link, \"ignore=1\");\n    }\n    if (options.lineIndex) {\n      link = addParam(link, `line=${options.lineIndex}`);\n    }\n    if (options.sectionName) {\n      link = addParam(\n        link,\n        `section=${encodeURIComponent(options.sectionName)}`,\n      );\n    }\n    if (options.selectionText) {\n      link = `${link}#${encodeURIComponent(options.selectionText)}`;\n    }\n  }\n  return link;\n}\n\nexport function getLinkedNotesRecursively(\n  link: string,\n  ignoreIds: number[] = [],\n) {\n  const linkParams = getNoteLinkParams(link);\n  if (!linkParams.noteItem) return [];\n  const noteItem = linkParams.noteItem;\n  if (ignoreIds.includes(noteItem.id)) {\n    return [];\n  }\n  const doc = new DOMParser().parseFromString(noteItem.getNote(), \"text/html\");\n  const links = Array.from(doc.querySelectorAll(\"a\")) as HTMLAnchorElement[];\n  return links.reduce(\n    (acc, link) => {\n      const linkParams = getNoteLinkParams(link?.href);\n      if (linkParams.noteItem) {\n        acc.push(linkParams.noteItem.id);\n        acc.push(...getLinkedNotesRecursively(link?.href, acc));\n      }\n      return acc;\n    },\n    [linkParams.noteItem.id] as number[],\n  );\n}\n"
  },
  {
    "path": "src/utils/linkCreator.ts",
    "content": "import { config } from \"../../package.json\";\nimport { showHint } from \"./hint\";\nimport { getString } from \"./locale\";\nimport { addLineToNote } from \"./note\";\n\nexport { openLinkCreator };\n\nasync function openLinkCreator(\n  currentNote: Zotero.Item,\n  options?: {\n    mode?: \"inbound\" | \"outbound\";\n    lineIndex?: number;\n  },\n) {\n  if (!currentNote.id) {\n    showHint(getString(\"alert-linkCreator-emptyNote\"));\n    return;\n  }\n  const io = {\n    openedNoteIDs: Array.from(\n      new Set(\n        Zotero.Notes._editorInstances\n          .map((editor) => editor._item?.id)\n          .filter((id) => id),\n      ),\n    ),\n    currentNoteID: currentNote.id,\n    currentLineIndex: options?.lineIndex,\n    mode: options?.mode,\n    deferred: Zotero.Promise.defer(),\n  } as any;\n\n  Services.ww.openWindow(\n    // @ts-ignore\n    null,\n    `chrome://${config.addonRef}/content/linkCreator.xhtml`,\n    `${config.addonRef}-linkCreator`,\n    \"chrome,modal,centerscreen,resizable=yes\",\n    io,\n  );\n  await io.deferred.promise;\n\n  const targetNote = Zotero.Items.get(io.targetNoteID);\n\n  if (!targetNote) return;\n\n  const sourceNotes = Zotero.Items.get(io.sourceNoteIDs as number[]);\n  let content = \"\";\n  for (const note of sourceNotes) {\n    content += await addon.api.template.runQuickInsertTemplate(\n      note,\n      targetNote,\n      { dryRun: false },\n    );\n    content += \"\\n\";\n  }\n  const lineIndex = io.lineIndex;\n\n  await addLineToNote(targetNote, content, lineIndex);\n}\n"
  },
  {
    "path": "src/utils/locale.ts",
    "content": "import { config } from \"../../package.json\";\nimport { FluentMessageId } from \"../../typings/i10n\";\n\nexport { initLocale, getString, getLocaleID };\n\n/**\n * Initialize locale data\n */\nfunction initLocale() {\n  const l10n = new (\n    typeof Localization === \"undefined\"\n      ? ztoolkit.getGlobal(\"Localization\")\n      : Localization\n  )([`${config.addonRef}-addon.ftl`], true);\n  addon.data.locale = {\n    current: l10n,\n  };\n}\n\n/**\n * Get locale string, see https://firefox-source-docs.mozilla.org/l10n/fluent/tutorial.html#fluent-translation-list-ftl\n * @param localString ftl key\n * @param options.branch branch name\n * @param options.args args\n */\nfunction getString(localString: FluentMessageId): string;\nfunction getString(localString: FluentMessageId, branch: string): string;\nfunction getString(\n  localeString: FluentMessageId,\n  options: { branch?: string | undefined; args?: Record<string, unknown> },\n): string;\nfunction getString(localeString: string, ...args: any[]): string;\nfunction getString(...inputs: any[]) {\n  if (inputs.length === 1) {\n    return _getString(inputs[0]);\n  } else if (inputs.length === 2) {\n    if (typeof inputs[1] === \"string\") {\n      return _getString(inputs[0], { branch: inputs[1] });\n    } else {\n      return _getString(inputs[0], inputs[1]);\n    }\n  } else {\n    throw new Error(\"Invalid arguments\");\n  }\n}\n\nfunction _getString(\n  localeString: FluentMessageId,\n  options: { branch?: string | undefined; args?: Record<string, unknown> } = {},\n): string {\n  const localStringWithPrefix = `${config.addonRef}-${localeString}`;\n  const { branch, args } = options;\n  const pattern = addon.data.locale?.current.formatMessagesSync([\n    { id: localStringWithPrefix, args },\n  ])[0];\n  if (!pattern) {\n    return localStringWithPrefix;\n  }\n  if (branch && pattern.attributes) {\n    for (const attr of pattern.attributes) {\n      if (attr.name === branch) {\n        return attr.value;\n      }\n    }\n    return pattern.attributes[branch] || localStringWithPrefix;\n  } else {\n    return pattern.value || localStringWithPrefix;\n  }\n}\n\nfunction getLocaleID(id: FluentMessageId) {\n  return `${config.addonRef}-${id}`;\n}\n"
  },
  {
    "path": "src/utils/note.ts",
    "content": "import TreeModel = require(\"tree-model\");\nimport katex = require(\"katex\");\nimport { getEditorInstance, getPositionAtLine, insert } from \"./editor\";\nimport { formatPath, getItemDataURL } from \"./str\";\nimport { config } from \"../../package.json\";\nimport { getParsingServer } from \"./parsing\";\n\nexport {\n  renderNoteHTML,\n  parseHTMLLines,\n  getLinesInNote,\n  addLineToNote,\n  getNoteTree,\n  getNoteTreeFlattened,\n  getNoteTreeNodeById,\n  copyEmbeddedImagesFromNote,\n  copyEmbeddedImagesInHTML,\n  importImageToNote,\n};\n\nasync function parseHTMLLines(html: string) {\n  const server = await getParsingServer();\n  return await server.proxy.parseHTMLLines(html);\n}\n\nasync function getLinesInNote(\n  note: Zotero.Item,\n  options?: {\n    convertToHTML?: boolean;\n  },\n): Promise<string[]> {\n  if (!note) {\n    return [];\n  }\n  const noteText: string = note.getNote();\n  if (options?.convertToHTML) {\n    return new Promise((resolve) => {\n      addon.api.convert.note2html(note).then((html) => {\n        resolve(parseHTMLLines(html));\n      });\n    });\n  }\n  return parseHTMLLines(noteText);\n}\n\nasync function setLinesToNote(note: Zotero.Item, lines: string[]) {\n  if (!note) {\n    return [];\n  }\n  const noteText: string = note.getNote();\n  const containerIndex = noteText.search(/data-schema-version=\"[0-9]*/g);\n  if (containerIndex === -1) {\n    note.setNote(\n      `<div data-schema-version=\"${config.dataSchemaVersion}\">${lines.join(\n        \"\\n\",\n      )}</div>`,\n    );\n  } else {\n    const noteHead = noteText.substring(0, containerIndex);\n    note.setNote(\n      `${noteHead}data-schema-version=\"${\n        config.dataSchemaVersion\n      }\">${lines.join(\"\\n\")}</div>`,\n    );\n  }\n\n  await note.saveTx();\n}\n\nasync function addLineToNote(\n  note: Zotero.Item,\n  html: string,\n  lineIndex: number = -1,\n  forceMetadata: boolean = false,\n) {\n  if (!note || !html) {\n    return;\n  }\n  const noteLines = await getLinesInNote(note);\n  // No need to handle the case when lineIndex is out of range, as it will always be inserted at the very end\n  if (lineIndex < 0) {\n    lineIndex = noteLines.length;\n  }\n  ztoolkit.log(`insert to ${lineIndex}, it used to be ${noteLines[lineIndex]}`);\n  ztoolkit.log(html);\n\n  const editor = getEditorInstance(note.id);\n  if (editor && !forceMetadata) {\n    // The note is opened. Add line via note editor\n    // If the lineIndex is out of range, the line will be inserted at the end (after the last line)\n    const pos = getPositionAtLine(\n      editor,\n      lineIndex,\n      lineIndex >= noteLines.length ? \"end\" : \"start\",\n    );\n    ztoolkit.log(\"Add note line via note editor\", pos);\n    insert(editor, html, pos);\n    // The selection is automatically moved to the next line\n  } else {\n    // The note editor does not exits yet. Fall back to modify the metadata\n    ztoolkit.log(\"Add note line via note metadata\");\n    noteLines.splice(lineIndex, 0, html);\n    await setLinesToNote(note, noteLines);\n  }\n}\n\nasync function renderNoteHTML(\n  html: string,\n  refNotes: Zotero.Item[],\n): Promise<string>;\nasync function renderNoteHTML(noteItem: Zotero.Item): Promise<string>;\nasync function renderNoteHTML(\n  htmlOrNote: string | Zotero.Item,\n  refNotes?: Zotero.Item[],\n): Promise<string> {\n  let html: string;\n  if (typeof htmlOrNote === \"string\") {\n    html = htmlOrNote;\n    refNotes = (refNotes || []).filter((item) => item.isNote());\n  } else {\n    const noteItem = htmlOrNote as Zotero.Item;\n    if (!noteItem.isNote()) {\n      throw new Error(\"Item is not a note\");\n    }\n    html = noteItem.getNote();\n    refNotes = [noteItem];\n  }\n\n  const parser = new DOMParser();\n  const doc = parser.parseFromString(html, \"text/html\");\n  const imageAttachments = refNotes.reduce((acc, note) => {\n    acc.push(...Zotero.Items.get(note.getAttachments()));\n    return acc;\n  }, [] as Zotero.Item[]);\n\n  for (const attachment of imageAttachments) {\n    if (await attachment.fileExists()) {\n      const imageNodes = Array.from(\n        doc.querySelectorAll(`img[data-attachment-key=\"${attachment.key}\"]`),\n      ) as HTMLImageElement[];\n      if (imageNodes.length) {\n        try {\n          const b64 = await getItemDataURL(attachment);\n          imageNodes.forEach((node) => {\n            node.setAttribute(\"src\", b64);\n            const width = Number(node.getAttribute(\"width\"));\n            const height = Number(node.getAttribute(\"height\"));\n            // 650/470 is the default width of images in Word\n            const maxWidth = Zotero.isMac ? 470 : 650;\n            if (width > maxWidth) {\n              node.setAttribute(\"width\", maxWidth.toString());\n              if (height) {\n                node.setAttribute(\n                  \"height\",\n                  Math.round((height * maxWidth) / width).toString(),\n                );\n              }\n            }\n            if (node.hasAttribute(\"width\")) {\n              node.style.width = `${node.getAttribute(\"width\")}px`;\n            }\n            if (node.hasAttribute(\"height\")) {\n              node.style.height = `${node.getAttribute(\"height\")}px`;\n            }\n          });\n        } catch (e) {\n          ztoolkit.log(e);\n        }\n      }\n    }\n  }\n\n  const bgNodes = doc.querySelectorAll(\n    \"span[style]\",\n  ) as NodeListOf<HTMLElement>;\n  for (const node of Array.from(bgNodes) as HTMLSpanElement[]) {\n    // Browser converts #RRGGBBAA hex color to rgba function, and we convert it to rgb function,\n    // because word processors don't understand colors with alpha channel\n    if (\n      node.style.backgroundColor &&\n      node.style.backgroundColor.startsWith(\"rgba\")\n    ) {\n      node.style.backgroundColor =\n        node.style.backgroundColor\n          .replace(\"rgba\", \"rgb\")\n          .split(\",\")\n          .slice(0, 3)\n          .join(\",\") + \")\";\n    }\n  }\n\n  const mathDelimiterRegex = /^\\$+|\\$+$/g;\n  doc.querySelectorAll(\".math\").forEach((node) => {\n    const displayMode = node.innerHTML.startsWith(\"$$\");\n    node.innerHTML = katex.renderToString(\n      node.textContent!.replace(mathDelimiterRegex, \"\"),\n      {\n        throwOnError: false,\n        // output: \"mathml\",\n        displayMode,\n      },\n    );\n  });\n  return doc.body.innerHTML;\n}\n\nasync function getNoteTree(\n  note: Zotero.Item,\n  parseLink: boolean = true,\n): Promise<TreeModel.Node<NoteNodeData>> {\n  const timeLabel = `getNoteTree-${note.id}-${Math.random()}`;\n  Zotero.getMainWindow().console.time(timeLabel);\n\n  const noteLines = await getLinesInNote(note);\n  const parser = new DOMParser();\n  const tree = new TreeModel();\n  const root = tree.parse({\n    id: -1,\n    level: 0,\n    lineIndex: -1,\n    endIndex: -1,\n  });\n  let id = 0;\n  let lastNode = root;\n  const headingRegex = new RegExp(\"^<h([1-6])(.*?)</h[1-6]>\");\n  const linkRegex = new RegExp('href=\"(zotero://note/[^\"]*)\"');\n  for (const i in noteLines) {\n    let currentLevel = 7;\n    const lineElement = noteLines[i];\n    const matchHeadingResult = lineElement.match(headingRegex);\n    const matchLinkResult = parseLink ? lineElement.match(linkRegex) : null;\n    const isHeading = Boolean(matchHeadingResult);\n    // Links in blockquote are ignored\n    const isLink =\n      Boolean(matchLinkResult) && !noteLines[i].startsWith(\"<blockquote\");\n    if (isHeading || isLink) {\n      let name = \"\";\n      let link = \"\";\n      if (isHeading) {\n        currentLevel = parseInt(matchHeadingResult![1] || \"7\");\n      } else {\n        link = matchLinkResult![1];\n      }\n      name = parser.parseFromString(lineElement, \"text/html\").body.innerText;\n\n      // Find parent node\n      let parentNode = lastNode;\n      while (parentNode.model.level >= currentLevel) {\n        parentNode = parentNode.parent;\n      }\n\n      const currentNode = tree.parse({\n        id: id++,\n        level: currentLevel,\n        name: name,\n        lineIndex: parseInt(i),\n        endIndex: noteLines.length - 1,\n        link: link,\n      });\n      parentNode.addChild(currentNode);\n      const currentIndex = parentNode.children.indexOf(currentNode);\n      if (currentIndex > 0) {\n        const previousNode = parentNode.children[\n          currentIndex - 1\n        ] as TreeModel.Node<NoteNodeData>;\n        // Traverse the previous node tree and set the end index\n        previousNode.walk((node) => {\n          if (node.model.endIndex > parseInt(i) - 1) {\n            node.model.endIndex = parseInt(i) - 1;\n          }\n          Zotero.getMainWindow().console.timeEnd(timeLabel);\n\n          return true;\n        });\n        previousNode.model.endIndex = parseInt(i) - 1;\n      }\n      lastNode = currentNode;\n    }\n  }\n  Zotero.getMainWindow().console.timeEnd(timeLabel);\n  return root;\n}\n\nasync function getNoteTreeFlattened(\n  note: Zotero.Item,\n  options: {\n    keepRoot?: boolean;\n    keepLink?: boolean;\n    customFilter?: (node: TreeModel.Node<NoteNodeData>) => boolean;\n  } = { keepRoot: false, keepLink: false },\n): Promise<TreeModel.Node<NoteNodeData>[]> {\n  if (!note) {\n    return [];\n  }\n  return (await getNoteTree(note)).all(\n    (node) =>\n      (options.keepRoot || node.model.lineIndex >= 0) &&\n      (options.keepLink || node.model.level <= 6) &&\n      (options.customFilter ? options.customFilter(node) : true),\n  );\n}\n\nasync function getNoteTreeNodeById(\n  note: Zotero.Item,\n  id: number,\n  root: TreeModel.Node<NoteNodeData> | undefined = undefined,\n) {\n  root = root || (await getNoteTree(note));\n  return root.first(function (node) {\n    return node.model.id === id;\n  });\n}\n\nasync function getNoteTreeNodesByLevel(\n  note: Zotero.Item,\n  level: number,\n  root: TreeModel.Node<NoteNodeData> | undefined = undefined,\n) {\n  root = root || (await getNoteTree(note));\n  return root.all(function (node) {\n    return node.model.level === level;\n  });\n}\n\nasync function copyEmbeddedImagesFromNote(\n  targetNote: Zotero.Item,\n  sourceNotes: Zotero.Item[],\n) {\n  await Zotero.DB.executeTransaction(async () => {\n    for (const fromNote of sourceNotes) {\n      // Do not copy to itself, otherwise the note may break the DB\n      if (!fromNote.id || !targetNote.id || fromNote.id === targetNote.id) {\n        continue;\n      }\n      await Zotero.Notes.copyEmbeddedImages(fromNote, targetNote);\n    }\n  });\n}\n\nasync function copyEmbeddedImagesInHTML(\n  html: string,\n  targetNote?: Zotero.Item,\n  refNotes: Zotero.Item[] = [],\n) {\n  ztoolkit.log(\n    \"parseEmbeddedImagesInHTML\",\n    html,\n    targetNote?.getNoteTitle(),\n    refNotes.length,\n  );\n  if (!targetNote) {\n    return html;\n  }\n\n  const attachments = refNotes.reduce((acc, note) => {\n    acc.push(...Zotero.Items.get(note.getAttachments()));\n    return acc;\n  }, [] as Zotero.Item[]);\n  if (!attachments.length) {\n    return html;\n  }\n\n  ztoolkit.log(attachments.length, \"attachments found in refNotes\");\n\n  const doc = new DOMParser().parseFromString(html, \"text/html\");\n\n  // Copy note image attachments and replace keys in the new note\n  for (const attachment of attachments) {\n    if (await attachment.fileExists()) {\n      const nodes = Array.from(\n        doc.querySelectorAll(`img[data-attachment-key=\"${attachment.key}\"]`),\n      ) as HTMLImageElement[];\n      if (nodes.length) {\n        let copiedAttachment: Zotero.Item | undefined;\n        await Zotero.DB.executeTransaction(async () => {\n          Zotero.DB.requireTransaction();\n          // Do not copy to itself, otherwise the note may break the DB\n          if (\n            !attachment.parentID ||\n            !targetNote.id ||\n            attachment.parentID === targetNote.id\n          ) {\n            return;\n          }\n          copiedAttachment = await Zotero.Attachments.copyEmbeddedImage({\n            attachment,\n            note: targetNote,\n          });\n        });\n        if (!copiedAttachment) {\n          continue;\n        }\n        nodes.forEach((node) =>\n          node?.setAttribute(\"data-attachment-key\", copiedAttachment!.key),\n        );\n      }\n    }\n  }\n  ztoolkit.log(\"embed\", doc.body.innerHTML);\n  return doc.body.innerHTML;\n}\n\nfunction dataURLtoBlob(dataurl: string) {\n  const parts = dataurl.split(\",\");\n  const matches = parts[0]?.match(/:(.*?);/);\n  if (!matches || !matches[1]) {\n    return;\n  }\n  const mime = matches[1];\n  if (parts[0].indexOf(\"base64\") !== -1) {\n    const bstr = ztoolkit.getGlobal(\"atob\")(parts[1]);\n    let n = bstr.length;\n    const u8arr = new Uint8Array(n);\n    while (n--) {\n      u8arr[n] = bstr.charCodeAt(n);\n    }\n\n    return new (ztoolkit.getGlobal(\"Blob\"))([u8arr], {\n      type: mime,\n    });\n  }\n  return null;\n}\n\nasync function importImageToNote(\n  note: Zotero.Item,\n  src: string,\n  type: \"b64\" | \"url\" | \"file\" = \"b64\",\n): Promise<string | void> {\n  if (!note || !note.isNote()) {\n    return \"\";\n  }\n  let blob: Blob;\n  if (src.startsWith(\"data:\")) {\n    const dataBlob = dataURLtoBlob(src);\n    if (!dataBlob) {\n      return;\n    }\n    blob = dataBlob;\n  } else if (type === \"url\") {\n    let res;\n    try {\n      res = await Zotero.HTTP.request(\"GET\", src, { responseType: \"blob\" });\n    } catch (e) {\n      return;\n    }\n    blob = res.response;\n  } else if (type === \"file\") {\n    src = formatPath(src);\n    const noteAttachmentKeys = Zotero.Items.get(note.getAttachments()).map(\n      (_i) => _i.key,\n    );\n    const filename = src.split(\"/\").pop()?.split(\".\").shift();\n    // The exported image is KEY.png by default.\n    // If it is already an attachment, just keep it.\n    if (noteAttachmentKeys.includes(filename || \"\")) {\n      return filename;\n    }\n    const imageData = await Zotero.File.getBinaryContentsAsync(src);\n    const array = new Uint8Array(imageData.length);\n    for (let i = 0; i < imageData.length; i++) {\n      array[i] = imageData.charCodeAt(i);\n    }\n    blob = new Blob([array], { type: \"image/png\" });\n  } else {\n    return;\n  }\n\n  if (!blob) {\n    ztoolkit.log(\"Failed to import image.\");\n    return;\n  }\n\n  const attachment = await Zotero.Attachments.importEmbeddedImage({\n    blob,\n    parentItemID: note.id,\n    saveOptions: {},\n  });\n\n  return attachment.key;\n}\n"
  },
  {
    "path": "src/utils/parsing.ts",
    "content": "import { MessageHelper } from \"zotero-plugin-toolkit\";\nimport { config } from \"../../package.json\";\nimport type { handlers } from \"../extras/parsingWorker\";\n\nfunction closeParsingServer() {\n  if (addon.data.parsing.server) {\n    addon.data.parsing.server.destroy();\n    addon.data.parsing.server = undefined;\n  }\n}\n\nasync function getParsingServer() {\n  if (addon.data.parsing.server) {\n    return addon.data.parsing.server;\n  }\n  const worker = new ChromeWorker(\n    `chrome://${config.addonRef}/content/scripts/parsingWorker.js`,\n    { name: \"parsingWorker\" },\n  );\n  const server = new MessageHelper<typeof handlers>({\n    canBeDestroyed: false,\n    dev: __env__ === \"development\",\n    name: \"parsingWorkerMain\",\n    target: worker,\n    handlers: {},\n  });\n  server.start();\n  await server.proxy._ping();\n  addon.data.parsing.server = server;\n  return server;\n}\n\nexport { getParsingServer, closeParsingServer };\n"
  },
  {
    "path": "src/utils/prefs.ts",
    "content": "import { config } from \"../../package.json\";\n\nexport {\n  getPref,\n  setPref,\n  clearPref,\n  getPrefJSON,\n  registerPrefObserver,\n  unregisterPrefObserver,\n};\n\ntype _PluginPrefsMap = _ZoteroTypes.Prefs[\"PluginPrefsMap\"];\n\nfunction getPref<K extends keyof _PluginPrefsMap>(key: K): _PluginPrefsMap[K];\nfunction getPref(key: string): string | number | boolean;\nfunction getPref(key: string): string | number | boolean {\n  return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true) as any;\n}\n\nfunction setPref<K extends keyof _PluginPrefsMap>(\n  key: K,\n  value: _PluginPrefsMap[K],\n): void;\nfunction setPref(key: string, value: string | number | boolean): void;\nfunction setPref(key: string, value: string | number | boolean) {\n  return Zotero.Prefs.set(`${config.prefsPrefix}.${key}`, value, true);\n}\n\nfunction clearPref<K extends keyof _PluginPrefsMap>(key: K): void;\nfunction clearPref(key: string): void;\nfunction clearPref(key: string) {\n  return Zotero.Prefs.clear(`${config.prefsPrefix}.${key}`, true);\n}\n\nfunction getPrefJSON(key: string) {\n  try {\n    return JSON.parse(String(getPref(key) || \"{}\"));\n  } catch (e) {\n    setPref(key, \"{}\");\n  }\n  return {};\n}\n\nfunction registerPrefObserver<K extends keyof _PluginPrefsMap>(\n  key: K,\n  callback: (value: _PluginPrefsMap[K]) => void,\n): symbol;\nfunction registerPrefObserver(\n  key: string,\n  callback: (value: any) => void,\n): symbol;\nfunction registerPrefObserver(key: string, callback: (value: any) => void) {\n  return Zotero.Prefs.registerObserver(\n    `${config.prefsPrefix}.${key}`,\n    callback,\n    true,\n  );\n}\n\nfunction unregisterPrefObserver(observerID: symbol) {\n  return Zotero.Prefs.unregisterObserver(observerID);\n}\n"
  },
  {
    "path": "src/utils/relation.ts",
    "content": "import { MessageHelper } from \"zotero-plugin-toolkit\";\nimport { config } from \"../../package.json\";\nimport { getNoteLinkParams } from \"./link\";\nimport type { handlers } from \"../extras/relationWorker\";\n\nfunction closeRelationServer() {\n  if (addon.data.relation.server) {\n    addon.data.relation.server.destroy();\n    addon.data.relation.server = undefined;\n  }\n}\n\nasync function getRelationServer(): Promise<MessageHelper<typeof handlers>> {\n  if (!addon.data.relation.server) {\n    const worker = new Worker(\n      `chrome://${config.addonRef}/content/scripts/relationWorker.js`,\n      { name: \"relationWorker\" },\n    );\n    const server = new MessageHelper<typeof handlers>({\n      canBeDestroyed: false,\n      dev: __env__ === \"development\",\n      name: \"relationWorkerMain\",\n      target: worker,\n      handlers: {},\n    });\n    server.start();\n    await server.exec(\"_ping\");\n    addon.data.relation.server = server;\n  }\n\n  return addon.data.relation.server!;\n}\n\nexport { getRelationServer, closeRelationServer };\n\nexport {\n  updateNoteLinkRelation,\n  getNoteLinkInboundRelation,\n  getNoteLinkOutboundRelation,\n  linkAnnotationToTarget,\n  getLinkTargetByAnnotation,\n  getAnnotationByLinkTarget,\n};\n\nasync function updateNoteLinkRelation(noteID: number) {\n  ztoolkit.log(\"updateNoteLinkRelation\", noteID);\n  const note = Zotero.Items.get(noteID);\n  const affectedNoteIDs = new Set([noteID]);\n  const fromLibID = note.libraryID;\n  const fromKey = note.key;\n  const lines = await addon.api.note.getLinesInNote(note);\n  const linkToData: LinkModel[] = [];\n  for (let i = 0; i < lines.length; i++) {\n    const linkMatches = lines[i].match(/href=\"zotero:\\/\\/note\\/[^\"]+\"/g);\n    if (!linkMatches) {\n      continue;\n    }\n    for (const match of linkMatches) {\n      const link = decodeHTMLEntities(match.slice(6, -1));\n      const { noteItem, libraryID, noteKey, lineIndex, sectionName } =\n        getNoteLinkParams(link);\n      if (noteItem && noteItem.isNote() && noteItem.id !== note.id) {\n        affectedNoteIDs.add(noteItem.id);\n        linkToData.push({\n          fromLibID,\n          fromKey,\n          toLibID: libraryID,\n          toKey: noteKey!,\n          fromLine: i,\n          toLine: lineIndex ?? null,\n          toSection: sectionName ?? null,\n          url: link,\n        });\n      }\n    }\n  }\n  const result = await (\n    await getRelationServer()\n  ).proxy.rebuildLinkForNote(fromLibID, fromKey, linkToData);\n\n  for (const link of result.oldOutboundLinks as LinkModel[]) {\n    const item = Zotero.Items.getByLibraryAndKey(link.toLibID, link.toKey);\n    if (!item) {\n      continue;\n    }\n    affectedNoteIDs.add(item.id);\n  }\n  Zotero.Notifier.trigger(\n    // @ts-ignore\n    \"updateBNRelation\",\n    \"item\",\n    Array.from(affectedNoteIDs),\n    {},\n    true,\n  );\n}\n\nasync function getNoteLinkOutboundRelation(\n  noteID: number,\n): Promise<LinkModel[]> {\n  const note = Zotero.Items.get(noteID);\n  const fromLibID = note.libraryID;\n  const fromKey = note.key;\n  return await (\n    await getRelationServer()\n  ).proxy.getOutboundLinks(fromLibID, fromKey);\n}\n\nasync function getNoteLinkInboundRelation(\n  noteID: number,\n): Promise<LinkModel[]> {\n  const note = Zotero.Items.get(noteID);\n  const toLibID = note.libraryID;\n  const toKey = note.key;\n  return await (\n    await getRelationServer()\n  ).proxy.getInboundLinks(toLibID, toKey);\n}\n\nfunction decodeHTMLEntities(text: string) {\n  return text\n    .replace(/&amp;/g, \"&\")\n    .replace(/&lt;/g, \"<\")\n    .replace(/&gt;/g, \">\");\n}\n\ninterface LinkModel {\n  fromLibID: number;\n  fromKey: string;\n  toLibID: number;\n  toKey: string;\n  fromLine: number;\n  toLine: number | null;\n  toSection: string | null;\n  url: string;\n}\n\nasync function linkAnnotationToTarget(model: AnnotationModel) {\n  return await (await getRelationServer()).proxy.linkAnnotationToTarget(model);\n}\n\nasync function getLinkTargetByAnnotation(\n  fromLibID: number,\n  fromKey: string,\n): Promise<AnnotationModel | undefined> {\n  return await (\n    await getRelationServer()\n  ).proxy.getLinkTargetByAnnotation(fromLibID, fromKey);\n}\n\nasync function getAnnotationByLinkTarget(\n  toLibID: number,\n  toKey: string,\n): Promise<AnnotationModel | undefined> {\n  return await (\n    await getRelationServer()\n  ).proxy.getAnnotationByLinkTarget(toLibID, toKey);\n}\n\ninterface AnnotationModel {\n  fromLibID: number;\n  fromKey: string;\n  toLibID: number;\n  toKey: string;\n  url: string;\n}\n"
  },
  {
    "path": "src/utils/str.ts",
    "content": "import seedrandom = require(\"seedrandom\");\nimport pathHelper = require(\"path-browserify\");\n\nexport function slice(str: string, len: number) {\n  return str.length > len ? `${str.slice(0, len - 3)}...` : str;\n}\n\nexport function fill(\n  str: string,\n  len: number,\n  options: { char: string; position: \"start\" | \"end\" } = {\n    char: \" \",\n    position: \"end\",\n  },\n) {\n  if (str.length >= len) {\n    return str;\n  }\n  return str[options.position === \"start\" ? \"padStart\" : \"padEnd\"](\n    len - str.length,\n    options.char,\n  );\n}\n\nexport function formatPath(path: string, suffix: string = \"\") {\n  path = Zotero.File.normalizeToUnix(path);\n  if (Zotero.isWin) {\n    path = path.replace(/\\//g, \"\\\\\");\n\n    if (path[0] === \"\\\\\" && path[1] !== \"\\\\\") {\n      // Assume it's an UNC path wrongly formatted, e.g. `\\wsl.localhost\\...` from pathHelper\n      path = `\\\\${path}`;\n    }\n    return path;\n  }\n  if (suffix && !path.endsWith(suffix)) {\n    path += suffix;\n  }\n  return path;\n}\n\nexport async function getFileContent(path: string) {\n  const contentOrXHR = await Zotero.File.getContentsAsync(path);\n  const content =\n    typeof contentOrXHR === \"string\"\n      ? contentOrXHR\n      : (contentOrXHR as any as XMLHttpRequest).response;\n  return content;\n}\n\nexport function randomString(len: number, seed?: string, chars?: string) {\n  if (!chars) {\n    chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n  }\n  if (!len) {\n    len = 8;\n  }\n  let str = \"\";\n  const random = seedrandom(seed);\n  for (let i = 0; i < len; i++) {\n    const rnum = Math.floor(random() * chars.length);\n    str += chars.substring(rnum, rnum + 1);\n  }\n  return str;\n}\n\nfunction arrayBufferToBase64(buffer: ArrayBufferLike) {\n  let binary = \"\";\n  const bytes = new Uint8Array(buffer);\n  const len = bytes.byteLength;\n  for (let i = 0; i < len; i++) {\n    binary += String.fromCharCode(bytes[i]);\n  }\n  return ztoolkit.getGlobal(\"btoa\")(binary);\n}\n\nexport async function getItemDataURL(item: Zotero.Item) {\n  if (addon.data.imageCache[item.id]) {\n    return addon.data.imageCache[item.id];\n  }\n  const path = (await item.getFilePathAsync()) as string;\n  const buf = (await IOUtils.read(path)).buffer;\n  const dataURL =\n    \"data:\" +\n    item.attachmentContentType +\n    \";base64,\" +\n    arrayBufferToBase64(buf);\n  const keys = Object.keys(addon.data.imageCache);\n  // Limit cache size\n  while (keys.length > 100) {\n    delete addon.data.imageCache[keys.shift() as any];\n  }\n  addon.data.imageCache[item.id] = dataURL;\n  return dataURL;\n}\n\nexport async function fileExists(path: string): Promise<boolean> {\n  if (!path) {\n    return false;\n  }\n  try {\n    // IOUtils.exists() will throw error if path is not valid\n    return await IOUtils.exists(formatPath(path));\n  } catch (e) {\n    ztoolkit.log(\"[fileExists]\", e);\n    return false;\n  }\n}\n\nexport function jointPath(...paths: string[]) {\n  try {\n    return formatPath(\n      pathHelper.join(...paths.map((p) => p.replaceAll(\"\\\\\", \"/\"))),\n    );\n  } catch (e) {\n    ztoolkit.log(\"[jointPath]\", e);\n    return \"\";\n  }\n}\n\nexport function tryDecodeParse(s: string) {\n  try {\n    return JSON.parse(decodeURIComponent(s));\n  } catch (e) {\n    return null;\n  }\n}\n\nexport function htmlEscape(doc: Document, str: string) {\n  const div = doc.createElement(\"div\");\n  const text = doc.createTextNode(str);\n  div.appendChild(text);\n  return div.innerHTML.replace(/\"/g, \"&quot;\").replace(/'/g, \"&#39;\");\n}\n\nexport function htmlUnescape(\n  str: string,\n  options: {\n    excludeLineBreak?: boolean;\n  } = {},\n) {\n  const map: Record<string, string> = {\n    \"&nbsp;\": \" \",\n    \"&quot;\": '\"',\n    \"&#39;\": \"'\",\n  };\n  if (!options.excludeLineBreak) {\n    map[\"\\n\"] = \"\";\n  }\n  const re = new RegExp(Object.keys(map).join(\"|\"), \"g\");\n  return str.replace(re, function (match) {\n    return map[match as keyof typeof map];\n  });\n}\n\nexport function xhtmlEscape(str: string) {\n  return str\n    .replace(/&nbsp;/g, \"#160;\")\n    .replace(/<br>/g, \"<br/>\")\n    .replace(/<hr>/g, \"<hr/>\")\n    .replace(/<img([^>]+)>/g, \"<img$1/>\");\n}\n"
  },
  {
    "path": "src/utils/templatePicker.ts",
    "content": "import { config } from \"../../package.json\";\n\nexport async function openTemplatePicker(\n  options: {\n    multiSelect?: boolean;\n  } = {},\n) {\n  const { multiSelect = false } = options;\n  const templates = addon.api.template\n    .getTemplateKeys()\n    .filter(\n      (template) =>\n        !addon.api.template.SYSTEM_TEMPLATE_NAMES.includes(template),\n    );\n  const args = {\n    templates,\n    multiSelect,\n    selected: [] as string[],\n    _initPromise: Zotero.Promise.defer(),\n  };\n  // @ts-ignore\n  // args.wrappedJSObject = args;\n  Services.ww.openWindow(\n    // @ts-ignore\n    null,\n    `chrome://${config.addonRef}/content/templatePicker.xhtml`,\n    \"_blank\",\n    \"chrome,modal,centerscreen,resizable=yes\",\n    args,\n  );\n  await args._initPromise.promise;\n  return args.selected;\n}\n"
  },
  {
    "path": "src/utils/wait.ts",
    "content": "export function waitUntil(\n  condition: () => boolean,\n  callback: () => void,\n  interval = 100,\n  timeout = 10000,\n) {\n  const start = Date.now();\n  const intervalId = setInterval(() => {\n    if (condition()) {\n      clearInterval(intervalId);\n      callback();\n    } else if (Date.now() - start > timeout) {\n      clearInterval(intervalId);\n    }\n  }, interval);\n}\n\nexport function waitUtilAsync(\n  condition: () => boolean,\n  interval = 100,\n  timeout = 10000,\n) {\n  return new Promise<void>((resolve, reject) => {\n    const start = Date.now();\n    const _condition = () => {\n      try {\n        return condition();\n      } catch (e) {\n        ztoolkit.log(e);\n        return false;\n      }\n    };\n    const intervalId = setInterval(() => {\n      if (_condition()) {\n        clearInterval(intervalId);\n        resolve();\n      } else if (Date.now() - start > timeout) {\n        clearInterval(intervalId);\n        reject();\n      }\n    }, interval);\n  });\n}\n"
  },
  {
    "path": "src/utils/window.ts",
    "content": "export { isWindowAlive, getFocusedWindow, isElementVisible };\n\nfunction isWindowAlive(win?: Window) {\n  return win && !Components.utils.isDeadWrapper(win) && !win.closed;\n}\n\nfunction getFocusedWindow() {\n  const wins = Services.wm.getEnumerator(\"\") as unknown as Window[];\n  for (const win of wins) {\n    if (win.document?.hasFocus()) {\n      return win;\n    }\n  }\n}\n\nfunction isElementVisible(el: Element | null): boolean {\n  if (!el || !el.ownerDocument) return false;\n\n  const rect = el.getBoundingClientRect();\n  const centerX = rect.left + rect.width / 2;\n  const centerY = rect.top + rect.height / 2;\n\n  const elementAtCenter = el.ownerDocument.elementFromPoint(centerX, centerY);\n\n  // Check if the element at the center point is the element or one of its descendants\n  return el.contains(elementAtCenter);\n}\n"
  },
  {
    "path": "src/utils/workspace.ts",
    "content": "import { config } from \"../../package.json\";\nimport { OutlinePane } from \"../elements/workspace/outlinePane\";\n\nexport {\n  getWorkspaceByUID,\n  getWorkspaceUID,\n  OutlineType,\n  VirtualWorkspace,\n  WorkspaceTab,\n};\n\nenum OutlineType {\n  empty = 0,\n  treeView,\n  mindMap,\n  bubbleMap,\n}\n\nfunction getWorkspaceUID(element: Element): string | undefined {\n  const win = element.ownerDocument.defaultView as any;\n  // There can be fake Zotero_Tabs added by contextPane.ts\n  if (win?.Zotero_Tabs?.getTabInfo) {\n    return win.Zotero_Tabs.getTabInfo().id;\n  }\n  const workspace = element.closest(\"bn-workspace\") as HTMLElement | undefined;\n  if (workspace?.dataset.uid) {\n    return workspace.dataset.uid;\n  }\n  return undefined;\n}\n\nfunction getWorkspaceByUID(uid: string): VirtualWorkspace | undefined {\n  if (uid.startsWith(\"tab-\")) {\n    return new WorkspaceTab(uid);\n  }\n  const workspace = addon.data.workspace.instances[uid]?.deref();\n  if (!workspace?.ownerDocument) {\n    delete addon.data.workspace.instances[uid];\n    return undefined;\n  }\n  return workspace as unknown as VirtualWorkspace;\n}\n\ninterface VirtualWorkspace {\n  uid: string;\n  item: Zotero.Item | undefined;\n  editor: Zotero.EditorInstance;\n\n  scrollEditorTo(options: { lineIndex?: number; sectionName?: string }): void;\n\n  toggleOutline(open?: boolean): void;\n\n  toggleContext(open?: boolean): void;\n\n  scrollToPane(key: string): void;\n\n  getPreviewEditor(itemID: number): EditorElement | undefined;\n}\n\nclass WorkspaceTab implements VirtualWorkspace {\n  uid: string;\n  _addon: typeof addon;\n\n  constructor(tabID: string) {\n    this.uid = tabID;\n    // @ts-ignore\n    this._addon = Zotero[config.addonInstance];\n  }\n\n  get _tabContent(): XULBoxElement {\n    const tabContent = Zotero.getMainWindow().document.querySelector(\n      `#${this.uid}`,\n    );\n    if (!tabContent) {\n      throw new Error(`WorkspaceTab: Tab content ${this.uid} not found.`);\n    }\n    return tabContent as XULBoxElement;\n  }\n\n  get item(): Zotero.Item | undefined {\n    return Zotero.Items.get(\n      Zotero.getMainWindow().Zotero_Tabs.getTabInfo(this.uid).data.itemID,\n    );\n  }\n\n  get editor(): Zotero.EditorInstance {\n    return Zotero.Notes.getByTabID(this.uid)!;\n  }\n\n  scrollEditorTo(options: { lineIndex?: number; sectionName?: string }): void {\n    if (typeof options.lineIndex === \"number\") {\n      this._addon.api.editor.scroll(this.editor, options.lineIndex);\n    }\n    if (typeof options.sectionName === \"string\") {\n      this._addon.api.editor.scrollToSection(this.editor, options.sectionName);\n    }\n  }\n\n  toggleContext(open?: boolean): void {\n    Zotero.getMainWindow().ZoteroContextPane.collapsed = !open;\n  }\n\n  toggleOutline(width?: number): void;\n  toggleOutline(open?: boolean): void;\n  toggleOutline(param?: boolean | number): void {\n    const win = Zotero.getMainWindow();\n    const outlineContainer = this._tabContent.querySelector(\n      \"#bn-outline-container\",\n    ) as OutlinePane;\n\n    if (!outlineContainer) {\n      return;\n    }\n\n    let open: boolean;\n    let width: number | false = false;\n    if (typeof param === \"number\") {\n      open = param > 0;\n      width = param;\n    } else {\n      open = param ?? outlineContainer?.getAttribute(\"collapsed\") === \"true\";\n    }\n\n    outlineContainer.setAttribute(\"collapsed\", open ? \"false\" : \"true\");\n    if (typeof width === \"number\") {\n      outlineContainer.style.width = `${width}px`;\n    }\n    // @ts-ignore\n    this._tabContent.sidebarWidth = param;\n    win.Zotero_Tabs.updateSidebarLayout({ width: param });\n    win.ZoteroContextPane.update();\n\n    this.updateToggleOutlineButton();\n  }\n\n  updateToggleOutlineButton(): void {\n    const open =\n      Zotero.getMainWindow().Zotero_Tabs.getSidebarState(\"note\").open;\n    const toggleButtonInEditor =\n      this.editor?._iframeWindow?.document?.querySelector(\n        \".toolbar-button.bn-toggle-left-pane\",\n      ) as HTMLElement;\n    if (toggleButtonInEditor) {\n      toggleButtonInEditor.style.display = open ? \"none\" : \"inherit\";\n    }\n    // We don't need to hide the outline button in the outline pane,\n    // because it's hidden when outline pane is collapsed.\n  }\n\n  scrollToPane(key: string) {\n    const itemDetails =\n      Zotero.getMainWindow().ZoteroContextPane.context._getItemContext(\n        this.uid,\n      );\n    return itemDetails.scrollToPane(key);\n  }\n\n  getPreviewEditor(itemID: number): EditorElement | undefined {\n    const itemDetails =\n      Zotero.getMainWindow().ZoteroContextPane.context._getItemContext(\n        this.uid,\n      );\n    return itemDetails.querySelector(\n      `note-editor[data-id=\"${itemID}\"]`,\n    ) as EditorElement;\n  }\n}\n"
  },
  {
    "path": "src/utils/ztoolkit.ts",
    "content": "import {\n  BasicTool,\n  UITool,\n  MenuManager,\n  ClipboardHelper,\n  FilePickerHelper,\n  ProgressWindowHelper,\n  VirtualizedTableHelper,\n  DialogHelper,\n  LargePrefHelper,\n  GuideHelper,\n  unregister,\n} from \"zotero-plugin-toolkit\";\nimport { config } from \"../../package.json\";\n\nexport { createZToolkit };\n\nfunction createZToolkit() {\n  const _ztoolkit = new MyToolkit();\n  /**\n   * Alternatively, import toolkit modules you use to minify the plugin size.\n   * You can add the modules under the `MyToolkit` class below and uncomment the following line.\n   */\n  // const _ztoolkit = new MyToolkit();\n  initZToolkit(_ztoolkit);\n  return _ztoolkit;\n}\n\nfunction initZToolkit(_ztoolkit: ReturnType<typeof createZToolkit>) {\n  const env = __env__;\n  _ztoolkit.basicOptions.log.prefix = `[${config.addonName}]`;\n  _ztoolkit.basicOptions.log.disableConsole = env === \"production\";\n  _ztoolkit.UI.basicOptions.ui.enableElementJSONLog = env === \"development\";\n  _ztoolkit.UI.basicOptions.ui.enableElementDOMLog = env === \"development\";\n  _ztoolkit.basicOptions.debug.disableDebugBridgePassword =\n    env === \"development\";\n  _ztoolkit.ProgressWindow.setIconURI(\n    \"default\",\n    `chrome://${config.addonRef}/content/icons/favicon.png`,\n  );\n}\n\nclass MyToolkit extends BasicTool {\n  UI: UITool;\n  Menu: MenuManager;\n  Clipboard: typeof ClipboardHelper;\n  FilePicker: typeof FilePickerHelper;\n  ProgressWindow: typeof ProgressWindowHelper;\n  VirtualizedTable: typeof VirtualizedTableHelper;\n  Dialog: typeof DialogHelper;\n  LargePref: typeof LargePrefHelper;\n  Guide: typeof GuideHelper;\n\n  constructor() {\n    super();\n    this.UI = new UITool(this);\n    this.Menu = new MenuManager(this);\n    this.Clipboard = ClipboardHelper;\n    this.FilePicker = FilePickerHelper;\n    this.ProgressWindow = ProgressWindowHelper;\n    this.VirtualizedTable = VirtualizedTableHelper;\n    this.Dialog = DialogHelper;\n    this.LargePref = LargePrefHelper;\n    this.Guide = GuideHelper;\n  }\n\n  unregisterAll() {\n    unregister(this);\n  }\n}\n"
  },
  {
    "path": "test/tests/export.spec.ts",
    "content": "import { ClipboardHelper } from \"zotero-plugin-toolkit\";\nimport { getAddon } from \"../utils/global\";\nimport { resetAll } from \"../utils/status\";\nimport {\n  getNoteContent,\n  getNoteLatexContent,\n  getNoteMarkdown,\n  getNoteLatex,\n  parseTemplateString,\n} from \"../utils/note\";\nimport { getTempDirectory } from \"../utils/io\";\n\ndescribe(\"Export\", function () {\n  const addon = getAddon();\n  this.beforeAll(async function () {\n    await resetAll();\n  });\n\n  this.afterEach(async function () {});\n\n  it(\"api.$export.saveMD\", async function () {\n    const note = new Zotero.Item(\"note\");\n    note.setNote(getNoteContent());\n    await note.saveTx();\n\n    const tempDir = await getTempDirectory();\n\n    const filePath = PathUtils.join(tempDir, \"test.md\");\n\n    await addon.api.$export.saveMD(filePath, note.id, {\n      keepNoteLink: true,\n      withYAMLHeader: false,\n    });\n\n    debug(\"Note saved to\", filePath);\n\n    const content = await Zotero.File.getContentsAsync(filePath);\n\n    const expected = getNoteMarkdown();\n\n    // new ClipboardHelper()\n    //   .addText(parseTemplateString(content as string), \"text/plain\")\n    //   .addText(parseTemplateString(expected), \"text/html\")\n    //   .copy();\n\n    assert.equal(content, expected);\n\n    await Zotero.Items.erase(note.id);\n  });\n\n  it(\"api.$export.saveLatex\", async function () {\n    const note = new Zotero.Item(\"note\");\n    note.setNote(getNoteLatexContent());\n    await note.saveTx();\n\n    const tempDir = await getTempDirectory();\n\n    const filePath = PathUtils.join(tempDir, \"test.tex\");\n\n    await addon.api.$export.saveLatex(filePath, note.id);\n\n    debug(\"Note saved to\", filePath);\n\n    const content = await Zotero.File.getContentsAsync(filePath);\n\n    const expected = getNoteLatex();\n\n    assert.equal(content, expected);\n\n    await Zotero.Items.erase(note.id);\n  });\n});\n"
  },
  {
    "path": "test/tests/import.spec.ts",
    "content": "import { ClipboardHelper, wait } from \"zotero-plugin-toolkit\";\nimport { getAddon } from \"../utils/global\";\nimport { resetAll } from \"../utils/status\";\nimport {\n  getNoteContent,\n  getNoteMarkdown,\n  parseTemplateString,\n} from \"../utils/note\";\nimport { getTempDirectory } from \"../utils/io\";\nimport { waitForItemModifyEvent, waitForNoteWindow } from \"../utils/wait\";\n\ndescribe(\"Import\", function () {\n  const addon = getAddon();\n  this.beforeAll(async function () {\n    await resetAll();\n  });\n\n  this.afterEach(async function () {});\n\n  it(\"api.$import.fromMD\", async function () {\n    const note = new Zotero.Item(\"note\");\n    await note.saveTx();\n\n    const tempDir = await getTempDirectory();\n\n    const filePath = PathUtils.join(tempDir, \"test.md\");\n\n    await Zotero.File.putContentsAsync(filePath, getNoteMarkdown());\n\n    debug(\"Note saved to\", filePath);\n\n    let itemModifyPromise = waitForItemModifyEvent(note.id);\n\n    await addon.api.$import.fromMD(filePath, {\n      noteId: note.id,\n      ignoreVersion: true,\n    });\n\n    await itemModifyPromise;\n\n    await Zotero.getActiveZoteroPane().selectItem(note.id);\n\n    // Wait for the editor to be ready\n    await wait.waitUtilAsync(() => {\n      return !!addon.api.editor.getEditorInstance(note.id);\n    });\n\n    itemModifyPromise = waitForItemModifyEvent(note.id);\n    const editor = addon.api.editor.getEditorInstance(note.id);\n    assert.exists(editor);\n\n    addon.api.editor.insert(editor, \"<p>temp</p>\", \"start\");\n    const start = addon.api.editor.getPositionAtLine(editor, 0, \"start\");\n    const end = addon.api.editor.getPositionAtLine(editor, 0, \"end\");\n    addon.api.editor.del(editor, start, end);\n\n    editor?.saveSync();\n\n    // It's possible that the modify event is not fired because nothing changed since Zotero 8\n    await Promise.race([itemModifyPromise, Zotero.Promise.delay(1000)]);\n\n    const content = note.getNote();\n    const expected = getNoteContent()\n      // Exception: This will be merged into a single line, due to `li` tag behavior\n      .replace(\n        `<p>Item 2</p>\n<p>Continuation of item 2 without proper indentation.</p>`,\n        \"Item 2Continuation of item 2 without proper indentation.\",\n      );\n\n    // new ClipboardHelper()\n    //   .addText(parseTemplateString(content), \"text/plain\")\n    //   .addText(parseTemplateString(expected), \"text/html\")\n    //   .copy();\n\n    assert.equal(content, expected);\n\n    // Cleanup\n    await Zotero.Items.erase(note.id);\n  });\n});\n"
  },
  {
    "path": "test/tests/startup.spec.ts",
    "content": "import { getAddon } from \"../utils/global\";\n\ndescribe(\"Startup\", function () {\n  it(\"should have plugin instance defined\", function () {\n    assert.isNotEmpty(getAddon());\n  });\n});\n"
  },
  {
    "path": "test/tests/template.spec.ts",
    "content": "/* eslint-disable no-useless-escape */\n/* eslint-disable no-irregular-whitespace */\nimport { ClipboardHelper } from \"zotero-plugin-toolkit\";\nimport { getAddon } from \"../utils/global\";\nimport { resetAll } from \"../utils/status\";\nimport { getNoteContent, parseTemplateString } from \"../utils/note\";\n\ndescribe(\"Template\", function () {\n  const addon = getAddon();\n  this.beforeAll(async function () {\n    await resetAll();\n  });\n\n  this.afterEach(async function () {});\n\n  it(\"hooks.onImportTemplateFromClipboard\", async function () {\n    const key = importTemplate();\n    assert.isNotEmpty(key);\n    addon.api.template.removeTemplate(key);\n  });\n\n  it(\"api.template.getTemplateText\", async function () {\n    const key = importTemplate();\n    assert.isNotEmpty(addon.api.template.getTemplateText(key!));\n    addon.api.template.removeTemplate(key);\n  });\n\n  it(\"api.template.getTemplateText\", async function () {\n    const key = importTemplate();\n    assert.isTrue(addon.api.template.getTemplateKeys().includes(key!));\n    addon.api.template.removeTemplate(key);\n  });\n\n  it(\"api.template.removeTemplate\", async function () {\n    const key = importTemplate();\n    assert.isNotEmpty(key);\n    addon.api.template.removeTemplate(key!);\n    assert.isFalse(addon.api.template.getTemplateKeys().includes(key!));\n  });\n\n  it(\"api.template.renderTemplatePreview\", async function () {\n    const key = importTemplate();\n    const preview = await addon.api.template.renderTemplatePreview(key!);\n    const expected = `<div data-schema-version=\"9\"><h1>Markdown Test Document</h1>\n<h2>Headers</h2>\n<h1>H1 Header</h1>\n<h2>H2 Header</h2>\n<h3>H3 Header</h3>\n<h4>H4 Header</h4>\n<h5>H5 Header</h5>\n<h6>H6 Header</h6>\n<h2>Emphasis</h2>\n<p><em>This text is italicized.</em> <em>This text is also italicized.</em></p>\n<p><strong>This text is bold.</strong> <strong>This text is also bold.</strong></p>\n<p><strong><em>This text is bold and italicized.</em></strong> <strong><em>This text is also bold and italicized.</em></strong></p>\n<h2>Links</h2>\n<p><a href=\"https://example.com\" title=\"Title\" rel=\"noopener noreferrer nofollow\">Link with title</a> <a href=\"https://example.com\" rel=\"noopener noreferrer nofollow\">Link without title</a></p>\n<h2>Images</h2>\n<h2>Blockquotes</h2>\n<blockquote>\n<p>This is a blockquote.</p>\n<blockquote>\n<p>Nested blockquote.</p>\n</blockquote>\n<p>Back to the outer blockquote.</p>\n</blockquote>\n<h2>Lists</h2>\n<h3>Unordered List</h3>\n<ul>\n<li>\n<p>Item 1</p>\n<ul>\n<li>\n<p>Subitem 1.1</p>\n<ul>\n<li>\nSubitem 1.1.1\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\nItem 2\n</li>\n</ul>\n<h3>Ordered List</h3>\n<ol>\n<li>\n<p>First item</p>\n<ol>\n<li>\n<p>Subitem 1.1</p>\n<ol>\n<li>\nSubitem 1.1.1\n</li>\n</ol>\n</li>\n</ol>\n</li>\n<li>\nSecond item\n</li>\n</ol>\n<h2>Code</h2>\n<h3>Inline Code</h3>\n<p>Here is some <code>inline code</code>.</p>\n<h3>Code Block</h3>\n<pre>def hello_world():\n &nbsp; &nbsp;print(\"Hello, world!\")</pre>\n<h2>Horizontal Rules</h2>\n<hr>\n<p>This is text between horizontal rules</p>\n<hr>\n<h2>Tables</h2>\n<table>\n<tbody>\n<tr>\n<th>\n<p>Header 1</p>\n</th>\n<th>\n<p>Header 2</p>\n</th>\n<th>\n<p>Header 3</p>\n</th>\n</tr>\n<tr>\n<td>\n<p>Row 1</p>\n</td>\n<td>\n<p>Data 1.2</p>\n</td>\n<td>\n<p>Data 1.3</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Row 2</p>\n</td>\n<td>\n<p>Data 2.2</p>\n</td>\n<td>\n<p>Data 2.3</p>\n</td>\n</tr>\n</tbody>\n</table>\n<h2>Math</h2>\n<h3>Inline Math</h3>\n<p>This is an inline math equation: <span class=\"math\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>E</mi><mo>=</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup></mrow><annotation encoding=\"application/x-tex\">E = mc^2</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.05764em;\">E</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.8141em;\"></span><span class=\"mord mathnormal\">m</span><span class=\"mord\"><span class=\"mord mathnormal\">c</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span></span></span></span></span>.</p>\n<h3>Block Math</h3>\n<p>Below is a block math equation:</p>\n<pre class=\"math\"><span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\" display=\"block\"><semantics><mrow><msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mi>f</mi><mo stretchy=\"false\">(</mo><mi>x</mi><mo stretchy=\"false\">)</mo><mtext> </mtext><mi>d</mi><mi>x</mi><mo>=</mo><mi>F</mi><mo stretchy=\"false\">(</mo><mi>b</mi><mo stretchy=\"false\">)</mo><mo>−</mo><mi>F</mi><mo stretchy=\"false\">(</mo><mi>a</mi><mo stretchy=\"false\">)</mo></mrow><annotation encoding=\"application/x-tex\">\\\\int_a^b f(x) \\\\, dx = F(b) - F(a)</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:2.511em;vertical-align:-0.9119em;\"></span><span class=\"mop\"><span class=\"mop op-symbol large-op\" style=\"margin-right:0.44445em;position:relative;top:-0.0011em;\">∫</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:1.599em;\"><span style=\"top:-1.7881em;margin-left:-0.4445em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">a</span></span></span><span style=\"top:-3.8129em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">b</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.9119em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.10764em;\">f</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.13889em;\">F</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">b</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.13889em;\">F</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">a</span><span class=\"mclose\">)</span></span></span></span></span></pre>\n<h3>Complex Math</h3>\n<p>Solve the quadratic equation:</p>\n<pre class=\"math\"><span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\" display=\"block\"><semantics><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo>−</mo><mi>b</mi><mo>±</mo><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow><annotation encoding=\"application/x-tex\">x = \\\\frac{-b \\\\pm \\\\sqrt{b^2 - 4ac}}{2a}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:2.2764em;vertical-align:-0.686em;\"></span><span class=\"mord\"><span class=\"mopen nulldelimiter\"></span><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:1.5904em;\"><span style=\"top:-2.314em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"mord\"><span class=\"mord\">2</span><span class=\"mord mathnormal\">a</span></span></span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"></span></span><span style=\"top:-3.677em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"mord\"><span class=\"mord\">−</span><span class=\"mord mathnormal\">b</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">±</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mord sqrt\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.9134em;\"><span class=\"svg-align\" style=\"top:-3em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"mord\" style=\"padding-left:0.833em;\"><span class=\"mord\"><span class=\"mord mathnormal\">b</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.7401em;\"><span style=\"top:-2.989em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mord\">4</span><span class=\"mord mathnormal\">a</span><span class=\"mord mathnormal\">c</span></span></span><span style=\"top:-2.8734em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"hide-tail\" style=\"min-width:0.853em;height:1.08em;\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"400em\" height=\"1.08em\" viewBox=\"0 0 400000 1080\" preserveAspectRatio=\"xMinYMin slice\"><path d=\"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z\"></path></svg></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1266em;\"><span></span></span></span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.686em;\"><span></span></span></span></span></span><span class=\"mclose nulldelimiter\"></span></span></span></span></span></span></pre>\n<h2>Nested Elements</h2>\n<h3>Nested Code and Lists</h3>\n<ol>\n<li>\n<p>Ordered list item</p>\n<ul>\n<li>\n<p>Unordered subitem</p>\n<pre>console.log(\"Nested code block\");</pre>\n</li>\n</ul>\n</li>\n<li>\n<p>This is a nested math</p>\n<pre class=\"math\"><span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\" display=\"block\"><semantics><mrow><mi>y</mi><mo>=</mo><msup><mi>x</mi><mn>2</mn></msup></mrow><annotation encoding=\"application/x-tex\">y=x^2</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.03588em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.8641em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span></span></span></span></span></pre>\n</li>\n<li>\nThis is a inline math<span class=\"math\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>123</mn></mrow><annotation encoding=\"application/x-tex\">123</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">123</span></span></span></span></span> with space in list item test\n</li>\n<li>\n<p>This is a line table</p>\n<table>\n<tbody>\n<tr>\n<td>\n<p>1</p>\n</td>\n<td>\n<p>2</p>\n</td>\n<td>\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>4</p>\n</td>\n<td>\n<p>5</p>\n</td>\n<td>\n<p>6</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>7</p>\n</td>\n<td>\n<p>8</p>\n</td>\n<td>\n<p>9</p>\n</td>\n</tr>\n</tbody>\n</table>\n</li>\n</ol>\n<h2>Special Characters</h2>\n<p>Escape sequences for special characters: * _ \\` [ ] ( ) # + - .</p>\n<h2>HTML in Markdown</h2>\n<p>This is a HTML block inside Markdown.</p>\n<h2>Highlight Text</h2>\n<p>Highlight <span style=\"background-color: rgb(255, 102, 102);\">text</span> is here</p>\n<h2>Colored Text</h2>\n<p>Colored <span style=\"color: rgb(255, 32, 32);\">text</span> is here</p>\n<h2>Task Lists</h2>\n<ul>\n<li>\nCompleted item\n</li>\n<li>\nIncomplete item\n</li>\n</ul>\n<h2>Strikethrough</h2>\n<p><span style=\"text-decoration: line-through;\">This text is strikethrough.</span></p>\n<h2>Recursive Elements</h2>\n<h3>Recursive Links and Emphasis</h3>\n<p><strong><a href=\"https://example.com\" rel=\"noopener noreferrer nofollow\">Bold link</a></strong></p>\n<h3>Recursive Emphasis</h3>\n<p><strong><em>Bold and nested italic within bold.</em></strong></p>\n<h2>Image</h2>\n<p>IMAGE_PLACEHOLDER</p>\n<h2>Citation</h2>\n<p>CITATION_PLACEHOLDER</p>\n<h2>Edge Cases</h2>\n<h3>Empty Link</h3>\n<p><a href=\"https://\" rel=\"noopener noreferrer nofollow\">Link</a></p>\n<h3>Zotero Link</h3>\n<p><a href=\"zotero://note/u/123456\" rel=\"noopener noreferrer nofollow\">Zotero Link</a></p>\n<h3>Lone Asterisk</h3>\n<ul>\n<li>\nThis should not be italic.\n</li>\n</ul>\n<h3>Broken Lists</h3>\n<ul>\n<li>\n<p>Item 1</p>\n<ul>\n<li>\n<p>Item 2</p>\n<p>Continuation of item 2 without proper indentation.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3>Long Text Wrapping</h3>\n<p>This is a very long paragraph that does not have any line breaks and is intended to test how the Markdown engine handles text wrapping when there are no explicit line breaks within the text.</p>\n<hr>\n<h2>Conclusion</h2>\n<p>This document contains a wide range of Markdown elements, including headers, lists, blockquotes, inline and block code, tables, images, links, math, and special characters. It also tests recursive and edge cases to ensure the Markdown engine is robust.</p>\n</div>`;\n    // debug(preview);\n    // If the template changes, update the expected value by copying the expected value\n    // new ClipboardHelper().addText(parseTemplateString(preview)).copy();\n    assert.equal(preview, expected);\n    addon.api.template.removeTemplate(key);\n  });\n\n  it(\"api.template.runTextTemplate\", async function () {\n    addon.api.template.setTemplate({\n      name: \"[text]Test\",\n      text: \"<h1>Test</h1>\\n<p>${targetNoteItem.id}</p>\",\n    });\n    const note = new Zotero.Item(\"note\");\n    await note.saveTx();\n    const html = await addon.api.template.runTextTemplate(\"[text]Test\", {\n      targetNoteId: note.id,\n    });\n    assert.equal(html, `<h1>Test</h1>\\n<p>${note.id}</p>`);\n    await Zotero.Items.erase(note.id);\n    addon.api.template.removeTemplate(\"[text]Test\");\n  });\n\n  it(\"api.template.runItemTemplate\", async function () {\n    // Also test the use of Markdown pragma\n    addon.api.template.setTemplate({\n      name: \"[item]Test\",\n      text: `\n// @beforeloop-begin\n// @use-markdown\n# Hi! This only renders once\n// @beforeloop-end\n// @default-begin\n<p>Title: <span style=\"color: #ffcb00\">]\\${topItem.getField(\"title\")}</span></p>\n\\${{\n    const note = Zotero.Items.get(targetNoteItem.id);\n    return \"<p>\" + note.id + \"</p>\";\n}}$\n// @default-end\n// @afterloop-begin\n> Done! But Markdown is not rendered correctly. Try to add \n\\`// @use-markdown\\` pragma before this line.\n// @afterloop-end\n`,\n    });\n    const items = [];\n    for (let i = 0; i < 3; i++) {\n      const item = new Zotero.Item(\"book\");\n      item.setField(\"title\", `Title ${i}`);\n      await item.saveTx();\n      items.push(item);\n    }\n    const note = new Zotero.Item(\"note\");\n    await note.saveTx();\n    const html = await addon.api.template.runItemTemplate(\"[item]Test\", {\n      itemIds: items.map((item) => item.id),\n      targetNoteId: note.id,\n    });\n    const expected = `<h1>Hi! This only renders once</h1>\n<p>Title: <span style=\"color: #ffcb00\">]Title 0</span></p>\n<p>${note.id}</p>\n<p>Title: <span style=\"color: #ffcb00\">]Title 1</span></p>\n<p>${note.id}</p>\n<p>Title: <span style=\"color: #ffcb00\">]Title 2</span></p>\n<p>${note.id}</p>\n> Done! But Markdown is not rendered correctly. Try to add \n`;\n\n    // new ClipboardHelper()\n    //   .addText(parseTemplateString(html), \"text/plain\")\n    //   .addText(parseTemplateString(expected), \"text/html\")\n    //   .copy();\n\n    assert.equal(html, expected);\n    for (const item of items) {\n      await Zotero.Items.erase(item.id);\n    }\n    await Zotero.Items.erase(note.id);\n    addon.api.template.removeTemplate(\"[item]Test\");\n  });\n});\n\nfunction importTemplate() {\n  const shareCode = `\n# This template is specifically for importing/sharing, using better \n# notes 'import from clipboard': copy the content and\n# goto Zotero menu bar, click Tools->New Template from Clipboard.  \n# Do not copy-paste this to better notes template editor directly.\nname: \"[text]TestGen\"\nzoteroVersion: \"7.0.12-beta.1+31bbf2acf\"\npluginVersion: \"2.2.3-beta.2\"\nsavedAt: \"2025-01-06T09:12:14.939Z\"\ncontent: |-\n${getNoteContent()\n  .split(\"\\n\")\n  .map((line) => `  ${line}`)\n  .join(\"\\n\")}\n`;\n  return getAddon().hooks.onImportTemplateFromClipboard(shareCode, {\n    quiet: true,\n  });\n}\n"
  },
  {
    "path": "test/tests/workspace.spec.ts",
    "content": "import { BasicTool } from \"zotero-plugin-toolkit\";\nimport { waitForNoteWindow, waitForTabSelectEvent } from \"../utils/wait\";\nimport { resetAll } from \"../utils/status\";\n\ndescribe(\"Workspace\", function () {\n  const tool = new BasicTool();\n\n  this.beforeAll(async function () {\n    await resetAll();\n  });\n\n  this.afterEach(async function () {\n    await resetAll();\n  });\n\n  it(\"should open note in tab\", async function () {\n    const note = new Zotero.Item(\"note\");\n    await note.saveTx();\n\n    const promise = waitForTabSelectEvent();\n\n    // An example of how to debug the test\n    debug(\"Calling viewItems\");\n\n    tool.getGlobal(\"ZoteroPane\").viewItems([note]);\n    await promise;\n\n    const selectedID = tool.getGlobal(\"Zotero_Tabs\").selectedID;\n    const selectedTab = tool.getGlobal(\"Zotero_Tabs\")._getTab(selectedID);\n\n    expect(selectedTab.tab.data.itemID).to.be.equal(note.id);\n  });\n\n  it(\"should open note in window if shift key is pressed\", async function () {\n    const note = new Zotero.Item(\"note\");\n    await note.saveTx();\n\n    const promise = waitForNoteWindow();\n\n    tool.getGlobal(\"ZoteroPane\").viewItems([note], { shiftKey: true });\n    const win = await promise;\n\n    expect(win).to.be.not.null;\n\n    const editor = win!.document.querySelector(\n      \"#zotero-note-editor\",\n    ) as EditorElement;\n\n    expect(editor).to.be.not.null;\n\n    expect(editor.item?.id).to.be.equal(note.id);\n  });\n});\n"
  },
  {
    "path": "test/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"types\": [\"mocha\", \"chai\", \"zotero-types\"]\n  },\n  \"extends\": \"../tsconfig.json\",\n  \"include\": [\"./**/*.ts\", \"typings\"],\n  \"exclude\": []\n}\n"
  },
  {
    "path": "test/typings/editor.d.ts",
    "content": "/* eslint-disable @typescript-eslint/ban-types */\ndeclare interface EditorCore {\n  debouncedUpdate: Function;\n  disableDrag: boolean;\n  docChanged: boolean;\n  isAttachmentNote: false;\n  metadata: {\n    _citationItems: { itemData: { [k: string]: any } }[];\n    uris: string[];\n  };\n  nodeViews: any[];\n  onUpdateState: Function;\n  options: {\n    isAttachmentNote: false;\n    onImportImages: Function;\n    onInsertObject: Function;\n    onOpenAnnotation: Function;\n    onOpenCitationPage: Function;\n    onOpenCitationPopup: Function;\n    onOpenContextMenu: Function;\n    onOpenURL: Function;\n    onShowCitationItem: Function;\n    onSubscribe: Function;\n    onUnsubscribe: Function;\n    onUpdate: Function;\n    onUpdateCitationItemsList: Function;\n    placeholder: boolean;\n    readOnly: boolean;\n    reloaded: boolean;\n    smartQuotes: boolean;\n    unsaved: boolean;\n    value: string;\n  };\n  pluginState: { [k: string]: any };\n  provider: import(\"react\").Provider;\n  readOnly: boolean;\n  reloaded: boolean;\n  view: import(\"prosemirror-view\").EditorView & {\n    docView: NodeViewDesc;\n  };\n}\n\ndeclare type EditorAPI =\n  typeof import(\"../src/extras/editorScript\").BetterNotesEditorAPI;\n\ndeclare interface EditorElement extends XULBoxElement {\n  _iframe: HTMLIFrameElement;\n  _editorInstance: Zotero.EditorInstance;\n  _initialized?: boolean;\n  mode?: \"edit\" | \"view\";\n  viewMode?: string;\n  parent?: Zotero.Item;\n  item?: Zotero.Item;\n  getCurrentInstance(): Zotero.EditorInstance;\n  initEditor(): Promise<void>;\n}\n"
  },
  {
    "path": "test/typings/global.d.ts",
    "content": "import type * as chai from \"chai\";\n\ndeclare global {\n  const expect: typeof chai.expect;\n  const assert: typeof chai.assert;\n  const debug: (...data: any[]) => void;\n}\n"
  },
  {
    "path": "test/utils/global.ts",
    "content": "import { config } from \"../../package.json\";\n\nexport { getAddon };\n\nfunction getAddon(): import(\"../../src/addon\").default {\n  // @ts-ignore - plugin instance\n  return Zotero[config.addonRef];\n}\n"
  },
  {
    "path": "test/utils/io.ts",
    "content": "export async function getTempDirectory() {\n  let path = \"\";\n  let attempts = 3;\n  const zoteroTmpDirPath = Zotero.getTempDirectory().path;\n  while (attempts--) {\n    path = PathUtils.join(zoteroTmpDirPath, Zotero.Utilities.randomString());\n    try {\n      await IOUtils.makeDirectory(path, { ignoreExisting: false });\n      break;\n    } catch (e) {\n      if (!attempts) throw e; // Throw on last attempt\n    }\n  }\n\n  return path;\n}\n"
  },
  {
    "path": "test/utils/note.ts",
    "content": "/* eslint-disable no-irregular-whitespace */\n/* eslint-disable no-useless-escape */\n\nexport function getNoteContent() {\n  return `<div data-schema-version=\"9\"><h1>Markdown Test Document</h1>\n<h2>Headers</h2>\n<h1>H1 Header</h1>\n<h2>H2 Header</h2>\n<h3>H3 Header</h3>\n<h4>H4 Header</h4>\n<h5>H5 Header</h5>\n<h6>H6 Header</h6>\n<h2>Emphasis</h2>\n<p><em>This text is italicized.</em> <em>This text is also italicized.</em></p>\n<p><strong>This text is bold.</strong> <strong>This text is also bold.</strong></p>\n<p><strong><em>This text is bold and italicized.</em></strong> <strong><em>This text is also bold and italicized.</em></strong></p>\n<h2>Links</h2>\n<p><a href=\"https://example.com\" title=\"Title\" rel=\"noopener noreferrer nofollow\">Link with title</a> <a href=\"https://example.com\" rel=\"noopener noreferrer nofollow\">Link without title</a></p>\n<h2>Images</h2>\n<h2>Blockquotes</h2>\n<blockquote>\n<p>This is a blockquote.</p>\n<blockquote>\n<p>Nested blockquote.</p>\n</blockquote>\n<p>Back to the outer blockquote.</p>\n</blockquote>\n<h2>Lists</h2>\n<h3>Unordered List</h3>\n<ul>\n<li>\n<p>Item 1</p>\n<ul>\n<li>\n<p>Subitem 1.1</p>\n<ul>\n<li>\nSubitem 1.1.1\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\nItem 2\n</li>\n</ul>\n<h3>Ordered List</h3>\n<ol>\n<li>\n<p>First item</p>\n<ol>\n<li>\n<p>Subitem 1.1</p>\n<ol>\n<li>\nSubitem 1.1.1\n</li>\n</ol>\n</li>\n</ol>\n</li>\n<li>\nSecond item\n</li>\n</ol>\n<h2>Code</h2>\n<h3>Inline Code</h3>\n<p>Here is some <code>inline code</code>.</p>\n<h3>Code Block</h3>\n<pre>def hello_world():\n &nbsp; &nbsp;print(\"Hello, world!\")</pre>\n<h2>Horizontal Rules</h2>\n<hr>\n<p>This is text between horizontal rules</p>\n<hr>\n<h2>Tables</h2>\n<table>\n<tbody>\n<tr>\n<th>\n<p>Header 1</p>\n</th>\n<th>\n<p>Header 2</p>\n</th>\n<th>\n<p>Header 3</p>\n</th>\n</tr>\n<tr>\n<td>\n<p>Row 1</p>\n</td>\n<td>\n<p>Data 1.2</p>\n</td>\n<td>\n<p>Data 1.3</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Row 2</p>\n</td>\n<td>\n<p>Data 2.2</p>\n</td>\n<td>\n<p>Data 2.3</p>\n</td>\n</tr>\n</tbody>\n</table>\n<h2>Math</h2>\n<h3>Inline Math</h3>\n<p>This is an inline math equation: <span class=\"math\">$E = mc^2$</span>.</p>\n<h3>Block Math</h3>\n<p>Below is a block math equation:</p>\n<pre class=\"math\">$$\\\\\\\\int_a^b f(x) \\\\\\\\, dx = F(b) - F(a)$$</pre>\n<h3>Complex Math</h3>\n<p>Solve the quadratic equation:</p>\n<pre class=\"math\">$$x = \\\\\\\\frac{-b \\\\\\\\pm \\\\\\\\sqrt{b^2 - 4ac}}{2a}$$</pre>\n<h2>Nested Elements</h2>\n<h3>Nested Code and Lists</h3>\n<ol>\n<li>\n<p>Ordered list item</p>\n<ul>\n<li>\n<p>Unordered subitem</p>\n<pre>console.log(\"Nested code block\");</pre>\n</li>\n</ul>\n</li>\n<li>\n<p>This is a nested math</p>\n<pre class=\"math\">$$y=x^2$$</pre>\n</li>\n<li>\nThis is a inline math<span class=\"math\">$123$</span> with space in list item test\n</li>\n<li>\n<p>This is a line table</p>\n<table>\n<tbody>\n<tr>\n<td>\n<p>1</p>\n</td>\n<td>\n<p>2</p>\n</td>\n<td>\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>4</p>\n</td>\n<td>\n<p>5</p>\n</td>\n<td>\n<p>6</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>7</p>\n</td>\n<td>\n<p>8</p>\n</td>\n<td>\n<p>9</p>\n</td>\n</tr>\n</tbody>\n</table>\n</li>\n</ol>\n<h2>Special Characters</h2>\n<p>Escape sequences for special characters: * _ \\\\\\` [ ] ( ) # + - .</p>\n<h2>HTML in Markdown</h2>\n<p>This is a HTML block inside Markdown.</p>\n<h2>Highlight Text</h2>\n<p>Highlight <span style=\"background-color: rgba(255, 102, 102, 0.5);\">text</span> is here</p>\n<h2>Colored Text</h2>\n<p>Colored <span style=\"color: rgb(255, 32, 32);\">text</span> is here</p>\n<h2>Task Lists</h2>\n<ul>\n<li>\nCompleted item\n</li>\n<li>\nIncomplete item\n</li>\n</ul>\n<h2>Strikethrough</h2>\n<p><span style=\"text-decoration: line-through;\">This text is strikethrough.</span></p>\n<h2>Recursive Elements</h2>\n<h3>Recursive Links and Emphasis</h3>\n<p><strong><a href=\"https://example.com\" rel=\"noopener noreferrer nofollow\">Bold link</a></strong></p>\n<h3>Recursive Emphasis</h3>\n<p><strong><em>Bold and nested italic within bold.</em></strong></p>\n<h2>Image</h2>\n<p>IMAGE_PLACEHOLDER</p>\n<h2>Citation</h2>\n<p>CITATION_PLACEHOLDER</p>\n<h2>Edge Cases</h2>\n<h3>Empty Link</h3>\n<p><a href=\"https://\" rel=\"noopener noreferrer nofollow\">Link</a></p>\n<h3>Zotero Link</h3>\n<p><a href=\"zotero://note/u/123456\" rel=\"noopener noreferrer nofollow\">Zotero Link</a></p>\n<h3>Lone Asterisk</h3>\n<ul>\n<li>\nThis should not be italic.\n</li>\n</ul>\n<h3>Broken Lists</h3>\n<ul>\n<li>\n<p>Item 1</p>\n<ul>\n<li>\n<p>Item 2</p>\n<p>Continuation of item 2 without proper indentation.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3>Long Text Wrapping</h3>\n<p>This is a very long paragraph that does not have any line breaks and is intended to test how the Markdown engine handles text wrapping when there are no explicit line breaks within the text.</p>\n<hr>\n<h2>Conclusion</h2>\n<p>This document contains a wide range of Markdown elements, including headers, lists, blockquotes, inline and block code, tables, images, links, math, and special characters. It also tests recursive and edge cases to ensure the Markdown engine is robust.</p>\n</div>`;\n}\n\nexport function getNoteMarkdown() {\n  return `# Markdown Test Document\n\n## Headers\n\n# H1 Header\n\n## H2 Header\n\n### H3 Header\n\n#### H4 Header\n\n##### H5 Header\n\n###### H6 Header\n\n## Emphasis\n\n*This text is italicized.* *This text is also italicized.*\n\n**This text is bold.** **This text is also bold.**\n\n***This text is bold and italicized.*** ***This text is also bold and italicized.***\n\n## Links\n\n[Link with title](https://example.com \"Title\") [Link without title](https://example.com)\n\n## Images\n\n## Blockquotes\n\n> This is a blockquote.\n>\n> > Nested blockquote.\n>\n> Back to the outer blockquote.\n\n## Lists\n\n### Unordered List\n\n*   Item 1\n\n    *   Subitem 1.1\n\n        *   Subitem 1.1.1\n\n*   Item 2\n\n### Ordered List\n\n1.  First item\n\n    1.  Subitem 1.1\n\n        1.  Subitem 1.1.1\n\n2.  Second item\n\n## Code\n\n### Inline Code\n\nHere is some \\`inline code\\`.\n\n### Code Block\n\n\\`\\`\\`\ndef hello_world():\n    print(\"Hello, world!\")\n\\`\\`\\`\n\n## Horizontal Rules\n\n***\n\nThis is text between horizontal rules\n\n***\n\n## Tables\n\n| Header 1 | Header 2 | Header 3 |\n| -------- | -------- | -------- |\n| Row 1    | Data 1.2 | Data 1.3 |\n| Row 2    | Data 2.2 | Data 2.3 |\n\n\n## Math\n\n### Inline Math\n\nThis is an inline math equation: \\$E = mc^2\\$.\n\n### Block Math\n\nBelow is a block math equation:\n\n\\$\\$\n\\\\\\\\int_a^b f(x) \\\\\\\\, dx = F(b) - F(a)\n\\$\\$\n\n### Complex Math\n\nSolve the quadratic equation:\n\n\\$\\$\nx = \\\\\\\\frac\\{-b \\\\\\\\pm \\\\\\\\sqrt\\{b^2 - 4ac\\}\\}\\{2a\\}\n\\$\\$\n\n## Nested Elements\n\n### Nested Code and Lists\n\n1.  Ordered list item\n\n    *   Unordered subitem\n\n        \\`\\`\\`\n        console.log(\"Nested code block\");\n        \\`\\`\\`\n\n2.  This is a nested math\n\n    \\$\\$\n    y=x^2\n    \\$\\$\n\n3.  This is a inline math \\$123\\$  with space in list item test\n\n4.  This is a line table\n\n    | <!-- --> | <!-- --> | <!-- --> |\n    | - | - | - |\n    | 1 | 2 | 3 |\n    | 4 | 5 | 6 |\n    | 7 | 8 | 9 |\n\n\n## Special Characters\n\nEscape sequences for special characters: \\\\* \\\\_ \\\\\\\\\\\\\\` \\\\[ ] ( ) # + - .\n\n## HTML in Markdown\n\nThis is a HTML block inside Markdown.\n\n## Highlight Text\n\nHighlight <span style=\"background-color: rgba(255, 102, 102, 0.5);\">text</span> is here\n\n## Colored Text\n\nColored <span style=\"color: rgb(255, 32, 32);\">text</span> is here\n\n## Task Lists\n\n*   Completed item\n*   Incomplete item\n\n## Strikethrough\n\n~~This text is strikethrough.~~\n\n## Recursive Elements\n\n### Recursive Links and Emphasis\n\n**[Bold link](https://example.com)**\n\n### Recursive Emphasis\n\n***Bold and nested italic within bold.***\n\n## Image\n\nIMAGE\\\\_PLACEHOLDER\n\n## Citation\n\nCITATION\\\\_PLACEHOLDER\n\n## Edge Cases\n\n### Empty Link\n\n[Link](https://)\n\n### Zotero Link\n\n[Zotero Link](zotero://note/u/123456)\n\n### Lone Asterisk\n\n*   This should not be italic.\n\n### Broken Lists\n\n*   Item 1\n\n    *   Item 2Continuation of item 2 without proper indentation.\n\n### Long Text Wrapping\n\nThis is a very long paragraph that does not have any line breaks and is intended to test how the Markdown engine handles text wrapping when there are no explicit line breaks within the text.\n\n***\n\n## Conclusion\n\nThis document contains a wide range of Markdown elements, including headers, lists, blockquotes, inline and block code, tables, images, links, math, and special characters. It also tests recursive and edge cases to ensure the Markdown engine is robust.\n`;\n}\n\nexport function getNoteLatexContent() {\n  return `<div data-schema-version=\"9\"><h1>LaTeX Test Document</h1>\n  <h2>Headers</h2>\n  <h1>H1 Header</h1>\n  <h2>H2 Header</h2>\n  <h3>H3 Header</h3>\n  <h4>H4 Header</h4>\n  <h5>H5 Header</h5>\n  <h6>H6 Header</h6>\n  <h2>Emphasis</h2>\n  <p><em>This text is italicized.</em> <em>This text is also italicized.</em></p>\n  <p><strong>This text is bold.</strong> <strong>This text is also bold.</strong></p>\n  <h2>Links</h2>\n  <p><a href=\"https://example.com\" title=\"Title\" rel=\"noopener noreferrer nofollow\">Link with title</a> <a href=\"https://example.com\" rel=\"noopener noreferrer nofollow\">Link without title</a></p>\n  <h2>Images</h2>\n  <h2>Lists</h2>\n  <h3>Unordered List</h3>\n  <ul>\n  <li>\n  <p>Item 1</p>\n  </li>\n  <li>\n  <p>Item 2</p>\n  </li>\n  <li>\n  Item 3\n  </li>\n  </ul>\n  <h3>Ordered List</h3>\n  <ol>\n  <li>\n  <p>First item</p>\n  </li>\n  <li>\n  <p>Second item</p>\n  </li>\n  <li>\n  Third item\n  </li>\n  </ol>\n  <h2>Tables</h2>\n  <table>\n  <tbody>\n  <tr>\n  <th>\n  <p>Header 1</p>\n  </th>\n  <th>\n  <p>Header 2</p>\n  </th>\n  <th>\n  <p>Header 3</p>\n  </th>\n  </tr>\n  <tr>\n  <td>\n  <p>Row 1</p>\n  </td>\n  <td>\n  <p>Data 1.2</p>\n  </td>\n  <td>\n  <p>Data 1.3</p>\n  </td>\n  </tr>\n  <tr>\n  <td>\n  <p>Row 2</p>\n  </td>\n  <td>\n  <p>Data 2.2</p>\n  </td>\n  <td>\n  <p>Data 2.3</p>\n  </td>\n  </tr>\n  </tbody>\n  </table>\n  <h2>Math</h2>\n  <h3>Inline Math</h3>\n  <p>This is an inline math equation: <span class=\"math\">$E = mc^2$</span>.</p>\n  <h3>Block Math</h3>\n  <p>Below is a block math equation:</p>\n  <pre class=\"math\">$$\\\\int_a^b f(x) \\\\, dx = F(b) - F(a)$$</pre>\n  <h3>Complex Math</h3>\n  <p>Solve the quadratic equation:</p>\n  <pre class=\"math\">$$x = \\\\frac{-b \\\\pm \\\\sqrt{b^2 - 4ac}}{2a}$$</pre>\n  <h2>Image</h2>\n  <p>IMAGE_PLACEHOLDER</p>\n  <h2>Citation</h2>\n  <p>CITATION_PLACEHOLDER</p>\n  <h2>Edge Cases</h2>\n  <h3>Long Text Wrapping</h3>\n  <p>This is a very long paragraph that does not have any line breaks and is intended to test how the LaTeX engine handles text wrapping when there are no explicit line breaks within the text.</p>\n  <h2>Conclusion</h2>\n  <p>This document contains a wide range of LaTeX elements, including headers, lists, tables, images, citations, links and math.</p>\n  </div>`;\n}\n\nexport function getNoteLatex() {\n  return `\\\\section{LaTeX Test Document}\n\\\\subsection{Headers}\n \\\\section{H1 Header}\n \\\\subsection{H2 Header}\n \\\\subsubsection{H3 Header}\n \\\\textbf{H4 Header}\n \\\\textbf{H5 Header}\n \\\\textbf{H6 Header}\n \\\\subsection{Emphasis}\n\n\n\\\\textit{This text is italicized.} \\\\textit{This text is also italicized.}\n\n\\\\textbf{This text is bold.} \\\\textbf{This text is also bold.}\n\n\\\\subsection{Links}\n\n\n\\\\href{https://example.com}{Link with title} \\\\href{https://example.com}{Link without title}\n\n\\\\subsection{Images}\n\\\\subsection{Lists}\n \\\\subsubsection{Unordered List}\n \\\\begin{itemize}\n\\\\item \n  Item 1\n  \n\\\\item\n  Item 2\n  \n\\\\item\n  Item 3\n   \n\\\\end{itemize}\\\\subsubsection{Ordered List}\n \\\\begin{enumerate}\n\\\\item \n  First item\n  \n\\\\item\n  Second item\n  \n\\\\item\n  Third item\n   \n\\\\end{enumerate}\\\\subsection{Tables}\n \\\\begin{table}[htbp]\n\\\\centering\n\\\\caption{Caption}\n\\\\label{tab:simple_table}\n\\\\begin{tabular}{|l|l|l|}\n\\\\hline\n\n  Header 1\n   & \n  Header 2\n   & \n  Header 3\n   \\\\\\\\\n\\\\hline\n\n  Row 1\n   & \n  Data 1.2\n   & \n  Data 1.3\n   \\\\\\\\\n\\\\hline\n\n  Row 2\n   & \n  Data 2.2\n   & \n  Data 2.3\n   \\\\\\\\\n\\\\hline\n\\\\end{tabular}\n\\\\end{table}\\\\subsection{Math}\n \\\\subsubsection{Inline Math}\n\n\nThis is an inline math equation: $E = mc^2$.\n\n\\\\subsubsection{Block Math}\n\n\nBelow is a block math equation:\n\n$$\n\\\\int_a^b f(x) \\\\, dx = F(b) - F(a)\n$$\n\n\\\\subsubsection{Complex Math}\n\n\nSolve the quadratic equation:\n\n$$\nx = \\\\frac{-b \\\\pm \\\\sqrt{b^2 - 4ac}}{2a}\n$$\n\n\\\\subsection{Image}\n\n\nIMAGE_PLACEHOLDER\n\n\\\\subsection{Citation}\n\n\nCITATION_PLACEHOLDER\n\n\\\\subsection{Edge Cases}\n\\\\subsubsection{Long Text Wrapping}\n\n\nThis is a very long paragraph that does not have any line breaks and is intended to test how the LaTeX engine handles text wrapping when there are no explicit line breaks within the text.\n\n\\\\subsection{Conclusion}\n\n\nThis document contains a wide range of LaTeX elements, including headers, lists, tables, images, citations, links and math.\n`;\n}\n\nexport function parseTemplateString(input: string): string {\n  return input\n    .replace(/\\\\/g, \"\\\\\\\\\") // Escape backslashes\n    .replace(/`/g, \"\\\\`\"); // Escape backticks\n}\n"
  },
  {
    "path": "test/utils/status.ts",
    "content": "export async function resetData() {\n  // Delete collections, items, tags\n  const collections = await Zotero.Collections.getAllIDs(\n    Zotero.Libraries.userLibraryID,\n  );\n  await Zotero.Collections.erase(collections);\n\n  const items = await Zotero.Items.getAllIDs(Zotero.Libraries.userLibraryID);\n  await Zotero.Items.erase(items);\n}\n\nexport async function resetTabs() {\n  const win = Zotero.getMainWindow();\n  const Zotero_Tabs = win.Zotero_Tabs;\n  Zotero_Tabs.closeAll();\n}\n\nexport async function resetAll() {\n  await resetTabs();\n  await resetData();\n}\n"
  },
  {
    "path": "test/utils/wait.ts",
    "content": "export async function waitNoMoreThan<T>(\n  promise: Promise<T>,\n  timeout: number = 3000,\n  message: string = \"Timeout\",\n) {\n  let resolved = false;\n\n  return Promise.any([\n    promise.then((result) => {\n      resolved = true;\n      return result;\n    }),\n    Zotero.Promise.delay(timeout).then(() => {\n      if (resolved) return;\n      throw new Error(message);\n    }),\n  ]);\n}\n\nexport async function waitForNotifierEvent(\n  event: _ZoteroTypes.Notifier.Event,\n  type: _ZoteroTypes.Notifier.Type,\n  options: {\n    timeout?: number;\n    customCallback?: (\n      ev: _ZoteroTypes.Notifier.Event,\n      type: _ZoteroTypes.Notifier.Type,\n      ids: Array<number | string>,\n      extraData: any,\n    ) => boolean;\n  } = {},\n) {\n  if (!event) throw new Error(\"event not provided\");\n  const { timeout, customCallback } = options;\n  let resolved = false;\n\n  return waitNoMoreThan(\n    new Promise((resolve, reject) => {\n      const notifierID = Zotero.Notifier.registerObserver(\n        {\n          notify: function (ev, type, ids, extraData) {\n            if (\n              ev == event &&\n              (customCallback ? customCallback(ev, type, ids, extraData) : true)\n            ) {\n              Zotero.Notifier.unregisterObserver(notifierID);\n              resolved = true;\n\n              resolve({\n                ids: ids,\n                extraData: extraData,\n              });\n            }\n          },\n        },\n        [type],\n        \"test\",\n        101,\n      );\n    }),\n    timeout,\n  );\n}\n\nexport function waitForTabSelectEvent(timeout: number = 3000) {\n  return waitForNotifierEvent(\"select\", \"tab\", { timeout });\n}\n\nexport function waitForItemModifyEvent(itemID: number, timeout: number = 3000) {\n  return waitForNotifierEvent(\"modify\", \"item\", {\n    timeout,\n    customCallback(ev, type, ids, extraData) {\n      return ids.includes(itemID);\n    },\n  });\n}\n\n/**\n * Waits for a window with a specific URL to open. Returns a promise for the window, and\n * optionally passes the window to a callback immediately for use with modal dialogs,\n * which prevent async code from continuing\n */\nexport async function waitForWindow(uri: string, timeout: number = 3000) {\n  return waitNoMoreThan(\n    new Promise<Window>((resolve, reject) => {\n      const loadObserver = function (ev: Event) {\n        ev.originalTarget?.removeEventListener(\"load\", loadObserver, false);\n        const href = (ev.target as Window)?.location.href;\n        Zotero.debug(\"Window opened: \" + href);\n\n        if (href != uri) {\n          Zotero.debug(`Ignoring window ${href} in waitForWindow()`);\n          return;\n        }\n\n        Services.ww.unregisterNotification(winObserver);\n        const win = ev.target?.ownerGlobal;\n        // Give window code time to run on load\n        win?.setTimeout(function () {\n          resolve(win);\n        });\n      };\n      const winObserver = {\n        observe: function (subject: Window, topic: string, data: any) {\n          if (topic != \"domwindowopened\") return;\n          subject.addEventListener(\"load\", loadObserver, false);\n        },\n      } as nsIObserver;\n      Services.ww.registerNotification(winObserver);\n    }),\n    timeout,\n  );\n}\n\nexport async function waitForNoteWindow() {\n  return await waitForWindow(\"chrome://zotero/content/note.xhtml\");\n}\n"
  },
  {
    "path": "test/utils/window.ts",
    "content": ""
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"module\": \"commonjs\",\n    \"lib\": [\"ESNext\", \"DOM\"],\n    \"target\": \"ES2016\",\n    \"resolveJsonModule\": true,\n    \"skipLibCheck\": true,\n    \"alwaysStrict\": false,\n    \"strict\": true,\n    \"types\": [\"zotero-types\"]\n  },\n  \"include\": [\"src\", \"typings\"],\n  \"exclude\": [\"build\", \"addon\", \"test\"]\n}\n"
  },
  {
    "path": "typings/editor.d.ts",
    "content": "/* eslint-disable @typescript-eslint/ban-types */\ndeclare interface EditorCore {\n  debouncedUpdate: Function;\n  disableDrag: boolean;\n  docChanged: boolean;\n  isAttachmentNote: false;\n  metadata: {\n    _citationItems: { itemData: { [k: string]: any } }[];\n    uris: string[];\n  };\n  nodeViews: any[];\n  onUpdateState: Function;\n  options: {\n    isAttachmentNote: false;\n    onImportImages: Function;\n    onInsertObject: Function;\n    onOpenAnnotation: Function;\n    onOpenCitationPage: Function;\n    onOpenCitationPopup: Function;\n    onOpenContextMenu: Function;\n    onOpenURL: Function;\n    onShowCitationItem: Function;\n    onSubscribe: Function;\n    onUnsubscribe: Function;\n    onUpdate: Function;\n    onUpdateCitationItemsList: Function;\n    placeholder: boolean;\n    readOnly: boolean;\n    reloaded: boolean;\n    smartQuotes: boolean;\n    unsaved: boolean;\n    value: string;\n  };\n  pluginState: { [k: string]: any };\n  provider: typeof import(\"react\").Provider;\n  readOnly: boolean;\n  reloaded: boolean;\n  view: import(\"prosemirror-view\").EditorView & {\n    // TODO: fix this\n    docView: any;\n  };\n}\n\ndeclare type EditorAPI =\n  typeof import(\"../src/extras/editorScript\").BetterNotesEditorAPI;\n\ndeclare interface EditorElement extends XULBoxElement {\n  _iframe: HTMLIFrameElement;\n  _editorInstance: Zotero.EditorInstance;\n  _initialized?: boolean;\n  mode?: \"edit\" | \"view\" | \"merge\";\n  viewMode?: string;\n  parent?: Zotero.Item;\n  item?: Zotero.Item;\n  getCurrentInstance(): Zotero.EditorInstance;\n  initEditor(): Promise<void>;\n}\n"
  },
  {
    "path": "typings/global.d.ts",
    "content": "declare const _globalThis: {\n  [key: string]: any;\n  OS: typeof OS;\n  Blob: typeof Blob;\n  ztoolkit: ZToolkit;\n  addon: typeof addon;\n};\n\ndeclare interface Window {\n  openDialog(\n    url?: string | URL,\n    target?: string,\n    features?: string,\n    ...args: any\n  ): Window;\n}\n\ndeclare type ZToolkit = ReturnType<\n  typeof import(\"../src/utils/ztoolkit\").createZToolkit\n>;\n\ndeclare const ztoolkit: ZToolkit;\n\ndeclare const rootURI: string;\n\ndeclare const addon: import(\"../src/addon\").default;\n\ndeclare const __env__: \"production\" | \"development\";\n\ndeclare class XULElementBase extends HTMLElement {\n  get content(): DocumentFragment;\n  init(): void;\n  destroy(): void;\n  connectedCallback(): void;\n  disconnectedCallback(): void;\n  attributeChangedCallback(\n    name: string,\n    oldValue: string,\n    newValue: string,\n  ): void;\n  static get observedAttributes(): string[];\n}\n\ndeclare class MozXULElement {\n  static parseXULToFragment(xul: string): DocumentFragment;\n  static insertFTLIfNeeded(ftl: string): void;\n}\n"
  },
  {
    "path": "typings/i10n.d.ts",
    "content": "// Generated by zotero-plugin-scaffold\n/* prettier-ignore */\n/* eslint-disable */\n// @ts-nocheck\nexport type FluentMessageId =\n  | 'about-title'\n  | 'alert-linkCreator-emptyNote'\n  | 'alert-notValidCollectionError'\n  | 'alert-notValidParentItemError'\n  | 'alert-syncImportedNotes'\n  | 'alert-templateEditor-shouldImport'\n  | 'alert-templateEditor-unsaved'\n  | 'annotation-autoAnnotation'\n  | 'annotation-title'\n  | 'annotationNote-enableTagSync'\n  | 'annotationNote-title'\n  | 'autoMDFileName'\n  | 'backup'\n  | 'basic-exportNotes-takeover'\n  | 'basic-title'\n  | 'cancel'\n  | 'confirm'\n  | 'create'\n  | 'delete'\n  | 'detect'\n  | 'diff-both'\n  | 'diff-desc'\n  | 'diff-header'\n  | 'diff-md'\n  | 'diff-note'\n  | 'editor-expandLevel-label'\n  | 'editor-keepLinks'\n  | 'editor-noteLinkPreview-ctrl'\n  | 'editor-noteLinkPreview-disable'\n  | 'editor-noteLinkPreview-hover'\n  | 'editor-noteLinkPreviewType'\n  | 'editor-pinTable-label'\n  | 'editor-pinTableLeft'\n  | 'editor-pinTableTop'\n  | 'editor-previewImage-title'\n  | 'editor-resizeImage-prompt'\n  | 'editor-resizeImage-title'\n  | 'editor-title'\n  | 'editor-toolbar-settings-copyLink'\n  | 'editor-toolbar-settings-copyLinkAtSection'\n  | 'editor-toolbar-settings-export'\n  | 'editor-toolbar-settings-insertTemplate'\n  | 'editor-toolbar-settings-openAsTab'\n  | 'editor-toolbar-settings-openAsWindow'\n  | 'editor-toolbar-settings-openParent'\n  | 'editor-toolbar-settings-refreshSyncing'\n  | 'editor-toolbar-settings-refreshTemplates'\n  | 'editor-toolbar-settings-showInLibrary'\n  | 'editor-toolbar-settings-updateRelatedNotes'\n  | 'editor-useMagicKey'\n  | 'editor-useMagicKeyShortcut'\n  | 'editor-useMarkdownPaste'\n  | 'embedLink'\n  | 'exportDocx'\n  | 'exportFreeMind'\n  | 'exportMD'\n  | 'exportNote'\n  | 'exportPDF'\n  | 'fileInterface-sync'\n  | 'finish'\n  | 'format'\n  | 'format-blockMath'\n  | 'format-blockScript'\n  | 'format-bold'\n  | 'format-bullet'\n  | 'format-code'\n  | 'format-freemind'\n  | 'format-h1'\n  | 'format-h2'\n  | 'format-h3'\n  | 'format-inlineMath'\n  | 'format-inlineScript'\n  | 'format-italic'\n  | 'format-latex'\n  | 'format-link'\n  | 'format-markdown'\n  | 'format-monospaced'\n  | 'format-msword'\n  | 'format-note'\n  | 'format-numbered'\n  | 'format-pdf'\n  | 'format-quote'\n  | 'format-strikethrough'\n  | 'format-subscript'\n  | 'format-superscript'\n  | 'format-table'\n  | 'format-textColor'\n  | 'format-underline'\n  | 'help'\n  | 'importClipboard'\n  | 'importNote'\n  | 'inbound-step1-content'\n  | 'inbound-step2-content'\n  | 'inbound-step3-content'\n  | 'inbound-step3-middle'\n  | 'keepLink'\n  | 'latex-merge'\n  | 'links-embed'\n  | 'links-keep'\n  | 'links-remove'\n  | 'links-standalone'\n  | 'list-header'\n  | 'list-selectAll'\n  | 'markdown-autoFilename'\n  | 'markdown-autoSync'\n  | 'markdown-withYAMLHeader'\n  | 'menu-openNoteAsBNWindow'\n  | 'menuAddNote-importMD'\n  | 'menuAddNote-newTemplateItemNote'\n  | 'menuAddNote-newTemplateStandaloneNote'\n  | 'menuEditor-copy'\n  | 'menuEditor-copyLine'\n  | 'menuEditor-copySection'\n  | 'menuEditor-resizeImage'\n  | 'menuFile-exportTemplate'\n  | 'menuHelp-openUserGuide'\n  | 'menuTab-moveNewWindow'\n  | 'menuTools-importTemplateFromClipboard'\n  | 'menuTools-syncManager'\n  | 'menuTools-templateEditor'\n  | 'more'\n  | 'note-inbound-header'\n  | 'note-inbound-refresh'\n  | 'note-inbound-sidenav'\n  | 'note-outbound-header'\n  | 'note-outbound-refresh'\n  | 'note-outbound-sidenav'\n  | 'note-preview-close'\n  | 'note-preview-full'\n  | 'note-preview-header'\n  | 'note-preview-open'\n  | 'note-preview-sidenav'\n  | 'note-relation-header'\n  | 'note-relation-refresh'\n  | 'note-relation-sidenav'\n  | 'options'\n  | 'options-Docx'\n  | 'options-MD'\n  | 'options-PDF'\n  | 'options-linkMode'\n  | 'options-mm'\n  | 'options-note'\n  | 'outbound-step1-content'\n  | 'outbound-step2-content'\n  | 'outbound-step3-content'\n  | 'outbound-step3-middle'\n  | 'outlinePicker-cursorLine'\n  | 'pref-title'\n  | 'previewContainer'\n  | 'refresh'\n  | 'rendered-header'\n  | 'reset'\n  | 'restore'\n  | 'save'\n  | 'saveMore'\n  | 'saveOutline'\n  | 'saveOutlineFreeMind'\n  | 'saveOutlineImage'\n  | 'saveOutlineSVG'\n  | 'setAutoSync'\n  | 'setOutline'\n  | 'share'\n  | 'skip'\n  | 'snippet-dryRunFlag'\n  | 'snippet-exportLatexFileContentLatexContent'\n  | 'snippet-exportLatexFileContentNoteItem'\n  | 'snippet-exportMDFileContentMDContent'\n  | 'snippet-exportMDFileContentNoteItem'\n  | 'snippet-exportMDFileHeaderNoteItem'\n  | 'snippet-exportMDFileNameNoteItem'\n  | 'snippet-itemAfterLoop'\n  | 'snippet-itemBeforeLoop'\n  | 'snippet-itemCopyNoteImage'\n  | 'snippet-itemFieldAbstract'\n  | 'snippet-itemFieldAuthors'\n  | 'snippet-itemFieldCitKey'\n  | 'snippet-itemFieldDOI'\n  | 'snippet-itemFieldDOIURL'\n  | 'snippet-itemFieldDate'\n  | 'snippet-itemFieldJournal'\n  | 'snippet-itemFieldTitle'\n  | 'snippet-itemFieldTitleTranslation'\n  | 'snippet-itemInLoop'\n  | 'snippet-itemItem'\n  | 'snippet-itemItems'\n  | 'snippet-itemSharedObj'\n  | 'snippet-itemTargetNoteItem'\n  | 'snippet-itemTopItem'\n  | 'snippet-quickImportLink'\n  | 'snippet-quickImportNoteItem'\n  | 'snippet-quickInsertLink'\n  | 'snippet-quickInsertLinkText'\n  | 'snippet-quickInsertNoteItem'\n  | 'snippet-quickInsertSubNoteItem'\n  | 'snippet-quickNoteAnnotationItem'\n  | 'snippet-quickNoteNoteItem'\n  | 'snippet-quickNoteTopItem'\n  | 'snippet-textSharedObj'\n  | 'snippet-textTargetNoteItem'\n  | 'snippet-useMarkdown'\n  | 'snippet-useRefresh'\n  | 'standaloneLink'\n  | 'sync'\n  | 'sync-attachmentFolder-label'\n  | 'sync-manager'\n  | 'sync-period-label'\n  | 'sync-running-hint-check'\n  | 'sync-running-hint-diff'\n  | 'sync-running-hint-finish'\n  | 'sync-running-hint-synced'\n  | 'sync-running-hint-title'\n  | 'sync-running-hint-upToDate'\n  | 'sync-running-hint-updateMD'\n  | 'sync-running-hint-updateNote'\n  | 'sync-start-hint'\n  | 'sync-stop-hint'\n  | 'sync-title'\n  | 'syncInfo-cancel'\n  | 'syncInfo-export'\n  | 'syncInfo-lastSync'\n  | 'syncInfo-manager'\n  | 'syncInfo-reveal'\n  | 'syncInfo-sync'\n  | 'syncInfo-syncTo'\n  | 'syncInfo-unSync'\n  | 'syncManager-detectConfirmInfo'\n  | 'syncManager-filePath'\n  | 'syncManager-lastSync'\n  | 'syncManager-noteName'\n  | 'tab-inbound'\n  | 'tab-outbound'\n  | 'target'\n  | 'template-editor'\n  | 'template-title'\n  | 'templateEditor-templateDisplayName'\n  | 'templateEditor-templateDisplayType'\n  | 'templateEditor-templateHelp'\n  | 'templateEditor-templateName'\n  | 'templateEditor-templateType'\n  | 'templateName'\n  | 'templatePicker-itemData-info'\n  | 'templatePicker-itemData-title'\n  | 'templatePicker-itemData-useCustom'\n  | 'templatePicker-itemData-useLibrary'\n  | 'templateType'\n  | 'templateType-help'\n  | 'templateType-item'\n  | 'templateType-system'\n  | 'templateType-text'\n  | 'templateType-unknown'\n  | 'title'\n  | 'toggleOutlinePane'\n  | 'unSync'\n  | 'unsync'\n  | 'useBubbleMap'\n  | 'useDefaultExport'\n  | 'useMindMap'\n  | 'useTreeView'\n  | 'userGuide-createNote-desc'\n  | 'userGuide-createNote-next'\n  | 'userGuide-createNote-title'\n  | 'userGuide-createNoteButton-desc'\n  | 'userGuide-createNoteButton-title'\n  | 'userGuide-createNoteFound-desc'\n  | 'userGuide-finish-desc'\n  | 'userGuide-finish-title'\n  | 'userGuide-openNote-desc'\n  | 'userGuide-openNote-next'\n  | 'userGuide-openNote-title'\n  | 'userGuide-start-close'\n  | 'userGuide-start-desc'\n  | 'userGuide-start-title'\n  | 'userGuide-workspace-desc'\n  | 'userGuide-workspace-title'\n  | 'userGuide-workspaceEditor-desc'\n  | 'userGuide-workspaceEditor-title'\n  | 'userGuide-workspaceEditorLinkCreator-desc'\n  | 'userGuide-workspaceEditorLinkCreator-title'\n  | 'userGuide-workspaceEditorMoreOptions-desc'\n  | 'userGuide-workspaceEditorMoreOptions-title'\n  | 'userGuide-workspaceEditorToolbar-desc'\n  | 'userGuide-workspaceEditorToolbar-title'\n  | 'userGuide-workspaceNoteInfo-desc'\n  | 'userGuide-workspaceNoteInfo-title'\n  | 'userGuide-workspaceOutline-desc'\n  | 'userGuide-workspaceOutline-title'\n  | 'userGuide-workspaceOutlineMode-desc'\n  | 'userGuide-workspaceOutlineMode-title'\n  | 'userGuide-workspaceOutlineSaveAs-desc'\n  | 'userGuide-workspaceOutlineSaveAs-title'\n  | 'withYAMLHeader'\n  | 'workspace-emptyWorkspaceGuideCreate'\n  | 'workspace-emptyWorkspaceGuideInfo'\n  | 'workspace-emptyWorkspaceGuideOpen'\n  | 'workspace-emptyWorkspaceGuideOr'\n  | 'workspace-saveOutlineFreeMind'\n  | 'workspace-saveOutlineImage'\n  | 'workspace-switchOutline';\n"
  },
  {
    "path": "typings/note.d.ts",
    "content": "declare interface NoteNodeData {\n  id: number;\n  level: number;\n  name: string;\n  lineIndex: number;\n  endIndex: number;\n  link: string;\n}\n\ndeclare interface NoteStatus {\n  meta: string;\n  content: string;\n  tail: string;\n  lastmodify: Date;\n}\n\ndeclare interface SyncStatus {\n  path: string;\n  filename: string;\n  md5: string;\n  noteMd5: string;\n  lastsync: number;\n  itemID: number;\n}\n\ndeclare interface MDStatus {\n  meta: {\n    $version: number;\n    $libraryID?: number;\n    $itemKey?: string;\n  } | null;\n  content: string;\n  filedir: string;\n  filename: string;\n  lastmodify: Date;\n}\n"
  },
  {
    "path": "typings/prefs.d.ts",
    "content": "// Generated by zotero-plugin-scaffold\n/* prettier-ignore */\n/* eslint-disable */\n// @ts-nocheck\n\n// prettier-ignore\ndeclare namespace _ZoteroTypes {\n  interface Prefs {\n    PluginPrefsMap: {\n      \"syncNoteIds\": string;\n      \"syncPeriodSeconds\": number;\n      \"syncAttachmentFolder\": string;\n      \"autoAnnotation\": boolean;\n      \"insertLinkPosition\": string;\n      \"workspace.outline.expandLevel\": number;\n      \"workspace.outline.keepLinks\": boolean;\n      \"editor.noteLinkPreviewType\": string;\n      \"editor.useMagicKey\": boolean;\n      \"editor.useMagicKeyShortcut\": boolean;\n      \"editor.useMarkdownPaste\": boolean;\n      \"editor.pinTableLeft\": boolean;\n      \"editor.pinTableTop\": boolean;\n      \"exportNotes.takeover\": boolean;\n      \"annotationNote.enableTagSync\": boolean;\n    };\n  }\n}\n"
  },
  {
    "path": "typings/template.d.ts",
    "content": "declare interface NoteTemplate {\n  name: string;\n  text: string;\n}\n"
  },
  {
    "path": "zotero-plugin.config.ts",
    "content": "import pkg from \"./package.json\";\nimport { defineConfig } from \"zotero-plugin-scaffold\";\nimport { replaceInFile } from \"replace-in-file\";\nimport { bundleTypes } from \"./scripts/types/bundleTypes.mjs\";\n\nconst TEST_PREFS = {};\n// Disable user guide, keep in sync with src/modules/userGuide.ts\nTEST_PREFS[`${pkg.config.prefsPrefix}.latestTourVersion`] = 1;\n\nexport default defineConfig({\n  source: [\"src\", \"addon\"],\n  dist: \"build\",\n  name: pkg.config.addonName,\n  id: pkg.config.addonID,\n  namespace: pkg.config.addonRef,\n  updateURL: `https://github.com/{{owner}}/{{repo}}/releases/download/release/${\n    pkg.version.includes(\"-\") ? \"update-beta.json\" : \"update.json\"\n  }`,\n  xpiDownloadLink:\n    \"https://github.com/{{owner}}/{{repo}}/releases/download/v{{version}}/{{xpiName}}.xpi\",\n\n  server: {\n    asProxy: false,\n  },\n\n  build: {\n    assets: [\"addon/**/*.*\", \"scripts/types/**/*.*\"],\n    define: {\n      ...pkg.config,\n      author: pkg.author,\n      description: pkg.description,\n      homepage: pkg.homepage,\n      buildVersion: pkg.version,\n      buildTime: \"{{buildTime}}\",\n    },\n    esbuildOptions: [\n      {\n        entryPoints: [\"src/index.ts\"],\n        define: {\n          __env__: `\"${process.env.NODE_ENV}\"`,\n        },\n        bundle: true,\n        target: \"firefox115\",\n        outfile: `build/addon/chrome/content/scripts/${pkg.config.addonRef}.js`,\n      },\n      {\n        entryPoints: [\"src/extras/*.*\"],\n        define: {\n          __env__: `\"${process.env.NODE_ENV}\"`,\n        },\n        outdir: \"build/addon/chrome/content/scripts\",\n        bundle: true,\n        target: [\"firefox115\"],\n      },\n    ],\n    prefs: {\n      prefix: pkg.config.prefsPrefix,\n    },\n    hooks: {\n      \"build:bundle\": async (ctx) => {\n        await Promise.all([\n          replaceInFile({\n            files: [\"README.md\"],\n            from: /^ {2}- \\[Latest Version.*/gm,\n            to: `  - [Latest Version: ${ctx.version}](${ctx.xpiDownloadLink})`,\n          }) as Promise<any>,\n          bundleTypes(),\n        ]);\n        return;\n      },\n    },\n  },\n  release: {\n    bumpp: {\n      execute: \"npm run build\",\n      all: true,\n    },\n  },\n  test: {\n    entries: [\"test/\"],\n    prefs: TEST_PREFS,\n    abortOnFail: true,\n    hooks: {},\n    waitForPlugin: `() => Zotero.${pkg.config.addonRef}.data.initialized`,\n  },\n\n  // If you need to see a more detailed build log, uncomment the following line:\n  // logLevel: \"trace\",\n});\n"
  }
]